Claims
- 1. A thin-client system operative over a communications network, said system comprising:
a server computer including a communication control device for sending and receiving messages over the network and an operating system, said server having access to a data base capable of storing dedicated applications dedicated to said system and executable by said operating system; and at least one client device including display means, an external communication device for sending to and receiving messages from said server computer over said network, and dedicated client means for controlling said display means and said external communication device, said dedicated client means interpreting messages received from said server computer and generating messages recognizable by said server, said messages sent between said server computer and said client device conforming to a control-oriented protocol that restricts message communication to only messages describing certain preselected events.
- 2. A thin-client system as claimed in claim 1, wherein
said preselected events include user control events caused by user action at said client device, each of said user control events being recognizable by a dedicated application running on said server as indicative of a certain control of said running application that is associated with said one of said preselected events and that is operable by a user at said client device to control said running application, and wherein a message from said client device to said server includes data representative of said one preselected event and excludes data representative of other user action performed in operation of said associated application control but not representative of said one event.
- 3. A thin-client system as claimed in claim 2, wherein said preselected events further include hardware events caused by user action at said client device and hardware events caused by conditions at said client device.
- 4. A thin-client system as claimed in claim 3, wherein said control-oriented protocol is overlaid on a standard wireless communication protocol.
- 5. A thin-client system as claimed in claim 3, comprising plural communication networks, plural server computers and plural client devices.
- 6. A thin-client system as claimed in claim 3, wherein said control-oriented protocol restricts message communication in windowing environments such that
for edit boxes, loss of focus constitutes a significant event, whereby messages representing edit boxes will be transmitted only when such edit boxes have been made to lose focus; for list boxes, selection from such a list box constitutes a significant event, whereby messages representing list boxes will be transmitted only when a selection from such a list box has been made and messages indicative of scrolling will not be transmitted; for combo boxes, selection of a new value constitutes a significant event, whereby messages representing combo boxes will be transmitted only when a new value has been selected; for scroll bars, arrival at a new scroll bar position after scrolling has stopped constitutes a significant event, whereby messages representing scroll bar movement will be transmitted only after scrolling has stopped at a new scroll bar position; and for mouse button clicks, a button click on such a mouse constitutes a significant event, whereby only mouse button clicks will be transmitted and messages indicative of mere mouse movements alone will not be transmitted.
- 7. A method of communication between a thin-client device and a server computer over a communication network for interfacing said client device with an application executable on said server, said method comprising the steps of:
at said client device, generating a message descriptive of a preselected event recognizable by said application as indicative of a certain application control that is associated with said preselected event and that is operable by a user at said client device, said message generating step including the steps of including data representative of said preselected event and excluding data representative of user action performed in operation of said associated application control but not representative of said preselected event; and at said client device, transmitting said message generated in said generating step over said network to said server.
- 8. A method as claimed in claim 7, further comprising the steps of, at said application,
receiving said message transmitted by said client device during said transmitting step, interpreting data received in said message and representative of said preselected event in order to recognize said application control associated with said preselected event; generating an acknowledgement message descriptive of an acknowledgement event at said application; and transmitting said acknowledgement message over said network to said client device.
- 9. A method as claimed in claim 8, further comprising the steps of, at said application, determining whether said application control recognized in said interpreting step necessitates a change in a user interface created by said application, and
in a case where said application control necessitates a change in said user interface, generating a message descriptive of a change user interface event recognizable by said client device as indicative of an updated user interface and creating said updated user interface at said application; and transmitting said change user interface message to said client device whereupon said client device interprets said transmitted change user interface message to recognize how a corresponding user interface presented at said client device should be changed to correspond to said update user interface created at said application.
- 10. A method as claimed in claim 9, further comprising the steps of, at said client device,
generating a message descriptive of a Hardware event recognizable by said application as indicative of a certain condition at said client device, each Hardware event being recognizable by said application as an event either caused by user action or caused by said client device without user action; and transmitting said messages descriptive of Hardware events over said network to said application.
- 11. A method as claimed in claim 10, further comprising the steps of, at said server,
executing applications that include windowing environment application controls with each control associated with a preselected event for execution on said server in accordance with messages sent by said client device.
- 12. A method as claimed in claim 11, wherein in said steps of executing applications with windowing environment controls further comprises the steps of:
for edit boxes, selecting as a significant event, a loss of focus whereby messages representing edit boxes will be transmitted only when such edit boxes have been made to lose focus; for list boxes, selecting as a significant event, a selection from such a list box whereby messages representing list boxes will be transmitted only when a selection from such a list box has been made and messages indicative of scrolling will not be transmitted; for combo boxes, selecting as a significant event, a selection of a new value whereby messages representing combo boxes will be transmitted only when a new value has been selected; for scroll bars, selecting as a significant event, a new scroll bar position after scrolling has stopped whereby messages representing scroll bar movement will be transmitted only after scrolling has stopped at a new scroll bar position; and for mouse button clicks, selecting as a significant event, a button click on such a mouse whereby only mouse button clicks will be transmitted and messages indicative of mere mouse movements alone will not be transmitted.
- 13. A method as claimed in claim 10, further comprising the steps of:
at said client device, generating and transmitting an open session message over said network to initiate communication with a server, said open session message including a user name, a user password and data descriptive of parameters of said client device; at said server, upon receipt of said open session message, verifying said user name and password, and comparing said descriptive data representative of said client device parameters with current versions of software available for said client device to determine whether said current software versions should be downloaded to said client device, and thereafter identifying said client device software to be downloaded in a case where it is determined that said current software should be downloaded; and at said server, generating and transmitting an application list message to said client device, said application list message including session setting data for regulating operation of said client device during a session.
- 14. A method as claimed in claim 13, further comprising the steps of:
at said client device, receiving and interpreting said application list message in order to create a user interface allowing a user to select an application for execution on said server; at said client device, generating a run application message descriptive of an application chosen event recognizable by said server as indicative of a user control operated to select said application for execution, and transmitting said run application message over said network to said server; at said server, receiving and interpreting said run application message, starting execution of the application selected, and providing said application with client device parameter data received from said client device in said open session message; at said application, generating an initial form message and transmitting said initial form message to said client device; and at said client device, receiving and interpreting said initial form message, and creating a user interface including application controls in response to receipt of said initial form message.
- 15. A method as claimed in claim 14, further comprising the steps of:
at said client device, generating a close application request message requesting closing of an application executing on said server and transmitting said request message to said server; at said server, determining the presence or absence of conditions interrupting or canceling closure of said executing application, and closing said executing application in the absence of such conditions; and at said server, generating an application closed message and transmitting said application closed message to said client device.
- 16. A method as claimed in claim 15, further comprising the steps of
communicating over plural networks including at least one wireless communication network; and communicating between plural thin-client devices and plural applications on plural server computers.
- 17. A computer-readable medium having computer-executable instructions for performing the steps of any of claims 7 through 15.
- 18. A method of providing communication between a thin-client device and a server computer over a communication network for interfacing said client device with an application executable on said server, said method comprising the steps of:
selecting as a significant event, from among all actions performed by a user at said client device in operating a certain application control, an action necessary for said application to respond to the user's operation of said application control; and a restricting communication of the user's actions in operating said application control to messages transmitted from said client device to said server, descriptive of said significant event.
- 19. A method as claimed in claim 18, further comprising the steps of:
selecting as significant events, acknowledgements of messages received, changes in user interface, Hardware events occurring at said client device, open session requests, list application requests, and close application requests.
- 20. A method as claimed in claim 19, further comprising the steps of:
communicating over plural networks including at least one wireless communication network; and communicating between plural thin-client devices and plural applications on plural server computers.
- 21. A method as claimed in claim 19, wherein, in windowing environments, said method further comprises the steps of:
for edit boxes, selecting as a significant event, a loss of focus whereby messages representing edit boxes will be transmitted only when such edit boxes have been made to lose focus; for list boxes, selecting as a significant event, a selection from such a list box whereby messages representing list boxes will be transmitted only when a selection from such a list box has been made and messages indicative of scrolling will not be transmitted; for combo boxes, selecting as a significant event, a selection of a new value whereby messages representing combo boxes will be transmitted only when a new value has been selected; for scroll bars, selecting as a significant event, a new scroll bar position after scrolling has stopped whereby messages representing scroll bar movement will be transmitted only after scrolling has stopped at a new scroll bar position; and for mouse button clicks, selecting as a significant event, a button click on such a mouse whereby only mouse button clicks will be transmitted and messages indicative of mere mouse movements alone will not be transmitted.
- 22. A computer-readable medium having computer-executable instructions for performing the steps of any of claim 18 through 21.
Parent Case Info
[0001] This application is a continuation-in-part of co-pending application Ser. No. 09/648,788 filed Aug. 28, 2000, which is incorporated herein in its entirety, by reference, and which is based upon provisional application Ser. No. 60/151,288 filed Aug. 28, 1999.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09648788 |
Aug 2000 |
US |
Child |
09769501 |
Jan 2001 |
US |