Patents Examined by Kevin X Lu
  • Patent number: 11163677
    Abstract: Dynamically allocated thread storage in a computing device is disclosed. The dynamically allocated thread storage is configured to work with a process including two or more threads. Each thread includes a statically allocated thread-local slot configured to store a table. Each table is configured to include a table slot corresponding with a dynamically allocated thread-local value. A dynamically allocated thread-local instance corresponds with the table slot.
    Type: Grant
    Filed: November 20, 2018
    Date of Patent: November 2, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Igor Ostrovsky, Joseph E. Hoag, Stephen H. Toub, Mike Liddell
  • Patent number: 11150961
    Abstract: Methods, systems and apparatuses for graph processing are disclosed. One graph streaming processor includes a thread manager, wherein the thread manager is operative to dispatch operation of the plurality of threads of a plurality of thread processors before dependencies of the dependent threads have been resolved, maintain a scorecard of operation of the plurality of threads of the plurality of thread processors, and provide an indication to at least one of the plurality of thread processors when a dependency between the at least one of the plurality of threads that a request has or has not been satisfied. Further, a producer thread provides a response to the dependency when the dependency has been satisfied, and each of the plurality of thread processors is operative to provide processing updates to the thread manager, and provide queries to the thread manager upon reaching a dependency.
    Type: Grant
    Filed: February 8, 2019
    Date of Patent: October 19, 2021
    Assignee: Blaize, Inc.
    Inventors: Lokesh Agarwal, Sarvendra Govindammagari, Venkata Ganapathi Puppala, Satyaki Koneru
  • Patent number: 11132234
    Abstract: A method, a non-transitory computer-readable storage medium, and a computer system for managing the placement of virtual machines in a virtual machine network are disclosed. In an embodiment, a method involves determining if at least one virtual machine in a set of virtual machines supporting a process and running on a first host computer needs to be separated from other virtual machines in the set. If at least one virtual machine needs to be separated, then at least one virtual machine is selected to be separated based on the number of memory pages changed. The selected VM is then separated from the other virtual machines in the set.
    Type: Grant
    Filed: September 8, 2015
    Date of Patent: September 28, 2021
    Assignee: VMware, Inc.
    Inventors: Kalyan Saladi, Ganesha Shanmuganathan
  • Patent number: 11126462
    Abstract: Systems and methods are disclosures for scheduling code in a multiprocessor system. Code is portioned into code blocks by a compiler. The compiler schedules execution of code blocks in nodes. The nodes are connected in a directed acyclical graph with a top node, terminal node and a plurality of intermediate nodes. Execution of the top node is initiated by the compiler. After executing at least one instance of the top node, an instruction in the code block indicates to the scheduler to initiate at least one intermediary node. The scheduler schedules a thread for execution of the intermediary node. The data for the nodes resides in a plurality of data buffers; the index to the data buffer is stored in a command buffer.
    Type: Grant
    Filed: July 8, 2019
    Date of Patent: September 21, 2021
    Assignee: Blaize, Inc.
    Inventors: Satyaki Koneru, Val G. Cook, Ke Yin
  • Patent number: 11113086
    Abstract: According to one embodiment, a computing device comprises one or more hardware processor and a memory coupled to the one or more processors. The memory comprises software that supports a virtualization software architecture including a first virtual machine operating under control of a first operating system. Responsive to determining that the first operating system has been compromised, a second operating system, which is stored in the memory in an inactive (dormant) state, is now active and controlling the first virtual machine or a second virtual machine different from the first virtual machine that now provides external network connectivity.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: September 7, 2021
    Assignee: FireEye, Inc.
    Inventor: Udo Steinberg
  • Patent number: 11106491
    Abstract: Systems and methods are provided for kernel routine callbacks. Such methods may include hooking a pre-callback handler and a post-callback handler to a pre-existing operating system of a computing device. According to the pre-callback handler, a kernel routine request for a kernel routine to be performed in a kernel mode of the operating system is obtained, whether to allow the kernel routine to be performed is determined, and the kernel routine is caused to be performed in the kernel mode to generate kernel routine results. According to the post-callback handler, whether to allow the kernel routine results of the kernel routine to be returned is determined, and the kernel routine results of the kernel routine is caused to be returned to an application that is executed in a non-kernel mode of the operating system.
    Type: Grant
    Filed: April 6, 2018
    Date of Patent: August 31, 2021
    Assignee: Beijing DIDi Infinity Technology and Development Co., Ltd.
    Inventor: Yu Wang
  • Patent number: 11086874
    Abstract: Management of a virtual infrastructure via an object query language module is described. The virtual infrastructure includes one or more virtual machines, and one or more host machines communicatively coupled with the one or more virtual machines. The virtual infrastructure also includes a centralized management tool communicatively coupled with the one or more host machines. The object query language module fetches information from the one or more host machines and the one or more virtual machines. It further provides commands to the one or more host machines and the one or more virtual machines. In response to the fetch and command of the one or more host machines and the one or more virtual machines, a result of the fetch and command is displayed via a graphical user-interface.
    Type: Grant
    Filed: November 30, 2016
    Date of Patent: August 10, 2021
    Assignee: VMware, Inc.
    Inventor: David Byard
  • Patent number: 11074112
    Abstract: Systems, methods, and software are disclosed herein for maintain the responsiveness of a user interface to an application. In an implementation, a synchronous operation is commenced on a main thread of an application. The application monitors for a request by an additional thread to interrupt the synchronous operation in favor of an asynchronous operation. The synchronous operation is canceled in response to the request and is retried after completing the asynchronous operation.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: July 27, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Micah James Myerscough, Weide Zhong, Xiaohui Pan, Toshiharu Kawai, Emily Anne Schultz
  • Patent number: 11048562
    Abstract: Techniques are disclosed relating to efficiently handling execution of multiple threads to perform various actions. In some embodiments, an application instantiates a queue and a synchronization primitive. The queue maintains a set of work items to be operated on by a thread pool maintained by a kernel. The synchronization primitive controls access to the queue by a plurality of threads including threads of the thread pool. In such an embodiment, a first thread of the application enqueues a work item in the queue and issues a system call to the kernel to request that the kernel dispatch a thread of the thread pool to operate on the first work item. In various embodiments, the dispatched thread is executable to acquire the synchronization primitive, dequeue the work item, and operate on it.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: June 29, 2021
    Assignee: Apple Inc.
    Inventors: Daniel A. Steffen, Pierre Habouzit, Daniel A. Chimene, Jeremy C. Andrus, James M. Magee, Puja Gupta
  • Patent number: 11036552
    Abstract: A method and an apparatus of allocating available resources in a cluster system with learning models and tuning methods are provided. The learning model may be trained from historic performance data of previously executed jobs and used to project a suggested amount of resources for execution of a job. The tuning process may suggest a configuration for the projected amount of resources in the cluster system for an optimal operating point. An optimization may be performed with respect to a set of objective functions to improve resource utilization and system performance while suggesting the configuration. Through many executions and job characterization, the learning/tuning process for suggesting the configuration for the projected amount of resources may be improved by understanding correlations of historic data and the objective functions.
    Type: Grant
    Filed: October 25, 2016
    Date of Patent: June 15, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: I-Hsin Chung, Paul G. Crumley, Bhuvana Ramabhadran, Weichung Wang, Huifang Wen
  • Patent number: 11003475
    Abstract: Techniques promote monitoring of hypervisor systems by presenting dynamic representations of hypervisor architectures that include performance indicators. A reviewer can interact with the representation to progressively view select lower-level performance indicators. Higher level performance indicators can be determined based on lower level state assessments. A reviewer can also view historical performance metrics and indicators, which can aid in understanding which configuration changes or system usages may have led to sub-optimal performance.
    Type: Grant
    Filed: October 6, 2016
    Date of Patent: May 11, 2021
    Assignee: SPLUNK INC.
    Inventors: Brian Bingham, Tristan Fletcher
  • Patent number: 10963276
    Abstract: A control device can be used to control a base station, a switch, and a gateway leading to an external network. The device may communicate with a connection server connecting to a cloud computer system and with virtual functions of a control plane of the core network as instantiated in the computer system. The device may manage a database identifying for at least one terminal at least one of the virtual functions allocated to that terminal and a database associating at least one of the virtual functions with an identifier and a state of that function, and update the databases on the basis of information received from the connection server and/or from the virtual functions. The device may use one and/or the other of the databases in order to set up and/or maintain a user plane for a terminal between the base station, the switch, and the interconnection gateway.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: March 30, 2021
    Assignee: ORANGE
    Inventors: Malla Reddy Sama, Lucian Suciu, Amin Aflatoonian, Karine Guillouard
  • Patent number: 10963281
    Abstract: Memory security technologies are described. An example processing device includes a processor core and a memory controller coupled to the processor core and a memory. The processor core can determine that an exit condition to transfer control of a resource for a processor core from a first virtual machine monitor (VMM) to a second VMM has occurred. The processor core can also determine whether a control virtual machine control structure (VMCS) link pointer is valid. The processor core can also determine whether a reason value corresponding to the control VMCS link pointer is set. The processor core can also determine whether the reason value is set to zero. The processor core can also determining whether an exception bit corresponding to a specific exception type of a reason value is set. The processor core can also transfer a control of the resource from the first VMM to the second VMM.
    Type: Grant
    Filed: October 1, 2018
    Date of Patent: March 30, 2021
    Assignee: Intel Corporation
    Inventors: Kai Wang, Bing Zhu, Peng Zou, Manohar Castelino
  • Patent number: 10949240
    Abstract: An illustrative “Live Synchronization” feature in a data storage management system can reduce the downtime that arises in failover situations. The illustrative Live Sync embodiment uses backup data to create and maintain a ready (or “warm”) virtualized computing platform comprising one or more virtual machines (“VMs”) that are configured and ready to be activated and take over data processing from another data processing platform operating in the production environment. The “warm” computing platform awaits activation as a failover solution for the production system(s) and can be co-located at the production data center, or configured at a remote or disaster recovery site, which in some embodiments is configured “in the cloud.” Both local and remote illustrative embodiments are discussed herein. An “incremental forever” approach can be combined with deduplication and synthetic full backups to speed up data transfer and update the disaster recovery sites.
    Type: Grant
    Filed: December 28, 2018
    Date of Patent: March 16, 2021
    Assignee: Commvault Systems, Inc.
    Inventors: Henry Wallace Dornemann, Ajay Venkat Nagrale, Rahul S. Pawar, Ananda Venkatesha
  • Patent number: 10949233
    Abstract: Systems and methods for Virtual Network Function (VNF) service chain optimization include, responsive to a request, determining placement for one or more VNFs in a VNF service chain based on a lowest cost determination; configuring at least one programmable region of acceleration hardware for at least one VNF of the one or more VNFs; and activating the VNF service chain. The lowest cost determination can be based on a service chain cost model that assigns costs based on connectivity between switching elements and between hops between sites. The activating can include a Make-Before-Break (MBB) operation in a network to minimize service interruption of the VNF service chain.
    Type: Grant
    Filed: June 22, 2016
    Date of Patent: March 16, 2021
    Assignee: Ciena Corporation
    Inventors: Matthew W. Connolly, Aung Htay
  • Patent number: 10936353
    Abstract: In accordance with embodiments of the present disclosure, a method may include responsive to issuance of, by an application executing on a virtual machine of a hypervisor executing on a processor subsystem of an information handling system, an instruction triggering a virtual machine exit of the virtual machine, invoking a virtual machine exit handler of the hypervisor to handle the instruction. The method may also include determining by the virtual machine exit handler whether the instruction has a characteristic indicating that the instruction should be handled by a hardware accelerator device of the information handling system communicatively coupled to the processor subsystem and responsive to determining that the instruction has a characteristic indicating that the instruction should be handled by the hardware accelerator device, offloading by the virtual machine exit handler processing of the instruction to the hardware accelerator device.
    Type: Grant
    Filed: May 16, 2017
    Date of Patent: March 2, 2021
    Assignee: Dell Products L.P.
    Inventors: Shyam T. Iyer, Gaurav Chawla
  • Patent number: 10901790
    Abstract: Automated techniques are disclosed for minimizing communication between nodes in a system comprising multiple nodes for executing requests in which a request type is associated with a particular node. For example, a technique comprises the following steps. Information is maintained about frequencies of compound requests received and individual requests comprising the compound requests. For a plurality of request types which frequently occur in a compound request, the plurality of request types is associated to a same node. As another example, a technique for minimizing communication between nodes, in a system comprising multiple nodes for executing a plurality of applications, comprises the steps of maintaining information about an amount of communication between said applications, and using said information to place said applications on said nodes to minimize communication among said nodes.
    Type: Grant
    Filed: September 13, 2018
    Date of Patent: January 26, 2021
    Assignee: International Business Machines Corporation
    Inventors: Paul M. Dantzig, Arun Kwangil Iyengar, Francis Nicholas Parr, Gong Su
  • Patent number: 10896069
    Abstract: A technique for dynamically provisioning virtual machines for running a cloud-based software application includes querying a pool manager of a multi-tiered pool of virtual machines to identify a set of classes of virtual machines, which meet a specified size criterion, and a respective TVC (time-variant characteristic) for each class. If an identified one of the set of classes has a smaller TVC than a TVC of one of the virtual machines currently running the application, the technique proceeds to swap the current virtual machine for a virtual machine having the identified class.
    Type: Grant
    Filed: March 16, 2018
    Date of Patent: January 19, 2021
    Assignee: Citrix Systems, Inc.
    Inventors: Raymond Matthew Sampson, Kevin Joseph Webster, Marcos Alejandro Di Pietro
  • Patent number: 10877791
    Abstract: A system and method include migrating virtual machines (VMs) between compute only (CO) and hyper converged (HC) nodes. The method includes identifying, by a management processor of a virtual computing system, a plurality of virtual machines hosted on compute only (CO) nodes in the virtual computing system. The management processor then identifies hyper converged (HC) nodes having virtual disks hosting data for the plurality of virtual machines hosted on CO nodes. When a virtual machine (VM) in the plurality of virtual machines is migrating, the management processor biases the VM to migrate to a first HC node hosting a virtual disk assigned to host data for the VM.
    Type: Grant
    Filed: November 30, 2018
    Date of Patent: December 29, 2020
    Assignee: NUTANIX, INC.
    Inventors: Aditya Ramesh, Fabien Hermenier, Gaurav Poothia, Hemanth Kumar Mantri, Robert Schwenz, Swathi Koundinya
  • Patent number: 10866824
    Abstract: Systems and methods for providing a continuous uptime of guest Virtual Machines (“VMs”) during upgrade of a virtualization host device. The methods comprising: connecting all of the guest VMs' frontends or drivers to at least one old control VM which is currently running on the virtualization host device and which contains old virtualization software; creating at least one upgraded control VM that contains new virtualization software and that is to replace the old VM in the virtualization host device; connecting the guest VMs' frontends or drivers to the upgraded VM; and uninstalling the old control VM from the virtualization host device.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: December 15, 2020
    Assignee: Citrix Systems, Inc.
    Inventor: Marcus Granado