Patents by Inventor David M. Chan

David M. Chan 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: 11568588
    Abstract: One embodiment provides for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; a window manager to submit a request to display the one or more frames of data; a display engine to present the one or more frames of data to the display device for display; and display logic to receive the request to display the one or more frames of data and generate one or more display events for the display engine based on the request to display the one or more frames of data, wherein the display logic is to manage a set of statistics associated with the request.
    Type: Grant
    Filed: July 7, 2020
    Date of Patent: January 31, 2023
    Assignee: APPLE INC.
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • 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: 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: 20200410738
    Abstract: One embodiment provides for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; a window manager to submit a request to display the one or more frames of data; a display engine to present the one or more frames of data to the display device for display; and display logic to receive the request to display the one or more frames of data and generate one or more display events for the display engine based on the request to display the one or more frames of data, wherein the display logic is to manage a set of statistics associated with the request.
    Type: Application
    Filed: July 7, 2020
    Publication date: December 31, 2020
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Patent number: 10841401
    Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for predicting a future context of a computing device. In some implementations, a context daemon can use historical context information to predict future events and/or context changes. For example, the context daemon can analyze historical context information to predict user sleep patterns, user exercise patterns, and/or other user activity. In some implementations, a context client can register a callback for a predicted future context. For example, the context client can request to be notified ten minutes in advance of a predicted event and/or context change. The context daemon can use the prediction to notify a context client in advance of the predicted event.
    Type: Grant
    Filed: May 17, 2016
    Date of Patent: November 17, 2020
    Assignee: Apple Inc.
    Inventors: Song Li, Gaurav Kapoor, Alexander Barraclough Brown, Varaprasad Lingutla, Daniel Ben Pollack, David M. Chan
  • Patent number: 10726604
    Abstract: One embodiment provides for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; a window manager to submit a request to display the one or more frames of data; a display engine to present the one or more frames of data to the display device for display; and display logic to receive the request to display the one or more frames of data and generate one or more display events for the display engine based on the request to display the one or more frames of data, wherein the display logic is to manage a set of statistics associated with the request.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: July 28, 2020
    Assignee: Apple Inc.
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Patent number: 10706604
    Abstract: Embodiments provide for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; a display engine to present the one or more frames of data to the display device for display; display logic to receive a request to display the one or more frames of data and generate one or more display events for the display engine based on the request, wherein the request includes a first hint to indicate a complexity of the one or more frames of data and the one or more display events includes a second hint derived from the first hint; and a performance controller to adjust one or more performance related parameters for the display system based on the second hint.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: July 7, 2020
    Assignee: Apple Inc.
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Patent number: 10510317
    Abstract: Embodiments described herein provide for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; display logic to receive a request to display the one or more frames of data, the request including a requested presentation time in which the one or more frames of data are to be displayed; and a display engine to present the one or more frames of data to the display device for display at a target presentation time, the target presentation time derived from the requested presentation time, wherein the display engine is to adjust a refresh rate of the display device based on the target presentation time of the one or more frames of data.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: December 17, 2019
    Assignee: Apple Inc.
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Patent number: 10388054
    Abstract: Embodiments provide for a method of generating and displaying data on a display device, the method comprising receiving an input to interact with an image presented via the display; generating a sequence of frames having an animation frame rate independent of a current refresh rate of the display device; presenting configuration data to the display engine at a display time based on the requested presentation time; and dynamically refreshing the display device based on the display time to display the sequence of frames.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: August 20, 2019
    Assignee: Apple Inc.
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • 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
  • Patent number: 9983887
    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: December 17, 2015
    Date of Patent: May 29, 2018
    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: 20170352325
    Abstract: Embodiments provide for a method of generating and displaying data on a display device, the method comprising receiving an input to interact with an image presented via the display; generating a sequence of frames having an animation frame rate independent of a current refresh rate of the display device; presenting configuration data to the display engine at a display time based on the requested presentation time; and dynamically refreshing the display device based on the display time to display the sequence of frames.
    Type: Application
    Filed: September 23, 2016
    Publication date: December 7, 2017
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Publication number: 20170352322
    Abstract: Embodiments described herein provide for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; display logic to receive a request to display the one or more frames of data, the request including a requested presentation time in which the one or more frames of data are to be displayed; and a display engine to present the one or more frames of data to the display device for display at a target presentation time, the target presentation time derived from the requested presentation time, wherein the display engine is to adjust a refresh rate of the display device based on the target presentation time of the one or more frames of data.
    Type: Application
    Filed: September 23, 2016
    Publication date: December 7, 2017
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Publication number: 20170352323
    Abstract: Embodiments provide for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; a display engine to present the one or more frames of data to the display device for display; display logic to receive a request to display the one or more frames of data and generate one or more display events for the display engine based on the request, wherein the request includes a first hint to indicate a complexity of the one or more frames of data and the one or more display events includes a second hint derived from the first hint; and a performance controller to adjust one or more performance related parameters for the display system based on the second hint.
    Type: Application
    Filed: September 23, 2016
    Publication date: December 7, 2017
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Publication number: 20170352324
    Abstract: One embodiment provides for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; a window manager to submit a request to display the one or more frames of data; a display engine to present the one or more frames of data to the display device for display; and display logic to receive the request to display the one or more frames of data and generate one or more display events for the display engine based on the request to display the one or more frames of data, wherein the display logic is to manage a set of statistics associated with the request.
    Type: Application
    Filed: September 23, 2016
    Publication date: December 7, 2017
    Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
  • Publication number: 20160358089
    Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for predicting a future context of a computing device. In some implementations, a context daemon can use historical context information to predict future events and/or context changes. For example, the context daemon can analyze historical context information to predict user sleep patterns, user exercise patterns, and/or other user activity. In some implementations, a context client can register a callback for a predicted future context. For example, the context client can request to be notified ten minutes in advance of a predicted event and/or context change. The context daemon can use the prediction to notify a context client in advance of the predicted event.
    Type: Application
    Filed: May 17, 2016
    Publication date: December 8, 2016
    Inventors: Song Li, Gaurav Kapoor, Alexander Barraclough Brown, Varaprasad Lingutla, Daniel Ben Pollack, David M. Chan
  • Publication number: 20160357572
    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: December 17, 2015
    Publication date: December 8, 2016
    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: 5052702
    Abstract: A toy skateboard is provided with steerable truck assemblies having a minimum of parts. Two longitudinally spaced pivots on the underside of the platform hold the trucks on the platform. A leaf spring with three prongs is placed between each truck and the platform. One or more of the prongs are bent away from the plane of the body of the spring with the two outer prongs always located in the same direction. The diameter of the pivots is less than the diameter of the holes through the trucks allowing the trucks to be tilted in any direction about the pivots. Limit walls molded on the undersurface of the platform limit the rotation of the trucks about the pivots. When the platform is tilted, the springs push the trucks out of the straight forward position into the direction of the tilt thereby mimicking the action of a full sized skateboard.
    Type: Grant
    Filed: June 5, 1990
    Date of Patent: October 1, 1991
    Inventor: David M. Chan
  • Patent number: D438994
    Type: Grant
    Filed: August 2, 2000
    Date of Patent: March 13, 2001
    Assignee: Mascot International, Inc.
    Inventors: David M. Chan, Michael L. F. Chan