以下、図面を参照しながら、本発明の実施形態について説明する。以下に示す各実施形態は一例であり必ずしも同一である必要はない。また、図面において同一の構成要素には同一の番号を付し、説明を適宜省略する。
(第1の実施形態)
まず、第1の実施形態について説明する。図1は、第1の実施形態における通信システム1の構成を示す図である。図1に示すように、通信システム1は、無線端末(情報要求装置)101a、101b、101c、アクセスポイント(中継装置)10、及びサーバ(情報提供装置)102a、102b、102cを備える。ここで、無線端末101a〜101cは、例えば、情報を要求する。サーバ101a〜101cは、情報要求装置により要求された情報を提供する。アクセスポイント(中継装置)10は、この無線端末101a〜101cとサーバ102a〜102cとの間の通信を中継する。
アクセスポイント(中継装置)10は、ネットワーク104aを介して無線端末101a及びサーバ102aに接続され、ネットワーク104bを介して無線端末101b及びサーバ102bに接続され、ネットワーク104cを介して無線端末101c及びサーバ102cに接続されている。本実施形態では一例としてネットワーク104a〜104cは、無線ネットワークである。このように、各無線端末と各サーバは互いに異なるネットワーク104a〜104cに属しており、ネットワーク間の直接通信は行わない。
ネットワーク103は、各ネットワーク104a〜104cを多重化した状態で伝送できるものとし、アクセスポイント10は、多重化されたネットワーク103から個別のネットワーク104a〜104cを分離して、異なる無線ネットワークを無線端末101a〜101cに提供している。
なお、本実施形態では、ネットワーク104a〜104cはネットワーク103上で多重化された状態で伝送されるものとして説明するが、この方式にはIEEE 802.1Qで規定されるVLAN(Virtual Local Area Network)などの方法を用いることができる。また、アクセスポイント10は、分離されたネットワーク104a〜104cと1:1に対応するようにSSIDを複数広告することで、複数の無線ネットワークを提供する。このように、本実施形態のアクセスポイント10は、複数のネットワークを形成する。
なお、ネットワーク103では多重化する代わりに、アクセスポイント10が各々のネットワークに対して物理的に直接接続していてもよい。
続いて、図2を用いて、第1の実施形態におけるアクセスポイント10の機能ブロック図について説明する。図2は、第1の実施形態におけるアクセスポイント10の機能ブロック図である。図2に示すように、アクセスポイント10は、有線I/F200、無線I/F(インタフェース)201、転送部202、検出部203、通信部204、処理部205、一時記憶部209、及び記憶部210を備える。
有線I/F200は、ネットワーク103と有線で接続するためのインタフェースである。
無線I/F201は、無線ネットワークを提供するためのインタフェースである。無線I/F201は、情報要求装置の一例である無線端末101a〜101cが送信した信号を受信する。
有線I/F200及び無線I/F201は、物理層の処理だけでもよいし、データリンク層の処理まで行ってもよい。本実施形態では一例として、有線I/F200及び無線I/F201は、データリンク層の処理まで行うものとして以下、説明する。
なお、有線I/F200及び無線I/F201が物理層の処理だけ行う場合は、後述する転送部202もしくは通信部204でデータリンク層の処理を行えばよい。有線I/F200と無線I/F201は転送部202を介して接続される。
転送部202は、有線I/F200及び無線I/F201から受信したデータ(本実施形態では一例として、データリンク層での処理なので正しくはフレーム)を、適切なインタフェースへ転送する。ここで、適切なインタフェースは、有線I/F200及び無線I/F201のいずれかである。この処理は、データリンク層の宛先アドレス(宛先MACアドレス)に基づいて行われる。なお、転送部202は、送信元アドレスと宛先アドレスの組で転送するインタフェースを決定してもよい。有線I/F200と転送部202との間に検出部203が設けられており、無線I/F201と転送部202との間に検出部203が設けられている。
検出部203は、有線I/F200または無線I/F201で受信されたデータ(例えば、イーサネットフレーム)を調べ、事前に設定した条件に一致するフレームか否かを確認し、一致する場合、このデータを通信部204へ出力する。ここで条件とは、例えば、通信部204が使用する識別子(例えば、IPアドレス)を宛先アドレスとするパケットかどうか、一時記憶部209で保存する可能性がある情報を送受信する通信であるかどうか(例えば、宛先TCP(Transmission Control Protocol)ポート番号が80であるかどうか)などである。
通信部204は、TCP/IP(Internet Protocol)の処理を実行する。すなわち、通信部204は、検出部203で検出したパケットに対して必要であれば、TCP接続の確立処理を行い、特定のアプリケーションとの間で通信ができるようにする。なお、これは、同じTCPコネクションに属するパケットにも適用される。更に通信が終了した際には、通信部204は、TCP接続の終了処理を行い、TCPコネクションを切断する。ここでは一例として、TCPの処理を行うことについて説明したが、IP(Internet Protocol)またはUDP(User Datagram Protocol)についても必要に応じて処理する。通信部204にてTCP/IPの処理を行った情報のうち、アクセスポイント10で処理すべきと判断された情報は処理部205へ転送される。
処理部205は、アプリ実行部206、制御部207、及びAP処理部(管理部)208を備える。本実施形態では、これらの構成要素を個別の構成要素として説明するが、処理部205上で実行されるソフトウェアであっても良い。
アプリ実行部206は、例えば、アクセスポイント10の動作を司るOS(Operating System)であり、アクセスポイント10上で動作するアプリケーションの実行を行う。
一時記憶部209は、アクセスポイント10を介して送受信される情報を一時的にキャッシュする。このキャッシュ機能の実現にあたり使用する記憶装置は、SRAM(Static Random Access Memory)やDRAM(Dyanamic Random Access Memory)などの揮発性メモリ、NANDフラッシュやMRAM(Magnetoresistive Random Access Memory)などの不揮発性メモリ、SSD(Solid State Drive)やハードディスクなどの補助記憶装置などが利用できる。これらの手段を一つだけ使用して一時記憶部209を構成しても良いし、複数を組み合わせて一時記憶部209を構成していても良い。例えば、NANDフラッシュとDRAM・MRAMを組み合わせることで、アクセス速度を維持しながら不揮発を持った一時記憶部208が実現できる。ここでは、一つの構成要素であるとして以下、説明する。
ここでは、一つの構成要素であるとして以下、説明する。
また、本実施形態では一例として、一時記憶部209に、ネットワークそれぞれに対して互いに異なる記憶領域が割り当てられている。
AP処理部208は、無線通信を提供する機能(例えば、接続した無線端末の管理、ビーコンの送信管理、ユーザ認証など)を実現する。例えば、AP処理部208は、無線I/F201が受信した信号を用いて、ネットワークの接続管理、無線端末の認証、及び無線端末の利用者の認証の少なくとも一つを行う。具体的には、AP処理部208は、無線I/F201が受信した信号から接続要求、切断要求、または無線端末(情報要求装置)もしくは無線端末(情報要求装置)の利用者の認証成功を検出する。
制御部207は、一時記憶部209のキャッシュを制御する。具体的には、制御部207は、AP処理部208がネットワークへの接続、接続の切断、AP処理部211による認証結果または接続有効時間の経過を検出した場合、一時記憶部209が有する記憶領域の割り当て、または記憶領域に保存されている情報の提供可能な範囲を変更する。より具体的には、制御部207は、AP処理部208が接続要求、切断要求、もしくは認証成功を検出した場合、この記憶領域の割り当て、またはこの提供可能な対象範囲を変更する。
記憶部209は、通信部204や処理部205が使用する情報を保存する。記憶部209は、例えばRAMである。永続的に保存しておく必要がある情報(例えば、プログラムやデータ)がある場合、記憶部209は、RAMと補助記憶装置(例えば、ハードディスクやSSDなど)で構成されてもよい。
(透過型プロキシとしてのダウンロード処理の基本動作)
以上の構成を有するアクセスポイント10の透過型プロキシとしてのダウンロード処理の基本動作について、以下説明する。図1では、三つのネットワーク104a〜104cを示したが、ここではネットワーク104aに属する端末101aとサーバ102aとの間の通信を対象に説明する。
端末101aは、アクセスポイント10がSSID−aに対応する無線ネットワークであるネットワーク104aを提供していることを検出すると、アクセスポイント10の無線I/F201を介して、このネットワーク104aに接続を試みる。これは、例えばIEEE802.11で規定される接続手順に従って行われ、Probe RequestもしくはProbe Response及びAssociation Request及びAssociation Responseといった制御フレームが、端末101aとアクセスポイント100との間で交換される。
アクセスポイント10の無線I/F201は、端末101aが送信するこれらのフレームを受信する。そして、アクセスポイント10の検出部203は、AP処理部208において処理すべきフレームとして検出する。そして、アクセスポイント10のAP処理部208はIEEE802.11の規定に従った処理や認証処理などを行い、応答となる制御フレームを無線I/F201を介して無線端末101aに送信する。ここではネットワーク104aについて説明したが、他のネットワークや他の無線端末でも同様である。
アクセスポイント100と端末101aとの間で無線接続が確立したものとして以下、説明する。図3を用いて、一時記憶部209に無線端末101がダウンロード要求する情報が保存されていないときのアクセスポイント10の動作について説明する。図3は、無線端末101がダウンロード要求する情報が一時記憶部209に保存されていないときのアクセスポイント10の処理の流れの一例を示すシーケンス図である。はじめに、無線端末101aはサーバ102aに対して、取得の対象となる対象情報の取得を要求することで処理が開始される。
(T101)無線I/F201は、この対象情報の取得要求を受信する。
(T102)そして、無線I/F201は、受信した取得要求を検出部203へ渡す。
(T103)検出部203は、この取得要求が、通信部204で処理すべき対象であるか否かを判断する。対象情報の取得要求(例えば、HTTPであれば宛先ポートがTCP80番であるもの)は通信部204での処理対象であるというルールが設定されているため、処理すべき対象であると判定される。
(T104)その結果、受信したフレームは通信部204に渡される。もし、検出部203により通信部204で処理すべき対象ではないと判断された場合には、転送部202に渡された後、有線I/F200を介して上位のネットワークに転送される。ここで、図2に従うと再度、検出部203を通過することになるが、2回目の検出部203をそのまま通過しても良い。
なお、この処理は単一のフレームに限定されず、フレームのヘッダに同じ情報が含まれる場合には、条件との判定を省略して後続フレームについても同様に処理するようにしても良い。すなわち、受信したイーサネットヘッダ、IPヘッダ、TCPヘッダの各ヘッダに含まれる情報が、一度、検出部203で判断したフレームの各ヘッダに含まれる値と同じであれば、検出部203は、条件との照合をスキップして、過去のフレームと同じように処理してよい。
(T105)通信部204は、渡されたフレームに対してTCP/IPの処理を実施する。
(T106)そして、通信部204は、取得要求をアプリ実行部206に渡す。
(T107)ここで、アプリ実行部206では、無線端末101に代わってサーバ102から情報を取得するアプリケーションが動作している。最初のフレームは、TCP接続を確立するIPパケットを含んでいるため、後続フレームと合わせる形で、無線端末101とアプリ実行部206との間で、論理通信路(TCP接続)が確立される。
(T108)続いて、後続のフレームが交換される。
(T109)次に、アプリ実行部206は、無線端末101から受信した要求を解析し、取得すべき情報を特定する識別子を取得する。この識別子は、例えばURLの形で表現されている。
(T110)次に、アプリ実行部206は制御部207にこのURLを通知して、当該情報が一時記憶部209にキャッシュされているか否かを問い合わせる。
(T111)次に、問い合わせを受けた制御部207は、自身が管理する情報に従って、当該情報が一時記憶部209にキャッシュされているか否かを判定する。
(T112)制御部207は、判定結果を、アプリ実行部206に応答する。図3の場合、一例として、キャッシュされていないと判定された例である。
(T113)アプリ実行部206は、キャッシュされていないとの応答が得られた場合、無線端末101aに代わってサーバ102aから情報を取得する。具体的には、まず、アプリ実行部206は、当該情報の取得要求を生成し、通信部204に渡す。
(T114〜T116)通信部204は、この取得要求をTCP/IPのパケットとして整形し、整形後の取得要求が転送部202を介して、有線I/F200へ転送される。
(T117〜T118)次に、有線I/F200は、HTTP通信などによりサーバ102から取得要求の対象となる対象情報を取得し、この対象情報が、アプリ実行部206を介して制御部207に転送される。
(T119〜T120)制御部207は、アプリ実行部206から情報を受けた場合、この情報を一時記憶部209に記憶させる。これにより、無線端末101aから取得を要求された情報が一時記憶部209にキャッシュされる。
なお、キャッシュした情報は、有効期限や情報を要求した無線端末101aを識別する情報、無線端末101aが接続している無線ネットワークの情報と関連づけられており、制御部207が適切に管理できる状態になっている。ここで、無線端末101aが接続している無線ネットワークの情報は、AP処理部208から入手されるか、または無線端末101aが用いたIPアドレスなどから特定される。最終的に取得した情報は、通信部204と無線I/F201を介して端末101aに応答として送信される。
続いて、図4を用いて、一時記憶部209に無線端末101aがダウンロード要求する情報が保存されているときのアクセスポイント10の動作について説明する。図4は、無線端末101がダウンロード要求する情報が一時記憶部209に保存されているときのアクセスポイント10の処理の流れの一例を示すシーケンス図である。T201〜T211の処理は、T101〜T111の処理と同一であるので、その説明を省略する。
(T212)図4では、無線端末101aから要求された情報が一時記憶部209にキャッシュされているという想定であるので、制御部207は、キャッシュされている旨の応答をアプリ実行部206に渡す。
(T213)キャッシュされている旨の応答を受けたアプリ実行部206は、その情報の読み出し要求を制御部207に渡す。
(T214)そして、制御部207は、以下の手順で一時記憶部209から当該情報を読み出す。制御部207は、例えば、当該情報の読み出し要求を一時記憶部209に対して発行する。
(T215)読み出し要求を受けた一時記憶部209は、当該情報を読み出す。
(T216)そして、一時記憶部209は、読み出した情報を制御部207へ返す。
(T217〜T218)制御部207は、以下のような手順で、通信部204と無線I/F201を介して無線端末101に、当該情報を送信する。当該情報が、制御部207からアプリ実行部206へ転送され、アプリ実行部206から通信部204に転送される。
(T219〜T221)通信部204は、当該情報をTCP/IPのパケットとして整形し、整形して得た整形後情報が転送部202を介して、無線I/F201に転送される。
(T222)無線I/F201は、この整形後情報を応答として無線端末101aへ無線送信する。
このように、アクセスポイント10はキャッシュ機能を提供できるので、ネットワークによる伝送遅延を低減できる。また、遅延の影響や広域ネットワークにおける輻輳などの影響を受けないため、それらに起因した無線端末101a〜101cのエネルギー消費を低減することができる。
(一時記憶部のリソース調整機能)
続いて、本実施形態で実現する一時記憶部209の調整機能について説明する。ここで、無線端末101aとアクセルポイント10と接続を確立する前の状態であるものとして、以下説明する。但し、ネットワーク104b及び104cには他の無線端末が接続済みである。
図5は、無線端末101aが接続を確立する前のアクセスポイント10の一時記憶部209の状態を示す図である。図5に示すように、無線端末101aが接続を確立する前の一時記憶部209に対して、ネットワーク104b、104cそれぞれを介して要求された情報に対する記憶領域500b、500cと、各ネットワークに接続する無線端末に共通してアクセス可能な記憶領域500xとが割り当てられている。ここで、この記憶領域500xには、例えば、アクセスポイント10の提供者がネットワークの利用者に対して広く提供したい情報が格納される。ネットワークの利用者に対して広く提供したい情報とは、例えば、利用者やネットワーク単位のアクセス制限が不要な広告データ、または局所的に活用可能な情報などである。
一時記憶部209が図5のように記憶領域が割り当てられている状態で、無線端末101aがネットワーク104aに接続を試みたと仮定する。上述したように、制御フレームが無線端末101aとアクセスポイント10との間で交換される。認証などの処理が問題なく完了すると、端末101aはアクセスポイント10との間で無線接続を確立する。そこのとき、図5のようにネットワーク104aに割り当てられている記憶領域がないので、ネットワーク104aに接続する無線端末101aが利用可能な領域がない。本実施形態では、このような状況でも、制御部207が、図6に示すように、適切に記憶領域の割り当てを変更することにより、無線端末101aが利用可能な記憶領域を確保する。
図6は、一時記憶部209の記憶領域の割り当て変更後の状態を示す図である。図7は、無線接続を接続可とした場合の記憶領域の割り当ての変更のシーケンス図である。
(T301〜T302)無線I/F201は、無線端末101aから接続要求(Association Request)を受信すると、接続要求を検出部203に転送する。
(T303〜T304)検出部203は、この接続要求が、通信部204で処理すべき対象であると判断する。そして、この接続要求が通信部204を介してAP処理部208に転送される。
(T305)次に、AP処理部208は、この接続要求を精査して接続可否を判断する。ここでは、接続可と判断したものとする。
(T306)AP処理部208は、接続可と判断したので、一時記憶部209の割り当ての調整を制御部207に指示する。
(T307)制御部207は、無線端末101aが接続する対象となるネットワーク104a向けに一時記憶部209の記憶領域を調整する必要があるか否か判断する。具体的には例えば、AP処理部208は、これから接続する無線ネットワークに割り当てられた領域があるか否か判断する。図5の状態では、記憶領域の空きがないので、記憶領域を調整する必要があると判断される。この判断処理は、一時記憶部209を実際に走査して判断してもよいし、記憶部210などに一時記憶部209の状態を管理する情報を保存しておき、それを参照することで判断してもよい。
このように、制御部207は、アクセス可能な記憶装置である一時記憶部209内の記憶領域の割り当て状況を用いて、一時記憶部209内の記憶領域の割り当てを変更するか否か判定し、この記憶領域の割り当てを変更すると判定した場合、この記憶領域の割り当てを変更する。
なお、制御部207は、これから接続する無線端末101aを加えた無線ネットワーク104aの接続端末数が閾値を超えた場合、無線ネットワーク104aに割り当てられた記憶領域を広げてもよい。
(T308)制御部207は、図6に示すように一時記憶部209の記憶領域の割り当てを変更する。図6では、図5に比べて、無線ネットワーク104aに割り当てられた記憶領域500aが新たに追加され、各記憶領域500a、500b、500c、500xが等分されている。このように、一時記憶部209の記憶領域は、ネットワーク毎に割り当てられており、制御部207は、ネットワークそれぞれ毎の記憶領域の割り当てを変更する。
なお、図6では、各記憶領域が等分されているが、これに限らず、この調整は後述のように種々の方法がある。
(T309)再調整が完了すると、制御部207は、調整完了をAP処理部208に通知する。
(T310)AP処理部208は、接続完了を示すAssociation Responseを応答として無線I/F201を介して無線端末101aに返す。以降の処理は、図3または図4の場合と同様である。
なお、最初のAssociation Requestにて接続不可と判定された場合には、一時記憶部209の記憶領域の割り当て変更を行わない。制御部207にて調整不要と判断された場合にも、一時記憶部209の記憶領域の割り当て変更を行われない。前者は接続できておらずキャッシュが不要であり、後者は既にキャッシュが割り当てられているからである。
また、一連の説明では、アクセスポイント10がAssociation Request/Responseを契機に、制御部207は一時記憶部209の記憶領域の割り当てを変更する例を示した。この他にも、無線端末101aまたは無線端末101aの利用者の認証が完了したとき、制御部207は一時記憶部209の記憶領域の割り当てを変更してもよい。
本実施形態においては、これまで一時記憶部209に記憶領域が割り当てられていないネットワークに属する無線端末が接続したい際に、一時記憶部209の記憶領域の割り当てを変更する点が特徴である。この記憶領域の割り当ての変更にあたっては、無線端末に対する無線通信の接続、もしくは無線端末101aまたは利用者の認証が完了したことを契機としているため、無線端末の属するネットワークの情報が活用できる。
また、制御部207は、無線I/F201が無線端末101a〜101cの一つから情報の取得要求を受信した場合、当該無線端末が接続するネットワークに割り当てられた記憶領域のみを探索する。例えば、制御部207は、無線I/F201が無線端末101bから情報の取得要求を受信した場合、当該無線端末101bが接続するネットワーク104bに割り当てられた記憶領域のみを探索する。これにより、仮に、ネットワーク104bに接続する端末101bから要求された情報が領域500cに保存されていたとしても、この情報は一時記憶部209からは提供されない。このようにすることで閉じたネットワークであることを前提として情報へのアクセス制限が行われている環境に対しても、制御部207は記憶領域の割り当てを変更することにより、キャッシュの利用効率を向上させることができる。
(一時記憶部209のリソース調整アルゴリズムについて)
続いて、一時記憶部209のリソース調整アルゴリズムについて説明する。図6に示した変更後の記憶領域の割り当ては、記憶領域全体をネットワークの数で等分するものであった。しかしながら、接続している端末数が少ないネットワークと多いネットワークとでは、キャッシュに適切な一時記憶部の容量は異なると考えられる。この点を考慮して、制御部207は、ネットワーク毎の接続端末数に応じて、記憶領域の割り当てを変更してもよい。例えば、制御部207は、ネットワーク毎の接続端末数が多いほど、大きな記憶領域を割り当てるように記憶領域の割り当てを変更してもよい。
具体的には例えば、ネットワーク104aへの接続端末数と、ネットワーク401bへの接続端末数と、ネットワーク401cへの接続端末数との比が、1台:22台:37台であれば、制御部207は、一時記憶部207の全体の記憶領域を60等分した後、接続端末数に合わせて、ネットワーク104aへ全体の60分の1の記憶領域、ネットワーク104bへ全体の60分の22の記憶領域、ネットワーク104cへ全体の60分の37の記憶領域を割り当ててもよい。
ここで、最初の1台のようにネットワーク全体での接続数が小さいと、効率的な割り当てが困難となる。そこで接続端末数の1の位は繰り上げるなどの規則を設けても良い。先の例では、接続端末数の1の位を繰り上げると、接続端末数の比は10:30:40となるので、制御部207は、ネットワーク104aへ全体の8分の1の記憶領域、ネットワーク104bへ全体の8分の3の記憶領域、ネットワーク104cへ全体の8分の4の記憶領域を割り当ててもよい。
また、制御部207は、無線端末(情報要求装置)が要求した情報が一時記憶部209の情報を使って応答できた割合(以下、キャッシュのヒット率ともいう)に応じて、記憶領域の割り当てを変更してもよい。
例えば、あるネットワークに割り当てられた記憶領域のキャッシュのヒット率が、当該ネットワークに対して設定された目標ヒット率より下がった場合に、新たに当該ネットワークに無線端末が接続した場合、記憶領域を広げてもよい。これにより、キャッシュする情報の数を増やすことができ、キャッシュのヒット率を向上させることができる。ここで、目標ヒット率は、無線ネットワーク毎に決められていてもよい。
(一時記憶部の記憶領域の割り当て変更時の情報の破棄について)
続いて、一時記憶部の記憶領域の割り当て変更時の情報の破棄について説明する。
図5から図6のように記憶領域の割り当てを変更する際に説明したように、本実施形態では、あるネットワークに対して割り当て済みの記憶領域の一部が、強制的に他のネットワークに割り当てられる場合が生じる。このとき、記憶領域の縮小に伴って、当該記憶領域が保持している情報を破棄しなければならない。
よって、制御部207は、一のネットワークに割り当てられた記憶領域の一部または全部が他のネットワークに割り当てられる場合、予め決められた規則に従って記憶領域の一部または全部に含まれる情報を破棄する。この規則は、破棄する情報の選択方法を定めた規則であり、例えば、最も参照時刻が古いものから破棄するという規則(Least Recently Used)、または最も参照回数が低いものから破棄するという規則(Least Frequently Used)がある。なお、制御部207は、他のアルゴリズムに従って、破棄してもよい。
また、制御部207は、縮小する記憶領域に含まれる情報のうち、情報の現時点からキャッシュが失効する(Expire)するまでの時間が短いものほど優先的に破棄してもよい。例えば、現時点から情報の有効期間が規定されている場合、制御部207は、この有効期間が最も短いものから破棄しても良いし、情報の有効期限が規定されている場合、この有効期限が最も早いものから破棄しても良い。ここで、情報の有効期限とは、例えばHTTPであれば取得要求に対応する応答メッセージにて指定される有効期限である。他に、キャッシュ制御部207が独自に設定した有効期限でもよい。いずれにせよ、制御部207は、何らかのアルゴリズムを用いてキャッシュ済みの情報を適切に破棄したうえ、その割り当てサイズを縮小すればよい。
(利用者識別情報を利用した記憶領域の割り当ての変更)
これまでに述べた一時記憶部209に対する割り当て方法は、ネットワークを単位として行っていた。しかし、アクセスポイント10に接続するために行った認証処理では利用者を識別する利用者識別情報を扱っていることから、制御部207は、この利用者識別情報を用いて、記憶領域の割り当ての変更を行ってもよい。
また、制御の単位は利用者個人であってもよいし、複数の利用者をまとめたグループを単位としても良い。このグループは、総務部や営業部など既存の集団に対応するものでも良いし、利用者の個人情報(例えば、住所や年齢など)や嗜好に基づいて形成される集合であっても良い。あるいは、コンテンツに対するアクセス権を購入したユーザの集合(この場合、アクセス権を有する利用者にだけアクセスを許可する)のように別の条件を課したうえで形成される集合であってもよい。また、制御の単位は、無線端末単位であってもよい。
なお、これらの集合に対するアクセス制限は、ネットワークを用いたアクセス制限と共存しうる。そのため、図8に示すように、例えば、利用者毎の記憶領域の割り当てをネットワーク毎の記憶領域の割り当てと同列に扱ってもよい。図8は、利用者識別情報を用いた記憶領域の割り当ての第1の例を示す図である。図8では、記憶領域900a−1が第1のユーザに割り当てられ、記憶領域900b−1が第2のユーザに割り当てられ、記憶領域900a−3が第3のユーザに割り当てられている。記憶領域900aがネットワーク104aに割り当てられ、記憶領域900bがネットワーク104bに割り当てられ、記憶領域900a−3がネットワーク104cに割り当てられている。また、記憶領域500xは、各ネットワークに接続する無線端末に共通してアクセス可能な記憶領域である。この図8の例では、利用者識別情報全体をネットワークと同列に扱い記憶領域全体を5等分し、そのうちの一つの領域を3等分しているが、これに限ったものではない。個々の利用者をネットワークと同列に扱い、記憶領域全体を7等分し、分割後の記憶領域を個々の利用者に割り当てても良い。
あるいは、図9に示すように、ネットワーク毎に割り当てた領域を更に細分化した領域を、利用者毎に割り当ててもよい。図9は、利用者識別情報を用いた記憶領域の割り当ての第2の例を示す図である。図9に示すように、一時記憶部209の記憶領域の全体が4等分されて、ネットワーク104a〜104cそれぞれに割り当てられた記憶領域900a〜900cと、各ネットワークに共通な記憶領域900xとに分かれている。更に,記憶領域900aは、第1のユーザに割り当てる記憶領域900a−1と、第2のユーザに割り当てる記憶領域900a−2と、第3のユーザに割り当てる記憶領域900a−3とを有する。
このように、一時記憶部209の記憶領域は、無線端末(情報要求装置)、無線端末(情報要求装置)の利用者、または利用者のグループ毎に割り当てられていてもよい。そしてげ、制御部207は、無線端末(情報要求装置)、無線端末(情報要求装置)の利用者、または利用者のグループそれぞれ毎の記憶領域の割り当てを変更してもよい。
(接続の解消に伴う割り当て済みの記憶領域の再調整について)
続いて、アクセスポイント10との接続の解消に伴う割り当て済みの記憶領域の再調整について説明する。アクセスポイント10に接続した無線端末は、何らかの理由によりアクセスポイントとの接続を解消する。接続の解消には、明示的なもの(例えば、DisassociationフレームやDeauthenticationフレームが交換されるもの)と、暗黙的なもの(例えば、タイマーを用いて予め決められた接続有効時間が経過するのを検出するもの)がある。いずれの場合もアクセスポイント10は、割り当て済みの記憶領域の割り当てを変更してもよい。
例えば、上述した、特定のネットワークにはじめて無線端末が接続する場合とは逆に、特定のネットワークに接続する端末数がゼロになった場合、制御部207は、一時記憶部209の記憶領域の再調整を行って、この特定のネットワークに割り当てられた記憶領域を解放してもよい。具体的には例えば、制御部207は、ネットワーク104aに接続する端末数がゼロになったことを検出した場合、図6の状態から図5の状態へと、一時記憶部209の記憶領域の割り当てを変更してもよい。
なお、接続端末数に応じて一時記憶部209を按分している場合、接続端末数の変化に応じて再調整を行ってよい。閾値を定めて按分している場合(上述の例では1の位を繰り上げて閾値としている)には、閾値を跨いだタイミングで再調整を行ってもよい。ここで、閾値を跨いだタイミングとは、閾値を超えたタイミング、または閾値を下回ったタイミングである。
同様に、利用者識別情報を用いて一時記憶部209の領域を割り当てている場合、AP処理部208が対象とする利用者が使用する無線端末とアクセスポイント10との接続の解消を検出したとき、一時記憶部209の記憶領域の割り当てを変更してもよい。具体的には例えば、AP処理部208が対象とする利用者が使用する無線端末とアクセスポイント10との接続の解消を検出したとき、制御部207は、対象とする利用者に割り当てられた記憶領域を解放して、他の利用者またはネットワークに割り当ててもよい。
次に、図10を用いて、無線端末とアクセスポイント10との接続の解消を検出した際の、記憶領域の再調整処理について説明する。図10は、無線端末とアクセスポイント10との接続の解消を検出する場合の記憶領域の再調整処理のシーケンス図である。ここで、無線端末101aと無線端末101bがアクセスポイント10に既に接続していることを前提とする。
(T401〜T402)無線I/F201が切断要求(Diassociation)を無線端末101aから受信すると、無線I/F201は、この切断要求を検出部203に転送する。
(T403)検出部203は、この切断要求が、通信部204で処理すべき対象であるか否かを判断する。切断要求が、通信部204での処理対象であるというルールが設定されているため、処理すべき対象であると判定される。
(T404)この切断要求がAP処理部208へ転送される。
(T405〜T406)切断要求を受けたAP処理部208は、それに応じて規定の切断処理を実行し、一時記憶部209の記憶領域の割り当ての再調整を制御部207に指示する。
(T407〜T408)この指示を受けた制御部207は、記憶領域の調整の要否を判断する。ここでは、制御部207は、調整が必要と判断し、一時記憶部209の記憶領域の割り当てを再調整する。
(T409)再調整が完了した場合、制御部207は、調整が完了した旨をAP処理部208に通知する。
(T410〜T411)その後、AP処理部208は、別の無線端末101bに対して、接続有効時間が経過したか否か判断する。ここでは、接続有効時間が経過したと判断され、AP処理部208は、一時記憶部209の記憶領域の割り当ての再調整を制御部207に指示する。
(T412〜T413)この指示を受けた制御部207は、記憶領域の調整の要否を判断する。ここでは、制御部207は、調整が必要と判断し、一時記憶部209の記憶領域の割り当てを再調整する。
(T414)再調整が完了した場合、制御部207は、調整が完了した旨をAP処理部208に通知する。
(一時記憶部209におけるデータ管理方法の変形例)
これまでの説明では、一時記憶部209を複数の領域に分割して管理することを説明したが、この管理方法は一例であり、別の方法でもよい。例えば、記憶領域を細分化せずに、制御部207は個々の情報と取得したネットワークとを関連づけて一時記憶部209に保存してもよい。これにより、情報に対するネットワーク毎のアクセス制限を実現することができる。
同様に、制御部207は個々の情報と、ネットワークに接続した無線端末の利用者を識別する利用者識別情報またはこの利用者のグループを識別するグループ識別情報とを関連づけて一時記憶部209に保存してもよい。これにより、利用者やそのグループを単位とするアクセス制限についても実現できる。
更に、一時記憶部209に保存する情報とは別に、各ネットワークや利用者の単位で保存されている情報の数やサイズを管理することで、ネットワークや利用者毎に保存している情報の総量を管理できる。
ここで、サイズは、実際のデータサイズでもよいし、一時記憶部209上で使用しているサイズや記憶単位(例えば、ブロック)の数などでもよいし、情報を維持管理するためのメタデータの使用数(i−nodeやFAT(File Allocation Table)のエントリの使用数、またはKVS(Key Value Store)におけるハッシュ値の数など)でもよい。
(利用者の認証を外部の認証サーバで実行する場合について)
続いて、利用者の認証を外部の認証サーバで実行する場合について説明する。これまでの説明では、アクセスポイント10で無線端末の接続可否判断及び利用者の認証を行うものとして説明した。しかしながら、無線端末の接続可否判断及び/または利用者の認証は、アクセスポイント10の外部に設けられた装置で行われてもよい。
図11を用いて、利用者の認証処理をアクセスポイント10の外部に設置された認証サーバで行う例について説明する。
図11は、第1の実施形態の変形例における通信システム1bの構成を示す図である。なお、図1と共通する要素には同一の符号を付し、その具体的な説明を省略する。図11に示すように、第1の実施形態の変形例における通信システム1bの構成は、第1の実施形態における通信システム1の構成に比べて、アクセスポイント10に接続された認証サーバ(認証装置)105が追加されたものになっている。認証サーバ105は、利用者の認証を行う。
続いて、図12を用いて、第1の実施形態の変形例における通信システム1bの動作について説明する。図12は、第1の実施形態の変形例における通信システム1bの処理の流れを示すシーケンス図である。ここでは一例として、無線端末101aが接続要求をアクセスポイント10に送信する場合について説明する。
図12の処理の流れは、図7に示す処理と同じであるが、認証処理を外部の認証サーバ105に転送している点と、認証サーバから送信された認証結果を解釈して一時記憶部209の記憶領域の割り当てを再調整している点が異なる。以下、具体的に説明する。
T501〜T504の処理は、図7のT301〜T304の処理と同じであるので、その説明を省略する。
(T505)AP処理部208は、接続可を示す応答(Association Response)を無線I/F201に返す。
(T506)無線I/F201は、無線端末と無線通信することによって認証に必要な情報が取得され、取得された認証に必要な情報がEAPoL(Extensible Authetication Protocol over LAN)に従ってAP処理部208に転送される。そして、AP処理部208から、通信部204、転送部202、有線I/F201を介して、認証に必要な情報が認証サーバ105へ転送される。そして、認証処理(RADIUS:Remote Authentication Dial in User Service)が認証サーバで行われる。
(T507)ここでは、認証に成功したとして、以下説明する。認証サーバ105は、認証成功の最終応答(RADIUS-Access-Accept)をAP処理部208に返す。
(T508)AP処理部208は、この認証成功の最終応答を精査して接続可否を判断する。ここでは、接続可と判断したものとする。
(T509)AP処理部208は、接続可と判断したので、一時記憶部209の割り当ての調整を制御部207に指示する。
(T510)制御部207は、無線端末101aが接続する対象となるネットワーク104a向けに一時記憶部209の記憶領域を調整する必要があるか否か判断する。この判断の具体的な処理は、図7のT307の処理と同様である。
(T511)ここでは、制御部207は、一時記憶部209の記憶領域を調整する必要があると判断したものとする。そのとき、制御部207は、一時記憶部209の記憶領域の割り当てを例えば、図5から図6へ変更する。このようにして、ネットワーク104aに対して新たな記憶領域500aが割り当てられる。
(T512)再調整が完了すると、制御部207は、調整完了をAP処理部208に通知する。
(T513)AP処理部208は、認証成功の最終応答(EAPoL Success)を応答として無線I/F201を介して無線端末101aに返す。
以上のように、AP処理部は、利用者の認証を行う認証サーバ105と通信する。制御部207は、AP処理部208が認証サーバ105から端末装置101aの利用者の認証結果(例えば、認証成功を示す応答)を受信した場合にも、記憶領域の割り当てを変更する。なお、制御部207は、そのとき、記憶領域の割り当ての変更ではなく、記憶領域に保存されている情報が提供可能な対象範囲を変更してもよい。
以上、第1の実施形態に係るアクセスポイントは、情報を要求する無線端末101と要求された情報を提供するサーバ102との間の通信を中継する中継装置である。そして、無線I/F201は、無線端末が送信した信号を受信する。AP処理部208は、この信号を用いて、ネットワークの接続管理及び/または無線端末もしくは無線端末の利用者の認証を行う。制御部207は、AP処理部208が信号から、ネットワークへの接続、切断または無線端末もしくは無線端末の利用者の認証に関する情報である管理情報、または接続有効時間の経過を検出した場合、アクセス可能な一時記憶部209内の記憶領域の割り当て、または記憶領域に保存されている情報の提供可能な範囲を変更する。
これにより、例えば、無線端末がネットワークへの接続したときに、当該ネットワークに接続数が0から1に増えた場合には、当該ネットワークに対して一時記憶部209に新たに記憶領域を割り当てることができる。一方、当該ネットワークに既に記憶領域が割り当てられていれば、割り当てられた記憶領域を大きくすることができる。これにより、同じ無線ネットワークに接続された他の無線端末が要求する情報が一時記憶部209に格納されている確率を向上させることができるので、一時記憶部209の記憶領域の利用効率を向上させることができる。
また、アクセスポイント10が情報を一時保持する一時記憶部209を備えることにより、他の無線端末からその情報を要求された場合に、一時記憶部209から読み出して返答することができる。これにより、サーバ102から情報を取得する必要がなくなるので、その分、ネットワークの伝送遅延を低減することができる。
更に、キャッシュを実現する一時記憶部209の記憶領域を、ネットワーク毎、利用者毎、または利用者のグループ毎に分割することにより、ネットワーク毎、利用者毎、または利用者のグループ毎に情報を管理できる。これにより、情報に対してネットワーク毎、利用者毎、または利用者のグループ毎に、アクセスできる情報に制限を設けることができる。
なお、制御部207は、無線端末の接続もしくは切断の頻度、または前記ネットワークにおける接続もしくは切断の頻度に応じて、一時記憶部209の記憶領域の割り当ての変更の実行有無もしくは一時記憶部209の記憶領域の割り当ての変更頻度を決定してもよい。
例えば、頻繁に接続及び切断を繰り返すことが、過去のログなどから、分かっている無線端末やネットワークについては、制御部207は、一時記憶部209の記憶領域の再調整を実行しない、もしくは実行する頻度を少なくなるようにしてもよい。
制御部207は、無線端末の過去の接続履歴、またはネットワークにおける過去の接続履歴に応じて、一時記憶部209の記憶領域の割り当てを変更してもよい。例えば、過去のログなどから、特定の無線端末が接続することが想定される場合、特定のネットワークが利用されることが推定される場合、または特定のネットワークにおいて利用者が多いもしくは少ないことが想定される場合、制御部207は、その傾向を踏まえて一時記憶部209の記憶領域の再調整を行ってもよい。
具体的には例えば、将来接続することが分かっている無線端末がある場合、制御部207は、その無線端末が現在、接続しているネットワークに割り当てられた記憶領域に含まれる情報を、将来接続すると予想されるネットワークに割り当てられた記憶領域に記憶させてもよい。
同様に、将来利用されることが分かっているネットワークがある場合、制御部207は、無線端末が現在、接続しているネットワークに割り当てられた記憶領域に含まれる情報を、将来利用されることが分かっているネットワークに割り当てられた記憶領域に記憶させてもよい。
仮に、将来接続することが分かっている無線端末または将来利用されることが分かっているネットワークがある場合、その無線端末により過去に取得要求された情報または過去にそのネットワークを介して取得要求された情報が、キャッシュに残っている状態であれば、キャッシュが強制的に他のネットワークに割り当てられる場合の削除対象から、この情報を除外してもよい。
また、特定ユーザのクラウドストレージを事前に一時記憶部209に事前に記憶してもよい。これにより、この特定のユーザのキャッシュの利用効率を向上させることができる。
また、利用者が多いまたは少ないことが分かっている場合、制御部207は、事前に利用者数で重みづけしたうえで、一時記憶部209の記憶領域の再調整を行っても良い。例えば、制御部207は、利用者数が多いほど割り当てる記憶領域を大きくしてもよい。また、利用者数が閾値より多い場合、つまり利用者数が多いことが想定される場合、制御部207は、再調整の頻度を少なくするようにしても良い。
また、制御部207は、一時記憶部209内の個々の記憶領域のサイズ、またはネットワークに接続する端末数に応じて、AP処理部208にこのネットワークへの接続を受け付けさせないか、またはこのネットワークに接続しようとする無線端末もしくは無線端末の利用者の認証を失敗させてもよい。
例えば、特定のネットワークに割り当てられた記憶領域が小さくなりすぎて一時記憶部209の記憶領域の再割り当てが困難な場合、または特定のネットワークに対して利用者が集中して一時記憶部209の記憶領域が拡大できない場合、制御部207は、AP処理部208に特定の無線ネットワークの提供を中止させる(例えば、特定のSSIDを広告しない)か、またはユーザ認証をわざと失敗させてもよい。
また、本実施形態では、制御部207は、AP処理部208が接続要求、切断要求、または認証成功を検出した場合、一時記憶部209の記憶領域の割り当てを変更したが、これに限ったものではない。制御部207は、規定の周期、または予め決められたタイミングで、ネットワークに接続する端末数を計数し、この端末数に変更があれば、一時記憶部209の記憶領域の割り当てを変更してもよい。
(第2の実施形態)
続いて、第2の実施形態について説明する。第1の実施形態では、アクセスポイント10自身がキャッシュしている情報だけを活用した。それに対し、第2の実施形態では、他のアクセスポイントが持つキャッシュの情報を活用する制御を行う。
図13は、第2の実施形態における通信システム2の構成を示す図である。なお、図1と共通する要素には同一の符号を付し、その具体的な説明を省略する。図13に示すように、第2の実施形態における通信システム2の構成は、第1の実施形態における通信システム1の構成に比べて、アクセスポイント10がアクセスポイント10b−1に変更され、アクセスポイント10b−2が追加されたものになっている。
図13に示すように、二つのアクセスポイント10b−1と10b−2が、ネットワーク103に接続している。アクセスポイント10のAP処理部208は、有線ネットワークであるネットワーク103を介して互いの存在を把握しており、双方がキャッシュ機能を持つアクセスポイントであることも把握している。これらは例えば、ノード検出プロトコルを拡張するなどして実現できる。以下、アクセスポイント10b−1、10b−2を総称してアクセスポイント10bと称す。
なお、図13では、アクセスポイントが二つであるが、三つ以上であってもよい。
図14は、第2の実施形態におけるアクセスポイント10bの機能ブロック図である。なお、図2と共通する要素には同一の符号を付し、その具体的な説明を省略する。図14に示すように、第2の実施形態におけるアクセスポイント10bの構成は、第1の実施形態におけるアクセスポイント10の構成に比べて、AP処理部208がAP処理部301に変更され、制御部207が制御部302に変更され、キャッシュ連携部(連携部)303が追加されたものになっている。
AP処理部301は、第1の実施形態のAP処理部208の機能に加えて、周辺のアクセスポイントを検出する機能、及びアクセスポイント間のローミングに必要な機能が追加されている。
制御部302は、第1の実施形態の制御部207の機能に加えて、自身の一時記憶部209だけを管理するのではなく、周辺のアクセスポイントの一時記憶部209の情報も合わせて把握する機能が追加されている。
キャッシュ連携部303は、周辺の他のアクセスポイントからの要求を受けて、自アクセスポイントが一時記憶部209に保持している情報を当該他のアクセスポイントへ提供したり、他のアクセスポイントに対して情報を要求したりする機能を有する。
例えば、キャッシュ連携部303は、無線端末が以前に接続していたアクセスポイントである前接続中継装置を特定する。この処理は、例えば、AP処理部301が無線I/F201が受信した信号から接続要求を検出したときに、当該接続要求を行う無線ネットワークに接続する端末数が閾値未満の場合に行われる。そして、キャッシュ連携部303は、特定した前接続中継装置に対して、前接続中継装置が管理している情報の送信を要求する要求信号を送信し、この要求信号に応じて送信された情報を一時記憶部209に記憶させる。その際、例えば、キャッシュ連携部303は、無線端末が要求した情報が一時記憶部209に保存されていない場合であって、この情報が前接続中継装置が管理している場合、前接続中継装置からこの情報を取得する。
図13の例において、現時点では無線端末101cは、アクセスポイント10b−1に接続しているものとする。以降、無線端末101cがアクセスポイント10b−1の無線通信範囲からアクセスポイント10b−2の無線通信範囲に移動する場合を例に、動作を説明する。
無線端末101cが移動を開始すると、規定の方法を使ってアクセスポイント10b−1からアクセスポイント10b−2に接続の切り替えが行われる。このとき、第1の実施形態で説明したように、アクセスポイント10b−2では一時記憶部209の領域を再調整する処理が行われる。仮に、アクセスポイント10bを介してネットワーク104cに接続する端末数がゼロの状態で無線端末101cが移動してきた場合、新しくネットワーク104cに対して確保する記憶領域には一切の情報が記憶されていない状態となる。一方、移動前のアクセスポイント10bには、ある程度の情報がキャッシュされていると考えられる。その結果、移動に伴ってキャッシュのヒット率が大きく低下し、無線端末101cの利用者は伝送遅延が増えたように感じることが予想される。
そこで、本実施形態では、この問題を解決するために、無線端末101cが移動後に接続するアクセスポイント(以下、移動先アクセスポイントともいう)10b−2のキャッシュ連携部303は、無線端末101cが移動前に接続するアクセスポイント(以下、移動元アクセスポイントともいう)10b−1を検出する。そして、アクセスポイント10b−2のキャッシュ連携部303は、必要に応じて、アクセスポイント10b−1の一時記憶部209の情報を要求する同期要求を送信し、この同期要求に応じて受信した情報を自アクセスポイントの一時記憶部209に保存する。このように、アクセスポイント10b−1とアクセスポイント10b−2で情報を共有するので、この処理を以下、同期ともいう。一方、反対に、アクセスポイント10b−2のキャッシュ連携部303は、アクセスポイント10b−1から同期要求を受けた場合、自アクセスポイントの一時記憶部209に記憶されている情報を送信する。
この処理の実行にあたり、移動元アクセスポイント10b−1を特定する方法には大きく二つの方法がある。第1の方法は、移動先アクセスポイント10b−2のキャッシュ連携部303が同一LAN上のアクセスポイントに対して問い合わせる方法である。この方法は、例えば、移動先アクセスポイント10b−2のキャッシュ連携部303が、接続してきた無線端末101cの識別子(例えばMACアドレス)を含む探索要求を有線I/F200を介してマルチキャストあるいはブロードキャストし、それに対して移動元アクセスポイント10b−1のキャッシュ連携部303が応答することにより実現できる。
第2の方法は、移動先アクセスポイント10b−2のAP処理部301が端末101cの移動に伴い、IEEE 802.11rの処理を行ううえで、無線端末101cから1つ前に接続していたアクセスポイントを識別する情報が得られることを利用して、その得られた情報により移動元アクセスポイント10b−1を特定する方法である。
いずれかの方法で移動元アクセスポイント10b−1が特定できたと仮定する。キャッシュ連携部303は、移動元アクセスポイント10b−1のキャッシュ連携部303に同期要求を送る。要求を受信したキャッシュ連携部303は、制御部302を介して一時記憶部209からネットワーク104cに対して割り当てられた記憶領域に格納された情報を読み出す。そして、このキャッシュ連携部303は、有線I/F200を介して移動先アクセスポイント10b−1に転送する。転送された情報を受信した移動先アクセスポイント10b−1のキャッシュ連携部303は、制御部302を介して、受信した情報を一時記憶部209に保存する。
この処理によって一時記憶部209に保存された情報は、一時記憶部209に保存されている他の情報と同様に扱われ、無線端末101cからの要求に対応する応答として利用される。ここで、一時記憶部209の同期が完了する前に、無線端末101cからの新しい取得要求をアクセスポイント10b−2が受信した場合を想定する。
この場合、アプリ実行部206から問い合わせを受けた制御部302が、一時記憶部209の同期処理中であることを検出する。そのうえで一時記憶部209に、取得要求で要求された情報が格納済みか否か判定する。判定の結果、格納済みであれば、その情報を無線端末101cに返して処理を終了する。一方、判定の結果、格納済みでなければ、キャッシュ連携部303は、移動元アクセスポイント10b−1のキャッシュ連携部303に要求された情報を保存しているか問い合わせる。
移動元アクセスポイント10b−1の一時記憶部209に所望の情報が保存されていれば、移動元アクセスポイント10b−1のキャッシュ連携部303は、その情報を取得して無線端末101cに送り返す。移動元アクセスポイント10b−1にも保存されていなかった場合、アプリ実行部206はサーバ102cへその情報を要求する。
この移動元アクセスポイントへの問い合わせ処理は、一時記憶部209に対する同期処理が完了した場合に終了してもよい。または、この移動元アクセスポイントへの問い合わせ処理は、後述の閾値を跨いだタイミングで終了してもよい。閾値は、例えば、移動元アクセスポイント(前接続中継装置)が管理している情報の数もしくはサイズ、または無線端末(情報要求装置)が要求した情報が、(移動元アクセスポイント(前接続中継装置)が管理している記憶装置の一例である)一時記憶部209に保存されている割合である。これにより、キャッシュのヒット率を閾値で決まる程度まで向上させることができる。
更に、直近に接続していたアクセスポイントの何個のアクセスポイントまで問い合わせるかは、運用者が設定可能なパラメータである。
ネットワーク上で移動元アクセスポイントを探索する際に、移動先アクセスポイント10b−2のキャッシュ連携部303は、複数のアクセスポイントへ応答を要求する要求信号を送信する場合がある。この場合、要求を受けたアクセスポイントは、アソシエーション時刻など接続確立中、接続中、または切断処理中の時刻情報を含む応答を返してもよい。これにより、移動先アクセスポイント10b−2のキャッシュ連携部303は、時刻情報から過去に無線端末101cが接続した順序を決定することができる。
上述した説明では、移動元アクセスポイント10b−1のキャッシュを確認した後、本来のサーバ102cに問い合わせる処理を行うものとして説明した。この場合、移動元アクセスポイント10b−1に情報が格納されていなければ、その時間が無駄になる。そのため、アプリ実行部206は、サーバ102cへの問い合わせを、キャッシュ連携部303による処理と並行して行う場合がある。その場合、移動先アクセスポイント10b−2のキャッシュ連携部303が、移動元アクセスポイント10b−1から所望の情報が受信できた場合、サーバ102cからの情報の取得処理を終了すればよい。その際、例えば、アプリ実行部206はTCPのRSTパケットなどをサーバ102cに送信して接続を閉じてもよい。なお、もしサーバ102cから先に応答が取得できた場合には、移動元アクセスポイント10b−1への問い合わせを同様にして中断すればよい。
続いて、図15を用いて本実施形態の処理の流れについて説明する。図15は、第2の実施形態における通信システム2の処理の流れを示すシーケンス図である。以下の処理は、無線端末101cがアクセスポイント10b−1の無線通信範囲から、アクセスポイント10b−2の無線通信範囲に移動した場合の処理である。
(T501)まず、アクセスポイント10b−2の無線I/F201は、接続要求を無線端末101cから取得し、取得した接続要求をAP処理部301へ転送する。
(T502)次に、アクセスポイント10b−2のAP処理部301は、無線端末101cが移動前に接続していたアクセスポイントを探索する指示をキャッシュ連携部303に出す。
(T503〜T504)次に、アクセスポイント10b−2のキャッシュ連携部303は、無線端末101cが移動前に接続していたアクセスポイントを探索するために、過去に無線端末101cが接続していた場合に応答を要求する要求信号を有線I/F200を介して送信する。これにより、要求信号がアクセスポイント10b−1の有線I/F200で受信され、キャッシュ連携部303に転送される。
(T505)次に、アクセスポイント10b−1のキャッシュ連携部303は、要求信号に対して、過去に無線端末101cが自アクセスポイントに接続していたか否か確認する。ここでは、一例として自アクセスポイントに接続していたことが確認される。
(T506〜T507)自アクセスポイントに接続していたことが確認されたので、アクセスポイント10b−1のキャッシュ連携部303は、要求信号に対する応答を有線I/F200を介してアクセスポイント10b−2へ送信する。これにより、応答が、アクセスポイント10b−2の有線I/F200に転送され、更に、その応答が有線I/F200からキャッシュ連携部303へ転送される。
(T508〜T509)応答を受けたアクセスポイント10b−2のキャッシュ連携部303は、同期要求を有線I/F200を介してアクセスポイント10b−1へ送信する。これにより、同期要求がアクセスポイント10b−1の有線I/F200に転送され、更に、その同期要求がこの有線I/F200からキャッシュ連携部303へ転送される。
以下、同期が完了するまでT510〜T517の処理を繰り返す。
(T510)同期要求を受けたアクセスポイント10b−1のキャッシュ連携部303は、読み出し要求を制御部302へ渡す。
(T511)読み出し要求を受けた制御部302は、読み出し要求を一時記憶部209へ出力する。
(T512〜T514)一時記憶部209は、この読み出し要求がヒットした情報を制御部302へ返す。この情報は、制御部302からキャッシュ連携部303に転送され、更に、この情報は、有線I/F200を介してアクセスポイント10b−2へ転送される。
(T515〜T516)この情報は、アクセスポイント10b−2の有線I/F200で受信された後に、キャッシュ連携部303、制御部302に転送される。
(T517)この情報を受けた制御部302は、この情報を一時記憶部209に保存する。
(T518〜T519)T510〜T517の処理の繰り返しにより同期が完了した場合、アクセスポイント10b−1のキャッシュ連携部303は、同期完了を有線I/F200を介して、アクセスポイント10b−2のキャッシュ連携部303に通知する。
以上、第2の実施形態において、アクセスポイント10b−2は、ネットワーク103を介して他のアクセスポイント10b−1と接続されている。そして、アクセスポイント10b−2のキャッシュ連携部303は、無線端末101cが以前に接続していたアクセスポイントである移動元アクセスポイント(前接続中継装置)を特定し、特定した移動元アクセスポイントに対して、この移動元アクセスポイントが管理している情報の送信を要求する要求信号を送信し、この要求信号に応じて送信された情報を一時記憶部209に記憶させる。
これにより、アクセスポイント10b−2の一時記憶部209には、アクセスポイント10b−1の一時記憶部209に格納されていた情報が格納されるので、アクセスポイント10b−2のキャッシュのヒット率を向上させることができる。
なお、上述した第2の実施形態の説明では、移動先アクセスポイント10b−2のネットワーク104cに接続する無線端末が無い状態で、無線端末101cが移動先アクセスポイント10b−2に接続する場合について説明した。もし、既にいくつかの無線端末が移動先アクセスポイント10b−2のネットワーク104cに接続しており、且つ/またはネットワーク104cに対して割り当てられた記憶領域に充分な情報がキャッシュされていると判断された場合、キャッシュ連携部303は、情報の同期を行わなくてもよい。
例えば、キャッシュ連携部303は、AP処理部301が予め決められた閾値(例えば、0)より多い数の無線端末が、対象の無線端末101cが接続を要求するネットワーク104cに既に接続している場合、移動元アクセスポイント(前接続中継装置)を特定し、一時記憶部209に保存されている情報の数もしくはサイズ、または無線端末が要求した情報が一時記憶部209に保存されている割合(あるいはヒット率)を用いて、移動元アクセスポイント(前接続中継装置)と情報の同期を行うか否かを判定してもよい。
ここで閾値が、移動元アクセスポイントが管理している情報の数もしくはサイズ、または対象の無線端末101cが要求した情報が移動元アクセスポイントが管理している記憶装置に保存されている割合に設定されていることを想定する。この想定で、キャッシュ連携部303は、例えば、一時記憶部209に保存されている情報の数もしくはサイズ、または無線端末が要求した情報が一時記憶部209に保存されている割合と 上記閾値とを比較することによって、移動元アクセスポイント(前接続中継装置)と情報の同期を行うか否かを判定してもよい。同期を実行する際に、対象となる情報を限定してもよい。例えば、参照回数が大きい情報、情報の有効が長い情報、キャッシュに格納されてからの経過時間(新しい情報に限定するため)、(対象となる端末が)まだ参照していない情報、などである。これらはキャッシュに保存されている情報ごとに、参照回数や有効期限、格納時刻、端末ごとの参照有無フラグ、などの情報を保持しておくことで実現できる。
(第3の実施形態)
続いて、第3の実施形態について説明する。第1及び第2の実施形態では、アクセスポイントがキャッシュ機能を有した。それに対し、第3の実施形態では、アクセスポイントを制御するコントローラがキャッシュ機能を有する。
図16は、第3の実施形態における通信システム3の構成を示す図である。なお、図1と共通する要素には同一の符号を付し、その具体的な説明を省略する。図16に示すように、第3の実施形態における通信システム3の構成は、第1の実施形態における通信システム1の構成に比べて、アクセスポイント10がアクセスポイント10c−1に変更され、アクセスポイント10c−2とコントローラ(制御装置)600が追加されたものになっている。
コントローラ(制御装置)600は、各ネットワーク104a〜104cと接続されている。また、コントローラ(制御装置)600は、ネットワーク103を介してアクセスポイント10c−1、10c−2と接続されている。
アクセスポイント10c−1、10c−2は、コントローラ600との間にネットワーク103の構造を隠蔽するためのトンネル構造を構築し、仮想的にコントローラ600と直接接続した状態になっている。
本実施形態に係るアクセスポイント10c−1、10c−2は、無線通信の物理層の処理(以下、後段の処理ともいう)及びデータリンク層の処理のうちリアルタイム性が要求される処理(例えば、ビーコンの送信、Probe ResponseまたはACKの送信)を担当するアクセスポイントである。
一方、コントローラ600は、無線通信のデータリンク層の処理のうちリアルタイム性が必要でないもの(以下、前段の処理という)を担当する。前段の処理は、例えば、有線LANと無線LANとのブリッジ、利用者認証、またはアクセス制限などである。
このような構成において、アクセスポイント10c−1、10c−2が無線I/F201を介して送受信するフレームのうち、リアルタイム性が要求されないものはトンネルを介してコントローラ600に転送され、コントローラ600が処理することになる。以下、アクセスポイント10c−1、10c−2を総称してアクセスポイント10cという。
図17は、第3の実施形態におけるアクセスポイント10cの機能ブロック図である。なお、図2と共通する要素には同一の符号を付し、その具体的な説明を省略する。図17に示すように、第2の実施形態におけるアクセスポイント10cの構成は、第1の実施形態におけるアクセスポイント10の構成に比べて、AP処理部208がAP処理部(第1の管理部)208cに変更され且つ制御部207が削除されたのに伴い、処理部205が処理部205cに変更され、一時記憶部209が削除されたものになっている。
AP処理部(第1の管理部)208cは、無線I/F201が受信した信号を用いて、ネットワークの接続管理を行う。例えば、AP処理部208cは、無線通信の物理層の処理(後段の処理)及びデータリンク層の処理のうちリアルタイム性が要求される処理(例えば、ビーコンの送信、Probe ResponseまたはACKの送信)を行う。
図18は、第3の実施形態におけるコントローラ600の機能ブロック図である。図18に示すように、コントローラ600は、有線I/F600、トンネルI/F(第2のインタフェース)601、転送部602、検出部603、通信部604、処理部605、一時記憶部609、記憶部610を備える。また、処理部605は、アプリ実行部606、制御部607及びAP処理部(第2の管理部)608を備える。
このコントローラ600の構成は、第1の実施形態で示したアクセスポイント10の構成から無線I/F201を除き、トンネルI/F601が追加された構成に相当する。有線I/F600、転送部602、検出部603、通信部604、一時記憶部609、記憶部610は、それぞれ第1の実施形態の有線I/F200、転送部202、検出部203、通信部204、一時記憶部209、記憶部210と同様の機能を有するので、その詳細な説明を省略する。
なお、この図18に示す第3の実施形態におけるコントローラ600の構成では、有線I/Fは一つしか有していないが、複数の有線I/Fを有しても良い。
トンネルI/F601は、ソフトウェアなどで実現される仮想的なインタフェースである。アクセスポイント10cの有線I/F200は、UDP/IPでデータをカプセル化して、コントローラ600へ送信する。トンネルI/F601は、アクセスポイント10cから送信されたUDP/IPでカプセル化されたデータを受信し、UDP/IPをデカプセル化して元のデータを復元する。逆に、トンネルI/F601は、データUDP/IPでカプセル化し、アクセスポイント10cへ送信する。この場合、アクセスポイント10cの有線I/F200は、UDP/IPでカプセル化されたデータを受信し、デカプセル化して元のデータを復元する。
AP処理部(第2の管理部)608は、トンネルI/F601が復元した信号を用いて、無線端末もしくは無線端末の利用者の認証を行う。例えば、AP処理部(第2の管理部)608は、無線通信のデータリンク層の処理のうちリアルタイム性が必要でないもの(前段の処理)を行う。上述したように、前段の処理は、例えば、有線LANと無線LANとのブリッジ、利用者認証、またはアクセス制限などである。
本実施形態のコントローラ600の動作は、無線フレームがトンネルI/F601経由で送受信されるという点を除き、第1の実施形態におけるアクセスポイント10と同じであるので、その詳細な説明を省略する。
なお、第3の実施形態における通信システム3は、認証サーバを有していてもよく、認証サーバを使用する場合についても第1の実施形態と同様に適用可能である。
以上、第3の実施形態に係る通信システム3は、複数のネットワークを形成し、同じ前記ネットワークに接続された無線端末とサーバとの間で信号を中継するアクセスポイント10cと、アクセスポイント10cと無線端末との間で当該信号を中継するコントローラ600とを備える。
そして、アクセスポイント10cは、無線端末が送信した信号を受信する無線I/F(第1のインタフェース)201と、前記信号を用いて、ネットワークの接続管理を行うAP処理部(第1の管理部)208とを備える。
そして、コントローラ600は、トンネルI/F(第2のインタフェース)601と、AP処理部(第2の管理部)608と、制御部607とを備える。トンネルI/F(第2のインタフェース)601は、無線I/F201が受信した信号を取得する。AP処理部608(第2の管理部)は、当該信号を用いて、無線端末しくは無線端末の利用者の認証を行う。
そして、制御部607は、AP処理部(第1の管理部)208が前記信号から、前記ネットワークへの接続または切断に関する情報、または接続有効時間の経過を検出した場合、またはAP処理部(第2の管理部)608が前記無線端末もしくは前記無線端末の利用者の認証に関する情報を検出した場合、アクセス可能な記憶装置である一時記憶部609内の記憶領域の割り当て、または前記記憶領域に保存されている情報が提供可能な対象範囲を変更する。
これにより、例えば、無線端末がネットワークへの接続したときに、当該ネットワークに接続数が0から1に増えた場合には、当該ネットワークに対して一時記憶部609に新たに記憶領域を割り当てることができる。一方、当該ネットワークに既に記憶領域が割り当てられていれば、割り当てられた記憶領域を大きくすることができる。これにより、同じ無線ネットワークに接続された他の無線端末が要求する情報が一時記憶部609に格納されている確率を向上させることができるので、一時記憶部609の記憶領域の利用効率を向上させることができる。
また、コントローラ600は、複数のアクセスポイント10c−1、10c−2と接続されている。これにより、コントローラ600は、複数のアクセスポイント10c−1、10c−2を介して要求された情報を一時記憶部609にキャッシュすることができる。これにより、第1の実施形態のアクセスポイント10の一時記憶部209に保存される情報よりも、多くの情報が、コントローラ600の一時記憶部609に保存される可能性が高く、第1の実施形態よりもキャッシュのヒット率の向上を期待できる。
(第4の実施形態)
続いて、第4の実施形態について説明する。第3の実施形態では、ネットワーク103内に一つのコントローラ600を有した。それに対して、第4の実施形態では、ネットワーク103内に、コントローラが複数存在し、第2の実施形態で説明したようにキャッシュ連携機能がコントローラ間で機能する。
図19は、第4の実施形態におけるコントローラ600bの機能ブロック図である。なお、図18と共通する要素には同一の符号を付し、その具体的な説明を省略する。図19に示すように、第4の実施形態におけるコントローラ600bの構成は、第3の実施形態におけるコントローラの構成に比べて、キャッシュ連携部611が追加されたのに伴い、処理部605が処理部605bに変更されものになっている。
キャッシュ連携部611は、第2の実施形態におけるキャッシュ連携部311と同様な機能を有するため、その詳細な説明を省略する。
以上、本実施形態に係るコントローラ600bは、ネットワーク103を介して他のコントローラと接続されている。そして、キャッシュ連携部(連携部)611は、無線端末が以前に接続していたアクセスポイントである前接続中継装置を特定し、特定した前接続中継装置に接続されている他の制御装置に対して、前記他のコントローラが管理している情報の送信を要求する要求信号を送信し、この要求信号に応じて送信された情報を一時記憶部609に記憶させる。これにより、コントローラ600b間で、キャッシュを同期させることができる。
(第5の実施形態)
続いて、第5の実施形態について説明する。第3ならびに第4の実施形態では、アクセスポイントは無線通信の後段の処理を担当した。そのため、アクセスポイントは一時記憶部を含まずキャッシュ機能は提供していなかった。
これに対して、第5の実施形態では、コントローラの制御下にあるアクセスポイントにおいても、一時記憶部を設けてキャッシュ機能を利用できるようにする。これに必要となるアクセスポイントの構成は、第2の実施形態とアクセスポイントと同じである。
第5の実施形態では、図14に示すアクセスポイント10bと図19に示すコントローラ600bとを備える。そして、図14に示すアクセスポイント10bと図19に示すコントローラ600bとの間で、キャッシュの同期を行う。
なお、サーバから情報を取得する機能をコントローラに集約する場合もある。その場合、キャッシュ制御部から情報取得機能を除いたものになる。
キャッシュ連携部303または611は、キャッシュの対象となる対象情報へのアクセス頻度、対象情報のサイズ、無線端末の移動速度、コントローラ600bに接続されているアクセスポイントの数、及びネットワークの伝送遅延のうち少なくとも一つに応じて、コントローラ600bの一時記憶部609とアクセスポイント10bの一時記憶部209から、対象情報を保存する一時記憶部を決定する。そして、キャッシュ連携部303または611は、決定した一時記憶部に対象情報を保存するよう制御する。
例えば、キャッシュ連携部303または611は、規定の頻度より頻繁にアクセスされる情報をアクセスポイント10bで記憶し、規定の頻度以下でしかアクセスされない情報をコントローラ600bで記憶するようにしてもよい。これにより、頻繁にアクセスされる情報をアクセスポイント10bで記憶することにより、通信のトラフィック量を低減することができる。
あるいは、キャッシュ連携部303または611は、キャッシュされるファイルサイズが規定のサイズより大きいファイルを、コントローラ600bでキャッシュし、ファイルサイズが規定のサイズ以下のファイルをアクセスポイント10bでキャッシュするようにしてもよい。これにより、アクセスポイント10bが保持する一時記憶部209の容量が小さくできるので、アクセスポイント10bのコストを低くすることができる。一方、転送量を減らしたい場合には、(アクセスポイント10bに必要な一時記憶部209のサイズは大きくなるかもしれないが)前述とは逆に規定のサイズより大きなファイルを汗クスポイント10bに保持し、コントローラ600bではサイズが小さなファイルを保持するようにしてもよい。
あるいは、無線端末の移動速度が規定の速度より速い場合、無線端末がアクセスポイント10bの通信範囲に存在する間に情報のダウンロードまたはアップロードが完了しないおそれがあるので、キャッシュ連携部303または611は、コントローラ600bの方に優先的に情報がキャッシュするようにしてもよい。一方、無線端末の移動速度が規定の速度以下の場合、キャッシュ連携部303または611は、アクセスポイント10bに優先的に情報がキャッシュされるようにしてもよい。
あるいは、キャッシュ連携部303または611は、コントローラ600bに接続されているアクセスポイントの数が規定の数より多い場合に、コントローラ600bの負荷が高くなるので、アクセスポイント10bに優先的に情報がキャッシュされるようにしてもよい。これにより、コントローラ600bの負荷が高くなりすぎるのを防止することができる。
一方、コントローラ600bに接続されているアクセスポイントの数が規定の数以下の場合、キャッシュ連携部303または611は、コントローラ600bの方に優先的に情報がキャッシュされるようにしてもよい。
例えば、ネットワークの伝送遅延が規定の遅延量よりも大きい場合、キャッシュ連携部303または611は、アクセスポイント10bに優先的に情報がキャッシュされるようにしてもよい。これにより、無線端末は、情報の取得に要する時間を短縮することができる。一方、ネットワークの伝送遅延が規定の遅延量以下の場合、キャッシュ連携部303または611は、コントローラ600bの方に優先的に情報がキャッシュされるようにしてもよい。
また更に、上述の事項を組み合わせて、例えば、アクセスポイント10bとコントローラ600bとの間の距離が規定の距離より大きい場合、またはコントローラ600bに接続されているアクセスポイントの数が規定の数より多い場合に、キャッシュ連携部303または611は、規定の頻度より頻繁にアクセスされる情報をアクセスポイント10bにキャッシュするようにしてもよい。一方、キャッシュ連携部303または611は、規定の頻度以下の頻度でアクセスされる情報をコントローラ600bにキャッシュするようにしてもよい。
これにより、距離が離れていて情報の取得に時間を要する場合に、頻繁にアクセスされる情報がアクセスポイントに記憶されるので、情報の取得に要する時間を短縮できる。コントローラの負荷が高い場合に、頻繁にアクセスされる情報がアクセスポイントに記憶されるので、コントローラの負荷を低減することができ、情報の取得に要する時間を短縮できる。
また、例えば、ネットワークの伝送遅延が規定の遅延量よりも大きく、無線端末の移動速度が規定の速度よりも大きい場合、無線端末がアクセスポイント10bの無線通信範囲内に存在する間に、対象情報のコントローラ600bからの取得が完了しない可能性がある。よって、その場合、キャッシュ連携部303または611は、対象情報をアクセスポイント10bにキャッシュするようにしてもよい。これにより、無線端末がアクセスポイント10bの無線通信範囲内に存在する間に、無線端末が対象情報を取得できる確率を向上させることができる。一方、それ以外の場合、キャッシュ連携部303または611は、対象情報をコントローラ600bにキャッシュするようにしてもよい。
また、コントローラ600bは、無線端末がアクセスポイント間で移動していることを把握している。そのため、第2の実施形態で行った「移動元アクセスポイントを探索する」という処理は、「コントローラ600bから移動元アクセスポイントの情報を入手する」という処理に置き換えてもよい。
一方、無線端末は、情報を、移動元アクセスポイントに加え、コントローラ600bからも入手してもよい。第2の実施形態で説明した場合と同様に、問い合わせ先の候補となるアクセスポイントとコントローラを順番に確認すると時間を要する可能性があるため、無線端末は、エニーキャスト(またはブロードキャスト)を使って一括して情報を要求したうえで、特定の1台から応答を得てもよい。あるいは、無線端末は、複数のネットワーク接続を使って同時に情報を要求して、最初の得られた応答のみを選択しても良い。これらの詳細な動作の説明はこれまでの実施形態から類推できるため、省略する。
(第6の実施形態)
続いて、第6の実施形態について説明する。これまでの実施形態のアクセスポイントまたはコントローラは、それらが具備するキャッシュ機能間の連携または共有に限定して説明してきた。しかし、この機能は他の種類の機器が持つキャッシュ機能やストレージ機能との連携も可能である。本実施形態では、ネットワーク上に存在する、情報を管理する機能を有する情報処置装置(例えば、キャッシュ装置及びストレージ装置)との連携について説明する。
図20は、第6の実施形態における通信システム4の構成を示す図である。なお、図1と共通する要素には同一の符号を付し、その具体的な説明を省略する。図20に示すように、第6の実施形態における通信システム4の構成は、第1の実施形態における通信システム1の構成に比べて、アクセスポイント10がアクセスポイント10bに変更され、コントローラ(制御装置)1900、認証サーバ105a、105b、キャッシュ装置1901、ストレージ装置1902、基地局1903が追加され、無線端末101c、サーバ102b、102cが削除されたものになっている。
これまでと実施形態と同様、アクセスポイント10bは複数のネットワークを提供しており、一例として、ネットワーク106aとネットワーク106bを提供している。ここで、ネットワーク106aとネットワーク106bは、無線LAN(WLAN)網である。アクセスポイント10bの構成は、図14に示す第2の実施形態におけるアクセスポイント10bの構成と同様であるが、キャッシュ連携部303の機能は、第2の実施形態のキャッシュ連携部303の機能とは異なる。
コントローラ(制御装置)1900は、図19に示す第4の実施形態におけるコントローラ600bの構成と同様であるが、キャッシュ連携部611の機能は、第4の実施形態のキャッシュ連携部611の機能とは異なる。また、コントローラ(制御装置)1900のAP処理部608は、これまでの実施形態で述べたコントローラの機能を具備するものであるが、また、無線端末101a、101bとの間で行われる認証処理が、これから接続するネットワークに応じた適切な認証サーバ105aまたは105bとで行われるように、中継する機能を更に有する。
アクセスポイント10bもしくはコントローラ1900は、ネットワーク106a、106bは異なる第2のネットワークの一例であるネットワーク104aまたはネットワーク104bを介して情報処理装置の一例であるキャッシュ装置1901またはストレージ装置1902と接続されている。キャッシュ連携部303(もしくは611)は、キャッシュ装置1901またはストレージ装置1902が管理している情報の送信を要求する要求信号を送信し、要求信号に応じて送信された情報を一時記憶部209(もしくは609)に記憶させる。
各ネットワークには認証サーバ105aと認証サーバ105bが各々設置されている。ネットワークへの接続を要求してきた無線端末に対してそれぞれの認証サーバ105a、105bが接続可否の判断をする。
ネットワーク104aには、サーバ装置102aとキャッシュ装置1901も接続している。
サーバ装置102aは、企業内のサーバであっても良いし、広く情報を提供するインターネット上のサーバであってもよい。
キャッシュ装置1901は、情報をキャッシュするキャッシュサーバである。キャッシュ装置1901は、その性格上、特定のネットワークを利用する端末にのみ公開されているが、企業内サーバとインターネット向けサーバのいずれであってもよい。
また、ネットワーク104aはセルラー網などの広域ネットワークとも接続しており、キャッシュ装置1901はセルラー網からのアクセスに対してもキャッシュの効果を提供できると仮定する。
ネットワーク104bには、ストレージ装置1902が接続されている。このストレージ装置1902は、オンラインストレージサービスを提供するストレージサーバであり、契約した顧客毎に情報を管理して保存している。
基地局1903は、公衆の無線通信ネットワークであるセルラー網を提供する。
以降の説明では、コントローラ1900もしくはアクセスポイント10bにキャッシュ機能があるものとして説明するが、第5の実施形態のように、コントローラとアクセスポイントの双方にキャッシュ機能がある場合にも同じように適用できる。
(セルラー網とWLAN網間のローミングを想定した場合)
以下、基地局1903が提供するセルラー網からアクセスポイント10bが提供するWLAN網へのローミングを想定した場合の動作について説明する。
まず、端末101aは、基地局1903からアクセスポイント10bに接続を変更する場合を考える。これまでの実施形態と同様に、接続処理及び認証処理が完了すると、アクセスポイント10b(もしくはコントローラ1900)でキャッシュ領域の再度の割り当て調整処理が実行され、端末101aが行う通信がキャッシュの効果を得られる状態になる。
この際、本願のアクセスポイント10b(もしくはコントローラ1900)は、キャッシュ装置1901に「認証サーバ105aにより認証済み」である旨を通知し、キャッシュ装置1901のキャッシュと内容を同期する。キャッシュ装置1901は、上述した実施形態におけるアクセスポイント間のキャッシュ連携と同様に、キャッシュを同期させればよい。この同期を行うことにより、セルラー網側で有効に機能していたキャッシュの状態を、アクセスポイント10bを介した通信においても継続して利用できるようになる。
なお、端末101aの認証にあたっては、EAP−SIMなどセルラー網側と共通の認証情報を用いることで、両方のネットワークからのアクセスをシームレスに扱うことができる。
(クラウドストレージなどに保存された個人の情報の同期)
続いて、クラウドストレージなどに保存された個人の情報の同期について説明する。続いて、端末101bがアクセスポイント10bに接続する場合を考える。端末101bもアクセスポイントとの接続処理及び認証処理が完了することにより、キャッシュ領域の再度の割り当て調整処理が実行される点は、これまでの実施形態と同様である。認証に成功した無線端末101bは、認証サーバ105bによる認証を通過すると、ストレージ装置1902のアクセス許可を得る。
ストレージ装置1902へのアクセス許可を得た端末101bは、この時点で、直接ストレージ装置1902と通信することもできる。しかし、中継ノード数が多くて輻輳が発生した場合またはストレージ装置1902と物理的に距離がある場合などは、十分な入出力(I/O)性能が得られない場合がある。
このような状況を避けるため、本実施形態のアクセスポイント10b(もしくはコントローラ1900)のキャッシュ連携部303(もしくはキャッシュ連携部611)は、認証が完了した無線端末が連携付加サービス(この場合、一例としてオンラインストレージサービス)に加入しているかどうかを確認し、契約している場合には、その情報を自身の一時記憶部でキャッシュするよう動作する。アクセスポイント10b(もしくはコントローラ1900)のキャッシュ連携部303(もしくはキャッシュ連携部611)は、接続のための認証に続いて連携付加サービスの確認を行い、加入していることが確認できた場合には、この連携付加サービスが提供する情報の同期処理を開始する。この処理によって割り当てられる記憶領域は、上述の実施形態で説明した利用者毎に割り当てられる記憶領域と同様に扱えばよい。
ストレージ装置1902に保存されている情報は、アクセスポイント10bのキャッシュのサイズよりも大きいことが予想されるため、ストレージ装置1902に保存されている情報をすべて同期することは困難な場合がある。そこで、アクセスポイント10b(もしくはコントローラ1900)のキャッシュ連携部303(もしくはキャッシュ連携部611)は、利用頻度が高いファイルや更新日時が新しいファイルなど、特定の条件に一致するファイルのみを同期するようにしても良い。
また、ストレージサービスの場合、アクセスポイント10b(もしくはコントローラ1900)のキャッシュに情報の追加が発生するため、同期処理の段階で空き領域を確保しておくようにしてもよい。加えて、アクセスポイント10b(もしくはコントローラ1900)の一時記憶部209(もしくは一時記憶部609)に追加された情報や更新された情報を、元のサーバと同期する処理も必要である。換言すれば、この処理は、すなわちアクセスポイント10bもしくはコントローラ1900から元のサーバへの書き戻す処理である。
この処理は、固定時間間隔で行ってもよい。あるいは、アクセスポイント10b(コントローラ1900)の上位回線が空いているとき、所定の時刻になったとき、更新された情報量が所定の閾値を上回ったとき、無線端末101bが指示したとき、無線端末101bがネットワークから切断したことを検出したとき、隣接するアクセスポイント(コントローラ)から無線端末が移動したことを示すフレームを受信したとき、などに基づいて実行されてもよい。
なお、第6の実施形態における一連の処理を実現するにあたり、無線端末101bが利用する認証情報、すなわち認証サーバ105bが管理する無線端末101bの認証情報は、ストレージ装置1902との連携を許可する情報を含むと仮定する。これは、無線端末101bの利用者に関するアカウント情報と契約サービス(本実施形態の場合は一例としてオンラインストレージサービス)の情報とを関連づけておけば実現できる。
以上、第6の実施形態において、アクセスポイント10bのキャッシュ連携部303またはコントローラ1900のキャッシュ連携部611は、無線通信の開始もしくは切断をきっかけとして、アクセスポイント10bが対象とする通信範囲とは異なる通信範囲で提供されるキャッシュ装置1901の記憶内容及びストレージ装置1902の記憶内容を同期することができる。これにより、アクセスポイント10bがキャッシュ装置1901またはストレージ装置1902の記憶内容を保持するので、無線端末からこの記憶内容が要求された場合、自アクセスポイント10bが保持している情報を返せばよいので、伝送遅延を低減でき、ネットワーク104aまたは104bの伝送量を低減できる。
(補足事項1)
各実施形態における一連の説明では、無線通信におけるコントローラを含むアクセスポイント(基地局)と端末との間での動作を例としたが、これに限らず、有線LANでも同様に適用できる。すなわち、通信システムが、有線LANとの接続状態を検出する機能と、端末もしくは利用者の認証機能、更にネットワークを介して提供される情報の一時保存機能を有していればよい。その際、接続状態の検出はリンクアップ・ダウンの検出、認証はIEEE802.1xなどによる認証と置き換えればよい。また、無線アクセスポイント(基地局)はスイッチングハブ(コントローラはアクセス制御装置もしくは認証サーバに相当)と置き換えればよい。
(補足事項2)
各実施形態において、無線アクセスポイントとコントローラを使った場合を述べたが、両機器は同一LAN上もしくは同一サイト内に存在する場合に限定されない。例えば、コントローラ機能はサイト外部のネットワークに存在し、一時記憶部に保存する情報の制御を担当するという実施形態であってもよい。
各実施形態において、アクセスポイント10、10bまたは10cが一時記憶部209を備えたが、これに限らず、一時記憶部209はアクセスポイント10、10bまたは10cの外付けであってもよいし、アクセスポイント10、10bまたは10cの外部に設けられネットワークを介してアクセスポイント10、10bまたは10cと接続されていてもよい。すなわち、一時記憶部209は、アクセスポイント10、10bまたは10cがアクセス可能な記憶装置であればよい。
各実施形態において、コントローラが一時記憶部609を備えたが、これに限らず、一時記憶部609はコントローラの外付けであってもよいし、コントローラの外部に設けられネットワークを介してコントローラと接続されていてもよい。すなわち、一時記憶部609は、コントローラがアクセス可能な記憶装置であればよい。
なお、各実施形態のアクセスポイントの処理部、またはコントローラの処理部の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、プロセッサが実行することにより、各実施形態のアクセスポイントの処理部、またはコントローラの処理部に係る上述した種々の処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。