Apparatus and method for client-side flow control in a remote access environment
First Claim
1. A method of providing client-side flow control in a remote access system, comprising:
- communicating messages from a service to a client, the service being remotely accessed by the client and the messages including a service sequence ID (SSI);
receiving, at the service, a client sequence ID (CSI) from the client in response to the client completing processing of a message having a specific SSI associated with the message;
determining, at the service, a difference between a current SSI communicated to the client and the current CSI received from the client; and
if the difference is greater than a predetermined stop window value, turning communication from the service to the client OFF.
1 Assignment
0 Petitions
Accused Products
Abstract
A client-side flow control mechanism for controlling the flow of messages communicated from a service to a client in a remote access system. The service, which may be a managed or unmanaged service, may communicate messages to the client where the messages include a service sequence ID (SSI). As the client processes the messages from the service, the client responds with a client sequence ID (CSI). The SSI and CSI values determine the number of messages that are in transmission queues. The service compares a difference between the current SSI and CSI to a stop window value. If the difference is greater than the stop window value, transmission of messages from the service to the client is turned OFF. The client continues to send CSI acknowledgments as it processes messages. Once the difference falls below a start window value, the transmission of messages to the client is turned ON.
39 Citations
22 Claims
-
1. A method of providing client-side flow control in a remote access system, comprising:
-
communicating messages from a service to a client, the service being remotely accessed by the client and the messages including a service sequence ID (SSI); receiving, at the service, a client sequence ID (CSI) from the client in response to the client completing processing of a message having a specific SSI associated with the message; determining, at the service, a difference between a current SSI communicated to the client and the current CSI received from the client; and if the difference is greater than a predetermined stop window value, turning communication from the service to the client OFF. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of providing client-side flow control, comprising:
-
communicating a message from a service to a client, the message including a tracking mechanism that is incremented by the service to represent a relative position of the message within a plurality of messages that are communicated from the service to the client; receiving, at the service, a response from the client indicating a completion of processing of a message according to the tracking mechanism; determining, at the service from the response, if the processing of messages at the client is lagging beyond a first predetermined value and turning communication from the service to the client OFF if the client is lagging beyond the predetermined value. - View Dependent Claims (15, 16, 17)
-
-
18. An apparatus for providing client-side flow control of communication of messages from a service to a client, comprising:
-
a remote access server having a server layer as a communications proxy for messages sent between the client and the service, the server layer containing an outbound client queue of messages destined for the client; a second server executing a service layer associated with the service, the service layer having a service receive queue for messages received from the client and a service send queue of messages destined for the client, wherein the messages destined for the client include a service sequence ID (SSI) and the messages received from the client include a client sequence ID (CSI) indicative of the client completing processing of a message having a specific SSI associated with the message, and wherein the service determines if a difference between a current SSI and the CSI received from the client is greater than a predetermined stop window value to turn communication from the service to the client OFF. - View Dependent Claims (19, 20, 21, 22)
-
Specification