承認された遠隔アクセスをアプリケーションセッションに提供する方法および装置
承認された遠隔アクセスを1つ以上のアプリケーションセッションに提供する方法および装置は、クライアントノードと、コレクションエージェントと、ポリシーエンジンと、セッションサーバーとを含む。クライアントノードは、リソースへのアクセスを要求する。コレクションエージェントは、クライアントノードについての情報を収集する。ポリシーエンジンは、収集された情報を受信し、受信した情報を基にしてアクセス制御決定を行う。セッションサーバーは、ユーザーによって操作されるクライアントコンピュータと、受信した情報に応答して識別されたクライアントノードのユーザーと関係する1つ以上のアプリケーションセッションとの間の接続を確立する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、承認された遠隔アクセスを複数のアプリケーションセッションに提供する方法および装置に関し、特に、承認された遠隔アクセスを、高められたセキュリティを実現した複数のアプリケーションセッションに提供する方法および装置に関する。
【背景技術】
【0002】
ネットワーク化されたリソースに遠隔アクセスを提供する技術は、様々なサーバー/クライアントのソフォトウエアの組み合わせを含む。Citrix Systems, Inc., Ft. Lauderdale, Floridaから入手可能な、Intelligent Computing Architecture(ICA)と通信するMetaFrameTMサーバーソフトウエア、およびX Consortiumから入手可能な、X Windows(登録商標)クライアントと通信するX Serversは、サーバー上で実行しているアプリケーションに遠隔アクセスを提供する2例である。
【0003】
コンピュータユーザーの行動および彼らのコンピュータが介して通信するネットワーク通信チャンネルの安定性は、しばしば予測不可能である。ネットワークユーザーは、彼らのワークプロダクトを完全にセーブすることや、彼らのシステムをシャットダウンすることを忘れているか、あるいはそうする機会を有しない間に、時にはコンピューティング環境を変える必要がある。他の場合において、通信チャンネルは突然故障し、あるいはコンピュータはクラッシュし、セッションが復元されなかったり配慮なく終了されたりした場合はワークプロダクトの損失に繋がる。
【0004】
コンピュータユーザーが1つのコンピューティング環境から別の環境へと移ると、アクセス制御の決定が変わり得る。既存の方法は、アクセスが変わらないセッションへのユーザーの速やかな再接続を提供せず、ユーザーが許可された環境に戻った時、将来の再接続のための未許可のセッションを保持したままである。
【発明の開示】
【発明が解決しようとする課題】
【0005】
コンピューティング環境のシフトを検出し、そのようなシフトの生ずるアクセス制御権利の変化を識別し、ユーザーを許可されたセッションのみに再接続する方法が所望される。
【課題を解決するための手段】
【0006】
本発明は、高められたセキュリティを実行する複数のアプリケーションセッションに、承認された遠隔アクセスを提供する方法および装置に関する。
【0007】
一側面において、本発明は、ユーザーに関係する情報を受信することを含む、複数(例えば2つ以上)のアプリケーションセッションに、承認された遠隔アクセスを提供する方法に関する。コレクションエージェントは該情報を収集し、それをポリシーエンジンに送信する。該ポリシーエンジンは該受信した情報に基づいてアクセス制御の決定を行う。一実施形態において、該ポリシーエンジンは、また、該情報に応答して該ユーザーと既に関係する複数のアプリケーションセッションを識別する。該方法は、また、該情報に応答して、識別された複数のアプリケーションセッションに、該ユーザーによって操作されるクライアントノードを接続することを含む。いくつかの実施形態において、複数のアプリケーションセッションがあり得、複数のアプリケーションセッションのうちのいくつかは、複数のサーバー上で走り得る。
【0008】
別の側面において、本発明は、リソースへの承認されたアクセスを認める方法および装置に関する。該装置は、2つの構成要素を含むポリシーエンジンを備える。該第1の構成要素は、クライアントノードについての情報を受信し、該情報からのデータセットを生成する。該第2の構成要素は該データセットを受信し、該第1構成要素に、受信した情報に基づいて該クライアントに入手可能なリソースの一覧を提供する。該第1構成要素は、該クライアントノードにリソースの一覧を提示する。
【0009】
一実施形態において、該第1の構成要素はコレクションエージェントから該情報を受信する。一実施形態において、各々の構成要素は、さらにデータベースを含む。該第1構成要素内の該データベースはコンディションを格納している。該第2構成要素内の該データベースはポリシーを格納している。該第1構成要素は、該受信した情報に該コンディションを適用し、該第2構成要素は、該受信したデータセットに該ポリシーを適用する。この実施形態において、該ポリシーは、該クライアントノードがアクセスし得るアプリケーションセッションを決定する。
【発明を実施するための最良の形態】
【0010】
(発明の詳細な説明)
本発明の実例となる実施形態は、遠隔ユーザーがコンテントのアクセスを要求する分散ネットワーキング環境に適用可能である。本発明の詳細を論議する前に、本発明の実例となる実施形態が用いられ得るいくつかのネットワーク環境について論議することが有用であり得る。
【0011】
図1Aは、本発明の実例となる実施形態を実施するには相応しい環境のブロック図である。クライアントノード102は、ウェブブラウザ110およびアプリケーションプログラム112a、112b...112nを含む。アプリケーションプログラムは、データを処理して出力を提供し、かつ、システムリソースへのアクセスのためにオペレーティングシステムを使用する任意のプログラムである。例示的なアプリケーションプログラムは、Microsoft Corporation of Redmond, Washingtonによって製造された、MICROSOFT WORDのようなワードプロセッシングアプリケーション、Microsoft Corporationによって製造された、MICROSOFT EXCELのような表計算プログラム、Microsoft Corporationによって製造された、MICROSOFT OUTLOOKのような電子メールプログラムおよびNovell Corp. of Provo, Utahによって製造されたGROUPWISE、およびSun Microsystems of Mountain View, Californiaによって製造されたSTAR OFFICEのような生産性スイートを含む。
【0012】
コンテントサーバー126は、コンテントファイル128を含み、付加的なコンテントファイル124および132を保持するデータストア122および130に、それぞれ接続され得る。当業者は、コンテントファイルを保持している他のネットワーク格納デバイスあるいはドキュメントレポジトリは、また、本発明の範囲から逸れることなく、コンテントサーバー126にネットワーク接続され得るということを認識し得る。クライアントノード102のユーザーは、ウェブブラウザ110を使用してコンテントサーバー126からのコンテントを要求することにより、図示されたハイパーテキストトランスポートプロトコルセキュア(HTTPS)要求115、あるいは、HTTP(ハイパーテキストトランスポートプロトコル)、FTP(ファイルトランスポートプロトコル)要求、あるいは、ファイル共用のオペレーションのためにSMB(サーバー管理ブロックプロトコル)要求のような要求を送り得る。
【0013】
多くの実施形態において、コンテントサーバー126、クライアントノード102、およびプロキシサーバー120は、Hewlett−Packard Corporation of Palo Alto, CaliforniaあるいはDell Corporaiton of Round Rock, TXによって製造された種類のパーソナルコンピュータ、あるいはコンピュータサーバーとして提供される。図1Bおよび図1Cは、これらの実施形態においてコンテントサーバー126、プロキシサーバー120、あるいはクライアントノード102として有用である典型的なコンピュータ100のブロック図を図示する。図1Bおよび図1Cに示されるように、それぞれのコンピュータ100は、中央処理装置102、主記憶装置104を含む。それぞれのコンピュータ100は、また、他のオプションの構成要素、例えば1つ以上のインプット/アウトプットデバイス130a〜130n(通常、参照番号130を用いて言及する)、および中央処理装置102と通信するキャッシュメモリ140を含み得る。
【0014】
中央処理装置102は、主記憶装置104から取り出された命令に応答し、かつ処理する任意のロジック回路構成である。多くの実施形態において、中央処理装置は、マイクロプロセッサユニット、例えばIntel Corporation of Mountain View, Californiaによって全て製造された、8088、80286、80386、80486、Pentium(登録商標)、Pentium(登録商標) Pro、Pentium(登録商標) II、Celeron、あるいはXeonプロセッサ;Motorola Corporatoin of Schaumburg, Illinoisによって全て製造された、68000、68010、68020、68030、68040、PowerPC601、PowerPC604,PowerPC604e、MPC603e、MPC603ei、MPC603ev、MPC603r、MPC603p、MPC740、MPC745、MPC750、MPC755、MPC7400、MPC7410、MPC7441、MPC7445、MPC7447、MPC7450、MPC7451、MPC7455、MPC7457プロセッサ;Transmeta Corporation of Santa Clara, Californiaによって全て製造された、Crusoe TM5800、Crusoe TM5600、Crusoe TM5500、Crusoe TM5400、Efficeon TM8600、Efficeon TM8300、あるいはEfficeon TM8620プロセッサ;International Business Machines of White Plains, New Yorkによって全て製造された、RS/6000プロセッサ、RS64、RS64II、P2SC、POWER3、RS64III、POWER3−II、RS64IV、POWER4、POWER4+、POWER5、あるいは、POEWR6プロセッサ;あるいは、Advanced Micro Devices of Sunnyvale, Californiaによって製造された、AMD Opteron、AMD Athalon64FX、AMD Athalon,あるいはAMD Duronプロセッサ、などによって提供される。
【0015】
主記憶装置104は、データを格納すること、および、任意の格納場所がマイクロプロセッサ102によって直接にアクセスされることを許可することが可能な1つ以上のメモリチップであり得、例えば、スタティックランダムアクセスメモリ(SRAM)、バーストSRAMあるいはSynchBurst SRAM(BSRAM)、ダイナミックランダムアクセスメモリ(DRAM)、ファストページモードDRAM(FPM DRAM)、エンハンストDRAM(EDRAM)、拡張データアウトプットRAM(EDO RAM)、拡張データアウトプットDRAM(EDO DRAM)、バースト拡張データアウトプットDRAM(BEDO DRAM)、エンハンストDRAM(EDRAM)、シンクロノスDRAM(SDRAM)、JEDEC SRAM、PC100 SDRAM、ダブルデータレートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、SyncLink DRAM(SLDRAM)、ダイレクトランバスDRAM(DRDRAM)、あるいは強誘電体RAM(FRAM)を含む。
【0016】
図1Bに示される実施形態において、プロセッサ102は、システムバス120を介してメインメモリ104と通信する(以下に詳述)。図1Cは、プロセッサがメモリポートを介してメインメモリ104と直接に通信する、コンピュータシステム100の実施形態を図示する。例えば、図1Cにおいて、メインメモリ104はDRDRAMであり得る。
【0017】
図1Bおよび図1Cは、メインプロセッサ102が、時に「バックサイド」バスと呼ばれる第2のバスを介して、キャッシュメモリ140と直接に通信する実施形態を図示する。他の実施形態において、メインプロセッサ102は、システムバス120を用いてキャッシュメモリ140と通信する。キャッシュメモリ140は、通常、メインメモリ104よりも早い応答時間を有し、通常はSRAM、BSRAM、あるいはEDRAMによって提供される。
【0018】
図1Bに示される実施形態において、プロセッサ102は、ローカルシステムバス120を介して様々なI/Oデバイス130と通信する。様々なバスは、中央処理装置102をI/Oデバイス130に接続するのに用いられ得、該バスには、VESA VLバス、ISAバス、EISAバス、MicroChannel Architecture(MCA)バス、PCIバス、PCI−Xバス、PCI−Expressバス、あるいはNuBusを含む。I/Oデバイスがビデオディスプレイである実施形態では、プロセッサ102は、ディスプレイと通信するためにアドバンストグラフィックポート(AGP)を使用し得る。図1Cは、メインプロセッサ102が、HyperTransport、RapidI/O、あるいはInfiniBandを介して、直接にI/Oデバイス130bと通信するコンピュータシステム100の実施形態を図示する。図1Cは、また、ローカルバスと直接通信とが混ざっている実施形態を図示し、プロセッサ102は、ローカルインターコネクトバスを使用してI/Oデバイス130aと通信し、その一方で、直接にI/Oデバイス130bと通信する。
【0019】
多種多様なI/Oデバイス130がコンピュータシステム100に存在し得る。インプットデバイスは、キーボード、マウス、トラックパッド、トラックボール、マイクロフォン、およびドローイングタブレットを含む。アウトプットデバイスは、ビデオディスプレイ、スピーカー、インクジェットプリンタ、レーザープリンタ、および染料昇華型プリンタを含む。I/Oデバイスは、また、コンピュータシステム100のための大容量記憶装置を提供し得、例えばハードディスクドライブ、3.5インチ、5.25インチ、あるいはZIPディスクのようなフロッピー(登録商標)ディスクを受け取るためのフロッピー(登録商標)ディスクドライブ、CD−ROMドライブ、CD−R/RWドライブ、DVD−ROMドライブ、様々なフォーマットのテープドライブ、および、Twintech Industry,Inc. of Los Alamitos, Californiaによって製造された、USBFlash Driveの類のデバイスのようなUSB記憶デバイスなどである。
【0020】
さらなる実施形態において、I/Oデバイス130は、システムバス120と外部の通信バスとの間のブリッジであり得、それらはUSBバス、Apple Desktop Bus、RS−232シリアルコネクション、SCSIバス、FireWireバス、FireWire800バス、イーサネット(登録商標)バス、Apple Talkバス、ギガビットイーサネット(登録商標)バス、非同期トランスファーモードバス、HIPPIバス、スーパーHIPPIバス、SerialPlusバス、SCI/LAMPバス、FibreChannelバス、あるいはシリアルアタッチトスモールコンピュータシステムインターフェースバスなどである。
【0021】
図1Bおよび図1Cに図示される種類の汎用デスクトップコンピュータは、通常、オペレーティングシステムの制御下で作動し、該オペレーティングシステムはタスクのスケジューリングを制御し、かつ、システムリソースにアクセスする。通常、典型的なオペレーティングシステムは、とりわけMicrosoft Corp. of Redmond, Washingtonによって製造されたMICROSOFT WINDOWS(登録商標);Apple Computer of Cupertino, Californiaによって製造されたMacOS;International Business Machines of Armonk, New Yorkによって製造されたOS/2;Caldera Corp of Salt Lake City, Utahによって配布される自由に入手可能なオペレーティングシステムのLinux、が含まれる。
【0022】
クライアントノード102は、任意のパーソナルコンピュータ(例えば、286、386、486、Pentium(登録商標)、Pentium(登録商標)II、Macintoshコンピュータ)、Windows(登録商標)ベースのターミナル、ネットワークコンピュータ、ワイヤレスデバイス、情報器具、RISC Power PC、X−デバイス、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、パーソナルデジタルアシスタント、あるいは、小さな、ディスプレイプレゼンテーションプログラムを実行するための、Windows(登録商標)ベースのデスクトップおよび十分な固定ストレージを有する他のコンピューティングデバイスであり得る。ディスプレイプレゼンテーションプログラムは、通信チャンネルを越えて該ディスプレイプレゼンテーションプログラムに送られてきたコマンドおよびデータを使用してグラフィック表示を表現する。クライアントノード102にサポートされるWindows(登録商標)志向のプラットフォームは、制限無く、WINDOWS(登録商標)3.x、WINDOWS(登録商標)95、WINDOWS(登録商標)98、WINDOWS(登録商標) NT3.51、WINDOWS(登録商標) NT4.0、WINDOWS(登録商標)2000、WINDOWS(登録商標) CE、MAC/OS、Java(登録商標)、およびUNIX(登録商標)を含み得る。クライアントノード102は、ビジュアルディスプレイデバイス(例えば、コンピュータモニタ)、データ入力デバイス(例えば、キーボード)、ダウンロードしたアプリケーションプログラムを格納するための固定あるいは揮発性記憶装置(例えば、コンピュータメモリ)、プロセッサ、およびマウスを含み得る。小さな、ディスプレイプレゼンテーションプログラムの実行は、クライアントノード102が分散型コンピュータシステムモデルに参加することを可能とする(例えば、サーバーベースのコンピューティングモデル)。
【0023】
クライアントノード102がモバイルデバイスである実施形態では、該デバイスは、JAVA(登録商標)を使用可能な携帯電話であり得、それらは、Motorola Corp. of Schaumburg, Illinoisによって全て製造された、i50sx、i55sr、i58sr、i85s、i88s、i90c、i95cl、あるいはim11000、Kyocera of Kyoto, Japanによって製造された、6035、あるいは7135、Samsung Electronics Co., Ltd., of Seoul, Koreaによって製造された、i300、あるいはi330などである。クライアントノード102がモバイルである他の実施形態において、該クライアントノード102は、PalmOSオペレーティングシステムの制御下で作動するパーソナルデジタルアシスタント(PDA)であり得、例えばpalmOne,Inc. of Milpitas, Californiaによって全て製造された、Tungsten W、 VII、VIIx、i705、などである。さらなる実施形態において、クライアントノード102は、PocketPCオペレーティングシステムの制御下で作動するパーソナルデジタルアシスタント(PDA)であり得、例えばHewlett−Packard Corporation of Palo Alto, Californiaによって全て製造された、iPAQ4155、iPAQ5555、iPAQ1945、iPAQ2215、およびiPAQ4255、ViewSonic of Walnut, Californiaによって製造された、ViewSonic V36、あるいはToshiba America, Inc. of New York, New Yorkによって製造された、Toshiba PocketPC e405などである。さらなる他の実施形態において、該クライアントノードは、コンビネーションPDA/電話デバイスであり、全てpalmOne,Inc. of Milpitas, Californiaによって製造された、Treo 180、Treo 270、あるいはTreo 600などである。またさらなる実施形態において、クライアントノード102は、PocketPCオペレーティングシステムの制御下で作動する携帯電話であり、Motorola Corp.によって製造された、MPx200などである。
【0024】
図1Dを参照すると、本発明に従って組み立てられたコンピュータネットワーク100の一実施形態が図示され、これにはクライアントノード102、コレクションエージェント104、ポリシーエンジン106、ポリシーデータベース108、アプリケーションサーバーファーム114、およびアプリケーションサーバー116を含む。単一のクライアントノード102、コレクションエージェント104、ポリシーエンジン106、アプリケーションサーバーファーム114、およびアプリケーションサーバー116のみが図1Dに示される実施形態に図示されているが、該システムは、これらの構成要素のあらゆる、あるいは各々の複数を提供し得る、ということが理解される。例えば、一実施形態において、システム100は、複数の論理的にグループ分けされたアプリケーションサーバー116を含み、これらの各々はクライアントノード102に代わってアプリケーションを実行するために利用できる。これらの実施形態において、論理的グループのサーバーは、「サーバーファーム」と呼ばれ得る。これらの実施形態のいくつかにおいて、該サーバーは、地理的に分散され得る。
【0025】
簡潔な全体像において、クライアントノード102がリソースにアクセスするためのポリシーエンジン106に要求110を送信すると、コレクションエージェント104はクライアントノード102と通信し、クライアントノード102についての情報を取り出し、ポリシーエンジン106にクライアントノード情報112を送信する。ポリシーエンジン106は、受信情報112にポリシーデータベース108からのポリシーを適用することによって、アクセス制御の決定を行う。
【0026】
さらに詳細に述べると、クライアントノード102は、ポリシーエンジン106にリソースに対する要求110を送信する。いくつかの実施形態において、クライアントノード102はネットワーク接続を介して要求110を送信する。該ネットワークは、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、あるいはインターネットのようなワイドエリアネットワーク(WAN)であり得る。クライアントノード102およびポリシーエンジン106は、一般電話回線、LANあるいはWANリンク(例えば、T1、T3、56kb、X.25)、ブロードバンド接続(ISDN、フレームリレイ、ATM)、およびワイヤレス接続を含む様々な接続方法を介してネットワークに接続し得る。クライアントノード102とポリシーエンジン106との間の接続は、様々なデータリンク層通信プロトコル(例えば、TCP/IP、IPX、SPX、NetBIOS、NetBEUI、SMB、イーサネット(登録商標)、ARCNET、Fiber Distributed Data Interface(FDDI)、RS232、IEEE802.11、IEEE802.11a、IEE802.11b、IEEE802.11g、および直接非同期接続)を使用し得る。
【0027】
要求を受け取ると、ポリシーエンジン106はコレクションエージェント104によって情報収集を開始する。コレクションエージェント104は、クライアントノード102に関する情報を収集し、ポリシーエンジン106に情報112を送信する。
【0028】
いくつかの実施形態において、コレクションエージェント104は、ネットワーク接続を介して情報112を収集し、送信する。いくつかの実施形態において、コレクションエージェント104は、バイトコードプログラミング言語JAVA(登録商標)で書かれたアプリケーションのような、バイトコードを含む。いくつかの実施形態において、コレクションエージェント104は少なくとも1つのスクリプトを含む。それらの実施形態において、コレクションエージェント104は、クライアントノード102上に少なくとも1つのスクリプトを走らせることによって情報を収集する。いくつかの実施形態において、コレクションエージェントは、クライアントノード102上にアクティブXコントロールを含む。アクティブXコントロールは、コントロールの様に見せかけ、行動することを可能とするインターフェースのセットを実施する、特殊化されたCOM(コンポーネントオブジェクトモデル)オブジェクトである。
【0029】
いくつかの実施形態において、コレクションエージェント104は、クライアントノード上で実行する。他の実施形態において、コレクションエージェント104はポリシーエンジン106上に存在する。さらに他の実施形態において、コレクションエージェント104は、サーバーに存在する。他の実施形態において、ポリシーエンジン106はサーバー上に存在する。これらの実施形態のいくつかにおいて、コレクションエージェント104は、ポリシーエンジン106上、およびサーバー上の両方に存在する。
【0030】
一実施形態において、ポリシーエンジン106は、クライアントノード102にコレクションエージェント104を送信する。一実施形態において、コレクションエージェント104がポリシーエンジン106に情報112を送信した後、ポリシーエンジン106はコレクションエージェント104の第2の実行を要求する。この実施形態において、ポリシーエンジン106は、クライアントノード102が特定の状況を満たすかどうかを決定するには不十分な情報112を有し得る。他の実施形態において、ポリシーエンジン106は、受信情報112に応答してコレクションエージェント104の複数の実行を要求する。
【0031】
いくつかの実施形態において、ポリシーエンジン106は、コレクションエージェント104に、コレクションエージェント104が収集する情報タイプを決定する命令を送信する。それらの実施形態において、システムアドミニストレーターは、ポリシーエンジン106からコレクションエージェント104に送信された命令を構成し得る。このことによって、集められる情報タイプを超えるより多くの制御を提供する。このことは、また、集められた情報タイプを超える多くの制御に起因して、ポリシーエンジン106がなすアクセス制御の決定タイプを広げる。コレクションエージェント104は情報112を収集し、該情報112は、制限無く、クライアントノードの機械ID、オペレーティングシステムタイプ、オペレーティングシステム上のパッチの存在、インストールされたネットワークカードのMACアドレス、クライアントデバイスのデジタルウォーターマーク、アクティブディレクトリ内のメンバーシップ、ウイルススキャナーの存在、パーソナルファイアウォールの存在、HTTPヘッダー、ブラウザタイプ、デバイスタイプ、ネットワーク接続情報、および認証証明、が含まれる。
【0032】
いくつかの実施形態において、デバイスタイプは、パーソナルデジタルアシスタントである。他の実施形態において、デバイスタイプは携帯電話である。他の実施形態において、デバイスタイプはラップトップコンピュータである。他の実施形態において、デバイスタイプはデスクトップコンピュータである。他の実施形態において、デバイスタイプはインターネットキオスクである。
【0033】
いくつかの実施形態において、デジタルウォーターマークはデータ埋込みを含む。いくつかの実施形態において、ウォーターマークは該ファイルについてのソース情報を提供するために、ファイルに差し込まれたデータのパターンを含む。他の実施形態において、改ざん検出を提供するために、ウォーターマークはデータハッシングファイルを含む。他の実施形態において、ウォーターマークはファイルについての情報に著作権を提供する。
【0034】
いくつかの実施形態において、ネットワーク接続情報は、帯域幅性能に関係する。他の実施形態において、ネットワーク接続情報は、インターネットプロトコルアドレスに適用される。さらに他の実施形態において、ネットワーク接続情報は、インターネットプロトコルアドレスから構成される。一実施形態において、ネットワーク接続情報は、クライアントノードが認証証明を提供したログオンエージェントを識別するネットワークゾーンを含む。
【0035】
いくつかの実施形態において、認証証明は、多くのタイプの認証情報を含み、制限無く、ユーザー名、クライアント名、クライアントアドレス、パスワード、PIN、ボイスサンプル、一回限りパスコード、生物測定のデータ、デジタル証明、チケット、など、およびそれらの組み合わせを含む。収集された情報112を受信した後、ポリシーエンジン106は、収集された情報112に基づいてアクセス制御の決定を行う。
【0036】
図2を参照すると、これはポリシーエンジン200の一実施形態のブロック図であり、コンディションデータベース204およびログオンエージェント206を備える第1構成要素202を含み、かつ、ポリシーデータベース212を備える第2構成要素210を含む。第1構成要素202は、コンディションデータベース204からのコンディションをクライアントノード102についての受信情報に適用し、受信情報がコンディションを満たすかどうかを決定する。
【0037】
いくつかの実施形態において、第1構成要素202および第2構成要素210は論理的には個別のものであるが、物理的には別個ではない。いくつかの実施形態において、第1構成要素202および第2構成要素210は、論理的に、および物理的に別個である。いくつかの実施形態において、コンディションデータベース204は第1構成要素202上に存在する。他の実施形態において、コンディションデータベース204は第2構成要素210上に存在する。
【0038】
いくつかの実施形態において、コンディションは、クライアントノード102が特定のオペレーティングシステムを実行してコンディションを満たすことを要求し得る。いくつかの実施形態において、コンディションは、クライアントノード102が特定のオペレーティングシステムパッチを実行してコンディションを満たすことを要求し得る。さらに他の実施形態において、コンディションは、クライアントノード102が各々のインストールされたネットワークカードに対するMACアドレスを提供してコンディションを満たすことを要求し得る。いくつかの実施形態において、コンディションは、クライアントノード102が特定のアクティブディレクトリ内のメンバーシップを指示してコンディションを満たすことを要求し得る。別の実施形態において、コンディションは、クライアントノード102がウイルススキャナーを実行してコンディションを満たすことを要求し得る。他の実施形態において、コンディションは、クライアントノード102がパーソナルファイアウォールを実行してコンディションを満たすことを要求し得る。いくつかの実施形態において、コンディションは、クライアントノード102が特定のデバイスタイプを含んでコンディションを満たすことを要求し得る。他の実施形態において、コンディションは、クライアントノード102がネットワーク接続の特定の種類を確立してコンディションを満たすことを要求し得る。
【0039】
受信情報がコンディションを満たす場合、第1構成要素202は、データセット208にそのコンディションに対する識別子を格納する。一実施形態において、情報がコンディションを真のものにする場合、受信情報はコンディションを満たす。例えば、コンディションは、特定のオペレーティングシステムがインストールされることを要求し得る。クライアントノード102がそのオペレーティングシステムを有する場合、コンディションは真であり、満たされる。別の実施形態において、情報がコンディションを偽りのものにする場合、受信情報はコンディションを満たす。例えば、クライアントノード102上にスパイウエアが存在するかどうかを示し得る。クライアントノード102がスパイウエアを含まない場合、コンディションは偽りであり、満たされる。
【0040】
いくつかの実施形態において、ログオンエージェント206は、ポリシーエンジン200の外側に存在する。他の実施形態において、ログオンエージェント206は、ポリシーエンジン200上に存在する。一実施形態において、第1構成要素202は、ログオンエージェント206を含み、該ログオンエージェント206はクライアントノード102についての情報収集を開始する。いくつかの実施形態において、ログオンエージェント206は、さらにデータストアを含む。これらの実施形態において、データストアは、コレクションエージェントが情報を収集し得るコンディションを含む。このデータストアは、コンディションデータベース204とは異なるものである。
【0041】
いくつかの実施形態において、ログオンエージェント206は、コレクションエージェント104を実行することによって情報収集を開始する。他の実施形態において、ログオンエージェント206は、クライアントノード102上の実行のためにクライアントノード102にコレクションエージェント104を送信することによって、情報収集を開始する。さらに他の実施形態において、ログオンエージェント206は、情報112を受信した後、追加の情報収集を開始する。一実施形態において、ログオンエージェント206は、また、情報112を受け取る。この実施形態において、ログオンエージェント206は、受信情報112に基づいてデータセット208を生成する。いくつかの実施形態において、ログオンエージェント206は、データベース204からのコンディションをコレクションエージェント104から受信した情報に適用することによって、データセット208を生成する。
【0042】
別の実施形態において、第1構成要素202は複数のログオンエージェント206を含む。この実施形態において、複数のログオンエージェント206のうちの少なくとも1つは、クライアントノード102がリソース要求を送信する各々のネットワークドメインに存在する。この実施形態において、クライアントノード102は、特定のログオンエージェント206にリソース要求を送信する。いくつかの実施形態において、ログオンエージェント206は、ポリシーエンジン200に、クライアントノード102がログオンエージェント206にアクセスしたネットワークドメインを送信する。一実施形態において、クライアントノード102がログオンエージェント206にアクセスするネットワークドメインは、クライアントノード102のネットワークゾーンと呼ばれる。
【0043】
コンディションデータベース204は、第1構成要素202が受信情報に適用するコンディションを格納する。ポリシーデータベース212は、第2構成要素210が受信したデータセットに適用するポリシーを格納する。いくつかの実施形態において、コンディションデータベース204およびポリシーデータベース212は、ODBC準拠のデータベースにデータを格納する。例えば、コンディションデータベース204およびポリシーデータベース212は、Oracle Corporation of Redwood Shores, Calif.によって製造された、ORACLEデータベースとして提供され得る。他の実施形態において、コンディションデータベース204およびポリシーデータベース212は、Microsoft Corporation of Redmond, Wash.によって製造された、Microsoft ACCESSデータベース、あるいはMicrosoft SQLサーバーデータベースであり得る。
【0044】
第1構成要素202がコンディションデータベース204内の各々のコンディションに受信情報を適用した後、第1構成要素は第2構成要素210にデータセット208を送信する。一実施形態において、第1構成要素202は、第2構成要素210にデータセット208のみを送信する。従って、この実施形態において、第2構成要素210は情報112を受信せず、満たされたコンディションに対する識別子のみを受信する。第2構成要素210はデータセット208を受信し、データセット208内で識別されたコンディションに基づいて、ポリシーデータベース212からポリシーを適用することによって、アクセス制御の決定を行う。
【0045】
一実施形態において、ポリシーデータベース212は受信情報112に適用されたポリシーを格納する。一実施形態において、ポリシーデータベース212に格納されたポリシーは、システムアドミニストレーターによって、少なくとも部分的に、特定される。別の実施形態において、ユーザーは、ポリシーデータベース212に格納されたポリシーの少なくともいくつかを特定する。ユーザー特定の1つ、あるいは複数のポリシーは、優先度として格納される。ポリシーデータベース212は、揮発性の、あるいは不揮発性のメモリに格納され得、あるいは、例えば複数のサーバーを介して分配され得る。
【0046】
一実施形態において、ポリシーは、1つ以上のコンディションが満たされる場合のみにリソースへのアクセスを許可する。別の実施形態において、ポリシーは、リソースへのアクセスを許可するが、クライアントノード102へのリソースの送信を禁止する。ポリシーデータベース212に格納されたポリシーのうちの1つは、切断されたアプリケーションセッションへの自動接続を要求し、あるいは禁じ得る。しかし、別のポリシーは、接続を、安全なネットワーク内でのアクセスを要求するクライアントノード102に依存するものとし得る。別のポリシーは、別のクライアントノード102に現時点で接続されているアクティブアプリケーションセッションへの自動接続を要求し得、あるいは禁じ得る。さらなるポリシーは、ユーザー承認を受信した後のみにアプリケーションセッションへの接続を許可し得る。別のポリシーは、切断後の所定時間の間にのみ接続を許可し得る。さらに別のポリシーは、特定のアプリケーションを含むアプリケーションセッションへの接続のみを許可する。1つのポリシーは、要求されたファイルの変換したコンテントのみを見ることを許可し得る。ポリシーは、要求されたファイルのHTMLバージョンのみを見ることを許可し得る。いくつかの実施形態において、リソースへのアクセスは、クライアントノード102へのファイルのダウンロードが妨げられている間に提供される。これはいくつかの方法で達成され得、ビュアーオンリーフォーマットへのファイルコンテントの変換と、ウェブブラウザによって見るHTMLへファイルコンテントを変換することと、クライアントノード102によってホストされているアプリケーションを使用する代わりにサーバーファーム内のサーバーによってホストされているアプリケーションを使用し、あるいは、米国特許出願第10/931405号に記載された種類のシステムを使用することにより、ファイルを開くためのファイルタイプアソシエーションの使用とを含み、該出願の内容は本明細書中に参考として援用される。
【0047】
上記のいくつかの実施形態において、本方法および装置は占有情報に対する文書保護を提供する。これらの実施形態において、ポリシーエンジン106がクライアントノード102にリソースへのアクセスを認めない限り、クライアントノードはネットワーク化されたリソースにアクセスし得ない。これらの実施形態のうちの1つにおいて、ポリシーエンジン106は単一の露出されたネットワーク要素であり、クライアントノード102が、ネットワーク化したリソースにアクセスするためにポリシーエンジン106にアクセスしなくてはならないということを確実にしている。これらの実施形態のうちのもう1つにおいて、ポリシーエンジン106の後で、ネットワーク化したリソースにアクセスするために使用されたURLは、クライアントノード102による直接アクセスを防ぐために書き直される。上述の実施形態のうちのその他において、該方法および装置は、そうでなければアクセスできないリソースにアクセスするクライアントノードの能力を高める。上述の実施形態のうちのいくつかにおいて、該方法および装置は、占有情報の保護および高められたクライアントノードの能力の両方を提供する。
【0048】
図3を参照すると、工程図は、クライアントノード102について受信した情報に基づいてアクセス制御の決定をするために、ポリシーエンジン106によって取られたステップの一実施形態を図示している。クライアントノード102について収集された情報を受け取る(ステップ350)と直ぐに、ポリシーエンジン106は、該情報に基づいてデータセットを生成する(ステップ352)。いくつかの実施形態において、ポリシーエンジン106は、コレクションエージェント104から、クライアントノード102についてのさらなる情報を要求する。これらの実施形態において、ポリシーエンジン106は、クライアントノード102でコレクションエージェント104の2以上の実行を要求する。それらの実施形態において、ポリシーエンジン106は、追加で要求された情報を受信した後に、データセット208を生成する。これらの実施形態において、ポリシーエンジン106は、クライアントノード102が特定のコンディションを満たすかどうか決定するための不十分な情報112を有し得る。これらの実施形態のうちのその他において、コンディションは不確定であり得る。コンディションが不確定である実施形態のいくつかにおいて、コレクションエージェントは、コンディションを満たすのに必要とされる情報を収集できないかもしれない。
【0049】
データセット208は、受信した情報112によって満たされた各々のコンディションに対する識別子を含む。次に、ポリシーエンジン106は、データセット208内で各々の識別されたコンディションにポリシーを適用する。そのアプリケーションは、クライアントノード102がアクセスし得るリソースの一覧を作り出す(ステップ354)。一実施形態において、リソースは著作権を有するデータを含む。いくつかの実施形態において、リソースはウェブページを含む。他の実施形態において、リソースはワード処理の文書を含む。さらに他の実施形態において、リソースは表計算ソフトを含む。いくつかの実施形態において、一覧は、クライアントノード102がアクセスし得るリソースのサブセットのみを含む。ポリシーエンジン106は、それから、その一覧をクライアントノード102に示す。いくつかの実施形態において、ポリシーエンジン106は、クライアントノードに一覧を示すのに用いられたHypertext Markup Language(HTML)文書を作る。
【0050】
図4を参照すると、本発明に従って組み立てられたコンピュータネットワーク400の一実施形態が図示されており、クライアントノード402と、コレクションエージェント404と、アクセス制御サーバー406と、ポリシーデータベース408と、アプリケーションサーバーファーム414と、第1アプリケーションサーバー416と、アプリケーションデータベース418と、第2アプリケーションサーバー420と、第2アプリケーションデータベース422とを含む。いくつかの実施形態において、クライアントノード402が存在するネットワークを、アクセス制御サーバー406とアプリケーションサーバーファーム414とが存在するネットワークから分離するネットワーク境界がある。
【0051】
簡潔な全体像において、クライアントノード402がアクセス制御サーバー406にリソースへのアクセスの要求410を送信する時、コレクションエージェント404は、クライアントノード402と通信し、クライアントノード402についての情報を検索し、アクセス制御サーバー406にクライアントノード情報412を送信する。一実施形態において、クライアントノード402は、ポリシーエンジン106がクライアントノード402に利用可能なリソースの一覧を示した後に、要求410を送信する。アクセス制御サーバー406は、受信した情報412にポリシーデータベース408からのポリシーを適用することによってアクセス制御の決定を行う。最後に、アクセス制御サーバー406は、クライアントノード402へのファイルコンテントの準備のために、アプリケーションサーバーファーム414にファイルタイプを送信する。コンピュータネットワーク400の追加の構成要素は、省略され、図4Bにさらに記述される。
【0052】
図4Bを参照すると、工程図は、クライアントノード402にファイルコンテントを提供するために、アクセス制御サーバー406とアプリケーションサーバーファーム414とによって取られたステップの一実施形態を図示する。アプリケーションサーバーファーム414の一部は、アプリケーションサーバー416である。
【0053】
一実施形態において、1度アクセス制御サーバー406が、クライアントノード402が要求されたファイルにアクセスすることを許可すると、アクセス制御サーバー406は、要求されたファイルに対するファイルタイプを決定する(ステップ452)。他の実施形態において、アプリケーションサーバー416は、要求されたファイルに対するファイルタイプを決定する。さらに他の実施形態において、アプリケーションサーバー416あるいはアクセス制御サーバー406以外のサーバーである。いくつかの実施形態において、ファイルタイプを決定するサーバーは、最初に、要求されたファイルを検索しなくてはならない。これらの実施形態のうちのいくつかにおいて、該ファイルは、ネットワーク境界424のファイルタイプを決定するサーバーと同じ側に位置付けられる。これらの実施形態のうちの他において、ファイルは、ネットワーク境界424の、クライアントノード402と同じ側に位置付けられる。これらの実施形態において、該方法および装置は、クライアントノードの能力を高め、さもなければアクセスできないリソースにアクセスさせるが、著作権のある情報に対する文書保護は提供しない。
【0054】
いくつかの実施形態において、ネットワーク境界424は、物理的に少なくとも2つのネットワークを分離する。他の実施形態において、ネットワーク境界424は、論理的に少なくとも2つのネットワークを分離する。一実施形態において、ネットワーク境界424は、ファイアウォールである。
【0055】
一実施形態において、ファイル拡張子は、ファイルタイプであり、ファイルタイプを決定するサーバーは、ファイルからファイル拡張子を抽出することによってそのように行っている。別の実施形態において、リソースフォークはファイルタイプである。ファイルタイプを決定した後、ファイルタイプを決定するサーバーは、クライアントノード402への検索および提示のために、アプリケーションサーバーファーム414にファイルタイプを送信する(ステップ454)。
【0056】
アプリケーションサーバー416は、アクセス制御サーバー406からファイルタイプを受信する(ステップ456)。いくつかの実施形態において、アプリケーションサーバー416は、そのファイルタイプに関係したアプリケーションプログラムを識別する。他の実施形態において、アクセス制御サーバー406は、そのファイルタイプに関係したアプリケーションプログラムを識別する。さらに他の実施形態において、アクセス制御サーバー406あるいはアプリケーションサーバー416以外のサーバーは、そのファイルタイプに関係したアプリケーションプログラムを識別する。
【0057】
一実施形態において、ファイルタイプに関係したアプリケーションプログラムを識別するサーバーは、アプリケーションプログラムに対する識別子を検索するためにアプリケーションデータベース418に照会する。いくつかの実施形態において、アプリケーションデータベース418は、レジストリファイルである。アプリケーションサーバー416あるいは別個のサーバーのどちらかがファイルタイプに基づいてアプリケーションタイプを識別する実施形態において、識別サーバーは、それからアクセス制御サーバー406にアプリケーションプログラムの識別子を送信する。いくつかの実施形態において、識別サーバーは、ネットワーク接続を介してアクセス制御サーバー406に識別子を送信する。
【0058】
いくつかの実施形態において、アクセス制御サーバー406あるいは別個のサーバーのいずれも、関係したアプリケーションプログラムの識別子を決定するために、ファイルタイプをアプリケーションサーバー416に送信する必要はない。これらの実施形態のうちの1つにおいて、アプリケーションサーバー416は、アクセス制御サーバー406に、ホストされるアプリケーションプログラムのリストおよびそれらのアプリケーションプログラムが関係したファイルタイプを送信する。これらの実施形態において、アクセス制御サーバー406は、送信されたリストから、ファイルタイプに関係したアプリケーションプログラムに対する識別子を検索する。
【0059】
アクセス制御サーバー406がアプリケーションプログラムの識別子を受信する時、アクセス制御サーバー406は実行可能ファイルを作り出し、クライアントノード402に送信する(ステップ458)。いくつかの実施形態において、実行可能ファイルは、アプリケーションプログラムの識別子を含む。いくつかの実施形態において、実行可能ファイルは、アプリケーションサーバーファーム414内のアプリケーションサーバーの識別子を含み、該アプリケーションサーバーファーム414はクライアントノード402にファイルのコンテントを提示する。いくつかの実施形態において、ファイルタイプと共に使用するためにアプリケーションプログラムを識別した同一のアプリケーションサーバー416は、クライアントノード402にファイルのコンテントを提示し得る。他の実施形態において、第2のアプリケーションサーバー420は、クライアントノード402にファイルのコンテントを提示する。一実施形態において、実行可能ファイルは、アプリケーションプログラムの識別子およびアプリケーションサーバーファーム414内のアプリケーションサーバーの識別子の両方を含み、これらはクライアントノード402にファイルのコンテントを提示し得る。いくつかの実施形態において、実行可能ファイルは、Citrix Systems, Inc. of Fort Lauderdale, Floridaから入手できる、Independent Computing Architecture(ICA)プロトコルのようなプレゼンテーション層プロトコルを使用して、クライアントノード402が、識別されたサーバーに接続可能にする。他の実施形態において、実行可能ファイルは、Microsoft Corporationによって製造された、Remote Desktop Protocol(RDP)を使用して、クライアントノード402が、識別されたサーバーに接続可能にする。他の実施形態において、プレゼンテーション層プロトコルは、より高位のプロトコルにラップされている。
【0060】
クライアントノード402は、アクセス制御サーバー406から実行可能ファイルを受信する。クライアントノード402は、実行ファイルで識別されたアプリケーションサーバー416と接続する(ステップ460)。一実施形態において、クライアントノード402は、ICAプロトコルを用いて、識別されたアプリケーションサーバー416と接続する。別の実施形態において、クライアントノード402は、RDPを用いて、識別されたアプリケーションサーバー416と接続する。
【0061】
アプリケーションサーバー416は、ファイルコンテントの提示のためにフォーマットを選択する(ステップ462)。他の実施形態において、アクセス制御サーバー406は、ファイルコンテントを提示するために使われるフォーマットを識別する。それらの実施形態において、アクセス制御サーバー406は、使用可能なフォーマットを識別するためにポリシーを適用し得る。いくつかの実施形態において、アプリケーションサーバー416は、クライアントノード402についての受信した情報に基づいてフォーマットを選択する。他の実施形態において、アプリケーションサーバー416は、受信した情報にポリシーを適用することによってフォーマットを選択する。
【0062】
アプリケーションサーバー416は、クライアントノード402の接続を受け付け、要求されたファイルを検索する(ステップ464)。一実施形態において、アプリケーションサーバー416は、ウェブサーバーからファイルを検索する。別の実施形態において、アプリケーションサーバー416はファイルサーバーからファイルを検索する。さらに別の実施形態において、検索されたファイルは電子メール付属物である。この実施形態において、アプリケーションサーバー416は、電子メールサーバーからファイルを検索する。いくつかの実施形態において、メールサーバーは、ロータスメールサーバーである。他の実施形態において、メールサーバーは、Outlookメールサーバー、あるいはOutlook Web Accessメールサーバーである。
【0063】
アプリケーションサーバー416は、それから、接続を介してクライアントノード402にファイルのコンテントを提示する(ステップ468)。一実施形態において、提示されたファイルコンテントは電子メール付属物を含む。
【0064】
図5を参照すると、本発明に従って組み立てられたコンピュータネットワーク500の一実施形態が図示され、これは、クライアントノード502と、コレクションエージェント504と、ポリシーエンジン506と、第1構成要素508と、第2構成要素512と、コンディションデータベース510と、ポリシーデータベース512と、変換サーバー516と、格納素子518とを含んでいる。簡潔な全体像において、クライアントノード502がポリシーエンジン506からリソースへのアクセスの要求522を送信する時、コレクションエージェント504は、クライアントノード502と通信し、クライアントノード502についての情報を検索し、ポリシーエンジン506にクライアントノード情報512を送信する。ポリシーエンジン506は、上記の図3で議論されたように、アクセス制御の決定を行う。1度ポリシーエンジン506が、クライアントノード502が要求されたファイルにアクセスすることを許可するように決定すると、ポリシーエンジン506は、変換サーバー516に、クライアントノード502への変換と提示のために要求を送信する。
【0065】
さらに詳細には、ポリシーエンジン506は、ファイルの変換されたコンテントのために、クライアントノード502から要求を受信する。一実施形態において、ポリシーエンジン506は、ファイルの変換されたコンテントをクライアントノード502に提示可能な変換サーバー516を識別する。いくつかの実施形態において、変換サーバー516は、ファイルの変換されたコンテントを提示可能であり、それは、変換サーバー516が、前に変換されたコンテントのコピーを含むからである。他の実施形態において、変換サーバー516は、ファイルの変換されたコンテントを提示可能であり、それは、変換サーバー516がほどなくファイルコンテントを変換する能力を有するからである。
【0066】
一実施形態において、ポリシーエンジン506は、変換サーバー516が以前にファイルのコンテントを変換したかどうかを決定するために格納素子518に照会することによって、変換サーバー516を識別する。その実施形態において、ポリシーエンジン506は、クライアントノード502に、格納素子518によって識別された変換サーバー518の識別子を送信する。他の実施形態において、どの変換サーバー516も、以前にコンテントを変換していない。これらの実施形態において、ポリシーエンジンは、その代わりに、ファイルのコンテントを現在において変換可能な変換サーバー516を識別し、変換サーバー516にクライアントノード502の要求を送信する。
【0067】
他の実施形態において、ポリシーエンジン506以外のサーバーは、クライアントにファイルの変換コンテントを提示可能な変換サーバー516を識別する。それらの実施形態のうちのいくつかにおいて、その同一のサーバーは、また、変換サーバー516にクライアントへのファイルの提示の要求を送信する。これらの実施形態のうちのいくつかにおいて、可能な変換サーバー516ルートを識別する同一のサーバーは、プロキシサーバーを介して変換サーバー516に要求を送信する。
【0068】
一実施形態において、変換サーバー516は、ポリシーエンジン506から、クライアントノード502への要求されたファイルのコンテントの変換および提示の要求を受信する。別の実施形態において、変換サーバー516は、ポリシーエンジン506以外のサーバーから要求を受信する。変換サーバー516は、ファイルを検索し、ネイティブフォーマットから第2のフォーマットにコンテントを変換する。変換サーバー516は、それから、クライアントノード502からの接続を受け付け、以前に変換されていなかった場合はコンテントを変換しながら、ファイルの変換されたコンテントを提示する。最後に、変換サーバー516は、格納素子518に、ファイルのコンテントおよびファイルの識別子を変換するサーバーの識別子を書き込む。
【0069】
図6を参照すると、工程図は、要求されたファイルのコンテントを変換し、クライアントノード502に変換したコンテントを提示するために、変換サーバー516によって取られたステップの一実施形態を図示する。
【0070】
変換サーバー516は、要求されたファイルのコンテントの変換およびクライアントノード502への提示の要求を受信する(ステップ600)。一実施形態において、変換サーバー516は、ネットワーク接続を介してこの要求を受信する。
【0071】
変換サーバー516は、要求されたファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換する(ステップ602)。一実施形態において、変換サーバー516は、ネイティブフォーマットから第2のフォーマットに、クライアント上の提示のために、正規の表現を用いてファイルのコンテントを変換する。別の実施形態において、変換サーバー516は、フォーマット変換ツールを含むネイティブフォーマットから第2のフォーマットに、ファイルのコンテントを変換する。別の実施形態において、変換サーバー516は、ネイティブフォーマットからHTMLにファイルのコンテントを変換する。別の実施形態において、変換サーバー516は、ファイルのコンテントを、ネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットはパーソナルデジタルアシスタント上で提示を可能にする。別の実施形態において、変換サーバー516は、ファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットは携帯電話上で提示を可能とする。別の実施形態において、変換サーバー516は、ファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットはラップトップコンピュータ上で提示を可能とする。別の実施形態において、変換サーバー516は、ファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットはインターネットキオスクで提示を可能とする。
【0072】
変換サーバー516は、格納素子518への変換についての識別情報を書き込む(ステップ604)。一実施形態において、識別情報は、変換サーバー516のための識別子、および変換されたファイルのための識別子を含む。いくつかの実施形態において、識別情報は、ファイルの変換されたコンテントを含む一時的なファイルを含む。それらの実施形態において、格納素子518は、変換されたファイルコンテントのグローバルキャッシュとして機能する。
【0073】
ポリシーエンジン506が、クライアントノード502のためにファイルの変換されたコンテントを提示可能である変換サーバー516を識別した後、ポリシーサーバー506は、変換サーバー516の識別子をクライアントノード502に送信する。クライアントノード502は識別子を受信し、変換サーバー516に接続する。変換サーバー516は、接続を受け入れ、接続を介して、クライアントノード502に、要求されたファイルの変換されたコンテントを提示する(ステップ606)。一実施形態において、クライアントノード502への提示後、変換サーバー516は、要求されたファイルの変換されたコンテントを保持する。
【0074】
図7を参照すると、本発明に従って組み立てられたコンピュータネットワーク700の一実施形態が図示され、これは、第1クライアントノード702と、コレクションエージェント704と、ポリシーエンジン706と、ポリシーデータベース708と、コンディションデータベース710と、第2クライアントコード716と、セッションサーバー720と、格納されたアプリケーションデータベース722と、アプリケーションサーバーファーム724と、第1アプリケーションサーバー726と、第1データベース728と、第2アプリケーションサーバー730と、第2データベース732とを含んでいる。簡潔な全体像において、第1クライアントノード702がアクセス制御サーバー706にリソースへのアクセスの要求712を送信すると、コレクションエージェント704は、クライアントノード702と通信し、クライアントノード702についての情報を検索し、ポリシーエンジン706にクライアントノード情報714を送信する。ポリシーエンジン706は、上記の図3に論じられるように、アクセス制御決定を行う。最後に、セッションサーバー720は、クライアントノード702とクライアントノード702に関係する複数のアプリケーションセッションとの間の接続を確立する。コンピュータネットワーク700の追加構成要素は、省略され、図7Bにさらに記述される。
【0075】
図7Bを参照すると、工程図は、クライアントノード702をその関係するアプリケーションセッションに接続するためにセッションサーバー720によって取られるステップの一実施形態を図示する。セッションサーバー720は、ポリシーエンジン706から、該ポリシーエンジン706が行ったアクセス制御決定を含む、クライアントノード702についての情報を受信する。一実施形態において、該情報は、また、クライアントノード情報714を含む。
【0076】
いくつかの実施形態において、ポリシーエンジン706は、既にクライアントノード702と関係する複数のアプリケーションセッションを識別する。他の実施形態において、セッションサーバー720は、クライアントノード702と関係する格納されたアプリケーションセッションを識別する。これらの実施形態のうちのいくつかにおいて、セッションサーバー720は、ポリシーエンジン706から情報を受信すると直ちに、自動的に、格納されたアプリケーションセッションを識別する。一実施形態において、格納されたアプリケーションデータベース722はセッションサーバー720上に存在する。別の実施形態において、格納されたアプリケーションデータベース722は、ポリシーエンジン706上に存在する。
【0077】
格納されたアプリケーションデータベース722は、アプリケーションセッションを実行する、アプリケーションサーバーファーム724内の複数のサーバーと関係するデータを含む。いくつかの実施形態において、クライアントノード702と関係するアプリケーションセッションを識別することは、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納データを参考にすることを必要とする。これらの実施形態のうちのいくつかにおいて、セッションサーバー720は、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納データを参考にする。これらの実施形態のうちの他のものにおいて、ポリシーエンジン706は、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータを参考にする。いくつかの実施形態において、第1アプリケーションセッションは、第1アプリケーションサーバー726上を走り、第2アプリケーションセッションは第2アプリケーションサーバー730上を走る。他の実施形態において、全てのアプリケーションセッションは、アプリケーションサーバーファーム724内の単一のアプリケーションサーバー上を走る。
【0078】
セッションサーバー720は、ユーザーによって開始されるアプリケーションセッションに関連した情報を含む。該セッションサーバーは、揮発性のあるいは不揮発性のメモリに格納され得、あるいは、例えば複数のサーバーを介して分散され得る。表7−1は、実例となるセッションサーバー720の一部に含まれるデータを示す。
【0079】
【表7−1】
表7−1の実例となるセッションサーバー720は、各々のアプリケーションセッションを、該アプリケーションセッションを開始したユーザーと関連させるデータ、もしあればユーザーが現在サーバー726に接続されているクライアントコンピュータ702あるいは716の識別、および、そのクライアントコンピュータ702aあるいは716のIPアドレス、を含む。実例となるセッションサーバー720は、また、各々のアプリケーションセッションのステータスを含む。アプリケーションセッションステータスは、例えば、「アクティブ」(ユーザーはアプリケーションセッションに接続されているという意)、あるいは「切断」(ユーザーはアプリケーションセッションに接続されていないという意)であり得る。代替的実施形態において、アプリケーションセッションステータスは、また、「実行、切断」(ユーザーはアプリケーションセッションから切断されているがアプリケーションセッション内のアプリケーションはまだ実行中であるの意)、あるいは「機能停止、切断」(ユーザーは切断され、アプリケーションセッション内のアプリケーションは実行していないが、切断の直前のアプリケーションのオペレーショナルステートは格納されているという意)に設定され得る。セッションサーバー720は、さらに、各々のアプリケーションセッション内で実行しているアプリケーション116を指す情報、およびサーバー上の各々のアプリケーションの処理を示すデータを格納する。サーバー726がサーバーファーム724の一部である実施形態において、セッションサーバー720は、少なくとも動的格納の一部であり、また、各々のアプリケーションがどのサーバーファーム内でのサーバーで実行している/していたかを示す、表1の最後の2行にあるデータ、およびそのサーバーのIPアドレスを含む。代替的実施形態において、セッションサーバー720は各々のアプリケーションセッション内の各々のアプリケーションに対するステータスインジケータを含む。
【0080】
例えば、表7−1の例において、3つのアプリケーションセッション、App Session1、App Sesson2、App Session3が存在する。App Session1は、ターミナル1を現在使用しているユーザー1と関係する。ターミナル1のIPアドレスは152.16.2.50である。App Session1のステータスはアクティブであり、App Session1でワードプロセッシングプログラムが実行されている。該ワードプロセッシングプログラムは、プロセスナンバー1としてServer A上で実行している。Server AのIPアドレスは152.16.2.55である。表1のApp Session2は、切断アプリケーションセッション118の例である。App Session2はユーザー2と関係するが、App Session2はクライアントコンピュータ702aあるいは716とは接続されていない。App Session2は、プロセスナンバー3としてIPアドレス152.16.2.55で、Server A上で実行しているデータベースプログラムを含む。App Sessoin3は、どのようにユーザーは、異なるサーバー726上で作動しているアプリケーションセッションと相互作用し得るかという例である。App Sessoin3は、App Session1と同じように、ユーザー1と関係する。App Sessoin3は、プロセスナンバー2としてIPアドレス152.16.2.56で、Server B上で実行している表計算プログラムを含み、それに対してApp Session1に含まれるアプリケーションセッションはServer A上で実行している。
【0081】
一実施形態において、セッションサーバー720は、切断要求を受信することによってクライアントノード702に関係するアプリケーションセッションを切断するように構成され、従って該要求に応答してアプリケーションセッションを切断する。セッションサーバー720は、アプリケーションセッションからクライアントノード702を切断した後もアプリケーションセッションを実行し続ける。この実施形態において、セッションサーバー720は、格納されたアプリケーションデータベース722にアクセスし、かつ、各々の切断されたアプリケーションセッションと関係するデータレコードを更新することにより、該レコードが、クライアントノード702と関係するアプリケーションセッションが切断されていると示すようにする。
【0082】
不完全なネットワーク接続、およびユーザーがアプリケーションセッションを自分自身で終了させることの失敗による、アプリケーションセッションの意図的ではない終了は、ユーザーにとっての問題点となり得る。本発明の一実施形態は、切断(ユーザーは、あたかもアプリケーションセッションを終了していないように扱われる)と終了(アプリケーションセッションに対する意図的な終了とみなされる)とを区別することによって、および、クライアントノードとは対照的に、アプリケーションセッションとユーザーとを相互に関連させることによって、これらの問題点を制限する。ユーザーが、アプリケーションセッションで動作しているアプリケーションを使用し終えると、ユーザーは、アプリケーションセッションを終了し得る。終了には通常、サーバーは、もはや、アプリケーションセッションを保持するべきではないことを示すユーザーの肯定的なインプットを伴う。そのように肯定的なユーザーインプットは、メニューから「エグジット」オプションを選択すること、アイコンをクリックすること、などを含み得る。終了要求を受信するセッションサーバー720に応答して、アプリケーションセッションの実行、および、そのアプリケーションセッション内の任意のアプリケーションは中断される。一実施形態において、アプリケーションセッションに関連するデータは、また、格納されたアプリケーションデータベース722から除去される。
【0083】
切断は、意図的であろうがなかろうが、他方では、アプリケーションセッションの終了にはならない。アプリケーションセッション内で作動している1つ、あるいは複数のアプリケーションは、サーバー720上で実行しているので、第1クライアントノード702への接続は、通常、アプリケーションの実行を継続する必要はなく、一実施形態において、該アプリケーションは、該ユーザーが接続するのを待つ間、実行を継続し得る。代替的実施形態において、ユーザーの切断後直ちに、セッションサーバー720は、アプリケーションセッション内で作動するアプリケーションの実行をストールさせる。つまり、セッションサーバー720は、アプリケーションのさらなる実行を中断し、セッションサーバー720は、アプリケーションのオペレーショナルステート、およびアプリケーションが処理中のあらゆるデータを格納する。さらなる実施形態において、セッションサーバー720は、ユーザーの切断後、特定のアプリケーションの実行を選択的にストールさせ得る。例えば、一実施形態において、セッションサーバー720は、固定時間の期間においてアプリケーションの実行を継続し、ユーザーがその時間の期間内に継続できなかった場合、セッションサーバー720はアプリケーションをストールさせる。別の実施形態において、セッションサーバー720は、ユーザーインプットなしでは実行を継続できない特定のアプリケーションセッションをストールさせる。上述の実施形態のそれぞれにおいて、第1クライアントノード702のユーザーがサーバー726から切断し、それから、第1クライアントノード702、第2クライアントノード716、あるいは第3クライアントコンピュータを作動させながらサーバー726に接続した場合、セッションサーバー720は、ユーザーに関係する、1つ以上の以前に開始された、終了していないアプリケーションセッションに、ユーザーによって操作されるクライアントコンピュータを接続し、あらゆるストールしたアプリケーションを再開し得る。
【0084】
一実施形態において、セッションサーバー720は、切断を検出する。ユーザーは、意図的に、かつ、手動でサーバーに命令して、ユーザーが通信しているクライアントノード702あるいはクライアントノード716からアプリケーションセッションを切断し得る。例えば、一実施形態において、アプリケーションセッションは、ユーザーが使用し得る切断のためのメニューオプションを(上記の終了から区別されるように)提供する。セッションサーバー720は、また、意図的ではない切断を検出し得る。例えば、一実施形態において、セッションサーバー720は、クライアントノード702あるいは716に送信された、予め決められた数のデータパケットがクライアントノード702あるいは716により認識されない場合は識別をする。別の実施形態において、クライアントノード702あるいは716は、サーバー726に定期的に信号を送信して、接続がそこなわれていないか確認する。セッションサーバー720が、クライアントノード702あるいは716から予め決められた数の予測される確認信号が到着していないと検出した場合、セッションサーバー720は、クライアントノード702あるいは716は切断していると決定する。セッションサーバー720が、ユーザーはアプリケーションセッションから、意図的であろうとなかろうと切断したと検出した場合、切断されたアプリケーションセッションに関連するセッションサーバー720内のエントリーは修正されて、接続を反映する。
【0085】
認証情報を受信した後、セッションサーバー720は、格納されたアプリケーションデータベース722を参考にして、ユーザーに関係するが、例えば第1クライアントノード702のような異なるクライアントノードに接続された、あらゆる活動状態のアプリケーションを識別する。一実施形態において、セッションサーバー720が、あらゆるそのようなアプリケーションセッションを識別した場合、セッションサーバー720は、自動的に、第1クライアントノード702からアプリケーションセッションを切断し、現在のクライアントコンピュータ716にアプリケーションセッションを接続する。いくつかの実施形態において、受信した認証情報は、クライアントノード702が再接続し得るアプリケーションセッションを限定し得る。一実施形態において、ユーザーは、セッションサーバーの自動参照、および単一のユーザーインターフェース素子の選択を伴う二次的接続を起動し得る。
【0086】
クライアントノード702と関係するアプリケーションセッションを識別した後、セッションサーバー720は、関係するアプリケーションセッションにクライアントノード702を接続する。セッションサーバー720は、複数のアプリケーションセッションのうちの各々がアクティブなのか切断されているかを決定する。一実施形態において、複数のアプリケーションセッションのうちの少なくとも1つはアクティブである。一実施形態において、複数のアプリケーションセッションのうちの少なくとも1つは切断されている。一実施形態において、セッションサーバー720は、自動的にアプリケーションアウトプットを受信する。別の実施形態において、アプリケーションアウトプットの受信は、単一のユーザーインターフェース素子のクライアントノード702選択によって起動される。セッションサーバー720は、受信した情報714に含まれるアクセス制御決定を基に、クライアントノード702を再接続すべき切断されたアプリケーションセッションを識別する。一実施形態において、あらゆる切断されたアプリケーションセッションを識別した時、セッションサーバー720は、ユーザーを促して接続が所望されるかどうかを指示させる。接続が所望されない場合、セッションサーバー720は、ユーザーを促して、切断されたアプリケーションセッションは切断されたままの状態であるべきか、あるいはアプリケーションセッションは終了させられるべきかを指示させる。
【0087】
一実施形態において、接続には、ユーザーがアプリケーションセッションに接続されているということを示し、かつ、どのクライアントノード702からユーザーがサーバーに接続されているかを示すために、格納されたアプリケーションデータベース722のエントリーを修正することが含まれる。接続すると直ぐに、サーバー726は、クライアントノード702あるいはクライアントノード716にアプリケーションアウトプットデータの送信を再開する。一実施形態において、クライアントノードに関係する複数のアプリケーションセッションは、接続より前に、クライアントノード702に接続されており、接続後、複数のアプリケーションセッションが第1クライアントノード702に再接続される。別の実施形態において、クライアントノードに関係する複数のアプリケーションセッションは、接続より前に、第1クライアントノード702に接続されており、接続後、複数のアプリケーションセッションが第2クライアントノード716に再接続される。
【0088】
以下の実例となる例は、上述の該方法および装置が、クライアントノードのためのファイルコンテントへのポリシーベースのアクセスを提供するためにどのように使用され得るかを示す。これらの例は例証となるように意図され、本発明を限定するものではない。
【0089】
証拠収集
一実施形態において、クライアントノード102は、ポリシーエンジン106が存在するネットワークと同一のネットワーク上に存在するサーバー上に位置するワードプロセッシング文書へのアクセスを要求する。ポリシーエンジン106は、要求を受信し、該要求は、クライアントノード102についての情報は何もないということを決定する。ポリシーエンジン106は、クライアントノード102にコレクションエージェント104を送信する。いくつかの実施形態において、コレクションエージェント104は、クライアントノードから収集する予め定義された情報を有する。他の実施形態において、コレクションエージェント104は、最初にクライアントノードを分析して、どのような種類の情報を収集するかを決定する。さらに他の実施形態において、コレクションエージェント104は、ポリシーエンジン106から、クライアントノード102についてのどのような情報について収集すべきか、という命令を検索する。
【0090】
1度クライアントノード102上で実行すると、コレクションエージェント104は必要な情報を収集し、ポリシーエンジン106に情報112を送信する。ポリシーエンジン106は、情報112を受信し、情報112はどのようなコンディションを満たすか決定する処理を開始する。いくつかの実施形態において、ポリシーエンジン106は、受信した情報112は、該情報112が1以上のコンディションを満たすかどうかを決定するには十分でないということを決定する。それらの実施形態において、ポリシーエンジン106は、クライエントノード102についてのより多くの情報を収集するために、コレクションエージェント104にさらなる命令を送信する。
【0091】
ポリシーベースのアクセス制御
ポリシーエンジン106の第1構成要素202が1以上のコンディションは満たされていると決定するので、それは、データセット内の各々の満たされたコンディションのための識別子を格納する。完了すると、第1構成要素202は、データセットおよび要求されたアプリケーションを第2構成要素210に送信する。この実施形態の例において、要求されたアプリケーションは、ワードプロセッシング文書であり得、満たされたコンディションは、クライアントデバイスはパーソナルデジタルアシスタントであるということを指示し得る。この実施形態の別の例において、要求されたアプリケーションは、表計算ソフトであり得、満たされたコンディションは、クライアントデバイスがパブリックインターネットキオスクのような不安定なネットワークから接続している信頼のあるラップトップであると指示し得る。この実施形態の第3の例において、要求されたアプリケーションは、電子メールメッセージに添付されたファイルであり得、満たされたコンディションは、クライアントデバイスは安全なネットワークから接続されているがファイルを見るには適切なアプリケーションを欠いているパーソナルデスクトップ上にあると指示し得る。
【0092】
第2構成要素210は、第1構成要素202からデータセットを受け取り、受信したデータに1つ以上のポリシーを適用する。この実施形態の一例において、第2構成要素210は、クライアントがそのアプリケーションソフトウエアを用いるコンディションが満たされない場合に、クライアントデバイスがパーソナルデジタルアシスタントである時、クライアントノードがファイルの変換されたコンテントを受け取ることを要求するポリシーを適用し得る。クライアントノードは、それから、変換サーバーに接続可能な実行可能ファイルを受信し得、クライアントデバイスタイプにアクセス可能なフォーマットでファイルのコンテントを提示し得る。このポリシーを適用することは、ビューイングに対する不適切なフォーム要因にもかかわらず、クライアントノードがファイルのコンテントを見ることを可能とする。
【0093】
この実施形態の別の例において、第2構成要素210は、クライアントデバイスタイプが信頼のあるラップトップであり、適切であるがインターネットキオスクのような不安定なネットワークからのアプリケーションソフトウエアを含む場合、クライアントノード210へのダウンロードを禁止するポリシーを適用し得る。この実施形態において、ポリシーは、ポリシーエンジン106が、ファイルコンテントの提示のためにアプリケーションサーバー416への接続を可能にするクライアントノード102に実行可能ファイルを送信することを要求し得る。この種類のポリシーを適用し、かつアプリケーションサーバー416のみへのファイルを検索することは、ファイルの占有コンテントを不適切な配布の危険にさらすことなく、クライアントノード102がファイルのコンテントを見ることを可能とする。
【0094】
この実施形態のさらに別の例において、第2構成要素210は、安全な接続を行っているが適切なアプリケーションソフトウエアを欠いているパーソナルデスクトップが、ICAセッションを介してアプリケーションサーバー416に接続するということ、および、アプリケーションサーバー416が適切なアプリケーションを実行し、かつ、クライアントノード102にファイルを提示するということを要求するポリシーを適用し得る。該ポリシーを適用することは、クライアントノード102上のアプリケーションソフトウエアの欠如に関わらず、クライアントノード102がファイルのコンテントを見ることを可能にする。
【0095】
本発明は、1つ以上の製品上に、あるいは内部に具体化される1つ以上のコンピュータ可読プログラムとして提供され得る。製品は、フロッピー(登録商標)ディスク、ハードディスク、コンパクトディスク、デジタルバーサタイルディスク、フラッシュメモリカード、PROM、RAM、ROM、あるいは磁気テープであり得る。通常、コンピュータ可読プログラムは、あらゆるプログラミング言語で実施され得る。用いられる言語のいくつかの例は、C、C++、C#、あるいはJAVA(登録商標)を含む。ソフトウエアプログラムは、オブジェクトコードとして1つ以上の製品上、あるいは内部に格納される。
【0096】
本発明は特定の好ましい実施形態と関連して示され、かつ、記述されてきたが、様々なフォームおよび詳細の変形が、上記の請求項によって定義される発明の精神と範囲から逸れることなくなされ得ることが当業者によって理解される。
【図面の簡単な説明】
【0097】
本発明のこれらの、および他の側面は、本発明を例示し、制限するものではない以下の詳細な記述および添付された図から容易に明白となり得る。
【図1A】図1Aは、本発明の図示された実施形態となる環境を実行するための適切な環境のブロック図である。
【図1B】図1Bおよび図1Cは本発明との接続に有用なコンピュータの実施形態を図示するブロック図である。
【図1C】図1Bおよび図1Cは本発明との接続に有用なコンピュータの実施形態を図示するブロック図である。
【図1D】図1Dは、ネットワークが、ネットワークリソースにアクセスを認めるポリシーベースのシステムを提供する、コンピュータネットワークの実施形態のブロック図である。
【図2】図2は、ポリシーエンジンの実施形態の詳細なブロック図である。
【図3】図3は、クライアントノードについての受信された情報を基にしてアクセス制御決定を行うポリシーエンジンによって取られたステップの一実施形態を図示するフロー図である。
【図4】図4は、ネットワークが、クライアントノードのためにファイルコンテントにポリシーベースのアクセスを提供する、コンピュータネットワークの実施形態のブロック図である。
【図4B】図4Bは、クライアントノードにファイルコンテントを提供するためにアプリケーションサーバーファームによって取られるステップの一実施形態を図示するフロー図である。
【図5】図5は、ネットワークが、リソースの変換されたコンテントへのアクセスを認めるコンピュータネットワークの一実施形態のブロック図である。
【図6】図6は、要求されたファイルのコンテントを変換し、変換されたコンテントをクライアントノードに提示するために、変換サーバーによって取られるステップの一実施形態を図示するフロー図である。
【図7】図7は、複数のアプリケーションセッションへの承認された遠隔アクセスが提供されるコンピュータネットワークの実施形態のブロック図である。
【図7B】図7Bは、クライアントノードを関係するアプリケーションセッションに接続するために、セッションサーバーによって取られるステップの一実施形態のブロック図である。
【技術分野】
【0001】
本発明は、承認された遠隔アクセスを複数のアプリケーションセッションに提供する方法および装置に関し、特に、承認された遠隔アクセスを、高められたセキュリティを実現した複数のアプリケーションセッションに提供する方法および装置に関する。
【背景技術】
【0002】
ネットワーク化されたリソースに遠隔アクセスを提供する技術は、様々なサーバー/クライアントのソフォトウエアの組み合わせを含む。Citrix Systems, Inc., Ft. Lauderdale, Floridaから入手可能な、Intelligent Computing Architecture(ICA)と通信するMetaFrameTMサーバーソフトウエア、およびX Consortiumから入手可能な、X Windows(登録商標)クライアントと通信するX Serversは、サーバー上で実行しているアプリケーションに遠隔アクセスを提供する2例である。
【0003】
コンピュータユーザーの行動および彼らのコンピュータが介して通信するネットワーク通信チャンネルの安定性は、しばしば予測不可能である。ネットワークユーザーは、彼らのワークプロダクトを完全にセーブすることや、彼らのシステムをシャットダウンすることを忘れているか、あるいはそうする機会を有しない間に、時にはコンピューティング環境を変える必要がある。他の場合において、通信チャンネルは突然故障し、あるいはコンピュータはクラッシュし、セッションが復元されなかったり配慮なく終了されたりした場合はワークプロダクトの損失に繋がる。
【0004】
コンピュータユーザーが1つのコンピューティング環境から別の環境へと移ると、アクセス制御の決定が変わり得る。既存の方法は、アクセスが変わらないセッションへのユーザーの速やかな再接続を提供せず、ユーザーが許可された環境に戻った時、将来の再接続のための未許可のセッションを保持したままである。
【発明の開示】
【発明が解決しようとする課題】
【0005】
コンピューティング環境のシフトを検出し、そのようなシフトの生ずるアクセス制御権利の変化を識別し、ユーザーを許可されたセッションのみに再接続する方法が所望される。
【課題を解決するための手段】
【0006】
本発明は、高められたセキュリティを実行する複数のアプリケーションセッションに、承認された遠隔アクセスを提供する方法および装置に関する。
【0007】
一側面において、本発明は、ユーザーに関係する情報を受信することを含む、複数(例えば2つ以上)のアプリケーションセッションに、承認された遠隔アクセスを提供する方法に関する。コレクションエージェントは該情報を収集し、それをポリシーエンジンに送信する。該ポリシーエンジンは該受信した情報に基づいてアクセス制御の決定を行う。一実施形態において、該ポリシーエンジンは、また、該情報に応答して該ユーザーと既に関係する複数のアプリケーションセッションを識別する。該方法は、また、該情報に応答して、識別された複数のアプリケーションセッションに、該ユーザーによって操作されるクライアントノードを接続することを含む。いくつかの実施形態において、複数のアプリケーションセッションがあり得、複数のアプリケーションセッションのうちのいくつかは、複数のサーバー上で走り得る。
【0008】
別の側面において、本発明は、リソースへの承認されたアクセスを認める方法および装置に関する。該装置は、2つの構成要素を含むポリシーエンジンを備える。該第1の構成要素は、クライアントノードについての情報を受信し、該情報からのデータセットを生成する。該第2の構成要素は該データセットを受信し、該第1構成要素に、受信した情報に基づいて該クライアントに入手可能なリソースの一覧を提供する。該第1構成要素は、該クライアントノードにリソースの一覧を提示する。
【0009】
一実施形態において、該第1の構成要素はコレクションエージェントから該情報を受信する。一実施形態において、各々の構成要素は、さらにデータベースを含む。該第1構成要素内の該データベースはコンディションを格納している。該第2構成要素内の該データベースはポリシーを格納している。該第1構成要素は、該受信した情報に該コンディションを適用し、該第2構成要素は、該受信したデータセットに該ポリシーを適用する。この実施形態において、該ポリシーは、該クライアントノードがアクセスし得るアプリケーションセッションを決定する。
【発明を実施するための最良の形態】
【0010】
(発明の詳細な説明)
本発明の実例となる実施形態は、遠隔ユーザーがコンテントのアクセスを要求する分散ネットワーキング環境に適用可能である。本発明の詳細を論議する前に、本発明の実例となる実施形態が用いられ得るいくつかのネットワーク環境について論議することが有用であり得る。
【0011】
図1Aは、本発明の実例となる実施形態を実施するには相応しい環境のブロック図である。クライアントノード102は、ウェブブラウザ110およびアプリケーションプログラム112a、112b...112nを含む。アプリケーションプログラムは、データを処理して出力を提供し、かつ、システムリソースへのアクセスのためにオペレーティングシステムを使用する任意のプログラムである。例示的なアプリケーションプログラムは、Microsoft Corporation of Redmond, Washingtonによって製造された、MICROSOFT WORDのようなワードプロセッシングアプリケーション、Microsoft Corporationによって製造された、MICROSOFT EXCELのような表計算プログラム、Microsoft Corporationによって製造された、MICROSOFT OUTLOOKのような電子メールプログラムおよびNovell Corp. of Provo, Utahによって製造されたGROUPWISE、およびSun Microsystems of Mountain View, Californiaによって製造されたSTAR OFFICEのような生産性スイートを含む。
【0012】
コンテントサーバー126は、コンテントファイル128を含み、付加的なコンテントファイル124および132を保持するデータストア122および130に、それぞれ接続され得る。当業者は、コンテントファイルを保持している他のネットワーク格納デバイスあるいはドキュメントレポジトリは、また、本発明の範囲から逸れることなく、コンテントサーバー126にネットワーク接続され得るということを認識し得る。クライアントノード102のユーザーは、ウェブブラウザ110を使用してコンテントサーバー126からのコンテントを要求することにより、図示されたハイパーテキストトランスポートプロトコルセキュア(HTTPS)要求115、あるいは、HTTP(ハイパーテキストトランスポートプロトコル)、FTP(ファイルトランスポートプロトコル)要求、あるいは、ファイル共用のオペレーションのためにSMB(サーバー管理ブロックプロトコル)要求のような要求を送り得る。
【0013】
多くの実施形態において、コンテントサーバー126、クライアントノード102、およびプロキシサーバー120は、Hewlett−Packard Corporation of Palo Alto, CaliforniaあるいはDell Corporaiton of Round Rock, TXによって製造された種類のパーソナルコンピュータ、あるいはコンピュータサーバーとして提供される。図1Bおよび図1Cは、これらの実施形態においてコンテントサーバー126、プロキシサーバー120、あるいはクライアントノード102として有用である典型的なコンピュータ100のブロック図を図示する。図1Bおよび図1Cに示されるように、それぞれのコンピュータ100は、中央処理装置102、主記憶装置104を含む。それぞれのコンピュータ100は、また、他のオプションの構成要素、例えば1つ以上のインプット/アウトプットデバイス130a〜130n(通常、参照番号130を用いて言及する)、および中央処理装置102と通信するキャッシュメモリ140を含み得る。
【0014】
中央処理装置102は、主記憶装置104から取り出された命令に応答し、かつ処理する任意のロジック回路構成である。多くの実施形態において、中央処理装置は、マイクロプロセッサユニット、例えばIntel Corporation of Mountain View, Californiaによって全て製造された、8088、80286、80386、80486、Pentium(登録商標)、Pentium(登録商標) Pro、Pentium(登録商標) II、Celeron、あるいはXeonプロセッサ;Motorola Corporatoin of Schaumburg, Illinoisによって全て製造された、68000、68010、68020、68030、68040、PowerPC601、PowerPC604,PowerPC604e、MPC603e、MPC603ei、MPC603ev、MPC603r、MPC603p、MPC740、MPC745、MPC750、MPC755、MPC7400、MPC7410、MPC7441、MPC7445、MPC7447、MPC7450、MPC7451、MPC7455、MPC7457プロセッサ;Transmeta Corporation of Santa Clara, Californiaによって全て製造された、Crusoe TM5800、Crusoe TM5600、Crusoe TM5500、Crusoe TM5400、Efficeon TM8600、Efficeon TM8300、あるいはEfficeon TM8620プロセッサ;International Business Machines of White Plains, New Yorkによって全て製造された、RS/6000プロセッサ、RS64、RS64II、P2SC、POWER3、RS64III、POWER3−II、RS64IV、POWER4、POWER4+、POWER5、あるいは、POEWR6プロセッサ;あるいは、Advanced Micro Devices of Sunnyvale, Californiaによって製造された、AMD Opteron、AMD Athalon64FX、AMD Athalon,あるいはAMD Duronプロセッサ、などによって提供される。
【0015】
主記憶装置104は、データを格納すること、および、任意の格納場所がマイクロプロセッサ102によって直接にアクセスされることを許可することが可能な1つ以上のメモリチップであり得、例えば、スタティックランダムアクセスメモリ(SRAM)、バーストSRAMあるいはSynchBurst SRAM(BSRAM)、ダイナミックランダムアクセスメモリ(DRAM)、ファストページモードDRAM(FPM DRAM)、エンハンストDRAM(EDRAM)、拡張データアウトプットRAM(EDO RAM)、拡張データアウトプットDRAM(EDO DRAM)、バースト拡張データアウトプットDRAM(BEDO DRAM)、エンハンストDRAM(EDRAM)、シンクロノスDRAM(SDRAM)、JEDEC SRAM、PC100 SDRAM、ダブルデータレートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、SyncLink DRAM(SLDRAM)、ダイレクトランバスDRAM(DRDRAM)、あるいは強誘電体RAM(FRAM)を含む。
【0016】
図1Bに示される実施形態において、プロセッサ102は、システムバス120を介してメインメモリ104と通信する(以下に詳述)。図1Cは、プロセッサがメモリポートを介してメインメモリ104と直接に通信する、コンピュータシステム100の実施形態を図示する。例えば、図1Cにおいて、メインメモリ104はDRDRAMであり得る。
【0017】
図1Bおよび図1Cは、メインプロセッサ102が、時に「バックサイド」バスと呼ばれる第2のバスを介して、キャッシュメモリ140と直接に通信する実施形態を図示する。他の実施形態において、メインプロセッサ102は、システムバス120を用いてキャッシュメモリ140と通信する。キャッシュメモリ140は、通常、メインメモリ104よりも早い応答時間を有し、通常はSRAM、BSRAM、あるいはEDRAMによって提供される。
【0018】
図1Bに示される実施形態において、プロセッサ102は、ローカルシステムバス120を介して様々なI/Oデバイス130と通信する。様々なバスは、中央処理装置102をI/Oデバイス130に接続するのに用いられ得、該バスには、VESA VLバス、ISAバス、EISAバス、MicroChannel Architecture(MCA)バス、PCIバス、PCI−Xバス、PCI−Expressバス、あるいはNuBusを含む。I/Oデバイスがビデオディスプレイである実施形態では、プロセッサ102は、ディスプレイと通信するためにアドバンストグラフィックポート(AGP)を使用し得る。図1Cは、メインプロセッサ102が、HyperTransport、RapidI/O、あるいはInfiniBandを介して、直接にI/Oデバイス130bと通信するコンピュータシステム100の実施形態を図示する。図1Cは、また、ローカルバスと直接通信とが混ざっている実施形態を図示し、プロセッサ102は、ローカルインターコネクトバスを使用してI/Oデバイス130aと通信し、その一方で、直接にI/Oデバイス130bと通信する。
【0019】
多種多様なI/Oデバイス130がコンピュータシステム100に存在し得る。インプットデバイスは、キーボード、マウス、トラックパッド、トラックボール、マイクロフォン、およびドローイングタブレットを含む。アウトプットデバイスは、ビデオディスプレイ、スピーカー、インクジェットプリンタ、レーザープリンタ、および染料昇華型プリンタを含む。I/Oデバイスは、また、コンピュータシステム100のための大容量記憶装置を提供し得、例えばハードディスクドライブ、3.5インチ、5.25インチ、あるいはZIPディスクのようなフロッピー(登録商標)ディスクを受け取るためのフロッピー(登録商標)ディスクドライブ、CD−ROMドライブ、CD−R/RWドライブ、DVD−ROMドライブ、様々なフォーマットのテープドライブ、および、Twintech Industry,Inc. of Los Alamitos, Californiaによって製造された、USBFlash Driveの類のデバイスのようなUSB記憶デバイスなどである。
【0020】
さらなる実施形態において、I/Oデバイス130は、システムバス120と外部の通信バスとの間のブリッジであり得、それらはUSBバス、Apple Desktop Bus、RS−232シリアルコネクション、SCSIバス、FireWireバス、FireWire800バス、イーサネット(登録商標)バス、Apple Talkバス、ギガビットイーサネット(登録商標)バス、非同期トランスファーモードバス、HIPPIバス、スーパーHIPPIバス、SerialPlusバス、SCI/LAMPバス、FibreChannelバス、あるいはシリアルアタッチトスモールコンピュータシステムインターフェースバスなどである。
【0021】
図1Bおよび図1Cに図示される種類の汎用デスクトップコンピュータは、通常、オペレーティングシステムの制御下で作動し、該オペレーティングシステムはタスクのスケジューリングを制御し、かつ、システムリソースにアクセスする。通常、典型的なオペレーティングシステムは、とりわけMicrosoft Corp. of Redmond, Washingtonによって製造されたMICROSOFT WINDOWS(登録商標);Apple Computer of Cupertino, Californiaによって製造されたMacOS;International Business Machines of Armonk, New Yorkによって製造されたOS/2;Caldera Corp of Salt Lake City, Utahによって配布される自由に入手可能なオペレーティングシステムのLinux、が含まれる。
【0022】
クライアントノード102は、任意のパーソナルコンピュータ(例えば、286、386、486、Pentium(登録商標)、Pentium(登録商標)II、Macintoshコンピュータ)、Windows(登録商標)ベースのターミナル、ネットワークコンピュータ、ワイヤレスデバイス、情報器具、RISC Power PC、X−デバイス、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、パーソナルデジタルアシスタント、あるいは、小さな、ディスプレイプレゼンテーションプログラムを実行するための、Windows(登録商標)ベースのデスクトップおよび十分な固定ストレージを有する他のコンピューティングデバイスであり得る。ディスプレイプレゼンテーションプログラムは、通信チャンネルを越えて該ディスプレイプレゼンテーションプログラムに送られてきたコマンドおよびデータを使用してグラフィック表示を表現する。クライアントノード102にサポートされるWindows(登録商標)志向のプラットフォームは、制限無く、WINDOWS(登録商標)3.x、WINDOWS(登録商標)95、WINDOWS(登録商標)98、WINDOWS(登録商標) NT3.51、WINDOWS(登録商標) NT4.0、WINDOWS(登録商標)2000、WINDOWS(登録商標) CE、MAC/OS、Java(登録商標)、およびUNIX(登録商標)を含み得る。クライアントノード102は、ビジュアルディスプレイデバイス(例えば、コンピュータモニタ)、データ入力デバイス(例えば、キーボード)、ダウンロードしたアプリケーションプログラムを格納するための固定あるいは揮発性記憶装置(例えば、コンピュータメモリ)、プロセッサ、およびマウスを含み得る。小さな、ディスプレイプレゼンテーションプログラムの実行は、クライアントノード102が分散型コンピュータシステムモデルに参加することを可能とする(例えば、サーバーベースのコンピューティングモデル)。
【0023】
クライアントノード102がモバイルデバイスである実施形態では、該デバイスは、JAVA(登録商標)を使用可能な携帯電話であり得、それらは、Motorola Corp. of Schaumburg, Illinoisによって全て製造された、i50sx、i55sr、i58sr、i85s、i88s、i90c、i95cl、あるいはim11000、Kyocera of Kyoto, Japanによって製造された、6035、あるいは7135、Samsung Electronics Co., Ltd., of Seoul, Koreaによって製造された、i300、あるいはi330などである。クライアントノード102がモバイルである他の実施形態において、該クライアントノード102は、PalmOSオペレーティングシステムの制御下で作動するパーソナルデジタルアシスタント(PDA)であり得、例えばpalmOne,Inc. of Milpitas, Californiaによって全て製造された、Tungsten W、 VII、VIIx、i705、などである。さらなる実施形態において、クライアントノード102は、PocketPCオペレーティングシステムの制御下で作動するパーソナルデジタルアシスタント(PDA)であり得、例えばHewlett−Packard Corporation of Palo Alto, Californiaによって全て製造された、iPAQ4155、iPAQ5555、iPAQ1945、iPAQ2215、およびiPAQ4255、ViewSonic of Walnut, Californiaによって製造された、ViewSonic V36、あるいはToshiba America, Inc. of New York, New Yorkによって製造された、Toshiba PocketPC e405などである。さらなる他の実施形態において、該クライアントノードは、コンビネーションPDA/電話デバイスであり、全てpalmOne,Inc. of Milpitas, Californiaによって製造された、Treo 180、Treo 270、あるいはTreo 600などである。またさらなる実施形態において、クライアントノード102は、PocketPCオペレーティングシステムの制御下で作動する携帯電話であり、Motorola Corp.によって製造された、MPx200などである。
【0024】
図1Dを参照すると、本発明に従って組み立てられたコンピュータネットワーク100の一実施形態が図示され、これにはクライアントノード102、コレクションエージェント104、ポリシーエンジン106、ポリシーデータベース108、アプリケーションサーバーファーム114、およびアプリケーションサーバー116を含む。単一のクライアントノード102、コレクションエージェント104、ポリシーエンジン106、アプリケーションサーバーファーム114、およびアプリケーションサーバー116のみが図1Dに示される実施形態に図示されているが、該システムは、これらの構成要素のあらゆる、あるいは各々の複数を提供し得る、ということが理解される。例えば、一実施形態において、システム100は、複数の論理的にグループ分けされたアプリケーションサーバー116を含み、これらの各々はクライアントノード102に代わってアプリケーションを実行するために利用できる。これらの実施形態において、論理的グループのサーバーは、「サーバーファーム」と呼ばれ得る。これらの実施形態のいくつかにおいて、該サーバーは、地理的に分散され得る。
【0025】
簡潔な全体像において、クライアントノード102がリソースにアクセスするためのポリシーエンジン106に要求110を送信すると、コレクションエージェント104はクライアントノード102と通信し、クライアントノード102についての情報を取り出し、ポリシーエンジン106にクライアントノード情報112を送信する。ポリシーエンジン106は、受信情報112にポリシーデータベース108からのポリシーを適用することによって、アクセス制御の決定を行う。
【0026】
さらに詳細に述べると、クライアントノード102は、ポリシーエンジン106にリソースに対する要求110を送信する。いくつかの実施形態において、クライアントノード102はネットワーク接続を介して要求110を送信する。該ネットワークは、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、あるいはインターネットのようなワイドエリアネットワーク(WAN)であり得る。クライアントノード102およびポリシーエンジン106は、一般電話回線、LANあるいはWANリンク(例えば、T1、T3、56kb、X.25)、ブロードバンド接続(ISDN、フレームリレイ、ATM)、およびワイヤレス接続を含む様々な接続方法を介してネットワークに接続し得る。クライアントノード102とポリシーエンジン106との間の接続は、様々なデータリンク層通信プロトコル(例えば、TCP/IP、IPX、SPX、NetBIOS、NetBEUI、SMB、イーサネット(登録商標)、ARCNET、Fiber Distributed Data Interface(FDDI)、RS232、IEEE802.11、IEEE802.11a、IEE802.11b、IEEE802.11g、および直接非同期接続)を使用し得る。
【0027】
要求を受け取ると、ポリシーエンジン106はコレクションエージェント104によって情報収集を開始する。コレクションエージェント104は、クライアントノード102に関する情報を収集し、ポリシーエンジン106に情報112を送信する。
【0028】
いくつかの実施形態において、コレクションエージェント104は、ネットワーク接続を介して情報112を収集し、送信する。いくつかの実施形態において、コレクションエージェント104は、バイトコードプログラミング言語JAVA(登録商標)で書かれたアプリケーションのような、バイトコードを含む。いくつかの実施形態において、コレクションエージェント104は少なくとも1つのスクリプトを含む。それらの実施形態において、コレクションエージェント104は、クライアントノード102上に少なくとも1つのスクリプトを走らせることによって情報を収集する。いくつかの実施形態において、コレクションエージェントは、クライアントノード102上にアクティブXコントロールを含む。アクティブXコントロールは、コントロールの様に見せかけ、行動することを可能とするインターフェースのセットを実施する、特殊化されたCOM(コンポーネントオブジェクトモデル)オブジェクトである。
【0029】
いくつかの実施形態において、コレクションエージェント104は、クライアントノード上で実行する。他の実施形態において、コレクションエージェント104はポリシーエンジン106上に存在する。さらに他の実施形態において、コレクションエージェント104は、サーバーに存在する。他の実施形態において、ポリシーエンジン106はサーバー上に存在する。これらの実施形態のいくつかにおいて、コレクションエージェント104は、ポリシーエンジン106上、およびサーバー上の両方に存在する。
【0030】
一実施形態において、ポリシーエンジン106は、クライアントノード102にコレクションエージェント104を送信する。一実施形態において、コレクションエージェント104がポリシーエンジン106に情報112を送信した後、ポリシーエンジン106はコレクションエージェント104の第2の実行を要求する。この実施形態において、ポリシーエンジン106は、クライアントノード102が特定の状況を満たすかどうかを決定するには不十分な情報112を有し得る。他の実施形態において、ポリシーエンジン106は、受信情報112に応答してコレクションエージェント104の複数の実行を要求する。
【0031】
いくつかの実施形態において、ポリシーエンジン106は、コレクションエージェント104に、コレクションエージェント104が収集する情報タイプを決定する命令を送信する。それらの実施形態において、システムアドミニストレーターは、ポリシーエンジン106からコレクションエージェント104に送信された命令を構成し得る。このことによって、集められる情報タイプを超えるより多くの制御を提供する。このことは、また、集められた情報タイプを超える多くの制御に起因して、ポリシーエンジン106がなすアクセス制御の決定タイプを広げる。コレクションエージェント104は情報112を収集し、該情報112は、制限無く、クライアントノードの機械ID、オペレーティングシステムタイプ、オペレーティングシステム上のパッチの存在、インストールされたネットワークカードのMACアドレス、クライアントデバイスのデジタルウォーターマーク、アクティブディレクトリ内のメンバーシップ、ウイルススキャナーの存在、パーソナルファイアウォールの存在、HTTPヘッダー、ブラウザタイプ、デバイスタイプ、ネットワーク接続情報、および認証証明、が含まれる。
【0032】
いくつかの実施形態において、デバイスタイプは、パーソナルデジタルアシスタントである。他の実施形態において、デバイスタイプは携帯電話である。他の実施形態において、デバイスタイプはラップトップコンピュータである。他の実施形態において、デバイスタイプはデスクトップコンピュータである。他の実施形態において、デバイスタイプはインターネットキオスクである。
【0033】
いくつかの実施形態において、デジタルウォーターマークはデータ埋込みを含む。いくつかの実施形態において、ウォーターマークは該ファイルについてのソース情報を提供するために、ファイルに差し込まれたデータのパターンを含む。他の実施形態において、改ざん検出を提供するために、ウォーターマークはデータハッシングファイルを含む。他の実施形態において、ウォーターマークはファイルについての情報に著作権を提供する。
【0034】
いくつかの実施形態において、ネットワーク接続情報は、帯域幅性能に関係する。他の実施形態において、ネットワーク接続情報は、インターネットプロトコルアドレスに適用される。さらに他の実施形態において、ネットワーク接続情報は、インターネットプロトコルアドレスから構成される。一実施形態において、ネットワーク接続情報は、クライアントノードが認証証明を提供したログオンエージェントを識別するネットワークゾーンを含む。
【0035】
いくつかの実施形態において、認証証明は、多くのタイプの認証情報を含み、制限無く、ユーザー名、クライアント名、クライアントアドレス、パスワード、PIN、ボイスサンプル、一回限りパスコード、生物測定のデータ、デジタル証明、チケット、など、およびそれらの組み合わせを含む。収集された情報112を受信した後、ポリシーエンジン106は、収集された情報112に基づいてアクセス制御の決定を行う。
【0036】
図2を参照すると、これはポリシーエンジン200の一実施形態のブロック図であり、コンディションデータベース204およびログオンエージェント206を備える第1構成要素202を含み、かつ、ポリシーデータベース212を備える第2構成要素210を含む。第1構成要素202は、コンディションデータベース204からのコンディションをクライアントノード102についての受信情報に適用し、受信情報がコンディションを満たすかどうかを決定する。
【0037】
いくつかの実施形態において、第1構成要素202および第2構成要素210は論理的には個別のものであるが、物理的には別個ではない。いくつかの実施形態において、第1構成要素202および第2構成要素210は、論理的に、および物理的に別個である。いくつかの実施形態において、コンディションデータベース204は第1構成要素202上に存在する。他の実施形態において、コンディションデータベース204は第2構成要素210上に存在する。
【0038】
いくつかの実施形態において、コンディションは、クライアントノード102が特定のオペレーティングシステムを実行してコンディションを満たすことを要求し得る。いくつかの実施形態において、コンディションは、クライアントノード102が特定のオペレーティングシステムパッチを実行してコンディションを満たすことを要求し得る。さらに他の実施形態において、コンディションは、クライアントノード102が各々のインストールされたネットワークカードに対するMACアドレスを提供してコンディションを満たすことを要求し得る。いくつかの実施形態において、コンディションは、クライアントノード102が特定のアクティブディレクトリ内のメンバーシップを指示してコンディションを満たすことを要求し得る。別の実施形態において、コンディションは、クライアントノード102がウイルススキャナーを実行してコンディションを満たすことを要求し得る。他の実施形態において、コンディションは、クライアントノード102がパーソナルファイアウォールを実行してコンディションを満たすことを要求し得る。いくつかの実施形態において、コンディションは、クライアントノード102が特定のデバイスタイプを含んでコンディションを満たすことを要求し得る。他の実施形態において、コンディションは、クライアントノード102がネットワーク接続の特定の種類を確立してコンディションを満たすことを要求し得る。
【0039】
受信情報がコンディションを満たす場合、第1構成要素202は、データセット208にそのコンディションに対する識別子を格納する。一実施形態において、情報がコンディションを真のものにする場合、受信情報はコンディションを満たす。例えば、コンディションは、特定のオペレーティングシステムがインストールされることを要求し得る。クライアントノード102がそのオペレーティングシステムを有する場合、コンディションは真であり、満たされる。別の実施形態において、情報がコンディションを偽りのものにする場合、受信情報はコンディションを満たす。例えば、クライアントノード102上にスパイウエアが存在するかどうかを示し得る。クライアントノード102がスパイウエアを含まない場合、コンディションは偽りであり、満たされる。
【0040】
いくつかの実施形態において、ログオンエージェント206は、ポリシーエンジン200の外側に存在する。他の実施形態において、ログオンエージェント206は、ポリシーエンジン200上に存在する。一実施形態において、第1構成要素202は、ログオンエージェント206を含み、該ログオンエージェント206はクライアントノード102についての情報収集を開始する。いくつかの実施形態において、ログオンエージェント206は、さらにデータストアを含む。これらの実施形態において、データストアは、コレクションエージェントが情報を収集し得るコンディションを含む。このデータストアは、コンディションデータベース204とは異なるものである。
【0041】
いくつかの実施形態において、ログオンエージェント206は、コレクションエージェント104を実行することによって情報収集を開始する。他の実施形態において、ログオンエージェント206は、クライアントノード102上の実行のためにクライアントノード102にコレクションエージェント104を送信することによって、情報収集を開始する。さらに他の実施形態において、ログオンエージェント206は、情報112を受信した後、追加の情報収集を開始する。一実施形態において、ログオンエージェント206は、また、情報112を受け取る。この実施形態において、ログオンエージェント206は、受信情報112に基づいてデータセット208を生成する。いくつかの実施形態において、ログオンエージェント206は、データベース204からのコンディションをコレクションエージェント104から受信した情報に適用することによって、データセット208を生成する。
【0042】
別の実施形態において、第1構成要素202は複数のログオンエージェント206を含む。この実施形態において、複数のログオンエージェント206のうちの少なくとも1つは、クライアントノード102がリソース要求を送信する各々のネットワークドメインに存在する。この実施形態において、クライアントノード102は、特定のログオンエージェント206にリソース要求を送信する。いくつかの実施形態において、ログオンエージェント206は、ポリシーエンジン200に、クライアントノード102がログオンエージェント206にアクセスしたネットワークドメインを送信する。一実施形態において、クライアントノード102がログオンエージェント206にアクセスするネットワークドメインは、クライアントノード102のネットワークゾーンと呼ばれる。
【0043】
コンディションデータベース204は、第1構成要素202が受信情報に適用するコンディションを格納する。ポリシーデータベース212は、第2構成要素210が受信したデータセットに適用するポリシーを格納する。いくつかの実施形態において、コンディションデータベース204およびポリシーデータベース212は、ODBC準拠のデータベースにデータを格納する。例えば、コンディションデータベース204およびポリシーデータベース212は、Oracle Corporation of Redwood Shores, Calif.によって製造された、ORACLEデータベースとして提供され得る。他の実施形態において、コンディションデータベース204およびポリシーデータベース212は、Microsoft Corporation of Redmond, Wash.によって製造された、Microsoft ACCESSデータベース、あるいはMicrosoft SQLサーバーデータベースであり得る。
【0044】
第1構成要素202がコンディションデータベース204内の各々のコンディションに受信情報を適用した後、第1構成要素は第2構成要素210にデータセット208を送信する。一実施形態において、第1構成要素202は、第2構成要素210にデータセット208のみを送信する。従って、この実施形態において、第2構成要素210は情報112を受信せず、満たされたコンディションに対する識別子のみを受信する。第2構成要素210はデータセット208を受信し、データセット208内で識別されたコンディションに基づいて、ポリシーデータベース212からポリシーを適用することによって、アクセス制御の決定を行う。
【0045】
一実施形態において、ポリシーデータベース212は受信情報112に適用されたポリシーを格納する。一実施形態において、ポリシーデータベース212に格納されたポリシーは、システムアドミニストレーターによって、少なくとも部分的に、特定される。別の実施形態において、ユーザーは、ポリシーデータベース212に格納されたポリシーの少なくともいくつかを特定する。ユーザー特定の1つ、あるいは複数のポリシーは、優先度として格納される。ポリシーデータベース212は、揮発性の、あるいは不揮発性のメモリに格納され得、あるいは、例えば複数のサーバーを介して分配され得る。
【0046】
一実施形態において、ポリシーは、1つ以上のコンディションが満たされる場合のみにリソースへのアクセスを許可する。別の実施形態において、ポリシーは、リソースへのアクセスを許可するが、クライアントノード102へのリソースの送信を禁止する。ポリシーデータベース212に格納されたポリシーのうちの1つは、切断されたアプリケーションセッションへの自動接続を要求し、あるいは禁じ得る。しかし、別のポリシーは、接続を、安全なネットワーク内でのアクセスを要求するクライアントノード102に依存するものとし得る。別のポリシーは、別のクライアントノード102に現時点で接続されているアクティブアプリケーションセッションへの自動接続を要求し得、あるいは禁じ得る。さらなるポリシーは、ユーザー承認を受信した後のみにアプリケーションセッションへの接続を許可し得る。別のポリシーは、切断後の所定時間の間にのみ接続を許可し得る。さらに別のポリシーは、特定のアプリケーションを含むアプリケーションセッションへの接続のみを許可する。1つのポリシーは、要求されたファイルの変換したコンテントのみを見ることを許可し得る。ポリシーは、要求されたファイルのHTMLバージョンのみを見ることを許可し得る。いくつかの実施形態において、リソースへのアクセスは、クライアントノード102へのファイルのダウンロードが妨げられている間に提供される。これはいくつかの方法で達成され得、ビュアーオンリーフォーマットへのファイルコンテントの変換と、ウェブブラウザによって見るHTMLへファイルコンテントを変換することと、クライアントノード102によってホストされているアプリケーションを使用する代わりにサーバーファーム内のサーバーによってホストされているアプリケーションを使用し、あるいは、米国特許出願第10/931405号に記載された種類のシステムを使用することにより、ファイルを開くためのファイルタイプアソシエーションの使用とを含み、該出願の内容は本明細書中に参考として援用される。
【0047】
上記のいくつかの実施形態において、本方法および装置は占有情報に対する文書保護を提供する。これらの実施形態において、ポリシーエンジン106がクライアントノード102にリソースへのアクセスを認めない限り、クライアントノードはネットワーク化されたリソースにアクセスし得ない。これらの実施形態のうちの1つにおいて、ポリシーエンジン106は単一の露出されたネットワーク要素であり、クライアントノード102が、ネットワーク化したリソースにアクセスするためにポリシーエンジン106にアクセスしなくてはならないということを確実にしている。これらの実施形態のうちのもう1つにおいて、ポリシーエンジン106の後で、ネットワーク化したリソースにアクセスするために使用されたURLは、クライアントノード102による直接アクセスを防ぐために書き直される。上述の実施形態のうちのその他において、該方法および装置は、そうでなければアクセスできないリソースにアクセスするクライアントノードの能力を高める。上述の実施形態のうちのいくつかにおいて、該方法および装置は、占有情報の保護および高められたクライアントノードの能力の両方を提供する。
【0048】
図3を参照すると、工程図は、クライアントノード102について受信した情報に基づいてアクセス制御の決定をするために、ポリシーエンジン106によって取られたステップの一実施形態を図示している。クライアントノード102について収集された情報を受け取る(ステップ350)と直ぐに、ポリシーエンジン106は、該情報に基づいてデータセットを生成する(ステップ352)。いくつかの実施形態において、ポリシーエンジン106は、コレクションエージェント104から、クライアントノード102についてのさらなる情報を要求する。これらの実施形態において、ポリシーエンジン106は、クライアントノード102でコレクションエージェント104の2以上の実行を要求する。それらの実施形態において、ポリシーエンジン106は、追加で要求された情報を受信した後に、データセット208を生成する。これらの実施形態において、ポリシーエンジン106は、クライアントノード102が特定のコンディションを満たすかどうか決定するための不十分な情報112を有し得る。これらの実施形態のうちのその他において、コンディションは不確定であり得る。コンディションが不確定である実施形態のいくつかにおいて、コレクションエージェントは、コンディションを満たすのに必要とされる情報を収集できないかもしれない。
【0049】
データセット208は、受信した情報112によって満たされた各々のコンディションに対する識別子を含む。次に、ポリシーエンジン106は、データセット208内で各々の識別されたコンディションにポリシーを適用する。そのアプリケーションは、クライアントノード102がアクセスし得るリソースの一覧を作り出す(ステップ354)。一実施形態において、リソースは著作権を有するデータを含む。いくつかの実施形態において、リソースはウェブページを含む。他の実施形態において、リソースはワード処理の文書を含む。さらに他の実施形態において、リソースは表計算ソフトを含む。いくつかの実施形態において、一覧は、クライアントノード102がアクセスし得るリソースのサブセットのみを含む。ポリシーエンジン106は、それから、その一覧をクライアントノード102に示す。いくつかの実施形態において、ポリシーエンジン106は、クライアントノードに一覧を示すのに用いられたHypertext Markup Language(HTML)文書を作る。
【0050】
図4を参照すると、本発明に従って組み立てられたコンピュータネットワーク400の一実施形態が図示されており、クライアントノード402と、コレクションエージェント404と、アクセス制御サーバー406と、ポリシーデータベース408と、アプリケーションサーバーファーム414と、第1アプリケーションサーバー416と、アプリケーションデータベース418と、第2アプリケーションサーバー420と、第2アプリケーションデータベース422とを含む。いくつかの実施形態において、クライアントノード402が存在するネットワークを、アクセス制御サーバー406とアプリケーションサーバーファーム414とが存在するネットワークから分離するネットワーク境界がある。
【0051】
簡潔な全体像において、クライアントノード402がアクセス制御サーバー406にリソースへのアクセスの要求410を送信する時、コレクションエージェント404は、クライアントノード402と通信し、クライアントノード402についての情報を検索し、アクセス制御サーバー406にクライアントノード情報412を送信する。一実施形態において、クライアントノード402は、ポリシーエンジン106がクライアントノード402に利用可能なリソースの一覧を示した後に、要求410を送信する。アクセス制御サーバー406は、受信した情報412にポリシーデータベース408からのポリシーを適用することによってアクセス制御の決定を行う。最後に、アクセス制御サーバー406は、クライアントノード402へのファイルコンテントの準備のために、アプリケーションサーバーファーム414にファイルタイプを送信する。コンピュータネットワーク400の追加の構成要素は、省略され、図4Bにさらに記述される。
【0052】
図4Bを参照すると、工程図は、クライアントノード402にファイルコンテントを提供するために、アクセス制御サーバー406とアプリケーションサーバーファーム414とによって取られたステップの一実施形態を図示する。アプリケーションサーバーファーム414の一部は、アプリケーションサーバー416である。
【0053】
一実施形態において、1度アクセス制御サーバー406が、クライアントノード402が要求されたファイルにアクセスすることを許可すると、アクセス制御サーバー406は、要求されたファイルに対するファイルタイプを決定する(ステップ452)。他の実施形態において、アプリケーションサーバー416は、要求されたファイルに対するファイルタイプを決定する。さらに他の実施形態において、アプリケーションサーバー416あるいはアクセス制御サーバー406以外のサーバーである。いくつかの実施形態において、ファイルタイプを決定するサーバーは、最初に、要求されたファイルを検索しなくてはならない。これらの実施形態のうちのいくつかにおいて、該ファイルは、ネットワーク境界424のファイルタイプを決定するサーバーと同じ側に位置付けられる。これらの実施形態のうちの他において、ファイルは、ネットワーク境界424の、クライアントノード402と同じ側に位置付けられる。これらの実施形態において、該方法および装置は、クライアントノードの能力を高め、さもなければアクセスできないリソースにアクセスさせるが、著作権のある情報に対する文書保護は提供しない。
【0054】
いくつかの実施形態において、ネットワーク境界424は、物理的に少なくとも2つのネットワークを分離する。他の実施形態において、ネットワーク境界424は、論理的に少なくとも2つのネットワークを分離する。一実施形態において、ネットワーク境界424は、ファイアウォールである。
【0055】
一実施形態において、ファイル拡張子は、ファイルタイプであり、ファイルタイプを決定するサーバーは、ファイルからファイル拡張子を抽出することによってそのように行っている。別の実施形態において、リソースフォークはファイルタイプである。ファイルタイプを決定した後、ファイルタイプを決定するサーバーは、クライアントノード402への検索および提示のために、アプリケーションサーバーファーム414にファイルタイプを送信する(ステップ454)。
【0056】
アプリケーションサーバー416は、アクセス制御サーバー406からファイルタイプを受信する(ステップ456)。いくつかの実施形態において、アプリケーションサーバー416は、そのファイルタイプに関係したアプリケーションプログラムを識別する。他の実施形態において、アクセス制御サーバー406は、そのファイルタイプに関係したアプリケーションプログラムを識別する。さらに他の実施形態において、アクセス制御サーバー406あるいはアプリケーションサーバー416以外のサーバーは、そのファイルタイプに関係したアプリケーションプログラムを識別する。
【0057】
一実施形態において、ファイルタイプに関係したアプリケーションプログラムを識別するサーバーは、アプリケーションプログラムに対する識別子を検索するためにアプリケーションデータベース418に照会する。いくつかの実施形態において、アプリケーションデータベース418は、レジストリファイルである。アプリケーションサーバー416あるいは別個のサーバーのどちらかがファイルタイプに基づいてアプリケーションタイプを識別する実施形態において、識別サーバーは、それからアクセス制御サーバー406にアプリケーションプログラムの識別子を送信する。いくつかの実施形態において、識別サーバーは、ネットワーク接続を介してアクセス制御サーバー406に識別子を送信する。
【0058】
いくつかの実施形態において、アクセス制御サーバー406あるいは別個のサーバーのいずれも、関係したアプリケーションプログラムの識別子を決定するために、ファイルタイプをアプリケーションサーバー416に送信する必要はない。これらの実施形態のうちの1つにおいて、アプリケーションサーバー416は、アクセス制御サーバー406に、ホストされるアプリケーションプログラムのリストおよびそれらのアプリケーションプログラムが関係したファイルタイプを送信する。これらの実施形態において、アクセス制御サーバー406は、送信されたリストから、ファイルタイプに関係したアプリケーションプログラムに対する識別子を検索する。
【0059】
アクセス制御サーバー406がアプリケーションプログラムの識別子を受信する時、アクセス制御サーバー406は実行可能ファイルを作り出し、クライアントノード402に送信する(ステップ458)。いくつかの実施形態において、実行可能ファイルは、アプリケーションプログラムの識別子を含む。いくつかの実施形態において、実行可能ファイルは、アプリケーションサーバーファーム414内のアプリケーションサーバーの識別子を含み、該アプリケーションサーバーファーム414はクライアントノード402にファイルのコンテントを提示する。いくつかの実施形態において、ファイルタイプと共に使用するためにアプリケーションプログラムを識別した同一のアプリケーションサーバー416は、クライアントノード402にファイルのコンテントを提示し得る。他の実施形態において、第2のアプリケーションサーバー420は、クライアントノード402にファイルのコンテントを提示する。一実施形態において、実行可能ファイルは、アプリケーションプログラムの識別子およびアプリケーションサーバーファーム414内のアプリケーションサーバーの識別子の両方を含み、これらはクライアントノード402にファイルのコンテントを提示し得る。いくつかの実施形態において、実行可能ファイルは、Citrix Systems, Inc. of Fort Lauderdale, Floridaから入手できる、Independent Computing Architecture(ICA)プロトコルのようなプレゼンテーション層プロトコルを使用して、クライアントノード402が、識別されたサーバーに接続可能にする。他の実施形態において、実行可能ファイルは、Microsoft Corporationによって製造された、Remote Desktop Protocol(RDP)を使用して、クライアントノード402が、識別されたサーバーに接続可能にする。他の実施形態において、プレゼンテーション層プロトコルは、より高位のプロトコルにラップされている。
【0060】
クライアントノード402は、アクセス制御サーバー406から実行可能ファイルを受信する。クライアントノード402は、実行ファイルで識別されたアプリケーションサーバー416と接続する(ステップ460)。一実施形態において、クライアントノード402は、ICAプロトコルを用いて、識別されたアプリケーションサーバー416と接続する。別の実施形態において、クライアントノード402は、RDPを用いて、識別されたアプリケーションサーバー416と接続する。
【0061】
アプリケーションサーバー416は、ファイルコンテントの提示のためにフォーマットを選択する(ステップ462)。他の実施形態において、アクセス制御サーバー406は、ファイルコンテントを提示するために使われるフォーマットを識別する。それらの実施形態において、アクセス制御サーバー406は、使用可能なフォーマットを識別するためにポリシーを適用し得る。いくつかの実施形態において、アプリケーションサーバー416は、クライアントノード402についての受信した情報に基づいてフォーマットを選択する。他の実施形態において、アプリケーションサーバー416は、受信した情報にポリシーを適用することによってフォーマットを選択する。
【0062】
アプリケーションサーバー416は、クライアントノード402の接続を受け付け、要求されたファイルを検索する(ステップ464)。一実施形態において、アプリケーションサーバー416は、ウェブサーバーからファイルを検索する。別の実施形態において、アプリケーションサーバー416はファイルサーバーからファイルを検索する。さらに別の実施形態において、検索されたファイルは電子メール付属物である。この実施形態において、アプリケーションサーバー416は、電子メールサーバーからファイルを検索する。いくつかの実施形態において、メールサーバーは、ロータスメールサーバーである。他の実施形態において、メールサーバーは、Outlookメールサーバー、あるいはOutlook Web Accessメールサーバーである。
【0063】
アプリケーションサーバー416は、それから、接続を介してクライアントノード402にファイルのコンテントを提示する(ステップ468)。一実施形態において、提示されたファイルコンテントは電子メール付属物を含む。
【0064】
図5を参照すると、本発明に従って組み立てられたコンピュータネットワーク500の一実施形態が図示され、これは、クライアントノード502と、コレクションエージェント504と、ポリシーエンジン506と、第1構成要素508と、第2構成要素512と、コンディションデータベース510と、ポリシーデータベース512と、変換サーバー516と、格納素子518とを含んでいる。簡潔な全体像において、クライアントノード502がポリシーエンジン506からリソースへのアクセスの要求522を送信する時、コレクションエージェント504は、クライアントノード502と通信し、クライアントノード502についての情報を検索し、ポリシーエンジン506にクライアントノード情報512を送信する。ポリシーエンジン506は、上記の図3で議論されたように、アクセス制御の決定を行う。1度ポリシーエンジン506が、クライアントノード502が要求されたファイルにアクセスすることを許可するように決定すると、ポリシーエンジン506は、変換サーバー516に、クライアントノード502への変換と提示のために要求を送信する。
【0065】
さらに詳細には、ポリシーエンジン506は、ファイルの変換されたコンテントのために、クライアントノード502から要求を受信する。一実施形態において、ポリシーエンジン506は、ファイルの変換されたコンテントをクライアントノード502に提示可能な変換サーバー516を識別する。いくつかの実施形態において、変換サーバー516は、ファイルの変換されたコンテントを提示可能であり、それは、変換サーバー516が、前に変換されたコンテントのコピーを含むからである。他の実施形態において、変換サーバー516は、ファイルの変換されたコンテントを提示可能であり、それは、変換サーバー516がほどなくファイルコンテントを変換する能力を有するからである。
【0066】
一実施形態において、ポリシーエンジン506は、変換サーバー516が以前にファイルのコンテントを変換したかどうかを決定するために格納素子518に照会することによって、変換サーバー516を識別する。その実施形態において、ポリシーエンジン506は、クライアントノード502に、格納素子518によって識別された変換サーバー518の識別子を送信する。他の実施形態において、どの変換サーバー516も、以前にコンテントを変換していない。これらの実施形態において、ポリシーエンジンは、その代わりに、ファイルのコンテントを現在において変換可能な変換サーバー516を識別し、変換サーバー516にクライアントノード502の要求を送信する。
【0067】
他の実施形態において、ポリシーエンジン506以外のサーバーは、クライアントにファイルの変換コンテントを提示可能な変換サーバー516を識別する。それらの実施形態のうちのいくつかにおいて、その同一のサーバーは、また、変換サーバー516にクライアントへのファイルの提示の要求を送信する。これらの実施形態のうちのいくつかにおいて、可能な変換サーバー516ルートを識別する同一のサーバーは、プロキシサーバーを介して変換サーバー516に要求を送信する。
【0068】
一実施形態において、変換サーバー516は、ポリシーエンジン506から、クライアントノード502への要求されたファイルのコンテントの変換および提示の要求を受信する。別の実施形態において、変換サーバー516は、ポリシーエンジン506以外のサーバーから要求を受信する。変換サーバー516は、ファイルを検索し、ネイティブフォーマットから第2のフォーマットにコンテントを変換する。変換サーバー516は、それから、クライアントノード502からの接続を受け付け、以前に変換されていなかった場合はコンテントを変換しながら、ファイルの変換されたコンテントを提示する。最後に、変換サーバー516は、格納素子518に、ファイルのコンテントおよびファイルの識別子を変換するサーバーの識別子を書き込む。
【0069】
図6を参照すると、工程図は、要求されたファイルのコンテントを変換し、クライアントノード502に変換したコンテントを提示するために、変換サーバー516によって取られたステップの一実施形態を図示する。
【0070】
変換サーバー516は、要求されたファイルのコンテントの変換およびクライアントノード502への提示の要求を受信する(ステップ600)。一実施形態において、変換サーバー516は、ネットワーク接続を介してこの要求を受信する。
【0071】
変換サーバー516は、要求されたファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換する(ステップ602)。一実施形態において、変換サーバー516は、ネイティブフォーマットから第2のフォーマットに、クライアント上の提示のために、正規の表現を用いてファイルのコンテントを変換する。別の実施形態において、変換サーバー516は、フォーマット変換ツールを含むネイティブフォーマットから第2のフォーマットに、ファイルのコンテントを変換する。別の実施形態において、変換サーバー516は、ネイティブフォーマットからHTMLにファイルのコンテントを変換する。別の実施形態において、変換サーバー516は、ファイルのコンテントを、ネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットはパーソナルデジタルアシスタント上で提示を可能にする。別の実施形態において、変換サーバー516は、ファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットは携帯電話上で提示を可能とする。別の実施形態において、変換サーバー516は、ファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットはラップトップコンピュータ上で提示を可能とする。別の実施形態において、変換サーバー516は、ファイルのコンテントをネイティブフォーマットから第2のフォーマットに変換し、該第2のフォーマットはインターネットキオスクで提示を可能とする。
【0072】
変換サーバー516は、格納素子518への変換についての識別情報を書き込む(ステップ604)。一実施形態において、識別情報は、変換サーバー516のための識別子、および変換されたファイルのための識別子を含む。いくつかの実施形態において、識別情報は、ファイルの変換されたコンテントを含む一時的なファイルを含む。それらの実施形態において、格納素子518は、変換されたファイルコンテントのグローバルキャッシュとして機能する。
【0073】
ポリシーエンジン506が、クライアントノード502のためにファイルの変換されたコンテントを提示可能である変換サーバー516を識別した後、ポリシーサーバー506は、変換サーバー516の識別子をクライアントノード502に送信する。クライアントノード502は識別子を受信し、変換サーバー516に接続する。変換サーバー516は、接続を受け入れ、接続を介して、クライアントノード502に、要求されたファイルの変換されたコンテントを提示する(ステップ606)。一実施形態において、クライアントノード502への提示後、変換サーバー516は、要求されたファイルの変換されたコンテントを保持する。
【0074】
図7を参照すると、本発明に従って組み立てられたコンピュータネットワーク700の一実施形態が図示され、これは、第1クライアントノード702と、コレクションエージェント704と、ポリシーエンジン706と、ポリシーデータベース708と、コンディションデータベース710と、第2クライアントコード716と、セッションサーバー720と、格納されたアプリケーションデータベース722と、アプリケーションサーバーファーム724と、第1アプリケーションサーバー726と、第1データベース728と、第2アプリケーションサーバー730と、第2データベース732とを含んでいる。簡潔な全体像において、第1クライアントノード702がアクセス制御サーバー706にリソースへのアクセスの要求712を送信すると、コレクションエージェント704は、クライアントノード702と通信し、クライアントノード702についての情報を検索し、ポリシーエンジン706にクライアントノード情報714を送信する。ポリシーエンジン706は、上記の図3に論じられるように、アクセス制御決定を行う。最後に、セッションサーバー720は、クライアントノード702とクライアントノード702に関係する複数のアプリケーションセッションとの間の接続を確立する。コンピュータネットワーク700の追加構成要素は、省略され、図7Bにさらに記述される。
【0075】
図7Bを参照すると、工程図は、クライアントノード702をその関係するアプリケーションセッションに接続するためにセッションサーバー720によって取られるステップの一実施形態を図示する。セッションサーバー720は、ポリシーエンジン706から、該ポリシーエンジン706が行ったアクセス制御決定を含む、クライアントノード702についての情報を受信する。一実施形態において、該情報は、また、クライアントノード情報714を含む。
【0076】
いくつかの実施形態において、ポリシーエンジン706は、既にクライアントノード702と関係する複数のアプリケーションセッションを識別する。他の実施形態において、セッションサーバー720は、クライアントノード702と関係する格納されたアプリケーションセッションを識別する。これらの実施形態のうちのいくつかにおいて、セッションサーバー720は、ポリシーエンジン706から情報を受信すると直ちに、自動的に、格納されたアプリケーションセッションを識別する。一実施形態において、格納されたアプリケーションデータベース722はセッションサーバー720上に存在する。別の実施形態において、格納されたアプリケーションデータベース722は、ポリシーエンジン706上に存在する。
【0077】
格納されたアプリケーションデータベース722は、アプリケーションセッションを実行する、アプリケーションサーバーファーム724内の複数のサーバーと関係するデータを含む。いくつかの実施形態において、クライアントノード702と関係するアプリケーションセッションを識別することは、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納データを参考にすることを必要とする。これらの実施形態のうちのいくつかにおいて、セッションサーバー720は、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納データを参考にする。これらの実施形態のうちの他のものにおいて、ポリシーエンジン706は、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータを参考にする。いくつかの実施形態において、第1アプリケーションセッションは、第1アプリケーションサーバー726上を走り、第2アプリケーションセッションは第2アプリケーションサーバー730上を走る。他の実施形態において、全てのアプリケーションセッションは、アプリケーションサーバーファーム724内の単一のアプリケーションサーバー上を走る。
【0078】
セッションサーバー720は、ユーザーによって開始されるアプリケーションセッションに関連した情報を含む。該セッションサーバーは、揮発性のあるいは不揮発性のメモリに格納され得、あるいは、例えば複数のサーバーを介して分散され得る。表7−1は、実例となるセッションサーバー720の一部に含まれるデータを示す。
【0079】
【表7−1】
表7−1の実例となるセッションサーバー720は、各々のアプリケーションセッションを、該アプリケーションセッションを開始したユーザーと関連させるデータ、もしあればユーザーが現在サーバー726に接続されているクライアントコンピュータ702あるいは716の識別、および、そのクライアントコンピュータ702aあるいは716のIPアドレス、を含む。実例となるセッションサーバー720は、また、各々のアプリケーションセッションのステータスを含む。アプリケーションセッションステータスは、例えば、「アクティブ」(ユーザーはアプリケーションセッションに接続されているという意)、あるいは「切断」(ユーザーはアプリケーションセッションに接続されていないという意)であり得る。代替的実施形態において、アプリケーションセッションステータスは、また、「実行、切断」(ユーザーはアプリケーションセッションから切断されているがアプリケーションセッション内のアプリケーションはまだ実行中であるの意)、あるいは「機能停止、切断」(ユーザーは切断され、アプリケーションセッション内のアプリケーションは実行していないが、切断の直前のアプリケーションのオペレーショナルステートは格納されているという意)に設定され得る。セッションサーバー720は、さらに、各々のアプリケーションセッション内で実行しているアプリケーション116を指す情報、およびサーバー上の各々のアプリケーションの処理を示すデータを格納する。サーバー726がサーバーファーム724の一部である実施形態において、セッションサーバー720は、少なくとも動的格納の一部であり、また、各々のアプリケーションがどのサーバーファーム内でのサーバーで実行している/していたかを示す、表1の最後の2行にあるデータ、およびそのサーバーのIPアドレスを含む。代替的実施形態において、セッションサーバー720は各々のアプリケーションセッション内の各々のアプリケーションに対するステータスインジケータを含む。
【0080】
例えば、表7−1の例において、3つのアプリケーションセッション、App Session1、App Sesson2、App Session3が存在する。App Session1は、ターミナル1を現在使用しているユーザー1と関係する。ターミナル1のIPアドレスは152.16.2.50である。App Session1のステータスはアクティブであり、App Session1でワードプロセッシングプログラムが実行されている。該ワードプロセッシングプログラムは、プロセスナンバー1としてServer A上で実行している。Server AのIPアドレスは152.16.2.55である。表1のApp Session2は、切断アプリケーションセッション118の例である。App Session2はユーザー2と関係するが、App Session2はクライアントコンピュータ702aあるいは716とは接続されていない。App Session2は、プロセスナンバー3としてIPアドレス152.16.2.55で、Server A上で実行しているデータベースプログラムを含む。App Sessoin3は、どのようにユーザーは、異なるサーバー726上で作動しているアプリケーションセッションと相互作用し得るかという例である。App Sessoin3は、App Session1と同じように、ユーザー1と関係する。App Sessoin3は、プロセスナンバー2としてIPアドレス152.16.2.56で、Server B上で実行している表計算プログラムを含み、それに対してApp Session1に含まれるアプリケーションセッションはServer A上で実行している。
【0081】
一実施形態において、セッションサーバー720は、切断要求を受信することによってクライアントノード702に関係するアプリケーションセッションを切断するように構成され、従って該要求に応答してアプリケーションセッションを切断する。セッションサーバー720は、アプリケーションセッションからクライアントノード702を切断した後もアプリケーションセッションを実行し続ける。この実施形態において、セッションサーバー720は、格納されたアプリケーションデータベース722にアクセスし、かつ、各々の切断されたアプリケーションセッションと関係するデータレコードを更新することにより、該レコードが、クライアントノード702と関係するアプリケーションセッションが切断されていると示すようにする。
【0082】
不完全なネットワーク接続、およびユーザーがアプリケーションセッションを自分自身で終了させることの失敗による、アプリケーションセッションの意図的ではない終了は、ユーザーにとっての問題点となり得る。本発明の一実施形態は、切断(ユーザーは、あたかもアプリケーションセッションを終了していないように扱われる)と終了(アプリケーションセッションに対する意図的な終了とみなされる)とを区別することによって、および、クライアントノードとは対照的に、アプリケーションセッションとユーザーとを相互に関連させることによって、これらの問題点を制限する。ユーザーが、アプリケーションセッションで動作しているアプリケーションを使用し終えると、ユーザーは、アプリケーションセッションを終了し得る。終了には通常、サーバーは、もはや、アプリケーションセッションを保持するべきではないことを示すユーザーの肯定的なインプットを伴う。そのように肯定的なユーザーインプットは、メニューから「エグジット」オプションを選択すること、アイコンをクリックすること、などを含み得る。終了要求を受信するセッションサーバー720に応答して、アプリケーションセッションの実行、および、そのアプリケーションセッション内の任意のアプリケーションは中断される。一実施形態において、アプリケーションセッションに関連するデータは、また、格納されたアプリケーションデータベース722から除去される。
【0083】
切断は、意図的であろうがなかろうが、他方では、アプリケーションセッションの終了にはならない。アプリケーションセッション内で作動している1つ、あるいは複数のアプリケーションは、サーバー720上で実行しているので、第1クライアントノード702への接続は、通常、アプリケーションの実行を継続する必要はなく、一実施形態において、該アプリケーションは、該ユーザーが接続するのを待つ間、実行を継続し得る。代替的実施形態において、ユーザーの切断後直ちに、セッションサーバー720は、アプリケーションセッション内で作動するアプリケーションの実行をストールさせる。つまり、セッションサーバー720は、アプリケーションのさらなる実行を中断し、セッションサーバー720は、アプリケーションのオペレーショナルステート、およびアプリケーションが処理中のあらゆるデータを格納する。さらなる実施形態において、セッションサーバー720は、ユーザーの切断後、特定のアプリケーションの実行を選択的にストールさせ得る。例えば、一実施形態において、セッションサーバー720は、固定時間の期間においてアプリケーションの実行を継続し、ユーザーがその時間の期間内に継続できなかった場合、セッションサーバー720はアプリケーションをストールさせる。別の実施形態において、セッションサーバー720は、ユーザーインプットなしでは実行を継続できない特定のアプリケーションセッションをストールさせる。上述の実施形態のそれぞれにおいて、第1クライアントノード702のユーザーがサーバー726から切断し、それから、第1クライアントノード702、第2クライアントノード716、あるいは第3クライアントコンピュータを作動させながらサーバー726に接続した場合、セッションサーバー720は、ユーザーに関係する、1つ以上の以前に開始された、終了していないアプリケーションセッションに、ユーザーによって操作されるクライアントコンピュータを接続し、あらゆるストールしたアプリケーションを再開し得る。
【0084】
一実施形態において、セッションサーバー720は、切断を検出する。ユーザーは、意図的に、かつ、手動でサーバーに命令して、ユーザーが通信しているクライアントノード702あるいはクライアントノード716からアプリケーションセッションを切断し得る。例えば、一実施形態において、アプリケーションセッションは、ユーザーが使用し得る切断のためのメニューオプションを(上記の終了から区別されるように)提供する。セッションサーバー720は、また、意図的ではない切断を検出し得る。例えば、一実施形態において、セッションサーバー720は、クライアントノード702あるいは716に送信された、予め決められた数のデータパケットがクライアントノード702あるいは716により認識されない場合は識別をする。別の実施形態において、クライアントノード702あるいは716は、サーバー726に定期的に信号を送信して、接続がそこなわれていないか確認する。セッションサーバー720が、クライアントノード702あるいは716から予め決められた数の予測される確認信号が到着していないと検出した場合、セッションサーバー720は、クライアントノード702あるいは716は切断していると決定する。セッションサーバー720が、ユーザーはアプリケーションセッションから、意図的であろうとなかろうと切断したと検出した場合、切断されたアプリケーションセッションに関連するセッションサーバー720内のエントリーは修正されて、接続を反映する。
【0085】
認証情報を受信した後、セッションサーバー720は、格納されたアプリケーションデータベース722を参考にして、ユーザーに関係するが、例えば第1クライアントノード702のような異なるクライアントノードに接続された、あらゆる活動状態のアプリケーションを識別する。一実施形態において、セッションサーバー720が、あらゆるそのようなアプリケーションセッションを識別した場合、セッションサーバー720は、自動的に、第1クライアントノード702からアプリケーションセッションを切断し、現在のクライアントコンピュータ716にアプリケーションセッションを接続する。いくつかの実施形態において、受信した認証情報は、クライアントノード702が再接続し得るアプリケーションセッションを限定し得る。一実施形態において、ユーザーは、セッションサーバーの自動参照、および単一のユーザーインターフェース素子の選択を伴う二次的接続を起動し得る。
【0086】
クライアントノード702と関係するアプリケーションセッションを識別した後、セッションサーバー720は、関係するアプリケーションセッションにクライアントノード702を接続する。セッションサーバー720は、複数のアプリケーションセッションのうちの各々がアクティブなのか切断されているかを決定する。一実施形態において、複数のアプリケーションセッションのうちの少なくとも1つはアクティブである。一実施形態において、複数のアプリケーションセッションのうちの少なくとも1つは切断されている。一実施形態において、セッションサーバー720は、自動的にアプリケーションアウトプットを受信する。別の実施形態において、アプリケーションアウトプットの受信は、単一のユーザーインターフェース素子のクライアントノード702選択によって起動される。セッションサーバー720は、受信した情報714に含まれるアクセス制御決定を基に、クライアントノード702を再接続すべき切断されたアプリケーションセッションを識別する。一実施形態において、あらゆる切断されたアプリケーションセッションを識別した時、セッションサーバー720は、ユーザーを促して接続が所望されるかどうかを指示させる。接続が所望されない場合、セッションサーバー720は、ユーザーを促して、切断されたアプリケーションセッションは切断されたままの状態であるべきか、あるいはアプリケーションセッションは終了させられるべきかを指示させる。
【0087】
一実施形態において、接続には、ユーザーがアプリケーションセッションに接続されているということを示し、かつ、どのクライアントノード702からユーザーがサーバーに接続されているかを示すために、格納されたアプリケーションデータベース722のエントリーを修正することが含まれる。接続すると直ぐに、サーバー726は、クライアントノード702あるいはクライアントノード716にアプリケーションアウトプットデータの送信を再開する。一実施形態において、クライアントノードに関係する複数のアプリケーションセッションは、接続より前に、クライアントノード702に接続されており、接続後、複数のアプリケーションセッションが第1クライアントノード702に再接続される。別の実施形態において、クライアントノードに関係する複数のアプリケーションセッションは、接続より前に、第1クライアントノード702に接続されており、接続後、複数のアプリケーションセッションが第2クライアントノード716に再接続される。
【0088】
以下の実例となる例は、上述の該方法および装置が、クライアントノードのためのファイルコンテントへのポリシーベースのアクセスを提供するためにどのように使用され得るかを示す。これらの例は例証となるように意図され、本発明を限定するものではない。
【0089】
証拠収集
一実施形態において、クライアントノード102は、ポリシーエンジン106が存在するネットワークと同一のネットワーク上に存在するサーバー上に位置するワードプロセッシング文書へのアクセスを要求する。ポリシーエンジン106は、要求を受信し、該要求は、クライアントノード102についての情報は何もないということを決定する。ポリシーエンジン106は、クライアントノード102にコレクションエージェント104を送信する。いくつかの実施形態において、コレクションエージェント104は、クライアントノードから収集する予め定義された情報を有する。他の実施形態において、コレクションエージェント104は、最初にクライアントノードを分析して、どのような種類の情報を収集するかを決定する。さらに他の実施形態において、コレクションエージェント104は、ポリシーエンジン106から、クライアントノード102についてのどのような情報について収集すべきか、という命令を検索する。
【0090】
1度クライアントノード102上で実行すると、コレクションエージェント104は必要な情報を収集し、ポリシーエンジン106に情報112を送信する。ポリシーエンジン106は、情報112を受信し、情報112はどのようなコンディションを満たすか決定する処理を開始する。いくつかの実施形態において、ポリシーエンジン106は、受信した情報112は、該情報112が1以上のコンディションを満たすかどうかを決定するには十分でないということを決定する。それらの実施形態において、ポリシーエンジン106は、クライエントノード102についてのより多くの情報を収集するために、コレクションエージェント104にさらなる命令を送信する。
【0091】
ポリシーベースのアクセス制御
ポリシーエンジン106の第1構成要素202が1以上のコンディションは満たされていると決定するので、それは、データセット内の各々の満たされたコンディションのための識別子を格納する。完了すると、第1構成要素202は、データセットおよび要求されたアプリケーションを第2構成要素210に送信する。この実施形態の例において、要求されたアプリケーションは、ワードプロセッシング文書であり得、満たされたコンディションは、クライアントデバイスはパーソナルデジタルアシスタントであるということを指示し得る。この実施形態の別の例において、要求されたアプリケーションは、表計算ソフトであり得、満たされたコンディションは、クライアントデバイスがパブリックインターネットキオスクのような不安定なネットワークから接続している信頼のあるラップトップであると指示し得る。この実施形態の第3の例において、要求されたアプリケーションは、電子メールメッセージに添付されたファイルであり得、満たされたコンディションは、クライアントデバイスは安全なネットワークから接続されているがファイルを見るには適切なアプリケーションを欠いているパーソナルデスクトップ上にあると指示し得る。
【0092】
第2構成要素210は、第1構成要素202からデータセットを受け取り、受信したデータに1つ以上のポリシーを適用する。この実施形態の一例において、第2構成要素210は、クライアントがそのアプリケーションソフトウエアを用いるコンディションが満たされない場合に、クライアントデバイスがパーソナルデジタルアシスタントである時、クライアントノードがファイルの変換されたコンテントを受け取ることを要求するポリシーを適用し得る。クライアントノードは、それから、変換サーバーに接続可能な実行可能ファイルを受信し得、クライアントデバイスタイプにアクセス可能なフォーマットでファイルのコンテントを提示し得る。このポリシーを適用することは、ビューイングに対する不適切なフォーム要因にもかかわらず、クライアントノードがファイルのコンテントを見ることを可能とする。
【0093】
この実施形態の別の例において、第2構成要素210は、クライアントデバイスタイプが信頼のあるラップトップであり、適切であるがインターネットキオスクのような不安定なネットワークからのアプリケーションソフトウエアを含む場合、クライアントノード210へのダウンロードを禁止するポリシーを適用し得る。この実施形態において、ポリシーは、ポリシーエンジン106が、ファイルコンテントの提示のためにアプリケーションサーバー416への接続を可能にするクライアントノード102に実行可能ファイルを送信することを要求し得る。この種類のポリシーを適用し、かつアプリケーションサーバー416のみへのファイルを検索することは、ファイルの占有コンテントを不適切な配布の危険にさらすことなく、クライアントノード102がファイルのコンテントを見ることを可能とする。
【0094】
この実施形態のさらに別の例において、第2構成要素210は、安全な接続を行っているが適切なアプリケーションソフトウエアを欠いているパーソナルデスクトップが、ICAセッションを介してアプリケーションサーバー416に接続するということ、および、アプリケーションサーバー416が適切なアプリケーションを実行し、かつ、クライアントノード102にファイルを提示するということを要求するポリシーを適用し得る。該ポリシーを適用することは、クライアントノード102上のアプリケーションソフトウエアの欠如に関わらず、クライアントノード102がファイルのコンテントを見ることを可能にする。
【0095】
本発明は、1つ以上の製品上に、あるいは内部に具体化される1つ以上のコンピュータ可読プログラムとして提供され得る。製品は、フロッピー(登録商標)ディスク、ハードディスク、コンパクトディスク、デジタルバーサタイルディスク、フラッシュメモリカード、PROM、RAM、ROM、あるいは磁気テープであり得る。通常、コンピュータ可読プログラムは、あらゆるプログラミング言語で実施され得る。用いられる言語のいくつかの例は、C、C++、C#、あるいはJAVA(登録商標)を含む。ソフトウエアプログラムは、オブジェクトコードとして1つ以上の製品上、あるいは内部に格納される。
【0096】
本発明は特定の好ましい実施形態と関連して示され、かつ、記述されてきたが、様々なフォームおよび詳細の変形が、上記の請求項によって定義される発明の精神と範囲から逸れることなくなされ得ることが当業者によって理解される。
【図面の簡単な説明】
【0097】
本発明のこれらの、および他の側面は、本発明を例示し、制限するものではない以下の詳細な記述および添付された図から容易に明白となり得る。
【図1A】図1Aは、本発明の図示された実施形態となる環境を実行するための適切な環境のブロック図である。
【図1B】図1Bおよび図1Cは本発明との接続に有用なコンピュータの実施形態を図示するブロック図である。
【図1C】図1Bおよび図1Cは本発明との接続に有用なコンピュータの実施形態を図示するブロック図である。
【図1D】図1Dは、ネットワークが、ネットワークリソースにアクセスを認めるポリシーベースのシステムを提供する、コンピュータネットワークの実施形態のブロック図である。
【図2】図2は、ポリシーエンジンの実施形態の詳細なブロック図である。
【図3】図3は、クライアントノードについての受信された情報を基にしてアクセス制御決定を行うポリシーエンジンによって取られたステップの一実施形態を図示するフロー図である。
【図4】図4は、ネットワークが、クライアントノードのためにファイルコンテントにポリシーベースのアクセスを提供する、コンピュータネットワークの実施形態のブロック図である。
【図4B】図4Bは、クライアントノードにファイルコンテントを提供するためにアプリケーションサーバーファームによって取られるステップの一実施形態を図示するフロー図である。
【図5】図5は、ネットワークが、リソースの変換されたコンテントへのアクセスを認めるコンピュータネットワークの一実施形態のブロック図である。
【図6】図6は、要求されたファイルのコンテントを変換し、変換されたコンテントをクライアントノードに提示するために、変換サーバーによって取られるステップの一実施形態を図示するフロー図である。
【図7】図7は、複数のアプリケーションセッションへの承認された遠隔アクセスが提供されるコンピュータネットワークの実施形態のブロック図である。
【図7B】図7Bは、クライアントノードを関係するアプリケーションセッションに接続するために、セッションサーバーによって取られるステップの一実施形態のブロック図である。
【特許請求の範囲】
【請求項1】
承認された遠隔アクセスを1つ以上のアプリケーションセッションに提供する方法であって、該方法は、
クライアントノードにより、リソースへのアクセスを要求することと、
コレクションエージェントにより、該クライアントノードについての情報を収集することと、
ポリシーエンジンにより、該収集された情報を受信することと、
ポリシーエンジンにより、該受信した情報に基づいてアクセス制御決定を行うことと、
該受信した情報に応答して、既に該ユーザーに関連付けられている1つ以上のアプリケーションセッションを識別することと、
セッションサーバーにより、該ユーザーによって操作されるクライアントコンピュータと、該受信した情報に応答して識別された1つ以上のアプリケーションセッションとの間の接続を確立することと
を含む、方法。
【請求項2】
ステップ(a)は、さらにネットワーク接続を介して前記リソースを要求することを含む、請求項1に記載の方法。
【請求項3】
ステップ(b)は、さらにネットワーク接続を介して前記情報を収集することを含む、請求項1に記載の方法。
【請求項4】
ステップ(b)は、さらに前記クライアントノード上で少なくとも1つのスクリプトを実行することにより情報を収集することを含む、請求項1に記載の方法。
【請求項5】
ステップ(d)は、さらに前記受信した情報はコンディションを満たすかどうか決定することを含む、請求項1に記載の方法。
【請求項6】
前記受信した情報と少なくとも1つのコンディションとを比較することにより、該受信した情報が、コンディションを満たすかどうかを決定することをさらに含む、請求項5に記載の方法。
【請求項7】
ステップ(d)は、さらに前記コンディションにポリシーを適用することによってアクセス制御決定を行うことをさらに含む、請求項6に記載の方法。
【請求項8】
前記アプリケーションセッションの第1のものが前記第1サーバー上を走り、該アプリケーションセッションの第2のものが前記第2サーバー上を走る、請求項1に記載の方法。
【請求項9】
前記セッションサーバーにより、前記クライアントと前記1つ以上のアプリケーションセッションとの間の接続を確立するステップは、前記ユーザーによって操作されている前記クライアントコンピュータが該1つ以上のアプリケーションセッションに接続することを許可するルールを条件とする、請求項1に記載の方法。
【請求項10】
前記ユーザーと前記1つ以上のアプリケーションセッションとの間の接続は、前記単一のユーザーインターフェース素子の選択により起動される、請求項1に記載の方法。
【請求項11】
セッションサーバーにより、前記ユーザーと関係する前記第1アプリケーションセッションと、該ユーザーと関係する前記第2アプリケーションセッションとを切断する切断要求を受信し、
該セッションサーバーにより、該第1および第2アプリケーションセッションを切断するステップをさらに含む、請求項1に記載の方法。
【請求項12】
前記セッションサーバーにより、前記第1および第2アプリケーションセッションは切断されていることを示すように、該第1および第2アプリケーションセッションと関係する少なくとも1つのデータレコードを更新することをさらに含む、請求項11に記載の方法。
【請求項13】
前記セッションサーバーにより、前記切断されたアプリケーションセッションの少なくとも1つの実行を継続するステップをさらに含む、請求項12に記載の方法。
【請求項14】
ステップ(e)は、前記ポリシーエンジンにより、前記受信した情報に応答して、前記ユーザーに既に関係する1つ以上のアプリケーションセッションを識別することをさらに含む、請求項1に記載の方法。
【請求項15】
ステップ(e)は、アプリケーションセッションを実行する1つ以上のサーバーに関係する格納されたデータを参考にすることをさらに含む、請求項1に記載の方法。
【請求項16】
ステップ(e)は、前記セッション格納機構により、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータを参考にすることをさらに含む、請求項1に記載の方法。
【請求項17】
ステップ(e)は、前記ポリシーエンジンにより、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータを参考にすることをさらに含む、請求項1に記載の方法。
【請求項18】
前記1つ以上のアプリケーションセッションは、接続より前に、第1クライアントコンピュータに接続され、接続後は、該1つ以上のアプリケーションセッションは、前記第1クライアントコンピュータに再接続される、請求項1に記載の方法。
【請求項19】
前記1つ以上のアプリケーションセッションは、接続を確立する前に、第1クライアントコンピュータと関係付けられ、接続を確立した後、該1つ以上のアプリケーションセッションは第2クライアントコンピュータに接続される、請求項1に記載の方法。
【請求項20】
少なくとも1つのアプリケーションセッションは切断されている、請求項1に記載の方法。
【請求項21】
少なくとも1つのアプリケーションセッションはアクティブである、請求項1に記載の方法。
【請求項22】
前記1つ以上のアプリケーションセッションを識別することは、認証情報の受信時に自動的である、請求項1に記載の方法。
【請求項23】
前記受信した情報に応答して、前記ユーザーに関係する1つ以上の以前に切断されたアプリケーションセッションからアプリケーションアウトプットを受信することを提供するステップをさらに含む、請求項1に記載の方法。
【請求項24】
前記受信した情報に応答して、前記ユーザーと関係する少なくとも1つのアクティブアプリケーションセッションを切断することをさらに含む、請求項23に記載の方法。
【請求項25】
前記1つ以上のアクティブアプリケーションセッションは、最初に第1クライアントコンピュータと接続され、前記リソースへのアクセスを要求した時、前記ユーザーは第2クライアントコンピュータを操作している、請求項23に記載の方法。
【請求項26】
前記1つ以上のアクティブアプリケーションセッションからのアプリケーションアウトプットの受信は、前記ユーザーが、該ユーザーによって操作される、該1つ以上のアクティブアプリケーションセッションに接続しているクライアントコンピュータを有することを許可するルールを条件とする、請求項23に記載の方法。
【請求項27】
前記1つ以上のアクティブのアプリケーションセッションからのアプリケーションアウトプットの受信と、前記1つ以上の切断されたアプリケーションセッションからのアプリケーションアウトプットの受信とは、単一のユーザーインターフェース素子の選択によって起動される、請求項23に記載の方法。
【請求項28】
前記1つ以上の切断されたアプリケーションセッションは、切断の前に、第1クライアントコンピュータに接続され、接続時、該1つ以上の切断されたアプリケーションセッションは該第1クライアントコンピュータに再接続される、請求項23に記載の方法。
【請求項29】
前記1つ以上の切断されたアプリケーションセッションは、切断の前に、第1クライアントコンピュータに接続されており、接続時に、前記1つ以上の切断されたアプリケーションセッションは第2のクライアントコンピュータに接続される、請求項23に記載の方法。
【請求項30】
承認された遠隔アクセスをアプリケーションセッションに提供するシステムであって、
該システムは、
該クライアントノードについての情報を収集するコレクションエージェントと、
該収集された情報を受信し、該受信した情報に基づいてアクセス制御決定を行い、クライアントノードに関係する1つ以上のアプリケーションセッションの一覧を要求するポリシーエンジンであって、該要求は、アクセス制御決定を含む、ポリシーエンジンと、
アクセス制御決定に応答して該クライアントノードに関係する1つ以上のアプリケーションセッションの一覧を生成するセッションサーバーと
を備えるシステム。
【請求項31】
前記コレクションエージェントはクライアントノード上で実行する、請求項30に記載のシステム。
【請求項32】
前記ポリシーエンジンは、前記クライアントノードに前記コレクションエージェントを送信する、請求項30に記載のシステム。
【請求項33】
前記ポリシーエンジンは、前記コレクションエージェントに、該コレクションエージェントが収集する情報の種類を決定する命令を送信する、請求項30に記載のシステム。
【請求項34】
前記ポリシーエンジンは、前記収集された情報にポリシーを適用することに基づいてアクセス制御決定を行う、請求項30に記載のシステム。
【請求項35】
前記アプリケーションセッションの第1のものは第1サーバー上を走り、該アプリケーションセッションの第2のものは第2サーバー上を走る、請求項30に記載のシステム。
【請求項36】
前記セッションサーバーは、前記1つ以上のアプリケーションセッションに前記クライアントノードを接続する、請求項30に記載のシステム。
【請求項37】
前記1つ以上のアプリケーションセッションへの前記クライアントノードの接続は、単一ユーザーインターフェース素子の選択により起動される、請求項36に記載のシステム。
【請求項38】
前記セッションサーバーは、切断要求を受信してユーザーと関係する前記第1アプリケーションセッションと、ユーザーと関係する前記第2アプリケーションセッションとを切断する切断要求を受け、該要求に応答して、第1および第2アプリケーションセッションを切断するように構成されている、請求項36に記載のシステム。
【請求項39】
前記セッションサーバーは、前記第1および第2アプリケーションセッションの各々と関係する少なくとも1つのデータレコードを更新することによって、該第1および第2アプリケーションセッションは切断されていることを示すように構成される、請求項38に記載のシステム。
【請求項40】
前記セッションサーバーは、前記切断されたアプリケーションセッションの少なくとも1つの実行を継続するようにさらに構成される、請求項38に記載のシステム。
【請求項41】
前記ポリシーエンジンは、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータをさらに含む、請求項30に記載のシステム。
【請求項42】
前記1つ以上のアプリケーションセッションは、接続より前に、第1クライアントコンピュータに接続され、接続後、該1つ以上のアプリケーションセッションは、該第1クライアントコンピュータに再接続される、請求項30に記載のシステム。
【請求項43】
前記1つ以上のアプリケーションセッションは、接続より前に、第1クライアントコンピュータに関係付けられ、接続後、該1つ以上のアプリケーションセッションは、該第2クライアントコンピュータに再接続される、請求項30に記載のシステム。
【請求項44】
前記1つ以上のアプリケーションセッションの少なくとも1つは切断されている、請求項30に記載のシステム。
【請求項45】
前記1つ以上のアプリケーションセッションの少なくとも1つはアクティブである、請求項30に記載のシステム。
【請求項1】
承認された遠隔アクセスを1つ以上のアプリケーションセッションに提供する方法であって、該方法は、
クライアントノードにより、リソースへのアクセスを要求することと、
コレクションエージェントにより、該クライアントノードについての情報を収集することと、
ポリシーエンジンにより、該収集された情報を受信することと、
ポリシーエンジンにより、該受信した情報に基づいてアクセス制御決定を行うことと、
該受信した情報に応答して、既に該ユーザーに関連付けられている1つ以上のアプリケーションセッションを識別することと、
セッションサーバーにより、該ユーザーによって操作されるクライアントコンピュータと、該受信した情報に応答して識別された1つ以上のアプリケーションセッションとの間の接続を確立することと
を含む、方法。
【請求項2】
ステップ(a)は、さらにネットワーク接続を介して前記リソースを要求することを含む、請求項1に記載の方法。
【請求項3】
ステップ(b)は、さらにネットワーク接続を介して前記情報を収集することを含む、請求項1に記載の方法。
【請求項4】
ステップ(b)は、さらに前記クライアントノード上で少なくとも1つのスクリプトを実行することにより情報を収集することを含む、請求項1に記載の方法。
【請求項5】
ステップ(d)は、さらに前記受信した情報はコンディションを満たすかどうか決定することを含む、請求項1に記載の方法。
【請求項6】
前記受信した情報と少なくとも1つのコンディションとを比較することにより、該受信した情報が、コンディションを満たすかどうかを決定することをさらに含む、請求項5に記載の方法。
【請求項7】
ステップ(d)は、さらに前記コンディションにポリシーを適用することによってアクセス制御決定を行うことをさらに含む、請求項6に記載の方法。
【請求項8】
前記アプリケーションセッションの第1のものが前記第1サーバー上を走り、該アプリケーションセッションの第2のものが前記第2サーバー上を走る、請求項1に記載の方法。
【請求項9】
前記セッションサーバーにより、前記クライアントと前記1つ以上のアプリケーションセッションとの間の接続を確立するステップは、前記ユーザーによって操作されている前記クライアントコンピュータが該1つ以上のアプリケーションセッションに接続することを許可するルールを条件とする、請求項1に記載の方法。
【請求項10】
前記ユーザーと前記1つ以上のアプリケーションセッションとの間の接続は、前記単一のユーザーインターフェース素子の選択により起動される、請求項1に記載の方法。
【請求項11】
セッションサーバーにより、前記ユーザーと関係する前記第1アプリケーションセッションと、該ユーザーと関係する前記第2アプリケーションセッションとを切断する切断要求を受信し、
該セッションサーバーにより、該第1および第2アプリケーションセッションを切断するステップをさらに含む、請求項1に記載の方法。
【請求項12】
前記セッションサーバーにより、前記第1および第2アプリケーションセッションは切断されていることを示すように、該第1および第2アプリケーションセッションと関係する少なくとも1つのデータレコードを更新することをさらに含む、請求項11に記載の方法。
【請求項13】
前記セッションサーバーにより、前記切断されたアプリケーションセッションの少なくとも1つの実行を継続するステップをさらに含む、請求項12に記載の方法。
【請求項14】
ステップ(e)は、前記ポリシーエンジンにより、前記受信した情報に応答して、前記ユーザーに既に関係する1つ以上のアプリケーションセッションを識別することをさらに含む、請求項1に記載の方法。
【請求項15】
ステップ(e)は、アプリケーションセッションを実行する1つ以上のサーバーに関係する格納されたデータを参考にすることをさらに含む、請求項1に記載の方法。
【請求項16】
ステップ(e)は、前記セッション格納機構により、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータを参考にすることをさらに含む、請求項1に記載の方法。
【請求項17】
ステップ(e)は、前記ポリシーエンジンにより、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータを参考にすることをさらに含む、請求項1に記載の方法。
【請求項18】
前記1つ以上のアプリケーションセッションは、接続より前に、第1クライアントコンピュータに接続され、接続後は、該1つ以上のアプリケーションセッションは、前記第1クライアントコンピュータに再接続される、請求項1に記載の方法。
【請求項19】
前記1つ以上のアプリケーションセッションは、接続を確立する前に、第1クライアントコンピュータと関係付けられ、接続を確立した後、該1つ以上のアプリケーションセッションは第2クライアントコンピュータに接続される、請求項1に記載の方法。
【請求項20】
少なくとも1つのアプリケーションセッションは切断されている、請求項1に記載の方法。
【請求項21】
少なくとも1つのアプリケーションセッションはアクティブである、請求項1に記載の方法。
【請求項22】
前記1つ以上のアプリケーションセッションを識別することは、認証情報の受信時に自動的である、請求項1に記載の方法。
【請求項23】
前記受信した情報に応答して、前記ユーザーに関係する1つ以上の以前に切断されたアプリケーションセッションからアプリケーションアウトプットを受信することを提供するステップをさらに含む、請求項1に記載の方法。
【請求項24】
前記受信した情報に応答して、前記ユーザーと関係する少なくとも1つのアクティブアプリケーションセッションを切断することをさらに含む、請求項23に記載の方法。
【請求項25】
前記1つ以上のアクティブアプリケーションセッションは、最初に第1クライアントコンピュータと接続され、前記リソースへのアクセスを要求した時、前記ユーザーは第2クライアントコンピュータを操作している、請求項23に記載の方法。
【請求項26】
前記1つ以上のアクティブアプリケーションセッションからのアプリケーションアウトプットの受信は、前記ユーザーが、該ユーザーによって操作される、該1つ以上のアクティブアプリケーションセッションに接続しているクライアントコンピュータを有することを許可するルールを条件とする、請求項23に記載の方法。
【請求項27】
前記1つ以上のアクティブのアプリケーションセッションからのアプリケーションアウトプットの受信と、前記1つ以上の切断されたアプリケーションセッションからのアプリケーションアウトプットの受信とは、単一のユーザーインターフェース素子の選択によって起動される、請求項23に記載の方法。
【請求項28】
前記1つ以上の切断されたアプリケーションセッションは、切断の前に、第1クライアントコンピュータに接続され、接続時、該1つ以上の切断されたアプリケーションセッションは該第1クライアントコンピュータに再接続される、請求項23に記載の方法。
【請求項29】
前記1つ以上の切断されたアプリケーションセッションは、切断の前に、第1クライアントコンピュータに接続されており、接続時に、前記1つ以上の切断されたアプリケーションセッションは第2のクライアントコンピュータに接続される、請求項23に記載の方法。
【請求項30】
承認された遠隔アクセスをアプリケーションセッションに提供するシステムであって、
該システムは、
該クライアントノードについての情報を収集するコレクションエージェントと、
該収集された情報を受信し、該受信した情報に基づいてアクセス制御決定を行い、クライアントノードに関係する1つ以上のアプリケーションセッションの一覧を要求するポリシーエンジンであって、該要求は、アクセス制御決定を含む、ポリシーエンジンと、
アクセス制御決定に応答して該クライアントノードに関係する1つ以上のアプリケーションセッションの一覧を生成するセッションサーバーと
を備えるシステム。
【請求項31】
前記コレクションエージェントはクライアントノード上で実行する、請求項30に記載のシステム。
【請求項32】
前記ポリシーエンジンは、前記クライアントノードに前記コレクションエージェントを送信する、請求項30に記載のシステム。
【請求項33】
前記ポリシーエンジンは、前記コレクションエージェントに、該コレクションエージェントが収集する情報の種類を決定する命令を送信する、請求項30に記載のシステム。
【請求項34】
前記ポリシーエンジンは、前記収集された情報にポリシーを適用することに基づいてアクセス制御決定を行う、請求項30に記載のシステム。
【請求項35】
前記アプリケーションセッションの第1のものは第1サーバー上を走り、該アプリケーションセッションの第2のものは第2サーバー上を走る、請求項30に記載のシステム。
【請求項36】
前記セッションサーバーは、前記1つ以上のアプリケーションセッションに前記クライアントノードを接続する、請求項30に記載のシステム。
【請求項37】
前記1つ以上のアプリケーションセッションへの前記クライアントノードの接続は、単一ユーザーインターフェース素子の選択により起動される、請求項36に記載のシステム。
【請求項38】
前記セッションサーバーは、切断要求を受信してユーザーと関係する前記第1アプリケーションセッションと、ユーザーと関係する前記第2アプリケーションセッションとを切断する切断要求を受け、該要求に応答して、第1および第2アプリケーションセッションを切断するように構成されている、請求項36に記載のシステム。
【請求項39】
前記セッションサーバーは、前記第1および第2アプリケーションセッションの各々と関係する少なくとも1つのデータレコードを更新することによって、該第1および第2アプリケーションセッションは切断されていることを示すように構成される、請求項38に記載のシステム。
【請求項40】
前記セッションサーバーは、前記切断されたアプリケーションセッションの少なくとも1つの実行を継続するようにさらに構成される、請求項38に記載のシステム。
【請求項41】
前記ポリシーエンジンは、アプリケーションセッションを実行する1つ以上のサーバーと関係する格納されたデータをさらに含む、請求項30に記載のシステム。
【請求項42】
前記1つ以上のアプリケーションセッションは、接続より前に、第1クライアントコンピュータに接続され、接続後、該1つ以上のアプリケーションセッションは、該第1クライアントコンピュータに再接続される、請求項30に記載のシステム。
【請求項43】
前記1つ以上のアプリケーションセッションは、接続より前に、第1クライアントコンピュータに関係付けられ、接続後、該1つ以上のアプリケーションセッションは、該第2クライアントコンピュータに再接続される、請求項30に記載のシステム。
【請求項44】
前記1つ以上のアプリケーションセッションの少なくとも1つは切断されている、請求項30に記載のシステム。
【請求項45】
前記1つ以上のアプリケーションセッションの少なくとも1つはアクティブである、請求項30に記載のシステム。
【図1A】
【図1B】
【図1C】
【図1D】
【図2】
【図3】
【図4】
【図4B】
【図5】
【図6】
【図7】
【図7B】
【図1B】
【図1C】
【図1D】
【図2】
【図3】
【図4】
【図4B】
【図5】
【図6】
【図7】
【図7B】
【公表番号】特表2008−515084(P2008−515084A)
【公表日】平成20年5月8日(2008.5.8)
【国際特許分類】
【出願番号】特願2007−534586(P2007−534586)
【出願日】平成17年8月10日(2005.8.10)
【国際出願番号】PCT/US2005/028605
【国際公開番号】WO2006/038985
【国際公開日】平成18年4月13日(2006.4.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
2.Linux
【出願人】(502239313)サイトリックス システムズ, インコーポレイテッド (36)
【Fターム(参考)】
【公表日】平成20年5月8日(2008.5.8)
【国際特許分類】
【出願日】平成17年8月10日(2005.8.10)
【国際出願番号】PCT/US2005/028605
【国際公開番号】WO2006/038985
【国際公開日】平成18年4月13日(2006.4.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
2.Linux
【出願人】(502239313)サイトリックス システムズ, インコーポレイテッド (36)
【Fターム(参考)】
[ Back to top ]