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).
-
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
-
Patent number: 8121980Abstract: Transactional record management methods and systems enabling multiple independent servers (such as database servers) using shared storage to initiate transactions in parallel without inter server communication and without locking the records used by the transaction. The in-flight transactions can be included in a shared transaction log without a final determination of whether the transaction committed. The log updates can be broadcast to each of the servers, which each parse the log, using the same rules of analysis, and therefore each compute server can independently and asynchronously come to the same conclusion as to which transactions aborted and which transactions committed.Type: GrantFiled: February 13, 2009Date of Patent: February 21, 2012Assignee: Microsoft CorporationInventors: Colin Wilson Reid, Philip A. Bernstein
-
Publication number: 20110320496Abstract: 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: ApplicationFiled: June 28, 2010Publication date: December 29, 2011Applicant: MICROSOFT CORPORATIONInventors: Colin W. Reid, Philip A. Bernstein
-
Publication number: 20110314043Abstract: A data structure may exist in various representations, such as an object in an object-oriented system or a set of elements included in an extensible markup language (XML) document structured according to an XML type defined in an XML schema. While many aspects of these representations may correspond, some aspects of an XML document may not be specified by the XML schema (such as developer comments, whitespace, and preprocessor directives), and may be lost while translating an XML representation of the data structure to an object. These non-schematized aspects may be included in the object as a delta, specifying the location of an aspect with relation to an element defined by the XML schema. Preserving non-schematized aspects may promote the full representation of the data structure as an object, and may facilitate a full-fidelity regeneration of the XML document from which the object was generated.Type: ApplicationFiled: June 17, 2010Publication date: December 22, 2011Applicant: Microsoft CorporationInventors: Philip A. Bernstein, Sergey Melnik, James F. Terwilliger, Ion Vasillian
-
Publication number: 20110307501Abstract: 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 15, 2010Publication date: December 15, 2011Applicant: MICROSOFT CORPORATIONInventors: James F. Terwilliger, Philip A. Bernstein, Aditya Unnithan
-
Publication number: 20110295969Abstract: 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: ApplicationFiled: May 25, 2010Publication date: December 1, 2011Applicant: MICROSOFT CORPORATIONInventors: Philip A. Bernstein, Dahlia Malkhi, Colin Wilson Reid, Mahesh Balakrishnan
-
Publication number: 20110289118Abstract: Architecture that maps document data (e.g., XML-extended markup language) into columns of one table, thereby avoiding schema normalization problems through special data storage. Moreover, an algorithm is described that can translate a query (e.g., in XPath (XML path language), a query language for navigating through document elements and attributes of an XML document) into a relational algebra query of the document column representation. Based on the characteristics of the new mapping, query rewriting rules are provided that optimize the relational algebra query by minimizing the number of joins. The mapping of XML documents to the table is based on a summary structure and a hierarchical labeling scheme (e.g., ordpath) to enable a high-fidelity representation. Annotations are employed on the summary structure nodes to assist in mapping XML elements and attributes to the table.Type: ApplicationFiled: May 20, 2010Publication date: November 24, 2011Applicant: MICROSOFT CORPORATIONInventors: Liang Chen, Nikita Shamgunov, Philip A. Bernstein, Michael Rys, James F. Terwilliger, Peter Alan Carlin, Dragan Tomic
-
Publication number: 20110238813Abstract: 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: ApplicationFiled: June 8, 2011Publication date: September 29, 2011Applicant: 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
-
Publication number: 20110238842Abstract: 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: ApplicationFiled: June 8, 2011Publication date: September 29, 2011Applicant: 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: 7984155Abstract: 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 14, 2010Date of Patent: July 19, 2011Assignee: Microsoft CorporationInventors: Michael T. Massa, David A. Dion, Raj Das, Rushabh Doshi, David B. Lomet, Gor V. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit N. Jain, Sunita V. Nishanov
-
Publication number: 20100274821Abstract: Techniques described herein describe a schema and taxonomy matching process that uses clicklogs to map a schema for source data to a schema for target data. A search engine may receive source data that is structured using the source schema, and the search engine itself may contain target data structured using the target schema. Using query distributions derived from the clicklogs, the source schema may be mapped to the target schema. The mapping can be used to integrate the source data into the target data and to index the integrated data for a search engine.Type: ApplicationFiled: April 22, 2009Publication date: October 28, 2010Applicant: Microsoft CorporationInventors: Philip A. Bernstein, Arnab Nandi
-
Publication number: 20100268876Abstract: 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 20, 2009Publication date: October 21, 2010Applicant: MICROSOFT CORPORATIONInventors: Colin Reid, Philip A. Bernstein
-
Publication number: 20100250750Abstract: 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: ApplicationFiled: June 14, 2010Publication date: September 30, 2010Applicant: MICROSOFT CORPORATIONInventors: MICHAEL T. MASSA, DAVID A. DION, RAJSEKHAR DAS, RUSHABH A. DOSHI, DAVID B. LOMET, GOR V. NISHANOV, PHILIP A. BERNSTEIN, ROD N. GAMACHE, ROHIT JAIN, SUNITA SHRIVASTAVA
-
Patent number: 7774469Abstract: 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: September 12, 2005Date of Patent: August 10, 2010Inventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh Doshi, David B. Lomet, Gor V. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita V. Shrivastava
-
Publication number: 20100191919Abstract: 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: ApplicationFiled: January 27, 2009Publication date: July 29, 2010Applicant: MICROSOFT CORPORATIONInventors: Philip A. Bernstein, Colin W. Reid
-
Patent number: 7711708Abstract: Maintaining versions and workspaces in an object repository is disclosed. The system provides an efficient way to manage versions of objects by only copying objects when absolutely necessary, i.e. when a property value in a particular object has changed. In addition, the system provides a mechanism to control whether or not relationships are propagated to successor versions of an object. A further aspect of the system is that resolution of objects during a relationship traversal can be customized depending on whether or not an application accessing the objects is version-aware. If the application is not version aware, a means for resolving the relationship to a particular object is provided. A still further aspect of the system is that merge behavior is parameterized. When two versions of an object are merged, flags control how conflicts in property values and relationship contents are managed.Type: GrantFiled: August 13, 2003Date of Patent: May 4, 2010Assignee: Microsoft CorporationInventors: Thomas F. Bergstraesser, Philip A. Bernstein, Shankar Pal, David R. Shutt
-
Patent number: 7677441Abstract: The subject invention pertains to transaction processing systems and methodologies that allows update transactions to read stale data copies and update a data store therewith. Each transactional operation, including a read, can carry or be associated with one or more freshness constraints or tests that specify how fresh a data copy must be in order to be read. More specifically, the subject invention provides systems and methods that extend transactions and serializability to account for out-of-date reads that are justified by freshness requirements.Type: GrantFiled: April 1, 2005Date of Patent: March 16, 2010Assignee: Microsoft CorporationInventors: Philip A. Bernstein, Raghu Ramakrishnan, Alan D. Fekete
-
Patent number: 7647298Abstract: A data access architecture may includes a mapping architecture for mapping data as may be used by an application to data as persisted in a database. Such a mapping architecture uses two types of “mapping views”—one for translating queries and the other for translating updates. A mechanism is provided that automatically generates query and update views from high-level mapping specifications. A validation may be performed to ensure that a mapping specification, when used in conjunction with a mapping architecture, allows data to “roundtrip” from the application to the database, without loss of data.Type: GrantFiled: March 16, 2007Date of Patent: January 12, 2010Assignee: Microsoft CorporationInventors: Atul Adya, Philip A. Bernstein, Sergey Melnik
-
Patent number: 7593958Abstract: Maintaining versions and workspaces in an object repository is disclosed. The system provides an efficient way to manage versions of objects by only copying objects when absolutely necessary, i.e. when a property value in a particular object has changed. In addition, the system provides a mechanism to control whether or not relationships are propagated to successor versions of an object. A further aspect of the system is that resolution of objects during a relationship traversal can be customized depending on whether or not an application accessing the objects is version-aware. If the application is not version aware, a means for resolving the relationship to a particular object is provided. A still further aspect of the system is that merge behavior is parameterized. When two versions of an object are merged, flags control how conflicts in property values and relationship contents are managed.Type: GrantFiled: February 11, 2005Date of Patent: September 22, 2009Assignee: Microsoft CorporationInventors: Thomas F. Bergstraesser, Philip A. Bernstein, Shankar Pal, David R. Shutt
-
Patent number: 7567943Abstract: A system that facilitates composition of schema mappings. A general algorithm is provided for composing a broad class of mappings, where one or both mappings are not functions, such as constraints between two schemas and the inverse of functions. A composition component performs composition on schema mappings of disparate data sources, which schema mappings can be expressed by at least one of full, embedded, and second-order dependencies, wherein the second-order dependencies need not be in source-to-target form. The algorithm for composition further includes a procedure that tests whether the composition algorithm will terminate.Type: GrantFiled: December 17, 2004Date of Patent: July 28, 2009Assignee: Microsoft CorporationInventors: Alan P Nash, Philip A Bernstein, Sergey Melnik