发明名称 Resource-based synchronization between endpoints in a web-based real time collaboration
摘要 A system for providing resource-based synchronization between clients in a Web-based real-time collaboration, in which a session front end on the server layers a transaction history on top of all session resources. HTTP operations are issued by client systems to request changes to session resources and to request session updates. The HTTP resource change requests include hierarchical pointers containing session identifiers and resource identifiers within a URL. The client generated resource change request operations may be HTTP PUT, HTTP DELETE, and HTTP POST commands. The HTTP session update request operations may be HTTP GET commands. A session front end stores each received resource change request operation in a resource-specific transaction history of change request operations received from all client systems. The session front end maintains a current session state indicating the number of resource change request operations stored for each session resource. A last session state for each client system indicates the number of change request operations that client system has previously received for each session resource. For a session update, the session front end compares the last client session state for the requesting client with the current session state and determines the change request operations that need to be forwarded to the requesting client system to bring it up to date. The session front end removes negating change request operations from the change request operations forwarded to the requesting client system.
申请公布号 US9425973(B2) 申请公布日期 2016.08.23
申请号 US200611616175 申请日期 2006.12.26
申请人 International Business Machines Corporation 发明人 Quinn William M.;Pontrich Ron E.;Sethuraman Ramya;Price Christopher D.;Hyland Christopher A.;Aziz-Gomez Aseel
分类号 G06F15/16;H04L12/18;H04L29/08 主分类号 G06F15/16
代理机构 BainwoodHuang 代理人 BainwoodHuang
主权项 1. A method embodied in at least one computer for providing a Web-based real-time collaboration application, comprising: providing, by said at least one computer, a session front end on a server system, said session front end including a plurality of separate transaction histories for corresponding ones of a plurality of resources shared among a plurality of client systems during a real-time collaboration session, wherein each one of said transaction histories includes all resource change request operations received for a corresponding one of said plurality of resources from said client systems up to a current point in time during said real-time collaboration session, wherein each of said resource change request operations includes a hierarchical pointer including both i) a session identifier uniquely identifying said real-time collaboration session, and ii) resource identifier uniquely identifying one of said resources to which said resource change request operation is directed, and wherein said pointer comprises a Uniform Resource Locator (URL), and wherein said session front end further includes a current session state maintained across all said plurality of resources, wherein said current session state indicates respective numbers of said resource change request operations received from said client systems for each individual one of said resources up to said current point in time during said real-time collaboration session; receiving, by said session front end during said real-time collaboration session, a session update request operation from one of said client systems; processing said received session update request operation in said session front end by comparing said current session state with a last session state associated with said one of said client systems from which said session update request operation was received, wherein said last session state associated with said one of said client systems from which said session update request operation was received indicates individual numbers of change request operations said client system from which said update request operation was received has previously received from the session front end for each of said plurality of session resources; receiving, by said session front end, a join session message from a second one of said client systems, wherein said join session message includes a last session state associated with said second one of said client systems, wherein said last session state associated with said second one of said client systems indicates a version of a user list resource currently understood by the second one of said client systems; and processing said received join session message in said session front end by i) identifying, responsive to said last session state included in said join message, an add user resource change request operation that has not yet been forwarded to said second one of said client systems, and ii) forwarding said add user resource change request operation from said server system to said second one of said client systems to cause said second one of said client system to display, within a participant list for the real time collaboration session contained in a user interface of said second one of said client systems, a user name of a user added to said user list resource by said identified add user resource change request.
地址 Armonk NY US