Collaborative system running application program for transmitting the identity of each surrogate function to remotes to draw images of displays
First Claim
1. In a computer operating system(A) which runs a single application program, and(B) in which both the program and the operating system call graphics functions from a graphics library, which draw images on a display, the improvement comprising:
- a) creating a surrogate library of graphics functions, which correspond to the graphics functions in the graphics library;
b) when the program calls a graphics function, causing the corresponding surrogate function to be called;
c) transmitting the identity of each surrogate function to remotes; and
d) executing the function on a host.
0 Assignments
0 Petitions
Accused Products
Abstract
The invention concerns using multiple computers to hold a conference. Under the invention, an application program can run on a single computer, yet remote participants can issue commands to the program. Remote participants can watch the program operate, because the invention replicates the display window of the running program onto the displays of the remote computers. Any participant can make annotations on the participant'"'"'s own computer display. The invention copies the annotations to the displays of the other participants.
79 Citations
7 Claims
-
1. In a computer operating system
(A) which runs a single application program, and (B) in which both the program and the operating system call graphics functions from a graphics library, which draw images on a display, the improvement comprising: -
a) creating a surrogate library of graphics functions, which correspond to the graphics functions in the graphics library; b) when the program calls a graphics function, causing the corresponding surrogate function to be called; c) transmitting the identity of each surrogate function to remotes; and d) executing the function on a host.
-
-
2. A method of sharing graphical data among computers, the computers being linked to communicate with each other, comprising the following steps:
-
a) maintaining a library of similar graphics commands in each computer; b) as graphics commands are executed by one of the computers, identifying each command, and causing each remote computer to execute a similar command; and c) permitting a first computer to selectively lock out other computers from annotation effected to the graphics at the first computer.
-
-
3. A method of operating two or more computers,
(A) one of which is a host, which can run a shared program which runs on no other computers, (B) some of which are remotes, which can be allowed to issue commands to the shared program; - and
(C) all of which are linked by one or more communication channels, comprising the following steps; a) at the host, i) detecting graphics calls issued by the shared program, ii) notifying other computers of the detected calls; iii) for each detected call, transmitting data to the other computers which is necessary for them to execute a similar call, iv) executing said detected graphics calls, and b) selectively permitting the computers to effect annotations of the graphics on each computer and for locking the transmission of these annotations from other computers.
- and
-
4. A method of sharing graphical data among computers the computers being linked to communicate with each other, comprising the following steps:
-
a) maintaining a library of similar graphics commands in each computer; b) as graphics commands are executed by one of the computers, identifying each command, and causing each remote computer to execute a similar command; c) permitting a first computer to permit pointing to the graphics, said pointing being transmitted to each computer, and wherein the pointing action is not an annotation of the graphics; and d) Permitting the first computer to selectively lock out other computers from annotation effected to the graphics at the first computer.
-
-
5. A method of operating two or more computers,
(A) one of which is a host, which can run a shared program which runs on no other computers, (B) some of which are remotes, which can be allowed to issue commands to the shared program; - and
(C) all of which are linked by one or more communication channels, comprising the following steps; a) at the host, i) detecting graphics calls issued by the shared program, ii) notifying other computers of the detected calls; iii) for each detected call, transmitting data to the other computers which is necessary for them to execute a similar call, and iv) executing said detected graphics calls, and b) selectively permitting the computers to effect pointing to the graphics on each computer and for preventing annotation of the graphics on each computer.
- and
-
6. A method of sharing graphical data among computers, the computers being linked to communicate with each other, comprising the following steps:
-
a) maintaining a library of similar graphics commands in each computer; b) as graphics commands are executed by one of the computers, identifying each command, and causing each remote computer to execute a similar command; c) annotating the graphics at each computer; d) separately storing the annotations from the graphics; and e) Permitting a first computer to selectively lock out other computers from annotation effected the graphics at the first computer.
-
-
7. A method of operating two or more computers,
(A) one of which is a host, which can run a shared program which runs on no other computers, (B) some of which are remotes, which can be allowed to issue commands to the shared program; - and
(C) all of which are linked by one or more communication channels, comprising the following steps; a) at the host, i) detecting graphics calls issued by the shared program, ii) notifying other computers of the detected calls; iii) for each detected call, transmitting data to the other computers which is necessary for them to execute a similar call, and iv) executing said detected graphics call, b) applying a first cursor to control annotations by a host computer, and c) applying a second cursor to control annotations effected by the remote computer; and (D) Permitting a first computer to selectively lock out other computers from annotation effected to the graphics at the first computer.
- and
Specification