Patents by Inventor Arun Kishan
Arun Kishan 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).
-
Publication number: 20230385091Abstract: The present disclosure relates to systems, methods, and computer-readable media for determining optimal index configurations for intelligently managing updates of virtual machines in an offline manner in a cloud computing system. For instance, a virtual machine (VM) update system can efficiently determine when to apply updates to virtual machines in an intelligent manner that prevents the updates from interfering with the deallocation of virtual machines. In addition, the VM update system can utilize the operating system (OS) disk image snapshots to automatically provide safeguards and ensure that updates do not degrade the performance of the virtual machines, or in the case of an update failure, that the virtual machines are restored to their previous state without the data loss.Type: ApplicationFiled: May 24, 2022Publication date: November 30, 2023Inventors: Govind RAMASWAMY, Murali Mohan CHINTALAPATI, Yingnong DANG, Daniele MASO, Pritesh PATWA, Najam SHAHID, Ravikiran Janardhan REDDY, Arun KISHAN
-
Publication number: 20180321966Abstract: Various aspects are disclosed herein for attenuating spin waiting in a virtual machine environment comprising a plurality of virtual machines and virtual processors. Selected virtual processors can be given time slice extensions in order to prevent such virtual processors from becoming de-scheduled (and hence causing other virtual processors to have to spin wait). Selected virtual processors can also be expressly scheduled so that they can be given higher priority to resources, resulting in reduced spin waits for other virtual processors waiting on such selected virtual processors. Finally, various spin wait detection techniques can be incorporated into the time slice extension and express scheduling mechanisms, in order to identify potential and existing spin waiting scenarios.Type: ApplicationFiled: July 10, 2018Publication date: November 8, 2018Inventors: Yau Ning Chin, John Te-Jui Sheu, Arun Kishan, Thomas Fahrig, Rene Antonio Vega
-
Patent number: 10089119Abstract: A computer operating system with a map that relates API namespaces to components that implement an interface contracts for the namespaces. When an API namespace is to be used, a loader within the operating system uses the map to load components based on the map. An application can reference an API namespace in the same way as it references a dynamically linked library, but the implementation of the interface contract for the API namespace is not tied to a single file or to a static collection of files. The map may identify versions of the API namespace or values of runtime parameters that may be used to select appropriate files to implement an interface contract in scenarios that may depend on factors such as hardware in the execution environment, a version of the API namespace against which an application was developed or the application accessing the API namespace.Type: GrantFiled: March 3, 2010Date of Patent: October 2, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Arun Kishan, Karthik Thirumalai, Richard A. Pletcher, Bryan W. Fagan
-
Patent number: 10067782Abstract: Various aspects are disclosed herein for attenuating spin waiting in a virtual machine environment comprising a plurality of virtual machines and virtual processors. Selected virtual processors can be given time slice extensions in order to prevent such virtual processors from becoming de-scheduled (and hence causing other virtual processors to have to spin wait). Selected virtual processors can also be expressly scheduled so that they can be given higher priority to resources, resulting in reduced spin waits for other virtual processors waiting on such selected virtual processors. Finally, various spin wait detection techniques can be incorporated into the time slice extension and express scheduling mechanisms, in order to identify potential and existing spin waiting scenarios.Type: GrantFiled: November 18, 2015Date of Patent: September 4, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Yau Ning Chin, John Te-Jui Sheu, Arun Kishan, Thomas Fahrig, Rene Antonio Vega
-
Patent number: 9996329Abstract: Various systems and methods for translating atomic read-modify-write accesses are described herein. In one example, a method includes determining that a machine instruction of a first language specifies an atomic read-modify-write access. The method includes generating machine instructions of the second language to perform an atomic access for the address if the address is aligned. The method includes generating machine instructions of a second language to acquire a global lock if the address is unaligned. Additionally, the method includes generating machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned. Also, the method includes generating machine instructions of the second language to release the global lock if the address is unaligned.Type: GrantFiled: February 16, 2016Date of Patent: June 12, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Clarence Dang, Youssef Barakat, Arun Kishan
-
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: 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.
-
Publication number: 20170235557Abstract: Various systems and methods for translating atomic read-modify-write accesses are described herein. In one example, a method includes determining that a machine instruction of a first language specifies an atomic read-modify-write access. The method includes generating machine instructions of the second language to perform an atomic access for the address if the address is aligned. The method includes generating machine instructions of a second language to acquire a global lock if the address is unaligned. Additionally, the method includes generating machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned. Also, the method includes generating machine instructions of the second language to release the global lock if the address is unaligned.Type: ApplicationFiled: February 16, 2016Publication date: August 17, 2017Applicant: Microsoft Technology Licensing, LLC.Inventors: Clarence Dang, Youssef Barakat, Arun Kishan
-
Patent number: 9715406Abstract: An operating system provides a pool of worker threads servicing multiple queues of requests at different priority levels. A concurrency controller limits the number of currently executing threads. The system tracks the number of currently executing threads above each priority level, and preempts operations of lower priority worker threads in favor of higher priority worker threads. A system can have multiple pools of worker threads, with each pool having its own priority queues and concurrency controller. A thread also can change its priority mid-operation. If a thread becomes lower priority and is currently active, then steps are taken to ensure priority inversion does not occur. In particular, the current thread for the now lower priority item can be preempted by a thread for a higher priority item and the preempted item is placed in the lower priority queue.Type: GrantFiled: June 14, 2013Date of Patent: July 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Pedro Teixeira, Arun Kishan
-
Patent number: 9600325Abstract: Aspects of the present invention are directed at providing safe and efficient ways for a program to perform a one-time initialization of a data item in a multi-threaded environment. In accordance with one embodiment, a method is provided that allows a program to perform a synchronized initialization of a data item that may be accessed by multiple threads. More specifically, the method includes receiving a request to initialize the data item from a current thread. In response to receiving the request, the method determines whether the current thread is the first thread to attempt to initialize the data item. If the current thread is the first thread to attempt to initialize the data item, the method enforces mutual exclusion and blocks other attempts to initialize the data item made by concurrent threads. Then, the current thread is allowed to execute program code provided by the program to initialize the data item.Type: GrantFiled: May 12, 2011Date of Patent: March 21, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Arun Kishan, Neill M. Clift
-
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
-
Patent number: 9582316Abstract: Aspects of the present invention are directed at providing safe and efficient ways for a program to perform a one-time initialization of a data item in a multi-threaded environment. In accordance with one embodiment, a method is provided that allows a program to perform a synchronized initialization of a data item that may be accessed by multiple threads. More specifically, the method includes receiving a request to initialize the data item from a current thread. In response to receiving the request, the method determines whether the current thread is the first thread to attempt to initialize the data item. If the current thread is the first thread to attempt to initialize the data item, the method enforces mutual exclusion and blocks other attempts to initialize the data item made by concurrent threads. Then, the current thread is allowed to execute program code provided by the program to initialize the data item.Type: GrantFiled: May 12, 2011Date of Patent: February 28, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Arun Kishan, Neill M Clift
-
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: 20160321116Abstract: Various systems and methods for translating operating system processes are described herein. In one example, a method includes intercepting a process of a foreign operating system through a proxy driver. The method can also include translating the process to a native operating system within which the foreign operating system is operating. Furthermore, the method can include sharing memory between the native operating system and the foreign operating system for translation.Type: ApplicationFiled: June 26, 2015Publication date: November 3, 2016Applicant: Microsoft Technology Licensing, LLCInventors: James A. Schwartz, Jr., Arun Kishan, Nicholas S. Judge, Stephen Hufnagel, Yevgeniy M. Bak, Mehmet Iyigun, Jeffrey B. Kay, Cory Hendrixson, Jonathan Wiswall, Edward S. Miller
-
Patent number: 9477515Abstract: In one embodiment, the present invention includes a method for receiving control in a kernel mode via a ring transition from a user thread during execution of an unbounded transactional memory (UTM) transaction, updating a state of a transaction status register (TSR) associated with the user thread and storing the TSR with a context of the user thread, and later restoring the context during a transition from the kernel mode to the user thread. In this way, the UTM transaction may continue on resumption of the user thread. Other embodiments are described and claimed.Type: GrantFiled: August 1, 2013Date of Patent: October 25, 2016Assignee: Intel CorporationInventors: Koichi Yamada, Landy Wang, Martin Taillefer, Arun Kishan, David Callahan, Jan Gray, Gad Sheaffer, Ali-Reza Adl-Tabatabai
-
Publication number: 20160216973Abstract: In one embodiment, the present invention includes a method for receiving control in a kernel mode via a ring transition from a user thread during execution of an unbounded transactional memory (UTM) transaction, updating a state of a transaction status register (TSR) associated with the user thread and storing the TSR with a context of the user thread, and later restoring the context during a transition from the kernel mode to the user thread. In this way, the UTM transaction may continue on resumption of the user thread. Other embodiments are described and claimed.Type: ApplicationFiled: August 1, 2013Publication date: July 28, 2016Inventors: Koichi Yamada, GAD SHEAFFER, JAN GRAY, LANDY WANG, MARTIN TAILLEFER, ARUN KISHAN, ALI-REZA ADL-TABATABAI, DAVID CALLAHAN
-
Publication number: 20160154666Abstract: Various aspects are disclosed herein for attenuating spin waiting in a virtual machine environment comprising a plurality of virtual machines and virtual processors. Selected virtual processors can be given time slice extensions in order to prevent such virtual processors from becoming de-scheduled (and hence causing other virtual processors to have to spin wait). Selected virtual processors can also be expressly scheduled so that they can be given higher priority to resources, resulting in reduced spin waits for other virtual processors waiting on such selected virtual processors. Finally, various spin wait detection techniques can be incorporated into the time slice extension and express scheduling mechanisms, in order to identify potential and existing spin waiting scenarios.Type: ApplicationFiled: November 18, 2015Publication date: June 2, 2016Inventors: Yau Ning Chin, John Te-Jui Sheu, Arun Kishan, Thomas Fahrig
-
Publication number: 20160034308Abstract: 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: ApplicationFiled: October 14, 2015Publication date: February 4, 2016Inventors: Arun Kishan, Hari Pulapaka, Alain Geffaut, Alex Bendetov, Pedro Miguel Sequeira de Justo Teixeira
-
Patent number: 9201673Abstract: Various aspects are disclosed herein for attenuating spin waiting in a virtual machine environment comprising a plurality of virtual machines and virtual processors. Selected virtual processors can be given time slice extensions in order to prevent such virtual processors from becoming de-scheduled (and hence causing other virtual processors to have to spin wait). Selected virtual processors can also be expressly scheduled so that they can be given higher priority to resources, resulting in reduced spin waits for other virtual processors waiting on such selected virtual processors. Finally, various spin wait detection techniques can be incorporated into the time slice extension and express scheduling mechanisms, in order to identify potential and existing spin waiting scenarios.Type: GrantFiled: July 30, 2008Date of Patent: December 1, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Yau Ning Chin, Rene Antonio Vega, John Te-Jui Sheu, Arun Kishan, Thomas Fahrig
-
Patent number: 9164803Abstract: 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: January 20, 2012Date of Patent: October 20, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Arun Kishan, Hari Pulapaka, Alain Gefflaut, Alex Bendetov, Pedro Miguel Sequeira de Justo Teixeira