(57)【要約】【課題】  オフプレミス・サーバとオンプレミス・サーバとの間の通信及び認証を管理するためのコンポーネント、コンピュータ実施方法、及びコンピュータ・プログラムを提供する。【解決手段】  オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するための概念が提案される。また、オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するための概念も提案される。セキュリティ・コンポーネントが、要求されるアプリケーションと関連付けられた格納された認証データを特定し、次に、特定された認証データを用いて要求の認証プレースホルダを修正し、アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成することができる。【選択図】      図４
2021501929.tif 000002
【特許請求の範囲】
【請求項１】
オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するための接続コンポーネントであって、前記接続コンポーネントは、
１つ又は複数のアプリケーションと関連付けられたアプリケーション経路データを格納するように適合されたアプリケーション経路データストアと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取るように適合された第１の通信コンポーネントであって、前記アプリケーション要求は、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、第１の通信コンポーネントと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断し、前記要求されるアプリケーションと関連付けられた格納されたアプリケーション経路データを特定するように適合された経路指定コンポーネントと、
特定された前記アプリケーション経路データに基づいて、前記アプリケーション・イベント要求をオンプレミス・サーバ又はオフプレミス・サーバに通信するように適合された第２の通信コンポーネントと、
を含む、接続コンポーネント。
【請求項２】
前記第１の通信コンポーネントは、前記アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合され、前記第２の通信コンポーネントは、前記アプリケーション要求を通信するためのセキュア・トンネルを確立するように適合された、請求項１に記載の接続コンポーネント。
【請求項３】
前記オフプレミス・サーバはクラウド・サーバを含み、アプリケーション要求は、前記クラウド・サーバのサービスにより提供される、請求項１に記載の接続コンポーネント。
【請求項４】
前記アプリケーション経路データは、アプリケーション名、サーバ識別、サーバ・アドレス、アプリケーション・バージョン識別子、サポートされるアプリケーション、許可されるアプリケーション、許可情報、及びチェックサム情報のうちの少なくとも１つを含む、請求項１に記載の接続コンポーネント。
【請求項５】
前記アプリケーション要求は、アプリケーション名、データ・ペイロード、及びエントリポイント・データのうちの少なくとも１つをさらに含む、請求項１に記載の接続コンポーネント。
【請求項６】
前記第１の通信コンポーネントは、前記アプリケーション要求をオフプレミス・サーバから受け取るように適合され、前記第２の通信コンポーネントは、特定された前記アプリケーション経路データに基づいて、前記アプリケーション要求をオンプレミス・サーバに通信するように適合される、請求項１に記載の接続コンポーネント。
【請求項７】
オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するためのセキュリティ・コンポーネントであって、前記認証コンポーネントは、
１つ又は複数のアプリケーションと関連付けられた認証データを格納するように適合された認証データストアと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取るように適合された第１の通信コンポーネントであって、前記アプリケーション要求は、アプリケーション経路データに応じてターゲット・オンプレミス・サーバ又はオフプレミス・サーバに向けられ、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、第１の通信コンポーネントと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断し、前記要求されるアプリケーションと関連付けられた格納された認証データを特定し、特定された前記認証データを用いて前記認証プレースホルダを修正して、前記アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成するように適合された認証コンポーネントと、
前記修正されたアプリケーション・イベント要求を前記ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに通信するように適合された第２の通信コンポーネントと、
を含む、セキュリティ・コンポーネント。
【請求項８】
前記第１の通信コンポーネントは、前記アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合され、前記第２の通信コンポーネントは、前記修正されたアプリケーション要求を通信するためのセキュア・トンネルを確立するように適合される、請求項７に記載のセキュリティ・コンポーネント。
【請求項９】
前記オフプレミス・サーバはクラウド・サーバを含み、アプリケーション要求は、前記クラウド・サーバのサービスにより提供される、請求項７に記載のセキュリティ・コンポーネント。
【請求項１０】
オフプレミス・サーバのアプリケーション、オンプレミス・サーバのアプリケーション、オフプレミス・サーバ・モジュール、及びオンプレミス・サーバ・モジュールのうちの少なくとも１つから認証データを受け取るように適合された登録モジュールをさらに含み、前記登録モジュールは、受け取った認証データを前記認証データストアに格納するように適合され、好ましくは、前記登録モジュールは、アプリケーション、サーバ、及びファイル・システムのうちの少なくとも１つがアクセス不能になることに応答して、前記認証データストアから認証データを除去するように適合された、請求項７に記載のセキュリティ・コンポーネント。
【請求項１１】
前記認証データは、パスワード、ピンコード、許可情報、及びチェックサム情報のうちの少なくとも１つを含む、請求項１０に記載のセキュリティ・コンポーネント。
【請求項１２】
前記第１の通信コンポーネントは、前記アプリケーション要求をオフプレミス・サーバから受け取るように適合され、前記第２の通信コンポーネントは、前記アプリケーション要求と関連付けられたアプリケーション経路データに応じて、前記修正されたアプリケーション要求をターゲット・オンプレミス・サーバに通信するように適合された、請求項７に記載のセキュリティ・コンポーネント。
【請求項１３】
前記第２の通信コンポーネントは、通信された前記修正されたアプリケーション要求への応答を受け取るように適合され、前記第１の通信コンポーネントは、受け取った前記応答を前記オフプレミス・サーバに通信するように適合された、請求項７に記載のセキュリティ・コンポーネント。
【請求項１４】
オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実施方法であって、前記方法は、
１つ又は複数のアプリケーションと関連付けられたアプリケーション経路データを、アプリケーション経路データストアに格納することと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取ることであって、前記アプリケーション要求は、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、受け取ることと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断することと、
前記要求されるアプリケーションと関連付けられた格納されたアプリケーション経路データを特定することと、
特定された前記アプリケーション経路データに基づいて、前記アプリケーション要求をオンプレミス・サーバ又はオフプレミス・サーバに通信することと、
を含む、方法。
【請求項１５】
前記アプリケーション要求を受け取ることは、アプリケーション要求をオフプレミス・サーバから受け取ることを含み、前記アプリケーション要求を通信することは、特定された前記アプリケーション経路データに基づいて、前記アプリケーション要求をオンプレミス・サーバに通信することを含む、請求項１４に記載の方法。
【請求項１６】
通信された前記アプリケーション要求への応答を受け取ることと、
受け取った前記応答を前記アプリケーション要求の発信者に通信することと、
をさらに含む、請求項１４に記載の方法。
【請求項１７】
オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するコンピュータ実施方法であって、前記方法は、
１つ又は複数のアプリケーションと関連付けられた認証データを、認証データストアに格納することと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取ることであって、前記アプリケーション要求は、アプリケーション経路データに応じて、ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに向けられ、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、受け取ることと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断することと、
前記要求されるアプリケーションと関連付けられた格納された認証データを特定することと、
特定された前記認証データを用いて前記認証プレースホルダを修正して、前記アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成することと、
前記修正されたアプリケーション要求を前記ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに通信することと、
を含む、方法。
【請求項１８】
オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、
そこに具体化されたプログラム命令を有するコンピュータ可読ストレージ媒体を含み、前記プログラム命令は、処理ユニットにより実行可能であり、前記処理ユニットに、
１つ又は複数のアプリケーションと関連付けられた認証データを、認証データストアに格納することと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取ることであって、前記アプリケーション要求は、アプリケーション経路データに応じて、ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに向けられ、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、受け取ることと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断することと、
前記要求されるアプリケーションと関連付けられた格納された認証データを特定することと、
特定された前記認証データを用いて前記認証プレースホルダを修正して、前記アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成することと、
を含む方法を実行させる、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信に関する。本開示はさらに、そうした方法を実施するように適合された接続コンポーネント（例えば、スイッチ・コンポーネントなど）に関する。
【０００２】
本開示はまた、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の認証を管理することにも関する。本開示はさらに、そうした方法を実施するように適合されたセキュリティ・コンポーネント（例えば、スイッチ・コンポーネントなど）に関する。
【０００３】
本開示はさらに、処理システムのプロセッサが、そうした方法を実施するのを可能にするコンピュータ可読プログラム・コードを含むコンピュータ・プログラム製品に関する。
【背景技術】
【０００４】
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）環境においては、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の通信が必要とされる。ＳａａＳは、加入契約に基づいてソフトウェアがライセンスを供与され、（例えば、インターネットを介してアクセス可能な共用コンピューティング・リソース又はクラウド・コンピューティング・リソースなど）オフプレミス・プラットフォームによって一元的にホストされる、ソフトウェア・ライセンス供与及び配信モデル（software licensing and delivery model）である。ＳａａＳは、典型的には、（例えば、ウェブブラウザを介したシン・クライアントを用いて）オンプレミス・プラットフォームのユーザによりアクセスされる。
【０００５】
オンプレミス・プラットフォームは、データが、内部で、例えば内部プライベート・ネットワーク内で、格納及び処理されるため、良好なセキュリティ・レベルを提供するように十分に確立され、考慮されている。オフプレミス・プラットフォーム（クラウド・コンピューティング・リソースなど）は、比較的最近の発展過程にある概念である。一般に、オフプレミス・リソース又はプラットフォームへの言及は、インターネットを介してアクセス可能な、ネットワーク、アプリケーション、サーバ、ストレージ、機能等のような構成可能なオフプレミス（例えば、遠隔配置された）コンピューティング・リソースの共用プールへの、インターネットを介したユビキタスで便利なオンデマンド・アクセスを可能にする概念を指すものと解釈される。逆に、オンプレミス・リソース又はプラットフォームへの言及は、ローカル又は仮想境界の内部／背後（多くの場合、ファイアウォールの背後）にある、ネットワーク、サーバ、ストレージ・デバイス、アプリケーション等のようなローカル又はプライベート・コンピューティング・リソースの概念を指すものと解釈される。
【０００６】
オフプレミス・プラットフォーム（例えば、クラウド内の）上で実行されているアプリケーションが、オンプレミス・プラットフォームのシステム又はアプリケーション（待ち行列システム、データベース又はパッケージ化されたアプリケーションなど）にアクセスする必要があることがある。そうしたアクセスは、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の初期接続を確立するときに、認証情報（例えば、ユーザ名及びパスワードなど）の提供を必要とする認証プロトコル又はプロセスを利用することがある。オフプレミス・プラットフォーム上で実行されているアプリケーションでそうした認証プロトコルを使用するためには、一般的に、オフプレミス・プラットフォームが認証情報（例えば、プライベート又は機密（sensitive）セキュリティ証明書）にアクセスできなければならない。特に、オフプレミス・プラットフォームが共用される場合には、そうした認証情報の格納及び管理がセキュリティの問題を引き起こすことがある。従って、アプリケーションの一部又は全てをオフプレミス・プラットフォームに移動することは、セキュリティの問題及び／又はリスクをもたらす恐れがあり、それにより、オフプレミス・システムの利用の受容が低減又は制限され得る。
【０００７】
例えば、オンプレミス・プラットフォームの記録に接続するために、セキュリティ証明書へのアクセスを有する、Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）環境で実行されているアプリケーション・ソフトウェアを有するという概念に関して、セキュリティの問題が引き起こされている。そうした問題に対処しようという試みは、アクセスを制限し、完全なセキュリティ証明書をオフプレミスに格納せず、代わりに、制限された権限を有する及び／又は短時間の後に満了するセキュリティ・トークンを発行することを含む。しかしながら、既存の又はレガシー・コンピュータ・システムは、典型的には、そうした手法をサポートしておらず、例えば、従来の認証情報（例えば、ユーザ名及びパスワードなど）を求めることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
オフプレミス・サーバとオンプレミス・サーバとの間の通信及び認証を管理するためのコンポーネント、コンピュータ実施方法、及びコンピュータ・プログラムを提供する。
【０００９】
本開示は、ＶＰＮ又はマウントされるネットワーク・アプリケーション（ＮＦＳ）を必要とせずに、アプリケーションを暴露し、動的アクセスを可能にすることができる、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を管理するためのコンポーネントを提供しようとする。
【００１０】
本開示はまた、そうした認証情報をオフプレミス・プラットフォーム（例えば、クラウド処理環境内の）に格納することを必要とせずに、従来の認証情報（ユーザ名及びパスワードなど）を使用することをサポートする、オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するためのコンポーネントも提供しようとする。本開示はさらに、プロセッサ上で実行されるときに提案される概念を実施するためのコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品も提供しようとする。本開示はさらに、このコンピュータ・プログラム・コードを実行するように適合されたネットワーク・コンポーネント（接続コンポーネント又はセキュリティ・コンポーネントなど）を提供しようとする。
【課題を解決するための手段】
【００１１】
本開示の実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するように適合された接続コンポーネントが提供される。接続コンポーネントは、１つ又は複数のアプリケーションと関連付けられたアプリケーション経路データを格納するように適合されたアプリケーション経路データストアを含む。接続コンポーネントはまた、オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取るように適合された第１の通信コンポーネントも含み、アプリケーション要求は、アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む。接続コンポーネントはまた、受け取ったアプリケーション要求に基づいて要求されるアプリケーションを判断し、要求されるアプリケーションと関連付けられた格納されたアプリケーション経路データを特定するように適合された経路指定コンポーネントも含む。接続コンポーネントは、特定されたアプリケーション経路データに基づいて、アプリケーション要求をオンプレミス・サーバ又はオフプレミス・サーバに通信するように適合された第２の通信コンポーネントをさらに含む。
【００１２】
本開示の別の実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するように適合されたセキュリティ・コンポーネントが提供される。セキュリティ・コンポーネントは、１つ又は複数のアプリケーションと関連付けられた認証データを格納するように適合された認証データストアを含む。セキュリティ・コンポーネントはまた、オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取るように適合された第１の通信コンポーネントも含み、アプリケーション要求は、アプリケーション経路データに応じて、ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに向けられ、アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む。セキュリティ・コンポーネントは、受け取ったアプリケーション要求に基づいて要求されるアプリケーションを判断し、要求されるアプリケーションと関連付けられた格納された認証データを特定し、特定された認証データを用いて認証プレースホルダを修正して、アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成するように適合された認証コンポーネントをさらに含む。セキュリティ・コンポーネントはまた、アプリケーション要求をターゲット・オンプレミス・サーバ又はオフプレミス・サーバに通信するように適合された第２の通信コンポーネントも含む。
【００１３】
オフプレミス・サイト／リソースとオンプレミス・サイト／リソースとの間でアプリケーション要求を通信する概念が提案される。これは、例えば、クラウド・システムで実行されているエージェントが、オンプレミス・アプリケーションのサービスのように動作するのを可能にすることができる。次に、アプリケーションを用いたクラウド・ベースのサービスは、アプリケーションを、任意の他のローカル・アプリケーションに対するかのように呼び出すこと又は要求することができる。
【００１４】
また、提案される概念は、認証情報／証明書をオフプレミス・プラットフォーム（例えば、クラウド・ベースのサーバにおける）に格納することなく、既存の認証プロトコル（例えば、ユーザ名及びパスワード、又は他のレガシーな認証の詳細）を依然として実施することも可能にすることができる。提案される概念はまた、セキュリティ／認証プロトコルの動作方法を修正することを必要とせず、従って、それを使用するクライアント・サービス及びアプリケーション要求を受け入れるサーバの両方が、いかなる修正もなしに動作を続けることを可能にする。
【００１５】
そうした提案は、クラウド内で実行されているサービス又はアプリケーションが、接続要求においてパスワード又はセキュリティ証明書を提供することなく、オンプレミス・システムへの接続を行うことを可能にするシステムを提供することができる。サービス／アプリケーションは、代わりに、接続の要求時に、プレースホルダ（偽、ダミー、又は空のパスワード・フィールドなど）を使用することができる。このように、要求は、正しい認証情報又はセキュリティ証明書を欠いた認証プレースホルダ（例えば、「ＸＸＸＸＸＸＸＸＸＸ」のダミー・パスワード）を含むことができる。次に、サービス／アプリケーションは、オンプレミス・プラットフォームにおけるエンド・システムに対して直接ではなく、クラウド内のローカル・コンポーネントに接続することができる。次に、ローカル（例えば、クラウド）コンポーネント・エージェントが、ＴＣＰＩＰを用いて、クラウド内で実行されるサーバ・コンポーネント（例えば、接続コンポーネント又は通信管理エージェント）に接続し、次に、ＴＣＰＩＰトラフィックをオンプレミス・サーバ（例えば、セキュリティ・エージェント又は認証エージェント）に転送することができる。オンプレミス・サーバ・コンポーネントは、オンプレミス・コンポーネント又はエージェントが、ＴＣＰＩＰトラフィックを受け取るのを可能にすることができる。次に、セキュリティ／認証コンポーネント／エージェントは、ＴＣＰＩＰデータを調べ、使用される接続プロトコルのタイプに基づいて、使用されるユーザ名を抽出することができる。次に、コンポーネント／エージェントは、各ユーザ名に対して（そして、接続し得る各アプリケーション／システムに対して）必要とされる認証情報又はセキュリティ証明書を有する認証データストアから、認証情報又はセキュリティ証明書（例えば、パスワード又はピンコード）を取り出すことができる。次に、コンポーネント／エージェントは、取り出された認証情報又はセキュリティ証明書を取得し、認証プレースホルダを真の取り出された認証情報又はセキュリティ証明書に置換することができる。次に、コンポーネント／エージェントは、取り出された（すなわち、正しい）認証情報又はセキュリティ証明書を用いて、オンプレミス・システム／アプリケーションへの接続を確立することができる。
【００１６】
クラウド内で実行されているアプリケーションが、パスワード置換コンポーネントを介してオンプレミス・システムに接続することを可能にするシステムが提供され得る。従って、機密情報（パスワードなど）がクラウド・プラットフォームに提供されるのを防止することができる。代わりに、オンプレミスで実行されているエージェント又はセキュリティ・コンポーネントは、真の認証情報（例えば、パスワード、ピンコード等）を安全に格納し、次いで要求を構文解析及び分析し、プレースホルダを真の認証情報に置換することができる。このように、実施形態は、オフプレミス・プラットフォームからオンプレミス・プラットフォームへの移行時に、正しい／真の認証情報を要求に注入すると考えることができる。
【００１７】
従って、提案される実施形態は、オフプレミス・システムへの認証情報又はセキュリティ証明書の暴露を回避することができ、従って、オフプレミス・システムにおいて、認証情報又はセキュリティ証明書が危険にさらされるのを防止すること又は妨げることができる。また、オフプレミス・エージェントからオフプレミス接続コンポーネント及びオンプレミス・システムへの接続を、ＨＴＴＰＳを用いてセキュア保護し、いずれかの他のアプリケーションがエンド・システムにアクセスするのを阻止することができる。
【００１８】
提案される概念は、アプリケーションを、オフプレミス（例えば、クラウド）環境、又はオンプレミス環境のいずれにおいても実行されるように構成することができるアプリケーションのセットに分割することを可能にすることができる。次に、アプリケーションは、オフプレミス環境において認証情報又はセキュリティ証明書を暴露することなく、互いに呼び出し、任意の方法でデータを交換することができる。例えば、あるものは、オンプレミス・サーバ内で実行されるオンプレミス・システムの記録へのアクセスを要求し、あるものは、オフプレミス・インフラストラクチャ内で実行される計算集約型処理から利益を得るように、アプリケーションを分離することができる。従って、オフプレミス・サーバからアプリケーション要求を受け取り、次に、特定されたアプリケーション経路データに基づいて、要求をオンプレミス・サーバに通信することにより、オフプレミス・システムとオンプレミス・システムとの間の通信を管理することができる、スイッチ・コンポーネントなどの接続コンポーネントが提案される。そうしたアプリケーション経路データは、接続コンポーネントにより、オンプレミス・アプリケーションと関連付けられたアプリケーション経路データを格納するように適合されたデータストアを用いて特定することができる。
【００１９】
要求は、ダミー又は偽の認証情報のような認証プレースホルダを含むことができ、従って、正しい認証情報が要求されること、及び／又はオフプレミス・サーバに暴露されることが回避される。従って、オンプレミス・サーバにおいて要求を受け取り、次に、要求を処理して修正する、又は認証プレースホルダを正しい認証情報（オンプレミス・プラットフォームに格納された）に置換することができるセキュリティ・コンポーネントも提案することができ、それにより、正しい認証情報を含む修正された要求が生成される。
【００２０】
提案される概念は、オフプレミス・システム（例えば、ＳａａＳ環境）とオンプレミス・システムとの間のアプリケーション経路のマッピングを回避することができる。また、提案される実施形態は、オフプレミス・プラットフォームにおいてプライベート又は機密認証情報又はセキュリティ証明書を使用するのを回避することができる。代わりに、実施形態は、各環境で利用可能なアプリケーションデータ経路間でのデータ交換のみを行うように構成することができ、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の認証情報の交換を回避することもできる。このことは、インターネット上でのネットワーク・トラフィックの量を低減させるという性能利点を提供することができる。このことは、セキュリティ証明書をオフプレミス部分に暴露せざるを得ない状態を回避することもできる。
【００２１】
幾つかの環境において、接続コンポーネントの第１の通信コンポーネントは、アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合され得る。同様に、第２の通信コンポーネントは、アプリケーション要求を通信するためのセキュア・トンネルを確立するように適合され得る。例えば、相互認証されるＴＬＳトンネル接続は、２つの環境間でデータを転送するものとすることができる。その結果、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間のセキュア通信が提供され得る。
【００２２】
実施形態において、接続コンポーネントは、オフプレミス・サーバのアプリケーション、オンプレミス・サーバのアプリケーション、オフプレミス・サーバ・モジュール、及びオンプレミス・サーバ・モジュールのうちの少なくとも１つから、アプリケーション経路データを受け取るように適合された登録モジュールをさらに含むことができる。次に、登録モジュールは、受け取ったアプリケーション経路データをアプリケーション経路データストアに格納するように適合され得る。従って、実施形態は、接続コンポーネントを用いてアプリケーションへのアクセス又はその利用についての情報を登録するという概念を用いることができ、接続コンポーネントは、そのアプリケーションの要求を処理する方法（例えば、どこに通信するか）を特定することができる。そうした登録概念を用いることにより、利用可能なアプリケーション又はサーバの変更を反映するように、アプリケーション経路データのデータストアを動的に更新又は保守することができる。
【００２３】
例えば、登録モジュールは、アプリケーション、サーバ、及びファイル・システムのうちの少なくとも１つがアクセス不能になる（例えば、接続切断、終了、又は電源遮断される）ことに応答して、データストアからアプリケーション経路データを除去するように適合され得る。従って、提案される概念は、アクセス可能であり得るアプリケーション、及びアクセス方法（例えば、アプリケーション名、サーバの位置／アドレス、サポートされるアプリケーション、等）を表すアプリケーション経路情報の動的に更新されるストアを提供すると考えることができる。従って、実施形態は、実装依存の特性に適合し、利用可能なリソース（例えば、アプリケーション、サービス、及び／又はファイル・システム）の変更に応じることができ、それにより高度な柔軟性及び適合性を提供する、接続コンポーネントを提供することができる。
【００２４】
一例として、アプリケーション経路データは、アプリケーション名、サーバ識別、サーバ・アドレス、アプリケーション・バージョン識別子、サポートされるアプリケーション、許可されるアプリケーション、許可情報、及びチェックサム情報のうちの少なくとも１つを含むことができる。アプリケーション経路データは、例えば、アプリケーションの識別に関する情報を含むことができる。次に、そうした識別情報を用いて、アプリケーション要求を、要求されるアプリケーションを実行しているシステムに対して照合することができる。代替的に又は付加的に、アプリケーション経路データは、より複雑な照合を可能にするために、バージョン又はチェックサムに関する情報を含み得る。例えば、要求者は、少なくともレベル３又はそれより高い「アプリケーション１」という名前のアプリケーションを呼び出す／要求する条件付き呼び出し／要求を提供することがある。同様に、要求者は、２２９８３０９８９２３のチェックサムを有する「アプリケーション２」という名前のアプリケーションを実行するように求めることができ、これと関連付けられた正しいコードを有するアプリケーションを呼び出していたことを保証することができる。
【００２５】
代替的に又は付加的に、アプリケーション経路データは、アプリケーション経路の相対的位置に関する情報を含むことができる。
【００２６】
アプリケーション経路データは、アプリケーションが実行されている又は利用可能なシステムを特定するための情報を含むことができる。このアプリケーション経路データは、単に、どのシステムが特定のアプリケーションを提供しているかを管理者が確かめられるようにするための動作情報として使用され得る。しかしながら、アプリケーション経路データは、特定のシステムの登録のみが許可される、さらなるセキュリティ・レベルのために使用することもできる。従って、アプリケーション経路データは、（ｉ）アプリケーションの位置、又は（ｉｉ）アプリケーションのデータ経路の位置に関する情報を含むと考えることができる。
【００２７】
実施形態において、オフプレミス・サーバは、クラウド・サーバを含むことができ、アプリケーション要求は、クラウド・サーバのサービスにより提供され得る。従って、実施形態は、例えばインターネット上でクラウド・ベースのサービスを提供するために、ＳａａＳ環境において用いることができる。一例として、アプリケーション要求は、アプリケーション名、イベント、データ・ペイロード、及びエントリポイント・データのうちの少なくとも１つをさらに含むことができる。従って、アプリケーション要求は、アプリケーション、アプリケーションにより完了されるイベント（例えば、読み取り、書き込み、削除、付加、パージ、編集等）、アプリケーションにより処理されるデータ、及び／又は要求が向けられたアプリケーションにおけるエントリポイントに関する情報を含むことができる。従って、アプリケーション要求は、認証部、識別部、及びペイロード部を含むことができる。アプリケーション要求内にエントリポイント・データ（例えば、経路識別情報など）を含ませることにより、要求が向けられるアプリケーションにおけるエントリポイントの指定を可能にすることができる。例えば、「アプリケーション１」と呼ばれるアプリケーションは、「エントリ１」及び「エントリ２」と呼ばれる２つのエントリポイントを有し得る。次に、アプリケーション要求は、例えば「アプリケーション１／エントリ１」のような、アプリケーション名及びアプリケーション内のエントリポイントを含むことができる。エントリポイント情報が用いられない場合、デフォルトのエントリポイント（例えば、開始又はコードの始まり）が使用され得る。
【００２８】
実施形態において、第１の通信コンポーネントは、オフプレミス・サーバからアプリケーション要求を受け取るように適合され、第２の通信コンポーネントは、特定されたアプリケーション経路データに基づいて、アプリケーション要求をオンプレミス・サーバに通信するように適合され得る。このように、要求をオフプレミス・リソースから受け取り、接続コンポーネントにより、適切なオンプレミス・リソースに経路指定することができる。
【００２９】
代替的に又は付加的に、第１の通信コンポーネントは、オンプレミス・サーバからアプリケーション要求を受け取るように適合され、第２の通信コンポーネントは、特定されたアプリケーション経路データに基づいて、アプリケーション要求をオフプレミス・サーバに通信するように適合され得る。この構成は、オンプレミス・リソースが、接続コンポーネントを介してオフプレミス・リソースに対する要求を伝送することを可能にするので、要求は、適切なオフプレミス・リソースに経路指定される。
【００３０】
また、幾つかの実施形態において、第２の通信コンポーネントは、通信されたアプリケーション要求への応答を受け取るように適合され、第１の通信コンポーネントは、受け取った応答をアプリケーションに通信するように適合され得る。このように、アプリケーション要求への応答を、アプリケーション要求の発信者に通信することができる。従って、提案される接続コンポーネントは、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理を提供することができ、過剰な通信トラフィックを回避しながら、要求及び応答が適切に配信される。
【００３１】
実施形態は、スイッチ・モジュールにおいて使用され得る。例えば、提案される実施形態による接続コンポーネントを含むスイッチ・モジュールが提供され得る。また、実施形態は、サーバ・デバイスにおいても実施され得る。そうしたサーバ・デバイスは、インターネットを介してアクセス可能なクラウド・ベースのサーバ・リソースとすることができる。
【００３２】
幾つかの実施形態において、セキュリティ・コンポーネントの第１の通信コンポーネントは、アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合され得る。同様に、第２の通信コンポーネントは、修正されたアプリケーション要求を通信するためのセキュア・トンネルを確立するように適合され得る。例えば、相互認証されるＴＬＳトンネル接続は、２つの環境間でデータを転送するものとすることができる。その結果、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間のセキュア通信が提供され得る。
【００３３】
実施形態において、セキュリティ・コンポーネントは、オフプレミス・サーバのアプリケーション、オンプレミス・サーバのアプリケーション、オフプレミス・サーバ・モジュール、及びオンプレミス・サーバ・モジュールのうちの少なくとも１つから、認証データを受け取るように適合された登録モジュールをさらに含むことができる。次に、登録モジュールは、受け取った認証データを認証データストアに格納するように適合され得る。従って、実施形態は、セキュリティ・コンポーネントによりアプリケーションを認証又は許可することについての情報を登録するという概念を用いることができ、セキュリティ・コンポーネントは、そのアプリケーションの要求を処理する方法（例えば、認証プレースホルダを修正する方法）を特定することができる。そうした登録概念を用いることにより、認証／許可の変更を反映するように、認証データのデータストアを動的に更新又は保守することができる。
【００３４】
例えば、登録モジュールは、アプリケーション、サーバ、及び／又はファイル・システムのうちの少なくとも１つがアクセス不能になる（例えば、接続切断、終了、又は電源遮断される）ことに応答して、認証データストアから認証データを除去するように適合され得る。従って、提案される概念は、アプリケーションの使用を許可するために用い得るセキュリティ証明書（例えば、ユーザ名、パスワード、ピンコード、許可等）を表す認証情報の動的に更新されるストアを提供すると考えることができる。従って、実施形態は、実装依存の特性に適合し、認証の詳細の変更に応じることができ、それにより高度な柔軟性及び適合性を提供する、セキュリティ・コンポーネントを提供することができる。
【００３５】
一例として、認証データは、パスワード、ピンコード、許可情報、及びチェックサム情報のうちの少なくとも１つを含むことができる。認証データは、例えば、アプリケーションの使用のために要求されるセキュリティ証明書に関する情報を含むことができる。次に、そうした識別情報を用いて、アプリケーション要求の認証プレースホルダをポピュレート又は修正することができる。
【００３６】
認証データは、アプリケーションに対してユーザ（例えば、アプリケーション要求の発信者）を特定するための情報を含むことができる。これは、単に、アプリケーションが実行を許可できるようにするためのセキュリティ情報として用いられ得る。
【００３７】
実施形態において、オフプレミス・サーバは、クラウド・サーバを含むことができ、アプリケーション要求は、クラウド・サーバのサービスにより提供され得る。従って、実施形態は、例えば、インターネッと上でクラウド・ベースのサービスを提供するために、ＳａａＳ環境において用いることができる。
【００３８】
実施形態において、第１の通信コンポーネントは、オフプレミス・サーバからアプリケーション要求を受け取るように適合され、第２の通信コンポーネントは、アプリケーション要求と関連付けられたアプリケーション経路データに応じて、修正されたアプリケーション要求をターゲット・オンプレミス・サーバに通信するように適合され得る。このように、要求を、オフプレミス・リソースから受け取り、オンプレミス・データストアからの認証情報を含むように修正し、次に、セキュリティ・コンポーネントにより適切なオンプレミス・リソースに経路指定することができる。
【００３９】
代替的に又は付加的に、第１の通信コンポーネントは、オンプレミス・サーバからアプリケーション要求を受け取るように適合され、第２の通信コンポーネントは、修正されたアプリケーション要求をオフプレミス・サーバに通信するように適合され得る。この構成は、オンプレミス・リソースが、セキュリティ・コンポーネントを介してオフプレミス・リソースに対する要求を伝送することを可能にするので、要求は、適切なオフプレミス・リソースに経路指定され、オンプレミス・データストアからのセキュリティ証明書（すなわち、認証情報）を含む。
【００４０】
また、幾つかの実施形態において、第２の通信コンポーネントは、通信された修正されたアプリケーション要求への応答を受け取るように適合され、第１の通信コンポーネントは、受け取った応答をアプリケーションに通信するように適合され得る。このように、アプリケーション要求への応答を、セキュリティ・コンポーネントを介して、アプリケーション要求の発信者に通信することができる。従って、提案されるセキュリティ・コンポーネントは、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理を提供することができ、オフプレミス・サーバにおけるプライベート又は機密認証情報の暴露を回避しながら、要求及び応答が適切に配信される。
【００４１】
スイッチ・モジュールにおいて、実施形態を用いることができる。例えば、提案される実施形態によるセキュリティ・コンポーネントを含むスイッチ・モジュールが提供され得る。また、サーバ・デバイスにおいても、実施形態を実施することができる。そうしたサーバ・デバイスは、インターネットを介してアクセス可能なクラウド・ベースのサーバ・リソースとすることができる。
【００４２】
別の態様によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するコンピュータ実施方法が提供される。方法は、１つ又は複数のアプリケーションと関連付けられたアプリケーション経路データを、アプリケーション経路データストアに格納することを含む。方法はまた、オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取ることも含み、アプリケーション要求は、アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む。方法は、受け取ったアプリケーション要求に基づいて、要求されるアプリケーションを判断することをさらに含む。方法は、要求されるアプリケーションと関連付けられた格納されたアプリケーション経路データを特定することと、特定されたアプリケーション経路データに基づいて、アプリケーション要求を、オンプレミス・サーバ又はオフプレミス・サーバに通信することとをさらに含む。
【００４３】
さらに別の態様によると、オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するコンピュータ実施方法が提供される。方法は、１つ又は複数のアプリケーションと関連付けられた認証データを、認証データストアに格納することを含む。方法はまた、オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取ることも含み、アプリケーション要求は、アプリケーション経路データに応じて、ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに向けられ、アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む。方法は、受け取ったアプリケーション要求に基づいて、要求されるアプリケーションを判断することをさらに含む。方法は、要求されるアプリケーションと関連付けられた格納された認証データを特定することと、特定された認証データを用いて認証プレースホルダを修正し、アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成することとをさらに含む。方法は、修正されたアプリケーション要求をターゲット・オンプレミス・サーバ又はオフプレミス・サーバに通信することをさらに含む。
【００４４】
本開示の別の実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するためのコンピュータ・プログラム製品が提供され、コンピュータ・プログラム製品は、そこに具体化されたプログラム命令を有するコンピュータ可読ストレージ媒体を含み、プログラム命令は、処理ユニットにより実行可能であり、データ処理システムの少なくとも１つのプロセッサ上で実行されるとき、処理ユニットに、１つ又は複数の提案される実施形態による方法を実行させる。
【００４５】
本開示の別の実施形態によると、オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するためのコンピュータ・プログラム製品が提供され、コンピュータ・プログラム製品は、そこに具体化されたプログラム命令を有するコンピュータ可読ストレージ媒体を含み、プログラム命令は、処理ユニットにより実行可能であり、データ処理システムの少なくとも１つのプロセッサ上で実行されるとき、処理ユニットに、１つ又は複数の提案される実施形態による方法を実行させる。
【００４６】
さらに別の態様によると、少なくとも１つのプロセッサと、１つ又は複数の実施形態によるコンピュータ・プログラム製品とを含む処理システムが提供され、少なくとも１つのプロセッサは、そのコンピュータ・プログラム製品のコンピュータ・プログラム・コードを実行するように適合される。
【００４７】
処理システムは、オンプレミス・サーバとオフプレミス・サーバとの間のスイッチング・コントポーネント又は認証コンポーネントとして働くように適合される。処理システムは、クラウド・ベースのシステム又はサーバのような、オフプレミス・プラットフォームの一部を実装するように適合され得る。従って、アプリケーション要求を評価し、アプリケーションと関連付けられた格納されたデータに基づいて、要求をどこに通信するかを決定するシステムを提案することができる。ダミーの又は無効な認証情報を含む要求を通信し、次にセキュアなオンプレミス環境においてダミーの／無効な認証情報を置換するシステムも提案することができる。こうした手法を採用することは、ＶＰＮ又はＮＦＳ（又は同様のマウントされるアプリケーション）を必要とせずに、オンプレミス・プラットフォームとオフプレミス・プラットフォームとの間の動的でセキュアなアプリケーション・アクセスを可能にすることができる。
【００４８】
本出願に含まれる図面は、本明細書に組み入れられ、その一部を形成する。これらは、本開示の実施形態を例証するものであり、記述と共に、本開示の原理を説明する役割を果たす。図面は、特定の実施形態の単なる例証である、開示を限定するものではない。
【図面の簡単な説明】
【００４９】
【図１】実施形態の例示的実装形態の簡単化されたブロック図を示す。
【図２】スイッチング・コンポーネント及びセキュリティ・コンポーネントのコンポーネントが例証される、図１の修正バージョンである。
【図３】第１のサーバのクラウド・ベースのアプリケーションが第１のデータベース・アプリケーションを要求する、図１〜図２の実施形態の例を示す。
【図４】実施形態による、オフプレミス・リソースとオンプレミス・リソースとの間の通信及び認証を管理するための方法のフロー図を示す。
【図５】実施形態による、クラウド・システム・ノードを示す。
【図６】実施形態による、クラウド・コンピューティング環境を示す。
【図７】実施形態による、クラウド抽象化モード層を示す。
【発明を実施するための形態】
【００５０】
本発明は、種々の修正及び代替形態に従うが、その特定のものが例として図面に示され、詳細に説明される。しかしながら、その意図は本発明を説明される特定の実施形態に限定することではないことを理解されたい。反対に、その意図は本発明の趣旨及び範囲内に入る全ての修正、均等物、及び代替物をカバーすることである。
【００５１】
図面は単に概略的なものであり、縮尺通りには描かれていないことを理解されたい。同じ又は類似の部品を示すために、図面全体を通して同じ参照番号が使用されることも理解されたい。
【００５２】
「アプリケーション」は、処理リソース、ルーチン、命令のセット、データ・システム、又は構造化若しくは順序付けされた方法で提供され得る処理構成であると理解することができる。従って、データ・ストレージ構成内の位置を表すために（例えば、構成内の位置でアプリケーション命令にアクセスするために）、経路を用いることができる。ファイル又はデータへのアクセス、修正、変化、除去、変更等を行うために、そうしたアプリケーション、アクション、又はイベントの使用が行われ得る。そうしたイベントは、読み取り、書き込み、削除、修正、パージ、付加等を含むことができる。従って、オフプレミス・リソースとオンプレミス・リソースとの間の統合のために用いられるとき（オンプレミス・リソースのユーザへの、ソフトウェアのクラウド・ベースの提供において又はＳａａＳ環境の一部として行い得るような）、アプリケーションの命令、ルーチン、又はプロセスの１つ又は複数は外部システムによりアクセスされ、従って、オフプレミス・リソースとオンプレミス・リソースとの間の通信が要求されることがある。
【００５３】
オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を確立及び／又は管理及び認証するための概念が提案され、そこで、データ処理アプリケーションは、オフプレミス環境又はオンプレミス環境において実装され得るアプリケーションに分割又は分離することができ、アプリケーションは、接続コンポーネント（例えば、スイッチング・モジュール）を介して、互いに呼び出し、データを交換することができる。従って、接続コンポーネントは、アプリケーション要求を受け取り、そうした要求を適切な宛先（例えば、アプリケーション経路）に転送するように実装することができ、適切な宛先は、アプリケーションについての情報を含むデータストアに基づいて判断される。また、セキュリティ・コンポーネントは、アプリケーション要求を受け取り、そうした要求を、認証情報を要求に組み込むように処理するように実装することができ、認証情報は、セキュアなオンプレミス・リソースに格納される。このように、アプリケーション要求は、機密又はプライベート認証情報を含まずに、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間でアプリケーション要求を通信することができ、次に、セキュアなオンプレミスの位置で、そうした認証情報をアプリケーション要求に挿入することができる。
【００５４】
従って、実施形態は、セキュアなオンプレミス・プラットフォームにおいて、真の／正しい許可情報（例えば、パスワード、ピンコード、ユーザＩＤ、セキュリティ・トークン等）をアプリケーション要求に注入するという概念を提案することができる。真の／正しい許可情報のこうした注入は、オフプレミス・プラットフォームから受け取ったアプリケーション要求の内容に基づいて行うことができる。
【００５５】
更に別の例として、提案される実施形態は、クラウド内のアプリケーションによって使用されるユーザ名を、真の／正しいユーザ名とは異なる名前に置換することができる。次に、オンプレミス・セキュリティ・コンポーネント（例えば、許可エージェント）は、偽／ダミーのユーザ名を真の／正しいユーザ名及びパスワードにマッピングする認証情報のストアを保守することができる。これは、オフプレミス・プラットフォーム（例えば、クラウド・システム）が、いずれの真の／正しい許可情報（例えば、真のユーザ名など）も知ることができないという利点を提供することができる。従って、実施形態は、ネットワーク・トラフィックを低減させること、及び／又はセキュリティ証明書をオフプレミスの部分に暴露せざるを得ない状況を回避することが可能である。
【００５６】
例えば、提案される概念は、オフプレミス・アプリケーションにより、オンプレミス・アプリケーションを呼び出すことを可能にし、及びその逆も同様であり、セキュリティ証明書（例えば、パスワード）がオフプレミス・アプリケーションに知られることなく、従来のセキュリティ・プロトコル（ユーザ名及びパスワード）が使用され得る。従って、オフプレミス・システム上に実装されることから利益を得ることができるアプリケーションを、オフプレミス・サーバで実行することができる一方で、オンプレミス・システム上に実装されることから利益を得ることができるアプリケーション（例えば、オンプレミス・システムの格納能力又はセキュリティを必要とするもの）を、オンプレミス・サーバで実行することができる。
【００５７】
従って、例示的実施形態は、オフプレミス・リソースとオンプレミス・リソースとの間で安全に通信するための概念を提供することができる。従って、セキュアで動的な分散処理及びデータ・ストレージの最適化を、提案される実施形態によって提供することができる。従来のＳａａＳ実装に対する修正及び付加的な段階を提案することもでき、そのことは、提案される概念の値及びユーティリティを向上させ得る。
【００５８】
例示的実施形態は、多くの異なるタイプの分散処理環境において用いることができる。例示的実施形態の要素及び機能の説明のための文脈を与えるために、例示的実施形態の態様を実施できる例示的環境として、以下に図面が与えられる。図面は例証にすぎず、本開示の態様又は実施形態が実施され得る環境に関するいずれの限定も主張又は意味することを意図しないことを理解されたい。本開示の趣旨及び範囲から逸脱することなく、示される環境への多くの修正をなすことができる。さらに、システムは、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話又は他の通信機器、携帯情報端末（ＰＤＡ）等を含む多数の異なる処理デバイスのいずれの形をとることもできる。幾つかの例示的な例において、オフプレミス・デバイス及びオンプレミス・デバイスは、例えば、オペレーティング・システム・ファイル及び／又はユーザ生成データを格納するための不揮発性メモリを提供するために、フラッシュ・メモリを有するように構成された携帯型コンピューティング・デバイスを含むことができる。従って、システムは、本質的に、アーキテクチャ上の制限なしに、いずれかの既知の又は後で開発される処理システムとすることができる。
【００５９】
提案される概念は、ネットワーク・トラフィックを削減することによって、又は、プライベート若しくは機密セキュリティ証明書をクラウド環境に暴露する必要なしに、クラウドとオンプレミス・リソースとの間で従来のセキュリティ・プロトコルを実施するのを可能にすることによって、クラウド・ベースのサービス・プロビジョニング・システムを向上させることができる。実施形態は、アプリケーション要求を分析し、オフプレミス又はオンプレミスの適切な宛先に転送し、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の接続を確立することを可能にし得る。アプリケーション要求は、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間で通信するとき、セキュリティ証明書を含む必要なしに、セキュリティ・プロトコルを用いること又はこれに従うことができる。こうしたプロトコルは、クラウド・ベースのソフトウェア配信システムの処理能力、セキュリティ、及び／又は効率を拡張又は向上させることができる。
【００６０】
ここで図１及び図２を参照し、実施形態の例示的実装形態を説明する。ここで、クラウド・ベースのソフトウェア配信サービスが、インターネット通信リンク７４を介してオンプレミス・リソース７３にアクセス可能な、クラウド７２内のオフプレミス・リソース７０を含む。
【００６１】
オフプレミス・リソース７０は、第１のオフプレミス・サーバ７５と、第２のオフプレミス・サーバ７６とを含む。第１のオフプレミス・サーバ７５は、クラウド・ベースのサーバ７５であり、アプリケーション７７と第１のサーバ・モジュール／エージェント７８（「エージェント＿Ｃ」と表記される）とを含む。第２のオフプレミス・サーバ７６は、クラウド・ベースのサーバ７６であり、第１のオフプレミス・サーバ７５とオンプレミス・リソース７３との間の通信を管理するように適合されたスイッチング・コンポーネント（すなわち、接続コンポーネント）８０を含む。オンプレミス・リソース７３は、第１のオフプレミス・サーバ７５とオンプレミス・リソース７３との間の認証を管理するように適合された認証コンポーネント（すなわち、セキュリティ・コンポーネント）（「エージェント＿Ｐ」と表記される）を含む。オンプレミス・リソース７３はまた、第１のアプリケーション１１０（「アプリケーションＡ」）乃至第２のアプリケーション１２０（「アプリケーションＢ」）、並びに第１のアプリケーション１１０及び第２のアプリケーション１２０を実装するアプリケーション・サーバ１００も含む。
【００６２】
ここで図２を参照し、スイッチング・コンポーネント８０及び認証コンポーネント９０をより詳細に示す。
【００６３】
スイッチング・コンポーネント８０は、データストア１４０と、経路指定コンポーネント１５０と、第１の通信コンポーネント１６０と、第２の通信コンポーネント１７０とを含む。データストア１４０は、オンプレミス・リソース７３により実装されたアプリケーションと関連付けられたアプリケーション経路データを格納するように適合されたアプリケーション経路データストアを含む。一例として、アプリケーション経路データは、アプリケーション名、サーバ識別、サーバ・アドレス、アプリケーション・バージョン識別子、サポートされているアプリケーション、許可されているアプリケーションに関する情報、許可情報、認証情報、及びチェックサム情報を含むことができる。アプリケーション経路データは、オンプレミス・リソース７３によって利用可能にされると、サーバ又はアプリケーションによってデータストア１４０に提供され得る。このために、スイッチング・コンポーネント８０は、オフプレミス・サーバのアプリケーション、オンプレミス・サーバのアプリケーション、オフプレミス・サーバ・モジュール、及びオンプレミス・サーバ・モジュールのうちの少なくとも１つから、アプリケーション経路データを受け取るように適合された登録モジュール１７５を含む。登録モジュール１７５は、受け取ったアプリケーション経路データをアプリケーション経路データストア１４０に格納するように適合され、従って、情報をスイッチング・コンポーネント８０に登録するという概念を可能にし、アプリケーション要求をどのように処理するか（例えば、どこに通信するか）を特定することができる。また、登録モジュール１７５は、アプリケーション及び／又はサーバがアクセス不能になる（例えば、接続切断、終了、又は電源遮断される）ことに応答して、情報をアプリケーション経路データストア１４０から除去するようにも適合され得る。従って、登録サーバ又はアプリケーションは、アプリケーションが提供する、アプリケーションを特定するための情報を登録することができる。その後、この登録された情報を用いて、アプリケーションについてのイベント呼び出し／要求を、要求されるアプリケーションを実行しているシステムと照合することができる。
【００６４】
言い換えれば、データストア１４０は、利用可能なアプリケーション又はリソースの変更を反映するように、動的に更新又は保守されるように適合することができる。
【００６５】
従って、データストア１４０は、アクセス可能であり得るアプリケーションを表すアプリケーション情報の動的に更新されるストアを提供すると考えることができる。このように、スイッチング・コンポーネント８０は、例えば、データストア１４０への／からのアプリケーション経路データの登録／登録解除のために、実装依存の特性に適合し、利用可能なリソース（例えば、サービス及び／又はアプリケーション）の変更に応じることができる。
【００６６】
第１の通信コンポーネント１６０は、（第１のサーバ・モジュール／エージェント７８を介して）第１のオフプレミス・サーバ７５のアプリケーション７７からアプリケーション要求を受け取るように適合される。このために、第１の通信コンポーネント１６０は、アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合される。
【００６７】
アプリケーション要求は、オンプレミス・リソース７３により提供されるアプリケーションにアクセスする又はそれを呼び出す要求である。一例として、この実施形態のアプリケーション要求は、識別部と、認証プレースホルダと、ペイロード部とを含む。識別部は、アプリケーションの識別に関する情報（例えば、アプリケーション名など）を含む。認証プレースホルダは、要求されるアプリケーションの使用を許可するように実装されるセキュリティ・プロトコルを示すことができる、正しくない、記号の、比喩的な、抽象的な、又は不適当な認証情報（偽、ダミー、又は空のパスワード・フィールドなど）を含む。例えば、要求されるアプリケーションが、アプリケーションの使用を認証又は許可するためにユーザ名及びパスワードを必要とする場合、認証プレースホルダは、例えば、「ＸＸＸＸＸＸＸＸＸＸ」のダミー・パスワードを含むことができ、従って、パスワードは必要とされるが、正しい認証情報又はセキュリティ証明書を欠いていることを表す。ペイロード部は、データ・ペイロード（例えば、ファイル位置情報（例えば、ディレクトリ又は経路）、アプリケーションにより完了される動作又は命令（例えば、読み取り、書き込み、削除、付加、パージ、編集等）、非機密（non-sensitive）認証情報（例えば、ユーザ名、ユーザＩＤ、アカウント番号等）及びアプリケーションで／により用いられるデータ）を含む。
【００６８】
アプリケーション要求を受け取ると、第１の通信コンポーネント１６０は、受け取った要求を経路指定コンポーネント１５０に渡す。経路指定コンポーネント１５０は、要求されるアプリケーション、及び要求されるアプリケーションと関連付けられた格納されたアプリケーション経路データを判断するために、受け取った要求をデータストア１４０内に格納されたデータと共に処理するように適合される。一例として、経路指定コンポーネント１５０は、受け取ったアプリケーション要求の識別部を分析し、（例えば、識別部に含まれるアプリケーション名に基づいて）要求されるアプリケーションを特定するように適合される。さらに、特定された要求されるアプリケーションに基づいて、次に、経路指定コンポーネント１５０は、データストア１４０に照会し、特定された要求されるアプリケーションと関連付けられたアプリケーション経路データを特定するように適合される。
【００６９】
経路指定コンポーネント１５０は、受け取ったアプリケーション要求を、特定された要求されるアプリケーションと関連付けられた特定されたアプリケーション経路データと共に、第２の通信コンポーネント１７０に渡す。第２の通信コンポーネント１７０は、特定された要求されるアプリケーションと関連付けられた特定されたアプリケーション経路データに基づいて、受け取ったアプリケーション要求をオンプレミス・リソース７３に通信するように適合される。このために、第２の通信コンポーネント１７０は、アプリケーション要求を通信するためのセキュア・トンネルを確立するように適合される。例えば、第２の通信コンポーネント１７０は、スイッチング・コンポーネント８０とオンプレミス・セキュリティ・コンポーネント９０との間に相互認証されるＴＬＳトンネル接続を確立することができる。
【００７０】
従って、上記の説明から、スイッチング・コンポーネント８０は、それぞれオフプレミス・サーバ・モジュール及びオンプレミス・サーバ・モジュールとのトンネルを確立するための第１及び第２のセキュア・コンポーネントを有すると考えることができる。スイッチング・コンポーネント８０は、アプリケーションと関連付けられたアプリケーション経路データ（例えば、アプリケーション名、サーバＩＤ、サーバ・アドレス、アプリケーション・バージョン識別子、サポートされるアプリケーション、許可されるアプリケーション、許可情報、非機密又は公開認証情報、及びチェックサム情報）を、（スイッチング・コンポーネント８０のデータストアに）登録し、格納するように適合された登録コンポーネントを含むと考えることもできる。従って、アプリケーション又はサーバは、接続するとき及び／又は構成の変更があるときに、情報をスイッチング・コンポーネント８０に登録することができる。そのような情報は、アプリケーション又はサーバがアクセス不能になる（例えば、接続切断される、電源遮断される、又は他の理由で利用不能になる）ときに登録解除もされ得る（例えば、データストアから除去又は削除される）。従って、アプリケーションを実行するための受け取った呼び出し（例えば、要求）を、スイッチング・コンポーネント８０によって分析し、これを用いて動的に保守されるデータストアに照会し、要求されるイベントをどこに通信するかを示すアプリケーション経路データを特定することができる。
【００７１】
セキュリティ・コンポーネント９０は、認証データストア１８０と、認証コンポーネント１８５と、第１の通信コンポーネント１９０と、第２の通信コンポーネント２００とを含む。
【００７２】
認証データストア１８０は、オンプレミス・リソース７３により実装されるアプリケーションと関連付けられた認証データを格納するように適合された認証情報データストアを含む。一例として、アプリケーション経路データは、パスワード、ピンコード、許可情報、及びチェックサム情報に関する情報を含むことができる。アプリケーション経路データは、それらがオンプレミス・リソース７３によって利用可能にされたとき、サーバ又はアプリケーションによって認証データストア１８０に提供され得る。このために、セキュリティ・コンポーネント９０は、オフプレミス・サーバのアプリケーション、オンプレミス・サーバのアプリケーション、オフプレミス・サーバ・モジュール、及びオンプレミス・サーバ・モジュールのうちの少なくとも１つから、認証データを受け取るように適合された登録モジュール２０５を含む。登録モジュール２０５は、受け取った認証データを認証データストア１８０に格納するように適合し、従って、認証情報をセキュリティ・コンポーネント９０に登録するという概念を可能にし、アプリケーション要求に必要とされる認証情報を特定できるようにすることができる。また、登録モジュール２０５は、アプリケーション、サーバ、及び／又はファイル・システムがアクセス不能になる（例えば、接続切断、終了、又は電源遮断される）こと、及び／又はユーザがアカウントを非アクティブ化／除去することに応答して、情報を認証データストア１８０から除去するように適合され得る。従って、登録サーバ又はアプリケーションは、アプリケーションが提供する、アプリケーションに関してユーザ又はアカウントを認証又は許可するための情報を登録することができる。その後、この登録された認証情報は、セキュリティ・コンポーネント９０が受け取ったアプリケーション呼び出し／要求の認証プレースホルダを置換する又はポピュレートするために用いることができる。
【００７３】
言い換えれば、認証データストア１８０は、ユーザ、アカウント、リソース、及び／又は利用可能なアプリケーションの変更を反映するように、動的に更新又は保守されるように適合することができる。従って、認証データストア１８０は、アクセス可能であり得るアプリケーションの使用を認証又は認可するための認証情報の動的に更新されるストアを提供すると考えることができる。このように、セキュリティ・コンポーネント９０は、例えば、認証データストア１８０への／からのユーザ認証情報の登録／登録解除のために、実装依存の特性に適合し、利用可能なユーザ、アカウント、リソース、及び／又は利用可能なアプリケーションの変更に応じることができる。
【００７４】
第１の通信コンポーネント１９０は、（スイッチング・コンポーネント８０を介して）オフプレミス・サーバ７６からアプリケーション要求を受け取るように適合される。このために、第１の通信コンポーネント１９０は、アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合される。
【００７５】
上述のように、アプリケーション要求は、オンプレミス・リソース７３により提供されるアプリケーションにアクセスする又はそれを呼び出す要求である。この実施形態のアプリケーション要求は、要求されるアプリケーションの使用を許可するために実装されるセキュリティ・プロトコルを示すことができる、正しくない、記号の、比喩的な、抽象的な、又は不適当な認証情報（偽、ダミー、又は空のパスワード・フィールドなど）を含む認証プレースホルダを含む。
【００７６】
アプリケーション要求を受け取ると、セキュリティ・コンポーネント９０の第１の通信コンポーネント１９０は、受け取った要求を認証コンポーネント１８５に渡す。認証コンポーネント１８５は、要求されるアプリケーションを決定し、要求されるアプリケーションと関連付けられた格納された認証データを特定するために、受け取った要求を認証データストア１８０に格納されたデータと共に処理するように適合される。一例として、認証コンポーネント１８５は、受け取ったアプリケーション要求の識別部を分析し、（例えば、識別部に含まれるアプリケーション名に基づいて）要求されるアプリケーションを特定するように適合される。また、認証コンポーネント１８５は、認証プレースホルダ、及び受け取ったアプリケーション要求のデータ・ペイロード部の少なくとも１つを分析し、（例えば、データ・ペイロード部に含まれるユーザ名に基づいて）認証データストア１８０の認証情報を特定するように適合される。さらに、特定された認証情報に基づいて、次に、認証コンポーネント１８５は、アプリケーション要求の認証プレースホルダを修正し、アプリケーション要求を許可するための認証情報を含む修正された（例えば、新しい又は更新された）アプリケーション要求を生成するように適合される。例えば、認証コンポーネント１８５は、偽、ダミー、又は空のパスワード・フィールドを、認証データストア１８０から取り出した正しい、真の、又は正確な認証情報に置換し、改訂された／最終的なアプリケーション要求を生成することができる。
【００７７】
認証コンポーネント１８５は、改訂された／最終的なアプリケーション要求を、要求されるアプリケーションと関連付けられた特定されたアプリケーション経路データと共に第２の通信コンポーネント２００に渡す。第２の通信コンポーネント２００は、要求されるアプリケーションと関連付けられた特定されたアプリケーション経路データに基づいて、改訂された／最終的なアプリケーション要求をオンプレミス・リソース７３に通信するように適合される。このために、第２の通信コンポーネント２００は、改訂された／最終的なアプリケーション要求を通信するためのセキュア・トンネルを確立するように適合される。
【００７８】
従って、上記の説明から、セキュリティ・コンポーネント９０は、それぞれオフプレミス・サーバ・モジュール及びオンプレミス・サーバ・モジュールとのトンネルを確立するための第１及び第２のセキュア・コンポーネントを有すると考えることができることが理解されるであろう。セキュリティ・コンポーネント９０は、ユーザ及びアプリケーションと関連付けられた認証データ（例えば、パスワード、ピンコード、許可情報、ユーザ名、セキュリティ・トークン、チェックサム情報等）を登録し、格納する（セキュリティ・コンポーネント９０のデータストアに）ように適合される。従って、ユーザ、アプリケーション、又はサーバは、情報をセキュリティ・コンポーネント９０に登録することができる。そうした情報は、アプリケーション又はサーバがアクセス不能になる（例えば、接続切断される、電源遮断される、又は他の理由で利用不能になる）とき、及び／又はユーザがアカウントを登録解除／非アクティブ化するときに、登録解除もされ得る（例えば、認証データストアから除去又は削除される）。従って、アプリケーションを実行するための受け取った呼び出し（例えば、要求）を、セキュリティ・コンポーネント９０によって分析し、動的に保守される認証データストア１８０に照会して認証データを特定するために使用し、次に、アプリケーション要求に挿入することができる（例えば、要求の認証プレースホルダを置換することによって）。このように、プライベート又は機密認証データは、オンプレミスで保守され、オフプレミス・プラットフォームに通信又は暴露されることはない。
【００７９】
従って、セキュリティ・コンポーネント９０は、クラウド・アプリケーションが、オンプレミス・サーバのアプリケーションを呼び出す／要求することを可能にでき、この呼び出し／要求は、機密認証情報を含まない。呼び出し／要求は、セキュリティ・コンポーネント９０により処理されて、セキュアなオンプレミス・プラットフォームにおいて適切な認証情報が挿入され又は組み入れられ、それにより、正しい（及び潜在的にプライベート／機密の）認証情報を含む新しい又は修正された呼び出し／要求が作成される。次に、新しい又は修正された呼び出し／要求は、セキュリティ・コンポーネント９０により適切なオンプレミス・サーバに渡すことができる。反対に、セキュリティ・コンポーネント９０は、オンプレミス・アプリケーションが、オフプレミス・サーバのアプリケーションを呼び出すことを可能にすることができる（例えば、呼び出しをオフプレミス・サーバに通信する前に、呼び出しからプライベート又は機密認証情報を取り除くことにより）。
【００８０】
一例として、図３を参照して、第１のサーバ７５のクラウド・ベースのアプリケーション７７が、第１のアプリケーション１１０「アプリケーションＡ」（オンプレミス・データベース・サーバ１００上にある）を呼び出す例をここで説明する。
【００８１】
最初に、「Ａ」と表記された矢印で示されるように、第１のサーバ７５のアプリケーション７７が、第１のサーバ・モジュール／エージェント７８（「エージェント＿Ｃ」と表記される）を介して、アプリケーション要求をスイッチング・コンポーネント８０に通信する。この通信は、第１のサーバ・モジュール／エージェント７８（「エージェント＿Ｃ」と表記される）とスイッチング・コンポーネント８０の第１の通信コンポーネント１６０との間のセキュア・トンネルを用いて確立される。この例におけるアプリケーション要求は、第１のアプリケーション１１０の名前、すなわちサブアプリケーションＡを含む識別部と、正しくない又は抽象化された情報、すなわち「ＸＸＸＸＸＸＸＸＸＸ」のダミー・パスワードを含む認証プレースホルダと、アプリケーション命令（例えば、「読み取る」など）を含むイベント・データ、命令についてのデータの位置を表すエントリポイント・データ、及びアプリケーション１１０により使用されるデータを表すデータを含むペイロードとを含む。
【００８２】
次に、ラベル「Ｂ」で示されるように、スイッチ・コンポーネント８０は、アプリケーション要求の識別部から要求されるアプリケーションを判断し、その後、スイッチング・コンポーネント８０のデータストア１４０に照会して、要求されるアプリケーション（アプリケーションＡ）と関連付けられたアプリケーション経路データを判断する。
【００８３】
次に、「Ｃ」及び「Ｄ」と表記された矢印で示されるように、判断されたアプリケーション経路データに基づいて、第２の通信コンポーネント１７０は、アプリケーション要求を、オンプレミス・リソース７３の第１のアプリケーション１１０（「アプリケーションＡ」）に通信する。この通信は、第２の通信コンポーネント１７０とセキュリティ・コンポーネント９０（「エージェント＿Ｐ」）との間のセキュア・トンネルを用いて確立される。ここで、セキュリティ・コンポーネント９０は、要求されるアプリケーションと関連付けられた格納された認証データを特定し（例えば、認証プレースホルダ及びアプリケーション要求のペイロードに基づいて）、特定された認証データを用いて認証プレースホルダを修正して、アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成する。「Ｄ」と表記された矢印で示されるように、修正されたアプリケーション要求は、セキュリティ・コンポーネント９０の第２の通信コンポーネント２００により、オンプレミス・リソース７３の第１のアプリケーション１１０（「アプリケーションＡ」）に通信される。
【００８４】
従って、上記の例から、スイッチング・コンポーネント８０及びセキュリティ・コンポーネント９０（「エージェント＿Ｐ」）が、認証されたＴＬＳ接続を相互に管理する。この図において、第１のアプリケーション１１０は、オンプミス・データベース・サーバ１００上に実装され、データベース・サーバ１００にアクセスするために必要とされる証明書は、オンプレミス・リソースのみに既知である（そして、オフプレミス・サーバには既知でない）ことが必要である。
【００８５】
さらに、実施形態は、要求される／呼び出されるアプリケーションから、呼び出し側のアプリケーションに通信するのを可能にするようにも適合され得る。例証として、図３に示される例において、第２の通信コンポーネント１７０は、通信されたアプリケーション要求への応答を受け取るように適合され得る。次に、経路指定コンポーネント１５０が、応答の意図された宛先を判断し（例えば、応答の分析、及び以前に通信された要求に関する格納データに基づいて）、次に、応答を第１の通信コンポーネント１６０に渡し、要求を発信した（応答が応答先としている）アプリケーションに通信する。このように、アプリケーション要求／呼び出しへの応答を、要求／呼び出しを発信したアプリケーション（又はリソース）に通信することができる。従って、提案される実施形態は、オフプレミス・プラットフォームとオンプミス・プラットフォームとの間の通信の管理及び認証を提供することができ、過剰な通信トラフィックを回避しながら、要求及び応答が安全に配信される。
【００８６】
ここで図４を参照して、実施形態による、オフプレミス・リソースとオンプレミス・リソースとの間の通信のための方法３００のフロー図を示す。図４の方法３００は、提案される実施形態による接続コンポーネント（例えば、スイッチング・モジュール）及びセキュリティ・コンポーネントにより実施されるように説明される。
【００８７】
方法３００は、アプリケーション経路データ登録ステップ３１０から始まる。言い換えれば、方法は、最初に、アプリケーション経路データ登録プロセスを実施することができ、利用可能なアプリケーションと関連付けられたアプリケーション経路データが、接続コンポーネントのデータストアに格納される。ひとたびアプリケーション経路データ登録プロセス３１０が完了すると、従って、データストアが適切にポピュレートされると、方法はステップ３６０に進む。
【００８８】
ステップ３６０において、オフプレミス・サーバのアプリケーションから、接続コンポーネントにより、アプリケーション要求が受け取られる。ここで、アプリケーション要求は、（以前に）確立されたセキュア・トンネルを介して受け取られる。また、この例のアプリケーション要求は、ヘッダ又は識別部、認証プレースホルダ部、及びペイロード部から成る、アプリケーション実行（又は呼び出し）要求を含むことができる。ヘッダ／識別部は、要求されるアプリケーションの識別（例えば、アプリケーション名など）に関する情報を含み、認証プレースホルダは、正しくない、記号の、比喩的な、抽象的な又は不適正な認証情報（例えば、偽、ダミー、又は空のパスワード・フィールドなど）を含み、ペイロード部は、データ・ペイロード（例えば、アプリケーションで／により用いられるデータなど）を含むことができる。従って、アプリケーション要求は、アプリケーション、アプリケーションにより完了されるイベント（例えば、読み取り、書き込み、削除、付加、パージ、編集など）、イベントを要求しているアカウント又はユーザ、アプリケーションにより処理されるデータ、及び／又は要求が向けられるアプリケーションにおけるエントリポイントに関する情報を含むことができる。アプリケーション要求内にエントリポイント・データ（例えば、経路特定情報など）を含めることにより、要求を行うアプリケーションにおいてエントリポイントを指定することを可能にすることができる。例えば、「アプリケーション１」と呼ばれるアプリケーションが、「エントリ１」及び「エントリ２」と呼ばれる２つのエントリポイントを有し得る。次いで、アプリケーション要求は、例えば「アプリケーション１／経路１」のような、アプリケーション名及びアプリケーション内のエントリポイントを含むことができる。エントリポイント情報が用いられない場合、デフォルトのエントリポイント（例えば、アプリケーション・コードの開始）が使用され得る。また、認証プレースホルダを含めることにより、プライベート又は秘密のセキュリティ情報を実際に含むことなく、要求を、セキュリティ・プロトコルに対して期待される形式又は構造とすることが可能になる。例えば、認証プレースホルダは、単に「１１１１１１１１１１１」又は「＊＊＊＊＊＊＊＊＊」などのダミー・テキスト又は文字をパスワード・フィールド内に含むことができ、従って、要求が、要求されるアプリケーションにより用いられるセキュリティ・プロトコルが要求又は期待するようなパスワード・フィールドを含むことが保証される。
【００８９】
次に、ステップ３７０において、受け取ったアプリケーション要求は、データストアに格納されたデータと共に処理され、要求されるアプリケーションを判断する。例えば、接続コンポーネントは、受け取ったアプリケーション要求の識別部を分析し、要求されるアプリケーションを特定する（例えば、識別部に含まれるアプリケーション名に基づいて）。次に、方法は、ステップ３８０に進み、そこで、特定された要求されるアプリケーションに基づいて、接続コンポーネントは、データストアに照会し、特定された要求されるアプリケーションと関連付けられたアプリケーション経路データを特定する。言い換えれば、特定された要求されるアプリケーションに基づいて、接続コンポーネントは、要求されるアプリケーションについてのデータ・エントリ／記録を見つけるためにデータストアを検索し、次に、要求されるアプリケーションについてのデータ・エントリ／記録に格納されたアプリケーション経路データを抽出する。
【００９０】
ステップ３９０において、次に、接続コンポーネントは、特定されたアプリケーション経路データに基づいて、アプリケーション要求をオンプレミス・リソースに通信する。このために、確立されたセキュア・トンネルが、アプリケーション要求をオンプレミス・リソースのセキュリティ・コンポーネントに通信するために用いられる。
【００９１】
ステップ４００において、セキュリティ・コンポーネントにより、アプリケーション要求が受け取られる。次に、ステップ４１０において、受け取ったアプリケーション要求が処理され、要求されるアプリケーションを特定する。例えば、接続コンポーネントは、受け取ったアプリケーション要求の識別部を分析し、要求されるアプリケーションを特定する（例えば、識別部に含まれるアプリケーション名に基づいて）。
【００９２】
次に、方法はステップ４２０に進み、そこで、セキュリティ・コンポーネントは、格納された認証データに照会し、特定された要求されるアプリケーションと関連付けられた認証データを特定する。言い換えれば、アプリケーション要求に基づいて、セキュリティ・コンポーネントは、要求についての認証データを見つけるために、認証データストアを検索し、次に、アプリケーション要求で用いられる認証データを抽出する。
【００９３】
ステップ４３０において、セキュリティ・コンポーネントは、特定された／抽出された認証データを用いて、アプリケーション要求の認証プレースホルダを修正して、アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成する。例えば、パスワード・フィールドにおける「１１１１１１１１１１１」又は「＊＊＊＊＊＊＊＊＊」などのダミー・テキスト又は文字は、認証データストアから抽出された正しいパスワードと置換することができる。次に、特定されたアプリケーション経路データに基づいて、セキュリティ・コンポーネント９０により、修正されたアプリケーション要求がオンプレミス・リソースに通信され得る。
【００９４】
従って、図４の方法の上記の説明から、アプリケーション要求を受け取り、オンプレミス・リソースにおいて認証データを挿入し、次に、修正された要求を適切なエンドポイント（例えば、アプリケーション、又は要求されるアプリケーションを実施するサーバ・モジュール）に通信する（例えば、転送する）方法が提供され得ることが理解されるであろう。また、アプリケーション要求は、応答の提供（例えば、要求の発信者への）を必要とすることもあり又は必要としないこともあることも理解されたい。
【００９５】
単に更に別の例として、認証プレースホルダのデータを特定する及び／又は置換するための可能な手法は、以下を含むことができる。：
【００９６】
（ａ）所与の転送においてセキュリティ・プロトコルが把握されている場合、プレースホルダ・パスワードの位置を特定し、文字列を安全に置換することができる。例えば、ＭＱＳｅｒｉｅｓは、既知のオフセットにパスワードを伴う一定サイズの構造を有する。この知識を用いて、パスワードの位置を確実に見つけることができる。ひとたびパスワードが置換されると、プロトコルにより求められない限り、所与の接続のために、パスワードを再び置換することはない。プロトコルがｃｒｃなどのチェックサムも要求した場合、チェックサムは、注入されたパスワードを考慮するように再生成することができる。
【００９７】
（ｂ）セキュリティ・プロトコルが把握されていない場合、パスワード・フィールドにＸＸＸＸＸＸＸＸを入れる代わりに、オンプレミス・システムによりランダムに生成された文字列を作成することができる。クラウド・システムに文字列が提供され、次に、ＸＸＸＸＸＸの代わりにその文字列を挿入することができる。これは、ストリームが、偶然に、ストリーム内のどこか別の所にパスワード・プレースホルダを有する可能性を低くする。コリジョンの可能性をさらに低減させるために、あらゆる所与の接続について、文字列の最初の出現しか置換しないようにすることができる。この手法の別の利点は、攻撃者が文字列を取得した場合でも、唯一の攻撃ベクトルは、他の何らかの機構を介するのではなく、クラウドを介したオンプレミス接続であるので、セキュリティ・レベルが付加され得ることである。
【００９８】
上述のように、接続コンポーネント及びセキュリティ・コンポーネントの各々のデータストアは、登録／登録解除プロセスを用いて動的に又は自動的に保守することができる。従って、データ登録方法の実施に加えて、データ登録解除方法も用いることができる。こうした処理は、例えば、接続、ユーザ、又はアプリケーション・リソースの変更に応答して実行することができる。
【００９９】
図面を参照して上に提示されたような実施形態は、オフプレミス・プラットフォームにおけるデータ・アプリケーションとオンプレミス・プラットフォームにおけるデータ・アプリケーションとの間で渡すデータの量を低減させるという利点をもたらし得ることが理解されるであろう。さらに、提案される実施形態は、オフプレミス・プラットフォームにおけるアプリケーションとオンプレミス・プラットフォームにおけるアプリケーションとの間で渡されるプライベート又は機密情報（認証情報又はセキュリティ証明書など）の量も低減させ得る。また、実施形態は、オフプレミス・アプリケーションが、いずれのセキュア情報（例えば、データベースのユーザ証明書、ポート、ＩＰアドレス等）も必要としないことを可能にし得ることにも留意されたい。
【０１００】
上の説明から明らかになるように、オフプレミス・リソースは、クラウド・コンピューティング・システムによって提供され得る。また、オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信を管理するための接続コンポーネント又は方法が、クラウド・コンピューティング・システムによって提供され得る。さらに、セキュリティ・コンポーネント、又はオフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の認証を管理する方法も提供され得る。
【０１０１】
クラウド・コンピューティング・システムに関してなされた以下の説明を参照して、本開示は、クラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装形態は、クラウド・コンピューティング環境に限定されないことを予め理解されたい。むしろ、本発明の実施形態は、現在周知の又は後で開発される任意の他のタイプのコンピューティング環境と共に実施することができる。クラウド・コンピューティング・システム及び環境の以下の説明は、説明及び理解のためのみなされたものである。
【０１０２】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このオフプレミス・クラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、及び少なくとも４つのデプロイメント・モデルを含むことができる。
【０１０３】
特徴は、以下の通りである。オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。リソース・プール化：プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないが、より高レベルの抽象化では位置（例えば、国、州、又はデータセンタ）を特定できる場合があるという点で、位置とは独立しているといえる。迅速な弾力性：機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングして素早くスケール・アウトし、迅速にリリースして素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。計測されるサービス：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【０１０４】
サービス・モデルは以下の通りである。
【０１０５】
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイするために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアを配備及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント（例えば、ホストのファイアウォール）選択の限定された制御を有する。
【０１０６】
デプロイメント・モデルは以下の通りである。
【０１０７】
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術（例えば、クラウド間の負荷分散のためのクラウド・バースティング）によって結び付けられる２つ以上のクラウド（プライベート、コミュニティ、又はパブリック）の混成物である。クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【０１０８】
ここで図５を参照して、クラウド・コンピューティング・ノードの例の概略が示される。クラウド・コンピューティング・ノード１０は、好適なクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に説明される本発明の実施形態の使用範囲又は機能に関するいずれかの制限を示唆することを意図しない。それにも関わらず、クラウド・コンピューティング・ノード１０は、上に述べられる機能のいずれも実装及び／又は実行することができる。
【０１０９】
クラウド・コンピューティング・ノード１０において、多数の他の汎用又は専用コンピューティング・システム環境又は構成で動作されるコンピュータ・システム／サーバ１２がある。コンピュータ・システム／サーバ１２で用いるのに好適であり得る周知のコンピューティング・システム、環境、及び／又は構成の例は、これらに限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち式又はラップトップ型デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップボックス、プログラム可能民生電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び、上述のシステム若しくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境等が含まれる。
【０１１０】
コンピュータ・システム／サーバ１２は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造等を含むことができる。コンピュータ・システム／サーバ１２は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施され得る。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
【０１１１】
図５に示されるように、クラウド・コンピューティング・ノード１０におけるコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム／サーバ１２のコンポーネントは、これらに限定されるものではないが、１つ又は複数のプロセッサ若しくは処理ユニット１６、システム・メモリ２８、及びシステム・メモリ２８を含む種々のシステム・コンポーネントをプロセッサ１６に結合するバス１８を含むことができる。
【０１１２】
バス１８は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及び種々のバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造のうちのいずれかの１つ又は複数を表す。限定ではなく例としては、このようなアーキテクチャは、業界標準アーキテクチャ（Industry Standard Architecture、ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Micro Channel Architecture、ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカル・バス、及びＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスを含む。
【０１１３】
コンピュータ・システム／サーバ１２は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ１２によりアクセス可能ないずれかの利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不能媒体の両方とを含む。
【０１１４】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０及び／又はキャッシュ・メモリ３２など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１２は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体（図示されておらず、典型的には「ハード・ドライブ」と呼ばれる）との間の読み出し及び書き込みのために、ストレージ・システム３４を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば、「フロッピー・ディスク」）との間の読み出し及び書き込みのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光媒体などの取り外し可能な不揮発性光ディスクとの間の読み出し及び書き込みのための光ディスク・ドライブとを設けることができる。このような例においては、それぞれを、１つ又は複数のデータ媒体インターフェースによってバス１８に接続することができる。以下でさらに示され説明されるように、メモリ２８は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含むことができる。
【０１１５】
限定ではなく例として、メモリ２８内に、プログラム・モジュール４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ４０、並びにオペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを格納することができる。オペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装を含むことができる。プログラム・モジュール４２は、一般に、本明細書で説明される本発明の実施形態の機能及び／又は方法を実行する。
【０１１６】
コンピュータ・システム／サーバ１２は、キーボード、ポインティング・デバイス、ディスプレイ２４等のような１つ又は複数の外部デバイス１４、ユーザがコンピュータ・システム／サーバ１２と対話することを可能にする１つ又は複数のデバイス、及び／又はコンピュータ・システム／サーバ１２が１つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス（例えば、ネットワーク・カード、モデムなど）と通信することもできる。このような通信は、入力／出力（Ｉ／Ｏ）インターフェース２２を経由して行うことができる。さらにまた、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、汎用広域ネットワーク（ＷＡＮ）、及び／又はパブリック・ネットワーク（例えば、インターネット）などの１つ又は複数のネットワークと通信することもできる。示されるように、ネットワーク・アダプタ２０は、バス１８を介して、コンピュータ・システム／サーバ１２の他のコンポーネントと通信する。図示されていないが、コンピュータ・システム／サーバ１２と共に他のハードウェア及び／又はソフトウェア・コンポーネントを使用できることを理解されたい。例としては、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システムなどが含まれる。
【０１１７】
ここで図６を参照すると、例示的なクラウド・コンピューティング環境又はクラウド・コンピューシステム５０が示される。実施形態において、これは、例えば図１に示されるようなクラウド・コンピューティング・システムに等しいものであり得る。示されるように、クラウド・コンピューティング環境５０は、例えばパーソナル・デジタル・アシスタント（ＰＤＡ）又は携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、及び／又は自動車コンピュータ・システム５４Ｎなどといった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、１つ又は複数のクラウド・コンピューティング・ノード１０を含む。ノード１０は、互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はこれらの組み合わせなど、１つ又は複数のネットワークにおいて物理的又は仮想的にグループ化され得る（図示せず）。このことは、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして、クラウド・コンピューティング環境５０が、インフラストラクチャ、プラットフォーム、及び／又はソフトウェアを提供することを可能にする。図６に示されるコンピューティング・デバイス５４Ａ〜５４Ｎのタイプは単に例示であることを意図し、コンピューティング・ノード１０及びクラウド・コンピューティング環境５０は、いずれのタイプのネットワーク及び／又はネットワーク・アドレス指定可能な接続上でも（例えば、ウェブブラウザを用いて）、いずれのタイプのコンピュータ化された装置とも通信できることを理解されたい。
【０１１８】
ここで図７を参照すると、クラウド・コンピューティング環境５０（図６）によって提供される機能抽象化層のセットが示される。図７に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【０１１９】
ハードウェア及びソフトウェア層６０は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、ＩＢＭ（登録商標）  ｚＳｅｒｉｅｓ（登録商標）システムを一例とするメインフレームと、ＩＢＭ（登録商標）  ｐＳｅｒｉｅｓ（登録商標）システムを一例とするＲＩＳＣ（Reduced Instruction Set Computer（縮小命令セット・コンピュータ））アーキテクチャ・ベースのサーバと、ＩＢＭ（登録商標）  ｘＳｅｒｉｅｓ（登録商標）システムと、ＩＢＭ（登録商標）  ＢｌａｄｅＣｅｎｔｅｒ（登録商標）システムと、ストレージ・デバイスと、ネットワーク及びネットワーク・コンポーネントと、が含まれる。ソフトウェア・コンポーネントの例として、ＩＢＭ（登録商標）  ＷｅｂＳｐｈｅｒｅ（登録商標）アプリケーション・サーバ・ソフトウェアを一例とするネットワーク・アプリケーション・サーバ・ソフトウェアと、ＩＢＭ（登録商標）  ＤＢ２（登録商標）データベース・ソフトウェアを一例とするデータベース・ソフトウェアとが含まれる。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｐＳｅｒｉｅｓ、ｘＳｅｒｉｅｓ、ＢｌａｄｅＣｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅ、及びＤＢ２は、世界中の多数の管轄区域において登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。）
【０１２０】
仮想化層６２は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーション及びオペレーティング・システム、並びに仮想クライアントを提供することができる。
【０１２１】
一例においては、管理層６４は、以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例においては、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータルは、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。オフプレミス・プラットフォームとオンプレミス・プラットフォームとの間の通信の管理は、上述したような提案される概念に従った通信の管理及び／又は認証を提供する。
【０１２２】
ワークロード層６６は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例として、マッピング及びナビゲーション、ソフトウェア開発及びライフサイクル管理、仮想教室教育配信、データ分析処理、トランザクション処理、及びモバイル・デスクトップが挙げられる。
【０１２３】
本発明は、システム、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【０１２４】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、ストレージ・クラス・メモリ（ＳＣＭ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【０１２５】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスにダウンロードすることができ、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジ・サーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納するためにコンピュータ可読プログラム命令を転送する。
【０１２６】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができるいずれかのソースコード若しくはオブジェクトコードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個別化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【０１２７】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して本明細書に説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び／又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、命令が内部に格納されたコンピュータ可読ストレージ媒体が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作の態様を実装する命令を含む製品を含むようにすることもできる。
【０１２８】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【０１２９】
本発明の種々の実施形態の説明は、例証の目的のために提示されたが、これらは、網羅的であること、又は本発明を開示した実施形態に限定することを意図するものではない。当業者には、説明される実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際の適用、又は市場に見られる技術に優る技術的改善を最もよく説明するため、又は、当業者が、本明細書に開示される実施形態を理解するのを可能にするために選択された。
【符号の説明】
【０１３０】
３０、７３：オンプレミス・リソース
７０：オフプレミス・リソース
７２：クラウド
７４：インターネット通信リンク
７５：第１のオフプレミス・サーバ
７６：第２のオフプレミス・サーバ
７７、１１０、１２０：アプリケーション
７８：第１のサーバ・モジュール／エージェント
８０：スイッチング・コンポーネント
９０：セキュリティ・コンポーネント（認証コンポーネント）
１００：アプリケーション・サーバ
１４０：データストア
１５０：経路指定コンポーネント
１６０、１９０：第１の通信コンポーネント
１７０、２００：第２の通信コンポーネント
１７５、２０５：登録モジュール
１８０：認証データストア
１８５：認証コンポーネント
【図１】
2021501929.tif 000003
【図２】
2021501929.tif 000004
【図３】
2021501929.tif 000005
【図４】
2021501929.tif 000006
【図５】
2021501929.tif 000007
【図６】
2021501929.tif 000008
【図７】
2021501929.tif 000009
【手続補正書】
【提出日】令和2年5月11日(2020.5.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理するための接続コンポーネントであって、前記接続コンポーネントは、
１つ又は複数のアプリケーションと関連付けられたアプリケーション経路データを格納するように適合されたアプリケーション経路データストアと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取るように適合された第１の通信コンポーネントであって、前記アプリケーション要求は、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、第１の通信コンポーネントと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断し、前記要求されるアプリケーションと関連付けられた格納されたアプリケーション経路データを特定するように適合された経路指定コンポーネントと、
特定された前記アプリケーション経路データに基づいて、前記アプリケーション要求をオンプレミス・サーバ又はオフプレミス・サーバに通信するように適合された第２の通信コンポーネントと、
を含む、接続コンポーネント。
【請求項２】
前記第１の通信コンポーネントは、前記アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合され、前記第２の通信コンポーネントは、前記アプリケーション要求を通信するためのセキュア・トンネルを確立するように適合された、請求項１に記載の接続コンポーネント。
【請求項３】
前記オフプレミス・サーバはクラウド・サーバを含み、アプリケーション要求は、前記クラウド・サーバのサービスにより提供される、請求項１に記載の接続コンポーネント。
【請求項４】
前記アプリケーション経路データは、アプリケーション名、サーバ識別、サーバ・アドレス、アプリケーション・バージョン識別子、サポートされるアプリケーション、許可されるアプリケーション、許可情報、及びチェックサム情報のうちの少なくとも１つを含む、請求項１に記載の接続コンポーネント。
【請求項５】
前記アプリケーション要求は、アプリケーション名、データ・ペイロード、及びエントリポイント・データのうちの少なくとも１つをさらに含む、請求項１に記載の接続コンポーネント。
【請求項６】
前記第１の通信コンポーネントは、前記アプリケーション要求をオフプレミス・サーバから受け取るように適合され、前記第２の通信コンポーネントは、特定された前記アプリケーション経路データに基づいて、前記アプリケーション要求をオンプレミス・サーバに通信するように適合される、請求項１に記載の接続コンポーネント。
【請求項７】
オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理するためのセキュリティ・コンポーネントであって、前記セキュリティ・コンポーネントは、
１つ又は複数のアプリケーションと関連付けられた認証データを格納するように適合された認証データストアと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取るように適合された第１の通信コンポーネントであって、前記アプリケーション要求は、アプリケーション経路データに応じてターゲット・オンプレミス・サーバ又はオフプレミス・サーバに向けられ、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、第１の通信コンポーネントと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断し、前記要求されるアプリケーションと関連付けられた格納された認証データを特定し、特定された前記認証データを用いて前記認証プレースホルダを修正して、前記アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成するように適合された認証コンポーネントと、
前記修正されたアプリケーション要求を前記ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに通信するように適合された第２の通信コンポーネントと、
を含む、セキュリティ・コンポーネント。
【請求項８】
前記第１の通信コンポーネントは、前記アプリケーション要求を受け取るためのセキュア・トンネルを確立するように適合され、前記第２の通信コンポーネントは、前記修正されたアプリケーション要求を通信するためのセキュア・トンネルを確立するように適合される、請求項７に記載のセキュリティ・コンポーネント。
【請求項９】
前記オフプレミス・サーバはクラウド・サーバを含み、アプリケーション要求は、前記クラウド・サーバのサービスにより提供される、請求項７に記載のセキュリティ・コンポーネント。
【請求項１０】
オフプレミス・サーバのアプリケーション、オンプレミス・サーバのアプリケーション、オフプレミス・サーバ・モジュール、及びオンプレミス・サーバ・モジュールのうちの少なくとも１つから認証データを受け取るように適合された登録モジュールをさらに含み、前記登録モジュールは、受け取った認証データを前記認証データストアに格納するように適合され、前記登録モジュールは、アプリケーション、サーバ、及びファイル・システムのうちの少なくとも１つがアクセス不能になることに応答して、前記認証データストアから認証データを除去するように適合された、請求項７に記載のセキュリティ・コンポーネント。
【請求項１１】
前記認証データは、パスワード、ピンコード、許可情報、及びチェックサム情報のうちの少なくとも１つを含む、請求項１０に記載のセキュリティ・コンポーネント。
【請求項１２】
前記第１の通信コンポーネントは、前記アプリケーション要求をオフプレミス・サーバから受け取るように適合され、前記第２の通信コンポーネントは、前記アプリケーション要求と関連付けられたアプリケーション経路データに応じて、前記修正されたアプリケーション要求をターゲット・オンプレミス・サーバに通信するように適合された、請求項７に記載のセキュリティ・コンポーネント。
【請求項１３】
前記第２の通信コンポーネントは、通信された前記修正されたアプリケーション要求への応答を受け取るように適合され、前記第１の通信コンポーネントは、受け取った前記応答を前記オフプレミス・サーバに通信するように適合された、請求項７に記載のセキュリティ・コンポーネント。
【請求項１４】
コンピュータの情報処理により、オフプレミス・サーバとオンプレミス・サーバとの間の通信を管理する方法であって、前記方法は、
１つ又は複数のアプリケーションと関連付けられたアプリケーション経路データを、アプリケーション経路データストアに格納することと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取ることであって、前記アプリケーション要求は、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、受け取ることと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断することと、
前記要求されるアプリケーションと関連付けられた格納されたアプリケーション経路データを特定することと、
特定された前記アプリケーション経路データに基づいて、前記アプリケーション要求をオンプレミス・サーバ又はオフプレミス・サーバに通信することと、
を含む、方法。
【請求項１５】
前記受け取ることは、アプリケーション要求をオフプレミス・サーバから受け取ることを含み、前記通信することは、特定された前記アプリケーション経路データに基づいて、前記アプリケーション要求をオンプレミス・サーバに通信することを含む、請求項１４に記載の方法。
【請求項１６】
通信された前記アプリケーション要求への応答を受け取ることと、
受け取った前記応答を前記アプリケーション要求の発信者に通信することと、
をさらに含む、請求項１４に記載の方法。
【請求項１７】
コンピュータの情報処理により、オフプレミス・サーバとオンプレミス・サーバとの間の認証を管理する方法であって、前記方法は、
１つ又は複数のアプリケーションと関連付けられた認証データを、認証データストアに格納することと、
オフプレミス・サーバ又はオンプレミス・サーバからアプリケーション要求を受け取ることであって、前記アプリケーション要求は、アプリケーション経路データに応じて、ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに向けられ、前記アプリケーション要求を許可するための正しい認証情報を欠いた認証プレースホルダを含む、受け取ることと、
受け取った前記アプリケーション要求に基づいて、要求されるアプリケーションを判断することと、
前記要求されるアプリケーションと関連付けられた格納された認証データを特定することと、
特定された前記認証データを用いて前記認証プレースホルダを修正して、前記アプリケーション要求を許可するための認証情報を含む修正されたアプリケーション要求を生成することと、
前記修正されたアプリケーション要求を前記ターゲット・オンプレミス・サーバ又はオフプレミス・サーバに通信することと、
を含む、方法。
【請求項１８】
請求項１４から請求項１７までのいずれか１項に記載の方法をコンピュータに実行させるコンピュータ・プログラム。
【請求項１９】
請求項１８に記載のコンピュータ・プログラムを格納したコンピュータ可読ストレージ媒体。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
本開示はさらに、コンピュータにそうした方法を実行させるコンピュータ・プログラム及びそれを格納したコンピュータ可読ストレージ媒体に関する。
【国際調査報告】
2021501929.tif 000010
2021501929.tif 000011