Patents by Inventor Philip A. Bernstein
Philip A. Bernstein 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: 9336327Abstract: Described is programmatic access to persistent XML and relational data from applications based upon explicit mappings between object classes, XML schema types, and relations. The mappings are used in data access, that is, they drive query and update processing. A query may be processed into a query for accessing the XML data and another query for second type for accessing the relational data. Mappings support strongly-typed classes and loosely-typed classes, and may be conditional upon other data, may decouple query and update translation performed at runtime from schema translation used at compile time, and/or may be compiled into transformations that produce objects from XML data and transformations that produce XML data from objects. Mappings may be generated automatically or provided by the developer.Type: GrantFiled: June 27, 2008Date of Patent: May 10, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Sergey Melnik, Philip A. Bernstein, James F. Terwilliger
-
Publication number: 20160105390Abstract: The subject disclosure is directed towards components in different server clusters, e.g., comprising software components such as components of a distributed computing system. Components are available for use by distributed computing system applications, yet managed by the distributed computing system runtime such that only a single instance can be activated and exist within communicating (non-partitioned) clusters. Also described is recovery from a situation in which no longer partitioned clusters each have created the same component.Type: ApplicationFiled: October 10, 2014Publication date: April 14, 2016Inventors: Philip A. Bernstein, Sergey I. Bykov, Jose Manuel Faleiro, Gabriel Kliot, Muntasir Raihan Rahman
-
Publication number: 20150379058Abstract: The subject matter described herein relates to managing data with flexible schema. A method, computer storage medium, and system are provided for managing data with flexible schema. In one embodiment, the method comprises providing a logical view for logical tables of a database; and managing mappings between the logical tables and a physical table according to predefined mapping constraints, each of the logical tables mapped as a part of the physical table. The mapping constraints at least specify that (i) a logical column in the logical tables is mapped to at least one physical column in the physical table, and (ii) distinct logical columns in one of the logical tables are mapped to distinct physical columns in the physical table. As a result, schema evolution may be done with minimized data migration.Type: ApplicationFiled: September 16, 2014Publication date: December 31, 2015Inventors: Liang Chen, Philip A. Bernstein
-
Publication number: 20150227315Abstract: A sequence of storage devices of a data store may include one or more stripesets for storing data stripes of different lengths and of different types. Each data stripe may be stored in a prefix or other portion of a stripeset. Each data stripe may be identified by an array of addresses that identify each page of the data stripe on each included storage device. When a first storage device of a stripeset becomes full, the stripeset may be shifted by removing the full storage device from the stripeset, and adding a next storage device of the data store to the stripeset. A class variable may be associated with storage devices of a stripeset to identify the type of data that the stripeset can store. The class variable may be increased (or otherwise modified) when a computer stores data of a different class in the stripeset.Type: ApplicationFiled: April 23, 2015Publication date: August 13, 2015Inventors: Colin Reid, Philip A. Bernstein
-
Patent number: 9043546Abstract: A sequence of storage devices of a data store may include one or more stripesets for storing data stripes of different lengths and of different types. Each data stripe may be stored in a prefix or other portion of a stripeset. Each data stripe may be identified by an array of addresses that identify each page of the data stripe on each included storage device. When a first storage device of a stripeset becomes full, the stripeset may be shifted by removing the full storage device from the stripeset, and adding a next storage device of the data store to the stripeset. A class variable may be associated with storage devices of a stripeset to identify the type of data that the stripeset can store. The class variable may be increased (or otherwise modified) when a computer stores data of a different class in the stripeset.Type: GrantFiled: April 23, 2013Date of Patent: May 26, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Colin Reid, Philip A. Bernstein
-
Patent number: 8977655Abstract: Aspects of the subject matter described herein relate to automating evolution of schemas and mappings. In aspects, mappings between a conceptual model and a store model are updated automatically in response to a change that occurs to the conceptual model. For example, when a change occurs to the conceptual model, a local scope of the change is determined. The local scope indicates mappings that are most similar to the type(s) affected by the change. Based on the local scope, a pattern of mappings between the conceptual model and the store model is determined. Using this pattern and the nature of the change, the mappings are updated according to the pattern. In addition, the store model and data thereon may be updated in a manner to preserve existing data that is not to be deleted in response to the change.Type: GrantFiled: June 3, 2013Date of Patent: March 10, 2015Assignee: Microsoft CorporationInventors: James F. Terwilliger, Philip A. Bernstein, Aditya Unnithan
-
Patent number: 8909610Abstract: 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: GrantFiled: April 1, 2013Date of Patent: December 9, 2014Assignee: Microsoft CorporationInventors: Colin W. Reid, Philip A. Bernstein
-
Patent number: 8850018Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.Type: GrantFiled: June 8, 2011Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava
-
Patent number: 8850007Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.Type: GrantFiled: June 8, 2011Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava
-
Patent number: 8799572Abstract: A sequence of storage devices of a data store may include one or more stripesets for storing data stripes of different lengths and of different types. Each data stripe may be stored in a prefix or other portion of a stripeset. Each data stripe may be identified by an array of addresses that identify each page of the data stripe on each included storage device. When a first storage device of a stripeset becomes full, the stripeset may be shifted by removing the full storage device from the stripeset, and adding a next storage device of the data store to the stripeset. A class variable may be associated with storage devices of a stripeset to identify the type of data that the stripeset can store. The class variable may be increased (or otherwise modified) when a computer stores data of a different class in the stripeset.Type: GrantFiled: April 20, 2009Date of Patent: August 5, 2014Assignee: Microsoft CorporationInventors: Colin Reid, Philip A. Bernstein
-
Patent number: 8738724Abstract: Computers are provided with a totally ordered, durable shared log. Shared storage is used and can be directly accessed by the computers over a network. Append-log operations are made atomic in the face of failures by committing provisional append ordering information onto a log. The log may comprise multiple flash packages or non-volatile memory devices, referred to as segments, although any shared storage device(s) may be used. Each log record is a multi-page stripe, where each page of a stripe is written to a different segment. Fault-tolerant protocol variants append stripes to the log, such that stripes are totally ordered in the log and each stripe is written atomically.Type: GrantFiled: May 25, 2010Date of Patent: May 27, 2014Assignee: Microsoft CorporationInventors: Philip A. Bernstein, Dahlia Malkhi, Colin Wilson Reid, Mahesh Balakrishnan
-
Publication number: 20130332435Abstract: Parallel certification of transactions on shared data stored in database partitions included in an approximate database partitioning arrangement may be initiated, based on initiating a plurality of certification algorithm executions in parallel, and providing a sequential certifier effect. Logging operations associated with a plurality of log partitions configured to store transaction objects associated with each respective transaction may be initiated, each respective database partition included in the approximate database partitioning being associated with one or more of the log partitions. A scheduler may assign each of the transactions to a selected one of the certification algorithm executions.Type: ApplicationFiled: June 12, 2012Publication date: December 12, 2013Applicant: MICROSOFT CORPORATIONInventors: Philip A. Bernstein, Sudipto Das
-
Publication number: 20130275474Abstract: Aspects of the subject matter described herein relate to automating evolution of schemas and mappings. In aspects, mappings between a conceptual model and a store model are updated automatically in response to a change that occurs to the conceptual model. For example, when a change occurs to the conceptual model, a local scope of the change is determined. The local scope indicates mappings that are most similar to the type(s) affected by the change. Based on the local scope, a pattern of mappings between the conceptual model and the store model is determined. Using this pattern and the nature of the change, the mappings are updated according to the pattern. In addition, the store model and data thereon may be updated in a manner to preserve existing data that is not to be deleted in response to the change.Type: ApplicationFiled: June 3, 2013Publication date: October 17, 2013Inventors: James F. Terwilliger, Philip A. Bernstein, Aditya Unnithan
-
Publication number: 20130238853Abstract: A sequence of storage devices of a data store may include one or more stripesets for storing data stripes of different lengths and of different types. Each data stripe may be stored in a prefix or other portion of a stripeset. Each data stripe may be identified by an array of addresses that identify each page of the data stripe on each included storage device. When a first storage device of a stripeset becomes full, the stripeset may be shifted by removing the full storage device from the stripeset, and adding a next storage device of the data store to the stripeset. A class variable may be associated with storage devices of a stripeset to identify the type of data that the stripeset can store. The class variable may be increased (or otherwise modified) when a computer stores data of a different class in the stripeset.Type: ApplicationFiled: April 23, 2013Publication date: September 12, 2013Applicant: Microsoft CorporationInventors: Colin Reid, Philip A. Bernstein
-
Publication number: 20130232118Abstract: 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: ApplicationFiled: April 1, 2013Publication date: September 5, 2013Applicant: Microsoft CorporationInventors: Colin W. Reid, Philip A. Bernstein
-
Patent number: 8458226Abstract: Aspects of the subject matter described herein relate to automating evolution of schemas and mappings. In aspects, mappings between a conceptual model and a store model are updated automatically in response to a change that occurs to the conceptual model. For example, when a change occurs to the conceptual model, a local scope of the change is determined. The local scope indicates mappings that are most similar to the type(s) affected by the change. Based on the local scope, a pattern of mappings between the conceptual model and the store model is determined. Using this pattern and the nature of the change, the mappings are updated according to the pattern. In addition, the store model and data thereon may be updated in a manner to preserve existing data that is not to be deleted in response to the change.Type: GrantFiled: June 15, 2010Date of Patent: June 4, 2013Assignee: Microsoft CorporationInventors: James F. Terwilliger, Philip A. Bernstein, Aditya Unnithan
-
Patent number: 8412689Abstract: 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: GrantFiled: July 7, 2010Date of Patent: April 2, 2013Assignee: Microsoft CorporationInventors: Colin W. Reid, Philip A. Bernstein
-
Patent number: 8386421Abstract: 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: GrantFiled: June 28, 2010Date of Patent: February 26, 2013Assignee: Microsoft CorporationInventors: Colin W. Reid, Philip A. Bernstein
-
Patent number: 8347050Abstract: 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: GrantFiled: January 27, 2009Date of Patent: January 1, 2013Assignee: Microsoft CorporationInventors: Philip A. Bernstein, Colin W. Reid
-
Publication number: 20120265734Abstract: Aspects of the subject matter described herein relate to incrementally modifying schemas and mappings. In aspects, an indication of a change to a client schema is received and a compilation directive is received. The compilation directive may indicate how one or more entities or associations in the client schema are to be mapped to the store schema. In response to receiving the indication of the change and the compilation directive, mapping data and storage schema may be incrementally modified with incremental revalidation and incremental updating of query and update views.Type: ApplicationFiled: April 14, 2011Publication date: October 18, 2012Applicant: MICROSOFT CORPORATIONInventors: Jorge A. Pérez, James F. Terwilliger, Philip A. Bernstein