(57)【要約】【課題】オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するための概念を提供する。【解決手段】第１のサーバ（オフプレミス・サーバまたはオンプレミス・サーバなど）のアプリケーションからのファイル・システム・イベント要求が受信され、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムが判断される。次に、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することができる。ファイル・システム・イベント要求は、次に、特定されたファイル・システム・パス・データに基づいて第２のサーバ（オンプレミス・サーバまたはオフプレミス・サーバなど）に伝達される。【選択図】図１
2019536332.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システムであって、
メモリと、
前記メモリと通信するプロセッサとを含み、
前記コンピュータ・システムは方法を実行するように構成され、前記方法は、
１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することと、
第１のサーバのアプリケーションからファイル・システム・イベント要求を受信することと、
受信した前記ファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断することと、
要求された前記ファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することと、
特定された前記ファイル・システム・パス・データに基づいて、前記ファイル・システム・イベント要求を第２のサーバに伝達することを含む、コンピュータ・システム。
【請求項２】
前記第１のサーバがオフプレミス・サーバを含み前記第２のサーバがオンプレミス・サーバを含むか、または前記第１のサーバがオンプレミス・サーバを含み前記第２のサーバがオフプレミス・サーバを含む、請求項１に記載のコンピュータ・システム。
【請求項３】
前記第１のサーバがオフプレミス・クラウド・サーバを含み、前記アプリケーションが前記オフプレミス・クラウド・サーバのサービスとして提供される、請求項１に記載のコンピュータ・システム。
【請求項４】
前記方法は、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとからなるグループから選択された少なくとも１つから、ファイル・システム・パス・データを受信することをさらに含み、登録モジュールが、受信したファイル・システム・パス・データを前記ファイル・システム・パス・データ・ストアに記憶するようになされた、請求項１に記載のコンピュータ・システム。
【請求項５】
前記登録モジュールは、アプリケーションと、サーバと、ファイル・システムとからなるグループから選択された少なくとも１つがアクセス不能になることに応答して、前記ファイル・システム・パス・データ・ストアからファイル・システム・パス・データを除去するようになされた、請求項４に記載のコンピュータ・システム。
【請求項６】
前記ファイル・システム・パス・データが、ファイル・システム名と、サーバ識別情報と、サーバ・アドレスと、ファイル・システムのバージョン識別子と、サポートされているファイル・システム・イベントと、許可されているファイル・システム・イベントと、許可情報と、認証情報と、チェックサム情報とからなるグループから選択された少なくとも１つを含む、請求項４に記載のコンピュータ・システム。
【請求項７】
前記ファイル・システム・イベント要求が、ファイル・システム名と、ファイル・システム・イベントと、データ・ペイロードと、エントリ・ポイント・データとからなるグループから選択された少なくとも１つを含む、請求項１に記載のコンピュータ・システム。
【請求項８】
前記第１のサーバがオフプレミス・サーバを含み、前記第２のサーバがオンプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オフプレミス・サーバから前記ファイル・システム・イベント要求を受信し、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オンプレミス・サーバに伝達する、請求項１に記載のコンピュータ・システム。
【請求項９】
前記第１のサーバがオンプレミス・サーバを含み、前記第２のサーバがオフプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オンプレミス・サーバから前記ファイル・システム・イベント要求を受信し、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オフプレミス・サーバに伝達する、請求項１に記載のコンピュータ・システム。
【請求項１０】
伝達された前記ファイル・システム・イベント要求に対する応答を受信することと、受信した前記応答を前記アプリケーションに伝達することをさらに含む、請求項１に記載のコンピュータ・システム。
【請求項１１】
オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実装方法であって、
１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することと、
第１のサーバのアプリケーションからファイル・システム・イベント要求を受信することと、
受信した前記ファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断することと、
要求された前記ファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することと、
特定された前記ファイル・システム・パス・データに基づいて、前記ファイル・システム・イベント要求を第２のサーバに伝達することを含む、コンピュータ実装方法。
【請求項１２】
前記第１のサーバがオフプレミス・サーバを含み前記第２のサーバがオンプレミス・サーバを含むか、または前記第１のサーバがオンプレミス・サーバを含み前記第２のサーバがオフプレミス・サーバを含む、請求項１１に記載の方法。
【請求項１３】
オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとからなるグループから選択された少なくとも１つから、エンドポイント・データを受信することと、
受信したファイル・システム・パス・データを前記ファイル・システム・パス・データ・ストアに記憶することをさらに含む、請求項１１に記載の方法。
【請求項１４】
アプリケーションと、サーバと、ファイル・システムとからなるグループから選択された少なくとも１つがアクセス不能になることに応答して、前記ファイル・システム・パス・データ・ストアからファイル・システム・パス・データを除去することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記第１のサーバがオフプレミス・サーバを含み、前記第２のサーバがオンプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オフプレミス・サーバから前記ファイル・システム・イベント要求を受信することを含み、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オンプレミス・サーバに伝達することを含む、請求項１１に記載の方法。
【請求項１６】
前記第１のサーバがオンプレミス・サーバを含み、前記第２のサーバがオフプレミス・サーバを含み、前記ファイル・システム・イベント要求の前記受信は、前記オンプレミス・サーバから前記ファイル・システム・イベント要求を受信することを含み、前記ファイル・システム・イベント要求の前記伝達は、特定された前記ファイル・システム・パス・データに基づいて前記ファイル・システム・イベント要求を前記オフプレミス・サーバに伝達することを含む、請求項１１に記載の方法。
【請求項１７】
伝達された前記ファイル・システム・イベント要求に対する応答を受信することと、受信した前記応答を前記アプリケーションに伝達することをさらに含む、請求項１１に記載の方法。
【請求項１８】
オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するためのコンピュータ・プログラムであって、
プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、前記プログラム命令は、処理ユニットによって実行可能であり、前記処理ユニットに、
１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することと、
第１のサーバのアプリケーションからファイル・システム・イベント要求を受信することと、
受信した前記ファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断することと、
要求された前記ファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定することと、
特定された前記ファイル・システム・パス・データに基づいて、前記ファイル・システム・イベント要求を第２のサーバに伝達することと、を含む方法を実行させる、コンピュータ・プログラム。
【請求項１９】
前記第１のサーバがオフプレミス・サーバを含み前記第２のサーバがオンプレミス・サーバを含むか、または前記第１のサーバがオンプレミス・サーバを含み前記第２のサーバがオフプレミス・サーバを含む、請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記第１のサーバがオフプレミス・クラウド・サーバを含み、前記アプリケーションが前記オフプレミス・クラウド・サーバのサービスとして提供される、請求項１９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の態様は、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信に関し、さらに、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間で通信する方法を実装するためのコンピュータ・プログラム製品および接続コンポーネント（例えばスイッチ・コンポーネントなど）に関する。
【背景技術】
【０００２】
ソフトウェア・アズ・ア・サービス（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ））環境においては、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信が行われる。ＳａａＳは、加入契約に基づいてソフトウェアがライセンス供与され、（例えばインターネットを介してアクセス可能な共用コンピューティング資源またはクラウド・コンピューティング資源など）オフプレミス・プラットフォームによって一元的に運営される、ソフトウェア・ライセンス供与および配布モデルである。ＳａａＳは、典型的には、（例えばウェブ・ブラウザを介したシン・クライアントを使用して）オンプレミス・プラットフォームのユーザによってアクセスされる。
【０００３】
オンプレミス・プラットフォームは、データが内部、例えば内部プライベート・ネットワーク内で記憶され、処理されるため、良好なセキュリティ・レベルを実現するように十分に確立され、考慮されている。
【０００４】
オフプレミス・プラットフォーム（クラウド・コンピューティング資源など）は、比較的最近の、発展過程にある概念である。一般に、オフプレミス資源またはプラットフォームと言う場合、インターネットを介してアクセス可能な、ネットワーク、ファイル・システム・サーバ、ストレージ、アプリケーション、機能などの構成可能なオフプレミス（例えば遠隔場所にある）コンピューティング資源の共用プールへの、インターネットを介したユビキタスで便利なオンデマンド・アクセスを可能にする概念を指すものと捉えられる。それに対して、オンプレミス資源またはプラットフォームと言う場合、ローカルに、または仮想境界の内部／背後（多くの場合ファイアウォールの背後）にあるネットワーク、サーバ、ストレージ・デバイス、アプリケーションなどのローカルまたはプライベート・コンピューティング資源の概念を指すものと捉えられる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＳａａＳ環境におけるオンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信の理由から、ＳａａＳ環境におけるデータ・ファイル・システムは、ファイアウォールの背後にあるデータセンター内のレコードのシステムに組み込まれる必要があることが多い。典型的には、これは、仮想プライベート・ネットワーク（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ：ＶＰＮ）技術を使用して行われる。この設定は、複雑であり、（ＶＰＮ技術は、ファイル・システムにおける単なるディレクトリに比べ終端システムへより多くアクセスさせる可能性を有するため）セキュリティ上の問題がある。また、クラウド・コンピューティングの性質は、ファイル・システムへのアクセスを必要とするシステム（およびファイル・システムを提供するシステム）がきわめて動的であり、システムが繰り返し、または連続的に、あるいはその両方により破棄または再作成されることである。
【課題を解決するための手段】
【０００６】
メモリと、メモリと通信するプロセッサとを含むコンピュータ・システムを設けることにより、従来技術の欠点が克服されるとともに、追加の利点が与えられる。このコンピュータ・システムは、方法を実行するように構成され、この方法は１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することを含む。この方法は、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することをさらに含む。この方法は、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断する。この方法は、さらに、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定する。また、この方法は、特定されたファイル・システム・パス・データに基づいて、オンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達する。
【０００７】
また、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実装方法が提供される。この方法は、１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することを含む。この方法は、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することをさらに含む。この方法は、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断する。この方法は、さらに、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定する。また、この方法は、特定されたファイル・システム・パス・データに基づいてオンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達する。
【０００８】
さらに、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、プログラム命令は処理ユニットによって実行可能であって、処理ユニットに、１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することを含む方法を実行させる。この方法は、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することをさらに含む。この方法は、受信したファイル・システム・イベント要求に基づいて、要求されたファイル・システムを判断する。この方法は、さらに、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定する。また、この方法は、特定されたファイル・システム・パス・データに基づいて、オンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達する。
【０００９】
本明細書に記載の態様は、本明細書の最後にある特許請求の範囲において具体的に示され、例として明確に特許請求される。本発明の上記およびその他の目的、特徴および利点は、以下の詳細な説明を添付図面とともに読めば明らかになる。
【図面の簡単な説明】
【００１０】
【図１】本明細書に記載の一実施形態の例示の実装形態を示す略ブロック図である。
【図２】本明細書に記載の態様による、スイッチング・コンポーネントのコンポーネントを示す図１の変形バージョンを示す図である。
【図３】本明細書に記載の態様による、第１のサーバのクラウド・ベースのアプリケーションが第１のファイル・システムのファイル・イベントを要求する、図１の実施形態の一例を示す図である。
【図４】本明細書に記載の一実施形態による、ファイル・システム・パス・データ登録方法の流れ図である。
【図５】本明細書に記載の一実施形態による、オフプレミス資源とオンプレミス資源との間の通信を管理する方法の流れ図である。
【図６】本明細書に記載の一実施形態による、ファイル・システム・パス・データ登録解除方法の流れ図である。
【図７】本明細書に記載の態様によるクラウド・システム・ノードを示す図である。
【図８】本明細書に記載の一実施形態によるクラウド・コンピューティング環境を示す図である。
【図９】本明細書に記載の一実施形態によるクラウド抽象モード層を示す図である。
【発明を実施するための形態】
【００１１】
本明細書に記載の態様は、ＶＰＮまたはマウントされたネットワーク・ファイル・システム（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ：ＮＦＳ）を必要とせずに、ファイル・システムを露出させることができ、動的アクセスを可能にすることができる、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を管理するためのコンポーネントを提供する。また、プロセッサ上で実行されると提案の通信概念を実装するためのコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品と、このコンピュータ・プログラム・コードを実行するようになされたネットワーク・コンポーネント（接続コンポーネントなど）も提供される。
【００１２】
一実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するようになされた接続コンポーネントが提供される。この接続コンポーネントは、１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データを記憶するようになされたファイル・システム・パス・データ・ストアと、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信するようになされた第１の通信コンポーネントと、受信したファイル・システム・イベント要求に基づいて要求されたファイル・システムを判断し、要求されたファイル・システムに関連付けられた、記憶されているファイル・システム・パス・データを特定するようになされたルーティング・コンポーネントと、特定されたファイル・システム・パス・データに基づいてオンプレミス・サーバまたはオフプレミス・サーバにファイル・システム・イベント要求を伝達するようになされた第２の通信コンポーネントとを含み得る。
【００１３】
オフプレミス・サイト／資源とオンプレミス・サイト／資源との間でファイル・システム・イベント要求を伝達する概念が提案される。これによって、例えば、クラウド・システムで稼働するエージェントが、オンプレミス・ファイル・システムのディレクトリのように機能することが可能になる。その場合、このファイル・システムを使用するクラウド・ベースのアプリケーションが、それ自体のローカル・ファイル・システム上の任意の他のディレクトリに対して行う場合と同様に、このディレクトリヘの書き込み／読み取りを行うことができる。
【００１４】
このような提案は、文書またはファイルの共用に関するというよりは、ログ・ファイル（例えばファイル・システム・イベント・ログ）または、ファイルに追加されるときに処理される一時データに関するものであると見なすことができる。したがって、これらの場合におけるファイル・データは、クラウドに記憶される必要はなく、クラウド・ベースのアプリケーションがファイルからデータを処理するかまたはファイルに活動をログすることができるように単にアクセスされるだけでよい。このオンプレミス・ファイル・システムに直接書き込まれる利点は、ユーザがクラウド・ベースのシステムに接続するために現在のファイル処理アプリケーションを変更する必要がないことであり得る。その代わりに、ユーザは標準ファイル・システムへのアクセスを続けることが可能となり得る。これは、オンプレミスで稼働するアプリケーションとオフプレミスで稼働するアプリケーションの両方に当てはまる（例えばクラウドにおいて、アプリケーションはそのアプリケーションが稼働しているコンテナのローカル・ファイル・システムに書き込むことができる）。
【００１５】
（ファイルへのすべての書き込みが完了した後）ファイルをシステム内で転送する従来の製品とは異なり、提案の実施形態は、ファイルへの連続追加を可能にすることができ、その際、例えばすべての書き込みの後に、追加された部分が、終端システムに送信されてもよい。したがって、実施形態は、ログ／トレース・ファイル、またはリアルタイムで処理されている間に一度に書き込まれる単一レコードを有するファイルに適し得る。
【００１６】
提案の概念は、ファイル・システムが、オフプレミス（例えばクラウド）環境またはオンプレミス環境で稼働するように構成することができる１組のファイル・システムに分割されることを可能にする。その場合、ファイル・システムが互いを呼び出し、最適な方式でデータを交換することを可能にすることができる。例えば、レコードのオンプレミス・システムへのアクセスを必要とするファイル・システムがオンプレミス・サーバで稼働し、演算集約的処理の負荷を軽減することで恩恵が得られるファイル・システムがオフプレミス・インフラストラクチャで稼働するように、ファイル・システムを分離することができる。したがって、オフプレミス・サーバからファイル・システム・イベント要求を受信し、次に、特定されたファイル・システム・パス・データに基づいてその要求をオンプレミス・サーバに伝達することによって、オフプレミス・システムとオンプレミス・システムとの間の通信を管理することができるスイッチ・コンポーネントなどの接続コンポーネントが提案される。このようなファイル・システム・パス・データは、オンプレミス・ファイル・システムに関連付けられたファイル・システム・パス・データを記憶するようになされたデータ・ストアを使用して、接続コンポーネントによって特定され得る。
【００１７】
提案の概念は、オフプレミス・システム（例えばＳａａＳ環境）とオンプレミス・システムとの間でのファイル・システム・パスのマッピングを回避することができる。その代わりに、実施形態は、各環境で利用可能なファイル・システム・データ・パス間でのデータの交換のみを行うように構成され得る。これにより、インターネットを介したネットワーク・トラフィックの量を削減するというパフォーマンス上の恩恵が得られる。また、オフプレミス部分に対する信用証明情報の露出の必要も回避することができる。
【００１８】
一部の実施形態では、接続コンポーネントの第１の通信コンポーネントが、ファイル・システム・イベント要求を受信するためのセキュア・トンネルを確立するようになされ得る。同様に、第２の通信コンポーネントが、ファイル・システム・イベント要求を伝達するセキュア・トンネルを確立するようになされ得る。例えば、相互認証されたＴＬＳトンネル接続が、２つの環境間でデータを転送するようにしてもよい。したがって、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間のセキュア通信が実現され得る。
【００１９】
一実施形態では、接続コンポーネントは、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとのうちの少なくとも１つからファイル・システム・パス・データを受信するようになされた登録モジュールをさらに含み得る。登録モジュールは、次に、受信したファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶するようになされ得る。したがって、実施形態は、接続コンポーネントがファイル・システムの要求をどのように処理するか（例えばどこに伝達するか）を特定することができるように、当該ファイル・システムへのアクセスまたは当該ファイル・システムの利用に関する情報を接続コンポーネントに登録するという概念を採用することができる。このような登録概念を使用することによって、利用可能なファイル・システムまたはサーバにおける変化を反映させるようにファイル・システム・パス・データのデータ・ストアを動的に更新またはメンテナンスすることができる。
【００２０】
例えば、登録モジュールは、アプリケーションと、サーバと、ファイル・システムとのうちの少なくとも１つがアクセス不能になる（例えば接続切断、終了または電源遮断される）ことに基づいて、または応答して、データ・ストアからファイル・システム・パス・データを除去するようになされてもよい。したがって、提案の概念は、アクセス可能であり得るデータ・ファイル・システムと、どのようにしてアクセス可能であるか（例えばファイル・システム名、サーバの場所／アドレス、サポートされているファイル・システム・イベントなど）を表すファイル・システム・パス情報の動的に更新されるストアを提供することができる。したがって、実施形態は、実装上の詳細に適応することができ、利用可能な資源（例えばアプリケーション、またはサービス、またはファイル・システムあるいはその組合せ）における変化に応じることができる、接続コンポーネントを提供することができ、それによって高度な柔軟性と適応性をもたらし得る。
【００２１】
一例として、ファイル・システム・パス・データは、ファイル・システム名と、サーバ識別情報と、サーバ・アドレスと、ファイル・システムのバージョン識別子と、サポートされているファイル・システム・イベントと、許可されているファイル・システム・イベントと、許可情報と、認証情報と、チェックサム情報とのうちの少なくとも１つを含み得る。ファイル・システム・パス・データは、例えば、ファイル・システムの識別に関する情報を含み得る。このような識別情報は、次に、ファイル・システム要求を、必要なファイル・システムを稼働させているシステムと突き合わせるために使用することができる。これに代えて、またはこれに加えて、ファイル・システム・パス・データは、より複雑な突き合わせを可能にするために、バージョンまたはチェックサムに関する情報を含んでもよい。例えば、要求側は、少なくともレベル３以上の「ｆｉｌｅｓｙｓｔｅｍ１」という名前のファイル・システムを呼び出す／要求する、条件付き呼び出し／要求を提供することもできる。同様に、要求側は、関連付けられた正しいコードを有するファイル・システムを呼び出していることを保証することができるように、２２９８３０９８９２３というチェックサムを有する「ｆｉｌｅｓｙｓｔｅｍ２」という名前のファイル・システムを稼働させるように求めることもできる。
【００２２】
これに代えて、またはこれに加えて、ファイル・システム・パス・データは、ファイル・システム・パスの相対的な場所に関する情報を含んでよい。
【００２３】
ファイル・システム・パス・データは、ファイル・システムが稼働しているシステムを特定するための情報を含み得る。これは、どのシステムが特定のファイル・システムを提供しているかを管理者にわかるように、単に運用情報として使用されてもよい。しかし、特定のシステムのみを登録することができる追加のセキュリティ・レベルにも使用することができる。したがって、ファイル・システム・パス・データは、（ｉ）ファイル・システム、または（ｉｉ）ファイル・システムのデータ・パスの場所に関する情報を含み得る。
【００２４】
一実施形態では、オフプレミス・サーバはクラウド・サーバを含むことができ、アプリケーションはクラウド・サーバのクラウド・アプリケーションを含むことができる。したがって、実施形態は、例えばインターネットを介したクラウド・ベースのサービスの提供のためにＳａａＳ環境において採用することができる。
【００２５】
一例として、ファイル・システム・イベント要求は、ファイル・システム名と、ファイル・システム・イベントと、データ・ペイロードと、エントリ・ポイント・データとのうちの少なくとも１つを含み得る。したがって、ファイル・システム・イベント要求は、ファイル・システム、またはそのファイル・システムによって達成されるイベント（例えば読み取り、書き込み、削除、追加、パージ、編集など）、またはそのファイル・システムによって処理されるデータ、またはその要求が行われる対象となるファイル・システムにおけるエントリ・ポイント、あるいはその組合せに関する情報を含み得る。したがって、ファイル・システム・イベント要求は、識別部とペイロード部とを含み得る。ファイル・システム・イベント要求にエントリ・ポイント・データ（例えばパス識別情報など）を含めることにより、要求を行う対象のファイル・システムにおけるエントリ・ポイントの指定を可能にすることができる。例えば、「ｆｉｌｅｓｙｓｔｅｍ１」というファイル・システムが、「ｐａｔｈ１」および「ｐａｔｈ２」という２つのエントリ・ポイントを有し得る。その場合、ファイル・システム・イベント要求は、例えば「ｆｉｌｅ  ｓｙｓｔｅｍ１／ｐａｔｈ１」のように、ファイル・システム名とファイル・システム内のエントリ・ポイントとを含んでよい。エントリ・ポイント情報を採用しない場合、デフォルトのエントリ・ポイント（例えばホーム／ルート・ディレクトリまたはパス）が使用されてもよい。
【００２６】
実施形態では、第１の通信コンポーネントがオフプレミス・サーバからファイル・システム・イベント要求を受信するようになされてよく、第２の通信コンポーネントが特定されたファイル・システム・パス・データに基づいてそのファイル・システム・イベント要求をオンプレミス・サーバに伝達するようになされてよい。このようにして、接続コンポーネントによって、オフプレミス資源から要求を受信し、適切なオンプレミス資源にルーティングすることができる。
【００２７】
これに代えて、またはこれに加えて、第１の通信コンポーネントがオンプレミス・サーバからファイル・システム・イベント要求を受信するようになされてよく、第２の通信コンポーネントが特定されたファイル・システム・パス・データに基づいてそのファイル・システム・イベント要求をオフプレミス・サーバに伝達するようになされてよい。この構成によって、オンプレミス資源は、要求が適切なオフプレミス資源にルーティングされるように接続コンポーネントを介してオフプレミス資源を求める要求を送信することができる。
【００２８】
また、一部の実施形態では、第２の通信コンポーネントは、伝達されたファイル・システム・イベント要求に対する応答を受信するようになされてよく、第１の通信コンポーネントは、受信した応答をアプリケーションに伝達するようになされてよい。このようにして、ファイル・システム・イベント要求に対する応答を、そのファイル・システム・イベント要求を発信したアプリケーションに返すことができる。したがって、提案の接続コンポーネントは、余分の通信トラフィックを回避しながら要求と応答とが適切に配信されるように、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理を実現することができる。
【００２９】
実施形態は、スイッチ・モジュールにおいて採用または実装されてもよい。例えば、提案の一実施形態による接続コンポーネントを含むスイッチ・モジュールが提供されてよい。また、実施形態はサーバ・デバイスで実装されることができる。そのようなサーバ・デバイスは、インターネットを介してアクセス可能なクラウド・ベースのサーバ資源であってもよい。
【００３０】
別の態様によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実装方法が提供される。この方法は、ファイル・システム・パス・データ・ストアに、１つまたは複数のファイル・システムに関連付けられたファイル・システム・パス・データを記憶することと、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションからファイル・システム・イベント要求を受信することと、受信したファイル・システム・イベント要求に基づいて要求されたファイル・システムを判断することと、要求されたファイル・システムに関連付けられた記憶されているファイル・システム・パス・データを特定することと、特定されたファイル・システム・パス・データに基づいてオンプレミス・サーバまたはオフプレミス・サーバにそのファイル・システム・イベント要求を伝達することとを含み得る。
【００３１】
ファイル・システム・イベント要求の受信は、そのファイル・システム・イベント要求を受信するためのセキュア・トンネルを確立することを含んでよく、ファイル・システム・イベント要求の伝達は、そのファイル・システム・イベント要求を伝達するためのセキュア・トンネルを確立することを含んでよい。
【００３２】
実施形態は、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとのうちの少なくとも１つからファイル・システム・パス・データを受信することと、受信したファイル・システム・パス・データをファイル・システム・パス・データ・ストアに記憶することとを含み得る。
【００３３】
また、一部の実施形態は、アプリケーションと、サーバと、ファイル・システムとのうちの少なくとも１つがアクセス不能になることに応答して、ファイル・システム・パス・データ・ストアからファイル・システム・パス・データを除去することをさらに含み得る。
【００３４】
ファイル・システム・イベント要求の受信は、例えば、オフプレミス・サーバからファイル・システム・イベント要求を受信することを含み得る。また、ファイル・システム・イベント要求の伝達は、特定されたファイル・システム・パス・データに基づいてファイル・システム・イベント要求をオンプレミス・サーバに伝達することを含み得る。
【００３５】
一部の実施形態では、ファイル・システム・イベント要求の受信は、オンプレミス・サーバからファイル・システム・イベント要求を受信することを含み得る。また、ファイル・システム・イベント要求の伝達は、特定されたファイル・システム・パス・データに基づいてファイル・システム・イベント要求をオフプレミス・サーバに伝達することを含み得る。
【００３６】
実施形態は、伝達されたファイル・システム・イベント要求に対する応答を受信することと、受信した応答をアプリケーションに伝達することとをさらに含み得る。
【００３７】
別の実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するためのコンピュータ・プログラム製品が提供され、コンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、プログラム命令は、データ処理システム／コンピュータ・システムの少なくとも１つのプロセッサ上で実行されると、１つまたは複数の提案の実施形態による方法を処理ユニット／プロセッサに実行させるように、処理ユニット／プロセッサによって実行可能である。
【００３８】
さらに別の態様によると、少なくとも１つのプロセッサと、１つまたは複数の実施形態によるコンピュータ・プログラム製品とを含む処理システム／コンピュータ・システムであって、少なくとも１つのプロセッサがコンピュータ・プログラム製品のコンピュータ・プログラム・コードを実行するようになされた、処理システム／コンピュータ・システムが提供される。
【００３９】
処理システムは、オンプレミス・サーバとオフプレミス・サーバとの間のスイッチング・コンポーネントとして機能するようになされてよい。
【００４０】
処理システムは、クラウド・ベースのシステムまたはサーバなどのオフプレミス・プラットフォームの一部を実装するようになされてよい。
【００４１】
したがって、ファイル・システム・イベント要求を評価し、ファイル・システムに関連付けられた記憶されているデータに基づいて、要求をどこに伝達するかを判断するシステムを提案することができる。このような手法をとることによって、ＶＰＮまたはＮＦＳ（または同様のマウントされたファイル・システム）を必要とせずに、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の動的ファイル・システム・アクセスを可能にすることができる。例えば、クラウド・ベースのエージェントがＴＣＰ／ＩＰを使用して（例えばクラウドで稼働している）スイッチ・コンポーネント／アプリケーションに接続することができるようにし、受信する各ファイル・イベントについてファイル・システムのサーバにファイル・システム・イベントを送信することができるようにすることができる。オンプレミス・エージェントは、ＴＣＰ／ＩＰを介してこれらのファイル・イベントを受信し、次に、それらをオンプレミス・ファイル・システム上で模倣することになる。オンプレミス・エージェントは、クラウド・ベースのエージェントがいかなる変更も知ることなく、オンプレミスマシン間で置き換えまたは移動させることができる。その逆を可能にすることもでき、オンプレミス・エージェントが変更を知ることまたは変更することを必要とせずに、クラウド・ベースのエージェントを異なるクラウド・コンテナに移動することができる。
【００４２】
図面は概略図に過ぎず、一律の縮尺に従って描かれたものではないことを理解されたい。また、同じかまたは類似の部分を示すために全図面を通じて同じ参照番号が使用されていることも理解されたい。
【００４３】
実施形態が方法を構成する本願の文脈では、そのような方法がコンピュータによる実行のためのプロセスであること、すなわち、コンピュータ実装可能方法であることを理解されたい。したがって方法のステップなどの様々な態様は、コンピュータ・プログラムの様々な部分、例えば１つまたは複数のアルゴリズムの様々な部分を反映する。
【００４４】
また、本開示の文脈では、（処理／コンピュータ）システムとは、本明細書に記載の方法またはプロセスの１つまたは複数の実施形態を実行するようになされた単一のデバイスまたは分散デバイスの集合とすることができる。例えば、システムは、本明細書に記載の方法またはプロセスの少なくとも１つの実施形態を協働して実行するようにローカル・エリア・ネットワーク、インターネットなどのネットワークを介して接続された、パーソナル・コンピュータ（ＰＣ）、またはサーバ、またはＰＣもしくはサーバあるいはその両方の集合であってよい。
【００４５】
「ファイル・システム」とは、例えば、ディレクトリおよびサブディレクトリの階層構造または階層的順序を提供し得るファイルまたはデータの記憶構造体であるものと理解することができる。したがって、（例えば構造体内の場所にあるデータにアクセスする目的で）そのデータ記憶構造体内の場所を表すためにパスを使用することができる。そのような構造体内では、その構造体内に記憶されているファイルまたはデータのアクセス、修正、変更、除去、改変などのためにアクションまたはイベントを行うことができる。そのようなイベントには、読み取り、書き込み、削除、修正、パージ、追加などが含まれ得る。したがって、（オンプレミス資源のユーザへのソフトウェアのクラウド・ベースの提供において、またはＳａａＳ環境の一部として行われることがあるような）オフプレミス資源とオンプレミス資源との統合のために採用される場合、ファイル・システムのファイルまたはデータのうちの１つまたは複数に外部システムがアクセスすることができ、したがってオフプレミス資源とオンプレミス資源との間の通信を必要とすることができる。
【００４６】
データ処理ファイル・システムをオフプレミス環境またはオンプレミス環境で実装可能なファイル・システムに分割または分離することができ、ファイル・システムが接続コンポーネント（例えばスイッチング・モジュール）を介して互いを呼び出すことができ、データを交換することができる、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を確立または管理あるいはその両方を行うための概念が提案される。したがって、ファイル・システム要求を受信し、そのような要求を適切な宛先（例えばファイル・システム・パス）に転送するように接続コンポーネントが実装されてよく、適切な宛先はファイル・システムに関する情報を含むデータ・ストアに基づいて判断される。
【００４７】
したがって、実装形態は、ネットワーク・トラフィックの削減、またはオフプレミス部分への信用証明情報の露出の必要の回避、あるいはその両方を行うことができる。
【００４８】
例えば、提案の概念は、オンプレミス・ファイル・システムによってオフプレミス・ファイル・システムが呼び出されること、またはその逆、あるいはその両方を可能にすることができる。したがって、オフプレミス・システム上で実装されることにより恩恵を得ることができるファイル・システムはオフプレミス・サーバで稼働させてよく、一方、オンプレミス・システム上で実装されることにより恩恵を得ることができるファイル・システム（例えばオンプレミス・システムの記憶能力またはセキュリティを期待するファイル・システム）は、オンプレミス・サーバで稼働させてよい。
【００４９】
したがって、例示の実施形態は、オフプレミス資源とオンプレミス資源との間の通信のための概念を提供することができる。したがって、提案の実施形態によって動的分散処理およびデータ記憶最適化を実現することができる。
【００５０】
提案の概念の価値および有用性を向上させることができる、従来のＳａａＳ実装形態に加えられる変更および追加のステップも提案される。
【００５１】
例示の実施形態は、多くの異なる種類の分散処理環境で利用可能である。例示の実施形態の要素および機能を説明するための文脈を与えるために、以下に、例示の実施形態の態様を実装することができる例示の環境として図面を示す。これらの図面は例示に過ぎず、本発明の態様または実施形態を実装可能な環境に関していかなる限定も主張または含意することを意図していないものと理解されたい。本発明の思想および範囲から逸脱することなく、図示されている環境に多くの変更を加えることができる。
【００５２】
また、当業者は、図中のハードウェアまたはアーキテクチャあるいはその両方が実装形態に応じて異なり得ることがわかるであろう。さらに、例示の実施形態のプロセスは、提案の概念の範囲から逸脱することなく、図示されているもの以外のマルチプロセッサ／サーバ・システムにも適用可能である。
【００５３】
また、システムは、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話またはその他の通信デバイス、携帯情報端末（ＰＤＡ）などを含む、いくつかの異なる処理デバイスのうちのいずれかの形態をとることができる。一部の例示の例では、オフプレミス・デバイスおよびオンプレミス・デバイスが、例えばオペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を記憶するための不揮発性メモリを提供するフラッシュ・メモリを備えて構成された可搬コンピューティング・デバイスを含み得る。したがって、システムは、アーキテクチャ上の限定なしに、基本的に任意の既知の、または今後開発される処理システムとすることができる。
【００５４】
提案の概念は、ネットワーク・トラフィックを削減することによって、または動作をより効率的にすることによって、クラウド・ベースのサービス・プロビジョニング・システムを改良することができる。実施形態は、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間に接続を確立するように、ファイル・システム・イベント要求の解析と、オフプレミスまたはオンプレミスの適切な宛先への転送とを可能にすることができる。このような提案は、クラウド・ベースのソフトウェア配信システムの処理能力または効率を拡張または向上させることができる。
【００５５】
次に、図１および図２を参照して、一実施形態の例示の実装形態について説明する。ここでは、クラウド・ベースのソフトウェア配信サービスが、インターネット通信回線７４を介してオンプレミス資源７３にアクセス可能なクラウド７２におけるオフプレミス資源７０を含む。
【００５６】
オフプレミス資源７０は、第１のオフプレミス・サーバ７５と第２のオフプレミス・サーバ７６とを含む。第１のオフプレミス・サーバ７５はクラウド・ベースのサーバ７５であり、アプリケーション７７と第１のサーバ・モジュール／エージェント７８（符号「エージェント＿Ｃ」で示す）とを含む。第２のオフプレミス・サーバ７６はクラウド・ベースのサーバ７６であり、第１のオフプレミス・サーバ７５とオンプレミス資源７３との間の通信を管理するようになされたスイッチング・コンポーネント（すなわち接続コンポーネント）８０を含む。
【００５７】
オンプレミス資源７３は、ローカル・モジュール／エージェント９０（「エージェント＿Ｐ」）と、第１のファイル・システム１１０（「ファイル・システムＡ」）と、第２のファイル・システム１２０（「ファイル・システムＢ」）と、第３のファイル・システム１３０（「ファイル・システムＣ」）と、第１のファイル・システム１１０および第２のファイル・システム１３０を実装するデータベース・サーバ１００とを含む。
【００５８】
次に図２を参照すると、スイッチング・コンポーネント８０がより詳細に示されており、スイッチング・コンポーネント８０は、データ・ストア１４０と、ルーティング・コンポーネント１５０と、第１の通信コンポーネント１６０と、第２の通信コンポーネント１７０とを含む。
【００５９】
データ・ストア１４０は、オンプレミス資源３０によって実装されるファイル・システムに関連付けられたファイル・システム・パス・データを記憶するようになされたファイル・システム・パス・データ・ストアを含む。一例として、ファイル・システム・パス・データは、例えば、ファイル・システム名、またはサーバ識別情報、またはサーバ・アドレス、またはファイル・システムのバージョン識別子、またはサポートされているファイル・システム・イベント、または許可されているファイル・システム・イベント、または許可情報、または認証情報、またはチェックサム情報、あるいはその組合せに関する情報を含み得る。ファイル・システム・パス・データは、オンプレミス資源７３によって利用可能とされる場合に、サーバまたはアプリケーション（例えばファイル・システム・アプリケーション）によってデータ・ストア１４０に提供されてよい。このために、スイッチング・コンポーネント８０は、オフプレミス・サーバのアプリケーションと、オンプレミス・サーバのアプリケーションと、オフプレミス・サーバ・モジュールと、オンプレミス・サーバ・モジュールとのうちの少なくとも１つから、ファイル・システム・パス・データを受信するようになされた登録モジュール１７５も含む。登録モジュール１７５は、受信したファイル・システム・パス・データをファイル・システム・パス・データ・ストア１４０に記憶するようになされてよく、したがって、ファイル・システム要求をどのように処理するか（例えばどこに伝達するか）を特定することができるように、スイッチング・コンポーネント８０に情報を登録するという概念を可能にすることができる。また、登録モジュール１７５は、アプリケーション、またはサーバ、またはファイル・システム、あるいはその組合せがアクセス不能になる（例えば接続切断、終了または電源遮断される）のに応答して、ファイル・システム・パス・データ・ストア１４０から情報を除去するようになされてよい。したがって、登録サーバまたはアプリケーションが、提供するファイル・システムを特定するための情報を登録することができる。この登録された情報は、その後、ファイル・システムについてのイベント呼び出し／要求を、必要なファイル・システムを稼働させているシステムと突き合わせるために使用することができる。
【００６０】
言い換えると、データ・ストア１４０は、利用可能なファイル・システムまたは資源の変化を反映するために、動的に更新またはメンテナンスされるようになされることができる。
【００６１】
したがって、データ・ストア１４０は、アクセス可能とすることができるファイル・システムを表すエンドポイント情報の動的に更新されるストアを提供することができる。このようにして、スイッチング・コンポーネント８０は、例えば、ファイル・システム・パス・データのデータ・ストア１４０への登録／データ・ストア１４０からの登録解除のために、実装上の詳細に適応し、利用可能資源（例えばアプリケーション、またはサービス、またはファイル・システムあるいはその組合せ）の変化に応じるようになされることができる。
【００６２】
第１の通信コンポーネント１６０は、第１のオフプレミス・サーバ７５のアプリケーション７７から（第１のサーバ・モジュール／エージェント７８を介して）ファイル・システム・イベント要求を受信するようになされる。このために、第１の通信コンポーネント１６０は、ファイル・システム・イベント要求を受信するためのセキュア・トンネルを確立するようになされる。
【００６３】
ファイル・システム・イベント要求は、オンプレミス資源７３によって提供されるファイル・システムをアクセスするかまたは呼び出す要求である。一例として、この実施形態のファイル・システム・イベント要求は識別部とペイロード部とを含み、識別部はファイル・システムの識別情報（例えばファイル・システム名など）に関する情報を含み、ペイロード部は、データ・ペイロード（ファイル場所情報（例えばディレクトリまたはパス）と、ファイル・システムによって達成されるファイル・システム・イベント（例えば読み取り、書き込み、削除、追加、パージ、編集など）と、例えばファイル・システムにおける／による使用のためのデータなど）とを含む。
【００６４】
ファイル・システム・イベント要求を受信すると、第１の通信コンポーネント１６０は受信した要求をルーティング・コンポーネント１５０に渡す。ルーティング・コンポーネント１５０は、要求されたファイル・システムと、要求されたファイル・システムに関連付けられた記憶されているファイル・システム・パス・データとを判断するために、受信した要求をデータ・ストア１４０に記憶されているデータとともに処理するようになされる。一例として、ルーティング・コンポーネント１５０は、（例えば識別部に含まれるファイル・システム名に基づいて）要求されたファイル・システムを特定するために、受信したファイル・システム・イベント要求の識別部を解析するようになされる。また、ルーティング・コンポーネント１５０は次に、特定された要求ファイル・システムに基づいて、特定された要求ファイル・システムに関連付けられたファイル・システム・パス・データを特定するためにデータ・ストア１４０に照会するようになされる。
【００６５】
ルーティング・コンポーネント１５０は、受信したファイル・システム・イベント要求を、特定された要求ファイル・システムに関連付けられた特定されたファイル・システム・パス・データとともに第２の通信コンポーネント１７０に渡す。第２の通信コンポーネント１７０は、特定された要求ファイル・システムに関連付けられた特定されたファイル・システム・パス・データに基づいて、受信したファイル・システム・イベント要求をオンプレミス資源７３に伝達するようになされる。このために、第２の通信コンポーネント１７０は、ファイル・システム・イベント要求を伝達するためのセキュア・トンネルを確立するようになされる。例えば、第２の通信コンポーネント１７０は、スイッチング・コンポーネント８０とローカル・モジュール／エージェント９０との間に相互認証されたＴＬＳトンネル接続を確立してもよい。
【００６６】
したがって、上記の説明から、スイッチング・コンポーネント８０は、それぞれオフプレミス・サーバ・モジュールおよびオンプレミス・サーバ・モジュールとのトンネルを確立するための第１および第２のセキュア・コンポーネントを有することができる。スイッチング・コンポーネント８０は、ファイル・システムに関連付けられたファイル・システム・パス・データ（例えばファイル・システム名、サーバＩＤ、サーバ・アドレス、ファイル・システムのバージョン識別子、サポートされているファイル・システム・イベント、許可されているファイル・システム・イベント、許可情報、認証情報およびチェックサム情報）を、（スイッチング・コンポーネント８０のデータ・ストアに）登録し、記憶するようになされた登録コンポーネントも有することができる。したがって、アプリケーションまたはサーバは、接続する場合、または構成が変わる場合、あるいはその両方の場合に、スイッチング・コンポーネント８０に情報を登録することができる。このような情報は、アプリケーションまたはサーバがアクセス不能になる場合（例えば、接続切断、電源遮断またはその他の理由で利用不能な場合）に、登録解除もされ得る（例えばデータ・ストアから除去または削除される）。したがって、ファイル・システム・イベントを実行するために受信した呼び出し（例えば要求）は、スイッチング・コンポーネント８０によって解析され、要求されたイベントをどこに伝達するかを示すファイル・システム・パス・データを特定するために、動的にメンテナンスされるデータ・ストアに照会するために使用することができる。
【００６７】
したがって、スイッチング・コンポーネント８０は、クラウド・アプリケーションがオンプレミス・サーバのファイル・システムを呼び出すことができるようにすることができ、呼び出しはスイッチング・コンポーネント８０によって処理され、適切なオンプレミス・サーバに伝達される。逆に、スイッチング・コンポーネント８０は、オンプレミス・ファイル・システムがオフプレミス・サーバのファイル・システムを呼び出すことができるようにしてよい。
【００６８】
一例として、図３を参照しながら、（オンプレミス・データベース・サーバ１００上にある）第１のファイル・システム１１０「ファイル・システムＡ」を呼び出す第１のサーバ７５のクラウド・ベースのアプリケーション７７の例について、以下に説明する。
【００６９】
まず、符号「Ａ」が付された矢印で示すように、第１のサーバ７５のアプリケーション７７は、ファイル・システム・イベント要求を第１のサーバ・モジュール／エージェント７８（符号「エージェント＿Ｃ」で示す）を介してスイッチング・コンポーネント８０に伝達する。この通信は、第１のサーバ・モジュール／エージェント７８（符号「エージェント＿Ｃ」で示す）とスイッチング・コンポーネント８０の第１の通信コンポーネント１６０（図２を参照）との間のセキュア・トンネルを使用して確立される。この例におけるファイル・システム・イベント要求は、第１のファイル・システム１１０の名前すなわちサブファイル・システムＡを含む識別部と、ファイル・システム・イベント（例えば「読み取り」など）を含むイベント・データとそのイベントのためのデータの場所を表すエントリ・ポイント・データとファイル・システム１１０内に記憶されているファイルを表すデータを含むペイロードとを含むペイロード部とを含む。
【００７０】
次に、符号「Ｂ」で示すように、スイッチング・コンポーネント８０は、ファイル・システム・イベント要求の識別部から、要求されたファイル・システムを判断し、その後、要求されたファイル・システム（ファイル・システムＡ）に関連付けられたファイル・システム・パス・データを判断するためにスイッチング・コンポーネント８０のデータ・ストア１４０に照会する。
【００７１】
次に、判断されたファイル・システム・パス・データに基づいて、第２の通信コンポーネント１７０（図２を参照）が、符号「Ｃ」および「Ｄ」で示す矢印で示すように、ファイル・システム・イベント要求をオンプレミス資源７３の第１のファイル・システム１１０（「ファイル・システムＡ」）に伝達する。この通信は、第２の通信コンポーネント１７０とローカル・モジュール／エージェント９０（「エージェント＿Ｐ」）との間のセキュア・トンネルを使用して確立される。
【００７２】
最後に、第１のファイル・システム１１０が、（ファイル・システム・イベント要求の）データ・ペイロードによって示された要求されたファイル・システム・イベント、例えばファイル・システムの指定場所に記憶されている特定のファイルのデータの読み取りを実行する。
【００７３】
このように、上記の例から、スイッチング・コンポーネント８０と、第１のサーバ・モジュール／エージェント７８（符号「エージェント＿Ｃ」で示す）と、ローカル・モジュール／エージェント９０（「エージェント＿Ｐ」）とが、相互認証されたＴＬＳ接続を管理することがわかるであろう。この図では、第１のファイル・システム１１０はオンプレミス・データベース・サーバ１００上で実装され、データベース・サーバ１００にアクセスするために必要な信用証明情報はオンプレミス資源に知られるだけで済む（オフプレミス・サーバには知られない）。
【００７４】
また、図３の上述の例では、第１の通信コンポーネント１６０がオフプレミス・サーバ７５からファイル・システム・イベント要求を受信するようになされ、第２の通信コンポーネント１７０が（ローカル・エージェント９０などの）オンプレミス資源にそのファイル・システム・イベント要求を伝達するようになされる。このようにして、オフプレミス（例えばクラウド・ベースの）資源から要求が受信され、スイッチング・コンポーネント８０によって適切なオンプレミス資源にルーティングされることができる。
【００７５】
ただし、他の実施形態では、オンプレミス資源から要求が受信され、スイッチング・コンポーネント８０によって適切なオフプレミス（例えばクラウド・ベースの）資源にルーティングされてよいことを理解すべきである。例えば、第２の通信コンポーネント１７０がオンプレミス資源／サーバからファイル・システム・イベント要求を受信するようになされてよく、第１の通信コンポーネント１６０がファイル・システム・イベント要求をオフプレミス・サーバに伝達するようになされてよい。このような構成は、オンプレミス資源がスイッチング・コンポーネント８０を介してオフプレミス・ファイル・システム資源を要求／呼び出しすることを可能にすることができ、要求／呼び出しのルーティングはスイッチング・コンポーネントによって処理される。
【００７６】
また、実施形態は、要求／呼び出しされたファイル・システムからの応答を呼び出し側アプリケーションに返すことができるようにもなされてよい。一例として、図３に示す例において、第２の通信コンポーネント１７０が、伝達されたファイル・システム・イベント要求に対する応答を受信するようになされてよい。次に、ルーティング・コンポーネント１５０が、（例えば応答の解析または、以前に伝達された要求に関する記憶されたデータあるいはその両方に基づいて）応答の意図された宛先を判断し、次に、その要求を発信した（応答の返送先の）アプリケーションに伝達するために第１の通信コンポーネント１６０に応答を渡す。このようにして、ファイル・システム・イベント要求／呼び出しに対する応答を、要求／呼び出しを発信したアプリケーション（または資源）に返すことができる。したがって、提案の実施形態は、余分な通信トラフィックを回避しながら要求と応答とが適切に配信されるように、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理を可能にすることができる。
【００７７】
以上で詳述したように、ファイル・システムに関連付けられたデータ・パス情報を含むデータ・ストア（例えばデータベースまたはルックアップ・テーブル）に基づいて、ファイル・システム・イベント要求のルーティングを実装することができる。データ・ストアは、利用可能なファイル・システムまたは資源に応じて最新のファイル・システム・パス・データを含むように動的または自動的にメンテナンスされ得る。一例として、データ・ストアは、ファイル・システム名、またはサーバ識別情報、またはサーバ・アドレス、またはファイル・システムのバージョン識別子、またはチェックサム情報あるいはその組合せに関する情報を含んでよい。このようなファイル・システム・パス・データは、登録プロセスを使用してサーバまたはアプリケーションによってデータ・ストアに提供されてよく、それによってデータ・ストアを動的または自動的に更新／メンテナンスするという概念が可能になる。
【００７８】
次に図４を参照すると、一実施形態により採用可能なファイル・システム・パス・データ登録方法３００の流れ図が示されている。ここでは、この方法について、提案の一実施形態による接続コンポーネント（例えばスイッチング・モジュール）の登録モジュール（図２の１７５など）によって実装されるものとして説明する。
【００７９】
この方法３００は３１０で開始し、オフプレミス資源またはオンプレミス資源（例えばサーバ・モジュールなど）によって接続コンポーネントへの接続が開始される。一例として、オフプレミス資源またはオンプレミス資源は、接続コンポーネントの通信コンポーネント／インターフェースとの相互認証されたＴＬＳ接続を設定することができる。
【００８０】
次に、３２０で、少なくとも１つのファイル・システムに関連付けられたファイル・システム・パス・データが設定される。これは、例えば、接続コンポーネントへの接続を確立した資源からファイル・システムのファイル・システム情報を受信することによって行うことができる。一例として、ファイル・システム・パス・データは、ファイル・システム名と、サーバ識別情報と、サーバ・アドレスと、ファイル・システムのバージョン識別子と、サポートされているファイル・システム・イベントと、許可されているファイル・システム・イベントと、許可情報と、認証情報と、チェックサム情報とのうちの少なくとも１つを含み得る。したがって、ファイル・システム・パス・データは、例えば、ファイル・システムの識別に関する情報を含む。このような識別情報は、次に、ファイル・システム要求を、要求されたファイル・システムを稼働させているシステムと突き合わせるために使用することができる。これに代えて、またはこれに加えて、ファイル・システム・パス・データは、より複雑な突き合わせを可能にするために、バージョンまたはチェックサムに関する情報を含んでよい。これに代えて、またはこれに加えて、ファイル・システム・パス・データは、ファイル・システム・パスの相対的な場所に関する情報を含んでよい。
【００８１】
このようにして、サーバまたはアプリケーションが、接続コンポーネントによる登録または記憶のためにファイル・システム・パス・データを直接提供してよい。あるいは、資源に照会することによって、したがって（そのような情報を受動的に単に自動的に受信するのではなく）ファイル・システムのエンドポイント情報を能動的に探求することによって、ファイル・システム・パス・データを得てもよい。一例として、ファイル・システム・パス・データを確立された接続の解析により抽出または判断してもよい。
【００８２】
最後に、３３０で、この少なくとも１つのファイル・システムに関連付けられた、設定されたファイル・システム・パス・データが、接続コンポーネントのデータ・ストアに登録／記憶される。このようなファイル・システム・パス・データの記憶は、例えばリレーショナル・データベースまたはテーブルを使用して構造的に行われることができる。
【００８３】
したがって、このようなファイル・システム・パス・データ登録方法３００の反復実行により、接続コンポーネントへの接続を介して新たな資源またはファイル・システムが利用可能にされたときにデータ・ストアを構築し、メンテナンスすることができる。
【００８４】
次に図５を参照すると、一実施形態による、オフプレミス資源とオンプレミス資源との間の通信を管理する方法３５０の流れ図が示されている。図４の方法と同様に、図５の方法３５０は、提案の実施形態による接続コンポーネント（例えばスイッチング・モジュール）によって実装されるものとして説明する。
【００８５】
方法３５０は、３００で、（図４を参照しながら説明したような）ファイル・システム・パス・データ登録から開始する。言い換えると、この方法は、利用可能なファイル・システムに関連付けられたファイル・システム・パス・データが接続コンポーネントのデータ・ストアに記憶されるように、最初に、図４に示すそのファイル・システム・パス・データ登録方法を実施することができる。ファイル・システム・パス・データ登録プロセス３００が完了し、したがってデータ・ストアに適切にデータが入れられると、この方法は３６０に移行する。
【００８６】
３６０で、オフプレミス・サーバまたはオンプレミス・サーバのアプリケーションから接続コンポーネントによってファイル・システム・イベント要求が受信される。ここでは、ファイル・システム・イベント要求は、（事前に）確立されたセキュア・トンネルを介して受信される。また、この例のファイル・システム・イベント要求は、ヘッダもしくは識別部とペイロード部とからなる、またはそれらを含むファイル・システム実行または呼び出し要求を含み得る。ヘッダ／識別部は、要求されたファイル・システムの識別に関する情報（例えばファイル・システム名など）を含んでよく、ペイロード部はデータ・ペイロード（例えばファイル・システムにおける／による使用のためのデータなど）を含み得る。一例として、ファイル・システム・イベント要求は、ファイル・システム名と、ファイル・システム・イベントと、データ・ペイロードと、エントリ・ポイント・データとのうちの少なくとも１つを含み得る。したがって、ファイル・システム・イベント要求は、ファイル・システム、またはそのファイル・システムによって達成されるイベント（例えば読み取り、書き込み、削除、追加、パージ、編集など）、またはそのファイル・システムによって処理されるデータ、またはその要求が行われる対象となるファイル・システムにおけるエントリ・ポイント、あるいはその組合せに関する情報を含み得る。ファイル・システム・イベント要求にエントリ・ポイントデータ（例えばパス識別情報など）を含めることにより、要求を行う対象のファイル・システムにおけるエントリ・ポイントの指定を可能にすることができる。例えば、「ｆｉｌｅｓｙｓｔｅｍ１」というファイル・システムが「ｐａｔｈ１」および「ｐａｔｈ２」という２つのエントリ・ポイントを有し得る。その場合、ファイル・システム・イベント要求は、例えば「ｆｉｌｅ  ｓｙｓｔｅｍ１／ｐａｔｈ１」のように、ファイル・システム名とそのファイル・システム内のエントリ・ポイントとを含んでよい。エントリ・ポイント情報を採用しない場合、デフォルトのエントリ・ポイント（例えばホーム／ルート・ディレクトリまたはパス）が使用されてよい。
【００８７】
次に、３７０で、要求されたファイル・システムを判断するために、受信したファイル・システム・イベント要求が、データ・ストアに記憶されているデータとともに処理される。例えば、接続コンポーネントが、（例えば識別部に含まれるファイル・システム名に基づいて）受信したファイル・システム・イベント要求の識別部を解析して要求されたファイル・システムを特定する。この方法は次に３８０に移行し、接続コンポーネントは、特定された要求ファイル・システムに基づいて、特定された要求ファイル・システムに関連付けられたファイル・システム・パス・データを特定するためにデータ・ストアに照会する。言い換えると、特定された要求ファイル・システムに基づいて、接続コンポーネントが要求されたファイル・システムのデータ・エントリ／レコードを見つけるためにデータ・ストアを検索し、次に、要求されたファイル・システムのデータ・エントリ／レコードに記憶されているファイル・システム・パス・データを抽出する。
【００８８】
３９０で、接続コンポーネントは、次に、特定されたファイル・システム・パス・データに基づいてファイル・システム・イベント要求をオフプレミス資源またはオンプレミス資源に伝達する。この目的のために、ファイル・システム・イベント要求を伝達するために確立されたセキュア・トンネルが使用される。
【００８９】
したがって、図５の方法の以上の説明から、ファイル・システム・イベント要求を受信し、その要求を適切なエンドポイント（例えば要求されたファイル・システムを実装するアプリケーションまたはサーバ・モジュール）に伝達する（例えば転送する）方法を提供することができることがわかるであろう。ファイル・システム・イベント要求は、（例えば要求の発信元に返送される）応答が与えられることを必要としてもしなくてもよいことを理解されたい。
【００９０】
応答が与えられる場合、方法３５０は追加の態様４００および４１０を含む。態様４００は、接続コンポーネントにおいて、ファイル・システム・イベント要求を伝達するために使用された同じセキュア・トンネルを介して、ファイル・システム・イベント要求に対する応答を受信することを含む。次に、４１０で、接続コンポーネントが応答を適切な方向、例えばファイル・システム・イベント要求の発信元にルーティングする。この目的のために、接続コンポーネントは、応答のルーティング先を判断するためにデータ・ストアまたは他の情報の集合を使用してよい。例えば、接続コンポーネントは、伝達されたファイル・システム・イベント要求のレコードを、宛先または発信元情報とともに維持するようになされてよい。次に、そのような記録された情報を解析して、受信した応答をどこに伝達するかを判断することができる。
【００９１】
上記で詳述したように、接続コンポーネントのデータ・ストアは、利用可能なファイル・システムまたは資源の変化を反映するように、登録／登録解除プロセスを使用して動的にまたは自動的にメンテナンスすることができる。したがって、図４のファイル・システム・パス・データ登録方法３００を実装することに加えて、ファイル・システム・パス・データ登録解除方法を採用してもよい。そのような登録解除プロセスは、例えば、接続またはファイル・システム資源における変化に応答して実行されてよい。このような変化は、資源もしくは通信回線の除去によって通知されるか、またはファイル・システム資源が利用不能／アクセス不能になることを示す信号もしくは要求によって示されるか、あるいはその両方とすることができる。したがって、ファイル・システム・パス・データは、登録解除プロセスを使用してデータ・ストアから除去することができ、それによって、データ・ストアを動的または自動的に更新／メンテナンスするという概念が可能になる。
【００９２】
次に図６を参照すると、一実施形態によって採用可能なファイル・システム・パス・データ登録解除方法４５０の流れ図が示されている。ここでは、この方法について、提案の一実施形態による接続コンポーネント（例えばスイッチング・モジュール）の登録モジュールによって実装されるものとして説明する。
【００９３】
方法４５０は、４６０で開始し、オフプレミス資源またはオンプレミス資源（例えば、ファイル・システム、サーバ、サーバ・モジュール、またはセキュア・トンネルなど）がアクセス不能であることが検出される。一例として、オフプレミス資源またはオンプレミス資源が、アクセス不能になる直前に接続コンポーネントに信号を伝達するように設定されてもよい。その場合、そのような信号の検出を使用して、オフプレミス資源もしくはオンプレミス資源の起ころうとしている、またはまもなく発生するアクセス不能を検出してもよい。これに代えて、またはこれに加えて、例えばサーバの接続切断、終了、または電源遮断によりセキュア・トンネル接続が失われることを検出することによって、アクセス不能が検出されてもよい。
【００９４】
次に、４７０で、アクセス不能オフプレミス資源またはオンプレミス資源に関連付けられたファイル・システム・パス・データが特定される。これは、例えば、アクセス不能になる前に資源から情報を受信することによって行われてよい。このようにして、サーバまたはアプリケーションが、接続コンポーネントによる登録解除または削除のためにファイル・システム・パス・データを直接与えることができる。あるいは、データ・ストアを照会すること、したがってデータ・ストア内のエンドポイント情報を能動的に照会することによって、データ・ストアから登録解除または除去するためファイル・システム・パス・データを特定してもよい。一例として、データ・ストアと併用して、失われた接続の解析によってファイル・システム・パス・データを特定または判断してもよい。
【００９５】
最後に、４８０で、アクセス不能オフプレミス資源またはオンプレミス資源に関連付けられた特定されたファイル・システム・パス・データが、接続コンポーネントのデータ・ストアから登録解除（例えば除去）される。
【００９６】
したがって、このようなファイル・システム・パス・データ登録解除方法４５０の反復実行により、資源またはファイル・システムが接続コンポーネントにとって利用不能になるときにデータ・ストアのメンテナンスおよび更新を可能にすることができる。
【００９７】
したがって、実施形態は、オフプレミス資源およびオンプレミス資源のアプリケーション、またはサーバ、またはファイル・システム、あるいはその組合せにおける状態変化に応答してファイル・システム・パス・データ・ストアに対して情報の追加および除去を行うようになされてよいことがわかるであろう。言い換えると、実施形態は、利用可能なファイル・システムにおける変化を反映させるために、任意の構造化データ資源を動的に更新またはメンテナンスすることができる。
【００９８】
図面を参照しながら上記に示したものなどの実施形態は、オフプレミス・プラットフォームとオンプレミス・プラットフォームにおけるデータ・ファイル・システム間で受け渡しされるデータの量を削減するという恩恵をもたらすことができることがわかるであろう。これは、以下の２通りの方式で行うことができる。
（ｉ）開発者は、ファイル・システムを呼び出すために必要なもののみを渡すことができ、
（ｉｉ）セキュア・トンネルを通るデータの形式を、Ｅｆｆｉｃｉｅｎｔ  ＸＭＬ  Ｉｎｔｅｒｃｈａｎｇｅ（ＥＸＩ）、プロトコル・バッファ、または同様の方式などのバイナリ形式に圧縮する。
【００９９】
また、実施形態は、オフプレミス・ファイル・システムがセキュア情報（例えばデータベース・ユーザ信用証明情報、ポート、ＩＰアドレスなど）を必要としないようにすることもできることも留意されたい。
【０１００】
プログラム・フロー解析によって、実施形態はアプリケーション要件をよりよく理解することができるようにすることができ、したがって同時に複数のデータ形式が伝播するのを回避し、それによって、付随する必要メモリが削減される。
【０１０１】
以上の説明から明らかなように、オフプレミス資源をクラウド・コンピューティング・システムによって提供することができる。また、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を管理する接続コンポーネントまたは方法を、クラウド・コンピューティング・システムによって提供または実装することができる。
【０１０２】
クラウド・コンピューティング・システムに関して行う以下の説明に関連して、本開示はクラウド・コンピューティングの詳細な説明を含むが、本明細書に記載されている教示の実装はクラウド・コンピューティング環境には限定されないことを前もって了解されたい。むしろ、本発明の実施形態は、現在知られている、または今後開発される任意の他の種類のコンピューティング環境とともに実装することができる。以下のクラウド・コンピューティング・システムおよび環境の説明は、単に説明と理解のために示すものである。
【０１０３】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの相互連絡で迅速にプロビジョニングし、リリースすることができる、構成可能なコンピューティング資源（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするサービス配布のモデルである。このオフプレミス・クラウド・モデルは、少なくとも５つの特徴と、少なくとも３つのサービス・モデルと、少なくとも４つの配備モデルとを含み得る。
【０１０４】
特徴は以下の通りである。
オンデマンド・セルフサービス：クラウド消費者は、サービスのプロバイダとの間で人間の介在を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的に提供することができる。
広帯域ネットワーク・アクセス：ネットワークを介して機能が利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム（例えば携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準機構を介してアクセスされる。
資源プール：マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について制御することができないかまたは知らないが、より高い抽象化レベルの場所（例えば、国、州、またはデータセンター）を指定し得るという点で、場所独立感がある。
迅速な伸縮性：迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能をリリースして迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能は多くの場合、無限であるように見え、いつでも好きなだけ購入することができる。
従量制サービス：クラウド・システムが、サービスの種類（例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント）に応じて適切な何らかの抽象化レベルの計量機能を活用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用サービスの透明性をプロバイダと消費者の両方に与えることができる。
【０１０５】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＳａａＳ）：消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である（例えばウェブ・ベースのＥメール）。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理または制御しない。
プラットフォーム・アズ・ア・サービス（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＰａａＳ）：消費者に提供される機能は、クラウド・インフラストラクチャ上に、消費者作成アプリケーション、またはプロバイダによってサポートされるプログラミング言語およびツールを使用して作成された取得アプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎にあるクラウド・インフラストラクチャを管理または制御しないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
インフラストラクチャ・アズ・ア・サービス（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＩａａＳ）：消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを配備し、稼働させることができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システムと、ストレージと、配備されたアプリケーションとを制御することができ、場合によっては選択されたネットワーキング・コンポーネント（例えばホスト・ファイアウォール）の限定的な制御を行うことができる。
【０１０６】
配備モデルは以下の通りである。
プライベート・クラウド：このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在してよい。
コミュニティ・クラウド：このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事（例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス事項）を有する特定のコミュニティをサポートする。組織または第三者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
パブリック・クラウド：このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、独自の実体のままであるが、データ可搬性およびアプリケーション可搬性を可能にする標準化技術または専有技術（例えば、クラウド間の負荷バランシングのためのクラウド・バースティング）によって結合された、２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の複合体である。
【０１０７】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【０１０８】
次に、図７を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示されている。クラウド・コンピューティング・ノード１０は、適合するクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用の範囲または機能に関していかなる限定も示唆することを意図していない。いずれにしても、クラウド・コンピューティング・ノード１０は、上述の機能のいずれでも実装または実行あるいはその両方が可能である。
【０１０９】
クラウド・コンピューティング・ノード１０には、多くの他の汎用または専用コンピューティング・システム環境または構成とともに動作可能なコンピュータ・システム／サーバ１２がある。コンピュータ・システム／サーバ１２とともに使用するのに適合し得る周知のコンピューティング・システム、または環境、または構成あるいはその組合せの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち型デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家庭用電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスのうちのいずれかを含む分散クラウド・コンピューティング環境などがあるが、これらには限定されない。
【０１１０】
コンピュータ・システム／サーバ１２について、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般には、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム／サーバ１２は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施可能である。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルとリモートの両方のコンピュータ・システム記憶媒体に格納することができる。
【０１１１】
図７に示すように、クラウド・コンピューティング・ノード１０におけるコンピュータ・システム／サーバ１２が汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム／サーバ１２のコンポーネントは、１つもしくは複数のプロセッサまたは処理ユニット１６と、システム・メモリ２８と、システム・メモリ２８を含む様々なシステム・コンポーネントをプロセッサ１６に結合するバス１８とを含み得るが、これらには限定されない。
【０１１２】
バス１８は、様々なバス・アーキテクチャのうちのいずれかのアーキテクチャを使用する、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、数種類のバス構造のうちのいずれかの１つまたは複数に相当する。例として、そのようなアーキテクチャとしては、これらには限定されないが、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＭＣＡ）バス、拡張（Ｅｎｈａｎｃｅｄ）ＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ：ＶＥＳＡ）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：ＰＣＩ）バスがある。
【０１１３】
コンピュータ・システム／サーバ１２は、典型的には様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム／サーバ１２がアクセスすることができる任意の利用可能な媒体であってよく、揮発性媒体と不揮発性媒体の両方と、取り外し可能媒体と取り外し不能媒体とを含む。
【０１１４】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０またはキャッシュ・メモリ３２あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１２は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。一例に過ぎないが、ストレージ・システム３４を、取り外し不能な不揮発性磁気媒体（図示されておらず、一般に「ハード・ドライブ」と呼ばれる）の読み書きのために設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば「フロッピィ・ディスク」）の読み書きのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたはその他の光学媒体などの、取り外し可能な不揮発性光ディスクの読み書きのための光ディスク・ドライブとを備えることができる。そのような場合、それぞれを１つまたは複数のデータ・メディア・インターフェースによってバス１８に接続することができる。以下でさらに図示し、説明するように、メモリ２８は、本発明の実施形態の機能を実施するように構成された１組の（例えば少なくとも１つの）プログラム・モジュールを有する少なくとも１つのプログラム製品を含み得る。
【０１１５】
一例として、これには限らないが、１組の（少なくとも１つの）プログラム・モジュール４２を有するプログラム／ユーティリティ４０のほか、オペレーティング・システムと、１つまたは複数のアプリケーション・プログラムと、その他のプログラム・モジュールと、プログラム・データとがメモリ２８に記憶されてよい。オペレーティング・システムと、１つまたは複数のアプリケーション・プログラムと、その他のプログラム・モジュールと、プログラム・データまたはこれらの何らかの組合せとのうちのそれぞれが、ネットワーキング環境の実装形態を含み得る。プログラム・モジュール４２は、一般には、本明細書に記載の本発明の実施形態の機能または方法あるいはその両方を実施する。
【０１１６】
コンピュータ・システム／サーバ１２は、キーボード、ポインティング・デバイス、ディスプレイ２４など、または、ユーザがコンピュータ・システム／サーバ１２と対話することができるようにする１つもしくは複数のデバイス、または、コンピュータ・システム／サーバ１２が１つもしくは複数の他のコンピューティング・デバイスと通信することができるようにする任意のデバイス（例えばネットワーク・カード、モデムなど）、あるいはその組合せなどの、１つまたは複数の外部デバイス１４とも通信することができる。このような通信は、入出力（Ｉ／Ｏ）インターフェース２２を介して行うことができる。さらに、コンピュータ・システム／サーバ１２は、ローカル・エリア・ネットワーク（ＬＡＮ）、または汎用ワイド・エリア・ネットワーク（ＷＡＮ）、またはパブリック・ネットワーク（例えばインターネット）、あるいはその組合せなどの１つもしくは複数のネットワークと、ネットワーク・アダプタ２０を介して通信することができる。図のように、ネットワーク・アダプタ２０は、バス１８を介してコンピュータ・システム／サーバ１２の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方もコンピュータ・システム／サーバ１２とともに使用することができることを理解されたい。例としては、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどが含まれるが、これらには限定されない。
【０１１７】
次に、図８を参照すると、例示のクラウド・コンピューティング環境またはクラウド・コンピューティング環境５０が示されている。これは、実施形態では、例えば図１に示すクラウド・コンピューティング・システムに相当するものと見なすことができる。図のように、クラウド・コンピューティング環境５０は、例えば携帯情報端末（ＰＤＡ）もしくはセルラー電話５４Ａ、またはデスクトップ・コンピュータ５４Ｂ、またはラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎあるいはその組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、１つまたは複数のクラウド・コンピューティング・ノード１０を含む。ノード１０が互いに通信してもよい。これらは、上述のプライベート、コミュニティ、パブリックもしくはハイブリッド・クラウドまたはその組合せなどの１つまたは複数のネットワークにおいて物理的または仮想的にグループ化（図示せず）されてよい。これによって、クラウド・コンピューティング環境５０は、インフラストラクチャ、またはプラットフォーム、またはソフトウェアあるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。図８に示すコンピューティング・デバイス５４Ａないし５４Ｎの種類は、例示のみを意図したものであり、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、（例えばウェブ・ブラウザを使用して）任意の種類のネットワークまたはネットワーク・アドレス指定可能接続あるいはその両方を介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【０１１８】
次に、図９を参照すると、クラウド・コンピューティング環境５０（図８）によって提供される１組の機能抽象化層が示されている。なお、図９に示すコンポーネント、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって了解されたい。図のように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層６０は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム、一例ではＩＢＭ（Ｒ）ｚＳｅｒｉｅｓ（Ｒ）システム、縮小命令セット・コンピュータ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ：ＲＩＳＣ）アーキテクチャ・ベースのサーバ、一例ではＩＢＭ  ｐＳｅｒｉｅｓ（Ｒ）システム、ＩＢＭ  ｘＳｅｒｉｅｓ（Ｒ）システム、ＩＢＭ  ＢｌａｄｅＣｅｎｔｅｒ（Ｒ）システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントがある。ソフトウェア・コンポーネントの例としては、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例ではＩＢＭ  ＷｅｂＳｐｈｅｒｅ（Ｒ）アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェア、一例ではＩＢＭ  ＤＢ２（Ｒ）データベース・ソフトウェアがある。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｐＳｅｒｉｅｓ、ｘＳｅｒｉｅｓ、ＢｌａｄｅＣｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅ、およびＤＢ２は、世界の多くの地域で登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。）
【０１１９】
仮想化層６２は、以下の仮想実体の例を実現することができる抽象化層を提供する。すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントである。
【０１２０】
一例では管理層６４は、以下に記載の機能を提供することができる。資源プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシングは、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一例ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれてもよい。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他の資源の保護とを行う。ユーザ・ポータルは、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理により、上記で詳述したような提案の概念によるオフプレミス資源とオンプレミス資源との間のファイル・システムの呼び出しまたは要求が実現される。
【０１２１】
ワークロード層６６は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ分析処理、トランザクション処理、ならびにモバイル・デスクトップがある。
【０１２２】
本発明の実施形態が方法を構成する本願の文脈では、そのような方法はコンピュータによる実行のためのプロセスであり、すなわちコンピュータ実装可能方法であることを理解されたい。したがって、この方法の様々な態様は、コンピュータ・プログラムの様々な部分、例えば、１つまたは複数のアルゴリズムの様々な部分を反映する。
【０１２３】
本発明は、任意の可能な技術的詳細の統合レベルでのシステム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【０１２４】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、可搬コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を伝播する電磁波（例えば光ファイバ・ケーブルを通る光パルス）、または電線を介して伝送される電気信号などの、一時的な信号自体であると解釈すべきではない。
【０１２５】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含んでよい。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【０１２６】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語または同様のプログラム言語などの手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意の種類のネットワークを介してユーザのコンピュータに接続されることができ、または接続は外部コンピュータ（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）に対して行われてもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【０１２７】
本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の各ブロックおよび、フローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【０１２８】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装する手段を形成するように、汎用コンピュータ、専用コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他のデバイスあるいはその組合せに対して特定の方式で機能するように指示することができるものであってもよい。
【０１２９】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装するように、コンピュータ実装プロセスを実現するために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【０１３０】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。一部の代替の実装形態では、ブロックに記載されている機能は、図面に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている２つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、規定されている機能または動作を実行する専用ハードウェア・ベースのシステムによって実装されるか、または専用ハードウェアとコンピュータ命令との組合せを実施することができることもわかるであろう。
【０１３１】
本発明の様々な実施形態の説明は例示を目的として示したものであるが、網羅的であること、または開示されている実施形態に限定されることを意図したものではない。当業者には、記載されている実施形態の範囲および思想から逸脱することなく、多くの変更および変形が明らかであろう。本明細書で使用されている用語は、実施形態の原理と、実際の適用、または市場に見られる技術に対する技術的改良を最もよく説明するため、または当業者が本明細書で開示されている実施形態を理解することができるようにするために、選定された。
【０１３２】
本明細書で使用されている用語は、特定の実施形態を説明することのみを目的としたものであり、限定的であることを意図したものではない。本明細書で使用されている単数形の「１つ（ａ）」、「１つの（ａｎ）」および「それ（ｔｈｅ）」は、文脈が明確に他の解釈を示していない限り複数形も含むことを意図している。また、「含む（ｃｏｍｐｒｉｓｅｓ）」または「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」あるいはその両方の用語が本明細書で使用されている場合、記載されている特徴、整数、ステップ、動作、要素またはコンポーネントあるいはその組合せの存在を規定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、またはコンポーネントあるいはそのグループの存在または追加を排除しないことがわかるであろう。
【０１３３】
添付の特許請求の範囲のすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作および均等物は、もしある場合、具体的に特許請求されている他の特許請求対象要素と組み合わせて機能を実行するための任意の構造、材料または動作を含むことを意図している。例示および説明を目的として１つまたは複数の実施形態の説明を示したが、網羅的であること、または、開示されている形態に限定することを意図したものではない。当業者には多くの変更および変形が明らかであろう。これらの実施形態は、様々な態様および実際の適用を最もよく説明するためと、当業者が、企図された特定の用途に適合するように様々な変更を加えた様々な実施形態を理解することができるようにするために選定し、説明した。
【図１】
2019536332.tif 000003
【図２】
2019536332.tif 000004
【図３】
2019536332.tif 000005
【図４】
2019536332.tif 000006
【図５】
2019536332.tif 000007
【図６】
2019536332.tif 000008
【図７】
2019536332.tif 000009
【図８】
2019536332.tif 000010
【図９】
2019536332.tif 000011
【国際調査報告】
2019536332.tif 000012
2019536332.tif 000013