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: 9323693
    Abstract: 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: Grant
    Filed: January 4, 2013
    Date of Patent: April 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
  • Patent number: 9311225
    Abstract: 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: Grant
    Filed: January 4, 2013
    Date of Patent: April 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
  • Patent number: 9189446
    Abstract: 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: Grant
    Filed: January 4, 2013
    Date of Patent: November 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 9104534
    Abstract: 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: Grant
    Filed: February 11, 2013
    Date of Patent: August 11, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
  • Publication number: 20140195739
    Abstract: 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: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
  • Publication number: 20140195632
    Abstract: 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: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 20140195746
    Abstract: 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: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
  • Patent number: 8375227
    Abstract: 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: Grant
    Filed: February 2, 2009
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
  • Patent number: 7917499
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: March 29, 2011
    Assignee: Microsoft Corporation
    Inventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
  • Patent number: 7853961
    Abstract: 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: Grant
    Filed: June 30, 2005
    Date of Patent: December 14, 2010
    Assignee: Microsoft Corporation
    Inventors: Anil Kumar Nori, Sameet H. Agarwal, Jose A. Blakeley, Pedro Celis, Praveen Seshadri, Soner Terek, Arthur T. Whitten, Dale Woodford
  • Publication number: 20100199109
    Abstract: 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: Application
    Filed: February 2, 2009
    Publication date: August 5, 2010
    Applicant: Microsoft Corporation
    Inventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
  • Patent number: 7734618
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
  • Patent number: 7702637
    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: Grant
    Filed: June 15, 2005
    Date of Patent: April 20, 2010
    Assignee: Microsoft Corporation
    Inventors: F. Soner Terek, Ajay Kalhan, Nagavamsi Ponnekanti, Srikumar Rangarajan, Michael J. Zwilling
  • Patent number: 7584458
    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: Grant
    Filed: October 2, 2003
    Date of Patent: September 1, 2009
    Assignee: Microsoft Corporation
    Inventors: 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: 7493352
    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: Grant
    Filed: August 24, 2004
    Date of Patent: February 17, 2009
    Assignee: Microsoft Corporation
    Inventors: 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: 7428546
    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: Grant
    Filed: August 21, 2003
    Date of Patent: September 23, 2008
    Assignee: Microsoft Corporation
    Inventors: Anil K. Nori, Sameet Agarwal, J. Patrick Thompson, Pedro Celis, David G. Campbell, F. Soner Terek
  • Patent number: 7421445
    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: Grant
    Filed: August 24, 2004
    Date of Patent: September 2, 2008
    Assignee: Microsoft Corporation
    Inventors: 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: 20080005092
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
  • Publication number: 20080005097
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
  • Publication number: 20060195476
    Abstract: 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: Application
    Filed: June 30, 2005
    Publication date: August 31, 2006
    Applicant: Microsoft Corporation
    Inventors: Anil Nori, Sameet Agarwal, Jose Blakeley, Pedro Celis, Praveen Seshadri, Soner Terek, Arthur Whitten, Dale Woodford