Electronic conference system
Abstract
Problem to be solved.To provide an electronic conference system which does not share the part that is unnecessary for others or a user does not want the other to view at all of terminals in a working process of a postscript and an edit or the like that every terminal performs to a shared document.
Solution.The same position of the same document is displayed on a shared screen display window and individual screen display windows of clients 3-6. For instance, the user of the client 3 inputs characters at the position of the document displayed on the individual windows. Until a sentence terminal sign is input, the added character is displayed on only the individual window of the client 3. When the sentence terminal sign is input, the content of the document displayed on the individual windows is reflected to the content of the document displayed on the shared window and the contents of both are equal. The updated document is displayed on the shared window of other clients 4-6, the individual windows and a large size display device 2.
Copyright (C)2004,JPO
Term
Term ended
Projected expiry passed 19 March 2022, 4.5 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
20 claims: 8 independent, 12 dependent
- 1[Claims] 1. A server / client type electronic conferencing system in which a plurality of clients are connected to one server and each client can view or edit information on the server, and the server is document display screen data. A shared screen mode in which a plurality of screen buffers for storing the data can be provided and a plurality of clients can simultaneously display the display screen data for each screen buffer, or an individual screen mode in which only one client can display the display screen data. When one of the modes is selected and the same document data is stored in both the screen buffer of the server in the shared screen mode and the screen buffer of the server in the individual screen mode, the individual screen mode is set in one client. When an edit operation is performed on the document data stored in the screen buffer of a certain server, the same edit operation as the edit operation is performed on the screen buffer of the server in the shared screen mode at a predetermined timing corresponding to the operation. A server / client type electronic conferencing system characterized in that it is performed on stored document data. 【特許請求の範囲】 【請求項1】 複数のクライアントが1つのサーバに接続され、各クライアントが前記サーバにある情報を閲覧あるいは編集可能なサーバ/クライアント型の電子会議システムであって、前記サーバは文書の表示画面データを記憶するための複数の画面バッファを備え、各画面バッファ毎に、複数のクライアントが前記表示画面データを同時に表示できる共有画面モード、あるいは1つのクライアントのみが前記表示画面データを表示できる個別画面モードのいずれかのモードが選択され、共有画面モードにあるサーバの画面バッファと個別画面モードにあるサーバの画面バッファの両方に同じ文書データを記憶している場合に、1つのクライアントにおいて個別画面モードにあるサーバの画面バッファに記憶された文書データに対して編集操作を行うと、該操作に対応した所定のタイミング毎に、前記編集操作と同じ編集操作が前記共有画面モードにあるサーバの画面バッファに記憶された文書データに対して行われることを特徴とするサーバ/クライアント型の電子会議システム。
- 6A server / client type electronic conferencing system in which a plurality of clients are connected to one server and each client can view or edit information on the server, and the server is document display screen data. A shared screen mode in which a plurality of screen buffers for storing the data can be provided and a plurality of clients can simultaneously display the display screen data for each screen buffer, or an individual screen mode in which only one client can display the display screen data. When one of the modes is selected and the same document data is stored in both the screen buffer of the server in the shared screen mode and the screen buffer of the server in the individual screen mode, the individual screen mode is set in one client. When an edit operation is performed on the document data stored in the screen buffer of a certain server and a predetermined button is selected, the same edit operation as the edit operation is performed on the document data stored in the screen buffer of the server in the shared screen mode. A server / client type electronic conferencing system characterized by being performed on. 【請求項6】 複数のクライアントが1つのサーバに接続され、各クライアントが前記サーバにある情報を閲覧あるいは編集可能なサーバ/クライアント型の電子会議システムであって、前記サーバは文書の表示画面データを記憶するための複数の画面バッファを備え、各画面バッファ毎に、複数のクライアントが前記表示画面データを同時に表示できる共有画面モード、あるいは1つのクライアントのみが前記表示画面データを表示できる個別画面モードのいずれかのモードが選択され、共有画面モードにあるサーバの画面バッファと個別画面モードにあるサーバの画面バッファの両方に同じ文書データを記憶している場合に、1つのクライアントにおいて個別画面モードにあるサーバの画面バッファに記憶された文書データに対して編集操作を行い、所定のボタンを選択すると、前記編集操作と同じ編集操作が前記共有画面モードにあるサーバの画面バッファに記憶された文書データに対して行われることを特徴とするサーバ/クライアント型の電子会議システム。
- 8A server / client type electronic conferencing system in which a plurality of clients are connected to one server and each client can view or edit information on the server, and the server is document display screen data. A shared screen mode in which a plurality of screen buffers for storing the data can be provided and a plurality of clients can simultaneously display the display screen data for each screen buffer, or an individual screen mode in which only one client can display the display screen data. Or, display the same display screen data as the display screen data of the screen buffer in the shared screen mode as a separate screen for each client, and always set the position of the document displayed on these display screens to the same position. A server / client type electronic conferencing system characterized in that one of the shared screen mirroring modes is selected. 【請求項8】 複数のクライアントが1つのサーバに接続され、各クライアントが前記サーバにある情報を閲覧あるいは編集可能なサーバ/クライアント型の電子会議システムであって、前記サーバは文書の表示画面データを記憶するための複数の画面バッファを備え、各画面バッファ毎に、複数のクライアントが前記表示画面データを同時に表示できる共有画面モード、あるいは1つのクライアントのみが前記表示画面データを表示できる個別画面モード、あるいは共有画面モードにある画面バッファの表示画面データと同じ表示画面データを各クライアント毎に個別の画面として表示し、かつ、これらの表示画面に表示される文書の位置を常に同じ位置とすることができる共有画面ミラーリングモードのいずれかのモードが選択されることを特徴とするサーバ/クライアント型の電子会議システム。
- 9A terminal-to-terminal data communication type electronic conferencing system in which a plurality of terminals provided with a display are connected to a network and data is transmitted and received between the terminals, and the same document is displayed on the displays of all the terminals. A shared window that allows editing operations to be shared on all terminals and an individual window that can individually display and edit the same document as the document displayed in the shared window are displayed simultaneously or alternately. When an editing operation is performed on the individual window, the same editing operation as the editing operation is performed on the document data displayed in the shared window at predetermined timings corresponding to the operation. A data communication type electronic conference system between terminals. 【請求項9】 ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作が行われると、該操作に対応した所定のタイミング毎に、前記編集操作と同じ編集操作が前記共有ウィンドウに表示された文書データに対して行われることを特徴とする端末間データ通信型の電子会議システム。
- 10When the same document data is displayed in the shared window and the individual window, text is input to the document data displayed in the individual window on one terminal, and a sentence end symbol is input. , The input text and the sentence terminator are added to the document data displayed in the shared window so that the document data displayed in the shared window and the individual window have the same contents. Item 9 is a terminal-to-terminal data communication type electronic conferencing system. 【請求項10】 前記共有ウィンドウと個別ウィンドウに同じ文書データを表示している場合に、1つの端末において個別ウィンドウに表示された文書データに対してテキストを入力し、文章終端記号を入力したとき、前記入力されたテキストおよび文章終端記号を、前記共有ウィンドウに表示された文書データに追加することにより、前記共有ウィンドウと個別ウィンドウに表示される文書データを同一内容にすることを特徴とする請求項9記載の端末間データ通信型の電子会議システム。
- 14A terminal-to-terminal data communication type electronic conferencing system in which a plurality of terminals provided with a display are connected to a network and data is transmitted and received between the terminals, and the same document is displayed on the displays of all the terminals. A shared window that allows editing operations to be shared on all terminals and an individual window that can individually display and edit the same document as the document displayed in the shared window are displayed simultaneously or alternately. An inter-terminal data communication type characterized in that when an edit operation is performed on the individual window and a predetermined button is selected, the same edit operation as the edit operation is performed on the document data displayed in the shared window. Electronic conferencing system. 【請求項14】 ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作を行い、所定のボタンを選択すると、前記編集操作と同じ編集操作が前記共有ウィンドウに表示された文書データに対して行われることを特徴とする端末間データ通信型の電子会議システム。
- 15A terminal-to-terminal data communication type electronic conferencing system in which a plurality of terminals provided with a display are connected to a network and data is transmitted and received between the terminals, and the same document is displayed on the displays of all the terminals. And display the shared window that can share the editing operation on all terminals and the individual window that can display and edit the same document as the document displayed in the shared window individually for each terminal at the same time or alternately. When an edit operation is performed on the individual window, the same edit operation as the edit operation is performed on the shared window if the terminal owns the document displayed in the shared window at a predetermined timing corresponding to the operation. If the document data displayed in is not the owner terminal of the document displayed in the shared window, the event data of the edit operation is transmitted to the owner terminal of the document displayed in the shared window, and the edit is performed. A terminal-to-terminal data communication type electronic conferencing system in which a terminal that receives operation event data performs an editing operation on document data displayed in a shared window according to the event data. 【請求項15】 ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作が行われると、該操作に対応した所定のタイミング毎に、共有ウィンドウに表示された文書の所有端末である場合には、前記編集操作と同じ編集操作を共有ウィンドウに表示された文書データに対して行い、共有ウィンドウに表示された文書の所有端末でない場合には、前記編集操作のイベントデータを、共有ウィンドウに表示された文書の所有端末へ送信し、前記編集操作のイベントデータを受信した端末は前記イベントデータに従って、共有ウィンドウに表示された文書データに対して編集操作を行うことを特徴とする端末間データ通信型の電子会議システム。
- 20A terminal-to-terminal data communication type electronic conferencing system in which a plurality of terminals provided with a display are connected to a network and data is transmitted and received between the terminals, and the same document is displayed on the displays of all the terminals. And display the shared window that can share the editing operation on all terminals and the individual window that can display and edit the same document as the document displayed in the shared window individually for each terminal at the same time or alternately. When an edit operation is performed on the individual window and a predetermined button is selected, if the terminal owns the document displayed in the shared window, the same edit operation as the edit operation is performed on the document data displayed in the shared window. If the document is not owned by the document displayed in the shared window, the event data of the edit operation is transmitted to the document owner terminal displayed in the shared window, and the event data of the edit operation is received. The terminal is an inter-terminal data communication type electronic conferencing system characterized in that an editing operation is performed on the document data displayed in the shared window according to the event data. 【請求項20】 ディスプレイを備えた複数の端末がネットワークに接続され、前記端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、全ての端末のディスプレイに同じ文書を表示させ、また全ての端末で編集操作が共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を端末毎に個別に表示、編集できる個別ウィンドウとを同時にまたは交代で表示させ、前記個別ウィンドウに対して編集操作を行い、所定のボタンを選択すると、共有ウィンドウに表示された文書の所有端末である場合には、前記編集操作と同じ編集操作を共有ウィンドウに表示された文書データに対して行い、共有ウィンドウに表示された文書の所有端末でない場合には、前記編集操作のイベントデータを共有ウィンドウに表示された文書の所有端末へ送信し、前記編集操作のイベントデータを受信した端末は前記イベントデータに従って、共有ウィンドウに表示された文書データに対して編集操作を行うことを特徴とする端末間データ通信型の電子会議システム。
Independent claims8
409 paragraphs in 1 section, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Technical field to which the invention belongs]
The present invention relates to a server / client type electronic conferencing system in which a plurality of clients are connected to one server and each client can view or edit the information on the server. It is also a suitable technology for server / client type educational systems that can be viewed or edited.
【0002】
[Conventional technology]
Conventionally, AT & T's VNC (Virtual Network Computing) is software that allows one client to simultaneously display the screen data of both the screen buffer of the server in the shared screen mode and the screen buffer of the server in the individual screen mode in multiple windows. ). With this software, a file system that allows multiple application processes to open multiple times for one document file allows one document to be displayed simultaneously in the shared screen window and individual screen window of the client. You can also perform separate editing operations for individual screens (windows).
【0003】
Another prior art is Microsoft's NetMeeting. This NetMeeting has a function (application sharing function) to share an application running on one terminal or server with multiple other terminals. If the OS of each terminal is Microsoft Windows, the documents displayed by the application sharing function of NetMeeting and the documents in the shared folder of other terminals can be displayed in separate windows at the same time by using the folder sharing function. It can be displayed.
【0004】
[Problems to be Solved by the Invention]
However, in the above-mentioned conventional technique, for example, when copying is performed between two windows, the user needs to specify the position and area of the copy source and the position of the copy destination, which causes a problem that the operation becomes complicated. It was. In the former case, the edited contents of the document displayed in the individual screen window cannot be automatically reflected in the same document displayed in the shared screen window, or can not be reflected by the operation of one button. .. Similarly, with the latter technology, edits to a document displayed using the folder sharing feature can be automatically converted to the same document displayed using NetMeeting's application sharing feature, or by one-button operation. Cannot be reflected.
【0005】
Further, for example, in an electronic conference or the like, electronic cooperation work in which a plurality of terminals share one document (meeting material) and the document is jointly created, edited, and viewed has been conventionally performed. However, since all the work processes of adding and editing shared documents on each terminal are shared, for example, typos and correction work when entering text from the keyboard are displayed on other terminals. It ends up. Therefore, it has been required that terminal users who perform additions and edits do not share work that they do not want others to see.
【0006】
The present invention has been made in view of the above-mentioned problems, and an object of the present invention is electronic collaborative work such as a conference while a plurality of terminals share one document and jointly create, edit, and browse the document. We provide an electronic conferencing system that prevents all terminals from sharing parts that are unnecessary for others or do not want to be seen by others during the work process such as addition and editing performed by each terminal for shared documents. To do.
【0007】
Another object of the present invention is to add data such as sentences created on each terminal to a shared document without specifying the copy source position and area and the copy destination position to improve operability. The purpose is to provide an electronic conferencing system.
【0008】
[Means for solving problems]
1 (a) and 1 (b) are diagrams for explaining the basic concept of the present invention. In the figure, the window type A is a shared screen, and the screen data is the same for the large screen and all terminals. Then, the additions and edits made on one terminal are reflected in real time on the display screens of all other terminals. Window type B is an individual screen, and the same screen data as the shared screen can be displayed and individually added and edited, but this screen data is not shared.
【0009】
When you add a handwritten drawing such as "Important" on the individual screen B of terminal 1 (Fig. 1 (a)) and press a predetermined button, the same handwritten drawing is added to the shared screen A of terminal 2 and terminal 3. It is displayed (Fig. 1 (b)).
【0010】
In the present invention, in the work process of adding and editing a shared document on each terminal, a predetermined portion according to the work is prevented from being shared by all terminals that is unnecessary for others or does not want to be seen by others. At each timing, the work results up to that point are shared by all terminals.
【0011】
In the present invention, the sentence being created is displayed on each terminal until a sentence terminator such as "." (For Japanese), ". (Period)" or "?" (For English) is input. Do not share with all terminals, but when the sentence end symbol is entered, the sentences created so far including the sentence end symbol will be shared with all terminals.
【0012】
In the present invention, the text being created is not shared by all terminals until one line or a predetermined number of lines are input on each terminal, and when a predetermined number of lines are input, the text is created up to that point. Share the text on all terminals.
【0013】
In the present invention, when handwriting input is performed using a mouse or an electronic pen on each terminal, a predetermined time elapses without starting the next stroke (pen down) from the end of the stroke (pen up). Until then, the handwritten data input up to that point is not shared with all terminals, and when a predetermined time elapses without starting the next stroke from the end of the stroke, the handwritten data input up to that point is shared with all terminals. Share with.
【0014】
In the present invention, when handwriting input is performed using an electronic pen on each terminal, input is performed until the movement of the electronic pen is determined to be a predetermined gesture operation for an interscreen copy command. When it is judged that the movement of the electronic pen is a gesture operation for a predetermined screen-to-screen copy command without sharing the handwritten data that has been input to all terminals, the handwritten data that has been input up to that point should be shared by all terminals. To.
【0015】
In the present invention, until a predetermined button displayed on the display or a predetermined function key of the keyboard is selected on each terminal, the editing process up to that point is not shared by all terminals and is displayed on the display. When a predetermined button or a predetermined function key on the keyboard is selected, the edited contents up to that point are shared by all terminals.
【0016】
The same document data is stored in both the screen buffer of the server in the shared screen mode and the screen buffer of the server in the individual screen mode, but each screen data displayed on one client must be in the same location of the document. There is no. For example, if the second page of a document is displayed in the shared screen window of the client, the third page of the same document is displayed in the individual screen window of the same client, and this third page is edited to share. The third page of the document stored in the screen buffer of the server in screen mode is edited in the same way. That is, the client user can edit any place of the document displayed in the shared screen window regardless of the display of the shared screen window.
【0017】
By the way, it is often convenient that the position of the document displayed in the window for the individual screen of the client is always the same as the position of the document displayed in the window for the shared screen.
【0018】
Therefore, in the present invention, data from the same position of the same document is displayed in the shared screen window and the individual screen window of the client, and the data is added to and edited from the shared document by one client to another person in the work process. Do not share unnecessary parts or parts that you do not want others to see on all terminals, and add data such as sentences created by the client to the shared document by setting the copy source position and area and the copy destination position. Improve the convenience of the system by enabling it to be executed without specifying it.
【0019】
It may be useful to know who the text or handwritten drawings added to the shared document belong to. Therefore, in the present invention, the data added to the shared document is displayed separately for each client on which the additional operation is performed.
【0020】
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, some embodiments of the present invention will be specifically described with reference to the drawings. (Server / Client Type Electronic Conferencing System) As an embodiment of the present invention, a server / client type electronic conferencing system in which a plurality of clients view and edit a conference document stored in a server to hold a conference is taken as an example. I will explain.
【0021】
FIG. 2 shows a configuration example of a server / client type electronic conferencing system according to the present invention. The system of the present invention is composed of a server 1, a large display device 2 connected to the server 1, and clients 3 to 6 used by each conference participant, and these devices are wireless LANs (for example, IEEE (Institute of Electrical and Electronics Engineers)). It is connected by Electronics Engineers) 802.11b).
【0022】
Server 1 is, for example, a computer of PC-AT (The Personal Computer for Advanced Technologies) architecture (IBM), and is a PC card for wireless LAN (PCMCIA (PCMCIA) via a PCI adapter board connected to its PCI (Peripheral Compornent Interconnect) bus. (Compliant with the Personal Computer Memory Card International Association) standard) is installed. In addition, Linux is implemented as the OS and X window is implemented as the window system on server 1. In FIG. 1, the keyboard connected to the server 1 is not shown.
【0023】
The large display device 2 has a touch panel attached to the display surface of, for example, a PDP (Plasma Display Panel), is connected to the server 1 by a VGA cable and an RS-232C cable, functions as a display device of the server 1, and also functions as a display device of the server 1. Functions as a touch input device. The VGA cable outputs the screen display signal from the server 1 to the PDP, and the RS-232C cable inputs the touch input coordinate data detected by the touch panel to the server 1. Further, the server 1 processes the input touch input coordinate data in the same manner as the mouse input data.
【0024】
Clients 3 to 6 are portable display pads specialized for the function of transmitting text data and handwritten data input by the user to the server 1 and displaying the screen data received from the server 1, and are electronic. Pens 7 to 10 are included.
【0025】
Figure 3 shows the hardware configuration of the portable display pads 20 that are clients 3 to 6. The portable display pad 20 includes CPU21, clock 22, main memory 23, ROM24, RTC25, wireless LAN controller 26, antenna 27, LCD display controller 28, LCD29, touch panel controller 30, touch panel 31, USB controller 32, USB I / F33. , System bus 34, battery 35, DC-DC converter 36, charging circuit 37, AC adapter 38, etc. The CPU 21 executes and processes a control processing program, an OS, and various application programs stored in the ROM (Read Only Memory) 24. The clock 22 is composed of a crystal oscillator and a frequency divider circuit, and generates a clock for controlling the operation timing of the CPU 21 and the system bus 34. The main memory 23 is composed of DRAM (Dynamic Random Access Memory) and is used in the work area of the CPU 21 or the like. In ROM24, a program for controlling the entire system is written in advance. RTC (Real Time Clock) 25 is a date clock, which is backed up by a dedicated battery (not shown). The wireless LAN controller 26 executes and controls wireless communication conforming to the IEEE802.11b standard. The LCD display controller 28 performs D / A (Digital / Analog) conversion of character and graphic data and screen data received from the server 1 and controls for displaying these data on the LCD 29. The touch panel controller 30 detects a portion of the touch panel 31 where the pen tip of the touch pen 7 comes into contact, and captures the position information thereof. The touch panel 31 overlaps with the LCD 29 and is in close contact with the touch panel 31. USB (Universal Serial) Bus) Controller 32 executes and controls data transfer conforming to the USB standard. The battery 35 is, for example, a lithium ion battery that can be charged. The DC-DC converter 36 converts the power supplied from the AC adapter 38 or the battery 35 into a predetermined voltage and supplies it to the inside of the portable display pad 20, and when there is no power supply from the AC adapter 38, the power is supplied from the battery 35. Switch to the power supply of. The charging circuit 37 charges the battery 35 when power is being supplied from the AC adapter 38. The AC adapter 38 is integrated with a detachable power cable, and the built-in AC-DC converter converts AC power to DC with a predetermined voltage. The portable display pad 20 is equipped with Linux as the OS and X Window as the window system.
【0026】
Next, the operation of the server / client software in which the screen data on the server 1 is transmitted to the clients 3 to 6 and the input data of the user is transmitted from the clients 3 to 6 to the server 1 will be described. The case where the above-mentioned VNC is used as the server / client software will be described below.
【0027】
When the VNC server process (hereinafter, VNC server) is started, it generates one screen buffer for storing the display screen data of the desktop or the display screen data of the document, and the VNC client process (hereinafter, VNC client) is this. Display the screen data in the screen buffer on the display of the own device. Screen data sent from the VNC server to the VNC client and user input data sent from the VNC client to the VNC server are transferred using the RFB (Remote Frame Buffer) protocol. The RFB protocol has the function of dividing the data on one screen into small areas (rectangles) and further compressing and transmitting the image data in this small area. The smallest block in this small area is called a tile and is 16x16 pixels. In this way, since the VNC server can divide the data on one screen and send it, it is possible to select and send only the changed area on one screen. The VNC server process existing in server 1 and the VNC client process existing in clients 3 to 6 can communicate with each other by a socket.
【0028】
The VNC server processes the user's input data received from the VNC client as a key event or pointer event. Upon receiving these events, the VNC server acts as an X server and notifies the X client of the X event so that the VNC client can operate the application (X client) running on server 1. .. Figure 4 shows the relationship between this VNC protocol (RFB protocol) and the X protocol.
【0029】
Next, the operation sequence until the clients 3 to 6 connect to the server 1 and operate the application (X window) running on the server 1 to display the document will be described. Server 1 first starts as many VNC server processes as the required number of screen buffers. If you want to prevent this screen buffer from being shared by multiple clients, that is, to set it to attach to only one client, specify only the screen number in the VNC server startup command. For example, the VNC server start command when the screen number is 2 is as follows. vncserver: 2 [0030]
If you want the screen buffer of server 1 to be shared by multiple clients, specify the option to instruct sharing in addition to the screen number in the VNC server start command. For example, the command to start the VNC server when screen number 1 is shared is as follows. vncserver -alwaysshared: 1 [0031]
In this way, the VNC server process is started so that the screen number 1 is shared by the server 1 and the screen numbers 2 to 5 are individually attached to the clients 3 to 6. Then, each client 3 to 6 starts the VNC client process by specifying the IP (Internet Protocol) address of the server 1 and the screen number to be attached. An example of the VNC client startup command when the screen number to be attached is 3 is shown below. vncviewer 192.168.1.1: 3 Here, 192.168.1.1 is an IP address.
【0032】
FIG. 5 shows an example of the screen buffer allocated in the main memory of the server. Each client 3 to 6 starts a VNC client for a shared screen (screen number 1) and a VNC client for one individual screen (screen numbers 2 to 5), respectively. Then, in each of the clients 3 to 6, a window for displaying the shared screen and a window for displaying the individual screen are displayed on the LCD 29. The server 1 starts the VNC client process by specifying the IP address and screen number 1 of its own device in order to display the shared screen on the large display device 2. In this way, only the shared screen is displayed on the large display device 2, and the shared screen and the individual screen are displayed on the clients 3 to 6, respectively.
【0033】
Next, when one of the clients 3 to 6 uses a predetermined application to display an arbitrary document in the shared screen display window, the same document is displayed on the large display device 2 and the other clients 3 to 6. It is displayed in the shared screen display window. Subsequently, each of the clients 3 to 6 uses the same application used to display the document in the shared screen display window, and displays the same document as the document displayed in the shared screen display window on an individual screen. Display in the window.
【0034】
The above processing can be realized by using known VNC server / client software.
【0035】
The process described below is a process operation related to the present invention. In the present invention, when the same document is displayed in the shared screen display window and the individual screen display window, and the display positions of the documents in the two windows are the same, that is, the same document data is displayed in the shared screen display window and the individual screen. When the document displayed in the individual screen display window is edited while it is displayed in the display window, the same edit as the above edit is performed on the document displayed in the shared screen display window after a predetermined timing. Will be executed.
【0036】
The VNC server that manages the individual screens stores all the key event data and pointer event data received from the VNC client when the document displayed in the individual screen display window is being edited. Then, these stored events are sequentially notified to the VNC server that manages the shared screen at a predetermined timing. The VNC server that manages the shared screen executes the same processing as when receiving from the VNC client for the key event and pointer event received from the VNC server that manages the individual screen. That is, the VNC server that manages the shared screen executes the same processing that is executed in real time for the key event and the pointer event received from the VNC client by the VNC server that manages the individual screens after a predetermined timing period. Key event data and pointer event data are exchanged between the above two VNC servers by interprocess communication using sockets.
【0037】
In the present invention, it is prohibited that the above-mentioned editing operation is executed by a plurality of clients (or terminals) at the same time. That is, in the present invention, the process is executed under the exclusive control of the operation right. Therefore, for example, when adding a sentence, it is possible to prevent a problem that the sentence near the added position is deleted by another client (or terminal) immediately before the addition and the sentence is added at an unintended position. As the exclusive control of the operation right, for example, a known technique as described in MERMAID (Nikkei Computer 1991.3.11), ITU-T Recommendation T.124, ITU-T Recommendation T.125, etc. is used.
【0038】
(Example 1) Example 1 is an example in which input of a sentence terminal symbol is used as the above-mentioned predetermined timing.
【0039】
Clients 3 to 6 can display a keyboard window on LCD29 and enter characters (text) using an electronic pen, or connect a USB keyboard to USB I / F33 and enter characters from the USB keyboard. ..
【0040】
(1) When the display position of the document is the same; First, the same document is displayed in the shared screen display window and the individual screen display window of all clients, and the display position of the document in these two windows is the same. In this case, for example, a case where the shared screen display window and the individual screen display window are displayed from the beginning of the first page of the same document will be described.
【0041】
For example, suppose that a user of client 3 is inputting characters (text) using an electronic pen on a keyboard window in order to add a sentence at a position of a document displayed in an individual screen display window. At this time, this added sentence is displayed only in the individual screen display window of the client 3 until the sentence terminal symbol "." (Japanese), "." Or "?" (English) is input. Has been done. Then, when the sentence terminal symbol is input, the character string (text) input so far and the sentence terminal symbol are added from the same position of the document displayed in the shared screen display window. That is, the content of the document displayed in the shared screen display window of client 3 and the content of the document displayed in the individual screen display window are different from the start of character input until the sentence end symbol is input. , When the sentence end symbol is input, the content of the document displayed in the individual screen display window is reflected in the content of the document displayed in the shared screen display window, and the content of both documents becomes the same.
【0042】
In addition, when the sentence terminal symbol is input from the client 3 and the document displayed in the shared screen display window is updated, the updated document is also updated in the shared screen display window and the large display device 2 of the other clients 4 to 6. Is displayed. Furthermore, the updated document is also displayed in the individual screen display windows of other clients 4 to 6.
【0043】
The above operation will be described in detail. Figure 6 shows the internal processes of server 1 and the data flow between each process and clients 3 to 6. Further, FIGS. 8 and 9 show the operation flow of the VNC server 2 when the user of the client 3 inputs characters (text) in the individual screen display window in the screen display (FIG. 7) of each client.
【0044】
Hereinafter, description will be made with reference to FIGS. 6, 8 and 9. In server 1, VNC server 1 that manages shared screens (screen number 1), each VNC server (VNC servers 2 to 5) that manages individual screens (screen numbers 2 to 5) of clients 3 to 6, and client 3 Document editing application 1 started by operating any of the shared screens of ~ 6, document editing applications 2 to 5 started by operating each individual screen of clients 3 to 6, shared screen (screen number 1) Each process of VNC client 1 that displays the screen data of the above on the large display device 2 is started.
【0045】
In client 3, the process of VNC client 3-A that displays and operates the shared screen with screen number 1 and the process of VNC client 3-B that displays and operates the individual screen with screen number 2 are started. There is. On client 4, the process of VNC client 4-A that displays and operates the shared screen with screen number 1 and the process of VNC client 4-B that displays and operates the individual screen with screen number 3 are started. In client 5, the process of VNC client 5-A that displays and operates the shared screen with screen number 1 and the process of VNC client 5-B that displays and operates the individual screen with screen number 4 are started. On client 6, the process of VNC client 6-A that displays and operates the shared screen with screen number 1 and the process of VNC client 6-B that displays and operates the individual screen with screen number 5 are started.
【0046】
When the electronic pen 7 is pointed to move the cursor to the position where the character (text) is input for the document displayed in the individual screen display window of the client 3, the VNC client 3-B of the client 3 is in the point position. Data (coordinate data) is sent to VNC server 2 of server 1 (arrow 41 in Fig. 6). The VNC server 2 receives the coordinate data as a pointer event (YES in step 101), passes the coordinate data to the document editing application 2 (arrow 42, step 102), and queues the event data (queue 2) (step 2). 103). This queue is an array defined in the program.
【0047】
Next, the document editing application 2 moves the cursor to the position of the received coordinate data and issues a drawing request to the VNC server 2 (arrow 43). When the VNC server 2 receives the drawing request (YES in step 104), it changes the display position of the cursor and sends the updated screen data to the client 3 (arrow 44, step 105).
【0048】
Subsequently, when a character (text) is input in the individual screen display window of the client 3, the VNC client 3-B sends this character code to the VNC server 2 (arrow 41). VNC server 2 receives these character codes as key events (YES in step 106), passes these character codes to document editing application 2 (arrow 42) (step 107), and queues this event data to queue 2. (Step 108).
【0049】
When the document editing application 2 receives these character codes, it adds these character codes to the document data and issues a drawing request to the VNC server 2 (arrow 43). When the VNC server 2 receives the drawing request (YES in step 109), it displays the character font corresponding to each character code at the cursor position and sends the updated screen data to the client 3 (arrow 44, step 110). ..
【0050】
As described above, when the user inputs the character string and the sentence terminal symbol is input, the VNC server 2 receives the sentence terminal symbol (YES in step 111) and sets the sentence terminal symbol (character code) to the document editing application. Pass it to 2 (arrow 42) and put this event data (sentence terminal symbol) in queue 2 (step 112).
【0051】
When the document editing application 2 receives the sentence termination symbol (character code), it adds the sentence termination symbol (character code) to the document data and issues a drawing request to the VNC server 2 (arrow 43). When the VNC server 2 receives the drawing request (YES in step 113), the VNC server 2 displays the character font corresponding to the sentence terminal symbol (character code) at the cursor position and sends the updated screen data to the client 3 (arrow 44). , Step 114).
【0052】
The VNC server 2 sequentially transmits the event data contained in the queue 2 to the VNC server 1 and the VNC servers 3 to 5 in the order of first-in and first-out (step 115). Before and after transmitting the event data in queue 2, an event including data indicating the start of these event data groups (event group start data) and data indicating the end (event group end data). Data is also sent to VNC server 1 and VNC servers 3-5 (arrows 45-48).
【0053】
The VNC server 1 passes these event data between the event group start data and the event group end data to the document editing application 1 (arrow 49). The document editing application 1 performs processing corresponding to these event data (arrow 50), that is, performs the same processing as the previously executed document editing application 2. The VNC server 1 does not send the updated screen data (shared screen data) to the clients 3 to 6 from the time when the event group start data is received to the time before the event group end data is received. Then, when the VNC server 1 receives the event group end data, it sends the screen data at that time to the client 3 (arrow 51). As a result, the contents of the document displayed in the shared screen display window of the client 3 and the document displayed in the individual screen display window are the same. Further, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also to the VNC client 1 (arrow 55). Clients 4 to 6 display these shared screen data on the LCD 29, and VNC client 1 displays them on the large display device 2.
【0054】
VNC servers 3 to 5 perform the same processing as VNC server 1, so the display screens of the individual screen display windows of clients 4 to 6 are updated (arrows 56 to 64), and the shared screen display windows of clients 3 to 6 are displayed. The contents of the displayed document and the contents of the document displayed in the individual screen display window are all the same document contents.
【0055】
(2) When the display position of the document is different; Next, when the same document is displayed in the shared screen display window and the individual screen display window of each client, but the display position of the document in these two windows is different. That is, a case where the document data displayed in the shared screen display window and the individual screen display window are different will be described.
【0056】
For example, the shared screen display window of clients 3 to 6 has the first page, the individual screen display windows of client 3 and client 5 have the second page, and the individual screen display window of client 4 has the third page. It is assumed that the fourth page is displayed in the individual screen display window of 6. FIG. 7 shows an example of screen display of clients 3 to 6 at this time.
【0057】
When the user of Client 3 moves the cursor to the position of the document on the second page displayed in the individual screen display window and inputs characters (text) using the electronic pen on the keyboard window to add sentences, VNC client 3-B of client 3 sends these point position data (coordinate data) and character code to VNC server 2 of server 1 (arrow 41).
【0058】
The VNC server 2 receives this coordinate data as a pointer event, receives the character code as a key event, passes the coordinate data and the character code to the document editing application 2 (arrow 42), and puts these event data in the queue 2. .. When the document editing application 2 receives the coordinate data, it moves the cursor to that position on the second page and issues a drawing request to the VNC server 2 (arrow 43). When the document editing application 2 receives the character codes (arrow 42), it adds these character codes to the document data and issues a drawing request to the VNC server 2 (arrow 43). The VNC server 2 changes the display position of the cursor and sends the updated screen data to the client 3 (arrow 44), displays the character font corresponding to each character code at the cursor position, and displays the updated screen data. Send to client 3 (arrow 44).
【0059】
As described above, when the character string is input by the user and the sentence terminal symbol is input, the VNC server 2 receives the sentence terminal symbol and sends the sentence terminal symbol (character code) to the document editing application 2 (arrow 42). While passing it, put this event data (sentence terminal symbol) in queue 2.
【0060】
When the document editing application 2 receives the sentence termination symbol (character code), it adds the sentence termination symbol (character code) to the document data and issues a drawing request to the VNC server 2 (arrow 43). When the VNC server 2 receives the drawing request, it displays the character font corresponding to the sentence terminal symbol (character code) at the cursor position and sends the updated screen data to the client 3 (arrow 44).
【0061】
The VNC server 2 transmits the event data contained in the queue 2 to the VNC server 1 and the VNC servers 3 to 5 in the order of first-in and first-out. Before and after transmitting the event data in queue 2, an event including data indicating the start of these event data groups (event group start data) and data indicating the end (event group end data). Data is also sent to VNC server 1 and VNC servers 3-5. (Arrows 45-48).
【0062】
The VNC server 1 passes these event data between the event group start data and the event group end data to the document editing application 1 (arrow 49). The document editing application 1 performs processing corresponding to these event data (arrow 50), that is, performs the same processing as the previously executed document editing application 2.
【0063】
The VNC server 1 does not send the updated screen data (shared screen data) to the clients 3 to 6 from the time when the event group start data is received to the time before the event group end data is received. Then, when the VNC server 1 receives the event group end data, it sends the screen data at that time to the client 3 (arrow 51). Therefore, the contents of the document displayed in the shared screen display window of the client 3 and the document displayed in the individual screen display window are the same. Further, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also to the VNC client 1 (arrow 55). Clients 4 to 6 display these shared screen data on the LCD 29, and VNC client 1 displays them on the large display device 2.
【0064】
The VNC server 3 passes the event data received from the VNC server 2 to the document editing application 3 (arrow 56). The document editing application 3 performs processing corresponding to these event data, that is, performs the same processing as the previously executed document editing application 2, but the processed page (second page) is displayed on the client 4. Since it has not been done, no drawing request is sent to VNC server 3. In this case, when the VNC server 3 receives the event group end data, the screen data at that time is not transmitted to the client 4 because there is no change in the screen data. Therefore, the display content of the individual screen display window of the client 4 does not change.
【0065】
The VNC server 4 passes the event data received from the VNC server 2 to the document editing application 4 (arrow 59). The document editing application 4 performs processing corresponding to these event data, that is, performs the same processing as the previously executed document editing application 2, and requests and adds a cursor drawing at the position instructed to the VNC server 4. Make a request to draw the character (arrow 60). The VNC server 4 changes the display position of the cursor and displays the character font corresponding to each character code at the cursor position. Then, when the VNC server 4 receives the event group end data, it sends the screen data at that time to the client 5 (arrow 61). Therefore, the display content of the individual screen display window of the client 5 is updated to be the same as the content of the document displayed in the individual screen display window of the client 3.
【0066】
The VNC server 5 passes the event data received from the VNC server 2 to the document editing application 5 (arrow 62). The document editing application 5 performs processing corresponding to these event data, that is, performs the same processing as the previously executed document editing application 2, but the processed page (second page) is displayed on the client 6. Since it has not been done, no drawing request is sent to VNC server 5. In this case, when the VNC server 5 receives the event group end data, the screen data at that time is not transmitted to the client 6 because there is no change in the screen data. Therefore, the display content of the individual screen display window of the client 6 does not change.
【0067】
In the above embodiment, the operation when characters (text) are input in the individual screen display window of the client 3 has been described, but the characters (text) in any individual screen display window of the clients 4 to 6 have been described. When is input, the corresponding VNC server (3 to 5) executes the same operation as VNC server 2, so that the screen display contents of each client can be displayed in the same manner as described above.
【0068】
(Example 2) In the above-described first embodiment, when the VNC server 2 receives the sentence terminator from the client 3, the event data (including the sentence terminator) received up to that point is collected by the VNC server 1 and the VNC server. This is an example of transmitting to 3 to 5 and executing the same editing process by the document editing applications 1 to 5, but in this embodiment, when the VNC server 2 receives the line feed code from the client 3, it is different from the first embodiment. Perform similar processing. The operation of the second embodiment is that the sentence terminal symbol of the first embodiment described with reference to FIGS. 8 and 9 is replaced with a line feed code.
【0069】
That is, the timing at which the VNC server 2 transmits the event data stored in the queue 2 to the VNC server 1 and the VNC servers 3 to 5 is not when the sentence termination symbol is received from the client 3, but when the line feed code is received. Therefore, in the second embodiment, the contents of the documents displayed in the shared screen display window and the individual screen display window are different until the user inputs one line of characters (text) and a line break is made, but a line break is made. The contents of the documents displayed in these windows will be the same.
【0070】
Example 2 described above is an example of inputting characters (text) for one line, but the present invention is not limited to this, and when a user inputs characters (text) for a plurality of lines, that is, VNC server 2 Even when a plurality of line feed codes are received, it can be executed in the same manner as in the second embodiment described above.
【0071】
(Example 3) Example 3 is an example in which the client user inputs by handwriting instead of inputting text. In this embodiment, whether or not the user is performing the writing operation is determined from the duration of the state in which the electronic pen is up.
【0072】
Assuming that the screen display of each client is FIG. 7, the third embodiment will be described with reference to FIGS. 6 and 10 (operation flowchart of VNC server 2).
【0073】
When the touch panel controller 30 of the client 3 detects that the electronic pen has touched the touch panel 31 (FIG. 3), the client 3 transmits the contact coordinates to the VNC server 2 at predetermined time intervals for coordinate detection ( Arrow 41). The VNC server 2 receives the coordinate data as a pointer event and passes the coordinate data to the document editing application 2 (arrow 42).
【0074】
The document editing application 2 uses the coordinate data as the cursor position data or as the drawing position data for free line drawing. Now, the document editing application 2 is in the mode to use the received coordinate data as the drawing position data for free line drawing, and executes the function to draw a line between the received coordinates during one stroke (from pen down to pen up). doing. At the start of this free line drawing function, the document editing application 2 sends setting information such as the color and thickness of the drawing line to the VNC server 2. This is a request from the X client to the X server in the X protocol.
【0075】
When the VNC server 2 receives the drawing line setting information (YES in step 201), it operates in the handwriting input mode (step 202). When the VNC server 2 is in handwriting input mode, it measures the time between pointer events received from client 3 (steps 203, 204). If this measurement time is within a predetermined time, the VNC server 2 passes the coordinate data to the document editing application 2 (arrow 42, step 205) and queues the pointer event data (step 206). This queue is an array defined in the program.
【0076】
When the document editing application 2 receives the coordinate data, it sends a request to the VNC server 2 to draw a line between the previously received coordinates (arrow 43). When the VNC server 2 receives the drawing request (YES in step 207), it draws a line between the coordinates and sends the updated screen data to the client 3 (arrow 44, step 208). Then, when the measurement time between the pointer events exceeds a predetermined time, that is, when the timer started when the pointer event is received times out (YES in step 209), the VNC server 2 is in the queue 2 for the event data. Is sent to VNC server 1 and VNC servers 3 to 5 in the order of first-in and first-out (step 210).
【0077】
Before and after transmitting the event data in queue 2, an event including data indicating the start of these event data groups (event group start data) and data indicating the end (event group end data). Data is also sent to VNC server 1 and VNC servers 3-5 (arrows 45-48).
【0078】
The VNC server 1 passes these event data between the event group start data and the event group end data to the document editing application 1 (arrow 49). The document editing application 1 performs processing corresponding to these event data (arrow 50), that is, performs the same processing as the previously executed document editing application 2. The VNC server 1 does not send the updated screen data (shared screen data) to the clients 3 to 6 from the time when the event group start data is received to the time before the event group end data is received. Then, when the VNC server 1 receives the event group end data, it sends the screen data at that time to the client 3 (arrow 51).
【0079】
Therefore, the contents of the document displayed in the shared screen display window of the client 3 and the document displayed in the individual screen display window are the same. Further, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also to the VNC client 1 (arrow 55). Clients 4 to 6 display these shared screen data on the LCD 29, and VNC client 1 displays them on the large display device 2.
【0080】
The VNC server 3 passes the event data received from the VNC server 2 to the document editing application 3 (arrow 56). The document editing application 3 performs processing corresponding to these event data, that is, performs the same processing as the previously executed document editing application 2, but the processed page (second page) is displayed on the client 4. Since it has not been done, no drawing request is sent to VNC server 3. In this case, when the VNC server 3 receives the event group end data, the screen data at that time is not transmitted to the client 4 because there is no change in the screen data. Therefore, the display content of the individual screen display window of the client 4 does not change.
【0081】
The VNC server 4 passes the event data received from the VNC server 2 to the document editing application 4 (arrow 59). The document editing application 4 performs processing corresponding to these event data, that is, performs the same processing as the previously executed document editing application 2, and issues a line drawing request between coordinates to the VNC server 4 (arrow 60). .. The VNC server 4 draws a line according to this request. Then, when the VNC server 4 receives the event group end data, it sends the screen data at that time to the client 5 (arrow 61). In this way, the display content of the individual screen display window of the client 5 is updated to be the same as the content of the document displayed in the individual screen display window of the client 3.
【0082】
The VNC server 5 passes the event data received from the VNC server 2 to the document editing application 5 (arrow 62). The document editing application 5 performs processing corresponding to these event data, that is, performs the same processing as the previously executed document editing application 2, but the processed page (second page) is displayed on the client 6. Since it has not been done, no drawing request is sent to VNC server 5. In this case, when the VNC server 5 receives the event group end data, the screen data at that time is not transmitted to the client 6 because there is no change in the screen data. Therefore, the display content of the individual screen display window of the client 6 does not change.
【0083】
(Example 4) In the fourth embodiment, the user performs handwriting input using an electronic pen in the individual screen display window of the client, and performs a predetermined gesture operation on the touch panel 31, so that the handwriting input up to that point is performed. This is an example when the drawing is copied to the shared screen.
【0084】
11 and 12 are operation flowcharts of the VNC server 2 according to the fourth embodiment. Hereinafter, the fourth embodiment will be described. When the free line drawing function is started, the document editing application 2 transmits setting information such as the color and thickness of the drawing line to the VNC server 2. This is a request from the X client to the X server in the X protocol.
【0085】
When the VNC server 2 receives the drawing line setting information (YES in step 301), it operates in the handwriting input mode (step 302). When the VNC server 2 enters the handwriting input mode, the current time is obtained as a time stamp for each pointer event received from the client 3 (steps 303 and 304). The VNC server 2 cyclically adds the coordinate data together with the time stamp to the coordinate array existing on the main memory 23 (step 305), and matches the predetermined pattern for the copy command between screens from the data in the coordinate array. Determine whether or not to do so (step 306). At this point, it has not been determined whether the data is drawing data or a copy command. Therefore, the screen data is transmitted to the client 3 in the same manner as in the third embodiment, and the screen data is temporarily displayed in the individual screen display window.
【0086】
FIG. 13 shows an example of a pattern for the screen-to-screen copy command. In FIG. 13, the point A is the pen-down position and the point D is the pen-up position, and the pen tip moves from the point A to the point B, from the point B to the point C, and from the point C to the point D. The parameters to be compared with this pattern are the lengths of line segment AB, line segment BC, and line segment CD, the time from point A to point D (stroke time), vector AB (A B), and vector BC (B). C) and vector CD (C D) directions (angles formed by the X-axis and Y-axis of the display screen).
【0087】
In FIG. 13, the angle formed by the vector AB and the Y axis is α, the angle formed by the vector BC and the Y axis is β, and the angle formed by the vector CD and the X axis is γ. In order to determine that the movement of the pen tip is a pattern for the inter-screen copy command, each parameter value other than the stroke time is defined in a predetermined range in the reference parameters. The stroke time and the upper and lower limits of these parameters are stored in ROM24 in advance. Then, the start point (point A in FIG. 13) and the end point (point D in FIG. 13) of the stroke are determined from the coordinate sequence (stored in the coordinate array) received from the client 3 based on the time stamp, and the points from the point A are determined. If the time to D is less than or equal to a predetermined value, the vector between the coordinates in this one stroke is obtained, the point where the direction of the vector changes significantly (point B or point C in FIG. 13) is detected, and the line segment AB. , Line segment BC, and line segment CD, respectively, and the three angles α, β, and γ shown in FIG. 13 are obtained, and these parameter values are within the predetermined values stored in ROM24 in advance. If all the conditions are satisfied, it is judged that it is an inter-screen copy command (YES in step 307).
【0088】
When the inter-screen copy command is detected, the number of coordinates that satisfy the above conditions in the direction retroactive from the latest to the past in the event data stored in queue 2 (that is, the coordinates in FIG. 13 corresponding to the copy command). Only the data) is passed to the document editing application 2 together with the drawing deletion instruction information, and the passed event data is deleted from the queue 2 (step 308).
【0089】
The document editing application 2 sends a request for redrawing the background part of the drawing line (overwriting the drawing line) to the VNC server 2 in order to erase the instructed drawing line, and when the VNC server 2 receives the request ( Step 309), overwrites the specified line drawing part with the background data, erases the line, and sends the updated screen data to the client 3 (step 310).
【0090】
As described above, the movement of the pen tip for the gesture is once drawn on the individual screen display window of the client 3, but when the VNC server 2 recognizes the gesture movement, this drawing is canceled. Then, the VNC server 2 sequentially transmits the event data contained in the queue 2 to the VNC server 1 and the VNC servers 3 to 5 in the order of first-in and first-out (step 311). Subsequent operations are the same as in the third embodiment described above. Further, when the condition is not satisfied in step 307, the operation is the same as in the third embodiment (steps 312 to 315).
【0091】
(Example 5) In the fifth embodiment, the user performs an editing operation using an electronic pen or a USB keyboard on the document displayed in the individual screen display window of the client, and a predetermined button displayed on the LCD 29 is selected. This is an example in which the editing process up to that point is also executed for the document displayed on the shared screen.
【0092】
FIG. 14 is an operation flowchart of the VNC server 2 according to the fifth embodiment. Hereinafter, the fifth embodiment will be described. On the display screen of the LCD29, a button (edit synchronization button) is displayed in an area other than the shared screen display window and the individual screen display window.
【0093】
The edit synchronization button is a button for executing the same editing process performed on the document displayed in the individual screen display window on the document displayed in the shared screen display window.
【0094】
When various editing operations such as character (text) input, handwriting input, text deletion, and text copy are performed on the document displayed in the individual screen display window of client 3, the VNC client 3-B of client 3 Send key code (character / symbol code, line feed code, etc.) and point position data (coordinate data) to VNC server 2 of server 1. The VNC server 2 passes these received event data (key code, coordinate data) to the document editing application 2 (steps 401 and 402) and puts them in queue 2 (step 403). This queue is an array defined in the program.
【0095】
If the edit synchronization button is not selected (NO in step 404), the document editing application 2 processes according to the received event data, and if the screen display data needs to be changed, it is drawn to the VNC server 2. Make a request. The VNC server 2 receives the drawing request (YES in step 405), performs the instructed drawing, and sends the updated screen data to the client 3 (step 406).
【0096】
When the edit sync button is selected by the user, application 2 makes a request to VNC server 2 to instruct edit synchronization, and when VNC server 2 receives a request to instruct edit synchronization (YES in step 404), it goes to queue 2. The contained event data is sequentially transmitted to VNC server 1 and VNC servers 3 to 5 in the order of first-in and first-out (step 407). Before and after transmitting the event data in queue 2, an event including data indicating the start of these event data groups (event group start data) and data indicating the end (event group end data). Data is also sent to VNC server 1 and VNC servers 3-5.
【0097】
The VNC server 1 passes these event data between the event group start data and the event group end data to the document editing application 1, and the document editing application 1 performs the processing corresponding to these event data, that is, the destination. Performs the same processing as the document editing application 2 executed in. The VNC server 1 does not send the updated screen data (shared screen data) to the clients 3 to 6 from the time when the event group start data is received until the time before the event group end data is received. Then, when the VNC server 1 receives the event group end data, it sends the screen data at that time to the clients 3 to 6 and the VNC client 1. Then, the contents of the document displayed in the shared screen display window of the client 3 and the document displayed in the individual screen display window are the same. When VNC servers 3 to 5 also receive event data from server 2, they execute the same processing as in the above embodiment, and document editing applications 3 to 5 also perform the same processing as the previously executed document editing application 2. The content of the document displayed in the shared screen display window of clients 3 to 6 (the same applies to the document displayed in the large display device 2) and the content of the document displayed in the individual screen display window are the same.
【0098】
(Example 6) Example 6 is an example relating to the shared screen mirroring mode. The shared screen mirroring mode is an operation mode in which the display data of the shared screen and the display data of the individual screens of the clients 3 to 6 are always the same. This mode is set by touching the shared screen mirroring mode setting button (not shown) displayed on the large display device 2 before the start of the conference, or any terminal that can operate the shared screen during the conference (for example,). It is set by selecting the shared screen mirroring mode setting button displayed on the shared screen from the client 3).
【0099】
In the shared screen mirroring mode, in order to keep the display data of the shared screen and the display data of the individual screens of clients 3 to 6 always the same, the operation on the shared screen is the same for the individual screens of clients 3 to 6. Make it work as you do.
【0100】
The operation of the shared screen mirroring mode will be described with reference to FIG. The VNC server 1 existing in the server 1 receives the event data of the key event and the pointer event received from the VNC clients 3-A to 6-A existing in the VNC client 1 and the clients 3 to 6, and the VNC server existing in the server 1. Send to 2 ~ 5.
【0101】
When character input is performed on the shared screen of client 3, VNC client 3-A sends the character code to VNC server 1 of server 1 (arrow 71). VNC server 1 receives this character code as a key event, passes this character code to document editing application 1 (arrow 72), and when document editing application 1 receives this character code, it adds this character code to the document data. At the same time, a drawing request is sent to VNC server 1 (arrow 73).
【0102】
The VNC server 1 displays the character font corresponding to the character code at the cursor position and sequentially transmits the updated screen data to the client 3, the VNC client 1, and the clients 4 to 6 (arrows 74 to 78). Then, the VNC server 1 transmits the previously received key event data to the VNC servers 2 to 5 (arrows 79 to 82).
【0103】
When the VNC server 2 receives the event data, the character code is passed to the document editing application 2 (arrow 83), and when the document editing application 2 receives the character code, the character code is added to the document data and drawn to the VNC server 2. Make a request (arrow 84). The VNC server 2 displays the character font corresponding to the character code at the cursor position and sends the updated screen data to the VNC client 3-B of the client 3 (arrow 85). VNC servers 3 to 5 also operate in the same way as VNC server 2, the display of individual screens of clients 4 to 6 is updated (arrows 86 to 94), and the display data and individual screens of the shared screen display window of clients 3 to 6 are updated. All the display data in the display window have the same contents.
【0104】
On the shared screen of client 3, even if the electronic pen 7 is used to move the cursor or select a menu, the character code is replaced with point position data (coordinate data) and the key event is replaced with a pointer event by the above operation. Then, the same operation as described above is executed. Since all operations on the shared screen are automatically performed on the individual screens of all clients, the display position of the document on the shared screen always matches the display position of the document on the individual screens of all clients. To do.
【0105】
An example of the operation for the document displayed on the individual screens of the clients 3 to 6 set in the shared screen mirroring mode as described above will be described. Here, the above-mentioned Example 1 is used as an operation example thereof. That is, text is input to the document displayed in the individual screen display window of the client 3, and each time the sentence end symbol is input, the document displayed in the shared screen display window of the clients 3 to 6 and the document displayed in the individual screen display window are displayed. The operation that the contents of all the documents are the same will be described.
【0106】
Hereinafter, description will be made with reference to FIG. The operation of the VNC server 2 is the same as that of the first embodiment as shown in the flowcharts of FIGS. 8 and 9.
【0107】
When the electronic pen 7 is pointed to move the cursor to the position where the character (text) is input for the document displayed in the individual screen display window of client 3, the VNC client 3-B of client 3 is this. Point Position data (coordinate data) is sent to VNC server 2 of server 1 (arrow 41). The VNC server 2 receives the coordinate data as a pointer event, passes the coordinate data to the document editing application 2 (arrow 42), and puts this event data in the queue (queue 2). This queue is an array defined in the program. Then, the document editing application 2 moves the cursor to the position of the received coordinate data and issues a drawing request to the VNC server 2 (arrow 43).
【0108】
The VNC server 2 changes the display position of the cursor and sends the updated screen data to the client 3 (arrow 44). Subsequently, when a character (text) is input in the individual screen display window of the client 3, the VNC client 3-B sends this character code to the VNC server 2 (arrow 41). The VNC server 2 receives these character codes as key events, passes these character codes to the document editing application 2 (arrow 42), and queues the event data in queue 2. When the document editing application 2 receives these character codes, it adds these character codes to the document data and issues a drawing request to the VNC server 2 (arrow 43). The VNC server 2 displays the character font corresponding to each character code at the cursor position and sends the updated screen data to the client 3 (arrow 44).
【0109】
In this way, when the character string is input by the user and the sentence end symbol is input, the VNC server 2 sequentially inputs the event data including the sentence end symbol in queue 2 in the order of first-in and first-out. , Send to VNC server 1 and VNC servers 3-5. Before and after transmitting the event data in queue 2, an event including data indicating the start of these event data groups (event group start data) and data indicating the end (event group end data). Data is also sent to VNC server 1 and VNC servers 3-5 (arrows 45-48).
【0110】
VNC server 1 passes these event data between the event group start data and the event group end data to the document editing application 1 (arrow 49). The document editing application 1 performs processing corresponding to these event data (arrow 50), that is, performs the same processing as the previously executed document editing application 2. The VNC server 1 does not send the updated screen data (shared screen data) to the clients 3 to 6 from the time when the event group start data is received to the time before the event group end data is received.
【0111】
When the VNC server 1 receives the event group end data, it sends the screen data at that time to the client 3 (arrow 51). Then, the contents of the document displayed in the shared screen display window of the client 3 and the document displayed in the individual screen display window are the same. Further, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also to the VNC client 1 (arrow 55). Clients 4 to 6 display these shared screen data on the LCD 29, and VNC client 1 displays them on the large display device 2.
【0112】
VNC servers 3 to 5 perform the same processing as VNC server 1, and the display screen of the individual screen display window of clients 4 to 6 is updated (arrows 56 to 64) and displayed in the shared screen display window of clients 3 to 6. The contents of the document and the document displayed in the individual screen display window are all the same.
【0113】
An example in which a sentence terminal symbol is used as a predetermined timing has been described, but the present invention is not limited to this, and for example, the text shown in Examples 2 to 5 described above is one line or a predetermined text. It can also be applied when multiple lines are input, when a predetermined time has passed since the end of the handwritten stroke (pen-up), when it is judged to be a gesture operation for an interscreen copy command, or when a predetermined button is selected. is there.
【0114】
(Example 7) Example 7 is an example in which the distinctiveness of the added data is improved. That is, the text, handwriting drawing data, etc. added in the individual screen display window of one client are added to the document displayed in the shared screen display window at the predetermined timings shown in Examples 1 to 6. By making the attributes such as the display color of the text and the handwritten drawing data different, each client is displayed and identified separately.
【0115】
Hereinafter, the operation of the seventh embodiment will be described with reference to FIGS. 6 and 16 (operation flowchart of the VNC server 1).
【0116】
It is the document editing application 1 that adds data such as text and handwritten drawing data to the document displayed in the shared screen display window. Therefore, the VNC server 1 passes the event data received from the VNC servers 2 to 5 to the document editing application 1 together with the number that identifies each VNC server (steps 501 and 502). As a number for identifying the VNC server, for example, numbers 1 to 4 are assigned to VNC servers 2 to 5, respectively.
【0117】
The document editing application 1 adds the character code and handwritten data received as event data to the document data, and sends a drawing request to the VNC server 1 to draw the added data in the color corresponding to the VNC server identification number. put out. For example, each color of red, blue, green, and yellow is associated with VNC server identification numbers 1 to 4, respectively.
【0118】
The VNC server 1 that receives the drawing request displays the character font and handwritten drawing line corresponding to each character code in the specified color, and sends the updated screen data to clients 3 to 6 and VNC client 1. (Steps 503, 504, 505). That is, the text and hand-drawn drawing data added in the individual screen display window of client 3 are displayed in red on the shared screen, and the text and hand-drawn drawing data added in the individual screen display window of client 4 are displayed in blue on the shared screen. Is displayed.
【0119】
In each of the above-described embodiments, the case where the editing operation is performed by the client 3 has been described, but the same applies to the case where the editing operation is performed by the clients 4 to 6.
【0120】
Further, in each of the above embodiments, an example in which a wireless LAN is used as a communication means between the server 1 and the clients 3 to 6 has been described, but other communication such as Bluetooth and a wired LAN (Ethernet (registered trademark)) is described. Means may be used. Further, although the description has been given using an example in which clients 3 to 6 are portable display pads, the present invention is not limited to this, and terminals capable of implementing VNC client software and communicating with server 1, such as notebook PCs and PDAs, etc. You may use the terminal of.
【0121】
(Electronic Conferencing System for Inter-Terminal Data Communication) The following embodiment is an electronic conferencing system when terminals form a data communication system. That is, in the electronic conferencing system of the present invention, a plurality of terminals having a display are connected to a network, and a conference is held while viewing and editing a document shared by all terminals and a document individually owned by each terminal. ..
【0122】
FIG. 17 shows an example of a network configuration including a plurality of terminals. This network consists of terminals 1000, 1010, 1020, 1030, and 1040 used by each conference participant, and these terminals are connected by wireless LAN. Terminals 1000 to 1040 are portable display pads with a built-in hard disk, and electronic pens 1050 to 1090 are attached.
【0123】
FIG. 18 shows the hardware configuration of the portable display pad 20a, which is terminals 1000 to 1040. In FIG. 18, CPU21, clock 22, main memory 23, ROM24, RTC25, wireless LAN controller 26, antenna 27, LCD display controller 28, LCD29, touch panel controller 30, touch panel 31, USB controller 32, USB I / F33, system bus. 34, the battery 35, the DC-DC converter 36, the charging circuit 37, and the AC adapter 38 are the same components as those described in FIG. The portable display pad 20a of this embodiment is further provided with an HD (Hard Disc) controller 39 and a hard disk 40. In addition, the portable display pad 20a is equipped with Linux as the OS and X window as the window system.
【0124】
Next, a method of executing an electronic conference while transmitting and receiving data between terminals 1000 to 1040 will be described. For example, the ITU-T Recommendation T.120 series is used as the communication protocol for executing this electronic conference. This protocol configuration is shown in FIG.
【0125】
The conference application 1200 is a set of applications for executing an application sharing function, a whiteboard function, a file transfer function, and the like. ASCE (Application Sharing Conference Entity) 1210 is an entity for sharing applications among all terminals that participated in the conference, and performs operations in accordance with ITU-T Recommendation T.128. SICE (Still Image Conferencing Entity) 1220 is an entity for sending and receiving bitmap data, handwritten drawing data, etc., and executes operations in accordance with ITU-T Recommendation T.126. The SICE1220 is mainly used for the whiteboard function.
【0126】
BFTE (Binary File Transfer Entity) 1230 is an entity for file transfer and performs operations in accordance with ITU-T Recommendation T.127. Node controller 1240 and GCC (Generic Conference Control) 1250 are conference control applications in which terminals connected to the network execute conferences under the control of the chairman and manage a list of terminal information such as the capabilities and attributes of each terminal. , Perform operations in accordance with ITU-T Recommendation T.124.
【0127】
The MCS (Multipoint Communication Service) 1260 executes a session layer protocol between multiple terminals and performs operations in accordance with ITU-T Recommendation T.125. TCP (Transmission Control Protocol) 1270 executes transport layer protocols such as retransmission control and flow control. IP (Internet Protocol) 1280 implements a network layer protocol that controls the transmission and reception of data packets. The wireless LAN driver 1290 operates as an interface between IP1280 and the wireless LAN controller 26.
【0128】
The communication operation of MCS1260, GCC1250, and node controller 1240 will be described.
【0129】
The MCS1260 is called an MCS provider, and a wireless network consisting of terminals 1000 to 1040 as a network between MCS providers is called an MCS domain. In the network configuration of FIG. 17, when the terminal 1000 is used as the chair terminal, the MCS domain has a hierarchical structure as shown in FIG. The MCS provider of terminal 1000, which is the chair, is the top MCS provider and ranks higher than the MCS providers of other terminals. After establishing the MCS connection, each terminal attaches to the MCS domain. By this attachment, each terminal acquires the MCS user ID which is a terminal identifier in the MCS domain.
【0130】
Each terminal then subscribes to the MCS channel. The MCS channel is an address within the MCS domain, and all terminals subscribed to the same channel receive data sent to that channel. Here, when the terminal 1010 transmits data to the channels to which all the terminals are subscribed, this data is transferred to the terminal 1000 which is the top MCS provider. Then, the terminal 1000 transfers this data to the terminals 1020 to 1040. In this way, by subscribing to the same channel by all terminals, data can be transmitted to all terminals. The MCS user ID, which is a terminal identifier in the MCS domain, is also used as the MCS channel number, and is used as the MCS channel number when sending data to individual destinations.
【0131】
The GCC1250 is called the GCC provider, and the GCC provider for terminals that are the top MCS providers is called the top GCC provider. When each GCC provider participates in a conference, it displays a list of conference applications such as application sharing function, whiteboard function, file transfer function, and terminal information (conference node list) such as MCS user ID, which is a terminal identifier in the MCS domain. Send to all other GCC providers. This broadcast transmission is realized by transmitting data to the MCS channel to which all terminals are subscribed.
【0132】
These terminal information is received by each terminal and managed by the node controller 1240. GCC also controls the allocation of chairmanship, and the top GCC provider has chairmanship at the start of the conference. The node controller 1240 issues various primitives to the GCC 1250 according to the request from the user, and manages the application list, conference node list, etc. of its own terminal and all other terminals.
【0133】
Next, a method of sharing a document held by one terminal among all terminals connected to a wireless network will be described. Sharing of this document is achieved using the application sharing feature in accordance with ITU-T Recommendation T.128. Now, a case where the chair terminal 1000 has a shared document and the terminals 1010 to 1040 share this document will be described.
【0134】
The display data of the shared window (host window) on which the terminal 1000 displays the shared document is transmitted to all other terminals (terminals 1010 to 1040) by the protocol between ASCE1210, and the terminals 1010 to 1040 transmit this data. Display in the shared window (shadow window) of your terminal.
【0135】
When the display data of the shared window (host window) is changed, the terminal 1000 transmits the display data of the changed part to all other terminals. When text input or handwriting input is performed in the shared window (shadow window), the terminals 1010 to 1040 send key events and pointer events to the terminal 1000, and the terminal 1000 sends these events to the shared window (host window). Treat as an event for. That is, when text input or handwriting input is performed on the shared window (shadow window) of terminals 1010 to 1040, the input data is transmitted to the terminal 1000, and the terminal 1000 is a document in which these data are shared. Add to. Then, the terminal 1000 displays these characters and handwritten drawing lines in the shared window (host window), and transmits the updated display data to the terminals 1010 to 1040. Terminals 1010 to 1040 display this updated display data in a shared window (shadow window).
【0136】
In this way, all the key data (keyboard input data) and pointer data (pen input coordinate data) input to the shared window (shadow window) of terminals 1010 to 1040 are transmitted to the terminal 1000, so that the shared document It is possible to edit shared documents even on terminals that do not have. Up to this point, the operation has been performed using the prior art.
【0137】
Next, an application that manages a shared window and an individual window in each terminal will be described. The application that manages shared windows (hereinafter, shared Win application) and the application that manages individual windows (hereinafter, individual Win application) are X clients, and these are the X server and X protocol that perform screen display, key input, and pointer input. Data is passed by. A shared Win app is an application that performs an application sharing function. That is, the shared Win app also has an interface with ASCE1210. The individual Win app has an interface with both the shared Win app and BFTE1230, and exchanges event data with them. Figure 21 shows the relationship between individual Win apps, shared Win apps, X servers, ASCE1210, and BFTE1230.
【0138】
(Example 8) The terminal 1000, which is the chair terminal, has a shared document shared between all terminals and a local document (data content is the same as the shared document) generated by copying this document, and is a terminal. 1010 ~ Terminal 1040 acquires the shared document owned by Terminal 1000 by file transfer or the like. Then, the shared document is displayed in the shared window of the terminal 1000, the copy file of the shared document is displayed in the individual window, and the shared document owned by the terminal 1000 is displayed in the shared window of the terminals 1010 to 1040. , The same file as the shared document acquired by file transfer etc. is displayed in the individual window.
【0139】
Now, the files to be displayed in each window of all terminals are opened, and the shared documents and files with the same data contents are displayed from the beginning of the first page in the shared windows and individual windows of terminals 1000 to 1040. And. Here, a case where the text input in the individual window of the terminal 1010 is added to the shared document and the additional display of this text is performed on the shared window of the terminals 1000 to 1040 will be described.
【0140】
FIG. 22 shows the data flow between the individual Win apps, shared Win apps, X server, ASCE1210, and BFTE1230 processes of terminal 1000 and terminal 1010. Further, FIG. 23 is an operation flowchart of the individual Win application of the terminal 1010.
【0141】
Hereinafter, Example 8 will be described with reference to FIGS. 22 and 23. When the electronic pen 1060 is pointed to move the cursor to the position where the character (text) is input for the document displayed in the individual window of the terminal 1010, the X server of the terminal 1010 performs this point position data (coordinates). Pass the data) to the individual Win app on the terminal 1010 (arrow a). The individual Win application receives this coordinate data as a pointer event (step 601), moves the cursor to the position of this coordinate data, issues a drawing request to the X server of the terminal 1010 (arrow b, step 602), and receives this. Put the event data in the queue (queue 101) (step 603). This queue is an array defined in the program.
【0142】
The X server of terminal 1010 draws in a separate window according to the received drawing request, and the cursor is displayed at the pointed position on LCD29 of terminal 1010. Then, when a character (text) is input in the individual window of the terminal 1010, the X server of the terminal 1010 passes this character code to the individual Win application of the terminal 1010 (arrow a). The individual Win app receives these character codes as key events (YES in step 604), adds these character codes to the document data, and issues a drawing request to the X server of terminal 1010 (arrow b, step 605). ), Put this received event data in the queue (queue 101) (step 606). The X server of the terminal 1010 draws in the individual window according to the received drawing request, and the input characters are displayed on the LCD29 of the terminal 1010.
【0143】
Here, when the sentence terminal symbol is input by the user, the X server of the terminal 1010 passes this symbol code to the individual Win application of the terminal 1010 (arrow a). The individual Win application receives this symbol code as a key event, adds this symbol code to the document data, issues a drawing request to the X server of the terminal 1010 (arrow b), and queues this received event data (queue). Enter 101) (steps 607, 608). Then, when it is determined that this symbol code is the sentence end symbol, the individual Win application passes the event data contained in the queue 101 to the shared Win application in the order of first-in and first-out (arrow c), and these Event data is transmitted to terminal 1000 and terminals 1020 to 1040 via BFTE1230 (arrows d, e, step 609).
【0144】
The shared Win app on device 1010 passes these event data to ASCE1210 (arrow f), and ASCE1210 sends these event data to ASCE1210 on device 1000 (arrow g). These event data are included in the Input PDU (Input Protocol Data Unit) and transmitted between ASCE1210. In the MCS layer, this Input PDU is transmitted by including the MCS user ID, which is the terminal identifier of the terminal 1000, in the SDrq MCS PDU (MCS Protocol Data Unit) set in the MCS channel number.
【0145】
ASCE1210 of terminal 1000 passes the received event data to the shared Win app (arrow h), and the shared Win app executes processing according to these event data and issues a drawing request to the X server of terminal 1000 (arrow i). At the same time, a request to update the drawing for the shared window of terminals 1010 to 1040 is sent to ASCE1210 (arrow j). The X server of terminal 1000 executes the drawing process instructed by the drawing request, and at this point, the document data displayed in the individual window of terminal 1010 and the document data displayed in the shared window of terminal 1000 have the same contents. .. In addition, when ASCE1210 of terminal 1000 receives a request to update drawing for the shared window of terminal 1010 to terminal 1040 from the shared Win application, UpdatePDU (Update Protocol Data Unit) including bitmap data of the update area is sent to terminal 1010 to terminal 1040. Send (arrow k). This Update PDU is an SDRq in which the MCS user ID, which is the terminal identifier of each destination terminal, is set in the MCS channel number in the MCS layer. Include it in the MCS PDU and send it. ASCE1210 of terminal 1010 passes the received bitmap data to the shared Win app (arrow m), and the shared Win app issues a drawing request for this bitmap data to the X server of terminal 1010 (arrow n). Then, the X server of the terminal 1010 updates the display data of the shared window. Similarly, ASCE1210 of terminal 1020 to terminal 1040 also passes the received bitmap data to the shared Win application, the shared Win application issues a drawing request for this bitmap data to the X server of each terminal, and the X server of each terminal shares it. Update the display data of the window.
【0146】
When the BFTE1230 of the terminal 1000 and the terminal 1020 to the terminal 1040 receives the event data from the BFTE1230 of the terminal 1010, these event data are passed to the individual Win application (arrow p), and the individual Win application executes the process according to the event data. , Send a drawing request to the X server of each terminal (arrow q). The X servers of terminal 1000 and terminals 1020 to 1040 update the display data of individual windows.
【0147】
Therefore, the document data displayed in the shared window and the individual window of the terminals 1000 to 1040 all have the same contents.
【0148】
As described above, in the eighth embodiment, when the text is input to the individual window of the terminal 1010 and the sentence end symbol is input, the text input up to that point including the sentence end symbol is the shared window of the terminals 1000 to 1040. , It is also displayed in the individual window of terminal 1000 and the individual window of terminal 1020 to terminal 1040.
【0149】
(Example 9) In Example 8 described above, when the individual Win application of the terminal 1010 receives the sentence termination symbol from the X server, the event data (including the sentence termination symbol) received up to that point is shared. Documents displayed in the shared window and individual window of terminal 1000 to terminal 1040 by sending to the shared Win app of terminal 1000 via BFTE1230 and to the individual Win app of terminal 1000 and terminal 1020 to terminal 1040 via BFTE1230. Although the case where all the data have the same contents has been described, in this embodiment, when the individual Win application receives the line feed code from the X server, the same operation as in Example 8 is executed. In the ninth embodiment, the sentence terminal symbol of the eighth embodiment described with reference to FIGS. 22 and 23 is replaced with a line feed code.
【0150】
That is, individual Win application terminals 1010 send the event data accumulated in the queue 101 to the terminal 1000 and the terminal 1020 to the terminal 1040 instead of when the timing of signals received text terminator from X server, upon receiving a line feed code Is. Therefore, the contents of the document displayed in the shared window and the individual window are different until the user inputs one line of characters (text) and a line break is made, but when the line break is made, it is displayed in these windows. The contents of the document will be the same.
【0151】
Even when the user inputs characters (text) for a plurality of lines, that is, when the individual Win application of the terminal 1010 receives a plurality of line feed codes, the operation can be executed in the same manner as in the above-described Example 8. ..
【0152】
(Example 10) Example 10 is an example in which the user of each terminal inputs handwriting instead of text input. In this embodiment, whether or not the user is performing the writing operation is determined from the duration of the state in which the electronic pen is up. FIG. 24 shows an operation flowchart of the individual Win application of the terminal 1010 in the handwriting input mode.
【0153】
Example 10 in the case of handwriting input will be described with reference to FIGS. 22 and 24. When the touch panel controller 30 of the terminal 1010 detects that the electronic pen has touched the touch panel 31, the X server passes the contact coordinates to the individual Win application at predetermined time intervals for coordinate detection (arrow a). The individual Win app receives this coordinate data as a pointer event and uses this coordinate data as cursor position data or as drawing position data for free line drawing (YES in step 701).
【0154】
Now, the individual Win app is in a mode (handwriting input mode) that uses the received coordinate data as drawing position data for free line drawing, and draws a line between the received coordinates during one stroke (from pen down to pen up). The free line drawing function is being executed. When the individual Win app enters this handwriting input mode, it measures the time between pointer events received from the X server (step 702). If this measurement time is within a predetermined time, the individual Win app issues a request to the X server to draw a line between the coordinates just received and the coordinates received earlier (arrow b) (step 703). , Put the pointer event data in queue 101 (step 704). This queue is an array defined in the program.
【0155】
Then, when the measurement time between the pointer events exceeds a predetermined time, that is, when the timer started when the pointer event is received times out (YES in step 705), the individual Win application of the terminal 1010 enters the queue 101. The existing event data is passed to the shared Win application in the order of first-in and first-out (arrow c), and these event data are transmitted to terminal 1000 and terminal 1020 to terminal 1040 via BFTE1230 (arrows d, e). , Step 706).
【0156】
The shared Win app on device 1010 passes these event data to ASCE1210 (arrow f), and ASCE1210 sends these event data to ASCE1210 on device 1000 (arrow g). These event data are included in the Input PDU and transmitted between ASCE1210. In the MCS layer, this Input PDU is transmitted by including the MCS user ID, which is the terminal identifier of the terminal 1000, in the SDrq MCS PDU set in the MCS channel number.
【0157】
ASCE1210 of terminal 1000 passes the received event data to the shared Win app (arrow h), and the shared Win app issues a request to draw a line between the coordinates from these event data (coordinate data) to the X server of terminal 1000 (arrow h). Along with the arrow i), a request to update the drawing for the shared window of terminals 1010 to 1040 is sent to ASCE1210 (arrow j).
【0158】
The X server of terminal 1000 executes the line drawing specified in the drawing request, and at this point, the document data displayed in the individual window of terminal 1010 and the document data displayed in the shared window of terminal 1000 have the same contents. ..
【0159】
In addition, when the ASCE1210 of the terminal 1000 receives a drawing update request for the shared window of the terminals 1010 to 1040 from the shared Win application, it sends an Update PDU containing the bitmap data of the update area to the terminals 1010 to 1040 (arrow k). ). In the MCS layer, this Update PDU is transmitted by including the MCS user ID, which is the terminal identifier of each destination terminal, in the SDrq MCS PDU set in the MCS channel number.
【0160】
ASCE1210 of terminal 1010 passes the received bitmap data to the shared Win app (arrow m), and the shared Win app issues a drawing request for this bitmap data to the X server of terminal 1010 (arrow n). Then, the X server of the terminal 1010 updates the display data of the shared window. Similarly, ASCE1210 of terminal 1020 to terminal 1040 also passes the received bitmap data to the shared Win application, the shared Win application issues a drawing request for this bitmap data to the X server of each terminal, and the X server of each terminal shares it. Update the display data of the window.
【0161】
When the BFTE1230 of the terminal 1000 and the terminal 1020 to the terminal 1040 receives the event data from the BFTE1230 of the terminal 1010, these event data are passed to the individual Win application (arrow p), and the individual Win application is from these event data (coordinate data). Make a request to the X server to draw a line between the coordinates (arrow q). The X servers of terminal 1000 and terminals 1020 to 1040 update the display data of individual windows.
【0162】
As described above, the document data displayed in the shared window and the individual window of terminals 1000 to 1040 all have the same contents.
【0163】
In this way, when handwriting is input in the individual window of the terminal 1010, if a predetermined time elapses without starting the next stroke (pen down) from the end of the stroke (pen up), the drawing input up to that point is performed. The line is also displayed in the shared window of terminals 1000 to 1040, the individual window of terminal 1000, and the individual window of terminals 1020 to 1040.
【0164】
(Embodiment 11) In the eleventh embodiment, the user performs handwriting input using an electronic pen in the individual window of each terminal, and performs a predetermined gesture operation on the touch panel 31, so that the handwriting drawing input up to that point is performed. Is an example when is copied to the shared window.
【0165】
FIG. 25 is an operation flowchart of the individual Win application of the terminal 1010 according to the eleventh embodiment. When the individual Win application of the terminal 1010 is operating as the handwriting input mode, the current time is obtained as a time stamp for each pointer event received from the X server. Then, the coordinate data is cyclically added to the coordinate array existing on the main memory 23 together with the time stamp (steps 801 to 803). Then, from the data in this coordinate array, it is determined whether or not it matches a predetermined pattern for the copy command between windows (step 804). This determination method is the same as the method of Example 4 described above.
【0166】
When a copy command between windows is detected from the data in this coordinate array (YES in step 805), the coordinates that satisfy the above conditions in the direction from the latest to the past in the event data stored in the queue 101. Delete as many as the number of (step 806). Then, the individual Win application sends a request for redrawing (overwriting the drawing line) the background part of the drawing line to the X server in order to erase the drawing line corresponding to the deleted event data (step 807). Then, from the coordinate data managed as handwritten input data by the individual Win application, the data corresponding to the deleted event data is deleted (step 808).
【0167】
Since the X server overwrites the specified line drawing part with the background data, the drawing line of the overwritten part is deleted. (Once the movement of the pen tip for gesture is drawn, this drawing is canceled when it is recognized as a gesture movement.) Then, the individual Win application of the terminal 1010 first-in / first-out the event data contained in the queue 101. In this order, the data is passed to the shared Win application and these event data are transmitted to the terminal 1000 and the terminals 1020 to 1040 via the BFTE1230 (step 809). Since the subsequent operations are the same as those in the tenth embodiment, the description thereof will be omitted.
【0168】
(Example 12) In Example 12, a user performs an editing operation using an electronic pen or a USB keyboard on a document displayed in an individual window of each terminal, and a predetermined button displayed on the LCD 29 is selected. This is an example in which the editing process up to that point is also executed for the document displayed in the shared window.
【0169】
FIG. 26 is an operation flowchart of the individual Win application of the terminal 1010 according to the twelfth embodiment. Hereinafter, the twelfth embodiment will be described. On the display screen of the LCD29, the edit synchronization button is displayed in an area other than the window such as the shared window or the individual window.
【0170】
The edit synchronization button is a button for executing the same editing process performed on the document displayed in the individual window on the document displayed in the shared window.
【0171】
When various editing operations such as character (text) input, handwriting input, text deletion, and text copy are performed on the document displayed in the individual window of terminal 1010, the X server of terminal 1010 is key code (character / text). Pass the symbol code, line feed code, etc.) and point position data (coordinate data) to the individual Win application. The individual Win application that received the coordinate data puts these event data in the queue 101 (steps 901 and 902), processes according to the event data (step 903), and when the display data on the screen needs to be changed. (YES in step 904) issues a drawing request to the X server (step 905). The X server performs the instructed drawing.
【0172】
Here, when the edit synchronization button is selected by the user, the desktop application (not shown) that manages the screen area other than the window issues a request to the individual Win application to instruct the edit synchronization. When the individual Win app receives this request (YES in step 906), it passes the event data in queue 101 to the shared Win app in the order of first in, first out, and passes these event data via BFTE1230. The data is transmitted to the terminal 1000 and the terminals 1020 to 1040 (step 907). Subsequent operations are the same as in the tenth embodiment.
【0173】
In Examples 8 to 12 described above, the case where the editing operation is performed on the terminal 1010 has been described, but the same applies to the case where the editing operation is performed on the terminals 1020 to 1040. Also, when the editing operation is performed on the terminal 1000, the operation is the same as the above operation except that the shared Win application receives the event data from the individual Win application of the own terminal instead of receiving the event data from another terminal. Is.
【0174】
In the above-mentioned Examples 8 to 12, an example in which a wireless LAN is used as a communication means between the terminal 1000 and the terminal 1040 has been described, but other communication means such as Bluetooth and a wired LAN (Ethernet) may be used. You may use it. Further, although the description has been made with reference to an example in which the terminals 1000 to 1040 are portable display pads, the present invention is not limited to this, and terminals capable of performing the above operations, such as a notebook PC, may be used.
【0175】
[Effect of the invention]
As described above, according to the present invention, the following effects can be obtained. (1) When adding or editing a shared document on individual terminals, the parts that are unnecessary for others or do not want to be seen by others are not shared on all terminals, so they can be shared without worrying about the eyes of others. Documents can be added and edited, improving the convenience of users such as conference participants. In addition, the same document as the document displayed on the shared screen is displayed on the individual screen that only you can refer to, and the editing performed on the document displayed on the shared screen is performed on this individual screen regardless of the displayed contents of the shared screen. Since it can be implemented, the convenience of the user is improved. Further, since data such as sentences created on individual terminals can be added to the shared document without specifying the copy source area and the copy destination position, the burden on the user is reduced. (2) When a sentence terminal symbol is entered, the sentences created up to that point are shared by all terminals, so sentences can be entered without worrying about the eyes of others, and additional operations can be added to the shared document. Is unnecessary and the burden on the user is reduced. (3) When one line or a predetermined number of lines are input, the sentences created up to that point are shared by all terminals, so sentences can be input without worrying about the eyes of others, and shared documents. No additional operation is required and the burden on the user is reduced. (4) If a predetermined time elapses without starting the next stroke from the end of the handwritten stroke, the handwritten data input up to that point will be shared by all terminals, so you do not have to worry about the eyes of others. In addition to being able to input by handwriting, the burden on the user is reduced because there is no need to add operations to the shared document. (5) When it is determined that the movement of the electronic pen is a gesture operation for a predetermined screen-to-screen copy command, the handwritten data input up to that point is shared by all terminals, so it does not bother the eyes of others. In addition to being able to input by handwriting, the burden on the user is reduced because there is no need to add operations to the shared document. (6) When a predetermined button displayed on the display or a predetermined function key on the keyboard is selected, the edited contents up to that point are shared by all terminals, so editing work without worrying about the eyes of others. Can be done. In addition, since the editing can be reflected in the shared document with a single button operation for a plurality of editing operations, the burden on the user is reduced. (7) Since the display position of the document displayed on the individual screen is always the same as the display position of the document displayed on the shared screen, the user does not need to adjust the display position of the document, which improves the convenience of the user. To do. (8) Since the data added / edited to the shared document is displayed separately for each terminal to which the added / edited operation is performed, it is possible to identify who (or which terminal) is the added / edited data. Is easy, and the convenience of the system is improved.
[Simple explanation of drawings]
[Figure 1]
It is a figure explaining the basic idea of this invention.
[Figure 2]
A configuration example of the server / client type electronic conferencing system according to the present invention is shown.
[Fig. 3]
The hardware configuration of the portable display pad 20 is shown.
[Fig. 4]
The relationship between the VNC protocol (RFB protocol) and the X protocol is shown.
[Fig. 5]
An example of the screen buffer allocated in the main memory of the server is shown.
[Fig. 6]
The internal processes of server 1 and the data flow between each process and clients 3 to 6 are shown.
[Fig. 7]
An example of screen display for each client is shown.
[Fig. 8]
It is an operation flowchart of the VNC server 2 which concerns on Example 1.
[Fig. 9]
It is a continuation flowchart of FIG.
[Fig. 10]
It is an operation flowchart of the VNC server 2 which concerns on Example 3.
[Fig. 11]
It is an operation flowchart of the VNC server 2 which concerns on Example 4.
[Fig. 12]
It is a continuation flowchart of FIG.
[Fig. 13]
An example pattern for the screen-to-screen copy command is shown.
[Fig. 14]
It is an operation flowchart of the VNC server 2 which concerns on Example 5.
[Fig. 15]
It is a figure explaining the operation of the shared screen mirroring mode.
[Fig. 16]
It is an operation flowchart of the VNC server 1 which concerns on Example 7.
[Fig. 17]
The configuration of the electronic conferencing system of the present invention in which a plurality of terminals form a network is shown.
[Fig. 18]
The hardware configuration of the portable display pad with a built-in hard disk is shown.
[Fig. 19]
The protocol configuration of conference communication is shown.
[Fig. 20]
The hierarchical structure of the MCS domain when terminal 1000 is used as the chair terminal is shown.
[Fig. 21]
The relationship between individual Win apps, shared Win apps, X server, ASCE1210, and BFTE1230 is shown.
[Fig. 22]
The data flow between the individual Win apps, shared Win apps, X server, ASCE1210, and BFTE1230 processes of terminal 1000 and terminal 1010 is shown.
[Fig. 23]
It is an operation flowchart of the individual Win application of the terminal 1010 which concerns on Example 8.
[Fig. 24]
It is an operation flowchart of the individual Win application of the terminal 1010 which concerns on Example 10.
[Fig. 25]
It is an operation flowchart of the individual Win application of the terminal 1010 which concerns on Example 11.
[Fig. 26]
It is an operation flowchart of the individual Win application of the terminal 1010 which concerns on Example 12.
[Explanation of symbols]
1 server 2 Large display device 3 ~ 6 clients 7 ~ 10 Electronic pen
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JPWO2010055799A1 | Cited by | Japan | Search report |
| JP2007282219A | Cited by | Japan | Search report |
| JP2009037352A | Cited by | Japan | Examiner |
| JP2009230592A | Cited by | Japan | Examiner |
| JP2021536722A | Cited by | Japan | Search report |
| JPWO2015129550A1 | Cited by | Japan | Search report |
| JP2006164092A | Cited by | Japan | Examiner |
| JP2010212837A | Cited by | Japan | Search report |
| JP2009187349A | Cited by | Japan | Examiner |
| JP2011517809A | Cited by | Japan | Search report |
| US8938539B2 | Cited by | United States of America | Applicant |
| JP2014040027A | Cited by | Japan | Search report |
| WO2010055799A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| JP2006091938A | Cited by | Japan | Examiner |
| JP2011215878A | Cited by | Japan | Examiner |
| JP2007179396A | Cited by | Japan | Search report |
| JPWO2015129550A1 | Cited by | Japan | Search report |
| US10061944B2 | Cited by | United States of America | Applicant |
| JP2014040027A | Cited by | Japan | Search report |
| US8368739B2 | Cited by | United States of America | Applicant |
| CN110162283A | Cited by | China | Search report |
| JP5099232B2 | Cited by | Japan | Examiner |
| JP2014135096A | Cited by | Japan | Examiner |
| US10318619B2 | Cited by | United States of America | Applicant |
| JP2007512589A | Cited by | Japan | Examiner |
| JP2009211576A | Cited by | Japan | Examiner |
| JP2007052148A | Cited by | Japan | Search report |
| JP2007282219A | Cited by | Japan | Search report |
| JP2014040027A | Cited by | Japan | Examiner |
| KR20130080082A | Cited by | Republic of Korea | Search report |
| JP2010198509A | Cited by | Japan | Examiner |
| JP2006323607A | Cited by | Japan | Search report |
| US9436927B2 | Cited by | United States of America | Applicant |
| EP3121778A1 | Cited by | European Patent Office (EPO) | Applicant |
| US9972280B2 | Cited by | United States of America | Applicant |
| CN104519306A | Cited by | China | Search report |
| JPWO2015129550A1 | Cited by | Japan | Search report |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2002076846 | Japan | A | |
| JP20020076846 | – | – | – |
13 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Written notification of patent or utility model registrationR151 | R151 | |
| First payment of annual fees (during grant procedure)A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Report on retrievalA977 | A977 | |
| Written request for application examinationA621 | A621 |
Numbers
- Publication
- 2003-281101
- Publication, DOCDB
- 2003281101
- Publication, EPODOC
- JP2003281101
- Application
- 76846
- Application, DOCDB
- 2002076846
- Application, EPODOC
- JP20020076846
Titles3
- Japanese
- 【発明の名称】電子会議システム
- English
- [Title of Invention] Electronic Conferencing System
- English
- ELECTRONIC CONFERENCE SYSTEM
Classification
- IPC, 5
- G06F17 21
- G06F13 00
- G06F15 00
- H04N1 00
- H04N7 15