Patents by Inventor Lionel D. Desai

Lionel D. Desai 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: 11720368
    Abstract: Techniques for memory management of a data processing system are described herein. According to one embodiment, a memory usage monitor executed by a processor of a data processing system monitors memory usages of groups of programs running within a memory of the data processing system. In response to determining that a first memory usage of a first group of the programs exceeds a first predetermined threshold, a user level reboot is performed in which one or more applications running within a user space of an operating system of the data processing system are terminated and relaunched. In response to determining that a second memory usage of a second group of the programs exceeds a second predetermined threshold, a system level reboot is performed in which one or more system components running within a kernel space of the operating system are terminated and relaunched.
    Type: Grant
    Filed: March 8, 2021
    Date of Patent: August 8, 2023
    Assignee: APPLE INC.
    Inventors: Andrew D. Myrick, David M. Chan, Jonathan R. Reeves, Jeffrey D. Curless, Lionel D. Desai, James C. McIlree, Karen A. Crippes, Rasha Eqbal
  • Patent number: 11586451
    Abstract: A method and apparatus of a device for resource management by using a hierarchy of resource management techniques with dynamic resource policies is described. The device terminates several misbehaving application programs when available memory on the device is running low. Each of those misbehaving application programs consumes more memory space than a memory consumption limit assigned to the application program. If available memory on the device is still low after terminating those misbehaving application programs, the device further sends memory pressure notifications to all application programs. If available memory on the device is still running low after sending the memory pressure notifications, the device further terminates background, idle, and suspended application programs. The device further terminates foreground application programs when available memory on the device is still low after terminating the background, idle, and suspended application programs.
    Type: Grant
    Filed: March 15, 2021
    Date of Patent: February 21, 2023
    Assignee: APPLE INC.
    Inventors: Andrew D. Myrick, Dmitriy B. Solomonov, Lionel D. Desai
  • Publication number: 20220222116
    Abstract: Memory management in a data processing system can learn one or more behaviors of software processes such as daemon software processes and application processes, and based on information learned about the behaviors, the memory management can adjust how it controls memory usage in the system. For example, a memory management system can learn how software processes react (e.g. how quickly they relaunch) to memory recovery methods, such as system initiated terminations of one or more software processes that are performed to reclaim memory to increase available volatile memory, and based on information about how they react, the memory recovery methods can operate differently depending upon how the software reacted previously.
    Type: Application
    Filed: March 21, 2022
    Publication date: July 14, 2022
    Inventors: Kushal Dalmia, Andrey V. Talnikov, Lionel D. Desai, Russell A. Blaine
  • Patent number: 11301296
    Abstract: Memory management in a data processing system can learn one or more behaviors of software processes such as daemon software processes and application processes, and based on information learned about the behaviors, the memory management can adjust how it controls memory usage in the system. For example, a memory management system can learn how software processes react (e.g. how quickly they relaunch) to memory recovery methods, such as system initiated terminations of one or more software processes that are performed to reclaim memory to increase available volatile memory, and based on information about how they react, the memory recovery methods can operate differently depending upon how the software reacted previously.
    Type: Grant
    Filed: March 3, 2020
    Date of Patent: April 12, 2022
    Assignee: Apple Inc.
    Inventors: Kushal Dalmia, Andrey V. Talnikov, Lionel D. Desai, Russell A. Blaine
  • Publication number: 20210311749
    Abstract: A method and apparatus of a device for resource management by using a hierarchy of resource management techniques with dynamic resource policies is described. The device terminates several misbehaving application programs when available memory on the device is running low. Each of those misbehaving application programs consumes more memory space than a memory consumption limit assigned to the application program. If available memory on the device is still low after terminating those misbehaving application programs, the device further sends memory pressure notifications to all application programs. If available memory on the device is still running low after sending the memory pressure notifications, the device further terminates background, idle, and suspended application programs. The device further terminates foreground application programs when available memory on the device is still low after terminating the background, idle, and suspended application programs.
    Type: Application
    Filed: March 15, 2021
    Publication date: October 7, 2021
    Inventors: Andrew D. Myrick, Dmitriy B. Solomonov, Lionel D. Desai
  • Publication number: 20210191734
    Abstract: Techniques for memory management of a data processing system are described herein. According to one embodiment, a memory usage monitor executed by a processor of a data processing system monitors memory usages of groups of programs running within a memory of the data processing system. In response to determining that a first memory usage of a first group of the programs exceeds a first predetermined threshold, a user level reboot is performed in which one or more applications running within a user space of an operating system of the data processing system are terminated and relaunched. In response to determining that a second memory usage of a second group of the programs exceeds a second predetermined threshold, a system level reboot is performed in which one or more system components running within a kernel space of the operating system are terminated and relaunched.
    Type: Application
    Filed: March 8, 2021
    Publication date: June 24, 2021
    Inventors: Andrew D. Myrick, David M. Chan, Jonathan R. Reeves, Jeffrey D. Curless, Lionel D. Desai, James C. McIlree, Karen A. Crippes, Rasha Eqbal
  • Patent number: 10977172
    Abstract: Techniques are disclosed relating to virtual memory page reclamation policies. In some embodiments, an operating system of a computing device implements, during a first operating mode, a first page reclamation policy for pages corresponding to user processes and non-user processes. The computing device may then enter a second operating mode upon detecting some indication of user inactivity. The operating system may then implement, during the second operating mode, a second page reclamation policy for pages corresponding to user processes and non-user processes, where the second page reclamation policy prioritizes, relative to the first page reclamation policy, eviction of pages corresponding to non-user processes.
    Type: Grant
    Filed: September 29, 2018
    Date of Patent: April 13, 2021
    Assignee: Apple Inc.
    Inventors: Lionel D. Desai, Benjamin C. Trumbull
  • Patent number: 10970085
    Abstract: A method and apparatus of a device for resource management by using a hierarchy of resource management techniques with dynamic resource policies is described. The device terminates several misbehaving application programs when available memory on the device is running low. Each of those misbehaving application programs consumes more memory space than a memory consumption limit assigned to the application program. If available memory on the device is still low after terminating those misbehaving application programs, the device further sends memory pressure notifications to all application programs. If available memory on the device is still running low after sending the memory pressure notifications, the device further terminates background, idle, and suspended application programs. The device further terminates foreground application programs when available memory on the device is still low after terminating the background, idle, and suspended application programs.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: April 6, 2021
    Assignee: Apple Inc.
    Inventors: Andrew D. Myrick, Dmitriy B. Solomonov, Lionel D. Desai
  • Patent number: 10956172
    Abstract: Techniques for memory management of a data processing system are described herein. According to one embodiment, a memory usage monitor executed by a processor of a data processing system monitors memory usages of groups of programs running within a memory of the data processing system. In response to determining that a first memory usage of a first group of the programs exceeds a first predetermined threshold, a user level reboot is performed in which one or more applications running within a user space of an operating system of the data processing system are terminated and relaunched. In response to determining that a second memory usage of a second group of the programs exceeds a second predetermined threshold, a system level reboot is performed in which one or more system components running within a kernel space of the operating system are terminated and relaunched.
    Type: Grant
    Filed: April 25, 2018
    Date of Patent: March 23, 2021
    Assignee: Apple Inc.
    Inventors: Andrew D. Myrick, David M. Chan, Jonathan R. Reeves, Jeffrey D. Curless, Lionel D. Desai, James C. McIlree, Karen A. Crippes, Rasha Eqbal
  • Publication number: 20200379810
    Abstract: Memory management in a data processing system can learn one or more behaviors of software processes such as daemon software processes and application processes, and based on information learned about the behaviors, the memory management can adjust how it controls memory usage in the system. For example, a memory management system can learn how software processes react (e.g. how quickly they relaunch) to memory recovery methods, such as system initiated terminations of one or more software processes that are performed to reclaim memory to increase available volatile memory, and based on information about how they react, the memory recovery methods can operate differently depending upon how the software reacted previously.
    Type: Application
    Filed: March 3, 2020
    Publication date: December 3, 2020
    Inventors: Kushal Dalmia, Andrey V. Talnikov, Lionel D. Desai, Russell A. Blaine
  • Patent number: 10754567
    Abstract: In one embodiment, when a secondary application on an electronic device is selected for deactivation, the memory associated with the application can be gathered, compacted and compressed into a memory freezer file. The memory freezer file can be stored in non-volatile memory with a reduced storage footprint compared to a memory stored in a conventional swap file. When the selected application is to be reactivated, the compressed memory in the memory freezer file can be quickly restored to process memory.
    Type: Grant
    Filed: November 28, 2018
    Date of Patent: August 25, 2020
    Assignee: Apple Inc.
    Inventors: Andrew D. Myrick, Lionel D. Desai, Joseph Sokol, Jr.
  • Publication number: 20200174802
    Abstract: A method and apparatus of a device for resource management by using a hierarchy of resource management techniques with dynamic resource policies is described. The device terminates several misbehaving application programs when available memory on the device is running low. Each of those misbehaving application programs consumes more memory space than a memory consumption limit assigned to the application program. If available memory on the device is still low after terminating those misbehaving application programs, the device further sends memory pressure notifications to all application programs. If available memory on the device is still running low after sending the memory pressure notifications, the device further terminates background, idle, and suspended application programs. The device further terminates foreground application programs when available memory on the device is still low after terminating the background, idle, and suspended application programs.
    Type: Application
    Filed: January 31, 2020
    Publication date: June 4, 2020
    Inventors: Andrew D. Myrick, Dmitriy B. Solomonov, Lionel D. Desai
  • Patent number: 10649889
    Abstract: According to one embodiment, it is determined whether data stored in a compressor pool exceeds a first predetermined threshold, the compressor pool being a fixed-size memory pool maintained in a kernel of an operating system. The compressor pool stores a plurality of compressed memory pages, each memory page storing compressed data pages that can be paged out to or paged in from a persistent storage device. The compressed memory pages are associated with a plurality of processes. A memory consumption reduction action is performed to reduce memory usage, including terminating at least one of the processes to reclaim a memory space occupied by the process, in response to determining that the data stored in the compressor pool exceeds the first predetermined threshold.
    Type: Grant
    Filed: June 1, 2018
    Date of Patent: May 12, 2020
    Assignee: Apple Inc.
    Inventors: Lionel D. Desai, Russell A. Blaine, Benjamin C. Trumbull
  • Patent number: 10552179
    Abstract: A method and apparatus of a device for resource management by using a hierarchy of resource management techniques with dynamic resource policies is described. The device terminates several misbehaving application programs when available memory on the device is running low. Each of those misbehaving application programs consumes more memory space than a memory consumption limit assigned to the application program. If available memory on the device is still low after terminating those misbehaving application programs, the device further sends memory pressure notifications to all application programs. If available memory on the device is still running low after sending the memory pressure notifications, the device further terminates background, idle, and suspended application programs. The device further terminates foreground application programs when available memory on the device is still low after terminating the background, idle, and suspended application programs.
    Type: Grant
    Filed: May 30, 2014
    Date of Patent: February 4, 2020
    Assignee: Apple Inc.
    Inventors: Andrew D. Myrick, Dmitriy B. Solomonov, Lionel D. Desai
  • Patent number: 10528281
    Abstract: In one embodiment, when a secondary application on an electronic device is selected for deactivation, the memory associated with the application can be gathered, compacted and compressed into a memory freezer file. The memory freezer file can be stored in non-volatile memory with a reduced storage footprint compared to a memory stored in a conventional swap file. When the selected application is to be reactivated, the compressed memory in the memory freezer file can be quickly restored to process memory.
    Type: Grant
    Filed: July 28, 2017
    Date of Patent: January 7, 2020
    Assignee: Apple Inc.
    Inventors: Andrew D. Myrick, Lionel D. Desai, Joseph Sokol, Jr.
  • Publication number: 20190370171
    Abstract: Techniques are disclosed relating to virtual memory page reclamation policies. In some embodiments, an operating system of a computing device implements, during a first operating mode, a first page reclamation policy for pages corresponding to user processes and non-user processes. The computing device may then enter a second operating mode upon detecting some indication of user inactivity. The operating system may then implement, during the second operating mode, a second page reclamation policy for pages corresponding to user processes and non-user processes, where the second page reclamation policy prioritizes, relative to the first page reclamation policy, eviction of pages corresponding to non-user processes.
    Type: Application
    Filed: September 29, 2018
    Publication date: December 5, 2019
    Inventors: Lionel D. Desai, Benjamin C. Trumbull
  • Publication number: 20190370009
    Abstract: One embodiment provides for a method comprising determining a set of probabilities associated with a set of applications configured to execute on the electronic device, the set of probabilities including a probability of application usage within a period of time, updating a probability model based on the set of probabilities associated with the set of applications, selecting an application to swap to a fatigable storage device based on output from the probability model, and swapping the application to the fatigable storage device, wherein swapping the application includes storing a memory address space for the application and an application state to the fatigable storage device.
    Type: Application
    Filed: April 30, 2019
    Publication date: December 5, 2019
    Inventors: Kartik R. Venkatraman, Abhishek Bhowmick, Lionel D. Desai
  • Publication number: 20190095120
    Abstract: In one embodiment, when a secondary application on an electronic device is selected for deactivation, the memory associated with the application can be gathered, compacted and compressed into a memory freezer file. The memory freezer file can be stored in non-volatile memory with a reduced storage footprint compared to a memory stored in a conventional swap file. When the selected application is to be reactivated, the compressed memory in the memory freezer file can be quickly restored to process memory.
    Type: Application
    Filed: November 28, 2018
    Publication date: March 28, 2019
    Inventors: Andrew D. Myrick, Lionel D. Desai, Joseph Sokol, JR.
  • Publication number: 20180349261
    Abstract: According to one embodiment, it is determined whether data stored in a compressor pool exceeds a first predetermined threshold, the compressor pool being a fixed-size memory pool maintained in a kernel of an operating system. The compressor pool stores a plurality of compressed memory pages, each memory page storing compressed data pages that can be paged out to or paged in from a persistent storage device. The compressed memory pages are associated with a plurality of processes. A memory consumption reduction action is performed to reduce memory usage, including terminating at least one of the processes to reclaim a memory space occupied by the process, in response to determining that the data stored in the compressor pool exceeds the first predetermined threshold.
    Type: Application
    Filed: June 1, 2018
    Publication date: December 6, 2018
    Inventors: LIONEL D. DESAI, RUSSELL A. BLAINE, BENJAMIN C. TRUMBULL
  • Publication number: 20180246730
    Abstract: Techniques for memory management of a data processing system are described herein. According to one embodiment, a memory usage monitor executed by a processor of a data processing system monitors memory usages of groups of programs running within a memory of the data processing system. In response to determining that a first memory usage of a first group of the programs exceeds a first predetermined threshold, a user level reboot is performed in which one or more applications running within a user space of an operating system of the data processing system are terminated and relaunched. In response to determining that a second memory usage of a second group of the programs exceeds a second predetermined threshold, a system level reboot is performed in which one or more system components running within a kernel space of the operating system are terminated and relaunched.
    Type: Application
    Filed: April 25, 2018
    Publication date: August 30, 2018
    Inventors: Andrew D. Myrick, David M. Chan, Jonathan R. Reeves, Jeffrey D. Curless, Lionel D. Desai, James C. McIlree, Karen A. Crippes, Rasha Eqbal