US20030191860A1

Accelerated collaboration of high frame rate applications

Claim Score by NHIP

Read claim 1, the broadest

Abstract

An application sharing and collaboration (ASC) system comprising a first computer, where the first computer is configured to execute a graphics application. The graphics application is configured to: (a) call a set of OpenGL rendering functions to render an image into a local buffer, and (b) call a particular OpenGL function which has been modified to induce compression of the image from the local buffer and transfer of the compressed image to a set of one or more remote systems. Each of the one or more remote systems may be configured to: decompress the compressed image, and display the decompressed image.

US20030191860A1, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 5 April 2022, 4.5 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

24 claims: 6 independent, 18 dependent

  1. 1
    Broadest claimClaim Score 72, broad(NHIP)A method comprising:(a) calling a set of OpenGL rendering functions to render an image into a local buffer;(b) calling a particular OpenGL function, wherein the particular OpenGL function has been modified to induce compression of the image from the local buffer and transfer of the compressed image to a set of one or more remote systems;(c) decompressing the compressed image at each of the one or more remote systems;and (d) displaying the decompressed image at each of the one or more remote systems;
  2. 11
    A method comprising:executing a first application on a first computer and a second application on a second computer, wherein the first application and the second application enable the first computer to share one or more other applications, executing on the first computer, with the second computer;executing a graphics application on the first computer, wherein said executing the graphics application includes calling a number of OpenGL functions which render a graphics image into a memory associated with the first computer;activating an interposer to (a) access the graphics image from the memory, (b) compress the graphics image, and (c) send the compressed image to the second computer;decompressing the compressed image at the second computer;and displaying the decompressed image at the second computer.
  3. 15
    A method comprising:executing a first application on a first computer and a second application on a second computer, wherein the first application and the second application enable one or more third applications executing on the first computer to be shared with the second computer;executing graphics application of said one or more third applications on the first computer, wherein said executing the graphics application includes: rendering an image into a local buffer associated with the first computer;calling a swap buffer function to induce (a) transfer of the image from the local buffer to a precompress buffer, (b) compression of the image in the precompress buffer, and (c) transfer of the compressed image to the second computer, wherein the swap buffer function has an interface to the graphics application which is identical to the interface defined for the standard OpenGL glXSwapBuffers function. decompressing the compressed image at the second computer;and displaying the decompressed image at the second computer.
  4. 19
    A method comprising:executing a first application on each computer in a set of two or more computers, wherein the first applications enable the two or more computers to share second applications, wherein each of the second applications executes on one of the two or more computers;executing a graphics application on a first of the two or more computers, wherein said executing the graphics application includes: rendering an image into a local buffer associated with the first computer;calling a swap buffer function to induce (a) transfer of the image from the local buffer to a precompress buffer, (b) compression of the image in the precompress buffer, and (c) transfer of the compressed image to remaining ones of the two or more computers, wherein the swap buffer function has a calling interface to the graphics application which is identical to the calling interface defined for the standard OpenGL glXSwapBuffers function. decompressing the compressed image at each of the remaining computers of the two or more computers;and displaying the decompressed image at each of the remaining computers of the two or more computers.
  5. 20
    A communication system comprising:a first computer, wherein the first computer is configured to execute a graphics application, wherein the graphics application is configured to: (a) call a set of OpenGL rendering functions to render an image into a local buffer;(b) call a particular OpenGL function, wherein the particular OpenGL function has been modified to induce compression of the image from the local buffer and transfer of the compressed image to a set of one or more remote systems;said set of one or more remote systems, wherein each of said one or more remote systems is configured to: (c) decompress the compressed image;and (d) display the decompressed image.
  6. 22
    A memory medium configured to store program instructions, wherein the program instructions define a modified OpenGL function which is executable by a processor to implement:(a) transfer of an image from local buffer in a local graphics accelerator to a precompress buffer in a system memory of the processor;(b) compression of the image in the precompress buffer;and (c) transfer of the compressed image to one or more remote computers.