Claims
- 1. A method for maintaining storage object consistency among nodes in a distributed storage architecture including a repository of last resort, the method comprising the steps of:(a) monitoring storage object requests to the repository of last resort; (b) deciding whether to migrate the repository of last resort; and (c) migrating the repository of last resort.
- 2. The method of claim 1 further comprising the step of updating repository of last resort state bits.
- 3. The method of claim 1 wherein the step of deciding whether to migrate the repository of last resort further comprises determining if data in the repository of last resort is least recently used data.
- 4. The method of claim 1 wherein the step of deciding whether to migrate the repository of last resort further comprises determining a level of activity in an area of the distributed storage architecture including the repository of last resort.
- 5. A system for maintaining storage object consistency among nodes in a distributed system architecture including a repository of last resort, comprising:a processor; a storage coupled to the processor; the processor operable to monitor data requests to the repository of last resort, decide whether to move the repository of last resort, and migrate the repository of last resort.
- 6. A system for maintaining storage object consistency among nodes in a distributed system architecture, each node including a processor and a storage coupled to the processor, the distributed system architecture having a repository of last resort, the system comprising:a plurality of bits stored in an associated routing table of each node, the processor of each node operable to read the bits stored in the associated routing table and determine a direction to the repository of last resort through a neighbor node.
- 7. A distributed storage network, comprising:a plurality of connected nodes, each node being capable of caching a storage object, a name tag for the storage object, and state bits for the storage object including an ownership bit, a shared direction bit, and a repository of last resort pointer.
- 8. The distributed storage network of claim 7 wherein the ownership bit indicates a link leading towards another node caching an owned copy of the storage object.
- 9. The distributed storage network of claim 7 wherein the shared direction bit indicates whether a link to another node leads towards a copy of the storage object.
- 10. The distributed storage network of claim 7 wherein the repository of last resort pointer indicates a link leading towards a repository of last resort.
- 11. The distributed storage network of claim 10 wherein the repository of last resort is a node of the plurality of connected nodes that includes a copy of the storage object that may not be deleted.
- 12. The distributed storage network of claim 11 wherein a value in the repository of last resort pointer indicates that the node of the plurality of connected nodes is the repository of last resort.
- 13. The distributed storage network of claim 7 wherein the state bits further include a validity bit.
- 14. The distributed storage network of claim 7 wherein each node further includes a routing table.
- 15. The distributed storage network of claim 14 wherein the routing table includes an entry for each storage object in the network.
- 16. A distributed storage network, comprising:a plurality of nodes connected by links, each node including a cache memory configured to cache a plurality of storage objects; and a routing table configured to store an entry for a storage object, the entry having a name tag, an ownership bit, a shared direction bit, and a repository of last resort pointer.
- 17. The distributed storage network of claim 16 wherein the ownership bit indicates a link leading towards another node caching an owned copy of the storage object.
- 18. The distributed storage network of claim 16 wherein the shared direction bit indicates whether a link to another node leads towards a copy of the storage object.
- 19. The distributed storage network of claim 16 wherein the repository of last resort pointer indicates a link leading towards a repository of last resort.
- 20. The distributed storage network of claim 19 where in the repository of last resort is a node including a protected copy of the storage object.
- 21. The distributed storage network of claim 20 wherein a special value in the repository of last resort pointer indicates that a node is the repository of last resort.
- 22. The distributed storage network of claim 16 wherein the entry further has a validity bit.
- 23. The distributed storage network of claim 16 wherein each node further includes a pointer field having an identification for each link.
- 24. The distributed storage network of claim 23 wherein the identification is an IP address.
- 25. The distributed storage network of claim 16 wherein the routing table is configured to store an entry for every storage object in the distributed storage network.
- 26. The distributed storage network of claim 16 wherein each node further includes a processor.
- 27. A cache only memory architecture, comprising:a plurality of storage objects; a plurality of nodes, each node including a processor, a cache memory attached to the processor and configured to store one or more of the plurality of storage objects such that the plurality of storage objects are distributed over the plurality of nodes, and a routing table configured to store for each of the plurality of storage objects an ownership bit, a shared direction bit, and a pointer to a repository of last resort, the repository of last resort being one of the plurality of nodes designated to cache an undeletable copy of the storage object; and a plurality of links coupling the plurality of nodes.
- 28. A method for adding a new node to a distributed storage network including a plurality of connected nodes, comprising:linking the new node to one of the plurality of connected nodes; and configuring a routing table of the new node to be able to store an entry for a storage object, the entry having a name tag, an ownership bit, a shared direction bit, and a pointer to a repository of last resort, the repository of last resort being one of the plurality of connected nodes designed to cache an undeletable copy of the storage object.
- 29. A method for transferring ownership of a storage object in a distributed storage network including a plurality of connected nodes, each node having a routing table configured to store for the storage object an ownership bit and a pointer for a repository of last resort, the repository of last resort being a node designated to cache an undeletable copy of the storage object, comprising:routing a request ownership transaction from a requesting node to the repository of last resort by following a link specified by the pointer; and routing a response from the repository of last resort to the requesting node.
- 30. The method for transferring ownership of a storage object of claim 29 wherein routing the response includes caching a copy of the storage object at a node between the repository of last resort and the requesting node.
- 31. The method for transferring ownership of a storage object of claim 30 wherein routing the response includes caching a copy of the storage object at each node between the repository of last resort and the requesting node.
- 32. The method for transferring ownership of a storage object of claim 29 wherein routing the response includes modifying ownership bit of the requesting node, the repository of last resort, and of each node through which the response is round.
- 33. The method for transferring ownership of a storage object of claim 32 wherein modifying the ownership bits includes setting the ownership bits to indicate links leading towards the requesting node, and setting the ownership bit of the requesting node to indicate the requesting node is the owner of the storage object.
- 34. A method for supplying a copy of a storage object to a requesting node in a distributed storage network including a plurality of connected nodes, each node having a routing table configured to store for the storage object an ownership bit and a pointer for a repository of last resort, the repository of last resort being a node designated to cache an undeletable copy of the storage object, comprising:routing a request for the storage object from the requesting node towards the repository of last resort by following a link specified by the pointer; and routing a copy of the storage object to the requesting node.
- 35. The method for supplying a copy of a storage object of claim 34 wherein the copy routed to the requesting node is obtained from a node located between the requesting node and the repository of last resort.
- 36. The method for supplying a copy of a storage object of claim 35 wherein the node between the requesting node and the repository of last resort sets a shared direction bit to indicate a link in the direction of the requesting node.
CROSS REFERENCE TO RELATED APPLICATIONS
The invention claims priority from U.S. Provisional application entitled Extending Snoopy Cache Consistency to Networks, Ser. No. 60/238,774 filed on Oct. 5, 2000, the specification of which is herein incorporated by reference.
US Referenced Citations (2)
Number |
Name |
Date |
Kind |
5771349 |
Picazo, Jr. et al. |
Jun 1998 |
A |
6347362 |
Schoinas et al. |
Feb 2002 |
B1 |
Non-Patent Literature Citations (1)
Entry |
Sweazey, Paul and Alan Jay Smith, A Class of Compatible Cache Consistency Protocols and their Support by the IEEE Futurebus, Proc. 13'th Ann. Symp. on Computer Architecture, Jun. 3-5, 1986, Tokyo, Japan. |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/238774 |
Oct 2000 |
US |