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