この発明は、ネットワーク接続制御方法に関する。
従来より、ユーザのアクセスに基づいて、レイヤー2トンネリングプロトコルアクセスコントローラ(LAC)とレイヤー2トンネリングプロトコルネットワークサーバ(LNS)とを、ネットワークを介してレイヤー2トンネリングプロトコル(L2TP)により接続する技術が知られている(例えば、非特許文献1参照)。
また、L2TPによる接続を制御する際には、RADIUS(Remote Authentication Dial In User Service)サーバが用いられる(例えば、非特許文献2〜4参照)。具体的には、図28に示すように、まず、ユーザ端末がアクセスしたLACは、RADIUSサーバに、ユーザが指定したLNSグループ(例えば、インターネットプロバイダによって分割されたLNSグループ)の識別子である「LNSグループ1」を「User−Name属性」として送信する(図28の(1)参照)。
そして、「User−Name:LNSグループ1」を受信したRADIUSサーバは、ユーザ端末がアクセスしたLACがL2TPによって接続されるLNSの候補(接続先LNS候補)を示す「Tunnel−Server−Endpoint属性」として、「LNSグループ1」に所属する「LNS1およびLNS2」を返信する(図28の(2)参照)。これにより、ユーザ端末がアクセスしたLACは、「LNS1およびLNS2」から一つのLNSを選択し、当該一つのLNSとネットワークを介して接続を行なう。なお、図28は、従来技術を説明するための図である。
W. Townsley, A. Valencia, A. Rubens, G. Pall, G. Zorn, B. Palter, "Request for Comments: 2661, Layer Two Tunneling Protocol "L2TP"", August 1999, [online], [平成19年4月11日], インターネット<URL: http://www.ietf.org/rfc/rfc2661.txt>
C. Rigney, S. Willens, A. Rubens, W. Simpson, "Request for Comments: 2865, Remote Authentication Dial In User Service (RADIUS)", June 2000, [online], [平成19年4月11日], インターネット<URL: http://www.ietf.org/rfc/rfc2865.txt>
C. Rigney, "Request for Comments: 2866, RADIUS Accounting", June 2000, [online], [平成19年4月11日], インターネット<URL: http://www.ietf.org/rfc/rfc2866.txt>
G. Zorn, D. Leifer, A. Rubens, J. Shriver, M. Holdrege, I. Goyret, "Request for Comments: 2868, RADIUS Attributes for Tunnel Protocol Support", June 2000, [online], [平成19年4月11日], インターネット<URL: http://www.ietf.org/rfc/rfc2868.txt>
ところで、上記した従来の技術は、例えば、異なるユーザ端末がアクセスしたLACそれぞれが、同一のLNSグループを指定した場合には、同一の接続先LNS候補しか選択できず、また、これを解消するためには、RADIUSサーバのようなネットワーク接続制御装置を、LACをグループ化したLACグループの数に比例して複数設置しなければならないので設置コストが高くなり、簡易かつ適切にL2TPによる接続を制御することができないという問題点があった。
上記した問題点を、具体的に図29を用いて説明する。なお、図29は、従来技術の問題点を説明するための図である。図29に示すように、LACが、例えば、設置される場所によってグループ化(LACグループ1およびLACグループ2)されており、LNSが、例えば、インターネットプロバイダによってグループ化(LNSグループ1およびLNSグループ2)されており、さらにLNSグループが、例えば、場所によってサブグループ化(LNSサブグループ1.1、LNSサブグループ2.1およびLNSサブグループ2.2)されている状況において、ユーザ端末のアクセスしたLACが所属するLACグループと、ユーザの指定したLNSグループとに基づいて、接続先LNS候補を選択してLT2Pを用いたネットワーク制御を行なう場合を考える。ここで、接続先LNS候補は、LNSサブグループに属する一つまたは複数のLNSによって構成されるとする。さらに、図29に示すように、LACグループ1用RADIUSサーバやLACグループ2用RADIUSサーバのように、LACグループごとに専用のRADIUSサーバを設置しているとする。
この場合、ユーザ端末1がアクセスしたLAC(LACグループ1所属)が、LACグループ1用RADIUSサーバに、ユーザが指定したLNSグループの識別子である「LNSグループ2」を「User−Name属性」として送信し(図29の(1)参照)、同時に、ユーザ端末2がアクセスしたLAC(LACグループ2所属)が、LACグループ2用RADIUSサーバに、ユーザが指定したLNSグループの識別子である「LNSグループ2」を「User−Name属性」として送信したとしても(図29の(2)参照)、「User−Name:LNSグループ2」を受信したLACグループ1用RADIUSサーバは、接続先LNS候補として、「LNSグループ2」の「LNSサブグループ2.1」に所属する「LNS3およびLNS4」を返信し(図29の(3)参照)、「User−Name:LNSグループ2」を受信したLACグループ2用RADIUSサーバは、接続先LNS候補として、「LNSグループ2」の「LNSサブグループ2.2」に所属する「LNS5」を返信することができる(図29の(4)参照)。
このように、上記した従来の技術は、図29に示すように、LACグループごとに専用のRADIUSサーバを設置すれば、適切な接続先LNS候補を選択してL2TPによる接続を制御することができるが、LACグループの数に比例して専用のRADIUSサーバを設置しなければならないので設置コストが高くなり、簡易かつ適切にL2TPによる接続を制御することができないという問題点があった。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、簡易かつ適切にL2TPによる接続を制御することが可能になるネットワーク接続制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、ユーザのアクセスに基づいて、レイヤー2トンネリングプロトコルアクセスコントローラ(LAC)とレイヤー2トンネリングプロトコルネットワークサーバ(LNS)とを、ネットワークを介してレイヤー2トンネリングプロトコル(L2TP)により接続することをネットワーク接続制御装置によって制御するネットワーク接続制御方法であって、前記ネットワーク接続制御装置は、前記LACを一意に特定するためのLAC識別子と、前記LNSをグループ分けした各LNSグループを一意に特定するためのLNSグループ識別子と、各LNSグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持する保持工程と、ユーザのアクセスしたLACから当該LACの前記LAC識別子であるアクセスLAC識別子と、ユーザの指定したLNSグループの前記LNSグループ識別子である指定LNSグループ識別子とを取得した場合に、前記対応テーブルを参照して、当該アクセスLAC識別子および当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索するLNS検索工程と、前記LNS検索工程によって検索された一つまたは複数のLNSを、前記ユーザのアクセスしたLACと接続されるLNSの候補である接続先LNS候補として選択し、選択された接続先LNS候補を当該ユーザのアクセスしたLACに通知する接続先LNS候補選択通知工程とを含み、前記LACは、前記接続先LNS候補選択通知工程によって選択されて通知された前記接続先LNS候補から、負荷が最小となっているLNS、ランダムに選択したLNS、過去に選択された回数が最小となるLNS、過去に選択された回数が最多となるLNS、接続先LNSが検索されるごとに順番に選択したLNS、LNSごとにつけられた優先順位を基に優先順位の最も高いLNSからなる6つの基準から選択された1つの基準または複数の基準を組み合わせた基準によって、一つのLNSを選択し、選択した一つのLNSとの間にL2TPによる接続を確立するLNS選択接続工程を含んだことを特徴とする。
また、本発明は、上記の発明において、前記保持工程は、前記LNSグループをさらに分割した各LNSサブグループを一意に特定するためのLNSサブグループ識別子と、前記LAC識別子と、前記LNSグループ識別子とを対応付けた対応テーブル、および、前記LNSグループ識別子と、前記LNSサブグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持し、前記LNS検索工程は、ユーザのアクセスしたLACから前記アクセスLAC識別子と前記指定LNSグループ識別子とを取得した場合に、前記対応テーブルを参照して、当該アクセスLAC識別子および当該指定LNSグループ識別子に対応する前記LNSサブグループを検索し、検索された当該LNSサブグループおよび当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索することを特徴とする。
また、本発明は、上記の発明において、前記保持工程は、前記LAC識別子と、前記LACをグループ分けした各LACグループを一意に特定するためのLACグループ識別子とを対応付けた対応テーブル、および、前記LACグループ識別子と、前記LNSグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持し、前記LNS検索工程は、ユーザのアクセスしたLACから前記アクセスLAC識別子と前記指定LNSグループ識別子とを取得した場合に、前記対応テーブルを参照して、当該アクセスLAC識別子に対応する前記LACグループ識別子を検索し、検索された当該LACグループ識別子および当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索することを特徴とする。
また、本発明は、上記の発明において、前記保持工程は、前記LAC識別子と、前記LACグループ識別子とを対応付けた対応テーブル、前記LACグループ識別子と、前記LNSグループ識別子と、前記LNSグループをさらに分割した各LNSサブグループを一意に特定するためのLNSサブグループ識別子とを対応付けた対応テーブル、および、前記LNSグループ識別子と、前記LNSサブグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持し、前記LNS検索工程は、ユーザのアクセスしたLACから前記アクセスLAC識別子と前記指定LNSグループ識別子とを取得した場合に、前記対応テーブルを参照して、当該アクセスLAC識別子に対応する前記LACグループ識別子を検索し、検索された当該LACグループ識別子および当該指定LNSグループ識別子に対応する前記LNSサブグループ識別子を検索し、検索された当該LNSサブグループおよび当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索することを特徴とする。
また、本発明は、上記の発明において、前記接続先LNS候補選択通知工程によって選択された前記接続先LNS候補を、前記アクセスLAC識別子と前記指定LNSグループ識別子とに対応付けたキャッシュとして所定の記憶部に格納して管理する接続先LNS候補キャッシュ管理工程をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記接続先LNS候補キャッシュ管理工程は、前記接続先LNS候補選択通知工程によって選択された前記接続先LNS候補を、前記アクセスLAC識別子に対応する前記LACグループ識別子と前記指定LNSグループ識別子とに対応付けたキャッシュとして所定の記憶部に格納して管理することを特徴とする。
また、本発明は、上記の発明において、前記接続先LNS候補キャッシュ管理工程は、前記接続先LNS候補を含むデータを、当該接続先LNS候補における前記アクセスLAC識別子もしくは当該アクセスLAC識別子に対応する前記LACグループ識別子と、前記指定LNSグループ識別子とから算出されるハッシュ値を用いて管理するとともに、前記接続先LNS候補を含むデータを、前記接続先LNS候補が前記キャッシュにおいて最後に参照された時刻の古いものから新しいものへと順に結合されたリスト構造によって管理し、また、前記接続先LNS候補キャッシュ管理工程は、ユーザのアクセスしたLACから取得した前記アクセスLAC識別子もしくは当該アクセスLAC識別子に対応する前記LACグループ識別子と、前記指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いて前記キャッシュを参照して、一つまたは複数のLNSを検索し、また、前記接続先LNS候補キャッシュ管理工程は、算出されたハッシュ値に該当する前記接続先LNS候補を含むデータが前記キャッシュに存在する場合、当該接続先LNS候補を含むデータを前記リスト構造の最後尾に繋ぎ変えて管理し、また、前記接続先LNS候補キャッシュ管理工程は、前記キャッシュとして管理されている接続先LNS候補の数が、前記キャッシュとして管理可能な数の上限に達しておらず、かつ、前記キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、新たな接続先LNS候補を含むデータを前記ハッシュ値に対応付けるとともに前記リスト構造の最後尾に新たに格納して管理し、前記キャッシュとして管理されている接続先LNS候補の数が、前記キャッシュとして管理可能な数の上限に達した後に、前記キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、前記リスト構造の先頭に位置する接続先LNS候補を含むデータを、新たに検索されて選択された接続先LNS候補を含むデータに変更して格納し、変更して格納された接続先LNS候補を含むデータを前記ハッシュ値に対応付けるとともに前記リスト構造の最後尾に移動して管理することを特徴とする。
また、本発明は、上記の発明において、前記接続先LNS候補キャッシュ管理工程は、前記接続先LNS候補を含むデータを、当該接続先LNS候補における前記アクセスLAC識別子もしくは当該アクセスLAC識別子に対応する前記LACグループ識別子と、前記指定LNSグループ識別子とから算出されるハッシュ値を用いて管理し、前記接続先LNS候補を含むデータを、前記接続先LNS候補がリング状に結合されたデータ構造によって管理し、さらに前記リング状に結合されたデータ構造、または、前記接続先LNS候補を含むデータの中に、管理されている接続先LNS候補を含むデータが有効か否かを示すフラグである有効フラグと、前記管理されている接続先LNS候補を含むデータが最後に参照された時刻の新しさを示すフラグである最新フラグとを対応付けて管理し、さらに前記リング状に結合されたデータ構造の中における、接続先LNS候補を含むデータの位置を示すデータである現行領域を対応付けて管理し、また、前記接続先LNS候補キャッシュ管理工程は、ユーザのアクセスしたLACから取得した前記アクセスLAC識別子もしくは当該アクセスLAC識別子に対応する前記LACグループ識別子と、前記指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いて前記キャッシュを参照して、一つまたは複数のLNSを検索し、また、前記接続先LNS候補キャッシュ管理工程は、算出されたハッシュ値に該当する前記接続先LNS候補を含むデータが前記キャッシュに存在する場合、当該接続先LNS候補を含むデータに対応する前記最新フラグをオンにして管理し、また、前記接続先LNS候補キャッシュ管理工程は、前記キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択され、かつ、前記現行領域の指し示した接続先LNS候補を含むデータに対応する前記有効フラグが有効なデータが含まれていないことを示している場合である第一条件において、前記現行領域の指し示した接続先LNS候補を含むデータ領域に当該新たに検索されて選択された接続先LNS候補を格納し、当該格納したデータを前記ハッシュ値に対応付けるとともに、当該格納したデータに対応する前記最新フラグをオンに変更し、前記現行領域の指し示した接続先LNS候補を含むデータの位置を、前記リング状に結合されたデータ構造上の次の位置に変更して管理し、また、前記接続先LNS候補キャッシュ管理工程は、前記現行領域の指し示した接続先LNS候補を含むデータに対応する前記有効フラグが有効なデータが含まれていることを示していて、かつ、当該接続先LNS候補を含むデータに対応する最新フラグがオフを示す場合である第二条件において、前記現行領域の指し示した接続先LNS候補を含むデータを、前記検索されて選択された接続先LNS候補のデータに変更し、前記変更したデータを前記ハッシュ値に対応付けるとともに、前記変更したデータに対応する前記最新フラグをオンに変更し、前記現行領域の指し示した接続先LNS候補を含むデータの位置を、前記リング状に結合されたデータ構造上の次の位置に変更して管理し、また、前記接続先LNS候補キャッシュ管理工程は、前記現行領域の指し示した接続先LNS候補を含むデータに対応する前記有効フラグが有効なデータが含まれていることを示していて、かつ、最新フラグがオンを示す場合である第三条件において、前記第一条件または前記第二条件を満たすまで、前記現行領域の指し示した接続先LNS候補を含むデータに対応する最新フラグをオフに変更し、前記現行領域の指し示した接続先LNS候補を含むデータの位置を、前記リング状に結合されたデータ構造上の次の位置に変更して管理することを特徴とする。
また、本発明は、上記の発明において、前記保持工程は、前記LACグループ識別子と、前記LNSグループ識別子とを、優先度を付加した一つまたは複数の前記LNSサブグループ識別子に対応付けた対応テーブルを所定の記憶部において保持し、前記LNS検索工程は、ユーザのアクセスしたLACから前記アクセスLAC識別子と前記指定LNSグループ識別子とを取得した場合に、前記対応テーブルを参照して、前記アクセスLAC識別子に対応する前記LACグループ識別子および前記指定LNSグループ識別子から、一つまたは複数のLNSサブグループ識別子を検索し、検索された一つまたは複数のLNSサブグループ識別子に付加された優先度とともに、当該検索された一つまたは複数のLNSサブグループ識別子に対応するLNSサブグループに所属する一つまたは複数のLNSを検索し、前記接続先LNS候補選択通知工程は、前記LNS検索工程によって検索された一つまたは複数のLNSサブグループごとに所属する一つまたは複数のLNSを、前記ユーザのアクセスしたLACと接続されるLNSの候補である接続先LNS候補として選択し、選択された接続先LNS候補それぞれを該当するLNSサブグループの優先度とともに、当該ユーザのアクセスしたLACに通知し、前記LNS選択接続工程は、前記接続先LNS候補選択通知工程によって選択されて通知された前記接続先LNS候補から、当該接続先LNS候補に該当するLNSサブグループの優先度をさらに参照して、一つのLNSを選択することを特徴とする。
また、本発明は、上記の発明において、前記LACごとに、当該LACにおける前記LAC識別子と、当該LACが所属するLACグループの前記LACグループ識別子とを対応付けた対応テーブルを所定の記憶部において保持するLACグループ識別子保持工程を含んだことを特徴とする。
本発明によれば、ネットワーク接続制御装置は、LACを一意に特定するためのLAC識別子と、LNSをグループ分けした各LNSグループを一意に特定するためのLNSグループ識別子と、各LNSグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持し、ユーザのアクセスしたLACから当該LACのLAC識別子であるアクセスLAC識別子と、ユーザの指定したLNSグループのLNSグループ識別子である指定LNSグループ識別子とを取得した場合に、対応テーブルを参照して、当該アクセスLAC識別子および当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索し、検索された一つまたは複数のLNSを、ユーザのアクセスしたLACと接続されるLNSの候補である接続先LNS候補として選択し、選択された接続先LNS候補を当該ユーザのアクセスしたLACに通知し、LACは、選択されて通知された接続先LNS候補から、負荷が最小となっているLNS、ランダムに選択したLNS、過去に選択された回数が最小となるLNS、過去に選択された回数が最多となるLNS、接続先LNSが検索されるごとに順番に選択したLNS、LNSごとにつけられた優先順位を基に優先順位の最も高いLNSからなる6つの基準から選択された1つの基準または複数の基準を組み合わせた基準によって、一つのLNSを選択し、選択した一つのLNSとの間にL2TPによる接続を確立するので、異なる情報端末が同じLNSグループを指定した場合でも、接続先LNS候補を適切に割り振った対応テーブルを参照することで、一つのネットワーク接続制御装置によってLACグループごとに異なる接続先LNS候補を選択することができるので、簡易かつ適切にL2TPによる接続を制御することが可能になる。また、各LACは、選択された接続先LNS候補から柔軟な基準に沿って一つのLNSを選択して接続することができるので、適切にL2TPによる接続を制御することが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、LNSグループをさらに分割した各LNSサブグループを一意に特定するためのLNSサブグループ識別子と、LAC識別子と、LNSグループ識別子とを対応付けた対応テーブル、および、LNSグループ識別子と、LNSサブグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持し、ユーザのアクセスしたLACからアクセスLAC識別子と指定LNSグループ識別子とを取得した場合に、対応テーブルを参照して、当該アクセスLAC識別子および当該指定LNSグループ識別子に対応するLNSサブグループを検索し、検索された当該LNSサブグループおよび当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索するので、一つのネットワーク接続制御装置において、対応テーブルを分割して複数保持することで、各対応テーブルにおいて記載される項目の数を削減し、これら複数の対応テーブルを参照することで、効率よく接続先LNS候補を選択することができるので、簡易かつ適切にL2TPによる接続を制御することが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、LAC識別子と、LACをグループ分けした各LACグループを一意に特定するためのLACグループ識別子とを対応付けた対応テーブル、および、LACグループ識別子と、LNSグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持し、ユーザのアクセスしたLACからアクセスLAC識別子と指定LNSグループ識別子とを取得した場合に、対応テーブルを参照して、当該アクセスLAC識別子に対応するLACグループ識別子を検索し、検索された当該LACグループ識別子および当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索するので、一つのネットワーク接続制御装置において、対応テーブルを分割して複数保持することで、各対応テーブルにおいて記載される項目の数を削減し、これら複数の対応テーブルを参照することで、効率よく接続先LNS候補を選択することができるので、簡易かつ適切にL2TPによる接続を制御することが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、LAC識別子と、LACグループ識別子とを対応付けた対応テーブル、LACグループ識別子と、LNSグループ識別子と、LNSサブグループ識別子とを対応付けた対応テーブル、および、LNSグループ識別子と、LNSグループをさらに分割した各LNSサブグループを一意に特定するためのLNSサブグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSとを対応付けた対応テーブルを所定の記憶部において保持し、ユーザのアクセスしたLACからアクセスLAC識別子と指定LNSグループ識別子とを取得した場合に、対応テーブルを参照して、当該アクセスLAC識別子に対応するLACグループ識別子を検索し、検索された当該LACグループ識別子および当該指定LNSグループ識別子に対応するLNSサブグループ識別子を検索し、検索された当該LNSサブグループおよび当該指定LNSグループ識別子に対応する一つまたは複数のLNSを検索するので、一つのネットワーク接続制御装置において、対応テーブルをさらに分割して複数保持することで、各対応テーブルにおいて記載される項目の数をさらに削減し、これら複数の対応テーブルを参照することで、より効率よく接続先LNS候補を選択することができるので、簡易かつ適切にL2TPによる接続を制御することが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、選択された接続先LNS候補を、アクセスLAC識別子と指定LNSグループ識別子とに対応付けたキャッシュとして所定の記憶部に格納して管理するので、選択されたことのある接続先LNS候補においては、アクセスLAC識別子と指定LNSグループ識別子とから容易に接続先LNS候補を検索して選択することができ、高速にL2TPによる接続を制御することが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、選択された接続先LNS候補を、アクセスLAC識別子に対応するLACグループ識別子と指定LNSグループ識別子とに対応付けたキャッシュとして所定の記憶部に格納して管理するので、選択されたことのある接続先LNS候補においては、アクセスLAC識別子に対応するLACグループ識別子と指定LNSグループ識別子とから容易に接続先LNS候補を検索して選択することができ、高速にL2TPによる接続を制御することが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、接続先LNS候補を含むデータを、当該接続先LNS候補におけるアクセスLAC識別子もしくは当該アクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理するとともに、接続先LNS候補を含むデータを、接続先LNS候補がキャッシュにおいて最後に参照された時刻の古いものから新しいものへと順に結合されたリスト構造によって管理し、また、ユーザのアクセスしたLACから取得したアクセスLAC識別子もしくは当該アクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いてキャッシュを参照して、一つまたは複数のLNSを検索し、また、算出されたハッシュ値に該当する接続先LNS候補を含むデータがキャッシュに存在する場合、当該接続先LNS候補を含むデータをリスト構造の最後尾に繋ぎ変えて管理し、また、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達しておらず、かつ、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、新たな接続先LNS候補を含むデータをハッシュ値に対応付けるとともにリスト構造の最後尾に新たに格納して管理し、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達した後に、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、リスト構造の先頭に位置する接続先LNS候補を含むデータを、新たに検索されて選択された接続先LNS候補を含むデータに変更して格納し、変更して格納された接続先LNS候補を含むデータをハッシュ値に対応付けるとともにリスト構造の最後尾に移動して管理するので、選択された接続先LNS候補の中でも、最近選択された接続先LNS候補をキャッシュとして管理してキャッシュヒット率の高い検索を実現することができ、より高速にL2TPによる接続を制御することが可能になる。また、ハッシュ値に基づいて検索を行なうので、効率のよい検索を行なうことが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、接続先LNS候補を含むデータを、当該接続先LNS候補におけるアクセスLAC識別子もしくは当該アクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理し、接続先LNS候補を含むデータを、接続先LNS候補がリング状に結合されたデータ構造によって管理し、さらにリング状に結合されたデータ構造、または、接続先LNS候補を含むデータの中に、管理されている接続先LNS候補を含むデータが有効か否かを示すフラグである有効フラグと、管理されている接続先LNS候補を含むデータが最後に参照された時刻の新しさを示すフラグである最新フラグとを対応付けて管理し、さらにリング状に結合されたデータ構造の中における、接続先LNS候補を含むデータの位置を示すデータである現行領域を対応付けて管理し、また、ユーザのアクセスしたLACから取得したアクセスLAC識別子もしくは当該アクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いてキャッシュを参照して、一つまたは複数のLNSを検索し、また、算出されたハッシュ値に該当する接続先LNS候補を含むデータがキャッシュに存在する場合、当該接続先LNS候補を含むデータに対応する最新フラグをオンにして管理し、また、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択され、かつ、現行領域の指し示した接続先LNS候補を含むデータに対応する有効フラグが有効なデータが含まれていないことを示している場合である第一条件において、現行領域の指し示した接続先LNS候補を含むデータ領域に当該新たに検索されて選択された接続先LNS候補を格納し、当該格納したデータをハッシュ値に対応付けるとともに、当該格納したデータに対応する最新フラグをオンに変更し、現行領域の指し示した接続先LNS候補を含むデータの位置を、リング状に結合されたデータ構造上の次の位置に変更して管理し、現行領域の指し示した接続先LNS候補を含むデータに対応する有効フラグが有効なデータが含まれていることを示していて、かつ、当該接続先LNS候補を含むデータに対応する最新フラグがオフを示す場合である第二条件において、現行領域の指し示した接続先LNS候補を含むデータを、検索されて選択された接続先LNS候補のデータに変更し、変更したデータをハッシュ値に対応付けるとともに、変更したデータに対応する最新フラグをオンに変更し、現行領域の指し示した接続先LNS候補を含むデータの位置を、リング状に結合されたデータ構造上の次の位置に変更して管理し、また、現行領域の指し示した接続先LNS候補を含むデータに対応する有効フラグが有効なデータが含まれていることを示していて、かつ、最新フラグがオンを示す場合である第三条件において、第一条件または第二条件を満たすまで、現行領域の指し示した接続先LNS候補を含むデータに対応する最新フラグをオフに変更し、現行領域の指し示した接続先LNS候補を含むデータの位置を、リング状に結合されたデータ構造上の次の位置に変更して管理するので、選択された接続先LNS候補の中でも、最近選択された接続先LNS候補をキャッシュとして管理してキャッシュヒット率の高い検索を実現することができ、より高速にL2TPによる接続を制御することが可能になる。また、ハッシュ値に基づいて検索を行なうので、効率のよい検索を行なうことが可能になる。
また、本発明によれば、ネットワーク接続制御装置は、LACグループ識別子と、LNSグループ識別子とを、優先度を付加した一つまたは複数のLNSサブグループ識別子に対応付けた対応テーブルを所定の記憶部において保持し、ユーザのアクセスしたLACからアクセスLAC識別子と指定LNSグループ識別子とを取得した場合に、対応テーブルを参照して、アクセスLAC識別子に対応するLACグループ識別子および指定LNSグループ識別子から、一つまたは複数のLNSサブグループ識別子を検索し、検索された一つまたは複数のLNSサブグループ識別子に付加された優先度とともに、当該検索された一つまたは複数のLNSサブグループ識別子に対応するLNSサブグループに所属する一つまたは複数のLNSを検索し、検索された一つまたは複数のLNSサブグループごとに所属する一つまたは複数のLNSを、ユーザのアクセスしたLACと接続されるLNSの候補である接続先LNS候補として選択し、選択された接続先LNS候補それぞれを該当するLNSサブグループの優先度とともに、当該ユーザのアクセスしたLACに通知し、LACは、選択されて通知された接続先LNS候補から、当該接続先LNS候補に該当するLNSサブグループの優先度をさらに参照して、一つのLNSを選択するので、異なる情報端末が同じLNSグループを指定した場合でも、接続先LNS候補を複数参照して、LACグループごとに異なる接続先LNS候補を柔軟に選択することができ、より適切にL2TPによる接続を制御することが可能になる。
また、本発明によれば、LACごとに、当該LACにおけるLAC識別子と、当該LACが所属するLACグループのLACグループ識別子とを対応付けた対応テーブルを所定の記憶部において保持するので、ネットワーク接続制御装置は、ユーザのアクセスしたLACからアクセスLAC識別子と同時にLACグループ識別子を取得することができるので、より簡易にL2TPによる接続を制御することが可能になる。
以下に添付図面を参照して、この発明に係るネットワーク接続制御方法の実施例を詳細に説明する。なお、以下では、この発明に係るネットワーク接続制御方法を実行するLAC制御サーバおよびLACを含んで構成されるネットワーク接続制御システムを実施例として説明する。
[実施例1におけるネットワーク接続制御システムの概要および特徴]
まず最初に、図1を用いて、実施例1におけるネットワーク接続制御システムの主たる特徴を具体的に説明する。図1は、実施例1におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例1におけるネットワーク接続制御システムは、ユーザのアクセスに基づいて、レイヤー2トンネリングプロトコルアクセスコントローラ(LAC)とレイヤー2トンネリングプロトコルネットワークサーバ(LNS)とを、ネットワークを介してレイヤー2トンネリングプロトコル(L2TP)により接続することをLAC制御サーバによって制御することを概要とする。
すなわち、図1の(A)に示すように、LACが、例えば、設置される場所によってグループ化(LACグループ1およびLACグループ2)されており、LNSが、例えば、インターネットプロバイダによってグループ化(LNSグループ1およびLNSグループ2)されており、さらにLNSグループが、例えば、場所によってサブグループ化(LNSサブグループ1.1、LNSサブグループ2.1およびLNSサブグループ2.2)されている状況において、ユーザ端末のアクセスしたLACが所属するLACグループと、ユーザの指定したLNSグループとに基づいて、LAC制御サーバが、当該LACと接続されるLNSの候補(接続先LNS候補)を選択することで、LACとLNSとをL2TPにより接続することを制御することを概要とする。なお、「LAC制御サーバ」は、特許請求の範囲に記載の「ネットワーク接続制御装置」に対応する。
ここで、本発明は、簡易かつ適切にL2TPによる接続を制御することが可能になることに主たる特徴がある。この主たる特徴について簡単に説明すると、実施例1におけるネットワーク接続制御システムを構成するLAC制御サーバは、LACを一意に特定するためのLAC識別子と、LACをグループ分けした各LACグループを一意に特定するためのLACグループ識別子とを対応付けた「第一対応テーブル」、LACグループ識別子と、LNSをグループ分けした各LNSグループを一意に特定するためのLNSグループ識別子と、LNSグループをさらに分割した各LNSサブグループを一意に特定するためのLNSサブグループ識別子とを対応付けた「第二対応テーブル」、および、LNSグループ識別子と、LNSサブグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSである接続先LNS候補とを対応付けた「第三対応テーブル」を記憶する。
具体的には、図1の(B)に示すように、「第一対応テーブル」は、LAC識別子としての「IPアドレス」と「LACグループ識別子」とを対応付けて記憶する。例えば、図1の(A)において、ユーザ端末がアクセスしたLACの「IPアドレス:10.2.1.104」と「LACグループ識別子:LACグループ1」とを対応付けて記憶する。また、図1の(B)に示すように、「第二対応テーブル」は、例えば、「LACグループ識別子:LACグループ1」と「LNSグループ識別子:LNSグループ2」と「LNSサブグループ識別子:LNSサブグループ2.1」とを対応付けて記憶する。また、図1の(B)に示すように、「第三対応テーブル」は、例えば、「LNSグループ識別子:LNSグループ2」と「LNSサブグループ識別子:LNSサブグループ2.1」と「接続先LNS候補:LNS3、LNS4」とを対応付けて記憶する。すなわち、「LNSサブグループ2.1」に所属する複数のLNSである「LNS3、LNS4」を接続先LNS候補として対応付けて記憶する。
そして、実施例1におけるネットワーク接続制御システムを構成するLAC制御サーバは、ユーザのアクセスしたLACから当該LACのLAC識別子(IPアドレス)であるアクセスLAC識別子と、ユーザの指定したLNSグループのLNSグループ識別子である指定LNSグループ識別子とを取得した場合に、「第一対応テーブル」を参照して、当該アクセスLAC識別子に対応するLACグループ識別子を検索し、「第二対応テーブル」を参照して、検索された当該LACグループ識別子および当該指定LNSグループ識別子に対応するLNSサブグループ識別子を検索し、「第三対応テーブル」を参照して、検索された当該LNSサブグループおよび当該指定LNSグループ識別子に対応する「一つまたは複数のLNS」としての「接続先LNS候補」を検索する。
例えば、図1の(B)に示すように、ユーザ端末がアクセスしたLACから、当該LACの「IPアドレス」である「アクセスLAC識別子:10.2.1.104」と、ユーザの指定したLNSグループのLNSグループ識別子である「指定LNSグループ識別子:LNSグループ2」とを取得した場合に、実施例1におけるネットワーク接続制御システムを構成するLAC制御サーバは、「アクセスLAC識別子:10.2.1.104」を検索キーとして「第一対応テーブル」を参照し、「LACグループ識別子:LACグループ1」を検索する。続いて、実施例1におけるネットワーク接続制御システムを構成するLAC制御サーバは、検索された「LACグループ識別子:LACグループ1」および「指定LNSグループ識別子:LNSグループ2」を検索キーとして「第二対応テーブル」を参照し、「LNSサブグループ識別子:LNSサブグループ2.1」を検索する。そののち、実施例1におけるネットワーク接続制御システムを構成するLAC制御サーバは、「指定LNSグループ識別子:LNSグループ2」および検索された「LNSサブグループ識別子:LNSサブグループ2.1」を検索キーとして「第二対応テーブル」を参照し、「LNSサブグループ2.1」に所属する複数のLNSである「LNS3、LNS4」を「接続先LNS候補」として検索する。
そして、実施例1におけるネットワーク接続制御システムを構成するLAC制御サーバは、検索された「接続先LNS候補」を選択し、選択された接続先LNS候補を当該ユーザのアクセスしたLACに通知する。例えば、「アクセスLAC識別子:10.2.1.104」のLACに、当該LACがL2TPによってネットワークを介して接続すべき接続先LNS候補は「LNS3、LNS4」であると通知する。
そして、実施例1におけるネットワーク接続制御システムを構成するLACは、通知された接続先LNS候補から、「負荷が最小となっているLNS」、「ランダムに選択したLNS」、「過去に選択された回数が最小となるLNS」、「過去に選択された回数が最多となるLNS」、「接続先LNSが検索されるごとに順番に選択したLNS」、「LNSごとにつけられた優先順位を基に優先順位の最も高いLNS」、といった基準、または、複数の組み合わせによって構成される基準によって、一つのLNSを選択し、選択した一つのLNSとの間にL2TPによる接続を確立する。例えば、接続先LNS候補である「LNS3、LNS4」から、「ランダムに選択したLNS」とする基準によって、「LNS3」を選択し、選択した「LNS3」との間にL2TPによる接続を確立する。
なお、本実施例では、LAC制御サーバが、3つの対応テーブルを記憶し、取得した「アクセスLAC識別子」および「指定LNSグループ識別子」と、3つの対応テーブルとを連続的に参照して「接続先LNS候補」を検索する場合について説明したが、本発明はこれに限定されるものではなく、LAC制御サーバが「LAC識別子」と「LNSグループ識別子」と「接続先LNS候補」を対応付けた対応テーブルのみを記憶し、取得した「アクセスLAC識別子」および「指定LNSグループ識別子」と、当該対応テーブルとを参照して「接続先LNS候補」を検索する場合であってもよい。
また、LAC制御サーバが、「LNSサブグループ識別子」と「LAC識別子」と「LNSグループ識別子」とを対応付けた「対応テーブル1」、および、「LNSグループ識別子」と「LNSサブグループ識別子」と「接続先LNS候補」とを対応付けた「対応テーブル2」を記憶し、取得した「アクセスLAC識別子」および「指定LNSグループ識別子」から、「対応テーブル1」を参照して「LNSサブグループ識別子」を検索し、検索された「LNSサブグループ識別子」から、「対応テーブル2」を参照して「接続先LNS候補」を検索する場合であってもよい。
また、LAC制御サーバが、「LAC識別子」と「LACグループ識別子」とを対応付けた「対応テーブルA」、および、「LACグループ識別子」と「LNSグループ識別子」と「接続先LNS候補」とを対応付けた「対応テーブルB」を記憶し、取得した「アクセスLAC識別子」から、「対応テーブルA」を参照して「LACグループ識別子」を検索し、検索された「LACグループ識別子」および取得した「指定LNSグループ識別子」から、「対応テーブルB」を参照して「接続先LNS候補」を検索する場合であってもよい。
このようなことから、実施例1におけるネットワーク接続制御システムは、異なる情報端末が同じLNSグループを指定した場合でも、接続先LNS候補を適切に割り振った対応テーブルを参照することで、一つのネットワーク接続制御装置によってLACグループごとに異なる接続先LNS候補を選択することができるので、上記した主たる特徴のごとく、簡易かつ適切にL2TPによる接続を制御することが可能になる。
[実施例1におけるLAC制御サーバの構成]
次に、図2〜5を用いて、実施例1におけるLAC制御サーバの構成を説明する。図2は、実施例1におけるLAC制御サーバの構成を示すブロック図であり、図3は、実施例1における第一対応テーブル記憶部を説明するための図であり、図4は、実施例1における第二対応テーブル記憶部を説明するための図であり、図5は、実施例1における第三対応テーブル記憶部を説明するための図である。
図2に示すように、実施例1におけるLAC制御サーバ10は、通信制御I/F部11と、記憶部12と、処理部13とから構成され、さらに、LAC20とネットワークを介して接続される。なお、図2では、LAC20を一つのみ示しているが、本実施例では、LACが複数存在し、LACそれぞれが、LAC制御サーバ10とネットワークを介して接続されているものとする。
通信制御I/F部11は、LAC20と、記憶部12および処理部13との間でやり取りする各種情報に関する通信を制御する。例えば、LAC20が送信した「アクセスLAC識別子」および「指定LNSグループ識別子」を処理部13に転送したり、後述する接続先LNS候補選択通知部13dが選択した「接続先LNS候補」をLAC20に転送したりする。
記憶部12は、後述する処理部13による各種処理に用いるデータを記憶し、特に本発明に密接に関連するものとしては、図2に示すように、第一対応テーブル記憶部12aと、第二対応テーブル記憶部12bと、第三対応テーブル記憶部12cとを備える。なお、第一対応テーブル記憶部12aと、第二対応テーブル記憶部12bと、第三対応テーブル記憶部12cとは、特許請求の範囲に記載の「保持工程」に対応する。
第一対応テーブル記憶部12aは、LACを一意に特定するためのLAC識別子と、LACをグループ分けした各LACグループを一意に特定するためのLACグループ識別子とを対応付けた「第一対応テーブル」を記憶する。具体的には、図3に示すように、LAC識別子としての「IPアドレス」と「LACグループ識別子」とを対応付けて記憶する。例えば、図3に示すように、LAC識別子である「IPアドレス:10.2.1.101」と「LACグループ識別子:LACグループ2」とを対応付けて記憶し、LAC識別子である「IPアドレス:10.2.1.104」と「LACグループ識別子:LACグループ1」とを対応付けて記憶する。
第二対応テーブル記憶部12bは、LACグループ識別子と、LNSをグループ分けした各LNSグループを一意に特定するためのLNSグループ識別子と、LNSグループをさらに分割した各LNSサブグループを一意に特定するためのLNSサブグループ識別子とを対応付けた「第二対応テーブル」を記憶する。具体的には、図4に示すように、「LACグループ識別子:LACグループ1」と「LNSグループ識別子:LNSグループ2」と「LNSサブグループ識別子:LNSサブグループ2.3」とを対応付けて記憶し、「LACグループ識別子:LACグループ2」と「LNSグループ識別子:LNSグループ2」と「LNSサブグループ識別子:LNSサブグループ2.2」とを対応付けて記憶する。
第三対応テーブル記憶部12cは、LNSグループ識別子と、LNSサブグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSである接続先LNS候補とを対応付けた「第三対応テーブル」を記憶する。具体的には、図5に示すように、「LNSグループ識別子:LNSグループ2」と「LNSサブグループ識別子:LNSサブグループ2.2」と「接続先LNS候補:LNS10、LNS11」とを対応付けて記憶すし、「LNSグループ識別子:LNSグループ2」と「LNSサブグループ識別子:LNSサブグループ2.3」と「接続先LNS候補:LNS12、LNS13、LNS14」とを対応付けて記憶する。
処理部13は、各種処理を実行し、特に本発明に密接に関連するものとしては、図2に示すように、LACグループ検索部13aと、LNSサブグループ検索部13bと、接続先LNS候補検索部13cと、接続先LNS候補選択通知部13dとを備える。ここで、LACグループ検索部13aと、LNSサブグループ検索部13bと、接続先LNS候補検索部13cとは、特許請求の範囲に記載の「LNS検索工程」に対応し、接続先LNS候補選択通知部13dは、同じく「接続先LNS候補選択通知工程」に対応する。
LACグループ検索部13aは、通信制御部I/F部11を介して、ユーザのアクセスしたLAC20から当該LACのLAC識別子(IPアドレス)であるアクセスLAC識別子と、ユーザの指定したLNSグループのLNSグループ識別子である指定LNSグループ識別子とを取得した場合に、第一対応テーブル記憶部12aが記憶する「第一対応テーブル」を参照して、当該アクセスLAC識別子に対応するLACグループ識別子を検索する。具体的には、ユーザ端末がアクセスしたLACから、当該LACの「IPアドレス」である「アクセスLAC識別子:10.2.1.101」と、ユーザの指定したLNSグループのLNSグループ識別子である「指定LNSグループ識別子:LNSグループ2」とを取得した場合に、LACグループ検索部13aは、「アクセスLAC識別子:10.2.1.101」を検索キーとして、図3に示す「第一対応テーブル」を参照し、「LACグループ識別子:LACグループ2」を検索する。
また、ユーザ端末がアクセスしたLACから、当該LACの「IPアドレス」である「アクセスLAC識別子:10.2.1.104」と、ユーザの指定したLNSグループのLNSグループ識別子である「指定LNSグループ識別子:LNSグループ2」とを取得した場合に、LACグループ検索部13aは、「アクセスLAC識別子:10.2.1.104」を検索キーとして、図3に示す「第一対応テーブル」を参照し、「LACグループ識別子:LACグループ1」を検索する。
LNSサブグループ検索部13bは、第二対応テーブル記憶部12bが記憶する「第二対応テーブル」を参照して、LACグループ検索部13aによって検索されたLACグループ識別子および取得した指定LNSグループ識別子に対応するLNSサブグループ識別子を検索する。具体的には、LNSサブグループ検索部13bは、LACグループ検索部13aによって検索された「LACグループ識別子:LACグループ2」および取得した「指定LNSグループ識別子:LNSグループ2」を検索キーとして、図4に示す「第二対応テーブル」を参照し、「LNSサブグループ識別子:LNSサブグループ2.2」を検索する。
また、LNSサブグループ検索部13bは、LACグループ検索部13aによって検索された「LACグループ識別子:LACグループ1」および取得した「指定LNSグループ識別子:LNSグループ2」を検索キーとして、図4に示す「第二対応テーブル」を参照し、「LNSサブグループ識別子:LNSサブグループ2.3」を検索する。
接続先LNS候補検索部13cは、第三対応テーブル記憶部12cが記憶する「第三対応テーブル」を参照して、LNSサブグループ検索部13bによって検索されたLNSサブグループおよび取得した指定LNSグループ識別子に対応する「一つまたは複数のLNS」としての「接続先LNS候補」を検索する。具体的には、接続先LNS候補検索部13cは、LNSサブグループ検索部13bによって検索された「LNSサブグループ識別子:LNSサブグループ2.2」および取得した「指定LNSグループ識別子:LNSグループ2」を検索キーとして、図5に示す「第三対応テーブル」を参照し、「接続先LNS候補:LNS10、LNS11」を検索する。
また、接続先LNS候補検索部13cは、LNSサブグループ検索部13bによって検索された「LNSサブグループ識別子:LNSサブグループ2.3」および取得した「指定LNSグループ識別子:LNSグループ2」を検索キーとして、図5に示す「第三対応テーブル」を参照し、「接続先LNS候補:LNS12、LNS13、LNS14」を検索する。
接続先LNS候補選択通知部13dは、接続先LNS候補検索部13cによって検索された「接続先LNS候補」を選択し、選択された接続先LNS候補をユーザのアクセスしたLAC20に通知する。例えば、「指定LNSグループ識別子:LNSグループ2」を送信した「アクセスLAC識別子:10.2.1.101」のLAC20に、当該LACがL2TPによってネットワークを介して接続すべき接続先LNS候補は「LNS10、LNS11」であると通知する。また、同じ「指定LNSグループ識別子:LNSグループ2」を送信した「アクセスLAC識別子:10.2.1.104」のLAC20に、当該LACがL2TPによってネットワークを介して接続すべき接続先LNS候補は「LNS12、LNS13、LNS14」であると通知する。
[実施例1におけるLACの構成]
次に、図6を用いて、実施例1におけるLACの構成を説明する。図6は、実施例1におけるLACの構成を示すブロック図である。
図6に示すように、実施例1におけるLAC20は、通信制御I/F部21と、記憶部22と、処理部23とから構成され、さらに、LAC制御サーバ10と、ユーザ端末30と、LNS40とネットワークを介して接続される。なお、図6では、ユーザ端末30およびLNS40それぞれを一つのみ示しているが、本実施例では、ユーザ端末30およびLNS40が複数存在し、ユーザ端末30およびLNS40それぞれが、LAC20とネットワークを介して接続されているものとする。
通信制御I/F部21は、LAC制御サーバ10と、ユーザ端末30と、LNS40と記憶部22および処理部23との間でやり取りする各種情報に関する通信を制御する。例えば、LAC制御サーバ10へ、ユーザ端末30から受信した「指定LNSグループ識別子」や、自身の「アクセスLAC識別子」を転送したり、LAC制御サーバ10から受信した「接続先LNS候補」を後述するLNS選択接続部23aに転送したり、後述するLNS選択接続部23aが選択したLNS40との通信を制御したりする。
記憶部22は、後述する処理部23による処理に用いるデータを記憶し、特に本発明に密接に関連するものとしては、図6に示すように、基準記憶部22aを備える。
基準記憶部22aは、後述するLNS選択接続部23aが一つのLNSを選択する際に用いられる基準を記憶する。例えば、「負荷が最小となっているLNS」、「ランダムに選択したLNS」、「過去に選択された回数が最小となるLNS」、「過去に選択された回数が最多となるLNS」、「接続先LNSが検索されるごとに順番に選択したLNS」、「LNSごとにつけられた優先順位を基に優先順位の最も高いLNS」、といった基準を記憶する。
処理部23は、各種処理を実行し、特に本発明に密接に関連するものとしては、図6に示すように、LNS選択接続部23aを備える。ここで、LNS選択接続部23aは、特許請求の範囲に記載の「LNS選択接続工程」に対応する。
LNS選択接続部23aは、LAC制御サーバ10から、通信制御I/F部21を介して通知された接続先LNS候補から、基準記憶部22aが記憶する複数の基準から、一つの基準、または、複数の組み合わせによって構成される基準によって、一つのLNSを選択し、選択した一つのLNSとの間にL2TPによる接続を確立する。
具体的には、「指定LNSグループ識別子:LNSグループ2」を送信した「LAC識別子:10.2.1.101」のLAC20におけるLNS選択接続部23aは、「接続先LNS候補:LNS10、LNS11」から、例えば、「ランダムに選択したLNS」とする基準によって、「LNS10」であるLNSを選択し、選択した「LNS10」との間にL2TPによる接続を確立する。また、「指定LNSグループ識別子:LNSグループ2」を送信した「LAC識別子:10.2.1.104」のLAC20におけるLNS選択接続部23aは、「接続先LNS候補:LNS12、LNS13、LNS14」から、例えば、「負荷が最小となっているLNS」とする基準によって、「LNS14」であるLNSを選択し、選択した「LNS14」との間にL2TPによる接続を確立する。
[実施例1におけるネットワーク接続制御システムの処理の手順]
次に、図7および図8を用いて、実施例1におけるネットワーク接続制御システムの処理を説明する。図7は、実施例1におけるLAC制御サーバの処理を説明するための図であり、図8は、実施例1におけるLACの処理を説明するための図である。
[実施例1におけるLAC制御サーバの処理の手順]
図7に示すように、まず、実施例1におけるLAC制御サーバ10は、ユーザのアクセスしたLAC20からアクセスLAC識別子と指定LNSグループ識別子とを含むデータを受信すると(ステップS701肯定)、LACグループ検索部13aは、第一対応テーブル記憶部12aが記憶する「第一対応テーブル」を参照して、当該アクセスLAC識別子に対応するLACグループ識別子を検索する(ステップS702)。具体的には、ユーザ端末がアクセスしたLACから、当該LACの「IPアドレス」である「アクセスLAC識別子:10.2.1.101」と、ユーザの指定したLNSグループのLNSグループ識別子である「指定LNSグループ識別子:LNSグループ2」とを取得した場合に、LACグループ検索部13aは、「アクセスLAC識別子:10.2.1.101」を検索キーとして、図3に示す「第一対応テーブル」を参照し、「LACグループ識別子:LACグループ2」を検索する。
続いて、LNSサブグループ検索部13bは、第二対応テーブル記憶部12bが記憶する「第二対応テーブル」を参照して、LACグループ検索部13aによって検索されたLACグループ識別子および取得した指定LNSグループ識別子に対応するLNSサブグループ識別子を検索する(ステップS703)。具体的には、LNSサブグループ検索部13bは、LACグループ検索部13aによって検索された「LACグループ識別子:LACグループ2」および取得した「指定LNSグループ識別子:LNSグループ2」を検索キーとして、図4に示す「第二対応テーブル」を参照し、「LNSサブグループ識別子:LNSサブグループ2.2」を検索する。
そののち、接続先LNS候補検索部13cは、第三対応テーブル記憶部12cが記憶する「第三対応テーブル」を参照して、LNSサブグループ検索部13bによって検索されたLNSサブグループ識別子および取得した指定LNSグループ識別子に対応する「一つまたは複数のLNS」としての「接続先LNS候補」を検索する(ステップS704)。具体的には、接続先LNS候補検索部13cは、LNSサブグループ検索部13bによって検索された「LNSサブグループ識別子:LNSサブグループ2.2」および取得した「指定LNSグループ識別子:LNSグループ2」を検索キーとして、図5に示す「第三対応テーブル」を参照し、「接続先LNS候補:LNS10、LNS11」を検索する。
そして、接続先LNS候補選択通知部13dは、接続先LNS候補検索部13cによって検索された「接続先LNS候補」を選択し、選択された接続先LNS候補をユーザのアクセスしたLAC20に送信して(ステップS705)、処理を終了する。例えば、「指定LNSグループ識別子:LNSグループ2」を送信した「アクセスLAC識別子:10.2.1.101」のLAC20に、当該LACがL2TPによってネットワークを介して接続すべき接続先LNS候補は「LNS10、LNS11」であると送信する。
[実施例1におけるLACの処理の手順]
図8に示すように、まず、実施例1におけるLAC20は、ユーザ端末30からアクセスされて、指定LNSグループ識別子を受信すると(ステップS801肯定)、LAC制御サーバに自身のLAC識別子であるアクセスLAC識別子と指定LNSグループ識別子とを、LAC制御サーバ10に送信する(ステップS802)。例えば、実施例1におけるLAC20は、ユーザ端末30から「指定LNSグループ識別子:LNSグループ2」を受信すると、自身のLAC識別子である「アクセスLAC識別子:10.2.1.101」と「指定LNSグループ識別子:LNSグループ2」とをLAC制御サーバ10に送信する。
続いて、LNS選択接続部23aは、LAC制御サーバ10から接続先LNS候補を受信すると(ステップS803肯定)、受信した接続先LNS候補から一つのLNSを選択する(ステップS804)。具体的には、「指定LNSグループ識別子:LNSグループ2」を送信した「LAC識別子:10.2.1.101」のLAC20におけるLNS選択接続部23aは、「接続先LNS候補:LNS10、LNS11」から、例えば、「ランダムに選択したLNS」とする基準によって、「LNS10」であるLNSを選択する。
そののち、LNS選択接続部23aは、選択した一つのLNSとの間にL2TPによる接続を確立して(ステップS805)、処理を終了する。具体的には、「指定LNSグループ識別子:LNSグループ2」を送信した「LAC識別子:10.2.1.101」のLAC20におけるLNS選択接続部23aは、選択した「LNS10」との間にL2TPによる接続を確立する。
[実施例1の効果]
上記したように、実施例1によれば、LAC制御サーバ10は、LAC識別子と、LACグループ識別子とを対応付けた第一対応テーブル、LACグループ識別子と、LNSグループ識別子と、LNSサブグループ識別子とを対応付けた第二対応テーブル、および、LNSグループ識別子と、LNSサブグループ識別子と、各LNSサブグループに所属する一つまたは複数のLNSとを対応付けた第三対応テーブルを記憶し、ユーザのアクセスしたLAC20からアクセスLAC識別子と指定LNSグループ識別子とを取得した場合に、第一対応テーブルを参照して、当該アクセスLAC識別子に対応するLACグループ識別子を検索し、第二対応テーブルを参照して、検索された当該LACグループ識別子および当該指定LNSグループ識別子に対応するLNSサブグループ識別子を検索し、第三対応テーブルを参照して、検索された当該LNSサブグループおよび当該指定LNSグループ識別子に対応する一つまたは複数のLNSを接続先LNS候補として検索し、検索された接続先LNS候補を選択し、選択された接続先LNS候補を当該ユーザのアクセスしたLAC20に通知する。また、LAC20は、選択されて通知された接続先LNS候補から、「負荷が最小となっているLNS」、「ランダムに選択したLNS」、「過去に選択された回数が最小となるLNS」、「過去に選択された回数が最多となるLNS」、「接続先LNSが検索されるごとに順番に選択したLNS」、「LNSごとにつけられた優先順位を基に優先順位の最も高いLNS」、といった基準、または、複数の組み合わせによって構成される基準によって、一つのLNSを選択し、選択した一つのLNSとの間にL2TPによる接続を確立するので、異なる情報端末が同じLNSグループを指定した場合でも、接続先LNS候補を適切に割り振った対応テーブルを参照することで、一つのネットワーク接続制御装置によってLACグループごとに異なる接続先LNS候補を選択することができるので、簡易かつ適切にL2TPによる接続を制御することが可能になる。また、各LACは、選択された接続先LNS候補から柔軟な基準に沿って一つのLNSを選択して接続することができるので、適切にL2TPによる接続を制御することが可能になる。さらに、一つのネットワーク接続制御装置において、対応テーブルをさらに分割して複数保持することで、各対応テーブルにおいて記載される項目の数をさらに削減し、これら複数の対応テーブルを参照することで、より効率よく接続先LNS候補を選択することができるので、簡易かつ適切にL2TPによる接続を制御することが可能になる。
上述した実施例1では、対応テーブルを参照して接続先LNS候補を検索する場合について説明したが、実施例2では、一度検索された接続先LNS候補をキャッシュとして管理し、キャッシュを参照して接続先LNS候補を検索する場合について説明する。
[実施例2におけるネットワーク接続制御システムの概要および特徴]
まず最初に、図9−1および図9−2を用いて、実施例2におけるネットワーク接続制御システムの主たる特徴を具体的に説明する。図9−1および図9−2は、実施例2におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例2におけるネットワーク接続制御システムを構成するLAC制御サーバは、検索されて選択された接続先LNS候補を、アクセスLAC識別子に対応するLACグループ識別子と指定LNSグループ識別子とに対応付けたキャッシュとして管理するが、接続先LNS候補を含むデータを、当該接続先LNS候補におけるアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理するとともに、接続先LNS候補を含むデータを、接続先LNS候補がキャッシュにおいて最後に参照された時刻の古いものから新しいものへと順に結合されたリスト構造によって管理する。
すなわち、実施例2におけるネットワーク接続制御システムを構成するLAC制御サーバは、一度検索されて選択された接続先LNS候補を、図9−1の(A)に示すように、LACグループ識別子とLNSグループ識別子とに対応付けた「接続先LNS候補キャッシュデータ」として管理し、「接続先LNS候補キャッシュデータ」ごとに、LACグループ識別子とLNSグループ識別子(指定LNSグループ識別子)から算出されるハッシュ値に対応付けて管理する。また、図9−1の(A)に示すように、接続先LNS候補キャッシュデータを、参照時刻の古いものから新しいものへと順に結合されたリスト構造によって管理する。
例えば、図9−1の(A)に示すように、「接続先LNS候補:LNS1、LNS2、LNS3」を含む「接続先LNS候補キャッシュデータ」を、「LACグループ識別子:LACグループ1」と「LNSグループ識別子:LNSグループ1」から算出される「ハッシュ値:0001」に対応付けて管理し、「接続先LNS候補:LNS1、LNS2、LNS3」を含む「接続先LNS候補キャッシュデータ」、「接続先LNS候補:LNS9」を含む「接続先LNS候補キャッシュデータ」、「接続先LNS候補:LNS6、LNS7、LNS8」を含む「接続先LNS候補キャッシュデータ」といったように、参照時刻の古いものから新しいものへと順に結合されたリスト構造によって管理する。
そして、実施例2におけるネットワーク接続制御システムを構成するLAC制御サーバは、ユーザのアクセスしたLACから取得したアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いてキャッシュを参照して、接続先LNS候補を検索する。
具体的には、実施例1で説明した図3に示す第一対応テーブルを参照してアクセスLAC識別子に対応するLACグループ識別子を検索し、検索されたLACグループ識別子と取得した指定LNSグループ識別子とからハッシュ値を算出する。例えば、図9−1の(B)に示すように、「アクセスLAC識別子:10.2.1.101」および「指定LNSグループ識別子:LNSグループ1」をユーザのアクセスしたLACから取得すると、第一対応テーブルを参照して、「アクセスLAC識別子:10.2.1.101」に対応する「LACグループ識別子:LACグループ2」を検索する。そして、検索された「LACグループ識別子:LACグループ2」と「指定LNSグループ識別子:LNSグループ1」とから「ハッシュ値:0004」を算出する。そして、図9−1の(A)に示すリスト構造で結合された「接続先LNS候補キャッシュデータ」それぞれに対応するハッシュ値の中で、算出された「ハッシュ値:0004」と一致する「接続先LNS候補キャッシュデータ」に含まれる「接続先LNS候補:LNS6、LNS7、LNS8」を検索する。
そして、実施例2におけるネットワーク接続制御システムを構成するLAC制御サーバは、算出されたハッシュ値に該当する接続先LNS候補を含む「接続先LNS候補キャッシュデータ」が存在する場合、当該接続先LNS候補を含む「接続先LNS候補キャッシュデータ」をリスト構造の最後尾に繋ぎ変えて管理する。例えば、図9−1の(C)に示すように、「ハッシュ値:0004」と一致する「接続先LNS候補:LNS6、LNS7、LNS8」を含む「接続先LNS候補キャッシュデータ」を、最も新しく参照された「接続先LNS候補キャッシュデータ」として、リスト構造の最後尾に繋ぎ変える。
また、実施例2におけるネットワーク接続制御システムを構成するLAC制御サーバは、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達しておらず、かつ、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、新たな接続先LNS候補を含むデータをハッシュ値に対応付けるとともにリスト構造の最後尾に新たに格納して管理する。
例えば、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達しておらず、かつ、図9−2の(D)に示すように、新たに、実施例1における第一対応テーブル〜第三対応テーブルを連続的に参照して「LACグループ識別子:LACグループ2」と「指定LNSグループ識別子:LNSグループ2」に対応する「接続先LNS候補:LNS10、LNS11」が検索された選択された場合、これらを含むデータを「接続先LNS候補キャッシュデータ」として、「ハッシュ値:0006」に対応付けるとともに、リスト構造の最後尾に新たに格納して管理する。
また、実施例2におけるネットワーク接続制御システムを構成するLAC制御サーバは、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達した後に、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、リスト構造の先頭に位置する接続先LNS候補を含むデータを、新たに検索されて選択された接続先LNS候補を含むデータに変更して格納し、変更して格納された接続先LNS候補を含むデータをハッシュ値に対応付けるとともにリスト構造の最後尾に移動して管理する。
例えば、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達した後に、図9−2の(E)に示すように、実施例1における第一対応テーブル〜第三対応テーブルを連続的に参照して、新たに、「LACグループ識別子:LACグループ2」と「指定LNSグループ識別子:LNSグループ2」に対応する「接続先LNS候補:LNS10、LNS11」が検索された選択された場合、リスト構造の先頭に位置する「接続先LNS候補キャッシュデータ(「LACグループ識別子:LACグループ1」、「LNSグループ識別子:LNSグループ1」、「接続先LNS候補:LNS1、LNS2、LNS3」)」を、新たに検索されて選択された接続先LNS候補を含むデータに変更して格納し(図9−2の(E)の(1)参照)、変更して格納された接続先LNS候補を含むデータを「ハッシュ値:0006」に対応付けるとともにリスト構造の最後尾に移動して管理する(図9−2の(E)の(2)参照)。
ここで、実施例2におけるネットワーク接続制御システムを構成するLACは、実施例1におけるネットワーク接続制御システムを構成するLACと同様な処理を行なうので説明を省略する。
なお、本実施例では、検索されて選択された接続先LNS候補を、アクセスLAC識別子に対応するLACグループ識別子と指定LNSグループ識別子とに対応付けたキャッシュとして管理する場合について説明したが、本発明はこれに限定されるものではなく、検索されて選択された接続先LNS候補を、アクセスLAC識別子と指定LNSグループ識別子とに対応付けたキャッシュとして管理する場合であってもよい。
このようなことから、実施例2におけるネットワーク接続制御システムは、選択されたことのある接続先LNS候補においては、アクセスLAC識別子に対応するLACグループ識別子と指定LNSグループ識別子とから容易に接続先LNS候補を検索して選択することができ、高速にL2TPによる接続を制御することが可能になる。
[実施例2におけるLAC制御サーバの構成]
次に、図10および図11を用いて、実施例2におけるLAC制御サーバの構成を説明する。図10は、実施例2におけるLAC制御サーバの構成を示すブロック図であり、図11は、実施例2における接続先LNS候補キャッシュ記憶部を説明するための図である。なお、実施例2におけるLAC20の構成は、図6で説明した実施例1におけるLAC20の構成と同様であるので、説明を省略する。
図10に示すように、実施例2におけるLAC制御サーバ10は、図2に示した実施例1におけるLAC制御サーバ10と基本的に同様であり、接続先LNS候補キャッシュ管理部13eと、接続先LNS候補キャッシュ記憶部12dとを新たに備えているところが相違する。以下、これらについて簡単に説明する。
接続先LNS候補キャッシュ管理部13eは、接続先LNS候補検索部13cによって検索された接続先LNS候補を、アクセスLAC識別子に対応するLACグループ識別子と指定LNSグループ識別子とに対応付けたキャッシュとして接続先LNS候補キャッシュ記憶部12dに格納して管理するが、接続先LNS候補を含むデータを、当該接続先LNS候補におけるアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理するとともに、接続先LNS候補を含むデータを、接続先LNS候補がキャッシュにおいて最後に参照された時刻の古いものから新しいものへと順に結合されたリスト構造によって管理する。
ここで、接続先LNS候補キャッシュ管理部13eが管理して接続先LNS候補キャッシュ記憶部12dに格納するリスト構造からなるキャッシュデータについて、図11を用いて説明する。図11に示す「接続先LNS候補検索用ハッシュテーブル」は、「アクセスLAC識別子」に対応する「LACグループ識別子」と「指定LNSグループ識別子」とから算出されるハッシュ値を管理する。当該「接続先LNS候補検索用ハッシュテーブル」には、各ハッシュ値をもつ接続先LNS候補を含むデータである「接続先LNS候補キャッシュデータ」が、図11に示すように、リスト構造で連結されて管理されている。また、「ハッシュ値」に対応する「接続先LNS候補キャッシュデータ」が存在しない場合には、「接続先LNS候補検索用ハッシュテーブル」における「接続先LNS候補キャッシュデータ」の項目の値が「NULL」となっている。
「接続先LNS候補キャッシュデータ」は、「LACグループ識別子」、「LNSグループ識別子」、「接続先LNS候補」、同一のハッシュ値をもつ次の「接続先LNS候補キャッシュデータ」を示している「次データ」、および、「接続先LNS候補キャッシュデータ」が最後に参照された時刻の新しさを管理するための「参照順序管理データ」が参照するデータである「参照時刻管理データ」を含む。
例えば、図11に示すように、ハッシュ値として「0001」をもつ「接続先LNS候補キャッシュデータ」は、「接続先LNS候補:LNS1、LNS2、LNS3」を含む「接続先LNS候補キャッシュデータ」以外には存在しないことを、当該「接続先LNS候補キャッシュデータ」の「次データ:NULL」で示している(ハッシュ値として「0004」をもつ「接続先LNS候補キャッシュデータ」においても同様)。
また、ハッシュ値として「0006」をもつ「接続先LNS候補キャッシュデータ」は、「接続先LNS候補検索用ハッシュテーブル」における「接続先LNS候補キャッシュデータ」項目からの連結が示すように、「接続先LNS候補:LNS9」を含む「接続先LNS候補キャッシュデータ」である。また、当該「接続先LNS候補キャッシュデータ」の「次データ」が「接続先LNS候補:LNS10、LNS11」を含む「接続先LNS候補キャッシュデータ」に連結されていることから、このデータも「ハッシュ値:0006」であり、かつ、当該データの「次データ:NULL」であるので、これら2つのデータのみが「ハッシュ値:0006」をもつことを示している。このように、「ハッシュ値:0006」をもつ2つの「接続先LNS候補キャッシュデータ」がリスト構造で連結されているので、同じハッシュ値をもつデータが複数ある場合でも、「接続先LNS候補検索用ハッシュテーブル」を用いた「接続先LNS候補」の検索が可能となる。
また、図11に示すように、「参照順序管理データ」は、「参照時刻管理データ」に基づいて、最終参照時刻の古いものから新しいものへと順に結合されたリスト構造である「参照順序管理リンク構造」を用いて接続される。さらに、「参照順序管理リンク構造」の先頭および最後尾の「接続先LNS候補キャッシュデータ」は、「参照順序管理リンク構造用両端管理データ」における「リスト先頭」項目および「リスト最後尾」項目によって管理されている。
なお、接続先LNS候補キャッシュ管理部13eの各種処理については、以下の[実施例2におけるLAC制御サーバの処理の手順]において詳細に説明する。
[実施例2におけるLAC制御サーバの処理の手順]
次に、図12〜14を用いて、実施例2におけるLAC制御サーバの処理を説明する。図12は、実施例2におけるLAC制御サーバの全体的な処理を説明するための図であり、図13は、実施例2におけるLAC制御サーバのキャッシュ検索処理を説明するための図であり、図14は、実施例2におけるLAC制御サーバのキャッシュ格納処理を説明するための図である。
[実施例2におけるLAC制御サーバの全体的な処理の手順]
図12に示すように、まず、実施例2におけるLAC制御サーバ10は、ユーザのアクセスしたLAC20からアクセスLAC識別子と指定LNSグループ識別子とを含むデータを受信すると(ステップS1201肯定)、LACグループ検索部13aは、第一対応テーブル記憶部12aが記憶する「第一対応テーブル」を参照して、当該アクセスLAC識別子に対応するLACグループ識別子を検索する(ステップS1202)。
そして、接続先LNS候補キャッシュ管理部13eは、LACグループ検索部13aによって検索された「LACグループ識別子」と「指定LNSグループ識別子」とを用いて、接続先LNS候補キャッシュ記憶部12dが記憶する「接続先LNS候補キャッシュデータ」の検索を行ない(ステップS1203)、「LACグループ識別子」と「指定LNSグループ識別子」とに該当する「接続先LNS候補キャッシュデータ」に存在するか否かを判定する(ステップS1204)。
続いて、「LACグループ識別子」と「指定LNSグループ識別子」とに該当する「接続先LNS候補キャッシュデータ」が存在する場合は(ステップS1204肯定)、接続先LNS候補選択通知部13dは、当該「接続先LNS候補キャッシュデータ」に含まれる「接続先LNS候補」を選択して、当該「接続先LNS候補」をユーザのアクセスしたLACに送信し(ステップS1208)、処理を終了する。
これに反して、「LACグループ識別子」と「指定LNSグループ識別子」とに該当する「接続先LNS候補キャッシュデータ」が存在しない場合は(ステップS1204否定)、LNSサブグループ検索部13bは、第二対応テーブル記憶部12bが記憶する「第二対応テーブル」を参照して、LACグループ検索部13aによって検索されたLACグループ識別子および取得した指定LNSグループ識別子に対応するLNSサブグループ識別子を検索する(ステップS1205)。
そののち、接続先LNS候補検索部13cは、第三対応テーブル記憶部12cが記憶する「第三対応テーブル」を参照して、LNSサブグループ検索部13bによって検索されたLNSサブグループおよび取得した指定LNSグループ識別子に対応する「一つまたは複数のLNS」としての「接続先LNS候補」を、新たに検索する(ステップS1206)。
そして、接続先LNS候補キャッシュ管理部13eは、新たに検索された「接続先LNS候補」を含むデータを、接続先LNS候補キャッシュ記憶部12dに格納する(ステップS1207)。
続いて、接続先LNS候補選択通知部13dは、接続先LNS候補検索部13cによって検索された「接続先LNS候補」を選択し、選択された接続先LNS候補をユーザのアクセスしたLAC20に送信して(ステップS1208)、処理を終了する。
なお、実施例2におけるLAC20の処理の手順は、図8で説明した実施例1におけるLAC20の処理の手順と同様であるので、説明を省略する。
[実施例2におけるLAC制御サーバのキャッシュ検索処理の手順]
図13に示すように、まず、実施例2におけるLAC制御サーバ10は、LACグループ検索部13aによって検索されたLACグループ識別子および取得した指定LNSグループ識別子を受け付けると(ステップS1301肯定)、接続先LNS候補キャッシュ管理部13eは、検索されたLACグループ識別子および取得した指定LNSグループ識別子からハッシュ値を算出する(ステップS1302)。
続いて、接続先LNS候補キャッシュ管理部13eは、接続先LNS候補キャッシュ記憶部12dが記憶する「接続先LNS候補検索用ハッシュテーブル」から、算出されたハッシュ値をもつ「接続先LNS候補キャッシュデータ」を検索する(ステップS1303)。
そして、接続先LNS候補キャッシュ管理部13eは、該当するLACグループ識別子とLNSグループ識別子とをもつ「接続先LNS候補キャッシュデータ」が存在しない場合には(ステップS1304否定)、「キャッシュに無し」と判断して(ステップS1309)、処理を終了する。
これに反して、接続先LNS候補キャッシュ管理部13eは、該当するLACグループ識別子とLNSグループ識別子とをもつ「接続先LNS候補キャッシュデータ」が存在する場合には(ステップS1304肯定)、「キャッシュに存在」と判断し(ステップS1305)、接続先LNS候補キャッシュ記憶部12dが記憶する検索された「接続先LNS候補キャッシュデータ」の「参照時刻管理データ」項目から、対応する「参照時刻管理データ」を検索する(ステップS1306)。
そして、接続先LNS候補キャッシュ管理部13eは、該当する「参照時刻管理データ」を「参照順序管理リンク構造」の最後尾に移動する(ステップS1307)。すなわち、検索した「参照時刻管理データ」を「参照順序管理リンク構造」から切り離し、「参照順序管理リンク構造用両端管理データ」の「リスト最後尾」項目を用いて、切り離した「参照時刻管理データ」を「参照順序管理リンク構造」の最後尾に接続する。
続いて、接続先LNS候補キャッシュ管理部13eは、「参照順序管理リンク構造用両端管理データ」を更新して(ステップS1308)、処理を終了する。すなわち、「参照順序管理リンク構造用両端管理データ」の「リスト最後尾」項目を、接続した「参照時刻管理データ」として更新する。
[実施例2におけるLAC制御サーバのキャッシュ格納処理の手順]
図14に示すように、まず、実施例2におけるLAC制御サーバ10は、新たな接続先LNS候補が検索されると(ステップS1401肯定)、既に接続先LNS候補キャッシュ記憶部12dにおいて登録されている接続先LNS候補キャッシュデータの数が上限に達しているか否かを判定する(ステップS1402)。
続いて、接続先LNS候補キャッシュ管理部13eは、既に接続先LNS候補キャッシュ記憶部12dにおいて登録されている接続先LNS候補キャッシュデータの数が上限に達している場合は(ステップS1402肯定)、接続先LNS候補キャッシュ管理部13eは、「参照順序管理リンク構造用両端管理データ」を用いて、「参照順序管理リンク構造」の先頭の「接続先LNS候補キャッシュデータ」を「接続先LNS候補検索用ハッシュテーブル」から切り離す(ステップS1403)。
そして、接続先LNS候補キャッシュ管理部13eは、切り離した「接続先LNS候補キャッシュデータ」用の「参照時刻管理データ」を、「参照順序管理リンク構造」の最後尾に移動し(ステップS1404)、切り離した「接続先LNS候補キャッシュデータ」を、検索した「接続先LNS候補」に変更する(ステップS1405)。
これに反して、接続先LNS候補キャッシュ管理部13eは、既に接続先LNS候補キャッシュ記憶部12dにおいて登録されている接続先LNS候補キャッシュデータの数が上限に達していない場合は(ステップS1402否定)、新たに「接続先LNSキャッシュデータ」および「参照時刻管理データ」に用いるメモリ領域を獲得する(ステップS1406)。
そして、接続先LNS候補キャッシュ管理部13eは、新たに獲得した「接続先LNSキャッシュデータ」のメモリ空間と、新たに獲得した「参照時刻管理データ」のメモリ空間とを接続し(ステップS1407)、新たに獲得した「参照時刻管理データ」を「参照順序管理リンク構造」の最後尾に接続する(ステップS1408)。
そののち、接続先LNS候補キャッシュ管理部13eは、新たに獲得した「接続先LNS候補キャッシュデータ用メモリ空間」に、新たに検索した「接続先LNS候補」を含むデータを書き込む(ステップS1409)。
ここで、ステップS1405の処理およびステップS1409の処理が終了すると、ともに同じ処理を引き続き行なう。すなわち、接続先LNS候補キャッシュ管理部13eは、LACグループ識別子とLNSグループ識別子とからハッシュ値を算出し(ステップS1410)、算出したハッシュ値をもとに、「接続先LNS候補検索用ハッシュテーブル」に「接続先LNS候補キャッシュデータ」を接続する(ステップS1411)。
そして、接続先LNS候補キャッシュ管理部13eは、「参照順序管理リンク構造用両端管理データ」を更新して(ステップS1412)、処理を終了する。すなわち、「参照順序管理リンク構造用両端管理データ」の「リスト最後尾」項目を、接続した「参照時刻管理データ」を参照するように変更して更新する。
[実施例2の効果]
上記したように、実施例2によれば、LAC制御サーバ10は、接続先LNS候補を含むデータを、当該接続先LNS候補におけるアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理するとともに、接続先LNS候補を含むデータを、接続先LNS候補がキャッシュにおいて最後に参照された時刻の古いものから新しいものへと順に結合されたリスト構造によって管理し、また、ユーザのアクセスしたLACから取得したアクセスLAC識別子もしくは当該アクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いてキャッシュを参照して、一つまたは複数のLNSを検索し、また、算出されたハッシュ値に該当する接続先LNS候補を含むデータがキャッシュに存在する場合、当該接続先LNS候補を含むデータをリスト構造の最後尾に繋ぎ変えて管理し、また、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達しておらず、かつ、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、新たな接続先LNS候補を含むデータをハッシュ値に対応付けるとともにリスト構造の最後尾に新たに格納して管理し、キャッシュとして管理されている接続先LNS候補の数が、キャッシュとして管理可能な数の上限に達した後に、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択された場合、リスト構造の先頭に位置する接続先LNS候補を含むデータを、新たに検索されて選択された接続先LNS候補を含むデータに変更して格納し、変更して格納された接続先LNS候補を含むデータをハッシュ値に対応付けるとともにリスト構造の最後尾に移動して管理するので、選択された接続先LNS候補の中でも、最近選択された接続先LNS候補をキャッシュとして管理してキャッシュヒット率の高い検索を実現することができ、より高速にL2TPによる接続を制御することが可能になる。また、ハッシュ値に基づいて検索を行なうので、効率のよい検索を行なうことが可能になる。
上述した実施例2では、キャッシュにおいて、接続先LNS候補をリスト構造で管理する場合について説明したが、実施例3では、キャッシュにおいて、接続先LNS候補をリング構造で管理する場合について説明する。
[実施例3におけるネットワーク接続制御システムの概要および特徴]
まず最初に、図15を用いて、実施例3におけるネットワーク接続制御システムの主たる特徴を具体的に説明する。図15は、実施例3におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、接続先LNS候補を含むデータである「参照新鮮度管理データ」を、当該接続先LNS候補におけるアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理し、「参照新鮮度管理データ」をリング状に結合されたデータ構造によって管理し、さらにリング状に結合されたデータ構造、または、「参照新鮮度管理データ」の中に、管理されている接続先LNS候補を含むデータが有効か否かを示すフラグである有効フラグと、管理されている「参照新鮮度管理データ」に含まれる接続先LNS候補が最後に参照された時刻の新しさを示すフラグである最新フラグとを対応付けて管理し、さらにリング状に結合されたデータ構造の中における、接続先LNS候補を含むデータの位置を示すデータである現行領域を対応付けて管理する。
すなわち、実施例2と同様に、実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、図15に示すように、一度検索されて選択された接続先LNS候補を、図15に示すように、LACグループ識別子とLNSグループ識別子とに対応付けた「接続先LNS候補キャッシュデータ」として管理し、「接続先LNS候補キャッシュデータ」ごとに、LACグループ識別子とLNSグループ識別子(指定LNSグループ識別子)から算出されるハッシュ値に対応付けて管理する。
一方、実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、「参照新鮮度管理データ」をリング状に結合した構造によって「接続先LNS候補キャッシュデータ」を管理する。「参照新鮮度管理データ」それぞれは、「参照新鮮度管理データ」に含まれる「前データ」項目および「次データ」項目によって、リング状に結合されている。具体的には、「参照新鮮度管理データ:1」は、「前データ」が「参照新鮮度管理データ:8」であり、「次データ」が「参照新鮮度管理データ:2」であることから、「参照新鮮度管理データ:8」、「参照新鮮度管理データ:1」、「参照新鮮度管理データ:2」の順にリング状に結合されていることがわかる。また、「有効フラグ」は、「参照新鮮度管理データ」において「接続先LNS候補キャッシュデータ」が管理されているならば、「有効」となり、「参照新鮮度管理データ」において「接続先LNS候補キャッシュデータ」が管理されていないならば、「無効」となる。また、「最新フラグ」は、「参照新鮮度管理データ」に含まれる「接続先LNS候補キャッシュデータ」が近い時間に参照されている場合には、「オン」となり、参照されていない場合には、「オフ」となる。さらに、「現行領域管理データ」における「現行領域」項目によって、一つの「参照新鮮度管理データ」のリング状に結合した構造における位置を示している。例えば、図15に示すように、「現行領域」項目には、「参照新鮮度管理データ:1」は「参照新鮮度管理データ:8」における「次データ」であり、「参照新鮮度管理データ:1」は「参照新鮮度管理データ:2」における「前データ」であるとするデータが記憶されている。
実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、上述したデータ構造によって「接続先LNS候補キャッシュデータ」を管理する。以下、種々の場合における「接続先LNS候補キャッシュデータ」の管理について、簡単に説明する。
まず、実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、実施例2と同様に、ユーザのアクセスしたLACから取得したアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いて「参照新鮮度管理データ」を参照して、「接続先LNS候補」を検索する。
一方、実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、算出されたハッシュ値に該当する接続先LNS候補を含むデータが「参照新鮮度管理データ」に存在する場合、当該接続先LNS候補を含むデータに対応する最新フラグを「オン」にして管理する。
また、実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、「参照新鮮度管理データ」にて管理されていない「接続先LNS候補」が新たに検索されて選択され、かつ、「現行領域管理データ」における「現行領域」項目が指し示した「参照新鮮度管理データ」における「有効フラグ」が「無効」である第一条件において、当該「参照新鮮度管理データ」の「接続先LNS候補キャッシュデータ」領域に、新たに検索されて選択された接続先LNS候補を格納し、当該格納したデータをハッシュ値に対応付けるとともに、当該格納したデータに対応する「最新フラグ」を「オン」に変更し、「現行領域管理データ」における「現行領域」項目の指し示した「参照新鮮度管理データ」の位置を、リング状に結合されたデータ構造上の次の位置に変更して管理する。
また、実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、「現行領域管理データ」における「現行領域」項目の指し示した「参照新鮮度管理データ」に対応する「有効フラグ」が「有効」であり、かつ、当該「参照新鮮度管理データ」に対応する「最新フラグ」が「オフ」を示す場合である第二条件において、「現行領域管理データ」における「現行領域」項目の指し示した「参照新鮮度管理データ」を、検索されて選択された接続先LNS候補のデータに変更し、変更したデータをハッシュ値に対応付けるとともに、変更したデータに対応する「最新フラグ」を「オン」に変更し、「現行領域管理データ」における「現行領域」項目の指し示した「参照新鮮度管理データ」の位置を、リング状に結合されたデータ構造上の次の位置に変更して管理する。
また、実施例3におけるネットワーク接続制御システムを構成するLAC制御サーバは、「現行領域管理データ」における「現行領域」項目の指し示した「参照新鮮度管理データ」に対応する「有効フラグ」が「有効」であり、かつ、「最新フラグ」が「オン」を示す場合である第三条件において、第一条件または第二条件を満たすまで、「現行領域管理データ」における「現行領域」項目の指し示した「参照新鮮度管理データ」に対応する「最新フラグ」を「オフ」に変更し、当該「参照新鮮度管理データ」の位置を、リング状に結合されたデータ構造上の次の位置に変更して管理する。
なお、実施例3におけるネットワーク接続制御システムを構成するLACは、実施例1におけるネットワーク接続制御システムを構成するLACと同様であるので、説明を省略する。
このようなことから、実施例3におけるネットワーク接続制御システムは、選択された接続先LNS候補の中でも、最近選択された接続先LNS候補をキャッシュとして管理してキャッシュヒット率の高い検索を実現することができ、より高速にL2TPによる接続を制御することが可能になる。また、ハッシュ値に基づいて検索を行なうので、効率のよい検索を行なうことが可能になる。
[実施例3におけるLAC制御サーバの構成]
次に、図10および図16を用いて、実施例3におけるLAC制御サーバの構成を説明する。図10は、実施例2におけるLAC制御サーバの構成を示すブロック図であり、図16は、実施例3における接続先LNS候補キャッシュ記憶部を説明するための図である。なお、実施例3におけるLAC20の構成は、図6で説明した実施例1におけるLAC20の構成と同様であるので、説明を省略する。
図10に示すように、実施例3におけるLAC制御サーバ10は、実施例2におけるLAC制御サーバ10と同様の構成からなるが、接続先LNS候補キャッシュ管理部13eの処理の内容と、接続先LNS候補キャッシュ記憶部12dが記憶する内容とが、実施例2と異なる。以下、これらについて簡単に説明する。
接続先LNS候補キャッシュ管理部13eは、接続先LNS候補検索部13cによって検索された接続先LNS候補を、アクセスLAC識別子に対応するLACグループ識別子と指定LNSグループ識別子とに対応付けたキャッシュとして接続先LNS候補キャッシュ記憶部12dに格納して管理するが、接続先LNS候補を含むデータである「参照新鮮度管理データ」を、当該接続先LNS候補におけるアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理し、「参照新鮮度管理データ」をリング状に結合されたデータ構造によって管理し、さらにリング状に結合されたデータ構造、または、「参照新鮮度管理データ」の中に、管理されている接続先LNS候補を含むデータが有効か否かを示すフラグである有効フラグと、管理されている「参照新鮮度管理データ」に含まれる接続先LNS候補が最後に参照された時刻の新しさを示すフラグである最新フラグとを対応付けて管理し、さらにリング状に結合されたデータ構造の中における、接続先LNS候補を含むデータの位置を示すデータである現行領域を対応付けて管理する。
ここで、接続先LNS候補キャッシュ管理部13eが管理して接続先LNS候補キャッシュ記憶部12dに格納するリング状に結合した構造からなるキャッシュデータについて、図16を用いて説明する。図16に示すように、接続先LNS候補キャッシュ記憶部12dが記憶するリング状に結合した構造からなるキャッシュデータは、図15を用いて説明した項目から構成される。ここで、図16においては、「接続先LNS候補キャッシュデータ」を含む「参照新鮮度管理データ」が、各項目間の連結によって、リング状に結合した構造を構成されることを詳細に図示している。なお、図16では、図11において図示されていた「接続先LNS候補検索用ハッシュテーブル」を、省略しているが、実施例2と同様に、接続先LNS候補キャッシュ管理部13eは、LACグループ識別子とLNSグループ識別子(指定LNSグループ識別子)から算出されるハッシュ値に対応付けて管理するので、実施例3における接続先LNS候補キャッシュ記憶部12dにおいても、「接続先LNS候補検索用ハッシュテーブル」は記憶されている。
なお、実施例3における接続先LNS候補キャッシュ管理部13eの各種処理については、以下の[実施例3におけるLAC制御サーバの処理の手順]において詳細に説明する。
[実施例3におけるLAC制御サーバの処理の手順]
次に、図17および18を用いて、実施例3におけるLAC制御サーバの処理を説明する。図17は、実施例3におけるLAC制御サーバのキャッシュ検索処理を説明するための図であり、図18は、実施例3におけるLAC制御サーバのキャッシュ格納処理を説明するための図である。なお、実施例3におけるLAC制御サーバの処理の手順は、実施例2におけるLAC制御サーバの処理の手順とは、キャッシュ検索処理とキャッシュ格納処理とが異なる。
[実施例3におけるLAC制御サーバのキャッシュ検索処理の手順]
図17に示すように、まず、実施例3におけるLAC制御サーバ10は、LACグループ検索部13aによって検索されたLACグループ識別子および取得した指定LNSグループ識別子を受け付けると(ステップS1701肯定)、接続先LNS候補キャッシュ管理部13eは、検索されたLACグループ識別子および取得した指定LNSグループ識別子からハッシュ値を計算する(ステップS1702)。
続いて、接続先LNS候補キャッシュ管理部13eは、接続先LNS候補キャッシュ記憶部12dが記憶する「接続先LNS候補検索用ハッシュテーブル」から、計算したハッシュ値をもつ「接続先LNS候補キャッシュデータ」を検索する(ステップS1703)。
そして、接続先LNS候補キャッシュ管理部13eは、該当するLACグループ識別子とLNSグループ識別子とをもつ「接続先LNS候補キャッシュデータ」が存在しない場合には(ステップS1704否定)、「キャッシュに無し」と判断して(ステップS1708)、処理を終了する。
これに反して、接続先LNS候補キャッシュ管理部13eは、該当するLACグループ識別子とLNSグループ識別子とをもつ「接続先LNS候補キャッシュデータ」が存在する場合には(ステップS1704肯定)、「キャッシュに存在」と判断し(ステップS1705)、接続先LNS候補キャッシュ記憶部12dが記憶する検索された「接続先LNS候補キャッシュデータ」に該当する「参照新鮮度管理データ」を検索する(ステップS1706)。
そして、接続先LNS候補キャッシュ管理部13eは、該当する「参照新鮮度管理データ」内の「最新フラグ」を「オン」に変更して(ステップS1707)、処理を終了する。
[実施例3におけるLAC制御サーバのキャッシュ格納処理の手順]
図18に示すように、まず、実施例3におけるLAC制御サーバ10は、新たな接続先LNS候補が検索されると(ステップS1801肯定)、図16に示す「現行領域」の指し示している「参照新鮮度管理データ」の「有効フラグ」が「有効」であるか否かを判定する(ステップS1802)。
そして、接続先LNS候補キャッシュ管理部13eは、「現行領域」の指し示している「参照新鮮度管理データ」の「有効フラグ」が「無効」である場合(ステップS1802否定)、第一条件を満たすと判断して、「参照新鮮度管理データ」に対応する「接続先LNS候補キャッシュデータ」を「接続先LNS候補検索用ハッシュテーブル」から切り離す(ステップS1804)。
続いて、接続先LNS候補キャッシュ管理部13eは、切り離した「接続先LNS候補キャッシュデータ」について、「LACグループ識別子」、「LNSグループ識別子」および検索した「接続先LNS候補」を用いて変更する(ステップS1805)。
そして、接続先LNS候補キャッシュ管理部13eは、「参照新鮮度管理データ」の「有効フラグ」を「有効」に変更し(ステップS1806)、「参照新鮮度管理データ」の「最新フラグ」を「オン」に変更する(ステップS1807)。
そののち、接続先LNS候補キャッシュ管理部13eは、LACグループ識別子とLNSグループ識別子とからハッシュ値を計算し(ステップS1808)、計算したハッシュ値をもとに、「接続先LNS候補検索用ハッシュテーブル」に「接続先LNS候補キャッシュデータ」を接続する(ステップS1809)。
そして、接続先LNS候補キャッシュ管理部13eは、「現行領域」を現在の「参照新鮮度管理データ」の「次データ」に変更し(ステップS1810)、処理を終了する。
これに反して、接続先LNS候補キャッシュ管理部13eは、「現行領域」の指し示している「参照新鮮度管理データ」の「有効フラグ」が「有効」であり(ステップS1802肯定)、さらに、「現行領域」の指し示している「参照新鮮度管理データ」の「最新フラグ」が「オフ」の場合には(ステップS1803否定)、第二条件を満たすと判断して、上述したステップS1804〜ステップS1810の処理を、第一条件の場合と同様に行なって、処理を終了する。
これに反して、接続先LNS候補キャッシュ管理部13eは、「現行領域」の指し示している「参照新鮮度管理データ」の「有効フラグ」が「有効」であり(ステップS1802肯定)、さらに、「現行領域」の指し示している「参照新鮮度管理データ」の「最新フラグ」が「オン」の場合には(ステップS1803肯定)、第三条件を満たすと判断して、「参照新鮮度管理データ」の「最新フラグ」を「オフ」に変更し(ステップS1811)、「現行領域」を現在の「参照新鮮度管理データ」の「次データ」に変更し(ステップS1812)、第一条件または第二条件を満たすまで、処理を繰り返す。
[実施例3の効果]
上記したように、実施例3によれば、LAC制御サーバ10は、接続先LNS候補を含むデータである「参照新鮮度管理データ」を、当該接続先LNS候補におけるアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とから算出されるハッシュ値を用いて管理し、「参照新鮮度管理データ」がリング状に結合されたデータ構造によって管理し、さらにリング状に結合されたデータ構造、または、接続先LNS候補を含むデータの中に、管理されている「参照新鮮度管理データ」が有効か否かを示すフラグである有効フラグと、管理されている「参照新鮮度管理データ」が最後に参照された時刻の新しさを示すフラグである最新フラグとを対応付けて管理し、さらにリング状に結合されたデータ構造の中における、「参照新鮮度管理データ」の位置を示すデータである現行領域を対応付けて管理し、また、ユーザのアクセスしたLACから取得したアクセスLAC識別子に対応するLACグループ識別子と、指定LNSグループ識別子とからハッシュ値を算出し、算出されたハッシュ値を用いてキャッシュを参照して、接続先LNS候補を検索し、また、算出されたハッシュ値に該当する接続先LNS候補を含む「参照新鮮度管理データ」がキャッシュに存在する場合、当該「参照新鮮度管理データ」に対応する最新フラグをオンにして管理し、また、キャッシュにて管理されていない接続先LNS候補が新たに検索されて選択され、かつ、現行領域の指し示した「参照新鮮度管理データ」に対応する有効フラグが「無効」である第一条件において、現行領域の指し示した「参照新鮮度管理データ」の領域に当該新たに検索されて選択された接続先LNS候補を格納し、当該格納したデータをハッシュ値に対応付けるとともに、当該格納したデータに対応する最新フラグを「オン」に変更し、現行領域の指し示した「参照新鮮度管理データ」の位置を、リング状に結合されたデータ構造上の次の位置に変更して管理し、現行領域の指し示した「参照新鮮度管理データ」に対応する有効フラグが「有効」であり、かつ、当該「参照新鮮度管理データ」に対応する最新フラグが「オフ」である第二条件において、現行領域の指し示した「参照新鮮度管理データ」を、検索されて選択された接続先LNS候補のデータに変更し、変更したデータをハッシュ値に対応付けるとともに、変更したデータに対応する最新フラグを「オン」に変更し、現行領域の指し示した「参照新鮮度管理データ」の位置を、リング状に結合されたデータ構造上の次の位置に変更して管理し、また、現行領域の指し示した「参照新鮮度管理データ」に対応する有効フラグが「有効」であり、かつ、最新フラグが「オン」である第三条件において、第一条件または第二条件を満たすまで、現行領域の指し示した接続先LNS候補を含むデータに対応する最新フラグをオフに変更し、現行領域の指し示した「参照新鮮度管理データ」の位置を、リング状に結合されたデータ構造上の次の位置に変更して管理するので、選択された接続先LNS候補の中でも、最近選択された接続先LNS候補をキャッシュとして管理してキャッシュヒット率の高い検索を実現することができ、より高速にL2TPによる接続を制御することが可能になる。また、ハッシュ値に基づいて検索を行なうので、効率のよい検索を行なうことが可能になる。
上述した実施例1〜3では、第二対応テーブルが「LACグループ識別子」および「LNSグループ識別子」に対応付けて一つの「LNSサブグループ識別子」を記憶する場合について説明したが、実施例4では、第二対応テーブルが「LACグループ識別子」および「LNSグループ識別子」に対応付けて一つまたは複数の「LNSサブグループ識別子」を「優先度」とともに記憶する場合について説明する。
[実施例4におけるネットワーク接続制御システムの概要および特徴]
まず最初に、図19を用いて、実施例4におけるネットワーク接続制御システムの主たる特徴を具体的に説明する。図19は、実施例4におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例4におけるネットワーク接続制御システムを構成するLAC制御サーバは、「LACグループ識別子」と、「LNSグループ識別子」とを、「優先度」を付加した一つまたは複数の「LNSサブグループ識別子」に対応付けた第二テーブルを記憶する。例えば、図19に示すように、実施例4におけるネットワーク接続制御システムを構成するLAC制御サーバは、第二対応テーブルとして、「LACグループ識別子:LACグループ1」と、「LNSグループ識別子:LNSグループ1」とを、「LNSサブグループ#1識別子:LNSサブグループ1.1」および「LNSサブグループ#1優先度:1」や「LNSサブグループ#2識別子:LNSサブグループ1.2」および「LNSサブグループ#2優先度:2」などと対応付けて記憶する。
そして、実施例4におけるネットワーク接続制御システムを構成するLAC制御サーバは、ユーザのアクセスしたLACからアクセスLAC識別子と指定LNSグループ識別子とを取得した場合に、第一対応テーブルを参照して、アクセスLAC識別子に対応するLACグループ識別子を検索し、検索されたLACグループ識別子と取得した指定LNSグループ識別子から、第二対応テーブルを参照して、一つまたは複数のLNSサブグループ識別子を検索する。例えば、図19に示すように、ユーザ端末がアクセスしたLACから、「アクセスLAC識別子:10.2.1.104」と、「指定LNSグループ識別子:LNSグループ1」とを取得した場合に、第一対応テーブルを参照して、「LACグループ識別子:LACグループ1」を検索し、検索された「LACグループ識別子:LACグループ1」と「指定LNSグループ識別子:LNSグループ1」とを検索キーとして、第二対応テーブルを参照して、「LNSサブグループ#1識別子:LNSサブグループ1.1」および「LNSサブグループ#1優先度:1」や「LNSサブグループ#2識別子:LNSサブグループ1.2」および「LNSサブグループ#2優先度:2」を検索する。
そして、実施例4におけるネットワーク接続制御システムを構成するLAC制御サーバは、検索された一つまたは複数のLNSサブグループ識別子に付加された優先度とともに、当該検索された一つまたは複数のLNSサブグループ識別子に対応するLNSサブグループに所属する一つまたは複数のLNSを接続先LNS候補として検索する。すなわち、第三対応テーブルを参照して、「LNS1、LNS2、LNS3」を「優先度:1」が付加された接続先LNS候補として検索し、「LNS4、LNS5」を「優先度:2」が付加された接続先LNS候補として検索する。
そして、実施例4におけるネットワーク接続制御システムを構成するLAC制御サーバは、検索された一つまたは複数のLNSサブグループごとに所属する一つまたは複数のLNSである接続先LNS候補を選択し、選択された接続先LNS候補それぞれを該当するLNSサブグループの優先度とともに、当該ユーザのアクセスしたLACに通知する。すなわち、「LAC識別子:10.2.1.104」のLACに、「優先度:1」の「LNS1、LNS2、LNS3」と「優先度:2」の「LNS4、LNS5」とを接続先LNS候補として通知する。
そして、実施例4におけるネットワーク接続制御システムを構成するLACは、LAC制御サーバによって選択されて通知された接続先LNS候補から、一つの基準、または、複数の組み合わせから構成される基準とともに、当該接続先LNS候補に該当するLNSサブグループの優先度をさらに参照して、一つのLNSを選択し、選択した一つのLNSとの間にL2TPによる接続を確立する。
このようなことから、実施例4におけるネットワーク接続制御システムは、異なる情報端末が同じLNSグループを指定した場合でも、接続先LNS候補を複数参照して、LACグループごとに異なる接続先LNS候補を柔軟に選択することができ、より適切にL2TPによる接続を制御することが可能になる。
[実施例4におけるLAC制御サーバの構成]
次に、図10、図20および図21を用いて、実施例4におけるLAC制御サーバの構成を説明する。図10は、実施例2におけるLAC制御サーバの構成を示すブロック図であり、図20は、実施例4における第二対応テーブル記憶部を説明するための図であり、図21は、実施例4における接続先LNS候補キャッシュ記憶部を説明するための図である。
図10に示すように、実施例4におけるLAC制御サーバ10は、実施例2におけるLAC制御サーバ10と同様の構成からなるが、第二対応テーブル記憶部12bと、接続先LNS候補キャッシュ記憶部12dとが記憶する内容が異なる。以下、これらを中心に説明する。
第二対応テーブル記憶部12bは、「LACグループ識別子」と、「LNSグループ識別子」とを、「優先度」を付加した一つまたは複数の「LNSサブグループ識別子」に対応付けた第二テーブルを記憶する。例えば、図20に示すように、第二対応テーブル記憶部12bは、第二対応テーブルとして、「LACグループ識別子:LACグループ1」と、「LNSグループ識別子:LNSグループ1」とを、「LNSサブグループ#1識別子:LNSサブグループ1.1」および「LNSサブグループ#1優先度:1」や「LNSサブグループ#2識別子:LNSサブグループ1.2」および「LNSサブグループ#2優先度:2」などと対応付けて記憶する。
LNSサブグループ検索部13bは、LACグループ検索部13aによって検索されたLACグループ識別子と指定LNSグループ識別子から、第二対応テーブル記憶部12bが記憶する第二対応テーブルを参照して、一つまたは複数のLNSサブグループ識別子を検索する。例えば、LACグループ検索部13aによって検索された「LACグループ識別子:LACグループ1」と「指定LNSグループ識別子:LNSグループ1」とを検索キーとして、第二対応テーブルを参照して、「LNSサブグループ#1識別子:LNSサブグループ1.1」および「LNSサブグループ#1優先度:1」や「LNSサブグループ#2識別子:LNSサブグループ1.2」および「LNSサブグループ#2優先度:2」を検索する。
接続先LNS候補検索部13cは、検索された一つまたは複数のLNSサブグループ識別子に付加された優先度とともに、当該検索された一つまたは複数のLNSサブグループ識別子に対応するLNSサブグループに所属する一つまたは複数のLNSを接続先LNS候補として検索する。例えば、接続先LNS候補検索部13cは、図5に示す第三対応テーブルを参照して、「LNSサブグループ#1識別子:LNSサブグループ1.1」に対応する「LNS1、LNS2、LNS3」を「優先度:1」が付加された接続先LNS候補として検索し、「LNSサブグループ#2識別子:LNSサブグループ1.2」「LNS4、LNS5」を「優先度:2」が付加された接続先LNS候補として検索する。
接続先LNS候補選択通知部13dは、検索された一つまたは複数のLNSサブグループごとに所属する一つまたは複数のLNSである接続先LNS候補を選択し、選択された接続先LNS候補それぞれを該当するLNSサブグループの優先度とともに、当該ユーザのアクセスしたLAC20に通知する。すなわち、「LAC識別子:10.2.1.104」のLAC20に、「優先度:1」の「LNS1、LNS2、LNS3」と「優先度:2」の「LNS4、LNS5」とを接続先LNS候補として通知する。
接続先LNS候補キャッシュ管理部13eは、接続先LNS候補検索部13cによって新たに検索され、接続先LNS候補選択通知部13dによって新たに選択された「接続先LNS候補」を含むデータを、図21に示すような、「接続先LNS候補キャッシュデータ」として管理して、接続先LNS候補キャッシュ記憶部12dに格納する。図21に示すように、図11における「接続先LNS候補キャッシュデータ」との違いは、接続先LNS候補とそれに対応する優先度を管理するための項目が存在し、その一対のデータが複数存在する構造となっている。
[実施例4におけるLACの構成]
次に、図6を用いて、実施例4におけるLACの構成を説明する。図6は、実施例1におけるLACの構成を示すブロック図である。
図6に示すように、実施例4におけるLAC20の構成は、実施例1におけるLAC20の構成と同様であるが、LNS選択接続部23aの処理が異なる。以下これを中心に説明する。
LNS選択接続部23aは、通知された接続先LNS候補から、基準記憶部22aが記憶する一つの基準、または、複数の組み合わせから構成される基準とともに、当該接続先LNS候補に該当するLNSサブグループの優先度をさらに参照して、一つのLNSを選択し、選択した一つのLNSとの間にL2TPによる接続を確立する。
なお、実施例4におけるLAC制御サーバの処理の手順は、図12に示すステップS1205において「優先度」が付加された「LACサブグループ識別子」が一つまたは複数検索され、ステップS1208において送信される情報が一つまたは複数種類の「優先度」が付加された「接続先LNS候補」であることが異なる。また、図13において接続先LNS候補キャッシュ管理部13eによって検索される「接続先LNS候補キャッシュデータ」の構造が異なり、図14において接続先LNS候補キャッシュ管理部13eによって格納される「接続先LNS候補キャッシュデータ」の構造が異なる。
また、実施例4におけるLACの処理の手順は、図8に示すステップS804において、一つの基準、または、複数の組み合わせから構成される基準とともに、当該接続先LNS候補に該当するLNSサブグループの優先度をさらに参照して、一つのLNSを選択することが異なる。
[実施例4の効果]
上記したように、実施例4によれば、LAC制御サーバは、LACグループ識別子と、LNSグループ識別子とを、優先度を付加した一つまたは複数のLNSサブグループ識別子に対応付けた第二対応テーブルを保持し、ユーザのアクセスしたLACからアクセスLAC識別子と指定LNSグループ識別子とを取得した場合に、第二対応テーブルを参照して、アクセスLAC識別子に対応するLACグループ識別子および指定LNSグループ識別子から、一つまたは複数のLNSサブグループ識別子を検索し、検索された一つまたは複数のLNSサブグループ識別子に付加された優先度とともに、当該検索された一つまたは複数のLNSサブグループ識別子に対応するLNSサブグループに所属する一つまたは複数のLNSを検索し、検索された一つまたは複数のLNSサブグループごとに所属する一つまたは複数のLNSを、ユーザのアクセスしたLACと接続されるLNSの候補である接続先LNS候補として選択し、選択された接続先LNS候補それぞれを該当するLNSサブグループの優先度とともに、当該ユーザのアクセスしたLACに通知し、LACは、選択されて通知された接続先LNS候補から、当該接続先LNS候補に該当するLNSサブグループの優先度をさらに参照して、一つのLNSを選択するので、異なる情報端末が同じLNSグループを指定した場合でも、接続先LNS候補を複数参照して、LACグループごとに異なる接続先LNS候補を柔軟に選択することができ、より適切にL2TPによる接続を制御することが可能になる。
上述した実施例1〜4では、LAC制御サーバが、第一対応テーブルによって「LACグループ識別子」を管理する場合について説明したが、実施例5では、LACが、自身が所属する「LACグループ識別子」を管理する場合について説明する。
[実施例5におけるネットワーク接続制御システムの概要および特徴]
まず最初に、図22を用いて、実施例5におけるネットワーク接続制御システムの主たる特徴を具体的に説明する。図22は、実施例5におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例5におけるネットワーク接続制御システムを構成するLACは、LACごとに、当該LACにおけるLAC識別子と、当該LACが所属するLACグループのLACグループ識別子とを対応付けた対応テーブルを保持する。例えば、図22の(A)に示すように、「LAC識別子:10.2.1.100」のLACは、自身が所属するLACグループのLACグループ識別子は「LACグループ1」であるとする対応テーブルを保持し、「LAC識別子:10.2.1.102」のLACは、自身が所属するLACグループのLACグループ識別子は「LACグループ3」であるとする対応テーブルを保持する。
そして、実施例5におけるネットワーク接続制御システムを構成するLACは、ユーザ端末から、「指定LNSグループ識別子」とともにアクセスされたLACは、自身の「アクセスLAC識別子」および「指定LNSグループ識別子」とともに「LACグループ識別子」をLAC制御サーバに送信する(図22の(B)参照)。
このようなことから、実施例5におけるネットワーク接続制御システムにおけるLAC制御サーバは、ユーザのアクセスしたLACからアクセスLAC識別子と同時にLACグループ識別子を取得することができるので、より簡易にL2TPによる接続を制御することが可能になる。
[実施例5におけるLACの構成]
次に、図23を用いて、実施例5におけるLAC20の構成を説明する。図23は、実施例5におけるLACの構成を示すブロック図である。
図23に示すように、実施例5におけるLAC20の構成は、図6に示す実施例1におけるLAC20の構成と基本的に同様であるが、LACグループ識別子記憶部22bを新たに備える点が異なる。以下、これを中心に説明する。
LACグループ識別子記憶部22bは、自身が格納されるLAC20のLACグループ識別子を記憶する。例えば、図22に示すように、「LAC識別子:10.2.1.100」のLAC20は、自身が所属するLACグループのLACグループ識別子は「LACグループ1」であると記憶する。
LAC20は、ユーザ端末30から、「指定LNSグループ識別子」とともにアクセスされると、自身の「アクセスLAC識別子」および「指定LNSグループ識別子」とともに、LACグループ識別子記憶部22bが記憶する「LACグループ識別子」をLAC制御サーバ10に、通信制御I/F部21を介して、送信する。
[実施例5におけるLAC制御サーバの構成]
次に、図24を用いて、実施例5におけるLAC制御サーバ10の構成を説明する。図24は、実施例5におけるLAC制御サーバの構成を示すブロック図である。
図24に示すように、実施例5におけるLAC制御サーバ10の構成は、図2に示す実施例1におけるLAC制御サーバ10の構成と基本的に同様であるが、第一対応テーブル12aを保持しないことから、LACグループ検索部13aの処理の内容が異なる。以下、これを中心に説明する。
LACグループ検索部13aは、通信制御I/F部11を介して、LAC20から「アクセスLAC識別子」、「指定LNSグループ識別子」および「LACグループ識別子」を含むデータを受信すると、当該データから「LACグループ識別子」を抽出する。
[実施例5におけるネットワーク接続制御システムの処理の手順]
次に、図25および図26を用いて、実施例5におけるネットワーク接続制御システムの処理を説明する。図25は、実施例5におけるLAC制御サーバの処理を説明するための図であり、図26は、実施例5におけるLACの処理を説明するための図である。
[実施例5におけるLAC制御サーバの処理の手順]
図25に示すように、まず、実施例5におけるLAC制御サーバ10は、ユーザのアクセスしたLAC20からアクセスLAC識別子と指定LNSグループ識別子とLACグループ識別子を含むデータを受信すると(ステップS2501肯定)、LACグループ検索部13aは、当該データから、LACグループ識別子を抽出する(ステップS2502)。
続いて、LNSサブグループ検索部13bは、第二対応テーブル記憶部12bが記憶する「第二対応テーブル」を参照して、LACグループ検索部13aによって抽出されたLACグループ識別子および取得した指定LNSグループ識別子に対応するLNSサブグループ識別子を検索する(ステップS2503)。
そののち、接続先LNS候補検索部13cは、第三対応テーブル記憶部12cが記憶する「第三対応テーブル」を参照して、LNSサブグループ検索部13bによって検索されたLNSサブグループおよび取得した指定LNSグループ識別子に対応する「一つまたは複数のLNS」としての「接続先LNS候補」を検索する(ステップS2504)。
そして、接続先LNS候補選択通知部13dは、接続先LNS候補検索部13cによって検索された「接続先LNS候補」を選択し、選択された接続先LNS候補をユーザのアクセスしたLAC20に送信して(ステップS2505)、処理を終了する。
[実施例5におけるLACの処理の手順]
図26に示すように、まず、実施例5におけるLAC20は、ユーザ端末30からアクセスされて、指定LNSグループ識別子を受信すると(ステップS2601肯定)、LAC制御サーバ10に自身のLAC識別子であるアクセスLAC識別子と指定LNSグループ識別子とLACグループ識別子とを、LAC制御サーバ10に送信する(ステップS2602)。
続いて、LNS選択接続部23aは、LAC制御サーバ10から接続先LNS候補を受信すると(ステップS2603肯定)、受信した接続先LNS候補から一つのLNSを選択する(ステップS2604)。
そののち、LNS選択接続部23aは、選択した一つのLNSとの間にL2TPによる接続を確立して(ステップS2605)、処理を終了する。
[実施例5の効果]
上記したように、実施例5によれば、LACごとに、当該LACにおけるLAC識別子と、当該LACが所属するLACグループのLACグループ識別子とを対応付けた対応テーブルを保持するので、ネットワーク接続制御装置は、ユーザのアクセスしたLACからアクセスLAC識別子と同時にLACグループ識別子を取得することができるので、より簡易にL2TPによる接続を制御することが可能になる。
ところで、上記の実施例1〜5では、LACおよびLNSそれぞれが、すべて実際の機器である場合について説明したが、本発明はこれに限定されるものではなく、実際の機器の中に、仮想的なLACまたは仮想的なLNSが含まれる場合であってもよい。例えば、図27に示すように、実際の機器である「LNS」の中に、仮想LNSを複数設定する場合であってもよい。
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動でおこなうこともでき、あるいは、手動的におこなうものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。例えば、この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報(例えば、第一対応テーブルなどの対応関係など)については、特記する場合を除いて任意に更新することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各処理部および各記憶部の分散・統合の具体的形態(例えば、図2の形態など)は図示のものに限られず、例えば、LACグループ検索部13aとLNSサブグループ検索部13bとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以上のように、本発明に係るネットワーク接続制御方法は、ユーザのアクセスに基づいて、LACとLNSとを、ネットワークを介してL2TPにより接続することを制御する場合に有用であり、特に、簡易かつ適切にL2TPによる接続を制御することが可能になることに適する。
実施例1におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例1におけるLAC制御サーバの構成を示すブロック図である。
実施例1における第一対応テーブル記憶部を説明するための図である。
実施例1における第二対応テーブル記憶部を説明するための図である。
実施例1における第三対応テーブル記憶部を説明するための図である。
実施例1におけるLACの構成を示すブロック図である。
実施例1におけるLAC制御サーバの処理を説明するための図である。
実施例1におけるLACの処理を説明するための図である。
実施例2におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例2におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例2におけるLAC制御サーバの構成を示すブロック図である。
実施例2における接続先LNS候補キャッシュ記憶部を説明するための図である。
実施例2におけるLAC制御サーバの全体的な処理を説明するための図である。
実施例2におけるLAC制御サーバのキャッシュ検索処理を説明するための図である。
実施例2におけるLAC制御サーバのキャッシュ格納処理を説明するための図である。
実施例3におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例3における接続先LNS候補キャッシュ記憶部を説明するための図である。
実施例3におけるLAC制御サーバのキャッシュ検索処理を説明するための図である。
実施例3におけるLAC制御サーバのキャッシュ格納処理を説明するための図である。
実施例4におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例4における第二対応テーブル記憶部を説明するための図である。
実施例4における接続先LNS候補キャッシュ記憶部を説明するための図である。
実施例5におけるネットワーク接続制御システムの概要および特徴を説明するための図である。
実施例5におけるLACの構成を示すブロック図である。
実施例5におけるLAC制御サーバの構成を示すブロック図である。
実施例5におけるLAC制御サーバの処理を説明するための図である。
実施例5におけるLACの処理を説明するための図である。
他の実施例を説明するための図である。
従来技術を説明するための図である。
従来技術の問題点を説明するための図である。
符号の説明
10 LAC制御サーバ
11 通信制御I/F部
12 記憶部
12a 第一対応テーブル記憶部
12b 第二対応テーブル記憶部
12c 第三対応テーブル記憶部
13 処理部
13a LACグループ検索部
13b LNSサブグループ検索部
13c 接続先LNS候補検索部
13d 接続先LNS候補選択通知部
20 LAC
21 通信制御I/F部
22 記憶部
22a 基準記憶部
23 処理部
23a LNS選択接続部
30 ユーザ端末
40 LNS