Patents by Inventor F. Terek

F. Terek 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: 7428543
    Abstract: A mechanism is described for allowing third party client applications to affect how high-level document commands are implemented in a database. After a high-level document command meeting certain criteria is received in a database management system, the system identifies one or more third party client application that are to be notified when such high-level document commands are received. The client applications are then notified allowing the client application to return implementation instructions which are used by the database management system in determining how to implement the high-level document command. The instruction may be to prevent implementation altogether, to somehow change the implementation, or even to perform high-level document commands in addition to the original high-level document command.
    Type: Grant
    Filed: December 16, 2005
    Date of Patent: September 23, 2008
    Assignee: Microsoft Corporation
    Inventors: Jon B. Avner, Soner F. Terek
  • Patent number: 7363322
    Abstract: A mechanism is described for the reliable notification to client applications of the implementation of predefined high-level document commands in a database. The database management system is issued a number of high-level document commands such as “move electronic mail message” or “add folder” which are to be implemented in the underlying database. As each high-level document command is implemented, an entry representing the high-level document command is set in a notification table stored in a persistent memory such as the database. The appropriate notification is then dispatched to any subscribing client applications. The client application then acknowledges to the database application that the notification has been received. In response, the entry is deleted in the notification table in the database. If the database management system were to fail, the system would check the notification table to see what notification it should send upon restarting.
    Type: Grant
    Filed: January 21, 2005
    Date of Patent: April 22, 2008
    Assignee: Microsoft Corporation
    Inventors: Jon B. Avner, Soner F. Terek
  • Patent number: 6993528
    Abstract: A mechanism is described for allowing third party client applications to affect how high-level document commands are implemented in a database. After a high-level document command meeting certain criteria is received in a database management system, the system identifies one or more third party client application that are to be notified when such high-level document commands are received. The client applications are then notified allowing the client application to return implementation instructions which are used by the database management system in determining how to implement the high-level document command. The instruction may be to prevent implementation altogether, to somehow change the implementation, or even to perform high-level document commands in addition to the original high-level document command.
    Type: Grant
    Filed: October 4, 2000
    Date of Patent: January 31, 2006
    Assignee: Microsoft Corporation
    Inventors: Jon B. Aver, Soner F. Terek
  • Publication number: 20050234986
    Abstract: A method and system for fragment-based serialization places one or more object members in fragments. Fragments may comprise a header and a payload. A header can provide useful information about the fragment, such as an indication of fragment type and an indication of fragment length. A payload may comprise one or more members of an object. Primitive members may be stored in a Binary Fragment with a record format payload. LOB and FS members may be stored in fragments that have a Value Type field for setting forth additional properties of the fragment. Collections may be stored in a series of fragments, a first fragment to indicate a start of a collection, one or more second fragments to serialize collection elements, and a Terminator Fragment to indicate the end of a collection. Fragment-serialized objects minimize storage overhead while providing fast instantiation and low-cost location and updating.
    Type: Application
    Filed: April 9, 2004
    Publication date: October 20, 2005
    Applicant: Microsoft Corporation
    Inventors: F. Terek, Ajay Kalhan, Nagavamsi Ponnekanti, Srikumar Rangarajan, Michael Zwilling
  • Publication number: 20050234868
    Abstract: A method and system for fragment-based serialization places one or more object members in fragments. Fragments may comprise a header and a payload. A header can provide useful information about the fragment, such as an indication of fragment type and an indication of fragment length. A payload may comprise one or more members of an object. Primitive members may be stored in a Binary Fragment with a record format payload. LOB and FS members may be stored in fragments that have a Value Type field for setting forth additional properties of the fragment. Collections may be stored in a series of fragments, a first fragment to indicate a start of a collection, one or more second fragments to serialize collection elements, and a Terminator Fragment to indicate the end of a collection. Fragment-serialized objects minimize storage overhead while providing fast instantiation and low-cost location and updating.
    Type: Application
    Filed: June 15, 2005
    Publication date: October 20, 2005
    Applicant: Microsoft Corporation
    Inventors: F. Terek, Ajay Kalhan, Nagavamsi Ponnekanti, Srikumar Rangarajan, Michael Zwilling
  • Publication number: 20050076331
    Abstract: Techniques and tools for implementing a source code annotation language are described. In one aspect, keywords are added to a function interface to define a contract for the function independent of function call context. In another aspect, annotations are inserted at global variables, formal parameters, return values, or user-defined types. The annotations include, for example, properties and qualifiers. A property can indicate, for example, a characteristic of a buffer. In another aspect, an annotation indicates that a value has usability properties sufficient to allow a function to rely on the value, where the usability properties depend on value type.
    Type: Application
    Filed: October 2, 2003
    Publication date: April 7, 2005
    Inventors: Manuvir Das, Manuel Fahndrich, Ramanathan Venkatapathy, Daniel Weise, William Hudson, Sameet Agarwal, William Shihara, Hannes Ruescher, Spencer Low, F. Terek
  • Patent number: 6868418
    Abstract: A mechanism is described for the reliable notification to client applications of the implementation of predefined high-level document commands in a database. The database management system is issued a number of high-level document commands such as “move electronic mail message” or “add folder” which are to be implemented in the underlying database. As each high-level document command is implemented, an entry representing the high-level document command is set in a notification table stored in a persistent memory such as the database. This entry may be set in the same atomic transaction as the other table updates needed to implement the high-level document command. The appropriate notification is then dispatched to any subscribing client applications. The client application then acknowledges to the database application that the notification has been received. In response, the entry is deleted in the notification table in the database.
    Type: Grant
    Filed: October 4, 2000
    Date of Patent: March 15, 2005
    Assignee: Microsoft Corporation
    Inventors: Jon B. Avner, Soner F. Terek
  • Publication number: 20050049993
    Abstract: Various embodiments of the present invention are directed to a data store comprising Items, Elements, and Relationships. An Item is a unit of data storable in a data store and further comprises said Element and said Relationship. An Element is an instance of a type comprising one or more fields. A Relationship is a link between at least two Items. The data store further comprising a Core Schema to define a set of Core Items by which a hardware/software interface system understands and directly processes said set of Core Items in a predetermined and predictable way. The Core Items are derived (directly or indirectly) from a common single Base Item which, in turn, is a foundational Item in a Base Schema.
    Type: Application
    Filed: August 21, 2003
    Publication date: March 3, 2005
    Inventors: Anil Nori, Sameet Agarwal, J. Thompson, Pedro Celis, David Campbell, F. Terek
  • Publication number: 20050027743
    Abstract: A technique for representing the structure of hierarchically-organized data in a non-hierarchical data structure, such as a relation. The hierarchically-organized data is represented as a tree, and each node in the tree is assigned a position identifier that represents both the depth level of the node within the hierarchy, and its ancestor/descendant relationship to other nodes. The data represented by each node, as well as its position identifier, is stored in a row of a relational database, thereby capturing the hierarchical structure of the data in such relational database. A technique is provided for the compressed storage of position identifiers in a format that allows an efficient bytewise comparison of position identifiers to determine relative order and ancestry.
    Type: Application
    Filed: August 24, 2004
    Publication date: February 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Patrick O'Neil, Elizabeth O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose Blakeley, Nigel Westbury, Sameet Agarwal, F. Terek
  • Publication number: 20050027728
    Abstract: A technique for representing the structure of hierarchically-organized data in a non-hierarchical data structure, such as a relation. The hierarchically-organized data is represented as a tree, and each node in the tree is assigned a position identifier that represents both the depth level of the node within the hierarchy, and its ancestor/descendant relationship to other nodes. The data represented by each node, as well as its position identifier, is stored in a row of a relational database, thereby capturing the hierarchical structure of the data in such relational database. A technique is provided for the compressed storage of position identifiers in a format that allows an efficient bytewise comparison of position identifiers to determine relative order and ancestry.
    Type: Application
    Filed: August 24, 2004
    Publication date: February 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Patrick O'Neil, Elizabeth O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose Blakeley, Nigel Westbury, Sameet Agarwal, F. Terek
  • Publication number: 20050021549
    Abstract: A technique for representing the structure of hierarchically-organized data in a non-hierarchical data structure, such as a relation. The hierarchically-organized data is represented as a tree, and each node in the tree is assigned a position identifier that represents both the depth level of the node within the hierarchy, and its ancestor/descendant relationship to other nodes. The data represented by each node, as well as its position identifier, is stored in a row of a relational database, thereby capturing the hierarchical structure of the data in such relational database. A technique is provided for the compressed storage of position identifiers in a format that allows an efficient bytewise comparison of position identifiers to determine relative order and ancestry.
    Type: Application
    Filed: August 24, 2004
    Publication date: January 27, 2005
    Applicant: Microsoft Corporation
    Inventors: Patrick O'Neil, Elizabeth O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose Blakeley, Nigel Westbury, Sameet Agarwal, F. Terek