(57)【要約】ネットワークコンテンツファイルへのアクセスを提供する場合のアクセス制御レベルを割当てる方法および装置であり、クライアントノード、収集エージェント、ポリシーエンジンを含む。クライアントノードはリソースへのアクセスを要求する。収集エージェントはクライアントノードについての情報を集める。ポリシーエンジンは集められた情報を受信し、受信情報に対するポリシーの適用に応じて複数のアクセスレベルのうちの１つを割当てる。アプリケーションサーバファームは要求されたファイルのファイルタイプに関連するアプリケーションプログラムを用いて、リソースのコンテンツをクライアントノードに提示し得る。変換サーバはリソースのコンテンツを原型のフォーマットから第２のフォーマットへ変換し、変換されたリソースのコンテンツをクライアントノードに提示する。
2008515085.tif 000002
【特許請求の範囲】
【請求項１】
リソースへのアクセスを認可するシステムであって、
ａ．リソースへのアクセスを要求するクライアントノードと、
ｂ．該クライアントノードに関する情報を集める収集エージェントと、
ｃ．該集められた情報を受信し、ポリシーの適用に応答して、複数のアクセスのレベルのうちの１つを該受信した情報に割り当てるポリシーエンジンと
を備える、システム。
【請求項２】
前記ポリシーエンジンは、構成可能なポリシーを格納するデータベースをさらに含む、請求項１に記載のシステム。
【請求項３】
システムアドミニストレータは、前記ポリシーエンジンにおけるポリシーを構成し、アクセスのレベルを制御する権限を前記クライアントノードに提供する、請求項１に記載のシステム。
【請求項４】
前記ポリシーエンジンは、前記収集エージェントが集める情報のタイプを決定する命令を該収集エージェントに伝送する、請求項１に記載のシステム。
【請求項５】
前記ポリシーエンジンは、ログオンエージェントをさらに含む、請求項１に記載のシステム。
【請求項６】
前記ログオンエージェントは、前記集められた情報を前記収集エージェントから受信する、請求項５に記載のログオンエージェント。
【請求項７】
前記ログオンエージェントは、前記ポリシーエンジンに対し、前記収集エージェントから受信した認証情報を識別する、請求項５に記載のログオンエージェント。
【請求項８】
前記ポリシーエンジンは、複数のログオンエージェントをさらに含む、請求項１に記載のシステム。
【請求項９】
前記複数のログオンエージェントのうちの少なくとも１つは、各ネットワークドメインに常駐し、クライアントノードは、各ネットワークドメインからリソース要求を伝送し得る、請求項８に記載のシステム。
【請求項１０】
前記クライアントノードは、前記リソース要求を特定のログオンエージェントに伝送する、請求項９に記載のシステム。
【請求項１１】
前記ログオンエージェントは、前記ポリシーエンジンに対し、前記ネットワークドメインを識別し、前記クライアントノードは、該ネットワークドメインから前記リソース要求を伝送する、請求項１０に記載のシステム。
【請求項１２】
前記収集エージェントは、前記クライアントノード上で実行する、請求項１に記載のシステム。
【請求項１３】
前記ポリシーエンジンは、前記収集エージェントを前記クライアントノードに伝送する、請求項１に記載のシステム。
【請求項１４】
前記収集エージェントは、少なくとも１つのスクリプトを含む、請求項１に記載のシステム。
【請求項１５】
前記収集エージェントは、バイトコードを含む、請求項１に記載のシステム。
【請求項１６】
前記収集エージェントは、前記クライアントノード上で少なくとも１つのスクリプトを実行することにより、情報を集める、請求項１に記載のシステム。
【請求項１７】
前記収集エージェントは、前記クライアントノードに関する情報を集め、該情報は、サーバ上に常駐する、請求項１に記載のシステム。
【請求項１８】
前記収集エージェントは、ＨＴＴＰヘッダを含む情報を集める、請求項１７に記載のシステム。
【請求項１９】
前記収集エージェントは、前記クライアントノードのネットワークゾーンを含む情報を集める、請求項１７に記載のシステム。
【請求項２０】
前記収集エージェントは、前記クライアントノードによって用いられる認証の方法を含む情報を集める、請求項１７に記載のシステム。
【請求項２１】
前記収集エージェントは、前記クライアントノードのマシンＩＤを集める、請求項１に記載のシステム。
【請求項２２】
前記収集エージェントは、オペレーティングシステムのタイプを含む情報を集める、請求項１に記載のシステム。
【請求項２３】
前記収集エージェントは、オペレーティングシステムに対するパッチの存在を含む情報を集める、請求項１に記載のシステム。
【請求項２４】
前記収集エージェントは、インストールされたネットワークカードのＭＡＣアドレスを含む情報を集める、請求項１に記載のシステム。
【請求項２５】
前記収集エージェントは、前記クライアントデバイスのウォーターマークを含む情報を集める、請求項１に記載のシステム。
【請求項２６】
前記収集エージェントは、アクティブディレクトリにおけるメンバーシップを含む情報を集める、請求項１に記載のシステム。
【請求項２７】
前記収集エージェントは、ウイルススキャナの存在を含む情報を集める、請求項１に記載のシステム。
【請求項２８】
前記収集エージェントは、ファイアウォールの存在を含む情報を集める、請求項１に記載のシステム。
【請求項２９】
前記収集エージェントは、ＨＴＴＰヘッダを含む情報を集める、請求項１に記載のシステム。
【請求項３０】
リソースへのアクセスを許可する方法であって、該方法は、
ａ．クライアントノードにより、リソースへのアクセスを要求するステップと、
ｂ．収集エージェントにより、該クライアントノードに関する情報を集めるステップと、
ｃ．ポリシーエンジンにより、該集められた情報を受信するステップと、
ｄ．および、
ｅ．該受信した情報に基づいて、アクセス制御決定を行なうステップと
を包含する、方法。
【請求項３１】
ステップ（ａ）は、ネットワーク接続を介して前記リソースを要求することをさらに含む、請求項３０に記載の方法。
【請求項３２】
ステップ（ｂ）は、ネットワーク接続を介して前記情報を集めことをさらに含む、請求項３０に記載の方法。
【請求項３３】
ステップ（ｂ）は、前記クライアントノード上で少なくとも１つのスクリプトを実行することにより、情報を集めることをさらに含む、請求項３０に記載の方法。
【請求項３４】
ステップ（ｃ）は、前記受信した情報が条件を満足するか否かを決定することをさらに含む、請求項３０に記載の方法。
【請求項３５】
前記受信した情報を少なくとも１つの条件と比較することにより、該受信した情報が条件を満足するか否かを決定することをさらに含む、請求項３４に記載の方法。
【請求項３６】
ステップ（ｄ）は、前記条件にポリシーを適用することにより、アクセス制御決定を行なうことをさらに含む、請求項３５に記載の方法。
【請求項３７】
ａ．クライアントノードに関する情報を受信する第１のコンポーネントであって、該情報からデータセットを生成する、第１のコンポーネントと、
ｂ．該データセットを受信する第２のコンポーネントであって、該データセットに基づいて、該クライアントに利用可能なリソースの列挙を該第１のコンポーネントに提供する、第２のコンポーネントと
を備える、ポリシーエンジン。
【請求項３８】
前記第１のコンポーネントは、収集エージェントから前記情報を受信する、請求項３７に記載のポリシーエンジン。
【請求項３９】
前記第１のコンポーネントは、少なくとも１つの条件を含み、受信された情報は、該少なくとも１つの条件と比較される、請求項３７に記載のポリシーエンジン。
【請求項４０】
前記第２のコンポーネントは、データベースをさらに含む、請求項３７に記載のポリシーエンジン。
【請求項４１】
前記データベースは、少なくとも１つのポリシーを格納する、請求項４０に記載のポリシーエンジン。
【請求項４２】
前記第２のコンポーネントは、前記少なくとも１つのポリシーを前記データセットに適用することにより利用可能なリソースを識別することをさらに含む、請求項４１に記載のポリシーエンジン。
【請求項４３】
前記ポリシーエンジンは、ログオンエージェントをさらに含む、請求項３７に記載のポリシーエンジン。
【請求項４４】
前記ログオンエージェントは、前記集められた情報を前記収集エージェントから受信する、請求項４３に記載のログオンエージェント。
【請求項４５】
前記ログオンエージェントは、前記ポリシーエンジンに対し、前記収集エージェントから受信した認証情報を識別する、請求項４４に記載のログオンエージェント。
【請求項４６】
前記ポリシーエンジンは、複数のログオンエージェントをさらに含む、請求項４３に記載のポリシーエンジン。
【請求項４７】
前記複数のログオンエージェントのうちの少なくとも１つは、各ネットワークドメインに常駐し、クライアントノードは、各ネットワークドメインからリソース要求を伝送し得る、請求項４６に記載のポリシーエンジン。
【請求項４８】
前記クライアントノードは、前記リソース要求を特定のログオンエージェントに伝送する、請求項４７に記載のポリシーエンジン。
【請求項４９】
ポリシーエンジンを用いてアクセスを許可する方法であって、該方法は、
ａ．第１のコンポーネントにより、クライアントノードに関する情報を受信するステップと、
ｂ．該第１のコンポーネントにより、該情報からデータセットを生成するステップと、
ｃ．および、
ｄ．第２のコンポーネントにより、該クライアントに利用可能なリソースの列挙を提供するステップと
を包含する、方法。
【請求項５０】
前記データセットに基づいて、第２のコンポーネントにより、前記クライアントノードに利用可能なリソースを識別するステップをさらに包含する、請求項４９に記載の方法。
【請求項５１】
前記受信したデータセットにポリシーを適用することにより、利用可能なリソースを識別することをさらに包含する、請求項５０に記載の方法。
【請求項５２】
要求するステップをさらに包含する、請求項４９に記載の方法。
【請求項５３】
前記クライアントノードに関するさらなる情報を受信するステップをさらに包含する、請求項４９に記載の方法。
【請求項５４】
ステップ（ｃ）は、前記第２のコンポーネントにより、前記受信した情報にポリシーを適用し、前記クライアントノードに利用可能なアクセス方法を決定することをさらに含む、請求項４９に記載の方法。
【請求項５５】
ステップ（ｃ）は、前記第１のコンポーネントにより、利用可能なリソースの列挙を受信することをさらに含む、請求項４９に記載の方法。
【請求項５６】
ステップ（ｃ）は、前記第１のコンポーネントにより、利用可能なリソースのサブセットの列挙を受信することをさらに含む、請求項５５に記載の方法。
【請求項５７】
ステップ（ｃ）は、前記第１のコンポーネントにより、前記列挙を前記クライアントノードに提供することをさらに含む、請求項５５に記載の方法。
【請求項５８】
ステップ（ｃ）は、前記第１のコンポーネントにより、前記列挙をＨＴＭＬページ上で前記クライアントノードに提供することをさらに含む、請求項５５に記載の方法。
【請求項５９】
ファイルコンテンツを提供する方法であって、
ａ．クライアントノードにより、ファイルに対する要求を伝送するステップと、
ｂ．アクセス制御サーバにより、ファイルに対する要求を受信するステップと、
ｃ．アクセス制御サーバにより、アクセス制御決定を行なうステップと、
ｄ．該ファイルに対するファイルタイプを決定するステップと、
ｅ．該ファイルタイプに関連するアプリケーションプログラムに対する識別子を決定するステップと、
ｆ．該ファイルのコンテンツを該クライアントノードに提示するステップと
を包含する、方法。
【請求項６０】
ステップ（ｆ）は、アプリケーションサーバファームにおけるアプリケーションサーバにより、前記ファイルの前記コンテンツを前記クライアントノードに提示することをさらに含む、請求項５９に記載の方法。
【請求項６１】
前記アプリケーションサーバファームにおける第１のアプリケーションサーバにより、前記ファイルタイプに関連するアプリケーションプログラムを決定することをさらに包含する、請求項５９に記載の方法。
【請求項６２】
前記アプリケーションサーバファームにおける前記第１のアプリケーションサーバにより、前記ファイルの前記コンテンツを前記クライアントノードに提示することをさらに包含する、請求項６１に記載の方法。
【請求項６３】
前記アプリケーションサーバファームにおける第２のアプリケーションサーバにより、前記ファイルのコンテンツを前記クライアントノードに提示することをさらに包含する、請求項６１に記載の方法。
【請求項６４】
ステップ（ｄ）は、アクセス制御サーバにより、前記ファイルに対するファイルタイプを決定することをさらに含む、請求項５９に記載の方法。
【請求項６５】
ステップ（ｄ）は、アプリケーションサーバファームにおけるアプリケーションサーバにより、前記ファイルに対するファイルタイプを決定することをさらに含む、請求項５９に記載の方法。
【請求項６６】
ステップ（ｅ）は、アクセス制御サーバにより、前記ファイルタイプに関連するアプリケーションプログラムに対する識別子を決定することをさらに含む、請求項５９に記載の方法。
【請求項６７】
ステップ（ｅ）は、アプリケーションサーバファームにおけるアプリケーションサーバにより、前記ファイルタイプに関連するアプリケーションプログラムに対する識別子を決定することをさらに含む、請求項５９に記載の方法。
【請求項６８】
前記アクセス制御サーバにより、前記クライアントノードに関する情報を取得するステップをさらに包含する、請求項５９に記載の方法。
【請求項６９】
ステップ（ｃ）は、前記アクセス制御サーバによって取得された情報をポリシーと比較することにより、アクセス制御決定を行なうステップをさらに含む、請求項６８に記載の方法。
【請求項７０】
ステップ（ｆ）は、アプリケーションサーバにより、取得された情報を用いることにより、前記ファイルコンテンツの提示に対するフォーマットを選択することをさらに含む、請求項６８に記載の方法。
【請求項７１】
ステップ（ｆ）は、前記取得された情報にポリシーを適用することにより、前記ファイルコンテンツを提示し、該ファイルコンテンツの提示に対するフォーマットを選択することをさらに含む、請求項６８に記載の方法。
【請求項７２】
前記アクセス制御サーバにより、収集エージェントを前記クライアントノードに伝送するステップをさらに包含する、請求項５９に記載の方法。
【請求項７３】
前記アクセス制御サーバにより、収集エージェントを用いることにより、前記クライアントノードに関する情報を取得するステップをさらに包含する、請求項５９に記載の方法。
【請求項７４】
ステップ（ｃ）は、前記収集エージェントによって取得された前記情報をポリシーと比較することにより、アクセス制御決定を行なうことをさらに含む、請求項７３に記載の方法。
【請求項７５】
ステップ（ｃ）は、前記アクセス制御サーバにより、前記要求を拒絶することをさらに含む、請求項５９に記載の方法。
【請求項７６】
ステップ（ｄ）は、前記アクセス制御サーバにより、ファイル拡張子を抽出することによって前記ファイルタイプを決定することをさらに含む、請求項５９に記載の方法。
【請求項７７】
ステップ（ｅ）は、アプリケーションサーバにより、ファイル拡張子と共に用いるアプリケーションプログラムに対するデータベースをクエリすることにより、該アプリケーションプログラムの識別子を決定することをさらに含む、請求項５９に記載の方法。
【請求項７８】
ファイルサーバから前記ファイルを抽出するステップをさらに包含する、請求項５９に記載の方法。
【請求項７９】
アプリケーションサーバにより、ファイルサーバから前記ファイルを抽出するステップをさらに包含する、請求項７８に記載の方法。
【請求項８０】
アクセス制御サーバにより、ファイルサーバから前記ファイルを抽出するステップをさらに包含する、請求項７８に記載の方法。
【請求項８１】
ウェブサーバから前記ファイルを抽出するステップをさらに包含する、請求項５９に記載の方法。
【請求項８２】
アプリケーションサーバにより、ウェブサーバから前記ファイルを抽出するステップをさらに包含する、請求項８１に記載の方法。
【請求項８３】
アクセス制御サーバにより、ウェブサーバから前記ファイルを抽出するステップをさらに包含する、請求項８１に記載の方法。
【請求項８４】
ｅメールサーバから前記ファイルを抽出するステップをさらに包含する、請求項５９に記載の方法。
【請求項８５】
アプリケーションサーバにより、ｅメールサーバから前記ファイルを抽出するステップをさらに包含する、請求項８４に記載の方法。
【請求項８６】
アクセス制御サーバにより、ｅメールサーバから前記ファイルを抽出するステップをさらに包含する、請求項８４に記載の方法。
【請求項８７】
前記クライアントノードにより、アプリケーションサーバに接続するステップをさらに包含する、請求項５９に記載の方法。
【請求項８８】
ステップ（ｆ）は、前記接続を介して前記クライアントノードに前記ファイルの前記コンテンツを提示することをさらに含む、請求項８７に記載の方法。
【請求項８９】
アクセス制御サーバにより、実行可能なファイルを前記クライアントノードに伝送するステップをさらに包含する、請求項５９に記載の方法。
【請求項９０】
前記実行可能なファイルにより、前記クライアントノードに対する前記ファイルを開くアプリケーションサーバを識別することをさらに包含する、請求項８９に記載の方法。
【請求項９１】
ステップ（ａ）は、ネットワーク境界によって第２のネットワークから分離された第１のネットワークに前記クライアントノードを常駐させ、アクセス制御サーバからファイルを要求するクライアントノードを該第２のネットワークに常駐させることをさらに含む、請求項５９に記載の方法。
【請求項９２】
ステップ（ｄ）は、前記アクセス制御サーバがコンテンツサーバから前記ファイルをダウンロードすることをさらに含む、請求項８５に記載の方法。
【請求項９３】
ファイルコンテンツを提供するシステムであって、
ａ．ファイルを要求するクライアントノードと、
ｂ．該ファイルに対する該要求を受信し、アクセス制御決定を行なうアクセス制御サーバと、
ｃ．該要求されたファイルに対するファイルタイプに関連するアプリケーションプログラムを用いることにより、該ファイルコンテンツを該クライアントノードに提示するアプリケーションサーバと
を備える、システム。
【請求項９４】
前記アプリケーションサーバは、前記ファイルタイプに関連するアプリケーションプログラムを識別することをさらに含む、請求項９３に記載のシステム。
【請求項９５】
前記アクセス制御サーバは、前記ファイルタイプに関連するアプリケーションプログラムを識別することをさらに含む、請求項９３に記載のシステム。
【請求項９６】
前記アクセス制御サーバは、少なくとも１つのポリシーを格納するデータベースをさらに含む、請求項９３に記載のシステム。
【請求項９７】
前記アクセス制御サーバは、前記クライアントノードに関する情報を取得する収集エージェントをさらに含む、請求項９３に記載のシステム。
【請求項９８】
前記アクセス制御サーバは、前記収集エージェントによって取得された情報に基づいて
アクセス制御決定を行なうことをさらに含む、請求項９７に記載のシステム。
【請求項９９】
前記アクセス制御サーバは、前記収集エージェントによって取得された前記情報にポリシーを適用することにより、アクセス制御決定を行なうことをさらに含む、請求項９７に記載のシステム。
【請求項１００】
前記収集エージェントは、デバイスのタイプについての前記クライアントノードに関する情報を取得する、請求項９７に記載のシステム。
【請求項１０１】
前記収集エージェントは、ネットワーク接続情報についての前記クライアントノードに関する情報を取得する、請求項９７に記載のシステム。
【請求項１０２】
前記収集エージェントは、認証証明についての前記クライアントノードに関する情報を取得する、請求項９７に記載のシステム。
【請求項１０３】
前記アプリケーションサーバは、少なくとも１つのファイルタイプに関連する少なくとも１つのアプリケーションプログラムを含んだデータベースを含む、請求項９３に記載のシステム。
【請求項１０４】
前記アプリケーションサーバは、前記データベースをクエリすることにより、アプリケーションプログラムに対する識別子を決定することをさらに含む、請求項１０３に記載のシステム。
【請求項１０５】
前記アクセス制御サーバは、実行可能なファイルを前記クライアントノードに伝送する、請求項９３に記載のシステム。
【請求項１０６】
前記実行可能なファイルは、前記ファイルに関連するアプリケーションプログラムに対する識別子を含む、請求項１０５に記載のシステム。
【請求項１０７】
前記実行可能なファイルは、アプリケーションサーバを識別する、請求項１０５に記載のシステム。
【請求項１０８】
前記クライアントノードは、前記実行可能なファイルによって識別されるアプリケーションサーバに対する接続を行なう、請求項１０５に記載のシステム。
【請求項１０９】
前記アプリケーションサーバは、前記クライアントノードからの接続を受け入れる、請求項１０５に記載のシステム。
【請求項１１０】
前記クライアントノードは、前記実行可能なファイルによって識別される前記アプリケーションプログラムに対する前記識別子を前記アプリケーションサーバに伝送する、請求項１０５に記載のシステム。
【請求項１１１】
前記アプリケーションサーバは、前記接続を介することにより、前記ファイルコンテンツを前記クライアントノードに提示する、請求項１０５に記載のシステム。
【請求項１１２】
リソースへのアクセスを認可するシステムであって、
ａ．リソースへのアクセスを要求するクライアントノードと、
ｂ．該クライアントノードに関する情報を集める収集エージェントと、
ｃ．該集められた情報を受信し、該受信した情報に基づいて、アクセス制御決定を行なうポリシーエンジンと、
ｄ．該ポリシーエンジンから該ファイルに対する要求を受信する変換サーバであって、該ファイルのコンテンツを原型のフォーマットから第２のフォーマットに変換し、該ファイルの該変換されたコンテンツを該クライアントノードに提示する、変換サーバと
を備える、システム。
【請求項１１３】
前記変換サーバは、プロキシサーバを介することにより、前記ポリシーエンジンから前記ファイルに対する前記要求を受信する、請求項１１２に記載のシステム。
【請求項１１４】
前記ポリシーエンジンは、前記集められた情報へのポリシーの適用に基づいて、アクセス制御決定を行なう、請求項１１２に記載のシステム。
【請求項１１５】
前記ポリシーエンジンは、データベースをさらに含む、請求項１１２に記載のシステム。
【請求項１１６】
前記ポリシーエンジンは、ログオンエージェントをさらに含む、請求項１１２に記載のシステム。
【請求項１１７】
前記ログオンエージェントは、前記収集エージェントから前記集められた情報を受信する、請求項１１６に記載のシステム。
【請求項１１８】
前記収集エージェントは、前記クライアントノード上で実行する、請求項１１２に記載のシステム。
【請求項１１９】
前記ポリシーエンジンは、前記収集エージェントを前記クライアントノードに伝送する、請求項１１２に記載のシステム。
【請求項１２０】
前記収集エージェントは、少なくとも１つのスクリプトを含む、請求項１１２に記載のシステム。
【請求項１２１】
前記収集エージェントは、バイトコードを含む、請求項１１２に記載のシステム。
【請求項１２２】
前記ポリシーエンジンは、前記収集エージェントが集める情報のタイプを決定する命令を該収集エージェントに伝送する、請求項１１２に記載のシステム。
【請求項１２３】
前記収集エージェントは、前記クライアントノード上で少なくとも１つのスクリプトを実行することにより、情報を集める、請求項１１２に記載のシステム。
【請求項１２４】
前記収集エージェントは、前記クライアントノードのデバイスのタイプについての情報を集める、請求項１１２に記載のシステム。
【請求項１２５】
前記収集エージェントは、前記クライアントノードのネットワーク接続についての情報を集める、請求項１１２に記載のシステム。
【請求項１２６】
前記収集エージェントは、ブラウザのタイプを含む情報を集める、請求項１１２に記載のシステム。
【請求項１２７】
前記収集エージェントは、オペレーティングシステムのタイプを含む情報を集める、請求項１１２に記載のシステム。
【請求項１２８】
リソースへのアクセスを許可する方法であって、該方法は、
ａ．クライアントノードにより、ファイルへのアクセスを要求するステップと、
ｂ．収集エージェントにより、該クライアントノードに関する情報を集めるステップと、
ｃ．ポリシーエンジンにより、該集められた情報を受信するステップと、
ｄ．該受信した情報に基づいて、アクセス制御決定を行なうステップと、
ｅ．変換サーバにより、該ファイルのコンテンツを原型のフォーマットから第２のフォーマットに変換するステップと、
ｆ．該変換サーバにより、該ファイルの該変換されたコンテンツを該クライアントノードに提示するステップと
を包含する、方法。
【請求項１２９】
前記ポリシーエンジンにより、前記ファイルに対する前記要求を変換サーバに伝送することをさらに含む、請求項１２８に記載の方法。
【請求項１３０】
プロキシサーバを介することにより、前記ファイルに対する前記要求を前記変換サーバにルーティングすることをさらに含む、請求項１２８に記載の方法。
【請求項１３１】
プロキシサーバを介することにより、前記ポリシーエンジンによって、前記ファイルに対する前記要求を前記変換サーバにルーティングすることをさらに含む、請求項１２８に記載の方法。
【請求項１３２】
ステップ（ａ）は、ネットワーク接続を介して、前記リソースを要求することをさらに含む、請求項１２８に記載の方法。
【請求項１３３】
ステップ（ｂ）は、前記収集エージェントにより、ネットワーク接続を介して前記情報を集めることをさらに含む、請求項１２８に記載の方法。
【請求項１３４】
ステップ（ｂ）は、前記クライアントノード上で少なくとも１つのスクリプトを実行することにより、該収集エージェントによって、情報を集めることをさらに含む、請求項１２８に記載の方法。
【請求項１３５】
ステップ（ｃ）は、前記ポリシーエンジンにより、前記受信した情報が条件を満足するか否かを決定することをさらに含む、請求項１２８に記載の方法。
【請求項１３６】
前記ポリシーエンジンにより、前記受信した情報を少なくとも１つの条件と比較することにより、該受信した情報が条件を満足するか否かを決定することをさらに含む、請求項１２８に記載の方法。
【請求項１３７】
ステップ（ｄ）は、前記ポリシーエンジンにより、ポリシーを前記条件に適用することによって、アクセス制御決定を行なうことをさらに含む、請求項１３６に記載の方法。
【請求項１３８】
ａ．クライアントノードに関する情報を受信する第１のコンポーネントであって、該受信した情報からデータセットを生成する、第１のコンポーネントと、
ｂ．該データセットを受信する第２のコンポーネントであって、該データセットに基づいて、該クライアントに利用可能なリソースの列挙を該第１のコンポーネントに提供する、第２のコンポーネントと
を備える、ポリシーエンジン。
【請求項１３９】
前記第１のコンポーネントは、収集エージェントから前記情報を受信する、請求項１３８に記載のポリシーエンジン。
【請求項１４０】
前記第１のコンポーネントは、少なくとも１つの条件を含み、受信された情報は、該少なくとも１つの条件と比較される、請求項１３８に記載のポリシーエンジン。
【請求項１４１】
前記第２のコンポーネントは、データベースをさらに含む、請求項１３８に記載のポリシーエンジン。
【請求項１４２】
前記データベースは、少なくとも１つのポリシーを格納する、請求項１４１に記載のポリシーエンジン。
【請求項１４３】
前記第２のコンポーネントは、前記少なくとも１つのポリシーを前記データセットに適用することにより、利用可能なリソースを識別することをさらに含む、請求項１４２に記載のポリシーエンジン。
【請求項１４４】
ポリシーエンジンを用いてアクセスを許可する方法であって、該方法は、
ａ．第１のコンポーネントにより、クライアントノードに関する情報を受信するステップと、
ｂ．該第１のコンポーネントにより、該情報からデータセットを集めるステップと、
ｃ．第２のコンポーネントにより、該クライアントに利用可能なリソースの列挙を提供するステップと
を包含する、方法。
【請求項１４５】
第２のコンポーネントにより、前記データセットに基づいて、前記クライアントノードに利用可能なリソースを識別するステップをさらに含む、請求項１４４に記載の方法。
【請求項１４６】
前記受信したデータセットにポリシーを適用することにより、利用可能なリソースを識別することをさらに含む、請求項１４５に記載の方法。
【請求項１４７】
前記クライアントノードに関する情報を要求するステップをさらに含む、請求項１４４に記載の方法。
【請求項１４８】
前記クライアントノードに関するさらなる情報を受信するステップをさららに含む、請求項１４４に記載の方法。
【請求項１４９】
ステップ（ｂ）は、前記第１のコンポーネントにより、前記受信した情報にポリシーを適用し、前記クライアントノードに利用可能なアクセス方法を決定することをさらに含む、請求項１４４に記載の方法。
【請求項１５０】
ステップ（ｃ）は、前記第２のコンポーネントにより、利用可能なリソースのサブセットの列挙を前記クライアントノードに提供することをさらに含む、請求項１４４に記載の方法。
【請求項１５１】
ステップ（ｃ）は、前記第１のコンポーネントにより、利用可能なリソースの列挙を受信することをさらに含む、請求項１４４に記載の方法。
【請求項１５２】
ステップ（ｃ）は、前記第１のコンポーネントにより、前記列挙を前記クライアントノードに提供することをさらに含む、請求項１５１に記載の方法。
【請求項１５３】
ステップ（ｃ）は、前記第１のコンポーネントにより、前記列挙をＨＴＭＬページ上で前記クライアントノードに提供することをさらに含む、請求項１５１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（本発明の技術分野）
本発明は、ネットワークリソースに安全にアクセスする方法および装置に関し、特に、サーバからのコンテンツファイルへのアクセスを提供する上での、アクセス制御レベルを割当てる方法および装置に関する。
【背景技術】
【０００２】
（本発明の背景）
従来は、リモートのロケーションから抽出されたコンテンツファイルにアクセスするために、クライアントシステム上のユーザは、ウェブブラウザと他のクライアントベースのアプリケーションとの組み合わせを用いてきた。例えば、ユーザは、Ｗａｓｈｉｎｇｔｏｎ、ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲを用いてインターネットコンテンツにアクセスし得、そして、ローカルロケーションにダウンロードされたＷＯＲＤドキュメントのようなデスクトップのプロダクティビティドキュメントタイプにアクセスするために、同じＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）  ＥＸＰＬＯＲＥＲを用い得る。
【０００３】
従来のプロセスは、見るためおよび操作のために、クライアントノードにファイルをダウンロードすることを要求する。しかしながら、このプロセスは安全の観点からは問題を提示する。クライアントにおいてコンテンツにアクセスするために、ユーザは、不揮発性メモリにコンテンツをローカルにセーブすることを２度要求される。第１のセーブはダウンロードの際に要求され、第２はアップロードプロセスに先立ち編集の後に要求される。さらに、多くの場合、多くのユーザは、ダウンロードされたコンテンツを１つのローカルディレクトリから別のローカルディレクトリへ（例えば、ｄｉｒ：／／ｄｏｗｎｌｏａｄｅｄ＿ｆｉｌｅｓからｄｉｒ：／／ｍｙ＿ｄｏｃｕｍｅｎｔｓへ）ムーブおよび／またはコピーする。これらのセーブアクションの各々は、クライアント上にローカルなドキュメントのコピーを生成する。クライアントデバイスのほとんどのユーザは、これらのローカルなドキュメントのコピーを手動でデリートすることを忘れ、従って、それらはクライアントデバイス上に残される。
【０００４】
さらに、クライアントデバイスが公共キオスク設定で設置される場合のような状況では、クライアントデバイスのストレージの直接操作は、ユーザにはアクセス不可であり得る。これらのケースにおいては、ローカルコピーをデリートする選択は、ユーザには利用可能ではない。クライアント上に残されたドキュメントは、クライアントマシンにアクセスする認証されていない個人よってアクセスされ得るので、これは大きな安全上の問題を提示する。さらに、パーソナルディジタルアシスタントのようなより小さなデバイスタイプは、該デバイス上でのクライアントベースのアプリケーションの使用を許すだけの十分なリソースを有し得ない。
【０００５】
これらの関心事を解決する試みにおいては、従来のアクセス制御の方法は、アクセスを許可する前にクライアントから特別な認証証明を要求し得、不適切なロケーションまたはデバイスからのアクセスを否認し得る。しかしながら、一般的に、従来の方法に対する制限は、アクセス制御決定がリソースへのアクセスの否認か許可のいずれかとなる、ということを要求する。否認の場合には、該方法は何らの代替のアクセス方法を提供し得ない。許可の場合には、該方法はリソースの全面的かつ完全な開示だけを提供し得る。アクセス制御レベルに基づきアクセスの程度を割当てることにより、アクセスを許可する制御の方法が、ネットワーク環境下の所有資源へのアクセスを提供する上で望ましい。
【０００６】
さらに、不正なクライアントノードのアクセスから所有データを保護する上で、クライアントデバイスのタイプ、認証証明、および、能力のようなファクター次第で、代替的なファイルアクセス方法を、アクセス権に対して提供することが望ましい。アクセス権の完全な否認に代えて、クライアントに代わり安全なネットワーク上で実行されるファイルに限定されるような権利が望ましい。
【発明の開示】
【課題を解決するための手段】
【０００７】
（本発明の概要）
本発明は、サーバからのコンテンツファイルに安全にアクセスする方法と装置に関し、該サーバは、安全性強化、証拠収集、および、複数のアクセスのレベルのうちの１つを割当てることによってアクセス制御を提供するポリシーアプリケーションを、インプリメントする。
【０００８】
１つの局面においては、本発明はリソースへのアクセスを許可するシステムおよび方法に関する。クライアントノードはリソースへのアクセスを要求する。収集エージェントはクライアントノードについての情報を集め、ポリシーエンジンは集められた情報を受信する。ポリシーエンジンは、受信した情報に対するポリシーの適用に応じた複数のアクセスレベルのうちの１つを割当てることによって、アクセス制御決定を行う。
【０００９】
１つの実施形態においては、ポリシーエンジンは、受信した情報にポリシーを適用することによってアクセス決定を行う。別の実施形態においては、ポリシーエンジンは収集エージェントをクライアントノードに伝送する。
【００１０】
別の局面においては、本発明は、リソースへのアクセスを許可する方法および装置に関する。装置は、２つのコンポーネントを含むポリシーエンジンを備える。第１のコンポーネントは、クライアントノードについての情報を受信し、該情報からデータセットを生成する。第２のコンポーネントは、データセットを受信し、該受信データセットに基づきクライアントが利用可能なリソースの列挙を、第１のコンポーネントに提供する。第１のコンポーネントはクライアントノードにリソースの列挙を提示する。
【００１１】
１つの実施形態においては、第１のコンポーネントは収集エージェントから情報を受信する。１つの実施形態においては、各コンポーネントはデータベースをさらに備える。第１のコンポーネントのデータベースは条件を格納する。第２のコンポーネントのデータベースはポリシーを格納する。第１のコンポーネントは条件を受信した情報に適用し、第２のコンポーネントはポリシーを受信したデータセットに適用する。別の実施形態においては、第２のコンポーネントは、クライアントノードが利用可能なリソースのサブセットの列挙を生成する。
【００１２】
本発明は、安全性強化をインプリメントし、ネットワーク環境下の所有データの開示を減らすネットワークリソースにアクセスする方法および装置にも関する。
【００１３】
１つの局面においては、本発明はファイルコンテンツを提供する方法と装置に関する。クライアントノードはファイルに対する要求を伝送する。アクセス制御サーバは該要求を受信し、アクセス制御決定を行う。アプリケーションサーバファームは、要求されたファイルのファイルタイプに関連するアプリケーションプログラムを用いて、ファイルのコンテンツをクライアントノードに提示する。
【００１４】
１つの実施形態においては、アクセス制御サーバは、アクセス制御決定を行う前にクライアントノードについての情報を集める。別の実施形態においては、アクセス制御サーバは、ファイルタイプに関連するアプリケーションプログラムの識別子およびクライアントノードにファイルのコンテンツを提示することが可能なアプリケーションサーバの識別子を含む実行可能なものを、クライアントノードに伝送する。１つの実施形態においては、アクセス制御サーバは、クライアントノードにファイルコンテンツを提示する前に、ファイルタイプに関連するアプリケーションプログラムを識別する。別の実施形態においては、アプリケーションサーバが、クライアントノードにファイルコンテンツを提示する前に、ファイルタイプに関連するアプリケーションプログラムを識別する。
【００１５】
さらに、本発明は、安全性強化をインプリメントし、ポリシーベースのドキュメント制御を提供する変換ファイルのコンテンツにアクセスする方法および装置に関する。
【００１６】
１つの局面においては、本発明は、リソースへのアクセスを許可するシステムと方法に関する。クライアントノードはリソースへのアクセスを要求する。収集エージェントはクライアントノードについての情報を集める。ポリシーエンジンは、該集められた情報を受信し、該受信した情報に基づきアクセス制御決定を行う。ポリシーエンジンからのファイルに対する要求を受信する変換サーバは、ファイルのコンテンツを原型のフォーマットから第２のフォーマットに変換し、ファイルの変換されたコンテンツをクライアントノードに提示する。
【００１７】
１つの実施形態においては、ポリシーエンジンは、受信した情報にポリシーを適用することによってアクセス決定を行う。さらに別の実施形態においては、ポリシーエンジンは収集エージェントをクライアントノードに伝送する。
【００１８】
別の局面においては、本発明は、リソースへのアクセスを許可する方法および装置に関する。装置は２つのコンポーネントを含むポリシーエンジンを備える。第１のコンポーネントは、クライアントノードについての情報を受信し、該情報からデータセットを生成する。第２のコンポーネントは、該データセットを受信し、該受信したデータセットに基づきクライアントが利用可能なリソースの列挙を、第１のコンポーネントに提供する。第１のコンポーネントはリソースの列挙をクライアントノードに提供する。
【００１９】
１つの実施形態においては、第１のコンポーネントは収集エージェントから情報を受信する。１つの実施形態においては、各コンポーネントはデータベースをさらに備える。第１のコンポーネントのデータベースは条件を格納する。第２のコンポーネントのデータベースはポリシーを格納する。第１のコンポーネントは条件を受信した情報に適用し、第２のコンポーネントはポリシーを受信したデータセットに適用する。
【発明を実施するための最良の形態】
【００２０】
本発明のこれらまたは他の局面が以下の詳細な記述および添付の図面から容易に明確となるが、それらは、例示のためであって本発明を限定するものではない。
【００２１】
（本発明の詳細な説明）
リモートのユーザがコンテンツへのアクセスを要求する場合には、本発明の例示的な実施形態が分散ネットワーク環境に対して適用可能である。本発明の詳細を検討する前に、本発明の例示的な実施形態が用いられ得る一部のネットワーク環境について検討することが助けとなり得る。
【００２２】
図１Ａは、本発明の例示的な実施形態の実行に適切な環境のブロック図である。クライアントノード１０２は、ウェブブラウザ１１０およびアプリケーションプログラム１１２ａ、１１２ｂ・・・１１２ｎを含む。アプリケーションプログラムは、アウトプットを提供するためにデータを処理し、システムリソースにアクセスするためにオペレーティングシステムを使用する任意のプログラムである。例示的なアプリケーションプログラムは、Ｗａｓｈｉｎｇｔｏｎ、ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたＭＩＣＲＯＳＯＦＴ  ＷＯＲＤのようなワードプロセッシングアプリケーション、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたＭＩＣＲＯＳＯＦＴ  ＥＸＣＥＬのようなスプレッドシートプログラム、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたＭＩＣＲＯＳＯＦＴ  ＯＵＴＬＯＯＫのような電子メールプログラム、および、Ｕｔａｈ、ＰｒｏｖｏのＮｏｖｅｌｌ  Ｃｏｒｐ．によって製造されたＧＲＯＵＰＷＩＳＥ、および、Ｃａｌｉｆｏｒｎｉａ、Ｍｏｕｎｔａｉｎ  ＶｉｅｗのＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓによって製造されたＳＴＡＲ  ＯＦＦＩＣＥのようなプロダクティビティスイーツを含む。
【００２３】
コンテンツサーバ１２６は、コンテンツファイル１２８を含み、さらなるコンテンツファイル１２４および１３２をそれぞれ保持するデータストア１２２および１３０に接続され得る。本発明の範囲から逸脱することなく、コンテンツファイルを保持する他のネットワークストレージデバイスまたはドキュメントリポジトリも、コンテンツサーバ１２６にネットワークされ得ることを、当業者は認識する。描写された、ハイパーテキストトランスポートプロトコルセキュア（ＨＴＴＰＳ）要求１１５、または、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）の要求、または、共有するファイルに対するオペレーションのための、ＳＭＢ（Ｓｅｒｖｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｂｌｏｃｋ  Ｐｒｏｔｏｃｏｌ）要求のような、要求を送信するためにウェブブラウザ１１０を用いて、コンテンツサーバ１２６からのコンテンツを、クライアントノード１０２のユーザは要求し得る。
【００２４】
多くの実施形態においては、コンテンツサーバ１２６、クライアントノード１０２、および、プロキシサーバ１２０は、Ｃａｌｉｆｏｒｎｉａ、Ｐａｌｏ  ＡｌｔｏのＨｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  ＣｏｒｐｏｒａｔｉｏｎまたはＴＸ、Ｒｏｕｎｄ  ＲｏｃｋのＤｅｌｌ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されるような、パーソナルコンピュータまたはコンピュータサーバとして提供される。図１Ｂおよび図１Ｃは、それらの実施形態におけるコンテンツサーバ１２６、プロキシサーバ１２０、または、クライアントノード１０２として有用な一般的なコンピュータ１００のブロック図を描く。図１Ｂおよび図１Ｃに示されるように、各コンピュータ１００は、中央演算装置１０２および主記憶装置１０４を含む。各コンピュータ１００は、１つ以上の入力／出力デバイス１３０ａ〜１３０ｎ（概して参照番号１３０を用いて参照される）、および、中央演算装置１０２と通信するキャッシュメモリ１４０のような、他の選択的なエレメントも含み得る。
【００２５】
中央演算装置１０２は、主記憶装置１０４からフェッチされる命令に応答しかつ処理する任意のロジック回路網である。多くの実施形態においては、中央演算装置は、その全てがＣａｌｉｆｏｒｎｉａ、Ｍｏｕｎｔａｉｎ  ＶｉｅｗのＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎによって製造される、８０８８、８０２８６、８０３８６、８０４８６、Ｐｅｎｔｉｕｍ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）  Ｐｒｏ、Ｐｅｎｔｉｕｍ（登録商標）  ＩＩ、ＣｅｌｅｒｏｎまたはＸｅｏｎプロセッサ；その全てがＩｌｌｉｎｏｉｓ、ＳｃｈａｕｍｂｕｒｇのＭｏｔｏｒｏｌａ  Ｃｏｒｐｏｒａｔｉｏｎによって製造される、６８０００、６８０１０、６８０２０、６８０３０、６８０４０、ＰｏｗｅｒＰＣ６０１、ＰｏｗｅｒＰＣ６０４、ＰｏｗｅｒＰＣ６０４ｅ、ＭＰＣ６０３ｅ、ＭＰＣ６０３ｅｉ、ＭＰＣ６０３ｅｖ、ＭＰＣ６０３ｒ、ＭＰＣ６０３ｐ、ＭＰＣ７４０、ＭＰＣ７４５、ＭＰＣ７５０、ＭＰＣ７５５、ＭＰＣ７４００、ＭＰＣ７４１０、ＭＰＣ７４４１、ＭＰＣ７４４５、ＭＰＣ７４４７、ＭＰＣ７４５０、ＭＰＣ７４５１、ＭＰＣ７４５５、ＭＰＣ７４５７プロセッサ；Ｃａｌｉｆｏｒｎｉａ、Ｓａｎｔａ  ＣｌａｒａのＴｒａｎｓｍｅｔａ  Ｃｏｒｐｏｒａｔｉｏｎによって製造される、Ｃｒｕｓｏｅ  ＴＭ５８００、Ｃｒｕｓｏｅ  ＴＭ５６００、Ｃｒｕｓｏｅ  ＴＭ５５００、Ｃｒｕｓｏｅ  ＴＭ５４００、Ｅｆｆｉｃｅｏｎ  ＴＭ８６００、Ｅｆｆｉｃｅｏｎ  ＴＭ８３００またはＥｆｆｉｃｅｏｎ  ＴＭ８６２０プロセッサ；それらの全てがＮｅｗ  Ｙｏｒｋ、Ｗｈｉｔｅ  ＰｌａｉｎｓのＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓによって製造される、ＲＳ／６０００プロセッサ、ＲＳ６４、ＲＳ６４ＩＩ、Ｐ２ＳＣ、ＰＯＷＥＲ３、ＲＳ６４ＩＩＩ、ＰＯＷＥＲ３−ＩＩ、ＲＳ６４ＩＶ、ＰＯＷＥＲ４、ＰＯＷＥＲ４＋、ＰＯＷＥＲ５またはＰＯＷＥＲ６プロセッサ；Ｃａｌｉｆｏｒｎｉａ、ＳｕｎｎｙｖａｌｅのＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓによって製造される、ＡＭＤ  Ｏｐｔｅｒｏｎ、ＡＭＤ  Ａｔｈａｌｏｎ  ６４  ＦＸ、ＡＭＤ  ＡｔｈａｌｏｎまたはＡＭＤ  Ｄｕｒｏｎプロセッサのような、マイクロプロセッサユニットによって、提供される。
【００２６】
主記憶装置１０４は、データを格納し、かつ、スタティックランダムアクセスメモリ（ＳＲＡＭ）、Ｂｕｒｓｔ  ＳＲＡＭまたはＳｙｎｃｈＢｕｒｓｔ  ＳＲＡＭ（ＢＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、Ｆａｓｔ  Ｐａｇｅ  Ｍｏｄｅ  ＤＲＡＭ（ＦＰＭ  ＤＲＡＭ）、Ｅｎｈａｎｃｅｄ  ＤＲＡＭ（ＥＤＲＡＭ）、Ｅｘｔｅｎｄｅｄ  Ｄａｔａ  Ｏｕｔｐｕｔ  ＲＡＭ（ＥＤＯ  ＲＡＭ）、Ｅｘｔｅｎｄｅｄ  Ｄａｔａ  Ｏｕｔｐｕｔ  ＤＲＡＭ（ＥＤＯ  ＤＲＡＭ）、Ｂｕｒｓｔ  Ｅｘｔｅｎｄｅｄ  Ｄａｔａ  Ｏｕｔｐｕｔ  ＤＲＡＭ（ＢＥＤＯ  ＤＲＡＭ）、Ｅｎｈａｎｃｅｄ  ＤＲＡＭ（ＥＤＲＡＭ）、ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ（ＳＤＲＡＭ）、ＪＥＤＥＣ  ＳＲＡＭ、ＰＣ１００  ＳＤＲＡＭ、Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、Ｅｎｈａｎｃｅｄ  ＳＤＲＡＭ（ＥＳＤＲＡＭ）、ＳｙｎｃＬｉｎｋ  ＤＲＡＭ（ＳＬＤＲＡＭ）、Ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＤＲＡＭ（ＤＲＤＲＡＭ）またはＦｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ（ＦＲＡＭ）のような、マイクロプロセッサ１０２によって直接アクセスされる任意のストレージロケーションを可能とする能力のある１つ以上のメモリチップであり得る。
【００２７】
図１Ｂに示される実施形態においては、プロセッサ１０２は、システムバス１２０（以下でより詳細に記述される）を介してメインメモリ１０４と通信する。図１Ｃは、プロセッサがメモリポートを介してメインメモリ１０４と直接通信する、コンピュータシステム１００の実施形態を描く。例えば、図１Ｃにおいては、メインメモリ１０４はＤＲＤＲＡＭであり得る。
【００２８】
図１Ｂおよび図１Ｃは、ときどき「バックサイド」バスと言われる補助のバスを介して、メインプロセッサ１０２がキャッシュメモリ１４０と直接通信する、実施形態を描く。他の実施形態においては、メインプロセッサ１０２は、システムバス１２０を用いてキャッシュメモリ１４０と通信する。キャッシュメモリ１４０は、一般的にはメインメモリ１０４よりも応答時間が早く、一般的にはＳＲＡＭ、ＢＳＲＡＭまたはＥＤＲＡＭによって提供される。
【００２９】
図１Ｂに示される実施形態においては、プロセッサ１０２は、ローカルシステムバス１２０を介して様々なＩ／Ｏデバイス１３０と通信する。様々なバスが中央演算装置１０２をＩ／Ｏデバイス１３０に接続するために用いられ得、それは、ＶＥＳＡ  ＶＬバス、ＩＳＡバス、ＥＩＳＡバス、ＭｉｃｒｏＣｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、ＰＣＩバス、ＰＣＩ−Ｘバス、ＰＣＩ−ＥｘｐｒｅｓｓバスまたはＮｕＢｕｓを含む。Ｉ／Ｏデバイスがビデオディスプレイである実施形態に対して、プロセッサ１０２は、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）をディスプレイと通信するために用い得る。図１Ｃは、メインプロセッサ１０２が、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ、Ｒａｐｉｄ  Ｉ／ＯまたはＩｎｆｉｎｉＢａｎｄを介してＩ／Ｏデバイス１３０ｂと直接通信する、コンピュータシステム１００の実施形態を描く。図１Ｃはまた、ローカルバスと直接通信とがミックスされた実施形態を描き、プロセッサ１０２は、Ｉ／Ｏデバイス１３０ｂと直接通信する一方で、ローカルインターコネクトバスを用いて、Ｉ／Ｏデバイス１３０ａと通信する。
【００３０】
多種多様なＩ／Ｏデバイス１３０がコンピュータシステム１００に存在し得る。インプットデバイスは、キーボード、マウス、トラックパッド、トラックボール、マイクロフォンおよびドローイングタブレットを含む。アウトプットデバイスは、ビデオディスプレイ、スピーカー、インクジェットプリンタ、レーザープリンタおよびダイサブリメイションプリンタ（ｄｙｅ−ｓｕｂｌｉｍａｔｉｏｎ  ｐｒｉｎｔｅｒ）を含む。Ｉ／Ｏデバイスは、ハードディスクドライブ、３．５インチ、５．２５インチのディスクのようなフロッピー（登録商標）ディスクまたはＺＩＰディスクを受け入れるフロピーディスクドライブ、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒ／ＲＷドライブ、ＤＶＤ−ＲＯＭドライブ、様々なフォーマットのテープドライブ、および、Ｃａｌｉｆｏｒｎｉａ、Ｌｏｓ  ＡｌａｍｉｔｏｓのＴｗｉｎｔｅｃｈ  Ｉｎｄｕｓｔｒｙ、Ｉｎｃ．  によって製造される一連のデバイスの、ＵＳＢフラッシュドライブのようなＵＳＢストレージデバイスのような、大容量のストレージをコンピュータシステム１００に対して提供もし得る。
【００３１】
さらなる実施形態においては、Ｉ／Ｏデバイス１３０は、システムバス１２０と、ＵＳＢバス、Ａｐｐｌｅ  Ｄｅｓｋｔｏｐバス、ＲＳ−２３２シリアルコネクション、ＳＣＳＩバス、ＦｉｒｅＷｉｒｅバス、ＦｉｒｅＷｉｒｅ  ８００バス、イーサネット（登録商標）バス、ＡｐｐｌｅＴａｌｋバス、Ｇｉｇａｂｉｔイーサネット（登録商標）バス、Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅバス、ＨＩＰＰＩバス、Ｓｕｐｅｒ  ＨＩＰＰＩバス、ＳｅｒｉａｌＰｌｕｓバス、ＳＣＩ／ＬＡＭＰバス、ＦｉｂｒｅＣｈａｎｎｅｌバスまたはＳｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅバスのような、外部通信バスとの間のブリッジであり得る。
【００３２】
図１Ｂおよび図１Ｃに描かれるような汎用デスクトップコンピュータは、一般的には、タスクのスケジューリングおよびシステムリソースへのアクセスを制御する、オペレーティングシステムの制御の下で作動する。一般的なオペレーティングシステムは、特に、Ｗａｓｈｉｎｇｔｏｎ、ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．によって製造されるＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）、Ｃａｌｉｆｏｒｎｉａ、ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒによって製造されるＭａｃＯｓ、Ｎｅｗ  Ｙｏｒｋ、ＡｒｍｏｎｋのＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓによって製造されるＯＳ／２、およびＵｔａｈ、Ｓａｌｔ  Ｌａｋｅ  ＣｉｔｙのＣａｌｄｅｒａ  Ｃｏｒｐ．によって配布される無料利用可能なオペレーティングシステムであるＬｉｎｕｘを含む。
【００３３】
クライアントノード１０２は、任意のパーソナルコンピュータ（例えば、２８６、３８６、４８６、Ｐｅｎｔｉｕｍ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）  ＩＩ、Ｍａｃｈｉｎｔｏｓｈコンピュータ）、ウィンドウズ（登録商標）ベースのターミナル、Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｅｒ、ワイヤレスデバイス、情報家電、ＲＩＳＣ  Ｐｏｗｅｒ  ＰＣ、Ｘ−ｄｅｖｉｃｅ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、パーソナルディジタルアシスタント、または、ウィンドウズ（登録商標）ベースのデスクトップおよび小さな、ディスプレイプレゼンテーションプログラムを実行するために十分なパーシステントストレージを有する他のコンピューティングデバイスであり得る。ディスプレイプレゼンテーションプログラムは、画像ディスプレイをレンダリングするために、コマンドと通信チャネルを介してそれに送信されるデータを用いる。クライアントノード１０２によってサポートされるウィンドウズ（登録商標）指向のプラットフォームは、ＷＩＮＤＯＷＳ（登録商標）  ３．ｘ、ＷＩＮＤＯＷＳ（登録商標）  ９５、ＷＩＮＤＯＷＳ（登録商標）  ９８、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ  ３．５１、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ  ４．０、ＷＩＮＤＯＷＳ（登録商標）  ２０００、ＷＩＮＤＯＷＳ（登録商標）  ＣＥ、ＭＡＣ／ＯＳ、Ｊａｖａ（登録商標）およびＵＮＩＸ（登録商標）を、制限無しに含み得る。クライアントノード１０２は、ビジュアルディスプレイデバイス（例えば、コンピュータのモニタ）、データエントリーデバイス（例えば、キーボード）、ダウンロードされたアプリケーションプログラムを格納するための固定または揮発性のストレージ（例えば、コンピュータのメモリ）、プロセッサおよびマウスを含み得る。小さな、ディスプレイプレゼンテーションプログラムの実行は、クライアントノード１０２が分散コンピュータシステムモデル（すなわち、サーバベースのコンピューティングモデル）の中に加わることを可能とする。
【００３４】
クライアントノード１０２が移動性デバイスである実施形態に対して、該デバイスは、それらの全てがＩｌｌｉｎｏｉｓ、ＳｃｈａｕｍｂｕｒｇのＭｏｔｏｒｏｌａ  Ｃｏｒｐ．によって製造される、ｉ５０ｓｘ、ｉ５５ｓｒ、ｉ５８ｓｒ、ｉ８５ｓ、ｉ８８ｓ、ｉ９０ｃ、ｉ９５ｃｌまたはｉｍ１１０００、Ｊａｐａｎ、ＫｙｏｔｏのＫｙｏｃｅｒａによって製造される、６０３５、７１３５、または、Ｋｏｒｅａ、ＳｅｏｕｌのＳａｍｓｕｎｇ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｃｏ．，Ｌｔｄ．，によって製造される、ｉ３００もしくはｉ３３０のようなＪＡＶＡ（登録商標）で可能化されるセルラー電話であり得る。クライアントノード１０２が移動性である他の実施形態においては、それは、それらの全てがＣａｌｉｆｏｒｎｉａ、ＭｉｌｐｉｔａｓのｐａｌｍＯｎｅ，  Ｉｎｃ．によって製造される、Ｔｕｎｇｓｔｅｎ  Ｗ、ＶＩＩ、ＶＩＩｘ、ｉ７０５のような、ＰａｌｍＯＳオペレーティングシステムの制御で作動するパーソナルディジタルアシスタント（ＰＤＡ）であり得る。さらなる実施形態においては、クライアントノード１０２は、その全てがＣａｌｉｆｏｒｎｉａ、Ｐａｌｏ  ＡｌｔｏのＨｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  Ｃｏｒｐｏｒａｔｉｏｎによって製造される、ｉＰＡＱ４１５５、ｉＰＡＱ５５５５、ｉＰＡＱ１９４５、ｉＰＡＱ２２１５およびｉＰＡＱ４２５５、Ｃａｌｉｆｏｒｎｉａ、ＷａｌｎｕｔのＶｉｅｗＳｏｎｉｃによって製造される、ＶｉｅｗＳｏｎｉｃ  Ｖ３６、または、Ｎｅｗ  Ｙｏｒｋ、Ｎｅｗ  ＹｏｒｋのＴｏｓｈｉｂａ  Ａｍｅｒｉｃａ，Ｉｎｃ．によって製造される、Ｔｏｓｈｉｂａ  ＰｏｃｋｅｔＰＣ  ｅ４０５のような、ＰｏｃｋｅｔＰＣオペレーティングシステムの制御で作動する、パーソナルディジタルアシスタント（ＰＤＡ）であり得る。なお他の実施形態においては、クライアントノードは、それらの全てがＣａｌｉｆｏｒｎｉａ、ＭｉｌｐｉｔａｓのｐａｌｍＯｎｅ，  Ｉｎｃ．によって製造される、Ｔｒｅｏ  １８０、Ｔｒｅｏ  ２７０またはＴｒｅｏ  ６００のような、組み合わせのＰＤＡ／電話デバイスである。なおさらなる実施形態においては、クライアントノード１０２は、Ｍｏｔｏｒｏｌａ  Ｃｏｒｐ．によって製造される、ＭＰｘ２００のような、ＰｏｃｋｅｔＰＣオペレーティングシステムの制御で作動するセルラー電話である。
【００３５】
ここで図１Ｄを参照すると、本発明に従って構築されるネットワーク１００の１つの実施形態が描かれ、それは、クライアントノード１０２、収集エージェント１０４、ポリシーエンジン１０６、ポリシーデータベース１０８、アプリケーションサーバファーム１１４、および、アプリケーションサーバ１１６を含む。図１Ｄに示される実施形態においては、１つだけのクライアントノード１０２、収集エージェント１０４、ポリシーエンジン１０６、アプリケーションサーバファーム１１４、および、アプリケーションサーバ１１６が描かれているが、システムが、それらのコンポーネントのうちの任意のまたは各々の複数個を、提供し得るということが理解されるべきである。例えば、１つの実施形態においては、システム１００は、各々がクライアントノード１０２を代表してアプリケーションを実行することが可能な、複数の論理的にグループ化されたアプリケーションサーバ１１６を含む。これらの実施形態においては、サーバの論理グループは、「サーバファーム」と称される。これらの実施形態の一部においては、サーバは地理的に分散され得る。
【００３６】
概要としては、リソースにアクセスするために、クライアントノード１０２が要求１１０をポリシーエンジン１０６に伝送したときに、収集エージェント１０４はクライアントノード１０２と通信して、クライアントノード１０２についての情報を抽出し、クライアントノード情報１１２をポリシーエンジン１０６に伝送する。ポリシーエンジン１０６は、ポリシーデータベース１０８からのポリシーを抽出された情報１１２に適用することによって、アクセス制御決定を行う。
【００３７】
より詳細には、クライアントノード１０２は、リソースに対する要求１１０をポリシーエンジン１０６に伝送する。一部の実施形態においては、クライアントノード１０２は、ネットワーク接続を介して要求１１０を伝送する。ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンアリアネットワーク（ＭＡＮ）、または、インターネットのようなワイドエリアネットワーク（ＷＡＮ）であり得る。クライアントノード１０２およびポリシーエンジン１０６は、標準の電話線、ＬＡＮまたはＷＡＮのリンク（例えば、Ｔ１、Ｔ３、５６ｋｂ、Ｘ．２５）、ブロードバンド接続（ＩＳＤＮ、フレームリレー、ＡＴＭ）、および、ワイヤレス接続を含む、様々な接続を介してネットワークに接続し得る。クライアントノード１０２とポリシーエンジン１０６との間の接続は、様々なデータリンク層の通信プロトコル（例えば、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＰＸ、ＮｅｔＢＩＯＳ、ＮｅｔＢＥＵＩ、ＳＭＢ、イーサネット（登録商標）、ＡＲＣＮＥＴ、ファイバーディストリビューテッドデータインターフェース（ＦＤＤＩ）、ＲＳ２３２、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１１ａ、ＩＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇおよび直接非対称接続）を使用し得る。
【００３８】
要求を受信した直後に、ポリシーエンジン１０６は、収集エージェント１０４によって情報を集めることを開始する。収集エージェント１０４は、クライアントノード１０２に関する情報を集め、該情報１１２をポリシーエンジン１０６に伝送する。
【００３９】
一部の実施形態においては、収集エージェント１０４はネットワーク接続を介して情報１１２を集め、伝送する。一部の実施形態においては、収集エージェント１０４は、バイトコードプログラミング言語ＪＡＶＡ（登録商標）で書かれたアプリケーションのような、バイトコードを包含する。一部の実施形態においては、収集エージェント１０４は、少なくとも１つのスクリプトを包含する。これらの実施形態においては、収集エージェント１０４は、クライアントノード１０２上で少なくとも１つのスクリプトを実行することによって、情報を集める。一部の実施形態においては、収集エージェントはクライアントノード１０２上にＡｃｔｉｖｅ  Ｘ制御を包含する。Ａｃｔｉｖｅ  Ｘ制御は、それを制御のように見えかつ振舞うことを可能とする一式のインターフェースをインプリメントする特化されたＣＯＭ（Ｃｏｍｐｏｎｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）である。
【００４０】
一部の実施形態においては、収集エージェント１０４はクライアントノード上で実行する。他の実施形態においては、収集エージェント１０４はポリシーエンジン１０６上に存在する。なお他の実施形態においては、収集エージェント１０４はサーバ上に存在する。他の実施形態においては、ポリシーエンジン１０６はサーバ上に存在する。これらの実施形態の一部においては、収集エージェント１０４はポリシーエンジン１０６上とサーバ上との両方に存在する。
【００４１】
１つの実施形態においては、ポリシーエンジン１０６は、収集エージェント１０４をクライアントノード１０２に伝送する。１つの実施形態においては、ポリシーエンジン１０６は、収集エージェント１０４が情報１１２をポリシーエンジン１０６に伝送した後に、収集エージェント１０４の第２の実行を要求する。この実施形態においては、ポリシーエンジン１０６は、クライアントノード１０２が特定の条件を満足するか否かを決定するための不十分な情報１１２を有し得る。他の実施形態においては、ポリシーエンジン１０６は、受信した情報１１２に応じて、収集エージェント１０４の複数の実行を要求する。
【００４２】
一部の実施形態においては、ポリシーエンジン１０６は、収集エージェント１０４が集める情報のタイプを決定する収集エージェント１０４に、命令を伝送する。これらの実施形態においては、システムアドミニストレータは、ポリシーエンジン１０６から収集エージェント１０４に伝送される命令を構成し得る。これは、収集される情報のタイプを介してより大きな制御を提供する。これはまた、収集される情報のタイプを介するより大きな制御により、ポリシーエンジン１０６が行い得るアクセス制御決定のタイプを広げる。収集エージェント１０４は、クライアントノードのマシンＩＤ、オペレーティングシステムのタイプ、オペレーティングシステムのパッチの存在、インストールされたネットワークカードのＭＡＣアドレス、クライアントデバイスのデジタル透かし、アクティブディレクトリのメンバーシップ、ウイルススキャナの存在、パーソナルファイヤウォールの存在、ＨＴＴＰヘッダ、ブラウザのタイプ、デバイスのタイプ、ネットワーク接続情報および認証証明を、制限無く含む情報１１２を、集める。
【００４３】
一部の実施形態においては、デバイスのタイプはパーソナルディジタルアシスタントである。他の実施形態においては、デバイスのタイプはセルラー電話である。他の実施形態においては、デバイスのタイプはラップトップコンピュータである。他の実施形態においては、デバイスのタイプはデスクトップコンピュータである。他の実施形態においては、デバイスのタイプはインターネットキオスクである。
【００４４】
一部の実施形態においては、デジタル透かしはデータ埋め込み（ｄａｔａ  ｅｍｂｅｄｄｉｎｇ）を含む。一部の実施形態においては、該透かしは、ファイルについてのソース情報を提供するために、ファイルに挿入されるデータのパターンを包含する。他の実施形態においては、該透かしは改ざんの検出を提供するために、データハッシングファイル（ｄａｔａ  ｈａｓｈｉｎｇ  ｆｉｌｅ）を包含する。他の実施形態においては、該透かしはファイルの著作権情報を提供する。
【００４５】
一部の実施形態においては、ネットワーク接続情報は周波数帯域能力に関する。他の実施形態においては、ネットワーク接続情報はインターネットプロトコルのアドレスに関する。なお他の実施形態においては、ネットワーク接続情報はインターネットプロトコルのアドレスから成る。１つの実施形態においては、ネットワーク接続情報は、クライアントノードが認証証明を提供したログオンエージェントを識別するネットワークゾーンを包含する。
【００４６】
一部の実施形態においては、認証証明は、ユーザネーム、クライアントネーム、クライアントのアドレス、パスワード、ＰＩＮ、ボイスサンプル、１回限りのパスコード、バイオメトリックデータ（ｂｉｏｍｅｔｒｉｃ  ｄａｔａ）、デジタル証明書、チケットなど、および、それらの組み合わせを、制限無く含む、多数の認証情報のタイプを含む。集められた情報１１２を受信した後に、ポリシーエンジン１０６は、受信した情報１１２に基づきアクセス制御決定を行う。
【００４７】
図２を参照すると、それはポリシーエンジン２００の１つの実施形態のブロック図であり、ポリシーエンジン２００は、条件データベース２０４およびログオンエージェント２０６を備える第１のコンポーネント２０２を含み、かつ、ポリシーデータベース２１２を備える第２のコンポーネント２１０を含む。第１のコンポーネント２０２は、条件データベース２０４からの条件をクライアントノード１０２について受信した情報に適用し、受信した情報が条件を満足するか否かを決定する。
【００４８】
一部の実施形態においては、第１のコンポーネント２０２と第２のコンポーネント２１０とは、論理的には別個であるが物理的には別個ではない。一部の実施形態においては、第１のコンポーネント２０２と第２のコンポーネント２１０とは、論理的および物理的に別個である。一部の実施形態においては、条件データベース２０４は第１のコンポーネント２０２に存在する。他の実施形態においては、条件データベース２０４は第２のコンポーネント２１０に存在する。
【００４９】
一部の実施形態においては、条件を満足するために、クライアントノード１０２が特定のオペレーティングシステムを実行するということを、条件は要求し得る。一部の実施形態においては、条件を満足するために、クライアントノード１０２が特定のオペレーティングシステムのパッチを実行するということを、条件は要求し得る。なお他の実施形態においては、条件を満足するために、クライアントノード１０２がインストールされたネットワークカードの各々に対してＭＡＣアドレスを提供するということを、条件は要求し得る。一部の実施形態においては、条件を満足するために、クライアントノード１０２が特定のアクティブディレクトリのメンバーシップを示すということを、条件は要求し得る。別の実施形態においては、条件を満足するために、クライアントノード１０２がウイルススキャナを実行するということを、条件は要求し得る。他の実施形態においては、条件を満足するために、クライアントノード１０２がパーソナルファイヤウォールを実行するということを、条件は要求し得る。一部の実施形態においては、条件を満足するために、クライアントノード１０２が特定のデバイスのタイプを備えるということを、条件は要求し得る。他の実施形態においては、条件を満足するために、クライアントノード１０２が特定のタイプのネットワーク接続を構築するということを、条件は要求し得る。
【００５０】
受信した情報が条件を満足する場合には、第１のコンポーネント２０２は、その条件のための識別子をデータセット２０８に格納する。１つの実施形態においては、情報が条件が真であるとする場合に、受信した情報が条件を満足する。例えば、特定のオペレーティングシステムがインストールされているということを、条件は要求し得る。クライアントノード１０２がそのオペレーティングシステムを有する場合には、条件は真であり満足される。別の実施形態においては、情報が条件が偽であるとする場合に、受信した情報が条件を満足する。例えば、クライアントノード１０２上にスパイウェアが存在するか否かに、条件は注意を向け得る。クライアントノード１０２がスパイウェアを含まない場合には、条件は偽であり満足される。
【００５１】
一部の実施形態においては、ログオンエージェント２０６はポリシーエンジン２００の外部に存在し得る。他の実施形態においては、ログオンエージェント２０６はポリシーエンジン２００上に存在し得る。１つの実施形態においては、第１のコンポーネント２０２は、クライアントノード１０２について情報集めを開始するログオンエージェント２０６を含む。一部の実施形態においては、ログオンエージェント２０６はデータストアをさらに備える。これらの実施形態においては、データストアは、収集エージェントが情報を集め得る条件を含む。このデータストアは条件ＤＢ２０４とは別である。
【００５２】
一部の実施形態においては、ログオンエージェント２０６は、収集エージェント１０４を実行することによって、情報集めを開始する。他の実施形態においては、ログオンエージェント２０６は、クライアントノード１０２上で実行するために、収集エージェント１０４をクライアントノード１０２に伝送することによって、情報集めを開始する。さらに他の実施形態においては、ログオンエージェント２０６は、情報１１２を受信した後に、さらなる情報集めを開始する。１つの実施形態においては、ログオンエージェント２０６は、情報１１２も受信する。この実施形態においては、ログオンエージェント２０６は、受信した情報１１２に基づきデータセット２０８を生成する。一部の実施形態においては、ログオンエージェント２０６は、データベース２０４からの条件を、収集エージェント１０４から受信した情報に適用することによって、データセット２０８を生成する。
【００５３】
別の実施形態においては、第１のコンポーネント２０２は複数のログオンエージェント２０６を含む。この実施形態においては、複数のログオンエージェント２０６のうちの少なくとも１つは、クライアントノード１０２がそこからリソース要求を伝送し得る各ネットワークドメインに存在し得る。この実施形態においては、クライアントノード１０２はリソース要求を特定のログオンエージェント２０６に伝送する。一部の実施形態においては、ログオンエージェント２０６は、そこからクライアントノード１０２がログオンエージェント２０６にアクセスしたネットワークドメインを、ポリシーエンジン２００に伝送する。１つの実施形態においては、クライアントノード１０２がログオンエージェント２０６にアクセスしたネットワークドメインは、クライアントノード１０２のネットワークゾーンとみなされる。
【００５４】
条件データベース２０４は、第１のコンポーネント２０２が、受信した情報に適用する条件を格納する。ポリシーデータベース２１２は、第２のコンポーネント２１０が、受信したデータセットに適用するポリシーを格納する。一部の実施形態においては、条件データベース２０４およびポリシーデータベース２１２は、ＯＤＢＣ準拠のデータベースにデータを格納する。例えば、条件データベース２０４およびポリシーデータベース２１２は、Ｃａｌｉｆ．、Ｒｅｄｗｏｏｄ  ＳｈｏｒｅｓのＯｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎによって製造される、ＯＲＡＣＬＥデータベースとして提供され得る。他の実施形態においては、条件データベース２０４およびポリシーデータベース２１２は、Ｗａｓｈ．、ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造される、Ｍｉｃｒｏｓｏｆｔ  ＡＣＣＥＳＳデータベースまたはＭｉｃｒｏｓｏｆｔ  ＳＱＬサーバデータベースであり得る。
【００５５】
第１のコンポーネント２０２は、受信した情報を条件データベース２０４の中の各条件に適用した後に、第１のコンポーネントは、データセット２０８を第２のコンポーネント２１０に伝送する。１つの実施形態においては、第１のコンポーネント２０２は、データセット２０８だけを第２のコンポーネント２１０に伝送する。従って、この実施形態においては、第２のコンポーネント２１０は情報１１２を受信せず、満足された条件に対する識別子だけを受信する。第２のコンポーネント２１０は、データセット２０８を受信し、データセット２０８内の識別された情報に基づき、ポリシーデータベースからのポリシーを適用することによって、アクセス制御決定を行う。
【００５６】
１つの実施形態においては、ポリシーデータベース２１２は受信された情報１１２に適用されるポリシーを格納する。１つの実施形態においては、ポリシーデータベース２１２に格納されるポリシーは、少なくとも１部はシステムアドミニストレータによって指定される。別の実施形態においては、ユーザが、ポリシーデータベース２１２に格納されるポリシーの少なくとも１部を指定する。ユーザにより指定されたポリシーは、優先ポリシーとして格納される。ポリシーデータベース２１２は、揮発性または不揮発性のメモリに格納され得るか、または、例えば複数のサーバを介して分散され得る。
【００５７】
１つの実施形態においては、１つ以上の条件が満足された場合にだけ、ポリシーはリソースへのアクセスを許す。別の実施形態においては、ポリシーは、リソースへのアクセスは許すが、該リソースのクライアントノード１０２への伝送は禁止する。ポリシーデータベース２１２に格納されたポリシーのうちの１つは、切断されたアプリケーションセッションへの自動接続を要求または禁止し得る。さらに別のポリシーは、アクセスを要求するクライアントノード１０２が安全なネットワーク内にあることを条件に接続し得る。別のポリシーは、異なるクライアントノード１０２に現在接続されているアクティブなアプリケーションセッションへの自動接続を、要求または禁止し得る。さらなるポリシーは、ユーザの同意を受信した後のアプリケーションセッションへの接続だけを許し得る。別のポリシーは、切断後の所定時間の接続だけを許し得る。なお別のポリシーは、特定のアプリケーションを含むアプリケーションセッションへの接続だけを許す。１つのポリシーは、要求されたファイルの変換されたコンテンツを見ることだけを許し得る。あるポリシーは、要求されたファイルのＨＴＭＬバージョンだけを見ることを許し得る。一部の実施形態においては、クライアントノード１０２へのファイルのダウンロードは防止されるが、リソースへのアクセスは提供される。これは、ファイルコンテンツのビューアーオンリーフォーマットへの変換、ファイルコンテンツをウェブブラウザによって見るためのＨＴＭＬに変換すること、クライアントノード１０２によってホストされるアプリケーションを使用する代わりに、サーバファームの中のサーバによってホストされるアプリケーションを用いてファイルをオープンするための、ファイルタイプ関連の使用を含む、数多くの方法、または、その内容が参考として本明細書において援用される、米国特許出願第１０／９３１４０５号に記述されるようなシステムを使用することによって達成され得る。
【００５８】
上記の実施形態の一部においては、方法および装置が、所有情報のためのドキュメント保護を提供する。これらの実施形態においては、ポリシーエンジン１０６が、クライアントノード１０２にリソースにアクセスするための許可を与えない限り、クライアントノードはネットワークリソースにアクセスできない。これらの実施形態のうちの１つは、ポリシーエンジン１０６が唯一のアクセスできるネットワークエレメントであって、クライアントノード１０２がネットワークリソースにアクセスするためには、ポリシーエンジン１０６にアクセスせねばならないということを保証する。これらの実施形態のうちの別のものにおいて、ポリシーエンジン１０６背後のネットワークリソースにアクセスするために使用されるＵＲＬは、クライアントノード１０２による直接アクセスを防止するために書き換えられる。上記の実施形態のうちの他においては、方法および装置は、そうしなければアクセスできないリソースに、クライアントノードがアクセスするための能力を強化する。上記の実施形態のうちの一部においては、方法および装置は、所有情報の保護とクライアントノードの能力強化との両方を提供する。
【００５９】
ここで図３を参照すると、フロー図は、クライアントノード１０２について受信した情報に基づきアクセス制御決定を行うために、ポリシーエンジン１０６によってとられるステップの１つの実施形態を描く。クライアントノード１０２について集められた情報を受信した直後に（ステップ３５０）、ポリシーエンジン１０６は、該情報に基づきデータセットを生成する（ステップ３５２）。一部の実施形態においては、ポリシーエンジン１０６は、収集エージェント１０４からのクライアントノード１０２についてのさらなる情報を要求する。これらの実施形態においては、ポリシーエンジン１０６は、クライアントノード１０２上での収集エージェント１０４の２以上の実行を要求する。これらの実施形態においては、ポリシーエンジン１０６は、追加の要求された情報を受信した後にデータセット２０８を生成する。これらの実施形態においては、ポリシーエンジン１０６は、クライアントノード１０２が特定の条件を満足するか否かを決定するための十分な情報１１２を有さないことがあり得る。これらの実施形態のうちの他においては、条件は未定であり得る。条件が未定である場合の実施形態の一部においては、収集エージェントが条件を満足するために要求された情報を集められなかったということがあり得る。
【００６０】
データセット２０８は、受信した情報１１２によって満足された条件の各々に対する識別子を含む。そして、ポリシーエンジン１０６は、データセット２０８内の識別された条件にポリシーを適用する。アプリケーションが、クライアントノード１０２がアクセスし得るリソースの列挙を生ずる（ステップ３５４）。１つの実施形態においては、リソースは所有データを包含する。一部の実施形態においては、リソースはウェブページを包含する。他の実施形態においては、リソースはワードプロセシングドキュメントを包含する。なお他の実施形態においては、リソースはスプレッドシートを包含する。一部の実施形態においては、該列挙は、クライアントノード１０２がアクセスし得るリソースのサブセットだけを含む。そして、ポリシーエンジン１０６はその列挙をクライアントノード１０２に提示する。一部の実施形態においては、ポリシーエンジン１０６は、クライアントノードに該列挙を提示するために用いられるハイパーテキストマークアップ言語（ＨＴＭＬ）のドキュメントを生成する。
【００６１】
図４を参照すると、本発明に従って構築されるコンピュータネットワーク４００の１つの実施形態が描かれ、それは、クライアントノード４０２、収集エージェント４０４、アクセス制御サーバ４０６、ポリシーデータベース４０８、アプリケーションサーバファーム４１４、第１のアプリケーションサーバ４１６、アプリケーションデータベース４１８、第２のアプリケーションサーバ４２０、第２のアプリケーションデータベース４２２を含む。一部の実施形態においては、クライアントノード４０２が存在するネットワークを、アクセス制御サーバ４０６およびアプリケーションサーバファーム４１４から分離するネットワーク境界がある。
【００６２】
概要としては、クライアントノード４０２が、リソースへのアクセスのために、要求４１０をアクセス制御サーバ４０６に送信したときに、収集エージェント４０４は、クライアントノード４０２と通信して、クライアントノード４０２についての情報を抽出し、クライアントノードの情報４１２をアクセス制御サーバ４０６に送信する。１つの実施形態においては、ポリシーエンジン１０６がクライアントノード４０２に利用可能なリソースの列挙を提示した後に、クライアントノード４０２は要求４１０を送信する。アクセス制御サーバ４０６は、ポリシーデータベース４０８からのポリシーを受信した情報４１２に適用することによって、アクセス制御決定を行う。最後に、アクセス制御サーバ４０６は、クライアントノード４０２に対するファイルのコンテンツの提示のために、ファイルのタイプをアプリケーションサーバファーム４１４に送信する。コンピュータネットワーク４００の付加的なコンポーネンントは省略されており、図４Ｂにおいてさらに記述される。
【００６３】
ここで図４Ｂを参照すると、フロー図は、クライアントノード４０２にファイルのコンテンツを提供するために、アクセス制御サーバ４０６およびアプリケーションサーバファーム４１４によってとられるステップの１つの実施形態を描く。アプリケーションサーバファーム４１４の一部はアプリケーションサーバ４１６である。
【００６４】
１つの実施形態においては、いったんアクセス制御サーバ４０６が、クライアントノード４０２に要求されたファイルへのアクセスを許可することを決めると、アクセス制御サーバ４０６は該要求されたファイルに対するファイルのタイプを決定する（ステップ４５２）。他の実施形態においては、アプリケーションサーバ４１６が、該要求されたファイルに対するファイルのタイプを決定する。なお他の実施形態においては、アプリケーションサーバ４１６またはアクセス制御サーバ４０６以外のサーバが決定する。一部の実施形態においては、ファイルのタイプを決定するサーバは、まず要求されるファイルを抽出しなければならない。これらの実施形態の一部においては、ファイルは、ネットワーク境界４２４の、ファイルのタイプを決定するサーバと同じ側に置かれる。これらの実施形態の他においては、ファイルは、ネットワーク境界４２４の、クライアントノード４０２と同じ側に置かれる。これらの実施形態においては、方法および装置は、そうしなければアクセスできないリソースに、クライアントノードがアクセスするための能力を強化するが、それらは所有情報のためのドキュメント保護は提供しない。
【００６５】
一部の実施形態においては、ネットワーク境界４２４は、少なくとも２つのネットワークを物理的に分離する。他の実施形態においては、ネットワーク境界４２４は、少なくとも２つのネットワークを論理的に分離する。１つの実施形態においては、ネットワーク境界４２４はファイアウォールである。
【００６６】
１つの実施形態においては、ファイルの拡張子はファイルのタイプであり、ファイルのタイプを決定するサーバは、ファイルからファイルの拡張子を抽出することによってファイルのタイプを決定する。別の実施形態においては、リソースフォークはファイルのタイプである。ファイルのタイプを決定した後に、抽出およびクライアントノード４０２への提示のために、ファイルのタイプを決定するサーバは、ファイルのタイプをアプリケーションサーバファーム４１４に送信する（ステップ４５４）。
【００６７】
アプリケーションサーバ４１６はアクセス制御サーバ４０６からファイルのタイプを受信する（ステップ４５６）。一部の実施形態においては、アプリケーションサーバ４１６は、そのファイルのタイプに関連するアプリケーションプログラムを識別する。他の実施形態においては、アクセス制御サーバ４０６が、そのファイルのタイプに関連するアプリケーションプログラムを識別する。なお他の実施形態においては、アクセス制御サーバ４０６またはアプリケーションサーバ４１６以外のサーバが、そのファイルのタイプに関連するアプリケーションプログラムを識別する。
【００６８】
１つの実施形態においては、ファイルのタイプに関連するアプリケーションプログラムを識別するサーバは、アプリケーションプログラムに対する識別子を抽出するために、アプリケーションデータベース４１８をクエリする。一部の実施形態においては、アプリケーションデータベース４１８は、レジストリのファイルである。アプリケーションサーバ４１６または別のサーバがファイルのタイプに基づきアプリケーションのタイプを識別する場合の実施形態においては、その後、識別するサーバは、アプリケーションプログラムに対する識別子をアクセス制御サーバ４０６に送信する。一部の実施形態においては、識別するサーバは、ネットワーク接続を介して、識別子をアクセス制御サーバ４０６に送信する。
【００６９】
一部の実施形態においては、アクセス制御サーバ４０６または別のサーバのいずれもが、関連するアプリケーションプログラムの識別子を決定するためのファイルのタイプを、アプリケーションサーバ４１６に送信する必要がない。これらの実施形態のうちの１つにおいては、ホストされているアプリケーションプログラムのリスト、および、これらのアプリケーションプログラムが関連するファイルのタイプを、アプリケーションサーバ４１６がアクセス制御サーバ４０６に送信する。これらの実施形態においては、アクセス制御サーバ４０６は、ファイルのタイプに関連するアプリケーションプログラムに対する識別子を、該送信されたリストから抽出する。
【００７０】
アクセス制御サーバ４０６がアプリケーションプログラムの識別子を受信したときには、アクセス制御サーバ４０６は、実行可能なファイルを生成し、クライアントノード４０２に送信する（ステップ４５８）。一部の実施形態においては、実行可能なファイルはアプリケーションプログラムの識別子を含む。一部の実施形態においては、実行可能なファイルは、ファイルのコンテンツをクライアントノード４０２に提示するアプリケーションサーバファーム４１４の中の、アプリケーションサーバの識別子を含む。一部の実施形態においては、使用すべきアプリケーションプログラムを、ファイルのタイプを用いて識別した同じアプリケーションサーバ４１６が、ファイルのコンテンツをクライアントノード４０２に提示する。他の実施形態においては、第２のアプリケーションサーバ４２０が、ファイルのコンテンツをクライアントノード４０２に提示する。１つの実施形態においては、実行可能なファイルは、アプリケーションプログラムの識別子と、ファイルのコンテンツをクライアントノード４０２に提示するアプリケーションサーバファーム４１４の中のアプリケーションサーバの識別子との両方を含む。一部の実施形態においては、Ｆｌｏｒｉｄａ、Ｆｏｒｔ  ＬａｕｄｅｒｄａｌｅのＣｉｔｒｉｘ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．から調達可能なＩｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｕｔｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＣＡ）のようなプレゼンテーション層のプロトコルを用いて、識別されたサーバに、クライアントノード４０２が接続することを、実行可能なファイルが可能とする。他の実施形態においては、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造される、Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ（ＲＤＰ）を用いて、識別されたサーバにクライアントノード４０２が接続することを、実行可能なファイルが可能とする。他の実施形態においては、プレゼンテーション層のプロトコルはより高い層のプロトコルでラップ（ｗｒａｐ）される。
【００７１】
クライアントノード４０２は、実行可能なファイルをアクセス制御サーバ４０６から受信する。クライアントノード４０２は、実行可能なファイルにおいて識別されたアプリケーションサーバ４１６に接続する（ステップ４６０）。１つの実施形態においては、クライアントノード４０２は、ＩＣＡプロトコルを用いて、識別されたアプリケーションサーバ４１６に接続する。別の実施形態においては、クライアントノード４０２は、ＲＤＰを用いて、識別されたアプリケーションサーバ４１６に接続する。
【００７２】
アプリケーションサーバ４１６は、ファイルのコンテンツの提示のためのフォーマットを選択する（ステップ４６４）。他の実施形態においては、アクセス制御サーバ４０６が、ファイルのコンテンツを提示するために用いられるフォーマットを識別する。それらの実施形態においては、アクセス制御サーバ４０６は、利用可能なフォーマットを識別するために、ポリシーを適用し得る。一部の実施形態においては、アプリケーションサーバ４１６は、クライアントノード４０２についての受信した情報に基づきフォーマットを選択する。他の実施形態においては、アプリケーションサーバ４１６は、受信した情報にポリシーを適用することによってフォーマットを選択する。
【００７３】
アプリケーションサーバ４１６は、クライアントノード４０２の接続を受け入れ、要求されたファイルを抽出する（ステップ４６６）。１つの実施形態においては、アプリケーションサーバ４１６はウェブサーバからファイルを抽出する。別の実施形態においては、アプリケーションサーバ４１６はファイルサーバからファイルを抽出する。なお別の実施形態においては、抽出されるファイルはｅメールに添付されたものである。この実施形態においては、アプリケーションサーバ４１６は電子メールサーバからファイルを抽出する。一部の実施形態においては、メールサーバはＬｏｔｕｓメールサーバである。他の実施形態においては、メールサーバはＯｕｔｌｏｏｋメールサーバまたはＯｕｔｌｏｏｋ  Ｗｅｂ  Ａｃｃｅｓｓメールサーバである。
【００７４】
そして、アプリケーションサーバ４１６は、接続を介して、ファイルのコンテンツをクライアントノード４０２に提示する（ステップ４６８）。１つの実施形態においては、提示されるファイルのコンテンツはｅメールに添付されたものを包含する。
【００７５】
図５を参照すると、本発明に従って構築されるコンピュータネットワーク５００の１つの実施形態が描かれ、それは、クライアントノード５０２、収集エージェント５０４、ポリシーエンジン５０６、第１のコンポーネント５０８、第２のコンポーネント５１２、条件データベース５１０、ポリシーデータベース５１２、変換サーバ５１６、および、ストレージエレメント５１８を含む。概要としては、クライアントノード５０２が、ポリシーエンジン５０６からのリソースへのアクセスの要求５２２を送信したときには、収集エージェント５０４はクライアントノード５０２と通信してクライアントノード５０２についての情報を抽出し、クライアントノードの情報５１２をポリシーエンジン５０６に送信する。ポリシーエンジン５０６は、上記の図３において検討したように、アクセス制御決定を行う。いったんポリシーエンジン５０６がクライアントノード５０２に要求されたファイルへのアクセスを許可することを決めると、ポリシーエンジン５０６は、変換およびクライアントノード５０２への提示のために、該要求を変換サーバ５１６に送信する。
【００７６】
より詳細には、ポリシーエンジン５０６は、変換されたファイルのコンテンツに対するクライアントノード５０２からの要求を受信する。１つの実施形態においては、ポリシーエンジン５０６は、クライアントノード５０２に変換されたファイルのコンテンツを提示できる変換サーバ５１６を識別する。一部の実施形態においては、変換サーバ５１６は以前に変換されたコンテンツのコピーを収容しているので、変換されたファイルのコンテンツを提示することが可能である。他の実施形態においては、変換サーバ５１６はファイルのコンテンツを今変換することが可能であるので、変換されたファイルのコンテンツを提示することが可能である。
【００７７】
１つの実施形態においては、変換サーバ５１６がファイルのコンテンツを以前に変換したか否かを決定するために、ストレージエレメント５１８にクエリすることによって、ポリシーエンジン５０６は変換サーバ５１６を識別し得る。その実施形態においては、ポリシーエンジン５０６は、ストレージエレメント５１８によって識別された変換サーバ５１８の識別子を、クライアントノード５０２に送信する。他の実施形態においては、どの変換サーバ５１６も以前に変換されたコンテンツを有しない。そのような実施形態においては、代わって、ポリシーエンジンが、ファイルのコンテンツを今変換することが可能な変換サーバ５１６を識別し、その変換サーバ５１６にクライアントノード５０２の要求を送信する。
【００７８】
他の実施形態においては、ポリシーエンジン５０６以外のサーバが、変換されたファイルのコンテンツをクライアントに提示することが可能な変換サーバ５１６を識別する。それらの実施形態の一部においては、その同じサーバがまた、クライアントへのファイルの提示の要求を変換サーバ５１６に送信する。これらの実施形態の一部においては、可能な変換サーバ５１６を識別する同じサーバが、ルーティングし、プロキシサーバを介して要求を変換サーバ５１６に送信する。
【００７９】
１つの実施形態においては、要求されたファイルのコンテンツの変換およびクライアントノード５０２への提示の要求を、ポリシーエンジン５０６から変換サーバ５１６は受信する。別の実施形態においては、変換サーバ５１６はポリシーエンジン５０６以外のサーバから要求を受信する。変換サーバ５１６はファイルを抽出し、コンテンツを原型のフォーマットから第２のフォーマットに変換する。その後、変換サーバ５１６は、クライアントノード５０２からの接続を受け入れ、以前に変換されていない場合にはコンテンツを変換し、変換されたファイルのコンテンツを提示する。最後に、変換サーバ５１６は、ファイルのコンテンツを変換するサーバの識別子およびファイルの識別子を、ストレージエレメント５１８に書き込む。
【００８０】
ここで図６を参照すると、フロー図は、要求されたファイルのコンテンツを変換し、変換されたコンテンツをクライアントノード５０２に提示するために、変換サーバ５１６によってとられるステップの１つの実施形態を描く。
【００８１】
変換サーバ５１６は、要求されたファイルのコンテンツの変換およびクライアントノード５０２への提示の要求を受信する（ステップ６００）。１つの実施形態においては、変換サーバ５１６は、この要求をネットワーク接続を介して受信する。
【００８２】
変換サーバ５１６は、要求されたファイルのコンテンツを、原型のフォーマットから第２のフォーマットへ変換する（ステップ６０２）。１つの実施形態においては、変換サーバ５１６は、ファイルのコンテンツを、通常の表現を用いて、原型のフォーマットからクライアントに提示するための第２のフォーマトへ変換する。別の実施形態においては、変換サーバ５１６は、ファイルのコンテンツを原型のフォーマットから第２のフォーマトへ変換するが、変換サーバ５１６はフォーマットコンバージョンツールを含む。別の実施形態においては、変換サーバ５１６は、ファイルのコンテンツを原型のフォーマットからＨＴＭＬに変換する。別の実施形態においては、変換サーバ５１６は、ファイルのコンテンツを原型のフォーマットから、第２のフォーマットがパーソナルディジタルアシスタント上での提示を可能とする場合の第２のフォーマットに変換する。別の実施形態においては、変換サーバ５１６は、ファイルのコンテンツを原型のフォーマットから、第２のフォーマットがセルラー電話での提示を可能とする場合の第２のフォーマットに変換する。別の実施形態においては、変換サーバ５１６は、ファイルのコンテンツを原型のフォーマットから、第２のフォーマットがラップトップコンピュータ上での提示を可能とする場合の第２のフォーマットに変換する。別の実施形態においては、変換サーバ５１６は、ファイルのコンテンツを原型のフォーマットから、第２のフォーマットがインターネットキオスクでの提示を可能とする場合の第２のフォーマットに変換する。
【００８３】
変換サーバ５１６は、変換についての識別情報をストレージエレメント５１８に書き込む（ステップ６０４）。１つの実施形態においては、識別情報は、変換サーバ５１６に対する識別子および変換されたファイルに対する識別子を含む。一部の実施形態においては、識別情報は、変換されたファイルのコンテンツを含むテンポラリファイルを含む。それらの実施形態においては、ストレージエレメント５１８は変換されたファイルのコンテンツのグローバルキャッシュ（ｇｌｏｂａｌ  ｃａｃｈｅ）として機能する。
【００８４】
クライアントノード５０２に対して変換されたファイルのコンテンツを提示することが可能な変換サーバ５１６を、ポリシーエンジン５０６が識別した後に、ポリシーエンジン５０６は、変換サーバ５１６の識別子をクライアントノード５０２に送信する。クライアントノード５０２は、識別子を受信し、変換サーバ５１６に接続する。変換サーバ５１６は接続を受け入れ、接続を介して要求されたファイルの変換されたコンテンツを、クライアントノード５０２に提示する（ステップ６０６）。１つの実施形態においては、クライアントノード５０２への提示の後、変換サーバ５１６は要求されたファイルの変換されたコンテンツを保持する。
【００８５】
図７を参照すると、本発明に従って構築されるコンピュータネットワーク７００の１つの実施形態が描かれ、それは、第１のクライアントノード７０２、収集エージェント７０４、ポリシーエンジン７０６、ポリシーデータベース７０８、条件データベース７１０、第２のクライアントノード７１６、セッションサーバ７２０、ストアドアプリケーションデータベース７２２、アプリケーションサーバファーム７２４、第１のアプリケーションサーバ７２６、第１のデータベース７２８、第２のアプリケーションサーバ７３０、および、第２のデータベース７３２を含む。概要としては、第１のクライアントノード７０２が、リソースへのアクセスの要求７１２をアクセス制御サーバ７０６に送信したときに、収集エージェント７０４はクライアントノード７０２と通信して、クライアントノード７０２についての情報を抽出し、クライアントノードの情報７１４をポリシーエンジン７０６に送信する。ポリシーエンジン７０６は、図３において先に検討されたように、アクセス制御決定を行う。最後に、セッションサーバ７２０は、クライアントノード７０２との間の接続、および、クライアントノード７０２に関連する複数のアプリケーションセッションを構築する。コンピュータネットワーク７００の付加的なコンポーネントは省略されており、図７Ｂにおいてさらに記述される。
【００８６】
ここで、図７Ｂを参照すると、フロー図は、クライアントノード７０２をその関連するアプリケーションセッションと接続するために、セッションサーバ７２０によってとられるステップの１つの実施形態を描く。セッションサーバ７２０は、ポリシーエンジン７０６が行ったアクセス制御決定を含むクライアントノード７０２についての情報を、ポリシーエンジン７０６から受信する。１つの実施形態においては、情報はクライアントノードの情報７１４も含む。
【００８７】
一部の実施形態においては、ポリシーエンジン７０６は、クライアントノード７０２にすでに関連している複数のアプリケーションセッションを識別する。他の実施形態においては、セッションサーバ７２０は、クライアントノード７０２に関連している格納されたアプリケーションセッションを識別する。一部の実施形態においては、セッションサーバ７２０は、ポリシーエンジン７０６から情報を受信した直後に、格納されたアプリケーションセッションを自動的に識別する。１つの実施形態においては、ストアドアプリケーションデータベース７２２はセッションサーバ７２０上に存在する。別の実施形態においては、ストアドアプリケーションデータベース７２２はポリシーエンジン７０６上に存在する。
【００８８】
ストアドアプリケーションデータベース７２２は、アプリケーションセッションを実行するアプリケーションサーバファーム７２４の中の複数のサーバに関連するデータを含む。一部の実施形態においては、クライアントノード７０２に関連するアプリケーションセッションを識別することは、アプリケーションセッションを実行する１つ以上のサーバに関連する格納されたデータを調べることを要求する。これらの実施形態の一部においては、セッションストア７２０が、アプリケーションセッションを実行する１つ以上のサーバに関連する格納されたデータを調べる。これらの実施形態の他においては、ポリシーエンジン７０６が、アプリケーションセッションを実行する１つ以上のサーバに関連する格納されたデータを調べる。一部の実施形態においては、第１のアプリケーションセッションが第１のアプリケーションサーバ７２６上で稼動し、第２のアプリケーションセッションが第２のアプリケーションサーバ７３０上で稼動する。他の実施形態においては、すべてのアプリケーションセッションが、アプリケーションサーバファーム７２４内の単一のアプリケーションサーバ上で稼動する。
【００８９】
セッションサーバ７２０は、ユーザによって開始されたアプリケーションセッションに関係する情報を含む。セッションサーバは、揮発性または不揮発性のメモリに格納され得、または、例えば複数のサーバを介して分散され得る。表７−１は、例示的なセッションサーバ７２０の一部に含まれるデータを示す。
【００９０】
【表１】
2008515085.tif 000003
表７−１の例示的なセッションサーバ７２０は、アプリケーションセッションを開始したユーザの各アプリケーションセッションに関連するデータ、もしあればサーバ７２６に現在接続されているユーザのクライアントコンピュータ７０２または７１６の識別子、および、そのクライアントコンピュータ７０２ａまたは７１６のＩＰアドレスを含む。例示的なセッションサーバ７２０は、各アプリケーションセッションの状態（ｓｔａｔｕｓ）も含む。アプリケーションセッションの状態は、例えば「アクティブ」（ユーザがアプリケーションセッションに接続されているということを意味する）または「ディスコネクテッド」（ユーザがアプリケーションセッションに接続されていないということを意味する）であり得る。代替的な実施形態においては、アプリケーションセッションの状態はまた、「エクゼキューティングディスコネクテッド」（ユーザはアプリケーションセッションからすでにディスコネクトされているが、アプリケーションセッション中のアプリケーションはなお実行中であるということを意味する）または「ストールドディスコネクテッド」（ユーザはディスコネクトされており、アプリケーションセッション中のアプリケーションは実行していない、しかし、それらの作動状態はディスコネクト直前に格納されたということを意味する）に設定され得る。セッションサーバ７２０は、各アプリケーションセッション内で実行しているアプリケーション１１６を示す情報、および、サーバ上の各アプリケーションのプロセス示すデータをさらに格納する。サーバ７２６がサーバファーム７２４の一部である実施形態においては、セッションサーバ７２０は、少なくとも動的ストアの一部であり、サーバファームのサーバについて実行中または実行していた各アプリケーションを示す表１の最後の２行のデータ、および、そのサーバのＩＰアドレスも含む。代替的な実施形態においては、セッションサーバ７２０は、各アプリケーションセッション中の各アプリケーションに対する状態の指標を含む。
【００９１】
例えば、表７−１の例においては、アプリケーションセッション１、アプリケーションセッション２、アプリケーションセッション３の、３つのアプリケーションセッションが存在する。アプリケーションセッション１は、現在ターミナル１を使用しているユーザ１に関連する。ターミナル１のＩＰアドレスは、１５２．１６．２．５０である。アプリケーションセッション１の状態はアクティブであり、アプリケーションセッション１においては、ワードプロセシングプログラムが実行中である。該ワードプロセシングプログラムは、プロセスナンバー１としてサーバＡ上で実行している。サーバＡのＩＰアドレスは１５２．１６．２．５５である。表１のアプリケーションセッション２は、ディスコネクトされたアプリケーションセッション１１８の例である。アプリケーションセッション２はユーザ２に関連するが、アプリケーションセッション２はクライアントコンピュータ７０２ａまたは７１６に接続されていない。アプリケーションセッション２は、プロセスナンバー３としてＩＰアドレス１５２．１６．２．５５で、サーバＡ上で実行しているデータベースプログラムを含む。アプリケーションセッション３は、異なるサーバ７２６上で作動するアプリケーションセッションとユーザが相互に作用し得る方法の例である。アプリケーションセッション３は、アプリケーションセッション１と同じく、ユーザ１に関連する。アプリケーションセッション３は、プロセスナンバー２としてＩＰアドレス１５２．１６．２．５６で、サーバＢ上で実行しているスプレッドシートプログラムを含み、アプリケーションセッション１に含まれるアプリケーションセッションはサーバＡ上で実行中である。
【００９２】
１つの実施形態においては、セッションサーバ７２０は、クライアントノード７０２に関連するアプリケーションセッションをディスコネクトするためのディスコネクト要求を受信するように構成され、該要求に応じてそのようにアプリケーションセッションをディスコネクトする。セッションサーバ７２０は、アプリケーションセッションからクライアントノード７０２をディスコネクトした後もアプリケーションセッションを実行し続ける。この実施形態においては、セッションサーバ７２０は、ストアドアプリケーションデータベース７２２にアクセスし、クライアントノード７０２に関連するアプリケーションセッションがディスコネクトされているということをレコードが示すように、ディスコネクトされたアプリケーションセッションの各々に関連するデータレコードを更新する。
【００９３】
不完全なネットワーク接続に起因する不慮のアプリケーションセッションの終了、および、彼らのアプリケーションセッションを彼ら自身で終了させてしまうユーザの失敗は、ユーザを困難に導き得る。本発明の１つの実施形態は、ディスコネクト（それは、ユーザがアプリケーションセッションによる作業を終えていない場合として扱われる）を終了（それは、アプリケーションセッションに対する意図的な終了であるとみなされる）と区別することによって、および、アプリケーションセッションを、クライアントノードとではなくユーザと相互に関連付けることによってこれらの困難を制限する。ユーザがアプリケーションセッションにおいて作動するアプリケーションの使用を終えたときには、ユーザはアプリケーションセッションを終了させ得る。一般的に、終了は、サーバがもはやアプリケーションセッションを維持する必要がないということを示す、ユーザの肯定的な入力を含む。そのような肯定的なユーザの入力は、メニューから「イクジット（ＥＸＩＴ）」オプションを選択すること、アイコンをクリックすることなどを含み得る。セッションサーバ７２０が終了の要求を受信したことに応じて、アプリケーションセッションおよびそのアプリケーションセッション内の全てのアプリケーションの実行は、停止される。１つの実施形態においては、アプリケーションセッションに関係するデータはまた、ストアドアプリケーションデータベース７２２から取り除かれる。
【００９４】
その反対に、意図的であるか意図的でないかのいずれであっても、ディスコネクトはアプリケーションセッションの終了という結果にはならない。アプリケーションまたはアプリケーションセッションにおいて作動するアプリケーションは、サーバ７２０上で実行しているので、通常、第１のクライアントノード７０２への接続はアプリケーションの実行を継続するために必要ではなく、１つの実施形態においては、接続すべきユーザを待つ間にも、アプリケーションは実行することを継続し得る。代替的な実施形態においては、ユーザのディスコネクトの直後に、セッションサーバ７２０は、アプリケーションセッションにおいて作動するアプリケーションの実行をストール（ｓｔａｌｌ）する。すなわち、セッションサーバ７２０はアプリケーションのさらなる実行を停止し、セッションサーバ７２０は、アプリケーションの作動の状態、および、該アプリケーションが処理している全てのデータを格納する。さらなる実施形態においては、セッションサーバ７２０は、ユーザのディスコネクトの後に、特定のアプリケーションの実行を選択的にストールし得る。例えば、１つの実施形態においては、セッションサーバ７２０は、固定された時間の間アプリケーションの実行を継続し、ユーザがその時間内に接続しなかった場合には、セッションサーバ７２０は該アプリケーションをストールする。別の実施形態においては、セッションサーバ７２０は、ユーザの入力がなければ実行を継続し得ない特定のアプリケーションセッションをストールする。上記の各々の実施形態においては、第１のクライアントノード７０２、第２のクライアントノード７１６または第３のクライアントコンピュータを作動する間に、第１のクライアントノード７０２のユーザがサーバ７２６からディスコネクトし、その後、サーバ７２６に接続した場合には、セッションサーバ７２０は、該ユーザによって作動されるクライアントコンピュータを、１つ以上の以前に開始され、終了されていない、該ユーザに関連するアプリケーションセッションに接続し得、全てのストールされたアプリケーションの実行を再開し得る。
【００９５】
１つの実施形態においては、セッションサーバ７２０はディスコネクトを検出する。ユーザがそこから通信しているクライアントノード７０２または７１６から、アプリケーションセッションをディスコネクトすることを、ユーザは意図的にかつ手動で命令し得る。例えば、１つの実施形態においては、アプリケーションセッションは、ユーザが選択し得るディスコネクトのメニューオプション（上述の終了とは区別されるような）を提供する。セッションサーバ７２０は、意図的ではないディスコネクトも検出し得る。例えば、１つの実施形態においては、所定の、クライアントノード７０２または７１６に送信されたデータパケットの数が、クライアントノード７０２または７１６によって承認されない場合を、セッションサーバ７２０は識別する。別の実施形態においては、クライアントノード７０２または７１６は、接続が今も損なわれていないということを確認するために、サーバ７２６に、定期的に信号を送信する。クライアントノード７０２または７１６から、所定の予想される確認信号の数が到着しないということを、セッションサーバ７２０が検出した場合には、セッションサーバ７２０は、クライアントノード７０２または７１６がディスコネクトしていると決定する。ユーザが、意図的または意図的でなく、アプリケーションセッションからディスコネクトしているということを、セッションサーバ７２０が検出した場合には、ディスコネクトされたアプリケーションセッションに関係するセッションサーバ７２０のエントリーは、ディスコネクトを反映するように修正される。
【００９６】
認証情報を受信した後に、ユーザに関連するが、例えば第１のクライアントノード７０２のような異なるクライアントノードに接続されている、全てのアクティブなアプリケーションセッションを識別するために、セッションサーバ７２０はストアドアプリケーションデータベース７２２を調べる。１つの実施形態においては、セッションサーバ７２０が全てのそのようなアクティブなアプリケーションセッションを識別した場合には、セッションサーバ７２０は、自動的に、第１のクライアントノード７０２から該アプリケーションセッションをディスコネクトし、現在のクライアントコンピュータ７１６に該アプリケーションセッションを接続する。一部の実施形態においては、受信された認証情報は、クライアントノード７０２が再接続し得るアプリケーションセッションを制限する。１つの実施形態においては、セッションサーバの自動的調査およびシングルユーザインターフェースのエレメントである選択先へのその後の接続を、ユーザがトリガーし得る。
【００９７】
クライアントノード７０２に関連するアプリケーションセッションを識別した後に、セッションサーバ７２０は、クライアントノード７０２を関連するアプリケーションセッションに接続する。セッションサーバ７２０は、複数あるアプリケーションセッションの各々が、アクティブであるかまたはディスコネクトされているかを決定する。１つの実施形態においては、複数の中の少なくとも１つのアプリケーションセッションはアクティブである。１つの実施形態においては、複数の中の少なくとも１つのアプリケーションセッションはディスコネクトされている。１つの実施形態においては、セッションサーバ７２０は、アプリケーションの出力を自動的に受信する。別の実施形態においては、アプリケーションの出力の受信は、シングルユーザインターフェースのエレメントであるクライアントノード７０２の選択によってトリガーされる。セッションサーバ７２０は、受信した情報７１４に含まれるアクセス制御決定に基づき、クライアントノード７０２を再接続すべきディスコネクトされたアプリケーションセッションを識別する。１つの実施形態においては、全てのディスコネクトされたアプリケーションセッションを識別した後に、セッションサーバ７２０は、接続が望まれるか否かを示すようにユーザを促す。接続が望まれない場合には、ディスコネクトされたアプリケーションセッションがディスコネクトされたままであるべきか、または、アプリケーションセッションが終了されるべきかを示すように、セッションサーバ７２０はユーザを促す。
【００９８】
１つの実施形態においては、ユーザがアプリケーションセッションに接続されているということを示すために、および、ユーザがそこからサーバに接続されているクライアントノード７０２を示すために、接続は、ストアドアプリケーションデータベース７２２のエントリーを修正することを含む。接続の直後に、サーバ７２６は、アプリケーションの出力データをクライアントノード７０２または７１６に送信することを再開する。１つの実施形態においては、クライアントノードに関連する複数のアプリケーションセッションは、接続前は第１のクライアントノード７０２に接続されていて、接続の後も、複数のアプリケーションセッションは第１のクライアントノード７０２に再接続される。別の実施形態においては、クライアントノードに関連する複数のアプリケーションセッションは、接続前は第１のクライアントノード７０２に接続されていて、接続の後は、複数のアプリケーションセッションは、第２のクライアントノード７１６に再接続される。
【００９９】
以下の例示は、先に検討された方法および装置が、クライアントノードに対するファイルコンテンツへのポリシーベースのアクセスをどのように提供するかを示す。これらの例は例示のためであり、本発明を限定することを意味しない。
【０１００】
（証拠の収集）
１つの実施形態においては、クライアントノード１０２は、ポリシーエンジン１０６が存在するのと同じネットワークに存在するサーバ上に置かれるワードプロセシングドキュメントへのアクセスを要求する。ポリシーエンジン１０６は、要求を受信し、クライアントノード１０２についての情報を所有していないということを決定する。ポリシーエンジン１０６は、収集エージェント１０４をクライアントノード１０２に送信する。一部の実施形態においては、収集エージェント１０４はクライアントノードから収集すべき既定の情報を有している。他の実施形態においては、収集エージェント１０４は、どんなタイプの情報を収集すべきかを決定するために、まずクライアントノードを分析する。なお他の実施形態においては、収集エージェント１０４は、クライアントノード１０２についてどんな情報を収集すべきかに関する命令をポリシーエンジン１０６から抽出する。
【０１０１】
いったんクライアントノード１０２上で実行すると、収集エージェント１０４は、要求された情報を集め、該情報１１２をポリシーエンジン１０６に送信する。ポリシーエンジン１０６は該情報１１２を受信し、どんな条件を情報１１２が満足するかを決定するプロセスを始める。一部の実施形態においては、情報１１２が１つ以上の条件を満足するか否かを決定するためには、受信した情報１１２は十分ではないということを、ポリシーエンジン１０６は決定する。それらの実施形態においては、ポリシーエンジン１０６は、クライアントノード１０２についてもっと多くの情報を集めるために、さらなる命令を収集エージェント１０４に送信する。
【０１０２】
（ポリシーベースのアクセス制御）
ポリシーエンジン１０６の第１のコンポーネント２０２が、１つ以上の条件が満足されたということを決定したときには、それは、満足された条件の各々に対する識別子をデータセットの中に格納する。完了した直後に、第１のコンポーネント２０２は、データセットおよび要求されたアプリケーションを第２のコンポーネント２１０に送信する。この実施形態の例においては、要求されたアプリケーションはワードプロセシングドキュメントであり得、満足された条件はクライアントのデバイスがパーソナルディジタルアシスタントであるということを示し得る。この実施形態の別の例においては、要求されたアプリケーションはスプレッドシートであり得、満足された条件は、クライアントのデバイスが、公共インターネットキオスクのような安全でないネットワークから接続する信頼できるラップトップであるということを示し得る。この実施形態の第３の例においては、要求されたアプリケーションは電子メールメッセージに添付されたファイルであり得、満足された条件は、クライアントのデバイスは安全なネットワークから接続するパーソナルデスクトップ上にあるが、ファイルを見る適切なアプリケーションソフトウェアを欠いているということを示し得る。
【０１０３】
第２のコンポーネント２１０は、第１のコンポーネント２０２からデータセットを受信し、１つ以上のポリシーを受信したデータに適用する。この実施形態の１つの例においては、第２のコンポーネント２１０は、クライアントのデバイスのタイプがパーソナルディジタルアシスタントであるときに、クライアントノードがそのアプリケーションソフトウェアについて有する条件が満足されない場合には、クライアントノードが変換されたファイルのコンテンツを受信する、ということを要求するポリシーを適用し得る。そして、クライアントのデバイスのタイプにアクセス可能なフォーマットでファイルのコンテンツを提示する、変換サーバへの接続を可能にする実行可能なファイルを、クライアントノードは受信する。このポリシーを適用することは、見るためには不適切なフォームファクタ（ｆｏｒｍ  ｆａｃｔｏｒ）であるにもかかわらず、クライアントノードにファイルのコンテンツを見ることを可能とする。
【０１０４】
この実施形態の別の例においては、第２のコンポーネント２１０は、クライアントのデバイスのタイプは信頼できるラップトップであり、適切なソフトウェアを含んでいるが、インターネトキオスクのような安全でないネットワークからであるときに、クライアントノード１０２へのダウンロードを禁止するポリシーを適用し得る。この実施形態においては、ファイルのコンテンツの提示のために、アプリケーションサーバ４１６への接続を可能とする実行可能なファイルをクライアントノード１０２に、ポリシーエンジン１０６が送信するということをポリシーは要求し得る。このタイプのポリシーを適用すること、および、アプリケーションサーバ４１６に対してだけファイルを抽出することは、ファイルの所有コンテンツを不適切な散布による危険に晒すことなく、クライアントノード１０２にファイルのコンテンツを見せることを可能とする。
【０１０５】
この実施形態のなお別の例においては、安全な接続ではあるが適切なアプリケーションソフトウェアを欠いているデスクトップは、ＩＣＡセッションを介してアプリケーションサーバ４１６に接続するということ、および、アプリケーションサーバ４１６が適切なアプリケーションを実行し、ファイルをクライアントノード１０２に提示するということを要求するポリシーを、第２のコンポーネント２１０は適用し得る。該ポリシーを適用することは、クライアントノード１０２上に適切なアプリケーションソフトウェアを欠くにもかかわらず、クライアントノード１０２がファイルのコンテンツを見ることを可能とする。
【０１０６】
本発明は、１つ以上の製品上または製品中に具体化された、１つ以上のコンピュータ読取り可能なプログラムとして提供され得る。該製品は、フロッピー（登録商標）ディスク、ハードディスク、コンパクトディスク、デジタル多目的ディスク、フラッシュメモリカード、ＰＲＯＭ、ＲＡＭ、ＲＯＭまたは磁気テープであり得る。一般に、コンピュータ読取り可能なプログラムは、任意のプログラミング言語でインプリメントされ得る。使用され得る言語の一部の例は、Ｃ、Ｃ＋＋、Ｃ＃またはＪＡＶＡ（登録商標）を含む。ソフトウェアプログラムは、オブジェクトコードとして１つ以上の製品上または製品中に格納され得る。
【０１０７】
本発明が、特定の好ましい実施形態に関連して示され、記述されて来たが、特許請求の範囲によって規定される本発明の意図および範囲を逸脱することなく、形態および詳細における様々な変更がそこに為され得るということが、当業者によって理解される。
【図面の簡単な説明】
【０１０８】
【図１Ａ】図１Ａは、本発明の例示的な実施形態の実行に適した環境のブロック図である。
【図１Ｂ】図１Ｂは，本発明に関して有用なコンピュータの実施形態を描くブロック図である。
【図１Ｃ】図１Ｃは，本発明に関して有用なコンピュータの実施形態を描くブロック図である。
【図１Ｄ】図１Ｄは、ネットワークが、ネットワークリソースへのアクセスを許可するポリシーベースのシステムを提供する、コンピュータネットワークの実施形態のブロック図である。
【図２】図２は、ポリシーエンジンの実施形態のより詳細なブロック図である。
【図３】図３は、クライアントノードについて受信された情報に基づきアクセス制御決定を行うために、ポリシーエンジンによってとられるステップの実施形態を描くフロー図である。
【図４】図４は、ネットワークが、クライアントノードに対するファイルのコンテンツへのポリシーベースのアクセスを提供する、コンピュータネットワークの実施形態のブロック図である。
【図４Ｂ】図４Ｂは、クライアントノードにファイルのコンテンツを提供するために、アプリケーションサーバファームによってとられるステップの１つの実施形態を描くフロー図である。
【図５】図５は、ネットワークが、リソースの変換されたコンテンツへのアクセスを許可する、コンピュータネットワークの実施形態のブロック図である。
【図６】図６は、要求されたファイルのコンテンツを変換し、変換されたコンテンツをクライアントノードに提示するために、変換サーバによってとられるステップの１つの実施形態を描くフロー図である。
【図７】図７は、複数のアプリケーションセッションへの認証されたリモートアクセスが提供される、コンピュータネットワークの実施形態のブロック図である。
【図７Ｂ】図７Ｂは、クライアントノードをそれに関連するアプリケーションセッションに接続するために、セッションサーバによってとられるステップの１つの実施形態を描くフロー図である。
【図１Ａ】
2008515085.tif 000004
【図１Ｂ】
2008515085.tif 000005
【図１Ｃ】
2008515085.tif 000006
【図１Ｄ】
2008515085.tif 000007
【図２】
2008515085.tif 000008
【図３】
2008515085.tif 000009
【図４】
2008515085.tif 000010
【図４Ｂ】
2008515085.tif 000011
【図５】
2008515085.tif 000012
【図６】
2008515085.tif 000013
【図７】
2008515085.tif 000014
【図７Ｂ】
2008515085.tif 000015
【国際調査報告】
2008515085.tif 000016
2008515085.tif 000017
2008515085.tif 000018
2008515085.tif 000019
2008515085.tif 000020