Generic object-based resource-sharing interface for distance co-operation
1 Assignment
0 Petitions
Accused Products
Abstract
A computer program interface for permitting multiple users to share a single copy of a computer program is described. The program interface is written in Java 1.2 or a later version and C++ and permits users who have browser programs enabled in Java to interact with the user interface. The system can be used in a variety of modes which includes a shared mode to allow multiple users to use the system, although other modes include use by a single user. In the shared mode two or more users share the same copy of software interactively over the Internet or an Intranet connection. In one embodiment during the sharing activity only one user, designated the active user, interacts directly with the computer program and the other users, designated passive user, observe what the active user does and what results are produced in response to the active user'"'"'s activities. The user interface allows intercommunication between users and allows passive users to assume the role of an active user and vice versa but there is only one active use at any time. In another embodiment more than one active user can share a program which permits real-time interaction for example in game playing or co-design. Various aspects of the invention including graphical and command-time user new interface programs are described.
130 Citations
95 Claims
-
1-44. -44 (Canceled)
-
45. A software sharing system comprising:
-
a server having at least one computer application program to be shared by at least two user machines;
at least one computer coupled to said server for receiving said computer application program for use by said user machines;
said system including computer readable code means for identifying which of said user machines is an active user machine and for permitting said active user machine to interact with said computer application program;
said computer readable code means being written in Java for identifying all of said other user machines as passive user machines, all of said user machines having a browser program which is Java enabled stored therein;
said passive user machines being able to view operations by said active user interacting with said computer application program, and said computer readable code means having user selection code means receptive to a signal for an active user to change to a passive user state and for a passive user to change status to an active user state, only one user being permitted to have an active user state at any one time. - View Dependent Claims (46, 47, 48, 53, 89, 90, 91, 92, 93)
-
-
49. A computer program product comprising:
-
a computer useable medium having computer readable code means embodied in said medium for sharing at least one computer application program stored in a first location with at least one user machine located at a second location, whereby the shared application program is useable at said first and second locations;
said computer program product having computer readable code means written in Java for;
identifying all users who log-on and wish to share the program;
allocating only one user as a controlling or active user and permitting only said controlling or active user to interact with said shared application program;
interacting with a browser program stored on each user machine, each browser being Java enabled;
identifying all other logged-on users as passive users who may view operations by said active user interacting with said shared application program, and responding to a signal from an active user to relinquish control of said shared program and to a signal from a first passive user to move to an active user state and interact with said shared computer application program. - View Dependent Claims (50, 51, 52, 94, 95)
-
- 54. A workstation for sharing a computer application program with a plurality of user machines coupled to said workstation, said workstation having said shared program stored therein, computer readable code means stored in said workstation for receiving requests from user machines which wish to share said application program, each user machine having a browser program enabled in Java therein for communicating with said workstation, said code means being written in Java for identifying each user and allocating a status to each user, said status being of a first type where only one user, denoted as an active user, is permitted to interact with said application program, or of a second type where the other users, denoted as passive users, are not permitted to interact with the application program but can monitor the interaction of the active user with the application program, said code means being responsive to a first signal from an active user to relinquish interaction and to a second signal from the first passive user to change to active user status.
-
59. A computer program interface for allowing a plurality of user machines to access the same computer application program on a server over a network using a browser in a variety of different platforms, said computer program interface having computer readable code means enabled in Java for:
-
permitting remote operational control of said server by any one of said plurality of user machines, each of which has a browser enabled in Java, only one user machine being able to assume control at one time, and said machine in control being designated the active user machine;
permitting user machines to assume and relinquish control of the computer program using browser programs stored in said user computers, and broadcasting the result of the interaction between said active user and the computer application program to all user machines in substantially real-time. - View Dependent Claims (60, 61)
-
-
62. A computer program product comprising:
-
a computer useable medium having computer readable code means embodied in said medium for providing a graphical user interface for a user to use a simulation program, said graphical user interface being operated through a browser program, said computer program product being computer readable code means written in Java for;
allowing single or multiple user machines to interact with the simulation program, permitting a control user machine to create a simulation in a workspace of said control user machine for providing a simulation process for disseminating said created simulation to another user machine interacting with said simulation program. - View Dependent Claims (63, 64, 65, 66, 67)
-
-
68. A computer program product comprising:
-
a computer useable medium having computer readable code means embodied in said medium for providing a command-line input user interface for a user to use a simulation program, said command-line input user interface being operated through a browser program, said computer program product being computer readable code means written in Java for;
allowing single or multiple user machines to interact with the simulation program, permitting a control user machine to create a simulation in a workspace of said control user machine for providing a simulation process for disseminating said created simulation to another user machine interacting with said simulation program. - View Dependent Claims (69, 70, 71, 72, 73)
-
-
74. A software sharing system comprising:
-
a server having at least one computer program to be shared by at least two user machines;
at least one computer coupled to the server for receiving said computer application program for use by said user machines said system including computer readable code means for identifying at least one of the user machines as an active user machine and the other user machine as an active user machine or a passive user machine, all of said user machines having a browser program which is Java enabled stored therein, each of said active user machines being able to interact with said shared program in substantially real-time, the result of each interaction by an active user being broadcast to all user machines in substantially real time. - View Dependent Claims (75, 76, 77)
-
-
78. A computer program for sharing software between at least two user machines, one user machine being designated an active user machine and the other being designated an active or passive user machine,
said computer program having computer readable code means for sharing software between said active user machine and the other of the active or passive user machines, whereby, when said at least two user machines are active user machines, said shared program is accessible by each user machine and the result of said interaction with one user machine is broadcast to substantially all user machines simultaneously so that all active user machines appear to be interacting in substantially real time.
-
85. A method of sharing software between a server machine and at least one client machine coupled to a server machine, the server machine being designated an active user machine and the client machine being designatable as an active user machine or a passive user machine, said method comprising the steps of:
-
storing a computer program having computer readable machine code for sharing software between said server machine and the said at least one client machine on the server, said server machine and said client machine having a browser program which is Java enabled therein, serving from said server machine to said client machine a Java applet program containing executable code to allow the machine to share immediately said software, detecting whether the client machine is an active user machine or a passive user machine, permitting two or more active user machines to interact with the shared program in substantially real time, or permitting an active user machine and a passive user machine to assume and relinquish control of shared program, whereby the result of an interaction is broadcast to all users substantially simultaneously.
-
-
86. A computer program interface for allowing a plurality of user machines to interact with the same computer application program on a server over a network using a browser in a variety of different platforms, said computer program interface having computer readable code means and each of said plurality of user machines having a browser enabled in Java, at least one of said machines being designated an active user machine and at least one other user machine being designated an active or a passive user machine;
-
said computer interface permitting two or more active machines to interact with the shared program at substantially the same time, or said computer interface permitting active and passive user machines to assume and relinquish control of the computer program using browser programs stored in said user computers, and broadcasting the result of the interaction between said active user and the computer application program to all active and passive user machines in substantially real-time. - View Dependent Claims (87, 88)
-
Specification