(57)【要約】【課題】ネットワークコントローラへのアクセス集中を抑制し、仮想ネットワークを用いた多様なサービスを柔軟に提供する。【解決手段】データ通信システム１に、仮想ネットワーク５０単位でネットワークコントローラ１０を設け、端末２ａを収容するスイッチ２０ａが、端末２ａから仮想ネットワーク番号を取得すると、その仮想ネットワーク番号をネットワークコントローラ管理装置３０に送信することにより、端末２ａが属する仮想ネットワーク５０に設けられたネットワークコントローラ１０のネットワークコントローラ位置を取得する。そして、スイッチ２０ａは、当該ネットワークコントローラ位置に基づき、着端末２ｂの端末識別子を当該ネットワークコントローラ１０に送信することにより、着端末２ｂを収容するスイッチ２０ｂの端末収容位置を取得し、データ転送を行う。【選択図】図１
2018117167.tif 000002
【特許請求の範囲】
【請求項１】
端末を収容する複数のスイッチと、
前記複数のスイッチ間に構築され、物理ネットワーク上にスライスとして設定される複数の仮想ネットワークと、
前記端末の端末識別子に対応付けて、当該端末を収容する前記スイッチのネットワーク上の位置を示す端末収容位置を格納するユーザ端末登録情報を記憶しており、前記仮想ネットワーク単位に設けられるネットワークコントローラのそれぞれと、
前記仮想ネットワークを識別する仮想ネットワーク番号に対応付けて、当該仮想ネットワークに設けられる前記ネットワークコントローラのネットワーク上の位置を示すネットワークコントローラ位置を格納するコントローラ位置管理情報を記憶するネットワークコントローラ管理装置と、を備え、
前記端末を収容するスイッチは、
前記端末から当該端末が属する仮想ネットワークの前記仮想ネットワーク番号を取得すると、当該仮想ネットワーク番号を前記ネットワークコントローラ管理装置に送信し、前記ネットワークコントローラ管理装置が前記仮想ネットワーク番号を用いて前記コントローラ位置管理情報を検索することにより抽出した前記ネットワークコントローラ位置を取得し、
前記取得したネットワークコントローラ位置に基づき、前記端末の通信先となる着端末の端末識別子を、当該端末が属する仮想ネットワークに設けられたネットワークコントローラに送信し、当該ネットワークコントローラが前記着端末の端末識別子を用いて前記ユーザ端末登録情報を検索することにより抽出した前記端末収容位置を取得し、
前記取得した端末収容位置に基づき、前記着端末を収容するスイッチを介して、前記端末から前記着端末へのデータ転送を行うこと
を特徴とするデータ通信システム。
【請求項２】
前記端末を収容するスイッチは、
前記端末から当該端末の端末識別子を取得すると、当該端末の端末識別子を、当該端末が属する仮想ネットワークに設けられたネットワークコントローラに送信し、当該ネットワークコントローラが、当該端末の端末識別子を用いて前記ユーザ端末登録情報を検索し、当該端末の端末識別子が登録されていることにより認証が成功した場合のみ、前記着端末を収容するスイッチの前記端末収容位置を取得できること
を特徴とする請求項１に記載のデータ通信システム。
【請求項３】
前記コントローラ位置管理情報を記憶する前記ネットワークコントローラ管理装置を複数備えること
を特徴とする請求項１または請求項２に記載のデータ通信システム。
【請求項４】
端末を収容する複数のスイッチと、
前記複数のスイッチ間に構築され、物理ネットワーク上にスライスとして設定される複数の仮想ネットワークと、
前記端末の端末識別子に対応付けて、当該端末を収容する前記スイッチのネットワーク上の位置を示す端末収容位置を格納するユーザ端末登録情報を記憶しており、前記仮想ネットワーク単位に設けられるネットワークコントローラのそれぞれと、
前記仮想ネットワークを識別する仮想ネットワーク番号に対応付けて、当該仮想ネットワークに設けられる前記ネットワークコントローラのネットワーク上の位置を示すネットワークコントローラ位置を格納するコントローラ位置管理情報を記憶するネットワークコントローラ管理装置と、を備えるデータ通信システムのデータ通信方法であって、
前記端末を収容するスイッチは、
前記端末から当該端末が属する仮想ネットワークの前記仮想ネットワーク番号を取得し、当該仮想ネットワーク番号を前記ネットワークコントローラ管理装置に送信するステップを実行し、
前記ネットワークコントローラ管理装置は、
受信した前記仮想ネットワーク番号を用いて前記コントローラ位置管理情報を検索することにより、前記ネットワークコントローラ位置を抽出して、前記端末を収容するスイッチに送信するステップを実行し、
前記端末を収容するスイッチは、
受信した前記ネットワークコントローラ位置に基づき、前記端末の通信先となる着端末の端末識別子を、当該端末が属する仮想ネットワークに設けられたネットワークコントローラに送信するステップを実行し、
当該ネットワークコントローラは、
受信した前記着端末の端末識別子を用いて前記ユーザ端末登録情報を検索することにより、前記端末収容位置を抽出して、前記端末を収容するスイッチに送信するステップを実行し、
前記端末を収容するスイッチは、
受信した前記端末収容位置に基づき、前記着端末を収容するスイッチを介して、前記端末から前記着端末へのデータ転送を行うステップを実行すること
を特徴とするデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ネットワークを管理するネットワークコントローラを備える、データ通信システムおよびデータ通信方法に関する。
【背景技術】
【０００２】
ネットワークコントローラにより仮想ネットワークを集中的に管理するOpenFlow（非特許文献１参照）を用いたＳＤＮ（Software Defined Network）技術が普及してきている。
OpenFlowでは、制御機能と転送機能とを分離した構成とし、仮想ネットワークによる転送を実現するための転送機能をスイッチが備え、制御機能をネットワークコントローラに備えさせる。
【０００３】
図７は、従来のOpenFlowの技術において、パケットを転送する場合のアドレス解決手法を説明するための図である。
図７に示すように、スイッチ２０Ａ間には、物理ネットワーク５上に、仮想ネットワーク５０（Slice「１」，Slice「２」，…Slice「Ｎ」）が設定されているものとする。また、通信元ユーザの端末２を示す発端末２ａを収容するスイッチ２０Ａ（２０Ａａ）と、通信先ユーザの端末２を示す着端末２ｂを収容するスイッチ２０Ａ（２０Ａｂ）とは、ネットワークコントローラ１０Ａに通信接続される。この各スイッチ２０Ａ（２０Ａａ，２０Ａｂ）は、例えば、OpenFlowに対応したOpenFlowスイッチであり、ネットワークコントローラ１０Ａは、OpenFowコントローラである。なお、通信元ユーザおよび通信先ユーザの端末２のそれぞれを、以下において、ユーザ端末２（発端末２ａ，着端末２ｂ）と称することがある。
【０００４】
ネットワークコントローラ１０Ａは、仮想ネットワーク５０（スライス：Slice）単位に、ネットワークに接続されているユーザ端末２についてのアドレス解決情報８００を管理する。このアドレス解決情報８００には、図７に示すように、仮想ネットワーク５０（Slice）単位に、そのユーザ端末２が属する仮想ネットワーク５０の「仮想ネットワーク（ＮＷ）番号」に対応付けて、認証情報、端末収容位置、端末識別子の各情報が格納される。
ここで、認証情報には、そのユーザ端末２（発端末２ａ）における、ＭＡＣ（Media Access Control）アドレス、ＩＤ／パスワード、証明書等が格納される。
また、端末収容位置には、そのユーザ端末２（発端末２ａ）を収容するスイッチ２０ＡのＩＰアドレス（Outer IP）等が格納される。
端末識別子には、そのユーザ端末２のＩＰアドレス（Inner IP）等が格納される。
例えば、図７のアドレス解決情報８００に示すように、仮想ネットワーク（ＮＷ）番号が〔Slice「２」〕の仮想ネットワーク５０に属するユーザ端末２として、認証情報が〔ユーザ「２」〕、端末収容位置が〔Switch「１」〕、端末識別子が〔10.10.10.1〕の情報が格納される。
【０００５】
ここで、例えば、発端末２ａから着端末２ｂ宛ての通信要求を発端末２ａ側のスイッチ２０Ａａが受信した場合に、スイッチ２０Ａａは、図７に示すように、アドレス解決要求（ＡＲＰ（Address Resolution Protocol）要求）として、発端末２ａの属する仮想ネットワーク（ＮＷ）番号〔slice「２」〕と、通信先の端末２（着端末２ｂ）の端末識別子〔10.10.10.10〕を付したＡＲＰ要求をネットワークコントローラ１０Ａに送信する（ステップＳ１）。
【０００６】
そして、ネットワークコントローラ１０Ａは、ＡＲＰ要求に付された、仮想ネットワーク（ＮＷ）番号〔Slice「２」〕と端末識別子〔10.10.10.10〕とを用いて、アドレス解決情報８００を参照することにより、端末収容位置〔Switch「３」〕の〔ユーザ「１０」〕を抽出し、ＡＲＰ応答に付して、スイッチ２０Ａａに送信する（ステップＳ２）。
【０００７】
発端末２ａは、スイッチ２０Ａａが受信した、端末収容位置〔Switch「３」〕の〔ユーザ「１０」〕の情報を用いて、仮想ネットワーク〔Slice「２」〕により、着端末２ｂに向けて、データ送信を行う（ステップＳ３）。
【０００８】
また、図８は、従来のネットワーク通信を行う際の各端末２の認証手法を説明するための図である。
ここでは、図８に示すように、各端末２を収容するスイッチ２０Ａと、認証（Radius）サーバ４０Ａとが、通信接続される。そして、認証（Radius）サーバ４０Ａは、各ユーザに関するユーザ認証情報９００を管理する。このユーザ認証情報９００には、図８に示すように、仮想ネットワーク（ＮＷ）毎に、その仮想ネットワーク（ＮＷ）番号に対応付けて、端末２の認証情報が格納される。つまり、その仮想ネットワーク（Slice）に属する端末２の認証情報が格納される。
なお、認証情報には、図７に示したアドレス解決情報８００と同様、そのユーザ端末２における、ＭＡＣアドレス、ＩＤ／パスワード、証明書等が格納される。
【０００９】
通信元ユーザの端末２（発端末２ａ）がネットワークに接続するとき、発端末２ａを収容しているスイッチ２０Ａ（２０Ａａ）は、その発端末２ａの認証情報（ユーザ「１」）を用いて、認証（Radius）サーバ４０Ａに、ユーザ認証の要求をするとともに、その認証が成功した結果として、当該発端末２ａが属する仮想ネットワーク（ＮＷ）番号の情報を取得する。そして、スイッチ２０Ａ（２０Ａａ）は、発端末２ａの接続ポートに仮想ネットワーク（ＮＷ）番号（Slice番号）を割り当てる。
この機能により、端末２は、スイッチ２０Ａのどのポートに接続しても、同じ環境で、同じ仮想ネットワーク（Slice）内での通信が可能となる。
なお、図７に示すネットワークコントローラ１０Ａが、図８に示す認証（Radius）サーバ４０Ａの機能を具備し、端末２の認証時に、端末収容位置と端末識別子とをアドレス解決情報８００に格納することが行われている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】有満  秀浩、他６名、「ネットワーク仮想化に向けた技術開発の現状」、［online］、ＮＴＴ技術ジャーナル、2014.5、pp.6-9、［平成28年12月20日検索］、インターネット＜ＵＲＬ：http://www.ntt.co.jp/journal/1405/files/jn201405006.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ネットワークの仮想化技術が進む中、全国規模の大規模ネットワークにおいても、ネットワークコントローラを用いて、ユーザ端末の管理や、ユーザ間通信のためのアドレス管理を効率的に行う必要がある。そのため、全国規模の１つの物理公衆ネットワークを仮想ネットワーク（Slice）に分割し、仮想ネットワーク（Slice）毎に多様なサービスを提供することが想定される。
この場合、上述のように、ネットワークコントローラが認証（Radius）サーバを兼ねることにより、利用者の利便性を向上させることができる。
【００１２】
しかしながら、全国規模の公衆網では、従来技術のとおり、１箇所にネットワークコントローラを配備することとなる。この場合、非常に多くの端末からの要求に基づき、１つのネットワークコントローラに膨大なアクセスが集中してしまう。これにより、多様な仮想ネットワーク（Slice）利用への柔軟な対応が困難になるという問題が発生する。
【００１３】
図９は、本発明の課題を説明するための図である。１つの物理ネットワーク５上に、全国規模の仮想ネットワーク５０や地域規模の仮想ネットワーク５０等の複数の仮想ネットワーク５０が設けられた場合、従来技術では、そのすべてに属するサーバやスイッチから、ユーザ認証やユーザ間通信のため、１つのネットワークコントローラ１０Ａ（認証サーバ４０Ａの機能を備える）にアクセスが集中することとなる。
また、このような構成において、各ユーザ端末２のユーザ認証条件等の設定や付加サービスの追加を行おうとすると、そのすべてを１つのネットワークコントローラ１０Ａで処理する必要が生じる。このため、設定が複雑となり、サービスを柔軟に変更・追加して提供することに支障が生じるケースが発生する。
【００１４】
このような点を鑑みて本発明がなされたのであり、本発明は、ネットワークコントローラへのアクセス集中を抑制し、仮想ネットワークを用いた多様なサービスを柔軟に提供することを可能とする、データ通信システムおよびデータ通信方法を提供することを課題とする。
【課題を解決するための手段】
【００１５】
前記した課題を解決するため、請求項１に記載の発明は、端末を収容する複数のスイッチと、前記複数のスイッチ間に構築され、物理ネットワーク上にスライスとして設定される複数の仮想ネットワークと、前記端末の端末識別子に対応付けて、当該端末を収容する前記スイッチのネットワーク上の位置を示す端末収容位置を格納するユーザ端末登録情報を記憶しており、前記仮想ネットワーク単位に設けられるネットワークコントローラのそれぞれと、前記仮想ネットワークを識別する仮想ネットワーク番号に対応付けて、当該仮想ネットワークに設けられる前記ネットワークコントローラのネットワーク上の位置を示すネットワークコントローラ位置を格納するコントローラ位置管理情報を記憶するネットワークコントローラ管理装置と、を備え、前記端末を収容するスイッチが、前記端末から当該端末が属する仮想ネットワークの前記仮想ネットワーク番号を取得すると、当該仮想ネットワーク番号を前記ネットワークコントローラ管理装置に送信し、前記ネットワークコントローラ管理装置が前記仮想ネットワーク番号を用いて前記コントローラ位置管理情報を検索することにより抽出した前記ネットワークコントローラ位置を取得し、前記取得したネットワークコントローラ位置に基づき、前記端末の通信先となる着端末の端末識別子を、当該端末が属する仮想ネットワークに設けられたネットワークコントローラに送信し、当該ネットワークコントローラが前記着端末の端末識別子を用いて前記ユーザ端末登録情報を検索することにより抽出した前記端末収容位置を取得し、前記取得した端末収容位置に基づき、前記着端末を収容するスイッチを介して、前記端末から前記着端末へのデータ転送を行うことを特徴とするデータ通信システムとした。
【００１６】
また、請求項４に記載の発明は、端末を収容する複数のスイッチと、前記複数のスイッチ間に構築され、物理ネットワーク上にスライスとして設定される複数の仮想ネットワークと、前記端末の端末識別子に対応付けて、当該端末を収容する前記スイッチのネットワーク上の位置を示す端末収容位置を格納するユーザ端末登録情報を記憶しており、前記仮想ネットワーク単位に設けられるネットワークコントローラのそれぞれと、前記仮想ネットワークを識別する仮想ネットワーク番号に対応付けて、当該仮想ネットワークに設けられる前記ネットワークコントローラのネットワーク上の位置を示すネットワークコントローラ位置を格納するコントローラ位置管理情報を記憶するネットワークコントローラ管理装置と、を備えるデータ通信システムのデータ通信方法であって、前記端末を収容するスイッチが、前記端末から当該端末が属する仮想ネットワークの前記仮想ネットワーク番号を取得し、当該仮想ネットワーク番号を前記ネットワークコントローラ管理装置に送信するステップを実行し、前記ネットワークコントローラ管理装置が、受信した前記仮想ネットワーク番号を用いて前記コントローラ位置管理情報を検索することにより、前記ネットワークコントローラ位置を抽出して、前記端末を収容するスイッチに送信するステップを実行し、前記端末を収容するスイッチが、受信した前記ネットワークコントローラ位置に基づき、前記端末の通信先となる着端末の端末識別子を、当該端末が属する仮想ネットワークに設けられたネットワークコントローラに送信するステップを実行し、当該ネットワークコントローラが、受信した前記着端末の端末識別子を用いて前記ユーザ端末登録情報を検索することにより、前記端末収容位置を抽出して、前記端末を収容するスイッチに送信するステップを実行し、前記端末を収容するスイッチが、受信した前記端末収容位置に基づき、前記着端末を収容するスイッチを介して、前記端末から前記着端末へのデータ転送を行うステップを実行することを特徴とするデータ通信方法とした。
【００１７】
このように、仮想ネットワーク単位にネットワークコントローラを設けることにより、データ通信システムでは、従来技術のように、１つのネットワークコントローラにアクセスが集中することがなく、仮想ネットワーク毎に設けたネットワークコントローラに分散して、着端末を収容するスイッチのアドレス解決処理を実行することができる。
よって、ネットワークコントローラへのアクセス集中を抑制し、仮想ネットワークを用いた多様なサービスを柔軟に提供することができる。
【００１８】
請求項２に記載の発明は、前記端末を収容するスイッチが、前記端末から当該端末の端末識別子を取得すると、当該端末の端末識別子を、当該端末が属する仮想ネットワークに設けられたネットワークコントローラに送信し、当該ネットワークコントローラが、当該端末の端末識別子を用いて前記ユーザ端末登録情報を検索し、当該端末の端末識別子が登録されていることにより認証が成功した場合のみ、前記着端末を収容するスイッチの前記端末収容位置を取得できることを特徴とする請求項１に記載のデータ通信システムとした。
【００１９】
このように、仮想ネットワーク単位に設けた複数のネットワークコントローラに認証機能を分散して備えることにより、１つの認証（Radius）サーバにアクセスが集中することを抑制することができる。
【００２０】
請求項３に記載の発明は、前記コントローラ位置管理情報を記憶する前記ネットワークコントローラ管理装置を複数備えることを特徴とする請求項１または請求項２に記載のデータ通信システムとした。
【００２１】
このように、ネットワークコントローラ管理装置を複数備えることにより、各スイッチからのアクセスを分散させて、１つのネットワークコントローラ管理装置の処理件数を抑制することが可能となる。
【発明の効果】
【００２２】
本発明によれば、ネットワークコントローラへのアクセス集中を抑制し、仮想ネットワークを用いた多様なサービスを柔軟に提供することを可能とする、データ通信システムおよびデータ通信方法を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本実施形態に係るデータ通信システムの構成を示す図である。
【図２】本実施形態に係るスイッチの構成例を示す機能ブロック図である。
【図３】本実施形態に係るネットワークコントローラ管理装置の構成例を示す機能ブロック図である。
【図４】本実施形態に係るネットワークコントローラの構成例を示す機能ブロック図である。
【図５】本実施形態に係るデータ通信システムの処理の流れを示すシーケンス図である。
【図６】本実施形態に係るデータ通信システムを適用した事例を示す図である。
【図７】従来のOpenFlowの技術において、パケットを転送する場合のアドレス解決手法を説明するための図である。
【図８】従来のネットワーク通信を行う際の各端末の認証手法を説明するための図である。
【図９】本発明の課題を説明するための図である。
【発明を実施するための形態】
【００２４】
次に、本発明を実施するための形態（以下、「本実施形態」と称する。）における、データ通信システム１等について説明する。
図１は、本実施形態に係るデータ通信システム１の構成を示す図である。
図１に示すデータ通信システム１は、図７に示したデータ通信システム１Ａと比べ、ネットワークコントローラ１０Ａ（図７）を１つ備えるのではなく、仮想ネットワーク（Slice）単位にネットワークコントローラ（ＮＷＣ）１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）を備えること、さらに、ネットワークコントローラ管理装置（ＮＷＣ管理装置）３０を備えることを特徴とする。以下詳細に説明する。
【００２５】
＜データ通信システムの構成＞
図１に示すように、データ通信システム１は、通信元ユーザの端末２（発端末２ａ）を収容するスイッチ２０（２０ａ）と、通信先ユーザの端末２（着端末２ｂ）を収容するスイッチ２０（２０ｂ）と、スイッチ２０（スイッチ２０ａ―スイッチ２０ｂ）間において、物理ネットワーク５上に設定される複数の仮想ネットワーク５０（Slice「１」，Slice「２」，…Slice「Ｎ」）と、各仮想ネットワーク（Slice）に対応して設けられるネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）と、各仮想ネットワーク（Slice）のネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）それぞれの位置情報を管理するネットワークコントローラ管理装置３０と、を備えて構成される。
【００２６】
スイッチ２０には、自身が収容する端末２が属する仮想ネットワーク（Slice）５０を記憶し、当該仮想ネットワーク５０での通信を制御するアクセス処理部２１０が、アクセスポイント（例えば、ポートやアソシエーションであり、詳細は後記する。）毎に設けられる。そして、アクセス処理部２１０が、収容する端末２の属する仮想ネットワーク（Slice）５０に対応するネットワークコントローラ１０の位置情報を、ネットワークコントローラ管理装置３０に問い合わせ、その問い合わせの結果により取得した位置情報を用いて、その仮想ネットワーク（Slice）を担当するネットワークコントローラ１０に対して、ユーザ認証や、アドレス解決処理を行うことを特徴とする。
これにより、本実施形態に係るデータ通信システム１では、１つのネットワークコントローラにアクセスが集中することがなく、仮想ネットワーク（Slice）毎に設けたネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）に分散して、ユーザ認証やアドレス解決処理を実行することができる。よって、ネットワークコントローラへのアクセス集中を抑制し、仮想ネットワークを用いた多様なサービスを柔軟に提供することができる。
なお、本実施形態に係るデータ通信システム１においては、それぞれの仮想ネットワーク（Slice）５０内での通信を前提とし、異なる仮想ネットワーク（Slice）５０間の通信は対象としていない。
以下、データ通信システム１を構成する各装置について、具体的に説明する。
【００２７】
＜スイッチ＞
図２は、本実施形態に係るスイッチ２０の構成例を示す機能ブロック図である。
スイッチ２０は、収容する端末２の位置情報等（後記する、端末識別子、端末収容位置）を、その端末２が属する仮想ネットワーク（Slice）５０に対応するネットワークコントローラ１０に登録する。その際、スイッチ２０は、ネットワークコントローラ管理装置３０に問い合わせることにより、その端末２が属する仮想ネットワーク５０のネットワークコントローラ１０の位置情報を取得する。また、スイッチ２０は、その端末２が属する仮想ネットワーク（Slice）５０を記憶するとともに、その仮想ネットワーク５０に対応するネットワークコントローラ１０から通信先となる端末２を収容するスイッチ２０（２０ｂ）の位置情報（端末収容位置）を取得することにより、データ転送を行う。
このスイッチ２０は、図２に示すように、制御部２１と、通信部２２と、記憶部２３とを含んで構成される。
【００２８】
通信部２２は、ネットワークを介して通信接続される、ネットワークコントローラ管理装置３０や、各仮想ネットワーク（Slice）５０に対応して設けられるネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）との間の情報の入出力を行う。この通信部２２は、通信回線を介して情報の送受信を行う不図示の通信インタフェースから構成される。
【００２９】
記憶部２３は、ハードディスクやフラッシュメモリ、ＲＡＭ（Random Access Memory）等により構成される。
この記憶部２３には、ネットワークコントローラ管理装置位置２３１および端末収容位置２３２が予め格納される。ここで、ネットワークコントローラ管理装置位置２３１には、ネットワークコントローラ管理装置３０の位置情報（例えば、ＩＰアドレス等）が格納される。また、端末収容位置２３２には、そのスイッチ２０自身の位置情報としてＩＰアドレス（Outer IP）等が格納される。
【００３０】
制御部２１は、各仮想ネットワーク（Slice）５０での通信を制御するアクセス処理部２１０が、アクセスポイント（不図示）毎に設けられる。このアクセスポイントは、有線若しくは無線により物理的・論理的に接続されるインタフェースを意味し、例えば、物理的若しくは論理的（仮想）なポートのポート番号や無線通信におけるアソシエーションの際に用いるＳＳＩＤ（Service Set Identifier）等により識別される。各アクセス処理部２１０は、このポートやアソシエーション等により識別されるアクセスポイントを、そのアクセスポイントにおいて接続する端末２に対応付けて記憶する。
ここでは、図２に示す、１つのアクセスポイントに対応するアクセス処理部２１０（２１０−１）を例として説明する。
なお、この制御部２１は、例えば、記憶部２３に格納されたプログラムを不図示のＣＰＵ（Central Processing Unit）がＲＡＭに展開し実行することで実現される。
【００３１】
アクセス処理部２１０は、図２に示すように、アクセス受付部２１１、コントローラ位置要求部２１２、位置登録要求部２１３、通信先ユーザ検索要求部２１４、データ転送部２１５、および、バッファメモリ２１６を備える。
【００３２】
アクセス受付部２１１は、通信元ユーザの端末２（発端末２ａ）（図１参照）から、アクセスポイントを介して、仮想ネットワーク番号、認証情報、端末識別子を含む接続要求を受け付ける。
ここで、仮想ネットワーク番号は、通信元ユーザの端末２（発端末２ａ）が属する仮想ネットワーク（Slice）５０を識別するための番号であり、各端末２に予め格納されているものとする。認証情報は、その端末２（発端末２ａ）における固有な情報であり、例えば、ＭＡＣアドレス、ＩＤ／パスワード、証明書等である。また、端末識別子は、その端末２（発端末２ａ）のＩＰアドレス（Inner IP）等である。
アクセス受付部２１１は、受け付けた接続要求に付された、仮想ネットワーク番号、認証情報、端末識別子の各情報を、そのアクセス処理部２１０に設けられたバッファメモリ２１６に格納する。
【００３３】
コントローラ位置要求部２１２は、記憶部２３に記憶されたネットワークコントローラ管理装置位置２３１に基づき、アクセス受付部２１１が受け付けた接続要求に付された仮想ネットワーク番号の情報を、ネットワークコントローラ（ＮＷＣ）位置要求として、ネットワークコントローラ管理装置３０に送信する。
そして、コントローラ位置要求部２１２は、ネットワークコントローラ管理装置３０から、端末２の属する仮想ネットワークに対応するネットワークコントローラ１０のネットワークコントローラ位置（ＮＷＣ位置）の情報を取得し、バッファメモリ２１６に格納する。
【００３４】
位置登録要求部２１３は、コントローラ位置要求部２１２が取得したネットワークコントローラ位置の情報に基づき、通信元ユーザの認証情報、端末識別子、および、記憶部２３に記憶された端末収容位置２３２の情報を含む位置登録要求を、端末２の属する仮想ネットワーク（Slice）、つまり、仮想ネットワーク番号に対応するネットワークコントローラ１０に送信する。
【００３５】
通信先ユーザ検索要求部２１４は、通信先ユーザの端末２（着端末２ｂ）の端末識別子の情報を含む通信先ユーザ検索要求を、端末２の属する仮想ネットワークに対応するネットワークコントローラ１０に送信する。
そして、通信先ユーザ検索要求部２１４は、当該ネットワークコントローラ１０から、通信先ユーザの端末２（着端末２ｂ）を収容するスイッチ２０（２０ｂ）の端末収容位置の情報を取得する。
【００３６】
データ転送部２１５は、通信元ユーザの端末２（発端末２ａ）から通信先ユーザの端末２（着端末２ｂ）へ送信するデータ内容を取得する。そして、データ転送部２１５は、通信先ユーザ検索要求部２１４が取得したスイッチ２０（２０ｂ）の端末収容位置の情報に基づき、仮想ネットワーク番号、通信先ユーザの端末２（着端末２ｂ）の端末識別子とともにデータ内容を、通信先ユーザの端末２（着端末２ｂ）を収容しているスイッチ２０（２０ｂ）へ送信する（データ転送）。
【００３７】
バッファメモリ２１６は、アクセスポイント毎に設けられるアクセス処理部２１０それぞれに設けられ、データ転送に必要となる一時的な情報を格納する。
【００３８】
このようにすることで、スイッチ２０は、通信元ユーザが属する仮想ネットワーク（Slice）５０に対応したネットワークコントローラ１０の位置情報を、ネットワークコントローラ管理装置３０から取得し、着信先ユーザの端末２を収容するスイッチ２０の端末収容位置をそのネットワークコントローラ１０から取得してデータ転送することが可能となる。この構成によれば、端末２の位置情報の登録や、その仮想ネットワークにおけるサービス機能の追加等を、スイッチ２０が、仮想ネットワーク（Slice）毎に設けられたネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）に分散して実行することが可能となる。
【００３９】
＜ネットワークコントローラ管理装置＞
次に、ネットワークコントローラ管理装置（ＮＷＣ管理装置）３０について説明する。
図３は、本実施形態に係るネットワークコントローラ管理装置３０の構成例を示す機能ブロック図である。
ネットワークコントローラ管理装置３０は、各仮想ネットワーク（Slice）５０に対応するネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）それぞれの位置情報を管理する。
このネットワークコントローラ管理装置３０は、図３に示すように、制御部３１と、通信部３２と、記憶部３３とを含んで構成される。
【００４０】
通信部３２は、ネットワークを介して通信接続される各スイッチ２０との間の情報の入出力を行う。この通信部３２は、通信回線を介して情報の送受信を行う不図示の通信インタフェースから構成される。
【００４１】
記憶部３３は、ハードディスクやフラッシュメモリ、ＲＡＭ等により構成される。
この記憶部３３には、コントローラ位置管理情報３００が格納される。
図３に示すように、コントローラ位置管理情報３００は、仮想ネットワーク（ＮＷ）番号３０１に対応付けて、各仮想ネットワーク５０に対応するネットワークコントローラ（ＮＷＣ）位置３０２が格納される。ネットワークコントローラ（ＮＷＣ）位置３０２は、仮想ネットワーク（Slice）毎に設けられたネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）それぞれの位置情報（例えば、ＩＰアドレス等）である。
図３に示すように、例えば、仮想ネットワーク（ＮＷ）番号３０１が〔Slice「１」〕の情報に対応付けて、その仮想ネットワーク（Slice）５０のネットワークコントローラ（ＮＷＣ）位置３０２として〔ＮＷＣ「１」〕が格納される。
【００４２】
制御部３１は、ネットワークコントローラ管理装置３０全体の制御を司り、コントローラ位置検索部３１１を含んで構成される。
なお、この制御部３１は、例えば、記憶部３３に格納されたプログラムを不図示のＣＰＵがＲＡＭに展開し実行することで実現される。
【００４３】
コントローラ位置検索部３１１は、スイッチ２０から仮想ネットワーク番号の情報が付されたネットワークコントローラ（ＮＷＣ）位置要求を受信する。そして、コントローラ位置検索部３１１は、仮想ネットワーク番号を用いてコントローラ位置管理情報３００を検索し、仮想ネットワーク番号３０１に対応するネットワークコントローラのネットワークコントローラ（ＮＷＣ）位置３０２の情報を抽出する。コントローラ位置検索部３１１は、抽出したネットワークコントローラ（ＮＷＣ）位置３０２の情報を、接続要求を送信してきたスイッチ２０に返信する。
【００４４】
このようにすることで、ネットワークコントローラ管理装置３０は、仮想ネットワーク（Slice）５０毎に設定されたネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）それぞれの位置情報を、各スイッチ２０の問い合わせに応じて、返信することが可能となる。
なお、このネットワークコントローラ管理装置３０は、図１に示すように１台設置されてもよいし、後記する図６に示すように、同一のコントローラ位置管理情報３００を備える複数台のネットワークコントローラ管理装置３０Ｃとして実現してもよい。
【００４５】
＜ネットワークコントローラ＞
次に、ネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）について説明する。
図４は、本実施形態に係るネットワークコントローラ１０の構成例を示す機能ブロック図である。
ネットワークコントローラ１０は、仮想ネットワーク（Slice）５０単位に設けられ、その仮想ネットワーク５０に属する端末２の認証（ユーザ認証）や、端末２の位置情報の登録、通信先ユーザの端末２（着端末２ｂ）を収容するスイッチ２０の端末収容位置の検索等を実行する。
このネットワークコントローラ１０は、図４に示すように、制御部１１と、通信部１２と、記憶部１３とを含んで構成される。
【００４６】
通信部１２は、ネットワークを介して通信接続される各スイッチ２０との間の情報の入出力を行う。この通信部１２は、通信回線を介して情報の送受信を行う不図示の通信インタフェースから構成される。
【００４７】
記憶部１３は、ハードディスクやフラッシュメモリ、ＲＡＭ等により構成される。
この記憶部１３には、ユーザ端末登録情報１００が格納される。
図４に示すように、ユーザ端末登録情報１００は、端末２の認証情報１０１に対応付けて、端末収容位置１０２、端末識別子１０３、および、付加情報１０４が格納される。
ここで、認証情報１０１は、その端末２における、ＭＡＣアドレス、ＩＤ／パスワード、証明書等が格納される。端末収容位置１０２には、その端末２を収容するスイッチ２０ＡのＩＰアドレス（Outer IP）等が格納される。端末識別子１０３には、その端末２のＩＰアドレス（Inner IP）等が格納される。付加情報１０４には、そのネットワークコントローラ１０が属する仮想ネットワーク（Slice）５０を利用したサービスにおいて、端末２毎に設定する付加情報が登録される。例えば、そのサービスについて、利用地域の制限を登録したり、利用時間の制限を登録したりする。また、追加するサービスの機能を登録したりする。
【００４８】
なお、ユーザ端末登録情報１００の各項目のうち、認証情報１０１は、当該仮想ネットワーク（Slice）５０の登録情報として予め設定される情報である。その他、端末収容位置１０２、端末識別子１０３は、後記するようにスイッチ２０からの位置登録要求に基づき格納される。また、付加情報１０４は、例えば、仮想ネットワーク全体を管理する管理サーバ（不図示）等により登録される。
【００４９】
制御部１１は、ネットワークコントローラ１０全体の制御を司り、ユーザ位置登録部１１１およびユーザ収容位置検索部１１２を含んで構成される。
なお、この制御部１１は、例えば、記憶部１３に格納されたプログラムを不図示のＣＰＵがＲＡＭに展開し実行することで実現される。
【００５０】
ユーザ位置登録部１１１は、通信元ユーザの端末２（発端末２ａ）を収容するスイッチ２０（２０ａ）から、通信元ユーザの認証情報、端末識別子、および端末収容位置の情報を含む位置登録要求を受信する。そして、ユーザ位置登録部１１１は、まず、通信元ユーザの認証情報に基づき、ユーザ端末登録情報１００を参照することにより、ユーザ認証を行う。つまり、ユーザ位置登録部１１１は、受信した位置登録要求に含まれる通信元ユーザの認証情報がユーザ端末登録情報１００に登録されているか否かを確認する。
【００５１】
続いて、ユーザ位置登録部１１１は、ユーザ認証の結果、ユーザ端末登録情報１００の認証情報１０１に通信元ユーザの認証情報が登録されている場合に、受信した位置登録要求に付されたその通信元ユーザの端末識別子、および、その端末２を収容するスイッチ２０（２０ａ）の端末収容位置を、当該認証情報１０１に対応付けて、ユーザ端末登録情報１００の端末収容位置１０２および端末識別子１０３に登録する（図４参照）。
【００５２】
ユーザ収容位置検索部１１２は、通信元ユーザの端末２（発端末２ａ）を収容するスイッチ２０（２０ａ）から、通信先ユーザの端末２（着端末２ｂ）の端末識別子の情報を含む通信先ユーザ検索要求を受信する。そして、ユーザ収容位置検索部１１２は、通信先ユーザの端末２（着端末２ｂ）の端末識別子を用いてユーザ端末登録情報１００を検索し、通信先ユーザの端末２の端末識別子に対応する、通信先ユーザの端末２を収容するスイッチ２０（２０ｂ）の端末収容位置１０２の情報を抽出する。ユーザ収容位置検索部１１２は、抽出した端末収容位置１０２の情報を、通信先ユーザ検索要求を送信してきたスイッチ２０（２０ａ）に返信する。
【００５３】
このようにすることで、各ネットワークコントローラ１０（ＮＷＣ１０−１，１０−２，…，１０−Ｎ）は、自身が属する仮想ネットワーク（Slice）５０に属する端末２についての、ユーザ認証やアドレス解決を行うのみでよい。また、その仮想ネットワーク（Slice）５０を用いて行うサービスについての付加情報の設定も、仮想ネットワーク５０内で閉じたネットワークコントローラ１０において行うことができるため、管理が複雑にならず、サービスの追加や変更に柔軟に対応することが可能となる。
【００５４】
≪処理の流れ≫
次に、本実施形態に係るデータ通信システム１が実行する処理の流れについて説明する。
図５は、本実施形態に係るデータ通信システム１の処理の流れを示すシーケンス図である。
【００５５】
まず、通信元ユーザの端末２（発端末２ａ）を収容するスイッチ２０（２０ａ）のアクセス受付部２１１が、発端末２ａからアクセスポイントを介して、発端末２ａが属する仮想ネットワーク（Slice）５０の仮想ネットワーク番号、発端末２ａの認証情報、発端末２ａの端末識別子を含む接続要求を受け付ける（ステップＳ１０）。
例えば、スイッチ２０ａは、図１に示すように、仮想ネットワーク（ＮＷ）番号〔Slice「２」〕、認証情報〔ユーザ「２」〕、端末識別子〔10.10.10.1〕を含む接続要求を受け付けたものとする。
スイッチ２０ａのアクセス受付部２１１は、接続要求に付された、仮想ネットワーク番号、認証情報、端末識別子の各情報を、そのアクセス処理部２１０に設けられたバッファメモリ２１６に格納する。
【００５６】
次に、スイッチ２０（２０ａ）のコントローラ位置要求部２１２は、記憶部２３に記憶されたネットワークコントローラ管理装置位置２３１に基づき、アクセス受付部２１１が受け付けた接続要求に付された仮想ネットワーク番号の情報（ここでは、〔Slice「２」〕）を、ネットワークコントローラ（ＮＷＣ)位置要求として、ネットワークコントローラ管理装置（ＮＷＣ管理装置）３０に送信する（ステップＳ１１）。
【００５７】
続いて、ネットワークコントローラ（ＮＷＣ）位置要求を受信したネットワークコントローラ管理装置３０のコントローラ位置検索部３１１は、ネットワークコントローラ（ＮＷＣ）位置要求に付された仮想ネットワーク番号を用いてコントローラ位置管理情報３００（図３）を検索し、仮想ネットワーク番号３０１に対応するネットワークコントローラ１０のネットワークコントローラ（ＮＷＣ）位置３０２の情報を抽出する。そして、コントローラ位置検索部３１１は、抽出したネットワークコントローラ（ＮＷＣ）位置３０２の情報を、ネットワークコントローラ（ＮＷＣ)位置要求を送信してきたスイッチ２０ａに送信する（ステップＳ１２）。
ここでは、コントローラ位置検索部３１１が、コントローラ位置管理情報３００（図３）を参照して、仮想ネットワーク（ＮＷ）番号が〔Slice「２」〕に対応するネットワークコントローラ位置として〔ＮＷＣ「２」〕を抽出し、スイッチ２０ａに送信したものとする。
【００５８】
次に、スイッチ２０ａは、ネットワークコントローラ位置の情報を受信すると、位置登録要求部２１３が、そのネットワークコントローラ位置の情報に基づき、通信元ユーザの認証情報、端末識別子、および、記憶部２３に記憶された端末収容位置２３２の情報を含む位置登録要求を、対応する仮想ネットワーク（Slice）５０のネットワークコントローラ１０に送信する（ステップＳ１３）。
ここでは、スイッチ２０ａが、認証情報として〔ユーザ「２」〕、端末識別子として〔10.10.10.1〕、端末収容位置として〔Switch「１」〕を含む位置登録要求を、仮想ネットワーク（ＮＷ）番号が〔Slice「２」〕のネットワークコントローラ１０（ＮＷＣ１０−２）に送信したものとする。
【００５９】
続いて、ネットワークコントローラ１０（１０−２）のユーザ位置登録部１１１は、受信した位置登録要求に付された認証情報を用いて、ユーザ端末登録情報１００（図４）を参照することにより、ユーザ認証を行う。そして、ユーザ位置登録部１１１は、ユーザ認証の結果、ユーザ端末登録情報１００の認証情報１０１に通信元ユーザの認証情報が登録されている場合に、受信した位置登録要求に付されたその通信元ユーザの端末識別子、および、端末２を収容するスイッチ２０（２０ａ）の端末収容位置を、当該認証情報１０１に対応付けて、ユーザ端末登録情報１００に登録する（ステップＳ１４：ユーザ認証およびユーザ位置登録）。
ここでは、図４に示すように、ユーザ位置登録部１１１により、図４のユーザ端末登録情報１００の認証情報１０１が〔ユーザ「２」〕の行（レコード）に、端末収容位置１０２として〔Switch「１」〕、端末識別子１０３として〔10.10.10.1〕が登録される。
そして、ユーザ位置登録部１１１は、登録ＯＫを示す応答情報を、位置登録要求を送信してきたスイッチ２０ａに返信する（ステップＳ１５）。
【００６０】
次に、スイッチ２０ａの通信先ユーザ検索要求部２１４は、通信先ユーザの端末２（着端末２ｂ）の端末識別子の情報を含む通信先ユーザ検索要求を、端末２の属する仮想ネットワーク５０に対応するネットワークコントローラ１０（ここでは、ＮＷＣ１０−２）に送信する（ステップＳ１６）。
ここでは、通信先ユーザの端末２（着端末２ｂ）の端末識別子の情報として「10.10.10.10」を含む通信先ユーザ検索要求が送信されたものとする。
なお、スイッチ２０ａは、通信先ユーザの端末２（着端末２ｂ）の端末識別子の情報を、このステップＳ１６の前のいずれかの時点において、発端末２ａから取得しておいてもよい。また、特定のサービスを対応付けて通信先ユーザの端末２（着端末２ｂ）が特定される場合には、通信先ユーザの端末２（着端末２ｂ）の端末識別子の情報を、スイッチ２０ａが予め保持するようにしてもよい。
【００６１】
続いて、ネットワークコントローラ１０（ここでは、ＮＷＣ１０−２）のユーザ収容位置検索部１１２は、受信した通信先ユーザ検索要求に付された通信先ユーザの端末２（着端末２ｂ）の端末識別子（「10.10.10.10」）を用いてユーザ端末登録情報１００（図４）を検索し、その端末識別子に対応する、通信先ユーザの端末２（着端末２ｂ）を収容するスイッチ２０（２０ｂ）の端末収容位置１０２の情報を抽出する（ステップＳ１７）。
ここでは、通信先ユーザの端末２（着端末２ｂ）を収容するスイッチ２０（２０ｂ）の端末収容位置１０２として、〔Switch「３」〕が抽出されたものとする。
そして、ユーザ収容位置検索部１１２は、抽出した端末収容位置１０２の情報（ここでは、〔Switch「３」〕を、通信先ユーザ検索要求を送信してきたスイッチ２０（２０ａ）の送信する（ステップＳ１８）。
【００６２】
スイッチ２０ａのデータ転送部２１５は、通信元ユーザの端末２（発端末２ａ）から通信先ユーザの端末２（着端末２ｂ）へ送信するデータ内容を取得する（ステップＳ１９）。そして、データ転送部２１５は、ネットワークコントローラ１０（ここでは、ＮＷＣ１０−２）から取得したスイッチ２０（２０ｂ）の端末収容位置の情報に基づき、仮想ネットワーク番号、通信先ユーザの端末２（着端末２ｂ）の端末識別子とともに取得したデータ内容を、通信先ユーザの端末２（着端末２ｂ）を収容しているスイッチ２０（２０ｂ）へ送信する（ステップＳ２０：データ転送）。そして、スイッチ２０（ｂ）が、通信先ユーザの端末２（２ｂ）にそのデータ内容を送信する（ステップＳ２１：データ転送）。
【００６３】
このように、大規模ネットワークにおいて、ネットワークコントローラを仮想ネットワーク（Slice）単位に分割して配置することにより、ネットワークスケールの拡大（例えば、ユーザ数やエリア数、Slice数の拡大）においてネットワークコントローラがネック（障害）となることを解消することができる。これにより、多様なサービス機能をユーザに柔軟に提供することが可能となり、ユーザの利便性を向上させることができる。
【００６４】
図６は、本実施形態に係るデータ通信システム１を適用した事例を示す図である。
図６に示すように、全国規模のキャリアネットワークが、複数の仮想ネットワーク（Slice）５０で構成されており、これらの仮想ネットワーク（Slice）５０単位に、インターネットあるいはプロバイダネットワークにおいて、ネットワークコントローラ（ＮＷＣ）１０が設置されている。
このように、キャリアネットワークを運営する通信事業者が、例えば、仮想ネットワーク（Slice）５０単位で、企業（例えば、サービス提供事業者）に１つの仮想ネットワーク５０を提供する場合、当該企業において、ネットワークコントローラ１０を構築すればよい。よって、その企業において、サービスの変更や追加等の開発を柔軟に行うことができる。
【００６５】
なお、ネットワークコントローラ管理装置（ＮＷＣ管理装置）３０は、図６に示すように、初期状態（プライマリ）として、キャリアネットワークに１台設置してもよいし、二次状態（セカンダリ）として、初期状態のネットワークコントローラ管理装置３０のコントローラ位置管理情報３００（図３）を複製（データコピー）した複数のネットワークコントローラ管理装置（ＮＷＣ管理装置）３０Ｃを設置してもよい。これにより、１つのネットワークコントローラ管理装置３０へのアクセス集中を避けることができる。
【符号の説明】
【００６６】
１      データ通信システム
２      端末
２ａ    発端末
２ｂ    着端末
５      物理ネットワーク
１０    ネットワークコントローラ（ＮＷＣ）
１１，２１，３１  制御部
１２，２２，３２  通信部
１３，２３，３３  記憶部
２０    スイッチ
３０    ネットワークコントローラ管理装置（ＮＷＣ管理装置）
１００  ユーザ端末登録情報
１１１  ユーザ位置登録部
１１２  ユーザ収容位置検索部
２１０  アクセス処理部
２１１  アクセス受付部
２１２  コントローラ位置要求部
２１３  位置登録要求部
２１４  通信先ユーザ検索要求部
２１５  データ転送部
２１６  バッファメモリ
２３１  ネットワークコントローラ管理装置位置
２３２  端末収容位置
３００  コントローラ位置管理情報
３１１  コントローラ位置検索部
【図１】
2018117167.tif 000003
【図２】
2018117167.tif 000004
【図３】
2018117167.tif 000005
【図４】
2018117167.tif 000006
【図５】
2018117167.tif 000007
【図６】
2018117167.tif 000008
【図７】
2018117167.tif 000009
【図８】
2018117167.tif 000010
【図９】
2018117167.tif 000011