主权项 |
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. |