開発される新たなソフトウェアアプリケーションを識別するコンピュータ実装方法であって、該方法は、適合するキーワードについてコンピュータデータベースを検索することであって、該適合するキーワードは、一群の選択されたキーワードのうちのいずれかに対応し、新たなアプリケーションを示し、該適合するキーワードは、該新たなアプリケーションの潜在的なユーザーによって選ばれ、該データベースは、一組の既存のアプリケーションを示す説明的キーワードを含む、ことと、適合するキーワードが該データベース中に見つからなかった場合には、該潜在的なユーザーから、該新たなアプリケーションの説明をリクエストすることと、該新たなアプリケーションの説明を該潜在的なユーザーから受け取ることと、該新たなアプリケーションの説明を、該新たなアプリケーションを開発するための基礎として用いることとを含む、方法。複数の製品に対する相対的な需要を決定するコンピュータ実装方法であって、該方法は、複数のキーワードを該複数の製品の各々に関連付けることと、製品リクエストを複数のユーザーの各々から受け取ることであって、該リクエストの各々は、該製品のうちの1つを説明する少なくとも1つの該キーワードを含む、ことと、該キーワードを含むテーブルを生成することとを含み、該キーワードの各々は、a該潜在的なユーザーによる該リクエストの数を含む関連情報と、b該キーワードに関連する該製品の各々に対する売上量とを有しており、該キーワードが該関連情報に含まれる、方法。前記キーワードの各々は、関連情報を有しており、該関連情報は、該キーワードに関連する前記製品の各々に対して発行されたライセンスの数と、該キーワードに関連する該製品に対するライセンス料とをさらに含む、請求項2に記載の方法。前記テーブルは、前記製品に対する値付けを確立させるために用いられる、請求項2に記載の方法。前記製品は、ソフトウェアアプリケーションである、請求項2に記載の方法。前記キーワードをリクエストし、該キーワードを1以上のソフトウェア開発者に送信するプログラムを前記アプリケーションの各々に組み込むことを含む、請求項5に記載の方法。ソフトウェアアプリケーションのユーザーが、該アプリケーションへの機能的変化をリクエストすることを可能にするコンピュータ実装方法であって、該方法は、アプリケーション変更リクエストを該アプリケーションのユーザーから該アプリケーションの開発者に送信することであって、該アプリケーション変更リクエストは、該アプリケーションへのリクエストされた変更を示す情報を含み、該情報は、該アプリケーションに組み込まれたプログラムを介して送信される、ことと、該リクエストされた変化を提供する同意を示すメッセージを該開発者から該ユーザーに送信することと、該リクエストされた変更を該アプリケーションに対して行うことと、該リクエストされた変更を含む該アプリケーションを、該ユーザーに利用可能にすることとを含む、方法。前記ユーザーは、eメールを介して、前記リクエストされた変更が前記アプリケーションに行われたことを通知される、請求項7に記載の方法。前記ユーザーは、前記アプリケーションに組み込まれたプログラムを介して、該アプリケーションに対する前記変更の完了を通知される、請求項8に記載の方法。前記開発者は、前記アプリケーションに組み込まれたプログラムを介して前記ユーザーに送信されるメッセージを介して、該ユーザーの変更リクエストの拒絶を示す、請求項7に記載の方法。前記開発者は、前記ユーザーに、前記アプリケーションに組み込まれたプログラムを介して、前記リクエストされたアプリケーション変更が拒絶された理由を知らせる、請求項7に記載の方法。複数の開発者は、各アプリケーションの各ユーザーによって提出された各アプリケーション変更リクエストを送信される、請求項7に記載の方法。ソフトウェアアプリケーションのユーザーが該アプリケーション中のエラーを報告することを可能にするコンピュータ実装方法であって、該方法は、通信プログラムを該アプリケーションに組み込むことと、該アプリケーション中の1つ以上のエラーを示す情報を含むエラー報告を該アプリケーションのユーザーから該アプリケーションの開発者に送信するために、該通信プログラムを用いることとを含む、方法。前記1つ以上のエラーを生成した入力データが前記エラー報告と共に送信される、請求項13に記載の方法。前記開発者は、報告されたエラー状態を再現するために入力パラメータデータを用いる、請求項14に記載の方法。2つのアプリケーションの性能を比較するコンピュータ実装方法であって、該方法は、2つのアプリケーションをアプリケーションのリストから選択することと、データを該2つのアプリケーションに入力することと、該2つのアプリケーションを同時に実行することと、該2つのアプリケーションの出力を表示および保存することと、該2つのアプリケーションの各々に対する性能統計を生成および表示することとを含む、方法。前記性能統計は、最低性能、使用毎の最低価格、最低価格対性能比、最高性能、および最高価格対性能比を含む、請求項16に記載の方法。前記選択されたアプリケーションの各々に対して、任意の無料の使用が残っているか否かを決定することと、無料の使用が該選択されたアプリケーションのいずれに対しても残っていない場合、該アプリケーションの比較を阻止することとをさらに含む、請求項16に記載の方法。解決策組み込まれ、自動化されたアプリケーション開発に対する顧客需要処理は、単一の機能として示され、ソフトウェアアプリケーション開発リスクを減少させ、有意に新しい能力をソフトウェアアプリケーション開発に導入する。標準的なアプリケーションストア例えば、AppleのAppStoreまたはMicrosoftStoreと異なり、本ソフトウェアアプリケーション開発システムアプリケーションストアは、ソフトウェア開発者コミュニティのさまざまなアイデアと、ユーザーがそのコミュニティに直接、連絡を取り合う能力と、さらに、オンラインストアのショッピングの利便性とを組み合わせる。本アプリケーションストアを通して販売される全てのアプリケーションに対して、顧客は、任意の問題を開発者に直接知らせることと、問題を生成した入力/パラメータ値を提出することと、問題が対処された場合、直接的な通知をアプリケーション自体を通してと、eメールを介してとの両方で受け取ることとを行うことが可能である。この処理は、速やかに修復する能力と、その特定の問題解決に関心のある顧客にのみ通知する能力とをアプリケーション開発者に提供する。本アプリケーションストアを通して販売される各アプリケーションに対して、追加のアプリケーション機能性がリクエストおよび提供され得ることによって、顧客が、カスタマイズされたソフトウェアアプリケーションに、元のソフトウェア開発者から直接アクセスすることを可能にする。本システムによって開発されるアプリケーションの処理性能は、顧客のリクエストによって、動的に変更され得る。増加された性能は、クラウドコンピューティング環境によって提供される計算処理リソースの量の関数である。動的であり、リアルタイムのアプリケーション性能変更は、オンラインのアプリケーションに対して、新たな能力を表す。顧客、開発者およびコンピューティング環境にコミュニティとして、双方向に関わる能力を付与することによって、開発者が、顧客によって希望される高品質なアプリケーションその性能は、顧客によって決定されるを作成することが可能となる。本システムにおいて行われる双方向の関わりは、特定のアプリケーションにおいて必要とされる特徴を公に利用可能にすることを容易にする。詳細な説明顧客の問合わせに応答して、本アプリケーションストアシステムは、必要とされるアプリケーションが存在するか否かを決定するために、検索エンジンおよびキーワードを用いる。必要とされるアプリケーションが存在しない場合、需要ベースの開発サイクルが開始され、顧客は、自身のソフトウェアアプリケーション要求を直接アプリケーション開発者に提供する。図1は、アプリケーション開発に対する顧客需要処理を自動化する例示的システム100のハイレベルコンポーネントを示すシステム図である。図1に示されるように、アプリケーションストアシステム100は、マーケティングおよび開発クラウドコンピューティングシステム101を含む。クラウドコンピューティングシステムは、ユーザーのコンピュータシステムから、処理および/または大規模データ格納をオフロードするために用いられる一群のサーバーである。システム101の各サーバーは、関連メモリ104を含む。関連メモリ104は、アプリケーション検索エンジン103を含むが、検索エンジンは、プロセッサ101の外部にあり得る。サーバーメモリは、本明細書に説明されるシステムソフトウェアアプリケーション開発およびマーケティング機能を行うプログラム115を含む。マーケティングおよび開発クラウドコンピューティングシステム101は、データベース105およびアプリケーション開発並列コンピューティングクラウド106に結合される。アプリケーション開発並列コンピューティングクラウド106は、顧客のアプリケーションを実行するための並列処理能力を提供する少なくとも1つのサーバークラスター107を含む。本明細書に説明されるアプリケーションのユーザーでもある複数の顧客および複数の開発者が、例えば、それぞれのコンピュータシステム108および109明確にするために、それぞれ1つのみを示すを用いて、例えば、インターネット接続130を介して、システム101および他のシステムコンポーネントにアクセスする。モニター110および111は、メッセージおよびデータエントリーフィールドを顧客と開発者との間の連絡のために提供する。図2は、リクエストされたアプリケーションが入手可能であるか否かを決定するために、例示的実施形態において行われる一組の例示的工程を示すフローチャートである。図2に示されるように、工程201において、各アプリケーションに関連するキーワードのリストが、対応するアプリケーションの名称と共に、データベースファイル121に格納される。工程205において、顧客は、顧客のコンピュータシステム108上にシステムメインメニューを表示するスクリーンを介して、所望のタイプのアプリケーションを規定または所望のタイプのアプリケーションに関連するキーワードのリストを入力し、次いで、検索ボタンを選択する。メインメニュースクリーンは、まず、キーワードのリストを入力するためのフィールドおよび検索ボタンを含む。工程210において、検索ボタンが選択されると、アプリケーション検索エンジン103がデータベース105中の既存のアプリケーションキーワードテーブル111を、顧客によって入力されたキーワードのうちのいずれかに適合するアプリケーションについて検索する。検索エンジン103は、キーワードのうちのいくつかを既存するアプリケーションに適合させ得るが、他のキーワードは、データベース105中のアプリケーションに適合する対応物を有さない場合がある。工程215において、システムは、データベース105中にいずれの既存のアプリケーションとも適合しないキーワードを格納する。この情報は、新たなアプリケーションタイプを決定するために用いられる。異なる顧客からの、同一または類似のキーワードリクエストの数は、潜在的なマーケットサイズを規定する。本システムに関与する開発者は、このマーケット需要情報へのアクセスを有しており、需要を満たすアプリケーションを作成し得、キーワードをそれらのアプリケーションのためのキーワードリストに追加し得るか、または、代替的に、開発者は、単に、マーケット需要情報を無視し得る。キーワード検索がアプリケーション適合工程217を生成しなかった場合、システムは、工程220において、必要とされるアプリケーションの短い説明を求める質問をアプリケーション説明スクリーンに表示する。次いで、顧客は、必要とされるアプリケーションの説明を工程225において入力し、説明およびキーワードリストをシステム101に送信する工程230。説明は、開発者コミュニティによる使用のために、システム101からアクセスされ得る。次いで、顧客の表示は、システムメインメニューに戻される。この処理は、顧客が直接、新たなアプリケーションをリクエストすることを可能にする。次いで、顧客によって入力されたアプリケーションの説明は、工程235で、データベース105中の新たなアプリケーションキーワードテーブル112に格納される。次いで、アプリケーションの説明は、対応する新たなアプリケーションを開発する際の基礎、または少なくとも重要なガイドラインとして、1以上の開発者によって用いられる。以下の表1は、新たなアプリケーションキーワードテーブル112の例である。新たなマーケット範囲を刺激することに加えて、キーワード情報は、現在のマーケット需要を追跡するために用いられ得る。図3Aの表2は、アプリケーションに対する現在のマーケット需要が、どのように追跡され得るかの例示的表示を示す。図3に示されるように、顧客が入力したキーワードに関連する情報は、一日または月平均のリクエスト、ライセンス、小売り、卸売り、および使用毎のライセンス料の全売上量および数、ならびに発行された使用毎のライセンスの数のようなマーケット関連情報を含み得る。この情報は、特定のキーワードに適合する各アプリケーションに対して、コンパイルされる。マーケット追跡テーブル110は、データベース105中に格納され、表2図3Aに示される情報を含み、最新のマーケット情報を示し得る。例示的実施形態において、キーワードテーブル112中の全てのキーワードが、価格付け情報、ユーザーの人数、および売上数に関連する製品のリストを有しているので、詳細なマーケティンググラフを作成することが可能となる。この情報は、どの製品に需要があるかを決定することと、それらの製品に対する競争的価格を設定することとのために、開発者コミュニティによって用いられ得る。工程217におけるキーワード検索が、顧客によって提出されたアプリケーションの説明における1つ以上のキーワードに適合するアプリケーションを発見した場合、適合するアプリケーションのリストを含むアプリケーション選択リスト302が、工程240において、アプリケーション説明スクリーン300に表示される。図3Bは、アプリケーション選択リスト302を含む例示的アプリケーション説明スクリーン300を示す。アプリケーション選択リスト302は、適合するアプリケーションおよびその短い説明を表示する。工程245において、顧客は、アプリケーション選択リスト302中のアプリケーション名を選択し得、簡単なアプリケーションの説明が、各適合するアプリケーションに対して示され、次いで、表示される。アプリケーション情報は、データベースファイル115に格納され、各アプリケーションに対する情報は、図1に示されるデータベースファイル120に格納される対応するアプリケーションコードを参照する。表示するページが2つ以上ある場合、次のページボタンが例えば、ボタンを左クリックすることによって選択され得、アプリケーションの次のページを表示する。アプリケーションが表示される順番は、マーケット追跡テーブル110に格納される情報によって決定された、それらのアプリケーションの人気の関数である。この点において、顧客がアプリケーション選択リストに関心のアプリケーションを発見しなかった場合、顧客は、メインメニューに戻り得るか、または、より情報を望むアプリケーションを選択し得る。メインメニューに戻る、が選ばれた場合、システムオペレーションが工程205において再開する。そうでない場合、工程250において、顧客は、アプリケーション選択リスト中のアプリケーション名を選択し、次いで、選択されたアプリケーションに対する詳細なアプリケーションの説明が、工程255において、アプリケーション詳細スクリーンに表示される。図4は、例示的アプリケーション詳細スクリーン400を示す。アプリケーション詳細スクリーンのチェックアウトボタンは、ショッピングカートにアイテムが入れられるまで無効化される。アイテムをショッピングカートに入れるために、ユーザーは、アプリケーション詳細スクリーン上の、カートに追加ボタン405を選択する。ユーザーがアプリケーション詳細スクリーンに表示されるアプリケーションの試用を希望し、無料使用フィールド404の数が2つ以上であった場合、ユーザーは、アプリケーションを作動させ、無料使用の数を1つ減らす無料トライアルボタン402を選択する。無料使用の数は、アプリケーション開発中に、開発者によって設定される。アプリケーションの実行が完了した場合、制御がアプリケーション詳細スクリーンに戻される。ユーザーは、戻るボタン406を選択することによって、アプリケーション選択リストに戻り得る。戻るボタンを選択することは、ユーザーが別のアプリケーションを選択することを可能にする。現在のアプリケーションの詳細な説明は、アプリケーション詳細スクリーンが表示された場合に示される。ユーザーが選択されたアプリケーションの購入を希望する場合、アプリケーション詳細スクリーンからカートに追加ボタン405を選択することによって、ショッピングカートスクリーン500を工程260で表示させる。アプリケーション詳細スクリーンからチェックアウトボタン401を選択することによって、図6に関して、以下に説明されるチェックアウトスクリーンを表示させる。図5は、例示的ショッピングカートスクリーン500を示す。ショッピングカートスクリーン上のチェックアウトボタン501を選択することによって、チェックアウトスクリーンを工程265で表示させる。戻るボタン503を選択することによって、システムをアプリケーション詳細スクリーンに戻す。もっとアイテムを手に入れるボタン502を選択することによって、システムをアプリケーション選択リスト302を表示するアプリケーション説明スクリーン300に戻す。図6は、例示的チェックアウトスクリーンを示す。チェックアウトボタンと、無料トライアルボタンとを選ぶことの唯一の有意な差は、チェックアウトスクリーンに表示されるアイテムのライセンス期間および価格である。無料トライアルが選択された場合、ライセンス期間の代わりに、価格がゼロであり、特定数の使用がある。購入ボタン601がチェックアウトスクリーン上で選択された場合、購入方法スクリーンが工程270において表示される。完了ボタン602が選択された場合、メインメニューに戻る。購入方法スクリーンは、顧客が、特定のクレジットカードまたは他の支払い方法のような購入機構を選択することを可能にする1つ以上のボタンを含む。次いで、工程275で、適切な支払い方法を選択することによって、支払いがなされる。支払いが許容されると、システムはクライアントを識別するクライアントコードを有している別のスクリーンを生成する。次いで、顧客は、顧客をシステムメインメニューに戻す完了ボタンを選択する。図7は、アプリケーションへの機能的または他の変更に対するリクエストを実装するために、例示的実施形態において行われる一組の工程を示すフローチャートである。モニター110に表示される開始スクリーンは、本システムによって提供される全てのアプリケーションに関連している。開始スクリーンは、ユーザーが開発者コミュニティと双方向に関わることと、アプリケーションの機能性に変更をリクエストすることと、エラーを報告することとを可能にする。開始スクリーンは、アプリケーションインターフェースの一部であり、アプリケーションに組み込まれる。開始スクリーンは、システムユーザーと開発コミュニティとの間の連絡のための機構を、例えば、図1に示されるインターネット接続130を介して提供する通信プログラムに結合される。開始スクリーンは、ユーザー顧客がさらなるアプリケーション機能性を機能性変更リクエストスクリーンを通してリクエストすることを可能にする変更をリクエストボタンを含む。機能性変更リクエストスクリーンは、アプリケーションの特定の局面を変更するリクエストを入力するためのフィールドを含む。工程705において、顧客が変更をリクエストボタンを選択し、アプリケーションに対する所望の変更を示すリクエストを入力すると、機能変更情報がアプリケーションの開発者に工程710において送信される。モニター111に表示される管理者メインスクリーンは、本システムを用いる開発者による使用のために利用可能である。本システムにおける管理レベルのユーザー管理者がクライアントリクエストボタンを選択した場合、クライアント機能リクエストリストスクリーンが表示される。管理者は、各リクエストを許容または拒絶し得る。工程715において管理者がリクエストを拒絶した場合、システムは、アプリケーションリクエスト拒絶通知を、工程720において送信する。アプリケーションリクエスト拒絶通知は、拒絶の理由を含む。開発者のメッセージは、開始スクリーンに表示され、変更リクエストが行われたときに顧客のeメールアドレスが入力された場合、応答も入力されたeメールアドレスに送信される。管理者がリクエストを許容つまり、リクエストされた変更を提供することに同意した場合、システムは、許容メッセージを、工程725において、顧客に戻し、顧客による適切な支払いの後開発者は、工程730において、リクエストされた変更をする。作業が完了し、管理者がクライアント発表を発行した後、管理者は、システムに作業完了eメールを、工程735において、顧客に送らせるボタンを選択する。図8は、アプリケーション中のバグを報告および修復するために、例示的実施形態において行われる一組の工程を示すフローチャートである。開始スクリーンは、バグボタンを含む。工程805において、バグボタンを選択することによって、アプリケーションエラー報告スクリーンを表示させる。顧客は、工程810において、アプリケーションエラーの説明およびeメールアドレスをアプリケーションエラー報告スクリーンに入力する。次いで、顧客は、データを入力ボタンを選択し、システムは、アプリケーションデータ入力スクリーンを表示する。次いで、顧客は、工程812において、エラーを生成した入力データを入力する。次いで、顧客は、工程815において、システムにエラーの説明および顧客のeメールアドレスを適切な開発者に送らせる送信するボタンを選択する。開発者の管理者メインスクリーンは、バグリストボタンを含む。バグリストボタンを選択することによって、バグリストスクリーンを、工程820において表示させる。次いで、工程825において、管理者は、直されるべき未解決のバグのリストからと特定のバグを選択し、アルゴリズム追跡スクリーンを、工程830において表示させる。図9は、例示的アルゴリズム追跡スクリーン900を示す。アルゴリズム追跡スクリーンは、コードが報告されたバグを含むアプリケーションとして発表された、関心のアルゴリズムのブロック図901を表示する。アルゴリズムのブロック図901は、カーネルブロック902、903、904および内部アルゴリズムブロック905のようなモジュールを表すブロックを関心のアルゴリズム中に含み、モジュールと矢印との間のデータフローを示す。工程835において、アルゴリズムへの入力は、顧客によって提供される入力値に予め設定される。次いで、エラーは、追跡ボタン906を用いて開発者によって追跡されることによって、工程840において、アプリケーションのカーネルおよびサブアルゴリズムを通した活性化および変形を特定のカーネルまたは内部アルゴリズムまで追跡する。問題を引き起こすカーネルまたはアルゴリズムが、本開発組織によって作成された場合、欠陥コードの作成者は、管理者によるエラー修復義務を割り当てられる。問題が修復されて、顧客からのデータが正しい応答を生成した場合、管理者は、アプリケーションを工程845において再発表し、バグがバグリストから取り除かれ、報告されたバグが直されたことを示すアプリケーションエラーが修復されたというメッセージを、工程850において、顧客に送信される。一実施形態において、本方法を介して販売されるアプリケーションは、関連する開始スクリーン上の性能向上バーを有している。適切なパラメータがアプリケーションに入力された後、性能向上スライダーバーが作動される。スライダーバーは、まず、0.00ドルの価格の場合の処理時間を示す。この処理時間は、コストによって減らされ得る。スライダーバーを動かすことによって、処理時間推定を減らし、また、コストを増やす。要求された性能が入力された場合、顧客は、動作ボタンを選択し得る。スライダーバー上の価格が0よりも高い場合、システムは、チェックアウトスクリーンを表示する。ユーザーは、性能向上に対して支払い、システムは、ジョブを動作させる。価格がゼロの場合、システムは、チェックアウトスクリーンを表示せずに、ジョブを動作させる。アプリケーションソフトウェアは、データセットと、そのデータ上で行われる処理を規定するために用いられる入力パラメータに依って、異なって作用し得る。図10は、2つのアプリケーションの性能を比較するために、例示的実施形態において行われる一組の工程1000を示すフローチャートである。アプリケーション選択リスト302を含むアプリケーション説明スクリーン300が表示された場合、顧客は、工程1005において2つのアプリケーションを選択する。次いで、両選択されたアプリケーションの入力スクリーンが、工程1010において、別個のポップアップウィンドウとして現れる。入力データは、最初に、1つのウィンドウに入力され、次いで、他方のウィンドウに入力され、続いて、工程1015において、図3Bに示されるAppを比較ボタン301を選択する。開発者によって利用可能にされた少なくとも1つの無料使用の数があるアプリケーションのみが比較され得る。任意の無料使用が利用可能工程1017の場合、アプリケーションは、工程1020において動作され、各アプリケーションの出力は、工程1025において、リクエストデータファイルおよび/または出力ポップアップスクリーンにおいて利用可能にされる。各アプリケーションの性能に関する統計が、工程1030において生成および表示される。それらの統計は、例えば、最低性能例えば、Mb/秒、使用毎の最低価格、最低価格対性能比例えば、/Mb/秒、最高性能例えば、Mb/秒、性能ブースターコストを含む使用毎の最高価格例えば、/Mb/秒、および最高価格対性能比例えば、/Mb/秒を含み得る。工程1017においていずれかの無料使用が残っている場合、さらに無料の使用がなくなるまで、比較が継続され得る。以上の手続きは、顧客が公平に2つのアプリケーションを比較することと、計算処理された比較値を受け取ることと、顧客自身のデータセットを用いて、各アプリケーションに対する価格-性能データを得ることとを可能にする。無料の使用特徴の数は、開発者が、いずれか特定のMACアドレスが消費する無料のジョブの総数を制限することを可能にすることによって、顧客が比較特徴を乱用しないことを保証する。