System and method for reliable packet data transport in a computer network
AssigneeWi-LAN, Inc.
InventorMark Frazer
Life of this patent
Estimating the term…
Abstract
A system and method for reliably transmitting a request from a client application (50) running on a client system (13) to a server application (52) running on a server system (15) and receiving a reply to the request, in which functions that provide parameters governing the reliable transport mechanism and message forming and parsing services are provided by the application processes to and called from application-layer protocol stacks (58, 60).
Claims53
A method for reliably transmitting over a computer network requests, from client applications running on a client computer to server-applications running on a server computer, the client computer having a central processing unit, memory, a client-side application protocol stack, a plurality of client-side functions to perform reliable transport-related tasks for a plurality of applications, including a function that returns a starting sequence number and range of allowable sequence numbers for request messages, and a client-side transport protocol stack, the method comprising:
- the client-side application protocol stack
- receiving an indication from a client application of a selected set of one or more of the plurality of client-side functions for use by the client-side application protocol stack, with a request from the client application, to perform reliable transport-related tasks,
- receiving for transmission the request from the client application,
- wrapping the request in a request message, wherein wrapping the request comprises adding a header to the request, the header including an identifying sequence number assigned by the client-side application protocol stack and a type code identifying the type of the request message as a request,
- calling, based upon the indication received from the client application, the selected set of one or more of the plurality of client-side functions to obtain one or more parameters associated with reliability of the transmission,
- utilizing the one or more parameters to provide aspects of the reliability of the transmission of the request, and sending the resulting request message to the client-side transport protocol stack;
- the client-side transport protocol stack receiving the request message and transmitting it to a server-side transport protocol stack;
- the client-side application protocol stack retransmitting the request message if a message is not received from the server-side transport protocol stack which contains the sequence number of the request message and a type code that indicates before the time-out period for i-th transmission has elapsed since the request message was transmitted for the i-th time and the number of times that the request message has been transmitted is less than a total allowed number of transmissions;
- and
- wherein if a message received by the client-side application protocol stack from the server-side transport protocol stack contains the sequence number of the request message and a type code that indicates that it is a provisional reply message to the request message, then the current time-out period for retransmission is modified to delay its expiration.
A system for reliably transmitting over a computer network requests, from client applications to server applications, the system comprising:
- a client computer having a central processing unit and a memory;
- a plurality of client-side functions on the client computer to perform reliable transport-related tasks for client applications, including a function that returns a starting sequence number and range of allowable sequence numbers for request messages;
- a client application on the client computer and configured to create a request to a server application running on a server computer and to identify one or more of the plurality of client-side functions to be used with the client application to perform reliable transport-related tasks for the client application;
- a client-side transport protocol stack on the client computer which receives request messages and transmits them to a server-side transport protocol stack;
- and
- a client-side application protocol stack on the client computer which
- receives from the client application the identification of one or more of the plurality of client-side functions to be used with the client application to perform reliable transport-related tasks for the client application and receives for transmission a request from the client application,
- wraps the request in a request message, wherein wrapping the request comprises adding a header to the request, the header including an identifying sequence number assigned by the client-side application protocol stack and a type code identifying the type of the request message as a request,
- calls the identified one or more of the plurality of client-side functions to obtain one or more parameters associated with reliability of the transmission,
- utilizes the one or more parameters to provide aspects of the reliability of the transmission of the request, and
- sends the resulting request message to the client-side transport protocol stack;
- wherein the client-side application protocol stack retransmits the request message if a message is not received from a server-side transport protocol stack which contains the sequence number of the request message and a type code that indicates before the time-out period for i-th transmission has elapsed since the request message was transmitted for the i-th time and the number of times that the request message has been transmitted is less than a total allowed number of transmissions;
- and
- wherein if a message received by the client-side application protocol stack from the server-side transport protocol stack contains the sequence number of the request message and a type code that indicates that it is a provisional reply message to the request message, then the current time-out period for retransmission is modified to delay its expiration.
A method for reliably transmitting over a computer network requests, from client applications running on a client computer to server applications running on a server computer based upon parameters indicated by the client applications, the client computer having a central processing unit, memory, a client-side application protocol stack, a plurality of client-side functions to perform reliable transport-related tasks, including a function that returns a starting sequence number and range of allowable sequence numbers for request messages, and a client-side transport protocol stack, the server computer having a central processing unit, memory, a server-side application protocol stack, a plurality of server-side functions and a server-side transport protocol stack, the method comprising:
- the client-side application protocol stack
- receiving from a client application an indication of a selected set of one or more of the plurality of client-side functions for use with a request from the client application to perform reliable transport-related tasks,
- receiving for transmission the request from the client application,
- wrapping the request in a request message, including adding a header to the request, the header including an identifying sequence number assigned by the client-side application protocol stack and a type code identifying the type of the request message as a request,
- selecting and calling, based upon the indication from the client application, the selected set of one or more of the plurality of client-side functions to obtain at least one parameter for governing one or more aspects of reliability of the transmission,
- utilizing the at least one parameter to provide aspects of the reliability of the transmission of the request, and sending the resulting request message to the client-side transport protocol stack;
- the client-side transport protocol stack receiving the request message and transmitting it to the server-side transport protocol stack;
- the server-side transport protocol stack receiving the request message from the client-side transport protocol stack and sending received request message to the server-side application protocol stack;
- the server-side application protocol stack unwraps the request from the request message and sends the request to the server application;
- wherein the client-side application protocol stack retransmits the request message if a message is not received from the server-side transport protocol stack which contains the sequence number of the request message and a type code that indicates before the time-out period for i-th transmission has elapsed since the request message was transmitted for the i-th time and the number of times that the request message has been transmitted is less than a total allowed number of transmissions;
- and
- wherein if a message received by the client-side application protocol stack from the server-side application protocol stack contains the sequence number of the request message and a type code that indicates that it is a provisional reply message to the request message, then the current time-out period for retransmission is modified to delay its expiration.
Dependencies are inferred from the claim text.