Patents by Inventor Colin W. Reid

Colin W. Reid 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: 8909610
    Abstract: Architecture that includes an ordered and shared log of indexed transaction records represented as multi-version data structures of nodes and node pointers. The log is a sole monolithic source of datastore state and is used for enforcing concurrency control. The architecture also includes a transaction processing component that appends transaction records to the log from concurrent transactions executing on different processors. Each node of a record is assigned a log address.
    Type: Grant
    Filed: April 1, 2013
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: Colin W. Reid, Philip A. Bernstein
  • Publication number: 20130232118
    Abstract: Architecture that includes an ordered and shared log of indexed transaction records represented as multi-version data structures of nodes and node pointers. The log is a sole monolithic source of datastore state and is used for enforcing concurrency control. The architecture also includes a transaction processing component that appends transaction records to the log from concurrent transactions executing on different processors. Each node of a record is assigned a log address.
    Type: Application
    Filed: April 1, 2013
    Publication date: September 5, 2013
    Applicant: Microsoft Corporation
    Inventors: Colin W. Reid, Philip A. Bernstein
  • Patent number: 8412689
    Abstract: Architecture that includes an ordered and shared log of indexed transaction records represented as multi-version data structures of nodes and node pointers. The log is a sole monolithic source of datastore state and is used for enforcing concurrency control. The architecture also includes a transaction processing component that appends transaction records to the log from concurrent transactions executing on different processors. Each node of a record is assigned a log address.
    Type: Grant
    Filed: July 7, 2010
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Colin W. Reid, Philip A. Bernstein
  • Patent number: 8386421
    Abstract: Architecture that addresses the efficient detection of conflicts and the merging of data structures such as trees, when possible. The process of detecting conflicts and merging the trees is a meld operation. Confluent trees offer transactional consistency with some degree of isolation, and scaling out a concurrent system based on confluent trees can be accomplished where the meld operation is more efficient than the transaction computations. Transactions execute optimistically using lazily versioned “intention trees” that efficiently describe dependencies and effects using structure and content version information for each intention subtree. The data structure is modified by melding the intention trees in sequence, which causes each transaction to either commit (producing an incremental new version of the data structure) or abort (identifying a conflict which prevents the intention tree from being melded). The architecture is computationally efficient and completes without needing to access much of each tree.
    Type: Grant
    Filed: June 28, 2010
    Date of Patent: February 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Colin W. Reid, Philip A. Bernstein
  • Patent number: 8347050
    Abstract: A shared storage system is described herein that is based on an append-only model of updating a storage device to allow multiple computers to access storage with lighter-weight synchronization than traditional systems and to reduce wear on flash-based storage devices. Appending data allows multiple computers to write to the same storage device without interference and without synchronization between the computers. Computers can also safely read a written page without using synchronization because the system limits how data can be changed once written. The system may record a log of append operations performed and ensure idempotence by storing a key specified by the caller in the log along with each log entry. The system also provides broadcasts about appended data to computers so that coordination between computers can occur without direct communication between the computers.
    Type: Grant
    Filed: January 27, 2009
    Date of Patent: January 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Philip A. Bernstein, Colin W. Reid
  • Publication number: 20120011106
    Abstract: Architecture that includes an ordered and shared log of indexed transaction records represented as multi-version data structures of nodes and node pointers. The log is a sole monolithic source of datastore state and is used for enforcing concurrency control. The architecture also includes a transaction processing component that appends transaction records to the log from concurrent transactions executing on different processors. Each node of a record is assigned a log address.
    Type: Application
    Filed: July 7, 2010
    Publication date: January 12, 2012
    Applicant: Microsoft Corporation
    Inventors: Colin W. Reid, Pilip A. Bernstein
  • Publication number: 20110320496
    Abstract: Architecture that addresses the efficient detection of conflicts and the merging of data structures such as trees, when possible. The process of detecting conflicts and merging the trees is a meld operation. Confluent trees offer transactional consistency with some degree of isolation, and scaling out a concurrent system based on confluent trees can be accomplished where the meld operation is more efficient than the transaction computations. Transactions execute optimistically using lazily versioned “intention trees” that efficiently describe dependencies and effects using structure and content version information for each intention subtree. The data structure is modified by melding the intention trees in sequence, which causes each transaction to either commit (producing an incremental new version of the data structure) or abort (identifying a conflict which prevents the intention tree from being melded). The architecture is computationally efficient and completes without needing to access much of each tree.
    Type: Application
    Filed: June 28, 2010
    Publication date: December 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Colin W. Reid, Philip A. Bernstein
  • Publication number: 20100191919
    Abstract: A shared storage system is described herein that is based on an append-only model of updating a storage device to allow multiple computers to access storage with lighter-weight synchronization than traditional systems and to reduce wear on flash-based storage devices. Appending data allows multiple computers to write to the same storage device without interference and without synchronization between the computers. Computers can also safely read a written page without using synchronization because the system limits how data can be changed once written. The system may record a log of append operations performed and ensure idempotence by storing a key specified by the caller in the log along with each log entry. The system also provides broadcasts about appended data to computers so that coordination between computers can occur without direct communication between the computers.
    Type: Application
    Filed: January 27, 2009
    Publication date: July 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Philip A. Bernstein, Colin W. Reid