GB2293471A - Conferencing system - Google Patents

Conferencing system Download PDF

Info

Publication number
GB2293471A
GB2293471A GB9517671A GB9517671A GB2293471A GB 2293471 A GB2293471 A GB 2293471A GB 9517671 A GB9517671 A GB 9517671A GB 9517671 A GB9517671 A GB 9517671A GB 2293471 A GB2293471 A GB 2293471A
Authority
GB
United Kingdom
Prior art keywords
computer terminal
application
window
event
input
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB9517671A
Other versions
GB9517671D0 (en
Inventor
Akihiko Obata
Hiroyuki Hattori
Ai Manabe
Tomoyoshi Takebayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Priority claimed from JP6210181A external-priority patent/JPH0877115A/en
Priority claimed from JP7014070A external-priority patent/JPH08212162A/en
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of GB9517671D0 publication Critical patent/GB9517671D0/en
Publication of GB2293471A publication Critical patent/GB2293471A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

An application sharing system has computer terminals which are connected to a network, a shared application which is commercially available being installed in the plurality of computer terminals. When an event is input to a computer terminal, a process corresponding to the event is performed in accordance with the shared application in the computer terminal and in other computer terminals. Each of the plurality of computer terminals includes an event determination unit for determining what an input event is, a file transmission unit, when the event determination unit determines that the input event is an open command for a file, for transmitting the file to another computer terminal, a received file managing unit for receiving and managing the file which is transmitted based on an open command in another computer terminal, and an event simulating unit, when the file is transmitted based on an open command in another computer terminal, for simulating an event corresponding to an open command for opening the file which is managed by the received file managing unit in the shared application. <IMAGE>

Description

"APPLICATION SHARING SYSTEM" The present invention generally relates to an application sharing system, and more particularly to an application sharing system in which application software, such as text editors, spread sheets and white boards, is shared by a plurality of computers which are located at different sites and connected to each other via a limited band width communication channel.
Many computer mediated conference system have been developed recently (Japanese Laid Open Patent Application No.62-53084, No.63-1139, No.2-96263 and No.3-119476 and "MULTIMEDIA REPLICATED APPROACH CONFERENCE SYSTEM: MERMAID - APPLICATION SHARING BY REPLICATED APPROACH CONTROL, NEC Co. Ltd, OS91-12 17p24p"). In these system, the same information generated in accordance with a shared application is displayed, in realtime, on screens of computers connected to each other by a communication network such as an ISDN or a LAN. In this state, while pointing positions on the screens of the respective computers, a conference is executed by use of an audio channel among users of the computers. In addition, pictures drawn by drawing operations of users in the respective computers are superposed on images displayed on the screen of the respective computers.
There are two method of realizing the application sharing. In the first method, an application program for the application sharing is originally developed. In the second method, application software which is commercially available is used. The first method has an advantage in that new functions suitable for the application sharing can be originally added to the application program. The second method has an advantage in that an application, such as a word processor, a spread sheet or the like, which is commercially available user can be used without changing it.
In addition, there are two types of application sharing systems. The first type is referred to as a centralized approach application sharing system. In the centralized approach application system, a single computer is provided with an application, and processing results in the application are transmitted to other computers via the communication network. Thus, a large amount of data must be transmitted using the network. As a result, a high-speed communication circuit is required for the centralized approach application sharing system.
The second type is referred to as a replicated approach application sharing system. In the replicated approach application sharing system, the respective computers are provided with the same applications and events input to a computer are transmitted to other computers via the communication network. As a result, processes in accordance with the events in the application are executed in the respective computers. The replicated approach application sharing system is disclosed, for example, in Japanese Patent Laid Open Application No.3-17763 (CONVERSATION BACK-UP DEVICE), No.4-186456 (COMMON INFORMATION PROCESSING SYSTEM AND WORK STATION), No.4307648 (GROUP COOPERATIVE JOB DEVICE) and No.5-233507 (MESSAGE COMMUNICATION SYSTEM FOR GROUP COOPERATIVE WORK).
Although the high-speed communication circuit is not required for the replicated approach application sharing system, the conventional replicated approach application sharing system has the following disadvantages.
Structures of directories formed in the respective computers differ from each other. Thus, when an "open file" command is requested with a path name of a file as a parameter by a user of a computer, other computer cannot identify the same file using the same path name of the file.
Therefore, the computers in the conventional replicated approach application sharing system must have the same files and the same directory structures.
However, it is very troublesome to prepare the same files and the same directory structures beforehand in the respective computers.
In addition, in the conventional replicated approach application sharing system, an event input to a computer is supplied to all other computers and a corresponding process is performed in each of the computers. Thus, when a command such as a "save command" or a "print command" is requested at a computer, the "same command" or the "print command" is executed in all the other computers. In this case, the flowing problems occurs.
A file may be saved and/or printed in a computer against user's wishes. That is, the file which is not required by the user may be saved or printed in a computer.
Further, in the conventional replicated approach application system, a "floor control" is introduced to avoid a race condition of simultaneous inputs. That is, only a user who gets the floor can input commands to a shared application. However, in a case where an application which is commercially available is shared, in order to add the floor control to the system, an original application source codes must be modified. Thus, it is required to add the floor control to the system without changing original application source codes in the application which is commercially available.
In addition, in the replicated approach application sharing system, an event input to a computer having the floor is supplied to an application in the computer and is supplied to applications in other computers via a network.
However, there is a case where operating environments (e.g., window sizes in an initial state, font sizes used in applications and operating conditions for user customizing) in each of the other computers differ from those in the computer having the floor. In this case, even if the same event is supplied to all the computers, the same operation is not performed in the computers.
Furthermore, in cases where hand written comments are drawn on a screen of a computer based on an application which is commercially available and a pointer is superposed on an image displayed on the screen based on an application which is commercially available, a copy of the screen made by the application which is commercially available is formed on a common screen made by a dedicated application for an electronic blackboard and the drawing is then performed on the common screen. However, complex operations (including a copy operation) are required.
Accordingly, a general object of the present invention is to provide a novel and useful application sharing system in which the disadvantages of the aforementioned prior art are eliminated.
A specific object of the present invention is to provide an application sharing system in which a common file is not needed to be previously prepared in computer terminals other than a computer terminal to which an event has been input.
Another object of the preset invention is to provide an application sharing system in which the structure of the directory in each computer terminal is not needed to be the same as that of the directory in a terminal to which an open command (an event) has been input.
The above objects of the present invention are achieved by an application sharing system in which a plurality of computer terminals are connected to a network, a shared application which is commercially available being installed in the plurality of computer terminals, when an event is input to a computer terminal, a process corresponding to the event being performed in accordance with the shared application in the computer terminal and in other computer terminals, each of the plurality of computer terminal comprising: event determination means for determining what an input event is; file transmission means, when the event determination means determines that the input event is an open command for a file, for transmitting the file to another computer terminal; received file managing means for receiving and managing the file which is transmitted based on an open command in another computer terminal; and event simulating means, when the file is transmitted based on an open command in another computer terminal, for simulating an event corresponding to an open command for opening the file which is managed by the received file managing means in the shared application.
According to the present invention, since a file is transmitted to the other computer terminal, the common file is not needed to be previously prepared in computer terminals other than a computer terminal to which an event has been input.
In addition, in a case where the received file managing means has file storage means for storing the received file in a directory set by a user, the structure of the directory in each computer terminal is not needed to be the same as that of the directory in a terminal to which an open command (an event) has been input.
A still another object of the present invention is provide an application sharing system in which a process to be carried out when an event is input to a computer terminal having no floor is established.
This object of the present invention is achieved by an application sharing system in which a shared application is executed in a plurality of computer terminals which are connected to a network, the shared application being commercially available, each of said plurality of computer terminals comprising: input hook means for copy an input event and for inhibiting the input event from being supplied to the shared application; input event simulating means for simulating an input event to be supplied to the shared application; floor control means for controlling presence and absence of a floor based on which an event is accepted; and communication control means for transmitting information to other computer terminal via the network, wherein an event input to a first computer terminal which is set in a state of the presence of the floor by the floor control means is supplied to the shared application and copied by the input hook means, the communication control means transmitting the copied event to a second computer terminal which is set in a state of the absence of the floor by the floor control means, and wherein when the event from the first computer terminal is received by the second computer terminal, the input event simulating means simulates the received event so that the shared application is executed based on the simulated event in the same manner as in the first computer terminal, an event input to the second computer terminal being inhibited from being supplied to the shared application by the input hook means.
According to the present invention, the event input to the second computer terminal having no floor is inhibited from being supplied to the application. Thus, even if an event is input to the second computer terminal having no floor, the application is not executed based on the event in the second computer terminal.
Another object of the present invention is to provide an application sharing system ensuring that an application which is commercially available will be executed under the same operating environments in the respective computer terminals.
This object of the present invention is achieved by the application sharing system described above in which an operating environment file defining operating environments for the shared application is transmitted from the first computer terminal which is set in a state of the presence of the floor to the second computer terminal which is set in a state of the presence of the floor, and wherein the second computer terminal which receives the operating environment file substitutes the received operating environment file for an original operating environment file.
According to the present invention, an application which is commercially available can be executed under the same operating environments in the respective computer terminals Another object of the present invention is to provide an application sharing system in which hand written comments can be easily drawn and/or a pointer can be easily superposed on a screen made by an application which is commercially available.
This object of the present invention is achieved by an application sharing system in which a shared application is executed in a plurality of computer terminals which are connected to a network, the shared application being commercially available, each of said plurality of computer terminals comprising: pointing means, independent of the shared application, for pointing a position on a screen of a display device; input hook means for copying an event occurring when a position on the screen is pointed by the pointing means and inhibiting pointed position information from the pointing means from being supplied to the shared application; mode setting means for setting an operating mode in a drawing mode or a normal mode; drawing means for drawing images on the screen based on the pointed position information from the pointing means; input simulating means for simulating events to be supplied to the shared application; and communication control means for transmitting information to other computer terminal via the network, wherein when a first computer terminal is set in the normal mode by the mode setting means, an event occurring based on a position which is pointed on the screen by the pointing means is supplied to the shared application and is copied by the input hook means, the event copied by the input hook means being transmitted to a second computer terminal by the communication control means, the input simulating means of the second computer terminal simulating the event from the first computer terminal so that the share application is executed in the second computer terminal in the same manner as in the first computer terminal, and wherein when the first computer terminal is set in the drawing mode by the mode setting means, pointed position information from the pointing means is inhibited from being supplied to the shared application and the drawing means draws images on the screen based on the pointed position information, the pointed position information being transmitted to the second computer terminal by the communication control means, the drawing means of the second computer terminal which receives the pointed position information draws images based on the screen based on the pointed position information.
According to the present invention, since each computer terminal has the mode setting means, the input hook means and the drawing means, hand written comments can be easily drawn and/or a pointer can be easily superposed on a screen made by an application which is commercially available.
Other objects, features and advantages of the present invention will become apparent from the following detailed description when read in conjunction with the accompanying of drawings, in which: Fig. 1 is a diagram illustrating a system according to an embodiment of the present invention; Fig. 2 is a block diagram illustrating a structure of each computer terminal provided in the system according to the embodiment of the present invention; Fig. 3 is a table illustrating a relationship between analysis results obtained by an input event analyzing unit and processes; Fig. 4 is a block diagram illustrating a structure of hardware of each computer terminal provided in the system according to the embodiment of the present invention; Fig. 5 is a diagram illustrating an example of a screen on a display unit; Fig. 6 is a diagram illustrating an example of the screen on the display unit;; Fig. 7 is a flow chart illustrating a process in a case where an open command is input to a computer terminal; Fig. 8 is a flow chart illustrating a process in a case where a general command is input to a computer terminal; Fig. 9 is a flow chart illustrating a process in a case where a file save command or a print command is input to a computer terminal; Fig. 10 is a block diagram illustrating an example of a functional structure of each user computer terminal in an application sharing system; Fig. 11 is a block diagram illustrating another example of a functional structure of each user computer terminal an application sharing system; Fig. 12 is a diagram illustrating an application sharing system according to an embodiment of the present invention; Fig. 13 is a block diagram illustrating an example of a structure of each user computer terminal shown in Fig. 10;; Fig. 12 is a flow chart illustrating a procedure in a case of start-up of the application sharing system; Fig. 13 is a state transition diagram illustrating states of a sharing agent in a primary terminal in the application sharing system; Fig. 14 is a state transition diagram illustrating states of a secondary terminal in the application sharing system; Fig. 15 is a diagram illustrating an example of a displayed screen, of a user computer terminal, on which a control button of a suspension/resumption function is provided; Fig. 16 is a state transition diagram illustrating states of a primary computer terminal in a suspension/resumption process; Fig. 17 is a state transition diagram illustrating states of a secondary computer terminal in the suspension/resumption process;; Fig. 18 is a diagram illustrating an initial screen in a primary computer terminal in the application sharing system; Fig. 19 is a diagram illustrating an initial screen in a secondary computer terminal in the application sharing system; Fig. 20A is a diagram illustrating a screen in a primary computer terminal which is being initialized; Fig. 20B is a diagram illustrating a screen in a secondary computer terminal which is being initialized; Fig. 21A is a diagram illustrating a displayed screen in a primary computer terminal in a state where the primary computer terminal and a secondary computer terminal are linked to each other; Fig. 21B is a diagram illustrating a displayed screen in a secondary computer terminal in a state where a primary computer terminal and the secondary computer terminal are linked to each other;; Fig. 22A is a diagram illustrating a displayed screen in a primary computer terminal after a text made by using of a shared application is transmitted from the primary computer terminal to a secondary computer terminal; Fig. 22B is a diagram illustrating a displayed screen in a secondary computer terminal after a text made by using of a shared application is transmitted from the primary computer terminal to the secondary computer terminal; Fig. 23A is a diagram illustrating a displayed screen in a primary computer terminal in a drawing process mode; Fig. 23B is a diagram illustrating a displayed screen in a secondary computer terminal in the drawing process mode; Figs. 24A and 24B are diagrams illustrating a control panel and movement of a window for an application; Figs. 25A and 25B are diagrams illustrating a size changing bar and movement of a window of an application;; Figs. 26A and 26B are diagram illustrating movement of a window for an application and control windows; Fig. 27 is a diagram illustrating a state of a control window in a case where a window for an application is maximized; and Fig. 28 is a diagram illustrating a state of a control window in a case where a window for an application is changed to an icon.
A description will be given of embodiments of the present invention.
A file sharing system according to an embodiment of the present invention is formed, for example, as shown in Fig. 1. Referring to Fig. 1, a plurality of computer terminals A, B and C are coupled to each other by a communication network N. The respective computer terminals A, B and C have input units IA, 1B and IC and telephone sets TA, TB and TC.
The respective input units IA, 1B and IC are formed of keyboards KA, KB and KC and mice MA, MB and Mc. A common application is installed in the respective computer terminals A, B and C. In this system, while users are speaking to each other on the telephone sets, drawing on a common text displayed on each display unit can be performed. In addition, a user can explain something to another user on the telephone set while pointing positions on a displayed screen using a pointer.
A functional structure of each computer terminal is formed, for example, as shown in Fig. 2.
Referring to Fig. 2, a computer terminal has an input unit 101, a display unit 102, a printer unit 110, a file storage unit 103, a communication control unit 104 and an application executing unit 105. The input unit 101 is used to input event information such as editing commands. A file to be processed (edited) is displayed in a predetermined window on the display unit 102. The printer unit 110 prints a file. Files are stored in the file storage unit 103. The communication control unit 104 communicates with another computer terminal via the communication network. The application executing unit 105 executes an application in accordance with the event information input by the input unit 101 or supplied via the communication network. The computer terminal further has a input event copy unit 106, an input event analyzing unit 107 and an input event simulating unit 108.The input event copy unit 106 copies the event information supplied from the input unit 101 to the application executing unit 105. The input event analyzing unit 107 analyzes the input event information and determines what the input event information is. The input event simulating unit 108 simulates event information supplied to another computer terminal and supplies the simulated event information to the application executing unit 105.
The input event analyzing unit 107 performs processes corresponding to analyzed results as shown in Fig. 3. That is, when it is determined that event information input the input event analyzing unit 107 is an open command, the input event analyzing unit 107 supplies to the communication control unit 104 an instruction to transmit a file. In addition, when it is determined that the input event information is a print command to print a file or a save command to save a file, the input event analyzing unit 107 terminates a process. The print command or the save command is not transmitted to another computer terminal. Further, it is determined that the input event information is another command, the input event analyzing unit 107 supplies to the communication control unit 104 an instruction to transmit the input event information to another computer terminal.
The application executing unit 105 in each of the computer terminals is provided with a common application.
A hardware structure of the computer terminal having the functional structure described above is formed as shown in Fig. 4.
Referring to Fig. 4, the computer terminal has a processor (CPU) 201, a memory 202, an output control unit 203, an image memory 220, a printer 204, a display device 205 (e.g., a CRT display device, a liquid crystal display device, an EL display device or a plasma display device), a keyboard interface 206, a keyboard 207, a mouse interface 208, a mouse 209, a file interface 210, a filing device 211 (e.g., a hard disk device or a floppy disk device), an ISDN interface 212, a dialing key set 213, a hand set 214 and a hook switch 215.The processor (CPU) 201, the output control unit 203, the keyboard interface 206, the mouse interface 208, the file interface 210 and the ISDN interface 212 are connected to each other via a system bus, so that the output control unit 203 and the devices connected to the respective interfaces 206, 208, 210 and 212 are controlled based on instructions from the processor (CPU) 201. The memory 202 is also connected to the processor (CPU) 201 via the system bus, and the processor (CPU) 201 performs processes in accordance with programs, such as application programs, stored in the memory 202. The display device 205 and the printer 204 are controlled by the output control unit 203 so that image information (contents of a file) stored in the image memory 220 is displayed on the display device 205 and is printed out by the printer 204.The ISDN interface 212 is connected to the ISDN (the communication network). Information (including event information, file information and conversation information) is transmitted from the ISDN interface 212 to an ISDN interface of another computer terminal via the ISDN.
A function of the input unit 101 shown in Fig. 2 is realized by the keyboard interface 206, the keyboard 207, the mouse interface 208 and the mouse 209 shown in Fig. 4. Functions of the display unit 102 and the printer unit 110 shown in Fig. 2 are realized by the output control unit 203, the printer 204, the display device 205 and the image memory 220.
A function of the file storage unit 103 shown in Fig.
2 is realized by the file interface 210 and the filing device 211 shown in Fig. 4. A function of the communication control unit 104 shown in Fig. 2 is realized by the ISDN interface 212, communication software stored in the memory 202 and the processor (CPU) 201 shown in Fig. 4. A function of the application executing unit 105 shown in Fig. 2 is realized by the application software stored in the memory 202 and the processor (CPU) 201 shown in Fig.
4. Functions of the input event copy unit 106, the input event analyzing unit 107 and the input event simulating unit 108 shown in Fig. 2 are realized by the software stored in the memory 202 and the processor (CPU) 201 shown in Fig. 4.
A description will now be given of operations in a case where an application of a word processor is shared by the computer terminals A and B shown in Fig. 1.
An initial screen in a word processor is displayed on the displayed device 205 of the computer terminal A, for example, as shown in Fig. 5. In this initial screen, icons corresponding to events "OPEN FILE", "SAVE", "PRINT", "INSERT" and "DELETE" are formed in a menu bar. In this state, when a user clicks the mouse 209 to select an icon of "OPEN FILE", the initial screen on the display unit 205 is changed to a screen showing a list of files stored in the filing device 211, as shown in Fig. 6. When the user clicks the mouse 209 to select a title of a desired file, the selected file is opened in the word processor (the application) and contents of the selected file is displayed on the display device 205.
When a "OPEN FILE" command for reading a file (an open command) is input to the computer terminal A as has been described above, the selected file is opened in the computer terminal A and a process is executed in accordance with a procedure shown in Fig. 7.
Referring to Fig. 7, when the user inputs a "OPEN FILE" command (the open command for a file) to the computer terminal A, the input event copy unit 106 copies the "OPEN FILE" command, a pass name identifying a position in a directory at which a file identified by the "OPEN FILE" command is stored is supplied to the input event analyzing unit 107. When the input event analyzing unit 107 determines that event information supplied thereto is the "OPEN FILE" command, the input event analyzing unit 107 supplies to the communication control unit 104 a file transmission request having the pass name and the size of the file as parameters in accordance with the relationship shown in Fig. 3. The communication control unit 104 transmits the file transmission request having the size of the file as a parameter to the communication control unit 104 of the computer terminal B via the ISDN.
In the computer terminal B, when the communication control unit 104 receives the file transmission request, the communication control unit 104 requests of the file storage unit 103 to check whether the file having the size indicated as the parameter can be stored in the file storage unit 103.
If the storage unit 103 informs the communication control unit 104 that the file can be stored therein, the communication control unit 104 of the computer terminal B transmits to the communication control unit 104 of the computer terminal A, via the ISDN, information indicating that the transmission request has been received by the computer terminal B. When the communication control unit 104 of the computer terminal A determines that the transmission request for the file has been received by the computer terminal B, text data of the file is divided into packets. The packet data is transmitted to the communication control unit 104 of the computer terminal B.
In the computer terminal B, the text data of the file received thereby is saved in a directory which has been prepared as a directory for received files in the file storage unit 103. The file storage unit 103 automatically sets a file name, such as "RECEIVED FILE DATA & TIME", which identifies the received file, and assigns the file name to the received file. After the communication control unit 104 receives the file, the communication control unit 104 supplies to the input event simulating unit 108 completion information indicating that the file having the pass name set as the parameter has been received.
The input event simulating unit 108 which receives the completion information of the reception of the file simulates an event corresponding to the "OPEN FILE" command. The application executing unit 105 opens the file stored in the file storage unit 103 in accordance with the event which is simulated by the input event simulating unit 108. Contents of the opened file are displayed on the display unit 102.
As the result of the above process, the contents of the same file is displayed on the display units of both the computer terminals A and B.
In this state, when an key operation is performed in the computer terminal A to input characters which should be inserted in the text (input of an event), the event executing unit 105 of the computer terminal A executes a process based on the input event in accordance with the application of the word processor. As a result, characters are inserted at pointed positions in the text displayed on the display unit 102. At this time, also, a process is performed in accordance with a procedure shown in Fig.
8.
Referring to Fig. 8, the input event copy unit 106 supplies to the input event analyzing unit 107 key codes input by the keyboard. The input event analyzing unit 108 supplies to the communication control unit 104 a transmission request for the key code in accordance with the relationship shown in Fig.
3. The communication control unit 104 transmits to the communication control unit 104 of the computer terminal B via the network the key codes which are supplied along with the transmission request.
In the computer terminal B, the key codes received by the communication control unit 104 are supplied to the input event simulating unit 108. The input event simulating unit 108 simulates the event so that the key codes have been just like input from the keyboard of the computer terminal B. The application executing unit 105 executes a process based on the simulated event in accordance with the application of the word processor. As a result, characters identified by the key codes are inserted at pointed positions in the text displayed on the display unit 102. That is, the file in the computer terminal B is updated using characters input to the computer terminal A in the same manner as in the terminal A.
On the other hand, when a user inputs event information to the computer terminal B, the event information is simulated in the computer terminal A in the same manner as in the above case so that the same process as in the computer terminal B is performed in the computer terminal A.
Further, when, in computer terminal A or B, a user clicks the mouse to select the icon "SAVE" or "PRINT", a process based on the event information corresponding the selected icon is performed in accordance with the application of the word processor.
As a result, the file is saved in the filing device 211, or the contents of the file is printed by the printer 204.
In this case, a process as shown in Fig. 9 is also performed. That is, in a computer terminal in which the above event information ("SAVE" or "PRINT") is input, the event copy unit 106 copies the "SAVE" command or the "PRINT" command supplied from the input unit 101. The event copy unit 105 supplies to the input event analyzing unit 107 the event information having a pass name of the file as a parameter. The input event analyzing unit 107 terminates the process in accordance with the relationship shown in Fig. 3.
As a result, the event information regarding the "SAVE" command and the "PRINT" command is not supplied to the communication control unit 104, so that the event information is supplied to another computer terminal. That is, in another computer terminal, processes for saving a file and for printing a file are not executed.
Thus, the processes regarding the "SAVE" command and the "PRINT" command are executed only in a terminal in which these command are input.
A description will now be given of another embodiment of the present invention.
In this embodiment, each computer terminal has a functional structure as shown in Fig. 10.
Referring to Fig. 10, a computer terminal has the input unit 101, the display unit 102, the communication control unit 104 and the input event simulating unit 108 in the same manner as in the above embodiment. The computer terminal has also a floor control unit 121 and an input hook unit 122. The input hook unit 122 may copy an input event or inhibit an input event from being supplied to an application.
The input event simulating unit 108 simulates an event to be supplied to the application (the application executing unit 105). The floor control unit 121 controls whether or not the computer terminal has the floor by which events are allowed to input to the computer terminal.
In a primary computer terminal which is controlled by the floor control unit 121 so as to have the floor, an event input to the input unit 101 is supplied to the application executing unit 105 and is copied by the input hook unit 122. The event copied by the input hook unit 122 is supplied to the communication control unit 104. The communication control unit 104 transmits the copied event to a secondary computer terminal which is controlled by the floor control unit 121 so as to have no floor. In the secondary computer terminal, when the event transmitted from the primary computer terminal is received by the communication control unit 104, the input event simulating unit 108 simulates the event and supplies the simulated event to the application (the application executing unit 105). The application executing unit 105 performs a process based on the simulated event in accordance with the application.
As a result, the same process is performed in both the primary computer terminal and the secondary computer terminal in accordance with the shared application.
When an event is input to the input unit 101 of the secondary computer terminal having no floor, the input hook unit 122 inhibits the input event from being supplied to the application (the application executing unit 105). Thus, even if an event is supplied to a computer terminal having no floor, a process based on the event is not performed in the computer terminal.
Each computer terminal may be provided with an input mode setting unit 123 and a drawing unit 124 as shown in Fig.11.
Referring to Fig. 11, the input unit 101 has a pointing device for pointing a position on the display unit 102. When the pointing device points a position on the display unit 101, the input unit 101 generates an event corresponding to the pointed position. The input mode setting unit 123 sets an operation mode which is an normal mode or a drawing mode. The drawing unit 124 draws a picture on the display unit 102 in accordance with pointed position information from the pointing device of the input unit 101.
When the primary computer terminal is set in the normal mode by the input mode setting unit 123, an event corresponding to a position pointed on the display unit 102 by the pointing device is supplied from the input unit 101 to the application executing unit 105 and the input hook unit 122. The application executing unit 105 executes a process based on the event in accordance with the application. The input hook unit 122 copies the event and the copied event is transmitted from the communication control unit 104 to the secondary computer terminal. In the secondary computer terminal, the input event simulating unit 108 simulates the received event and supplies it to the application (application executing unit 105). As a result, the application is executed in the secondary computer terminal in the same manner as in the primary computer terminal.
In a case where the primary computer terminal is set in the drawing mode by the drawing unit 124, the pointed position information from the pointing device which points a position on a screen formed on the display unit based on the application is inhibited from being supplied to the application by the hook unit 122. The drawing unit 124 draws a picture based on the pointed position information on the display unit 102. The pointed position information is transmitted from the communication control unit 104 to the secondary computer terminal.
In the secondary computer terminal, the pointed position information is received, the drawing unit 124 draws a picture based on the pointed position information on the display unit 102.
As a result, based on the pointed position information obtained by the primary computer terminal, the same picture is drawn on the display units in both the primary computer terminal and the secondary computer terminal.
A detailed description will now be given of operations of the system.
A startup operation in the application sharing system is performed. in accordance with a procedure as shown in Fig. 12. A calling computer terminal is defined as the primary computer terminal and a called computer terminal is defined as the secondary computer terminal. In Fig. 12, means inputs from a user, means inputs from the network, means outputs on the display unit and means outputs to the network. Hereinafter, these symbols have the same meanings in Figs. 13, 14, 16 and 17. The application sharing system is formed as shown in Fig.
1 and the hardware of each computer terminal is formed as shown in Fig. 4.
Referring to Fig. 12, in the primary computer terminal which is in an initial state (S00), when the hand set 214 is off-hooked, an initial screen as shown in Fig. 18 is automatically displayed on the display device 205. On the initial screen, a list of applications which can be shared by a plurality of users (computer terminals) and a telephone number list indicating telephone numbers for users by which an application can be shared (Sll). In this state, the mouse 209 is operated so that a pointer is positioned on the name of an application and the mouse 209 is double-clicked so that the application pointed by the pointer is selected. After this, the pointer is set on a user name in the telephone number list and the mouse 209 is double-clicked to select the user with who a user of the primary computer terminal should share the application.When the selection of the application and the user is completed, the primary computer terminal transmits to the secondary computer terminal of the selected user an audio channel connecting request. After this, the primary terminal becomes in a state of waiting for line connection (Sl2) In the secondary terminal which is in the initial state (S00), when the audio channel connecting request is received, a ringing tone signal is generated and a screen as shown in Fig. 19 is displayed on the display device 205. After this, the secondary computer terminal becomes in a state of waiting for a response from the user (S21).On the screen, the name of a calling user, the name of an application to be shared and dialog boxes "ANSWER" and "REJECT". In this state, when the user of the secondary computer terminal selects the dialog box "ANSWER" using the mouse 209 or when the user raises the hook switch 215 of the hand set 214, the secondary computer terminal transmits a reception signal of the audio channel connecting request to the primary computer terminal. As a result, the system becomes in a state where conversation can be carried out using the hand sets 214 between the primary computer terminal and the secondary computer terminal.
After the primary computer terminal and the secondary computer terminal are connected by the audio channel as has been described above, the primary computer terminal outputs a connecting request of the data line. The primary computer terminal then becomes in a state of waiting for a call for data (S13). The secondary computer terminal has become in a state of waiting for a call for data after the secondary computer terminal has been connected to the primary computer terminal by the audio channel (S22). In this state, when the secondary computer terminal receives the call for data from the primary computer terminal, the secondary computer terminal returns a response to the primary computer terminal.
After the primary computer terminal receives the response from the secondary, the primary computer terminal and the secondary computer terminal are connected by the data line. The primary computer terminal then transmits a name of an application to be shared to the secondary computer terminal. After this, the primary computer terminal becomes in a state of waiting to confirm whether the secondary computer terminal has the application to be shared (S14). The secondary computer terminal has become in a state of waiting to receive the name of the application after returning the response (S23). In this state, when the secondary computer terminal receives the name of the application from the primary computer terminal, the secondary computer terminal determines whether the application requested by the primary computer terminal is provided therein. In a case where the secondary computer terminal has the application requested by the primary computer terminal, an operating environment file of the application is stored as a temporary file in the secondary computer terminal. A message indicating that the application to be shared is provided in the secondary computer terminal is transmitted from the secondary computer terminal to the primary computer terminal. At this time, the secondary computer terminal becomes in a state of waiting to receive the operating environment file (S24).
The primary computer terminal which receives the message transmits the operating environment file of the application to be shared to the secondary computer terminal. In the operating environment file, for example, types of fonts used in the primary computer terminal, font sizes, customized menu and the like are defined. After transmitting the operating environment file, the primary computer terminal becomes in a state of waiting for confirmation that the secondary computer terminal receives the operating environment file (S15).
When the secondary computer terminal receives the operating environment file from the primary computer terminal, the operating environment file which has been stored as the temporary file is saved at a predetermined storing position so as to be changed to the operating environment file transmitted from the primary computer terminal. The secondary computer terminal then transmits to the primary computer terminal information indicating that the operating environment file from the primary computer terminal has received. After this, the application to be shared and a sharing agent are activated in the secondary computer terminal.The sharing agent activated in the secondary computer terminal has a floor control function for controlling the presence or absence of the floor of the application, a setting function for setting the operating mode (the drawing mode or the normal mode), an input hook function for inhibiting an event from being supplied to the application and for copying an event and an input event simulating function for simulating an input event.
Further, when the primary computer terminal receives the information indicating that the secondary computer terminal has received the operating environment file, the application to be shared and the sharing agent are activated in the primary computer terminal. In this state, the application to be shared can be executed in the same operating environments in both the primary computer terminal and the secondary computer terminal (a sharing state Sc). When the user of the primary computer terminal performs an on-hook operation of the hand set 214, the audio channel between the primary computer terminal and the secondary computer terminal is disconnected.The sharing agent in the primary computer terminal has the floor control function for controlling the presence and absence of the floor, the setting function for setting the operating mode (the drawing mode and the normal mode), a function for inputting a scrolling request, a function for inputting a size of a window and a function for inputting a position of a window.
The sharing agent in the primary computer terminal initially sets the floor in the "presence" state and sets the operating mode in the "normal mode". The sharing agent in the secondary computer terminal initially sets the floor in the "absence" state and sets the operating mode in the "drawing mode". In the initial state, an event input to the secondary computer terminal is inhibited from being supplied to the application by the input hook function. Input buttons on the control panel displayed on the display device 205 are in an inactive state.
For example, in a case where a word processor application is shared by the primary computer terminal and the secondary computer terminal, the display screens in the respective computer terminals are formed as shown in Figs. 20A and 20B.
Fig. 20A shows the display screen of the primary computer terminal, and Fig. 20B shows the display screen of the secondary computer terminal. In Figs.
20A and 20B, areas surrounded by thick lines are windows for the word processor application. The control panel is located at an upper side of each of the windows. A scroll bar and a size changing bar are respectively is located at a lower side and a right side of each of the windows for the word processor application. The control panel, the scroll bar and the size changing bar are controlled by the sharing agent in each of the computer terminal so as to be displayed in a state where they are in contact with the window.
The control panel indicates the state of the application and buttons for switching the presence and absence of the floor and the operating mode. Until the applications in both the primary computer terminal and the secondary computer terminal mutually detects that the other applications are in the active state, "INITIALIZING" is displayed as the state of the application on the control panel as shown in Figs. 20A and 20B.
The control panel has an "APPLICATION" button, a "DRAWING" button, a "DELETE" button, a "DRAWING TOOL" button and a "GET FLOOR" button. The control panel may be provided with one or more other buttons. The "APPLICATION" button is used to set the normal mode as the operating mode. When the "APPLICATION" button is selected by the click of the mouse 209, the normal mode is set as the operating mode. The "DRAWING" button is used to set the drawing mode as the operating mode. When the "DRAWING" button is selected by the click of the mouse 209, the drawing mode is set as the operating mode. The "DELETE" button is activated in the drawing mode. The "DELETE" button is used to delete images drawn in the window for the application. The "DRAWING TOOL" button used to set the thickness of lines and colors of lines.
The scroll bar located in the right side of the window for the application is provided with an up scroll button and a down scroll button. The up scroll button is used to scroll the screen upward and the down scroll button is used to scroll the screen downward. The scroll bar located in the lower side of the window is provided with a left scroll button and a right scroll button. The left scroll button is used to scroll the screen leftward and the right scroll button is used to scroll the screen rightward.
The control panel, the scroll bars and the size changing bar are adjacent to the window under the control of the sharing agent. In the primary computer terminal having the floor, it is possible to scroll the screen and to changing the size of the window by operating the buttons in the windows. Thus, it may be not necessary to provide the scroll bars and the size changing bar around the window.
The state of the sharing agent in the primary computer terminal is changed in accordance with the state transition diagram shown in Fig. 13.
The state of the sharing agent in the secondary computer terminal is changed in accordance with the state transition diagram shown in Fig. 14.
In the primary computer terminal, when the sharing agent which is in the initial state (S10) confirms that the application has been activated, the sharing agent transmits to the sharing agent in the secondary computer terminal a confirmation message that the application has been activated.
In the secondary computer terminal, when the sharing agent which is in the initial state (S20) confirms that the application has been activated, the sharing agent becomes in a state of waiting for the confirmation message (S201). In this state, when the sharing agent in the secondary computer terminal receives the confirmation message from the primary computer terminal, the sharing agent confirms that the application has been activated in the primary computer terminal. "FLOOR ABSENCE" is displayed on the control panel and the control buttons on the control panel are made active. A confirmation response message is transmitted to the sharing agent in the primary computer terminal.
In the primary computer terminal, the sharing agent becomes in a state of waiting for the confirmation that the application has been activated in the secondary computer terminal after transmitting the confirmation message (S101). In this state, when the sharing agent receives the confirmation response message from the secondary computer terminal, "FLOOR PRESENCE" is displayed on the control panel and the state where events is inhibited from being supplied to the application is canceled. Further, the control buttons on the control panel are made active. As a result, the screens of the primary computer terminal and the secondary computer terminal are respectively updated as shown in Figs. 21A and 21B.
In the primary computer terminal, when a file menu of the application is selected and a text to be displayed is further selected, the text is transmitted from the primary computer terminal to the secondary computer terminal. As a result, the text is opened under the applications in both the primary computer terminal and the secondary computer terminal, so that the screens of the primary computer terminal and the secondary computer terminal are respectively changed as shown in Figs. 22A and 22B.
In the state as described above, the sharing agent in the primary computer terminal is in the normal mode shown in Fig. 13, and the sharing agent in the secondary computer terminal is in the drawing mode shown in Fig. 14.
In this state, inputs (events) from the mouse 209 and the keyboard 207 are supplied to the application in the primary computer terminal so that processes are performed in accordance with the inputs.
That is, the text opened under the application in the primary computer terminal is edited in accordance with the inputs from the mouse 209 and the keyboard 207.
In addition, the inputs from the mouse 209 and the board 207 are copied by the input event copy function of the sharing agent. The copied inputs (events) are transmitted from the primary computer terminal to the secondary computer terminal via the network.
In the secondary computer terminal, due to the input hook function of the sharing agent, a mouse pointer is indicated, based on the received input information regarding the mouse 209, at a position on the window corresponding to a position at which a mouse cursor is indicated in the primary computer terminal. Further, due to the input simulating function of the sharing agent, inputs to the application are simulated based on the received input information from the keyboard 207 in the primary computer terminal, so that the text is edited under the application in the secondary computer terminal in the same manner as in the primary computer terminal.
In the secondary computer terminal which is in the state of "FLOOR ABSENCE", an input operation of the keyboard 207 is performed, the input hook function of the sharing agent inhibits the keyboard input information from being supplied to the application.
The input hook function may be realized, for example, by an input device driver or an API of the window system.
In the secondary computer terminal in which the drawing mode is set, when an input operation of the mouse 209 is performed, the input hook function of the sharing agent inhibits the mouse input information from being supplied to the application. The sharing agent preforms the drawing process, based on the mouse input information which is inhibited from being supplied to the application, in the window for the application. A drawing instruction is then transmitted from the secondary computer terminal to the primary computer terminal via the network. As a result, the same drawing process as in the secondary computer terminal is performed in the primary computer terminal.
In the primary computer terminal, when the "DRAWING" button is operated by the click of the mouse 209, the operating mode of the sharing agent is switched from the normal mode to the drawing mode (see Fig. 13). In this state, when the input operation of the mouse 209 is performed in the primary computer terminal, the input hook function of the sharing agent inhibits the mouse input information from being supplied to the application. Based on the mouse input information, the same drawing process is executed on the windows in both the primary computer terminal and the secondary computer terminal in the same manner in the case described above.
Figs. 23A and 23B respectively show display screens in the primary computer terminal and the secondary computer terminal in a case where the input operation of the mouse 209 is performed in the secondary computer terminal. The windows for the application (the word processor) are formed at positions on the screens in the primary computer terminal and the secondary computer terminal. In the secondary computer terminal, when the mouse cursor is moved on the screen while the mouse button is being held down (the drag), a line drawing is formed on the screen so as to trance the movement of the mouse cursor. In the primary computer terminal, a mouse pointer corresponding to the mouse cursor in the secondary computer terminal moves on the screen in the same manner as the mouse cursor.As a result, a line drawing is formed on the screen in the window for the application so as to trace the movement of the mouse pointer.
In the secondary computer terminal, when the "GET FLOOR" button is selected by the click of the mouse 209, the floor request message is transmitted from the sharing agent in the secondary computer terminal to the sharing agent in the primary computer terminal. The sharing agent in the secondary computer terminal becomes in a state of waiting for a response to the floor request message (S202 in Fig. 14).
When the floor request message is received in the primary computer terminal, the "GET FLOOR" button is activated. "FLOOR PRESENCE" displayed on the control panel is then changed to "FLOOR ABSENCE".
The inputs are inhibited from being supplied to the application, and the response message to the floor request message is transmitted from the primary computer terminal to the secondary computer terminal.
When the sharing agent in the secondary computer terminal receives the response message from the primary computer terminal, the "GET FLOOR" button is inactivated. "FLOOR ABSENCE" displayed on the control panel is then changed to "FLOOR PRESENCE".
The state where the inputs are inhibited from being supplied to the application is canceled.
The sharing agent in the terminal which obtains the floor is automatically set in the normal mode, and the sharing agent in the terminal which releases the floor is automatically set in the drawing mode.
In the above embodiment, when the "GET FLOOR" button is selected by the click of the mouse 209, the presence and the absence of the floor is switched in the system. On the other hand, the operating request message may be utomatically transmitted from the secondary computer terminal when the input hook function of the sharing agent in the secondary computer terminal inhibits an event from being supplied to the application.
In a case where a user of a computer terminal having no floor desires to scroll a display screen in the other computer terminal, the scroll bar adjacent to the window for the application in the computer terminal is operated. In this case, when the scroll bar is operated, a scroll instruction occurs.
For example, when the scroll button of the scroll bar adjacent to the window for the application (the word processor) in the secondary computer terminal is operated by click of the mouse, a scroll request message is transmitted to the sharing agent of the primary computer terminal. When the sharing agent of the primary computer terminal receives the scroll request message, the event simulating function is activated. As a result, a scroll instruction is simulated by the event simulating function. Based on the simulated scroll instruction (a scroll instruction event), the screen in the window for the application in the primary computer terminal is scrolled.
The input hook function of the sharing agent in the primary computer terminal detects the simulated scroll instruction (the scroll instruction event), and transmits the scroll instruction event to the secondary computer terminal. When the secondary computer terminal receives the scroll instruction event from the primary computer terminal, the scroll instruction event is supplied to the application. As a result, the screen in the window for the application in the secondary computer terminal is scrolled in the same manner as in the primary computer terminal.
In a general window system, the mouse is dragged while pointing a frame of a window to change a position of the window, and the mouse is clicked while pointing a size changing button on the frame of a window to changing the size of the window.
In a case where such system is used for computer terminals, when the size of a window for the application in the primary computer terminal is changed, a window information supply unit supplies to the sharing agent information indicating that the size of the window has been changed. The window information supply unit may be realized using the API of the window system. The size of the window may be checked in predetermined intervals using a timer.
When the sharing agent is informed that the size of the window has been changed, a changing message that the size of the window has been changed is transmitted from the sharing agent in the primary computer terminal to the sharing agent in the secondary computer terminal. When the sharing agent in the secondary computer terminal receives the changing message, a window state setting unit of the sharing agent in the secondary computer terminal changes the size of a window for the application in the secondary computer terminal in accordance with the changing message. The window state setting unit may be realized by the API of the window system.
On the other hand, since events are inhibited from being supplied to the application in the secondary computer terminal, the size and the position of the window for the application in the secondary computer terminal cannot be directly changed by input of events. Thus, the size and the position of the window is indirectly controlled by using the control panel, the scroll bar and the size changing bar located around the window.
On the screen of the display device 205 in the secondary computer terminal, when the control panel is moved by drag of the mouse 209, for example, as shown in Fig. 24A, the window for the application and the scroll bar and the size changing bar are moved as shown in Fig. 24B. After moving the control panel, the scroll bar, the size changing bar and the window, a state where the control panel, the scroll bar and the size changing bar are located around the window is maintained.
A process for moving the window as described above is performed in accordance with the following procedure.
When the control panel is moved by the drag of the mouse, a window operation informing unit informs the sharing agent that the control panel has been moved. The window setting unit of the sharing agent then moves the window so that coordinates of a left upper corner point of the window is equal to coordinates of a left lower corner point of the moved control panel. After this, the scroll bar and the size changing bar are respectively moved to the right side and the lower side of the moved window. The window operation informing unit and the window setting unit may be realized by the API of the window system.
On the screen of the display device 205 in the secondary computer terminal, when the size bar adjacent to the window for the application is operated by the drag of the mouse as shown in Fig. 25A, the size of the window and the sizes of the scroll bar and the control panel are changed as shown in Fig. 25B.
A process for changing the size of the window as described above is performed in accordance with the following procedure.
When the size changing bar is moved by the drag of the mouse, the window state informing unit supplies a position of the moved size changing bar to the sharing agent. The sharing agent changes the size of the window so that the right lower corner of the window is located at a position of the left upper corner of the size changing bar. Further, the sharing agent changes the sizes of the control panel and scroll bar so that the control panel and the scroll bar are adjacent to the window for the application which size has been changed.
In cases where the size changing bar is moved leftward from the left side of the window for the application and upward from the upper size of the window, the sharing agent does not change the size of the window for the application. In this case, the size changing bar is retuned to an original position.
Windows (of the control panel, the scroll bar and the size changing bar) adjacent to the window for the application are used to change the position and the size of the window for the application in a state where events are inhibited from being supplied to the application. On the other hand, on the screen of the display device 205 in the primary computer terminal, when the size of the window for the application is moved as shown in Fig. 26A, the control panel, the scroll bar and the size changing bar are moved so as to be adjacent to the moved window as shown in Fig. 26B.
In addition, a general window system is provided with a maximizing button used to maximize the size of a window. When the maximizing button is operated by the click of the mouse, the window is expanded to an entire screen of the display device.
In this case, the screen has no space for the control panel, the scroll bar and the size changing bar which are to be located around the window. To avoid this state, when the sharing agent detects an event to maximize the size of the window, the sharing agent instructs the window setting unit that the window is expanded to a size slightly smaller than the maximum size. As result, when the maximizing button is operated, the window is expanded to a size slightly smaller than the maximum size so that the control panel, the scroll bar and the size changing bar are displayed with the window on the screen of the display device, as shown in Fig. 27.
Further, a general window system is provided with a button used to change a window to an icon.
When this button is operated by the click of the mouse, a window is changed to an icon on the screen.
In this case, the control panel, the scroll bar and the size changing bar which were located around the window remain on the screen as shown in Fig. 28. To avoid this state, when sharing agent detects an event to change a window for the application to an icon, the control panel, the scroll bar and the size changing bar are changed to a predetermined icon. The control panel, the scroll bar and the size changing bar may be deleted from the screen.
In addition, when a button is operated by the click of the mouse to change the icon back to the window, the sharing agent detects an event corresponding to the operation of the button. The sharing agent then changes the other icons back to the control panel, the scroll bar and the size changing bar such that the control panel, the scroll bar and the size changing bar are adjacent to the window for the application.
Further, the icons may be changed back to the control panel, the scroll bar and the size changing bar before the icon is changed back to the window for the application. In this case, when the icons are changed back to the control panel, the scroll bar and the size changing bar, the icon is automatically changed back to the window for the application so that the window, the control panel, the scroll bar and the size changing bar are integrated with each other.
When a close button of the window is operated, the window is deleted from the screen of the display device. In this case, the sharing agent detects an event corresponding to the operation of the close button, and the control panel, the scroll bar and the size changing bar are deleted from the screen by control of the sharing agent. The linkage between the sharing agents in both the primary computer terminal and the secondary computer terminal is then disconnected.
As has been described above, the windows (of the control panel, the scroll bar and the size changing bar) which are displayed by the control of the sharing agent and the window for the application are controlled so as to be always integrated with each other. Thus, in a case where a plurality of applications are shared by a plurality of user computer terminals, users can easily determine, on the screens, which windows displayed by the control of the sharing agents correspond to the respective windows for the applications.
In a case of a commercially available application which is shared by user computer terminals, even if the same operation environments are set in both the primary computer terminal and the secondary computer terminal and an event input to the primary computer terminal is simulated in the secondary computer terminal, there is a case where the same result is not obtained in both the primary computer terminal and the secondary computer terminal.
In this case, it is necessary to inhibit an event from being the supplied to the shared application.
However, although a window for the application can be scrolled and the drawing on the window can be performed, a process (e.g., a text editing process) corresponding to the event which is inhibited from being supplied to the shared application is not carried out. Thus, a suspension/resumption button is provided in the control panel as shown in Fig. 15.
The state transition of the primary computer terminal in a process corresponding to the suspension\resumption button is shown in Fig. 16. The state transition of the secondary computer terminal in the process corresponding to the suspension/resumption button is shown in Fig. 17.
In the primary computer terminal, the suspension/resumption button is usually indicated as "SUSPEND" so as to function as a suspension button.
When the suspension button is operated by the click of the mouse, an event corresponding to an suspension process occurs and a state where an event is inhibited from being supplied to the application is released.
At this time, the indication of the suspension/resumption button is changed from the "SUSPEND" to "RESUME" (a RESUME button), so that the primary computer terminal is in a state where when the suspension/resumption button is operated by the click of the mouse, an event corresponding to a restart process occurs. A suspension request message is then transmitted from the primary computer terminal to the secondary computer terminal.
On the screen of the display device in the secondary computer terminal, a message indicating that a state where the application which is commercially available is shared is suspended in the other computer terminal (the primary computer terminal) is displayed.
The floor button is in an inactive state. During this state, events input to the primary computer terminal are not transmitted to the secondary computer terminal. In this state, the primary computer terminal carries out a process (e.g., a text editing process) corresponding to an event supplied to the application.
In the primary computer terminal, when the restart button is operated by the click of the mouse, the sharing agent simulates a file save command and supplies the simulated file save command to the application. As a result, in accordance with the application, a file which has been made in a suspension sate is saved. When the file is completely saved in the primary computer terminal, the file is transmitted from the primary computer terminal to the secondary computer terminal.
The sharing agent in the secondary computer terminal simulates an event for request to open the received file, and the floor button on the control panel is activated. A resume completion message is then transmitted from the secondary computer terminal to the primary computer terminal.
When the primary computer terminal receives the resume completion message, the state where events are inhibited from being supplied to the application is released, and the indication of the suspension/resumption button on the control panel is changed from the "RESUME" to "SUSPEND".
As has been described above, a state where an application which is commercially available is shared by the primary computer terminal and the secondary computer terminal is released, and a file which is made in the primary computer terminal in accordance with an event supplied thereto is transmitted to the secondary computer terminal. Thus, even if an event by which the primary computer terminal and the secondary computer terminal are not operated under the same operating environments is supplied to the primary computer terminal, results of processes in accordance with the events in the primary computer terminals and the secondary computer terminals can be equal to each other. After the file is transmitted from the primary computer terminal to the secondary computer terminal, due to the resume process, a state where the application which is commercially available is shared by the primary computer terminal and the secondary computer terminal can be restarted.
Although the suspension/resumption process cannot be requested in the secondary computer terminal having no floor in the above embodiment, a system in which that can be requested in the secondary computer terminal can be formed.
In addition, the function for drawing lines on the window for the application can be provided in a computer terminal, not connected to the network, in which processes are executed in accordance with a general-purpose application.
The present invention is not limited to the aforementioned embodiments, and variations and modifications may be made without departing from the scope of the claimed invention.

Claims (27)

WHAT IS CLAIMED IS:
1. An application sharing system in which a plurality of computer terminals are connected to a network, a shared application which is commercially available being installed in said plurality of computer terminals, when an event is input to a computer terminal, a process corresponding to the event being performed in accordance with the shared application in the computer terminal and in other computer terminals, each of said plurality of computer terminal comprising: event determination means for determining what an input event is; file transmission means, when said event determination means determines that the input event is an open command for a file, for transmitting the file to another computer terminal; received file managing means for receiving and managing the file which is transmitted based on an open command in another computer terminal; and event simulating means, when the file is transmitted based on an open command in another computer terminal, for simulating an event corresponding to an open command for opening the file which is managed by the received file managing means in the shared application.
2. The application sharing system as claimed in claim 1, wherein said received file managing means has file storage means for storing the received file in a directory set by a user.
3. The application sharing system as claimed in claim 1, wherein each of said plurality of computer terminals further comprises: means, when said event determination means determines that the input event is a save command for the file, for inhibiting the save command from being supplied to another computer terminal.
4. The application sharing system as claimed in claim 1, wherein each of said plurality of computer terminals further comprises: means, when said event determination means determines that the input event is a print command for the file, for inhibiting the print command from being supplied to another computer terminal.
5. An application sharing system in which a plurality of computer terminals are connected to a network, a shared application which is commercially available being installed in said plurality of computer terminals, when an event is input to a computer terminal, a process corresponding to the event being performed in accordance with the shared application in the computer terminal and in other computer terminals, each of said plurality of computer terminals comprising: event determination means for determining what an input event is; and means, when said event determination means determines that the input event is a save command for a file, for inhibiting the save command from being supplied to another computer terminal.
6. The application sharing system as claimed in claim 5, wherein each of said plurality of computer terminals further comprises: means, when said event determination means determines that the input event is a print command for the file, for inhibiting the print command from being supplied to another computer terminal.
7. An application sharing system in which a plurality of computer terminals are connected to a network, a shared application which is commercially available being installed in said plurality of computer terminals, when an event is input to a computer terminal, a process corresponding to the event being performed in accordance with the shared application in the computer terminal and in other computer terminals, each of said plurality of computer terminal comprising: event determination means for determining what an input event is; and means, when said event determination means determines that the input event is a print command for a file, for inhibiting the print command from being supplied to another computer terminal.
8. An application sharing system in which a shared application is executed in a plurality of computer terminals which are connected to a network, the shared application being commercially available, each of said plurality of computer terminals comprising: input hook means for copy an input event and for inhibiting the input event from being supplied to the shared application; input event simulating means for simulating an input event to be supplied to the shared application; floor control means for controlling presence and absence of a floor based on which an event is accepted; and communication control means for transmitting information to other computer terminal via the network, wherein an event input to a first computer terminal which is set in a state of the presence of the floor by said floor control means is supplied to the shared application and copied by said input hook means, said communication control means transmitting the copied event to a second computer terminal which is set in a state of the absence of the floor by said floor control means, and wherein when the event from said first computer terminal is received by said second computer terminal, said input event simulating means simulates the received event so that the shared application is executed based on the simulated event in the same manner as in said first computer terminal, an event input to said second computer terminal being inhibited from being supplied to the shared application by said input hook means.
9. The application sharing system as claimed in claim 8, wherein a floor request message which is output, based on an input operation of a user, from said floor control means of said second computer terminal is transmitted to said first computer terminal by said communication control means, wherein said floor control means of said first computer terminal which receives the floor request message sets said first computer terminal in a state of the absence of the floor and outputs an acceptance message of the floor request, the acceptance message being transmitted to said second computer terminal by said communication control means, and wherein said floor control means of said second computer terminal which receives the acceptance message sets said second computer terminal in a state of the presence of the floor.
10. The application sharing system as claimed in claim 8, wherein when said input hook means of said second computer terminal detects an event which should be inhibited from being supplied to the shared application, a floor request message is transmitted to said first computer terminal by said communication control means, wherein said floor control means of said first computer terminal which receives the floor request message sets said first computer terminal in a state of the absence of the floor and an acceptance message of the floor request, the acceptance message being transmitted to said second computer terminal by said communication control means, and wherein said floor control means of said second computer terminal which receives the acceptance message sets said second computer terminal in a state of the presence of the floor.
11. The application sharing system as claimed in claim 8, wherein at least said second computer terminal which is set in a state of the absence of the floor has scroll input means for inputting a scroll request for scrolling a screen for the shared application, wherein when the scroll request is input by said scroll input means, the scroll request is transmitted by said communication control means from said second computer terminal to said first computer terminal which is set in a state of the presence of the floor, wherein when said first computer terminal receives the scroll request, the scroll request is supplied to said shared application so that a scroll process in the shared application is performed, a scroll request being transmitted by said communication control means from said first computer terminal to said second computer terminal, and wherein when said second computer terminal receives the scroll request, a scroll process in the shared application is performed based on the scroll request.
12. The application sharing system as claimed in claim 8, wherein an operating environment file defining operating environments for the shared application is transmitted from said first computer terminal which is set in a state of the presence of the floor to said second computer terminal which is set in a state of the presence of the floor, and wherein the second computer terminal which receives the operating environment file substitutes the received operating environment file for an original operating environment file.
13. The application sharing system as claimed in claim 1, wherein each of said plurality of computer terminals further comprises: window size changing means, independent of the shared application, for changing a size of a window for the shared application; and window size changing detecting means, independent of the shared application, for detecting that the size of the window is changed, and wherein said size changing detecting means detects that the size of the window is changed in one of said plurality of computer terminals, a changed size of the window is transmitted to the other computer terminal by said communication control means, and wherein when the other computer terminal receives the changed size of the window, said window size changing means changes a size of the window for the application so that the size is equal to the changed size of the window in the one of said plurality of computer terminals.
14. An application sharing system in which a shared application is executed in a plurality of computer terminals which are connected to a network, the shared application being commercially available, each of said plurality of computer terminals comprising: pointing means, independent of the shared application, for pointing a position on a screen of a display device; input hook means for copying an event occurring when a position on the screen is pointed by said pointing means and inhibiting pointed position information from said pointing means from being supplied to the shared application; mode setting means for setting an operating mode in a drawing mode or a normal mode; drawing means for drawing pictures on the screen based on the pointed position information from said pointing means; input simulating means for simulating events to be supplied to the shared application; and communication control means for transmitting information to other computer terminal via the network, wherein when a first computer terminal is set in the normal mode by said mode setting means, an event occurring based on a position which is pointed on the screen by said pointing means is supplied to the shared application and is copied by said input hook means, the event copied by said input hook means being transmitted to a second computer terminal by said communication control means, said input simulating means of said second computer terminal simulating the event from said first computer terminal so that the share application is executed in said second computer terminal in the same manner as in said first computer terminal, and wherein when said first computer terminal is set in the drawing mode by said mode setting means,
pointed position information from said pointing means is inhibited from being supplied to the shared application and said drawing means draws pictures on the screen based on the pointed position information, the pointed position information being transmitted to said second computer terminal by said communication control means, said drawing means of said second computer terminal which receives the pointed position information draws pictures on the screen based on the pointed position information.
15. The application sharing system as claimed in one of claims 8 through 14, wherein each of said computer terminals further comprises: window size input means for specifying a size of the window for the shared application; window position input means for specifying a position of the window for the shared application; and window state setting means, independent of the shared application, for setting a size and position of the window, and wherein said window state setting means changes the size and/or the position of the window based on the size and/or the position specified by said window size input means and/or said window position input means.
16. The application sharing system as claimed in one of claims 8 through 14, wherein each of said computer terminals further comprises: window state detecting means for detecting a size and a position of the window formed on the screen; window state setting means, independent of the shared application, for setting a size and a position of the window formed on the screen; and control window forming means, independent of the shared application, for forming a control window for generating control events on the screen, wherein when a position and/or a size of one of the window for the shared application and the control window is changed, said window state setting means sets sizes and positions of the window for the application and the control window based on sizes and positions of these windows detected by said window state detecting means so that these windows are adjacent to each other.
17. The application sharing system as claimed in claim 16, wherein the control window includes at least one of a window used to accept a setting request of the operating mode, a window used to accept a request of the floor1 a window used to scroll the window for the shared application, a window used to specify a size of the window and a window used to specify a position of the window.
18. The application sharing system as claimed in claim 16, wherein each of said computer terminals further comprises: first window operation detecting means, independent of the shared application, for detecting that an operation for expanding the window for the share application to a full size on the screen is performed, wherein when said first window operation detecting means detects that the operation is performed, said window state setting means sets sizes of the respective windows so that the screen is entirely filled with the window for the shared application and control window adjacent to the window.
19. The application sharing system as claimed in claim 16, wherein each of said computer terminals further comprises: second window operation detecting means, independent of the shared application, for detecting that an operation for changing the window for the shared application to an icon is performed; and first widow changing means, independent of the shared application, for changing the control window to an icon or deleting the control window, wherein when said second window operation detecting means detects that the operation is performed, said window changing means changes the control window to the icon or deletes the control window.
20. The application sharing system as claimed in claim 19, wherein each of said computer terminals further comprises: third widow operation detecting means, independent of the shared application, for detecting that an operation for changing the icon back to the window for the shared application is performed; and second window changing means, independent of the shared application, for changing the icon back to the control window or for reproducing the control window from the deleted control window, wherein when said third window operation detecting means detects that the operation is performed, said second window changing means changes the icon back to control window or reproduces the control window on the screen.
21. The application sharing system as claimed in claim 20, wherein when the control window is formed on the screen by said second window changing means before said third window operation detecting means detects that the operation is performed, said window state setting means sets a size and position to form the window for the application on the screen.
22. The application sharing system as claimed in claim 16, wherein each of said computer terminal further comprises: application termination detecting means for detecting that a terminating operation of the share application is performed, wherein when said application termination detecting means of said first computer terminal detects that terminating operation is performed, the control window is deleted by said wind state setting means and a share terminating message is transmitted from a first computer terminal to a second computer terminal by said communication control means, and wherein in said second computer terminal which receive the share terminating message, the control window is deleted by said window state setting means and the share of the application is terminated.
23. The application sharing system having all the limitations set forth in claims 8 and 14, wherein each of said plurality of computer terminals is set in the normal mode when having the floor, and wherein each of said plurality of computer terminals is set in the drawing mode when releasing the floor.
24. The application sharing system as claimed in one of claims 8 and 14, each of said plurality of computer terminals further comprises: sharing suspension/resumption means for suspending and resuming a sharing state of the application in the computer terminal, whereby when an instruction of suspension is supplied to a computer terminal, the sharing state of the application is suspended so that said computer terminals is in a state where any events are acceptable, and when an instruction of resumption is supplied to a computer terminal a command for saving a current file in the application is issued and the current file is transmitted to other terminal by said communication control means, a file open command being executed by said input simulating means in the other computer terminal so that the sharing state of the application resumed.
25. A system for executing an application which is commercially available, said system comprising: pointing means, independent of the application, for pointing positions on a screen of a display unit; input hook means for copying an event occurring when a position on the screen is pointed by said pointing means and inhibiting pointed position information from said pointing means from being supplied to the application which is commercially available; mode setting means for setting an operating mode in a drawing mode or a normal mode; and drawing means, independent of the application, for drawing images on the screen based on the pointed position information from said pointing means, wherein when the normal mode is set as the operation mode, an event based on a position pointed by said pointing means is supplied to the application so that the application is executed based on the event, and wherein when the drawing mode is set as the operation mode, the pointed position information from said pointing means is inhibited from being supplied to the application by said input hook means and said drawing means draws images on the screen based on the pointed position information.
26. A system for executing an application which is commercially available, said system substantially as hereinbefore described with reference to and illustrating in accompanying drawings.
27. An application sharing system substantially as hereinbefore described with reference to the accompanying drawings.
GB9517671A 1994-09-02 1995-08-30 Conferencing system Withdrawn GB2293471A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP6210181A JPH0877115A (en) 1994-09-02 1994-09-02 Application sharing system
JP7014070A JPH08212162A (en) 1995-01-31 1995-01-31 General-purpose application share system

Publications (2)

Publication Number Publication Date
GB9517671D0 GB9517671D0 (en) 1995-11-01
GB2293471A true GB2293471A (en) 1996-03-27

Family

ID=26349963

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9517671A Withdrawn GB2293471A (en) 1994-09-02 1995-08-30 Conferencing system

Country Status (1)

Country Link
GB (1) GB2293471A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004019204A2 (en) * 2002-08-23 2004-03-04 International Business Machines Corporation Processing application data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2173613A (en) * 1985-04-10 1986-10-15 Stc Plc Computer interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2173613A (en) * 1985-04-10 1986-10-15 Stc Plc Computer interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004019204A2 (en) * 2002-08-23 2004-03-04 International Business Machines Corporation Processing application data
WO2004019204A3 (en) * 2002-08-23 2005-03-31 Ibm Processing application data

Also Published As

Publication number Publication date
GB9517671D0 (en) 1995-11-01

Similar Documents

Publication Publication Date Title
US5687315A (en) Support system for constructing an integrated network
US5726669A (en) Multi-window communication system
US5790120A (en) Individually configurable panel user interface with selective launching, sticky windows, hot keys, start up options and configurable background
US7545525B2 (en) Input-output apparatus selecting method for network system
US6489951B1 (en) Method and system for providing touch-sensitive screens for the visually impaired
US5960168A (en) Deferred printing
US5003499A (en) Document preparation apparatus having rearrangement apparatus for rearranging text according to region attribate information
EP0409588A2 (en) Interactive computer system
GB2323259A (en) Method of indicating a function on a display terminal or unit
US7162685B2 (en) Key-input correcting device
JPH11203046A (en) Display control method for touch screen keyboard
JP2018185863A (en) Information processing device and program
JPH08212162A (en) General-purpose application share system
GB2293471A (en) Conferencing system
EP0378697B1 (en) Multi-window communication system
US6072487A (en) Scroll synchronizing system method and computer memory product
JP2823021B2 (en) Multi-window communication terminal, multi-window drawing image communication terminal, variable frame window communication terminal, and screen scroll control method
JPH0962630A (en) General application program sharing system
JPH10134002A (en) Cooperative work supporting system, computer, display information preparing person communicating method and storage medium
JPH09258948A (en) Comment attachment/preservation system and cooperation work support system using the same
US6374284B1 (en) Information processing method and apparatus and a storage medium
JPH07160631A (en) Joint editing system for data
JPH08125658A (en) Electronic interactive system
KR20020050769A (en) Method of synchronizing multiple communication terminal apparatus having the graphic functions
JPH08339350A (en) Terminal control system

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)