Patent ID: 8200764

Claim:
A System for achieving highly scalable real time collaboration (RTC) applications using hypertext transfer protocol for establishing and managing an RTC session between at least a First Client and a Second Client, the System having: First and Second Client Interfaces, for receiving from the First and Second Clients, respectively, Update Requests and Change Requests, each Update Request being a request used to fetch data changes, if any, relating to the RTC session and each Change Request being a request used to indicate a data change related to the RTC session; and a Server RTC Processor, connected to the First and Second Client Interfaces, for: determining whether any data changes related to the RTC session exist upon receiving an Update Request and, if so, sending an immediate response with the data changes to the update requesting client and, if not, setting a well defined hypertext transfer protocol response header, the setting signaling the lower level network code to queue the Update Request and sending an Update Response to the update requesting client indicating that no data changes related to the RTC session presently exist, wherein the setting a well-defined hypertext transfer protocol response header thereby allows the response to be later addressed by an RTC session ID and a format which identify the RTC session, and determining, based upon the well defined hypertext transfer protocol response header, whether the Change Request is related to any queued Update Requests which are awaiting data changes in the RTC session and, if so, immediately providing the data changes to the update requesting client, wherein the Server RTC Processor provides, in response to each Change Request, the data changes to the update requesting client by making an API call into the lower-level network to flush all queued Update Requests awaiting data changes in the RTC session, wherein the flush is performed in any format, on a single thread, and using a single buffer.