Instant messaging with data sharing
First Claim
Patent Images
1. A method comprising:
- during an instant messaging session;
establishing, by a client device, a shared space accessible by the client device and one or more other client devices;
specifying data by the client device to be shared with the one or more other client devices, wherein at least one said other client device is not available during the instant messaging session;
storing the data in a local storage or in a storage that is not included in the client device and the one or more other client devices;
synchronizing the shared data with each said other client device when the client device is available, wherein synchronizing the shared data with each said other client device includes communicating a message, the message comprising a version vector that contains at least one entry that identifies an item in the shared data, from the client device to each said other client device when each said other client device is available, the version vector utilized to trigger replicating shared data that is modified when the version vector from the client device differs from a version vector maintained by at least one said other client device, and updating the shared data to a current status based on each entry that differs between the version vector from the client device and the version vector maintained by the at least one said other client device, the updating facilitated by the at least one said other client device contacting the client device and executing a synchronization protocol;
detecting when a conflicting change is made to the item in the shared data, wherein when the conflicting change is detected;
flagging the item in the shared data as conflicting; and
notifying at least one client device of the conflict for correction; and
providing the updated shared data stored in the local storage or the storage not included in the client device and the one or more other client devices to the at least one said other client device.
2 Assignments
0 Petitions
Accused Products
Abstract
Instant messaging with data sharing is described. One or more of the described techniques may be employed to share data in conjunction with an instant messaging session, even if one or more clients which are to share the data are not currently available.
81 Citations
20 Claims
-
1. A method comprising:
-
during an instant messaging session; establishing, by a client device, a shared space accessible by the client device and one or more other client devices; specifying data by the client device to be shared with the one or more other client devices, wherein at least one said other client device is not available during the instant messaging session; storing the data in a local storage or in a storage that is not included in the client device and the one or more other client devices; synchronizing the shared data with each said other client device when the client device is available, wherein synchronizing the shared data with each said other client device includes communicating a message, the message comprising a version vector that contains at least one entry that identifies an item in the shared data, from the client device to each said other client device when each said other client device is available, the version vector utilized to trigger replicating shared data that is modified when the version vector from the client device differs from a version vector maintained by at least one said other client device, and updating the shared data to a current status based on each entry that differs between the version vector from the client device and the version vector maintained by the at least one said other client device, the updating facilitated by the at least one said other client device contacting the client device and executing a synchronization protocol; detecting when a conflicting change is made to the item in the shared data, wherein when the conflicting change is detected; flagging the item in the shared data as conflicting; and notifying at least one client device of the conflict for correction; and providing the updated shared data stored in the local storage or the storage not included in the client device and the one or more other client devices to the at least one said other client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, using instant messaging client devices that incorporate data sharing, for a first client device to collaboratively share data between one or more of a plurality of other client devices, the method comprising:
-
determining, by the first client device, whether the data to be shared by the one or more plurality of other client devices is to be synchronized; selecting, by the first client device, which of the one or more of the plurality of other client devices will receive the data to be shared; specifying, by the first client, a shared space that facilitates access to the data to be shared by the selected other client devices; specifying, by the first client device, that the selected other client devices can collaboratively modify the data; and based on the determining, scheduling synchronization of the data to be shared while at least one of the selected other client devices is not available via the instant messaging, wherein synchronization of the data includes communicating a message from the first client device to each selected other client device when each selected other client device is available, the message comprising a version vector that contains at least one entry that identifies an item in the data to be shared, the version vector utilized to trigger replicating the data that is modified when the version vector from the first client device differs from a version vector maintained by at least one of the selected other client devices, and updating the data to be shared to current status by using each entry that differs between the version vector from the first client device and the version vector maintained by the at least one of the selected other client devices; detecting when a conflicting change has been made to the item in the data to be shared, wherein when the conflicting change is detected; flagging the item in the data to be shared as conflicting; and notifying at least one of the selected other client device of the conflict for correction; and providing the updated data to the at least one of the selected other client devices according to the decided upon schedule. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. One or more computer-readable media comprising computer executable instructions that, when executed, direct a computer to perform a method, the method comprising:
-
determining whether to synchronize data specified to be shared with at least one other client during instant messaging; and based on the determination, scheduling when to synchronize the data with the at least one other client, wherein synchronizing the data with the at least one other client includes communicating a message to the at least one other client when the at least one other client is available, the message comprising a version vector that contains at least one entry that identifies an item in the data specified to be shared, the message utilized to trigger replicating data specified to be shared when the version vector from the computer differs from a version vector maintained by the at least one other client, and updating the data specified to be shared to current status based on each item identified by each entry that differs between the version vector from the computer and the version vector maintained by the at least one other client; detecting when a conflicting change has been made to the item in the data to be shared, wherein when the conflicting change is detected; flagging the item in the data specified to be shared as conflicting; and notifying at least one client of the conflict for correction; and providing the updated data specified to be shared to the at least one other client according to the decided upon schedule. - View Dependent Claims (19, 20)
-
Specification