+

WO1997037475A1 - Communication method and system between host and remote workstation - Google Patents

Communication method and system between host and remote workstation Download PDF

Info

Publication number
WO1997037475A1
WO1997037475A1 PCT/GB1997/000713 GB9700713W WO9737475A1 WO 1997037475 A1 WO1997037475 A1 WO 1997037475A1 GB 9700713 W GB9700713 W GB 9700713W WO 9737475 A1 WO9737475 A1 WO 9737475A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
terminal
central computer
computer system
remote terminal
Prior art date
Application number
PCT/GB1997/000713
Other languages
French (fr)
Inventor
William Johnston
Original Assignee
British Telecommunications Public Limited Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications Public Limited Company filed Critical British Telecommunications Public Limited Company
Priority to AU19354/97A priority Critical patent/AU1935497A/en
Priority to JP9535003A priority patent/JP2000508139A/en
Publication of WO1997037475A1 publication Critical patent/WO1997037475A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates to a method of communication over a telecommunications network and in particular to such communication between a central computer system and a remote terminal.
  • Remote access software Software, commonly referred to as “remote access software”, has been developed which permits a user to control an application program running on a remote computer from a local computer via a computer modem connection.
  • a method of communication over a telecommunications network between a central computer system and a remote computer terminal the terminal including storage means
  • the method comprising: loading the storage means with data related to an application program prior to execution of the application program; establishing a connection between the terminal and the central computer system via the network; transmitting a command from the central computer system via the network to the terminal to cause the terminal to read specified data from the storage means; and arranging the command and the specified data such that less transmission bandwidth is required over the network to transmit the command than would be required to transmit the data.
  • a computing means for communicating with a remote computer terminal over a telecommunications network, the computing means having processing means arranged to execute an application program under the control of a remote terminal, and responsive to commands from the remote terminal to transmit commands to the remote terminal to cause accessing by the remote terminal of data stored in the remote terminal.
  • a computer terminal having transceiver means for communicating with a remote computing means, processing means, data input means for controlling the processing means, and program storage means, the processing means being arranged: to retrieve a program from the program storage means, the program including initial data; to transmit, by means of the transceiver means commands to the remote computing means; to receive commands by means of the transceiver means; and to respond to the commands so received to operate on the initial data.
  • the application program and commands may control the generation of an image on a display means.
  • the image data may be text, graphics, or any other data.
  • the invention may also be used to process data which is not displayed directly on a display means, for example to allow amendment or updating of a data file, the method may include the steps of : transmitting data from the central computer system to the remote terminal; storing a duplicate version of the data in the remote terminal for subsequent use; establishing a record in the central computer system to identify that said data has been transmitted to the remote terminal; if the remote terminal requests the data subsequently, accessing the duplicate version of the data stored in the remote terminal.
  • the storage means will be non-volatile storage means such as a hard disk drive, programmable ROM (read-only memory) or battery-backed RAM (random access memory).
  • the present invention can yield considerable data compression, and so is particularly suited for use over a mobile telephone connection such as that provided by a digital mobile telephone system.
  • a mobile telephone connection such as that provided by a digital mobile telephone system.
  • the maximum bandwidth of such connections is 9.6kb ⁇ t/s and this has been found impractical for use with traditional remote-access software, but it would be adequate for the method of the present invention.
  • data transmission services provided over GSM (Global System for Mobile communications) networks will shortly be available on a "pay- per-packet" basis so that a user pays according to the amount of data being transmitted, regardless of the length of time the connection is maintained.
  • GSM Global System for Mobile communications
  • the method preferably includes incorporating a connection over a digital mobile telephone network into the connection established between the terminal and the central computer system.
  • the commands are transmitted under the control of an application program executing on the central computer system.
  • the remote terminal may simply comprise the display means, a user input device, the storage means, and any necessary hardware to interconnect these components and to communicate with the central computer system. Since the application program is executing on the central computer system and not on the remote terminal, very little processing power is required in the terminal. In particular, only the results of the processing need be returned to the user. Thus the terminal may be cheap and lightweight, and may require less power consumption than a typical present-day notebook computer. Furthermore, upgrades in necessary processing power may be performed centrally and need not require an upgraded terminal, except insofar as new or modified data may be required to be loaded in the storage means to support such new applications.
  • Commands may be entered at the remote terminal using any conventional input device such as a keyboard.
  • the remote terminal includes a pointing device such as a "mouse” or cursor keys, and the display means is arranged to display a pointer (or “cursor") movable under control of the pointing device
  • the method advantageously includes the transmission of information related to the position of the pointer to the central computer system only when a user of the terminal issues a command requiring execution by the central computer system.
  • a command is issued by releasing a mouse button during a "drag” operation, clicking or double clicking of a mouse button, or pressing a key on a keyboard. In this way, transmission bandwidth is not taken up by unnecessary transmissions of the current position of the mouse or pointer.
  • the correlation between the position of the pointing device and the position of the pointer on the display is undertaken by the remote terminal and only when action need be taken by the central computer system (i.e. when a command is issued) need any information be transmitted to the central computer system. This further reduces the bandwidth requirement of the present invention.
  • the method preferably includes the transmission of text from the terminal to the central computer system and/or vice versa in blocks.
  • the text can be transmitted more efficiently, in particular by reducing the number of control characters required, and by allowing errors to be corrected before transmission.
  • the amount of buffering which is appropriate will depend on the individual characteristics of the system, in particular the capacity of the buffer memory in the user terminal, and the amount of delay involved when the data is eventually transmitted (which depends on the amount of data to be sent).
  • the system includes the facility to allow a user terminal to access a data file from a master version of the file stored by the central computer, and to store a duplicate of the data for subsequent use, and to record at the central computer that such a duplicate has been stored, thereby eliminating the need for the same data to be again transmitted during a subsequent session.
  • Amendments to the data in the duplicate version may be communicated to the central computer to allow corresponding amendment to the master version.
  • the central computer is arranged to delete or modify the record of the presence of such a duplicate in the event that the duplicate version stored in the remote terminal ceases to correspond with the master version stored in the central computer. This may occur, for example, because the duplicate has been over-written, or because the master version has been amended by another user.
  • the user terminal may check the current status of the data in the central computer, for example by comparing a version number stored at the local terminal with one stored in the central computer
  • the initial data is loaded into the storage means by downloading data from the central computer system
  • This may be a service provided by the telecommunications network operator (or a third party) to allow terminal users to update the information stored in their terminals to take advantage of different or updated application programs available on the central computer system. Further data can be downloaded later, either as required to meet particular commands from the user terminal, or using spare capacity in the communications link, in anticipation of it being requiredsubsequently
  • the system of the invention can be run using any suitable operating system on the central computer, for example the Solaris 2.5 UNIX platform or the Microsoft "Windows NT 4 0" operating system, with the user system operating under a compatible system such as Microsoft "Windows 95".
  • Dial-up server facilities are already available on these systems, allowing the user to specify what protocol to operate under and how it should be configured
  • One suitable protocol is the Hypertext Transfer Protocol (HTTP)
  • HTTP Hypertext Transfer Protocol
  • the invention can be implemented by adding to these existing systems by carrying out a small amount of processing at the user terminal, allowing a reduction in the amount of data to be transferred. In particular, by duplicating certain frequently-used data, such as applications screens, only such information need be exchanged as is necessary to modify the data, such that both copies of the data remain in agreement.
  • the system can be arranged to appear to the user as if it is running the application on the central computer in the conventional manner, butvery much less dat transfer is requiredbetween the user's terminal and the central computer.
  • the interface between the central computer and the remote terminal must be configured to correctly intercept and process commands according to the remote terminal type.
  • the Common Gateway Interface (CGI) facility allows client identification, including the characteristics and capabilities of the remote terminal with which comunication is being established
  • Figure 1 is a schematic block diagram of a central computer system and a remote terminal in accordance with the invention
  • Figure 2 is a schematic block diagram showing some of the functional elements of the system in greater detail
  • Figure 3 is a flow chart illustrating the operation of one function of the system
  • FIG 4 is a flow chart illustrating a modification of Figure 3.
  • a remote terminal 2 is coupled via a digital communications link to a GSM-type transceiver 4
  • the transceiver 4 communicates with a GSM base station 6 forming part of a telecommunications network (shown generally as 8) .
  • the terminal 2 comprises a processing unit 10, display means 1 2, storage means 14 and user input means 1 5
  • the user input means 1 5 includes a position transducer (e.g a computer “mouse”) 1 6 and input command means such as the
  • the control means 10 is coupled via a serial data link to the transceiver 4
  • the central computer system 1 8 includes, amongst other things, storage means 20 which hold one or more application programs and user data, and processing means 22 to respond to inputs received over the communications network 8, and to generate commands.
  • the processing means 22 includes a buffer store 24 to store command inputs, and a data compression processor 26 to combine several command inputs into a form suitable for transmission to, and processing by, the computer 1 8.
  • compressed image command data received from the computer 18 is decompressed by a decompression processor 28 for display by the display means 1 2.
  • the storage means 14 of the user terminal 2 is loaded with some application programmes, to allow it to co-operate with the computer system 1 8.
  • an application is called up in the computer system 18 by transmission of a command from the terminal 2 via the transceiver 4, base station 6, and network 8.
  • the application will be established after a user has responded to information presented on the display means 1 2 in the form of a "welcome screen".
  • the welcome screen is stored locally in the storage means 14 and includes a menu of application programs which the user may choose to execute.
  • the welcome screen should emulate the screen that a user of the conventional system, i.e. in direct contact with the central computer, would see when first switching on. The user's selection is made using the input means 1 5 in conjunction with the welcome screen displayed on the display means 1 2.
  • the central computer system 1 8 has to identify the user terminal 2 with which the connection is being established, preferably by using the CGI mechanisms. This allows the central computer system 1 8 to configure its operation according to the user terminal 2, in particular the operating system it is operating under, the information currently stored in the storage means 14, its communications capabilities (in particular the maximum bit-rate it can receive) and any user-specific authorisations (e.g. read-only) for data stored by the central computer system 18.
  • the user may be required to confirm his identity manually, e.g. by entering a password.
  • the terminal 2 is instructed by the central computer system to retrieve an appropriate screen from the local storage means 14 and display it on the display means 12.
  • This screen relates to the application program which is executing on the processing means 22 of the central computer system 1 8.
  • the user is presented with what appears to be the application running on this local terminal although in actual fact the application is running on the processing means 22 of the central computer system and minimal amounts of data have been passed between the central computer system 1 8 and the remote terminal 2 to reach this stage.
  • the central computer system (having previous knowledge of which screens are already held locally by the remote terminal) sends graphic data or "image commands" to cause display of new screens, new parts of screens, or modifications of the screen currently displayed as and when necessary
  • the remote terminal 2 will have been pre-loaded with at least the most common screens required by the application program so that only rarely is it necessary to send large amounts of data over the established connection.
  • Spare capacity in the telecommunications link 8, 6, 4 can be used to transmit data relating to upgrades, new screens, and other data, for storage in the storage means 14 in anticipation of it being required subsequently, subject to capacity in the storage means 1 4 being available. This allows more rapid access of the data when itr is eventually required.
  • the remote terminal 2 does not transmit all details of mouse and pointer movements but only transmits mouse/pointer co-ordinates when a command is entered, for example by clicking on the mouse 1 a or by pressing an "enter" key on the keyboard 1 7b. This reduces the bandwidth requirement for the connection established between the central computer system 18 and the remote terminal 2, whilst allowing the central computer system to track the current state of the remote terminal at those instants when a response is required from it.
  • the central computer 1 8 and the terminal 2 may for example operate to achieve the "dragging" of an item on the screen, by passing between them only the co ⁇ ordinates of the end of the drag operation, rather than a full update of the particular pixels on the display means which must be altered during the drag operation.
  • both the processing means 22 of the central computer system 1 8 and the remote terminal 2 then calculate how the screen should appear at the end of the operation so that they resume synchronisation and in particular so that the processing means 22 of the central computer system 1 8 can correctly interpret any subsequent commands received from the remote terminal 2
  • Figure 2 shows the computer terminal 2 and central computer system 1 8 in more detail, including certain of the functional elements necessary for the updating of the image It will be appreciated that these functional elements will be embodied in software configured to run on the computer terminal 2 and central computer system 1 8.
  • the input device 1 5 (illustrated as a mouse) includes a position transponder 1 6 and a command input device, such as the "click" button 1 7a of the mouse.
  • a position transponder 1 6 and a command input device, such as the "click" button 1 7a of the mouse.
  • the movement of the mouse is tracked by transducers responsive to the motion of the mouse over a surface, which is converted by a vector conversion unit 30 into movement vectors These in turn are converted into position co-ordinates in a position determination unit 32.
  • the output from the position determination unit 32 is fed to an image generation unit 34, which has the functionality necessary for generating an image of a cursor 44 at the appropriate location on the display device 1 2.
  • the image generation device 34 has other inputs, as will be described later
  • a "send" function 36 which retrieves the current position of the cursor as determined by the position determination function 32, and transmits this position, by way of the communications link 4, 6, to the central computer system 1 8
  • a position update function 38 responds to the position information to identify the position of the cursor, and updates a stored version of the image represented on the display device 1 2, which is stored in the central computer in a store 46.
  • the action of transmitting the update information by means of the send function 36 acts to modify the image stored in the store 46 to match that displayed on the display device 1 2.
  • the mouse's motion is tracked in real time locally, but is discontinuously tracked at the central computer.
  • the modified image recorded by the position update function 38 is fed to the processing unit 22 which acts according to the input represented by the modified image For example, "clicking" (using the button 17a) when the cursor 44 is in an area of the screen in which a specified icon is displayed, causes processing associated with that icon to be carried out. This process may itself cause a further modification to the image stored in the store 46. This may be a small change such as highlighting an icon which has been selected, or it may require a completely different image to be called up, depending on the function represented by the icon which has been "clicked” on.
  • the generation of the modified image also activates an image command unit 40 which determines how to modify the image displayed on the display means 1 2 to match the new image stored in the store 46.
  • the modification could be to- modify the relevant part of an image, e.g. by modifying a icon; perform some other operation on an existing image, such as shifting or enlarging; retrieve a new image from the store 14, or upload a new image, or part image, from the main computer 18.
  • the command unit 40 generates the appropriate image command, and transmits it to the remote terminal 2 and is there received in an image command receive unit 42
  • This image command is then passed to the image control unit 34, which retrieves any images required from the store 14, and then generates the required modified image, (i.e. with changed image elements, translated or enlarged parts, or a completely new image retrieved from the stores 14 or 46), to modify the image displayed on the display unit 1 2 to again match that stored in the store 46 in the central computer system 1 8.
  • the central computer system 18 When a request is made by the user to access a data file (step 101 ), for instance by transmitting a command, the central computer system 18 would, in general, be required to retrieve a copy of the file from its own storage means 20 and transmit the copy over the communications link 4, 6 to the terminal 2 (step 1 1 3). However, the central computer system 1 8, when it receives the command, first evaluates it (steps 102, 105, 106) to determine whether the remote terminal needs to be sent the requested information, or simply a reference to a document already held by the remote terminal 2.
  • any data which is transferred is also stored in the terminal's own storage means 14, (step 1 1 6) and the fact of this storage is recorded as a 'flag' in the central computer storage means 20 (step 1 14) . If, in a subsequent session, the user requires access to the same file, the central computer system 18 identifies from the presence of the 'flag' in the storage means that the user terminal already has this data (step 105), thereby avoiding the unnecessary re-transmission of the same data.
  • Amendments made by the user to the data in such a file are performed on both copies whilst the user is on-line (step 1 1 7) . If other users have w ⁇ te-access to the same data, amendments made to the copy in the central storage means 20 by such other users whilst the first user is off-line cause the 'flag' to be deleted, to indicate that the first user no longer has the current version, and the amended version will require downloading should the first user require the datafiie in a future session. If a substantial part of the document is unchanged, a different flag may be placed on the data, to instruct the central computer system 18 to transmit only amendment instructions to the user terminal 2 (step 108).
  • the 'flags' in the central computers' data store are, of course, user- specific, as different users will have accessed the same data at different times and therefore will have different versions stored locally.
  • the capacity of the data store 14 in the terminal 2 may be limited, and so stored data may require to be periodically over-written by the new data. In such a case, the 'flag' stored in the central computer 1 8 will be incorrect.
  • the remote terminal 2 may transmit a signal to the central computer 1 8 instructing it to remove the 'flag' .
  • a flag stored in the central computer indicates the time of the latest update, (e.g. as a "version number" which is incremented by 1 every time the data is modified) , This flag is compared with a flag stored with the locally stored version of the data (step207), and if they do not correspond this indicates that an update is required.
  • Update information may be stored in the central computer, corresponding to that information necessary to convert the data from the version corrseponding to each flag value into the latest version. Thus only that data needed to modify the data already held need be transmitted.
  • the remote terminal identifies from a comparison of flag values, whether an update is required, and the flag values held in the central computer do not need to be user-specific.
  • a user requests data (step 101 ) this request is transmitted to the central computer 1 8.
  • the central computer identifies the data that is requested (step 102) and first checks that the user is permitted access to such data (step 103). If in fact this is not permitted, either because of insufficient access privileges, the request is rejected (step 1 04) .
  • the new user may be offered the possibility of making a read-only copy, or having the data downloaded when the current user has completed his session.
  • the central computer system 1 8 checks for the presence of a flag (step 105). If no flag is present the computer 1 8 next retrieves the requested data and transmits it to the user (step 1 1 3) .
  • the data is stored in store 14 of the terminal 2 (step 1 1 6) and (in the process of Figure3) the flag in the store 20 of the central computer 1 8 is created to record this fact (step 1 14) .
  • step 105 if a flag is already present (step 105) then the system first checks (step 106) whether the flag is an "update” flag, indicating that the version currently stored by the user is not the latest version. If the "update" flag is not present, this indicates that the version stored by the user is the same as that in the central store 20. In this case the central computer 1 8 transmits an instruction to the user terminal (step 107) to use the version of the data already stored in the data store 14 of the terminal 2. If the update flag is set then the central computer system 1 8 transmits an instruction to first modify the current version to reflect the changes which have been made since the user last accessed the data (step 108), and then to use this modified version.
  • the user terminal 2 retrieves the version of the data currently stored in the store 14 (step 109a, 109b). The user terminal 2 next checks (step 1 10a, 1 10b) whether the version present in the store 14 is the current version, by following the instructions transmitted from the central computer in steps 107/108.
  • step 1 1 1 If the data is not present (e g. because it has been overwritten to make way for more recent data, or because it has been corrupted), then a "not found" signal is transmitted (step 1 1 1 ) to the central computer 1 8. On receiving such a signal (step 1 1 2) the central computer 18 retrieves the relevant data and transmits it to the user terminal 2 in the same way if there had been no flag on the data for that user (step 1 1 3) . On transmitting the data to the user the user flag is amended (step 1 1 4) to identify that the user now has the current version of the data.
  • step 1 10a If the user terminal 2 successfully retrieves the data from the store (steps 1 10a, 1 10b) then the data is updated (step 1 1 5) using the update instructions transmitted from the central computer 1 8 (step 108), if any.
  • the updated version is stored in the store 14 (step 1 1 6), overwriting the previous version that was stored there
  • the version retrieved from the store (step 109a) or as newly retrieved (step 1 1 3), or updated (step 1 1 5) can then be used by the remote terminal 2 (step 1 1 7).
  • any changes which are made to data files are transmitted back to the central computer 1 8 so that amendments can be stored in the corresponding data file 20 at the central computer (step 1 18). If any such amendments are made, the flags corresponding to other users and relating to that data file are amended to indicate that they no longer have the current version.
  • the central computer 18 responds to the presence of a flag indicating whether the user terminal 2 has already got the data (step 105).
  • the flag may be retrieved from the store 14 in the user terminal 2). If the flag is not present, the central computer transmits the data (step 1 1 3) as in Figure 3. However, if the flag is present, the central computer next transmits a version number (step 206). This is compared with the version number stored in the user terminal 2 (step 207). If they correspond, this indicates that the data in the central computer has not been amended since the data in the user terminal was last modified, and the user terminal can use its currently stored version (step 1 17).
  • the user terminal 2 transmits its own version number (step 208), which is used by the central computer to retrieve updating data specific to the version identified by the user terminal 2 (step 209), which can be used to amend that version to correspond with the newer version of the data in the central computer 22 (step 21 1 ).
  • This data is transmitted to the user terminal (step 210), and used to update the data already stored there (step 21 1 ). This is more efficient than retransmitting and the entire datafiie, overwriting the old version, since the amendments may be quite minor.
  • the revised version is stored in the user store 14, and any amendments made by the user are transmitted back to the central computer 22 (step 1 17), for storing as a new version, resulting in an incrementing of the version number so that another user can receive the new update data generated by the current user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method of communication over a telecommunications network between a central computer system and a remote terminal. The remote terminal includes storage means for local storage of data. To reduce the bandwidth requirement for a connection between the remote terminal and the central computer system, the central computer system where possible, transmits a command for the remote terminal to display its locally stored data rather than transmit the data itself. Additionally, the remote terminal only provides information relating to the position of screen pointers when a command is entered for example by clicking with a mouse. In this way the bandwidth requirement is further reduced since it is not necessary to constantly update the central computer system as to the position of the pointer.

Description

COMMUNICATION METHOD AND SYSTEM BETWEEN HOST AND REMOTE WORKSTATION
The present invention relates to a method of communication over a telecommunications network and in particular to such communication between a central computer system and a remote terminal.
There is presently much interest in the idea of "teleworking" i.e. being able to use computer facilities remotely from a central computing facility (typically from a location at home), and in being able to access such facilities whilst on the move.
Software, commonly referred to as "remote access software", has been developed which permits a user to control an application program running on a remote computer from a local computer via a computer modem connection.
However, since such modem connections have a relatively low maximum bandwidth (i.e. transmissible volume of data per unit of time) such software often operates unpractically slowly. This problem is particularly apparent when the application program is executing in a GUI (graphical user interface) environment where large volumes of data relating to the graphical displays must be transferred.
According to the present invention, there is provided a method of communication over a telecommunications network between a central computer system and a remote computer terminal, the terminal including storage means, the method comprising: loading the storage means with data related to an application program prior to execution of the application program; establishing a connection between the terminal and the central computer system via the network; transmitting a command from the central computer system via the network to the terminal to cause the terminal to read specified data from the storage means; and arranging the command and the specified data such that less transmission bandwidth is required over the network to transmit the command than would be required to transmit the data.
According to a second aspect of the invention there is provided a computing means for communicating with a remote computer terminal over a telecommunications network, the computing means having processing means arranged to execute an application program under the control of a remote terminal, and responsive to commands from the remote terminal to transmit commands to the remote terminal to cause accessing by the remote terminal of data stored in the remote terminal. According to a third aspect of the invention, there is provided a computer terminal having transceiver means for communicating with a remote computing means, processing means, data input means for controlling the processing means, and program storage means, the processing means being arranged: to retrieve a program from the program storage means, the program including initial data; to transmit, by means of the transceiver means commands to the remote computing means; to receive commands by means of the transceiver means; and to respond to the commands so received to operate on the initial data. The application program and commands may control the generation of an image on a display means. Thus by loading the image data into the storage means prior to execution of the application program, it is not always necessary to use the network bandwidth to transmit large amounts of graphical data. Typically a subset of "screens" which will be used by the application program will be pre-loaded into the storage means so that only the command, and any minor alterations required to the image displayed on the display means, need be transmitted over the network The image data may be text, graphics, or any other data.
The invention may also be used to process data which is not displayed directly on a display means, for example to allow amendment or updating of a data file, the method may include the steps of : transmitting data from the central computer system to the remote terminal; storing a duplicate version of the data in the remote terminal for subsequent use; establishing a record in the central computer system to identify that said data has been transmitted to the remote terminal; if the remote terminal requests the data subsequently, accessing the duplicate version of the data stored in the remote terminal. Typically the storage means will be non-volatile storage means such as a hard disk drive, programmable ROM (read-only memory) or battery-backed RAM (random access memory).
The present invention can yield considerable data compression, and so is particularly suited for use over a mobile telephone connection such as that provided by a digital mobile telephone system. Currently the maximum bandwidth of such connections is 9.6kbιt/s and this has been found impractical for use with traditional remote-access software, but it would be adequate for the method of the present invention. Moreover, data transmission services provided over GSM (Global System for Mobile communications) networks will shortly be available on a "pay- per-packet" basis so that a user pays according to the amount of data being transmitted, regardless of the length of time the connection is maintained. Thus the method preferably includes incorporating a connection over a digital mobile telephone network into the connection established between the terminal and the central computer system.
Preferably the commands are transmitted under the control of an application program executing on the central computer system. Thus it will be appreciated that the remote terminal may simply comprise the display means, a user input device, the storage means, and any necessary hardware to interconnect these components and to communicate with the central computer system. Since the application program is executing on the central computer system and not on the remote terminal, very little processing power is required in the terminal. In particular, only the results of the processing need be returned to the user. Thus the terminal may be cheap and lightweight, and may require less power consumption than a typical present-day notebook computer. Furthermore, upgrades in necessary processing power may be performed centrally and need not require an upgraded terminal, except insofar as new or modified data may be required to be loaded in the storage means to support such new applications.
Commands may be entered at the remote terminal using any conventional input device such as a keyboard. In applications in which the remote terminal includes a pointing device such as a "mouse" or cursor keys, and the display means is arranged to display a pointer (or "cursor") movable under control of the pointing device, the method advantageously includes the transmission of information related to the position of the pointer to the central computer system only when a user of the terminal issues a command requiring execution by the central computer system. Typically such a command is issued by releasing a mouse button during a "drag" operation, clicking or double clicking of a mouse button, or pressing a key on a keyboard. In this way, transmission bandwidth is not taken up by unnecessary transmissions of the current position of the mouse or pointer. The correlation between the position of the pointing device and the position of the pointer on the display is undertaken by the remote terminal and only when action need be taken by the central computer system (i.e. when a command is issued) need any information be transmitted to the central computer system. This further reduces the bandwidth requirement of the present invention.
Where text is input, e.g. by a keyboard, the method preferably includes the transmission of text from the terminal to the central computer system and/or vice versa in blocks. By buffering text in the terminal until several characters have accumulated (e.g. a whole line of text, or even a whole page), the text can be transmitted more efficiently, in particular by reducing the number of control characters required, and by allowing errors to be corrected before transmission. The amount of buffering which is appropriate will depend on the individual characteristics of the system, in particular the capacity of the buffer memory in the user terminal, and the amount of delay involved when the data is eventually transmitted (which depends on the amount of data to be sent).
Preferably the system includes the facility to allow a user terminal to access a data file from a master version of the file stored by the central computer, and to store a duplicate of the data for subsequent use, and to record at the central computer that such a duplicate has been stored, thereby eliminating the need for the same data to be again transmitted during a subsequent session. Amendments to the data in the duplicate version may be communicated to the central computer to allow corresponding amendment to the master version. In a preferred arrangement the central computer is arranged to delete or modify the record of the presence of such a duplicate in the event that the duplicate version stored in the remote terminal ceases to correspond with the master version stored in the central computer. This may occur, for example, because the duplicate has been over-written, or because the master version has been amended by another user. Alternatively, the user terminal may check the current status of the data in the central computer, for example by comparing a version number stored at the local terminal with one stored in the central computer
Preferably the initial data is loaded into the storage means by downloading data from the central computer system This may be a service provided by the telecommunications network operator (or a third party) to allow terminal users to update the information stored in their terminals to take advantage of different or updated application programs available on the central computer system. Further data can be downloaded later, either as required to meet particular commands from the user terminal, or using spare capacity in the communications link, in anticipation of it being requiredsubsequently
Occasionally, display of images on the terminal may be initiated by the user This will typically be the case when the terminal is first trying to access the central computer system and it is necessary to display some sort of welcome or menu screen When this happens, information relating to the image displayed is provided to the central computer system This enables the central computer system to synchronise with the status of the remote terminal so that it can correctly interpret any commands issued by the user via the terminal.
The system of the invention can be run using any suitable operating system on the central computer, for example the Solaris 2.5 UNIX platform or the Microsoft "Windows NT 4 0" operating system, with the user system operating under a compatible system such as Microsoft "Windows 95". Dial-up server facilities are already available on these systems, allowing the user to specify what protocol to operate under and how it should be configured One suitable protocol is the Hypertext Transfer Protocol (HTTP) The invention can be implemented by adding to these existing systems by carrying out a small amount of processing at the user terminal, allowing a reduction in the amount of data to be transferred. In particular, by duplicating certain frequently-used data, such as applications screens, only such information need be exchanged as is necessary to modify the data, such that both copies of the data remain in agreement. In this way, the system can be arranged to appear to the user as if it is running the application on the central computer in the conventional manner, butvery much less dat transfer is requiredbetween the user's terminal and the central computer. The interface between the central computer and the remote terminal must be configured to correctly intercept and process commands according to the remote terminal type. The Common Gateway Interface (CGI) facility allows client identification, including the characteristics and capabilities of the remote terminal with which comunication is being established
The invention will now be descπbed by way of example with reference to the drawings, in which
Figure 1 is a schematic block diagram of a central computer system and a remote terminal in accordance with the invention; Figure 2 is a schematic block diagram showing some of the functional elements of the system in greater detail,
Figure 3 is a flow chart illustrating the operation of one function of the system;
Figure 4 is a flow chart illustrating a modification of Figure 3. With reference to Figure 1 , a remote terminal 2 is coupled via a digital communications link to a GSM-type transceiver 4 The transceiver 4 communicates with a GSM base station 6 forming part of a telecommunications network (shown generally as 8) .
The terminal 2 comprises a processing unit 10, display means 1 2, storage means 14 and user input means 1 5 The user input means 1 5 includes a position transducer (e.g a computer "mouse") 1 6 and input command means such as the
"click" button 1 7a on the mouse 1 6, or a keyboard 1 7b. The control means 10 is coupled via a serial data link to the transceiver 4
Also connected to, or forming part of, the communications network 8, there is a central computer system 1 8 It will be appreciated that although referred to as central, the central computer system 1 8 may in fact comprise several distributed computer systems located in different geographical locations of the telecommunications network. The central computer system 1 8 includes, amongst other things, storage means 20 which hold one or more application programs and user data, and processing means 22 to respond to inputs received over the communications network 8, and to generate commands. The processing means 22 includes a buffer store 24 to store command inputs, and a data compression processor 26 to combine several command inputs into a form suitable for transmission to, and processing by, the computer 1 8. Similarly, compressed image command data received from the computer 18 is decompressed by a decompression processor 28 for display by the display means 1 2.
Prior to use, the storage means 14 of the user terminal 2 is loaded with some application programmes, to allow it to co-operate with the computer system 1 8.
In use, an application is called up in the computer system 18 by transmission of a command from the terminal 2 via the transceiver 4, base station 6, and network 8. Typically the application will be established after a user has responded to information presented on the display means 1 2 in the form of a "welcome screen". The welcome screen is stored locally in the storage means 14 and includes a menu of application programs which the user may choose to execute. Preferably the welcome screen should emulate the screen that a user of the conventional system, i.e. in direct contact with the central computer, would see when first switching on. The user's selection is made using the input means 1 5 in conjunction with the welcome screen displayed on the display means 1 2. When the user selects an application program, perhaps by clicking on an item on the welcome screen using the mouse 1 7a, or by making a menu selection using cursor keys and the keyboard 1 7b, a telecommunications connection is established to the central computer system 1 8, and then a command is sent to that computer system to cause the processing means 22 to initiate execution of the chosen application program.
As an initial step, the central computer system 1 8 has to identify the user terminal 2 with which the connection is being established, preferably by using the CGI mechanisms. This allows the central computer system 1 8 to configure its operation according to the user terminal 2, in particular the operating system it is operating under, the information currently stored in the storage means 14, its communications capabilities (in particular the maximum bit-rate it can receive) and any user-specific authorisations (e.g. read-only) for data stored by the central computer system 18. The user may be required to confirm his identity manually, e.g. by entering a password.
As the application is initialised on the central computer system 18, the terminal 2 is instructed by the central computer system to retrieve an appropriate screen from the local storage means 14 and display it on the display means 12. This screen relates to the application program which is executing on the processing means 22 of the central computer system 1 8. Thus the user is presented with what appears to be the application running on this local terminal although in actual fact the application is running on the processing means 22 of the central computer system and minimal amounts of data have been passed between the central computer system 1 8 and the remote terminal 2 to reach this stage. From this time on, during execution of the application, the central computer system (having previous knowledge of which screens are already held locally by the remote terminal) sends graphic data or "image commands" to cause display of new screens, new parts of screens, or modifications of the screen currently displayed as and when necessary Typically, the remote terminal 2 will have been pre-loaded with at least the most common screens required by the application program so that only rarely is it necessary to send large amounts of data over the established connection. Spare capacity in the telecommunications link 8, 6, 4 can be used to transmit data relating to upgrades, new screens, and other data, for storage in the storage means 14 in anticipation of it being required subsequently, subject to capacity in the storage means 1 4 being available. This allows more rapid access of the data when itr is eventually required. The remote terminal 2 does not transmit all details of mouse and pointer movements but only transmits mouse/pointer co-ordinates when a command is entered, for example by clicking on the mouse 1 a or by pressing an "enter" key on the keyboard 1 7b. This reduces the bandwidth requirement for the connection established between the central computer system 18 and the remote terminal 2, whilst allowing the central computer system to track the current state of the remote terminal at those instants when a response is required from it. The central computer 1 8 and the terminal 2 may for example operate to achieve the "dragging" of an item on the screen, by passing between them only the co¬ ordinates of the end of the drag operation, rather than a full update of the particular pixels on the display means which must be altered during the drag operation. Using these co-ordinates, both the processing means 22 of the central computer system 1 8 and the remote terminal 2 then calculate how the screen should appear at the end of the operation so that they resume synchronisation and in particular so that the processing means 22 of the central computer system 1 8 can correctly interpret any subsequent commands received from the remote terminal 2
Figure 2 shows the computer terminal 2 and central computer system 1 8 in more detail, including certain of the functional elements necessary for the updating of the image It will be appreciated that these functional elements will be embodied in software configured to run on the computer terminal 2 and central computer system 1 8.
The input device 1 5 (illustrated as a mouse) includes a position transponder 1 6 and a command input device, such as the "click" button 1 7a of the mouse. As is conventional, the movement of the mouse is tracked by transducers responsive to the motion of the mouse over a surface, which is converted by a vector conversion unit 30 into movement vectors These in turn are converted into position co-ordinates in a position determination unit 32. The output from the position determination unit 32 is fed to an image generation unit 34, which has the functionality necessary for generating an image of a cursor 44 at the appropriate location on the display device 1 2. The image generation device 34 has other inputs, as will be described later
When the user carries out an operation indicating that a command is to be carried out (e.g by pressing the click button 1 7a, or pressing the return key on a keyboard), this is detected by a "send" function 36, which retrieves the current position of the cursor as determined by the position determination function 32, and transmits this position, by way of the communications link 4, 6, to the central computer system 1 8 In the central computer system 18, a position update function 38 responds to the position information to identify the position of the cursor, and updates a stored version of the image represented on the display device 1 2, which is stored in the central computer in a store 46. The action of transmitting the update information by means of the send function 36 acts to modify the image stored in the store 46 to match that displayed on the display device 1 2. Thus, the mouse's motion is tracked in real time locally, but is discontinuously tracked at the central computer.
The modified image recorded by the position update function 38 is fed to the processing unit 22 which acts according to the input represented by the modified image For example, "clicking" (using the button 17a) when the cursor 44 is in an area of the screen in which a specified icon is displayed, causes processing associated with that icon to be carried out. This process may itself cause a further modification to the image stored in the store 46. This may be a small change such as highlighting an icon which has been selected, or it may require a completely different image to be called up, depending on the function represented by the icon which has been "clicked" on. The generation of the modified image also activates an image command unit 40 which determines how to modify the image displayed on the display means 1 2 to match the new image stored in the store 46. The modification could be to- modify the relevant part of an image, e.g. by modifying a icon; perform some other operation on an existing image, such as shifting or enlarging; retrieve a new image from the store 14, or upload a new image, or part image, from the main computer 18.
In general, only the last of these requires image data, as opposed to simple commands, to be transmitted from the main computer.
The command unit 40 generates the appropriate image command, and transmits it to the remote terminal 2 and is there received in an image command receive unit 42 This image command is then passed to the image control unit 34, which retrieves any images required from the store 14, and then generates the required modified image, (i.e. with changed image elements, translated or enlarged parts, or a completely new image retrieved from the stores 14 or 46), to modify the image displayed on the display unit 1 2 to again match that stored in the store 46 in the central computer system 1 8.
It will be seen that this process results in the store 46 and the display means 1 2 tracking changes which are made in each other, either by means of the data input means 1 5 or as result of operations of the processor 22, such that the interaction between the input means 1 5 and the display means 1 2 can emulate that of a computer with a local processor, without the need for image-by-image (pixel by pixel) information being transmitted over the narrow-bandwidth communication link 4, 6 In particular trivial changes such as the movement of a mouse in between "clicks" on the data input means 1 7a are still displayed on the display means 1 2, allowing the user to see where the cursor is, but they are not recorded in the image 46 in the central computer system 1 8; only the position at the time of the "click" is recorded Figure 3 illustrates in flowchart form one method by which data (either image data or other data files) can be accessed from the stores 14, 20. When a request is made by the user to access a data file (step 101 ), for instance by transmitting a command, the central computer system 18 would, in general, be required to retrieve a copy of the file from its own storage means 20 and transmit the copy over the communications link 4, 6 to the terminal 2 (step 1 1 3). However, the central computer system 1 8, when it receives the command, first evaluates it (steps 102, 105, 106) to determine whether the remote terminal needs to be sent the requested information, or simply a reference to a document already held by the remote terminal 2. in order to minimise the amount of data transfer required, any data which is transferred is also stored in the terminal's own storage means 14, (step 1 1 6) and the fact of this storage is recorded as a 'flag' in the central computer storage means 20 (step 1 14) . If, in a subsequent session, the user requires access to the same file, the central computer system 18 identifies from the presence of the 'flag' in the storage means that the user terminal already has this data (step 105), thereby avoiding the unnecessary re-transmission of the same data.
Amendments made by the user to the data in such a file are performed on both copies whilst the user is on-line (step 1 1 7) . If other users have wπte-access to the same data, amendments made to the copy in the central storage means 20 by such other users whilst the first user is off-line cause the 'flag' to be deleted, to indicate that the first user no longer has the current version, and the amended version will require downloading should the first user require the datafiie in a future session. If a substantial part of the document is unchanged, a different flag may be placed on the data, to instruct the central computer system 18 to transmit only amendment instructions to the user terminal 2 (step 108).
The 'flags' in the central computers' data store are, of course, user- specific, as different users will have accessed the same data at different times and therefore will have different versions stored locally. The capacity of the data store 14 in the terminal 2 may be limited, and so stored data may require to be periodically over-written by the new data. In such a case, the 'flag' stored in the central computer 1 8 will be incorrect. When over¬ writing takes place, the remote terminal 2 may transmit a signal to the central computer 1 8 instructing it to remove the 'flag' . Alternatively, or as a safeguard, if the terminal 2 receives a message, in response to a retrieval request, indicating that the data is flagged, but the terminal fails to find the data in its own store 14 (step 1 10a/b), it may request that the data be downloaded in spite of the presence of the flag (step 1 1 1 ). In an alternative arrangement, a flag stored in the central computer indicates the time of the latest update, (e.g. as a "version number" which is incremented by 1 every time the data is modified) , This flag is compared with a flag stored with the locally stored version of the data (step207), and if they do not correspond this indicates that an update is required. Update information may be stored in the central computer, corresponding to that information necessary to convert the data from the version corrseponding to each flag value into the latest version. Thus only that data needed to modify the data already held need be transmitted. In this arrangement the remote terminal identifies from a comparison of flag values, whether an update is required, and the flag values held in the central computer do not need to be user-specific.
The flowcharts of Figures 3 and 4 will now be described in detail. When a user requests data (step 101 ) this request is transmitted to the central computer 1 8. The central computer identifies the data that is requested (step 102) and first checks that the user is permitted access to such data (step 103). If in fact this is not permitted, either because of insufficient access privileges, the request is rejected (step 1 04) . As is conventional, if the data is already in use by another user, the new user may be offered the possibility of making a read-only copy, or having the data downloaded when the current user has completed his session.
If access is permitted, the central computer system 1 8 then checks for the presence of a flag (step 105). If no flag is present the computer 1 8 next retrieves the requested data and transmits it to the user (step 1 1 3) . The data is stored in store 14 of the terminal 2 (step 1 1 6) and (in the process of Figure3) the flag in the store 20 of the central computer 1 8 is created to record this fact (step 1 14) .
In the version shown in Figure 3, if a flag is already present (step 105) then the system first checks (step 106) whether the flag is an "update" flag, indicating that the version currently stored by the user is not the latest version. If the "update" flag is not present, this indicates that the version stored by the user is the same as that in the central store 20. In this case the central computer 1 8 transmits an instruction to the user terminal (step 107) to use the version of the data already stored in the data store 14 of the terminal 2. If the update flag is set then the central computer system 1 8 transmits an instruction to first modify the current version to reflect the changes which have been made since the user last accessed the data (step 108), and then to use this modified version. In either of the two cases where a flag has indicated the presence in the user terminal of a version of the required data, the user terminal 2 retrieves the version of the data currently stored in the store 14 (step 109a, 109b). The user terminal 2 next checks (step 1 10a, 1 10b) whether the version present in the store 14 is the current version, by following the instructions transmitted from the central computer in steps 107/108.
If the data is not present (e g. because it has been overwritten to make way for more recent data, or because it has been corrupted), then a "not found" signal is transmitted (step 1 1 1 ) to the central computer 1 8. On receiving such a signal (step 1 1 2) the central computer 18 retrieves the relevant data and transmits it to the user terminal 2 in the same way if there had been no flag on the data for that user (step 1 1 3) . On transmitting the data to the user the user flag is amended (step 1 1 4) to identify that the user now has the current version of the data.
If the user terminal 2 successfully retrieves the data from the store (steps 1 10a, 1 10b) then the data is updated (step 1 1 5) using the update instructions transmitted from the central computer 1 8 (step 108), if any. The updated version is stored in the store 14 (step 1 1 6), overwriting the previous version that was stored there
The version retrieved from the store (step 109a) or as newly retrieved (step 1 1 3), or updated (step 1 1 5) can then be used by the remote terminal 2 (step 1 1 7). As has been described above, any changes which are made to data files are transmitted back to the central computer 1 8 so that amendments can be stored in the corresponding data file 20 at the central computer (step 1 18). If any such amendments are made, the flags corresponding to other users and relating to that data file are amended to indicate that they no longer have the current version. In the alternative process shown in Figure 4, in which steps corresponding to those in Figure 3 have the same reference numerals, the central computer 18 responds to the presence of a flag indicating whether the user terminal 2 has already got the data (step 105). (In this version, the flag may be retrieved from the store 14 in the user terminal 2). If the flag is not present, the central computer transmits the data (step 1 1 3) as in Figure 3. However, if the flag is present, the central computer next transmits a version number (step 206). This is compared with the version number stored in the user terminal 2 (step 207). If they correspond, this indicates that the data in the central computer has not been amended since the data in the user terminal was last modified, and the user terminal can use its currently stored version (step 1 17). If they do not correspond, the user terminal 2 transmits its own version number (step 208), which is used by the central computer to retrieve updating data specific to the version identified by the user terminal 2 (step 209), which can be used to amend that version to correspond with the newer version of the data in the central computer 22 (step 21 1 ). This data is transmitted to the user terminal (step 210), and used to update the data already stored there (step 21 1 ). This is more efficient than retransmitting and the entire datafiie, overwriting the old version, since the amendments may be quite minor.
The revised version is stored in the user store 14, and any amendments made by the user are transmitted back to the central computer 22 (step 1 17), for storing as a new version, resulting in an incrementing of the version number so that another user can receive the new update data generated by the current user.

Claims

1 . A method of communication over a telecommunications network (4, 6, 8) between a central computer system ( 18) and a remote computer terminal (2), the terminal including storage means ( 1 4), the method comprising: loading the storage means ( 14) with data related to an application program prior to execution of the application program; establishing a connection between the terminal (2) and the central computer system ( 1 8) via the network (4, 6, 8); transmitting a command from the central computer system (18) via the network
(4, 6, 8) to the terminal (2) to cause the terminal (2) to read specified data from the storage means ( 14); and arranging the command and the specified data such that less transmission bandwidth is required over the network (4, 6, 8) to transmit the command than would be required to transmit the data.
2. A method according to claim 1 , including transmitting the command under the control of an application program executing on the central computer system ( 18).
3. A method according to claim 1 or claim 2, wherein the connection established between the terminal and the central computer system incorporates a connection over a digital mobile telephone network.
4. A method according to claim 1 , 2 or 3, wherein the application program and commands control the generation of an image on a display means ( 1 2).
5. A method according to claim 4, wherein the terminal includes a pointing device ( 1 6), and the display means ( 1 2) is arranged to display a pointer (44) movable under control of the pointing device ( 1 6), and the method includes transmitting information related to the position of the pointer (44) to the central computer system ( 1 8) only when a user of the terminal (2) issues a command for execution by the central computer system ( 1 8).
6. A method according to claim 4 or 5, including the steps of: causing an image to be displayed on the display means ( 1 2) by issuing a command at the terminal (2) ; providing information to the central computer system ( 1 8) related to the image which is displayed; executing a command at the central computer system in response to said information; and transmitting the image revision data from the central computer system ( 1 8) to the terminal (2).
7. A method according to any preceding claim, including the transmission of text from the terminal (2) to the central computer system (18) and/or vice versa in blocks, each block representing more than one character.
8. A method according to any preceding claim, including loading the specified data into the storage means ( 1 4) by downloading data from the central computer system ( 18).
9. A method according to any preceding claim, including the steps of: transmitting data from the central computer system ( 1 8) to the remote terminal
(2); storing a duplicate version of the data in the remote terminal (2) for subsequent use, establishing a record in the central computer system ( 18) to identify that said data has been transmitted to the remote terminal (2); if the remote terminal (2) requests the data subsequently, accessing the duplicate version of the data stored in the remote terminal.
10. A method according to claim 9, wherein if the data stored in the central computer system ceases to correspond with the duplicate version stored in the remote terminal, the record in the central computer system is amended; and if the remote terminal (2) requests the data subsequently, amending the duplicate version of the data stored in the remote terminal (2) to again correspond with the data stored in the central computer system ( 1 8)
1 1 . A method according to any preceding claim, wherein capacity in the connection (4, 6, 8) established between the central computer system (18) and the remote terminal (2) not required for the transmission of commands to the remote terminal (2) is used to transmit further data relating to application programs tothe remote terminal (2) for storage in the storage means (14) for subsequent use by the remote terminal (2)
1 2 A computing means ( 1 8) for communicating with a remote computer terminal (2) over a telecommunications network (4, 6, 8), the computing means having processing means (22) arranged to execute an application program under the control of a remote terminal (2), and responsive to commands from the remote terminal (2) to transmit commands to the remote terminal (2) to cause accessing by the remote terminal (2) of data stored in the remote terminal (2).
1 3 A computing means (1 8) according to claim 1 2, comprising storage means
(20) for storing application programs and commands, and the processing means (22) being arranged to retrieve application programs from the storage means (20) under the control of a remote terminal, and to retrieve commands from the storage means (20) in response to commands from the remote terminal in accordance with the application program so retrieved, and to transmit said commands to the remote terminal.
14. A computing means (18) according to claim 1 2 or 1 3, wherein the storage means (20) comprises means for storing data, the processing means (22) being arranged to transmit said data to a remote terminal on request, and the storage means (20) having record means activatable to record that said data has been transmitted, the processing means having means to identify requests for such data, and means responsive to the record means to transmit an instruction to the remote terminal to retrieve the data from a store in the remote terminal.
1 5. A computing means ( 18) according to claim 14, in which the record means is further activatable to record that the data transmitted to the remote terminal (2) no longer corresponds with that stored in the storage means (20).
16. A computing means ( 1 8) according to claim 1 2, 1 3, 14 or 1 5, wherein the application program and commands control the generation of an image on a display means ( 1 2) of the remote terminal (2).
1 7. A computer terminal (2) having transceiver means (4) for communicating with a remote computing means ( 18), processing means ( 10), data input means (1 5) for controlling the processing means ( 10) and program storage means (14), the processing means ( 10) being arranged: to retrieve a program from the program storage means (14), the program including initial data; to transmit, by means of the transceiver means (4) commands to the remote computing means; to receive commands by means of the transceiver means (4); and to respond to the commands so received to operate on the initial data.
1 8. A computer terminal according to claim 17 wherein the processing means ( 10) is arranged to retrieve further data from the storage means ( 14) in response to commands received by the transceiver (4).
1 9. A computer terminal according to claim 1 7 or 1 8 wherein the processing means includes call set-up means for setting up a communications link (4, 6) to a remote computer (18).
20. A computer terminal according to claim 1 7, 1 8 or 1 9, having a display means ( 1 2), and wherein the initial data and commands control the generation of an image on a display means ( 1 2).
21 . A computer terminal according to claim 20, including an input means ( 15) comprising a position transducer ( 1 6) and an input command means ( 1 7a, 1 7b) for controlling the display means ( 1 2) to display the position of a pointer (44) under
5 the control of the position transducer ( 1 6), and wherein the processing means (10) is arranged to transmit the position of the pointer (44) to the remote computer (1 8) in response to a predetermined input from the input command means (17a, 17b).
22. A computer terminal according to claim 1 7, 1 8, 1 9, 20 or 21 wherein the 10 processing means ( 10) includes buffer means (24) for storing commands received from the input command means ( 1 7), and data compression means (26) for converting the stored data into a compressed form for transmission by the transceiver (4) .
1 5 23. A computer terminal according to claim 1 7, 1 8, 1 9, 20, 21 or 22 wherein the processing means ( 10) includes data compression means (28) for converting data received by the transceiver (4) in compressed form into a form suitable for display by a display means ( 1 2).
20 24. A computer terminal according to any of claims 1 7 to 23 wherein the processing means ( 10) further compπses means for receiving data from a remote computer means ( 1 8), and for storing said data in the program storage means ( 14) for subsequent retrieval.
25 25. A computer terminal according to any of claims 1 7 to 24 including means for requesting data from the central computer ( 1 8) , means for receiving said data, means for creating and storing a duplicate copy of the said data, and means for retrieving said duplicate copy in response to a signal received from the central computer ( 1 8) .
30
26. A computer terminal according to claim 25, including means to amend the duplicate copy in response to data received from the central computer (18).
27. A method of communication between a central computer system and a remote terminal, substantially as described with reference to the drawings.
28. A computing means substantially as described with reference to the drawings.
29. A computer terminal substantially as described with reference to the drawings.
PCT/GB1997/000713 1996-03-29 1997-03-13 Communication method and system between host and remote workstation WO1997037475A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU19354/97A AU1935497A (en) 1996-03-29 1997-03-13 Communication method and system between host and remote workstation
JP9535003A JP2000508139A (en) 1996-03-29 1997-03-13 Communication method and system between host and remote workstation

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP96302272 1996-03-29
EP96302272.8 1996-03-29
US71205096A 1996-09-10 1996-09-10

Publications (1)

Publication Number Publication Date
WO1997037475A1 true WO1997037475A1 (en) 1997-10-09

Family

ID=26143648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1997/000713 WO1997037475A1 (en) 1996-03-29 1997-03-13 Communication method and system between host and remote workstation

Country Status (1)

Country Link
WO (1) WO1997037475A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000054474A3 (en) * 1999-03-08 2000-12-28 Bosch Gmbh Robert Method for exchanging signaling data
EP1174793A2 (en) 2000-06-21 2002-01-23 Microsoft Corporation System and method providing multi-tier applications architecture
WO2003017094A3 (en) * 2001-08-20 2003-07-31 Applied Reasoning Systems Corp System and method of a wireless thin-client, server-centric framework
US6981277B1 (en) 2000-11-10 2005-12-27 International Business Machines Corporation Apparatus and method for conducting non-authentication task using workstation authentication system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991002313A1 (en) * 1989-08-03 1991-02-21 International Business Machines Corporation Data processing network
US5347632A (en) * 1988-07-15 1994-09-13 Prodigy Services Company Reception system for an interactive computer network and method of operation
EP0616455A2 (en) * 1992-09-19 1994-09-21 International Business Machines Corporation Computer network using data compression
EP0666681A2 (en) * 1989-11-09 1995-08-09 Transaction Technology, Inc. Computer and telephone apparatus with user friendly computer interface and enhanced integrity features
WO1996003823A1 (en) * 1994-07-22 1996-02-08 Norand Corporation Hierarchical communication system providing intelligent data, program and processing migration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347632A (en) * 1988-07-15 1994-09-13 Prodigy Services Company Reception system for an interactive computer network and method of operation
WO1991002313A1 (en) * 1989-08-03 1991-02-21 International Business Machines Corporation Data processing network
EP0666681A2 (en) * 1989-11-09 1995-08-09 Transaction Technology, Inc. Computer and telephone apparatus with user friendly computer interface and enhanced integrity features
EP0616455A2 (en) * 1992-09-19 1994-09-21 International Business Machines Corporation Computer network using data compression
WO1996003823A1 (en) * 1994-07-22 1996-02-08 Norand Corporation Hierarchical communication system providing intelligent data, program and processing migration

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R.W.SCHEIFLER ET AL: "THE X WINDOW SYSTEM", ACM TRANSACTIONS ON GRAPHICS, vol. 5, no. 2, April 1986 (1986-04-01), NEW YORK, US, pages 79 - 109, XP002012671 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000054474A3 (en) * 1999-03-08 2000-12-28 Bosch Gmbh Robert Method for exchanging signaling data
EP1174793A2 (en) 2000-06-21 2002-01-23 Microsoft Corporation System and method providing multi-tier applications architecture
EP1174793A3 (en) * 2000-06-21 2008-04-16 Microsoft Corporation System and method providing multi-tier applications architecture
US6981277B1 (en) 2000-11-10 2005-12-27 International Business Machines Corporation Apparatus and method for conducting non-authentication task using workstation authentication system
WO2003017094A3 (en) * 2001-08-20 2003-07-31 Applied Reasoning Systems Corp System and method of a wireless thin-client, server-centric framework

Similar Documents

Publication Publication Date Title
US6724399B1 (en) Methods and apparatus for enabling keyboard accelerators in applications implemented via a browser
EP0894307B1 (en) Data processing apparatus used for communication network
US5859973A (en) Methods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system
US6237005B1 (en) Web server mechanism for processing multiple transactions in an interpreted language execution environment
US7234107B1 (en) System for customizing web page
US8310445B2 (en) Remote-control system, remote-control apparatus, apparatus to be controlled, remote-control method, computer program, and storage medium
AU777335C (en) Using one device to configure and emulate web site content to be displayed on another device
EP0996892B1 (en) Automatic regeneration of user data from a network
US7035912B2 (en) Method and apparatus allowing a limited client device to use the full resources of a networked server
US20020174206A1 (en) Web-based file manipulating system
US7828216B2 (en) Methods and apparatus for providing on-demand assistance for a wireless device
US20050231517A1 (en) Portable high speed internet or desktop device
US20070130523A1 (en) User interface automatic transform system and method based on display device
JP2003323402A (en) Thin client system, and thin client terminal, thin client terminal control method and control program therefor
JPH11143760A (en) File transferring device and method therefor
US20090006977A1 (en) Method and System of Computer Remote Control that Optimized for Low Bandwidth Network and Low Level Personal Communication Terminal Device
US20090287769A1 (en) Server unit, client unit, server-based computing system, server control method, client control method, and recording medium
WO1997037475A1 (en) Communication method and system between host and remote workstation
JPH10275132A (en) Data processing device and storage medium
JP2000508139A (en) Communication method and system between host and remote workstation
JP2001331428A (en) Remote operation software for information processor, remote operation system and recording medium having program recorded thereon
US20030055885A1 (en) Client instant information service system and method
JP2000163204A (en) Multilingual character input system
JP5659474B2 (en) Information processing terminal and program
JP7085311B2 (en) Information processing equipment, information processing system, information processing method, information processing program

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN YU AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载