(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-27
(45)【発行日】2022-01-19
(54)【発明の名称】企業環境での分散型ツールのための仮想市場
(51)【国際特許分類】
G06Q 30/02 20120101AFI20220112BHJP
G06Q 10/06 20120101ALI20220112BHJP
【FI】
G06Q30/02 480
G06Q10/06
(21)【出願番号】P 2018549883
(86)(22)【出願日】2017-03-22
(86)【国際出願番号】 US2017023610
(87)【国際公開番号】W WO2017165533
(87)【国際公開日】2017-09-28
【審査請求日】2020-03-16
(32)【優先日】2016-03-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517015753
【氏名又は名称】トゥプル,インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】タピア,パブロ
【審査官】石川 正二
(56)【参考文献】
【文献】米国特許出願公開第2015/0199182(US,A1)
【文献】米国特許出願公開第2013/0152047(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ-実行可能命令を保存する1つ以上の非一時的コンピュータ-読取可能媒体であって、
前記コンピュータ-実行可能命令は、実行されると1つ以上のプロセッサが:
エンドユーザの企業運営システムプラットフォーム上で実装される、分散型ツールの仮想市場によって配布される1つ以上のツールを決定する動作(前記企業運営システムプラットフォームは、前記分散型ツールの仮想市場の運営者によって前記エンドユーザに提供される);
前記企業運営システムプラットフォーム上で実装される前記1つ以上のツールによって処理されたり生成されるデータを確認する動作(前記1つ以上のツールは、エンティティの成果を評価するのに用いられるツールを含む);
前記企業運営システムプラットフォーム上で実装される前記1つ以上のツールによって使用されたり提供される機能を決定する動作;および
前記企業運営システムプラットフォーム上で実装される前記1つ以上のツールと少なくとも1つの依存関係を有する、前記分散型ツールの仮想市場からの1つ以上の関連づけられたツールの推薦を提供する動作を含む動作を実行させる、1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項2】
前記提供する動作は、前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェース上のディスプレイのために推薦される前記1つ以上の関連づけられたツールを提供する動作を含み、前記双方向インターフェースは、ツールカテゴリー、ツールサブカテゴリー、ツールタイプ、ツールバージョン、ツール配置位置、報告されたバグまたは依存関係タイプのうち少なくとも1つによる前記1つ以上の関連づけられたツールのフィルタリングのためのオプションを含む、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項3】
関連づけられたツールの少なくとも1つの依存関係は、前記関連づけられたツールがデータをツールに提供することができ、前記ツールによって生成されるデータを用いることができ、機能をツールに提供することができ、またはツールによって提供される機能を用いることができることを含む、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項4】
前記動作は:
前記企業運営システムプラットフォーム上での実装のための関連づけられたツールのための獲得要請を受信する動作(前記獲得要請は、前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェースに由来し、前記獲得要請は、支払い、競売入札または逆競売入札を含む);
前記獲得要請が1つ以上の許容基準を満たすことを決定することに応答して、前記企業運営システムプラットフォーム上の実装のための前記関連づけられたツールを提供する動作;
前記獲得要請が1つ以上の許容基準を満たすのに失敗することを決定することに応答して、前記関連づけられたツールのための獲得要請が許容されないという指示を伝送する動作をさらに含む、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項5】
許容基準は、分割(installment)払い計画を満たすことを含み、前記動作は:
前記企業運営システムプラットフォーム上の実装に続き、前記関連づけられたツールから状態チェック要請メッセージを受信する動作(前記状態チェック要請メッセージは、前記関連づけられたツールが前記企業運営システムプラットフォーム上で引き続き行われるかを確認することを要請する);および
追加の支払いが前記分割払い計画によって前記エンドユーザから受信されたことを決定することに応答して、引き続き運営応答メッセージを前記関連づけられたツールに伝送する動作をさらに含む、請求項4に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項6】
ツールまたは関連づけられたツールが、データ再フォーマットツール、データ変換ツール、データ相関ツール、キー成果インジケータ(KPI:Key Performance Indicator)生成ツール、データ視覚化ツール、多数のデータソースからデータを得るためのデータアダプタツールまたは警報ツールのうち1つである、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項7】
前記動作は、ツールが前記企業運営システムプラットフォーム上で実装されることを指示する前記企業運営システムプラットフォームから状態情報を受信する動作をさらに含み、前記状態情報は、前記ツールの識別情報、前記ツールの実装履歴、前記ツールのバージョン情報、前記ツールのユーザログ情報、前記ツールの総作動時間、前記ツールによって提供される衝突(crash)およびエラー報告のうち少なくとも1つを指示する、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項8】
前記動作は:
前記分散型ツールの仮想市場に関するツールの状態変化をアップデートする動作(前記状態変化は、配布のための新しいツールを受信すること、配布のための前記ツールの新しいバージョンを受信すること、前記ツールのためのサポート日の計画された終了または前記分散型ツールの仮想市場を介した配布から前記ツールを除去することを含む);および
前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェースを介して前記状態変化の通知を前記エンドユーザに提供する動作をさらに含む、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項9】
前記動作は、
ツールまたは関連づけられたツールのためのレビューまたは評点(rating)のうち少なくとも1つを受信する動作;および
前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェース上のディスプレイのために前記ツールのレビューまたは評点のうち少なくとも1つを提供する動作をさらに含む、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項10】
前記エンティティは、遠隔通信サービスを加入者に提供する無線通信事業者、ユーティリティサービスを顧客に提供するユーティリティ会社または金融サービスを顧客に提供する金融会社である、請求項1に記載の1つ以上の非一時的コンピュータ-読取可能媒体。
【請求項11】
コンピュータ-実装の方法であって、
エンドユーザの多数のユーザデバイス上の企業運営システムプラットフォームに分散型ツールの仮想市場を介して配布するためにソフトウェア開発者によって提出されるツールを受信する段階(前記ツールは、エンティティの成果を評価するのに用いられ、前記企業運営システムプラットフォームは、前記分散型ツールの仮想市場の運営者によって前記多数のエンドユーザに提供される);
前記エンティティのエンティティタイプに対応するテスト環境を介して前記ツールを検証する段階(前記テスト環境は、前記エンティティタイプに合わされたテストデータおよびテストスイート(suite)を含み、前記テストデータは、複雑なイベントの集合である複雑なイベントおよび未処理イベントを含む);
前記ツールが検証されることを決定することに応答して、認証されたツールとして前記
仮想市場を介して配布するために前記ツールを提供する段階;および
前記ツールが検証されないことを決定することに応答して、前記ツールが認証されないという指示を提供する段階を含む、コンピュータ-実装の方法。
【請求項12】
前記ツールを検証する段階は、複雑なデータを含むテスト結果を生成し、
前記ツールが検証されることを決定することに応答して、前記複雑なデータを前記テストデータに統合し、前記テストデータを用いて、前記エンティティタイプのエンティティの成果を評価するのに用いられる追加的なツールを検証する段階;および
前記ツールが検証されないことを決定することに応答して、前記ツールの検証から生成される前記複雑なデータを捨てる段階をさらに含む、請求項11に記載のコンピュータ-実装の方法。
【請求項13】
前記テストデータは、前記ツールの特定バージョン、前記ツールのソフトウェア開発者または前記ツールの制作環境のうち少なくとも1つにさらに合わされ、ツールは、少なくとも検証中に前記ツールによって生成されるテスト結果が予想された結果と一致したり予め決定された許容可能値の閾値内にある時に検証されたと決定される、請求項11に記載のコンピュータ-実装の方法。
【請求項14】
前記ツールのための予備テスト結果を得る段階;および
前記予備テスト結果を前記テストデータに統合し、前記テストデータを用いて、前記エンティティタイプのエンティティの成果を評価するのに用いられる追加的なツールを検証する段階をさらに含む、請求項11に記載のコンピュータ-実装の方法。
【請求項15】
システムであって、
1つ以上のプロセッサ;および
多数の動作を実行するように前記1つ以上のプロセッサによって実行可能な多数のコンピュータ-実行可能構成要素を含むメモリを含み、前記多数の動作は:
エンドユーザの企業運営システムプラットフォーム上で実装される、分散型ツールの仮想市場によって配布される1つ以上のツールを決定する動作(前記企業運営システムプラットフォームは、前記分散型ツールの仮想市場の運営者によって前記エンドユーザに提供される);
前記企業運営システムプラットフォーム上で実装される前記1つ以上のツールによって処理されたり生成されるデータを確認する動作(前記1つ以上のツールは、エンティティの成果を評価するのに用いられる);
前記企業運営システムプラットフォーム上で実装される前記1つ以上のツールによって使用されたり提供される機能を決定する動作;および
前記1つ以上のツールと少なくとも1つの依存関係を有する、前記仮想市場からの1つ以上の関連づけられたツールの推薦を提供する動作;
前記企業運営システムプラットフォーム上での実装のための関連づけられたツールのための獲得要請を受信する動作(前記獲得要請は、前記エンドユーザのコンピューティングデバイス上で実装されるユーザアプリケーションの双方向インターフェースに由来し、前記獲得要請は、支払い、競売入札または逆競売入札を含む);
前記獲得要請が1つ以上の許容基準を満たすことを決定することに応答して、前記企業運営システムプラットフォーム上の実装のために前記関連づけられたツールを提供する動作;
前記獲得
要請が1つ以上の許容基準を満たすのに失敗することを決定することに応答して、前記関連づけられたツールのための獲得要請が許容されないという指示を伝送する動作を含む、システム。
【発明の詳細な説明】
【背景技術】
【0001】
アプリケーションまたはデータ形態のツールは、運営目標が効率的に満たされることを保障するために、エンティティの成果を評価したりエンティティの成果の評価を補助するといった多くの機能を実行するのに用いられたりする。一部の例において、エンティティは、移動通信サービスをエンドユーザに提供する無線事業者ネットワークのようなネットワークを含んでもよい。他の例において、エンティティは、ユーティリティサービスを商業および一般住宅顧客に提供するユーティリティ会社または金融サービスを顧客に提供する金融会社のようなシステムを含んでもよい。そのようなツールは、エンティティの成果問題を検出し診断して予想されるレベルのサービスを維持するのに用いられてもよい。ツールは、エンドユーザメトリックスとリソースメトリックスのような多数セットの成果メトリックスをモニタリングすることもできる。エンドユーザメトリックスは、エンティティのエンドユーザが経験した成果を測定することもできる。リソースメトリックスは、リソースの不十分さと成果の滞りを識別するために、作業負荷下にあるエンティティによって用いられる計算またはその他のリソースを測定することもできる。
【0002】
一部のツールは、企業運営システムプラットフォーム上で行われるように構成されてもよい。企業運営システムプラットフォームは、ツールを実行したり実装するための環境を提供することもできる。また、企業運営システムプラットフォームは、ソフトウェアエージェントの使用によりエンティティから成果データを抽出することを担当することもできる。例えば、エンティティが無線事業者ネットワークであるシナリオにおいて、企業運営システムプラットフォームは、ユーザデバイスとコアネットワーク機能をモニタリングしてエンティティに対する成果データを得るソフトウェアエージェントとインターフェースすることもできる。
【図面の簡単な説明】
【0003】
詳細な説明は、添付した図面を参照して記載する。図面において、参照番号の最左の数字はこの参照番号が最初に示される図面を識別させる。相異なる図面において、同一の参照番号は類似または同一のものを指し示す。
【0004】
【
図1】
図1は、分散型ツールのための仮想市場の様々な実施例を実現するためのアーキテクチャの概略図である。
【0005】
【
図2】
図2は、ツールを配布する、分散型ツールのための仮想市場の例における例示的な構成要素の概略図である。
【0006】
【
図3】
図3は、ツールを選択するための、分散型ツールのための仮想市場の例示的な双方向インターフェースである。
【0007】
【
図4】
図4は、エンドユーザによって使用中の企業運営システムプラットフォーム上における、現在実装されたツールに基づいてツールのディスプレイを合わせるための例示的なプロセスのフロー図である。
【0008】
【
図4】
図4は、分散型ツールのための仮想市場によってエンドユーザへの配布に利用可能なツールを選択的に提示するための例示的なプロセスのフロー図である。
【0009】
【
図5】
図5は、仮想市場を介して配布されたツールの状態データで分散型ツールのための仮想市場をアップデートするための例示的なプロセスのフロー図である。
【0010】
【
図6】
図6は、分散型ツールのための仮想市場を介した配布のためにツールをテストし検証するための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【0011】
本開示は、ソフトウェア開発者がエンドユーザへの配布のためのツールを提出できるようにする、分散型ツールのための仮想市場の実現に関する。ツールは、様々な機能を実行するように企業運営システムプラットフォームを有する企業環境で用いるために設計される。一部のシナリオにおいて、ツールは、成果管理アプリケーション、成果管理データを処理するアプリケーション、成果ツールを運営させるユーティリティおよびその他のソフトウェア(例えば、データプラグイン(plugins))、および成果管理を容易にする任意の他のアプリケーションによって共通に用いられる一般ユーティリティを含んでもよい。分散型ツールのための仮想市場は、エンティティの成果評価を提供するといった、多数の機能を実行するツールを配布する仮想ストアである。一部の例において、エンティティは、移動通信サービスをエンドユーザに伝達する無線事業者ネットワークのようなネットワークを含んでもよい。他の例において、エンティティは、ユーティリティサービスを商業および家庭顧客に提供するユーティリティ会社または金融サービスを顧客に提供する金融会社のようなシステムを含んでもよい。これらのシナリオにおいて、ツールは、エンティティの成果を評価するのに関連する様々な機能を実行するソフトウェアアプリケーションを含んでもよいし、そのような機能は、データ再フォーマット、データ変換、データ集約、データ相関、キー成果インジケータ(KPI)の生成および/またはその他を含んでもよい。他のシナリオにおいて、ツールは、企業環境のための他のサービスおよびデータを配布したり管理するアプリケーションを含んでもよい。
【0012】
分散型ツールのための仮想市場はまた、企業運営システムプラットフォームの設置をエンドユーザに配布する運営者によって運営されてもよい。企業運営システムプラットフォームは、ツールを実行するための運営システム環境を提供することもできる。一部の例において、企業運営システムプラットフォームは、キー成果インジケータ(KPI)の計算または集約、警報生成、共通データモデルの実装、ユーティリティアプリケーションの開発と維持補修および/またはその他のようなサービスを提供することもできる。他の例において、企業運営システムはまた、ソフトウェアエージェントの使用によりエンティティから成果データを抽出するためのデータ収集機能を実行することもできる。それによって、ツールが分散型ツールのための仮想市場を介して配布する資格を有するためには、市場の運営者は、このツールのためのツールテストおよび認証プロセスを実現することもできる。ツールテストおよび認証プロセスは、このツールが運営システム環境で現在機能することができ、明示された成果モニタリング機能を実行できることを保障するように設計される。
【0013】
様々な実施例において、ツールは、独立型ツールとして動作するよりは相関されたツールとして互いに相互作用するように開発されてもよい。一つのシナリオにおいて、第1ツールは、多数のソースからデータを集約するように開発されるのに対し、第2ツールは、集約されたデータからKPIを生成するように設計されてもよい。そのようなシナリオにおいて、第2ツールによって生成されるKPIを追加のソースからの成果データと相関させて包括的な成果インジケータを生成する第3ツールがあってもよい。他のシナリオにおいて、第1ツールは、1セットのKPIに関する分析を生成することもできる。後続して、第2ツールは、第1ツールによって生成される分析を利用して、ネットワーク上で実現される特定プロセスを改善するための計画を作ることもできる。第3ツールは、第2ツールからの計画を利用して、ネットワークに関する変更を実行して特定プロセスを最適化することもできる。それによって、顧客アカウントによって使用中の企業運営システムプラットフォームの各設置のために、分散型ツールのための仮想市場は、このプラットフォームと連携してすでに使用中のツールに関する状況情報を保存することもできる。
【0014】
また、分散型ツールのための仮想市場は、市場を介した獲得に利用可能なツールの状態データをさらに保存してもよい。例えば、ツールの状態データは、このツールが新しいツールか、既存のツールの新しいバージョンか、このツールが市場で利用可能か、または市場から回収されたものかを指示することもできる。ツールの状態データは、ツールの処理機能を実行するために、このツールが依存する他のツールによって提供されるツール機能および/または入力データをさらに指示することもできる。代案的にまたは同時に、ツールの状態データは、ツールが生成可能な出力データおよび機能を指示することもできる。このように、エンドユーザが顧客アカウントに分散型ツールのための仮想市場にアクセスする時、市場は、依存関係を有する1つ以上の関連するツールをエンドユーザがすでに使用中のツールに提示することもできる。依存関係は、1つのツールが他のツールによって提供される機能やデータを使用可能な入力依存、または1つのツールが他のツールによって使用される機能やデータを提供可能な出力依存であってもよい。依存関係は、ツールのバージョンまたはツールのデータフォーマットに関する依存として自らを現してもよい。他の依存関係は、最初はデータの利用可能性として自らを現してもよい。例えば、ツールは、特定KPIソースにアクセスを提供するデータプラグインに依存することもできる。このように、エンドユーザは、エンドユーザの成果管理性能を改善するために最も新しく利用可能なツールを最新状態に維持することもできる。
【0015】
ソフトウェア開発者は、分散型ツールが、ツールを開発してテストするために仮想市場の運営者によって提供される開発者サンドボックスを用いることもできる。開発者サンドボックスは、新しいソフトウェアコードを制作環境および/またはその他の開発環境から隔離するソフトウェアコード開発環境である。開発者サンドボックスは、エンティティのタイプに特定されてもよい。例えば、無線通信事業者であるエンティティのための開発者サンドボックスは、水ユーティリティサービス提供者であるエンティティのための開発者サンドボックスと異なってもよい。開発者サンドボックスそれぞれは、開発中のツールによって処理するためのシミュレートされたデータを提供することもできる。開発者サンドボックスの使用は、開発されたツールが企業運営システムプラットフォームと十分に互換可能であり、ソフトウェアバグの修正を保障することもできる。
【0016】
ツールが、分散型ツールのための仮想市場の運営者にソフトウェア開発者によって提出されると、運営者はテスト環境を用いてこのツールを検証することもできる。様々な実施例において、テスト環境は、ツールによって処理される未処理イベントおよび複雑なイベント形態のテストデータを含んでもよい。それによって、ツールは、ツールが予想される結果と一致したり予め決定される許容可能値の閾値内にあるテスト結果を生成する時、検証されたと見なされてもよい。後続して、ツールはリリースされてもよい。すなわち、分散型ツールのための仮想市場を介した配布に利用可能になってもよい。エンドユーザによる使用のためのツールの配布は、エンドユーザがツールを用いるライセンスや権利を購入することを伴ってもよい。このような購入は、多数の方式および支払い条件のうち1つの下で実行されてもよいし、ここで、方式は、設定された価格での直接支払い、競売、逆競売などを含んでもよい。
【0017】
一部の実施例において、エンティティのためのツールのそれぞれの成功的な検証から得たテスト結果は、同一タイプのエンティティのためのツールの後続する検証を実行するためにテストデータに統合されてもよい。他の実施例において、エンティティのためのツールの予備テストからのテスト結果はまた、同一タイプのエンティティのためのツールの後続するツール検証を実行するためにテストデータに統合されてもよい。このように、テスト環境は、そうでなければ利用可能でなかったりシミュレートしにくい追加のテストデータが継続して供給されてもよい。
【0018】
分散型ツールのための仮想市場は、企業運営システムプラットフォームと互換可能なツールを獲得する性能をエンドユーザに提供することもできる。ソフトウェア開発者は、ツールを配布するために、分散型ツールのための仮想市場を用いてエンドユーザに接近することもできる。他方で、分散型ツールのための仮想市場は、エンドユーザに便利な仮想ストアを提供して、エンドユーザは開発者と連絡して所望のツールを購入することもできる。分散型ツールのための仮想市場の運営者は、ツールが特定のガイドラインに従って機能することを保障するために検証テストを実行することもできる。ソフトウェア開発者とエンドユーザとの間の取引を容易にする媒体を提供する見返りとして、運営者は、各成果ツール獲得のための取引料金を請求することで収入を生成することもできる。本明細書に記載の技術は多様な方式で実現されてもよい。実現例は、次の
図1~
図6を参照して以下に提供される。
例示文献
【0019】
図1は、分散型ツールのための仮想市場102の様々な実施例を実現するための例示的なアーキテクチャ100の概略図である。仮想市場102は、1つ以上のコンピューティングデバイス104上で行われてもよい。コンピューティングデバイス104は、デスクトップコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、サーバまたは入力を受信することができ、入力を処理することができ、出力データを生成することができるその他の電子デバイスのような汎用コンピュータを含んでもよい。他の実施例において、コンピューティングデバイス104は、仮想マシンとソフトウェアコンテナのようにコンピューティングノード形態の仮想コンピューティングデバイスであってもよい。コンピューティングデバイス104は、仮想市場102の運営者によって制御されてもよい。仮想市場102は、仮想ストアであってもよいし、ここで、ソフトウェア開発者は、配布のためのツールを提出することもでき、エンドユーザは、金銭支払いまたはその他の補償をソフトウェア開発者に提供することでツールを獲得することもできる。
【0020】
コンピューティングデバイス104は、仮想市場102の運営者によって提供される開発者サンドボックス106(1)~106(N)をさらにホストすることもできる。それぞれの開発者サンドボックスは、新しいソフトウェアコードを制作環境から隔離するソフトウェアコード開発環境である。開発者サンドボックスは、特定タイプのエンティティに特定されてもよい。例えば、無線通信事業者であるエンティティのための開発者サンドボックスは、水ユーティリティサービス提供者であるエンティティのための開発者サンドボックスと異なってもよい。一例示的なシナリオにおいて、ソフトウェア開発者108(1)~108(N)は、開発者サンドボックス106(1)~106(N)と相互動作して、ツール110(1)~110(N)を開発することもできる。ソフトウェア開発者108(1)~108(N)は、ユーザデバイス112(1)~112(N)上のソフトウェア開発ツールを用いて、ネットワーク114を介して開発者サンドボックス106(1)~106(N)にアクセスすることもできる。ネットワーク114は、近距離ネットワーク(LAN)、広帯域ネットワーク(WAN)のようなより広いネットワークまたはインターネットのようなネットワークの集合であってもよい。それによって、開発者サンドボックス106(1)~106(N)は、ソフトウェア開発者108(1)~108(N)によってツール110(1)~110(2)のためのソフトウェアコードを生成してテストするように用いられてもよい。ソフトウェア開発者がツールの成果に満足すると、ソフトウェア開発者は、ツールを仮想市場102に提出することもできる。
【0021】
仮想市場102の運営者は、テスト環境を用いて、ツール110(1)のような提出されたツールを検証することもできる。様々な実施例において、テスト環境は、ツールによって処理される未処理イベントおよび複雑なイベント形態のテストデータを含んでもよい。それによって、ツールは、ツールが予想される結果と一致したり予め決定される許容可能値の閾値内にあるテスト結果を生成する時、検証されると見なされてもよい。後続して、ツール110(1)はリリースされてもよい。すなわち、仮想市場102を介した配布のために利用可能になってもよい。
【0022】
アーキテクチャ100にさらに示すように、エンドユーザ116は、企業運営システムプラットフォーム118(1)を用いて、エンティティ120から成果データを収集することもできる。企業運営システムプラットフォーム118(1)は、仮想市場102の運営者によって開発される独自の企業運営システムプラットフォームのコピーであってもよい。企業運営システムプラットフォーム118(1)は、使用のためにエンドユーザ116に運営者によって前に配布されていてもよい。企業運営システムプラットフォーム118(1)は、コンピューティングデバイス122のような1つ以上のコンピューティングデバイス上で行われてもよい。1つ以上のコンピューティングデバイス122は、デスクトップコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、サーバ、または入力を受信することができ、入力を処理することができ、出力データを生成することができるその他の電子デバイスのような汎用コンピュータを含んでもよい。他の実施例において、コンピューティングデバイス104は、仮想マシンとソフトウェアコンテナのようにコンピューティングノード形態の仮想コンピューティングデバイスであってもよい。
【0023】
様々な実施例において、企業運営システムプラットフォーム118(1)は、ソフトウェアエージェントを用いてエンティティ120の様々なデバイス、構成要素、ノードおよび/またはサービスから成果データを収集することもできる。収集されたデータは、その後、ツール124のような1つ以上のツールによって処理される。1つ以上のツールは、企業運営システムプラットフォーム118(1)によって提供される運営システム環境で行われてもよい。一部の実施例において、1つ以上のツールは、企業運営システムプラットフォーム118(1)と連携して1つ以上のコンピューティングデバイス122上で実装されていてもよい(例えば、設置、分配、処理などがされていてもよい)。他の実施例において、1つ以上のツールは、ネットワーク114を介してコンピューティングデバイス122にダウンロードされていてもよいし、企業運営システムプラットフォーム118(1)上で実装されていてもよい。ツールそれぞれは、エンティティ120の成果を評価するのと関連する機能のような様々な機能を実行することもできる。しかし、他の例において、ツールは、企業環境のためにその他のサービスとデータを配布したり管理することもできる。
【0024】
ツールは、データ再フォーマットツール、データ変換ツール、データ集約ツール、データ相関ツール、KPI生成ツール、データ視覚化ツール、データアダプタツール、警報ツール、自動化ツールおよび/またはその他を含んでもよい。データ再フォーマットツールは、他のツールによる処理のために企業運営システムプラットフォームによって収集されるデータのデータフォーマットを再フォーマットすることもできる。データ変換ツールは、測定標準の間で企業運営システムプラットフォームによって収集される値を変換することもできる。データ集約ツールは、企業運営システムプラットフォームによって収集されたデータをグルーピングパラメータによって異なるデータセットで集約することもできる。グルーピングパラメータは、特定の時間期間(例えば、毎時間、毎日など)、エンティティノード、エンティティ構成要素、ユーザデバイスベンダー、ユーザデバイスモデルおよび/またはその他を含んでもよい。他の実施例において、グルーピングパラメータは、異なるレベルのエンティティ階層に対応する多数のデータセットでデータを集約するのに用いられてもよい。例えば、データは、デバイスレベル、サービス領域レベルおよび地理的市場レベルに対応するデータセットで集約することもできる。KPI生成ツールは、1つ以上のデータソースからのデータに基づいてKPIを生成するツールを含むが、多数のKPIの分析に基づく包括的なKPIまたは他のデータソースからのデータを有するKPIを生成するツールも含むことができる。データ視覚化ツールは、チャート、グラフ、マップ、タイムラインおよび/またはその他の使用によるといった多数の方式でKPIおよびデータレポートを見るのに用いられてもよい。
【0025】
データアダプタツールは、第三者ソーシャルメディアソース、第三者ネットワークデータおよび/またはその他からのデータのような、企業運営システムプラットフォームにそうでなければ利用可能でない追加のデータソースに企業運営システムプラットフォームがアクセスするようにしてもよい。一部の例において、データアダプタツールは、構造化されたデータベースそれぞれにおいてデータの特定内容に関係なく構造化されたデータからデータを回収可能なデータ-認知不能(agnostic)アダプタを含んでもよい。他の実施例において、データアダプタツールは、他のデータソース、様々なベンダー、多数のソフトウェアバージョンなどのためのデータアダプタを含んでもよいし、ここで、それぞれのデータアダプタは、データを1つのフォーマットから他のフォーマットに変換することもできる。警報ツールは、KPIトレンドおよび/またはその他のデータレポートを分析してエンティティでの異常成果パターンを検出するアプリケーションを含んでもよい。例えば、警報ツールは、予め決定された変化閾値を超える指定された時間期間にトレンドの増加や減少がある時、異常とKPIトレンドを見なすこともできる。他の例において、警報ツールは、KPIトレンドが、時間によるKPIの変化が他の関連づけられたKPIが経験する変化のパターン内で合わない、すなわち、KPIの変化が予め決定された閾値だけ他の変化パターンから外れることを指示する時、KPIトレンドを異常と見なすこともできる。自動化ツールは、特定条件や変数の検出に応答して1つ以上の機能の成果を自動化することができる。例えば、自動化ツールは、異常KPIトレンドの検出に応答して、エンティティのデバイスや構成要素の機能を自動的に防止または遮断することもでき、エンティティの維持補修や修理機能をトリガーすることもできるなど可能である。他の例において、自動化ツールは、デバイスやエンティティの構成要素の運営を改善するために、他のツールによって生成される構成変更を自動的に実現することもできる。様々な実施例において、ツールは、新しいデータモデルをプラットフォーム118(1)のような企業運営システムプラットフォームに併合してもよい。
【0026】
様々な実施例において、ツール110(1)~110(2)は、相関されたツールであって、互いに相互動作するように開発されてもよい。それによって、仮想市場102は、企業運営システムプラットフォーム118(1)と連携してすでに使用中の1つ以上のツールに関する状況情報を保存することもできる。また、仮想市場102は、市場を介した獲得に利用可能なツール(例えば、ツール110(1)~110(N)の状態データをさらに保存してもよい。例えば、各ツールの状態データは、ツールが新しいツールか、既存ツールの新しいバージョンか、またはツールが市場から利用可能か、または市場から回収されるかを指示することもできる。ツールの状態データは、ツールが依存する他のツールによって提供されるツール機能および/または入力データをさらに指示して、その処理機能を実行することもできる。代案的にまたは同時に、ツールの状態データは、ツールが生成可能な出力データおよび機能を指示することもできる。このように、企業運営システムプラットフォーム118(1)のエンドユーザ116が仮想市場102にアクセスする時、この市場は、プラットフォーム118(1)にすでに使用中のツール(例えば124)と入力または出力依存関係を有する1つ以上の関連するツールを示す双方向インターフェースを提示することもできる。例えば、入力依存が意味するのは、市場102を介して利用可能な関連するツールが機能またはデータをツール124に提供できるという点であり、出力依存関係が意味するのは、市場102を介して利用可能な関連するツールがツール124によって提供される機能やデータを用いることができるという点である。それによって、一部の例において、他の特定ツールに関して出力依存を有するプラットフォーム118(1)上で実現される新しいツールは、この特定ツールがプラットフォーム118(1)上で実現されなければ、機能しなくてもよいし、これは、新しいツールが依存するこの特定ツールによって提供される機能およびデータが利用可能でないはずであるからである。一部の実施例において、双方向インターフェースは、企業運営システムプラットフォーム118(1)によるディスプレイのために提示されてもよい。他の実施例において、双方向インターフェースは、顧客アプリケーションまたはウェブブラウザを介してエンドユーザ116にアクセス可能なウェブインターフェースポータルまたはアプリケーションインターフェースであってもよい。
【0027】
それによって、エンドユーザ116が、ツール124と入力または出力依存関係を有する所望のツール126を見つけたと仮定すれば、エンドユーザ116は、関連するツール126を獲得することもできる。様々な実施例において、このような獲得は、双方向インターフェースを介した設定された価格での直接支払い、競売入札、逆競売入札などにより達成されてもよい。このような獲得取引が完了すると、エンドユーザ116は、プラットフォーム118(1)上での使用のために関連するツール126をダウンロードすることもできる。
【0028】
同じく、エンドユーザ128は、エンティティ132から成果データを収集するためにコンピューティングデバイス130上で行われる企業運営システムプラットフォーム118(N)を用いていてもよい。さらに、企業運営システムプラットフォーム118(N)は、仮想市場102の運営者によって開発される独自の企業運営システムプラットフォームのコピーであってもよい。企業運営システムプラットフォーム118(N)は、ユーザによる使用のためにエンドユーザ128に運営者によって配布されていてもよい。そのような例において、エンドユーザ128は、エンティティ132の成果を分析するためにツール134のような1つ以上のツールを実行していてもよい。それによって、仮想市場102は、企業運営システム118(N)上ですでに実装された1つ以上のツールと依存関係を有する追加的なツール(例えば、ツール136)を推薦したり、その逆の場合も可能である。機能は、データをディスプレイし、データを分析し、データを集約し、データを変換し、データを再フォーマットし、および/またはその他動作するように呼び出されるアプリケーションプログラムインターフェース(API)を提供することもできる。つまり、仮想市場102は、機能および/またはデータのための前提条件がすでに実現されたツールによって満たされるツールを推薦することもできる。代案的にまたは同時に、仮想市場102は、前提条件データおよび機能をすでに実現されたツールに提供可能なツールを推薦することもできる。それによって、エンドユーザ128が所望の追加的なツール136を見つけると、エンドユーザ116は、プラットフォーム118(N)上で実現のためにツール126をダウンロードすることもできる。
コンピューティングデバイス構成要素の例
【0029】
図2は、エンティティの成果をモニタリングするためのツールのような、ツールを分配する仮想市場102の例における例示的な構成要素の概略図である。仮想市場102は、コンピューティングデバイス104によってホストされる市場エンジン202によって実現されてもよい。コンピューティングデバイス104は、通信インターフェース204、1つ以上のプロセッサ206およびメモリ208を含んでもよい。通信インターフェース204は、1つ以上のコンピューティングデバイス104がデータを他のネットワーク連結されたデバイスに送信し、これからデータを受信できるようにする無線および/または有線通信構成要素を含んでもよい。コンピューティングデバイス104は、ハードウェア210を介してアクセスされてもよい。ハードウェア210は、追加のユーザインターフェース、データ通信またはデータ保存ハードウェアを含んでもよい。例えば、ユーザインターフェースは、データ出力デバイス(例えば、視覚ディスプレイ、オーディオスピーカ)および1つ以上のデータ入力デバイスを含んでもよい。データ入力デバイスは、キーパッド、キーボード、マウスデバイス、ジェスチャを受け入れるタッチスクリーン、マイク、音声またはスピーチ認識デバイスおよび任意の他の適切なデバイスのうち1つ以上の組み合わせを含んでもよいが、これらに制限されない。
【0030】
メモリ208は、コンピュータ保存媒体のようなコンピュータ-読取可能媒体を用いて実現されてもよい。コンピュータ-読取可能媒体は、少なくとも2つのタイプのコンピュータ-読取可能媒体、すなわち、コンピュータ保存媒体および通信媒体を含む。コンピュータ保存媒体は、コンピュータ-読取可能命令、データ構造、プログラムモジュールまたは他のデータのような情報の保存のための任意の方法や技術で実現される揮発性および不揮発性、脱着可能および非脱着可能媒体を含む。コンピュータ保存媒体は、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、高鮮明マルチメディア/データ保存ディスクまたはその他の光学保存、磁気カセット、磁気テープ、磁気ディスク保存またはその他の磁気保存デバイス、またはコンピューティングデバイスによるアクセスのための情報を保存するのに使用可能な任意のその他の非送信媒体を含むが、これらに制限されない。対照的に、通信媒体は、コンピュータ-読取可能命令、データ構造、プログラムモジュールまたは搬送波またはその他の送信メカニズムのような変調されたデータ信号でのその他のデータを具体化することもできる。
【0031】
メモリ208は、市場エンジン202とデータストア212を保存することもできる。市場エンジン202は、ユーザアカウントモジュール214、開発者管理モジュール216、ツール検証モジュール218、テストデータ統合モジュール220、ツール管理モジュール222、取引モジュール224、およびインターフェースモジュール226を含んでもよい。このようなモジュールは、特定作業を実行したり、特定抽象データタイプを実現するルチン、プログラム命令、オブジェクトおよび/またはデータ構造を含んでもよい。
【0032】
ユーザアカウントモジュール214は、エンドユーザ116および128のようなエンドユーザが顧客アカウント228を作るようにしてもよい。例えば、エンドユーザ116は、登録情報をコンピューティングデバイス122のようなコンピューティングデバイスを介してユーザアカウントモジュール214に提供することで、対応する顧客アカウントを構築することもできる。登録情報は、顧客名、顧客の住所、顧客の連絡情報、ログイン名、パスワードおよび/またはその他を含んでもよい。顧客アカウント228それぞれはまた、対応する顧客が取引に支払い払い戻しを受けるために提供していた1つ以上の金融口座のための口座アクセス情報を含んでもよい。取引は、仮想市場102からツール、イン・アプリアド・オン(in-app add-ons)および/またはツールサポートサービスの獲得を含んでもよい。様々な実施例において、ユーザアカウントモジュール214は、顧客アカウント228へのアクセスを制御する認可機能を提供することもできる。仮想市場102の環境で、ツールの獲得は、永久ライセンスまたは期間(term)中にツールを用いるライセンスを購入することを指すこともある。
【0033】
ユーザアカウントモジュール214は、各エンドユーザが用いた企業運営システムプラットフォームの設置時、使用のためにすでに実装されたツールに関する状況情報をさらに保存してもよい。ツールの状況情報は、状況情報データベース230に保存されてもよい。例えば、エンドユーザ116は、企業運営システムプラットフォーム118(1)を用いており、プラットフォームは、継続または周期的に企業運営システムプラットフォーム118(1)上で実装された1つ以上のツール(例えば、ツール124)に関する状況情報を自動的に伝送することもできる。代案的に、ユーザアカウントモジュール214は、状況情報のための企業運営システムプラットフォーム118(1)を周期的にポーリング(poll)することもできる。代案的に、企業運営システムプラットフォーム118(1)は、新しいツールや新しいバージョンのツールがプラットフォーム上で使用のために実装される時、ツールがプラットフォームから除去される時、および/またはプラットフォーム上で実装されたツールの運営状況がどんな方式でも変更される時、新しい情報をユーザアカウントモジュール214にプッシュすることもできる。次に、ユーザアカウントモジュール214は、1つ以上のツールに関する状況情報をエンドユーザ116のために保存することもできる。それぞれの企業運営システムプラットフォームのために収集および保存された状況情報は、企業運営システムプラットフォーム上で実装されたそれぞれのツールの識別情報、各ツールのための実装履歴、各実装されたツールのバージョン情報、各ツールのためのユーザログ情報、各ツールの総作動時間、各ツールによって提供される衝突およびエラーレポート、各ツールによって用いられるデータソースおよび/またはその他を含んでもよい。ユーザアカウントモジュール214は、データストア212の状況情報データベース230に状況情報を保存することもできる。追加の実施例において、ユーザアカウントモジュール214は、状況情報を用いて、特定運営システムプラットフォーム上で実装されるツールに関するレポート、このプラットフォーム上で実装されるツールの機能の重畳に関する統計、このプラットフォームの実装されたツールによって用いられるデータソースに関する統計および/またはその他を生成する分析機能を含んでもよい。
【0034】
開発者管理モジュール216は、開発者サンドボックス106(1)~106(N)へのソフトウェア開発者アクセスを管理することを担当することもできる。様々な実施例において、開発者サンドボックス106(1)~106(N)は、コンピューティングデバイス104、第三者サーバおよび/またはクラウド上にあるサーバ上にホストされてもよい。開発者管理モジュール216は、ソフトウェア開発者108(1)~108(N)のようなソフトウェア開発者が開発者アカウント232を作るようにしてもよい。ソフトウェア開発者は、登録情報をユーザデバイスを介して開発者アカウントモジュール216に提供することで、対応するソフトウェア開発者アカウントを構築することもできる。登録情報は、開発者名、企業名、企業の住所、企業の連絡情報、ログイン名、パスワードおよび/またはその他を含んでもよい。開発者アカウントは、ソフトウェア開発者が開発者サンドボックスにアクセスするようにしてもよい。例えば、無線通信エンティティのためのツールを開発するのに関心があるソフトウェア開発者は、無線通信エンティティのための開発者サンドボックスにアクセスすることもできる。開発者アカウントは、ソフトウェア開発者によって開発されたツールがエンドユーザによって獲得される時、このソフトウェア開発者が仮想市場102の運営者から支払いを受けるようにしてもよい。例えば、ソフトウェア開発者は、金融口座を開発者アカウントに連結することもでき、開発者アカウントから資金がこの口座の内外に振り替えられてもよい。一部の例において、開発者アカウントはまた、ソフトウェア開発者が開発者サンドボックスの使用のために1回にまたは定期的に料金を支払うようにしてもよい。開発者管理モジュール216はまた、開発者サンドボックス106(1)~106(N)に対する開発者アクセスを追跡できるようにしてもよい。情報は、開発者サンドボックスに対する開発者アクセスのログ、異なる時間フレームにおける各ソフトウェア開発者の使用するコンピューティングリソースの量、開発されたツールバージョンとツールの身元情報および/またはその他を含んでもよい。ソフトウェア開発者がツールを開発したならば、ソフトウェア開発者は、ユーザデバイスを用いて開発者管理モジュール216にツールが検証のために提出されることを通知することもできる。様々な実施例において、開発者管理モジュール216は、開発者アカウント232に対するアクセスを制御する認可機能を提供することもできる。
【0035】
ツール検証モジュール218は、ツールが仮想市場102を介した配布のために置かれる前に提出された当該ツールを検証することを担当することもできる。様々な実施例において、ツールは、テストデータおよびテストスイートのホストを含むテスト環境を用いて検証されてもよい。テスト環境それぞれは、特定タイプのエンティティ(例えば、無線通信事業者)に合わされてもよいし、エンティティの成果を評価するように、データまたはサービス配布および管理機能を実行するための制作環境をシミュレートするように設計されてもよい。テストデータの各セットがテストされるツールのバージョン、ツールの制作環境、テストされるツールを開発したソフトウェア開発者および/またはその他によって合わされてもよい。テスト環境のテストスイートおよびテストデータは、ツールがシミュレートされた条件のホスト下で適切に実行できることを検証するように設計される。例えば、コンピューティングデバイス104は、テスト環境240(1)~240(N)をホストすることもできる。次に、テスト環境240(1)~240(N)は、それぞれテストスイート242(1)~242(N)およびテストデータ244(1)~244(N)を含んでもよい。
【0036】
テストデータは、ツールによって処理される未処理イベントおよび複雑なイベントを含んでもよい。未処理イベントは、簡単なイベントであるのに対し、複雑なイベントは、他のイベントの計算または集合である。未処理イベントは、通常、システムでセンサによって直接報告されるイベントである。複雑なイベントは、通常、未処理イベントおよび/または他の複雑なイベントからのデータを入力値として用いる計算である。例えば、未処理イベントは、特定時間における水ユーティリティの水配管の出力の増加であるのに対し、複雑なイベントは、この特定時間における隣接する水配管の減少出力と同時に起こる水配管出力の増加であってもよい。それによって、ツールは、ツールが1つ以上の基準を満たすテスト結果を生成する時に検証されたと見なされてもよい。
【0037】
この基準は、テスト結果が予想された値と一致する、または予め決定された許容可能値の閾値内にあるものを含んでもよい。少なくとも一部の実施例において、テストされるツールによって生成されるテスト結果は、複雑なデータを含んでもよい。一つのシナリオにおいて、ツールのためのテスト結果は、テスト結果の各値がベンチマークツールによって生成される対応する値の予め決定された範囲内にある時、予想された結果と一致すると見なされてもよい。そのようなシナリオにおいて、ベンチマークツールは、ツールの前バージョンまたは仮想市場102の運営者が開発したツールであってもよい。この基準は、ツールが、予め決定された時間量内の正確なテスト結果を生成するもの、テスト中にツールによって用いられるコンピューティングリソースが予め決定された閾値より下のもの、ツールが、入力データまたはコンピューティングリソースの有する1つ以上のシミュレートされたエラーから復旧できるもの、および/またはその他をさらに含んでもよい。ツールが検証されると、ツール検証モジュール218は、配布のためのツールをリリースすることもできる。一つのシナリオにおいて、ツール検証モジュール218は、ツールの状態をプレリリース(例えば、ベータバージョン)から認証されたものに変化させることもできる。後続して、ツール検証モジュール218は、仮想市場102を介した配布のために認証されたツールをリリースすることもできる。
【0038】
テストデータ統合モジュール220は、特定タイプのエンティティのための対応するテスト環境のテストデータに検証されたツールによって生成されるテスト結果を統合させることもできる。様々な実施例において、テスト結果は、複雑なデータを含んでもよい。追加の複雑なデータは、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび/またはツールのテストから生成されたその他のデータを含んでもよい。テスト結果の追加の複雑なデータは、テスト環境での他のツールを検証するのにさらに用いられてもよい。このように、テスト環境は、そうでなければ利用可能でなかったりシミュレートしにくい追加のテストデータが継続して供給されてもよい。しかし、テストデータ統合モジュール220は、検証に失敗したツールによって生成されるテスト結果を捨てることもできる。
【0039】
追加の実施例において、テストデータ統合モジュール220は、制作環境でテストされているツールの予備テスト結果を、対応するテスト環境のテストデータにさらに統合することもできる。例えば、エンドユーザ116は、ツール124がエンティティ120の成果をどのように効果的に判定できるかを評価するために、企業運営システムプラットフォーム118(1)上のツール124をベータテストしていてもよい。ツール124は、テスト環境240(1)を用いて事前に検証されていてもよい。最上のテストの一部分として、ツール124は、予備テスト結果をテストデータ統合モジュール220に提供する遠隔レポート機能を含んでもよい。予備テスト結果は、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび/またはツールの予備テストから生成されたその他のデータを含んでもよい。それによって、テストデータ統合モジュール220は、予備テスト結果をテスト環境240(1)のテストデータ244(1)に統合することもできる。
【0040】
ツール管理モジュール222は、ツール236(1)~236(N)をツールストア238に保存することもでき、このツールストア238は、コンピューティングデバイス104上にまたは遠隔位置に常住することもできる。一部の例において、ツールは、仮想市場を介した配布のために検証されるものが新しいツールの時、ツール管理モジュール222によってツールストア238に置かれてもよい。他の例において、ツール管理モジュール222は、ツールストア238に保存される既存のツールを、ツールとしてこのツールが検証されたアップデートされたバージョンの時、入れ替えてもよい。様々な実施例において、ツール管理モジュール222は、配布されるツールが新しいバージョンまたはアップデートされたバージョンであるかを、ツール状態データベース234に保存されたデータに基づいて決定することもできる。それによって、ツールが配布を準備する時、ツール管理モジュール222は、ツール状態データベース234に質疑して、このツールが新しいツールか、既存のツールの新しいバージョンかを決定することもできる。一部の例において、ツール管理モジュール222はまた、ツールストア238からツールを除去することもでき、すると、ツール状態データベース234から除去されたツールの状態は、ツール管理モジュール222によってアップデートされてもよい。
【0041】
それによって、ツール管理モジュール222は、ツールの変化によってツール状態データベース234におけるツール236(1)~236(N)の状態データをアップデートすることもできる。ツール236(1)~236(N)は、市場を介した獲得に利用可能なツールだけでなく、エンドユーザによってすでに獲得されており、様々な企業運営システムプラットフォーム上で実装されたツールを含んでもよい。例えば、ツールの状態データは、このツールが新しいツールか、既存のツールの新しいバージョンか、またはこのツールが市場で利用可能か、または市場から回収されるかを指示することもできる。このツールの状態データは、このツールが処理するように設計された入力データの前提条件タイプのみならず、ツールがその処理機能を実行するために依存する他のツールの前提条件ツール機能をさらに指示してもよい。このツールの状態データはまた、このツールによって生成される出力データだけでなく、このツールによって提供される機能を指示することもできる。一部の例において、ツールの状態データは、このツールの現在バージョンに対する満了日、現在バージョンのためのサポート日の計画された終了または関連づけられたソフトウェア開発者の運営状態(例えば、ソフトウェア開発者が営業中であるか)のような細部内容をさらに含んでもよい。
【0042】
このように、エンドユーザが顧客アカウントで仮想市場102にアクセスする時、ツール管理モジュール222は、ツール推薦をエンドユーザに提供することもできる。様々な実施例において、ツール管理モジュール222は、企業運営システムプラットフォームでエンドユーザによってすでに使用中のツールの入力および出力機能とデータを決定することもできる。ツール管理モジュール222はまた、そのような情報をツール236(1)~236(N)の入力および出力機能とデータと比較してもよい。それによって、ツール管理モジュール222は、企業運営システムプラットフォームですでに使用中のツールの機能および出力データを使用可能なツール236(1)~236(N)のうち1つ以上の関連するツールを決定することができる。代案的にまたは同時に、ツール管理モジュール222は、企業運営システムプラットフォームですでに使用中のツールに入力データと機能を提供可能なツール236(1)~236(N)のうち1つ以上の関連するツールも確認することができる。つまり、ツール管理モジュール222は、対応する企業運営システムプラットフォームでエンドユーザによってすでに使用中のツールに対する入力および/または出力依存を有する、関連するツールを確認することもできる。1つ以上の関連するツールは、双方向インターフェースを介してツール管理モジュール222によって提示されてもよい。双方向インターフェースはまた、価格、獲得方法および/またはエンドユーザが関連するツールそれぞれを獲得可能な獲得条件を提示することもできる。
【0043】
追加の実施例において、ツール管理モジュール222はまた、そのようなツールが、対応する企業運営システムプラットフォーム上ですでに使用中のツールと入力または出力依存を有するかに関係なく、予め決定されたツールのリストを双方向インターフェースを介して提示することもできる。それによって、一つのシナリオにおいて、予め決定されたリストでのツールは、対応する企業運営システムプラットフォームですでに使用中のツールに何ら依存度を有さなくてもよい。そのような予め決定されたツールのリストは、仮想市場102で最も人気のあるツール、仮想市場102に最も新しく追加されたツール、仮想市場102で最も高いユーザ評点を有するツールおよび/またはその他でもよい。予め決定されたリストに示すツールは、入力および出力データと機能の前提条件、ユーザ評点、価格細部内容、支払い細部内容および/またはその他のような情報を伴ってもよい。
【0044】
他の実施例において、ツール管理モジュール222はまた、対応する企業運営システムプラットフォーム上ですでに実装されたツールの新しいバージョンの利用可能性に関する通知を、エンドユーザに対する双方向インターフェースを介して提示することもできる。様々な例において、新しいバージョンに対する通知は、新しい特性、削除された特性、バグ修正、改善、アップグレード料金、新しいサポートポリシーおよび/またはその他のような細部内容を含んでもよい。しかし、そのような通知は、エンドユーザがアップグレードすることを望まなければ、エンドユーザに強制しないはずである。ツール管理モジュール222はまた、対応する企業運営システムプラットフォーム上でエンドユーザによって使用中のツールの現在バージョンに関する関連通知をたびたび提示することもできる。関連通知は、現在バージョンに対する満了日、現在バージョンのためのサポート日の終了または関連づけられたソフトウェア開発者の運営状態(例えば、ソフトウェア開発者が営業中であるか)のような細部内容をさらに含んでもよい。ツールの現在バージョンに対する関連通知は、しかも、このツールのアップデートされたバージョンがない際にも、双方向インターフェースを介して独立に提示されてもよい。一部の実施例において、双方向インターフェースを介して提示されるそれぞれのツールは、ユーザレビューと評点を伴ってもよい。ツールに対するユーザレビューは、双方向レビューインターフェースを介してエンドユーザによって提出されて、ユーザはこのツールの賛否に対するコメントを残すこともできる。ツールに対するユーザ評点は数値等級化されていてもよい。例えば、数値等級は、星評点等級(例えば、5つの星のうち4つ)、点数システム(例えば、100点中90点)、推薦比率等級(例えば、エンドユーザの80%が推薦する)などであってもよい。ツールに対する評点双方向インターフェースは、エンドユーザがこのツールに全体的に評点を付けることもでき、および/またはこのツールの個別特性に評点を付けることもできる。
【0045】
取引モジュール224は、仮想市場102からツールの獲得を処理することもできる。エンドユーザが推薦されたツールを獲得する準備がされた時、このエンドユーザは双方向インターフェースを介してこのツールの獲得を開始することもできる。様々な実施例において、このツールは、設定された価格での直接支払い、競売、逆競売および/またはその他の獲得方式により獲得することもできる。これに応答して、取引モジュール224は、獲得プロセスを開始することもできる。例えば、設定された価格での購入の場合に、取引モジュール224は、エンドユーザの金融口座からツールの購入のための支払いを得ることもできる。金融口座は、当座預金口座、普通預金口座、デビッドカード口座、クレジットカード口座、チャージカード口座、ギフトカード口座などのようなものであってもよい。
【0046】
代案的に、購入価格は、エンドユーザが仮想市場102に保存したポイントやクレジットを通して部分的にまたは完全に支払われてもよい。一部の例において、ツールのための獲得価格は、市場条件によって設定されてもよい。例えば、獲得価格は、初期ツール獲得数に対してより低く設定されてもよい。しかし、獲得価格は、1つ以上の後続する獲得に対して徐々により高く設定されてもよい。他の例において、獲得価格は、特定値で初期に設定されてもよいし、この特定値は追加のユニットが販売されることで、時間の経過とともに徐々に減少する。代案的に、初期の獲得価格は、販売の割り当てが予め決定された時間期間内に満たされないことによって徐々に減少することもできる。追加の例において、ツールのための獲得価格は、このツールのベータテスタになると同意したエンドユーザのために割引されたり、0まで減少することもできる。
【0047】
獲得が競売や逆競売により実行される他のシナリオにおいて、エンドユーザは、双方向インターフェースを介して取引モジュール224で入札プロセスを開始することもできる。次に、取引モジュール224は、仮想競売を実行することもでき、この仮想競売は、多数の入札者のうち誰が落札されたかを決定するために多数の電子入札者を伴う。後続して、取引モジュール224は、双方向インターフェースを介して落札されたエンドユーザに通知することもできる。このように、ツールの購入のための支払いは、その後、エンドユーザの金融口座から取引モジュール224によって得る。支払いが完了すると、取引モジュール224は、エンドユーザへのツールの配布を開始することもできる。一部の例において、取引モジュール224は、ツールがダウンロード可能なサーバ位置にリンクを提供することもできる。例えば、このリンクは、ウェブリンク、安全なファイル伝送プロトコル(FTP)サーバへのリンクまたはこのツールがダウンロード可能な安全なファイル共有サイトへのリンクであってもよい。
【0048】
しかし、代案的なシナリオにおいて、エンドユーザは、現在のツール提供がエンドユーザの特定の必要性を満足しないと決定することもできる。それによって、取引モジュール224は、提案に基づく入札を実行するために双方向インターフェースを提供することもできる。提案に基づく入札において、取引モジュール224は、エンドユーザがツールのための要請をできるようにする双方向インターフェースを提供することもできる。この要請は、このツールの機能、このツールの入力および出力データ、およびこのツールのための所望の価格を明示することもできる。次に、取引モジュール224は、ツール要請を多数の開発者に電子的に提示することもできる。例えば、取引モジュール224は、ウェブページ上にツール要請をポスティングすることもでき、ツール要請を電子メールを通して開発者に伝送したり、開発者に配布される他の形態の電子通信を生成することもできる。さらに、取引モジュール224は、開発者がツール要請の許容とツールのための納入時間を指示する開発者入札を提出するための双方向インターフェースを提供することもできる。後続して、取引モジュール224は、電子通知をエンドユーザに伝送して、エンドユーザは、取引モジュール224によって提供される双方向インターフェースを介して1つ以上の開発者入札をレビューすることもできる。開発者入札のレビューに続き、エンドユーザは、開発者入札のうち1つ以上を許容することもできる。エンドユーザが開発者の開発者入札を許容すると、顧客は、ツールが明示された納入時間内で顧客に納入されると、ツールの要請下で開発者によって提供されたこのツールをテストしなければならない。
【0049】
開発者によってツールを仮想市場102に提出すると、取引モジュール224は、提出されたツールに対するエンドユーザ評価アクセスを許可することもできる。評価に続き、エンドユーザは、1つのツールの許容を指示する取引モジュール224に通知を伝送することもできる。取引モジュール224は、その後、所望の価格に基づいてツールのための取引を終わらせるために許容されたツールの開発者とエンドユーザを準備させることもできる。一部の例において、取引モジュール224は、エンドユーザがこの取引を終わらせる前に、開発されていた他のツールを許容しなかったことに対する理由を提供することを義務付けることもできる。後続して、取引モジュール224は、エンドユーザが開発者の評点を付け、その逆のためにも、双方向レビューインターフェースを提供することもできる。例えば、エンドユーザは、納入速度、納入されたツールの品質、連絡の迅速性および信頼度および/またはその他のような領域に関して開発者の評点を付けることもできる。次に、開発者は、連絡の迅速性および信頼度、ツール要請の妥当性、後続要請の妥当性および/またはその他のような領域に関してユーザの評点を付けることもできる。取引モジュール224に提供された評点は、数値等級化されていてもよい。例えば、数値等級は、星評点等級(例えば、5つの星のうち4つ)、点数システム(例えば、100点中90点)、推薦比率等級(例えば、エンドユーザの80%が推薦する)などであってもよい。取引モジュール224は、提案に基づく入札に用いるための双方向インターフェース上でエンドユーザおよび/または開発者の評点をディスプレイすることもできる。
【0050】
一部の例において、ツールのための支払いは、分割払い計画により履行されてもよい。そのような例において、ツールは、第1支払い時、企業運営システムプラットフォーム上で初期に実装されてもよい。後続して、このツールは、定期的に状態チェック要請メッセージを取引モジュール224に伝送して、このツールが企業運営システムプラットフォーム上で引き続き動作しているかを確認することもできる。それによって、取引モジュール224が、追加の支払いが分割払い計画によってエンドユーザから受け入れられたことを決定すれば、取引モジュール224は、引き続き運営応答メッセージをこのツールに伝送することもできる。そうでなければ、取引モジュール224は、運営終了応答メッセージをこのツールに伝送して、このツールが運営を中止するようにしてもよい。
【0051】
取引モジュール224は、ツールを獲得したエンドユーザから収集した料金を、このツールを開発したソフトウェア開発者の金融口座にも分配することができる。このような分配は、運営者とソフトウェア開発者との間の予め用意された条件によって取引モジュール224によって実装されてもよい。一部の例において、予め用意された条件により、仮想市場102の運営者がソフトウェア開発者に補償として送金された料金の予め決定された比率を維持するようにしてもよい。他の例において、予め用意された条件により、運営者が、予め決定された初期のツール販売数に対して支払われた料金を維持することができ、ツールの後続する販売のための料金をソフトウェア開発者に分配するようにしてもよい。他の例において、予め用意された条件は、運営者が、多数の販売が時間期間に完了した後、各ツール販売のために送金された料金の予め決定された比率を維持するようにしてもよい。にもかかわらず、取引モジュール224は、運営者が仮想市場102を介して実行されたツール販売の少なくとも一部のための補償を受けるとすれば、集められた料金を他の方式に従ってソフトウェア開発者に分配することもできる。
【0052】
それによって、取引モジュール224は、開発者が仮想市場102を介した分配のためのツールを提供する時、開発者が多数の請求方式のうち1つを選択するように促すこともできる。例えば、第1請求方式では、エンドユーザが使用のための定期的な(例えば、毎月)料金を支払うようにしてもよい。しかし、開発者は、新しいバージョンでツールを最新式に維持することを保証しない。第2請求方式の例において、エンドユーザは、1回料金のための企業ライセンスを購入してもよい。この請求方式で、開発者は、新しいバージョンでツールを最新式に維持することを保証しない。第3請求方式の例において、エンドユーザは、毎年維持補修料金のために毎年サポートされる企業ライセンスを購入するようにしてもよい。そのような方式で、開発者は、新しいバージョンでツールを最新式に維持するようにエンドユーザと契約するはずである。料金の分配と収集を容易にするために、取引モジュール224は、そのような目的のために構築された1つ以上の運営アカウント248を用いてもよい。
【0053】
インターフェースモジュール226は、市場エンジン202の他のモジュールのための様々な双方向インターフェースを生成することもできる。一部の実施例において、インターフェースモジュール226は、企業運営システムプラットフォームと協力して、双方向インターフェースを提示することもでき、双方向インターフェースを用いてエンドユーザによって入力されるユーザ入力を受信することもできる。他の実施例において、インターフェースモジュール226によって生成される双方向インターフェースは、顧客ツールやウェブブラウザを介してエンドユーザ116にアクセス可能なアプリケーションインターフェースまたはウェブインターフェースポータルであってもよい。様々な実施例において、双方向インターフェースそれぞれは、HTMLオブジェクト、スクリプトオブジェクト、カスケードスタイルシート(CSS)オブジェクト、イメージオブジェクトおよび/またはその他の静的および/または動的オブジェクトを用いて構成されてもよい。
【0054】
データストア212は、市場エンジン202の様々なモジュールによって受信および処理されるデータを保存することもできる。データストア212は、リレーショナルデータベース、オブジェクトデータベース、オブジェクト-リレーショナルデータベースおよび/またはキー-バリューデータベースのような1つ以上のデータベースを含んでもよい。データストア212に保存されるデータは、顧客アカウント228、状況情報データベース230、開発者アカウント232、ツール状態データベース234、レビューデータ246および運営アカウント248を含んでもよい。
例示的なユーザインターフェース
【0055】
図3は、ツールを選択するための仮想市場の例示的な双方向インターフェースである。双方向インターフェースは、市場エンジン202のインターフェースモジュール226によってディスプレイされてもよい。双方向インターフェースは、エンドユーザが仮想市場102から利用可能なツールを見られるようにするだけでなく、仮想市場102を介してツールを獲得するようにしてもよい。例示的な双方向インターフェースは、カテゴリー別に利用可能なツールを示す双方向インターフェース302、および市場エンジン202によって推薦されたツールを示す双方向インターフェース302を含んでもよい。
【0056】
双方向インターフェース300は、エンドユーザが管理ツール市場102を介して利用可能なツールを検索するようにしてもよい。双方向インターフェース300は、カテゴリー選択メニュー304を含んでもよい。カテゴリー選択メニュー304は、エンドユーザがツールの多数のカテゴリーを検索するようにしてもよい。少なくとも一つの実施例において、カテゴリーは、ツールが利用可能になる異なるタイプのエンティティに対応することもできる。エンドユーザがツールのカテゴリーを選択したならば、双方向インターフェース300は、ドロップダウンメニュー(例えば、ドロップダウンメニュー306)のようなドロップダウンメニューを提供することもでき、このドロップダウンメニューは、ツールの多数のサブカテゴリーがこのカテゴリー内で利用可能であることを示す。様々な実施例において、多数のサブカテゴリーは、異なる成果評価機能を実行するツールの構成要素タイプに対応することもできる。それによって、エンドユーザがカテゴリーおよびサブカテゴリーを選択したならば、エンドユーザは、サーチオプション308を活性化してこのサブカテゴリーにあるツールをディスプレイすることもできる。各サブカテゴリーのツールは、整列またはフィルタリング基準に従って双方向インターフェースによってディスプレイされてもよい。例えば、ツールは、ツールが配置可能な位置(例えば、郵便番号、自治市、州または地域)によって整列されてもよい。他の例において、ツールは、レポートバグによってフィルタリングされ、双方向インターフェースは、レポートされたバグのないツールをディスプレイしたり、各ツールに対して報告されるバグの数に基づいて昇順または降順にツールをディスプレイしてもよい。また、ツールが選択されると、双方向インターフェースは、ツールが依存するデータ入力および機能、ツールによって生成されたデータ出力および機能、データ入力および出力を提供するAPIおよび/またはデータアダプタおよび/またはその他のように、ツールに関連する情報をディスプレイすることもできる。また、他のフィルタリングまたは整列オプションは、エンドユーザが入力データまたは出力データのための特定データおよび/または機能前提条件別に、バージョンナンバー別に、ユーザ評点別におよび/またはその他にツールを見られるようにしてもよい。
【0057】
双方向インターフェース302は、エンドユーザによって使用中の企業運営システムプラットフォーム上ですでに実装された1つ以上のツールに基づいて市場エンジン202によって推薦されるツールをエンドユーザにディスプレイすることもできる。双方向インターフェース302は、企業運営システムプラットフォーム上にすでにあるツールを示すセクション310を含んでもよい。一部の実施例において、セクション310は、各ツールに対するレビューオプション(例えば、レビューオプション312)をディスプレイして、エンドユーザは、ツールのレビューおよび/または評点を提供することもできる。また、他のエンドユーザによって提供される現在のレビューおよび/または評点情報は、セクション310によってディスプレイされてもよい。
【0058】
双方向インターフェース302は、セクション314で推薦されたツールをさらに示すことができる。各ツールごとに、他のエンドユーザによって提供された現在のレビューおよび/または評点情報がセクション314によってディスプレイされてもよい。セクション314はまた、ツールのための異なる獲得オプションを示すことができる。例えば、入札オプション316は、競売または逆競売により獲得可能なツールに対して示されるのに対し、購入オプション318は、直接支払いにより獲得可能なツールに対して示されてもよい。他の双方向インターフェースは、ツールの状態の変化が起こる時、このツールの状態データをディスプレイする。一つのシナリオにおいて、新しいバージョンの利用可能性、新しく推薦されたツールの利用可能性、仮想市場102から対応する企業運営システムプラットフォーム上のエンドユーザによって用いられるツールの除去といった状態データが、エンドユーザが市場102にアクセスする時、双方向インターフェースを介して提供されてもよい。
例示的な運営
【0059】
図4~
図6は、仮想市場102を実現する例示的なプロセス400~600を示す。プロセス400~600それぞれは、論理フロー図でブロックの集合として例示され、このフロー図は、ハードウェア、ソフトウェアまたはその組み合わせで実現可能な運営シーケンスを示す。ソフトウェアコンテクストで、ブロックは、1つ以上のプロセッサによって行われる時、言及した運営を実行する1つ以上のコンピュータ-読取可能保存媒体上に保存されるコンピュータ-実行可能命令を表示する。一般的に、コンピュータ-実行可能命令は、特定の機能を実現したり、特定の抽象データタイプを実現するルチン、プログラム、オブジェクト、構成要素、データ構造などを含む。運営が記載される順序は制限として解釈されてはならず、任意の数の記載したブロックは、任意の順におよび/または並列に組み合わされて、プロセスを実現することができる。議論のために、プロセス400~600は、
図1のアーキテクチャ100を参照して記載される。
【0060】
図4は、配布されうるツールのために仮想市場によってエンドユーザへの配布に利用可能なツールを選択的に提示するための例示的なプロセス400のフロー図である。ブロック402で、市場エンジン202は、企業運営システムプラットフォーム118(1)のような企業運営システムプラットフォーム上で実装される1つ以上のツールを指示するストア状態情報を決定することもできる。企業運営システムプラットフォームは、仮想市場102の運営者によって配布されてもよい。様々な実施例において、市場エンジン202は、状況情報データベース230に保存される状況情報に基づいてそのような決定をすることもできる。状況情報は、それぞれの実装されたツールの識別情報、各ツールに対する実装履歴、それぞれの実装されたツールのバージョン情報、各ツールのためのユーザログ情報、各ツールの総作動時間、各ツールによって提供される衝突およびエラーレポートおよび/またはその他をさらに含んでもよい。一つのシナリオにおいて、1つ以上のツールは、エンティティの成果を決定するのに用いられるツールであってもよい。
【0061】
ブロック404で、市場エンジン202は、企業運営システムプラットフォーム上で実装される各ツールによって処理されたり生成されるデータを確認することもできる。各ツールによって処理されたり生成されるデータは、KPI、その他の成果インジケータ、データレポート、集約されたデータセット、再フォーマットされたデータ、収集されたデータおよび/またはその他を含んでもよい。市場エンジン202は、データストア212に保存されるツール状態データベース234に基づいてそのような決定をすることもできる。
【0062】
ブロック406で、市場エンジン202は、企業運営システムプラットフォーム上で実装される1つ以上のツールによって使用されたり提供される機能を決定することもできる。この機能は、データ再フォーマット、データ変換、データ集約、データ相関、キー成果インジケータ(KPI)の生成および/またはその他を含んでもよい。さらに、市場エンジン202は、データストア212に保存されるツール状態データベース234に基づいてそのような決定をすることもできる。
【0063】
ブロック408で、市場エンジン202は、データや機能に基づいて企業運営システムプラットフォーム上で実装された1つ以上のツールと依存関係を有する1つ以上の関連づけられたツールを仮想市場102から推薦することもできる。様々な実施例において、入力依存関係は、市場を介して利用可能な関連づけられたツールが機能またはデータを企業運営システムプラットフォーム上で実装されたツールに提供可能な関係である。他方、出力依存関係は、市場102を介して利用可能な関連づけられたツールは、企業運営システムプラットフォーム上で実装されたツールによって提供される機能やデータを用いることができるという関係である。
【0064】
ブロック410で、市場エンジン202は、1つ以上の推薦されたツールをエンドユーザに提示することもできる。様々な実施例において、市場エンジン202は、コンピューティングデバイス上でディスプレイされる双方向インターフェースを介して提示することもできる。例えば、市場エンジン202は、コンピューティングデバイス122上で双方向インターフェースを用いて追加的なツール126をエンドユーザ116に提示することもできる。
【0065】
ブロック412で、市場エンジン202は、市場エンジン202によって推薦される関連づけられたツールのための獲得要請を受信することもできる。獲得要請は、コンピューティングデバイス(例えば、コンピューティングデバイス122)上の双方向ツールでエンドユーザ(例えば、エンドユーザ116)によって開示されてもよい。様々な実施例において、獲得要請は、支払いによりツールを獲得したり、競売によりツールに入札したり、一部の他の形態の値の交換によりツールを獲得する要請であってもよい。
【0066】
決定ブロック414で、市場エンジン202は、獲得要請が許容できるかを決定することもできる。獲得要請は、この要請が直接または分割払い計画により購入価格を支払ったり支払うことを約束すること、競売で落札されることなどのように獲得のための1つ以上の許容基準を満足すれば、許容されてもよい。それによって、市場エンジン202が、獲得要請が許容できると決定すれば(決定ブロック414で「はい」)、プロセス400は、ブロック416へ進んでもよい。
【0067】
ブロック416で、市場エンジン202は、企業運営システムプラットフォーム上で実装のために関連づけられたツールを提供することもできる。様々な実施例において、市場エンジン202は、このツールをネットワーク114を介して企業運営システムプラットフォームに届けることもできる。例えば、市場エンジン202は、ツール126をネットワーク114を介して企業運営システムプラットフォーム118(1)に届けることもできる。しかし、市場エンジン202が、獲得要請が許容できないと決定すれば(決定ブロック414で「いいえ」)、プロセス400は、ブロック418へ進んでもよい。ブロック418で、市場エンジン202は、獲得要請が許容されないことを指示する通知をエンドユーザ(例えば、エンドユーザ116)の双方向インターフェースに伝送することもできる。例えば、双方向インターフェースは、エンドユーザ116のコンピューティングデバイス122上にディスプレイされてもよい。
【0068】
ブロック420で、市場エンジン202は、企業運営システムプラットフォームに関して少なくとも1つのツールでの状態変化を検出することもできる。様々な実施例において、ツールの状態変化は、ツールの実装、このツールの除去、このツールを新しいバージョンに入れ替えおよび/またはその他であってもよい。それによって、プロセス400は、ブロック402に戻り、市場エンジン202は、この少なくとも1つのツールに関する状態情報を保存することもできる。
【0069】
図5は、市場を介して配布されるツールの状態データで分散型ツールのための仮想市場をアップデートするための例示的なプロセス500のフロー図である。ブロック502で、市場エンジン202は、仮想市場102を介して配布のためのツールを受信することもできる。様々な実施例において、このツールは、仮想市場102の運営者によって提供される開発者サンドボックスを用いてソフトウェア開発者によって開発されてもよい。このツールは、仮想市場102を介してリリースするために運営者によってさらに検証されてもよい。
【0070】
ブロック504で、市場エンジン202は、このツールのツールタイプが新しいツールか、または既存のツールのアップデートされたバージョンかを決定することもできる。様々な実施例において、市場エンジン202は、ツール状態データベース234をサーチして、このツールのバージョンが存在するか、そうであれば、このツールの既存のバージョンがこのツールの現在バージョンとマッチングするかを決定するように実行することもできる。それによって、決定ブロック506で、市場エンジン202がこのツールが新しいツールであることを決定すれば、プロセス500は、ブロック508へ進んでもよい。ブロック508で、市場エンジン202は、仮想市場102のツールストア238に新しいツールを保存することもできる。ブロック510で、市場エンジン202は、仮想市場102のツール状態データベース234に新しいツールの状態データを保存することもできる。ツールのための状態データは、ツールの識別情報、ツールが配布のために保存される時間と日付、ツールのバージョン番号、元のソフトウェア開発者の識別情報、ソフトウェア開発者の状態および/またはその他を含んでもよい。この状態データは、ツールの前提条件である入力データおよび機能だけでなく、このツールによって提供される出力データおよび機能をさらに指示することもできる。後続して、プロセス500は、ブロック516へ直接進んでもよい。
【0071】
決定ブロック506に戻り、市場エンジン202が、このツールが既存のツールのアップデートされたバージョンであることを決定すれば、プロセス500は、ブロック512へ進んでもよい。ブロック512で、市場エンジン202は、ツールストア238に保存された既存のツールをこのツールのアップデートされたバージョンに入れ替えることもできる。ブロック514で、市場エンジン202は、ツール状態データベース234で既存のツールの状態データをアップデートすることもできる。様々な実施例において、状態データは、新しいバージョン番号、ツールの前提条件である任意の新しい入力データおよび機能だけでなく、ツールによって提供される任意の新しい出力データおよび機能および/またはその他を指示するようにアップデートされてもよい。
【0072】
ブロック516で、市場エンジン202は、配布のために前に利用可能であったツールが仮想市場102から除去されるかを決定することもできる。様々な実施例において、このツールは、このツールの満了、このツールで前に見逃されていたバグやエラーの発見、運営者とソフトウェア開発者との間の配布契約の違反および/またはその他のような様々な理由から、市場102のソフトウェア開発者や運営者によって除去されてもよい。
【0073】
それによって、決定ブロック518で、市場エンジン202がこのツールが除去されることを決定すれば(決定ブロック518で「はい」)、プロセス500は、ブロック520へ進んでもよい。ブロック520で、市場エンジン202は、ツール状態データベース234に保存された除去済みの状態データをアップデートして、このツールが除去されたことを指示することもできる。しかし、市場エンジン202がこのツールが除去されないことを決定すれば(決定ブロック518で「いいえ」)、プロセス500は、ブロック502に戻ることもできる。
【0074】
図6は、分散型ツールのための仮想市場を介して配布のためのツールをテストして検証するための例示的なプロセス600のフロー図である。ブロック602で、市場エンジン202は、仮想市場102を介して配布のために検証されるツールを受信することもできる。このツールは、仮想市場102の運営者が提供する開発者サンドボックスを用いて、ソフトウェア開発者が開発することもできる。ブロック604で、市場エンジン202は、未処理イベントおよび複雑なイベントのうち少なくとも1つを含むテストデータを用いるテスト環境でこのツールをテストすることもできる。テストは、ツールが機能するように設計されたと決定されるエンティティのエンティティタイプに具体的に合ったテスト環境(例えば、テスト環境240(1)を用いて実行されてもよい。このツールのテストは、追加的に複雑なデータを含むテスト結果を生成することもできる。様々な実施例において、この追加的に複雑なデータは、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび/またはこのツールのテストから生成されたその他のデータを含んでもよい。
【0075】
ブロック606で、市場エンジン202は、テスト結果に基づいてこのツールが検証されたかを決定することもできる。様々な実施例において、このツールは、このツールが1つ以上の基準を満たすテスト結果を生成する時、検証されたと見なされてもよい。この基準は、テスト結果が予想された値と一致したり予め決定された許容可能値の閾値内にあるものを含んでもよい。この基準は、このツールが予め決定された時間量内で正確なテスト結果を生成するもの、テスト中にこのツールによって用いられるコンピューティングリソースが予め決定された閾値の下のもの、このツールがデータまたはコンピューティングリソースで1つ以上のシミュレートされたエラーから復旧できるものおよび/またはその他をさらに含んでもよい。
【0076】
それによって、このツールがテスト結果に基づいて検証されなければ(決定ブロック608で「いいえ」)、プロセス600は、ブロック610へ進んでもよい。ブロック610で、市場エンジン202は、このツールが認証されないという指示を提供することもできる。例えば、この指示は、コンピューティングデバイス上の双方向ユーザインターフェースを介してエンドユーザにディスプレイされてもよい。後続して、市場エンジン202は、このツールによって生成される追加の複雑なデータを捨てることもできる。しかし、このツールがテスト結果に基づいて検証されると(決定ブロック608で「はい」)、プロセス600は、ブロック612へ進んでもよい。ブロック612で、市場エンジン202は、配布のために認証されたとこのツールを見なすこともできる。それによって、市場エンジン202は、仮想市場102のツールストア238にこのツールを保存し、このツールは、このツールを行う制作環境(例えば、企業運営システムプラットフォーム118(1)に配布されてもよい。
【0077】
ブロック614で、市場エンジン202は、配布のために検証される追加的なツールをテストするためにこの追加の複雑なデータをテストデータに統合することもできる。様々な実施例において、特定タイプのツールのテストから生成された複雑なデータは、同一タイプの追加的なツールをテストするためにテストデータとして用いられてもよい。例えば、遠隔通信ネットワーク成果評価ツールのテストは、複雑なデータを生成することもできる。次に、複雑なデータは、ソフトウェア開発者によって提出される他の遠隔通信ネットワーク成果評価ツールを検証するために元のテストデータに統合されてもよい。
【0078】
ブロック616で、市場エンジン202は、このツールが予備テストのために配布されるかを決定することもできる。そのような決定は、仮想市場102の運営者によって実装される設定に基づいて市場エンジン202が行ってもよい。それによって、市場エンジン202は、このツールが配布されると決定すれば(決定ブロック618で「はい」)、プロセス600は、ブロック620へ進んでもよい。ブロック620で、市場エンジン202は、追加的なツールを検証するようにテストデータに保存するために予備テスト結果データを得ることもできる。様々な実施例において、この予備テスト結果データは、複雑なイベント、条件的イベント、イベント値の対、パラメータとイベントの間の条件的依存、集められたデータポイントおよび/またはこのツールのテストから生成されたその他のデータを含んでもよい。様々な実施例において、特定タイプのツールの予備テストから生成された複雑なデータは、同一タイプの追加的なツールをテストするためのテストデータとして用いられてもよい。例えば、ユーティリティ提供者成果評価ツールの予備テストは、複雑なデータを生成することもできる。次に、複雑なデータは、ソフトウェア開発者によって提出されるその他のユーティリティ提供者成果評価ツールを検証するために元のテストデータに統合されてもよい。
【0079】
要約すれば、分散型ツールのための仮想市場は、企業運営システムプラットフォームと互換可能なツールを獲得する性能をエンドユーザに提供することもできる。ソフトウェア開発者は、ツールを販売するために、仮想市場を用いてエンドユーザに接近することもできる。他方で、仮想市場は、エンドユーザに便利な仮想ストアを提供して、エンドユーザが開発者と連絡して所望のツールを購入することもできる。仮想市場の運営者は、ツールが特定のガイドラインに従って機能することを保障するために検証テストを実行することもできる。ソフトウェア開発者とエンドユーザとの間の取引を容易にする媒体を提供する見返りとして、運営者は、各成果ツール獲得のための取引料金を請求することで収入を生成することもできる。
結論
【0080】
要旨が構造的特性および/または方法動作で特定される言葉で記載されたとしても、添付した請求項に限定されるとの要旨は、必ずしも記載したかかる特定の特性または動作に制限されないことを理解されたい。むしろ、そのような特定の特性および動作は、請求項を実現する例示的な形態として開示されている。