以下、図面を用いて、本発明の一実施形態を詳細に説明する。
<<通信システム1の全体構成>>
図1は、本発明の一実施形態に係る通信システムの概略図である。図1に示されているように、通信システム1は、テレビ会議端末が一例である複数の通信端末10a,10b,10c、スマートフォンが一例である複数の通信端末70x,70y、各通信端末を管理する通信管理システム50、及び中継装置30によって構築されている。以下、「通信端末」を「端末」と表し、「通信管理システム」を「管理システム」と表す。
図1では、3つの端末10a,10b,10c、及び2つの端末70x,70yについて示しているが、数はこれに限らない。また、複数の端末70x,70yのうち、任意の端末を「端末70」と表し、複数の端末10a,10b,10cのうち、任意の端末を「端末10」と表す。端末10,70は、通信機能を有する汎用コンピュータ、電子ホワイトボード、カーナビゲーション端末、電子看板(デジタルサイネージ)等であってもよい。
管理システム50は、サーバ機能を備えたコンピュータである。端末10,70は、対応するクライアント機能を備えたコンピュータである。端末10,70、中継装置30、及び管理システム50は、インターネット、携帯電話網、LAN(Local Area Network)、WiFi(Wireless Fidelity)、或いはBluetooth(登録商標)等の通信ネットワーク2によって通信可能である。通信ネットワーク2には、携帯電話網の末端にある基地局2aも含まれる。なお、図1では、1つの基地局2aを示しているが、数はこれに限らない。
中継装置30は、端末10,70間で、音データ、映像(画像)データ、テキストデータ等のコンテンツデータを中継する。
端末10は、拠点の一例として、コールセンターに配置されており、端末70は、拠点一例として、ホテルのフロントに配置されている。管理システム50、中継装置30、及び端末10,70は、同一の国、地域に配置されていても、異なる国、地域に配置されていても良い。端末10のユーザは、例えば、オペレータであり、端末70のユーザは、例えば、カスタマーである。
<<実施形態のハードウェア構成>>
次に、本実施形態のハードウェア構成を説明する。図2は、一実施形態に係る端末10の外観図である。図2に示されているように、端末10は、筐体1100、アーム1200、及びカメラハウジング1300を備えている。このうち、筐体1100の前側壁面1110には、複数の吸気孔によって形成された吸気面が設けられており、筐体1100の後側壁面1120には、複数の排気孔が形成された排気面1121が設けられている。これにより、筐体1100に内蔵された冷却ファンの駆動によって、吸気面を介して端末10の後方の外気を取り込み、排気面1121を介して端末10の後方へ排気することができる。筐体1100の右側壁面1130に収音用孔1131が形成されていることで、後述する内蔵型のマイク114は、音声、物音、雑音等の音を収音可能となっている。
筐体1100の右側壁面1130側には、操作パネル1150が形成されている。この操作パネル1150には、後述の複数の操作ボタン(108a〜108e)、後述の電源スイッチ109、及び後述のアラームランプ119が設けられていると共に、後述の内蔵型のスピーカ115からの出力音を通すための複数の音出力孔によって形成された音出面1151が形成されている。また、筐体1100の左側壁面1140側には、アーム1200及びカメラハウジング1300を収容するための凹部としての収容部1160が形成されている。筐体1100の右側壁面1130には、後述の外部機器接続I/F118に対して電気的にケーブルを接続するための複数の接続口(1132a〜1132c)が設けられている。一方、筐体1100の左側壁面1140には、後述の外部機器接続I/F118に対して電気的にディスプレイ120用のケーブル120cを接続するための接続口が設けられている。
なお、以下では、操作ボタン(108a〜108e)のうち任意の操作ボタンを示す場合には「操作ボタン108」を用い、接続口(1132a〜1132c)のうち任意の接続口を示す場合には「接続口1132」を用いて説明する。
次に、アーム1200は、トルクヒンジ1210を介して筐体1100に取り付けられており、アーム1200が筐体1100に対して、135度のチルト角θ1の範囲で、上下方向に回転可能になっている。図2は、チルト角θ1が90度の状態を示している。カメラハウジング1300には、後述の内蔵型のカメラ112が設けられており、ユーザ、書類、及び部屋等を撮像することができる。また、カメラハウジング1300には、トルクヒンジ1310が形成されている。カメラハウジング1300は、トルクヒンジ1310を介して、アーム1200に取り付けられている。カメラハウジング1300はアーム1200に対して、図2で示されている状態を0度として±180度のパン角θ2の範囲で、且つ、±45度のチルト角θ3の範囲で、上下左右方向に回転可能になっている。
なお、上記図2の外観図はあくまで一例であって、本実施形態はこの外観に限定されない。なお、端末70、中継装置30、及び管理システム50は、一般のスマートフォン、或いはサーバコンピュータの外観と同じであるため、外観の説明を省略する。
図3の(A)は、一実施形態に係る端末10のハードウェア構成図である。端末10は、端末10全体の動作を制御するCPU101(Central Processing Unit)、IPL(Initial Program Loader)等のCPU101の駆動に用いられるプログラムを記憶したROM102(Read Only Memory)、CPU101のワークエリアとして使用されるRAM103(Random Access Memory)、端末10用のプログラム、画像データ、及び音データ等の各種データを記憶するフラッシュメモリ104、CPU101の制御にしたがってフラッシュメモリ104に対する各種データの読み出し又は書き込みを制御するSSD105(Solid State Drive)、フラッシュメモリやICカード(Integrated Circuit Card)等の記録メディア106に対するデータの読み出し又は書き込み(記憶)を制御するメディアI/F107(Interface)、端末10の宛先を選択する場合などに操作される操作ボタン108、端末10の電源のON/OFFを切り換えるための電源スイッチ109、通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F111を備えている。
また、端末10は、CPU101の制御に従って被写体を撮像して画像データを得る内蔵型のカメラ112、このカメラ112の駆動を制御する撮像素子I/F113、音を入力する内蔵型のマイク114、音を出力する内蔵型のスピーカ115、CPU101の制御に従ってマイク114及びスピーカ115との間で音信号の入出力を処理する音入出力I/F116、CPU101の制御に従って外付けのディスプレイ120に画像データを伝送するディスプレイI/F117、各種の外部機器を接続するための外部機器接続I/F118、端末10の各種機能の異常を知らせるアラームランプ119、及び上記各構成要素を図3に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン110を備えている。
ディスプレイ120は、被写体の画像等を表示する表示部である。ディスプレイ120の一例として液晶や有機EL(Organic Electroluminescence)が挙げられる。また、ディスプレイ120は、ケーブル120cによってディスプレイI/F117に接続される。このケーブル120cは、アナログRGB(VGA)信号用のケーブルであってもよいし、コンポーネントビデオ用のケーブルであってもよいし、HDMI(登録商標)(High-Definition Multimedia Interface)やDVI(Digital Video Interactive)信号用のケーブルであってもよい。
カメラ112は、レンズや、光を電荷に変換して被写体の画像(映像)を電子化する固体撮像素子を含み、固体撮像素子として、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)等が用いられる。
外部機器接続I/F118には、筐体1100の接続口1132に差し込まれたUSB(Universal Serial Bus)ケーブル等によって、外付けカメラ、外付けマイク、及び外付けスピーカ等の外部機器がそれぞれ電気的に接続可能である。外付けカメラが接続された場合には、CPU101の制御に従って、外付けカメラが駆動する。同じく、外付けマイクが接続された場合や、外付けスピーカが接続された場合には、CPU101の制御に従って、外付けマイクや外付けスピーカが駆動する。
なお、記録メディア106は、端末10に対して着脱自在となっている。また、CPU101の制御にしたがってデータの読み出し又は書き込みを行う不揮発性メモリであれば、フラッシュメモリ104に限らず、EEPROM(Electrically Erasable and Programmable ROM)等を用いてもよい。
図3の(B)は、端末70のハードウェア構成図である。図3の(B)に示されているように、端末70は、端末70全体の動作を制御するCPU701、プログラムを記憶したROM(Read Only Memory)702、CPU701のワークエリアとして使用されるRAM703、CPU701の制御にしたがってデータの読み出し又は書き込みを行うEEPROM(Electrically Erasable and Programmable ROM)704、フラッシュメモリ等の記録メディア706に対するデータの読み出し又は書き込み(記憶)を制御するメディアI/F707、及びCPU701の制御に従って被写体を撮像し画像データを得るCMOS(Complementary Metal Oxide Semiconductor)センサ712を備えている。
なお、EEPROM704には、CPU701が実行するオペレーティングシステム(OS)、その他のプログラム、及び、種々データが記憶されている。また、CMOSセンサ712は、光を電荷に変換して被写体の画像を電子化する電荷結合素子である。被写体を撮像することができれば、CMOSセンサは、CCD(Charge Coupled Device)センサに置き換えることもできる。
更に、端末70は、音を音信号に変換するマイク714、音信号を音に変換するスピーカ715、アンテナ711a、このアンテナ711aを利用して無線通信信号により、最寄りの基地局2aと通信を行う通信部711、被写体の画像や各種アイコン等を表示する液晶や有機ELなどのディスプレイ720、このディスプレイ720上に載せられ、感圧式又は静電式のパネルによって構成され、指やタッチペン等によるタッチによってディスプレイ720上におけるタッチ位置を検出するタッチパネル721、及び、上記各部を電気的に接続するためのアドレスバスやデータバス等のバスライン710を備えている。
図4は、一実施形態に係る管理システム50のハードウェア構成図である。管理システム50は、管理システム50全体の動作を制御するCPU201、IPL等のCPU201の駆動に用いられるプログラムを記憶したROM202、CPU201のワークエリアとして使用されるRAM203、管理システム50用のプログラム等の各種データを記憶するHD204、CPU201の制御にしたがってHD204に対する各種データの読み出し又は書き込みを制御するHDD205(Hard Disk Drive)、フラッシュメモリ等の記録メディア206に対するデータの読み出し又は書き込み(記憶)を制御するメディアI/F207、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ208、通信ネットワーク2を利用してデータ通信するためのネットワークI/F209、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード211、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス212、着脱可能な記録媒体の一例としてのCD−ROM213(Compact Disc Read Only Memory)に対する各種データの読み出し又は書き込みを制御するCD−ROMドライブ214、及び、上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン210を備えている。
中継装置30は、管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。
以下、アプリケーションをアプリと表す。図5の(A)は、一実施形態に係る端末10のソフトウェア構成図である。端末10には、クライアントアプリとして「通信アプリA1」がインストールされている。図5の(A)に示されているように、OS1020、及び通信アプリA1は、端末10のRAM103の作業領域1010上で動作する。これらのうち、OS1020は、基本的な機能を提供し、端末10全体を管理する基本ソフトウェアである。通信アプリA1は、他の端末と通信するためのアプリである。
図5の(B)は、一実施形態に係る端末70のソフトウェア構成図である。端末70には、クライアントアプリとして「通信アプリA7」がインストールされている。図5の(B)に示されているように、OS7020、及び通信アプリA7は、RAM703の作業領域7010上で動作する。これらのうち、OS7020は、基本的な機能を提供し、端末70全体を管理する基本ソフトウェアである。通信アプリA7は、他の端末と通信するためのアプリである。
なお、通信アプリA1,A7の通信プロトコルとしては、(1)SIP(Session Initiation Protocol)、(2)H.323、(3)SIPを拡張したプロトコル、(4)インスタントメッセンジャーのプロトコル、(5)SIPのMESSAGEメソッドを利用したプロトコル、(6)インターネットリレーチャットのプロトコル(IRC(Internet Relay Chat))、(7)インスタントメッセンジャーのプロトコルを拡張したプロトコル等が挙げられる。このうち、(4)インスタントメッセンジャーのプロトコルは、例えば、(4-1)XMPP(Extensible Messaging and Presence Protocol)、又は(4-2)ICQ(登録商標)、AIM(登録商標)、若しくはSkype(登録商標)などで利用されるプロトコルである。また、(7)インスタントメッセンジャーのプロトコルを拡張したプロトコルは、例えば、Jingleである。
<<実施形態の機能構成>>
次に、本実施形態の機能構成について説明する。図6は、一実施形態に係る通信システム1の一部を構成する端末10,70、及び管理システム50の機能ブロック図である。なお、図6では、端末10,70、及び管理システム50が、通信ネットワーク2を介してデータ通信することができるように接続されている。
<端末の機能構成>
端末10,70は、送受信部11,71、操作入力受付部12,72、起動部13,73、出力制御部14,74、及び記憶・読出部19,79を有している。また、端末70は、状態管理部75、及び送信制御部76を有している。これら各部は、図3に示されている各構成要素のいずれかが、フラッシュメモリ104又はEEPROM704からRAM103,703上に展開されたアプリ(プログラム)に従ったCPU101,701からの命令によって動作することで実現される機能である。
また、端末10,70は、図3に示されているROM102,702、RAM103,703、フラッシュメモリ104又はEEPROM704によって構築される記憶部1000,7000を有している。
(宛先管理テーブル)
図7の(A)は宛先管理テーブルを示す概念図である。端末70の記憶部7000には図7の(A)で示されているような宛先管理テーブルによって宛先管理DB7001が構築されている。この宛先管理テーブルでは、宛先候補であるオペレータの端末10の通信ID、宛先候補の状態を示すプレゼンス、及びこの宛先候補の属性を示す属性情報が関連付けられて管理される。通信IDは、通信システム1において、通信先を特定するための情報である。通信IDとしては、特に限定されないが、例えば、端末10,70の識別情報、端末10,70のユーザの識別情報、アカウント等が含まれる。なお、プレゼンスの詳細については後述する。
(プレゼンス管理テーブル)
図7の(B)はプレゼンス管理テーブルを示す概念図である。端末70の記憶部7000には図7の(B)で示されているようなプレゼンス管理テーブルによってプレゼンス管理DB7002が構築されている。このプレゼンス管理テーブルでは、宛先候補の属性を示す属性情報、その属性の各宛先候補の各プレゼンスを統合したプレゼンス、その属性の宛先候補のうち通話可能なプレゼンス「Online」の端末10の通信ID、及びその属性の宛先候補のうち通話中のプレゼンス「Chat」の端末10の通信IDが関連付けられて管理される。なお、各宛先候補の各プレゼンスを統合して、属性のプレゼンスを生成する処理については後述する。
(送信先管理テーブル)
図7の(C)は、送信先管理テーブルを示す概念図である。端末70の記憶部7000には図7の(C)で示されているような送信先管理テーブルによって送信先管理DB7003が構築されている。本実施形態において、端末70はカスタマーによって利用され、端末10はオペレータによって利用される。端末70は、同じタイミングに複数の端末10へ通話の開始要求を送信することができる。送信先管理テーブルは、自端末70による現在の通話の開始要求の送信先の端末10の通信IDを管理する。自端末70による通話の開始要求の送信処理、通話の開始要求のキャンセルの処理によって送信先管理テーブルにおいて管理される通信IDの数は変動する。
次に、端末10における各機能構成について詳細に説明する。なお、以下では、端末10における各機能構成を説明するにあたって、図3に示されている各構成要素のうち、各機能構成を実現させるための主な構成要素との関係も説明する。
送受信部11,71は、CPU101,701からの命令、及びネットワークI/F111又は通信部711によって実現され、通信ネットワーク2を介して、通信相手の端末、各装置又はシステム等と各種情報の送受信を行う。
操作入力受付部12,72は、CPU101,701からの命令、並びに操作ボタン108a,108b,108c,108d,108e又はタッチパネル721、並びに電源スイッチ109によって実現され、ユーザによる各種入力又は各種選択を受け付ける。
起動部13,73は、CPU101,701からの命令によって実現され、通信アプリA1,A7の動作を起動する。
出力制御部14,74は、CPU101,701からの命令、並びに、ディスプレイI/F117及び音入出力I/F116によって実現され、画像データ、及び音データの出力を制御する。
端末70の状態管理部75は、CPU701からの命令によって実現され、端末10から送られてくるプレゼンス情報に基づいて、宛先候補の状態を管理する。
端末70の送信制御部76は、CPU701からの命令によって実現され、宛先候補の状態に基づいて、宛先候補への通話の開始要求の送信を制御する。
記憶・読出部19,79は、CPU101,701からの命令によって実現され、記憶部1000,7000に各種データを記憶したり、記憶部1000,7000に記憶された各種データを読み出す処理を行う。
<管理システムの機能構成>
管理システム50は、送受信部51、認証部52、管理部53、セッション制御部58、及び記憶・読出部59を有している。これら各部は、図4に示されている各構成要素のいずれかが、HD204からRAM203上に展開された管理システム50用のプログラムに従ったCPU201からの命令によって動作することで実現される機能である。また、管理システム50は、HD204により構築される記憶部5000を有している。更に、記憶部5000には、以下に示すような各テーブルによって各DBが構築される。
(認証管理テーブル)
図7の(D)は、認証管理テーブルを示す概念図である。記憶部5000には、図7の(D)に示されているような認証管理テーブルによって認証管理DB5001が構築されている。この認証管理テーブルでは、管理システム50によって管理される全ての端末10,70の各通信IDに対して、認証用のパスワードが関連付けられて管理される。
(端末管理テーブル)
図7の(E)は、端末管理テーブルを示す概念図である。記憶部5000には、図7の(E)に示されているような端末管理テーブルによって端末管理DB5002が構築されている。この端末管理テーブルでは、各端末10,70の通信ID毎に、各端末10,70のIPアドレスが関連付けられて管理される。
<管理システムの各機能構成>
次に、管理システム50の各機能構成について詳細に説明する。なお、以下では、管理システム50の各機能構成を説明するにあたって、図4に示されている各構成要素のうち、管理システム50の各機能構成を実現させるための主な構成要素との関係も説明する。
送受信部51は、CPU201からの命令、及びネットワークI/F209によって実現され、通信ネットワーク2を介して各端末、装置又はシステムと各種データ(または情報)の送受信を行う。
認証部52は、CPU201からの命令によって実現され、送受信部51で受信された通信ID及びパスワードを検索キーとして、認証管理テーブルを検索し、この認証管理テーブルに同一の通信ID及びパスワードが管理されているかを判断することによって端末の認証を行う。
管理部53は、CPU201からの命令によって実現され、端末管理テーブル(図7の(E)参照)に端末10の情報を記録することで、端末10を管理する。
セッション制御部58は、CPU201からの命令によって、端末10,70間でコンテンツデータを送信するためのセッションを制御する。この制御としては、セッションを確立するための制御、確立されたセッションに端末10,70参加させる制御、セッションから退出する制御等が含まれる。
記憶・読出部59は、CPU201からの命令及びHDD205によって実現され、又はCPU201からの命令によって実現され、記憶部5000に各種データを記憶したり、記憶部5000に記憶された各種データを抽出する処理を行う。
<<通信システム1の処理・動作>>
続いて、通信システム1における処理及び動作について説明する。
まずは、図8を用いて、端末10,70が管理システム50へログインする処理を説明する。図8は、端末10,70が管理システム50へログインする処理の一例を示すシーケンス図である。
端末70のユーザが電源スイッチをONにすると、操作入力受付部72が電源ONを受け付けて、端末70を起動させる(ステップS1)。端末70が起動すると、起動部73は、端末70にインストールされている通信アプリA7を起動させる(ステップS2)。以下、端末70における処理は、通信アプリA7の命令により実行される。
端末70の送受信部71は、通信ネットワーク2を介して管理システム50に、ログイン要求を送信する(ステップS3)。このログイン要求には、ログイン要求元である自端末を識別するための通信ID、及びパスワードが含まれている。本実施形態において、端末70の通信IDは、カスタマー側の端末70であることを判別可能なように、頭文字が「C」で表されている。以下、端末70x,70yの通信IDが「C01,C02」であるものとする。
管理システム50の送受信部51は、ログイン要求を受信する。端末70から管理システム50へログイン要求が送信されることで、受信側である管理システム50は、送信側である端末70のIPアドレスを取得することができる。
次に、管理システム50の認証部52は、ログイン要求に含まれている通信ID及びパスワードを検索キーとして、記憶部5000の認証管理テーブル(図7の(D)参照)を検索し、この認証管理テーブルに同一の通信ID及びパスワードが管理されているかを判断することによって認証を行う(ステップS4)。
認証部52によって、正当な利用権限を有する端末70からのログイン要求であると認証された場合には、管理部53は、端末管理テーブル(図7の(E)参照)に、ログイン要求元の端末70の通信ID、及びIPアドレスを関連付けて記録する(ステップS5)。
管理システム50の送受信部51は、認証部52による認証結果が示された認証結果情報を、通信ネットワーク2を介して、ログイン要求元の端末70へ送信する(ステップS6)。これにより、端末70の送受信部71は、認証結果情報を受信する。以下、ログイン要求元の端末70x,70yの認証に成功し、端末70x,70yが管理システム50にログインした場合について説明する。
一方、オペレータ側の端末10のユーザが電源スイッチ109をONにすると、操作入力受付部12が電源ONを受け付けて、端末10を起動させる(ステップS11)。端末10が起動すると、起動部13は、端末10にインストールされている通信アプリA1を起動させる(ステップS12)。以下、端末10における処理は、通信アプリA1の命令により実行される。
端末10の出力制御部14は、端末10のユーザであるオペレータの属性の入力を受け付ける受付画面をディスプレイ120に出力する。図9は、受付画面の一例を示す図である。受付画面140には、通信ID、及びパスワードの入力を受け付ける欄の他、オペレータの属性として、対応可能な言語の選択肢と選択用のチェックボックスが含まれている。オペレータが、対応可能な言語を選択して、受付画面140のOKボタンを押下する操作を行うと、操作入力受付部12は、オペレータの属性の入力を受け付ける(ステップS13−1)。記憶・読出部19は、選択された属性に対応する属性情報を記憶部1000に記憶させる。以下、属性「英語、中国語、韓国語、ポルトガル語、スペイン語、タイ語、ロシア語」に対応する属性情報は、それぞれ「en,zh,ko,pt,es,th,ru」であるものとする。
端末10は、管理システム50へログイン要求を送信して、管理システム50へログインする(ステップS13−2,S14,S15,S16)。この処理は、端末70と管理システム50との間のステップS3,S4,S5,S6の処理と同様であるので、説明を省略する。但し、ログイン要求で端末10から管理システム50へ送信される通信IDは、オペレータ側の端末10であることを判別可能なように、頭文字が「O」で表されている。以下、端末10a,10b,10cの通信IDが「O01,O02,O03」であるものとする。ログイン要求元の端末10a,10b,10cの認証に成功すると、端末10a,10b,10cは、管理システム50にログインする。
続いて、図10を用いて、端末10から端末70へ、オペレータ側の状態を示すプレゼンス情報を送信する処理について説明する。図10は、プレゼンス情報を送信する処理の一例を示すシーケンス図である。
通信アプリA1は、記憶部1000において、状態遷移の契機となるイベント、及びイベント発生による遷移後のプレゼンスを管理している。プレゼンスは、端末10のユーザであるオペレータが通話を開始可能な状態であるか特定するために利用される。通話を開始可能な状態を示すプレゼンスには、当該端末10が管理システム50へログインしており、カスタマー側の端末70と通信していない状態を示す「Online」が含まれる。通話を開始不可能な状態を示すプレゼンスには、当該端末10が管理システム50へログインしていない状態を示す「Offline」、及び、当該端末10が管理システム50へログインしているが、既にカスタマー側の端末70と通信しているため新たに通話を開始できない状態を示す「Chat」が含まれる。なお、プレゼンスは、上記のものに限定されない。例えば、プレゼンスには、ユーザの入力に基づくものが含まれていても良い。ユーザの入力に基づくプレゼンスのうち、通話を開始不可能な状態を示すプレゼンスの一例としては、「離席中」が挙げられる。
プレゼンス「Online」への遷移の契機となるイベントの一例としては、端末10による、上記ステップS16の認証結果情報の受信や、ユーザからの通話の終了要求の入力の受け付け等が挙げられる。プレゼンス「Offline」への遷移の契機となるイベントの一例としては、端末10による、管理システム50からのログアウトが挙げられる。プレゼンス「Chat」への遷移の契機となるイベントの一例としては、端末70,10間の通信の確立(後述のステップS105)が挙げられる。なお、プレゼンスの遷移の契機となるイベントは、検出可能なものであれば特に限定されず、通信プロトコルや通信アプリA1による処理内容に応じて、任意に設定可能である。
端末10aで上記のいずれかのイベントが発生すると(ステップS21)、記憶・読出部19は、属性情報を記憶部1000から読み出す。読み出される属性情報は、ログイン時に端末10aのユーザであるオペレータにより入力された「英語、中国語、スペイン語」等の属性に対応している(ステップS13−1参照)。端末10aの送受信部11は、ステップS21のイベント発生による遷移後の状態を示すプレゼンス、記憶部1000から読み出された属性情報、及び送信元の端末10aの通信ID「O01」が含まれるプレゼンス情報を、管理システム50へ送信する(ステップS22)。例えば、端末10aは、ステップS16で認証結果情報を受信すると、プレゼンス「Online」を含むプレゼンス情報を管理システムへ送信する。また、端末10aは、ログアウトの要求が受け付けられると、プレゼンス「Offline」を含むプレゼンス情報を管理システム50へ送信する。また、端末10aは、端末70との間の通信の確立に応じて、プレゼンス「Chat」を含むプレゼンス情報を管理システム50へ送信する。なお、ステップS13−1で属性情報が記憶部1000に記録されてから属性情報が更新されなければ、端末10aは、イベントが発生する度に、同じ属性情報を含むプレゼンス情報を管理システム50へ送信する。
管理システム50の送受信部51は、端末10aによって送信されるプレゼンス情報を受信すると、受信したプレゼンス情報を、管理システム50へログインしているカスタマー側の端末70x,70yへ送信する(ステップS23,S24)。管理システム50へログインしているカスタマー側の端末70を特定する方法は特に限定されないが、一例として、端末管理テーブル(図7の(E)参照)から、「C」が頭文字の通信IDを読み出す方法が挙げられる。
端末70x,70yの送受信部71は、オペレータ側の端末10aから管理システム50を介して送信されるプレゼンス情報を受信する。端末70x,70yの記憶・読出部79は、受信したプレゼンス情報に含まれる通信ID、プレゼンス、及び属性情報を関連付けて宛先管理テーブル(図7の(A)参照)に記録する(ステップS25,S26)。受信したプレゼンス情報に含まれる通信IDと同一の通信IDのレコードが宛先管理テーブルに存在する場合、記憶・読出部79は、新たに受信されたプレゼンス情報に基づいて、このレコードに記録されているプレゼンスを上書更新する。これにより、端末70x,70yは、端末10a側の最新のプレゼンスを管理することができる。
オペレータ側の端末10bにおいて、上記のイベントが発生すると、端末10b、管理システム50、及び端末70x,70y間では、端末10a、管理システム50、及び端末70x,70y間のステップS21,S22,S23,S24,S25,S26と同様の処理が実行される(ステップS31,S32,S33,S34,S35,S36)。オペレータ側の端末10cにおいて、上記のイベントが発生すると、端末10c、管理システム50、及び端末70x,70y間では、端末10a、管理システム50、及び端末70x,70y間のステップS21,S22,S23,S24,S25,S26と同様の処理が実行される(ステップS41,S42,S43,S44,S45,S46)。これにより、端末70x,70yは、端末10b,10c側の最新のプレゼンスを管理することができる。
続いて、図11を用いて、属性毎のプレゼンスを管理する処理について説明する。図11は、属性毎のプレゼンスを管理する処理の一例を示すフロー図である。以下、カスタマー側からオペレータ側へ通話を要求することを想定して、オペレータ側を宛先候補と表す。なお、宛先候補がステップS13−1で複数の属性(例えば、「英語、中国語、スペイン語」)を選択した場合、その宛先候補は、複数の属性のグループに属することになる。属性のプレゼンス「Online」は、この属性の宛先候補のうち、いずれかの宛先候補が通話可能なプレゼンス「Online」であることを表す。属性のプレゼンス「Chat」は、この属性のグループの宛先候補のいずれもプレゼンス「Online」の状態ではなく、通話中のプレゼンス「Chat」の宛先候補が一以上含まれていることを表す。属性のプレゼンス「Offline」は、この属性の宛先候補のいずれもプレゼンス「Offline」であることを表す。以下、端末70xの処理について説明するが、端末70yも同様の処理を実行可能である。
端末70xの状態管理部75は、ステップS26,S36,S46で、宛先管理テーブルのプレゼンス(図7の(A)参照)が更新される度、更新されたレコードに記録されている通信ID、プレゼンス、及び属性情報を取得する(ステップS51)。
端末70xの状態管理部75は、プレゼンス管理テーブル(図7の(B)参照)において、ステップS51で取得される属性情報が含まれる各レコードを更新する。すなわち、ステップS51で属性情報「en,zh,es」が取得された場合、状態管理部75は、プレゼンス管理テーブルにおける、属性情報「en,zh,es」が含まれる各レコードを更新する。
以下、一例として、端末10aから端末70xへ、管理システム50を介して、プレゼンス情報「Online,(en,zh,es),O01」が送信され、ステップS51でこれらの情報が取得されたときの処理について説明する(ステップS52のOnline)。
まず、ループ処理で、プレゼンス管理テーブルのうち、属性情報「en」が記録されたレコードを更新する処理について説明する。端末70xの状態管理部75は、プレゼンス管理テーブル(図7の(B)参照)のうち、属性情報「en」が記録されたレコードにおける通話可能な状態にある端末10の通信IDが列挙されたフィールドを参照する。以下、説明の便宜上、通信可能な状態にある端末10の通信IDが列挙されたフィールドを「通信可のフィールド」と称する。これにより、状態管理部75は、通話可のフィールドに、ステップS51で取得された通信ID「O01」が含まれているか判断する(ステップS53)。
プレゼンス管理テーブルにおける通話可のフィールドに、ステップS51で取得された通信ID「O01」が含まれていないと判断された場合(ステップS53のNO)、状態管理部75は、通話可のフィールドに、取得された通信ID「O01」を追加する(ステップS54)。
ステップS54の処理が完了した場合、又は、ステップS53のYESの場合、端末70xの状態管理部75は、プレゼンス管理テーブル(図7の(B)参照)のうち、属性情報「en」が記録されたレコードにおける通話中の状態にある端末10の通信IDが列挙されたフィールドを参照する。以下、説明の便宜上、通信中の状態にある端末10の通信IDが列挙されたフィールドを「通信中のフィールド」と称する。これにより、状態管理部75は、通話中のフィールドに、ステップS51で取得される通信ID「O01」が含まれているか判断する(ステップS55)
プレゼンス管理テーブルにおける通話中のフィールドに、ステップS51で取得された通信ID「O01」が含まれていると判断された場合(ステップS55のYES)、通話中のフィールドから、取得された通信IDを削除する(ステップS56)。ここまでの処理により、端末10a側のプレゼンスが、「Chat」から「Online」へ遷移する場合も、「Offline」から「Online」へ遷移する場合も、プレゼンス管理テーブルの属性情報「en」が記録されたレコードには、通話可のフィールドにのみ端末10aの通信IDが記録されるようになる。
ステップS56の処理が完了した場合、又は、ステップS55のNOの場合、端末70xの状態管理部75は、プレゼンス管理テーブル(図7の(B)参照)のうち、属性情報「en」が記録されたレコードにおける属性のプレゼンスを参照する。これにより、状態管理部75は、グループのプレゼンスが「Online」であるか判断する(ステップS57)。
属性情報「en」が記録されたレコードにおける属性のプレゼンスが「Online」ではないと判断された場合(ステップS57のNO)、状態管理部75は、この属性のプレゼンスを「Online」に更新する。属性情報「en」が記録されたレコードにおける属性のプレゼンスが「Online」であると判断された場合(ステップS57のYES)、状態管理部75は、属性情報「en」が記録されたレコードにおける属性のプレゼンスを更新しない。ここまでの処理により、プレゼンス管理テーブルの属性情報「en」が記録されたレコードにおける属性のプレゼンスは「Online」になる。
ステップS51では属性情報「en,zh,es」が取得されているので、状態管理部75は、ループ処理で、プレゼンス管理テーブルにおける属性情報「zh,es」が記録された各レコードについても、同様に更新する。ループ処理が完了すると、図7の(A)のプレゼンス管理テーブルは、表1のように更新される。
続いて、端末10aから端末70xへ、管理システム50を介して、プレゼンス情報「Chat,(en,zh,es),O01」が送信され、ステップS51でこれらのプレゼンス情報が取得されたときの処理について説明する(ステップS52のChat)。
まず、ループ処理で、プレゼンス管理テーブルのうち、属性情報「en」が記録されたレコードを更新する処理について説明する。端末70xの状態管理部75は、プレゼンス管理テーブル(表1参照)のうち、属性情報「en」が記録されたレコードにおける通話可のフィールドを参照する。これにより、状態管理部75は、通話可のフィールドに、ステップS51で取得された通信ID「O01」が含まれているか判断する(ステップS63)
プレゼンス管理テーブルにおける通話可のフィールドに、ステップS51で取得された通信ID「O01」が含まれていると判断された場合(ステップS63のYES)、通話可のフィールドから、取得された通信IDを削除する(ステップS64)。
ステップS64の処理が完了した場合、又は、ステップS63のNOの場合、端末70xの状態管理部75は、プレゼンス管理テーブル(表1参照)のうち、属性情報「en」が記録されたレコードにおける通話中のフィールドを参照する。これにより、状態管理部75は、通話中のフィールドに、ステップS51で取得される通信ID「O01」が含まれているか判断する(ステップS65)
プレゼンス管理テーブルにおける通話中のフィールドに、ステップS51で取得された通信ID「O01」が含まれていないと判断された場合(ステップS65のNO)、通話中のフィールドに、取得された通信ID「O01」を追加する(ステップS66)。ここまでの処理により、プレゼンス管理テーブルの属性情報「en」が記録されたレコードには、通話中のフィールドにのみ端末10aの通信IDが記録されるようになる。
ステップS66の処理が完了した場合、又は、ステップS65のYESの場合、端末70xの状態管理部75は、プレゼンス管理テーブル(表1参照)のうち、属性情報「en」が記録されたレコードにおける通話可のフィールドを参照する。これにより、状態管理部75は、属性情報「en」が記録されたレコードにおける通話可のフィールドに記録されている通信IDの数が0であるか判断する(ステップS67)。
属性情報「en」が記録されたレコードにおける通話可のフィールドに記録されている通信IDの数が0である場合(ステップS67のYES)、状態管理部75は、属性情報「en」が記録されたレコードにおける属性のプレゼンスを「Chat」に更新する(ステップS68)。属性情報「en」が記録されたレコードにおける通話可のフィールドに記録されている通信IDの数が0ではない場合(ステップS67のNO)、状態管理部75は、属性情報「en」が記録されたレコードにおける属性のプレゼンスを更新しない。すなわち、属性情報「en」が記録されたレコードにおける通話可のフィールドに通信IDが記録されている場合、対応するプレゼンスは「Online」のまま更新されない。
ステップS51では属性情報「en,zh,es」が取得されているので、状態管理部75は、ループ処理で、プレゼンス管理テーブルにおける属性情報「zh,es」が記録された各レコードについても、同様に更新する。これにより、表1のプレゼンス管理テーブルは、表2のようになる。
続いて、端末10cから端末70xへ、管理システム50を介して、プレゼンス情報「Offline,(en,ko,pt),O03」が送信され、ステップS51でこれらのプレゼンス情報が取得された場合について説明する(ステップS52のOffline)。
まず、ループ処理で、プレゼンス管理テーブルのうち、属性情報「en」が記録されたレコードを更新する処理について説明する。端末70xの状態管理部75は、プレゼンス管理テーブル(表2参照)のうち、属性情報「en」が記録されたレコードにおける通話可のフィールドを参照する。これにより、状態管理部75は、通話可のフィールドに、ステップS51で取得された通信ID「O03」が含まれているか判断する(ステップS73)。
プレゼンス管理テーブルにおける通話可のフィールドに、ステップS51で取得された通信ID「O03」が含まれていると判断された場合(ステップS63のYES)、通話可のフィールドから、取得された通信ID「O03」を削除する(ステップS74)。
ステップS74の処理が完了した場合、又は、ステップS73のNOの場合、端末70xの状態管理部75は、プレゼンス管理テーブル(表2参照)のうち、属性情報「en」が記録されたレコードにおける通話中のフィールドを参照する。これにより、状態管理部75は、通話中のフィールドに、ステップS51で取得される通信ID「O03」が含まれているか判断する(ステップS75)
プレゼンス管理テーブルにおける通話中のフィールドに、ステップS51で取得された通信ID「O03」が含まれている判断された場合(ステップS75のYES)、通話中のフィールドから、取得された通信ID「O03」を削除する(ステップS76)。ここまでの処理により、プレゼンス管理テーブルにおける属性情報「en」が記録されたレコードから端末10cの通信IDが削除される。
ステップS76の処理が完了した場合、又は、ステップS75のNOの場合、端末70xの状態管理部75は、プレゼンス管理テーブル(表2参照)のうち、属性情報「en」が記録されたレコードにおける通話可及び通話中のフィールドを参照する。これにより、状態管理部75は、条件IF1,IF2に該当するか判断する(ステップS77)。条件IF1は、属性情報「en」が記録されたレコードにおける通話可のフィールドに記録されている通信IDの数が0であり、通話中のフィールドに記録されている通信IDの数が0ではない場合である。条件IF2は、属性情報「en」が記録されたレコードにおける通話可のフィールドに記録されている通信IDの数が0であり、通話中のフィールドに記録されている通信IDの数が0である場合である。
属性情報「en」が記録されたレコードにおける通話可のフィールドに記録されている通信IDの数が0であり、通話中のフィールドに記録されている通信IDの数が0ではない場合(ステップS77のIF1)、状態管理部75は、プレゼンス管理テーブルの属性情報「en」が記録されたレコードにおける属性のプレゼンスを「Chat」に更新する(ステップS78)。属性情報「en」が記録されたレコードにおける通話可のフィールドに記録されている通信IDの数が0であり、通話中のフィールドに記録されている通信IDの数が0である場合(ステップS77のIF2)、状態管理部75は、プレゼンス管理テーブルの属性情報「en」が記録されたレコードにおける属性のプレゼンスを「Offline」に更新する(ステップS79)。ステップS77でIF1にもIF2にも該当しない場合(ステップS77のNO)、状態管理部75は、属性情報「en」が記録されたレコードにおける属性のプレゼンスを「Online」のまま更新しない。
ステップS51では属性情報「en,ko,pt」が取得されているので、状態管理部75は、ループ処理で、プレゼンス管理テーブルにおいて、属性情報「ko,pt」が記録された各レコードについても、同様に更新する。これにより、表2のプレゼンス管理テーブルは、表3のようになる。
続いて、図12を用いて、通信を開始する処理について説明する。図12は、通信を開始する処理の一例を示すシーケンス図である。以下、一例として、端末70xが通信を開始する処理について説明するが、端末70yも同様の処理により通信を開始することができる。図12の処理を開始する時点で、宛先管理テーブルは図7の(A)の状態であり、プレゼンス管理テーブルは表2の状態である場合について説明する。
端末70xの操作入力受付部12は、ユーザによる操作入力に応じて、宛先候補の属性一覧の表示要求を受け付ける。表示要求に応じて、出力制御部74は、プレゼンス管理テーブル(表2参照)に記録されている各属性情報、及びこの属性情報に対応するグループのプレゼンスの組を取得する。記憶部7000には、属性情報に対応する表示画像、及び属性のプレゼンスに対応する表示画像のデータが予め記憶されている。一例として、属性情報「en」に対応する表示画像のデータは「English 英語」を示すテキストデータである。また、一例として、属性のプレゼンス「Online,Offline,Chat」に対応する表示画像のデータは、それぞれ、チェックマーク、無画像、吹き出しが表されたアイコンの画像データである。出力制御部74は、取得された属性情報、及びプレゼンスの組ごとに、対応するテキスト及びアイコンの表示画像のデータの組を記憶部7000から取得する。出力制御部74は、取得された表示画像のデータの組を所定の表示領域の同じ行に対応付けて配列することで属性一覧の画像データを生成する。出力制御部74は、生成された属性一覧の画像データをディスプレイ720へ出力する(ステップS81)。図13は、プレゼンス管理テーブルが表2の状態である場合に表示される属性一覧の一例を示す図である。
出力制御部74は、プレゼンス管理テーブルが更新される度に、上記の処理を繰り返し実行する。これにより、属性毎の最新のプレゼンスが示された属性一覧がディスプレイ720に表示される。
ステップS81で、出力制御部74は、アイコンのうち、「Online」に対応するチェックマークが表されたアイコンを選択可能なアイコンとして出力し、「Offline,Chat」に対応する無画像、及び吹き出しが表されたアイコンを選択不可能なアイコンとして出力する。例えば、ユーザにより、図13に示された属性一覧における「中国語」に対応する吹き出しが表されたアイコンを押下する操作が行われても、操作入力受付部72は、操作入力を受け付けない。なお、無画像のアイコン、及び吹き出しが表されたアイコンを押下する操作が実行されたとき、出力制御部74は、通話を開始できない旨のメッセージや、通話の開始の待機を促すメッセージ等をディスプレイ720に出力しても良い。
図13に示される画面において、ユーザにより、いずれかの属性に対応するチェックマークが表されたアイコンが押下されると、操作入力受付部72は、アイコンに対応する属性の選択を受け付ける(ステップS82)。以下、属性「英語」の選択が受け付けられた場合の処理について説明する。
属性「英語」の選択が受け付けられると、記憶・読出部79は、ステップS82で選択された属性を示す属性情報「en」を検索キーとして、宛先管理テーブル(図7の(A)参照)を検索し、対応する通信ID、及びプレゼンスの組「O01,Chat」、「O02,Online」、「O03,Online」を読み出す(ステップS83)。
端末70xの送受信部71は、ステップS83で読み出された通信IDのうち、対応するプレゼンスが「Online」である通信ID「O02」、自端末70xの通信ID「C01」、及びステップS82で選択された属性を示す属性情報「en」を含む通話の開始要求を管理システム50へ送信する(ステップS84−1)。同様に、端末70xの送受信部71は、ステップS83で読み出された通信IDのうち、対応するプレゼンスが「Online」である通信ID「O03」、自端末70xの通信ID「C01」、及びステップS82で選択された属性を示す属性情報「en」を含む通話の開始要求を管理システム50へ送信する(ステップS86−1)。
管理システム50の送受信部51は、端末70xによって送信される通話の開始要求を受信すると、通話の開始要求に含まれる通信ID「O02」によって特定される端末10bへ、この通話の開始要求を送信する(ステップS84−2)。同様に、管理システム50の送受信部51は、端末70xによって送信された通話の開始要求を受信すると、通話の開始要求に含まれる通信ID「O03」によって特定される端末10cへ、この通話の開始要求を送信する(ステップS86−2)。
端末70xの送信制御部76は、通話の開始要求の送信先の端末10bの通信ID「O02」を送信先管理テーブルに記録することにより更新する(ステップS85)。同様に、端末70xの送信制御部76は、通話の開始要求の送信先の端末10cの通信ID「O03」を送信先管理テーブルに記録することにより更新する(ステップS87)。
オペレータ側の端末10aにおいて通話の終了要求の入力が受け付けられると(ステップS21’)、送受信部11は、記憶部1000から読み出される属性情報「en,zh,es」、端末10aの通信ID「O01」、プレゼンス「Online」を含むプレゼンス情報を管理システム50へ送信する(ステップS22’)。
管理システム50の送受信部51は、端末10aによって送信されたプレゼンス情報を受信すると、受信したプレゼンス情報を、管理システム50へログインしているカスタマー側の端末70xへ送信する(ステップS24’)。
端末70xの送受信部71は、オペレータ側の端末10aから管理システム50を介して送信されるプレゼンス情報を受信する。端末70xの記憶・読出部79は、受信したプレゼンス情報に含まれる通信ID、プレゼンス、及び属性情報を宛先管理テーブルに記録する(ステップS26’)。これにより、宛先管理テーブルは、図7の(A)の状態から表4の状態に更新される。
端末70xの送信制御部76は、ステップS24’で受信されたプレゼンス情報の送信元の端末10aへ通話の開始要求を送信するか判断する(ステップS88)。この処理で、端末70xの送信制御部76は、宛先管理テーブルにおいて更新された端末10aのプレゼンスを参照して、このプレゼンスが「Online」であるか判断する。端末10aのプレゼンスが「Online」ではない場合には、送信制御部76は通話の開始要求を送信しない旨、判断して処理を終了する。
端末10aのプレゼンスが「Online」であると判断された場合、宛先管理テーブルにおいて端末10aの属性情報「en,zh,es」を参照して、これらの属性情報のいずれかが、ステップS82で選択された属性「英語」を示すか判断する。属性情報のいずれも選択された属性を示さない場合には、送信制御部76は開始要求を送信しない旨、判断して処理を終了する。
属性情報のいずれかが選択された属性を示す場合、端末70xの送信制御部76は、開始要求を送信する旨、判断する。開始要求を送信する旨の判断に応じて、端末70xの送受信部71は、プレゼンス情報の送信元の端末10aの通信ID「O01」、自端末70xの通信ID「C01」、及びステップS82で選択された属性を示す属性情報「en」を含む通話の開始要求を管理システム50へ送信する(ステップS89−1)。
管理システム50の送受信部51は、端末70xによって送信された通話の開始要求を受信すると、通話の開始要求に含まれる通信ID「O01」によって特定される端末10aへ、この通話の開始要求を送信する(ステップS89−2)。
続いて、図14を用いて、端末70xにおいて通話の開始要求の送信先を更新する処理について説明する。図14は、通話の開始要求の送信先を更新する処理の一例を示すシーケンス図である。
まず、通話の開始要求の送信先の端末10bにおいてオフライン処理が実行されたときの処理について説明する。端末10bの操作入力受付部12がオフラインの操作入力を受け付けると(ステップS31’)、送受信部11は、記憶部1000から読み出される属性情報「en,es,pt,ru,th」、端末10bの通信ID「O02」、プレゼンス「Offline」を含むプレゼンス情報を管理システム50へ送信する(ステップS32’)。
管理システム50の送受信部51は、端末10bによって送信されるプレゼンス情報を受信すると、受信したプレゼンス情報を、管理システム50へログインしているカスタマー側の端末70xへ送信する(ステップS34’)。
端末70xの送受信部71は、オペレータ側の端末10bから管理システム50を介して送信されるプレゼンス情報を受信する。端末70xの記憶・読出部79は、受信したプレゼンス情報に含まれる通信ID、プレゼンス、及び属性情報を関連付けて宛先管理テーブルに記録する(ステップS36’)。
端末10bのプレゼンスが「Offline」に変更されると、端末10bは端末70xの通話の開始要求に対し応答できなくなる。このため、端末70xの送信制御部76は、端末10bの通信ID「O02」を送信先管理テーブルから削除することにより更新する(ステップS91)。
端末70xの送信制御部76は、更新後の送信先管理テーブルに、通話の開始要求の送信先の通信IDが記録されているか判断する(ステップS92)。
プレゼンス情報の送信元の端末10bの通信ID「O02」が削除されたことにより、更新後の送信先管理テーブルに、通話の開始要求の送信先の通信IDが一つも記録されなくなった場合(ステップS92のNO)、出力制御部74は、オペレータとの接続に失敗した旨のメッセージを、ディスプレイ720から出力させる(ステップS93)。なお、更新後の送信先管理テーブルに通話の開始要求の送信先の通信IDが記録されている場合、残された通話の開始要求の送信先と接続する可能性があるため、出力制御部74は、上記のメッセージを出力しない。
続いて、通話の開始要求の送信先の端末10cにおいて端末70xとは異なる端末70との通信が開始されるときの処理について説明する。端末10cと端末70xとは異なる端末70との通信が確立すると(ステップS41’)、端末10cの送受信部11は、記憶部1000から読み出される属性情報「en,ko,pt」、端末10cの通信ID「O03」、及びプレゼンス「Chat」を含むプレゼンス情報を管理システム50へ送信する(ステップS42’)。
管理システム50の送受信部51は、端末10cによって送信されたプレゼンス情報を受信すると、受信したプレゼンス情報を、管理システム50へログインしているカスタマー側の端末70xへ送信する(ステップS44’)。
端末70xの送受信部71は、オペレータ側の端末10cから管理システム50を介して送信されるプレゼンス情報を受信する。端末70xの記憶・読出部79は、受信したプレゼンス情報に含まれる通信ID、プレゼンス、及び属性情報を関連付けて宛先管理テーブルに記録する(ステップS46’)。
端末10cのプレゼンスが「Chat」に変更されると、端末10cは端末70xの通話の開始要求に対し応答できなくなる。このため、端末70xの送信制御部76は、端末10cの通信ID「O03」を送信先管理テーブルから削除することにより更新する(ステップS94)。
端末70xの送信制御部76は、更新後の送信先管理テーブルに、通話の開始要求の送信先の通信IDが記録されているか判断する(ステップS95)。
プレゼンス情報の送信元の端末10cの通信ID「O03」が削除されたことにより、更新後の送信先管理テーブルに、通話の開始要求の送信先の通信IDが一つも記録されなくなった場合(ステップS95のNO)、出力制御部74は、オペレータとの接続に失敗した旨のメッセージを、ディスプレイ720から出力させる(ステップS96)。なお、更新後の送信先管理テーブルに通話の開始要求の送信先の通信IDが記録されている場合、残された通話の開始要求の送信先と接続する可能性があるため、出力制御部74は、上記のメッセージを出力しない。
続いて、図15を用いて、端末10,70間の通信を確立する処理について説明する。図15は、端末10,70間の通信を確立する処理の一例を示すシーケンス図である。以下、端末10aが、端末70xによる通話の開始要求に対して応答する場合について説明する。
端末10aの送受信部11は、端末70xから管理システム50を介して送信される通話の開始要求を受信する(ステップS89−2参照)。通話の開始要求が受信されると、端末10aの出力制御部14は、通話の開始要求に含まれる通信ID「CO1」に対応する要求元の情報、及び通話の開始要求に含まれる属性情報「en」に対応する属性「英語」を含むメッセージをディスプレイ720へ出力する。図16は、メッセージの表示例である。メッセージに属性を示すことにより、端末10のユーザであるオペレータは、どの言語で通話すべきか、通話開始する前から事前に把握することができる。
図16のメッセージには、通話の開始の許可を受け付けるための応答ボタンが含まれている。端末10aにおいて、ユーザが画面上の応答ボタンを押下すると、操作入力受付部12は、応答の許可の操作入力を受け付ける(ステップS101)。応答の許可の操作入力が受け付けられると、端末10aの送受信部11は、通話の開始要求元の通信ID「C01」、自端末10aの通信ID「O01」が含まれる応答を管理システム50へ送信する(ステップS102)。
管理システム50の送受信部51は、端末10aによって送信される応答を受信する。管理システム50の送受信部51は、受信した応答を応答に含まれる通信ID「C01」によって特定される端末70xへ送信する(ステップS103)。
端末70xの送受信部71は、応答を受信すると、応答の送信元の端末10aとの間で通信を確立するための通信確立要求を管理システム50へ送信する(ステップS104)。通信確立要求には、自端末の通信ID「C01」、及び応答の送信元の端末10aの通信ID「O01」が含まれる。
管理システム50の送受信部71は、通信確立要求を受信する。管理システム50のセッション制御部58は、通信確立要求に含まれる通信ID「O01,C01」により特定される端末10a,70xの間で中継装置30を介して画像データ及び音データのコンテンツデータを送信するためのセッションを確立する制御を行う(ステップS105)。なお、セッションは、上記に限られず、端末10a,70xの間で通信ネットワーク2を介して直接コンテンツデータを送信するためのセッションであっても良い。端末10a,70x間の通信が確立すると、端末10a,70xは、自端末で撮像された画像の画像データ、及び自端末で集音された音データを中継装置30を介して相手側の端末70x,10aへ送信する。端末10a,70xの出力制御部14,74は、受信したコンテンツデータを出力する。これにより、ユーザ間で通話を開始できるようになる。
以上、属性が言語である場合について説明したが、属性は言語に限定されず、任意に選択可能である。属性としては、旅行先、不動産の所在等を示す「ニューヨーク、ロンドン、東京」等の地名や、「食品、衣料品、家電」等の商品の種類、会議の予約を示す情報等が例示される。
<<実施形態の効果>>
上記実施形態の発信方法によると、端末70の操作入力受付部72(受付手段の一例)は、属性の指定を受け付ける(受付処理の一例)。端末70の送受信部71(受信手段の一例)は、宛先候補(発信先の候補の一例)の属性情報、及び宛先候補のプレゼンス情報を受信する(受信処理の一例)。受信された属性情報、及びプレゼンス情報に基づいて、端末70の送受信部71(発信手段の一例)は、上記の指定された属性であって、「Online」(第一のプレゼンスの一例)の宛先候補(第1の発信先の候補の一例)へ通話の開始要求(第1のリクエストの一例)を送信(発信の一例)する(発信処理の一例)。送受信部71による通話の開始要求の送信後に、他の宛先候補(第2の発信先の候補の一例)の属性情報、及び他の宛先候補のプレゼンス情報が送受信部71によって受信され、その属性情報が指定された属性を示し、そのプレゼンス情報が「Online」を示す場合に、端末70の送受信部71は、他の宛先候補へ通話の開始要求(第2のリクエストの一例)を送信する。この方法によると、指定された属性の宛先候補のうち先の通話の開始要求の送信時には「Online」ではなかった他の宛先候補が「Online」となったときに、端末70から他の宛先候補へ通話の開始要求を送信できる。これにより、端末70において、属性を指定して発信するときに、その発信に対する応答可能性を高めることができる。
端末70の送信先管理DB7003(管理手段の一例)は、送受信部71による通話の開始要求の送信先の通信ID(識別情報の一例)を管理する。送信先管理DB7003において管理されている通信IDの発信先とは異なる他の宛先候補の属性情報、及び他の宛先候補のプレゼンス情報が送受信部71によって受信され、その属性情報が指定された属性を示し、そのプレゼンス情報が「Online」を示す場合に、端末70の送受信部71は、他の宛先候補へ発信する。この方法によると、端末70は、送信先管理DB7003において管理されている情報に基づいて、プレゼンス情報の送信元に通話の開始要求を送信したか判断し、判断結果に応じて通話の開始要求を送信できる。
送受信部71による宛先候補への通話の開始要求の送信後に、送信先の属性情報、及び送信先のプレゼンス情報が送受信部71によって受信され、その属性情報が指定された属性を示し、プレゼンス情報が「Offline」、又は「Chat」(第二のプレゼンスの一例)を示す場合に、端末70の送信制御部76(削除手段の一例)は、送信先管理DB7003において管理されている送信先の通信IDを削除する。これにより、端末70は、通話の開始要求の送信先をリアルタイムに管理できるので、プレゼンス情報の送信元に通話の開始要求を送信したか正確に判断することができる。
送信先管理DB7003において管理される送信先の通信IDが送信制御部76によって削除されてから、端末70の出力制御部74(出力手段の一例)は、送信先と接続できない旨を示す情報をディスプレイ720に出力させる。これにより、通話の開始要求の送信先と接続できなくなったときに、端末70は、その旨をユーザに通知することができる。
プレゼンス「Online」は、端末70との通信を開始可能な状態を示し、プレゼンス「Offline」又は「Chat」は、端末70との通信を開始不可能な状態を示す。これにより、端末70は、宛先候補が先の通信を切断したタイミングで、通話の開始要求を宛先候補へ送信できる。
宛先候補の端末10は、所定のイベントの発生を契機としてプレゼンス情報を端末70へ送信する。これにより、端末10は、プレゼンスが変更したタイミングで変更後のプレゼンスを端末70へ通知することができる。
<<実施形態の補足>>
上記各実施の形態における端末10,70及び管理システム50は、単一のコンピュータによって構築されてもよいし、各部(機能又は手段)を分割して任意に割り当てられた複数のコンピュータによって構築されていてもよい。また、プログラム提供システム90が単一のコンピュータによって構築されている場合には、プログラム提供システム90によって送信されるプログラムは、複数のモジュールに分けて送信されるようにしてもよいし、分けないで送信されるようにしてもよい。更に、プログラム提供システム90が複数のコンピュータによって構築されている場合には、複数のモジュールが分けられた状態で、各コンピュータから送信されるようにしてもよい。
また、上記通信システム1の端末用プログラム、中継装置用プログラム、及び通信管理用プログラムが記憶された記録媒体、並びに、これらプログラムが記憶されたHD204は、いずれもプログラム製品(Program Product)として、国内又は国外へ提供される。
更に、上記通信システム1では、図7の(E)に示されている端末管理テーブルにおいて端末のIPアドレスを管理することとしたが、これに限るものではなく、通信ネットワーク2上で端末10を特定するための端末特定情報であれば、それぞれのFQDN(Fully Qualified Domain Name)を管理してもよい。この場合、周知のDNS(Domain Name System)サーバによって、FQDNに対応するIPアドレスが取得されることになる。
通信システム1において、「テレビ会議」は、「ビデオ会議」と置き換え可能な用語として用いられている。
なお、各端末10は、複数の事業所間での通話や、同じ事業所内の異なる部屋間での通話だけでなく、同じ部屋内での通話や、屋外と屋内又は屋外と屋外での通話で使われてもよい。各端末10が屋外で使われる場合には、携帯電話通信網等の無線による通信が行われる。また、上記実施形態では、通信システム1によってテレビ会議をする場合について説明したが、これに限るものではなく、打ち合わせ、家族間や友人間等の一般的な会話、又は、一方向での情報の提示に使用されても構わない。