Patent application number | Description | Published |
20080273455 | Retry Strategies for Use in a Streaming Environment - Strategies are described for performing retry analysis in an environment which involves the transmission of media information from a source module to a target module. In the context of the source module, the retry analysis determines whether the source module should satisfy the retry requests issued by the target module. In the context of the target module, the retry analysis determines whether the target module should generate the retry requests in the first place. Novel request reporting formats are also described. The target module performs analysis to determine what reporting format it should use to convey the retry requests to the source module. | 11-06-2008 |
20090006074 | ACCELERATED ACCESS TO DEVICE EMULATORS IN A HYPERVISOR ENVIRONMENT - A hypervisor environment configured for accelerated access to device emulators comprises a hypervisor that intercepts a device access instruction to a child partition processor and routes said device access instruction to a root partition. A processor instruction emulator emulates said device access instruction along with any number of next instructions of the processor in said child partition, thereby dispatching accesses to a device emulator on behalf of the processor in said child partition. By emulating these instructions in the root partition, accesses to the device emulator are greatly accelerated. | 01-01-2009 |
20090006728 | VIRTUAL MACHINE STATE SNAPSHOTS - Saving state of Random Access Memory (RAM) in use by guest operating system software is accomplished using state saving software that starts a plurality of compression threads for compressing RAM data blocks used by the guest. Each compression thread determines a compression level for a RAM data block based on a size of a queue of data to be written to disk, then compresses the RAM data block, and places the compressed block in the queue. | 01-01-2009 |
20090077255 | ACCELERATED CHANNEL CHANGE IN RATE-LIMITED ENVIRONMENTS - Accelerated channel change (ACC) strategies are described for supplying a client module with media information by transitioning between a first delivery of media information provided by first delivery functionality and a second delivery of media information provided by second delivery functionality without exceeding prescribed data rate limitations. The first delivery functionality can represent server-based functionality for delivering a unicast stream of media information at a data rate (or maximum data rate) of some excess amount over the nominal rate of delivery, starting at a selected location within the media information. The second delivery functionality can represent any functionality for delivering the media information at the data rate (or maximum data rate) of the nominal rate of delivery. A join interval separates the first delivery at the excess rate and the second delivery at the nominal rate. In that period, the first delivery functionality can provide media information at a join interval data rate. The join interval data rate, if it is below the nominal data rate, will cause the client module to miss packets of media information. The client module can receive these missing packets by issuing retry requests to the first delivery functionality or to some other entity. The client module can determine the excess amount available by investigating the amount of missing information that occurs at different data rates; or the excess amount can be defined in advance. | 03-19-2009 |
20100082851 | BALANCING USAGE OF HARDWARE DEVICES AMONG CLIENTS - Techniques are disclosed for managing the flow of IO jobs from a client to a hardware device such that resource starvation is reduced without significantly impacting throughput. Each flow can be assigned an amount of time that a hardware device can deplete completing IO jobs from the client. When the allocated amount of time is used IO jobs associated with the client can be stored in a queue until the client obtains more time. | 04-01-2010 |
20100083256 | TEMPORAL BATCHING OF I/O JOBS - Batching techniques are provided to maximize the throughput of a hardware device based on the saturation point of the hardware device. A balancer can determine the saturation point of the hardware device and determine the estimated time cost for IO jobs pending in the hardware device. A comparison can be made and if the estimated time cost total is lower than the saturation point one or more IO jobs can be sent to the hardware device. | 04-01-2010 |
20100083274 | HARDWARE THROUGHPUT SATURATION DETECTION - Improved hardware throughput can be achieved when a hardware device is saturated with IO jobs. Throughput can be estimated based on the quantifiable characteristics of incoming IO jobs. When IO jobs are received a time cost for each job can be estimated and stored in memory. The estimates can be used to calculate the total time cost of in-flight IO jobs and a determination can be made as to whether the hardware device is saturated based on completion times for IO jobs. Over time the time cost estimates for IO jobs can be revised based on a comparison between the estimated time cost for an IO job and the actual time cost for the IO job using aggregate IO job completion sequences. | 04-01-2010 |
20100083276 | ON-THE-FLY REPLACEMENT OF PHYSICAL HARDWARE WITH EMULATION - Various aspects are disclosed herein for replacing the hardware backing the memory locations associated with a virtual machine with a backing mechanism. The backing mechanism may have the memory locations appear to contain data convenient to the driver in the virtual machine, typically containing what the hardware would have returned if the hardware had been read from. The data image being returned from the memory locations may travel with the virtual machine even if the virtual machine moves to a different physical machine that does not contain hardware equivalent to the hardware that was recently removed from the virtual machine. | 04-01-2010 |
20110119671 | On-The-Fly Replacement of Physical Hardware With Emulation - Various aspects are disclosed herein for replacing the hardware backing the memory locations associated with a virtual machine with a backing mechanism. The backing mechanism may have the memory locations appear to contain data convenient to the driver in the virtual machine, typically containing what the hardware would have returned if the hardware had been read from. The data image being returned from the memory locations may travel with the virtual machine even if the virtual machine moves to a different physical machine that does not contain hardware equivalent to the hardware that was recently removed from the virtual machine. | 05-19-2011 |
20110153715 | LIGHTWEIGHT SERVICE MIGRATION - Techniques for migrating lightweight services in a datacenter are described. In an example embodiment the services can be attached to virtual ports of embedded switches and assigned unique network identifiers. The services can be migrated from one physical host to another by migrating the unique identifiers and associating them with instantiated instances of at least equivalent services. | 06-23-2011 |
20110154318 | VIRTUAL STORAGE TARGET OFFLOAD TECHNIQUES - A virtual machine storage service can be use a unique network identifier and a SR-IOV compliant device can be used to transport I/O between a virtual machine and the virtual machine storage service. The virtual machine storage service can be offloaded to a child partition or migrated to another physical machine along with the unique network identifier. | 06-23-2011 |
20110197022 | Virtual Disk Manipulation Operations - Described is a technology by which a virtual hard disk is able to continue servicing virtual disk I/O (reads and writes) while a meta-operation (e.g., copying, moving, deleting, merging, compressing, defragmenting, cryptographic signing, lifting, dropping, converting, or compacting virtual disk data) is performed on the virtual disk. The servicing of virtual disk I/Os may be coordinated with meta-operation performance, such as by throttling and/or prioritizing the virtual disk I/Os. Also described is performing a meta-operation by manipulating one or more de-duplication data structures. | 08-11-2011 |
20110197039 | Background Migration of Virtual Storage - Described is a technology by which a virtual hard disk is migrated from a source storage location to a target storage location without needing any shared physical storage, in which a machine may continue to use the virtual hard disk during migration. This facilitates use the virtual hard disk in conjunction with live-migrating a virtual machine. Virtual hard disk migration may occur fully before or after the virtual machine is migrated to the target host, or partially before and partially after virtual machine migration. Background copying, sending of write-through data, and/or servicing read requests may be used in the migration. Also described is throttling data writes and/or data communication to manage the migration of the virtual hard disk. | 08-11-2011 |
20110197052 | Fast Machine Booting Through Streaming Storage - Described is a technology by which a virtual hard disk is maintained between a far (e.g., remote) backing store and a near (e.g., local) backing store, which among other advantages facilitates fast booting of a machine coupled to the virtual hard disk. Read requests are serviced from the near backing store (e.g., a differencing layer) when the data is available thereon, or from the far backing store (e.g., a base layer) when not. The near backing store may be configured with a cache layer that corresponds to the base layer and a write differencing layer that stores writes, or a single differencing layer may be used for both caching read data and for storing write data. A background copy operation may be used to fill the cache until the far backing store data is no longer needed. | 08-11-2011 |
20110302577 | VIRTUAL MACHINE MIGRATION TECHNIQUES - Techniques for migrating a virtual machine from a source computer system to a target computer system are disclosed. In an exemplary embodiment, a group of pages can be mapped writable in response to determining that the guest operating system attempted to change a specific page. In the same, or other embodiments, pages can be compressed prior to sending such that throughput of a communication channel is maximized. In the same, or other embodiments, storage IO jobs can be canceled on a source computer system and reissued by a target computer system. | 12-08-2011 |
20120079583 | OFFLOAD READS AND WRITES - Aspects of the subject matter described herein relate to offload reads and writes. In aspects, a requestor that seeks to transfer data sends a request for a representation of the data. In response, the requestor receives one or more tokens that represent the data. The requestor may then provide one or more of these tokens to a component with a request to write data represented by the one or more tokens. In some exemplary applications, the component may use the one or more tokens to identify the data and may then read the data or logically write the data without additional interaction with the requestor. Tokens may be invalidated by request or based on other factors. | 03-29-2012 |
20120084381 | Virtual Desktop Configuration And Operation Techniques - Techniques for configuring and operating a virtual desktop session are disclosed herein. In an exemplary embodiment, an inter-partition communication channel can be established between a virtualization platform and a virtual machine. The inter-partition communication channel can be used to configure a guest operating system to conduct virtual desktop sessions and manage running virtual desktop sessions. In addition to the foregoing, other techniques are described in the claims, the detailed description, and the figures. | 04-05-2012 |
20120084775 | Techniques for Streaming Virtual Machines from a Server to a Host - Techniques for configuring a commodity server to host virtual hard disks are disclosed herein. In an exemplary embodiment, a virtual hard disk file can be split into a plurality of differencing VHD files and one or more of the files can be downloaded to a virtualization host as it runs off the VHD files stored on the server. After the one or more VHD files are downloaded, the virtualization host can be configured to use the local copy instead of the copy on the commodity server. In addition to the foregoing, other techniques are described in the claims, the detailed description, and the figures. | 04-05-2012 |
20120110281 | VIRTUALIZATION AND OFFLOAD READS AND WRITES - Aspects of the subject matter described herein relate to virtualization and offload reads and writes. In aspects, an offload read allows a requestor to obtain a token that represents data while an offload write allows the requestor to request that the data (or a part thereof) represented by a token be logically written. Offload reads and writes may be used to perform various actions for virtual environments. | 05-03-2012 |
20120233434 | Virtual Disk Storage Techniques - This document describes techniques for storing virtual disk payload data. In an exemplary configuration, each virtual disk extent can be associated with state information that indicates whether the virtual disk extent is described by a virtual disk file. Under certain conditions the space used to describe a virtual disk extent can be reclaimed and state information can be used to determine how read and/or write operations directed to the virtual disk extent are handled. In addition to the foregoing, other techniques are described in the claims, figures, and detailed description of this document. | 09-13-2012 |
20120272240 | Virtual Disk Storage Techniques - This document describes techniques for effecting a virtual disk. In an exemplary configuration, a virtual disk file can be associated with a log that acts as both a log and a check point record. When a log entry is generated, information that identifies the tail can be stored therein. This information can be used in the event that virtual disk file is improperly closed, i.e., a crash or power failure occurs, to discover a sequence of log entries to replay. In addition to the foregoing, other techniques are described in the claims, detailed description, and figures. | 10-25-2012 |
20120278799 | Virtual Disk Storage Techniques - In an exemplary embodiment, a virtual disk file can be assigned an identifier and a virtual disk files that is dependent on the virtual disk file can include a copy of the identifier. In the instance that the virtual disk file is opened and data is modified that causes the contents of a virtual disk extent to change the identifier can be changed. If the virtual disk file and the dependent virtual disk file are used to instantiate a virtual disk the difference between identifiers can be detected, which is indicative of the fact that the virtual disk may be corrupted. Other techniques are described in the detailed description, claims, and figures that form a part of this document. | 11-01-2012 |
20120278818 | On-the-Fly Replacement of Physical Hardware with Emulation - Various aspects are disclosed herein for replacing the hardware backing the memory locations associated with a virtual machine with a backing mechanism. The backing mechanism may have the memory locations appear to contain data convenient to the driver in the virtual machine, typically containing what the hardware would have returned if the hardware had been read from. The data image being returned from the memory locations may travel with the virtual machine even if the virtual machine moves to a different physical machine that does not contain hardware equivalent to the hardware that was recently removed from the virtual machine. | 11-01-2012 |
20130041985 | TOKEN BASED FILE OPERATIONS - Described are embodiments which allow token-based file operations. The client may request a special offload file operation that is formatted according to a file access protocol. The file operation may be an offload read operation or an offload write operation. In an offload read operation, the client requests that data be logically read from a stored file, or a portion thereof. In response, the file server provides a response that includes a token that represents the logically read data. In some embodiments, the file server may return a response with a token that represents less than all of the requested data if for some reason it cannot provide a token that represents all of the data. The token can then be used by the client in a subsequent offload write operation. In embodiments, the tokens represent immutable data that can be safely and securely used across servers and clients. | 02-14-2013 |
20130054977 | ENCRYPTED CHUNK-BASED RAPID DATA ENCRYPTION POLICY COMPLIANCE - To comply with a policy for a computing device indicating that data written by the computing device to the storage volume after activation of the policy be encrypted, an encrypted chunks map is accessed. The encrypted chunks map identifies whether, for each chunk of sectors of a storage volume, the sectors in the chunk are unencrypted. In response to a request to write content to a sector, the encrypted chunks map is checked to determine whether a chunk that includes the sector is unencrypted. If the chunk that includes the sector is unencrypted, then the sectors in the chunk are encrypted, and the content is encrypted and written to the sector. If the chunk that includes the sector is encrypted or not in use, then the content is encrypted and written to the sector. | 02-28-2013 |
20130060972 | BALANCING USAGE OF HARDWARE DEVICES AMONG CLIENTS - Techniques are disclosed for managing the flow of IO jobs from a client to a hardware device such that resource starvation is reduced without significantly impacting throughput. Each flow can be assigned an amount of time that a hardware device can deplete completing IO jobs from the client. When the allocated amount of time is used IO jobs associated with the client can be stored in a queue until the client obtains more time. | 03-07-2013 |
20130179649 | Offload Read and Write Offload Provider - Aspects of the subject matter described herein relate to an offload provider. In aspects, an offload provider may provide a token that represents data. The offload provider may be expected to ensure that the data the token represents will not change while the token is valid. The offload provider may take actions to ensure the immutability of the data. The actions may be taken, for example, in conjunction with receiving an offload read and/or offload write, and/or in conjunction with receiving another write that, if allowed to proceed, would otherwise change the data represented by the token. | 07-11-2013 |
20130179959 | Zero Token - Aspects of the subject matter described herein relate to a zero token. In aspects, a zero token may be used to represent one or more zeroes in an offload write command. A component receiving an offload write command with the zero token is free to write the zeroes in a variety of ways including, for example, changing data structures the component uses to represent the zeroes, issuing another command that writes zeroes, writing physical zeroes, and so forth. A component receiving an offload write command with the zero token does not need to verify that the zero token was obtained from a successful offload read or that the zero token is still valid. In response to an offload read request, a component may provide the zero token to represent all or a portion of the data associated with the offload read request. | 07-11-2013 |
20140122819 | VIRTUAL DISK MANIPULATION OPERATIONS - Described is a technology by which a virtual hard disk is able to continue servicing virtual disk I/O (reads and writes) while a meta-operation (e.g., copying, moving, deleting, merging, compressing, defragmenting, cryptographic signing, lifting, dropping, converting, or compacting virtual disk data) is performed on the virtual disk. The servicing of virtual disk I/Os may be coordinated with meta-operation performance, such as by throttling and/or prioritizing the virtual disk I/Os. Also described is performing a meta-operation by manipulating one or more de-duplication data structures. | 05-01-2014 |
20140164571 | COPY OFFLOAD FOR DISPARATE OFFLOAD PROVIDERS - Aspects of the subject matter described herein relate to offload technology. In aspects, a source offload provider may transfer bulk data to a destination offload provider even if the offload providers are different and independent from each other and have no prior knowledge of each other. In preparation for transferring bulk data, trust may be extended to the offload providers. After authentication, the offload providers may transfer all or a portion of the bulk data over a secure channel without the data traversing the initiator of the transfer. | 06-12-2014 |
20140172811 | COMPATIBLY EXTENDING OFFLOAD TOKEN SIZE - Aspects of the subject matter described herein relate to offload technology. In aspects, a mechanism is described that allows an offload provider to use larger tokens. The larger token may be physical or virtual. In response to an offload read command, a larger token may be created and data from the larger token may be split or injected into multiple tokens of a smaller size. In response to an offload write command, data from the multiple tokens may be combined into a larger token and/or extracted and used to obtain bulk data. | 06-19-2014 |
20140289354 | Background Migration of Virtual Storage - Described is a technology by which a virtual hard disk is migrated from a source storage location to a target storage location without needing any shared physical storage, in which a machine may continue to use the virtual hard disk during migration. This facilitates use the virtual hard disk in conjunction with live-migrating a virtual machine. Virtual hard disk migration may occur fully before or after the virtual machine is migrated to the target host, or partially before and partially after virtual machine migration. Background copying, sending of write-through data, and/or servicing read requests may be used in the migration. Also described is throttling data writes and/or data communication to manage the migration of the virtual hard disk. | 09-25-2014 |
20140337846 | ON-THE-FLY REPLACEMENT OF PHYSICAL HARDWARE WITH EMULATION - Various aspects are disclosed herein for replacing the hardware backing the memory locations associated with a virtual machine with a backing mechanism. The backing mechanism may have the memory locations appear to contain data convenient to the driver in the virtual machine, typically containing what the hardware would have returned if the hardware had been read from. The data image being returned from the memory locations may travel with the virtual machine even if the virtual machine moves to a different physical machine that does not contain hardware equivalent to the hardware that was recently removed from the virtual machine. | 11-13-2014 |