以下に添付図面を参照して、情報処理システム、通信制御装置および通信制御プログラムの実施形態を詳細に説明する。
(実施形態に適用可能な技術)
実施形態の説明に先立って、理解容易とするために、実施形態に適用可能な技術概念として、SDN(Software-Defined Network)について概略的に説明する。
従来、組織体内で閉じた構成の組織内LAN(Local Area Network)などのネットワーク環境は、各ベンダが提供するLANスイッチや無線LANアクセスポイントの設定・運用を熟知した専任の担当者が構築するのが一般的であった。このようなネットワーク環境は、ベンダのソリューションによる認証手段や運用方法しか提供されない、所謂「ベンダロックイン」の状態であり、組織体が自在に認証手段や運用方法を設定することが困難であった。
これに対して、近年では、ユーザである組織体が独自のネットワークを構築できるようにするため、ネットワーク上のデータの動きをソフトウェアだけで制御可能とするSDNと呼ばれる概念が注目されている。このSDNに関連して、注目を集めている代表的な構成技術要素として「ネットワークの仮想化」と、その仮想化されたネットワーク上での通信を制御する手法(プロトコル)の一つでありベンダに依存しないオープンな仕様である「オープンフロー(OpenFlow(登録商標))」とがある。
ネットワークの仮想化は、例えば、一つの物理インターフェイスを複数に(若しくは複数の物理インターフェイスを一つに)見せるような仮想インターフェイス技術や、仮想インターフェイスを接続中継する仮想スイッチ技術などに至る、複数の構成要素を含む技術の集合体である。ネットワーク仮想化は、物理ネットワーク機器と仮想ネットワーク部品、プロトコル技術の組合せによって、物理的なネットワーク構成から論理的なネットワーク構成を仮想的に分離し、物理構成に縛られない柔軟なネットワーク構成を実現する。
OpenFlowは、通信をエンド・ツー・エンドのフローとして捉えて、そのフロー単位に経路制御、負荷分散、最適化などを行うことができる。具体的には、OpenFlowは、データ通信経路の中継機器などにおいて自立分散的に各データパケットを解析して転送するのではなく、集中制御型に変えることで実現する。
図1は、実施形態に適用可能な、OpenFlowに基づく構成の例を概略的に示す。OpenFlowでは、データの解析と転送先判断および決定制御とを行う「コントロール・プレーン」と、単なるパケットの物理的な伝送を担う部分である「データ・プレーン」とを分離する。OpenFlowでは、コントロール・プレーンを司るOFC(OpenFlowコントローラ)100が転送ルールを指示し、データ・プレーンを担うOFS(OpenFlowスイッチ)200は、OFC100の指示に従ってパケットの転送を行う。より具体的には、OFS200は、OFC100が追加および書き換えを行う、OFS200が持つフローテーブルが有するフローエントリに従って、パケットの転送を行う。
OFS200は、パケットのヘッダの情報に基づきパケットを識別する。ヘッダは、「受信ポート」、「送信元MAC(Media Access Control)アドレス」、「宛先MACアドレス」、「プロトコル種別」、「VLAN(Virtual Local Area Network) ID」、「VLAN PCP(VLAN Priority Code Point)値」、「送信元IPアドレス」、「宛先IPアドレス」、「プロトコル番号」、「ToS(Type of Service)値」、「送信元ポート番号」および「宛先ポート番号」の、12種類のヘッダフィールドを含む。識別に使用しないヘッダフィールドには、ワイルドカードを指定することで、任意のヘッダフィールドを識別条件として用いることができる。
OFC100は、OFS200と接続され、OFC100とOFS200との間にOpenFlow(OF)チャネルと呼ばれる通信経路が確立されると、フローテーブルおよびフローエントリをOFS200に転送する。OFS200は、OFチャネル確立後、Modify-Stateメッセージに伴いOFC100から転送されたフローテーブルおよびフローエントリを、初期設定のフローテーブルおよびフローエントリとして、メモリに記憶させる。
ここで、OpenFlowにおいては、同じルールを持つ通信の集合体を「フロー」と呼ぶ。例えば、宛先IPアドレスが同一のIPアドレスであり、且つ、各々同一の処理がなされる一連のパケットの通信は、1つのフローを構成する。OFC100は、ユーザにより定義されたフローをOFS200に指示する。OFS200は、指示されたフローをフローエントリとして、フローテーブルに登録する。フローエントリは、パケットを判別する条件(マッチ)と、条件に従い判別されたパケットを受信した場合の動作(インストラクション)との組み合わせを含む。フローテーブルは、0以上のフローエントリが登録される。すなわち、OFS200の初期状態では、フローテーブルにはフローエントリが含まれない。
このような仕組みを用いることで、上述したネットワークの仮想化を制御するためのツールなどとしてOpenFlowを活用できる。
(第1実施形態)
つぎに、第1実施形態について説明する。図2は、第1実施形態に適用可能な情報処理システム1の一例の構成を示す。図2の例では、情報処理システム1は、通信制御装置2と通信処理装置3と管理装置4とを含む。
通信制御装置2は、上述したOFC100の機能を有する装置であり、SDNコントローラと称される。通信制御装置2は、転送ルールを指示する。
通信処理装置3は、上述したOFS200の機能を有する装置であり、SDNスイッチと称される。通信処理装置3は、OFC100の指示に従ってパケットの転送を行う。具体的には、通信処理装置3は、通信制御装置2の制御に基づいて、ユーザ端末装置6による資源5a,5bの利用を制御する。図2では、資源は、二つ(資源5a,5b)の例を示しているが、三つ以上であってもよい。また、以下では、資源5a,5bは、資源5と称する。
資源5とは、例えば、構内通信網のMFP(Multifunction Peripheral)およびサーバなどのIT(Information Technology)機器、または特定のクラウドサービスなどのアクセス先を指す概念である。
管理装置4は、eラーニング(e-learning)の機能を有している。eラーニングとは、ネットワークを利用した学習形態のことをいう。管理装置4は、ユーザ端末装置6からのアクセスに応じて、eラーニングの機能によりユーザ端末装置6に対して学習コンテンツを提供する。学習コンテンツは、情報機器の利用に関する知識および理解をつけさせるためのコンテンツ(動画および音声)のことである。なお、以下では、情報機器の利用に関する知識および理解をITリテラシーという。管理装置4は、複数の学習コンテンツを有しており、ユーザの操作に応じた学習コンテンツを提供する。
また、管理装置4は、ストリーミングにより学習コンテンツを配信する。なお、学習コンテンツは、ストリーミングによる配信以外でもよく、例えば、学習コンテンツのすべてをユーザ端末装置6にダウンロードさせてもよい。
また、以下では、eラーニングの機能は、管理装置4が有するものとして説明するが、管理装置4以外の他の装置が有していてもよい。この場合、他の装置は、eラーニングにより行った学習の結果である学習進捗度を管理装置4に通知する。
管理装置4は、ユーザによる学習の進捗度を管理し、この学習の進捗度に基づいて、ユーザ端末装置6ごとに資源5の利用の許否に関する制御情報(制御ポリシー)を生成する。以下に、管理装置4の具体的な構成と動作について説明する。
管理装置4は、第1管理部41と、第2管理部42と、第3管理部43と、第4管理部44と、制御情報生成部45と、通信部46と、記憶部47とを備える。
第1管理部41は、ユーザが行った学習ごとの進捗度を示す学習進捗度情報を管理する。具体的には、第1管理部41は、ユーザを示すユーザ識別子と、学習ごとに固有に付されている学習識別子と、学習の進捗度を示す学習進捗度とから構成されるテーブル(学習進捗情報テーブル)を管理する。図3は、学習進捗情報テーブルの一例を模式的に示す図である。
図3では、ユーザ識別子「YAMADA」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「90」と、学習識別子「StudyB」で示される学習Bの学習進捗度「20」とが対応付けられている例を示している。また、図3では、ユーザ識別子「SUZUKI」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「0」と、学習識別子「StudyB」で示される学習Bの学習進捗度が「0」とが対応付けられている例を示している。
学習進捗度は、例えば、対象となる学習の閲覧率に応じて決められてもよいし、対象となる学習の中で行われるテストの状態に応じて決められてもよい。
第2管理部42は、複数のユーザによって共有される資源5の情報である資源情報を管理する。具体的には、第2管理部42は、資源の種別を示す資源識別子と、資源(装置)ごとに付されている資源端末識別子とから構成されるテーブル(通信制御対象機器情報テーブル)を管理する。資源端末識別子は、例えば、IPv4(Internet Protocol version 4)またはIPv6(Internet Protocol version 6)などの資源に固有に付されている識別子などが考えられる。図4は、通信制御対象機器情報テーブルの一例を模式的に示す図である。図4では、資源識別子「Printer」で示される装置に資源端末識別子「123.45.67.89」が対応づけられ、資源識別子「Cloud」で示される装置に資源端末識別子「234.56.78.90」が対応づけられている例を示している。
第3管理部43は、ユーザ端末装置6の情報であるユーザ端末装置情報を管理する。具体的には、第3管理部43は、ユーザを示すユーザ識別子と、ユーザ端末装置6を示すユーザ端末装置識別子とから構成されるテーブル(通信制御対象ユーザ情報テーブル)を管理する。ユーザ端末装置識別子は、ユーザ端末装置に付与されているMAC(Media Access Control)アドレスなどが考えられる。MACアドレスとは、ネットワーク上で、各ノードを識別するために設定されているネットワーク機器のハードウェアに一意に割り当てられる物理アドレスである。図5は、通信制御対象ユーザ情報テーブルの一例を模式的に示す図である。図5では、ユーザ識別子「YAMADA」にユーザ端末識別子「A1:A2:A3:A4:A5:A6」が対応付けられ、ユーザ識別子「SUZUKI」にユーザ端末識別子「B1:B2:B3:B4:B5:B6」が対応付けられている例を示している。
第4管理部44は、資源5の利用を許可する条件を学習進捗度によって管理する。具体的には、第4管理部44は、資源の種別を示す資源識別子と、学習ごとに固有に付されている学習識別子と、資源5の利用を許可する条件を示す利用許可進捗度とから構成されるテーブル(利用許可条件情報テーブル)を管理する。利用許可進捗度は、資源5の利用(アクセス)が可能になる学習進捗度の閾値を示している。図6は、利用許可条件情報テーブルの一例を模式的に示す図である。図6では、資源識別子「Printer」で示される装置について、学習識別子「StudyA」で示される学習Aの利用許可進捗度「80」が対応付けられ、資源識別子「Cloud」で示される装置について、学習識別子「StudyB」で示される学習Bの利用許可進捗度「100」が対応付けられている例を示している。
つまり、資源識別子「Printer」で示される装置は、学習Aの学習進捗度が「80」以上の場合に利用が許可される。また、資源識別子「Cloud」で示される装置は、学習Bの学習進捗度が「100」の場合に利用が許可される。
制御情報生成部45は、第1管理部41により管理されている学習進捗度情報と、第4管理部44により管理されている条件とに基づいて、資源5の利用が許可されるか否かを判断し、当該判断の結果と、第2管理部42から取得した資源情報と、第3管理部43から取得したユーザ端末装置情報とを対応付けた制御情報(制御ポリシー)を生成する。制御情報は、あるユーザ(ユーザ端末装置)が特定の資源にアクセス許可を持つか否かを示す情報である。
具体的には、制御情報生成部45は、資源(装置)ごとに付されている資源端末識別子と、ユーザ端末装置6を示すユーザ端末装置識別子と、資源5の利用が許可されるか否かの判断結果を示す許可とから構成されるテーブル(制御情報テーブル)を管理する。図7は、制御情報テーブルの一例を模式的に示す図である。
図7では、資源端末識別子「123.45.67.89」には、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」と、許可「true」とが対応付けられており、資源端末識別子「234.56.78.90」には、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」と、許可「false」とが対応付けられており、資源端末識別子「123.45.67.89」には、ユーザ端末識別子「B1:B2:B3:B4:B5:B6」と、許可「false」とが対応付けられており、資源端末識別子「123.45.67.89」には、ユーザ端末識別子「B1:B2:B3:B4:B5:B6」と、許可「false」とが対応付けられている例を示している。
つまり、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」で示されるユーザ端末装置は、資源端末識別子「123.45.67.89」で示される資源(Printer)の利用が可能であるが、資源端末識別子「234.56.78.90」で示される資源(Cloud)の利用は許可されない。
また、ユーザ端末識別子「B1:B2:B3:B4:B5:B6」で示されるユーザ端末装置は、資源端末識別子「123.45.67.89」で示される資源(Printer)と資源端末識別子「234.56.78.90」で示される資源(Cloud)の利用が許可されない。
記憶部47は、制御情報生成部45により生成された制御情報を保存する。また、記憶部47は、制御情報生成部45によって制御情報が更新された場合、更新された制御情報を保存する。
通信部46は、記憶部47に記憶されている制御情報を通信制御装置2に送信する。
ここで、ユーザ識別子「YAMADA」で示されるユーザに対して、資源端末識別子「123.45.67.89」で示される資源(Printer)の利用が許可される制御情報を生成するときの手順について説明する。図8は、制御情報を生成する手順を示すフローチャートである。
ステップST1において、制御情報生成部45は、第1管理部41からユーザ識別子「YAMADA」で示されるユーザの学習進捗度情報を取得する。具体的には、制御情報生成部45は、ユーザ識別子「YAMADA」に対応付られている学習識別子「StudyA」および学習進捗度「90」を取得する。
ステップST2において、制御情報生成部45は、第4管理部44から資源5の利用を許可する条件を取得する。具体的には、制御情報生成部45は、資源識別子「Printer」に対応付けられている学習識別子「StudyA」および利用許可進捗度「80」を取得する。
ステップST3において、制御情報生成部45は、第2管理部42から資源情報を取得する。具体的には、資源識別子「Printer」に対応づけられている資源端末識別子「123.45.67.89」を取得する。
ステップST4において、制御情報生成部45は、第3管理部43からユーザ端末装置情報を取得する。具体的には、制御情報生成部45は、ユーザ識別子「YAMADA」に対応づけられているユーザ端末識別子「A1:A2:A3:A4:A5:A6」を取得する。
ステップST5において、制御情報生成部45は、ステップST1の工程で取得した学習進捗度とステップST2の工程で取得した利用許可進捗度とを比較し、学習進捗度が利用許可進捗度を充足しているかどうかを判断する。具体的には、制御情報生成部45は、ユーザ識別子と学習識別子とをキーとして、学習進捗度と利用許可進捗度とを比較する。
学習進捗度が利用許可進捗度を充足していると判断した場合(ステップST5 YES)には、ステップST6に進み、学習進捗度が利用許可進捗度を充足していないと判断した場合(ステップST5 NO)には、ステップST7に進む。本実施例の場合、学習進捗度「90」>利用許可進捗度「80」、であるので、学習進捗度が利用許可進捗度を充足していると判断する。
ステップST6において、制御情報生成部45は、ユーザ識別子「YAMADA」で示されるユーザに対して、資源端末識別子「123.45.67.89」で示される資源(Printer)の利用(アクセス)を許可(true)する。
ステップST7において、制御情報生成部45は、ユーザ識別子「YAMADA」で示されるユーザに対して、資源端末識別子「123.45.67.89」で示される資源(Printer)の利用(アクセス)を不許可(false)にする。
ステップST8において、制御情報生成部45は、ステップST6またはステップST7の結果に基づいて、制御情報を生成する。本実施例の場合、制御情報生成部45は、資源端末識別子「123.45.67.89」に対して、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」による利用を許可「true」とする制御情報を生成する。
ステップST9において、制御情報生成部45は、記憶部47に生成した制御情報を保存する。なお、すでに記憶部47に制御情報が保存されている場合には、古い制御情報を破棄または上書きして、新しい制御情報に更新する。
ステップST10において、通信部46は、記憶部47に記憶されている制御情報を通信制御装置2に送信する。なお、制御情報生成部45は、制御情報を通信制御装置2に送信するように通信部46に指示してもよい。
通信制御装置2は、制御情報に基づいて通信処理装置3を制御する。通信処理装置3は、通信制御装置2の制御に基づいて、ユーザ端末装置6による資源5の利用を制御する。
ここで、情報処理システム1の動作について説明する。図9は、情報処理システム1の動作についての説明に供する図である。
図9(a)は、学習履歴のないユーザは資源5を利用できない状態を模式的に示す図である。通信処理装置3は、通信制御装置2の制御に基づいて、ユーザ端末装置6に資源5を利用させないように制御する。情報処理システム1の利用開始時において、ユーザは、学習履歴を有しないため、資源5を利用できない。
図9(b)は、ユーザがユーザ端末装置6によりeラーニングを利用して、学習を行っている状態を模式的に示す図である通信処理装置3は、通信制御装置2の制御に基づいて、ユーザ端末装置6に管理装置4の利用ができるように制御する。通信制御装置2は、eラーニングにより学習を行わせるために、管理装置4へのアクセスは常時許可している。
図9(c)は、ユーザが学習に合格し、資源5の利用を許可するように通信制御装置2が通信処理装置3を制御している様子を模式的に示す図である。学習が完了(合格)した場合、ユーザの学習進捗度が変化し、その旨が通信制御装置2に通知される。通信制御装置2は、通信処理装置3の制御情報(制御ポリシー)を更新する。なお、学習の合格とは、学習の完了などを意味し、学習進捗度が利用許可進捗度を充足していることをいう。
図9(d)は、ユーザ端末装置6から通信処理装置3を介して、資源5を利用している様子を模式的に示す図である。制御情報(制御ポリシー)が更新された結果、ユーザ端末装置6は、資源5が利用できるようになる。
つぎに、通信制御装置2が起動するときの処理の流れについて説明する。図10は、通信制御装置2が起動したときの処理の流れを示すシーケンス図である。
ステップST11において、通信制御装置2は、起動時には、制御情報を有していないので、通信部46に対して、制御情報の取得を要求する。
ステップST12において、通信部46は、記憶部47に対して、制御情報の取得を要求する。
ステップST13において、記憶部47は、制御情報を通信部46に送信する。
ステップST14において、通信部46は、制御情報を通信制御装置2に送信する。
ステップST15において、通信制御装置2は、制御情報に基づいて通信処理装置3に制御指示を行う。
ステップST16において、通信処理装置3は、通信制御装置2による制御指示に基づいて、制御情報を書き換える処理を行う。
つぎに、ユーザによる学習が進み、学習進捗度が変化した場合の処理の流れについて説明する。図11は、学習進捗度が変化した場合の処理の流れを示すシーケンス図である。なお、以下では、ユーザ識別子「YAMADA」で示されるユーザの学習識別子「StudyA」で示される学習Aの学習進捗度が「60」から「90」に変化した場合について説明する。
ステップST21において、第1管理部41は、制御情報生成部45に進捗度の変更を通知する。具体的には、第1管理部41は、制御情報生成部45にユーザ識別子「YAMADA」で示されるユーザの学習識別子「StudyA」で示される学習Aの学習進捗度「90」の変更を通知する。
ステップST22において、制御情報生成部45は、第4管理部44から資源5の利用を許可する条件の取得を要求する。具体的には、制御情報生成部45は、資源識別子「Printer」に対応付けられている学習識別子「StudyA」および利用許可進捗度「80」の取得を要求する。
ステップST23において、第4管理部44は、資源5の利用を許可する条件を制御情報生成部45に送信する。
ステップST24において、制御情報生成部45は、第2管理部42に資源情報の取得を要求する。具体的には、制御情報生成部45は、資源識別子「Printer」に対応づけられている資源端末識別子「123.45.67.89」の取得を要求する。
ステップST25において、第2管理部42は、制御情報生成部45に資源情報を送信する。
ステップST26において、制御情報生成部45は、第3管理部43からユーザ端末装置情報の取得を要求する。具体的には、制御情報生成部45は、ユーザ識別子「YAMADA」に対応づけられているユーザ端末識別子「A1:A2:A3:A4:A5:A6」の取得を要求する。
ステップST27において、第3管理部43は、制御情報生成部45にユーザ端末装置情報を送信する。
ステップST28において、制御情報生成部45は、制御情報を生成する。具体的には、制御情報生成部45は、学習進捗度と利用許可進捗度とを比較し、学習進捗度が利用許可進捗度を充足しているかどうかを判断する。本実施例の場合、学習進捗度「90」>利用許可進捗度「80」、であるので、学習進捗度が利用許可進捗度を充足していると判断する。制御情報生成部45は、資源端末識別子「123.45.67.89」に対して、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」による利用を許可「true」とする制御情報を生成する。
ステップST29において、制御情報生成部45は、記憶部47に生成した制御情報を保存する。なお、ユーザの追加または更新時において、そのユーザに対応した制御情報が新規で作成されて記憶部47に保存されるため、本ステップでは、記憶部47に制御情報の更新のみを行う。
ステップST30において、制御情報生成部45は、制御情報を通信制御装置2に送信するように通信部46に指示する。
ステップST31において、通信部46は、制御情報を通信制御装置2に送信する。
ステップST32において、通信制御装置2は、制御情報に基づいて通信処理装置3に制御指示を行う。
ステップST33において、通信処理装置3は、通信制御装置2による制御指示に基づいて、制御情報を書き換える処理を行う。
このようにして、情報処理システム1は、情報機器の利用に関する学習の進捗度に基づいて、資源5の利用の可否を判断することができ、ITリテラシーの低いユーザによる資源の利用を防止することができる。
(第2実施形態)
つぎに、第2実施形態について説明する。第2実施形態にかかる情報処理システム8は、通信制御装置2、通信処理装置3、資源5およびユーザ端末装置6が配置される構内通信網と、管理装置4が配置される構内通信網とが異なる構成が第1実施形態にかかる情報処理システム1と異なる。第2実施形態では、第1実施形態に係る情報処理システム1の構成要素と同一の構成要素には、同じ符号を付し、詳細な説明を省略する。
本実施例は、遠隔で構内通信網に配置されている機器を監視する遠隔機器監視システムと、SDN技術を用いた構内通信網内のアクセス制御システムとを組合せ、Webアプリケーション(管理装置4)で生成された制御情報に基づいて、通信処理装置3を制御し、構内通信網内のアクセス制御ルール(制御情報)を逐時更新する技術を用いる。
図12は、第2実施形態に適用可能な情報処理システム8の一例の構成を示す。情報処理システム8は、通信制御装置2と通信処理装置3とが第1構内通信網N1に配置され、管理装置4が第2構内通信網N2に配置される。中継装置7は、第1構内通信網N1と第2構内通信網N2とを接続(中継)する機能を有し、ゲートウェイと称される。
図12では、第1構内通信網N1と第2構内通信網N2とを接続するための中継装置7を備える情報処理システム8の一例を示しているが、これに限られない。例えば、情報処理システム8は、複数の交換網と複数の中継装置7を備え、ユーザ端末装置6が複数の中継装置7を介して、他の交換網に配置されている資源5を利用できるような構成でもよい。
中継装置7は、複数のプロトコルおよびデータ形式を変換する機能があり、プロトコルの異なる構内通信網間でスムーズにデータをやり取りできるように制御する。
第2管理部42は、中継装置7の情報である中継装置情報(ゲートウェイ識別子)を資源情報に付加して管理する。具体的には、第2管理部42は、資源の種別を示す資源識別子と、資源(装置)ごとに付されている資源端末識別子と、中継装置7の種別を示すゲートウェイ識別子とから構成されるテーブル(通信制御対象機器情報テーブル)を管理する。
図13は、ゲートウェイ識別子が付加された通信制御対象機器情報テーブルの一例を模式的に示す図である。図13では、資源識別子「Printer」で示される装置に資源端末識別子「192.168.10.xx」とゲートウェイ識別子「abcd-efgh」とが対応づけられ、資源識別子「Cloud」で示される装置に資源端末識別子「xxx.xxx.xxx.xxx」とゲートウェイ識別子「abcd-efgh」とが対応づけられ、資源識別子「Printer」で示される装置に資源端末識別子「192.168.20.xx」とゲートウェイ識別子「stuv-wxyz」とが対応づけられ、資源識別子「Cloud」で示される装置に資源端末識別子「xxx.xxx.xxx.xxx」とゲートウェイ識別子「stuv-wxyz」とが対応づけられている例を示している。
また、制御情報生成部45は、第1管理部41により管理されている学習進捗度情報と、第4管理部44により管理されている条件とに基づいて、資源5の利用が許可されるか否かを判断し、当該判断の結果と、第2管理部42から取得したゲートウェイ識別子が付加された資源情報と、第3管理部43から取得したユーザ端末装置情報とを対応付けた制御情報(制御ポリシー)を生成する。
具体的には、制御情報生成部45は、資源(装置)ごとに付されている資源端末識別子と、ユーザ端末装置6を示すユーザ端末装置識別子と、ゲートウェイ識別子と、資源5の利用が許可されるか否かの判断結果を示す許可とから構成されるテーブル(制御情報テーブル)を管理する。図14は、ゲートウェイ識別子が付加された制御情報テーブルの一例を模式的に示す図である。
図14では、資源端末識別子「192.168.10.xx」には、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」と、ゲートウェイ識別子「abcd-efgh」と、許可「true」とが対応付けられており、資源端末識別子「xxx.xxx.xxx.xxx」には、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」と、ゲートウェイ識別子「abcd-efgh」と、許可「false」とが対応付けられており、資源端末識別子「192.168.20.xx」には、ユーザ端末識別子「B1:B2:B3:B4:B5:B6」と、ゲートウェイ識別子「stuv-wxyz」と、許可「false」とが対応付けられており、資源端末識別子「xxx.xxx.xxx.xxx」には、ユーザ端末識別子「B1:B2:B3:B4:B5:B6」と、ゲートウェイ識別子「stuv-wxyz」と、許可「false」とが対応付けられている例を示している。
つまり、ユーザ端末識別子「A1:A2:A3:A4:A5:A6」で示されるユーザ端末装置は、資源端末識別子「192.168.10.xx」で示される資源(Printer)の利用が可能であるが、資源端末識別子「xxx.xxx.xxx.xxx」で示される資源(Cloud)の利用は許可されない。
また、ユーザ端末識別子「B1:B2:B3:B4:B5:B6」で示されるユーザ端末装置は、資源端末識別子「192.168.20.xx」で示される資源(Printer)と資源端末識別子「xxx.xxx.xxx.xxx」で示される資源(Cloud)の利用が許可されない。
このようにして、情報処理システム8では、管理装置4は、ユーザ端末装置6が配置される構内通信網とは異なる場所(クラウド環境)に配置され、中継装置7が構内通信網に一意に配置される。また、構内通信網および中継装置7は、1つの管理装置4に対して複数存在する。なお、管理装置4と中継装置7とは、例えば、WebSocketにより常時接続状態にあり、どちらからでも通信を開始することができる。WebSocketとは、コンピュータネットワーク用の通信規格であり、Webアプリケーション(管理装置4)において、双方向通信を実現するための技術規格である。
よって、情報処理システム8は、管理装置4が中継装置7を識別するためのゲートウェイ識別子を管理しているため、構内通信網の識別が可能となり、また、構内通信網に配置されている資源5の識別も可能となる。なお、制御情報生成部45は、制御情報を生成する場合、図13に示す通信制御対象機器情報テーブルの資源端末識別子とゲートウェイ識別子とを対応させて生成する。
また、情報処理システム8は、複数の構内通信網を一括で管理することができ、学習進捗度を維持したまま、構内通信網間において、ユーザ端末装置6を自由に移動させることができる。
また、第1管理部41は、ユーザが学習を行った日時に関する情報(更新日時)を学習進捗度情報に付加して管理し、日時に関する情報に基づいて、学習進捗度情報を変更する構成でもよい。この構成は、第1実施形態にかかる情報処理システム1により実現されてもよいし、第2実施形態にかかる情報処理システム8により実現されてもよい。
図15は、更新日時が付加された学習進捗度情報が管理されているテーブル(学習進捗情報テーブル)の一例を模式的に示す図である。図15では、ユーザ識別子「YAMADA」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「80」と更新日時「2017.04.01.12.00」とが対応付けられ、学習識別子「StudyB」で示される学習Bの学習進捗度「20」と更新日時「2017.12.20.12.25」とが対応付けられている例を示している。
また、図15では、ユーザ識別子「SUZUKI」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「0」と更新日時「0000.00.00.00.00」とが対応付けられ、学習識別子「StudyB」で示される学習Bの学習進捗度が「0」と更新日時「0000.00.00.00.00」とが対応付けられている例を示している。
第1管理部41は、例えば、現在の日時を基準にして、所定の期間(例えば、3か月など)以上、学習の更新がない場合、学習進捗度を所定のポイント(例えば、10ポイントなど)低減する処理を行う場合を考える。現在の日時が「2017年12月25日12時00分」である場合、ユーザ識別子「YAMADA」で示されるユーザは、学習識別子「StudyA」で示される学習Aについて、3か月以上更新していない。第1管理部41は、学習進捗度を「90」から「80」に変更する。
このようにして、情報処理システム8は、学習を行ってからの時間の経過に基づいて、学習進捗度を動的に変更する。よって、情報処理システム8は、「学習の記憶が時間経過によって徐々に下がっていく」という現実の問題に対処することができる。また、情報処理システム8は、ITリテラシーが低いユーザによる資源の利用を防止することができる。また、情報処理システム8は、定期的な再学習をユーザに促すことで、ITリテラシーの水準を維持することができる。
また、第1管理部41は、学習に合格した回数の情報(累積合格回数)を学習進捗度情報に付加して管理し、学習に合格した回数の情報に基づいて、学習進捗度情報を変更する構成でもよい。この構成は、第1実施形態にかかる情報処理システム1により実現されてもよいし、第2実施形態にかかる情報処理システム8により実現されてもよい。
ここで、累積合格回数は、短時間のうちに恣意的に増加してはならない。例えば、「利用状況が不許可から許可に変わったときのみ増加」、または、「更新日時から一定時間経過していなければ増加しない」などの条件を設ける。
図16は、更新日時と累積合格回数が付加された学習進捗度情報が管理されているテーブル(学習進捗情報テーブル)の一例を模式的に示す図である。図16では、ユーザ識別子「YAMADA」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「90」と、更新日時「2017.04.01.12.00」と、累積合格回数「10」とが対応付けられ、学習識別子「StudyB」で示される学習Bの学習進捗度「20」と、更新日時「2017.12.20.12.25」と、累積合格回数「2」とが対応付けられている例を示している。
また、図15では、ユーザ識別子「SUZUKI」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「0」と、更新日時「0000.00.00.00.00」と、累積合格回数「0」とが対応付けられ、学習識別子「StudyB」で示される学習Bの学習進捗度が「0」と、更新日時「0000.00.00.00.00」と、累積合格回数「0」とが対応付けられている例を示している。
第1管理部41は、例えば、現在の日時を基準にして、所定の期間(例えば、3か月など)以上、学習の更新がない場合、学習進捗度を所定のポイント(例えば、10ポイントなど)低減するが、累積合格回数が一定回数(例えば、5回)以上の場合には、学習進捗度を変更しない処理を行う場合を考える。
現在の日時が「2017年12月25日12時00分」である場合、ユーザ識別子「YAMADA」で示されるユーザは、学習識別子「StudyA」で示される学習Aについて、3か月以上更新していないが、累積合格回数が「10」回である。第1管理部41は、学習進捗度を「90」から変更しない。
よって、情報処理システム8は、「学習回数が多いほど忘れにくい」という人間の性質(忘却曲線)に即した効果が実現できる。例えば、情報処理システム8は、累積合格回数が一定回数以上の場合、更新日時に関わらず学習進捗度を低減しないことにより、必要性の低い再学習を避けることができる。
また、情報処理システム8は、累積合格回数と負の相関をもつ係数を用いる構成でもよい。例えば、情報処理システム8は、累積合格回数が「10」の場合には、累積合格回数が「1」の場合よりも、学習進捗度を低減する速度を1/10にすることが考えられる。よって、情報処理システム8は、学習を行ってからの時間の経過に基づいて、変更される学習進捗度の速度を累積合格回数によって調整することができる。
また、第1管理部41は、学習に不合格した回数の情報(連続不合格回数)を学習進捗度情報に付加して管理し、学習に不合格した回数の情報に基づいて、学習進捗度情報を変更する構成でもよい。この構成は、第1実施形態にかかる情報処理システム1により実現されてもよいし、第2実施形態にかかる情報処理システム8により実現されてもよい。
図17は、連続不合格回数が付加された学習進捗度情報が管理されているテーブル(学習進捗度情報テーブル)の一例を模式的に示す図である。図17では、ユーザ識別子「YAMADA」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「90」と連続不合格回数「0」とが対応付けられ、学習識別子「StudyB」で示される学習Bの学習進捗度「0」と連続不合格回数「5」とが対応付けられている例を示している。
また、図17では、ユーザ識別子「SUZUKI」で示されるユーザについて、学習識別子「StudyA」で示される学習Aの学習進捗度「0」と連続不合格回数「0」とが対応付けられ、学習識別子「StudyB」で示される学習Bの学習進捗度が「0」と連続不合格回数「0」とが対応付けられている例を示している。
第1管理部41は、例えば、連続不合格回数が一定回数(例えば、5回など)以上の場合、学習進捗度を低減(例えば、学習進捗度を「0」にするなど)する処理を行う場合を考える。ユーザ識別子「YAMADA」で示されるユーザは、学習識別子「StudyB」で示される学習Bについて、連続不合格回数が「5」である。第1管理部41は、学習進捗度を「20」から「0」に変更する。
このようにして、情報処理システム8は、例えば、「学習に対する本気度が低い」または「内容を理解しようとせず機械的に何度もトライしている」などの不自然な学習状況を検知して、該当するユーザに対してペナルティを与えることができる。また、情報処理システム8は、潜在的に不自然な学習状況を防ぐことが期待できる。
また、第4管理部44は、一つの資源5の利用を許可する条件を複数の学習の学習進捗度によって管理する構成でもよい。この構成は、第1実施形態にかかる情報処理システム1により実現されてもよいし、第2実施形態にかかる情報処理システム8により実現されてもよい。
図18は、資源5の利用を許可する条件が管理されているテーブル(利用可能条件情報テーブル)の一例を模式的に示す図である。図18では、資源識別子「Printer」で示される装置について、学習識別子「StudyA」で示される学習Aの利用許可進捗度「80」と、学習識別子「StudyC」で示される学習Cの利用許可進捗度「90」とが対応づけられ、資源識別子「Cloud」で示される装置について、学習識別子「StudyB」で示される学習Bの利用許可進捗度「100」と、学習識別子「StudyC」で示される学習Cの利用許可進捗度「90」と、学習識別子「StudyD」で示される学習Dの利用許可進捗度「60」とが対応付けられている例を示している。
つまり、資源識別子「Printer」で示される装置は、学習Aの学習進捗度が「80」以上であり、かつ、学習Cの利用許可進捗度「90」以上の場合に利用が許可される。また、資源識別子「Cloud」で示される装置は、学習Bの学習進捗度が「100」であり、学習Cの学習進捗度が「90」以上であり、学習Dの学習進捗度が「60」以上の場合に利用が許可される。
情報処理システム8は、資源識別子「Printer」で示される装置と、資源識別子「Cloud」で示される装置とを利用するために必要となる学習にITリテラシーの基本的な学習Cを設定することにより、複数の資源5で重複する学習内容を減らしてユーザに効率的な学習を提示できる。
また、情報処理システム8は、図18に示す利用可能条件情報テーブルにおいて、必要に応じて学習と利用許可進捗度を追加、変更、または削除することができる。例えば、社会の変化等に伴って資源識別子「Cloud」で示される装置に新たな学習が必要と判断された場合などに、必要な学習を柔軟に追加、変更、または削除することができる。
つぎに、制御情報を生成するときの手順について説明する。図19は、制御情報を生成する手順を示すフローチャートである。本実施例では、1つの資源に対して複数の学習を設定するため、学習進捗度に変更があった場合、複数の資源に影響する可能性がある。そのため、制御情報を生成する手順は、上述した図8で説明した手順とは異なる。
つぎに、制御情報を生成するときの手順について説明する。図19は、制御情報を生成する手順を示すフローチャートである。
ステップST41において、制御情報生成部45は、ユーザの学習進捗度情報を取得する。
ステップST42において、制御情報生成部45は、資源5の利用を許可する条件を取得する。
ステップST43において、制御情報生成部45は、資源情報を取得する。
ステップST44において、制御情報生成部45は、ユーザ端末装置情報を取得する。
ステップST45において、制御情報生成部45は、学習を必要とする資源識別子の一覧を取得する。
ステップST46において、制御情報生成部45は、ステップST45の工程において取得した資源識別子を示す資源について、必要となる学習識別子の一覧を取得する。
ステップST47において、制御情報生成部45は、学習進捗度と利用許可進捗度とを比較し、学習進捗度が利用許可進捗度を充足しているかどうかを判断する。学習進捗度が利用許可進捗度を充足していると判断した場合(ステップST47 YES)には、ステップST48に進み、学習進捗度が利用許可進捗度を充足していないと判断した場合(ステップST47 NO)には、ステップST50に進む。
ステップST48において、制御情報生成部45は、対象となる資源を利用するに際して、他に学習が存在するか否かを判断する。他に学習が存在する場合(ステップST48 YES)には、ステップST46に戻り、他に学習が存在しない場合(ステップST48 NO)には、ステップST49に進む。
ステップST49において、制御情報生成部45は、対象となる資源の利用(アクセス)を許可(true)する。
ステップST50において、制御情報生成部45は、対象となる資源の利用(アクセス)を不許可(false)にする。
ステップST51において、制御情報生成部45は、他に資源が存在するか否かを判断する。他に資源が存在すると判断した場合(ステップST51 YES)には、ステップST45に戻り、他に資源が存在しないと判断した場合(ステップST51 NO)には、ステップST52に進む。
ステップST52において、制御情報生成部45は、制御情報を生成する。
ステップST53において、制御情報生成部45は、記憶部47に生成した制御情報を保存する。なお、すでに記憶部47に制御情報が保存されている場合には、古い制御情報を破棄または上書きして、新しい制御情報に更新する。
ステップST54において、通信部46は、記憶部47に記憶されている制御情報を通信制御装置2に送信する。なお、制御情報生成部45は、制御情報を通信制御装置2に送信するように通信部46に指示してもよい。
また、情報処理システム8は、中継装置7が配置されている構内通信網の特性情報(構内網特性)と中継装置情報とを対応付けて管理する第5管理部48を備える構成でもよい。第4管理部44は、資源5の利用を許可する条件を学習進捗度と構内通信網の特性情報とによって管理する。
図20は、構内網特性が管理されているテーブル(構内網情報テーブル)の一例を模式的に示す図である。図20では、ゲートウェイ識別子「abcd-efgh」に構内網特性「PUBLIC_SPACE」が対応づけられ、ゲートウェイ識別子「stuv-wxyz」に構内網特性「STAFF_ROOM」が対応づけられている例を示している。
図21は、資源5の利用を許可する条件が管理されているテーブル(利用許可条件情報テーブル)の一例を模式的に示す図である。図21では、資源識別子「Printer」で示される装置について、学習識別子「StudyA」と、構内網特性「PUBLIC_SPACE」と、利用許可進捗度「0」とが対応付けられ、また、学習識別子「StudyA」と、構内網特性「STAFF_ROOM」と、利用許可進捗度「80」とが対応付けられている例を示している。
つまり、資源識別子「Printer」で示される装置は、構内網特性「PUBLIC_SPACE」(不特定多数の人が利用できる構内網)において、利用許可進捗度が「0」、すなわち、どのユーザ端末装置6でも利用が許可されるが、構内網特性「STAFF_ROOM」(機密情報を扱う構内網)において、利用許可進捗度が「80」、すなわち、ある程度の学習を行っていないと利用が許可されない。
また、図21では、資源識別子「Cloud」で示される装置について、学習識別子「StudyB」と、構内網特性「PUBLIC_SPACE」と、利用許可進捗度「10」とが対応付けられ、また、学習識別子「StudyB」と、構内網特性「STAFF_ROOM」と、利用許可進捗度「100」とが対応付けられている例を示している。
つまり、資源識別子「Cloud」で示される装置は、構内網特性「PUBLIC_SPACE」(不特定多数の人が利用できる構内網)において、利用許可進捗度が「10」、すなわち、簡単な質問に答える程度の学習で利用が許可されるが、構内網特性「STAFF_ROOM」(機密情報を扱う構内網)において、利用許可進捗度が「100」、すなわち、本格的な学習を行ってないと利用が許可されない。
このようにして、情報処理システム8は、構内網特性に応じて、アクセス制限を比較的緩めるような制御情報を生成したり、逆にアクセス制限を厳しくするような制御情報を生成することができる。
なお、制御情報生成部45は、図13に示すゲートウェイ識別子が付加された通信制御対象機器情報テーブルから取得したゲートウェイ識別子と、図20に示す構内網情報テーブルから取得した構内網特性と、図21に示す利用許可条件情報テーブルから取得した利用許可進捗度とに基づいて、制御情報を生成する。
中継装置7は、資源5に対してアクセスする機能を有する。つまり、中継装置7の管理対象に資源5が含まれることになる。図22は、中継装置7が資源5a,5bにアクセス可能であることを模式的に示す図である。
また、管理装置4は、中継装置7を介して資源5から情報を取得する取得部49を備える。
例えば、取得部49は、中継装置7を介して、資源5の利用履歴を取得する。制御情報生成部45は、取得部49で取得した資源5の履歴情報に基づいて、セキュリティ上の問題のある行為を行ったユーザ端末装置6を特定する。制御情報生成部45は、第1管理部41に対象となるユーザ識別子の学習進捗度を低下させるように指示する。制御情報生成部45は、学習進捗度が低下したことにより、学習進捗度が利用許可進捗度未満になれば、対象となったユーザ端末識別子の許可を「true」から「false」に変更した制御情報を生成する。
制御情報生成部45は、対象となるユーザ端末装置6が配置されている構内通信網の中継装置7を介して、通信制御装置2に制御情報を送信する。対象となるユーザ端末装置6は、通信処理装置3の制御によって、資源5の利用ができなくなる。
また、例えば、取得部49は、中継装置7を介して、資源5のシリアル番号を取得することができる。よって、管理装置4は、定期的に構内通信網に配置されているすべての資源5のシリアル番号を取得しておくことにより、IPアドレスなどを更新し続けることができる。
図23は、管理装置4のハードウェア構成例を示す図である。管理装置4は、コンピュータであり、プロセッサ301と、メモリ302と、インターフェイス303とを備える。
図2に示した記憶部47および図12に示した記憶部47は、メモリ302により実現される。
図2に示した通信部46および図12に示した通信部46は、インターフェイス303により実現される。
プロセッサ301は、例えば、CPU(Central Processing Unit)、マイクロプロセッサなどであり、処理回路である。メモリ302は、プロセッサ301によりプログラムが実行される際の記憶領域としても用いられる。
図2に示した第1管理部41、第2管理部42、第3管理部43、第4管理部44および制御情報生成部45、図12に示した第1管理部41、第2管理部42、第3管理部43、第4管理部44、制御情報生成部45、第5管理部48および取得部49は、メモリ302に格納されたプログラムがプロセッサ301により実行されることにより実現される。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。