IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 独立行政法人情報通信研究機構の特許一覧

<>
  • 特開-ネットワーク管理システム 図1
  • 特開-ネットワーク管理システム 図2
  • 特開-ネットワーク管理システム 図3
  • 特開-ネットワーク管理システム 図4
  • 特開-ネットワーク管理システム 図5
  • 特開-ネットワーク管理システム 図6
  • 特開-ネットワーク管理システム 図7
  • 特開-ネットワーク管理システム 図8
  • 特開-ネットワーク管理システム 図9
  • 特開-ネットワーク管理システム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024120522
(43)【公開日】2024-09-05
(54)【発明の名称】ネットワーク管理システム
(51)【国際特許分類】
   H04L 41/0894 20220101AFI20240829BHJP
   G06F 21/60 20130101ALI20240829BHJP
   H04L 41/0895 20220101ALI20240829BHJP
【FI】
H04L41/0894
G06F21/60 340
H04L41/0895
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023027363
(22)【出願日】2023-02-24
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】100120868
【弁理士】
【氏名又は名称】安彦 元
(72)【発明者】
【氏名】森 優輝
(72)【発明者】
【氏名】木全 崇
(72)【発明者】
【氏名】高木 雅裕
(72)【発明者】
【氏名】寺西 裕一
(72)【発明者】
【氏名】河合 栄治
(72)【発明者】
【氏名】永野 秀尚
(57)【要約】
【課題】データリソースへのアクセス制御におけるオーバーヘッドの抑制を可能とするネットワーク管理システムを提供する。
【解決手段】データリソースへのアクセス制御を行なうネットワーク管理システム100であって、データリソースと、データリソースにアクセスする複数の計算機2と、複数の計算機2に接続された複数のエッジゲートウェイ3と、複数のエッジゲートウェイ3に接続されたコントローラー1と、を備え、データポリシー4を保存する保存手段と、データポリシー4を参照し、エッジゲートウェイ3間に仮想ネットワーク5及び仮想ネットワーク5に接続するインタフェースを生成する仮想ネットワーク構成手段とを含むこと特徴とする。
【選択図】図1
【特許請求の範囲】
【請求項1】
データリソースへのアクセス制御を行なうネットワーク管理システムであって、
前記データリソース、及び前記データリソースにアクセスするアクセス主体を含む複数の計算機と、
複数の前記計算機に接続された複数のエッジゲートウェイと、
複数の前記エッジゲートウェイに接続されたコントローラーと、
を備え、
前記コントローラーは、
前記計算機の特徴を示す属性に基づき定義されたデータポリシーを保存する保存手段と、
前記データポリシーに基づき、複数の前記エッジゲートウェイ間に仮想ネットワークを生成する仮想ネットワーク構成手段と、
を含むこと
を特徴とするネットワーク管理システム。
【請求項2】
前記コントローラーは、前記データポリシーを参照し、前記仮想ネットワークを介して前記データリソースにアクセスするためのインタフェースを生成し、前記インタフェースを介して、前記データポリシーに紐づく属性を有する計算機と、前記仮想ネットワークとを接続する制御手段をさらに含むこと
を特徴とする請求項1記載のネットワーク管理システム。
【請求項3】
前記保存手段に保存される前記データポリシーは、
前記データリソースの特徴を示すリソース属性と、前記アクセス主体の特徴を示す主体属性とを属性条件とし、複数の前記属性条件の集合であること
を特徴とする請求項1記載のネットワーク管理システム。
【請求項4】
前記仮想ネットワーク構成手段は、
前記保存手段に保存された前記データポリシーを参照し、前記属性条件の包含関係に基づいて前記仮想ネットワーク間を接続し、前記接続の結果に基づいて、前記仮想ネットワークの経路を追加、または削除すること
を特徴とする請求項3記載のネットワーク管理システム。
【請求項5】
前記仮想ネットワーク構成手段は、
前記保存手段に保存された前記データポリシーを参照し、前記データポリシーに変更があった場合に、前記変更に基づいて前記仮想ネットワークの経路を追加、または削除すること
を特徴とする請求項1記載のネットワーク管理システム。
【請求項6】
前記コントローラーは、前記データリソースと前記アクセス主体において新たにデータ処理を開始する場合に、複数の前記計算機の中から前記データ処理に対応する特定の計算機を決定し、前記特定の計算機と、前記仮想ネットワークとを接続するプロセッサー配備手段を、さらに備えること
を特徴とする請求項2記載のネットワーク管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワーク管理システムに関する。
【背景技術】
【0002】
近年、IoTのデータ処理を扱うエッジコンピューティング(IoTエッジコンピューティング)の台頭に伴い、エッジネットワーク、すなわち、家庭内や組織内のローカルネットワークに接続されたリソース(センサー機器、モバイル端末、サーバー機器等)や、それらに保存されたデータの活用が進んでいる。
【0003】
特に、産業応用におけるIoTエッジコンピューティングにおいては、生成されるデータは機密性やプライバシーを保持する観点で、その利用方法や保管位置に制約があるデータポリシーが設定される。この場合、データの加エレベルに合わせたアクセス権限の設定やデータ種別に応じたデータ流通の範囲の限定を行う必要があり、管理の手間を軽減しつつ細かい粒度でのアクセス制御設定を可能とする「属性」に基づくデータへのアクセス制御方法(ABAC:Attributed Based Access Control。以降ABACとする)が多数提案されている。
【0004】
例えばエッジコンピューティングにおいては、機密情報やプライバシー情報が含まれないようにデータを加工すれば、情報漏洩リスクが低減されることとなる。そのため、幅広いアプリケーションへ提供するデータポリシーとして設定することができる。産業応用の例としては、例えば工場内の機器のセンサーデータをエッジネットワーク内のサーバーで加工し、結果のみ送信することで、工場外のネットワークヘセンサーデータを出さずに機器の稼働状況を関連企業へ提供・活用するクラウド上のサービスを実現することができるようになる。
【0005】
一方、工場内の機器のセンサーデータそのものは、企業の機密を含む場合が多いため、企業外のネットワークヘデータが漏洩しないよう、データポリシーを設定する必要がある。また、EUのデータ保護規制GDPR(General Data Protection Regulation)では、例えば加盟国の経済領域内で取得した個人データは、原則上物理的に同領域内で処理する規制が設けられているため、こうした規制に対応するデータポリシーとして設定する必要がある。
【0006】
例えば従来のクラウドシステムにおいて、細かい粒度での制御を保ちつつ、管理の手問を軽減するための属性に基づくリソース(データを提供するプロセスが稼働する機器やサーバー)へのアクセス制御方法であるABAC、またはRBAC(Roll-Based Access Control。以降、RBACとする)については、例えば非特許文献1に開示されている。また、クラウドコンピューティングにおいては、属性や権限を管理するクラウド上の認証サーバーを用いて認証・認可を行い、ABACによるアクセス制御を実施する方法については、例えば非特許文献2に開示されている。また、クラウド上でのIoTのデータ処理を行う際、ABCC(Attributed-Based Communication Control。以降、ABCCとする)と呼ばれるゲートウェイがIoTのデータフローに対し、ABACに基づいてアクセス制御を実施する方法については、例えば非特許文献3に開示されている。また、認証サーバーに依存せず、属性に基づくデータアクセスを、属性暗号を用いて制御する方法であるABE(ABE:Attribute-Based Encryption。以降ABEとする)については、例えば非特許文献4、5に開示されている。また、アクセス制御を、アクセスの都度に認証するのではなく、アクセス主体が実行可能な操作に対してトークン、またはチケットを割り当て、各リソースにおいて割り当てられたトークンを確認する方法のCapBAC(CapBAC:Capability-Based Access Control。以降CapBACとする)については、例えば非特許文献6に開示されている。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】E. Yuan and J. Tong, Attributed Based Access Control(ABAC)for Web Services, IEEE International Conference on Web Services, 2005
【非特許文献2】V. Goyal, O. Pandey, A. Sahai, and B. Waters, Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data, Proceedings of the 13th ACM conference on Computer and communications security, p.89-98(2006)
【非特許文献3】B. Waters, Ciphertext-Policy Attribute-Based Encryption: An Expressive, Efficient, and Provably Secure Realization, Public Key Cryptography-PKC 2011: 14th International, p.53-70(2011)
【非特許文献4】Q. Zhou, M. Elbadry, F. Ye, and Y. Yang, Heracles: Scalable, Fine-Grained Access Control for Internet-of-Things in Enterprise Environments, IEEE INFOCOM 2018 IEEE Conference on Computer Communications, p.1772-1780(2018)
【非特許文献5】S. Dougherty, R. Tourani, G. Panwar, R. Vishwanathan, S. Misra, and S. Srikanteswara, APECS: A distributed access control framework for pervasive edge computing services, Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, p.1405-1420(2021)
【非特許文献6】L. Hao, V. Naik, and H. Schulzrinne, DBAC: Directory-Based Access Control for Geographically Distributed IoT Systems, IEEE INFOCOM 2022-IEEE Conference on Computer Communications. IEEE, p.360-369(2022)
【発明の概要】
【発明が解決しようとする課題】
【0008】
ここで、エッジコンピューティングなどの分散システムでは、データの処理・加工を伴うIoTアプリケーションにおいて処理結果に含まれるデータの加工レベルに応じたデータポリシーが必要となる。データへのアクセス制御は、データポリシーに従って制御される。この制御を行うために従来技術を適用すると、クラウド上の管理サーバーとの間で生じる通信遅延や、低性能のデバイス等で行われる暗号処理によって、アクセス制御のオーバーヘッドが生じる課題がある。この点、上述した非特許文献1~6に開示された技術では、課題を解決することが難しい。
【0009】
そこで本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、データリソースへのアクセス制御におけるオーバーヘッドの抑制を可能とするネットワーク管理システムを提供することにある。
【課題を解決するための手段】
【0010】
第1発明に係るネットワーク管理システムは、データリソースへのアクセス制御を行なうネットワーク管理システムであって、前記データリソース、及び前記データリソースにアクセスするアクセス主体を含む複数の計算機と、複数の前記計算機に接続された複数のエッジゲートウェイと、複数の前記エッジゲートウェイに接続されたコントローラーと、を備え、前記コントローラーは、前記計算機の特徴を示す属性に基づき定義されたデータポリシーを保存する保存手段と、前記データポリシーに基づき、複数の前記エッジゲートウェイ間に仮想ネットワークを生成するネットワーク構成手段と、を含むことを特徴とする。
【0011】
第2発明に係るネットワーク管理システムは、第1発明において、前記コントローラーは、前記データポリシーを参照し、前記仮想ネットワークを介して前記データリソースにアクセスするためのインタフェースを生成し、前記インタフェースを介して、前記データポリシーに紐づく属性を有する計算機と、前記仮想ネットワークとを接続する制御手段をさらに含むことを特徴とする。
【0012】
第3発明に係るネットワーク管理システムは、第1発明において、前記保存手段に保存される前記データポリシーは、前記データリソースの特徴を示すリソース属性と、前記アクセス主体の特徴を示す主体属性とを属性条件とし、複数の前記属性条件の集合であることを特徴とする。
【0013】
第4発明に係るネットワーク管理システムは、第3発明において、前記仮想ネットワーク構成手段は、前記保存手段に保存された前記データポリシーを参照し、前記属性条件の包含関係に基づいて前記仮想ネットワーク間を接続し、前記接続の結果に基づいて、前記仮想ネットワークの経路を追加、または削除することを特徴とする。
【0014】
第5発明に係るネットワーク管理システムは、第1発明において、前記仮想ネットワーク構成手段は、前記保存手段に保存された前記データポリシーを参照し、前記データポリシーに変更があった場合に、前記変更に基づいて前記仮想ネットワークの経路を追加、または削除することを特徴とする。
【0015】
第6発明に係るネットワーク管理システムは、第2発明において、前記コントローラーは、前記データリソースと前記アクセス主体において新たにデータ処理を開始する場合に、複数の前記計算機の中から前記データ処理に対応する特定の計算機を決定し、前記特定の計算機と、前記仮想ネットワークとを接続するプロセッサー配備手段を、さらに備えることを特徴とする。
【発明の効果】
【0016】
第1発明~第6発明によれば、保存手段は、計算機の特徴を示す属性に基づき定義されたデータポリシーを保存する。また、仮想ネットワーク構成手段は、保存手段に保存されたデータポリシーを参照し、仮想ネットワークを生成する。このため、例えばクラウド上の管理サーバーとの間で生じる通信遅延や、低性能のデバイス等で行われる暗号処理によって、アクセス制御のオーバーヘッドが生じる可能性を抑制できる。これにより、データリソースへのアクセス制御におけるオーバーヘッドを抑制することが可能となる。
【0017】
特に、第2発明によれば、制御手段は、仮想ネットワーク及びインタフェースを介して、アクセス主体によるデータリソースへのアクセスを制御する。このため、データポリシーに基づき、データリソースにアクセスすることができる。これにより、データリソースへのアクセス制御におけるオーバーヘッドを抑制することができ、データリソースへのアクセス制御を向上することが可能となる。
【0018】
特に、第3発明によれば、データポリシーは、データリソースの特徴を示すリソース属性と、アクセス主体の特徴を示す主体属性とを属性条件とし、複数の属性条件の集合となる。このため、仮想ネットワーク構成手段は、データポリシーを参照し、仮想ネットワーク及びインタフェースを生成することができる。これにより、複数の属性条件に基づいたデータリソースへのアクセス制御におけるオーバーヘッドを抑制することが可能となる。
【0019】
特に、第4発明によれば、ネットワーク構成手段は、データポリシーを参照し、属性条件の包含関係に基づいて仮想ネットワーク間を接続する。このため、接続の結果に基づいて、仮想ネットワークの経路を追加、または削除することができる。これにより、データリソースが接続する仮想ネットワークの数を少なく保ちつつ、データリソースへのアクセス制御におけるオーバーヘッドを抑制することが可能となる。
【0020】
特に、第5発明によれば、仮想ネットワーク構成手段は、データポリシーを参照する。このため、データポリシーに変更があった場合に、変更に基づいて仮想ネットワークの経路を追加、または削除することができる。これにより、データポリシーの変更を反映しつつ、データリソースへのアクセス制御におけるオーバーヘッドを抑制することが可能となる。
【0021】
特に、第6発明によれば、コントローラーは、プロセッサー配備手段をさらに備える。このため、複数の計算機の中からデータ処理に対応する特定の計算機を決定し、特定の計算機と、仮想ネットワークとを接続することができる。これにより、データ処理を行う計算機を適切に選択しつつ、データリソースへのアクセス制御におけるオーバーヘッドを抑制することが可能となる。
【図面の簡単な説明】
【0022】
図1図1は、本実施形態におけるネットワーク管理システムの一例を示す模式図である。
図2図2は、本実施形態におけるネットワーク管理システムと他のアクセス制御モデルの対比の一例を示す模式図である。
図3図3は、本実施形態におけるネットワーク管理システムのレイヤ構造の一例を示す模式図である。
図4図4(a)は、本実施形態におけるネットワーク管理システムの構成の一例を示す模式図であり、図4(b)は、本実施形態におけるネットワーク管理システムの機能の一例を示す模式図である。
図5図5(a)は、本実施形態におけるユースケースシナリオの一例を示す模式図である。図5(b)は、本実施形態における属性条件の集合の一例を示す模式図である。
図6図6(a)、及び(b)は、本実施形態におけるネットワーク管理システムの動作の一例を示すフローチャートである。
図7図7(a)は、本実施形態におけるネットワーク管理システムの構成の一例を示すアルゴリズムである。図7(b)は、本実施形態におけるネットワーク管理システムの機能の一例を示すアルゴリズムである。
図8図8(a)、及び(b)は、本実施形態におけるアルゴリズムの一例を示す疑似コードである。
図9図9は、本実施形態によるエッジコンピューティング環境の一例を示す一覧表である。
図10図10(a)は、Cloudにおける手法における実験評価の一例を示す結果である。図10(b)は、CapBACにおける手法における実験評価の一例を示す結果である。図10(c)は、本実施形態におけるネットワーク管理システムのCLBACにおける手法における実験評価の一例を示す結果である。
【発明を実施するための形態】
【0023】
以下、本発明を適用した実施形態におけるネットワーク管理システムの一例について、図面を参照しながら説明する。
【0024】
図1を参照して、本実施形態におけるネットワーク管理システム100、及びコントローラー1の一例について説明する。ネットワーク管理システム100は、例えばABACをIoTエッジコンピューティング環境で実現するアクセス制御モデル(CLBAC:Cross-Layer Based Control。以降、CLBACとする)である。ネットワーク管理システム100は、例えばCLBACによりABACによって定義されたデータポリシー4に従ったネットワークポリシーを持つ仮想ネットワーク5(Virtual Network)を生成することでアクセス制御を行う。
【0025】
ネットワーク管理システム100は、データリソースへのアクセス制御を行なうシステムであって、データリソースへのアクセス制御を行なうコントローラー1と、データリソース、及びデータリソースにアクセスするアクセス主体を含む複数の計算機2と、複数の計算機2に接続された複数のエッジゲートウェイ3とにより構成される。コントローラー1は、複数のエッジゲートウェイ3に接続される。
【0026】
ネットワーク管理システム100には、例えば複数のエッジゲートウェイ3、及びそれらに対してCLBACの制御を実施するコントローラー1(CLC:Cross-Layer Controllerと呼ぶ)が接続される制御プレーン(Control Plane)が存在する。エッジゲートウェイ3は、基本的にはエッジネットワークと外部ネットワークとの境界に設置される。エッジゲートウェイ3間には、データの送受信を扱うデータプレーン(Data Plane)の物理ネットワークが存在し、エッジゲートウェイ3配下には複数の計算機2(computer)が接続される。計算機2は、例えばデータ提供プロセスや処理プロセスが動作するエッジサーバーや、IoTデバイスそのもの、スマートフォンなどに対応する。
【0027】
ネットワーク管理システム100では、処理プロセスを実行するエッジサーバーはエッジゲートウェイ3が動作する。コントローラー1は、例えばエッジゲートウェイ3を介して、同サーバー上の処理プロセスの配備、起動、実行を制御する。コントローラー1は、例えばマイクロサービスとして各種の処理プロセスを動作するようにしてもよい。マイクロサービスのプログラム(コード)は、例えば十分に検証され、承認されていることを前提としてもよく、さらにエッジゲートウェイ3を含むネットワーク装置は、例えば信頼でき(不正動作を行わない)、エッジゲートウェイ3、およびエッジゲートウェイ3間を接続するネットワークは正しく動作するものとしてもよい。
【0028】
仮想ネットワーク5は、例えば計算機2に接続された複数のエッジゲートウェイ3間に生成される。センサーデータに対するアクセスは、コントローラー1が各アクセス主体に対して許可するデータ操作を設定する。そして生成された仮想ネットワーク5に対するアクセス制御が行われる。このため、例えば仮想ネットワーク5への接続を設定されていない計算機は、生成された仮想ネットワーク5に接続できないことになる。
【0029】
ネットワーク管理システム100では、仮想ネットワーク5のネットワークレイヤ(Network Layer)の上位に、構成要素6(entity)が保存されるプラットフォームレイヤ(Platform Layer)、データポリシーが保存されるデータレイヤ(Data Layer)が存在する。仮想ネットワーク5が接続するプラットフォームレイヤの構成要素6(entity)については後述する。
【0030】
次に、図2を参照して、本実施形態におけるネットワーク管理システム100のアクセス制御モデルと、他の公知のアクセス制御モデルの対比の一例について説明する。図2の(a)ABAC/RBAC、および(b)CapBACは、公知のアクセス制御モデルであり、(c)CLBACは、ネットワーク管理システム100におけるアクセス制御モデルである。
【0031】
まず(a)ABAC/RBACは、例えば属性暗号による実現を行なうものであり、各リソースはアクセスを許可する属性(RBACではrole)リストに応じた鍵を用いてデータの暗号化を行い、権限を持つアクセス主体(ユーザやプロセス)が復号できることを特徴としている。次に(b)CapBACは、例えばアクセス主体が持つ権限(Capability list)に対応するトークンをリソースが検証し、データへのアクセス許可を与えることを特徴とする。そして(c)CLBACは、許可される属性を持つアクセス主体が、対応する仮想ネットワーク5へ接続できるか否か(ネットワークポリシー)によってアクセス制御を実現することを特徴とする。
【0032】
ネットワーク管理システム100におけるアクセス制御モデルである(c)CLBACは、(a)ABAC/RBAC、および(b)CapBACと比較して、例えばデータポリシー4の制御がネットワークポリシーの制御に変換されるため、OSやネットワーク機器が有する基本機能(iptables、eBPF等)によりアクセス制御を実施でき、性能が向上すること、アクセス制御対象の集合の包含関係が、ネットワークのルーティングに置き換わること、アクセス主体が許可される地理的範囲を外れる場合はルーティングされず、データの流通範囲を制御できること、などの効果がある。さらに(c)CLBACは、SDN(Software Defined Network)をべースとした境界型セキュリティの1つとみなしてもよい。
【0033】
次に、図3を参照して、本実施形態におけるネットワーク管理システム100のレイヤ構造の一例について説明する。図3に示すCLBACの階層構造は、例えばデータレイヤ(Data Layer)、プラットフォームレイヤ(Platform Layer)、ネットワークレイヤ(Network Layer)の3階層の構造となる。CLBACは、例えばデータレイヤのデータポリシー4をネットワークレイヤのネットワークポリシーにマッピングする。CLBACはSDNコントローラーの機能を含み、CLCはデータレイヤからネットワークレイヤまで統合する管理・制御を行う機能を含むようにしてもよい。またCLCは、各データに付与されたデータポリシー4に合わせた仮想的ネットワークを生成し、仮想ネットワーク5との接続関係を制御する。さらにCLCは、プラットフォームレイヤにおいて実行すべき処理プロセスの配置決定・動作指示を行う。
【0034】
(コントローラー1:CLC)
次に、図4を参照して、本実施形態におけるコントローラー1(CLC)の一例について説明する。図4(a)は、本実施形態におけるコントローラー1の構成の一例を示す模式図であり、図4(b)は、本実施形態におけるコントローラー1の機能の一例を示す模式図である。
【0035】
コントローラー1として、例えば各種のIoTデバイス、サーバー機器、パーソナルコンピュータ(PC)等の電子機器が用いられるほか、例えばスマートフォン、タブレット型端末、ウェアラブル端末、IoT(Internet of Things)デバイス等の電子機器、Raspberry Pi(登録商標)等のシングルボードコンピュータが用いられてもよい。また、コントローラ-1は、例えばコントローラー1自体がクラウド上のサーバーでもよい。コントローラー1は、例えば図4(a)に示すように、筐体10と、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、保存部104と、I/F105とを備える。各構成101~105は、内部バス110により接続される。
【0036】
CPU101は、コントローラー1全体を制御する。ROM102は、CPU101の動作コードを格納する。RAM103は、CPU101の動作時に使用される作業領域である。保存部104は、例えば各種のデータリソースと、データリソースにアクセスするアクセス主体とを属性条件、複数の前記属性条件を集合として定義されたデータポリシー4等の各種情報が保存される。保存部104として、例えばクラウド上のサーバー、HDD(Hard Disk Drive)の他、SSD(solid state drive)等のデータ保存装置が用いられる。なお、例えばコントローラー1は、外部との通信を暗号化してもよく、暗号化のためのアクセラレータを有してもよい。
【0037】
I/F105は、例えば物理的にエッジゲートウェイ3と接続される。さらにI/F105は、例えば管理者によるデータポリシーや必要な操作を、インターネット等を介して入出力するためのインタフェースを備えてもよい。
【0038】
<データベース>
保存部104に保存されたデータベースには、例えばデータリソースと、データリソースにアクセスするアクセス主体との各種の属性条件(主体属性、リソース属性)、複数の属性条件が集合として定義されたデータポリシー4などが各々に対応づけられて保存される。属性条件は、主体属性、及びリソース属性を含む。主体属性は、例えば「アクセス主体」が有する属性であり、リソース属性は、例えば「データリソース」が有する属性であり、それぞれが対応づけられ保存部11に保存される。また、データベースには、データを利用する利用者(ユーザ)に関する各種の情報(組織名や資格名・利用者等)のほか、例えば位置や時刻等の環境に関する属性を含んでもよい。
【0039】
また、データベースには、例えばコントローラー1と接続する他のコントローラー1、各種のIoTデバイス、サーバー機器、パーソナルコンピュータ(PC)等の電子機器に関する識別情報、性能情報等が合わせて保存されるようにしてもよい。またデータベースには、例えば計算機2の属性を「構成要素6の属性」、ユーザの属性を「アクセス主体の属性」、プロバイダーの属性を「データリソースの属性」として保存するようにしてもよい。
【0040】
図4(b)は、コントローラー1の機能の一例を示す模式図である。コントローラー1は、の保存部11と、仮想ネットワーク構成部12と、制御部13と、プロセッサー配備部14とを備え、例えば取得部や、各種の設定や情報等を更新する更新部(図示せず)等を備えてもよい。なお、図4(b)に示した各機能は、CPU101が、RAM103を作業領域として、保存部104等に保存されたプログラムを実行することにより実現される。
【0041】
<取得部>
ネットワーク管理システム100は、例えば取得部(図示せず)を備えてもよい。取得部は、例えば各種のデータリソース、データポリシー4等の情報を取得する。
【0042】
<保存部11>
保存部11は、保存部104に保存されたデータベース等の各種情報を必要に応じて取出す。保存部11は、各構成11、13~15により取得又は生成された各種情報を、保存部104に保存する。
【0043】
また保存部11は、計算機の特徴を示す属性に基づき定義されたデータポリシー4を保存する。また、保存部11が保存するデータポリシー4は、データリソースの特徴を示すリソース属性と、アクセス主体の特徴を示す主体属性とを属性条件とし、複数の属性条件を集合であってもよい。保存部11に保存される各種の情報は、データレイヤの定義を、インターネットなどを介して取得する、あるいは管理者がインターネット等を介して明示的に入力可能としてもよい。
【0044】
<仮想ネットワーク構成部12>
仮想ネットワーク構成部12は、例えば保存部11に保存された集合におけるデータポリシー4を参照する。仮想ネットワーク構成部12は、例えばデータポリシー4に基づいて、エッジゲートウェイ3間に仮想ネットワーク5を生成し、例えば仮想ネットワーク5に接続するインタフェースを生成してもよい。
【0045】
仮想ネットワーク構成部12は、例えばデータの利用シナリオ、利用シーン等のリクエストに基づいて、保存部11に保存されたデータリソースと、データリソースにアクセスするアクセス主体とを属性条件とし、計算機2の特徴を示す属性に基づき定義されたデータポリシー4を参照するようにしてもよい。
【0046】
また仮想ネットワーク構成部12は、参照したデータポリシー4に基づいて、リクエストが属性条件を満たす場合に、データリソースとアクセス主体におけるエッジゲートウェイの仮想ネットワーク5と、仮想ネットワーク5に接続するインタフェースとを、エッジゲートウェイ3に生成する。仮想ネットワーク構成部12は、例えばリクエストが属性条件を満たす場合であれば、仮想ネットワーク5、またはインタフェースの何れか一方のみを生成するようにしてもよい。
【0047】
また仮想ネットワーク構成部12は、保存部11に保存されたデータポリシー4を参照し、属性条件の包含関係に基づいて仮想ネットワーク5間を接続する。属性条件の包含関係とは、例えばアクセス主体の属性条件として各々に設定された内容に基づくものであり、主体属性条件がないオープンな属性条件の場合は、オープンな仮想ネットワーク5へと接続される。他方、主体属性条件が制限されれば、オープンな属性条件として生成された仮想ネットワーク5は削除されることになる。なお属性条件の包含関係については、図5(b)、図7(a)を用いて後述する。
【0048】
また仮想ネットワーク構成部12は、仮想ネットワーク5の経路を追加、または削除により、仮想ネットワーク5に接続するインタフェースに追加、または削除があれば、合わせて対応するようにしてもよい。仮想ネットワーク構成部12における仮想ネットワーク5の経路を追加、動作については、図7(b)の疑似アルゴリズム「add_processor」の疑似コードを用いて後述する。
【0049】
また仮想ネットワーク構成部12は、保存部11に保存されたデータポリシー4を参照し、属性条件の変更を確認する。そして仮想ネットワーク構成部12は、確認の結果に基づいて、仮想ネットワーク5の経路を追加、または削除する。
【0050】
また仮想ネットワーク構成部12は、属性条件の追加、または削除により、仮想ネットワーク5に接続するインタフェースに追加、または削除があれば、合わせて対応するようにしてもよい。
【0051】
<制御部13>
制御部13は、仮想ネットワーク構成部12により生成された仮想ネットワーク5、及びインタフェースを介して、計算機2間(例えばデータリソースとアクセス主体との間)のアクセスを制御する。制御部13は、仮想ネットワーク構成部12により生成された仮想ネットワーク5、及びインタフェースをエッジゲートウェイに設定し、各種の処理プロセスを実行するエッジサーバーによるエッジゲートウェイ3を動作させる。制御部13は、例えばエッジゲートウェイ3を介して、エッジサーバー上の各種の処理プロセスの配備、起動、実行の制御を行なう。
【0052】
制御部13は、例えば許可される属性を持つアクセス主体が、対応する仮想ネットワーク5へ接続できるか否か(ネットワークポリシー)によってアクセス制御を実現する。なお制御部13は、例えば図3に示すCLBACの階層構造により、データレイヤのデータポリシー4をネットワークレイヤのネットワークポリシーにマッピングし、データレイヤからネットワークレイヤまで統合して管理・制御を行う。これにより、制御部13は、各データに付与されたデータポリシー4に合わせて仮想的ネットワークを生成し、仮想ネットワーク5との接続関係を制御する。
【0053】
<プロセッサー配備部14>
プロセッサー配備部14は、データリソースとアクセス主体において新たにデータ処理を開始する場合に、データ処理に対応する属性条件を満たすプロセッサーを動作させる計算機2を決定する。プロセッサー配備部14は、例えば保存部11に保存される計算機2のスペック、台数、位置などの情報を確認し、リクエストに応じたデータ処理(加工等)に対応する属性条件を満たすプロセッサーを動作させる計算機2を決定するようにしてもよい。プロセッサー配備部14は、決定した計算機2を生成した仮想ネットワーク5上に配備する。
【0054】
配備された計算機2は、仮想ネットワーク構成部12により生成された仮想ネットワーク5と仮想ネットワーク5に接続するインタフェースとを用いて、制御部13によるアクセス制限によりデータ処理を開始する。これにより、仮想ネットワーク5へのアクセス制御の向上を実現することが可能となる。
【0055】
なお、プロセッサー配備部14における特定の計算機2と仮想ネットワーク5とを接続する動作については、図7(b)の疑似アルゴリズム「add_processor」の疑似コードを用いて後述する。
【0056】
(計算機2)
計算機2として、例えばコントローラー1と同様にIoTデバイス、各種の電子機器で具現化されたものが用いられる。計算機2は、例えば図9に示すような複数のコントローラー1と通信可能な各拠点の各種のサーバー、IoTデバイス、クライアントのほか、中央制御装置等であってもよい。計算機2は、例えばデータ提供プロセスや処理プロセスが動作するエッジサーバーや、IoTデバイスそのもの、スマートフォンなどに対応する。
【0057】
(エッジゲートウェイ3)
エッジゲートウェイ3は、例えば基本的にはエッジネットワークと外部ネットワークとの境界に設置される。エッジゲートウェイ3間には、データの送受信を扱うデータプレーン(Data Plane)の物理ネットワークが存在し、エッジゲートウェイ3配下には複数の計算機2(computer)が接続される。
【0058】
(データポリシー4)
データポリシー4は、保存部104のデータベース等に保存される。データポリシー4には、例えばデータリソースと、データリソースにアクセスするアクセス主体との各種の属性条件(主体属性、リソース属性)が複数の属性条件が、計算機2の特徴を示す属性に基づき定義されたものである。データポリシー4は、例えば後述する図5(b)に示す属性条件の集合であって、例えばABACによるルール集合(l1,l2,l3)として表現される。
【0059】
データポリシー4は、例えばヘルスケアデータ(体重・脈拍・運動量)などの未加工の個人データ(Rawデータ)では、公開しないというデータポリシー4として設定される。またデータポリシー4は、例えば資格名としての肩書き(Title)が医師(Doctor)である主体は、Rawデータへのアクセスを許可するデータポリシー4として設定される。また、識別子を仮名化する加工を施したデータ(Pseudonymizedデータ)は、主体のアクセス場所が日本(JP)ではない医師もアクセスを許可するデータポリシー4として設定される。さらに、ヘルスケアデータは、例えばリソース属性と対応づけられ、データリソースへのアクセスや加工等の処理を許可するデータポリシー4として設定されるようにしてもよい。
【0060】
(仮想ネットワーク5)
仮想ネットワーク5は、例えば接続する複数の計算機2の上位にあるエッジゲートウェイ3問に生成される。仮想ネットワーク5は、コントローラー1を用いて複数の仮想ネットワーク5が生成され、管理される。仮想ネットワーク5は、例えば仮想ネットワーク構成部12によって、指定された属性条件の集合に基づいてリソースやアクセス主体が接続するように構成される。仮想ネットワーク5は、データアクセス時、アクセス主体は、この仮想ネットワーク5内で通常の通信が行われ、許可されないリソースへはアクセスできないように構成される。
【0061】
(通信網)
通信網は、例えばコントローラー1等が通信回路を介して接続されるインターネット網等である。通信網は、いわゆる光ファイバ通信網で構成されてもよい。また、通信網は、有線通信網のほか、無線通信網等の公知の通信網で実現してもよい。また、Control Planeは、例えばクローズドなネットワークで構成されるほか、例えば暗号化されたネットワークによって実現されるようにしてもよい。
【0062】
(サーバー)
サーバー(コントローラーサーバー、仮想サーバー等)には、例えば上述した各種情報が記憶される。サーバーには、例えば通信網を介して送られてきた各種情報が蓄積される。サーバーには、例えば保存部104と同様の情報が保存され、通信網を介してコントローラー1と各種情報の送受信が行われてもよい。即ち、コントローラー1は、保存部104の代わりにサーバーを用いてもよい。
【0063】
(ネットワーク管理システム100の動作の一例)
次に、本実施形態におけるネットワーク管理システム100の動作の一例について、図5(a)、及び(b)、及び図6(a)、及び(b)を参照して説明する。
【0064】
図5(a)は、本実施形態におけるユースケースシナリオの一例を示す模式図である。図5は(b)は、本実施形態における属性条件の集合の一例を示す模式図である本実施形態におけるユースケースシナリオの一例を示す模式図である。
【0065】
(構成要素6:エンティティ)
図5(a)に示す本実施形態におけるユースケースシナリオは、例えばヘルスケアのデータポリシー4に対応し、ネットワーク管理システム100が生成する仮想ネットワーク5の例について説明する。また本実施形態では、仮想ネットワーク5に接続するプラットフォームレイヤの構成要素6(entity)として、例えば「user」と「provider」を対象とする。
【0066】
また、図5(b)に示す本実施形態における属性条件の集合は、例えば本ユースケースをABACによるルール集合(l1,l2,l3)として表現され、ルール集合により包含関係が形成される。ルール集合は、例えばヘルスケアデータ(体重・脈拍・運動量)などの未加工の個人データ(Rawデータ)は、プライバシーに関わる情報であるため、公開しないデータポリシー4として設定されている(包含関係なし)。ただし、資格名としての肩書き(Title)が医師(Doctor)である主体は、主体のアクセス場所が日本(JP)である場合に診察・診療を可能とするため、Rawデータへのアクセスを許可するデータポリシー4として設定される(包含関係あり)。また、識別子を仮名化する加工を施したデータ(Pseudonymizedデータ)は、学術的分析を可能とするため、主体のアクセス場所が日本(JP)ではない医師もアクセスを許可するデータポリシー4として設定されることになる(包含関係あり)。
【0067】
また属性条件の集合は、例えば各データの利用シーンに応じて、個々のデータポリシー4が適宜にルール集合(l1,l2,l3)として設定される。設定されたルール集合は、例えばデータリソースの利用において、属性条件(ルール集合)を満たす場合に(包含関係あり)、仮想ネットワーク5と仮想ネットワーク5に接続するインタフェースを生成するため参照される。他方、属性条件(ルール集合)を満たさなくなった場合は(包含関係なし)、元の仮想ネットワーク5と仮想ネットワーク5に接続するインタフェースは削除されることになる。
【0068】
<<user>>
「user」は、例えばデータを利用する利用者に相当する構成要素6であり、ABACにおけるアクセス主体に相当し、組織名や資格名などの属性を持つ。さらに、位置や時刻などの環境属性も持つようにしてもよい。また「provider」は、例えば「processor」は「user」を兼ねる構成としてもよい。
【0069】
<<Provider>>
次に「provider」は、例えばデータを提供する提供者に相当する構成要素6であり、ABACにおけるリソースに相当し、2つのサブ種類として、「ADP(Atomic Data Provider)」と「Processor」を有するようにしてもよい。
【0070】
<<ADP(Atomic Data Provider)>>
「ADP」は、例えばデータを提供する構成要素6であり、データの入力は無く、データの出力のみ行い、センサーやストレージが相当する。
【0071】
<<Processor>>
「Processor」は、例えば入カデータを処理したデータを提供する構成要素6であり、入力となるデータを提供するproviderを指定する。入力Providerに対してuserに相当する。データ加工を行うマイクロサービスや処理プロセスがこれに相当する。
【0072】
各構成要素6は、例えば計算機2で実行されるOS上のプロセスであり、providerが動作する計算機2が持つ属性はproviderの属性とみなすようにしてもよい。各構成要素6は、例えば日本に置かれたサーバーをアクセス制御とするのであれば、サーバー上のprocessorsを「Location(s)=“JP”」とすれば、主体属性条件を満たすこととなる。
【0073】
図5のユースケースシナリオは、へルスケアのデータポリシー4に対応し、仮想ネットワーク5は「user」として、「u(属性:Title:Doctor,Location:JP,v(属性:Title:Doctor,Location:AU),w(属性:Title:None,Location:CA)が設定されているものとする。また、ADPとしてX, Z が、ProcessorとしてYが存在するものとする。YはXを入カデータとして用いるデータ加工処理である。ここで、Xは未加工の生センサーデータ(属性:Level:Raw)であり、Yは未加工の生センサーデータを仮名処理(出力結果の属性:Level:Pseudonymized)し、Zは統計データを提供(属性:Level:Anonymized)するものとする。
【0074】
また本実施形態におけるユースケースでは、コントローラー1は、データポリシー4の3つのルールに対応して3つの仮想ネットワークn1,n2,n3を生成する。また、l2 はl1 を含むため(Title(s)=“Doctor”∧Location(s)“JP”⊆Title(s)=“Doctor”)、n1からn2への経路を生成する。またADP(X,Z)は、それぞれリソース属性に対応するn1、n3に接続している。ここでprocessor Yは、リソース属性に対応してn2に接続しており、またn1に接続したXを入力とするため、「 Title:Doctor」および 「Location:JP」に相当するアクセス主体属性を持つことになる。
【0075】
なお本実施形態では、例えばルールlの主体属性の条件を「l.S」、リソース属性の条件を「l.R」とする。また、仮想ネットワークnに対応するルールlの「l.s」、「l.R」を「n.s」、「n.R」と表記する。なお、ルールlが追加されると、lに対応する仮想ネットワーク5が生成される。ルールlに対応する仮想ネットワーク5をnとする。nが生成されると、システムに存在するproviderのうち「n.R」を満たすもの、及びシステムに存在するuserのうち「n.S」を満たすものに対し(包含関係あり)、nへの接続許可が与えられることになる。これによって、例えば表現されたデータポリシー4を満たすネットワークポリシーを持つ仮想ネットワーク5が構成される。
【0076】
なお、例えば2つの仮想ネットワーク「n.m」が存在するとき、「n.S」の主体属性条件が「m.S」の主体属性条件に含まれる。すなわち、「n.S⊆m.S」ならば、「n.S」を満たすuserは「m.S」も満たすことになる(包含関係あり)ため、nに含まれるuserは全てmに接続して良い(n.R,m.Rについても同様)。このため、nに含まれるuserを全てmに接続しても良いが、同様のことは、仮想ネットワークnから仮想ネットワークmへ経路を加えることによって実現できる。この場合、経由する仮想ネットワーク5の数(ホップ数)が増えるが、userが接続しなければならない仮想ネットワーク5の数を減らすことが可能となる。
【0077】
図6(a)、及び(b)は、本実施形態におけるネットワーク管理システム100の動作の一例を示すフローチャートである。
【0078】
<保存手段S110>
まず図6(a)に示すように、保存部11は、データポリシー4を保存する(保存手段S110)。保存部11は、例えば前記データリソースの特徴を示すリソース属性と、アクセス主体の特徴を示す主体属性とを属性条件として、計算機2の特徴を示す属性に基づき定義されたデータポリシー4を保存する。保存部11は、複数の属性条件を集合として定義されたデータポリシー4を保存するようにしてもよい。保存部11は、例えばコントローラー1(CLC)、計算機2などを介して、データポリシー4を保存部104に保存する。
【0079】
保存部11は、例えば仮想ネットワーク構成部12により生成された仮想ネットワーク5とインタフェース、アクセス主体を特定するユーザ情報、データリソース先を特定するプロバイダー情報、データリソース先とアクセス主体を含むプロセッサー、データリソースのみを行なうデータプロバイダーの各種の情報、仮想ネットワーク5間の接続結果、仮想ネットワーク5の経路、経路の追加または削除の履歴、データポリシー4の属性条件の変更、接続される計算機2の情報と仮想ネットワーク5上への配備に関する情報などを、複数の仮想ネットワーク5を介してデータリソースへのアクセス制御を行なう際に必要となる各種のデータや情報を、各々に対応づけて保存するようにしてもよい。
【0080】
<仮想ネットワーク構成手段S120>
仮想ネットワーク構成部12は、仮想ネットワーク5とインタフェースを生成する(仮想ネットワーク構成手段S120)。仮想ネットワーク構成部12は、例えばデータポリシー4に基づいて、エッジゲートウェイ3間に仮想ネットワーク5及び仮想ネットワーク5に接続するインタフェースを生成する。
【0081】
仮想ネットワーク構成部12は、保存部11に保存された複数の属性条件の集合におけるデータポリシー4を参照する。データポリシー4は、例えばコントローラー1の保存部11のほか、他のデータベース(図示せず)などに記憶され、コントローラー1の管理者等により適宜に参照されるようにしてもよい。
【0082】
仮想ネットワーク構成部12は、保存部11に保存されたデータポリシー4に基づいて、データポリシー4の属性条件を満たす場合に、データリソースとアクセス主体におけるエッジゲートウェイ3の仮想ネットワーク5と仮想ネットワーク5に接続するインタフェースをエッジゲートウェイ3に生成する。
【0083】
仮想ネットワーク構成部12は、例えば生成した仮想ネットワーク5とインタフェースを保存部11に保存するようにしてもよい。仮想ネットワーク構成部12は、例えばコントローラー1からの指示に基づいて、仮想ネットワーク5とインタフェースを生成するほか、例えば他の地域のコントローラー1、コントローラー1に接続される計算機2(user、providerなど)からの指示に基づいて、仮想ネットワーク5とインタフェースなどを生成するようにしてもよい。
【0084】
また仮想ネットワーク構成部12は、保存部11に保存されたデータポリシー4を参照し、属性条件の包含関係に基づいて仮想ネットワーク5間の接続を行なうようにしてもよい。
【0085】
仮想ネットワーク構成部12は、属性条件の包含関係と紐付けて、接続の結果を保存部11に保存するようにしてもよい。これにより、データリソースとアクセス主体におけるアクセスを制御することができ、仮想ネットワーク5へのアクセス制御の向上を実現することが可能となる。
【0086】
また仮想ネットワーク構成部12は、保存部11に保存されたデータポリシー4を参照し、属性条件に変更があった場合に、変更に基づいて、接続関係を設定するようにしてもよい。
【0087】
仮想ネットワーク構成部12は、属性条件に変更と紐付けて、接続の結果を保存部11に保存するようにしてもよい。これにより、データリソースとアクセス主体におけるアクセスを制御することができ、仮想ネットワーク5へのアクセス制御の向上を実現することが可能となる。
【0088】
<制御手段S130>
制御部13は、データリソースとアクセス主体のアクセスを制御する(制御手段S130)。制御部13は、例えば仮想ネットワーク構成部12により生成された仮想ネットワーク5とインタフェースを介して、データリソースとアクセス主体におけるアクセスを制御する。
【0089】
<プロセッサー配備手段S140>
次に図6(b)に示すように、プロセッサー配備部14は、例えばプロセッサーを計算機2上に配備し、仮想ネットワーク5に接続する(プロセッサー配備手段S140)。プロセッサー配備部14は、データリソースとアクセス主体において新たにデータ処理を開始する場合に、複数の計算機2の中からデータ処理に対応する特定の計算機を決定する。プロセッサー配備部14は、計算機2を生成した仮想ネットワーク5上に配備し、特定の計算機2と、仮想ネットワークとを接続する。
【0090】
これにより、本実施形態におけるネットワーク管理システム100の動作が終了してもよい。なお、保存手段S110によるデータリソースと、データリソースにアクセスするアクセス主体とを属性条件、計算機2の特徴を示す属性に基づき定義されたデータポリシー4の保存のタイミング、仮想ネットワーク構成手段S120における属性情報の変更、データレイヤの定義を、インターネットなどを介して取得する、あるいは、管理者がインターネット等を介して明示的に入力可能としてもよい。なお、ネットワーク管理システム100は、例えばプロセッサー配備手段S140をさらに備えてもよい。
【0091】
(ネットワーク生成アルゴリズム)
ここで、図7を参照して、本実施形態におけるネットワーク管理システム100ネットワーク生成アルゴリズムの一例について説明する。図7(a)は、本実施形態におけるコントローラー1の構成の一例を示すアルゴリズムであり、図7(b)は、本実施形態におけるコントローラー1の機能の一例を示すアルゴリズムである。
【0092】
図7(a)の疑似アルゴリズムは、本実施形態における「add_data_policy」を示し、仮想ネットワーク構成部12における仮想ネットワーク5の経路を追加(または削除)の動作を実行するものである。
【0093】
「add_data_policy」は、例えばデータポリシー4のルールを追加する際、対応する仮想ネットワーク5を生成するネットワーク生成アルゴリズムを記述した疑似コードである。
【0094】
また、図7(b)の疑似アルゴリズムは、本実施形態における「add_processor」を示す。「add_processor」は、仮想ネットワーク構成部12がデータ処理を行なう「processor」を追加する際、データポリシー4を満たす計算機2上に配備する「processor」追加アルゴリズムを記述した疑似コードとなる。
【0095】
図7(a)の疑似アルゴリズムは、例えばシステムに既に存在する仮想ネットワーク5の集合を(N,provider)の集合を(P,user)の集合Uと表している。例えば3行目で追加されたルールlに対応する新規仮想ネットワークnを生成している。例えば4行目から8行目は、nとのアクセス主体属性条件の包含関係に応じて、既存の仮想ネットワーク5とn間の接続(経路)を設定する動作となる。
【0096】
本実施形態におけるアクセス制御では、変数を含む条件式を扱わないが、変数を含む条件式を扱わないときは、「r1⊆r2」であることは、r2の全ての条件式に対応するConjunctive Constraint Mapping(例えば公知文献「C.K.Chang and H. Garcia-Molina, "Conjunctive Constraint Mapping for Data Translation" in Proceedings of the third ACM conference on Digital Libraries, 1998, p 49-58」に開示)がr1に存在するか否かによって判定可能となる。また9行目でnにNを加え,10行目、11行目で、経路の簡略化(Simplify_route)の手続きを行なう。この手続きは、例えば複数の経路で到達できるネットワーク間の経路のうち短い方を削除する動作となる。これにより、無駄な経路を省くことが可能となる。ただし、経由するネットワーク数に上限を設けられるものとし、上限を超える時は短い冗長経路を削除しない。
【0097】
また図7(a)の疑似アルゴリズムは、また12行目から15行目は、「provider p」が、lのリソース属性条件(l,R)を満たす場合、pが動作する計算機2(p,Node)をnに接続(ネットワークインタフェースの追加)させている。これにより、15行目(simplify_interface)はネットワークインタフェースの簡略化動作となる。動作は(Simplify_route)と同等となる。また、16行目から19行目は「user u」が、lのアクセス主体条件(u,S)を満たす場合に、uが動作する計算機2(u,Node)をnに接続する。この動作は、「provider」接続時と同様となる。
【0098】
次に、図7(b)の疑似アルゴリズムは、「add_processor」の疑似コードであり、プロセッサー配備部14における特定の計算機2と仮想ネットワーク5とを接続する動作を実行するものである。
【0099】
「add_processor」は、エッジコンピューティングにおいて、例えば新たな処理プロセスの実行が要求されたとき、複数の配備先計算機2の候補が存在することとなる。そのため、「add_processor」では、アクセス権限を持つ適切な計算機2にプロセスを配備する操作となる。
【0100】
また図7(b)の疑似アルゴリズムでは、システムに存在する利用可能な(使用されていない)計算機2の集合をCと表記している。3行目から8行目で、pを実行するにあたり、データポリシー4を満たす計算機2集合Aを導出している。Aが「processor」を実行できる計算機2の候補集合となる。「processor」は、入力と出力を持ち、出力結果はリソース属性を持つ。pは、このリソース属性を満たす仮想ネットワーク5にアクセスを許可することになる。この仮想ネットワーク5をnとしたとき、pへは(n,S)を満たすアクセス主体しかアクセスできないため、pは(n,S)を満たすアクセス主体相当とみなすことができる。
【0101】
また図7(b)の疑似アルゴリズムでは、この時の(n,S)を「p.Restriction」と表記する。pは、pが動作する計算機2(p,Node)をcとしたとき(5行目で設定)、pが継承するcの属性、および「p.Restriction」(6行目で設定)を満たす属性を持つアクセス主体とみなすことができる。この状態のpがpの入力(p,Input)が接続するNのいずれかの仮想ネットワーク5に接続可能であれば、cは候補となる。この候補判定を行うのが7行目のcheck手続きとなる。ここで候補となった計算機2cをAに加える(8行目)。9行目は、Aの候補集合から1つの計算機2を選択する動作(select_one)を示す。
【0102】
なお図7(b)の疑似アルゴリズムでは、最も遅延が小さい位置にある計算機2や、性能が最も良い計算機2など、様々な基準による選択があり得るが、様々な基準は任意である。また10行目は選択された計算機2にpを配備する動作を示す。11行目から14行目は、例えばアクセス主体としてのpを、主体属性条件を満たす仮想ネットワーク5ヘリソースとしてのpを、リソース属性条件を満たす仮想ネットワーク5ヘ、それぞれ接続している。仮想ネットワーク5を「provider」へ接続する時の動作と同様に、ネットワークインタフェースの簡略化動作を含んでいる(14行目)。
【0103】
(実装システムの構成)
ここで、図8に本実施形態による実装システムの一例について説明する。図8は、例えばマルチマスタ型リモートI/O制御ネットワークによる仮想ネットワーク生成機能を用いて、コンテナ化したアプリケーションの配備や自動スケール実行を行うことが可能なプラットフォームソフトウェアであるKubernetes(以降k8sとする)で利用できるようCNI(Container Network Interface)プラグインとする実装の構成を示したものである。
【0104】
本実装では、コンテナ間の通信におけるk8sのネットワーク要件を満たすため、例えばCalicoおよびFlannelを使用している。また、本実装では、例えばコントローラー1は定義されたデータポリシー4をもとに仮想ネットワーク5を生成するものとし、EWG上に仮想ネットワーク5へ接続するための仮想ゲートウェイ(vGW:バーチャルゲートウェイ)を生成する。仮想ネットワーク5は、例えばVXLANによるL2ネットワークとして生成する。
【0105】
また本実装では、エッジゲートウェイ3配下の計算機2は、例えばvGWを経由して仮想ネットワーク5に接続する。これにより外部ネットワークから仮想ネットワークへ接続する際は、エッジゲートウェイ3経由でVPNを用いて接続することとなる。ネットワーク接続は、例えば各計算機2のIPアドレスは、コントローラー1が決定するようにしてもよい。VPNの実装にはOpenVPNを用いるようにしてもよい。これにより本実装では、userからの接続要求を受け付けるとVPN Gateway(OpenVPNサーバー)が起動され、このVPN Gatewayが許可された仮想ネットワーク5への接続を受け持つことになる。これにより、例えばProcessorの配備は、エッジゲートウェイ3上へのk8sのPodの配備によって実現される。各Podは接続が許可される仮想ネットワーク5へvGW経由での接続が可能となる。
【0106】
(エッジコンピューティング環境)
次に、図9を参照して、本実施形態によるエッジコンピューティング環境の一例について説明する。本実装では、CLBACによるデータアクセス性能の実験評価では、NICTが提供するテストベツドB5G高信頼仮想化環境上の仮想マシンおよびNVDIA社製のシングルボードコンピュータであるJetson Nanoを用いている。これらの計算機2は、エッジコンピューティング環境を想定し、図9に示すような、本実装による実験における各サーバー(認証可能サーバー、エッジゲートウェイ3、サーバー、IoTデバイス、クライアント)の用途、マシンスペック(CPU、RAM)とし、東京、大阪、石川の3拠点に分散して配置している。
【0107】
図9に示す通り、本環境における評価では、例えば大阪のエッジゲートウェイ3上で動作するuserに相当するクライアントプロセスが、東京のエッジゲートウェイ3配下に存在するIoTデバイス(provider)からデータを取得する際の応答時間として計測した。IoTデバイスでは、例えばpython flaskによるHTTPサーバーが、24バイト(固定値)のデータを提供するものとする。比較対象として、クラウド上の認証サーバーを適用するABAC(Cloud)、およびCapBACを用いている。Cloudの認証サーバーは、casbinを用いて、CapBAC はJSON WebToken(JWT)を用いて、それぞれ実装するものとする。図9では、ABAC(Cloud)、およびCapBACは、本実施形態のアクセス制御が用いる仮想ネットワーク5を経由しないため、アクセス要求を受信するたびに、ABACに基づくアクセス制御を実施することとなる。
【0108】
(ネットワーク管理システム100の実験評価)
次に、図10を参照して、本実施形態におけるネットワーク管理システム100の実験評価の一例について説明する。図10(a)は、Cloudにおける手法における実験評価の一例を示す結果であり、図10(b)は、CapBACにおける手法における実験評価の一例を示す結果であり、図10(c)は、本実施形態におけるネットワーク管理システム100のCLBACにおける手法における実験評価の一例を示す結果である。
【0109】
図10に示す本実施形態におけるネットワーク管理システム100の実験評価の一例は、(a)Cloud、(b)CapBAC、(c)CLBACにおける各手法において、ユーザ数を1~20人まで変化させた時の応答時問の計測結果を示している。各(a)~(c)の応答時間の計測は、例えば100回の試行で計測した応答時間の平均値を、それぞれ5thパーセンタイル、95thパーセンタイルとして示す。
【0110】
まず(a)Cloudにおける手法では、例えばアクセス制御の際に、東京から石川にある認証サーバーに問い合わせを行うこととなる。そのため、応答時間は(b)CapBACの手法、および(c)CLBACの手法の応答時間と比べて大きい時間を示している。ユーザ数2~20人のそれぞれの応答時間の平均値は、83msから169msの範囲内であり、ユーザ数20人の存在時に200msを超える応答時間となる結果を示す。
【0111】
次に(b)CapBACの手法では、ユーザ数の増加に伴い応答時問が大きくなっていることを示す。これは、providerのIoTデバイスに相当するJetson Nanoの処理性能は高性能のクラウドサーバー等と比較すると高くなく、トークン検証処理の増加にともなうオーバーヘッドが生じたことによるものである。ユーザ数2~20人のそれぞれの応答時間の平均値は27msから81msの範囲内であり、ユーザ数20人の存在時に140msを超える応答時間となる結果を示す。
【0112】
そして(c)CLBACの手法では、認証サーバーへの問い合わせやトークン検証処理のオーバーヘッドが存在しないため、VXLANを介した仮想ネットワーク5を用いるオーバーヘッドのみ生じることになる。このため、ユーザ数2~20人のそれぞれの応答時問の平均値は24msから48msの範囲内であり、ユーザ数20人の存在時に70ms以下の応答時間となる結果を示す。
【0113】
さらに(c)CLBACの手法では、応答時間はユーザ数14人までは、平均応答遅延時問が30msを超えることはなく、(a)Cloudにおける手法、および(b)CapBACの手法と比べて、小さい応答時問の維持が可能となっていることを示す。
【0114】
本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0115】
1 :コントローラー
2 :計算機
3 :エッジゲートウェイ
4 :データポリシー
5 :仮想ネットワーク
6 :構成要素
10 :筐体
11 :保存部
12 :仮想ネットワーク構成部
13 :制御部
14 :プロセッサー配備部
100 :ネットワーク管理システム
101 :CPU
102 :ROM
103 :RAM
104 :保存部
105 :I/F
110 :内部バス
S110 :保存手段
S120 :仮想ネットワーク構成手段
S130 :制御手段
S140 :プロセッサー配備手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10