(57)【特許請求の範囲】
【請求項１】
クライアントノードとネットワークサーバとアプリケーション実行サーバとを含むシステムを用いて、ハイパーメディアページをインタラクティブにする方法であって、該クライアントノード、該ネットワークサーバおよび該アプリケーション実行サーバのそれぞれは、互いに結合されており、該クライアントノードは、クライアントエージェントを含み、該クライアントエージェントは、該クライアントノード上のソフトウェアプロセスであり、
該方法は、
ａ）該クライアントノードが、ユーザが選択したハイパーリンクに対応するハイパーリンク構成ファイルを該ネットワークサーバから取り出すステップであって、該ハイパーリンク構成ファイルは、アプリケーション実行サーバを特定し、かつ、クライアントエージェントを識別する、ステップと、
ｂ）該クライアントノードが、該ハイパーリンク構成ファイルによって識別された該クライアントエージェントを該クライアントノード上で開始するステップと、
ｃ）該クライアントエージェントが、該ハイパーリンク構成ファイルにおいて特定された該アプリケーション実行サーバとの通信リンクを作成するステップと、
ｄ）該アプリケーション実行サーバが、該通信リンクを介して該クライアントエージェントと該アプリケーション実行サーバとの間で送信されるデータに応答して、該アプリケーション実行サーバ上でアプリケーションを開始するステップと
を包含する、方法。
【請求項２】
ｅ）前記ステップｄ）の後に、前記クライアントエージェントが、前記アプリケーションからのデータを前記通信リンクを介して前記クライアントノード上に表示するステップを更に包含する、請求項１に記載の方法。
【請求項３】
ｅ）前記ステップａ）の前に、前記クライアントノードが、ハイパーメディアページを前記ネットワークサーバから取得するステップを更に包含する、請求項１に記載の方法。
【請求項４】
ｅ）前記ステップｃ）の前に、前記アプリケーション実行サーバが、該アプリケーション実行サーバ上でサーバエージェントを開始するステップを更に包含し、該サーバエージェントは、該アプリケーション実行サーバ上のソフトウェアプロセスである、請求項１に記載の方法。
【請求項５】
前記クライアントエージェントと前記アプリケーション実行サーバとの間で送信されるデータは、グラフィック情報を転送することが可能なプロトコルを用いて送信される、請求項１に記載の方法。
【請求項６】
ハイパーメディアページをインタラクティブにするシステムであって、
クライアントノードと、
該ハイパーメディアページ上のハイパーリンクと、
該クライアントノードと通信するネットワークサーバノードと、
該ネットワークサーバノード上のハイパーリンク構成ファイルであって、該クライアントノード上の該ハイパーリンクに対応し、アプリケーション実行サーバを特定し、かつ、クライアントエージェントを識別するハイパーリンク構成ファイルと、
該クライアントノード上のクライアントエージェントであって、該クライアントノード上のソフトウェアプロセスであるクライアントエージェントと、
該クライアントノードおよび該ネットワークサーバノードと通信するアプリケーション実行サーバノードと、
該アプリケーション実行サーバノード上のサーバエージェントであって、該アプリケーション実行サーバ上のソフトウェアプロセスである、サーバエージェントと、
該アプリケーション実行サーバノード上のアプリケーションと
を備え、
該クライアントノードは、該ネットワークサーバノードから該構成ファイルを受け取り、
該クライアントノードは、該ハイパーリンク構成ファイルによって識別された該クライアントエージェントを開始し、
該クライアントエージェントは、該構成ファイルにおいて特定された該サーバエージェントとの通信リンクを確立し、
該アプリケーションは、該クライアントエージェントと該サーバエージェントとの間の該通信リンクを介して該クライアントエージェントと該サーバエージェントとの間で送信されるデータに応答して実行される、システム。
【請求項７】
前記アプリケーションからのデータを前記通信リンクを介して前記クライアントノード上で表示する表示プロセスを更に備える、請求項６に記載のシステム。
【請求項８】
前記ハイパーメディアページを前記ネットワークサーバから取得し、該ハイパーメディアページを前記クライアントノードに提供するプロセスを更に備える、請求項６に記載のシステム。
【請求項９】
前記ハイパーリンク構成ファイルが、
前記ハイパーリンクに対応するアプリケーションの名称と、
該ハイパーリンクに対応するアプリケーションサーバアドレスと
を備える、請求項６に記載のシステム。
【請求項１０】
クライアントノードを用いてハイパーメディアページをインタラクティブにする方法であって、該クライアントノードは、該クライアントノード上のソフトウェアプロセスであるクライアントエージェントおよびネットワークブラウザを含み、該クライアントノードは、アプリケーション実行サーバとネットワークサーバとに結合されており、該アプリケーション実行サーバは、サーバエージェントを含み、該サーバエージェントは、該アプリケーション実行サーバ上のソフトウェアプロセスであり、該ハイパーメディアページは、該ネットワークブラウザによって表示され、
該方法は、
ａ）該ネットワークブラウザが、該ハイパーメディアページ上のユーザが選択したハイパーリンクに関連するハイパーリンク構成ファイルにアクセスするステップであって、該ハイパーリンクは、アプリケーションプログラムに対応し、該ハイパーリンク構成ファイルは、該アプリケーションプログラムのクライアントエージェントとノード位置とを識別し、かつ、該アプリケーションプログラムの名称を含み、該ハイパーリンク構成ファイルが該ネットワークサーバに格納されている、ステップと、
ｂ）該ネットワークブラウザが、該ハイパーリンク構成ファイルにおいて識別された該クライアントエージェントを開始して、該ネットワークアドレスを該ハイパーリンク構成ファイルから取得する、ステップと、
ｃ）該クライアントエージェントが、該ハイパーリンク構成ファイルから取得された該ノード位置と同等のノード位置を有するアプリケーションプログラムを有するアプリケーション実行サーバ上に位置する該サーバエージェントとの通信を確立するステップと、
ｄ）該クライアントエージェントが、該ハイパーリンク構成ファイルから該アプリケーションプログラムの名称を取得し、該サーバエージェントにリクエスト信号を送信して、該アプリケーション実行サーバに該サーバ上の該アプリケーションプログラムを実行させるステップと
を包含する、方法。
【請求項１１】
前記ステップｃ）は、前記ネットワークブラウザにより介入されることなく実行される、請求項１０に記載の方法。
【請求項１２】
前記ステップｄ）は、前記ネットワークブラウザにより介入されることなく実行される、請求項１０に記載の方法。
【請求項１３】
前記ネットワークブラウザは、前記クライアントノード上に位置する前記クライアントエージェントを識別する登録ファイルを含み、前記ステップｂ）は、該登録ファイルにおいて識別された前記クライアントエージェントが、前記ハイパーリンク構成ファイルにおいて識別された該クライアントエージェントと整合する際には、該ネットワークブラウザが、該クライアントエージェントを開始するステップをさらに包含する、請求項１０に記載の方法。
【請求項１４】
前記クライアントエージェントは、前記ネットワークブラウザが該クライアントエージェントを開始した後、該ネットワークブラウザとは独立して動作する、請求項１０に記載の方法。
【請求項１５】
ｅ）前記ステップｄ）の後に、前記クライアントエージェントが、前記通信リンクを介して前記サーバエージェントと通信するために表示プロトコルを用いるステップをさらに包含し、該表示プロトコルは、パブリックドメインＸ−ＷＩＮＤＯＷＳプロトコルおよびプロプライエタリＩＣＡプロトコルのうちの１つを含む、請求項１０に記載の方法。
【請求項１６】
ｅ）前記ステップｄ）の後に、前記クライアントエージェントが、前記ネットワークブラウザにより介入されることなく、前記サーバエージェントからデータを受信するステップと、
ｆ）該ステップｅ）の後に、該クライアントエージェントが、該ネットワークブラウザにより介入されることなく、該クライアントエージェントによって該サーバエージェントから受信された該データを表示するステップと
をさらに包含する、請求項１０に記載の方法。
【請求項１７】
ｅ）前記ステップａ）の前に、前記ネットワークブラウザが、前記クライアントエージェントをユーザが登録することを可能にするステップをさらに包含する、請求項１０に記載の方法。
【請求項１８】
クライアントノードを用いてアプリケーションプログラムを遠隔的に開始する方法であって、該クライアントノードは、該クライアントノード上のソフトウェアプロセスであるクライアントエージェントおよびネットワークブラウザを含み、該クライアントノードは、ネットワークサーバに結合されており、
該方法は、
ａ）該ネットワークブラウザが、該ネットワークブラウザにより表示されるハイパーリンクのユーザ選択に応答して、ハイパーリンク構成ファイルにアクセスするステップであって、該ハイパーリンクは、該アプリケーションプログラムに対応し、該ハイパーリンク構成ファイルは、該アプリケーションプログラムに関連するクライアントエージェントと該アプリケーションプログラムのノード位置とを識別し、該ハイパーリンク構成ファイルは、該ネットワークサーバに格納されている、ステップと、
ｂ）該ネットワークブラウザが、該ハイパーリンク構成ファイルによって識別された該クライアントエージェントを開始するステップと、
ｃ）該クライアントエージェントが、該ハイパーリンク構成ファイルから該ノード位置を取得し、該ノード位置に信号を発して、該ネットワークサーバに該アプリケーションプログラムを起動させるステップと
を包含する、方法。
【請求項１９】
ｄ）前記ステップｃ）の後に、前記クライアントエージェントが、前記ハイパーリンク構成ファイルにおいて識別された前記ノード位置に位置するサーバエージェントとの通信を確立するステップをさらに包含し、前記サーバエージェントは、該ノード位置において提供されるアプリケーション実行サーバ上のソフトウェアプロセスであり、該クライアントエージェントは、該ネットワークブラウザにより介入されることなく該通信を確立する、請求項１８に記載の方法。
【請求項２０】
前記ステップｃ）は、前記クライアントエージェントが、前記信号を前記クライアントエージェントから前記サーバエージェントに送信するステップをさらに包含し、該サーバエージェントは、前記アプリケーションプログラムを開始することによって応答する、請求項１９に記載の方法。
【請求項２１】
ｅ）前記ステップｄ）の後に、前記クライアントエージェントが、前記ネットワークブラウザにより介入されることなく、前記ハイパーリンク構成ファイルから取得された前記ノード位置を用いて、前記アプリケーションプログラムとの通信を確立するステップをさらに包含する、請求項１９に記載の方法。
【請求項２２】
ｆ）前記ステップｅ）の後に、前記クライアントエージェントが、通信リンクを介して前記サーバエージェントと通信するために表示プロトコルを用いるステップをさらに包含し、該表示プロトコルは、パブリックドメインＸ−ＷＩＮＤＯＷＳプロトコルおよびプロプライエタリＩＣＡプロトコルのうちの１つを含む、請求項２１に記載の方法。
【請求項２３】
ｄ）前記ステップｃ）の後に、前記クライアントエージェントが、前記ネットワークブラウザにより介入されることなく、前記クライアントエージェントから前記アプリケーションプログラムにユーザ入力を表すデータを送信するステップをさらに包含する、請求項１８に記載の方法。
【請求項２４】
ｄ）前記ステップａ）の前に、前記ネットワークブラウザが、前記クライアントエージェントをユーザが登録することを可能にするステップをさらに包含する、請求項１８に記載の方法。
【請求項２５】
クライアントノードを用いてアプリケーションプログラムと遠隔的に相互作用する方法であって、該クライアントノードは、該クライアントノード上のソフトウェアプロセスであるクライアントエージェントおよびネットワークブラウザを含み、該クライアントノードは、ネットワークサーバに結合されており、該アプリケーションプログラムは、該ネットワークサーバに格納されており、
該方法は、
ａ）該ネットワークブラウザが、該ネットワークブラウザによって表示されるユーザが選択したハイパーリンクに関連するハイパーリンク構成ファイルにアクセスするステップであって、該ハイパーリンク構成ファイルは、該アプリケーションプログラムのノード位置を含み、かつ、クライアントエージェントを識別し、該ハイパーリンク構成ファイルは、該ネットワークサーバに格納されており、該ノード位置は、クライアントエージェントによってアクセス可能である、ステップと、
ｂ）該ネットワークブラウザが、該ハイパーリンク構成ファイルによって識別された該クライアントエージェントを開始するステップと、
ｃ）該クライアントエージェントが、該ノード位置を該ハイパーリンク構成ファイルから取得し、該ノード位置に信号を発して、該ネットワークサーバに該ネットワークサーバ上の該アプリケーションプログラムを起動させるステップと
を包含する、方法。
【請求項２６】
ｄ）前記ステップｃ）の後に、前記クライアントエージェントが、前記ネットワークブラウザにより介入されることなく、前記アプリケーションプログラムとの通信リンクを確立するステップと、
ｅ）該ステップｄ）の後に、該クライアントエージェントが、該ネットワークブラウザにより介入されることなく、該ネットワークサーバ上で実行される該アプリケーションプログラムから該クライアントエージェントによって受信されたデータを表示するステップと
をさらに包含する、請求項２５に記載の方法。
【請求項２７】
ｆ）前記ステップｄ）の後に、かつ、前記ステップｅ）の前に、前記クライアントエージェントが、前記通信リンクを介して前記アプリケーションプログラムと通信するために表示プロトコルを用いるステップをさらに包含し、該表示プロトコルは、パブリックドメインＸ−ＷＩＮＤＯＷＳプロトコルおよびプロプライエタリＩＣＡプロトコルのうちの１つを含む、請求項２６に記載の方法。
【請求項２８】
ｄ）前記ステップｃ）の後に、該クライアントエージェントが、前記ネットワークブラウザにより介入されることなく、前記ハイパーリンク構成ファイルから取得された前記ノード位置を用いて、前記アプリケーションプログラムとの通信を確立するステップをさらに包含する、請求項２５に記載の方法。
【請求項２９】
前記ステップｃ）は、前記クライアントエージェントが、前記アプリケーションプログラムとの通信を確立するステップをさらに包含し、該クライアントエージェントは、前記ハイパーリンク構成ファイルにおける前記ノード位置に位置するサーバエージェントに信号を送信し、該サーバエージェントは、該ノード位置において提供されるアプリケーション実行サーバ上のソフトウェアプロセスであり、該サーバエージェントは、該ハイパーリンク構成ファイルの該ノード位置における該アプリケーションプログラムを起動して、該アプリケーションプログラムと通信することによって、該受信された信号に応答する、請求項２５に記載の方法。
【請求項３０】
ｄ）前記ステップａ）の前に、前記ネットワークブラウザが、前記クライアントエージェントをユーザが登録することを可能にするステップをさらに包含する、請求項２５に記載の方法。
【請求項３１】
クライアントノードを用いてアプリケーションと遠隔的に相互作用する方法であって、該クライアントノードは、該クライアントノード上のソフトウェアプロセスであるクライアントエージェントおよびネットワークブラウザを含み、該クライアントノードは、第１のノードとアプリケーションサーバとに結合されており、該アプリケーションは、該アプリケーションサーバ上で実行され、
該方法は、
ａ）該ネットワークブラウザが、第１のページを該第１のノードから取り出すステップと、
ｂ）ネットワークブラウザが、該第１のページを表示するステップと、
ｃ）該ネットワークブラウザが、クライアントエージェントを識別し、かつ、アプリケーションファイルを特定するネットワーク構成ファイルを、該第１のページ上のハイパーリンクの選択に応答して、該第１のノードから取り出すステップであって、該ネットワーク構成ファイルは、該アプリケーションを識別する識別情報を含み、該第１のノードに格納されている、ステップと、
ｄ）該ネットワークブラウザが、該ハイパーリンク構成ファイルによって識別された該クライアントエージェントを開始するステップと、
ｅ）該識別情報によって識別された該アプリケーションを起動するために、該ネットワーク構成ファイルを読み出し、該ネットワーク構成ファイルによって特定された該アプリケーションサーバと通信リンクを確立することによって、該クライアントエージェントが、該ネットワーク構成ファイルの該識別情報において識別された該アプリケーションと通信するステップと
を包含する、方法。
【請求項３２】
前記ハイパーリンクは、実行可能なアプリケーションに対するリンクである、請求項３１に記載の方法。
【請求項３３】
前記ハイパーリンクは、前記ネットワーク構成ファイルの位置を識別する、請求項３１に記載の方法。
【請求項３４】
前記ステップｅ）は、前記クライアントエージェントが、前記ネットワーク構成ファイルの前記識別情報によって識別された前記アプリケーションを実行する前記アプリケーションサーバへの通信リンクを作成するステップを包含する、請求項３１に記載の方法。
【請求項３５】
前記通信リンクは、グラフィック表示プロトコルを用い、該グラフィック表示プロトコルは、パブリックドメインＸ−ＷＩＮＤＯＷＳプロトコルおよびプロプライエタリＩＣＡプロトコルのうちの１つを含む、請求項３４に記載の方法。
【請求項３６】
ｆ）前記ステップｅ）の後に、前記クライアントエージェントが、前記アプリケーションサーバに該アプリケーションサーバ上の前記アプリケーションの実行を開始させるステップをさらに包含する、請求項３１に記載の方法。
【請求項３７】
前記ステップｅ）は、前記クライアントエージェントが、該アプリケーションからの出力データを受信し、該受信された出力データを表示するステップを包含する、請求項３１に記載の方法。
【請求項３８】
前記ステップｅ）は、前記ネットワークブラウザにより介入されることなく行われる、請求項３７に記載の方法。
【請求項３９】
前記アプリケーションからの前記出力データは、アプリケーション表示ウィンドウに表示される、請求項３７に記載の方法。
【請求項４０】
前記アプリケーション表示ウィンドウは、前記第１のページの境界内に位置する、請求項３９に記載の方法。
【請求項４１】
前記アプリケーション表示ウィンドウは、前記第１のページの境界外に位置する、請求項３９に記載の方法。
【請求項４２】
ｆ）前記ステップｅ）の後に、前記クライアントエージェントが、サーバエージェントに信号を送信して、該サーバエージェントに前記アプリケーションを実行させるステップをさらに包含する、請求項３１に記載の方法。
【請求項４３】
前記クライアントエージェントは、前記ネットワークブラウザにより介入されることなく前記サーバエージェントに前記信号を送信する、請求項４２に記載の方法。
【請求項４４】
前記ステップｅ）は、前記クライアントエージェントが、前記ネットワーク構成ファイルによって特定された前記アプリケーションサーバ上に位置するサーバエージェントとの通信を確立するステップを包含する、請求項３１に記載の方法。
【請求項４５】
前記通信は、前記ネットワークブラウザにより介入されることなく行われる、請求項４４に記載の方法。
【請求項４６】
前記クライアントエージェントが、前記アプリケーションと通信するステップは、前記ネットワークブラウザにより介入されることなく実行される、請求項３１に記載の方法。
【請求項４７】
前記クライアントエージェントは、該ネットワークブラウザとは独立して動作する、請求項３１に記載の方法。
【請求項４８】
ｆ）前記ステップａ）の前に、前記ネットワークブラウザが、前記クライアントエージェントをユーザが登録することを可能にするステップをさらに包含する、請求項３１に記載の方法。
【請求項４９】
前記ステップｅ）は、前記クライアントエージェントが、前記ネットワークブラウザにより介入されることなく、前記クライアントエージェントから前記アプリケーションにユーザ入力を表すデータを送信するステップを包含する、請求項３１に記載の方法。
【発明の詳細な説明】
発明の分野
本発明は、一般にコンピュータ通信の分野、更に特定的にはリモートアプリケーション処理の分野に関する
発明の背景
ハイパーメディアは、ハイパーリンクと呼ばれる一連のグラフィック及びテキスト画像を含むグラフィック表示である。各ハイパーリンクは通常、ハイパーメディアのユーザによって利用される付加情報に対応する。例えば、ハイパーメディア表示は、飛行に関する百科事典的な記事であり得る。記事のグラフィック表示がロケットの絵を含み、エンジンを示す表示の一部を選択することにより（通常はコンピュータマウスと呼ばれる指示デバイスを用いることにより）、ユーザがロケットのエンジンに関する情報を得ることができる場合、ロケットエンジンを含む絵の部分はハイパーリンクと呼ばれる。即ち、エンジンを含む絵の部分は、エンジンに関する情報へのリンクである。ハイパーリンクを駆動することによって、ハイパーメディアは、ハイパーメディアを実際に制御するプログラムからの所望の情報のデータファイルをリクエストする。
ハイパーメディアがネットワーク、例えばワールドワイドウェブ或いはインターネットと関連して用いられるとき、ネットワーク上のクライアントノードにおけるユーザは、まず、ホームページ或いはウェブページと呼ばれるものにアクセスする。このホームページ或いはウェブページは、ネットワークサーバと呼ばれるネット上の他のノードから得られ、ネットワークブラウザ或いはウェブブラウザと呼ばれるプログラムによってクライアントノード上に表示される。このような場合、ユーザがハイパーリンク（上記の例では、ロケットエンジンを示す表示の部分）を選択すると、ネットワークブラウザに対して、リクエストされた情報を含むデータファイルについてのリクエストがなされる。ユーザのノード上のネットワークブラウザは、リクエストされたハイパーリンクに対応するデータを有するネットワークノード、データサーバとの通信を確立する。この場合、ロケットエンジンに関する情報を有するノードは、ハイパーリンクによって要求された情報を含む。
ハイパーメディアは、上記のようにユーザに情報を伝達するために用いられているが、他のコンピュータ、即ち、アプリケーション実行サーバ上に位置するデータベースプログラムなどのアプリケーションを、ネットワーク上でインタラクティブに実行するためにハイパーメディア表示を用い得ることが、所望される。本発明は、このタスクを成し遂げるための方法及び装置に関する。
発明の要旨
本発明は、ハイパーメディアページインタラクティブを形成し、それによって、アプリケーションを１つのノード上で実行し、結果を表示し、データを他のノードに入力することを可能にするシステムに関する。１つの実施態様において、システムは、クライアントノード、ネットワークサーバノード、及び通信リンクによって相互接続されたアプリケーション実行サーバノードを含む。ハイパーメディアページ上のハイパーリンクは、クライアントノード上に表示され、（クライアントノード上のハイパーリンクに対応する）ハイパーリンク構成ファイルは、ネットワークサーバノード上に位置する。１つの実施態様において、クライアントエージェントは、クライアントノード上に位置し、サーバエージェントは、アプリケーション実行サーバノード上に位置する。通信リンクは、クライアントエージェントによって、ハイパーリンク構成ファイル内のデータに応答して、クライアントノード上のクライアントエージェントとアプリケーション実行サーバノード上のサーバエージェントとの間に形成される。システムは更に、クライアントエージェントとサーバエージェントとの間の通信リンクに応答してアプリケーション実行サーバノード上で実行されるアプリケーションを、アプリケーション実行サーバノード上に有する。アプリケーション実行ノード上で実行されるアプリケーションは、次に、サーバエージェントを通してクライアントエージェントと通信する。クライアントノード上のクライアントエージェントは、ユーザから入力されたデータを受信し、そのデータをアプリケーション実行ノード上のアプリケーションに伝達し、アプリケーション実行ノード上のアプリケーションからデータを受信し、ユーザに出力されたデータをクライアントノード上で表示する機能を果たす。
本発明は更に、ハイパーメディアページインタラクティブを形成する方法に関する。その方法は、クライアントノード上に表示されたハイパーメディアページ上のハイパーリンクを選択するステップと、ハイパーリンクに対応するハイパーリンク構成ファイルを（サーバノードからクライアントノードに）取り出すステップと、クライアントノード上でクライアントエージェントを開始するステップと、を包含する。方法は更に、アプリケーション実行サーバ上のサーバエージェントとクライアントエージェントとの間に通信リンクを形成するステップと、この接続に応答して、アプリケーション実行サーバ上でアプリケーションを開始するステップと、クライアントノード上のクライアントエージェントとアプリケーション実行ノート上のアプリケーションとの間でデータを通信するステップと、クライアントノード上での表示及びデータの入力を管理するステップと、を包含する。
【図面の簡単な説明】
本発明の他の特徴及び利点は、明細書及び添付の図面を参照することによってより明確に理解される。
図１は、本発明のシステムの実施態様のブロック図である。
図２は、図１に示す本発明のシステムの動作フローチャートである。
発明の詳細な説明
図１を参照しながら簡単に全体像を述べると、本発明のインタラクティブハイパーメディアシステムの実施態様は、本願では一般性を失うことなくネットワーク或いはウェブと呼ばれる通信リンク32によって相互接続されているクライアントノード10、ネットワークサーバノード18、及びアプリケーション実行サーバノード24を有する。図１では、明確化のために、クライアントノード10、ネットワークサーバノード18、及びアプリケーション実行サーバノード24をそれぞれ１つずつのみ示しているが、実際のネットワークは、このようなノードを多く含み得る。或いは、ここに挙げたノードのそれぞれによって提供されるサービスが、１つ或いはそれ以上のノード内で組み合わされてもよい。例えば、アプリケーション実行サーバ及びネットワークサーバは、実際には同一のノードであり得る。極端な場合には、全ての機能が同一のノードによって実行されることも可能であるが、これは通常の場合ではない。更に、１つのアプリケーション36のみをアプリケーション実行サーバ24上に示しているが、実際には、アプリケーション実行サーバノード24は、通常は多くのアプリケーション36を含む。ネットワーク或いはウェブ32上の各ノードはプロセッサを有し、計算パワー及び関連するハードウェアの観点から、このプロセッサは、ウェブ32上の他のプロセッサとは非常に異なり得る。更に、各ノード上で実行されるアプリケーション36は、異なり得る。
アプリケーション実行サーバ24上に位置するアプリケーションプログラム36をウェブ32上で走らせることを所望するクライアントノード上のユーザは、クライアントノード10上に位置する、本願では一般性を失うことなくハイパーメディアと呼ばれるグラフィックユーザインターフェース40を通して、それを実行する。グラフィックインターフェースは、グラフィック表示デバイス42上に表示される。データは、クライアントノード10上に位置するマウス46及びキーボード50を用いて、ユーザによって入力される。ハイパーメディア40上でユーザが最初に見るグラフィック表示或いはページ44は、本願では一般性を失うことなくアプリケーション36のホームページ或いはウェブページと呼ばれる。ハイパーメディア40のページ44或いはホームページは、本願では一般性を失うことなくハイパーリンクと呼ばれるグラフィックリンク48或いはテキストリンク56を含む。ウェブページは、本願では一般性を失うことなくクライアントノード10上で実行されるネットワークブラウザ64と呼ばれるプロセス64によって表示される。
ネットワークブラウザ64は、ネットワークサーバノード18から第１ページ或いはウェブページ44を受け取り、ユーザがグラフィック表示デバイス42上で見ることができるように、そのウェブページ44をハイパーメディア40上で表示する。ユーザが、（マウス46或いはキードーボ50を用いてグラフィック48或いはテキスト56ハイパーリンクを選択することによって）実行すべきアプリケーションプログラム36を選択すると、ネットワークブラウザ64は、選択されたアプリケーション36に対応するネットワーク構成ファイル68を所定のネットワークサーバ18から受け取り、選択されたアプリケーション36と通信するクライアントエージェント72を開始する。このことについて、以下に更に詳細に説明する。
クライアントエージェント72は、構成ファイル68を読み出し、構成ファイル68によって特定されるアプリケーション実行サーバ24上のサーバエージェント80との通信リンクを確立する。１つの実施態様において、構成ファイル68は、ハイパーリンク48及び56に対応するアプリケーションの名称及びアプリケーション36のノード位置を含む。構成ファイルは更に、認証或いは認可されたユーザ情報などのオプショナルな情報を含み得る。サーバエージェント80は、クライアントエージェント72のアプリケーション36に対するアクセスを許可するために必要な（認証など）の動作を実行し、一旦アクセスが許可されると、ユーザによってリクエストされたアプリケーション36を開始する。一旦アプリケーション36がアプリケーション実行サーバ上で実行されると、アプリケーション36は、サーバエージェント24を通して、ネットワークブラウザ64によって干渉されずに、直接にクライアントエージェント72と通信する。次に、クライアントエージェント72は、ユーザからマウス46及びキーボード50を通してデータを受信し、そのデータをアプリケーション実行サーバ24上のアプリケーションプログラム36に伝達する。同様に、クライアントエージェント72は、データをアプリケーション実行サーバ24上のアプリケーション36から受信し、そのデータをクライアントノード10上のグラフィック表示デバイス42のアプリケーション表示ウィンドウ74内で表示する。アプリケーション表示ウィンドウ74は、ハイパーメディア40の境界内或いは境界外に位置し得ることに留意されたい。アプリケーション36が完了すると、サーバエージェント80は、クライアントエージェント72に、クライアントエージェント72とサーバエージェント80との間の通信リンク32をカットするよう指示し、サーバエージェントは、次の接続を持つ。
図２は、システムの動作を更に詳細に示す。まず、クライアントエージェント72は、クライアントノード10のネットワークブラウザ64で登録され（ステップ１）、ネットワークブラウザの登録ファイル88（図１）においてエントリーがなされる。このエントリーによって、ネットワークブラウザ64は、所定のファイルタイプがハイパーメディア40のハイパーリンク48及び56によってリクエストされるといつでも、クライアントエージェント72を開始することができる。この場合、クライアントエージェント72は、クライアントノード10上のユーザがアプリケーション実行サーバノード24上のリモートアプリケーション36を実行し、このアプリケーションと相互作用することができるように、設計される。クライアントエージェント72は、ハイパーリンク48及び56がネットワークブラウザ64から所定のファイルタイプ（例えば、リモート実行用のRMT）をリクエストするときはいつでも、ネットワークブラウザ64がアプリケーション実行サーバ24上に存在するアプリケーション36のリモート実行及びアプリケーション36との相互作用を可能にするクライアントエージェント72を開始するように、ネットワークブラウザ64に登録される。クライアントエージェント72の呼び出しについて、以下に更に詳細に説明する。
次に、ユーザが、ハイパーメディア環境からのアプリケーション、例えばデータベースプログラムを実行することを所望するとき、ハイパーメディア40は、当業者に公知の様式で表示される。ユーザが、クライアントノード10上のマウス46或いはキーボード50を用いてハイパーメディアのページ44上のハイパーリンク48及び56を選択するとき（ステップ２）、ネットワークブラウザ64に、対応するデータファイルに対するリクエストがなされる（ステップ３）。この例の場合、ファイルタイプ（RMT）がリクエストされる。
ネットワークブラウザ64は、ハイパーリンク48及び56がネットワークブラウザ64に対して行ったファイルリクエストにおいて特定される対応する構成ファイル68を、ネットワークサーバ18から受け取る（ステップ４）。次に、ネットワークブラウザ64は、得られた構成ファイル68と、ネットワークブラウザ64が維持するクライアントエージェントの名称の登録ファイル88とを、比較する（ステップ５）。構成ファイル68によって特定されるクライアントエージェント72が登録ファイル88内で見い出されると、クライアントエージェント72が開始される（ステップ６）。
呼び出されたクライアントエージェント72は、構成フィアル68を読み出し（ステップ７）、構成ファイル68内の情報に基づいて、アプリケーション実行サーバ24、この場合、セールスデータベースアプリケーション実行サーバ（概して24）上のサーバエージェント80との通信リンクを確立し始める。
ステップ８の通信リンクを開始するプロセス（図２）を更に詳細に考慮して、ネットワーク32上の通信アクティビティをモニタするサーバエージェント80との通信が開始する。この時点で、サーバエージェント80は、トランスポート層に必要な想定を越えたプロトコル想定はしない。同様に、クライアントエージェント72はまた、トランスポート層によって必要とされる想定を越えた通信プロトコルの想定はしない。サーバエージェント80が、クライアントエージェント72がサーバエージェント80との通信を試みていると判断すると、サーバエージェント80は、サービスが利用できることを示すメッセージを、クライアントエージェント72に伝達する。
クライアントエージェント72が、サービスがアプリケーション実行サーバノード24上で利用できると判断すると、クライアントエージェント72は、通信プロトコルを進める準備ができていることを示すメッセージを、サーバエージェント80に伝達する。サーバエージェント80が、通信プロトコルを続行する準備ができていると応答すると、クライアントエージェント72は、アプリケーション36を実行させるために必要なプロトコルを有効にする。クライアントエージェント72からのメッセージに応答して、サーバエージェント80は更に、必要なプロトコルを有効にする。次に、サーバエージェント80は、クライアントエージェントのリクエストが受信及びアクセプトされたことを示すメッセージを、必要なプロトコルを用いて伝達する。
これに応答して、クライアントエージェント72及びサーバエージェント80は、その下で通信が発生するパラメータをネゴシエートするメッセージセットを交換する。ネゴシエーションが完了すると、クライアントエージェント72及びサーバエージェント80は、アプリケーション36がユーザによって実行されるときに必要なように通信し得る。通信プロトコルが確立され、サーバエージェント80がクライアントエージェント72を認証する（例えば、ユーザがデータベースの読み書きの許可を有することを判断する）と（ステップ９）、アプリケーション36がアプリケーション実行サーバ24上で実行される（ステップ10）。この時点で、アプリケーション実行サーバ24上で実行されているアプリケーション36は、サーバエージェント80を介して、クライアントノード10上のクライアントエージェント72と通信している。この時点で、クライアントエージェント72は、マウス46及びキーボード50を用いてユーザによって入力されたデータを、アプリケーション実行サーバ24上で実行されているアプリケーション36に伝達する。更に、クライアントエージェント72は、アプリケーション36から表示用のデータを受信し、そのデータをクライアントノード10のグラフィック表示デバイス42上のアプリケーションウィンドウ74内で表示する。
データをTCP/IPなどのトランスポート層に移す下部に位置する提示プロトコルは、グラフィック情報を伝達することができなければならないことに留意されたい。インタラクティブなハイパーメディア通信に用いられる得るこのようなプロトコルの例としては、パブリックドメインX-WINDOWSプロトコル及びCitrix Systems Inc.のプロプライエタリICAプロトコルが挙げられる。
従って、上記のシステムは、非常に限られたリソースを有し得るクライアントノード10上のユーザが、他のアプリケーション実行サーバノード24上に位置するアプリケーションプログラム36を開始し、このプログラムと相互作用することを可能にする。アプリケーション36は、その後にアプリケーション実行サーバノード24上で実行され、データは入力され、結果はクライアントノード10上で表示される。
上記の本発明の概念のこれらの例及び他の例は、例示を目的としており、本発明の実際の範囲は、以下の請求の範囲のみから決定される。
【図１】
0003866768.tif 000002
【図２】
0003866768.tif 000003