Patents Examined by Qing Wu
  • Patent number: 9229743
    Abstract: A classloader cache class definition is obtained by a processor. The classloader cache class definition includes code that creates a classloader object cache that is referenced by a strong internal reference by a classloader object in response to instantiation of the classloader cache class definition. A classloader object cache is instantiated using the obtained classloader cache class definition. The strong internal reference is created at instantiation of the classloader object cache. A public interface to the classloader object cache is provided. The public interface to the classloader object cache operates as a weak reference to the classloader object cache and provides external access to the classloader object cache.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: January 5, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Vijay Sundaresan, Andres H. Voldman
  • Patent number: 9223635
    Abstract: A cloud system may create and support multiple network offerings for virtual machines in a cloud zone. Physical networks comprising sets of network elements, such as routers, gateways, firewalls, load balancers, and other network hardware, may be created and updated within a zone. Network offerings may be defined and associated, using tags or other techniques, with virtual machine networks, physical networks and/or network elements. Cloud end users may request specific network offerings when creating virtual machines, or may request to move existing virtual machines from one network offering to another. The cloud system may use the requested network offering to identify the virtual machine network, physical network, and/or network elements corresponding to the requested network offering. The cloud system may allocate a new virtual machine network and configure the network elements within the associated physical network to provide network services to the virtual machine.
    Type: Grant
    Filed: October 28, 2012
    Date of Patent: December 29, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Alex Huang, William Chan, Chiradeep Vittal
  • Patent number: 9213573
    Abstract: Embodiments directed toward a method, system, and computer program product for placement of a plurality of virtual machines on a hardware resource are provided. The method can also include generating a user location vector for each candidate virtual machine from the plurality of candidate virtual machines by aggregating a plurality of user location metrics for each candidate virtual machine. The method can also include ranking, in response to a performance resource demanded by the plurality of candidate virtual machines being at or above a threshold of the performance resource available on the hardware resource, the candidate virtual machines as a function of an aggregate user location vector for each candidate virtual machine. The method can include selecting a subset of the candidate virtual machines for migration based on the ranking.
    Type: Grant
    Filed: September 3, 2014
    Date of Patent: December 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Paul B. French, Niall J. Lucey
  • Patent number: 9213561
    Abstract: A method, article of manufacture, and apparatus for efficiently processing information. In some embodiments, this includes determining a physical appliance to virtualize, creating a virtual appliance based on the physical appliance, and storing the virtual appliance in a storage array. In some embodiments, creating the virtual appliance includes creating the virtual appliance from a template.
    Type: Grant
    Filed: August 14, 2014
    Date of Patent: December 15, 2015
    Assignee: EMC Corporation
    Inventors: Paul LeMahieu, Steven Halzel, Jane M. Lawler, Jake Frazier
  • Patent number: 9207965
    Abstract: A method and system for managing software application states selects a plurality of stateful applications for reinstatement at a later time. A set of data contexts is generated based on the selected applications. The set of data contexts is pushed onto a data stack. Thereafter the set of data contexts is popped from the data stack for reinstatement. Each step or function may be initiated automatically or through user input, and may be used in a single-user, multi-user or collaborative setting.
    Type: Grant
    Filed: June 10, 2013
    Date of Patent: December 8, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert J. McKeown, Patrick J. O'Sullivan
  • Patent number: 9207976
    Abstract: Embodiments directed toward a method, system, and computer program product for placement of a plurality of virtual machines on a hardware resource are provided. The method can also include generating a user location vector for each candidate virtual machine from the plurality of candidate virtual machines by aggregating a plurality of user location metrics for each candidate virtual machine. The method can also include ranking, in response to a performance resource demanded by the plurality of candidate virtual machines being at or above a threshold of the performance resource available on the hardware resource, the candidate virtual machines as a function of an aggregate user location vector for each candidate virtual machine. The method can include selecting a subset of the candidate virtual machines for migration based on the ranking.
    Type: Grant
    Filed: August 13, 2013
    Date of Patent: December 8, 2015
    Assignee: International Business Machines Corporation
    Inventors: Paul B. French, Niall J. Lucey
  • Patent number: 9207977
    Abstract: Embodiments of the present invention provide improved systems and methods for grouping instruction entities. In one embodiment, a system comprises a processing cluster to execute software, the processing cluster comprising a plurality of processing units, wherein the processing cluster is configured to execute the software as a plurality of instruction entities. The processing cluster is further configured to execute the plurality of instruction entities in a plurality of execution groups, each execution group comprising one or more instruction entities, wherein the processing cluster executes a group of instruction entities in the one or more instruction entities in an execution group concurrently. Further, the execution groups are configured so that a plurality of schedule-before relationships are established, each schedule-before relationship being established among a respective set of instruction entities by executing the plurality of instruction entities in the plurality of execution groups.
    Type: Grant
    Filed: February 6, 2012
    Date of Patent: December 8, 2015
    Assignee: Honeywell International Inc.
    Inventors: Arvind Easwaran, Larry James Miller
  • Patent number: 9201711
    Abstract: A plurality of application servers hosts a plurality of business applications. A plurality of Application Program Interface (API) servers host a plurality of APIs to provide programmatic access to the plurality of business applications, each of the APIs configured to receive request messages compiled by a remote client application. First and second request messages targeted to first and second APIs have at least one common data component. The first request message includes a first payload specific to the first targeted API and the second request message includes a second payload specific to the second targeted API, the first payload and the second payload each comprise a reusable identified schema definition specific to the targeted API.
    Type: Grant
    Filed: January 7, 2013
    Date of Patent: December 1, 2015
    Assignee: eBay Inc.
    Inventors: Zahid N. Ahmed, Alon Cohen, Daniel Tsun Kao, Ray Tanaka, Gary Yue, Bhaven Avalani
  • Patent number: 9201699
    Abstract: A method, article of manufacture, and apparatus for efficiently processing information. In some embodiments, this includes selecting a service to terminate, determining a virtual appliance associated with the service, and decommissioning the virtual appliance. In some embodiments, the virtual appliance may be deleted from the storage array.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: December 1, 2015
    Assignee: EMC Corporation
    Inventors: Paul LeMahieu, Steven Halzel, Jane M. Lawler, Jake Frazier
  • Patent number: 9201659
    Abstract: Methods, devices, and systems for automatically determining how an application program may be partitioned and offloaded for execution by a general purpose applications processor and an auxiliary processor (e.g., a DSP, GPU, etc.) within a mobile device. The mobile device may determine the portions of the application code that are best suited for execution on the auxiliary processor based on pattern-matching of directed acyclic graphs (DAGS). In particular, the mobile device may identify one or more patterns in the code, particularly in a data flow graph of the code, comparing each identified code pattern to predefined graph patterns known to have a certain benefit when executed on the auxiliary processor (e.g., a DSP). The mobile device may determine the costs and/or benefits of executing the portions of code on the auxiliary processor, and may offload portions that have low costs and/or high benefits related to the auxiliary processor.
    Type: Grant
    Filed: August 19, 2013
    Date of Patent: December 1, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Dinakar Dhurjati, Minjang Kim, Christopher A. Vick
  • Patent number: 9195491
    Abstract: A controller of a network control system for configuring several middlebox instances is described. The middlebox instances implement a middlebox in a distributed manner in several hosts. The controller configures, in a first host, a first middlebox instance to receive a notification from a migration module before a virtual machine (VM) running in the first host migrates to a second host and to send middlebox state related to the VM to the migration module.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: November 24, 2015
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar, Amar Padmanabhan, W. Andrew Lambeth, Martin Casado
  • Patent number: 9189220
    Abstract: Disclosed are various embodiments for evaluating application compatibility with computing devices. A set of applications is determined and then filtered to exclude those applications which are incompatible with a particular client. The filtering is performed by determining a capability set for the client and performing an evaluation of a compatibility expression for each application using the capability set to determine whether each application is compatible with the client. The filtered set of applications is returned and may be used in user interfaces associated with an application marketplace system.
    Type: Grant
    Filed: July 2, 2012
    Date of Patent: November 17, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Sunbir Gill, Krishna K. Rajagopalan, Matthew A. Jones, Kenneth Chung Kay Ko
  • Patent number: 9189267
    Abstract: Methods and systems for implementing virtual processors are disclosed. For example, in an embodiment a processing apparatus configured to act as a plurality of virtual processors includes a first virtual program space that includes a first program execution memory, the first program execution memory including code to run a non-real-time operating system capable of supporting a one or more non-real-time applications, a second virtual program space that includes a second program execution memory, the second program execution memory including code to run one or more real-time processes, and a central processing unit (CPU) configured to operate in a first operating mode and a second operating mode, the CPU being configured to perform operating system and application activities using the first virtual program space for the first operating mode without using the second virtual program space and without appreciably interfering with the one or more real-time processes that are running in the second operating mode.
    Type: Grant
    Filed: November 17, 2014
    Date of Patent: November 17, 2015
    Assignee: Marvell World Trade Ltd.
    Inventors: Timor Kardashov, Maxim Kovalenko, Arie Elias, Guy Ray
  • Patent number: 9189762
    Abstract: A system for generating an optimal set of tasks to be performed includes an interface to receive from a user first and second processes and a priority criterion defining an objective of the first and second processes and a process converter configured to convert the first and second processes into tasks that make up the first process and the second process. The system further includes a task network modeler configured to determine relationships between the tasks and to generate a task network comprising the tasks of the first and second processes, the task network representing the relationships between the tasks of the first and second processes. The system further includes an optimization unit configured to generate, based on the priority criterion, an optimal set of tasks in the task network to be performed.
    Type: Grant
    Filed: September 11, 2013
    Date of Patent: November 17, 2015
    Assignee: GLOBALFOUNDRIES INC.
    Inventors: Neil H. A. Boyette, Haijing Fang
  • Patent number: 9189609
    Abstract: Embodiments provide virtual volumes to virtual machines based on configuration information to secure the virtual machines. Each virtual volume, without a file system, represents a portion of a storage array and is associated with at least one of the virtual machines. A host computing device attaches the virtual volume to the virtual machine based on the configuration information. Security software executing on the virtual machine accesses security information (e.g., encryption keys, etc.) stored in the virtual volume to provide security to the virtual machine (e.g., during bootup). In some embodiments, the virtual volume is attached and detached from the virtual machine as a universal serial bus (USB) device via an application programming interface to the storage array.
    Type: Grant
    Filed: June 10, 2013
    Date of Patent: November 17, 2015
    Assignee: VMware, Inc.
    Inventor: Jinto Antony
  • Patent number: 9189243
    Abstract: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, clears the high-priority request and sets an allocation token to the absolute thread number associated with the oldest aborted thread, thereby allowing the oldest aborted thread to retry a work unit associated with the absolute thread number. A corresponding apparatus and computer program product are also disclosed.
    Type: Grant
    Filed: September 30, 2012
    Date of Patent: November 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Khaled A. Mohammed, Martin Ohmacht, Raul E. Silvera, Kai-Ting A. Wang
  • Patent number: 9176792
    Abstract: When different types of shared resources need mutex protection, the shared resources can be organized into classes. Each class of shared resources can have multiple types of resources. A mutex pool can store multiple mutex objects, each mutex object corresponding to a class of resources. The mutex object can be used to protect each shared resource in the corresponding class.
    Type: Grant
    Filed: June 9, 2013
    Date of Patent: November 3, 2015
    Assignee: Apple Inc.
    Inventor: Murali Vemulapati
  • Patent number: 9164755
    Abstract: The updating of virtual machines. A task broker schedules update tasks for multiple virtual machines on the host machine. As each update task is to be performed, if the virtual machine is not currently running, as might be the case for a personal virtual machine, the virtual machine is caused to begin running to allow the update task to be performed on the virtual machine. Also, a pooled virtual machine is updated by copying information from the old virtual hard drive to a location to allow the information to be preserved as the master image is updated. After the update is completed, the virtual machine is formed, associated with the new virtual hard drive, and copied back to the virtual machine.
    Type: Grant
    Filed: June 4, 2014
    Date of Patent: October 20, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert K. Leitman, Kashif Mehmood, Amjad Hussain, Ido Miles Ben-Shachar, Sriram Sampath, Ajay Kumar
  • Patent number: 9164800
    Abstract: Various exemplary embodiments relate to a method and related network node including one or more of the following: obtaining a set of compute nodes, a set of data nodes, and a set of edges between compute nodes and data nodes; determining an assignment objective to be achieved in assigning compute nodes from the set of compute nodes to data nodes from the set of data nodes; applying an algorithm associated with the assignment objective to obtain a set of assignments based on a plurality of costs associated with the set of edges; and assigning a compute node of the set of compute nodes to a data node of the set of data nodes based on the set of assignments.
    Type: Grant
    Filed: October 25, 2012
    Date of Patent: October 20, 2015
    Assignee: Alcatel Lucent
    Inventors: Mansoor Alicherry, T V. Lakshman
  • Patent number: 9164788
    Abstract: An automatic para-virtualization apparatus of an OS kernel is provided. The automatic para-virtualization apparatus includes a kernel profiler that detects profile information from a native OS kernel, and a virtualization unit that automatically generates a para-virtualized OS kernel that operates on a para-virtualization virtual machine monitor by combining the native OS kernel and the profile information.
    Type: Grant
    Filed: August 29, 2012
    Date of Patent: October 20, 2015
    Assignee: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
    Inventors: Kwang-Won Koh, Kang-Ho Kim, Soo-Cheol Oh, Chang-Won Ahn