(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2021-503118(P2021-503118A)
(43)【公表日】2021年2月4日
(54)【発明の名称】自動ユニバーサルコネクタパッケージを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムおよび方法
(51)【国際特許分類】
G06F 9/54 20060101AFI20210108BHJP
【FI】
G06F9/54 F
【審査請求】未請求
【予備審査請求】未請求
【全頁数】27
(21)【出願番号】特願2020-522825(P2020-522825)
(86)(22)【出願日】2018年10月30日
(85)【翻訳文提出日】2020年6月2日
(86)【国際出願番号】US2018058260
(87)【国際公開番号】WO2019089629
(87)【国際公開日】20190509
(31)【優先権主張番号】62/578,992
(32)【優先日】2017年10月30日
(33)【優先権主張国】US
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】518279875
【氏名又は名称】イングラム マイクロ インコーポレーテッド
(74)【代理人】
【識別番号】100138760
【弁理士】
【氏名又は名称】森 智香子
(72)【発明者】
【氏名】クスキン,マキシム
(72)【発明者】
【氏名】ギデンズ,テイラー,マイケル
(72)【発明者】
【氏名】ウィピッチ,デビッド
(72)【発明者】
【氏名】ハレロフ,アレクサンドル
(72)【発明者】
【氏名】フォンタノフ,ドミトリー
(57)【要約】
自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカ(CSB)プラットフォームに統合するための方法は、独立したソフトウェアベンダーデバイスからソフトウェア用のコネクタパッケージをコネクタハブで受信することと、CSBプラットフォームとの統合のためのコネクタパッケージのコネクタインスタンスを作成することと、CSBプラットフォームは、ソフトウェアに対するライセンスを提供するようにさらに構成され、ソフトウェアに対するサブスクリプション要求を、CSBプラットフォームインタフェースを介してクラウドサービスブローカコンピューティングデバイスで受信することと、サブスクリプション要求は、作成、変更および削除からなるグループから選択されたアクティビティを含み、サブスクリプション要求を、CSBプラットフォームコントローラによってユニバーサルコネクタデバイスに送信することと、サブスクリプション要求をユニバーサルコネクタデバイスで処理することと、顧客関係管理(CRM)デバイスにサブスクリプション要求を、ユニバーサルコネクタデバイスによって通知することと、サブスクリプション要求をCRMデータベースに記憶することと、サブスクリプション要求に対する、ユニバーサルコネクタデバイスによる承認を獲得することと、要求の承認を受信したら、サブスクリプション要求をユニバーサルコネクタデバイスで処理することと、サブスクリプション承認結果をCSBプラットフォームに送信することとを含み、CSBプラットフォームは、サブスクリプション承認結果を登録者に対して表示する。
【特許請求の範囲】
【請求項1】
自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカ(CSB)プラットフォームに統合するための方法であって、
独立したソフトウェアベンダーデバイスからソフトウェア用のコネクタパッケージをコネクタハブで受信するステップと、
前記CSBプラットフォームとの統合のための前記コネクタパッケージのコネクタインスタンスを作成するステップであって、前記CSBプラットフォームは、前記ソフトウェアに対するライセンスを提供するようにさらに構成されるステップと、
前記ソフトウェアに対するサブスクリプション要求を、CSBプラットフォームインタフェースを介して前記クラウドサービスブローカコンピューティングデバイスで受信するステップであって、前記サブスクリプション要求は、作成、変更および削除からなるグループから選択されたアクティビティを含むステップと、
前記サブスクリプション要求を、CSBプラットフォームコントローラによってユニバーサルコネクタデバイスに送信するステップと、
前記サブスクリプション要求を前記ユニバーサルコネクタデバイスで処理するステップと、
顧客関係管理(CRM)デバイスに前記サブスクリプション要求を、前記ユニバーサルコネクタデバイスによって通知するステップと、
前記サブスクリプション要求をCRMデータベースに記憶するステップと、
前記サブスクリプション要求に対する、前記ユニバーサルコネクタデバイスによる承認を獲得するステップと、
要求の承認を受信したら、前記サブスクリプション要求を前記ユニバーサルコネクタデバイスで処理するステップと、
サブスクリプション承認結果を前記CSBプラットフォームに送信するステップであって、前記CSBプラットフォームは、サブスクリプション承認結果を登録者に対して表示するステップとを含む、前記方法。
【請求項2】
前記コネクタパッケージはデベロッパポータル上で開発され、前記デベロッパポータルは、前記独立したソフトウェアベンダーデバイスによってアクセス可能である、請求項1に記載の方法。
【請求項3】
前記サブスクリプション要求は、前記コネクタパッケージ内に定義された対応するリソースモデルをさらに含む、請求項1に記載の方法。
【請求項4】
前記サブスクリプション要求は、コネクタアプリケーションコントローラによって受信される、請求項3に記載の方法。
【請求項5】
リソースモデルインタープリタで前記サブスクリプション要求を処理するステップをさらに含む、請求項4に記載の方法。
【請求項6】
処理は、アプリケーションプログラミングインタフェース(API)変換エンジンによって要求データを処理するステップをさらに含む、請求項1に記載の方法。
【請求項7】
処理は、前記ユニバーサルコネクタデバイスで、前記対応するコネクタパッケージの前記リソースモデルのカウンタおよび制限を解析するステップをさらに含む、請求項1に記載の方法。
【請求項8】
処理は、前記ユニバーサルコネクタデバイスで、前記対応するコネクタパッケージの前記リソースモデルのカウンタおよび制限を解析するステップをさらに含む、請求項3に記載の方法。
【請求項9】
処理は、カウンタおよび制限をアプリケーションプログラミングインタフェース(API)変換エンジンによって処理するステップをさらに含む、請求項6に記載の方法。
【請求項10】
変換が、CSBプラットフォーム要求を前記CRMデバイスによって動作可能である形式に変形し、さらに前記要求をCRMユーザインタフェース(UI)内に表示するステップを含む、請求項6に記載に方法。
【請求項11】
前記ユニバーサルコネクタが、保留中の要求を前記CRMデバイスに送信し、前記CRM APIデバイスからのオペレータ応答をポーリングするステップをさらに含む、請求項1に記載の方法。
【請求項12】
承認データを処理することが、前記CRM APIサーバから受信したサブスクリプションの起動/変更のためのインストレーション命令を受信して、CSBプラットフォームUIによって表示可能な形式に変形するステップを含む、請求項1に記載の方法。
【請求項13】
CRM応答を処理することが、CRM APIサーバから受信したアカウント修正をCSBプラットフォームUIによって表示可能な形式に変形するステップをさらに含む、請求項1に記載の方法。
【請求項14】
アカウント修正が、前記ユニバーサルコネクタデバイスに動作可能に接続されたサブスクリプションデータベースに記憶される、請求項1に記載の方法。
【請求項15】
CRM応答を処理することが、ISVサブスクリプション管理システムと関連付けられたサブスクリプション固有識別子を解析して整合させるステップをさらに含み、前記サブスクリプション固有識別子は、CSBプラットフォームサブスクリプション管理システムと関連付けられる、請求項1に記載の方法。
【請求項16】
前記ユニバーサルコネクタが応答を提供するステップをさらに含み、前記応答は作成、修正および削除からなるグループから選択される、請求項1に記載の方法。
【請求項17】
前記サブスクリプション要求および応答と関連付けられたデータを、前記CSBプラットフォームが動作している国の要求を満たす領域のデータベースに記憶することとをさらに含む、請求項1に記載の方法。
【請求項18】
オペレータのアクションを前記CRMデータベースに記録する前記CRMデバイスと動作可能に接続された監査モジュールをさらに備える、請求項1に記載の方法。
【請求項19】
監査データが、統合構成要素に関する技術的問題を解析するために使用される、請求項18に記載の方法。
【請求項20】
前記CRMデバイスは、ユニバーサルコネクタの認証のためのセキュリティモジュールをさらに備える、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2017年10月30日に出願された米国特許出願第62/578,992号の優先権の利益を主張する国際出願であり、その本文および図面はその全体が参照として本願明細書に組み込まれる。
【0002】
開示の実施形態の技術分野
本開示の実施形態は、概してクラウドサービス仲介、より詳細には、自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムおよび方法に関する。
【背景技術】
【0003】
開示する実施形態の背景
独立したソフトウェアベンダー(ISV)は、一般的に1つ以上のコンピュータハードウェアまたはオペレーティングシステムプラットフォームを実行するように設計されたソフトウェアアプリケーションを開発して販売する。このようなソフトウェアアプリケーションは、基本的ユーティリティまたは生産性強化アプリケーションから企業用のビジネスプロセスアプリケーション(例えば、顧客関係管理(CRM)、企業資産計画(ERP)、自動化ツールなど)にまで及ぶ。クラウドコンピューティングが普及するに連れて、ソフトウェアを配信する方法の一つとして、クラウドを介してソフトウェアを使用するサービスモデル、通称、サース(SaaS)も普及した。この配信方法を使用して、ISVは、パブリックなクラウドもしくはマーケットプレイスを通じてまたはクラウドサービスブローカ(CSB)を通じて自身のソフトウェアアプリケーションまたは自身のソフトウェアアプリケーションへのサブスクリプションを販売することができる。
【0004】
クラウドマーケットプレイスがクラウドベースのサービスおよびソフトウェアアプリケーションに顧客がアクセスできるようにオンラインの店頭を提供する一方で、クラウドサービスブローカは、例えば各々のクラウドアプリケーション用のプラグインまたはコネクタを使用することによってISVとエンドユーザ、再販売業者、小売業者などとの間の取引を容易化するために使用され得る。従来のクラウドサービスブローカの実装例においては、ISVは通常、特殊な統合構成要素を準備するが、これらはコネクタパッケージとコネクタバックエンドが統合されている。ここで、コネクタパッケージは、クラウドアプリケーションリソースを管理するために必要なアプリケーションリソース、サービス、ユーザインタフェース構成要素および制御方法の論理を宣言して定義するために使用されるようなメタデータ、制御方法の記述およびコンテンツファイルであり、コネクタバックエンドは、CSBから受信した制御方法によってアプリケーションプログラミングインタフェース(API)コールを特定のISVクラウドアプリケーションに特有のAPIコールに変換する。
【0005】
しかしながら、多くのISVアプリケーションは、完全自動化されたAPIサービスを有しない。したがって、CSBプラットフォームとの統合は問題となる。例えば、ISVはAPIを開発して、統合構成要素を開発しなければならない。このような状況においては、CSBプラットフォームへのコネクタの開発は時間がかかり、全体の統合時間のかなりの部分を占める。さらに、コネクタのテストと確認には、統合プロセスにさらなる時間を追加する。したがって、自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムおよび方法に対する必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【0006】
開示する実施形態の要約
一態様においては、自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカ(CSB)プラットフォームに統合するための方法が提供される。この方法は、独立のソフトウェアベンダーデバイスからソフトウェア用のコネクタパッケージをコネクタハブで受信することと、CSBプラットフォーム、すなわちソフトウェアに対するライセンスを提供するようにさらに構成されたCSBプラットフォームとの統合のためにコネクタパッケージ用のコネクタインスタンスを作成することとを含む。
【0007】
いくつかの実施形態においては、方法は、ソフトウェアに対するサブスクリプション要求を、CSBプラットフォームインタフェースを介してクラウドサービスブローカコンピューティングデバイスで受信するステップと、サブスクリプション要求は作成、変更および削除からなるグループから選択されたアクティビティを含み、サブスクリプション要求を、CSBプラットフォームコントローラによってユニバーサルコネクタデバイスに送信するステップと、サブスクリプション要求をユニバーサルコネクタデバイスで処理するステップとをさらに含む。
【0008】
いくつかの実施形態においては、方法は、ユニバーサルコネクタデバイスによって、顧客関係管理(CRM)デバイスにサブスクリプション要求を通知するステップと、サブスクリプション要求をCRMデータベースに記憶するステップと、サブスクリプション要求に対するユニバーサルコネクタデバイスによる承認を獲得するステップと、要求の承認を受信したら、サブスクリプション要求をユニバーサルコネクタデバイスで処理するステップとをさらに含む。
【0009】
いくつかの実施形態においては、サブスクリプション承認の結果をCSBプラットフォームに送信することは、CSBプラットフォームがサブスクリプション承認の結果を登録者に表示することを含む。方法は、コネクタパッケージがデベロッパポータル上で開発されることをさらに含むが、ここでデベロッパポータルは、独立したソフトウェアベンダーデバイスによってアクセス可能である。
【0010】
いくつかの実施形態においては、サブスクリプション要求は、コネクタパッケージ内に定義された対応するリソースモデルをさらに含む。
【0011】
いくつかの実施形態においては、サブスクリプション要求は、コネクタアプリケーションコントローラによって受信され、リソースモデルインタープリタで受信されるサブスクリプション要求を処理するステップであり、処理は、アプリケーションプログラミングインタフェース(API)変換エンジンによって要求データを処理するステップをさらに含む。
【0012】
いくつかの実施形態においては、方法は、ユニバーサルコネクタデバイスで、対応するコネクタパッケージのリソースモデルの解析カウンタおよび制限を処理することをさらに含む。
【0013】
いくつかの実施形態においては、方法は、ユニバーサルコネクタデバイスで、対応するコネクタパッケージのリソースモデルの解析カウンタおよび制限を処理することをさらに含み、またアプリケーションプログラミングインタフェース(API)変換エンジンでカウンタおよび制限を処理するステップをさらに含む。
【0014】
いくつかの実施形態においては、変換は、CSBプラットフォーム要求をCRMデバイスによって動作可能な形式に変形し、さらに要求をCRMユーザインタフェース(UI)内に表示するステップを含む。
【0015】
いくつかの実施形態においては、方法は、ユニバーサルコネクタが保留中の要求をCRMデバイスに送信して、CRM APIデバイスからのオペレータ応答をポーリングするステップと、CRM APIサーバから受信したサブスクリプションの起動/変更のためのインストレーション命令を受信して、CSBプラットフォームUIによって表示可能な形式に変形するステップと、CRM APIサーバから受信したアカウント修正をCSBプラットフォームUIによって表示可能な形式に変形するステップと、アカウント修正を、ユニバーサルコネクタデバイスに動作可能に接続されたサブスクリプションデータベースに記憶するステップとをさらに含む。
【0016】
いくつかの実施形態においては、方法は、ISVサブスクリプション管理システムと関連付けられたサブスクリプション固有識別子を解析して整合させることと、ここでサブスクリプション固有識別子はCSBプラットフォームサブスクリプション管理システムと関連付けられ、ユニバーサルコネクタが応答を提供し、応答は作成、修正および削除からなるグループから選択され、サブスクリプション要求および応答と関連付けられたデータを、CSBプラットフォームが動作している国の要求を満たす領域のデータベースに記憶することとをさらに含む。
【0017】
いくつかの実施形態においては、CRMデバイスと動作可能に接続された監査モジュールは、オペレータのアクションをCRMデータベースに記録するが、監査データが統合構成要素に関する技術的問題を解析するために使用され、またCRMデバイスは、ユニバーサルコネクタの認証のためのセキュリティモジュールをさらに備える。
【図面の簡単な説明】
【0018】
実施形態ならびに本願明細書に含まれる他の特徴、利点、および開示、ならびに、それらを達成する方法は、本開示の様々な例示的実施形態に関する以下の説明および添付図面を参照することにより明らかになるとともに、本開示は、よりよく理解できる。
【0019】
【
図1】クラウドサービス仲介システムを介するクラウドアプリケーションの分配のためのクラウドサービスマーケットプレイスおよび仲介システムの例示的実施形態のブロック図である。
【0020】
【
図1A】クラウドサービス仲介システムを介するクラウドアプリケーションの分配のためのクラウドサービスマーケットプレイスおよび仲介システムの別の例示的実施形態のブロック図である。
【0021】
【
図1B】自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムの例示的実施形態のブロック図である。
【0022】
【
図2】
図1のクラウドサービス仲介システムのコンピューティングデバイスのうちの1つの例示的実施形態のブロック図である。
【0023】
【
図3】
図1のデベロッパポータルコンピューティングデバイスの例示的環境のブロック図である。
【0024】
【
図4A】
図1のデベロッパポータルコンピューティングデバイスによって実行され得るクラウドサービス仲介システム内でコネクタを作成して分配するための例示的方法の概略フロー図である。
【
図4B】
図1のデベロッパポータルコンピューティングデバイスによって実行され得るクラウドサービス仲介システム内でコネクタを作成して分配するための例示的方法の概略フロー図である。
【
図4C】
図1のデベロッパポータルコンピューティングデバイスによって実行され得るクラウドサービス仲介システム内でコネクタを作成して分配するための例示的方法の概略フロー図である。
【
図4D】
図1のデベロッパポータルコンピューティングデバイスによって実行され得るクラウドサービス仲介システム内でコネクタを作成して分配するための例示的方法の概略フロー図である。
【0025】
【
図5】
図1のデベロッパポータルコンピューティングデバイスによって実行され得るバージョン分析をコネクタオブジェクトに対して実行するための例示的方法の概略フロー図である。
【0026】
【
図6】
図1のデベロッパポータルコンピューティングデバイスによって実行され得るコネクタオブジェクトに対するペアリング分析を実行するための別の例示的方法の概略フロー図である。
【0027】
【
図7】自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムの例示的実施形態の概略フロー図である。
【0028】
【
図8】自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムの別の例示的実施形態の概略フロー図である。
【発明を実施するための形態】
【0029】
開示する実施形態の詳細な説明
本発明の原理の理解を促進するために、図面に示される実施形態を参照しつつ、特定の言語を用いて記述する。それにもかかわらず、本発明の範囲を限定する意図でないことを理解されたい。
【0030】
図1は、統合コネクタを作成して分配するためのクラウドサービスマーケットプレイスおよび仲介システム100を示す。クラウドサービスマーケットプレイスおよび仲介システム100は、デベロッパポータルコンピューティングデバイス116、ISVコンピューティングデバイス122およびブローカコンピューティングデバイス130を含み、これらの各々は、(例えば、ネットワーク128を介する)マーケットプレイスコンピューティングデバイス102と、CRM APIサーバ138およびユニバーサルコネクタコンピューティングデバイス136とに通信可能に結合される。本開示の一実施形態においては、ISVと関連付けられたクラウドアプリケーションデベロッパ/プログラマが、ISVのクラウドアプリケーションをクラウドサービス仲介システム100に統合するためのコネクタパッケージを開発し得る。
【0031】
コネクタパッケージを開発するために、デベロッパは、デベロッパポータル(例えば、デベロッパポータルコンピューティングデバイス116のデベロッパユーザインタフェース(UI)ポータル118)を使用して、特定のサービスが(例えば、マーケットプレイスコンピューティングデバイス102のクラウドサービスブローカマーケットプレイス104を介して)クラウドサービスマーケットプレイス内で販売の申し込みをされるようにする。デベロッパは、デベロッパポータルコンピューティングデバイス116に(例えば、ネットワーク128を介して)通信可能に結合されたエンドポイントコンピューティングデバイス(図示せず)を介してデベロッパUIポータル118にアクセスし得ることを理解すべきである。
【0032】
本開示の少なくとも1つの実施形態においては、コネクタパッケージは通常、クラウドアプリケーションリソースを管理するために必要であるアプリケーションリソース、サービス、ユーザインタフェース構成要素および制御方法の論理を宣言して定義するために使用可能であるメタデータ、制御方法記述およびコンテンツファイルを一般的に含む、アーカイブファイルという形態を有する。コネクタパッケージは、ISVのアプリケーション属性を定義するために使用される宣言型ファイルと、「コネクタフロントエンド」、すなわちクラウドサービスブローカの顧客がクラウドサービスブローカインタフェース内にみるウェブインタフェースとからなることが理解されるであろう。このウェブインタフェースは、ウィジェット、事前定義されたページ構造、ナビゲーション方法および画面挿入機構を含む特殊なフレームワークを使用してコネクタパッケージデベロッパが開発する。一般的なコネクタフロントエンドは、事前定義されたビューに挿入された画面、ウィジェットをレンダリングするためのカスタム論理およびカスタムナビゲーション構造からなる。ウィジェットは、対応するクラウドアプリケーションの顧客にとって価値があるとコネクタデベロッパがみなす情報、例えば、使用報告、サブスクリプションおよびサービス情報、命令などを表示し得る。
【0033】
クラウドサービスブローカマーケットプレイスが提供する命令を使用して、コネクタパッケージは、コネクタアプリケーション、言い換えれば、結合されたユニバーサルコネクタと通信するために使用可能であるそのコネクタのインスタンス(例えば、
図1および
図1Aのコネクタファクトリ112の対応するコネクタインスタンス114を参照)に変換することができる。
【0034】
デベロッパポータルは、モデル(例えば、アプリケーションオブジェクトのビジネスモデルの説明)、ユーザの相互作用をサポートするユーザインタフェースおよびコネクタに対するバックエンド(例えば、プロセスのプロビジョニング、管理、要求監視などのための具象的な状態トランスファ(REST)サービス)などのコネクタパッケージの主要な構成要素を定義するために使用可能である入力をデベロッパから受信するように構成される。デベロッパポータルは、クラウドサービスアドレス、デフォルト設定、価格決定情報、販売テンプレート、クラウドサービスの識別子などのコネクタと関連付けられたさらなる情報を受信するように構成され得ることを理解すべきである。
【0035】
デベロッパポータルは、以下にさらに詳細に説明するように、コネクタパッケージを生成し、生成されたコネクタパッケージをテストし、テストされたコネクタパッケージをコネクタカタログ(例えば、マーケットプレイスコンピューティングデバイス102のコネクタハブ106の利用可能サービスデータベース110)に対して公開するようにさらに構成される。開発フェーズに続いて、コネクタパッケージは生成フェーズに進み得るが、コネクタを(例えば、ブローカコンピューティングデバイス130のクラウドサービスブローカインタフェース132を介してクラウドサービスブローカマーケットプレイス104を通って)クラウドサービスブローカに展開することができる。
【0036】
ブローカコンピューティングデバイス130は、例えば再販売業者、クラウドアプリケーションのエンドユーザなどのクラウドサービスブローカと顧客との間で様々なクラウドアプリケーションに対するライセンスを管理するように構成される。例示的な実施例においては、ISV(例えば、クラウドサービスプロバイダ)はクラウドサービスマーケットプレイス102の制御エンティティと契約し、クラウドサービスブローカマーケットプレイスの顧客(例えば、クラウドサービスブローカ)がコネクタパッケージをアップロードすることを可能とするコネクタパッケージを提供して、このクラウドアプリケーションを管理するプロセスをクラウドサービスブローカプラットフォームに統合することによってエンドユーザに対するライセンスの販売を容易化する。ライセンスは、そのエンドユーザまたはこれと関連付けられた他のエンドユーザが、ISVのクラウドサービス(例えば、クラウドベースのソフトウェアアズアサービス(SaaS)アプリケーション)に対して確実にアクセスすることを可能とし得る。
【0037】
そうするために、例示するマーケットプレイスコンピューティングデバイス102は、デベロッパUIポータル118を介して生成されたパッケージ済みのコネクタを(例えば、利用可能サービスデータベース110に)記憶し、またISVコンピューティングデバイス122のISVインタフェース124とブローカコンピューティングデバイス130のクラウドサービスブローカインタフェース132との間にコネクタファクトリ112のコネクタ114のためのプロビジョニングチャネルを確立するように構成されたコネクタハブ106を含む。したがって、クラウドサービスブローカは、パッケージ済みのコネクタと関連付けられたクラウドアプリケーションに対するライセンスを、それらのそれぞれのクラウドサービスブローカインタフェース132を介してエンドユーザ(例えば、顧客、ブローカ、再販売業者など)に対して販売し得る。
【0038】
コネクタハブ106は、各々のクラウドサービスブローカ130に対するプロビジョニングチャネルクレデンシャル(例えば、クレデンシャルデータベース108に記憶され得るようなブローカクレデンシャルおよび/またはクラウドISVクレデンシャルおよび/またはユニバーサルコネクタクレデンシャルおよび/またはCRM APIサーバ138クレデンシャル)を生成するようにさらに構成される。プロビジョニングチャネルクレデンシャルは、プロビジョニングチャネルクレデンシャルを使用して2つのエンティティ間の安全な通信チャネルを認証するために使用可能である任意のタイプの情報(例えば、暗号化鍵または他の任意のデータ)であり得ることを理解すべきである。
【0039】
本開示の少なくとも1つの実施形態においては、プロビジョニングチャネルはクラウドサービスブローカマーケットプレイスによってセットアップすることができる。プロビジョニングチャネルは、例えば新しいサブスクリプションの作成、既存のサブスクリプションの削除、既存のサブスクリプションの修正、顧客に対する起動命令の提供、地理的に分散した顧客の個人データの閲覧および変更などのアクティビティを含む注文をISVのオペレータが受信することができるユニバーサルコネクタ136およびCRM APIサーバ138から接続される。
【0040】
ユニバーサルコネクタ136の目的は、クラウドサービスブローカのプラットフォームのAPIをCRM APIサーバ138のAPIに変換することであることが理解されるであろう。ユニバーサルコネクタ136は自身がクラウドサービスブローカから受信し、かつ自身がそれをCRM APIサーバ138に適用可能である形式に変換することができる任意のクラウドアプリケーションの任意のコネクタパッケージの任意のリソースモデルを処理することが可能であることがさらに理解されるであろう。ユニバーサルコネクタ136は、CSBプラットフォーム内のISVのアプリケーションのライフサイクルフローをCRM APIサーバ138内のエンティティに変形し、これらのエンティティに対するオペレータの反応によって、それはアプリケーションの現行の状態に関する必要とされる情報をCSBプラットフォームに提供することができる。このようなプロビジョニングチャネルは、APIも他のいかなる統合インスツルメントも有しないISVに対するクラウドアプリケーションプロビジョニングの自動化を可能とすることが理解されるであろう。
【0041】
例示するクラウドサービスマーケットプレイスおよび仲介システム100内に示すように、マーケットプレイスコンピューティングデバイス102、デベロッパポータルコンピューティングデバイス116、ISVコンピューティングデバイス122、ブローカコンピューティングデバイス130、ユニバーサルコネクタコンピューティングデバイス136、CRM APIサーバ138の各々はコンピューティングデバイス134として具現化される。したがって、それぞれのコンピューティングデバイス134の各々は、本明細書に記載する機能を実行することが可能である任意のタイプのコンピュータおよび/または記憶デバイスとして具現化され得ることを理解すべきである。くわえて、それぞれのコンピューティングデバイス134の各々は、2つ以上のコンピューティングデバイス134を含み得ることをさらに理解すべきである。例えば、1つ以上のコンピューティングデバイス134が、クラウドアーキテクチャのネットワークまたはデータセンター内の1つ以上のサーバ(例えば、スタンドアロン、ラックマウンテッドなど)および/またはコンピュートブレードおよびデータ記憶デバイス(例えば、記憶エリアネットワーク(SAN)のそれ)の組み合わせとして具現化され得るが、同時に1つ以上の他のコンピューティングデバイス134が、1つ以上のデスクトップコンピュータ、モバイルコンピューティングデバイス(例えば、スマートフォン、ウェアラブル機器、タブレット、ラップトップ、ノートブックなど)または他の任意のタイプの「スマートな」もしくは別様にインターネット接続されたデバイスとして具現化され得る。
【0042】
図1Aは、クラウドサービス仲介システムを介するクラウドアプリケーションの分配のためのクラウドサービスマーケットプレイスおよび仲介システムの別の実施形態である。唯一の相違は、オンプレミス、即ち、内部設置用クラウドサービスブローカ用のクラウドサービスブローカマーケットプレイスセットコネクタインスタンスである。この実施形態によれば、クラウドサービスブローカプラットフォームインタフェースによって収集され、クラウドアプリケーションのサブスクリプションの管理のためにISVに変換する必要があるアカウント、リソースモデルおよび他のデータに関するすべてのデータが、ユニバーサルコネクタに対して対応するコネクタインスタンスを介してクラウドサービスブローカコントローラによって変換される。その場合、コネクタハブ106が、クラウドサービスブローカ要求によって展開されたクラウドサービスブローカとすべてのコネクタインスタンスとの間に対となる秘密鍵を生成する。
【0043】
本開示の少なくとも1つの実施形態においては、自動ユニバーサルコネクタを使用してCSBプラットフォーム内のISVのアプリケーションのライフサイクルフローをISVに変換するためのシステムの例示する実施形態のブロック図を、
図1Bに示す。システム140は、CRM APIサーバ138、ブローカコンピューティングデバイス130、ブラウザ164、CRMデータベース166およびユニバーサルコネクタ136をさらに含む。
【0044】
本開示の少なくとも1つの実施形態においては、CRM APIサーバ138は、CRM通知エンジン152、注文マネージャ153、監査モジュール156およびセキュリティモジュール158を含む。本開示の少なくとも1つの実施形態においては、ブローカコンピューティングデバイス130は、複数のコネクタインスタンスの内の少なくとも1つと、クラウドサービスブローカコントローラ106とを含むプラットフォーム130Aを含む。プラットフォーム130Aのクラウドサービスブローカコントローラ106は、要求と、クラウドサービスサブスクリプション作成(プロビジョニング)、削除および変更のすべての必要なデータとをユニバーサルコネクタに送信するように構成される。
【0045】
本開示の少なくとも1つの実施形態においては、ユニバーサルコネクタ136は、すべてのモデル構成を取り扱って、着信するサブスクリプション要求をCRM注文に変形するように構成される。ユニバーサルコネクタ136は、コネクタアプリケーションコントローラ172、リソースモデルインタープリタ174、ポーリングおよび通知エンジン176ならびにAPI変換エンジン178をさらに含む。本開示の少なくとも1つの実施形態においては、ユニバーサルコネクタ136は、そのサブスクリプションが作成中、修正中または削除中であるクラウドサービスに関する少なくとも1つのコネクタインスタンス114と関連付けられた対応するコネクタパッケージのリソースモデルをクラウドサービスブローカコントローラ106から受信するように構成される。本開示の少なくとも1つの実施形態においては、リソースモデルインタープリタ174は、このリソースモデルを解析し、処理中のサブスクリプションに含まれるリソースのカウンタ(例えば、ディスクスペース、仮想マシン、メールボックスなど)および制限(2つのメールボックス、1GBのディスクスペースなど)を識別し、識別されたカウンタおよび制限をコネクタアプリケーションコントローラ172に回収するように構成される。
【0046】
本開示の少なくとも1つの実施形態においては、コネクタアプリケーションコントローラ172は、処理されたサブスクリプション(例えば、関連付けられたクラウドアプリケーションの名称、リソースなど)、リソースの識別されたカウンタおよび制限に関するデータを受信して、このデータをAPI変換エンジン178に送信するように構成される。
【0047】
本開示の少なくとも1つの実施形態においては、API変換エンジン178は、受信したデータを処理して、それをCRMシステムが理解できる形式に変換して、これらを注文としてミラーリングするように構成される。API変換エンジン178はデータを処理し、これによってCRMシステムを使用するオペレータが、(注文に応答して)どんな種類のアクションが、どの1つのクラウドアプリケーションならびにこのクラウドアプリケーションによって提供されるリソースおよびサービスによって必要とされるかを容易に識別可能となるようにすることが理解されるであろう。
【0048】
ポーリングおよび通知エンジン176は、CRM APIサーバ138に新しい注文に関して通知し、その代わりにこの注文のステータスに関するデータを受信する。
【0049】
CRM APIサーバ138は、注文と、処理されたサブスクリプションの顧客に関する情報とをそのデータベース166に記憶する。本開示の少なくとも1つの実施形態においては、CRM APIサーバ138は、オペレータが実施した注文のすべての修正(ユニバーサルコネクタから受信したアカウントデータと比較して変更されたアカウントデータ、サブスクリプションの変更(カウンタ、制限などのミス)など)を記憶するように構成された監査モジュール156を含む。セキュリティモジュール158が、任意のユニバーサルコネクタ(例えば、ユニバーサルコネクタデバイス136)を認証する。CRM通知エンジン152は、注文に関する通知をオペレータに対して表示する。
【0050】
本開示の少なくとも1つの実施形態においては、システム140は、CRMデータベース166を含む。CRMデータベース166は、ユニバーサルコネクタ136から受信したままの注文および顧客情報を処理するように構成されるが、パラメータは、クラウドサービスブローカの地理に関する情報を含む。例として、クラウドサービスブローカがヨーロッパに位置付けられている場合、このようなクラウドサービスブローカによって始動された注文に関する情報は、ヨーロッパに位置付けられたデータベースに記憶され、ここではこのような要件は、法的および/または規制の要件によって推進され得る。CRMデータベース166は、本明細書に開示するように実行するように構成された単一のデータベース、分散されたデータベースまたは代替のデータベース配列であり得ることが理解されるであろう。
【0051】
本開示の少なくとも1つの実施形態においては、ブラウザ164はオペレータ側に展開され得るが、ブラウザ164は、(例えば、ネットワーク128を介して)CRM APIサーバ138と動作可能に通信するために用いられ、そのため、オペレータは、例えば、サブスクリプションを作成する、サブスクリプションを更新する/削除するなどの注文に応答して、ISVネイティブサブスクリプション作成システムに対して管理的機能を実行することができる。
【0052】
ここで
図2を参照すると、マーケットプレイスコンピューティングデバイス102、デベロッパポータルコンピューティングデバイス116、ISVコンピューティングデバイス122およびブローカコンピューティングデバイス130のうちの1つ以上を表すコンピューティングデバイス134の例示の実施形態が示されている。例示のコンピューティングデバイス134は、中央処理ユニット(CPU)200、入/出力(I/O)コントローラ202、メモリ204、ネットワーク通信回路206およびデータ記憶デバイス210ならびに、いくつかの実施形態においては1つ以上のI/Oペリフェラル208を含む。いくつかの実施形態においては、例示の構成要素のうちの1つ以上が、単一の集積回路(IC)上の単一のシステムオンチップ(SoC)上に組み合わされ得る。代替の実施形態が、本明細書の明瞭さを維持するために図示されないグラフィック処理ユニット(GPU)、電源などの例示のコンピューティングデバイス134の構成要素にさらに加えたもの、より少ないものおよび/または代替物を含み得ることを理解すべきである。それぞれのコンピューティングデバイス134の記憶/計算構成要素のタイプは、それぞれのコンピューティングデバイス134のタイプおよび意図する用途に基づいて予測され得ることをさらに理解すべきである。
【0053】
CPU200、すなわちプロセッサは、データを処理することが可能な任意のタイプのハードウェアまたは回路の組み合わせとして具現化され得る。したがって、CPU200は、シングルコアプロセッサアーキテクチャの1つの処理コア(図示せず)またはマルチコアプロセッサアーキテクチャの複数の処理コアを含み得る。処理コアの数とは無関係に、CPU200は、プログラム命令を読み取って実行することが可能である。いくつかの実施形態においては、CPU200は、CPU200と直接に集積され得るまたはCPU200に対する別個の配線を持つ別個のチップ上に配置され得るキャッシュメモリ(図示せず)を含み得る。いくつかの実施形態においては、CPU200に/から発行されたコマンドではなく、パイプライン論理が、ソフトウェアおよび/またはハードウェア動作(例えば、ネットワークトラフィック処理動作)を実行するために使用され得ることを理解すべきである。
【0054】
I/Oコントローラ202、すなわちI/Oインタフェースは、入/出力デバイスとコンピューティングデバイス134との間をインタフェースすることが可能な任意のタイプのコンピュータハードウェアまたは回路の組み合わせとして具現化され得る。例示的には、I/Oコントローラ202は、入/出力要求をCPU200から受信して、制御信号をそれぞれの入/出力デバイスに送信し、これによってコンピューティングデバイス134への/からのデータフローを管理するように構成される。
【0055】
メモリ204は、処理のためのデータおよび命令を保持することが可能な任意のタイプのコンピュータハードウェアまたは回路の組み合わせとして具現化され得る。このようなメモリ204は、メインメモリまたは一次メモリと呼ばれ得る。いくつかの実施形態においては、コンピューティングデバイス134の1つ以上の構成要素がメモリに直接アクセスすることが可能であり、そのため、あるデータはCPU200とは無関係に直接メモリアクセス(DMA)を介して記憶され得ることを理解すべきである。
【0056】
ネットワーク通信回路206は、無線および/または有線の通信モードを介してネットワークインタフェース通信(例えば、メッセージ、データグラム、パケットなど)を管理することが可能な任意のタイプのコンピュータハードウェアまたは回路の組み合わせとして具現化され得る。したがって、いくつかの実施形態においては、ネットワーク通信回路206は、コンピューティングデバイス134をコンピュータネットワーク(例えば、ネットワーク128)ならびにクラウドサービスマーケットプレイスおよび仲介システム100の他のコンピューティングデバイスに接続するように構成されることが可能なネットワークインタフェースコントローラ(NIC)を含み得る。
【0057】
1つ以上のI/Oペリフェラル208は、コンピューティングデバイス134に接続し、これと通信するように構成された任意の補助デバイスとして具現化され得る。例えば、I/Oペリフェラル208は、マウス、キーボード、モニター、タッチ画面、プリンタ、スキャナ、マイクロフォン、スピーカなどを含み得るが、これに限定されない。したがって、いくつかのI/Oデバイスは、1つの機能(すなわち入力または出力)または両方の機能(すなわち、入力および出力)が可能であることを理解すべきである。
【0058】
いくつかの実施形態においては、I/Oペリフェラル208は、コンピューティングデバイス134のケーブル(例えば、リボンケーブル、ワイヤ、ユニバーサルシリアルバス(USB)ケーブル、高品位マルチメディアインタフェース(HDMI(登録商標))ケーブルなど)を介してコンピューティングデバイス134に接続され得る。このような実施形態においては、ケーブルは、間で実施される通信がI/Oコントローラ202によって管理することができるコンピューティングデバイス134の対応するポート(図示せず)に接続される。代替実施形態においては、I/Oペリフェラル208は、ネットワーク通信回路206によって管理することができる無線通信モード(例えば、Bluetooth(登録商標)、Wi−Fi(登録商標)など)を介してコンピューティングデバイス134に接続され得る。
【0059】
データ記憶デバイス210は、データの不揮発性記憶が可能な任意のタイプのコンピュータハードウェア(例えば、半導体記憶媒体、磁気記憶媒体、光記憶媒体など)として具現化され得る。このようなデータ記憶デバイス210は通常は補助または二次ストレージと呼ばれ、一般的には、上述したメモリ204と比較して多量のデータを記憶するために使用される。
【0060】
また
図1を参照すると、例示のクラウドサービスマーケットプレイスシステム100は、他のコンピューティングデバイス134(すなわち、デベロッパポータルコンピューティングデバイス116、ISVコンピューティングデバイス122およびブローカコンピューティングデバイス130)がマーケットプレイスコンピューティングデバイス102と通信するために使用可能であるネットワーク128を含む。ネットワーク128は、任意の有線および/または無線の通信技術およびネットワーク通信送信プロトコルを利用するローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、グローバルネットワーク(インターネット)などを含む任意のタイプの有線および/または無線のネットワークとして実現され得る。したがって、ネットワーク128は、一連の有線および/または無線の配線を介してネットワーク通信トラフィックの流れおよび/または処理を容易化するための1つ以上の通信可能に結合されたネットワークコンピューティングデバイス(図示せず)を含み得る。このようなネットワークコンピューティングデバイスは、1つ以上のアクセスポイント、ルータ、スイッチ、サーバ、計算デバイス、記憶デバイスなどを含み得るが、これに限定されない。
【0061】
例えば、このようなネットワークコンピューティングデバイスのうちの1つ以上は、マーケティングコンピューティングデバイス102、デベロッパポータルコンピューティングデバイス116、ISVコンピューティングデバイス122および/またはブローカコンピューティングデバイス130のうちの1つ以上を、有線(例えば、イーサネット、トークンリングなど)を使用するLAN構成および/または無線(例えば、Bluetooth(登録商標)、Wi−Fi(登録商標)、無線ブロードバンド、ZigBee(登録商標)など)の通信技術および関連付けられたプロトコルを使用するWLAN構成内のネットワーク128に対して結合するように構成され得る。さらなる例においては、LAN構成は、ネットワーク128のさらなるネットワークコンピューティングデバイスを介して1つ以上のより大規模なエリアネットワーク(例えば、WAN、メトロポリタンエリアネットワーク(MAN)、インターネットなど)に(例えば、同軸ケーブル、モバイル電話、ファイバーなどを介して)結合され得る。ネットワークコンピューティングデバイスおよび/またはネットワーク構成のうちの1つ以上は、仮想化され得る(例えば、仮想スイッチ、仮想LANなど)ことを理解すべきである。
【0062】
すでに述べたように、デベロッパポータルコンピューティングデバイス116はデベロッパUIポータルを含み、ISVコンピューティングデバイス122はクラウドISVインタフェース124を含み、例示のブローカコンピューティングデバイス130はクラウドサービスブローカインタフェース132を含む。デベロッパUIポータル118、クラウドISVインタフェース124およびクラウドサービスブローカインタフェース132の各々は、本明細書に記載する機能を実行することが可能なソフトウェア、ハードウェア、ファームウェアおよび回路の任意の組み合わせとして具現化され得る。いくつかの実施形態においては、デベロッパUIポータル118、クラウドISVインタフェース124およびクラウドサービスブローカインタフェース132のうちの1つ以上は、それらのそれぞれのコンピューティングデバイス134のディスプレイに情報を(例えば、グラフィックUI、コマンドラインインタフェースなどを介して)レンダリングするように構成され得る。このような実施形態においては、デベロッパUIポータル118、クラウドISVインタフェース124および/またはクラウドサービスブローカインタフェー ス132は、ユーザがログインするために行った入力が受信され、中継されるようにそれぞれのインタフェースを構成しまたはこれと関連付けられた情報(例えば、設定)が操作されるように構成され得る。
【0063】
ここで
図3を参照すると、デベロッパポータルコンピューティングデバイス116の例示の環境300が示されている。例示の環境300は、コネクタビルダー304、コネクタプレーヤー314、テストシステム316およびエキスパートシステム318、ならびに
図1のデベロッパUIポータル118を含む。いくつかの実施形態においては、デベロッパUIポータル118、コネクタビルダー304、コネクタプレーヤー314、テストシステム316およびエキスパートシステム318のうちの1つ以上は、自身上に命令を記憶した1つ以上のコンピュータ可読媒体(例えば、メモリ204、データ記憶デバイス210および/または他の任意の媒体記憶デバイス)と、1つ以上のコンピュータ可読媒体と結合され、本明細書に記載する機能を実行する命令を実行するように構成された1つ以上のプロセッサ(例えば、CPU200)とを含み得る。くわえて、例示の環境300はモデルデータベース302およびライブラリマネージャ306を含み、これらの各々を以下にさらに詳しく説明する。
【0064】
すでに述べたように、デベロッパUIポータル118は、本明細書に記載する機能を実行することが可能な任意のタイプのファームウェア、ハードウェア、ソフトウェア、回路またはこれらの組み合わせとして具現化され得る。くわえて、コネクタビルダー304、コネクタプレーヤー314、テストシステム316およびエキスパートシステム318の各々もまた、本明細書に記載するそれぞれの機能を実行することが可能な任意のタイプのファームウェア、ハードウェア、ソフトウェア、回路またはこれらの組み合わせとして具現化され得る。
【0065】
またすでに述べたように、デベロッパUIポータル118は、クラウドサービス用のパッケージングされたAPIコネクタを生成するためにインタフェースをデベロッパに提供するように構成される。そうするために、デベロッパUIポータル118は、デベロッパと(例えば、ハイパーテキストトランスファプロトコル(HTTP)要求/応答を介して)通信し、環境300の様々な構成要素および記憶媒体とインタフェースするように構成される。
【0066】
例えば、デベロッパUIポータル118は、デベロッパによって開発されたAPIコネクタをパッケージングするために使用可能な情報(すなわち、コネクタ記述情報)を受信するためにデベロッパと通信するように構成される。すでに述べたように、APIコネクタは、クラウドサービスブローカとクラウドISVとの間のインタフェースを可能とするコネクタのインスタンスを生成するために使用可能である。したがって、コネクタ記述情報は、APIコネクタのインスタンスを作成するために使用することができるAPIコネクタに関連する任意の情報を含み得る。例えば、コネクタ記述情報は、UI情報(例えば、サービスのタイトル、1つ以上のアイコンなど)、リソースモデル情報(例えば、ディスクスペース、メールボックス、ドメインなどの提供されるサービス)、プロビジョニングチャネルを確立するためのクレデンシャル、サービスプラン情報(例えば、ブローカ/プロバイダに対する請求ルール)、リソース情報を含み得るが、これには限定されない。コネクタ記述情報は、モデルデータベース302に記憶され得る。
【0067】
デベロッパは、デベロッパUIポータル118を介してコネクタ記述情報(例えば、モデルデータベース302に記憶され得るようなもの)の任意の部分を修正し得ることを理解すべきである。そうするために、デベロッパUIポータル118は、コネクタのモデルを生成するおよび/またはコネクタを(例えば、コネクタビルダー304を介して)公開するためにデベロッパによって使用可能である1つ以上の視覚インタフェースを提供し、(例えば、コネクタプレーヤー314およびテストシステム316を介して)開発されたコネクタに照らし合わせて1つ以上のテストをテストシステム上で実行し、(例えば、エキスパートシステム318を介して)コネクタを1つ以上の互換性ルールに照らし合わせて検証して、コネクタに対して実施されたアップグレード/変更に対する下位互換性を保証するように構成される。
【0068】
モデルデータベース302は各々のコネクタに対するモデルを記憶するように構成される。モデルは、UIラベル(例えば、名称、記述など)、視覚材料(例えば、アイコン、スクリーンショット、スタイルなど)、UI拡張子(例えば、UI要素を既存のアプリケーションにどのようにプラグインするかの記述)、コネクタによってサポートされたビジネスオブジェクトの定義(例えば、ユーザ、メールボックス、スパムフィルタリングルールなど)のコネクタを定義するまたは別様にパッケージングするために使用可能な任意の情報を含み得る。いくつかの実施形態においては、UI拡張子の少なくともある部分が、HTMLページとして定義され、また、関連するJavaScript、CSS、画像などならびに、適用可能なページ毎にUI要素をUI構造にプラグインするための記述を含み得ることを理解すべきである。くわえて、モデル情報は、コネクタによってサポートされるすべてのオブジェクトに対して、1つ以上のプロパティ(例えば、タイプ、記述、ラベル、デフォルト値など)、1つ以上の関係(すなわち、オブジェクトがどのように関係のサービスドメインモデルおよびカーディナリティの他のオブジェクトと接続されるか)および/または用途/制限マッピング(例えば、どのように用途/制限が、販売可能なリソースおよびプランに対してマッピングされるか)を含み得る。いくつかの実施形態においては、モデルデータベースは、同一のコネクタおよび/または複数のコネクタの複数のバージョンを維持し得ることを理解すべきである。したがって、複数のバージョンが維持されるこのような実施形態においては、バージョン間の相違(すなわち、変更)が、(例えば、あるモデル情報の比較を介して)自動的に決定され得ることをさらに理解すべきである。
【0069】
コネクタビルダー304は、コネクタと関連付けられたすべてのビジネスオブジェクトに対するスキーマファイルを生成するように構成される。そうするために、コネクタビルダー304は、ビジネスオブジェクトを識別してスキーマファイルを生成するために、コネクタのメタデータ(例えば、コネクタ記述情報)を分析するように構成される。くわえて、コネクタビルダー304は、コネクタがコネクタの最初のバージョンではない(すなわち、パッケージングされているコネクタが、アップグレードである場合とアップグレードでない場合があるが、アップグレードでない場合には、同一のサービスに対する以前にパッケージングされたコネクタに対する変更を含む)ような実施形態においてはアップグレード命令のセットを生成するように構成される。アップグレード命令は、コネクタのメタデータに対する変更、タイプの範囲内の新しいプロパティの追加もしくはデフォルト値の割り当て、プロパティの除去、プロパティ名称/タイプの変更、サービス(例えば、アプリケーションドメインモデル内の新しいオブジェクト)の追加、他のコネクタのまたはアプリケーションドメインモデルのオブジェクトへの/間の新しい関係の追加、関係の名前の変更、関係のカーディナリティまたはオプションの変更、関係が必要とするタイプの変更、プロパティアクセスルールの変更、関係アクセスおよび/または割り当てルールの変更、ルールに従った2つ以上の関係への関係の分割などの、追跡して、コネクタのアップグレードされたバージョンに適用することができる任意のモデル変更を含み得る。
【0070】
コネクタビルダー304は、上記の生成されたスキーマおよびアップグレード命令を、適用可能である場合、コネクタのソースコードおよびフロントエンドテンプレートと共にコネクタパッケージにアセンブルするようにさらに構成される。さらに、コネクタビルダー304は、アセンブルされたコネクタパッケージを、コネクタのカタログを含むマーケットプレイスコンピューティングデバイス102の利用可能サービスデータベース110(すなわち、利用可能なサービス)にアップロードするように構成される。
【0071】
ライブラリマネージャ306は、互換性ルールデータベース308、コネクタスケルトンデータベース310およびフロントエンドテンプレートデータベース312を例示的に含む例示のデータベース間のデータの流れを管理するように構成される。そうするために、ライブラリマネージャ306は、データベースの各々に対する読み出しおよび書き込みの動作ならびに、データに対して実行する必要があり得る他の任意の動作(例えば、データの標準化、データの正規化、データの強化など)を実行するように構成される。
【0072】
互換性ルールデータベース308は、バージョニング管理のためのルール(すなわち、互換性ルール)を記憶するように構成される。言い換えれば、互換性ルールは、バージョン間の下位互換性を保証する。例えば、互換性ルールは、販売中のリソースのタイプに対して変更が実施されることを許容しないが、それは下位互換性が破壊されるからであり、しかしながら、互換性ルールは、そのタイプのリソースまたは販売されるさらなるタイプのリソースの構成の拡張を許容する。したがって、互換性ルールは、自動的アップグレードが実行されることを許容する能力を提供するが、これは提案されたアップグレードを、(例えば、コネクタビルダー304によって)互換性ルールに照らし合わせてテストすることができるからである。このようなルールが数セットあり得ることを理解すべきである。例えば、軽微なアップグレードが完全下位互換性を維持し得る一方で、大規模なアップグレードが制限された下位互換性しか維持し得ないことがある。
【0073】
コネクタスケルトンデータベース310は、コネクタ開発のモデルおよび最良の慣行に従って作成されたコードを記憶するように構成される。したがって、記憶されたコードは、コネクタのバックエンドの開発のための開始フレームワークとして使用され得る。コードは、デベロッパによって定義されたモデルに依存してカスタマイズされ得ることを理解すべきである。
【0074】
フロントエンドテンプレートデータベース312は、周知のシナリオ(例えば、新しい顧客/アカウントの作成、顧客のサブスクリプションの購入、サブスクリプションの無効化、サブスクリプションの終了など)のためのユーザインタフェースを記憶するように構成される。したがって、デベロッパが周知のシナリオを有効化するとき、そのシナリオに関連するUIコードを、フロントエンドテンプレートデータベース312からコネクタのUI構成要素に追加することができる。
【0075】
いくつかの実施形態においては、本明細書に記載するようなそれぞれのデータベースに記憶されたデータは、互いに対して排他的ではない場合があることを理解すべきである。言い換えれば、1つのデータベースに記憶されたと本明細書に記載されるあるデータは、追加的にまたは代替的に、本明細書に記載する別のデータベースにまたは別のデータベースに完全に記憶され得る。いくつかの実施形態においては、データは、単一のデータベース、分散したデータベースまたは代替のデータベース配列に記憶され得ることをさらに理解すべきである。
【0076】
コネクタプレーヤー314は、コネクタのテストシナリオをテストシステム(例えば、テストシステム316)に照らし合わせて実行するように構成される。このようなシナリオは、コネクタを展開する、コネクタインスタンスを作成する、サービステンプレートおよびプランを構成する、サブスクリプション/ユーザ作成をテストする、カウンタリソースの使用を要求するなどを含み得る。したがって、テストシステム316は、コネクタの様々なシナリオをテストするために使用可能なリソースを提供するように構成される。リソースは、物理的リソースおよび/または仮想リソースであり得ることを理解すべきである。
【0077】
エキスパートシステム318は、潜在的なペアリングサービスを分析して、1つ以上の識別されたサービスを、コネクタと関連付けられたサービスとペアリングされる候補として提案するように構成される。そうするために、エキスパートシステム318は、コネクタと関連付けられた情報(例えば、サービスタイプ、記述など)を識別して、識別された情報を、一般的にペアリングされる他のサービスの対応する情報と比較するように構成される。例示的な実施例においては、エキスパートシステム318は、電子メールサービスに対するコネクタに対して実行された分析の結果に基づいてアンチスパムサービスをペアリングするように提案し得る。任意の関係が、関連付けられたコネクタモデルを変更し得ることを理解すべきである。
【0078】
すでに述べたように、デベロッパポータルコンピューティングデバイス116は、1つ以上のコンピューティングデバイス134からなり得る。したがって、デベロッパUIポータル118、モデルデータベース302、ライブラリマネージャ306、コネクタビルダー304、コネクタプレーヤー314、テストシステム316およびエキスパートシステム318は、単一のコンピューティングデバイス134(すなわち、デベロッパポータルコンピューティングデバイス116)上に常駐するものとして例示されているが、いくつかの実施形態においては、1つ以上の構成要素が、デベロッパポータルコンピューティングデバイス116を共に備えながらも異なるコンピューティングデバイス134上に位置付けられ得ることを理解すべきである。
【0079】
ここで
図4A〜4Dを参照すると、デベロッパポータルコンピューティングデバイス116によって、またはより具体的にはデベロッパポータルコンピューティングデバイス116の構成要素(例えば、デベロッパUIポータル118、コネクタビルダー304など)の内の1つ以上によって実行され得るクラウドサービス仲介システム内で統合コネクタを作成して分配するための例示の方法400が提供されている。方法400はブロック402から始まり、デベロッパポータルコンピューティングデバイス116は、コネクタオブジェクトを作成するかを決定する。作成する場合、方法400は、ブロック404に進み、デベロッパポータルコンピューティングデバイス116は、関連するコネクタスケルトンを(例えば、
図3のコネクタスケルトンデータベース310から)選択する。すでに述べたように、コネクタスケルトンは、コネクタに対するバックエンドの開発のための開始フレームワークとして使用可能なコードという形態であり得る。
【0080】
ブロック406において、デベロッパポータルコンピューティングデバイス116は、固有のコネクタモデル識別子を生成する。ブロック408において、デベロッパポータルコンピューティングデバイス116は、(例えば、UIデベロッパポータル118を介して)コネクタデベロッパからのコネクタモデルのコネクタ記述情報を要求する。例示的な実施例においては、ブロック410において、デベロッパポータルコンピューティングデバイス116は、UI情報(例えば、サービスタイトル、サービスタイプ、アイコンなど)および1つ以上のプロバイダ命令を要求する。すでに述べたように、コネクタ記述情報は、リソースモデル情報(例えば、ディスクスペース、メールボックス、ドメインなどの提供されるサービス)、プロビジョニングチャネルを確立するためのクレデンシャル、サービスプラン情報(例えば、ブローカ/プロバイダに対する請求ルール)、リソース情報などのAPIコネクタのインスタンスを実体化するために使用することができるAPIコネクタに関連する任意の情報を含み得る。
【0081】
ブロック412において、デベロッパポータルコンピューティングデバイス116は、要求された情報は(例えば、UIデベロッパポータル118を介して)受信されたかを決定する。受信されていれば、方法400はブロック414に進み、デベロッパポータルコンピューティングデバイス116は、受信した情報を(例えば、
図3のモデルデータベース302に)記憶する。ブロック416において、デベロッパポータルコンピューティングデバイス116は、エキスパートシステム(例えば、
図3のエキスパートシステム318)に、バージョン分析(例えば、
図5の方法500を参照)を実行するように通知する。言い換えれば、デベロッパポータルコンピューティングデバイス116は、エキスパートシステムに、コネクタオブジェクトの以前のバージョンのコネクタがあるか(例えば、
図1のコネクタハブ106の利用可能サービスデータベース110中の)既存のコネクタを分析するように通知する。ブロック418において、デベロッパポータルコンピューティングデバイス116は、バージョン分析を実行するタスクを課せられたエキスパートシステムからの指示を受信したら決定され得るなどして、バージョン分析が完了したかを決定する。
【0082】
デベロッパポータルコンピューティングデバイス116がバージョン分析は完了したと決定した場合、方法400は
図4Bに示すようにブロック420に進む。ブロック420において、デベロッパポータルコンピューティングデバイス116は、ブロック404においてコネクタデベロッパによって選択された関連付けられたコネクタスケルトンに基づいてコネクタデベロッパから(例えば、UIデベロッパポータル118を介して)コネクタオブジェクトのリソースタイプを受信することを要求する。ブロック422において、デベロッパポータルコンピューティングデバイス116は、要求されたリソースタイプが受信されたかを決定する。受信されていれば、方法400はブロック424に進み、デベロッパポータルコンピューティングデバイス116は、受信したリソースタイプをモデルデータベースに(例えば、
図3のモデルデータベース302に)記憶する。
【0083】
ブロック426において、デベロッパポータルコンピューティングデバイス116は、エキスパートシステム(例えば、エキスパートシステム318)に、関係分析(例えば、
図6の方法600を参照)を実行するように通知する。言い換えれば、デベロッパポータルコンピューティングデバイス116は、エキスパートシステムに、コネクタオブジェクトのサービスと関係させるサービスがあるか、作成中のコネクタオブジェクトを分析するように通知する。ブロック428において、デベロッパポータルコンピューティングデバイス116は、関係分析が完了したかを決定する。完了していれば、方法400はブロック430に分岐し、デベロッパポータルコンピューティングデバイス116は、ブロック418におけるエキスパートシステム318からの受信した情報に基づいて、コネクタオブジェクトが、以前に公開されたコネクタオブジェクトの1つ以上の対応するバージョンを有するかを決定する。有するのであれば、方法400は、
図4Dに示し、以下に説明するブロック450に分岐し、有しなければ、方法400は、
図4Cに示すブロック432に分岐する。
【0084】
ブロック432において、デベロッパポータルコンピューティングデバイス116は、サービスモデルの関数としてコネクタを構築する。そうするために、ブロック434において、デベロッパポータルコンピューティングデバイス116は、ブロック406において生成された関連付けられたコネクタモデル識別子を回収する。くわえて、ブロック436において、デベロッパポータルコンピューティングデバイス116は、関連付けられたモデルリソースを回収する。さらに、ブロック438において、デベロッパポータルコンピューティングデバイス116は、フロントエンドテンプレート(例えば、周知のシナリオに対するユーザインタフェース)を回収する。さらにまた、ブロック440において、デベロッパポータルコンピューティングデバイス116は、回収された関連付けられたモデルリソースおよびフロントエンドテンプレートに基づいてマニフェストを設計する。
【0085】
ブロック442において、デベロッパポータルコンピューティングデバイス116は、コネクタが成功裏に構築されたかを決定する。成功裏に構築されていなければ、方法400はブロック408に戻って、さらなるおよび/または代替のコネクタ記述情報を要求し、成功裏に構築されていれば、方法400はブロック444に進む。ブロック444において、デベロッパポータルコンピューティングデバイス116は、モデルに基づいてコネクタパッケージを生成する。ブロック446において、デベロッパポータルコンピューティングデバイス116は、コネクタパッケージを(例えば、
図1のコネクタハブ106の利用可能サービスデータベース110に)記憶する。ブロック448において、デベロッパポータルコンピューティングデバイス116は、コネクタパッケージが記憶されたことを示す指示をコネクタデベロッパに送信する。
【0086】
すでに述べたように、ブロック430(
図4Bに示す)において、デベロッパポータルコンピューティングデバイス116は、コネクタオブジェクトは何らかの以前に公開されたバージョンを有すると決定する場合、方法400は
図4Dに示すブロック450に分岐する。ブロック450において、デベロッパポータルコンピューティングデバイス116は、サービスモデルの関数としてコネクタを構築する。そうするために、ブロック452において、デベロッパポータルコンピューティングデバイス116は、ブロック406において生成された関連付けられたコネクタモデル識別子を回収する。くわえて、ブロック454において、デベロッパポータルコンピューティングデバイス116は、関連付けられたモデルリソースを回収する。さらに、ブロック456において、デベロッパポータルコンピューティングデバイス116は、任意の適用可能な互換性ルールに照らし合わせてリソースをチェックして、コネクタに対して実施されたアップグレード/変更の下位互換性を保証する。すでに述べたように、互換性ルールは、自動的アップグレードを実行することを可能とする機能を提供するが、これは、提案されたアップグレードを互換性ルール(例えば、互換性ルールデータベース308に記憶され得るようなもの)に照らし合わせてテストすることができるからである。さらにまた、ブロック458において、デベロッパポータルコンピューティングデバイス116は、フロントエンドテンプレート(例えば、周知のシナリオに対するユーザインタフェース)を回収する。さらにまた、ブロック460において、デベロッパポータルコンピューティングデバイス116は、回収された関連付けられたモデルリソースおよびフロントエンドテンプレートに基づいてマニフェストを設計する。
【0087】
ブロック462において、デベロッパポータルコンピューティングデバイス116は、コネクタが成功裏に構築されたか(例えば、リソースが何らかの互換性ルールに違反しているか)を決定する。成功裏に構築されていなければ、方法400はブロック408に戻って、さらなるおよび/または代替のコネクタ記述情報を要求し、成功裏に構築されていれば、方法400はブロック464に進む。ブロック464において、デベロッパポータルコンピューティングデバイス116は、以前のコネクタバージョンのモデルと現在のコネクタバージョンのモデルとの間に何らかの相違があるか決定する。ブロック466において、デベロッパポータルコンピューティングデバイス116は、ブロック464において決定された相違に基づいて1つ以上のアップグレード命令を生成する。すでに述べたように、アップグレード命令は、追跡してコネクタのアップグレードされたバージョンに適用することができる何らかのモデル変更を含み得る。
【0088】
ブロック468において、デベロッパポータルコンピューティングデバイス116は、モデルおよびアップグレード命令に基づいてコネクタパッケージを生成する。ブロック470において、デベロッパポータルコンピューティングデバイス116は、コネクタパッケージを(例えば、
図1のコネクタハブ106の利用可能サービスデータベース110に)記憶する。ブロック472において、デベロッパポータルコンピューティングデバイス116は、コネクタパッケージが記憶されたことを示す指示をコネクタデベロッパに送信する。
【0089】
ここで
図5を参照すると、デベロッパポータルコンピューティングデバイス116によって、またはより具体的にはデベロッパポータルコンピューティングデバイス116のエキスパートシステム318によって実行され得るバージョン分析をコネクタオブジェクトに対して実行するための例示の方法500が提供されている。方法500はブロック502から始まり、エキスパートシステム318は、バージョン分析通知が(例えば、
図1および3のデベロッパUIポータル118を介してデベロッパから)受信されたかを決定する。
【0090】
ブロック504において、エキスパートシステム318は、例えば関連付けられたモデル(例えば、
図3のモデルデータベース302に記憶されたリソースモデル情報)から決定され得るように、作成中の現在のコネクタオブジェクトのコネクタ記述情報を
図1のコネクタハブ106の利用可能サービスデータベース110に現在記憶されているコネクタパッケージの対応する情報と比較する。すでに述べたように、コネクタ記述情報は、APIコネクタのインスタンスを実体化するために使用することができるAPIコネクタに関連する何らかの情報を含み得る。例示的な実施例においては、ブロック506において、エキスパートシステム318は、各々のコネクタオブジェクトのサービスタイプ、サービス名称およびサービスアイコンを比較する。
【0091】
ブロック508においては、エキスパートシステム318は、コネクタオブジェクト間の一致のレベルをブロック504において実行された比較の結果の関数として決定する。ブロック510においては、エキスパートシステム318は、ブロック508において決定された一致レベルが一致レベル閾値以上であるかを決定する。一致レベルは、各々のコネクタオブジェクトの情報(例えば、サービスタイプ、サービス名称、サービスアイコンなど)間の一致のレベルを伝達するために使用可能な何らかの数値(例えば、量、数量、カウンタ値、パーセンテージなど)であり得る。したがって、一致レベル閾値は、一致レベルが、コネクタオブジェクトが関連付けられている(すなわち、一方が他方の以前のバージョンである)と当然決定することができるほどに十分高いかを決定する目的で一致レベルと比較するために使用可能な何らかの対応する量として定義され得る。
【0092】
エキスパートシステム318が、一致レベルが一致レベル閾値以上であると決定する場合、方法500はブロック514に進む前にブロック512に分岐する。ブロック512においては、エキスパートシステム318は、現在のコネクタオブジェクトを、このコネクタオブジェクトの新しいバージョンとして、以前に公開されたコネクタと関係させる。エキスパートシステム318が、一致レベルが一致レベル閾値未満であると決定する場合、方法500はブロック514に分岐し、エキスパートシステム318は、エキスパートシステムがバージョン分析を完了したことを示す指示をコネクタビルダー(例えば、
図3のコネクタビルダー304)に送信する。ブロック516において、エキスパートシステム318は、該当する場合は(すなわち、関係がブロック512で発生した場合は)、コネクタオブジェクトの以前のバージョンの識別子を送信する。
【0093】
ここで
図6を参照すると、デベロッパポータルコンピューティングデバイス116によって、またはより具体的にはデベロッパポータルコンピューティングデバイス116のエキスパートシステム318によって実行され得るペアリング分析をコネクタオブジェクトに対して実行するための例示の方法600が提供されている。方法600はブロック602から始まり、エキスパートシステム318は、関係分析通知が(例えば、
図1および3のデベロッパUIポータル118を介してデベロッパから)受信されたかを決定する。ブロック604において、エキスパートシステム318は、現行のコネクタオブジェクトに関係させることができる他の何らかのサービスを識別する。そうするために、ブロック606において、エキスパートシステム318は、他のサービスを、それらのそれぞれのコネクタリソースタイプなどのコネクタハブ106の利用可能サービスデータベース110に記憶されたそれらのコネクタパッケージの情報に基づいて識別し得る。
【0094】
ブロック608において、エキスパートシステム318は、コネクタデベロッパに、コネクタにリンクされる何らかの既存のおよび/または識別されたサービスに対する識別された関係を受け入れるように促す。ブロック610において、エキスパートシステム318は、関係が受け入れられたかを決定する。いくつかの実施形態においては、識別された関係のうちのいくつかまたはすべてが受け入れられ得るまたはなにも受け入れられ得ないことを理解すべきである。いくつかの実施形態においては、デベロッパは、関係を受け入れるように促されない場合があることをさらに理解すべきである。言い換えれば、このような実施形態においては、関係は自動的に識別されて関連付けられるため、方法600はブロック604からブロック612に直接に進む。識別された関係のいずれかがブロック610において受け入れられた場合、方法600はブロック614に進行する前にブロック612に進む。ブロック612においては、エキスパートシステム318は、受け入れられたサービスと関連付けられたコネクタオーナーの各々に、関係を確認するように指示を送信する。そうでない場合、識別された関係のいずれかがブロック610において受け入れられなかった場合、方法600はブロック614に進み、エキスパートシステム318は、エキスパートシステムが関係分析を完了したことを示す指示を、コネクタビルダー(例えば、
図3のコネクタビルダー304)に送信する。
【0095】
本開示の少なくとも1つの実施形態においては、自動ユニバーサルコネクタを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するための方法700の例示の実施形態のフロー図を
図7に示す。ブロック702において、マーケットプレイスコンピューティングデバイス102は、サブスクリプション作成要求をユニバーサルコネクタ136に送信し、ユニバーサルコネクタ136は、サブスクリプション要求が受信されたと応答する。サブスクリプション要求が受信された場合、方法700はブロック704に進み、受信されなければ、それはブロック702にループバックする。
【0096】
本開示の少なくとも1つの実施形態においては、ユニバーサルコネクタ136は、サブスクリプションが作成中(または要求に依存して処理中)であると応答して、ブロック708に進み、それは、受信したリソースモデルを処理する。本開示の少なくとも1つの実施形態においては、ユニバーサルコントローラ170が、ブロック710において、リソースモデルインタープリタ174によってカウンタおよび制限を解析する。方法700はブロック712に進み、コネクタアプリケーションコントローラ172がカウンタおよび制限を受信する。方法700はブロック714に進み、API変換エンジン178がカウンタおよび制限を処理する。
【0097】
本開示の少なくとも1つの実施形態においては、方法700はブロック716に進み、ユニバーサルコントローラ170は、新しい注文が定義されたとCRMデータベース166に通知する。本開示の少なくとも1つの実施形態においては、オペレータが、ブロック718において注文を見直し、オプションとしては無効であり得るデータを変更し、注文を承認または拒絶し得る。承認されたら、方法700はブロック722に進み、承認されたデータが処理される。
【0098】
本開示の少なくとも1つの実施形態においては、ブロック718からの承認は処理を必要とする。例として、オペレータは、
図1Aに示すように、インストレーション命令を、CRM APIサーバ138およびユニバーサルコネクタデバイス136を通じて送信し得る。これはサブスクリプションの起動のための命令であることが理解されるであろう。この例を続けると、任意のアカウント修正が、CRM APIサーバ138で連結されてデータベース166内に維持され(
図1Bに示すように)、次いでユニバーサルコネクタ136を通じてクラウドブローカコンピューティングデバイス130に送信される。
【0099】
本開示の少なくとも1つの実施形態においては、方法700はブロック730に進み、ここで承認データはサブスクリプションデータベース160に記憶される。方法700はブロック730に進み、ここでAPI変換エンジン178は、CRM APIサーバ138からのコールをユニバーサルコネクタ136によって動作可能である形式に変換する。コネクタアプリケーションコントローラ172は承認データを処理して、これをサブスクリプションデータベース160に記憶することが理解されるであろう。本開示の少なくとも1つの実施形態においては、コネクタアプリケーションコントローラ172はさらに、ポーリングおよび通知エンジン176に送信する応答を定式化して、最終的にはクラウドサーバブローカコンピューティングデバイス130に送信する。
【0100】
本開示の少なくとも1つの実施形態においては、自動ユニバーサルコネクタパッケージを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するための方法800の例示の実施形態のフロー図が
図8に示されている。ブロック802において、CRM APIサーバ138によってチェックを実行して、新しい注文が受信されたかを検証する。新しい注文が受信された場合、方法800はブロック804に進み、オペレータは、注文が受信されたことを通知される。オペレータはブラウザ164の動作によって通知され得ることが理解されるであろう。
【0101】
方法800はブロック810に進む。ブロック810において、アカウント、サブスクリプションデータおよびパラメータが処理される。例として、アカウントが存在しなければ、アカウントが作成され、サブスクリプションが存在しなければ、サブスクリプションが作成される。このようなアカウントまたはサブスクリプションの作成に伴うデータが、データベース166に記憶される。ユニバーサルコネクタ136はこのすべてのデータを(例えば、ネットワーク128を介して)データベース166に送信することが理解されるであろう。方法800はステップ812に進み、フィルタリングされた注文はフロントエンド(例えば、ブラウザ164)に送信される。
【0102】
ブロック814において、方法800は注文データが変更されたかどうかをチェックする。データが変更された場合、方法800はブロック816に進み、注文データは監査モジュール156内に記憶される。方法800はブロック818に進む。代替例においては、ブロック814でチェックされたままのデータに変更がない場合、方法800はまたブロック818に進む。ブロック818において、注文の承認が受信されたかどうかについてチェックが実行される。オペレータの承認が受信された場合、方法はブロック820に進み、受信されなければ、それはブロック824に進む。
【0103】
方法800はブロック822に進み、オペレータはサブスクリプションが作成されたことを通知される。
【0104】
本開示は、図面および上記の説明において例示され詳述されたが、それは、特性においても、例示的であり、限定的でないとみなされるべきである。特定の実施形態のみが示されて説明されたものであり、本開示の精神の範囲に入るすべての変更と修飾が保護されることが望ましいことが理解される。
【国際調査報告】