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: 7428543Abstract: 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: GrantFiled: December 16, 2005Date of Patent: September 23, 2008Assignee: Microsoft CorporationInventors: Jon B. Avner, Soner F. Terek
-
Patent number: 7363322Abstract: 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: GrantFiled: January 21, 2005Date of Patent: April 22, 2008Assignee: Microsoft CorporationInventors: Jon B. Avner, Soner F. Terek
-
Patent number: 6993528Abstract: 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: GrantFiled: October 4, 2000Date of Patent: January 31, 2006Assignee: Microsoft CorporationInventors: Jon B. Aver, Soner F. Terek
-
Publication number: 20050234986Abstract: 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: ApplicationFiled: April 9, 2004Publication date: October 20, 2005Applicant: Microsoft CorporationInventors: F. Terek, Ajay Kalhan, Nagavamsi Ponnekanti, Srikumar Rangarajan, Michael Zwilling
-
Publication number: 20050234868Abstract: 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: ApplicationFiled: June 15, 2005Publication date: October 20, 2005Applicant: Microsoft CorporationInventors: F. Terek, Ajay Kalhan, Nagavamsi Ponnekanti, Srikumar Rangarajan, Michael Zwilling
-
Publication number: 20050076331Abstract: 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: ApplicationFiled: October 2, 2003Publication date: April 7, 2005Inventors: Manuvir Das, Manuel Fahndrich, Ramanathan Venkatapathy, Daniel Weise, William Hudson, Sameet Agarwal, William Shihara, Hannes Ruescher, Spencer Low, F. Terek
-
Patent number: 6868418Abstract: 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: GrantFiled: October 4, 2000Date of Patent: March 15, 2005Assignee: Microsoft CorporationInventors: Jon B. Avner, Soner F. Terek
-
Publication number: 20050049993Abstract: 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: ApplicationFiled: August 21, 2003Publication date: March 3, 2005Inventors: Anil Nori, Sameet Agarwal, J. Thompson, Pedro Celis, David Campbell, F. Terek
-
Publication number: 20050027743Abstract: 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: ApplicationFiled: August 24, 2004Publication date: February 3, 2005Applicant: Microsoft CorporationInventors: Patrick O'Neil, Elizabeth O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose Blakeley, Nigel Westbury, Sameet Agarwal, F. Terek
-
Publication number: 20050027728Abstract: 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: ApplicationFiled: August 24, 2004Publication date: February 3, 2005Applicant: Microsoft CorporationInventors: Patrick O'Neil, Elizabeth O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose Blakeley, Nigel Westbury, Sameet Agarwal, F. Terek
-
Publication number: 20050021549Abstract: 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: ApplicationFiled: August 24, 2004Publication date: January 27, 2005Applicant: Microsoft CorporationInventors: Patrick O'Neil, Elizabeth O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose Blakeley, Nigel Westbury, Sameet Agarwal, F. Terek