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: 11720368Abstract: 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: GrantFiled: March 8, 2021Date of Patent: August 8, 2023Assignee: 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: 11568588Abstract: 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: GrantFiled: July 7, 2020Date of Patent: January 31, 2023Assignee: APPLE INC.Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Publication number: 20210191734Abstract: 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: ApplicationFiled: March 8, 2021Publication date: June 24, 2021Inventors: 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: 10956172Abstract: 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: GrantFiled: April 25, 2018Date of Patent: March 23, 2021Assignee: 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: 20200410738Abstract: 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: ApplicationFiled: July 7, 2020Publication date: December 31, 2020Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Patent number: 10841401Abstract: 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: GrantFiled: May 17, 2016Date of Patent: November 17, 2020Assignee: Apple Inc.Inventors: Song Li, Gaurav Kapoor, Alexander Barraclough Brown, Varaprasad Lingutla, Daniel Ben Pollack, David M. Chan
-
Patent number: 10726604Abstract: 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: GrantFiled: September 23, 2016Date of Patent: July 28, 2020Assignee: Apple Inc.Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Patent number: 10706604Abstract: 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: GrantFiled: September 23, 2016Date of Patent: July 7, 2020Assignee: Apple Inc.Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Patent number: 10510317Abstract: 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: GrantFiled: September 23, 2016Date of Patent: December 17, 2019Assignee: Apple Inc.Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Patent number: 10388054Abstract: 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: GrantFiled: September 23, 2016Date of Patent: August 20, 2019Assignee: Apple Inc.Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Publication number: 20180246730Abstract: 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: ApplicationFiled: April 25, 2018Publication date: August 30, 2018Inventors: 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: 9983887Abstract: 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: GrantFiled: December 17, 2015Date of Patent: May 29, 2018Assignee: 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: 20170352325Abstract: 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: ApplicationFiled: September 23, 2016Publication date: December 7, 2017Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Publication number: 20170352322Abstract: 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: ApplicationFiled: September 23, 2016Publication date: December 7, 2017Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Publication number: 20170352323Abstract: 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: ApplicationFiled: September 23, 2016Publication date: December 7, 2017Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Publication number: 20170352324Abstract: 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: ApplicationFiled: September 23, 2016Publication date: December 7, 2017Inventors: Arthur L. Spence, Jeremy T. Sandmel, David M. Chan, Chendi Zhang, Peter C. Tsoi
-
Publication number: 20160358089Abstract: 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: ApplicationFiled: May 17, 2016Publication date: December 8, 2016Inventors: Song Li, Gaurav Kapoor, Alexander Barraclough Brown, Varaprasad Lingutla, Daniel Ben Pollack, David M. Chan
-
Publication number: 20160357572Abstract: 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: ApplicationFiled: December 17, 2015Publication date: December 8, 2016Inventors: 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: 5052702Abstract: 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: GrantFiled: June 5, 1990Date of Patent: October 1, 1991Inventor: David M. Chan
-
Patent number: D438994Type: GrantFiled: August 2, 2000Date of Patent: March 13, 2001Assignee: Mascot International, Inc.Inventors: David M. Chan, Michael L. F. Chan