説明

通信システム、クライアント端末、クライアント端末用プログラムおよび通信システム用プログラム

【課題】再接続の集中を低下させることができ、かつ各クライアント端末の通信状態に応じたタイミングで再接続動作を行なうことができるクライアント端末、通信システムおよびプログラムを提供する。
【解決手段】通信ネットワークを介して接続されたクライアント端末とサーバとの接続が切断された後の再接続を行なう場合に、切断されたクライアント端末が再接続するまでの待機時間が設定され、待機時間が、当該クライアント端末に対して設定された最大待機時間と、切断された際のクライアント端末の通信状態に対して設定された再接続の優先度にもとづいて設定されるようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント端末等の通信機器間の接続が切断された場合に再接続を行なう発明に関する。
【背景技術】
【0002】
クライアント端末同士がメッセージをリアルタイムで交換するためにXMPPと呼ばれるプロトコルが広く利用されるが、XMPPを使ったシステム例えばチャットシステム等では,クライント端末はXMPPサーバに常時接続のセッションを張りつづける必要がある。
【0003】
ところが、サーバのメンテナンスによる稼動停止や不意なサーバのダウン(機能障害、機能停止等)などにより、クライアント端末とサーバとの接続が切断されることがあり、このときにはクライアント端末は自動的にサーバへ再接続のリクエストを出すようにしている。
【0004】
しかしながら、多数のクライアント端末が同時に再接続リクエストを出すことになるので、リクエストが集中してサーバに負荷がかかり,サーバがダウンする等の問題があった.
このような課題に対するものとして、特許文献1には、ネットワークを介してサーバ装置と接続可能な機器装置において、再接続のリクエストを分散させることを目的に、機器装置ごとにランダムな再接続のための待機時間を設定する技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術においては、再接続の集中は避けることができるものの、ランダムな待機時間であるため、緊急度等各クライアント端末の再接続の事情については反映されていないものである。
【0006】
本発明は、再接続要求を出す際に、各クライアント端末の通信状態、例えばプレゼンスの状態を考慮して、再接続のための待機時間を設定するようにしたものである。
【課題を解決するための手段】
【0007】
本発明の通信システムは、通信ネットワークを介して接続されたクライアント端末とサーバを有し、クライアント端末とサーバとの接続が切断された後の再接続を行なう場合に、切断されたクライアント端末が再接続するまでの待機時間を設定し、この待機時間経過後に再接続要求を行なう通信システムにおいて、前記待機時間を、当該クライアント端末に対して設定された最大待機時間と、切断された際のクライアント端末の通信状態に対して設定された再接続の優先度にもとづいて設定することを特徴とする。
【0008】
本発明のクライアント端末は、通信ネットワークを介して接続されたクライアント端末とサーバとの接続が切断された後の再接続を行なう場合に、切断されたクライアント端末が再接続するまでの待機時間を設定し、この待機時間経過後に再接続要求を行なうクライアント端末において、当該クライアント端末に対して設定された最大待機時間を記憶する記憶手段と、切断された際のクライアント端末の通信状態に対して設定された再接続の優先度を示す優先度係数を記憶する記憶手段と、前記最大待機時間と前記優先度係数にもとづいて各通信状態ごとの待機時間を設定する設定手段を有することを特徴とする。
【0009】
本発明のクライアント端末は更に、前記最大待機時間は、通信ネットワークを介してサーバに接続されるクライアント端末に対して一律に同じものが設定されることを特徴とする。
【0010】
本発明のクライアント端末は更に、前記最大待機時間は、通信ネットワークを介してサーバに接続される各クライアント端末に対して、各クライアント端末の優先度に応じた個別のものが設定されることを特徴とする。
【0011】
本発明のクライアント端末は更に、前記最大待機時間は、所定の算定式により算出された数値に対して、更にあらかじめ定められた補正を行なって設定されることを特徴とする。
【0012】
本発明のクライアント端末は更に、最大タイムアウト時間を設定し、2回目以降の再接続要求を、前記最大タイムアウト時間と切断された際のクライアント端末の通信状態に対して設定された再接続の優先度にもとづいて設定されるタイムアウト時間の経過後に行なうことを特徴とする。
【0013】
本発明のクライアント端末は更に、2回目以降の再接続の優先度は、タイムアウト時間設定のために設定された優先度が用いられることを特徴とする。
【0014】
本発明の通信システムは更に、前記最大待機時間は、サーバにおいて設定されて各クライアント端末に送信されることを特徴とする。
【0015】
本発明の通信システムは、通信ネットワークを介して接続されたクライアント端末とサーバとの接続が切断された後の再接続を行なう場合に、切断されたクライアント端末が再接続するまでの待機時間が設定され、この待機時間経過後に前記クライアント端末が再接続要求を行なう通信システムにおいて、上記のいずれかのクライアント端末を有することを特徴とする。
【0016】
本発明のクライアント端末用プログラムは、クライアント端末に、上記のいずれかの機能を実現させることを特徴とする。
【0017】
本発明の通信システム用プログラムは、通信システムに、上記のいずれかの機能を実現させることを特徴とする。
【発明の効果】
【0018】
本発明によれば、再接続のための待機時間を、各クライアント端末の通信状態を考慮して、設定するようにしたので、再接続の集中度合いを低下させることができ、かつ各クライアント端末の通信状態に応じたタイミングで再接続動作を行なうことができる。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施形態に係る通信システムの全体構成を示す構成図である。
【図2】本発明の一実施形態に係る通信システムの機能構成を示すブロック図である。
【図3】端末識別情報テーブルを示す概念図である。
【図4】最大待機時間テーブルを示す概念図である。
【図5】セッションID管理テーブルを示す概念図である。
【図6】最大待機時間計算テーブルを示す概念図である。
【図7】宛先リスト管理テーブルを示す概念図である。
【図8】再接続優先度テーブル(プレゼンスに対応)を示す概念図である。
【図9】再接続優先度テーブル(リクエストに対応)を示す概念図である。
【図10】再接続処理を示すフローチャートである。
【図11】契約情報テーブルを示す概念図である。
【図12】最大待機時間計算テーブルの他の実施形態を示す概念図である。
【図13】最大再接続待機時間T1設定の他の実施形態の処理を示すフローチャートである。
【図14】最大タイムアウト時間T2設定の他の実施形態の処理を示すフローチャートである。
【発明を実施するための形態】
【0020】
≪実施形態の全体構成≫
図にもとづいて、本発明の実施形態について説明する。
【0021】
図1は、本発明の一実施形態に係る通信システムの全体構成を示す構成図であり、テレビ会議に使用する形態のものを示している。
【0022】
この通信システムにおいては、XMPPプロトコルが用いられる。
【0023】
図1において、1はクライアント端末、2はXMPPサーバ、3は会議映像配信サーバであり、これらが通信ネットワーク4を介して接続されている。
【0024】
クライアント端末1、XMPPサーバ2、会議映像配信サーバ3のそれぞれは、それぞれの動作を制御するCPU(Central Processing Unit)、プログラムを記憶したROM(Read Only Memory)、CPUのワークエリアとして使用されるRAM(Random Access Memory)、各種データを記憶するフラッシュメモリ、ハードディスク等の不揮発性メモリ等を有するコンピュータの基本構成をベースにし、これに通信ネットワーク4に接続してデータ伝送を行なうインターネットインターフェイス、およびテレビ会議に必要な構成を付加したハードウェア構成のものが用いられる(このハードウェア構成を「コンピュータ構成」という)。
【0025】
クライアント端末1は、テレビ会議の会議室において使用されるもので、このクライアント端末1には会議の映像を撮影するカメラ、会議の音声を収集するマイク、会議の相手方から送られてきた映像を表示する表示部、会議の相手方から送られてきた音声を出力するスピーカを、内蔵するかまたは外付けで有している。
【0026】
XMPPサーバ2は、クライアント端末1間のセッション確立のためのやり取りをクライアント端末1およびXMPPサーバ2との間で行なう等のセッション管理、テレビ会議の使用時間に対する課金管理等の通信システム全体の通信管理を行なうものである。
【0027】
会議映像配信サーバ3は会議の映像情報の配信処理を行なうもので、各クライアント端末1間の映像情報の送受信は、この会議映像配信サーバ3を経由して行なわれる。会議の音声情報の送受信も映像情報と同様にこの会議映像配信サーバ3を経由して行なわれる(映像情報と音声情報を総称して「会議情報」という)。
【0028】
XMPPサーバ2、会議映像配信サーバ3は、通信システムのクライアント端末1の数、通信量、通信速度等、通信システムの規模や要求される機能に応じて、上記したコンピュータ構成が複数台用いられる。
【0029】
各クライアント端末1はそれぞれクライアント端末IDを有している。
クライアント端末IDは各クライアント端末1を識別するものとしてクライアント端末1ごとに設定されており、図1には、クライアント端末IDが「01aa」、「01ab」および「01db」の各クライアント端末1が代表的に示されている。
【0030】
≪実施形態の機能構成≫
図2は、本発明の一実施形態に係る通信システムの機能構成を示すブロック図である。
【0031】
クライアント端末1は、状態管理部11、接続要求部12および会議映像処理部13を有している。またクライアント端末1は端末識別情報テーブル14、最大待機時間テーブル15および再接続優先度テーブル16の各テーブルを有しており、これらはクライアント端末1の不揮発性メモリに構築されている。
【0032】
クライアント端末1の機能は、クライアント端末1のコンピュータ構成のROMおよび不揮発性メモリに記憶されているプログラムに従った処理装置からの命令によって動作することで実現される。
【0033】
状態管理部11はクライアント端末1の通信に関する状態をリアルタイムで把握しその状態情報を記憶する。
【0034】
接続要求部12は、クライアント端末1間のセッション確立のためのやり取りをXMPPサーバ2との間で行なうとともに、自己のクライアント端末1とXMPPサーバ2との接続が切断されたことを検出し、再接続処理を行なう。再接続処理は、次のように行なわれる。
【0035】
接続要求部12は、切断を検出した場合には、状態管理部11に記憶されている自己のクライアント端末1の状態情報と、最大待機時間テーブル15および再接続優先度テーブル16の各テーブルに記憶されている再接続に関する時間情報にもとづいて再接続待機時間t1およびタイムアウト時間t2を算出して、再接続待機時間t1経過後にXMPPサーバ2に対して再接続要求を出す。
【0036】
この再接続に対して、タイムアウト時間t2内にXMPPサーバ2から正常な応答があった場合には再接続が行なわれる。タイムアウト時間t2内に正常な応答がない場合には、接続要求部12は再接続に失敗したと判断し、XMPPサーバ2に対して次の再接続要求を出してタイムアウト時間t2内の正常な応答を待つことを繰り返す。
【0037】
会議映像処理部13は、クライアント端末1のカメラにより撮影した会議の映像情報とマイクにより集音した音声情報を、会議映像配信サーバ3に向けて送信するデータ形式に変換処理し、会議映像配信サーバ3に送信する。
【0038】
セッション確立のための、クライアント端末1とXMPPサーバ2とのやり取りおよび会議映像配信サーバ3とのやりとりは、クライアント端末1の送受信部(図示せず)を介して行なわれる。
【0039】
端末識別情報テーブル14は、図3に示すように自己のクライアント端末1の端末識別情報を記憶しておくもので、端末識別情報は自己のクライアント端末IDとパスワードからなる。この情報はクライアント端末1がXMPPサーバ2との通信を開始するために用いられる。
【0040】
最大待機時間テーブル15は図4に示すように、最大再接続待機時間T1、最大タイムアウト時間T2および最大繰り返し時間Tnを記憶しておくものである。これらのT1、T2およびTnはXMPPサーバ2において設定され、XMPPサーバ2から送られてくる。
【0041】
最大繰り返し時間Tnは、2回目以降の再接続要求の繰り返し回数の制限を示す最大繰り返し回数nを算出するための情報である。
【0042】
再接続優先度テーブル16は、再接続待機時間t1とタイムアウト時間t2を設定するための重みとして、クライアント端末1の通信に関する状態ごとにあらかじめ設定された再接続待機時間係数k1とタイムアウト時間係数k2を記憶しておくものである。
【0043】
再接続優先度テーブル16については、図8および図9を参照して後述する。
【0044】
XMPPサーバ2は、通信管理部21、最大待機時間計算部22および宛先リスト管理部23を有している。またXMPPサーバ2はセッションID管理テーブル24、最大待機時間計算テーブル25および宛先リスト管理テーブル26の各テーブルを有しており、 これらはXMPPサーバ2の不揮発性メモリに構築されている。
【0045】
通信管理部21は、XMPPサーバ2とクライアント端末1の接続、要求元クライアント端末1と宛先クライアント端末1の間のセッションの確立、会議映像配信サーバ3への会議開始要求等の通信管理を行なう。また通信管理部21は、テレビ会議の使用時間に対する課金管理を行う。
【0046】
セッションID管理テーブル24は図5に示すように、セッションIDごとに、会議映像配信サーバID、会議の要求元である要求元クライアント端末IDおよび会議の相手方である宛先クライアント端末IDが関連付けられて管理するものである。
【0047】
最大待機時間計算部22は、接続しているクライアント端末1数や、XMPPサーバ2として並列して処理を行うコンピュータ構成の台数などにより決まるXMPPサーバ2の処理能力から、最大再接続待機時間T1および最大タイムアウト時間T2を動的に算出する。また、最大待機時間計算部22において最大繰り返し時間Tnがあらかじめ設定される。
【0048】
最大待機時間計算テーブル25には、図6に示すように、最大再接続待機時間T1および最大タイムアウト時間T2の算出に必要な情報を記憶するとともに、算出したT1、T2を記憶する。また最大待機時間計算テーブル25には、あらかじめ設定された最大繰り返し時間Tnを記憶する。
【0049】
宛先リスト管理部23は、テレビ会議が可能な相手方のクライアント端末1として登録した他のクライアント端末1の端末ID一覧である宛先リストを管理するもので、そのための宛先リスト管理テーブル26を有している。
【0050】
この宛先リスト管理テーブル26には、テレビ会議の開始を要求するクライアント端末1の端末IDに対して、テレビ会議が可能なクライアント端末1の端末IDが全て関連付けられて記憶される。
【0051】
例えば、図7に示すようにテレビ会議の開始を要求するクライアント端末1の端末ID「01aa」が要求元クライアント端末IDとして記憶され、このクライアント端末1からテレビ会議の開始を要求することができるクライアント端末1の端末ID「01ab」、「01ba」および「01db」が、宛先クライアント端末IDとして記憶されている。
【0052】
この宛先リスト管理テーブルは、クライアント端末1からXMPPサーバ2への自己の端末IDに関する追加又は削除の要請によって追加又は削除されることにより更新される。
【0053】
会議映像配信サーバ3は、クライアント端末1とXMPPサーバ2とのやり取りによりセッションが確立した後に、会議の当事者であるクライアント端末1間の会議情報を中継して他方のクライアント端末1へ送信する。
【0054】
このときに、会議情報の受信に遅延が生じないように伝送速度を所定の範囲内に保つ情報の間引き等の画像処理を行い、会議をリアルタイムで行うことができるような処理を行なう。
【0055】
このような構成において、テレビ会議を開始するには、まず、クライアント端末1の接続要求部12は、XMPPサーバ2に自己の端末識別情報を送りログインする。
接続要求部12は、ログイン時に、XMPPサーバ2の宛先リスト管理部23から、自己のクライアント端末1とテレビ会議が可能な他のクライアント端末1を登録した宛先リストを取得する。
【0056】
次に、クライアント端末1が他のクライアント端末1との間でテレビ会議を始める場合は、会議の要求元のクライアント端末1の接続要求部12は、取得した宛先リストの宛先の中から会議の相手方のクライアント端末1を選択し、XMPPサーバ2に対して選択した宛先クライアント端末1への招待(INVITE)のメッセージを送る。
【0057】
XMPPサーバ2の通信管理部21は、この招待(INVITE)のメッセージを宛先クライアント端末1へ送り、これに応答して宛先クライアント端末1が会議開始を承諾(SUBSCRIBE)するメッセージをXMPPサーバ2へ送る。
【0058】
XMPPサーバ2はこの承諾(SUBSCRIBE)のメッセージを受け取ると、テレビ会議のIDであるセッションIDを発行する。セッションIDは図5に示すセッションID管理テーブルにおいて関連する情報とともに管理されている。
【0059】
そして、XMPPサーバ2は会議映像配信サーバ3へ会議開始要求のメッセージを送り、テレビ会議のセッションを開始する。会議開始要求のメッセージには、セッションID、要求元クライアント端末1のIPアドレス、宛先クライアント端末1のIPアドレスが含まれる。
【0060】
会議映像配信サーバ3は、このセッションIDを自己のIPアドレスとともに要求元クライアント端末1と宛先クライアント端末1に送る。
【0061】
セッションIDを受けた要求元クライアント端末1と宛先クライアント端末1は、それぞれ、会議の映像情報および音声情報を会議映像処理部13でデータ形式を変換処理して会議映像配信サーバ3へ送り、会議映像配信サーバ3はこれらの情報をそれぞれの会議の相手方の要求元クライアント端末1または宛先クライアント端末1へ送る。
【0062】
このときに、会議映像配信サーバ3は必要に応じてそれらの情報に会議をリアルタイムで行うことができるような処理を行なう。
【0063】
これにより、各クライアント端末1を用いたテレビ会議を実現する。
【0064】
≪再接続待機時間t1およびタイムアウト時間t2の設定≫
図8および図9は、再接続優先度テーブル16の例として、それぞれ通信状態としてクライアント端末1の「プレゼンス」に対応したもの、および「リクエスト」に対応したものを示している。
【0065】
なお、再接続待機時間t1およびタイムアウト時間t2、ならびに再接続待機時間係数k1およびタイムアウト時間係数k2については、通信状態としてプレゼンスに対応したものおよびリクエストに対応するものを示す場合にはそれぞれに(P)または (R)を付して表示することとする。
【0066】
図8において、各プレゼンスはクライアント端末1がXMPPサーバ2に接続されている状態における通信状態、すなわちログインして「OFFLINE」から「ONLINE」に変わった後の状態を示している。
【0067】
図8において「CHAT」はテレビ会議が行なわれている状態、「ONLINE」は接続されているだけの状態、「AWAY」は操作者が退席している状態、「DND」は操作者がディスターブしないことを要求している状態、および「XA」は操作者が長時間退席している状態である。
【0068】
図8の再接続優先度テーブルには、各プレゼンスごとに設定された再接続待機時間係数k1(P)が記憶されており、同様に各プレゼンスごとに設定されたタイムアウト時間係数k2(P)が記憶されている。
【0069】
これらの係数k1(P)、k2(P)および、最大待機時間テーブル15に記憶されている最大再接続待機時間T1、最大タイムアウト時間T2により、再接続待機時間t1(P)とタイムアウト時間t2(P)が次の式により算出される。
【0070】
再接続待機時間t1(P)=最大再接続待機時間T1×再接続待機時間係数k1(P)
タイムアウト時間t2(P)=最大タイムアウト時間T2×タイムアウト時間係数k2(P)
再接続待機時間係数k1(P)の数値の設定は、クライアント端末1が会議システムを使用している度合いが高いと考えられるプレゼンスほど優先度を高くするようにし、これに加えて、再接続要求の集中をさけるように数値の間隔を適度にして分散させるようにしている。
【0071】
このような考えにより図8に示す例では、再接続待機時間係数k1(P)として、「CHAT」を0.1に、「ONLINE」を0.4に、「XA」を1.0に設定している。
【0072】
なお、タイムアウト時間係数k2(P)については、この考えに他の要素を加えて優先度を変えて設定している。これについては後述する。
【0073】
なお、プレゼンスとして「NONE」および「OFFLINE」は接続された状態ではなく、再接続の対象とはならないので、これらは図8の対象から外している。しかしながら、新規に接続するものよりも、接続が切断されたものについての再接続を優先させるようにすることも考えられるので、再接続だけでなく新規接続も含めて優先度を決めることもできる。このような場合には図8に「NONE」および「OFFLINE」を含めて設定することにより実現できる。
図9はクライアント端末1の通信状態としてリクエストに対応したものを示している。
【0074】
図9において、それぞれのリクエストはクライアント端末1がXMPPサーバ2に接続されている状態において、クライアント端末1がXMPPサーバ2に対して、クライアント端末1が実行しようとしていることについての何らかの要求のメッセージ、例えば処理を要求するメッセージを送信した通信状態を示している。
【0075】
図9において、「BYE」はテレビ会議のセッションを終了する要求のリクエスト、「INVITE」はテレビ会議のセッションを開始する要求のリクエスト、「SUBUSCRIBE」および「UNSUBSCRIBE」は承諾または同意および非承諾または非同意のリクエスト、「GETROSTER」は名簿等具体的には宛先リストの取得のリクエスト、
および「LOGIN」はログインのリクエストである。
【0076】
図9の再接続優先度テーブルには、各リクエストごとに設定された再接続待機時間係数k1(R)が記憶されており、同様に各リクエストごとに設定されたタイムアウト時間係数k2(R)が記憶されている。
【0077】
これらの係数k1(R) 、k2(R) および、最大待機時間テーブル15に記憶されている最大再接続待機時間T1、最大タイムアウト時間T2により、再接続待機時間t1(R) とタイムアウト時間t2(R)が次の式により算出される。
【0078】
再接続待機時間t1(R)=最大再接続待機時間T1×再接続待機時間係数k1(R)
タイムアウト時間t2(R)=最大タイムアウト時間T2×再接続タイムアウト時間係数k2(R)
リクエストに対応した再接続待機時間係数k1(R)の設定は、プレゼンスに対応した再接続待機時間係数k1(P)の数値の設定の場合と同じ考えにもとづいて行なう。
このような考えにより図9に示す例では、「BYE」を0.05に、「LOGIN」を0.3に設定している。
【0079】
「BYE」を0.05の最優先としたのは、テレビ会議の使用時間に対して課金している場合に、テレビ会議のセッションを終了する要求のリクエストがあるのもかかわらずクライアント端末1とXMPPサーバ2間の接続の切断により課金が継続される状態を少なくして課金を正確に行なうためであり、「LOGIN」を0.3と優先度を低くしたのは既にテレビ会議を始める状態のものを優先させる考えによるものである。
【0080】
なお、タイムアウト時間係数k2(R)についても、プレゼンスに対応した再接続待機時間係数k2(P)の数値の設定の場合と同じ考えにもとづいて行なう。
【0081】
図8または図9に示す再接続優先度テーブルを用いて再接続を行なう場合においては、クライアント端末1とXMPPサーバ2の接続が切断された場合には、クライアント端末1は、再接続待機時間t1(P) またはt1(R)経過後にXMPPサーバ2に対して再接続要求を出して、タイムアウト時間t2(P)またはt2(R)内の正常な応答を待ち、応答がなく再接続に失敗した場合には、XMPPサーバ2に対して次の再接続要求を出す動作を行ない、更に再接続に失敗した後はこの再接続要求を繰り返すことになる。
【0082】
この実施形態においてはタイムアウト時間について、再接続待機時間t1とは別に、タイムアウト時間t2として設定しており、同じプレゼンスまたはリクエストであってもタイムアウト時間t2を再接続待機時間t1とは異なって設定することができる。
【0083】
これにより、確実に接続したいプレゼンスまたはリクエストについては、再接続待機時間t1から独立してタイムアウト時間t2を短く設定することができる。タイムアウト時間t2時間が短いほど2回目以降の再接続要求までの時間が短くなり、確実に接続したいプレゼンスまたはリクエストについては、タイムアウト時間t2を短く設定することよりより確実に接続することが可能となる。
【0084】
また、2回目以降の再接続要求のタイミングについては、最初の再接続要求ほど集中はないと考えられるので、プレゼンスまたはリクエストの種類によるタイムアウト時間t2(P)またはt2(R)による時間の差を小さくしている。
【0085】
通信状態の例としてプレゼンスまたはリクエストについて示したが、これらを用いる方法としては、上記したプレゼンスまたはリクエストのいずれか一方のみを用いる方法の他に、プレゼンスまたはリクエストの双方を用いる方法がある。
【0086】
双方を用いる場合には、プレゼンスとリクエストの再接続待機時間t1、タイムアウト時間t2の平均値をとる方法、プレゼンスまたはリクエストの再接続待機時間t1、タイムアウト時間t2のうち短い方の再接続待機時間t1、タイムアウト時間t2を採用する方法がある。また、プレゼンスの状態とリクエストの状態を組み合わせて、双方を反映した一つの再接続優先度テーブルを作成し優先度を設定する方法がある。
【0087】
≪最大再接続待機時間T1および最大タイムアウト時間T2の設定≫

次に、最大再接続待機時間T1および最大タイムアウト時間T2の設定について説明する。
【0088】
最大再接続待機時間T1および最大タイムアウト時間T2は、XMPPサーバ2の最大待機時間計算部22において算出し、設定する。
【0089】
最大再接続待機時間T1および最大タイムアウト時間T2は、例えば次の算定式により算出する。
【0090】
最大再接続待機時間 T1=nc/ns×a1
最大タイムアウト時間 T2=nc/ns×a2
ここで、nc:XMPPサーバ2と接続しているクライアント端末1数
ns:XMPPサーバ2に用いられ、並列して処理を行うコンピュータ構成の稼働台数
a1:再接続基礎時間
a2::タイムアウト基礎時間
である。コンピュータ構成の稼働台数nsは通信管理部21の機能を担当して動作している台数である。
【0091】
この算出に必要な情報であるnc、ns、a1およびa2は、図6に示すように、最大待機時間計算テーブルに記憶されており、最大待機時間計算部22はこの情報を読み出して計算を行なう。算出したT1、T2もこの最大待機時間計算テーブルに記憶される。
【0092】
再接続基礎時間a1およびタイムアウト基礎時間a2は、それぞれ最大再接続待機時間T1および最大タイムアウト時間T2の実時間を設定するための基礎となる時間である。
【0093】
再接続時間基礎時間a1は、稼動しているXMPPサーバ2の1台が1件の再接続処理に要する時間を基に、想定する再接続要求の量、集中の度合い、または処理効率等を総合的に考慮し増減してあらかじめ設定される時間であり、基本的には固定の時間である。
ただし、再接続要求の量が想定より多かったり、再接続対象のプレゼンスまたはリクエストの分布に偏りがあると集中の度合いが高くなり、1回目の再接続に失敗する度合いが高くなるので、この場合には再接続時間基礎時間a1を長く、逆の場合には短くする等の調整を必要に応じて行なうことができる。
【0094】
タイムアウト基礎時間a2は再接続要求に対するXMPPサーバ2の応答に要する時間、再接続失敗の回避のための時間を考慮しあらかじめ設定される。
この実施形態においては、再接続時間基礎時間a1をタイムアウト基礎時間a2よりも長く設定している。
【0095】
XMPPサーバ2と接続しているクライアント端末1数ncは、新規に接続開始したり、接続が解除されるたびに変動する。この変動に対応するため最大再接続待機時間T1および最大タイムアウト時間T2は変動があるごとに、または一定時間ごとに算出されて、動的に更新される。例えば、ncが1/2に変動した場合には、最大再接続待機時間T1および最大タイムアウト時間T2はそれぞれ1/2になる。
【0096】
更新された最大再接続待機時間T1および最大タイムアウト時間T2はクライアント端末1へ送られる。
【0097】
したがって、再接続時に用いられる最大再接続待機時間T1および最大タイムアウト時間T2は、クライアント端末1とXMPPサーバ2の接続が切断される直近のクライアント端末1数ncにもとづいて算出されたものになる。
【0098】
最大再接続待機時間T1および最大タイムアウト時間T2の算出の例を示す。
接続しているクライアント端末1数nc:1000
コンピュータ構成の稼働台数ns:5
再接続基礎時間a1:0.1sec
タイムアウト基礎時間a2:0.5sec
の場合には、
T1=1000/5×0.1=20(sec)
T2=1000/5×0.5=100(sec)
となる。
図6には、この場合の算出結果の数値を示している。
【0099】
この最大再接続待機時間T1および最大タイムアウト時間T2において、図8に示す通信状態がプレゼンスの「ONLINE」の場合には、
再接続待機時間t1(R)=20×0.4=8(sec)
タイムアウト時間t2(R)=100×0.5=40(sec)
となる。
【0100】
≪最大繰り返し回数nの設定≫
次に、2回目以降の再接続要求の繰り返し回数の制限を示す最大繰り返し回数nの設定について説明する。
【0101】
最大繰り返し回数nは、XMPPサーバ2の最大待機時間計算部22において設定された最大繰り返し時間Tnにもとづき、クライアント端末1の接続要求部12により算出される。
【0102】
最大繰り返し時間Tnは、XMPPサーバ2の最大待機時間計算テーブル25に記憶されており、XMPPサーバ2から最大再接続待機時間T1および最大タイムアウト時間T2とともにクライアント端末1へ送信される。
【0103】
最大繰り返し回数nは、例えば次の算定式により算出する。
【0104】
最大繰り返し回数n=(最大繰り返し時間Tn―再接続待機時間t1)/タイムアウト時間t2
最大繰り返し時間Tnは、切断から繰り返し再接続要求を行なう時間の最大値である。
クライアント端末1とXMPPサーバ2との接続が切断された場合、再接続要求によりXMPPサーバ2が復旧すると再接続が行なわれるが、XMPPサーバ2が長時間復旧しない場合もあるので、これに対処するため、ある程度のところで再接続要求を繰り返すのをやめる必要があり、そのために最大繰り返し回数nを設定している。
【0105】
したがって、最大繰り返し時間Tnは、XMPPサーバ2が長時間復旧しない場合ではなく、短時間で行なわれる場合の切断から再接続までの時間はどのくらいかについて、実際の時間または想定される時間をもとに、XMPPサーバの最大待機時間計算部22においてあらかじめ設定される。
【0106】
最大繰り返し回数nの算出の例を示す。
【0107】
最大繰り返し時間Tnを500secとし、最大再接続待機時間T1および最大タイムアウト時間T2を上記の算出例からT1=20(sec)およびT2=100(sec)とし、
再接続待機時間t1(R)=8(sec)、タイムアウト時間t2(R)=40(sec)とすると、
n=(500―8)/40=12.03であり、最大繰り返し回数nを12回に設定する。
【0108】
≪再接続処理処理フロー≫
図10は、クライアント端末1とXMPPサーバ2との接続が切れた際に、クライアント端末1がXMPPサーバ2に自動的に再接続要求を出してセッションを張りなおす再接続処理を示すフローチャートであり、この図10を参照して再接続処理について説明する。
【0109】
なお、通信状態として、プレゼンスを用いた場合について示している。
【0110】
まず、クライアント端末1の接続要求部12は、XMPPサーバ2との接続が切れたことを検出すると、再度XMPPサーバ2にログインするために、端末識別情報テーブル14から自己のクライアント端末1の端末識別情報を取得する(ステップS11)。
【0111】
次に、接続要求部12は状態管理部11から現在のプレゼンスを取得する(ステップS12)。
【0112】
続いて、接続要求部12は、最大待機時間テーブル15から最大再接続待機時間T1、最大タイムアウト時間T2および最大繰り返し時間Tnを取得する(ステップS13)。
【0113】
次に、接続要求部12は、再接続優先度テーブル16から現在のプレゼンスに対応した再接続待機時間係数k1(P)とタイムアウト時間係数k2(P)を取得し、これらの係数と、最大再接続待機時間T1、および最大タイムアウト時間T2から再接続待機時間t1(P)とタイムアウト時間t2(P)を算出し、設定する(ステップS14)。
【0114】
次に、再接続待機時間t1(P)待機し(ステップS15)、その経過後に、クライアント端末1は接続要求部12からXMPPサーバ2に自己の端末識別情報を送りXMPPサーバ2に再接続要求を出す(ステップS16)。
【0115】
XMPPサーバ2からタイムアウト時間t2(P)以内にXMPPサーバ2から正常な応答があった場合(ステップS17のy)、接続要求部12はこれを受けクライアント端末1とXMPPサーバ2で通信が確立する。
【0116】
この応答には、XMPPサーバ2の最大待機時間計算部22において更新した最大再接続待機時間T1および最大タイムアウト時間T2ならびに最大繰り返し時間Tnが含まれており、これらの情報を接続要求部12はクライアント端末1の最大待機時間テーブル15に格納し、設定を更新する(ステップS18)。
【0117】
最大再接続待機時間T1、最大タイムアウト時間T2および最大繰り返し時間Tnはクライアント端末1がXMPPサーバ2に接続するたびに更新するが、クライアント端末において設定をリアルタイムに更新するには定期的にクライアント端末1へ送信し更新するようにすることもできる。
【0118】
接続要求部12は、XMPPサーバ2からタイムアウト時間t2以内に正常な応答がない場合(ステップS17のn)には、ステップS14において算出した再接続待機時間t1(P)とタイムアウト時間t2(P)と、最大待機時間テーブル15から取得した最大繰り返し時間Tnから最大繰り返し回数nを算出して設定する(ステップS19)。
【0119】
次に接続要求部12は再接続要求回数が、最大繰り返し回数nを超えたか否かを判断し(ステップS20)、超えていない場合(ステップS19のn)には次の再接続要求をXMPPサーバ2に出す。
【0120】
接続要求部12は再接続要求回数が最大繰り返し回数nを超えた場合(ステップS19のy)には再接続処理を終了する。
【0121】
このようにして再接続処理が行なわれる。
【0122】
なお、テレビ会議状態では、クライアント端末1とXMPPサーバ2の接続と、クライアント端末1と会議映像配信サーバ3の接続がされている。
【0123】
クライアント端末1とXMPPサーバ2との接続が切断された状態において、クライアント端末1と会議映像配信サーバ3との接続は維持されてセッションが継続している場合には、クライアント端末1と会議映像配信サーバ3との接続は解除されてセッションは終了する。
【0124】
そして、クライアント端末1とXMPPサーバ2とが再接続された場合にはセッションIDを新たに発行し新たにセッションを張る。
【0125】
このように、本実施形態においては、クライアント端末1のプレゼンス等の通信状態に対して優先度係数を設定し、最大再接続待機時間T1とこの優先度係数から再接続待機時間t1を設定するようにしたので、会議システムを使用している度合いが高いと思われる通信状態について、優先度を高くすることができ、使用者の利便性を向上させることができる。
また更に最大タイムアウト時間T2を設定し、2回目以降の再接続要求を、前記最大タイムアウト時間T2と切断された際のクライアント端末の通信状態に対して設定された再接続の優先度にもとづいて設定されるタイムアウト時間t2の経過後に行なうようにしたので、再接続待機時間t1から独立してタイムアウト時間t2を短く設定することができ、これにより、確実に接続したいプレゼンスまたはリクエストについては、より確実に接続することが可能となる。
【0126】
≪最大再接続待機時間T1および最大タイムアウト時間T2の設定の他の実施形態≫
次に、最大再接続待機時間T1および最大タイムアウト時間T2の設定について、他の実施形態を示す。
【0127】
上記の実施形態においては、最大再接続待機時間T1および最大タイムアウト時間T2は、クライアント端末数nc、コンピュータ構成の稼働台数ns、再接続基礎時間a1およびタイムアウト基礎時間a2を用いた上記の算定式により算出した数値を設定値として決定しているが、この実施形態においては、算出した数値に対して、各種の事項を考慮して補正を加えてT1およびT2の設定値を決定するものである。
【0128】
この実施形態においては、補正として次のことを行う。
【0129】
1)最大再接続待機時間および最大タイムアウト時間の算出値T1calおよびT2calに、契約等による優先を加味し、優先するものはT1およびT2の時間を短くする。
【0130】
2)最大再接続待機時間T1および最大タイムアウト時間T2のそれぞれに上限値T1maxおよびT2maxを設け、算出値T1calおよびT2calが上限値T1maxおよびT2maxを超えた場合にはT1およびT2を上限値T1maxおよびT2maxに設定する。
【0131】
3)最大再接続待機時間T1に下限値T1minを設け、算出値T1calおよびT2calが下限値T1min未満の場合にはT1を0時間に設定する。
【0132】
それぞれについて説明すると、上記1)は最大再接続待機時間T1および最大タイムアウト時間T2について、システム加入者との契約等システムの使用に関する契約内容によって優先度を設定し、優先度の程度に応じて算出値T1calおよびT2calよりもT1およびT2を短くするものである。
【0133】
優先度については、契約によるものの他、会社においては本社を支店よりも優先度を高くする等、利用者の都合に応じて設定することができる。
【0134】
図11は、この場合に参照する契約情報テーブルを示すもので、各クライアント端末1IDに対応して契約による優先度が記憶されている。優先度の「normal」は優先なしの通常取り扱いを示し、「premium」は優先ありの優先的取り扱いを示している。
優先の取り扱いとしては「premium」の場合には算出値T1calおよびT2calに優先係数pを乗じた数値を設定値T1およびT2とする。
【0135】
上記2)は、最大再接続待機時間T1および最大タイムアウト時間T2のそれぞれについて上限値T1maxおよびT2maxを設定し、算出値T1calおよびT2calが上限値T1maxおよびT2maxを越えた場合にはT1およびT2を上限値T1maxおよびT2maxに設定するものである。
【0136】
この理由は、T1またはT2に上限がないとT1またはT2は算定式によって算出されたT1calおよびT2calの時間に設定されることになり、算出されたT1calおよびT2calが長い場合には延々と再接続要求を出すのを待ち続けなくてはならなくなるので、これに対処するため上限値T1maxおよびT2maxを設定して、再接続の失敗よりも、再接続要求の機会を優先させるためである。
【0137】
上記3)は、最大再接続待機時間T1に下限値T1minを設定し、算出値T1calが下限値T1min未満の場合にT1を0時間に設定するもの、すなわち再接続のための待機時間を無しにするものである。最大再接続待機時間T1の算出値T1calが小さい場合には再接続要求の集中の度合いが少ないことが想定され、その場合には集中に対する待機時間という制限をなくしても結果的には再接続状態は大きくは変わらず、各クライアント端末1の動作に任せてもよいとの考えによるものである。
【0138】
この実施形態における最大待機時間計算テーブル25には、図6に示す算出のための情報以外に、算出した数値に対して補正を加えてT1およびT2を設定するための情報として図12に示すように、最大再接続待機時間T1の上限値T1max、最大タイムアウト時間T2の上限値T2max、および最大再接続待機時間T1の下限値T1minならびに、優先係数pを記憶しておく。これらは、各クライアント端末ごとに設定される。
【0139】
算出したT1、T2もこの最大待機時間計算テーブルに記憶される。
【0140】
これらの上限値T1max、上限値T2max、および下限値T1minならびに優先係数p、の数値はシステムの規模、使用の実情、運営の方針等から総合的に判断して設定される。
【0141】
例を示すと、上限値T1maxを100sec、上限値T2maxを300sec、下限値T1minを5sec、優先係数pを0.6とする。
【0142】
図12には、最大再接続待機時間T1および最大タイムアウト時間T2の算出結果の数値が、図6に示す場合の数値である場合の各クライアント端末ごとのT1およびT2を示している。
【0143】
図13および図14は、この実施形態における最大再接続待機時間T1および最大タイムアウト時間T2を設定する処理を示すフローチャートであり、この処理はXMPPサーバ2の最大待機時間計算部22において行なわれる。
【0144】
この実施形態は、上記1)、2)および3)の補正をすべて行なう場合のものである。契約による優先度は各クライアント端末ごとに設定しているので、処理は各クライアント端末1について行なわれる。
【0145】
図13は最大再接続待機時間T1を設定するフローチャートであり、最大待機時間計算部22は算定式にもとづいて算出値T1calを算出する(ステップS31)。
【0146】
次に、最大待機時間計算部22は算出値T1calが上限値T1maxを超えているか否かを判断する(ステップS32)。
【0147】
算出値T1calがT1maxを超えていない場合には(ステップS32のn)、最大待機時間計算部22は算出値T1calが下限値T1min未満か否かを判断する(ステップS33)。
【0148】
算出値T1calが下限値T1min未満でない場合には(ステップS33のn)、最大待機時間計算部22は設定対象のクライアント端末1の優先度が「premium」か否かを判断する(ステップS34)。
【0149】
優先度が「premium」でない場合には(ステップS34のn)、最大待機時間計算部22はT1を算出値T1calの数値に設定し(ステップS35)、終了する。
【0150】
また、ステップS34において、優先度が「premium」の場合には(ステップS34のy)、最大待機時間計算部22はT1を算出値T1calに優先係数pを乗じた数値に設定し(ステップS36)、終了する。
【0151】
また、ステップS33において、算出値T1calが下限値T1min未満の場合には(ステップS33のy)、最大待機時間計算部22はT1を数値0に設定し(ステップS37)、終了する。
【0152】
また、ステップS32において、算出値T1calが上限値T1maxを超えている場合には(ステップS32のy)、最大待機時間計算部22は設定対象のクライアント端末1の優先度が「premium」か否かを判断し(ステップS38)、優先度が「premium」でない場合には(ステップS38のn)、T1の数値を上限値T1maxに設定し(ステップS39)、終了する。
【0153】
ステップS38において、設定対象のクライアント端末1の優先度が「premium」の場合には(ステップS38のy)、最大待機時間計算部22はT1を上限値T1maxに優先係数pを乗じた数値に設定し(ステップS40)、終了する。
【0154】
このようにして、各クライアント端末1ごとの最大再接続待機時間T1を設定する。
【0155】
図14は最大タイムアウト時間T2を設定するフローチャートであり、最大待機時間計算部22は、算定式にもとづいて算出値T2calを算出する(ステップS51)。
【0156】
次に、最大待機時間計算部22は算出値T2calが上限値T2maxを超えているか否かを判断する(ステップS52)。
【0157】
算出値T2calがT2maxを超えていない場合には(ステップS52のn)、最大待機時間計算部22は設定対象のクライアント端末1の優先度が「premium」か否かを判断する(ステップS53)。
【0158】
優先度が「premium」でない場合には(ステップS53のn)、最大待機時間計算部22はT2を算出値T2calの数値に設定し(ステップS54)、終了する。
【0159】
また、ステップS53において、優先度が「premium」の場合には(ステップS53のy)、最大待機時間計算部22はT2を算出値T2calに優先係数pを乗じた数値に設定し(ステップS55)、終了する。
【0160】
また、ステップS52において、算出値T2calが上限値T2maxを超えている場合には(ステップS52のy)、最大待機時間計算部22は設定対象のクライアント端末1の優先度が「premium」か否かを判断し(ステップS56)、優先度が「premium」でない場合には(ステップS56のn)、T2を上限値T2maxの数値に設定し(ステップS57)、終了する。
【0161】
ステップS56において、設定対象のクライアント端末1の優先度が「premium」の場合には(ステップS56のy)、最大待機時間計算部22はT2を上限値T2maxに優先係数pを乗じた数値に設定し(ステップS58)、終了する。
【0162】
このようにして、各クライアント端末1ごとの最大再接続待機時間T2を設定する。
なお、図13および図14に示す実施形態においては、上記1)、2)および3)のすべてを行なう場合を示したが、上記1)、2)および3)のいずれか、または二つを選択して行なうことができる。
【0163】
また、図13および図14の実施形態に示す処理は、クライアント端末1がXMPPサーバ2から必要な情報を取得するようにしてクライアント端末1において行なうことができる。
【0164】
また、最大再接続待機時間T1および最大タイムアウト時間T2の算出についても、同様にクライアント端末1がXMPPサーバ2から必要な情報を取得するようにしてクライアント端末1において行なうことができる。
【0165】
本実施形態においては、最大再接続待機時間T1および最大タイムアウト時間T2を、算定式により算出された数値に対して、契約等による優先度に応じて補正を加えて設定するようにしたので、会議システム運営のビジネス上の実情、利用者の都合等を反映した待ち時間を設定することができ、実情に合わせた運用ができる。
【0166】
また、最大再接続待機時間T1および最大タイムアウト時間T2の設定について、上限値また下限値を設けたので計算上の数値を用いた場合に生じる状況、例えば延々と接続要求を出すような時間設定、あまり意味のない数値の設定を避けることができ、現実的な時間設定ができる。
【符号の説明】
【0167】
1 クライアント端末
2 XMPPサーバ
3 会議映像配信サーバ
4 通信ネットワーク
11 状態管理部
12 接続要求部
13 会議映像処理部
14 端末識別情報テーブル
15 最大待機時間テーブル
16 再接続優先度テーブル
21 通信管理部
22 最大待機時間計算部
23 宛先リスト管理部
24 セッションID管理テーブル
25 最大待機時間計算テーブル
26 宛先リスト管理テーブル
【先行技術文献】
【特許文献】
【0168】
【特許文献1】特許第4251207号公報

【特許請求の範囲】
【請求項1】
通信ネットワークを介して接続されたクライアント端末とサーバを有し、クライアント端末とサーバとの接続が切断された後の再接続を行なう場合に、切断されたクライアント端末が再接続するまでの待機時間を設定し、この待機時間経過後に再接続要求を行なう通信システムにおいて、
前記待機時間を、当該クライアント端末に対して設定された最大待機時間と、切断された際のクライアント端末の通信状態に対して設定された再接続の優先度にもとづいて設定することを特徴とする通信システム。
【請求項2】
通信ネットワークを介して接続されたクライアント端末とサーバとの接続が切断された後の再接続を行なう場合に、切断されたクライアント端末が再接続するまでの待機時間を設定し、この待機時間経過後に再接続要求を行なうクライアント端末において、
当該クライアント端末に対して設定された最大待機時間を記憶する記憶手段と、切断された際のクライアント端末の通信状態に対して設定された再接続の優先度を示す優先度係数を記憶する記憶手段と、前記最大待機時間と前記優先度係数にもとづいて各通信状態ごとの待機時間を設定する設定手段を有することを特徴とするクライアント端末。
【請求項3】
請求項2に記載のクライアント端末において、
前記最大待機時間は、通信ネットワークを介してサーバに接続されるクライアント端末に対して同じものが設定されることを特徴とするクライアント端末。
【請求項4】
請求項2または請求項3に記載のクライアント端末において、
前記最大待機時間は、通信ネットワークを介してサーバに接続される各クライアント端末に対して、各クライアント端末の優先度に応じた個別のものが設定されることを特徴とするクライアント端末。
【請求項5】
請求項2から請求項4のいずれかに記載のクライアント端末において、
前記最大待機時間は、所定の算定式により算出された数値に対して、更にあらかじめ定められた補正を行なって設定されることを特徴とするクライアント端末。
【請求項6】
請求項2から請求項5のいずれかに記載のクライアント端末において、
更に最大タイムアウト時間を設定し、2回目以降の再接続要求を、前記最大タイムアウト時間と切断された際のクライアント端末の通信状態に対して設定された再接続の優先度にもとづいて設定されるタイムアウト時間の経過後に行なうことを特徴とするクライアント端末。
【請求項7】
請求項6に記載のクライアント端末において、
2回目以降の再接続の優先度は、タイムアウト時間設定のために設定された優先度が用いられることを特徴とするクライアント端末。
【請求項8】
請求項1に記載の通信システムにおいて、
前記最大待機時間は、サーバにおいて設定されて各クライアント端末に送信されることを特徴とする通信システム。
【請求項9】
通信ネットワークを介して接続されたクライアント端末とサーバとの接続が切断された後の再接続を行なう場合に、切断されたクライアント端末が再接続するまでの待機時間が設定され、この待機時間経過後に前記クライアント端末が再接続要求を行なう通信システムにおいて、
請求項2から請求項7のいずれかに記載のクライアント端末を有することを特徴とする通信システム。
【請求項10】
クライアント端末に、請求項2から請求項7のいずれかに記載の機能を実現させることを特徴とするクライアント端末用プログラム。
【請求項11】
通信システムに、請求項1、請求項8または請求項9のいずれかに記載の機能を実現させることを特徴とする通信システム用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−80179(P2012−80179A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2010−220919(P2010−220919)
【出願日】平成22年9月30日(2010.9.30)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】