(57)【要約】開発される新たなソフトウェアアプリケーションを識別するコンピュータ実装方法。コンピュータデータベースが適合するキーワードについて検索され、この適合するキーワードは、新たなアプリケーションを示す、一群の選択されたキーワードのうちのいずれかに対応する。データベースは、一組の既存のアプリケーションを示す説明的キーワードを含む。適合するキーワードがデータベース中に発見されなかった場合、新たなアプリケーションの説明が潜在的なユーザーからリクエストされる。新たなアプリケーションの説明は、潜在的なユーザーから受け取られる。新たなアプリケーションの説明は、新たなアプリケーションを開発するための基礎として用いられる。
2013531303.tif 000002
【特許請求の範囲】
【請求項１】
開発される新たなソフトウェアアプリケーションを識別するコンピュータ実装方法であって、
該方法は、
適合するキーワードについてコンピュータデータベースを検索することであって、該適合するキーワードは、一群の選択されたキーワードのうちのいずれかに対応し、新たなアプリケーションを示し、該適合するキーワードは、該新たなアプリケーションの潜在的なユーザーによって選ばれ、
該データベースは、一組の既存のアプリケーションを示す説明的キーワードを含む、ことと、
適合するキーワードが該データベース中に見つからなかった場合には、
該潜在的なユーザーから、該新たなアプリケーションの説明をリクエストすることと、
該新たなアプリケーションの説明を該潜在的なユーザーから受け取ることと、
該新たなアプリケーションの説明を、該新たなアプリケーションを開発するための基礎として用いることと
を含む、方法。
【請求項２】
複数の製品に対する相対的な需要を決定するコンピュータ実装方法であって、
該方法は、
複数のキーワードを該複数の製品の各々に関連付けることと、
製品リクエストを複数のユーザーの各々から受け取ることであって、該リクエストの各々は、該製品のうちの１つを説明する少なくとも１つの該キーワードを含む、ことと、
該キーワードを含むテーブルを生成することと
を含み、該キーワードの各々は、（ａ）該潜在的なユーザーによる該リクエストの数を含む関連情報と、（ｂ）該キーワードに関連する該製品の各々に対する売上量とを有しており、該キーワードが該関連情報に含まれる、方法。
【請求項３】
前記キーワードの各々は、関連情報を有しており、該関連情報は、該キーワードに関連する前記製品の各々に対して発行されたライセンスの数と、該キーワードに関連する該製品に対するライセンス料とをさらに含む、請求項２に記載の方法。
【請求項４】
前記テーブルは、前記製品に対する値付けを確立させるために用いられる、請求項２に記載の方法。
【請求項５】
前記製品は、ソフトウェアアプリケーションである、請求項２に記載の方法。
【請求項６】
前記キーワードをリクエストし、該キーワードを１以上のソフトウェア開発者に送信するプログラムを前記アプリケーションの各々に組み込むことを含む、請求項５に記載の方法。
【請求項７】
ソフトウェアアプリケーションのユーザーが、該アプリケーションへの機能的変化をリクエストすることを可能にするコンピュータ実装方法であって、
該方法は、
アプリケーション変更リクエストを該アプリケーションのユーザーから該アプリケーションの開発者に送信することであって、該アプリケーション変更リクエストは、該アプリケーションへのリクエストされた変更を示す情報を含み、該情報は、該アプリケーションに組み込まれたプログラムを介して送信される、ことと、
該リクエストされた変化を提供する同意を示すメッセージを該開発者から該ユーザーに送信することと、
該リクエストされた変更を該アプリケーションに対して行うことと、
該リクエストされた変更を含む該アプリケーションを、該ユーザーに利用可能にすることと
を含む、方法。
【請求項８】
前記ユーザーは、ｅメールを介して、前記リクエストされた変更が前記アプリケーションに行われたことを通知される、請求項７に記載の方法。
【請求項９】
前記ユーザーは、前記アプリケーションに組み込まれたプログラムを介して、該アプリケーションに対する前記変更の完了を通知される、請求項８に記載の方法。
【請求項１０】
前記開発者は、前記アプリケーションに組み込まれたプログラムを介して前記ユーザーに送信されるメッセージを介して、該ユーザーの変更リクエストの拒絶を示す、請求項７に記載の方法。
【請求項１１】
前記開発者は、前記ユーザーに、前記アプリケーションに組み込まれたプログラムを介して、前記リクエストされたアプリケーション変更が拒絶された理由を知らせる、請求項７に記載の方法。
【請求項１２】
複数の開発者は、各アプリケーションの各ユーザーによって提出された各アプリケーション変更リクエストを送信される、請求項７に記載の方法。
【請求項１３】
ソフトウェアアプリケーションのユーザーが該アプリケーション中のエラーを報告することを可能にするコンピュータ実装方法であって、
該方法は、
通信プログラムを該アプリケーションに組み込むことと、
該アプリケーション中の１つ以上のエラーを示す情報を含むエラー報告を該アプリケーションのユーザーから該アプリケーションの開発者に送信するために、該通信プログラムを用いることと
を含む、方法。
【請求項１４】
前記１つ以上のエラーを生成した入力データが前記エラー報告と共に送信される、請求項１３に記載の方法。
【請求項１５】
前記開発者は、報告されたエラー状態を再現するために入力パラメータデータを用いる、請求項１４に記載の方法。
【請求項１６】
２つのアプリケーションの性能を比較するコンピュータ実装方法であって、
該方法は、
２つのアプリケーションをアプリケーションのリストから選択することと、
データを該２つのアプリケーションに入力することと、
該２つのアプリケーションを同時に実行することと、
該２つのアプリケーションの出力を表示および保存することと、
該２つのアプリケーションの各々に対する性能統計を生成および表示することと
を含む、方法。
【請求項１７】
前記性能統計は、最低性能、使用毎の最低価格、最低価格対性能比、最高性能、および最高価格対性能比を含む、請求項１６に記載の方法。
【請求項１８】
前記選択されたアプリケーションの各々に対して、任意の無料の使用が残っているか否かを決定することと、
無料の使用が該選択されたアプリケーションのいずれに対しても残っていない場合、該アプリケーションの比較を阻止することと
をさらに含む、請求項１６に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
（背景）
先行のシステムは、アプリケーションソフトウェアを顧客に提供するが、直接、アプリケーション開発コミュニティと双方向に関わる方法は提供しない。標準的なソフトウェアアプリケーションストアモデルにおいて、開発者は、顧客の需要に関して間接的な情報しか有していない。エラーがアプリケーションのユーザーによって発見された場合、エラーを引き起こす問題を再現するために十分な情報を開発者に提供することは、しばしば困難である。問題が修復された後、問題を経験した顧客は、問題が対処されたことを、しばしば知らされない。
【０００２】
標準的なアプリケーションストアシステムにおいて、ユーザーは、新たなアプリケーション機能性へのアクセスを得るために、新たなコードリリースまたはソフトウェアダウンロードを待つ必要がある。加えて、標準的なアプリケーションは、必要に応じて、または所望の場合、ユーザーが追加の処理性能を得るための制限された方法を提供する。標準的なアプリケーションは、固定された処理性能を有しており、アプリケーションを動作させるハードウェアまたはアプリケーションの特定のバージョンを動作させるハードウェアのうちの一方の機能を処理性能に獲得させる。
【発明の概要】
【課題を解決するための手段】
【０００３】
（解決策）
組み込まれ、自動化されたアプリケーション開発に対する顧客需要処理は、単一の機能として示され、ソフトウェアアプリケーション開発リスクを減少させ、有意に新しい能力をソフトウェアアプリケーション開発に導入する。標準的なアプリケーションストア（例えば、Ａｐｐｌｅの「Ａｐｐ  Ｓｔｏｒｅ」またはＭｉｃｒｏｓｏｆｔ  Ｓｔｏｒｅ）と異なり、本ソフトウェアアプリケーション開発システム（「アプリケーションストア」）は、ソフトウェア開発者コミュニティのさまざまなアイデアと、ユーザーがそのコミュニティに直接、連絡を取り合う能力と、さらに、オンラインストアのショッピングの利便性とを組み合わせる。
【０００４】
本アプリケーションストアを通して販売される全てのアプリケーションに対して、顧客は、任意の問題を開発者に直接知らせることと、問題を生成した入力／パラメータ値を提出することと、問題が対処された場合、直接的な通知を（アプリケーション自体を通してと、ｅメールを介してとの両方で）受け取ることとを行うことが可能である。この処理は、速やかに修復する能力と、その特定の問題解決に関心のある顧客にのみ通知する能力とをアプリケーション開発者に提供する。本アプリケーションストアを通して販売される各アプリケーションに対して、追加のアプリケーション機能性がリクエストおよび提供され得ることによって、顧客が、カスタマイズされたソフトウェアアプリケーションに、元のソフトウェア開発者から直接アクセスすることを可能にする。
【０００５】
本システムによって開発されるアプリケーションの処理性能は、顧客のリクエストによって、動的に変更され得る。増加された性能は、クラウドコンピューティング環境によって提供される計算処理リソースの量の関数である。動的であり、リアルタイムのアプリケーション性能変更は、オンラインのアプリケーションに対して、新たな能力を表す。
【０００６】
顧客、開発者およびコンピューティング環境にコミュニティとして、双方向に関わる能力を付与することによって、開発者が、顧客によって希望される高品質なアプリケーション（その性能は、顧客によって決定される）を作成することが可能となる。本システムにおいて行われる双方向の関わりは、特定のアプリケーションにおいて必要とされる特徴を公に利用可能にすることを容易にする。
【図面の簡単な説明】
【０００７】
【図１】図１は、アプリケーション開発に対する顧客需要処理を自動化する例示的システムを示すシステム図である。
【図２】図２は、リクエストされたアプリケーションが利用可能であるか否かを決定するために、例示的実施形態において行われる一組の工程を示すフローチャートである。
【図３Ａ】図３Ａは、アプリケーションに対する現在のマーケット需要を追跡するために用いられる例示的情報を含む表である。
【図３Ｂ】図３Ｂは、例示的「アプリケーション説明」スクリーンを示す。
【図４】図４は、例示的「アプリケーション詳細」スクリーンを示す。
【図５】図５は、例示的「ショッピングカート」スクリーンを示す。
【図６】図６は、例示的「チェックアウト」スクリーンを示す。
【図７】図７は、アプリケーションへの変更に対するリクエストを実装するために、例示的実施形態において行われる一組の工程を示すフローチャートである。
【図８】図８は、アプリケーション中の「バグ」を報告および修復するために、例示的実施形態において行われる一組の工程を示すフローチャートである。
【図９】図９は、例示的「アルゴリズム追跡」スクリーンを示す。
【図１０】図１０は、２つのアプリケーションの性能を比較するために、例示的実施形態において行われる一組の工程を示すフローチャートである。
【発明を実施するための形態】
【０００８】
（詳細な説明）
顧客の問合わせに応答して、本アプリケーションストアシステムは、必要とされるアプリケーションが存在するか否かを決定するために、検索エンジンおよびキーワードを用いる。必要とされるアプリケーションが存在しない場合、需要ベースの開発サイクルが開始され、顧客は、自身のソフトウェアアプリケーション要求を直接アプリケーション開発者に提供する。
【０００９】
図１は、アプリケーション開発に対する顧客需要処理を自動化する例示的システム１００のハイレベルコンポーネントを示すシステム図である。図１に示されるように、アプリケーションストアシステム１００は、マーケティングおよび開発クラウドコンピューティングシステム１０１を含む。クラウドコンピューティングシステムは、ユーザーのコンピュータシステムから、処理および／または大規模データ格納をオフロードするために用いられる一群のサーバーである。システム１０１の各サーバーは、関連メモリ１０４を含む。関連メモリ１０４は、アプリケーション検索エンジン１０３を含むが、検索エンジンは、プロセッサ１０１の外部にあり得る。サーバーメモリは、本明細書に説明されるシステムソフトウェアアプリケーション開発およびマーケティング機能を行うプログラム１１５を含む。
【００１０】
マーケティングおよび開発クラウドコンピューティングシステム１０１は、データベース１０５および「アプリケーション開発並列コンピューティングクラウド」１０６に結合される。アプリケーション開発並列コンピューティングクラウド１０６は、顧客のアプリケーションを実行するための並列処理能力を提供する少なくとも１つのサーバークラスター１０７を含む。（本明細書に説明されるアプリケーションのユーザーでもある）複数の顧客および複数の開発者が、例えば、それぞれのコンピュータシステム１０８および１０９（明確にするために、それぞれ１つのみを示す）を用いて、例えば、インターネット接続１３０を介して、システム１０１および他のシステムコンポーネントにアクセスする。モニター１１０および１１１は、メッセージおよびデータエントリーフィールドを顧客と開発者との間の連絡のために提供する。
【００１１】
図２は、リクエストされたアプリケーションが入手可能であるか否かを決定するために、例示的実施形態において行われる一組の例示的工程を示すフローチャートである。図２に示されるように、工程２０１において、各アプリケーションに関連するキーワードのリストが、対応するアプリケーションの名称と共に、データベースファイル１２１に格納される。工程２０５において、顧客は、顧客のコンピュータシステム１０８上にシステム「メインメニュー」を表示するスクリーンを介して、所望のタイプのアプリケーションを規定または所望のタイプのアプリケーションに関連するキーワードのリストを入力し、次いで、「検索」ボタンを選択する。「メインメニュー」スクリーンは、まず、キーワードのリストを入力するためのフィールドおよび「検索」ボタンを含む。工程２１０において、「検索」ボタンが選択されると、アプリケーション検索エンジン１０３がデータベース１０５中の「既存のアプリケーションキーワード」テーブル１１１を、顧客によって入力されたキーワードのうちのいずれかに適合するアプリケーションについて検索する。検索エンジン１０３は、キーワードのうちのいくつかを既存するアプリケーションに適合させ得るが、他のキーワードは、データベース１０５中のアプリケーションに適合する対応物を有さない場合がある。
【００１２】
工程２１５において、システムは、（データベース１０５中に）いずれの既存のアプリケーションとも適合しないキーワードを格納する。この情報は、新たなアプリケーションタイプを決定するために用いられる。異なる顧客からの、同一または類似のキーワードリクエストの数は、潜在的なマーケットサイズを規定する。
【００１３】
本システムに関与する開発者は、このマーケット需要情報へのアクセスを有しており、需要を満たすアプリケーションを作成し得、キーワードをそれらのアプリケーションのためのキーワードリストに追加し得るか、または、代替的に、開発者は、単に、マーケット需要情報を無視し得る。
【００１４】
キーワード検索がアプリケーション適合（工程２１７）を生成しなかった場合、システムは、工程２２０において、必要とされるアプリケーションの短い説明を求める質問をアプリケーション説明スクリーンに表示する。次いで、顧客は、必要とされるアプリケーションの説明を工程２２５において入力し、説明およびキーワードリストをシステム１０１に送信する（工程２３０）。説明は、開発者コミュニティによる使用のために、システム１０１からアクセスされ得る。次いで、顧客の表示は、システムメインメニューに戻される。この処理は、顧客が直接、新たなアプリケーションをリクエストすることを可能にする。次いで、顧客によって入力されたアプリケーションの説明は、工程２３５で、データベース１０５中の「新たなアプリケーションキーワード」テーブル１１２に格納される。次いで、アプリケーションの説明は、対応する新たなアプリケーションを開発する際の基礎、または少なくとも重要なガイドラインとして、１以上の開発者によって用いられる。以下の表１は、新たなアプリケーションキーワードテーブル１１２の例である。
【００１５】
【表１】
2013531303.tif 000003
新たなマーケット範囲を刺激することに加えて、キーワード情報は、現在のマーケット需要を追跡するために用いられ得る。図３Ａの表２は、アプリケーションに対する現在のマーケット需要が、どのように追跡され得るかの例示的表示を示す。図３に示されるように、顧客が入力したキーワードに関連する情報は、一日または月平均のリクエスト、ライセンス、小売り、卸売り、および使用毎のライセンス料の全売上量および数、ならびに発行された使用毎のライセンスの数のようなマーケット関連情報を含み得る。この情報は、特定のキーワードに適合する各アプリケーションに対して、コンパイルされる。
【００１６】
マーケット追跡テーブル１１０は、データベース１０５中に格納され、表２（図３Ａ）に示される情報を含み、最新のマーケット情報を示し得る。例示的実施形態において、キーワードテーブル１１２中の全てのキーワードが、価格付け情報、ユーザーの人数、および売上数に関連する製品のリストを有しているので、詳細なマーケティンググラフを作成することが可能となる。この情報は、どの製品に需要があるかを決定することと、それらの製品に対する競争的価格を設定することとのために、開発者コミュニティによって用いられ得る。
【００１７】
（工程２１７における）キーワード検索が、顧客によって提出されたアプリケーションの説明における１つ以上のキーワードに適合するアプリケーションを発見した場合、適合するアプリケーションのリストを含む「アプリケーション選択」リスト３０２が、工程２４０において、「アプリケーション説明」スクリーン３００に表示される。図３Ｂは、アプリケーション選択リスト３０２を含む例示的「アプリケーション説明」スクリーン３００を示す。アプリケーション選択リスト３０２は、適合するアプリケーションおよびその短い説明を表示する。
【００１８】
工程２４５において、顧客は、アプリケーション選択リスト３０２中のアプリケーション名を選択し得、簡単なアプリケーションの説明が、各適合するアプリケーションに対して示され、次いで、表示される。アプリケーション情報は、データベースファイル１１５に格納され、各アプリケーションに対する情報は、（図１に示される）データベースファイル１２０に格納される対応するアプリケーションコードを参照する。表示するページが２つ以上ある場合、「次のページ」ボタンが（例えば、ボタンを左クリックすることによって）選択され得、アプリケーションの次のページを表示する。アプリケーションが表示される順番は、マーケット追跡テーブル１１０に格納される情報によって決定された、それらのアプリケーションの「人気」の関数である。
【００１９】
この点において、顧客がアプリケーション選択リストに関心のアプリケーションを発見しなかった場合、顧客は、メインメニューに戻り得るか、または、より情報を望むアプリケーションを選択し得る。メインメニューに戻る、が選ばれた場合、システムオペレーションが工程２０５において再開する。そうでない場合、工程２５０において、顧客は、アプリケーション選択リスト中のアプリケーション名を選択し、次いで、選択されたアプリケーションに対する詳細なアプリケーションの説明が、工程２５５において、「アプリケーション詳細」スクリーンに表示される。
【００２０】
図４は、例示的アプリケーション詳細スクリーン４００を示す。アプリケーション詳細スクリーンのチェックアウトボタンは、ショッピングカートにアイテムが入れられるまで無効化される。アイテムをショッピングカートに入れるために、ユーザーは、アプリケーション詳細スクリーン上の、カートに追加ボタン４０５を選択する。ユーザーがアプリケーション詳細スクリーンに表示されるアプリケーションの試用を希望し、無料使用（フィールド４０４）の数が２つ以上であった場合、ユーザーは、アプリケーションを作動させ、無料使用の数を１つ減らす無料トライアルボタン４０２を選択する。無料使用の数は、アプリケーション開発中に、開発者によって設定される。アプリケーションの実行が完了した場合、制御がアプリケーション詳細スクリーンに戻される。ユーザーは、戻るボタン４０６を選択することによって、アプリケーション選択リストに戻り得る。戻るボタンを選択することは、ユーザーが別のアプリケーションを選択することを可能にする。
【００２１】
現在のアプリケーションの詳細な説明は、アプリケーション詳細スクリーンが表示された場合に示される。ユーザーが選択されたアプリケーションの購入を希望する場合、アプリケーション詳細スクリーンから「カートに追加」ボタン４０５を選択することによって、ショッピングカートスクリーン５００を工程２６０で表示させる。アプリケーション詳細スクリーンからチェックアウトボタン４０１を選択することによって、（図６に関して、以下に説明される）チェックアウトスクリーンを表示させる。
【００２２】
図５は、例示的ショッピングカートスクリーン５００を示す。ショッピングカートスクリーン上の「チェックアウト」ボタン５０１を選択することによって、チェックアウトスクリーンを工程２６５で表示させる。戻るボタン５０３を選択することによって、システムをアプリケーション詳細スクリーンに戻す。「もっとアイテムを手に入れる」ボタン５０２を選択することによって、システムをアプリケーション選択リスト３０２を表示する「アプリケーション説明」スクリーン３００に戻す。
【００２３】
図６は、例示的「チェックアウト」スクリーンを示す。チェックアウトボタンと、無料トライアルボタンとを選ぶことの唯一の有意な差は、チェックアウトスクリーンに表示されるアイテムのライセンス期間および価格である。「無料トライアル」が選択された場合、ライセンス期間の代わりに、価格がゼロであり、特定数の使用がある。「購入」ボタン６０１がチェックアウトスクリーン上で選択された場合、「購入方法」スクリーンが工程２７０において表示される。「完了」ボタン６０２が選択された場合、メインメニューに戻る。
【００２４】
購入方法スクリーンは、顧客が、特定のクレジットカードまたは他の支払い方法のような購入機構を選択することを可能にする１つ以上のボタンを含む。次いで、工程２７５で、適切な支払い方法を選択することによって、支払いがなされる。支払いが許容されると、システムはクライアントを識別するクライアントコードを有している別のスクリーンを生成する。次いで、顧客は、顧客をシステムメインメニューに戻す「完了」ボタンを選択する。
【００２５】
図７は、アプリケーションへの機能的または他の変更に対するリクエストを実装するために、例示的実施形態において行われる一組の工程を示すフローチャートである。（モニター１１０に表示される）「開始」スクリーンは、本システムによって提供される全てのアプリケーションに関連している。「開始」スクリーンは、ユーザーが開発者コミュニティと双方向に関わることと、アプリケーションの機能性に変更をリクエストすることと、エラーを報告することとを可能にする。開始スクリーンは、アプリケーションインターフェースの一部であり、アプリケーションに組み込まれる。開始スクリーンは、システムユーザーと開発コミュニティとの間の連絡のための機構を、例えば、（図１に示される）インターネット接続１３０を介して提供する通信プログラムに結合される。
【００２６】
開始スクリーンは、ユーザー（顧客）がさらなるアプリケーション機能性を「機能性変更リクエスト」スクリーンを通してリクエストすることを可能にする「変更をリクエスト」ボタンを含む。「機能性変更リクエスト」スクリーンは、アプリケーションの特定の局面を変更するリクエストを入力するためのフィールドを含む。工程７０５において、顧客が「変更をリクエスト」ボタンを選択し、アプリケーションに対する所望の変更を示すリクエストを入力すると、機能変更情報がアプリケーションの開発者に工程７１０において送信される。
【００２７】
（モニター１１１に表示される）「管理者」メインスクリーンは、本システムを用いる開発者による使用のために利用可能である。本システムにおける管理レベルのユーザー（「管理者」）が「クライアントリクエスト」ボタンを選択した場合、「クライアント機能リクエストリスト」スクリーンが表示される。管理者は、各リクエストを許容または拒絶し得る。（工程７１５において）管理者がリクエストを拒絶した場合、システムは、「アプリケーションリクエスト拒絶」通知を、工程７２０において送信する。「アプリケーションリクエスト拒絶」通知は、拒絶の理由を含む。開発者のメッセージは、開始スクリーンに表示され、（変更リクエストが行われたときに）顧客のｅメールアドレスが入力された場合、応答も入力されたｅメールアドレスに送信される。
【００２８】
管理者がリクエストを許容（つまり、リクエストされた変更を提供することに同意）した場合、システムは、許容メッセージを、工程７２５において、顧客に戻し、（顧客による適切な支払いの後）開発者は、工程７３０において、リクエストされた変更をする。作業が完了し、管理者がクライアント発表を発行した後、管理者は、システムに作業完了ｅメールを、工程７３５において、顧客に送らせるボタンを選択する。
【００２９】
図８は、アプリケーション中の「バグ」を報告および修復するために、例示的実施形態において行われる一組の工程を示すフローチャートである。開始スクリーンは、「バグ」ボタンを含む。工程８０５において、バグボタンを選択することによって、アプリケーションエラー報告スクリーンを表示させる。顧客は、工程８１０において、アプリケーションエラーの説明およびｅメールアドレスをアプリケーションエラー報告スクリーンに入力する。次いで、顧客は、「データを入力」ボタンを選択し、システムは、「アプリケーションデータ入力」スクリーンを表示する。次いで、顧客は、工程８１２において、エラーを生成した入力データを入力する。次いで、顧客は、工程８１５において、システムにエラーの説明および顧客のｅメールアドレスを適切な開発者に送らせる「送信する」ボタンを選択する。
【００３０】
開発者の管理者メインスクリーンは、「バグリスト」ボタンを含む。バグリストボタンを選択することによって、「バグリスト」スクリーンを、工程８２０において表示させる。次いで、工程８２５において、管理者は、直されるべき未解決の「バグ」のリストからと特定の「バグ」を選択し、「アルゴリズム追跡」スクリーンを、工程８３０において表示させる。
【００３１】
図９は、例示的アルゴリズム追跡スクリーン９００を示す。アルゴリズム追跡スクリーンは、コードが報告された「バグ」を含むアプリケーションとして発表された、関心のアルゴリズムのブロック図９０１を表示する。アルゴリズムのブロック図９０１は、カーネル（ブロック９０２、９０３、９０４）および内部アルゴリズム（ブロック９０５）のようなモジュールを表すブロックを関心のアルゴリズム中に含み、モジュールと矢印との間のデータフローを示す。
【００３２】
工程８３５において、アルゴリズムへの入力は、顧客によって提供される入力値に予め設定される。次いで、エラーは、「追跡」ボタン９０６を用いて開発者によって追跡されることによって、工程８４０において、アプリケーションのカーネル（およびサブアルゴリズム）を通した活性化および変形を特定のカーネルまたは内部アルゴリズムまで追跡する。問題を引き起こすカーネルまたはアルゴリズムが、本開発組織によって作成された場合、欠陥コードの作成者は、管理者によるエラー修復義務を割り当てられる。問題が修復されて、顧客からのデータが正しい応答を生成した場合、管理者は、アプリケーションを（工程８４５において）再発表し、バグがバグリストから取り除かれ、報告されたバグが直されたことを示す「アプリケーションエラーが修復された」というメッセージを、工程８５０において、顧客に送信される。
【００３３】
一実施形態において、本方法を介して販売されるアプリケーションは、関連する開始スクリーン上の性能向上バーを有している。適切なパラメータがアプリケーションに入力された後、性能向上スライダーバーが作動される。スライダーバーは、まず、０．００ドルの価格の場合の処理時間を示す。この処理時間は、コストによって減らされ得る。スライダーバーを動かすことによって、処理時間推定を減らし、また、コストを増やす。要求された性能が入力された場合、顧客は、動作ボタンを選択し得る。スライダーバー上の価格が０よりも高い場合、システムは、チェックアウトスクリーンを表示する。ユーザーは、性能向上に対して支払い、システムは、ジョブを動作させる。価格がゼロの場合、システムは、チェックアウトスクリーンを表示せずに、ジョブを動作させる。
【００３４】
アプリケーションソフトウェアは、データセットと、そのデータ上で行われる処理を規定するために用いられる入力パラメータに依って、異なって作用し得る。図１０は、２つのアプリケーションの性能を比較するために、例示的実施形態において行われる一組の工程１０００を示すフローチャートである。アプリケーション選択リスト３０２を含むアプリケーション説明スクリーン３００が表示された場合、顧客は、（工程１００５において）２つのアプリケーションを選択する。次いで、両選択されたアプリケーションの入力スクリーンが、工程１０１０において、別個のポップアップウィンドウとして現れる。入力データは、最初に、１つのウィンドウに入力され、次いで、他方のウィンドウに入力され、続いて、工程１０１５において、（図３Ｂに示される）「Ａｐｐを比較」ボタン３０１を選択する。
【００３５】
開発者によって利用可能にされた少なくとも１つの「無料使用の数」があるアプリケーションのみが比較され得る。任意の「無料使用」が利用可能（工程１０１７）の場合、アプリケーションは、工程１０２０において動作され、各アプリケーションの出力は、工程１０２５において、リクエストデータファイルおよび／または出力ポップアップスクリーンにおいて利用可能にされる。各アプリケーションの性能に関する統計が、工程１０３０において生成および表示される。それらの統計は、例えば、最低性能（例えば、Ｍｂ／秒）、使用毎の最低価格、最低価格対性能比（例えば、＄／Ｍｂ／秒）、最高性能（例えば、Ｍｂ／秒）、（性能ブースターコストを含む）使用毎の最高価格（例えば、＄／Ｍｂ／秒）、および最高価格対性能比（例えば、＄／Ｍｂ／秒）を含み得る。（工程１０１７において）いずれかの「無料使用」が残っている場合、さらに無料の使用がなくなるまで、比較が継続され得る。
【００３６】
以上の手続きは、顧客が公平に２つのアプリケーションを比較することと、計算処理された比較値を受け取ることと、顧客自身のデータセットを用いて、各アプリケーションに対する価格−性能データを得ることとを可能にする。無料の使用特徴の数は、開発者が、いずれか特定のＭＡＣアドレスが消費する無料のジョブの総数を制限することを可能にすることによって、顧客が比較特徴を乱用しないことを保証する。
【図１】
2013531303.tif 000004
【図２】
2013531303.tif 000005
【図３Ａ】
2013531303.tif 000006
【図３Ｂ】
2013531303.tif 000007
【図４】
2013531303.tif 000008
【図５】
2013531303.tif 000009
【図６】
2013531303.tif 000010
【図７】
2013531303.tif 000011
【図８】
2013531303.tif 000012
【図９】
2013531303.tif 000013
【図１０】
2013531303.tif 000014
【国際調査報告】
2013531303.tif 000015
2013531303.tif 000016