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: 7516165
    Abstract: 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: Grant
    Filed: October 27, 2004
    Date of Patent: April 7, 2009
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 7502961
    Abstract: 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: Grant
    Filed: September 9, 2004
    Date of Patent: March 10, 2009
    Assignee: Microsoft Corporation
    Inventors: 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: 7487395
    Abstract: 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: Grant
    Filed: September 9, 2004
    Date of Patent: February 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Catharine van Ingen, Brian T Berkowitz, Giedrius Zizys, Vinay Badami
  • Patent number: 7366858
    Abstract: 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: Grant
    Filed: September 9, 2004
    Date of Patent: April 29, 2008
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Catharine van Ingen, Paul Adrian Oltean, Ran Kalach, Reuven L. Lax
  • Patent number: 7363332
    Abstract: 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: Grant
    Filed: March 4, 2003
    Date of Patent: April 22, 2008
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 7219128
    Abstract: 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: Grant
    Filed: December 10, 2002
    Date of Patent: May 15, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 7206810
    Abstract: 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: Grant
    Filed: December 10, 2002
    Date of Patent: April 17, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 7194518
    Abstract: 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: Grant
    Filed: December 10, 2002
    Date of Patent: March 20, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 7167900
    Abstract: 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: Grant
    Filed: December 10, 2002
    Date of Patent: January 23, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 6934727
    Abstract: 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: Grant
    Filed: January 2, 2003
    Date of Patent: August 23, 2005
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Publication number: 20030172054
    Abstract: 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: Application
    Filed: March 4, 2003
    Publication date: September 11, 2003
    Applicant: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 6594660
    Abstract: 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: Grant
    Filed: January 24, 2000
    Date of Patent: July 15, 2003
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Publication number: 20030110221
    Abstract: 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: Application
    Filed: December 10, 2002
    Publication date: June 12, 2003
    Applicant: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Publication number: 20030105768
    Abstract: 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: Application
    Filed: January 3, 2003
    Publication date: June 5, 2003
    Applicant: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Publication number: 20030088624
    Abstract: 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: Application
    Filed: December 10, 2002
    Publication date: May 8, 2003
    Applicant: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Publication number: 20030088625
    Abstract: 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: Application
    Filed: December 10, 2002
    Publication date: May 8, 2003
    Applicant: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Publication number: 20030084160
    Abstract: 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: Application
    Filed: December 10, 2002
    Publication date: May 1, 2003
    Applicant: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 6529921
    Abstract: 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: Grant
    Filed: June 29, 1999
    Date of Patent: March 4, 2003
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 6513084
    Abstract: 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: Grant
    Filed: June 29, 1999
    Date of Patent: January 28, 2003
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Peter A. Christofferson
  • Patent number: 6457021
    Abstract: 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: Grant
    Filed: August 18, 1998
    Date of Patent: September 24, 2002
    Assignee: Microsoft Corporation
    Inventors: Brian T. Berkowitz, Sreenivas Simhadri, Peter A. Christofferson, Gunnar Mein