(57)【特許請求の範囲】
【請求項１】
記憶サーバ上のデータにアクセスするためのユーザデバイスからの要求を識別することと、
前記要求に対する応答を構築することであって、当該応答は応答データペイロードを含む、ことと、
ルータにより、前記要求に対する応答のための応答データの秘密度レベルを決定することであって、前記秘密度レベルは少なくとも３つの秘密度レベルのうち１つの秘密度レベルであり、前記応答データの前記秘密度レベルを決定することは更に、
前記応答データペイロードに対してハッシュを実行してハッシュ値を計算することと、
ローカルに記憶された分類データベースを前記ハッシュ値を用いて照会して、前記応答データの前記秘密度レベルを受信することと、
を含む、決定することと、
前記ルータにより、前記応答のセキュリティコンテキストを決定することであって、前記ユーザデバイスは前記応答を受信し、前記セキュリティコンテキストは、前記応答を受信する前記ユーザデバイスのセキュリティレベルと、前記応答に関連付けられた宛先ネットワークのセキュリティレベルと、前記応答に関連付けられたネットワークデバイスのセキュリティレベルとを含み、前記セキュリティレベルのそれぞれは前記ユーザデバイスの種類と前記宛先ネットワークの種類と前記ネットワークデバイスの種類とに基づいて決定される、ことと、
前記ルータにより、前記応答データの前記秘密度レベル及び前記応答の前記セキュリティコンテキストにポリシーを適用することによって、前記応答のために行う経路制御アクションを決定することであって前記ポリシーは前記ルータによってローカルに記憶される、ことと、
前記ルータにより、前記応答のための前記経路制御アクションを実行することであって、前記応答データにアクセスすることを前記ユーザデバイスが妨げられないときに前記ユーザデバイスへ前記応答を送信するために、前記応答データの前記秘密度レベルと前記応答のセキュリティコンテキストと前記ルータによってローカルに記憶されたリソースデータとに基づいて１以上のルータ経路を選択することを含む、ことと、を含み、
前記リソースデータは、安全な又は安全でないルータ、スイッチ及びルータ経路の一覧と、利用可能な又は利用不可能なルータ、スイッチ及びルータ経路の一覧と、私的又は公共のルータ、スイッチ及びルータ経路の一覧と、敵対的地理にあるルータ、スイッチ及びルータ経路の一覧と、使用に関する料金を伴うルータ、スイッチ及びルータ経路の一覧と、のうち少なくとも１つを含み、
前記応答データの前記秘密度レベルが最大の秘密度レベルであるとき、前記選択されたルータ経路は安全なルータ経路と、前記ユーザデバイスに最も近接する安全なルータを含む安全なデバイスとを含み、
前記応答データの前記秘密度レベルが最大の秘密度レベルでないとき、前記選択されたルータ経路は最も安全なルータ経路を提供するよう選択される、方法。
【請求項２】
前記経路制御アクションを実行することが、
前記１つ以上のルータ経路にある１つ以上のルータを使用して、前記応答データを前記ユーザデバイスに送信することを含む、請求項１に記載の方法。
【請求項３】
前記１つ以上のルータ経路を選択することが、
前記ルータと連結しているデータストアに記憶されたネットワーク情報に基づいて、１つ以上の安全なルータ経路を選択することを含む、請求項１に記載の方法。
【請求項４】
前記経路制御アクションを実行することが、
前記ユーザデバイスが、前記応答データにアクセスすることを妨げることを含む、請求項１に記載の方法。
【請求項５】
前記応答の前記セキュリティコンテキストを決定することは、前記応答を受信する前記ユーザデバイスのセキュリティレベルを識別することと、前記応答と関連付けられた宛先ネットワークに関連付けられたセキュリティレベルを識別することとを含み、前記ユーザデバイスの前記セキュリティレベルと前記宛先ネットワークに関連付けられた前記セキュリティレベルとは、前記ルータによってローカルに記憶される、請求項１に記載の方法。
【請求項６】
前記ユーザデバイスの前記セキュリティレベルと前記宛先ネットワークに関連付けられた前記セキュリティレベルとは、前記ルータに連結されたデータストアに記憶される、請求項５に記載の方法。
【請求項７】
メモリと、
前記メモリに連結した処理デバイスとを含む装置において、
前記処理デバイスは、
記憶サーバ上のデータにアクセスするためのユーザデバイスからの要求を識別することと、
前記要求に対する応答のための応答データの秘密度レベルを決定することであって、前記秘密度レベルは少なくとも３つの秘密度レベルのうち１つの秘密度レベルであり、前記応答データの前記秘密度レベルを決定することは更に、
前記応答データのペイロードに対してハッシュを実行してハッシュ値を計算することと、
ローカルに記憶された分類データベースを前記ハッシュ値を用いて照会して、前記応答データの前記秘密度レベルを受信することと、
を含む、決定することと、
前記応答のセキュリティコンテキストを決定することであって、前記ユーザデバイスは前記応答を受信し、前記セキュリティコンテキストは、前記応答を受信する前記ユーザデバイスのセキュリティレベルと、前記応答に関連付けられた宛先ネットワークのセキュリティレベルと、前記応答に関連付けられたネットワークデバイスのセキュリティレベルとを含み、前記セキュリティレベルのそれぞれは前記ユーザデバイスの種類と前記宛先ネットワークの種類と前記ネットワークデバイスの種類とに基づいて決定される、ことと、
前記応答データの前記秘密度レベル及び前記応答の前記セキュリティコンテキストにポリシーを適用することによって、前記応答のために行う経路制御アクションを決定することであって前記ポリシーは前記装置によってローカルに記憶される、ことと、
前記応答のための前記経路制御アクションを実行することであって、前記応答データにアクセスすることを前記ユーザデバイスが妨げられないときに前記ユーザデバイスへ前記応答を送信するために、前記応答データの前記秘密度レベルと前記応答のセキュリティコンテキストと前記装置によってローカルに記憶されたリソースデータとに基づいて１以上のルータ経路を選択することを含む、ことと、を実行し、
前記リソースデータは、安全な又は安全でないルータ、スイッチ及びルータ経路の一覧と、利用可能な又は利用不可能なルータ、スイッチ及びルータ経路の一覧と、私的又は公共のルータ、スイッチ及びルータ経路の一覧と、敵対的地理にあるルータ、スイッチ及びルータ経路の一覧と、使用に関する料金を伴うルータ、スイッチ及びルータ経路の一覧と、のうち少なくとも１つを含み、
前記応答データの前記秘密度レベルが最大の秘密度レベルであるとき、前記選択されたルータ経路は安全なルータ経路と、前記ユーザデバイスに最も近接する安全なルータを含む安全なデバイスとを含み、
前記応答データの前記秘密度レベルが最大の秘密度レベルでないとき、前記選択されたルータ経路は最も安全なルータ経路を提供するよう選択される、装置。
【請求項８】
前記経路制御アクションを実行することが、
前記１つ以上のルータ経路にある１つ以上のルータを使用して、前記応答データを前記ユーザデバイスに送信することを含む、請求項７に記載の装置。
【請求項９】
前記１つ以上のルータ経路を選択することが、
前記ルータと連結しているデータストアに記憶されたネットワーク情報に基づいて、１つ以上の安全なルータ経路を選択することを含む、請求項７に記載の装置。
【請求項１０】
前記経路制御アクションを実行することが、前記ユーザデバイスが前記応答データにアクセスすることを妨げることを含み、
前記応答の前記セキュリティコンテキストを決定することが、前記応答を受信する前記ユーザデバイスのセキュリティレベルを識別することと、前記応答に関連付けられた宛先ネットワークに関連付けられたセキュリティレベルを識別することと、を含み、前記ユーザデバイスの前記セキュリティレベル及び前記宛先ネットワークに関連付けられた前記セキュリティレベルが、前記メモリに記憶される、請求項７に記載の装置。
【請求項１１】
命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令はルータを含む処理デバイスによって実行されるとき、前記処理デバイスに、
記憶サーバ上のデータにアクセスするためのユーザデバイスからの要求を識別することと、
前記要求に対する応答を構築することであって、当該応答は応答データペイロードを含む、ことと、
ルータにより、前記要求に対する応答のための応答データの秘密度レベルを決定することであって、前記秘密度レベルは少なくとも３つの秘密度レベルのうち１つの秘密度レベルであり、前記応答データの前記秘密度レベルを決定することは更に、
前記応答データペイロードに対してハッシュを実行してハッシュ値を計算することと、
ローカルに記憶された分類データベースを前記ハッシュ値を用いて照会して、前記応答データの前記秘密度レベルを受信することと、
を含む、決定することと、
前記ルータにより、前記応答のセキュリティコンテキストを決定することであって、前記ユーザデバイスは前記応答を受信し、前記セキュリティコンテキストは、前記応答を受信する前記ユーザデバイスのセキュリティレベルと、前記応答に関連付けられた宛先ネットワークのセキュリティレベルと、前記応答に関連付けられたネットワークデバイスのセキュリティレベルとを含み、前記セキュリティレベルのそれぞれは前記ユーザデバイスの種類と前記宛先ネットワークの種類と前記ネットワークデバイスの種類とに基づいて決定される、ことと、
前記ルータにより、前記応答データの前記秘密度レベル及び前記応答の前記セキュリティコンテキストにポリシーを適用することによって、前記応答のために行う経路制御アクションを決定することであって前記ポリシーは前記ルータによってローカルに記憶される、ことと、
前記ルータにより、前記応答のための前記経路制御アクションを実行することであって、前記応答データにアクセスすることを前記ユーザデバイスが妨げられないときに前記ユーザデバイスへ前記応答を送信するために、前記応答データの前記秘密度レベルと前記応答のセキュリティコンテキストと前記ルータによってローカルに記憶されたリソースデータとに基づいて１以上のルータ経路を選択することを含む、ことと、
を含む動作を行わせ、
前記リソースデータは、安全な又は安全でないルータ、スイッチ及びルータ経路の一覧と、利用可能な又は利用不可能なルータ、スイッチ及びルータ経路の一覧と、私的又は公共のルータ、スイッチ及びルータ経路の一覧と、敵対的地理にあるルータ、スイッチ及びルータ経路の一覧と、使用に関する料金を伴うルータ、スイッチ及びルータ経路の一覧と、のうち少なくとも１つを含み、
前記応答データの前記秘密度レベルが最大の秘密度レベルであるとき、前記選択されたルータ経路は安全なルータ経路と、前記ユーザデバイスに最も近接する安全なルータを含む安全なデバイスとを含み、
前記応答データの前記秘密度レベルが最大の秘密度レベルでないとき、前記選択されたルータ経路は最も安全なルータ経路を提供するよう選択される、
非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記経路制御アクションを実行することが、
前記１つ以上のルータ経路にある１つ以上のルータを使用して、前記応答データを前記ユーザデバイスに送信することを含む、請求項１１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記１つ以上のルータ経路を選択することが、
前記ルータと連結しているデータストアに記憶されたネットワーク情報に基づいて、１つ以上の安全なルータ経路を選択することを含む、請求項１２に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記経路制御アクションを実行することが、前記ユーザデバイスが前記応答データにアクセスすることを妨げることを含み、
前記応答の前記セキュリティコンテキストを決定することは、前記応答を受信する前記ユーザデバイスのセキュリティレベルを識別することと、前記応答と関連付けられた宛先ネットワークに関連付けられたセキュリティレベルを識別することとを含み、前記ユーザデバイスの前記セキュリティレベルと前記宛先ネットワークに関連付けられた前記セキュリティレベルとは、前記処理デバイスによってローカルに記憶される、請求項１１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
前記応答の前記セキュリティコンテキストを決定することが、
前記応答を受信する前記ユーザデバイスのセキュリティレベルを識別することと、
前記応答に関連付けられた宛先ネットワークに関連付けられたセキュリティレベルを識別することと、を含み、前記ユーザデバイスの前記セキュリティレベル及び前記宛先ネットワークに関連付けられた前記セキュリティレベルが、前記ルータと連結しているデータストアに記憶される、請求項１１に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワーク経路制御決定に関し、より具体的には、セキュリティコンテキストをネットワーク経路制御決定に統合することに関する。
【背景技術】
【０００２】
営利事業体等の企業は、秘密内容を有し得るデータを保持する場合がある。例えば、企業データは、機密顧客情報、秘密調査書類、専有設計等を含み得る。企業従業員等の企業ユーザは、企業データに遠隔でアクセスすることを望む場合がある。例えば、ユーザは、出張し、タブレットコンピュータ及びホテルの公共ネットワークを使用して、彼らの企業用電子メールアカウントにアクセスし得る。電子メールは、秘密企業データを含み得る。企業は、秘密データのデータの流れを制御することを望む場合があり、企業ユーザが公共ネットワークを使用して秘密データにアクセスすることを望まないことがある。従来の解決策では、秘密データへの無許可のアクセスを防ぐために、ユーザデバイスにセキュリティエージェントを実装した。いくつかのユーザデバイスは、ユーザデバイスが秘密データにアクセスすることを防ぐためのセキュリティエージェントを実行するための性能を有しない。他の従来の解決策は、データアクセスを監視及び制御するためのサーバ又は他のネットワークデバイスを有する。追加のサーバ及びネットワークデバイスの実装は、運用費を増加させ得る。いくつかの従来の解決策では、費用及び利用可能性に基づいてネットワーク経路を決定するためにルータを使用する。典型的には、そのようなルータは、どの動作が行われ得るか、どのユーザがその動作を行うことができるか、及びその動作を行うために使用され得るデータを制御するための知能を有しない。
【発明の概要】
【課題を解決するための手段】
【０００３】
１つの実装において、セキュリティコンテキストをネットワーク経路制御決定に統合するための装置が記載される。一例となる装置は、メモリ及びメモリと連結している処理デバイスを含み得る。１つの実施形態では、装置は、記憶サーバ上のデータにアクセスするためのユーザデバイスからの要求を識別する。装置は、データの秘密度レベル、要求のセキュリティコンテキスト、並びにデータの秘密度レベル及び要求のセキュリティコンテキストにポリシーを適用することによっての、要求に対して行う経路制御アクションの決定を行う。装置は、要求に対する経路制御アクションを実行する。
【０００４】
１つの実装において、装置は、データの秘密度レベル及び要求のセキュアリングコンテキストにポリシーを適用することにより、要求に対する応答に使用するための１つ以上のルータ経路を選択することによって、経路制御アクションを実行する。装置は、選択されたルート経路にある１つ以上のルータを使用して、データをユーザデバイスに送信する。１つの実装において、装置は、ルータと連結しているデータストアに記憶されたネットワーク情報に基づいて、１つ以上の安全なルータ経路を選択する。１つの実装において、装置は、ユーザデバイスがデータにアクセスすることを妨げることによって、経路制御アクションを実行する。１つの実装において、装置は、ハッシュ値を計算するためにデータのペイロードに対してハッシュを行い、そのハッシュ値を使用して、データの秘密度レベルを返すデータ分類サービスに照会することによって、データの秘密度レベルを決定する。１つの実装において、装置は、要求に関連付けられたユーザデバイスのセキュリティレベルを識別し、要求に関連付けられた宛先ネットワークに関連付けられたセキュリティレベルを識別することによって、要求のセキュリティコンテキストを決定する。１つの実装において、ユーザデバイスのセキュリティレベル及び宛先ネットワークに関連付けられたセキュリティレベルは、装置と連結しているデータストアに記憶される。
【０００５】
更に、セキュリティコンテキストをネットワーク経路制御決定に統合するための非一時的コンピュータ可読記憶媒体が、記載される。一例となる非一時的コンピュータ可読記憶媒体は、処理デバイスが、記憶サーバ上のデータにアクセスするためのユーザデバイスからの要求を識別し、データの秘密度レベル及び要求のセキュリティコンテキストを決定し、データの秘密度レベル及び要求のセキュリティコンテキストにポリシーを適用することによって、要求に対して行う経路制御アクションを決定するようにさせる、命令を含む。処理デバイスは、要求に対する経路制御アクションを実行する。
【０００６】
更に、セキュリティコンテキストをネットワーク経路制御決定に統合するための方法が記載される。１つの実施形態では、方法は、記憶サーバ上のデータにアクセスするためのユーザデバイスからの要求を識別することと、データの秘密度レベル及び要求のセキュリティコンテキストを決定することと、データの秘密度レベル及び要求のセキュリティコンテキストにポリシーを適用することによって、要求に対して行う経路制御アクションを決定することと、要求に対する経路制御アクションを実行することと、を含む。
【図面の簡単な説明】
【０００７】
本開示は、以下に示される詳細な説明及び付随する本開示の種々の実装の図面から、より完全に理解されるだろう。
【図１】種々の実装に従って、例となるシステムアーキテクチャを例示する。
【図２】制御モジュールの実装のブロック図である。
【図３】セキュリティコンテキストをネットワーク経路制御決定に統合するための方法に関する実装を例示する流れ図である。
【図４】本明細書に記載される動作のうちの１つ以上を行うことができる一例となるコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００８】
種々の実装に従って、セキュリティコンテキストをネットワーク経路制御決定に統合するための方法及び装置が、本明細書に記載される。実装は、ルータを介して、データにアクセスするための要求に対する応答のセキュリティコンテキストに基づいて、データの流れを制御する。セキュリティコンテキストの例としては、要求に対する応答内のデータの秘密度、応答に関連付けられたネットワークのセキュリティ、要求を受信するためのユーザデバイスのセキュリティ等が挙げられるが、これらに限定されない。例えば、応答データの秘密性が極めて高く、ネットワーク及び／又はユーザデバイスが安全ではないと考えられる場合、ルータは、秘密性が極めて高い応答データのユーザデバイスへの流れを防ぐことができる。本開示の実装は、応答のセキュリティコンテキストに基づいてルートを選択することによって、ルータを使用して、データの流れを制御するためのポリシーを自動的に実装することができる。実装は、異なる応答のために異なるルートを選択することができる。実装は、要求に対する応答において行うことができる動作、その動作を行うために使用することができるユーザデバイス及びネットワーク、並びにその動作を行うために使用することができるデータを制御することができる。
【０００９】
図１は、本開示の実装が実装され得る一例となるシステムアーキテクチャ１００である。システムアーキテクチャ１００は、１つ以上のネットワーク１２０Ａ〜Ｃを介して接続された１つ以上の機械１３０、１４０、１６０、１８０、１つ以上のルータ１１０Ａ〜Ｄ、１つ以上のスイッチ１５０Ａ〜Ｂ、及び１つ以上のユーザデバイス１０４Ａ〜Ｂを含むことができる。ネットワーク１２０Ａ〜Ｃは、インターネット若しくは同様の通信システム等の１つ以上のローカルエリアネットワーク（ＬＡＮ）、１つ以上の無線ネットワーク、１つ以上の移動体通信ネットワーク、１つ以上の広域ネットワーク（ＷＡＮ）、又はそれらの組み合わせを含むことができる。ネットワーク１２０Ａ〜Ｃは、有線及び無線デバイス等の１つ以上のネットワークデバイス及び／又は計算デバイスを含むことができる。
【００１０】
例えば、ネットワーク１２０Ｃは、プライベートネットワークであってもよい。プライベートネットワークは、以降、オンプレミスネットワークと称される。例えば、企業は、オンプレミス環境１０５においてオンプレミスネットワーク１２０Ｃを提供及び管理してもよい。企業は、任意の個人、法人等の営利事業体、専門学校及び大学等の教育機関等の実体であり得るが、これらに限定されない。ネットワーク１２０Ａ〜Ｂは、公共ネットワークであってもよい。ネットワーク１２０Ａは、Ｗｉ−Ｆｉネットワークであってもよい。Ｗｉ−Ｆｉは、電子デバイスが、ネットワークを介して無線でデータを交換することを可能にする技術である。ユーザデバイス１０４Ａは、Ｗｉ−Ｆｉを使用して、無線アクセスポイントプロキシ１３２を介して、インターネット等のネットワークリソースに接続することができるデバイスであり得る。
【００１１】
無線アクセスポイント（ＷＡＰ）プロキシ１３２は、ユーザデバイス１０４Ａが、Ｗｉ−Ｆｉ又は関連標準を使用して有線ネットワークに接続することを可能にする。無線アクセスポイントプロキシ１３２は、サーバコンピュータ、ゲートウェイコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又は同様の計算デバイスを含む、あらゆる型の計算デバイスによってホストされ得る。無線アクセスポイントプロキシ１３２は、インターネットサービスプロバイダへの回線に接続されているルータ１１０Ａの使用を通じて、無線ローカルエリアネットワークを介してインターネットアクセスを提供する場所であるホットスポットを作成する。ホットスポットは、典型的には、Ｗｉ−Ｆｉ技術を使用する。ホットスポットは、ホテル、空港、コーヒーショップ、小売店、及び種々の別の公共施設において見ることができる。無線アクセスポイントプロキシ１３２は、第三者（例えば、ホテル、空港、コーヒーショップ、小売店、種々の別の公共施設等）によって提供され、維持され得る。
【００１２】
ユーザデバイス１０４Ａ〜Ｂは、デスクトップコンピュータ、セットトップボックス、ゲーミングコンソール、テレビ、及び限定されないが、携帯電話、携帯情報端末（ＰＤＡ）、携帯メディアプレーヤー、ネットブック、ラップトップコンピュータ、電子書籍リーダー等の携帯計算デバイス等の計算デバイスであり得る。
【００１３】
機械１４０、１６０は、記憶デバイス（例えば、データストア１７０Ａ〜Ｂ）上にファイルとしてデータ１７１Ａ〜Ｂを記憶するための記憶サーバ１４３Ａ〜Ｂを含み得る。機械１４０、１６０、１８０には、サーバコンピュータ、ゲートウェイコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、主コンピュータ、携帯情報端末、手持ち式デバイス、又はデータを処理するために構成された任意の別のデバイス等の任意のデータ処理デバイスを含み得るが、これらに限定されない。記憶サーバ１４３Ａ〜Ｂは、１つ以上のスイッチ１５０Ａ〜Ｂを介してネットワーク１２０Ｃと連結することができる。
【００１４】
データストア１７０Ａ〜Ｂは、磁気若しくは光記憶ベースのディスク、ソリッドステートドライブ（ＳＳＤ）、又はハードドライブ等の大量記憶デバイスであり得る。１つの実装において、システムアーキテクチャ１００は、分散ファイルシステムを含み、それは、１つ以上の機械１４０、１６０及び１つ以上のデータストア１７０Ａ〜Ｂを含むネットワーク接続された記憶ファイルシステムであり得る。記憶サーバ１４３Ａ〜Ｂは、データ１７１Ａ〜Ｂへのアクセスを管理することができる。
【００１５】
ユーザデバイス１０４Ａ〜Ｂは、記憶サーバ１４３Ａ〜Ｂを介して、データ１７１Ａ〜Ｂへのアクセスを作成する又は要求する１つ以上のアプリケーションをホストすることができる。アプリケーションは、例えば、ウェブアプリケーション、デスクトップアプリケーション、ブラウザアプリケーション等を含む任意の種類のアプリケーションであり得る。データ１７１Ａ〜Ｂにアクセスするための要求の例には、データの読み取り、データの書き込み、データの変更等が含まれるが、これらに限定されない。
【００１６】
１つ以上の機械１８０は、データ１７１Ａ〜Ｂに関するサービスを提供するための１つ以上のサーバを含むことができる。サービスの例としては、データ消失防止（ＤＬＰ）、バックアップ、アーカイブ、抗ウイルス、データ管理、開示、フォレンジック、監査、データ共有分析等が挙げられるが、これらに限定されない。簡潔及び簡略化のため、本書面全体を通して、ＤＬＰサーバ１８１が、サービスを提供するサーバの一例として使用される。ＤＬＰサーバ１８１は、データストア１７０Ａ〜Ｂに記憶されたデータ１７１Ａ〜Ｂの秘密度レベルを記述する秘密度データ１１８を生成し得る。例えば、秘密度データ１１８は、データ１７１Ａが極秘データであること、及びデータ１７１Ｂが秘密データではないことを記述し得る。１つの実装において、ＤＬＰサーバ１８１は、秘密度データ１１８を制御モジュール１１５に送信し、制御モジュール１１５は、秘密度データ１１８をローカルに記憶する。
【００１７】
機械１３０は、データ１７１Ａ〜Ｂに関するポリシー１１７を定義するためのポリシー管理サーバ１３５を含み得る。例えば、ポリシー１１７は、極秘データが、安全なユーザデバイス及びデータトラフィックに対する安全なルート経路を含む安全なネットワークを使用して、アクセスされるべきであることを指定し得る。ルータ経路は、ネットワーク要素（例えば、ルータ、スイッチ等）を含む。ルータ経路は、選択されたネットワーク要素に基づいて変更され得る。ポリシー管理サーバ１３５は、ポリシー管理サーバ１３５と連結しているユーザインタフェース（ＵＩ）を介するユーザ（例えば、システム管理者）の入力からポリシー１１７を作成することができる。ＵＩは、グラフィカルユーザインタフェース（ＧＵＩ）、コマンドラインインタフェース等であってもよい。１つの実装において、ポリシー管理サーバ１３５は、ポリシー１１７を制御モジュール１１５に送信し、制御モジュール１１５は、ポリシー１１７をローカルに記憶する。
【００１８】
例えば、ユーザデバイス１０４Ａ〜Ｂによってデータが要求されるとき、企業は、応答内のデータの秘密度及び要求に対する応答のセキュリティコンテキストに基づいて、データ１７１Ａ〜Ｂの流れを制御することを望む場合がある。応答のセキュリティコンテキストは、例えば、応答を受信するユーザデバイスのセキュリティ、応答に関連付けられたネットワークのセキュリティ等を含むが、これらに限定されない。例えば、企業ユーザ１０２Ｂは、ユーザデバイス１０２Ｂ及びオンプレミスネットワーク１２０Ｃを使用するデータ１７１Ｂへのアクセスを要求し得る。記憶サーバ１４３Ａは、データ１７１Ｂを含む応答を生成し得る。ルータ１１０Ｃは、オンプレミスネットワーク１２０Ｃを介するルータ経路を使用して、ユーザデバイス１０２Ｂへの応答を送信することを決定し得る。別の例では、企業ユーザ１０２Ａは、ユーザデバイス１０２Ａ及び公共ネットワーク１２０Ａを使用してデータ１７１Ｂへのアクセスを要求し得る。記憶サーバ１４３Ｂは、データ１７１Ｂを含む応答を生成し得る。ルータ１１Ｃは、応答が、公共ネットワーク１２０Ａを介したルータ経路を使用してユーザデバイス１０２Ａに送信されることを防ぐことを決定し得る。
【００１９】
ソフトウェア確定ネットワークは、第三者ポリシー及びポリシーに関する第三者コンテキストデータを記憶するように構成され得る要素（例えば、ルータ、スイッチ等）を含むネットワークである。例えば、会社Ａによって製造されたルータは、企業であり得る会社Ｂが、ルータ上に会社Ｂポリシー１１７及び会社Ｂコンテキストデータを記憶することを可能にするＡＰＩ（アプリケーションプログラミングインタフェース）を含み得る。ルータは、ＡＰＩを介して、会社Ｂのポリシー１１７を実装するように構成されてもよい。例えば、ネットワーク１２０Ｃは、企業ポリシー１１７を実装する１つ以上のルータ（例えば、ルータ１１０Ｃ）を含むソフトウェア確定ネットワークであり得る。ルータ１１０Ｃは、応答のセキュリティコンテキストに基づいて、要求に対する応答の流れを制御するためのポリシー１１７を実装するための制御モジュール１１５を含み得る。例えば、記憶サーバ（例えば、記憶サーバ１４３Ａ〜Ｂ）は、要求されたデータ（例えば、企業データ１７１Ａ〜Ｂ）を含み得る応答を構築し得る。制御モジュール１１５は、記憶サーバから応答を受信し、応答内のデータ（例えば、データ１７１Ａ）が、ネットワーク（例えば、ネットワーク１２０Ａ）を介して、ユーザデバイス（例えば、ユーザデバイス１０４Ａ）に流れることを許可するかどうか、及び許可する場合、そのデータの流れに対して、どのルータ、ルータ経路、スイッチ（例えば、スイッチ１５０Ａ〜Ｂ）、及び／又はネットワークを使用するかを決定し得る。制御モジュール１１５は、ポリシー１１７及び秘密度データ１１８を使用して確定することができる。制御モジュール１１５は、企業のポリシー１１７、応答データ（例えば、データ１７１Ａ）の秘密度レベル、応答を受信するユーザデバイス１０４Ａに関連付けられたセキュリティレベル、及び応答に関連付けられ得るネットワーク１２０Ａに関連付けられたセキュリティレベルに基づいて、確定し得る。例えば、制御モジュール１１５は、応答が、秘密性が極めて高いデータ１７１Ａを含むこと、応答を受信するユーザデバイス１０２Ａがスマートフォンであり、安全ではないデバイスの種類として分類されること、並びに応答を送達するために使用されるネットワーク１２０Ａが、公共のＷｉ−Ｆｉホットスポットであり、安全ではないネットワークの種類として分類されることを決定し得る。ポリシー１１７は、制御モジュール１１５が、応答データ（例えば、データ１７１Ａ）がユーザデバイス１０２Ａに流れることを許可するべきではないことを指定し得る。別の例では、ポリシー１１７は、応答データ（例えば、データ１７１Ａ）が、安全なネットワーク、１つ以上の安全なルータ経路、及び安全なネットワーク要素（例えば、ルータ、スイッチ）を使用して、安全なユーザデバイスに流れることを許可してもよい。例えば、制御モジュール１１５は、ユーザデバイス１０４Ｂが、セキュリティエージェント（例えば、ＤＬＰエージェント、抗ウイルスエージェント等）を実行しているデスクトップコンピュータであること、及びネットワーク１２０Ｃが、安全な自社運用ネットワークであることを決定することができ、制御モジュール１１５は、応答データ（例えば、データ１７１Ａ）が、ネットワーク１２０Ｃ並びにルータ１１０Ｃ及びスイッチ１５０Ａを含むルータ経路を介して、ユーザデバイス１０４Ｂに流れることを許可し得る。
【００２０】
ポリシー管理サーバ１３５は、システムアーキテクチャ１００内の種々の種類のネットワーキングリソース（例えば、ルータ１１０Ａ〜Ｄ、スイッチ１５０Ａ〜Ｂ、ネットワーク１２０Ａ〜Ｃ、ユーザデバイス１０４Ａ〜Ｂ等）にセキュリティ分類を割り当てるための分類データ１１９を作成し得る。例えば、分類データ１１９は、スマートフォン及びタブレットコンピュータを安全ではないデバイスとして分類し得る。別の例では、分類データ１１９は、公共ネットワークを安全ではないネットワークとして分類し得る。実装上において、ポリシー管理サーバ１３５は、分類データ１１９を制御モジュール１１５に送信し、制御モジュール１１５は、分類データ１１９をローカルで記憶する。
【００２１】
例えば、ユーザデバイス１０４Ａ中のアプリケーションは、データ１７１Ａへのアクセスを要求することができる。要求は、ユーザデバイス１０４Ａから、ＷＡＰ  １３２及びルータ（例えば、ルータ１１０Ａ、ルータ１１０Ｂ、ルータ１１０Ｃ）を通してデータ１７１Ａを管理する記憶サーバ１４３Ａに伝送される。記憶サーバ１４３Ａは、要求に対するネットワークペイロード（例えば、データ１７１Ａ）を含む応答を構築することができる。ネットワークパケットは、制御情報及びユーザデータ（例えば、データ１７１Ａ）（ネットワークペイロードとしても知られる）からなる。ルータ１１０Ｃは、応答を受信し、応答データ（例えば、ネットワークペイロードデータ１７１Ａ）の秘密度、応答のセキュリティコンテキスト、及びポリシー１１７に基づいて、応答をユーザデバイス１０４Ａに経路制御するか、又は応答がユーザデバイス１０４Ａへ送信されることを防ぐかどうかを決定し得る。制御モジュール１１５は、ローカルに記憶された秘密度データ１１８を使用して、応答データ内のネットワークペイロード（例えば、データ１７１Ａ）の秘密度レベルを決定し得る。制御モジュール１１５は、ローカルに記憶された分類データ１１９を使用して、ユーザデバイス１０４Ａ、ネットワーク１２０Ａ、及び種々のルータ経路のルータ（例えば、ルータ１１０Ａ及びルータ１１０Ｂ）、並びにネットワーク１２０Ａと連結しているネットワーク（例えば、ネットワーク１２０Ｂ）に関連付けられたセキュリティレベルを決定することができる。制御モジュール１１５は、応答を受信するユーザデバイスの種類及び応答に関連付けられたネットワークの種類を識別するデータをローカルに記憶することができる。
【００２２】
制御モジュール１１５は、応答データ内のネットワークペイロード（例えば、データ１７１Ａ）が、秘密性が極めて高いこと、ユーザデバイス１０４Ａが、安全ではないデバイスとして分類されるスマートフォンであること、ルータ経路のルータ１１０Ａが安全ではないと分類されること、並びにネットワーク１２０Ａが、安全ではないネットワークとして分類される公共ネットワークであることを決定し得る。制御モジュール１１５は、ネットワーク１２０Ｂ及びルータ経路のルータ１１０Ｂが、安全であることを決定し得る。ルータ１１０Ｄ上でローカルに記憶されたポリシー１１７のうちの１つは、極秘データが、安全なネットワーク、安全なルータ経路の安全なルータを介して安全なユーザデバイスに流れることができることを示してもよく、制御モジュール１１５は、ネットワーク１２０、ルータ１１０Ａ、及びユーザデバイス１０４Ａが安全ではない場合に、応答データ（例えば、データ１７１Ａ）のユーザデバイス１０４Ａへの流れを妨げることができる。あるいは、制御モジュール１１５は、１つ以上のポリシー１１７に基づいて、ストロングキーを使用して応答データ（例えば、データ１７１Ａ）を暗号化することを選択してもよい。
【００２３】
１つの実装において、制御モジュール１１５は、種々の地理（例えば、都市、州、国等）にあるルータを使用して、データの流れを制御することができる。例えば、制御モジュール１１５は、日本に常駐するルータ１１０Ｄと連結していてもよい。分類データ１１９は、地理学に基づいてルータを安全である又は安全ではないと分類するデータを含み得る。制御モジュール１１５は、安全なルータを使用してデータを制御することができ、敵対的な地理におけるルータを避けてもよい。敵対的な地理とは、データ攻撃、データ傍受等の傾向があるものである。
【００２４】
図２は、制御モジュール２００の１つの実装のブロック図である。制御モジュール２００は、図１のルータ１１０Ｃにおける制御モジュール１１５と同じものであってもよい。制御モジュール２００は、データサブモジュール２０１、コンテキストサブモジュール２０５、アクションサブモジュール２０７、及びユーザインタフェースサブモジュール２０９を含み得る。サブモジュールは、特定の実装に従って、更なるサブモジュールと一緒に組み合わされていてもよく、又は別々であってもよい。
【００２５】
制御モジュール２００は、これらに限定されないが、構成データ２５１、秘密度データ２５３、分類データ２５５、ポリシー２５７、及びリソースデータ２５９等のデータを記憶する１つ以上のデータストア２５０と連結し得る。１つの実装において、データサブモジュール２０３は、データ（例えば、構成データ２５１、秘密度データ２５３、分類データ２５５、ポリシー２５７、及びリソースデータ２５９等）を１つ以上のシステム（例えば、ポリシー管理サーバ、ＤＬＰサーバ等）から受信し、そのデータをデータストア２５０に記憶する。１つの実装において、データサブモジュール２０３は、ユーザインタフェース（ＵＩ）２０１を介して、ユーザインタフェース（ＵＩ）サブモジュール２０９によって生成されるユーザ入力を受信し、ＵＩ  ２０１を介して、データ（例えば、構成データ２５１、秘密度データ２５３、分類データ２５５、ポリシー２５７、及びリソースデータ２５９等）を定義及び／又は更新する。ＵＩ  ２０１は、グラフィカルユーザインタフェース（ＧＵＩ）、コマンドラインインタフェース等であってもよい。
【００２６】
秘密度データ２５３は、要求に対する応答に含まれるデータ（例えば、ファイル）に対する秘密度レベルを記述することができ、１つ以上のデータストアに記憶される。種々の秘密度識別子を使用して、秘密度レベルを記述することができる。例えば、秘密度レベルには、「秘密性−高」、「秘密性−中」、及び「秘密性−低」が含まれるが、これらに限定されない。別の例では、秘密度レベルは、「秘密性−１」、「秘密性−２」、及び「秘密性−ｎ」を含み得るが、これらに限定されず、尺度は、秘密度の度合いを示し得る。
【００２７】
例えば、ユーザデバイスによってデータが要求されるとき、要求は、ルータを通して、要求されたデータを管理する記憶サーバに経路制御される。コンテキストサブモジュール２０５は、要求に対する応答データ２６１をデータストア２５０に記憶することができる。応答データの例としては、要求に対する応答を受信するためのユーザデバイスの種類を示すユーザデバイス識別子、ＩＰ（インターネットプロトコル）アドレス等が挙げられるが、これらに限定されない。
【００２８】
記憶サーバが要求を受信するとき、記憶サーバは、要求に対する応答を作成し、その応答をルータ内の制御モジュール２００を通してユーザデバイスへ送信することを試みることができる。応答データは、要求されたデータを含むことができる。コンテキストサブモジュール２０５は、応答のためのセキュリティコンテキストを決定することができる。セキュリティコンテキストの例としては、応答データの秘密度レベル、応答を受信するためのユーザデバイスのセキュリティレベル、応答に関連付けられたネットワーク要素（例えば、ルータ経路、ルータ、スイッチ等）のセキュリティレベル、並びに応答に関連付けられた宛先ネットワークのセキュリティレベルが挙げられるが、これらに限定されない。例えば、コンテキストサブモジュール２０５は、ネットワークペイロード（例えば、要求されたファイル）を含む記憶サーバからの応答を受信し得る。コンテキストサブモジュール２０５は、ネットワークペイロード（例えば、ファイル）の秘密度レベルを決定することができる。コンテキストサブモジュール２０５は、ハッシュ値を計算するためにネットワークペイロードに対してハッシュ関数を行うことができる。構成データ２５１は、どのハッシュ関数をコンテキストサブモジュール２０５が使用するべきかを指定することができる。コンテキストサブモジュール２０５は、例えば、データ分類サービスに照会することにより、秘密度データ２５３内のネットワークペイロード（例えば、ファイル）に対する秘密度レベルを探索するためのキーとしてハッシュ値を使用することができる。データ分類サービスは、企業環境（例えば、図１の自社運用環境１０５）におけるサーバコンピュータシステムによってホストされ得る。例えば、応答は、「秘密性−高」として分類され得るファイル−２８３９７５８のネットワークペイロードを含み得る。
【００２９】
コンテキストサブモジュール２０５は、分類データ２５５を使用して、ユーザデバイスのセキュリティレベル、ルータ経路を作製するネットワーク要素（例えば、ルータ、スイッチ等）、及びユーザデバイスへの応答の送信に関連付けられたネットワークを決定し得る。分類データ２５５は、種々の種類のネットワーク要素（例えば、ユーザデバイス、ルータ、スイッチ、ネットワーク等）に割り当てられたセキュリティレベルを含み得る。例えば、分類データ２５５は、スマートフォン及びタブレットコンピュータを安全ではないユーザデバイスとして、公共ネットワークを安全ではないネットワークとして、敵対的な地理におけるルータ及びスイッチを安全ではないネットワーク要素として等のように、割り当てることができる。
【００３０】
アクションサブモジュール２０７は、応答のためのセキュリティコンテキストに１つ以上のポリシー２５７を適用し、応答のためのデータの流れを制御するために行う経路制御アクションを決定することができる。ポリシー２５７は、アクセスされ得る応答データの種類（例えば、極秘、中度の秘密性、秘密ではない）、応答データにアクセスするために使用され得るユーザデバイスの種類、応答データの伝送及び／若しくはアクセスに使用され得るネットワークの種類、並びに／又は応答データの伝送及び／又はアクセスに使用され得るネットワーク要素（例えば、ルータ、スイッチ等）の種類及びルータ経路の種類を定義することができる。例えば、ポリシーは、極秘応答データが、安全なルータ経路の安全なネットワーク要素及び安全なネットワークを使用して、ユーザデバイスに伝送されるべきであることを指定し得る。経路制御アクションは、例えば、要求に対する応答と通信するために使用するユーザデバイス、ルータ、スイッチ、ルータ経路、及び／又はネットワークの種類、並びに存在する場合、応答データに対する認可へのアクセスの種類を指定し得る。
【００３１】
アクションサブモジュール２０７は、リソースデータ２５９を使用して、経路制御アクションを行うために使用する１つ以上のネットワークリソース（例えば、ルータ、スイッチ等）及び／又は１つ以上のルータ経路を選択することができる。例えば、経路制御アクションは、特定のルータ経路及びネットワークにおける１つ以上の安全なルータ及びスイッチを使用して、ユーザデバイスへの応答データの流れを許可することであり得る。リソースデータには、例えば、安全である、安全ではない、利用可能である、利用不可能である、暗号化された、私的な、公共の、敵対的な地理にある、ルータ、スイッチ、ルータ経路、ネットワーク等の一覧、並びにルータ、スイッチ、ネットワーク等に関連付けられ得るサービス料が挙げられるが、これらに限定されない。
【００３２】
例えば、リソースデータ２５９は、ルータ−３８９４７２８が敵対的な地理にあるルータ経路の一部であることを記述し得る。アクションサブモジュール２０７は、リソースデータ２５９から、どれが選択される安全なルータ、スイッチ、ルータ経路、及び／又はネットワークであるかを決定し得、その安全なルータ、スイッチ、ルータ経路、及び／又はネットワークのうちの１つ以上を選択することができる。
【００３３】
アクションサブモジュール２０７は、選択されたルータ、スイッチ、及び／又はネットワークを使用して、要求に対する応答を送信することができる。アクションサブモジュール２０７は、応答命令を生成し、その応答命令をデータ経路にある次のルータに送信することができる。応答命令は、要求に応答するために、どのルータ、スイッチ、及び／又はネットワークが使用されるべきかを記述することができる。例えば、アクションサブモジュール２０７は、データが、アメリカ合衆国からインドへ流れることを許可してもよく、データの流路にある次のルータとして日本のルータ−３４８９７２８が選択されてもよい。アクションサブモジュール２０７は、要求に対するデータの流れが、中国の１つ以上のルータ及びインドの１つ以上のルータからなるネットワーク経路を使用するべきであるという命令をルータ−３４８９７２８に送信し得る。
【００３４】
データストア２５０は、永続的な記憶装置であり得る。永続的な記憶装置は、ローカル記憶装置又は遠隔記憶装置であり得る。永続的な記憶装置は、磁気記憶装置、光記憶装置、ソリッドステート記憶装置、電子記憶装置（メインメモリ）、又は同様の記憶装置であり得る。永続的な記憶装置は、モノリシックデバイス又は分散したセットのデバイスであり得る。本明細書で使用される場合、「セット」とは、品目のあらゆる正の整数を指す。
【００３５】
図３は、セキュリティコンテキストをネットワーク経路制御決定に統合するための方法３００の実装の流れ図である。方法３００は、ハードウェア（例えば、回路網、専用ロジック、プログラマブルロジック、マイクロコード等）、ソフトウェア（例えば、処理デバイス上で実行される命令）、又はそれらの組み合わせを備えることができる、処理ロジックによって行われ得る。１つの実装において、方法３００は、図１のルータ１１０Ｃにおける制御モジュール１１５によって行われる。
【００３６】
ブロック３０１では、ルータは、データ（例えば、ファイル）にアクセスするための要求に対する応答内のファイル等のデータに対するネットワークペイロードを受信する。ユーザデバイス中のアプリケーションは、データ（例えば、ファイル）へのアクセスを要求することができる。アプリケーションは、例えば、ウェブアプリケーション、デスクトップアプリケーション、ブラウザアプリケーション等を含む任意の種類のアプリケーションであり得る。要求に対する応答において、記憶サーバは、ネットワークペイロード（例えば、ファイル）をルータに送信し、ユーザデバイスへ経路制御することができる。
【００３７】
ブロック３０３では、ルータが記憶サーバから応答データ内のネットワークペイロードを受信するとき、ルータは、ハッシュ値を計算するためにネットワークペイロードに対してハッシュ関数を行う。ハッシュ関数は、ルータと連結しているデータストアに記憶された構成データにおいて定義され得る。ブロック３０５では、ルータは、ハッシュ値を秘密度データに対するキーとして使用して、ネットワークペイロード（例えば、ファイル）の秘密度レベルを決定する。ルータは、ハッシュ値を使用して、ネットワークペイロード（例えば、ファイル）に対する秘密度レベルを決定することができる。例えば、ルータは、ハッシュ値を使用して、ネットワークペイロードに対する秘密度レベルに関して分類サーバに照会することができる。秘密度データは、ファイルが、例えば、これらに限定されないが、「極秘」、「中度の秘密性」等であるかどうかを示し得る。
【００３８】
ブロック３０７では、ルータは、応答に対する宛先ユーザデバイスのセキュリティレベルを識別する。ルータは、種々の種類のユーザデバイスに関する分類データを記憶するデータストアと連結し得る。例えば、分類データは、スマートフォンを安全ではないデバイスとして、タブレットコンピュータを安全ではないデバイスとして、セキュリティエージェントを実行するラップトップを安全なデバイスとして、セキュリティエージェントを実行するデスクトップを安全なデバイスとして等、分類することができる。ルータは、ユーザデバイスからの初期要求からの応答に関連付けられたユーザデバイスの種類を決定することができる。例えば、要求は、データ（例えば、ファイル）を要求しているユーザデバイスの種類（例えば、スマートフォン）を識別するユーザデバイス情報を含む文字列を含み得る。
【００３９】
ブロック３０９では、ルータは、応答に対する宛先ネットワークのセキュリティレベルを識別する。ルータは、種々の種類のネットワーク及びネットワーク要素に関する分類データを記憶するデータストアと連結し得る。例えば、分類データは、１つ以上の無線ネットワークを安全ではないネットワークとして、１つ以上の自社運用ネットワークを安全なネットワークとして、１つ以上の自社運用ネットワークを安全ではないネットワークとして、敵対的な地理におけるネットワーク要素を安全ではないネットワーク要素として等、分類することができる。ルータは、応答において、ＩＰ（インターネットプロトコル）アドレスからの応答に関連付けられたネットワークの種類を決定することができる。例えば、応答は、応答を受信するための宛先ユーザデバイスのＩＰアドレスを含み得る。サーバは、応答に関連付けられたＩＰアドレスからネットワークの種類を決定することができ、分類データを使用して、ネットワークの種類に割り当てられるセキュリティレベルを決定し得る。
【００４０】
ブロック３１１では、ルータは、応答データ及び応答のためのコンテキストデータ（例えば、ユーザデバイスのセキュリティレベル、ネットワークのセキュリティレベル等）のネットワークペイロード（例えば、ファイル）の秘密度レベルに１つ以上のポリシーを適用することによって、応答のために行う経路制御アクションを決定する。例えば、ポリシーは、極秘データを含み、安全ではないネットワーク（例えば、公共ネットワーク）を使用して、安全ではないデバイス（例えば、スマートフォン）にアドレス指定された任意の応答が、拒否されるべきであることを指定し得る。別の例では、ポリシーは、極秘データを含み、安全なネットワーク（例えば、安全な自社運用ネットワーク）を使用して、安全なデバイス（例えば、ラップトップ）にアドレス指定された任意の応答が、承諾されるべきであることを指定し得る。別の例では、ポリシーは、秘密ではないデータを含み、安全ではないか、又は安全なネットワークを使用して、安全ではないか、又は安全なデバイスにアドレス指定された任意の応答が、承諾されるべきであることを指定し得る。別の例では、ポリシーは、最も費用効果が高いルータ経路（複数可）、最も利用可能なルータ経路（複数可）、最も安全なルータ経路（複数可）等が、要求に対するデータを送達するために使用されるべきであることを指定し得る。
【００４１】
ブロック３１３では、ルータは、応答のための経路制御アクションを行う。例えば、ルータは、応答内の任意の秘密データがユーザデバイスに伝送されることを妨げることによって、応答が送達されるのを防ぐことができる。別の例では、ルータは、応答データのユーザデバイスへの伝送に使用するための安全なルータ経路上の安全なルータを選択することによって、応答データへのアクセスを承諾してもよい。ルータは、データストアに記憶されたリソースデータにアクセスし、どのルータが安全又は安全ではないルータであるか、並びにどのルータ経路が安全及び安全ではないかを決定することができる。１つの実装において、ルータは、ユーザデバイスに最も近接している安全なルータを選択する。ルータは、応答に対して使用されるべきであるネットワーク要素（例えば、ルータ、スイッチ等）の種類を指定し得る命令を作成することができる。
【００４２】
図４は、コンピュータシステム４００の一例となる機械を例示し、その中で、機械に、本明細書で考察される方法論のうちのいずれか１つ以上を行わせるための１セットの命令が実行され得る。代替となる実装では、機械は、ＬＡＮ、イントラネット、エクストラネット、及び／又はインターネットで別の機械に接続され得る（例えば、ネットワーク接続される）。機械は、クライアント−サーバネットワーク環境におけるサーバ若しくはクライアント機械として、又はピアツーピア（若しくは分散）ネットワーク環境におけるピア機械として、動作し得る。
【００４３】
機械は、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はその機械によって行われるべきアクションを指定する１セットの（さもなければ一連の）命令を実行することができる任意の機械であり得る。更に、単一の機械が例示されるが、「機械」という用語は、本明細書で考察される方法論のうちのいずれか１つ以上を行うための１セット（又は複数セット）の命令を個々に又は共同で実行する機械の任意の集合を含むようにも取られるものとする。
【００４４】
例となるコンピュータシステム４００は、処理デバイス４０２、メインメモリ４０４（例えば、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、同期ＤＲＡＭ（ＳＤＲＡＭ）又はＤＲＡＭ（ＲＤＲＡＭ）等のダイナミックランダムアクセスメモリ（ＤＲＡＭ）等）、静的メモリ４０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（ＳＲＡＭ）等）、及びデータ記憶デバイス４１８を含み、それらはバス４３０を介して互いに通信する。
【００４５】
処理デバイス４０２は、マイクロプロセッサー、中央処理装置等の１つ以上の汎用処理デバイスを表す。より具体的には、処理デバイスは、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサー、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサー、超長命令語（ＶＬＩＷ）マイクロプロセッサー、又は別の命令セットを実装するプロセッサー若しくは命令セットの組み合わせを実装するプロセッサーであり得る。また、処理デバイス４０２は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサー（ＤＳＰ）、ネットワークプロセッサー等の１つ以上の特殊目的用処理デバイスであってもよい。処理デバイス４０２は、本明細書で考察される動作及びステップを行うための命令４２２を実行するように構成される。
【００４６】
コンピュータシステム４００は、ネットワークインタフェースデバイス４０８を更に含み得る。コンピュータシステム４００はまた、ビデオディスプレイ装置４１０（例えば、液晶ディスプレイ（ＬＣＤ）又はブラウン管（ＣＲＴ））、英数字入力デバイス４１２（例えば、キーボード）、カーソル制御デバイス４１４（例えば、マウス）、及び信号生成デバイス４１６（例えば、スピーカー）も含み得る。
【００４７】
データ記憶デバイス４１８は、本明細書に記載される方法論若しくは機能のうちのいずれか１つ以上を具体化する１つ以上のセットの命令４２２又はソフトウェアをそこに記憶した機械可読記憶媒体４２８（コンピュータ可読媒体としても知られる）を含み得る。また、命令４２２は、コンピュータシステム４００によるその実行の間、メインメモリ４０４内及び／又は処理デバイス４０２内に完全に又は少なくとも部分的に属し、メインメモリ４０４及び処理デバイス４０２もまた、機械可読記憶媒体を構成する。
【００４８】
１つの実装において、命令４２２は、制御モジュール（例えば、図２の制御モジュール２００）並びに／又はセキュリティポリシーモジュール及び／若しくは記憶ネットワーク経路モジュール内のモジュールを呼び出す方法を含むソフトウェアライブラリに対する命令を含む。機械可読記憶媒体４２８は、一例となる実装において単一の媒体であるように示されるが、「機械可読記憶媒体」という用語は、１つ以上の命令のセットを記憶する単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／若しくは関連するキャッシュ及びサーバ）を含むように取られるべきである。「機械可読記憶媒体」という用語は、機械による実行のための１セットの命令を記憶するか、又はコードすることができ、かつ、機械に本開示の方法論のうちのいずれか１つ以上を行わせる任意の媒体を含むようにも取られるものとする。したがって、「機械可読記憶媒体」という用語は、限定されないが、ソリッドステートメモリ、光媒体、及び磁気媒体を含むように取られるものとする。
【００４９】
前述の詳細な記述の一部は、コンピュータメモリ内のデータビットにおける動作のアルゴリズム及び象徴的表現において示された。これらのアルゴリズム記述及び表現は、データ処理分野の技術者によって、当該技術分野の他者にその作業の内容を最も効果的に伝えるために使用される方法である。本明細書において及び一般的に、アルゴリズムは、所望の結果をもたらす動作の自己無撞着シーケンスとなるように考案される。動作は、物理量の物理的操作を必要とするものである。通常、必須ではないが、これらの量は、記憶される、組み合わせる、比較される、ないしは操作されることができる電気信号又は磁気信号の形態をとる。時には、主に一般的な用法の理由で、これらの信号をビット、値、要素、記号、文字、項、数等と称することが好都合であることが判明している。
【００５０】
しかしながら、これらのすべて及び同様の項は、適切な物理量に関連付けられるべきであり、これらの量に適用された単に好都合な標識であることに留意すべきである。上記考察から明らかであるように具体的に別途定められない限り、本記述全体を通して、「識別すること」又は「決定すること」又は「実行すること」又は「選択すること」又は「送信すること」又は「妨げること」又は「行うこと」等の用語を利用した考察は、コンピュータシステム、又はコンピュータシステムのレジスタ及びメモリ内の物理（電子）量で表されるデータを操作し、コンピュータシステムメモリ若しくはレジスタ又は別のそのような情報記憶デバイス内の物理量で同様に表される別のデータに変換する同様の電子計算デバイスのアクション及び処理を指すことを理解されたい。
【００５１】
本開示はまた、本明細書の動作を行うための装置に関する。この装置は、初期の目的のために特別に構築され得るか、又はコンピュータに記憶されたコンピュータプログラムによって選択的に作動又は再構成される汎用コンピュータを含み得る。そのようなコンピュータプログラムは、これらに限定されないが、各々が、コンピュータシステムバスと連結しているフロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、及び磁気−光ディスクを含む任意の種類のディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は電子命令を記憶するのに適した任意の種類の媒体等のコンピュータ可読記憶媒体に記憶され得る。
【００５２】
本明細書で提示されるアルゴリズム及びディスプレイは、任意の特定のコンピュータ又は別の装置に本質的に関係しない。種々の汎用システムは、本明細書の教示に従ってプログラムを用いて使用され得るか、又は、本方法を行うためのより特化した装置を構築することが好都合であることが判明し得る。様々なこれらのシステムのための構造は、以下の記述に示されるように明らかとなるだろう。更に、本開示は、任意の特定のプログラミング言語を参照して記載されない。様々なプログラミング言語を使用して、本明細書に記載される本開示の教示を実装し得ることが理解されるだろう。
【００５３】
本開示は、コンピュータプログラム製品、又はそこに記憶された、本開示に従って処理を行うコンピュータシステム（若しくは別の電子デバイス）をプログラムするために使用され得る命令を有する機械可読媒体を含み得るソフトウェアとして提供されてもよい。機械可読媒体は、機械（例えば、コンピュータ）によって読み取り可能な形態で情報を記憶するための任意の機構を含む。例えば、機械可読（例えば、コンピュータ可読）媒体としては、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス等の機械（例えば、コンピュータ）可読記憶媒体が挙げられる。
【００５４】
前述の明細書では、本開示の実装は、その特定の例示的実装を参照して記載された。以下の特許請求の範囲において示される本開示の実装の広範な趣旨及び範囲から逸脱することなく、本明細書に対して種々の修正がなされてもよいことは、明らかだろう。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味において扱われる。
【図１】
0006559652.tif 000002
【図２】
0006559652.tif 000003
【図３】
0006559652.tif 000004
【図４】
0006559652.tif 000005