IP Library Granted Patent US 8,516,470
Granted Patent B1
US 8,516,470 · App. 10/320,015 · Granted Aug 20, 2013

Version upgrade via viral infection

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,516,470
App. No.
10/320,015
Granted
Aug 20, 2013
Kind
B1
Abstract

A system comprises a plurality of nodes coupled via a network. The plurality of nodes are configured to communicate by transmitting and receiving messages between the plurality of nodes. Each message comprises a first version identifier indicative of a first version of an object in a first node of the plurality of nodes, wherein the first node is the transmitter of the message. A second node of the plurality of nodes receives the message, and is configured to upgrade to the first version of the object responsive to the first version identifier indicating that the first version is newer than a second version in the second node (as indicated by a second version identifier in the second node). The second node is configured to include the first version identifier in subsequent messages transmitted by the second node.

Claims (45)

1. A method for upgrading at least one object amongst a plurality of nodes, comprising:

propagating a message amongst a plurality of nodes, wherein the message comprises:

a header portion containing version information regarding at least one object at a transmitting node; and

a body portion containing message information, wherein the message information contains a substance of the message that is unrelated to the at least one object;

comparing the version information regarding the at least one object at the transmitting node with version information regarding the at least one object at a receiving node of the plurality of nodes to determine an object to be updated at the receiving node, wherein comparing the version information comprises:

comparing a version id for the object in the message with a local version id for the object at the receiving node; and

comparing a logical clock timestamp for the object in the message with a logical clock timestamp for the object at the receiving node; and

in response to the determination of the object, obtaining data from a node of the plurality of nodes to upgrade the object at the receiving node, wherein the receiving node updates a portion of the version information regarding the object in the message and generates an updated message for propagation amongst the plurality of nodes, wherein the updated message comprises the updated portion of the version information.

2. The method of claim 1 , wherein comparing the version id in the message further comprises comparing a hash digest for the object in the message with a hash digest for the object at the receiving node.

3. The method of claim 2 , wherein the receiving node automatically resolves a conflict between the result of the comparison of hash digests and the result of the comparison of logical clock timestamps.

4. The method of claim 1 , wherein comparing the version information further comprises the receiving node automatically resolving a conflict between the version information in the message and the version information at the receiving node.

5. The method of claim 4 , wherein the receiving node automatically resolving the conflict further comprises analyzing parent version information regarding the object amongst the plurality of nodes using a parent version id in the version information in the message.

6. The method of claim 5 , wherein analyzing the parent version information further comprises traversing a version tree associated with a portion of the version information for the object in the message.

7. The method of claim 1 further comprising:

updating a portion of the version information for the object at the receiving node; and

distributing an updated message amongst the plurality of nodes, wherein the updated message comprises the updated portion of the version information for the object.

8. A method for upgrading at least one object amongst a plurality of nodes, comprising:

propagating a message amongst a plurality of nodes, wherein the message comprises:

a header portion containing version information regarding at least one object at a transmitting node; and

a body portion containing message information, wherein the message information contains a substance of the message that is unrelated to the at least one object;

determining an object to be updated at a receiving node of the plurality of nodes based on the version information in the message;

comparing the version information in the message with version information regarding the at least one object at the receiving node;

comparing a logical clock timestamp for the object in the message with a logical clock timestamp for the object at the receiving node; and

upgrading the object at the receiving node using data obtained from a node of the plurality of nodes that is not the transmitting node, wherein the receiving node updates a portion of the version information for the object and generates an updated message for propagation amongst the plurality of nodes, wherein the updated message comprises the updated portion of the version information.

9. The method of claim 8 , wherein comparing the version information in the message further comprises comparing a version id for the object in the message with a local version id for the object at the receiving node.

10. The method of claim 8 , wherein comparing the version information further comprises the receiving node automatically resolving a conflict between the version information in the message and the version information at the receiving node.

11. The method of claim 10 , wherein the receiving node automatically resolving the conflict further comprises analyzing parent version information regarding the object amongst the plurality of nodes using a parent version id in the version information in the message.

12. The method of claim 8 further comprising:

updating version information for the object at the receiving node; and

distributing an updated message amongst the plurality of nodes, wherein the updated message comprises the updated version information for the object.

13. A system for upgrading at least one object amongst a plurality of nodes, comprising:

a transmitting node for propagating a message amongst a plurality of nodes, wherein the message comprises:

a header portion containing version information regarding at least one object at a transmitting node; and

a body portion containing message information, wherein the message information contains a substance of the message that is unrelated to the at least one object; and a receiving node for identifying an object to be updated, wherein the identifying comprises comparing the version information in the message with version information regarding the at least one object at the receiving node and comparing a logical clock timestamp for the object in the message with a logical clock timestamp for the object at the receiving node, wherein the receiving node uses data received from a node of the plurality of nodes to upgrade the object, wherein the node is not the transmitting node, and wherein the receiving node updates a portion of the version information for the object and generates an updated message for propagation amongst the plurality of nodes, wherein the updated message comprises the updated portion of the version information.

14. The system of claim 13 , wherein the node comprises a server that is configured to distribute the object.

15. The system of claim 13 , wherein the receiving node resolves a conflict between the version information in the message and the version information at the receiving node.

16. The system of claim 13 , wherein comparing the version information in the message further comprises comparing a version id for the object in the message with a local version id for the object at the receiving node.

17. A system for upgrading at least one object amongst a plurality of nodes, comprising:

a transmitting node for propagating a message amongst a plurality of nodes, wherein the message comprises:

a header portion containing version information regarding at least one object at a transmitting node, wherein the version information contains a logical clock timestamp; and

a body portion containing message information, wherein the message information contains a substance of the message that is unrelated to the at least one object; and

a receiving node for determining an object to be updated at the receiving node based on the version information containing a logical clock timestamp in the message and subsequently obtaining data from a node of the plurality of nodes to upgrade the object, and wherein the receiving node updates a portion of the version information for the object and generates an updated message for propagation amongst the plurality of nodes, wherein the updated message comprises the updated portion of the version information.

18. The system of claim 17 , wherein the receiving node updates the version information and generates an updated message for propagation amongst the plurality of nodes, wherein the updated message comprises the updated version information.

19. The system of claim 17 , wherein the receiving node compares the version information in the message with version information regarding the at least one object at the receiving node.

20. The system of claim 17 , wherein the version information regarding at least one object further comprises a version id for the at least one object.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 036341/0423 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Feb 21, 2008
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 020540/0248 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →