『第1の実施の形態』
図1を参照すると、本発明の第1の実施の形態は、それぞれ異なる仮想ネットワークを提供する複数のネットワーク管理装置400、400'と、複数のネットワーク管理装置400、400'が提供する複数の仮想ネットワークの中から適切な仮想ネットワークを適宜選択して通信を行う複数のネットワーク端末装置300、300'とを含んで構成される。
ネットワーク管理装置400、400'は、仮想ネットワークをトンネリングによって実現する際、複数のトンネリングセッション間でパケットを転送する機能を有する。複数のネットワーク端末装置300、300'は、このような機能を持つ複数のネットワーク管理装置400、400'との間でトンネリングセッションを確立することで、複数の仮想ネットワークに予め接続している。そして、各ネットワーク端末装置300、300'は、送受信処理を行う際に、接続している複数の仮想ネットワークの内から、現在の状況に合った1つを選択する。
このように各ネットワーク端末装置300、300'は、既に接続している複数の仮想ネットワークの内から、現在の状況に合った1つの仮想ネットワークを送受信時に選択するだけなので、現在の状況に合った仮想ネットワークによる通信を速やかに開始することができる。
以下、本実施の形態の構成と動作をより詳しく説明する。複数のネットワーク管理装置400、400'は基本的な構成および動作が同じであり、複数のネットワーク端末装置300、300'も基本的な構成および動作が同じなので、以下では、ネットワーク管理装置400、ネットワーク端末装置300を代表にして説明する。
ネットワーク管理装置400は、図示しないインターネット等のネットワークを介して通信を行う通信手段401と、仮想ネットワークを実現するセッションデータ中継手段403とを備えている。
セッションデータ中継手段403は、トンネリングによって仮想ネットワークを実現する。同一のセッションデータ中継手段403にトンネリングセッションを確立しているネットワーク端末装置300が、同一の仮想ネットワークに属するように設定することができる。同一の仮想ネットワークに属している複数のネットワーク端末装置300、300'どうしは、トンネリングセッションを用いて通信データの送受信を行える。
ネットワーク端末装置300は、図示しないインターネット等のネットワークを介して通信を行う通信手段301と、接続している仮想ネットワーク毎に仮想ネットワーク識別情報と仮想ネットワークを選択する条件を示す選択情報とを含む仮想ネットワーク選択情報を記憶するノードセッション情報データベース700と、他のネットワーク端末装置などとパケットの送受信を行うアプリケーションプログラム800と、仮想ネットワークを選択するために用いる情報として予め定められた状況情報(仮想ネットワーク選択用状況情報)を検知し、検知した状況情報に合致する選択情報を含む仮想ネットワーク選択情報をノードセッション情報データベース700から取得するセッション切替情報検知手段600と、アプリケーションプログラム800から送信要求されたパケットをセッション切替情報検知手段600で取得された仮想ネットワーク選択情報中の仮想ネットワーク識別情報で特定される仮想ネットワークに送信し、セッション切替情報検知手段600で取得された仮想ネットワーク選択情報中の仮想ネットワーク識別情報で特定される仮想ネットワーク以外の仮想ネットワークから受信したパケットはアプリケーションプログラム800に送信せず、セッション切替情報検知手段600で取得された仮想ネットワーク選択情報中の仮想ネットワーク識別情報で特定される仮想ネットワークから受信したパケットはアプリケーションプログラム800に送信するネットワークセッション切替手段500とを備えている。
図2を参照すると、セッション切替情報検知手段600は、仮想ネットワーク選択情報評価手段601と状況情報取得手段602とを備えている。状況情報取得手段602は、自ネットワーク端末装置300の位置など、仮想ネットワークを選択するために用いる情報として予め定められた状況情報を取得する。仮想ネットワーク選択情報評価手段601は、状況情報取得手段602で取得された状況情報に合致する選択情報を含む仮想ネットワーク選択情報をノードセッション情報データベース700から取得し、ネットワークセッション切替手段500に提供する。ネットワークセッション切替手段500は、この提供された仮想ネットワーク選択情報に基づいて、アプリケーションプログラム800から送信要求されたパケットを送信する仮想ネットワークの選択、及び仮想ネットワークから受信したパケットのアプリケーションプログラム800への送信可否を判断する。このような判断を仮想ネットワーク選択情報評価手段601で行って、判断結果をネットワークセッション切替手段500に通知し、ネットワークセッション切替手段500は通知された判断結果に従う構成とすることも可能である。以下では、後者の構成を前提に説明する。
次に、図1ないし図3を参照して本実施の形態の動作について詳細に説明する。
[送信時]
まず、アプリケーションプログラム800が仮想ネットワークを経由してパケットデータを送信する場合の動作について説明する。
アプリケーションプログラム800が送信したパケットデータは、ネットワークセッション切替手段500によって一旦受信される(ステップA302)。ネットワークセッション切替手段500は、パケットデータをアプリケーションプログラム800から受信すると、その旨をセッション切替情報検知手段600の仮想ネットワーク選択情報評価手段601に通知する(ステップA303)。
仮想ネットワーク選択情報評価手段601は、ネットワークセッション切替手段500からパケットデータを受信した旨の通知を受け取ると、状況情報取得手段602により現時点の状況情報を取得し(ステップA304)、この取得した状況情報をキーにノードセッション情報データベース700をアクセスし、その状況情報に合致する選択情報を含む仮想ネットワーク選択情報を検索し、その仮想ネットワーク選択情報中の仮想ネットワーク識別情報を取得する(ステップA305)。
仮想ネットワーク選択情報評価手段601は、上記検索の結果、仮想ネットワーク識別情報が取得できた場合(ステップA306でイエス)、取得した仮想ネットワーク識別情報をネットワークセッション切替手段500に通知し、その通知した仮想ネットワーク識別情報で識別される仮想ネットワークに、受信したパケットデータを送信するように指示する。ネットワークセッション切替手段500は、この指示に従い、通信手段301を用いて、通知された仮想ネットワーク識別情報で識別される仮想ネットワークに対してパケットデータを送信する(ステップA307)。
他方、仮想ネットワーク選択情報評価手段601は、上記検索の結果、仮想ネットワーク識別情報が取得できなかった場合(ステップA306でノー)、ネットワークセッション切替手段500に対して、受信したパケットデータを破棄するように指示する。ネットワークセッション切替手段500は、この指示に従いパケットデータを破棄する(ステップA308)。
[受信時]
次に、ネットワーク端末装置300が、接続中の仮想ネットワークを経由してパケットを受信した場合の動作について説明する。
接続中の仮想ネットワークを通じて他のネットワーク端末装置などからパケットデータが送られてくると、そのパケットデータは通信手段301を通じてネットワークセッション切替手段500で一旦受信される(ステップA312)。
ネットワークセッション切替手段500は、通信手段301を通じてパケットデータを受信すると、その旨をセッション切替情報検知手段600の仮想ネットワーク選択情報評価手段601に通知する(ステップA313)。
仮想ネットワーク情報評価手段601は、ネットワークセッション切替手段500からパケットデータを通信手段301を通じて受信した旨の通知を受けると、まず、パケットデータを受信した際に用いた仮想ネットワークを識別する情報をネットワークセッション切替手段500から取得し(ステップA314)、この取得した仮想ネットワーク識別情報をキーにノードセッション情報データベース700をアクセスし、その仮想ネットワーク識別情報を含む仮想ネットワーク選択情報を検索し、検索した仮想ネットワーク選択情報中の選択情報を取得する(ステップA315)。次に、状況情報取得手段602により現時点の状況情報を取得する(ステップA316)。そして、ステップA315で取得した選択情報とステップA316で取得した状況情報とが合致するかどうかを判定する(ステップA317)。
選択情報と状況情報とが合致した場合(ステップA317でイエス)、仮想ネットワーク選択情報評価手段601は、ネットワークセッション切替手段500に対して、受信したパケットデータをアプリケーションプログラム800に送信するように指示し、ネットワークセッション切替手段500は、この指示に従って、受信したパケットデータをアプリケーションプログラム800に送信する(ステップA318)。
他方、選択情報と状況情報とが合致しない場合(ステップA317でノー)、仮想ネットワーク選択情報評価手段601は、ネットワークセッション切替手段500に対して、受信したパケットデータを破棄するように指示し、ネットワークセッション切替手段500は、この指示に従って、受信したパケットデータを破棄する(ステップA319)。
次に、本実施の形態の効果について説明する。
従来は、ネットワーク端末装置300が仮想ネットワークを使ってパケットデータを送信する場合、現在の状況を考慮して1つの仮想ネットワークに接続し、この接続した仮想ネットワークを使ってパケットデータを送信する必要がある。このため、送信を開始するまでに時間がかかっていた。これに対して本実施の形態では、ネットワーク端末装置300は複数の仮想ネットワークに事前に同時に接続しており、パケットデータを送信する場合、既に接続している複数の仮想ネットワークの中から、状況情報取得手段602によって取得される現在の状況に合った1つの仮想ネットワークを選択するだけでよいので、速やかに送信を開始することができる。また、複数の仮想ネットワークに同時に接続しているものの、現在の状況に合致しない仮想ネットワークを使ったパケットデータの送受信が禁止されているため、実質的に、現在の状況を考慮して1つの仮想ネットワークに接続したのと等価である。
『実施例1』
次に、本発明の第1の実施の形態の一実施例について図面を参照して詳細に説明する。
図4を参照すると、本実施例は、それぞれ異なる会議室用の仮想ネットワークを提供する複数のネットワーク管理装置400、400'と、複数の会議室用の仮想ネットワークのうち、自装置が現在存在する会議室用の仮想ネットワークを自動的に選択して通信を行う複数のネットワーク端末装置300A、300Bとを含んで構成される。
本実施例の場合、それぞれのネットワーク端末装置300A、300Bがどの会議室に存在するのかは、各会議室に設けられた赤外線ビーコン311、312から会議室情報を送信し、各ネットワーク端末装置300A、300Bの状況情報取得手段602を構成する赤外線通信装置がその会議室情報を状況情報として受信することで実現する。
ネットワーク端末装置300A、300Bは例えば可搬型のパーソナルコンピュータであり、あらかじめ会議室301用の仮想ネットワークおよび会議室302用の仮想ネットワークに接続している。利用者がネットワーク端末装置300A、300Bであるパーソナルコンピュータを会議室301に持ち込むと、会議室301用の仮想ネットワークによる通信が可能になり、別の会議室302に持ち込むと、その会議室302用の仮想ネットワークによる通信が可能になる。
ネットワーク管理装置400、400'におけるセッション中継手段403として、本実施例の場合、OSI参照モデル第2層のネットワークとして仮想化されるトンネリングプロトコル「PPTP」に対応したVPNサーバを備えている。また、本実施例において、仮想ネットワークは、セッションデータ中継手段403に、ネットワーク端末装置300A、300B内のネットワークセッション切替手段500がPPTPなどのプロトコルを用いて接続することによって実現される。また、本実施例では、仮想ネットワークを用いて送受信されるパケットデータがIPパケットである場合について説明する。
次に、本実施例におけるネットワーク端末装置300A、300Bの動作について説明する。ネットワーク端末装置300Aと300Bは、基本的な動作が同じなので、以下ではネットワーク端末装置300Aを代表して説明する。
本実施例では、ネットワーク端末装置300A内のノードセッション情報データベース700内に、図5に示すような選択情報と仮想ネットワーク識別情報を含む仮想ネットワーク選択情報が記録されている。仮想ネットワーク選択情報中の仮想ネットワーク識別情報は、ネットワーク管理装置400、400'との間に確立されている仮想ネットワークをネットワーク端末装置300Aにおいて一意に識別するための情報であり、本実施例の場合、仮想ネットワークインタフェース「ppp0」および「ppp1」が設定されている。図6を参照すると、仮想ネットワークインタフェース「ppp0」は、ネットワーク端末装置300Aとネットワーク管理装置400のセッションデータ中継手段403との間に確立された会議室301用の仮想ネットワークを識別し、仮想ネットワークインタフェース「ppp1」は、ネットワーク端末装置300Aとネットワーク管理装置400'のセッションデータ中継手段403との間に確立された会議室302用の仮想ネットワークを識別する。
また図5において、仮想ネットワーク選択情報中の選択情報は、同じ仮想ネットワーク選択情報中の仮想ネットワーク識別情報で特定される仮想ネットワークを選択するための条件を定めるものであり、本実施例の場合、名前と値の組で構成される。具体的には、名前はユーザの位置であることを表す「user location」、値は会議室301を表す「Room_301」あるいは会議室302を表す「Room_302」である。
つまり、図5に示した仮想ネットワーク識別情報は、ネットワーク端末装置300Aの現在の状況が「会議室301に存在」ならppp0で識別される会議室301用の仮想ネットワークを選択すること、および、ネットワーク端末装置300Aの現在の状況が「会議室302に存在」ならppp1で識別される会議室302用の仮想ネットワークを選択することを示している。
以下、ネットワーク端末装置300Aが自装置の位置に応じた仮想ネットワークを適宜選択してIPパケットを送受信する場合の動作について説明する。
[パケット送信]
まず、ネットワーク端末装置300Aのアプリケーションプログラム800が仮想ネットワークを経由してIPパケットを送信する場合について、図7を参照して説明する。なお、図7は、図3(A)の各ステップの動作が該当する箇所を図2の構成図に追加した動作説明図である。
まず、ネットワーク端末装置300Aのネットワークセッション切替手段500が、アプリケーションプログラム800からIPパケットを一旦受信する(ステップA302)。ネットワークセッション切替手段500の実現形式の例としては、マイクロソフト社製の通信ミドルウェアWinSockのバージョン2.0以降におけるサービスプロバイダ等がある。
次に、ネットワークセッション切替手段500は、パケットデータを受信したことを、仮想ネットワーク選択情報評価手段601に通知する(ステップA303)。
次に、仮想ネットワーク選択情報評価手段601は、状況情報取得手段602により状況情報を取得する(ステップA304)。前述したように本実施例では、状況情報取得手段602は、ネットワーク端末装置300Aであるパーソナルコンピュータ上の赤外線通信装置として実現されている。また、図4に示したように会議室301および302には、前記赤外線通信装置と通信が可能な赤外線ビーコン311および312が備え付けられている。会議室301にある赤外線ビーコン311からは「Room_301」という文字列が、会議室302にある赤外線ビーコン312からは「Room_302」という文字列が、それぞれ赤外線信号によって送られている。状況情報取得手段602である赤外線通信装置は、前記文字列を受信し、仮想ネットワーク選択情報評価手段601に状況情報を提供する。状況情報は、「user location」という文字列を名前として、状況情報取得手段602である赤外線装置が受信した「Room_301」等の文字列を値として提供される。
今、ネットワーク端末装置300Aが会議室301内に存在する場合、仮想ネットワーク選択情報評価手段601は、名前が「user location」、値が「Room_301」である状況情報を状況情報取得手段602から取得することになる。
次に、仮想ネットワーク選択情報評価手段601は、ノードセッション情報データベース700に記録された仮想ネットワーク選択情報から、前記状況情報に合致する選択情報を持つ仮想ネットワークインターフェースを検索する(ステップA305)。図5に示すような仮想ネットワーク選択情報の場合、仮想ネットワーク選択情報評価手段601は、名前が「user location」、値が「Room_301」である一行目の選択情報が、状況情報取得手段602で取得された状況情報に一致するので、その行における仮想ネットワークインターフェース「ppp0」を取得する(ステップA306でイエス)。
次に、仮想ネットワーク選択情報評価手段601は、ネットワークセッション切替手段500に対して、アプリケーションプログラム800から受信したパケットデータを、仮想ネットワークインターフェース「ppp0」を用いて送信するように指示し、ネットワークセッション切替手段500は、この指示に従いパケットデータを仮想ネットワークインターフェース「ppp0」を用いて送信するためのカプセル化されたパケットデータをイーサネット(登録商標)等の通信手段301に送信する(ステップA307)。
また、ネットワーク端末装置300Aが会議室301および会議室302の何れにも存在しないため、ステップA305およびステップA306において仮想ネットワークインターフェースが取得できなかった場合(ステップA306でノー)、仮想ネットワーク選択情報評価手段601は、アプリケーションプログラム800から受信したパケットデータを破棄するようにネットワークセッション切替手段500に指示し、ネットワークセッション切替手段500はこの指示に従いパケットデータを破棄する(ステップA308)。
こうして、ネットワーク端末装置300Aのアプリケーションプログラム800は、自装置300Aが会議室301に存在するのであれば、IPパケットを会議室301用の仮想ネットワークを経由して送信することができ、自装置300Aが会議室302に存在するのであれば、IPパケットを会議室302用の仮想ネットワークを経由して送信することができる。また、自装置300Aが会議室301にも、会議室302にも居なければ、それら用の仮想ネットワークに無用なIPパケットを送信してしまうことがない。
[パケット受信]
次に、ネットワーク端末装置300Aのアプリケーションプログラム800が仮想ネットワークを経由してIPパケットを受信する場合について、図8を参照して説明する。なお、図8は、図3(B)の各ステップの動作に関連する箇所を図2の構成図に追加した動作説明図である。
まず、ネットワーク端末装置300Aのネットワークセッション切替手段500は、イーサネット(登録商標)等の通信手段301からパケットデータを受信する(ステップA312)。
次に、ネットワークセッション切替手段500は、通信手段301からパケットデータを受信したことを、仮想ネットワーク選択情報評価手段601に通知する(ステップA313)。
次に、仮想ネットワーク情報評価手段601は、ネットワークセッション切替手段500から、パケットデータを受信した際に用いた仮想ネットワークインターフェースを取得する(ステップA314)。若し、パケットデータが会議室301用の仮想ネットワークを経由して受信された場合には「ppp0」が取得され、会議室302用の仮想ネットワークを経由して受信された場合には「ppp1」が取得される。また、その他のネットワーク経由であれば、「ppp0」および「ppp1」以外の仮想ネットワークインタフェースが取得されることになる。
次に、仮想ネットワーク選択情報評価手段601は、ノードセッション情報データベース700に記録された仮想ネットワーク選択情報から、ステップA314で取得した仮想ネットワークインターフェースと同じ仮想ネットワークインタフェースを持つ仮想ネットワーク選択情報を検索し、その仮想ネットワーク選択情報中の選択情報を取得する(ステップA315)。図5に示すような仮想ネットワーク選択情報がノードセッション情報データベース700に記録されていた場合、例えば、取得された仮想ネットワークインタフェースが「ppp0」であれば、1行目の仮想ネットワーク選択情報中の選択情報が取得されることになる。
次に、仮想ネットワーク選択情報評価手段601は、状況情報取得手段602から状況情報を取得する(ステップA316)。例えば、ネットワーク端末装置300Aが会議室301に存在する場合、会議室301用の赤外線ビーコン311が送信する「Room_301」を状況情報取得手段602が受信しているので、仮想ネットワーク選択情報評価手段601は、名前が「user location」、値が「Room_301」である状況情報を状況情報取得手段602から取得することになる。
次に、仮想ネットワーク選択情報評価手段601は、ステップA315で取得した選択情報とステップA316で取得した状況情報とが一致するかどうかを調べ(ステップA317)、一致していれば、ネットワークセッション切替手段500に対して、通信手段301から受信したIPパケットをアプリケーションプログラム800に送信するよう指示し(A318)、不一致であれば、ネットワークセッション切替手段500に対して、通信手段301から受信したIPパケットを破棄するよう指示する(A319)。
従って、例えばネットワーク端末装置300Aが会議室301に存在する場合に、会議室301用の仮想ネットワークを経由してIPパケットを受信すると、IPパケットを受信した仮想ネットワークの仮想ネットワークインタフェースは「ppp0」、この「ppp0」を含む仮想ネットワーク選択情報中の選択情報は名前が「user location」、値が「Room_301」であり、また、状況情報取得手段602が取得する状況情報も名前が「user location」、値が「Room_301」で、両者が一致するので、受信したIPパケットがアプリケーションプログラム800に伝達されることになる。
これに対して、ネットワーク端末装置300Aが会議室301に存在する場合に、会議室301用の仮想ネットワーク以外の会議室302用の仮想ネットワークを経由してIPパケットを受信したときや、ネットワーク端末装置300Aが会議室301に存在しない場合に、会議室301用の仮想ネットワークを経由してIPパケットを受信したときは、ステップA317において選択情報と状況情報との不一致が検出されるため、受信したIPパケットはアプリケーションプログラム800に渡されず、破棄されることになる。
こうして、ネットワーク端末装置300Aのアプリケーションプログラム800は、自装置300Aが現在存在する会議室用の仮想ネットワークを経由したIPパケットを受信することができ、自装置300Aが存在しない他の会議室用の仮想ネットワークを経由したIPパケットを受信してしまうことがない。
以上、本実施例では、仮想ネットワークとしてデータリンク層のPPTPについて説明したが、OSI参照モデル第2層のネットワークとして仮想化されるその他のトンネリングプロトコルであるL2TPや、OSI参照モデル第3層のネットワークとして仮想化されるIPSecや、OSI参照モデル第4層のネットワークとして仮想化されるSSL等にも適用可能である。また、パケットデータとしてIPパケットについて説明したが、TCPあるいはUDPパケットや、HTTP等のアプリケーションプロトコルのデータに対しても適用可能である。
『第2の実施の形態』
第1の実施の形態においては、各ネットワーク端末装置300、300'が複数の仮想ネットワークに接続する方法および時期については特に限定せず、少なくともアプリケーションプログラムによるパケットの送受信を行う前に任意の方法で複数の仮想ネットワークに接続していればよい。しかし、例えば各ネットワーク端末装置300、300'のユーザ自身に複数の仮想ネットワークへの接続操作を担わせるようにすると、ユーザの負担が大きくなると共に正確さに欠ける。そこで本実施の形態では、各ネットワーク端末装置300、300'における複数の仮想ネットワークへの接続および切断を自動化する。
図9を参照すると、本発明の第2の実施の形態は、複数のネットワーク端末装置300、300'に共通なネットワークセッション制御装置900およびセッション確立用状況情報取得装置1000を備え、各ネットワーク端末装置300、300'にネットワークセッション確立手段200を備えている点で、第1の実施の形態と相違する。
セッション確立用状況情報取得装置1000は、ネットワーク端末装置300、300'のセッション確立用状況情報を取得する装置である。セッション確立用状況情報とは、仮想ネットワークに接続する条件が成立しているか否かを判定するために調べる情報のことで、例えば各ネットワーク端末装置300、300'の位置などの情報である。ネットワークセッション制御装置900は、セッション確立用状況情報取得装置1000を用いて、各ネットワーク端末装置300、300'が接続すべき仮想ネットワーク毎に、その仮想ネットワークに接続する条件が成立しているかどうかを定期的に調査し、若し、成立しており現在未接続なら、ネットワーク端末装置300、300'に仮想ネットワークへの接続を指示する。また反対に、若し不成立で現在が接続中なら、ネットワーク端末装置300、300'に仮想ネットワークからの切断を指示する。各ネットワーク端末装置300、300'のネットワークセッション確立手段200は、ネットワークセッション制御装置900から送られてくる仮想ネットワーク接続指示および仮想ネットワーク切断指示に従って、仮想ネットワークへの接続および仮想ネットワークからの切断を実施する。
より具体的には、ネットワークセッション制御装置900は、ネットワークセッション情報データベース901とネットワークセッション制御手段902とを備える。ネットワークセッション情報データベース901には、ネットワーク端末装置300、300'の接続する仮想ネットワーク毎に、その仮想ネットワークへの接続および切断を制御するための仮想ネットワーク制御情報が記憶されている。個々の仮想ネットワーク制御情報には、ネットワーク端末装置300、300'の識別情報、仮想ネットワークに接続する条件であるセッション確立情報、仮想ネットワークを選択する条件を示す選択情報、仮想ネットワークへの接続状況であるセッション状態および仮想ネットワークを提供するネットワーク管理装置400、400'の識別情報(セッションデータ中継手段403のアドレス等)が含まれる。ここで、仮想ネットワーク制御情報中のセッション状態は、その仮想ネットワーク制御情報中の識別情報によって識別されるネットワーク端末装置300、300'とその仮想ネットワーク制御情報中の識別情報によって識別されるネットワーク管理装置400、400'との間のトンネリングセッションの状態を表している。
ネットワークセッション制御手段902は、ネットワークセッション情報データベース901に記憶された仮想ネットワーク制御情報毎に、その情報中のネットワーク端末装置の識別情報で特定されるネットワーク端末装置300、300'について、そのセッション確立用状況情報をセッション確立用状況情報取得装置1000により取得し、この取得したセッション確立用状況情報が仮想ネットワーク制御情報中のセッション確立情報を満足しており、かつ、仮想ネットワークへの接続状況であるセッション状態が未接続となっている場合に、仮想ネットワーク制御情報中のネットワーク管理装置の識別情報および選択情報を付加した仮想ネットワーク接続指示であるトンネリングセッション接続情報を、仮想ネットワーク制御情報中のネットワーク端末装置の識別情報で特定されるネットワーク端末装置300、300'に送信する。また、ネットワークセッション制御手段902は、前記取得したセッション確立用状況情報がセッション確立情報を満足しておらず、かつ、仮想ネットワークへの接続状況であるセッション状態が接続中になっている場合には、仮想ネットワーク制御情報中の選択情報を付加した仮想ネットワーク切断指示であるトンネリングセッション切断情報を、仮想ネットワーク制御情報中のネットワーク端末装置の識別情報で特定されるネットワーク端末装置300、300'に送信する。
各ネットワーク端末装置300、300'のネットワークセッション確立手段200は、ネットワークセッション制御手段902から仮想ネットワーク接続指示であるトンネリングセッション接続情報を受信したときは、付加されたネットワーク管理装置の識別情報で特定されるネットワーク管理装置400、400'との間にトンネリングセッションを確立することにより仮想ネットワークに接続し、接続した仮想ネットワークを識別する仮想ネットワーク識別情報と前記通知された選択情報を含む仮想ネットワーク選択情報をノードセッション情報データベース700に記憶する。また、ネットワークセッション確立手段200は、ネットワークセッション制御手段902から仮想ネットワーク切断指示であるトンネリングセッション切断情報を受信したときは、付加された選択情報を含む仮想ネットワーク選択情報をノードセッション情報データベース700から検索し、検索した仮想ネットワーク選択情報中の仮想ネットワーク識別情報で特定されるトンネリングセッションを破棄することにより仮想ネットワークとの接続を切断し、且つノードセッション情報データベース700中の前記検索した仮想ネットワーク選択情報を無効にする。
このように、ネットワークセッション制御装置900、セッション確立用状況情報取得装置1000および各ネットワーク端末装置300、300'内のネットワークセッション確立手段200によって、各ネットワーク端末装置300、300'における複数の仮想ネットワークへの接続(トンネリングセッションの確立)および切断(トンネリングセッションの破棄)が自動的に行われる。
以下、本実施の形態の構成と動作をより詳しく説明する。複数のネットワーク管理装置400、400'は基本的な構成および動作が同じであり、複数のネットワーク端末装置300、300'も基本的な構成および動作が同じなので、以下では、ネットワーク管理装置400、ネットワーク端末装置300を代表にして説明する。また、トンネリングセッション確立後の仮想ネットワーク選択動作に関しては、第1の実施の形態と同じであるので、その説明は省略する。
図10は本実施の形態において実行されるトンネリングセッション確立および切断処理の概要を示すフローチャート、図11はステップA203のセッション制御処理の詳細を示すフローチャートである。以下、各図を参照して、本実施の形態におけるセッション確立用状況情報取得装置1000、ネットワークセッション制御装置900およびネットワークセッション確立手段200によって行われるトンネリングセッション確立および破棄処理の動作について詳細に説明する。
まず、ネットワークセッション制御手段902は、ネットワークセッション情報データベース901に記憶された複数の仮想ネットワーク制御情報のうちの例えば先頭の1つの仮想ネットワーク制御情報に注目する(ステップA201)。次に、ネットワークセッション制御手段902は、注目中の仮想ネットワーク制御情報におけるネットワーク端末装置の識別情報で特定されるネットワーク端末装置300のセッション確立用状況情報を、セッション確立用状況情報取得装置1000から取得する(ステップA202)。この後、取得したセッション確立用状況情報を用いたセッション制御処理が実行される(ステップA203)。ステップA203のセッション制御処理の詳細は図11を参照して後に説明するが、このセッション制御処理により必要に応じてトンネリングセッションの確立または破棄が行われる。
ネットワークセッション制御手段902は、ネットワークセッション情報データベース901に記憶された先頭の1つの仮想ネットワーク制御情報に注目してステップA202、A203の処理を実行し終えると、次の1つの仮想ネットワーク制御情報に注目を移し(ステップA204)、ステップA202に戻って上述と同様の処理を繰り返す。ネットワークセッション制御手段902は、ネットワークセッション情報データベース901に記憶された全ての仮想ネットワーク制御情報に注目し終えると(ステップA205でイエス)、予め定められた一定期間だけ待ち合わせを行い(ステップA206)、その後、ステップA201に戻って、前回の周期と同様の処理を再度繰り返す。
図11を参照して、ステップA203のセッション制御処理の詳細を説明する。
まず、ネットワークセッション制御手段902は、注目中の仮想ネットワーク制御情報中からセッション確立情報を取得し(ステップA102)、ステップA202で取得したセッション確立用状況情報とステップA102で取得したセッション確立情報とが一致するかどうかを調べる(ステップA103)。
セッション確立用状況情報とセッション確立情報とが一致している場合(ステップA103でイエス)、注目中の仮想ネットワーク制御情報におけるセッション状態が未接続かどうかを判定し(ステップA104)、若し未接続でなく既に接続されていれば(ステップA104でノー)、図11の処理を終えるが、未接続であれば(ステップA104でイエス)、以下のような手順でネットワーク端末装置300とネットワーク管理装置400との間にトンネリングセッションを確立する。
まず、ネットワークセッション制御手段902は、注目中の仮想ネットワーク制御情報中からネットワーク管理装置の識別情報と選択情報とを取得し、これらを付加したトンネリングセッション接続情報を、注目中の仮想ネットワーク制御情報中のネットワーク端末装置の識別情報で特定されるネットワーク端末装置300へ送信する(ステップA105)。
ネットワーク端末装置300の通信手段301は、ネットワークセッション制御手段902からトンネリングセッション接続情報を受信すると、ネットワークセッション確立手段200に伝達し、ネットワークセッション確立手段200は、受信したトンネリングセッション接続情報を用いて、トンネリングセッションを確立し、ノードセッション情報データベース700を更新する(ステップA106)。具体的には、受信したトンネリングセッション接続情報に付加されたネットワーク管理装置の識別情報により特定されるネットワーク管理装置400のセッションデータ中継手段403に対してトンネリングセッションを確立し、この確立したトンネリングセッション(仮想ネットワーク)の識別情報と受信したトンネリングセッション接続情報に付加された選択情報とを含む仮想ネットワーク選択情報をノードセッション情報データベース700に登録する。そして、ネットワークセッション確立手段200は、トンネリングセッション接続完了メッセージをネットワークセッション制御手段902に送信する(ステップA107)。
ネットワークセッション制御手段902は、ネットワークセッション確立手段200からトンネリングセッション接続完了メッセージを受信すると、注目中の仮想ネットワーク制御情報におけるセッション状態を未接続から接続中に変更する(ステップA108)。
他方、セッション確立用状況情報とセッション確立情報とが一致していない場合(ステップA103でノー)、注目中の仮想ネットワーク制御情報におけるセッション状態が接続中かどうかを判定し(ステップA114)、若し接続中でなく既に切断されている未接続であれば(ステップA114でノー)、図11の処理を終えるが、接続中であれば、以下のような手順でトンネリングセッションを破棄する。
まず、ネットワークセッション制御手段902は、注目中の仮想ネットワーク制御情報中から選択情報を取得し、これを付加したトンネリングセッション切断情報を、注目中の仮想ネットワーク制御情報中のネットワーク端末装置の識別情報で特定されるネットワーク端末装置300へ送信する(ステップA115)。
ネットワーク端末装置300の通信手段301は、ネットワークセッション制御手段902からトンネリングセッション切断情報を受信すると、ネットワークセッション確立手段200に伝達し、ネットワークセッション確立手段200は、受信したトンネリングセッション切断情報を用いて、トンネリングセッションを破棄し、ノードセッション情報データベース700を更新する(ステップA116)。具体的には、受信したトンネリングセッション切断情報に付加された選択情報を含む仮想ネットワーク選択情報をノードセッション情報データベース700から検索し、その仮想ネットワーク選択情報に含まれる仮想ネットワーク識別情報で特定されるトンネリングセッションを破棄することにより仮想ネットワークとの接続を切断し、前記検索した仮想ネットワーク選択情報をノードセッション情報データベース700から削除することにより無効にする。そして、ネットワークセッション確立手段200は、トンネリングセッション切断完了メッセージをネットワークセッション制御手段902に送信する(ステップA117)。
ネットワークセッション制御手段902は、ネットワークセッション確立手段200からトンネリングセッション切断完了メッセージを受信すると、注目中の仮想ネットワーク制御情報におけるセッション状態を未接続に更新する(ステップA118)。
このように本実施の形態によれば、各ネットワーク端末装置300、300'における複数の仮想ネットワークへの接続および切断を自動化することができる。また、仮想ネットワーク接続指示(トンネリングセッション接続情報)にトンネリングセッションを確立すべきネットワーク管理装置400、400'の識別情報を含ませてあるため、ネットワーク端末装置300、300'は、あらかじめネットワーク管理装置の識別情報を知っている必要がない。このため、ネットワーク端末装置にトンネリングセッションを確立するネットワーク管理装置400、400'の識別情報を事前に設定しておく方法に比べて、ネットワーク端末装置側で事前に行う処理を減らすことができる。
『実施例2』
次に、本発明の第2の実施の形態の一実施例について図面を参照して詳細に説明する。
図12を参照すると、本実施例は、図4に示した第1の実施の形態の一実施例(実施例1)において、ネットワーク端末装置300A、300Bが建物の3階フロアに入ったときに、3階フロアにある会議室301および302用の仮想ネットワークを実現するトンネリングセッションがネットワーク端末装置300A、300Bとネットワーク管理装置400、400'との間に確立され、また、ネットワーク端末装置300A、300Bが3階フロアから別の階に移動すると、3階フロアにある会議室301および302用の仮想ネットワークを実現するトンネリングセッションが破棄されるようにしたものである。
本実施例の場合、セッション確立用状況情報取得装置1000が取得する各ネットワーク端末装置300A、300Bのセッション確立用情報は、ネットワーク端末装置の位置、具体的には3階フロアに存在するかどうかを示す情報である。このようなセッション確立用情報は、以下のようにして取得される。
各ネットワーク端末装置300A、300Bには、RFIDタグ611、612が取り付けられており、RFIDタグ611、612には自装置に割り当てられたIPアドレスが記録されている。一方、3階フロアへは専用の入口のみから入ることができ、退出する際には専用の出口のみから出るようになっており、その専用入口と専用出口に、入口用RFIDタグ読取装置621と出口用RFIDタグ読取装置622とが設けられている。入口用RFIDタグ読取装置621は、専用入口から3階フロアに入ってくるネットワーク端末装置300A、300Bに付いたRFIDタグ611、612の内容を無線で読み取り、自装置の識別情報を付加してセッション確立用状況情報取得装置1000へ送信する。また、出口用RFIDタグ読取装置622は、3階フロアより専用出口から出て行くネットワーク端末装置300A、300Bに付いたRFIDタグ611、612の内容を無線で読み取り、自装置の識別情報を付加してセッション確立用状況情報取得装置1000へ送信する。
セッション確立用状況情報取得装置1000には、3階フロアに存在するネットワーク端末装置のIPアドレスの一覧を記憶するIPアドレス記憶部(図示せず)が設けられている。セッション確立用状況情報取得装置1000は、入口用RFIDタグ読取装置621からネットワーク端末装置のIPアドレスを受信すると、受信したIPアドレスをIPアドレス記憶部に登録し、出口用RFIDタグ読取装置622からネットワーク端末装置のIPアドレスを受信すると、受信したIPアドレスをIPアドレス記憶部から削除する。そして、セッション確立用状況情報取得装置1000は、ネットワークセッション制御装置900からIPアドレスを指定してネットワーク端末装置300A、300Bのセッション確立用状況情報の取得が要求されると、指定されたIPアドレスがIPアドレス記憶部に登録されていれば、「user location」という名前と「3F」という値から構成されるセッション確立用状況情報をネットワークセッション制御装置900に応答し、指定されたIPアドレスがIPアドレス記憶部に登録されていなければ、「user location」という名前と「Not found」という値から構成されるセッション確立用状況情報をネットワークセッション制御装置900に応答する。
なお、ネットワーク端末装置300A、300Bが3階フロアに存在するかどうかを検知する仕組みは、上述した例に限られず、任意の他の方法を使用することができる。例えば、以下のような方法でもよい。
入口と出口で兼用される出入口がある場合、出入口の内側と外側に互いに検知エリアが重ならない2台のRFIDタグ読取装置を設け、セッション確立用状況情報取得装置1000は、出入口の外側に設けたRFIDタグ読取装置、内側に設けたRFIDタグ読取装置の順に同じIPアドレスが読み取られた場合には、3階フロアに入ってきたネットワーク端末装置のIPアドレスと認識し、その逆の順に同じIPアドレスが読み取られた場合には、3階フロアから出て行くネットワーク端末装置のIPアドレスと認識する。
3階フロア全体をカバーするように1台以上のRFIDタグ読取装置を設置し、セッション確立用状況情報取得装置1000は、何れかのRFIDタグ読取装置でIPアドレスが読み取られているネットワーク端末装置は3階フロアに存在すると認識し、何れのRFIDタグ読取装置でもIPアドレスが読み取られないネットワーク端末装置は3階フロアに存在しないと認識する。
次に、ネットワークセッション制御装置900内のネットワークセッション情報データベース901に記録される仮想ネットワーク制御情報の具体例について図13を参照して説明する。
図13を参照すると、ネットワークセッション情報データベース901に記録される個々の仮想ネットワーク制御情報は、ネットワーク端末装置識別情報、セッション状態、セッション確立情報、選択情報およびネットワーク管理装置識別情報で構成される。
ネットワーク端末装置識別情報には、本実施例の場合、ネットワーク端末装置に割り当てられたIPアドレスを使用する。図12では、ネットワーク端末装置300AにはIPアドレス”192.168.1.1”が、ネットワーク端末装置300BにはIPアドレス”192.168.1.2”が、それぞれ割り当てられている。従って、図13の1行目と2行目はネットワーク端末装置300A用の仮想ネットワーク制御情報であり、3行目と4行目はネットワーク端末装置300B用の仮想ネットワーク制御情報である。
セッション状態は、未接続と接続中の何れかの値をとる。図13のネットワークセッション情報データベース901は、ネットワーク端末装置300A、300Bが3階フロアに存在しない状態のものであるため、それらの仮想ネットワーク制御情報のセッション状態はすべて未接続になっている。
セッション確立情報は、トンネリングセッションを確立する条件を名前と値とで表現する。本実施例では、ネットワーク端末装置300A、300Bが3階フロアに入ったら、会議室301用と会議室302用の仮想ネットワークに接続させるため、名前に「user location」、値に「3F」が設定されている。
選択情報は、仮想ネットワークを選択する条件を名前と値とで表現する。この選択情報は第1の実施の形態の実施例(実施例1)の説明に用いた図5の仮想ネットワーク選択情報中の選択情報と同じである。
ネットワーク管理装置識別情報には、本実施例の場合、ネットワーク管理装置に割り当てられたIPアドレスと、そのネットワーク管理装置内のセッションデータ中継手段であるVPNサーバが使用するトンネリングプロトコルの名称とを「/」で結合した文字列を使用する。図12では、会議室301用の仮想ネットワークを提供するネットワーク管理装置400にはIPアドレス”192.168.0.1”が、会議室302用の仮想ネットワークを提供するネットワーク管理装置400'にはIPアドレス”192.168.0.2”が、それぞれ割り当てられている。従って、図13の1行目はネットワーク端末装置300Aの会議室301用の仮想ネットワークを制御するための情報、2行目はネットワーク端末装置300Aの会議室302用の仮想ネットワークを制御するための情報、3行目はネットワーク端末装置300Bの会議室301用の仮想ネットワークを制御するための情報、4行目はネットワーク端末装置300Bの会議室302用の仮想ネットワークを制御するための情報である。また、「/」の後の文字列pptpは、OSI参照モデル第2層のネットワークとして仮想化されるトンネリングプロトコル「PPTP」を示している。
以下、本実施例におけるセッション確立用状況情報取得装置1000、ネットワークセッション制御装置900およびネットワーク端末装置内のネットワークセッション確立手段200によって行われるトンネリングセッション確立および破棄処理の動作について詳細に説明する。
まず、何れのネットワーク端末装置300A、300Bも3階フロアに存在しない状況を想定する。この場合、ネットワークセッション情報データベース901中の仮想ネットワーク制御情報は図13に示した内容になっている。この状況の下に、図10の処理が開始されると、ネットワークセッション制御手段902は、ネットワークセッション情報データベース901に記憶された仮想ネットワーク制御情報を1つずつ注目し(ステップA201)、注目中の仮想ネットワーク制御情報におけるネットワーク端末装置の識別情報で特定されるネットワーク端末装置のセッション確立用状況情報を、セッション確立用状況情報取得装置1000から取得していく(ステップA202)。しかし、取得されるセッション確立用状況情報は、すべて、「user location」という名前と「Not found」という値から構成されるセッション確立用状況情報になり、仮想ネットワーク制御情報中のセッション確立情報である「user location」という名前と「3F」に一致しないため、各ネットワーク端末装置300A、300Bとネットワーク管理装置400、400'との間には会議室301用および会議室302用のトンネリングセッション(仮想ネットワーク)は確立されない。ネットワーク端末装置300A、300Bが3階フロアに入ってこない限り、この状態が続く。
こうして、ネットワーク端末装置300A、300Bが会議室301用および会議室302用の仮想ネットワークを必要としない状況の下では、それらの仮想ネットワークが無駄に生成されることがない。
次に、或るネットワーク端末装置、たとえばネットワーク端末装置300Aが3階フロアに入ってきた状況を想定する。ネットワーク端末装置300Aが3階フロアに入る直前では、ネットワークセッション情報データベース901中の仮想ネットワーク制御情報は図13に示した内容になっている。この状況の下に、図10の処理が開始され、ネットワークセッション制御手段902が、ネットワークセッション情報データベース901に記憶された仮想ネットワーク制御情報のうち1行目に注目し(ステップA201)、セッション確立用状況情報取得装置1000にネットワーク端末装置300AのIPアドレスを指定してそのセッション確立用状況情報を要求すると、ネットワーク端末装置300Aが3階フロアに居ることを示す「user location」という名前と「3F」という値から構成されるセッション確立用状況情報が返ってくる。次に、ネットワークセッション制御手段902が、注目中の仮想ネットワーク制御情報中からセッション確立情報を取得し(ステップA102)、前記取得したセッション確立用状況情報と比較すると(ステップA103)、双方が一致する。また、注目中の仮想ネットワーク制御情報におけるセッション状態は未接続である(ステップA104)。従って、以下のような手順でネットワーク端末装置300Aとネットワーク管理装置400との間に会議室301用のトンネリングセッションが確立される。
まず、ネットワークセッション制御手段902は、注目中の仮想ネットワーク制御情報中からネットワーク管理装置識別情報「192.168.0.1/pptp」と選択情報「user location、Room_301」とを取得し、これらを付加したトンネリングセッション接続情報を生成して、注目中の仮想ネットワーク制御情報中のネットワーク端末装置識別情報「192.168.1.1」で特定されるネットワーク端末装置300Aへ送信する(ステップA105)。
図14(a)を参照すると、トンネリングセッション接続情報の一例は、当該情報がトンネリングセッションの接続の要求であることを示す文字列「COMMAND:CONNECT」を含んでいる。また、仮想ネットワーク制御情報中の選択情報における名前と値の内容がそれぞれ「NAME:」および「VALUE:」という文字列の後に記載され、仮想ネットワーク制御情報中のネットワーク管理装置識別情報の内容が「VNS:」という文字列の後に記載されている。
ネットワーク端末装置300Aのネットワークセッション確立手段200は、ネットワークセッション制御手段902から図14(a)に示したようなトンネリングセッション接続情報を受信すると、受信したトンネリングセッション接続情報中の「VNS:」という文字列の後に記載されたネットワーク管理装置識別情報を用いて、IPアドレス「192.168.0.1」に対してトンネリングプロトコル「PPTP」によってトンネリングセッションを確立する(ステップA106)。このトンネリングセッションの確立にはネットワーク端末装置300Aで動作するオペレーティングシステム(基本ソフトウェア)が関与し、確立したトンネリングセッションを一意に識別するための識別情報としての仮想ネットワークインタフェースが付与される。仮に、付与された仮想ネットワークインタフェースを「ppp0」とする。ネットワーク確立手段200は、この仮想ネットワークインタフェース「ppp0」と、受信したトンネリングセッション接続情報中の文字列「NAME:」、「VALUE:」の後に記載された選択情報「user location、Room_301」とを含む仮想ネットワーク選択情報を生成し、ノードセッション情報データベース700に登録する(ステップA106)。これにより、実施例1で参照した図5の1行目のような仮想ネットワーク選択情報がノードセッション情報データベース700に登録されることになる。続いてネットワークセッション確立手段200は、トンネリングセッション接続完了メッセージをネットワークセッション制御手段902に送信する(ステップA107)。
図15(a)を参照すると、トンネリングセッション接続完了メッセージの一例は、当該メッセージがトンネリングセッションの接続完了の通知であることを示す文字列「COMMAND:CONNECT_ACK」を含んでいる。また、トンネリングセッション接続情報に含まれていた「NAME:」および「VALUE:」で始まる情報が記載され、さらに、「NODE:」という文字列の後に自ネットワーク端末装置300AのIPアドレス”192.168.1.1」が記載されている。
ネットワークセッション制御手段902は、ネットワークセッション確立手段200から図15(a)に示したようなトンネリングセッション接続完了メッセージを受信すると、受信したトンネリングセッション接続完了メッセージ中の文字列「NAME:」および「VALUE:」の後に続く情報が示す選択情報を含み、且つ、文字列「NODE:」の後に続く情報が示すIPアドレスをネットワーク端末装置識別情報として含む仮想ネットワーク制御情報を、ネットワークセッション情報データベース901から検索し、この検索した仮想ネットワーク制御情報、つまり図13の1行目の仮想ネットワーク制御情報のセッション状態を図16に示すように接続中に変更する(ステップA108)。
続いて、ネットワークセッション制御手段902が、ネットワークセッション情報データベース901に記憶された2行目の仮想ネットワーク制御情報に注目を移し(ステップA204)、セッション確立用状況情報取得装置1000にネットワーク端末装置300AのIPアドレスを指定してそのセッション確立用状況情報を要求すると、ネットワーク端末装置300Aが3階フロアに存在することを示す「user location」という名前と「3F」という値から構成されるセッション確立用状況情報が再び返ってくる。またネットワークセッション制御手段902が、その仮想ネットワーク制御情報中からセッション確立情報を取得し(ステップA102)、前記取得したセッション確立用状況情報と比較すると(ステップA103)、双方が一致し、さらにその仮想ネットワーク制御情報におけるセッション状態は未接続であることが検出される(ステップA104)。従って、1行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Aとネットワーク管理装置400との間に会議室301用のトンネリングセッション(仮想ネットワーク)を確立した場合と同様の手順により、2行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Aとネットワーク管理装置400'との間に会議室302用のトンネリングセッション(仮想ネットワーク)が確立される。
他のネットワーク端末装置300Bが3階フロアに入ってきた場合も同様にして、図13の3行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Bとネットワーク管理装置400との間に会議室301用のトンネリングセッション(仮想ネットワーク)が確立され、4行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Bとネットワーク管理装置400'との間に会議室302用のトンネリングセッション(仮想ネットワーク)が確立される。
こうして、ネットワーク端末装置300A、300Bが3階フロアに入ると、換言すれば、会議室301用および会議室302用の仮想ネットワークが近い将来使われる可能性が高くなると、その準備のために仮想ネットワークが速やかに生成される。生成されたこれらの仮想ネットワークは、ネットワーク端末装置300A、300Bが3階フロアにある限り確立されたまま維持される。そして、ネットワーク端末装置300Aおよび300Bが同じ会議室、たとえば301に入ると、実施例1で説明したようにパケットデータの送受信時に会議室301用の仮想ネットワークが自動的に選択され、ネットワーク端末装置300Aと300Bとの間で会議室301用の仮想ネットワークを経由した通信が可能となる。このとき、同様な他のネットワーク端末装置が別の会議室302にあったとしても、ネットワーク端末装置300A、300Bから仮想ネットワークに送信したパケットデータが他の会議室302にあるネットワーク端末装置のアプリケーションプログラムで受信されることはなく、また、他の会議室302にあるネットワーク端末装置のアプリケーションプログラムから送信されたパケットデータが会議室301にあるネットワーク端末装置300A、300Bのアプリケーションプログラムで受信されることはない。
次に、会議室301にあったネットワーク端末装置300Aが会議室301から退室し、さらに3階フロア以外の階に移動した場合を想定する。ネットワーク端末装置300Aが3階フロア以外の階に移動する直前では、ネットワークセッション情報データベース901中の仮想ネットワーク制御情報は図16に示した内容になっている。この状況の下に、図10の処理が開始され、ネットワークセッション制御手段902が、ネットワークセッション情報データベース901に記憶された仮想ネットワーク制御情報のうち1行目に注目し(ステップA201)、セッション確立用状況情報取得装置1000にネットワーク端末装置300AのIPアドレスを指定してそのセッション確立用状況情報を要求すると、ネットワーク端末装置300Aが3階フロアに存在しないことを示す「user location」という名前と「Not found」という値から構成されるセッション確立用状況情報が返ってくる。次に、ネットワークセッション制御手段902が、注目中の仮想ネットワーク制御情報中からセッション確立情報を取得し(ステップA102)、前記取得したセッション確立用状況情報と比較すると(ステップA103)、双方が相違する。また、注目中の仮想ネットワーク制御情報におけるセッション状態は接続中である(ステップA114でイエス)。従って、以下のような手順でネットワーク端末装置300Aとネットワーク管理装置400との間に確立された会議室301用のトンネリングセッションが破棄される。
まず、ネットワークセッション制御手段902は、注目中の仮想ネットワーク制御情報中から選択情報「user location、Room_301」を取得し、これを付加したトンネリングセッション切断情報を生成して、注目中の仮想ネットワーク制御情報中のネットワーク端末装置識別情報「192.168.1.1」で特定されるネットワーク端末装置300Aへ送信する(ステップA115)。
図14(b)を参照すると、トンネリングセッション切断情報の一例は、当該情報がトンネリングセッションの切断の要求であることを示す文字列「COMMAND:CLOSE」を含んでいる。また、仮想ネットワーク制御情報中の選択情報における名前と値の内容がそれぞれ「NAME:」および「VALUE:」という文字列の後に記載されている。
ネットワーク端末装置300Aのネットワークセッション確立手段200は、ネットワークセッション制御手段902から図14(b)に示したようなトンネリングセッション切断情報を受信すると、まず、受信したトンネリングセッション切断情報中の文字列「NAME:」、「VALUE:」の後に記載された選択情報「user location、Room_301」を含む仮想ネットワーク選択情報を図5に示したようなノードセッション情報データベース700から検索し、この検索した仮想ネットワーク選択情報中の仮想ネットワークインタフェースを取得する。今の場合、仮想ネットワークインタフェース「ppp0」が取得される。そしてネットワークセッション確立手段200は、仮想ネットワークインタフェース「ppp0」で識別されるトンネリングセッションを破棄する(ステップA116)。同時に、ネットワークセッション確立手段200は、前記検索した仮想ネットワーク選択情報をノードセッション情報データベース700から削除する。続いてネットワークセッション確立手段200は、トンネリングセッション切断完了メッセージをネットワークセッション制御手段902に送信する(ステップA117)。
図15(b)を参照すると、トンネリングセッション切断完了メッセージの一例は、当該メッセージがトンネリングセッションの切断完了の通知であることを示す文字列「COMMAND:CLOSE_ACK」を含んでいる。また、トンネリングセッション切断情報に含まれていた「NAME:」および「VALUE:」で始まる情報が記載され、さらに、「NODE:」という文字列の後に自ネットワーク端末装置300AのIPアドレス”192.168.1.1」が記載されている。
ネットワークセッション制御手段902は、ネットワークセッション確立手段200から図15(b)に示したようなトンネリングセッション切断完了メッセージを受信すると、受信したトンネリングセッション切断完了メッセージ中の文字列「NAME:」および「VALUE:」の後に続く情報が示す選択情報を含み、且つ、文字列「NODE:」の後に続く情報が示すIPアドレスをネットワーク端末装置識別情報として含む仮想ネットワーク制御情報を、ネットワークセッション情報データベース901から検索し、この検索した仮想ネットワーク制御情報、つまり図16の1行目の仮想ネットワーク制御情報のセッション状態を未接続に変更する(ステップA118)。
続いて、ネットワークセッション制御手段902が、ネットワークセッション情報データベース901に記憶された2行目の仮想ネットワーク制御情報に注目を移し(ステップA204)、セッション確立用状況情報取得装置1000にネットワーク端末装置300AのIPアドレスを指定してそのセッション確立用状況情報を要求すると、ネットワーク端末装置300Aが3階フロアに存在しないことを示す「user location」という名前と「Not found」という値から構成されるセッション確立用状況情報が再び返ってくる。またネットワークセッション制御手段902が、その仮想ネットワーク制御情報中からセッション確立情報を取得し(ステップA102)、前記取得したセッション確立用状況情報と比較すると(ステップA103)、双方が相違し、さらにその仮想ネットワーク制御情報におけるセッション状態は接続中であることが検出される(ステップA104)。従って、2行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Aとネットワーク管理装置400との間に確立された会議室301用のトンネリングセッション(仮想ネットワーク)を破棄した場合と同様の手順により、2行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Aとネットワーク管理装置400'との間に確立された会議室302用のトンネリングセッション(仮想ネットワーク)が破棄される。
他のネットワーク端末装置300Bが3階フロア以外の階に移動した場合も同様にして、図16の3行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Bとネットワーク管理装置400との間に確立された会議室301用のトンネリングセッション(仮想ネットワーク)が破棄され、4行目の仮想ネットワーク制御情報を用いてネットワーク端末装置300Bとネットワーク管理装置400'との間に確立された会議室302用のトンネリングセッション(仮想ネットワーク)が破棄される。
こうして、ネットワーク端末装置300A、300Bが3階フロア以外の階に移動すると、換言すれば、会議室301用および会議室302用の仮想ネットワークを必要としない状況に至ると、確立されていたトンネリングセッション(仮想ネットワーク)が速やかに破棄される。
以上の実施例2では、ネットワーク端末装置300A、300Bが建物の3階フロアに入ったときに、3階フロアにある会議室301および302用の仮想ネットワークを実現するトンネリングセッションを確立し、また、ネットワーク端末装置300A、300Bが3階フロアから別の階に移動したときに、前記仮想ネットワークを実現するトンネリングセッションを破棄したが、ネットワーク端末装置300A、300Bの位置によらずにトンネリングセッションの確立、破棄を制御することも可能である。たとえば、或る日の午後1時から午後3時までの2時間、3階フロアの何れかの会議室で会議を行う予定がある場合、その参加予定者のネットワーク端末装置の各会議室用の仮想ネットワーク制御情報におけるセッション確立情報として、たとえば会議が行われる時間帯を設定し、その日の午後1時になったタイミングで会議室301および302用の仮想ネットワークを実現するトンネリングセッションを確立し、その日の午後3時になったタイミングで前記トンネリングセッションを破棄する。この場合、セッション確立用状況情報取得装置1000は現在時刻を返す時計に相当する。
また、以上の実施例2では、ネットワーク端末装置300A、300Bが建物の3階フロアに入ったときに、無条件に、3階フロアにある会議室301および302用の仮想ネットワークを実現するトンネリングセッションを確立し、また、ネットワーク端末装置300A、300Bが3階フロアから別の階に移動したときに、無条件に、前記仮想ネットワークを実現するトンネリングセッションを破棄したが、ネットワーク端末装置300A、300Bのユーザの状況を参照して、トンネリングセッションの確立、破棄を制御することも可能である。たとえば、ネットワーク端末装置のユーザに対してトンネリングセッションを確立してよいかどうかを問い合わせ、確立してよいとの許可が得られた場合に限り、トンネリングセッションを確立する。破棄する場合も同様にしてよい。
また、トンネリングセッションを確立するネットワーク端末装置のユーザと仮想ネットワークを通じて通信する他のネットワーク端末装置のユーザとの関係(上司と部下など)に基づいて、ネットワーク端末装置毎のトンネリングセッション確立に優先度を設定し、優先度の最も高いネットワーク端末装置のユーザだけにトンネリングセッションの確立、破棄の許可を得るようにするなど、同じセッションに参加するネットワーク端末装置のユーザ間の関係に基づいて複数のネットワーク端末装置間にセッションを確立するようにしてもよい。このように同じセッションに参加するネットワーク端末装置のユーザ間の関係に基づいて複数のネットワーク端末装置間にセッションを確立するネットワークセッション制御システムを記載した文献としては、本出願人による特願2003−132884号明細書がある。
次に、本発明の第1および第2の実施の形態の別の実施例について幾つか説明する。
『実施例3』
前述した実施例1では、事前に接続された複数の仮想ネットワークの内からネットワーク端末装置の位置に応じた1つの仮想ネットワークを選択したが、本実施例は、UDP/1900などの如きパケット識別情報に基づいて仮想ネットワークを選択する。
図17を参照すると、本実施例は、セッション切替情報検知手段600内の状況情報取得手段602がネットワークセッション切替手段500に接続されており、ネットワークセッション切替手段500で一旦受信された送受信パケットデータのパケット識別情報を状況情報として取得して仮想ネットワーク選択情報評価手段601に出力する点で、実施例1と相違する。
また、ノードセッション情報データベース700には、実施例1の図5と同様に選択情報と仮想ネットワーク識別情報を含む仮想ネットワーク選択情報が記録されるが、選択情報の内容が図5とは異なる。本実施例のネットワーク端末装置300のノードセッション情報データベース700に設定されている仮想ネットワーク選択情報の例を図18に示す。
図18を参照すると、本実施例の場合、選択情報における名前は、パケット識別情報であることを表す「packet type」、値は、OSI参照モデルの第4層のプロトコルを識別する名前と第4層のプロトコルで用いられるポート番号とを「/」で連結した文字列である。具体的には、1行目の仮想ネットワーク選択情報には「UDP/1900」が設定され、2行目の仮想ネットワーク選択情報には「TCT/80」が設定されている。なお、1行目の仮想ネットワーク選択情報中の仮想ネットワーク識別情報ppp0は、パケット識別情報「UDP/1900」によって特定されるネットワーク上で提供されるサービスに適合する帯域を持つものとして事前に確立された仮想ネットワークを識別する仮想ネットワークインタフェースであり、2行目の仮想ネットワーク選択情報中の仮想ネットワーク識別情報ppp1は、パケット識別情報「TCP/80」によって特定されるネットワーク上で提供されるサービスに適合する帯域を持つものとして事前に確立された仮想ネットワークを識別する仮想ネットワークインタフェースである。
つまり、図18に示した仮想ネットワーク識別情報は、アプリケーションプログラム800の送受信パケットのパケット識別情報が「UDP/1900」ならppp0で識別される仮想ネットワークを選択すること、および、そのパケット識別情報が「TCP/80」ならならppp1で識別される仮想ネットワークを選択することを示している。
以下、本実施例の動作を実施例1との相違点を中心に説明する。
[送信時]
まず、アプリケーションプログラム800が仮想ネットワークを経由してパケットデータを送信する場合の動作について説明する。
アプリケーションプログラム800が送信したパケットデータは、ネットワークセッション切替手段500によって一旦受信され(図3のステップA302)、パケットデータをアプリケーションプログラム800から受信した旨が、セッション切替情報検知手段600の仮想ネットワーク選択情報評価手段601に通知される(ステップA303)。仮想ネットワーク選択情報評価手段601は、状況情報取得手段602により現時点の状況情報を取得する(ステップA304)。このとき、状況情報取得手段602は、ネットワークセッション切替手段500が受信したパケットデータからパケット識別情報を取得し、状況情報として仮想ネットワーク選択情報評価手段601に通知する。たとえば、アプリケーションプログラムが送信したパケットデータのパケット識別情報がUPD/1900であれば、名前「packet type」と値「UPD/1900」とから構成される状況情報が通知される。
次に仮想ネットワーク選択情報評価手段601は、この取得した状況情報をキーにノードセッション情報データベース700をアクセスし、その状況情報に一致する選択情報を含む仮想ネットワーク選択情報を検索し、その仮想ネットワーク選択情報中の仮想ネットワーク識別情報を取得する(ステップA305)。次に、仮想ネットワーク選択情報評価手段601は、上記検索の結果、仮想ネットワーク識別情報が取得できた場合(ステップA306でイエス)、取得した仮想ネットワーク識別情報をネットワークセッション切替手段500に通知し、その通知した仮想ネットワーク識別情報で識別される仮想ネットワークに、受信したパケットデータを送信するように指示する。ネットワークセッション切替手段500は、この指示に従い、通信手段301を用いて、通知された仮想ネットワーク識別情報で識別される仮想ネットワークに対してパケットデータを送信する(ステップA307)。
他方、仮想ネットワーク選択情報評価手段601は、上記検索の結果、仮想ネットワーク識別情報が取得できなかった場合(ステップA306でノー)、ネットワークセッション切替手段500に対して、受信したパケットデータを破棄するように指示する。ネットワークセッション切替手段500は、この指示に従いパケットデータを破棄する(ステップA308)。
従って、たとえば、名前「packet type」と値「UPD/1900」とから構成される状況情報が取得された場合、図18の1行目の仮想ネットワーク選択情報が検索され、アプリケーションプログラム800が送信したパケットデータは、仮想ネットワークインタフェースppp0で識別される仮想ネットワークに送信される。また、名前「packet type」と値「TCP/80」とから構成される状況情報が取得された場合、図18の2行目の仮想ネットワーク選択情報が検索され、アプリケーションプログラム800が送信したパケットデータは、仮想ネットワークインタフェースppp1で識別される仮想ネットワークに送信される。他方、取得された状況情報と一致する選択情報を持つ仮想ネットワーク選択情報が存在しない場合、アプリケーションプログラム800から送信されたパケットデータは破棄される。
[受信時]
次に、ネットワーク端末装置300が、接続中の仮想ネットワークを経由してパケットを受信した場合の動作について説明する。
接続中の仮想ネットワークを通じて他のネットワーク端末装置などからパケットデータが送られてくると、そのパケットデータは通信手段301を通じてネットワークセッション切替手段500で一旦受信され(ステップA312)、その旨がセッション切替情報検知手段600の仮想ネットワーク選択情報評価手段601に通知される(ステップA313)。仮想ネットワーク情報評価手段601は、パケットデータを受信した際に用いた仮想ネットワークを識別する情報をネットワークセッション切替手段500から取得し(ステップA314)、この取得した仮想ネットワーク識別情報をキーにノードセッション情報データベース700をアクセスし、その仮想ネットワーク識別情報を含む仮想ネットワーク選択情報を検索し、検索した仮想ネットワーク選択情報中の選択情報を取得する(ステップA315)。次に、状況情報取得手段602により、ネットワークセッション切替手段500が受信したパケットデータからパケット識別情報を取得し、状況情報として仮想ネットワーク選択情報評価手段601に通知する(ステップA316)。そして、ステップA315で取得した選択情報とステップA316で取得した状況情報とが一致するかどうかを判定する(ステップA317)。
選択情報と状況情報とが一致した場合(ステップA317でイエス)、仮想ネットワーク選択情報評価手段601は、ネットワークセッション切替手段500に対して、受信したパケットデータをアプリケーションプログラム800に送信するように指示し、ネットワークセッション切替手段500は、この指示に従って、受信したパケットデータをアプリケーションプログラム800に送信する(ステップA318)。他方、選択情報と状況情報とが一致しない場合(ステップA317でノー)、仮想ネットワーク選択情報評価手段601は、ネットワークセッション切替手段500に対して、受信したパケットデータを破棄するように指示し、ネットワークセッション切替手段500は、この指示に従って、受信したパケットデータを破棄する(ステップA319)。
従って、仮想ネットワークインタフェースppp0で識別される仮想ネットワークからは実質的にパケット識別情報「UPD/1900」を持つパケットデータのみが受信されてアプリケーションプログラム800に伝達され、仮想ネットワークインタフェースppp1で識別される仮想ネットワークからは実質的にパケット識別情報「TCP/80」を持つパケットデータのみが受信されてアプリケーションプログラム800に伝達される。
本実施例は上述したように動作するので、パケット識別情報「UPD/1900」のパケットデータを送受信するアプリケーションプログラム800が稼働する複数のネットワーク端末装置から構成されるグループ1と、パケット識別情報「TCP/80」のパケットデータを送受信するアプリケーションプログラム800が稼働する複数のネットワーク端末装置から構成されるグループ2とで、異なる帯域の仮想ネットワークを使い分けるといったことが可能となる。
なお、本実施例3に第2の実施の形態で説明した仮想ネットワークへの接続および切断(トンネリングセッションの確立および破棄)の仕組みを適用し、たとえば、ネットワーク端末装置300が建物の3階フロアに入ったときに、パケット識別情報が「UDP/1900」であるパケットデータ用の仮想ネットワークとパケット識別情報が「TCP/80」であるパケットデータ用の仮想ネットワークとに自動的に接続させ、3階フロア以外の階に移動したときにそれらの仮想ネットワークの接続を切断するようにしてもよい。
また、実施例1と実施例3とを組合せ、会議室301用の仮想ネットワークとして、パケット識別情報が「UDP/1900」であるパケットデータ用の仮想ネットワークとパケット識別情報が「TCP/80」であるパケットデータ用の仮想ネットワークとの2つの仮想ネットワークを生成し、会議室302用の仮想ネットワークとして、パケット識別情報が「UDP/1900」であるパケットデータ用の仮想ネットワークとパケット識別情報が「TCP/80」であるパケットデータ用の仮想ネットワークとの2つの仮想ネットワークを生成し、ネットワーク端末装置が現在いる会議室とパケット識別情報との組合せにより、何れか一つの仮想ネットワークを選択するようにしてもよい。この場合、ノードセッション情報データベース700には、選択情報として、名前が「user location」のものと、名前が「packet type」のものとの2種類が定義され、状況情報取得手段602においては、ネットワーク端末装置の位置と送受信パケットのパケット識別情報の2種類の情報が状況情報として取得される。
『実施例4』
第1の実施の形態および実施例1では、ネットワーク端末装置のアプリケーションプログラムからのパケットデータの送信時、その時点の当該ネットワーク端末装置の状況情報に合致する選択情報を含む仮想ネットワーク選択情報がノードセッション情報データベース700に存在せず、仮想ネットワーク識別情報を取得できなかったとき、当該パケットデータを破棄した(図3のステップA308)。本実施例では、同様な状況が発生した場合に、事前に登録しておいた規定の仮想ネットワークにパケットデータを送信する。また、規定の仮想ネットワークから受信したパケットデータについては、その時点の状況情報などを考慮せずにアプリケーションプログラムに伝達する。
本実施例におけるパケット送受信時のネットワーク端末装置の処理例を図19に示す。図3のステップA308に代えてステップA3082があり、ステップA3142が新たに追加されている点で、図3のフローチャートと相違する。
本実施例におけるネットワーク端末装置のノードセッション情報データベース700に記録されている仮想ネットワーク選択情報の例を図20に示す。名前が「default」で値が「null」である選択情報および仮想ネットワークインタフェースeth0である仮想ネットワーク識別情報から構成される仮想ネットワーク選択情報が追加されている点で、図5に示した実施例1のものと相違する。前記追加された仮想ネットワーク選択情報は、仮想ネットワークインタフェース「eth0」によって識別されるネットワークを既定のネットワークとして扱うことを表している。
以下、図2、図19および図20を参照して、本実施例の動作を第1の実施の形態の実施例1との相違点を中心に説明する。
[パケット送信]
ネットワーク端末装置300のアプリケーションプログラム800が仮想ネットワークを経由してパケットデータを送信する場合の動作は、ステップA3082を除き、実施例1と同じである。本実施例の場合、仮想ネットワーク選択情報評価手段601は、ネットワーク端末装置の状況情報に合致する選択情報を含む仮想ネットワーク選択情報がノードセッション情報データベース700に存在せず、仮想ネットワーク識別情報を取得できなかったとき(ステップA306でノー)、ノードセッション情報データベース700から名前が「default」で値が「null」である選択情報を含む仮想ネットワーク選択情報を検索し、その仮想ネットワーク選択情報中の仮想ネットワーク識別情報で特定される既定のネットワークにパケットデータを送信するようネットワークセッション切替手段500に通知し、ネットワークセッション切替手段500は通知された既定のネットワークに対してアプリケーションプログラム800から受信したパケットデータを送信する(ステップA3082)。
[パケット受信]
本実施例では、上述したようにネットワーク端末装置300が既定のネットワーク経由でパケットデータを送信することがあるため、通信相手である他のネットワーク端末装置300は既定のネットワーク経由でパケットデータを受信した場合、パケットデータをその時点の状況情報とは無関係にアプリケーションプログラム800に受信させるようにしている。具体的には、仮想ネットワーク選択情報評価手段601は、受信パケットの受信に用いた仮想ネットワークを識別する情報である仮想ネットワークインタフェースをネットワークセッション切替手段500から取得すると(ステップA314)、この取得した仮想ネットワークインタフェースを含み且つ選択情報の名前が「default」で値が「null」の仮想ネットワーク選択情報がノードセッション情報データベース700に登録されているかどうかを判定し(ステップA3142)、登録されていない場合にはステップA315へ進んで、以降、実施例1と同様の処理を続行し、登録されていた場合には既定のネットワークから受信したものと判断して、ネットワークセッション切替手段500により受信パケットデータをアプリケーションプログラム800に送信させる(ステップA318)。
このように本実施例によれば、その時点の状況情報と関係なくパケットデータを既定のネットワーク経由で送受信できるため、たとえば実施例1において、3階のフロアに入っているが、会議室301および会議室302の何れにも入っていないネットワーク端末装置どうしが、既定のネットワーク経由で通信できるようになる。
なお、本実施例4に第2の実施の形態で説明した仮想ネットワークへの接続および切断(トンネリングセッションの確立および破棄)の仕組みを適用し、たとえば、ネットワーク端末装置300が建物の3階フロアに入ったときに、会議室301用の仮想ネットワーク、会議室302用の仮想ネットワーク、既定の仮想ネットワークに自動的に接続させ、3階フロア以外の階に移動したときにそれらの仮想ネットワークとの接続を切断するようにしてもよい。
『実施例5』
実施例1では、図4に示したように各会議室に設けた赤外線ビーコン311、312から会議室情報を送信し、各ネットワーク端末装置の状況情報取得手段602を構成する赤外線通信装置がその会議室情報を状況情報として受信した。本実施例では、各ネットワーク端末装置の位置を監視する位置監視装置を設け、各ネットワーク端末装置の状況情報取得手段は、位置監視装置から自ネットワーク端末装置の位置を示す状況情報を取得する。
図21を参照すると、それぞれのネットワーク端末装置300A、300Bには、自装置に割り当てられたIPアドレスを例えば一定周期で送信する赤外線通信装置1101、1102が設けられている。また、会議室301には会議室301用通信装置1111が、会議室302には会議室302用通信装置1112がそれぞれ設けられている。会議室301用通信装置1111は、会議室301内に存在するネットワーク端末装置300Aの赤外線通信装置1101から送信されるIPアドレスを受信すると、自通信装置1111の識別情報(例えば通信装置1111に割り当てられたIPアドレス)と、受信したネットワーク端末装置300AのIPアドレスとを含む位置通知情報を位置監視装置1200に送信する。同様に、会議室302用通信装置1112は、会議室302内に存在するネットワーク端末装置300Bの赤外線通信装置1102から送信されるIPアドレスを受信すると、自通信装置1111の識別情報と、受信したネットワーク端末装置300BのIPアドレスとを含む位置通知情報を位置監視装置1200に送信する。
パーソナルコンピュータなどで構成される位置監視装置1200は、会議室301用通信装置1111の識別情報に対応して「Room_301」という文字列を記憶し、会議室302用通信装置1112の識別情報に対応して「Room_302」という文字列を記憶した対応テーブル(図示せず)を有している。また、各ネットワーク端末装置毎にそのIPアドレスとその位置情報との対応を記憶する位置テーブル(図示せず)を有している。位置監視装置1200は、会議室301用通信装置1111および会議室302用通信装置1112から位置通知情報を受信すると、位置通知情報に含まれる会議室用通信装置の識別情報識別情報に対応する文字列を前記対応テーブルから取得し、位置通知情報に含まれるネットワーク端末装置のIPアドレスに対応して前記位置テーブルに記憶されている位置情報に、前記対応テーブルから取得した文字列を書き込む。例えば、会議室301用通信装置111から、その通信装置111の識別情報とネットワーク端末装置300AのIPアドレスとを含む位置通知情報を受信したとき、通信装置111の識別情報に対応する文字列「Room_301」を対応テーブルから読み出し、位置テーブル中のネットワーク端末装置300AのIPアドレスに対応する位置情報をその文字列「Room_301」で書き換える。
各ネットワーク端末装置300A、300B内の状況情報取得手段602は、位置監視装置1200に対して、自ネットワーク端末装置のIPアドレスを付加して位置情報を問い合わせる。位置監視装置1200は、問い合わされたIPアドレスに対応して位置テーブルに記憶されている位置情報、つまり文字列「Room_301」あるいは「Room_302」を応答する。状況情報取得手段602は、「user location」という文字列を名前として、位置監視装置1200から応答された「Room_301」等の文字列を値とする状況情報を仮想ネットワーク選択情報評価手段601に提供する。
その他の動作は、実施例1と同様であるので詳細は省略する。
このように本実施例によれば、複数のネットワーク端末装置の最新の位置情報を位置監視装置1200において集中して監視することができ、各ネットワーク端末装置の状況情報取得手段602は位置監視装置1200に自己の位置を問い合わせることで現在の状況情報を取得することができる。
なお、本実施例5に第2の実施の形態で説明した仮想ネットワークへの接続および切断(トンネリングセッションの確立および破棄)の仕組みを適用し、たとえば、ネットワーク端末装置が建物の3階フロアに入ったときに、会議室301用の仮想ネットワーク、会議室302用の仮想ネットワークに自動的に接続させ、3階フロア以外の階に移動したときにそれらの仮想ネットワークとの接続を切断するようにしてもよい。この場合、以下のようにすれば、位置監視装置1200を使ってセッション確立用状況情報を取得することも可能である。
まず、図12の3階フロア入口および出口用RFIDタグ読取装置621、622の代わりに、会議室301および会議室302以外の3階フロアのエリアに居るネットワーク端末装置の赤外線通信装置1101、1102から送信されるIPアドレスを受信し、自装置の識別情報を付加した位置通知情報を位置監視装置1200に送信する1台以上の3階フロア用通信装置を設置する。位置監視装置1200は、3階フロア用通信装置からIPアドレスが通知されたネットワーク端末装置は、会議室301、302以外の3階フロアに居ると判断して、そのネットワーク端末装置のIPアドレスに対応する位置情報に文字列「3F」を書き込む。
図12に示したセッション確立用状況取得装置1000は、ネットワークセッション制御装置900からIPアドレスを指定してネットワーク端末装置300A、300Bのセッション確立用状況情報の取得が要求されると、指定されたIPアドレスを付加した問い合わせを位置監視装置1200に行い、応答として、「3F」、「Room_301」あるいは「Room_302」が得られた場合には、「user location」という名前と「3F」という値から構成されるセッション確立用状況情報をネットワークセッション制御装置900に応答し、それ以外の応答が得られた場合には、「user location」という名前と「Not found」という値から構成されるセッション確立用状況情報をネットワークセッション制御装置900に応答する。
『実施例6』
実施例1では、図4に示したように各会議室に設けた赤外線ビーコン311、312から会議室情報を送信し、各ネットワーク端末装置の状況情報取得手段602を構成する赤外線通信装置がその会議室情報を状況情報として受信した。本実施例では、各ネットワーク端末装置に自装置の位置を検出するGPS装置を設け、各ネットワーク端末装置の状況情報取得手段は、自装置に設けられたGPS装置から自ネットワーク端末装置の位置を示す状況情報を取得する。
図22を参照すると、それぞれのネットワーク端末装置300A、300Bには、自装置の地理的位置情報をGPS衛星から取得するGPS装置1301、1302が設けられている。また、各ネットワーク端末装置300A、300Bのノードセッション情報データベース700には、実施例1の図5と同様に選択情報と仮想ネットワーク識別情報を含む仮想ネットワーク選択情報が記録されるが、選択情報の値が図5とは異なる。本実施例のネットワーク端末装置のノードセッション情報データベース700に設定されている仮想ネットワーク選択情報の例を図23に示す。
図23を参照すると、本実施例の場合、選択情報における値は、地理的位置情報とされる。具体的には、会議室301用の仮想ネットワーク制御情報である1行目の選択情報の値には、会議室301の緯度および経度の範囲が設定され、会議室302用の仮想ネットワーク制御情報である2行目の選択情報の値には、会議室302の緯度および経度の範囲が設定される。なお、正確性を高めるために、高度も含む地理的位置情報を使用するようにしてもよい。
以下、図2、図3、図22および図23を参照して、本実施例の動作を実施例1との相違点を中心に説明する。
[送信時]
まず、ネットワーク端末装置300Aのアプリケーションプログラム800が仮想ネットワークを経由してパケットデータを送信する場合の動作について説明する。
アプリケーションプログラム800が送信したパケットデータは、ネットワークセッション切替手段500によって一旦受信され(図3のステップA302)、パケットデータをアプリケーションプログラム800から受信した旨が、セッション切替情報検知手段600の仮想ネットワーク選択情報評価手段601に通知される(ステップA303)。仮想ネットワーク選択情報評価手段601は、状況情報取得手段602により現時点の状況情報を取得する(ステップA304)。このとき、状況情報取得手段602は、自ネットワーク端末装置300に設けられたGPS装置1301から地理的位置情報を取得し、状況情報として仮想ネットワーク選択情報評価手段601に通知する。
次に仮想ネットワーク選択情報評価手段601は、この取得した状況情報に合致する選択情報を含む仮想ネットワーク選択情報をノードセッション情報データベース700から検索し、その仮想ネットワーク選択情報中の仮想ネットワーク識別情報を取得する(ステップA305)。以降、上記検索の結果、仮想ネットワーク識別情報が取得できたかどうかに応じて、実施例1と同様の動作が行われる。
[受信時]
次に、ネットワーク端末装置300Aが、接続中の仮想ネットワークを経由してパケットを受信した場合の動作について説明する。
接続中の仮想ネットワークを通じて他のネットワーク端末装置などからパケットデータが送られてくると、そのパケットデータは通信手段301を通じてネットワークセッション切替手段500で一旦受信され(ステップA312)、その旨がセッション切替情報検知手段600の仮想ネットワーク選択情報評価手段601に通知される(ステップA313)。仮想ネットワーク情報評価手段601は、パケットデータを受信した際に用いた仮想ネットワークを識別する情報をネットワークセッション切替手段500から取得し(ステップA314)、この取得した仮想ネットワーク識別情報をキーにノードセッション情報データベース700をアクセスし、その仮想ネットワーク識別情報を含む仮想ネットワーク選択情報を検索し、検索した仮想ネットワーク選択情報中の選択情報を取得する(ステップA315)。次に、状況情報取得手段602により、自ネットワーク端末装置300AのGPS装置1301から地理的位置情報を取得し、状況情報として仮想ネットワーク選択情報評価手段601に通知する(ステップA316)。そして、ステップA315で取得した選択情報とステップA316で取得した状況情報とが合致するかどうかを判定し(ステップA317)、その判定結果に応じて実施例1と同様の動作を行う。
このように本実施例によれば、各ネットワーク端末装置の最新の位置情報を個々のネットワーク端末装置に設けたGPS装置1301、1302において取得することができ、各ネットワーク端末装置の状況情報取得手段602は自端末装置のGPS1301、1302から現在の状況情報を取得することができる。
なお、本実施例6に第2の実施の形態で説明した仮想ネットワークへの接続および切断(トンネリングセッションの確立および破棄)の仕組みを適用し、たとえば、ネットワーク端末装置が建物の3階フロアに入ったときに、会議室301用の仮想ネットワーク、会議室302用の仮想ネットワークに自動的に接続させ、3階フロア以外の階に移動したときにそれらの仮想ネットワークとの接続を切断するようにしてもよい。この場合、以下のようにすれば、各ネットワーク端末装置に設けられたGPS装置を使ってセッション確立用状況情報を取得することも可能である。
図12に示したセッション確立用状況情報取得装置1000は、ネットワークセッション制御装置900からIPアドレスを指定してネットワーク端末装置300A、300Bのセッション確立用状況情報の取得が要求されると、指定されたIPアドレスを持つネットワーク端末装置300に対して地理的位置情報を問い合わる。各ネットワーク端末装置はこの問い合わせに応じて自装置に設けられたGPS装置1301、1302から地理的位置情報を取得し、応答する。セッション確立用状況情報取得装置1000は、応答されてきた地理的位置情報と、予め設定されている3階フロアの地理的位置情報とを比較してそのネットワーク端末装置が3階フロアに存在するかどうかを判定し、存在すると判定すれば、「user location」という名前と「3F」という値から構成されるセッション確立用状況情報をネットワークセッション制御装置900に応答し、存在しないと判定すれば、「user location」という名前と「Not found」という値から構成されるセッション確立用状況情報をネットワークセッション制御装置900に応答する。
以上本発明を幾つかの実施の形態および実施例を挙げて説明したが、本発明は以上の実施の形態および実施例にのみ限定されず、その他各種の付加変更が可能である。また、前述したネットワーク端末装置、ネットワーク管理装置、ネットワークセッション制御装置の有する各機能は、ハードウェア的に実現してもよいし、コンピュータとプログラムとで実現することができる。ネットワーク端末装置用プログラム、ネットワーク管理装置用プログラム、ネットワークセッション制御装置用プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、ネットワーク端末装置を構成するコンピュータ、ネットワーク管理装置を構成するコンピュータ、ネットワークセッション制御装置を構成するコンピュータの立ち上げ時などに、それらのコンピュータに読み取られ、それらのコンピュータの動作を制御することにより、それらのコンピュータを前述した各実施の形態におけるネットワーク端末装置、ネットワーク管理装置、ネットワークセッション制御装置内の機能手段として機能させる。