遠隔計算システムのためのローカルに動作されるデスクトップ環境
グリッド・イネーブルド・システム用のリモート・デスクトップ環境のためのシステム及び方法が提供される。このシステムは、グリッド・ネットワークに接続可能なグリッド・イネーブルド・サーバを含みうる。クライアント・コンピュータはグリッド・イネーブルド・サーバと通信可能である。ユーザ・デスクトップ環境がクライアント・コンピュータに提供され、このユーザ・デスクトップ環境は、グリッド・イネーブルド・サーバとグリッド計算ネットワークとに安全に接続し、クライアント・コンピュータのオペレーティング・システム・リソースにマップすることができる。更に、ファイル・マネジャはユーザ・デスクトップ環境と通信することができる。ファイル・マネジャは、ユーザがグリッド・イネーブルド・サーバ上にユーザ・アカウントとディレクトリとを有しそれらの直接にアクセスすることを可能にするように構成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア環境であり、これにより、ユーザは、ネットワーク接続を介してリモート・グリッド・イネーブルド・サーバと環境とを動作させることが可能になる。
【背景技術】
【0002】
インターネット及びワールド・ワイド・ウェブ(あるいは、単に、ウェブ)との拡大により、ビジネス環境が劇的に変化している。ビジネスはより全世界規模になり、より多くの仕事が本店から、そのような中央集権的なオフィスから遠く離れた場所へ移動している。その結果、遠隔(リモート)コンピュータ・システムからの情報及び資源(リソース)にアクセス可能であることの必要性は、ますます重要となりつつある。更に、計算集約的な仕事にとっては、リモート・システムは単に1つのコンピュータやサーバではなく、サーバにローカルに接続されているか又はテラ・グリッド(Terra Grid)グリッドによって接続されているコンピュータの集合体である。同様のことは、異なる場所にある多くのコンピュータに配置された分散型のデータベースにデータを記憶することができるデータ集約的な仕事についても真実である。
【0003】
リモート・システムやウェブにアクセスする技術はいくつか存在しており、それぞれがそれ独自の特徴と短所とを有している。特に、これらの技術には、1)ウェブ・アプリケーション、2)リモート・シェル、3)ホスト・ゲスト・システムがある。
【0004】
ウェブ・アプリケーションとは、一般的にプラットフォームから独立であって、ウェブ・ブラウザからリモート・サーバのサービスに対する情報やリクエストにユーザがアクセスすることを可能にする技術である。ユーザは、ウェブ・ポータル又はサーバに、ウェブ・ページからセキュリティには配慮されていない(http)又はセキュリティに配慮された(https)接続を介して接続することができる。サーバでは、サーブレットとして構成されたウェブウェブ・アプリケーションが動作して、そのような接続に注意を払い、そのような接続を提供する。これは、多くの場合、クライアント・サーバ・アーキテクチャとして知られている。ウェブ・アプリケーションは、データをリクエスト側のユーザに配分するなど単純なタスクを実行することができ、また、認証をおこない、ユーザから入力データを受け取り、リクエストをサーバに送って異なるアプリケーションを動作させ、又は、サーバから出力データを受け取りそのデータをユーザに返送することを含む複雑なタスクを実行することができる。
【0005】
このソフトウェア・アーキテクチャでは、ユーザは、サーバのオペレーティング・システム(OS)ではなくウェブ・アプリケーション・サーブレットと直接に通信する比較的貧弱なウェブ・クライアントを有する。従って、認証プロセスは、ウェブ・サーバ自身のOSではなくサーブレットによって実行される。更に、ユーザは、セキュリティ状の制約によりサーバのオペレーティング・システムにおいては時bんじしんのアカウントとディレクトリとを有していないのが一般的である。しかし、ウェブ・アプリケーションは、エンド・ユーザのためにウェブ・アカウントと仮想ディレクトリとを提供することができるが、これは、直接にサーバ自体にアカウントを有することとは著しく異なる。
【0006】
サーバにおけるリソースへのリクエストは、サーブレットによってなされる。更に、すべての計算は、サーバ・コンピュータにおいてなされる。換言すると、サーバとのすべてのウェブ通信は、ウェブ・データを提供して下位にあるサーバを保護するサーブレットを介するチャネルが与えられる。更に、サーブレットがクラッシュする又はネットワーク通信が利用不可能になる場合には、ユーザ側のアプリケーションは直ちに故障する、及び/又は、ウェブ・アプリケーションのためのオブジェクトとページとが利用不可能になる。これらのタイプの故障はエンド・ユーザに対して迷惑であり、ネットワークの接続性がウェブ・アプリケーションにおける弱いリンクであることを例示する。
【0007】
このシステムの例が図1に図解されている。ユーザAとユーザBとはウェブ・ポータルに接続し、両者共に登録済みユーザとして認証される。ユーザAはデータ1をリクエスト提供してタスク1が実行されることを要求し、他方で、ユーザBはデータ2を提供してタスク2を要求する。次に、サーブレットはサーバOSと通信して、これらのタスクが提供されたデータを用いて実行されることを要求する。いったんタスクが完了すると、サーバOSは出力1及び2をサーブレットに返送する。この時点で、サーブレットは出力1をユーザAに割当て、出力2をユーザBに割り当てて、これらの出力を指定されたユーザに向けて送出する。
【0008】
次に、リモート・シェル技術について論じる。リモート・シェル技術は一般にUnix(登録商標、以下でも同様)、Linux(登録商標、以下でも同様)又はリモート・シェルが当該OSにログインすることを許容する類似の計算環境を動かしているサーバに対して用いられる。図2に図解されているように、ユーザは、自分自身のローカル・デスクトップ環境においてXウィンドウを開き、セキュア・シェル(SSH)プロトコルを用いて直接にサーバに接続する。この場合には、ユーザは、そのサーバにおいてアカウントとディレクトリとを有し、コマンド・ライン・コマンドを用いてサーバOSと直接に通信する。ユーザは、SSHを用いたサーバのデスクトップ環境を見ることはない。
【0009】
しかし、ユーザは、X11フォワーディング・プロトコルを用いてサーバからローカル・コンピュータへディスプレイをエクスポートするアプリケーションを動かすことができる。X11プロトコルは、スクリーン、キーボード、マウスなどを「サーブ・アウト」することができる。しかし運の悪いことに、X11プロトコルは、サーバからのグラフィクスをエクスポートする際に困難を抱えることがある。この技術では、すべてのイベントは、ウェブ・アプリケーション技術と類似するサーバにおいて実行される。また、安定性が問題になることもあるのだが、その理由は、このシステムにおける弱いリンクもネットワーク接続であるからである。ネットワーク接続が常に用いられるので、X11セッションの全体は、ネットワーク接続が故障すると、故障する。
【0010】
次に、ホスト・ゲスト・システムについて論じよう。この技術は、パーソナル・コンピュータ(PC)のユーザに対してはより最近になって利用可能になったものであり、多くの場合はシングル・ユーザ・アプリケーションである。ユーザは、ホストに指定されたPCにホスト・アプリケーションをインストールし、ゲストに指定されたPCにゲスト・アプリケーションをインストールする。このようなシステムは、ウィンドウズ(登録商標)OS上で動作するものに限定されるのが一般的であり、図3に図解されている。
【0011】
ゲスト・アプリケーションとホスト・アプリケーションとの間の通信によって、ホスト・アプリケーションがホスト・デスクトップ環境をゲスト・コンピュータにエクスポートすることが可能になる。ゲスト・コンピュータにおけるユーザは、アクセス用のデータや動作しているアプリケーションなどを含むエクスポートされたホスト・デスクトップ環境を介してホスト・コンピュータを制御する。他方の技術と類似した態様で、すべてのイベントはホスト・コンピュータにおいてなされる。ユーザはホストOSと直接に通信するのではなくホスト・コンピュータで動作しているホスト・ゲスト・アプリケーションと通信することに注意すべきである。このシステムは、ホスト及びゲスト・アプリケーションが共にシステムを用いることができるよりも前にインストールされている短所がある。更に、ホスト・ゲスト・システムは、ゲスト・アプリケーションがリモート・コンピュータにアクセスするように、通信ネットワークに高度に従属している。ネットワーク接続が利用不可能であるときには、ホスト・コンピュータに作用するゲストを表すグラフィカル・イメージを送ることができない。これらのグラフィカル・イメージ又はホストへのゲストの作用のリモート・ミラーリングは、著しい量の通信帯域幅を消費する。
【0012】
ここまでの議論は、グリッド計算システムだけでなく単一のリモート・コンピュータニア屈すする技術に関するものであった。グリッド計算システムにアクセスするには、ユーザはアカウントを有し、そのアカウントがグリッド・イネーブルドであるコンピュータにログインして、リソースをそのグリッド上のユーザに配分する。計算グリッドにアクセスする技術は、グローバス(Globus)など、現に存在している。従って、サーバがグリッド・イネーブルドなら、そのサーバは、計算グリッドへのゲートウェイとなりうる。しかし、運の悪いことに、グリッド計算サービスは、ユーザが計算グリッドに接続されたローカル・サーバにアクセスする遠隔的(リモート)なアクセス可能性を与えてくれないのが一般的である。
【0013】
まとめると、上述してきた既存の技術に共通する基本的な性質として、すべての計算は用いられているリモート・サーバにおいて実行され、計算されたデータ又はリモート・コンピュータへの作用を示すスクリーンは、表示のために、ユーザのコンピュータにエクスポートして返されるのである。そのような場合には、グラフィック・データは、大量の帯域幅の接続を使うことになる。
【0014】
これらの既存の技術を取り巻く別の共通の問題は、ネットワークの故障に関するものである。ネットワークが利用不可能になると、リモート・シェルとホスト・ゲスト・アプリケーションとは、警告なしに終了される。ウェブ・アプリケーションを除くと、これらの他の技術はプラットフォームに依存する。ウェブ・アプリケーションはいくぶんプラットフォームから独立であるが、ウェブ・アプリケーションのユーザは、ウェブ・アプリケーション・サーブレットを介して相互作用しているサーバにアクセスし、環境を直接に動作させているサーバにはアクセスしない。
【0015】
本発明の追加的な特徴及び効果は、例示的に本発明の特徴を図解している添付の図面を参照して以下の詳細な説明を読むことから明らかになるであろう。
【発明を実施するための最良の形態】
【0016】
以下では、図解された例示的な実施例を参照する。同一の対象を記述する際には特定の表現を用いる。しかし、以下の記載は発明の範囲を制限することを意図していないことを理解してほしい。
【0017】
本発明は、リモート・グリッド・イネーブルド・サーバのためのデスクトップ環境を含み、このリモート・デスクトップかんきょうは、任意のオペレーティング・システム・プラットフォームを用いたローカルなコンピュータで動作させることができる。図4は、システム400全体の概要を図解している。この図の中のユーザA402とユーザB404とは、物理的に別個の位置にあり、異なるコンピュータ・プラットフォーム又はオペレーティング・システムを用いてリモート・サーバ(これは、ユーザとは別の位置にある)のためのデスクトップ環境を動作させうる。ユーザのデスクトップ環境とサーバ406との間の通信は、セキュア・シェル(SSH)技術を用いて達成することができる。SSHの一例として、JavaのSSHがある。あるいは、それ以外の既知のネットワーキング・プロトコルを用いて、ユーザのデスクトップ環境の間での通信をすることも可能である。
【0018】
サーバは、グリッド・イネーブルド状態にあり、グロバス(Globus)などのグリッド技術を介して、計算グリッド上にあるすべてのグリッド・コンピュータ408と通信するように構成されている。サーバは、また、計算集約的な(computing intensive)アプリケーションのための多数の計算ノード410にローカルに接続されている場合がある。この意味で、グリッド・イネーブルド・サーバ406は、ローカル・エリア・ネットワーク(LAN)又はワイド・エリア・ネットワーク(WAN)の中に含まれたグリッド計算システム又は計算リソースへのゲートウェイである。リモート・デスクトップ環境との通信に関しては、又は、サーバに接続可能なデスクトップ環境の数に関しては、サーバのオペレーティング・システムに関する制限は存在しない。例示の目的であるが、Unixオペレーティング・システムを、サーバのプラットフォームとして用いることができる。
【0019】
デスクトップ環境500は、図5に図解されているように、5つのメイン・コンポーネントを有する。詳しくは、これらは、ファイル・マネジャ502と、リソース・マネジャ504と、データベース・グラフィック・ユーザ・インターフェース(GUI)506と、ユーティリティ(図示せず)と、ソフトウェア・リンク・インターフェースを有するアプリケーションGUI508と、である。環境全体をJava(登録商標、以下同様)で書くことにより、それをプラットフォームとは独立であり、ローカル・コンピュータ上で実行されるようにできる。あるいは、デスクトップ環境を、ActiveXアプリケーションとして又はTCP/IPイネーブルド実行可能として書くことも可能である。
【0020】
ユーザがどのサーバにも接続されておらず、サーバとローカル・コンピュータとの間でファイルを転送するための単純なインターフェースを提供するとき、ファイル・マネジャによって、ユーザは、サーバ上の又はローカル・コンピュータ上のファイルを管理することができる。データベースGUIは、リモート・サーバにおけるデータベースからのデータの問い合わせをし、マイニングを行い管理するためのユーザ・フレンドリなインターフェースを提供する。リソース・マネジャは、計算グリッドにおいて及び配分されたリソースをそこからユーザが受け取る任意のネットワークされたコンピュータにおいて利用可能な計算リソースに関する情報にユーザがアクセスすることを可能にするGUIである。ユーティリティ・コンポーネントは、単純なテキスト・エディタのためのノートパッド、イメージ・ビューワ、グラフィック・ツール、スプレッドシート、3D視覚化ツール、通信ツールなど、ユーザが通常の計算業務をあたかも自分自身がサーバの位置に座っているかのように実行するのに必要なツールを提供する。アプリケーションGUIとソフトウェア・リンク・インターフェース(SLI)とは、サーバに存在するある作業領域に特有なGUIやアプリケーションの集合であり、SLIはアプリケーションを相互に接続するフィルタである。これらのアプリケーションGUIとSLIとは、これらのアプリケーションを相互に接続するワークフローの構築に用いることができる。
【0021】
ファイル・マネジャ: ファイル・マネジャ600は、選択された動作モードに応じてユーザがローカル・コンピュータ又はリモート・サーバにおける自分自身のユーザ・ディレクトリの中のファイルを管理することを可能にするGUIである。その機能及び構成は、図6に図解されている。環境が最初に活性化されると、ユーザ・ディレクトリ・ツリーが602のように作成される。ユーザは、604のようにローカル・コンピュータからサーバへ又はその逆方向にファイルをアップロードするだけでなく、サーバ上のファイルを削除、コピー、移動及び作成することができる。これらのタスクは、単純なクリック・ボタン又はドラッグ・ドロップ・マウス機能を用いて行うことができる。
【0022】
ファイル・マネジャは、ユーザ・ディレクトリとデータ・ストレージ領域におけるコンテンツを追加、削除又は変更するリクエストがあるときにだけサーバへの通信がなされるために、リモート・ユーザのために特に価値がある。更に、ファイル・マネジャは、606にあるように、ユーザ・ディレクトリのコンテンツを周期的にチェックし、サーバ(又は、リモート・デスクトップ環境)において動作している何らかのアプリケーション・プロセスのために修正されるときに、情報を更新することができる。
【0023】
本発明の効果は、実際のファイル・リクエストが必要とされるときにサーバとの通信が生じるということである。ネットワーク故障がある場合には、環境は、ローカル・コンピュータ上で動作しているために終了されない。しかし、接続が再度確立されるまでは、サーバにおけるユーザ・ディレクトリに対する変更はまったくなされない。サーバへの再接続は、ネットワークが利用可能であるときには、自動的になされる。ファイル・マネジャは、変更をキャッシュし、途中で他者によってなされたすべての他の変更に従って、それらの変更を再度同期させる。どのリモート・サーバへの接続もなされなかったときには、ファイル・マネジャは、ユーザがローカル・コンピュータにおいてファイルを管理することを可能にする。
【0024】
データベースGUI: データベースGUI700は、図7に図解されているように、あとで問い合わせやマイニングのために用いることができるデータの記憶のためにユーザフレンドリなインターフェースを提供する。データベースGUIは、サーバ702におけるユーザがアクセス可能なデータベースと、公共データ・グリッド704からのデータベースに接続する。この接続は、エンタープライズ・Java Bean(EJB)技術を用いて行うことができる。この接続は、リモート・サーバへのSSH接続とは独立であり、ユーザがそのようなサーバにログインしてユーザがアクセス可能なデータベースにアクセスすることを必要としない。
【0025】
ユーザは、サーバ702においてアカウントとディレクトリとを有しているので、読み出し/書き込み(リード/ライト)許可を有する私用のデータベースを作成し、指定されたグループとリード・オンリ又はリード/ライト許可を共有し、又は、リード・オンリの権利だけを有する公共データベースを開設することができる。アプリケーションの分野に応じて、データベースのためのテンプレートを指定して、ユーザの選択のために提供することができる。
【0026】
データベースGUIは、複数の機能を提供する。1つは、データベースからのデータの問い合わせ又はマイニングである。選択されたデータを、その環境において利用可能な直接にリンクされた可視化ツールを用いて見ることができる。他の機能には、問い合わせの履歴、ユーザが書き込み(ライト)許可を有する選択されたデータベースにおけるレコードの追加/削除/コピー/編集がある。データベースGUIは、また、ローカルな環境にキャッシュされているデータベースの一部について、ネットワーク接続が利用可能でない場合には見る及び操作するために使用を継続することを可能にするという特徴も提供する。このキャッシュ操作により、データベースGUIコンポーネントは、より便利かつより安定的になる。
【0027】
リソース・マネジャ: リソース・マネジャ800は、図8に図解されているように、サーバ又はそれ以外のリモート・コンピュータにおいてユーザがジョブを提出しモニタするためのGUIである。サーバ802はグリッド・イネーブルドにできるから、ユーザは、また、ユーザがサービス配分を有しているすべてのリモート・コンピュータに加えグリッド804において利用可能なコンピュータにもアクセスすることができる。ユーザが任意のアプリケーションからジョブを提出することをリクエストすると、リソース・マネジャが活性化される。リソース・マネジャは、ユーザが選択のためにアクセス可能なすべてのコンピュータを表示する。デフォルトでは、ジョブは、ログオン・サーバにおいて動作される。
【0028】
いったんサーバが選択されると、リソース・マネジャは、ジョブを提出し、ユーザにジョブが提出されたことの確認を提供する。更に、ユーザは、選択されたコンピュータ806におけるジョブ状況の表示をリクエストすることができる。ジョブは他の場所でも動作しうるのであるが、出力はサーバに返送される。
【0029】
リソース・マネジャは、この環境の中の重要なコンポーネントであり、ユーザに対して、グリッド・イネーブルドされていないコンピュータからでもリモート計算グリッド・ソースにアクセスする直接的な方法を提供する。リソース・スケジューラはデスクトップの一部であるから、これにより、ネットワークが利用可能でないときでもリソースのスケジューリングが実行可能となる。再びネットワークが利用可能になると、予定されたジョブを処理のためにサーバへ送ることが可能になる。このようにして、ユーザは、リモート・デスクトップ環境がロードされている任意のコンピュータから計算グリッド・リソースへのアクセスをもつことができる。
【0030】
ソフトウェア・リンク・インターフェース(SLI):ソフトウェア・リンク・インターフェース(SLI)900は、このデスクトップ環境の中の別の重要なコンポーネントである。既存の計算集約的な(computationally intensive)アプリケーションのほとんどは、独立に開発され、相互に依存する関係にある場合であっても互いにインターフェースを有するようには設計されていない。これは、科学的な計算アプリケーションについて、特に真実である。例えば、ある1つのアプリケーションからの結果の一部は、他のアプリケーションへの入力として用いられることがある。現時点では、ユーザは、そのような変換タスクをマニュアルで実行しなければならない。
【0031】
2つのアプリケーションの間の相互依存性を認識することによって、SLI900は、図9に図解されているように、一方のアプリケーション902の出力をパーズし、正しいフォーマット仕様を用いて他方のアプリケーション904への入力を用意するように設計することができる。SLIの使用により、人間による入力を用いたデータ変換において現時点で一般的に行われている場合の人間によるエラーの多くを除去することができる。更に、SLIが価値があるのは、エンド・ユーザがある1つの科学的計算アプリケーションを別のアプリケーションにマップすることを可能にするからである。あるいは、このマッピングは、SLIの中に既にプログラムされた科学的計算アプリケーションのために、プログラム提供に実行することが可能である。例えば、ワークフロー・システムを設定し、一方のアプローチからこれらのSLIを介して他方のアプリケーションへの情報フローを構築しモニタすることが可能である。
【0032】
このリモート・デスクトップ環境1000の別の便利な要素は、その開放構造ソフトウェア・アーキテクチャである。図10に図解されているように、このリモート・デスクトップ環境によると、独立の開発者が、オープン・プラグイン・エクステンション(拡張)を用いて新たなコンポーネントをデスクトップ環境の中に追加することが可能である。このようにして、サードパーティによるアプリケーション・ツール1002を、このリモート・デスクトップ環境のソース・コードを公開する又は配布することを必要としないで容易にこのデスクトップ環境の中に統合することができる。更に、このソフトウェア・アーキテクチャによって、ユーザは、それぞれのアプリケーション1004を独立に扱う(すなわち、それ自体の実行可能ファイルを有する)ことが可能になる。サードパーティの又は任意のアプリケーションをこの環境の中にロードすることは、Javaウェブスタート技術を用いて又は他のウェブ・プラグイン技術を用いて任意の実行時間において行うことができる。これにより、ユーザは、この環境の中にロードするアプリケーションを選択することが可能になり、更に、自分自身の業務のためにこの環境をカスタマイズすることも可能になる。このような能力により、この環境が制限のないアプリケーションをサポートすることが可能になり、同時に、環境を動作させるのに要求されるメモリはユーザによって選択されたアプリケーションの数にだけ依存することになる。
【0033】
以上で論じたように、デスクトップ環境1000は、コア・コンポーネントの集合を伴う。すなわち、ファイル・マネジャ、データベースGUI、リソース・マネジャ、可視化/解析ツール及びユーティリティである。更に、可視化/解析ツールとユーティリティ・アプリケーションが提供される。これらのツール及びユーティリティは、ローカル・コンピュータにおいて実行するためにJava(又は、3Dグラフィクスの場合には、JavaOPGL)で書くことができる。ノートパッド、プロッタ、スプレッドシート、イメージ・ビューワなど、これらのアプリケーションは、サーバにおいて典型的なタスクを実行するのに必要となる。また、新たなツールを、独立の開発者による任意のコンポーネントに追加して全体的な環境を向上させることも可能である。
【0034】
このリモート・デスクトップ環境は、複数動作モードを有する。図15は、本発明のブロック図を図解しており、複数動作モードのためのコンフィギュレーションと追加的な実装コンフィギュレーションとを示している。データの位置とネットワーク又はインターネット接続の利用可能性とに応じて、少なくとも異なる3つの動作モードが存在する。すなわち、これらの動作モードとは、1)リモート・サーバ接続モード、2)ローカル動作モード、3)オフライン・モードである。すべての場合に、リモート・デスクトップ環境は、ローカルCPU又はクライアント・オペレーティング・システム及びハードウェアにおいて動作している。これらのモードの違いは、データ及び計算リソースのマップ、アクセス又は検索方法に焦点を合わすことができる。
【0035】
リモート・サーバ接続(RSC)モードでは、リモート・デスクトップ環境により、ユーザが、当該ユーザによって特定された任意のサーバに接続することが可能になる。ほとんどの場合に、グリッド・イネーブルド・サーバが、ユーザによって接続される。この環境は、選択されたサーバのためのユーザ・ファイル・ディレクトリにマップすることができ、ユーザは、自分自身が適切なライセンス又は許可を有しているサーバにおいて任意のアプリケーションを動作させることができる。この環境は、ネットワーク割り込みに関して安定的である。換言すると、この環境は、インターネット又はネットワーク接続が利用不可能なときでも動作を継続する。
【0036】
この環境がローカル動作モードにあるときには、ユーザは、どのリモート・サーバ又はグリッド・イネーブルド・サーバにも接続しないことを選択することができる。これは、ユーザがグリッド・イネーブルド・サーバからのデータ及びファイルを用いないことを意味する。そのような場合には、この環境は、ローカル・ディスク又はストレージ媒体から動作する。この場合、ファイル・マネジャは、ローカル・ハードディスク、CDROM、フロッピ(登録商標)、USB、メモリ・スティック(登録商標)など、ユーザのローカル・コンピュータにおけるすべてのアクセス可能なデバイスをマップする。この場合、ユーザは、環境内のすべてのJavaベースのアプリケーションを用いることができて、EJB/http/又はウェブサービス技術を用いて、(私用、共有又は公共の)データベースにアクセスする。
【0037】
ローカル動作モードでは、ユーザは、また、リモート・サーバ又はグリッド・イネーブルド・サーバにSSH接続を用いてジョブを提出できる。処理用のジョブも、ウェブサービス技術に基づくグローバス(Globus)技術によって提供されるコグ・ツールキット(cog−toolkit)を用いて、グローバス・イネーブルド計算グリッドに提出することができる。ネットワーク・サーバ・データベース及びウェブ・イネーブルド・ライブラリへのネットワーク・アクセスは、ローカル動作モードにおいて利用可能である。リモート・サーバへのマッピングを用いない他のネットワークされたリソースも利用可能である。
【0038】
別のオプションとして、オフライン・モードがある。インターネット又はネットワークが利用可能でないときには、この環境は、そこで利用可能なメモリ・デバイスにデータをリード/ライトできるローカル・コンピュータにおいて動作するアプリケーションとして用いることができる。オフライン・モードでは、リモート・デスクトップ環境は安定的であり、ジョブ又はそれ以外の情報は、ネットワークが利用可能である間、待ち行列に入れられる。
【0039】
本発明によるシステムの全体的な効果の1つとして、このシステムは、共通点のないネットワーク・システムと独立に通信する複数のアプリケーション・ツールを取得し、これらのアプリケーションを組み合わせてユーザに対して透過的に動作する凝集的なリモート・デスクトップ・システムを形成する。更に詳しくは、このリモート・デスクトップは、複数の環境に対するマッピング及びデータ検索を組み合わせることで、ユーザがただ1つの環境を見ることを可能にする。上述のように、このリモート・デスクトップによって、ユーザは、1)グリッド・イネーブルド・サーバ、2)グリッド計算ネットワーク、3)ローカル・クライアント・コンピュータ・ハードウェア及びソフトウェア、4)ローカル・データを有するローカル・アプリケーションにアクセスすることが可能になる。
【0040】
ここで説明している実施例は、従来技術によるリモート・インターフェース・システムとは著しく異なるのであるが、その理由は、たとえ多くの統合されたアプリケーションから形成されているにもかかわらず、単一のアプリケーションとして作用する統合型の環境を含むからである。リモート・デスクトップ・インターフェースがアプリケーション相互間の通信のためのフィルタリング及び通信を提供するから、この機能が実現されている(可能になる、イネーブルド)。更に、リモート・デスクトップ・インターフェースのコアは、多くのソフトウェア・ツールがその中にプラグイン可能であるように構成されている。これらのプラグイン・ソフトウェア・ツールは、1)グリッド・イネーブルド・サーバ、2)グリッド計算システム、3)ウェブ・イネーブルド・アプリケーション、4)ローカル・クライアントのオペレーティング・システムなど、複数のクラスのシステムと統合が可能である。
【0041】
ネットワーク・データ及び計算ソースと通信するこの実施例のコンポーネントの間に高レベルの統合がなされているため、エンド・ユーザによってリクエストされたリモート・データのすべてが、この環境の中にシームレスであって追加的なユーザ・リクエストなしに導入される。ユーザがそれまでにアクセスしたすべてのデータがこの環境の中に引き込まれると、情報を、ローカル・フィルタを通じて他のアプリケーションへシームレスに送ることができる。リモート・デスクトップ環境を離れることを必要とせずに、著しく共通点の少ない環境の間で、ユーザは、データを移動することができる。換言すると、この環境は、グリッド・サーバ又はグリッド計算システムに直接に接続し、データがユーザによって見られるときにはこれらのシステムからのデータを記憶することによって、データ転送を透過的にする。これにより、複数のダウンロードのステップが回避され、システムがこの環境の中の複数の異なるアプリケーションの間でデータを透過的に移動させることが可能になる。
【0042】
繰り返しになるが、本発明はリモート・デスクトップ環境であり、ユーザが、セキュリティが配慮されたネットワーク接続を介してサーバとリモート・グリッド・イネーブルド・サーバとを動作させることを可能にする。このソフトウェアはローカルなユーザ・コンピュータの上で動作し、キャッシュ動作を用いネットワーク・リクエストを減少させる(すなわち、ローカルCPUを用いる)ことでネットワークへの依存性を減らしているので、このデスクトップ環境は、ネットワーク故障の点から見てより安定的である。本発明の他の特徴としては、プラットフォームからの独立性、ウェブ・アクセス可能性、ウェブ・ブラウザのタイプからの独立性が含まれる。このソフトウェアの重要な特徴のいくつかを以下でリストにする。
【0043】
1.ソフトウェアはローカルCPUにおいて動いており、サーバとの間での通信はセキュリティが確保されたネットワークを介して最小のレベルにあり、その結果、ネットワークの信頼性は低くなっている。
【0044】
2.これは、ユーザ・プラットフォームとは独立である。
3.サーバに対しては、任意のオペレーティング・システムを用いることができる。
4.ウェブ・ブラウザからアクセス可能であるが、ウェブ・ブラウザのタイプとは独立である。
【0045】
5.ユーザ・コンピュータにセーブされた実行可能のコピーからの動作も可能である。
6.これにより、ユーザは、サーバにおいてユーザ・アカウント及びディレクトリをもつことができ直接にアクセスできる。従って、ユーザは、ローカル・コンピュータではアクセスできない動作している計算集約的なアプリケーション・ツールなど、サーバ上のリソースにアクセスすることができる。
【0046】
7.ネットワーク故障に関しては安定的である。特に、このソフトウェアはローカル・コンピュータにおける動作を継続し、同時に、ネットワーク割り込みの場合には接続を自動的に再確立することを試みる。
【0047】
8.これにより、ユーザは、サーバ及びデータ・グリッドに存在するデータベースからのデータに問い合わせをしデータ・マイニングすることが可能になる。
9.サーバは、グリッド・イネーブルドである場合には、必ずしもグリッド・イネーブルドではないローカルなユーザ・コンピュータからリモート計算グリッドへのゲートウェイを提供する。
【0048】
10.独立のサードパーティのメンバーがこのソフトウェアのための新たなコンポーネント又は追加的なアプリケーション・ツールを開発することを可能にするオープン構造アーキテクチャを有する。
【0049】
図11は、デスクトップ環境を始動させる動作フローチャートを図解している。エントリ(入力)の点としては、2つの可能性がある。すなわち、1)ウェブ・ブラウザから、そして、2)ローカル・コンピュータにセーブされているリモート・デスクトップのための実行可能ファイルのコピーから、である。デスクトップ環境は、JavaSSH技術を用いて最初にサーバへの接続をすることによって始動される。ユーザは、サーバ上で認証のためにユーザ名及びパスワードを提供しなければならない。
【0050】
セキュア・シェル(SSH)のある実施例では、通信は、IDEA又は他の複数の暗号(3キー・トリプルDES、DES、RC4−128、TSS又はブローフィッシュ)の中の1つを用いて暗号化される。暗号鍵はRSAを用いて交換されることができ、暗号鍵交換で用いられたデータは頻繁に破壊される。更に、暗号鍵はどこにもセーブされない。すべてのホストが、RSAホスト認証が用いられるときにホストを認証するのに用いることができるRSA鍵を有しうる。暗号化は、IPスプーフィングに対する保護のために用いられる。公開鍵の認証は、DNS、ルーティング、スプーフィングに対する保護のために用いられる。RSA鍵は、また、ホストの認証にも用いることができる。
【0051】
いったん認証されると、ユーザがウェブ・ブラウザからサーバにアクセスしたときには、リモート・デスクトップ環境のコピーがダウンロードされ、ローカル・コンピュータ上で動作する。リモート・デスクトップ環境は、次に、TCP/IP又はそれ以外のネットワーキング・プロトコルを用いて指定されたサーバと直接に通信することができる。すると、ユーザのアカウント及びディレクトリは、リモート・デスクトップ環境の中にマップされる。
【0052】
次に、ユーザ・ディレクトリ情報のために、リクエストをサーバに送ることができる。そして、ファイル・マネジャが更新される。この時点で、この環境は、完全に活性化されている。ユーザは、複数の典型的なタスク、例えば、1)リモート又はローカルなアプリケーションを動作させる、2)ジョブを提出する、3)データベースからのデータに問い合わせをする、の中の1つを実行することができる。上述したアーキテクチャのため、リモート・デスクトップ環境は、上述のタスクがリクエストされたとき、たとえネットワーク接続が利用可能でなくても、クラッシュしない。これらのネットワーク指向タスクは、ネットワークが利用可能になるまで遅延させることが可能であり、実行可能な任意のローカル・タスクは、ネットワークが利用可能になる前に終了しうる。
【0053】
ウェブ・ブラウザからアプリケーションを始動させそのアプリケーションをウェブ上にロードできることにより、任意の位置から、リモート・デスクトップ環境と指定されたサーバとへのアクセスが提供される。その結果、リモート・デスクトップ環境の全体が、安全なウェブ接続を始動させることによって始動され、従って、ウェブ接続は必要とされない。更に、従来技術では、IPアドレスを用いて任意のサーバに接続可能なリモート・デスクトップ環境を始動させるのに、ウェブ認証をしていなかった。
【0054】
図12は、アプリケーションを動作させる動作フローチャートを示している、ユーザは、デスクトップ上のアイコンをダブルクリックすることによって、アプリケーションを始動することができる。アプリケーションがファイルをサーバから読み出すことを要求する場合には、サーバへのリクエストがなされる。ユーザは、リモート・デスクトップ環境を用いて、ネットワーク通信なしで、ローカル・コンピュータ上のデータを見て、解析し、及び/又は、編集することができる。
【0055】
いったん選択されたユーザ動作が完了すると、デスクトップ環境は、データをサーバにセーブすることができる。その時点で、リクエストがサーバに送られ、いったんこれがなされると、ファイル・マネジャが更新される。アプリケーションが計算集約的な科学的アプリケーションに対するGUIである場合には、ユーザは、また、リモート・コンピュータにジョブを提出することができる。アプリケーションが、ネットワークを介したデータ転送をほとんど必要としないサーバとの間でファイルを読み出し又はセーブする必要があるときには、サーバへの通信がなされるだけであることに注意してほしい。アプリケーションは、残りの動作時間の間、ローカル・コンピュータにおいて動作する。
【0056】
ユーザがリモート・サーバにジョブを提出することをリクエストするときに、リソース・マネジャが始動される。図13に図解されているように、デフォルトでは、ユーザは、ジョブをサーバで動作させることができる。しかし、ユーザは、自分自身がアカウントとリソース配分とを有する任意のリモート・コンピュータを選択することができる。ジョブを特定のコンピュータに提出する前に、この環境は、ユーザがその特定のコンピュータにアカウントを有しておりそのジョブ・リクエストに対するアプリケーションが利用可能であることを確認する。安全に関する理由により、この環境は、どのパスワードも記憶することはなく、従って、ユーザは、認証目的のために選択されたコンピュータへのパスワードを入力しなければならない。認証プロセスは、サーバから選択されたコンピュータへのJavaSSH接続によってなされる。
【0057】
いったん認証がなされると、ジョブは、サーバを介して、リソース・マネジャから提出することができる。ユーザが計算グリッドを選択する場合には、用いられるグリッド技術に応じて、異なる認証プロセスに従わなければならない。次に、出力が、サーバに返送することができ、サーバの側ではファイル・マネジャにその情報を更新するように連絡をする。
【0058】
図14は、別の典型的なタスク、例えば、データベースからのデータの問い合わせを図解している。第1に、ユーザがデータベースを選択し、次に、これらのデータベースに対するGUIが始動される。ユーザは、サーチ・パラメータを設定しサーチを実行することができる。リクエストは、エンタープライズJavaBean(登録商標、以下同様)接続を介して、サーバに送られる。問い合わせ(クエリ)の結果は、更なる修正又は解析のために環境に回収(リトリーブ)される。ユーザは、この環境において利用可能な任意の解析又は可視化ツールを用いて、データを見ることができる。特定の(カスタマイズされた)可視化ツールを有するデータに対しては、そのようなアプリケーションへの直接的なリンクが作成される。
【0059】
ユーザは、また、データを修正し、自分自身の私用のデータベースの中にセーブすることができる。この場合には、データをセーブするリクエストは、サーバに送られる。同様に、サーバへの通信は、サーチ・リクエストがなされるか、データがサーバから検索されるか又はサーバにセーブされるときにだけなされる。解析及び可視化のステップは、計算的な要求が大きいのであるが、ローカル・コンピュータにおいてなされる。
【0060】
以上の例は1又は複数のアプリケーションにおける本発明の原理を例示するものであるが、この技術分野の当業者にとっては、発明的な能力を発揮することなく、また、本発明の原理及び概念から逸脱することなく、実装の形態、使用及び詳細に関して様々な修正が可能であることは明らかである。従って、本発明は、特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【0061】
【図1】従来技術による典型的なウェブ・アプリケーションのソフトウェア・アーキテクチャのブロック図である。
【図2】従来技術によるリモートUnixシェルのソフトウェア・アーキテクチャのブロック図である。
【図3】ホスト・ゲスト・システムのソフトウェア・アーキテクチャのブロック図である。
【図4】リモート計算グリッド・システムのためのローカルに動作されるデスクトップ環境の実施例を図解するブロック図である。
【図5】デスクトップ環境とその主たるコンポーネントすなわちデータベース・グラフィックス・ユーザ・インターフェース(GUI)、リソース・マネジャ、ファイル・マネジャ及びソフトウェア・リンク・インターフェースの実施例を図解するブロック図である。
【図6】ファイル・マネジャのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図7】データベースGUIのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図8】リソース・マネジャのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図9】ソフトウェア・リンク・インターフェースのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図10】デスクトップ環境の開放(オープン)構造ソフトウェア・アーキテクチャの実施例を図解するブロック図である。
【図11】デスクトップ環境を活性化する動作を図解するフローチャートである。
【図12】デスクトップ環境でアプリケーションを動かす動作を図解するフローチャートである。
【図13】ジョブをサーバに又はリモート計算グリッドに提出する動作を図解するフローチャートである。
【図14】データベースからのデータを問い合わせる動作を図解するフローチャートである。
【図15】リモート・デスクトップ・システムの別の実施例を図解するブロック図である。
【技術分野】
【0001】
本発明は、ソフトウェア環境であり、これにより、ユーザは、ネットワーク接続を介してリモート・グリッド・イネーブルド・サーバと環境とを動作させることが可能になる。
【背景技術】
【0002】
インターネット及びワールド・ワイド・ウェブ(あるいは、単に、ウェブ)との拡大により、ビジネス環境が劇的に変化している。ビジネスはより全世界規模になり、より多くの仕事が本店から、そのような中央集権的なオフィスから遠く離れた場所へ移動している。その結果、遠隔(リモート)コンピュータ・システムからの情報及び資源(リソース)にアクセス可能であることの必要性は、ますます重要となりつつある。更に、計算集約的な仕事にとっては、リモート・システムは単に1つのコンピュータやサーバではなく、サーバにローカルに接続されているか又はテラ・グリッド(Terra Grid)グリッドによって接続されているコンピュータの集合体である。同様のことは、異なる場所にある多くのコンピュータに配置された分散型のデータベースにデータを記憶することができるデータ集約的な仕事についても真実である。
【0003】
リモート・システムやウェブにアクセスする技術はいくつか存在しており、それぞれがそれ独自の特徴と短所とを有している。特に、これらの技術には、1)ウェブ・アプリケーション、2)リモート・シェル、3)ホスト・ゲスト・システムがある。
【0004】
ウェブ・アプリケーションとは、一般的にプラットフォームから独立であって、ウェブ・ブラウザからリモート・サーバのサービスに対する情報やリクエストにユーザがアクセスすることを可能にする技術である。ユーザは、ウェブ・ポータル又はサーバに、ウェブ・ページからセキュリティには配慮されていない(http)又はセキュリティに配慮された(https)接続を介して接続することができる。サーバでは、サーブレットとして構成されたウェブウェブ・アプリケーションが動作して、そのような接続に注意を払い、そのような接続を提供する。これは、多くの場合、クライアント・サーバ・アーキテクチャとして知られている。ウェブ・アプリケーションは、データをリクエスト側のユーザに配分するなど単純なタスクを実行することができ、また、認証をおこない、ユーザから入力データを受け取り、リクエストをサーバに送って異なるアプリケーションを動作させ、又は、サーバから出力データを受け取りそのデータをユーザに返送することを含む複雑なタスクを実行することができる。
【0005】
このソフトウェア・アーキテクチャでは、ユーザは、サーバのオペレーティング・システム(OS)ではなくウェブ・アプリケーション・サーブレットと直接に通信する比較的貧弱なウェブ・クライアントを有する。従って、認証プロセスは、ウェブ・サーバ自身のOSではなくサーブレットによって実行される。更に、ユーザは、セキュリティ状の制約によりサーバのオペレーティング・システムにおいては時bんじしんのアカウントとディレクトリとを有していないのが一般的である。しかし、ウェブ・アプリケーションは、エンド・ユーザのためにウェブ・アカウントと仮想ディレクトリとを提供することができるが、これは、直接にサーバ自体にアカウントを有することとは著しく異なる。
【0006】
サーバにおけるリソースへのリクエストは、サーブレットによってなされる。更に、すべての計算は、サーバ・コンピュータにおいてなされる。換言すると、サーバとのすべてのウェブ通信は、ウェブ・データを提供して下位にあるサーバを保護するサーブレットを介するチャネルが与えられる。更に、サーブレットがクラッシュする又はネットワーク通信が利用不可能になる場合には、ユーザ側のアプリケーションは直ちに故障する、及び/又は、ウェブ・アプリケーションのためのオブジェクトとページとが利用不可能になる。これらのタイプの故障はエンド・ユーザに対して迷惑であり、ネットワークの接続性がウェブ・アプリケーションにおける弱いリンクであることを例示する。
【0007】
このシステムの例が図1に図解されている。ユーザAとユーザBとはウェブ・ポータルに接続し、両者共に登録済みユーザとして認証される。ユーザAはデータ1をリクエスト提供してタスク1が実行されることを要求し、他方で、ユーザBはデータ2を提供してタスク2を要求する。次に、サーブレットはサーバOSと通信して、これらのタスクが提供されたデータを用いて実行されることを要求する。いったんタスクが完了すると、サーバOSは出力1及び2をサーブレットに返送する。この時点で、サーブレットは出力1をユーザAに割当て、出力2をユーザBに割り当てて、これらの出力を指定されたユーザに向けて送出する。
【0008】
次に、リモート・シェル技術について論じる。リモート・シェル技術は一般にUnix(登録商標、以下でも同様)、Linux(登録商標、以下でも同様)又はリモート・シェルが当該OSにログインすることを許容する類似の計算環境を動かしているサーバに対して用いられる。図2に図解されているように、ユーザは、自分自身のローカル・デスクトップ環境においてXウィンドウを開き、セキュア・シェル(SSH)プロトコルを用いて直接にサーバに接続する。この場合には、ユーザは、そのサーバにおいてアカウントとディレクトリとを有し、コマンド・ライン・コマンドを用いてサーバOSと直接に通信する。ユーザは、SSHを用いたサーバのデスクトップ環境を見ることはない。
【0009】
しかし、ユーザは、X11フォワーディング・プロトコルを用いてサーバからローカル・コンピュータへディスプレイをエクスポートするアプリケーションを動かすことができる。X11プロトコルは、スクリーン、キーボード、マウスなどを「サーブ・アウト」することができる。しかし運の悪いことに、X11プロトコルは、サーバからのグラフィクスをエクスポートする際に困難を抱えることがある。この技術では、すべてのイベントは、ウェブ・アプリケーション技術と類似するサーバにおいて実行される。また、安定性が問題になることもあるのだが、その理由は、このシステムにおける弱いリンクもネットワーク接続であるからである。ネットワーク接続が常に用いられるので、X11セッションの全体は、ネットワーク接続が故障すると、故障する。
【0010】
次に、ホスト・ゲスト・システムについて論じよう。この技術は、パーソナル・コンピュータ(PC)のユーザに対してはより最近になって利用可能になったものであり、多くの場合はシングル・ユーザ・アプリケーションである。ユーザは、ホストに指定されたPCにホスト・アプリケーションをインストールし、ゲストに指定されたPCにゲスト・アプリケーションをインストールする。このようなシステムは、ウィンドウズ(登録商標)OS上で動作するものに限定されるのが一般的であり、図3に図解されている。
【0011】
ゲスト・アプリケーションとホスト・アプリケーションとの間の通信によって、ホスト・アプリケーションがホスト・デスクトップ環境をゲスト・コンピュータにエクスポートすることが可能になる。ゲスト・コンピュータにおけるユーザは、アクセス用のデータや動作しているアプリケーションなどを含むエクスポートされたホスト・デスクトップ環境を介してホスト・コンピュータを制御する。他方の技術と類似した態様で、すべてのイベントはホスト・コンピュータにおいてなされる。ユーザはホストOSと直接に通信するのではなくホスト・コンピュータで動作しているホスト・ゲスト・アプリケーションと通信することに注意すべきである。このシステムは、ホスト及びゲスト・アプリケーションが共にシステムを用いることができるよりも前にインストールされている短所がある。更に、ホスト・ゲスト・システムは、ゲスト・アプリケーションがリモート・コンピュータにアクセスするように、通信ネットワークに高度に従属している。ネットワーク接続が利用不可能であるときには、ホスト・コンピュータに作用するゲストを表すグラフィカル・イメージを送ることができない。これらのグラフィカル・イメージ又はホストへのゲストの作用のリモート・ミラーリングは、著しい量の通信帯域幅を消費する。
【0012】
ここまでの議論は、グリッド計算システムだけでなく単一のリモート・コンピュータニア屈すする技術に関するものであった。グリッド計算システムにアクセスするには、ユーザはアカウントを有し、そのアカウントがグリッド・イネーブルドであるコンピュータにログインして、リソースをそのグリッド上のユーザに配分する。計算グリッドにアクセスする技術は、グローバス(Globus)など、現に存在している。従って、サーバがグリッド・イネーブルドなら、そのサーバは、計算グリッドへのゲートウェイとなりうる。しかし、運の悪いことに、グリッド計算サービスは、ユーザが計算グリッドに接続されたローカル・サーバにアクセスする遠隔的(リモート)なアクセス可能性を与えてくれないのが一般的である。
【0013】
まとめると、上述してきた既存の技術に共通する基本的な性質として、すべての計算は用いられているリモート・サーバにおいて実行され、計算されたデータ又はリモート・コンピュータへの作用を示すスクリーンは、表示のために、ユーザのコンピュータにエクスポートして返されるのである。そのような場合には、グラフィック・データは、大量の帯域幅の接続を使うことになる。
【0014】
これらの既存の技術を取り巻く別の共通の問題は、ネットワークの故障に関するものである。ネットワークが利用不可能になると、リモート・シェルとホスト・ゲスト・アプリケーションとは、警告なしに終了される。ウェブ・アプリケーションを除くと、これらの他の技術はプラットフォームに依存する。ウェブ・アプリケーションはいくぶんプラットフォームから独立であるが、ウェブ・アプリケーションのユーザは、ウェブ・アプリケーション・サーブレットを介して相互作用しているサーバにアクセスし、環境を直接に動作させているサーバにはアクセスしない。
【0015】
本発明の追加的な特徴及び効果は、例示的に本発明の特徴を図解している添付の図面を参照して以下の詳細な説明を読むことから明らかになるであろう。
【発明を実施するための最良の形態】
【0016】
以下では、図解された例示的な実施例を参照する。同一の対象を記述する際には特定の表現を用いる。しかし、以下の記載は発明の範囲を制限することを意図していないことを理解してほしい。
【0017】
本発明は、リモート・グリッド・イネーブルド・サーバのためのデスクトップ環境を含み、このリモート・デスクトップかんきょうは、任意のオペレーティング・システム・プラットフォームを用いたローカルなコンピュータで動作させることができる。図4は、システム400全体の概要を図解している。この図の中のユーザA402とユーザB404とは、物理的に別個の位置にあり、異なるコンピュータ・プラットフォーム又はオペレーティング・システムを用いてリモート・サーバ(これは、ユーザとは別の位置にある)のためのデスクトップ環境を動作させうる。ユーザのデスクトップ環境とサーバ406との間の通信は、セキュア・シェル(SSH)技術を用いて達成することができる。SSHの一例として、JavaのSSHがある。あるいは、それ以外の既知のネットワーキング・プロトコルを用いて、ユーザのデスクトップ環境の間での通信をすることも可能である。
【0018】
サーバは、グリッド・イネーブルド状態にあり、グロバス(Globus)などのグリッド技術を介して、計算グリッド上にあるすべてのグリッド・コンピュータ408と通信するように構成されている。サーバは、また、計算集約的な(computing intensive)アプリケーションのための多数の計算ノード410にローカルに接続されている場合がある。この意味で、グリッド・イネーブルド・サーバ406は、ローカル・エリア・ネットワーク(LAN)又はワイド・エリア・ネットワーク(WAN)の中に含まれたグリッド計算システム又は計算リソースへのゲートウェイである。リモート・デスクトップ環境との通信に関しては、又は、サーバに接続可能なデスクトップ環境の数に関しては、サーバのオペレーティング・システムに関する制限は存在しない。例示の目的であるが、Unixオペレーティング・システムを、サーバのプラットフォームとして用いることができる。
【0019】
デスクトップ環境500は、図5に図解されているように、5つのメイン・コンポーネントを有する。詳しくは、これらは、ファイル・マネジャ502と、リソース・マネジャ504と、データベース・グラフィック・ユーザ・インターフェース(GUI)506と、ユーティリティ(図示せず)と、ソフトウェア・リンク・インターフェースを有するアプリケーションGUI508と、である。環境全体をJava(登録商標、以下同様)で書くことにより、それをプラットフォームとは独立であり、ローカル・コンピュータ上で実行されるようにできる。あるいは、デスクトップ環境を、ActiveXアプリケーションとして又はTCP/IPイネーブルド実行可能として書くことも可能である。
【0020】
ユーザがどのサーバにも接続されておらず、サーバとローカル・コンピュータとの間でファイルを転送するための単純なインターフェースを提供するとき、ファイル・マネジャによって、ユーザは、サーバ上の又はローカル・コンピュータ上のファイルを管理することができる。データベースGUIは、リモート・サーバにおけるデータベースからのデータの問い合わせをし、マイニングを行い管理するためのユーザ・フレンドリなインターフェースを提供する。リソース・マネジャは、計算グリッドにおいて及び配分されたリソースをそこからユーザが受け取る任意のネットワークされたコンピュータにおいて利用可能な計算リソースに関する情報にユーザがアクセスすることを可能にするGUIである。ユーティリティ・コンポーネントは、単純なテキスト・エディタのためのノートパッド、イメージ・ビューワ、グラフィック・ツール、スプレッドシート、3D視覚化ツール、通信ツールなど、ユーザが通常の計算業務をあたかも自分自身がサーバの位置に座っているかのように実行するのに必要なツールを提供する。アプリケーションGUIとソフトウェア・リンク・インターフェース(SLI)とは、サーバに存在するある作業領域に特有なGUIやアプリケーションの集合であり、SLIはアプリケーションを相互に接続するフィルタである。これらのアプリケーションGUIとSLIとは、これらのアプリケーションを相互に接続するワークフローの構築に用いることができる。
【0021】
ファイル・マネジャ: ファイル・マネジャ600は、選択された動作モードに応じてユーザがローカル・コンピュータ又はリモート・サーバにおける自分自身のユーザ・ディレクトリの中のファイルを管理することを可能にするGUIである。その機能及び構成は、図6に図解されている。環境が最初に活性化されると、ユーザ・ディレクトリ・ツリーが602のように作成される。ユーザは、604のようにローカル・コンピュータからサーバへ又はその逆方向にファイルをアップロードするだけでなく、サーバ上のファイルを削除、コピー、移動及び作成することができる。これらのタスクは、単純なクリック・ボタン又はドラッグ・ドロップ・マウス機能を用いて行うことができる。
【0022】
ファイル・マネジャは、ユーザ・ディレクトリとデータ・ストレージ領域におけるコンテンツを追加、削除又は変更するリクエストがあるときにだけサーバへの通信がなされるために、リモート・ユーザのために特に価値がある。更に、ファイル・マネジャは、606にあるように、ユーザ・ディレクトリのコンテンツを周期的にチェックし、サーバ(又は、リモート・デスクトップ環境)において動作している何らかのアプリケーション・プロセスのために修正されるときに、情報を更新することができる。
【0023】
本発明の効果は、実際のファイル・リクエストが必要とされるときにサーバとの通信が生じるということである。ネットワーク故障がある場合には、環境は、ローカル・コンピュータ上で動作しているために終了されない。しかし、接続が再度確立されるまでは、サーバにおけるユーザ・ディレクトリに対する変更はまったくなされない。サーバへの再接続は、ネットワークが利用可能であるときには、自動的になされる。ファイル・マネジャは、変更をキャッシュし、途中で他者によってなされたすべての他の変更に従って、それらの変更を再度同期させる。どのリモート・サーバへの接続もなされなかったときには、ファイル・マネジャは、ユーザがローカル・コンピュータにおいてファイルを管理することを可能にする。
【0024】
データベースGUI: データベースGUI700は、図7に図解されているように、あとで問い合わせやマイニングのために用いることができるデータの記憶のためにユーザフレンドリなインターフェースを提供する。データベースGUIは、サーバ702におけるユーザがアクセス可能なデータベースと、公共データ・グリッド704からのデータベースに接続する。この接続は、エンタープライズ・Java Bean(EJB)技術を用いて行うことができる。この接続は、リモート・サーバへのSSH接続とは独立であり、ユーザがそのようなサーバにログインしてユーザがアクセス可能なデータベースにアクセスすることを必要としない。
【0025】
ユーザは、サーバ702においてアカウントとディレクトリとを有しているので、読み出し/書き込み(リード/ライト)許可を有する私用のデータベースを作成し、指定されたグループとリード・オンリ又はリード/ライト許可を共有し、又は、リード・オンリの権利だけを有する公共データベースを開設することができる。アプリケーションの分野に応じて、データベースのためのテンプレートを指定して、ユーザの選択のために提供することができる。
【0026】
データベースGUIは、複数の機能を提供する。1つは、データベースからのデータの問い合わせ又はマイニングである。選択されたデータを、その環境において利用可能な直接にリンクされた可視化ツールを用いて見ることができる。他の機能には、問い合わせの履歴、ユーザが書き込み(ライト)許可を有する選択されたデータベースにおけるレコードの追加/削除/コピー/編集がある。データベースGUIは、また、ローカルな環境にキャッシュされているデータベースの一部について、ネットワーク接続が利用可能でない場合には見る及び操作するために使用を継続することを可能にするという特徴も提供する。このキャッシュ操作により、データベースGUIコンポーネントは、より便利かつより安定的になる。
【0027】
リソース・マネジャ: リソース・マネジャ800は、図8に図解されているように、サーバ又はそれ以外のリモート・コンピュータにおいてユーザがジョブを提出しモニタするためのGUIである。サーバ802はグリッド・イネーブルドにできるから、ユーザは、また、ユーザがサービス配分を有しているすべてのリモート・コンピュータに加えグリッド804において利用可能なコンピュータにもアクセスすることができる。ユーザが任意のアプリケーションからジョブを提出することをリクエストすると、リソース・マネジャが活性化される。リソース・マネジャは、ユーザが選択のためにアクセス可能なすべてのコンピュータを表示する。デフォルトでは、ジョブは、ログオン・サーバにおいて動作される。
【0028】
いったんサーバが選択されると、リソース・マネジャは、ジョブを提出し、ユーザにジョブが提出されたことの確認を提供する。更に、ユーザは、選択されたコンピュータ806におけるジョブ状況の表示をリクエストすることができる。ジョブは他の場所でも動作しうるのであるが、出力はサーバに返送される。
【0029】
リソース・マネジャは、この環境の中の重要なコンポーネントであり、ユーザに対して、グリッド・イネーブルドされていないコンピュータからでもリモート計算グリッド・ソースにアクセスする直接的な方法を提供する。リソース・スケジューラはデスクトップの一部であるから、これにより、ネットワークが利用可能でないときでもリソースのスケジューリングが実行可能となる。再びネットワークが利用可能になると、予定されたジョブを処理のためにサーバへ送ることが可能になる。このようにして、ユーザは、リモート・デスクトップ環境がロードされている任意のコンピュータから計算グリッド・リソースへのアクセスをもつことができる。
【0030】
ソフトウェア・リンク・インターフェース(SLI):ソフトウェア・リンク・インターフェース(SLI)900は、このデスクトップ環境の中の別の重要なコンポーネントである。既存の計算集約的な(computationally intensive)アプリケーションのほとんどは、独立に開発され、相互に依存する関係にある場合であっても互いにインターフェースを有するようには設計されていない。これは、科学的な計算アプリケーションについて、特に真実である。例えば、ある1つのアプリケーションからの結果の一部は、他のアプリケーションへの入力として用いられることがある。現時点では、ユーザは、そのような変換タスクをマニュアルで実行しなければならない。
【0031】
2つのアプリケーションの間の相互依存性を認識することによって、SLI900は、図9に図解されているように、一方のアプリケーション902の出力をパーズし、正しいフォーマット仕様を用いて他方のアプリケーション904への入力を用意するように設計することができる。SLIの使用により、人間による入力を用いたデータ変換において現時点で一般的に行われている場合の人間によるエラーの多くを除去することができる。更に、SLIが価値があるのは、エンド・ユーザがある1つの科学的計算アプリケーションを別のアプリケーションにマップすることを可能にするからである。あるいは、このマッピングは、SLIの中に既にプログラムされた科学的計算アプリケーションのために、プログラム提供に実行することが可能である。例えば、ワークフロー・システムを設定し、一方のアプローチからこれらのSLIを介して他方のアプリケーションへの情報フローを構築しモニタすることが可能である。
【0032】
このリモート・デスクトップ環境1000の別の便利な要素は、その開放構造ソフトウェア・アーキテクチャである。図10に図解されているように、このリモート・デスクトップ環境によると、独立の開発者が、オープン・プラグイン・エクステンション(拡張)を用いて新たなコンポーネントをデスクトップ環境の中に追加することが可能である。このようにして、サードパーティによるアプリケーション・ツール1002を、このリモート・デスクトップ環境のソース・コードを公開する又は配布することを必要としないで容易にこのデスクトップ環境の中に統合することができる。更に、このソフトウェア・アーキテクチャによって、ユーザは、それぞれのアプリケーション1004を独立に扱う(すなわち、それ自体の実行可能ファイルを有する)ことが可能になる。サードパーティの又は任意のアプリケーションをこの環境の中にロードすることは、Javaウェブスタート技術を用いて又は他のウェブ・プラグイン技術を用いて任意の実行時間において行うことができる。これにより、ユーザは、この環境の中にロードするアプリケーションを選択することが可能になり、更に、自分自身の業務のためにこの環境をカスタマイズすることも可能になる。このような能力により、この環境が制限のないアプリケーションをサポートすることが可能になり、同時に、環境を動作させるのに要求されるメモリはユーザによって選択されたアプリケーションの数にだけ依存することになる。
【0033】
以上で論じたように、デスクトップ環境1000は、コア・コンポーネントの集合を伴う。すなわち、ファイル・マネジャ、データベースGUI、リソース・マネジャ、可視化/解析ツール及びユーティリティである。更に、可視化/解析ツールとユーティリティ・アプリケーションが提供される。これらのツール及びユーティリティは、ローカル・コンピュータにおいて実行するためにJava(又は、3Dグラフィクスの場合には、JavaOPGL)で書くことができる。ノートパッド、プロッタ、スプレッドシート、イメージ・ビューワなど、これらのアプリケーションは、サーバにおいて典型的なタスクを実行するのに必要となる。また、新たなツールを、独立の開発者による任意のコンポーネントに追加して全体的な環境を向上させることも可能である。
【0034】
このリモート・デスクトップ環境は、複数動作モードを有する。図15は、本発明のブロック図を図解しており、複数動作モードのためのコンフィギュレーションと追加的な実装コンフィギュレーションとを示している。データの位置とネットワーク又はインターネット接続の利用可能性とに応じて、少なくとも異なる3つの動作モードが存在する。すなわち、これらの動作モードとは、1)リモート・サーバ接続モード、2)ローカル動作モード、3)オフライン・モードである。すべての場合に、リモート・デスクトップ環境は、ローカルCPU又はクライアント・オペレーティング・システム及びハードウェアにおいて動作している。これらのモードの違いは、データ及び計算リソースのマップ、アクセス又は検索方法に焦点を合わすことができる。
【0035】
リモート・サーバ接続(RSC)モードでは、リモート・デスクトップ環境により、ユーザが、当該ユーザによって特定された任意のサーバに接続することが可能になる。ほとんどの場合に、グリッド・イネーブルド・サーバが、ユーザによって接続される。この環境は、選択されたサーバのためのユーザ・ファイル・ディレクトリにマップすることができ、ユーザは、自分自身が適切なライセンス又は許可を有しているサーバにおいて任意のアプリケーションを動作させることができる。この環境は、ネットワーク割り込みに関して安定的である。換言すると、この環境は、インターネット又はネットワーク接続が利用不可能なときでも動作を継続する。
【0036】
この環境がローカル動作モードにあるときには、ユーザは、どのリモート・サーバ又はグリッド・イネーブルド・サーバにも接続しないことを選択することができる。これは、ユーザがグリッド・イネーブルド・サーバからのデータ及びファイルを用いないことを意味する。そのような場合には、この環境は、ローカル・ディスク又はストレージ媒体から動作する。この場合、ファイル・マネジャは、ローカル・ハードディスク、CDROM、フロッピ(登録商標)、USB、メモリ・スティック(登録商標)など、ユーザのローカル・コンピュータにおけるすべてのアクセス可能なデバイスをマップする。この場合、ユーザは、環境内のすべてのJavaベースのアプリケーションを用いることができて、EJB/http/又はウェブサービス技術を用いて、(私用、共有又は公共の)データベースにアクセスする。
【0037】
ローカル動作モードでは、ユーザは、また、リモート・サーバ又はグリッド・イネーブルド・サーバにSSH接続を用いてジョブを提出できる。処理用のジョブも、ウェブサービス技術に基づくグローバス(Globus)技術によって提供されるコグ・ツールキット(cog−toolkit)を用いて、グローバス・イネーブルド計算グリッドに提出することができる。ネットワーク・サーバ・データベース及びウェブ・イネーブルド・ライブラリへのネットワーク・アクセスは、ローカル動作モードにおいて利用可能である。リモート・サーバへのマッピングを用いない他のネットワークされたリソースも利用可能である。
【0038】
別のオプションとして、オフライン・モードがある。インターネット又はネットワークが利用可能でないときには、この環境は、そこで利用可能なメモリ・デバイスにデータをリード/ライトできるローカル・コンピュータにおいて動作するアプリケーションとして用いることができる。オフライン・モードでは、リモート・デスクトップ環境は安定的であり、ジョブ又はそれ以外の情報は、ネットワークが利用可能である間、待ち行列に入れられる。
【0039】
本発明によるシステムの全体的な効果の1つとして、このシステムは、共通点のないネットワーク・システムと独立に通信する複数のアプリケーション・ツールを取得し、これらのアプリケーションを組み合わせてユーザに対して透過的に動作する凝集的なリモート・デスクトップ・システムを形成する。更に詳しくは、このリモート・デスクトップは、複数の環境に対するマッピング及びデータ検索を組み合わせることで、ユーザがただ1つの環境を見ることを可能にする。上述のように、このリモート・デスクトップによって、ユーザは、1)グリッド・イネーブルド・サーバ、2)グリッド計算ネットワーク、3)ローカル・クライアント・コンピュータ・ハードウェア及びソフトウェア、4)ローカル・データを有するローカル・アプリケーションにアクセスすることが可能になる。
【0040】
ここで説明している実施例は、従来技術によるリモート・インターフェース・システムとは著しく異なるのであるが、その理由は、たとえ多くの統合されたアプリケーションから形成されているにもかかわらず、単一のアプリケーションとして作用する統合型の環境を含むからである。リモート・デスクトップ・インターフェースがアプリケーション相互間の通信のためのフィルタリング及び通信を提供するから、この機能が実現されている(可能になる、イネーブルド)。更に、リモート・デスクトップ・インターフェースのコアは、多くのソフトウェア・ツールがその中にプラグイン可能であるように構成されている。これらのプラグイン・ソフトウェア・ツールは、1)グリッド・イネーブルド・サーバ、2)グリッド計算システム、3)ウェブ・イネーブルド・アプリケーション、4)ローカル・クライアントのオペレーティング・システムなど、複数のクラスのシステムと統合が可能である。
【0041】
ネットワーク・データ及び計算ソースと通信するこの実施例のコンポーネントの間に高レベルの統合がなされているため、エンド・ユーザによってリクエストされたリモート・データのすべてが、この環境の中にシームレスであって追加的なユーザ・リクエストなしに導入される。ユーザがそれまでにアクセスしたすべてのデータがこの環境の中に引き込まれると、情報を、ローカル・フィルタを通じて他のアプリケーションへシームレスに送ることができる。リモート・デスクトップ環境を離れることを必要とせずに、著しく共通点の少ない環境の間で、ユーザは、データを移動することができる。換言すると、この環境は、グリッド・サーバ又はグリッド計算システムに直接に接続し、データがユーザによって見られるときにはこれらのシステムからのデータを記憶することによって、データ転送を透過的にする。これにより、複数のダウンロードのステップが回避され、システムがこの環境の中の複数の異なるアプリケーションの間でデータを透過的に移動させることが可能になる。
【0042】
繰り返しになるが、本発明はリモート・デスクトップ環境であり、ユーザが、セキュリティが配慮されたネットワーク接続を介してサーバとリモート・グリッド・イネーブルド・サーバとを動作させることを可能にする。このソフトウェアはローカルなユーザ・コンピュータの上で動作し、キャッシュ動作を用いネットワーク・リクエストを減少させる(すなわち、ローカルCPUを用いる)ことでネットワークへの依存性を減らしているので、このデスクトップ環境は、ネットワーク故障の点から見てより安定的である。本発明の他の特徴としては、プラットフォームからの独立性、ウェブ・アクセス可能性、ウェブ・ブラウザのタイプからの独立性が含まれる。このソフトウェアの重要な特徴のいくつかを以下でリストにする。
【0043】
1.ソフトウェアはローカルCPUにおいて動いており、サーバとの間での通信はセキュリティが確保されたネットワークを介して最小のレベルにあり、その結果、ネットワークの信頼性は低くなっている。
【0044】
2.これは、ユーザ・プラットフォームとは独立である。
3.サーバに対しては、任意のオペレーティング・システムを用いることができる。
4.ウェブ・ブラウザからアクセス可能であるが、ウェブ・ブラウザのタイプとは独立である。
【0045】
5.ユーザ・コンピュータにセーブされた実行可能のコピーからの動作も可能である。
6.これにより、ユーザは、サーバにおいてユーザ・アカウント及びディレクトリをもつことができ直接にアクセスできる。従って、ユーザは、ローカル・コンピュータではアクセスできない動作している計算集約的なアプリケーション・ツールなど、サーバ上のリソースにアクセスすることができる。
【0046】
7.ネットワーク故障に関しては安定的である。特に、このソフトウェアはローカル・コンピュータにおける動作を継続し、同時に、ネットワーク割り込みの場合には接続を自動的に再確立することを試みる。
【0047】
8.これにより、ユーザは、サーバ及びデータ・グリッドに存在するデータベースからのデータに問い合わせをしデータ・マイニングすることが可能になる。
9.サーバは、グリッド・イネーブルドである場合には、必ずしもグリッド・イネーブルドではないローカルなユーザ・コンピュータからリモート計算グリッドへのゲートウェイを提供する。
【0048】
10.独立のサードパーティのメンバーがこのソフトウェアのための新たなコンポーネント又は追加的なアプリケーション・ツールを開発することを可能にするオープン構造アーキテクチャを有する。
【0049】
図11は、デスクトップ環境を始動させる動作フローチャートを図解している。エントリ(入力)の点としては、2つの可能性がある。すなわち、1)ウェブ・ブラウザから、そして、2)ローカル・コンピュータにセーブされているリモート・デスクトップのための実行可能ファイルのコピーから、である。デスクトップ環境は、JavaSSH技術を用いて最初にサーバへの接続をすることによって始動される。ユーザは、サーバ上で認証のためにユーザ名及びパスワードを提供しなければならない。
【0050】
セキュア・シェル(SSH)のある実施例では、通信は、IDEA又は他の複数の暗号(3キー・トリプルDES、DES、RC4−128、TSS又はブローフィッシュ)の中の1つを用いて暗号化される。暗号鍵はRSAを用いて交換されることができ、暗号鍵交換で用いられたデータは頻繁に破壊される。更に、暗号鍵はどこにもセーブされない。すべてのホストが、RSAホスト認証が用いられるときにホストを認証するのに用いることができるRSA鍵を有しうる。暗号化は、IPスプーフィングに対する保護のために用いられる。公開鍵の認証は、DNS、ルーティング、スプーフィングに対する保護のために用いられる。RSA鍵は、また、ホストの認証にも用いることができる。
【0051】
いったん認証されると、ユーザがウェブ・ブラウザからサーバにアクセスしたときには、リモート・デスクトップ環境のコピーがダウンロードされ、ローカル・コンピュータ上で動作する。リモート・デスクトップ環境は、次に、TCP/IP又はそれ以外のネットワーキング・プロトコルを用いて指定されたサーバと直接に通信することができる。すると、ユーザのアカウント及びディレクトリは、リモート・デスクトップ環境の中にマップされる。
【0052】
次に、ユーザ・ディレクトリ情報のために、リクエストをサーバに送ることができる。そして、ファイル・マネジャが更新される。この時点で、この環境は、完全に活性化されている。ユーザは、複数の典型的なタスク、例えば、1)リモート又はローカルなアプリケーションを動作させる、2)ジョブを提出する、3)データベースからのデータに問い合わせをする、の中の1つを実行することができる。上述したアーキテクチャのため、リモート・デスクトップ環境は、上述のタスクがリクエストされたとき、たとえネットワーク接続が利用可能でなくても、クラッシュしない。これらのネットワーク指向タスクは、ネットワークが利用可能になるまで遅延させることが可能であり、実行可能な任意のローカル・タスクは、ネットワークが利用可能になる前に終了しうる。
【0053】
ウェブ・ブラウザからアプリケーションを始動させそのアプリケーションをウェブ上にロードできることにより、任意の位置から、リモート・デスクトップ環境と指定されたサーバとへのアクセスが提供される。その結果、リモート・デスクトップ環境の全体が、安全なウェブ接続を始動させることによって始動され、従って、ウェブ接続は必要とされない。更に、従来技術では、IPアドレスを用いて任意のサーバに接続可能なリモート・デスクトップ環境を始動させるのに、ウェブ認証をしていなかった。
【0054】
図12は、アプリケーションを動作させる動作フローチャートを示している、ユーザは、デスクトップ上のアイコンをダブルクリックすることによって、アプリケーションを始動することができる。アプリケーションがファイルをサーバから読み出すことを要求する場合には、サーバへのリクエストがなされる。ユーザは、リモート・デスクトップ環境を用いて、ネットワーク通信なしで、ローカル・コンピュータ上のデータを見て、解析し、及び/又は、編集することができる。
【0055】
いったん選択されたユーザ動作が完了すると、デスクトップ環境は、データをサーバにセーブすることができる。その時点で、リクエストがサーバに送られ、いったんこれがなされると、ファイル・マネジャが更新される。アプリケーションが計算集約的な科学的アプリケーションに対するGUIである場合には、ユーザは、また、リモート・コンピュータにジョブを提出することができる。アプリケーションが、ネットワークを介したデータ転送をほとんど必要としないサーバとの間でファイルを読み出し又はセーブする必要があるときには、サーバへの通信がなされるだけであることに注意してほしい。アプリケーションは、残りの動作時間の間、ローカル・コンピュータにおいて動作する。
【0056】
ユーザがリモート・サーバにジョブを提出することをリクエストするときに、リソース・マネジャが始動される。図13に図解されているように、デフォルトでは、ユーザは、ジョブをサーバで動作させることができる。しかし、ユーザは、自分自身がアカウントとリソース配分とを有する任意のリモート・コンピュータを選択することができる。ジョブを特定のコンピュータに提出する前に、この環境は、ユーザがその特定のコンピュータにアカウントを有しておりそのジョブ・リクエストに対するアプリケーションが利用可能であることを確認する。安全に関する理由により、この環境は、どのパスワードも記憶することはなく、従って、ユーザは、認証目的のために選択されたコンピュータへのパスワードを入力しなければならない。認証プロセスは、サーバから選択されたコンピュータへのJavaSSH接続によってなされる。
【0057】
いったん認証がなされると、ジョブは、サーバを介して、リソース・マネジャから提出することができる。ユーザが計算グリッドを選択する場合には、用いられるグリッド技術に応じて、異なる認証プロセスに従わなければならない。次に、出力が、サーバに返送することができ、サーバの側ではファイル・マネジャにその情報を更新するように連絡をする。
【0058】
図14は、別の典型的なタスク、例えば、データベースからのデータの問い合わせを図解している。第1に、ユーザがデータベースを選択し、次に、これらのデータベースに対するGUIが始動される。ユーザは、サーチ・パラメータを設定しサーチを実行することができる。リクエストは、エンタープライズJavaBean(登録商標、以下同様)接続を介して、サーバに送られる。問い合わせ(クエリ)の結果は、更なる修正又は解析のために環境に回収(リトリーブ)される。ユーザは、この環境において利用可能な任意の解析又は可視化ツールを用いて、データを見ることができる。特定の(カスタマイズされた)可視化ツールを有するデータに対しては、そのようなアプリケーションへの直接的なリンクが作成される。
【0059】
ユーザは、また、データを修正し、自分自身の私用のデータベースの中にセーブすることができる。この場合には、データをセーブするリクエストは、サーバに送られる。同様に、サーバへの通信は、サーチ・リクエストがなされるか、データがサーバから検索されるか又はサーバにセーブされるときにだけなされる。解析及び可視化のステップは、計算的な要求が大きいのであるが、ローカル・コンピュータにおいてなされる。
【0060】
以上の例は1又は複数のアプリケーションにおける本発明の原理を例示するものであるが、この技術分野の当業者にとっては、発明的な能力を発揮することなく、また、本発明の原理及び概念から逸脱することなく、実装の形態、使用及び詳細に関して様々な修正が可能であることは明らかである。従って、本発明は、特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【0061】
【図1】従来技術による典型的なウェブ・アプリケーションのソフトウェア・アーキテクチャのブロック図である。
【図2】従来技術によるリモートUnixシェルのソフトウェア・アーキテクチャのブロック図である。
【図3】ホスト・ゲスト・システムのソフトウェア・アーキテクチャのブロック図である。
【図4】リモート計算グリッド・システムのためのローカルに動作されるデスクトップ環境の実施例を図解するブロック図である。
【図5】デスクトップ環境とその主たるコンポーネントすなわちデータベース・グラフィックス・ユーザ・インターフェース(GUI)、リソース・マネジャ、ファイル・マネジャ及びソフトウェア・リンク・インターフェースの実施例を図解するブロック図である。
【図6】ファイル・マネジャのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図7】データベースGUIのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図8】リソース・マネジャのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図9】ソフトウェア・リンク・インターフェースのアーキテクチャ及び機能の実施例を図解するブロック図である。
【図10】デスクトップ環境の開放(オープン)構造ソフトウェア・アーキテクチャの実施例を図解するブロック図である。
【図11】デスクトップ環境を活性化する動作を図解するフローチャートである。
【図12】デスクトップ環境でアプリケーションを動かす動作を図解するフローチャートである。
【図13】ジョブをサーバに又はリモート計算グリッドに提出する動作を図解するフローチャートである。
【図14】データベースからのデータを問い合わせる動作を図解するフローチャートである。
【図15】リモート・デスクトップ・システムの別の実施例を図解するブロック図である。
【特許請求の範囲】
【請求項1】
グリッド・イネーブルド・システムのためのリモート・デスクトップ環境であって、
グリッド・ネットワークの中に接続されることが可能なグリッド・イネーブルド・サーバと、
前記グリッド・イネーブルド・サーバと通信するクライアント・コンピュータと、
前記クライアント・コンピュータのためのものであり、前記グリッド・イネーブルド・サーバとグリッド計算ネットワークとクライアント・コンピュータのオペレーティング・システム・リソースとに安全に接続するように構成されたユーザ・デスクトップ環境と、
前記デスクトップ環境と通信し、ユーザが前記グリッド・イネーブルド・サーバにおいてユーザ・アカウントとディレクトリとを有し前記ユーザ・アカウントと前記ディレクトリとに直接にアクセスすることを可能にするように構成されたファイル・マネジャと、
を含むことを特徴とするリモート・デスクトップ環境。
【請求項2】
請求項1記載のリモート・デスクトップ環境において、セキュア・シェル(SSH)プロトコルを用いて前記グリッド・イネーブルド・サーバと通信することを特徴とするリモート・デスクトップ環境。
【請求項3】
請求項1記載のリモート・デスクトップ環境において、前記グリッド・イネーブルド・サーバは計算集約的なアプリケーションを処理する複数の計算ノードにローカルに接続されていることを特徴とするリモート・デスクトップ環境。
【請求項4】
請求項1記載のリモート・デスクトップ環境において、前記ファイル・マネジャは、前記グリッド・ネットワークにおいて利用可能な計算集約的なアプリケーション・ツールにユーザがアクセスすることを可能にすることを特徴とするリモート・デスクトップ環境。
【請求項5】
請求項1記載のリモート・デスクトップ環境において、リモートに存在するデータベースに問い合わせを行いアクセスすることが可能なデータベースGUIを更に含むことを特徴とするリモート・デスクトップ環境。
【請求項6】
請求項1記載のリモート・デスクトップ環境において、前記グリッド・ネットワークと前記グリッド・イネーブルド・サーバとへのセキュア・シェル・プロトコルを用いたアクセスを提供するように構成されたグリッド・アクセス・コンポーネントを更に含むことを特徴とするリモート・デスクトップ環境。
【請求項7】
グリッド・イネーブルド・システムのためのデスクトップ・ユーザ・インターフェースであって、
計算グリッドにアクセス可能なサーバと、
前記サーバと遠隔的に通信するように構成されたクライアントと、
ユーザが特定されたサーバに位置するデータベースとユーザにアクセス可能な任意の遠隔データベースとにアクセスするように構成された前記クライアントのためのデータベース・グラフィクス・ユーザ・インターフェースと、
前記クライアントのためのリソース・マネジャであって、前記計算グリッドにおける利用可能な計算リソースと任意の遠隔的なコンピュータ又はコンピュータのクラスタにユーザがアクセスすることを可能にするように構成されたリソース・インターフェースを含むリソース・マネジャと、
前記クライアントのためのファイル・マネジャであって、ユーザが前記サーバにおけるファイルを管理し前記サーバから前記クライアントにファイルを透過的に移動することを可能にするように構成されたファイル・マネジャと、
前記クライアントのためのソフトウェア・リンク・インターフェースであって、前記サーバ上の特定の作業領域に対するオーサリング・ツールを提供するように構成されたソフトウェア・リンク・インターフェースと、
を含むことを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項8】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ソフトウェア・リンク・インターフェースは、アプリケーションの間でのデータ転送を可能にし、前記アプリケーションの間で送られるデータをフィルタリングすることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項9】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ソフトウェア・リンク・インターフェースは、第1の科学的アプリケーションの出力をパージして前記出力を第2の科学的アプリケーションへの入力として準備することを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項10】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記データベース・グラフィック・ユーザ・インターフェースは、更に、前記サーバに記憶されたデータベースのためにデータをユーザが問い合わせ管理することを可能にすることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項11】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記リソース・マネジャは、任意のグリッド・ネットワークされたコンピュータにおける計算リソースにアクセスが可能であることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項12】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ユーザのためのローカルなアプリケーションを提供するように構成されたユーティリティ・コンポーネントを更に含むことを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項13】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ユーティリティ・コンポーネントにおいて前記ユーザのために提供されたローカルなアプリケーションは、シンプル・テキスト・エディタとイメージ・ビューワとグラフィック・ツールとスプレッドシートとプレゼンテーション・ツールと3D可視化ツールと通信ツールとから構成されるグループから選択されることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項14】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ファイル・マネジャは、前記ユーザ・ディレクトリとデータ・ストレージ領域とのコンテンツを追加、削除、更新又は変更のリクエストがあるときにだけ前記サーバと通信することを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項15】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記データベース・グラフィカル・インターフェースは、私用のデータベースを作成し、指定されたユーザ・グループとデータベースを共用し、公共データベースをオープンするのに用いることができることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項16】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記リソース・マネジャは、ユーザがグリッド・ネットワーク・コンピュータに提出されたジョブを提出しモニタすることを可能にするように構成されていることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項17】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記リソース・マネジャは、計算ジョブのために前記ユーザがアクセス可能なすべてのコンピュータとすべてのグリッド・コンピュータを表示するように構成されていることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項18】
グリッド・イネーブルド・システムのためのリモート・デスクトップ環境を提供する方法であって、
リモート・デスクトップ・ソフトウェアとグリッド・イネーブルド・サーバとの間をセキュア・シェル接続するステップと、
前記リモート・デスクトップ・ソフトウェアと前記グリッド・イネーブルド・サーバとの間で安全なネットワーク・プロトコルを用いて認証するステップと、
前記グリッド・イネーブルド・サーバのためのユーザのサーバ・アカウントとディレクトリとを前記リモート・デスクトップ・ソフトウェアにマップするステップと、
ユーザ・ディレクトリ情報を前記リモート・デスクトップ・ソフトウェアの中にロードするステップと、
ユーザが前記リモート・デスクトップ・ソフトウェアを介してリモート又はローカルなアプリケーションを実行することを可能にするステップと、
前記リモート・デスクトップ・ソフトウェアを介した前記グリッド計算ネットワークへのアクセスを提供するステップと、
前記デスクトップ環境から遠隔的に位置しているデータベースへのアクセスを与えるステップと、
を含むことを特徴とする方法。
【請求項19】
請求項18記載の方法において、前記デスクトップ環境がロードされていないときにはウェブ・ブラウザを介して前記デスクトップ環境をダウンロードするステップを更に含むことを特徴とする方法。
【請求項20】
請求項18記載の方法において、ネットワーク接続が利用可能になるまでネットワーク・タスクが遅延している間はローカル・タスクが実行され完了されることを可能にするステップを更に含むことを特徴とする方法。
【請求項21】
混合モードのグリッド・ネットワーク環境のためのリモート・デスクトップ環境を提供する方法であって、
クライアント・コンピュータのオペレーティング・システムにおいてリモート・デスクトップ環境を実行するステップと、
前記リモート・デスクトップ環境とグリッド・イネーブルド・サーバとの間の安全な接続を行うステップと、
前記グリッド・イネーブルド・サーバに対するユーザのサーバ・アカウントとディレクトリとを前記リモート・デスクトップ環境にマップするステップと、
前記クライアント・コンピュータのリソースを前記リモート・デスクトップ環境にマップするステップと、
前記リモート・デスクトップ環境を介する前記グリッド計算ネットワークへのアクセスを提供するステップと、
を含むことを特徴とする方法。
【請求項22】
請求項21記載の方法において、前記リモート・デスクトップ環境から遠隔にあるサーバに位置するデータベースへのアクセスを提供するステップを更に含むことを特徴とする方法。
【請求項23】
請求項21記載の方法において、単一の動作環境を提供するためにグリッド・イネーブルド・サーバとグリッド・ネットワークと前記クライアント・コンピュータのオペレーティング・システムに接続する複数のアプリケーションを統合するステップを更に含むことを特徴とする方法。
【請求項1】
グリッド・イネーブルド・システムのためのリモート・デスクトップ環境であって、
グリッド・ネットワークの中に接続されることが可能なグリッド・イネーブルド・サーバと、
前記グリッド・イネーブルド・サーバと通信するクライアント・コンピュータと、
前記クライアント・コンピュータのためのものであり、前記グリッド・イネーブルド・サーバとグリッド計算ネットワークとクライアント・コンピュータのオペレーティング・システム・リソースとに安全に接続するように構成されたユーザ・デスクトップ環境と、
前記デスクトップ環境と通信し、ユーザが前記グリッド・イネーブルド・サーバにおいてユーザ・アカウントとディレクトリとを有し前記ユーザ・アカウントと前記ディレクトリとに直接にアクセスすることを可能にするように構成されたファイル・マネジャと、
を含むことを特徴とするリモート・デスクトップ環境。
【請求項2】
請求項1記載のリモート・デスクトップ環境において、セキュア・シェル(SSH)プロトコルを用いて前記グリッド・イネーブルド・サーバと通信することを特徴とするリモート・デスクトップ環境。
【請求項3】
請求項1記載のリモート・デスクトップ環境において、前記グリッド・イネーブルド・サーバは計算集約的なアプリケーションを処理する複数の計算ノードにローカルに接続されていることを特徴とするリモート・デスクトップ環境。
【請求項4】
請求項1記載のリモート・デスクトップ環境において、前記ファイル・マネジャは、前記グリッド・ネットワークにおいて利用可能な計算集約的なアプリケーション・ツールにユーザがアクセスすることを可能にすることを特徴とするリモート・デスクトップ環境。
【請求項5】
請求項1記載のリモート・デスクトップ環境において、リモートに存在するデータベースに問い合わせを行いアクセスすることが可能なデータベースGUIを更に含むことを特徴とするリモート・デスクトップ環境。
【請求項6】
請求項1記載のリモート・デスクトップ環境において、前記グリッド・ネットワークと前記グリッド・イネーブルド・サーバとへのセキュア・シェル・プロトコルを用いたアクセスを提供するように構成されたグリッド・アクセス・コンポーネントを更に含むことを特徴とするリモート・デスクトップ環境。
【請求項7】
グリッド・イネーブルド・システムのためのデスクトップ・ユーザ・インターフェースであって、
計算グリッドにアクセス可能なサーバと、
前記サーバと遠隔的に通信するように構成されたクライアントと、
ユーザが特定されたサーバに位置するデータベースとユーザにアクセス可能な任意の遠隔データベースとにアクセスするように構成された前記クライアントのためのデータベース・グラフィクス・ユーザ・インターフェースと、
前記クライアントのためのリソース・マネジャであって、前記計算グリッドにおける利用可能な計算リソースと任意の遠隔的なコンピュータ又はコンピュータのクラスタにユーザがアクセスすることを可能にするように構成されたリソース・インターフェースを含むリソース・マネジャと、
前記クライアントのためのファイル・マネジャであって、ユーザが前記サーバにおけるファイルを管理し前記サーバから前記クライアントにファイルを透過的に移動することを可能にするように構成されたファイル・マネジャと、
前記クライアントのためのソフトウェア・リンク・インターフェースであって、前記サーバ上の特定の作業領域に対するオーサリング・ツールを提供するように構成されたソフトウェア・リンク・インターフェースと、
を含むことを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項8】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ソフトウェア・リンク・インターフェースは、アプリケーションの間でのデータ転送を可能にし、前記アプリケーションの間で送られるデータをフィルタリングすることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項9】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ソフトウェア・リンク・インターフェースは、第1の科学的アプリケーションの出力をパージして前記出力を第2の科学的アプリケーションへの入力として準備することを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項10】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記データベース・グラフィック・ユーザ・インターフェースは、更に、前記サーバに記憶されたデータベースのためにデータをユーザが問い合わせ管理することを可能にすることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項11】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記リソース・マネジャは、任意のグリッド・ネットワークされたコンピュータにおける計算リソースにアクセスが可能であることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項12】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ユーザのためのローカルなアプリケーションを提供するように構成されたユーティリティ・コンポーネントを更に含むことを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項13】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ユーティリティ・コンポーネントにおいて前記ユーザのために提供されたローカルなアプリケーションは、シンプル・テキスト・エディタとイメージ・ビューワとグラフィック・ツールとスプレッドシートとプレゼンテーション・ツールと3D可視化ツールと通信ツールとから構成されるグループから選択されることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項14】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記ファイル・マネジャは、前記ユーザ・ディレクトリとデータ・ストレージ領域とのコンテンツを追加、削除、更新又は変更のリクエストがあるときにだけ前記サーバと通信することを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項15】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記データベース・グラフィカル・インターフェースは、私用のデータベースを作成し、指定されたユーザ・グループとデータベースを共用し、公共データベースをオープンするのに用いることができることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項16】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記リソース・マネジャは、ユーザがグリッド・ネットワーク・コンピュータに提出されたジョブを提出しモニタすることを可能にするように構成されていることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項17】
請求項7記載のデスクトップ・ユーザ・インターフェースにおいて、前記リソース・マネジャは、計算ジョブのために前記ユーザがアクセス可能なすべてのコンピュータとすべてのグリッド・コンピュータを表示するように構成されていることを特徴とするデスクトップ・ユーザ・インターフェース。
【請求項18】
グリッド・イネーブルド・システムのためのリモート・デスクトップ環境を提供する方法であって、
リモート・デスクトップ・ソフトウェアとグリッド・イネーブルド・サーバとの間をセキュア・シェル接続するステップと、
前記リモート・デスクトップ・ソフトウェアと前記グリッド・イネーブルド・サーバとの間で安全なネットワーク・プロトコルを用いて認証するステップと、
前記グリッド・イネーブルド・サーバのためのユーザのサーバ・アカウントとディレクトリとを前記リモート・デスクトップ・ソフトウェアにマップするステップと、
ユーザ・ディレクトリ情報を前記リモート・デスクトップ・ソフトウェアの中にロードするステップと、
ユーザが前記リモート・デスクトップ・ソフトウェアを介してリモート又はローカルなアプリケーションを実行することを可能にするステップと、
前記リモート・デスクトップ・ソフトウェアを介した前記グリッド計算ネットワークへのアクセスを提供するステップと、
前記デスクトップ環境から遠隔的に位置しているデータベースへのアクセスを与えるステップと、
を含むことを特徴とする方法。
【請求項19】
請求項18記載の方法において、前記デスクトップ環境がロードされていないときにはウェブ・ブラウザを介して前記デスクトップ環境をダウンロードするステップを更に含むことを特徴とする方法。
【請求項20】
請求項18記載の方法において、ネットワーク接続が利用可能になるまでネットワーク・タスクが遅延している間はローカル・タスクが実行され完了されることを可能にするステップを更に含むことを特徴とする方法。
【請求項21】
混合モードのグリッド・ネットワーク環境のためのリモート・デスクトップ環境を提供する方法であって、
クライアント・コンピュータのオペレーティング・システムにおいてリモート・デスクトップ環境を実行するステップと、
前記リモート・デスクトップ環境とグリッド・イネーブルド・サーバとの間の安全な接続を行うステップと、
前記グリッド・イネーブルド・サーバに対するユーザのサーバ・アカウントとディレクトリとを前記リモート・デスクトップ環境にマップするステップと、
前記クライアント・コンピュータのリソースを前記リモート・デスクトップ環境にマップするステップと、
前記リモート・デスクトップ環境を介する前記グリッド計算ネットワークへのアクセスを提供するステップと、
を含むことを特徴とする方法。
【請求項22】
請求項21記載の方法において、前記リモート・デスクトップ環境から遠隔にあるサーバに位置するデータベースへのアクセスを提供するステップを更に含むことを特徴とする方法。
【請求項23】
請求項21記載の方法において、単一の動作環境を提供するためにグリッド・イネーブルド・サーバとグリッド・ネットワークと前記クライアント・コンピュータのオペレーティング・システムに接続する複数のアプリケーションを統合するステップを更に含むことを特徴とする方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公表番号】特表2008−511931(P2008−511931A)
【公表日】平成20年4月17日(2008.4.17)
【国際特許分類】
【出願番号】特願2007−530299(P2007−530299)
【出願日】平成17年8月30日(2005.8.30)
【国際出願番号】PCT/US2005/030937
【国際公開番号】WO2006/026650
【国際公開日】平成18年3月9日(2006.3.9)
【出願人】(399047002)ユニバーシティ オブ ユタ リサーチ ファウンデーション (4)
【Fターム(参考)】
【公表日】平成20年4月17日(2008.4.17)
【国際特許分類】
【出願日】平成17年8月30日(2005.8.30)
【国際出願番号】PCT/US2005/030937
【国際公開番号】WO2006/026650
【国際公開日】平成18年3月9日(2006.3.9)
【出願人】(399047002)ユニバーシティ オブ ユタ リサーチ ファウンデーション (4)
【Fターム(参考)】
[ Back to top ]