JP4127566B2 - Electronic conference system - Google Patents
Electronic conference system Download PDFInfo
- 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
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.
しかし、上記した従来の技術では、例えば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
本発明では、個々の端末での共有文書に対する追記、編集の作業工程の中で、他人に不要なあるいは他人に見られたくない部分を全ての端末で共有しないようにし、作業に応じた所定のタイミング毎に、それまでの作業結果を全ての端末で共有するようにする。 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
サーバ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
大型ディスプレイ装置2は、例えばPDP(Plasma Display Panel)の表示面にタッチパネルが付着されており、VGAケーブルとRS−232Cケーブルによってサーバ1と接続され、サーバ1の表示装置として機能するとともに、サーバ1のタッチ入力装置として機能する。なお、VGAケーブルはサーバ1からPDPへ画面表示信号を出力し、RS−232Cケーブルはタッチパネルが検出したタッチ入力座標データをサーバ1へ入力する。また、サーバ1は入力されるタッチ入力座標データを、マウス入力データと同様に処理する。
The
クライアント3〜6は、ユーザにより入力されたテキストデータや手書きデータをサーバ1へ送信し、またサーバ1から受信した画面データの表示を行うという機能に特化された携帯型表示パッドであり、電子ペン7〜10が付属されている。
The
クライアント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
次に、サーバ1にある画面データがクライアント3〜6へ送信され、クライアント3〜6からサーバ1へはユーザの入力データが送信されるサーバ/クライアントソフトウェアの動作について説明する。このサーバ/クライアントソフトウェアとして、前述したVNCを使用した場合について、以下説明する。
Next, the operation of server / client software in which screen data in the
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
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
次に、クライアント3〜6がサーバ1に接続してサーバ1で動いているアプリケーション(Xウィンドウ)を操作して、文書を表示できるようになるまでの動作シーケンスについて説明する。サーバ1ではまず、必要とされる画面バッファの数だけ、VNCサーバプロセスを起動しておく。この画面バッファが複数のクライアントにより共有されないようにする、すなわち、1つのクライアントのみがアタッチするように設定する場合、VNCサーバの起動コマンドには画面番号のみを指定する。例えば、画面番号を2とした場合のVNCサーバの起動コマンドは以下のようになる。
vncserver :2
Next, an operation sequence until the
vncserver: 2
サーバ1の画面バッファが複数のクライアントにより共有されるようにする場合には、VNCサーバの起動コマンドに画面番号に加えて共有を指示するオプションを指定する。例えば、画面番号1を共有とする場合のVNCサーバの起動コマンドは以下のようになる。
vncserver −alwaysshared :1
When the screen buffer of the
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
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
次に、クライアント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
以上の処理は、公知の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
(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
また、クライアント3から文章終端記号が入力され、共有画面表示ウィンドウに表示された文書が更新されると、他のクライアント4〜6の共有画面表示ウィンドウと大型ディスプレイ装置2にも、更新された文書が表示される。さらに、他のクライアント4〜6の個別画面表示ウィンドウにも、更新された文書が表示される。
When a sentence terminator is input from the
上記した動作を詳細に説明する。サーバ1の内部プロセスおよび各プロセスとクライアント3〜6との間のデータの流れを図6に示す。また、図8、図9は、各クライアントの画面表示(図7)において、クライアント3のユーザが個別画面表示ウィンドウ内で文字(テキスト)を入力したときのVNCサーバ2の動作フローを示す。
The above operation will be described in detail. The internal process of the
以下、図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
また、クライアント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
クライアント3の個別画面表示ウィンドウに表示された文書に対して文字(テキスト)入力する位置にカーソルを移動するために電子ペン7でポイントされると、クライアント3のVNCクライアント3−Bは、ポイント位置データ(座標データ)をサーバ1のVNCサーバ2へ送信する(図6の矢印41)。VNCサーバ2は、座標データをポインタイベントとして受信し(ステップ101でYES)、座標データを文書編集アプリケーション2へ渡すとともに(矢印42、ステップ102)、イベントデータをキュー(キュー2)に入れる(ステップ103)。このキューはプログラム中に定義された配列である。
When the
次いで、文書編集アプリケーション2は、受信した座標データの位置にカーソルを移動し、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は描画リクエストを受信すると(ステップ104でYES)、カーソルの表示位置を変えるとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ105)。
Next, the
続いて、クライアント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
文書編集アプリケーション2はこれらの文字コードを受信すると、これらの文字コードを文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、描画リクエストを受信すると(ステップ109でYES)、各文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ110)。
Upon receiving these character codes, the
上記したように、ユーザにより文字列が入力され、文章終端記号が入力されると、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
文書編集アプリケーション2は文章終端記号(文字コード)を受信すると、文章終端記号(文字コード)を文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、描画リクエストを受信すると(ステップ113でYES)、文章終端記号(文字コード)に対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ114)。
Upon receiving the sentence end symbol (character code), the
VNCサーバ2は、キュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する(ステップ115)。なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する(矢印45〜48)。
The
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サーバ3〜5はVNCサーバ1と同様な処理を行い、従って、クライアント4〜6の個別画面表示ウィンドウの表示画面が更新され(矢印56〜64)、クライアント3〜6の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同一の文書内容となる。
The
(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
クライアント3のユーザが個別画面表示ウィンドウに表示された2ページ目の文書のある位置にカーソルを移動し、文章を追加するためにキーボードウィンドウ上で電子ペンを用いて文字(テキスト)を入力すると、クライアント3のVNCクライアント3−Bはこれらのポイント位置データ(座標データ)と文字コードをサーバ1のVNCサーバ2へ送信する(矢印41)。
When the user of the
VNCサーバ2はこの座標データをポインタイベントとして受信し、文字コードをキーイベントとして受信し、座標データと文字コードを文書編集アプリケーション2へ渡す(矢印42)とともに、これらのイベントデータをキュー2に入れる。文書編集アプリケーション2は座標データを受信すると2ページ目のその位置にカーソルを移動し、VNCサーバ2へ描画リクエストを出す(矢印43)。また、文書編集アプリケーション2は文字コードを受信すると(矢印42)、これらの文字コードを文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、カーソルの表示位置を変えるとともに更新された画面データをクライアント3へ送信し(矢印44)、また各文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44)。
The
上記したように、ユーザにより文字列が入力され、文章終端記号が入力されると、VNCサーバ2は文章終端記号を受信し、文章終端記号(文字コード)を文書編集アプリケーション2へ(矢印42)渡すとともに、このイベントデータ(文章終端記号)をキュー2に入れる。
As described above, when the user inputs a character string and a sentence end symbol, the
文書編集アプリケーション2は文章終端記号(文字コード)を受信すると、文章終端記号(文字コード)を文書データに追加するとともに、VNCサーバ2へ描画リクエストを出す(矢印43)。VNCサーバ2は、描画リクエストを受信すると、文章終端記号(文字コード)に対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3へ送信する(矢印44)。
Upon receiving the sentence end symbol (character code), the
VNCサーバ2は、キュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する。なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する。(矢印45〜48)。
The
VNCサーバ1は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡す(矢印49)。文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い(矢印50)、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。
The
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サーバ3は、VNCサーバ2から受信したイベントデータを文書編集アプリケーション3へ渡す(矢印56)。文書編集アプリケーション3は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント4に表示されていないため、VNCサーバ3へは描画リクエストを出さない。この場合、VNCサーバ3はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント4へは送信しない。したがって、クライアント4の個別画面表示ウィンドウの表示内容は変化しない。
The
VNCサーバ4はVNCサーバ2から受信したイベントデータを文書編集アプリケーション4へ渡す(矢印59)。文書編集アプリケーション4は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行い、VNCサーバ4へ指示された位置でのカーソルの描画リクエストと追加された文字の描画リクエストを出す(矢印60)。VNCサーバ4は、カーソルの表示位置を変え、各文字コードに対応した文字フォントをカーソル位置に表示させる。そして、VNCサーバ4はイベント群終了データを受信すると、その時の画面データをクライアント5へ送信する(矢印61)。従って、クライアント5の個別画面表示ウィンドウの表示内容が更新され、クライアント3の個別画面表示ウィンドウに表示された文書の内容と同じ内容になる。
The
VNCサーバ5は、VNCサーバ2から受信したイベントデータを文書編集アプリケーション5へ渡す(矢印62)。文書編集アプリケーション5は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント6に表示されていないため、VNCサーバ5へは描画リクエストを出さない。この場合、VNCサーバ5はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント6へは送信しない。したがって、クライアント6の個別画面表示ウィンドウの表示内容は変化しない。
The
なお、上記した実施例では、クライアント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
(実施例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サーバ2がキュー2に貯めたイベントデータをVNCサーバ1とVNCサーバ3〜5へ送信するタイミングがクライアント3から文章終端記号を受信したときではなく、改行コードを受信したときである。従って、実施例2では、ユーザが1行分の文字(テキスト)を入力して改行がなされるまでは共有画面表示ウィンドウと個別画面表示ウィンドウに表示された文書の内容が異なるが、改行がなされたときに、これらのウィンドウに表示される文書の内容が同じになる。
That is, the timing at which the
上記した実施例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
(実施例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
文書編集アプリケーション2は、座標データをカーソルの位置データとして使用し、あるいは自由線描画の描画位置データとして使用する。今、文書編集アプリケーション2は受信した座標データを自由線描画の描画位置データとして使用するモードにあり、1つのストローク(ペンダウンからペンアップまで)中は受信した座標間を線で描画する機能を実行している。この自由線描画機能の開始時に、文書編集アプリケーション2はVNCサーバ2へ描画線の色や太さ等の設定情報を送信する。これは、XプロトコルにおけるXクライアントからXサーバへのリクエストである。
The
VNCサーバ2が描画線の設定情報を受信すると(ステップ201でYES)、手書き入力モードとして動作する(ステップ202)。VNCサーバ2が手書き入力モードになると、クライアント3から受信するポインタイベント間の時間を計測する(ステップ203、204)。この計測時間が所定の時間以内である場合は、VNCサーバ2は座標データを文書編集アプリケーション2へ渡すとともに(矢印42、ステップ205)、そのポインタイベントデータをキュー2に入れる(ステップ206)。このキューはプログラム中に定義された配列である。
When the
文書編集アプリケーション2は座標データを受信すると、先に受信した座標との間を線で描画するリクエストをVNCサーバ2へ出す(矢印43)。VNCサーバ2は描画リクエストを受信すると(ステップ207でYES)、座標間を線で描画するとともに更新された画面データをクライアント3へ送信する(矢印44、ステップ208)。そして、ポインタイベント間の計測時間が所定の時間を超えた場合、すなわちポインタイベント受信時に開始したタイマーがタイムアウトした場合には(ステップ209でYES)、VNCサーバ2はキュー2に入っているイベントデータをファーストイン・ファーストアウトの順番で順次、VNCサーバ1とVNCサーバ3〜5へ送信する(ステップ210)。
When the
なお、キュー2に入っているイベントデータを送信する前後に、これらのイベントデータ群の開始を示すデータ(イベント群開始データ)と終了であることを示すデータ(イベント群終了データ)を含めたイベントデータもVNCサーバ1とVNCサーバ3〜5へ送信する(矢印45〜48)。
Before and after sending event data in
VNCサーバ1は、イベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡す(矢印49)。文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い(矢印50)、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。VNCサーバ1はイベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ(共有画面データ)をクライアント3〜6へ送信しない。そして、VNCサーバ1はイベント群終了データを受信すると、その時の画面データをクライアント3へ送信する(矢印51)。
The
従って、クライアント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
VNCサーバ3はVNCサーバ2から受信したイベントデータを文書編集アプリケーション3へ渡す(矢印56)。文書編集アプリケーション3は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント4に表示されていないため、VNCサーバ3へは描画リクエストを出さない。この場合、VNCサーバ3はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント4へは送信しない。したがって、クライアント4の個別画面表示ウィンドウの表示内容は変化しない。
The
VNCサーバ4はVNCサーバ2から受信したイベントデータを文書編集アプリケーション4へ渡す(矢印59)。文書編集アプリケーション4は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行い、VNCサーバ4へ座標間の線描画リクエストを出す(矢印60)。VNCサーバ4は、このリクエストに従った線描画を行う。そして、VNCサーバ4はイベント群終了データを受信すると、その時の画面データをクライアント5へ送信する(矢印61)。このようにして、クライアント5の個別画面表示ウィンドウの表示内容が更新され、クライアント3の個別画面表示ウィンドウに表示された文書の内容と同じ内容となる。
The
VNCサーバ5はVNCサーバ2から受信したイベントデータを文書編集アプリケーション5へ渡す(矢印62)。文書編集アプリケーション5は、これらのイベントデータに対応した処理を行い、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行うが、処理を行ったページ(2ページ目)はクライアント6に表示されていないため、VNCサーバ5へは描画リクエストを出さない。この場合、VNCサーバ5はイベント群終了データを受信すると、画面データに変化が無いためその時の画面データをクライアント6へは送信しない。したがって、クライアント6の個別画面表示ウィンドウの表示内容は変化しない。
The
(実施例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
図11、図12は、実施例4に係るVNCサーバ2の動作フローチャートである。以下、実施例4を説明すると、文書編集アプリケーション2は自由線描画機能の開始時に、VNCサーバ2へ描画線の色や太さ等の設定情報を送信する。これは、XプロトコルにおけるXクライアントからXサーバへのリクエストである。
11 and 12 are operation flowcharts of the
VNCサーバ2が描画線の設定情報を受信すると(ステップ301でYES)、手書き入力モードとして動作する(ステップ302)。VNCサーバ2が手書き入力モードになると、クライアント3から受信するポインタイベント毎に、現在の時刻をタイムスタンプとして得る(ステップ303、304)。VNCサーバ2は、座標データをタイムスタンプと共にメインメモリ23上に存在する座標配列に巡回的に追加し(ステップ305)、座標配列中のデータから、画面間のコピーコマンド用の所定のパターンと一致するか否かの判断を行う(ステップ306)。なお、この時点では描画データであるかコピーコマンドであるかの判断が行われていないので、実施例3と同様にして画面データをクライアント3へ送信し、個別画面表示ウィンドウに一旦表示する。
When the
図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
画面間コピーコマンドを検出すると、キュー2に貯められたイベントデータの中で、最新から過去に遡った方向で上記の条件を満足した座標の個数分(つまり、コピーコマンドに相当する図13の座標データ)だけ、描画の消去指示情報と共に文書編集アプリケーション2へ渡し、この渡したイベントデータをキュー2から削除する(ステップ308)。
When the inter-screen copy command is detected, among the event data stored in the
文書編集アプリケーション2は指示された描画線を消すために、描画線の背景部分の再描画(描画線に対して上書き)のリクエストをVNCサーバ2に送り、VNCサーバ2がそのリクエストを受信すると(ステップ309)、指定された線描画部分を背景データで上書きして線を消去し、更新された画面データをクライアント3へ送信する(ステップ310)。
In order to erase the designated drawing line, the
上記したように、クライアント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
(実施例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
図14は、実施例5に係るVNCサーバ2の動作フローチャートである。以下、実施例5を説明すると、LCD29の表示画面上で、共有画面表示ウィンドウと個別画面表示ウィンドウ以外の領域に、ボタン(編集同期ボタン)を表示する。
FIG. 14 is an operation flowchart of the
編集同期ボタンは、個別画面表示ウィンドウに表示された文書に対して実行されたのと同じ編集処理を、共有画面表示ウィンドウに表示された文書に対して実行させるためのボタンである。 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
編集同期ボタンが選択されていなければ(ステップ404でNO)、文書編集アプリケーション2は受信したイベントデータに従った処理を行い、画面の表示データに変更が必要な場合には、VNCサーバ2へ描画リクエストを出す。VNCサーバ2は描画リクエストを受信し(ステップ405でYES)、指示された描画を行い、更新された画面データをクライアント3へ送信する(ステップ406)。
If the edit synchronization button is not selected (NO in step 404), the
ユーザにより編集同期ボタンが選択されると、アプリケーション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
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
(実施例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
共有画面ミラーリングモードでは、共有画面の表示データとクライアント3〜6の個別画面の表示データを常に同じ内容にするために、共有画面での操作をクライアント3〜6の個別画面に対しても同様に行うように動作させる。
In the shared screen mirroring mode, the shared screen display data and the individual screen display data of the
図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
クライアント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
VNCサーバ1は、文字コードに対応した文字フォントをカーソル位置に表示させるとともに更新された画面データをクライアント3、VNCクライアント1、クライアント4〜6へ順次送信する(矢印74〜78)。そして、VNCサーバ1は先に受信したキーイベントデータをVNCサーバ2〜5へ送信する(矢印79〜82)。
The
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
クライアント3の共有画面で、カーソル移動やメニュー選択のために電子ペン7でポイントされた場合も、上記した動作で文字コードをポイント位置データ(座標データ)に置き換え、またキーイベントをポインタイベントに置き換えて、上記したのと同様な動作が実行される。共有画面でのあらゆる操作が、全てのクライアントの個別画面に対しても自動的になされるため、共有画面での文書の表示位置と全てのクライアントの個別画面での文書の表示位置とが常に一致する。
When the
上記したように共有画面ミラーリングモードに設定されたクライアント3〜6の個別画面に表示された文書に対する操作の一例を説明する。ここでは、その動作例として、前述した実施例1を用いる。すなわち、クライアント3の個別画面表示ウィンドウに表示された文書に対してテキスト入力を行い、文章終端記号の入力毎にクライアント3〜6の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同じになる動作を説明する。
An example of an operation on a document displayed on the individual screen of the
以下、図6を参照して説明する。なお、VNCサーバ2の動作は、図8、9のフローチャートに示すように、実施例1と同様である。
Hereinafter, a description will be given with reference to FIG. The operation of the
クライアント3の個別画面表示ウィンドウに表示された文書に対して、文字(テキスト)入力する位置にカーソルを移動するために、電子ペン7でポイントされると、クライアント3のVNCクライアント3−Bはこのポイント位置データ(座標データ)をサーバ1のVNCサーバ2へ送信する(矢印41)。VNCサーバ2は座標データをポインタイベントとして受信し、座標データを文書編集アプリケーション2へ渡す(矢印42)とともに、このイベントデータをキュー(キュー2)に入れる。このキューはプログラム中に定義された配列である。そして、文書編集アプリケーション2は受信した座標データの位置にカーソルを移動し、VNCサーバ2へ描画リクエストを出す(矢印43)。
When the
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サーバ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サーバ1はイベント群開始データとイベント群終了データとの間にあるこれらのイベントデータを文書編集アプリケーション1へ渡す(矢印49)。文書編集アプリケーション1は、これらのイベントデータに対応した処理を行い(矢印50)、すなわち、先に実行された文書編集アプリケーション2と同じ処理を行う。VNCサーバ1はイベント群開始データを受信してからイベント群終了データを受信する前までの間、更新された画面データ(共有画面データ)をクライアント3〜6へ送信しない。
The
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サーバ3〜5もVNCサーバ1と同様な処理を行い、クライアント4〜6の個別画面表示ウィンドウの表示画面が更新され(矢印56〜64)、クライアント3〜6の共有画面表示ウィンドウに表示された文書と個別画面表示ウィンドウに表示された文書の内容が全て同じ内容となる。
The
なお、所定のタイミングとして、文章終端記号を用いた例を説明したが、本発明はこれに限定されず、前述した実施例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
文書編集アプリケーション1はイベントデータとして受け取った文字コードや手書きデータを文書データに追加するとともに、それらの追加したデータをVNCサーバ識別番号に対応した色で描画するための描画リクエストを、VNCサーバ1へ出す。例えば、VNCサーバ識別番号1〜4に対して、それぞれ赤、青、緑、黄の各色を対応づける。
The
描画リクエストを受信したVNCサーバ1は、各文字コードに対応した文字フォントや手書きの描画線を指定された色で表示させるとともに、更新された画面データをクライアント3〜6およびVNCクライアント1へ送信する(ステップ503、504、505)。すなわち、クライアント3の個別画面表示ウィンドウ内で追加されたテキストや手書き描画データは共有画面に赤で表示され、クライアント4の個別画面表示ウィンドウ内で追加されたテキストや手書き描画データは共有画面に青で表示される。
Upon receiving the drawing request, the
なお、上記した各実施例では、クライアント3で編集操作される場合について説明したが、クライアント4〜6で編集操作される場合も同様である。
In each of the above-described embodiments, the case where the editing operation is performed by the
また、上記した各実施例では、サーバ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
(端末間データ通信型の電子会議システム)
以下の実施例は、端末同士がデータ通信システムを構成する場合の電子会議システムである。すなわち、本発明の電子会議システムでは、ディスプレイを持つ複数の端末がネットワークに接続され、全ての端末で共有化された文書と各端末毎に個別に所有する文書を閲覧、編集しながら会議を行う。
(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
図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
次に、端末1000〜1040の間で、データの送受信を行いながら電子会議を実行する方法について説明する。この電子会議を実行するための通信プロトコルとして、例えばITU−T勧告T.120シリーズを使用する。このプロトコル構成を図19に示す。
Next, a method for executing an electronic conference while transmitting and receiving data between the
会議アプリケーション1200は、アプリケーション共有機能、ホワイトボード機能、ファイル転送機能等を実行するための各アプリケーションの集合である。ASCE(Application Sharing Conference Entity)1210は会議に参加した全ての端末でアプリケーションを共有するためのエンティティであり、ITU−T勧告T.128に準拠した動作を実行する。SICE(Still Image Conferencing Entity)1220はビットマップデータや手書きの描画データ等を送受信するためのエンティティであり、ITU−T勧告T.126に準拠した動作を実行する。なお、SICE1220は主にホワイトボード機能で使用される。
The
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
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
MCS1260、GCC1250、ノードコントローラ1240の通信動作について説明する。
Communication operations of the
MCS1260はMCSプロバイダと呼ばれ、また、端末1000〜1040から成る無線ネットワークをMCSプロバイダ間のネットワークとして見たものはMCSドメインと呼ばれる。図17のネットワーク構成において、端末1000を議長端末とした場合、MCSドメインは、図20に示すような階層構造を持つ。議長である端末1000のMCSプロバイダはトップMCSプロバイダであり、他の端末のMCSプロバイダよりも上位に位置する。各端末はMCSコネクションの確立後、MCSドメインにアタッチする。このアタッチにより、各端末はMCSドメイン内での端末識別子であるMCSユーザIDを取得する。
The
次いで、各端末は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
GCC1250はGCCプロバイダと呼ばれ、また、トップMCSプロバイダである端末のGCCプロバイダはトップGCCプロバイダと呼ばれる。各GCCプロバイダは会議に参加すると、アプリケーション共有機能、ホワイトボード機能、ファイル転送機能等の会議用アプリケーションのリストやMCSドメイン内での端末識別子であるMCSユーザID等の端末情報(会議ノードリスト)を他の全てのGCCプロバイダへ送信する。なお、この同報送信は全ての端末が加入しているMCSチャネルに対してデータを送信することで実現される。
The
これらの端末情報は各端末で受信され、ノードコントローラ1240で管理される。また、GCCは議長権の割り当て等の制御も行い、会議開始時にはトップGCCプロバイダが議長権を持っている。ノードコントローラ1240はユーザからの要求に従ってGCC1250へ各種のプリミティブを発行したり、自端末および他の全ての端末のアプリケーションリストや会議ノードリスト等を管理する。
Such terminal information is received by each terminal and managed by the
次に、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
端末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
端末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
このように、端末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
次に、各端末において共有ウィンドウと個別ウィンドウをそれぞれ管理するアプリケーションについて説明する。共有ウィンドウを管理するアプリケーション(以下、共有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
(実施例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
今、全ての端末の各ウィンドウに表示するファイルがそれぞれオープンされ、端末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
図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
以下、図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
端末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
ここで、ユーザにより文章終端記号が入力されると、端末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) (
端末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
端末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
端末1000及び端末1020〜端末1040のBFTE1230は端末1010のBFTE1230からイベントデータを受信すると、これらのイベントデータを個別Winアプリへ渡し(矢印p)、個別Winアプリはイベントデータに従った処理を実行し、各端末のXサーバへ描画リクエストを出す(矢印q)。端末1000及び端末1020〜端末1040のXサーバは個別ウィンドウの表示データを更新する。
When the terminal 1000 and the
従って、端末1000〜端末1040の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる。
Therefore, all the document data displayed in the shared window and the individual windows of the
このように、実施例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
(実施例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
すなわち、端末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
なお、ユーザが複数行分の文字(テキスト)を入力した場合、すなわち端末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
今、個別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
端末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
端末1000のASCE1210は受信したイベントデータを共有Winアプリへ渡し(矢印h)、共有Winアプリはこれらのイベントデータ(座標データ)から座標間を線で描画するリクエストを端末1000のXサーバへ出す(矢印i)とともに、ASCE1210へ端末1010〜端末1040の共有ウィンドウに対する描画の更新要求を出す(矢印j)。
The
端末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
端末1010のASCE1210は受信したビットマップデータを共有Winアプリへ渡し(矢印m)、共有Winアプリは端末1010のXサーバへこのビットマップデータの描画リクエストを出す(矢印n)。そして、端末1010のXサーバは共有ウィンドウの表示データを更新する。端末1020〜端末1040のASCE1210も同様に、受信したビットマップデータを共有Winアプリへ渡し、共有Winアプリは各端末のXサーバへこのビットマップデータの描画リクエストを出し、各端末のXサーバは共有ウィンドウの表示データを更新する。
The
端末1000及び端末1020〜端末1040のBFTE1230は端末1010のBFTE1230からイベントデータを受信すると、これらのイベントデータを個別Winアプリへ渡し(矢印p)、個別Winアプリはこれらのイベントデータ(座標データ)から座標間を線で描画するリクエストをXサーバへ出す(矢印q)。端末1000及び端末1020〜端末1040のXサーバは個別ウィンドウの表示データを更新する。
When the terminal 1000 and the
上記したようにして、端末1000〜端末1040の共有ウィンドウと個別ウィンドウに表示された文書データが全て同じ内容となる。
As described above, the document data displayed in the shared window and the individual windows of the
このように、端末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
(実施例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
図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
この座標配列中のデータから、ウィンドウ間のコピーコマンドを検出すると(ステップ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
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
(実施例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
図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
編集同期ボタンは、個別ウィンドウに表示された文書に対して実行されたのと同じ編集処理を、共有ウィンドウに表示された文書に対して実行させるためのボタンである。 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 (
ここで、ユーザにより編集同期ボタンが選択されると、ウィンドウ以外の画面領域を管理するデスクトップアプリ(図示は省略)は個別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
上記した実施例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
なお、上記した実施例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
1 サーバ
2 大型ディスプレイ装置
3〜6 クライアント
7〜10 電子ペン
1
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.
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)
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 |
-
2007
- 2007-08-10 JP JP2007210236A patent/JP4127566B2/en not_active Expired - Fee Related
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 |