Patents by Inventor Artem Oks
Artem Oks 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: 10956193Abstract: Moving scheduling of processor time for virtual processors (VPs) out of a virtualization hypervisor. A host operating system schedules VP (virtual processor) processor time. The host operating system creates VP backing threads, one for each VP of each virtual machine. There is a one-to-one mapping between each VP thread in the host operating system and each VP in the hypervisor. When a VP thread is dispatched for a slice of processor time, the host operating system calls into the hypervisor to have the hypervisor start executing the VP, and the hypervisor may perform a processor context switch for the VP. Of note is the security separation between VP scheduling and VP context switching. The hypervisor manages VP context switching in kernel mode while VP scheduling is performed in user mode. There is a security/interface boundary between the unit that schedules VP processor time and the hypervisor.Type: GrantFiled: March 31, 2017Date of Patent: March 23, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Artem Oks, David Hepkin
-
Patent number: 10860556Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: GrantFiled: January 10, 2019Date of Patent: December 8, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Publication number: 20190205291Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: ApplicationFiled: January 10, 2019Publication date: July 4, 2019Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Patent number: 10216777Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: GrantFiled: January 16, 2017Date of Patent: February 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Publication number: 20180285135Abstract: Embodiments relate to moving scheduling of processor time for virtual processors (VPs) out of a virtualization hypervisor. In one embodiment, a host operating system schedules VP processor time. The host operating system creates VP backing threads, one for each VP of each VM. There is a one-to-one mapping between each VP thread in the host operating system and each VP in the hypervisor. When a VP thread is dispatched for a slice of processor time, the host operating system calls into the hypervisor to have the hypervisor start executing the VP, and the hypervisor may perform a processor context switch for the VP. Of note is the security separation between VP scheduling and VP context switching. The hypervisor manages VP context switching in kernel mode while VP scheduling is performed in user mode. There is a security/interface boundary between the unit that schedules VP processor time and the hypervisor.Type: ApplicationFiled: March 31, 2017Publication date: October 4, 2018Inventors: Artem Oks, David Hepkin
-
Publication number: 20170124128Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: ApplicationFiled: January 16, 2017Publication date: May 4, 2017Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Patent number: 9547677Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: GrantFiled: March 18, 2015Date of Patent: January 17, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Publication number: 20150193485Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: ApplicationFiled: March 18, 2015Publication date: July 9, 2015Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, RicharAleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Patent number: 8990216Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: GrantFiled: March 19, 2010Date of Patent: March 24, 2015Assignee: Microsoft CorporationInventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Patent number: 8756192Abstract: A method for distributing one or more conflicting data changes. The method includes extracting data changes from the source site log, and applying the data changes to the destination site. The method then includes identifying one or more constraints for each data change and generating a hash value for each identified constraint. The method then dispatches the data changes into a plurality of streams based on the hash values. The hash values are used to identify conflicting data changes and determine how the data changes should be sent through the plurality of streams such that data changes are applied in parallel in the plurality of streams without violating any causal consistency constraints. The method then includes committing data changes in the plurality of streams to the destination site in a single transaction, creating a consistent transactional view.Type: GrantFiled: January 7, 2010Date of Patent: June 17, 2014Assignee: Microsoft CorporationInventors: Rui Wang, Michael Habben, Qun Guo, Artem Oks
-
Publication number: 20110282850Abstract: A database management system having a database component, which includes a lock manager, and a filesystem component. The filesystem component is configured to: generate a mapping between one or more filesystem access modes, one or more filesystem sharing modes and one or more database locks, receive a request from a filesystem stack to perform one or more actions on data in a database, identify a filesystem access mode and a filesystem share mode of the request, determine which one of the database locks corresponds to the filesystem access mode and the filesystem share mode of the request based on the mapping, and receive a notification lock on the data from the lock manager when no other database locks conflict with the notification lock, wherein the notification lock corresponds to the one of the database locks.Type: ApplicationFiled: May 11, 2010Publication date: November 17, 2011Applicant: Microsoft CorporationInventors: Vaibhav Kamra, Pradeep Madhavarapu, Cristian Diaconu, Jun Fang, Srini Acharya, Michael Warmington, Maciej Plaza, Artem Oks, Sankhyayan Debnath
-
Publication number: 20110231403Abstract: Architecture that includes an index creation algorithm that utilizes available resources and dynamically adjusts to successfully scale with increased resources and be able to do so for any data distribution. The resources can be processing resources, memory, and/or input/output, for example. A finer level of granularity, called a segment, is utilized to process tuples in a partition while creating an index. The segment also aligns with compression techniques for the index. By choosing an appropriate size for a segment and using load balancing the overall time for index creation can be reduced. Each segment can then be processed by a single thread thereby limiting segment skew. Skew is further limited by breaking down the work done by a thread into parallelizable stages.Type: ApplicationFiled: March 19, 2010Publication date: September 22, 2011Applicant: MICROSOFT CORPORATIONInventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
-
Publication number: 20110167038Abstract: A method for distributing one or more conflicting data changes. The method includes extracting data changes from the source site log, and applying the data changes to the destination site. The method then includes identifying one or more constraints for each data change and generating a hash value for each identified constraint. The method then dispatches the data changes into a plurality of streams based on the hash values. The hash values are used to identify conflicting data changes and determine how the data changes should be sent through the plurality of streams such that data changes are applied in parallel in the plurality of streams without violating any causal consistency constraints. The method then includes committing data changes in the plurality of streams to the destination site in a single transaction, creating a consistent transactional view.Type: ApplicationFiled: January 7, 2010Publication date: July 7, 2011Applicant: MICROSOFT CORPORATIONInventors: Rui Wang, Michael Habben, Qun Guo, Artem Oks
-
Patent number: 7689607Abstract: Systems and methods are presented that facilitate automatic database backup and restore for databases resident in personal computing devices, and which are transparent to a user, utilizing database page mirroring. Modifications to a data page in a data file can be validated and written to a backup, or mirror, database and then subsequently written to an original database after a predetermined time. An I/O latch on a mirrored data page can be limited to a duration of a single I/O write operation to facilitate sequential data page writing to each of the databases while mitigating potential for both databases to be written simultaneously, which can detrimentally affect data quality during a recovery operation.Type: GrantFiled: April 15, 2005Date of Patent: March 30, 2010Assignee: Microsoft CorporationInventors: Artem Oks, Hanumantha R Kodavalla, Martin J Sleeman
-
Publication number: 20070073764Abstract: The present invention relates generally to database and file system management and, more particularly, to automatic database and file system maintenance and repair to ensure data reliability. Various aspects of the present invention relate to responding and correcting data corruptions at a data page level for all data page types, as well as to recovery (including rebuild or restore operations) for various scenarios including, without limitation, index page corruptions (clustered and non-clustered), data page corruptions, and page corruptions in the log file.Type: ApplicationFiled: November 28, 2006Publication date: March 29, 2007Applicant: Microsoft CorporationInventors: Artem Oks, Hanumantha Kodavalla, Martin Sleeman
-
Publication number: 20060235909Abstract: Systems and methods are disclosed herein that facilitate automatic database backup and restore for databases resident in personal computing devices, and which are transparent to a user, utilizing database page mirroring. Modifications to a data page in a data file can be validated and written to a backup, or mirror, database and then subsequently written to an original database after a predetermined time. An I/O latch on a mirrored data page can be limited to a duration of a single I/O write operation to facilitate sequential data page writing to each of the databases while mitigating potential for both databases to be written simultaneously, which can detrimentally affect data quality during a recovery operation.Type: ApplicationFiled: April 15, 2005Publication date: October 19, 2006Applicant: Microsoft CorporationInventors: Artem Oks, Hanumantha Kodavalla, Martin Sleeman
-
Publication number: 20060224636Abstract: Systems and methods are disclosed that facilitate providing page-level database restore functionality upon detection of a corruption event. Updates to a data page in a database can trigger generation of a snapshot of the data page, and an update log can be maintained that stores information related to page updates. Subsequent snapshots can be generated at predetermined intervals and can trigger truncation of a log segment and initiation of a new log segment. Upon detection of page corruption, a most-recent uncorrupt snapshot of the corrupt page can be identified, copied to the location of the corrupt page in the database, and modified according to the log segment associated with the uncorrupt snapshot to make the page current as of the corrupting event, all of which can be performed to restore the database without having to take the database offline.Type: ApplicationFiled: April 5, 2005Publication date: October 5, 2006Applicant: Microsoft CorporationInventors: Vishal Kathuria, Michael Zwilling, Hanumantha Kodavalla, Steven Schmidt, Martin Sleeman, Rajeev Rajan, Artem Oks
-
Publication number: 20060206544Abstract: An automatic database backup and restoration system comprises an interface component that receives statements relating to backing up at least a portion of a first database, the original database resident upon a consumer computing device. A backup component associated with the interface component automatically copies at least the portion of the first database and writes the copied portion to a backup database, the backup database is a full backup of the first database. The consumer computing device can be, for example, one of a laptop computer, a desktop computer, a personal digital assistant, and a cellular phone.Type: ApplicationFiled: March 9, 2005Publication date: September 14, 2006Applicant: Microsoft CorporationInventors: Artem Oks, Martin Sleeman, Rajesh Iyer, Hanumantha Kodavalla, Peter Byrne, Steven Schmidt, Mark Wistrom, Rajeev Rajan
-
Publication number: 20050278394Abstract: The present invention relates generally to database and file system management and, more particularly, to automatic database and file system maintenance and repair to ensure data reliability. Various aspects of the present invention relate to responding and correcting data corruptions at a data page level for all data page types, as well as to recovery (including rebuild or restore operations) for various scenarios including, without limitation, index page corruptions (clustered and non-clustered), data page corruptions, and page corruptions in the log file.Type: ApplicationFiled: May 3, 2004Publication date: December 15, 2005Applicant: Microsoft CorporationInventors: Artem Oks, Hanumantha Kodavalla, Martin Sleeman
-
Publication number: 20050262378Abstract: The present invention is directed a logical consistency checker (LCC) working alone or in conjunction with a physical consistency checker (PCC) and/or a data reliability system (DRS) for a database files system of a hardware/software interface system. Logical data correction pertains to logical data corruptions for entities (e.g., items, extensions, and/or relationships in an item-based operating system, where an item-based operating system is one example of an item-based hardware/software interface system). In this regard, a LCC analyses and corrects logical damage to entities representatively stored in the data store in order to ensure that all such entities in said data store are both consistent and conform to the data model rules.Type: ApplicationFiled: July 30, 2004Publication date: November 24, 2005Applicant: Microsoft CorporationInventors: Martin Sleeman, Artem Oks, Hanumantha Kodavalla, Nigel Ellis