Patents by Inventor Prashanth K. Nageshappa
Prashanth K. Nageshappa 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: 20130047152Abstract: Methods, apparatuses, and computer program products for preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor are provided. Embodiments include identifying, by the hypervisor, a privileged guest from among a plurality of guests of the hypervisor; identifying, by the hypervisor, portions of the overcommitted resource that are allocated to the privileged guest; and preventing, by the hypervisor, resource management adjustment to the identified portions of the overcommitted resource that are allocated to the privileged guest.Type: ApplicationFiled: August 18, 2011Publication date: February 21, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew R. Low, Prashanth K. Nageshappa, Saket Saurabh, Shivasheesh, Balbir Singh
-
Patent number: 8347273Abstract: A specification of a routine name of a root of a call tree and a specification of a desired depth of call tree tracing are obtained. Upon entering a given routine in a program, a determination is made whether the given routine is the root. Responsive to determining that the given one of the routines is the root, trace information for the routine forming the root is output. Furthermore, upon entering a given one of the routines called, directly or indirectly, by the routine forming the root, a determination is made whether the given one of the routines called, directly or indirectly, by the routine forming the root of the call tree is within the desired depth from the routine forming the root of the call tree; and if this is the case, trace information is output for given one of the routines called, directly or indirectly, by the routine forming the root of the call tree.Type: GrantFiled: October 9, 2008Date of Patent: January 1, 2013Assignee: International Business Machines CorporationInventors: Prashanth K. Nageshappa, Prasanna K. Kalle, Venkataraghavan Lakshminarayanachar
-
Patent number: 8341643Abstract: Shared memory and sockets are used to protect shared resources where multiple operating systems execute concurrently on the same hardware. Rather than using spinlocks for serializing access, when a thread is unable to acquire a shared resource because that resource is already held by another thread, the thread creates a socket with which it will wait to be notified that the shared resource has been released. The sockets may be network sockets or in-memory sockets that are accessible across the multiple operating systems; if sockets are not available, communication technology that provides analogous services between operating systems may be used instead. Optionally, fault tolerance is provided to address socket failures, in which case one or more threads may fall back (at least temporarily) to using spinlocks. A locking service may execute on each operating system to provide a programming interface through which threads can invoke lock operations.Type: GrantFiled: March 29, 2010Date of Patent: December 25, 2012Assignee: International Business Machines CorporationInventors: Michael Fulton, Angela Lin, Andrew R. Low, Prashanth K. Nageshappa
-
Publication number: 20120324443Abstract: A computer-implemented method is provided for reducing network traffic associated with live migration. The method comprises selecting a virtual machine on a first physical host for migration to a second physical host, and providing each application running in the selected virtual machine with notification that the migration has started. In response to receiving the notification that the migration has started, each application reducing the number of memory pages in use during the migration. The selected virtual machine and each application is then migrated from the first physical host to the second physical host, wherein the migration of each application includes migration of the reduced number of memory pages.Type: ApplicationFiled: June 14, 2011Publication date: December 20, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew R. Low, Prashanth K. Nageshappa, Sathiskumar Palaniappan, Balbir Singh
-
Publication number: 20120324480Abstract: A method of serialization in a data processing system includes serializing a mutable object utilizing a full serialization process, caching primitive data and metadata regarding the mutable object in binary format in cache and then checking whether primitive fields of the mutable object are modified. Thereafter, the mutable object is again serialized utilizing an abbreviated serialization process by reference to the cached primitive data and metadata if the primitive fields of the object are not modified. In the event that primitive fields of the object are modified, the full serialization process is utilized. Thereafter, the serialized mutable object is communicated to a distributed code element.Type: ApplicationFiled: August 27, 2012Publication date: December 20, 2012Applicant: IBM CORPORATIONInventors: Aruna A. Kalagananam, Prashanth K. Nageshappa, Sathiskumar Palaniappan
-
Patent number: 8250122Abstract: Embodiments of the invention broadly contemplate systems, methods, apparatuses and program storage devices providing a mechanism in which a file system and copy command (or file transfer command) allows the start of a copy operation when a file is being copied to and allow the system to continue to read the file as and when it gets updated (appended with additional data), thus permitting automated simultaneous file transfer and copy operations.Type: GrantFiled: November 24, 2009Date of Patent: August 21, 2012Assignee: International Business Machines CorporationInventors: Prasanna K. Kalle, Venkataraghavan Lakshminarayanachar, Prashanth K. Nageshappa
-
Publication number: 20120166498Abstract: Garbage collection processes are automatically tuned on a system comprising a plurality of virtual machines running on a physical processing device with multiple physical processors. Tuning is implemented for each garbage collection process, by updating a load variable to reflect that a new garbage collection process has started, the load variable having a value that is based at least in part on a number of garbage collection processes that are currently running on the system. Tuning further comprises creating a number of garbage collection threads based at least in part on the current value of the load variable and/or number of processors, where the garbage collection threads are used to perform at least a portion of at least one phase of the new garbage collection process. Tuning further comprises re-updating the load variable to reflect completion of the new garbage collection process.Type: ApplicationFiled: December 22, 2010Publication date: June 28, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Charles R. Gracie, Andrew R. Low, Ashutosh Mehra, Prashanth K. Nageshappa
-
Publication number: 20120144405Abstract: A method of serialization in a data processing system includes serializing a mutable object utilizing a full serialization process, caching primitive data and metadata regarding the mutable object in binary format in cache and then checking whether primitive fields of the mutable object are modified. Thereafter, the mutable object is again serialized utilizing an abbreviated serialization process by reference to the cached primitive data and metadata if the primitive fields of the object are not modified. In the event that primitive fields of the object are modified, the full serialization process is utilized. Thereafter, the serialized mutable object is communicated to a distributed code element.Type: ApplicationFiled: December 6, 2010Publication date: June 7, 2012Applicant: IBM CorporationInventors: Aruna A. Kalagananam, Prashanth K. Nageshappa, Sathiskumar Palaniappan
-
Publication number: 20120131235Abstract: A method, system and computer program product for determining if a buffer is marked copy-on-write. A user applications selects a buffer in user space to store data involved in a write/read operation. The user application searches a table storing addresses of buffers in user space that are marked copy-on-write to determine if the address of the selected buffer is listed in the table. If the address is listed in the table, then the selected buffer is marked copy-on-write. If the address is not listed in the table, then the selected buffer is not marked copy-on-write. By having a table store a list of addresses of buffers in user space that are marked copy-on-write by the kernel, the user application is now able to know whether the buffer in user space is marked copy-on-write.Type: ApplicationFiled: November 23, 2010Publication date: May 24, 2012Applicant: International Business Machines CorporationInventors: Prashanth K. Nageshappa, Sathiskumar Palaniappan
-
Publication number: 20110264841Abstract: A method, system and computer program product for sharing class data among virtual machine applications running on one or more guests in a virtualized environment. A control program in a virtual operating system is used to manage the user portions of the virtual operating system, each commonly referred to as a guest. A guest operating system runs on each guest and applications can run on each guest operating system. A memory management facility manages shared memory which includes a class cache configured to store class data. The shared memory may be mounted onto each guest using a cluster file system or accessed via an API interface thereby allowing the class cache to be shared across the guests. By sharing the class cache among the guests, multiple copies of the same class data are no longer necessary thereby optimally using the physical memory on the host.Type: ApplicationFiled: April 26, 2010Publication date: October 27, 2011Applicant: International Business Machines CorporationInventors: Gianni S. Duimovich, Prasanna K. Kalle, Angela Lin, Andrew R. Low, Prashanth K. Nageshappa
-
Publication number: 20110239219Abstract: Shared memory and sockets are used to protect shared resources in an environment where multiple operating systems execute concurrently on the same hardware. Rather than using spinlocks for serializing access to the shared resources, when a thread is unable to acquire a shared resource because that resource is already held by another thread, the thread that was unable to acquire the resource creates a socket with which it will wait to be notified that the shared resource has been released. The sockets may be network sockets or in-memory sockets that are accessible across the multiple operating systems; if sockets are not available in a particular implementation, communication technology that provides analogous services between operating systems may be used instead. In an optional aspect, fault tolerance is provided to address socket failures, in which case one or more threads may fall back (at least temporarily) to using spinlocks.Type: ApplicationFiled: March 29, 2010Publication date: September 29, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael Fulton, Angela Lin, Andrew R. Low, Prashanth K. Nageshappa
-
Publication number: 20110231814Abstract: Lock granularization opportunities are identified in computer code. A processor is used to generate synchronized code blocks and fields (data) accessed in each code block. Each of the code blocks can then be represented by a set. A list of non-intersecting synchronized code blocks having no commonly accessed fields is generated, and a list of intersecting synchronized code blocks (code blocks each having at least one commonly accessed field) is also generated. Equal and superset-subset lists are then generated from the list of intersecting synchronized code blocks. Granularized locks are applied directly around the fields that are accessed within code blocks represented by non-intersecting and equal sets. Granularized locks are also applied around the fields that are accessed within code blocks represented by the superset, and the same locks are applied to code blocks represented by the subsets, thereof.Type: ApplicationFiled: March 22, 2010Publication date: September 22, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: ARUNA A. KALAGANANAM, VENKATARAGHAVAN LAKSHMINARAYANACHAR, PRASHANTH K. NAGESHAPPA
-
Publication number: 20110125713Abstract: Embodiments of the invention broadly contemplate systems, methods, apparatuses and program storage devices providing a mechanism in which a file system and copy command (or file transfer command) allows the start of a copy operation when a file is being copied to and allow the system to continue to read the file as and when it gets updated (appended with additional data), thus permitting automated simultaneous file transfer and copy operations.Type: ApplicationFiled: November 24, 2009Publication date: May 26, 2011Applicant: International Business Machines CorporationInventors: Prasanna K. Kalle, Venkataraghavan Lakshminarayachar, Prashanth K. Nageshappa
-
Publication number: 20110126172Abstract: Embodiments of the invention broadly contemplate systems, methods, apparatuses and program products providing a mechanism in a run-time environment or Virtual Machine (VM) which enables a user to specify the combination of method(s) and thread(s) the user wants to collect traces for, without having to make any modifications to the application source code.Type: ApplicationFiled: November 24, 2009Publication date: May 26, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Venkataraghavan Lakshminarayanachar, Prashanth K. Nageshappa
-
Publication number: 20110107340Abstract: Techniques for grouping two or more threads based on lock contention information are provided. The techniques include determining lock contention information with respect to two or more threads, using the lock contention information with respect to the two or more threads to determine lock affinity between the two or more threads, using the lock affinity between the two or more threads to group the two or more threads into one or more thread clusters, and using the one or more thread clusters to perform scheduling of one or more threads.Type: ApplicationFiled: November 5, 2009Publication date: May 5, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Manish Gupta, Anithra P. Janakiraman, Prashanth K. Nageshappa, Srivatsa Vaddagiri
-
Publication number: 20100095278Abstract: A specification of a routine name of a root of a call tree and a specification of a desired depth of call tree tracing are obtained. Upon entering a given routine in a program, a determination is made whether the given routine is the root. Responsive to determining that the given one of the routines is the root, trace information for the routine forming the root is output. Furthermore, upon entering a given one of the routines called, directly or indirectly, by the routine forming the root, a determination is made whether the given one of the routines called, directly or indirectly, by the routine forming the root of the call tree is within the desired depth from the routine forming the root of the call tree; and if this is the case, trace information is output for given one of the routines called, directly or indirectly, by the routine forming the root of the call tree.Type: ApplicationFiled: October 9, 2008Publication date: April 15, 2010Inventors: Prashanth K. Nageshappa, Prasanna K. Kalle, Venkataraghavan Lakshminarayanachar