JP4127566B2 - Electronic conference system - Google Patents

Electronic conference system Download PDF

Info

Publication number
JP4127566B2
JP4127566B2 JP2007210236A JP2007210236A JP4127566B2 JP 4127566 B2 JP4127566 B2 JP 4127566B2 JP 2007210236 A JP2007210236 A JP 2007210236A JP 2007210236 A JP2007210236 A JP 2007210236A JP 4127566 B2 JP4127566 B2 JP 4127566B2
Authority
JP
Japan
Prior art keywords
data
terminal
document
shared
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007210236A
Other languages
Japanese (ja)
Other versions
JP2008047122A (en
Inventor
進 藤岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007210236A priority Critical patent/JP4127566B2/en
Publication of JP2008047122A publication Critical patent/JP2008047122A/en
Application granted granted Critical
Publication of JP4127566B2 publication Critical patent/JP4127566B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、複数のクライアントが1つのサーバに接続され、各クライアントがサーバにある情報を閲覧あるいは編集可能なサーバ/クライアント型の電子会議システムに関し、他に例えば多数のクライアントがサーバにある情報を閲覧あるいは編集可能なサーバ/クライアント型の教育システムなどにも好適な技術である。   The present invention relates to a server / client type electronic conference system in which a plurality of clients are connected to one server and each client can view or edit information stored in the server. This technique is also suitable for a server / client type education system that can be viewed or edited.

従来、1つのクライアントが共有画面モードにあるサーバの画面バッファと個別画面モードにあるサーバの画面バッファの両方の画面データをマルチウィンドウで同時に表示することができるソフトウェアとして、AT&TのVNC(Virtual Network Computing)がある。このソフトウェアでは、複数のアプリケーションプロセスが1つの文書ファイルに対して多重オープンできるようなファイルシステムを使用すると、1つの文書をクライアントの共有画面用ウィンドウと個別画面用ウィンドウに同時に表示させることができる。また、個々の画面(ウィンドウ)に対して別々の編集操作もできる。   Conventionally, AT & T's VNC (Virtual Network Computing) is a software that allows a single client to simultaneously display the screen data of both the server screen buffer in the shared screen mode and the server screen buffer in the individual screen mode in multiple windows. ) With this software, if a file system is used in which a plurality of application processes can be opened multiple times for one document file, one document can be displayed simultaneously on the shared screen window and the individual screen window of the client. In addition, separate editing operations can be performed on individual screens (windows).

他の従来技術として、MicrosoftのNetMeetingがある。このNetMeetingには、1つの端末あるいはサーバで実行されているアプリケーションを他の複数の端末で共有する機能(アプリケーション共有機能)がある。各端末のOSがMicrosoft Windowsの場合、NetMeetingのアプリケーション共有機能で表示させている文書と、フォルダの共有機能を使用して、他の端末の共有化されたフォルダにある文書を別々のウィンドウに同時に表示させることができる。   Another prior art is Microsoft's NetMeeting. This NetMeeting has a function (application sharing function) for sharing an application executed on one terminal or server with a plurality of other terminals. When the OS of each terminal is Microsoft Windows, documents displayed in the application sharing function of NetMeeting and documents in the shared folder of other terminals can be simultaneously displayed in separate windows using the folder sharing function. Can be displayed.

日経コンピュータ 1991.3.11Nikkei Computer 1991.3.11.

しかし、上記した従来の技術では、例えば2つのウィンドウ間でコピー処理を行う場合に、ユーザはコピー元の位置と領域およびコピー先の位置を指定する必要があり、操作が煩雑となる問題があった。また、前者では、個別画面用ウィンドウに表示された文書への編集内容を、共有画面用ウィンドウに表示された同一文書に自動的に反映させることができず、あるいは1ボタンの操作によっても反映できない。同様に、後者の技術でも、フォルダの共有機能を使用して表示された文書への編集内容を、NetMeetingのアプリケーション共有機能を使用して表示された同一文書に自動的にあるいは1ボタンの操作によっても反映させることができない。   However, in the conventional technique described above, for example, when performing copy processing between two windows, the user needs to specify the position of the copy source, the area, and the position of the copy destination, and there is a problem that the operation becomes complicated. It was. In the former case, the contents edited in the document displayed in the individual screen window cannot be automatically reflected in the same document displayed in the shared screen window, or cannot be reflected by the operation of one button. . Similarly, even in the latter technique, the contents edited in the document displayed using the folder sharing function are automatically applied to the same document displayed using the application sharing function of NetMeeting or by the operation of one button. Cannot be reflected.

また、例えば、電子会議などにおいて、複数の端末が1つの文書(会議資料)を共有し、その文書を共同で作成、編集、閲覧する電子協調作業が従来から行われている。ところが、各端末での共有文書に対する追記、編集の作業工程の全てが共有されていることから、例えば、キーボードからテキスト入力しているときのタイプミスやその訂正作業が他の端末に表示されてしまう。そこで、追記、編集などを行う端末ユーザから、他人に見られたくない作業が共有されないことが求められていた。   Further, for example, in electronic conferences and the like, electronic cooperative work is conventionally performed in which a plurality of terminals share one document (conference material), and the document is created, edited, and viewed jointly. However, since all of the postscript and editing work processes for shared documents at each terminal are shared, for example, typographical errors when entering text from the keyboard and corrections are displayed on other terminals. End up. Therefore, terminal users who perform additional writing, editing, and the like are required not to share work that they do not want others to see.

本発明は上記した問題点に鑑みてなされたもので、
本発明の目的は、複数の端末が1つの文書を共有し、その文書を共同で作成、編集、閲覧しながら会議などの電子協調作業を行う際に、各端末が共有文書に対して行う追記、編集などの作業工程中で他人に不要なあるいは他人に見られたくない部分を全ての端末で共有しないようにした電子会議システムを提供することにある。
The present invention has been made in view of the above problems,
It is an object of the present invention to add to each shared document when a plurality of terminals share a document and perform electronic collaborative work such as a conference while jointly creating, editing, and browsing the document. It is an object of the present invention to provide an electronic conference system that prevents all terminals from sharing parts that are unnecessary to others or that are not desired to be seen by others during work processes such as editing.

本発明の他の目的は、各端末で作成した文章等のデータの共有文書への追加を、コピー元の位置と領域およびコピー先の位置を指定することなく実行し、操作性を向上させた電子会議システムを提供することにある。   Another object of the present invention is to add data such as text created on each terminal to a shared document without specifying the copy source position and area and the copy destination position, thereby improving operability. It is to provide an electronic conference system.

図1(a)、(b)は、本発明の基本的な考え方を説明する図である。図において、ウィンドウタイプAは、共有画面であり、画面データは大画面および全ての端末で同じである。そして、1つの端末で行った加筆、編集が、他の全ての端末の表示画面にもリアルタイムで反映される。ウィンドウタイプBは、個別画面であり、共有画面と同じ画面データを表示して個別に加筆、編集ができるが、この画面データは共有されない。   1 (a) and 1 (b) are diagrams for explaining the basic concept of the present invention. In the figure, window type A is a shared screen, and the screen data is the same on the large screen and all terminals. And the editing and editing performed in one terminal is 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 added and edited individually, but this screen data is not shared.

端末1の個別画面B上で(図1(a))、「重要」などの手書き描画を追加して、所定のボタンを押すと、端末2と端末3の共有画面Aに同じ手書き描画が追加表示される(図1(b))。   On the individual screen B of the terminal 1 (FIG. 1A), by adding a handwritten drawing such as “important” and pressing a predetermined button, the same handwritten drawing is added to the shared screen A of the terminal 2 and the terminal 3 Is displayed (FIG. 1B).

本発明では、個々の端末での共有文書に対する追記、編集の作業工程の中で、他人に不要なあるいは他人に見られたくない部分を全ての端末で共有しないようにし、作業に応じた所定のタイミング毎に、それまでの作業結果を全ての端末で共有するようにする。   In the present invention, in a process of adding and editing a shared document in each terminal, a part unnecessary for others or not desired to be seen by others is not shared by all terminals, and a predetermined number corresponding to the work is determined. At every timing, the work results up to that point are shared by all terminals.

本発明では、個々の端末で、「。」(日本語の場合)、「.(ピリオド)」や「?」(英語の場合)等の文章終端記号が入力されるまでは作成中の文章を全ての端末で共有せず、文章終端記号が入力されたときに、それまで作成された、文章終端記号を含む文章を全ての端末で共有するようにする。   In the present invention, a sentence being created is input until an end-of-sentence symbol such as “.” (In Japanese), “. (Period)” or “?” (In English) is input on each terminal. When a sentence terminator is input without being shared by all terminals, a sentence including the sentence terminator created so far is shared by all terminals.

本発明では、個々の端末で、1行あるいは所定の複数行が入力されるまでは作成中の文章を全ての端末で共有せず、所定数の行が入力されたときに、それまで作成された文章を全ての端末で共有するようにする。   In the present invention, the text being created is not shared by all the terminals until one terminal or a plurality of predetermined lines are input at each terminal, and when a predetermined number of lines are input, it is generated up to that point. Share the text on all devices.

本発明では、個々の端末で、マウスあるいは電子ペンを使用して手書き入力を行っている場合に、ストローク終了(ペンアップ)から次のストロークが開始されずに(ペンダウンされない)所定の時間が経過するまでは、それまで入力された手書きデータを全ての端末で共有せず、ストローク終了から次のストロークが開始されずに所定の時間が経過したとき、それまで入力された手書きデータを全ての端末で共有するようにする。   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 (not pen-down) from the end of the stroke (pen-up). Until then, the handwritten data input so far is not shared by all terminals, and when a predetermined time elapses without starting the next stroke from the end of the stroke, To share with.

本発明では、個々の端末で、電子ペンを使用して手書き入力を行っている場合に、電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作と判断するまでは、それまで入力された手書きデータを全ての端末で共有せず、電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作と判断したとき、それまで入力された手書きデータを全ての端末で共有するようにする。   In the present invention, when handwriting input is performed using an electronic pen on each terminal, input is performed until it is determined that the movement of the electronic pen is a gesture operation for a predetermined inter-screen copy command. Do not share the handwritten data with all terminals, and share the handwritten data input so far with all terminals when the movement of the electronic pen is determined to be a gesture operation for a predetermined inter-screen copy command To.

本発明では、個々の端末で、ディスプレイに表示された所定のボタンあるいはキーボードの所定のファンクションキーが選択されるまでは、それまでの編集工程を全ての端末で共有せず、ディスプレイに表示された所定のボタンあるいはキーボードの所定のファンクションキーが選択されたとき、それまでの編集内容を全ての端末で共有するようにする。   In the present invention, until a predetermined button displayed on the display or a predetermined function key on the keyboard is selected on each terminal, the editing process up to that point is not shared by all terminals but displayed on the display. When a predetermined button or a predetermined function key on the keyboard is selected, the editing contents up to that point are shared by all terminals.

共有画面モードにあるサーバの画面バッファと個別画面モードにあるサーバの画面バッファの両方に同じ文書データを記憶しているが、1つのクライアントに表示される各画面データは文書の同じ場所である必要は無い。例えば、クライアントの共有画面用ウィンドウに文書の2ページ目が表示されている状態で、同じクライアントの個別画面用ウィンドウに同じ文書の3ページ目を表示して、この3ページ目を編集すると、共有画面モードにあるサーバの画面バッファに記憶された文書の3ページ目も同様に編集される。すなわち、クライアントのユーザは、共有画面用ウィンドウの表示とは無関係に共有画面用ウィンドウに表示された文書の任意の場所を編集することができる。   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 and the third page of the same document is displayed in the individual screen window of the same client, and the third page is edited, the page is shared. The third page of the document stored in the screen buffer of the server in the screen mode is similarly edited. That is, the client user can edit any location of the document displayed in the shared screen window regardless of the display of the shared screen window.

ところで、クライアントの個別画面用ウィンドウに表示された文書の位置が共有画面用ウィンドウに表示された文書の位置と常に同じであると、便利な場合が多い。   By the way, in many cases, it is convenient that the position of the document displayed in the client individual window is always the same as the position of the document displayed in the shared window.

そこで、本発明では、クライアントの共有画面用ウィンドウと個別画面用ウィンドウには同じ文書の同じ位置からのデータを表示し、1つのクライアントでの共有文書に対する追記、編集の作業工程の中で他人に不要なあるいは他人に見られたくない部分は全ての端末で共有しないようにするとともに、クライアントで作成した文章等のデータの共有文書への追加を、コピー元の位置と領域およびコピー先の位置を指定しなくても実行できるようにしてシステムの利便性を向上させる。   Accordingly, 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 it can be added to others in the process of adding and editing the shared document in one client. Do not share unnecessary parts that you do not want to be seen by other people on all terminals, and add data such as text created on the client to the shared document by specifying the location of the copy source, the area, and the location of the copy destination. Improve the convenience of the system by making it possible to execute without specifying.

共有文書に対して追加された文章や手書きの描画が誰のものであるか判ると便利な場合がある。そこで、本発明では、共有文書に追加されたデータを、その追加操作が行われたクライアント毎に区別して表示させる。   Sometimes it is useful to know who the text or handwritten drawing added to a shared document belongs to. Therefore, in the present invention, the data added to the shared document is displayed separately for each client on which the addition operation has been performed.

以上、説明したように、本発明によれば、以下のような効果が得られる。
(1)個々の端末で、共有文書に対する追記、編集などを行う際に、他人に不要なあるいは他人に見られたくない部分は全ての端末で共有されないため、他人の目を気にせずに共有文書に対して追記、編集することができ、会議参加者などのユーザの利便性が向上する。
また、共有画面に表示された文書と同じ文書が自分だけ参照できる個別画面に表示され、共有画面に表示された文書に対して行う編集を共有画面の表示内容とは無関係にこの個別画面上で実施できるため、ユーザの利便性が向上する。
さらに、個々の端末で作成した文章等のデータの共有文書への追加を、コピー元の領域およびコピー先の位置を指定しなくても実行できるため、ユーザの負担が軽減される。
(2)文章終端記号が入力された場合に、それまで作成された文章が全ての端末で共有されるため、他人の目を気にせずに文章の入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
(3)1行あるいは所定数の行が入力された場合に、それまで作成された文章が全ての端末で共有されるため、他人の目を気にせずに文章の入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
(4)手書きのストローク終了から次のストロークが開始されずに所定の時間が経過した場合に、それまで入力された手書きデータが全ての端末で共有されるため、他人の目を気にせずに手書き入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
(5)電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作と判断した場合に、それまで入力された手書きデータが全ての端末で共有されるため、他人の目を気にせずに手書き入力ができるとともに、共有文書への追加操作が不要となりユーザの負担が軽減される。
(6)ディスプレイに表示された所定のボタンあるいはキーボードの所定のファンクションキーが選択された場合に、それまでの編集内容が全ての端末で共有されるため、他人の目を気にせずに編集作業ができる。また、複数の編集作業に対して1回のボタン操作でその編集を共有文書へ反映できるため、ユーザの負担が軽減される。
(7)個別画面に表示される文書の表示位置が共有画面に表示された文書の表示位置と常に同じであるため、ユーザが文書の表示位置を合わせる操作が不要となり、ユーザの利便性が向上する。
(8)共有文書に追加、編集されたデータが、その追加、編集操作が行われた端末毎に区別して表示されるため、誰(あるいはどの端末)が追加、編集したデータであるかの識別が容易となり、システムの利便性が向上する。
As described above, according to the present invention, the following effects can be obtained.
(1) When adding or editing a shared document on an individual terminal, parts that are not needed by others or that are not wanted to be seen by others are not shared by all terminals, so they can be shared without worrying about the eyes of others. Additional writing and editing can be performed on the document, improving convenience for users such as conference participants.
In addition, the same document displayed on the shared screen is displayed on an individual screen that can be referred to only by you, and you can edit the document displayed on the shared screen on this individual screen regardless of the content displayed on the shared screen. Since it can implement, a user's convenience improves.
Furthermore, since data such as texts created by 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 terminator is entered, the sentence created so far is shared by all terminals, so it is possible to enter a sentence without worrying about the eyes of others, and to add to a shared document Becomes unnecessary and the burden on the user is reduced.
(3) When one line or a predetermined number of lines are input, the text created so far is shared by all the terminals, so that it is possible to input text without worrying about the eyes of others, and to share documents No additional operation is required and the burden on the user is reduced.
(4) When a predetermined time elapses without the next stroke being started after the end of the handwritten stroke, all the handwritten data that has been input so far is shared by all the terminals. In addition to being able to perform handwriting input, no additional operation to the shared document is required, reducing the burden on the user.
(5) When it is determined that the movement of the electronic pen is a gesture operation for a predetermined inter-screen copy command, the handwritten data input so far is shared by all terminals, so that the eyes of others are not minded. In addition, handwriting input can be performed, and an additional operation to the shared document is not necessary, thereby reducing the burden on the user.
(6) When a predetermined button displayed on the display or a predetermined function key on the keyboard is selected, the editing contents up to that point are shared by all terminals, so that editing can be done without worrying about the eyes of others. Can do. 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, improving user convenience. To do.
(8) Since the data added or edited in the shared document is displayed separately for each terminal on which the addition or editing operation has been performed, identification of who (or which terminal) is the added or edited data And the convenience of the system is improved.

以下、発明の実施の形態について図面により詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(サーバ/クライアント型の電子会議システム)
本発明の一実施例として、サーバに記憶された会議資料文書を複数のクライアントが閲覧、編集しながら会議を行うサーバ/クライアント型の電子会議システムを例にして説明する。
(Server / client type electronic conference system)
As an embodiment of the present invention, a server / client type electronic conference system in which a conference is held while a plurality of clients view and edit a conference material document stored in the server will be described as an example.

図2は、本発明に係るサーバ/クライアント型の電子会議システムの構成例を示す。本発明のシステムは、サーバ1とそれに接続された大型ディスプレイ装置2と、各会議参加者が使用するクライアント3〜6から構成されており、これらの機器は無線LAN(例えばIEEE(Institute of Electrical and Electronics Engineers)802.11b)で接続されている。   FIG. 2 shows a configuration example of a server / client type electronic conference system according to the present invention. The system of the present invention comprises a server 1, a large display device 2 connected thereto, and clients 3 to 6 used by each conference participant. These devices are connected to a wireless LAN (for example, IEEE (Institut of Electrical and Industrial). (Electronics Engineers) 802.11b).

サーバ1は例えばPC−AT(The Personal Computer for Advanced Technologies)アーキテクチャ(IBM社)のコンピュータであり、そのPCI(Peripheral Compornent Interconnect)バスに接続されたPCIアダプタボードを介して無線LAN用PCカード(PCMCIA(Personal Computer Memory Card International Association)規格に準拠)が装着されている。また、サーバ1にはOSとしてLinux(登録商標)、ウィンドウシステムとしてXウィンドウが実装されている。なお、図1中、サーバ1に接続されたキーボードの図示は省略している。 The server 1 is, for example, a computer having a PC-AT (The Personal Computer for Advanced Technologies) architecture (IBM), and a wireless LAN PC card (MC) via a PCI adapter board connected to the PCI (Peripheral Component Interconnect) bus. (Compliant with Personal Computer Memory Card International Association) standard). Further, Linux (registered trademark) is installed in the server 1 as an OS, and an X window is installed as a window system. In FIG. 1, the keyboard connected to the server 1 is not shown.

大型ディスプレイ装置2は、例えばPDP(Plasma Display Panel)の表示面にタッチパネルが付着されており、VGAケーブルとRS−232Cケーブルによってサーバ1と接続され、サーバ1の表示装置として機能するとともに、サーバ1のタッチ入力装置として機能する。なお、VGAケーブルはサーバ1からPDPへ画面表示信号を出力し、RS−232Cケーブルはタッチパネルが検出したタッチ入力座標データをサーバ1へ入力する。また、サーバ1は入力されるタッチ入力座標データを、マウス入力データと同様に処理する。   The large display device 2 has a touch panel attached to a display surface of a PDP (Plasma Display Panel), for example, and is connected to the server 1 by a VGA cable and an RS-232C cable, and functions as the display device of the server 1. Functions as a touch input device. The VGA cable outputs a screen display signal from the server 1 to the PDP, and the RS-232C cable inputs 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.

クライアント3〜6は、ユーザにより入力されたテキストデータや手書きデータをサーバ1へ送信し、またサーバ1から受信した画面データの表示を行うという機能に特化された携帯型表示パッドであり、電子ペン7〜10が付属されている。   The clients 3 to 6 are portable display pads specialized in the function of transmitting text data and handwritten data input by the user to the server 1 and displaying screen data received from the server 1. Pens 7 to 10 are attached.

クライアント3〜6である携帯型表示パッド20のハードウェア構成を図3に示す。携帯型表示パッド20は、CPU21、クロック22、メインメモリ23、ROM24、RTC25、無線LANコントローラ26、アンテナ27、LCD表示コントローラ28、LCD29、タッチパネルコントローラ30、タッチパネル31、USBコントローラ32、USB I/F33、システムバス34、バッテリ35、DC−DCコンバータ36、充電回路37、ACアダプタ38等から構成されている。CPU21は、ROM(Read Only Memory)24に記憶された制御処理プログラム、OSや各種のアプリケーションプログラムを実行、処理する。クロック22は、水晶発振子と分周回路から構成されており、CPU21やシステムバス34の動作タイミングを制御するためのクロックを生成している。メインメモリ23は、DRAM(Dynamic Random Access Memory)より構成されており、CPU21のワークエリア等で使用される。ROM24は、システム全体の制御を行うためのプログラムが予め書き込まれている。RTC(Real Time Clock)25は、日付時計であり、専用バッテリ(図示を省略)によりバックアップされている。無線LANコントローラ26は、IEEE802.11b規格に準拠した無線通信を実行、制御する。LCD表示コントローラ28は、文字やグラフィックデータ、またサーバ1から受信した画面データをD/A(Digital/Analog)変換するとともに、これらのデータをLCD29に表示するための制御を行う。タッチパネルコントローラ30は、タッチパネル31上でタッチペン7のペン先が接触した部分を検出し、その位置情報を取り込む。タッチパネル31はLCD29と重ね合わせて密着している。USB(Universal Serial Bus)コントローラ32はUSB規格に準拠したデータ転送を実行、制御する。バッテリ35は、充電が可能な例えばリチウムイオンバッテリ等である。DC−DCコンバータ36はACアダプタ38またはバッテリ35から供給される電源を所定の電圧に変換して携帯型表示パッド20内部に供給するとともに、ACアダプタ38からの電源供給が無い場合はバッテリ35からの電源供給に切り換える。充電回路37はACアダプタ38から電源が供給されている時にバッテリ35を充電する。ACアダプタ38は着脱可能な電源ケーブルと一体化しており、内蔵されたAC−DCコンバータにより、交流電源を所定の電圧の直流に変換する。携帯型表示パッド20にはOSとしてLinux(登録商標)、ウィンドウシステムとしてXウィンドウが実装されている。 FIG. 3 shows a hardware configuration of the portable display pad 20 that is the clients 3 to 6. The portable display pad 20 includes a CPU 21, a clock 22, a main memory 23, a ROM 24, an RTC 25, a wireless LAN controller 26, an antenna 27, an LCD display controller 28, an LCD 29, a touch panel controller 30, a touch panel 31, a USB controller 32, and a USB I / F 33. , System bus 34, battery 35, DC-DC converter 36, charging circuit 37, AC adapter 38, and the like. The CPU 21 executes and processes a control processing program, OS, and various application programs stored in a ROM (Read Only Memory) 24. The clock 22 is composed of a crystal oscillator and a frequency dividing 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 a DRAM (Dynamic Random Access Memory) and is used in the work area of the CPU 21 and the like. In the ROM 24, a program for controlling the entire system is written in advance. An RTC (Real Time Clock) 25 is a date clock, and is backed up by a dedicated battery (not shown). The wireless LAN controller 26 executes and controls wireless communication conforming to the IEEE 802.11b standard. The LCD display controller 28 performs D / A (Digital / Analog) conversion on characters and graphic data, and screen data received from the server 1, and performs control for displaying these data on the LCD 29. The touch panel controller 30 detects a portion where the pen tip of the touch pen 7 contacts on the touch panel 31 and takes in the position information. The touch panel 31 is overlapped and in close contact with the LCD 29. A 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 portable display pad 20, and from the battery 35 when there is no power supply from the AC adapter 38. Switch to the power supply. The charging circuit 37 charges the battery 35 when power is supplied from the AC adapter 38. The AC adapter 38 is integrated with a detachable power cable, and an AC power source is converted into a direct current of a predetermined voltage by a built-in AC-DC converter. The portable display pad 20 is mounted with Linux (registered trademark) as an OS and an X window as a window system.

次に、サーバ1にある画面データがクライアント3〜6へ送信され、クライアント3〜6からサーバ1へはユーザの入力データが送信されるサーバ/クライアントソフトウェアの動作について説明する。このサーバ/クライアントソフトウェアとして、前述したVNCを使用した場合について、以下説明する。   Next, the operation of server / client software in which screen data in the server 1 is transmitted to the clients 3 to 6 and user input data is transmitted from the clients 3 to 6 to the server 1 will be described. A case where the above-described VNC is used as the server / client software will be described below.

VNCサーバプロセス(以下、VNCサーバ)は、その起動時に、デスクトップの表示画面データあるいは文書の表示画面データを記憶するための1つの画面バッファを生成し、VNCクライアントプロセス(以下、VNCクライアント)はこの画面バッファにある画面データを自装置のディスプレイに表示する。VNCサーバからVNCクライアントへ送信される画面データおよびVNCクライアントからVNCサーバへ送信されるユーザの入力データはRFB(Remote Frame Buffer)プロトコルを使用して転送される。RFBプロトコルは1画面のデータを小領域(矩形)に分割し、さらにこの小領域の画像データを圧縮して送信する機能を持っている。この小領域の最小ブロックはタイルと呼ばれ、16×16画素である。このように、VNCサーバは1画面のデータを分割して送信することができるため、1画面の中で変更のあった領域のみを選択して送信することができる。なお、サーバ1に存在するVNCサーバプロセスとクライアント3〜6に存在するVNCクライアントプロセスとはソケットにより通信できるようになっている。   When the VNC server process (hereinafter referred to as VNC server) starts up, it generates one screen buffer for storing desktop display screen data or document display screen data. The VNC client process (hereinafter referred to as VNC client) The screen data in the screen buffer is displayed on the display of its own device. Screen data transmitted from the VNC server to the VNC client and user input data transmitted from the VNC client to the VNC server are transferred using an RFB (Remote Frame Buffer) protocol. The RFB protocol has a function of dividing data of one screen into small areas (rectangles), and further compressing and transmitting the image data of the small areas. The minimum block of this small area is called a tile and is 16 × 16 pixels. In this way, since the VNC server can divide and transmit the data of one screen, only the changed area in one screen can be selected and transmitted. The VNC server process existing in the server 1 and the VNC client processes existing in the clients 3 to 6 can communicate with each other through sockets.

VNCサーバはVNCクライアントから受信したユーザの入力データをキーイベントまたはポインタイベントとして処理する。これらのイベントを受けると、VNCサーバはXサーバとして動作し、Xクライアントに対してXイベントを通知するため、VNCクライアントはサーバ1で動いているアプリケーション(Xクライアント)を操作できるようになっている。このVNCプロトコル(RFBプロトコル)とXプロトコルとの関係を図4に示す。   The VNC server processes user input data received from the VNC client as a key event or a pointer event. Upon receiving these events, the VNC server operates as an X server and notifies the X client of the X event, so that the VNC client can operate an application (X client) running on the server 1. . The relationship between the VNC protocol (RFB protocol) and the X protocol is shown in FIG.

次に、クライアント3〜6がサーバ1に接続してサーバ1で動いているアプリケーション(Xウィンドウ)を操作して、文書を表示できるようになるまでの動作シーケンスについて説明する。サーバ1ではまず、必要とされる画面バッファの数だけ、VNCサーバプロセスを起動しておく。この画面バッファが複数のクライアントにより共有されないようにする、すなわち、1つのクライアントのみがアタッチするように設定する場合、VNCサーバの起動コマンドには画面番号のみを指定する。例えば、画面番号を2とした場合のVNCサーバの起動コマンドは以下のようになる。
vncserver :2
Next, an operation sequence until the clients 3 to 6 connect to the server 1 and operate an application (X window) running on the server 1 to display a document will be described. In the server 1, first, VNC server processes are started for the required number of screen buffers. In order to prevent this screen buffer from being shared by a plurality of clients, that is, to set only one client to be attached, only the screen number is specified in the startup command of the VNC server. For example, when the screen number is 2, the startup command for the VNC server is as follows.
vncserver: 2

サーバ1の画面バッファが複数のクライアントにより共有されるようにする場合には、VNCサーバの起動コマンドに画面番号に加えて共有を指示するオプションを指定する。例えば、画面番号1を共有とする場合のVNCサーバの起動コマンドは以下のようになる。
vncserver −alwaysshared :1
When the screen buffer of the server 1 is shared by a plurality of clients, an option for instructing sharing is designated in addition to the screen number in the start command of the VNC server. For example, the start command of the VNC server when screen number 1 is shared is as follows.
vncserver-alwaysshared: 1

このようにして、サーバ1にて画面番号1を共有、画面番号2〜5を各クライアント3〜6が個別にアタッチするようにVNCサーバプロセスを起動しておく。そして、各クライアント3〜6はサーバ1のIP(Internet Protocol)アドレスとアタッチする画面番号を指定してVNCクライアントプロセスを起動する。アタッチする画面番号を3とした場合のVNCクライアントの起動コマンド例を以下に示す。
vncviewer 192.168.1.1:3
ここで、192.168.1.1は、IPアドレスである。
In this way, the VNC server process is started so that the server 1 shares screen number 1 and the clients 3 to 6 individually attach screen numbers 2 to 5. Then, each of the clients 3 to 6 starts the VNC client process by designating the IP (Internet Protocol) address of the server 1 and the screen number to be attached. An example of a startup command for the VNC client 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.

図5は、サーバのメインメモリ上に確保された画面バッファの一例を示す。各クライアント3〜6は共有画面(画面番号1)用のVNCクライアントと1つの個別画面(画面番号2〜5)用のVNCクライアントをそれぞれ起動する。そして、各クライアント3〜6では、共有画面を表示させるウィンドウと個別画面を表示させるウィンドウをLCD29に表示させる。サーバ1では、共有画面を大型ディスプレイ装置2に表示させるために、自装置のIPアドレスと画面番号1を指定してVNCクライアントプロセスを起動する。このようにして、大型ディスプレイ装置2には共有画面のみが表示され、各クライアント3〜6には、共有画面と個別画面がそれぞれ表示される。   FIG. 5 shows an example of a screen buffer secured on the main memory of the server. Each client 3 to 6 activates a VNC client for a shared screen (screen number 1) and a VNC client for one individual screen (screen numbers 2 to 5). 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. In the server 1, in order to display the shared screen on the large display device 2, the VNC client process is started by designating the IP address and screen number 1 of the own device. 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 each of the clients 3 to 6, respectively.

次に、クライアント3〜6の内、1つのクライアントが所定のアプリケーションを使用して、共有画面表示ウィンドウに任意の文書を表示させると、同じ文書が大型ディスプレイ装置2と他のクライアント3〜6の共有画面表示ウィンドウに表示される。続いて、クライアント3〜6の各クライアントは、共有画面表示ウィンドウに文書を表示させる際に使用したのと同じアプリケーションを使用して、共有画面表示ウィンドウに表示された文書と同じ文書を個別画面表示ウィンドウに表示させる。   Next, when one client displays an arbitrary document in the shared screen display window using a predetermined application among the clients 3 to 6, the same document is displayed on the large display device 2 and the other clients 3 to 6. Displayed in the shared screen display window. Subsequently, each of the clients 3 to 6 displays the same document as the document displayed in the shared screen display window by using the same application used to display the document in the shared screen display window. Display in window.

以上の処理は、公知のVNCサーバ/クライアントソフトウェアを使用することにより実現可能である。   The above processing can be realized by using known VNC server / client software.

以下に説明する処理が本発明に関わる処理動作である。
発明では、同じ文書が共有画面表示ウィンドウと個別画面表示ウィンドウに表示されていて、かつ、2つのウィンドウでの文書の表示位置が同じ場合、すなわち同一の文書データが共有画面表示ウィンドウと個別画面表示ウィンドウに表示されている場合において、個別画面表示ウィンドウに表示された文書を編集したとき、所定のタイミング後に、共有画面表示ウィンドウに表示された文書に対して、上記した編集と同一の編集が実行される。
The processing described below is a processing operation related to the present invention.
In the invention, when the same document is displayed in the shared screen display window and the individual screen display window and the display position of the document in the two windows is the same, that is, the same document data is displayed in the shared screen display window and the individual screen display. When the document displayed in the window is displayed and the document displayed in the individual screen display window is edited, the same editing as described above is executed for the document displayed in the shared screen display window after a predetermined timing. Is done.

個別画面を管理するVNCサーバは、個別画面表示ウィンドウに表示された文書が編集されているときに、VNCクライアントから受信したキーイベントデータとポインタイベントデータを全て記憶しておく。そして、所定のタイミングでこれらの記憶されたイベントを順次共有画面を管理するVNCサーバに通知する。共有画面を管理するVNCサーバは、個別画面を管理するVNCサーバから受信するキーイベントとポインタイベントに対してVNCクライアントから受信する時と同様な処理を実行する。すなわち、個別画面を管理するVNCサーバがVNCクライアントから受信したキーイベントやポインタイベントに対してリアルタイムに実行した処理と同じ処理を、所定のタイミング期間後に共有画面を管理するVNCサーバが実行する。上記2つのVNCサーバ間でのキーイベントデータやポインタイベントデータの受け渡しは、ソケットを使用したプロセス間通信により行う。   The VNC server managing the individual screen 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 performs the same processing as that received from the VNC client for the key event and the pointer event received from the VNC server that manages the individual screen. In other words, the VNC server that manages the shared screen executes the same processing as the processing that the VNC server that manages the individual screens executes in real time for the key event and the pointer event received from the VNC client after a predetermined timing period. Delivery of key event data and pointer event data between the two VNC servers is performed by inter-process communication using a socket.

なお、本発明では、上記した編集操作が複数のクライアント(または端末)で同時に実行されることを禁止する。つまり、本発明は、操作権の排他制御の基で処理が実行される。従って、例えば文章を追加する場合、追加直前にその追加位置付近の文章が他のクライアント(または端末)により削除され、意図しない位置に文章が追加されてしまうという不具合を防止できる。なお、操作権の排他制御としては、例えばMERMAID(非特許文献1を参照)またはITU−T勧告T.124、ITU−T勧告T.125などに記載されているような公知の技術を用いる。   In the present invention, the above-described editing operation is prohibited from being simultaneously executed by a plurality of clients (or terminals). That is, according to the present invention, the processing is executed based on the exclusive control of the operation right. Therefore, for example, when adding a sentence, it is possible to prevent a problem that a sentence near the addition position is deleted by another client (or terminal) immediately before the addition and the sentence is added to an unintended position. The exclusive control of the operation right is, for example, MERMAID (see Non-Patent Document 1) or ITU-T recommendation T.264. 124, ITU-T Recommendation T.24. A known technique such as described in 125 is used.

(実施例1)
実施例1は、上記した所定のタイミングとして、文章終端記号の入力を用いる実施例である。
(Example 1)
Example 1 is an example in which input of sentence end symbols is used as the above-described predetermined timing.

クライアント3〜6では、キーボードウィンドウをLCD29に表示して、電子ペンを使用して文字(テキスト)を入力したり、USBキーボードをUSB I/F33に接続してUSBキーボードから文字を入力することができる。   The clients 3 to 6 may display a keyboard window on the LCD 29 and input characters (text) using an electronic pen, or connect a USB keyboard to the USB I / F 33 and input characters from the USB keyboard. it can.

(1)文書の表示位置が同じ場合;
まず、同一の文書が全てのクライアントの共有画面表示ウィンドウと個別画面表示ウィンドウに表示されていて、かつこれらの2つのウィンドウでの文書の表示位置が同じ場合、例えば共有画面表示ウィンドウと個別画面表示ウィンドウに同じ文書の1ページ目の先頭から表示されている場合について説明する。
(1) When the document display position is the same;
First, if the same document is displayed in the shared screen display window and the individual screen display window of all clients and the document display position in these two windows is the same, for example, the shared screen display window and the individual screen display A case where the window is displayed from the top of the first page of the same document will be described.

例えば、クライアント3のユーザが個別画面表示ウィンドウに表示された文書のある位置に文章を追加するために、キーボードウィンドウ上で電子ペンを用いて文字(テキスト)を入力しているとする。このとき、文章終端記号である「。」(日本語)や「.」または「?」(英語)等が入力されるまでは、この追加された文章はクライアント3の個別画面表示ウィンドウにのみ表示されている。そして、文章終端記号が入力されると、それまで入力された文字列(テキスト)と文章終端記号を共有画面表示ウィンドウに表示された文書の同じ位置から追加する。すなわち、文字入力が開始されてから文章終端記号が入力されるまでは、クライアント3の共有画面表示ウィンドウに表示された文書の内容と個別画面表示ウィンドウに表示された文書の内容は異なっているが、文章終端記号が入力された時点で、個別画面表示ウィンドウに表示された文書の内容が共有画面表示ウィンドウに表示された文書の内容に反映されて、両者の文書の内容が同一となる。   For example, it is assumed that the user of the client 3 inputs characters (text) using the electronic pen on the keyboard window in order to add a sentence to a certain position of the document displayed in the individual screen display window. At this time, until the sentence end symbol “.” (Japanese), “.” Or “?” (English) is input, the added sentence is displayed only in the individual screen display window of the client 3. Has been. When the sentence end symbol is input, the character string (text) input so far and the sentence end symbol are added from the same position of the document displayed in the shared screen display window. That is, the contents of the document displayed in the shared screen display window of the client 3 and the contents of the document displayed in the individual screen display window are different from when the character input is started until the sentence end symbol is input. When the sentence end symbol is input, the contents of the document displayed in the individual screen display window are reflected in the contents of the document displayed in the shared screen display window, and the contents of both documents become the same.

また、クライアント3から文章終端記号が入力され、共有画面表示ウィンドウに表示された文書が更新されると、他のクライアント4〜6の共有画面表示ウィンドウと大型ディスプレイ装置2にも、更新された文書が表示される。さらに、他のクライアント4〜6の個別画面表示ウィンドウにも、更新された文書が表示される。   When a sentence terminator is input from the client 3 and the document displayed in the shared screen display window is updated, the updated document is also displayed 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 the other clients 4 to 6.

上記した動作を詳細に説明する。サーバ1の内部プロセスおよび各プロセスとクライアント3〜6との間のデータの流れを図6に示す。また、図8、図9は、各クライアントの画面表示(図7)において、クライアント3のユーザが個別画面表示ウィンドウ内で文字(テキスト)を入力したときのVNCサーバ2の動作フローを示す。   The above operation will be described in detail. The internal process of the server 1 and the data flow between each process and the clients 3 to 6 are shown in FIG. 8 and 9 show an operation flow of the VNC server 2 when the user of the client 3 inputs a character (text) in the individual screen display window in the screen display of each client (FIG. 7).

以下、図6、図8、図9を参照して説明する。サーバ1では、共有画面(画面番号が1)を管理するVNCサーバ1とクライアント3〜6の個別画面(画面番号が2〜5)を管理する各VNCサーバ(VNCサーバ2〜5)、クライアント3〜6のいずれかの共有画面を操作して起動された文書編集アプリケーション1、クライアント3〜6の各個別画面を操作して起動された文書編集アプリケーション2〜5、共有画面(画面番号が1)の画面データを大型ディスプレイ装置2に表示するVNCクライアント1の各プロセスが起動されている。   Hereinafter, a description will be given with reference to FIGS. 6, 8, and 9. In the server 1, the VNC server 1 that manages the shared screen (screen number 1), each VNC server (VNC server 2 to 5) that manages the individual screens (screen numbers 2 to 5) of the clients 3 to 6, and the client 3 Document editing application 1 activated by operating any one of the shared screens 1 to 6, Document editing applications 2 to 5 activated by operating the individual screens of the clients 3 to 6, and the shared screen (screen number 1) Each process of the VNC client 1 that displays the screen data on the large display device 2 is activated.

また、クライアント3では、画面番号が1の共有画面を表示、操作するVNCクライアント3−Aのプロセスと、画面番号が2の個別画面を表示、操作するVNCクライアント3−Bのプロセスが起動されている。クライアント4では、画面番号が1の共有画面を表示、操作するVNCクライアント4−Aのプロセスと、画面番号が3の個別画面を表示、操作するVNCクライアント4−Bのプロセスが起動されている。クライアント5では、画面番号が1の共有画面を表示、操作するVNCクライアント5−Aのプロセスと、画面番号が4の個別画面を表示、操作するVNCクライアント5−Bのプロセスが起動されている。クライアント6では、画面番号が1の共有画面を表示、操作するVNCクライアント6−Aのプロセスと、画面番号が5の個別画面を表示、操作するVNCクライアント6−Bのプロセスが起動されている。   In the client 3, the process of the VNC client 3-A that displays and operates the shared screen with the screen number 1 and the process of the VNC client 3-B that displays and operates the individual screen with the screen number 2 are started. Yes. In the client 4, the process of the VNC client 4-A that displays and operates the shared screen with the screen number 1 and the process of the VNC client 4-B that displays and operates the individual screen with the screen number 3 are activated. In the client 5, the process of the VNC client 5-A that displays and operates the shared screen with the screen number 1 and the process of the VNC client 5-B that displays and operates the individual screen with the screen number 4 are activated. In the client 6, the process of the VNC client 6-A that displays and operates the shared screen with the screen number 1 and the process of the VNC client 6-B that displays and operates the individual screen with the screen number 5 are activated.

クライアント3の個別画面表示ウィンドウに表示された文書に対して文字(テキスト)入力する位置にカーソルを移動するために電子ペン7でポイントされると、クライアント3のVNCクライアント3−Bは、ポイント位置データ(座標データ)をサーバ1のVNCサーバ2へ送信する(図6の矢印41)。VNCサーバ2は、座標データをポインタイベントとして受信し(ステップ101でYES)、座標データを文書編集アプリケーション2へ渡すとともに(矢印42、ステップ102)、イベントデータをキュー(キュー2)に入れる(ステップ103)。このキューはプログラム中に定義された配列である。   When the electronic pen 7 points to move the cursor to a position where a character (text) is input to the document displayed in the individual screen display window of the client 3, the VNC client 3-B of the client 3 Data (coordinate data) is transmitted to the VNC server 2 of the 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 places the event data in a queue (queue 2) (step 2). 103). This queue is an array defined in the program.

次いで、文書編集アプリケーション2は、受信した座標データの位置にカーソルを移動し、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は描画リクエストを受信すると(ステップ104でYES)、カーソルの表示位置を変えるとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ105)。   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 transmits the updated screen data to the client 3 (arrow 44, step 105).

続いて、クライアント3の個別画面表示ウィンドウ内で文字(テキスト)が入力されると、VNCクライアント3−Bはこの文字コードをVNCサーバ2へ送信する(矢印41)。VNCサーバ2はこれらの文字コードをキーイベントとして受信し(ステップ106でYES)、これらの文字コードを文書編集アプリケーション2へ渡す(矢印42)とともに(ステップ107)、このイベントデータをキュー2に入れる(ステップ108)。   Subsequently, when a character (text) is input in the individual screen display window of the client 3, the VNC client 3-B transmits this character code to the VNC server 2 (arrow 41). The VNC server 2 receives these character codes as key events (YES in step 106), passes these character codes to the document editing application 2 (arrow 42) (step 107), and puts the event data in the queue 2 (Step 108).

文書編集アプリケーション2はこれらの文字コードを受信すると、これらの文字コードを文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、描画リクエストを受信すると(ステップ109でYES)、各文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ110)。   Upon receiving these character codes, the document editing application 2 adds these character codes to the document data and issues a drawing request to the VNC server 2 (arrow 43). When receiving the drawing request (YES in step 109), the VNC server 2 displays the character font corresponding to each character code at the cursor position and transmits the updated screen data to the client 3 (arrow 44, step 110). .

上記したように、ユーザにより文字列が入力され、文章終端記号が入力されると、VNCサーバ2は文章終端記号を受信し(ステップ111でYES)、文章終端記号(文字コード)を文書編集アプリケーション2へ(矢印42)渡すとともに、このイベントデータ(文章終端記号)をキュー2に入れる(ステップ112)。   As described above, when a character string is input by a user and a sentence end symbol is input, the VNC server 2 receives the sentence end symbol (YES in step 111), and uses the sentence end symbol (character code) as a document editing application. 2 (arrow 42), and this event data (sentence symbol) is put into the queue 2 (step 112).

文書編集アプリケーション2は文章終端記号(文字コード)を受信すると、文章終端記号(文字コード)を文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、描画リクエストを受信すると(ステップ113でYES)、文章終端記号(文字コード)に対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ114)。   Upon receiving the sentence end symbol (character code), the document editing application 2 adds the sentence end symbol (character code) to the document data and issues a drawing request to the VNC server 2 (arrow 43). When receiving the drawing request (YES in step 113), the VNC server 2 displays a character font corresponding to the sentence end symbol (character code) at the cursor position and transmits the updated screen data to the client 3 (arrow 44). Step 114).

VNCサーバ2は、キュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する(ステップ115)。なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する(矢印45〜48)。   The VNC server 2 sequentially transmits the event data stored in the queue 2 to the VNC server 1 and the VNC servers 3 to 5 in the order of first-in first-out (step 115). Before and after sending 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 transmitted to the VNC server 1 and the VNC servers 3 to 5 (arrows 45 to 48).

VNCサーバ1は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡す(矢印49)。文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い(矢印50)、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。VNCサーバ1は、イベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ(共有画面データ)をクライアント3〜6へ送信しない。そして、VNCサーバ1はイベント群終了データを受信すると、その時の画面データをクライアント3へ送信する(矢印51)。これにより、クライアント3の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じになる。また、VNCサーバ1は、この更新された共有画面データをクライアント4〜6へ送信する(矢印52〜54)とともに、VNCクライアント1へ送信する(矢印55)。クライアント4〜6は、これらの共有画面データをLCD29に表示し、VNCクライアント1は大型ディスプレイ装置2に表示する。   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 document editing application 2 executed previously. The VNC server 1 does not transmit the updated screen data (shared screen data) to the clients 3 to 6 until the event group end data is received after the event group start data is received. When the VNC server 1 receives the event group end data, the VNC server 1 transmits the screen data at that time to the client 3 (arrow 51). As a result, the content of the document displayed in the shared screen display window of the client 3 and the content of the document displayed in the individual screen display window become the same. In addition, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also transmits to the VNC client 1 (arrow 55). The clients 4 to 6 display these shared screen data on the LCD 29, and the VNC client 1 displays them on the large display device 2.

VNCサーバ3〜5はVNCサーバ1と同様な処理を行い、従って、クライアント4〜6の個別画面表示ウィンドウの表示画面が更新され(矢印56〜64)、クライアント3〜6の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同一の文書内容となる。   The VNC servers 3 to 5 perform the same processing as the VNC server 1, and accordingly, the display screens of the individual screen display windows of the clients 4 to 6 are updated (arrows 56 to 64), and the shared screen display windows of the clients 3 to 6 are displayed. The contents of the displayed document and the document displayed in the individual screen display window are all the same document contents.

(2)文書の表示位置が異なる場合;
次に、同一文書が各クライアントの共有画面表示ウィンドウと個別画面表示ウィンドウに表示されているが、これらの2つのウィンドウでの文書の表示位置が異なる場合、すなわち共有画面表示ウィンドウと個別画面表示ウィンドウに表示された文書データが異なる場合について説明する。
(2) When the display position of the document is different;
Next, if the same document is displayed in the shared screen display window and the individual screen display window of each client, but the display positions of the documents in these two windows are different, that is, the shared screen display window and the individual screen display window A case where the document data displayed on the screen is different will be described.

例えば、クライアント3〜6の共有画面表示ウィンドウには1ページ目が、クライアント3とクライアント5の個別画面表示ウィンドウには2ページ目が、クライアント4の個別画面表示ウィンドウには3ページ目が、クライアント6の個別画面表示ウィンドウには4ページ目が表示されているとする。図7は、このときのクライアント3〜6の画面表示例を示す。   For example, the first page is displayed on the shared screen display windows of the clients 3 to 6, the second page is displayed on the individual screen display windows of the clients 3 and 5, and the third page is displayed on the individual screen display window of the client 4. It is assumed that the fourth page is displayed in the six individual screen display windows. FIG. 7 shows a screen display example of the clients 3 to 6 at this time.

クライアント3のユーザが個別画面表示ウィンドウに表示された2ページ目の文書のある位置にカーソルを移動し、文章を追加するためにキーボードウィンドウ上で電子ペンを用いて文字(テキスト)を入力すると、クライアント3のVNCクライアント3−Bはこれらのポイント位置データ(座標データ)と文字コードをサーバ1のVNCサーバ2へ送信する(矢印41)。   When the user of the client 3 moves the cursor to a position of the document on the second page displayed in the individual screen display window and inputs a character (text) using the electronic pen on the keyboard window to add a sentence, The VNC client 3-B of the client 3 transmits the point position data (coordinate data) and the character code to the VNC server 2 of the server 1 (arrow 41).

VNCサーバ2はこの座標データをポインタイベントとして受信し、文字コードをキーイベントとして受信し、座標データと文字コードを文書編集アプリケーション2へ渡す(矢印42)とともに、これらのイベントデータをキュー2に入れる。文書編集アプリケーション2は座標データを受信すると2ページ目のその位置にカーソルを移動し、VNCサーバ2へ描画リクエストを出す(矢印43)。また、文書編集アプリケーション2は文字コードを受信すると(矢印42)、これらの文字コードを文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、カーソルの表示位置を変えるとともに更新された画面データをクライアント3へ送信し(矢印44)、また各文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44)。   The VNC server 2 receives this coordinate data as a pointer event, receives a 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 transmits 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. It transmits to the client 3 (arrow 44).

上記したように、ユーザにより文字列が入力され、文章終端記号が入力されると、VNCサーバ2は文章終端記号を受信し、文章終端記号(文字コード)を文書編集アプリケーション2へ(矢印42)渡すとともに、このイベントデータ(文章終端記号)をキュー2に入れる。   As described above, when the user inputs a character string and a sentence end symbol, the VNC server 2 receives the sentence end symbol and sends the sentence end symbol (character code) to the document editing application 2 (arrow 42). At the same time, the event data (sentence symbol) is put in the queue 2.

文書編集アプリケーション2は文章終端記号(文字コード)を受信すると、文章終端記号(文字コード)を文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、描画リクエストを受信すると、文章終端記号(文字コード)に対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44)。   Upon receiving the sentence end symbol (character code), the document editing application 2 adds the sentence end symbol (character code) to the document data and issues a drawing request to the VNC server 2 (arrow 43). Upon receiving the drawing request, the VNC server 2 displays a character font corresponding to the sentence end symbol (character code) at the cursor position and transmits the updated screen data to the client 3 (arrow 44).

VNCサーバ2は、キュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する。なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する。(矢印45〜48)。   The VNC server 2 sequentially transmits the event data in the queue 2 to the VNC server 1 and the VNC servers 3 to 5 in the first-in first-out order. Before and after sending 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 transmitted to the VNC server 1 and the VNC servers 3 to 5. (Arrows 45-48).

VNCサーバ1は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡す(矢印49)。文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い(矢印50)、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。   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 document editing application 2 executed previously.

VNCサーバ1は、イベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ(共有画面データ)をクライアント3〜6へ送信しない。そして、VNCサーバ1はイベント群終了データを受信すると、その時の画面データをクライアント3へ送信する(矢印51)。従って、クライアント3の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じとなる。また、VNCサーバ1は、この更新された共有画面データをクライアント4〜6へ送信する(矢印52〜54)とともに、VNCクライアント1へ送信する(矢印55)。クライアント4〜6はこれらの共有画面データをLCD29に表示し、VNCクライアント1は大型ディスプレイ装置2に表示する。   The VNC server 1 does not transmit the updated screen data (shared screen data) to the clients 3 to 6 until the event group end data is received after the event group start data is received. When the VNC server 1 receives the event group end data, the VNC server 1 transmits 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. In addition, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also transmits to the VNC client 1 (arrow 55). The clients 4 to 6 display these shared screen data on the LCD 29, and the VNC client 1 displays them on the large display device 2.

VNCサーバ3は、VNCサーバ2から受信したイベントデータを文書編集アプリケーション3へ渡す(矢印56)。文書編集アプリケーション3は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント4に表示されていないため、VNCサーバ3へは描画リクエストを出さない。この場合、VNCサーバ3はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント4へは送信しない。したがって、クライアント4の個別画面表示ウィンドウの表示内容は変化しない。   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 displays the processed page (second page) on the client 4. Therefore, no drawing request is issued to the VNC server 3. In this case, when receiving the event group end data, the VNC server 3 does not transmit the screen data at that time 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.

VNCサーバ4はVNCサーバ2から受信したイベントデータを文書編集アプリケーション4へ渡す(矢印59)。文書編集アプリケーション4は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行い、VNCサーバ4へ指示された位置でのカーソルの描画リクエストと追加された文字の描画リクエストを出す(矢印60)。VNCサーバ4は、カーソルの表示位置を変え、各文字コードに対応した文字フォントをカーソル位置に表示させる。そして、VNCサーバ4はイベント群終了データを受信すると、その時の画面データをクライアント5へ送信する(矢印61)。従って、クライアント5の個別画面表示ウィンドウの表示内容が更新され、クライアント3の個別画面表示ウィンドウに表示された文書の内容と同じ内容になる。   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 adds a cursor drawing request at the position instructed to the VNC server 4. A drawing request for the designated character is issued (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. When the VNC server 4 receives the event group end data, the VNC server 4 transmits the screen data at that time to the client 5 (arrow 61). Accordingly, 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.

VNCサーバ5は、VNCサーバ2から受信したイベントデータを文書編集アプリケーション5へ渡す(矢印62)。文書編集アプリケーション5は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント6に表示されていないため、VNCサーバ5へは描画リクエストを出さない。この場合、VNCサーバ5はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント6へは送信しない。したがって、クライアント6の個別画面表示ウィンドウの表示内容は変化しない。   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 displays the processed page (second page) on the client 6. Therefore, no drawing request is issued to the VNC server 5. In this case, when receiving the event group end data, the VNC server 5 does not transmit the screen data at that time 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.

なお、上記した実施例では、クライアント3の個別画面表示ウィンドウ内で文字(テキスト)が入力された場合の動作について説明したが、クライアント4〜6の任意の個別画面表示ウィンドウ内で文字(テキスト)が入力された場合も対応するVNCサーバ(3〜5)がVNCサーバ2と同様な動作を実行することで、各クライアントの画面表示内容を上記したのと同様に表示することができる。   In the above-described embodiment, the operation when a character (text) is input in the individual screen display window of the client 3 has been described. However, the character (text) in any individual screen display window of the clients 4 to 6 has been described. When the corresponding VNC server (3 to 5) executes the same operation as that of the VNC server 2, the screen display content of each client can be displayed in the same manner as described above.

(実施例2)
上記した実施例1は、VNCサーバ2がクライアント3から文章終端記号を受信したときに、それまで受信していたイベントデータ(文章終端記号も含む)をVNCサーバ1とVNCサーバ3〜5へ送信し、文書編集アプリケーション1〜5が同じ編集処理を実行する実施例であるが、本実施例では、VNCサーバ2がクライアント3から改行コードを受信したときに、実施例1と同様な処理を実行する。実施例2の動作は、図8、9で説明した実施例1の文章終端記号を改行コードに置き換えたものとなる。
(Example 2)
In the first embodiment described above, when the VNC server 2 receives a sentence end symbol from the client 3, the event data (including the sentence end symbol) received so far is transmitted to the VNC server 1 and the VNC servers 3 to 5. In this embodiment, the document editing applications 1 to 5 execute the same editing process. In this embodiment, when the VNC server 2 receives a line feed code from the client 3, the same processing as that in the first embodiment is executed. To do. The operation of the second embodiment is obtained by replacing the sentence end symbol of the first embodiment described with reference to FIGS.

すなわち、VNCサーバ2がキュー2に貯めたイベントデータをVNCサーバ1とVNCサーバ3〜5へ送信するタイミングがクライアント3から文章終端記号を受信したときではなく、改行コードを受信したときである。従って、実施例2では、ユーザが1行分の文字(テキスト)を入力して改行がなされるまでは共有画面表示ウィンドウと個別画面表示ウィンドウに表示された文書の内容が異なるが、改行がなされたときに、これらのウィンドウに表示される文書の内容が同じになる。   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 end symbol is received from the client 3 but when the line feed code is received. Therefore, in the second embodiment, the contents of the document displayed in the shared screen display window and the individual screen display window are different until the user inputs a line of characters (text) and a line break is made, but the line break is made. The contents of the documents displayed in these windows are the same.

上記した実施例2は1行分の文字(テキスト)を入力する例であるが、本発明はこれに限定されず、ユーザが複数行分の文字(テキスト)を入力したとき、つまりVNCサーバ2が複数個の改行コードを受信した場合についても、上記した実施例2と同様に実行できる。   The second embodiment described above is an example of inputting characters (text) for one line, but the present invention is not limited to this, and when the user inputs characters (text) for a plurality of lines, that is, the VNC server 2. When a plurality of line feed codes are received, it can be executed in the same manner as in the second embodiment.

(実施例3)
実施例3は、クライアントのユーザがテキスト入力ではなく、手書き入力する場合の実施例である。本実施例では、ユーザが筆記動作を行っているか否かを、電子ペンがアップされている状態の持続時間から判断する。
(Example 3)
The third embodiment is an embodiment where a client user performs handwriting input instead of text input. In the present embodiment, whether or not the user is performing a writing operation is determined from the duration of the state in which the electronic pen is up.

各クライアントの画面表示が図7であるとして、図6、図10(VNCサーバ2の動作フローチャート)を参照して実施例3を説明する。   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 the VNC server 2).

電子ペンがタッチパネル31(図3)に接触したことを、クライアント3のタッチパネルコントローラ30が検出すると、クライアント3は座標検出用の所定の時間間隔毎に、この接触座標をVNCサーバ2へ送信する(矢印41)。VNCサーバ2は座標データをポインタイベントとして受信し、座標データを文書編集アプリケーション2へ渡す(矢印42)。   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).

文書編集アプリケーション2は、座標データをカーソルの位置データとして使用し、あるいは自由線描画の描画位置データとして使用する。今、文書編集アプリケーション2は受信した座標データを自由線描画の描画位置データとして使用するモードにあり、1つのストローク(ペンダウンからペンアップまで)中は受信した座標間を線で描画する機能を実行している。この自由線描画機能の開始時に、文書編集アプリケーション2はVNCサーバ2へ描画線の色や太さ等の設定情報を送信する。これは、XプロトコルにおけるXクライアントからXサーバへのリクエストである。   The document editing application 2 uses the coordinate data as the position data of the cursor or the drawing position data for free line drawing. Now, the document editing application 2 is in a mode in which the received coordinate data is used as drawing position data for free line drawing, and executes a function of drawing the received coordinates with lines during one stroke (from pen down to pen up). is doing. At the start of this free line drawing function, 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.

VNCサーバ2が描画線の設定情報を受信すると(ステップ201でYES)、手書き入力モードとして動作する(ステップ202)。VNCサーバ2が手書き入力モードになると、クライアント3から受信するポインタイベント間の時間を計測する(ステップ203、204)。この計測時間が所定の時間以内である場合は、VNCサーバ2は座標データを文書編集アプリケーション2へ渡すとともに(矢印42、ステップ205)、そのポインタイベントデータをキュー2に入れる(ステップ206)。このキューはプログラム中に定義された配列である。   When the VNC server 2 receives the drawing line setting information (YES in step 201), it operates as a handwriting input mode (step 202). When the VNC server 2 enters the handwriting input mode, the time between pointer events received from the client 3 is measured (steps 203 and 204). If the measurement time is within the predetermined time, the VNC server 2 passes the coordinate data to the document editing application 2 (arrow 42, step 205) and puts the pointer event data into the queue 2 (step 206). This queue is an array defined in the program.

文書編集アプリケーション2は座標データを受信すると、先に受信した座標との間を線で描画するリクエストをVNCサーバ2へ出す(矢印43)。VNCサーバ2は描画リクエストを受信すると(ステップ207でYES)、座標間を線で描画するとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ208)。そして、ポインタイベント間の計測時間が所定の時間を超えた場合、すなわちポインタイベント受信時に開始したタイマーがタイムアウトした場合には(ステップ209でYES)、VNCサーバ2はキュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する(ステップ210)。   When the document editing application 2 receives the coordinate data, it issues 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), the VNC server 2 draws the coordinates between the lines and transmits the updated screen data to the client 3 (arrow 44, step 208). If the measurement time between the pointer events exceeds a predetermined time, that is, if the timer started upon receiving the pointer event times out (YES in step 209), the VNC server 2 stores the event data in the queue 2 Are sequentially transmitted to the VNC server 1 and the VNC servers 3 to 5 in the order of first-in first-out (step 210).

なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する(矢印45〜48)。   Before and after sending 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 transmitted to the VNC server 1 and the VNC servers 3 to 5 (arrows 45 to 48).

VNCサーバ1は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡す(矢印49)。文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い(矢印50)、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。VNCサーバ1はイベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ(共有画面データ)をクライアント3〜6へ送信しない。そして、VNCサーバ1はイベント群終了データを受信すると、その時の画面データをクライアント3へ送信する(矢印51)。   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 document editing application 2 executed previously. The VNC server 1 does not transmit the updated screen data (shared screen data) to the clients 3 to 6 until the event group end data is received after the event group start data is received. When the VNC server 1 receives the event group end data, the VNC server 1 transmits the screen data at that time to the client 3 (arrow 51).

従って、クライアント3の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じになる。また、VNCサーバ1は、この更新された共有画面データをクライアント4〜6へ送信する(矢印52〜54)とともに、VNCクライアント1へ送信する(矢印55)。クライアント4〜6はこれらの共有画面データをLCD29に表示し、VNCクライアント1は大型ディスプレイ装置2に表示する。   Therefore, the content of the document displayed in the shared screen display window of the client 3 is the same as that of the document displayed in the individual screen display window. In addition, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also transmits to the VNC client 1 (arrow 55). The clients 4 to 6 display these shared screen data on the LCD 29, and the VNC client 1 displays them on the large display device 2.

VNCサーバ3はVNCサーバ2から受信したイベントデータを文書編集アプリケーション3へ渡す(矢印56)。文書編集アプリケーション3は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント4に表示されていないため、VNCサーバ3へは描画リクエストを出さない。この場合、VNCサーバ3はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント4へは送信しない。したがって、クライアント4の個別画面表示ウィンドウの表示内容は変化しない。   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 displays the processed page (second page) on the client 4. Therefore, no drawing request is issued to the VNC server 3. In this case, when receiving the event group end data, the VNC server 3 does not transmit the screen data at that time 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.

VNCサーバ4はVNCサーバ2から受信したイベントデータを文書編集アプリケーション4へ渡す(矢印59)。文書編集アプリケーション4は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行い、VNCサーバ4へ座標間の線描画リクエストを出す(矢印60)。VNCサーバ4は、このリクエストに従った線描画を行う。そして、VNCサーバ4はイベント群終了データを受信すると、その時の画面データをクライアント5へ送信する(矢印61)。このようにして、クライアント5の個別画面表示ウィンドウの表示内容が更新され、クライアント3の個別画面表示ウィンドウに表示された文書の内容と同じ内容となる。   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 performs line drawing according to this request. When the VNC server 4 receives the event group end data, the VNC server 4 transmits 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.

VNCサーバ5はVNCサーバ2から受信したイベントデータを文書編集アプリケーション5へ渡す(矢印62)。文書編集アプリケーション5は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント6に表示されていないため、VNCサーバ5へは描画リクエストを出さない。この場合、VNCサーバ5はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント6へは送信しない。したがって、クライアント6の個別画面表示ウィンドウの表示内容は変化しない。   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 displays the processed page (second page) on the client 6. Therefore, no drawing request is issued to the VNC server 5. In this case, when receiving the event group end data, the VNC server 5 does not transmit the screen data at that time 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.

(実施例4)
実施例4は、クライアントの個別画面表示ウィンドウ内で、ユーザが電子ペンを用いて手書き入力を行い、タッチパネル31上で所定のジェスチャー動作を行うことにより、それまで入力された手書き描画が共有画面にコピーされる場合の実施例である。
Example 4
In the fourth embodiment, in the individual screen display window of the client, the user performs handwriting input using the electronic pen and performs a predetermined gesture operation on the touch panel 31, so that the handwritten drawing input so far is displayed on the shared screen. It is an Example in the case of being copied.

図11、図12は、実施例4に係るVNCサーバ2の動作フローチャートである。以下、実施例4を説明すると、文書編集アプリケーション2は自由線描画機能の開始時に、VNCサーバ2へ描画線の色や太さ等の設定情報を送信する。これは、XプロトコルにおけるXクライアントからXサーバへのリクエストである。   11 and 12 are operation flowcharts of the VNC server 2 according to the fourth embodiment. Hereinafter, the fourth embodiment will be described. The document editing application 2 transmits setting information such as the color and thickness of a drawing line to the VNC server 2 at the start of the free line drawing function. This is a request from the X client to the X server in the X protocol.

VNCサーバ2が描画線の設定情報を受信すると(ステップ301でYES)、手書き入力モードとして動作する(ステップ302)。VNCサーバ2が手書き入力モードになると、クライアント3から受信するポインタイベント毎に、現在の時刻をタイムスタンプとして得る(ステップ303、304)。VNCサーバ2は、座標データをタイムスタンプと共にメインメモリ23上に存在する座標配列に巡回的に追加し(ステップ305)、座標配列中のデータから、画面間のコピーコマンド用の所定のパターンと一致するか否かの判断を行う(ステップ306)。なお、この時点では描画データであるかコピーコマンドであるかの判断が行われていないので、実施例3と同様にして画面データをクライアント3へ送信し、個別画面表示ウィンドウに一旦表示する。   When the VNC server 2 receives the drawing line setting information (YES in step 301), it operates as a 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 the screens from the data in the coordinate array. It is determined whether or not to perform (step 306). At this point, since it is not determined whether the data is the drawing data or the copy command, the screen data is transmitted to the client 3 and displayed once in the individual screen display window as in the third embodiment.

図13は、画面間コピーコマンド用のパターン例を示す。図13において、点Aがペンダウン位置、点Dがペンアップ位置であり、点Aから点B、点Bから点C、点Cから点Dへとペン先が移動するパターンである。このパターンと比較するパラメータは、線分AB、線分BC、線分CDのそれぞれの長さ、点Aから点Dまでの時間(ストローク時間)、ベクトルAB(A→B)、ベクトルBC(B→C)、ベクトルCD(C→D)のそれぞれの方向(表示画面のX軸、Y軸との成す角度)である。   FIG. 13 shows an example pattern for an inter-screen copy command. In FIG. 13, point A is a pen-down position, point D is a pen-up position, and the pen tip moves from point A to point B, from point B to point C, and from point C to point D. Parameters to be compared with this pattern are the lengths of line segment AB, line segment BC, line segment CD, time from point A to point D (stroke time), vector AB (A → B), vector BC (B → C) and the direction of the vector CD (C → D) (angles formed with the X axis and Y axis of the display screen).

図13では、ベクトルABとY軸との成す角度をα、ベクトルBCとY軸との成す角度をβ、ベクトルCDとX軸との成す角度をγとしている。ペン先の動きを画面間コピーコマンド用のパターンであると判断するために、参照用のパラメータの中でストローク時間以外の各パラメータ値は予め決められた所定の範囲が定義されている。ストローク時間とこれらのパラメータの上限値と下限値はROM24に予め記憶されている。そして、クライアント3から受信した座標列(座標配列に格納)からタイムスタンプに基づいてストロークの開始点(図13の点A)と終了点(図13の点D)を判断し、点Aから点Dまでの時間が所定の値以下の場合には、この1ストローク中の座標間のベクトルを求め、ベクトルの方向が大きく変わる点(図13の点Bまたは点C)を検出し、線分AB、線分BC、線分CDのそれぞれの長さを求め、また図13に示す3つの角度α、β、γをそれぞれ求め、これらのパラメータ値をROM24に予め記憶された所定の値の範囲内であるかチェックし、全ての条件を満足した場合、画面間コピーコマンドであると判断する(ステップ307でYES)。   In FIG. 13, the angle between the vector AB and the Y axis is α, the angle between the vector BC and the Y axis is β, and the angle between the vector CD and the X axis is γ. In order to determine that the movement of the pen tip is a pattern for an inter-screen copy command, a predetermined range is defined for each parameter value other than the stroke time among the reference parameters. The stroke time and the upper and lower limits of these parameters are stored in advance in the ROM 24. Then, the stroke start point (point A in FIG. 13) and end point (point D in FIG. 13) are determined from the coordinate sequence received from the client 3 (stored in the coordinate array) based on the time stamp, When the time until D is equal to or less than a predetermined value, a vector between coordinates in one stroke is obtained, a point (point B or point C in FIG. 13) where the direction of the vector changes greatly is detected, and a line segment AB , Line segment BC and line segment CD are obtained, and the three angles α, β, and γ shown in FIG. 13 are obtained, and these parameter values are within a predetermined value range stored in advance in the ROM 24. If all the conditions are satisfied, it is determined that the command is an inter-screen copy command (YES in step 307).

画面間コピーコマンドを検出すると、キュー2に貯められたイベントデータの中で、最新から過去に遡った方向で上記の条件を満足した座標の個数分(つまり、コピーコマンドに相当する図13の座標データ)だけ、描画の消去指示情報と共に文書編集アプリケーション2へ渡し、この渡したイベントデータをキュー2から削除する(ステップ308)。   When the inter-screen copy command is detected, among the event data stored in the queue 2, the number of coordinates satisfying the above condition in the direction from the latest to the past (that is, the coordinates of FIG. 13 corresponding to the copy command). (Data) is transferred to the document editing application 2 together with the drawing erasure instruction information, and the passed event data is deleted from the queue 2 (step 308).

文書編集アプリケーション2は指示された描画線を消すために、描画線の背景部分の再描画(描画線に対して上書き)のリクエストをVNCサーバ2に送り、VNCサーバ2がそのリクエストを受信すると(ステップ309)、指定された線描画部分を背景データで上書きして線を消去し、更新された画面データをクライアント3へ送信する(ステップ310)。   In order to erase the designated drawing line, the document editing application 2 sends a request for redrawing the background portion of the drawing line (overwriting the drawing line) to the VNC server 2, and when the VNC server 2 receives the request ( Step 309), the designated line drawing portion is overwritten with the background data to delete the line, and the updated screen data is transmitted to the client 3 (step 310).

上記したように、クライアント3の個別画面表示ウィンドウには、一旦、ジェスチャー用のペン先の動きを描画するが、VNCサーバ2がジェスチャー動作と認識するとこの描画をキャンセルする。そして、VNCサーバ2はキュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する(ステップ311)。これ以降の動作は前述した実施例3と同様である。また、ステップ307で条件を満足していないとき、実施例3と同様に動作する(ステップ312〜ステップ315)。   As described above, the movement of the pen tip for gesture is once drawn in the individual screen display window of the client 3, but this drawing is canceled when the VNC server 2 recognizes the gesture action. Then, the VNC server 2 sequentially transmits the event data stored in the queue 2 to the VNC server 1 and the VNC servers 3 to 5 in the first-in first-out order (step 311). The subsequent operation is the same as that of the third embodiment described above. Further, when the condition is not satisfied in step 307, the same operation as in the third embodiment is performed (steps 312 to 315).

(実施例5)
実施例5は、クライアントの個別画面表示ウィンドウに表示された文書に対して、ユーザが電子ペンやUSBキーボードを用いた編集操作を行い、LCD29に表示された所定のボタンが選択されることにより、それまでの編集処理が共有画面に表示された文書に対しても実行される場合の実施例である。
(Example 5)
In the fifth embodiment, the user performs an editing operation using an electronic pen or a USB keyboard on a 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 embodiment in the case where the editing process up to that point is executed for a document displayed on the shared screen.

図14は、実施例5に係るVNCサーバ2の動作フローチャートである。以下、実施例5を説明すると、LCD29の表示画面上で、共有画面表示ウィンドウと個別画面表示ウィンドウ以外の領域に、ボタン(編集同期ボタン)を表示する。   FIG. 14 is an operation flowchart of the VNC server 2 according to the fifth embodiment. The fifth embodiment will be described below. Buttons (edit synchronization buttons) are displayed on the display screen of the LCD 29 in an area other than the shared screen display window and the individual screen display window.

編集同期ボタンは、個別画面表示ウィンドウに表示された文書に対して実行されたのと同じ編集処理を、共有画面表示ウィンドウに表示された文書に対して実行させるためのボタンである。   The edit synchronization button is a button for causing the same editing process as that performed on the document displayed on the individual screen display window to be performed on the document displayed on the shared screen display window.

クライアント3の個別画面表示ウィンドウに表示された文書に対して文字(テキスト)入力、手書き入力、文章の削除、文章のコピー等の各種編集操作が行われると、クライアント3のVNCクライアント3−Bはキーコード(文字・記号コードや改行コード等)やポイント位置データ(座標データ)をサーバ1のVNCサーバ2へ送信する。VNCサーバ2は受信したこれらのイベントデータ(キーコード、座標データ)を文書編集アプリケーション2へ渡すとともに(ステップ401、402)、キュー2に入れる(ステップ403)。このキューはプログラム中に定義された配列である。   When various editing operations such as character (text) input, handwriting input, sentence deletion, sentence copy, and the like are performed on the document displayed in the individual screen display window of the client 3, the VNC client 3-B of the client 3 The key code (character / symbol code, line feed code, etc.) and point position data (coordinate data) are transmitted to the VNC server 2 of the 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 enters the queue 2 (step 403). This queue is an array defined in the program.

編集同期ボタンが選択されていなければ(ステップ404でNO)、文書編集アプリケーション2は受信したイベントデータに従った処理を行い、画面の表示データに変更が必要な場合には、VNCサーバ2へ描画リクエストを出す。VNCサーバ2は描画リクエストを受信し(ステップ405でYES)、指示された描画を行い、更新された画面データをクライアント3へ送信する(ステップ406)。   If the edit synchronization button is not selected (NO in step 404), the document editing application 2 performs processing according to the received event data, and if the display data on the screen needs to be changed, it is rendered on the VNC server 2. Make a request. The VNC server 2 receives the drawing request (YES in step 405), performs the instructed drawing, and transmits the updated screen data to the client 3 (step 406).

ユーザにより編集同期ボタンが選択されると、アプリケーション2はVNCサーバ2へ編集同期を指示するリクエストを出し、VNCサーバ2が編集同期を指示するリクエストを受信すると(ステップ404でYES)、キュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する(ステップ407)。なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する。   When the user selects the edit synchronization button, the application 2 issues a request for instructing edit synchronization to the VNC server 2, and when the VNC server 2 receives a request for instructing edit synchronization (YES in step 404), the application 2 enters the queue 2. The event data contained therein are sequentially transmitted to the VNC server 1 and the VNC servers 3 to 5 in the order of first-in first-out (step 407). Before and after sending 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 transmitted to the VNC server 1 and the VNC servers 3 to 5.

VNCサーバ1はイベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡し、文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。VNCサーバ1はイベント群開始データを受信してからイベント群終了データを受信する前までの間は更新された画面データ(共有画面データ)をクライアント3〜6へ送信しない。そして、VNCサーバ1はイベント群終了データを受信すると、その時の画面データをクライアント3〜6およびVNCクライアント1へ送信する。そして、クライアント3の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じとなる。VNCサーバ3〜5もサーバ2からイベントデータを受信すると、前述の実施例と同様な処理を実行し、また文書編集アプリケーション3〜5も先に実行された文書編集アプリケーション2と同じ処理を行い、クライアント3〜6の共有画面表示ウィンドウに表示された文書(大型ディスプレイ装置2に表示された文書も同じ)と個別画面表示ウィンドウに表示された文書の内容が同じ内容となる。   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 processing corresponding to these event data. The same processing as that performed by the document editing application 2 is performed. The VNC server 1 does not transmit the updated screen data (shared screen data) to the clients 3 to 6 until receiving the event group start data and before receiving the event group end data. When the VNC server 1 receives the event group end data, the VNC server 1 transmits 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 the VNC servers 3 to 5 also receive the event data from the server 2, the VNC servers 3 to 5 execute the same processing as in the above-described embodiment, and the document editing applications 3 to 5 also perform the same processing as the document editing application 2 previously executed. The content of the document displayed in the shared screen display window of the clients 3 to 6 (the same as the document displayed on the large display device 2) and the content of the document displayed in the individual screen display window are the same.

(実施例6)
実施例6は、共有画面ミラーリングモードに係る実施例である。共有画面ミラーリングモードは、共有画面の表示データとクライアント3〜6の個別画面の表示データとを常に同じ内容にする動作モードである。このモードは、会議開始前に大型ディスプレイ装置2に表示された共有画面ミラーリングモード設定ボタン(図示は省略)がタッチされることにより設定され、あるいは会議中に共有画面を操作できる任意の端末(例えばクライアント3)から、共有画面に表示された共有画面ミラーリングモード設定ボタンを選択することにより設定される。
(Example 6)
Example 6 is an example according 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 a 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, This is set by selecting a shared screen mirroring mode setting button displayed on the shared screen from the client 3).

共有画面ミラーリングモードでは、共有画面の表示データとクライアント3〜6の個別画面の表示データを常に同じ内容にするために、共有画面での操作をクライアント3〜6の個別画面に対しても同様に行うように動作させる。   In the shared screen mirroring mode, the shared screen display data and the individual screen display data of the clients 3 to 6 always have the same contents. Operate to do.

図15を参照して共有画面ミラーリングモードの動作を説明する。サーバ1に存在するVNCサーバ1は、VNCクライアント1およびクライアント3〜6に存在するVNCクライアント3−A〜6−Aから受信するキーイベントやポインタイベントのイベントデータを、サーバ1に存在するVNCサーバ2〜5に対しても送信する。   The operation in 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 key events and pointer events received from the VNC clients 1 and 6 -A existing in the VNC client 1 and the clients 3 to 6. Also transmit to 2-5.

クライアント3の共有画面で文字入力が行われると、VNCクライアント3−Aは文字コードをサーバ1のVNCサーバ1へ送信する(矢印71)。VNCサーバ1はこの文字コードをキーイベントとして受信し、この文字コードを文書編集アプリケーション1へ渡し(矢印72)、文書編集アプリケーション1はこの文字コードを受信すると、この文字コードを文書データに追加するとともに、VNCサーバ1へ描画リクエストを出す(矢印73)。   When character input is performed on the shared screen of the client 3, the VNC client 3-A transmits a character code to the VNC server 1 of the server 1 (arrow 71). The VNC server 1 receives this character code as a key event, passes this character code to the document editing application 1 (arrow 72), and when the 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 issued to the VNC server 1 (arrow 73).

VNCサーバ1は、文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3、VNCクライアント1、クライアント4〜6へ順次送信する(矢印74〜78)。そして、VNCサーバ1は先に受信したキーイベントデータをVNCサーバ2〜5へ送信する(矢印79〜82)。   The VNC server 1 displays a 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).

VNCサーバ2がイベントデータを受信すると、文字コードを文書編集アプリケーション2へ渡し(矢印83)、文書編集アプリケーション2は文字コードを受信すると、文字コードを文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印84)。VNCサーバ2は、その文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3のVNCクライアント3−Bへ送信する(矢印85)。VNCサーバ3〜5もVNCサーバ2と同様な動作を行い、クライアント4〜6の個別画面の表示が更新され(矢印86〜94)、クライアント3〜6の共有画面表示ウィンドウの表示データと個別画面表示ウィンドウの表示データが全て同じ内容となる。   When the VNC server 2 receives the event data, it passes the character code to the document editing application 2 (arrow 83). When the document editing application 2 receives the character code, it adds the character code to the document data and draws it to the VNC server 2. A request is made (arrow 84). The VNC server 2 displays the character font corresponding to the character code at the cursor position and transmits the updated screen data to the VNC client 3-B of the client 3 (arrow 85). The VNC servers 3 to 5 perform the same operation as the VNC server 2, and the display of the individual screens of the clients 4 to 6 is updated (arrows 86 to 94). The display data and the individual screens of the shared screen display windows of the clients 3 to 6 are updated. All display data in the display window has the same contents.

クライアント3の共有画面で、カーソル移動やメニュー選択のために電子ペン7でポイントされた場合も、上記した動作で文字コードをポイント位置データ(座標データ)に置き換え、またキーイベントをポインタイベントに置き換えて、上記したのと同様な動作が実行される。共有画面でのあらゆる操作が、全てのクライアントの個別画面に対しても自動的になされるため、共有画面での文書の表示位置と全てのクライアントの個別画面での文書の表示位置とが常に一致する。   When the electronic pen 7 is used to move the cursor or select a menu on the shared screen of the client 3, the character code is replaced with the point position data (coordinate data) and the key event is replaced with the pointer event. Thus, 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 document display position on the shared screen always matches the document display position on all client individual screens. To do.

上記したように共有画面ミラーリングモードに設定されたクライアント3〜6の個別画面に表示された文書に対する操作の一例を説明する。ここでは、その動作例として、前述した実施例1を用いる。すなわち、クライアント3の個別画面表示ウィンドウに表示された文書に対してテキスト入力を行い、文章終端記号の入力毎にクライアント3〜6の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同じになる動作を説明する。   An example of an operation on a document displayed on the individual screen of the clients 3 to 6 set in the shared screen mirroring mode as described above will be described. Here, the first embodiment described above is used as an example of the operation. That is, text is input to the document displayed in the individual screen display window of the client 3, and the document displayed in the shared screen display window of the clients 3 to 6 and the individual screen display window are displayed every time the sentence terminator is input. A description will be given of the operation in which all the contents of the read documents are the same.

以下、図6を参照して説明する。なお、VNCサーバ2の動作は、図8、9のフローチャートに示すように、実施例1と同様である。   Hereinafter, a description will be given 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.

クライアント3の個別画面表示ウィンドウに表示された文書に対して、文字(テキスト)入力する位置にカーソルを移動するために、電子ペン7でポイントされると、クライアント3のVNCクライアント3−Bはこのポイント位置データ(座標データ)をサーバ1のVNCサーバ2へ送信する(矢印41)。VNCサーバ2は座標データをポインタイベントとして受信し、座標データを文書編集アプリケーション2へ渡す(矢印42)とともに、このイベントデータをキュー(キュー2)に入れる。このキューはプログラム中に定義された配列である。そして、文書編集アプリケーション2は受信した座標データの位置にカーソルを移動し、VNCサーバ2へ描画リクエストを出す(矢印43)。   When the electronic pen 7 points to the document displayed in the individual screen display window of the client 3 to move the cursor to a position for inputting characters (text), the VNC client 3-B of the client 3 Point position data (coordinate data) is transmitted to the VNC server 2 of the 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 places the event data in a 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).

VNCサーバ2はカーソルの表示位置を変えるとともに、更新された画面データをクライアント3へ送信する(矢印44)。続いて、クライアント3の個別画面表示ウィンドウ内で文字(テキスト)が入力されると、VNCクライアント3−Bはこの文字コードをVNCサーバ2へ送信する(矢印41)。VNCサーバ2はこれらの文字コードをキーイベントとして受信し、これらの文字コードを文書編集アプリケーション2へ渡す(矢印42)とともに、イベントデータをキュー2に入れる。文書編集アプリケーション2はこれらの文字コードを受信すると、これらの文字コードを文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、各文字コードに対応した文字フォントをカーソル位置に表示させるとともに、更新された画面データをクライアント3へ送信する(矢印44)。   The VNC server 2 changes the display position of the cursor and transmits 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 transmits 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 places the event data in the queue 2. Upon receiving these character codes, the document editing application 2 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 transmits the updated screen data to the client 3 (arrow 44).

このようにして、ユーザにより文字列が入力され、文章終端記号が入力されると、VNCサーバ2はキュー2に入っている、文章終端記号を含むイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する。なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する(矢印45〜48)。   In this way, when the user inputs a character string and a sentence end symbol, the VNC server 2 sequentially stores event data including the sentence end symbol in the queue 2 in the order of first-in first-out. , To the VNC server 1 and the VNC servers 3 to 5. Before and after sending 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 transmitted to the VNC server 1 and the VNC servers 3 to 5 (arrows 45 to 48).

VNCサーバ1はイベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡す(矢印49)。文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い(矢印50)、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。VNCサーバ1はイベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ(共有画面データ)をクライアント3〜6へ送信しない。   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 document editing application 2 executed previously. The VNC server 1 does not transmit the updated screen data (shared screen data) to the clients 3 to 6 until the event group end data is received after the event group start data is received.

VNCサーバ1はイベント群終了データを受信すると、その時の画面データをクライアント3へ送信する(矢印51)。そして、クライアント3の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が同じになる。また、VNCサーバ1は、この更新された共有画面データをクライアント4〜6へ送信する(矢印52〜54)とともに、VNCクライアント1へ送信する(矢印55)。クライアント4〜6はこれらの共有画面データをLCD29に表示し、VNCクライアント1は大型ディスプレイ装置2に表示する。   When receiving the event group end data, the VNC server 1 transmits the screen data at that time to the client 3 (arrow 51). Then, the content of the document displayed in the shared screen display window of the client 3 is the same as that of the document displayed in the individual screen display window. In addition, the VNC server 1 transmits the updated shared screen data to the clients 4 to 6 (arrows 52 to 54) and also transmits to the VNC client 1 (arrow 55). The clients 4 to 6 display these shared screen data on the LCD 29, and the VNC client 1 displays them on the large display device 2.

VNCサーバ3〜5もVNCサーバ1と同様な処理を行い、クライアント4〜6の個別画面表示ウィンドウの表示画面が更新され(矢印56〜64)、クライアント3〜6の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同じ内容となる。   The VNC servers 3 to 5 perform the same processing as the VNC server 1, and the display screens of the individual screen display windows of the clients 4 to 6 are updated (arrows 56 to 64) and displayed on the shared screen display windows of the clients 3 to 6. The contents of the displayed document and the document displayed in the individual screen display window are all the same.

なお、所定のタイミングとして、文章終端記号を用いた例を説明したが、本発明はこれに限定されず、前述した実施例2〜実施例5で示した、例えば、テキストが1行あるいは所定の複数行入力された場合、手書きのストローク終端(ペンアップ)から所定の時間が経過した場合、画面間コピーコマンド用のジェスチャー動作と判断した場合、所定のボタンが選択された場合なども適用可能である。   In addition, although the example which used the sentence termination symbol was demonstrated as a predetermined | prescribed timing, this invention is not limited to this, For example, the text shown in Example 2-Example 5 mentioned above, for example, one line of text or predetermined | prescribed Applicable when multiple lines are input, when a predetermined time has elapsed since the end of handwritten stroke (pen-up), when it is determined that the gesture operation is for an inter-screen copy command, or when a predetermined button is selected. is there.

(実施例7)
実施例7は、追加したデータの識別性を向上させた実施例である。すなわち、実施例1〜実施例6で示した所定のタイミング毎に、1つのクライアントの個別画面表示ウィンドウ内で追加されたテキストや手書き描画データ等を、共有画面表示ウィンドウに表示された文書に追加する際に、それらのテキストや手書き描画データの表示色等の属性を異ならせることにより、各クライアント毎に区別して表示し、識別する。
(Example 7)
Example 7 is an example in which the discriminability of added data is improved. That is, at each predetermined timing shown in the first to sixth embodiments, the text or handwritten drawing data added in the individual screen display window of one client is added to the document displayed in the shared screen display window. When doing this, the attributes such as the display colors of the text and handwritten drawing data are made different so that each client is displayed and identified.

以下、図6、図16(VNCサーバ1の動作フローチャート)を参照して実施例7の動作を説明する。   Hereinafter, the operation of the seventh embodiment will be described with reference to FIGS. 6 and 16 (operation flowchart of the VNC server 1).

共有画面表示ウィンドウに表示された文書に、テキストや手書き描画データ等のデータを追加するのは、文書編集アプリケーション1である。そこで、VNCサーバ1は、VNCサーバ2〜5から受信するイベントデータを、各VNCサーバを識別する番号とともに文書編集アプリケーション1へ渡す(ステップ501、502)。VNCサーバを識別する番号としては、例えば、VNCサーバ2〜5に対してそれぞれ番号1〜4を付ける。   The document editing application 1 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 a number for identifying each VNC server (steps 501 and 502). As numbers for identifying the VNC servers, for example, numbers 1 to 4 are assigned to the VNC servers 2 to 5, respectively.

文書編集アプリケーション1はイベントデータとして受け取った文字コードや手書きデータを文書データに追加するとともに、それらの追加したデータをVNCサーバ識別番号に対応した色で描画するための描画リクエストを、VNCサーバ1へ出す。例えば、VNCサーバ識別番号1〜4に対して、それぞれ赤、青、緑、黄の各色を対応づける。   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 for drawing the added data in a color corresponding to the VNC server identification number to the VNC server 1. put out. For example, red, blue, green, and yellow are associated with VNC server identification numbers 1 to 4, respectively.

描画リクエストを受信したVNCサーバ1は、各文字コードに対応した文字フォントや手書きの描画線を指定された色で表示させるとともに、更新された画面データをクライアント3〜6およびVNCクライアント1へ送信する(ステップ503、504、505)。すなわち、クライアント3の個別画面表示ウィンドウ内で追加されたテキストや手書き描画データは共有画面に赤で表示され、クライアント4の個別画面表示ウィンドウ内で追加されたテキストや手書き描画データは共有画面に青で表示される。   Upon receiving the drawing request, the VNC server 1 displays the character font and handwritten drawing line corresponding to each character code in the designated color, and transmits the updated screen data to the clients 3 to 6 and the VNC client 1. (Steps 503, 504, 505). That is, text and handwritten drawing data added in the individual screen display window of the client 3 are displayed in red on the shared screen, and text and handwritten drawing data added in the individual screen display window of the client 4 are displayed in blue on the shared screen. Is displayed.

なお、上記した各実施例では、クライアント3で編集操作される場合について説明したが、クライアント4〜6で編集操作される場合も同様である。   In each of the above-described embodiments, the case where the editing operation is performed by the client 3 has been described.

また、上記した各実施例では、サーバ1とクライアント3〜6との間の通信手段として無線LANを使用した例について説明したが、Bluetooth(登録商標)や有線LAN(イーサネット)(登録商標)等の他の通信手段を使用してもよい。また、クライアント3〜6が携帯型表示パッドである例を用いて説明したが、本発明はこれに限定されず、VNCクライアントソフトウェアを実装し、サーバ1と通信できる端末、例えばノートPCやPDA等の端末を使用してもよい。 In each of the above-described embodiments, an example in which a wireless LAN is used as a communication unit between the server 1 and the clients 3 to 6 has been described. However, Bluetooth (registered trademark) , wired LAN (Ethernet) (registered trademark), and the like are used. Other communication means may be used. Further, although the description has been given using the example in which the clients 3 to 6 are portable display pads, the present invention is not limited to this, and a terminal such as a notebook PC or PDA that can implement the VNC client software and can communicate with the server 1. May be used.

(端末間データ通信型の電子会議システム)
以下の実施例は、端末同士がデータ通信システムを構成する場合の電子会議システムである。すなわち、本発明の電子会議システムでは、ディスプレイを持つ複数の端末がネットワークに接続され、全ての端末で共有化された文書と各端末毎に個別に所有する文書を閲覧、編集しながら会議を行う。
(Inter-terminal data communication type electronic conference system)
The following embodiment is an electronic conference system when terminals constitute a data communication system. That is, in the electronic conference system of the present invention, a plurality of terminals having displays are connected to a network, and a meeting is held while browsing and editing documents shared by all terminals and documents individually owned for each terminal. .

図17は、複数の端末からなるネットワーク構成例を示す。本ネットワークは各会議参加者が使用する端末1000、1010、1020、1030、1040から構成されていて、これらの端末は無線LANで接続されている。端末1000〜1040はハードディスクを内蔵した携帯型表示パッドであり、電子ペン1050〜1090が付属されている。   FIG. 17 shows a network configuration example composed of a plurality of terminals. This network is composed of terminals 1000, 1010, 1020, 1030, 1040 used by each conference participant, and these terminals are connected by a wireless LAN. Terminals 1000 to 1040 are portable display pads with a built-in hard disk, and electronic pens 1050 to 1090 are attached.

図18は、端末1000〜1040である、携帯型表示パッド20aのハードウェア構成を示す。図18において、CPU21、クロック22、メインメモリ23、ROM24、RTC25、無線LANコントローラ26、アンテナ27、LCD表示コントローラ28、LCD29、タッチパネルコントローラ30、タッチパネル31、USBコントローラ32、USB I/F33、システムバス34、バッテリ35、DC−DCコンバータ36、充電回路37、ACアダプタ38は、図3で説明したものと同一の構成要素である。本実施例の携帯型表示パッド20aでは、さらにHD(Hard Disc)コントローラ39、ハードディスク40が設けられている。また、携帯型表示パッド20aにはOSとしてLinux(登録商標)、ウィンドウシステムとしてXウィンドウが実装されている。 FIG. 18 shows a hardware configuration of the portable display pad 20a which is the terminals 1000 to 1040. In FIG. 18, CPU 21, clock 22, main memory 23, ROM 24, RTC 25, wireless LAN controller 26, antenna 27, LCD display controller 28, LCD 29, touch panel controller 30, touch panel 31, USB controller 32, USB I / F 33, 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. In the portable display pad 20a of the present embodiment, an HD (Hard Disc) controller 39 and a hard disk 40 are further provided. The portable display pad 20a is mounted with Linux (registered trademark) as an OS and an X window as a window system.

次に、端末1000〜1040の間で、データの送受信を行いながら電子会議を実行する方法について説明する。この電子会議を実行するための通信プロトコルとして、例えばITU−T勧告T.120シリーズを使用する。このプロトコル構成を図19に示す。   Next, a method for executing an electronic conference while transmitting and receiving data between the terminals 1000 to 1040 will be described. As a communication protocol for executing this electronic conference, for example, ITU-T recommendation T.264. Use 120 series. This protocol configuration is shown in FIG.

会議アプリケーション1200は、アプリケーション共有機能、ホワイトボード機能、ファイル転送機能等を実行するための各アプリケーションの集合である。ASCE(Application Sharing Conference Entity)1210は会議に参加した全ての端末でアプリケーションを共有するためのエンティティであり、ITU−T勧告T.128に準拠した動作を実行する。SICE(Still Image Conferencing Entity)1220はビットマップデータや手書きの描画データ等を送受信するためのエンティティであり、ITU−T勧告T.126に準拠した動作を実行する。なお、SICE1220は主にホワイトボード機能で使用される。   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. An ASCE (Application Sharing Conference Entity) 1210 is an entity for sharing an application among all the terminals participating in the conference. An operation conforming to 128 is executed. A SICE (Still Image Conferencing Entity) 1220 is an entity for transmitting and receiving bitmap data, handwritten drawing data, and the like. An operation conforming to 126 is executed. The SICE 1220 is mainly used for the whiteboard function.

BFTE(Binary File Transfer Entity)1230はファイル転送を行うためのエンティティであり、ITU−T勧告T.127に準拠した動作を実行する。ノードコントローラ1240とGCC(Generic Conference Control)1250はネットワークに接続した端末が議長の制御に従って会議を実行したり、各端末の能力や属性等の端末情報のリストを管理したりする会議制御アプリケーションであり、ITU−T勧告T.124に準拠した動作を実行する。   A BFTE (Binary File Transfer Entity) 1230 is an entity for performing file transfer. The operation | movement based on 127 is performed. A node controller 1240 and a GCC (Generic Conference Control) 1250 are conference control applications in which a terminal connected to the network executes a conference according to the control of the chairman and manages a list of terminal information such as capabilities and attributes of each terminal. ITU-T Recommendation T. The operation conforming to 124 is executed.

MCS(Multipoint Communication Service)1260は複数端末間のセッションレイヤプロトコルを実行し、ITU−T勧告T.125に準拠した動作を実行する。TCP(Transmission Control Protocol)1270は再送制御やフロー制御等のトランスポートレイヤプロトコルを実行する。IP(Internet Protocol)1280はデータパケットの送受信を制御するネットワークレイヤプロトコルを実行する。無線LANドライバ1290はIP1280と無線LANコントローラ26との間のインターフェイスとして動作する。   An MCS (Multipoint Communication Service) 1260 executes a session layer protocol between a plurality of terminals, and is an ITU-T recommendation T.264. An operation conforming to 125 is executed. A TCP (Transmission Control Protocol) 1270 executes transport layer protocols such as retransmission control and flow control. An IP (Internet Protocol) 1280 executes a network layer protocol that controls transmission and reception of data packets. The wireless LAN driver 1290 operates as an interface between the IP 1280 and the wireless LAN controller 26.

MCS1260、GCC1250、ノードコントローラ1240の通信動作について説明する。   Communication operations of the MCS 1260, GCC 1250, and node controller 1240 will be described.

MCS1260はMCSプロバイダと呼ばれ、また、端末1000〜1040から成る無線ネットワークをMCSプロバイダ間のネットワークとして見たものはMCSドメインと呼ばれる。図17のネットワーク構成において、端末1000を議長端末とした場合、MCSドメインは、図20に示すような階層構造を持つ。議長である端末1000のMCSプロバイダはトップMCSプロバイダであり、他の端末のMCSプロバイダよりも上位に位置する。各端末はMCSコネクションの確立後、MCSドメインにアタッチする。このアタッチにより、各端末はMCSドメイン内での端末識別子であるMCSユーザIDを取得する。   The MCS 1260 is called an MCS provider, and a wireless network composed 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 the chairman terminal, the MCS domain has a hierarchical structure as shown in FIG. The MCS provider of the terminal 1000 serving as the chairperson is the top MCS provider, and is positioned higher than the MCS providers of other terminals. Each terminal attaches to the MCS domain after the MCS connection is established. By this attachment, each terminal acquires an MCS user ID that is a terminal identifier in the MCS domain.

次いで、各端末はMCSチャネルに加入する。MCSチャネルはMCSドメイン内のアドレスであり、同一チャネルに加入した全ての端末が、そのチャネルに送られるデータを受信する。ここで、端末1010が全ての端末が加入しているチャネルに対してデータを送信すると、このデータはトップMCSプロバイダである端末1000へ転送される。そして、端末1000はこのデータを端末1020〜端末1040へ転送する。このように、全ての端末が同一チャネルに加入することにより、データを全ての端末へ送信することができる。なお、MCSドメイン内での端末識別子であるMCSユーザIDはMCSチャネル番号としても使用され、個別宛先へデータを送信する場合にMCSチャネル番号として使用する。   Each terminal then subscribes to the MCS channel. The MCS channel is an address in the MCS domain, and all terminals that have joined the same channel receive data sent to that channel. Here, when terminal 1010 transmits data to a channel to which all terminals have subscribed, this data is transferred to terminal 1000 which is the top MCS provider. Terminal 1000 transfers this data to terminals 1020 to 1040. In this way, data can be transmitted to all terminals by all terminals joining the same channel. The MCS user ID, which is a terminal identifier in the MCS domain, is also used as an MCS channel number, and is used as an MCS channel number when transmitting data to an individual destination.

GCC1250はGCCプロバイダと呼ばれ、また、トップMCSプロバイダである端末のGCCプロバイダはトップGCCプロバイダと呼ばれる。各GCCプロバイダは会議に参加すると、アプリケーション共有機能、ホワイトボード機能、ファイル転送機能等の会議用アプリケーションのリストやMCSドメイン内での端末識別子であるMCSユーザID等の端末情報(会議ノードリスト)を他の全てのGCCプロバイダへ送信する。なお、この同報送信は全ての端末が加入しているMCSチャネルに対してデータを送信することで実現される。   The GCC 1250 is called a GCC provider, and the GCC provider of a terminal that is a top MCS provider is called a top GCC provider. When each GCC provider participates in the conference, the terminal information (conference node list) such as a list of conference applications such as an application sharing function, a whiteboard function, a file transfer function, and an MCS user ID that is a terminal identifier in the MCS domain is obtained. Send to all other GCC providers. This broadcast transmission is realized by transmitting data to the MCS channel to which all terminals are subscribed.

これらの端末情報は各端末で受信され、ノードコントローラ1240で管理される。また、GCCは議長権の割り当て等の制御も行い、会議開始時にはトップGCCプロバイダが議長権を持っている。ノードコントローラ1240はユーザからの要求に従ってGCC1250へ各種のプリミティブを発行したり、自端末および他の全ての端末のアプリケーションリストや会議ノードリスト等を管理する。   Such terminal information is received by each terminal and managed by the node controller 1240. The GCC also controls the assignment of chairmanship, etc., and the top GCC provider has the chairmanship at the start of the conference. The node controller 1240 issues various primitives to the GCC 1250 according to a request from the user, and manages an application list, a conference node list, and the like of its own terminal and all other terminals.

次に、1つの端末が持っている文書を無線ネットワークに接続された全ての端末で共有化する方法について説明する。この文書の共有は、ITU−T勧告T.128に従ったアプリケーション共有機能を使用して実現する。今、議長端末である端末1000が共有文書を持っており、端末1010〜端末1040がこの文書を共有する場合について説明する。   Next, a method of sharing a document held by one terminal with all terminals connected to the wireless network will be described. This document sharing is described in ITU-T Recommendation T.30. 128 using an application sharing function according to 128. Now, a case will be described in which the terminal 1000 as the chairman terminal has a shared document and the terminals 1010 to 1040 share this document.

端末1000が共有文書を表示させている共有ウィンドウ(ホストウィンドウ)の表示データはASCE1210間のプロトコルにより他の全ての端末(端末1010〜端末1040)へ送信し、端末1010〜端末1040はこのデータを自端末の共有ウィンドウ(シャドーウィンドウ)に表示させる。   The display data of the shared window (host window) on which the terminal 1000 displays the shared document is transmitted to all other terminals (terminal 1010 to terminal 1040) by the protocol between the ASCEs 1210, and the terminal 1010 to terminal 1040 transmits this data. Display in the shared window (shadow window) of your terminal.

端末1000は共有ウィンドウ(ホストウィンドウ)の表示データに変更があった場合に、その変更部分の表示データを他の全ての端末へ送信する。端末1010〜端末1040は共有ウィンドウ(シャドーウィンドウ)に対してテキスト入力や手書き入力が行われると、キーイベントやポインタイベントを端末1000へ送信し、端末1000はこれらのイベントを共有ウィンドウ(ホストウィンドウ)に対するイベントとして処理する。すなわち、端末1010〜端末1040の共有ウィンドウ(シャドーウィンドウ)に対してテキスト入力や手書き入力が行われると、それらの入力データは端末1000へ送信され、端末1000はこれらのデータを共有化された文書へ追加する。そして、端末1000はこれらの文字や手書き描画線を共有ウィンドウ(ホストウィンドウ)に表示するとともに、この更新された表示データを端末1010〜端末1040へ送信する。端末1010〜端末1040はこの更新された表示データを共有ウィンドウ(シャドーウィンドウ)に表示する。   When the display data of the shared window (host window) is changed, the terminal 1000 transmits the display data of the changed portion to all other terminals. When text input or handwriting input is performed on the shared window (shadow window), the terminal 1010 to the terminal 1040 transmit key events and pointer events to the terminal 1000, and the terminal 1000 transmits these events to the shared window (host window). Process as an event for. That is, when text input or handwriting input is performed on a shared window (shadow window) of the terminals 1010 to 1040, the input data is transmitted to the terminal 1000, and the terminal 1000 shares the data with the data. Add to The terminal 1000 displays these characters and handwritten drawing lines on a shared window (host window), and transmits the updated display data to the terminals 1010 to 1040. Terminals 1010 to 1040 display the updated display data in a shared window (shadow window).

このように、端末1010〜端末1040の共有ウィンドウ(シャドーウィンドウ)に対して入力されるキーデータ(キーボード入力データ)とポインタデータ(ペン入力座標データ)は全て端末1000へ送信されるため、共有文書を持たない端末においても共有文書を編集することが可能となる。ここまでは、従来技術を使用した動作である。   As described above, since key data (keyboard input data) and pointer data (pen input coordinate data) input to the shared window (shadow window) of the terminals 1010 to 1040 are all transmitted to the terminal 1000, the shared document It is possible to edit a shared document even in a terminal that does not have the. Up to this point, the operation is performed using the conventional technique.

次に、各端末において共有ウィンドウと個別ウィンドウをそれぞれ管理するアプリケーションについて説明する。共有ウィンドウを管理するアプリケーション(以下、共有Winアプリ)と個別ウィンドウを管理するアプリケーション(以下、個別Winアプリ)はXクライアントであり、これらは画面表示やキー入力、ポインタ入力を行うXサーバとXプロトコルによりデータの受け渡しを行う。共有Winアプリはアプリケーション共有機能を実行するアプリケーションである。すなわち、共有WinアプリはASCE1210ともインターフェイスを持つ。個別Winアプリは共有WinアプリとBFTE1230ともインターフェイスを持ち、これらとイベントデータの授受を行う。個別Winアプリ、共有Winアプリ、Xサーバ、ASCE1210、BFTE1230の関係を図21に示す。   Next, an application that manages a shared window and an individual window in each terminal will be described. An application that manages a shared window (hereinafter referred to as a shared Win application) and an application that manages individual windows (hereinafter referred to as an individual Win application) are X clients, and these are an X server and an X protocol that perform screen display, key input, and pointer input. To exchange data. The shared Win application is an application that executes an application sharing function. That is, the shared Win application also has an interface with the ASCE 1210. The individual Win application has an interface with the shared Win application and BFTE 1230, and exchanges event data with these. FIG. 21 shows the relationship among the individual Win application, shared Win application, X server, ASCE 1210, and BFTE 1230.

(実施例8)
議長端末である端末1000は全ての端末間で共有される共有文書とこの文書をコピーして生成されたローカルな文書(データ内容は共有文書と同じ)を持っており、端末1010〜端末1040は端末1000が所有の共有文書をファイル転送等により取得している。そして、端末1000の共有ウィンドウには共有文書が表示され、個別ウィンドウには共有文書のコピーファイルが表示されており、端末1010〜端末1040の共有ウィンドウには端末1000が所有の共有文書が表示され、個別ウィンドウにはファイル転送等により取得した共有文書と同じファイルが表示されている。
(Example 8)
The terminal 1000 serving as the chairman terminal has a shared document shared between all the terminals and a local document generated by copying this document (the data content is the same as the shared document). The shared document owned by the terminal 1000 is acquired by file transfer or the like. 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. In the individual window, the same file as the shared document acquired by file transfer or the like is displayed.

今、全ての端末の各ウィンドウに表示するファイルがそれぞれオープンされ、端末1000〜端末1040の共有ウィンドウと個別ウィンドウには共有文書およびそれと同じデータ内容のファイルの1ページ目の先頭から表示されているとする。ここで、端末1010の個別ウィンドウに入力されたテキストが共有文書に追加され、このテキストの追加表示が端末1000〜端末1040の共有ウィンドウに対して行われる場合について説明する。   Now, the files to be displayed in the windows of all the terminals are opened, and the shared windows and individual windows of the terminals 1000 to 1040 are displayed from the top of the first page of the shared document and the file having the same data content. And Here, a case where text input in the individual window of the terminal 1010 is added to the shared document and this additional display of the text is performed on the shared window of the terminals 1000 to 1040 will be described.

図22は、端末1000と端末1010の個別Winアプリ、共有Winアプリ、Xサーバ、ASCE1210、BFTE1230の各プロセス間のデータの流れを示す。また、図23は、端末1010の個別Winアプリの動作フローチャートである。   FIG. 22 shows a data flow between individual processes of the individual Win app, the shared Win app, the X server, the ASCE 1210, and the BFTE 1230 of the terminal 1000 and the terminal 1010. FIG. 23 is an operation flowchart of the individual Win application of the terminal 1010.

以下、図22、23を参照して実施例8を説明する。端末1010の個別ウィンドウに表示された文書に対して、文字(テキスト)入力する位置にカーソルを移動するために、電子ペン1060でポイントされると、端末1010のXサーバはこのポイント位置データ(座標データ)を端末1010の個別Winアプリへ渡す(矢印a)。個別Winアプリはこの座標データをポインタイベントとして受信し(ステップ601)、この座標データの位置にカーソルを移動し、端末1010のXサーバへ描画リクエストを出すとともに(矢印b、ステップ602)、この受信したイベントデータをキュー(キュー101)に入れる(ステップ603)。このキューはプログラム中に定義された配列である。   Hereinafter, Example 8 will be described with reference to FIGS. When the electronic pen 1060 is used to move the cursor to a position where characters (text) are input with respect to the document displayed in the individual window of the terminal 1010, the X server of the terminal 1010 displays this point position data (coordinates). Data) to the individual Win application of 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, and issues a drawing request to the X server of the terminal 1010 (arrow b, step 602). The event data is put into a queue (queue 101) (step 603). This queue is an array defined in the program.

端末1010のXサーバは、受信した描画リクエストに従って個別ウィンドウ内の描画を行い、カーソルが端末1010のLCD29上のポイントされた位置に表示される。続いて、端末1010の個別ウィンドウ内で文字(テキスト)が入力されると、端末1010のXサーバはこの文字コードを端末1010の個別Winアプリへ渡す(矢印a)。個別Winアプリはこれらの文字コードをキーイベントとして受信し(ステップ604でYES)、これらの文字コードを文書データに追加して、端末1010のXサーバへ描画リクエストを出すとともに(矢印b、ステップ605)、この受信したイベントデータをキュー(キュー101)に入れる(ステップ606)。端末1010のXサーバは、受信した描画リクエストに従って個別ウィンドウ内の描画を行い、入力された文字が端末1010のLCD29に表示される。   The X server of the terminal 1010 performs drawing in the individual window according to the received drawing request, and the cursor is displayed at the pointed position on the LCD 29 of the terminal 1010. Subsequently, 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 application 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 the terminal 1010 (arrow b, step 605). The received event data is put in the queue (queue 101) (step 606). The X server of the terminal 1010 performs drawing in the individual window according to the received drawing request, and the input characters are displayed on the LCD 29 of the terminal 1010.

ここで、ユーザにより文章終端記号が入力されると、端末1010のXサーバはこの記号コードを端末1010の個別Winアプリへ渡す(矢印a)。個別Winアプリはこの記号コードをキーイベントとして受信し、この記号コードを文書データに追加して、端末1010のXサーバへ描画リクエストを出す(矢印b)とともに、この受信したイベントデータをキュー(キュー101)に入れる(ステップ607、608)。そして、この記号コードが文章終端記号であると判断すると、個別Winアプリはキュー101に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Winアプリへ渡す(矢印c)とともに、これらのイベントデータをBFTE1230を介して端末1000及び端末1020〜端末1040へ送信する(矢印d、e、ステップ609)。   Here, when the sentence end 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 the received event data (queue) 101) (steps 607 and 608). If it is determined that this symbol code is a sentence end symbol, the individual Win application sequentially passes the event data in the queue 101 to the shared Win application in the order of first-in / first-out (arrow c). Event data is transmitted to terminal 1000 and terminal 1020 to terminal 1040 via BFTE 1230 (arrows d and e, step 609).

端末1010の共有Winアプリは、これらのイベントデータをASCE1210へ渡し(矢印f)、ASCE1210はこれらのイベントデータを端末1000のASCE1210へ送信する(矢印g)。これらのイベントデータはASCE1210間でInputPDU(Input Protocol Data Unit)に含めて送信する。なお、このInputPDUは、MCSレイヤにおいて、端末1000の端末識別子であるMCSユーザIDをMCSチャネル番号にセットしたSDrq MCSPDU(MCS Protocol Data Unit)に含めて送信する。   The shared Win application of the terminal 1010 passes these event data to the ASCE 1210 (arrow f), and the ASCE 1210 transmits these event data to the ASCE 1210 of the terminal 1000 (arrow g). These event data are included in the Input PDU (Input Protocol Data Unit) and transmitted between the ASCEs 1210. This Input PDU is transmitted in the MCS layer by including the MCS user ID, which is the terminal identifier of the terminal 1000, in the SDrq MCSPDU (MCS Protocol Data Unit) in which the MCS channel number is set.

端末1000のASCE1210は受信したイベントデータを共有Winアプリへ渡し(矢印h)、共有Winアプリはこれらのイベントデータに従った処理を実行し、端末1000のXサーバへ描画リクエストを出す(矢印i)とともに、ASCE1210へ端末1010〜端末1040の共有ウィンドウに対する描画の更新要求を出す(矢印j)。端末1000のXサーバは描画リクエストで指示された描画処理を実行し、この時点で端末1010の個別ウィンドウに表示された文書データと端末1000の共有ウィンドウに表示された文書データとが同じ内容となる。また、端末1000のASCE1210は共有Winアプリから端末1010〜端末1040の共有ウィンドウに対する描画の更新要求を受けると、更新領域のビットマップデータを含んだUpdatePDU(Update Protocol Data Unit)を端末1010〜端末1040へ送信する(矢印k)。なお、このUpdatePDUは、MCSレイヤにおいて、各宛先端末の端末識別子であるMCSユーザIDをMCSチャネル番号にセットしたSDrq MCSPDUに含めて送信する。端末1010のASCE1210は受信したビットマップデータを共有Winアプリへ渡し(矢印m)、共有Winアプリは端末1010のXサーバへこのビットマップデータの描画リクエストを出す(矢印n)。そして、端末1010のXサーバは共有ウィンドウの表示データを更新する。端末1020〜端末1040のASCE1210も同様に、受信したビットマップデータを共有Winアプリへ渡し、共有Winアプリは各端末のXサーバへこのビットマップデータの描画リクエストを出し、各端末のXサーバは共有ウィンドウの表示データを更新する。   The ASCE 1210 of the terminal 1000 passes the received event data to the shared Win application (arrow h), and the shared Win application executes processing according to these event data and issues a drawing request to the X server of the terminal 1000 (arrow i). At the same time, a drawing update request for the shared window of the terminals 1010 to 1040 is issued to the ASCE 1210 (arrow j). The X server of the terminal 1000 executes the drawing process designated by the drawing request, and the document data displayed in the individual window of the terminal 1010 and the document data displayed in the shared window of the terminal 1000 at this time have the same contents. . When the ASCE 1210 of the terminal 1000 receives a drawing update request for the shared window of the terminal 1010 to the terminal 1040 from the shared Win app, the terminal 1010 to the terminal 1040 receives an update PDU (Update Protocol Data Unit) including bitmap data of the update area. (Arrow k). This Update PDU is transmitted in the MCS layer by including the MCS user ID, which is the terminal identifier of each destination terminal, in the SDrq MCSPDU set in the MCS channel number. The ASCE 1210 of the terminal 1010 passes the received bitmap data to the shared Win application (arrow m), and the shared Win application issues a drawing request for the bitmap data to the X server of the terminal 1010 (arrow n). Then, the X server of the terminal 1010 updates the display data of the shared window. Similarly, the ASCE 1210 of the terminal 1020 to the terminal 1040 passes the received bitmap data to the shared Win application, and the shared Win application issues a drawing request for the bitmap data to the X server of each terminal, and the X server of each terminal shares Update the display data of the window.

端末1000及び端末1020〜端末1040のBFTE1230は端末1010のBFTE1230からイベントデータを受信すると、これらのイベントデータを個別Winアプリへ渡し(矢印p)、個別Winアプリはイベントデータに従った処理を実行し、各端末のXサーバへ描画リクエストを出す(矢印q)。端末1000及び端末1020〜端末1040のXサーバは個別ウィンドウの表示データを更新する。   When the terminal 1000 and the BFTE 1230 of the terminal 1020 to the terminal 1040 receive event data from the BFTE 1230 of the terminal 1010, the event data is passed to the individual Win application (arrow p), and the individual Win application executes processing according to the event data. Then, a drawing request is issued to the X server of each terminal (arrow q). The X servers of the terminal 1000 and the terminals 1020 to 1040 update the display data of the individual windows.

従って、端末1000〜端末1040の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる。   Therefore, all the document data displayed in the shared window and the individual windows of the terminals 1000 to 1040 have the same contents.

このように、実施例8では、端末1010の個別ウィンドウにテキストが入力され、文章終端記号が入力されると、文章終端記号を含めてそれまで入力されたテキストが端末1000〜端末1040の共有ウィンドウ、端末1000の個別ウィンドウ、端末1020〜端末1040の個別ウィンドウにも表示される。   As described above, in the eighth embodiment, when 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 displayed in the shared window of the terminals 1000 to 1040. Also displayed in the individual window of the terminal 1000 and the individual windows of the terminal 1020 to the terminal 1040.

(実施例9)
上記した実施例8では、端末1010の個別WinアプリがXサーバから文章終端記号を受信したときに、それまで受信していたイベントデータ(文章終端記号も含む)を共有Winアプリを介して端末1000の共有Winアプリへ送信するとともに、BFTE1230を介して端末1000と端末1020〜端末1040の個別Winアプリへ送信し、端末1000〜端末1040の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる場合について説明したが、本実施例では、個別WinアプリがXサーバから改行コードを受信したときに、実施例8と同様な動作を実行する。実施例9は、図22、23で説明した実施例8の文章終端記号を改行コードに置き換えたものとなる。
Example 9
In the above-described eighth embodiment, when the individual Win application of the terminal 1010 receives the sentence end symbol from the X server, the event data (including the sentence end symbol) received so far is received via the shared Win application. To the shared Win app of the terminal 1000, and to the individual Win apps of the terminal 1000 and the terminal 1020 to the terminal 1040 via the BFTE 1230, and the document data displayed in the shared window and the individual window of the terminal 1000 to the terminal 1040 are all the same content. In the present embodiment, when the individual Win application receives a line feed code from the X server, the same operation as in the eighth embodiment is executed. In the ninth embodiment, the sentence end symbol in the eighth embodiment described with reference to FIGS. 22 and 23 is replaced with a line feed code.

すなわち、端末1010の個別Winアプリがキュー101に貯めたイベントデータを端末1000と端末1020〜端末1040へ送信するタイミングがXサーバから文章終端記号を受信したときではなく、改行コードを受信したときである。従って、ユーザが1行分の文字(テキスト)を入力して改行がなされるまでは共有ウィンドウと個別ウィンドウに表示された文書の内容が異なるが、改行がなされた時に、これらのウィンドウに表示される文書の内容が同じとなる。   That is, the timing at which the individual Win application of the terminal 1010 transmits the event data stored in the queue 101 to the terminal 1000 and the terminals 1020 to 1040 is not when the sentence terminator is received from the X server but when the line feed code is received. is there. Therefore, the contents of the document displayed in the shared window and the individual window are different until the user inputs a 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 documents are the same.

なお、ユーザが複数行分の文字(テキスト)を入力した場合、すなわち端末1010の個別Winアプリが複数個の改行コードを受信した場合についても、上記した実施例8と同様にして動作を実行できる。   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 eighth embodiment. .

(実施例10)
実施例10は、各端末のユーザがテキスト入力ではなく、手書き入力する場合の実施例である。本実施例では、ユーザが筆記動作を行っているか否かを、電子ペンがアップされている状態の持続時間から判断する。図24は、手書き入力モードにおける端末1010の個別Winアプリの動作フローチャートを示す。
(Example 10)
Example 10 is an example when the user of each terminal performs handwriting input instead of text input. In the present embodiment, whether or not the user is performing a 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.

図22、24を参照して、手書き入力する場合の実施例10を説明する。端末1010のタッチパネルコントローラ30が、電子ペンがタッチパネル31に接触したことを検出すると、Xサーバは座標検出用の所定の時間間隔毎に、この接触座標を個別Winアプリへ渡す(矢印a)。個別Winアプリはこの座標データをポインタイベントとして受信し、この座標データをカーソルの位置データとして使用したり、自由線描画の描画位置データとして使用したりする(ステップ701でYES)。   With reference to FIGS. 22 and 24, Example 10 in the case of handwriting input will be described. 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 application receives this coordinate data as a pointer event, and uses this coordinate data as cursor position data or free line drawing drawing position data (YES in step 701).

今、個別Winアプリは受信した座標データを自由線描画の描画位置データとして使用するモード(手書き入力モード)にあり、1つのストローク(ペンダウンからペンアップまで)中は受信した座標間を線で描画する自由線描画機能を実行している。個別Winアプリはこの手書き入力モードになると、Xサーバから受信するポインタイベント間の時間を計測する(ステップ702)。この計測時間が所定の時間以内である場合は、個別Winアプリは今受信した座標と先に受信した座標との間を線で描画するリクエストをXサーバへ出す(矢印b)とともに(ステップ703)、そのポインタイベントデータをキュー101に入れる(ステップ704)。このキューはプログラム中に定義された配列である。   Now, the individual Win application is in a mode (handwriting input mode) that uses the received coordinate data as drawing position data for free line drawing, and during one stroke (from pen down to pen up), the received coordinates are drawn with lines. The free line drawing function is executed. When the individual Win application enters the handwriting input mode, the time between pointer events received from the X server is measured (step 702). If this measurement time is within a predetermined time, the individual Win application issues a request to the X server to draw a line between the coordinates received now and the coordinates received earlier (arrow b) (step 703). The pointer event data is put into the queue 101 (step 704). This queue is an array defined in the program.

そして、ポインタイベント間の計測時間が所定の時間を超えた場合、すなわちポインタイベント受信時に開始したタイマーがタイムアウトした場合には(ステップ705でYES)、端末1010の個別Winアプリはキュー101に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Winアプリへ渡す(矢印c)とともに、これらのイベントデータをBFTE1230を介して端末1000及び端末1020〜端末1040へ送信する(矢印d、e、ステップ706)。   When the measurement time between the pointer events exceeds a predetermined time, that is, when the timer started upon receiving the pointer event times out (YES in step 705), the individual Win application of the terminal 1010 enters the queue 101. Event data is sequentially passed to the shared Win application in the order of first-in first-out (arrow c), and the event data is transmitted to the terminal 1000 and the terminal 1020 to the terminal 1040 via the BFTE 1230 (arrows d and e). Step 706).

端末1010の共有Winアプリは、これらのイベントデータをASCE1210へ渡し(矢印f)、ASCE1210はこれらのイベントデータを端末1000のASCE1210へ送信する(矢印g)。これらのイベントデータはASCE1210間でInputPDUに含めて送信する。なお、このInputPDUは、MCSレイヤにおいて、端末1000の端末識別子であるMCSユーザIDをMCSチャネル番号にセットしたSDrq MCSPDUに含めて送信する。   The shared Win application of the terminal 1010 passes these event data to the ASCE 1210 (arrow f), and the ASCE 1210 transmits these event data to the ASCE 1210 of the terminal 1000 (arrow g). These event data are included in the Input PDU and transmitted between the ASCEs 1210. This Input PDU is transmitted in the MCS layer 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.

端末1000のASCE1210は受信したイベントデータを共有Winアプリへ渡し(矢印h)、共有Winアプリはこれらのイベントデータ(座標データ)から座標間を線で描画するリクエストを端末1000のXサーバへ出す(矢印i)とともに、ASCE1210へ端末1010〜端末1040の共有ウィンドウに対する描画の更新要求を出す(矢印j)。   The ASCE 1210 of the terminal 1000 passes the received event data to the shared Win application (arrow h), and the shared Win application issues a request for drawing a line between coordinates from these event data (coordinate data) to the X server of the terminal 1000 ( Along with the arrow i), a drawing update request for the shared window of the terminals 1010 to 1040 is issued to the ASCE 1210 (arrow j).

端末1000のXサーバは描画リクエストで指示された線描画を実行し、この時点で端末1010の個別ウィンドウに表示された文書データと端末1000の共有ウィンドウに表示された文書データとが同じ内容となる。   The X server of the terminal 1000 executes line drawing instructed by the drawing request, and at this time, the document data displayed in the individual window of the terminal 1010 and the document data displayed in the shared window of the terminal 1000 have the same contents. .

また、端末1000のASCE1210は共有Winアプリから端末1010〜端末1040の共有ウィンドウに対する描画の更新要求を受けると、更新領域のビットマップデータを含んだUpdatePDUを端末1010〜端末1040へ送信する(矢印k)。なお、このUpdatePDUは、MCSレイヤにおいて、各宛先端末の端末識別子であるMCSユーザIDをMCSチャネル番号にセットしたSDrq MCSPDUに含めて送信する。   When the ASCE 1210 of the terminal 1000 receives a drawing update request for the shared window of the terminal 1010 to the terminal 1040 from the shared Win application, the ASCE 1210 transmits an Update PDU including bitmap data of the update area to the terminal 1010 to the terminal 1040 (arrow k). ). This Update PDU is transmitted in the MCS layer by including the MCS user ID, which is the terminal identifier of each destination terminal, in the SDrq MCSPDU set in the MCS channel number.

端末1010のASCE1210は受信したビットマップデータを共有Winアプリへ渡し(矢印m)、共有Winアプリは端末1010のXサーバへこのビットマップデータの描画リクエストを出す(矢印n)。そして、端末1010のXサーバは共有ウィンドウの表示データを更新する。端末1020〜端末1040のASCE1210も同様に、受信したビットマップデータを共有Winアプリへ渡し、共有Winアプリは各端末のXサーバへこのビットマップデータの描画リクエストを出し、各端末のXサーバは共有ウィンドウの表示データを更新する。   The ASCE 1210 of the terminal 1010 passes the received bitmap data to the shared Win application (arrow m), and the shared Win application issues a drawing request for the bitmap data to the X server of the terminal 1010 (arrow n). Then, the X server of the terminal 1010 updates the display data of the shared window. Similarly, the ASCE 1210 of the terminal 1020 to the terminal 1040 passes the received bitmap data to the shared Win application, and the shared Win application issues a drawing request for the bitmap data to the X server of each terminal, and the X server of each terminal shares Update the display data of the window.

端末1000及び端末1020〜端末1040のBFTE1230は端末1010のBFTE1230からイベントデータを受信すると、これらのイベントデータを個別Winアプリへ渡し(矢印p)、個別Winアプリはこれらのイベントデータ(座標データ)から座標間を線で描画するリクエストをXサーバへ出す(矢印q)。端末1000及び端末1020〜端末1040のXサーバは個別ウィンドウの表示データを更新する。   When the terminal 1000 and the BFTE 1230 of the terminal 1020 to the terminal 1040 receive the event data from the BFTE 1230 of the terminal 1010, the event data is passed to the individual Win application (arrow p), and the individual Win application uses the event data (coordinate data). A request to draw a line between coordinates with a line is sent to the X server (arrow q). The X servers of the terminal 1000 and the terminals 1020 to 1040 update the display data of the individual windows.

上記したようにして、端末1000〜端末1040の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる。   As described above, the document data displayed in the shared window and the individual windows of the terminals 1000 to 1040 all have the same contents.

このように、端末1010の個別ウィンドウにて手書き入力されている時に、ストローク終了(ペンアップ)から次のストロークが開始されずに(ペンダウンされない)所定の時間が経過すると、それまで入力された描画線が端末1000〜端末1040の共有ウィンドウ、端末1000の個別ウィンドウ、端末1020〜端末1040の個別ウィンドウにも表示される。   As described above, when handwriting is input in the individual window of the terminal 1010, if a predetermined time elapses without starting the next stroke (not pen-down) from the end of the stroke (pen-up), the drawing that has been input until then. The line is also displayed in the shared window of the terminal 1000 to the terminal 1040, the individual window of the terminal 1000, and the individual window of the terminal 1020 to the terminal 1040.

(実施例11)
実施例11は、各端末の個別ウィンドウ内で、ユーザが電子ペンを用いて手書き入力を行い、タッチパネル31上で所定のジェスチャー動作を行うことにより、それまで入力された手書き描画が共有ウィンドウにコピーされる場合の実施例である。
(Example 11)
In the eleventh embodiment, a user performs handwriting input using an electronic pen in an individual window of each terminal, and a predetermined gesture operation is performed on the touch panel 31, whereby the handwritten drawing input so far is copied to the shared window. This is an example of the case.

図25は、実施例11に係る端末1010の個別Winアプリの動作フローチャートである。端末1010の個別Winアプリが手書き入力モードとして動作しているとき、Xサーバから受信するポインタイベント毎に、現在の時刻をタイムスタンプとして得る。そして、座標データをタイムスタンプと共にメインメモリ23上に存在する座標配列に巡回的に追加する(ステップ801〜803)。そして、この座標配列中のデータから、ウィンドウ間のコピーコマンド用の所定のパターンと一致するか否かの判断を行う(ステップ804)。この判断方法は、前述した実施例4の方法と同様である。   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 operates in 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, it is determined from the data in this coordinate array whether or not it matches a predetermined pattern for a copy command between windows (step 804). This determination method is the same as the method of the fourth embodiment described above.

この座標配列中のデータから、ウィンドウ間のコピーコマンドを検出すると(ステップ805でYES)、キュー101に貯められたイベントデータの中で、最新から過去に遡った方向で上記の条件を満足した座標の個数分だけ削除する(ステップ806)。そして、個別Winアプリは、削除したイベントデータに対応した描画線を消すために、描画線の背景部分の再描画(描画線に対して上書き)のリクエストをXサーバに送る(ステップ807)。そして、個別Winアプリが手書き入力データとして管理している座標データから、削除したイベントデータに対応したものを削除する(ステップ808)。   When a copy command between windows is detected from the data in this coordinate array (YES in step 805), the event data stored in the queue 101 satisfy the above conditions in the direction from the latest to the past. Are deleted (step 806). Then, the individual Win application sends a request for redrawing the background portion of the drawing line (overwriting the drawing line) to the X server in order to erase the drawing line corresponding to the deleted event data (step 807). Then, the data corresponding to the deleted event data is deleted from the coordinate data managed as the handwritten input data by the individual Win application (step 808).

Xサーバは、指定された線描画部分を背景データで上書きするため、その上書き部分の描画線が消去される。(一旦はジェスチャー用のペン先の動きを描画するが、ジェスチャー動作と認識するとこの描画をキャンセルする。)そして、端末1010の個別Winアプリはキュー101に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Winアプリへ渡すとともに、これらのイベントデータをBFTE1230を介して端末1000及び端末1020〜端末1040へ送信する(ステップ809)。これ以降の動作は実施例10と同様であるので、その説明を省略する。   Since the X server overwrites the specified line drawing portion with the background data, the drawing line of the overwriting portion is deleted. (Once the movement of the pen tip for the gesture is drawn, the drawing is canceled when it is recognized as a gesture action.) Then, the individual Win application of the terminal 1010 firstly outputs the event data in the queue 101 first-in first-out. Are sequentially passed to the shared Win application, and these event data are transmitted to the terminal 1000 and the terminals 1020 to 1040 via the BFTE 1230 (step 809). Since the subsequent operation is the same as that of the tenth embodiment, the description thereof is omitted.

(実施例12)
実施例12は、各端末の個別ウィンドウに表示された文書に対して、ユーザが電子ペンやUSBキーボードを用いた編集操作を行い、LCD29に表示された所定のボタンが選択されることにより、それまでの編集処理が共有ウィンドウに表示された文書に対しても実行される場合の実施例である。
(Example 12)
In the twelfth embodiment, 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 embodiment in which the editing process up to is executed for a document displayed in a shared window.

図26は、実施例12に係る端末1010の個別Winアプリの動作フローチャートである。以下、実施例12を説明すると、LCD29の表示画面で、共有ウィンドウや個別ウィンドウなどのウィンドウ以外の領域に、編集同期ボタンを表示する。   FIG. 26 is an operation flowchart of the individual Win application of the terminal 1010 according to the twelfth embodiment. In the following, the twelfth embodiment will be described. On the display screen of the LCD 29, an edit synchronization button is displayed in an area other than a window such as a shared window or an individual window.

編集同期ボタンは、個別ウィンドウに表示された文書に対して実行されたのと同じ編集処理を、共有ウィンドウに表示された文書に対して実行させるためのボタンである。   The edit synchronization button is a button for causing the same editing process as that performed on the document displayed on the individual window to be performed on the document displayed on the shared window.

端末1010の個別ウィンドウに表示された文書に対して文字(テキスト)入力、手書き入力、文章の削除、文章のコピー等の各種編集操作が行われると、端末1010のXサーバはキーコード(文字・記号コードや改行コード等)やポイント位置データ(座標データ)を個別Winアプリへ渡す。座標データを受信した個別Winアプリはこれらのイベントデータをキュー101に入れるとともに(ステップ901、902)、イベントデータに従った処理を行い(ステップ903)、画面の表示データに変更が必要な場合には(ステップ904でYES)、Xサーバへ描画リクエストを出す(ステップ905)。Xサーバは指示された描画を行う。   When various editing operations such as character (text) input, handwriting input, sentence deletion, sentence copy, and the like are performed on the document displayed in the individual window of the terminal 1010, the X server of the terminal 1010 displays a key code (character / character). (Symbol code, line feed code, etc.) and point position data (coordinate data) are passed to the individual Win application. The individual Win application that has received the coordinate data puts the event data in the queue 101 (steps 901 and 902), performs processing according to the event data (step 903), and the display data on the screen needs to be changed. (YES in step 904), a drawing request is issued to the X server (step 905). The X server performs the instructed drawing.

ここで、ユーザにより編集同期ボタンが選択されると、ウィンドウ以外の画面領域を管理するデスクトップアプリ(図示は省略)は個別Winアプリへ編集同期を指示するリクエストを出す。個別Winアプリはこのリクエストを受信すると(ステップ906でYES)、キュー101に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、共有Winアプリへ渡すとともに、これらのイベントデータをBFTE1230を介して端末1000及び端末1020〜端末1040へ送信する(ステップ907)。これ以降の動作は実施例10と同様である。   Here, when an edit synchronization button is selected by the user, a desktop application (not shown) that manages a screen area other than the window issues a request for instructing edit synchronization to the individual Win application. When the individual Win application receives this request (YES in Step 906), the event data in the queue 101 are sequentially passed to the shared Win application in the first-in first-out order, and these event data are passed through the BFTE 1230. To terminal 1000 and terminal 1020 to terminal 1040 (step 907). Subsequent operations are the same as those in the tenth embodiment.

上記した実施例8から実施例12では、端末1010で編集操作される場合について説明したが、端末1020〜端末1040で編集操作される場合も同様である。また、端末1000で編集操作される場合も、共有Winアプリが他の端末からイベントデータを受信する代わりに、自端末の個別Winアプリからイベントデータを受信することを除いて、上記した動作と同様である。   In the above-described eighth to twelfth embodiments, 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 terminal 1020 to the terminal 1040. Also, when an editing operation is performed on the terminal 1000, the same operation as described above is performed except that the shared Win app receives event data from the individual Win app of its own terminal instead of receiving event data from another terminal. It is.

なお、上記した実施例8から実施例12では、端末1000〜端末1040との間の通信手段として無線LANを使用した例について説明したが、Bluetooth(登録商標)や有線LAN(イーサネット)(登録商標)等の他の通信手段を使用してもよい。また、端末1000〜端末1040が携帯型表示パッドである例を用いて説明したが、本発明はこれに限定されず、上記した動作を実行できる端末、例えばノートPCなどを使用してもよい。
In the above-described eighth to twelfth embodiments, an example in which a wireless LAN is used as a communication unit between the terminal 1000 to the terminal 1040 has been described. However, Bluetooth (registered trademark) or wired LAN (Ethernet) (registered trademark ) is used. Other communication means such as ) may be used. Further, although the example in which the terminals 1000 to 1040 are portable display pads has been described, the present invention is not limited to this, and a terminal capable of executing the above-described operation, such as a notebook PC, may be used.

本発明の基本的な考え方を説明する図である。It is a figure explaining the fundamental view of the present invention. 本発明に係るサーバ/クライアント型の電子会議システムの構成例を示す。1 shows a configuration example of a server / client type electronic conference system according to the present invention. 携帯型表示パッド20のハードウェア構成を示す。The hardware configuration of the portable display pad 20 is shown. VNCプロトコル(RFBプロトコル)とXプロトコルとの関係を示す。The relationship between VNC protocol (RFB protocol) and X protocol is shown. サーバのメインメモリ上に確保された画面バッファの一例を示す。An example of the screen buffer secured on the main memory of the server is shown. サーバ1の内部プロセスおよび各プロセスとクライアント3〜6との間のデータの流れを示す。The internal process of the server 1 and the data flow between each process and the clients 3-6 are shown. 各クライアントの画面表示例を示す。A screen display example of each client is shown. 実施例1に係るVNCサーバ2の動作フローチャートである。6 is an operation flowchart of the VNC server 2 according to the first embodiment. 図8の続きのフローチャートである。FIG. 9 is a flowchart continued from FIG. 8. FIG. 実施例3に係るVNCサーバ2の動作フローチャートである。12 is an operation flowchart of the VNC server 2 according to the third embodiment. 実施例4に係るVNCサーバ2の動作フローチャートである。12 is an operation flowchart of the VNC server 2 according to the fourth embodiment. 図11の続きのフローチャートである。FIG. 12 is a flowchart continued from FIG. 11. 画面間コピーコマンド用のパターン例を示す。An example pattern for an inter-screen copy command is shown. 実施例5に係るVNCサーバ2の動作フローチャートである。12 is an operation flowchart of the VNC server 2 according to the fifth embodiment. 共有画面ミラーリングモードの動作を説明する図である。It is a figure explaining operation | movement of a shared screen mirroring mode. 実施例7に係るVNCサーバ1の動作フローチャートである。18 is an operation flowchart of the VNC server 1 according to the seventh embodiment. 複数の端末がネットワークを構成した、本発明の電子会議システムの構成を示す。1 shows a configuration of an electronic conference system of the present invention in which a plurality of terminals constitute a network. ハードディスク内蔵型の携帯型表示パッドのハードウェア構成を示す。1 shows a hardware configuration of a portable display pad with a built-in hard disk. 会議通信のプロトコル構成を示す。The protocol configuration of conference communication is shown. 端末1000を議長端末とした場合のMCSドメインの階層構造を示す。The hierarchical structure of a MCS domain when the terminal 1000 is a chairman terminal is shown. 個別Winアプリ、共有Winアプリ、Xサーバ、ASCE1210、BFTE1230の関係を示す。The relationship between an individual Win application, a shared Win application, an X server, an ASCE 1210, and a BFTE 1230 is shown. 端末1000と端末1010の個別Winアプリ、共有Winアプリ、Xサーバ、ASCE1210、BFTE1230の各プロセス間のデータの流れを示す。The flow of data between each process of the individual Win application, the shared Win application, the X server, the ASCE 1210, and the BFTE 1230 of the terminal 1000 and the terminal 1010 is shown. 実施例8に係る、端末1010の個別Winアプリの動作フローチャートである。FIG. 20 is an operation flowchart of an individual Win application of the terminal 1010 according to the eighth embodiment. 実施例10に係る、端末1010の個別Winアプリの動作フローチャートである。FIG. 25 is an operation flowchart of an individual Win application of the terminal 1010 according to the tenth embodiment. 実施例11に係る、端末1010の個別Winアプリの動作フローチャートである。It is an operation | movement flowchart of the separate Win application of the terminal 1010 based on Example 11. FIG. 実施例12に係る、端末1010の個別Winアプリの動作フローチャートである。20 is an operation flowchart of an individual Win application of the terminal 1010 according to the twelfth embodiment.

符号の説明Explanation of symbols

1 サーバ
2 大型ディスプレイ装置
3〜6 クライアント
7〜10 電子ペン
1 server 2 large display device 3-6 client 7-10 electronic pen

Claims (6)

議長端末とディスプレイを備えた複数の非議長端末とがネットワークに接続され、前記非議長端末間で相互にデータの送受信を行う端末間データ通信型の電子会議システムであって、
全ての前記非議長端末のディスプレイに、前記文書の表示と、当該文書に対してなされた編集操作とが共有できる共有ウィンドウと、該共有ウィンドウに表示された文書と同じ文書を非議長端末毎に個別に表示または編集できる個別ウィンドウとを、同時にまたは交代で表示させ、
1の前記非議長端末(以下、第1の非議長端末)の前記個別ウィンドウに対して編集操作が行われると、当該第1の非議長端末は、所定のタイミング毎に、前記編集操作のイベントデータを、前記議長端末及び前記第1の非議長端末を除く前記非議長端末(以下、非議長端末群)へ送信し、
前記議長端末は、前記編集操作のイベントデータを受信すると、共有ウィンドウに表示された文書データに前記イベントデータに従った処理を実行し、前記共有ウィンドウに対する更新領域のビットマップデータを含むデータを全ての前記非議長端末に送信し、
全ての前記非議長端末は、前記議長端末から前記更新領域のビットマップデータを含むデータを受信すると、各々の端末にて当該受信したデータに基づき共有ウィンドウの表示データを更新して表示し、
前記非議長端末群は、前記編集操作のイベントデータを受信すると、各々の端末にて当該受信したイベントデータに基づき個別ウィンドウの表示データを更新して表示する
ことを特徴とする端末間データ通信型の電子会議システム。
An inter-terminal data communication type electronic conferencing system in which a chairman terminal and a plurality of non-chairman terminals equipped with a display are connected to a network, and transmit and receive data between the non-chairman terminals,
A shared window in which the display of the document and editing operations performed on the document can be shared on the display of all the non-chairperson terminals, and the same document as the document displayed in the shared window is displayed for each non-chairperson terminal. Individual windows that can be individually displayed or edited can be displayed simultaneously or alternately,
When an editing operation is performed on the individual window of one non-chairman terminal (hereinafter referred to as a first non-chairman terminal), the first non-chairman terminal performs an event of the editing operation at a predetermined timing. Transmitting data to the non-chairman terminal (hereinafter referred to as non-chairman terminal group) excluding the chairman terminal and the first non-chairman terminal;
Upon receiving the event data of the editing operation, the chairperson terminal executes processing according to the event data on the document data displayed in the shared window, and all the data including bitmap data of the update area for the shared window To the non-chairperson ’s terminal,
When all the non-chairperson terminals receive data including bitmap data of the update area from the chairperson terminal, the display data of the shared window is updated and displayed based on the received data at each terminal,
When receiving the event data of the editing operation, the non-chairperson terminal group updates and displays the display data of the individual window based on the received event data at each terminal.
Terminal between data communication electronic conference system, characterized in that.
前記所定のタイミングは、前記非議長端末の個別ウィンドウに表示された文書データに対して文章終端記号が入力されたタイミングであることを特徴とする請求項1記載の端末間データ通信型の電子会議システム。 2. The inter-terminal data communication type electronic conference according to claim 1, wherein the predetermined timing is a timing when a sentence end symbol is input to document data displayed in an individual window of the non-chairperson terminal. system. 前記所定のタイミングは、前記非議長端末の個別ウィンドウに表示された文書データに対してテキストを入力し、1つまたは所定数の改行コードが入力されたタイミングであることを特徴とする請求項1記載の端末間データ通信型の電子会議システム。 2. The predetermined timing is a timing when text is input to document data displayed in an individual window of the non-chairperson terminal and one or a predetermined number of line feed codes are input. The terminal-to-terminal data communication type electronic conference system. 前記所定のタイミングは、前記非議長端末の個別ウィンドウに表示された文書データに対して手書き入力していて、ストローク終了から次のストロークが開始されずに所定の時間が経過したタイミングであることを特徴とする請求項1記載の端末間データ通信型の電子会議システム。 The predetermined timing is a timing at which a predetermined time elapses without starting the next stroke from the end of the stroke when handwritten input is performed on the document data displayed in the individual window of the non-chairperson terminal. The inter-terminal data communication type electronic conference system according to claim 1 . 前記所定のタイミングは、前記非議長端末の個別ウィンドウに表示された文書データに対して電子ペンを用いて手書き入力していて、前記電子ペンの動きが予め決められた画面間コピーコマンド用のジェスチャー動作であるタイミングであることを特徴とする請求項1記載の端末間データ通信型の電子会議システム。 The predetermined timing is a gesture for an inter-screen copy command in which handwriting input is performed with respect to the document data displayed in the individual window of the non-chairperson terminal using an electronic pen, and the movement of the electronic pen is determined in advance. The inter-terminal data communication type electronic conference system according to claim 1, wherein the timing is an operation timing . 前記所定のタイミングは、前記非議長端末の個別ウィンドウに対して編集操作を行い、所定のボタンが選択されたタイミングであることを特徴とする請求項1記載の端末間データ通信型の電子会議システム。 2. The inter-terminal data communication type electronic conference system according to claim 1, wherein the predetermined timing is a timing when an editing operation is performed on an individual window of the non-chairperson terminal and a predetermined button is selected. .
JP2007210236A 2007-08-10 2007-08-10 Electronic conference system Expired - Fee Related JP4127566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007210236A JP4127566B2 (en) 2007-08-10 2007-08-10 Electronic conference system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007210236A JP4127566B2 (en) 2007-08-10 2007-08-10 Electronic conference system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002076846A Division JP4017101B2 (en) 2002-03-19 2002-03-19 Electronic conference system

Publications (2)

Publication Number Publication Date
JP2008047122A JP2008047122A (en) 2008-02-28
JP4127566B2 true JP4127566B2 (en) 2008-07-30

Family

ID=39180740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007210236A Expired - Fee Related JP4127566B2 (en) 2007-08-10 2007-08-10 Electronic conference system

Country Status (1)

Country Link
JP (1) JP4127566B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8594740B2 (en) 2008-06-11 2013-11-26 Pantech Co., Ltd. Mobile communication terminal and data input method
JP2010160761A (en) * 2009-01-09 2010-07-22 Sharp Corp Information processing terminal, computer program, and communication method
JP2011065232A (en) * 2009-09-15 2011-03-31 Sharp Corp Information processing device, intermediate image generating method, intermediate image generation program and network system
JP5889559B2 (en) * 2011-07-13 2016-03-22 ソニー株式会社 Information processing method and information processing system
JP5928048B2 (en) 2012-03-22 2016-06-01 ソニー株式会社 Information processing apparatus, information processing method, information processing program, and terminal apparatus
JP5815613B2 (en) * 2013-08-01 2015-11-17 株式会社オプティム User terminal, screen sharing method, user terminal program
EP3113489A4 (en) * 2014-02-28 2017-04-26 Ricoh Company, Ltd. Transfer control system, transfer system, transfer control method, and recording medium
DE202015006142U1 (en) 2014-09-02 2015-12-09 Apple Inc. Electronic touch communication
WO2016036427A1 (en) * 2014-09-02 2016-03-10 Apple Inc. Electronic device with rotatable input mechanism
JP7147301B2 (en) * 2018-07-09 2022-10-05 コニカミノルタ株式会社 Information processing server and program
JP6908169B2 (en) * 2019-02-07 2021-07-21 ソニーグループ株式会社 Terminal equipment

Also Published As

Publication number Publication date
JP2008047122A (en) 2008-02-28

Similar Documents

Publication Publication Date Title
JP4017101B2 (en) Electronic conference system
JP4127566B2 (en) Electronic conference system
EP2813942A1 (en) Communication system and information processing device
US10545658B2 (en) Object processing and selection gestures for forming relationships among objects in a collaboration system
US9898243B2 (en) Information processing apparatus, program, information processing system, and information processing method
JP2006195668A (en) Teleconference system
US20180234295A1 (en) Communication system, information processing apparatus, and method for communication
JP6493546B2 (en) Electronic blackboard, storage medium, and information display method
US11294495B2 (en) Electronic whiteboard, method for image processing in electronic whiteboard, and recording medium containing computer program of electronic whiteboard
US20180082663A1 (en) Information processing apparatus, image displaying method, and non-transitory computer readable medium
JP3840195B2 (en) Drawing apparatus and control method thereof
US10565299B2 (en) Electronic apparatus and display control method
KR100611255B1 (en) Remote conference method of sharing work space
JP4021249B2 (en) Information processing apparatus and information processing method
JP4087203B2 (en) Screen data management apparatus, screen data management system, screen data management method, and screen data management program
JP2009251896A (en) Information processor and information processing method
US20160117140A1 (en) Electronic apparatus, processing method, and storage medium
JP2012043250A (en) Electronic information board apparatus
JPWO2017138233A1 (en) Image processing apparatus, image processing system, and image processing method
JP7298224B2 (en) Display device and display method
JP2022087633A (en) Display device, erasing method switching method, and program
JP7147322B2 (en) Image management server, program, information sharing system, information sharing method
JP7388159B2 (en) Display device, display method
JP7363064B2 (en) Image processing device, method, and program
CN115516867B (en) Method and system for reducing latency on collaboration platforms

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080507

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080508

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4127566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees