以下に添付図面を参照して、この発明に係る端末および表示方法の実施形態を詳細に説明する。以下では、本発明を適用した通信システムの一例として、複数のテレビ会議端末(「端末」に相当)間で映像データおよび音声データを送受信して複数拠点での遠隔会議を実現するテレビ会議システム(「ビデオ会議システム」ともいう。)を例示する。ただし、本発明が適用可能な通信システムはこの例に限らない。本発明は、複数の端末間でデータを送受信する各種の通信システムで用いられる各種の端末に対して、広く適用可能である。
図1は、本実施形態のテレビ会議システム1の概略構成図である。本実施形態のテレビ会議システム1は、図1に示すように、各拠点に設置された複数のテレビ会議端末(以下、単に「端末」という。)10およびディスプレイ20と、中継サーバ30と、管理サーバ40と、プログラム提供サーバ50と、を備える。
端末10は、テレビ会議システム1を利用して他の端末10との間でのデータの送受信や受信したデータの出力などを行う。ここで扱われるデータとしては、例えば、テレビ会議の各拠点を映した映像データや拠点間で共有されるPC(パーソナルコンピュータ)の画面データなど(以下、これらを総称して「画像データ」という。)、各拠点で収録された音声データなどが挙げられる。なお、端末10は、テレビ会議システム1に専用の専用端末であってもよいし、PCやスマートフォン、タブレット端末などの汎用端末であってもよい。これらの汎用端末は、後述の端末用プログラムをインストールすることによって、アプリケーションの一つとして端末10の機能を実現する。
ディスプレイ20は、有線または無線により端末10に接続されている。なお、ディスプレイ20は、端末10と一体化された構成であってもよい。
端末10は、例えば、LAN(Local Area Network)内のルータに接続される。ルータは、データ伝送の経路選択を行うネットワーク機器であり、図1に示す例では、LAN2a内のルータ60aと、LAN2b内のルータ60bと、LAN2c内のルータ60cと、LAN2d内のルータ60dと、ルータ60aおよびルータ60bと専用回線2eで接続されてインターネット2iに繋がるルータ60eと、ルータ60cおよびルータ60dと専用回線2fで接続されてインターネット2iに繋がるルータ60fとを例示している。
なお、LAN2aおよびLAN2bは地域X内の別の場所に構築され、LAN2cおよびLAN2dは地域Y内の別の場所に構築されていることを想定している。例えば、地域Xは日本、地域Yはアメリカ合衆国であり、LAN2aは東京の事業所内で構築され、LAN2bは大阪の事業所内で構築され、LAN2cはニューヨークの事業所内で構築され、LAN2dはワシントンD.C.の事業所内で構築されている。本実施形態では、LAN2a、LAN2b、専用回線2e、インターネット2i、専用回線2f、LAN2c、およびLAN2dによって、通信ネットワーク2が構築されている。この通信ネットワーク2には、有線だけでなく、WiFi(Wireless Fidelity)やBluetooth(登録商標)などの無線による通信が行われる箇所が含まれていてもよい。
本実施形態のテレビ会議システム1では、複数の端末10間で中継サーバ30を介した画像データおよび音声データの送受信を行う。この際、複数の端末10間には、管理サーバ40を介して、各種の管理情報を送受信するための管理情報用セッションSeiが確立される。また、複数の端末10間には、中継サーバ30を介して、映像データおよび音声データの送受信を行うためのデータ用セッションSedが確立される。
中継サーバ30は、複数の端末10間における画像データや音声データの伝送を中継するコンピュータである。なお、データ伝送の形式は任意である。例えば、画像データの伝送はH.264/SVCの形式で行ってもよいし、H.264/MPEG4 AVC、H.265などの他の形式で行ってもよい。
管理サーバ40は、本実施形態のテレビ会議システム1の全体を管理するコンピュータである。例えば、管理サーバ40は、各端末10の認証管理や状態管理、セッション管理などを行う。本実施形態では、各端末10に対し、固有の識別情報である端末IDが付与される。なお、端末IDは必ずしも端末固有の識別情報である必要はなく、通信先の端末10を特定するために使用される識別情報であればよい。例えば、ユーザが端末に対して入力した識別情報であってもよい。また、中継サーバ30に対し、固有の識別情報である中継サーバIDが付与される。また、端末10間でデータの送受信を行うためのデータ用セッションSedに対してセッションIDが付与され、データ用セッションSedで送受信されるデータのそれぞれに対してデータIDが付与される。管理サーバ40は、これらのID(識別情報)を用いて、上述した各種の管理を行う。
プログラム提供サーバ50は、各種のプログラムを端末10、中継サーバ30、管理サーバ40などに提供するコンピュータである。例えば、プログラム提供サーバ50は、端末10に各種機能を実現させるための端末用プログラムを格納しており、この端末用プログラムを端末10に送信することができる。また、プログラム提供サーバ50は、中継サーバ30に各種機能を実現させるための中継サーバ用プログラムを格納しており、この中継サーバ用プログラムを中継サーバ30に送信することができる。また、プログラム提供サーバ50は、管理サーバ40に各種機能を実現させるための管理サーバ用プログラムを格納しており、この管理サーバ用プログラムを管理サーバ40に送信することができる。
次に、本実施形態のテレビ会議システム1における端末10、中継サーバ30および管理サーバ40のハードウェア構成について説明する。図2は、端末10のハードウェア構成の一例を示し、図3は、中継サーバ30のハードウェア構成の一例を示している。なお、管理サーバ40は中継サーバ30と同様のハードウェア構成を採用できるため、図示を省略する。
端末10は、図2に示すように、端末10全体の動作を制御するCPU(Central Processing Unit)101、IPL(Initial Program Loader)などのCPU101の駆動に用いられるプログラムを記憶したROM(Read Only Memory)102、CPU101のワークエリアとして使用されるRAM(Random Access Memory)103、端末用プログラム、画像データや音声データなどの各種データを記憶するフラッシュメモリ104、CPU101の制御に従ってフラッシュメモリ104に対する各種データの読み出しや書き込みを制御するSSD(Solid State Drive)105、フラッシュメモリなどの記録メディア106に対するデータの読み出しや書き込み(記憶)を制御するメディアドライブ107、通信相手となる他の端末10を選択する場合などに操作される操作ボタン108、端末10の電源のオン/オフを切り換えるための電源スイッチ109、通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F(Interface)111を備えている。
また、端末10は、CPU101の制御に従って被写体を撮像して画像データを得る内蔵型のカメラ112、このカメラ112の駆動を制御する撮像素子I/F113、音声を入力する内蔵型のマイク114、音声を出力する内蔵型のスピーカ115、CPU101の制御に従ってマイク114およびスピーカ115との間で音声信号の入出力を処理する音声入出力I/F116、CPU101の制御に従ってディスプレイ20に表示する画像データを伝送するディスプレイI/F117、各種の外部機器を接続するための外部機器接続I/F118、端末10の各種機能の異常を知らせるアラームランプ119、および上記各構成要素を電気的に接続するためのアドレスバスやデータバスなどのバスライン110を備えている。
なお、カメラ112、マイク114、スピーカ115は、必ずしも端末10に内蔵されている必要はなく、外付けされる構成であってもよい。また、ディスプレイ20は、端末10に内蔵された構成であってもよい。また、ディスプレイ20は、液晶パネルなどの表示装置を想定するが、これに限らず、プロジェクタ等の投影装置であってもよい。図2に示す端末10のハードウェア構成はあくまで一例であり、上記以外の他のハードウェアが追加されていてもよい。
上述したプログラム提供サーバ50から提供される端末用プログラムは、例えばフラッシュメモリ104に格納され、CPU101の制御によりRAM103上に読み出されて実行される。なお、端末用プログラムを格納するメモリは不揮発性メモリであればよく、フラッシュメモリ104に限らず、EEPROM(Electrically Erasable and Programmable ROM)などを用いてもよい。また、端末用プログラムは、インストール可能な形式または実行可能な形式のファイルによって、コンピュータで読み取り可能な記録メディア106などの記録媒体に記録されて提供されるようにしてもよい。また、端末用プログラムは、ROM102などに予め格納された組み込みプログラムとして提供されるようにしてもよい。
中継サーバ30は、図3に示すように、中継サーバ30全体の動作を制御するCPU201、IPLなどのCPU201の駆動に用いられるプログラムを記憶したROM202、CPU201のワークエリアとして使用されるRAM203、中継サーバ用プログラムなどの各種データを記憶するHD(Hard Disk)204、CPU201の制御に従ってHD204に対する各種データの読み出しまたは書き込みを制御するHDD(HD Drive)205、フラッシュメモリなどの記録メディア206に対するデータの読み出しや書き込み(記憶)を制御するメディアドライブ207、各種情報を表示するディスプレイ208、通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F209、キーボード211、マウス212、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)213に対する各種データの読み出しまたは書き込みを制御するCD−ROMドライブ214、および上記各構成要素を電気的に接続するためのアドレスバスやデータバスなどのバスライン210を備えている。
上述したプログラム提供サーバ50から提供される中継サーバ用プログラムは、例えばHD204に格納され、CPU201の制御によりRAM203上に読み出されて実行される。また、中継サーバ用プログラムは、インストール可能な形式または実行可能な形式のファイルによって、記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録されて提供されるようにしてもよい。また、中継サーバ用プログラムは、ROM202などに予め格納された組み込みプログラムとして提供されるようにしてもよい。
管理サーバ40は、図3に示した中継サーバ30と同様のハードウェア構成を採用できる。ただし、HD204には、プログラム提供サーバ50から提供される管理サーバ用プログラムが記録されている。この場合も、管理サーバ用プログラムは、インストール可能な形式または実行可能な形式のファイルによって、記録メディア206やCD−ROM213などのコンピュータで読み取り可能な記録媒体に記録されて提供されるようにしてもよい。また、管理サーバ用プログラムは、ROM202などに予め格納された組み込みプログラムとして提供されるようにしてもよい。
なお、着脱可能な記録媒体の他の例としては、CD−R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、ブルーレイディスクなどのコンピュータで読み取り可能な記録媒体が挙げられる。上述した各種のプログラムは、これらの記録媒体に記録されて提供されるようにしてもよい。
次に、端末10の機能構成について説明する。図4は、端末10の機能的な構成例を示すブロック図であり、図5は、端末10が保持する出力状態管理テーブルの一例を示す図である。
端末10は、図4に示すように、送受信部11、操作入力受付部12、ログイン要求部13、画像入力部14、音声入力部15、表示制御部16、音声出力部17、記憶・読出処理部18、出力状態判定部21、通知部22および状態表示処理部23を有している。これら各部は、例えば、図2に示したフラッシュメモリ104からRAM103上に展開された端末用プログラムをCPU101が実行することにより実現される機能である。また、端末10は、例えば、図2に示したRAM103およびフラッシュメモリ104によって構成される記憶部1000を有している。
記憶部1000には、端末10を識別するための端末IDおよびパスワードなどが記憶されている。また、記憶部1000は、他の端末10とテレビ会議を行う際に受信される画像データおよび音声データの受信バッファとしても用いられる。
さらに、記憶部1000には、図5に示すような出力状態管理テーブルを有する出力状態管理DB1100が構築されている。出力状態管理表では、端末10が現在参加している会議において、他の端末10との間で共有しているデータの一覧が管理される。例えば、出力状態管理表では、他の端末10との間で共有しているそれぞれのデータに対し、そのデータを識別するためのデータID、最終出力時刻および現在の出力状態がそれぞれ関連付けられて管理されている。
最終出力時刻は、端末10が当該データを最後に出力した時刻である。例えば、画像データであれば表示制御部16がディスプレイ20のテレビ会議画面に表示させるための処理を最後に行った時刻、音声データであれば音声出力部17がスピーカ115から音声を再生出力させるための処理を最後に行った時刻を最終出力時刻とする。なお、時刻は端末10内でカウントしているシステム時刻を用いればよい。
現在の出力状態は、端末10による当該データの現在の出力状態を示している。出力状態は、端末10が該当データについて正常に出力処理ができている(出力正常)か、出力しようとしているが何らかの原因で正しく出力処理が行えていない異常な状態(出力異常)であるか、端末10が該当データを出力しないことを選択している(出力停止)か、を表す。なお、ここでの正常とは、当該データの出力が滞っていない状態をいい、異常とは、当該データの出力が一定時間以上滞っている状態をいう。
送受信部11は、通信ネットワーク2を介して、中継サーバ30や管理サーバ40との間で各種データの送受信を行う。送受信部11は、例えば、図2に示したネットワークI/F111およびCPU101によって実現される。
操作入力受付部12は、端末10を使用するユーザによる各種の入力操作を受け付ける。操作入力受付部12は、例えば、図2に示した操作ボタン108、電源スイッチ109およびCPU101によって実現される。
ログイン要求部13は、電源スイッチ109のオン操作を契機として、送受信部11から通信ネットワーク2を介して管理サーバ40に対し、ログイン要求情報および自端末のIPアドレスを送信する。ログイン要求部13は、例えば、図2に示したCPU101によって実現される。
画像入力部14は、カメラ112により撮像された自拠点の映像データや、他の端末10と共有するPCの画面データなどの画像データを入力する。画像入力部14は、例えば、図2に示した撮像素子I/F113、外部機器接続I/F118およびCPU101によって実現される。
音声入力部15は、マイク114により取得された自拠点の音声データを入力する。音声入力部15は、例えば、図2に示した音声入出力I/F116およびCPU101によって実現される。
表示制御部16は、送受信部11により受信された画像データを1つのテレビ会議画面として表示させるための描画処理などを行い、処理した画像データをディスプレイ20に受け渡すことにより、ディスプレイ20にテレビ会議画面を表示させる。また、表示制御部16は、後述の状態表示処理部23から出力状態情報の表示要求があった場合は、この出力状態情報をディスプレイ20に表示させる制御を行う。表示制御部16は、例えば、図2に示したCPU101およびディスプレイI/F117によって実現される。
また、表示制御部16は、時刻管理部16aの機能を有する。時刻管理部16aは、送受信部11により受信された画像データのそれぞれについて、ディスプレイ20に表示させるための処理を行うたびに、そのときの時刻(システム時刻)を最終出力時刻として上述した出力状態管理テーブルに書き込む処理を行う。
音声出力部17は、送受信部11により受信された音声データをスピーカ115から再生出力させる処理を行う。音声出力部17は、例えば、図2に示した音声入出力I/F116およびCPU101によって実現される。
また、音声出力部17は、時刻管理部17aの機能を有する。時刻管理部17aは、送受信部11により受信された音声データのそれぞれについて、スピーカ115から再生出力させる処理を行うたびに、そのときの時刻(システム時刻)を最終出力時刻として上述した出力状態管理テーブルに書き込む処理を行う。
記憶・読出処理部18は、記憶部1000に対して各種データを記憶したり、読み出したりする処理を行う。記憶・読出処理部18は、例えば、図2に示したSSD105およびCPU101によって実現される。
出力状態判定部21は、当該端末10が出力中の画像データおよび音声データのそれぞれについて、上述した出力状態管理テーブルの最終出力時刻を確認して、出力状態の判定を行う。また、通知部22は、出力状態判定部21によって判定された出力状態を中継サーバ30に通知する処理を行う。例えば、通知部22は、出力状態判定部21によって出力異常の状態にあるデータが検出された場合に、その旨を中継サーバ30に通知する処理を行う。また、通知部22は、出力状態判定部21によって出力異常の状態から出力正常の状態に回復したデータが検出された場合に、その旨を中継サーバ30に通知する処理を行う。なお、出力状態判定部21および通知部22の処理の具体例については、詳細を後述する。出力状態判定部21は、例えば、図2に示したCPU101によって実現される。通知部22は、例えば、図2に示したネットワークI/F111およびCPU101によって実現される。
状態表示処理部23は、当該端末10が他の端末10に送信しているデータの他の端末10における出力状態を表す出力状態情報をディスプレイ20に表示させるための処理を行う。例えば、状態表示処理部23は、他の端末10で画像データや音声データが出力異常の状態にあることを示す出力異常通知を受け取った場合に、他の端末10で出力異常があることを示す出力状態情報を生成する。また、状態表示処理部23は、他の端末10で出力異常の状態にあった画像データや音声データが正常状態に回復したことを示す出力異常回復通知を受け取った場合に、他の端末10での出力異常が回復したことを示す出力状態情報を生成する。そして、状態表示処理部23は、これらの出力状態情報を表示制御部16に渡して出力状態情報の表示要求を行い、例えばテレビ会議画面上のポップアップ画面として出力状態情報をディスプレイ20に表示させる(図18参照)。
また、状態表示処理部23は、例えばユーザによる操作ボタン108の操作などに応じて、当該端末10が他の端末10に送信している各データの他の端末10における出力状態の一覧を要求する。そして、その要求に応じて中継サーバ30から管理サーバ40を介して提供された出力状態の一覧を受け取ると、状態表示処理部23は、そのデータを用いてテレビ会議に参加している各拠点の端末10における出力状態の一覧を示す出力状態情報を生成する。そして、状態表示処理部23は、この出力状態情報を表示制御部16に渡して出力状態情報の表示要求を行い、この出力状態情報を参加拠点一覧画面としてディスプレイ20に表示させる(図20参照)。
次に、中継サーバ30の機能構成について説明する。図6は、中継サーバ30の機能的な構成例を示すブロック図であり、図7は、中継サーバ30が保持する全出力状態管理テーブルの一例を示す図である。
中継サーバ30は、図6に示すように、送受信部31、記憶・読出処理部32および出力状態管理部33を有している。これら各部は、例えば、図3に示したHD204からRAM203上に展開された中継サーバ用プログラムをCPU201が実行することにより実現される機能である。また、中継サーバ30は、例えば、図3に示したHD204によって構成される記憶部3000を有している。
記憶部3000には、図7に示すような全出力状態管理テーブルを有する全出力状態管理DB3100が構築されている。全出力状態管理表では、当該中継サーバ30が中継しているすべてのデータの出力状態の一覧が管理される。例えば、全出力状態管理表では、当該中継サーバ30が中継しているそれぞれのデータに対し、そのデータを識別するためのデータIDと、そのデータが出力異常の状態となっている端末10(出力異常端末)のIPアドレスとが関連付けられて管理されている。
送受信部31は、通信ネットワーク2を介して、各端末10や管理サーバ40との間で各種データの送受信を行う。送受信部31は、例えば、図3に示したネットワークI/F209およびCPU201によって実現される。
記憶・読出処理部32は、記憶部3000に対して各種データを記憶したり、読み出したりする処理を行う。記憶・読出処理部32は、例えば、図3に示したHDD205およびCPU201によって実現される。
出力状態管理部33は、上述した全出力状態管理表を用いて、当該中継サーバ30が中継しているすべてのデータの出力状態を管理する。具体的には、出力状態管理部33は、各端末10からあるデータが出力異常の状態にある旨の通知(出力異常通知)を受けたり、あるデータが出力異常の状態から出力正常の状態に回復した旨の通知(出力異常回復通知)を受けたりした際に、受け取った通知に従って上述した全出力状態管理表の修正を行い、現在どの端末10においてどのデータの出力に異常が発生しているのかを管理する。
また、出力状態管理部33は、端末10から出力異常通知を受けた際に、出力異常の状態にあるデータの送信元の端末10に出力状態情報の表示処理を行わせるべく、送信元の端末10のIPアドレスを付加した出力異常通知を管理サーバ40に通知する。また、出力状態管理部33は、端末10から出力状態一覧要求を受けた際に、その端末10に出力状態情報の表示処理を行わせるべく、上述した全出力状態管理表を用いて出力状態一覧を作成し、出力状態一覧要求を行った端末10のIPアドレスを付加して管理サーバ40に渡す。
次に、管理サーバ40の機能構成について説明する。図8は、管理サーバ40の機能的な構成例を示すブロック図である。また、図9〜図12はそれぞれ、管理サーバ40が保持する端末認証管理テーブル、端末管理テーブル、宛先リスト管理テーブル、セッション管理テーブルの一例を示す図である。
管理サーバ40は、図8に示すように、送受信部41、端末認証部42、状態管理部43、端末抽出部44、端末状態取得部45、セッション管理部46および記憶・読出処理部47を有している。これら各部は、例えば、図3に示したHD204からRAM203上に展開された管理サーバ用プログラムをCPU201が実行することにより実現される機能である。また、管理サーバ40は、例えば、図3に示したHD204によって構成される記憶部4000を有している。
記憶部4000には、図9に示すような端末認証管理テーブルを有する端末認証管理DB4100が構築されている。端末認証管理テーブルでは、管理サーバ40によって管理されるすべての端末10の端末IDに対して、パスワードが関連付けられて管理される。例えば、図9に示した端末認証管理テーブルは、端末IDが「01aa」の端末10のパスワードが「aaaa」であることを示している。
また、記憶部4000には、図10に示すような端末管理テーブルを有する端末管理DB4200が構築されている。端末管理テーブルでは、各端末10の端末IDごとに、各端末10の表示名(以下、「端末名」という。)と、各端末10の稼動状態と、テレビ会議システム1にログインするためのログイン要求情報が管理サーバ40で受信された受信日時と、端末10のIPアドレスとが関連付けられて管理されている。
例えば、図10に示した端末管理テーブルは、端末IDが「01aa」の端末10は、端末名が「日本 東京事業所 AA端末」であり、稼動状態が「オンライン(伝送可能)」で、管理サーバ40でログイン要求情報が受信された日時が「2009年11月10日の13時40分」であり、IPアドレスが「1.2.1.3」であることを表している。
ここで、端末管理テーブルの端末IDは、例えば、端末10がテレビ会議システム1に登録されるときに、ユニークに割り当てられる。また、端末名は、管理サーバ40の管理者によって登録または変更される。なお、端末名は、端末10から管理サーバ40に対してなされる要求に応じて、登録または変更されてもよい。
また、稼動状態が「オンライン(伝送可能)」とは、端末10がテレビ会議システム1にログインした状態で、テレビ会議には参加していない状態であることを表し、「オンライン(伝送中)」とは、端末10がテレビ会議システム1にログインした状態で、テレビ会議に参加している状態であることを表し、稼動状態が「オフライン」とは、端末10がテレビ会議システム1にログインしていない状態であることを表す。
また、記憶部4000には、図11に示すような宛先リスト管理テーブルを有する宛先リスト管理DB4300が構築されている。宛先リスト管理テーブルでは、テレビ会議の開始を要求する端末10(要求元端末)の端末IDに対して、テレビ会議に参加する他の端末10(宛先端末)の候補として登録されている端末10の端末IDがすべて関連付けられて管理されている。
例えば、図11に示した宛先リスト管理テーブルは、端末IDが「01ab」の端末10からテレビ会議の開始を要求する場合、宛先端末の候補は、端末IDが「01aa」の端末10、端末IDが「01ca」の端末10、および端末IDが「01cb」の端末10であることが示されている。宛先端末の候補は、端末10から管理サーバ40に対してなされる要求に応じて、追加または削除される。
また、記憶部4000には、図12に示すようなセッション管理テーブルを有するセッション管理DB4400が構築されている。セッション管理テーブルでは、データの送受信を行うデータ用セッションSedに対して割り当てられたセッションIDごとに、データの中継に使用される中継サーバ30を識別する中継サーバID、要求元端末の端末ID、宛先端末の端末ID、そのデータ用セッションSedで送受信されるデータを識別するデータIDが関連付けられて管理される。
例えば、図12に示したセッション管理テーブルは、セッションIDが「se1」のデータ用セッションSedでは、端末IDが「01aa」の要求元端末と端末IDが「01db」の宛先端末との間で、中継サーバIDが「111a」の中継サーバ30を介して、データIDが「RS100」のデータとデータIDが「RS101」のデータとが送受信されることを示している。
送受信部41は、通信ネットワーク2を介して、各端末10や中継サーバ30との間で各種データの送受信を行う。送受信部41は、例えば、図3に示したネットワークI/F209およびCPU201によって実現される。
端末認証部42は、送受信部41を介して受信した端末10からのログイン要求情報に含まれている端末IDおよびパスワードを検索キーとして、記憶部4000の端末認証管理DB4100を検索し、端末認証管理DB4100に同一の端末IDおよびパスワードが管理されているかを判断することによって端末認証を行う。端末認証部42は、例えば、図3に示したCPU201によって実現される。
状態管理部43は、ログイン要求情報の送信元の端末10の稼動状態を管理すべく、記憶部4000の端末管理DB4200に対し、当該端末10の端末IDに関連付けて、稼動状態、管理サーバ40でログイン要求情報が受信された受信日時およびIPアドレスを格納する。また、状態管理部43は、端末10の電源スイッチ109の状態がオンからオフに切り替えられることによって端末10から送られてきた電源オフの状態情報に基づいて、端末管理DB4200における当該端末10の稼動状態をオンラインからオフラインに変更する。状態管理部43は、例えば、図3に示したCPU201によって実現される。
端末抽出部44は、ログイン要求情報の送信元の端末10の端末IDを検索キーとして、記憶部4000の宛先リスト管理DB4300を検索し、当該端末10が要求元端末となる場合に宛先端末の候補となる端末10の端末IDを抽出する。また、端末抽出部44は、ログイン要求情報の送信元の端末10の端末IDを検索キーとして宛先リスト管理DB4300を検索し、当該端末10の端末IDを宛先端末の候補として登録している他の端末10の端末IDも抽出する。端末抽出部44は、例えば、図3に示したCPU201によって実現される。
端末状態取得部45は、端末抽出部44によって抽出された端末IDを検索キーとして、記憶部4000の端末管理DB4200を検索し、検出された端末IDごとに稼動状態を読み出す。これにより、端末状態取得部45は、ログイン要求情報の送信元の端末10に対して宛先端末の候補となるすべての端末10の稼動状態を取得することができる。また、端末状態取得部45は、ログイン要求情報の送信元の端末10の端末IDを検索キーとして端末管理DB4200を検索し、当該端末10の稼動状態も取得する。端末状態取得部45は、例えば、図3に示したCPU201によって実現される。
セッション管理部46は、端末10間で中継サーバ30を介したデータ用セッションSedを確立する際に、このデータ用セッションSedに対してセッションIDを割り当てる。また、セッション管理部46は、記憶部4000のセッション管理DB4400に対し、このセッションIDに関連付けて、要求元端末の端末ID、宛先端末の端末ID、送受信されるデータのデータIDを格納する。セッション管理部46は、例えば、図3に示したCPU201によって実現される。
次に、本実施形態に係るテレビ会議システム1の動作について説明する。図13は、端末10がテレビ会議に参加する準備状態になるまでの準備段階動作の一例を示すシーケンス図である。なお、図13は、端末10aaを要求元端末、端末10baおよび端末10dbを宛先端末とし、要求元端末である端末10aaが準備状態になる例を示している。この準備段階動作においては、端末10aa,10ba,10dbと管理サーバ40との間の管理情報用セッションSeiで各種情報が送受信される。
まず、端末10aaの電源スイッチ109の操作に応じて、端末10aaの電源がONになる(ステップS11)。そして、端末10aaのログイン要求部13が、電源がオンされたことを契機とし、送受信部11から通信ネットワーク2を介して管理サーバ40にログイン要求を表すログイン要求情報を送信する(ステップS12)。なお、ログイン要求情報を送信するタイミングは、端末10のユーザの指示入力を契機としてもよい。
ログイン要求情報には、要求元端末である端末10aaの端末IDおよびパスワードが含まれている。これら端末IDおよびパスワードは、記憶・読出処理部18によって記憶部1000から読み出される。端末IDおよびパスワードは、端末10に接続された例えばSIMカード(Subscriber Identity Module Card)などの外部記録媒体から読み出された情報であってもよい。なお、端末10aaから送信されたログイン要求情報が管理サーバ40に受信されたときに、管理サーバ40は、送信側である端末10aaのIPアドレスを把握することができる。
次に、管理サーバ40の端末認証部42は、送受信部41を介して受信したログイン要求情報に含まれている端末IDおよびパスワードを検索キーとして、記憶部4000の端末認証管理DB4100を検索し、端末認証管理DB4100に検索キーと同一の端末IDおよびパスワードが管理されているかを判断することによって端末認証を行う(ステップS13)。
ここで、端末認証部42によって、検索キーと同一の端末IDおよびパスワードが管理されていないと判断された場合、すなわち、正当な利用権限を有する端末10からのログイン要求でないと判断された場合には、送受信部41は、端末認証部42によって得られた認証結果を表す認証結果情報をログイン要求してきた端末10aaに通信ネットワーク2を介して送信し、準備段階の動作は終了することとなる。
一方、端末認証部42によって、検索キーと同一の端末IDおよびパスワードが管理されていると判断された場合、すなわち、正当な利用権限を有する端末10からのログイン要求であると判断された場合には、状態管理部43が、端末管理DB4200に、端末10aaの端末ID、稼動状態、ログイン要求情報が受信された受信日時および端末10aaのIPアドレスを関連付けて記憶する(ステップS14)。
次に、管理サーバ40の送受信部41は、端末認証部42によって得られた認証結果を表す認証結果情報をログイン要求してきた端末10aaに通信ネットワーク2を介して送信する(ステップS15)。
次に、管理サーバ40の端末抽出部44は、ログイン要求してきた端末10aaの端末IDを検索キーとして、宛先リスト管理DB4300を検索し、端末10aaに対する宛先端末の候補の端末IDを抽出する(ステップS16)。
次に、管理サーバ40の端末状態取得部45は、端末抽出部44によって抽出された宛先端末の候補の端末IDを検索キーとして、端末管理DB4200を検索し、端末抽出部44によって抽出された端末IDごとに稼動状態「オフライン」、「オンライン(伝送可能)」、「オンライン(伝送中)」を読み出すことにより、宛先端末の候補となる各端末10の各稼動状態を取得する(ステップS17)。
次に、管理サーバ40の送受信部41は、ステップS17で検索キーとして使用された端末IDと、それぞれに対応する各端末10の稼動状態「オフライン」、「オンライン(伝送可能)」、「オンライン(伝送中)」とが含まれた宛先状態情報を、通信ネットワーク2を介して端末10aaに送信する(ステップS18)。これにより、端末10aaは、宛先端末の候補である各端末10の現時点のそれぞれの稼動状態「オフライン」、「オンライン(伝送可能)」、「オンライン(伝送中)」を把握することができる。
また、管理サーバ40の端末抽出部44は、ログイン要求してきた端末10aaの端末IDを検索キーとして、宛先リスト管理DB4300を検索し、端末10aaの端末IDを宛先端末の候補として登録している他の端末10の端末IDを抽出する(ステップS19)。
次に、管理サーバ40の状態管理部43は、ログイン要求して来た端末10aaの端末IDを検索キーとして、端末管理DB4200を検索し、ログイン要求してきた端末10aaの稼動状態「オンライン(伝送可能)」を取得する(ステップS20)。
次に、管理サーバ40の送受信部41は、ステップS19で抽出された端末IDで識別される各端末10のうち、端末管理DB4200で稼動状態が「オンライン」となっている端末(ここでは端末10ba,10db)に、ステップS20で取得された端末10aaの端末IDと稼動状態「オンライン(伝送可能)」とが含まれる宛先状態情報を送信する(ステップS21−1、ステップS21−2)。なお、端末10ba,10dbに宛先状態情報を送信するときには、送受信部41は、端末10ba,10dbの端末IDに基づいて、図10に示した端末管理テーブルで管理されている端末のIPアドレスを参照する。
以上の準備段階動作により、ログイン要求してきた端末10aaとの間でデータの送受信が可能な端末10ba,10dbに対し、ログイン要求してきた端末10aaの端末IDおよび稼動状態「オンライン(伝送可能)」を伝えることができる。また、準備段階動作のステップS18が完了したときに、端末10aaの表示制御部16は、ディスプレイ20に表示させた宛先リストの情報から、テレビ会議に参加中の端末、すなわち、稼動状態が「オンライン(伝送中)」や「オンライン(伝送可能)」である端末の情報をディスプレイ20に強調表示させるなどして、テレビ会議に参加している端末10または参加可能な端末10をユーザに認識させることができる。
図14は、端末10がテレビ会議に参加する参加状態になるまでの会議参加動作の一例を示すシーケンス図である。なお、図14は、端末10aaが端末10dbとのテレビ会議に参加する例を示している。この会議参加動作においては、端末10aa,10dbと管理サーバ40との間の管理情報用セッションSeiで各種情報が送受信される。
まず、端末10aaのユーザが操作ボタン108を操作してテレビ会議の参加を選択すると、端末10aaの操作入力受付部12は、端末10dbとテレビ会議を参加する旨の要求を受け付ける(ステップS31)。この要求に応じて、端末10aaの送受信部11は、端末10aaの端末IDおよび端末10dbの端末IDが含まれ、テレビ会議に参加する旨を表す参加要求情報を管理サーバ40に送信する(ステップS32)。これにより、管理サーバ40の送受信部41は、参加要求情報を受信するとともに、送信元である端末10aaのIPアドレスを確認することができる。
次に、管理サーバ40の状態管理部43は、参加要求情報に含まれる端末10aaの端末IDを検索キーとして、端末管理DB4200を検索し、参加要求してきた端末10aaの稼動状態を「オンライン(伝送中)」に設定する(ステップS33)。
次に、管理サーバ40のセッション管理部46は、端末10aaと端末10dbとの間でデータの送受信を行うためのデータ用セッションSedを識別するためのセッションIDを生成する(ステップS34)。そして、セッション管理部46は、セッション管理DB4400に、ステップS34で生成したセッションID、使用する中継サーバ30の中継サーバID、端末10aa,10dbの端末ID、送受信するデータを識別するためのデータIDを関連付けて記憶する(ステップS35)。
次に、管理サーバ40の送受信部41は、端末10aaの端末IDを含む開始要求情報を端末10dbに通信ネットワーク2を介して送信する(ステップS36)。これにより、端末10dbは、どの端末10からテレビ会議に参加したいとの要求があったのかを把握することができる。管理サーバ40から開始要求情報を受け取った端末10dbは、送受信部11から通信ネットワーク2を介して管理サーバ40に対し、開始要求情報の受信が完了した旨を示す受信完了情報を送信する(ステップS37)。
次に、管理サーバ40の送受信部41は、通信ネットワーク2を介して中継サーバ30に対し、データの中継を開始する旨の要求を表す中継開始要求情報を送信する(ステップS38)。中継開始要求情報には、端末10aaおよび端末10dbのIPアドレスが含まれている。この中継開始要求情報を受けて、中継サーバ30は、端末10aaと端末10dbとの間でデータを送受信するためのデータ用セッションSedを確立する(ステップS39)。これにより、端末10aaは、端末10dbとのテレビ会議に参加できるようになる。
また、管理サーバ40の送受信部41は、端末10aaの端末IDと稼動状態「オンライン(伝送中)」とが含まれる端末状態変更情報を、端末管理DB4200に登録されている各端末10にブロードキャストする(ステップS40)。これにより、端末状態変更情報を受信した各端末10は、必要に応じて、端末10aaの稼動状態を記憶および表示することができる。
図15は、端末10間のデータ送受信動作の一例を示すシーケンス図である。なお、図15は、端末10aaと端末10dbとの間でデータを送受信する例を示している。このデータ送受信動作においては、端末10aaと端末10dbとの間のデータ用セッションSedで画像データや音声データが送受信される。
図14を用いて説明したように端末10aaと端末10dbとの間でデータ用セッションSedが確立すると、端末10aaの送受信部11は、画像入力部14に入力された画像データと、音声入力部15に入力された音声データとを、通信ネットワーク2を介して中継サーバ30に送信する(ステップS51)。
端末10aaから画像データおよび音声データを受信した中継サーバ30は、テレビ会議に参加している各端末(ここでは端末10aa,10db)に、受信した画像データおよび音声データを送信する(ステップS52−1、ステップS52−2)。
中継サーバ30から画像データおよび音声データを受信した各端末10aa,10dbは、受信した画像データが表す画像を表示制御部16によってディスプレイ20に表示させるとともに、受信した音声データが表す音声を音声出力部17によってスピーカ115から再生出力させる(ステップS53−1、ステップS53−2)。この際、表示制御部16の時刻管理部16aは、画像データをディスプレイ20に表示させるための処理を行うたびに、そのときの時刻を最終出力時刻として、上述した出力状態管理DB1100の出力状態管理テーブル(図5参照)に書き込む処理を行う。また、音声出力部17の時刻管理部17aは、音声データをスピーカ115から再生出力させるための処理を行うたびに、そのときの時刻を最終出力時刻として出力状態管理テーブルに書き込む処理を行う。
次に、端末10dbの送受信部11は、画像入力部14に入力された画像データと、音声入力部15に入力された音声データとを、通信ネットワーク2を介して中継サーバ30に送信する(ステップS54)。
端末10dbから画像データおよび音声データを受信した中継サーバ30は、テレビ会議に参加している各端末(ここでは端末10aa,10db)に、受信した画像データおよび音声データを送信する(ステップS55−1、ステップS55−2)。
中継サーバ30から画像データおよび音声データを受信した各端末10aa,10dbは、受信した画像データが表す画像を表示制御部16によってディスプレイ20に表示させるとともに、受信した音声データが表す音声を音声出力部17によってスピーカ115から再生出力させる(ステップS56−1、ステップS56−2)。この際、表示制御部16の時刻管理部16aは、画像データをディスプレイ20に表示させるための処理を行うたびに、そのときの時刻を最終出力時刻として、上述した出力状態管理DB1100の出力状態管理テーブル(図5参照)に書き込む処理を行う。また、音声出力部17の時刻管理部17aは、音声データをスピーカ115から再生出力させるための処理を行うたびに、そのときの時刻を最終出力時刻として出力状態管理テーブルに書き込む処理を行う。
このように、端末10aa,10dbは、中継サーバ30を介して画像データや音声データを送受信することで、テレビ会議を行うことができる。なお、図15では、説明を簡単にするために、テレビ会議に参加している端末10を2つの端末10aa,10dbとしているが、テレビ会議に参加している端末10が3つ以上であっても画像データおよび音声データは、図15に示したデータ送受信動作と同様に、端末10間で送受信される。
次に、端末10の出力状態判定部21および通知部22による処理の具体例について、図16を参照して説明する。図16は、出力状態判定部21および通知部22による処理手順の一例を示すフローチャートである。
出力状態判定部21は、上述した出力状態管理DB1100の出力状態管理テーブル(図5参照)を参照しながら、端末10が参加しているテレビ会議において共有されている画像データや音声データのうち、当該端末10が出力中のデータ(出力状態が「出力停止」でないデータ)それぞれについて出力状態の判定を行い、必要に応じて出力状態管理テーブルの更新を行う。通知部22は、出力状態に変化があった場合に中継サーバ30への通知を行う。
図16に示すように、出力状態判定部21および通知部22が実行する処理のルーチンは、第1のループ処理(ステップS100)と、これに続く第2のループ処理(ステップS200)とからなる。出力状態判定部21および通知部22は、これら2つのループ処理からなるルーチンを所定のタイミング(例えば5秒間隔)で繰り返し実行する。
第1のループ処理(ステップS100)では、出力状態管理DB1100の出力状態管理テーブルで管理されているデータの中から、現在の出力状態が「出力正常」となっているデータ(以下、このようなデータを「データA」と表記する。)それぞれについて、以下のステップS101〜ステップS104の処理を実行する。
まず、出力状態判定部21は、出力状態管理テーブルを参照してデータAの最終出力時刻を調べ、その時刻から現在までの経過時間が閾値T1を超えているか否かを判定する(ステップS101)。そして、最終出力時刻からの経過時間が閾値T1を超えていない場合は(ステップS101:No)、このデータAの出力状態は「出力正常」のままであるため、次のデータAの判定処理(ステップS101)に移る。
一方、ステップS101で最終出力時刻からの経過時間が閾値T1を超えていると判定した場合は(ステップS101:Yes)、出力状態判定部21は、出力状態の回復の判定に用いる復帰カウンタを0にクリアし(ステップS102)、出力状態管理テーブルにおける当該データAの出力状態を「出力正常」から「出力異常」に変更する(ステップS103)。そして、通知部22は、当該データAの出力状態が「出力異常」となったことを中継サーバ30に通知する(ステップS104)。この出力異常通知には、出力状態が「出力異常」となったデータAのデータIDと、当該端末10のIPアドレスとが含まれる。
その後、第1のループ処理(ステップS100)を行っていないデータAがあれば、ステップS101に戻って以降の処理を繰り返し、すべてのデータAに対して第1のループ処理(ステップS100)が終了すると、第2のループ処理(ステップS200)に移行する。
第2のループ処理(ステップS200)では、出力状態管理DB1100の出力状態管理テーブルで管理されているデータの中から、現在の出力状態が「出力異常」となっているデータ(以下、このようなデータを「データB」と表記する。)それぞれについて、以下のステップS201〜ステップS206の処理を実行する。
まず、出力状態判定部21は、出力状態管理テーブルを参照してデータBの最終出力時刻を調べ、その時刻から現在までの経過時間が閾値T2未満であるか否かを判定する(ステップS201)。このときの閾値T2は、ステップS101での判定処理に用いた閾値T1よりも小さく、データの出力状態が回復したことを確実に判定できる値であることが望ましい。そして、最終出力時刻からの経過時間が閾値T2未満でない場合は(ステップ201:No)、出力状態判定部21は、復帰カウンタを0にクリアし(ステップS202)、次のデータBの判定処理(ステップS201)に移る。
一方、ステップS201で最終出力時刻からの経過時間が閾値T2未満であると判定した場合は(ステップS201:Yes)、出力状態判定部21は、復帰カウンタを1増加(インクリメント)させた後(ステップS203)、復帰カウンタの値が閾値N以上であるか否かを判定する(ステップS204)。そして、復帰カウンタの値が閾値N未満であれば(ステップS204:No)、出力状態の回復が一時的なものである可能性があるため、次のデータBの判定処理(ステップS201)に移る。
一方、ステップS204で復帰カウンタの値が閾値N以上であると判定した場合は(ステップS204:Yes)、出力状態判定部21は、出力状態管理テーブルにおける当該データBの出力状態を「出力異常」から「出力正常」に変更する(ステップS205)。そして、通知部22は、当該データBの出力状態が「出力異常」から「出力正常」に回復したことを中継サーバ30に通知する(ステップS206)。この出力異常回復通知には、出力状態が「出力正常」に回復したデータBのデータIDと、当該端末10のIPアドレスとが含まれる。
その後、第2のループ処理(ステップS200)を行っていないデータBがあれば、ステップS201に戻って以降の処理を繰り返し、すべてのデータBに対して第2のループ処理(ステップS200)が終了すると、図16のフローチャートで示す一連の処理が終了となる。
次に、データの出力状態の通知とそれに伴う端末10、中継サーバ30および管理サーバ40の動作について、図17を参照して説明する。図17は、出力異常通知および出力異常回復通知を含む動作の一例を示すシーケンス図である。なお、図17は、端末10aaから中継サーバ30を介して端末10bdおよび端末10dcに送信された画像データや音声データに対して、出力状態の通知がなされる例を示している。
テレビ会議に参加している端末10aaからの画像データや音声データは、中継サーバ30を介して、同じテレビ会議に参加している端末10bdおよび端末10dcに送信される(ステップS61〜ステップS63)。以降、図17では図示を省略するが、この端末10aaからのデータは、端末10bdおよび端末10dcに対して継続して送信されているものとする。端末10bdおよび端末10dcでは、この端末10aaからのデータに対し、図16に示したフローに従った出力状態の判定を随時(例えば5秒間隔で)行っている。
ここで、端末10dbにおいて、端末10aaから送信されたデータの出力状態が「出力異常」であることが検出されたものとする。この場合、端末10dbは、「出力異常」と判定したデータのデータIDと自端末のIPアドレスとを含む出力異常通知を、中継サーバ30に送信する(ステップS64)。
中継サーバ30は、端末10dbからの出力異常通知を受け取ると、全出力状態管理DB3100の全出力状態管理テーブルを出力異常通知に従って更新する(ステップS65)。具体的には、中継サーバ30は、全出力状態管理テーブルの「出力異常」の状態にあるデータのデータIDに対応する「出力異常端末」のフィールドに、「出力異常」を検出した端末(ここでは端末10db)のIPアドレスを追加する。
次に、中継サーバ30は、出力異常の状態にあるデータのデータIDと、「出力異常」を検出した端末(ここでは端末10db)のIPアドレスと、「出力異常」の状態にあるデータの送信元端末(ここでは端末10aa)のIPアドレスとを含む出力異常通知を、管理サーバ40に送信する(ステップS66)。
管理サーバ40は、中継サーバ30からの出力異常通知を受け取ると、「出力異常」を検出した端末(ここでは端末10db)のIPアドレスを検索キーとして端末管理DB4200を検索し、当該端末10dbの端末名を取得する(ステップS67)。そして、管理サーバ40は、「出力異常」の状態にあるデータのデータIDと「出力異常」を検出した端末(ここでは端末10db)の端末名とを含む出力異常通知を、データの送信元端末(ここでは端末10aa)に送信する(ステップS68)。これにより、端末10aaでは、自身が送信しているどのデータがどの端末において「出力異常」の状態になっているかを把握できる。
管理サーバ40から出力異常通知を受けた端末10aaでは、状態表示処理部23が、管理サーバ40からの出力異常通知に基づいて、出力状態情報をディスプレイ20に表示させるための処理を行う(ステップS69)。例えば、状態表示処理部23は、管理サーバ40からの出力異常通知に基づいて、端末10db(ここでは、端末名を事業所Bとする)において画像データが「出力異常」の状態であることを示す出力状態情報を生成する。そして、状態表示処理部23は、生成した出力状態情報を表示制御部16に渡して出力状態情報の表示要求を行い、例えば図18(a)に示すように、テレビ会議画面300上のポップアップ画面として、「事業所Bで画像出力に異常が発生しています」といったメッセージで構成された出力状態情報310をディスプレイ20に表示させる。
その後、端末10dbにおいて、端末10aaから送信されたデータの出力状態が「出力異常」から「出力正常」に回復したことが検出されたものとする。この場合、端末10dbは、出力状態が回復したデータのデータIDと自端末のIPアドレスとを含む出力異常回復通知を、中継サーバ30に送信する(ステップS70)。
中継サーバ30は、端末10dbからの出力異常回復通知を受け取ると、全出力状態管理DB3100の全出力状態管理テーブルを出力異常回復通知に従って更新する(ステップS71)。具体的には、中継サーバ30は、全出力状態管理テーブルの出力状態が回復したデータのデータIDに対応する「出力異常端末」のフィールドから、出力状態の回復を検出した端末(ここでは端末10db)のIPアドレスを削除する。
次に、中継サーバ30は、出力状態が回復したデータのデータIDと、出力状態の回復を検出した端末(ここでは端末10db)のIPアドレスと、出力状態が回復したデータの送信元端末(ここでは端末10aa)のIPアドレスとを含む出力異常回復通知を、管理サーバ40に送信する(ステップS72)。
管理サーバ40は、中継サーバ30からの出力異常回復通知を受け取ると、出力状態の回復を検出した端末(ここでは端末10db)のIPアドレスを検索キーとして端末管理DB4200を検索し、当該端末10dbの端末名を取得する(ステップS73)。そして、管理サーバ40は、出力状態が回復したデータのデータIDと出力状態の回復を検出した端末(ここでは端末10db)の端末名とを含む出力異常回復通知を、データの送信元端末(ここでは端末10aa)に送信する(ステップS74)。これにより、端末10aaでは、自身が送信しているどのデータの出力状態がどの端末において回復したかを把握できる。
管理サーバ40から出力異常回復通知を受けた端末10aaでは、状態表示処理部23が、管理サーバ40からの出力異常回復通知に基づいて、出力状態情報をディスプレイ20に表示させるための処理を行う(ステップS75)。例えば、状態表示処理部23は、管理サーバ40からの出力異常回復通知に基づいて、端末10db(ここでは、表示名を事業所Bとする)において「出力異常」の状態にあった画像データが「出力正常」の状態に回復したことを示す出力状態情報を生成する。そして、状態表示処理部23は、生成した出力状態情報を表示制御部16に渡して出力状態情報の表示要求を行い、例えば図18(b)に示すように、テレビ会議画面300上のポップアップ画面として、「事業所Bでの画像の出力状態が回復しました」といったメッセージで構成された出力状態情報320をディスプレイ20に表示させる。
なお、図17のシーケンス図で示した例では、出力状態情報の表示処理を行う端末10aaが、「出力異常」を検出した端末10dbの端末名を含む出力異常通知や、出力状態の回復を検出した端末10dbの端末名を含む出力異常回復通知を管理サーバ40から受け取っている。しかし、出力状態情報の表示処理を行う端末10がテレビ会議に参加している他の端末の端末IDと端末名との対応関係を記憶している場合には、端末名の代わりに端末IDを含む出力異常通知や出力異常回復通知を管理サーバ40から受け取るように構成してもよい。
また、図17のシーケンス図で示した例では、中継サーバ30からの出力異常通知や出力異常回復通知を、管理サーバ40を介して端末10に送信することにより、「出力異常」を検出した端末10や出力状態の回復を検出した端末10のIPアドレスを表示名に変換して、出力状態情報の表示処理を行う端末10に通知している。しかし、「出力異常」や出力状態の回復が生じた端末10を特に特定することなく、いずれかの端末10において「出力異常」や出力状態の回復があることのみを示す出力状態情報を表示させる場合には、中継サーバ30からの出力異常通知や出力異常回復通知を、管理サーバ40を介さずに端末10に直接送信する構成としてもよい。
また、中継サーバ30と端末10との少なくとも一方が、テレビ会議に参加している端末10のIPアドレスと端末名との対応関係を記憶している場合も同様に、中継サーバ30からの出力異常通知や出力異常回復通知を、管理サーバ40を介さずに端末10に直接送信する構成とすることができる。
次に、端末10が他の端末10に送信している各データの出力状態の一覧を出力状態情報としてディスプレイ20に表示させる動作について、図19を参照して説明する。図19は、出力状態の一覧を取得して表示する動作の一例を示すシーケンス図である。なお、図19は、端末10aaが他の端末10に送信している各データの出力状態の一覧を取得して表示する例を示している。
まず、端末10aaのユーザが操作ボタン108などを用いて出力状態の一覧を要求する操作を行うと、端末10aaは、自端末のIPアドレスを含む出力状態一覧要求を、中継サーバ30に送信する(ステップS81)。
中継サーバ30は、端末10aaからの出力状態一覧要求を受け取ると、全出力状態管理DB3100の全出力状態管理テーブルを参照して、要求元の端末10aaが他の端末10に送信している各データについて、「出力異常」を検出した端末10のIPアドレスのリストを生成する(ステップS82)。具体的には、中継サーバ30は、全出力状態管理テーブルの中から、要求元の端末10aaが他の端末10に送信しているデータのデータIDに対応する「出力異常端末」のフィールドにIPアドレスが記憶されているか否かを確認する。そして、「出力異常端末」のフィールドにIPアドレスが記憶されている場合、そのIPアドレスとデータIDとの組み合わせを取り出す。この処理を、要求元の端末10aaが他の端末10に送信しているデータすべてに対して繰り返し、データIDとIPアドレスとの組み合わせからなるリストを生成する。
次に、中継サーバ30は、要求元の端末10aaのIPアドレスと生成したリストとを含む出力状態一覧通知を、管理サーバ40に送信する(ステップS83)。
管理サーバ40は、中継サーバ30からの出力状態一覧通知を受け取ると、セッション管理DB4400および端末管理DB4200に対する検索処理を行う(ステップS84)。具体的には、管理サーバ40は、セッション管理DB4400のセッション管理テーブルを参照し、出力状態一覧の要求元の端末10aaと同じテレビ会議に参加している他の端末10の端末名の一覧であるリストを生成する。さらに、管理サーバ40は、端末管理DB4200の端末管理テーブルを参照して、「出力異常」を検出した端末10のIPアドレスに対応する端末名を取得し、出力異常の状態にあるデータのデータIDと出力異常が生じた端末10の端末名との組み合わせからなるリストを生成する。
次に、管理サーバ40は、要求元の端末10aaと同じテレビ会議に参加している他の端末10の端末名のリスト、および、「出力異常」の状態にあるデータのデータIDと「出力異常」を検出した端末10の端末名との組み合わせからなるリストを含む出力状態一覧通知を、要求元の端末10aaに送信する(ステップS85)。
管理サーバ40から出力状態一覧通知を受けた端末10aaでは、状態表示処理部23が、管理サーバ40からの出力状態一覧通知に基づいて、出力状態の一覧を表す出力状態情報をディスプレイ20に表示させるための処理を行う(ステップS86)。例えば、状態表示処理部23は、管理サーバ40からの出力状態一覧通知に基づいて、参加拠点一覧画面の画面情報を生成する。そして、状態表示処理部23は、生成した画面情報を表示制御部16に渡して出力状態情報の表示要求を行い、例えば図20に示すように、テレビ会議に参加している各拠点の一覧とともに、自拠点からの画像データや音声データがどのような出力状態にあるかを示す参加拠点一覧画面400をディスプレイ20に表示させる。
なお、図19のシーケンス図で示した例では、端末10aaが中継サーバ30に対して出力状態一覧要求を行っている(ステップS81)。しかし、端末10aaは、管理サーバ40に対して出力状態一覧要求を行うようにしてもよい。この場合、端末10aaは、例えば、自端末の端末IDを含む出力状態一覧要求を管理サーバ40に送信する。管理サーバ40は、端末10aaの端末IDをもとに端末10aaのIPアドレスを特定し、このIPアドレスを含む出力状態一覧要求を中継サーバ30に送信する。以降の処理は、図19のシーケンス図で示した例と同様である。
また、図19のシーケンス図で示した例では、出力状態情報の表示処理を行う端末10aaが、同じテレビ会議に参加している他の端末10の端末名や「出力異常」を検出した端末10の端末名を含む出力状態一覧通知を管理サーバ40から受け取っている。しかし、出力状態情報の表示処理を行う端末10がテレビ会議に参加している他の端末の端末IDと端末名との対応関係を記憶している場合には、端末名の代わりに端末IDを含む出力状態一覧通知を管理サーバ40から受け取るように構成してもよい。
また、図19のシーケンス図で示した例では、中継サーバ30からの出力状態一覧通知を、管理サーバ40を介して端末10に送信することにより、テレビ会議に参加している端末10のIPアドレスを表示名に変換して、出力状態情報の表示処理を行う端末10に通知している。しかし、中継サーバ30と端末10との少なくとも一方が、テレビ会議に参加している端末10のIPアドレスと端末名との対応関係を記憶している場合には、中継サーバ30からの出力状態一覧通知を、管理サーバ40を介さずに端末10に直接送信する構成としてもよい。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のテレビ会議システム1では、テレビ会議に参加する端末10のそれぞれが、他の端末10から受信したデータの出力状態を判定して中継サーバ30に通知する。また、テレビ会議に参加する端末10のそれぞれは、他の端末10に送信したデータの他の端末10における出力状態を中継サーバ30から管理サーバ40を介して取得し、取得した出力状態を示す出力状態情報をディスプレイ20に表示させる。したがって、このテレビ会議システム1によれば、テレビ会議に参加する各端末10が、他の端末10に送信したデータの他の端末10における出力状態を簡便に把握することができる。
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で様々な変形や変更を加えて具体化することができる。つまり、上述した実施形態で説明したテレビ会議システム1、端末10、中継サーバ30および管理サーバ40などの具体的な構成や動作はあくまで一例であり、用途や目的に応じて様々な変形が可能である。
例えば、上述した実施形態における中継サーバ30、管理サーバ40およびプログラム提供サーバ50は、単一のコンピュータによって構築されてもよいし、各サーバの機能を分割して任意に割り当てられた複数のコンピュータによって構築されていてもよい。また、各サーバの機能の一部または全部を任意に組み合わせて、上述した実施形態とは異なる枠組みのサーバ装置あるいはシステムを構築するようにしてもよい。例えば、中継サーバ30の機能と管理サーバ40の機能とを統合して1つのサーバ装置を構築するようにしてもよい。
また、上述した実施形態では、本発明を適用した通信システムの一例としてテレビ会議システム1を例示したが、これに限られるものではない。本発明は、例えば、端末間で双方向に音声データを送受信するIP(Internet Protocol)電話などの電話システムや、管理センタの端末から自動車に搭載されたカーナビゲーション装置に対して地図データやルート情報などを配信するカーナビゲーションシステムなど、各種の通信システムに対して有効に適用可能である。
また、上述した実施形態では、本発明を適用した通信装置の一例としてテレビ会議端末(端末)10を例示したが、これに限られるものではない。本発明は、例えばPCやタブレット端末、スマートフォン、電子黒板、自動車に搭載されるカーナビゲーション装置等の各種の通信装置に対して有効に適用可能である。
上述した実施形態は、次に示される捉え方が可能である。すなわち、実施形態の端末10は、他の端末10から受信したデータを出力する端末10であって、他の端末10から受信したデータの出力状態を外部の中継サーバ30に通知する通知部22と、他の端末10と前記データを受信するためのセッションを確立している間に、他の端末10に送信したデータの他の端末10における出力状態を中継サーバ30から管理サーバ40を介して取得し、取得した出力状態を示す出力状態情報をディスプレイ20に表示させる状態表示処理部23と、を備える。
また、実施形態のテレビ会議システム1は、他の端末10から受信したデータを出力する複数の端末10と、中継サーバ30および管理サーバ40と、を含むテレビ会議システム1であって、複数の端末10のそれぞれは、他の端末10から受信したデータの出力状態を中継サーバ30に通知する通知部22と、他の端末10と前記データを受信するためのセッションを確立している間に、他の端末10に送信したデータの他の端末10における出力状態を中継サーバ30から管理サーバ40を介して取得し、取得した出力状態を示す出力状態情報をディスプレイ20に表示させる状態表示処理部23と、を備え、中継サーバ30は、端末10から通知された出力状態に基づき、複数の端末10間で送受信されるすべてのデータの出力状態を管理する出力状態管理部33と、端末10から通知された出力状態を、該出力状態のデータの送信元の端末10に管理サーバ40を介して通知する送受信部31と、を備える。
また、実施形態の中継サーバ30および管理サーバ40は、他の端末10から受信したデータを出力する複数の端末10間のデータの送受信を管理する通信管理システムを構築する。この通信管理システムによりデータの送受信が管理される複数の端末10のそれぞれは、他の端末10から受信したデータの出力状態を通知する通知部22と、他の端末10と前記データを受信するためのセッションを確立している間に、他の端末10に送信したデータの他の端末10における出力状態を示す出力状態情報をディスプレイ20に表示させる状態表示処理部23と、を備える。そして、この通信システムは、端末10から通知された出力状態を取得し、複数の端末10間で送受信されるすべてのデータの出力状態を管理する出力状態管理部33と、出力状態管理部33で管理する出力状態を、該出力状態のデータの送信元の端末10に通知する送受信部31,41と、を備える。
また、実施形態の通信制御方法は、他の端末10から受信したデータを出力する端末10において実行される通信制御方法であって、他の端末10から受信したデータの出力状態を中継サーバ30に通知する工程と、他の端末10と前記データを受信するためのセッションを確立している間に、他の端末10に送信したデータの他の端末10における出力状態を中継サーバ30から管理サーバ40を介して取得し、取得した出力状態を示す出力状態情報をディスプレイ20に表示させる工程と、を含む。
また、実施形態の端末用プログラムは、他の端末10から受信したデータを出力する端末10に、他の端末10から受信したデータの出力状態を中継サーバ30に通知する機能と、他の端末10と前記データを受信するためのセッションを確立している間に、他の端末10に送信したデータの他の端末10における出力状態を中継サーバ30から管理サーバ40を介して取得し、取得した出力状態を示す出力状態情報をディスプレイ20に表示させる機能と、を実現させる。