Patent application number | Description | Published |
20110239219 | PROTECTING SHARED RESOURCES USING SHARED MEMORY AND SOCKETS - 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. As another option, a locking service may execute on each operating system to provide a programming interface through which threads can invoke operations for holding and releasing the lock. | 09-29-2011 |
20110264841 | SHARING OF CLASS DATA AMONG VIRTUAL MACHINE APPLICATIONS RUNNING ON GUESTS IN VIRTUALIZED ENVIRONMENT USING MEMORY MANAGEMENT FACILITY - 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. | 10-27-2011 |
20120117553 | PROGRAMMATIC DISPATCH TO FUNCTIONS WITH MATCHING LINKAGE - An enhanced function-descriptor-based dispatch in a multi-linkage environment receives user code containing a function compiled in a supplementary linkage convention of a caller to form an invoked function and determines whether the supplementary linkage convention of the caller for the invoked function matches a supplementary linkage implementation provided by a library. Responsive to a determination that the supplementary linkage convention of the caller for the invoked function matches a supplementary linkage implementation provided by the library, an embodiment selects the supplementary linkage implementation provided by the library and dispatches the invoked function in the selected supplementary linkage implementation provided by the library. | 05-10-2012 |
20120166498 | GARBAGE COLLECTION IN A MULTIPLE VIRTUAL MACHINE ENVIRONMENT - 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. | 06-28-2012 |
20120167067 | BATCH DISPATCH OF JAVA NATIVE INTERFACE CALLS - A batching mechanism is provided that batches multiple Java Native Interface calls together such that the batch crosses the Java Native Interface boundary in a single transition. The batching mechanism operates by identifying a sequence of Java Native Interface calls to be made by native code, by encapsulating the identified sequence of Java Native Interface calls into a batch, and by communicating the batch as a single transition across the Java Native Interface boundary. In this manner, each call of the batch is encapsulated by iteratively performing for each call to be made, processes including identifying the Java Native Interface function to call, identifying the arguments to pass into the Java Native Interface function, dispatching to the Java Native Interface function and capturing the return value. | 06-28-2012 |
20120272239 | SHARING CLASS DATA - This docucment descirbes techniques for sharing Java class information in virtualized computing environments. In some embodimetns, an apparatus includes hardware components including one or more central processing units and main memory, wherein a portion of the main memory is configured to store shared Java classes. The apparatus can also include a hypervisor configured to control access to the hardware components, and to host a plurality of operating systems. Each of the operating systems can include a character device driver configured to write directly to the portion of main memory configured to store the shared Java classes. The apparatus can also include one or more Java virtual machines configured to execute the shared Java classes and modify the shared Java classes using the character device driver. | 10-25-2012 |
20130047152 | Preserving, From Resource Management Adjustment, Portions Of An Overcommitted Resource Managed By A Hypervisor - 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. | 02-21-2013 |
20130047159 | Preserving, From Resource Management Adjustment, Portions Of An Overcommitted Resource Managed By A Hypervisor - 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. | 02-21-2013 |
20130275965 | CONTROL OF JAVA RESOURCE RUNTIME USAGE - A method for providing control of Java resource runtime usage may include establishing communication with one or more Java virtual machines (JVMs) forming a hive via a hive communication channel where the hive comprises a plurality of JVMs configured to enable utilization of at least one shared resource, receiving, via the hive communication channel, environmental information indicative of hive activity relative to the at least one shared resource from at least one of the one or more JVMs, and adapting, via processing circuitry, operations associated with use of the at least one shared resource based on the environmental information. | 10-17-2013 |
20140150108 | PREVENTION OF ACCIDENTAL PASSWORD DISCLOSURE IN APPLICATION WINDOWS - Text entry context information associated with text entry within an inter-user communication application is evaluated. A determination is made as to whether the evaluated text entry context information identifies a text string entered by a user as a potential password inadvertently entered into the inter-user communication application by the user. In response to determining that the text string is identified as the potential password, the user is prompted to confirm that the user intends to send the text string using the inter-user communication application. The text string is transmitted using the inter-user communication application in response to a confirmation from the user to send the text string. | 05-29-2014 |
20140298487 | MULTI-USER UNIVERSAL SERIAL BUS (USB) KEY WITH CUSTOMIZABLE FILE SHARING PERMISSIONS - A method, data storage device and computer program product for having multiple users share a single data storage device securely. A data storage device, such as a Universal Serial Bus (USB) key, is plugged into a computing device. A USB controller of the USB key recognizes the computing device and creates an account for the user. The created account is associated with the user as well as associated with the computing device. Data uploaded to the USB key by the user is then associated with the created account. Only that user will be able to view that data on his/her computing device (computing device associated with the created account) unless the user indicates to share that data with other users. Such a process may be repeated each time the USB key is plugged into a different computing device thereby creating multiple accounts associated with multiple computing devices and users. | 10-02-2014 |
20140298489 | MULTI-USER UNIVERSAL SERIAL BUS (USB) KEY WITH CUSTOMIZABLE FILE SHARING PERMISSIONS - A method, data storage device and computer program product for having multiple users share a single data storage device securely. A data storage device, such as a Universal Serial Bus (USB) key, is plugged into a computing device. A USB controller of the USB key recognizes the computing device and creates an account for the user. The created account is associated with the user as well as associated with the computing device. Data uploaded to the USB key by the user is then associated with the created account. Only that user will be able to view that data on his/her computing device (computing device associated with the created account) unless the user indicates to share that data with other users. Such a process may be repeated each time the USB key is plugged into a different computing device thereby creating multiple accounts associated with multiple computing devices and users. | 10-02-2014 |
20150052326 | USER-CONTROLLED PAGING - A request is received to load a first page into main memory with the main memory containing a plurality of page frames. It is determined that none of the plurality of page frames is an empty page frame. User input is referenced to determine a target memory resource consumer. A second page is selected which is loaded in a first page frame. The second page is associated with the target memory resource consumer. The second page is moved from the main memory to a secondary storage device. The first page is loaded into the first page frame. | 02-19-2015 |
20150052328 | USER-CONTROLLED PAGING - A request is received to load a first page into main memory with the main memory containing a plurality of page frames. It is determined that none of the plurality of page frames is an empty page frame. User input is referenced to determine a target memory resource consumer. A second page is selected which is loaded in a first page frame. The second page is associated with the target memory resource consumer. The second page is moved from the main memory to a secondary storage device. The first page is loaded into the first page frame. | 02-19-2015 |