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: 10956193
    Abstract: 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: Grant
    Filed: March 31, 2017
    Date of Patent: March 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Artem Oks, David Hepkin
  • Patent number: 10860556
    Abstract: 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: Grant
    Filed: January 10, 2019
    Date of Patent: December 8, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Publication number: 20190205291
    Abstract: 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: Application
    Filed: January 10, 2019
    Publication date: July 4, 2019
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Patent number: 10216777
    Abstract: 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: Grant
    Filed: January 16, 2017
    Date of Patent: February 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Publication number: 20180285135
    Abstract: 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: Application
    Filed: March 31, 2017
    Publication date: October 4, 2018
    Inventors: Artem Oks, David Hepkin
  • Publication number: 20170124128
    Abstract: 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: Application
    Filed: January 16, 2017
    Publication date: May 4, 2017
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Patent number: 9547677
    Abstract: 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: Grant
    Filed: March 18, 2015
    Date of Patent: January 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Publication number: 20150193485
    Abstract: 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: Application
    Filed: March 18, 2015
    Publication date: July 9, 2015
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, RicharAleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Patent number: 8990216
    Abstract: 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: Grant
    Filed: March 19, 2010
    Date of Patent: March 24, 2015
    Assignee: Microsoft Corporation
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Patent number: 8756192
    Abstract: 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: Grant
    Filed: January 7, 2010
    Date of Patent: June 17, 2014
    Assignee: Microsoft Corporation
    Inventors: Rui Wang, Michael Habben, Qun Guo, Artem Oks
  • Publication number: 20110282850
    Abstract: 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: Application
    Filed: May 11, 2010
    Publication date: November 17, 2011
    Applicant: Microsoft Corporation
    Inventors: Vaibhav Kamra, Pradeep Madhavarapu, Cristian Diaconu, Jun Fang, Srini Acharya, Michael Warmington, Maciej Plaza, Artem Oks, Sankhyayan Debnath
  • Publication number: 20110231403
    Abstract: 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: Application
    Filed: March 19, 2010
    Publication date: September 22, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Artem Oks, Qingqing Zhou, Srikumar Rangarajan, Aleksandras Surna, Wey Guy, Cipri Clinciu, Ashit Gosalia
  • Publication number: 20110167038
    Abstract: 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: Application
    Filed: January 7, 2010
    Publication date: July 7, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Rui Wang, Michael Habben, Qun Guo, Artem Oks
  • Patent number: 7689607
    Abstract: 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: Grant
    Filed: April 15, 2005
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Artem Oks, Hanumantha R Kodavalla, Martin J Sleeman
  • Publication number: 20070073764
    Abstract: 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: Application
    Filed: November 28, 2006
    Publication date: March 29, 2007
    Applicant: Microsoft Corporation
    Inventors: Artem Oks, Hanumantha Kodavalla, Martin Sleeman
  • Publication number: 20060235909
    Abstract: 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: Application
    Filed: April 15, 2005
    Publication date: October 19, 2006
    Applicant: Microsoft Corporation
    Inventors: Artem Oks, Hanumantha Kodavalla, Martin Sleeman
  • Publication number: 20060224636
    Abstract: 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: Application
    Filed: April 5, 2005
    Publication date: October 5, 2006
    Applicant: Microsoft Corporation
    Inventors: Vishal Kathuria, Michael Zwilling, Hanumantha Kodavalla, Steven Schmidt, Martin Sleeman, Rajeev Rajan, Artem Oks
  • Publication number: 20060206544
    Abstract: 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: Application
    Filed: March 9, 2005
    Publication date: September 14, 2006
    Applicant: Microsoft Corporation
    Inventors: Artem Oks, Martin Sleeman, Rajesh Iyer, Hanumantha Kodavalla, Peter Byrne, Steven Schmidt, Mark Wistrom, Rajeev Rajan
  • Publication number: 20050278394
    Abstract: 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: Application
    Filed: May 3, 2004
    Publication date: December 15, 2005
    Applicant: Microsoft Corporation
    Inventors: Artem Oks, Hanumantha Kodavalla, Martin Sleeman
  • Publication number: 20050262378
    Abstract: 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: Application
    Filed: July 30, 2004
    Publication date: November 24, 2005
    Applicant: Microsoft Corporation
    Inventors: Martin Sleeman, Artem Oks, Hanumantha Kodavalla, Nigel Ellis