Patents by Inventor Kit Man Wan
Kit Man Wan 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: 11847576Abstract: Disclosed herein is a technique for implementing a framework that enables application developers to enhance their applications with dynamic adjustment capabilities. Specifically, the framework, when utilized by an application on a mobile computing device that implements the framework, can enable the application to establish predictive models that can be used to identify meaningful behavioral patterns of an individual who uses the application. In turn, the predictive models can be used to preempt the individual's actions and provide an enhanced overall user experience. The framework is configured to interface with other software entities on the mobile computing device that conduct various analyses to identify appropriate times for the application to manage and update its predictive models. Such appropriate times can include, for example, identified periods of time where the individual is not operating the mobile computing device, as well as recognized conditions where power consumption is not a concern.Type: GrantFiled: August 12, 2019Date of Patent: December 19, 2023Assignee: Apple Inc.Inventors: Binu K. Mathew, Kit-Man Wan, Gaurav Kapoor
-
Patent number: 11693414Abstract: An autonomous navigation system may navigate through an environment in which one or more non-solid objects, including gaseous and/or liquid objects, are located. Non-solid objects may be determined, using sensor data, to present an obstacle or interference based on determined chemical composition, size, position, velocity, concentration, etc. of the objects.Type: GrantFiled: February 28, 2022Date of Patent: July 4, 2023Assignee: Apple Inc.Inventors: Byron B. Han, Young Woo Seo, Kit-Man Wan
-
Publication number: 20230177350Abstract: The subject technology provides receiving a neural network (NN) model to be executed on a target platform, the NN model including multiple layers that include operations and some of the operations being executable on multiple processors of the target platform. The subject technology further sorts the operations from the multiple layers in a particular order based at least in part on grouping the operations that are executable by a particular processor of the multiple processors. The subject technology determines, based at least in part on a cost of transferring the operations between the multiple processors, an assignment of one of the multiple processors for each of the sorted operations of each of the layers in a manner that minimizes a total cost of executing the operations. Further, for each layer of the NN model, the subject technology includes an annotation to indicate the processor assigned for each of the operations.Type: ApplicationFiled: September 6, 2022Publication date: June 8, 2023Inventors: Gaurav KAPOOR, Cecile M. FORET, Francesco ROSSI, Kit-Man WAN, Umesh S. VAISHAMPAYAN, Etienne BELANGER, Albert ANTONY, Alexey MARINICHEV, Marco ZULIANI, Xiaojin SHI
-
Patent number: 11496600Abstract: In an exemplary process for remote execution of machine-learned models, one or more signals from a second electronic device is detected by a first electronic device. The second electronic device includes a machine-learned model associated with an application implemented on the first electronic device. Based on the one or more signals, a communication connection is established with the second electronic device and a proxy to the machine-learned model is generated. Input data is obtained via a sensor of the first electronic device. A representation of the input data is sent to the second electronic device via the proxy and the established communication connection. The representation of the input data is processed through the machine-learned model to generate an output. A result derived from the output is received via the communication connection and a representation of the result is outputted.Type: GrantFiled: August 28, 2019Date of Patent: November 8, 2022Assignee: Apple Inc.Inventors: Umesh S. Vaishampayan, Gaurav Kapoor, Kit-man Wan
-
Patent number: 11468338Abstract: The subject technology provides receiving a neural network (NN) model to be executed on a target platform, the NN model including multiple layers that include operations and some of the operations being executable on multiple processors of the target platform. The subject technology further sorts the operations from the multiple layers in a particular order based at least in part on grouping the operations that are executable by a particular processor of the multiple processors. The subject technology determines, based at least in part on a cost of transferring the operations between the multiple processors, an assignment of one of the multiple processors for each of the sorted operations of each of the layers in a manner that minimizes a total cost of executing the operations. Further, for each layer of the NN model, the subject technology includes an annotation to indicate the processor assigned for each of the operations.Type: GrantFiled: January 30, 2019Date of Patent: October 11, 2022Assignee: Apple Inc.Inventors: Francesco Rossi, Cecile M. Foret, Gaurav Kapoor, Kit-Man Wan, Umesh S. Vaishampayan, Etienne Belanger, Albert Antony, Alexey Marinichev, Marco Zuliani, Xiaojin Shi
-
Publication number: 20220253061Abstract: An autonomous navigation system may navigate through an environment in which one or more non-solid objects, including gaseous and/or liquid objects, are located. Non-solid objects may be determined, using sensor data, to present an obstacle or interference based on determined chemical composition, size, position, velocity, concentration, etc. of the objects.Type: ApplicationFiled: February 28, 2022Publication date: August 11, 2022Applicant: Apple Inc.Inventors: Byron B. Han, Young Woo Seo, Kit-Man Wan
-
Patent number: 11262762Abstract: An autonomous navigation system may autonomously navigate a vehicle through an environment in which one or more non-solid objects, including gaseous and/or liquid objects, are located. Sensors, including sensors which can detect chemical substances in a region of the environment, may detect non-solid objects independently of an opacity of the objects. Non-solid objects may be determined to present an obstacle or interference based on determined chemical composition, size, position, velocity, concentration, etc. of the objects. The vehicle may be autonomously navigated to avoid non-solid objects based on positions, trajectories, etc. of the non-solid objects. The vehicle may be navigated according to avoidance driving parameters to avoid non-solid objects, and a navigation system may characterize a non-solid object as a solid object having dimensions and position which encompasses the non-solid object, so that the vehicle is navigated in avoidance of non-solid objects as if the non-solid objects were solid.Type: GrantFiled: September 22, 2016Date of Patent: March 1, 2022Assignee: Apple Inc.Inventors: Byron B. Han, Young Woo Seo, Kit-Man Wan
-
Publication number: 20210397957Abstract: The subject technology provides a framework for multi-processor training of neural networks. Multi-processor training of neural networks can include performing a forward pass of a training iteration using a neural processor, and performing a backward pass of the training iteration using a CPU or a GPU. Additional operations for facilitating the multi-processor training are disclosed.Type: ApplicationFiled: June 16, 2021Publication date: December 23, 2021Inventors: Umesh S. VAISHAMPAYAN, Kit-Man WAN, Aaftab A. MUNSHI, Cecile M. FORET, Yen-Fu LIU
-
Publication number: 20210398021Abstract: A device implementing a system to execute machine learning models from memory includes at least one processor configured to receive a request to provide an input to one or more machine learning (ML) models arranged into a graph of connected layers, the one or more ML models stored in the first type of memory. The at least one processor is further configured to divide the graph of connected layers into a plurality of segments such that at least two of the plurality of segments concurrently fits within allocated space of the second type of memory. The at least one processor is further configured to cause the input to be processed through the first segment of the plurality of segments using the second type of memory while a second segment of the plurality of segments is concurrently loaded from the first type of memory into the second type of memory.Type: ApplicationFiled: June 14, 2021Publication date: December 23, 2021Inventors: Umesh S. VAISHAMPAYAN, Gaurav KAPOOR, Kit-Man WAN
-
Publication number: 20210390087Abstract: This application relates to features for a mobile device that allow the mobile device to assign utility values to applications and thereafter suggest applications for a user to execute. The suggested application can be derived from a list of applications that have been assigned a utility by software in the mobile device. The utility assignment of the individual applications from the list of applications can be performed based on the occurrence of an event, an environmental change, or a period of frequent application usage. A feedback mechanism is provided in some embodiments for more accurately assigning a utility to particular applications. The feedback mechanism can track what a user does during a period of suggestion for certain applications and thereafter modify the utility of applications based on what applications a user selects during the period of suggestion.Type: ApplicationFiled: June 23, 2021Publication date: December 16, 2021Inventors: Stephen C. PETERS, Kit-Man WAN, Gaurav KAPOOR
-
Patent number: 11048681Abstract: This application relates to features for a mobile device that allow the mobile device to assign utility values to applications and thereafter suggest applications for a user to execute. The suggested application can be derived from a list of applications that have been assigned a utility by software in the mobile device. The utility assignment of the individual applications from the list of applications can be performed based on the occurrence of an event, an environmental change, or a period of frequent application usage. A feedback mechanism is provided in some embodiments for more accurately assigning a utility to particular applications. The feedback mechanism can track what a user does during a period of suggestion for certain applications and thereafter modify the utility of applications based on what applications a user selects during the period of suggestion.Type: GrantFiled: December 9, 2016Date of Patent: June 29, 2021Assignee: Apple Inc.Inventors: Stephen C. Peters, Kit-Man Wan, Gaurav Kapoor
-
Patent number: 10936358Abstract: In some implementations, a mobile device can be configured to monitor environmental, system and user events. The occurrence of one or more events can trigger adjustments to system settings. In some implementations, the mobile device can be configured to keep frequently invoked applications up to date based on a forecast of predicted invocations by the user. In some implementations, the mobile device can receive push notifications associated with applications that indicate that new content is available for the applications to download. The mobile device can launch the applications associated with the push notifications in the background and download the new content. In some implementations, before running an application or accessing a network interface, the mobile device can be configured to check energy and data budgets and environmental conditions of the mobile device to preserve a high quality user experience.Type: GrantFiled: January 29, 2019Date of Patent: March 2, 2021Assignee: Apple Inc.Inventors: David Michael Chan, John Iarocci, Gaurav Kapoor, Kit-Man Wan, Phillip Stanley-Marbell, Jonathan J. Andrews, Matthew E. Shepherd, Amit K. Vyas, Anand Ramadurai, Lee Russell, Brittany D. Hughes, David B. Myszewski, Andrew M. Matuschak, Joshua V. Graessley, Marc J. Krochmal, Daniel Vinegrad, Stephen C. Peters
-
Publication number: 20200382616Abstract: In an exemplary process for remote execution of machine-learned models, one or more signals from a second electronic device is detected by a first electronic device. The second electronic device includes a machine-learned model associated with an application implemented on the first electronic device. Based on the one or more signals, a communication connection is established with the second electronic device and a proxy to the machine-learned model is generated. Input data is obtained via a sensor of the first electronic device. A representation of the input data is sent to the second electronic device via the proxy and the established communication connection. The representation of the input data is processed through the machine-learned model to generate an output. A result derived from the output is received via the communication connection and a representation of the result is outputted.Type: ApplicationFiled: August 28, 2019Publication date: December 3, 2020Inventors: Umesh S. VAISHAMPAYAN, Gaurav KAPOOR, Kit-man WAN
-
Patent number: 10657819Abstract: Methods, apparatuses, and non-transitory computer readable storage media for external vehicle communication are described.Type: GrantFiled: September 21, 2017Date of Patent: May 19, 2020Assignee: APPLE INC.Inventors: Kit-Man Wan, Lilli I. Jonsson
-
Publication number: 20200104732Abstract: Disclosed herein is a technique for implementing a framework that enables application developers to enhance their applications with dynamic adjustment capabilities. Specifically, the framework, when utilized by an application on a mobile computing device that implements the framework, can enable the application to establish predictive models that can be used to identify meaningful behavioral patterns of an individual who uses the application. In turn, the predictive models can be used to preempt the individual's actions and provide an enhanced overall user experience. The framework is configured to interface with other software entities on the mobile computing device that conduct various analyses to identify appropriate times for the application to manage and update its predictive models. Such appropriate times can include, for example, identified periods of time where the individual is not operating the mobile computing device, as well as recognized conditions where power consumption is not a concern.Type: ApplicationFiled: December 2, 2019Publication date: April 2, 2020Inventors: Binu K. MATHEW, Kit-Man WAN, Gaurav KAPOOR
-
Publication number: 20200082274Abstract: The subject technology provides receiving a neural network (NN) model to be executed on a target platform, the NN model including multiple layers that include operations and some of the operations being executable on multiple processors of the target platform. The subject technology further sorts the operations from the multiple layers in a particular order based at least in part on grouping the operations that are executable by a particular processor of the multiple processors. The subject technology determines, based at least in part on a cost of transferring the operations between the multiple processors, an assignment of one of the multiple processors for each of the sorted operations of each of the layers in a manner that minimizes a total cost of executing the operations. Further, for each layer of the NN model, the subject technology includes an annotation to indicate the processor assigned for each of the operations.Type: ApplicationFiled: January 30, 2019Publication date: March 12, 2020Inventors: Francesco ROSSI, Cecile M. FORET, Gaurav KAPOOR, Kit-Man WAN, Umesh S. VAISHAMPAYAN, Etienne BELANGER, Albert ANTONY, Alexey MARINICHEV, Marco ZULIANI, Xiaojin SHI
-
Publication number: 20200082273Abstract: The subject technology runs a compiled neural network (NN) model on a particular processor with multiple priority queues for executing different processes, the compiled NN model being assigned to a particular priority queue, and the compiled NN model includes context switch instructions that were previously inserted into a neural network (NN) model from which the compiled NN model was compiled. The subject technology determines that a particular context switch instruction has been executed by the particular processor. The subject technology determines that a different process is waiting to be executed, the different process being assigned to a different priority queue and the different process being a higher priority process than the running compiled NN model. In response to executing the particular context switch instruction, the subject technology performs a context switch to the different process assigned to the different priority queue when the different process is waiting to be executed.Type: ApplicationFiled: January 30, 2019Publication date: March 12, 2020Inventors: Francesco ROSSI, Cecile M. FORET, Gaurav KAPOOR, Kit-Man WAN, Umesh S. VAISHAMPAYAN, Etienne BELANGER
-
Publication number: 20200034725Abstract: Disclosed herein is a technique for implementing a framework that enables application developers to enhance their applications with dynamic adjustment capabilities. Specifically, the framework, when utilized by an application on a mobile computing device that implements the framework, can enable the application to establish predictive models that can be used to identify meaningful behavioral patterns of an individual who uses the application. In turn, the predictive models can be used to preempt the individual's actions and provide an enhanced overall user experience. The framework is configured to interface with other software entities on the mobile computing device that conduct various analyses to identify appropriate times for the application to manage and update its predictive models. Such appropriate times can include, for example, identified periods of time where the individual is not operating the mobile computing device, as well as recognized conditions where power consumption is not a concern.Type: ApplicationFiled: August 12, 2019Publication date: January 30, 2020Inventors: Binu K. MATHEW, Kit-Man WAN, Gaurav KAPOOR
-
Patent number: 10528872Abstract: Disclosed herein is a technique for implementing a framework that enables application developers to enhance their applications with dynamic adjustment capabilities. Specifically, the framework, when utilized by an application on a mobile computing device that implements the framework, can enable the application to establish predictive models that can be used to identify meaningful behavioral patterns of an individual who uses the application. In turn, the predictive models can be used to preempt the individual's actions and provide an enhanced overall user experience. The framework is configured to interface with other software entities on the mobile computing device that conduct various analyses to identify appropriate times for the application to manage and update its predictive models. Such appropriate times can include, for example, identified periods of time where the individual is not operating the mobile computing device, as well as recognized conditions where power consumption is not a concern.Type: GrantFiled: September 29, 2014Date of Patent: January 7, 2020Assignee: APPLE INC.Inventors: Binu K. Mathew, Kit-Man Wan, Gaurav Kapoor
-
Patent number: 10491708Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for notifying context clients of changes to the current context of a computing device. In some implementations, a context client can register to be called back when the context daemon detects specified context. For example, the context client can specify a context in which the context client is interested. When the context daemon detects that the current context of the computing device corresponds to the registered context, the context daemon can notify the context client that the current context matches the context in which the context client is interested. Thus, context clients do not require the programming necessary to independently obtain context updates and detect changes in context that are relevant or of interest to the context client.Type: GrantFiled: May 10, 2016Date of Patent: November 26, 2019Assignee: Apple Inc.Inventors: Michael R. Siracusa, Joao Pedro Forjaz de Lacerda, Kit-Man Wan, Gaurav Kapoor, Umesh S. Vaishampayan