Patents by Inventor Hari Pulapaka

Hari Pulapaka 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: 11797328
    Abstract: A virtualization partition (VP) is executed by a virtualization layer. The VP contains guest software that executes in isolation within the VP. The guest software has a background task (BT) that needs to be performed in the future. The BT is virtualized by a BT service that executes outside of the VP. The guest software registers the BT, through the virtualization layer, with a BT virtualization service. An event occurs outside of the VP that triggers the BT. The BT virtualization service responds to the event by assuring that the VP is available (executing), and optionally triggers (possibly indirectly) the execution of code in the application.
    Type: Grant
    Filed: October 14, 2019
    Date of Patent: October 24, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Margarit Chenchev, Benjamin M. Schultz, Gopikrishna Kannan, Graham Wong, Harish Srinivasan, Arup Roy, Hari Pulapaka
  • Publication number: 20210109774
    Abstract: A virtualization partition (VP) is executed by a virtualization layer. The VP contains guest software that executes in isolation within the VP. The guest software has a background task (BT) that needs to be performed in the future. The BT is virtualized by a BT service that executes outside of the VP. The guest software registers the BT, through the virtualization layer, with a BT virtualization service. An event occurs outside of the VP that triggers the BT. The BT virtualization service responds to the event by assuring that the VP is available (executing), and optionally triggers (possibly indirectly) the execution of code in the application.
    Type: Application
    Filed: October 14, 2019
    Publication date: April 15, 2021
    Inventors: Margarit CHENCHEV, Benjamin M. SCHULTZ, Gopikrishna KANNAN, Graham WONG, Harish SRINIVASAN, Arup ROY, Hari PULAPAKA
  • Patent number: 10628238
    Abstract: Systems, methods, and apparatus for separately loading and managing foreground work and background work of an application. In some embodiments, a method is provided for use by an operating system executing on at least one computer. The operating system may identify at least one foreground component and at least one background component of an application, and may load the at least one foreground component for execution separately from the at least one background component. For example, the operating system may execute the at least one foreground component without executing the at least one background component. In some further embodiments, the operating system may use a specification associated with the application to identify at least one piece of computer executable code implementing the at least one background component.
    Type: Grant
    Filed: May 27, 2016
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James A. Schwartz, Arun U. Kishan, Richard K. Neves, David B. Probert, Hari Pulapaka, Alain F. Gefflaut
  • Patent number: 10528083
    Abstract: A cover for a mobile device includes solar panels and an integrated keyboard. The solar panels are positioned on a stand of the cover and an angle associated with the solar panels can be changed so as to maximize input from a light source. The cover can be used to supply power and keyboard input to a mobile device while in use.
    Type: Grant
    Filed: October 2, 2018
    Date of Patent: January 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ankit Srivastava, Hari Pulapaka
  • Patent number: 10491535
    Abstract: In one embodiment, an application module 114 may adjust a synchronization scheme 306 based on the operational state of a computing device 110. An operating system 112 may determine an operational state for a computing device 110. The operating system 112 may assign a synchronization allotment 304 to the application module 114 based on the operational state. A synchronization engine 116 of the application module 114 may implement a synchronization scheme 306 based on the synchronization allotment 304.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: November 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jeroen Vanturennout, Jason Wadsworth, Yuanquan Zhang, Ranjib Singh Badh, Hari Pulapaka, Alain Gefflaut, Eyal Axelrod
  • Patent number: 10088892
    Abstract: Controlling background activity in a computing device or system during a low-power mode is described. In some example techniques, when a computing device or system is in a low power mode, a determination is made whether to block one or more trigger events from causing an activation of one or more respective background task operations. Based at least in part on the determination, at least one trigger event may be allowed to cause an activation of a respective background task operation during the low power mode.
    Type: Grant
    Filed: March 21, 2016
    Date of Patent: October 2, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Hari Pulapaka, Alain Gefflaut, Jon Robert Berry, Emily Wilson, Qian Liu
  • Patent number: 9952897
    Abstract: One or more techniques and/or systems are provided for suspending logically related processes associated with an application, determining whether to resume a suspended process based upon one or more wake policies, and/or managing an application state of an application, such as timer and/or system message data. That is, logically related processes associated with an application, such as child processes, may be identified and suspended based upon logical relationships between the processes (e.g., a logical container hierarchy may be traversed to identify logically related processes). A suspended process may be resumed based upon a set of wake policies. For example, a suspended process may be resumed based upon an inter-process communication call policy that may be triggered by an application attempting to communicate with the suspended process. Application data may be managed while an application is suspended so that the application may be resumed in a current and/or relevant state.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: April 24, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neeraj Kumar Singh, Hari Pulapaka, Arun Kishan, James A. Schwartz, Jr.
  • Patent number: 9952903
    Abstract: Among other things, one or more techniques and/or systems are provided for controlling resource access for background tasks. For example, a background task created by an application may utilize a resource (e.g., CPU cycles, bandwidth usage, etc.) by consuming resource allotment units from an application resource pool. Once the application resource pool is exhausted, the background task is generally restricted from utilizing the resource. However, the background task may also utilize global resource allotment units from a global resource pool shared by a plurality of applications to access the resource. Once the global resource pool is exhausted, unless the background task is a guaranteed background task which can consume resources regardless of resource allotment states of resource pools, the background task may be restricted from utilizing the resource until global resource allotment units within the global resource pool and/or resource allotment units within the application resource pool are replenished.
    Type: Grant
    Filed: October 14, 2015
    Date of Patent: April 24, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arun Kishan, Hari Pulapaka, Alain Gefflaut, Alex Bendetov, Pedro Miguel Sequeira de Justo Teixeira
  • Patent number: 9836601
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware process is launched. The anti-malware process is verified based at least in part on an anti-malware driver that contains certificate pairs which contain an identity that is signed with the trusted certificate from a verified source. After the anti-malware process is verified, the anti-malware process may be assigned a protection level, and an administrative user may be prevented from altering the anti-malware process.
    Type: Grant
    Filed: August 8, 2016
    Date of Patent: December 5, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, Jr., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Patent number: 9588576
    Abstract: One or more techniques and/or systems are provided for suspending logically related processes associated with an application, determining whether to resume a suspended process based upon one or more wake policies, and/or managing an application state of an application, such as timer and/or system message data. That is, logically related processes associated with an application, such as child processes, may be identified and suspended based upon logical relationships between the processes (e.g., a logical container hierarchy may be traversed to identify logically related processes). A suspended process may be resumed based upon a set of wake policies. For example, a suspended process may be resumed based upon an inter-process communication call policy that may be triggered by an application attempting to communicate with the suspended process. Application data may be managed while an application is suspended so that the application may be resumed in a current and/or relevant state.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: March 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neeraj Kumar Singh, Hari Pulapaka, Arun Kishan
  • Publication number: 20170048161
    Abstract: In one embodiment, an application module 114 may adjust a synchronization scheme 306 based on the operational state of a computing device 110. An operating system 112 may determine an operational state for a computing device 110. The operating system 112 may assign a synchronization allotment 304 to the application module 114 based on the operational state. A synchronization engine 116 of the application module 114 may implement a synchronization scheme 306 based on the synchronization allotment 304.
    Type: Application
    Filed: October 31, 2016
    Publication date: February 16, 2017
    Inventors: Jeroen Vanturennout, Jason Wadsworth, Yuanquan Zhang, Ranjib Singh Badh, Hari Pulapaka, Alain Gefflaut, Eyal Axelrod
  • Publication number: 20170031734
    Abstract: Systems, methods, and apparatus for separately loading and managing foreground work and background work of an application. In some embodiments, a method is provided for use by an operating system executing on at least one computer. The operating system may identify at least one foreground component and at least one background component of an application, and may load the at least one foreground component for execution separately from the at least one background component. For example, the operating system may execute the at least one foreground component without executing the at least one background component. In some further embodiments, the operating system may use a specification associated with the application to identify at least one piece of computer executable code implementing the at least one background component.
    Type: Application
    Filed: May 27, 2016
    Publication date: February 2, 2017
    Inventors: James A. Schwartz, Arun U. Kishan, Richard K. Neves, David B. Probert, Hari Pulapaka, Alain F. Gefflaut
  • Patent number: 9519490
    Abstract: In one embodiment, an application module 114 may adjust a synchronization scheme 306 based on the operational state of a computing device 110. An operating system 112 may determine an operational state for a computing device 110. The operating system 112 may assign a synchronization allotment 304 to the application module 114 based on the operational state. A synchronization engine 116 of the application module 114 may implement a synchronization scheme 306 based on the synchronization allotment 304.
    Type: Grant
    Filed: March 7, 2013
    Date of Patent: December 13, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jeroen Vanturennout, Jason Wadsworth, Yuanquan Zhang, Ranjib Singh Badh, Hari Pulapaka, Alain Gefflaut, Eyal Axelrod
  • Patent number: 9508040
    Abstract: Systems and methods of pre-launching applications in a computer system, said applications being likely to be activated by a user from a terminated and/or suspended process state, are disclosed. The pre-launching of an application may be based on the assessed probability of the application being activated—as well as the level of availability of system resources to affect such pre-launching. Applications may be pre-launched based on these and other conditions/considerations, designed to improve the user's experience of a quick launch of applications in the background. Several prediction models are presented to provide a good estimate of the likelihood of an application being activated by a user. Such prediction models may comprise an adaptive predictor (based on past application usage situations) and/or a switch rate predictor (based on historic data of an application being switched and, possibly, having a decay rate applied to such switch rate measure).
    Type: Grant
    Filed: June 12, 2013
    Date of Patent: November 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ahmad Bilal, Mehmet Iyigun, Milos Kralj, Christopher Kleynhans, Hari Pulapaka, Arun Kishan, Asela Gunawardana, Paul Koch, Christopher Meek, Eric Horvitz, Rich Caruana, Michael Fortin
  • Publication number: 20160342790
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware process is launched. The anti-malware process is verified based at least in part on an anti-malware driver that contains certificate pairs which contain an identity that is signed with the trusted certificate from a verified source. After the anti-malware process is verified, the anti-malware process may be assigned a protection level, and an administrative user may be prevented from altering the anti-malware process.
    Type: Application
    Filed: August 8, 2016
    Publication date: November 24, 2016
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, JR., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Patent number: 9489236
    Abstract: Among other things, one or more techniques and/or systems are provided for application prioritization. For example, an operating system of a computing device may contemporaneously host one or more applications, which may compete for computing resources, such as CPU cycles, I/O operations, memory access, and/or network bandwidth. Accordingly, an application (e.g., a background task or service) may be placed within a de-prioritized operating mode during launch and/or during execution, which may result in the application receiving a relatively lower priority when competing with applications placed within a standard operating mode for access to computing resources. In this way, an application placed within a standard operating mode (e.g.
    Type: Grant
    Filed: October 31, 2012
    Date of Patent: November 8, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arun U. Kishan, Hari Pulapaka, James Anthony Schwartz, Jr., Alex Bendetov
  • Patent number: 9424425
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware process is launched. The anti-malware process is verified based at least in part on an anti-malware driver that contains certificates which contain an identity that is signed with the trusted certificate from a verified source. After the anti-malware process is verified, the anti-malware process may be assigned a protection level, and an administrative user may be prevented from altering the anti-malware process.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: August 23, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, Jr., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Publication number: 20160202750
    Abstract: Controlling background activity in a computing device or system during a low-power mode is described. In some example techniques, when a computing device or system is in a low power mode, a determination is made whether to block one or more trigger events from causing an activation of one or more respective background task operations. Based at least in part on the determination, at least one trigger event may be allowed to cause an activation of a respective background task operation during the low power mode.
    Type: Application
    Filed: March 21, 2016
    Publication date: July 14, 2016
    Inventors: Hari Pulapaka, Alain Gefflaut, Jon Robert Berry, Emily Wilson, Qian Liu
  • Patent number: 9361136
    Abstract: Systems, methods, and apparatus for separately loading and managing foreground work and background work of an application. In some embodiments, a method is provided for use by an operating system executing on at least one computer. The operating system may identify at least one foreground component and at least one background component of an application, and may load the at least one foreground component for execution separately from the at least one background component. For example, the operating system may execute the at least one foreground component without executing the at least one background component. In some further embodiments, the operating system may use a specification associated with the application to identify at least one piece of computer executable code implementing the at least one background component.
    Type: Grant
    Filed: April 22, 2015
    Date of Patent: June 7, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James A. Schwartz, Jr., Arun U. Kishan, Richard K. Neves, David B. Probert, Hari Pulapaka, Alain F. Gefflaut
  • Patent number: 9361150
    Abstract: Only a particular number of applications on a computing device are active at any given time, with applications that are not active being suspended. A policy is applied to determine when an application is to be suspended. However, an operating system component can have a particular application be exempted from being suspended (e.g., due to an operation being performed by the application). Additionally, an operating system component can have an application that has been suspended resumed (e.g., due to a desire of another application to communicate with the suspended application).
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: June 7, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin S. Srour, Michael H. Krause, Richard K. Neves, Arun U. Kishan, Hari Pulapaka, David B. Probert, Zinaida A. Pozen