JP2013534019A - プライベート・クラウド・コンピューティングためのシステムおよび方法 - Google Patents

プライベート・クラウド・コンピューティングためのシステムおよび方法 Download PDF

Info

Publication number
JP2013534019A
JP2013534019A JP2013519751A JP2013519751A JP2013534019A JP 2013534019 A JP2013534019 A JP 2013534019A JP 2013519751 A JP2013519751 A JP 2013519751A JP 2013519751 A JP2013519751 A JP 2013519751A JP 2013534019 A JP2013534019 A JP 2013534019A
Authority
JP
Japan
Prior art keywords
cloud
application
service
cloud application
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013519751A
Other languages
English (en)
Other versions
JP2013534019A5 (ja
JP5982366B2 (ja
Inventor
マッカーシー,クリストファー
サリバン,ケヴィン
クリシュナン,ラジット
Original Assignee
ステイト・ストリート・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ステイト・ストリート・コーポレーション filed Critical ステイト・ストリート・コーポレーション
Publication of JP2013534019A publication Critical patent/JP2013534019A/ja
Publication of JP2013534019A5 publication Critical patent/JP2013534019A5/ja
Application granted granted Critical
Publication of JP5982366B2 publication Critical patent/JP5982366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Control By Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

クラウド・コンピューティングのための、およびプライベート・クラウド内のクラウド・アプリケーションの開発・展開のためのシステムおよび方法を開示する。本発明のプライベート・コンピューティングのシステムおよび方法は、少なくとも、クラウド・コントローラ、クラウド・スタック。サービス・レジストリ、およびクラウド・アプリケーション・ビルダをコンポーネントとして含む。

Description

関連出願
[0001]本出願は、「クラウド・コンピューティングの自己組織化」(Self-Organizing Cloud Computing)と題した2010年7月9日付けの米国仮出願第61/363,092号、 35 U.S.C. §119(e)の下での優先権の利益を享受するものである。
[0002]本発明は、クラウド・コンピューティングためのコンピュータ・ベース・システムと方法に関し、より詳細にはプライベート・クラウド・コンピューティングのための、また、プライベート・クラウド内でのクラウド・アプリケーションの開発(development)および適用(deployment)のためのコンピュータ・ベース・システムおよび方法に関するものである。
従来技術
[0003]一般的に、クラウド・コンピューティングは、インターネットのようなデジタル・ネットワークを用いた複数のサーバ・ベースの計算リソースの使用およびそのアクセスに関連する。クラウド・システム・ユーザは、クラウドを使用しているクライアント・デバイス、例えばデスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット型コンピュータ、スマートフォン、パーソナル・デジタル・アシスタント(PDA)、その他類似するタイプのデバイス(以下これらをまとめて「クライアント・デバイス」または「複数のクライアント・デバイス」と称する)のウェブ・サーバ・サービスにアクセスする。
[0004]クラウド・コンピューティングでは、アプリケーションはクラウド・サーバによって提供および管理される。また、データはクラウド・データベースにリモートに格納される。通例は、クラウド・システム・ユーザは、クラウドに存在するアプリケーションを自身のコンピューティング・デバイス上にダウンロードしたりインストールしたりすることはしない。何故ならば、処理および記憶は、クラウド・サーバおよびクラウド・データベースによってそれぞれ維持されるからである。
[0005]通例は、オンライン・サービスが、クラウド・プロバイダまたはプライベート組織によって提供される。このことは、クラウド・システム・ユーザが、アプリケーション・ソフトウェアを自身の個別のクライアント・デバイス上にインストールする必要性からも明らかである。このように、クライアント・デバイス上に要求されるクライアント・バージョンのアプリケーションがインストールされることなく、クライアント・サービスによって実行および管理されるクラウド・サーバ上のアプリケーションを提供することによって、クラウド・コンピューティングは、古典的なクライアント・サーバー・モデルと異なるものとなる。クラウド・サービスの中央化は、クライアントに提供されるブラウズ・ベースのアプリケーションのバージョンにわたるクラウド・サービス・プロバイダ制御を与える。このことはまた、個々のクライアント・デバイス上において更新されたバージョンのアプリケーションの必要性をも取り除く。
[0006]動作において、クラウド・システム・ユーザは、パブリックまたはプライベートのクラウドに対しログインすることになる。コンピューティングは、次いで、ウェブ・ブラウザ・プロトコルを用いてクライアント/サーバ・ベースで実行される。クラウドはサーバ・ベースのアプリケーションおよびクラウド・システム・ユーザへの全てのデータ・サービスを、前記クライアント・デバイス上にそれから表示される結果と共に提供する。このように、クラウド・システム・ユーザは、クライアント・デバイス上のクラウド・アプリケーションを用いて行われている行為(work)を表示するデータベースにおいてリモートで起動している所望のアプリケーションに対してアクセスすることになる。
[0007]クライアント・デバイスに配置されるクラウド・データベース・ストレージが用いられて、クライアント・デバイス・ディスプレイに出現(appear)されるアプリケーションが作成される。しかしながら、すべての計算および変更がクラウド・サーバによって記録され、また、作成および修正されるファイルがクラウド・データベース・ストレージに永久的に記憶される。
[0008]クラウド・コンピューティングは、実装する際に、動的にスケーラブルかつ仮想化されたリソースを供給することを含む。これにより、物理的な位置についてのクラウド・システム・ユーザのナレッジ、および要求されたサービスをデリバするシステム構成が無くても、クラウド・プロバイダによって実行することができる。このように、クラウド・コンピューティングのインフラストラクチャは、共有データセンタを通じてデリバされるサービスを含む。しかしながら、クライアント側からは、このクラウドはアクセスの単一ポイントとして出現する。
[0009]一般的なクラウド・アーキテクチャは、クラウド・コンピューティング・サービスのデリバリに関わるハードウェアおよびソフトウェア・システムのアーキテクチャを含む。クラウド・コンピューティング・アーキテクチャにおける2つの重要な構成要素は、「フロントエンド」および「バックエンド」である。フロントエンドは、彼/彼女のクライアント・デバイスにおいてクラウド・システム・ユーザが見るものである。これは、ウェブ・ブラウザのようなユーザ・インターフェイスを介してクラウドにアクセスするために用いられるクライアント・デバイス・アプリケーションを含む。クラウド・コンピューティング・アーキテクチャのバックエンドは、クラウド・システム・ユーザが何らのナレッジも有さない、様々なコンピュータ、サーバおよびデータ・ストレージ・デバイスを備えるクラウドそのものである。
[0010]典型的なクラウド・コンピューティング環境内の共有サービスについて、全般的に図1の100に示している。クライアント102は、ウェブ・サービスによるアプリケーション・デリバリについてのクラウド・コンピューティングに依存する内部ソフトウェアを有したクライアント・デバイスである。クラウド・アプリケーション104はまた、「Software as a Service (SaaS)」と称されるクラウド・アプリケーション・サービスでもある。これは、クラウド・システム・ユーザのコンピューティング・デバイス上にアプリケーションをインストールおよび起動する必要性を取り除くインターネット上のソフトウェア・デリバリである。これらのアプリケーションはクラウド・アプリケーションであるので、これらアプリケーションにおける保守およびサポートは非常に単純化されている。
[0011]クラウド・プラットフォーム106はまた、「Platform as a Service (PaaS)」とも称されるクラウド・プラットフォーム・サービスである。PaaSは、サービスとしてのコンピューティング・プラットフォームおよび/またはソリューション・スタックであり、このサービスは、クラウド・インフラストラクチャおよびクラウド・アプリケーションを使用する。これは、クラウドからのアプリケーションの展開(deployment)を容易にする。
[0012]クラウド・インフラストラクチャ108はまた、「Infrastructure as a Service (IaaS)」とも称されるクラウド・インフラストラクチャ・サービスである。IaaSは、通例、プラットフォームの仮想化という形態のサービスとしてコンピュータ・インフラストラクチャをデリバリするものである。クラウド・インフラストラクチャ・サービスは、物理マシン上で起動する仮想マシンを動作させるデータセンタの形態とすることができる。
[0013]サーバ110は、クラウドのサーバ層に関係する。これは、クライアント102に対してクラウド・サービスをデリバリするためのコンピュータ・ハードウェアおよびソフトウェアを含む。
[0014]先に述べたように、クラウドは、パブリックまたはプライベートなものとすることができる。また、両方の要素を含むことができる他のクラウド構成もある。いくつかの周知のクラウド・タイプについてこれから簡単に述べる。
[0015]「パブリック・クラウド」は、リソースがサードパーティ・プロバイダからウェブ・アプリケーションおよびウェブ・サービスを用いてインターネットを通じて動的に配給されるクラウドである。
[0016]「コミュニティ・クラウド」は、いくつかの組織が同程度の要件を有し、クラウド・コンピューティングの利点を実現するためにインフラストラクチャを共有しようとして確立されるものである。
[0017]「複合型(hybrid)クラウド」は、サービスをいくつかの企業内(in-house)の方法に対して従来のやり方によってデリバし、企業(company)で固定化されたデリバリ方法から生じる性能、セキュリティおよびプライバシ上の問題を管理する際における複雑性を管理する技術を提供するための企業の必要性を認識させるものである。複合型クラウドは、パブリック・ストレージ・クラウドおよびプライベート・ストレージ・クラウドの組む合わせを用いる。
[0018]「結合型(combined)クラウド」は、2つのクラウドが結合されるものである。このような構成では、複数の内部および/または外部のクラウド・プロバイダが存在するであろう。
[0019]「プライベート・クラウド」は、基本的には、プライベート・ネットワーク上で動作しているパブリック・クラウドのエミュレーションである。仮想化を通じて、プライベート・クラウドは、仮想マシンの企業ワイド(virtual machines enterprise-wide)上のアプリケーションをホストする能力を企業(enterprise)に与える。このことは、共有ハードウェア・コスト、より良好なサービス・リカバリ、および要求に応じて拡大(scale up)または縮小(scale down)する能力という利点を提供する。
[0020]しかしながら、より良好なシステムの実装のためのコンピュータ・ベースのプライベート・クラウド・システム、ならびに、クラウド・コンピューティングおよび企業ワイド・ベースのクラウド・アプリケーション開発および適用のための方法における必要性が存在する。
本発明のシステム及び方法は、これらの必要性を解決するものである。
[0021]本発明は、クラウド・コンピューティング、ならびに企業内のプライベート・クラウドにおいてクラウド・アプリケーション開発および展開のためのコンピュータ・ベース・システムおよび方法である。さらに本発明は、プライベート・クラウド・コンピューティングのためのコンピュータ・ベース・システムおよび方法に向けられており、クラウド・インフラストラクチャが、プライベート・クラウド・システムについて開発されたクラウド・アプリケーションの展開および使用によって生じる変更に対し自動で適応し、さらには応答することを可能にする。本発明のプライベート・クラウド・コンピューティング・システムおよび方法は、図1に示されるアプリケーション・レイヤ104の一部として組み込むことができるアプリケーション・レイヤおよびサービス・レイヤのような、より高位レベル・レイヤで実装することができる。
[0022]本発明のプライベート・クラウド・コンピューティング・システム及び方法は、好ましくは、クラウド・コントローラ、クラウド・スタック、サービス・レジストリ、およびクラウド・アプリケーション・ビルダを含む。クラウド・コントローラは、プライベート・クラウドにインテリジェンスを提供する。クラウド・コントローラは、クラウド・データベースに収集され格納される情報を分析するために用いるルール・エンジンを含む。このデータベースは、クラウド・アプリケーション・バイナリをモニタリング情報と同様に格納する。従って、典型的なファイル・システムに格納されているクラウド・アプリケーションではなく、本発明のコンピュータ・ベース・プライベート・クラウド・システムは、クラウド・アプリケーションをデータベース内に格納し、その結果、当該アプリケーションを簡易で効率的な方法によりクラウド全体において維持することができる。
[0023]クラウド・スタックは、クラウドについてのオペレーティング・ソフトウェアを含む。例えば、クラウド・スタックは、オペレーティング・システム・ソフトウェア、仮想マシン・ソフトウェア、ウェブ・サーバ・ソフトウェア、アプリケーション・サーバ・ソフトウェア、ネットワーク・セキュリティ・ソフトウェア、ウェブ・アクセス管理ソフトウェア、データベース・ドライバ・ソフトウェア、アプリケーション・ビルダ・ランタイム・ソフトウェア、およびサードパーティ・ライブラリを含むことができる。
[0024]サービス・レジストリは、プライベート・クラウドにおいて展開される少なくともクラウド・アプリケーションについてのウェブ・サービス・レジスタを収容する。ウェブ・サービスは多くの異なる方法によって検索可能であり、その結果、開発者は、彼らがプライベート・クラウドに展開するために開発しているクラウド・アプリケーションを用いて再利用できそうなウェブ・サービスおよびこれらの詳細情報をビューすることができる。
[0025]クラウド・アプリケーション・ビルダは、クラウド・コントローラを用いてプライベート・クラウドに展開されるアプリケーションをビルドする手段を開発者に提供する。クラウド・アプリケーション・ビルダは、好ましくは、クラウド・アリケーションのコンポーネントを作成するためのツールを含む。これらのコンポーネントは、好ましくは、プライベート・クラウドに展開されることになるクラウド・アプリケーションごとに、ウェブ・サービス、ユーザ・インターフェイスおよびジョブを含む。このように、クラウド・アプリケーション・ビルディング・ツールは、ウェブ・サービスを開発するためのツール、クラウド・アプリケーションへのアクセス・レベルを制御するためのユーザ・インターフェイスを開発しサービス・レジストリ内のウェブ・サービスを登録するためのツール、およびジョブを開発するためのツールを含む。しかしながら、これらに限定されない。これらのツールを用いると、開発および展開される各クラウド・アプリケーションは、フォアグラウンドのタスク、データ・ストレージおよびバックグラウンドのタスクを管理するためのユーザ・インターフェイスを含む。しかしながら、これらツールは多かれ少なかれ利用することができ、また、それがなおも本発明の範囲内にあるものと理解される。
[0026]クラウド・アプリケーションをビルドすることに関し、好ましくは相違する2つの部分がある。第1は、クラウド・アプリケーションをビルドするための開発時間であり、そして、第2は、クラウド・アプリケーション・フレームワークであろう。開発時間は、クラウド・アプリケーション・フレームワークに従ってアプリケーションをビルドするためのクラウド・アプリケーション・ビルダの使用を含む。クラウド・アプリケーション・フレームワークは、結果として生じるクラウド・アプリケーション・コンポーネントと共に、プライベート・クラウドに展開される。
[0027]本発明のシステムおよび方法は、クラウド・アプリケーションへのアクセスを認可するユーザ役割(user role)を管理する企業セキュリティ財団(「eSF」; enterprise Security Foundation)のソフトウェアを含む。したがって、eSFを通じて、アクセス・セキュリティが、本発明のプライベート・クラウドに提供される。
[0028] 本発明のシステムおよび方法によれば、プライベート・クラウドの様々なウェブ・サーバおよびアプリケーション・サーバにクライアント・デバイスから入来する要求をルーティングすることによってクラウド・アプリケーションおよびウェブ・サービスを利用するために、クラウド・インフラストラクチャ・リソースが、これら要求をバランシングすることにより管理される。
[0029]本発明のプライベート・クラウド内部では、また、クラウド・アプリケーションについてのウェブ・サービスに関連するビジネス・ルールの作成も存在することができる。これらは、より大きなフレキシビリティ、管理、ならびにプライベート・クラウド内で開発および展開されるクラウド・アプリケーションの制御を提供する。
[0030]本発明のプライベート・クラウド・コンピューティング・システム及び方法は、外部サービスをサポートする。したがって、クラウド・データベースへのサービスの提供は、このような外部サービスのアクセスおよび制御についてのセルフサービス・アプリケーションを用いて実施することができる。
[0031]本発明のプライベート・クラウド・コンピューティング・システム及び方法は、ログファイル内の使用データ、およびプライベート・クラウドで起動しているクラウド・アプリケーションに関連付けられた健康状態記録(health record)を分析するためにクラウドをモニタリングするサービスを企図する。分析の結果は、クラウド・インフラストラクチャを拡大または縮小し、アラート処理を制御し、そしてキャパシティ・プランニングを容易にするために用いる。
[0032]本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システム及び方法は、企業内でのクラウド・アプリケーションおよびウェブ・サービスの開発および適用を提供する。
[0033]本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システム及び方法はまた、クラウド・コントローラ、クラウド・スタック、サービス・レジストリ、およびクラウド・アプリケーション・ビルダを用いて実施することができる。この実施を行う際、クラウド・アプリケーション・ビルダは、クラウド・アリケーション・フレームワークに従ってクラウド・アプリケーションをビルドする。一旦クラウド・アプリケーションがビルドされると、クラウド・スタックおよびサービス・レジストリを有するクラウド・コントローラは、プライベート・クラウドのクラウド・アプリケーションを展開するために用いられる。
[0034]本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システム及び方法は、さらに、クラウド・スタックを通じたPaaSを提供し、企業システムのニーズを予想することによるIaaS拡張を行い、企業がクラウド・アプリケーション開発および適用のプロセスの標準化を支援する。
[0035]本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システム及び方法は、図面を参照して本明細書の残りで更に詳細に説明される。
[0036]図1は、サービスをクラウド環境で共有できる階層構造についての代表的な図を示している。 [0037]図2Aは、本発明のコンピュータ・ベース・プライベート・クラウド・コンピュータ・システムが有する物理構造の代表的な図を示している。 [0038]図2Bは、図2Aに示した本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムが有する論理構造の代表的な図を示している。 [0039]図3は、本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムが有するクラウド・コンポーネントの代表的な面を示している。 [0040]図4は、本発明のプライベート・クラウド・コンピューティング・システムのコンポーネントが有する論理構造の代表的な図を示している。 [0041] 図5は、本発明のコンピュータ・ベース・コンピューティング・システムによるフォアグラウンド・タスク、データ・ストレージおよびバックグラウンド・タスクについてのクラウド・ユーザ・インターフェイス管理のための代表的な図を示している。 [0042]図6は、サービス・レジストリを含む本発明のプライベート・クラウド・コンピューティング・システムについての論理アーキテクチャの代表的な図を示している。 [0043]図7は、本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムについてのサービス・レジストリ・アーキテクチャの代表的な図を示している。 [0044]図8は、本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムによるクラウド・アプリケーションのウェブ・サービス・コンポーネントにおける開発についてのプロセスの代表的な視覚図を示している。 [0045]図9は、本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムによるバックグラウンド・ジョブ開発およびハンドリングについての代表的な図を示している。 [0046]図10は、eSFセキュリティを実施するための代表的な図を示している。 [0047]図11は、クラウド・アプリケーションについての機能グループ形成、およびこのように形成された機能グループがアクセス権を有するサービスに関係する代表的な図を示している。 [0048]図12は、機能グループを決定するために用いられるクラウド・アプリケーション役割に関係する代表的な図を示している。 [0049] 図13は、図12に示される管理者役割用のeSF権限(entitlement)マップについての代表的な図を示している。 [0050] 図14は、図12に示されるシステム・ユーザ役割用のeSF権限マップの代表的な図を示している。 [0051]図15は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中(DRAFT)から公開済み(PUBLISHED)に変更するための代表的な画面表示を示している。 図16は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための代表的な画面表示を示している。 図17は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための代表的な画面表示を示している。 図18は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための代表的な画面表示を示している。 図19は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための代表的な画面表示を示している。 図20は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための代表的な画面表示を示している。 図21は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための代表的な画面表示を示している。 図22は、クラウド・アプリケーション・プロファイルを作成し、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための代表的な画面表示を示している。 [0052]図23Aは、自動審査(Auto-Audit)ルールについてのアプリケーションに関連したアクションに関係する代表的な図を示している。 [0053]図23Bは、クラウド・アプリケーション・プロファイルのステータスが変更したときに検査される自動審査ルールの代表的なリストを示している。 [0054]図24は、本発明のコンピュータ・ベース・プライベート・クラウド・システムによるダッシュボード(Dashboard)についての代表的な画面表示を示している。 [0055]図25は、本発明のコンピュータ・ベース・プライベート・クラウド・システムによる代表的なサービス・レジストリ表示画面について示している。 [0056]図26は、本発明のコンピュータ・ベース・プライベート・クラウド・システムによる代表的なウェブ・サービスの詳細表示画面について示している。 [0057]図27は、クラウド・アプリケーション展開ワークフローに関する代表的な図を示している。 図28は、クラウド・アプリケーション展開ワークフローに関する代表的な図を示している。 図29は、クラウド・アプリケーション展開ワークフローに関する代表的な図を示している。 図30は、クラウド・アプリケーション展開ワークフローに関する代表的な図を示している。 図31は、クラウド・アプリケーション展開ワークフローに関する代表的な図を示している。 図32は、クラウド・アプリケーション展開ワークフローに関する代表的な図を示している。
[0058]本発明は、クラウド・コンピューティング、ならびに企業内プライベート・クラウドにおけるクラウド・アプリケーションの開発(development)および展開(deployment)のためのコンピュータ・ベース・システムおよび方法に向けられている。本発明はまた、プライベート・クラウド・コンピューティングのためのコンピュータ・ベース・システムと方法にも向けられており、クラウド・インフラストラクチャは、そのプライベート・クラウド・システムのために開発されたアプリケーションの展開および使用によって生じる変更に対し、自動的にまたは実質的に自動的に適応および応答する。本発明のプライベート・クラウド・コンピューティング・システムおよび方法は、図1に示されるアプリケーション層104の一部として組み込むことができるアプリケーション・レイヤおよびサービス・レイヤのようなより高位レベル・レイヤにおいて実施される。
[0059]図2を参照する。全般的に200において、本発明のコンピュータ・ベース・プライベート・クラウド・コンピュータ・システムの物理構造についての代表的な図が示されている。図2において、クラウド・アプリケーション・サーバを形成するクラウド・クラスタおよびルータが202に示される。このクラスタは、クラウド・アプリケーション・サーバを形成する4台のサーバ・コンピュータを示す。このように、サービス提供を通じた本発明のプライベート・クラウドにおける負荷バランシングの特徴のために、任意のものを提供することができ、クラウド・アプリケーションまたはウェブ・サービスへの要求をハンドルする。しかしながら、クラスタは、4台よりも多いまたはそれより少ないサーバ・コンピュータを備えることができ、なおも本発明の範囲内にあるものとすることができる。
[0060]外部クラウド・サービス204は、クラウド・アプリケーション・サーバ202に接続される。図示の外部クラウド・サービスは、ネットワーク・セキュリティをクラウドに提供するために用いるクロークウェア・サーバ(cloakware server)206を含む。
[0061]外部クラウド・サービス204は、ファイル転送サービス210を含む。ファイル転送サービス210によって取り扱われるサービスには、クライアント・デバイス−クラウド間、クラウド−外部システム間、および内部クラウドにおけるファイル転送が含まれるが、これに限定されない。これらのファイル転送をセキュリティ目的のために暗号化できるということは、本発明の範囲内にある。
[0062]外部クラウド・サービス204に示される最後のサーバは、eメール・サーバ212である。このサーバは、eメール・メッセージをクライアント・デバイスに送信し、およびeメール・メッセージを送クライアント・デバイスから受信するためのものである。より具体的には、このサーバにハンドルされることが予想されるeメール・メッセージには、プライベート・クラウドから外部システムへのeメール・メッセージが含まれ、例えば、プライベート・クラウド内でアラート条件またはサービス・レベル目標(「SLO;Service level objective」)違反を通知する。
[0063]クラウド・アプリケーション・サーバ202は、アプリケーション・データベース214に接続する。好ましくは、このデータベースは、クラウド・アプリケーション・データを格納する。このデータは、例えば、アプリケーション・トランザクション・データ、レポートおよびウェアハウス・データを含む。
[0064]ウェブ・サーバ216は、クラウド・アプリケーション・サーバ202に接続して、クライアント・デバイス222およびクラウド・アプリケーション・サーバ202の間に配置される。Webサーバ216は、従来どおり、コンテンツをクライアント・デバイスに提供し、また、クラウド・アプリケーション・サーバ202に向けられるクライアント・デバイスからの要求を処理するように動作する。ウェブ・サーバ216はまた、サイトマインダ(SiteMinder)サーバ218にも接続する。好ましくは、サイトマインダ・サーバ218は、認証サービスの形態でウェブ・アクセス管理をウェブ・サーバ216に提供する。
[0065]クライアント・デバイス222およびウェブ・サーバ216の間に配置される負荷バランサ220は、クラウド・インフラストラクチャ内のクラウドにおいて起動しているクラウド・アプリケーションの分散(distribution)をバランシングするためのサービス提供を行う。より具体的には、負荷バランサ220は、数多くのウェブ・サーバ間で入来するHTTP要求を負荷バランシングする。数多くのウェブ・サーバの1つのみを図2Bに示す。
[0066]図2Bを参照する。全般的に230において、図2Aに示した本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムの論理構造の代表的な図を示している。負荷バランサ220は、ウェブ・サーバのプールに入来するHTTP要求をバランシングし、そして、ウェブ・サーバのようなクラウド・インフラストラクチャを、上りおよび下りについてトラフィックのニーズを満たすようにスケーリングする。Webサーバ216/218は、Webサーバおよびシングル・サインオン・ベースの認証エージェントの機能を実行する。
[0067]ウェブ・サーバは、アプリケーション・ルータに要求をルーティングする。アプリケーション・ルータは、アプリケーション・サーバ202の一部であるルータのクラスタ形態である。アプリケーション・ルータは、クラウド・アプリケーション・サーバ・クラスタ内でウェブ・サービスに要求をルーティングする。クラウド・アプリケーション・サーバ・クラスタはまた、クラウド・アプリケーション・サーバ202の一部でもある。各サービスは、固有IDによって識別される。
[0068]アプリケーション・サーバ・クラスタは、ウェブ・サービスをホストし、アプリケーション・ルータ・クラスタからこのようなサービスについての要求を受信する。アプリケーション・サーバ・クラスタはまた、ジョブを収容する。ジョブは、アプリケーション・サーバ・クラスタ内に常駐するクラウド・アプリケーションの一部であるバッチ・ジョブである。
[0069]アプリケーション・サーバ・クラスタのウェブ・サービスは、企業データを含むアプリケーション・データベース214に接続する。アプリケーション・データベースは、プライベート・クラウドの外側に常駐する。企業データは、オンライン・トランザクション処理(「OLTP」)およびウェアハウス・データを含み、これらは別々に格納される。好ましくは、オラクル・インスタンスとして示される複製(replicated)インスタンスが、OLTP用のデータを保有する。
[0070]図3を参照する。全般的に300において、本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムのコンポーネントが示されている。これらコンポーネントについてこれから説明する。
[0071]本発明のコンピュータ・ベース・プライベート・クラウド・コンピューティング・システムの主要なコンポーネントは、クラウド・コントローラ302、クラウド・スタック324、サービス・レジストリ345およびクラウド・アプリケーション・ビルダ350を含む。先に述べたように、クラウド・コントローラ302は、本発明のコンピュータ・ベース・プライベート・コンピューティング・システムにインテリジェンスを供給する。クラウド・コントローラ302の一般的な機能は、展開ワークフローをハンドルすること、クラウド・アプリケーションを展開するための時間および日付を設定すること、起動することになるクラウド・アプリケーションに従ってプラットフォーム・ニーズの拡大および縮小をすること、物理マシンおよびバーチャル・マシンを点検するための時間および日付を設定すること、クラウド・アプリケーション・ログを走査するための時間および日付をセットすること、クラウド・アプリケーション・トランザクションをモニタリングするための時間および日付を設定すること、およびエラーがプライベート・クラウド内で発生したときにアラートを送ることである。展開ワークフローについては、図27〜32に関してこれよりより詳細に説明する。
[0072]クラウド・コントローラ302の有する変更制御(Change Control)サービス308は、クラウド・アプリケーションのセットアップに関連付けられる。変更制御サービス308は、クラウド・アプリケーション用に作成されるバンドルされたバイナリを受け入れて、認可されたシステム・ユーザが、クラウド・アプリケーション・プロファイルを作成および更新し、ならびに特定のクラウド・アプリケーションに関する情報を閲覧することを許可する。クラウド・プロファイルの作成は、既にプライベート・クラウドに展開されてきたクラウド・アプリケーションのためのものであり、起動されることになる適切なクラウド・アプリケーションを特定する。
[0073]変更制御サービス308は、認可されたユーザが、識別フィールドのない既存のプロファイルの記載(description)をコピーすることを許可し、その結果、新規のクラウド・アプリケーションを記載するために用いることができる。変更制御サービス308はまた、認可されたユーザが、既存のクラウド・アプリケーション・プロファイルを閲覧して、それらが収容する情報を精査(review)することを許可する。さらに、変更制御サービス308は、認可されたユーザが、関連付けられたアプリケーション・バイナリを含む既存のアプリケーション・プロファイルを修正することを許可する。
[0074]変更制御サービス308は、認可されたユーザがアプリケーション・プロファイルのステータスを変更することを許可する。例えば、この機能を用いると、認可されたユーザであれば、クラウド・アプリケーションのステータスを「下書き中(DRAFT)」から「公開済み(PUBLISHED)」に変更できるだろう。しかしながら、他のステータスへの変更がなおも本発明の範囲内にあるとすることができるものと認識される。
[0075] 変更制御サービス308により、認可されたシステム・ユーザが、クラウド・アプリケーションのアプリケーション・ステータスを閲覧して、クラウド・アプリケーションの現在および直前のステータスを精査することを可能にする。変更制御サービス308はまた、認可されたシステム・ユーザが、クラウド・アプリケーションに関連付けられたプロパティを閲覧し、そして、それらプロパティを編集することを可能にする。
[0076]上記説明した変更制御サービス308の特徴は、好ましい特徴のみである。変更制御サービス308が、多かれ少なかれ上記説明した特徴を有することができ、そして、なおも本発明の範囲内にあるものとすることができることを意図している。
[0077]再度、クラウド・コントローラ302を参照すると、自動審査ルール(Auto-Audit rule)が310に示される。自動審査ルール310は、クラウド・アプリケーション・プロファイル・ステータスが変更されるときに検査される特定のルールに向けられる。自動審査ルール310はシステムについて構成され、通例では、クラウド・マネージャだけがこれらのルールを変更することができる。自動審査ルール310は、好ましくは、クラウド・アプリケーション・プロファイルに行われるあらゆる変更に適用されるルールのセットを含む。アラートは、この自動審査ルールに不合格になる度に発生される。自動審査ルール310について、図23Aおよび23Bに関して更に詳細に説明する。
[0078]クラウド・コントローラ302は、312においてプロビジョニング・サービスを示す。プロビジョニング・サービス312は、クラウド・コントローラのルール・エンジンによって発行される展開に関連したコマンドを実行する役割を果たす。プロビジョニング・サービス312は、クラウド・アプリケーション・インスタンスを自動的に作成、シャット・ダウン、および再開することになる。ここでは、インスタンスは起動しているアプリケーションのシングル・コピーとなる。プロビジョニング・サービス312は、プロビジョニングの実施のために、プラットフォーム・インフラストラクチャと相互作用する。動作において、クラウド・アプリケーションを起動する前に、プロビジョニング・サービス312は、クラウド・アプリケーションを起動し、そしてインフラストラクチャに提供するために必要となる資産(asset)を決定する。
[0079]上記説明したプロビジョニング・サービス312の特徴は、好ましい特徴だけである。プロビジョニング・サービス312は、多かれ少なかれ上記説明した特徴を有することができ、そして、なおも本発明の範囲内にあるとすることができることを意図している。
[0080]クラウド・コントローラ302は、314においてモニタリング・サービスを示している。モニタリング・サービス314は、様々なクラウド・アプリケーションの少なくとも動作上の性能についての情報をキャプチャする。アプリケーション・コントロールパネルおよびダッシュボードを通じたユーザ・インターフェイスが、このキャプチャした情報を彼/彼女のクライアント・デバイス上のシステム・ユーザに可視なものとする。さらに、情報は、ゾーンによって可視なものにすることができる。ゾーンは認可されたユーザによって作成され、本発明の目的を達成するために、ゾーンは予め決められたコンピュータのグループとして定義される。企業または他のタイプのグループ化の分類(division)によって、このようなコンピュータは、地域的にグループ化することができる。このように、ゾーンは、例えば、展開、システム・テスト、システム・ユーザによる受け入れ試験および製造のような環境の隔離のためのクラウドのセグメントを分離して、区別する手段となり、異なる物理位置およびデータセンタを識別して、素早い災害救助を可能とする。
[0081]モニタリング・サービス314はまた、認可されたユーザが、クラウド・サーバ構成をゾーンによって詳細フォーマットで閲覧し、クラウド・アプリケーションがどのようにゾーンまたはユーザが定義した基準によって用いられているかを示すトランザクションのリストを閲覧することを許可する。さらに、モニタリング・サービス314は、認可されたユーザが、プライベート・クラウドに関して特定クラウド・ユーザが何をしてきたかについて示す活動ログを閲覧することを許可する。認可されたユーザはまた、クラウドに関する物理マシン仮想マシン上のデータ、およびSLO違反に関するデータのグラフィカル表現を閲覧することもできる。モニタリング・サービス314は、認可されたユーザが、プライベート・クラウドに格納されるクラウド・アプリケーションに関する情報を閲覧し、現在、アクティブ状態であるクラウド・アプリケーションに関する情報を閲覧し、クラウド・アプリケーションに関して履歴データを閲覧すること許可する。さらには、モニタリング・サービス314は、認可されたユーザがSLO閾値を設定および更新し、SLO統計情報を精査し、そして、どのようなエラーがクラウド・アプリケーション内で発生しているかに基づきアクションすることを許可する。
[0082]上記説明したモニタリング・サービス314の特徴は、好ましい特徴だけである。モニタリング・サービス314は、多かれ少なかれ上記説明した特徴を有することができ、そして、なおも本発明の範囲内にあるとすることができることを意図している。
[0083]クラウド・コントローラのアラート・サービス316は、開発および展開プロセスにおけるクラウド・アプリケーションのステータス変化を示すために生成される。アラート・サービス316によって発生するアラートは、自動審査ルールに関連付けられる。アラートは、「情報(INFO)」、「警告(WARN)」、「エラー(ERROR)」および「致命的(FATAL)」のアラートとして分類される。クラウド・アプリケーションの開発において、クラウド・アプリケーションおよび承認者(approver)(クラウド・マネージャ)の開発者は、クラウド・アプリケーション・プロファイル・ステータスのあらゆる変化と関連したアラートをビューすることができる。展開プロセスにおいて、すべてのアラートは、クラウド・マネージャによる承認を必要とする。しかしながら、クラウド・マネージャは承認者について1つ以上のレベルを含むことができ、このことがなおも本発明の範囲内にあるものとも理解される。
[0084]クラウド・マネージャは、精査後にアラートを受理し、または拒否することができる。クラウド・マネージャがそのアラートを受理することを選択する場合、クラウド・アプリケーションは前進する(move forward)ことになる。しかしながら、クラウド・マネージャがアラートを拒否する場合には、クラウド・アプリケーション・プロファイルのステータスを下書き中に設定することによって、クラウド・アプリケーションを後方に移行することになる。その理由は「拒絶された(rejected)」からである。
[0085]アラート・サービス316は、認可されたユーザが、ゾーンによってクラウド・アプリケーションについてのプロファイル変更のアラートを構成することを許可する。例えば、クラウド・アプリケーションが拡大したとき、所定の数の健康状態検査(health check)が所定の時間量において不合格となったとき、またはSLO違反が平均を上回ったときに、アラートをアラート・サービス316によって送信することができる。アラートは、手動で、または所定の条件下(例えばeメールによる)では自動的に発出することができる。自動審査ルールに関するアラートは、図23A、23Bおよび32に関してこれよりより詳細に説明する。
[0086]上記説明したアラート・サービス316の特徴は、好ましい特徴だけである。アラート・サービス316は、多かれ少なかれ上記説明した特徴を有することができ、そして、なおも本発明の範囲内にあるとすることができるものと意図している。
[0087]クラウド・コントローラ302が有するSLOによる監視および遵守(watch and compliance)サービス318は、認可されたシステム・ユーザが、個々のクラウド・アリケーションにより、またはゾーンにより、すべてのSLO違反の概要をビューすることができる。SLO監視遵守サービス318はまた、認可されたシステム・ユーザが要約の評価のために個々の違反をビューすることを許可する。さらに、SLO監視遵守サービス318は、認可されたシステム・ユーザが個々のトランザクション違反のログをビューすることを可能にする。なおもさらに、SLO監視遵守サービス318は、認可されたユーザが、ユーザ、ゾーン、クラウド・アプリケーション、ウェブ・サービスその他所定の基準による違反をフィルタリングすることを許可する。
[0088]上記説明したSLO監視遵守サービス318の特徴は、好ましい特徴だけである。SLO監視遵守サービス318は、多かれ少なかれ上記説明した特徴を有することができ、そして、なおも本発明の範囲内にあるとすることができるものと意図している。
[0089]クラウド・コントローラ302のログ走査サービス320は、認可されたシステム・ユーザがクラウド・ドアリケーション、インスタンス、仮想マシンにおけるハイパバイザ(hypervisor)、その他のクラウド要素に関係する行動(activity)をビューすることを許可する。ログ走査サービスを用いると、認可されたシステム・ユーザは、いかなるクラウド・プリケーションまたはクラウド・コンポーネントのオンデマンドのログ走査をも要求することができる。さらに、ログ走査サービス320を用いると、認可されたシステム・ユーザは、展開されたクラウド・アプケーションに関係する行動をビューすることができる。
[0090]スレッド・アナライザ・サービス322は、認可されたシステム・ユーザが、起動しているクラウド・アプリケーションに関係する特定ノードに関し、プライベート・クラウド内で行うトランザクションをビューすることを許可する。
[0091]トランザクション・ブラウザ323は、認可されたシステム・ユーザがユーザ、ゾーン、クラウド・アプリケーション、ウェブ・サービス、その他の所定の基準によるトランザクションをフィルタリングすることを許可する。トランザクション・ブラウザ323は、共にグループ・トランザクションに対し認可されたユーザが、マクロ挙動(macro behavior)を理解し、クラウド・アプリケーションおよびゾーンによる時間統計情報をビューし、現在におけるクラウド・アプリケーションおよびゾーンについての応答時間統計情報を、通例のクラウド・アプリケーションおよびゾーンについての応答時間統計情報と比較することを許可する。
[0092]上記説明したスレッド・アナライザ・サービス322およびトランザクション・ブラウザ323の特徴は、好ましい特徴だけである。スレッド・アナライザ・サービス322およびトランザクション・ブラウザ323は、多かれ少なかれ上記説明した特徴を有することができ、そして、なおも本発明の範囲内にあるとすることができるものと意図している。
[0093]クラウド・スタック324は、プライベート・クラウドについてのソフトウェア・スタックを含む。クラウド・スタック324は、オペレーティング・システム・ソフトウェア326を含み、好ましくはLinux(登録商標)ソフトウェアである。さらに、クラウド・スタック324は、仮想マシンのオペレーティング・ソフトウェア328であり、クラウド内で起動している仮想マシンが用いるためのものである。仮想マシンは、ハイパバイザによって管理される。好ましくは、このソフトウェアは、サン・マイクロシステムズ社/オラクル社からのJava(登録商標)開発キット(「JDK」)ソフトウェアである。
[0094]クラウド・スタック324は、ウェブ・サーバ・ソフトウェア330を含み、このウェブ・サーバ・ソフトウェア330は、好ましくはApacheソフトウェア財団によるApacheWebServerソフトウェアである。クラウド・スタック324はまた、アプリケーション・サーバ・ソフトウェア332も含む。好ましくは、アプリケーション・サーバ・ソフトウェアは、Tomcatサーブレット・コンテナを含むJBossソフトウェアである。JBossソフトウェアはRed Hat社によるものであり、Tomcatサーブレット・コンテナ・ソフトウェアはApacheソフトウェア財団によるものである。
[0095]クラウド・スタック324は、ネットワーク・セキュリティ・ソフトウェア334を含み、好ましくはIrdeto B.V.によるクロークウェア(Cloakware)ソフトウェアである。クラウド・スタック324の次のソフトウェアはウェブ・アクセス管理ソフトウェア336であり、好ましくは、Computer Associates社によるサイトマインダ(SiteMinder)ソフトウェアである
[0096]クラウド・スタック324はデータベース・アクセス・ドライバ338を含み、好ましくはJDBCドライバである。クラウド・スタック324はまた、クラウド・アプリケーション・ビルダ・ランタイム・ソフトウェア340も含み、これは、プライベート・クラウドにおいて展開されることになるクラウド・アプリケーション・フレームワーク・ソフトウェアである。
[0097]最後に、クラウド・スタック324は、サードパーティのライブラリ342を含む。ライブラリの数として、このような1つ以上のサードパーティ・ライブラリを含むことができ、なおも本発明の範囲内にあるものとすることができる。
[0098]サービス・レジストリ345は、先にも説明したが、プライベート・クラウドにおいて展開されるクラウド・アプリケーションについての少なくともウェブ・サービスのレジストリを含む。サービス・レジストリは、プライベート・クラウド内で開発されたクラウド・アプリケーションを展開するために、クラウド・コントローラ302およびクラウド・スタック324と協働する。
[0099]好ましくは、クラウド・コントローラ302は、上記説明したサービスを含み、クラウド・スタックは、上記説明したソフトウェア・スタックを含み、これらは、クラウド・アプリケーション・フレームワークと共にランタイム・コンポーネントを形成する。ラウド・アプリケーション・フレームワークは、レバレッジされて、プライベート・クラウドにおける展開用にクラウド・アプリケーションを用意するために、クラウド・アプリケーションをビルドする。クラウド・コントローラ302およびクラウド・スタック324に関し、特定のコンポーネントについて、上記のように特定してきた。しかしながら、多かれ少なかれ、これらのコンポーネントはクラウド・コントローラ302およびクラウド・スタック324を形成し、これらはなおも本発明の範囲内にあるものと理解される。
[0100]クラウド・アプリケーション・ビルダ350は、本発明のプライベート・クラウドの展開のためのクラウド・アプリケーションおよびウェブ・サービスを開発するのに用いる。クラウド・アプリケーション・ビルダ350は、サービス開発ツールキット352を含み、主に、プライベート・クラウド内で展開される、クラウド・アプリケーションのためのウェブ・サービスの開発用に用いられる。このサービス開発ツールキットは、ウェブ・サービス、およびクラウド・アプリケーション・フレームワークに従って開発されるクラウド・アプリケーションについてのユーザ・インターフェイスの開発時に少なくとも用いられるツールを含む。
[0101]クラウド・アプリケーション・ビルダ350のクラウド開発ツールキット(「CDT」)354は、プライベート・クラウドにおいて展開されることになるクラウド・アプリケーションに関連付けられたユーザ・インターフェイスの開発用のものである。
[0102]クラウド・アプリケーション・ビルダ350は、ウェブ・アプリケーションで開発するためのソフトウェア356を含む。好ましくは、アプリケーション開発ソフトウェア356は、Eclipse財団によるEclipseであり、Google社によるGoogleウェブ・ツールキット(「GWT」)に加えて、アプリケーション開発用の統合開発環境(「IDE」)を提供する。
[0103]クラウド・アプリケーション・ビルダ350は、試験ソフトウェア358を含み、好ましくは、JUnit.orgによるJUnitソフトウェアである。最後に、クラウド・アプリケーション・ビルダ350は、ウェブ・サーバ・サーブレット・ソフトウェア360を含み、クラウドにおける展開のために開発されているクラウド・アプリケーションについてのウェブ・サーバのための動的コンテンツを生成するために用いられる。好ましくは、ウェブ・サーバ・サーブレット・ソフトウェアは、Apache Software財団によるApache Tomcatである。
[0104]図4を参照する。全般的に400において、本発明のプライベート・クラウド・コンピューティング・システムのコンポーネントについての論理構造の代表的な図を示している。ユーザ・インターフェイス402は、クライアント・デバイスのユーザ・インターフェイスである。インタフェースは、ダッシュボード406を含むことになるアプリケーション・コントロールパネル404を含む。代表的なアプリケーション・コントロールパネルが図15に示され、代表的なダッシュボードが図24に示される。
[0105]アプリケーション・コントロールパネル404は、開発者、クラウド・アプリケーションの管理者、クラウド・アプリケーションの所有者、ソフトウェア品質保証(「SQA」)、システム・ユーザその他の者が、クラウドにおいてクラウド・アプリケーションをビュー、使用および操作することを可能にする。ダッシュボード406により、認可されたユーザがインフラストラクチャ・コンポーネントを管理することを可能にする。ユーザ・インターフェイス402は、クラウド・アプリケーションおよび関連する情報、ならびにCLDB410に格納された他のデータおよび情報にアクセスするためにCLDB410に双方向に接続される。
[0106]ユーザ・インターフェイス402はまた、クラウド・コントローラにメッセージを送信するために、クラウド・コントローラ408にも接続する。好ましくは、これらのメッセージは、特定のクラウド・アプリケーションおよびウェブ・サービスにアクセスするための要求、およびSLOモニタリングを含むことになるがこれに限定されない。
[0107]eSFプロキシ412は、eSFデータベース413と共にセキュリティをクラウドに提供する。eSFプロキシ412およびeSFデータベース413は、データ・グループ、機能グループおよびユーザ役割に基づいてクラウド・アプリケーションおよびウェブ・サービス・アクセスにパーミッション(permission)を提供する。データ・グループ、機能グループおよびユーザ役割は、図11〜14に関してより詳細に説明する。
[0108]パーミッションは、クラウドにおいて、ユーザがクラウドにおいて特定のクラウド・アプリケーションおよびウェブ・サービスにアクセスすること、ユーザが特定の機能、例えば、承認の付与、クラウド・アプリケーション・プロファイルの変更、またはCLDB410からのクラウド・アプリケーションの削除を実行できることを含むが、これに限定されない。さらには、eSF412/413は、セキュリティ・インフラストラクチャを提供することができる。セキュリティ・インフラストラクチャは、プライベート・クラウドにおいて起動されるクラウド・アプリケーションについてのセキュリティ要件の全てを、プライベート・クラウドそれ自体のセキュリティ要件と同様に、収容して満たすことになる。セキュリティeSFの少なくとも一部は機能レベル権限を付与し、eSFはまた、このようなセキュリティ付与をサポートするデータも収容する。上記説明したパーミッションが網羅的ではなく、追加のパーミッションがある場合もあり、また、これが本発明の範囲内にあるものと理解される。
[0109]サービス・レジストリ415は、クラウド・コントローラ408に接続する。サービス・レジストリ415は、これより詳細に説明するが、開発者がプライベート・クラウド用に登録されるウェブ・サービスについて検索し、そして、それらに関する詳細な情報をビューすることを可能にする。
[0110]ユーザ・インターフェイス402からの特定のクラウド・アプリケーションまたはウェブ・サービスについての要求を処理する際に、クラウド・コントローラ408は、要求をプロビジョニング・サービス414に送信する。プロビジョニング・サービス414は、それらが制御するハイパバイザおよび仮想マシンに提供して、クラウドにおいてクラウド・アプリケーションを起動するクライアント・デバイスの必要性に順応する。図4に示すように、ハイパバイザ420は、ウェブサーバ・インスタンス422、アプリケーション・インスタンス424およびアプリケーション・インスタンス426を管理する。これらのソフトウェア・インスタンスの各々は、ハイパバイザ420によって監督される仮想マシン・インスタンスにおいて起動している。本発明のプライベート・クラウド・コンピューティング・システムは、仮想マシン・インスタンスにおいて起動しているクラウド・アプリケーションおよびウェブ・サーバのインスタンスを制御する1つ以上のハイパバイザを有することができ、これはなおも本発明の範囲内にあるとすることができるものである。
[0111]図4を参照すると、416は、ビルド.xmlを示す。ビルド.xmlは、アプリケーション・ビルド・フレームワークに関連しており、開発者がクラウド・アプリケーション・ビルダ350(図3)およびそれに関連するランタイム・ライブラリを用いてクラウド・アプケーションをビルドすることを可能にする。このようなクラウド・アプリケーションがビルドされると、クラウド・アプリケーションに関連したバイナリがバイナリ・ビルダ418に提供される。バイナリは、次いで、CLDB410に記憶するために送信され、ハイパバイザに提供するためにプロビジョニング・サービス414に提供される。その結果、バイナリは、クラウド・アプリケーションを起動するためのクライアント・デバイスを含むシステム・ユーザ、およびクラウド・アプリケーションを操作するためのパーミッションを有する認可されたシステム・ユーザに利用可能となる。
[0112]モニタリング・サービス428は、健康状態検査サービス430およびログ走査サービス432を含む。健康状態検査サービス430は、プライベート・クラウドの物理リソースおよび仮想リソースをモニタリングする。ログ走査サービス432は、SLO違反を探しているクラウド・アプリケーションおよびクラウド・インフラストラクチャのコンポーネントについてのログの自動およびオンデマンドの走査を実行する。健康状態検査サービス430およびログ走査サービス432によって測定される情報は、CLDB410に格納される。
[0113]クラウド・アプリケーションの開発を説明する前に、各クラウド・アプリケーションのユーザ・インターフェイス管理は、図5を参照して説明される。
[0114]図5は500において、プライベート・クラウド上のクラウド・アプリケーションについてのフォアグラウンド・タスク、データ・ストレージおよびバックグラウンド・タスクのユーザ・インターフェイス管理のための代表的な図を示している。サービス・コンシューマ502は、クラウドの内側または外側にいるサービスのコンシューマである。プライベート・クラウド外側のサービス・コンシューマの例には、504で示されるようなクライアント・デバイスで起動しているサービスを含む。
[0115]データ・アクセス506は、508および510で示されるようなフォアグラウンド・サービスに向けられており、それらはユーザ・インターフェイスのために作成され、プライベート・クラウドにアクセスする。例えば、開発者であれば、この目的のために、HTML、Adobe Flash、AJAXその他ツールでの軽量ユーザ・インターフェイスのコンポーネントを作成ことができるであろう。しかしながら、他のサービスを作成することができ、なおも本発明の範囲内にあるとすることができるものと理解される。
[0116]データ・ストレージ512は、オンライン・トランザクション処理(「OLTP」)データに向けられ、それはウェアハウス・データとは別個のアプリケーション・データベース214に格納される。したがって、OLTPデータは、データベース・トランザクションを実行することと関連している。OLTPの例は、データ・ストレージ512が有する514および516に示される。データ・ストレージ512において、メインフレーム顧客情報処制御システム(「CICS」)514は、本発明によるデータ・ストレージのために、従来のCICS機能をレバレッジする。データ・ストレージ512はまたRDBMS516を示しており、リレーショナル・データベース管理システムである。本発明の目的のために、RDBMSは、本発明によるデータ・ストレージのために、従来のリレーショナル・データベース管理機能をレバレッジする。しかしながら、本発明のシステムが他のOLTPデータ・コンポーネントを含むことができ、なおも本発明の範囲内にあるとすることができるものと理解される。
[0117]バックグラウンド518を使用して、ジョブ520および522のようなバックグラウンド・プロセスを作成し、ウェアハウス・データを管理する。ジョブの作成について、これよりより詳細に説明する。
[0118]eSF526は、先に述べたように、セキュリティをクラウドに提供する。eSF526は、図4の412および413で示されるものを含む。ユーザ・インターフェイスを通じて、eSF526は、権限の施行(entitlement enforcement)に向けられる。このように、データ・アクセス506およびバックグラウンド518に関して、eSF526は、ユーザ役割を割り当てることにより、クラウド・アプリケーションおよびウェブ・サービスにアクセスして利用するための認可について制御する。ユーザ役割は、好ましくは、企業内において格納したデータを機能と関連付けることによって工夫される。
[0119]サービス・レジストリ524は、プライベート・クラウドのサービス・レジストリに関連する。サービス・レジストリは、開発者がウェブ・サービスを検索し、それらに関する詳細情報をビューすることを可能にする。したがって、ユーザ・インターフェイスは、再利用できるウェブ・サービスについてサービス・レジストリを閲覧するために用いることができる。さらに、サービス・レジストリ524は、プライベート・クラウドにアプリケーションおよびウェブ・サービスを持ち込み、そして、それらのSLOの遵守および利用をモニタリングするという機能を実行する。サービス・レジストリは、図6でより詳細に説明する。
[0120]図6は、全般的に600において、サービス・レジストリ524を示す本発明のプライベート・クラウド・コンピューティング・システムのアーキテクチャの代表的な図を示している。図6において、プロビジョニング・サービス312、モニタリング・サービス314、SLO監視遵守サービス318、ログ走査サービス320、およびトランザクション・ブラウザ323(図示せず)は、図3に示し先に説明したクラウド・コントローラ302のコンポーネントである。ユーザ・インターフェイス406は、図4に示しており、先に説明したものである。トランザクション・ブラウザ323は図6に示すことができ、なおも本発明の範囲内にあるものと理解される。
[0121]図6の中央部には、審査監跡(audit trail)608、データ保全性610、セキュリティ612およびスケジューラ614を含む持続状態606がある。審査追跡608は、クラウド・アプリケーションに関する変更追跡のためにある。データ保全性610は、データベース内でのデータ保全性を確実にするために制約をアプリケーション・データベースに課すためにある。スケジューラ614は、ジョブをスケジューリングするためにある。セキュリティ612は、eSFアクセス・セキュリティである。
[0122]ルール・エンジン602は、プライベート・クラウド(クラウド・コントローラ)の一部であり、クラウド・マネージャによって作成され、そして、プライベート・クラウドの範囲内で起動しているクラウド・アプリケーションの動作に対するルールを含む。これらルールは、例えば、拡大または縮小ルール、アラート・ルール、またはゾーン・ルールを含む。ルール・エンジンは、他のルールを含むことができ、なおも本発明の範囲内にあるものとすることができる。
[0123]再度図6を参照すると、構成要素の各々は、メッセージング環境604内において接続されることが示されている。これにより、さまざまな構成要素間での通信を可能にする。
[0124]図6のサービス・レジストリ524を参照すると、サービス・レジストリが少なくとも4つのサービスを提供することを意図している。しかしながら、4つより多いまたは少ないものを提供することができ、なおも本発明の範囲とすることができるものと理解される。
[0125]サービス・レジストリ524が好ましくは提供する第1のサービスは、認可された開発者がウェブ・サービスに関するメタデータを作成および操作するためのアプリケーション・プログラミング・インタフェース(「API」)をサービス提供するためのものである。このことは、認可されたユーザが、機能および機能グループに関するメタデータおよび情報を作成または更新することを可能にする。APIはこの情報を参照する。これは、好ましくはサービス・インベントリ・ファイルにおけるウェブ・サービス詳細である。
[0126]第2のサービスは、検索カタログ・サービスである。検索カタログ・サービスは、認可されたシステム・ユーザが、サービス・レジストリのカタログ検索ページ上でウェブ・サービスを検索および発見することを可能にする。
[0127]サービス・レジストリ524の第3のサービスは、閲覧カテゴリ・サービスである。
このサービスは、認可されたシステム・ユーザが、クラウド・アプリケーション機能グループからサービス・レジストリのアプリケーション・ブラウザ・ページ上で構成ウェブ・サービスのリストにドリルダウン(drill down)することを可能にする。
[0128]サービス・レジストリの第4のサービスは、ウェブ・サービス詳細のサービスである。このサービスは、メタデータおよび他のデータを提供し、認可されたシステム・ユーザが、図26に示したユーザ・インターフェイスにおいてウェブ・サービス詳細ダイアログ・ボックスの様々なタブにアクセスすることができる
[0129]図7を参照する。全般的に700において、代表的なサービス・レジストリ・アーキテクチャが示されている。サービス・レジストリ524(図5)は、クラウド・コントローラ408(図4)に接続する。図示のように、クラウド・コントローラ408およびサービス・レジストリ524は、プライベート・クラウド内にある。また、サービス・メタデータ・レポジトリ704(メタデータ・データベースである)は、クラウドの外側からサービス・レジストリ524に接続される。サービス・メタデータ・レポジトリ704はメタデータ・データベースである。さらに、eSF412/413(図4)はクラウドの外側からクラウド・コントローラ408に接続する。図示していないが、eSFプロキシ412は、eSFデータベース413とクラウド・コントローラ408の間に配置されるが、プライベート・クラウド内にある。
[0130]クラウド・コントローラ408はブラウザ・クライアント(ユーザ・インターフェイス)402に接続する。ブラウザ・クライアント402がユーザ706にコンテンツを提供し、それらがアクセスサービス・レジストリ524にアクセスするのを許可する。
[0131]eSFのサービス・レジストリ524との統合は、クラウド・アプリケーション、ウェブ・サービス、およびボタンおよびメニュー・オプションのようなユーザ・インターフェイス・アイテムへアクセスが認可されたシステム・ユーザのみに制限されることを保証する。これは、開発者およびユーザによるアクセス権を決定する、注意深く定義された役割に基づいている。このアクセス制御の例をこれから詳細に説明する。
[0132] クラウドにおいて開発されるクラウド・アプリケーションのコンポーネントは、ユーザ・インターフェイス、潜在的な再利用を提供する登録済みのウェブ・サービス、再利用可能なバックグラウンド・ジョブについてのレジストリを含む。プライベート・クラウドでの展開のためのクラウド・アプリケーションを作成している開発者はまた、ウェブ・サービスおよびジョブに関するビジネス・ルールおよび/またはJava(登録商標)クラスを作成することができる。一旦クラウド・アプリケーションのコンポーネントが作成されると、それらはCLDB410に格納することができる。これらのコンポーネントの作成は、プライベート・クラウド環境内で行うことができる。
[0133]ウェブ・サービス、ユーザ・インターフェイス・コンポーネント、およびバッチ・ジョブを開発する際、クラウド・アプリケーションに関して開発者が行う要件分析があり、彼/彼女のアプリケーション、クラウド・アプリケーションのタスクを実現することが必要とされるユーザ・インターフェイス・コンポーネント、および、クラウド・アプリケーションについてのデータを格納することが必要とされるバッチ・ジョブについて実施するウェブ・サービスを特定する。これらタスクを実行する際には、クラウド・コントローラにおいて、開発者は、サービス・レジストリ内で登録済みサービスを閲覧および参照することができ、いずれが彼/彼女のクラウド・アプリケーションで再利用できるかについて理解する。
[0134]本発明のシステム及び方法によれば、ウェブ・サービスがクラウド・アプリケーションについて作成される前に、開発者はクラウド・アプリケーション・コードおよびその拡張を含むアプリケーション識別子を取得しなければならない。これは、クラウド・アプリケーションについてのクラウド・アプリケーション・プロファイルの作成を含む開発プロセスを通じてアプリケーションを追跡することになる。好ましくは、クラウド・アプリケーションがプライベート・クラウド環境へさらに移行することができる前に、クラウド・アプリケーションのソースコードはソースコード制御システムに置かれる。一旦このタスクが実行されると、クラウド・アプリケーションおよびそのコンポーネントはクラウド・アプリケーション・ビルダ350(図3)を使用して開発することができる。
[0135]特定のクラウド・アプリケーションに関し、ウェブ・サービス・コンポーネントの開発は、開発者によるサービス定義用のメタデータの作成およびクラウド・アプリケーション用のサービス・インベントリ・ファイルの完了を含む。各クラウド・アプリケーションは、それに関連付けられるサービス・インベントリ・ファイルを有することになり、全メンバのウェブ・サービスにおける機能グループを記述する。クラウド・コントローラ302(図3)は、このデータを用いて、クラウド・アプリケーションが展開される際に自動的にサービス・レジストリを更新する。
[0136]好ましくは、開発業者は、フォアグラウンド・プロセスおよびバックグラウンド・プロセス(図5参照)用に別々の.war(「ウェブ・アーカイブ」)ファイルをビルドし、クラウド・アプリケーションに関連付けられたバイナリをバンドルし、そして、クラウド・アプリケーション・プロファイルを作成する。フォアグラウンド・プロセスと関連付けられるバイナリは、ウェブ・サービスおよびユーザ・インターフェイス・コンポーネントに関係する。バックグラウンド・プロセスと関連付けられるバイナリは、ジョブに関係する。しかしながら、開発者がクラウドにおいて使用するためのウェブ・サービスを展開できないうちに、適切な承認を得なければならない。この承認はサービス・レジストリの更新およびeSFに格納される関連するeSF役割の調整をトリガする。開発におけるこのプロセスについて、図8に視覚的に示す。
[0137]図8は、全般的に800において、プライベート・クラウドにおいて展開されることになるクラウド・アプリケーションについてのウェブ・サービス・コンポーネントの開発のためのプロセスの代表的な図を示している。クラウド・アプリケーションの開発および適用のプロセスの一部として、開発者801は、804において、クラウド・アプリケーションと関連しているウェブ・サービスを開発することになる。ウェブ・サービスが開発される際、806において、開発者はサービス・インベントリ・ファイルを更新するために808で用いられることになるサービス定義のメタデータを更新することになる。これにより、クラウド・アプリケーション開発と関連したウェブ・サービス開発の一部が完成する。
[0138]808におけるサービス・インベントリ・ファイルの更新に続き、開発者は、810においてフォアグラウンド・プロセスおよびバックグラウンド・プロセスのためのアプリケーション・バイナリ・ファイルをビルドする。クラウド・アプリケーションに関連付けられたバイナリはバンドルされる。そして、812において、ウェブ・サービスを展開するための要求は、クラウド・アプリケーションのために作成されてきたクラウド・アプリケーション・プロファイルを用いて行われる。この要求は、クライアント・デバイスのユーザ・インターフェイスを用いている開発者によって、クラウド・コントローラ814に送信される。816において、適切に認可されたユーザによる承認が要求される。承認が拒否される場合には、通知が適切なメッセージングを通じて開発者に送り返される。しかしながら、承認が付与される場合、818においてウェブ・サービス用のサービス・レジストリに送られる更新がある。また、820において、eSFの更新が、ウェブ・サービスの利用のための適切なパーミッションとともにある。これに続いて、822において、ウェブ・サービスがプライベート・クラウド内にライブで提供される。好ましくは、プライベート・クラウドは、ウェブ・サービスが展開される際、サービス定義中のメタデータおよびサービス・インベントリ・ファイルを用いて、サービス・レジストリを自動的に更新する。
[0139]先に述べたように、ユーザ・インターフェイスはまた、クラウド・アプリケーションのコンポーネントでもある。クラウド・アプリケーション・ビルダ350は、CDT354およびユーザ・インターフェイス上の適切なパネルを通じて、特定のクラウド・アプリケーションと関係付けられることになるユーザ・インターフェース・コンポーネントを開発する。このツールキットは、開発者がクラウド・アプリケーションに関連付けられたウェブ・サービスをユーザ・インターフェイスに拡張することができる。好ましくは、ツールキットは、ユーザ・インターフェイス開発に基づくFlashおよびMicrosoft Officeをサポートすることになる。
[0140]プライベート・クラウドにおいて展開されるクラウド・アプリケーションは、非クラウドのウェブ・ページに組み込むことができる。これが行われると、クラウド・アプリケーションのすべての機能性は、ポップアップとしてユーザ・インターフェイスを有するそのウェブ・ページからアクセスすることができるが、ウェブ・サービスはプライベート・クラウドにおいて起動している。
[0141]クラウド・アプリケーションの最後のコンポーネントは、バックグラウンド・ジョブである。これらのジョブは、バックグラウンドで起動し、クラウドおよび他のデータベースに情報を格納するバッチ・ジョブである。クラウド・アプリケーションのバックグラウンド・ジョブは、異なるマシン上に配置することができる2つのインスタンスにおいて起動することができる。例えば、これらのジョブは、2つの別々のデータセンタにおいてアクティブ−アクティブに起動される。バックグラウンド・ジョブは、クラウド・アプリケーション・サーバがフォアグラウンドでスレッドをハングアップすることなくスケーラビリティをハンドルすることを支援する処理を含むことができる。
[0142]図9を参照すると、全般的に900において、代表的な図が、バックグラウンド・ジョブ開発およびハンドリングのために示されている。図9において、外部サービス902は、バックグラウンド・クラウド909に接続する。外部サービス902は、RDBMS904、メッセージング906およびファイル転送サービス908を含む。これらの各々は、他の図に関して先に述べたものであり、このように、これらの説明はここでも同等であり参照によりここに組み込むものとする。
[0143]バックグラウンド・クラウド909は、910、916および922において3つの代表的なクラウド・アプリケーション・インスタンスを含む。アプリケーション・インスタンス910は、バッチ・ジョブ912および914を示す。アプリケーション・インスタンス916は、バッチ・ジョブ918および920を示す。また、アプリケーション・インスタンス922は、バッチ・ジョブ924および926を示す。スケジューラ(図示せず)は、ジョブを管理して、図9に示すような複数のアプリケーション・インスタンスをハンドルする。バックグラウンド・クラウド909で示されるバッチ・ジョブは、複数のジョブを収容できる別々の.warファイルにバンドルすることができる。これらのジョブは、次いで、CLDB410に格納することができ、適切なクラウド・アプリケーションに関連付けることができる。
[0144]先に述べたように、eSFは、クラウド・アプリケーション・セキュリティをハンドルする。好ましくは、クラウド・アプリケーション開発者は、eSF役割をセットアップし、保護されるアイテムをセキュリティ保護する(secure)ために、eSFプロキシAPIを使用することになる。eSFセキュリティの使用については、これより図10を参照してより詳細に説明する。
[0145]図10を参照する。全般的に1000において、eSFセキュリティを実施するための代表的な図を示している。システム・ユーザがクラウド・アプリケーションまたはウェブ・サービス・アクセスを要求するときに、サービス・コンシューマ1002として示されるシステム・ユーザは認可されなければならない。このように、サイトマインダ(SiteMinder)1004は、eディレクトリ(eDirectory)1006に問い合わせることにより、システム・ユーザ認可を検査する。認可が確認される場合には、クラウド・アプリケーションと関連して要求されたウェブ・サービス1008は、eSFプロキシ1010と通信し、eSFデータベース1012内のシステム・ユーザのeSF権限を検査する。これらの権限は、システム・ユーザがサービス要求において特定の機能を実行するよう認可されているかどうかを含むことになる。システム・ユーザが認可される場合には、システム・ユーザは、1014において、ウェブ・サービスを通じてデータベース情報にアクセスすることになる。システム・ユーザが認可されない場合にはアクセスが拒否されることになる。
[0146]クラウド・アプリケーションおよびウェブ・サービスへのアクセスが役割に基づくことができると先に説明してきた。本発明の目的のために、機能グループは、認可されたシステム・ユーザが当該システム・ユーザのジョブ・ディスクリプションに関係する如何なるデータに対する動作を実行するのを可能にする機能のコレクションである。好ましくは、機能グループは、クラウド・アプリケーション開発者によって定義される特定データへのアクセス権を有することになる。機能グループおよび機能は、サービス・インベントリ・ファイルで定義され、サービス・レジストリおよびeSFデータベースを更新することになるアプリケーション・バイナリ・ファイルの一部として展開される。機能グループの形成およびこれら機能グループがアクセス権を有するサービスの例を図11に示す。
[0147]図11は、全般的に1100において、クラウド・アプリケーションに関係した機能グループ、およびこれらのグループの各々がアクセス権を有するサービスの図を示している。クラウド・アプリケーション・ブロック1102において、「マスタ・フィーダ」と名づけられたクラウド・アプリケーションを示す。マスタ・フィーダ・クラウド・アプリケーション1104の開発者は、機能グループ・ブロック1106において2つの機能グループを定義している。1108における第1の機能グループは、管理(administrative)機能によって定義され、1110における第2の機能グループは、閲覧機能によって定義される。
[0148] サービス・ブロック1112において、マスタ・フィーダ・クラウド・アプリケーション1104について登録されたサービスが示される。1108における第1の機能グループに関して、当該機能グループが、791002、791003および791004として登録されたサービスを実行するのを許可する。これにより、第1の機能グループがマスタ作成(Create Master)、フィーダ追加(Add Feeder)、およびフィーダ削除(Remove Feeder)のそれぞれを許可することになる。
[0149]1110における第2の機能グループに関して、この機能グループが、792001および792002として登録されたサービスを実行するのを許可する。これにより、第2の機能グループが、マスタ発見(Find Master)およびフィーダ取得(Get Feeders)のそれぞれを許可することになる。第2の機能グループは、第1の機能グループ用に認可されるサービスにアクセスするのは許可されないことに留意されたい。
[0150]機能グループの定義は、クラウド・アプリケーション役割に基づく。図12を参照して、これら役割が機能グループを定義する方法について説明する。
[0151]図12を参照する。全般的に1200において、機能グループを定義するクラウド・アプリケーション役割の使用について示している。クラウド・アプリケーション・ブロック1202は、「マスタ・フィーダ」と名づけられたクラウド・アプリケーションを示す。クラウド・アプリケーション役割テンプレート・ブロック1206では、アプリケーション開発者は、マスタ・フィーダ・クラウド・アプリケーションと関連付けられた役割を定義する。これらの役割は、1208におけるマスタ・フィーダ管理者(Administrator)および1210におけるマスタ・フィーダ・ユーザである。好ましくは、クラウド・アプリケーション役割テンプレートは、システム・ユーザが実行しなければならない機能を評価し、機能グループ内のこれらの機能を集約(assemble)し、そして、システム・ユーザによって操作することができる全データを収容するデータ・グループを識別することによって、構築される。
[0152]図12に示すように、機能グループ・ブロック1214において、1208で示されるマスタ・フィーダ管理者の役割は、2つの機能グループに分けることができる。第1の機能グループは、システム・ユーザが1216における管理機能を許可されるものであり、また、第2が1218における閲覧機能のみを許可されるものである。
[0153]先に述べたように、クラウド・アプリケーションの開発者によっても定義されるクラウド・アプリケーション役割はまた、1210においてマスタ・フィーダ・ユーザも提供する。この役割に割り当てられる機能グループは、1220における閲覧機能を許可される。これら閲覧機能は、マスタ・フィーダ管理者とは同一または異なるものとすることができ、なおも本発明の範囲内にあるものとすることができる。
[0154]クラウド・アプリケーション役割テンプレートは、サービス・インベントリ・ファイルの一部となり、そしてクラウド・アプリケーションがプライベート・クラウドにおいて展開される際にeSFを更新する。
[0155]図13は、全般的に1300において、図12に示される管理者役割についてのeSF権限マップを示している。機能ブロック1302では、機能グループのブロック1314における1316の第1の機能グループ、および1318における第2の機能グループに利用可能な機能を示す。図示のように、1316の第1の機能グループは、1304のマスタ編集、1306のフィーダ追加、および1308のフィーダ削除の機能を許可される。同じように、1318における第2の機能グループは、1310のマスタ閲覧および1312のフィーダ閲覧を許可される。
[0156]役割ブロック1320では、1322の役割はABC社で管理者のためにあることを示す。データ・グループ・ブロック1324では、管理者が1326でABC社のファンドに関するデータを受信することを示す。例えば、このファンドはミューチュアル・ファンドとすることができる。データ・ブロック1328は、ABC社のファンドに関する特定のデータのレポジトリとすることができ、1330のABC1データ、1332のABC2データ、および1334のABC3データを含み、1322の管理者が1326においてデータ・グループのブロック1324でアクセス権を有することになる。マスタ・フィーダ・クラウド・アプリケーションに関する権限マップを精査する際、機能グループに基づく制約がマップに従って施行される。
[0157]図14は、全般的に1400において、図12に示したユーザ役割についてのeSF権限マップを示している。機能ブロック1402では、機能グループ・ブロック1414における1416の第1の機能グループおよび1418の第2の機能グループに利用可能となる機能を示す。図示のように、1416の第1の機能グループは、1404のマスタ編集、1406のフィーダ追加、および1408のフィーダ削除という機能を許可される。同じように、1418の第2の機能グループは、1410のマスタ閲覧および1412のフィーダ閲覧という機能が許可される。
[0158]役割ブロック1420において、1422における役割がABC社のシステム・ユーザのためのものであることを示す。データ・グループ・ブロック1424では、システム・ユーザが1426においてABC社のファンドに関するデータを受信することを示す。そのファンドは、図13のようなミューチュアル・ファンドとすることができる。データ・ブロック1428は、1430のABC1データ、1432のABC2データ、および1434のABC3データを含むABC社のファンドに関する特定のデータ・レポジトとすることができ、1422のシステム・ユーザが、1426においてデータ・グループ・ブロック1424を通じてアクセス権を有することになる。マスタ・フィーダ・クラウド・アプリケーションに関する権限マップを精査する際には、機能グループに基づく制約がこのマップに従って施行される。このように、役割ブロック1420における役割は、システム・ユーザのためだけであり、このシステム・ユーザは、機能グループ・ブロック1414における1418で閲覧機能を許可されるだけである。この機能グループの一部として、システム・ユーザは、機能ブロック1402についての1410のマスタ閲覧およびの1412のフィーダ閲覧を許可されるだけである。
[0159]先に図8を参照して、プライベート・クラウドにおけるクラウド・アプリケーションを開発および展開するためのプロセスについて説明した。そのプロセスについて、これより図15〜22を参照してさらに詳細に説明する。
[0160]好ましくは、プライベート・クラウドにおけるクラウド・アプリケーションを展開するための5つの主要なステップがある。このプロセスは、クラウド・アプリケーション・プロモーション・プロセスと称することができる。この5つの主要なステップは、アプリケーション・バイナリをバンドルして、このバンドルしたアプリケーション・バイナリをプライベート・プラウドにエクスポートし、プライベート・クラウドにおいてクラウド・アプリケーションを展開するためにクラウド・アプリケーション・プロファイルを作成および編集し、プライベート・クラウドにおいてクラウド・アプリケーションを展開するために適切な承認を取得し、ユーザ受け入れ試験(「UAT」)にプロモートされることができように、アプリケーションについて認定される(certified)ビルドを実行し、そして、プライベート・クラウドへのクラウド・アプリケーション・プロモーションのためにクラウド・アプリケーション・プロファイルのシステム・プロパティを設定および変更することを含む。
[0161]クラウド・アプリケーションを開発(「DEV」)環境に展開してクラウド・アプリケーション・プロモーション・プロセスを開始する前に、好ましくは、開発者は、アプリケーション用の先に述べたアプリケーション識別子を入手することになる。更に、開発者は、適切なクラウド・コントローラ・アクセスeSF役割権限が開発者用にeSFにおいてセットアップされることを要求したことになり、その結果、開発者は、クラウド・アプリケーションを展開するための適切な役割を有する。開発者は、クラウド・アプリケーション・ビルダ350(図3)においてクラウド・アプリケーションについてのビルド・プロジェクトを作成し、クラウド・アプリケーション上での適切な試験を起動させることになる。次いで、開発業者は、クラウド・アプリケーション・ビルダにおいてクラウド・アプロケーションをビルドすることになり、開発者は、プライベート・クラウドにエクスポートするためにクラウド・アプリケーションに関連付けられたバイナリをバンドルする準備を整える。
[0162]一旦、上記のステップが達成されると、クラウド・アプリケーション・バイナリはバンドルされ、そして、クラウド・コントローラは、プライベート・クラウドにクラウド・アプリーションと関連付けられた、承認された安全なウェブ・サービスをプロモートする。本発明によれば、バイナリ・バンドラは、概念実証(「POC; proof of concept」)およびシステム統合(「SYS; System Integration」)の展開についてビルドした後に、開発者のクライアント・デバイスから呼び出すことができる。しかしながら、バイナリ・バンドは、UATおよび生産(「PROD」)展開のために、より高位レベルのビルド・マシン、例えば、クリア・ケース(ClearCase)ビルダ・マシンその他、認定されたビルド・マシンによって、呼び出すことのみができる。
[0163]本発明の目的のために、POCおよびDEV展開において、開発者は.warファイルを彼/彼女のクライアント・デバイスからビルドすることができる。SYSにおいて、UATにクラウド・アプリケーション・イメージをプロモートするために、好ましくは、認定されたマシンのような指定されたマシンからそれは行われる。そこでは、開発者はクリア・ケース(ClearCase)ビルド・スクリプトまたはほかの変更制御メカニズムを起動させることができる。
[0164]UATおよびPRODの展開のためのクラウド・アプリケーションは、ビルドからプライベート・クラウドへ直接は行かない。開発者がUATのためのクラウドアプリケーション・プロファイルを作成したとき、開発者は、認定されたビルド・マシン上のSYSについてビルドされたクラウド・アプリケーションを選ぶ(pick)。好ましくは、ここで、クリア・ケース・ビルド・ディスクリプションが起動することができる。PRODについて、開発者は、UATにプロモートされたクラウド・アプリケーションを選ぶ。このように、これは、クラウド・アプリケーションと同様に、UATおよびPRODに展開されるクラウド・アプリケーションをメイクする。クラウド・アプリケーションは、クラウド・プロモーション・プロセスにおいて先の環境で試験されている。ただし、アプリケーション・プロモーションについての好ましい方法として上記説明してきたことについて、他の方法が可能であり、なおも本発明の範囲内にあるとすることができるものと理解される。
[0165]先に説明した4つの展開環境についてこれからプロモーション・プロセスの観点から説明する。何故ならば、これはクラウド・アプリケーション・プロファイルの作成に関係するからである。
[0166]DEV−開発者がクラウド・アプリケーションについて開発および試験を行った後に、彼/彼女はクラウド・アプリケーションの.warファイルをプライベート・クラウドにエクスポートすることができる。ユーザ・インターフェイスを使用している開発者は、ユーザ・インターフェイス上のアプリケーション・プロファイル・タブを選択することができる。クラウド・アプリケーションの初期ステータスは、下書き中である。開発者は、適切な情報を、クラウド・アプリケーション・プロファイルを完成させるために提供し、それとの関連付けのためにクラウド・アプリケーションを選択する。開発者は、次いで、ステータスを公開済みに変更する。開発者のクラウド・アプリケーションは、適正レベルのクラウド・マネージャによって承認を受けたDEV環境で起動することになる。
[0167]SYS−DEVで起動しているクラウド・アプリケーションだけが、SYSにプロモートされることができる。SYSにおいて、クラウド・アプリケーションは、認定されたビルド・マシン上、例えば、クリア・ケース・ビルド・スクリプトを起動しているビルド・マシン上でビルドすることができる。
[0168]UAT−SYSで起動しているクラウド・アプリケーションだけが、UATにプロモートされることができる。
[0169]PROD−UATで起動しているクラウド・アプリケーションだけが、PRODにプロモートされることができる。ここでは、このようなクラウド・アプリケーションがプライベート・クラウド上においてライブで起動されることになる。
[0170] クラウド・アプリケーション・プロファイルを作成し、そして、クラウド・アプリケーションのステータスを下書き中から公開済みに変更するための方法について、これから図15〜22を参照して説明する。
[0171]図15を参照する。全般的に1500において、代表的なクラウド・アプリケーション・コントロール・パネルが、1502で示される。新しいアプリケーション・プロファイルを生成するために、アプリケーション・プロファイル・タブ1504が活性化され、アプリケーション・プロファイル追加タブ1506を有する下部画面を提供することになる。ステータス・ライン1508で見られるように、初期ステータスは常に下書き中である。新規追加ボタン1510が活性化されると、新規アプリケーション・プロファイル追加ウィンドウ1600を表示する。
[0172]図16を参照する。新規アプリケーション・プロファイル追加1600において、クラウド・アリケーションの名前が、名前フィールド1602に入力される。次いで、アプリケーション・コード・フィールド1604において、ボタンが選択されてドロップダウン・リストを設け、特定のクラウド・アプリケーションに割り当てられていた適切なアプリケーション識別子が選択される。プロファイルの残りを完成させることが、これから必要となる。
[0173]第一に、アプリケーションのバージョンが、バージョン・フィールド1606に入力される。次いで、ゾーン環境フィールド1608において、ボタンが選択されて、ドロップダウン・リストを設け、展開のための適切な環境が選択される。同様に、全般的に1700において、ゾーン・コード・フィールド1610において、ボタンが選択されて、図17に示されるドロップダウン・リストのようなドロップダウン・リストを設ける。適切なゾーン・コードが選択されると、ゾーン・コード・フィールド1610にデータを読み込む。
[0174]次に、発効日および時間が発効日フィールド1612で選択される。将来日付の選択が承認プロセスが完了するのに可能であり、また、これは、プライベート・クラウドがクラウド・アプリケーションを起動開始する日付となる。発効日が承認なしで経過する場合、承認プロセスが終了しているときには、プライベート・クラウドはクラウド・アプリケーションの実行を開始することになる。失効日フィールド1614を完成させることができるがこれは任意である。
[0175]コンテキスト・フィールド1616は、クラウド・アプリケーションについてのコンテキストを含むことになる。例えば、このコンテキスト・フィールドは、http://Cloud.statestreet.com/App1/[default]のような完全な条件つきパス(fully qualified path)をクラウド・アプリケーションに提供する。
[0176]要求パターン・フィールド1618において、サービス要求プレフィックスまたは他の文字が付加される。例えば、このフィールドで発見されるルーティングについてのサービス要求プレフィックスは、クラウド・コントローラが提供する。
[0177]アプリケーション・イメージ(App Image)フィールド1620にデータを読み込むために、図18のイメージ・ブラウザ・ダイアログ・ウィンドウ1800をオープンするボタン1622が活性化される。ここでは、適切なクラウド・アプリケーションが選択される。1802において情報アイコンを選択することによって、図19の1900で示されるダイアログ・ウインドウが表示される。ダイアログ・ウインドウはクラウド・アプリケーションの詳細を示す。一旦クラウド・アプリケーションの詳細が正しいことが確認されると、関連イメージ・タブ1902が活性化され、図20の2000における表示ウィンドウをオープンすることになる。図20に示される表示ウィンドウの情報が検証された後に、図19に示されるイメージ・ブラウザ・ウインドウと併せてこのウィンドウを閉じる。次いで、図18の1804において選択されたイメージ・ボタンが活性化され、そして、図16の1624での保存ボタンが活性化されて新規アプリケーション・プロファイルを保存する。保存が終了すると、クラウド・アプリケーションのステータスを下書き中に設定する。
[0178]ステータスを下書き中から公開済みに変更するためには、図16のステータス・フィールド1626のボタン1628を活性化することが必要となる。これには、図21の2100で示されるアプリケーション変更プロファイル・ステータス表示ウィンドウをオープンすることになる。新規ステータス・フィールド2102において、2104のボタンが選択されて、ドロップダウン・リストを設け、そして、適切なステータスが選択される。この例では公開済みである。
[0179]次に、2106のビュー・アラート・ボタンが活性化され、図22に示すアラート・ダイアログ・ウィンドウ2200がオープンされることになる。アラートが受理される場合には、2202の受理ボタンが活性化され、クラウド・アプリケーションのステータスが公開済みに変更され、一旦すべての承認が得られたらプライベート・クラウドにおいて始動することができる。しかしながら、アラートの性質のために2204の拒否ボタンが活性化されると、アプリケーションのステータスは公開済みに変更されることはなく、プライベート・クラウドにおいて始動されないことになる。
[0180]アラートについて、クラウド・アプリケーションの開発および適用における使用に関して、全般的に説明してきた。これより、アラートについてさらに詳細に説明する。
[0181]クラウド・アプリケーション・プロファイルが下書き中のステータスである間、クラウド・アプリケーション開発者はクラウド・アプリケーション・プロファイルの変更を行うことができる。自動審査サービスは、クラウド・アプリケーション・プロファイルに対して行われるあらゆる変更に適用されるルール・セットである。
[0182]アラートは、不合格となったあらゆる自動審査に対して発生される。先に述べたように、アラートは、情報(INFO)、警告(WARN)、エラー(ERROR)、および致命的(FATAL)に分類される。好ましくは、開発者は、各クラウド・アプリケーション・プロファイルの変更と関連付けられたアラートを精査することになる。さらに、適切な承認者、クラウド・マネージャは、それらがクラウド・アプリケーション・プロファイルと関連付けられた非INFOアラートであるときにはアラートを精査しなければならず、その後、クラウド・アプリケーションは、プライベート・クラウドへのライブでの提供に進むことができる。
[0183]先に説明したように、承認者は、精査後にアラートを受理または拒否することができる。承認者がアラートを受理する場合、クラウド・アプリケーションは開発および適用プロセスに前進する。しかしながら、承認者がアラートを拒否する場合には、クラウド・アプリケーションは、クラウド・アプリケーション・プロファイルのステータスを拒否済みアラートの理由コードと共に拒絶済み(REJECTED)に設定することによって後退する。発生したアラートは、電子メールまたは他のメッセージング方法により承認者に自動的に送信することができ、その結果、このようなアラートの発生に対してアラートされる。
[0184]一般的には、自動審査メカニズムは、クラウド・アプリケーション・プロファイルにおける問題や課題を識別するためのものである。この自動審査はルールを含む。このルールは、検査した任意のルールが不合格となるときに、自動アラートを発生することになるルールを含む。自動審査ルールは、クラウド・マネージャによって作成される。
[0185]アラートは、クラウド・アプリケーション・プロファイルの問題および課題と関係している、そして、一旦発生すると、クラウド・マネージャの適正レベルの承認者によって受理または拒否されなければならない。クラウド・マネージャがクラウド・アプリケーション・プロファイルと関連付けられたアラートを受理する場合、クラウド・アプリケーションはプライベート・クラウドにおいてライブで表示される方へプロセスにおいて前進することになる。アラートが拒否される場合、クラウド・アプリケーションは拒絶され、クラウド・アプリケーション・プロファイルのステータスは下書き中に変更される。この場合には、開発者は題を解決しなければならず、その後にアプリケーションが公開済みに前進することができる。
[0186]図23Aを参照する。全般的に2250において、自動審査ルール・アプリケーションのアプリケーションと関連付けられたアクションに関係する代表的な図を示している。2252において、自動審査ルールは、関連付けられたクラウド・アプリケーション・プロファイルが下書き中のステータスである間に変更されたときに、クラウド・アプリケーションに適用される。「検出」段階では、アラートは、不合格となるあらゆる自動審査ルールごとに発生される。先に述べたように、アラートは、情報、警告、エラー、または致命的と分類される。
[0187]2254の「精査」段階において、開発者は、クラウド・アプリケーション・プロファイルへのあらゆる変更ごとの後に、アラートを精査する。クラウド・マネージャの承認者は、あらゆるアラートを精査する。「制御」段階において、クラウド・マネージャの承認者は、精査後にそのアラートを受理または拒否しなければならない。
[0188]自動審査ルールの代表的なセットが、全般的に図23Bの2300において示される。図23Bを参照すると、自動審査ルールの代表的なセットを2302で示す。図示されるルールが10個あるが、この10個のセットは例示にすぎない。各ルールに関しては、2304で示されるルールの厳正性がある。この厳正性は、4つのアラート・ステータス、すなわち、情報、警告、エラー、致命的のうちの1つによって定義される。2306において、アラートについて説明される。つまり、任意のクラウド・アプリケーション・プロファイル・ステータスへの変更がある際に、自動審査ルールの各々が検査され、いかなる違反がある限りにおいて、アラートはそのクラウド・アプリケーションに対して申し出る。クラウド・アプリケーションが開発および適用のプロセスにおいて前進できるのは、適切な承認者によるこれらアラート受理に応じたときのみである。
[0189]図4において、ユーザ・インターフェイス402は、ダッシュボード406を示す。代表的なダッシュボードの表示が、全般的に図24の2400に示される。図示のように、クラウド・アプリケーションおよびゾーンは、クラウド・アプリケーションの健康状態(health)についての調査を可能にするために、詳細にまたは視覚的にビューすることができる。図24において、2401で示されるクラウド・アプリケーションについて、アプリケーションの詳細が2402で示され、仮想マシンの詳細が2406で示され、そして、仮想詳細(virtual detail)が2408で示される。さらに、ゾーンのグラフィック表示について2410に示される。
[0190]2410において、ゾーンのグラフィック表示は、2412のTX/SLO(トランザクション/SLO)および2418のユーザに関する健康状態が非常に良好であることを示す。2416で示される物理マシンの健康状態はこれほどは良好ではない。何故ならば、インジケータの矢印がイエロー域または警告域の近くにあるからである。最後に、2414で示される仮想マシンの健康状態は良好でない。何故ならば、インジケータの矢印がレッド域にあるからである。好ましくは、インジケータの矢印がレッド域にあるために、クラウド・マネージャはこれに対してアラートされ、そして、可能であれば、仮想マシンと関連付けられた負荷(loading)課題を是正する。
[0191]ダッシュボード・ディスプレイ2400上に表示される様々なタブの選択があり得、これが、システム・アプリケーションおよびインフラストラクチャに関する付加的な健康状態情報を提供するものと理解される。
[0192]図6および7に関してサービス・レジストリ524の説明において、サービス・レジストリのコンテンツについて図示していないが説明してきた。また、サービス・レジストリを通じて、認可されたシステム・ユーザが、サービス・レジストリの入力に関係するウェブ・サービス詳細へのアクセス権を有することについて先に説明してきた。図25および26において、サービス・レジストリ・ウインドウおよびウェブ・サービス詳細ウィンドウの代表的な画面表示が示される。
[0193]図25を参照する。全般的に2500において、代表的なサービス・レジストリ表示ウィンドウが示される。2502で示すように、各レジストリ入力は、サービスに関する番号、名前、説明および追加情報を有する。この情報は、サービスを認可されたシステム・ユーザによって検索可能にする。認可されたシステム・ユーザがサービス・レジストリでの特定入力に関する詳細情報を要望する場合、図26に示されるようなウェブ・サービス詳細ウィンドウをオープンするサービス入力を選択することによって取得することができる。
[0194]図26を参照する。全般的に2600において、ウェブ・サービス詳細表示2604のウィンドウを有するサービス・レジストリ表示2602が示されている。認可されたシステム・ユーザがサービス・レジストリ・ウインドウ2602内のサービス・レジストリ番号511446を選択する場合、サービス・レジストリ番号511446についての詳細表示ウィンドウ2604をオープンし、そのレジストリ番号に関する具体的な詳細情報を提供する。表示ウィンドウ2604において、サービス・レジストリ番号511446に関する基本情報が示される。しかしながら、追加タブのいずれかを選択することによって、追加の詳細情報は、このレジストリ番号について提供されることになる。
[0195]図27〜32を参照する。代表的なクラウド・アプリケーション展開ワークフローについて説明する。
[0196]図27を参照する。全般的に2700において、クラウド・アプリケーション展開ワークフローが、POC/DEV/SYS環境について示される。POC/DEV/SYSは、ひとまとめにしてゾーンを形成する。この図は、クラウド・アプリケーションがPOC、DEVおよびSYS環境に展開されるときに、クラウド・アプリケーション・プロファイルが行わなければならないプロセスについて示している。
[0197]2702において、開発者はクラウド・アプリケーション・プロファイルへのアクセス権を有することになり、2704で示すように、下書き中のステータスである限りプロファイル・ファイルのフィールドを編集する。一旦開発者がクラウド・アプリケーション・プロファイルの変更に満足すると、クラウド・アプリケーション・プロファイルのステータスは2706で公開済みに変更される。
[0198]次に、好ましくは、筆頭の開発者がアプリケーション・プロファイルを精査することになり、それに満足すると、2208で示すように、彼/彼女は、クラウド・アプリケーションのステータスを筆頭者(LEAD)承認に変更する。しかしながら、筆頭の開発者が満足しない場合には、彼/彼女は2710で拒絶済みとして示すように、アプリケーションを拒絶することができる。そして、クラウド・アプリケーション・プロファイルのステータスを下書き中に戻す。
[0199]筆頭の開発者がクラウド・アプリケーションを承認する場合、クラウド・アプリケーション・プロファイルは2711でクラウド・コントローラに転送される。2712に示すように、この時点で引き継ぎを行ったクラウド・コントローラは、クラウド・アプリケーション・プロファイルを検証し、クラウド・アプリケーション・プロファイルのステータスをスケジュール済みに変更する。プライベート・クラウドへの展開の時間になるまで、アプリケーション・プロファイルはそのステータスにとどまることになる。
[0200]通例、クラウド・アプリケーションを展開する時間は、クラウド・アプリケーション・プロファイルにおいて示される。展開の時間がくると、クラウド・コントローラは、クラウド・アプリケーションのインストールするための提供(provisioning)を同時に実行しながら、2713において、クラウド・アプリケーション・プロファイルのステータスをインストール中に変更する。クラウド・コントローラは、サービス・インベントリ・ファイルを抽出し、サービス・メタデータおよびアクセス制御情報、2715のeSF更新、ならびに2714のサービス・レジストリ更新を読み取る。一旦インストールが完了すると、クラウド・アプリケーション・プロファイルのステータスは2716で起動中に変更される。好ましくは、起動中とは、プライベート・クラウドにおいてクラウド・アプリケーションがライブで起動していることを意味する。
[0201]図28を参照する。全般的に2800において、クラウド・アプリケーション展開ワークフローがPOC/DEV/SYS環境について示されている。UAT/PREPROD/PRODは、ひとまとめにしてゾーンを形成する。図28において、2704の下書き中、2706の公開済み、2708の筆頭者承認、2710の拒絶済み、2712のスケジュール済み、2713のインストール中、2715のeSF更新および2714のレジストリ更新に関するワークフロー・プロセスは、図27のそれらと同様である。したがって、図27に関するこれら項目の説明が同等に適用され、参照によりここに組み込むものとする。
[0202]UATおよびPROD環境へのクラウド・アプリケーションを展開するときに、ワークフローは2708で筆頭者承認の後にさらに3つの承認を要求する。これらの承認は、2802の管理者承認、2804のSQA承認および2810のビジネス承認を含む。これら追加承認より多いまたは少ない承認とすることができ、なおも本発明の範囲内にあるものとすることができる。
[0203]図29を参照する。全般的に2900において、非常事態についてのクラウド・アプリケーション展開ワークフローが示される。図29において、2704の下書き中、2706の公開済み、2708の筆頭者承認、2710の拒絶済み、2802の管理者承認、2804のSQA承認、2810のビジネス承認、および2712のスケジュール済みに関係するワークフロー・プロセスは、図28のそれらと同一である。ただし、2708の筆頭者承認および2802の管理者承認が開発者2702の一部であり、また、2804のSQA承認および2810のビジネス承認が非常時承認2904を含む代替のフロー2902でグルーピングされることを除く。したがって、図28に関するこれらの項目の説明が同様に適用され、参照により組み込むものとする。
[0204]クラウド・アプリケーション・プロファイルを非常時の展開として移行することを開発者が要求する場合に、図29のワークフローが用いられる。非常時の展開ワークフローにおいて、SQA承認およびビジネス承認、2904で非常時承認へのアクセス権を有する認可された人によって、スキップすることができる。好ましくは、非常時ワークフローは、前に展開へ移動することを必要とする、予想外であるが、クリティカルな技術変更を展開するためのものである。この技術変更は、緊急に展開へと前進する必要がある。
[0205]図30を参照する。全般的に3000において、モラトリアム・クラウド・アプリケーション展開ワークフローを示している。図29において、2704の下書き中、2706の公開済み、2708の筆頭者承認、2710の拒絶済み、2802の管理者承認、2804のSQA承認、2810のビジネス2712のスケジュール済み、および2904の非常時承認に関係するワークフロー・プロセスは、図29のそれらと同様である。したがって、図29に関するこれらの項目の説明が同等に適用され、参照により組み込むものとする。
[0206]クラウド・アプリケーションが毎月のモラトリアムまたは他の一定の期間の間に移行される必要があるときに、モラトリアム展開ワークフローが用いられる。例えば、1ヵ月の最終営業日と第1営業日とを一致させることができる。この間は、ライブでのクラウド・アプリケーションの変更が制限される。
[0207]図30によれば、代替のワークフロー2902が、3002のモラトリアム承認1および3004のモラトリアム承認2を含む。これら後者の承認は、企業内で高位レベルのエンティティから得られる。
[0208]図31を参照する。全般的に3100において、展開プロセスからアプリケーションを後退させるためのクラウド・アプリケーション展開ワークフローを示している。クラウド・アプリケーションの展開がクラウド・アプリケーションにおいて予想外の故障という結果となるとき、プライベート・クラウドから後退されるために展開されたクラウド・アプリケーションのバージョンが必要となることがある。
[0209]展開されたクラウド・アプリケーションで課題が検出されるとき、アプリケーションを取り消すかどうかの決定がなされる。これは、アプリケーションの「取消」ファイルの作成によって行うことができる。このファイルは、クラウド・アプリケーションについてのバイナリを用いて作成することができる。このバイナリは、クラウド・アプリケーションが課題を有する前に展開されたものである。取消のプロファイルは、これらのバイナリを用いている開発者によって作成される。
[0210]再度図31を参照する。取消アプリケーション展開ワークフローを視覚的に示している。3102において、展開されたクラウド・アプリケーションのバージョンで検出された課題が一旦存在すれば、取消プロファイルを作成および使用すべきかどうかについて決定しなければならない。
[0211]取消プロファイルを作成することが決定された場合は、このプロセスは3104へ進む。3104において、取消プロファイルは、アプリケーション・コントロールパネルを用いて作成することができる。取消プロファイルを作成する際、以前に展開したクラウド・アプリケーションだけを使用することができる。さらに、一旦取消プロファイルが作成されると、それは変更することができない。行動ログは、取消プロファイルに関係した履歴の経過を追う。
[0212]一旦取消ファイルが作成されると、このプロセスは3106へ進む。ここでは、適切な承認を得ることが必要となる。少なくとも図27〜30および32に示したワークフローと整合するようにして、これらの承認が得られる。
[0213]図32を参照する。全般的に3200において、だいたいのクラウド・アプリケーション展開ワークフローを示しており、自動アラートが組み込まれる。図32において、2704の下書き中、2706の公開済み、2708の筆頭者承認、2710の拒絶済み、2802の管理者承認、2804のSQA承認、2810のビジネス承認および2712のスケジュール済みに関するワークフロー・プロセスは、図29におけるそれらと同様である。したがって、図29に関するこれらの項目の説明が同等に適用され、参照により組み込むものとする。
[0214]図32に示されるワークフローは、各段階における自動審査ルールの使用を組み込む。2704において、下書き中のステータスを有するクラウド・アプリケーションは3202において変更されるクラウド・アプリケーション・プロファイルを有し、次いで、自動審査ルールは、3204においてその変更を評価する。これにより、3206でアプリケーション・プロファイル・アラートを発生することになる。開発者は、次いで、3208においてアラートを生じさせた課題を解決する。この解決が適切なものと考えられる場合には、クラウド・アプリケーションは2706の公開済みとなる。しかしながら、3205の代替のワークフローにおける各段階で、各承認レベルは、アプリケーションが次の承認ステージへ移るために、3010、3012、3014、および3016に示すように、アラートを受理しなければならない。承認された段階のいずれかでアラートが拒否された場合は、ワークフローは3218でアラートを拒否するために移り、2710でアプリケーションを拒絶する。アプリケーションがこのようにして拒絶されるとき、そのステータスは下書き中に戻され、このプロセスはクラウド・アプリケーションをプライベート・クラウドの展開に移すために、再度開始しなければならない。
[0215]本発明のシステムおよび方法における本実施形態やその部分は、コンピュータ・ハードウェア、ファームウェア、および/またはプログラム可能なコンピュータやサーバ上で起動できるコンピュータ・プログラムに実装することができる。プログラム可能なコンピュータかサーバは、それぞれプロセッサおよび当該プロセッサによって読み取り可能な(揮発性および不揮発性メモリ、ならびに/またはストレージ・エレメントを含んだ)ストレージ媒体を含む。いかなるコンピュータ・プログラムも、コンピュータ・ベース・システムの内側および外側で通信するために、高位レベル手順であるかオブジェクト指向プログラミング言語で実装することができる。
[0216]いかなるコンピュータ・プログラムも、例えばストレージ媒体(例えば、CD―ROM、ハードディスクや磁気ディスケット)またはデバイス(例えば、コンピュータ周辺機器)のような製造品上に格納することができる。コンピュータ・プログラムは、汎用または専用目的のプログラム可能なコンピュータによって読み取り可能であり、ストレージ媒体やデバイスがコンピュータで読み取られて本実施形態の機能を実行する際に、そのコンピュータを構成し動作させる。本実施形態やその部分はまた、コンピュータ・プログラムを用いて構成されるマシン読み取り可能ストレージ媒体として実装することもできる。そこでは、実行時に、コンピュータ・プログラム内の命令によって先に述べた本実施形態の機能を実行するようにマシンに動作させる。
[0217]本発明のシステムおよび方法における本実施形態やその部分は、様々なアプリケーションで使用することができる。本実施形態やその部分はこの点では制限されていなが、本実施形態やその部分は、他の電気コンポーネントにおいて、マイクロコントローラ、汎用マイクロプロセッサ、デジタル信号プロセッサ(DSP)、縮小命令セット・コンピューティング(RISC)および複合命令セット・コンピューティング(CISC)のメモリデバイスを用いて実施することができる。さらには、先に説明した本実施形態やその部分はまた、メイン・メモリとして称される集積回路ブロック、キャッシュメモリ、マイクロプロセッサによって実行される電気命令を格納、または算術演算において使用できるデータを格納する他のタイプのメモリを用いて、実施することができる。
[0218]本説明は、いかなるコンピューティング環境または処理環境においても適用可能である。本実施形態またはその部分は、ハードウェア、ソフトウェアまたはこれら2つの組合せにおいて実施することができる。例えば、本実施形態やその部分は、1以上のプログラム可能ロジック(例えば、ASIC)、論理ゲート、プロセッサおよびメモリのような回路を使用して実施することができる。
[0219]開示した実施形態に対するさまざまな変更態様が当業者にとって明らかであり、一般原則を他の実施形態およびアプリケーションに適用することができる。このように、本発明は、本明細書に図示および説明した実施形態に限定されることを意図するものではない。

Claims (1)

  1. クラウド・コンピューティング環境のクラウド・アプリケーションの開発、およびクラウド・コンピューティング環境におけるクラウド・アプリケーションの開発のためのコンピュータ・ベース・システムであって、前記クラウド・アプリケーションが前記クラウド環境に接続することを認可されたコンピュータ・システム・ユーザによってアクセスおよび起動することが可能であり、
    (A)前記クラウド・アプリケーションを開発し、少なくとも、
    (1)前記クラウド・アプリケーションについての少なくとも1つのウェブ・サービスを作成すること、
    (2)ユーザ・インターフェイス・コンポーネントを含むユーザ・インターフェイスを作成すること、
    (3)前記クラウド・アプリケーションについてのデータを格納するジョブを作成すること、
    によって、前記開発されたクラウド・アプリケーションをクラウド環境における開発のために準備するステップと、
    (B)前記ステップ(A)で作成された前記少なくとも1つのウェブ・サービスにしたがって、前記クラウド・アプリケーションに関連付けられたメタデータを更新するステップと、
    (C)前記ステップ(B)にしたがって前記クラウド・アプリケーションに関連付けられた前記更新されたメタデータを用いて、少なくともサービス定義およびサービス・インベントリ・ファイルを更新するステップと、
    (D)前記ステップ(C)で更新された前記少なくとも更新されたサービス定義およびサービス・インベントリ・ファイル、ならびに、前記ステップ(A)で作成された前記ユーザ・インターフェイスおよびジョブをバンドルするためにウェブ・アーカイブ・ファイルをビルドするステップと、
    (E)前記ステップ(D)でビルドされた前記ウェブ・アーカイブ・ファイルをバンドルし、前記クラウド環境での開発のためのクラウド・アプリケーションを作成するステップと、
    (F)前記ステップ(E)でバンドルされた前記バンドル・ウェブ・アーカイブ・ファイルに関連付けた前記クラウド・アプリケーションについてのクラウド・アプリケーション・プロファイルを作成するステップと、
    (G)前記ステップ(F)で作成された前記クラウド・アプリケーション・プロファイルを前記クラウド環境に送信することによって、前記クラウド環境における前記クラウド・アプリケーションの開発を要求するステップであって、前記要求が受け入れられた(granted)場合にはステップ(H)に、そうでない場合には前記ステップ(A)に進むステップと、
    (H)前記クラウド環境における前記クラウド・アプリケーションを開発するために、前記クラウド環境からの承認を得るステップと、
    (I)前記クラウド・アプリケーションに関連付けられたサービスで前記クラウド環境のサービス・レジストリを更新するステップと、
    (J)システム・ユーザが前記クラウド・アプリケーションに関するデータに少なくともアクセスし、変更し、操作するために前記クラウド環境についてのアクセス・セキュリティを許可レベルに更新するステップと、
    (K)前記ステップ(K)で前記更新されたアクセス・セキュリティにしたがってシステム・ユーザが利用するために、前記クラウド・アプリケーションを前記クラウド環境にプロモートするステップと、
    を含む、コンピュータ・ベース・システム。
JP2013519751A 2010-07-09 2011-07-11 プライベート・クラウド・コンピューティングためのシステムおよび方法 Active JP5982366B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US36309210P 2010-07-09 2010-07-09
US61/363,092 2010-07-09
PCT/US2011/043604 WO2012006638A1 (en) 2010-07-09 2011-07-11 Systems and methods for private cloud computing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016150969A Division JP6490633B2 (ja) 2010-07-09 2016-08-01 プライベート・クラウド・コンピューティングためのシステムおよび方法

Publications (3)

Publication Number Publication Date
JP2013534019A true JP2013534019A (ja) 2013-08-29
JP2013534019A5 JP2013534019A5 (ja) 2014-08-28
JP5982366B2 JP5982366B2 (ja) 2016-08-31

Family

ID=45441578

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013519751A Active JP5982366B2 (ja) 2010-07-09 2011-07-11 プライベート・クラウド・コンピューティングためのシステムおよび方法
JP2016150969A Active JP6490633B2 (ja) 2010-07-09 2016-08-01 プライベート・クラウド・コンピューティングためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016150969A Active JP6490633B2 (ja) 2010-07-09 2016-08-01 プライベート・クラウド・コンピューティングためのシステムおよび方法

Country Status (9)

Country Link
US (2) US8495611B2 (ja)
EP (2) EP2591423A4 (ja)
JP (2) JP5982366B2 (ja)
CN (2) CN103380423B (ja)
AU (1) AU2011274428B2 (ja)
CA (2) CA2804864C (ja)
HK (1) HK1224396A1 (ja)
SG (2) SG186975A1 (ja)
WO (1) WO2012006638A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210065818A (ko) * 2019-11-27 2021-06-04 주식회사 가토랩 딥러닝 프라이빗 클라우드 서비스 시스템의 서비스 제공 방법

Families Citing this family (181)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280335B2 (en) 2010-09-30 2016-03-08 International Business Machines Corporation Semantically rich composable software image bundles
US8793652B2 (en) 2012-06-07 2014-07-29 International Business Machines Corporation Designing and cross-configuring software
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US8250213B2 (en) 2009-11-16 2012-08-21 At&T Intellectual Property I, L.P. Methods and apparatus to allocate resources associated with a distributive computing network
US10715457B2 (en) 2010-06-15 2020-07-14 Oracle International Corporation Coordination of processes in cloud computing environments
WO2011159842A2 (en) 2010-06-15 2011-12-22 Nimbula, Inc. Virtual computing infrastructure
WO2011160139A1 (en) 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US10671628B2 (en) * 2010-07-09 2020-06-02 State Street Bank And Trust Company Systems and methods for data warehousing
US10235439B2 (en) 2010-07-09 2019-03-19 State Street Corporation Systems and methods for data warehousing in private cloud environment
WO2012006638A1 (en) 2010-07-09 2012-01-12 State Street Corporation Systems and methods for private cloud computing
US9396040B2 (en) * 2010-12-27 2016-07-19 Nokia Technologies Oy Method and apparatus for providing multi-level distributed computations
US8578442B1 (en) * 2011-03-11 2013-11-05 Symantec Corporation Enforcing consistent enterprise and cloud security profiles
US9015710B2 (en) 2011-04-12 2015-04-21 Pivotal Software, Inc. Deployment system for multi-node applications
US9384116B2 (en) * 2011-05-16 2016-07-05 Vmware, Inc. Graphically representing load balance in a computing cluster
DE102011077218B4 (de) * 2011-06-08 2023-12-14 Servicenow, Inc. Zugriff auf in einer Cloud gespeicherte Daten
US9176773B2 (en) 2011-06-29 2015-11-03 Microsoft Technology Licensing, Llc Virtual machine migration tool
US9081619B2 (en) 2011-06-30 2015-07-14 Microsoft Technology Licensing, Llc Provisioning a web hosting resource using a cloud service
US9781205B2 (en) * 2011-09-12 2017-10-03 Microsoft Technology Licensing, Llc Coordination engine for cloud selection
JP5667024B2 (ja) * 2011-09-28 2015-02-12 株式会社東芝 プログラム生成装置、プログラム生成方法及びプログラム
US9311457B1 (en) * 2011-11-02 2016-04-12 Google Inc. Platform for cloud application software
US20130117738A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Server Upgrades with Safety Checking and Preview
US8682958B2 (en) 2011-11-17 2014-03-25 Microsoft Corporation Decoupling cluster data from cloud deployment
US20130138798A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Predictive and dynamic resource provisioning with tenancy matching of health metrics in cloud systems
US8789034B1 (en) * 2011-12-31 2014-07-22 Parallels IP Holdings GmbH Method for updating operating system without memory reset
CN104303175B (zh) 2012-02-10 2018-06-12 甲骨文国际公司 云计算服务框架
KR101280753B1 (ko) * 2012-02-22 2013-07-05 주식회사 팬택 클라우드 서비스 액세스 장치, 클라우드 서비스 액세스 방법 및 클라우드 서비스 액세스 시스템
US9043398B2 (en) 2012-02-24 2015-05-26 Google Inc. Detection and prevention of unwanted content on cloud-hosted services
US9052961B2 (en) * 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US8751620B2 (en) 2012-03-30 2014-06-10 International Business Machines Corporation Validating deployment patterns in a networked computing environment
US9628438B2 (en) 2012-04-06 2017-04-18 Exablox Consistent ring namespaces facilitating data storage and organization in network infrastructures
WO2013162596A1 (en) * 2012-04-27 2013-10-31 Hewlett-Packard Development Company, L.P. Mapping application dependencies at runtime
US9483259B1 (en) 2012-05-07 2016-11-01 Google Inc. System and method for providing real-time execution of source code in a collaborative online software development environment
US9923952B2 (en) 2012-06-08 2018-03-20 Hewlett Packard Enterprise Development Lp Cloud application deployment
WO2013184133A1 (en) * 2012-06-08 2013-12-12 Hewlett-Packard Development Company, L.P. Cloud application deployment portability
US8892766B1 (en) * 2012-06-28 2014-11-18 Trend Micro Incorporated Application-based network traffic redirection for cloud security service
US20140096208A1 (en) * 2012-07-26 2014-04-03 Mrk Networks, Inc. Automated system and method for provisioning and managing cloud desktop services
JP6070706B2 (ja) * 2012-08-06 2017-02-01 富士通株式会社 クラウドサービス選択装置、クラウドサービス選択システム、クラウドサービス選択方法、およびクラウドサービス選択プログラム
US20140082586A1 (en) * 2012-08-09 2014-03-20 FatFractal, Inc. Application development system and method for object models and datagraphs in client-side and server-side applications
US8775917B2 (en) * 2012-08-09 2014-07-08 Sweetlabs, Inc. Systems and methods for alert management
US8805921B2 (en) * 2012-08-20 2014-08-12 International Business Machines Corporation System and method supporting application solution composition on cloud
CN102868729B (zh) * 2012-08-24 2018-05-04 中兴通讯股份有限公司 基于云服务的实现软件服务的方法、客户端及云服务器
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US8769701B2 (en) * 2012-09-05 2014-07-01 International Business Machines Corporation Single tenant audit view in a multi-tenant environment
US10225323B2 (en) 2012-09-07 2019-03-05 Oracle International Corporation System and method for providing java cloud services for use with a cloud computing environment
US10148530B2 (en) 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US9792338B2 (en) 2012-09-07 2017-10-17 Oracle International Corporation Role assignments in a cloud infrastructure
US11521139B2 (en) 2012-09-24 2022-12-06 Amazon Technologies, Inc. Providing system resources with secure containment units
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US8745261B1 (en) 2012-10-02 2014-06-03 Nextbit Systems Inc. Optimized video streaming using cloud computing platform
US9251114B1 (en) 2012-10-12 2016-02-02 Egnyte, Inc. Systems and methods for facilitating access to private files using a cloud storage system
US8997088B2 (en) * 2012-11-02 2015-03-31 Wipro Limited Methods and systems for automated deployment of software applications on heterogeneous cloud environments
US20140143752A1 (en) * 2012-11-16 2014-05-22 Level 3 Communications, Llc Systems and methods for providing environments as a service
US10115066B2 (en) 2012-11-19 2018-10-30 International Business Machines Corporation Managing assets
US20140143673A1 (en) * 2012-11-20 2014-05-22 Weintek Labs., Inc. Cloud hmi system
CN103023885B (zh) * 2012-11-26 2015-09-16 北京奇虎科技有限公司 安全数据处理方法及系统
KR102069876B1 (ko) * 2012-12-21 2020-01-23 삼성전자주식회사 전자 기기, 개인 클라우드 기기, 개인 클라우드 시스템 및 이들의 개인 클라우드 기기 등록 방법
US9179246B2 (en) 2013-01-29 2015-11-03 International Business Machines Corporation Direction coupling discrimination of networked exchanges
US9047248B2 (en) 2013-01-29 2015-06-02 Sungard Availability Services, Lp Logical domain recovery
US9094473B2 (en) 2013-02-28 2015-07-28 International Business Machines Corporation Installation of an asset from a cloud marketplace to a cloud server in a private network
US10216503B2 (en) * 2013-03-13 2019-02-26 Elasticbox Inc. Deploying, monitoring, and controlling multiple components of an application
CN107944271A (zh) * 2013-03-14 2018-04-20 英特尔公司 到安全操作系统环境的基于上下文的切换
US20140280484A1 (en) * 2013-03-15 2014-09-18 Oliver Klemenz Dynamic Service Extension Infrastructure For Cloud Platforms
CN103227783B (zh) * 2013-04-01 2016-05-18 东南大学 云数据安全的一个有效的多写入者模型公共审计方法
KR102046094B1 (ko) 2013-04-23 2019-11-18 삼성전자주식회사 전자 기기 및 이의 개인 클라우드 기기 등록 방법
US9552382B2 (en) 2013-04-23 2017-01-24 Exablox Corporation Reference counter integrity checking
US10061626B2 (en) 2013-06-05 2018-08-28 Splunk Inc. Application framework providing a registry for mapping names to component instances
US9594545B2 (en) 2013-06-05 2017-03-14 Splunk Inc. System for displaying notification dependencies between component instances
US8756614B2 (en) 2013-06-05 2014-06-17 Splunk Inc. Central registry for binding features using dynamic pointers
WO2014201270A1 (en) 2013-06-12 2014-12-18 Exablox Corporation Hybrid garbage collection
US9843624B1 (en) * 2013-06-13 2017-12-12 Pouya Taaghol Distributed software defined networking
EP3011428A4 (en) 2013-06-19 2017-02-22 Exablox Corporation Data scrubbing in cluster-based storage systems
CN104253831B (zh) 2013-06-26 2018-05-11 国际商业机器公司 一种用于在云计算环境中部署应用的方法和系统
US9619545B2 (en) 2013-06-28 2017-04-11 Oracle International Corporation Naïve, client-side sharding with online addition of shards
US9934242B2 (en) 2013-07-10 2018-04-03 Exablox Corporation Replication of data between mirrored data sites
CN103347085B (zh) * 2013-07-12 2016-03-23 东南大学 云数据安全的多写入模型的公共审计设计方法
CN105474225B (zh) * 2013-08-14 2019-05-14 慧与发展有限责任合伙企业 在基于云的数据中心中对计算资源进行自动监控
US9529978B2 (en) * 2013-08-28 2016-12-27 Chung Jong Lee Cloud E-DRM system and service method thereof
US20150074678A1 (en) * 2013-09-09 2015-03-12 Avraham Vachnis Device and method for automating a process of defining a cloud computing resource
US9460405B2 (en) * 2013-10-03 2016-10-04 Paypal, Inc. Systems and methods for cloud data loss prevention integration
US10248556B2 (en) 2013-10-16 2019-04-02 Exablox Corporation Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session
US9083653B2 (en) 2013-10-21 2015-07-14 Hewlett-Packard Development Company, L.P. Automated cloud set up
US9729615B2 (en) * 2013-11-18 2017-08-08 Nuwafin Holdings Ltd System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications
US9753784B2 (en) 2013-11-27 2017-09-05 At&T Intellectual Property I, L.P. Cloud delivery platform
US20150163303A1 (en) * 2013-12-08 2015-06-11 Sarah M. Banas Customizable Cloud or Distributed System Location
US9985829B2 (en) 2013-12-12 2018-05-29 Exablox Corporation Management and provisioning of cloud connected devices
US9565072B2 (en) 2013-12-19 2017-02-07 Sap Se Moving median usage frequency based maintenance of server instances
US11308114B1 (en) * 2013-12-23 2022-04-19 Cazena, Inc. Platform for provisioning a data analytics environment
US9749440B2 (en) 2013-12-31 2017-08-29 Sweetlabs, Inc. Systems and methods for hosted application marketplaces
US9742838B2 (en) 2014-01-09 2017-08-22 Red Hat, Inc. Locked files for cartridges in a multi-tenant platform-as-a-service (PaaS) system
US9231998B2 (en) 2014-01-22 2016-01-05 Ford Global Technologies, Llc Vehicle-specific computation management system for cloud computing
US9774582B2 (en) 2014-02-03 2017-09-26 Exablox Corporation Private cloud connected device cluster architecture
EP3103025B1 (en) 2014-02-04 2019-07-10 Exablox Corporation Content based organization of file systems
US9791485B2 (en) 2014-03-10 2017-10-17 Silver Spring Networks, Inc. Determining electric grid topology via a zero crossing technique
US9665079B2 (en) * 2014-03-26 2017-05-30 Honeywell International Inc. Controller having a version control system
US10084669B2 (en) 2014-04-09 2018-09-25 Centurylink Intellectual Property Llc System and method for cloud computing adaptive cloud services
US9336018B2 (en) * 2014-05-02 2016-05-10 Oracle International Corporation Mechanism for class data sharing using extension and application class-loaders
US9203851B1 (en) 2014-05-13 2015-12-01 Trend Micro Incorporated Redirection of data from an on-premise computer to a cloud scanning service
US10089098B2 (en) 2014-05-15 2018-10-02 Sweetlabs, Inc. Systems and methods for application installation platforms
US10019247B2 (en) 2014-05-15 2018-07-10 Sweetlabs, Inc. Systems and methods for application installation platforms
US20150332351A1 (en) * 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
US9727439B2 (en) * 2014-05-28 2017-08-08 Vmware, Inc. Tracking application deployment errors via cloud logs
US9652211B2 (en) 2014-06-26 2017-05-16 Vmware, Inc. Policy management of deployment plans
US9712604B2 (en) 2014-05-30 2017-07-18 Vmware, Inc. Customized configuration of cloud-based applications prior to deployment
US9386079B2 (en) * 2014-06-10 2016-07-05 American Megatrends, Inc. Method and system of virtual desktop infrastructure deployment studio
US10452529B1 (en) * 2014-06-11 2019-10-22 Servicenow, Inc. Techniques and devices for cloud memory sizing
US9639691B2 (en) 2014-06-26 2017-05-02 Vmware, Inc. Dynamic database and API-accessible credentials data store
US11228637B2 (en) 2014-06-26 2022-01-18 Vmware, Inc. Cloud computing abstraction layer for integrating mobile platforms
US9871851B2 (en) * 2014-06-30 2018-01-16 EMC IP Holding Company LLC Migrating private infrastructure services to a cloud
US9529639B2 (en) * 2014-07-30 2016-12-27 Software Ag System and method for staging in a cloud environment
US10164901B2 (en) 2014-08-22 2018-12-25 Oracle International Corporation Intelligent data center selection
US9444886B2 (en) 2014-09-25 2016-09-13 At&T Intellectual Property I, L.P. Data analytics for adaptive networks
US10819747B1 (en) * 2014-09-26 2020-10-27 Amazon Technologies, Inc. Entitlement map for policy simulation
US10567476B2 (en) 2014-10-30 2020-02-18 Amazon Technologies, Inc. Rule-based action triggering in a provider network
US9940112B2 (en) * 2014-11-06 2018-04-10 Capgemini Technology Services India Limited Efficient framework for deploying middleware services
US9430672B2 (en) * 2014-12-05 2016-08-30 Cisco Technology, Inc. Stack fusion architecture including distributed software clusters to enable software communication services
US10057186B2 (en) * 2015-01-09 2018-08-21 International Business Machines Corporation Service broker for computational offloading and improved resource utilization
US10650424B2 (en) 2015-03-17 2020-05-12 International Business Machines Corporation Dynamic cloud solution catalog
US9807156B2 (en) 2015-05-26 2017-10-31 Microsoft Technology Licensing, Llc Cloud computing infrastructure
US10067802B2 (en) 2015-07-02 2018-09-04 Red Hat, Inc. Hybrid security batch processing in a cloud environment
US9519505B1 (en) * 2015-07-06 2016-12-13 Bank Of America Corporation Enhanced configuration and property management system
US10382261B2 (en) * 2015-07-29 2019-08-13 Open Text GXS ULC Systems and methods for managed services provisioning using service-specific provisioning data instances
US9762616B2 (en) * 2015-08-08 2017-09-12 International Business Machines Corporation Application-based security rights in cloud environments
CN105100109B (zh) * 2015-08-19 2019-05-24 华为技术有限公司 一种部署安全访问控制策略的方法及装置
US10142174B2 (en) 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
US10474654B2 (en) 2015-08-26 2019-11-12 Storagecraft Technology Corporation Structural data transfer over a network
US10067798B2 (en) 2015-10-27 2018-09-04 International Business Machines Corporation User interface and system supporting user decision making and readjustments in computer-executable job allocations in the cloud
US10135907B2 (en) * 2015-11-05 2018-11-20 Microsoft Technology Licensing, Llc Maintaining control over restricted data during deployment to cloud computing environments
US10652313B2 (en) * 2015-11-08 2020-05-12 Vmware, Inc. Deploying an application in a hybrid cloud computing environment
US10250452B2 (en) 2015-12-14 2019-04-02 Microsoft Technology Licensing, Llc Packaging tool for first and third party component deployment
US10666517B2 (en) 2015-12-15 2020-05-26 Microsoft Technology Licensing, Llc End-to-end automated servicing model for cloud computing platforms
US10291648B2 (en) 2015-12-22 2019-05-14 At&T Intellectual Property I, L.P. System for distributing virtual entity behavior profiling in cloud deployments
US10394528B2 (en) 2016-03-30 2019-08-27 Oracle International Corporation Returning a runtime type loaded from an archive in a module system
US10191753B2 (en) 2016-03-30 2019-01-29 Oracle International Corporation Generating verification metadata and verifying a runtime type based on verification metadata
US9846553B2 (en) 2016-05-04 2017-12-19 Exablox Corporation Organization and management of key-value stores
US10795706B2 (en) 2016-06-06 2020-10-06 Vmware, Inc. Multitier application blueprint representation in open virtualization format package
US10484460B2 (en) 2016-07-22 2019-11-19 Microsoft Technology Licensing, Llc Access services in hybrid cloud computing systems
US10225253B2 (en) 2016-07-22 2019-03-05 Microsoft Technology Licensing, Llc Usage tracking in hybrid cloud computing systems
US10650093B2 (en) * 2016-09-15 2020-05-12 Oracle International Corporation Data structure processing for actionable notifications
CN108376061B (zh) * 2016-10-13 2019-12-10 北京百度网讯科技有限公司 用于开发无人驾驶车辆应用的方法和装置
CN107423107B (zh) * 2017-03-27 2020-12-18 武汉兴和云网科技股份有限公司 一种移动分布式数据中心的构建方法
US10657239B2 (en) * 2017-05-25 2020-05-19 Oracle International Corporation Limiting access to application features in cloud applications
US10567356B2 (en) * 2017-06-20 2020-02-18 Microsoft Technology Licensing, Llc Monitoring cloud computing environments with data control policies
US10762218B2 (en) 2017-06-20 2020-09-01 Microsoft Technology Licensing, Llc Network buildout for cloud computing environments with data control policies
US10708136B2 (en) 2017-06-20 2020-07-07 Microsoft Technology Licensing, Llc Standardization of network management across cloud computing environments and data control policies
WO2019008597A1 (en) * 2017-07-01 2019-01-10 Myentsol-Llp GENERIC EXPERTISE NETWORK FOR INDIVIDUAL AND TRADE UNIONS (GENIUS)
US10877792B2 (en) 2017-12-29 2020-12-29 Virtual Instruments Corporation Systems and methods of application-aware improvement of storage network traffic
US11223534B2 (en) 2017-12-29 2022-01-11 Virtual Instruments Worldwide, Inc. Systems and methods for hub and spoke cross topology traversal
CN109995744B (zh) * 2018-01-03 2021-08-31 腾讯科技(深圳)有限公司 一种授权管理方法、装置和存储介质
US10762234B2 (en) * 2018-03-08 2020-09-01 International Business Machines Corporation Data processing in a hybrid cluster environment
US10992680B2 (en) * 2018-06-29 2021-04-27 Sap Se Authorization client management in a distributed computing environment
US10846070B2 (en) 2018-07-05 2020-11-24 At&T Intellectual Property I, L.P. Facilitating cloud native edge computing via behavioral intelligence
US11070613B2 (en) * 2018-08-16 2021-07-20 Microsoft Technology Licensing, Llc Automatic application scaling between private and public cloud platforms
US10884815B2 (en) 2018-10-29 2021-01-05 Pivotal Software, Inc. Independent services platform
CN109460912B (zh) * 2018-10-31 2021-06-29 泰康保险集团股份有限公司 数据处理方法、装置、存储介质及电子设备
US10908897B2 (en) 2018-11-27 2021-02-02 International Business Machines Corporation Distributing services to client systems to develop in a shared development environment
US10678522B1 (en) 2018-12-14 2020-06-09 Mouri Tech Llc Compiler and method for compiling business rules for a serverless runtime environment
CN109660567A (zh) * 2019-02-22 2019-04-19 北京致远互联软件股份有限公司 一种通信连接方法、服务器、终端设备及系统
US10628244B1 (en) 2019-10-29 2020-04-21 Snowflake Inc. Calling external functions from a data warehouse
US10715524B1 (en) * 2019-11-14 2020-07-14 Snowflake Inc. External credential-less stages for data warehouse integrations
CN111654534B (zh) * 2020-04-22 2023-05-02 国云科技股份有限公司 一种私有云任务管理系统、方法及存储介质
CN113595968B (zh) * 2020-04-30 2023-02-03 华为云计算技术有限公司 一种基于云应用实例的登录方法、系统及相关设备
US11507351B2 (en) * 2020-05-12 2022-11-22 Vmware, Inc. Intent compiler
KR102640785B1 (ko) * 2020-09-10 2024-02-23 에스케이텔레콤 주식회사 엣지서비스지원서버 및 엣지서비스지원서버의 동작 방법
US20220179769A1 (en) * 2020-12-09 2022-06-09 International Business Machines Corporation Estimating cloud resources for batch processing
CN112764943B (zh) * 2020-12-31 2021-09-28 橙色云互联网设计有限公司 信息处理方法、系统、电子设备和计算机可读存储介质
US11138192B1 (en) 2021-04-30 2021-10-05 Snowflake Inc. Invoking external table functions from a database system
US11973824B2 (en) * 2021-09-23 2024-04-30 Shanghai Anviz Technology Co., Ltd. Method for data transmission of audio and video in end-to-end system
US11785070B2 (en) * 2021-10-22 2023-10-10 Slcket, Inc. Connected cloud applications

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005181A1 (en) * 2001-07-02 2003-01-02 David Bau Annotation based development platform for asynchronous web services
US20040268293A1 (en) * 2003-06-27 2004-12-30 Woodgeard Larry A. Automating the life cycle of a distributed Computing application
JP2007157149A (ja) * 2005-12-01 2007-06-21 Sap Ag ユビキタスコンピューティングアプリケーションの組み立てモデルと組み立ての検証アルゴリズム
US20080086482A1 (en) * 2006-10-04 2008-04-10 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
JP2009181329A (ja) * 2008-01-30 2009-08-13 Bank Of Tokyo-Mitsubishi Ufj Ltd アプリケーション開発支援装置及びプログラム
US7596620B1 (en) * 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US20090307094A1 (en) * 2008-06-04 2009-12-10 Microsoft Corporation Data center programming and application distribution interface
US20100061250A1 (en) * 2008-09-08 2010-03-11 Nugent Raymond M System and method for cloud computing
US20100125829A1 (en) * 2008-11-20 2010-05-20 Nhn Corporation Component-based web application development framework used for creating web page

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560717B1 (en) * 1999-12-10 2003-05-06 Art Technology Group, Inc. Method and system for load balancing and management
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
GB0524008D0 (en) * 2005-11-25 2006-01-04 Ibm Method and system for controlling the processing of requests for web resources
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8380880B2 (en) * 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US20090089078A1 (en) * 2007-09-28 2009-04-02 Great-Circle Technologies, Inc. Bundling of automated work flow
US8838669B2 (en) * 2008-02-08 2014-09-16 Oracle International Corporation System and method for layered application server processing
WO2009110616A1 (ja) * 2008-03-07 2009-09-11 日本電気株式会社 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
WO2009111799A2 (en) * 2008-03-07 2009-09-11 3Tera, Inc. Globally distributed utility computing cloud
JP2009265778A (ja) * 2008-04-22 2009-11-12 Dino Co Ltd 仮想化サーバ
US8849971B2 (en) * 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US20100042670A1 (en) 2008-08-13 2010-02-18 Electronic Data Systems Corporation Integrated development engine for a cloud computing environment
US9122533B2 (en) * 2009-03-13 2015-09-01 Novell, Inc. System and method for reducing cloud IP address utilization using a distributor registry
US8516293B2 (en) * 2009-11-05 2013-08-20 Novell, Inc. System and method for implementing a cloud computer
US8364842B2 (en) * 2009-03-13 2013-01-29 Novell, Inc. System and method for reduced cloud IP address utilization
US20100064033A1 (en) * 2008-09-08 2010-03-11 Franco Travostino Integration of an internal cloud infrastructure with existing enterprise services and systems
US8453144B1 (en) * 2008-09-23 2013-05-28 Gogrid, LLC System and method for adapting a system configuration using an adaptive library
US8595696B2 (en) * 2008-09-30 2013-11-26 International Business Machines Corporation Development of networked applications
US8069242B2 (en) * 2008-11-14 2011-11-29 Cisco Technology, Inc. System, method, and software for integrating cloud computing systems
US7996525B2 (en) * 2008-12-31 2011-08-09 Sap Ag Systems and methods for dynamically provisioning cloud computing resources
US9680964B2 (en) * 2009-03-11 2017-06-13 Microsoft Technology Licensing, Llc Programming model for installing and distributing occasionally connected applications
US8751627B2 (en) * 2009-05-05 2014-06-10 Accenture Global Services Limited Method and system for application migration in a cloud
CN101557551A (zh) * 2009-05-11 2009-10-14 成都市华为赛门铁克科技有限公司 一种移动终端访问云服务的方法、装置和通信系统
US9450783B2 (en) * 2009-05-28 2016-09-20 Red Hat, Inc. Abstracting cloud management
US20100332629A1 (en) * 2009-06-04 2010-12-30 Lauren Ann Cotugno Secure custom application cloud computing architecture
US8131844B2 (en) * 2009-06-15 2012-03-06 Microsoft Corporation Customer intelligence in a cloud operating environment
US20100318609A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
US8271653B2 (en) * 2009-08-31 2012-09-18 Red Hat, Inc. Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
US8359374B2 (en) * 2009-09-09 2013-01-22 Vmware, Inc. Fast determination of compatibility of virtual machines and hosts
US20110072487A1 (en) * 2009-09-23 2011-03-24 Computer Associates Think, Inc. System, Method, and Software for Providing Access Control Enforcement Capabilities in Cloud Computing Systems
US9274848B2 (en) * 2009-12-03 2016-03-01 International Business Machines Corporation Optimizing cloud service delivery within a cloud computing environment
US8924569B2 (en) * 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
US8984503B2 (en) * 2009-12-31 2015-03-17 International Business Machines Corporation Porting virtual images between platforms
CN101763266A (zh) * 2010-01-13 2010-06-30 上海动量软件技术有限公司 计算机软件系统实现云构件部署和配置的平台系统及方法
WO2012006638A1 (en) 2010-07-09 2012-01-12 State Street Corporation Systems and methods for private cloud computing

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005181A1 (en) * 2001-07-02 2003-01-02 David Bau Annotation based development platform for asynchronous web services
US20040268293A1 (en) * 2003-06-27 2004-12-30 Woodgeard Larry A. Automating the life cycle of a distributed Computing application
JP2007157149A (ja) * 2005-12-01 2007-06-21 Sap Ag ユビキタスコンピューティングアプリケーションの組み立てモデルと組み立ての検証アルゴリズム
US20070168925A1 (en) * 2005-12-01 2007-07-19 Christof Bornhoevd Composition model and composition validation algorithm for ubiquitous computing applications
US20080086482A1 (en) * 2006-10-04 2008-04-10 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
JP2010506294A (ja) * 2006-10-04 2010-02-25 セールスフォース ドット コム インコーポレイティッド マルチテナント型オンデマンドデータベースサービスを介して開発アプリケーションへのアクセスを可能にするための方法及びシステム
JP2009181329A (ja) * 2008-01-30 2009-08-13 Bank Of Tokyo-Mitsubishi Ufj Ltd アプリケーション開発支援装置及びプログラム
US20100333064A1 (en) * 2008-01-30 2010-12-30 Takahisa Hattori Application development support device, program, and recording medium
US20090307094A1 (en) * 2008-06-04 2009-12-10 Microsoft Corporation Data center programming and application distribution interface
US20100061250A1 (en) * 2008-09-08 2010-03-11 Nugent Raymond M System and method for cloud computing
US7596620B1 (en) * 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US20100125829A1 (en) * 2008-11-20 2010-05-20 Nhn Corporation Component-based web application development framework used for creating web page
JP2010123127A (ja) * 2008-11-20 2010-06-03 Nhn Corp ウェブページを作成するために使用されるコンポーネントベースのジャバウェブアプリケーション開発フレームワーク

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6015036446; 舟崎 健治: '技術者から見たパフォーマンスとスケーラビリティ クラウドのいる場所' 月刊アスキードットテクノロジーズ 第15巻、第4号, 20100224, 第114-123頁, 株式会社アスキー・メディアワークス *
JPN6015036447; 川口 耕介: 'やっぱりJavaがスキ! 最終回' WEB+DB PRESS 第55巻, 20100325, 第130-138頁, (株)技術評論社 *
JPN6015036448; セラミ イーサン: Webサービス エッセンシャルズ 初版 第1版, 20020715, 第202-219頁, 株式会社オライリー・ジャパン *
JPN6015036449; 'クラウド時代のWebアプリ開発作法' ITアーキテクト 第25巻, 20091006, 第89-102頁, (株)IDGジャパン *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210065818A (ko) * 2019-11-27 2021-06-04 주식회사 가토랩 딥러닝 프라이빗 클라우드 서비스 시스템의 서비스 제공 방법
KR102341377B1 (ko) 2019-11-27 2021-12-20 주식회사 가토랩 딥러닝 프라이빗 클라우드 서비스 시스템의 서비스 제공 방법

Also Published As

Publication number Publication date
US20120066670A1 (en) 2012-03-15
CN105653368B (zh) 2019-08-20
US20130282798A1 (en) 2013-10-24
CN103380423B (zh) 2016-01-27
AU2011274428B2 (en) 2015-10-01
AU2011274428A1 (en) 2013-02-14
JP6490633B2 (ja) 2019-03-27
US9137106B2 (en) 2015-09-15
CA2804864C (en) 2018-11-20
CA3022462A1 (en) 2012-01-12
CA3022462C (en) 2020-10-27
SG186975A1 (en) 2013-02-28
CN105653368A (zh) 2016-06-08
EP2591423A1 (en) 2013-05-15
EP2591423A4 (en) 2017-05-24
WO2012006638A1 (en) 2012-01-12
CN103380423A (zh) 2013-10-30
EP4006728A1 (en) 2022-06-01
SG10201506193PA (en) 2015-09-29
JP2016201133A (ja) 2016-12-01
US8495611B2 (en) 2013-07-23
CA2804864A1 (en) 2012-01-12
HK1224396A1 (zh) 2017-08-18
JP5982366B2 (ja) 2016-08-31

Similar Documents

Publication Publication Date Title
JP6490633B2 (ja) プライベート・クラウド・コンピューティングためのシステムおよび方法
US11842221B2 (en) Techniques for utilizing directed acyclic graphs for deployment instructions
US10824948B2 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
US9626526B2 (en) Trusted public infrastructure grid cloud
US20140237550A1 (en) System and method for intelligent workload management
US20200125344A1 (en) Persistent context for reusable pipeline components
US10284634B2 (en) Closed-loop infrastructure orchestration templates
US11755337B2 (en) Techniques for managing dependencies of an orchestration service
WO2021150435A1 (en) Techniques for utilizing directed acyclic graphs for deployment instructions
AU2013203291B2 (en) Systems and methods for private cloud computing
JP2023511535A (ja) インフラストラクチャオーケストレーションサービスのためのユーザインターフェイス技術
Agrawal Kubernetes Deep Dive
Sabharwal et al. Workload Automation Using HWA

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150907

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160801

R150 Certificate of patent or registration of utility model

Ref document number: 5982366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250