EP2245536A2

Methods and systems for remoting three dimensional graphics

Abstract

This record has no abstract on file.

Term

2.3 yearsto projected expiry

Projected expiry 27 January 2029, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

134 claims: 13 independent, 121 dependent

  1. 1
    Claims of equivalent WO 2009094673 A2 CLAIMS What is claimed is:1. A method for remoting three dimensional graphics, the method comprising: intercepting, by an agent, a plurality of three-dimensional graphics commands generated by an application executing on a local computing machine;encoding, by the agent, a first portion of the plurality of three-dimensional graphics commands with a first codec;encoding, by the agent, a second portion of the plurality of three-dimensional graphics commands with a second codec;creating, by the agent, a frame comprising the first portion and the second portion of the plurality of three-dimensional graphics commands;compressing the frame by the agent;and transmitting, by the agent, the frame to a remote computing machine.
  2. 12
    A system for remoting three dimensional graphics, the system comprising:a local computing machine executing an application that generates a plurality three- dimensional graphics commands;a remote computing machine in communication with the local computing machine via a remote presentation protocol;and an agent executing on the local computing machine to: intercept the plurality of three-dimensional graphics commands, encode a first portion of the plurality of three-dimensional graphics commands with a first codec, encode a second portion of the plurality of three-dimensional graphics commands with a second codec, create a frame comprising the first portion and the second portion of the plurality of three-dimensional graphics commands, compress the frame, and transmit the frame to the remote computing machine.
  3. 23
    A computer readable medium having instructions executable by a processor to remote three dimensional graphics, the computer readable medium comprising:instructions for intercepting, by an agent, a plurality of three-dimensional graphics commands generated by an application executing on a local computing machine;instructions for encoding, by the agent, a first portion of the plurality of three- dimensional graphics commands with a first codec;instructions for encoding, by the agent, a second portion of the plurality of three- dimensional graphics commands with a second codec;instructions for creating, by the agent, a frame comprising the first portion and the second portion of the plurality of three-dimensional graphics commands;instructions for compressing the frame by the agent;and instructions for transmitting, by the agent, the frame to a remote computing machine.
  4. 34
    A method for rendering three dimensional graphical data, the method comprising:intercepting a three dimensional graphics stream comprising three dimensional graphics commands generated by an application executing on a first computing machine;analyzing characteristics of a remoting system to determine a location for rendering three dimensional data from the three dimensional graphics commands, the remoting system comprising at least the first computing machine having a graphics rendering component, a second computing machine having a graphics rendering component and a network;determining a rendering location based on the remoting system analysis;inducing the application to reinitialize a context for determining where to render three dimensional data;and rendering three dimensional data from the three dimensional graphics commands at the rendering location, responsive to the inducement.
  5. 47
    A system for rendering three dimensional graphical data, the system comprising:a first computing machine executing an application that generates three dimensional graphics commands, the first computing machine having a graphics rendering component;a second computing machine in communication with the first computing machine via a network, the second computing machine having a graphics rendering component;a remoting system comprising the first computing machine, the second computing machine and the network;and a rendering agent executing on the first computing machine to: intercept a three dimensional graphics stream comprising the three dimensional graphics commands, analyze characteristics of the remoting system to determine a location for rendering three dimensional data from the three dimensional graphics commands, determine a rendering location based on the remoting system analysis, and induce the application to reinitialize a context for determining where to render three dimensional data.
  6. 60
    A method for detecting a dirty region within a frame encompassing three dimensional graphics and three dimensional graphics primitives, the method comprising:intercepting, via an agent executing on a local computing machine, a function call issued by an application generating three dimensional graphics;identifying, by the agent and responsive to intercepting the function call, at least one location within a frame containing three dimensional graphics commands generated by the application, the location corresponding to a drawing region;determining at least a portion of the three dimensional graphics commands, associated with the at least one location within the frame, changed;and extracting the changed portion of the three dimensional graphics commands.
  7. 69
    A system for detecting a dirty region within a frame encompassing three dimensional graphics and three dimensional graphics primitives, the system comprising:a local computing machine executing an application generating three dimensional graphics, and issuing at least one function call;and an agent executing on the local computing machine to: intercept the issued at least one function call, identify, responsive to intercepting the function call, at least one location within a frame containing three dimensional graphics commands generated by the application, the location corresponding to a drawing region, determine at least a portion of the three dimensional graphics commands, associated with the at least one location within the frame, changed, and extract the changed portion of the three dimensional graphics commands.
  8. 78
    A computer readable medium having instructions executable by a processor to detect a dirty region within a frame encompassing three dimensional graphics and three dimensional graphics primitives, the computer readable medium comprising:instructions to intercept, via an agent executing on a local computing machine, a function call issued by an application generating three dimensional graphics;instructions to identify, by the agent and responsive to intercepting the function call, at least one location within a frame containing three dimensional graphics commands generated by the application, the location corresponding to a drawing region;instructions to determine at least a portion of the three dimensional graphics commands, associated with the at least one location within the frame, changed;and instructions to extract the changed portion of the three dimensional graphics commands.
  9. 82
    A method for computing a hash from a three dimensional data set loaded into a three dimensional resource, the three dimensional data set having a variable size, the method comprising:determining an application, executing in a distributed computing environment, locked a three dimensional resource;identifying a first three dimensional data set loaded into the three dimensional resource by the application, the first three dimensional data set having a size determined in part by a transaction carried out by the application;detecting the application performed an operation on the three dimensional resource;computing a first hash on the loaded first set of three dimensional data, the first hash computed using a hash function;and storing the first hash in a repository
  10. 100
    A system for computing a hash from a three dimensional data set loaded into a three dimensional resource, the three dimensional data set having a variable size, the system comprising:a distributed computing environment comprising at least a computing device executing an application, a first repository, and a second repository;and an agent executing on the computing device to: determine the application locked a three dimensional resource, identify a first three dimensional data set loaded into the three dimensional resource by the application, the first three dimensional data set having a size determined in part by a transaction carried out by the application, detect the application performed an operation on the three dimensional resource, compute a first hash on the loaded first set of three dimensional data, the first hash computed using a hash function executing on the computing device, and store the first hash in the first repository.
  11. 116
    A method for improving resource utilization when remoting three dimensional graphics commands generated by an application executing on a local computing machine, the method comprising:intercepting, by an agent executing on a local computing machine, a first call to a drawing library, the first call generated by an application requesting information from the drawing library;transmitting, by the agent, a first frame, generated by the application, to a remote computing machine;preventing, upon failing to receive a notification indicating the first frame was rendered, a return of the first call to the requesting application;receiving, by the agent, a notification, generated by the remote computing machine, indicating the first frame was rendered;and permitting, by the agent, the return of the first call to the requesting application.
  12. 125
    A system for improving resource utilization when remoting three dimensional graphics commands generated by an application executing on a local computing machine, the system comprising:a local computing machine executing an application generating a first call to a drawing library to request information from the drawing library, and generating a first frame;and an agent executing on the local computing machine to: intercept the first call to the drawing library, transmit the first frame to a remote computing machine, prevent, upon failing to receive notification indicating the first frame was rendered, a return of the first call to the requesting application, receive a notification, generated by the remote computing machine, indicating that the first frame was rendered, and permit the return of the first call to the requesting application.
  13. 134
    A computer readable medium having instructions executable by a processor to improve resource utilization when remoting three dimensional graphics commands generated by an application executing on a local computing machine, the computer readable medium comprising:instructions to intercept, by an agent executing on a local computing machine, a first call to a drawing library, the first call generated by an application requesting information from the drawing library;instructions to transmit, by the agent, a first frame, generated by the application, to a remote computing machine;instructions to prevent, upon failing to receive a notification indicating the first frame was rendered, a return of the first call to the requesting application;instructions to receive, by the agent, a notification, generated by the remote computing machine, indicating the first frame was rendered;and instructions to permit, by the agent, the return of the first call to the requesting application.
Independent claims13