Patents by Inventor Yevgeniy M. Bak

Yevgeniy M. Bak 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).

  • Publication number: 20230244601
    Abstract: Techniques for computer memory management are disclosed herein. In one embodiment, a method includes in response to receiving a request for allocation of memory, determining whether the request is for allocation from a first memory region or a second memory region of the physical memory. The first memory region has first memory subregions of a first size and the second memory region having second memory subregions of a second size larger than the first size of the first memory region. The method further includes in response to determining that the request for allocation of memory is for allocation from the first or second memory region, allocating a portion of the first or second multiple memory subregions of the first or second memory region, respectively, in response to the request.
    Type: Application
    Filed: February 13, 2023
    Publication date: August 3, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. BAK, Kevin Michael BROAS, David Alan HEPKIN, Landy WANG, Mehmet IYIGUN, Brandon Alec ALLSOP, Arun U. KISHAN
  • Patent number: 11580019
    Abstract: Techniques for computer memory management are disclosed herein. In one embodiment, a method includes in response to receiving a request for allocation of memory, determining whether the request is for allocation from a first memory region or a second memory region of the physical memory. The first memory region has first memory subregions of a first size and the second memory region having second memory subregions of a second size larger than the first size of the first memory region. The method further includes in response to determining that the request for allocation of memory is for allocation from the first or second memory region, allocating a portion of the first or second multiple memory subregions of the first or second memory region, respectively, in response to the request.
    Type: Grant
    Filed: April 17, 2020
    Date of Patent: February 14, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Kevin Michael Broas, David Alan Hepkin, Landy Wang, Mehmet Iyigun, Brandon Alec Allsop, Arun U. Kishan
  • Publication number: 20210326253
    Abstract: Techniques for computer memory management are disclosed herein. In one embodiment, a method includes in response to receiving a request for allocation of memory, determining whether the request is for allocation from a first memory region or a second memory region of the physical memory. The first memory region has first memory subregions of a first size and the second memory region having second memory subregions of a second size larger than the first size of the first memory region. The method further includes in response to determining that the request for allocation of memory is for allocation from the first or second memory region, allocating a portion of the first or second multiple memory subregions of the first or second memory region, respectively, in response to the request.
    Type: Application
    Filed: April 17, 2020
    Publication date: October 21, 2021
    Inventors: Yevgeniy M. Bak, Kevin Michael Broas, David Alan Hepkin, Landy Wang, Mehmet Iyigun, Brandon Alec Allsop, Arun U. Kishan
  • Patent number: 10908958
    Abstract: Multiple partitions can be run on a computing device, each partition running multiple processes referred to as a workload. Each of the multiple partitions, is isolated from one another, preventing the processes in each partition from interfering with the operation of the processes in the other partitions. Using the techniques discussed herein, some memory pages of a partition (referred to as a sharing partition) can be shared with one or more other partitions. The pages that are shared are file backed (e.g., image or data files) or pagefile backed memory pages. The sharing partition can be, for example, a separate partition that is dedicated to sharing memory pages.
    Type: Grant
    Filed: March 21, 2019
    Date of Patent: February 2, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Landy Wang
  • Patent number: 10579417
    Abstract: The threads of a user mode process can access various different resources of a computing device, and such access can be serialized. To access a serialized resource, a thread acquires a lock for the resource. For each context switch in the computing device, a module of the operating system kernel checks for priority inversions, which is a situation in which a higher priority thread of the user mode process is waiting for (blocking on) a resource for which a lower priority thread has acquired a lock. In response to detecting such a priority inversion, the priority of the lower priority thread is boosted to allow the priority thread to execute and eventually release the lock that the higher priority thread is waiting for.
    Type: Grant
    Filed: April 26, 2017
    Date of Patent: March 3, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Christopher Peter Kleynhans, Syed A. Raza
  • Patent number: 10416932
    Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: September 17, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
  • Publication number: 20190220317
    Abstract: Multiple partitions can be run on a computing device, each partition running multiple processes referred to as a workload. Each of the multiple partitions, is isolated from one another, preventing the processes in each partition from interfering with the operation of the processes in the other partitions. Using the techniques discussed herein, some memory pages of a partition (referred to as a sharing partition) can be shared with one or more other partitions. The pages that are shared are file backed (e.g., image or data files) or pagefile backed memory pages. The sharing partition can be, for example, a separate partition that is dedicated to sharing memory pages.
    Type: Application
    Filed: March 21, 2019
    Publication date: July 18, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Landy Wang
  • Patent number: 10339295
    Abstract: A computing system includes one or more processors and a storage device that stores computer executable instructions that can be executed by the processors to cause the computing system to perform the following. The system generates a work tracking information ticket for a first system entity. The system assigns the work tracking information ticket to the first system entity. The system passes the work tracking information ticket to one or more second system entities. The system validates the work tracking information ticket. The validated work tracking information ticket informs that the one or more second system entities are performing work on behalf of the first system entity.
    Type: Grant
    Filed: July 28, 2016
    Date of Patent: July 2, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jon Robert Berry, Youssef Barakat, Yevgeniy M. Bak, Mehmet Iyigun, Pedro Miguel Sequeira de Justo Teixeira
  • Patent number: 10310893
    Abstract: An operating system running on a computing device uses containers for hardware resource partitioning. Using the techniques discussed herein, pausing and resuming of containers is managed to reduce the pressure a container exerts on system resources when paused. Resuming of containers can further be managed to reduce the startup time for containers. This managing of containers can implemented various different techniques, such as stopping scheduling of virtual processors, stopping scheduling of processes or threads, compressing memory, swapping pages of memory for the container to a page file on a hard drive, and so forth.
    Type: Grant
    Filed: June 22, 2016
    Date of Patent: June 4, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Lars Reuther, Kevin M. Broas, Mehmet Iyigun, Hari R. Pulapaka, Morakinyo Korede Olugbade, Benjamin M. Schultz
  • Patent number: 10275169
    Abstract: Multiple partitions can be run on a computing device, each partition running multiple processes referred to as a workload. Each of the multiple partitions, is isolated from one another, preventing the processes in each partition from interfering with the operation of the processes in the other partitions. Using the techniques discussed herein, some memory pages of a partition (referred to as a sharing partition) can be shared with one or more other partitions. The pages that are shared are file backed (e.g., image or data files) or pagefile backed memory pages. The sharing partition can be, for example, a separate partition that is dedicated to sharing memory pages.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: April 30, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Landy Wang
  • Patent number: 10157268
    Abstract: Each program thread running on a computing device has an associated data stack and control stack. A stack displacement value is generated, which is the difference between the memory address of the base of the data stack and the memory address of the base of the control stack, and is stored in a register of a processor of the computing device that is restricted to operating system kernel use. For each thread on which return flow guard is enabled, prologue and epilogue code is added to each function of the thread (e.g., by a memory manager of the computing device). The data stack and the control stack each store a return address for the function, and when the function completes the epilogue code allows the function to return only if the return addresses on the data stack and the control stack match.
    Type: Grant
    Filed: September 27, 2016
    Date of Patent: December 18, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jordan Thomas Rabet, Kenneth D. Johnson, Matthew R. Miller, Adam M. Zabrocki, Shawn Daniel Hoffman, Landy Wang, Yevgeniy M. Bak
  • Publication number: 20180321857
    Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced.
    Type: Application
    Filed: April 16, 2018
    Publication date: November 8, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
  • Publication number: 20180314547
    Abstract: The threads of a user mode process can access various different resources of a computing device, and such access can be serialized. To access a serialized resource, a thread acquires a lock for the resource. For each context switch in the computing device, a module of the operating system kernel checks for priority inversions, which is a situation in which a higher priority thread of the user mode process is waiting for (blocking on) a resource for which a lower priority thread has acquired a lock. In response to detecting such a priority inversion, the priority of the lower priority thread is boosted to allow the priority thread to execute and eventually release the lock that the higher priority thread is waiting for.
    Type: Application
    Filed: April 26, 2017
    Publication date: November 1, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Christopher Peter Kleynhans, Syed A. Raza
  • Patent number: 10102148
    Abstract: A memory is made up of multiple pages, and different pages can have different priority levels. A set of memory pages having at least similar priority levels are identified and compressed into an additional set of memory pages having at least similar priority levels. The additional set of memory pages are classified as being the same type of page as the set of memory pages that was compressed (e.g., as memory pages that can be repurposed). Thus, a particular set of memory pages can be compressed into a different set of memory pages of the same type and corresponding to at least similar priority levels. However, due to the compression, the quantity of memory pages into which the set of memory pages is compressed is reduced, thus increasing the amount of data that can be stored in the memory.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: October 16, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Landy Wang
  • Patent number: 10101920
    Abstract: Embodiments disclosed herein are related to systems and methods for attributing disk Input/Output (IO) to one or more system entities. A disk IO attribution context is generated that defines disk IO utilization parameters for a system entity. A pointer is attached to the system entity that points to the disk IO attribution context. The pointer is exposed to system components of an underlying computer system. The pointer prompts the system components to report the disk IO utilization parameters when the system components have performed a disk IO operation for the system entity. The disk IO utilization parameters reported by the one or more system components are recorded in the disk IO attribution context.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: October 16, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mehmet Iyigun, Yevgeniy M Bak
  • Patent number: 10037270
    Abstract: A set of memory pages from a working set of a program process, such as at least some of the memory pages that have been modified, are compressed into a compressed store prior to being written to a page file, after which the memory pages can be repurposed by a memory manager. The memory commit charge for the memory pages compressed into the compressed store is borrowed from the program process by a compressed storage manager, reducing the memory commit charge of the compressed storage manager. Subsequent requests from the memory manager for memory pages that have been compressed into a compressed store are satisfied by accessing the compressed store memory pages (including retrieving the compressed store memory pages from the page file if written to the page file), decompressing the requested memory pages, and returning the requested memory pages to the memory manager.
    Type: Grant
    Filed: April 14, 2015
    Date of Patent: July 31, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Landy Wang, Arun U. Kishan
  • Publication number: 20180203626
    Abstract: Multiple partitions can be run on a computing device, each partition running multiple processes referred to as a workload. Each of the multiple partitions, is isolated from one another, preventing the processes in each partition from interfering with the operation of the processes in the other partitions. Using the techniques discussed herein, some memory pages of a partition (referred to as a sharing partition) can be shared with one or more other partitions. The pages that are shared are file backed (e.g., image or data files) or pagefile backed memory pages. The sharing partition can be, for example, a separate partition that is dedicated to sharing memory pages.
    Type: Application
    Filed: January 18, 2017
    Publication date: July 19, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Mehmet Iyigun, Landy Wang
  • Publication number: 20180165133
    Abstract: A computing device runs a host on which multiple guests (e.g., virtual machines run via a virtual machine monitor such as a hypervisor) can run. The guest is used for isolation as well as hardware resource partitioning. The guest and the host agree on a name and a size for shared memory. Both the guest and the host map to the shared memory, and both the guest and the host to access the shared memory. The access allowed to the shared memory can be the same for both the host and the guest (e.g., both may be allowed read/write access) or different (e.g., the guest may be allowed write only access and the host may be allowed read only access).
    Type: Application
    Filed: June 30, 2017
    Publication date: June 14, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Mehmet Iyigun, Matthew David Kurjanowicz, Martijn de Kort, Kevin M. Broas, Yevgeniy M. Bak
  • Publication number: 20180121209
    Abstract: A computing system includes a first memory that stores IO data, a second memory, and a boot manger. A pre-fetch manager pre-fetches IO data from the first memory to the second memory when the boot process is initiated. A detector component determines that an amount of the IO data pre-fetched by the pre-fetch manager has fallen behind a rate at which the pre-fetched IO data is executed by the computing system. An optimizer component causes the boot process to be paused to create a pause window and causes the pre-fetch manager to pre-fetch during the pause window a subset of the IO data. The subset has a magnitude that is determined to result in the amount of IO data pre-fetched by the pre-fetch manger substantially matching the rate at which the pre-fetched IO data is executed when the pause window is ended and the boot process is resumed.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 3, 2018
    Inventors: Vijay Sundaram, Mehmet lyigun, Yevgeniy M. Bak, Prashant Ratanchandani
  • Patent number: 9946495
    Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced.
    Type: Grant
    Filed: April 25, 2013
    Date of Patent: April 17, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing