(57)【要約】【課題】  ユーザ間のコミュニケーションを維持することができる装置や方法を提供する。【解決手段】  この装置は、複数の機器との通信を制御する情報処理装置であり、複数の機器のうちの１つからデータを受信するデータ受信部５０と、データ受信部５０により受信されたデータの種類に基づき、該データの送信の優先順位を決定するデータ処理部５５と、データ処理部５５により決定された優先順位に従って、複数の機器のうちのデータを送信した機器を除く他の機器へ該データを送信するデータ送信部５２とを含む。データ送信部５２が送信すべきデータのうち指定期間内に送信していないデータがある場合、データ処理部５５は、該送信していないデータの優先順位を変更し、データ送信部５２に該送信していないデータを優先的に送信させる。【選択図】  図３
2015207819.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器との通信を制御する情報処理装置であって、
前記複数の機器の少なくとも１つからデータを受信するデータ受信部と、
前記データ受信部により受信されたデータの種類に基づき、該データの送信の優先順位を決定するデータ処理部と、
前記データ処理部により決定された優先順位に従って、前記複数の機器のうちのデータを送信した機器を除く他の機器へ該データを送信するデータ送信部とを含み、
前記データ送信部が送信すべきデータのうち指定期間内に送信していないデータがある場合、前記データ処理部が該送信していないデータの優先順位を変更し、前記データ送信部に該送信していないデータを優先的に送信させる、情報処理装置。
【請求項２】
データの種類とデータの送信の優先順位とを対応付けたデータ優先情報を格納する情報格納部を含み、
前記データ処理部は、前記データ優先情報を参照して前記優先順位を決定する、請求項１に記載の情報処理装置。
【請求項３】
前記データ送信部が送信したデータの情報を履歴情報として記憶する履歴記憶部を含み、
前記データ処理部は、前記履歴情報を参照して前記送信すべきデータが前記指定期間内かどうかを判断する、請求項１または２に記載の情報処理装置。
【請求項４】
前記指定期間は、データの種類に応じて指定される、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記データ受信部が受信したデータを格納するデータ蓄積部を含み、
前記データ処理部は、前記データ蓄積部に格納されたデータを取り出し、前記優先順位を決定し、決定した該優先順位に従ってデータを並べ替えて前記データ蓄積部に格納させ、該優先順位に従って配列する最初のデータを前記データ蓄積部から取り出し、前記データ送信部へ渡す、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記データ受信部が受信し、前記データ処理部が決定した前記優先順位に従ってデータを格納するデータ蓄積部を含み、
前記データ送信部が前記優先順位に従って配列する最初のデータを前記データ蓄積部から取り出し、送信する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項７】
前記データ処理部は、前記データ受信部がデータを受信したことに応答して、または前記データ送信部がデータを送信したことに応答して、前記優先順位を決定し、前記送信すべきデータが前記指定期間内かどうかを判断する、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
複数の機器と、前記複数の機器の通信を制御する情報処理装置とを含む情報処理システムであって、前記情報処理装置が、
前記複数の機器の少なくとも１つからデータを受信するデータ受信部と、
前記データ受信部により受信されたデータの種類に基づき、該データの送信の優先順位を決定するデータ処理部と、
前記データ処理部により決定された優先順位に従って、前記複数の機器のうちのデータを送信した機器を除く他の機器へ該データを送信するデータ送信部とを含み、
前記データ送信部が送信すべきデータのうち指定期間内に送信していないデータがある場合、前記データ処理部が該送信していないデータの優先順位を変更し、前記データ送信部に該送信していないデータを優先的に送信させる、情報処理システム。
【請求項９】
複数の機器との通信を制御する情報処理装置により実行される通信制御方法であって、
前記複数の機器の少なくとも１つからデータを受信するステップと、
受信されたデータの種類に基づき、該データの送信の優先順位を決定するステップと、
決定された優先順位に従って、前記複数の機器のうちのデータを送信した機器を除く他の機器へ該データを送信するステップと、
送信すべきデータのうち指定期間内に送信していないデータがある場合、該送信していないデータの優先順位を変更し、変更した優先順位に従って該送信していないデータを優先的に送信するステップとを含む、通信制御方法。
【請求項１０】
請求項９に記載の通信制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器との通信を制御する情報処理装置、その情報処理装置を含む情報処理システム、通信制御方法およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
電子会議システムでは、会議の各参加者が所有するＰＣやプロジェクタ等へ、主催者や任意の参加者が映像、音声、手書きした文字等のデータを送信して表示および出力させ、データを共有しながら会議を行っている。
【０００３】
このようなシステムにおいて、ある会議場のテレビ会議装置からマウス等により手書き入力された情報、キーボードから入力された情報を他の会議場のディスプレイに優先的に表示させる技術が知られている（特許文献１参照）。この技術では、あるデータに割り込んで手書き入力された情報等を優先的に、可能であればリアルタイムに表示させている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、優先度が高いマウス操作のデータの割り込みによりシステムが長時間占有された場合、優先度が低い映像や音声のデータの送受信ができない。その結果、映像や音声が途切れてしまい、このシステムを利用するユーザ間のコミュニケーションを維持できないという問題があった。
【０００５】
そこで、ユーザ間のコミュニケーションを維持することができる装置や方法等の提供が望まれていた。
【課題を解決するための手段】
【０００６】
本発明は、上記課題に鑑み、複数の機器との通信を制御する情報処理装置であって、複数の機器の少なくとも１つからデータを受信するデータ受信部と、データ受信部により受信されたデータの種類に基づき、該データの送信の優先順位を決定するデータ処理部と、データ処理部により決定された優先順位に従って、複数の機器のうちのデータを送信した機器を除く他の機器へ該データを送信するデータ送信部とを含み、データ送信部が送信すべきデータのうち指定期間内に送信していないデータがある場合、データ処理部が該送信していないデータの優先順位を変更し、データ送信部に該送信していないデータを優先的に送信させる、情報処理装置が提供される。
【発明の効果】
【０００７】
本発明によれば、ユーザ間のコミュニケーションを維持することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の情報処理装置を含む情報処理システムとしての会議システムの構成例を示した図。
【図２】図１に示す情報処理装置としての電子黒板のハードウェア構成を示した図。
【図３】図１に示す情報処理装置としての端末Ｃと、複数の機器としての端末Ａ、Ｂの機能ブロック図。
【図４】データ優先テーブルの一例を示した図。
【図５】図１に示す会議システムで実行される１つの処理の流れを示したフローチャート。
【図６】データ蓄積部に格納されたデータのデータ構造の一例を示した図。
【図７】データ履歴記憶部に記憶された履歴データのデータ構造の一例を示した図。
【図８】図３に示すデータ処理部が実行する１つの処理の流れを示したフローチャート。
【図９】図１に示す会議システムにおいて、電子黒板および各端末が画面を共有している様子を例示した図。
【図１０】データ優先テーブルの別の例を示した図。
【図１１】データ蓄積部に格納されたデータ群の第１の例を示した図。
【図１２】データ履歴記憶部に記憶された履歴データの第１の例を示した図。
【図１３】データ蓄積部に格納されたデータ群の第２の例を示した図。
【図１４】データ履歴記憶部に記憶された履歴データの第２の例を示した図。
【図１５】図１に示す会議システムで実行される別の処理の流れを示したフローチャート。
【図１６】図３に示すデータ処理部が実行する別の処理の流れを示したフローチャート。
【図１７】端末Ｃが受信した端末Ａからのデータのデータ構造の一例を示した図。
【図１８】データ蓄積部に格納されたデータ群の第３の例を示した図。
【図１９】データ履歴記憶部に記憶された履歴データの第３の例を示した図。
【図２０】データ比較後にデータ蓄積部に格納されたデータ群の例を示した図。
【図２１】端末Ｃが受信した端末Ａからのデータのデータ構造の別の例を示した図。
【図２２】データ蓄積部に格納されたデータ群の第４の例を示した図。
【図２３】データ履歴記憶部に記憶された履歴の第４の例を示した図。
【図２４】データ比較後にデータ蓄積部に格納されたデータ群の別の例を示した図。
【発明を実施するための形態】
【０００９】
図１は、本実施形態の情報処理装置を含む情報処理システムとしての会議システムの構成例を示した図である。ここでは、会議システムを例に挙げるが、この会議システムと同様の通信制御が必要なシステムであれば、いかなるシステムにも適用することができる。
【００１０】
図１に示す会議システム１０は、サーバ機能を備える電子黒板１１と、電子黒板１１と通信を行う複数の機器としての端末１２、１３とを含んで構成されている。電子黒板１１と端末１２、１３とは、有線または無線のネットワークにより互いに接続され、互いに通信可能とされている。図１では、端末１２はノートＰＣとされ、端末１３はタブレット端末とされ、電子黒板１１と端末１２、１３とは無線ネットワークを介して接続されている。
【００１１】
電子黒板１１は、端末１２、１３からデータを受信し、画面を拡大等して表示する機能を有している。また、電子黒板１１は、会議の主催者あるいは参加者であるユーザが画面に手書き入力した情報等を受け付け、その情報を表示する機能を有している。さらに、電子黒板１１は、スキャナ機能や印刷機能を有し、画面上に描かれた内容を読み取り、印刷して出力することができるようになっている。
【００１２】
電子黒板１１は、サーバ機能を有し、１つの端末から受け付けたデータを他の端末へ送信してデータ共有等を実現することができる。データの共有は、例えば、端末１２が表示しているデータを、ネットワークを介して電子黒板１１へ送信し、電子黒板１１がそのデータを表示するとともに、端末１３へ送信し、端末１３が表示することにより実現することができる。電子黒板１１が備えるサーバ機能は、データを送受信するだけではなく、必要に応じて、データ圧縮等の所定の処理を行い、処理したデータを送信することもできる。電子黒板１１としては、インタラクティブホワイトボード等を用いることができる。
【００１３】
図１に示す例では、電子黒板１１がサーバ機能を有するものとされているが、性能要件や状況に応じて、端末１２や端末１３等がサーバ機能を有していてもよい。また、サーバ機能を分離し、サーバ機能をもつ１つの機器としてサーバ装置を別に設けてもよい。サーバ装置としては、ＰＣ、ワークステーション、ブレードサーバ等のほか、ネットワークに接続されているＭＦＰ(Multi Function Peripheral)やプリントサーバ等を用いてもよい。電子黒板１１とサーバ装置は、ネットワークを介して接続されていてもよいし、ケーブルにより直接接続されていてもよい。
【００１４】
端末１２、１３は、表示部を備え、その表示部に表示させるための各種のデータやプログラムを保持する。また、端末１２、１３は、互いにデータを共有するために、サーバ機能を備える電子黒板１１へネットワークを介してデータを送信し、また、データを受信する。さらに、端末１２、１３は、表示部に表示したデータに対して、ユーザが手書き入力した情報等を受け付け、それを表示部に表示し、また、それを電子黒板１１へ送信することができるように構成されている。
【００１５】
端末１２、１３は、ディスプレイを表示部として用いることができるが、入力装置としても機能するタッチパネルを用いることもできる。表示部としてディスプレイを採用する場合、上記の情報の入力を可能にするため、キーボード、マウス、パッド等の入力装置を別途備えることができる。また、端末１２、１３は、マイク等の音声入力装置、スピーカ等の音声出力装置、撮像装置等も備えることができる。このため、データとして、音声データや、撮像された画像の画像データ、撮像された映像の映像データ等も送受信し、データ共有することができる。
【００１６】
端末１２、１３としては、上記のノートＰＣやタブレット端末のほか、デスクトップＰＣ、スマートフォン、ＰＤＡ(Personal Digital Assistant)等を用いることができる。
【００１７】
端末１２、１３が電子黒板１１に送信するデータとしては、画像データ、映像データ、音声データ、ストローク（手書き入力）データ、テキストデータ、ポインティングデータ等を挙げることができる。
【００１８】
会議システム１０は、電子黒板１１が備えるサーバ機能により、会議の状況に応じて、受信した様々なデータに優先順位をつけ、その優先順位に従って各データを送信する。ここで、会議の状況とは、会議中に端末１２、１３等から受信し、それらへ送信した各種のデータと、会議時間軸に沿った履歴データの順番から把握できる状況をいう。例えば、ある時間帯において端末１２から音声データの送信が多ければ、その時間帯は端末１２を使用するユーザが発言していたと認識することができる。
【００１９】
このような状況において、別のユーザが端末１３を使用し、手書き入力を行い、上記のユーザの発言に対して補足説明をする場合、会議システム１０は、ストロークデータを音声データより高い優先順位をつける。このため、会議システム１０は、ストロークデータを音声データより優先して送信する。これにより、発言に手書き入力を被せて補足説明を行うことができ、ユーザ間においてコミュニケーションを実現できる。
【００２０】
このような優先順位が高いストロークデータの受信が続くと、優先順位が低い音声データが送信されず、音声が途切れてしまい、コミュニケーションを維持することができなくなる。しかしながら、この会議システム１０では、高い優先順位のデータの割り込みが続いたとしても、一定の時間間隔で低い優先順位のデータも送信するように構成されているため、音声が途切れるようなことは生じない。このため、コミュニケーションを維持できるものである。
【００２１】
図１に示す会議システム１０は、１つの電子黒板１１と、２つの端末１２、１３とから構成されているが、これに限られるものではなく、２以上の電子黒板や３以上の端末を含んでいてもよい。また、会議システム１０は、電子黒板１１、端末１２、１３以外の機器を含んでいてもよく、これら機器は、同じ会議室内に限らず、互いに離れた場所にある会議室に配置されていてもよい。
【００２２】
上記のような処理を実現するためのハードウェア構成を、図２を参照して説明する。図２は、電子黒板１１が備えるサーバ機能を実現するためのハードウェア構成を示した図である。電子黒板１１は、表示装置、入力装置、スキャナ装置、プリンタ等を備えるが、ここでは、サーバ機能を実現する部分のみのハードウェア構成を説明する。なお、端末１２、１３も、図２に示すハードウェア構成と同様の構成を採用するため、端末１２、１３についての説明は省略する。
【００２３】
図２に示すハードウェア構成は、一般的なＰＣと同様の構成とすることができ、電子黒板１１全体の制御を行うＣＰＵ２０を備える。また、電子黒板１１は、ブートプログラムやファームウェア等を記憶するＲＯＭ２１と、ＣＰＵ２０の作業空間として使用されるＲＡＭ２２とを備える。
【００２４】
電子黒板１１は、サーバ機能を実現するためのプログラムやその処理に必要な情報等を記憶するＨＤＤ２３を備えている。ここではＨＤＤ２３を用いる構成を例示しているが、ＳＳＤ(Solid State Drive)を用いる構成であってもよい。図２では、さらに、フラッシュメモリ等の記録メディアに対するデータの読み出し、書き込みを制御するメディアドライブ等の外部記憶Ｉ／Ｆ２５を備えている。  
【００２５】
電子黒板１１は、端末１２、１３等との間でネットワークを介してデータを送受信する通信Ｉ／Ｆ２４と、互いに電気的に接続するためのアドレスバスやデータバス等のバスライン２７とを備えている。また、電子黒板１１は、表示装置、スピーカ等の音声出力装置、スキャナ装置、印刷装置、キーボード、マウス、マイク等の入力装置を接続し、データの入出力を制御する入出力Ｉ／Ｆ２６も備えている。
【００２６】
上記のプログラムは、上記の記録メディアに格納して提供することもできるし、図示しないコンテンツサーバ等からのダウンロード形式で提供することもできる。なお、端末１２、１３については、データを送受信して、画面にデータを表示するというデータ共有を実現するためのプログラムが提供される。
【００２７】
図３を参照して、会議システムが備える電子黒板１１と端末１２、１３が備える機能について説明する。以下、端末１２を端末Ａ、端末１３を端末Ｂ、電子黒板１１を端末Ｃとして参照する。端末Ａ、Ｂは、同じ機能を有し、その機能部として、データを送信するデータ送信部３０、４０、データを受信するデータ受信部３１、４１を備える。これらの機能部は、端末Ａ、Ｂが備えるＣＰＵ、ＲＡＭ、ＨＤＤ、通信Ｉ／Ｆにより実現される。
【００２８】
データ送信部３０、４０は、端末Ａ、Ｂが保持するデータを、ネットワークを介して端末Ｃへ送信する。データは、例えば、端末Ａ、Ｂが自機の表示部に表示しているデータで、上記の映像データ、画像データ、音声データ、ストロークデータ、テキストデータ、ポインティングデータ等とされる。ストロークデータは、手書き入力した情報を含み、ポインティングデータは、画面上の任意の指摘箇所をポインティングしたときのその箇所の座標情報を含む。手書き入力した情報は、手書き入力した部分の複数の座標情報を含む。
【００２９】
データ受信部３１、４１は、端末Ｃからネットワークを介してデータを受信する。データ受信部３１、４１は、図示しない出力制御部へ受信したデータを渡し、出力制御部が図示しない表示部や音声出力部にデータを出力させる。出力制御部は、データを出力させるにあたって表示サイズや音量調整等の所定の処理を行い、処理したデータを出力させることができる。ここでは出力制御部を備える例を示したが、データ受信部３１、４１が図示しない表示部や音声出力部へ直接データを渡し、出力させる構成とされていてもよい。
【００３０】
端末Ｃは、その機能部として、データ受信部５０、データ蓄積部５１、データ送信部５２、データ優先テーブル格納部５３、データ履歴記憶部５４、データ処理部５５を備える。データ受信部５０は、端末Ａ、Ｂの少なくとも１つからネットワークを介してデータを受信する。データ蓄積部５１は、データ受信部５０が受信したデータを格納する。データ送信部５２は、データ蓄積部５１に格納されたデータを、端末Ａまたは端末Ｂへ送信する。すなわち、データ送信部５２は、データを送信した端末以外の端末へ該データを送信する。これにより、データ共有が実現される。
【００３１】
データ送信部５２がデータの送信を終了すると、そのデータは、データ蓄積部５１から削除される。送信済みのデータを格納したままにしておくのは、メモリ使用量の無駄になるためである。
【００３２】
データ優先テーブル格納部５３は、情報格納部として、データの送信の優先順位を定義するデータ優先情報としてのデータ優先テーブルを格納する。データ優先テーブルの詳細については後述する。データ履歴記憶部５４は、送信済みのデータの情報を、履歴情報（履歴データ）として記憶する。
【００３３】
データ処理部５５は、データ蓄積部５１に格納されたデータ、データ優先テーブル、データ履歴記憶部５４に記憶された履歴データを参照し、現在の会議の状況を検知する。そして、データ処理部５５は、検知した状況に基づき、データを優先的に送信する必要があるかどうかを判断し、優先順位を決定する。
【００３４】
データ処理部５５は、決定した優先順位に従い、必要に応じて、データ蓄積部５１に格納されたデータを並び替え、格納させる。そして、データ処理部５５は、データ蓄積部５１に優先順位に従って配列する最初のデータを取り出し、データ送信部５２に渡す。
【００３５】
データ処理部５５は、データ送信部５２に渡した際に、データ蓄積部５１からそのデータを削除し、データ履歴記憶部５４に履歴データを記憶させる。なお、データ処理部５５は、データ送信部５２がそのデータの送信した旨の通知を受けて、そのデータを削除し、履歴データを記憶させることも可能である。
【００３６】
このように、現在の状況を検知し、優先的に送信するか判断してデータを並び替えるため、特定の種類のデータばかりが送信されるのではなく、その他の種類のデータも適宜送信することが可能となる。
【００３７】
図４を参照して、データ優先テーブル格納部５３に格納されるデータ優先テーブルについて説明する。図４は、そのデータ優先テーブルのデータ構造の一例を示した図である。データの優先順位は、一例として、データサイズの小さい順と定義することができる。図４では、ポインティングデータが１KByte、ストロークデータが５０KByte、音声データが２００KByte、画像データが３００KByteであるため、この順に優先順位が定義されている。
【００３８】
データサイズは、データの種類につき、複数のデータを用い、事前に平均値を算出し、その算出した平均値を用いてもよいし、動的に平均値を算出し、その算出した平均値を用いてもよい。動的に算出する場合は、その算出したサイズにより任意のタイミングでテーブルを更新することができる。任意のタイミングの例としては、ネットワークの通信帯域が狭くなったタイミングや、ソフトウェアアップデートのタイミング等を挙げることができる。
【００３９】
データ優先テーブルは、データの優先順位とデータサイズのほか、最低保障頻度と呼ばれる、指定期間が各データに対応付けられている。最低保障頻度は、端末Ｃがどのような状況であっても、その指定期間内に最低１回はデータを送信するように規定したものであり、データの種類に応じて指定される。これにより、前回送信してから最低保障頻度以内に送信していないデータがデータ蓄積部５１内にあれば、そのデータを即座に送信することで、どの種類のデータも長時間送信されないという状況をなくすことができる。
【００４０】
この最低保障頻度は、予め決定した期間を指定していてもよいし、ネットワークの通信帯域の変化や端末の接続台数の変化等に応じて、動的に更新されるようになっていてもよい。
【００４１】
端末Ａ〜Ｃによる具体的な処理について、図５〜図８を参照して説明する。図５は、会議システム１０により行われる１つの処理の流れを示したフローチャートである。図６は、データ蓄積部５１に格納されたデータのデータ構造を示した図で、図７は、データ履歴記憶部５４に記憶された履歴データのデータ構造を示した図である。図８は、電子黒板１１が備えるデータ処理部５５が実行する会議状況を検知し、優先順位を決定する詳細な処理の流れを示したフローチャートである。
【００４２】
まず、図５を参照して会議システム１０が行う処理について説明する。この例は、端末Ｃがデータ送信直前、すなわちデータを送信したことに応答して会議状況の検知や優先順位の決定等の処理を行う場合の例である。会議システム１０では、端末Ｃがデータ受信直後、すなわちデータを受信したことに応答してその処理を行ってもよく、この例については後述する。なお、その処理は、データ送信直前やデータ受信直後に限られるものではなく、任意の時間に行うことも可能である。
【００４３】
ステップ５００において、端末Ａのユーザが任意のデータを選択し、そのデータの送信を指示することにより、この処理を開始する。送信するデータは、ユーザが入力してもよいし、撮像装置等により取得されたデータであってもよい。データの送信は、データ送信ボタンを押下する等して指示することができる。ステップ５０５では、端末Ａがその指示を受けて、サーバ機能を備える端末Ｃへネットワークを介してそのデータを送信する。
【００４４】
ステップ５１０では、端末Ｃのデータ受信部５０がそのデータを受信する。受信したデータは、すぐに使用しないため、ステップ５１５で、データ蓄積部５１に格納する。データは、データ蓄積部５１に格納される際、タイムスタンプと呼ばれる、そのときの日時を示す情報が付加される。
【００４５】
データ蓄積部５１に格納されたデータのデータ構造は、図６に示すようなものである。データは、データに付加されたタイムスタンプの順に格納される。データは、タイムスタンプ、送信元の端末名やＩＰアドレス等の識別情報、データの種類、データサイズ、データ本体を含み、このデータ構造では、これらの情報が記憶されている。データ本体の内容は、データの種類に依存する。
【００４６】
このデータ構造は、先入れ先出し(FIFO)のキュー構造とされ、データ処理部５５によりNo.1のデータが取り出され、データ送信部５２へ送られる。図６では、端末Ａから送信されたNo.1の１つ目の画像データが最初に取り出すべきデータであることを示し、端末Ｂから送信されたNo.5の３つ目のポインティングデータが最新に格納されたデータであることを示している。No.1のデータが取り出され、送信されると、そのNo.1のデータは削除され、No.2のデータがNo.1へ繰り上げられる。
【００４７】
再び図５を参照して、ステップ５２０では、端末Ｃのデータ処理部５５が、会議の状況を検知するためにデータ蓄積部５１からデータを取り出す。データは、データ蓄積部５１に格納されている最初のデータ、すなわちNo.1のデータである。ステップ５２５では、データ優先テーブルに基づき、取り出したデータと、データ履歴記憶部５４に記憶された履歴データとの比較や、取り出したデータと比較対象データの優先順位の比較を行う。
【００４８】
データ履歴記憶部５４に記憶された履歴データは、図７に示すようなものである。履歴データは、送信した日時が早い順に格納される。タイムスタンプは、データの送信等のイベントが発生した日時を示す情報として付加されるため、履歴データは、タイムスタンプの順となっている。履歴データは、データ本体を除く情報（ヘッダ情報）のみとされる。このため、図７では、各データにつき、タイムスタンプ、送信元の端末名やＩＰアドレス等の識別情報、データの種類、データサイズのみの情報が記憶されている。
【００４９】
再び図５を参照して、ステップ５２５では、取り出したデータに付加されたタイムスタンプと、そのデータの種類が同じデータに付加されたタイムスタンプのうち最新のタイムスタンプとを比較する。そして、前回送信してからどの程度時間が経過しているかを計算する。その計算した経過時間と、データ優先テーブルにある同じ種類のデータの最低保障頻度とを比較する。これは、そのデータが指定期間としての最低保障頻度以内かどうかを判断するために行われるものである。また、後述する比較対象のデータと優先順位の比較を行う。これは、最低保障頻度以内である場合に、最も優先順位が高いデータかどうかを判断するために行われるものである。
【００５０】
ステップ５３０では、その比較の結果に基づき、そのデータをすぐに送信するかどうかを判断する。その計算した経過時間が最低保障頻度より大きい場合、指定期間内に送信できていないので、すぐに送信すると判断する。また、最低保障頻度以内であって、比較対象のデータより優先順位が高い場合に、どの種類のデータより優先順位が高いので、すぐに送信すると判断する。これらの詳細については後述する。
【００５１】
すぐに送信すると判断した場合、ステップ５３５へ進み、データ処理部５５がその取り出したデータをデータ送信部５２へ渡し、ステップ５４０において、データ送信部５２がそのデータを端末Ｂへ送信する。ここでは、端末Ａからデータを受信しており、端末Ｃには送信する必要がないので、送信先は端末Ｂのみとなる。そして、ステップ５４５で、データ処理部５５が送信したデータの情報を、データ履歴記憶部５４に履歴データとして記憶し、ステップ５５５でこの処理を終了する。
【００５２】
ステップ５３０ですぐに送信しなくてもよいと判断した場合は、ステップ５５０へ進み、その取り出したデータを、データ優先テーブルの優先順位に基づき、データ蓄積部５１にそのデータを戻す。このデータへ戻す際、必要に応じて、データ蓄積部５１に格納されたデータの順序が入れ替えられる。そして、ステップ５２０へ戻り、次のデータを取り出し、そのデータがすぐに送信する必要があるかどうかを判断する。
【００５３】
データ処理部５５が実行するステップ５２０〜ステップ５４５の詳細な処理を、図８を参照して説明する。ステップ５１５においてデータをデータ蓄積部５１に格納したことを受けて、ステップ８００からデータ処理部５５がこの処理を開始する。ステップ８０５では、データ処理部５５が、データ蓄積部５１に格納されたデータのうち、最初に送信すべき先頭のNo.1のデータ(No.=1)を取り出す。
【００５４】
ステップ８１０では、データ処理部５５が、そのNo.1のデータと同じ種類の、データ履歴記憶部５４に記憶された最新の履歴データを取り出す。ステップ８１５では、データ処理部５５が、取り出したデータと履歴データのタイムスタンプから、前回送信してから経過している経過時間を計算する。そして、データ処理部５５は、その計算した経過時間と、データ優先テーブルのそのデータの種類に対応する最低保障頻度とを比較する。
【００５５】
ステップ８２０では、その算出した経過時間が最低保障頻度以内であるかどうかを判断する。以内であると判断した場合は、ステップ８２５へ進み、データ蓄積部５１から比較対象のデータ(No.++)を取り出す。比較対象のデータは、No.1のデータとは異なる種類のNo.1に最も近いデータとすることができる。ステップ８３０では、取り出したデータ(No.)と比較対象のデータ(No.++)の優先順位を、データ優先テーブルに基づき比較する。
【００５６】
ステップ８３５では、その比較の結果、データ蓄積部５１から取り出したデータ(No.)の優先順位が低いかどうかを判断する。優先順位が低い場合、ステップ８４０へ進み、次のデータ(No.+1)と比較が不要であるかどうかを判断する。比較が必要である場合、ステップ８２０へ戻り、比較対象の次のデータを取り出す。これに対し、次のデータとの比較が不要である場合、ステップ８４５へ進み、取り出したデータを、データ蓄積部５１に戻す。戻す場所は、比較対象のデータより優先順位が低いので、そのデータがあった箇所、すなわちNo.=Nの場所とされる。
【００５７】
例えば、データ蓄積部５１に２つの異なる種類のデータが格納されている場合、No.1のデータを取り出すと、比較対象のデータは、No.2のデータとなる。比較結果、No.1のデータの優先順位が低い場合、比較対象のデータがあったNo.2の場所がNo.1のデータを戻す場所となる。このようにして所定の場所にデータを戻すことにより、データ蓄積部５１に格納されるデータが並べ替えられる。ステップ８５０では、データ蓄積部５１に格納された先頭にある最初のデータを１つ取り出し、データ送信部５２に渡す。そして、ステップ８５５へ進み、この処理を終了する。
【００５８】
ステップ８２０で最低保障頻度以内でない場合、ステップ８３５で優先順位が高い場合も、ステップ８５０へ進み、これらの場合は、比較にあたって取り出したデータを、データ送信部５２に渡す。
【００５９】
具体的な例を挙げて、データの送信直前に状況を検知し、優先順位を決定する処理をより詳細に説明する。まず、図９を参照して、基本的な端末Ａ〜Ｃの関係やデータの流れについて説明する。例えば、ユーザＡが端末Ａを所有し、ユーザＢが端末Ｂを所有し、会議室に集まっているものとする。この会議室には、インタラクティブホワイトボードといった端末Ｃが備えつけられている。このため、会議室内に端末Ａ〜Ｃがある状態である。
【００６０】
端末Ｃは、サーバ機能を備え、端末Ａ、Ｂは、クライアント端末としてネットワークを介して端末Ｃに接続することができる。図９（ａ）に示す例では、端末Ｃを中心としてネットワーク上に仮想会議室を設け、そこにネットワークを介して端末Ａ、ＢをもつユーザＡ、Ｂが会議に参加している状態である。
【００６１】
図９（ｂ）に示すように、端末Ａが参加者全員（端末Ｂ、Ｃ）に画面共有を開始する。端末Ａは、例えば、画像データを端末Ｃへ送信する。画像データは、端末Ａ、Ｃで共有される。端末Ｃは、画像データを端末Ｂへ送信する。これにより、画像データは、端末Ａ〜Ｃで共有される。
【００６２】
図９（ｂ）に示す状態で画像Ｘに対してディスカッションを行っていたが、ユーザＢが端末Ｂ上で画像Ｘに対して指摘を行いたいとする。ユーザＢが端末Ｂ上で指摘箇所をポインティングすると、図９（ｃ）に示すように端末Ａ、Ｃの画面にも同じ箇所にポインティング情報が反映される。
【００６３】
このときの処理は、端末Ｂの画面上の任意の箇所をポインティングすると、ポインティングした箇所の座標データがポインティングデータとして端末Ｃに送信される。端末Ｃは、ポインティングデータを受信すると、自機の画面上にポインティング情報を表示させ、端末Ａへポインティングデータを送信する。これにより、ポインティング情報は、端末Ａ〜Ｃで共有される。
【００６４】
図９（ｃ）に示すポインティング情報は、図９（ｂ）に示す画面共有が続いている中でコミュニケーションを行えるように共有する必要がある。画像データは、ポインティングデータに比較してデータサイズが大きい。画像データが連続して送信され続けると、ポインティングデータが送信されるまでの時間が遅くなり、ユーザはその遅延を体感することになり、双方向のコミュニケーションを阻害してしまう。そこで、ポインティング等の意思を表示する操作の優先順位を上げ、そのデータを優先的に送信することで、コミュニケーションを維持する。
【００６５】
優先順位の判断は、図６に示したデータ優先テーブルに基づき、図７に示した履歴データと比較することにより行われる。現在のデータ優先テーブルが、図１０に示すようなものであるとする。そして、端末間のデータ送受信は、2013/10/08 12:00:00.000に開始されるものとする。データ優先テーブルには、データの種類に応じて優先順位が定義され、最低保障頻度も設定されている。
【００６６】
画像データの送信に対してポインティングデータが優先される例について説明する。図１１は、データ蓄積部５１に格納されたデータ群を示し、図１２は、データ履歴記憶部５４に記憶された履歴データを示す。データ蓄積部５１からデータを取り出す順序は、図１１に示すように、１番目が画像データ、２番目がポインティングデータとされている。これに対し、データの優先順位は、図１０に示すように、優先順位１がポインティングデータで、４が画像データであり、ポインティングデータの方が、優先順位が高く定義されている。
【００６７】
ここで、図１２に示す履歴データで、画像データは、2013/10/08 12:00:00.000に送信されたという履歴がある。送信する予定の画像データのタイムスタンプは、図１１に示すように、2013/10/08 12:00:00.200であるため、前回の送信から２００ミリ秒経過している。図１０を参照すると、画像データの最低保障頻度が３００ミリ秒であり、この３００ミリ秒に１度送信することを保障すれば良い。この例では、最低保障頻度までまだ時間があることから、画像データより優先順位が高いポインティングデータを送信するように制御する。
【００６８】
上記の例は、最低保障頻度までまだ時間があるケースである。次に、最低保障頻度に達した場合の例について以下に説明する。図１３は、データ蓄積部５１に格納されたデータ群を示し、図１４は、データ履歴記憶部５４に記憶された履歴データを示す。データ蓄積部５１からデータを取り出す順序は、図１３に示すように、１番目が画像データ、２番目がポインティングデータとされている。
【００６９】
図１４に示す履歴データでは、画像データが2013/10/08 12:00:00.100に送信されたという履歴がある。送信する予定の画像データのタイムスタンプは、図１３に示すように、2013/10/08 12:00:00.500であるため、前回の送信から４００ミリ秒経過している。画像データの最低保障頻度が３００ミリ秒であり、この３００ミリ秒に１度送信することを保障する必要があるため、画像データを送信し、ポインティングデータを優先して送信しない。
【００７０】
これまで端末Ｃがデータ送信直前に会議状況の検知や優先順位の決定等の処理を行う場合の例について説明してきた。次に、データ受信直後に処理を行う場合の例について説明する。複数の端末から大量のデータを電子黒板１１が受け付け、ネットワークの帯域が広く送信に負荷が低い場合、送信前に処理を行わないことで、送信処理がスムーズになる。このような場合、データ受信直後に処理を行うことで、システム性能を向上させることができる。
【００７１】
図１５は、会議システム１０により行われる別の処理の流れを示したフローチャートである。図１６は、図１５に示す処理において、電子黒板１１が備えるデータ処理部５５が実行する会議状況を検知し、優先順位を決定する詳細な処理の流れを示したフローチャートである。
【００７２】
まず、図１５を参照して会議システム１０が行う処理について説明する。この例は、端末Ｃがデータ受信直後に会議状況の検知や優先順位の決定等の処理を行う場合の例である。
【００７３】
ステップ１５００において、端末Ａのユーザが任意のデータを選択し、そのデータの送信を指示することにより、この処理を開始する。送信するデータは、ユーザが入力してもよいし、撮像装置等により取得されたデータであってもよい。データの送信は、データ送信ボタンを押下する等して指示することができる。ステップ１５０５では、端末Ａがその指示を受けて、サーバ機能を備える端末Ｃへネットワークを介してそのデータを送信する。
【００７４】
ステップ１５１０では、端末Ｃのデータ受信部５０がそのデータを受信する。この例では、受信したデータはすぐに使用される。このため、データ蓄積部５１に格納しない。なお、データは、データ受信時にタイムスタンプが付加される。
【００７５】
ステップ１５１５では、端末Ｃのデータ処理部５５が、会議の状況を検知するために、データ優先テーブルに基づき、受信したデータとデータ履歴記憶部５４に記憶された履歴データとの比較を行う。
【００７６】
ステップ１５２０では、データ蓄積部５１に受信したデータを格納する際、既に格納されているデータを追い越して格納するかどうかを判断する。すなわち、既に格納されているデータの最後ではなく、先頭や途中に追い越して格納するかどうかを判断する。この詳細な処理については、図１６を参照して詳細に説明する。
【００７７】
追い越して格納すると判断した場合、ステップ１５２５へ進み、データ処理部５５が、データ蓄積部５１に受信したデータを、既存のデータを追い越した送信優先順位で格納する。これに対し、追い越して格納しないと判断した場合は、ステップ１５３０へ進み、データ処理部５５が、データ蓄積部５１に格納されているデータの最後に受信したデータを格納する。
【００７８】
ステップ１５３５では、データ送信部５２が、データ蓄積部５１から先頭のデータを取り出し、ステップ１５４０で取り出したデータを端末Ｂへ送信する。そして、ステップ１５４５で、データ処理部５５が送信したデータの情報を、データ履歴記憶部５４に履歴データとして記憶し、ステップ１５５０でこの処理を終了する。
【００７９】
データ処理部５５が実行するステップ１５１５〜ステップ１５３０の詳細な処理を、図１６を参照して説明する。ステップ１５１０においてデータ受信部５０がデータを受信したことを受けて、ステップ１６００からデータ処理部５５がこの処理を開始する。ステップ１６０５では、データ処理部５５が、データ蓄積部５１に格納されたデータのうち、最初に送信すべき先頭のNo.1のデータ(No.=1)を取り出す。
【００８０】
ステップ１６１０では、データ処理部５５が、会議の状況を検知するために、データ蓄積部５１から取り出したデータと受信したデータの優先順位を、データ優先テーブルに基づき比較する。
【００８１】
ステップ１６１５では、受信したデータの優先順位が高いかどうかを判断する。高い場合、ステップ１６２０へ進み、データ蓄積部５１から取り出したデータとデータ履歴記憶部５４に記憶された履歴データのタイムスタンプを比較する。そして、ステップ１６２５で、タイムスタンプから計算された経過時間が最低保障頻度以内であるかを判断する。最低保障頻度以内である場合、ステップ１６３０へ進み、受信したデータを、データ蓄積部５１の所定のNo.の場所に格納する。そして、ステップ１６５０へ進み、この処理を終了する。
【００８２】
ステップ１６１５で受信したデータの優先順位が低い場合、ステップ１６２５で最低保障頻度以内ではない場合、ステップ１６３５へ進み、データ蓄積部５１に取り出すデータがないかどうかを判断する。ない場合は、ステップ１６４０へ進み、受信したデータを、データ蓄積部５１に格納されたデータの最後に格納する。そして、ステップ１６５０へ進み、この処理を終了する。
【００８３】
ステップ１６３５でデータ蓄積部５１から次のデータ(No.+1)を取り出す。取り出した後、ステップ１６１０に戻り、次のデータと受信したデータの優先順位を比較して同様の処理を行う。
【００８４】
具体的な例を挙げて、データの受信直後に状況を検知し、優先順位を決定する処理をより詳細に説明する。画像データの送信に対してポインティングデータが優先される例について説明する。図１７は、受信したデータを示し、図１８は、データ蓄積部５１に格納されたデータ群を示し、図１９は、データ履歴記憶部５４に記憶された履歴データを示す。
【００８５】
この例では、ポインティングデータを受信している。データ蓄積部５１からは、図１８に示すNo.1の画像データを取り出す。受信したデータと取り出したデータの優先順位は、図１０に示すデータ優先テーブルでは優先順位１がポインティングデータで、４が画像データであるため、ポインティングデータの方が、優先順位が高くなっている。
【００８６】
ここで、図１９に示す履歴データで、画像データは、2013/10/08 12:00:00.100に送信されたという履歴がある。送信する予定の画像データのタイムスタンプは、図１８に示すように、2013/10/08 12:00:00.300であるため、前回の送信から２００ミリ秒経過している。図１０を参照すると、画像データの最低保障頻度が３００ミリ秒であり、この３００ミリ秒に１度送信することを保障すれば良い。この例では、最低保障頻度までまだ時間があることから、画像データより優先順位が高いポインティングデータを送信するように制御する。
【００８７】
データを比較した後のデータ蓄積部５１に格納されているデータのデータ構造を、図２０に示す。ポインティングデータを優先して送信するため、送信優先順位が最も高いNo.1にポインティングデータが格納される。データ送信部５２は、データ蓄積部５１に格納された先頭のデータ、すなわちポインティングデータを取り出し、送信する。
【００８８】
上記の例は、最低保障頻度までまだ時間があるケースである。次に、最低保障頻度に達した場合の例について以下に説明する。図２１は、受信したデータを示し、図２２は、データ蓄積部５１に格納されたデータ群を示し、図２３は、データ履歴記憶部５４に記憶された履歴データを示す。
【００８９】
この例でも、ポインティングデータを受信している。データ蓄積部５１からは、図２２に示すNo.1の画像データを取り出す。受信したデータと取り出したデータの優先順位は、図１０に示すデータ優先テーブルでは優先順位１がポインティングデータで、４が画像データであるため、ポインティングデータの方が、優先順位が高くなっている。
【００９０】
図２３に示す履歴データでは、画像データが2013/10/08 12:00:00.100に送信されたという履歴がある。送信する予定の画像データのタイムスタンプは、図２２に示すように、2013/10/08 12:00:00.500であるため、前回の送信から４００ミリ秒経過している。画像データの最低保障頻度が３００ミリ秒であり、この３００ミリ秒に１度送信することを保障する必要があるため、画像データを送信し、ポインティングデータを優先して送信しない。
【００９１】
データを比較した後のデータ蓄積部５１に格納されているデータのデータ構造を、図２４に示す。画像データを優先して送信するため、送信優先順位が最も高いNo.1に画像データが格納される。画像データは、一度送信すると、次の送信まで３００ミリ秒猶予されるため、No.2にはポインティングデータが、No.3にそれまでNo.2であった画像データが格納される。データ送信部５２は、データ蓄積部５１に格納された最初のデータ、すなわち画像データを取り出し、送信する。
【００９２】
以上に説明してきたように、優先順位が高く定義されているデータが連続して送信され、割り込みが続いたとしても、それより優先順位が低く定義されているデータを一定の時間間隔で送信することができる。このため、優先順位が高く定義されているポインティングデータのみが送信されるのではなく、適宜、音声データや映像データ等も送信されるので、音声が途切れ、映像が不連続になることはない。このため、コミュニケーションに支障が生じることがなくなり、円滑なコミュニケーションを維持することができる。
【００９３】
これまで本発明を、情報処理装置、情報処理システムおよび通信制御方法およびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、会議以外のシステムにも適用することが可能で、また、そのプログラムが記録された記録媒体等も提供することができるものである。
【符号の説明】
【００９４】
１０…会議システム、１１…電子黒板、１２、１３…端末、２０…ＣＰＵ、２１…ＲＯＭ、２２…ＲＡＭ、２３…ＨＤＤ、２４…通信Ｉ／Ｆ、２５…外部記憶Ｉ／Ｆ、２６…入出力Ｉ／Ｆ、２７…バスライン、３０、４０…データ送信部、３１、４１…データ受信部、５０…データ受信部、５１…データ蓄積部、５２…データ送信部、５３…データ優先テーブル格納部、５４…データ履歴記憶部、５５…データ処理部
【先行技術文献】
【特許文献】
【００９５】
【特許文献１】特許第３６１０４４２号公報
【図１】
2015207819.tif 000003
【図２】
2015207819.tif 000004
【図３】
2015207819.tif 000005
【図４】
2015207819.tif 000006
【図５】
2015207819.tif 000007
【図６】
2015207819.tif 000008
【図７】
2015207819.tif 000009
【図８】
2015207819.tif 000010
【図９】
2015207819.tif 000011
【図１０】
2015207819.tif 000012
【図１１】
2015207819.tif 000013
【図１２】
2015207819.tif 000014
【図１３】
2015207819.tif 000015
【図１４】
2015207819.tif 000016
【図１５】
2015207819.tif 000017
【図１６】
2015207819.tif 000018
【図１７】
2015207819.tif 000019
【図１８】
2015207819.tif 000020
【図１９】
2015207819.tif 000021
【図２０】
2015207819.tif 000022
【図２１】
2015207819.tif 000023
【図２２】
2015207819.tif 000024
【図２３】
2015207819.tif 000025
【図２４】
2015207819.tif 000026