Method for flow control and reliable communication in a collaborative environment

US9720747B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9720747-B2
Application numberUS-201213586085-A
CountryUS
Kind codeB2
Filing dateAug 15, 2012
Priority dateAug 15, 2011
Publication dateAug 1, 2017
Grant dateAug 1, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Flow control of messages to/from clients and services in a remote access system. Within the remote access system a layered architecture may be provided that includes a client layer at a client device, a service layer associated with a service, and a server layer that is a communications proxy for messages sent between the client device and the service. The service layer may have a receive queue for messages received from the client device and a send queue of messages destined for the client device. The server layer may include an outbound queue of messages destined for the client device. Full duplex communications between the client layer and the server layer may be implemented using a service protocol in a first channel for communication between the client layer and the server layer and a second channel for communication between the server layer and the client layer.

First claim

Opening claim text (preview).

What is claimed: 1. A method of providing flow control in a remote access system, comprising: providing a client layer at a client device; providing a service layer associated with a service, the service layer having a service receive queue for messages received from the client device and a service send queue of messages destined for the client device; providing a server layer as a communications proxy for messages sent between the client device and the service, the server layer containing an outbound client queue of messages destined for the client device, wherein the outbound client queue is uniquely associated with the client layer of the client device to which the messages are to be communicated; and communicating from the server layer to the service layer a transmission-on message that contains a unique identifier of the client device; and upon receiving the transmission-on message at the service layer, sending the messages in the service send queue to the server layer for transmission to the client device. 2. The method of claim 1 , further comprising: setting the service layer to a transmission-off state such that messages are queued in the service send queue; sending messages for the client device to the outbound client queue in the server layer; and re-entering the transmission-off state at the service layer. 3. The method of claim 1 , further comprising: initially setting the service layer to a transmission-off state; generate messages for the client device at the service layer; and queuing the messages for the client device in the service send queue. 4. The method of claim 3 , further comprising: sending messages for the client device to the outbound client queue in the server layer; and re-entering the transmission-off state at the service layer. 5. The method of claim 1 , further comprising: receiving communications from plural client devices and labeling messages from each of the plural client devices with the unique identifier associated with each client device; and combining messages from plural client devices into a single stream of messages. 6. The method of claim 5 , further comprising: parsing a stream of messages from the service layer into plural message streams, wherein each of the plural message streams is associated with one of the plural client devices by the unique identifier; and communicating each of plural message streams to the plural client devices. 7. The method of claim 1 , further comprising asynchronously generating messages to the client device. 8. A non-transitory computer readable medium having computer executable instructions thereon that when executed by a processor of a computing device, performs a method comprising: providing a service layer associated with a service, the service layer having a service receive queue for messages received from a client device and a service send queue of messages destined for the client device; providing a server layer as a communications proxy for messages sent between the client device and the service, the server layer communicating with the client device across a first network connection of a first bandwidth and communicating with the service layer across a second network connection of a second bandwidth, the service layer further containing an outbound client queue of messages destined for the client device; and communicating from the server layer to the service layer a transmission-on message that contains a unique identifier of the client device, wherein upon receiving the transmission-on message, the service layer sends the messages in the service send queue to an outbound client queue in the server layer for transmission to the client device, wherein the outbound client queue is uniquely associated with the client device to which the messages are to be communicated. 9. The non-transitory computer readable medium of claim 8 , further comprising instructions for: setting the service layer to a transmission-off state such that messages are queued in the send queue; sending messages for the client device to outbound client queue in the server layer; and re-entering the transmission-off state at the service layer. 10. The non-transitory computer readable medium of claim 8 , further comprising instructions for: initially setting the service layer to a transmission-off state; generate messages for the client device at the service layer; queuing the messages for the client device in the service send queue; setting the service layer to a transmission-on state using the transmission-on message; sending messages for the client device to the outbound client queue in the server layer; and re-entering the transmission-off state at the service layer. 11. The non-transitory computer readable medium of claim 8 , further comprising instructions for labeling each message with a unique identifier of the client device. 12. The non-transitory computer readable medium of claim 8 , further comprising instructions for asynchronously generating messages to the client device. 13. The non-transitory computer readable medium of claim 8 , further comprising instructions for establishing relationships between plural client devices and the service layer in a many-to-one fashion. 14. A method of providing flow control in a remote access system, comprising: providing a client layer at a client device; providing a service layer associated with a service, the service layer having a service receive queue for messages received from the client device and a service send queue of messages destined for the client device; providing a server layer as a communications proxy for messages sent between the client device and the service layer, the server layer containing an outbound client queue of messages destined for the client device, wherein the outbound client queue is uniquely associated with the client layer of the client device to which the messages are to be communicated; and communicating from the server layer to the service layer a transmission-on message that contains a unique identifier of the client device; and upon receiving the transmission-on message at the service layer, entering the service layer into a transmission on state and sending the messages in the service send queue to the server layer for transmission to the client device. 15. The method of claim 14 , further comprising receiving communications from plural client devices and labeling messages from each of the plural client devices with a respective unique identifier associated with each client device. 16. The method of claim 14 , further comprising sending, via the server, the messages to the client device. 17. The method of claim 16 , further comprising annotating, at the server, each message sent to the client device with a sequence number assigned by the server. 18. The method of claim 17 , further comprising sending, from the client device to the server, a respective sequence acknowledgement message annotation for each message sent to the client device.

Assignees

Inventors

Classifications

  • G06F9/546Primary

    Message passing systems or structures, e.g. queues · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9720747B2 cover?
Flow control of messages to/from clients and services in a remote access system. Within the remote access system a layered architecture may be provided that includes a client layer at a client device, a service layer associated with a service, and a server layer that is a communications proxy for messages sent between the client device and the service. The service layer may have a receive queue…
Who is the assignee on this patent?
Thomas Monroe M, Mcfadzean David B, Stephure Matt, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/546. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 01 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).