摘要:
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.
摘要:
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.