Patents by Inventor Soner Terek
Soner 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: 9323693Abstract: Caching of an immutable buffer that has its data and address prevented from changing during the lifetime of the immutable buffer. A first computing entity maintains a cache of the immutable buffer and has a strong reference to the immutable buffer. So long as any entity has a strong reference to the immutable buffer, the immutable buffer is guaranteed to continue to exist for the duration of the strong reference. A second computing entity communicates with the first computing entity to obtain a strong reference to the immutable buffer and thereafter read data from the immutable buffer. Upon reading the data from the cache, the second computing entity demotes the strong reference to a weak reference to the immutable buffer. A weak reference to the immutable buffer does not guarantee that the immutable buffer will continue to exist for the duration of the weak reference.Type: GrantFiled: January 4, 2013Date of Patent: April 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
-
Patent number: 9311225Abstract: Communicating between an application and a hardware device. A method includes an application writing data to host physical memory using an application view of the memory. The method further includes mapping the data in the physical memory to a hardware driver view, usable by a hardware driver, without needing to copy the data to a different physical storage location. The method further includes mapping the data to a hardware accessible view accessible by a hardware device without needing to copy the data to a different physical storage location.Type: GrantFiled: January 4, 2013Date of Patent: April 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
-
Patent number: 9189446Abstract: The environment and use of an immutable buffer. A computing entity acquires data or generates data and populates the data into the buffer, after which the buffer is classified as immutable. The classification protects the data populated within the immutable buffer from changing during the lifetime of the immutable buffer, and also protects the immutable buffer from having its physical address changed during the lifetime of the immutable buffer. As different computing entities consume data from the immutable buffer, they do so through views provided by a view providing entity. The immutable buffer architecture may also be used for streaming data in which each component of the streaming data uses an immutable buffer. Accordingly, different computing entities may view the immutable data differently without having to actually copy the data.Type: GrantFiled: January 4, 2013Date of Patent: November 17, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jason Todd Hunter, Jinsong Yu, Martin Taillefer, Gregory Michael Neverov, Dmitry Kakurin, Ahmed Hassan Mohamed, John J. Duffy, Christopher Wellington Brumme, F. Soner Terek
-
Patent number: 9104534Abstract: Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.Type: GrantFiled: February 11, 2013Date of Patent: August 11, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
-
Publication number: 20140195739Abstract: Caching of an immutable buffer that has its data and address prevented from changing during the lifetime of the immutable buffer. A first computing entity maintains a cache of the immutable buffer and has a strong reference to the immutable buffer. So long as any entity has a strong reference to the immutable buffer, the immutable buffer is guaranteed to continue to exist for the duration of the strong reference. A second computing entity communicates with the first computing entity to obtain a strong reference to the immutable buffer and thereafter read data from the immutable buffer. Upon reading the data from the cache, the second computing entity demotes the strong reference to a weak reference to the immutable buffer. A weak reference to the immutable buffer does not guarantee that the immutable buffer will continue to exist for the duration of the weak reference.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: Microsoft CorporationInventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
-
Publication number: 20140195632Abstract: The environment and use of an immutable buffer. A computing entity acquires data or generates data and populates the data into the buffer, after which the buffer is classified as immutable. The classification protects the data populated within the immutable buffer from changing during the lifetime of the immutable buffer, and also protects the immutable buffer from having its physical address changed during the lifetime of the immutable buffer. As different computing entities consume data from the immutable buffer, they do so through views provided by a view providing entity. The immutable buffer architecture may also be used for streaming data in which each component of the streaming data uses an immutable buffer. Accordingly, different computing entities may view the immutable data differently without having to actually copy the data.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Jason Todd Hunter, Jinsong Yu, Martin Taillefer, Gregory Michael Neverov, Dmitry Kakurin, Ahmed Hassan Mohamed, John J. Duffy, Christopher Wellington Brumme, F. Soner Terek
-
Publication number: 20140195746Abstract: Communicating between an application and a hardware device. A method includes an application writing data to host physical memory using an application view of the memory. The method further includes mapping the data in the physical memory to a hardware driver view, usable by a hardware driver, without needing to copy the data to a different physical storage location.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
-
Patent number: 8375227Abstract: Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.Type: GrantFiled: February 2, 2009Date of Patent: February 12, 2013Assignee: Microsoft CorporationInventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
-
Patent number: 7917499Abstract: An index update component updates an index of a database in response to a query to the database referencing the index. An index control record tracks the last time the index was referenced and state of the index compared to the state of the database. An index deletion component deletes indexes in the database that have not been referenced for a period of time.Type: GrantFiled: June 30, 2006Date of Patent: March 29, 2011Assignee: Microsoft CorporationInventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
-
Patent number: 7853961Abstract: Data management between a common data store and multiple applications of multiple disparate application frameworks. A data storage component is provided that facilitates the storage of data, which data includes structured, semi-structured, and unstructured data. A common data platform interfaces to the data storage component to provide data services accessible by a plurality of disparate application frameworks, which data services allow a corresponding application of the different frameworks to access the data.Type: GrantFiled: June 30, 2005Date of Patent: December 14, 2010Assignee: Microsoft CorporationInventors: Anil Kumar Nori, Sameet H. Agarwal, Jose A. Blakeley, Pedro Celis, Praveen Seshadri, Soner Terek, Arthur T. Whitten, Dale Woodford
-
Publication number: 20100199109Abstract: Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.Type: ApplicationFiled: February 2, 2009Publication date: August 5, 2010Applicant: Microsoft CorporationInventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
-
Patent number: 7734618Abstract: A request logging component formulates an index that could have been utilized by a query to a database, if the index had existed. The request logging component stores the formulated query as an unsatisfied request. The index creation component creates the index of the database from the unsatisfied request.Type: GrantFiled: June 30, 2006Date of Patent: June 8, 2010Assignee: Microsoft CorporationInventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
-
Patent number: 7702637Abstract: 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: GrantFiled: June 15, 2005Date of Patent: April 20, 2010Assignee: Microsoft CorporationInventors: F. Soner Terek, Ajay Kalhan, Nagavamsi Ponnekanti, Srikumar Rangarajan, Michael J. Zwilling
-
Patent number: 7584458Abstract: 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: GrantFiled: October 2, 2003Date of Patent: September 1, 2009Assignee: Microsoft CorporationInventors: Manuvir Das, Manuel Alfred Fahndrich, Ramanathan Venkatapathy, Daniel W. Weise, William Hunter Hudson, Sameet Harishanker Agarwal, William Hiroaki Shihara, Hannes Ruescher, Spencer Wong Low, F. Soner Terek
-
Patent number: 7493352Abstract: 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: GrantFiled: August 24, 2004Date of Patent: February 17, 2009Assignee: Microsoft CorporationInventors: Patrick Eugene O'Neil, Elizabeth Jean O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose A. Blakeley, Nigel Clifton Westbury, Sameet Agarwal, F. Soner Terek
-
Patent number: 7428546Abstract: 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: GrantFiled: August 21, 2003Date of Patent: September 23, 2008Assignee: Microsoft CorporationInventors: Anil K. Nori, Sameet Agarwal, J. Patrick Thompson, Pedro Celis, David G. Campbell, F. Soner Terek
-
Patent number: 7421445Abstract: 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: GrantFiled: August 24, 2004Date of Patent: September 2, 2008Assignee: Microsoft CorporationInventors: Patrick Eugene O'Neil, Elizabeth Jean O'Neil, Shankar Pal, Gideon Schaller, Istvan Cseri, Jose A. Blakeley, Nigel Clifton Westbury, Sameet Agarwal, F. Soner Terek
-
Publication number: 20080005092Abstract: A request logging component formulates an index that could have been utilized by a query to a database, if the index had existed. The request logging component stores the formulated query as an unsatisfied request. The index creation component creates the index of the database from the unsatisfied request.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: MICROSOFT CORPORATIONInventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
-
Publication number: 20080005097Abstract: An index update component updates an index of a database in response to a query to the database referencing the index. An index control record tracks the last time the index was referenced and state of the index compared to the state of the database. An index deletion component deletes indexes in the database that have not been referenced for a period of time.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Applicant: MICROSOFT CORPORATIONInventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
-
Publication number: 20060195476Abstract: Data management between a common data store and multiple applications of multiple disparate application frameworks. A data storage component is provided that facilitates the storage of data, which data includes structured, semi-structured, and unstructured data. A common data platform interfaces to the data storage component to provide data services accessible by a plurality of disparate application frameworks, which data services allow a corresponding application of the different frameworks to access the data.Type: ApplicationFiled: June 30, 2005Publication date: August 31, 2006Applicant: Microsoft CorporationInventors: Anil Nori, Sameet Agarwal, Jose Blakeley, Pedro Celis, Praveen Seshadri, Soner Terek, Arthur Whitten, Dale Woodford