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: 20120265734
    Abstract: 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: Application
    Filed: April 14, 2011
    Publication date: October 18, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jorge A. Pérez, James F. Terwilliger, Philip A. Bernstein
  • Patent number: 8121980
    Abstract: 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: Grant
    Filed: February 13, 2009
    Date of Patent: February 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Colin Wilson Reid, Philip 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: 20110314043
    Abstract: 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: Application
    Filed: June 17, 2010
    Publication date: December 22, 2011
    Applicant: Microsoft Corporation
    Inventors: Philip A. Bernstein, Sergey Melnik, James F. Terwilliger, Ion Vasillian
  • Publication number: 20110307501
    Abstract: 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: Application
    Filed: June 15, 2010
    Publication date: December 15, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: James F. Terwilliger, Philip A. Bernstein, Aditya Unnithan
  • Publication number: 20110295969
    Abstract: 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: Application
    Filed: May 25, 2010
    Publication date: December 1, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Philip A. Bernstein, Dahlia Malkhi, Colin Wilson Reid, Mahesh Balakrishnan
  • Publication number: 20110289118
    Abstract: 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: Application
    Filed: May 20, 2010
    Publication date: November 24, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Liang Chen, Nikita Shamgunov, Philip A. Bernstein, Michael Rys, James F. Terwilliger, Peter Alan Carlin, Dragan Tomic
  • Publication number: 20110238813
    Abstract: 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: Application
    Filed: June 8, 2011
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: 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: 20110238842
    Abstract: 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: Application
    Filed: June 8, 2011
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: 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: 7984155
    Abstract: 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: Grant
    Filed: June 14, 2010
    Date of Patent: July 19, 2011
    Assignee: Microsoft Corporation
    Inventors: 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: 20100274821
    Abstract: 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: Application
    Filed: April 22, 2009
    Publication date: October 28, 2010
    Applicant: Microsoft Corporation
    Inventors: Philip A. Bernstein, Arnab Nandi
  • Publication number: 20100268876
    Abstract: 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: Application
    Filed: April 20, 2009
    Publication date: October 21, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Colin Reid, Philip A. Bernstein
  • Publication number: 20100250750
    Abstract: 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: Application
    Filed: June 14, 2010
    Publication date: September 30, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 7774469
    Abstract: 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: Grant
    Filed: September 12, 2005
    Date of Patent: August 10, 2010
    Inventors: 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: 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
  • Patent number: 7711708
    Abstract: 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: Grant
    Filed: August 13, 2003
    Date of Patent: May 4, 2010
    Assignee: Microsoft Corporation
    Inventors: Thomas F. Bergstraesser, Philip A. Bernstein, Shankar Pal, David R. Shutt
  • Patent number: 7677441
    Abstract: 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: Grant
    Filed: April 1, 2005
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Philip A. Bernstein, Raghu Ramakrishnan, Alan D. Fekete
  • Patent number: 7647298
    Abstract: 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: Grant
    Filed: March 16, 2007
    Date of Patent: January 12, 2010
    Assignee: Microsoft Corporation
    Inventors: Atul Adya, Philip A. Bernstein, Sergey Melnik
  • Patent number: 7593958
    Abstract: 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: Grant
    Filed: February 11, 2005
    Date of Patent: September 22, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas F. Bergstraesser, Philip A. Bernstein, Shankar Pal, David R. Shutt
  • Patent number: 7567943
    Abstract: 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: Grant
    Filed: December 17, 2004
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventors: Alan P Nash, Philip A Bernstein, Sergey Melnik