Patent classifications
G06F9/4555
SYSTEM SUPPORT REPLICATOR
An agent and a configuration interface permit custom-level customizations for synchronizing a replica of an enterprise system over a network connection with a replicator. The replicator produces the replica as a Virtual Machine (VM) that is maintained on a portal server that is remote from an enterprise server that hosts the enterprise system.
Dynamic device virtualization for use by guest user processes based on observed behaviors of native device drivers
A system and method for providing dynamic device virtualization is herein disclosed. According to one embodiment, the computer-implemented method includes providing a hypervisor and one or more guest virtual machines (VMs). Each guest VM is disposed to run a guest user process and the hypervisor is split into a device hypervisor and a compute hypervisor. The computer-implemented method further includes providing an interface between the device hypervisor and the compute hypervisor. The compute hypervisor manages an efficient use of CPU and memory of a host and the device hypervisor manages a device connected to the host by exploiting hardware acceleration of the device.
Systems and methods for task processing in a distributed environment
Methods and apparatus for task processing in a distributed environment are disclosed and described. An example apparatus includes a task manager and a task dispatcher. The example task manager is to receive a task and create an execution context for the task, the execution context to associate the task with a routine for task execution. The example task dispatcher is to receive a report of task execution progress and provide an update regarding task execution progress, the task dispatcher, upon initiation of task execution, to facilitate blocking of interaction with a resource involved in the task execution. The example task dispatcher is to trigger an indication of task execution progress and, upon task finish, facilitate unblocking of the resource involved in the task execution.
System and Method for Improving Content Fetching by Selecting Tunnel Devices
A method for fetching a content from a web server to a client device is disclosed, using tunnel devices serving as intermediate devices. The tunnel device is selected based on an attribute, such as IP Geolocation. A tunnel bank server stores a list of available tunnels that may be used, associated with values of various attribute types. The tunnel devices initiate communication with the tunnel bank server, and stays connected to it, for allowing a communication session initiated by the tunnel bank server. Upon receiving a request from a client to a content and for specific attribute types and values, a tunnel is selected by the tunnel bank server, and is used as a tunnel for retrieving the required content from the web server, using standard protocol such as SOCKS, WebSocket or HTTP Proxy. The client only communicates with a super proxy server that manages the content fetching scheme.
TECHNIQUES FOR NON-DISRUPTIVE SYSTEM UPGRADE
The disclosure provides an approach for a non-disruptive system upgrade. Embodiments include installing an upgraded version of an operating system (OS) on a computing system while a current version of the OS continues to run. Embodiments include entering a maintenance mode on the computing system, including preventing the addition of new applications and modifying the handling of storage operations on the computing system for the duration of the maintenance mode. Embodiments include, during the maintenance mode, configuring the upgraded version of the OS. Embodiments include, after configuring the upgraded version of the OS, suspending a subset of applications running on the computing system, transferring control over resources of the computing system to the upgraded version of the OS, and resuming the subset of the applications running on the computing system. Embodiments include exiting the maintenance mode on the computing system.
MANAGING CONTAINERS ACROSS MULTIPLE OPERATING SYSTEMS
Aspects of the disclosure provide for mechanisms for managing containers across operating systems in a computer system. A method of the disclosure includes: causing a first container management agent in a first container to run a user interface in the first container, receiving a user request to create a copy of the first container, creating a second container in view of the first container, receiving, from the user interface running in the first container, a first command to switch from the first container to the second container, and responsive to receiving the first command to switch from the first container to the second container: configuring the second container in view of one or more configurations of the first container, causing a second container management agent in the second container to run the user interface in the second container, and causing execution of the first container to stop.
Paravirtulized capability for device assignment
A hypervisor of a host detects a request by a guest or a hypervisor administrator to expose a device associated with the host to the guest. The hypervisor locates free space in a configuration space of the device. The hypervisor assigns a configuration space associated with the hypervisor to the located free space. The hypervisor notifies the guest of the configuration space associated with the hypervisor and a range of addresses associated with the free space. The hypervisor exposes the device to the guest. The configuration space associated with the hypervisor may be a message-signaled capability associated with the hypervisor.
SCALING A HOST VIRTUAL COUNTER AND TIMER IN A VIRTUALIZED COMPUTER SYSTEM
An example method of virtualizing a host virtual counter and timer in a central processing unit (CPU) of a virtualized host computer includes: creating, by a hypervisor of the host computer in response to power on of a virtual machine (VM), a guest virtual counter, the guest virtual counter comprising a data structure including scaling factors; mapping a shared memory page having the data structure into an address space of memory allocated to the VM; and notifying a guest operating system (OS) of the VM of a location in the address space for the shared memory page having the data structure, the guest OS being paravirtualized to scale the host virtual counter and timer based on the scaling factors of the guest virtual counter.
DYNAMIC DEVICE VIRTUALIZATION FOR USE BY GUEST USER PROCESSES BASED ON OBSERVED BEHAVIORS OF NATIVE DEVICE DRIVERS
A system and method for providing dynamic device virtualization is herein disclosed. According to one embodiment, the computer-implemented method includes providing a hypervisor and one or more guest virtual machines (VMs). Each guest VM is disposed to run a guest user process and the hypervisor is split into a device hypervisor and a compute hypervisor. The computer-implemented method further includes providing an interface between the device hypervisor and the compute hypervisor. The compute hypervisor manages an efficient use of CPU and memory of a host and the device hypervisor manages a device connected to the host by exploiting hardware acceleration of the device.
Method and Apparatus for Determining System Information in a Device Having a Plurality of Processors, each Including Virtual Machines and some Located on Separate Insertable Boards
A framework that creates an abstraction layer to configure/display system resources and process/application resource utilization while accessing the system information from a CLI. The framework is implemented using a scripting language like python and uses pre-existing OS or OEM tools to configure/display system resource information and filter the output to implement the CLI. A user argument defines the choice to use the framework as a standalone utility (running in a Linux shell) or in a library mode. Since the framework makes use of OS or OEM tools and does not access any system resource directly, the framework can be run in the virtual machine and baremetal OS. The framework can access the OS or OEM tools to configure/display system resource information locally and remotely by establishing remote communication through rsh (remote shell) connections. This approach allows reuse of the code, minimizes the implementation complexity, reduces development time and minimizes defects.