Patents by Inventor Gaurav Kapoor

Gaurav Kapoor 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: 11966315
    Abstract: Systems and methods are disclosed for advising a user when an energy storage device in a computing system needs charging. State of charge data of the energy storage device can be measured and stored at regular intervals. The historic state of charge data can be queried over a plurality of intervals and a state of charge curve generated that is representative of a user's charging habits over time. The state of charge curve can be used to generate a rate of charge histogram and an acceleration of charge histogram. These can be used to predict when a user will charge next, and whether the energy storage device will have an amount of energy below a predetermined threshold amount before the next predicted charging time. A first device can determine when a second device typically charges and whether the energy storage device in the second device will have an amount of energy below the predetermined threshold amount before the next predicted charge time for the second device.
    Type: Grant
    Filed: April 2, 2021
    Date of Patent: April 23, 2024
    Assignee: Apple Inc.
    Inventors: Cyril De La Cropte De Chanterac, Phillip Stanley-Marbell, Kartik Venkatraman, Gaurav Kapoor
  • Patent number: 11847576
    Abstract: 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: Grant
    Filed: August 12, 2019
    Date of Patent: December 19, 2023
    Assignee: Apple Inc.
    Inventors: Binu K. Mathew, Kit-Man Wan, Gaurav Kapoor
  • Publication number: 20230267133
    Abstract: The embodiments set forth techniques for implementing various “prediction engines” that can be configured to provide different kinds of predictions within a mobile computing device. According to some embodiments, each prediction engine can assign itself as an “expert” on one or more “prediction categories” within the mobile computing device. When a software application issues a request for a prediction for a particular category, and two or more prediction engines respond with their respective prediction(s), a “prediction center” can be configured to receive and process the predictions prior to responding to the request. Processing the predictions can involve removing duplicate information that exists across the predictions, sorting the predictions in accordance with confidence levels advertised by the prediction engines, and the like. In this manner, the prediction center can distill multiple predictions down into an optimized prediction and provide the optimized prediction to the software application.
    Type: Application
    Filed: April 12, 2023
    Publication date: August 24, 2023
    Inventors: Joao Pedro LACERDA, Gaurav KAPOOR
  • Publication number: 20230176907
    Abstract: The subject technology provides for dynamic task allocation for neural network models. The subject technology determines an operation performed at a node of a neural network model. The subject technology assigns an annotation to indicate whether the operation is better performed on a CPU or a GPU based at least in part on hardware capabilities of a target platform. The subject technology determines whether the neural network model includes a second layer. The subject technology, in response to determining that the neural network model includes a second layer, for each node of the second layer of the neural network model, determines a second operation performed at the node. Further the subject technology assigns a second annotation to indicate whether the second operation is better performed on the CPU or the GPU based at least in part on the hardware capabilities of the target platform.
    Type: Application
    Filed: December 2, 2022
    Publication date: June 8, 2023
    Inventors: Francesco ROSSI, Gaurav KAPOOR, Michael R. SIRACUSA, William B. MARCH
  • Publication number: 20230177350
    Abstract: 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: Application
    Filed: September 6, 2022
    Publication date: June 8, 2023
    Inventors: 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: 11630851
    Abstract: The embodiments set forth techniques for implementing various “prediction engines” that can be configured to provide different kinds of predictions within a mobile computing device. According to some embodiments, each prediction engine can assign itself as an “expert” on one or more “prediction categories” within the mobile computing device. When a software application issues a request for a prediction for a particular category, and two or more prediction engines respond with their respective prediction(s), a “prediction center” can be configured to receive and process the predictions prior to responding to the request. Processing the predictions can involve removing duplicate information that exists across the predictions, sorting the predictions in accordance with confidence levels advertised by the prediction engines, and the like. In this manner, the prediction center can distill multiple predictions down into an optimized prediction and provide the optimized prediction to the software application.
    Type: Grant
    Filed: July 2, 2019
    Date of Patent: April 18, 2023
    Assignee: Apple Inc.
    Inventors: Joao Pedro Lacerda, Gaurav Kapoor
  • Patent number: 11614922
    Abstract: The subject technology transforms a machine learning model into a transformed machine learning model in accordance with a particular model specification when the machine learning model does not conform to the particular model specification, the particular model specification being compatible with an integrated development environment (IDE). The subject technology generates a code interface and code for the transformed machine learning model, the code interface including code statements in the object oriented programming language, the code statements corresponding to an object representing the transformed machine learning model. Further, the subject technology provides the generated code interface and the code for display in the IDE, the IDE enabling modifying of the generated code interface and the code.
    Type: Grant
    Filed: December 21, 2020
    Date of Patent: March 28, 2023
    Assignee: Apple Inc.
    Inventors: Alexander B. Brown, Michael R. Siracusa, Gaurav Kapoor, Elizabeth Ottens, Christopher M. Hanson, Zachary A. Nation, Vrushali Mundhe, Srikrishna Sridhar
  • Patent number: 11520629
    Abstract: The subject technology provides for dynamic task allocation for neural network models. The subject technology determines an operation performed at a node of a neural network model. The subject technology assigns an annotation to indicate whether the operation is better performed on a CPU or a GPU based at least in part on hardware capabilities of a target platform. The subject technology determines whether the neural network model includes a second layer. The subject technology, in response to determining that the neural network model includes a second layer, for each node of the second layer of the neural network model, determines a second operation performed at the node. Further the subject technology assigns a second annotation to indicate whether the second operation is better performed on the CPU or the GPU based at least in part on the hardware capabilities of the target platform.
    Type: Grant
    Filed: January 29, 2020
    Date of Patent: December 6, 2022
    Assignee: Apple Inc.
    Inventors: Francesco Rossi, Gaurav Kapoor, Michael R. Siracusa, William B. March
  • Patent number: 11496600
    Abstract: 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: Grant
    Filed: August 28, 2019
    Date of Patent: November 8, 2022
    Assignee: Apple Inc.
    Inventors: Umesh S. Vaishampayan, Gaurav Kapoor, Kit-man Wan
  • Patent number: 11468338
    Abstract: 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: Grant
    Filed: January 30, 2019
    Date of Patent: October 11, 2022
    Assignee: 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: 20220276884
    Abstract: A plurality of messages are received and for each respective one of the received plurality of messages: a series of steps can be performed, including identifying language in the respective message, determining at least one heuristic, generating a first modified version of the respective message and generating at least one second modified version of the respective message. The second modified version(s) include language not in the respective message and not in the first modified version of the respective message. Further the at least one second modified version represents the determined at least one other heuristic. A device can be prompted to respond to a survey that includes the respective message(s), at least one first modified version, and/or at least one second modified version. A second survey can be generated of the respective message(s), modified version(s), and/or second modified version(s).
    Type: Application
    Filed: May 13, 2022
    Publication date: September 1, 2022
    Inventor: Gaurav Kapoor
  • Publication number: 20220250297
    Abstract: A process of manufacturing a foot mat is disclosed. The process includes providing a mold containing a plurality of first and second cavities, pouring a first solution of predefined colors in the plurality of first cavities of the mold and injection molding of a second solution in the plurality of second cavities of the mold to form a foot mat.
    Type: Application
    Filed: May 15, 2019
    Publication date: August 11, 2022
    Inventors: SAURABH KAPOOR, GAURAV KAPOOR
  • Patent number: 11383551
    Abstract: A surface shield for an underlying object is disclosed. The surface shield includes a first structure. The first structure has an inner surface and an outer surface. The outer surface includes a plurality of slots. The inner surface is in contact with an underlying surface to be protected. The first structure includes one of a single-part structure or a multi-part structure. The surface shield includes a plurality of clamps removably coupled to the slots of the first structure. Each clamp is coupled to a corresponding slot of the first structure.
    Type: Grant
    Filed: October 11, 2018
    Date of Patent: July 12, 2022
    Inventors: Saurabh Kapoor, Gaurav Kapoor, Simar Kapoor
  • Patent number: 11340923
    Abstract: A plurality of messages are received and for each respective one of the received plurality of messages: a series of steps can be performed, including identifying language in the respective message, determining at least one heuristic, generating a first modified version of the respective message and generating at least one second modified version of the respective message. The second modified version(s) include language not in the respective message and not in the first modified version of the respective message. Further the at least one second modified version represents the determined at least one other heuristic. A device can be prompted to respond to a survey that includes the respective message(s), at least one first modified version, and/or at least one second modified version. A second survey can be generated of the respective message(s), modified version(s), and/or second modified version(s).
    Type: Grant
    Filed: May 27, 2020
    Date of Patent: May 24, 2022
    Assignee: NEWRISTICS LLC
    Inventor: Gaurav Kapoor
  • Publication number: 20210398021
    Abstract: 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: Application
    Filed: June 14, 2021
    Publication date: December 23, 2021
    Inventors: Umesh S. VAISHAMPAYAN, Gaurav KAPOOR, Kit-Man WAN
  • Publication number: 20210390087
    Abstract: 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: Application
    Filed: June 23, 2021
    Publication date: December 16, 2021
    Inventors: Stephen C. PETERS, Kit-Man WAN, Gaurav KAPOOR
  • Publication number: 20210326230
    Abstract: Systems and methods are disclosed for advising a user when an energy storage device in a computing system needs charging. State of charge data of the energy storage device can be measured and stored at regular intervals. The historic state of charge data can be queried over a plurality of intervals and a state of charge curve generated that is representative of a user's charging habits over time. The state of charge curve can be used to generate a rate of charge histogram and an acceleration of charge histogram. These can be used to predict when a user will charge next, and whether the energy storage device will have an amount of energy below a predetermined threshold amount before the next predicted charging time. A first device can determine when a second device typically charges and whether the energy storage device in the second device will have an amount of energy below the predetermined threshold amount before the next predicted charge time for the second device.
    Type: Application
    Filed: April 2, 2021
    Publication date: October 21, 2021
    Inventors: Cyril DE LA CROPTE DE CHANTERAC, Phillip STANLEY-MARBELL, Kartik VENKATRAMAN, Gaurav KAPOOR
  • Publication number: 20210306812
    Abstract: Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display are disclosed herein. In one aspect, a method includes presenting content in a first application. At least a portion of the content is presented without requiring input from a user. The method further includes receiving a request to open a second application. In response to receiving the request, the second application is presented with an input-receiving field. Before receiving any user input at the input-receiving field, a selectable user interface object is displayed with an indication that the portion of the content was viewed in the first application, allowing the user to paste at least the portion of the content into the input-receiving field. In response to detecting a selection of the selectable user interface object, the portion of the content is pasted into the input-receiving field.
    Type: Application
    Filed: June 11, 2021
    Publication date: September 30, 2021
    Inventors: Daniel C. GROSS, Patrick L. COFFMAN, Richard R. DELLINGER, Christopher P. FOSS, Jason J. GAUCI, Aria D. HAGHIGHI, Cyrus D. IRANI, Bronwyn A. JONES, Gaurav KAPOOR, Stephen O. LEMAY, Colin C. MORRIS, Michael R. SIRACUSA, Lawrence Y. YANG, Brent D. RAMERTH, Jerome R. BELLEGARDA, Jannes G.A. DOLFING, Giulia P. PAGALLO, Xin WANG, Jun HATORI, Alexandre R. MOHA, Kevin D. CLARK, Karl Christian KOHLSCHUETTER, Jesper A. ANDERSEN, Hafid ARRAS, Alexandre CARLHIAN, Thomas DENIAU, Mathieu J. MARTEL, Sofiane TOUDJI
  • Patent number: 11116425
    Abstract: Pacer activity data of a user may be managed. For example, historical activity data of a user corresponding to a particular time of a day prior to a current day may be received. Additionally, a user interface configured to display an activity goal of the user may be generated and the user interface may be provided for presentation. In some aspects, the user interface may be configured to display a first indicator that identifies cumulative progress towards the activity goal and a second indicator that identifies predicted cumulative progress towards the activity goal. The cumulative progress may be calculated based on monitored activity from a start of the current day to the particular time of the current day and the predicted cumulative progress may be calculated based on the received historical activity data corresponding to the particular time of the day prior to the current day.
    Type: Grant
    Filed: November 5, 2018
    Date of Patent: September 14, 2021
    Assignee: Apple Inc.
    Inventors: Daniel S. Keen, Jay C. Blahnik, Gaurav Kapoor, Michael R. Siracusa
  • Patent number: 11070949
    Abstract: Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display are disclosed herein. In one aspect, a method includes presenting content in a first application. At least a portion of the content is presented without requiring input from a user. The method further includes receiving a request to open a second application. In response to receiving the request, the second application is presented with an input-receiving field. Before receiving any user input at the input-receiving field, a selectable user interface object is displayed with an indication that the portion of the content was viewed in the first application, allowing the user to paste at least the portion of the content into the input-receiving field. In response to detecting a selection of the selectable user interface object, the portion of the content is pasted into the input-receiving field.
    Type: Grant
    Filed: June 4, 2020
    Date of Patent: July 20, 2021
    Assignee: Apple Inc.
    Inventors: Daniel C. Gross, Patrick L. Coffman, Richard R. Dellinger, Christopher P. Foss, Jason J. Gauci, Aria D. Haghighi, Cyrus D. Irani, Bronwyn A. Jones, Gaurav Kapoor, Stephen O. Lemay, Colin C. Morris, Michael R. Siracusa, Lawrence Y. Yang, Brent D. Ramerth, Jerome R. Bellegarda, Jannes G. A. Dolfing, Giulia P. Pagallo, Xin Wang, Jun Hatori, Alexandre R. Moha, Kevin D. Clark, Karl Christian Kohlschuetter, Jesper A. Andersen, Hafid Arras, Alexandre Carlhian, Thomas Deniau, Mathieu J. Martel, Sofiane Toudji