Synchronizing metadata describes user content updates and an indication of user gestures being performed within the document, and across client systems using different communication channels
First Claim
1. An apparatus comprising at least one computer-readable storage medium having stored thereon computer-executable instructions that, when loaded into a processor and executed, cause the processor to:
- define a plurality of logical communication channels between a client component and a server component;
allocate at least a first one of the communication channels for synchronizing an update to contents of a document that is shared between the client component and another client component;
allocate at least a further one of the communication channels for synchronizing a first metadata between the client component and the server component, wherein the first metadata describes user content updates and an indication of user gestures being performed within the document;
receive an indication of at least one instance of activity pertaining to the contents of the document by a user accessing the client components;
create the first metadata representing the activity;
transmit the first metadata, using the further communication channel, from the client component to the server component automatically in real-time with the update; and
receive a command from the user, and in response to the command, transmit the document contents and a second metadata representing a state of the document from the client component to the server component using the first communication channel.
2 Assignments
0 Petitions
Accused Products
Abstract
Tools and techniques for synchronizing metadata and document content across client systems using different communication channels are provided. These tools may define logical communication channels between client software components, and may allocate one of these channels to synchronizing updates to the contents of documents shared between these client components. These tools may allocate another one of the communication channels to synchronizing metadata between the client components, with the metadata describing activity pertaining to the shared documents. The client components may receive indications of activity made by users to the document contents, and may create metadata representing the activity. These client components may then transmit this metadata, using the further communication channel, to any number of other client components automatically in real time with the updates.
-
Citations
16 Claims
-
1. An apparatus comprising at least one computer-readable storage medium having stored thereon computer-executable instructions that, when loaded into a processor and executed, cause the processor to:
-
define a plurality of logical communication channels between a client component and a server component; allocate at least a first one of the communication channels for synchronizing an update to contents of a document that is shared between the client component and another client component; allocate at least a further one of the communication channels for synchronizing a first metadata between the client component and the server component, wherein the first metadata describes user content updates and an indication of user gestures being performed within the document; receive an indication of at least one instance of activity pertaining to the contents of the document by a user accessing the client components; create the first metadata representing the activity; transmit the first metadata, using the further communication channel, from the client component to the server component automatically in real-time with the update; and receive a command from the user, and in response to the command, transmit the document contents and a second metadata representing a state of the document from the client component to the server component using the first communication channel. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising at least one computer-readable storage medium having stored thereon computer-executable instructions that, when loaded into a processor and executed, cause the processor to:
-
define a plurality of logical communication channels to a client component; allocate at least a first one of the communication channels for synchronizing an update to contents of a document that is shared between the client component and another client component; allocate at least a further one of the communication channels for synchronizing a first metadata between the client component and the another client component, wherein the first metadata describes user content updates and an indication of user gestures being performed within the document; receive the first metadata from the client component via the further communication channel, wherein the first metadata relates to a first copy of the document content on the client component; process the first metadata to assess any impact to a further copy of the document content that is maintained locally at the client component; receive, via the first communication channel from the client component, at least one update to the first copy of the document contents and a second metadata; and apply the update and the second metadata received via the first communication channel to a further first copy of the document content. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a first client system including at least a first processor and at least a first computer-readable storage medium coupled to communicate with the first processor, wherein the first storage medium includes at least a first client software component for maintaining a first copy of a document locally at the first client system; at least a second client system including at least a second processor and at least a second computer-readable storage medium coupled to communicate with the second processor, wherein the second storage medium includes at least a second client software component for maintaining a second copy of the document locally at the second client system; a first logical channel placing the first and second client software components in communication with one another, wherein the first logical channel is adapted for synchronizing a first metadata between the first and second client software components, wherein the first metadata represents user content updates and an indication of user gestures being performed within the first or second copies of the document, and wherein the first metadata is generated and transmitted in real time with occurrences of the user content updates and the indication of user gestures; and at least a second logical channel placing the first and second client software components in communication with one another, wherein the second logical channel is adapted for synchronizing at least one update to the document comprising changes to the document contents and a second metadata in response to a least one command issued by a user accessing the first or second client system. - View Dependent Claims (14, 15, 16)
-
Specification