Abstract: A computer system and method for communicating in a virtual environment. The computer system may include a first partition and a virtual service client implemented at a first position in the first partition. The computer system may also include a second partition, and a virtual service provider implemented at a second position in the second partition. The first partition and the second partition may be in operative communication via the virtual service client and the virtual service provider. The first position and the second position may enable the virtual service client and the virtual service provider to reduce processing overhead associated with communicating in the virtual environment by eliminating a processing step, a buffer copy, a software interrupt, and/or a context switch.
Type:
Application
Filed:
April 28, 2006
Publication date:
November 1, 2007
Applicant:
Microsoft Corporation
Inventors:
Brian Henry, Pankaj Garg, Jeffrey Kinsey, Benjamin Leis, Parag Chakraborty
Abstract: Methods, systems, and computer readable media are disclosed for creating a multi-port client server connection in a remote desktop environment. In an embodiment, the multi-client server connection can decouple client-server connection and client-server input from graphics delivery from the server to the client. Such embodiment provides higher server performance and enables dynamic server resource management. The multi-client server connection can be implemented in a virtual environment or between physical machines where one set of physical machines receives the graphics requests from the client and another set of physical machines generates and transmits display data to the client.
Abstract: Memory is reserved in a virtualized computing environment for graphics processing of each child partition in the computing environment. A video memory controller can identify video settings for child partitions. The video memory controller can determine an amount of memory for graphics processing for a child partition based on the video settings for that child partition. The video memory can also request an amount of memory to be reserved for that child partition based on the calculated amount of memory. Reserving memory for graphics processing of child partitions in this way allows for a sufficient amount of memory to be reserved for a child partition without wasting memory resources by reserving significantly more memory than is needed for the child partition.
Abstract: Memory is reserved in a virtualized computing environment for graphics processing of each child partition in the computing environment. A video memory controller can identify video settings for child partitions. The video memory controller can determine an amount of memory for graphics processing for a child partition based on the video settings for that child partition. The video memory can also request an amount of memory to be reserved for that child partition based on the calculated amount of memory. Reserving memory for graphics processing of child partitions in this way allows for a sufficient amount of memory to be reserved for a child partition without wasting memory resources by reserving significantly more memory than is needed for the child partition.
Abstract: A computing device has a hardware device employed to provide a hardware service to the computing device and a plurality of virtual machines including a host virtual machine (VM-H) to which the hardware device is assigned, and a client virtual machine (VM-C) that can consume the hardware service by way of the VM-H. The VM-C includes an emulating stack and an enlightened stack. The emulating stack interfaces an application requesting the hardware service with a trap in a virtualization layer of the computing device which re-directs the request to the VM-H. The enlightened stack interfaces the application with the VM-H and bypasses the virtualization layer. The emulating stack includes a shunt driver that shunts to the enlightened stack each request from the application directed to the emulating stack.
Type:
Application
Filed:
February 8, 2006
Publication date:
August 23, 2007
Applicant:
Microsoft Corporation
Inventors:
Benjamin Leis, Jacob Oshins, Parag Chakraborty
Abstract: A computer system and method for communicating in a virtual environment. The computer system may include a first partition and a virtual service client implemented at a first position in the first partition. The computer system may also include a second partition, and a virtual service provider implemented at a second position in the second partition. The first partition and the second partition may be in operative communication via the virtual service client and the virtual service provider. The first position and the second position may enable the virtual service client and the virtual service provider to reduce processing overhead associated with communicating in the virtual environment by eliminating a processing step, a buffer copy, a software interrupt, and/or a context switch.
Type:
Grant
Filed:
April 28, 2006
Date of Patent:
July 20, 2010
Assignee:
Microsoft Corporation
Inventors:
Brian L. Henry, Pankaj Garg, Jeffrey Brian Kinsey, Benjamin A. Leis, Parag Chakraborty
Abstract: Memory is reserved in a virtualized computing environment for graphics processing of each child partition in the computing environment. A video memory controller can identify video settings for child partitions. The video memory controller can determine an amount of memory for graphics processing for a child partition based on the video settings for that child partition. The video memory can also request an amount of memory to be reserved for that child partition based on the calculated amount of memory. Reserving memory for graphics processing of child partitions in this way allows for a sufficient amount of memory to be reserved for a child partition without wasting memory resources by reserving significantly more memory than is needed for the child partition.
Abstract: A method of agreeing on the utilization of at least one computer resource between two virtual machines includes sending a first resource request by a first virtual machine to a second virtual machine having computer resources to allocate to the first virtual machine. The second virtual machine responds by sending at least one available resource for use by the first virtual machine. The first virtual machine can select from the at least one available resource. Both the first and second virtual machines can then execute on the agreed resource utilization by the first virtual machine and begin using the resource. When conditions change, either the first virtual machine or the second virtual machine can request a renegotiation of the agreement to use computer resources.
Abstract: A mechanism is provided for making information about the virtual disk image file and/or its associated virtual image configuration file more readily available to a user. The virtual disk image file format is expanded to include fields in which information about the data in the file can be stored. Extensible information on file content, compatible HW configurations, compatible host OSes, timeout status, DRM status, patch state, and network topology, tag data for indexing, configuration files, saved state files, operation history data, and the like is stored in a location within a virtual disk image file that can be read without executing the virtual machine. This information can then be used to search the contents of the virtual disk image, to enforce usage policies, to provide extensibility for vendors, and the like.
Abstract: A virtual graphics processing unit within a virtual machine may be restored by causing a reset to the virtual graphics processing unit. The state of the virtual graphics processing unit may not be saved during a migration or save and restore operation, but a reset of the virtual graphics processing unit may cause all applications with processes in the virtual graphics processing unit to re-start and thereby recreate the state of the virtual graphics processing unit. A hypervisor may include a separate graphics processor unit process that may present a virtual graphics processing unit to a virtual machine and communicate with a physical graphics processing unit in hardware. When a virtual machine may be restored after a save or migration, the hypervisor may cause the virtual graphics processor unit to reset and its state to be recreated.
Abstract: A system for offloading traffic from a cellular network to a broadcast network is provided. The offloading mechanism caters to both unicast and broadcast traffic. The system includes a converged cellular core network, World Wide Web, a CDN, a Broadcast Offload Packet Core (BO-PC), a cellular base station, a Broadcast Radio Head, and a converged UE. The converged cellular core network includes an enhanced packet core, a policy rules engine and a packet inspection and steering unit. The BO-PC includes a Broadcast Proxy, a subscriber database, a Broadcast Offload Service Center, a Broadcast Offload Gateway and an analytics engine. For offloading the unicast traffic, the packet inspection and steering unit identifies sessions that are offloaded for supporting offload of the traffic from the converged cellular core network to the broadcast network.
Abstract: A computing device has a hardware device employed to provide a hardware service to the computing device and a plurality of virtual machines including a host virtual machine (VM-H) to which the hardware device is assigned, and a client virtual machine (VM-C) that can consume the hardware service by way of the VM-H. The VM-C includes an emulating stack and an enlightened stack. The emulating stack interfaces an application requesting the hardware service with a trap in a virtualization layer of the computing device which re-directs the request to the VM-H. The enlightened stack interfaces the application with the VM-H and bypasses the virtualization layer. The emulating stack includes a shunt driver that shunts to the enlightened stack each request from the application directed to the emulating stack.
Type:
Grant
Filed:
February 8, 2006
Date of Patent:
July 19, 2011
Assignee:
Microsoft Corporation
Inventors:
Benjamin A. Leis, Jacob Oshins, Parag Chakraborty
Abstract: A mechanism is provided for making information about the virtual disk image file and/or its associated virtual image configuration file more readily available to a user. The virtual disk image file format is expanded to include fields in which information about the data in the file can be stored. Extensible information on file content, compatible HW configurations, compatible host OSes, timeout status, DRM status, patch state, and network topology, tag data for indexing, configuration files, saved state files, operation history data, and the like is stored in a location within a virtual disk image file that can be read without executing the virtual machine. This information can then be used to search the contents of the virtual disk image, to enforce usage policies, to provide extensibility for vendors, and the like.
Abstract: A system is described for high-performance delivery of applications via attachable application storage volumes (ASV), particularly in cloud-based VDI environments, by precaching application data that is determined by learning the application behavior. Data blocks for files that are likely to be used by the application are prefetched and cached by virtual machines before the application requests those blocks so that the relevant data is instantly available in memory when required without needing to wait for the data to be transmitted from the ASV. In order to efficiently prefetch content, the read pattern for application files and their corresponding blocks is inspected. This information is used during application delivery after a user logs onto the virtual machine to selectively prefetch those blocks from the ASVs. As a result, when the user launches those applications, the system avoids the performance penalty of reading those blocks from the ASV.
Abstract: A method of agreeing on the utilization of at least one computer resource between two virtual machines includes sending a first resource request by a first virtual machine to a second virtual machine having computer resources to allocate to the first virtual machine. The second virtual machine responds by sending at least one available resource for use by the first virtual machine. The first virtual machine can select from the at least one available resource. Both the first and second virtual machines can then execute on the agreed resource utilization by the first virtual machine and begin using the resource. When conditions change, either the first virtual machine or the second virtual machine can request a renegotiation of the agreement to use computer resources.
Type:
Grant
Filed:
April 21, 2005
Date of Patent:
April 24, 2012
Assignee:
Microsoft Corporation
Inventors:
Jeffrey Brian Kinsey, Pankaj Garg, Eric P. Traut, Dustin L. Green, Parag Chakraborty
Abstract: A system for offloading traffic from a cellular network to a broadcast network is provided. The offloading mechanism caters to both unicast and broadcast traffic. The system includes a converged cellular core network, World Wide Web, a CDN, a Broadcast Offload Packet Core (BO-PC), a cellular base station, a Broadcast Radio Head, and a converged UE. The converged cellular core network includes an enhanced packet core, a policy rules engine and a packet inspection and steering unit. The BO-PC includes a Broadcast Proxy, a subscriber database, a Broadcast Offload Service Center, a Broadcast Offload Gateway and an analytics engine. For offloading the unicast traffic, the packet inspection and steering unit identifies sessions that are offloaded for supporting offload of the traffic from the converged cellular core network to the broadcast network.
Abstract: A system is described for high-performance delivery of applications via attachable application storage volumes (ASV), particularly in cloud-based VDI environments, by precaching application data that is determined by learning the application behavior. Data blocks for files that are likely to be used by the application are prefetched and cached by virtual machines before the application requests those blocks so that the relevant data is instantly available in memory when required without needing to wait for the data to be transmitted from the ASV. In order to efficiently prefetch content, the read pattern for application files and their corresponding blocks is inspected. This information is used during application delivery after a user logs onto the virtual machine to selectively prefetch those blocks from the ASVs. As a result, when the user launches those applications, the system avoids the performance penalty of reading those blocks from the ASV.
Abstract: A radio mapping architecture for applying machine learning techniques to mobile wireless radio access networks, including a base station, a user equipment (UE), and a network is provided. The radio mapping architecture includes a spectrum monitoring unit and a server and utilizes the UE. The server includes a radio mapping database and a Machine Learning module. The UE or the spectrum monitoring unit captures Radio parameters to derive an input schema for the radio mapping database. The spectrum monitoring unit extracts the Radio parameters that correspond to the base station and the UE and updates them in the radio mapping database periodically. The input schema for the radio mapping database is updated with the Radio parameters sensed by the spectrum monitoring unit and the UE.
Abstract: A system for dynamically offloading data and video traffic to a broadcast offload core network from a cellular network or to the cellular network from the broadcast offload core network is provided. The system includes an analytics engine, a load manager, and a radio access network (RAN). The analytics engine captures geographical radio frequency (RF) information from a geographical RF information database. The geographical RF information includes an operator infrastructure information, a physical terrain information, a subscriber information, a coverage information, a signal quality information, and telecom traffic patterns. The analytics engine determines whether to offload the data and the video traffic to at least one of a unidirectional downlink network from a unicast network or the unicast network from the unidirectional downlink network by analyzing a hybrid cellular user equipment from a particular geographical location trying to access the data or video content.
Abstract: A system for dynamically offloading data and video traffic to a broadcast offload core network from a cellular network or to the cellular network from the broadcast offload core network is provided. The system includes an analytics engine, a load manager, and a radio access network (RAN). The analytics engine captures geographical radio frequency (RF) information from a geographical RF information database. The geographical RF information includes an operator infrastructure information, a physical terrain information, a subscriber information, a coverage information, a signal quality information, and telecom traffic patterns. The analytics engine determines whether to offload the data and the video traffic to at least one of a unidirectional downlink network from a unicast network or the unicast network from the unidirectional downlink network by analyzing a hybrid cellular user equipment from a particular geographical location trying to access the data or video content.