Remote groupware operation system and its devices on the sending and receiving sides

Abstract: A device on the sending side employed in a remote groupware operation comprising; (a) a sending means for sending data to the outside; (b) a program operating means on the sending side for operating a program; (c) an inputting means on the sending side for inputting input data to be provided to said program operated by said program operating means on the sending side; and (d) an inputting and sending means disposed between the program operating means on the sending side and said inputting means on the sending side for providing the program operated by the program operating means on the sending side with said input data inputted by the inputting means on the sending side and for providing said sending means with the input data inputted by the inputting means on the sending side.

Description: The present invention relates to a remote groupware operation which performs conferencing, document forming and the like in use of an application program operating on personal computers or workstations (hereinafter described generically and simply "PC"") located at remote places. Figure 17 is a functional block diagram showing a general execution mode for a general purpose application program on a PC for explaining a conventional remote groupware operation system. In Figure 17, a reference numeral 101 designates an operating system (hereinafter, "OS"), 102, a general purpose application program, 103, a display driver, 106, a frame memory, 107, an event buffer for storing keyboard entry data, mouse information data and the like (hereinafter described summarizingly "event data", 109, a display converter, 110, an input detector, 112, a display, 113, mouse/keyboard and 201, an input driver. Next, an explanation will be given of the operation. First, an explanation will be given of an executing method of a generally-available general purpose application program on a PC. The general application program is executed under an OS of a PC. In the most generally-available general purpose application program 102, data are inputted from the mouse/keyboard switch 113, a processing is performed and the result of processing is shown on the display. In Figure 17, the event data inputted from the mouse/keyboard is detected by the input detector 110 and stored in the event buffer 107. In the meantime, the general purpose application program 102 starts the input driver 201 through the OS 101 in a process waiting for an input from a user. When the input driver is started, the input driver inspects the event buffer, reads an uninformed event from the event buffer if there is the uninformed event and informs it to the general purpose application program 102 through the OS 101. After processing, the general purpose application program 102 starts the display driver 103 through the OS 101. The started display driver 103 writes the results to a corresponding portion of the frame memory 106 which is shown on the display 112 by the display converter 109. Next, Figure 18 is a diagram showing a conventional groupware operation system described in Japanese Unexamined Patent Publication No. 174436/1990. In Figure 18, a reference numeral 1201 designates a main body of a PC, 1202, a PC for communication control, 1203, a keyboard, 1204, a keyboard for the PC for communication control, 1205, a memory, 1206, a general purpose software operating in the main body 1201 of the PC, 1207a through 1207c, serial interfaces, 1208, a CPU and 1209, a communication line. Next, an explanation will be given of the operation. In Figure 18, when the general purpose software 1206 is started, the program is introduced into the memory 1205 of the main body 1201 of the PC. At this occasion, a modification is made on a portion of a keyboard entry program in the general purpose software 1206 and a "modified keyboard entry program" 1205b is formed. 1205a designates a main processing portion in the general purpose application program 1206 which is loaded to the memory. When the keyboard 1203 is pushed, event data are read by the "modified keyboard entry program" 1205b which has been started by the CPU 1208, through the serial interfaces 1207c and 1207b which are sent to the PC for communication control through the serial interface 1207a. The PC for communication control sends the event data to the communication line 1209 and sends received data wherein data received from the communication line is provided with a data showing the priority, to the "modified keyboard entry program" 1205b through the serial interface 1207a. The "modified keyboard entry program" 1205b receives both the input from the keyboard 1203 and the input from the PC 1202 for communication control. When the input data from the PC 1202 for communication control is provided with a data showing a higher priority, the input data from the PC 1202 for communication control, is written in a keyboard entry buffer 1205c. In other cases, the input data from the keyboard 1203 is written in the keyboard entry buffer 1205c. Since the convention remote groupware operation system is constructed as above, a partial modification should be performed on the general purpose software, the PC for communication control is necessary other than the main body of the PC and, therefore, the operation amend multipoints is difficult. From "PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS", June 1992, YOKOHAMA, JP, pages 538-546, T. OHMORI ET AL, a distributed multiparty desktop conferencing system is known which allows a group of widely-dispersed users to conduct a meeting from their desktop workstations. Participants can jointly view and process multimedia conference documents. Also, they can simultaneously interchange voice signals and video images. The plural workstations of this system each include three functional moduls, namely the operation systems, the events dispatcher and the events processor. The operating systems puts the input events, generated by user operations, into each application queue. The events dispatcher takes the input events from the application queue, and forwards them to the events processor in a local site. The events processor executes the event forwarded from the events dispatcher. It is an object of the present invention to achieve a remote groupware operation among multipoints with a small information transfer quantity and without modifying a general purpose application software. According to a first aspect of the present invention, there is provided a device on the sending side employed in a remote groupware operation comprising (a) a sending means for sending data to the outside; (b) a program operating means on the sending side for operating a program; (c) an inputting means on the sending side for inputting input data to be provided to said program operated by said program operating means on the sending side; and (d) an inputting and sending means for providing the program operating means on the sending side with said input data inputted by the inputting means on the sending side and for providing said sending means with the input data inputted by the inputting means on the sending side, characterized in that said inputting and sending means is disposed between the program operating means on the sending side and said inputting means on the sending side. According to a second aspect of the present invention, there is provided a device on the receiving side employed in a remote groupware operation system comprising (a) a receiving means for receiving input data from a device on the sending side; (b) a program operating means on the recieving side for operating a first program being the same with a second program operating in said device on the sending side; and (c) an inputting means on the receiving side for providing said first program operated by said program operating means on the receiving side with said input data received by said receiving means; characterized by a separating means disposed between the receiving means and the inputting means on the receiving side for separating a coordinate position information from the input data inputted by the receiving means, and a displaying means for displaying a coordinate position based on said coordinate position information separated by said separating means. According to a first preferred embodiment of the device on the sending side according to the first aspect, the inputting means on the sending side of the device on the sending side inputs a coordinate position information from a coordinate inputting device as an input data and further comprising a coordinate position detecting means for detecting said coordinate position information from said coordinate inputting device; a displaying means for displaying a coordinate position based on the coordinate position information; and a superposing means disposed between the inputting and sending means and the sending means for superposing the coordinate position information detected by said coordinate position detecting means on the input data outputted by the inputting and sending means and for outputting the superposed information to the sending means. According to a second preferred embodiment of the device on the sending side according to the first aspect, the program operating means on the sending side of the device on the sending side is capable of operating a plurality of program further comprising a determining means on the sending side disposed between the inputting and sending means and the sending means for determining a program executing the remote groupware operation among said plurality of programs operated by the program operating means on the sending side and providing the sending means with data related to said program. According to a third further preferred embodiment of the device on the sending side according to the first aspect, there is provided a relative position converting means for converting an absolute position information contained in the input data sent from the inputting and sending means to the sending means into a relative position information. According to a first preferred embodiment of the device on the receiving side according to the second aspect, the program operating means on the receiving side of the device on the receiving side is capable of operating a plurality of programs further comprising a determining means on the receiving said included by the inputting means on the receiving side for determining an operational state of a program executing the remote groupware operation among said plurality of programs operated by the program operating means on the receiving side and for retaining the input data inputted by the inputting means on the receiving side based on said operational state. According to a second preferred embodiment of the device on the receiving side according to the second aspect, there is provided an absolute position converting means for converting a relative position information contained in the input data sent from the receiving means to the inputting means on the receiving side into an absolute position information. According to a third aspect of the present invention, there is provided a remote groupware operation system having a multipoint control unit disposed between the first device on the sending side according to the first aspect and a plurality of the second devices on the receiving side according to the second aspect, said multipoint control unit receiving data from the first device on the sending side and sending the received data to said plurality of the second devices on the receiving side. According to a fourth aspect of the present invention, there is provided a remote groupware operation system having a sending device and a receiving device, said system comprises: (a) a sending means for sending data to the outside; (b) a program operating means on the sending side for operating a program; (c) a first inputting means on the sending side for inputting input data; (d) an inputting and sending means for providing said sending means with said input data inputted by said inputting means on the sending side; (e) a receiving means for receiving said data; and (f) a second inputting means on the receiving side for inputting the data received by said receiving means to said program operated by said operating means; characterized by a multipoint control unit disposed between the first device on the sending side according to the first aspect and the second device on the receiving side according to the second aspect, said multipoint control unit receiving data from the first device on the sending side and sending the received data to the first device on the sending side and the second device on the receiving side. According to the first aspect of the device on the sending side in the remote groupware operation system of this invention, an event inputted by a mouse or a keyboard enters an event buffer. When the general purpose application program requires an input information, the operation starts an inputting and sending driver. The inputting and sending driver takes out the event data from the event buffer, sends the event data to the general purpose application program and also sends the event data to a communication means by starting the sending and receiving driver. Since the inputting and sending driver is provided with the same function with that of the conventional input driver, a data the same with the event data provided to the general purpose application program can be sent to the outside with no modification to the general purpose application program at all. According to the second aspect of the device on the receiving side in the remote groupware operation system of this invention, data from the communication means enters a sending and receiving buffer through a sending and receiving interface. A receiving and event writing function starts a sending and receiving driver, reads the received data which has entered the sending and receiving buffer and writes the receive data to an event buffer. Accordingly, it is possive to provide the event data received from the device on the sending side through the communication means, to the general purpose application program with no modification of the general purpose application program at all, when the device on the receiving side is operating the general purpose application program which is the same with that in the device on the sending side. Therefore, the general application program at the device on the receiving side and the general application program at the device on the sending side share the same operation. A sending and receiving driver is started by both a receiving and event writing function and an other party mouse position providing program, the received data is separated into the event data and the mouse position information at the received data separating unit and the respective data are informed to a receiving and event writing function and an other party mouse position providing program. According to the first preferred embodiment of the device on the sending side in the remote groupware operation system of this invention, a mouse position information enters a mouse position information buffer through an input detector. A mouse position providing program reads the mouse position information from the mouse position information buffer, which is superposed by the event information at a sending data superposing unit and the operation starts a sending and receiving driver to thereby send the data to the communication means. According to the second preferred embodiment of the device on the sending side in the remote groupware operation system of this invention, an application program execution determing unit determines a program executing the remote groupware operation among a plurality of operating programs, selects data which are related to the remote groupware operation among event data sent from an inputting and sending driver and a mouse position information sent from a mouse position providing program and sent them to the outside. According to the third preferred embodiment of the device on the sending side in the remote groupware operation system of this invention, event data and a mouse position information which have been sent from an application program execution determining program, are changed with respect to a relative position and sent to the outside. Accordingly, for instance, when the data are displayed by empolying a window, the positions of the data in the window are correctly displayed. According to the first preferred embodiment of the device on the receiving side in the remote groupware operation system of this invention, an application program execution determining unit determines an operational state of the program executing the remote groupware operation and instructs the start and stop of an other party mouse position providing program, the writing of data from a receiving and event writing function to a temporary memory buffer and the transfer of data from the temporary buffer to the event buffer. Therefore, even when the program executing the remote groupware operation stops the execution while the other programs are operating, the data of the program executing the remote groupware operation are not lost. According to the second preferred embodiment of the device on the receiving side in the remote groupware operation system of this invention, event data and a mouse position information sent from a received data separating unit are changed with respect to absolute positions by an absolute position converting unit. According to the third aspect of the remote groupware operation system of this invention, data sent from a PC on the sending side enters an MCU (multipoint control unit) wherein the data are copied and distributed to PCs on the receiving side. According to the fourth aspect of the remote groupware operation system of this invention, an input from the mouse/keyboard enters an inputting and sending driver through an input detector and enters an MCU through a sending and recieving buffer, a sending and receiving interface and a communication line by a sending and receiving driver. At the MCU, the data are sent to the other PCs on the receiving side and also to the PC on the sending side. At the PC on the sending side, a receiving and event writing function reads the data through the sending and receiving interface, the sending and receiving buffer and the sending and receiving driver, and writes the data to an event buffer. In the drawings: Figure 1 is a functional block diagram explaining embodiment 1 in a remote groupware operation system according to the present invention; Figure 2 is a functional block diagram showing embodiment 2 in a remote groupware operation system according to the present invention; Figure 3 is a functional block diagram showing embodiment 3 in a remote groupware operation system according to the present invention; Figure 4 is a functional block diagram showing embodiment 3 in the remote groupware operation system according to the present invention; Figure 5 is an explanatory diagram showing a groupware window in the remote groupware operation system according to the present invention; Figure 6 is a functional block diagram showing embodiment 4 in a remote groupware operation system according to the present invention; Figure 7 is a functional block diagram showing embodiment 5 in a remote groupware operation system according to the present invention; Figures 8A and 8B are diagrams showing a change of a relative position in the remote groupware operation system according to the present invention; Figure 9 is a functional block diagram showing embodiment 6 in a remote groupware operation system according to the present invention; Figure 10 is a functional block diagram showing the embodiment 6 in the remote groupware operation system according to the present invention; Figure 11 is a functional block diagram showing embodiment 7 in a remote groupware operation system according to the present invention; Figure 12 is a functional block diagram showing embodiment 8 in a remote groupware operation system according to the present invention; Figure 13 is a functional block diagram showing embodiment 9 in a remote groupware operation system according to the present invention; Figure 14 is a functional block diagram showing embodiment 10 in a remote groupware operation system according to the present invention; Figure 15 is a functional block diagram showing embodiment 11 in a remote groupware operation system according to the present invention; Figure 16 is a functional block diagram showing embodiment 12 in a remote groupware operation system according to the present invention; Figure 17 is a diagram showing a general execution mode of a general purpose application program in a PC; and Figure 18 is a functional block diagram showing a conventional groupware operation system shown in Japanese Unexamined Patent Publication No. 174436/1990. EXAMPLE 1 An explanation will be given of an embodiment of the present invention in reference to the drawings as follows. Figure 1 is a functional block diagram showing an example of a remote group operation system according to the present invention. In Figure 1, a reference numeral 101 designates an OS, 102, a general purpose application program, 103, a display driver, 104, an inputting and sending driver, 105, a sending and receiving driver, 106, a frame memory, 107, an event buffer, 108, a sending and receiving buffer, 109, a display converter, 110, an input detector, 111, a sending and receiving interface, 112, a display, 113, mouse/keyboard, 120, a receiving and event writing function, 130, a communication means, 150, a PC on the sending side, 151, a PC on the receiving side and 201, an input driver. Next, an explanation will be given of the operation of this embodiment in reference to Figure 1 as an example. In Figure 1, a case is shown wherein the general purpose application programs 102 in both the PC 150 on the sending side and the PC 151 on the receiving side, are operated by an input operation at the PC 150 on the sending side. An input by the mouse/keyboard 113 of the PC 150 on the sending side is detected by the input detector 110 and is stored in the event buffer 107. In the meantime, when the general purpose application program 102 at the PC 150 on the sending side requires an input, the operation starts the input driver through the OS 101 as in the conventional example. In this example, since the inputting and sending driver 104 is disposed at the same portion with that of the input driver in view of the application program, the operation starts the inputting and sending driver. The inputting and sending driver 104 reads the event data from the event buffer 107, sends the event data to the sending and receiving driver 105 and at the same time, sends the event data to the general purpose application program 102. The display operated by the general purpose application program 102 is the same as in the conventional example and its explanation will be omitted. The data which have entered the sending and receiving driver 105 are temporarily stored in the sending and receiving buffer 108 and sent to the sending and receiving interface 111 of the PC 151 on the receiving side at a remote place through the communication means 130. When the sending and receiving interface 111 of the PC 151 on the receiving side has received the data, the operation temporarily stores the data in the sending and receiving buffer 108. The receiving and event writing function 120 according to this embodiment periodically starts the sending and receiving driver 105 and checks received data. The started sending and receiving driver 105 checks the sending and receiving buffer 108 and informs the data to the receiving and event writing function 120 if there are any. The receiving and event writing function 120 which has received the data writes the data to the event buffer 107. In the meantime, when the general purpose application program 102 in the PC 151 on the receiving side requires an input, the general application program 102 starts the input driver 201 through the OS 101. The started input driver 201 reads the data in the event buffer 107 and sends them to the general purpose application program 102. The display by the general purpose application program 102 is the same as in the conventional example and its explanation will be omitted. Accordingly, the event data which have been provided to the general purpose application program 102 in the PC 150 on the sending side by the inputting and sending driver 104 are the same with the event data which have been provided to the PC 151 on the receiving side by the input driver 201, and the operations of the general purpose application programs 102 in the two sets of PCs are the same. As state above, in this example, the same general purpose softwares having no communication function are installed to the respective ones of two or more sets of personal computers or workstations as they are, without modifying the softwares to provide a special exclusive function. These personal computers or workstations are connected by telephone lines or a network such as LAN, or a substitute communication means. An input from one set of PC is sent to the general purpose softwares of one or a plurality of other connected PCs. EXAMPLE 2 Figure 2 is a functional block diagram showing a remote groupware operation system of an embodiment of this invention. In Figure 2, a reference numeral 101 designates the OS, 102, the general purpose application program, 103, the display driver, 104, the inputting and sending driver, 105, the sending and receiving driver, 106, the frame memory, 107, the event buffer, 108, the sending and receiving buffer, 109, the display converter, 110, the input detector, 111, the sending and receiving interface, 112, the display, 113, the mouse/keyboard, 130, the communication means, 301, a mouse position providing program, 302, a sending data superposing unit and 303, a mouse position information buffer. Furthermore, Figure 3 is a functional block diagram showing the remote groupware operation system of the embodiment. In Figure 3, a reference numeral 101 designates the OS, 102, the general purpose application program, 103, the display driver, 105, the sending and receiving buffer, 106, the frame memory, 107, the event buffer, 108, the sending and receiving buffer, 109, the display converter, 111, the sending and receiving interface, 112, the display, 120, the sending and event writing function, 130, the communication means, 201, the input driver, 401, an other party mouse position providing program and 402, a received data separating unit. Next, an explanation will be given of the operation on the sending side with respect to the remote groupware operation system according to this embodiment in reference to Figure 2. In Figure 2, when the mouse 113 moves, the input detector 110 detects the movement and writes the current mouse position to the mouse position information buffer 303. The mouse position information providing program 301 periodically reads the value of the mouse position information buffer and sends the mouse position information to the sending data superposing unit 302. On the other hand, the event data from the inputting and sending driver 104 is also sent to the sending data superposing unit 302. The mouse position information is superposed on the event data in the sending data superposing unit 302 and the superposed result is sent to the sending and receiving driver 105. The sending method of the data and the image plane display operated by the general purpose application program 102 are the same with those in Example 1 and its explanation will be omitted. Next, an explanation will be given of the operation on the receiving side with respect to the remote groupware operation system according to this embodiment in reference to Figure 3. In Figure 3, when the receiving side receives the data from the communication means 130, the data is temporarily stored in the sending and receiving buffer 108 by the sending and receiving interface 111, as in Example 1. Both the receiving and event writing function 120 and the other party mouse position providing program 401 according to this embodiment periodically start the sending and receiving driver 105. The sending and receiving driver 105 sends the received data to the received data separating unit 402. The received data separating unit 402 classifies the received data into the event data or the mouse position information and sends the classified and separated data to the receiving and event writing function 120 and the other party mouse position providing program 401, respectively. When the other party mouse position providing program 401 receives the mouse position information, the other party mouse position providing program 401 starts the display driver 103 such that a pointer which is capable of indicating the other party mouse position at a corresponding position, is shown. Furthermore, the treatment after the receiving and event writing function 120 has received the data is the same as in Example 1 and its explanation will be omitted. EXAMPLE 3 Figure 4 is a functional block diagram showing the sending side of the remote groupware operation system of this embodiment. In Figure 4, a reference numeral 101 designates the OS, 102, the general purpose application program, 103, the display driver, 104, the inputting and sending driver, 105, the sending and receiving driver, 106, the frame memory, 107, the event buffer, 108, the sending and receiving buffer, 109, the display converter, 110, the input detector, 111, the sending and receiving interface, 112, the display, 113, the mouse/keyboard, 130, the communication means, 301, the mouse position providing program, 302, the sending data superposing unit, 303, the mouse position information buffer and 501, an application program execution determining unit. Next, an explanation will be given of a groupware window according to this embodiment. Figure 5 is a diagram for explaining the groupware window. In Figure 5, a reference numeral 1101 designates a PC image plane. A numeral 1102 designates the groupware window the inside of which is in the same state with respect to all the PCs executing the groupware operation. A numeral 1103 designates an application program window in the groupware window which is a window for an arbitrary general purpose application program, and which is in the same state with respect to all the PCs executing the groupware operation since the application program window is incorporated in the groupware window. A numeral 1104 designates a local application program window, which is a window for an arbitrary application program that is executed independently in each PC. Next, an explanation will be given of the operation of the sending side with respect to the remote groupware operation system according to this embodiment, in reference to Figure 4. In Figure 4, the application program execution determining unit 501 determines whether the current operational state is with respect to the window employed in the groupware operation. The event data which is bound for the sending data superposing unit 302 from the inputting and sending driver 104 enters the application program execution determining unit 501. The application program execution determining unit 501 sends the event data to the sending data superposing unit 302 only when the current operational state is with respect to the window employed in the groupware operation. Similarly, the mouse position information which is bound for the sending data superposing unit from the mouse position providing program 301 enters the application program execution determining unit 501. The application program execution determining unit 501 sends the mouse position information to the sending data superposing unit 302 only when the current operational state is with respect to the window employed in the groupware operation. EXAMPLE 4 In the above Example 3, the embodiment 3 has been described to include the function of the Example 2. However, it is possible to propose a construction wherein the function of the embodiment 2 is eliminated, as shown in Figure 6. That is to say, the event data from the inputting and sending driver 104 enters the application program execution determining unit 501. The application program execution determining unit 501 sends the event data to the sending and receiving driver only when the current operational state is with respect to the window employed in the groupware operation. EXAMPLE 5 Figure 7 is a functional block diagram showing the sending side of the remote groupware operation system according to this embodiment. In Figure 7, a reference numeral 101 designates the OS, 102, the general purpose application program, 103, the display driver, 104, the inputting and sending driver, 105, the sending and receiving driver, 106, the frame memory, 107, the event buffer, 108, the sending and receiving buffer, 109, the display converter, 110, the input detector, 111, the sending and receiving interface, 112, the display, 113, the mouse/keyboard, 130, the communication means, 301, the mouse position providing program, 302, the sending data superposing unit, 303, the mouse position information buffer, 501, the application program execution determining unit and 601, a relative position converting unit. Next, an explanation will be given of the operation on the sending side with respect to the remote groupware operation system according to this embodiment. In Figure 7, a position information in the event information and the mouse position information which are outputted from the application program execution determining program 501, is inputted to the relative position converting unit 601. The position information in the event information and the mouse position information are expressed in a coordinate system having an absolute reference point 1105. The relative position converting unit 601 changes the absolute coordinate system to a relative coordinate system having a window reference point 1106 in Figure 5 and sends the converted data to the sending data superposing unit 302. Therefore, by sending the data of which position is converted in the relative coordinate system, the groupware operation can be achieved even when the display resolutions of the PC image plane on the sending side and the PC image plane on the receiving side are different as shown in Figure 8A. For instance, when the PC image plane on the sending side is provided with the display resolution of 640 × 320 dots, whereas the PC image plane on the receiving side is provided with the display resolution of 1280 × 640 dots, the position of point A1 on the PC image plane on the sending side is X = 64 and Y = 32, which is converted to point B1 on the PC image plane on the receiving side by employing the absolute coordinate system. However, when the relative coordinate system is employed, X =64/640 = 0.1, Y = 32/320 = 0.1, which is displayed on the PC image plane on the receiving side as point B2 which is relatively the same location with that of point A1 on the sending side. Furthermore, by sending the data after converting the position employing the relative coordinate system, the groupware operation is made possible even when the window display positions of the PC image plane on the sending side and the PC image plane on the receiving side are different as shown in Figure 8B. For instance, when the PC image plane on the sending side displays a window W1 at the left bottom portion of the image plane and the PC image plane on the receiving side displays a window W2 executing the groupware operation at the right top portion of the image plane as shown in Figure 8B, point A1 on the PC image plane on the sending side is converted to point B1 on the PC image plane on the receiving side by employing the absolute coordinate X1 and Y1. However, point B1 is converted to point B2 on the PC image plane on the receiving side by employing the relative coordinate X and Y which is the same location with respect to the windows W1 and W2. Furthermore, the same position can be indicated similarly by employing the relative coordinate even when the display resolutions of the PC image plane on the sending side and the PC image plane on the receiving side are different and the window display positions are different. The sending operation and the displaying operation are the same as in the above Examples and their explanation will be omitted. EXAMPLE 6 The above Example 5 has been described wherein the functions of Example 2 and Example 3 have been incorporated in the construction. However, it is possible to propose a construction wherein the functions of Example 2 and Example 3 are eliminated. Figure 9 is a diagram showing a construction wherein the functions of Example 2 and Example 3 are eliminated. Further, Figure 10 is a diagram showing a construction wherein the function of Example 3 is eliminated. EXAMPLE 7 Figure 11 is a functional block diagram on the receiving side showing a remote groupware operation system according to the embodiment. In Figure 11, a reference numeral 101 designates the OS, 102, the general purpose application program, 103, the display driver, 105, the sending and receiving driver, 106, the frame memory, 107, the event buffer, 108, the sending and receiving buffer, 109, the display converter, 111, the sending and receiving interface, 112, the display, 120, the receiving and event writing function, 130, the communication means, 201, the input driver, 401, the other party mouse position providing program, 402, a received data separating unit and 701, an absolute position converting unit. Next, an explanation will be given of the operation on the receiving side with respect to the remote groupware operation system in accordance with the present embodiment. Since the receiving operation and the displaying operation are the same as in the above Examples, an explanation will be given of the portion according to this embodiment. The position information portion of the event data and the mouse position information separated by the received data separating unit 402, enter the absolute converting unit 701 in accordance with this embodiment, in Figure 11. The absolute position converting unit 701 converts the position information portion of the event data and the mouse position information which have been sent under the relative coordinate system having the window reference point 1106, to the positions under the absolute coordinate system having the absolute reference point 1105, and sends the converted data to the receiving and event writing function 120 and the other party mouse position providing program 401, respectively. Accordingly, the remote groupware operation is made possible even when the absolute positions of the groupware windows in the PC on the sending side and the PC on the receiving side are different. EXAMPLE 8 The above Example 7 has been described wherein the function of Example 2 has been incorporated in the above Example. However, it is possible to propose a construction wherein the function of Example 2 is eliminated. Figure 12 is a diagram showing a construction wherein the function of Example 2 is eliminated. In Figure 12, the absolute position converting unit 701 changes the position information portion of the event data which has been sent under the relative coordinate system having the window reference point 1106 to the position under the absolute coordinate system having the absolute reference point 1105 and sent the converted data to the receiving and event writing function 120. EXAMPLE 9 Figure 13 is a functional block diagram on the receiving side showing a remote groupware operation system according to this embodiment. In Figure 13, a reference numeral 101 designates the OS, 102, the general purpose application program, 103, the display driver, 105, the sending and receiving driver, 106, the frame memory, 107, the event buffer, 108, the sending and receiving buffer, 109, the display converter, 111, the sending and receiving interface, 112, the display, 120, the receiving and event writing function, 130, the communication means, 201, the input driver, 401, the other party mouse position information providing program, 402, the received data separating unit and 701, the absolute position converting unit. Next, an an explanation will be given of the operation with respect to the remote groupware operation system in accordance with the embodiment, in reference to Figure 13. Since the receiving operation and the displaying operation are the same as in the above Examples, an explanation will be given of only portions concerning this embodiment. An application program execution determining unit 801 in accordance with this embodiment determines whether the current state of the PC is executing the application program in the groupware window. There is a case wherein an operator of the PC is executing the other application program in use of an area other than the groupware window. Hereinafter, this is described as "local operation". The other party mouse position providing program 401 which has received the mouse position information, orders display of a pointer (cursor) based on the mouse position information to the display driver 103 when the application program execution determining unit 801 instructs that the application program is being executed in the groupware window, and abandons the received data in the other case (that is, the local operation is being executed). That is to say, the other party mouse position providing program 401 abandons the mouse position information. The reason why the other party mouse position providing program 401 abandons the mouse position information as stated above, is that it is not necessary to display the pointer (cursor) showing the mouse position information in the groupware window when the other application program is being executed. In this way, the movement of the pointer (cursor) showing the mouse position is not displayed. Since the display of the movement of the pointer (cursor) is not indispensable in performing the groupware operation, the display of the movement of the pointer (cursor) may be dispensed with when the other application program is being executed. On the other hand, when the device receives the event data, the received event data should not be abandoned to achieve the groupware operation. The receiving and event writing function 120 which has received the event data, stores the event data in a temporary memory buffer 802. When the window program execution determining unit 801 instructs that the application program in the groupware window is being executed, the operation reads all the data from the temporary memory buffer 802 immediately and sends the data to the event buffer 107. In other case (that is, the local operation is being executed) the operation only stores the event data in the temporary memory buffer 802 and does not execute the reading. Thereafter, when the window program execution determining unit 801 instructs that the application program in the groupware window is being executed, the operation immediately reads all the data from the temporary memory buffer 802 and sent them to the event buffer 107. Therefore, the data which has been received in executing the other application program is guaranteed to be provided to the application program through the event buffer thereby performing the groupware operation. EXAMPLE 10 The above Example 9 has been described wherein the functions of Example 2 and Example 7 have been included. However, it is possible to propose a construction wherein the functions of Example 2 and Example 7 are eliminated. Figure 14 is a diagram showing a construction wherein the functions of Example 2 and Example 7 are eliminated. In this construction, the event information is temporarily memorized while the local operation is being executed. The event information is written in the event buffer at a time point wherein the local operation has finished. EXAMPLE 11 Figure 15 is a functional block diagram showing a remote groupware operation system of this embodiment. In Figure 15, a reference numeral 150 designates a PC on the sending side, 151, PCs on the receiving side and 901, an MCU (multipoint control unit). Next, an explanation will be given of the operation of the remote groupware operation system of this embodiment in reference to Figure 15. Instead of connecting the PC 150 on the sending side and the PC 151 on the receiving side by the communication means 130 in one-to-one connection, the MCU 901 is installed between the PC 150 on the sending side and the PCs 151 on the receiving side as shown in Figure 15. The MCU performs copying of data and distribution thereof. The data such as the event data or the mouse position information from the PC 150 on the sending side are distributed to a plurality of PCs 151 on the receiving side, thereby enabling a real time groupware operation at remote multipoints. As stated above, in this embodiment, a communication port of a PC provided with one or a plurality of functions of the above Examples 1 through 10 is connected to the MCU or the multipoint control unit, directly or through a network, and the MCU receives data from the PC on the sending side, copies the received data and sends the received data to the PCs other than the PC on the sending side connected to the MCU. EXAMPLE 12 Figure 16 is a functional block diagram showing a remote groupware operation system of this embodiment. In Figure 16, a reference numeral 101 designates the OS, 102, the general purpose application program, 103, the display driver, 104, the inputting and sending driver, 105, the sending and receiving driver, 106, the frame memory, 107, the event buffer, 108, the sending and receiving buffer, 109, the display converter, 110, the input detector, 111, the sending and receiving interface, 112, the display, 113, the mouse/keyboard, 120, the receiving and event writing function, 150, the PC on the sending side, 151, the PC on the receiving side, 201, the input driver and 901, the MCU. Next, an explanation will be given of the operation of the remote groupware operation system of this embodiment in reference to Figure 16. In Figure 16, the event data are inputted from the mouse/keyboard 113. The event data which has entered the sending and receiving driver 105, is sent to the MCU 901 through the sending and receiving buffer 108 and the sending and receiving interface 111. At this moment, the sending and receiving driver 105 does not send the event data to the general purpose application program 102. The MCU 901 copies the received data and distributes the received data to the PCs 151 on the receiving side and also distributes them to the PC 150 on the sending side. In the PC 150 on the sending side which has received the event data, the event data are written to the event buffer 107 by the receiving and event writing function 120 through the sending and receiving interface 111, the sending and receiving buffer 108 and the sending and receiving driver 105. The operation thereafter is the same as in Example 1 and its explanation will be omitted. Accordingly, the PC on the sending side can easily be changed only by changing the distribution method of the data by the MCU 901, irrespective of whether the PCs connected to the MCU 901 are on the sending side or on the receiving side. EXAMPLE 13 It is possible to display a pointer on an image plane which is simply a mouse position of the PC on the sending side in the above Examples. However, when the multipoint connection is performed by the MCU, an information from the sending side may be added to the pointer information from the MCU, a name of a sender may be displayed to the displayed pointer and a plurality of pointers may be displayed in correspondence with the senders. EXAMPLE 14 In the above Examples, the explanation has been given wherein the PC on the sending side and the PCs on the receiving side are divided for the sake of simplicity. However, the PCs may be provided with the both functions with the same effect as in the above Examples. EXAMPLE 15 Cases have been shown in the above Examples wherein the coordinate position has been inputted by employing the mouse device. However, a coordinate input device such as a tablet, a joy stick, a line pen or the like may be employed for inputting the coordinate position with the same effect as in the above Examples. As stated above, according to the present invention, the input event data at the device on the sending side are sent without modification of the general purpose application program, the general purpose application program in the device on the receiving side which has received the event data recognizes the event data as if they were its own input, and the distribution by the MCU is made possible. Therefore, this invention provides an effect wherein the multipoint remote groupware operation by the general purpose application program can easily be achieved.

Claims: A device on the sending side employed in a remote groupware operation system, comprising (a) a sending means (105,108,111) for sending data to the outside; (b) a program operating means (101) on the sending side for operating a program; (c) an inputting means (113) on the sending side for inputting input data to be provided to said program operated by said program operating means (101) on the sending side; and (d) an inputting and sending means (104,107,110) for providing the program operating means (101) on the sending side with said input data inputted by the inputting means (113) on the sending side and for providing said sending means (105,108,111) with the input data inputted by the inputting means (113) on the sending side, characterized in that said inputting and sending means (104,107,110) is disposed between the program operating means (101) on the sending side and said inputting means (113) on the sending side. The device on the sending side according to Claim 1, wherein the inputting means (113) on the sending side inputs a coordinate position information from a coordinate inputting device as an input data and further comprising; a coordinate position detecting means (301) for detecting said coordinate position information from said coordinate inputting device (113); a displaying means (112) for displaying a coordinate position based on the coordinate position information; and a superposing means (302) disposed between the inputting and sending means (104,107,110) and the sending means (105,108,111) for superposing the coordinate position information detected by said coordinate position detecting means (301) on the input data outputted by the inputting and sending means (104,107,110) and for outputting the superposed information to the sending means (105,108,111). The device on the sending side according to Claim 1, wherein the program operating means (101) on the sending side is capable of operating a plurality of programs further comprising: a determining means (501) disposed between the inputting and sending means (104,107,110) and the sending means (105,108,111) for determining a program executing the remote groupware operation among said plurality of programs operated by the program operating means (101) on the sending side and providing the sending means (105,108,111) with data related to said program. The device on the sending side according to Claim 1, further comprising: a relative position converting means (601) for converting an absolute position information contained in the input data sent from the inputting and sending means (104,107,110) to the sending means (105,108,111) into a relative position information. A device on the receiving side employed in a remote groupware operation system, comprising (a) a receiving means (105,108,111) for receiving input data from a device on the sending side; (b) a program operating means (101) on the receiving side for operating a first program being the same with a second program operating in said device on the sending side; and (c) an inputting means (201) on the receiving side for providing said first program operated by said program operating means on the receiving side with said input data received by said receiving means; characterized by (d) a separating means (402) disposed between the receiving means (105,108,111) and the inputting means (201) on the receiving side for separating a coordinate position information from the input data inputted by the receiving means (105,108,111); and a displaying means (112) for displaying a coordinate position based on said coordinate position information separated by said separating means (402). The device on the receiving side according to Claim 5, wherein the program operating means (101) on the receiving side is capable of operating a plurality of programs further comprising: a determining means included by the inputting means (105,108,111) on the receiving side for determining an operational state of a program executing the remote groupware operation among said plurality of programs operated by the program operating means (101) on the receiving side and for retaining the input data inputted by the inputting means (105,108,111) on the receiving side based on said operational state. The device on the receiving side according to Claim 5, further comprising: an absolute position converting means (701) for converting a relative position information contained in the input data sent from the receiving means (105,108,111) to the inputting means (201) on the receiving side into an absolute position information. A remote groupware operation system having a multipoint control unit (901) disposed between the first device (150) on the sending side according to Claim 1 and a plurality of the second devices (151) on the receiving side according to Claim 5, said multipoint control unit (901) receiving data from the first device (150) on the sending side and sending the received data to said plurality of the second devices (151) on the receiving side. A remote groupware operation system having a sending device (150) and a receiving device (151), said system comprises: (a) a sending means (105,108,111) for sending data to the outside; (b) a program operating means (101) on the sending side for operating a program; (c) a first inputting means (107,110,113) on the sending side for inputting input data; (d) an inputting and sending means (104) for providing said sending means (105,108,111) with said input data inputted by said inputting means (107,110,113) on the sending side; (e) a receiving means (105,108,111) for receiving said data; and (f) a second inputting means (201) on the receiving side for inputting the data received by said receiving means (105,108,111) to said program operated by said operating means (101); characterized by a multipoint control unit (901) disposed between the first device (150) on the sending side and the second device (151) on the receiving side according to Claim 5, said multipoint control unit (901) receiving data from the first device (150) on the sending side and sending the received data to the first device (150) on the sending side and the second device (151) on the receiving side.

Inventors: YOSHIZAWA KENICHI, YOSHIZAWA, KENICHI, YOSHIZAWA, KENICHI, C/O MITSUBISHI DENKI K.K.
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1993
Main classification: G06F17
IPC codes: G06F15, G06F13, G06Q10