(57)【要約】【課題】特定の通信に関する中継を優先させることによる他の通信への影響を低減することができる。【解決手段】通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出する抽出部と、抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定する特定部と、通信メッセージを中継する際に、前記特定部によって特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える中継部と、を有する。【選択図】図１５
2016032162.tif 000002
【特許請求の範囲】
【請求項１】
通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出する抽出部と、
抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定する特定部と、
通信メッセージを中継する際に、前記特定部によって特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える中継部と、
を有することを特徴とする中継装置。
【請求項２】
前記中継部は、前記第一の通信メッセージが発生する前においては、前記複数のパターンにおいて前記第一の通信メッセージより前に発生する通信メッセージ群を優先的に中継する対象とし、前記第一の通信メッセージが発生した後においては、前記複数のパターンにおいて前記第一の通信メッセージより後に発生する通信メッセージ群を優先的に中継する対象とする、
ことを特徴とする請求項１記載の中継装置。
【請求項３】
コンピュータが、
通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出し、
抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定し、
通信メッセージを中継する際に、前記特定する処理において特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える、
処理を実行することを特徴とする中継方法。
【請求項４】
コンピュータに、
通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出し、
抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定し、
通信メッセージを中継する際に、前記特定する処理において特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法、及びプログラムに関する。
【背景技術】
【０００２】
複数の機器間の相互通信を中継する装置において、通信過多による輻輳が発生する場合が有る。遅延に対する許容度が低いシステムにおいては、斯かる輻輳は、当該装置によって通信メッセージの中継が行われるサービスの品質を劣化させる要因となる。
【０００３】
このような問題に対し、特定のサービスの通信メッセージを、ＱｏＳ制御の対象とすることが考えられる。例えば、特定のサービスの通信メッセージを、他の通信メッセージよりも優先的に中継することによって、当該サービスに関する通信メッセージの伝達遅延を解消することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２０８８４７号公報
【特許文献２】特開２０１１−１８２２８５号公報
【特許文献３】特開２０１０−２０５０４号公報
【特許文献４】特開２００８−１０３８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特定のサービスの一回の提供に関して最初に発生することが予定されている通信メッセージの発生から、最後に発生することが予定されている通信メッセージが発生までの期間において、当該サービスに関して発生が予定されている全ての通信メッセージが、ＱｏＳ制御の対象とされてしまうと、ＱｏＳ制御の対象とされていない通信メッセージの遅延が大きくなる可能性が有る。
【０００６】
例えば、或るサービス（以下、「サービスＡ」という。）の一回の提供に関して発生が予定されている通信メッセージが、メッセージＡ、Ｂ、Ｃ、Ｄ、及びＥであるとする。このうち、メッセージＡが最初に発生することが予定されている通信メッセージであり、メッセージＥが最後に発生することが予定されている通信メッセージであるとする。この場合において、メッセージＡの発生に応じて、サービスＡに関する他の全てのメッセージ（メッセージＢ〜Ｅ）がＱｏＳ制御の対象とされると、メッセージＥが発生するまでの期間において、サービスＡとは無関係に発生するメッセージＢ〜Ｅも優先的に中継されてしまう。その結果、メッセージＢ〜Ｅ以外のメッセージの中継に関して遅延が大きくなってしまう。
【０００７】
そこで、一側面では、特定の通信に関する中継を優先させることによる他の通信への影響を低減することを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出する抽出部と、抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定する特定部と、通信メッセージを中継する際に、前記特定部によって特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える中継部と、を有する。
【発明の効果】
【０００９】
一側面では、特定の通信に関する中継を優先させることによる他の通信への影響を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における通信システムの構成例を示す図である。
【図２】単一通信及びシーケンス通信の一例を示す図である。
【図３】通信中継サーバが実行する処理の概要を説明するためのフローチャートである。
【図４】通信システムの具体的な一例を示す図である。
【図５】メッセージの頻出パターンの第一の抽出例を示す図である。
【図６】メッセージ種別の発生順序が順不同である場合のＱｏＳ制御の一例を説明するための図である。
【図７】複数の頻出パターンの単純な統合結果の一例を示す図である。
【図８】同一のメッセージ種別に係る複数のノードの統合結果の一例を示す図である。
【図９】各ノードに関する接続エッジの本数と両方向のエッジへの接続の有無との調査結果の一例を示す図である。
【図１０】統合グラフから部分グラフへの分割例を示す図である。
【図１１】メッセージの頻出パターンの第二の抽出例を示す図である。
【図１２】第二の抽出例に係るメッセージ頻出パターンの統合結果の一例を示す図である。
【図１３】本発明の実施の形態の通信中継サーバによるＱｏＳ制御の一例を説明するための図である。
【図１４】本発明の実施の形態における通信中継サーバのハードウェア構成例を示す図である。
【図１５】本発明の実施の形態における通信中継サーバの機能構成例を示す図である。
【図１６】制御情報の生成処理の処理手順の一例を説明するためのフローチャートである。
【図１７】メッセージ履歴の構成例を示す図である。
【図１８】メッセージ種別間の時刻相関の集計例を示す図である。
【図１９】メッセージ種別間の時刻相関の集計結果において値が閾値以上である要素の抽出例を示す図である。
【図２０】一つの頻出パターンの抽出結果の一例を示す図である。
【図２１】複数の頻出パターンの抽出結果の一例を示す図である。
【図２２】複数の頻出パターンのマージ結果の一例を示す図である。
【図２３】ゲートノードに関する条件１の判定方法の一例を説明するための図である。
【図２４】条件１を満たすメッセージ種別の中で条件２を満たさないメッセージ種別の特定結果を示す図である。
【図２５】条件２を満たさないメッセージ種別の特定方法の一例を説明するための図である。
【図２６】メッセージの中継処理の処理手順の一例を説明するためのフローチャートである。
【図２７】中継処理を説明するための統合パターンを示す図である。
【図２８】中継処理を説明するためのメッセージの発生順を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における通信システムの構成例を示す図である。図１に示される通信システム１において、通信中継サーバ１０と２以上の通信クライアント２０とは、ＬＡＮ（Local Area Network）又はインターネット等のネットワークを介して通信可能に接続される。
【００１２】
各通信クライアント２０は、他の通信クライアント２０に通信メッセージ（以下、単に「メッセージ」という。）を送信する通信装置である。例えば、スマートフォン、フィーチャーフォン、タブレット端末、ＰＣ（Personal Computer）等が、通信クライアント２０として用いられてもよい。
【００１３】
通信中継サーバ１０は、通信クライアント２０間において送受信されるメッセージを中継する装置又はコンピュータである。本実施の形態において、通信中継サーバ１０は、各種のサービス又はアプリケーション（以下、「サービス」に統一する。）に関して通信クライアント２０間において行われる通信を、「単一通信」と「シーケンス通信」とに区別する。通信中継サーバ１０は、シーケンス通信の優先度を単一通信よりも高くすることで、複数の通信クライアント２０に跨る通信の遅延を低減させるよう、通信クライアント２０間の通信を制御する。単一通信とは、その通信の発生が他のノードに対して何かしらの別の通信の発生を喚起しない通信をいう。シーケンス通信とは、その通信の発生によって他のノードが別な通信を発生させたり、他のノードが当該通信に対する応答を送信したりする通信をいう。
【００１４】
図２は、単一通信及びシーケンス通信の一例を示す図である。図２において、円は、通信ノード、すなわち、本実施の形態におけるいずれかの通信クライアント２０を示す。円を接続する矢印は、メッセージ及びメッセージの伝達方向を示す。
【００１５】
（１）は、単一通信の一例を示す。（１）では、一方のノードｎ１から送信されたメッセージを受信したノードｎ２は、当該メッセージの受信に応じて他の通信を発生させない。例えば、ノードｎ１において録音されたデータを、ノードｎ２に保存する場合、このような通信が行われる。
【００１６】
（２）及び（３）は、シーケンス通信の一例を示す。（２）では、ノードｎ１らのメッセージに対して、ノードｎ２が応答のメッセージを送信する。例えば、Ｗｅｂブラウザが、Ｗｅｂサーバに対してＨＴＴＰリクエストを送信すると、Ｗｅｂサーバが、当該ＨＴＴＰリクエストに対するＨＴＴＰレスポンスを返信する場合、このような通信が行われる
（３）は、ノードｎ１がノードｎ２にメッセージを送信すると、ノードｎ２が、当該メッセージの受信に応じて、ノードｎ３にメッセージを送信する。例えば、複数の機器が連携して動作する場合に、このような通信が行われる。
【００１７】
一般的に、単一通信よりもシーケンス通信の方が、遅延に対する許容度が小さいと考えられる。そこで、本実施の形態では、シーケンス通信の中継が優先される。シーケンス通信を単一通信よりも優先させるため、通信中継サーバ１０は、図３に示されるような処理を実行する。図３は、通信中継サーバが実行する処理の概要を説明するためのフローチャートである。
【００１８】
ステップＳ１１において、通信中継サーバ１０は、通常のメッセージの中継時において記憶しているメッセージの履歴から、メッセージの種別の発生順序の頻出パターンを抽出する。すなわち、シーケンス通信の場合、或る種別のメッセージの発生に応じて他の種別メッセージが発生する。このような、メッセージ種別の発生順序に関して頻度の高いパターンを自動的に抽出するための統計処理が、ステップＳ１１において行われる。斯かる頻出パターンは、例えば、「ＰＲＯＶＩＳＩＯＮ  Ｎｏ．７８／Ｓｕｍｍｅｒ２０１３  監視メッセージの最適化  ３．イベント・アナリティクス」（http://www-06.ibm.com/ibm/jp/provision/no78/pdf/78_tecColumn.pdf）に記載されている、イベントの発生時刻相関の統計分析手法におけるイベントに対してメッセージ種別を当てはめることで、メッセージ履歴から抽出することができる。この際、バースト的に発生する単一通信を除くことで、有意な発生順序のパターンが抽出されてもよい。
【００１９】
以下、斯かる方法を利用して抽出されるメッセージ種別の発生順序に関して発生頻度（出現頻度）の高いパターンを、「頻出パターン」という。なお、頻出パターンは、発生頻度が一定以上である２以上のメッセージ種別の発生順序を示すものである。したがって、単一のメッセージによって構成される単一通信に関して、頻出パターンは抽出されない。よって、ステップＳ１１によって、シーケンス通信が抽出される。
【００２０】
ここでは、説明の便宜上、図４に示される通信システムを想定する。図４は、通信システムの具体的な一例を示す図である。図４において、顔検知センサ２１、距離センサ２２、センサ管理サーバ２３、サイネージ管理サーバ２４、ディスプレイ２５、及びスピーカ２６は、通信クライアント２０の一例である。また、楕円によって通信中継サーバ１０が示されている。当該楕円が、各通信クライアント２０間のメッセージを示す矢印に交錯することで、各メッセージの中継が通信中継サーバ１０によって行われることが示されている。
【００２１】
顔検知センサ２１は、人の顔の検知に応じ、「顔検知通知メッセージ」をセンサ管理サーバ２３へ送信する。距離センサ２２は、対物距離が閾値以下になったことの検知に応じ、「近接通知メッセージ」をセンサ管理サーバ２３へ送信する。センサ管理サーバ２３は、「顔検知通知メッセージ」又は「近接通知メッセージ」の受信に応じ、サイネージ管理サーバ２４へ「広告提示指示メッセージ」を送信する。サイネージ管理サーバ２４は、センサ管理サーバ２３からの「広告提示指示メッセージ」の受信に応じ、ディスプレイ２５及びスピーカ２６に、「映像出力指示メッセージ」又は「音声出力指示メッセージ」を送信する。このとき、映像出力指示と音声出力指示のどちらかが先に送信されるかは不定である。
【００２２】
すなわち、図４には、人が接近したらその人に対して広告を提示するデジタルサイネージサービスに利用される通信クライアント２０群が示されている。なお、各メッセージは、通信中継サーバ１０によって中継されるため、通信中継サーバ１０には、各メッセージの履歴が時系列に記憶される。また、通信中継サーバ１０は、他のサービスに関するメッセージの中継を行ってもよい。したがって、通信中継サーバ１０に記憶されるメッセージの履歴には、他のサービスに関するメッセージも含まれる。なお、顔検知通知メッセージ、近接通知メッセージ、広告提示指示メッセージ、映像出力指示メッセージ、及び音声出力指示メッセージ等、本実施の形態において、メッセージの意味、種類、又は型を区別する概念を、「メッセージ種別」という。メッセージ種別は、個々のメッセージを区別する概念ではない。したがって、同じメッセージ種別に属するメッセージは、複数回発生しうる。
【００２３】
このような状況において、デジタルサイネージサービスに関して抽出されうる頻出パターンは、例えば、図５に示される通りである。
【００２４】
図５は、メッセージの頻出パターンの第一の抽出例を示す図である。図５では、メッセージ種別をノードとし、メッセージ種別間の生起関係をエッジ（辺）とする有向グラフによって、頻出パターンが示されている。
【００２５】
図５に示される例では、デジタルサイネージサービスに関して、４通りの頻出パターンが抽出されている。これは、「顔検知通知メッセージ」と「近接通知メッセージ」とが順不同で発生し、「映像出力指示メッセージ」と「音声出力指示メッセージ」とが、順不同で発生するためである。このように、一つのサービスに関して抽出される頻出パターンは、必ずしも一義的ではなく、多義性を有しうる。なお、一つの頻出パターンにおいて、同じメッセージ種別は複数回発生しないという制約が設けられてもよい。このような制約が設けられる場合、例えば、一つの頻出パターンにおいて、顔検知通知メッセージが複数回発生することはない。
【００２６】
斯かる多義性は、デジタルサイネージサービスのメッセージに関してＱｏＳ（Quality of Service）制御（優先制御）を行う際に、当該ＱｏＳ制御による他のサービスの通信に対する影響度を高める要因となりうる。すなわち、仮に、メッセージ種別の発生順序が一意であれば、ＱｏＳ制御の対象とするメッセージ種別を順番に切り替えることができ、理論的には、或る瞬間においてＱｏＳ制御の対象とされるメッセージ種別を一つに限定することができる。一方、メッセージ種別の発生順序が順不同である場合、或るメッセージ種別の次に発生するメッセージ種別を特定することが困難であるため、複数のメッセージ種別をＱｏＳ制御の対象とする必要が有る。
【００２７】
図６は、メッセージ種別の発生順序が順不同である場合のＱｏＳ制御の一例を説明するための図である。図６では、接通知メッセージが発生すると、図４に示されるメッセージ種別のうち、近接通知メッセージを除く全てのメッセージ種別（顔検知通知メッセージ、広告提示指示メッセージ、音声出力指示メッセージ、及び映像出力指示メッセージ）がＱｏＳ制御の対象とされる。また、これらの全てのメッセージ種別の中継が終了すると、これらの全てのメッセージ種別に関してＱｏＳ制御が終了することが示されている。したがって、期間Ｔ１においては、顔検知通知メッセージ、広告提示指示メッセージ、音声出力指示メッセージ、及び映像出力指示メッセージがＱｏＳ制御の対象とされる。
【００２８】
ここで、メッセージ種別とサービスとの関係は、必ずしも１対１ではない。複数のサービス間において、発生するメッセージ種別が重複しうる。例えば、図４に示される各メッセージ種別に属するメッセージは、デジタルサイネージサービス以外のサービスに関して発生する可能性も有る。このことは、或る時点において、図４に示される複数のメッセージ種別がほぼ同時に発生する可能性が有ることを意味する。本実施の形態では、ＱｏＳ制御は、サービスを区別することなく、メッセージ種別単位で行われることを想定する。したがって、図６の期間Ｔ１においては、他のサービスによって送信される顔検知通知メッセージ、広告提示指示メッセージ、音声出力指示メッセージ、又は映像出力指示メッセージに関しても、ＱｏＳ制御の対象とされうる。その結果、或る時点において一つのメッセージ種別がＱｏＳ制御される場合に比べて、或る時点において複数のメッセージ種別がＱｏＳ制御される場合の方が、ＱｏＳ制御の対象とされていないメッセージ種別のメッセージの中継に関して、伝達遅延が増加する可能性が高まる可能性が有る。
【００２９】
そこで、通信中継サーバ１０は、デジタルサイネージサービスに関する頻出パターンの多義性を解消するため、すなわち、或る時点においてＱｏＳ制御の対象とするメッセージ種別の絞り込みを可能とするため、ステップＳ１２以降を実行する。
【００３０】
ステップＳ１２において、通信中継サーバ１０は、抽出された複数の頻出パターンを、一つの有向グラフに統合する。
【００３１】
図７は、複数の頻出パターンの単純な統合結果の一例を示す図である。図７に示されるように、統合処理では、同じ順番における同じメッセージ種別のノードが、一つのノードに統合される。例えば、図５における１番目の頻出パターンと２番目の頻出パターンとのそれぞれにおける１番目の顔検知通知メッセージは、１つのノードに統合されている。同様に、図５における３番目の頻出パターンと４番目の頻出パターンとのそれぞれにおける１番目の近接検知通知メッセージは、１つのノードに統合されている。また、図５における全ての頻出パターンにおいて２番目に含まれている広告提示指示メッセージは、１つのノードに統合されている。また、図５における１番目の頻出パターンと３番目の頻出パターンとのそれぞれにおける３番目の音声出力指示メッセージは、１つのノードに統合されている。また、図５における２番目の頻出パターンと４番目の頻出パターンとのそれぞれにおける３番目の映像出力指示メッセージは、１つのノードに統合されている。また、図５における１番目の頻出パターンと３番目の頻出パターンとのそれぞれにおける４番目の映像出力指示メッセージは、１つのノードに統合されている。また、図５における２番目の頻出パターンと４番目の頻出パターンとのそれぞれにおける４番目の音声出力指示メッセージは、１つのノードに統合されている。ノードの統合に伴って、ノード間のエッジも統合されている。
【００３２】
更に、図７に示される状態において、同じメッセージ種別に関するノードが複数存在する場合、当該複数のノードは、エッジの接続関係を維持したまま一つに統合される。
【００３３】
図８は、同一のメッセージ種別に係る複数のノードの統合結果の一例を示す図である。図８では、４番目の映像出力指示メッセージのノードが、３番目の映像出力指示メッセージのノードに統合されている。また、４番目の音声出力指示メッセージのノードが、３番目の音声出力指示メッセージのノードに統合されている。なお、斯かる統合において、相互に重なるエッジが発生する場合、これらのエッジは、一つのエッジに統合される。統合後のエッジの方向は、統合される各エッジの方向の論理和をとったものとなる。したがって、音声出力指示メッセージのノードと映像出力指示メッセージのノードとの間は、両方向のエッジによって接続されている。
【００３４】
以下、ステップＳ１２の実行による、複数の頻出パターンの統合によって生成される有向グラフを「統合グラフ」という。また、統合グラフが示すパターンを、「統合パターン」という。
【００３５】
続いて、通信中継サーバ１０は、統合グラフを構成するノードの中から、ゲートノードを特定する（Ｓ１３）。ゲートノードとは、当該ノードの前後において、発生するメッセージ種別が変化する（切り替わる）ノードをいう。より詳しくは、ゲートノードとは、統合パターンを構成する複数の頻出パターンに共通に含まれるメッセージ種別の中で、いずれかの頻出パターンにおいて当該メッセージ種別の前に発生するメッセージ種別が他の頻出パターンにおいて当該メッセージ種別の後に発生することがなく、いずれかの頻出パターンにおいて当該メッセージ種別の後に発生するメッセージ種別が他の頻出パターンにおいて当該メッセージ種別の前に発生することがないメッセージ種別に対応するノードをいう。すなわち、ゲートノードとは、統合パターンを構成する複数の頻出パターンに共通に含まれるメッセージ種別の中で、当該複数のパターンにおいて当該メッセージ種別の前に発生するメッセージ種別群と、当該メッセージ種別の後に発生するメッセージ種別群との間に重複が無いメッセージ種別に対応するノードをいう。
【００３６】
ゲートノードは、例えば、以下の条件１及び２の双方を満たすノードを探索することにより特定することができる。
条件１：ノードに接続しているエッジの本数が２本以上であること。
条件２：両方向のエッジに接続していないこと。
【００３７】
図８に示される各ノードに関する接続エッジの本数と、両方向のエッジへの接続の有無との調査結果は、図９に示される通りである。
【００３８】
図９は、各ノードに関する接続エッジの本数と両方向のエッジへの接続の有無との調査結果の一例を示す図である。図９において、条件１及び条件２を満たすのは、広告提示指示メッセージに対応するノードである。したがって、当該ノードがゲートノードとして特定される。なお、本実施の形態では、ゲートノードとして特定されるノードは一つであるが、複数のゲートノードが特定されてもよい。
【００３９】
続いて、通信中継サーバ１０は、統合グラフからゲートノードを除去して、統合グラフを複数の部分グラフに分割する（Ｓ１４）。この際、ゲートノードに接続されていた各エッジは、当該ゲートノードによって分割された部分グラフを接続する一つのエッジに統合される。統合後のエッジの向きは、統合される各エッジの論理和をとったものである。
【００４０】
図１０は、統合グラフから部分グラフへの分割例を示す図である。図１０では、図９に示される統合グラフが、部分グラフＡと部分グラフＢとに分割された例が示されている。部分グラフＡでは、顔検知通知メッセージと近接通知メッセージとの二つのメッセージ種別がまとめられている。また、部分グラフＡでは、音声出力指示メッセージと映像出力指示メッセージとの二つのメッセージ種別がまとめられている。
【００４１】
図３の処理では、図１０の内容を示す情報が出力情報として得られる。
【００４２】
なお、上記においては、広告提示指示メッセージの発生に関して、顔検知通知メッセージと近接通知メッセージとの関係は、ＯＲの関係である例につい説明した。すなわち、上記では、顔検知通知メッセージ及び近接通知メッセージのいずれか一方の発生が、広告提示指示メッセージの発生条件であった。しかし、広告提示指示メッセージの発生に関して、顔検知通知メッセージと近接通知メッセージとの関係は、ＡＮＤの関係であってもよい。すなわち、顔検知通知メッセージ及び近接通知メッセージの双方の発生が、広告提示指示メッセージの発生条件であってもよい。この場合、ステップＳ１１では、図１１に示されるような４通りの頻出パターンが抽出される。
【００４３】
図１１は、メッセージの頻出パターンの第二の抽出例を示す図である。図１１に示される各頻出パターンは、広告提示指示メッセージに対応するノードの前に、顔検知通知メッセージ及び近接通知メッセージのそれぞれに対応する二つのノードを含む。
【００４４】
図１１に示される複数の頻出パターンに関してステップ１２が実行されると、図１２に示されるような統合グラフが得られる。
【００４５】
図１２は、第二の抽出例に係るメッセージ頻出パターンの統合結果の一例を示す図である。図１２では、顔検知通知メッセージのノードと近接通知メッセージのノードとが、両方向のエッジによって接続されている。これは、１番目及び２番目の顔通知メッセージのノードと、１番目及び２番目の顔通知メッセージのノードとがマージされた結果である。なお、図１２の場合にも、広告提示指示メッセージのノードがゲートノードとして特定される。
【００４６】
続いて、図１０に示した情報を用いて通信中継サーバ１０が実行するＱｏＳ制御の概要について説明する。通信中継サーバ１０は、ＱｏＳ制御の対象とするメッセージ種別を、発生したメッセージの遷移に応じて切り替えることで、デジタルサイネージサービスに関する全部のメッセージ種別が同時にＱｏＳ制御の対象とされるのを回避する。すなわち、図１０によれば、デジタルサイネージサービスの開始時に発生しうるメッセージ種別は部分グラフＡに属するもののみであり、ゲートノード（広告提示指示メッセージ）が発生しない限りは、部分グラフＢに属するメッセージは発生しないことが分かる（又は部分グラフＢに属するメッセージ種別に係るメッセージが発生したとしても、当該メッセージは、デジタルサイネージサービスに関するメッセージではない。）。斯かる考えに基づき、通信中継サーバ１０は、図１３に示されるようにＱｏＳ制御を実行する。
【００４７】
図１３は、本発明の実施の形態の通信中継サーバによるＱｏＳ制御の一例を説明するための図である。
【００４８】
図１３に示されるように、通信中継サーバ１０は、近接通知メッセージを検知すると、近接通知メッセージと共に部分グラフＡに含まれる顔検知通知メッセージと、近接通知メッセージ以降の最初のゲートノードに係る広告提示指示メッセージとをＱｏＳ制御の対象とする。なお、仮に、近接通知メッセージより前に顔検知通知メッセージが検知された場合、通信中継サーバ１０は、近接通知メッセージと広告提示指示メッセージとをＱｏＳ制御の対象とする。続いて、通信中継サーバ１０は、広告提示指示メッセージを検知すると、顔検知通知メッセージ及び広告提示指示メッセージに関するＱｏＳ制御を終了する。また、通信中継サーバ１０は、終端までのノードに係る、音声出力指示メッセージ及び映像出力指示メッセージをＱＯＳ制御の対象とする。
【００４９】
上記より、図１３の期間Ｔ２においては、広告提示指示メッセージと、近接通知メッセージ及び顔検知通知メッセージのいずれか一方とがＱｏＳ制御の対象とされる。また、期間Ｔ３においては、音声出力指示メッセージ及び映像出力指示メッセージがＱｏＳ制御の対象とされる。したがって、図６に示したＱｏＳ制御に比べて、多数のメッセージ種別が同時に長期間にわたって優先されるのを回避することができる。その結果、ＱｏＳ制御の対象とされないメッセージ種別に対する影響を低減することができる。例えば、期間Ｔ２において、音声出力指示メッセージ又は映像出力指示メッセージが突発的に発生したとしても、これらのメッセージが優先的に中継されるのを回避することができる。
【００５０】
続いて、通信中継サーバ１０の詳細について説明する。図１４は、本発明の実施の形態における通信中継サーバのハードウェア構成例を示す図である。図１４の通信中継サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００５１】
通信中継サーバ１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００５２】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って通信中継サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００５３】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００５４】
図１５は、本発明の実施の形態における通信中継サーバの機能構成例を示す図である。図１５において、通信中継サーバ１０は、通信中継部１１、パターン抽出部１２、パターン統合部１３、及びゲートノード特定部１４等を有する。これら各部は、通信中継サーバ１０にインストールされた１以上のプログラムがＣＰＵ１０４に実行させる処理により実現される。通信中継サーバ１０は、また、通信履歴記憶部１２１及び制御情報記憶部１２２等を有する。これら各記憶部は、例えば、補助記憶装置１０２等を用いて実現可能である。
【００５５】
通信中継部１１は、通信クライアント２０間においてやりとりされるメッセージの中継を行う。すなわち、通信中継部１１は、或る通信クライアント２０からメッセージを受信すると、当該メッセージの宛先に該当する通信クライアント２０宛に、当該メッセージを送出する。通信中継部１１は、また、受信されたメッセージを通信履歴記憶部１２１に記憶する。したがって、通信履歴記憶部１２１には、メッセージの履歴（以下、「メッセージ履歴」という。）が記憶される。
【００５６】
パターン抽出部１２は、メッセージ履歴を参照して、メッセージの発生に関する時刻相関統計処理等を用いて頻出パターンを抽出する。なお、メッセージの発生に関する時刻相関統計処理は、公知技術を用いて実行されてもよい。
【００５７】
パターン統合部１３は、パターン抽出部１２によって抽出された頻出パターンを統合して、統合パターン（統合グラフ）を生成する。ゲートノード特定部１４は、統合パターンの中で、ゲートノードに該当するメッセージ種別を特定する。なお、統合パターを示す情報、及びゲートノードに該当するメッセージ種別を示す情報は、制御情報記憶部１２２に記憶される。制御情報記憶部１２２に記憶された情報（以下、「制御情報」という。）は、通信中継部１１によるメッセージの中継におけるＱｏＳ制御に用いられる。すなわち、通信中継部１１は、制御情報に基づいて、優先して中継すべきメッセージを識別する。ＱｏＳ制御の一例として、送出キューに蓄積されているメッセージの中で、優先度が相対的に高いメッセージを優先的に送出させるといった制御が挙げられる。但し、通信中継部１１によるＱｏＳ制御の内容は、所定のものに限定されない。
【００５８】
以下、通信中継サーバ１０が実行する処理手順について説明する。図１６は、制御情報の生成処理の処理手順の一例を説明するためのフローチャートである。図１６の処理は、ユーザによる指示の入力に応じて実行されてもよいし、所定のタイミングにおいて自動的に実行されてもよい。所定のタイミングは、定期的に到来してもよい。
【００５９】
ステップＳ１０１において、パターン抽出部１２は、通信履歴記憶部１２１に記憶されているメッセージ履歴に基づいて、メッセージ種別間の時刻相関を集計する。
【００６０】
図１７は、メッセージ履歴の構成例を示す図である。図１７において、メッセージ履歴は、メッセージの受信順にメッセージを含む。各メッセージは、例えば、メッセージＩＤ、送信元ＩＤ、宛先ＩＤ、タイムスタンプ、メッセージ種別、及び本文等を含む。
【００６１】
メッセージＩＤは、メッセージごとの識別情報である。メッセージＩＤは、通信中継部１１によってメッセージが受信され、当該メッセージが通信履歴記憶部１２１に記憶される際に、通信中継部１１によって付与されてもよい。
【００６２】
送信元ＩＤは、メッセージの送信元の通信クライアント２０の識別情報である。宛先ＩＤは、メッセージの宛先の通信クライアント２０の識別情報である。なお、図１７において、送信元ＩＤ及び宛先ＩＤの値は、抽象化されて表現されている。送信元ＩＤ及び宛先ＩＤの値は、利用される通信プロトコル等に応じて適宜決定されてもよい。
【００６３】
タイムスタンプは、通信中継サーバ１０においてメッセージが受信された日時を示す情報である。メッセージ種別は、上記したメッセージ種別である。本文は、メッセージの本文である。なお、メッセージ種別と本文との区別は曖昧であってもよい。例えば、メッセージの本文の形式等に基づいて、メッセージ種別が判別されてもよい。
【００６４】
ステップＳ１０１では、図１７に示されるようなメッセージ履歴に基づいて、例えば、図１８に示されるように、メッセージ種別間の時刻相関が集計される。
【００６５】
図１８は、メッセージ種別間の時刻相関の集計例を示す図である。図１８は、メッセージ履歴に含まれるメッセージ群のうち、タイムスタンプの値が、集計対象とされた期間（以下、「集計期間」という。）に含まれるメッセージ群に関する、メッセージ種別間の時刻相関の集計結果の一例である。
【００６６】
図１８では、行列の各要素（各成分）の値として、当該要素の行（ｆｒｏｍ）に係るメッセージ種別が発生してから、一定時間内に当該要素の列（ｔｏ）に係るメッセージ種別が発生した回数が示されている。例えば、図１８によれば、「顔検知通知メッセージ」が発生してから一定時間内に「近接通知メッセージ」が発生した回数は、１５２回であることが示されている。また、「近接通知メッセージ」が発生してから一定時間内に「広告提示指示メッセージ」が発生した回数は、１５０回であることが示されている。
【００６７】
なお、ステップＳ１０１では、例えば、集計期間を少しずつずらしながら、図１８に示した集計が行われてもよい。各集計期間は、相互に重複する期間を含んでもよい。複数の集計期間に関して集計が行われることにより、複数の集計結果が得られる。
【００６８】
続いて、パターン抽出部１２は、集計結果ごとに、頻出パターンを抽出する（Ｓ１０２）。例えば、図１８において、値が閾値以上である要素が抽出される。この際、メッセージＸのように、相関関係が閾値以上となるメッセージ種別が特定のメッセージ種別に限定されないメッセージ種別に係る行及び列は、削除される。その結果、単一通信は除去される。当該閾値は、集計結果における各要素の値の平均値を基準にして決定されてもよいし、各要素の値の総和に基づいて決定されてもよい。また、当該閾値は、予め定められていてもよいし、他の方法によって決定されてもよい。図１８に示される集計結果については、当該閾値は１００であるとする。その結果、図１９に示される要素が抽出される。
【００６９】
図１９は、メッセージ種別間の時刻相関の集計結果において値が閾値以上である要素の抽出例を示す図である。図１９では、値が１００以上である要素が、破線の矩形によって囲まれている。
【００７０】
パターン抽出部１２は、抽出された要素の値が「１」に置換され、他の要素の値が「０」に置換された行列を生成する。当該行列が、頻出パターンを示すデータである。
【００７１】
図２０は、一つの頻出パターンの抽出結果の一例を示す図である。図２０では、図１９に示される行列において値が１００以上である要素に１が当てはめられ、他の要素に０が当てはめられた行列が示されている。当該行列は、図２０の下方に示されている有向グラフを示す。すなわち、値が１である要素は、当該要素に係る行に対応するノードから当該要素に係る列に対応するノードへのエッジを示す。したがって、当該行列は、頻出パターンを示す。
【００７２】
なお、ステップＳ１０２は、ステップＳ１０１の集計結果ごとに実行される。すなわち、集計結果ごとに、図２０に示されるような行列が生成される。但し、同一の頻出パターンを示す行列の重複は、排除される。その結果、本実施の形態では、例えば、図２１に示されるような、頻出パターンが抽出される。
【００７３】
図２１は、複数の頻出パターンの抽出結果の一例を示す図である。図２１には、４つの行列が示されている。各行列は、図５における有向グラフが示す頻出パターンに対応する。図２１における行列の並び順は、図５に示した有向グラフの並び順に対応する。
【００７４】
なお、ステップＳ１０１及びＳ１０２以外の方法によって、頻出パターンが抽出されてもよい。
【００７５】
続いて、パターン抽出部１２は、ステップＳ１０２において抽出された複数の頻出パターンを、同一サービスに関するものであると推定される頻出パターン群ごとにグループ分けする（Ｓ１０３）。すなわち、図２１には、便宜上、一つのサービスに関する頻出パターンが抽出された例が示されているが、通信システム１においては、複数種類のサービスが運用される可能性が有る。この場合、ステップＳ１０２では、複数種類のサービスのそれぞれに関する頻出パターンが抽出される。一方、メッセージの発生順序はサービスごとに異なる。したがって、ＱｏＳ制御は、サービスごとに異なる制御情報に基づいて行われる必要がある。そこで、ステップＳ１０２では、複数の頻出パターンが、サービスごとに分類される。
【００７６】
各頻出パターンが属するサービスの異同は、例えば、頻出パターン間の類似度等に基づいて判定されてもよい。すなわち、類似度が閾値以上（例えば、７０％以上）以上である頻出パターン同士は、同じサービスに関するものである（同じグループに属する）と判定されてもよい。
【００７７】
類似度は、比較される二つの頻出パターンが共通して含むメッセージ種別の割合によって算出されてもよい。また、各頻出パターンが含むメッセージ種別の数が、必ずしも同じでないことを考慮して、比較対象とする区間（以下、「比較区間」）の長さが決められ、比較区間内に含まれるメッセージ種別群に関して類似度が算出されてもよい。同じ頻出パターンの組みに対して、比較区間の位置や長さが変更されて、複数回にわたって類似度が算出されてもよい。いずれかの比較のタイミングで類似度が閾値以上であれば、当該二つの頻出パターンは、同じグループに属すると判定されてもよい。なお、類似度の算出に関して、メッセージ種別の順序は考慮されなくてもよい。本実施の形態では、同一のサービスに関して、メッセージの発生順に関して、異なるパターンが許容されるからである。
【００７８】
例えば、図５の例では、各頻出パターンが含むメッセージ種別の数は４で共通する。したがって、比較区間は、４とされてもよい。１番目の頻出パターンと２番目の頻出パターンとの間で共通するメッセージ種別の数は、４である。したがって、この場合、類似度は１００％となる。また、１番目の頻出パターンと３番目の頻出パターンとの間で共通するメッセージ種別の数は、３である。したがって、この場合、類似度は７５％となる。なお、或る頻出パターンが或るグループに属すると判定されるために、当該グループに属する他の全ての頻出パターンとの類似度が閾値以上であることが要求されるのか、当該グループに属するいずれかの頻出パターンとの類似度が閾値以上であることが要求されるのかについては、適宜選択されてもよい。
【００７９】
なお、他の方法によって、同じグループに属する頻出パターン群が推定されてもよい。例えば、メッセージ内において、サービスの識別情報が含まれていてもよい。この場合、サービスの識別情報に基づいて、グループ分けが行われてもよい。
【００８０】
続いて、パターン統合部１３は、ステップＳ１０３において形成されたグループごとに、当該グループに属する頻出パターン群をマージする（Ｓ１０４）。マージは、同一グループに属する各頻出パターンに対応する行列群に関して、同じ要素の値の論理和を算出することによって行われる。したがって、例えば、図２１に示した行列群をマージした場合、図２２に示される行列がマージ結果として生成される。
【００８１】
図２２は、複数の頻出パターンのマージ結果の一例を示す図である。図２２に示される行列の各要素の値は、図２１に示されるいずれかの行列における当該要素の値が１であれば１であり、図２１に示される全ての行列において当該要素の値が０であれば０である。なお、図２２の行列は、図８に示した統合グラフを示すデータである。
【００８２】
続いて、ゲートノード特定部１４は、グループごとに、マージ結果としての行列に基づいて、ゲートノードを特定する（Ｓ１０５）。ゲートノードは、条件１及び条件２の二つの条件を満たすノードである。まず、条件１（ノードに接続しているエッジの本数が２本以上であること）については、例えば、図２２に示されるように判定される。
【００８３】
図２３は、ゲートノードに関する条件１の判定方法の一例を説明するための図である。或るメッセージ種別が、条件１を満たすか否かを判定するためには、当該メッセージ種別に係る行に属する全ての要素の値と、当該メッセージ種別に係る列に属する全ての要素の値との総和が２以上であるか否かが判定されればよい。当該総和は、当該メッセージ種別に対応するノードを起点又は終点とするエッジの数、すなわち、当該ノードに接続するエッジの数だからである。
【００８４】
図２３によれば、「音声出力指示メッセージ」について、行方向の要素の値と、列方向の要素の値との総和は３である。したがって、「音声出力指示メッセージ」は、条件１を満たすと判定される。各メッセージ種別に関して同様の判定が行われることにより、「広告提示指示メッセージ」及び「映像出力指示メッセージ」も、条件１を満たすと判定される。
【００８５】
また、条件２（両方向のエッジに接続していないこと）を満たすメッセージ種別は、例えば、両方向のエッジに接続するメッセージ種別を特定し、特定されたメッセージ種別以外のメッセージ種別を特定することによって特定することができる。
【００８６】
或るメッセージ種別の行又は列において値が１である要素（例えば、Ｎ行Ｍ列）と転置の関係にある要素（Ｍ行Ｎ列）の値が１である場合、当該メッセージ種別は、両方向のエッジに接続しているといえる。斯かる方法に基づいて、条件１を満たしたメッセージ種別に関して両方向のエッジへの接続の有無を判定し、該当するメッセージ種別を除去することで、ゲートノードに対応するメッセージ種別が特定される。
【００８７】
図２４は、条件１を満たすメッセージ種別の中で条件２を満たさないメッセージ種別の特定結果を示す図である。図２４において、破線の矩形で囲まれた要素は、相互に転置の関係にある。したがって、「音声出力指示メッセージ」と「映像出力指示メッセージ」とは、条件２を満たさないことが分かる。その結果、「広告提示指示メッセージ」が、ゲートノードに対応するメッセージ種別であることが特定される。
【００８８】
なお、条件２を満たさないメッセージ種別は、図２５に示されるような行列演算によって特定されてもよい。
【００８９】
図２５は、条件２を満たさないメッセージ種別の特定方法の一例を説明するための図である。図２５において、行列Ａは、図２２に示される行列に一一致する。行列ＡＴは、行列Ａの転置行列である。ＡａｎｄＡＴは、ＡとＡＴとの同一の要素ごとの論理積を示す。当該論理積によって得られる行列において、値が１である要素の行又は列に係るメッセージ種別が、条件２を満たさないメッセージ種別に該当する。該当する要素は、図２４において破線の矩形で囲まれている要素に一致する。
【００９０】
なお、ステップＳ１０４において生成された情報（図２２）と、ステップＳ１０５において特定されたゲートノードを示すメッセージ種別とは、関連付けられて制御情報記憶部１２２に記憶される。
【００９１】
続いて、制御情報を利用して実行されるメッセージの中継処理について説明する。図２６は、メッセージの中継処理の処理手順の一例を説明するためのフローチャートである。
【００９２】
通信中継部１１は、メッセージを受信すると（Ｓ２０１でＹｅｓ）、当該メッセージ（以下、「受信メッセージ」という。）のメッセージ種別に関して、ＱｏＳ制御が有効であるか否かを判定する（Ｓ２０２）。斯かる判定は、例えば、後述されるステップＳ２０５においてメモリ装置１０３に記憶される情報を参照して行うことができる。
【００９３】
受信メッセージのメッセージ種別に関してＱｏＳ制御が有効でない場合（Ｓ２０２でＮｏ）、通信中継部１１は、受信メッセージが、制御情報記憶部１２２に記憶されているいずれかの統合パターンの始点候補のメッセージ種別に属するメッセージであるか否かを判定する（Ｓ２０３）。制御情報記憶部１２２に記憶されているいずれかの統合パターンとは、例えば、図２２に示される情報である。統合パターンの始点候補のメッセージ種別とは、統合パターンに基づいて導出される有向グラフ（統合グラフ）において、始点となりうるノードに係るメッセージ種別をいう。図２２に示される統合パターンであれば、顔検知通知メッセージ及び音声通知メッセージが、始点候補のメッセージ種別に該当する。
【００９４】
受信メッセージのメッセージ種別が、いずれかの統合パターンの始点候補のメッセージ種別に該当する場合（Ｓ２０３でＹｅｓ）、通信中継部１１は、受信メッセージを宛先に中継する（Ｓ２０４）。例えば、宛先に対応する送出キューに対して、受信メッセージが投入される。なお、ステップＳ２０４において、受信メッセージの中継は、優先的に行われてもよい。すなわち、受信メッセージが、ＱｏＳ制御の対象とされてもよい。
【００９５】
続いて、通信中継部１１は、受信メッセージが属する統合パターンの最初のゲートノードまでに発生予定の各メッセージ種別に関して、ＱｏＳ制御を有効化する（Ｓ２０５）。例えば、該当するメッセージ種別が、ＱｏＳ制御の対象としてメモリ装置１０３に記憶される。なお、「最初のゲートノードまで」には、最初のゲートノードも含まれる。したがって、最初のゲートノードのメッセージ種別も、ＱｏＳ制御の対象としてメモリ装置１０３に記憶される。また、受信メッセージが属する統合パターン、又は当該統合パターンの識別情報が、ＱｏＳ制御が開始された統合パターンを示す情報として、メモリ装置１０３に記憶される。以下、ＱｏＳ制御が開始された統合パターンを「制御対象パターン」という。なお、「受信メッセージが属する統合パターン」とは、受信メッセージのメッセージ種別を始点候補とする統合パターンをいう。
【００９６】
一方、受信メッセージのメッセージ種別に関してＱｏＳ制御が有効である場合（Ｓ２０２でＹｅｓ）、通信中継部１１は、受信メッセージを優先的に宛先に中継する（Ｓ２０６）。すなわち、受信メッセージに関しては、ＱｏＳ制御が行われて、優先的に中継が行われる。
【００９７】
続いて、通信中継部１１は、受信メッセージのメッセージ種別が、受信メッセージの属する制御対象パターンにおいて終端のメッセージ種別であるか否かを判定する（Ｓ２０７）。受信メッセージの属する制御対象パターンとは、メモリ装置１０３に記憶されている制御対象パターンのうち、受信メッセージのメッセージ種別を含む制御対象パターンである。
【００９８】
受信メッセージのメッセージ種別が、終端のメッセージ種別である場合（Ｓ２０７でＹｅｓ）、通信中継部１１は、受信メッセージが属する制御対象パターンに関してＱｏＳ制御が有効化されているメッセージ種別について、ＱｏＳ制御を無効化する（Ｓ２０８）。例えば、ＱｏＳ制御の対象としてメモリ装置１０３に記憶されているメッセージ種別の中から、該当するメッセージ種別が削除される。また、当該制御対象パターンを示す情報も、メモリ装置１０３から削除される。
【００９９】
なお、終端のメッセージ種別が複数存在する場合も有る。この場合、例えば、通信中継部１１は、メッセージ履歴を参照して、全ての終端のメッセージ種別が発生したことが確認された場合に、ステップＳ２０８を実行してもよい。但し、統合パターンは、頻出パターンの論理和によって生成されるため、必ずしも全ての終端のメッセージ種別が発生するとは限らない。そこで、ステップＳ２０８では、現在時刻から一定時間経過後に、ステップＳ２０８に関して説明した処理が実行されるようにするためのタイマーが設定されてもよい。斯かるタイマーの期限は、ステップＳ２０７でＹｅｓとなるたびに初期化されてもよい。
【０１００】
受信メッセージのメッセージ種別が、終端のメッセージ種別でない場合（Ｓ２０７でＮｏ）、通信中継部１１は、受信メッセージのメッセージ種別が、受信メッセージの属する制御対象パターンにおいて、ゲートノードであるか否かを判定する（Ｓ２０９）。受信メッセージのメッセージ種別がゲートノードであるか否かは、制御情報記憶部１２２において、各統合パターンに関連付けられて記憶されているゲートノードに対応するメッセージ種別を参照することで判定することができる。
【０１０１】
受信メッセージのメッセージ種別が、ゲートノードである場合（Ｓ２０９でＹｅｓ）、通信中継部１１は、受信メッセージが属する制御対象パターンに関してＱｏＳ制御が有効化されているメッセージ種別について、ＱｏＳ制御を無効化する（Ｓ２１０）。例えば、ＱｏＳ制御の対象としてメモリ装置１０３に記憶されているメッセージ種別の中から、該当するメッセージ種別が削除される。
【０１０２】
続いて、通信中継部１１は、受信メッセージが属する制御対象パターンにおける当該ゲートノードの次のノードに対応するメッセージ種別から、次のゲートノード又は終端までに含まれるメッセージ種別について、ＱｏＳ制御を有効化する（Ｓ２１１）。すなわち、次のゲートノードが有る場合は、次のゲートノードまでのメッセージ種別がＱｏＳ制御の対象とされる。次のゲートノードが無い場合は、終端までのメッセージ種別がＱｏＳ制御の対象とされる。
【０１０３】
また、受信メッセージのメッセージ種別が、いずれの統合パターンについても始点候補のメッセージ種別に該当しない場合（Ｓ２０３でＮｏ）、通信中継部１１は、受信メッセージを宛先に中継する（Ｓ２１２）。この際、受信メッセージは、ＱｏＳ制御の対象とされない。
【０１０４】
続いて、図２６において説明した処理手順に、具体例を当てはめて説明する。ここでは、サービスＹに関して、図２７に示される統合パターンが生成され、当該統合パターンが、制御情報として制御情報記憶部１２２に記憶されていることとする。
【０１０５】
図２７は、中継処理を説明するための統合パターンを示す図である。図２７には、統合パターンに係る行列が示されている。当該行列において、メッセージ種別は、Ａ〜Ｈとして抽象化されている。また、図２７の下方には、当該行列に係る統合パターンを示す有向グラフ（統合グラフ）が示されている。
【０１０６】
図２７に示される統合パターンでは、次のことが示されている。サービスＹに関しては、メッセージ種別Ａ、メッセージ種別Ｂ、メッセージ種別Ｃの全てが順不同に発生した後、メッセージ種別Ｄが発生する。メッセージ種別Ｄに続いてメッセージ種別Ｅが発生する。メッセージ種別Ｅが発生した後、メッセージ種別Ｆ、メッセージ種別Ｇ、及びメッセージ種別Ｈが順不同に発生する。なお、当該統合パターンにおいて、ゲートノードは、メッセージ種別Ｄ及びメッセージ種別Ｅである。
【０１０７】
また、個々のメッセージの発生順（通信中継サーバ１０における個々のメッセージの受信順）は、図２８に示される通りであるとする。図２８は、中継処理を説明するためのメッセージの発生順を示す図である。図２８には、メッセージの発生順に、タイムスタンプと、メッセージ種別とが示されている。なお、図２８において、下方のメッセージほど、新しいメッセージである。
【０１０８】
サービスＹに関する始点の候補は、図２７に示される統合パターンより、メッセージ種別Ａ、メッセージ種別Ｂ、及びメッセージ種別Ｃである。したがって、各メッセージ種別が、図２８に示される順番で発生する場合において、通信中継部１１は、メッセージ種別Ａに該当するメッセージｍ１を受信すると、ステップＳ２０４及びＳ２０５を実行する。サービスＹに関して、最初のゲートノードは、メッセージ種別Ｄである。したがって、メッセージ種別Ｂ、メッセージ種別Ｃ、及びメッセージ種別Ｄに関して、ＱｏＳ制御が有効化される。最初のゲートノードであるメッセージ種別Ｄまでのメッセージ種別が、メッセージ種別Ｂ及びメッセージ種別Ｃであることは、例えば、図２７に示される行列のメッセージ種別Ｄの列において、値が１である要素の行に配置されているメッセージ種別を特定し、特定されたメッセージ種別に関して、同様の処理を再帰的に繰り返すことにより特定することができる。
【０１０９】
したがって、その後、メッセージ種別Ｃに該当するメッセージｍ２、メッセージ種別Ｂに該当するメッセージｍ３、又はメッセージ種別Ｄに該当するメッセージｍ４が受信されると、通信中継部１１は、ステップＳ２０６を実行する。その結果、メッセージｍ２、メッセージｍ３、及びメッセージｍ４は、優先的に中継される。また、メッセージｍ４のメッセージ種別は、ゲートノードに該当する。したがって、メッセージｍ４が受信された場合、通信中継部１１は、更に、ステップＳ２１０及びＳ２１１を実行する。ステップＳ２１０の実行の結果、メッセージ種別Ｂ、メッセージ種別Ｃ、及びメッセージ種別Ｄに関するＱｏＳ制御は無効化される。また、ステップＳ２１１の実行によって、次のゲートノードまでのメッセージ種別であるメッセージ種別Ｅに関して、ＱｏＳ制御が有効化される。メッセージ種別Ｄの次のゲートノードまでのメッセージ種別は、図２７に示される行列のメッセージ種別Ｄの行において、値が１である要素の列に配置されているメッセージ種別を特定し、特定されたメッセージ種別に関して、同様の処理を再帰的に繰り返すことにより特定することができる。再帰的な繰り返しは、次のゲートノード（ここでは、メッセージ種別Ｅ）又は終端が特定されるまで行われる。なお、図２７の例では、再帰的な繰り返しが行われる前にメッセージ種別Ｅが特定される。
【０１１０】
したがって、その後、メッセージ種別Ｅに該当するメッセージｍ５が受信されると、通信中継部１１は、ステップＳ２０６を実行する。その結果、メッセージｍ５は、優先的に中継される。また、メッセージｍ５のメッセージ種別は、ゲートノードに該当するため、通信中継部１１は、更に、ステップＳ２１０及びＳ２１１を実行する。ステップＳ２１０の実行の結果、メッセージ種別Ｅに関するＱｏＳ制御は無効化される。また、ステップＳ２１１の実行によって、メッセージ種別Ｆ、メッセージ種別Ｇ、及びメッセージ種別Ｈに関して、ＱｏＳ制御が有効化される。すなわち、メッセージ種別Ｅの後には、ゲートノードは無いため、終端までのメッセージ種別が有効化される。終端までのメッセージ種別の特定方法は、メッセージ種別Ｄの次のゲートノードまでのメッセージ種別の特定方法と同様でよい。
【０１１１】
したがって、メッセージ種別Ｆに該当するメッセージｍ６が受信されると、通信中継部１１は、ステップＳ２０６を実行する。その結果、メッセージｍ６は、優先的に中継される。また、メッセージｍ６のメッセージ種別は、終端のメッセージ種別である。したがって、通信中継部１１は、更に、ステップＳ２０８を実行する。但し、それぞれ終端に該当するメッセージ種別Ｈ及びメッセージ種別Ｇは、まだ受信されていない。斯かる状況は、メッセージ履歴に基づいて特定可能である。したがって、この場合、ステップＳ２０８の実行は回避されてもよい。そうすることにより、メッセージｍ７及びメッセージｍ８についても、ステップＳ２０６の実行対象とすることができる。その結果、メッセージｍ７及びメッセージｍ８は、優先的に中継される。メッセージｍ８が受信された時点で、メッセージ種別Ｆ、メッセージ種別Ｇ、及びメッセージ種別Ｈの全てが中継されたことがメッセージ履歴から特定されるため、通信中継部１１は、ステップＳ２０８を実行する。その結果、メッセージ種別Ｆ、メッセージ種別Ｇ、及びメッセージ種別Ｈに関するＱｏＳ制御は無効化される。
【０１１２】
又は、メッセージｍ６に関してステップＳ２０８が実行される際に、現在時刻から一定時間経過後に、メッセージ種別Ｆ、メッセージ種別Ｇ、及びメッセージ種別Ｈに関するＱｏＳ制御が無効化されるように、通信中継部１１は、タイマーを設定してもよい。斯かるタイマーは、メッセージｍ７及びメッセージｍ８が受信されるたびに設定し直されてもよい。又は、メッセージｍ７及びメッセージｍ８が受信された際は、タイマーの設定は行われなくてもよい。
【０１１３】
上述したように、本実施の形態によれば、特定のサービスに関する通信メッセージの発生順序に関する複数種類のパターンに基づいて、ゲートノードが特定され、ゲートノードに係るメッセージ種別のメッセージの発生前後において、ＱｏＳ制御の対象とされるメッセージ種別が切り替えられる。すなわち、当該サービスの通信手順の全部が終了するまでの期間において、当該サービスに関する全てのメッセージ種別の中継が優先される可能性を低下させることができる。その結果、特定の通信の中継を優先させることによる他の通信への影響を低減することができる。
【０１１４】
なお、本実施の形態において、パターン抽出部１２は、抽出部の一例である。ゲートノード特定部１４は、特定部の一例である。通信中継部１１は、中継部の一例である。通信中継サーバ１０は、中継装置の一例である。頻出パターンは、発生パターンの一例である。
【０１１５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１１６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出する抽出部と、
抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定する特定部と、
通信メッセージを中継する際に、前記特定部によって特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える中継部と、
を有することを特徴とする中継装置。
（付記２）
前記中継部は、前記第一の通信メッセージが発生する前においては、前記複数のパターンにおいて前記第一の通信メッセージより前に発生する通信メッセージ群を優先的に中継する対象とし、前記第一の通信メッセージが発生した後においては、前記複数のパターンにおいて前記第一の通信メッセージより後に発生する通信メッセージ群を優先的に中継する対象とする、
ことを特徴とする付記１記載の中継装置。
（付記３）
コンピュータが、
通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出し、
抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定し、
通信メッセージを中継する際に、前記特定する処理において特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える、
処理を実行することを特徴とする中継方法。
（付記４）
前記中継する処理は、前記第一の通信メッセージが発生する前においては、前記複数のパターンにおいて前記第一の通信メッセージより前に発生する通信メッセージ群を優先的に中継する対象とし、前記第一の通信メッセージが発生した後においては、前記複数のパターンにおいて前記第一の通信メッセージより後に発生する通信メッセージ群を優先的に中継する対象とする、
ことを特徴とする付記３記載の中継方法。
（付記５）
コンピュータに、
通信メッセージの履歴から、通信メッセージの発生順序について複数のパターンを抽出し、
抽出された複数のパターンに共通に含まれる通信メッセージの中で、前記複数のパターンにおいて当該通信メッセージの前に発生する通信メッセージ群と、前記複数のパターンにおいて当該通信メッセージの後に発生する通信メッセージ群との間に重複が無い第一の通信メッセージを特定し、
通信メッセージを中継する際に、前記特定する処理において特定された第一の通信メッセージの発生前後において優先的に中継する通信メッセージを切り替える、
処理を実行させるプログラム。
（付記６）
前記中継する処理は、前記第一の通信メッセージが発生する前においては、前記複数のパターンにおいて前記第一の通信メッセージより前に発生する通信メッセージ群を優先的に中継する対象とし、前記第一の通信メッセージが発生した後においては、前記複数のパターンにおいて前記第一の通信メッセージより後に発生する通信メッセージ群を優先的に中継する対象とする、
ことを特徴とする請求項５記載のプログラム。
【符号の説明】
【０１１７】
１            通信システム
１０          通信中継サーバ
１１          通信中継部
１２          パターン抽出部
１３          パターン統合部
１４          ゲートノード特定部
２０        通信クライアント
２１          顔検知センサ
２２          距離センサ
２３          センサ管理サーバ
２４          サイネージ管理サーバ
２５          ディスプレイ
２６          スピーカ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        通信履歴記憶部
１２２        制御情報記憶部
Ｂ            バス
【図１】
2016032162.tif 000003
【図２】
2016032162.tif 000004
【図３】
2016032162.tif 000005
【図４】
2016032162.tif 000006
【図５】
2016032162.tif 000007
【図６】
2016032162.tif 000008
【図７】
2016032162.tif 000009
【図８】
2016032162.tif 000010
【図９】
2016032162.tif 000011
【図１０】
2016032162.tif 000012
【図１１】
2016032162.tif 000013
【図１２】
2016032162.tif 000014
【図１３】
2016032162.tif 000015
【図１４】
2016032162.tif 000016
【図１５】
2016032162.tif 000017
【図１６】
2016032162.tif 000018
【図１７】
2016032162.tif 000019
【図１８】
2016032162.tif 000020
【図１９】
2016032162.tif 000021
【図２０】
2016032162.tif 000022
【図２１】
2016032162.tif 000023
【図２２】
2016032162.tif 000024
【図２３】
2016032162.tif 000025
【図２４】
2016032162.tif 000026
【図２５】
2016032162.tif 000027
【図２６】
2016032162.tif 000028
【図２７】
2016032162.tif 000029
【図２８】
2016032162.tif 000030