(57)【要約】  リモートターミナルサービスアプリケーションディスカバリのためのウェブサービスのシステムおよび方法が記載される。一態様では、イントラネットにおけるウェブサービスが提供される。ウェブサービスはパブリックネットワークと結合される。ウェブサービスにより、イントラネット上に配備されたアプリケーションに対応する情報について、パブリックネットワークを介して、リモートクライアントコンピュータディスカバリを容易にする。リモートクライアントコンピュータは、イントラネットの外にある。アプリケーションは、リモートクライアントコンピュータのユーザのためのターミナルサーバベースのアクセスのために構成される。【特許請求の範囲】
【請求項１】
パブリックネットワークに結合されているウェブサービスをイントラネットで提供することと、
前記イントラネット上に配備された少なくとも１つのアプリケーションに対応する情報について前記パブリックネットワークを介して、前記ウェブサービスによって、リモートクライアントコンピュータディスカバリを容易にすることであって、前記アプリケーションが前記リモートクライアントコンピュータのユーザのための後続のターミナルサーバ（ＴＳ）ベースのアクセスのために構成され、前記リモートコンピュータが前記イントラネットの外部にあることと
を備えることを特徴とする方法。
【請求項２】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されていることを特徴とする請求項１に記載の方法。
【請求項３】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されており、前記複数の情報ソースがディレクトリサービス、ＳＭＳ（Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）、および／または前記ユーザに関連づけられたオフィスコンピュータを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記リモートクライアントコンピュータは、仮想プライベートネットワークを介してインターネットに結合されていないことを特徴とする請求項１に記載の方法。
【請求項５】
容易にすることは、
前記リモートクライアントコンピュータからリモートアプリケーションディスカバリ要求を、前記ウェブサービスによって、受信することであって、前記リモートアプリケーションディスカバリ要求が前記ユーザのＩＤ情報を備え、前記リモートアプリケーションディスカバリ要求が前記パブリックネットワークを越えて前記ウェブサービスに伝達されることと、
前記リモートアプリケーションディスカバリ要求を受信することに応答して、前記イントラネット上に配備された１つまたは複数の情報ソースへアプリケーション取得要求を、前記ウェブサービスによって、伝達することであって、前記アプリケーション取得要求が前記１つまたは複数の情報ソースのそれぞれに、前記識別情報に応じて前記情報を返すように指示することと、
前記伝達に応答して、前記情報を受信することと、
前記ユーザによる後続のＴＳベースのアクセスのために構成されているリモートに配備されたアプリケーションのそれぞれに関連づけられたユーザインタフェースオブジェクトの集約された提示のために前記リモートクライアントコンピュータへ前記情報を転送することと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記少なくとも１つのアプリケーションは、前記ユーザに関連づけられたオフィスコンピュータ上にインストールされ、前記アプリケーション取得要求を伝達することは、
前記イントラネット上に配備されたディレクトリサービスへネットワークアドレス取得要求を送信することと、
前記ネットワークアドレス取得要求を送信することに応答して、前記オフィスコンピュータのネットワークアドレスを識別する応答を受信することと
をさらに備え、
前記アプリケーション取得要求は、前記オフィスコンピュータのネットワークアドレスへ伝達されることを特徴とする請求項５に記載の方法。
【請求項７】
リモートアプリケーションディスカバリのためのコンピュータ実行可能命令を備えたコンピュータ可読媒体であって、前記コンピュータプログラム命令は、
パブリックネットワークに結合されているウェブサービスをイントラネットで提供するための命令と、
前記イントラネット上に配備された少なくとも１つのアプリケーションに対応する情報について前記パブリックネットワークを介して、前記ウェブサービスによって、リモートクライアントコンピュータディスカバリを容易にするための命令であって、前記アプリケーションが前記リモートクライアントコンピュータのユーザのための後続のターミナルサーバ（ＴＳ）ベースのアクセスのために構成され、前記リモートコンピュータが前記イントラネットの外部にある命令と
を備えたことを特徴とするコンピュータ可読媒体。
【請求項８】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されていることを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項９】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されており、前記複数の情報ソースがディレクトリサービス、ＳＭＳ（Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）、および／または前記ユーザに関連づけられたオフィスコンピュータを備えたことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項１０】
前記リモートクライアントコンピュータは、仮想プライベートネットワークを介してインターネットに結合されていないことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項１１】
容易にするための命令は、
前記リモートクライアントコンピュータからリモートアプリケーションディスカバリ要求を、前記ウェブサービスによって、受信するための命令であって、前記リモートアプリケーションディスカバリ要求が前記ユーザのＩＤ情報を備え、前記リモートアプリケーションディスカバリ要求が前記パブリックネットワークを越えて前記ウェブサービスに伝達される命令と、
前記リモートアプリケーションディスカバリ要求を受信することに応答して、前記イントラネット上に配備された１つまたは複数の情報ソースへアプリケーション取得要求を、前記ウェブサービスによって、伝達するための命令であって、前記アプリケーション取得要求が前記１つまたは複数の情報ソースのそれぞれに、前記ＩＤ情報に応じて前記情報を返すように指示する命令と、
前記伝達に応答して、前記情報を受信するための命令と、
前記ユーザによる後続のＴＳベースのアクセスのために構成されているリモートに配備されたアプリケーションのそれぞれに関連づけられたユーザインタフェースオブジェクトの集約された提示のために前記リモートクライアントコンピュータへ前記情報を転送するための命令と
をさらに備えたことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項１２】
前記１つまたは複数の情報ソースへ前記アプリケーション取得要求を伝達するための命令は、１つまたは複数のアクセサモジュールのそれぞれにわたって実施され、各アクセサモジュールが前記情報ソースの特定の１つの情報ソースと通信するように構成されたことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記少なくとも１つのアプリケーションは、前記ユーザに関連づけられたオフィスコンピュータ上にインストールされ、前記アプリケーション取得要求を伝達するための命令は、
前記イントラネット上に配備されたディレクトリサービスへネットワークアドレス取得要求を送信するための命令と、
前記ネットワークアドレス取得要求を送信することに応答して、前記オフィスコンピュータのネットワークアドレスを識別する応答を受信するための命令と
をさらに備え、
前記アプリケーション取得要求は、前記オフィスコンピュータのネットワークアドレスへ伝達されることを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
プロセッサと、
前記プロセッサに結合され、リモートアプリケーションディスカバリのために前記プロセッサによって実行可能なコンピュータプログラム命令を備えたメモリとを備えたコンピューティングデバイスであって、前記コンピュータプログラム命令は、
パブリックネットワークに結合されているウェブサービスをイントラネットで提供するための命令と、
前記イントラネット上に配備された少なくとも１つのアプリケーションに対応する情報について前記パブリックネットワークを介して、前記ウェブサービスによって、リモートクライアントコンピュータディスカバリを容易にするための命令であって、前記アプリケーションが前記リモートクライアントコンピュータのユーザのための後続のターミナルサーバ（ＴＳ）ベースのアクセスのために構成され、前記リモートコンピュータが前記イントラネットの外部にある命令と
を備えたことを特徴とするコンピューティングデバイス。
【請求項１５】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されていることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１６】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されており、前記複数の情報ソースがディレクトリサービス、ＳＭＳ（Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）、および／または前記ユーザに関連づけられたオフィスコンピュータを備えたことを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１７】
前記リモートクライアントコンピュータは、仮想プライベートネットワークを介してインターネットに結合されていないことを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１８】
容易にするための命令は、
前記リモートクライアントコンピュータからリモートアプリケーションディスカバリ要求を、前記ウェブサービスによって、受信するための命令であって、前記リモートアプリケーションディスカバリ要求が前記ユーザのＩＤ情報を備え、前記リモートアプリケーションディスカバリ要求が前記パブリックネットワークを越えて前記ウェブサービスに伝達される命令と、
前記リモートアプリケーションディスカバリ要求を受信することに応答して、前記イントラネット上に配備された１つまたは複数の情報ソースへアプリケーション取得要求を、前記ウェブサービスによって、伝達するための命令であって、前記アプリケーション取得要求が前記１つまたは複数の情報ソースのそれぞれに、前記ＩＤ情報に応じて前記情報を返すように指示する命令と、
前記伝達に応答して、前記情報を受信するための命令と、
前記ユーザによる後続のＴＳベースのアクセスのために構成されているリモートに配備されたアプリケーションのそれぞれに関連づけられたユーザインタフェースオブジェクトの集約された提示のために前記リモートクライアントコンピュータへ前記情報を転送するための命令と
をさらに備えたことを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１９】
前記アプリケーション取得要求を１つまたは複数の情報ソースへ伝達するための命令は、１つまたは複数のアクセサモジュールのそれぞれによって実施され、各アクセサモジュールが前記情報ソースの特定の１つの情報ソースと通信するように構成されたことを特徴とする請求項１８に記載のコンピューティングデバイス。
【請求項２０】
パブリックネットワークに結合されているウェブサービスをイントラネットで提供するための手段と、
前記イントラネット上に配備された少なくとも１つのアプリケーションに対応する情報について前記パブリックネットワークを介して、前記ウェブサービスによって、リモートクライアントコンピュータディスカバリを容易にするための手段であって、前記アプリケーションが前記リモートクライアントコンピュータのユーザのための後続のターミナルサーバ（ＴＳ）ベースのアクセスのために構成され、前記リモートコンピュータが前記イントラネットの外部にある手段と
を備えたことを特徴とするコンピューティングデバイス。
【請求項２１】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されていることを特徴とする請求項２０に記載のコンピューティングデバイス。
【請求項２２】
前記少なくとも１つのアプリケーションは、複数のアプリケーションであり、前記複数のアプリケーションのそれぞれが前記イントラネット上の複数の情報ソースによって公開されており、前記複数の情報ソースがディレクトリサービス、ＳＭＳ（Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）、および／または前記ユーザに関連づけられたオフィスコンピュータを備えたことを特徴とする請求項２０に記載のコンピューティングデバイス。
【請求項２３】
容易にするための手段は、
前記リモートクライアントコンピュータからリモートアプリケーションディスカバリ要求を、前記ウェブサービスによって、受信するための手段であって、前記リモートアプリケーションディスカバリ要求が前記ユーザのＩＤ情報を備え、前記リモートアプリケーションディスカバリ要求が前記パブリックネットワークを越えて前記ウェブサービスに伝達される手段と、
前記リモートアプリケーションディスカバリ要求を受信することに応答して、前記イントラネット上に配備された１つまたは複数の情報ソースへアプリケーション取得要求を、前記ウェブサービスによって、伝達するための手段であって、前記アプリケーション取得要求が前記１つまたは複数の情報ソースのそれぞれに、前記ＩＤ情報に応じて前記情報を返すように指示する手段と、
前記伝達に応答して、前記情報を受信するための手段と、
前記ユーザによる後続のＴＳベースのアクセスのために構成されているリモートに配備されたアプリケーションのそれぞれに関連づけられたユーザインタフェースオブジェクトの集約された提示のために前記リモートクライアントコンピュータへ前記情報を転送するための手段と
をさらに備えたことを特徴とする請求項２０に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートターミナルサービスアプリケーションディスカバリに関する。
【背景技術】
【０００２】
従来、アプリケーションの公開には、公開されたアプリケーションをローカルマシン上でインストールおよび実行することが伴う。これは、管理者がパッケージを公開し、その後、管理者が指定したクライアントマシン上でダウンロードおよびインストールすることによって行うことができる。アプリケーションソフトウェアによっては、このようなマシン（クライアント）のハードウェア要件が高くなることがある。加えて、インストール自体に顕著な時間やリソースがかかり、既存のアプリケーションのインストールと競合することさえある。
【０００３】
このような従来のアプリケーション公開の限界に鑑み、分散コンピューティング環境においてターミナルサービスを用いて企業イントラネットでインストールおよび実行されるリソースにシンクライアントコンピューティングモデルを提供することができる。ターミナルサービス（ＴＳ）を用いることにより、リモートコンピューティングデバイス（すなわち、イントラネットの外にあるクライアントデバイス）が、企業サーバ上にインストールされたアプリケーションにアクセスし、企業サーバ上でアプリケーションを実行し、リモートクライアント上にアプリケーションのユーザインタフェース（ＵＩ）を表示することができるようになる。アプリケーションは企業サーバ上で実行されるので、ＴＳによって、リモートクライアントがクライアントデバイス上でローカルにリソースを実行するのに適当なハードウェアおよびソフトウェアを有するかどうかに拘わりなく、企業インフラストラクチャリソースを利用することができるようになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
管理エンティティは、特定のユーザ、ユーザのグループ、および／またはクライアントデバイスのアプリケーションへのアクセスのために企業イントラネットを構成するために、通常、アプリケーションをインストールし、明示的にアプリケーションアクセスポリシと、デフォルト／カスタマイズされたアプリケーションの振る舞いを指定しなければならない。これらの企業側での準備は、エンドユーザのリソースへのアクセスの前に行われるので、これらの準備は一般に、リモートクライアントユーザの最終的なアプリケーションの使用体験に悪影響を及ぼさない。しかしなお、このような企業側での準備を考慮しても、リモートクライアントユーザは依然として、どのアプリケーションがユーザアクセスを許可されているかを判断し、企業イントラネットにインストールされたアプリケーションにＴＳ経由でリモートアクセスし、実行するために、相当の手間と時間のかかる手続きを行わなければならない。
【０００５】
例えば、今日、ユーザは企業ネットワークへの仮想プライベートネットワーク（ＶＰＮ）コネクションを設定し、リモートクライアントを起動し、リモートコンピュータの名前およびユーザのクレデンシャルを入力し、ＴＳを用いてデスクトップに接続し、そのデスクトップからアプリケーションを起動しなければならない。さらに悪いことに、これらのエンドユーザのアクティビティは、ユーザがＴＳサービス経由でアプリケーションにリモートアクセスを欲するたびに毎回、利用者によって行わなければならない。
【０００６】
リモートクライアントユーザが、後のリモートＴＳ実行のためにプライベートネットワーク上で利用可能なアプリケーションを識別するために、通常、行わなければならない相当の手間と時間のかかる手続きに鑑みて、リモートクライアントユーザはＴＳアクセスのために利用可能な企業リソースをシームレスに識別することができない。
【課題を解決するための手段】
【０００７】
リモートターミナルサービスアプリケーションディスカバリのためのウェブサービスのシステムおよび方法について説明する。一態様では、イントラネットにおけるウェブサービスが提供される。ウェブサービスはパブリックネットワークと結合される。ウェブサービスにより、イントラネット上に配備されたアプリケーションに対応する情報について、パブリックネットワークを介して、リモートクライアントコンピュータディスカバリが容易になる。リモートクライアントコンピュータはイントラネットの外部にある。アプリケーションはリモートクライアントコンピュータのユーザによるターミナルサーバベースのアクセスのために構成される。
【０００８】
図中、コンポーネントの参照番号の左端の数字は、そのコンポーネントが最初に現れる特定の図面を表している。
【発明を実施するための最良の形態】
【０００９】
（概要）
リモートアプリケーションディスカバリのためのウェブサービスの下記のシステムおよび方法は、組織的なイントラネット上のサーバによるターミナルサービス実行のためにアプリケーションにアクセスするときのリモートクライアントの体験を実質的に簡単化する。この簡単化されたアクセスの１つの理由は、本システムおよび方法が、任意数の企業イントラネットアプリケーションのインストールポイントにわたるリモートアクセスのために構成されているアプリケーションを発見するからである。この目的のために、本システムおよび方法により、組織エンティティがリモートアプリケーションをさまざまな情報ソースメカニズムを用いて公開し、そしてアプリケーションの単一の集約されたビューを、インターネットを介してリモートクライアントに提供できるようになる。このようなアプリケーション公開をリモートアプリケーション公開（ＲＡＰ：Ｒｅｍｏｔｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｕｂｌｉｓｈｉｎｇ）と称する。ユーザ、ユーザのグループ、および／または特定のコンピューティングデバイスによるアクセスのためにＲＡＰを介して公開されたアプリケーションのリモートクライアントコンピュータデバイスディスカバリを、リモートアプリケーションディスカバリと称する。
【００１０】
より具体的には、組織イントラネット中のエンティティが、企業イントラネット中のサーバおよび／またはエンドユーザコンピューティングデバイス上にいくつかのアプリケーションをインストール、すなわち配備する。例えば、管理エンティティが、アプリケーションを企業サーバ上にリモートＴＳベースのアクセスのためにインストールすることがある。管理エンティティは、ＲＡＰを用いて、配備されたアプリケーションと、特定のユーザ、ユーザのグループ、および／または特定のクライアントコンピューティングデバイスとの間の関連づけを作成する。そして、これらの関連づけは、１つまたは複数のデータベース／情報ソースに格納される。このようなデータベースとしては、例えば、ＳＭＳ（Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）および／またはディレクトリサービス（データベース）がある。別の例では、イントラネット中のコンピュータ（例えば、汎用コンピュータ、ワークステーション等）のユーザが、ＲＡＰを用いて、コンピュータ上に配備されたアプリケーションがユーザによるリモートＴＳベースのアクセスのために利用可能とすることを指定する。
【００１１】
リモートクライアントデバイスは、企業ファイアウォールの外部にあるか、仮想プライベートネットワーク（ＶＰＮ）を介して企業ネットワークに接続されているか等とは無関係に、インターネットのようなパブリックネットワーク上に配備された新規のＲＡＰウェブサービス（ＲＷＳ）を介してこれらのアプリケーションを発見する。一実施態様では、リモートクライアントデバイスのエンドユーザが、ウェブブラウザまたはユーザインタフェースシェルを用いて、リモートクライアントデバイスまたはエンドユーザに関連づけられた各アプリケーションを発見／列挙する。ＲＡＰディスカバリ要求を受信することに応答して、ＲＷＳはデータベースに照会して、リモートクライアントデバイスに関連づけられた各アプリケーションまたはリモートクライアントデバイスに関連づけられた単一のユーザを識別する。ＲＷＳは、アプリケーションについて紹介される異なるデータベースのそれぞれと通信するためのプロトコルの詳細を隠蔽する。
【００１２】
ユーザによるリモートクライアントＴＳベースのアクセスのために構成された１つまたは複数のアプリケーションを識別した後、アプリケーションに関連づけられたインストールポイントの数およびタイプとは無関係に、ＲＷＳは識別された各アプリケーションおよびそのイントラネットインストールポイントを単一の包括的なアプリケーションのリストに集約する。この集約されたリストは、例えば、ユーザインタフェース（ＵＩ）シェル、ウェブブラウザウィンドウ等におけるショートカットとして、提示のために要求側のリモートクライアントデバイスへ送信される。この提示されたショートカットは、１つまたは複数のアプリケーションソースにわたるリモートに配備されたアプリケーションの集約を表しているので、ＲＡＰショートカットが単一のソース（インストールポイント）に由来するかどうか、複数の異なる情報ソースに由来するかどうかエンドユーザにとって完全にトランスペアレントである。このようにして、許可されたユーザは、ターミナルサーバ（ＴＳ）ファームおよび／または自身のオフィスコンピュータ上に配備されたアプリケーションをリモートロケーションからシームレスに発見および使用することができる。ＵＩシェルの改良を介してこのようなショートカットを提示することにより、エンドユーザには、任意数のリモートサーバおよび／またはデスクトップにわたって配備された企業リソースへのシームレスなＴＳベースのアクセスが提供される。
【００１３】
リモートアプリケーションディスカバリのためのウェブサービスのシステムおよび方法のこれらおよびその他の態様について、さらに詳細に説明する。
【００１４】
（リモートアプリケーションディスカバリのための例示的なシステム）
図面を見ると、同様の参照番号は同様の要素を参照し、本発明が好適なコンピューティング環境において実施されるものとして示されている。必須ではないが、本発明は、パーソナルコンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令との一般的なコンテキストで説明される。プログラムモジュールは一般に、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。
【００１５】
（リモートディスカバリのための組織イントラネット上のアプリケーションのインストール］
図１は、以下で説明するリモートアプリケーションディスカバリのためのウェブサービスのシステム、装置および方法が完全にまたは部分的に実施され得る好適なコンピューティング環境１００の一例を示している。環境１００は、アプリケーション（複数可）１０４（例えば１０４−１および１０４−２）を特定のユーザ（複数可）、ユーザのグループ（複数可）、および／またはリモートクライアントコンピューティングデバイス（複数可）１０６と関連づけるオフィスコンピュータ１０２の形態の汎用コンピューティングデバイスを含む。オフィスコンピュータは、イントラネット中の企業ファイアウォール１０８−１の背後にある。本実施態様では、イントラネットは、信頼できる内部ネットワーク（ＬＡＮ１１２）と、インターネットのような信頼できない外部ネットワーク１１３との間に位置するサブネットワーク１１０を含む。サブネットワーク１１０は、ファイアウォール１０８−１および１０８−２によって画定される非武装地帯（ＤＭＺ）である。サブネットワーク１１０は、複数のソースからターミナルサービスリモートアプリケーション情報／ショートカットを集約するためのＲＡＰウェブサーバ１１４を含み、インターネットを介してリモートクライアントデバイス１０６のユーザによって列挙することができるようにする。
【００１６】
アプリケーション１０４は、ＬＡＮ１１２の１つまたは複数のインストールポイントに配備および公開される。例えば、アプリケーション１０４−１は、１つまたは複数のオフィスコンピュータ１０２上に公開されており、そして／またはアプリケーション１０４−２は、１つまたは複数のアプリケーションサーバ１１６上に公開されている。オフィスコンピュータ１０２上にアプリケーション１０４−１を公開するために、オフィスコンピュータ１０２のユーザは、パーソナル公開のためのＲＡＰウィザード１１８とインタフェースをとる。ＲＡＰウィザードにより、ユーザは、公開されるべきアプリケーションを指定し、マップ１２０を生成することができる。マップ１２０は、各オフィスコンピュータ１０２を特定のユーザに関連づける。マップ１２０は後に利用されて、後述するように、公開されたアプリケーション１０４−１に対するリモートアプリケーションディスカバリをユーザによるその後のリモートターミナルサーバ（ＴＳ）アクセスのためにユーザに提供する。
【００１７】
アプリケーションサーバ１１６上にアプリケーション１０４−２を公開するために、管理エンティティは、システムポリシエディタまたはその他の管理アプリケーションを用いて、特定のユーザ（複数可）、ユーザのグループ（複数可）、および／またはリモートクライアントデバイス（複数可）１０６をアプリケーション１０４−２のそれぞれに関連づける。管理エンティティは、インストールパッケージインストーラ（例えばＭＳＩ）ウィザード１１９を用いてインストールパッケージ（例えばインストールパッケージ１２１−１〜１２１−３）を生成する。インストールパッケージ１２１は、１つまたは複数のアプリケーションサーバ１１６上のインストールポイントを指示するのに十分なアプリケーション１０４−２に関する情報を含む。例えば、一実施態様では、各インストールパッケージ１２１は、アプリケーション１０４−２の名前およびアプリケーションサーバ１１６の名前（例えば、エイリアス、ＩＰアドレス等）を指定する。
【００１８】
インストールパッケージ１２１は、オフィスコンピュータ１０２および／またはアプリケーションサーバ１１６上に公開されたアプリケーション１０４と関連づけられるとき、１つまたは複数のデータベース（情報ソース）に格納することができる。ＬＡＮ１１２の具体的なアーキテクチャ実装に応じて、任意のタイプのデータベースアクセス技術（例えばＬＤＡＰ等）を用いて任意数のデータベースを、インストールパッケージ１２１を格納するために用いることができる。一実施態様では、インストールパッケージ１２１は、ドメインコントローラ（図示せず）のディレクトリサービス１２２に関連づけられたインストールパッケージ１２１−１としてデータベースに格納される。別の実施態様では、インストールパッケージ１２１−１は、ＳＭＳ（Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）１２８を介して管理されるデータベース１２６上のインストールパッケージ１２２−２として格納される。ディレクトリサービス１２２およびＳＭＳ１２８はそれぞれのネットワークサービスを提供して、ＬＡＮ１１２のリソースを識別し、それらをユーザおよびアプリケーションにアクセス可能にする。
【００１９】
例えば、ディレクトリサービス１２２は、公開されたアプリケーション１０４のリストのようなユーザごとの情報や、ファイアウォール１０８のナビゲーションコンフィグレーションなどのその他の情報を含む。オフィスコンピュータ１０２上に公開されたアプリケーション１０４は、１つまたは複数のデータベース上に格納されてもよいが、これらのオフィスコンピュータのマッピング１２０−１は、関連づけられたオフィスコンピュータ１０２上にのみ格納されてもよい。
【００２０】
（ＲＡＰウェブサーバのサービス）
図１を参照すると、ＲＡＰウェブサーバ１１４は、複数のソースからターミナルサービスリモートアプリケーション情報／ショートカットを集約し、インターネットを介してリモートクライアントデバイス１０６のユーザによって列挙することができるようにする。この目的のために、ＲＡＰウェブサーバ１１４は、例えば、分散環境において構造化された情報を交換することが意図された既知の軽量プロトコルであるＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）を用いて、リモートクライアントデバイス１０６からディスカバリ要求１３２を受信するためのＲＡＰウェブサービス（ＲＷＳ）１３０を含む。ディスカバリ要求１３２はＳＯＡＰ経由でＲＷＳ１３０に伝達されるので、リモートクライアント１０６は、後述するように、ＬＡＮ１１２へ仮想プライベートネットワーク（ＶＰＮ）コネクションを確立してディスカバリ要求１３２の結果を得る必要がない。
【００２１】
本実施態様では、ＲＷＳ１３０は、認証、スレッディング、およびＨＴＴＰハンドリングのようなサービスのためにインターネットインフォメーションサービス（図示せず）を利用する。
【００２２】
リモートアプリケーションディスカバリ要求を受信することに応答して、ＲＷＳ１３０は可能性のある複数のイントラネットリモートアプリケーション情報ソースアクセサモジュール１３４（例えばモジュール１３４−１〜１３４−３）のそれぞれとインタフェースをとって、発見されたリモートアプリケーションの集約リスト（集約リスト１３６）を生成する。各アクセサモジュール１３４−１〜１３４−３は、特定のタイプのデータソース、あるいはデータベースとインタフェースをとるように設計され、これは、実装されたアプリケーションプログラミングインタフェース（ＡＰＩ）およびその特定のデータソースと通信するように構成された操作のシーケンスを介して行われる。インターネットＴＳアクセスのためのアプリケーション１０４の所望の配備に応じて、そしてＬＡＮ１１２の特定のアーキテクチャ実装に応じて、任意数のアクセサモジュール１３４があってよい。
【００２３】
このようにして、ＬＡＮ１１２の管理者は、任意数の方法および任意の組合せを用いてアプリケーション１０４を公開することができる。例えば、企業環境では、管理者は、アプリケーション１０４を公開するために、ディレクトリサービス１２２とともにＳＵＳ（Ｓｏｆｔｗａｒｅ  Ｕｐｄａｔｅ  Ｓｅｒｖｉｃｅｓ）技術を用いることを選択してもよい。別の方法は、ＳＭＳ（Ｓｙｓｔｅｍｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ）を用いることであろう。ローミング環境では、ユーザは、パーソナルオフィスコンピュータ１０２上の中心ロケーションに自身のアプリケーションを公開することもでき、単に企業ＩＤを用いてディレクトリサービス１２２でアプリケーションを公開することもできよう。ホーム環境では、ホームユーザは、既知のサービスバス技術を用いてアプリケーションを公開することもできよう。
【００２４】
この実施態様では、例えば、アクセサモジュール１３４は、ＳＭＳアクセサ１３４−１、ディレクトリサービスアクセサ１３４−２、およびワークステーションアクセサ１３４−３を含む。ＳＭＳアクセサ１３４−１は、例えばＨＴＴＰ経由でＳＭＳサーバ１２８へアプリケーション取得要求１３８（「要求」）を送信する。取得要求１３８を受信することに応答して、ＳＭＳサーバは、マッピング１２０−３を評価して、リモートクライアント１０６のユーザが、ＳＭＳサーバ１２８のドメイン内に配備されたいずれかのアプリケーション１０４に関連づけられているかどうかを判定する。そうであれば、ＳＭＳサーバは、関連づけられたアプリケーション（複数可）１０４およびそのそれぞれのインストールポイント（複数可）（例えば、コンピュータ１０２、アプリケーションサーバ１１６等）を識別するアプリケーション取得応答１４０（「応答」）をＳＭＳアクセサに送り返し、続いてＳＭＳアクセサは、その応答１４０をウェブサービス１３０に返す。
【００２５】
一実施態様では、リモートアプリケーションディスカバリ応答１４０は、実際のアプリケーション１０４が存在する場所を判定するのに有用なパラメータを含むテキストファイル（例えば、ＸＭＬ、ＲＤＰなど）である。このようなパラメータとしては、例えば、サーバ名、アプリケーションパス、リダイレクト設定、リモートアプリケーション１０４に関連づけられたファイル拡張子等が含まれる。
【００２６】
説明および表現の簡略化のために、単一のアプリケーション取得要求１３８および単一のアプリケーション取得応答１４０が示されている。つまり、アクセサモジュール１３４の各タイプからのそれぞれのアプリケーション取得要求およびアプリケーション取得応答を示す別々の取得要求１３８および取得応答１４０を示してもよかったが、単一の要求１３８および単一の応答１４０が、アクセサモジュール１３４のそれぞれからのそれぞれの取得要求および応答を表している。
【００２７】
本実施態様では、ディレクトリサービスアクセサ（ＤＳＡ）１３０−２がディレクトリサービス１２２とインタフェースをとり、これは、本例では、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（登録商標）である。ＤＳＡは、例えばＬＤＡＰ（ディレクトリサービスとインタフェースをとるための共通のプロトコル）を用いて、ディレクトリサービス１２２へそれぞれのアプリケーション取得要求１３８を送信する。要求１３８を受信することに応答して、ディレクトリサービスは、インストールされたアプリケーションとユーザの間のマッピング１２０を評価する。この評価は、リモートクライアントデバイス１０６のユーザが、アプリケーション１０４の具体的なものに関して許可されているか／関連づけられているかを判定する。この評価の結果が、任意のそのようなアプリケーション１０４のそれぞれのインストールポイントを含めて、ディレクトリサービス１２２によってウェブサービス１３０にそれぞれの応答１４０として返される。
【００２８】
パーソナルコンピュータ（ＰＣ）アクセサ１３４−３は、ＬＡＮ１１２上のオフィスコンピュータ１０２上にインターネットベースのリモートアプリケーションディスカバリのためにインストールされたアプリケーション１０４−１を列挙する。この目的のために、ＰＣアクセサ１３４−３は、リモートコンピューティングデバイス１０６のユーザに割り当てられているオフィスコンピュータ１０２のイントラネットアドレスを識別する。この目的のために、ＰＣアクセサ１３４−３は、ディレクトリサービス１２２にリソース取得要求１３９を伝達する。リソース取得要求１３９は、ユーザの企業ＩＤを示し、企業ＩＤは、後でさらに詳細に説明するように、ＬＡＮ１１２上の管理エンティティによって前もって設定され、その後にＲＡＰ設定モジュール１４８によって判定される。リソース取得要求１３９を受信することに応答して、ディレクトリサービスは、ユーザのオフィスコンピュータ１０２のイントラネットアドレス（図示せず）（例えば、ＩＰアドレス、ＮＡＴベースのアドレス、エイリアスなど）を識別する。ディレクトリサービスは、そのネットワークアドレスをＰＣアクセサモジュール１３４−３に返信する。
【００２９】
一実施態様では、リソース取得要求１３９がディレクトリサービス１２２に伝達されるとき、ユーザのリモートコンピューティングデバイス１０２は、ＬＡＮ１１２のイントラネットに接続されておらず、あるいは（ＶＰＮコネクション経由で）「トンネル」されていない。代わりに、ＲＷＳ１３０が、ディレクトリサービス１２２と通信することによって仲介として動作する。この実施態様では、リソース取得要求１３９は、ＬＤＡＰ、またはその他の適当なプロトコルを介して伝達されてもよい。
【００３０】
ユーザのオフィスコンピュータ１０２のイントラネットアドレスを受信することに応答して、ＰＣアクセサ１３４−３は、それぞれのアプリケーション取得要求１３８をＲＡＰウェブサービス１４２へ送信する。このＲＡＰウェブサービス１４２は、ユーザのオフィスコンピュータ１０２上に配備される。一実施態様では、アプリケーション取得要求１３８はＳＯＡＰ経由で伝達される。
【００３１】
それぞれのアプリケーション取得要求１３８を受信することに応答して、ウェブサービス１４２はディレクトリサービス１２２とインタフェースをとって、ユーザのオフィスコンピュータに対応するＬＡＮ１１２上にインストールされたアプリケーション１０４に関連づけられた情報を検索する。ウェブサービス１４２はシェルアクセサ１４４とインタフェースをとって、ユーザのオフィスコンピュータ１０２のデスクトップ／シェル上にインストールされたアプリケーション１０４−１を識別する。コンピュータ上にインストールされたアプリケーションを識別するための技法は、例えばオペレーティングシステムサービスにより、既知である。この情報は、ユーザのデスクトップ／ワークスペース上にインストールされた任意のそのようなアプリケーション１０４−１のそれぞれのインストールポイントおよびリモートクライアントデバイス１０６とのＴＳクライアントセッション経由でアプリケーションを実行するのに必要な任意の情報を含む。この情報は、ディレクトリサービス１２２によってそれぞれのアプリケーション取得応答１４０としてＲＷＳ１３０に返される。
【００３２】
ＲＡＰウェブサービス（ＲＷＳ）１３０は、アクセサモジュール１３４のそれぞれから応答１４０を受信する。ＲＷＳ１３０は、受信した応答１４０に含まれるデータから集約リスト１３６を生成する。ＲＷＳ１３０は、リモートアプリケーションディスカバリ要求１３２を開始したリモートクライアントデバイス１０６へ集約リスト１３６を送信する。一実施態様では、集約リストは、ＳＯＡＰ／ＨＴＴＰ経由でリモートクライアントデバイス１０６へ伝達される。さらに、リスト１３６は集約リストと称されるが、それぞれのアプリケーション取得応答１４０は集約を形成するように組み合わされる必要はなく、１つまたは複数のデータソース（例えば、サーバ、オフィスコンピュータなど）からの発見されたインストールされたアプリケーション１０４を備えるリスト１４０として伝達されてもよい。
【００３３】
図２は、リモートアプリケーションディスカバリのためのパブリックネットワークサービスの例示的な手続き２００を示している。説明および例示の目的上、図２の動作は、図１の対応するコンポーネントに関して説明される。（図中、コンポーネントの参照番号の左端の数字は、そのコンポーネントが最初に現れる特定の図面を識別する。）
ブロック２０２で、リモートアプリケーションディスカバリ要求（ＲＡＤＲ）１３２（図１）が、ＲＡＰウェブサーバ（ＲＷＳ）１３０によってリモートクライアントコンピューティングデバイス１０６から受信される。上述したように、ＲＷＳ１３０は、ＬＡＮ１１２のようなイントラネットに位置する。リモートクライアントコンピューティングデバイス１０６はＬＡＮ１１２の外部にある。例えば、一実施態様では、リモートクライアント１０６は、インターネットのようなパブリックな外部ネットワーク１１３を越えてＲＷＳ１３０に結合される。
【００３４】
ブロック２０４で、ＲＷＳ１３０は、イントラネット上に配備された１つまたは複数の情報ソースからのアプリケーションデータを要求する。このような要求は、それぞれのメッセージ１３８を介してなされることもある。一実施態様では、ＲＷＳ１３０は、各それぞれのデータソースへ１つのメッセージ１３８を送信する。アプリケーションデータは、インストールされ、リモートコンピューティングデバイス１０６のユーザに関連づけられたアプリケーション１０４に対応する。情報ソースには、例えば、オフィスコンピュータ１０２、ディレクトリサービス１２２、および／またはＳＭＳサーバ１２８が含まれる。
【００３５】
一実施形態では、リモートアプリケーションディスカバリ要求１３２は、対象の１つまたは複数のデータソース、ならびにリモートコンピューティングデバイス１０６のユーザのローカルログインおよび／または企業ＩＤを指示する。例えば、要求１３２は、アプリケーション１０４−１（ユーザに関連づけられたオフィスコンピュータ１０２上にインストールされたもの）が発見されるべきことを指示してもよい。企業ＩＤは、ＬＡＮ１１２上のユーザの識別に対応する。
【００３６】
ブロック２０６で、ＲＷＳ１３０は、例えばイントラネット上のデータソースのそれぞれからのそれぞれの応答１４０を介して、要求されたアプリケーションデータを受信する。ブロック２０８で、ＲＷＳ１３０は、要求側クライアントデバイス１０２へアプリケーションデータを（例えばメッセージ１３６によって）ＲＡＰウェブサーバ１１４に送信されたリモートアプリケーションディスカバリ要求１３２の履行として伝達する。
【００３７】
次に、リモートクライアントコンピューティングデバイス１０６の例示的な態様について説明する。
【００３８】
（リモートクライアントデバイス）
以下で説明するコンポーネントにより、リモートクライアントデバイス１０６は、プライベートイントラネット上のエンドユーザのオフィスにあるユーザのオフィスコンピュータ１０２上にインストールされるリモートアクセスのためのアプリケーションを（パブリックネットワーク経由で）自動的に列挙することができるようになる。この実施形態では、リモートクライアントコンピューティングデバイス１０６（「リモートクライアント」）は、ユーザクレデンシャル（例えば企業ＩＤ）を収集し、受信したコンフィグレーションデータを用いて、ＴＳアクセスのためにリモートクライアント１０６を構成し、ＲＷＳ１３０経由でリモートアプリケーションディスカバリを開始するためのウィザード１４６を含む。ウィザード１４６は、ローミングする知識労働者の環境の判定のためのローミングプラグインサービスを提供する。このウィザードは、ＲＡＰウェブサービス１３０と通信して、ユーザに公開されたリモートアプリケーション１０４のリストを取得する。例えば、ウィザード１４６は、ＬＡＮ１１２へのアクセスのためのユーザクレデンシャルを得る。ウィザード１４６は、ＲＡＰ設定モジュール１４８経由で、ユーザのオフィスコンピュータ１０２のＲＡＰウィザード１１８へこれらのクレデンシャルを送信する。ＲＡＰウィザード１１８は、（例えば企業認証サービスを介して）ＬＡＮ１１２へのユーザアクセスの検証のために、リモートクライアントコンフィグレーション（ＲＣＣ）モジュール１５０へこれらのクレデンシャルを送信する。ユーザが、ＬＡＮリソースへアクセスするのを許可された場合、ＲＡＰウィザード１１８は、ＬＡＮアクセス許可および外向きのＲＡＰウェブサーバ（ＲＷＳ）１１４のロケーションを含むメッセージ１５２をＲＡＰ設定モジュール１４８へ伝達する。
【００３９】
リモートクライアント１０６のユーザがＬＡＮ１１２のアクセスを許可されると、ウィザード１４６は、ＲＡＰウェブサービス（ＲＷＳ）１３０へリモートアプリケーション発見（ディスカバリ）要求１３２を送信する。上記したように、ＲＷＳ１３０のインターネットアドレス／ＵＲＬは、メッセージ１５２中で識別されるか、そして／または、リモートクライアント上で実行されるコンフィグレーションスクリプトによる等の他の方法で識別される。上述したように、ディスカバリ要求１３２を受信することに応答して、ＲＷＳ１３０は、１つまたは複数のアクセサ１３４を呼び出して関連づけられたか、あるいはユーザのＴＳアクセスのために公開されたアプリケーション１０４を識別するためにＬＡＮ上のそれぞれのデータソースに問い合わせる。ＲＷＳは、この情報をウィザード１４６に集約リスト１３６として返す。
【００４０】
ウィザード１４６は、集約リスト１３６をＲＡＰクライアントワーカ１５４に伝達し、クライアントワーカは、新たに発見されたリモートアプリケーションを取り、シェル１５６を通じて、それらをユーザに提示する。一実施態様では、集約リスト１３６中で識別されるアプリケーション１０４を表すショートカット１５８がユーザに提示される。この例では、各ショートカット１５８は、ＬＡＮ１１２のインストールポイント上のそれぞれのアプリケーション１０４を指し示すファイルである。ショートカット１５８により、ユーザはＴＳクライアント１６０によって提供されたＴＳを介して、ＬＡＮ１１２上に格納されたファイルに便宜にアクセスすることができる。
【００４１】
ユーザがショートカット１５８に関連づけられたアプリケーション１０４を起動することを選ぶと、ＲＡＰ作成機能１６２コンポーネントがＴＳクライアント１６０をトリガする。ＲＡＰ作成機能が使用されると、シェル項目（ショートカット１５８のそれぞれのもの）は、シェルコンポーネント１５６によってリフレッシュされる。例えば、現在の環境のサブコンポーネントが、リモートアプリケーション１０４が非公開または更新されたと判定するとき、ＲＡＰクライアントワーカ１５４に通知し、ＲＡＰクライアントワーカ１５４は、そのサブコンポーネントの代わりに、デスクトップショートカットの削除または更新の処理を行う。
【００４２】
図３は、リモートクライアントコンピュータ１０６が、ＬＡＮ１１２中のオフィスコンピュータ１０２上にインストールされたリモートアプリケーション１０４−１を発見するための例示的なコンポーネントのデータフローを示している。リモートアプリケーションディスカバリは、インターネットのようなパブリックネットワーク１１３経由でアクセスされるウェブサービスを介して遂行される。説明および例示の目的上、図３の動作は、図１の対応するコンポーネントに関して説明される。図中、コンポーネントの参照番号の左端の数字は、そのコンポーネントが最初に現れる特定の図面を表している。例えば、コンポーネント１２２、１３０、１３４−３、１４２、および１４４は、図１に関して上記で最初に導入されたものである。コンポーネントのそれぞれと交わる縦線は、データフロー３０２〜３２２に関してここで説明するある特定のメッセージの受信および対応する応答を示すために使われており、それぞれのデータフローは方向矢印として示され、それぞれは、特定のコンポーネントとの間の宛先および／または発信元を示している。
【００４３】
方向矢印３０２は、ＲＡＰウェブサービス１３０へのデータフローを示している。データフロー３０２は、リモートアプリケーションディスカバリの要求に対応する。図１のリモートアプリケーションディスカバリ要求１３２はこのような要求の例示である。この例では、要求は、指定されたユーザに関連づけられたリモートクライアントコンピュータ１０４上にインストールされているアプリケーション１０４−１が、ディスカバリのために重要であることを示している。この要求に応答して、データフロー３０４によって示したように、ＲＡＰウェブサーバ１３０は、それぞれのアプリケーション取得要求１３８を、ＰＣアクセサ１３４−３のようなオフィスコンピュータアクセサに伝達する。この例では、アプリケーション取得要求は、ユーザの対応するオフィスコンピュータ１０２を識別しない。このように、ＰＣアクセサは、このユーザ固有のリソースデータについて、ＬＡＮ１１２のディレクトリサービス１２２に問い合わせ、これはデータフロー３０６により示されており、ドメインネームサービス（ＤＮＳ）を介して、ユーザのコンピューティングデバイス１０２のネットワークアドレスを得ることを対象としている。このイントラネット固有のリソースデータは、データフロー３０８によって示されるように、ディレクトリサービス１２２によってＰＣアクセサ１３４−３へ返信される。
【００４４】
この時点で、ＲＡＰウェブサービス１３０は、ユーザのコンピュータデバイス１０２に関連づけられたネットワークアドレスを有する。このネットワークアドレスを用いて、ＲＡＰウェブサーバ１１４のＲＡＰウェブサービス１３０は、アプリケーション取得要求をＲＡＰウェブサービス１４２へ伝達する。このウェブサービス１４２は、ユーザのオフィスコンピュータ１０２上で実行されている。データフロー３１０によって示されるように、このアプリケーション取得要求はディレクトリサービス１２２をバイパスする。ウェブサービス１４２は、要求を受信したことに応答して、シェルアクセサ１４４とインタフェースをとり、このシェルアクセサもまた、ユーザのオフィスコンピュータ１０２上で実行されている。このインタフェースは、データフロー３１２によって表されている。シェルアクセサ１３３は、ユーザまたは他の管理エンティティが、リモートクライアントインターネットディスカバリおよび後続のＴＳ実行のためにマークされたアプリケーション１０４−１をコンピュータ１０２上に配備したかどうかを判定する。一実施態様では、シェルアクセサは、オペレーティングシステムによって提供されるコンピュータプログラムである。シェルアクセサ１４４は、ユーザのコンピューティングデバイス１０２上にインストールされたアプリケーション１０４−１を列挙し、データフロー３１４〜３２０によって示されるように、この情報をコンポーネントのそれぞれを通じて返し、データフロー３２２によって示されるように、リモートコンピューティングデバイス１０６に最終的に到達する。
【００４５】
図４は、イントラネットの外にあるクライアントコンピューティングデバイス１０２のユーザに対して、イントラネット上のターミナルサーバアクセスのためにインストールされたアプリケーションを列挙および提示する例示的なプロセス４００を示している。説明の目的上、図４の動作は、図１の対応するコンポーネントに関して説明される。ブロック４０２で、リモートクライアントコンピューティングデバイス１０２は、ＲＡＰウェブサービス１１４のＲＡＰウェブサーバ１３０にリモートアプリケーションディスカバリ要求１３２を送信する。一実施態様では、要求１３２は、リモートクライアントデバイス１０２のユーザが、ＬＡＮ１１２にわたる１つまたは複数の具体的なインストールポイントにインストールされたアプリケーション１０４に対応する情報を受信することに興味があることを示す。つまり、対象のデータソースのそれぞれのものおよび／またはタイプが、リモートアプリケーションディスカバリ要求中で指定され得る。
【００４６】
ブロック４０４で、リモートクライアントデバイス１０２は、プライベートイントラネットに配備された１つまたは複数のデータソースにわたって、インストールされたアプリケーション１０４を識別するディスカバリ応答１３６をＲＡＰウェブサービス１３０から受信する。このようなデータソースとしては、例えば、ユーザワークステーション（例えばオフィスコンピュータ１０２）や、ディレクトリサービス１２２、ＳＭＳサーバ１２８、および／またはＬＡＮ１１２上に配備された任意の他のタイプの情報ソースを介してアクセス可能な種々のインストールポイントがある。
【００４７】
ブロック４０６で、リモートクライアントデバイス１０６は、これらのインストールされたアプリケーション１０４へのショートカット１５８をユーザに提示する。このショートカットは、１つまたは複数の応答１３６から抽出された情報から生成される。これらの発見されたリモートアプリケーションの提示はシームレスであり、これは、アプリケーション１０４のそれぞれへのショートカットが、それぞれのデータソースとは独立して、例えば、「スタート」メニューを介してリモートコンピューティングデバイス１０６のデスクトップ上に、ブラウザ１０４を介してユーザによってアクセスされるウェブページ上に、またはその他の何らかのユーザインタフェースで提示されることを意味している。こうしたシームレスな提示は、アクセスを有するすべてのアプリケーションについてエンドユーザに提示されるマージされたビューを表し、この場合、これらのアプリケーションは、複数のネットワークＩＤに関連づけられてもよく、複数の異なるソースに由来してもよい。
【００４８】
ユーザは、提示されたショートカット１５８のいずれかを選択して、関連づけられたアプリケーション１０４を、既知のターミナルサービスを介してリモートで起動することができる。これは、例えば、ＨＴＴＰを受信し、それをＲＤＰ（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ）またはそれと同等のものに変換し、ＬＡＮ１１２の適当なターミナルサーバ（図示せず）へ転送するＴＳプロキシ（図示せず）を介して行われる。したがって、アプリケーション１０４がリモートインストールポイントで実行されると、ユーザ体験は、アプリケーションがリモートクライアントデバイス１０６にローカルにインストールされている場合の体験とほとんど同一となる（例えば、オーディオ、クライアント側印刷デバイス、タスクバーなどの完全な統合がある）。
【００４９】
一実施態様では、ブロック４０６の動作は、既に説明したように、ウィザード１４６、ＲＡＰクライアントワーカ１５６、シェル１５６、および／またはＲＡＰ作成機能１６２の間のそれぞれのインタフェースを介して行われる。
【００５０】
（例示的オペレーティング環境）
図５は、本明細書に記載したリモートアプリケーションディスカバリのためのウェブサービスのシステム、装置および方法を（完全にまたは部分的に）実施することができる好適なコンピューティング環境５００の一例を示している。例示的コンピューティング環境５００は、好適なコンピューティング環境の単なる一例であり、本明細書に記載したシステムおよび方法の使用または機能の範囲に関していかなる限定を示唆することを意図するものではない。また、コンピューティング環境５００は、コンピューティング環境５００に示されたいかなるコンポーネントのいずれかまたはその組合せに関するいかなる依存または要件を有するものとも解釈されるべきではない。
【００５１】
本明細書に記載した方法およびシステムは、数多くの他の汎用または専用のコンピューティングシステム環境または構成とともに動作する。使用に好適と考えられる周知のコンピューティングシステム、環境、および／または構成の例としては、これらに限定されないが、パーソナルコンピュータ、サーバコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、そして上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などがある。このフレームワークのコンパクトなバージョンまたはサブセットバージョンをハンドヘルドコンピュータ、または他のコンピューティングデバイスのような限られたリソースのクライアントに実施することもできる。本発明は、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施される。分散コンピューティング環境では、プログラムモジュールはローカルおよびリモートの両方のメモリ記憶デバイスに配置されることがある。
【００５２】
図５を参照すると、リモートアプリケーションディスカバリのための例示的システムは、コンピュータ５１０の形態の汎用コンピューティングデバイスを含む。以下で説明するコンピュータ５１０の諸態様は、図２のオフィスコンピュータ１０２、図２のＲＡＰウェブサーバ１１４、および／または図２のリモートクライアントコンピューティングデバイス１０６の例示的な態様である。この観点で、コンピュータ５１０のコンポーネントには、これらに限られないが、処理ユニット５２０、システムメモリ５３０、およびシステムメモリを含む種々のシステムコンポーネントを処理ユニット５２０に結合するシステムバス５２１が含まれる。システムバス５２１は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造のいずれでもよい。例として、限定ではないが、このようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、および（Ｍｅｚｚａｎｉｎｅバスとも呼ばれる）ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスがある。
【００５３】
コンピュータ５１０は通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ５１０によってアクセスすることができる任意の利用可能な媒体とすることができ、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方が含まれる。例として、限定ではないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータのような情報の記憶のための任意の方法または技術で実装された揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体が含まれる。コンピュータ記憶媒体には、これらに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）等の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ等の磁気記憶デバイス、または所望の情報を格納するために使用することができ、コンピュータ５１０によってアクセスすることができる任意の他の媒体が含まれる。
【００５４】
通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを搬送波または他のトランスポートメカニズム等の変調データ信号で具現化し、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号中に情報を符号化するようにその１つまたは複数の信号の特性が設定または変更された信号を意味する。例として、限定ではないが、通信媒体には、有線ネットワークまたは直接配線接続のような有線媒体、および音響、ＲＦ、赤外線等の無線媒体のような無線媒体がある。上記の任意の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５５】
システムメモリ５３０は、読み出し専用メモリ（ＲＯＭ）５３１およびランダムアクセスメモリ（ＲＡＭ）５３２のような揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中等にコンピュータ５１０内の要素間で情報を転送するのに役立つ基本ルーチンが入っている基本入出力システム５３３（ＢＩＯＳ）は通常ＲＯＭ５３１に格納されている。ＲＡＭ５３２は通常、処理ユニット５２０によって直にアクセス可能な、そして／または現在操作されているデータおよび／またはプログラムモジュールを収容する。例として、限定ではないが、図５は、オペレーティングシステム５３４、アプリケーションプログラム５３５、他のプログラムモジュール５３６、およびプログラムデータ５３７を示している。
【００５６】
コンピュータ５１０はまた、他のリムーバブル／非リムーバブル、揮発性／不揮発性のコンピュータ記憶媒体を含んでもよい。単に例として、図５は、非リムーバブル不揮発性磁気媒体との読み書きを行うハードディスクドライブ５４１、リムーバブル不揮発性磁気ディスク５５２との読み書きを行う磁気ディスクドライブ５５１、およびＣＤ−ＲＯＭ等の光媒体のようなリムーバブル不揮発性光ディスク５５６との読み書きを行う光ディスクドライブ５５５を示している。例示的なオペレーティング環境で使用することができる他のリムーバブル／非リムーバブル、揮発性／不揮発性のコンピュータ記憶媒体としては、これらに限定されないが、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭ等がある。ハードディスクドライブ５４１は通常、インタフェース５４０のような非リムーバブルメモリインタフェースを通じてシステムバス５２１に接続され、磁気ディスクドライブ５５１および光ディスクドライブ５５５は通常、インタフェース５５０のようなリムーバブルメモリインタフェースによってシステムバス５２１に接続される。
【００５７】
上述し図５に示したドライブおよびそれらの関連するコンピュータ記憶媒体は、コンピュータ５１０のためのコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータのストレージを提供する。図５において、例えばハードディスクドライブ５４１は、オペレーティングシステム５４４、アプリケーションプログラム５４５、他のプログラムモジュール５４６、およびプログラムデータ５４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム５３４、アプリケーションプログラム５３５、他のプログラムモジュール５３６、およびプログラムデータ５３７と同じでも異なっていてもよいことに留意されたい。オペレーティングシステム５４４、アプリケーションプログラム５４５、他のプログラムモジュール５４６、およびプログラムデータ５４７は、それらが少なくとも別のコピーであることを示すためにここでは異なる番号が与えられている。
【００５８】
ユーザは、キーボード５６２、およびマウス、トラックボールまたはタッチパッドと一般に称されるポインティングデバイス５６１のような入力デバイスを通じてコンピュータ５１０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）としては、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が挙げられる。これらおよび他の入力デバイスは、システムバス５２１に結合されるユーザ入力インタフェース５６０を通じて処理ユニット５２０に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）等の他のインタフェースおよびバス構造によって接続されることもある。
【００５９】
モニタ５９１または他のタイプのディスプレイデバイスもまた、ビデオインタフェース５９０のようなインタフェースを介してシステムバス５２１に接続される。モニタに加えて、コンピュータはスピーカ５９７やプリンタ５９６のような他の周辺出力デバイスを含んでもよく、これらは出力周辺インタフェース５９５を通じて接続することができる。
【００６０】
コンピュータ５１０は、リモートコンピュータ５８０のような１つまたは複数のリモートコンピュータへの論理コネクションを用いてネットワーク化された環境で動作する。リモートコンピュータ５８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通のネットワークノードとすることができ、通常、コンピュータ５１０に関して上述した要素の多くまたはすべてを含むが、図５にはメモリ記憶デバイス５８１のみを示している。図５に示す論理コネクションは、ローカルエリアネットワーク（ＬＡＮ）５７１およびワイドエリアネットワーク（ＷＡＮ）５７３を含むが、他のネットワークを含んでもよい。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。
【００６１】
ＬＡＮネットワーキング環境で使用されるとき、コンピュータ５１０はネットワークインタフェースまたはアダプタ５７０を通じてＬＡＮ５７１に接続される。ＷＡＮネットワーキング環境で使用されるとき、コンピュータ５１０は通常、インターネットのようなＷＡＮ５７３を介して通信を確立するためのモデム５７２等の手段を含む。モデム５７２は、内蔵でも外付けでもよく、ユーザ入力インタフェース５６０または他の適当なメカニズムを介してシステムバス５２１に接続することができる。ネットワーク化環境では、コンピュータ５１０に関して図示したプログラムモジュールまたはその部分は、リモートメモリ記憶デバイスに格納することができる。例として、限定ではないが、図５は、リモートアプリケーションプログラム５８５がメモリデバイス５８１上に存在するものとして示している。図示したネットワーク接続は例示であり、コンピュータ間に通信リンクを確立する他の手段を使用してもよい。
【００６２】
（結論）
本発明について、構造的な特徴および／または方法上の操作もしくは動作に固有の言葉で説明したが、添付の特許請求の範囲に規定した本発明は、必ずしも記載した具体的な特徴または動作に限定されないことを理解されたい。むしろ、具体的な特徴および動作は、特許請求の範囲の発明を実施する好ましい形態として開示されている。
【図面の簡単な説明】
【００６３】
【図１】本明細書に記載されたリモートアプリケーションディスカバリのためのウェブサービスのシステム、装置および方法を完全にまたは部分的に実施することができる好適なコンピューティング環境の一例を示す。
【図２】リモートアプリケーションディスカバリのためのパブリックネットワークサービスの例示的な手続きを示す。
【図３】リモートクライアントコンピュータがローカルエリアネットワーク中のオフィスコンピュータ１０２上にインストールされたリモートアプリケーションを発見する例示的なコンポーネントデータフローを示す。このリモートアプリケーションディスカバリは、インターネットのようなパブリックネットワーク経由でアクセスされるウェブサービスを介して行われる。
【図４】イントラネットの外部にあるクライアントコンピューティングデバイスのユーザに対して、イントラネット上のターミナルサーバアクセスのためにインストールされるアプリケーションを列挙し、提示する例示的な手続きを示す。
【図５】本明細書に記載されたリモートアプリケーションディスカバリのためのウェブサービスのシステム、装置および方法を実施することができる好適なコンピューティング環境の一例を示す。
【図１】
2007512616.tif 000002
【図２】
2007512616.tif 000003
【図３】
2007512616.tif 000004
【図４】
2007512616.tif 000005
【図５】
2007512616.tif 000006
【国際調査報告】
2007512616.tif 000007