IP Library Granted Patent US 8,453,148
Granted Patent B1
US 8,453,148 · App. 12/460,384 · Granted May 28, 2013

Method and system for image sequence transfer scheduling and restricting the image sequence generation

Inventor: David Victor Hobbs (Surrey, CA)
Assignee: Teradici Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,453,148
App. No.
12/460,384
Granted
May 28, 2013
Kind
B1
Abstract

A method for communicating, from a host computer to a plurality of remote computers, a plurality of asynchronous image sequences generated by a plurality of independent entities, comprising independently monitoring updates of the plurality of image sequences to determine a plurality of image portions ready for communication to the remote computers, wherein the updates are at least one of spatially or temporally erratic; determining an availability of at least one transfer resource for transferring at least two of the plurality of image portions and sharable by at least two of the plurality of image sequences; selecting a first image portion from the plurality of image portions based on the availability, the monitoring, determining, and selecting done at the host computer; and transferring the first image portion, from the host computer to a remote computer within the plurality of remote computers, utilizing the at least one transfer resource.

Claims (32)

1. A method for communicating a plurality of image sequences, wherein each of the plurality of image sequences is generated by a different one of a plurality of virtual machines, comprising:

generating, by a shared image generation resource of a host computer, the plurality of image sequences;

monitoring the plurality of image sequences to determine updated image portions of the plurality of image sequences, wherein the updated image portions are at least one of spatially erratic or temporally erratic;

determining an availability of at least two transfer resource types of a set comprising the shared image generation resource, an image capture resource, an image encode resource and a network resource, wherein the at least two transfer resource types are required to transfer the plurality of image sequences;

selecting a first image portion from the updated image portions based on image transfer requirements and the availability of the at least two transfer resource types;

transferring the first image portion, from the host computer to a remote computer, utilizing the at least two transfer resource types; and

restricting subsequent generation of an image sequence from which the first image portion was selected, wherein transferring the first image portion further comprises capturing the first image portion, wherein restricting the subsequent generation persists until capturing the first image portion is completed, and wherein restricting the subsequent generation comprises restricting processor cycles to a virtual machine which generated the image sequence.

2. The method of claim 1 , wherein the transferring comprises:

generating an encoding of the first image portion; and

communicating the encoding to the remote computer.

3. The method of claim 2 , wherein generating the encoding is performed by a resource independent of the shared image generation resource.

4. The method of claim 1 , further comprising controlling generating the plurality of image sequences, by allocating processing cycles of the shared image generation resource, based on image transfer requirements and the availability of the at least two transfer resource types.

5. The method of claim 1 , further comprising:

obtaining predicted availability information for the at least two transfer resource types; and

controlling generation of the plurality of image sequences based upon the predicted availability information.

6. The method of claim 1 , wherein at least one of the updated image portions is determined to be ready for communication based on having a tear-free state, the tear-free state determined based on at least one of a period of inactive image generation or a completion of an image generation update.

7. The method of claim 1 , wherein the image transfer requirements are determined from at least one of an image transfer history, an image generation history, a user input event, an image update size or an image type, and wherein the image transfer requirements are associated with each of the plurality of image sequences.

8. The method of claim 1 , further comprising determining, subsequent to selecting the first image portion, that a second image portion from the updated image portions is no longer ready for communication based on an additional update to an image sequence from which the second image portion was selected.

9. The method of claim 1 , further comprising selecting, subsequent to transferring the first image portion, a third image portion from the updated image portions in advance of selecting a second image portion from the updated image portions, wherein a first image sequence from the plurality of image sequences comprises the first image portion and the second image portion, wherein a second image sequence from the plurality of image sequences comprises the third image portion, and wherein the second image portion is determined to be updated in advance of the third image portion.

10. The method of claim 1 , wherein selecting the first image portion is further based on a priority determined from at least one of a communication history of the plurality of image sequences or an indication of a user input device activity of the remote computer.

11. An image transfer system, comprising:

a processor memory to store current frames from a plurality of image sequences;

at least one processor enabled to asynchronously write update portions of the current frames into the processor memory;

a Direct Memory Access Controller (DMAC) enabled for transferring selective portions of the update portions from the processor memory to an encoder;

the encoder enabled to encode the selective portions to generate encoded images;

a network interface enabled to transmit the encoded images, via a shared packet switched network, to a plurality of remote computers; and

a controller enabled to generate communication schedules for at least two resource types of a set comprising the at least one processor, the DMAC, the encoder and the network interface based on an image transfer requirement and the availability of two or more different resource types of a second set comprising the at least one processor, the DMAC, the encoder and the shared packet switched network, wherein each of the plurality of image sequences is generated by a different one of a plurality of virtual machines, wherein subsequent generation of an image sequence of the plurality of image sequences, which comprises a portion of the selective portions, is restricted until transferring of the portion of the selective portions is completed, and wherein restricting the subsequent generation comprises restricting processor cycles of the at least one processor to a virtual machine which generated the image sequence.

12. The image transfer system of claim 11 , further comprising a transfer scheduler comprising a set of machine readable instructions for execution in a hypervisor domain of the at least one processor, the transfer scheduler enabled to operate in conjunction with the controller in the generation of the communication schedules.

13. The image transfer system of claim 12 , further comprising at least one update manager enabled to (i) determine the image transfer requirement for at least a portion of a first image sequence in the plurality of image sequences and (ii) communicate the image transfer requirement to at least one of the controller or the transfer scheduler, wherein the image transfer requirement is determined from at least one of a transfer history, an image generation history, a user input event, an image update size or an image type, and wherein the image transfer requirement is associated with each of the plurality of image sequences.

14. The image transfer system of claim 12 , wherein at least one of the controller or the transfer scheduler is enabled to utilize activity information for the generation of the communication schedules, the activity information pertaining to a plurality of user input devices local to the plurality of remote computers.

15. The image transfer system of claim 11 , further comprising a plurality of update managers enabled to monitor generation of the plurality of image sequences, and wherein the DMAC is enabled to synchronize transferring the selective portions to capture a tear-free image based on a coordination between the plurality of update managers and the DMAC.

16. The image transfer system of claim 11 , wherein managing a generation of the plurality of image sequences, by allocating processing cycles of the at least one processor to each of the plurality of virtual machines, is based on the image transfer requirement and the availability of the two or more different resource types.

Assignments (8)
CHANGE OF NAME Recorded May 19, 2025
From: TERADICI CORPORATION
To: TERADICI CO.
Reel/Frame 071296/0559 →
RELEASE OF SECURITY INTEREST Recorded May 13, 2025
From: COMERICA BANK
To: TERADICI CORPORATION
Reel/Frame 071097/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2019
From: WF FUND IV LIMITED PARTNERSHIP
To: TERADICI CORPORATION
Reel/Frame 048499/0800 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2019
From: BEEDIE CAPITAL PARTNERS FUND I LIMITED PARTNERSHIP
To: TERADICI CORPORATION
Reel/Frame 048473/0846 →
SECURITY INTEREST Recorded Feb 27, 2019
From: TERADICI CORPORATION
To: COMERICA BANK
Reel/Frame 048454/0895 →
SECURITY INTEREST Recorded Mar 3, 2016
From: TERADICI CORPORATION
To: BEEDIE CAPITAL PARTNERS FUND I LIMITED PARTNERSHIP
Reel/Frame 037988/0364 →
SECURITY AGREEMENT Recorded Feb 12, 2013
From: TERADICI CORPORATION
To: WF FUND IV LIMITED PARTNERSHIP
Reel/Frame 029800/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2009
From: HOBBS, DAVID VICTOR
To: TERADICI CORPORATION
Reel/Frame 023024/0065 →
Continuity (5)
Continuation In Part 11278128 · Mar 30, 2006
Continuation In Part 11904879 · Sep 28, 2007
Provisional Application 60669178 · Apr 6, 2005
Provisional Application 61086580 · Aug 6, 2008
Provisional Application 60827382 · Sep 28, 2006