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: 11797328Abstract: 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: GrantFiled: October 14, 2019Date of Patent: October 24, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Margarit Chenchev, Benjamin M. Schultz, Gopikrishna Kannan, Graham Wong, Harish Srinivasan, Arup Roy, Hari Pulapaka
-
Publication number: 20210109774Abstract: 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: ApplicationFiled: October 14, 2019Publication date: April 15, 2021Inventors: Margarit CHENCHEV, Benjamin M. SCHULTZ, Gopikrishna KANNAN, Graham WONG, Harish SRINIVASAN, Arup ROY, Hari PULAPAKA
-
Patent number: 10628238Abstract: 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: GrantFiled: May 27, 2016Date of Patent: April 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: James A. Schwartz, Arun U. Kishan, Richard K. Neves, David B. Probert, Hari Pulapaka, Alain F. Gefflaut
-
Patent number: 10528083Abstract: 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: GrantFiled: October 2, 2018Date of Patent: January 7, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Ankit Srivastava, Hari Pulapaka
-
Patent number: 10491535Abstract: 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: GrantFiled: October 31, 2016Date of Patent: November 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jeroen Vanturennout, Jason Wadsworth, Yuanquan Zhang, Ranjib Singh Badh, Hari Pulapaka, Alain Gefflaut, Eyal Axelrod
-
Patent number: 10088892Abstract: 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: GrantFiled: March 21, 2016Date of Patent: October 2, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Hari Pulapaka, Alain Gefflaut, Jon Robert Berry, Emily Wilson, Qian Liu
-
Patent number: 9952897Abstract: 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: GrantFiled: September 12, 2011Date of Patent: April 24, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Neeraj Kumar Singh, Hari Pulapaka, Arun Kishan, James A. Schwartz, Jr.
-
Patent number: 9952903Abstract: 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: GrantFiled: October 14, 2015Date of Patent: April 24, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Arun Kishan, Hari Pulapaka, Alain Gefflaut, Alex Bendetov, Pedro Miguel Sequeira de Justo Teixeira
-
Patent number: 9836601Abstract: 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: GrantFiled: August 8, 2016Date of Patent: December 5, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: 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: 9588576Abstract: 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: GrantFiled: September 12, 2011Date of Patent: March 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Neeraj Kumar Singh, Hari Pulapaka, Arun Kishan
-
Publication number: 20170048161Abstract: 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: ApplicationFiled: October 31, 2016Publication date: February 16, 2017Inventors: Jeroen Vanturennout, Jason Wadsworth, Yuanquan Zhang, Ranjib Singh Badh, Hari Pulapaka, Alain Gefflaut, Eyal Axelrod
-
Publication number: 20170031734Abstract: 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: ApplicationFiled: May 27, 2016Publication date: February 2, 2017Inventors: James A. Schwartz, Arun U. Kishan, Richard K. Neves, David B. Probert, Hari Pulapaka, Alain F. Gefflaut
-
Patent number: 9519490Abstract: 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: GrantFiled: March 7, 2013Date of Patent: December 13, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Jeroen Vanturennout, Jason Wadsworth, Yuanquan Zhang, Ranjib Singh Badh, Hari Pulapaka, Alain Gefflaut, Eyal Axelrod
-
Patent number: 9508040Abstract: 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: GrantFiled: June 12, 2013Date of Patent: November 29, 2016Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20160342790Abstract: 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: ApplicationFiled: August 8, 2016Publication date: November 24, 2016Inventors: 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: 9489236Abstract: 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: GrantFiled: October 31, 2012Date of Patent: November 8, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Arun U. Kishan, Hari Pulapaka, James Anthony Schwartz, Jr., Alex Bendetov
-
Patent number: 9424425Abstract: 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: GrantFiled: May 31, 2013Date of Patent: August 23, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: 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: 20160202750Abstract: 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: ApplicationFiled: March 21, 2016Publication date: July 14, 2016Inventors: Hari Pulapaka, Alain Gefflaut, Jon Robert Berry, Emily Wilson, Qian Liu
-
Patent number: 9361136Abstract: 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: GrantFiled: April 22, 2015Date of Patent: June 7, 2016Assignee: Microsoft Technology Licensing, LLCInventors: James A. Schwartz, Jr., Arun U. Kishan, Richard K. Neves, David B. Probert, Hari Pulapaka, Alain F. Gefflaut
-
Patent number: 9361150Abstract: 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: GrantFiled: September 30, 2013Date of Patent: June 7, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Benjamin S. Srour, Michael H. Krause, Richard K. Neves, Arun U. Kishan, Hari Pulapaka, David B. Probert, Zinaida A. Pozen