Claims
- 1. A system for managing objects on a network, comprising:
a plurality of network servers, each network server adapted to communicate with a network data source; and a host server assigned a data object, the data object related to a data item in the network data source, wherein any of said plurality of network servers needing to access the data item can access the data object on the host server.
- 2. A system according to claim 1, wherein said network servers are selected from the group consisting of hardware cluster servers and software cluster servers.
- 3. A system according to claim 1, wherein said plurality of network servers include a distributed consensus algorithm, the distributed consensus algorithm comprising rounds of messages between said lead server and said plurality of servers, the rounds continuing until a majority of said plurality of network servers agrees on the host server.
- 4. A system according to claim 1, wherein the host server contains a data object comprising a copy of data from the network data source.
- 5. A system according to claim 1, wherein the host server contains a data object serving as the sole access point for the data item in the network data source.
- 6. A system according to claim 1, wherein said data item is a transaction log.
- 7. A system according to claim 3, wherein said distributed consensus algorithm is a Paxos algorithm.
- 8. A system for managing objects on a network, comprising:
a plurality of network servers, each network server adapted to communicate with a network data source; and a host server assigned a copy of a data item, the data item located in the network data source, wherein any of said plurality of network servers needing to access the data item can access the copy on the host server.
- 9. A system for managing objects on a network, comprising:
a plurality of network servers, each network server adapted to communicate with a network data source; and a host server assigned the sole access point to a data item located in the network data source such that any of said plurality of network servers needing to access the data item can access the data item through the host server.
- 10. A system for managing objects on a network, comprising:
a file system containing at least one copy of a data item; a plurality of servers in communication with the file system; and a host server in said plurality of servers, said host server assigned a local copy of the data item, said host server adapted to provide access to the local copy to any of said plurality of servers and update the copy of the data item in the file system any time an update is made to the local copy.
- 11. A system according to claim 10, wherein said host server is further adapted to store the local copy in a local cache.
- 12. A system according to claim 10, wherein said plurality of servers comprise a cluster.
- 13. A system according to claim 10, wherein said file system replicates the data item over multiple disks.
- 14. A system for managing objects on a network, comprising:
a file system containing at least one copy of a data item; a plurality of servers in communication with the file system; a hardware cluster containing hardware cluster servers located in said plurality of servers, said hardware cluster containing a distributed consensus algorithm for selecting a lead server from among said hardware cluster servers; and a host server in said plurality of servers, said host server containing a local copy of the data item, said host server adapted to provide access to the local copy to any of said plurality of servers and update the copy of the data item in the file system any time an update is made to the local copy.
- 15. A system according to claim 14, wherein said host server is in said hardware cluster.
- 16. A method for assigning ownership of an object on a network, comprising:
selecting a host server from among a plurality of network servers using a distributed consensus algorithm stored on a hardware cluster; assigning a data object to the host server, the host server assigned to provide sole access to a data object on the network; pulling a copy of a data object from a file system to the host server; and notifying other network servers that the host server contains a copy of the data object to be used in processing network requests.
- 17. A method for hosting Java Messenger Service (JMS) on a network, comprising:
selecting a host server from among a plurality of network servers using a distributed consensus algorithm; assigning a JMS object the host server, the JMS object comprising a JMS message store providing the sole access point and message queue for JMS over the network; and notifying the network servers that the host server is hosting the sole JMS message store.
- 18. A method according to claim 17, further comprising the step of:
checking the JMS message store for messages intended for one of the plurality of network servers.
- 19. A method according to claim 17, further comprising the step of:
sending a JMS message from a network server to the JMS message store on the host server.
- 20. A method according to claim 17, further comprising the step of:
sending messages in the JMS message store on the host server to a JMS component.
- 21. A method for ensuring the availability of an administration server in a cluster, comprising:
selecting an administration server from among a plurality of servers using a distributed consensus algorithm, the distributed consensus algorithm located on the plurality of servers; pulling administration information from a data source to the administration server and updating administration information in the data source in order to coordinate information in the data source and on the administration server; and notifying other servers in the cluster of the identity of the administration server.
- 22. A method according to claim 21, wherein the step of pulling administration information from a data source comprises pulling administration information from a file system.
CROSS-REFERENCED CASES
[0001] The following U.S. Patent Applications are cross-referenced and incorporated herein by reference:
[0002] U.S. Patent Application No. 60/305,986 entitled “DATA REPLICATION PROTOCOL,” by Dean Bernard Jacobs, Reto Kramer, and Ananthan Bala Srinivasan, filed Jul. 16, 2001.
[0003] U.S. Patent Application No. 60/317,566 entitled “EXACTLY ONCE JMS COMMUNICATION” by Dean Bernard Jacobs and Eric Halpern, filed Sep. 6, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60317718 |
Sep 2001 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
10234693 |
Sep 2002 |
US |
Child |
10887690 |
Jul 2004 |
US |