Patents by Inventor Bernard Jacobs
Bernard Jacobs has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 7113980Abstract: A system for managing a JMS message store in a clustered network includes an object acting as a message store for Java Message Service (JMS). A lead server is selected from several clustered servers. The lead server uses a distributed consensus algorithm to select a host server, utilizing multicast messaging while executing rounds of the algorithm. The selected host server hosts the JMS message store, providing sole access to JMS. The other servers are notified of the new host by multicast messaging. All servers in the cluster can use JMS, but they must send messages to the message store on the host and pick up any messages from the message store.Type: GrantFiled: September 4, 2002Date of Patent: September 26, 2006Assignee: BEA Systems, Inc.Inventors: Dean Bernard Jacobs, Eric M. Halpern
-
Patent number: 7028030Abstract: Concurrency can be maintained in cluster caching when processing an update request on network server that is storing a local copy of a data item. The request can be processed using the local copy of the data item. A predicated update request can be sent to a network database storing the data item, wherein the database can commit the update if the local copy is current with the data item. If the local copy is not current, the network server can request a new copy, process the request using the current copy, and try another predicated request. The process can continue until the update is committed to the database or aborted. Once committed, any other servers in the cluster can be notified that the data item has been updated. Those other servers can drop any local copy of the data item and can request an updated copy of the data item.Type: GrantFiled: August 2, 2002Date of Patent: April 11, 2006Assignee: BEA Systems, Inc.Inventors: Dean Bernard Jacobs, Rob Woollen, Adam Messinger, Seth White
-
Patent number: 7020684Abstract: Transactions are granted concurrent access to a data item through the use of an optimistic concurrency algorithm. Each transaction gets its own instance of the data item, such as in a cache or in an entity bean, such that it is not necessary to lock the data. The instances can come from the data or from other instances. When a transaction updates the data item, the optimistic concurrency algorithm ensures that the other instances are notified that the data item has been changed and that it is necessary to read a new instance, from the database or from an updated instance. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.Type: GrantFiled: January 10, 2003Date of Patent: March 28, 2006Assignee: BEA Systems, Inc.Inventors: Seth White, Adam Messinger, Dean Bernard Jacobs, Rob Woollen
-
Patent number: 6918013Abstract: Servers in a network cluster can each store a copy of a data item in local cache, providing read access to these copies through read-only entity beans. The original data item in the database can be updated through a read/write entity bean one of the cluster servers. That cluster server has access to an invalidation target, which contains identification information relating to copies of the data item stored on servers in the cluster. Once the read/write bean updates the data item in the database, an invalidate request can be sent or multicast to all cluster members, or to any read-only bean or server contained in the invalidation target. Each server or read-only bean receiving the request knows to drop any copy of the data item in local cache, and can request a current copy of the data item from the database.Type: GrantFiled: August 5, 2002Date of Patent: July 12, 2005Assignee: BEA Systems, Inc.Inventors: Dean Bernard Jacobs, Rob Woollen, Seth White
-
Publication number: 20040249928Abstract: A system for managing objects in a clustered network includes a file system containing at least one copy of a data object. The system can include several clustered servers in communication with the file system. A distributed consensus algorithm is used to select a host server. The selected host server can contain a copy of the data object, such as in local cache, providing access to the local copy to any other server in the cluster. Any change made to an item hosted by the host server can also be updated in the file system. If the host server becomes unable to host the object, a new host can be chosen using the distributed consensus algorithm. The other servers are then notified of the new host by multicast messaging.Type: ApplicationFiled: July 9, 2004Publication date: December 9, 2004Applicant: BEA Systems, Inc.Inventors: Dean Bernard Jacobs, Eric M. Halpern
-
Publication number: 20040249946Abstract: A method for managing objects in a clustered network includes a file system containing at least one copy of a data object. The method can involve several clustered servers in communication with the file system. A distributed consensus algorithm is used to select a host server. The selected host server can contain a copy of the data object, such as in local cache, providing access to the local copy to any other server in the cluster. Any change made to an item hosted by the host server can also be updated in the file system. If the host server becomes unable to host the object, a new host can be chosen using the distributed consensus algorithm. The other servers are then notified of the new host by multicast messaging.Type: ApplicationFiled: July 9, 2004Publication date: December 9, 2004Applicant: BEA Systems, Inc.Inventors: Dean Bernard Jacobs, Eric M. Halpern
-
Publication number: 20040243585Abstract: A system for managing objects in a clustered network includes a file system containing at least one copy of a data object. The system can include several clustered servers in communication with the file system. A distributed consensus algorithm is used to select a host server. The selected host server can contain a copy of the data object, such as in local cache, providing access to the local copy to any other server in the cluster. Any change made to an item hosted by the host server can also be updated in the file system. If the host server becomes unable to host the object, a new host can be chosen using the distributed consensus algorithm. The other servers are then notified of the new host by multicast messaging.Type: ApplicationFiled: July 8, 2004Publication date: December 2, 2004Applicant: BEA Systems, Inc.Inventors: Dean Bernard Jacobs, Eric M. Halpern
-
Patent number: 6826601Abstract: A system for managing objects in a clustered network includes a file system containing at least one copy of a data object. The system can include several clustered servers in communication with the file system. A lead server is selected, which contains a distributed consensus algorithm for selecting a host server, and which utilizes multicasting while executing rounds of the algorithm. The selected host server can contain a copy of the data object, such as in local cache, providing access to the local copy to any other server in the cluster. Any change made to an item hosted by the host server can also be updated in the file system. If the host server becomes unable to host the object, a new host can be chosen using the distributed consensus algorithm. The other servers are then notified of the new host by multicast messaging.Type: GrantFiled: September 4, 2002Date of Patent: November 30, 2004Assignee: BEA Systems, Inc.Inventors: Dean Bernard Jacobs, Eric M. Halpern
-
Publication number: 20030236880Abstract: A Node Manager monitors the status of multiple servers. The Node Manager detects server failures, periodically monitors server health status, and performs server maintenance. When the Node Manager detects a server failure, it determines whether or not the server should be restarted. While periodically monitoring servers, the Node Manager may determine how often to trigger a health check, how long to wait for a response, and how to proceed if the server is deemed failed. The Node Manager may be controlled by an Administrative Server directly or by an external administrative agent. An administrative agent may control the Node Manager by interfacing with the Administrative Server. The Node Manager and AS may authenticate each other and encode their communications to each other for increased security.Type: ApplicationFiled: January 9, 2003Publication date: December 25, 2003Inventors: Rahul Srivastava, Ananthan Bala Srinivasan, Eric M. Halpern, Dean Bernard Jacobs
-
Publication number: 20030233522Abstract: Transactions are granted concurrent access to a data item through the use of an optimistic concurrency algorithm. Each transaction gets its own instance of the data item, such as in a cache or in an entity bean, such that it is not necessary to lock the data. The instances can come from the data or from other instances. When a transaction updates the data item, the optimistic concurrency algorithm ensures that the other instances are notified that the data item has been changed and that it is necessary to read a new instance, from the database or from an updated instance.Type: ApplicationFiled: January 10, 2003Publication date: December 18, 2003Inventors: Seth White, Adam Messinger, Dean Bernard Jacobs, Rob Woollen
-
Publication number: 20030229804Abstract: A Node Manager monitors the status of multiple servers. The Node Manager detects server failures, periodically monitors server health status, and performs server maintenance. When the Node Manager detects a server failure, it determines whether or not the server should be restarted. While periodically monitoring servers, the Node Manager may determine how often to trigger a health check, how long to wait for a response, and how to proceed if the server is deemed failed. The Node Manager may be controlled by an Administrative Server directly or by an external administrative agent. An administrative agent may control the Node Manager by interfacing with the Administrative Server. The Node Manager and AS may authenticate each other and encode their communications to each other for increased security.Type: ApplicationFiled: January 9, 2003Publication date: December 11, 2003Inventors: Rahul Srivastava, Ananthan Bala Srinivasan, Eric M. Halpern, Dean Bernard Jacobs
-
Publication number: 20030225880Abstract: A Node Manager monitors the status of multiple servers. The Node Manager detects server failures, periodically monitors server health status, and performs server maintenance. When the Node Manager detects a server failure, it determines whether or not the server should be restarted. While periodically monitoring servers, the Node Manager may determine how often to trigger a health check, how long to wait for a response, and how to proceed if the server is deemed failed. The Node Manager may be controlled by an Administrative Server directly or by an external administrative agent. An administrative agent may control the Node Manager by interfacing with the Administrative Server. The Node Manager and AS may authenticate each other and encode their communications to each other for increased security.Type: ApplicationFiled: January 9, 2003Publication date: December 4, 2003Inventors: Rahul Srivastava, Ananthan Bala Srinivasan, Eric M. Halpern, Dean Bernard Jacobs
-
Publication number: 20030158908Abstract: A system for managing objects in a clustered network includes a file system containing at least one copy of a data object. The system can include several clustered servers in communication with the file system. A lead server is selected, which contains a distributed consensus algorithm for selecting a host server, and which utilizes multicasting while executing rounds of the algorithm. The selected host server can contain a copy of the data object, such as in local cache, providing access to the local copy to any other server in the cluster. Any change made to an item hosted by the host server can also be updated in the file system. If the host server becomes unable to host the object, a new host can be chosen using the distributed consensus algorithm. The other servers are then notified of the new host by multicast messaging.Type: ApplicationFiled: September 4, 2002Publication date: August 21, 2003Inventors: Dean Bernard Jacobs, Eric M. Halpern
-
Publication number: 20030065708Abstract: A system for managing a JMS message store in a clustered network includes an object acting as a message store for Java Message Service (JMS). A lead server is selected from several clustered servers. The lead server uses a distributed consensus algorithm to select a host server, utilizing multicast messaging while executing rounds of the algorithm. The selected host server hosts the JMS message store, providing sole access to JMS. The other servers are notified of the new host by multicast messaging. All servers in the cluster can use JMS, but they must send messages to the message store on the host and pick up any messages from the message store.Type: ApplicationFiled: September 4, 2002Publication date: April 3, 2003Inventors: Dean Bernard Jacobs, Eric M. Halpern
-
Publication number: 20030051102Abstract: Servers in a network cluster can each store a copy of a data item in local cache, providing read access to these copies through read-only entity beans. The original data item in the database can be updated through a read/write entity bean one of the cluster servers. That cluster server has access to an invalidation target, which contains identification information relating to copies of the data item stored on servers in the cluster. Once the read/write bean updates the data item in the database, an invalidate request can be sent or multicast to all cluster members, or to any read-only bean or server contained in the invalidation target. Each server or read-only bean receiving the request knows to drop any copy of the data item in local cache, and can request a current copy of the data item from the database.Type: ApplicationFiled: August 5, 2002Publication date: March 13, 2003Inventors: Dean Bernard Jacobs, Rob Woollen, Seth White
-
Publication number: 20030046230Abstract: In an account transaction such as an ATM transaction, a server in communication with an ATM stores a copy of the account balance. Before processing the transaction, the server reads the balance from memory and determines whether the account contains sufficient funds for the transaction. In order to prevent overdrawing of the account, the server makes any balance update predicated on the fact that the current balance in the account database is the same as the balance of the local copy of the account. If the account balance stored in the database is not the same, the server rolls back the request and updates the account balance stored in the local copy. This process continues until either the account balance is updated or the transaction is aborted.Type: ApplicationFiled: August 2, 2002Publication date: March 6, 2003Inventors: Dean Bernard Jacobs, Rob Woollen, Adam Messinger, Seth White
-
Publication number: 20030046286Abstract: Concurrency can be maintained in cluster caching when processing an update request on network server that is storing a local copy of a data item. The request can be processed using the local copy of the data item. A predicated update request can be sent to a network database storing the data item, wherein the database can commit the update if the local copy is current with the data item. If the local copy is not current, the network server can request a new copy, process the request using the current copy, and try another predicated request. The process can continue until the update is committed to the database or aborted. Once committed, any other servers in the cluster can be notified that the data item has been updated. Those other servers can drop any local copy of the data item and can request an updated copy of the data item.Type: ApplicationFiled: August 2, 2002Publication date: March 6, 2003Inventors: Dean Bernard Jacobs, Rob Woollen, Adam Messinger, Seth White
-
Publication number: 20030023898Abstract: Data is replicated from a master server to a slave server on a network by first sending a start call from a master user level to a master service level on the master server, the start call containing version information for data on the master server. The information is then sent to a slave service layer on a slave server so the slave server layer can determine whether data on the slave server is current. The slave server layer can request a delta from the master server if the slave data is not current. A delta containing the information necessary to update the slave data is sent from the master service layer to the slave service layer so the slave service layer can process the delta and send the updated information to the slave user layer.Type: ApplicationFiled: October 11, 2001Publication date: January 30, 2003Inventors: Dean Bernard Jacobs, Reto Kramer, Ananthan Bala Srinivasan
-
Publication number: 20030018732Abstract: Data can be replicated over a network using a one or two phase method. For the one phase method, a master server containing an original copy of the data sends a version number for the current state of the data to each slave on the network so that each slave can request a delta from the master. The delta that is requested contains the data necessary to update the slave to the appropriate version of the data. For the two phase method, the master server sends a packet of information to each slave. The packet of information can be committed by the slaves if each slave is able to process the commit.Type: ApplicationFiled: October 11, 2001Publication date: January 23, 2003Inventors: Dean Bernard Jacobs, Reto Kramer, Ananthan Bala Srinivasan
-
Publication number: 20030014526Abstract: A session replication system provides real-time data replication without unnecessarily slowing down the user experience. A system in accordance with the present invention may utilize a primary server to serve requests from a network client, as well as a secondary server to replicate the session information. When a request is received on the session, an attempt may be made to serve the request on the primary server. If the primary is unable to receive or respond to the request, the request may be served on the secondary server or on a new primary server. If the secondary server receives the request, the secondary server may become the new primary server. If a new primary server is selected, the new primary may request the session information from the secondary server.Type: ApplicationFiled: October 31, 2001Publication date: January 16, 2003Inventors: Sam Pullara, Eric M. Halpern, Prasad Peddada, Adam Messinger, Dean Bernard Jacobs