(57)【特許請求の範囲】
【請求項１】
特定の時点又は期間においてサーバとの通信が確立されたクライアント端末を識別する端末識別情報を取得する識別情報取得部と、
前記識別情報取得部が取得した端末識別情報で識別されるクライアント端末から送信されたパケットを、前記特定の時点又は期間において前記サーバとの通信が確立されていない他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるべく、前記サーバと、前記サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する前記転送条件を変更する転送条件変更部と、
を備え、
前記転送条件は、パケットを識別するパケット識別情報と、前記パケット識別情報で識別されるパケットの処理方法を規定する情報とが対応付けられた情報を含む、
転送条件変更装置。
【請求項２】
ネットワークを介して前記ノードが保持する前記転送条件を設定するノード制御装置をさらに備え、
前記転送条件変更部は、
前記識別情報取得部が取得した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるための新たな転送条件を生成し、
前記新たな転送条件を前記ノード制御装置に送信し、
前記ノード制御装置は、前記転送条件変更部から受信した前記新たな転送条件を、前記ノードの前記転送条件として設定する、
請求項１に記載の転送条件変更装置。
【請求項３】
サーバと、前記サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する前記転送条件の少なくとも一部を、ユーザのライフログ情報に関する予め定められた条件に対応づけて格納するライフログ条件格納部と、
１以上のクライアント端末のユーザのそれぞれのライフログ情報を、前記１以上のクライアント端末のそれぞれを識別する端末識別情報に対応づけて格納するライフログ情報格納部を参照して、前記予め定められた条件に一致するライフログ情報に対応づけて格納されている端末識別情報を特定する識別情報特定部と、
前記識別情報特定部が特定した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるべく、前記ノードが保持する前記転送条件を変更する転送条件変更部と、
を備える、転送条件変更装置。
【請求項４】
ネットワークを介して前記ノードが保持する前記転送条件を設定するノード制御装置をさらに備え、
前記転送条件変更部は、
前記識別情報特定部が特定した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるための新たな転送条件を生成し、
前記新たな転送条件を前記ノード制御装置に送信し、
前記ノード制御装置は、前記転送条件変更部から受信した前記新たな転送条件を、前記ノードの前記転送条件として設定する、
請求項３に記載の転送条件変更装置。
【請求項５】
前記サーバの負荷を監視し、前記サーバの負荷が予め定められた値よりも大きいと判断した場合に、前記転送条件変更部に対して、転送条件の変更を要求する変更要求を送信する負荷監視部をさらに備え、
前記転送条件変更部は、前記負荷監視部からの前記変更要求を受信した場合に、前記ノードが保持する前記転送条件を変更する、
請求項１から請求項４までの何れか一項に記載の転送条件変更装置。
【請求項６】
サーバとの通信が確立されたクライアント端末を識別する端末識別情報を取得する識別情報取得部と、
前記サーバと、前記サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する前記転送条件を変更する転送条件変更部と、
前記サーバの負荷を監視し、前記サーバの負荷が予め定められた値よりも大きいと判断した場合に、前記転送条件変更部に対して、前記転送条件の変更を要求する変更要求を送信する負荷監視部と、
を備え、
前記転送条件変更部は、前記負荷監視部からの前記変更要求を受信した場合に、新たな転送条件を生成し、
前記新たな転送条件は、前記負荷監視部からの前記変更要求を受信した時点において前記サーバとの通信が確立されているクライアント端末から送信されたパケットを識別するパケット識別情報と、前記パケット識別情報で識別されるパケットの優先度を、他のクライアント端末から送信されたパケットよりも高くすることを規定する情報とが対応付けられた情報を含み、
前記転送条件変更部は、前記パケット識別情報で識別されるパケットを、前記他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるべく、前記ノードが保持する前記転送条件を変更する、
転送条件変更装置。
【請求項７】
ネットワークを介して前記ノードが保持する前記転送条件を設定するノード制御装置をさらに備え、
前記転送条件変更部は、
前記新たな転送条件を前記ノード制御装置に送信し、
前記ノード制御装置は、前記転送条件変更部から受信した前記新たな転送条件を、前記ノードの前記転送条件として設定する、
請求項６に記載の転送条件変更装置。
【請求項８】
コンピュータを、請求項１から請求項７までの何れか一項に記載の転送条件変更装置として機能させるためのプログラム。
【請求項９】
請求項１から請求項７までの何れか一項に記載の転送条件変更装置と、
前記サーバと、
を備え、
前記サーバは、ネットワークを介して前記クライアント端末に情報を提供する、
情報提供システム。
【請求項１０】
特定の時点又は期間においてサーバとの通信が確立されたクライアント端末を識別する端末識別情報を取得する段階と、
取得された端末識別情報で識別されるクライアント端末から送信されたパケットを、前記特定の時点又は期間において前記サーバとの通信が確立されていない他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるべく、前記サーバと、前記サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する前記転送条件を変更する段階と、
を有する、転送条件変更方法。
【請求項１１】
サーバとの通信が確立されたクライアント端末を識別する端末識別情報を取得する段階と、
前記サーバと、前記サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する前記転送条件を変更する段階と、
前記サーバの負荷を監視し、前記サーバの負荷が予め定められた値よりも大きいと判断した場合に、前記転送条件の変更を要求する変更要求を送信する段階と、
を有し、
前記転送条件を変更する段階は、前記変更要求を受信した場合に、新たな転送条件を生成する段階を含み、
前記新たな転送条件は、前記変更要求を受信した時点において前記サーバとの通信が確立されているクライアント端末から送信されたパケットを識別するパケット識別情報と、前記パケット識別情報で識別されるパケットの優先度を、他のクライアント端末から送信されたパケットよりも高くすることを規定する情報とが対応付けられた情報を含み、
前記転送条件を変更する段階は、前記パケット識別情報で識別されるパケットを、前記他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるべく、前記ノードが保持する前記転送条件を変更する段階を含む、
転送条件変更方法。
【請求項１２】
サーバと、前記サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する前記転送条件の少なくとも一部を、ユーザのライフログ情報に関する予め定められた条件に対応づけて格納する段階と、
１以上のクライアント端末のユーザのそれぞれのライフログ情報を、前記１以上のクライアント端末のそれぞれを識別する端末識別情報に対応づけて格納するライフログ情報格納部を参照して、前記予め定められた条件に一致するライフログ情報に対応づけて格納されている端末識別情報を特定する段階と、
特定された端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に前記サーバに転送させるべく、前記ノードが保持する前記転送条件を変更する段階と、
を有する、転送条件変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送条件変更装置、プログラム、情報提供システム及び転送条件変更方法に関する。
【背景技術】
【０００２】
オープンフロー（プログラマブルフローと称される場合もある。）技術を利用して、サーバの負荷を分散させるシステムが知られている（例えば、特許文献１を参照。）。
（先行技術文献）
（特許文献）
（特許文献１）特開２０１１−１７０７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
複数のサーバの間で負荷を分散させた場合であっても、負荷がシステムの能力を超える場合がある。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、サーバとの通信が確立されたクライアント端末を識別する端末識別情報を取得する識別情報取得部と、識別情報取得部が取得した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的にサーバに転送させるべく、サーバと、サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する転送条件を変更する転送条件変更部とを備える転送条件変更装置が提供される。
【０００５】
本発明の第２の態様においては、サーバと、サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する転送条件の少なくとも一部を、ユーザのライフログ情報に関する予め定められた条件に対応づけて格納するライフログ条件格納部と、１以上のクライアント端末のユーザのそれぞれのライフログ情報を、１以上のクライアント端末のそれぞれを識別する端末識別情報に対応づけて格納するライフログ情報格納部を参照して、予め定められた条件に一致するライフログ情報に対応づけて格納されている端末識別情報を特定する識別情報特定部と、識別情報特定部が特定した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的にサーバに転送させるべく、ノードが保持する転送条件を変更する転送条件変更部とを備える転送条件変更装置が提供される。
【０００６】
本発明の第３の態様においては、コンピュータを、上記の転送条件変更装置として機能させるためのプログラムが提供される。本発明の第４の態様においては、上記の転送条件変更装置と、サーバとを備え、サーバは、ネットワークを介してクライアント端末に情報を提供する情報提供システムが提供される。
【０００７】
本発明の第５の態様においては、サーバとの通信が確立されたクライアント端末を識別する端末識別情報を取得する段階と、取得された端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的にサーバに転送させるべく、サーバと、サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する転送条件を変更する段階とを有する転送条件変更方法が提供される。
【０００８】
本発明の第６の態様においては、サーバと、サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する転送条件の少なくとも一部を、ユーザのライフログ情報に関する予め定められた条件に対応づけて格納する段階と、１以上のクライアント端末のユーザのそれぞれのライフログ情報を、１以上のクライアント端末のそれぞれを識別する端末識別情報に対応づけて格納するライフログ情報格納部を参照して、予め定められた条件に一致するライフログ情報に対応づけて格納されている端末識別情報を特定する段階と、特定された端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的にサーバに転送させるべく、ノードが保持する転送条件を変更する段階とを有する転送条件変更方法が提供される。
【０００９】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１０】
【図１】情報提供システム１００の一例を概略的に示す。
【図２】情報提供サーバ１１０の一例を概略的に示す。
【図３】ノード制御装置１３０のフローテーブル３００の一例を示す。
【図４】ノード１２０のフローテーブル４００の一例を示す。
【図５】ライフログ条件格納部２４２に格納されるテーブル５００の一例を示す。
【図６】ライフログ条件格納部２４２に格納されるテーブル６００の一例を示す。
【図７】ライフログサーバ１１４に格納されるテーブル７００の一例を示す。
【図８】ライフログサーバ１１４に格納されるテーブル８００の一例を示す。
【図９】ライフログサーバ１１４に格納されるテーブル９００の一例を示す。
【図１０】情報提供システム１００の動作の一例を概略的に示す。
【図１１】情報提供システム１００の動作の他の例を概略的に示す。
【図１２】情報提供システム１２００の一例を概略的に示す。
【発明を実施するための形態】
【００１１】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【００１２】
図１は、情報提供システム１００の一例を概略的に示す。情報提供システム１００は、情報提供サーバ１１０と、認証サーバ１１２と、ライフログサーバ１１４と、ノード１２０と、ノード制御装置１３０とを備える。情報提供システム１００及び情報提供サーバ１１０は、転送条件変更装置の一例であってよい。ライフログサーバ１１４は、ライフログ情報格納部の一例であってよい。
【００１３】
情報提供サーバ１１０、認証サーバ１１２、ライフログサーバ１１４、ノード１２０及びノード制御装置１３０のそれぞれは、一般的な構成の情報処理装置において、情報提供サーバ１１０、認証サーバ１１２、ライフログサーバ１１４、ノード１２０及びノード制御装置１３０のそれぞれの各部の動作を規定したソフトウエアを起動することにより実現されてよい。上記の情報処理装置は、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インターフェース等を有するデータ処理装置と、キーボード、タッチパネル、マイクなどの入力装置と、表示装置、スピーカなどの出力装置と、メモリ、ＨＤＤなどの記憶装置とを備えてよい。
【００１４】
情報提供サーバ１１０、認証サーバ１１２、ライフログサーバ１１４、ノード１２０及びノード制御装置１３０のそれぞれは仮想サーバまたはクラウドシステムであってもよい。また、情報提供サーバ１１０、認証サーバ１１２、ライフログサーバ１１４、ノード１２０及びノード制御装置１３０のそれぞれの機能が、複数のサーバによって実現されていてもよい。
【００１５】
本実施形態においては、情報提供システム１００及び情報提供システム１００の各部が仮想サーバ上に構築される場合を例として、情報提供システム１００及び情報提供システム１００の各部について説明する。しかし、情報提供システム１００は本実施形態に限定されない。情報提供サーバ１１０、認証サーバ１１２、ライフログサーバ１１４及びノード制御装置１３０のそれぞれは、物理的に異なる情報処理装置上に構築されてもよく、ノード１２０は、物理的なスイッチであってもよい。
【００１６】
本実施形態において、情報提供サーバ１１０は、通信ネットワーク１０及びノード１２０を介して、クライアント端末２０及びクライアント端末２２のそれぞれと情報を送受する。情報提供サーバ１１０、認証サーバ１１２、ライフログサーバ１１４、ノード１２０及びノード制御装置１３０は、通信ネットワーク１２を介して、お互いに情報を送受する。
【００１７】
通信ネットワーク１０及び通信ネットワーク１２のそれぞれは、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、それらの組み合わせであってもよい。通信ネットワーク１０及び通信ネットワーク１２のそれぞれは、インターネット、専用回線、無線パケット通信網又はそれらの組み合わせであってもよい。
【００１８】
クライアント端末２０及びクライアント端末２２のそれぞれは、通信ネットワーク１０、ノード１２０及び通信ネットワーク１２を介して、情報提供サーバ１１０と通信可能に接続される。クライアント端末２０及びクライアント端末２２のそれぞれは、情報提供サーバ１１０と情報を送受できる装置であればよく、Ｗｅｂブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末（ＰＤＡ、タブレット又はノートブック・コンピュータ若しくはラップトップ・コンピュータなどを例示することができる。）、無線端末などであってよい。
【００１９】
クライアント端末２０及びクライアント端末２２のそれぞれは、一般的な構成の情報処理装置において、クライアント端末２０及びクライアント端末２２のそれぞれの各部の動作を規定したソフトウエアを起動することにより実現されてよい。上記の情報処理装置は、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インターフェース等を有するデータ処理装置と、キーボード、タッチパネル、マイク、ＧＰＳ情報取得装置、加速度センサ、ジャイロセンサなどの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、ＨＤＤなどの記憶装置とを備えてよい。クライアント端末２０及びクライアント端末２２のそれぞれは、物理的に同一の情報処理装置上で動作し、それぞれ異なるポート番号で識別されるアプリケーションであってもよい。
【００２０】
情報提供システム１００は、通信ネットワーク１０を介して、クライアント端末２０及びクライアント端末２２の少なくとも一方に情報を提供する。情報提供システム１００は、情報提供サーバ１１０と通信が確立されたクライアント端末に情報を提供することで、当該クライアント端末のユーザにサービスを提供する。
【００２１】
情報提供サーバ１１０は、通信ネットワーク１０、ノード１２０及び通信ネットワーク１２を介して、クライアント端末２０及びクライアント端末２２の少なくとも一方に情報を提供する。情報提供サーバ１１０は、ノード１２０の転送動作を制御してよい。情報提供サーバ１１０は、ノード１２０の転送動作を規定する転送条件を変更することで、ノード１２０の転送動作を制御してよい。
【００２２】
情報提供サーバ１１０は、ノード制御装置１３０を介して、ノード１２０の転送動作を制御してもよい。例えば、情報提供サーバ１１０は、情報提供サーバ１１０の負荷状況又は情報提供サーバ１１０が提供するサービスに応じて、ノード１２０の転送動作を規定する転送条件を新たに生成して、生成した新たな転送条件をノード制御装置１３０に送信する。情報提供サーバ１１０は、送信した新たな転送条件をノード１２０の転送条件として設定するようノード制御装置１３０に要求する。これにより、情報提供サーバ１１０は、ノード１２０の転送条件を動的に更新することができる。
【００２３】
例えば、情報提供サーバ１１０は、ノード１２０の転送動作を制御して、クライアント端末２０から送信されたパケットを、クライアント端末２２から送信されたパケットより優先的に情報提供サーバ１１０に転送させる。一実施形態において、クライアント端末２０と情報提供サーバ１１０との間の通信は既に確立されており、クライアント端末２２と情報提供サーバ１１０との間の通信はまだ確立されていない場合、情報提供サーバ１１０は、ノード１２０の転送動作を制御して、クライアント端末２０から送信されたパケットを、クライアント端末２２から送信されたパケットより優先的にサーバに転送させる。これにより、例えば、情報提供サーバ１１０の負荷が大きい場合あっても、既に情報提供サーバ１１０との通信を確立しているクライアント端末２０とのセッションを安定的に維持することができる。
【００２４】
他の実施形態において、クライアント端末２０及びクライアント端末２２のそれぞれのユーザのライフログ情報と、予め定められたライフログ情報に関する条件とを比較すると、クライアント端末２０のユーザのライフログ情報は当該条件に一致し、クライアント端末２２のユーザのライフログ情報は当該条件に一致しない場合、情報提供サーバ１１０は、ノード１２０の転送動作を制御して、クライアント端末２０から送信されたパケットを、クライアント端末２２から送信されたパケットより優先的にサーバに転送させる。
【００２５】
これにより、ユーザのライフログ情報に応じて、情報提供サーバ１１０へのアクセスを制御することができる。その結果、情報提供サーバ１１０が提供するサービスに応じて、情報提供サーバ１１０へのアクセスを制御することができる。例えば、情報提供サーバ１１０が鉄道のチケットを予約するサービスを提供する場合、情報提供サーバ１１０は、駅の近くに存在するユーザのクライアント端末から送信されたパケットが優先的に情報提供サーバ１１０に転送されるように、ノード１２０を制御することができる。
【００２６】
認証サーバ１１２は、情報提供サーバ１１０が提供するサービスのユーザのユーザ認証を実行する。本実施形態において、認証サーバ１１２は、情報提供サーバ１１０からの要求に応じて、情報提供サーバ１１０との通信が確立されたクライアント端末のユーザが、情報提供サーバ１１０が提供するサービスの正当なユーザであるか否かを判断する（当該判断は、ユーザ認証と称される場合がある。）。認証サーバ１１２は、情報提供サーバ１１０から、情報提供サーバ１１０との通信が確立されたクライアント端末のユーザのユーザＩＤ及びパスワードを受信し、受信したユーザＩＤ及びパスワードに基づいて、ユーザ認証を実行してよい。
【００２７】
ライフログサーバ１１４は、１以上のクライアント端末のユーザのそれぞれのライフログ情報を、１以上のクライアント端末のそれぞれを識別する端末識別情報に対応づけて格納する。１以上のクライアント端末のユーザのそれぞれのライフログ情報は、それぞれのユーザを識別するユーザ識別情報を介して、１以上のクライアント端末のそれぞれを識別する端末識別情報と対応づけられてよい。
【００２８】
例えば、ライフログサーバ１１４は、特定のデータベースに、１以上のクライアント端末のユーザのそれぞれのライフログ情報と、ユーザ識別情報とを対応付けて格納する。また、ライフログサーバ１１４は、他のデータベースに、ユーザ識別情報と、当該ユーザ識別情報で識別されるユーザのクライアント端末の端末識別情報とを対応付けて格納する。ライフログサーバ１１４は、２つのデータベースを参照することで、ユーザ識別情報を介して、ライフログ情報と端末識別情報とを対応付けることができる。
【００２９】
端末識別情報は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ１からレイヤ４のアドレス、識別子又はそれらの組み合わせであってよい。例えば、クライアント端末２０又はクライアント端末２２が携帯端末である場合、端末識別情報は、個体識別情報と呼ばれることもあり、通信キャリアにより契約者情報と対応付けられて、端末を識別する情報であってもよい。上記の契約情報と対応付けられた情報は、キャリア・オープンＩＤと称される場合があり、通信キャリアによっては、ｕｉｄ、サブスクライバＩＤ、ｉモード（登録商標）ＩＤなどと称される場合がある。
【００３０】
ライフログ情報は、ユーザの生活、行動又は体験をデジタルデータとして記録した情報であり、クライアント端末の現在の位置情報、クライアント端末の移動履歴、ユーザのスケジュール情報、Ｗｅｂサイトの閲覧履歴、Ｗｅｂサイトの検索履歴、商品又はサービスの購入履歴、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）のアカウントに関連付けられた情報、ＧメールなどのＷｅｂメールサービスのアカウントに関連付けられた情報などを例示することができる。
【００３１】
ノード１２０は、パケットを受信して、受信したパケットを転送する。本実施形態において、ノード１２０は、情報提供サーバ１１０と、情報提供サーバ１１０にアクセスするクライアント端末２０又はクライアント端末２２との間で、パケットを転送する。ノード１２０は、ノード１２０の転送動作を規定する転送条件に従って、パケットを転送してよい。ノード１２０は、受信したパケットを識別し、受信したパケットに適合する転送条件に従って、当該パケットを転送してよい。
【００３２】
ノード１２０は、転送条件（ルーティングポリシー、フローエントリなどと称される場合がある。）を規定したテーブルを保持してよい。転送条件は、パケットを識別するパケット識別情報と、パケット識別情報で識別されるパケットの処理方法を規定する情報とが対応付けられた情報を含んでよい。転送条件は、転送条件のそれぞれを識別する転送条件識別情報と、転送条件識別情報で識別される転送条件が適用されるノードを識別するノード識別情報と、パケットを識別するパケット識別情報と、パケット識別情報で識別されるパケットの処理方法を規定する情報とが対応付けられた情報であってもよい。
【００３３】
ノード１２０の転送条件は、通信ネットワーク１２を介して、ノード制御装置１３０によって設定されてよい。ノード１２０は、ハードウエアスイッチであってもよく、ソフトウエアスイッチであってもよい。ノード１２０は、ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈであってもよく、Ｏｐｅｎ  ｖＳｗｉｔｃｈであってもよい。
【００３４】
ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈは、ＯｐｅｎＦｌｏｗ  Ｃｏｎｓｏｒｔｉｕｍによって提案されているオープンフロー技術に対応したネットワークスイッチである。オープンフロー技術は、コンピュータネットワークを構成する複数のスイッチのそれぞれの転送動作などを外部のコントローラによって一元的に制御する技術である。Ｏｐｅｎ  ｖＳｗｉｔｃｈは、ソフトウエアスイッチの一種であり、仮想的なＯｐｅｎＦｌｏｗ Ｓｗｉｔｃｈである。
【００３５】
ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈは、転送条件の一例であるフローエントリを格納したフローテーブルを参照して、フローエントリに従って動作する。フローエントリは、処理対象とするパケットを特定する「ルール」と、「ルール」に合致したパケットに対して行う動作を規定する「アクション」との組み合わせとして規定される。フローエントリは、外部のコントローラによって設定又は削除される。なお、フローテーブルには、フロー毎のＱｏＳ、暗号化に関する情報などが定義されてもよい。
【００３６】
「ルール」としては、例えば、ＴＣＰ／ＩＰのパケットデータにおけるヘッダ情報に含まれるＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ１からレイヤ４のアドレス、識別子又はそれらの組み合わせを指定することができる。例えば、レイヤ１の物理ポート、レイヤ２のＭＡＣアドレス、レイヤ３のＩＰアドレス、レイヤ４のポート番号、ＶＬＡＮタグ（ＶＬＡＮ  ＩＤと称される場合がある。）、又は、それらの組み合わせが指定される。ＶＬＡＮタグには、優先順位が付与されてもよい。「アクション」としては、他ポートへの転送、ヘッダの書き換え、パケットの破棄などの動作を指定することができる。
【００３７】
本実施形態においては、ノード１２０が、情報提供サーバ１１０と、通信ネットワーク１０との間に配され、ノード１２０が、情報提供サーバ１１０と、クライアント端末２０又はクライアント端末２２との間で、パケットを転送する場合について説明した。しかし、ノード１２０の配置は本実施形態に限定されない。ノード１２０は、通信ネットワーク１０と、クライアント端末２０又はクライアント端末２２との間に配され、情報提供サーバ１１０と、クライアント端末２０又はクライアント端末２２との間で、パケットを転送してもよい。
【００３８】
ノード制御装置１３０は、ノード１２０を制御する。ノード制御装置１３０は、通信ネットワーク１２を介して、ノード１２０の転送動作を制御してよい。例えば、ノード制御装置１３０は、情報提供サーバ１１０から、ノード１２０の転送条件を更新する旨の要求と、新たな転送条件に関する情報とを受信する。ノード制御装置１３０は、情報提供サーバ１１０から受け取った情報に基づいて、ノード１２０が保持する転送条件を更新するためのデータを生成する。ノード制御装置１３０は、生成したデータをノード１２０に送信して、ノード１２０の転送条件を設定する。
【００３９】
図２は、情報提供サーバ１１０の一例を概略的に示す。情報提供サーバ１１０は、情報提供部２１０と、アクセス制御部２２０とを備える。アクセス制御部２２０は、識別情報取得部２３０と、識別情報特定部２４０と、ライフログ条件格納部２４２と、転送条件変更部２５０と、負荷監視部２５２とを有する。
【００４０】
情報提供部２１０は、クライアント端末２０又はクライアント端末２２の要求に応じて、情報を提供する。アクセス制御部２２０は、クライアント端末２０及びクライアント端末２２からの情報提供サーバ１１０へのアクセスを制御する。アクセス制御部２２０は、転送条件変更装置の一例であってよい。
【００４１】
識別情報取得部２３０は、情報提供サーバ１１０との通信が確立されたクライアント端末を識別する端末識別情報を取得する。端末識別情報は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ１からレイヤ４のアドレス、識別子又はそれらの組み合わせであってよい。例えば、一実施形態において、識別情報取得部２３０は、クライアント端末２０又はクライアント端末２２のＩＰアドレスを取得する。また、他の実施形態において、クライアント端末２０又はクライアント端末２２のＩＰアドレス及びポート番号を取得する。識別情報取得部２３０は、取得した端末識別情報を、転送条件変更部２５０に送信する。
【００４２】
識別情報特定部２４０は、ライフログサーバ１１４に格納されたユーザ又はクライアント端末毎のライフログ情報を参照して、予め定められた条件に一致するライフログ情報に対応づけて格納されている端末識別情報を特定する。識別情報特定部２４０は、特定した端末識別情報を、転送条件変更部２５０に送信する。
【００４３】
例えば、識別情報特定部２４０は、まず、ライフログ条件格納部２４２に格納されている、ユーザのライフログ情報に関する条件（ライフログ条件と称される場合がある。）を取得する。次に、識別情報特定部２４０は、取得した条件をライフログサーバ１１４に送信して、当該条件に一致するライフログ情報に対応付けられた端末識別情報を抽出するように要求する。識別情報特定部２４０は、ライフログサーバ１１４から抽出結果を受信することで、上記の条件に一致するライフログ情報に対応付けられた端末識別情報を特定することができる。
【００４４】
ライフログ条件格納部２４２は、ノード１２０が保持する転送条件の少なくとも一部を、ライフログ条件に対応づけて格納する。例えば、ノード１２０がＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈである場合、ライフログ条件格納部２４２は、フローエントリの「アクション」に関する情報と、ユーザのライフログ情報に関する予め定められた条件とを対応付けて格納する。ライフログ条件としては、ユーザの現在位置が特定の範囲内であるという条件、ユーザが特定の商品又はサービスを購入したことがあるという条件、ライフログ情報の更新頻度が特定の値よりも大きいという条件などを例示することができる。
【００４５】
転送条件変更部２５０は、ノード１２０の転送条件を変更する。転送条件変更部２５０は、ノード制御装置１３０を介して、ノード１２０が保持する転送条件を変更してよい。転送条件変更部２５０は、ノード１２０の転送条件を定期的に変更してよい。これにより、情報提供サーバ１１０のアクセス状況に応じた適切なアクセス制御を実現することができる。
【００４６】
転送条件変更部２５０は、負荷監視部２５２からの通知に基づいて、ノード１２０の転送条件を変更してもよい。例えば、転送条件変更部２５０は、負荷監視部２５２からノード１２０の転送条件を変更する旨の要求（変更要求と称される場合がある。）を受信する。転送条件変更部２５０は、変更要求を受信すると、ノード１２０の転送条件を変更する。これにより、情報提供サーバ１１０の負荷が大きくなった場合に、クライアント端末に優先順位を設けて、情報提供サーバ１１０へのアクセスを制限することができる。
【００４７】
転送条件変更部２５０は、情報提供サーバ１１０との通信が確立されているクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に情報提供サーバ１１０に転送させるべく、ノード１２０が保持する転送条件を変更してよい。これにより、ノード１２０の転送条件を、情報提供サーバ１１０のアクセス状況に応じて、動的に更新することができる。
【００４８】
例えば、転送条件変更部２５０は、識別情報取得部２３０から、識別情報取得部２３０が取得した端末識別情報を受信する。転送条件変更部２５０は、受信した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的にサーバに転送させるための新たな転送条件を生成する。
【００４９】
転送条件変更部２５０は、生成した新たな転送条件をノード制御装置１３０に送信して、ノード１２０の転送条件を更新するように要求する。ノード制御装置１３０は、転送条件変更部２５０からの要求に応じて、転送条件変更部２５０から受信した新たな転送条件を、ノード１２０の転送条件として設定する。
【００５０】
転送条件変更部２５０は、特定のライフログ条件に一致するユーザのクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に情報提供サーバ１１０に転送させるべく、ノード１２０が保持する転送条件を変更してよい。これにより、ノード１２０の転送条件を、ユーザのライフログ情報に応じて、動的に更新することができる。
【００５１】
例えば、転送条件変更部２５０は、識別情報特定部２４０から、特定のライフログ条件に一致するライフログ情報と対応付けられたクライアント端末の端末識別情報を受信する。転送条件変更部２５０は、受信した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的にサーバに転送させるための新たな転送条件を生成する。転送条件変更部２５０は、識別情報取得部２３０が取得した端末識別情報と、識別情報特定部２４０が特定した端末識別情報とに基づいて、新たな転送条件を生成してもよい。
【００５２】
転送条件変更部２５０は、生成した新たな転送条件をノード制御装置１３０に送信して、ノード１２０の転送条件を更新するように要求する。ノード制御装置１３０は、転送条件変更部２５０からの要求に応じて、転送条件変更部２５０から受信した新たな転送条件を、ノード１２０の転送条件として設定する。
【００５３】
負荷監視部２５２は、情報提供サーバ１１０の負荷を監視する。負荷監視部２５２は、情報提供サーバ１１０の負荷が予め定められた値よりも大きいと判断した場合に、転送条件変更部２５０に対して、転送条件の変更を要求する。これにより、情報提供サーバ１１０は、例えば、負荷が大きくなった場合に、ノード１２０の転送条件を動的に更新することができる。
【００５４】
本実施形態においては、アクセス制御部２２０が情報提供サーバ１１０に配される場合を例として、アクセス制御部２２０について説明した。しかし、アクセス制御部２２０は本実施形態に限定されない。他の実施形態において、アクセス制御部２２０及び情報提供サーバ１１０は、物理的に異なる情報処理装置上に構築されてもよい。また、本実施形態においては、アクセス制御部２２０の識別情報取得部２３０と識別情報特定部２４０とが異なるモジュールにより実現される場合について説明した。しかし、アクセス制御部２２０は本実施形態に限定されない。他の実施形態において、識別情報取得部２３０と識別情報特定部２４０とが同一のモジュールにより実現されてもよい。
【００５５】
図３は、ノード制御装置１３０に保持されるフローテーブル３００の一例を概略的に示す。フローテーブル３００は、複数のフローエントリを含む。図３において、複数のフローエントリのそれぞれは、フローテーブル３００のそれぞれの行として記載されている。複数のフローエントリのそれぞれ及びフローテーブル３００は、転送条件の一例であってよい。
【００５６】
フローテーブル３００は、複数のフローエントリのそれぞれについて、フローエントリＩＤ３１０と、ノードＩＤ３２０と、ルール３３０と、アクション情報３４０とを対応付けて格納する。フローエントリＩＤ３１０は、複数のフローエントリのそれぞれを識別する識別情報である。ノードＩＤ３２０は、対応するフローエントリの設定対象となるノードを識別する識別情報である。
【００５７】
ルール３３０は、対応するフローエントリの処理対象となるパケット又はフローを特定する情報である。ルール３３０は、パケット又はフローのアクセス元ＩＰアドレス３３２と、パケット又はフローのアクセス先ＩＰアドレス３３４を含む。ルール３３０及びアクセス元ＩＰアドレス３３２のそれぞれは、パケットを識別するパケット識別情報の一例であってよい。アクション情報３４０は、対応するルール３３０に合致したパケットに対して行う動作（アクションと称される場合がある。）を規定する情報である。
【００５８】
図４は、ノード１２０に保持されるフローテーブル４００の一例を概略的に示す。フローテーブル４００は、複数のフローエントリを含む。図３において、複数のフローエントリのそれぞれは、フローテーブル４００のそれぞれの行として記載されている。複数のフローエントリのそれぞれ及びフローテーブル４００は、転送条件の一例であってよい。
【００５９】
フローテーブル４００は、複数のフローエントリのそれぞれについて、フローエントリＩＤ３１０と、ノードＩＤ３２０と、ルール３３０と、アクション情報３４０とを対応付けて格納する。フローテーブル４００は、ノード制御装置１３０が、フローテーブル３００に含まれる複数のフローエントリから、ノード１２０に関連するフローエントリを抽出することで生成されてよい。
【００６０】
図５は、ライフログ条件を規定するテーブル５００の一例を概略的に示す。テーブル５００は、ライフログ条件５１０と、アクション情報５２０とを対応付けて格納する。ライフログ条件５１０は、ユーザのライフログ情報に関する予め定められた条件を規定する。アクション情報５２０は、ライフログ条件５１０に一致するユーザのクライアント端末からのパケット又はフローに対するノード１２０の動作を規定する。
【００６１】
テーブル５００は、転送条件変更部２５０が、識別情報特定部２４０により特定された端末識別情報に基づいて、新たな転送条件を生成する場合に使用されてよい。例えば、識別情報特定部２４０は、ライフログサーバ１１４に格納されているクライアント端末の現在位置に関する情報を参照して、ライフログ条件５１０のそれぞれに一致するクライアント端末の端末識別情報を特定する。転送条件変更部２５０は、アクション情報５２０のそれぞれについて、アクション情報５２０のそれぞれに対応するライフログ条件５１０に一致するクライアント端末の端末識別情報と、当該アクション情報５２０とを対応づけて、新たな転送条件を生成する。
【００６２】
図６は、ライフログ条件を規定するテーブル６００の一例を概略的に示す。テーブル６００は、ライフログ条件６１０と、通信状況条件６１２と、アクション情報６２０とを対応付けて格納する。ライフログ条件６１０は、ユーザのライフログ情報に関する予め定められた条件を規定する。通信状況条件６１２は、クライアント端末の通信の確立状況に関する条件を規定する。アクション情報６２０は、ライフログ条件６１０及び通信状況条件６１２に一致するクライアント端末からのパケット又はフローに対するノード１２０の動作を規定する。
【００６３】
テーブル６００は、転送条件変更部２５０が、識別情報取得部２３０により取得された端末識別情報と、識別情報特定部２４０により特定された端末識別情報とに基づいて、新たな転送条件を生成する場合に使用されてよい。例えば、識別情報取得部２３０は、情報提供サーバ１１０との通信が確立されたクライアント端末を識別する端末識別情報を取得する。識別情報特定部２４０は、ライフログサーバ１１４に格納されているクライアント端末の現在位置に関する情報を参照して、ライフログ条件６１０のそれぞれに一致するクライアント端末の端末識別情報を特定する。転送条件変更部２５０は、アクション情報６２０のそれぞれについて、アクション情報６２０のそれぞれに対応するライフログ条件６１０及び通信状況条件６１２に一致するクライアント端末の端末識別情報と、当該アクション情報６２０とを対応づけて、新たな転送条件を生成する。
【００６４】
本実施形態において、アクション情報６２０が、ライフログ条件６１０及び通信状況条件６１２に一致するクライアント端末からのパケット又はフローに対するノード１２０の動作を規定する場合について説明した。しかし、アクション情報６２０は本実施形態に限定されない。アクション情報６２０は、ライフログ条件６１０又は通信状況条件６１２に一致するクライアント端末からのパケット又はフローに対するノード１２０の動作を規定してもよい。
【００６５】
図７は、ライフログサーバ１１４に格納されるテーブル７００の一例を概略的に示す。テーブル７００は、クライアント端末のそれぞれを識別する端末ＩＤ７１０と、ライフログ情報７２０とを対応付けて格納する。ライフログ情報７２０は、クライアント端末の現在位置に関する情報７２２と、クライアント端末のユーザのスケジュールに関する情報７２４と、当該ユーザの検索履歴に関する情報７２６と、当該ユーザの閲覧履歴に関する情報７２８とを含んでよい。
【００６６】
ライフログサーバ１１４は、テーブル７００を用いて、識別情報特定部２４０から受信したライフログ条件に一致するクライアント端末の端末識別情報を抽出することができる。例えば、ライフログサーバ１１４は、複数のクライアント端末のそれぞれについて、ライフログ情報７２０と、受信したライフログ条件とを比較する。次に、ライフログ情報７２０の中に、識別情報特定部２４０から受信したライフログ条件と一致する情報を含むクライアント端末を抽出する。その後、ライフログサーバ１１４は、抽出したクライアント端末の端末ＩＤ７１０を識別情報特定部２４０に送信する。
【００６７】
図８は、ライフログサーバ１１４に格納されるテーブル８００の一例を概略的に示す。図９は、ライフログサーバ１１４に格納されるテーブル９００の一例を概略的に示す。テーブル８００及びテーブル９００は、ライフログサーバ１１４が、ユーザ識別情報を介して、ライフログ情報と端末識別情報とを対応付ける場合に用いられてよい。
【００６８】
テーブル８００は、情報提供サーバ１１０のユーザのそれぞれを識別するユーザＩＤ８１０と、それぞれのユーザのライフログ情報８２０とを対応付けて格納する。ライフログ情報８２０は、ユーザのクライアント端末の現在位置に関する情報８２２と、ユーザのスケジュールに関する情報８２４と、ユーザの検索履歴に関する情報８２６と、ユーザの閲覧履歴に関する情報８２８とを含んでよい。
【００６９】
テーブル９００は、情報提供サーバ１１０のユーザのそれぞれを識別するユーザＩＤ８１０と、それぞれのユーザのクライアント端末を識別する端末ＩＤ９２０とを対応付けて格納する。ライフログサーバ１１４は、ユーザＩＤ８１０を介して、テーブル８００のライフログ情報８２０と、テーブル９００の端末ＩＤ９２０とを対応付けることができる。
【００７０】
テーブル９００は、ユーザが通信キャリアと契約した場合に、通信キャリアによって作成されてもよい。テーブル９００は、情報提供サーバ１１０によって生成されてもよい。例えば、情報提供サーバ１１０は、識別情報取得部２３０から、通信が確立されたクライアント端末の端末識別情報を取得する。情報提供サーバ１１０は、通信が確立されたクライアント端末のユーザに対して、情報提供サーバ１１０が提供するサービスのユーザＩＤ及びパスワードを要求する。情報提供サーバ１１０は、クライアント端末から、ユーザＩＤを受信すると、識別情報取得部２３０から受信した端末識別情報と、クライアント端末から受信したユーザＩＤとを対応付けて、テーブル９００を生成する。
【００７１】
図１０は、情報提供システム１００の動作の一例を概略的に示す。図１０を用いて、情報提供サーバ１１０との間の通信が既に確立されたクライアント端末から送信されたパケットが、情報提供サーバ１１０との間の通信がまだ確立されていないクライアント端末から送信されたパケットよりも優先的に情報提供サーバ１１０に転送されるように、ノード１２０を制御する場合おける、情報提供システム１００の動作の一例について説明する。
【００７２】
本実施形態によれば、ステップ１００２（ステップに対して、Ｓという略字を用いる場合がある。）において、クライアント端末２０が、宛先ＩＰアドレスとして情報提供サーバ１１０を指定したパケットを送信する。クライアント端末２０から送信されたパケットは、ノード１２０によって受信され、一端、ノード１２０にバッファされる。
【００７３】
ノード１２０は、フローテーブル４００のルール３３０を参照して、受信したパケットに対するフローエントリの有無を判断する。受信したパケットに対するフローエントリが存在する場合、ノード１２０は、フローエントリのアクション情報３４０に従って、当該パケットを処理する。パケットに対する処理としては、パケットの転送又は破棄を例示することができる。
【００７４】
一方、受信したパケットに対するフローエントリが存在しない場合、当該パケットをノード制御装置１３０に転送する。また、ノード１２０は、ノード制御装置１３０に対して、新規フローを検出した旨を通知する。本実施形態においては、受信したパケットに対するフローエントリが存在しない場合を例として、情報提供システム１００の動作を説明する。
【００７５】
本実施形態によれば、Ｓ１０１２において、ノード１２０は、ノード制御装置１３０に対して、パケットを転送して、新規フローを検出した旨を通知する。ノード制御装置１３０は、ノード１２０からの上記の通知を受信すると、ノード１２０から転送されたパケットのヘッダを解析して、当該パケットの送信元及び送信先に関する情報を取得する。Ｓ１０１４において、ノード制御装置１３０は、当該パケットが情報提供サーバ１１０に転送されるように、ノード１２０のフローテーブル４００を設定する。例えば、ノード１２０のフローテーブル４００に、新たなフローエントリを追加する。
【００７６】
新たなフローエントリのルール３３０は、アクセス元ＩＰアドレス３３２がクライアント端末２０のＩＰアドレスであり、アクセス先ＩＰアドレス３３４が情報提供サーバ１１０のＩＰアドレスであってよい。新たなフローエントリのアクション情報３４０は、ルール３３０により特定されるパケット又はフローを、アクセス先ＩＰアドレス３３４よって指定された宛先に転送するという処理を規定してよい。Ｓ１０２２において、ノード１２０は、フローテーブル４００に追加されたフローエントリに従って、クライアント端末２０から受信したパケットを、情報提供サーバ１１０に転送する。
【００７７】
Ｓ１０３０において、情報提供サーバ１１０は、クライアント端末２０からの要求に応じて、情報を提供することで、クライアント端末２０のユーザにサービスを提供する。例えば、情報提供サーバ１１０とクライアント端末２０との間で通信が確立されると、情報提供サーバ１１０の識別情報取得部２３０が、クライアント端末２０を識別する端末識別情報を取得する。端末識別情報は、パケットの送信元のＩＰアドレス又はＩＰアドレスとポート番号との組み合わせであってよい。
【００７８】
次に、情報提供サーバ１１０は、クライアント端末２０に対して、クライアント端末２０のユーザの、情報提供サーバ１１０が提供するサービスに関するユーザＩＤ及びパスワードを送信するよう要求してもよい。ノード１２０は、フローテーブル４００に従って、情報提供サーバ１１０が送信したパケットを、クライアント端末２０に転送してよい。
【００７９】
クライアント端末２０は、ユーザに対して、情報提供サーバ１１０が提供するサービスに関するユーザＩＤ及びパスワードを入力するよう要求する。クライアント端末２０は、ユーザからの入力に基づいて、上記のユーザＩＤ及びパスワードを取得する。クライアント端末２０は、取得したユーザＩＤ及びパスワードを、情報提供サーバ１１０に送信する。ノード１２０は、フローテーブル４００に従って、クライアント端末２０が送信したパケットを、情報提供サーバ１１０に転送する。
【００８０】
情報提供サーバ１１０は、クライアント端末２０から受信したユーザＩＤ及びパスワードを認証サーバ１１２に送信して、クライアント端末２０のユーザのユーザ認証を要求する。認証サーバ１１２は、ユーザ認証を実行して、結果を情報提供サーバ１１０に送信する。クライアント端末２０のユーザが正当なユーザであると認証されると、情報提供サーバ１１０は、クライアント端末２０への情報の提供を開始する。
【００８１】
Ｓ１０４０において、情報提供サーバ１１０の負荷監視部２５２は、情報提供サーバ１１０の負荷を監視する。負荷監視部２５２は、情報提供サーバ１１０の負荷が予め定められた値よりも大きいと判断すると、転送条件変更部２５０に対して、転送条件の変更を要求する。
【００８２】
Ｓ１０５０において、情報提供サーバ１１０の転送条件変更部２５０は、負荷監視部２５２からの要求を受信する。転送条件変更部２５０は、上記の要求を受信すると、ノード１２０が保持するフローテーブル４００の更新処理を開始する。具体的には、転送条件変更部２５０は、情報提供サーバ１１０との通信が確立されているクライアント端末（例えば、クライアント端末２０）から送信されたパケットを、情報提供サーバ１１０との通信が確立されていない他のクライアント端末（例えば、クライアント端末２２）から送信されたパケットより優先的に情報提供サーバ１１０に転送させるべく、ノード１２０が保持するフローテーブル４００を動的に変更する。
【００８３】
例えば、転送条件変更部２５０は、情報提供サーバ１１０との通信が確立されているクライアント端末から送信されたパケットを、情報提供サーバ１１０との通信が確立されていない他のクライアント端末から送信されたパケットより優先的にサーバに転送させるための、新たなフローエントリを生成する。その後、Ｓ１０５２において、転送条件変更部２５０は、生成した新たなフローエントリをノード制御装置１３０に送信して、ノード制御装置１３０が保持するフローテーブル３００を更新するよう要求する。
【００８４】
ノード制御装置１３０は、受信した新たなフローエントリに基づいて、フローテーブル３００を更新する。例えば、新たなフローエントリとフローテーブル３００とを比較して、フローエントリを追加したり、削除したりする。
【００８５】
新たなフローエントリのルール３３０は、アクセス元ＩＰアドレス３３２が、特定の時点又は期間において、情報提供サーバ１１０と通信が確立されているクライアント端末のＩＰアドレスであり、アクセス先ＩＰアドレス３３４が情報提供サーバ１１０のＩＰアドレスであってよい。新たなフローエントリのアクション情報３４０は、ルール３３０により特定されるパケット又はフローの優先度を、他のパケット又はフローの優先度よりも高くするという処理を規定してよい。
【００８６】
Ｓ１０５４において、ノード制御装置１３０は、更新されたフローテーブル３００に基づいて、ノード１２０のフローテーブル４００を設定する。これにより、ノード１２０は、情報提供サーバ１１０との通信が確立されているクライアント端末から送信されたパケットを、情報提供サーバ１１０との通信が確立されていないクライアント端末から送信されたパケットよりも優先して、情報提供サーバ１１０に転送することができる。
【００８７】
図１１は、情報提供システム１００の動作の他の例を概略的に示す。図１１を用いて、ライフログ条件に一致するクライアント端末から送信されたパケットが、ライフログ条件に一致しないクライアント端末から送信されたパケットよりも優先的に情報提供サーバ１１０に転送されるように、ノード１２０を制御する場合における、情報提供システム１００の動作の一例について説明する。
【００８８】
Ｓ１１１０において、情報提供サーバ１１０の負荷監視部２５２は、情報提供サーバ１１０の負荷を監視する。負荷監視部２５２は、情報提供サーバ１１０の負荷が予め定められた値よりも大きいと判断すると、転送条件変更部２５０に対して、転送条件の変更を要求する。
【００８９】
Ｓ１１３０において、情報提供サーバ１１０の転送条件変更部２５０は、負荷監視部２５２からの要求を受信する。転送条件変更部２５０は、上記の要求を受信すると、ノード１２０が保持するフローテーブル４００の更新処理を開始する。具体的には、転送条件変更部２５０は、特定のライフログ条件に一致するライフログ情報と対応付けられたクライアント端末からから送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に情報提供サーバ１１０に転送させるべく、ノード１２０が保持するフローテーブル４００を動的に変更する。
【００９０】
例えば、Ｓ１１３２において、識別情報特定部２４０は、ライフログ条件格納部２４２にアクション情報５２０と対応付けて格納されているライフログ条件５１０を、ライフログサーバ１１４に送信する。識別情報特定部２４０は、ライフログサーバ１１４に対して、ライフログ条件５１０に一致するライフログ情報に対応付けられた端末識別情報を抽出するよう要求する。Ｓ１１３４において、ライフログサーバ１１４は、抽出結果を識別情報特定部２４０に送信する。識別情報特定部２４０は、受信した抽出結果を転送条件変更部２５０に送信する。
【００９１】
Ｓ１１４２において、
転送条件変更部２５０は、受信した抽出結果に含まれる端末識別情報で識別されるクライアント端末からから送信されたパケットを、他のクライアント端末から送信されたパケットより優先的に情報提供サーバ１１０に転送させるための、新たなフローエントリを生成する。Ｓ１１４２において、転送条件変更部２５０は、生成した新たなフローエントリをノード制御装置１３０に送信して、ノード制御装置１３０が保持するフローテーブル３００を更新するよう要求する。
【００９２】
ノード制御装置１３０は、受信した新たなフローエントリに基づいて、フローテーブル３００を更新する。例えば、新たなフローエントリとフローテーブル３００とを比較して、フローエントリを追加したり、削除したりする。
【００９３】
新たなフローエントリのルール３３０は、アクセス元ＩＰアドレス３３２が、抽出結果に含まれる端末識別情報で識別されるクライアント端末のＩＰアドレスであり、アクセス先ＩＰアドレス３３４が情報提供サーバ１１０のＩＰアドレスであってよい。新たなフローエントリのアクション情報３４０は、ルール３３０により特定されるパケット又はフローを、アクション情報５２０により規定される優先度に基づいて転送する処理を規定してよい。
【００９４】
Ｓ１１４４において、ノード制御装置１３０は、更新されたフローテーブル３００に基づいて、ノード１２０のフローテーブル４００を設定する。これにより、ノード１２０は、特定のライフログ条件に一致するライフログ情報と対応付けられたクライアント端末からから送信されたパケットを、他のクライアント端末から送信されたパケットよりも優先して、情報提供サーバ１１０に転送することができる。
【００９５】
図１２は、情報提供システム１２００の一例を概略的に示す。情報提供システム１２００は、情報提供サーバ１１０と、認証サーバ１１２と、ライフログサーバ１１４と、ノード制御装置１３０と、ノード１２２０と、ノード１２２２とを備える。情報提供システム１２００は、転送条件変更装置の一例であってよい。
【００９６】
情報提供システム１２００は、情報提供サーバ１１０、認証サーバ１１２、ライフログサーバ１１４及びノード制御装置１３０が、通信ネットワーク１０を介して、お互いに情報を送受する点で、情報提供システム１００と異なる。情報提供システム１２００は、クライアント端末２０が、ノード１２２０を介して通信ネットワーク１０に接続され、クライアント端末２２が、ノード１２２２を介して通信ネットワーク１０に接続される点で、情報提供システム１００と異なる。その他の点において、情報提供システム１２００は、情報提供システム１００と同様の構成を有してよく、情報提供システム１００と同様の処理を実行することができる。
【００９７】
以上の説明において、情報提供システム１００及び情報提供システム１００の各部、並びに、情報提供システム１２００及び情報提供システム１２００の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。また、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。情報提供システム１００及び情報提供システム１２００は、それぞれの用途に特化したシステムであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。上記の特化したシステム及び情報処理装置は、単一のコンピュータにより構成されてもよく、ネットワーク上に分散した複数のコンピュータにより構成されてもよい。
【００９８】
また、プログラムが実行されることにより、コンピュータが、情報提供システム１００の各部又は情報提供システム１２００の各部として機能してもよい。プログラムは、コンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インターフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、情報提供システム１００の各部又は情報提供システム１２００の各部の動作を規定したソフトウエア又はプログラムを起動することにより、情報提供システム１００の各部又は情報提供システム１２００の各部が実現されてよい。
【００９９】
コンピュータにインストールされ、コンピュータを本実施形態に係る情報提供システム１００の各部又は情報提供システム１２００の各部として機能させるプログラムは、情報提供システム１００の各部又は情報提供システム１２００の各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、ＣＰＵ等に働きかけて、コンピュータを、情報提供システム１００の各部又は情報提供システム１２００の各部としてそれぞれ機能させる。これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の測定装置を構築することができる。
【０１００】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１０１】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１０２】
１０  通信ネットワーク、  １２  通信ネットワーク、  ２０  クライアント端末、  ２２  クライアント端末、  １００  情報提供システム、  １１０  情報提供サーバ、  １１２  認証サーバ、  １１４  ライフログサーバ、  １２０  ノード、  １３０  ノード制御装置、  ２１０  情報提供部、  ２２０  アクセス制御部、  ２３０  識別情報取得部、  ２４０  識別情報特定部、  ２４２  ライフログ条件格納部、  ２５０  転送条件変更部、  ２５２  負荷監視部、  ３００  フローテーブル、  ３１０  フローエントリＩＤ、  ３２０  ノードＩＤ、  ３３０  ルール、  ３３２  アクセス元ＩＰアドレス、  ３３４  アクセス先ＩＰアドレス、  ３４０  アクション情報、  ４００  フローテーブル、  ５００  テーブル、  ５１０  ライフログ条件、  ５２０  アクション情報、  ６００  テーブル、  ６１０  ライフログ条件、  ６１２  通信状況条件、  ６２０  アクション情報、  ７００  テーブル、  ７１０  端末ＩＤ、  ７２０  ライフログ情報、  ７２２  情報、  ７２４  情報、  ７２６  情報、  ７２８  情報、  ８００  テーブル、  ８１０  ユーザＩＤ、  ８２０  ライフログ情報、  ８２２  情報、  ８２４  情報、  ８２６  情報、  ８２８  情報、  ９００  テーブル、  ９２０  端末ＩＤ、  １２００  情報提供システム、  １２２０  ノード、  １２２２  ノード
【要約】
【課題】クライアント端末のユーザの属性に応じて、当該クライアント端末からのサーバへのアクセスを他のクライアント端末よりも優先させる。
【解決手段】サーバとの通信が確立されたクライアント端末を識別する端末識別情報を取得する識別情報取得部と、識別情報取得部が取得した端末識別情報で識別されるクライアント端末から送信されたパケットを、他のクライアント端末から送信されたパケットより優先的にサーバに転送させるべく、サーバと、サーバにアクセスするクライアント端末との間で転送条件に従ってパケットを転送するノードが保持する転送条件を変更する転送条件変更部とを備える。
【選択図】図１【図１】
0005476447.tif 000002
【図２】
0005476447.tif 000003
【図３】
0005476447.tif 000004
【図４】
0005476447.tif 000005
【図５】
0005476447.tif 000006
【図６】
0005476447.tif 000007
【図７】
0005476447.tif 000008
【図８】
0005476447.tif 000009
【図９】
0005476447.tif 000010
【図１０】
0005476447.tif 000011
【図１１】
0005476447.tif 000012
【図１２】
0005476447.tif 000013