System and method for efficient remote operation of real-time graphical applications
First Claim
Patent Images
1. A method for using a universal client program to operate an application program executing on a server system, comprising:
- launching a universal client program having a synchronized state with an application program associated with a server;
exchanging at least one protocol message between the universal client program and the application program;
wherein at least one of the protocol messages indicates an update to the user interface of the client; and
updating the user interface of the client from the update to the user interface of the client.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided through which an application is executed on a server, and operated from a client operably coupled to the server. State information of the application is maintained through parallel objects on both the client and the server, thereby minimizing the communications requirements between the client and the server in the operation of the application. More specifically, the communications requirements and updates of attributes of the application is minimized.
-
Citations
89 Claims
-
1. A method for using a universal client program to operate an application program executing on a server system, comprising:
-
launching a universal client program having a synchronized state with an application program associated with a server;
exchanging at least one protocol message between the universal client program and the application program;
wherein at least one of the protocol messages indicates an update to the user interface of the client; and
updating the user interface of the client from the update to the user interface of the client. - View Dependent Claims (2)
-
-
3. A computer-readable medium having computer-executable instructions to cause a client computer to perform a method comprising:
-
launching a universal client program having a synchronized state with an application program associated with a server;
exchanging at least one protocol message between the universal client program and the application program;
wherein at least one of the protocol messages indicates an update to the user interface of the client; and
updating the user interface of the client from the update to the user interface of the client. - View Dependent Claims (4)
-
-
5. A computer data signal embodied in a carrier wave and representing a sequence of instructions which, when executed by a processor, cause the processor to perform the method of:
-
launching a universal client program having a synchronized state with an application program associated with a server;
exchanging at least one protocol message between the universal client program and the application program;
wherein at least one of the protocol messages indicates an update to the user interface of the client; and
updating the user interface of the client from the update to the user interface of the client. - View Dependent Claims (6)
-
-
7. A method for using a universal client program to operate an application program executing on a server system, comprising:
-
establishing communication between the universal client program associated with a client and an application program associated with a server; and
operating the application program by presenting the user interface of the application program using the universal client program. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for transacting in electronic commerce comprising:
-
a processor; and
means operative on the processor for establishing communication between a universal client program and an application program; and
operating the application program by presenting the user interface of the application program using the universal client program.
-
-
20. A computer-readable medium having computer-executable instructions to cause a client computer to perform a method comprising:
-
establishing communication between a universal client program and an application program; and
operating the application program by presenting the user interface of the application program using the universal client program. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A computer data signal embodied in a carrier wave and representing a sequence of instructions which, when executed by a processor, cause the processor to perform the method of:
-
establishing communication between a universal client program and an application program; and
operating the application program by presenting the user interface of the application program using the universal client program.
-
-
28. A client method for using a universal client program to operate an application program executing on a server system, comprising:
-
establishing communication between the universal client program and an application program;
operating the application program by presenting the user interface of the application program using the universal client program, wherein the event-driven synchronization protocol contains no platform specific information;
wherein the universal client program, as adapted to a client hardware platform, operates any application program that is adapted to execute on a server hardware platform, wherein operating the application program by presenting the user interface of the application program using the universal client program further comprises;
rendering the user interface of the application program on the client system by the universal client program;
maintaining a first object-oriented hierarchy representing user interface state by the universal client program;
maintaining a second object-oriented hierarchy representing user interface state by the application program; and
synchronizing dynamically the first object-oriented hierarchy and the second object-oriented hierarchy by means of an event-driven synchronization protocol. - View Dependent Claims (29)
-
-
30. A system for transacting in electronic commerce comprising:
-
a processor;
a universal client program operative on the processor;
an application program operative on the processor;
software means operative on the processor for establishing communication between the universal client program and the application program; and
software means for operating the application program by presenting the user interface of the application program using the universal client program.
-
-
31. A computer-readable medium having computer-executable instructions to cause a client computer to perform a method comprising:
-
establishing communication between the universal client program and an application program;
operating the application program by presenting the user interface of the application program using the universal client program;
wherein operating the application program by presenting the user interface of the application program using the universal client program further comprises;
rendering the user interface of the application program on the client system by the universal client program;
maintaining a first object-oriented hierarchy representing user interface state by the universal client program;
maintaining a second object-oriented hierarchy representing user interface state by the application program; and
synchronizing dynamically the first object-oriented hierarchy and the second object-oriented hierarchy by means of an event-driven synchronization protocol;
wherein the event-driven synchronization protocol contains no platform specific information;
wherein the universal client program, as adapted to a client hardware platform, operates any application program that is adapted to execute on a server hardware platform.
-
-
32. A computer data signal embodied in a carrier wave and representing a sequence of instructions which, when executed by a processor, cause the processor to perform the method of:
-
establishing communication between the universal client program and an application program;
operating the application program by presenting the user interface of the application program using the universal client program;
wherein operating the application program by presenting the user interface of the application program using the universal client program further comprises;
rendering the user interface of the application program on the client system by the universal client program;
maintaining a first object-oriented hierarchy representing user interface state by the universal client program;
maintaining a second object-oriented hierarchy representing user interface state by the application program; and
synchronizing dynamically the first object-oriented hierarchy and the second object-oriented hierarchy by means of an event-driven synchronization protocol;
wherein the event-driven synchronization protocol contains no platform specific information;
wherein the universal client program, as adapted to a client hardware platform, operates any application program that is adapted to execute on a server hardware platform. - View Dependent Claims (35, 36)
-
-
33. A method for using a single instance of a universal client program to operate a plurality of application programs executing on a plurality of server systems, comprising:
-
with respect to the operation of a single application, the method comprising establishing communication between the universal client program and an application program; and
operating the application program by presenting the user interface of the application program using the universal client program;
with respect to managing a plurality of operations, the method comprising further comprising;
sending messages to server programs requesting access to additional application programs, which are to be executed upon other server systems;
executing the additional requested application programs on these other server systems and placing additional requested application programs in communication with the universal client program; and
switching between applications such that at any given moment one particular application program is distinguished as the active application, such that during this time the active application handles all user input events. - View Dependent Claims (34)
-
-
37. A method for using a universal client program to operate an application program executing on a server system, comprising:
-
sending locally-generated protocol events to the server via protocol messages;
responding to server-generated protocol events received as protocol messages; and
maintaining a shared state of the application executing on the server.
-
-
38. A client system for transacting in electronic commerce comprising:
-
a processor; and
means operative on the processor for sending locally-generated protocol events to a server via protocol messages, responding to server-generated protocol events received as protocol messages, and maintaining a shared state of an application executing on the server.
-
-
39. A computer-readable medium having computer-executable instructions to cause a client computer to perform a method comprising:
-
sending locally-generated protocol events to a server via protocol messages;
responding to server-generated protocol events received as protocol messages; and
maintaining a shared state of an application executing on the server.
-
-
40. A computer data signal embodied in a carrier wave and representing a sequence of instructions which, when executed by a processor, cause the processor to perform the method of:
-
sending locally-generated protocol events to a server via protocol messages;
responding to server-generated protocol events received as protocol messages; and
maintaining a shared state of an application executing on the server.
-
-
41. A computerized apparatus, comprising:
-
a plurality of objects comprising an object-oriented class hierarchy, the hierarchy defining a user interface of an application; and
an application operably coupled to at least one of the plurality of objects, wherein the at least one object defines the user interface of the application, and the application is operated by a universal client program, wherein the at least one object has access to the context in which the at least object is operably coupled, wherein the at least one object has access to information indicating when to transmit and receive an event-driven synchronization protocol message, wherein invocation of each method of the at least one object is performed without regard to the details of a managing synchronization implementation, which are encapsulated within each method. - View Dependent Claims (42)
-
-
43. A computerized apparatus for remote client computing, comprising:
-
a universal client program executing on the client; and
a dynamic object-oriented hierarchy representing a user interface state associated with the universal client program, wherein the client is operably coupled through a communication network to a server executing an application program, enabling the universal client program to communicate to the application program, wherein the communication network implements a general network protocol for communicating digital information over the communication network, wherein the object-oriented hierarchies are synchronized dynamically using an event-driven synchronization protocol.
-
-
44. A computerized server apparatus for remote computing, comprising:
-
at least one application program resident in a persistent memory of the server system;
a dynamic object-oriented hierarchy representing a user interface state associated with the application program;
wherein the server is operably coupled through a communication network to a client executing an universal client program, enabling the application program to communicate to the universal client program, wherein the communication network implements a general network protocol for communicating digital information over the communication network, wherein the object-oriented hierarchies are synchronized dynamically using an event-driven synchronization protocol.
-
-
45. A computer-readable medium comprising:
-
(a) a universal client program; and
(b) a dynamic object hierarchy representing user interface state associated with the universal client program.
-
-
46. A computer-readable medium comprising:
-
(a) a server program;
(b) an application program operably coupled to the server program; and
(c) a dynamic object-oriented hierarchy representing user interface state associated with the application program.
-
-
47. A system for transacting in electronic commerce comprising:
-
a processor; and
software means operative on the processor for representing to a dynamic object hierarchy, a user interface state associated with a universal client program.
-
-
48. A method for using a universal client program to operate an application program executing on a server system, comprising:
-
launching a universal client;
managing a link request associated with the universal client; and
operating an application program on a server, through the universal client. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67)
-
-
68. A method for enabling operation by a client of an application program executing on a server system, comprising:
-
launching the application program;
managing link requests; and
managing the application program. - View Dependent Claims (69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83)
-
-
84. A method for enabling operation by a client of an application program executing on a server system, comprising:
-
launching the application program;
managing link requests; and
managing the application program, wherein managing the application program further comprises;
maintaining a first object-oriented hierarchy representing user interface state by the application program; and
synchronizing dynamically the first object-oriented hierarchy and a second object-oriented hierarchy representing user interface state by a universal client program by means of an event-driven synchronization protocol. - View Dependent Claims (85)
-
-
86. A computer-readable medium having computer-executable instructions to cause a client computer to perform a method comprising:
-
launching the application program;
managing link requests; and
managing the application program, wherein managing the application program further comprises;
maintaining a first object-oriented hierarchy representing user interface state by the application program; and
synchronizing dynamically the first object-oriented hierarchy and a second object-oriented hierarchy representing user interface state by a universal client program by means of an event-driven synchronization protocol. - View Dependent Claims (87)
-
-
88. A computer data signal embodied in a carrier wave and representing a sequence of instructions which, when executed by a processor, cause the processor to perform the method of:
-
launching the application program;
managing link requests; and
managing the application program, wherein managing the application program further comprises;
maintaining a first object-oriented hierarchy representing user interface state by the application program; and
synchronizing dynamically the first object-oriented hierarchy and a second object-oriented hierarchy representing user interface state by a universal client program by means of an event-driven synchronization protocol. - View Dependent Claims (89)
-
Specification