(57)【要約】【課題】狭帯域通信においてもリアルタイム通信を実現する通信システムを提供する。【解決手段】通信システムを構築するための方法は、第１ＰＣがマッチングサーバにアクセスするステップ（Ｓ２１０）と、マッチングサーバが接続用のルームを作成するステップ（Ｓ２２０）と、第１ＰＣがＩＰアドレスをルームに登録するステップ（Ｓ２３０）と、第２ＰＣがＩＰアドレスをルームに登録するステップ（Ｓ２４０）と、第２ＰＣが第１ＰＣのＩＰアドレスを取得するステップ（Ｓ２５０）と、端末がＩＰアドレスをマッチングサーバに登録するステップ（Ｓ２６０）と、端末が、当該端末のＩＰアドレスと同一圏内にある他の端末またはＰＣのＩＰアドレスを取得して、他の端末とＰ２Ｐ接続を行なうステップ（Ｓ２７０）とを含む。【選択図】図２
2013201622.tif 000002
【特許請求の範囲】
【請求項１】
通信システムであって、第１の通信装置と、第２の通信装置と、第３の通信装置と、複数の情報処理端末とを備え、
前記第１の通信装置は、
前記第３の通信装置に、前記第１の通信装置のネットワークアドレスを送信するための送信手段と、
各前記情報処理端末と通信するための第１の通信手段と、
前記第２の通信装置と通信するための第２の通信手段とを備え、
前記第２の通信装置は、
前記第３の通信装置に、前記第２の通信装置のネットワークアドレスを送信するための送信手段と、
各前記情報処理端末と通信するための第１の通信手段とを備え、
前記第３の通信装置は、
前記第１の通信装置と前記第２の通信装置と各前記情報処理端末と通信するための通信手段と、
メモリと、
前記メモリに結合されるプロセッサとを備え、前記プロセッサは、前記第１の通信装置のネットワークアドレスと、前記第２の通信装置のネットワークアドレスとを前記メモリに登録するように構成されており、
前記複数の情報処理端末の各々は、
前記第３の通信装置に、当該情報処理端末のネットワークアドレスを送信するための送信手段と、
前記第３の通信装置から、当該情報処理端末のネットワークアドレスのドメインと同一のドメインにある前記第１の通信装置または前記第２の通信装置のいずれかの通信装置および他の情報処理端末のネットワークアドレスを受信するための受信手段と、
前記同一のドメインにある前記第１の通信装置または前記第２の通信装置のいずれかの通信装置および他の情報処理端末と通信するための通信手段とを備え、
前記第２の通信装置は、
前記第３の通信装置から、前記第１の通信装置のネットワークアドレスを受信するための受信手段と、
前記第１の通信装置のネットワークアドレスを用いて、前記第１の通信装置と通信するための第２の通信手段とをさらに備える、通信システム。
【請求項２】
前記第３の通信装置の前記プロセッサは、
前記第１の通信装置および前記第２の通信装置のいずれかのうち前記第３の通信装置に対して最初にネットワークアドレスを送信した通信装置のネットワークアドレスを前記メモリに格納し、
次にネットワークアドレスを送信した通信装置に対して、前記最初にネットワークアドレスを送信した通信装置の当該ネットワークアドレスを送信するように構成されている、請求項１に記載の通信システム。
【請求項３】
前記第１の通信装置から前記第３の通信装置に送信されるネットワークアドレスは、前記第１の通信装置のグローバルアドレスおよびローカルアドレスを含み、
前記第２の通信装置から前記第３の通信装置に送信されるネットワークアドレスは、前記第２の通信装置のグローバルアドレスおよびローカルアドレスを含み、
前記第３の通信装置の前記通信手段は、前記第１の通信装置の前記グローバルアドレスを前記第２の通信装置に送信し、かつ、前記第２の通信装置の前記グローバルアドレスを前記第１の通信装置に送信し、
前記第３の通信装置の前記通信手段は、前記第１の通信装置の前記ローカルアドレスを、前記第１の通信装置のネットワークアドレスのドメインと同一のドメインに存在する情報処理端末に送信し、かつ、前記同一のドメインに存在する情報処理端末の前記ローカルアドレスを、前記第１の通信装置に送信する、請求項１または２に記載の通信システム。
【請求項４】
前記同一のドメインにある前記第１の通信装置または前記第２の通信装置のいずれかの通信装置と、各前記情報処理端末との通信に用いられる帯域幅は、前記第１の通信装置と前記第２の通信装置との通信に用いられる帯域幅以上である、請求項１〜３のいずれかに記載の通信システム。
【請求項５】
第１の通信装置と、第２の通信装置と、第３の通信装置と、前記第１の通信装置と通信可能な少なくとも１つ以上の情報処理端末との間で通信ネットワークを構築するための方法であって、
前記第１の通信装置が、前記第３の通信装置に、前記第１の通信装置のネットワークアドレスを登録するステップと、
前記第２の通信装置が、前記第３の通信装置に、前記第２の通信装置のネットワークアドレスを登録するステップと、
前記第２の通信装置が、前記第３の通信装置から、前記第１の通信装置のネットワークアドレスを取得するステップと、
前記第１の通信装置と前記第２の通信装置とが、前記第１の通信装置のネットワークアドレスおよび前記第２の通信装置のネットワークアドレスに基づいて通信を確立するステップと、
前記少なくとも１つ以上の情報処理端末が、前記第３の通信装置に、前記少なくとも１つ以上の情報処理端末のネットワークアドレスを登録するステップと、
前記少なくとも１つ以上の情報処理端末が、前記第３の通信装置から、前記少なくとも１つ以上の情報処理端末のネットワークアドレスのドメインと同一のドメインにある通信装置および他の情報処理端末のアドレスを取得するステップと、
前記少なくとも１つ以上の情報処理端末と、前記同一のドメインにある通信装置とが接続するステップとを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信の制御に関し、より特定的には、狭帯域環境における通信の制御に関する。
【背景技術】
【０００２】
通信ネットワークにおいて、サーバ／クライアントシステムのような中央制御による通信、あるいは、ピアツーピア（以下、Ｐ２Ｐ（Peer  to  Peer）とも表わす）通信のような各通信装置をマトリクス状に接続することによる通信が用いられている。
【０００３】
たとえば、特開２０１０−１１９０１８号公報（特許文献１）は、「ネットワーク接続技術に関し、特に通信方式の異なるネットワーク間を相互接続する技術」に関する発明を開示している（段落［０００１］）。
【０００４】
また、ピアツーピア通信に関し、たとえば、特表２００９−５２８７５７号公報（特許文献２）は、「データ通信ネットワーク上のピアツーピア通信を、内部アドレス空間内の内部クライアント・マシンと外部クライアント・マシンの間で検出するための方法及び装置」を開示している（［要約］の［課題］参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１１９０１８号公報
【特許文献２】特表２００９−５２８７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
通信システムが用いられる国や地域によっては、通信環境が狭帯域であり、大容量の伝送を要するマトリックスＰ２Ｐ通信やサーバ／クライアントシステムではリアルタイム通信を行うことは困難な場合がある。したがって、リアルタイム通信をスムーズに実現するための技術が求められている。
【０００７】
本発明は、上述のような問題点を解決するためになされたものであって、その目的は、リアルタイム通信の障害が抑制される通信システムを提供することである。他の局面の目的は、リアルタイム通信の障害が抑制されるように通信ネットワークを構築するための方法を提供することである。
【課題を解決するための手段】
【０００８】
一実施の形態に従う通信システムは、第１の通信装置と、第２の通信装置と、第３の通信装置と、複数の情報処理端末とを備える。第１の通信装置は、第３の通信装置に、第１の通信装置のネットワークアドレスを送信するための送信手段と、各情報処理端末と通信するための第１の通信手段と、第２の通信装置と通信するための第２の通信手段とを備える。第２の通信装置は、第３の通信装置に、第２の通信装置のネットワークアドレスを送信するための送信手段と、各情報処理端末と通信するための第１の通信手段とを備える。  
【０００９】
第３の通信装置は、第１の通信装置と第２の通信装置と各情報処理端末と通信するための通信手段と、メモリと、メモリに結合されるプロセッサとを備える。プロセッサは、第１の通信装置のネットワークアドレスと、第２の通信装置のネットワークアドレスとをメモリに登録するように構成されている。複数の情報処理端末の各々は、第３の通信装置に、当該情報処理端末のネットワークアドレスを送信するための送信手段と、第３の通信装置から、当該情報処理端末のネットワークアドレスのドメインと同一のドメインにある第１の通信装置または第２の通信装置のいずれかの通信装置および他の情報処理端末のネットワークアドレスを受信するための受信手段と、同一のドメインにある第１の通信装置または第２の通信装置のいずれかの通信装置および他の情報処理端末と通信するための通信手段とを備える。第２の通信装置は、第３の通信装置から、第１の通信装置のネットワークアドレスを受信するための受信手段と、第１の通信装置のネットワークアドレスを用いて、第１の通信装置と通信するための第２の通信手段とをさらに備える。
【００１０】
好ましくは、第３の通信装置のプロセッサは、第１の通信装置および第２の通信装置のいずれかのうち第３の通信装置に対して最初にネットワークアドレスを送信した通信装置のネットワークアドレスをメモリに格納し、次にネットワークアドレスを送信した通信装置に対して、最初にネットワークアドレスを送信した通信装置の当該ネットワークアドレスを送信するように構成されている。
【００１１】
好ましくは、第１の通信装置から第３の通信装置に送信されるネットワークアドレスは、第１の通信装置のグローバルアドレスおよびローカルアドレスを含む。第２の通信装置から第３の通信装置に送信されるネットワークアドレスは、第２の通信装置のグローバルアドレスおよびローカルアドレスを含む。第３の通信装置の通信手段は、第１の通信装置のグローバルアドレスを第２の通信装置に送信し、かつ、第２の通信装置のグローバルアドレスを第１の通信装置に送信する。第３の通信装置の通信手段は、第１の通信装置のローカルアドレスを、第１の通信装置のネットワークアドレスのドメインと同一のドメインに存在する情報処理端末に送信し、かつ、同一のドメインに存在する情報処理端末のローカルアドレスを、第１の通信装置に送信する。
【００１２】
好ましくは、同一のドメインにある第１の通信装置または第２の通信装置のいずれかの通信装置と、各情報処理端末との通信に用いられる帯域幅は、第１の通信装置と第２の通信装置との通信に用いられる帯域幅以上である。
【００１３】
他の実施の形態に従うと、第１の通信装置と、第２の通信装置と、第３の通信装置と、第１の通信装置と通信可能な少なくとも１つ以上の情報処理端末との間でネットワークを構築するための方法が提供される。この方法は、第１の通信装置が、第３の通信装置に、第１の通信装置のネットワークアドレスを登録するステップと、第２の通信装置が、第３の通信装置に、第２の通信装置のネットワークアドレスを登録するステップと、第２の通信装置が、第３の通信装置から、第１の通信装置のネットワークアドレスを取得するステップと、第１の通信装置と第２の通信装置とが、第１の通信装置のネットワークアドレスおよび第２の通信装置のネットワークアドレスに基づいて通信を確立するステップと、少なくとも１つ以上の情報処理端末が、第３の通信装置に、少なくとも１つ以上の情報処理端末のネットワークアドレスを登録するステップと、少なくとも１つ以上の情報処理端末が、第３の通信装置から、少なくとも１つ以上の情報処理端末のネットワークアドレスのドメインと同一のドメインにある通信装置および他の情報処理端末のアドレスを取得するステップと、少なくとも１つ以上の情報処理端末と、同一のドメインにある通信装置とが接続するステップとを含む。
【００１４】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１５】
【図１】通信システム１０の概略構成を表わす図である。
【図２】通信システム１０を構築するために行なわれる処理の一部を表わすフローチャートである。
【図３】第１ＰＣ（Personal  Computer）３０１または第２ＰＣ３０２として機能するコンピュータシステムのハードウェア構成を表わすブロック図である。
【図４】マッチングサーバ４００のハードウェア構成を表わすブロック図である。
【図５】端末５００のハードウェア構成を表わすブロック図である。
【図６】電子黒板６０１，６０２のハードウェア構成を表わすブロック図である。
【図７】コンピュータシステム３００によって実現される機能の構成を表わすブロック図である。
【図８】マッチングサーバ４００によって実現される機能の構成を表わすブロック図である。
【図９】端末５００によって実現される機能の構成を表わすブロック図である。
【図１０】第１ＰＣ３０１と第２ＰＣ３０２とマッチングサーバ４００との間で行なわれる処理を表わすシーケンスチャートである。
【図１１】第１ＰＣ３０１とマッチングサーバ４００と端末５０１との間で行なわれる処理を表わすシーケンスチャートである。
【図１２】端末５０１，５０２，５０７，５０６と第１ＰＣ３０１と第２ＰＣ３０２との間で行なわれる処理を表わすシーケンスチャートである。
【図１３】端末５０１，５０２，５０６，５０７と第１ＰＣ３０１と第２ＰＣ３０２とにおいて表示される画面の推移を表わす図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１７】
［技術思想］
まず、本実施の形態における技術思想について説明する。ある局面において、遠隔の二つの場所にそれぞれ教室（クラスＡとクラスＢ）がある。各教室のＰＣ（ＰＣ−Ａと、ＰＣ−Ｂ）とは、狭帯域のインターネット回線で接続されている。それぞれの教室には電子黒板が設置されている。ＰＣの内容は、この電子黒板に映し出される。また、それぞれの教室には、各生徒にタブレット端末が支給されている。
【００１８】
クラスＢにあるコンピュータ（ＰＣ−Ｂ）は、起動されると、マッチングサーバにアクセスする。マッチングサーバは、本実施の形態に係る通信システムの構築を支援する。
【００１９】
最初にアクセスしたコンピュータ（ＰＣ−Ｂ）は、マッチングサーバに、コンピュータ（ＰＣ−Ａ）やタブレット端末との接続用のルーム（通信システムの設定のためのデータが格納されるメモリ領域）の作成を要求する。当該ルームが作成されると、コンピュータ（ＰＣ−Ｂ）は、そのネットワークアドレス（たとえば、グローバルのＩＰアドレスと、ローカルのアドレス）とをマッチングサーバに送信し、当該ルームへの登録を要求する。
【００２０】
２番目以降にマッチングサーバにアクセスするコンピュータ（ＰＣ−Ａ）は、当該ルームを参照する。当該ルームに登録されているコンピュータ（ＰＣ−Ｂ）がコンピュータ（ＰＣ−Ａ）の通信対象である場合には、コンピュータ（ＰＣ−Ａ）は、自身のネットワークアドレス（たとえば、グローバルのＩＰアドレスと、ローカルのアドレス）をマッチングサーバに送信し、当該ルームへの登録を要求する。さらに、コンピュータ（ＰＣ−Ａ）は、当該ルームから、コンピュータ（ＰＣ−Ｂ）のグローバルのＩＰアドレスを取得する。その後、コンピュータ（ＰＣ−Ａ）とコンピュータ（ＰＣ−Ｂ）とは、互いに通信を確立する。通信回線は、狭帯域のインターネット回線でもよく、広帯域のインターネット回線でもよい。
【００２１】
一方、各クラスのタブレット端末は、構内ＬＡＮ（多くの場合Ｗ−ＬＡＮ（Wireless  Local  Area  Network））を通して相互に接続されている。タブレット端末は、起動すると、マッチングサーバにアクセスし、ルームを参照し、当該タブレット端末自身のＩＰアドレス（ローカルアドレス）の登録をマッチングサーバに要求する。タブレット端末は、自分のＩＰアドレスと同一圏内（ドメイン内）にある他のタブレット端末および通信装置（たとえば、ＰＣ−ＡおよびＰＣ−Ｂのいずれか）があれば、該当するタブレット端末および通信装置のＩＰアドレス（ローカルアドレス）を取得し、当該ＩＰアドレスを用いてＰ２Ｐ接続を行う。
【００２２】
各タブレット端末と各ＰＣがこのような手続きを繰り返すことにより、同一圏内にあるタブレット端末および通信装置は、Ｐ２Ｐ接続で通信を行ない、また、圏外の通信は、インターネット回線１９０を介したＰＣ−ＡとＰＣ−Ｂとの間のＰ２Ｐ接続となる。このような構成により、サブシステム内で用いられる帯域幅と、サブシステム間で用いられる帯域幅とが異なる場合であっても、伝送されるデータ量による通信の障害が抑制され、リアルタイムの通信が実現される。
【００２３】
［システム構成］
図１を参照して、本実施の形態に係る通信システム１０の構成について説明する。図１は、通信システム１０の概略構成を表わす図である。ある局面において、通信システム１０は、遠隔地にある複数の教室における学校教育、あるいは、複数の会議室にまたがる会議を行なうために適用されるが、本実施の形態に係る技術思想の適用は、これらに限られない。
【００２４】
通信システム１０は、サブシステム１００，１１０と、マッチングサーバ４００とを備える。サブシステム１００は、第１ＰＣ（Personal  Computer）３０１と、端末５０１，５０２，５０３，５０４，５０５と、電子黒板６０１とを含む。サブシステム１１０は、第２ＰＣ３０２と、端末５０６，５０７，５０８と、電子黒板６０２とを含む。
【００２５】
各端末は、総称するときは、端末５００と表わす。電子黒板６０１，６０２は、総称するときは、電子黒板６００と表わす。
【００２６】
サブシステム１００は、たとえば、ある場所（たとえば第１の都市）に設けられた教室に相当する。サブシステム１１０は、当該教室から遠隔地（たとえば第２の都市）にある別の教室に相当する。
【００２７】
第１ＰＣ３０１と第２ＰＣ３０２とは、インターネット回線１９０によって互いに通信可能に接続されている。インターネット回線１９０は、たとえば、狭帯域の通信回線であるが、他の局面において広帯域の通信回線が用いられてもよい。
【００２８】
マッチングサーバ４００とサブシステム１００，１１０とは、互いに狭帯域のネットワークによって接続されている。具体的には、マッチングサーバ４００は、端末５００と、第１ＰＣ３０１と第２ＰＣ３０２とそれぞれ通信可能である。サブシステム１００，１１０は、たとえば、一つの教室、会議室等を構成する。
【００２９】
端末５００は、互いに他の端末とＰ２Ｐ（Peer  to  Peer）方式によって接続することによって通信することができる。Ｐ２Ｐ方式の態様は特に限られない。
【００３０】
第１ＰＣ３０１と第２ＰＣ３０２とマッチングサーバ４００とは、周知の構成を有するコンピュータシステムによって構成される。端末５００は、たとえば、タブレット型コンピュータ、スマートフォン、ラップトップ型コンピュータその他の通信機能を有する情報処理装置である。
【００３１】
［システムの設定］
図２を参照して、本実施の形態に係る通信システム１０の構築について説明する。図２は、通信システム１０を構築するために行なわれる処理の一部を表わすフローチャートである。
【００３２】
ステップＳ２１０にて、第１ＰＣ３０１は、マッチングサーバ４００にアクセスする。
ステップＳ２２０にて、マッチングサーバ４００は、第１ＰＣ３０１によるアクセスに基づいて、接続用のルームを作成する。本実施の形態において、「ルーム」とは、通信システム１０に参加する通信装置、すなわち、第１ＰＣ３０１、第２ＰＣ３０２、端末５０１，５０２，５０３，５０４，５０５，５０６，５０７の各ＩＰアドレスを一元的に管理するためのメモリ領域をいう。具体的には、マッチングサーバ４００は、記憶装置の一部の記憶領域に当該ルームのためのメモリ領域を確保する。マッチングサーバ４００は、通信システム１０の構築のためにアクセスしてくる通信装置のＩＰアドレスを順次格納する。
【００３３】
ステップＳ２３０にて、第１ＰＣ３０１は、第１ＰＣ３０１自身のＩＰ（Internet  Protocol）アドレスを作成したルームに登録する。たとえば、第１ＰＣ３０１は、当該ＩＰアドレスをルームに登録するリクエストをマッチングサーバ４００に送信する。マッチングサーバ４００は、そのリクエストを受け付けると、第１ＰＣ３０１の識別番号と、第１ＰＣ３０１のＩＰアドレスとを、当該ルームに格納する。
【００３４】
ステップＳ２４０にて、第２ＰＣ３０２がマッチングサーバ４００にアクセスし、第２ＰＣ３０２のＩＰアドレスをマッチングサーバ４００において作成されたルームに登録する。たとえば、第２ＰＣ３０２は、マッチングサーバ４００においてルームが作成されていることを検知すると、当該ルームに登録されている第１ＰＣ３０１を認証する。第１ＰＣ３０１が第２ＰＣ３０２の通信相手であることを第２ＰＣ３０２が確認すると、第２ＰＣ３０２は、第２ＰＣ３０２のＩＰアドレスを登録するリクエストを、マッチングサーバ４００に対して送信する。マッチングサーバ４００は、第２ＰＣ３０２からのリクエストを受信すると、第２ＰＣ３０２の識別番号と、第２ＰＣ３０２のＩＰアドレスとを当該ルームに格納する。マッチングサーバ４００は、第２ＰＣ３０２のＩＰアドレスの登録が完了すると、完了を通知するメッセージを第２ＰＣ３０２に送信する。これにより、第１ＰＣ３０１と第２ＰＣ３０２とは、当該ルームに格納されているデータ、すなわち、第１ＰＣ３０１のＩＰアドレスおよび第２ＰＣ３０２を取得することができる。
【００３５】
ステップＳ２５０にて、第２ＰＣ３０２は、当該完了を通知するメッセージをマッチングサーバ４００から受信すると、第１ＰＣ３０１のＩＰアドレスをマッチングサーバ４００から取得する。
【００３６】
ステップＳ２５５にて、第２ＰＣ３０２と第１ＰＣ３０１とは、Ｐ２Ｐ接続する。
ステップＳ２６０にて、各端末は、各ＩＰアドレスを、マッチングサーバ４００に登録する。詳細には、第１ＰＣ３０１にＬＡＮ（Local  Area  Network）接続可能な端末５０１，５０２，５０３，５０４，５０５は、マッチングサーバ４００にアクセスして、当該ルームがマッチングサーバ４００において作成されているか否かを確認する。端末５０１，５０２，５０３，５０４，５０５は、ルームが作成されていることを検知すると、各ＩＰアドレスと、当該ＩＰアドレスを登録するリクエストを、マッチングサーバ４００に対して送信する。マッチングサーバ４００は、当該リクエストを受信すると、当該リクエストを送信した端末の識別番号とＩＰアドレスとを、不揮発記憶領域に格納する。各ＰＣと各端末がルームに登録されると、マッチングサーバ４００は、ルームに登録されている全ての端末およびＰＣに対して、ルームに登録されている各端末および各ＰＣのＩＰアドレスを送信する。一方、第２ＰＣ３０２に接続可能な端末５０６，５０７，５０８は、マッチングサーバ４００にアクセスして、各端末のＩＰアドレスをルームに登録することをマッチングサーバ４００に要求する。マッチングサーバ４００は、その要求に応答して、各端末のＩＰアドレスを当該ルームに格納する。
【００３７】
ステップＳ２６５にて、各端末は、他の装置のＩＰアドレスを取得する。
ステップＳ２７０にて、各端末は、端末自身のＩＰアドレスのドメインと同一圏内に他の通信装置（すなわち他の端末またはＰＣ）があるか否かを判断する。そのような通信装置が同一圏内に存在すれば、当該端末は、他の端末とＰ２Ｐ接続を行なう。たとえば、端末５０１は、端末５０２，５０３，５０４，５０５と第１ＰＣ３０１とが同一圏内にあると判断し、Ｐ２Ｐ接続を行なう。一方、端末５０６は、端末５０７，５０８と第２ＰＣ３０２とが同一圏内にあると判断し、Ｐ２Ｐ接続を行なう。
【００３８】
［ハードウェア構成］
図３を参照して、本実施の形態に係るＰＣの構成について説明する。図３は、第１ＰＣ３０１または第２ＰＣ３０２として機能するコンピュータシステム３００のハードウェア構成を表わすブロック図である。
【００３９】
コンピュータシステム３００は、ＣＰＵ（Central  Processing  Unit）３１０と、ユーザ操作インターフェイス３２０と、ネットワーク通信インターフェイス３３０と、通信インターフェイス３４０と、メモリ３５０と、ハードディスク３６０と、外部記憶インターフェイス３７０と、ディスプレイ３８０とを備える。
【００４０】
ＣＰＵ３１０は、特定の処理を実現するために予め規定された命令を実行する。詳しくは、ＣＰＵ３１０は、コンピュータシステム３００に与えられる信号に基づいて、ハードディスク３１０もしくはメモリ３５０に格納されているデータに基づいて、または、コンピュータシステム３００において予め規定された条件が成立したことに基づいて、命令を実行する。
【００４１】
ユーザ操作インターフェイス３２０は、コンピュータシステム３００に対する命令の入力を受け付ける。ユーザ操作インターフェイス３２０は、たとえば、マウス、キーボードその他のポインティングデバイス、タッチパネルなどを含む。
【００４２】
ネットワーク通信インターフェイス３３０は、インターネット回線１９０に接続されて、他のＰＣとの間の通信（たとえば、Ｐ２Ｐ通信、ブロードバンド通信等）を実現する。
【００４３】
通信インターフェイス３４０は、マッチングサーバ４００または端末５００との通信を実現する。通信インターフェイス３４０は、たとえば、Ethernet（登録商標）規格に従う通信を用いて実現される。通信の形式は、有線ＬＡＮ（Local  Area  Network）および無線ＬＡＮのいずれであってもよい。
【００４４】
メモリ３５０は、通信システム１０においてコンピュータシステム３００が作動する場合に用いられるデータを保持する。たとえば、メモリ３５０は、描画メモリと、ストロークデータと、ユーザＩＤ（Identification）と、ページＩＤと、ルームＩＤとを格納している。
【００４５】
メモリ３５０は、描画メモリとして、電子黒板６０１，６０２において描かれた文字、線図その他の図形データを保持する。ストロークデータは、電子黒板６０１において描かれた線図を表わすデータ（たとえば各点の座標値）である。ユーザＩＤは、通信システム１０を構成する通信装置の識別番号であり、たとえば、コンピュータシステム３００に接続されている端末５００の各識別番号を含む。ページＩＤは、電子黒板において示されているページの番号である。ルームＩＤは、マッチングサーバ４００において生成されたルームの識別番号である。
【００４６】
ハードディスク３６０は、通信システム１０において遠隔通信を実現するために登録されたデータを不揮発的に保持している。ハードディスク３６０は、ルーム情報管理領域３６１と、ストローク情報管理領域３６２と、レンダリング情報管理領域３６３とを含む。ルーム情報管理領域３６１は、ルームＩＤと、第１ＩＰアドレスと、第２ＩＰアドレスなどを格納している。ストローク情報管理領域３６２は、ユーザＩＤと、ページＩＤと、ストロークＩＤと、ストロークデータとを格納している。レンダリング情報管理領域３６３は、ページＩＤと、ユーザＩＤと、描画データとを格納している。
【００４７】
ルーム情報管理領域３６１において、ルームＩＤは、マッチングサーバ４００において生成されたルームの識別番号である。第１ＩＰアドレスは、たとえば、第１ＰＣ３０１のＩＰアドレスに相当する。第２ＩＰアドレスは、第２ＰＣ３０２のＩＰアドレスに相当する。ルーム情報管理領域３６１に格納されるデータは上述のものに限られず、さらに他のＰＣ（図示しない）のＩＰアドレスまたはさらに他のルームＩＤが格納されてもよい。
【００４８】
図３に示されるコンピュータシステム３００は、周知の構成を有するコンピュータとして実現される。したがって、さらに詳細な説明は繰り返さない。
【００４９】
［マッチングサーバの構成］
図４を参照して、本実施の形態に係るマッチングサーバ４００の構成について説明する。図４は、マッチングサーバ４００のハードウェア構成を表わすブロック図である。
【００５０】
マッチングサーバ４００は、ＣＰＵ４１０と、ユーザ操作インターフェイス４２０と、通信インターフェイス４４０と、メモリ４５０と、ハードディスク４６０と、外部記憶インターフェイス４７０と、ディスプレイ４８０とを備える。
【００５１】
ＣＰＵ４１０は、マッチングサーバ４００に対して与えられる命令に基づいて、予め規定された処理を実行する。この処理は、たとえば、メモリ４５０においてルームを生成するための処理を含む。
【００５２】
ユーザ操作インターフェイス４２０は、マッチングサーバ４００のユーザによる命令の入力を受け付ける。ユーザ操作インターフェイス４２０は、たとえば、マウス、キーボードその他のポインティングデバイス、またはタッチパネルなどの操作装置を含む。
【００５３】
通信インターフェイス４４０は、サブシステム１００，１１０との通信を実現する。具体的には、通信インターフェイス４４０は、第１ＰＣ３０１、第２ＰＣ３０２、端末５００の各々と通信する。
【００５４】
メモリ４５０は、通信システム１０が実際に稼働している場合に生成されるルーム情報および通信システム１０を構成するノードのＩＰアドレスを格納している。
【００５５】
ハードディスク４６０は、ルーム情報管理領域４６１と、デバイス情報管理領域４６２とを含む。ルーム情報管理領域４６１は、ルームＩＤと、ルーム名とを保持している。デバイス情報管理領域４６２は、ルームＩＤと、第１ＩＰアドレスと、第２ＩＰアドレスとを含む。ルーム情報管理領域４６１は、通信システム１０を実現するために生成されたルームの名前および識別番号を格納している。他の局面において、複数のルームが生成された場合には、ルーム情報管理領域４６１は、ルーム毎に識別番号と名前とを保持する。
【００５６】
デバイス情報管理領域４６２は、各ルームについて、当該ルームに登録されている通信装置の情報を保持する。複数のルームが作成された場合には、デバイス情報管理領域４６２は、ルーム毎に、当該ルームに登録されている装置のＩＰアドレスを保持する。
【００５７】
図４に示されるマッチングサーバ４００は、周知のハードウェア構成を有するコンピュータシステムによって実現される。したがって、ハードウェア構成のさらに詳細な説明は、繰り返さない。
【００５８】
［端末の構成］
図５を参照して、本実施の形態に係る端末５００の構成について説明する。図５は、端末５００のハードウェア構成を表わすブロック図である。端末５００は、ＣＰＵ５１０と、ユーザ操作インターフェイス５２０と、バイブレータ５３０と、通信インターフェイス５４０と、フラッシュメモリ５５０と、ＬＥＤ（Light  Emitting  Diode）５６０と、外部記憶インターフェイス５７０と、ディスプレイ５８０と、クロック５９０とを備える。フラッシュメモリ５５０は、ワークメモリ領域などを含む。
【００５９】
ある局面において、端末５００は、たとえばタブレット型の通信端末として構成される。
【００６０】
ＣＰＵ５１０は、端末５００に対する命令の入力に基づいて、予め規定された動作を端末５００に実行させる。
【００６１】
ユーザ操作インターフェイス５２０は、端末５００に対する命令の入力を受け付ける。ユーザ操作インターフェイス５２０は、たとえば、ハードキー、タッチパネルなどを含む。
【００６２】
バイブレータ５３０は、ＣＰＵ５１０から送られる信号に基づいて予め設定されたパターンに従って端末５００を振動させる。
【００６３】
通信インターフェイス５４０は、他の端末５００、マッチングサーバ４００、第１ＰＣ３０１または第２ＰＣ３０２との通信を実現する。通信インターフェイス５４０は、たとえば、ＬＡＮ通信のためのカード、またはＰ２Ｐ通信のためのデバイスを含む。
【００６４】
フラッシュメモリ５５０は、ユーザ操作インターフェイス５２０を用いて端末５００に入力された描画データまたは端末５００において生成されたデータを不揮発的に格納する。描画データは、ストロークデータ、コマンド、ページ番号などを含む。フラッシュメモリ５５０は、さらに、端末５００のユーザＩＤも保持している。
【００６５】
ＬＥＤ５６０は、ＣＰＵ５１０から送られる信号に基づいて、予め設定された色およびパターンで点灯または点滅する。
【００６６】
外部記憶インターフェイス５７０は、端末５００の外部の記憶装置との通信を実現する。外部記憶インターフェイス５７０は、たとえば、着脱可能なデータ記録媒体にデータを格納し又はデータを読み出すための駆動装置、他の装置と通信するための通信インターフェイスなどを含む。
【００６７】
ディスプレイ５８０は、ＣＰＵ５１０から出力されるデータおよび命令に基づいて画像を表示する。ディスプレイ５８０は、たとえば、液晶パネル、有機ＥＬ（Electro  Luminescence)パネルを用いて実現される。
【００６８】
クロック５９０は、端末５００における時刻を計測し、ＣＰＵ５１０に対して時刻情報を送信する。
【００６９】
［電子黒板の構成］
図６を参照して、本実施の形態に係る電子黒板６０１，６０２の構成について説明する。図６は、電子黒板６０１，６０２のハードウェア構成を表わすブロック図である。
【００７０】
電子黒板６００は、ＣＰＵ６１０と、ユーザ操作インターフェイス６２０と、通信インターフェイス６４０と、メモリ６５０と、外部記憶インターフェイス６７０と、ディスプレイ６８０とを備える。
【００７１】
ＣＰＵ６１０は、電子黒板６００に対して与えられる命令に基づいて電子黒板６００の動作を制御する。
【００７２】
ユーザ操作インターフェイス６２０は、電子黒板６００に対する命令の入力を受け付ける。ユーザ操作インターフェイス６２０は、たとえば、タッチパネル、赤外線受光部、ハードキーその他の入力装置を含む。
【００７３】
通信インターフェイス６４０は、コンピュータシステム３００との通信を実現する。通信インターフェイス６４０は、たとえば、Ethernet規格に従う通信デバイスその他の構成によって実現される。通信の態様は、有線および無線のいずれであってもよい。
【００７４】
メモリ６５０は、ユーザ操作インターフェイス６２０によって受け付けられた操作に基づいて取得されるデータを保持する。保持されるデータは、たとえば、電子黒板６００に描かれた手描き文字または画像データを含む。画像データは、電子黒板６００がカメラを有している場合には、当該カメラの撮影によって得られる。
【００７５】
外部記憶インターフェイス６７０は、電子黒板６００に接続される他の機器との通信を実現する。接続される機器は、着脱可能なデータ記録媒体、ハードディスクその他の記憶装置、または、データを保持できる情報通信装置などである。
【００７６】
ディスプレイ６８０は、ＣＰＵ６１０から送られる命令に基づいて、文字、図形その他の描画を実現する。たとえば、電子黒板６００のユーザ（一例として教師）がユーザ操作インターフェイス６２０としてのタッチパネルに対して手描き文字による入力を行なった場合には、ディスプレイ６８０は、その入力に応じた出力を実現する。他の局面において、ディスプレイ６８０は、インターネット回線１９０によって接続されている他のサブシステムにおいて取得された他の画像または手描き入力文字なども表示し得る。
【００７７】
［ＰＣの機能構成］
図７を参照して、本実施の形態に係る第１ＰＣ３０１および第２ＰＣ３０２の構成について説明する。図７は、第１ＰＣ３０１または第２ＰＣ３０２として作動するコンピュータシステム３００によって実現される機能の構成を表わすブロック図である。
【００７８】
コンピュータシステム３００は、制御部７１０と、記憶部７２０と、ネットワーク通信部７３０と、Ｐ２Ｐ通信部７４０と、表示部７５０とを備える。制御部７１０は、通信制御部７１１と、ルーム作成要求部７１２とを含む。
【００７９】
ある局面において、通信制御部７１１は、第１ＰＣ３０１と第２ＰＣ３０２との間のＰ２Ｐ通信を確立し、第１ＰＣ３０１と第２ＰＣ３０２との間のデータの送受信を実現する。他の局面において、通信制御部７１１は、第１ＰＣ３０１または第２ＰＣ３０２とマッチングサーバ４００との通信、または、第１ＰＣ３０１または第２ＰＣ３０２と端末５００との通信を実現する。
【００８０】
ルーム作成要求部７１２は、マッチングサーバ４００に対して、通信システム１０を実現するために用いられるルームの作成を要求する。具体的には、第１ＰＣ３０１および第２ＰＣ３０２のいずれかがマッチングサーバ４００に最初にアクセスした場合には、その最初にアクセスしたＰＣの制御部７１０が、ルーム作成要求部７１２として、マッチングサーバ４００に対してルームの作成を要求する。たとえば、通信制御部７１１がマッチングサーバ４００との通信を確立すると、ルーム作成要求部７１２は、それが属するＰＣのＩＰアドレスと、ルームの作成のリクエストとを、マッチングサーバ４００に送信する。
【００８１】
［マッチングサーバの機能構成］
図８を参照して、本実施の形態に係るマッチングサーバ４００の構成についてさらに説明する。図８は、マッチングサーバ４００によって実現される機能の構成を表わすブロック図である。マッチングサーバ４００は、制御部８１０と、記憶部８２０と、Ｐ２Ｐ通信部８３０と、通信部８４０とを備える。制御部８１０は、ルーム管理部８１１を含む。
【００８２】
制御部８１０は、マッチングサーバ４００の動作を制御する。制御部８１０は、たとえば、ＣＰＵ４１０によって実現される。より詳しくは、制御部８１０は、ルーム管理部８１１として、マッチングサーバ４００に対して最初にアクセスしたＰＣから送られる要求に基づいて、ルームを記憶部８２０に生成する。
【００８３】
記憶部８２０は、マッチングサーバ４００の動作を規定するプログラムもしくはデータと、マッチングサーバ４００において生成されたデータと、マッチングサーバ４００に与えられたデータとを格納する。記憶部８２０は、たとえば、メモリ４５０もしくはハードディスク４６０によって実現される。
【００８４】
Ｐ２Ｐ通信部８３０は、ルームが記憶部８２０において生成された後、端末５００との間でＰ２Ｐ通信を実現し得る。
【００８５】
通信部８４０は、端末５００、第１ＰＣ３０１または第２ＰＣ３０２との間の通信を実現する。通信の形式は、特に限られず、たとえば、Ethernet規格に従う通信が用いられる。なお、本実施の形態において、マッチングサーバ４００は、Ｐ２Ｐ通信部８３０および通信部８４０のいずれをも備えている必要はなく、少なくとも、いずれかを備えていればよい。
【００８６】
［端末の構成］
図９を参照して、本実施の形態に係る端末５００の構成についてさらに説明する。図９は、端末５００によって実現される機能の構成を表わすブロック図である。
【００８７】
端末５００は、制御部９１０と、記憶部９２０と、Ｐ２Ｐ通信部９３０と、表示部９４０と、操作部９５０とを備える。制御部９１０は、サーバアクセス部９１１と、端末検索部９１２とを含む。
【００８８】
ある局面において、制御部９１０は、ＣＰＵ５１０によって実現される。記憶部９２０は、フラッシュメモリ５５０によって実現される。Ｐ２Ｐ通信部９３０は、通信インターフェイス５４０によって実現される。表示部９４０は、ディスプレイ５８０によって実現される。操作部９５０は、タッチパネル、ソフトキー、ハードキーその他のユーザ操作インターフェイス５２０によって実現される。
【００８９】
制御部９１０は、端末５００の動作を制御する。詳しくは、サーバアクセス部９１１は、マッチングサーバ４００へのアクセスを実現する。サーバアクセス部９１１は、マッチングサーバ４００から、他の端末のＩＰアドレスを取得し、記憶部９２０にその取得したＩＰアドレスを格納する。
【００９０】
端末検索部９１２は、記憶部９２０に格納されているデータに基づいて、当該端末５００が存在しているサブシステム内において通信可能な他の通信装置、すなわち、他の端末５００またはＰＣが存在しているか否かを判断する。端末検索部９１２は、具体的には、当該端末５００のドメインと同一のドメインを有する端末を検索する。
【００９１】
Ｐ２Ｐ通信部９３０は、公知のＰ２Ｐ方式を用いて、他の端末またはＰＣと通信する。
表示部９４０は、Ｐ２Ｐ通信部９３０によって受信されたデータ、または、制御部９１０によって生成されたデータに基づいて画像を表示する。表示される画像は、たとえば、電子黒板６０１，６０２に描画された手描き文字その他の線図、マッチングサーバ４００から送られるデータ等を含む。
【００９２】
［制御構造］
図１０〜図１２を参照して、本実施の形態に係る通信システム１０の制御構造について説明する。
【００９３】
［マッチングサーバと各サブシステムのＰＣとの通信］
図１０は、第１ＰＣ３０１と第２ＰＣ３０２とマッチングサーバ４００との間で行なわれる処理を表わすシーケンスチャートである。
【００９４】
ステップＳ１０１０にて、サブシステム１００にある第１ＰＣ３０１は、サブシステム１１０との間で通信を行なうためのルームの通知を要求するために、マッチングサーバ４００に対して、コマンド（ＧＥＴ  ＲＯＯＭ）を送信する。このとき、マッチングサーバ４００においてルームが存在しない場合には、マッチングサーバ４００は、ルームを作成する。
【００９５】
ステップＳ１０１１にて、マッチングサーバ４００は、第１ＰＣ３０１からの要求に応答して、新たに作成したルームの識別番号を通知するために、第１ＰＣ３０１に対して、コマンド（ＲＯＯＭ  ＮＯ（１））を送信する。
【００９６】
ステップＳ１０１２にて、第１ＰＣ３０１は、第１ＰＣ３０１のＩＰアドレス（グローバルアドレスまたはローカルアドレス）をマッチングサーバ４００において登録するために、コマンド（ＭＡＫＥ  ＲＯＯＭ（１））をマッチングサーバ４００に送信する。マッチングサーバ４００は、このコマンドを受信すると、第１ＰＣ３０１のＩＰアドレスをハードディスク４６０に格納する（たとえば、図４の第１ＩＰアドレス）。
【００９７】
ステップＳ１０１３にて、マッチングサーバ４００は、第１ＰＣ３０１に対して、第１ＰＣのＩＰアドレスがマッチングサーバ４００において登録されたことを示すコマンド（ＭＡＫＥ  ＲＯＯＭ  ＡＣＫ）を送信する。これにより、第１ＰＣ３０１は、マッチングサーバ４００において登録されたことを確認できる。
【００９８】
ステップＳ１０２０にて、サブシステム１１０にある第２ＰＣ３０２は、サブシステム１００との間で通信を行なうためのルームの通知を要求するために、マッチングサーバ４００に対して、コマンド（ＧＥＴ  ＲＯＯＭ）を送信する。
【００９９】
ステップＳ１０２１にて、マッチングサーバ４００は、サブシステム１００の通信装置（第１ＰＣ３０１）が登録されているルームの識別番号を第２ＰＣ３０２に通知するために、コマンド（ＲＯＯＭ  ＮＯ（１））を第２ＰＣ３０２に対して送信する。
【０１００】
ステップＳ１０２２にて、第２ＰＣ３０２は、マッチングサーバ４００に対して、第２ＰＣ３０２のＩＰアドレス（グローバルアドレスまたはローカルアドレス）を当該ルームに登録するために、コマンド（ＭＡＫＥ  ＲＯＯＭ（１））を送信する。マッチングサーバ４００は、そのコマンドを受信すると、当該ルームに相当するメモリ領域に第２ＰＣ３０２のＩＰアドレスを格納する（たとえば、図４の第２ＩＰアドレスを参照）。
【０１０１】
ステップＳ１０２３にて、マッチングサーバ４００は、第２ＰＣ３０２に対して、第２ＰＣ３０２のＩＰアドレスが登録されたことを示すコマンド（ＭＡＫＥ  ＲＯＯＭ  ＡＣＫ）を送信する。これにより、第２ＰＣ３０２は、第２ＰＣ３０２のＩＰアドレスがマッチングサーバ４００に登録されたことを確認することができる。
【０１０２】
ステップＳ１０２４にて、マッチングサーバ４００は、第２ＰＣ３０２に対して、第１ＰＣ３０１のＩＰアドレス（グローバルアドレス）を通知する。第２ＰＣ３０２は、第１ＰＣ３０１のグローバルなＩＰアドレスを取得すると、第１ＰＣ３０１のＩＰアドレスをハードディスク３６０に格納する（図３のルーム情報管理領域３６１における第１ＩＰアドレスを参照）。
【０１０３】
ステップＳ１０３０にて、第２ＰＣ３０２は、第１ＰＣ３０１に対して第２ＰＣ３０２のＩＰアドレス（グローバルアドレス）を通知するために、コマンド（ＣＯＮＮＥＣＴ）を送信する。第１ＰＣ３０１は、このコマンドを受信すると、第２ＰＣ３０２のＩＰアドレスをハードディスク３６０に格納する（図３における第２ＩＰアドレス参照）。
【０１０４】
ステップＳ１０３１にて、第１ＰＣ３０１は、第２ＰＣ３０２に対して、第２ＰＣ３０２のグローバルなＩＰアドレスが登録されたことを通知するために、コマンド（ＣＯＮＮＥＣＴ  ＡＣＫ）を送信する。第２ＰＣ３０２は、このコマンドを受信すると、第２ＰＣ３０２が第１ＰＣ３０１において登録されたことを認識する。これにより、第１ＰＣ３０１と第２ＰＣ３０２とは、互いに通信を行なうことが可能となる。このときの通信は、たとえば、インターネット回線を用いたＰ２Ｐ通信であるが、その他の通信形式が用いられてもよい。
【０１０５】
［サブシステムとマッチングサーバとの通信］
図１１は、第１ＰＣ３０１とマッチングサーバ４００と端末５０１との間で行なわれる処理を表わすシーケンスチャートである。図１１を参照して、マッチングサーバ４００とサブシステム１００との間の通信について説明する。
【０１０６】
ステップＳ１１１０にて、端末５０１は、マッチングサーバ４００に対して、通信システム１０において構築されるネットワークへの参加に必要なルームの識別番号を求めるために、コマンド（ＧＥＴ  ＲＯＯＭ）を送信する。この送信は、たとえば、端末５０１が接続しているＬＡＮに対して行なわれる。
【０１０７】
ステップＳ１１１１にて、マッチングサーバ４００は、サブシステム１００に関連して生成されているルームの識別番号を端末５０１に通知するために、コマンド（ＲＯＯＭ  ＮＯ（１））を端末５０１に向けて送信する。
【０１０８】
ステップＳ１１１２にて、端末５０１は、端末５０１のＩＰアドレス（ローカルアドレス）の登録を要求するために、コマンド（ＭＡＫＥ  ＲＯＯＭ（１））をマッチングサーバ４００に対して送信する。マッチングサーバ４００は、このコマンドを受信すると、端末５０１のローカルなＩＰアドレスをハードディスク４６０に格納する。
【０１０９】
ステップＳ１１１３にて、マッチングサーバ４００は、端末５０１のローカルなＩＰアドレスが登録されたことを端末５０１に通知するために、コマンド（ＭＡＫＥ  ＲＯＯＭ  ＡＣＫ）を端末５０１に対して送信する。これにより、端末５０１は、マッチングサーバ４００において、端末５０１のローカルなＩＰアドレスが登録されたことを確認できる。
【０１１０】
ステップＳ１１１４にて、マッチングサーバ４００は、第１ＰＣ３０１のＩＰアドレス（ローカルアドレス）を端末５０１に通知する。端末５０１は、第１ＰＣ３０１のローカルなＩＰアドレスをフラッシュメモリ５５０に格納する。
【０１１１】
ステップＳ１１２０にて、端末５０１は、第１ＰＣ３０１との通信を確立するために、コマンド（ＣＯＮＮＥＣＴ）を第１ＰＣ３０１に対して送信する。このコマンドは、端末５０１のＩＰアドレス（ローカルアドレス）を含む。第１ＰＣ３０１は、端末５０１からこのコマンドを受信すると、端末５０１のローカルなＩＰアドレスをメモリ３５０に格納する（図３のメモリ３５０参照）。
【０１１２】
ステップＳ１１２１にて、第１ＰＣ３０１は、端末５０１のローカルなＩＰアドレスが登録されたことを端末５０１に通知するために、端末５０１に対してコマンド（ＣＯＮＮＥＣＴ  ＡＣＫ）を送信する。端末５０１は、このコマンドを受信すると、第１ＰＣ３０１との間で通信が確立されたことを認識できる。
【０１１３】
［各端末と各ＰＣとの通信］
図１２は、端末５０１，５０２，５０７，５０６と第１ＰＣ３０１と第２ＰＣ３０２との間で行なわれる処理を表わすシーケンスチャートである。この処理は、サブシステム１００に含まれる端末５０１とサブシステム１１０に含まれる端末５０７とにおいて手描き文字が入力される場合を例示している。
【０１１４】
［手書き入力が開始された端末から他の端末およびＰＣへの送信］
ステップＳ１２１０にて、端末５０１のＣＰＵ５１０は、ユーザ操作インターフェイス５２０からの信号に基づいて、手描き文字の入力のための操作（PenDown）が行なわれたことを検知する。
【０１１５】
ステップＳ１２１１にて、ＣＰＵ５１０は、当該操作の検知に応答して、通信インターフェイス５４０を用いたＰ２Ｐ通信により、コマンド（PenDown（Ｘ１，Ｙ１））を端末５０２に送信する。
【０１１６】
ステップＳ１２１２にて、端末５０１は、当該操作の検知に応答して、コマンド（PenDown（Ｘ１，Ｙ１））を第１ＰＣ３０１に送信する。第１ＰＣ３０１がこのコマンドを受信すると、第１ＰＣ３０１に接続されている電子黒板６０１は、描画された点を表示する。
【０１１７】
なお、ステップＳ１２１１およびＳ１２１２の処理の順序は、図１２に示されるものに限られない。送信は同時に行われても、順次行われてもよい。
【０１１８】
ステップＳ１２１３にて、第１ＰＣ３０１は、インターネット回線１９０を用いて、コマンド（PenDown（Ｘ１，Ｙ１））を第２ＰＣ３０２に送信する。第２ＰＣ３０２がこのコマンドを受信すると、電子黒板６０２は、そのコマンドに基づいて、点を表示する。
【０１１９】
ステップＳ１２１４にて、第２ＰＣ３０２は、第１ＰＣ３０１からコマンド（PenDown（Ｘ１，Ｙ１））を受信すると、当該コマンドを端末５０７に送信する。第２ＰＣ３０２と端末５０７との間の通信は、たとえば、Ｐ２Ｐ通信その他のナローバンド通信が用いられる。なお、通信形式は特に限られない。
【０１２０】
ステップＳ１２１５にて、第２ＰＣ３０２は、コマンド（PenDown（Ｘ１，Ｙ１））を端末５０６に送信する。ステップＳ１２１４およびＳ１２１５の処理により、端末５０１における手描き文字の入力の開始が端末５０６，５０７に伝送されることになる。
【０１２１】
なお、ステップＳ１２１４およびＳ１２１５の処理の順序は、図１２に示されるものに限られない。コマンドの送信は同時に行われても、順次行われてもよい。
【０１２２】
［手書き文字が描画された端末から他の端末およびＰＣへの送信］
ステップＳ１２２０にて、端末５０１のＣＰＵ５１０は、ユーザ操作インターフェイス５２０からの信号に基づいて、手描き文字の入力のための軌跡が開始されたことを検知する。
【０１２３】
ステップＳ１２２１にて、端末５０１は、手描き文字の軌跡の描画が開始されたことを端末５０２に通知するために、コマンド（PenMove（Ｘ２，Ｙ２））を端末５０２に送信する。
【０１２４】
ステップＳ１２２２にて、端末５０１は、第１ＰＣ３０１に対して、同様に、コマンド（PenMove（Ｘ２，Ｙ２））を送信する。第１ＰＣ３０１が、このコマンドを受信すると、第１ＰＣ３０１に接続されている電子黒板６０１は、端末５０１において入力された手描き文字を表示する。
【０１２５】
なお、ステップＳ１２２１およびＳ１２２２の処理の順序は、図１２に示されるものに限られない。コマンドの送信は同時に行われても、順次行われてもよい。
【０１２６】
ステップＳ１２２３にて、第１ＰＣ３０１は、インターネット回線１９０を用いて、コマンド（PenMove（Ｘ２，Ｙ２））を第２ＰＣ３０２に伝送する。第２ＰＣ３０２がこのコマンドを受信すると、第２ＰＣ３０２に接続されている電子黒板６０２は、そのコマンドに基づいて端末５０１において手描き文字入力された軌跡を表示する。
【０１２７】
ステップＳ１２２４にて、第２ＰＣ３０２は、第１ＰＣ３０１からコマンド（PenMove（Ｘ２，Ｙ２））を受信すると、当該コマンドを端末５０７に送信する。このときの通信形式は、たとえば、Ｐ２Ｐ通信その他のナローバンド通信が用いられるが、他の通信形式が用いられてもよい。
【０１２８】
ステップＳ１２２５にて、第２ＰＣ３０２は、コマンド（PenMove（Ｘ２，Ｙ２））を端末５０６に送信する。
【０１２９】
なお、ステップＳ１２２４およびＳ１２２５の処理の順序は、図１２に示されるものに限られない。送信は同時に行われても、順次行われてもよい。
【０１３０】
［サブシステム１１０における描画の通知］
ステップＳ１２３０にて、サブシステム１１０に存在する端末５０７のＣＰＵ５１０は、ユーザ操作インターフェイス５２０に対する入力に基づいて、手描き文字入力が開始されたことを検知する。
【０１３１】
ステップＳ１２３１にて、端末５０７は、手描き文字入力が開始されたことを第２ＰＣ３０２に通知するために、コマンド（PenDown（Ｘ３，Ｙ３））を第２ＰＣ３０２に送信する。このときの通信形式は、特に限られず、たとえば、Ｐ２Ｐ通信その他のナローバンド通信が用いられる。第２ＰＣ３０２に接続されている電子黒板６０２は、端末５０７における表示と同様に、手描き文字が入力されたことを示す点を表示する。
【０１３２】
ステップＳ１２３２にて、端末５０７は、同様に、コマンド（PenDown（Ｘ３，Ｙ３））を端末５０６に送信する。端末５０６のディスプレイ５８０は、そのコマンドに基づいて、端末５０７のディスプレイ５８０における位置に対応する位置に、手書き入力による点を表示する。
【０１３３】
ステップＳ１２３３にて、第２ＰＣ３０２は、インターネット回線１９０を介して、第１ＰＣ３０１に対して、コマンド（PenDown（Ｘ３，Ｙ３））を送信する。第１ＰＣ３０１が当該コマンドを受信すると、第１ＰＣ３０１に接続されている電子黒板６０１は、そのコマンドに基づいて、端末５０７において入力された点を表示する。このとき表示される点の位置は、端末５０７のディスプレイ５８０における位置に対応する。
【０１３４】
ステップＳ１２３４にて、第１ＰＣ３０１は、第２ＰＣ３０２から受信したコマンド（PenDown（Ｘ３，Ｙ３））を端末５０２に送信する。
【０１３５】
また、ステップＳ１２３５にて、第１ＰＣ３０１は、端末５０１に対して、コマンド（PenDown（Ｘ３，Ｙ３））を送信する。
【０１３６】
ステップＳ１２３４およびＳ１２３５の処理により、サブシステム１１０にある端末５０７における描画は、サブシステム１００に存在する端末５０１，５０２に伝送される。ステップＳ１２３４およびＳ１２３５における通信は、たとえば、Ｐ２Ｐ通信その他のナローバンド通信が用いられる。なお、通信形式は特に限られない。
【０１３７】
ステップＳ１２４０にて、端末５０１のＣＰＵ５１０は、ユーザ操作インターフェイス５２０に対する操作に基づいて、手描き文字入力の操作が終了したことを検知する。ＣＰＵ５１０は、その検知に応答して、ディスプレイ５８０からユーザの指示デバイスが離れた座標値（Ｘ４，Ｙ４）を取得する。ＣＰＵ５１０は、その座標値を用いてコマンド（PenUp（Ｘ４，Ｙ４））を生成する。
【０１３８】
ステップＳ１２４１にて、端末５０１は、コマンド（PenUp（Ｘ４，Ｙ４））を端末５０２に送信する。端末５０２は、そのコマンドに基づいて、端末５０２のディスプレイ５８０に描画された文字を表示する。手書き入力が終了しているので、手書き文字の書き込みは終了することになる。
【０１３９】
ステップＳ１２４２にて、端末５０１は、コマンド（PenDown（Ｘ４，Ｙ４））を第１ＰＣ３０１に送信する。第１ＰＣ３０１が当該コマンドを受信すると、第１ＰＣ３０１に接続されている電子黒板６０１は、端末５０１における描画内容を表示する。
【０１４０】
なお、ステップＳ１２４１およびＳ１２４２における通信形式は、たとえば、Ｐ２Ｐ通信その他のナローバンド通信が用いられる。
【０１４１】
ステップＳ１２４３にて、第１ＰＣ３０１は、インターネット回線１９０を用いて、コマンド（PenDown（Ｘ４，Ｙ４））を第２ＰＣ３０２に送信する。第２ＰＣ３０２がそのコマンドを受信すると、電子黒板６０２は、そのコマンドに基づいて、端末５０１において行なわれている描画の内容と同じ内容を表示する。
【０１４２】
ステップＳ１２４４にて、第２ＰＣ３０２は、コマンド（PenDown（Ｘ４，Ｙ４））を端末５０７に送信する。
【０１４３】
ステップＳ１２４５にて、第２ＰＣ３０２は、コマンド（PenDown（Ｘ４，Ｙ４））を端末５０６に送信する。ステップＳ１２４４およびＳ１２４５の処理により、サブシステム１００に存在する端末５０１における描画の内容は、サブシステム１１０に存在する端末５０６，５０７に伝送される。
【０１４４】
［表示態様］
図１３を参照して、本実施の形態に係る通信システム１０における画面の表示態様について説明する。図１３は、端末５０１，５０２，５０６，５０７と第１ＰＣ３０１と第２ＰＣ３０２とにおいて表示される画面の推移を表わす図である。なお、適宜、図１２に示される処理を参照する。
【０１４５】
状態Ａを参照して、サブシステム１００に含まれる端末５０１において描画が開始されると、端末５０１のディスプレイ５８０は、最初の点１３１０を表示する（ステップＳ１２１０）。
【０１４６】
状態Ｂを参照して、端末５０１における描画がコマンド（PenDown（Ｘ１，Ｙ１））によって伝送されると、そのコマンドを受信した他の装置、すなわち、端末５０２、第１ＰＣ３０１、第２ＰＣ３０２、端末５０７，５０６は、それぞれその点１３１０に対応した点１３１１，１３１２，１３１３，１３１４，１３１５を表示する（ステップＳ１２１１〜Ｓ１２１５）。
【０１４７】
状態Ｃを参照して、端末５０１において文字「ａ」が描画される（ステップＳ１２２０）。
【０１４８】
状態Ｄを参照して、端末５０１において入力された文字「ａ」は、コマンド（PenMove）によって端末５０２、第１ＰＣ３０１、第２ＰＣ３０２、端末５０７，５０６に伝送される（ステップＳ１２２１〜Ｓ１２２５）。
【０１４９】
状態Ｅを参照して、サブシステム１１０に含まれる端末５０７において、次の文字「ｂ」の描画のための最初の点１３２０が行なわれると、端末５０７は、コマンドPenDown（Ｘ３，Ｙ３）を生成する（ステップＳ１２３０）。コマンドPenDown（Ｘ３，Ｙ３）は、端末５０６、第２ＰＣ３０２、第１ＰＣ３０１、端末５０１，５０２に送られる（ステップＳ１２３１〜Ｓ１２３５）。
【０１５０】
状態Ｆを参照して、端末５０６、第２ＰＣ３０２、第１ＰＣ３０１、端末５０１，５０２は、コマンドPenDown（Ｘ３，Ｙ３）を受信すると、それぞれ端末５０７における点１３２０と同様の点を表示する。
【０１５１】
状態Ｇを参照して、端末５０７において文字「ｂ」を描画するために軌跡がディスプレイ５８０に入力される。その入力は、コマンド（PenMove）として、端末５０１，５０２、第１ＰＣ３０１、第２ＰＣ３０２、端末５０６にそれぞれ伝送される。
【０１５２】
状態Ｈを参照して、端末５０７における描画は、コマンド（PenMove）によって伝送され、端末５０７において描画された文字「ｂ」は、端末５０１，５０２，５０６、第１ＰＣ３０１および第２ＰＣ３０２においても表示される。
【０１５３】
［実施の形態の効果］
以上のようにして、本実施の形態によると、通信回線が狭帯域の回線であっても、離散した二つのサブシステム間でのリアルタイムの通信が可能となる。
【０１５４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５５】
１０  通信システム、１００，１１０  サブシステム、１９０  インターネット回線、３００  コンピュータシステム、３０１  第１ＰＣ、３０２  第２ＰＣ、３１０，３６０，４６０  ハードディスク、３２０，４２０，５２０，６２０  ユーザ操作インターフェイス、３３０  ネットワーク通信インターフェイス、３４０，４４０，５４０，６４０  通信インターフェイス、３５０，４５０，６５０  メモリ、３６１，４６１  ルーム情報管理領域、３６２  ストローク情報管理領域、３６３  レンダリング情報管理領域、３７０，４７０，５７０，６７０  外部記憶インターフェイス、３８０，４８０，５８０，６８０  ディスプレイ、４００  マッチングサーバ、４６２  デバイス情報管理領域、５００，５０１，５０２，５０３，５０４，５０５，５０６，５０７  端末、５３０  バイブレータ、５５０  フラッシュメモリ、５９０  クロック、６００，６０１，６０２  電子黒板、７１０，８１０，９１０  制御部、７１１  通信制御部、７１２  ルーム作成要求部、７２０，８２０，９２０  記憶部、７３０  ネットワーク通信部、７４０，８４０，９３０  通信部、７５０，９４０  表示部、８１１  ルーム管理部、８３０  Ｐ２Ｐ通信部、９１１  サーバアクセス部、９１２  端末検索部。
【図１】
2013201622.tif 000003
【図２】
2013201622.tif 000004
【図３】
2013201622.tif 000005
【図４】
2013201622.tif 000006
【図５】
2013201622.tif 000007
【図６】
2013201622.tif 000008
【図７】
2013201622.tif 000009
【図８】
2013201622.tif 000010
【図９】
2013201622.tif 000011
【図１０】
2013201622.tif 000012
【図１１】
2013201622.tif 000013
【図１２】
2013201622.tif 000014
【図１３】
2013201622.tif 000015