(57)【要約】パケットの送信元であるノードまたは送信先であるノードの現在の通信状況に応じたアクセス制御を実現する。制御指示装置は、制御実施装置を介して通信を行うノード間の通信状況を通信状況記憶部に記憶する通信状況管理部と、問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、前記通信状況記憶部を参照することにより取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する決定部と、決定した処理方法制御実施装置に対して指示する指示部と、を備える。
2015145976.tif 000002
【特許請求の範囲】
【請求項１】
パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置を介して、通信を行うノード間の通信状況を通信状況記憶手段に記憶する通信状況管理手段と、
前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、前記通信状況記憶手段を参照することにより取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する決定手段と、
前記決定した処理方法を前記制御実施装置に対して指示する指示手段と、
を備える、制御指示装置。
【請求項２】
前記決定手段は、
ノードと、当該ノードと他のノードとの間の通信状況と、当該ノードの当該通信状況におけるロールと、が関連付けられている情報である第１の情報と、
パケットの送信元ノードのロールと送信先ノードのロールとの組み合わせと、当該パケットの処理方法と、が関連付けられている情報である第２の情報と、
を参照することにより、パケットの処理方法を決定する、
請求項１に記載の制御指示装置。
【請求項３】
前記通信状況は、あるノードが他のノードとコネクションを現在確立している状況か否かを表す情報である、請求項１または２のいずれかに記載の制御指示装置。
【請求項４】
前記第１の情報は、ノードと、当該ノードが特定のノードとコネクションを現在確立している状態か否かを示す情報と、当該ノードの当該通信状況におけるロールと、がさらに関連付けられている情報である、
請求項３に記載の制御指示装置。
【請求項５】
前記第１の情報は、ノードと、当該ノードの現在の位置情報と、当該ノードの通信状況と、当該ノードの当該位置情報および当該通信状況におけるロールと、がさらに関連付けられている情報であり、
前記決定手段は、前記送信元ノードの現在の位置情報を取得し、当該位置情報に基づいて前記第１の情報を参照し、パケットの処理方法を決定する、請求項２ないし４のいずれかに記載の制御指示装置。
【請求項６】
前記第１の情報は、ノードと、当該ノードを現在利用しているユーザを表す情報である利用状況と、当該ノードの通信状況と、当該ノードの当該利用状況および当該通信状況におけるロールと、がさらに関連付けられている情報であり、
前記決定手段は、前記送信元ノードの利用状況を取得し、当該利用状況に基づいて前記第１の情報を参照し、パケットの処理方法を決定する、請求項２ないし４のいずれかに記載の制御指示装置。
【請求項７】
制御実施装置と制御指示装置とを含む通信システムであって、
前記制御実施装置は、
パケットの処理方法を前記制御指示装置に対して問い合わせる問い合わせ手段と、
前記問い合わせに対する指示に基づいて前記パケットを処理するパケット処理手段と、を備え、
前記制御指示装置は、
前記制御実施装置を介して通信を行うノード間の通信状況を通信状況記憶手段に記憶する通信状況管理手段と、
前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、前記通信状況記憶手段を参照することにより取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する決定手段と、
前記決定した処理方法を前記制御実施装置に対して指示する指示手段と、
を備える、通信システム。
【請求項８】
パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置と、通信可能に接続される制御指示装置が、前記制御実施装置を介したノード間の通信状況を通信状況記憶手段に記憶し、
前記通信状況記憶手段を参照することにより、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードの通信状況を取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の通信状況に基づいて、当該パケットの処理方法を決定し、
前記制御実施装置に対して前記決定した処理方法を指示する、
制御方法。
【請求項９】
パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置と、通信可能に接続されるコンピュータに、
前記制御実施装置を介したノード間の通信状況を通信状況記憶手段に記憶する処理と、
前記通信状況記憶手段を参照することにより、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードの通信状況を取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の通信状況に基づいて、当該パケットの処理方法を決定する処理と、
前記制御実施装置に対して前記決定した処理方法を指示する処理と、
を実行させるプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
【請求項１０】
請求項１ないし６のいずれかに記載の制御指示装置と通信可能に接続される前記制御実施装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、制御指示装置、制御実施装置、通信制御方法およびプログラムを記憶する記憶媒体に関する。
【背景技術】
【０００２】
近年、プログラマブルフローまたはオープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で、経路制御、障害回復、負荷分散、そして最適化を行う技術である。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（フローテーブルの定義は、例えば、非特許文献２の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」の項に記載されている）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「４．３  Ｍａｔｃｈ  Ｆｉｅｌｄｓ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容を実施する。処理内容は、例えば、指定ポートからのパケット送信、フラッディングまたは廃棄等である。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。【０００４】
特許文献１には、ロールベースアクセス制御（Ｒｏｌｅ−Ｂａｓｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ、以下、「ＲＢＡＣ」）を行うアクセス制御装置の一例が開示されている。特許文献１が開示するアクセス制御装置は、ユーザ情報テーブルと、ロール情報テーブルと、アクセス制御テーブルとを有する。ユーザ情報テーブルは、ユーザと当該ユーザが有する属性値とを関連付けて記憶している。ロール情報テーブルは、属性値の組み合わせと、当該属性値の組み合わせにより定義されるロールとを関連付けて記憶している。アクセス制御テーブルは、コンテンツとロールＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）とを関連付けて記憶している。ロールＩＤにより、当該コンテンツのアクセス条件が規定される。特許文献１が開示するアクセス制御装置は、ユーザ情報テーブルとロール情報テーブルとに基づいて、ロールに対応する属性値を有するユーザのリストを、当該ロール毎にユーザリスト情報テーブルに設定する。コンテンツへのアクセス要求が発生した場合、アクセス制御部は、アクセス制御テーブルに基づいてアクセス条件のロールを特定し、特定したロールのユーザリストにアクセスユーザが含まれるか否かに応じてアクセス権限を判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１１７８８５号公報
【非特許文献】
【０００６】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、”ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［２０１４年１月３１日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】”ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［２０１４年１月３１日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明の発明者によって与えられた。非特許文献１および非特許文献２が開示する技術を用いて通信経路上のオープンフロースイッチにロールを考慮したフローエントリを設定することにより、特許文献１が開示するようなロールベースのアクセス制御はもちろんのこと、経路制御まで実現可能となる。【０００８】
しかしながら、先行技術文献が開示する技術では、パケットの送信元または送信先であるノードの現在の通信状況に応じたアクセス制御はできないという問題点がある。その理由は、先行技術文献が開示する技術には、あるノードの現在の通信状況を検出して、アクセス制御を行う仕組みが存在しないからである。【０００９】
例えば、下記に示すようなポリシ１およびポリシ２を含むセキュリティガイドラインを定めている会社があると想定する、
・ポリシ１：顧客の機密情報が格納されているノードＣにノードＡがアクセスしている間は、ノードＡからノードＢへの通信を許可しない、
・ポリシ２：ノードＣにノードＡがアクセスしていない間は、ノードＡからノードＢへの通信を許可する。【００１０】
先行技術文献が開示する技術では、上記のセキュリティガイドラインに沿ったアクセス制御を実現することはできない。本発明は、パケットの送信元であるノードまたは送信先であるノードの現在の通信状況に応じたアクセス制御を実現することを目的の一つとする。
【課題を解決するための手段】
【００１１】
本発明の第１の側面は、パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置を介して、通信を行うノード間の通信状況を通信状況記憶部に記憶する通信状況管理部と、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、前記通信状況記憶部を参照することにより取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する決定部と、前記決定した処理方法を前記制御実施装置に対して指示する指示部と、を備える、制御指示装置である。【００１２】
本発明の第２の側面は、制御実施装置と制御指示装置とを含む通信システムであって、前記制御実施装置は、パケットの処理方法を前記制御指示装置に対して問い合わせる問い合わせ部と、前記問い合わせに対する指示に基づいて前記パケットを処理するパケット処理部と、を備え、前記制御指示装置は、前記制御実施装置を介して通信を行うノード間の通信状況を通信状況記憶部に記憶する通信状況管理部と、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、前記通信状況記憶部を参照することにより取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する決定部と、前記決定した処理方法を前記制御実施装置に対して指示する指示部と、を備える、通信システムである。【００１３】
本発明の第３の側面は、パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置と、通信可能に接続される制御指示装置が、前記制御実施装置を介したノード間の通信状況を通信状況記憶部に記憶し、前記通信状況記憶部を参照することにより、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードの通信状況を取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の通信状況に基づいて、当該パケットの処理方法を決定し、前記制御実施装置に対して前記決定した処理方法を指示する、制御方法である。【００１４】
本発明の第４の側面は、パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置と、通信可能に接続されるコンピュータに、前記制御実施装置を介したノード間の通信状況を通信状況記憶部に記憶する処理と、前記通信状況記憶部を参照することにより、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードの通信状況を取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の通信状況に基づいて、当該パケットの処理方法を決定する処理と、前記制御実施装置に対して前記決定した処理方法を指示する処理と、を実行させるプログラムを記憶するコンピュータ読み取り可能な記憶媒体である。【００１５】
また、本発明の目的は、上記コンピュータ読み取り可能な記憶媒体に格納されるプログラムによっても達成される。
【発明の効果】
【００１６】
本発明によれば、パケットの送信元または送信先であるノードの、現在の通信状況に応じたアクセス制御を実現することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の第１の実施形態にかかる通信システム１０００の構成を示すブロック図である。
【図２】図２は、本発明の第１の実施形態にかかる通信システム１０００の構成を示すブロック図である。
【図３】図３は、本発明の第１の実施形態にかかる指示キャッシュ１３０が記憶する情報の一例を示す図である。
【図４】図４は、本発明の第１の実施形態にかかる通信状況記憶部２４０が記憶する情報の一例を示す図である。
【図５】図５は、本発明の第１の実施形態にかかる第１のテーブル２５０が記憶する情報の一例を示す図である。
【図６】図６は、本発明の第１の実施形態にかかる第２のテーブル２６０が記憶する情報の一例を示す図である。
【図７】図７は、本発明の第１の実施形態にかかる通信システム１０００の処理の概要を説明する図である。
【図８】図８は、本発明の第１の実施形態にかかる通信システム１０００の処理の概要を説明する図である。
【図９】図９は、本発明の第１の実施形態にかかる通信システム１０００の動作の一例を説明するシーケンス図である。
【図１０】図１０は、本発明の第１の実施形態にかかる通信システム１０００の動作の一例を説明するシーケンス図である。
【図１１】図１１は、本発明の第１の実施形態にかかる第１のテーブル２５１が記憶する情報の一例を示す図である。
【図１２】図１２は、本発明の第１の実施形態にかかる第１のテーブル２５２が記憶する情報の一例を示す図である。
【図１３】図１３は、本発明の第２の実施形態にかかる通信システム１０００Ａの構成を示すブロック図である。
【図１４】図１４は、本発明の第３の実施形態にかかる通信制御装置３００Ｂの構成を示すブロック図である。
【図１５】図１５は、本発明の各実施形態に係る、通信実施装置及び制御指示装置、又は、通信制御装置を実現できるコンピュータの構成の例を表すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
（用語の説明）
ノードとは、例えば端末（情報処理装置）である。ノードは、例えば、仮想化ソフトウェアによって実現される仮想ノードであってもよい。
【００２０】
パケットの送信元ノードとは、当該パケットを送信したノードを示す用語である。パケットの送信先ノードとは、当該パケットの宛先であるノードを示す用語である。以下、パケットの送信元ノードを識別する情報を「送信元ノード識別子」と記載する。以下、パケットの送信先ノードを識別する情報を「送信先ノード識別子」と記載する。ノード識別子は、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスやＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスであるが、これらのみには限定されない。
【００２１】
＜第１の実施形態＞
図１は、第１の実施形態にかかる通信システム１０００の構成を示すブロック図である。図１に示すように、通信システム１０００は、制御実施装置１００と、制御指示装置２００とを含む。
【００２２】
制御実施装置１００は、例えばネットワークスイッチ（以下では、「スイッチ」とも表記する）である。ネットワークスイッチは、通信ネットワーク（以下では、「ネットワーク」とも表記する）において、例えば、その通信ネットワークを流れるパケットの、転送先の機器を切り替えることによって、通信経路を切り替えることができる通信装置である。制御実施装置１００は、ネットワークに接続されており、受信したパケットを転送する処理を行う。制御実施装置１００は、制御指示装置２００からパケット処理方法についての指示を受け付ける。制御実施装置１００は、制御指示装置２００から指示されたパケット処理方法に従って、受信したパケットを転送する。
【００２３】
制御指示装置２００は例えばコントローラである。制御指示装置２００は、ネットワークに接続されており、ネットワークを介して制御実施装置１００と接続されている。制御指示装置２００は、パケット転送方法について制御実施装置１００から問い合わせを受ける。制御指示装置２００は、当該問い合わせに対する指示を制御実施装置１００に与える。
【００２４】
図２は、図１に示す制御実施装置１００および制御指示装置２００の詳細な構成を示すブロック図である。
【００２５】
（制御実施装置１００の構成）
図２に示すように、制御実施装置１００は、パケット処理部１１０と、問い合わせ部１２０と、指示キャッシュ１３０と、を備える。
【００２６】
パケット処理部１１０について説明する。パケット処理部１１０は、受信したパケットを、指示キャッシュ１３０に記憶されている処理方法に基づいて処理する。
【００２７】
問い合わせ部１２０について説明する。受信したパケットの処理方法が指示キャッシュ１３０に記憶されていなかった場合、問い合わせ部１２０は、受信したパケットの処理方法を制御指示装置２００に問い合わせる。また、問い合わせ部１２０は、前記問い合わせに対する指示（すなわちパケット処理方法）を制御指示装置２００から受信する。問い合わせ部１２０は、受信したパケット処理方法を指示キャッシュ１３０に書き込む。これにより、同一の特徴を持つパケットは、指示キャッシュ１３０に記憶されたエントリを用いて処理される。
【００２８】
指示キャッシュ１３０について説明する。指示キャッシュ１３０は、制御指示装置２００から受信したパケット処理方法を示すエントリを記憶する。例えば制御実施装置１００がオープンフロースイッチである場合、指示キャッシュ１３０はフローテーブルに相当する。
【００２９】
図３は、指示キャッシュ１３０が記憶する情報の一例を示す図である。図３に示すように、指示キャッシュ１３０は複数のエントリを記憶している。エントリは、パケットの送信元ノードのノード識別子（すなわち、送信元ノード識別子）と、当該パケットの送信先ノードのノード識別子（すなわち、送信先ノードの識別子）と、当該パケットの処理方法とが、関連付けられている情報である。例えば、制御実施装置１００が受信したパケットの送信元ノードがノード４であり、かつ、送信先ノードがノード５である場合、制御実施装置１００は当該パケットをポート１へ送信すべきことを、図３に示した表における１行目のエントリは示している。
【００３０】
（制御指示装置２００）
図２を参照する説明に戻る。図２に示すように、制御指示装置２００は、指示部２１０と、決定部２２０と、通信状況管理部２３０と、通信状況記憶部２４０と、第１のテーブル２５０と、第２のテーブル２６０とを、備える。本実施形態の説明では、第１のテーブル２５０及び第２のテーブル２６０は、例えばテーブルの形式で、情報を記憶する記憶部を表す。本実施形態の説明において、第１のテーブル２５０は、第１の情報記憶部２５０とも表記される。同様に、第２のテーブル２６０は、第２の情報記憶部２６０とも表記される。
【００３１】
指示部２１０について説明する。指示部２１０は、制御実施装置１００からパケットの処理方法について問い合わせを受ける。また、指示部２１０は、制御実施装置１００に対して当該パケットの処理方法を指示する。また、指示部２１０は、指示キャッシュ１３０が記憶している特定のエントリを削除する指示を、所定のタイミングで制御実施装置１００に対して送信する。
【００３２】
決定部２２０について説明する。決定部２２０は、当該パケットのヘッダに格納された情報を参照することにより、当該パケットの送信元ノード識別子と、送信先ノード識別子とを取得する。決定部２２０は、送信元ノード識別子および送信先ノード識別子に基づいて、通信状況記憶部２４０、第１のテーブル２５０および第２のテーブル２６０を検索する。第１のテーブル２５０および第２のテーブル２６０の詳細については後述する。決定部２２０は、検索して得られた結果に基づいて当該パケットの処理方法を決定する。
【００３３】
通信状況管理部２３０について説明する。あるパケットの送信元ノードと送信先ノードとの間にコネクションが確立されたことを制御指示装置２００が検出した場合、通信状況管理部２３０は、当該パケットについてのエントリを通信状況記憶部２４０に記憶する。エントリは、当該パケットの送信元ノード識別子と送信先ノード識別子とが関連付けられている情報を含む。
【００３４】
または、あるパケットの送信元ノードと送信先ノードとの間にコネクションを確立することを決定部２２０が許可した場合、通信状況管理部２３０は、当該パケットについてのエントリを通信状況記憶部２４０に記憶する。
【００３５】
あるパケットの送信元ノードと送信先ノードとの間のコネクションが切断されたことを制御指示装置２００が検出した場合、通信状況管理部２３０は、当該パケットについてのエントリを通信状況記憶部２４０から削除する。または、あるパケットの送信元ノードと送信先ノードとの間のコネクションを切断することを決定部２２０が決定した場合、通信状況管理部２３０は、当該パケットについてのエントリを通信状況記憶部２４０から削除する。
【００３６】
すなわち、通信状況記憶部２４０にエントリが記憶されていることは、当該エントリにおける送信元ノードと送信先ノードとの間に、現在コネクションが確立されている状態であることを示す。通信状況管理部２３０は、通信状況記憶部２４０に上記のようなエントリが記憶されている状態が保たれるように動作すればよい。通信状況管理部２３０の動作は、上述した具体例には限定されない。
【００３７】
通信状況記憶部２４０について説明する。通信状況記憶部２４０は、送信元ノード識別子と送信先ノード識別子が関連付けられているエントリを記憶している。図４は、通信状況記憶部２４０に保持されるエントリの一例を示す図である。図４に例示する１行目のエントリは、送信元ノード識別子と、送信先ノード識別子と、サービスまたはプロトコルの識別子とを含む。
【００３８】
通信状況記憶部２４０は、例えば、ネットワークの各レイヤの識別子など、複数の識別子を記憶してもよい。通信状況記憶部２４０は、例えば、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ２（Ｌ２）の識別子であるＭＡＣアドレスやレイヤ３（Ｌ３）の識別子であるＩＰアドレスを記憶してもよい。通信状況記憶部２４０は、同様に、送信先の識別子も複数記憶してもよい。また、通信状況記憶部２４０は、送信元および送信先のサービスやプロトコルの識別子についても、１つだけではなく、複数記憶してもよい。
【００３９】
通信状況記憶部２４０は、送信元ノード識別子または送信先ノード識別子に代えて、ポート番号を記憶していてもよい。
【００４０】
第１のテーブル２５０（すなわち、第１の情報記憶部２５０）について説明する。第１のテーブル２５０は、ノードの識別子と、当該ノードの現在の通信状況と、当該ノードの現在の通信状況におけるロールと、が関連付けられている情報（すなわち、第１の情報）を記憶している。第１のテーブル２５０は、第１の情報を、テーブル形式で記憶していてもよい。第１のテーブル２５０は、第１の情報を、テーブル形式以外の形式で記憶していてもよい。以下、当該ノードの現在の通信状況におけるロールを、単に「ノードのロール」と記載する場合がある。ロールは「役割」と呼ばれる場合もある。通信状況は、例えば、他の特定のノードとのコネクションが確立されているか否かを表す。通信状況は、例えば、ノードの識別子と、その識別子によって特定されるノードとのコネクションが確立されているか否かを表す値と、の組み合わせによって表されていてもよい。
【００４１】
ここで、ロールについて簡単に説明する。ノードのそれぞれについて、ノードがアクセスできる組織ネットワークが決まっている。また、例えば、あるノードは顧客データを扱うノードであり、他のノードはローカルでのみ用いられるノードである、というように、必ずしも同一ではない役割がそれぞれのノードに割り当てられている。これらのノードの役割や重要度は、まとめて、ロールとして表現されている。
【００４２】
図５は、第１のテーブル２５０が記憶する情報の一例を示す図である。図５に示すテーブルにおいて、１行目に示す情報は、ノード１がノード３とコネクションを確立している間は、ノード１のロールは「Ｂ」であることを示す。図５に示すテーブルにおいて、２行目に示す情報は、ノード１がノード３とコネクションを確立していない間は、ノード１のロールは「Ａ」であることを示す。
【００４３】
このように、本実施形態にかかる通信システム１０００は、ノードが現在どのような通信状況にあるかに応じて、当該ノードのロール（役割）が動的に変化する構成を有している。
【００４４】
図５に示すテーブルにおいて、５行目に示す情報は、ノード１０のロールは、現在の通信状況によらず、「Ｄ」であることを示す。なお、図５において５行目および６行目に示す記号「＊」は、ワイルドカードを示す。ワイルドカードによって表されている通信状況は、いずれの通信状況にも適合する。従って、ロールが、いずれかのノードの識別子と、ワイルドカードによって表される通信状況とに関連付けられている場合、その識別子によって表されるノードのロールは、通信状況によらずに定まる。言い換えると、通信状況がワイルドカードによって表されているノードのロールは、通信状況によらずに定まる。このように、現在の通信状況によらずにロールが決まるノードがあってもよい。なお、図５に示すテーブルでは、後述のように、送信元ノード及び送信元ノードの通信状況に最初に適合すると判定されたノード及び通信状況に関連付けられているロールが、その送信元ノードのロールである。
【００４５】
ワイルドカードによって表されているノードの識別子は、いずれのノードの識別子にも適合する。従って、ロールが、ワイルドカードによって表されるノードの識別子と、いずれかの通信状況とに関連付けられている場合、その通信状況にあるノードのロールは、ノードによらずに定まる。図５に示すテーブルにおいて、６行目に示す情報は、現在ノード７とコネクションを確立しているノードのロールは、そのノードがいずれのノードであるかに関わらず、「Ｅ」であることを示す。このように、ノードのロールが、そのノードがいずれのノードであるかに関わらず、決まる場合があってもよい。
【００４６】
第２のテーブル２６０（すなわち、第２の情報記憶部２６０）について説明する。第２のテーブル２６０は、パケットの送信元ノードのロールとそのパケットの送信先ノードのロールとの組み合わせと、当該パケットに対する処理方法と、が関連付けられている情報（すなわち、第２の情報）を記憶している。第２のテーブル２６０は、第２の情報を、テーブル形式で記憶していてもよい。第２のテーブル２６０は、第２の情報を、テーブル形式以外の形式で記憶していてもよい。第２のテーブル２６０が記憶している処理方法は、制御実施装置１００が解釈可能な形式の情報でもよいし、制御実施装置１００がそのままでは解釈できない形式の情報でもよい。図６は、第２のテーブル２６０が記憶する情報の一例を示す図である。
【００４７】
第２のテーブル２６０が記憶する第２の情報において送信元ノードのロール及び送信先ノードのロールは、いずれのロールにも適合する、上述の記号「＊」（すなわち、ワイルドカード）によって表されていてもよい。例えば、送信元ノードのロールがワイルドカードによって表されている場合、送信元ノードのロールによらず、送信先ノードのロールによって処理方法が定まる。送信先ノードのロールがワイルドカードによって表されている場合、送信先ノードのロールによらず、送信元ノードのロールによって処理方法が定まる。
【００４８】
図６に示すテーブルにおいて、１行目に示す情報は、パケットの送信元ノードのロールが「Ａ」であり、送信先ノードのロールが「Ｂ」であるとき、当該パケットの処理方法は「ＡＬＬＯＷおよび排他」であることを示す。「ＡＬＬＯＷおよび排他」は、例えば、パケットを排他的に送信すること（すなわち、そのパケットを、通信路を占有して送信すること）を表す。図６に示すテーブルにおいて、２行目に示す情報は、パケットの送信元ノードのロールによらず、送信先ノードのロールが「Ｃ」であるとき、当該パケットの処理方法は「ＤＥＮＹ」であることを示す。「ＤＥＮＹ」は、例えば、そのパケットの送信を拒否することを表す。
【００４９】
第２のテーブル２６０が記憶する第２の情報は、セキュリティ標準や手順書などのドキュメントなどがデータベース化されたデータベースであってもよい。セキュリティ標準は、例えばＰＣＩ  ＤＳＳ（Ｐａｙｍｅｎｔ  Ｃａｒｄ  Ｉｎｄｕｓｔｒｙ  Ｄａｔａ  Ｓｅｃｕｒｉｔｙ  Ｓｔａｎｄａｒｄ）などである。セキュリティ標準には、例えば、システム運用時に守るべきセキュリティ事項が記述されている。その場合、第２のテーブル２６０は、例えば、自然言語で記述されたセキュリティ標準を、制御指示装置２００が自動判定できるような形式に変換した情報を、第２の情報として記憶する。
【００５０】
（通信制御処理の概要）
図７および図８は、第１の実施形態にかかる通信システム１０００が行う通信制御処理の概要を、概念的に説明する図である。
【００５１】
図７および図８における実線の矢印は、その矢印の元（すなわち始点側）であるノードからその矢印の先（すなわち終点側）であるノードへのパケットの流れを示す。図７および図８における点線の矢印は、その矢印の元であるノードとその矢印の先であるノードとの間でコネクションが確立されている状態であることを表す。
【００５２】
図７において、ノード１は、パケットをこれからノード２宛てに送信しようとしている。すなわち、ノード１は送信元ノードであり、ノード２は送信先ノードである。図７において、ノード１とノード３とは、コネクションが確立されている状態にある。
【００５３】
第１の実施形態にかかる通信システム１０００は、送信元ノードの現在の通信状況に応じて、送信元ノードから送信先ノードへのパケットの流れを制御する。例えば、通信システム１０００は、ノード１が現在ノード３とコネクションを確立しているか否かに応じて、ノード１からノード２へのパケットの流れを制御する。
【００５４】
図８において、ノード１は、これからパケットをノード２宛てに送信しようとしているノードである。すなわち、ノード１は送信元ノードであり、ノード２は送信先ノードである。図８において、ノード２とノード３とは、コネクションが確立されている状態である。
【００５５】
第１の実施形態にかかる通信システム１０００は、送信先ノードの現在の通信状況に応じて、送信元ノードから送信先ノードへのパケットの流れを制御してもよい。例えば、通信システム１０００は、ノード２が現在ノード３とコネクションを確立しているか否かに応じて、ノード１からノード２へのパケットの流れを制御する。
【００５６】
第１の実施形態にかかる通信システム１０００は、送信元ノードの現在の通信状況と、送信先ノードの現在の通信状況との両方を考慮して、送信元ノードから送信先ノードへのパケットの流れを制御してもよい。
【００５７】
（通信システム１０００の動作の説明）
通信システム１０００の動作の一例を、図９を用いて説明する。図９は、第１の実施形態にかかる通信システム１０００の動作の一例を説明するシーケンス図である。以下、送信元ノードがノード１であり、送信先ノードがノード２であるとして説明をする。
【００５８】
送信元ノードであるノード１は、宛先がノード２であるパケットを、制御実施装置１００に送信する。（ステップＳ１０１）。
【００５９】
制御実施装置１００は当該パケットを受信する。制御実施装置１００は、当該パケットのヘッダを参照し、当該パケットの送信元ノード識別子と送信先ノード識別子とを取得する。制御実施装置１００は、送信元ノード識別子と送信先ノード識別子とに基づいて、指示キャッシュ１３０を検索する。具体的には、制御実施装置１００は、指示キャッシュ１３０を検索することによって、当該パケットから取得した、送信元ノード識別子と送信先ノード識別子とを含むエントリ（すなわち、当該パケットに関するエントリ）を抽出する。その送信元ノード識別子によって特定される送信元ノードと、その送信先ノード識別子によって特定される送信先ノードとの間で、コネクションが既に確立している場合、当該パケットに関するエントリが指示キャッシュ１３０に存在する（ステップＳ１０２においてＹＥＳ）。前述のように、指示キャッシュ１３０に記憶されている、当該パケットに関するエントリは、当該パケットの処理方法を含む。制御実施装置１００は、指示キャッシュ１３０に記憶されている、当該パケットの処理方法に従って当該パケットを処理する（ステップＳ１０４）。
【００６０】
指示キャッシュ１３０に当該パケットに関するエントリが存在しない場合（ステップＳ１０２においてＮＯ）、制御実施装置１００は、当該パケットの処理方法について制御指示装置２００に問い合わせる。
【００６１】
制御指示装置２００は、制御実施装置１００からパケットの処理方法についての問い合わせを受け付け、そのパケットの処理方法を決定する（ステップＳ１０３）。制御指示装置２００は、決定した処理方法を制御実施装置１００に指示する。制御指示装置２００は、例えば、決定した処理方法を制御実施装置１００に送信することによって、その処理方法を制御実施装置１００に指示すればよい。ステップＳ１０３に示す動作の詳細は後述する。
【００６２】
制御実施装置１００は、制御指示装置２００から処理方法を受信する。制御実施装置１００は、受信した処理方法に基づいて、当該パケットを処理する（ステップＳ１０４）。
【００６３】
処理方法が、例えば、ノード１からノード２への通信を許可することを表す場合、ノード２は当該パケットを受信する（ステップＳ１０５）。
【００６４】
次に、図９におけるステップＳ１０３に示した動作を、より詳細に説明する。図１０は、ステップＳ１０３に示した動作をさらに詳細に説明するシーケンス図である。
【００６５】
指示部２１０は、制御実施装置１００からパケットの処理方法について問い合わせを受信する（ステップＳ２０１）。
【００６６】
次に決定部２２０は、当該パケットのヘッダ等を参照して、当該パケットの送信元ノード識別子および送信先ノード識別子を取得する。決定部２２０は、取得した送信元ノード識別子および送信先ノード識別子をキーとして、通信状況記憶部２４０を検索する（ステップＳ２０２）。そのように検索することによって、決定部２２０は、当該パケットの送信元ノード識別子を含むエントリを抽出する。加えて、決定部２２０は、当該パケットの送信先ノード識別子を含むエントリを抽出する。
【００６７】
通信状況記憶部２４０は、取得した送信元ノード識別子によって特定される送信元ノードの現在の通信状況を決定部２２０に返す。図９に示す例では、当該パケットの送信元ノードはノード１である。また、通信状況記憶部２４０は、取得した送信先ノード識別子によって特定される送信先ノードの現在の通信状況を決定部２２０に返す。図９に示す例では、当該パケットの送信先ノードはノード２である。通信状況記憶部２４０によって決定部２２０に返される、ノードの通信状況は、例えば、そのノードがコネクションを確立している他のノードを表す情報であってもよい。決定部２２０は、通信状況記憶部２４０が記憶するエントリにおいて当該パケットの送信元ノード識別子に関連付けられているノードの識別子を、通信状況記憶部２４０から読み出せばよい。加えて、決定部２２０は、通信状況記憶部２４０が記憶するエントリにおいて当該パケットの送信先ノード識別子に関連付けられているノードの識別子を、通信状況記憶部２４０から読み出せばよい。以上のように、あるノードの識別子を含むエントリが通信状況記憶部２４０に記憶されている場合、決定部２２０は、当該ノードはそのエントリに識別子が含まれる他のノードとコネクションを確立しているという情報を得る。例えば、通信状況記憶部２４０が図４に示すエントリのみを記憶している場合、通信状況記憶部２４０は、「ノード１は現在ノード３とコネクションを確立している」という情報を、決定部２２０に返してもよい。加えて、通信状況記憶部２４０は、「ノード２は現在いずれのノードともコネクションを確立していない」という情報を、決定部２２０に返してもよい。
【００６８】
決定部２２０は、送信元ノード識別子、および、送信元ノードの現在の通信状況をキーとして、第１のテーブル２５０を検索する（ステップＳ２０４）。また、決定部２２０は、送信先ノード識別子、および、送信先ノードの現在の通信状況をキーとして、第１のテーブル２５０を検索する（ステップＳ２０４）。
【００６９】
決定部２２０は、送信元ノード識別子に適合するノードの識別子と、返された送信元ノードの通信状況に適合する通信状況と、に関連付けられているロールを、送信元ノードのロールとして、第１のテーブル２５０に格納されている情報から抽出すればよい。さらに、決定部２２０は、送信先ノード識別子に適合するノードの識別子と、返された送信先ノードの通信状況に適合する通信状況と、に関連付けられているロールを、送信先のロールとして、第１のテーブル２５０に格納されている情報から抽出すればよい。送信元ノード識別子は、例えば、送信元ノード識別子と同一の識別子、及び、前述の記号「＊」に適合する。送信先ノード識別子は、例えば、送信先ノード識別子と同一の識別子、及び、前述の記号「＊」に適合する。通信状況は、その通信状況と同じ通信状況、及び、前述の記号「＊」に適合する。第１のテーブル２５０に格納されている情報は、送信元ノード識別子、および、送信元ノードの通信状況に対して、複数の送信元ノードのロールが抽出されないように設定されていてもよい。
【００７０】
送信元ノード識別子、および、送信元ノードの通信状況に対して、複数の送信元ノードのロールが抽出される場合、決定部２２０は、抽出された複数の送信元ノードのロールから、１つの送信元ノードのロールを、所定のルールに従って選択してもよい。図６に示す例の場合、決定部２２０は、１番目の行から順に、その行のノードの識別子と通信状況とが、それぞれ、キーである送信元ノード識別子と通信状況とに適合するか否かを判定すればよい。決定部２２０は、キーである送信元ノード識別子と通信状況と適合することが最初に判定されたノードの識別子と通信状況とに関連付けられているロールを、送信元ノードのロールとして抽出すればよい。
【００７１】
同様に、送信先ノード識別子、および、送信先ノードの通信状況に対して、複数の送信先ノードのロールが抽出される場合、決定部２２０は、抽出された複数の送信先ノードのロールから、１つの送信先ノードのロールを、所定のルールに従って選択してもよい。図６に示す例の場合、決定部２２０は、１番目の行から順に、その行のノードの識別子と通信状況とが、それぞれ、キーである送信先ノード識別子と通信状況とに適合するか否かを判定すればよい。決定部２２０は、キーである送信元ノード識別子と通信状況と適合することが最初に判定されたノードの識別子と通信状況とに関連付けられているロールを、送信先ノードのロールとして抽出すればよい。
【００７２】
第１のテーブル２５０は、送信元ノードのロール、および、送信先ノードのロールを、決定部２２０に返す（ステップＳ２０５）。決定部２２０は、送信先のロールとして検出されたロールを、第１のテーブル２５０から読み出せばよい。さらに、決定部２２０は、送信元ノードのロールとして検出されたロールを、第１のテーブル２５０から読み出せばよい。第１のテーブル２５０が図５に示す情報を記憶している場合、送信元ノード（すなわちノード１）の現在の通信状況におけるロールは「Ｂ」である。また、送信先ノード（すなわちノード２）の現在の通信状況におけるロールは「Ａ」である。
【００７３】
決定部２２０は、送信元ノードのロール（上述の例ではＢ）および送信先ノードのロール（上述の例ではＡ）の組み合わせをキーとして、第２のテーブル２６０を検索する（ステップＳ２０６）。決定部２２０は、第１のテーブル２５０から読み出された、送信元ノードのロールと送信先ノードのロールとの組み合わせに適合する、「送信元ノードのロール」と「送信先ノードのロール」との組み合わせを第２のテーブル２６０において検出すればよい。決定部２２０は、検出した「送信元ノードのロール」と「送信先ノードのロール」との組み合わせに関連付けられている処理方法を、第２のテーブル２６０において抽出すればよい。
【００７４】
ロールは、そのロール及び前述の記号「＊」によって表されるロールに適合する。第１のテーブル２５０から読み出された送信元ノードのロールは、第２のテーブル２６０において、例えば、そのロールと同じロール、及び、前述の記号「＊」である、「送信元のノードのロール」と適合する。第１のテーブル２５０から読み出された送信先ノードのロールは、第２のテーブル２６０において、例えば、そのロールと同じロール、及び、前述の記号「＊」である、「送信先のノードのロール」と適合する。キーである組み合わせに含まれる送信元ノードのロール及び送信先ノードのロールにそれぞれ適合する、「送信元のノードのロール」及び「送信先のノードのロール」の組み合わせが、そのキーである組み合わせに適合する。第２のテーブル２６０に格納されている情報は、一つのキーに対して、複数の処理方法が抽出されないように設定されていてもよい。
【００７５】
決定部２２０は、一つのキーに対して複数の処理方法が抽出される場合、所定の方法に従って、抽出された複数の処理方法から１つの処理方法を選択してもよい。決定部２２０は、例えば、図６に示す例において、１番目の行から順に、送信元ノードのロール及び送信先ノードのロールが、キーに適合するか否かを判定してもよい。そして、決定部２２０は、キーに適合していると最初に判定された送信元ノードのロール及び送信先ノードのロールに関連付けられている処理方法を抽出してもよい。
【００７６】
第２のテーブル２６０は、送信元ノードのロール及び送信先ノードのロールの組み合わせに関連付けられている処理方法を、決定部２２０に返す（ステップＳ２０７）。決定部２２０は、第１のテーブル２５０から読み出された、送信元ノードのロールと送信先ノードのロールとの組み合わせに適合する、「送信元ロール」と「送信先ロール」との組み合わせに関連付けられている処理方法を、第２のテーブル２６０から読み出せばよい。例えば、第２のテーブル２６０が図６に示す情報を記憶している場合、送信元ノードのロールがＡ、かつ、送信先ノードのロールがＢであるフローに対応する処理方法は「ＡＬＬＯＷおよび排他」である。
【００７７】
決定部２２０は、第２のテーブル２６０を検索することによって得られた処理方法に基づいて、制御実施装置１００に送信すべき処理方法を決定する（ステップＳ２０８）。第２のテーブル２６０に記憶されている処理方法が制御実施装置１００にとって解釈可能な情報である場合、決定部２２０は例えば、第２のテーブル２６０が記憶している処理方法をそのまま制御実施装置１００に送信してもよい。第２のテーブル２６０に記憶されている処理方法が制御実施装置１００にとって解釈可能な情報ではない場合、決定部２２０は、当該処理方法に基づいて制御実施装置１００にとって解釈可能な情報を生成してもよい。そして、決定部２２０は、当該生成した情報を処理方法として制御実施装置１００に送信してもよい。例えば、第２のテーブル２６０に記憶されている処理方法が制御実施装置１００にとって解釈可能なデータではない場合、決定部２２０は、その処理方法に対してあらかじめ定められた、制御実施装置１００が解釈できる指示を表すデータを生成すればよい。そして、決定部２２０は、生成したデータを、制御実施装置１００に送信するデータに決定すればよい。決定部２２０は、変換された、指示を表すデータを、制御実施装置１００に送信すればよい。
【００７８】
例えば、第２のテーブル２６０に「ＤＥＮＹ」という処理方法が記憶されている場合、制御指示装置２００は、当該パケットを破棄する旨の指示を送信することが考えられる。例えば、第２のテーブル２６０に「ＡＬＬＯＷ」という処理方法が記憶されている場合、制御指示装置２００は、当該パケットを特定のポートに転送する旨の指示を送信することが考えられる。
【００７９】
指示部２１０は、決定部２２０が決定した処理方法を制御実施装置１００に送信する（ステップＳ２０９）。
【００８０】
また、通信状況記憶部２４０に、当該パケットの送信元ノード及び送信先ノードの組み合わせに関するエントリが格納されていない場合、通信状況管理部２３０は、その組み合わせに関するエントリを通信状況記憶部２４０に格納する。通信状況記憶部２４０にはノード１の識別子とノード２の識別子の組み合わせに関するエントリは記憶されていないので、通信状況管理部２３０は、通信状況記憶部２４０にノード１の識別子とノード２の識別子の組み合わせに関するエントリを追加する。
【００８１】
なお、もし、当該パケットの送信を許可しないという処理方法が決定部２２０により決定された場合、通信状況管理部２３０は、当該パケットの送信元ノード識別子および送信先ノード識別子の組み合わせに関するエントリを、通信状況記憶部２４０に記憶しない。なぜなら、そのパケットが破棄されることによって、実際の通信は発生しないからである。
【００８２】
以上、第１の実施形態にかかる通信システム１０００の動作の一例を説明した。
【００８３】
なお、上述したステップＳ２０２に示した動作において、決定部２２０は、送信元ノード識別子および送信先ノード識別子のうち少なくとも一方をキーとして通信状況記憶部２４０を検索するよう動作してもよい。
【００８４】
（指示キャッシュ１３０に掃き出しが行われるタイミング）
指示部２１０は、任意のノードの通信状況が変化したことを検出したタイミングにおいて、当該ノードに関連するエントリを指示キャッシュ１３０から削除する指示を、制御実施装置１００に対して送信してもよい。
【００８５】
または、指示部２１０は、任意のノードの通信状況を変化させることを決定部２２０が決定したタイミングにおいて、当該ノードに関連するエントリを指示キャッシュ１３０から削除する指示を、制御実施装置１００に対して送信してもよい。
【００８６】
あるいは、制御実施装置１００は、指示キャッシュ１３０にエントリが登録されてから所定時間経過後、当該エントリを自発的に削除してもよい。
【００８７】
あるいは、制御指示装置２００は、ノード間の通信終了（すなわちコネクションの切断）を検出する機構を含んでいてもよい。その機構が、指示キャッシュ１３０のエントリの要否を判断してもよい。そのような、ノード間の通信終了を検出する機構としては、コネクション型通信の通信プロトコルの終了メッセージをチェックする方法が挙げられる。例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）では、ＦＩＮ（ｆｉｎｉｓｈ）フラグやその逆方向からのＡＣＫ（ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）フラグのチェックにより、通信の終了を検出することができる。この場合も、制御実施装置１００は、制御指示装置２００に対して、通信（すなわち、フロー）の終了を検出したことによって指示キャッシュ１３０のエントリを削除したことを示すメッセージを送信することが望ましい。通信状況管理部２３０は、そのメッセージを受信するのに応じて、通信状況記憶部２４０に記憶されている対応するエントリを削除することができる。
【００８８】
例えば、非特許文献２が開示するオープンフロースイッチ（制御実施装置１００）は、「Ｆｌｏｗ−ｒｅｍｏｖｅｄ」メッセージを用いて、オープンフローコントローラ（制御指示装置２００）に対し、フローエントリがタイムアウトしたことを通知できる。より具体的には、例えば管理者などが、オープンフロースイッチのフローテーブル（指示キャッシュ１３０）のフローエントリにタイムアウトを設定しておく。そして、一定期間該当パケットを受信しないなどによってタイムアウトが成立したとき、制御実施装置１００は、制御指示装置２００に対して、「Ｆｌｏｗ−ｒｅｍｏｖｅｄ」メッセージによってタイムアウトの通知を行う。「Ｆｌｏｗ−ｒｅｍｏｖｅｄ」メッセージを受け取った制御指示装置２００は、タイムアウトの通知に含まれている、パケットの送信先ＩＰアドレス、及びポート番号を基に、通信状況記憶部２４０のエントリを検索する。制御指示装置２００は、検索することによって特定されたエントリの削除を実行する。
【００８９】
このように、ノード間の通信状況に応じて、指示キャッシュ１３０が記憶するエントリの内容が自動的にセキュリティポリシに沿った内容に更新される。
【００９０】
（ハードウェア構成の一例）
制御実施装置１００は、例えばオープンフロースイッチにより実現することができる。制御実施装置１００は、ファイアーウォールやネットワークスイッチとして実装されてもよい。制御実施装置１００は必ずしも物理的な装置である必要はなく、例えば、ノード上、すなわち、通信端末上で動作するソフトウェアで実装されたパーソナルファイアウォールや仮想スイッチであってもよい。制御実施装置１００の機能は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が、メモリに読み出されたコンピュータプログラムを実行することにより実現される。
【００９１】
制御指示装置２００は、例えばオープンフローコントローラにより実現することができる。制御指示装置２００の機能は、例えばＣＰＵが、メモリに読み出されたコンピュータプログラム（ソフトウェアプログラム、以下単に「プログラム」と記載する）を実行することにより実現される。
【００９２】
制御実施装置１００および制御指示装置２００は、上述のようにオープンフローの制御装置（コントローラ）およびスイッチを用いることにより実現できる。制御実施装置１００および制御指示装置２００は、オープンフローの制御装置（コントローラ）およびスイッチではない、同等の機能を持つ制御指示装置と制御実施装置によっても実現できる。
【００９３】
なお、図２に示した制御実施装置１００および制御指示装置２００の各部（処理手段）は、これらの装置を実現するコンピュータと、そのコンピュータに、そのハードウェアを用いて、上述した各部の処理を実行させるコンピュータプログラムとにより実現することもできる。
【００９４】
制御実施装置１００および制御指示装置２００は、必ずしも互いに分離されている必要はない。例えば、制御実施装置１００と制御指示装置２００とが同一の装置であってもよい。そして、制御実施装置１００が、制御指示装置２００として動作する機能を備えていてもよい。
【００９５】
（第１の実施形態が奏する効果）
第１の実施形態にかかる通信システム１０００によれば、パケットの送信元または送信先であるノードの、現在の通信状況に応じたアクセス制御を実現することができる。
【００９６】
（第１の実施形態の変形例）
通信状況記憶部２４０は、通信状況管理部２３０および決定部２２０が実装されている装置と必ずしも同一の装置内に実装されている必要はない。通信状況記憶部２４０は、通信状況管理部２３０および決定部２２０からアクセス可能であるように実装されていればよい。
【００９７】
第１のテーブル２５０および第２のテーブル２６０は、決定部２２０が実装されている装置と必ずしも同一の装置内に実装されている必要はない。第１のテーブル２５０および第２のテーブル２６０は、決定部２２０からアクセス可能であるように実装されていればよい。
【００９８】
また、制御指示装置２００が参照するテーブルの個数（すなわち数量）は、必ずしも上述した個数には限定されない。例えば、制御指示装置２００は下記に示すような３つのテーブルを参照してもよい。
【００９９】
１）ノードと、ノードの通信状況とロールと、が関連付けられている情報を記憶しているテーブル、
２）送信元ノードのロールと送信先ノードのロールとの組み合わせと、当該組み合わせにより定義されるフローと、が関連付けられている情報を記憶しているテーブル、
３）フローと、当該フローに対するアクションと、が関連付けられている情報を記憶しているテーブル。
【０１００】
第１のテーブル２５０が記憶している情報には、様々なバリエーションが考えられる。第１のテーブル２５１（図１１に示される）および第１のテーブル２５２（図１２に示される）は、第１のテーブル２５０の、他の具体例である。第１のテーブル２５１および第１のテーブル２５２について、以下、説明する。
【０１０１】
図１１は、第１のテーブル２５１が記憶している情報を説明する図である。図１１に示すように、第１のテーブル２５１は、ノードのノード識別子と、当該ノードの現在の通信状況と、当該ノードの現在の位置情報と、ロールと、を関連付けて記憶している。
【０１０２】
当該ノードの現在の位置情報は、当該ノードが携帯端末である場合には、例えば、「東京都内」、「特定のビル内」または「特定のフロア内」などの情報である。
【０１０３】
当該ノードの現在の位置情報は、当該ノードが仮想ノードである場合には、例えば、当該仮想ノードを稼動している物理ノードの識別子、又は、当該仮想ノードを稼動しているブレードサーバが置かれているラックの位置などの情報であってもよい。
【０１０４】
制御指示装置２００は、当該ノードの現在の位置情報を取得する。制御指示装置２００は、例えばノードが備える、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等を利用してノードの位置を検出する位置検出部（図示されない）から、当該ノードの位置情報を取得してもよい。決定部２２０は、当該ノードの識別子、当該ノードの現在の通信状況、および、当該ノードの現在の位置情報をキーとして第１のテーブル２５１を検索する。決定部２２０は、検索結果として、当該ノードのロールに関する情報を得る。
【０１０５】
第１のテーブル２５１が図１１に示すような情報を記憶していることによって、通信システム１０００は送信元ノードまたは送信先ノードの現在の位置情報をも考慮した、さらに細かい通信制御を実現することができる。以上、第１のテーブル２５１について説明した。
【０１０６】
次に、第１のテーブル２５０の別の具体例である第１のテーブル２５２について説明する。図１２は、第１のテーブル２５２が記憶している情報を説明する図である。図１２に示すように、第１のテーブル２５２は、ノード識別子と、当該ノードの現在の通信状況と、当該ノードを現在利用しているユーザを表す情報である「利用情報」と、ロールと、が関連付けられた情報を記憶している。
【０１０７】
利用情報は、例えば、当該ノードを現在利用しているユーザの社員番号、役職、所属部門、及び、年齢などの少なくとのいずれかを含む情報である。
【０１０８】
制御指示装置２００は、当該ノードの現在の利用情報を取得する。制御指示装置２００は、例えば図示しないカードリーダ等が、個人が所有するＩＤカード等に格納されている利用者情報を読み取ることによって、利用情報を取得してもよい。決定部２２０は、当該ノードの識別子、当該ノードの現在の通信状況、および、当該ノードの現在の利用情報をキーとして第１のテーブル２５２を検索する。決定部２２０は、検索結果として、当該ノードのロールに関する情報を得る。
【０１０９】
第１のテーブル２５２が図１２に示すような情報を記憶していることによって、通信システム１０００は送信元ノードまたは送信先ノードの現在の利用情報をも考慮した、さらに細かい通信制御を実現することができる。以上、第１のテーブル２５０の別の具体例である第１のテーブル２５２について説明した。
【０１１０】
＜第２の実施形態＞
図１３は、第２の実施形態にかかる通信システム１０００Ａの構成を説明するブロック図である。通信システム１０００Ａは、制御実施装置１００Ａと、制御指示装置２００Ａとを含む。制御実施装置１００Ａは、パケット処理部１１０Ａと、問い合わせ部１２０Ａとを備える。問い合わせ部１２０Ａは、パケットの処理方法を、制御指示装置２００Ａに対して問い合わせる。パケット処理部１１０Ａは、問い合わせに対して制御指示装置２００Ａから送信される指示に基づいて前記パケットを処理する。
【０１１１】
制御実施装置１００Ａは、第１の実施形態における指示キャッシュ１３０に相当する記憶部にアクセス可能であってもよい。
【０１１２】
制御指示装置２００Ａは、指示部２１０Ａと、決定部２２０Ａと、通信状況管理部２３０Ａとを備える。
【０１１３】
通信状況管理部２３０Ａは、制御実施装置１００Ａを介して通信を行うノード間の通信状況を、通信状況記憶部２４０Ａに記憶する。
【０１１４】
決定部２２０Ａは、前述の問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、通信状況記憶部２４０Ａを参照することにより取得する。決定部２２０Ａは、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する。
【０１１５】
指示部２１０Ａは、決定した処理方法を制御実施装置１００Ａに対して指示する。
【０１１６】
制御指示装置２００Ａは、通信状況記憶部２４０Ａ、第１の実施形態における第１のテーブル２５０に相当する記憶部、および、第１の実施形態における第２のテーブル２６０に相当する記憶部にアクセス可能であってもよい。通信状況記憶部２４０Ａは、制御指示装置２００Ａと同一の装置内に実装されていてもよい。
【０１１７】
＜第３の実施形態＞
図１４は、第３の実施形態にかかる通信制御装置３００Ｂの構成を表すブロック図である。第３の実施形態では、１つの装置である通信制御装置３００Ｂが、第１の実施形態における制御実施装置１００および制御指示装置２００として、または第２の実施形態における制御実施装置１００Ａおよび制御指示装置２００Ａとして動作する。
【０１１８】
パケット処理部３１０Ｂは、決定部３２０Ｂの指示に基づいてパケットを処理する。決定部３２０Ｂは、パケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、通信状況記憶部３４０Ｂを参照することにより取得する。決定部３２０Ｂは、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する。
【０１１９】
通信状況管理部３３０Ｂは、自装置３００Ｂを介して通信を行うノード間の通信状況を、通信状況記憶部３４０Ｂに記憶する。
【０１２０】
通信制御装置３００Ｂは、通信状況記憶部３４０Ｂ、第１の実施形態における第１のテーブル２５０に相当する記憶部、および、第１の実施形態における第２のテーブル２６０に相当する記憶部にアクセス可能であってもよい。通信状況記憶部３４０Ｂは、通信制御装置３００Ｂと同一の装置内に実装されていてもよい。
【０１２１】
また、上述した各実施の形態および変形例は、適宜組み合わせて実施されることが可能である。
【０１２２】
各ブロック図に示したブロック分けは、説明の便宜上から表された構成である。各実施形態を例に説明された本発明は、その実装に際して、各ブロック図に示した構成には限定されない。
【０１２３】
＜他の実施形態＞
上述のように、第１の実施形態に係る制御実施装置１００、及び制御指示装置２００は、それぞれ、コンピュータ及びコンピュータを制御するプログラムにより実現することができる。制御実施装置１００、及び制御指示装置２００は、それぞれ、専用のハードウェアにより実現することもできる。制御実施装置１００、及び制御指示装置２００は、それぞれ、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。同様に、第２の実施形態に係る制御実施装置１００Ａ及び制御指示装置２００Ａと、第３の実施形態に係る通信制御装置３００Ｂとは、それぞれ、コンピュータ及びコンピュータを制御するプログラムにより実現することができる。制御実施装置１００Ａ、制御指示装置２００Ａ及び通信制御装置３００Ｂは、それぞれ、専用のハードウェアにより実現することもできる。あるいは、制御実施装置１００Ａ、制御指示装置２００Ａ及び通信制御装置３００Ｂは、それぞれ、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【０１２４】
図１５は、制御実施装置１００、及び制御指示装置２００、制御実施装置１００Ａ、制御指示装置２００Ａ及び通信制御装置３００Ｂを実現することができる、コンピュータ１００００のハードウェア構成の一例を表す図である。図１５を参照すると、コンピュータ１００００は、プロセッサ１０００１と、メモリ１０００２と、記憶装置１０００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１０００４とを含む。また、コンピュータ１００００は、記録媒体１０００５にアクセスすることができる。メモリ１０００２と記憶装置１０００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記録媒体１０００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記録媒体である。記憶装置１０００３が記録媒体１０００５であってもよい。プロセッサ１０００１は、メモリ１０００２と、記憶装置１０００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１０００１は、Ｉ／Ｏインタフェース１０００４を介して、例えば、ノードにアクセスすることができる。プロセッサ１０００１は、記録媒体１０００５にアクセスすることができる。記録媒体１０００５には、コンピュータ１００００を、制御実施装置１００、及び制御指示装置２００、制御実施装置１００Ａ、制御指示装置２００Ａ又は通信制御装置３００Ｂとして動作させるプログラムが格納されている。
【０１２５】
プロセッサ１０００１は、記録媒体１０００５に格納されている、コンピュータ１００００を、制御実施装置１００、及び制御指示装置２００、制御実施装置１００Ａ、制御指示装置２００Ａ又は通信制御装置３００Ｂとして動作させるプログラムを、メモリ１０００２にロードする。そして、プロセッサ１０００１が、メモリ１０００２にロードされたプログラムを実行することにより、コンピュータ１００００は、制御実施装置１００、及び制御指示装置２００、制御実施装置１００Ａ、制御指示装置２００Ａ又は通信制御装置３００Ｂとして動作する。
【０１２６】
以下に列記する複数の部は、例えば、プログラムを記憶する記録媒体１０００５からメモリ１０００２に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ１０００１により実現することができる。上述の複数の部は、例えば以下の通りである。
【０１２７】
パケット処理部１１０、
問い合わせ部１２０、
指示部２１０、
決定部２２０、
通信状況管理部２３０、
パケット処理部１１０Ａ、
問い合わせ部１２０Ａ、
指示部２１０Ａ、
決定部２２０Ａ、
通信状況管理部２３０Ａ、
パケット処理部３１０Ｂ、
決定部３２０Ｂ、
及び通信状況管理部３３０Ｂ。
【０１２８】
また、指示キャッシュ１３０、通信状況記憶部２４０、第１のテーブル２５０、及び第２のテーブル２６０は、コンピュータ１００００が含むメモリ１０００２やハードディスク装置等の記憶装置１０００３により実現することができる。また、通信状況記憶部２４０Ａ、及び通信状況記憶部３４０Ｂは、コンピュータ１００００が含むメモリ１０００２やハードディスク装置等の記憶装置１０００３により実現することができる。
【０１２９】
あるいは、以下に列記する複数の部の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。それらの複数の部は、例えば以下の通りである。
【０１３０】
パケット処理部１１０、
問い合わせ部１２０、
指示キャッシュ１３０、
指示部２１０、
決定部２２０、
通信状況管理部２３０、
通信状況記憶部２４０、
第１のテーブル２５０、
第２のテーブル２６０、
パケット処理部１１０Ａ、
問い合わせ部１２０Ａ、
指示部２１０Ａ、
決定部２２０Ａ、
通信状況管理部２３０Ａ、
通信状況記憶部２４０Ａ、
パケット処理部３１０Ｂ、
決定部３２０Ｂ、
通信状況管理部３３０Ｂ、
及び通信状況記憶部３４０Ｂ。
【０１３１】
以上、本発明を実施するための形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。
【０１３２】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。
【０１３３】
この出願は、２０１４年３月２８日に出願された日本出願特願２０１４−０６７５２２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１３４】
上述した各実施形態を例に説明した本発明は、例えば、コンピュータ間のアクセス制御に応用することができる。例えば、社内のセキュリティガイドラインに「顧客の機密情報にアクセス業務を行っている際は、ウェブによる情報検索を禁止する」というセキュリティポリシが記載されている場合を想定する。このような場合、本発明を応用することで、このような細かいセキュリティポリシを満たすようなアクセス制御を実現することができる。【０１３５】
また、本発明を応用することにより、オープンフロースイッチが備えるフローテーブルのフィルタリングルールを、セキュリティガイドラインに沿った内容で生成することができる。【０１３６】
また、本発明を応用することにより、ある端末からある端末への通信が、セキュリティ標準を満たした通信であるかを判定できる。
【符号の説明】
【０１３７】
１０００    通信システム
１００    制御実施装置
１１０    パケット処理部
１２０    問い合わせ部
１３０    指示キャッシュ
２００    制御指示装置
２１０    指示部
２２０    決定部
２３０    通信状況管理部
２４０    通信状況記憶部
２５０    第１のテーブル
２５１    第１のテーブル
２５２    第１のテーブル
２６０    第２のテーブル
１０００Ａ    通信システム
１００Ａ    制御実施装置
１１０Ａ    パケット処理部
１２０Ａ    問い合わせ部
２００Ａ    制御指示装置
２１０Ａ    指示部
２２０Ａ    決定部
２３０Ａ    通信状況管理部
２４０Ａ    通信状況記憶部
３００Ｂ    通信制御装置
３１０Ｂ    パケット処理部
３２０Ｂ    決定部
３３０Ｂ    通信状況管理部
３４０Ｂ    通信状況記憶部
１００００    コンピュータ
１０００１    プロセッサ
１０００２    メモリ
１０００３    記憶装置
１０００４    Ｉ／Ｏインタフェース
１０００５    記録媒体
【図１】
2015145976.tif 000003
【図２】
2015145976.tif 000004
【図３】
2015145976.tif 000005
【図４】
2015145976.tif 000006
【図５】
2015145976.tif 000007
【図６】
2015145976.tif 000008
【図７】
2015145976.tif 000009
【図８】
2015145976.tif 000010
【図９】
2015145976.tif 000011
【図１０】
2015145976.tif 000012
【図１１】
2015145976.tif 000013
【図１２】
2015145976.tif 000014
【図１３】
2015145976.tif 000015
【図１４】
2015145976.tif 000016
【図１５】
2015145976.tif 000017
【手続補正書】
【提出日】平成28年9月21日(2016.9.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置を介して、通信を行うノード間の通信状況を通信状況記憶手段に記憶する通信状況管理手段と、
前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、前記通信状況記憶手段を参照することにより取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する決定手段と、
前記決定した処理方法を前記制御実施装置に対して指示する指示手段と、
を備える、制御指示装置。
【請求項２】
前記決定手段は、
ノードと、当該ノードと他のノードとの間の通信状況と、当該ノードの当該通信状況におけるロールと、が関連付けられている情報である第１の情報と、
パケットの送信元ノードのロールと送信先ノードのロールとの組み合わせと、当該パケットの処理方法と、が関連付けられている情報である第２の情報と、
を参照することにより、パケットの処理方法を決定する、
請求項１に記載の制御指示装置。
【請求項３】
前記通信状況は、あるノードが他のノードとコネクションを現在確立している状況か否かを表す情報である、請求項１または２のいずれかに記載の制御指示装置。
【請求項４】
前記第１の情報は、ノードと、当該ノードが特定のノードとコネクションを現在確立している状態か否かを示す情報と、当該ノードの当該通信状況におけるロールと、がさらに関連付けられている情報である、
請求項３に記載の制御指示装置。
【請求項５】
前記第１の情報は、ノードと、当該ノードの現在の位置情報と、当該ノードの通信状況と、当該ノードの当該位置情報および当該通信状況におけるロールと、がさらに関連付けられている情報であり、
前記決定手段は、前記送信元ノードの現在の位置情報を取得し、当該位置情報に基づいて前記第１の情報を参照し、パケットの処理方法を決定する、請求項２ないし４のいずれかに記載の制御指示装置。
【請求項６】
前記第１の情報は、ノードと、当該ノードを現在利用しているユーザを表す情報である利用状況と、当該ノードの通信状況と、当該ノードの当該利用状況および当該通信状況におけるロールと、がさらに関連付けられている情報であり、
前記決定手段は、前記送信元ノードの利用状況を取得し、当該利用状況に基づいて前記第１の情報を参照し、パケットの処理方法を決定する、請求項２ないし４のいずれかに記載の制御指示装置。
【請求項７】
制御実施装置と制御指示装置とを含む通信システムであって、
前記制御実施装置は、
パケットの処理方法を前記制御指示装置に対して問い合わせる問い合わせ手段と、
前記問い合わせに対する指示に基づいて前記パケットを処理するパケット処理手段と、を備え、
前記制御指示装置は、
前記制御実施装置を介して通信を行うノード間の通信状況を通信状況記憶手段に記憶する通信状況管理手段と、
前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードと、他のノードとの間の通信状況を、前記通信状況記憶手段を参照することにより取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の前記通信状況に基づいて、当該パケットの処理方法を決定する決定手段と、
前記決定した処理方法を前記制御実施装置に対して指示する指示手段と、
を備える、通信システム。
【請求項８】
パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置と、通信可能に接続される制御指示装置が、前記制御実施装置を介したノード間の通信状況を通信状況記憶手段に記憶し、
前記通信状況記憶手段を参照することにより、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードの通信状況を取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の通信状況に基づいて、当該パケットの処理方法を決定し、
前記制御実施装置に対して前記決定した処理方法を指示する、
制御方法。
【請求項９】
パケットの処理方法に関する問い合わせに対する指示に基づいて、前記パケットを処理する制御実施装置と、通信可能に接続されるコンピュータに、
前記制御実施装置を介したノード間の通信状況を通信状況記憶手段に記憶する処理と、
前記通信状況記憶手段を参照することにより、前記問い合わせの対象であるパケットの送信元ノードまたは送信先ノードの通信状況を取得し、前記送信元ノード、前記送信先ノード、並びに、前記送信元ノードおよび前記送信先ノードのうち少なくとも一方の通信状況に基づいて、当該パケットの処理方法を決定する処理と、
前記制御実施装置に対して前記決定した処理方法を指示する処理と、
を実行させるプログラム。
【請求項１０】
請求項１ないし６のいずれかに記載の制御指示装置と通信可能に接続される前記制御実施装置。
【国際調査報告】
2015145976.tif 000018
2015145976.tif 000019
2015145976.tif 000020
2015145976.tif 000021