Patents by Inventor Pedro Celis
Pedro Celis 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: 10437662Abstract: Crash recovery of a computing system in the context in which the computing system includes a volatile memory which has contents lost due to the crash, an intermediate non-volatile memory that (together with the volatile memory) contributes to the active memory of the computing system, and non-volatile storage. The recovery occurs by identifying pages that were in the volatile memory at the time of the crash and that are in the intermediate non-volatile memory and recovers those pages into the volatile memory. In embodiments in which access speeds for the intermediate non-volatile memory may be much faster than for the storage, and in which much of the pages to be recovered are recovered from the intermediate non-volatile memory, the recovery time may be reduced.Type: GrantFiled: January 20, 2017Date of Patent: October 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Dexter Paul Bradshaw, Pedro Celis
-
Publication number: 20170132071Abstract: Crash recovery of a computing system in the context in which the computing system includes a volatile memory which has contents lost due to the crash, an intermediate non-volatile memory that (together with the volatile memory) contributes to the active memory of the computing system, and non-volatile storage. The recovery occurs by identifying pages that were in the volatile memory at the time of the crash and that are in the intermediate non-volatile memory and recovers those pages into the volatile memory. In embodiments in which access speeds for the intermediate non-volatile memory may be much faster than for the storage, and in which much of the pages to be recovered are recovered from the intermediate non-volatile memory, the recovery time may be reduced.Type: ApplicationFiled: January 20, 2017Publication date: May 11, 2017Inventors: Dexter Paul Bradshaw, Pedro Celis
-
Patent number: 9558080Abstract: Crash recovery of a computing system in the context in which the computing system includes a volatile memory which has contents lost due to the crash, an intermediate non-volatile memory that (together with the volatile memory) contributes to the active memory of the computing system, and non-volatile storage. The recovery occurs by identifying pages that were in the volatile memory at the time of the crash. For each of these pages, the recovery determines whether to recover the page into the volatile memory from either the intermediate non-volatile memory or the storage, and then performs the recovery. In embodiments in which access speeds for the intermediate non-volatile memory may be much faster than for the storage, and in which much of the pages to be recovered are recovered from the intermediate non-volatile memory, the recovery time may be reduced.Type: GrantFiled: October 31, 2013Date of Patent: January 31, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Dexter Paul Bradshaw, Pedro Celis
-
Patent number: 9235531Abstract: A buffer manager that manages blocks of memory amongst multiple levels of buffer pools. For instance, there may be a first level buffer pool for blocks in first level memory, and a second level buffer pool for blocks in second level memory. The first level buffer pool evicts blocks to the second level buffer pool if the blocks are not used above a first threshold level. The second level buffer pool evicts blocks to a yet lower level if they have not used above a second threshold level. The first level memory may be dynamic random access memory, whereas the second level memory may be storage class memory, such as a solid state disk. By using such a storage class memory, the working block set of the buffer manager may be increased without resorting to lower efficiency random block access from yet lower level memory such as disk.Type: GrantFiled: November 28, 2011Date of Patent: January 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Pedro Celis, Dexter Paul Bradshaw, Sadashivan Krishnamurthy, Georgiy I. Reynya, Chengliang Zhang, Hanumantha Rao Kodavalla
-
Patent number: 9069484Abstract: Aspects of the subject matter described herein relate to a buffer pool for a database system. In aspects, secondary memory such as solid state storage is used to extend the buffer pool of a database system. Thresholds such as hot, warm, and cold for classifying pages based on access history of the pages may be determined via a sampling algorithm. When a database system needs to free space in a buffer pool in main memory, a page may be evicted to the buffer pool in secondary memory or other storage based on how the page is classified and conditions of the secondary memory or other storage.Type: GrantFiled: March 13, 2014Date of Patent: June 30, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Chengliang Zhang, Sadashivan Krishnamurthy, Georgiy I. Reynya, Alexandre Verbitski, Pedro Celis, Dexter Paul Bradshaw
-
Publication number: 20150121126Abstract: Crash recovery of a computing system in the context in which the computing system includes a volatile memory which has contents lost due to the crash, an intermediate non-volatile memory that (together with the volatile memory) contributes to the active memory of the computing system, and non-volatile storage. The recovery occurs by identifying pages that were in the volatile memory at the time of the crash. For each of these pages, the recovery determines whether to recover the page into the volatile memory from either the intermediate non-volatile memory or the storage, and then performs the recovery. In embodiments in which access speeds for the intermediate non-volatile memory may be much faster than for the storage, and in which much of the pages to be recovered are recovered from the intermediate non-volatile memory, the recovery time may be reduced.Type: ApplicationFiled: October 31, 2013Publication date: April 30, 2015Applicant: One Microsoft WayInventors: Dexter Paul Bradshaw, Pedro Celis
-
Publication number: 20140195750Abstract: Aspects of the subject matter described herein relate to a buffer pool for a database system. In aspects, secondary memory such as solid state storage is used to extend the buffer pool of a database system. Thresholds such as hot, warm, and cold for classifying pages based on access history of the pages may be determined via a sampling algorithm. When a database system needs to free space in a buffer pool in main memory, a page may be evicted to the buffer pool in secondary memory or other storage based on how the page is classified and conditions of the secondary memory or other storage.Type: ApplicationFiled: March 13, 2014Publication date: July 10, 2014Applicant: Microsoft CorporationInventors: Chengliang Zhang, Sadashivan Krishnamurthy, Georgiy I. Reynya, Alexandre Verbitski, Pedro Celis, Dexter Paul Bradshaw
-
Patent number: 8712984Abstract: Aspects of the subject matter described herein relate to a buffer pool for a database system. In aspects, secondary memory such as solid state storage is used to extend the buffer pool of a database system. Thresholds such as hot, warm, and cold for classifying pages based on access history of the pages may be determined via a sampling algorithm. When a database system needs to free space in a buffer pool in main memory, a page may be evicted to the buffer pool in secondary memory or other storage based on how the page is classified and conditions of the secondary memory or other storage.Type: GrantFiled: March 4, 2010Date of Patent: April 29, 2014Assignee: Microsoft CorporationInventors: Chengliang Zhang, Sadashivan Krishnamurthy, Georgiy I. Reynya, Alexandre Verbitski, Pedro Celis, Dexter Paul Bradshaw
-
Publication number: 20120072652Abstract: A buffer manager that manages blocks of memory amongst multiple levels of buffer pools. For instance, there may be a first level buffer pool for blocks in first level memory, and a second level buffer pool for blocks in second level memory. The first level buffer pool evicts blocks to the second level buffer pool if the blocks are not used above a first threshold level. The second level buffer pool evicts blocks to a yet lower level if they have not used above a second threshold level. The first level memory may be dynamic random access memory, whereas the second level memory may be storage class memory, such as a solid state disk. By using such a storage class memory, the working block set of the buffer manager may be increased without resorting to lower efficiency random block access from yet lower level memory such as disk.Type: ApplicationFiled: November 28, 2011Publication date: March 22, 2012Applicant: MICROSOFT CORPORATIONInventors: Pedro Celis, Dexter Paul Bradshaw, Sadashivan Krishnamurthy, Georgiy I. Reynya, Chengliang Zhang, Hanumantha Rao Kodavalla
-
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
-
Patent number: 7469253Abstract: Flexible and efficient partitioning of a table is accomplished by hashing the key for an entry, and determining a partition for the entry by generating a sequence of pseudo-random numbers using the hashed key as the seed. As many pseudo-random numbers are generated as there are partitions available. The partition in which the entry belongs corresponds to the largest number in the sequence generated with the hashed key and the pseudo-random number generator. In this way, repartitioning of a partitioned table with a first number of partitions to a second number of partitions can be done with minimal movement and upon repartitioning, the new partition is the same partition that that would have resulted had a new partitioning been performed with the second number of partitions.Type: GrantFiled: April 1, 2003Date of Patent: December 23, 2008Assignee: Microsoft CorporationInventors: Pedro Celis, Lubor Kollar, Shailesh Vaishnavi
-
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: 7349913Abstract: Various embodiments of the present invention are directed to a storage platform comprising a database engine, a data store, an application programming interface. The data store is implemented on the database engine for storing data therein, and the data store implements a data model that supports the organization, searching, sharing, synchronization, and security of data stored in the data store. Specific types of data are described in schemas. The application programming interface enables application programs to access services and capabilities of the storage platform and to access the data described in the schemas. The storage platform supports interoperability with existing file systems, enables users and systems to synchronize data stored in different instances of the data store, and provides the ability for application programs to be notified about and to track changes made to the data in the data store.Type: GrantFiled: August 21, 2003Date of Patent: March 25, 2008Assignee: Microsoft CorporationInventors: Quentin J. Clark, Anil K. Nori, Pedro Celis, Peter M. Spiro, David G. Campbell
-
Publication number: 20070039045Abstract: A layer of abstraction for use by access control lists is provided for the process of creation and maintenance of user permissions on computer resources. First, a set of permissions can be associated with any number of computer resources. Also, computer resources can store references to any number of sets of permissions, and when use is requested, the sets of permissions are combined into a merged set that determines whether permission is granted. The extra level of abstraction results in an extra layer of information that allows individuals administering permissions to computer resources the ability to understand why they are set. The extra layer of information also results in a history of permissions for the computer resource since multiple references to sets of permissions can be stored.Type: ApplicationFiled: August 11, 2005Publication date: February 15, 2007Applicant: Microsoft CorporationInventors: Tim McKee, Andrew Bybee, Walter Smith, David De Vorchick, Pedro Celis
-
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
-
Publication number: 20050055354Abstract: Various embodiments of the present invention are directed to a computer system comprising a plurality of Items, Item Folders, and a hardware/software interface system. The Items constitute discrete storable units of information that can be manipulated by a hardware/software interface system. The Item Folders, which are Items themselves, constitute an organizational structure for Items. Each Item belongs to at least one Item Folder, and Items may belong to more than one Item Folder. However, an Item is not necessarily owned by any particular Item Folder, such that the deletion of said Item Folder does not automatically result in the deletion of said Item. Instead, an Item might be automatically deleted only when it no longer belongs to any Item Folder or, alternately, and Item may be automatically deleted when it is a member of only one Item Folder and that Item Folder is deleted.Type: ApplicationFiled: August 21, 2003Publication date: March 10, 2005Inventors: J. Thompson, Kim Cameron, Walter Smith, Darren Shakib, Nathaniel Ballou, Pedro Celis
-
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: 20050050054Abstract: Various embodiments of the present invention are directed to a storage platform comprising a database engine, a data store, an application programming interface. The data store is implemented on the database engine for storing data therein, and the data store implements a data model that supports the organization, searching, sharing, synchronization, and security of data stored in the data store. Specific types of data are described in schemas. The application programming interface enables application programs to access services and capabilities of the storage platform and to access the data described in the schemas. The storage platform supports interoperability with existing file systems, enables users and systems to synchronize data stored in different instances of the data store, and provides the ability for application programs to be notified about and to track changes made to the data in the data store.Type: ApplicationFiled: August 21, 2003Publication date: March 3, 2005Inventors: Quentin Clark, Anil Nori, Pedro Celis, Peter Spiro, David Campbell
-
Publication number: 20040199533Abstract: Flexible and efficient partitioning of a table is accomplished by hashing the key for an entry, and determining a partition for the entry by generating a sequence of pseudo-random numbers using the hashed key as the seed. As many pseudo-random numbers are generated as there are partitions available. The partition in which the entry belongs corresponds to the largest number in the sequence generated with the hashed key and the pseudo-random number generator. In this way, repartitioning of a partitioned table with a first number of partitions to a second number of partitions can be done with minimal movement and upon repartitioning, the new partition is the same partition that would have been implemented had the identical to the partition that would result if a new partitioning was performed with the second number of partitions.Type: ApplicationFiled: April 1, 2003Publication date: October 7, 2004Applicant: Microsoft CorporationInventors: Pedro Celis, Lubor Kollar, Shailesh Vaishnavi
-
Patent number: 6341302Abstract: In a system for executing database queries, a directed graph of logically interconnected tasks represents an execution plan for executing a specified database query. A pair of queues are stored in a computer memory for each pair of interconnected tasks in the directed graph. One of the queues in each pair is a down queue for sending requests from a parent task to a child task, and the other is an up queue for sending replies from the child task to the parent task. Each queue is a circular buffer and includes a head pointer that points to a next location in the queue to be read, and a tail pointer that points to a next location in the queue in which data can be written. Each task checks that a queue is not full before writing data into that queue, and checks that the sibling queue is not empty before reading data from the sibling queue.Type: GrantFiled: September 24, 1998Date of Patent: January 22, 2002Assignee: Compaq Information Technologies Group, LPInventor: Pedro Celis