(57)【要約】  パブリッククラウドとオンプレミス資源との間の接続の自動確立。先ず、ブリッジングインフラストラクチャが、自動アクセスされる。ブリッジングインフラストラクチャは、第１の制御を使用してプライベートネットワーク内のユーザーシステムと対話するように構成される。たとえば、接続の準備において使用される構成パッケージ内の実行ファイルとして表され得るのは、この第１の制御である。第２の制御は、パブリッククラウドにおいて実行するアプリケーションに行われる。第２の制御は、少なくとも１つのアプリケーションが、ブリッジングインフラストラクチャを介してプライベートネットワークのオンプレミス資源と安全に接続するために使用され得るように、構築される。
2017516410.tif 000002
【特許請求の範囲】
【請求項１】
パブリッククラウドからプライベートネットワーク内のオンプレミス資源へのアクセスを確立するための方法であって、
前記パブリッククラウドと前記プライベートネットワークとの間で動作することになるブリッジングインフラストラクチャに自動的にアクセスする動作であって、前記ブリッジングインフラストラクチャが、前記プライベートネットワーク内のユーザーシステムへの第１の制御を使用して前記プライベートネットワークと対話するように構成され、前記第１の制御が、前記ユーザーによって対話されるときに前記第１の制御が前記ブリッジングインフラストラクチャへの安全な接続を確立するように構築される、動作と、
前記パブリッククラウドにおいて実行する少なくとも１つのアプリケーションに第２の制御を提供する動作であって、前記第２の制御が、前記少なくとも１つのアプリケーションが前記ブリッジングインフラストラクチャを介して前記プライベートネットワークのオンプレミス資源と安全に接続するために使用され得るように構築される、動作と
を含む、方法。
【請求項２】
前記アプリケーションが、前記第２の制御を使用して前記ブリッジングインフラストラクチャを介して前記プライベートネットワークの前記オンプレミス資源と安全に接続する動作
をさらに含む、請求項１に記載の方法。
【請求項３】
前記オンプレミス資源がサーバである、請求項１に記載の方法。
【請求項４】
前記オンプレミス資源がデータベースである、請求項１に記載の方法。
【請求項５】
前記オンプレミス資源がストレージである、請求項１に記載の方法。
【請求項６】
前記パブリッククラウドにおいて実行する少なくとも１つのアプリケーションに第２の制御を提供する前記動作が、前記第２の制御を前記パブリッククラウドにおいて実行する単一のアプリケーションに提供するステップを含む、請求項１に記載の方法。
【請求項７】
前記パブリッククラウドにおいて実行する少なくとも１つのアプリケーションに第２の制御を提供する前記動作が、前記第２の制御を前記パブリッククラウドで実行する複数のアプリケーションに提供するステップを備える、請求項１に記載の方法。
【請求項８】
前記ブリッジングインフラストラクチャが、第１のブリッジングインフラストラクチャであり、前記オンプレミス資源が、第１のオンプレミス資源であり、
前記パブリッククラウドと前記プライベートネットワークとの間で動作することになる第２のブリッジングインフラストラクチャに自動的にアクセスする動作であって、前記ブリッジングインフラストラクチャが、前記プライベートネットワーク内のユーザーシステムへの第１の制御を使用して前記プライベートネットワークと対話するように構成され、前記第１の制御が、前記ユーザーによって対話されるときに前記第１の制御が前記ブリッジングインフラストラクチャへの安全な接続を確立するように構築される、動作と、
第３の制御を前記パブリッククラウドにおいて実行する少なくとも１つのアプリケーションに提供する動作であって、前記第２の制御が、前記少なくとも１つのアプリケーションが前記ブリッジングインフラストラクチャを介して前記プライベートネットワークの第２のオンプレミス資源と安全に接続するために使用され得るように構築される、動作と
をさらに含む、請求項１に記載の方法。
【請求項９】
前記ブリッジングインフラストラクチャが、第１のブリッジングインフラストラクチャであり、前記プライベートネットワークが、第１のプライベートネットワークであり、
前記パブリッククラウド及び前記第２のプライベートネットワークの間で動作することになる第２のブリッジングインフラストラクチャに自動的にアクセスする動作であって、前記第２のブリッジングインフラストラクチャが、前記第２のプライベートネットワーク内のユーザーシステムに第３の制御を使用して前記第２のプライベートネットワークと対話するように構成され、前記第３の制御が、前記ユーザーによって対話されるときに前記第３の制御が前記第２のブリッジングインフラストラクチャへの安全な接続を確立するように構築される、動作と、
第４の制御を前記パブリッククラウドにおいて実行する少なくとも１つのアプリケーションに提供する動作であって、前記第４の制御が、前記少なくとも１つのアプリケーションが前記第２のブリッジングインフラストラクチャを介して前記第２のプライベートネットワークのオンプレミス資源と安全に接続するために使用され得るように構築される、動作と
をさらに含む、請求項１に記載の方法。
【請求項１０】
コンピューティングシステムの１つ又は複数のプロセッサによって実行されるときに、前記コンピューティングシステムにパブリッククラウドからプライベートネットワーク内のオンプレミス資源へのアクセスを確立するための方法を実行させるように構築されたコンピュータ実行可能命令を有する１つ又は複数のコンピュータ可読記憶媒体を備える、コンピュータプログラム製品であって、前記方法が、
前記パブリッククラウドと前記プライベートネットワークとの間で動作することになるブリッジングインフラストラクチャに自動的にアクセスする動作であって、前記ブリッジングインフラストラクチャが、前記プライベートネットワーク内のユーザーシステムへの第１の制御を使用して前記プライベートネットワークと対話するように構成され、前記第１の制御が、前記ユーザーによって対話されるときに前記第１の制御が前記ブリッジングインフラストラクチャへの安全な接続を確立するように構築される、動作と、
前記パブリッククラウドにおいて実行する少なくとも１つのアプリケーションに第２の制御を提供する動作であって、前記第２の制御が、前記少なくとも１つのアプリケーションが前記ブリッジングインフラストラクチャを介して前記プライベートネットワークのオンプレミス資源と安全に接続するために使用され得るように構築される、動作と
を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パブリッククラウドのプライベートネットワーク資源との接続に関する。
【背景技術】
【０００２】
[0001]パブリッククラウドホスティングプラットフォームは、データベース及びサービスなど、資源を使用するアプリケーションをホストする。従来、パブリッククラウドにおいてホストされるそのようなアプリケーションによって使用される資源はまた、パブリッククラウド内に位置する。資源が、プライベートネットワーク内に位置する場合、そのとき、それらの資源は、そのようなアプリケーションによって使用されるために、パブリッククラウドに移動されることになる。しかし、セキュリティ、コンプライアンス又は法律上の理由のために、一部の資源は、パブリッククラウドに移動することはできない。
【０００３】
[0002]プライベートネットワーク上のこれらの資源へのアクセスを可能にするために、ネットワーク管理者は、彼らのファイアウォールにポートを開けてインターネットから彼らのネットワークへのトラフィックを許可する、外部トラフィックを資源に転送するネットワーク非武装地帯（ＤＭＺ：ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）においてプロキシ及び／又はゲートウェイを配備する、又は仮想プライベートネットワーク（ＶＰＮ）を使用してアプリケーションを彼らのプライベートネットワークに接続することをしばしば要求される。
【０００４】
[0003]本明細書で特許請求される主題は、任意の欠点を解決する又は前述のものなどの環境においてのみ機能する実施形態に限定されない。そうではなくて、本背景技術は、本明細書に記載されるいくつかの実施形態が実施され得る１つの例示的技術分野を示すためにのみ提供される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、パブリッククラウドのプライベートネットワーク資源との接続を提供する。
【課題を解決するための手段】
【０００６】
[0004]本明細書に記載される少なくともいくつかの実施形態は、ブリッジングインフラストラクチャを使用するパブリッククラウドとプライベートネットワーク内のオンプレミス資源との間の接続の確立に関する。オンプレミス資源の例は、データベース、データストア、ウェブサービス、アプリケーションサーバなどを含む。ブリッジングインフラストラクチャは、パブリッククラウドインフラストラクチャの部分であり、これを目的として設計されたサービスによって準備され得る又は割り当てられ得る。このブリッジングインフラストラクチャの選択要素は、必要に応じてオンデマンドで割り当てられ得る又は作成され得る。
【０００７】
[0005]準備は、オンプレミス資源へのアクセスを提供するブリッジングインフラストラクチャを識別することによって生じ得る。このブリッジングインフラストラクチャにアクセスするために必要とされる資格情報（ｃｒｅｄｅｎｔｉａｌ）が、次いで、ブリッジングインフラストラクチャへの接続において後で使用するためにアクセスされる。送信権利（ｓｅｎｄ  ｒｉｇｈｔ）を有するアプリケーション特有の資格情報が、プライベートネットワーク上の資源にアクセスする必要があるアプリケーションのアプリケーションランタイムに安全に提供される。アプリケーション特有の資格情報は、識別されたブリッジングインフラストラクチャに接続するために、パブリッククラウド上のアプリケーションのランタイムに組み込まれたエージェントによって使用可能である。ユーザーは、資源特有の資格情報を使用してプライベートネットワーク上のオンプレミス資源とブリッジングインフラストラクチャとの間の安全な接続を提供するプライベートネットワーク上のプロキシを配備する。プロキシは、プライベートネットワーク内部に置かれ、プライベートネットワークからのアウトバウンド通信を使用してブリッジングインフラストラクチャに接続する。したがって、ネットワーク管理者は、ブリッジングインフラストラクチャに接続するためにファイアウォールにポートを開く又はプロキシのＶＰＮ接続を確立する必要がない。
【０００８】
[0006]本明細書に記載される少なくともいくつかの実施形態は、パブリッククラウド内のアプリケーションとオンプレミス資源との間の接続の自動的確立に関する。第１に、ブリッジングインフラストラクチャが、自動的にアクセスされる。ブリッジングインフラストラクチャは、プライベートネットワーク内の第１の制御と対話するように構成される。たとえば、この第１の制御は、プライベートネットワークでホストされるプロキシとして表すことができ、それは、接続の準備において使用される構成パッケージ内の実行ファイルによって配備される。プロキシは、ブリッジングインフラストラクチャに安全に接続し、ブリッジングインフラストラクチャとオンプレミス資源との間でトラフィックを転送する。ブリッジングインフラストラクチャは、プライベートネットワーク上の第１の制御からの着信接続を受け付ける。第１の制御は、企業ネットワークからのアウトバウンド接続を使用して、ブリッジングインフラストラクチャに安全に接続する。
【０００９】
[0007]いくつかの実施形態では、ブリッジングインフラストラクチャは、それがアクセスを提供する先のオンプレミス資源に関するメタデータを記憶することができる。第１の制御は、ブリッジングインフラストラクチャからこのメタデータにアクセスし得る、又は、プライベートネットワーク上のオンプレミス資源のネットワークアドレスで別個に構成され得る。第１の制御は、次いで、パブリッククラウド上のアプリケーションと指定されたオンプレミス資源との間でトラフィックを転送する。第２の制御は、パブリッククラウドにおいて実行するアプリケーションに行われる。第２の制御は、少なくとも１つのアプリケーションが、ブリッジングインフラストラクチャを介してプライベートネットワークのオンプレミス資源と安全に接続するために使用され得るように、構築される。
【００１０】
[0008]一例では、第２の制御は、オンプレミス資源に宛てられたアプリケーションからのメッセージをその制御がインターセプトし、それを適切なネットワークメッセージ又はトンネリングプロトコルを介してフレーミングし、それをオンプレミス資源に次に転送する第１の制御にブリッジングインフラストラクチャを介してそれをリダイレクトする、アプリケーションランタイムに組み込まれたエージェントとして実現することができる。応答は、逆の経路を辿ってパブリッククラウド上のアプリケーションに戻る。
【００１１】
[0009]本概要は、本特許請求されている主題の主な特徴又は本質的特徴を識別することを意図されておらず、本特許請求されている主題の範囲を判定する際の助けとして使用されることも意図されていない。
【００１２】
[0010]前述の及び他の利点及び特徴が獲得され得る方式を説明するために、様々な実施形態のより具体的な説明が、添付の図面を参照して行われることになる。これらの図面は、単に、サンプルの実施形態を示し、したがって、本発明の範囲の限定として考えられるべきではないという理解の下で、実施形態が、以下のような添付の図面の使用を通してさらなる特異性及び詳細とともに記載及び説明されることになる。
【図面の簡単な説明】
【００１３】
【図１】[0011]本明細書に記載されるいくつかの実施形態がその中で使用され得るコンピューティングシステムを抽象的に示す図である。
【図２】[0012]本明細書に記載される原理が機能し得る、そして、パブリッククラウド及びブリッジングインフラストラクチャと相互接続されたプライベートネットワークを含む、環境を示す図である。
【図３】[0013]ブリッジングインフラストラクチャに関連する３つの時間的ステージを示す図である。
【図４】[0014]パブリッククラウドとプライベートネットワーク内のオンプレミス資源との間の接続の準備のための方法の流れ図である。
【図５】[0015]パブリッククラウドとプライベートネットワーク内のオンプレミス資源との間の接続の準備に関連するデータフローの特定の一例を示す図である。
【図６】[0016]パブリッククラウドからプライベートネットワーク内のオンプレミス資源へのアクセスを確立するための方法の流れ図である。
【図７】[0017]アプリケーション及びプライベートクラウド内のオンプレミス資源に接続された後にブリッジングインフラストラクチャを使用するための方法の流れ図である。
【図８】[0018]パブリッククラウド内のアプリケーションが、次いで、どのようにブリッジングインフラストラクチャを使用してプライベートネットワーク上の資源にアクセスし得るかのより具体的な一例を示すランタイムプロセスを示す図である。
【発明を実施するための形態】
【００１４】
[0019]本明細書に記載される少なくともいくつかの実施形態は、ブリッジングインフラストラクチャを使用するパブリッククラウドとプライベートネットワーク内のオンプレミス資源との接続の確立に関する。オンプレミス資源の例は、データベース、データストア、ウェブサービス、アプリケーションサーバなどを含む。ブリッジングインフラストラクチャは、パブリッククラウドインフラストラクチャの部分であり、これを目的として設計されたサービスによって準備され得る又は割り当てられ得る。このブリッジングインフラストラクチャの選択要素は、必要に応じてオンデマンドで割り当てられ、又は作成され得る。
【００１５】
[0020]準備は、オンプレミス資源へのアクセスを提供するブリッジングインフラストラクチャを識別することによって生じ得る。このブリッジングインフラストラクチャにアクセスするために使用される資格情報が、次いで、ブリッジングインフラストラクチャへの接続において後で使用するためにアクセスされる。送信権利を有するアプリケーション特有の資格情報が、プライベートネットワーク上の資源にアクセスする必要があるアプリケーションのアプリケーションランタイムに安全に及び自動的に提供される。アプリケーション特有の資格情報は、識別されたブリッジングインフラストラクチャに接続するためにパブリッククラウド上のアプリケーションのランタイムに組み込まれたエージェントによって使用可能である。ユーザーは、資源特有の資格情報を使用してプライベートネットワーク上のオンプレミス資源とブリッジングインフラストラクチャとの間の安全な接続を提供し得るプライベートネットワーク上のプロキシを配備する。プロキシは、プライベートネットワーク内部に置かれ、プライベートネットワークからのアウトバウンド通信を使用してブリッジングインフラストラクチャに接続する。したがって、ネットワーク管理者は、ファイアウォールにポートを開く又はプロキシのＶＰＮ接続を確立してブリッジングインフラストラクチャに接続する必要がない。
【００１６】
[0021]本明細書に記載される少なくともいくつかの実施形態は、パブリッククラウド内アプリケーションとのオンプレミス資源との間の接続の自動的確立に関する。第１に、ブリッジングインフラストラクチャが、自動的にアクセスされる。ブリッジングインフラストラクチャは、プライベートネットワーク内の第１の制御と対話するように構成される。たとえば、この第１の制御は、プライベートネットワークでホストされるプロキシとして表すことができ、接続の準備において使用される構成パッケージ内の実行ファイルによって配備され得る。プロキシは、ブリッジングインフラストラクチャに安全に接続し、ブリッジングインフラストラクチャとオンプレミス資源との間でトラフィックを転送する。ブリッジングインフラストラクチャは、プライベートネットワーク上の第１の制御からの着信接続を受け付ける。第１の制御は、企業ネットワークからのアウトバウンド接続を使用して、ブリッジングインフラストラクチャに安全に接続する。
【００１７】
[0022]いくつかの実施形態では、ブリッジングインフラストラクチャは、それがアクセスを提供する先のオンプレミス資源に関するメタデータを記憶することができる。第１の制御は、ブリッジングインフラストラクチャからこのメタデータにアクセスすることができる、又は、プライベートネットワーク上のオンプレミス資源のネットワークアドレスで別個に構成することができる。第１の制御は、次いで、パブリッククラウド上のアプリケーションと指定されたオンプレミス資源との間でトラフィックを転送する。第２の制御は、パブリッククラウドにおいて実行するアプリケーションに行われる。第２の制御は、少なくとも１つのアプリケーションが、ブリッジングインフラストラクチャを介してプライベートネットワークのオンプレミス資源と安全に接続するために使用され得るように、構築される。
【００１８】
[0023]一例では、第２の制御は、オンプレミス資源に宛てられたアプリケーションからのメッセージをインターセプトし、それを適切なネットワークメッセージ又はトンネリングプロトコルを介してフレーミングし、それらをブリッジングインフラストラクチャを介して第１の制御にリダイレクトする、アプリケーションランタイムに組み込まれたエージェントとして実現され得る。第１の制御は、フレーミングされたメッセージを受信したとき、フレーミングを取り除き、元のメッセージをオンプレミス資源に転送する。オンプレミス資源からの応答は、逆の経路を辿ってパブリッククラウド上のアプリケーションに戻る。
【００１９】
[0024]コンピューティングシステムのいくらかの導入的論考が、図１に関して記載される。次いで、パブリッククラウドがプライベートネットワーク内の資源を使用することを可能にするためのブリッジングインフラストラクチャの準備及び使用の原理が、その後の図面に関して説明されることになる。
【００２０】
[0025]コンピューティングシステムは、現在、ますます多種多様な形をとる。コンピューティングシステムは、たとえば、ハンドヘルドデバイス、アプライアンス、ラップトップコンピュータ、デスクトップコンピュータ、メインフレーム、分散型コンピューティングシステム、データセンター、又は、ウェアラブル（たとえば、眼鏡）などの従来はコンピューティングシステムとは考えられなかったデバイスでもよい。本説明において及び本特許請求の範囲において、「コンピューティングシステム」という用語は、少なくとも１つの物理的及び有形のプロセッサとプロセッサによって実行され得るコンピュータ実行可能命令をそこに有することが可能な物理的及び有形のメモリとを含む任意のデバイス又はシステム（又はその組合せ）を含むものとして広く定義される。メモリは、任意の形をとることができ、コンピューティングシステムの特質及び形に応じて決まり得る。コンピューティングシステムは、ネットワーク環境に亘って分散されてもよく、複数の構成するコンピューティングシステムを含み得る。
【００２１】
[0026]図１に示すように、その最も基本的な構成において、コンピューティングシステム１００は、通常、少なくとも１つのハードウェアプロセッシングユニット１０２及びメモリ１０４を含む。メモリ１０４は、揮発性、不揮発性、又はその２つの何らかの組合せでもよい、物理的システムメモリでもよい。「メモリ」という用語はまた、本明細書において、物理記憶媒体などの不揮発性大容量記憶装置を指すために使用され得る。コンピューティングシステムが、分散される場合、処理、メモリ及び／又は記憶機能もまた、分散され得る。本明細書において、「実行可能モジュール」又は「実行可能構成要素」という用語は、コンピューティングシステムで実行され得るソフトウェアオブジェクト、ルーチン、又は方法を指し得る。本明細書に記載される異なる構成要素、モジュール、エンジン、及びサービスは、コンピューティングシステムで実行するオブジェクト又はプロセスとして実装され得る（たとえば、別個のスレッドとして）。
【００２２】
[0027]以下の説明では、実施形態が、１つ又は複数のコンピューティングシステムによって実行される動作を参照して説明される。そのような動作が、ソフトウェアにおいて実施される場合、１つ又は複数のプロセッサ（その動作を実行する関連コンピューティングシステムの）が、実行されたコンピュータ実行可能命令の実行に応答してコンピューティングシステムの動作を指示する。たとえば、そのようなコンピュータ実行可能命令は、コンピュータプログラム製品を形成する１つ又は複数のコンピュータ可読媒体で実施され得る。そのような動作の一例は、データの操作を含む。コンピュータ実行可能命令（及び、操作されたデータ）は、コンピューティングシステム１００のメモリ１０４に記憶され得る。コンピューティングシステム１００はまた、コンピューティングシステム１００が、たとえばネットワーク１１０を介して、他のコンピューティングシステムと通信できるようにする通信チャネル１０８を含み得る。コンピューティングシステム１００はまた、ユーザーに視覚的表現を表示するために使用され得るディスプレイを含む。
【００２３】
[0028]本明細書に記載される実施形態は、以下にさらに詳しく論じられるような、たとえば、１つ又は複数のプロセッサ及びシステムメモリなど、コンピュータハードウェアを含む特定用途又は汎用コンピューティングシステムを備え得る又は使用し得る。本明細書に記載される実施形態はまた、コンピュータ実行可能命令及び／又はデータ構造体を運ぶ又は記憶するための物理的及び他のコンピュータ可読媒体を含む。そのようなコンピュータ可読媒体は、汎用又は特定用途コンピューティングシステムによってアクセスされ得る任意の使用可能な媒体でもよい。コンピュータ実行可能命令を記憶するコンピュータ可読媒体は、物理記憶媒体である。コンピュータ実行可能命令を運ぶコンピュータ可読媒体は、伝送媒体である。したがって、例として、そして、限定ではなく、本発明の実施形態は、少なくとも次の２つのはっきりと異なる種類のコンピュータ可読媒体を備え得る：記憶媒体及び伝送媒体。
【００２４】
[0029]コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、又は、コンピュータ実行可能命令もしくはデータ構造体の形で所望のプログラムコード手段を記憶するために使用され得る、そして汎用もしくは特定用途コンピューティングシステムによってアクセスされ得る、任意の他の物理的及び有形の記憶媒体を含む。
【００２５】
[0030]「ネットワーク」が、コンピューティングシステム及び／又はモジュール及び／又は他の電子デバイスの間の電子データの移送を可能にする１つ又は複数のデータリンクとして定義される。情報が、ネットワーク又は別の通信接続（ハードワイヤード、ワイヤレス、又は、ハードワイヤードもしくはワイヤレスの組合せのいずれか）を介してコンピューティングシステムに転送又は提供されるとき、コンピューティングシステムは、その接続を伝送媒体として適切に見なす。伝送媒体は、コンピュータ実行可能命令又はデータ構造体の形で所望のプログラムコード手段を運ぶために使用され得る及び汎用又は特定用途コンピューティングシステムによってアクセスされ得る、ネットワーク及び／又はデータリンクを含み得る。前述の組合せはまた、コンピュータ可読媒体の範囲に含まれるべきである。
【００２６】
[0031]さらに、様々なコンピューティングシステム構成要素に到達したとき、コンピュータ実行可能命令又はデータ構造体の形のプログラムコード手段は、伝送媒体から記憶媒体に（又は、その逆に）自動的に転送され得る。たとえば、ネットワーク又はデータリンクを介して受信されるコンピュータ実行可能命令又はデータ構造体は、ネットワークインターフェースモジュール（たとえば、「ＮＩＣ」）内のＲＡＭにおいてバッファリングすることができ、次いで、コンピューティングシステムＲＡＭに及び／又はコンピューティングシステムにある揮発性の低い記憶媒体に最終的に転送され得る。したがって、記憶媒体は、伝送媒体もまた（又は主に）使用するコンピューティングシステム構成要素に含まれ得ることを理解されたい。
【００２７】
[0032]コンピュータ実行可能命令は、たとえば、プロセッサで実行されるときに汎用コンピューティングシステム、特定用途コンピューティングシステム、又は特定用途処理デバイスにある特定の機能又はグループの機能を実行させる命令及びデータを備える。コンピュータ実行可能命令は、たとえば、アセンブリ言語などの中間フォーマット命令など、プロセッサによる直接実行の前に何らかの変換（コンパイルなど）を受けるバイナリ又は命令、あるいはソースコードでもよい。本主題は、構造的特徴及び／又は方法論的動作に特有の言語で説明されるが、添付の特許請求の範囲において定義される本主題は、記載される特徴又は前述の動作に必ずしも限定されないことを理解されたい。そうではなくて、記載される特徴及び動作は、本特許請求の範囲を実装する例示的形として開示される。
【００２８】
[0033]本発明は、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの又はプログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話、ＰＤＡ、ページャ、ルータ、スイッチ、データセンター、ウェアラブル（眼鏡など）などを含む、多数のタイプのコンピューティングシステム構成を有するネットワークコンピューティング環境において実施され得ることが、当業者には理解されよう。本発明はまた、ネットワークを介してリンクされた（ハードワイヤードデータリンク、ワイヤレスデータリンク、又は、ハードワイヤード及びワイヤレスデータリンクの組合せのいずれかによって）ローカル及び遠隔コンピューティングシステムが、両方ともタスクを実行する、分散型システム環境において実施され得る。分散型システム環境では、プログラムモジュールは、ローカル及び遠隔メモリ記憶装置の両方に置かれ得る。
【００２９】
[0034]本明細書に記載の原理によれば、パブリッククラウドでホストされたアプリケーションは、そのアプリケーションが、そのプライベートネットワークでローカルに実行する場合と同じように、遠隔プライベートネットワーク上の資源と通信する。さらに、そのような接続は、ごくわずかなジェスチャで構成され得る。アプリケーションがホストされるランタイムにエージェントを組み込ませることによって、そのような接続は、１）関連ブリッジングインフラストラクチャでの遠隔資源の論理的表現の作成と、２）ブリッジングインフラストラクチャに自動的に接続するプライベートネットワーク上のその遠隔資源のプロキシのインストレーションと、３）遠隔資源のトラフィックをインターセプトするためのアプリケーションランタイムにおけるエージェントの自動的構成及びブリッジングインフラストラクチャへの方向付けとを含む、文字通り少しの構成ジェスチャで確立され得る。本機構の１つの固有の機能は、ウェブ又はモバイル層などのアプリケーショングループ（又は層（ｔｉｅｒ））全体が、安全なプライベートネットワーク上のデータベースなどの他のクリティカル層を維持しながら任意のコード又は構成変更なしにプライベートネットワークからパブリッククラウドに移動され得るということである。
【００３０】
[0035]本説明及び以下の特許請求の範囲において、「クラウドコンピューティング」は、構成可能コンピューティング資源（たとえば、ネットワーク、サーバ、ストレージ、アプリケーション、及びサービス）の共用プールへのオンデマンドネットワークアクセスを可能にするためのモデルとして定義される。「クラウドコンピューティング」の定義は、適切に配置されるときそのようなモデルから得られ得るその他の多数の利点のいずれにも限定されない。
【００３１】
[0036]たとえば、クラウドコンピューティングは、現在、構成可能コンピューティング資源の共用プールへのユビキタスの及び便利なオンデマンドアクセスを提供するために市場において使用される。さらに、構成可能コンピューティング資源の共用プールは、仮想化を介して速やかに準備し、少ない経営努力又はサービスプロバイダ対話でリリースし、次いで、それに応じて調整することができる。
【００３２】
[0037]クラウドコンピューティングモデルは、オンデマンドセルフサービス、ブロードネットワークアクセス、資源プーリング、高速弾力性（ｒａｐｉｄ  ｅｌａｓｔｉｃｉｔｙ）、度数制（ｍｅａｓｕｒｅｄ  ｓｅｒｖｉｃｅ）などのような様々な特徴で構成され得る。クラウドコンピューティングモデルはまた、たとえば、ソフトウェア・アズ・ア・サービス（「ＳａａＳ：Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ」）、プラットフォーム・アズ・ア・サービス（「ＰａａＳ：Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ」）、及び、インフラストラクチャ・アズ・ア・サービス（「ＩａａＳ：Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ」）などの様々なサービスモデルの形で現れ得る。クラウドコンピューティングモデルはまた、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウドなどのような異なる配備モデルを使用して配備され得る。本説明において及び本特許請求において、「クラウドコンピューティング環境」は、クラウドコンピューティングがその中で使用される環境である。
【００３３】
[0038]図２は、本明細書で説明される原理がその中で機能し得る環境２００を示す。環境２００は、パブリッククラウド２１０及びプライベートネットワーク２２０を含む。パブリッククラウド２１０は、様々なアプリケーション２１１をそこで動作させる。たとえば、パブリッククラウド２１０は、アプリケーション２１１Ａ、２１１Ｂ及び２１１Ｃをそこで動作させるものとして示されるが、省略記号２１１Ｄは、パブリッククラウド２１０によって動作させられるアプリケーションの数の柔軟性を表す。アプリケーション２１１Ａは、本明細書で説明される基本的例として使用されることになるので、それは、少し大きく示される。パブリッククラウド２１０は、複数の顧客を有するクラウドコンピューティングモデルを実装することができ、したがって、「パブリック」という用語を有する。
【００３４】
[0039]プライベートネットワーク２２０は、その中に動作するオンプレミス資源２２１を有する。たとえば、オンプレミス資源２２１は、資源２２１Ａ及び２２１Ｂを含むものとして示されるが、省略記号２２１Ｃは、プライベートネットワーク２２０内で動作する非常に様々な資源が存在し得ることを表す。資源２２１Ａは、本明細書で説明される基本的例として使用されることになるので、それは、少し大きく示される。アクセスされ得る資源の例は、たとえば、データベース、サーバ、ストレージ、ファイル、ディレクトリなどを含む。プライベートネットワーク２２０内の資源２２１Ａにアクセスするためにパブリッククラウド２１０内のアプリケーション２１１Ａによって使用されることになるブリッジングインフラストラクチャ２３０もまた存在する。矢印２３１から２３８は、ブリッジングインフラストラクチャ２３０の使用に関連する例示的データの流れを表し、図７と併せて以下でさらに説明されることになる。
【００３５】
[0040]図３に示すように、ブリッジングインフラストラクチャに関連する３つの時間的ステージ３００が存在する。準備ステージ３１０には、接続ステージ３２０が続き、その後に使用ステージ３３０が続く。準備ステージ３１０の目的は、接続ステージ３２０の実行をより容易に、さらに自動的にすることである。実際には、接続ステージ３２０は、使用ステージ３３０の直前まで延期することができ、使用ステージ３３０の時には、パブリッククラウドが、オンプレミス資源２２１Ａと通信するために、ブリッジングインフラストラクチャ２３０を実際に使用する。
【００３６】
[0041]図４は、パブリッククラウドとプライベートネットワーク内のオンプレミス資源との接続を自動的に準備するための方法４００の流れ図である。方法４００は、図３の準備ステージ３１０の一例である。方法４００は、図２のネットワーク環境２００において実行され得るので、図４の方法４００は、図２をたびたび参照してここで説明される。
【００３７】
[0042]方法４００は、パブリッククラウドにおいて実行するアプリケーションが、プライベートネットワークのオンプレミス資源にアクセスしようと決定した（動作４０１）ときに、開始される。たとえば、プライベートネットワーク２２０内のユーザーは、パブリッククラウド２１０のアプリケーション２１１Ａがプライベートネットワーク２１０の資源２２１Ａにアクセスすることになると決定し得る。たとえば、アプリケーション２１１Ａは、情報を供する又は要求を処理するために、プライベートネットワーク２２０内に置かれた資源２２１Ａへのアクセスを必要とし得る。遠隔資源にアクセスしようとするそのようなインテントは、アプリケーション開発中にアプリケーション２１１Ａの開発者によって指示又は構成され得る。別法として、このインテントは、管理者によってアプリケーション２１１Ａの配備又は構成中に決定され得る。
【００３８】
[0043]方法４００は、ユーザーがオンプレミス資源にアクセスするインテントを明確にしたときに線４１０より下の内容を自動的に実行することによって、実行される。これらのステップは、ハイパーリンクなどの制御との対話時に自動的に開始され得る。別法として、これらのステップは、ユーザー又はアプリケーション開発者によって、明示的に開始され得る。具体的には、オンプレミス資源へのアクセスを提供するために使用され得るブリッジング構造体が、識別される（動作４１１）。ブリッジングインフラストラクチャは、パブリッククラウドの一部としてこれを目的として設計されたブリッジング又は中継サービスで準備され得る。したがって、ブリッジングインフラストラクチャは、オンプレミス資源のネットワーク識別と関連付けられる。
【００３９】
[0044]ブリッジングインフラストラクチャに接続するために使用される資格情報が、次いで、アクセスされる。これは、送信権利を有するアプリケーション特有の資格情報２５１が、パブリッククラウド２１０内のアプリケーション２１１Ａのランタイムに組み込まれた（動作４１５）第２の制御に提供されるステップ（動作４１５）を含む。たとえば、図２では、資源特有の資格情報２４１が、ブリッジングインフラストラクチャ２３０をオンプレミス資源２２１Ａと接続する第１の制御２４２を確立するために使用され得る。アプリケーション特有の資格情報２４２が、ブリッジングインフラストラクチャ２３０をアプリケーション２１１Ａと接続する第２の制御２５２を確立するために使用され得る。
【００４０】
[0045]さらに、方法４００は、ブリッジングインフラストラクチャの資源特有の資格情報にアクセスするステップ（動作４１２）と、制御２４２のための実行ファイルをこれに準備するステップと、オンプレミス資源の識別をそれに提供するステップとを含む。本制御は、プライベートネットワークに組み込まれたプロキシの形を取り得る（動作４１４）。制御２４２は、資源特有の資格情報を使用してプライベートネットワーク上のオンプレミス資源とブリッジングインフラストラクチャとの間の接続を提供するように構成される。言い換えれば、資源特有の資格情報及びオンプレミス資源の識別が、第１の制御２４２を構成するために使用される。
【００４１】
[0046]したがって、方法４００の完了時に、環境２００のプライベートネットワーク２２０は、受信権利（ｒｅｃｅｉｖｅｓ  ｒｉｇｈｔ）を有する資源特有の資格情報２４１と、資源２２１Ａと送信権利を有するブリッジングインフラストラクチャ２３０との接続を確立するために相互に作用され得る（資源特有の資格情報２４１を有することとの関連で）制御２４２とを有する。さらに、パブリッククラウド２１０は、アプリケーション特有の資格情報２５１と、アプリケーション２１１Ａとブリッジングインフラストラクチャ２３０との間の接続を確立するためにパブリッククラウドによって使用され得る（アプリケーション特有の資格情報２５１を有することに関連して）制御２５２とを有する。
【００４２】
[0047]本方法は、各オンプレミス資源の異なるブリッジングインフラストラクチャを確立するためにプライベートネットワーク２２０内の異なる資源について複数回実行され得る。各資源について異なる資源特有の制御が存在し得る。いくつかの実施形態では、複数のアプリケーションが同じオンプレミス資源を使用することになる場合、対応する制御２４２は、パブリッククラウドで実行する複数のアプリケーションによって、共用され得る。オンプレミス資源に接続する各アプリケーションについて異なるアプリケーション特有の制御もまた存在し得る。いくつかの実施形態では、複数のアプリケーションが、同じオンプレミス資源を使用することになる場合、それらは、同じ制御２５２を共用し得る。省略記号２２５は、同様のブリッジングインフラストラクチャが、パブリッククラウド２１０と他のプライベートネットワークとの間に同様に確立され得ることを表す。
【００４３】
[0048]図５は、ブリッジングインフラストラクチャが、プライベートネットワークにおいてホストされるようにセットアップされた資源プロキシ制御２４２で準備される、例示的環境を示す。この図では、パブリッククラウドは、「Ａｚｕｒｅ（空色）」のラベルを付される。しかし、本明細書で説明される原理は、パブリッククラウドのプロバイダ又は識別にかかわらず、プライベートネットワーク内の資源との接続を可能にするための任意のパブリッククラウドに適用され得る。プライベートネットワークの信頼境界は、「コープネット信頼境界（Ｃｏｒｐｎｅｔ  Ｔｒｕｓｔ  Ｂｏｕｎｄａｒｙ）」のラベルを付される。パブリッククラウドとプライベートネットワークとを接続してパブリッククラウド内のアプリケーションがプライベートネットワーク内の資源にアクセスすることを可能にするために使用されるブリッジングインフラストラクチャは、本明細書で、「ハイブリッド接続」と呼ばれる。
【００４４】
[0049]先ず、ユーザーが、プライベートネットワーク上の遠隔資源のネットワークアドレスを指定する論理ハイブリッド接続を作成する。これは、２つの資格情報、オンプレミスプロキシ上の受信権利を有する第１の資格情報（すなわち、資源特有の資格情報）及びパブリッククラウド上のアプリケーションのための送信権利を有する第２の資格情報（すなわち、アプリケーション特有の資格情報）、を自動的に生成する。
【００４５】
[0050]ユーザーは、次いで、プライベートネットワーク上にプロキシサービス（図５の「ハイブリッド接続マネージャＣＯアプリケーション」）を配備及び構成し、それに受信権利を有する資格情報を提供する。
【００４６】
[0051]プライベートネットワーク上のプロキシサービスが、次いで、自動的に開始する。プロキシサービスは、受信権利を有する資格情報を使用してブリッジングインフラストラクチャに接続し、どのオンプレミス資源がそれがプロキシに設計されたかを判定し、次いで、それ自体をその資源のプロキシとして構成する。図５の矢印４から６は、これが特定の実装形態についてどのように生じ得るかを示すが、他の手法もまた、これを目的として使用され得る。
【００４７】
[0052]パブリッククラウド上のアプリケーションランタイムに組み込まれたエージェントが、プライベートネットワーク上の遠隔資源を表す所望の論理ハイブリッド接続へのリンクで構成される。送信権利を有する資格情報が、エージェントで構成され、そのエージェントは、論理ハイブリッド接続に接続する。図５の矢印７から８は、これが特定の実装形態についてどのように生じ得るかを示す。
【００４８】
[0053]図６は、パブリッククラウドからプライベートネットワーク内のオンプレミス資源へのアクセスを確立するための方法６００の流れ図である。方法６００は、図３の接続ステージ３２０の一環として実行することができ、図２の環境２００との関連において実行され得る。したがって、図６の方法６００は、図２の環境２００をたびたび参照してここで説明される。
【００４９】
[0054]本方法は、パブリッククラウドとプライベートネットワークとの間で動作することになるブリッジングインフラストラクチャに自動的にアクセスするステップ（動作６０１）を含む。たとえば、図２を参照すると、ブリッジングインフラストラクチャ２３０は、第１の制御２４２を使用してプライベートネットワーク２２０内のユーザーシステムと対話するように構成される。第１の制御２４２は、ブリッジングインフラストラクチャのための資源特有の資格情報で構成されるとき、第１の制御２４２が、ブリッジングインフラストラクチャ２３０への安全な接続を自動的に確立するように、構築される。そのような接続が確立されるとき、第１の制御２４２は、ブリッジングインフラストラクチャ２３０がアクセスする準備をされたオンプレミス資源２２１Ａを識別する。さらに、第１の制御２４２は、第２の制御２５２によってブリッジングインフラストラクチャ２３０に転送されたインターセプトされたトラフィックをブリッジングインフラストラクチャ２３０から受信するように構築される。第１の制御２４２は、インターセプトされたトラフィックをブリッジングインフラストラクチャ２３０から資源２２１Ａに転送するようにそれ自体を構成する。第２の制御２５２は、同様に、アプリケーション２１１Ａからの、オンプレミス資源２２１Ａに宛てられたトラフィックを適切なフレーミングメッセージにおいてフレーミングし、それをブリッジングインフラストラクチャ２３０に経路変更して、それをインターセプトするように構成される。さらに、第２の制御２５２は、パブリッククラウド２１０において実行するアプリケーションに提供される（動作６０２）。第２の制御２５２は、アプリケーション２２１Ａが、ブリッジングインフラストラクチャ２３０を介してプライベートネットワークのオンプレミス資源と安全に接続し得るように、構築される。第２の制御２５２は、ブリッジングインフラストラクチャ２３０との接続を常に維持することができ、あるいは、別法として、その接続は、オンデマンドで確立され得る。その接続が、オンデマンドで確立される場合、次いで、アプリケーション２１１Ａは、資源２２１Ａにアクセスしようと試みる（動作６０３）ので、第２の制御２５２は、アプリケーション２１１Ａとオンプレミス資源２２１Ａとの間の通信経路を確定する。
【００５０】
[0055]図７は、プライベートクラウド内のアプリケーション及びオンプレミス資源に接続された後にブリッジングインフラストラクチャを使用するための方法７００の流れ図である。方法７００は、図６の使用ステージ６３０の一例を表す。方法７００は、図２で参照されるいくつかのデータの流れ２３１から２３８をもたらすために図２の環境２００内で実行され得る。したがって、図７の方法７００は、図２の環境２００に関してここで説明されることになる。第２の制御によって実行される動作は、見出し（「第２の制御」）の下の図７の左の列において参照され、７１０代のラベルを付される。第１の制御によって実行される動作は、見出し（「第１の制御」）の下の図７の右の列において参照され、７２０代のラベルを付される。
【００５１】
[0056]第２の制御は、先ず、オンプレミス資源に宛てられたアプリケーションからの通信をインターセプトする（動作７１１）。たとえば、図２において、第２の制御２５２は、アプリケーション２１１Ａからの通信を受信する（矢印２３１によって表されるように）。この通信は、その資源がパブリッククラウド内からアクセスされる場合と同じに構築されてもよい。したがって、アプリケーション２１１Ａ自体は、その資源が実際にどこに置かれるかに全く依存しなくてもよい。第１の制御２４２、第２の制御２５２及びブリッジングインフラストラクチャ２３０によって確立された通信チャネルの存在は、アプリケーション２１１Ａからすると抽象化されたものでもよい。
【００５２】
[0057]第２の制御は、次いで、適切なフレーミング又はトンネリング機構を使用してアプリケーション２１１Ａから元のメッセージをフレーミングし、オンプレミス資源に第１の制御による経路指定のためにブリッジングインフラストラクチャを介して通信をリダイレクトする（動作７１２）。元のメッセージのフレーミングは、アクセス制御のために又はオンプレミス資源によって元のメッセージを正確に処理するために必要とされ得る任意のメッセージヘッダ又は他の制御情報を保存する。もちろん、この通信は、セキュリティのために暗号化され得る。たとえば、図２では、第２の制御２５２は、ブリッジングインフラストラクチャ２３０を介する通信をリダイレクトするものとして示される（矢印２３２によって表される）。
【００５３】
[0058]第１の制御は、次いで、リダイレクトされた通信をブリッジングインフラストラクチャを介して受信する（動作７２１）。たとえば、図２では、第１の制御２４２は、通信を受信するものとして示される（矢印２３３によって表される）。第１の制御は、次いで、元のメッセージからフレーミングを取り除き、通信をオンプレミス資源にリダイレクトする（動作７２２）。たとえば、図２では、第１の制御２４２は、オンプレミス資源２２１Ａに通信をリダイレクトするものとして示される（矢印２３４によって表される）。オンプレミス資源からの通信への応答がない場合（決定ブロック７３２における「いいえ」）、次いで、方法７００は、終了し得る。
【００５４】
[0059]通信への応答がある場合（決定ブロック７２３における「はい」）、次いで、第１の制御は、その応答を受信し（動作７２４）、選択されたフレーミング機構を使用してそれをフレーミングし、ブリッジングインフラストラクチャを介してその応答を転送する（動作７２５）。たとえば、図２において、第１の制御２４２は、オンプレミス資源２２１Ａから応答を受信し（矢印２３５によって表されるように）、その応答をブリッジングインフラストラクチャ２３０にリダイレクトする（矢印２３６によって表されるように）。
【００５５】
[0060]第２の制御は、ブリッジングインフラストラクチャを介して応答を受信し（動作７１３）、第１の制御によって追加されたフレーミングを取り除き、オンプレミス資源からアプリケーション２１１Ａに元の応答をリダイレクトする（動作７１４）。たとえば、図２では、第２の制御２４２は、ブリッジングインフラストラクチャ２３０を介して応答を受信し（矢印２３７によって表されるように）、アプリケーションに応答をリダイレクトして戻す（矢印２３８によって表されるように）。いくつかの実施形態では、応答は、オンプレミス資源がパブリッククラウド内にあるかプライベートネットワーク内にあるかにかかわらず、同じものに見え、又は同じスキーマを有し得る。
【００５６】
[0061]図８は、パブリッククラウド内のアプリケーションが、次いで、ブリッジングインフラストラクチャを使用してプライベートネットワーク上の資源にどのようにアクセスし得るかのより具体的な例を示すランタイムプロセスを示す。この場合、アプリケーションは、ウェブサイトである。この場合もやはり、アプリケーションは、「Ａｚｕｒｅ」ウェブサイトのラベルを付されるが、本明細書で説明される原理は、任意の特定のパブリッククラウド識別又はプロバイダに限定されず、プライベートネットワーク資源を要求するアプリケーションプロバイダ又は識別に限定されない。どんな場合にも、アプリケーションは、遠隔資源（パブリッククラウドから直接到達することができない）を、それが近くに位置するかのように、そして、それが直接アクセス可能であるかのように、アドレス指定する。
【００５７】
[0062]アプリケーションがホストされるパブリッククラウドプラットフォームは、エージェントをアプリケーションランタイムに組み込む。エージェント（図８のハイブリッド接続エージェント）は、アプリケーションがリンクされる先の論理ハイブリッド接続、及び、それが表す遠隔資源のアドレス／ポート情報を決定する。エージェントは、遠隔資源に宛てられたアプリケーションからのすべてのトラフィックをインターセプトし、元のメッセージのフレーミングのためにＮｅｔＴｃｐＲｅｌａｙＢｉｎｄｉｎｇを使用し、それをハイブリッド接続に送信する。ＮｅｔＴｃｐＲｅｌａｙＢｉｎｄｉｎｇが、この特定の例では使用されるが、他のフレーミング機構又はトンネリングプロトコルが、使用され得る。
【００５８】
[0063]ハイブリッド接続は、アプリケーションによって送信されたすべての要求を遠隔資源へのさらなる転送のためにプライベートネットワークでホストされた資源プロキシ（図８の「ハイブリッド接続マネージャサービス」）に転送する。さらに、ハイブリッド接続は、遠隔資源によって送信されたすべての応答をアプリケーションに転送する。
【００５９】
[0064]プライベートネットワーク上のプロキシサービスは、アウトバウンドネットワーク接続（たとえば、ＴＣＰ、ＨＴＴＰ、ＨＴＴＰＳ又はＷｅｂＳｏｃｋｅｔを介する）を使用してパブリッククラウドからの接続要求をリッスンする。パブリッククラウド上のアプリケーションからの接続要求は、次いで、プライベートネットワーク上の資源に転送され、応答は、パブリッククラウド上のアプリケーションに返される。プロキシは、元のメッセージを資源に転送する前に、元のメッセージからＮｅｔＴｃｐＲｅｌａｙＢｉｎｄｉｎｇのフレーミングを取り除き、資源からの応答をアプリケーションに返すときにそのフレーミングを逆に追加する。
【００６０】
[0065]したがって、本明細書で説明される原理は、パブリッククラウド内のアプリケーションがオンプレミス資源に接続できるようにするブリッジングインフラストラクチャを準備、接続及び使用するための便利な高度に自動化された機構を提供する。本発明は、その趣旨又は本質的特質を逸脱することなしに他の特定の形で実施され得る。記載された実施形態は、あらゆる点に単に例示であり、限定ではないものとして考えられるものとする。したがって、本発明の範囲は、前述の説明によってではなくて、添付の特許請求の範囲によって示される。本特許請求の範囲と同等の意味及び範囲内にあるすべての変更は、それらの範囲内に包含されるものとする。
【図１】
2017516410.tif 000003
【図２】
2017516410.tif 000004
【図３】
2017516410.tif 000005
【図４】
2017516410.tif 000006
【図５】
2017516410.tif 000007
【図６】
2017516410.tif 000008
【図７】
2017516410.tif 000009
【図８】
2017516410.tif 000010
【国際調査報告】
2017516410.tif 000011
2017516410.tif 000012
2017516410.tif 000013