(57)【要約】分散型ツールの仮想市場は、エンドユーザに企業運営システムプラットフォームと互換可能なツールを獲得する性能を提供することもできる。仮想市場は、企業運営システムプラットフォーム上で実現される１つ以上のツールを決定することもできる。企業運営システムプラットフォームは、仮想市場の運営者によってエンドユーザに提供されてもよい。ツールは、エンティティの成果を評価するために使用可能なツールを含む。仮想市場は、企業運営システムプラットフォーム上で実現されるツールによって処理されたり生成されるデータをさらに確認することもできる。仮想市場は、ツールによって使用されたり提供される機能も決定することができる。それによって、分散型ツールの仮想市場は、ツールと少なくとも１つの依存関係を有する分散型ツールの仮想市場から関連づけられたツールの推薦を提供することもできる。【選択図】  図１
2019512812.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ−実行可能命令を保存する１つ以上の非一時的コンピュータ−読取可能媒体であって、
前記コンピュータ−実行可能命令は、実行されると１つ以上のプロセッサが：
エンドユーザの企業運営システムプラットフォーム上で実装される、分散型ツールの仮想市場によって配布される１つ以上のツールを決定する動作（前記企業運営システムプラットフォームは、前記分散型ツールの仮想市場の運営者によって前記エンドユーザに提供される）；
前記企業運営システムプラットフォーム上で実装される前記１つ以上のツールによって処理されたり生成されるデータを確認する動作（前記１つ以上のツールは、エンティティの成果を評価するのに用いられるツールを含む）；
前記企業運営システムプラットフォーム上で実装される前記１つ以上のツールによって使用されたり提供される機能を決定する動作；および
前記企業運営システムプラットフォーム上で実装される前記１つ以上のツールと少なくとも１つの依存関係を有する、前記分散型ツールの仮想市場からの１つ以上の関連づけられたツールの推薦を提供する動作を含む動作を実行させる、１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項２】
前記提供する動作は、前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェース上のディスプレイのために推薦される前記１つ以上の関連づけられたツールを提供する動作を含み、前記双方向インターフェースは、ツールカテゴリー、ツールサブカテゴリー、ツールタイプ、ツールバージョン、ツール配置位置、報告されたバグまたは依存関係タイプのうち少なくとも１つによる前記１つ以上の関連づけられたツールのフィルタリングのためのオプションを含む、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項３】
関連づけられたツールの少なくとも１つの依存関係は、前記関連づけられたツールがデータをツールに提供することができ、前記ツールによって生成されるデータを用いることができ、機能をツールに提供することができ、またはツールによって提供される機能を用いることができることを含む、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項４】
前記動作は：
前記企業運営システムプラットフォーム上での実装のための関連づけられたツールのための獲得要請を受信する動作（前記獲得要請は、前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェースに由来し、前記獲得要請は、支払い、競売入札または逆競売入札を含む）；
前記獲得要請が１つ以上の許容基準を満たすことを決定することに応答して、前記企業運営システムプラットフォーム上の実装のための前記関連づけられたツールを提供する動作；
前記獲得要請が１つ以上の許容基準を満たすのに失敗することを決定することに応答して、前記関連づけられたツールのための獲得要請が許容されないという指示を伝送する動作をさらに含む、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項５】
許容基準は、分割（ｉｎｓｔａｌｌｍｅｎｔ）払い計画を満たすことを含み、前記動作は：
前記企業運営システムプラットフォーム上の実装に続き、前記関連づけられたツールから状態チェック要請メッセージを受信する動作（前記状態チェック要請メッセージは、前記関連づけられたツールが前記企業運営システムプラットフォーム上で引き続き行われるかを確認することを要請する）；および
追加の支払いが前記分割払い計画によって前記エンドユーザから受信されたことを決定することに応答して、引き続き運営応答メッセージを前記関連づけられたツールに伝送する動作をさらに含む、請求項４に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項６】
ツールまたは関連づけられたツールが、データ再フォーマットツール、データ変換ツール、データ相関ツール、キー成果インジケータ（ＫＰＩ：Ｋｅｙ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｉｎｄｉｃａｔｏｒ）生成ツール、データ視覚化ツール、多数のデータソースからデータを得るためのデータアダプタツールまたは警報ツールのうち１つである、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項７】
前記動作は、ツールが前記企業運営システムプラットフォーム上で実装されることを指示する前記企業運営システムプラットフォームから状態情報を受信する動作をさらに含み、前記状態情報は、前記ツールの識別情報、前記ツールの実装履歴、前記ツールのバージョン情報、前記ツールのユーザログ情報、前記ツールの総作動時間、前記ツールによって提供される衝突（ｃｒａｓｈ）およびエラー報告のうち少なくとも１つを指示する、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項８】
前記動作は：
前記分散型ツールの仮想市場に関するツールの状態変化をアップデートする動作（前記状態変化は、配布のための新しいツールを受信すること、配布のための前記ツールの新しいバージョンを受信すること、前記ツールのためのサポート日の計画された終了または前記分散型ツールの仮想市場を介した配布から前記ツールを除去することを含む）；および
前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェースを介して前記状態変化の通知を前記エンドユーザに提供する動作をさらに含む、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項９】
前記動作は、
ツールまたは関連づけられたツールのためのレビューまたは評点（ｒａｔｉｎｇ）のうち少なくとも１つを受信する動作；および
前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェース上のディスプレイのために前記ツールのレビューまたは評点のうち少なくとも１つを提供する動作をさらに含む、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項１０】
前記エンティティは、遠隔通信サービスを加入者に提供する無線通信事業者、ユーティリティサービスを顧客に提供するユーティリティ会社または金融サービスを顧客に提供する金融会社である、請求項１に記載の１つ以上の非一時的コンピュータ−読取可能媒体。
【請求項１１】
コンピュータ−実装の方法であって、
エンドユーザの多数のユーザデバイス上の企業運営システムプラットフォームに分散型ツールの仮想市場を介して配布するためにソフトウェア開発者によって提出されるツールを受信する段階（前記ツールは、エンティティの成果を評価するのに用いられ、前記企業運営システムプラットフォームは、前記分散型ツールの仮想市場の運営者によって前記多数のエンドユーザに提供される）；
前記エンティティのエンティティタイプに対応するテスト環境を介して前記ツールを検証する段階（前記テスト環境は、前記エンティティタイプに合わされたテストデータおよびテストスイート（ｓｕｉｔｅ）を含み、前記テストデータは、複雑なイベントの集合である複雑なイベントおよび未処理イベントを含む）；
前記ツールが検証されることを決定することに応答して、認証されたツールとして前記市場を介して配布するために前記ツールを提供する段階；および
前記ツールが検証されないことを決定することに応答して、前記ツールが認証されないという指示を提供する段階を含む、コンピュータ−実装の方法。
【請求項１２】
前記ツールを検証する段階は、複雑なデータを含むテスト結果を生成し、
前記ツールが検証されることを決定することに応答して、前記複雑なデータを前記テストデータに統合し、前記テストデータを用いて、前記エンティティタイプのエンティティの成果を評価するのに用いられる追加的なツールを検証する段階；および
前記ツールが検証されないことを決定することに応答して、前記ツールの検証から生成される前記複雑なデータを捨てる段階をさらに含む、請求項１１に記載のコンピュータ−実装の方法。
【請求項１３】
前記テストデータは、前記ツールの特定バージョン、前記ツールのソフトウェア開発者または前記ツールの制作環境のうち少なくとも１つにさらに合わされ、ツールは、少なくとも検証中に前記ツールによって生成されるテスト結果が予想された結果と一致したり予め決定された許容可能値の閾値内にある時に検証されたと決定される、請求項１１に記載のコンピュータ−実装の方法。
【請求項１４】
前記ツールのための予備テスト結果を得る段階；および
前記予備テスト結果を前記テストデータに統合し、前記テストデータを用いて、前記エンティティタイプのエンティティの成果を評価するのに用いられる追加的なツールを検証する段階をさらに含む、請求項１１に記載のコンピュータ−実装の方法。
【請求項１５】
システムであって、
１つ以上のプロセッサ；および
多数の動作を実行するように前記１つ以上のプロセッサによって実行可能な多数のコンピュータ−実行可能構成要素を含むメモリを含み、前記多数の動作は：
エンドユーザの企業運営システムプラットフォーム上で実装される、分散型ツールの仮想市場によって配布される１つ以上のツールを決定する動作（前記企業運営システムプラットフォームは、前記分散型ツールの仮想市場の運営者によって前記エンドユーザに提供される）；
前記企業運営システムプラットフォーム上で実装される前記１つ以上のツールによって処理されたり生成されるデータを確認する動作（前記１つ以上のツールは、エンティティの成果を評価するのに用いられる）；
前記企業運営システムプラットフォーム上で実装される前記１つ以上のツールによって使用されたり提供される機能を決定する動作；および
前記１つ以上のツールと少なくとも１つの依存関係を有する、前記仮想市場からの１つ以上の関連づけられたツールの推薦を提供する動作；
前記企業運営システムプラットフォーム上での実装のための関連づけられたツールのための獲得要請を受信する動作（前記獲得要請は、前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェースに由来し、前記獲得要請は、支払い、競売入札または逆競売入札を含む）；
前記獲得要請が１つ以上の許容基準を満たすことを決定することに応答して、前記企業運営システムプラットフォーム上の実装のために前記関連づけられたツールを提供する動作；
前記獲得が１つ以上の許容基準を満たすのに失敗することを決定することに応答して、前記関連づけられたツールのための獲得要請が許容されないという指示を伝送する動作を含む、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
アプリケーションまたはデータ形態のツールは、運営目標が効率的に満たされることを保障するために、エンティティの成果を評価したりエンティティの成果の評価を補助するといった多くの機能を実行するのに用いられたりする。一部の例において、エンティティは、移動通信サービスをエンドユーザに提供する無線事業者ネットワークのようなネットワークを含んでもよい。他の例において、エンティティは、ユーティリティサービスを商業および一般住宅顧客に提供するユーティリティ会社または金融サービスを顧客に提供する金融会社のようなシステムを含んでもよい。そのようなツールは、エンティティの成果問題を検出し診断して予想されるレベルのサービスを維持するのに用いられてもよい。ツールは、エンドユーザメトリックスとリソースメトリックスのような多数セットの成果メトリックスをモニタリングすることもできる。エンドユーザメトリックスは、エンティティのエンドユーザが経験した成果を測定することもできる。リソースメトリックスは、リソースの不十分さと成果の滞りを識別するために、作業負荷下にあるエンティティによって用いられる計算またはその他のリソースを測定することもできる。
【０００２】
一部のツールは、企業運営システムプラットフォーム上で行われるように構成されてもよい。企業運営システムプラットフォームは、ツールを実行したり実装するための環境を提供することもできる。また、企業運営システムプラットフォームは、ソフトウェアエージェントの使用によりエンティティから成果データを抽出することを担当することもできる。例えば、エンティティが無線事業者ネットワークであるシナリオにおいて、企業運営システムプラットフォームは、ユーザデバイスとコアネットワーク機能をモニタリングしてエンティティに対する成果データを得るソフトウェアエージェントとインターフェースすることもできる。
【図面の簡単な説明】
【０００３】
詳細な説明は、添付した図面を参照して記載する。図面において、参照番号の最左の数字はこの参照番号が最初に示される図面を識別させる。相異なる図面において、同一の参照番号は類似または同一のものを指し示す。
【０００４】
【図１】図１は、分散型ツールのための仮想市場の様々な実施例を実現するためのアーキテクチャの概略図である。
【０００５】
【図２】図２は、ツールを配布する、分散型ツールのための仮想市場の例における例示的な構成要素の概略図である。
【０００６】
【図３】図３は、ツールを選択するための、分散型ツールのための仮想市場の例示的な双方向インターフェースである。
【０００７】
【図４】図４は、エンドユーザによって使用中の企業運営システムプラットフォーム上における、現在実装されたツールに基づいてツールのディスプレイを合わせるための例示的なプロセスのフロー図である。
【０００８】
【図４】図４は、分散型ツールのための仮想市場によってエンドユーザへの配布に利用可能なツールを選択的に提示するための例示的なプロセスのフロー図である。
【０００９】
【図５】図５は、仮想市場を介して配布されたツールの状態データで分散型ツールのための仮想市場をアップデートするための例示的なプロセスのフロー図である。
【００１０】
【図６】図６は、分散型ツールのための仮想市場を介した配布のためにツールをテストし検証するための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【００１１】
本開示は、ソフトウェア開発者がエンドユーザへの配布のためのツールを提出できるようにする、分散型ツールのための仮想市場の実現に関する。ツールは、様々な機能を実行するように企業運営システムプラットフォームを有する企業環境で用いるために設計される。一部のシナリオにおいて、ツールは、成果管理アプリケーション、成果管理データを処理するアプリケーション、成果ツールを運営させるユーティリティおよびその他のソフトウェア（例えば、データプラグイン（ｐｌｕｇｉｎｓ））、および成果管理を容易にする任意の他のアプリケーションによって共通に用いられる一般ユーティリティを含んでもよい。分散型ツールのための仮想市場は、エンティティの成果評価を提供するといった、多数の機能を実行するツールを配布する仮想ストアである。一部の例において、エンティティは、移動通信サービスをエンドユーザに伝達する無線事業者ネットワークのようなネットワークを含んでもよい。他の例において、エンティティは、ユーティリティサービスを商業および家庭顧客に提供するユーティリティ会社または金融サービスを顧客に提供する金融会社のようなシステムを含んでもよい。これらのシナリオにおいて、ツールは、エンティティの成果を評価するのに関連する様々な機能を実行するソフトウェアアプリケーションを含んでもよいし、そのような機能は、データ再フォーマット、データ変換、データ集約、データ相関、キー成果インジケータ（ＫＰＩ）の生成および／またはその他を含んでもよい。他のシナリオにおいて、ツールは、企業環境のための他のサービスおよびデータを配布したり管理するアプリケーションを含んでもよい。
【００１２】
分散型ツールのための仮想市場はまた、企業運営システムプラットフォームの設置をエンドユーザに配布する運営者によって運営されてもよい。企業運営システムプラットフォームは、ツールを実行するための運営システム環境を提供することもできる。一部の例において、企業運営システムプラットフォームは、キー成果インジケータ（ＫＰＩ）の計算または集約、警報生成、共通データモデルの実装、ユーティリティアプリケーションの開発と維持補修および／またはその他のようなサービスを提供することもできる。他の例において、企業運営システムはまた、ソフトウェアエージェントの使用によりエンティティから成果データを抽出するためのデータ収集機能を実行することもできる。それによって、ツールが分散型ツールのための仮想市場を介して配布する資格を有するためには、市場の運営者は、このツールのためのツールテストおよび認証プロセスを実現することもできる。ツールテストおよび認証プロセスは、このツールが運営システム環境で現在機能することができ、明示された成果モニタリング機能を実行できることを保障するように設計される。
【００１３】
様々な実施例において、ツールは、独立型ツールとして動作するよりは相関されたツールとして互いに相互作用するように開発されてもよい。一つのシナリオにおいて、第１ツールは、多数のソースからデータを集約するように開発されるのに対し、第２ツールは、集約されたデータからＫＰＩを生成するように設計されてもよい。そのようなシナリオにおいて、第２ツールによって生成されるＫＰＩを追加のソースからの成果データと相関させて包括的な成果インジケータを生成する第３ツールがあってもよい。他のシナリオにおいて、第１ツールは、１セットのＫＰＩに関する分析を生成することもできる。後続して、第２ツールは、第１ツールによって生成される分析を利用して、ネットワーク上で実現される特定プロセスを改善するための計画を作ることもできる。第３ツールは、第２ツールからの計画を利用して、ネットワークに関する変更を実行して特定プロセスを最適化することもできる。それによって、顧客アカウントによって使用中の企業運営システムプラットフォームの各設置のために、分散型ツールのための仮想市場は、このプラットフォームと連携してすでに使用中のツールに関する状況情報を保存することもできる。
【００１４】
また、分散型ツールのための仮想市場は、市場を介した獲得に利用可能なツールの状態データをさらに保存してもよい。例えば、ツールの状態データは、このツールが新しいツールか、既存のツールの新しいバージョンか、このツールが市場で利用可能か、または市場から回収されたものかを指示することもできる。ツールの状態データは、ツールの処理機能を実行するために、このツールが依存する他のツールによって提供されるツール機能および／または入力データをさらに指示することもできる。代案的にまたは同時に、ツールの状態データは、ツールが生成可能な出力データおよび機能を指示することもできる。このように、エンドユーザが顧客アカウントに分散型ツールのための仮想市場にアクセスする時、市場は、依存関係を有する１つ以上の関連するツールをエンドユーザがすでに使用中のツールに提示することもできる。依存関係は、１つのツールが他のツールによって提供される機能やデータを使用可能な入力依存、または１つのツールが他のツールによって使用される機能やデータを提供可能な出力依存であってもよい。依存関係は、ツールのバージョンまたはツールのデータフォーマットに関する依存として自らを現してもよい。他の依存関係は、最初はデータの利用可能性として自らを現してもよい。例えば、ツールは、特定ＫＰＩソースにアクセスを提供するデータプラグインに依存することもできる。このように、エンドユーザは、エンドユーザの成果管理性能を改善するために最も新しく利用可能なツールを最新状態に維持することもできる。
【００１５】
ソフトウェア開発者は、分散型ツールが、ツールを開発してテストするために仮想市場の運営者によって提供される開発者サンドボックスを用いることもできる。開発者サンドボックスは、新しいソフトウェアコードを制作環境および／またはその他の開発環境から隔離するソフトウェアコード開発環境である。開発者サンドボックスは、エンティティのタイプに特定されてもよい。例えば、無線通信事業者であるエンティティのための開発者サンドボックスは、水ユーティリティサービス提供者であるエンティティのための開発者サンドボックスと異なってもよい。開発者サンドボックスそれぞれは、開発中のツールによって処理するためのシミュレートされたデータを提供することもできる。開発者サンドボックスの使用は、開発されたツールが企業運営システムプラットフォームと十分に互換可能であり、ソフトウェアバグの修正を保障することもできる。
【００１６】
ツールが、分散型ツールのための仮想市場の運営者にソフトウェア開発者によって提出されると、運営者はテスト環境を用いてこのツールを検証することもできる。様々な実施例において、テスト環境は、ツールによって処理される未処理イベントおよび複雑なイベント形態のテストデータを含んでもよい。それによって、ツールは、ツールが予想される結果と一致したり予め決定される許容可能値の閾値内にあるテスト結果を生成する時、検証されたと見なされてもよい。後続して、ツールはリリースされてもよい。すなわち、分散型ツールのための仮想市場を介した配布に利用可能になってもよい。エンドユーザによる使用のためのツールの配布は、エンドユーザがツールを用いるライセンスや権利を購入することを伴ってもよい。このような購入は、多数の方式および支払い条件のうち１つの下で実行されてもよいし、ここで、方式は、設定された価格での直接支払い、競売、逆競売などを含んでもよい。
【００１７】
一部の実施例において、エンティティのためのツールのそれぞれの成功的な検証から得たテスト結果は、同一タイプのエンティティのためのツールの後続する検証を実行するためにテストデータに統合されてもよい。他の実施例において、エンティティのためのツールの予備テストからのテスト結果はまた、同一タイプのエンティティのためのツールの後続するツール検証を実行するためにテストデータに統合されてもよい。このように、テスト環境は、そうでなければ利用可能でなかったりシミュレートしにくい追加のテストデータが継続して供給されてもよい。
【００１８】
分散型ツールのための仮想市場は、企業運営システムプラットフォームと互換可能なツールを獲得する性能をエンドユーザに提供することもできる。ソフトウェア開発者は、ツールを配布するために、分散型ツールのための仮想市場を用いてエンドユーザに接近することもできる。他方で、分散型ツールのための仮想市場は、エンドユーザに便利な仮想ストアを提供して、エンドユーザは開発者と連絡して所望のツールを購入することもできる。分散型ツールのための仮想市場の運営者は、ツールが特定のガイドラインに従って機能することを保障するために検証テストを実行することもできる。ソフトウェア開発者とエンドユーザとの間の取引を容易にする媒体を提供する見返りとして、運営者は、各成果ツール獲得のための取引料金を請求することで収入を生成することもできる。本明細書に記載の技術は多様な方式で実現されてもよい。実現例は、次の図１〜図６を参照して以下に提供される。
例示文献
【００１９】
図１は、分散型ツールのための仮想市場１０２の様々な実施例を実現するための例示的なアーキテクチャ１００の概略図である。仮想市場１０２は、１つ以上のコンピューティングデバイス１０４上で行われてもよい。コンピューティングデバイス１０４は、デスクトップコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、サーバまたは入力を受信することができ、入力を処理することができ、出力データを生成することができるその他の電子デバイスのような汎用コンピュータを含んでもよい。他の実施例において、コンピューティングデバイス１０４は、仮想マシンとソフトウェアコンテナのようにコンピューティングノード形態の仮想コンピューティングデバイスであってもよい。コンピューティングデバイス１０４は、仮想市場１０２の運営者によって制御されてもよい。仮想市場１０２は、仮想ストアであってもよいし、ここで、ソフトウェア開発者は、配布のためのツールを提出することもでき、エンドユーザは、金銭支払いまたはその他の補償をソフトウェア開発者に提供することでツールを獲得することもできる。
【００２０】
コンピューティングデバイス１０４は、仮想市場１０２の運営者によって提供される開発者サンドボックス１０６（１）〜１０６（Ｎ）をさらにホストすることもできる。それぞれの開発者サンドボックスは、新しいソフトウェアコードを制作環境から隔離するソフトウェアコード開発環境である。開発者サンドボックスは、特定タイプのエンティティに特定されてもよい。例えば、無線通信事業者であるエンティティのための開発者サンドボックスは、水ユーティリティサービス提供者であるエンティティのための開発者サンドボックスと異なってもよい。一例示的なシナリオにおいて、ソフトウェア開発者１０８（１）〜１０８（Ｎ）は、開発者サンドボックス１０６（１）〜１０６（Ｎ）と相互動作して、ツール１１０（１）〜１１０（Ｎ）を開発することもできる。ソフトウェア開発者１０８（１）〜１０８（Ｎ）は、ユーザデバイス１１２（１）〜１１２（Ｎ）上のソフトウェア開発ツールを用いて、ネットワーク１１４を介して開発者サンドボックス１０６（１）〜１０６（Ｎ）にアクセスすることもできる。ネットワーク１１４は、近距離ネットワーク（ＬＡＮ）、広帯域ネットワーク（ＷＡＮ）のようなより広いネットワークまたはインターネットのようなネットワークの集合であってもよい。それによって、開発者サンドボックス１０６（１）〜１０６（Ｎ）は、ソフトウェア開発者１０８（１）〜１０８（Ｎ）によってツール１１０（１）〜１１０（２）のためのソフトウェアコードを生成してテストするように用いられてもよい。ソフトウェア開発者がツールの成果に満足すると、ソフトウェア開発者は、ツールを仮想市場１０２に提出することもできる。
【００２１】
仮想市場１０２の運営者は、テスト環境を用いて、ツール１１０（１）のような提出されたツールを検証することもできる。様々な実施例において、テスト環境は、ツールによって処理される未処理イベントおよび複雑なイベント形態のテストデータを含んでもよい。それによって、ツールは、ツールが予想される結果と一致したり予め決定される許容可能値の閾値内にあるテスト結果を生成する時、検証されると見なされてもよい。後続して、ツール１１０（１）はリリースされてもよい。すなわち、仮想市場１０２を介した配布のために利用可能になってもよい。
【００２２】
アーキテクチャ１００にさらに示すように、エンドユーザ１１６は、企業運営システムプラットフォーム１１８（１）を用いて、エンティティ１２０から成果データを収集することもできる。企業運営システムプラットフォーム１１８（１）は、仮想市場１０２の運営者によって開発される独自の企業運営システムプラットフォームのコピーであってもよい。企業運営システムプラットフォーム１１８（１）は、使用のためにエンドユーザ１１６に運営者によって前に配布されていてもよい。企業運営システムプラットフォーム１１８（１）は、コンピューティングデバイス１２２のような１つ以上のコンピューティングデバイス上で行われてもよい。１つ以上のコンピューティングデバイス１２２は、デスクトップコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、サーバ、または入力を受信することができ、入力を処理することができ、出力データを生成することができるその他の電子デバイスのような汎用コンピュータを含んでもよい。他の実施例において、コンピューティングデバイス１０４は、仮想マシンとソフトウェアコンテナのようにコンピューティングノード形態の仮想コンピューティングデバイスであってもよい。
【００２３】
様々な実施例において、企業運営システムプラットフォーム１１８（１）は、ソフトウェアエージェントを用いてエンティティ１２０の様々なデバイス、構成要素、ノードおよび／またはサービスから成果データを収集することもできる。収集されたデータは、その後、ツール１２４のような１つ以上のツールによって処理される。１つ以上のツールは、企業運営システムプラットフォーム１１８（１）によって提供される運営システム環境で行われてもよい。一部の実施例において、１つ以上のツールは、企業運営システムプラットフォーム１１８（１）と連携して１つ以上のコンピューティングデバイス１２２上で実装されていてもよい（例えば、設置、分配、処理などがされていてもよい）。他の実施例において、１つ以上のツールは、ネットワーク１１４を介してコンピューティングデバイス１２２にダウンロードされていてもよいし、企業運営システムプラットフォーム１１８（１）上で実装されていてもよい。ツールそれぞれは、エンティティ１２０の成果を評価するのと関連する機能のような様々な機能を実行することもできる。しかし、他の例において、ツールは、企業環境のためにその他のサービスとデータを配布したり管理することもできる。
【００２４】
ツールは、データ再フォーマットツール、データ変換ツール、データ集約ツール、データ相関ツール、ＫＰＩ生成ツール、データ視覚化ツール、データアダプタツール、警報ツール、自動化ツールおよび／またはその他を含んでもよい。データ再フォーマットツールは、他のツールによる処理のために企業運営システムプラットフォームによって収集されるデータのデータフォーマットを再フォーマットすることもできる。データ変換ツールは、測定標準の間で企業運営システムプラットフォームによって収集される値を変換することもできる。データ集約ツールは、企業運営システムプラットフォームによって収集されたデータをグルーピングパラメータによって異なるデータセットで集約することもできる。グルーピングパラメータは、特定の時間期間（例えば、毎時間、毎日など）、エンティティノード、エンティティ構成要素、ユーザデバイスベンダー、ユーザデバイスモデルおよび／またはその他を含んでもよい。他の実施例において、グルーピングパラメータは、異なるレベルのエンティティ階層に対応する多数のデータセットでデータを集約するのに用いられてもよい。例えば、データは、デバイスレベル、サービス領域レベルおよび地理的市場レベルに対応するデータセットで集約することもできる。ＫＰＩ生成ツールは、１つ以上のデータソースからのデータに基づいてＫＰＩを生成するツールを含むが、多数のＫＰＩの分析に基づく包括的なＫＰＩまたは他のデータソースからのデータを有するＫＰＩを生成するツールも含むことができる。データ視覚化ツールは、チャート、グラフ、マップ、タイムラインおよび／またはその他の使用によるといった多数の方式でＫＰＩおよびデータレポートを見るのに用いられてもよい。
【００２５】
データアダプタツールは、第三者ソーシャルメディアソース、第三者ネットワークデータおよび／またはその他からのデータのような、企業運営システムプラットフォームにそうでなければ利用可能でない追加のデータソースに企業運営システムプラットフォームがアクセスするようにしてもよい。一部の例において、データアダプタツールは、構造化されたデータベースそれぞれにおいてデータの特定内容に関係なく構造化されたデータからデータを回収可能なデータ−認知不能（ａｇｎｏｓｔｉｃ）アダプタを含んでもよい。他の実施例において、データアダプタツールは、他のデータソース、様々なベンダー、多数のソフトウェアバージョンなどのためのデータアダプタを含んでもよいし、ここで、それぞれのデータアダプタは、データを１つのフォーマットから他のフォーマットに変換することもできる。警報ツールは、ＫＰＩトレンドおよび／またはその他のデータレポートを分析してエンティティでの異常成果パターンを検出するアプリケーションを含んでもよい。例えば、警報ツールは、予め決定された変化閾値を超える指定された時間期間にトレンドの増加や減少がある時、異常とＫＰＩトレンドを見なすこともできる。他の例において、警報ツールは、ＫＰＩトレンドが、時間によるＫＰＩの変化が他の関連づけられたＫＰＩが経験する変化のパターン内で合わない、すなわち、ＫＰＩの変化が予め決定された閾値だけ他の変化パターンから外れることを指示する時、ＫＰＩトレンドを異常と見なすこともできる。自動化ツールは、特定条件や変数の検出に応答して１つ以上の機能の成果を自動化することができる。例えば、自動化ツールは、異常ＫＰＩトレンドの検出に応答して、エンティティのデバイスや構成要素の機能を自動的に防止または遮断することもでき、エンティティの維持補修や修理機能をトリガーすることもできるなど可能である。他の例において、自動化ツールは、デバイスやエンティティの構成要素の運営を改善するために、他のツールによって生成される構成変更を自動的に実現することもできる。様々な実施例において、ツールは、新しいデータモデルをプラットフォーム１１８（１）のような企業運営システムプラットフォームに併合してもよい。
【００２６】
様々な実施例において、ツール１１０（１）〜１１０（２）は、相関されたツールであって、互いに相互動作するように開発されてもよい。それによって、仮想市場１０２は、企業運営システムプラットフォーム１１８（１）と連携してすでに使用中の１つ以上のツールに関する状況情報を保存することもできる。また、仮想市場１０２は、市場を介した獲得に利用可能なツール（例えば、ツール１１０（１）〜１１０（Ｎ）の状態データをさらに保存してもよい。例えば、各ツールの状態データは、ツールが新しいツールか、既存ツールの新しいバージョンか、またはツールが市場から利用可能か、または市場から回収されるかを指示することもできる。ツールの状態データは、ツールが依存する他のツールによって提供されるツール機能および／または入力データをさらに指示して、その処理機能を実行することもできる。代案的にまたは同時に、ツールの状態データは、ツールが生成可能な出力データおよび機能を指示することもできる。このように、企業運営システムプラットフォーム１１８（１）のエンドユーザ１１６が仮想市場１０２にアクセスする時、この市場は、プラットフォーム１１８（１）にすでに使用中のツール（例えば１２４）と入力または出力依存関係を有する１つ以上の関連するツールを示す双方向インターフェースを提示することもできる。例えば、入力依存が意味するのは、市場１０２を介して利用可能な関連するツールが機能またはデータをツール１２４に提供できるという点であり、出力依存関係が意味するのは、市場１０２を介して利用可能な関連するツールがツール１２４によって提供される機能やデータを用いることができるという点である。それによって、一部の例において、他の特定ツールに関して出力依存を有するプラットフォーム１１８（１）上で実現される新しいツールは、この特定ツールがプラットフォーム１１８（１）上で実現されなければ、機能しなくてもよいし、これは、新しいツールが依存するこの特定ツールによって提供される機能およびデータが利用可能でないはずであるからである。一部の実施例において、双方向インターフェースは、企業運営システムプラットフォーム１１８（１）によるディスプレイのために提示されてもよい。他の実施例において、双方向インターフェースは、顧客アプリケーションまたはウェブブラウザを介してエンドユーザ１１６にアクセス可能なウェブインターフェースポータルまたはアプリケーションインターフェースであってもよい。
【００２７】
それによって、エンドユーザ１１６が、ツール１２４と入力または出力依存関係を有する所望のツール１２６を見つけたと仮定すれば、エンドユーザ１１６は、関連するツール１２６を獲得することもできる。様々な実施例において、このような獲得は、双方向インターフェースを介した設定された価格での直接支払い、競売入札、逆競売入札などにより達成されてもよい。このような獲得取引が完了すると、エンドユーザ１１６は、プラットフォーム１１８（１）上での使用のために関連するツール１２６をダウンロードすることもできる。
【００２８】
同じく、エンドユーザ１２８は、エンティティ１３２から成果データを収集するためにコンピューティングデバイス１３０上で行われる企業運営システムプラットフォーム１１８（Ｎ）を用いていてもよい。さらに、企業運営システムプラットフォーム１１８（Ｎ）は、仮想市場１０２の運営者によって開発される独自の企業運営システムプラットフォームのコピーであってもよい。企業運営システムプラットフォーム１１８（Ｎ）は、ユーザによる使用のためにエンドユーザ１２８に運営者によって配布されていてもよい。そのような例において、エンドユーザ１２８は、エンティティ１３２の成果を分析するためにツール１３４のような１つ以上のツールを実行していてもよい。それによって、仮想市場１０２は、企業運営システム１１８（Ｎ）上ですでに実装された１つ以上のツールと依存関係を有する追加的なツール（例えば、ツール１３６）を推薦したり、その逆の場合も可能である。機能は、データをディスプレイし、データを分析し、データを集約し、データを変換し、データを再フォーマットし、および／またはその他動作するように呼び出されるアプリケーションプログラムインターフェース（ＡＰＩ）を提供することもできる。つまり、仮想市場１０２は、機能および／またはデータのための前提条件がすでに実現されたツールによって満たされるツールを推薦することもできる。代案的にまたは同時に、仮想市場１０２は、前提条件データおよび機能をすでに実現されたツールに提供可能なツールを推薦することもできる。それによって、エンドユーザ１２８が所望の追加的なツール１３６を見つけると、エンドユーザ１１６は、プラットフォーム１１８（Ｎ）上で実現のためにツール１２６をダウンロードすることもできる。
コンピューティングデバイス構成要素の例
【００２９】
図２は、エンティティの成果をモニタリングするためのツールのような、ツールを分配する仮想市場１０２の例における例示的な構成要素の概略図である。仮想市場１０２は、コンピューティングデバイス１０４によってホストされる市場エンジン２０２によって実現されてもよい。コンピューティングデバイス１０４は、通信インターフェース２０４、１つ以上のプロセッサ２０６およびメモリ２０８を含んでもよい。通信インターフェース２０４は、１つ以上のコンピューティングデバイス１０４がデータを他のネットワーク連結されたデバイスに送信し、これからデータを受信できるようにする無線および／または有線通信構成要素を含んでもよい。コンピューティングデバイス１０４は、ハードウェア２１０を介してアクセスされてもよい。ハードウェア２１０は、追加のユーザインターフェース、データ通信またはデータ保存ハードウェアを含んでもよい。例えば、ユーザインターフェースは、データ出力デバイス（例えば、視覚ディスプレイ、オーディオスピーカ）および１つ以上のデータ入力デバイスを含んでもよい。データ入力デバイスは、キーパッド、キーボード、マウスデバイス、ジェスチャを受け入れるタッチスクリーン、マイク、音声またはスピーチ認識デバイスおよび任意の他の適切なデバイスのうち１つ以上の組み合わせを含んでもよいが、これらに制限されない。
【００３０】
メモリ２０８は、コンピュータ保存媒体のようなコンピュータ−読取可能媒体を用いて実現されてもよい。コンピュータ−読取可能媒体は、少なくとも２つのタイプのコンピュータ−読取可能媒体、すなわち、コンピュータ保存媒体および通信媒体を含む。コンピュータ保存媒体は、コンピュータ−読取可能命令、データ構造、プログラムモジュールまたは他のデータのような情報の保存のための任意の方法や技術で実現される揮発性および不揮発性、脱着可能および非脱着可能媒体を含む。コンピュータ保存媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、高鮮明マルチメディア／データ保存ディスクまたはその他の光学保存、磁気カセット、磁気テープ、磁気ディスク保存またはその他の磁気保存デバイス、またはコンピューティングデバイスによるアクセスのための情報を保存するのに使用可能な任意のその他の非送信媒体を含むが、これらに制限されない。対照的に、通信媒体は、コンピュータ−読取可能命令、データ構造、プログラムモジュールまたは搬送波またはその他の送信メカニズムのような変調されたデータ信号でのその他のデータを具体化することもできる。
【００３１】
メモリ２０８は、市場エンジン２０２とデータストア２１２を保存することもできる。市場エンジン２０２は、ユーザアカウントモジュール２１４、開発者管理モジュール２１６、ツール検証モジュール２１８、テストデータ統合モジュール２２０、ツール管理モジュール２２２、取引モジュール２２４、およびインターフェースモジュール２２６を含んでもよい。このようなモジュールは、特定作業を実行したり、特定抽象データタイプを実現するルチン、プログラム命令、オブジェクトおよび／またはデータ構造を含んでもよい。
【００３２】
ユーザアカウントモジュール２１４は、エンドユーザ１１６および１２８のようなエンドユーザが顧客アカウント２２８を作るようにしてもよい。例えば、エンドユーザ１１６は、登録情報をコンピューティングデバイス１２２のようなコンピューティングデバイスを介してユーザアカウントモジュール２１４に提供することで、対応する顧客アカウントを構築することもできる。登録情報は、顧客名、顧客の住所、顧客の連絡情報、ログイン名、パスワードおよび／またはその他を含んでもよい。顧客アカウント２２８それぞれはまた、対応する顧客が取引に支払い払い戻しを受けるために提供していた１つ以上の金融口座のための口座アクセス情報を含んでもよい。取引は、仮想市場１０２からツール、イン・アプリアド・オン（ｉｎ−ａｐｐ  ａｄｄ−ｏｎｓ）および／またはツールサポートサービスの獲得を含んでもよい。様々な実施例において、ユーザアカウントモジュール２１４は、顧客アカウント２２８へのアクセスを制御する認可機能を提供することもできる。仮想市場１０２の環境で、ツールの獲得は、永久ライセンスまたは期間（ｔｅｒｍ）中にツールを用いるライセンスを購入することを指すこともある。
【００３３】
ユーザアカウントモジュール２１４は、各エンドユーザが用いた企業運営システムプラットフォームの設置時、使用のためにすでに実装されたツールに関する状況情報をさらに保存してもよい。ツールの状況情報は、状況情報データベース２３０に保存されてもよい。例えば、エンドユーザ１１６は、企業運営システムプラットフォーム１１８（１）を用いており、プラットフォームは、継続または周期的に企業運営システムプラットフォーム１１８（１）上で実装された１つ以上のツール（例えば、ツール１２４）に関する状況情報を自動的に伝送することもできる。代案的に、ユーザアカウントモジュール２１４は、状況情報のための企業運営システムプラットフォーム１１８（１）を周期的にポーリング（ｐｏｌｌ）することもできる。代案的に、企業運営システムプラットフォーム１１８（１）は、新しいツールや新しいバージョンのツールがプラットフォーム上で使用のために実装される時、ツールがプラットフォームから除去される時、および／またはプラットフォーム上で実装されたツールの運営状況がどんな方式でも変更される時、新しい情報をユーザアカウントモジュール２１４にプッシュすることもできる。次に、ユーザアカウントモジュール２１４は、１つ以上のツールに関する状況情報をエンドユーザ１１６のために保存することもできる。それぞれの企業運営システムプラットフォームのために収集および保存された状況情報は、企業運営システムプラットフォーム上で実装されたそれぞれのツールの識別情報、各ツールのための実装履歴、各実装されたツールのバージョン情報、各ツールのためのユーザログ情報、各ツールの総作動時間、各ツールによって提供される衝突およびエラーレポート、各ツールによって用いられるデータソースおよび／またはその他を含んでもよい。ユーザアカウントモジュール２１４は、データストア２１２の状況情報データベース２３０に状況情報を保存することもできる。追加の実施例において、ユーザアカウントモジュール２１４は、状況情報を用いて、特定運営システムプラットフォーム上で実装されるツールに関するレポート、このプラットフォーム上で実装されるツールの機能の重畳に関する統計、このプラットフォームの実装されたツールによって用いられるデータソースに関する統計および／またはその他を生成する分析機能を含んでもよい。
【００３４】
開発者管理モジュール２１６は、開発者サンドボックス１０６（１）〜１０６（Ｎ）へのソフトウェア開発者アクセスを管理することを担当することもできる。様々な実施例において、開発者サンドボックス１０６（１）〜１０６（Ｎ）は、コンピューティングデバイス１０４、第三者サーバおよび／またはクラウド上にあるサーバ上にホストされてもよい。開発者管理モジュール２１６は、ソフトウェア開発者１０８（１）〜１０８（Ｎ）のようなソフトウェア開発者が開発者アカウント２３２を作るようにしてもよい。ソフトウェア開発者は、登録情報をユーザデバイスを介して開発者アカウントモジュール２１６に提供することで、対応するソフトウェア開発者アカウントを構築することもできる。登録情報は、開発者名、企業名、企業の住所、企業の連絡情報、ログイン名、パスワードおよび／またはその他を含んでもよい。開発者アカウントは、ソフトウェア開発者が開発者サンドボックスにアクセスするようにしてもよい。例えば、無線通信エンティティのためのツールを開発するのに関心があるソフトウェア開発者は、無線通信エンティティのための開発者サンドボックスにアクセスすることもできる。開発者アカウントは、ソフトウェア開発者によって開発されたツールがエンドユーザによって獲得される時、このソフトウェア開発者が仮想市場１０２の運営者から支払いを受けるようにしてもよい。例えば、ソフトウェア開発者は、金融口座を開発者アカウントに連結することもでき、開発者アカウントから資金がこの口座の内外に振り替えられてもよい。一部の例において、開発者アカウントはまた、ソフトウェア開発者が開発者サンドボックスの使用のために１回にまたは定期的に料金を支払うようにしてもよい。開発者管理モジュール２１６はまた、開発者サンドボックス１０６（１）〜１０６（Ｎ）に対する開発者アクセスを追跡できるようにしてもよい。情報は、開発者サンドボックスに対する開発者アクセスのログ、異なる時間フレームにおける各ソフトウェア開発者の使用するコンピューティングリソースの量、開発されたツールバージョンとツールの身元情報および／またはその他を含んでもよい。ソフトウェア開発者がツールを開発したならば、ソフトウェア開発者は、ユーザデバイスを用いて開発者管理モジュール２１６にツールが検証のために提出されることを通知することもできる。様々な実施例において、開発者管理モジュール２１６は、開発者アカウント２３２に対するアクセスを制御する認可機能を提供することもできる。
【００３５】
ツール検証モジュール２１８は、ツールが仮想市場１０２を介した配布のために置かれる前に提出された当該ツールを検証することを担当することもできる。様々な実施例において、ツールは、テストデータおよびテストスイートのホストを含むテスト環境を用いて検証されてもよい。テスト環境それぞれは、特定タイプのエンティティ（例えば、無線通信事業者）に合わされてもよいし、エンティティの成果を評価するように、データまたはサービス配布および管理機能を実行するための制作環境をシミュレートするように設計されてもよい。テストデータの各セットがテストされるツールのバージョン、ツールの制作環境、テストされるツールを開発したソフトウェア開発者および／またはその他によって合わされてもよい。テスト環境のテストスイートおよびテストデータは、ツールがシミュレートされた条件のホスト下で適切に実行できることを検証するように設計される。例えば、コンピューティングデバイス１０４は、テスト環境２４０（１）〜２４０（Ｎ）をホストすることもできる。次に、テスト環境２４０（１）〜２４０（Ｎ）は、それぞれテストスイート２４２（１）〜２４２（Ｎ）およびテストデータ２４４（１）〜２４４（Ｎ）を含んでもよい。
【００３６】
テストデータは、ツールによって処理される未処理イベントおよび複雑なイベントを含んでもよい。未処理イベントは、簡単なイベントであるのに対し、複雑なイベントは、他のイベントの計算または集合である。未処理イベントは、通常、システムでセンサによって直接報告されるイベントである。複雑なイベントは、通常、未処理イベントおよび／または他の複雑なイベントからのデータを入力値として用いる計算である。例えば、未処理イベントは、特定時間における水ユーティリティの水配管の出力の増加であるのに対し、複雑なイベントは、この特定時間における隣接する水配管の減少出力と同時に起こる水配管出力の増加であってもよい。それによって、ツールは、ツールが１つ以上の基準を満たすテスト結果を生成する時に検証されたと見なされてもよい。
【００３７】
この基準は、テスト結果が予想された値と一致する、または予め決定された許容可能値の閾値内にあるものを含んでもよい。少なくとも一部の実施例において、テストされるツールによって生成されるテスト結果は、複雑なデータを含んでもよい。一つのシナリオにおいて、ツールのためのテスト結果は、テスト結果の各値がベンチマークツールによって生成される対応する値の予め決定された範囲内にある時、予想された結果と一致すると見なされてもよい。そのようなシナリオにおいて、ベンチマークツールは、ツールの前バージョンまたは仮想市場１０２の運営者が開発したツールであってもよい。この基準は、ツールが、予め決定された時間量内の正確なテスト結果を生成するもの、テスト中にツールによって用いられるコンピューティングリソースが予め決定された閾値より下のもの、ツールが、入力データまたはコンピューティングリソースの有する１つ以上のシミュレートされたエラーから復旧できるもの、および／またはその他をさらに含んでもよい。ツールが検証されると、ツール検証モジュール２１８は、配布のためのツールをリリースすることもできる。一つのシナリオにおいて、ツール検証モジュール２１８は、ツールの状態をプレリリース（例えば、ベータバージョン）から認証されたものに変化させることもできる。後続して、ツール検証モジュール２１８は、仮想市場１０２を介した配布のために認証されたツールをリリースすることもできる。
【００３８】
テストデータ統合モジュール２２０は、特定タイプのエンティティのための対応するテスト環境のテストデータに検証されたツールによって生成されるテスト結果を統合させることもできる。様々な実施例において、テスト結果は、複雑なデータを含んでもよい。追加の複雑なデータは、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび／またはツールのテストから生成されたその他のデータを含んでもよい。テスト結果の追加の複雑なデータは、テスト環境での他のツールを検証するのにさらに用いられてもよい。このように、テスト環境は、そうでなければ利用可能でなかったりシミュレートしにくい追加のテストデータが継続して供給されてもよい。しかし、テストデータ統合モジュール２２０は、検証に失敗したツールによって生成されるテスト結果を捨てることもできる。
【００３９】
追加の実施例において、テストデータ統合モジュール２２０は、制作環境でテストされているツールの予備テスト結果を、対応するテスト環境のテストデータにさらに統合することもできる。例えば、エンドユーザ１１６は、ツール１２４がエンティティ１２０の成果をどのように効果的に判定できるかを評価するために、企業運営システムプラットフォーム１１８（１）上のツール１２４をベータテストしていてもよい。ツール１２４は、テスト環境２４０（１）を用いて事前に検証されていてもよい。最上のテストの一部分として、ツール１２４は、予備テスト結果をテストデータ統合モジュール２２０に提供する遠隔レポート機能を含んでもよい。予備テスト結果は、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび／またはツールの予備テストから生成されたその他のデータを含んでもよい。それによって、テストデータ統合モジュール２２０は、予備テスト結果をテスト環境２４０（１）のテストデータ２４４（１）に統合することもできる。
【００４０】
ツール管理モジュール２２２は、ツール２３６（１）〜２３６（Ｎ）をツールストア２３８に保存することもでき、このツールストア２３８は、コンピューティングデバイス１０４上にまたは遠隔位置に常住することもできる。一部の例において、ツールは、仮想市場を介した配布のために検証されるものが新しいツールの時、ツール管理モジュール２２２によってツールストア２３８に置かれてもよい。他の例において、ツール管理モジュール２２２は、ツールストア２３８に保存される既存のツールを、ツールとしてこのツールが検証されたアップデートされたバージョンの時、入れ替えてもよい。様々な実施例において、ツール管理モジュール２２２は、配布されるツールが新しいバージョンまたはアップデートされたバージョンであるかを、ツール状態データベース２３４に保存されたデータに基づいて決定することもできる。それによって、ツールが配布を準備する時、ツール管理モジュール２２２は、ツール状態データベース２３４に質疑して、このツールが新しいツールか、既存のツールの新しいバージョンかを決定することもできる。一部の例において、ツール管理モジュール２２２はまた、ツールストア２３８からツールを除去することもでき、すると、ツール状態データベース２３４から除去されたツールの状態は、ツール管理モジュール２２２によってアップデートされてもよい。
【００４１】
それによって、ツール管理モジュール２２２は、ツールの変化によってツール状態データベース２３４におけるツール２３６（１）〜２３６（Ｎ）の状態データをアップデートすることもできる。ツール２３６（１）〜２３６（Ｎ）は、市場を介した獲得に利用可能なツールだけでなく、エンドユーザによってすでに獲得されており、様々な企業運営システムプラットフォーム上で実装されたツールを含んでもよい。例えば、ツールの状態データは、このツールが新しいツールか、既存のツールの新しいバージョンか、またはこのツールが市場で利用可能か、または市場から回収されるかを指示することもできる。このツールの状態データは、このツールが処理するように設計された入力データの前提条件タイプのみならず、ツールがその処理機能を実行するために依存する他のツールの前提条件ツール機能をさらに指示してもよい。このツールの状態データはまた、このツールによって生成される出力データだけでなく、このツールによって提供される機能を指示することもできる。一部の例において、ツールの状態データは、このツールの現在バージョンに対する満了日、現在バージョンのためのサポート日の計画された終了または関連づけられたソフトウェア開発者の運営状態（例えば、ソフトウェア開発者が営業中であるか）のような細部内容をさらに含んでもよい。
【００４２】
このように、エンドユーザが顧客アカウントで仮想市場１０２にアクセスする時、ツール管理モジュール２２２は、ツール推薦をエンドユーザに提供することもできる。様々な実施例において、ツール管理モジュール２２２は、企業運営システムプラットフォームでエンドユーザによってすでに使用中のツールの入力および出力機能とデータを決定することもできる。ツール管理モジュール２２２はまた、そのような情報をツール２３６（１）〜２３６（Ｎ）の入力および出力機能とデータと比較してもよい。それによって、ツール管理モジュール２２２は、企業運営システムプラットフォームですでに使用中のツールの機能および出力データを使用可能なツール２３６（１）〜２３６（Ｎ）のうち１つ以上の関連するツールを決定することができる。代案的にまたは同時に、ツール管理モジュール２２２は、企業運営システムプラットフォームですでに使用中のツールに入力データと機能を提供可能なツール２３６（１）〜２３６（Ｎ）のうち１つ以上の関連するツールも確認することができる。つまり、ツール管理モジュール２２２は、対応する企業運営システムプラットフォームでエンドユーザによってすでに使用中のツールに対する入力および／または出力依存を有する、関連するツールを確認することもできる。１つ以上の関連するツールは、双方向インターフェースを介してツール管理モジュール２２２によって提示されてもよい。双方向インターフェースはまた、価格、獲得方法および／またはエンドユーザが関連するツールそれぞれを獲得可能な獲得条件を提示することもできる。
【００４３】
追加の実施例において、ツール管理モジュール２２２はまた、そのようなツールが、対応する企業運営システムプラットフォーム上ですでに使用中のツールと入力または出力依存を有するかに関係なく、予め決定されたツールのリストを双方向インターフェースを介して提示することもできる。それによって、一つのシナリオにおいて、予め決定されたリストでのツールは、対応する企業運営システムプラットフォームですでに使用中のツールに何ら依存度を有さなくてもよい。そのような予め決定されたツールのリストは、仮想市場１０２で最も人気のあるツール、仮想市場１０２に最も新しく追加されたツール、仮想市場１０２で最も高いユーザ評点を有するツールおよび／またはその他でもよい。予め決定されたリストに示すツールは、入力および出力データと機能の前提条件、ユーザ評点、価格細部内容、支払い細部内容および／またはその他のような情報を伴ってもよい。
【００４４】
他の実施例において、ツール管理モジュール２２２はまた、対応する企業運営システムプラットフォーム上ですでに実装されたツールの新しいバージョンの利用可能性に関する通知を、エンドユーザに対する双方向インターフェースを介して提示することもできる。様々な例において、新しいバージョンに対する通知は、新しい特性、削除された特性、バグ修正、改善、アップグレード料金、新しいサポートポリシーおよび／またはその他のような細部内容を含んでもよい。しかし、そのような通知は、エンドユーザがアップグレードすることを望まなければ、エンドユーザに強制しないはずである。ツール管理モジュール２２２はまた、対応する企業運営システムプラットフォーム上でエンドユーザによって使用中のツールの現在バージョンに関する関連通知をたびたび提示することもできる。関連通知は、現在バージョンに対する満了日、現在バージョンのためのサポート日の終了または関連づけられたソフトウェア開発者の運営状態（例えば、ソフトウェア開発者が営業中であるか）のような細部内容をさらに含んでもよい。ツールの現在バージョンに対する関連通知は、しかも、このツールのアップデートされたバージョンがない際にも、双方向インターフェースを介して独立に提示されてもよい。一部の実施例において、双方向インターフェースを介して提示されるそれぞれのツールは、ユーザレビューと評点を伴ってもよい。ツールに対するユーザレビューは、双方向レビューインターフェースを介してエンドユーザによって提出されて、ユーザはこのツールの賛否に対するコメントを残すこともできる。ツールに対するユーザ評点は数値等級化されていてもよい。例えば、数値等級は、星評点等級（例えば、５つの星のうち４つ）、点数システム（例えば、１００点中９０点）、推薦比率等級（例えば、エンドユーザの８０％が推薦する）などであってもよい。ツールに対する評点双方向インターフェースは、エンドユーザがこのツールに全体的に評点を付けることもでき、および／またはこのツールの個別特性に評点を付けることもできる。
【００４５】
取引モジュール２２４は、仮想市場１０２からツールの獲得を処理することもできる。エンドユーザが推薦されたツールを獲得する準備がされた時、このエンドユーザは双方向インターフェースを介してこのツールの獲得を開始することもできる。様々な実施例において、このツールは、設定された価格での直接支払い、競売、逆競売および／またはその他の獲得方式により獲得することもできる。これに応答して、取引モジュール２２４は、獲得プロセスを開始することもできる。例えば、設定された価格での購入の場合に、取引モジュール２２４は、エンドユーザの金融口座からツールの購入のための支払いを得ることもできる。金融口座は、当座預金口座、普通預金口座、デビッドカード口座、クレジットカード口座、チャージカード口座、ギフトカード口座などのようなものであってもよい。
【００４６】
代案的に、購入価格は、エンドユーザが仮想市場１０２に保存したポイントやクレジットを通して部分的にまたは完全に支払われてもよい。一部の例において、ツールのための獲得価格は、市場条件によって設定されてもよい。例えば、獲得価格は、初期ツール獲得数に対してより低く設定されてもよい。しかし、獲得価格は、１つ以上の後続する獲得に対して徐々により高く設定されてもよい。他の例において、獲得価格は、特定値で初期に設定されてもよいし、この特定値は追加のユニットが販売されることで、時間の経過とともに徐々に減少する。代案的に、初期の獲得価格は、販売の割り当てが予め決定された時間期間内に満たされないことによって徐々に減少することもできる。追加の例において、ツールのための獲得価格は、このツールのベータテスタになると同意したエンドユーザのために割引されたり、０まで減少することもできる。
【００４７】
獲得が競売や逆競売により実行される他のシナリオにおいて、エンドユーザは、双方向インターフェースを介して取引モジュール２２４で入札プロセスを開始することもできる。次に、取引モジュール２２４は、仮想競売を実行することもでき、この仮想競売は、多数の入札者のうち誰が落札されたかを決定するために多数の電子入札者を伴う。後続して、取引モジュール２２４は、双方向インターフェースを介して落札されたエンドユーザに通知することもできる。このように、ツールの購入のための支払いは、その後、エンドユーザの金融口座から取引モジュール２２４によって得る。支払いが完了すると、取引モジュール２２４は、エンドユーザへのツールの配布を開始することもできる。一部の例において、取引モジュール２２４は、ツールがダウンロード可能なサーバ位置にリンクを提供することもできる。例えば、このリンクは、ウェブリンク、安全なファイル伝送プロトコル（ＦＴＰ）サーバへのリンクまたはこのツールがダウンロード可能な安全なファイル共有サイトへのリンクであってもよい。
【００４８】
しかし、代案的なシナリオにおいて、エンドユーザは、現在のツール提供がエンドユーザの特定の必要性を満足しないと決定することもできる。それによって、取引モジュール２２４は、提案に基づく入札を実行するために双方向インターフェースを提供することもできる。提案に基づく入札において、取引モジュール２２４は、エンドユーザがツールのための要請をできるようにする双方向インターフェースを提供することもできる。この要請は、このツールの機能、このツールの入力および出力データ、およびこのツールのための所望の価格を明示することもできる。次に、取引モジュール２２４は、ツール要請を多数の開発者に電子的に提示することもできる。例えば、取引モジュール２２４は、ウェブページ上にツール要請をポスティングすることもでき、ツール要請を電子メールを通して開発者に伝送したり、開発者に配布される他の形態の電子通信を生成することもできる。さらに、取引モジュール２２４は、開発者がツール要請の許容とツールのための納入時間を指示する開発者入札を提出するための双方向インターフェースを提供することもできる。後続して、取引モジュール２２４は、電子通知をエンドユーザに伝送して、エンドユーザは、取引モジュール２２４によって提供される双方向インターフェースを介して１つ以上の開発者入札をレビューすることもできる。開発者入札のレビューに続き、エンドユーザは、開発者入札のうち１つ以上を許容することもできる。エンドユーザが開発者の開発者入札を許容すると、顧客は、ツールが明示された納入時間内で顧客に納入されると、ツールの要請下で開発者によって提供されたこのツールをテストしなければならない。
【００４９】
開発者によってツールを仮想市場１０２に提出すると、取引モジュール２２４は、提出されたツールに対するエンドユーザ評価アクセスを許可することもできる。評価に続き、エンドユーザは、１つのツールの許容を指示する取引モジュール２２４に通知を伝送することもできる。取引モジュール２２４は、その後、所望の価格に基づいてツールのための取引を終わらせるために許容されたツールの開発者とエンドユーザを準備させることもできる。一部の例において、取引モジュール２２４は、エンドユーザがこの取引を終わらせる前に、開発されていた他のツールを許容しなかったことに対する理由を提供することを義務付けることもできる。後続して、取引モジュール２２４は、エンドユーザが開発者の評点を付け、その逆のためにも、双方向レビューインターフェースを提供することもできる。例えば、エンドユーザは、納入速度、納入されたツールの品質、連絡の迅速性および信頼度および／またはその他のような領域に関して開発者の評点を付けることもできる。次に、開発者は、連絡の迅速性および信頼度、ツール要請の妥当性、後続要請の妥当性および／またはその他のような領域に関してユーザの評点を付けることもできる。取引モジュール２２４に提供された評点は、数値等級化されていてもよい。例えば、数値等級は、星評点等級（例えば、５つの星のうち４つ）、点数システム（例えば、１００点中９０点）、推薦比率等級（例えば、エンドユーザの８０％が推薦する）などであってもよい。取引モジュール２２４は、提案に基づく入札に用いるための双方向インターフェース上でエンドユーザおよび／または開発者の評点をディスプレイすることもできる。
【００５０】
一部の例において、ツールのための支払いは、分割払い計画により履行されてもよい。そのような例において、ツールは、第１支払い時、企業運営システムプラットフォーム上で初期に実装されてもよい。後続して、このツールは、定期的に状態チェック要請メッセージを取引モジュール２２４に伝送して、このツールが企業運営システムプラットフォーム上で引き続き動作しているかを確認することもできる。それによって、取引モジュール２２４が、追加の支払いが分割払い計画によってエンドユーザから受け入れられたことを決定すれば、取引モジュール２２４は、引き続き運営応答メッセージをこのツールに伝送することもできる。そうでなければ、取引モジュール２２４は、運営終了応答メッセージをこのツールに伝送して、このツールが運営を中止するようにしてもよい。
【００５１】
取引モジュール２２４は、ツールを獲得したエンドユーザから収集した料金を、このツールを開発したソフトウェア開発者の金融口座にも分配することができる。このような分配は、運営者とソフトウェア開発者との間の予め用意された条件によって取引モジュール２２４によって実装されてもよい。一部の例において、予め用意された条件により、仮想市場１０２の運営者がソフトウェア開発者に補償として送金された料金の予め決定された比率を維持するようにしてもよい。他の例において、予め用意された条件により、運営者が、予め決定された初期のツール販売数に対して支払われた料金を維持することができ、ツールの後続する販売のための料金をソフトウェア開発者に分配するようにしてもよい。他の例において、予め用意された条件は、運営者が、多数の販売が時間期間に完了した後、各ツール販売のために送金された料金の予め決定された比率を維持するようにしてもよい。にもかかわらず、取引モジュール２２４は、運営者が仮想市場１０２を介して実行されたツール販売の少なくとも一部のための補償を受けるとすれば、集められた料金を他の方式に従ってソフトウェア開発者に分配することもできる。
【００５２】
それによって、取引モジュール２２４は、開発者が仮想市場１０２を介した分配のためのツールを提供する時、開発者が多数の請求方式のうち１つを選択するように促すこともできる。例えば、第１請求方式では、エンドユーザが使用のための定期的な（例えば、毎月）料金を支払うようにしてもよい。しかし、開発者は、新しいバージョンでツールを最新式に維持することを保証しない。第２請求方式の例において、エンドユーザは、１回料金のための企業ライセンスを購入してもよい。この請求方式で、開発者は、新しいバージョンでツールを最新式に維持することを保証しない。第３請求方式の例において、エンドユーザは、毎年維持補修料金のために毎年サポートされる企業ライセンスを購入するようにしてもよい。そのような方式で、開発者は、新しいバージョンでツールを最新式に維持するようにエンドユーザと契約するはずである。料金の分配と収集を容易にするために、取引モジュール２２４は、そのような目的のために構築された１つ以上の運営アカウント２４８を用いてもよい。
【００５３】
インターフェースモジュール２２６は、市場エンジン２０２の他のモジュールのための様々な双方向インターフェースを生成することもできる。一部の実施例において、インターフェースモジュール２２６は、企業運営システムプラットフォームと協力して、双方向インターフェースを提示することもでき、双方向インターフェースを用いてエンドユーザによって入力されるユーザ入力を受信することもできる。他の実施例において、インターフェースモジュール２２６によって生成される双方向インターフェースは、顧客ツールやウェブブラウザを介してエンドユーザ１１６にアクセス可能なアプリケーションインターフェースまたはウェブインターフェースポータルであってもよい。様々な実施例において、双方向インターフェースそれぞれは、ＨＴＭＬオブジェクト、スクリプトオブジェクト、カスケードスタイルシート（ＣＳＳ）オブジェクト、イメージオブジェクトおよび／またはその他の静的および／または動的オブジェクトを用いて構成されてもよい。
【００５４】
データストア２１２は、市場エンジン２０２の様々なモジュールによって受信および処理されるデータを保存することもできる。データストア２１２は、リレーショナルデータベース、オブジェクトデータベース、オブジェクト−リレーショナルデータベースおよび／またはキー−バリューデータベースのような１つ以上のデータベースを含んでもよい。データストア２１２に保存されるデータは、顧客アカウント２２８、状況情報データベース２３０、開発者アカウント２３２、ツール状態データベース２３４、レビューデータ２４６および運営アカウント２４８を含んでもよい。
例示的なユーザインターフェース
【００５５】
図３は、ツールを選択するための仮想市場の例示的な双方向インターフェースである。双方向インターフェースは、市場エンジン２０２のインターフェースモジュール２２６によってディスプレイされてもよい。双方向インターフェースは、エンドユーザが仮想市場１０２から利用可能なツールを見られるようにするだけでなく、仮想市場１０２を介してツールを獲得するようにしてもよい。例示的な双方向インターフェースは、カテゴリー別に利用可能なツールを示す双方向インターフェース３０２、および市場エンジン２０２によって推薦されたツールを示す双方向インターフェース３０２を含んでもよい。
【００５６】
双方向インターフェース３００は、エンドユーザが管理ツール市場１０２を介して利用可能なツールを検索するようにしてもよい。双方向インターフェース３００は、カテゴリー選択メニュー３０４を含んでもよい。カテゴリー選択メニュー３０４は、エンドユーザがツールの多数のカテゴリーを検索するようにしてもよい。少なくとも一つの実施例において、カテゴリーは、ツールが利用可能になる異なるタイプのエンティティに対応することもできる。エンドユーザがツールのカテゴリーを選択したならば、双方向インターフェース３００は、ドロップダウンメニュー（例えば、ドロップダウンメニュー３０６）のようなドロップダウンメニューを提供することもでき、このドロップダウンメニューは、ツールの多数のサブカテゴリーがこのカテゴリー内で利用可能であることを示す。様々な実施例において、多数のサブカテゴリーは、異なる成果評価機能を実行するツールの構成要素タイプに対応することもできる。それによって、エンドユーザがカテゴリーおよびサブカテゴリーを選択したならば、エンドユーザは、サーチオプション３０８を活性化してこのサブカテゴリーにあるツールをディスプレイすることもできる。各サブカテゴリーのツールは、整列またはフィルタリング基準に従って双方向インターフェースによってディスプレイされてもよい。例えば、ツールは、ツールが配置可能な位置（例えば、郵便番号、自治市、州または地域）によって整列されてもよい。他の例において、ツールは、レポートバグによってフィルタリングされ、双方向インターフェースは、レポートされたバグのないツールをディスプレイしたり、各ツールに対して報告されるバグの数に基づいて昇順または降順にツールをディスプレイしてもよい。また、ツールが選択されると、双方向インターフェースは、ツールが依存するデータ入力および機能、ツールによって生成されたデータ出力および機能、データ入力および出力を提供するＡＰＩおよび／またはデータアダプタおよび／またはその他のように、ツールに関連する情報をディスプレイすることもできる。また、他のフィルタリングまたは整列オプションは、エンドユーザが入力データまたは出力データのための特定データおよび／または機能前提条件別に、バージョンナンバー別に、ユーザ評点別におよび／またはその他にツールを見られるようにしてもよい。
【００５７】
双方向インターフェース３０２は、エンドユーザによって使用中の企業運営システムプラットフォーム上ですでに実装された１つ以上のツールに基づいて市場エンジン２０２によって推薦されるツールをエンドユーザにディスプレイすることもできる。双方向インターフェース３０２は、企業運営システムプラットフォーム上にすでにあるツールを示すセクション３１０を含んでもよい。一部の実施例において、セクション３１０は、各ツールに対するレビューオプション（例えば、レビューオプション３１２）をディスプレイして、エンドユーザは、ツールのレビューおよび／または評点を提供することもできる。また、他のエンドユーザによって提供される現在のレビューおよび／または評点情報は、セクション３１０によってディスプレイされてもよい。
【００５８】
双方向インターフェース３０２は、セクション３１４で推薦されたツールをさらに示すことができる。各ツールごとに、他のエンドユーザによって提供された現在のレビューおよび／または評点情報がセクション３１４によってディスプレイされてもよい。セクション３１４はまた、ツールのための異なる獲得オプションを示すことができる。例えば、入札オプション３１６は、競売または逆競売により獲得可能なツールに対して示されるのに対し、購入オプション３１８は、直接支払いにより獲得可能なツールに対して示されてもよい。他の双方向インターフェースは、ツールの状態の変化が起こる時、このツールの状態データをディスプレイする。一つのシナリオにおいて、新しいバージョンの利用可能性、新しく推薦されたツールの利用可能性、仮想市場１０２から対応する企業運営システムプラットフォーム上のエンドユーザによって用いられるツールの除去といった状態データが、エンドユーザが市場１０２にアクセスする時、双方向インターフェースを介して提供されてもよい。
例示的な運営
【００５９】
図４〜図６は、仮想市場１０２を実現する例示的なプロセス４００〜６００を示す。プロセス４００〜６００それぞれは、論理フロー図でブロックの集合として例示され、このフロー図は、ハードウェア、ソフトウェアまたはその組み合わせで実現可能な運営シーケンスを示す。ソフトウェアコンテクストで、ブロックは、１つ以上のプロセッサによって行われる時、言及した運営を実行する１つ以上のコンピュータ−読取可能保存媒体上に保存されるコンピュータ−実行可能命令を表示する。一般的に、コンピュータ−実行可能命令は、特定の機能を実現したり、特定の抽象データタイプを実現するルチン、プログラム、オブジェクト、構成要素、データ構造などを含む。運営が記載される順序は制限として解釈されてはならず、任意の数の記載したブロックは、任意の順におよび／または並列に組み合わされて、プロセスを実現することができる。議論のために、プロセス４００〜６００は、図１のアーキテクチャ１００を参照して記載される。
【００６０】
図４は、配布されうるツールのために仮想市場によってエンドユーザへの配布に利用可能なツールを選択的に提示するための例示的なプロセス４００のフロー図である。ブロック４０２で、市場エンジン２０２は、企業運営システムプラットフォーム１１８（１）のような企業運営システムプラットフォーム上で実装される１つ以上のツールを指示するストア状態情報を決定することもできる。企業運営システムプラットフォームは、仮想市場１０２の運営者によって配布されてもよい。様々な実施例において、市場エンジン２０２は、状況情報データベース２３０に保存される状況情報に基づいてそのような決定をすることもできる。状況情報は、それぞれの実装されたツールの識別情報、各ツールに対する実装履歴、それぞれの実装されたツールのバージョン情報、各ツールのためのユーザログ情報、各ツールの総作動時間、各ツールによって提供される衝突およびエラーレポートおよび／またはその他をさらに含んでもよい。一つのシナリオにおいて、１つ以上のツールは、エンティティの成果を決定するのに用いられるツールであってもよい。
【００６１】
ブロック４０４で、市場エンジン２０２は、企業運営システムプラットフォーム上で実装される各ツールによって処理されたり生成されるデータを確認することもできる。各ツールによって処理されたり生成されるデータは、ＫＰＩ、その他の成果インジケータ、データレポート、集約されたデータセット、再フォーマットされたデータ、収集されたデータおよび／またはその他を含んでもよい。市場エンジン２０２は、データストア２１２に保存されるツール状態データベース２３４に基づいてそのような決定をすることもできる。
【００６２】
ブロック４０６で、市場エンジン２０２は、企業運営システムプラットフォーム上で実装される１つ以上のツールによって使用されたり提供される機能を決定することもできる。この機能は、データ再フォーマット、データ変換、データ集約、データ相関、キー成果インジケータ（ＫＰＩ）の生成および／またはその他を含んでもよい。さらに、市場エンジン２０２は、データストア２１２に保存されるツール状態データベース２３４に基づいてそのような決定をすることもできる。
【００６３】
ブロック４０８で、市場エンジン２０２は、データや機能に基づいて企業運営システムプラットフォーム上で実装された１つ以上のツールと依存関係を有する１つ以上の関連づけられたツールを仮想市場１０２から推薦することもできる。様々な実施例において、入力依存関係は、市場を介して利用可能な関連づけられたツールが機能またはデータを企業運営システムプラットフォーム上で実装されたツールに提供可能な関係である。他方、出力依存関係は、市場１０２を介して利用可能な関連づけられたツールは、企業運営システムプラットフォーム上で実装されたツールによって提供される機能やデータを用いることができるという関係である。
【００６４】
ブロック４１０で、市場エンジン２０２は、１つ以上の推薦されたツールをエンドユーザに提示することもできる。様々な実施例において、市場エンジン２０２は、コンピューティングデバイス上でディスプレイされる双方向インターフェースを介して提示することもできる。例えば、市場エンジン２０２は、コンピューティングデバイス１２２上で双方向インターフェースを用いて追加的なツール１２６をエンドユーザ１１６に提示することもできる。
【００６５】
ブロック４１２で、市場エンジン２０２は、市場エンジン２０２によって推薦される関連づけられたツールのための獲得要請を受信することもできる。獲得要請は、コンピューティングデバイス（例えば、コンピューティングデバイス１２２）上の双方向ツールでエンドユーザ（例えば、エンドユーザ１１６）によって開示されてもよい。様々な実施例において、獲得要請は、支払いによりツールを獲得したり、競売によりツールに入札したり、一部の他の形態の値の交換によりツールを獲得する要請であってもよい。
【００６６】
決定ブロック４１４で、市場エンジン２０２は、獲得要請が許容できるかを決定することもできる。獲得要請は、この要請が直接または分割払い計画により購入価格を支払ったり支払うことを約束すること、競売で落札されることなどのように獲得のための１つ以上の許容基準を満足すれば、許容されてもよい。それによって、市場エンジン２０２が、獲得要請が許容できると決定すれば（決定ブロック４１４で「はい」）、プロセス４００は、ブロック４１６へ進んでもよい。
【００６７】
ブロック４１６で、市場エンジン２０２は、企業運営システムプラットフォーム上で実装のために関連づけられたツールを提供することもできる。様々な実施例において、市場エンジン２０２は、このツールをネットワーク１１４を介して企業運営システムプラットフォームに届けることもできる。例えば、市場エンジン２０２は、ツール１２６をネットワーク１１４を介して企業運営システムプラットフォーム１１８（１）に届けることもできる。しかし、市場エンジン２０２が、獲得要請が許容できないと決定すれば（決定ブロック４１４で「いいえ」）、プロセス４００は、ブロック４１８へ進んでもよい。ブロック４１８で、市場エンジン２０２は、獲得要請が許容されないことを指示する通知をエンドユーザ（例えば、エンドユーザ１１６）の双方向インターフェースに伝送することもできる。例えば、双方向インターフェースは、エンドユーザ１１６のコンピューティングデバイス１２２上にディスプレイされてもよい。
【００６８】
ブロック４２０で、市場エンジン２０２は、企業運営システムプラットフォームに関して少なくとも１つのツールでの状態変化を検出することもできる。様々な実施例において、ツールの状態変化は、ツールの実装、このツールの除去、このツールを新しいバージョンに入れ替えおよび／またはその他であってもよい。それによって、プロセス４００は、ブロック４０２に戻り、市場エンジン２０２は、この少なくとも１つのツールに関する状態情報を保存することもできる。
【００６９】
図５は、市場を介して配布されるツールの状態データで分散型ツールのための仮想市場をアップデートするための例示的なプロセス５００のフロー図である。ブロック５０２で、市場エンジン２０２は、仮想市場１０２を介して配布のためのツールを受信することもできる。様々な実施例において、このツールは、仮想市場１０２の運営者によって提供される開発者サンドボックスを用いてソフトウェア開発者によって開発されてもよい。このツールは、仮想市場１０２を介してリリースするために運営者によってさらに検証されてもよい。
【００７０】
ブロック５０４で、市場エンジン２０２は、このツールのツールタイプが新しいツールか、または既存のツールのアップデートされたバージョンかを決定することもできる。様々な実施例において、市場エンジン２０２は、ツール状態データベース２３４をサーチして、このツールのバージョンが存在するか、そうであれば、このツールの既存のバージョンがこのツールの現在バージョンとマッチングするかを決定するように実行することもできる。それによって、決定ブロック５０６で、市場エンジン２０２がこのツールが新しいツールであることを決定すれば、プロセス５００は、ブロック５０８へ進んでもよい。ブロック５０８で、市場エンジン２０２は、仮想市場１０２のツールストア２３８に新しいツールを保存することもできる。ブロック５１０で、市場エンジン２０２は、仮想市場１０２のツール状態データベース２３４に新しいツールの状態データを保存することもできる。ツールのための状態データは、ツールの識別情報、ツールが配布のために保存される時間と日付、ツールのバージョン番号、元のソフトウェア開発者の識別情報、ソフトウェア開発者の状態および／またはその他を含んでもよい。この状態データは、ツールの前提条件である入力データおよび機能だけでなく、このツールによって提供される出力データおよび機能をさらに指示することもできる。後続して、プロセス５００は、ブロック５１６へ直接進んでもよい。
【００７１】
決定ブロック５０６に戻り、市場エンジン２０２が、このツールが既存のツールのアップデートされたバージョンであることを決定すれば、プロセス５００は、ブロック５１２へ進んでもよい。ブロック５１２で、市場エンジン２０２は、ツールストア２３８に保存された既存のツールをこのツールのアップデートされたバージョンに入れ替えることもできる。ブロック５１４で、市場エンジン２０２は、ツール状態データベース２３４で既存のツールの状態データをアップデートすることもできる。様々な実施例において、状態データは、新しいバージョン番号、ツールの前提条件である任意の新しい入力データおよび機能だけでなく、ツールによって提供される任意の新しい出力データおよび機能および／またはその他を指示するようにアップデートされてもよい。
【００７２】
ブロック５１６で、市場エンジン２０２は、配布のために前に利用可能であったツールが仮想市場１０２から除去されるかを決定することもできる。様々な実施例において、このツールは、このツールの満了、このツールで前に見逃されていたバグやエラーの発見、運営者とソフトウェア開発者との間の配布契約の違反および／またはその他のような様々な理由から、市場１０２のソフトウェア開発者や運営者によって除去されてもよい。
【００７３】
それによって、決定ブロック５１８で、市場エンジン２０２がこのツールが除去されることを決定すれば（決定ブロック５１８で「はい」）、プロセス５００は、ブロック５２０へ進んでもよい。ブロック５２０で、市場エンジン２０２は、ツール状態データベース２３４に保存された除去済みの状態データをアップデートして、このツールが除去されたことを指示することもできる。しかし、市場エンジン２０２がこのツールが除去されないことを決定すれば（決定ブロック５１８で「いいえ」）、プロセス５００は、ブロック５０２に戻ることもできる。
【００７４】
図６は、分散型ツールのための仮想市場を介して配布のためのツールをテストして検証するための例示的なプロセス６００のフロー図である。ブロック６０２で、市場エンジン２０２は、仮想市場１０２を介して配布のために検証されるツールを受信することもできる。このツールは、仮想市場１０２の運営者が提供する開発者サンドボックスを用いて、ソフトウェア開発者が開発することもできる。ブロック６０４で、市場エンジン２０２は、未処理イベントおよび複雑なイベントのうち少なくとも１つを含むテストデータを用いるテスト環境でこのツールをテストすることもできる。テストは、ツールが機能するように設計されたと決定されるエンティティのエンティティタイプに具体的に合ったテスト環境（例えば、テスト環境２４０（１）を用いて実行されてもよい。このツールのテストは、追加的に複雑なデータを含むテスト結果を生成することもできる。様々な実施例において、この追加的に複雑なデータは、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび／またはこのツールのテストから生成されたその他のデータを含んでもよい。
【００７５】
ブロック６０６で、市場エンジン２０２は、テスト結果に基づいてこのツールが検証されたかを決定することもできる。様々な実施例において、このツールは、このツールが１つ以上の基準を満たすテスト結果を生成する時、検証されたと見なされてもよい。この基準は、テスト結果が予想された値と一致したり予め決定された許容可能値の閾値内にあるものを含んでもよい。この基準は、このツールが予め決定された時間量内で正確なテスト結果を生成するもの、テスト中にこのツールによって用いられるコンピューティングリソースが予め決定された閾値の下のもの、このツールがデータまたはコンピューティングリソースで１つ以上のシミュレートされたエラーから復旧できるものおよび／またはその他をさらに含んでもよい。
【００７６】
それによって、このツールがテスト結果に基づいて検証されなければ（決定ブロック６０８で「いいえ」）、プロセス６００は、ブロック６１０へ進んでもよい。ブロック６１０で、市場エンジン２０２は、このツールが認証されないという指示を提供することもできる。例えば、この指示は、コンピューティングデバイス上の双方向ユーザインターフェースを介してエンドユーザにディスプレイされてもよい。後続して、市場エンジン２０２は、このツールによって生成される追加の複雑なデータを捨てることもできる。しかし、このツールがテスト結果に基づいて検証されると（決定ブロック６０８で「はい」）、プロセス６００は、ブロック６１２へ進んでもよい。ブロック６１２で、市場エンジン２０２は、配布のために認証されたとこのツールを見なすこともできる。それによって、市場エンジン２０２は、仮想市場１０２のツールストア２３８にこのツールを保存し、このツールは、このツールを行う制作環境（例えば、企業運営システムプラットフォーム１１８（１）に配布されてもよい。
【００７７】
ブロック６１４で、市場エンジン２０２は、配布のために検証される追加的なツールをテストするためにこの追加の複雑なデータをテストデータに統合することもできる。様々な実施例において、特定タイプのツールのテストから生成された複雑なデータは、同一タイプの追加的なツールをテストするためにテストデータとして用いられてもよい。例えば、遠隔通信ネットワーク成果評価ツールのテストは、複雑なデータを生成することもできる。次に、複雑なデータは、ソフトウェア開発者によって提出される他の遠隔通信ネットワーク成果評価ツールを検証するために元のテストデータに統合されてもよい。
【００７８】
ブロック６１６で、市場エンジン２０２は、このツールが予備テストのために配布されるかを決定することもできる。そのような決定は、仮想市場１０２の運営者によって実装される設定に基づいて市場エンジン２０２が行ってもよい。それによって、市場エンジン２０２は、このツールが配布されると決定すれば（決定ブロック６１８で「はい」）、プロセス６００は、ブロック６２０へ進んでもよい。ブロック６２０で、市場エンジン２０２は、追加的なツールを検証するようにテストデータに保存するために予備テスト結果データを得ることもできる。様々な実施例において、この予備テスト結果データは、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび／またはこのツールのテストから生成されたその他のデータを含んでもよい。様々な実施例において、特定タイプのツールの予備テストから生成された複雑なデータは、同一タイプの追加的なツールをテストするためのテストデータとして用いられてもよい。例えば、ユーティリティ提供者成果評価ツールの予備テストは、複雑なデータを生成することもできる。次に、複雑なデータは、ソフトウェア開発者によって提出されるその他のユーティリティ提供者成果評価ツールを検証するために元のテストデータに統合されてもよい。
【００７９】
要約すれば、分散型ツールのための仮想市場は、企業運営システムプラットフォームと互換可能なツールを獲得する性能をエンドユーザに提供することもできる。ソフトウェア開発者は、ツールを販売するために、仮想市場を用いてエンドユーザに接近することもできる。他方で、仮想市場は、エンドユーザに便利な仮想ストアを提供して、エンドユーザが開発者と連絡して所望のツールを購入することもできる。仮想市場の運営者は、ツールが特定のガイドラインに従って機能することを保障するために検証テストを実行することもできる。ソフトウェア開発者とエンドユーザとの間の取引を容易にする媒体を提供する見返りとして、運営者は、各成果ツール獲得のための取引料金を請求することで収入を生成することもできる。
結論
【００８０】
要旨が構造的特性および／または方法動作で特定される言葉で記載されたとしても、添付した請求項に限定されるとの要旨は、必ずしも記載したかかる特定の特性または動作に制限されないことを理解されたい。むしろ、そのような特定の特性および動作は、請求項を実現する例示的な形態として開示されている。
【図１】
2019512812.tif 000003
【図２】
2019512812.tif 000004
【図３】
2019512812.tif 000005
【図４】
2019512812.tif 000006
【図５】
2019512812.tif 000007
【図６】
2019512812.tif 000008
【国際調査報告】
2019512812.tif 000009
2019512812.tif 000010
2019512812.tif 000011