Patents Examined by Emerson Puente
  • Patent number: 10025623
    Abstract: Some computing devices have limited resources such as, for example, battery power. When a user ceases to interact with an application, execution of the application can be moved to background and the application can be paused. During the time period in which the application is paused, the application consumes no CPU cycles because executing managed threads of the paused application are stopped, and native threads are prevented from running using asynchronous procedure calls.
    Type: Grant
    Filed: January 31, 2016
    Date of Patent: July 17, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Abhinaba Basu, Jan Kotas
  • Patent number: 10019272
    Abstract: A method, system and computer readable media for managing virtual appliances are provided. The method includes discovering each of a plurality of components of an enterprise solution, the enterprise solution encompassing a plurality of virtual appliances and relationships among the plurality of virtual appliances. Each of the plurality of virtual appliances has one or more virtual machines, and the plurality of virtual appliances are implemented in a physical computing environment. The method includes reconfiguring the plurality of components in response to a change in a configuration of one or more of the plurality of components.
    Type: Grant
    Filed: November 12, 2013
    Date of Patent: July 10, 2018
    Assignee: VCE IP HOLDING COMPANY LLC
    Inventors: Akshaya Mahapatra, Zunhe Jin, Lade Gaurang, Sayajirao Patil
  • Patent number: 10013280
    Abstract: Many storage devices (or drives) include a mechanism, such as a processor, to execute internal maintenance process(es) that maintain data integrity and long-term drive health. One example of such an internal maintenance process is a background media scan (BMS). However, on busy systems, the BMS may not have an opportunity to execute, which can damage long term drive performance. In one embodiment, a method includes sending a command from a host device to a storage device. The storage device can responsively run an internal maintenance process of the storage device. In one embodiment, the internal maintenance process can be an internal maintenance process such as a background media scan.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: July 3, 2018
    Assignee: Dell Products, LP
    Inventors: Damon Hsu-Hung, Paul David Guttormson, Bernard Abraham Rozmovits
  • Patent number: 10013279
    Abstract: A method, a computer program product, and a computer system for processing interrupt requests in a computer system. The computer system disables, for a processor, an interrupt request for threads other than an interrupt request handling thread. The computer system configures the processor to route the interrupt request to the interrupt request handling thread. The computer system determines, by the interrupt request handling thread, whether one of the threads needs to process the interrupt request. The computer presents, by the interrupt request handling thread, the interrupt request to the one of the threads, in response to determining that the one of the threads needs to process the interrupt request.
    Type: Grant
    Filed: July 28, 2015
    Date of Patent: July 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Christine Axnix, Ute Gaertner, Jakob C. Lang, Angel Nunez Mencias
  • Patent number: 10007540
    Abstract: A host machine may host a virtual machine. Virtual machine reboot information, used to reboot the virtual machine in the event of a failure or restart of the virtual machine, may be identified (e.g., file system metadata buffers, a virtual non-volatile random access memory log, user data buffers, and/or data used to reboot the virtual machine such as to perform a reboot mounting operation and/or a reboot replay operation of a volume of data associated with the virtual machine). The virtual machine reboot information may be cached within relatively fast host memory of the host machine (e.g., instead of merely within a relatively slower hard drive or other storage device). In this way, the cached virtual machine reboot information may be quickly retrieved so that the virtual machine may be rebooted in a relatively shorter amount of time.
    Type: Grant
    Filed: May 9, 2017
    Date of Patent: June 26, 2018
    Assignee: NetApp, Inc.
    Inventors: Ameya Prakash Usgaonkar, Mangesh Chitnis, Shehbaz Jaffer
  • Patent number: 10007533
    Abstract: Migration of a virtual machine from a source host computing system to a target host computing system in a context in which a centralized portion of virtual machine state is maintained in a storage that is accessible to both the source host computing system and the target host computing system, and a localized portion of the virtual machine state is maintained in local storage of the source host computing system. For instance, the centralized portion of the virtual machine state might be user data, and the localized portion might be backing files for the virtual machine. In order to support the potential migration, at least a portion of the localized portion of the virtual machine state are backed up to a storage that is accessible to both the source and target host computing systems.
    Type: Grant
    Filed: August 22, 2012
    Date of Patent: June 26, 2018
    Assignee: V3 Systems Holdings, Inc.
    Inventors: Harold C. Simonsen, Ashton R. Snelgrove, Thomas S. McCullagh, Chris R. Featherstone
  • Patent number: 10002022
    Abstract: A method, a computer program product, and a computer system for processing interrupt requests in a computer system. The computer system disables, for a processor, an interrupt request for threads other than an interrupt request handling thread. The computer system configures the processor to route the interrupt request to the interrupt request handling thread. The computer system determines, by the interrupt request handling thread, whether one of the threads needs to process the interrupt request. The computer presents, by the interrupt request handling thread, the interrupt request to the one of the threads, in response to determining that the one of the threads needs to process the interrupt request.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: June 19, 2018
    Assignee: International Business Machines Corporation
    Inventors: Christine Axnix, Ute Gaertner, Jakob C. Lang, Angel Nunez Mencias
  • Patent number: 9990239
    Abstract: A system and method for cooperative notification offloading supports thread notification offloading in a multi-threaded messaging system such as a distributed data grid. Pending notifiers are maintained in a collection of pending notifiers. A signaling thread processes a first notifier in the collection of pending notifiers to wake a first thread. The first awoken thread processes additional notifiers in the collection of pending notifiers to wake additional threads. The additional awoken threads can process additional notifiers in a cycle until all pending notifiers in the collection are processed. Such cooperative notification offloading of notifier processing from the signaling thread improves performance of the signaling thread with respect to other tasks thereby improving performance of the signaling thread and the distributed data grid.
    Type: Grant
    Filed: September 16, 2015
    Date of Patent: June 5, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Mark Falco
  • Patent number: 9983894
    Abstract: An application such as a virtual machine are executed securely using a software-based, full-system emulator within a hardware-protected enclave, such as an SGX enclave. The emulator may thereby be secure even against a malicious underlying host operating system. In some cases, paging is used to allow even a large application may run within a small enclave using paging. Where the application itself uses enclaves, these guest enclaves may themselves be emulated within an emulator enclave such that the guest enclave(s) are nested as sibling enclaves by the emulator.
    Type: Grant
    Filed: September 25, 2014
    Date of Patent: May 29, 2018
    Assignee: Facebook, Inc.
    Inventors: Oded Horovitz, Stephen A. Weis, Sahil Rihan, Carl A. Waldspurger
  • Patent number: 9983896
    Abstract: A method includes (a) receiving a setup command directing a computing device to create a protocol endpoint to allow a remote host device to access storage volumes of the computing device presented to the remote host through the protocol endpoint as virtual storage volumes, (b) in response to receiving the setup command, creating a logical storage device object representing the protocol endpoint, the logical storage device object having zero underlying storage capacity, (c) subsequent to creating the logical storage device object, receiving a command directed at the protocol endpoint, and (d) in response to receiving the command, processing the command by a driver stack on the computing device containing the logical storage device object representing the protocol endpoint, the driver stack being shorter than another driver stack on the computing device used to process storage commands directed at another logical storage device object having non-zero underlying storage.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: May 29, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Dilesh Naik, Shuyu Lee, Jean Schiff, David W. Harvey
  • Patent number: 9965285
    Abstract: A method and system performs instruction scheduling in an out-of-order microprocessor pipeline. The method and system selects a first set of instructions to dispatch from a scheduler to an execution module, wherein the execution module comprises two types of execution units. The first type of execution unit executes both a first and a second type of instruction and the second type of execution unit executes only the second type. Next, the method selects a second set of instructions to dispatch, which is a subset of the first set and comprises only instructions of the second type. The method determines a third set of instructions, which comprises instructions not selected as part of the second set. Further, the method dispatches the second set for execution using the second type of execution unit and dispatching the third set for execution using the first type of execution unit.
    Type: Grant
    Filed: March 24, 2017
    Date of Patent: May 8, 2018
    Assignee: Intel Corporation
    Inventor: Nelson N. Chan
  • Patent number: 9952889
    Abstract: In one embodiment, a system for managing communication connections in a virtualization environment, comprises a plurality of host machines implementing a virtualization environment, wherein each of the host machines comprises a hypervisor, at least one user virtual machine (UVM), a connection agent, and an I/O controller; and a virtual disk comprising a plurality of storage devices, the virtual disk being accessible by all of the I/O controllers, wherein the I/O controllers conduct I/O transactions with the virtual disk based on I/O requests received from the UVMs, and wherein, for each of the host machines: each of the UVMs on the host machine sends its respective I/O requests to a selected one of the I/O controllers, and for each of the UVMs on the host machine, the connection agent on the host machine selected one of the I/O controllers for the UVM based on a list of the available I/O controllers.
    Type: Grant
    Filed: November 11, 2015
    Date of Patent: April 24, 2018
    Assignee: Nutanix, Inc.
    Inventors: Miao Cui, Robert Schwenz, Gregory A. Smith
  • Patent number: 9940109
    Abstract: Various embodiments of methods and systems for proactive resource allocation and configuration are disclosed. An exemplary method first compiles and links a profile instrumented application with a compiler comprising a profile guided optimization feature that inserts calls to a profiler runtime. The profile instrumented application is executed on a target device using one or more workload datasets representative of probable workloads. During execution, based on recognition of the inserted calls, an instrumentation-based profile dataset is generated in association with each of the one or more workload datasets. Next, the profile instrumented application is recompiled and relinked based on the instrumentation-based profile datasets to create a set of profile guided optimizations to the source code, thereby resulting in an optimized application.
    Type: Grant
    Filed: July 20, 2015
    Date of Patent: April 10, 2018
    Assignee: QUALCOMM Incorporated
    Inventors: James Lyall Esliger, Wilson Kwan, Mark Bapst
  • Patent number: 9928109
    Abstract: One embodiment of the present disclosure sets forth a technique for enforcing cross stream dependencies in a parallel processing subsystem such as a graphics processing unit. The technique involves queuing waiting events to create cross stream dependencies and signaling events to indicated completion to the waiting events. A scheduler kernel examines a task status data structure from a corresponding stream and updates dependency counts for tasks and events within the stream. When each task dependency for a waiting event is satisfied, an associated task may execute.
    Type: Grant
    Filed: May 9, 2012
    Date of Patent: March 27, 2018
    Assignee: NVIDIA Corporation
    Inventor: Luke Durant
  • Patent number: 9921893
    Abstract: Disclosed is a method for selecting one of a plurality of versions of a software component of a message queuing software product to perform a task. One or more rules describing one or more characteristics of the plurality of versions of the software component is provided. Responsive to a determination that the rule applies to the task to be performed: a list of the plurality of versions of the message queuing software product is obtained, it is checked whether the software component of the one of the plurality of versions of the message queuing software product is available for use; and the most preferred version of the message queuing software component available is used to perform the task. Responsive to a determination that none of the rules apply to the task to be performed, the task is performed with the most preferred version of the message queuing software component.
    Type: Grant
    Filed: July 24, 2013
    Date of Patent: March 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Elizabeth J. Maple, Richard W. Pilot, Martin A. Ross, Craig H. Stirling, Ian T. Stirling
  • Patent number: 9904578
    Abstract: Software development data indicative of a development activity is accessed. A component parameter of a component of a software development platform is set, in which the component parameter is based upon, at least in part, an anticipated component workload associated with the development actively. At least one system resource is allocated for the component of the software development platform based upon, at least in part, the component parameter.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: February 27, 2018
    Assignee: International Business Machines Corporation
    Inventors: Brian C. Schimpf, Arthur Francis Crotty, Shailaja Sthalekar Golikeri, Yuhong Yin
  • Patent number: 9898334
    Abstract: The present disclosure provides a method of scheduling data processing at a pipelined data processing engine, and a command scheduler for scheduling data processing at the pipelined data processing engine. The command scheduler determines whether a first data stream is locked to the pipelined data processing engine based on a status of a current data frame of the first data stream in the pipelined data processing engine. The command scheduler will schedule a next data frame of the first data stream to the data processing engine if the first data stream is not locked to the pipelined data processing engine, or it will postpone the scheduling of the next data frame of the first data stream if the first data stream is locked to the pipelined data processing engine.
    Type: Grant
    Filed: October 29, 2015
    Date of Patent: February 20, 2018
    Assignee: Microsemi Solutions (U.S.), Inc.
    Inventors: Anil B. Dongare, Lijish Remani Bal, Janardan Prasad, David Joseph Clinton
  • Patent number: 9898351
    Abstract: Instructions and logic provide user-level thread synchronization with MONITOR and MWAIT instructions. One or more model specific registers (MSRs) in a processor may be configured in a first execution state to specify support of a user-level thread synchronization architecture. Embodiments include multiple hardware threads or processing cores, corresponding monitored address state storage to store a last monitored address for each of a plurality of execution threads that issues a MONITOR request, cache memory to record MONITOR requests and associated states for addresses of memory storage locations, and responsive to receipt of an MWAIT request for the address, to record an associated wait-to-trigger state of monitored addresses for execution cores associated with an MWAIT request; wherein the execution core is to transition a requesting thread to an optimized sleep state responsive to the receipt of said MWAIT request when said one or more MSRs are configured in the first execution state.
    Type: Grant
    Filed: December 24, 2015
    Date of Patent: February 20, 2018
    Assignee: Intel Corporation
    Inventors: Benjamin C. Chaffin, Robert J. Kyanko, Avinash Sodani
  • Patent number: 9898320
    Abstract: Examples perform live migration of objects such as VMs from a source host to a destination host. The disclosure exposes the contents of the storage disk at the destination host, compares the storage disk of the destination host to the source host, and during migration, migrates only data which is not already stored at the destination host. The source and destination VMs have concurrent access to storage disks during migration. After migration, the destination VM executes, with exclusive access to the storage disks.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: February 20, 2018
    Assignee: VMware, Inc.
    Inventors: Gabriel Tarasuk-Levin, Patrick William Penzias Dirks, Ilia Langouev, Curt Kolovson
  • Patent number: 9898336
    Abstract: Software development data indicative of a development activity is accessed. A component parameter of a component of a software development platform is set, in which the component parameter is based upon, at least in part, an anticipated component workload associated with the development actively. At least one system resource is allocated for the component of the software development platform based upon, at least in part, the component parameter.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: February 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Brian C. Schimpf, Arthur Francis Crotty, Shailaja Sthalekar Golikeri, Yuhong Yin