Patents by Inventor Brian T. Berkowitz
Brian T. Berkowitz 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: 7516165Abstract: Each node in a network accessing a common database caches a copy of the database tables it uses and updates those tables based on changes made by other nodes in a coherent cache, i.e., those node that also have a copy of the tables in their cache. When a new node joins the coherent cache, dynamic synchronization of the table is performed by having one of the existing nodes act as a source to populate the table(s) required on the new (destination) node from its own copy. The dynamic synchronization controls the population operation and allows for the populating of tables on the destination node from partially populated tables on the source node. The dynamic synchronization of the tables permits database updates to continue to be made to the tables by the existing nodes in the coherent cache and provides a mechanism to propagate the committed updates to the tables on the destination node.Type: GrantFiled: October 27, 2004Date of Patent: April 7, 2009Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 7502961Abstract: A method for diagnosing problems with protection of a data source and recovery of the same. The method includes diagnosing a copy of data located at the storage location and diagnosing a temporal version of the copy of data. Based on the diagnosis it is determined whether an error or a warning was detected. If either were detected a response is provided with a suggested solution.Type: GrantFiled: September 9, 2004Date of Patent: March 10, 2009Assignee: Microsoft CorporationInventors: Catharine van Ingen, Brian T Berkowitz, Karandeep Singh Anand, Manikandan Thangarathnam, Purushottam M Kulkarni, William T Shelton, Jr., Seetharaman Harikrishnan, Sundararajan Srinivasan, Yezdi Z Lashkari
-
Patent number: 7487395Abstract: A data protection application if provided. The data protection application includes a job for providing protection to data. That job contains a plurality of tasks configured to perform the job. Also included is a task executor for managing the progress of each of the plurality of tasks.Type: GrantFiled: September 9, 2004Date of Patent: February 3, 2009Assignee: Microsoft CorporationInventors: Catharine van Ingen, Brian T Berkowitz, Giedrius Zizys, Vinay Badami
-
Patent number: 7366858Abstract: A framework for taking shadow copies and performing backups in systems that may have data spread across multiple machines. A requester communicates names to a primary coordinator and requests the creation of shadow copies of all the volumes associated with the names. The primary coordinator communicates with one or more writers and one or more secondary coordinators to create the shadow copies of the volumes. The primary and one or more secondary coordinators create shadow copies of one or more of the volumes that reside on the machines upon which they execute. After the shadow copies of the volumes have been created, the requester may obtain data from the shadow copies and create a consistent backup.Type: GrantFiled: September 9, 2004Date of Patent: April 29, 2008Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Catharine van Ingen, Paul Adrian Oltean, Ran Kalach, Reuven L. Lax
-
Patent number: 7363332Abstract: Each node in a network accessing a common database caches a copy of the database tables it uses and updates those tables based on changes made by other nodes in a coherent cache, i.e., those node that also have a copy of the tables in their cache. When a new node joins the coherent cache, dynamic synchronization of the table is performed by having one of the existing nodes act as a source to populate the table(s) required on the new (destination) node from its own copy. The dynamic synchronization controls the population operation and allows for the populating of tables on the destination node from partially populated tables on the source node. The dynamic synchronization of the tables permits database updates to continue to be made to the tables by the existing nodes in the coherent cache and provides a mechanism to propagate the committed updates to the tables on the destination node.Type: GrantFiled: March 4, 2003Date of Patent: April 22, 2008Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 7219128Abstract: An arbitration process ensures changes made by more than one node to the same data are propagated to each node holding the shared entity and applied in the same order on each node. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. After each instigator node receives all the proposals in the arbitration cycle, it determines whether it is the winner of the arbitration cycle and broadcasts a closure message if it is. Each node determines an order in which to apply the changes when it has received all the proposals. Arbitration cycles associated with different items can be running concurrently.Type: GrantFiled: December 10, 2002Date of Patent: May 15, 2007Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 7206810Abstract: When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: GrantFiled: December 10, 2002Date of Patent: April 17, 2007Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 7194518Abstract: When multiple nodes in a computer network perform work on a shared entity, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: GrantFiled: December 10, 2002Date of Patent: March 20, 2007Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 7167900Abstract: When multiple nodes in a computer network perform work on a shared entity, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: GrantFiled: December 10, 2002Date of Patent: January 23, 2007Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 6934727Abstract: Each node in a network accessing a common database caches a copy of the database tables it uses and updates those tables based on changes made by other nodes in a coherent cache, i.e., those node that also have a copy of the tables in their cache. When a new node joins the coherent cache, dynamic synchronization of the table is performed by having one of the existing nodes act as a source to populate the table(s) required on the new (destination) node from its own copy. The dynamic synchronization controls the population operation and allows for the populating of tables on the destination node from partially populated tables on the source node. The dynamic synchronization of the tables permits database updates to continue to be made to the tables by the existing nodes in the coherent cache and provides a mechanism to propagate the committed updates to the tables on the destination node.Type: GrantFiled: January 2, 2003Date of Patent: August 23, 2005Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Publication number: 20030172054Abstract: Each node in a network accessing a common database caches a copy of the database tables it uses and updates those tables based on changes made by other nodes in a coherent cache, i.e., those node that also have a copy of the tables in their cache. When a new node joins the coherent cache, dynamic synchronization of the table is performed by having one of the existing nodes act as a source to populate the table(s) required on the new (destination) node from its own copy. The dynamic synchronization controls the population operation and allows for the populating of tables on the destination node from partially populated tables on the source node. The dynamic synchronization of the tables permits database updates to continue to be made to the tables by the existing nodes in the coherent cache and provides a mechanism to propagate the committed updates to the tables on the destination node.Type: ApplicationFiled: March 4, 2003Publication date: September 11, 2003Applicant: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 6594660Abstract: Clearing share latches for databases, such as in-memory databases, is disclosed. In one embodiment, a computerized system includes a database having a number of sections, a client process and a core process. The client process is capable of asserting a share latch on a section of the database. The core process is capable of asserting an exclusive latch on a section of the database. The core process is further capable of clearing the share latch asserted by the client process, upon termination of the client process while the share latch is still asserted. Specific methods for such clearing, as well as latch logs, are also disclosed.Type: GrantFiled: January 24, 2000Date of Patent: July 15, 2003Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Publication number: 20030110221Abstract: When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: ApplicationFiled: December 10, 2002Publication date: June 12, 2003Applicant: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Publication number: 20030105768Abstract: Each node in a network accessing a common database caches a copy of the database tables it uses and updates those tables based on changes made by other nodes in a coherent cache, i.e., those node that also have a copy of the tables in their cache. When a new node joins the coherent cache, dynamic synchronization of the table is performed by having one of the existing nodes act as a source to populate the table(s) required on the new (destination) node from its own copy. The dynamic synchronization controls the population operation and allows for the populating of tables on the destination node from partially populated tables on the source node. The dynamic synchronization of the tables permits database updates to continue to be made to the tables by the existing nodes in the coherent cache and provides a mechanism to propagate the committed updates to the tables on the destination node.Type: ApplicationFiled: January 3, 2003Publication date: June 5, 2003Applicant: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Publication number: 20030088624Abstract: When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: ApplicationFiled: December 10, 2002Publication date: May 8, 2003Applicant: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Publication number: 20030088625Abstract: When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: ApplicationFiled: December 10, 2002Publication date: May 8, 2003Applicant: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Publication number: 20030084160Abstract: When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: ApplicationFiled: December 10, 2002Publication date: May 1, 2003Applicant: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 6529921Abstract: Each node in a network accessing a common database caches a copy of the database tables it uses and updates those tables based on changes made by other nodes in a coherent cache, i.e., those node that also have a copy of the tables in their cache. When a new node joins the coherent cache, dynamic synchronization of the table is performed by having one of the existing nodes act as a source to populate the table(s) required on the new (destination) node from its own copy. The dynamic synchronization controls the population operation and allows for the populating of tables on the destination node from partially populated tables on the source node. The dynamic synchronization of the tables permits database updates to continue to be made to the tables by the existing nodes in the coherent cache and provides a mechanism to propagate the committed updates to the tables on the destination node.Type: GrantFiled: June 29, 1999Date of Patent: March 4, 2003Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 6513084Abstract: When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node (“instigator”) when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node (“observer”) receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.Type: GrantFiled: June 29, 1999Date of Patent: January 28, 2003Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Peter A. Christofferson
-
Patent number: 6457021Abstract: An in-memory database system uses a shared memory to cache records and keys read from a database and controls the updating of the records and keys through a database manager process. When a transaction performs an update, the original, unmodified data is preserved in the shared memory, the new data is written to the shared memory, and a look-aside table for the transaction records the changes. A transaction performs read-only access to the shared memory using its own context while a versioning scheme based on the look-aside tables ensures a read-committed isolation level view of the original, unmodified data until the modifying transaction commits the update. The database manager is responsible for writing the new data into the shared memory and for maintaining the look-aside tables for all transaction which have made modifications to the data in the shared memory.Type: GrantFiled: August 18, 1998Date of Patent: September 24, 2002Assignee: Microsoft CorporationInventors: Brian T. Berkowitz, Sreenivas Simhadri, Peter A. Christofferson, Gunnar Mein