Object-oriented system, method and article of manufacture for a client-server communication framework
First Claim
1. A server for a distributed system, comprising:
- (a) a plurality of client computers;
(b) a plurality of server computers;
(c) a network connecting the plurality of client computers to the plurality of server computers, wherein the network operates according to the TCP/IP protocol;
(d) an execution framework code segment configured to couple the plurality of server computers and the plurality of client computers via the network, comprising;
(1) a session manager in a server computer for responding to a client computer contacting the server computer by selecting a particular client code segment from a plurality of client computer code segments resident on the server computer, each one of the plurality of client computer code segments containing Java code and being associated with a single application program initiated on the client computer, and transmitting the particular client code segment over the network to the client computer contacting the server to initiate coupling;
(2) the session manager in the server computer selecting a particular server computer code segment from a plurality of server computer code segments resident on the server, each one of the plurality of server computer code segments being associated with the single application program initiated on the client computer, and executing the server computer code segment resident on the server in response to initiation of coupling via the network with the client computer utilizing the transmitted client code segment for communicating via a particular communication protocol thereby enabling execution of the single application program in a distributed manner between the client computer and the server computer wherein a single copy of the single application program is distributed between the client computer and server computer; and
(e) a plurality of definitions that define the plurality of client computer code segments and each of the plurality of definitions defining how to associate the plurality of client computer code segments and the plurality of server computer code segments into applications in response to a request by the client computer wherein the plurality of client computer code segments and the plurality of server computer code segments contain only executable computer programming instructions.
2 Assignments
0 Petitions
Accused Products
Abstract
An interprise computing manager in which an application is composed of a client (front end) program which communicates utilizing a network with a server (back end) program. The client and server programs are loosely coupled and exchange information using the network. The client program is composed of a User Interface (UI) and an object-oriented framework (Presentation Engine (PE) framework). The UI exchanges data messages with the framework. The framework is designed to handle two types of messages: (1) from the UI, and (2) from the server (back end) program via the network. The framework includes a component, the mediator which manages messages coming into and going out of the framework. The system includes software for a client computer, a server computer and a network for connecting the client computer to the server computer which utilize an execution framework code segment configured to couple the server computer and the client computer via the network, by a plurality of client computer code segments resident on the server, each for transmission over the network to a client computer to initiate coupling; and a plurality of server computer code segments resident on the server which execute on the server in response to initiation of coupling via the network with a particular client utilizing the transmitted client computer code segment for communicating via a particular communication protocol. A session manager is utilized to manage the initiation of a plurality of network sessions.
-
Citations
19 Claims
-
1. A server for a distributed system, comprising:
-
(a) a plurality of client computers;
(b) a plurality of server computers;
(c) a network connecting the plurality of client computers to the plurality of server computers, wherein the network operates according to the TCP/IP protocol;
(d) an execution framework code segment configured to couple the plurality of server computers and the plurality of client computers via the network, comprising;
(1) a session manager in a server computer for responding to a client computer contacting the server computer by selecting a particular client code segment from a plurality of client computer code segments resident on the server computer, each one of the plurality of client computer code segments containing Java code and being associated with a single application program initiated on the client computer, and transmitting the particular client code segment over the network to the client computer contacting the server to initiate coupling;
(2) the session manager in the server computer selecting a particular server computer code segment from a plurality of server computer code segments resident on the server, each one of the plurality of server computer code segments being associated with the single application program initiated on the client computer, and executing the server computer code segment resident on the server in response to initiation of coupling via the network with the client computer utilizing the transmitted client code segment for communicating via a particular communication protocol thereby enabling execution of the single application program in a distributed manner between the client computer and the server computer wherein a single copy of the single application program is distributed between the client computer and server computer; and
(e) a plurality of definitions that define the plurality of client computer code segments and each of the plurality of definitions defining how to associate the plurality of client computer code segments and the plurality of server computer code segments into applications in response to a request by the client computer wherein the plurality of client computer code segments and the plurality of server computer code segments contain only executable computer programming instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for distributing computing between a server computer system and a client computer system coupled by a network operating according to the TCP/IP protocol, comprising the steps of:
-
(a) responding to a request from a client computer system to a server computer system;
(b) downloading an execution framework code segment configured to couple the plurality of server computers and the plurality of client computers via the network, comprising;
(1) a session manager in a server computer for responding to the client computer contacting the server computer by selecting a particular client code segment from a plurality of client computer code segments resident on the server computer, each one of the plurality of client computer code segments containing Java code and being associated with a single application program initiated on the client computer, and transmitting the particular client code segment over the network to the client computer contacting the server to initiate coupling;
(2) the session manager in the sever computer selecting a particular server computer code segment from a plurality of server computer code segments resident on the server, each one of the plurality of server computer code segments being associated with the single application program initiated on the client computer, and executing the server computer code segment resident on the server in response to initiation of coupling via the network with the client computer utilizing the transmitted client code segment for communicating via the TCP/IP protocol thereby enabling execution of the single application program in a distributed manner between the client computer and the server computer wherein a single copy of the single application program is distributed between the client computer and server computer; and
(c) a plurality of definitions that define the plurality of client computer code segments and each of the plurality of definitions defining how to associate the plurality of client computer code segments and the plurality of server computer code segments into applications in response to a request by the client computer wherein the plurality of client computer code segments and the plurality of server computer code segments contain only executable computer programming instructions.
-
-
10. A method for distributing computing between one or more server computer systems and one or more client computer systems coupled by a network, comprising the steps of:
-
(a) responding to a request from a client computer system to a server computer system;
(b) downloading an execution framework code segment configured to couple the server computer and the client computer via the network, comprising;
(1) a plurality of client computer code segments capable of instantiating one or more instances of the client computer code for concurrent execution on the one or more client computers and for transmission over the network to a client computer to initiate coupling;
(2) a plurality of server computer code segments resident on the server which execute on the server in response to initiation of coupling via the network with a particular client computer utilizing the transmitted client computer code segment for communicating via a particular communication protocol;
(c) receiving a plurality of messages at the mediator state machine of each client computer code segment and determining which message should be handled by which part of the execution framework, and forwarding the message for further processing to the execution framework;
(d) receiving messages at the execution framework and dispatching messages and initiating events in response to characteristics of the messages transferred by the mediator state machine; and
(e) handling concurrent requests for service at the execution framework from the one or more client computers. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer program embodied on a computer-readable medium for enabling a distributed computer system, comprising an execution framework code segment configured to couple the server computer and the client computer via a network operating according to the TCP/IP protocol, comprising downloading an execution framework code segment configured to couple the plurality of server computers and the plurality of client computers via the network, including:
-
(a) a code segment for enabling a session manager in a server computer for responding to a client computer contacting the server computer by selecting a particular client code segment from a plurality for client computer code segments resident on the server computer, each one of the plurality of client computer code segments containing Java code and being associated with a single application program initiated on the client computer, and transmitting the particular client code segment over the network to the client computer containing the server to initiate coupling;
(b) the code segment in the session manager in the server computer selecting a particular server computer code segment from a plurality of server computer code segments resident on the server, each one of the plurality of server computer code segments being associated with the single application program initiated on the client computer, and executing the server computer code segment resident on the server in response to initiation of coupling via the network with the client computer utilizing the transmitted client code segment for communicating via the TCP/IP protocol thereby enabling execution of the single application program in a distributed manner between the client computer and the server computer wherein a single copy of the single application program is distributed between the client computer and server computer; and
(c) a plurality of definitions that define the plurality of client computer code segments and each of the plurality of definitions defining how to associate the plurality of client computer code segments and the plurality of server computer code segments into applications in response to a request by the client computer wherein the plurality of client computer code segments and the plurality of server computer code segments contain only executable computer programming instructions.
-
-
18. A computer program embodied on a computer-readable medium for enabling a distributed computer system made up of one or more client computers and one or more server computers coupled by a network, comprising:
-
(a) a code segment for responding to a request from a client computer to a server computer; and
(b) an execution framework code segment configured to couple the server computer and the client computer via the network, comprising;
(1) a plurality of client computer code segments capable of instantiating one or more instances of the client computer code for concurrent execution on the one or more client computers and for transmission over the network to a client computer to initiate coupling;
(2) a plurality of server computer code segments resident on the server which execute on the server in response to initiation of coupling via the network with a particular client computer utilizing the transmitted client computer code segment for communicating via a particular communication protocol;
(c) each client computer code segment including a mediator state machine which receives a plurality of messages, determines which message should be handled by which part of the execution framework, and forwards the message for further processing to the execution framework;
(d) the execution framework further comprising means for dispatching messages and initiating events in response to characteristics of the message transferred by the mediator state machine; and
(e) the execution framework further comprising a code segment that concurrently handles requests for service from the one or more client computers. - View Dependent Claims (19)
-
Specification