以下に、図面を参照しながら、本発明に係る通信端末、通信システム、通信方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
また、コンピュータソフトウェアとは、コンピュータの動作に関するプログラム、その他コンピュータによる処理の用に供する情報であってプログラムに準ずるものをいう(以下、コンピュータソフトウェアは、ソフトウェアという)。アプリケーションソフトとは、ソフトウェアの分類のうち、特定の作業を行うために使用されるソフトウェアの総称である。一方、オペレーティングシステム(OS)とは、コンピュータを制御し、アプリケーションソフト等がコンピュータ資源を利用可能にするためのソフトウェアのことである。オペレーティングシステムは、入出力の制御、メモリやハードディスクなどのハードウェアの管理、プロセスの管理といった、コンピュータの基本的な管理・制御を行っている。アプリケーションソフトウェアは、オペレーティングシステムが提供する機能を利用して動作する。プログラムとは、コンピュータに対する指令であって、一の結果を得ることができるように組み合わせたものをいう。また、プログラムに準ずるものとは、コンピュータに対する直接の指令ではないためプログラムとは呼べないが、コンピュータの処理を規定するという点でプログラムに類似する性質を有するものをいう。例えば、データ構造(データ要素間の相互関係で表される、データの有する論理的構造)がプログラムに準ずるものに該当する。
[第1の実施形態]
(通信システムの全体構成)
図1は、第1の実施形態に係る通信システムの概略構成図である。図1を参照しながら、本実施形態に係る通信システム1の構成の概略を説明する。
図1に示すように、通信システム1は、複数の通信端末10aa、10ab、10ba、10bb、10ca、10cb、10da、10dbと、一部の通信端末用のディスプレイ120aa、120ba、120bb、120cb、120da、120dbと、一部の通信端末に接続されたPC(Personal Computer)30ab、30cbと、管理システム50と、プログラム提供システム90と、を含み、通信ネットワーク2を介して互いに通信可能となるように構築されている。
なお、図1では、通信端末10aa、10ab、10ba、10bb、10ca、10cb、10da、10dbが示されているが、これらのうち任意の通信端末を示す場合または総称する場合、単に「通信端末10」と称する。また、図1に示す通信システム1に含まれる複数の通信端末10は、一例を示すものであり、異なる台数であってもよい。
また、図1では、ディスプレイ120aa、120ba、120bb、120ca、120da、120dbが示されているが、これらのうち任意のディスプレイを示す場合または総称する場合、単に「ディスプレイ120」と称する。また、図1に示す通信システム1に含まれる複数のディスプレイ120は、一例を示すものであり、異なる台数であってもよい。
また、図1では、通信端末10abに接続されたPC30ab、および、通信端末10cbに接続されたPC30cbが示されているが、これらのうち任意のディスプレイを示す場合または総称する場合、単に「PC30」と称する。また、図1に示す通信システム1に含まれる複数のPC30は、一例を示すものであり、異なる台数であってもよい。
通信端末10は、他の装置との間で、各種情報を送受信する端末である。通信端末10は、他の通信端末10との間でセッションを確立し、確立したセッションにおいて、音声データおよび画像データ(映像データ)を含むコンテンツデータの送受信による通話を行う。これにより、通信システム1において、複数の通信端末10間のビデオ会議が実現される。なお、通信端末10は、ディスプレイ(上述のディスプレイ120)が接続される専用装置、デスクトップPC、ノートPC、スマートフォン、またはタブレット端末等のいずれであってもよい。ただし、以下では、通信端末10が、ディスプレイ(上述のディスプレイ120)が接続される専用装置であるものとして説明する。
ディスプレイ120は、通信ネットワーク2を介して、接続されている通信端末10が受信した参加者の映像、および、特定の通信端末10に接続されたPC30により画面共有が行われている場合の共有画面イメージを、表示する表示装置である。ディスプレイ120は、例えば、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ、またはIWB(Interactive WhiteBoard)等である。
PC30は、通信端末10に接続され、他の通信端末10との共有を所望する画面イメージ(共有画面イメージ)(共有画面の情報の一例)を当該通信端末10に送信し、管理システム50を介して配信することによって、他の通信端末10と画面共有の状態にする情報処理装置である。ここで、共有画面イメージとは、PC30のディスプレイ上に表示されている画面全体のスクリーンショット、または、PC30で起動している特定のアプリケーションのウィンドウの画面等の情報であるものとする。なお、PC30は、デスクトップPCおよびノートPC等のPCであることに限定されず、スマートフォンまたはタブレット端末等の情報処理装置であってもよい。
管理システム50は、通信端末10を一元的に管理するコンピュータである。管理システム50は、通信端末10間でのセッションを確立することにより、通信端末10間における通話等によるビデオ会議を実現する。管理システム50は、所定の通信端末10からセッションの開始要求情報を受信した場合に、開始要求情報を送信した通信端末10(開始要求端末)と宛先端末との間のセッションを確立し、ビデオ会議を開始させる。したがって、管理システム50は、確立したセッションにより、複数の通信端末10間でコンテンツデータの中継を行う。なお、管理システム50は複数の通信端末10間でセッションを確立するものの、実際にコンテンツデータの中継は、別の中継装置により行われるものとしてもよい。本実施形態では、説明を簡略にするため、セッションの確立、およびコンテンツデータの中継は、管理システム50が行うものとして説明する。
プログラム提供システム90は、通信端末10に各種機能または各種手段を実現させるための端末用プログラムが記憶された補助記憶装置(HDD(Hard Disk Drive)等)を備えており、通信端末10に端末用プログラム(後述する通信アプリA等)を提供するコンピュータである。また、プログラム提供システム90は、管理システム50等に各種機能または各種手段を実現させるためのプログラムも補助記憶装置に記憶しており、管理システム50等に、対応するプログラムを送信することができる。
通信ネットワーク2は、図1に示すように、例えば、LAN(Local Area Network)2a~2d、専用線2ab、2cd、およびインターネット2iを含んで構築されている。なお、通信ネットワーク2は、図1に示すような構成に限定されるものではなく、その他のネットワーク機器が含まれるものとしてもよく、有線だけでなく無線による通信が行われる箇所があってもよい。
LAN2a~2d、および専用線2ab、2cdは、それぞれルータ70a~70d、70ab、70cdを含む。ルータ70a~70d、70ab、70cdは、通信データの最適な経路の選択を行うネットワーク機器である。なお、ルータ70a~70d、70ab、70cdのうち任意のルータを示す場合または総称する場合、単に「ルータ70」と称する。
通信端末10(10aa、10ab、・・・)、およびルータ70aは、LAN2aによって通信可能に接続されている。また、通信端末10(10ba、10bb、・・・)、およびルータ70bは、LAN2bによって通信可能に接続されている。また、LAN2a、LAN2b、およびルータ70abは、専用線2abによって通信可能に接続されており、地域A内で構築されている。
一方、通信端末10(10ca、10cb、・・・)、およびルータ70cは、LAN2cによって通信可能に接続されている。また、通信端末10(10da、10db、・・・)、およびルータ70dは、LAN2dによって通信可能に接続されている。また、LAN2c、LAN2d、およびルータ70cdは、専用線2cdによって通信可能に接続されており、地域B内で構築されている。
地域Aおよび地域Bのネットワークは、それぞれルータ70ab、70cdによってインターネット2iを介して通信可能に接続されている。
また、管理システム50およびプログラム提供システム90は、インターネット2iを介して、各通信端末10と通信可能に接続されている。なお、管理システム50およびプログラム提供システム90は、地域Aまたは地域Bに設置されていてもよいし、これら以外の地域に設置されていてもよい。
また、図1において、各通信端末10、管理システム50、各ルータ70およびプログラム提供システム90の近傍に示されている4組の数字は、一般的なIPv4におけるIP(Ineternet Protocol)アドレスを簡易的に示している。例えば、通信端末10aaのIPアドレスは、「1.2.1.3」であるものとしている。なお、IPv4ではなく、IPv6を用いてもよいが、説明を簡略化するため、IPv4を用いて説明する。
なお、図1に示す通信システム1の構成は、一例を示すものであり、この構成に限定されるものではない。すなわち、図1に示す各装置、システムの台数は、図1に示す台数に限定されるものではない。また、図1では、地域A、Bの2つの地域のネットワーク構成が示されているが、同一地域内のネットワークであってもよく、3つ以上の地域がネットワークで接続された構成であってもよい。
(通信端末のハードウェア構成)
図2は、第1の実施形態に係る通信端末のハードウェア構成の一例を示す図である。図2を参照しながら、本実施形態に係る通信端末10のハードウェア構成の詳細について説明する。
図2に示すように、本実施形態に係る通信端末10は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、補助記憶装置105と、メディアドライブ107と、入力装置108と、を備えている。
CPU101は、通信端末10全体の動作を制御する演算装置である。ROM102は、通信端末10用のプログラム(後述する通信アプリA等)を記憶している不揮発性記憶装置である。RAM103は、CPU101のワークエリアとして使用される揮発性記憶装置である。
補助記憶装置105は、画像データ、音声データおよび動画データ等の各種データを記憶するHDDまたはSSD(Solid State Drive)等の不揮発性記憶装置である。メディアドライブ107は、CPU101の制御に従って、フラッシュメモリ等であるメディア106に対するデータの読み出しおよび書き込みを制御する装置である。メディア106は、通信端末10に対して着脱自在の記憶装置である。なお、メディア106は、CPU101の制御に従ってデータの読み出しおよび書き込みを行う不揮発性メモリであれば、フラッシュメモリに限定されるものではなく、EEPROM(Electrically Erasable and Programmable ROM)等を用いてもよい。
入力装置108は、マウスまたはキーボード等の各種情報を入力するための装置、または操作ボタンおよび電源ボタン等のボタンである。
また、通信端末10は、ネットワークI/F111と、撮像素子I/F113と、音声入出力I/F116と、USB(Universal Serial Bus) I/F117と、ディスプレイI/F119と、を備えている。
ネットワークI/F111は、通信ネットワーク2を利用してデータを通信するためのインターフェースである。ネットワークI/F111は、例えば、TCP(Transmission Control Protocol)/IP(Internet Protocol)に準拠したNIC(Network Interface Card)等である
撮像素子I/F113は、CPU101の制御に従って被写体を撮像して画像データを得るカメラ112との間で画像データを伝送するためのインターフェースである。カメラ112は、レンズ、および光を電荷に変換して被写体の画像(映像)を電子化する固体撮像素子を含む。カメラ112は、ケーブル112cによって撮像素子I/F113に接続される。固体撮像素子としては、CMOS(Complementary Metal Oxide Semiconductor)またはCCD(Charge Coupled Device)等が用いられる。
音声入出力I/F116は、CPU101の制御に従って、音声を入力するマイク114および音声を出力するスピーカ115との間で音声信号(音声データ)の入出力を処理するインターフェースである。マイク114およびスピーカ115は、それぞれ、ケーブル114cおよびケーブル115cによって音声入出力I/F116に接続される。
USB I/F117は、外部機器(例えばPC30)と接続してデータ通信を行うためのUSBのインターフェースである。
ディスプレイI/F119は、CPU101の制御に従って、外付けのディスプレイ120に画像データを伝送するためのインターフェースである。ディスプレイ120は、ケーブル120cによってディスプレイI/F119に接続される。ケーブル120cは、アナログRGB(VGA)信号用のケーブルであってもよく、コンポーネントビデオ用のケーブルであってもよく、HDMI(登録商標)(High-Definition Multimedia Interface)またはDVI(Digital Video Interactive)信号用のケーブルであってもよい。
上述のCPU101、ROM102、RAM103、補助記憶装置105、メディアドライブ107、入力装置108、ネットワークI/F111、撮像素子I/F113、音声入出力I/F116、USB I/F117およびディスプレイI/F119は、アドレスバスおよびデータバス等のバスライン110によって互いに通信可能に接続されている。
なお、図2に示した通信端末10のハードウェア構成は一例を示すものであり、図2に示した構成要素以外の構成要素を含むものとしてもよい。また、カメラ112、マイク114およびスピーカ115は、通信端末10に一体的に備えられるものとしてもよく、または、カメラ112、マイク114およびスピーカ115のうち少なくともいずれかは、外付けの別体の装置であってもよい。また、ディスプレイ120は、図2では、通信端末10に対して外付けされるディスプレイとしているが、これに限定されるものではなく、通信端末10と一体的に備えられるものとしてもよい。
(PCおよび管理システム等のハードウェア構成)
図3は、第1の実施形態に係るPC、管理システムおよびプログラム提供システムのハードウェア構成の一例を示す図である。図3を参照しながら、PC30、管理システム50およびプログラム提供システム90のハードウェア構成の詳細について説明する。
まず、図3を参照しながら管理システム50のハードウェア構成について説明する。図3に示すように、管理システム50は、CPU201と、ROM202と、RAM203と、補助記憶装置205と、メディアドライブ207と、ディスプレイ208と、ネットワークI/F209と、キーボード211と、マウス212と、DVD(Digital Versatile Disc)ドライブ214と、を備えている。
CPU201は、管理システム50全体の動作を制御する演算装置である。ROM202は、管理システム50用のプログラムを記憶している不揮発性記憶装置である。RAM203は、CPU201のワークエリアとして使用される揮発性記憶装置である。
補助記憶装置205は、後述する認証管理DB5001、端末管理DB5002、グループ管理DB5003およびセッション管理DB5004等の各種データを記憶するHDDまたはSSD等の記憶装置である。メディアドライブ207は、CPU201の制御に従って、フラッシュメモリ等の記録メディア206に対するデータの読み出しおよび書き込みを制御する装置である。
ディスプレイ208は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示する液晶または有機EL等によって構成された表示装置である。ネットワークI/F209は、通信ネットワーク2を利用してデータを通信するためのインターフェースである。ネットワークI/F209は、例えば、TCP/IPに準拠したNIC等である。
キーボード211は、文字、数字、各種指示の選択、およびカーソルの移動等を行う入力装置である。マウス212は、各種指示の選択および実行、処理対象の選択、ならびにカーソルの移動等を行うための入力装置である。
DVDドライブ214は、着脱自在な記憶媒体の一例としてのDVD-ROMまたはDVD-R等のDVD213に対するデータの読み出しおよび書き込みを制御する装置である。
上述のCPU201、ROM202、RAM203、補助記憶装置205、メディアドライブ207、ディスプレイ208、ネットワークI/F209、キーボード211、マウス212およびDVDドライブ214は、アドレスバスおよびデータバス等のバスライン210によって互いに通信可能に接続されている。
なお、図3に示した管理システム50のハードウェア構成は一例を示すものであり、図3に示した構成要素を全て含む必要はなく、または、その他の構成要素を含むものとしてもよい。
また、上述の管理システム50用のプログラムは、インストール可能な形式または実行可能な形式のファイルによって、記録メディア206またはDVD213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
また、PC30は、上述の管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。ただし、ROM202には、PC30を制御するためのPC30用のプログラムが記録されている。この場合も、PC30用のプログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディア206またはDVD213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
また、プログラム提供システム90は、上述の管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。ただし、ROM202には、プログラム提供システム90を制御するためのプログラム提供システム90用のプログラムが記録されている。この場合も、プログラム提供システム90用のプログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディア206またはDVD213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
なお、上述の着脱可能な記録媒体の他の例として、CD-R(Compact Disc Recordable)またはブルーレイディスク等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
(通信端末のソフトウェア構成)
図4は、第1の実施形態に係る通信端末のソフトウェア構成の一例を示す図である。図4を参照しながら、本実施形態に係る通信端末10のソフトウェア構成の詳細について説明する。
通信端末10には、クライアントアプリとして通信アプリAがインストールされている。ここで、アプリとは、アプリケーションソフトを意味する。図4に示すように、OS(Operating System)1020、および通信アプリAは、通信端末10のRAM103の作業領域1010上で動作する。
OS1020は、基本的な機能を提供し、通信端末10全体を管理する基本ソフトウェアである。通信アプリAは、OS1020の制御に従って動作し、他の通信端末10と通信(通話)するためのアプリである。
なお、通信アプリAの通信プロトコルとしては、SIP(Session Initiation Protocol)、H.323、IRC(Internet Relay Chat)、またはJingle等が挙げられる。
(通信システムの機能ブロックの構成)
図5は、第1の実施形態に係る通信システムの機能ブロックの構成の一例を示す図である。図5を参照しながら、本実施形態に係る通信システム1の機能ブロックの構成について説明する。
<通信端末の機能ブロックの構成>
図5に示すように、通信端末10は、通信部11と、操作入力受付部12と、撮像部13と、表示制御部14と、音声入力部15と、音声出力部16と、記憶・読出部17と、記憶部18と、認証要求部19と、検出部20(第1検出部)と、判別部21(第1判別部)と、終了処理部22(通知処理部)と、画面共有制御部23と、機器通信部24と、を有している。
通信部11は、通信ネットワーク2を介して、他の通信端末10または各システムと各種データの送受信を行う機能部である。通信部11は、図2に示すCPU101によるソフトウェアである通信アプリAの実行、およびネットワークI/F111によって実現される。
通信部11は、当該通信端末10が他の通信端末10とセッションを確立し、通話によるビデオ会議を開始する前に、管理システム50から、宛先端末の候補としての各通信端末10の状態を示す各状態情報の受信を開始する。ここで、宛先端末の候補とは、通信端末10が、ビデオ会議を行う相手、すなわちセッションの相手として指定可能なビデオ会議の相手であるユーザ(参加者)が利用する宛先候補となる他の通信端末10である。すなわち、通信端末10は、宛先端末の候補として予め設定されていない通信端末とは、セッションを確立することができず、ビデオ会議を行うことができない。
また、状態情報は、各通信端末10の稼動状態(オンラインかオフラインかの状態)と、オンラインにおいてはさらに通話中であるか、待受け中であるか等の詳細な状態(以下、通信状態と称する)とを示す。また、状態情報は、各通信端末10の稼動状態および通信状態だけでなく、ケーブルが通信端末10から外れている、音声を出力できるが画像は出力できない、または、音声を出力さないよう設定されている(MUTE)等、様々な状態を示すものとしてもよいが、以下では、一例として、稼動状態および通信状態を示す場合について説明する。
通信部11は、当該通信端末10が開始要求端末として動作する場合には、開始要求情報を管理システム50に送信する。ここで、開始要求情報とは、ビデオ会議に用いられるセッションの開始を要求する情報である。開始要求情報は、具体的には、開始を要求する旨を示す情報と、開始要求情報の送信元である開始要求端末の端末IDと、セッションの相手となる宛先端末の端末IDと、を含む。端末IDは、通信端末10を識別するための情報であって、予め通信端末10に記憶させておく他、ユーザが直接通信端末10へ入力して決定するものとしてもよい。
操作入力受付部12は、ユーザによる各種入力を受け付ける機能部である。操作入力受付部12は、図2に示す入力装置108によって実現される。
例えば、ユーザが、操作入力受付部12のうち図2に示す入力装置108としての電源ボタンをオンにすると、当該通信端末10の電源がオン状態になる。また、ユーザが電源をオン状態からオフにすると、通信部11は、管理システム50へ、当該通信端末10の電源がオフになった旨の状態情報を送信してから、当該通信端末10の電源が完全にオフとなる。これによって、管理システム50は、通信端末10が電源オンから電源オフになったことを把握することができる。
撮像部13は、被写体を撮像して、撮像して得た画像データを取得する機能部である。撮像部13は、図2に示すCPU101によるソフトウェアである通信アプリAの実行、ならびに、カメラ112および撮像素子I/F113によって実現される。
表示制御部14は、ディスプレイ120に対して画像データ等の表示制御を行う機能部である。表示制御部14は、図2に示すCPU101によるソフトウェアである通信アプリAの実行によって実現される。
表示制御部14は、例えば、ビデオ会議の要求元としての当該通信端末10が所望の宛先としての通信端末10とビデオ会議の通話を開始する前に、通信部11によって受信された宛先端末の候補の状態情報を反映させて、各宛先端末の候補の名前が含まれた宛先リストをディスプレイ120に表示させる。
音声入力部15は、マイク114によって参加者(話者)の音声が音声信号に変換された後、当該音声信号を入力する機能部である。音声入力部15は、図2に示すCPU101によるソフトウェアである通信アプリAの実行、および音声入出力I/F116によって実現される。
音声出力部16は、音声信号をスピーカ115に出力し、スピーカ115から音声を出力させる機能部である。音声出力部16は、図2に示すCPU101によるソフトウェアである通信アプリAの実行、および音声入出力I/F116によって実現される。
記憶・読出部17は、記憶部18に各種データを記憶したり、記憶部18に記憶された各種データを読み出す処理を行う機能部である。記憶部18には、例えば、宛先端末との通話を行う際に受信されるコンテンツデータが、受信される度に上書き記憶される。このうち、上書きされる前の画像データによってディスプレイ120に画像が表示され、上書きされる前の音声データによってスピーカ115から音声が出力される。記憶・読出部17は、図2に示すCPU101によるソフトウェアである通信アプリAの実行によって実現される。
認証要求部19は、当該通信端末10の電源がオンした場合、または、操作入力受付部12により認証要求操作が受け付けられた場合、通信部11から通信ネットワーク2を介して管理システム50に、ログインの認証を要求する旨を示す認証要求情報、および当該通信端末10の現時点のIPアドレスを送信する機能部である。認証要求部19は、図2に示すCPU101によるソフトウェアである通信アプリAの実行によって実現される。
検出部20は、他の通信端末10との会議からの切断を検出する機能部である。また、検出部20は、会議からの切断から当該会議に再接続したことを検出する。検出部20は、図2に示すCPU101によるソフトウェアである通信アプリAの実行によって実現される。
判別部21は、検出部20により会議からの切断が検出された場合、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する機能部である。判別部21は、図2に示すCPU101によるソフトウェアである通信アプリAの実行によって実現される。
終了処理部22は、判別部21により会議からの切断がユーザ(参加者)の会議終了操作による切断であると判別された場合、機器通信部24を介してPC30に、画面共有終了の旨を通知する機能部である。ただし、終了処理部22は、判別部21により会議からの切断がネットワーク(通信ネットワーク2)の不具合、通信機能において正常な通信が行えない状態、または通信エラーが発生している状態等による通信障害による異常切断であると判別された場合、PC30に画面共有終了の旨を通知しない。すなわち、終了処理部22は、PC30による共有画面イメージの送信の可否を制御していることになる。終了処理部22は、図2に示すCPU101によるソフトウェアである通信アプリAの実行によって実現される。
画面共有制御部23は、会議中に、PC30から機器通信部24を介して受信した共有画面イメージを、通信部11を介して管理システム50へ送信する動作を制御する機能部である。画面共有制御部23は、図2に示すCPU101によるソフトウェアである通信アプリAの実行によって実現される。
機器通信部24は、PC30と各種データの送受信を行う機能部である。例えば、機器通信部24は、PC30による画面共有が行われている場合に、当該PC30から共有画面イメージを受信する。機器通信部24は、図2に示すCPU101によるソフトウェアである通信アプリAの実行、およびUSB I/F117によって実現される。
なお、表示制御部14、認証要求部19、検出部20、判別部21、終了処理部22および画面共有制御部23のうち少なくともいずれかは、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)等のハードウェア回路によって実現されるものとしてもよい。
また、図5に示した通信端末10の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図5に示した通信端末10で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図5に示した通信端末10の1つ機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
<PCの機能ブロックの構成>
図5に示すように、PC30は、キャプチャ部31と、イメージ送信部32と、を有している。
キャプチャ部31は、PC30のディスプレイ208で表示されている画面全体のスクリーンショット、または、PC30で起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャする機能部である。すなわち、当該共有画面イメージは、PC30で生成されたものとなる。キャプチャ部31は、図3に示すCPU201によるプログラムの実行によって実現される。なお、キャプチャ部31は、集積回路等のハードウェア回路によって実現されるものとしてもよい。
イメージ送信部32は、キャプチャ部31によりキャプチャされた共有画面イメージを、通信端末10(機器通信部24)へ送信する機能部である。イメージ送信部32は、図3に示すCPU201によるプログラムの実行、およびUSB I/F215によって実現される。
また、図5に示したPC30の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図5に示したPC30で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図5に示したPC30の1つ機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
<管理システムの機能ブロックの構成>
図5に示すように、管理システム50は、通信部51と、認証部52と、状態管理部53と、端末抽出部54と、端末状態取得部55と、セッション制御部56と、記憶・読出部57と、記憶部58と、共有画面配信部59と、を有している。記憶部58は、図3に示す補助記憶装置205によって実現され、図5に示すように、認証管理DB5001と、端末管理DB5002と、グループ管理DB5003と、セッション管理DB5004とを記憶している。以下、記憶部58に記憶されている各DBにおいて管理される各テーブルについて説明する。
<<認証管理テーブル>>
図6は、認証管理テーブルの一例を示す図である。
記憶部58は、図6に示す認証管理テーブルを含む認証管理DB5001を記憶している。認証管理テーブルでは、ログインの認証を行う通信端末10を利用するユーザ(参加者)を識別するユーザIDに対して、パスワードが関連付けられて管理される。ここで、パスワードは、ログインの認証するために利用される情報である。例えば、図6に示す認証管理テーブルにおいて、ユーザIDが「A_10aa」に関連付けられたパスワードが「aaaa」であることが示されている。
なお、ユーザIDは、通信端末10を利用するユーザを一意に識別するために使われる文字、記号、数字または各種のしるし等の識別情報であり、例えば、当該ユーザが利用するメールアドレス等であってもよい。
<<端末管理テーブル>>
図7は、端末管理テーブルの一例を示す図である。
記憶部58は、図7に示す端末管理テーブルを含む端末管理DB5002を記憶している。端末管理テーブルでは、各通信端末10の端末ID毎に、端末名、各通信端末10にログインしたユーザのユーザID、各通信端末10の稼動状態、他の通信端末10との通信状態、および各通信端末10のIPアドレスが関連付けられて管理される。
ここで、稼動状態としては、電源がオンされ、通信が可能または通信中の状態であるオンラインと、電源がオンされていない等、通信が可能でない状態であるオフラインとがある。また、通信状態としては、例えば、「Calling」、「Ringing」、「Accepted」、「Busy」、および「None」等がある。「Calling」は、他の通信端末10を呼び出している状態、すなわち、他の通信端末10に対しビデオ会議に用いられるセッションを確立するための開始要求情報を送信し、応答を待っている状態を示す。「Ringing」は、他の通信端末10から呼び出されている状態、すなわち、他の通信端末10から開始要求情報を受信し、受信した開始要求情報に対する応答が完了していない状態を示す。「Accepted」は、他の通信端末10からの開始要求情報に対し許可の応答が完了しているが、セッションの確立が完了していない状態、および、自端末が送信した開始要求情報に対し許可の応答の受信が完了しているが、セッションの確立が完了していない状態を示す。「Busy」は、他の通信端末10とのセッションが確立し、ビデオ会議におけるコンテンツデータの通信による通話が行われている状態を示す。「None」は、他の通信端末10と通信しておらず、待ち受け中の状態を示す。
例えば、図7に示す端末管理テーブルにおいて、端末IDが「10ad」の通信端末10adは、端末名が「日本 東京事業所 AD端末」で、ログインしているユーザのユーザIDが「C_10ad」で、稼動状態が「オンライン」で、通信状態が他の通信端末10から呼び出されている状態を示す「Ringing」で、この通信端末10adのIPアドレスが「1.2.1.6」であることが示されている。
<<グループ管理システム>>
図8は、グループ管理テーブルの一例を示す図である。
記憶部58は、図8に示すグループ管理テーブルを含むグループ管理DB5003を記憶している。グループ管理テーブルでは、管理システム50に予め登録されているビデオ会議のグループごとに、当該グループに含まれる通信端末10の端末IDが管理される。すなわち、グループ管理テーブルでは、グループを識別するグループIDと、当該グループに含まれる通信端末10の端末IDとが関連付けられて管理される。
例えば、図8に示すグループ管理テーブルにおいて、グループIDが「G002」のグループは、端末IDが「10ac」、「10ca」、「10cb」である通信端末10を含むことが示されている。
<<セッション管理テーブル>>
図9は、セッション管理テーブルの一例を示す図である。
記憶部58は、図9に示すセッション管理テーブルを含むセッション管理DB5004を記憶している。セッション管理テーブルでは、通信端末10間でコンテンツデータが通信されるセッションを識別するためのセッションID毎に、セッションの開始要求端末の端末ID、およびセッションを確立するための開始要求情報において相手先として指定された宛先端末の端末IDが関連付けられて管理される。
例えば、図9に示すセッション管理テーブルにおいて、セッションID「se1」で識別されるセッションは、端末IDが「10aa」の開始要求端末(通信端末10aa)と、端末IDが「10db」の宛先端末(通信端末10db)との間で確立されたことを示す。
なお、図6~図9に示した各テーブルで管理される情報は、テーブル形式の情報としているが、これに限定されるものではなく、管理される各情報が関連付けられることができれば、テーブル形式に限定されるものではない。
図5に戻り、管理システム50の機能ブロックの説明に戻る。
通信部51は、通信ネットワーク2を介して、通信端末10または各システムと各種データの送受信を行う機能部である。通信部51は、図3に示すCPU201によるプログラムの実行、およびネットワークI/F209によって実現される。
認証部52は、通信部51を介して受信された認証要求情報に含まれているユーザIDおよびパスワードを検索キーとし、記憶部58の認証管理テーブル(図6参照)を検索し、認証管理テーブルに同一のユーザIDおよびパスワードが管理されているかを判断することによってユーザ認証を行う機能部である。認証部52は、図3に示すCPU201によるプログラムの実行によって実現される。
状態管理部53は、図7に示す端末管理テーブルの稼動状態および通信状態を管理する機能部である。状態管理部53は、ログインの認証を要求してきた通信端末10の稼動状態を管理すべく、端末管理テーブルに、この通信端末10の端末ID、当該通信端末10にログインしている参加者のユーザID、当該通信端末10の稼動状態、および当該通信端末10のIPアドレスを関連付けて記憶して管理する。
状態管理部53は、通信端末10のユーザによる入力装置108の操作によってオフ状態からオン状態になると、この通信端末10から送られてきた電源をオンする旨の情報に基づいて、端末管理テーブルの稼動状態をオフラインからオンラインに更新する。また、状態管理部53は、通信端末10のユーザによる入力装置108の操作によってオン状態からオフ状態になると、この通信端末10から送られてきた電源をオフする旨の情報に基づいて、端末管理テーブルの稼動状態をオンラインからオフラインに更新する。
状態管理部53は、図3に示すCPU201によるプログラムの実行によって実現される。
端末抽出部54は、ログインの認証要求した通信端末10等、処理対象となる対象端末の端末IDを検索キーとして、図8に示すグループ管理テーブルを検索し、対象端末と通話することができる、すなわちセッションを確立することのできる宛先端末の候補(同じグループの通信端末10)の端末IDを読み出す機能部である。端末抽出部54は、図3に示すCPU201によるプログラムの実行によって実現される。
端末状態取得部55は、端末IDを検索キーとして、図7に示す端末管理テーブルを検索し、端末ID毎に稼動状態および通信状態を読み出す機能部である。これにより、端末状態取得部55は、ログインの認証要求をしてきた通信端末10と通話することができる宛先端末の候補の稼動状態および通信状態を取得することができる。端末状態取得部55は、図3に示すCPU201によるプログラムの実行によって実現される。
セッション制御部56は、図9に示すセッション管理テーブルに、生成したセッションID、開始要求端末の端末IDおよび宛先端末の端末IDを関連付けて記憶して管理する機能部である。セッション制御部56は、通信端末10間のセッションの確立をするための制御を行う。セッション制御部56は、図3に示すCPU201によるプログラムの実行によって実現される。
記憶・読出部57は、記憶部58に各種テーブルに情報を記憶したり、記憶部58に記憶された各種テーブルの情報を読み出す処理を行う機能部である。記憶・読出部57は、図3に示すCPU201によるプログラムの実行によって実現される。
共有画面配信部59は、会議中に、画面共有を行っているPC30が接続された通信端末10から、通信部51を介して受信した共有画面イメージを、会議に参加している他の通信端末10へ配信する動作を制御する機能部である。共有画面配信部59は、図3に示すCPU201によるプログラムの実行によって実現される。
なお、認証部52、状態管理部53、端末抽出部54、端末状態取得部55、セッション制御部56、および共有画面配信部59のうち少なくともいずれかは、ASICまたはFPGA等のハードウェア回路によって実現されるものとしてもよい。
また、図5に示した管理システム50の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図5に示した管理システム50で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図5に示した管理システム50の1つ機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(コンテンツデータおよび各種管理情報の送受信の状態)
図10は、第1の実施形態に係る通信システムにおけるコンテンツデータおよび各種管理情報を送受信するために確立されたセッションを示す図である。図10を参照しながら、通信システム1におけるコンテンツデータおよび各種管理情報を送受信するために確立されたセッションについて説明する。
図10に示すように、通信システム1では、開始要求端末と宛先端末Aと宛先端末Bとの間で、管理システム50を介して、各種の管理情報を送受信するための管理情報用セッションseiが確立される。さらに、開始要求端末と宛先端末Aと宛先端末Bとの間で、管理システム50を介して、画像データおよび音声データ等を送受信するためのコンテンツデータ用セッションsedが確立される。すなわち、コンテンツデータ用セッションsedが、ビデオ会議において直接的に用いられるセッションである。なお、このセッションの概念はあくまで一例であって、例えば、画像データのセッションでは、解像度ごとに分けられるものとしてもよい。
(通信端末が通話開始する前の準備段階における各管理情報の送受信処理)
図11は、通信端末が通話を開始するための認証処理を含む準備段階の処理の一例を示すシーケンス図である。図12は、宛先リストの表示例を示す図である。図11および図12を参照しながら、通信端末10aaが通話を開始する前の準備段階における各情報の送受信処理について説明する。なお、図11では、管理情報用セッションseiによって、各種管理情報が送受信される処理が示されている。
<ステップS21>
まず、通信端末10aaのユーザが、図2に示す入力装置108に対する操作により電源をオンにすると、通信端末10aaの操作入力受付部12が、電源オンを受け付けて、通信端末10aaの電源をオンにする。
<ステップS22>
そして、通信端末10aaの認証要求部19は、上述の通信端末10aaの電源オンを契機とし、通信部11から通信ネットワーク2を介して管理システム50に、ログインの認証要求を示す認証要求情報、および通信端末10aaのIPアドレスを送信する。この認証要求情報には、開始要求端末としての自端末である通信端末10aaを識別するための端末ID、通信端末10aaにログインしているユーザのユーザID、およびパスワードが含まれている。端末ID、ユーザIDおよびパスワードは、通信端末10aaの記憶・読出部17によって記憶部18から読み出されて、通信部11に送られたデータである。また、通信端末10aaから管理システム50へ認証要求情報が送信される際は、受信側である管理システム50は、送信側である通信端末10aaのIPアドレスを把握することができる。
<ステップS23>
次に、管理システム50の認証部52は、通信部51を介して受信した認証要求情報に含まれているユーザIDおよびパスワードを検索キーとして、認証管理テーブル(図6参照)を検索し、認証管理テーブルに同一のユーザIDおよびパスワードが管理されているかを判断することによってユーザ認証を行う。
<ステップS24-1>
認証部52によって、正当な利用権限を有する通信端末10からのログインの認証要求であると判断された場合には、管理システム50の状態管理部53は、端末管理テーブル(図7参照)に、通信端末10aaの端末IDおよび端末名で示されるレコード毎に、ユーザIDおよび通信端末10aaのIPアドレスを関連付けて記憶する。これにより、端末管理テーブルには、通信端末10aaの端末ID「10aa」に、ユーザID「A_10aa」およびIPアドレス「1.2.1.3」が関連付けて管理されることになる。
<ステップS24-2>
続いて、状態管理部53は、通信端末10aaの稼動状態「オンライン」および通信状態「None」を設定し、端末管理テーブルに、通信端末10aaの端末IDおよび端末名で示されるレコードに、稼動状態および通信状態を関連付けて記憶する。これにより、端末管理テーブルには、通信端末10aaの端末ID「10aa」に、稼動状態「オンライン」および通信状態「None」が関連付けて管理されることになる。
<ステップS25>
そして、管理システム50の通信部51は、認証部52によって得られた端末認証の結果が示された認証結果情報を、通信ネットワーク2を介して、認証要求情報を送信してきた開始要求端末(通信端末10aa)に送信する。本実施形態では、通信端末10aaが、認証部52によって正当な利用権限を有するユーザが利用する端末であるとユーザ認証された場合につき、以下続けて説明する。
<ステップS26>
通信端末10aaにおいて、正当な利用権限を有するユーザが利用する端末であるとユーザ認証された結果が示された認証結果情報を受信すると、通信部11は、通信ネットワーク2を介して管理システム50へ、宛先リストを要求する旨が示された宛先リスト要求情報を送信する。これにより、管理システム50の通信部51は、宛先リスト要求情報を受信する。
<ステップS27>
次に、管理システム50の端末抽出部54は、開始要求端末(通信端末10aa)の端末ID「10aa」を検索キーとして、グループ管理テーブル(図8参照)を検索し、開始要求端末が通話することができる、すなわち、開始要求端末と同じグループ(ここでは、グループID「G001」のグループ)に属する宛先端末の候補の端末IDを抽出する。また、端末抽出部54は、抽出した端末IDを検索キーとして、端末管理テーブルを検索し、この端末IDに対応する端末名、すなわち宛先端末の候補の端末名を抽出する。ここでは、開始要求端末(通信端末10aa)の端末ID「10aa」に対応する宛先端末の候補(通信端末10ab、10ac、10ad、10db)のそれぞれの端末ID(「10ab」、「10ac」、「10ad」、「10db」)と、これらに対応する端末名(「日本 東京事業所 AB端末」、「日本 東京事業所 AC端末」、「日本 東京事業所 AD端末」、「アメリカ ワシントン事業所 DB端末」)が抽出される。
<ステップS28、S29>
次に、管理システム50の通信部51は、端末抽出部54によって抽出された宛先端末の候補の端末IDおよび端末名を含む宛先リスト情報を、開始要求端末(通信端末10aa)に送信する。これにより、開始要求端末(通信端末10aa)では、通信部11が宛先リスト情報を受信し、記憶・読出部17が記憶部18へ宛先リスト情報を記憶する。
このように、本実施形態では、各通信端末10で宛先リスト情報を管理するのではなく、管理システム50がすべての通信端末10の宛先リスト情報を一元管理している。これによって、通信システム1に新たな通信端末10が含まれるようになったり、既に含まれている通信端末10が除外されたりする場合でも、管理システム50側で一括して対応するため、各通信端末10側で宛先リスト情報の変更を行う手間を省くことができる。
<ステップS30>
また、管理システム50の端末状態取得部55は、端末抽出部54によって抽出された
宛先端末の候補の端末ID(「10ab」、「10ac」、「10ad」、「10db」)を検索キーとして、端末管理テーブルを検索する。そして、端末状態取得部55は、宛先端末の候補の端末ID毎に、対応する稼動状態および通信状態を読み出すことにより、宛先端末の候補(通信端末10ab、10ac、10ad、10db)それぞれの稼動状態および通信状態を取得する。
<ステップS31>
次に、通信部51は、ステップS30で使用された検索キーである端末IDと、対応する宛先端末の候補の稼動状態および通信状態とを含む状態情報を、通信ネットワーク2を介して開始要求端末に送信する。具体的には、通信部51は、検索キーとしての端末ID「10ab」と、宛先端末の候補(通信端末10ab)の稼動状態「オフライン」とを含む状態情報を、開始要求端末(通信端末10aa)に送信する。なお、稼動状態が「オフライン」の場合には、状態情報には、通信状態は含まれない。また、通信部51は、端末ID「10ac」と、宛先端末の候補(通信端末10ac)の稼動状態「オンライン」と、通信状態「None」とを含む状態情報等、宛先端末の候補すべてに対する状態情報それぞれを開始要求端末(通信端末10aa)へ送信する。
<ステップS32>
次に、開始要求端末(通信端末10aa)の記憶・読出部17は、順次、管理システム50から受信した状態情報を記憶部18に記憶する。したがって、開始要求端末(通信端末10aa)は、宛先端末の候補の状態情報を受信することで、通話することができる宛先端末の候補の現時点のそれぞれの稼動状態および通信状態を取得することができる。
<ステップS33>
次に、開始要求端末(通信端末10aa)の表示制御部14は、記憶部18に記憶されている宛先リスト情報、および宛先端末の候補の状態情報に基づいて、宛先端末の候補の稼動状態および通信状態を反映させた宛先リストを作成する。そして、表示制御部14は、図1に示すディスプレイ120aaに、所定のタイミングで宛先リストを表示する。
図12に示すように、ディスプレイ120aaに表示される宛先リストは、宛先端末の候補の端末ID1100-2と、端末名1100-3と、状態情報を反映させたアイコン1100-4a~1100-4c等を含む。アイコンとしては、オフラインで通話できないことを示すオフラインアイコン1100-4aと、オンラインで通話可能であることを示す通話可能アイコン1100-4bと、オンラインで通話中であることを示す通話中アイコン1100-4cとがある。
表示制御部14は、宛先端末の候補の稼動状態が「オンライン」であり、通信状態が「None」である場合には、この宛先端末の候補に対し、通話可能アイコン1100-4bを割り当てる。また、表示制御部14は、宛先端末の候補の稼動状態が「オンライン」であり、通信状態が「None」以外である場合には、この宛先端末の候補に対し、通話中アイコン1100-4cを割り当てる。そして、表示制御部14は、宛先端末の候補の稼動状態が「オフライン」である場合には、この宛先端末の候補に対し、オフラインアイコン1100-4aを割り当てる。
なお、他の通信端末10でも、ステップS21と同様に、ユーザが図2に示す入力装置108を介して電源をオンにすると、当該通信端末10の操作入力受付部12が、電源オンを受け付けて、上述のステップS22~S33の処理と同様の処理を行う。
(通信端末が他の通信端末との通信の開始を要求する場合の処理)
図13は、通話の開始を要求する処理の一例を示すシーケンス図である。図13を参照しながら、通信端末10が他の通信端末10との通信の開始を要求する場合の処理を説明する。なお、図13では、すべて管理情報用セッションseiによって、各種管理情報が送受信される処理が示されている。
図13においては、図11においてログインが許可された通信端末10aaが、開始要求情報を送信する例、すなわち、通信端末10aaが開始要求端末として動作する例について説明する。開始要求端末としての通信端末10aaは、図11のステップS31で受信した宛先端末の候補の状態情報に基づいて、宛先端末の候補のうち、稼動状態が「オンライン」であり、通信状態が「None」である通信端末10のうち少なくとも1つの通信端末10と通話を行うことができる。例えば、開始要求端末(通信端末10aa)は、宛先端末の候補のうち、図13のステップS31によって受信した状態情報により、稼動状態が「オンライン」であり、通信状態が「None」である通信端末10dbと通話を行うことができる。そこで、以下では、開始要求端末(通信端末10aa)のユーザが、宛先端末(通信端末10db)と通話を開始することを選択した場合について説明する。
なお、図13に示す処理が開始される前の状態において、開始要求端末としての通信端末10aaのディスプレイ120aaには、図12に示す宛先リストが表示されているものとする。そして、開始要求端末のユーザは、宛先リストから所望の通話相手(宛先端末)を選択することができる。
<ステップS41>
まず、開始要求端末のユーザは、通信端末10aaの入力装置108を操作して宛先端末(通信端末10db)を選択する。
<ステップS42>
すると、通信端末10aaの通信部11は、開始要求端末(通信端末10aa)の端末ID「10aa」、および宛先端末(通信端末10db)の端末ID「10db」を含む開始要求情報を、開始要求端末のIPアドレスと共に管理システム50へ送信する。これにより、管理システム50の通信部51は、開始要求情報を受信すると共に、送信元である開始要求端末(通信端末10aa)のIPアドレス「1.2.1.3」を把握することになる。
<ステップS43>
そして、状態管理部53は、開始要求情報に含まれる開始要求端末(通信端末10aa)の端末ID「10aa」および宛先端末(通信端末10db)の端末ID「10db」に基づき、端末管理DB5002の端末管理テーブルにおいて、端末ID「10aa」および端末ID「10db」がそれぞれ含まれるレコードの通信状態のフィールド部分を変更する。具体的には、状態管理部53は、端末管理テーブルの端末ID「10aa」が含まれるレコードの通信状態を「Calling」に変更する。同様に、状態管理部53は、端末管理テーブルの端末ID「10db」が含まれるレコードの通信状態を「Ringing」に変更する。
<ステップS44>
そして、管理システム50のセッション制御部56は、開始要求端末(通信端末10aa)によって要求された宛先端末との間の通信を実行するためのセッション(コンテンツデータ用セッションsed)を識別するためのセッションID「se1」を生成する。セッション制御部56は、セッションIDを生成すると、セッションID「se1」をセッション管理テーブル(図9参照)に記憶する。
<ステップS45>
続いて、セッション制御部56は、セッション管理テーブルにおいて、セッションID「se1」が含まれるレコードの開始要求端末の端末IDおよび宛先端末の端末IDのフィールド部分に、それぞれ開始要求端末の端末ID「10aa」、宛先端末の端末ID「10db」を記憶して管理する。
<ステップS46>
次に、通信部51は、通信ネットワーク2を介して、開始要求端末(通信端末10aa)へ、セッション制御部56により生成されたセッションIDを送信する。
<ステップS47>
また、通信部51は、開始要求端末の端末ID「10aa」と、セッションID「se1」とを含む開始要求情報と、管理システム50のIPアドレスとを宛先端末へ送信する。これにより、宛先端末(通信端末10db)は、開始要求情報を受信すると共に、管理システム50のIPアドレス「1.1.1.2」を把握することになる。
(宛先端末が開始要求端末との間で通信開始を許可する応答を受け付けた場合の処理)
図14は、通話の開始の要求を許可する処理の一例を示すシーケンス図である。図15は、開始要求受付画面の表示例を示す図である。図14および図15を参照しながら、開始要求情報を受信した宛先端末のユーザが、入力装置108を操作することにより、開始要求端末との間の通信の開始(セッションの確立)を許可する旨の応答が受け付けられた場合の処理について説明する。
<ステップS51>
図14に示す送受信処理の開始時には、宛先端末(通信端末10db)のディスプレイ120には、開始要求情報を受信したことを示す開始要求受付画面1200-1(図15参照)が表示されている。
図15に示す開始要求受付画面1200-1は、開始要求情報を受信した旨を示し、開始要求端末との間の通信の開始(セッションの確立)を許可するか否かを指定するためのユーザインターフェースである。ユーザは、開始要求受付画面1200-1を閲覧することにより、開始要求を受信したことを確認することができる。開始要求受付画面1200-1には、セッションの確立を許可するための「はい」ボタン1200-2と、セッションの確立を許可しない選択をするための「いいえ」ボタン1200-3とが含まれている。
<ステップS52>
宛先端末(通信端末10db)の入力装置108の操作によって「はい」ボタン1200-2が押下された場合、操作入力受付部12は、開始要求端末(通信端末10aa)との間の通信の開始(セッション確立)を許可する旨の応答を受け付ける。
<ステップS53>
次に、宛先端末の通信部11は、宛先端末の端末ID「10db」、開始要求端末の端末ID「10aa」、およびセッションID「se1」が含まれる開始応答情報を、管理システム50へ送信する。
<ステップS54>
管理システム50の通信部51が開始応答情報を受信すると、状態管理部53は、開始応答情報に含まれる開始要求端末の端末ID「10aa」および宛先端末の端末ID「10db」に基づき、端末管理テーブルにおいて、端末ID「10aa」および端末ID「10db」がそれぞれ含まれるレコードの通信状態のフィールド部分を変更する。具体的には、状態管理部53は、端末管理テーブルの端末ID「10aa」が含まれるレコードの通信状態を「Accepted」に変更する。同様に、状態管理部53は、端末管理テーブルの端末ID「10db」が含まれるレコードの通信状態も「Accepted」に変更する。
<ステップS55>
次に、通信部51は、宛先端末(通信端末10db)の端末ID「10db」、およびセッションID「se1」が含まれる開始応答情報を開始要求端末(通信端末10aa)へ送信する。
<ステップS56>
開始要求端末は、この開始応答情報を受信すると、通信部11によってセッションID「se1」を管理システム50に送信することにより、セッションを確立させる。
<ステップS57>
一方、宛先端末は、通信部11によってセッションID「se1」を管理システム50に送信することにより、セッションを確立させる。
なお、上述の図11における同じグループの通信端末10を識別する端末IDを抽出する動作、ならびに図13および図14に示す通信端末10aaと通信端末10dbとの間でセッションを確立させるための動作においては、端末IDを利用した動作ではなく、各通信端末にログインしているユーザのユーザID(例えばメールアドレス等)を利用した動作であってもよい。
(従来の通信システムにおける会議から切断された場合の動作)
図16は、第1の実施形態に係る通信システムにおいて1の通信端末から画面共有が実施されている状態の一例を示す図である。まず、図16を参照しながら、本実施形態に係る通信システム1において、特定の通信端末10に接続されたPC30が画面共有を行っている場合の動作について説明する。
図16に示すように、通信システム1は、会議に参加している端末として通信端末10ab、10ac、10db、10adを含むものとする。このうち、通信端末10abには、PC30abが接続されており、このPC30abが画面共有を実施し、共有画面イメージを通信端末10abに送信しているものとする。
通信システム1に含まれる通信端末10ab、10ac、10db、10adと、管理システム50との間のデータ通信を可能にする通信ネットワーク2の状態が正常である場合、通信端末10abは、PC30abから受信した共有画面イメージを管理システム50へ送信する。そして、管理システム50は、通信端末10abから受信した共有画面イメージを、その他の通信端末10である通信端末10ac、10db、10adに配信する。
以上の動作によって、画面共有を実施するPC30abから送信された共有画面イメージは、会議に参加中の通信端末10ab、10ac、10db、10adのすべてに共有される。この画面共有が行われている場合の各通信端末10に接続されたディスプレイ120に表示される画面には、各参加者の映像データに加えて、PC30abから送信された共有画面イメージが表示される(例えば、後述する図21(a)参照)。なお、図16に示す通信システム1において正常に画面共有が行われている状態は、従来の通信システムの画面共有においても同様である。
図17は、画面共有が行われている従来の通信システムの主要な機能ブロックの構成およびデータの流れの一例を示した図である。図18は、通信障害が発生した場合の従来の通信システムの主要な機能ブロックの構成および動作の一例を示した図である。図19は、従来の通信システムにおける通信障害から復旧した場合の会議画面の変化の一例を示す図である。次に、図17~図19を参照しながら、正常に画面共有が行われている従来の通信システムにおいて、通信ネットワークにおいて通信障害(ネットワーク障害)が発生した場合の動作について説明する。
図17に示すように、従来の通信システムに含まれる通信端末1000、PC3000および管理システム5000は、それぞれ本実施形態に係る通信システム1に含まれる通信端末10、PC30および管理システム50に対応する。通信端末1000は、図17に示すように、通信部1011と、終了処理部1022と、画面共有制御部1023と、機器通信部1024と、を有する。PC3000は、図17に示すように、キャプチャ部3031と、イメージ送信部3032と、を有し、通信端末1000に接続されている。
通信障害が発生していない場合には、PC3000のキャプチャ部3031は、PC3000のディスプレイで表示されている画面全体のスクリーンショット、または、PC3000で起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャし、当該共有画面イメージを、イメージ送信部3032へ送る。イメージ送信部3032は、受け取った共有画面イメージを、通信端末1000へ送信する。
通信端末1000の画面共有制御部1023は、PC3000から機器通信部1024を介して共有画面イメージを受信すると、通信部1011を介して管理システム5000へ当該共有画面イメージを送信する。そして、管理システム5000は、通信端末1000から受信した共有画面イメージを、その他の通信端末に配信する。
以上の動作によって、会議に接続している(会議に参加している)通信端末1000を含む各通信端末のディスプレイには、図19(a)に示す会議画面1300のように、各参加者の映像データに加えて、PC3000から送信された共有画面イメージが表示される。
次に、図18に示すように、例えば、通信端末1000と管理システム5000との間で通信障害(ネットワーク障害)が発生した場合の従来の通信システムの動作を説明する。通信端末1000の終了処理部1022は、画面共有制御部1023の制御の下、通信部1011を介して共有画面イメージが、通信障害のため管理システム5000へ送信されないことを認識すると、会議から切断されたものと判断し、画面共有終了の旨をPC3000へ通知する。
PC3000のイメージ送信部3032は、通信端末1000から画面共有終了の旨の通知を受信すると、共有画面イメージの通信端末1000への送信を停止する。また、管理システム5000も、通信端末1000から共有画面イメージが受信できないので、他の通信端末への共有画面イメージの配信を停止する。
その後、通信障害が復旧して通信端末1000が会議に再接続された場合、通信端末1000を含む各通信端末のディスプレイには、図19(b)に示す会議画面1301のように、各参加者の映像データが表示されるものの、上述のように、イメージ送信部3032からの共有画面イメージの送信が停止しているため、画面共有の状態が復元されず、共有画面イメージが表示されていない状態となる。この場合、画面共有の状態を復元するためには、ユーザ(参加者)がPC3000を操作して、再び、イメージ送信部3032から、キャプチャ部3031でキャプチャされた共有画面イメージが通信端末1000へ送信されるように手動で作業する必要がある。
(本実施形態に係る通信システムにおける会議から切断された場合の動作)
図20は、第1の実施形態に係る通信システムにおいて通信障害が発生した場合の主要な機能ブロックの構成および動作の一例を示す図である。図21は、第1の実施形態に係る通信システムにおける通信障害から復旧した場合の会議画面の変化の一例を示す図である。図20および図21を参照しながら、正常に画面共有が行われている本実施形態に係る通信システム1において、通信ネットワーク2において通信障害(ネットワーク障害)が発生した場合の動作について説明する。なお、図20においては、画面共有を行うPC30abが通信端末10abに接続されているものとして説明する。
通信障害が発生していない場合には、PC30abのキャプチャ部31は、PC30abのディスプレイ208で表示されている画面全体のスクリーンショット、または、PC30abで起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャし、当該共有画面イメージを、イメージ送信部32へ送る。イメージ送信部32は、受け取った共有画面イメージを、通信端末10abへ送信する。
通信端末10abの画面共有制御部23は、PC30abから機器通信部24を介して共有画面イメージを受信すると、通信部11を介して管理システム50へ当該共有画面イメージを送信する。そして、管理システム50は、通信端末10abから受信した共有画面イメージを、その他の通信端末10に配信する。
以上の動作によって、会議に接続している(会議に参加している)各通信端末10のディスプレイ120には、図21(a)に示す会議画面1310のように、各参加者の映像データに加えて、PC30abから送信された共有画面イメージ(図21(a)の例では「Xxx説明資料」と題するファイルのイメージ)が表示される。
次に、図20に示すように、例えば、通信端末10abと管理システム50との間で通信障害(ネットワーク障害)が発生した場合の通信システム1の動作を説明する。通信端末10abの検出部20は、画面共有制御部23の制御の下、通信部11を介して共有画面イメージが、通信障害のため管理システム50へ送信されない場合、当該通信端末10abが会議から切断されたことを検出する。なお、会議からの切断の検出は、共有画面イメージが送信されないということだけでなく、例えば、管理システム50との間での通信確認のための制御信号の応答がないこと等によって行ってもよい。この場合、図20に示すように、通信端末10abは、物理的に共有画面イメージを管理システム50へ送信することができず、管理システム50も、他の通信端末10への共有画面イメージの配信を停止する。この場合、管理システム50は、通信端末10abのユーザの映像データおよび音声データの配信も停止することになる。その結果、他の通信端末10のディスプレイ120には、図21(b)に示す会議画面1311のように、共有画面イメージおよび通信端末10abのユーザの映像データの表示がなくなり、他の通信端末10のユーザの映像データのみが表示される。
検出部20によって会議からの切断が検出された場合、通信端末10abの判別部21は、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する。ここでは、判別部21は、会議からの切断原因が、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別する。この場合、終了処理部22は、PC30のイメージ送信部32へ画面共有終了の旨を通知しない。この結果、図20に示すように、PC30のイメージ送信部32は、キャプチャ部31から受け取った共有画面イメージを、継続して通信端末10abへ送信することになる。すなわち、通信端末10abの画面共有制御部23は、イメージ送信部32から、機器通信部24を介して、共有画面イメージの取得を継続することになり、管理システム50へいつでも共有画面イメージを送信できる状態となっていることになる。ただし、判別部21により会議からの切断原因がユーザ(参加者)の会議終了操作による切断であると判別された場合には、終了処理部22は、PC30のイメージ送信部32へ画面共有終了の旨を通知して、イメージ送信部32に共有画面イメージの送信を停止させる。
その後、通信障害が復旧して通信端末10abが会議に再接続された場合、検出部20によって通信端末10abの会議への再接続が検出されると、画面共有制御部23は、PC30abから機器通信部24を介して継続して受信している共有画面イメージについて、通信部11を介して管理システム50への送信を再開する。そして、管理システム50は、通信端末10abから受信した共有画面イメージを、その他の通信端末10に再び配信する。その結果、他の通信端末10のディスプレイ120では、図21(c)に示す会議画面1312のように、共有画面イメージおよび通信端末10abのユーザの映像データが再表示される。すなわち、通信障害が復旧して通信端末10abが会議に再接続された場合、PC30abでの画面共有のための操作を行うことなく、会議からの切断前に実施されていた画面共有の状態が自動で復元されることになる。
図22は、第1の実施形態に係る通信システムにおける通信障害が発生した場合の処理の一例を示すシーケンス図である。そして、図22を参照しながら、正常に画面共有が行われている状態から通信ネットワーク2において通信障害(ネットワーク障害)が発生した場合における通信システム1の動作の流れを説明する。なお、図22においては、画面共有を行うPC30abが通信端末10abに接続されているものとして、通信端末10dbが通信端末10abと同じ会議に参加しているものとして説明する。
<ステップS61>
通信端末10abと管理システム50との通信ネットワーク2のネットワーク経路に通信障害が発生していない場合、PC30abのキャプチャ部31は、PC30abのディスプレイ208で表示されている画面全体のスクリーンショット、または、PC30abで起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャし、当該共有画面イメージを、イメージ送信部32へ送る。そして、イメージ送信部32は、受け取った共有画面イメージを、通信端末10abへ送信する。
<ステップS62>
通信端末10abの画面共有制御部23は、PC30abから機器通信部24を介して共有画面イメージを受信すると、通信部11を介して管理システム50へ当該共有画面イメージを送信する。
<ステップS63>
そして、管理システム50の共有画面配信部59は、通信端末10abから通信部51を介して受信した共有画面イメージを、通信端末10dbに当該通信部51を介して配信する。この結果、会議に接続している(会議に参加している)各通信端末10のディスプレイ120には、上述の図21(a)に示す会議画面1310のように、各参加者の映像データに加えて、PC30abから送信された共有画面イメージ(図21(a)の例では「Xxx説明資料」と題するファイルのイメージ)が表示される。
<ステップS64、S65>
ここで、通信端末10abと管理システム50との間で通信障害(ネットワーク障害)が発生したものとする。この場合、通信端末10abの通信部11は、物理的に共有画面イメージを管理システム50へ送信することができず、管理システム50の共有画面配信部59も、通信端末10dbへの共有画面イメージの配信を停止する。この場合、管理システム50の通信部51は、通信端末10abのユーザの映像データおよび音声データの配信も停止することになる。
<ステップS66>
その結果、通信端末10dbのディスプレイ120には、上述の図21(b)に示す会議画面1311のように、共有画面イメージおよび通信端末10abのユーザの映像データの表示がなくなり、他の通信端末10のユーザの映像データのみが表示される。
<ステップS67>
また、通信端末10abと管理システム50との間で通信障害(ネットワーク障害)が発生すると、通信端末10abの検出部20は、画面共有制御部23の制御の下、通信部11を介して共有画面イメージが、通信障害のため管理システム50へ送信されなくなり、当該通信端末10abが会議から切断されたことを検出する。
<ステップS68>
検出部20によって会議からの切断が検出された場合、通信端末10abの判別部21は、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する。ここでは、判別部21は、会議からの切断原因が、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別する。
<ステップS69>
終了処理部22は、判別部21により会議からの切断原因がネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別された場合、PC30abのイメージ送信部32へ画面共有終了の旨を通知しない。すなわち、終了処理部22は、PC30abのイメージ送信部32が共有画面イメージを継続して送信すべきと判断する。
<ステップS70>
この結果、PC30abのイメージ送信部32は、キャプチャ部31から受け取った共有画面イメージを、継続して通信端末10abへ送信することになる。すなわち、通信端末10abの画面共有制御部23は、イメージ送信部32から、機器通信部24を介して、共有画面イメージの取得を継続することになる。
<ステップS71~S73>
その後、通信障害が復旧して通信端末10abが会議に再接続された場合、検出部20によって通信端末10abの会議への再接続が検出されると、画面共有制御部23は、PC30abから機器通信部24を介して継続して受信している共有画面イメージについて、通信部11を介して管理システム50への送信を再開する。
<ステップS74>
そして、管理システム50の共有画面配信部59は、通信端末10abから通信部51を介して受信した共有画面イメージを、当該通信部51を介して通信端末10dbに再び配信する。
<ステップS75>
その結果、通信端末10dbのディスプレイ120dbでは、上述の図21(c)に示す会議画面1312のように、共有画面イメージおよび通信端末10abのユーザの映像データが再表示される。
以上のステップS61~S75の流れで、正常に画面共有が行われている状態から通信ネットワーク2において通信障害(ネットワーク障害)が発生した場合における通信システム1の動作が行われる。
以上のような通信システム1の構成および動作によって、通信障害等の意図しない会議切断から復旧して、PC30が接続されている通信端末10が会議に再接続された場合、PC30での画面共有のための操作を行うことなく、会議からの切断前に実施されていた画面共有の状態を自動で復元することができる。
なお、会議切断の原因として、通信ネットワーク2で発生した通信障害を例として説明したが、これに限定されるものではなく、通信ネットワーク2のトラフィック過多、または通信ネットワーク2内のルータ等のネットワーク機器の故障等の意図しない会議切断を含む。
また、本実施形態に係る通信端末10のソフトウェア構成は、上述の図4に示した構成に限定されるものではなく、例えば、図23に示す構成であってもよい。図23は、第1の実施形態に係る通信端末のWebアプリを利用する場合のソフトウェア構成の一例を示す図である。上述の図4では、通信端末10で通信アプリAが実行される動作を説明したが、同様の処理をWebアプリによっても実現できる。Webアプリは、ブラウザ上で動作する、例えばJavaScript(登録商標)によるプログラムとWebサーバ側のプログラムとが協調することによって動作し、ユーザはそれをブラウザ上で使用する。すなわち、図23に示すように、通信端末10は管理システム50から、プログラムWA(HTML(HyperText Markup Language)+JavaScript(登録商標)+CSS(Coefficient Of Performance)等)をダウンロードして、ブラウザ1040上で実行する。当該ブラウザ1040は、OS1020の制御に従って動作する。通信端末10は、HTTP(Hypertext Transfer Protocol)またはHTTPS(Hypertext Transfer Protocol Secure)等のプロトコルを用いて管理システム50とデータを送受信することによって、管理システム50が提供しているサービスを利用できる。このような利用形態では、予め通信端末10に通信アプリAをダウンロードしておく必要がない。
(変形例1)
図24は、第1の実施形態の変形例に係る通信システムにおいて通信障害が発生した場合の主要な機能ブロックの構成および動作の一例を示す図である。図24を参照しながら、本変形例に係る通信システムの主要な機能ブロックの構成、および、正常に画面共有が行われている本変形例に係る通信システムにおいて、通信ネットワーク2において通信障害(ネットワーク障害)が発生した場合の動作について説明する。
本変形例に係る通信システムが含むPC30_1は、上述の第1の実施形態に係る通信端末10の機能ブロックと、PC30の機能ブロックと、を併せ持つ。したがって、PC30_1自体が本発明の「通信端末」に対応する。ただし、通信端末10とPC30とデータ通信を担っていた機器通信部24およびイメージ送信部32は、本変形例に係るPC30_1には不要なので、PC30_1には、機器通信部24およびイメージ送信部32は含まれない。
通信障害が発生していない場合には、PC30_1のキャプチャ部31は、PC30_1のディスプレイ208で表示されている画面全体のスクリーンショット、または、PC30_1で起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャし、当該共有画面イメージを、画面共有制御部23へ送る。すなわち、当該共有画面イメージは、PC30_1自体で生成されたものとなる。
画面共有制御部23は、受け取った共有画面イメージを、通信部11を介して管理システム50へ送信する。そして、管理システム50は、PC30_1から受信した共有画面イメージを、他の通信端末10に配信する。
以上の動作によって、会議に接続している(会議に参加している)PC30_1のディスプレイ208および各通信端末10のディスプレイ120には、上述の図21(a)に示す会議画面1310のように、各参加者の映像データに加えて、PC30_1から送信された共有画面イメージ(図21(a)の例では「Xxx説明資料」と題するファイルのイメージ)が表示される。
次に、図24に示すように、例えば、PC30_1と管理システム50との間で通信障害(ネットワーク障害)が発生した場合の通信システムの動作を説明する。PC30_1の検出部20は、画面共有制御部23の制御の下、通信部11を介して共有画面イメージが、通信障害のため管理システム50へ送信されない場合、当該PC30_1が会議から切断されたことを検出する。この場合、図24に示すように、PC30_1は、物理的に共有画面イメージを管理システム50へ送信することができず、管理システム50も、他の通信端末10への共有画面イメージの配信を停止する。この場合、管理システム50は、PC30_1のユーザの映像データおよび音声データの配信も停止することになる。その結果、他の通信端末10のディスプレイ120には、上述の図21(b)に示す会議画面1311のように、共有画面イメージおよびPC30_1のユーザの映像データの表示がなくなり、他の通信端末10のユーザの映像データのみが表示される。
検出部20によって会議からの切断が検出された場合、PC30_1の判別部21は、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する。ここでは、判別部21は、会議からの切断原因が、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別する。この場合、終了処理部22は、キャプチャ部31へ画面共有終了の旨を通知しない。この結果、図24に示すように、キャプチャ部31は、キャプチャした共有画面イメージを、継続して画面共有制御部23へ送ることになる。ただし、判別部21により会議からの切断原因がユーザ(参加者)の会議終了操作による切断であると判別された場合には、終了処理部22は、キャプチャ部31へ画面共有終了の旨を通知して、キャプチャ部31に共有画面イメージの送り動作を停止させる。
その後、通信障害が復旧してPC30_1が会議に再接続された場合、検出部20によってPC30_1の会議への再接続が検出されると、画面共有制御部23は、キャプチャ部31から継続して受け取っている共有画面イメージについて、通信部11を介して管理システム50への送信を再開する。そして、管理システム50は、PC30_1から受信した共有画面イメージを、その他の通信端末10に再び配信する。その結果、他の通信端末10のディスプレイ120では、上述の図21(c)に示す会議画面1312のように、共有画面イメージおよびPC30_1のユーザの映像データが再表示される。すなわち、PC30_1のような構成の場合にも、通信障害が復旧してPC30_1が会議に再接続された場合、PC30_1での画面共有のための操作を行うことなく、会議からの切断前に実施されていた画面共有の状態が自動で復元されることになる。
[第2の実施形態]
第2の実施形態に係る通信システムについて、第1の実施形態に係る通信システム1と相違する点を中心に説明する。第1の実施形態では、通信障害等の意図しない会議切断が発生した場合に、画面共有を実施しているPC30から共有画面イメージを通信端末10に対して継続して送信することにより、会議に再接続した場合に、画面共有の状態が自動で復元される動作について説明した。本実施形態では、第1の実施形態の通信システム1の動作に加えて、通信障害等の意図しない会議切断が発生した場合においても、他の通信端末で表示されている画面共有の会議画面のレイアウトを維持する動作について説明する。
なお、本実施形態に係る通信システムの通信端末、PCおよび管理システムのハードウェア構成は、第1の実施形態で上述した構成と同様である。
(従来の通信システムにおける会議から切断された場合の動作)
図25は、通信障害が発生した場合の従来の通信システムの動作の一例を示した図である。図26は、通信障害が発生した場合の従来の通信システムの主要な機能ブロックの構成および動作の一例を示した図である。まず、図25および図26を参照しながら、正常に画面共有が行われている従来の通信システムにおいて、通信ネットワークにおいて通信障害(ネットワーク障害)が発生した場合の動作について説明する。
通信障害が発生していない場合には、PC3000aは、ディスプレイで表示されている画面全体のスクリーンショット、または、PC3000aで起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャし、当該共有画面イメージを、通信端末1000aへ送信する。通信端末1000aは、PC3000aから共有画面イメージを受信すると、管理システム5000へ当該共有画面イメージを送信する。そして、管理システム5000は、通信端末1000aから受信した共有画面イメージを、その他の通信端末(通信端末1000b~1000d)に配信する。
以上の動作によって、会議に接続している(会議に参加している)通信端末1000aを含む各通信端末のディスプレイには、上述した図19(a)に示す会議画面1300のように、各参加者の映像データに加えて、PC3000aから送信された共有画面イメージが表示される。
次に、図25および図26に示すように、例えば、通信端末1000aと管理システム5000との間で通信障害(ネットワーク障害)が発生した場合の従来の通信システムの動作を説明する。通信端末1000aは、共有画面イメージが、通信障害のため管理システム5000へ送信されないことを認識すると、会議から切断されたものと判断し、画面共有終了の旨をPC3000aへ通知する。
PC3000aは、通信端末1000aから画面共有終了の旨の通知を受信すると、共有画面イメージの通信端末1000aへの送信を停止する。また、図26に示すように、管理システム5000の共有画面配信部5059も、通信端末1000aから通信部5051を介して共有画面イメージを受信することができないので、他の通信端末(通信端末1000b~1000d)への共有画面イメージの配信を停止する。
その後、通信障害が復旧して通信端末1000aが会議に再接続された場合、通信端末1000aを含む各通信端末のディスプレイには、上述の図19(b)に示す会議画面1301のように、各参加者の映像データが表示されるものの、上述のように、PC3000aからの共有画面イメージの送信が停止しているため、画面共有の状態が復元されず、共有画面イメージが表示されていない状態となる。この場合、画面共有の状態を復元するためには、ユーザ(参加者)がPC3000aを操作して、再び、キャプチャされた共有画面イメージが通信端末1000aへ送信されるように手動で作業する必要がある。
以下、通信障害等の意図しない会議切断が発生した場合においても、他の通信端末で表示されている画面共有の会議画面のレイアウトを維持し、かつ、通信障害等が復旧してPC30が接続されている通信端末10が会議に再接続された場合に、PC30での画面共有のための操作を行うことなく、会議からの切断前に実施されていた画面共有の状態を自動で復元する本実施形態に係る通信システムの構成および動作について説明する。
(通信システムの機能ブロックの構成)
図27は、第2の実施形態に係る通信システムの機能ブロックの構成の一例を示す図である。図27を参照しながら、本実施形態に係る通信システム1aの機能ブロックの構成について説明する。なお、通信システム1aに含まれる通信端末10およびPC30の機能ブロックの構成は、上述した第1の実施形態に係る通信システム1の通信端末10およびPC30の機能ブロック構成と同様である。
図27に示すように、通信システム1aに含まれる管理システム50aは、通信部51と、認証部52と、状態管理部53と、端末抽出部54と、端末状態取得部55と、セッション制御部56と、記憶・読出部57と、記憶部58と、共有画面配信部59(配信部)と、検出部60(第2検出部)と、判別部61(第2判別部)と、終了処理部62と、を有している。なお、通信部51、認証部52、状態管理部53、端末抽出部54、端末状態取得部55、セッション制御部56、および記憶・読出部57の動作は、上述の第1の実施形態で説明した動作と同様である。
記憶部58は、図3に示す補助記憶装置205によって実現され、図27に示すように、認証管理DB5001と、端末管理DB5002と、グループ管理DB5003と、セッション管理DB5004とを記憶している。なお、記憶部58に記憶されている各DBにおいて管理される各テーブルの構成および機能は、上述の第1の実施形態で説明した内容と同様である。
検出部60は、通信端末10の会議からの切断を検出する機能部である。また、検出部60は、会議からの切断から当該会議に再接続したことを検出する。検出部60は、図3に示すCPU201によるプログラムの実行によって実現される。
判別部61は、検出部60により会議からの切断が検出された場合、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する機能部である。判別部61は、図3に示すCPU201によるプログラムの実行によって実現される。
終了処理部62は、判別部61により会議からの切断がユーザ(参加者)の会議終了操作による切断であると判別された場合、通信部51を介して他の通信端末10に、画面共有終了の旨を通知する機能部である。ただし、終了処理部62は、判別部61により会議からの切断がネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別された場合、他の通信端末10に画面共有終了の旨を通知しない。終了処理部62は、図3に示すCPU201によるプログラムの実行によって実現される。
なお、認証部52、状態管理部53、端末抽出部54、端末状態取得部55、セッション制御部56、共有画面配信部59、検出部60、判別部61および終了処理部62のうち少なくともいずれかは、ASICまたはFPGA等のハードウェア回路によって実現されるものとしてもよい。
また、図27に示した管理システム50aの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図27に示した管理システム50aで独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図27に示した管理システム50aの1つ機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(本実施形態に係る通信システムにおける会議から切断された場合の動作)
図28は、第2の実施形態に係る通信システムにおいて通信障害が発生した場合の動作の一例を示す図である。図29は、第2の実施形態に係る通信システムにおいて通信障害が発生した場合の主要な機能ブロックの構成および動作の一例を示す図である。図30は、第2の実施形態に係る通信システムにおける通信障害から復旧した場合の会議画面の変化の一例を示す図である。図28~図30を参照しながら、正常に画面共有が行われている本実施形態に係る通信システム1aにおいて、通信ネットワーク2において通信障害(ネットワーク障害)が発生した場合の動作について説明する。
通信障害が発生していない場合には、PC30abは、PC30abのディスプレイ208で表示されている画面全体のスクリーンショット、または、PC30abで起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャし、当該共有画面イメージを、通信端末10abへ送信する。
通信端末10abは、PC30abから共有画面イメージを受信すると、管理システム50aへ当該共有画面イメージを送信する。そして、管理システム50aは、通信端末10abから受信した共有画面イメージを、通信端末10ac、10db、10adに配信する。
以上の動作によって、会議に接続している(会議に参加している)各通信端末10のディスプレイ120には、図30(a)に示す会議画面1310のように、各参加者の映像データに加えて、PC30abから送信された共有画面イメージ(図30(a)の例では「Xxx説明資料」と題するファイルのイメージ)が表示される。
次に、図28および図29に示すように、例えば、通信端末10abと管理システム50aとの間で通信障害(ネットワーク障害)が発生した場合の通信システム1aの動作を説明する。通信端末10abの検出部20(図27参照)は、画面共有制御部23(図27参照)の制御の下、通信部11(図27参照)を介して共有画面イメージが、通信障害のため管理システム50aへ送信されない場合、当該通信端末10abが会議から切断されたことを検出する。なお、会議からの切断の検出は、共有画面イメージが送信されないということだけでなく、例えば、管理システム50aとの間での通信確認のための制御信号の応答がないこと等によって行ってもよい。
検出部20によって会議からの切断が検出された場合、通信端末10abの判別部21(図27参照)は、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する。ここでは、判別部21は、会議からの切断原因が、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別する。この場合、終了処理部22(図27参照)は、PC30のイメージ送信部32へ画面共有終了の旨を通知しない。この結果、図28および図29に示すように、PC30のイメージ送信部32(図27参照)は、キャプチャ部31から受け取った共有画面イメージを、継続して通信端末10abへ送信することになる。すなわち、通信端末10abの画面共有制御部23は、イメージ送信部32から、機器通信部24(図27参照)を介して、共有画面イメージの取得を継続することになる。ただし、判別部21により会議からの切断原因がユーザ(参加者)の会議終了操作による切断であると判別された場合には、終了処理部22は、PC30のイメージ送信部32へ画面共有終了の旨を通知して、イメージ送信部32に共有画面イメージの送信を停止させる。
また、図28および図29に示すように、通信端末10abは、物理的に共有画面イメージを管理システム50aへ送信することができないので、管理システム50aの検出部60は、通信端末10abから共有画面イメージ(それに加えて映像データ等)が受信できなくなったことによって、通信端末10abが会議から切断されたことを検出する。検出部60によって通信端末10abの会議からの切断が検出された場合、管理システム50aの判別部61は、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する。ここでは、判別部61は、会議からの切断原因が、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別する。この場合、終了処理部62は、通信端末10ac、10db、10adへ画面共有終了の旨を通知しない。この結果、図28および図29に示すように、管理システム50aの共有画面配信部59は、共有画面イメージ、および通信端末10abのユーザの映像データを、継続して通信端末10ac、10db、10adへ配信することになる。この場合、共有画面配信部59は、通信端末10abからリアルタイムの共有画面イメージおよび映像データを受信することができないので、例えば、共有画面イメージおよび映像データの直近の静止画(すなわち、通信障害が発生する前に通信端末10abから受信していた共有画面イメージおよび映像データに基づく静止画)を、継続して通信端末10ac、10db、10adへ配信する。その結果、通信端末10ac、10db、10adのディスプレイ120には、図30(b)に示す会議画面1311aのように、共有画面イメージおよび通信端末10abのユーザの映像データが継続して表示されるので、図30(a)に示す会議画面1310のレイアウトと同様のレイアウトが維持される。
ただし、判別部61により会議からの切断原因がユーザ(参加者)の会議終了操作による切断であると判別された場合には、終了処理部62は、通信部51を介して通信端末10ac、10db、10adへ画面共有終了の旨を通知した上で、共有画面配信部59による共有画面イメージの配信を停止させる。
その後、通信障害が復旧して通信端末10abが会議に再接続された場合、検出部20によって通信端末10abの会議への再接続が検出されると、画面共有制御部23は、PC30abから機器通信部24(図27参照)を介して継続して受信している共有画面イメージについて、通信部11を介して管理システム50aへの送信を再開する。また、検出部60によって通信端末10abの会議への再接続が検出されると、管理システム50aの共有画面配信部59は、通信端末10abから通信部51を介して受信したリアルタイムの共有画面イメージおよび映像データを、当該通信部51を介して通信端末10ac、10db、10adへ配信する。その結果、通信端末10ac、10db、10adのディスプレイ120では、図30(c)に示す会議画面1312のように、会議画面1311aのレイアウトを維持しつつ、リアルタイムの共有画面イメージおよび通信端末10abのユーザの映像データが表示される。すなわち、通信障害等の意図しない会議切断が発生した場合においても、他の通信端末(通信端末10ac、10db、10ad)で表示されている画面共有の会議画面のレイアウトを維持し、かつ、通信障害等が復旧してPC30abが接続されている通信端末10abが会議に再接続された場合に、PC30abでの画面共有のための操作を行うことなく、会議からの切断前に実施されていた画面共有の状態を自動で復元することになる。
図31は、第2の実施形態に係る通信システムにおける通信障害が発生した場合の処理の一例を示すシーケンス図である。そして、図31を参照しながら、正常に画面共有が行われている状態から通信ネットワーク2において通信障害(ネットワーク障害)が発生した場合における通信システム1aの動作の流れを説明する。なお、図31においては、画面共有を行うPC30abが通信端末10abに接続されているものとして、通信端末10dbが通信端末10abと同じ会議に参加しているものとして説明する。
<ステップS81>
通信端末10abと管理システム50aとの通信ネットワーク2のネットワーク経路に通信障害が発生していない場合、PC30abのキャプチャ部31は、PC30abのディスプレイ208で表示されている画面全体のスクリーンショット、または、PC30abで起動している特定のアプリケーションのウィンドウの画面等の情報を共有画面イメージとしてキャプチャし、当該共有画面イメージを、イメージ送信部32へ送る。そして、イメージ送信部32は、受け取った共有画面イメージを、通信端末10abへ送信する。
<ステップS82>
通信端末10abの画面共有制御部23は、PC30abから機器通信部24を介して共有画面イメージを受信すると、通信部11を介して管理システム50aへ当該共有画面イメージを送信する。
<ステップS83>
そして、管理システム50aの共有画面配信部59は、通信端末10abから通信部51を介して受信した共有画面イメージを、通信端末10dbに当該通信部51を介して配信する。この結果、会議に接続している(会議に参加している)各通信端末10のディスプレイ120には、上述の図30(a)に示す会議画面1310のように、各参加者の映像データに加えて、PC30abから送信された共有画面イメージ(図30(a)の例では「Xxx説明資料」と題するファイルのイメージ)が表示される。
<ステップS84>
ここで、通信端末10abと管理システム50aとの間で通信障害(ネットワーク障害)が発生したものとする。この場合、通信端末10abの通信部11は、物理的に共有画面イメージを管理システム50へ送信することができないことになる。
<ステップS85>
通信端末10abと管理システム50aとの間で通信障害(ネットワーク障害)が発生すると、通信端末10abの検出部20は、画面共有制御部23の制御の下、通信部11を介して共有画面イメージが、通信障害のため管理システム50aへ送信されなくなり、当該通信端末10abが会議から切断されたことを検出する。
<ステップS86>
また、通信端末10abと管理システム50aとの間で通信障害(ネットワーク障害)が発生すると、管理システム50aの検出部60は、通信端末10abから共有画面イメージ(それに加えて映像データ等)が受信できなくなったことによって、通信端末10abが会議から切断されたことを検出する。
<ステップS87>
検出部20によって会議からの切断が検出された場合、通信端末10abの判別部21は、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する。ここでは、判別部21は、会議からの切断原因が、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別する。
<ステップS88>
検出部60によって通信端末10abの会議からの切断が検出された場合、管理システム50aの判別部61は、会議からの切断原因が、ユーザ(参加者)の会議終了操作による切断か、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断かを判別する。ここでは、判別部61は、会議からの切断原因が、ネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別する。
<ステップS89>
通信端末10abの終了処理部22は、判別部21により会議からの切断原因がネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別された場合、PC30abのイメージ送信部32へ画面共有終了の旨を通知しない。すなわち、終了処理部22は、PC30abのイメージ送信部32が共有画面イメージを継続して送信すべきと判断する。
<ステップS90>
管理システム50aの終了処理部62は、判別部61により通信端末10abの会議からの切断原因がネットワーク(通信ネットワーク2)の不具合等による通信障害による異常切断であると判別された場合、通信端末10ac、10db、10adへ画面共有終了の旨を通知しない。すなわち、終了処理部62は、共有画面配信部59により共有画面イメージおよび映像データを継続して配信すべきと判断する。
<ステップS91、S92>
この結果、PC30abのイメージ送信部32は、キャプチャ部31から受け取った共有画面イメージを、継続して通信端末10abへ送信することになる。すなわち、通信端末10abの画面共有制御部23は、イメージ送信部32から、機器通信部24を介して、共有画面イメージの取得を継続することになる。さらに、管理システム50aの共有画面配信部59は、共有画面イメージ、および通信端末10abのユーザの映像データを、継続して通信端末10ac、10db、10adへ配信することになる。この場合、共有画面配信部59は、通信端末10abからリアルタイムの共有画面イメージおよび映像データを受信することができないので、例えば、共有画面イメージおよび映像データの直近の静止画(すなわち、通信障害が発生する前に通信端末10abから受信していた共有画面イメージおよび映像データに基づく静止画)を、継続して通信端末10ac、10db、10adへ配信する。
<ステップS93>
その結果、通信端末10ac、10db、10adのディスプレイ120には、図30(b)に示す会議画面1311aのように、共有画面イメージおよび通信端末10abのユーザの映像データが継続して表示されるので、図30(a)に示す会議画面1310のレイアウトと同様のレイアウトが維持される。
<ステップS94~S96>
その後、通信障害が復旧して通信端末10abが会議に再接続された場合、通信端末10abの検出部20は、通信端末10abの会議への再接続を検出する。また、管理システム50aの検出部60は、通信端末10abの会議への再接続を検出する。
<ステップS97>
通信端末10abの画面共有制御部23は、PC30abから機器通信部24を介して継続して受信している共有画面イメージについて、通信部11を介して管理システム50aへの送信を再開する。さらに、管理システム50aの共有画面配信部59は、通信端末10abから通信部51を介して受信したリアルタイムの共有画面イメージおよび映像データを、当該通信部51を介して通信端末10dbへ配信する。
<ステップS98>
その結果、通信端末10dbのディスプレイ120では、上述の図30(c)に示す会議画面1312のように、会議画面1311aのレイアウトを維持しつつ、リアルタイムの共有画面イメージおよび通信端末10abのユーザの映像データが表示される。
以上のステップS81~S99の流れで、正常に画面共有が行われている状態から通信ネットワーク2において通信障害(ネットワーク障害)が発生した場合における通信システム1aの動作が行われる。
以上のような通信システム1aの構成および動作によって、通信障害等の意図しない会議切断が発生した場合においても、他の通信端末で表示されている画面共有の会議画面のレイアウトを維持し、かつ、通信障害等から復旧してPC30が接続されている通信端末10が会議に再接続された場合に、PC30での画面共有のための操作を行うことなく、会議からの切断前に実施されていた画面共有の状態を自動で復元することができる。
なお、上述の第2の実施形態では、会議画面のレイアウトの維持の対象を、共有画面イメージおよび映像データの表示としたが、これに限定されるものではなく、少なくとも共有画面イメージのレイアウトを維持するものとしてもよい。
また、上述の各実施形態および変形例の各機能は、一または複数の処理回路によって実現することが可能である。ここで、「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上述した各機能を実行するよう設計されたASIC、DSP(Digital Signal Processor)、FPGA、SOC(System on a chip)、GPU(Graphics Processing Unit)や従来の回路モジュール等のデバイスを含むものとする。
また、上述の各実施形態および変形例において、通信端末10、PC30および管理システム50の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の各実施形態および変形例に係る通信端末10、PC30および管理システム50で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk-Recordable)、DVDまたはSDカード等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の各実施形態および変形例に係る通信端末10、PC30および管理システム50で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態および変形例に係る通信端末10、PC30および管理システム50で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の各実施形態および変形例に係る通信端末10、PC30および管理システム50で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPUが上述の記憶装置からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。