(57)【要約】  コンピュータシステムに対するソフトウェアプログラムの適合性を決定するため、およびコンピュータシステムのユーザに適合するソフトウェアプログラムのリストを供給するためのデバイスおよび方法が提供される。
2013545172.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイデバイスと、
通信インターフェースと、
前記ディスプレイデバイスおよび前記通信インターフェースに結合された処理回路とを備えるコンピュータシステムであって、
前記処理回路は、
コンピュータシステムの１つまたは複数の構成の詳細を決定すること、
前記通信インターフェースを介して、複数のソフトウェアプログラムのディレクトリを獲得することであって、各ソフトウェアプログラムは、前記ソフトウェアプログラムに関するシステム要件のセットに関連付けられること、および
前記ディスプレイデバイスを介して、コンピュータシステムの前記構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示することであって、前記表示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備えることを行うように適応される、コンピュータシステム。
【請求項２】
前記獲得されるディレクトリは、前記適合するソフトウェアプログラムの指示を含む請求項１に記載のコンピュータシステム。
【請求項３】
前記複数のソフトウェアプログラムの前記獲得されるディレクトリは、前記適合するソフトウェアプログラムの指示を伴わないソフトウェアプログラムのディレクトリを備え、
前記処理回路は、
前記複数のソフトウェアプログラムの前記ディレクトリの中で前記適合するソフトウェアプログラムを識別すること、および
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記リストを生成することを行うようにさらに適応される請求項１に記載のコンピュータシステム。
【請求項４】
ソフトウェアプログラムの前記表示されるリストは、前記適合するソフトウェアプログラムだけを備え、前記適合するソフトウェアプログラムは、前記表示されるリストの中に含まれることによって示される請求項１に記載のコンピュータシステム。
【請求項５】
ソフトウェアプログラムの前記表示されるリストは、前記適合するソフトウェアプログラムと、適合しない１つまたは複数のソフトウェアプログラムの両方を備え、
前記適合するソフトウェアプログラムは、適合する各ソフトウェアプログラムに関連付けられた標識を含む請求項１に記載のコンピュータシステム。
【請求項６】
適合する各ソフトウェアプログラムに関連付けられる前記標識は、強調表示すること、前記適合するソフトウェアプログラムを前記生成されるリストの先頭に配置すること、星印、または矢印のうちの少なくとも１つを備える請求項５に記載のコンピュータシステム。
【請求項７】
コンピュータシステムにおいて動作する方法であって、
前記コンピュータシステムの１つまたは複数の構成の詳細を決定すること、
複数のソフトウェアプログラムのディレクトリを獲得することであって、各ソフトウェアプログラムは、前記ソフトウェアプログラムに関するシステム要件のセットに関連すること、および
前記コンピュータシステムの前記構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示することであって、前記示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備えることを備える方法。
【請求項８】
複数のソフトウェアプログラムの前記ディレクトリを獲得することは、前記適合するソフトウェアプログラムを示す複数のソフトウェアプログラムのディレクトリを獲得することを含み、
ソフトウェアプログラムの前記リストを表示することは、前記複数のソフトウェアプログラムの前記獲得されたディレクトリを表示することを備える請求項７に記載の方法。
【請求項９】
複数のソフトウェアプログラムの前記ディレクトリを獲得することは、前記適合するソフトウェアプログラムの指示を伴わない複数のソフトウェアプログラムのディレクトリを獲得することを含み、前記方法は、
前記複数のソフトウェアプログラムの前記ディレクトリの中で前記適合するソフトウェアプログラムを識別すること、および
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記リストを生成することをさらに備える請求項７に記載の方法。
【請求項１０】
適合する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示することは、前記適合するソフトウェアプログラムだけを備えるソフトウェアプログラムのリストを表示することを含む請求項７に記載の方法。
【請求項１１】
適合する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示することは、
前記適合するソフトウェアプログラムと、適合しない１つまたは複数のソフトウェアプログラムの両方を備えるソフトウェアプログラムのリストを表示すること、および
適合する各ソフトウェアプログラムに関連付けられた標識を表示することを含む請求項７に記載の方法。
【請求項１２】
適合する各ソフトウェアプログラム関連付けられた標識を表示することは、強調表示、星印、または矢印から成る標識のグループから選択された少なくとも１つの標識を表示することを含む請求項１１に記載の方法。
【請求項１３】
コンピュータ可読プログラムコードで符号化されたコンピュータ可読媒体であって、
前記プログラムコードは、
コンピュータシステムの１つまたは複数の構成の詳細を決定するように動作可能な命令と、
複数のソフトウェアプログラムのディレクトリを獲得するように動作可能な命令であって、各ソフトウェアプログラムは、前記ソフトウェアプログラムに関するシステム要件のセットに関連付けられる、命令と、
前記コンピュータシステムの前記構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示するように動作可能な命令であって、前記表示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備える、命令とを備えるコンピュータ可読媒体。
【請求項１４】
複数のソフトウェアプログラムのディレクトリを獲得するように動作可能な前記命令は、前記適合するソフトウェアプログラムの指示を伴わないソフトウェアプログラムのディレクトリを獲得するように動作可能な命令を備え、前記コンピュータ可読媒体は、
前記複数のソフトウェアプログラムの前記獲得されたディレクトリの中で前記適合するソフトウェアプログラムを識別するように動作可能な命令と、
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記リストを生成するように動作可能な命令とをさらに備える請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
通信インターフェースと、
複数のソフトウェアプログラムのカタログを格納する記憶媒体であって、各ソフトウェアプログラムは、前記ソフトウェアプログラムに関するシステム要件のセットに関連する、記憶媒体と、
前記通信インターフェースおよび前記記憶媒体に結合された処理回路とを備えるサーバシステムであって、
前記処理回路は、
前記通信インターフェースを介して、遠隔システムに関連する１つまたは複数の構成の詳細を含む要求を受信すること、
前記受信された構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを生成することあって、前記示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備えること、および
前記通信インターフェースを介して、適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記生成されたリストを含むディレクトリを伝達するように適応される、サーバシステム。
【請求項１６】
前記伝達されたディレクトリの中のソフトウェアプログラムの前記リストは、前記カタログからの前記適合するソフトウェアプログラムと、前記カタログからの適合しないソフトウェアプログラムの両方を含む請求項１５に記載のサーバシステム。
【請求項１７】
前記伝達されるディレクトリの中のソフトウェアプログラムの前記リストは、前記示される適合するソフトウェアプログラムだけを含む請求項１５に記載のサーバシステム。
【請求項１８】
前記処理回路は、適合する各ソフトウェアプログラムに少なくとも１つの標識を関連付けることによって適合する各ソフトウェアプログラムを示すように適応される請求項１５に記載のサーバシステム。
【請求項１９】
適合する各ソフトウェアプログラムに関連付けられる前記少なくとも１つの標識は、強調表示すること、前記適合するソフトウェアプログラムを前記生成されるリストの先頭に配置すること、星印、または矢印のうちの少なくとも１つを備える請求項１８に記載のサーバシステム。
【請求項２０】
サーバシステムにおいて動作する方法であって、
遠隔システムから要求を受信することであって、前記要求は、前記遠隔システムに関連する１つまたは複数の構成の詳細を含むこと、
前記受信された構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを生成することであって、前記示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備えること、および
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記生成されたリストを含むディレクトリを伝達することを備える方法。
【請求項２１】
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記リストを生成することは、カタログから、前記受信された構成の詳細に適合しないソフトウェアプログラムを選別して除くことを含む請求項２０に記載の方法。
【請求項２２】
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記リストを生成することは、適合する各ソフトウェアプログラムに少なくとも１つの標識を関連付けることを含む請求項２０に記載の方法。
【請求項２３】
適合する各ソフトウェアプログラムに少なくとも１つの標識を関連付けることは、強調表示すること、星印、または矢印のうちの少なくとも１つを関連付けることを含む請求項２２に記載の方法。
【請求項２４】
コンピュータ可読プログラムコードで符号化されたコンピュータ可読媒体であって、
前記プログラムコードは、
遠隔システムから要求を受信するように動作可能な命令であって、前記要求は、前記遠隔システムに関連する１つまたは複数の構成の詳細を含む、命令と、
前記受信された構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを生成するように動作可能な命令であって、前記示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備える、命令と、
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの前記生成されたリストを含むディレクトリを伝達するように動作可能な命令とを備えるコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ソフトウェアなどのデジタルコンテンツを配布することは、一般に、そのようなコンテンツをウェブサイトからダウンロードすることによって、またはそのようなコンテンツを光ディスク（例えば、ＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ）などの物理的媒体からダウンロードすることによって行われる。ウェブサイトベースのソフトウェア配布は、非常に少ししかインフラストラクチャを要求しないという利点を有する。しかし、ウェブサイトは、しばしば、セキュリティ保護されておらず、ハッキングおよび著作権侵害行為に対して脆弱である。
【０００２】
ソフトウェアプログラムなどのデジタルコンテンツに関するウェブサイトベースの配布方法と物理的配布方法の両方が、ユーザのシステムに既にインストールされているソフトウェアを含めて或る特定のソフトウェアまたは他のコンテンツがユーザの特定のコンピュータシステムに適合するかどうかを評価可能であるには、ユーザがコンピュータシステムの或る技術的理解を有さなければならないという欠点を抱えている。このことに鑑みて、デジタルコンテンツを配布する改良された方法が必要とされる。
【発明の概要】
【０００３】
一実施形態において、本発明は、ディスプレイデバイスと、通信インターフェースと、ディスプレイデバイスと通信インターフェースの両方に結合された処理回路とを含むコンピュータシステムに関する。この実施形態における処理回路は、
コンピュータシステムの１つまたは複数の構成の詳細を決定すること、
通信インターフェースを介して、複数のソフトウェアプログラムのディレクトリを獲得することであって、各ソフトウェアプログラムは、そのソフトウェアプログラムに関するシステム要件のセットに関連すること、および
ディスプレイデバイスを介して、コンピュータシステムの構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示することであって、示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備えることを行うように適応される。
【０００４】
この実施形態において、獲得されるディレクトリは、適合するソフトウェアプログラムの指示を含み得る。このディレクトリが、適合するソフトウェアプログラムの指示を欠いている場合、処理回路は、適合するソフトウェアプログラムのリストを識別し、さらに生成するようにさらに適応され得る。
【０００５】
好ましくは、ソフトウェアプログラムの表示されるリストは、適合するソフトウェアプログラムだけを備える。代替として、ソフトウェアプログラムの表示されるリストは、適合するソフトウェアプログラムと適合しない１つまたは複数のソフトウェアプログラムの両方を備えることが可能であり、適合するソフトウェアプログラムは、強調表示、星印、または矢印などの適合性の標識を含むことが可能である。
【０００６】
別の実施形態において、本発明は、
コンピュータシステムの１つまたは複数の構成の詳細を決定するステップと、
複数のソフトウェアプログラムのディレクトリを獲得するステップであって、各ソフトウェアプログラムは、そのソフトウェアプログラムに関するシステム要件のセットに関連する、ステップと、
コンピュータシステムの構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示するステップであって、示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備える、ステップとを備える、コンピュータシステムにおいて動作する方法を備える。
【０００７】
この方法において、ソフトウェアプログラムのディレクトリを獲得するステップは、適合するプログラムを示すソフトウェアプログラムのディレクトリを獲得すること、および、その後、プログラムを表示することを含み得る。代替として、このディレクトリは、適合するソフトウェアプログラムの指示を伴わずに獲得されることが可能であり、この場合、方法は、例えば、強調表示、星印、または矢印などの標識に関連付けられることが可能な適合するプログラムのリストを識別し、生成することをさらに備える。
【０００８】
さらなる実施形態において、本発明は、コンピュータ可読プログラムコードで符号化されたコンピュータ可読媒体を備える。この実施形態におけるプログラムコードは、
コンピュータシステムの１つまたは複数の構成の詳細を決定するように動作可能な命令と、
複数のソフトウェアプログラムのディレクトリを格納するように動作可能な命令であって、各ソフトウェアプログラムは、そのソフトウェアプログラムに関するシステム要件のセットに関連する、命令と、
コンピュータシステムの構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示するように動作可能な命令であって、示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備える、命令とを備える。
【０００９】
複数のソフトウェアプログラムのディレクトリを獲得するための命令は、好ましくは、適合するソフトウェアプログラムの指示を伴わずにディレクトリを獲得するための命令を備え、この場合、コンピュータ可読媒体は、複数のソフトウェアプログラムの獲得されたディレクトリの中で適合するソフトウェアプログラムを識別するように動作可能な命令と、適合する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを生成するように動作可能な命令とをさらに備える。
【００１０】
さらに別の実施形態において、本発明は、
通信インターフェースと、
複数のソフトウェアプログラムのカタログを格納する記憶媒体であって、各ソフトウェアプログラムは、そのソフトウェアプログラムに関するシステム要件のセットに関連する、記憶媒体と、
通信インターフェースおよび記憶媒体に結合された処理回路とを含むサーバシステムであって、処理回路は、
通信インターフェースを介して、遠隔システムに関連する１つまたは複数の構成の詳細を含む要求を受信すること、
受信された構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを生成することであって、示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備えること、および
通信インターフェースを介して、適合する各ソフトウェアプログラムを示すソフトウェアプログラムの生成されたリストを含むディレクトリを伝達することを行うように適応される、サーバシステムを備え得る。
【００１１】
この実施形態におけるサーバシステムは、ソフトウェアプログラムのリストを生成する際、カタログからの適合するソフトウェアプログラムと、適合しないソフトウェアプログラムとの両方を含むことが可能であり、または、代替として、適合するソフトウェアプログラムだけを含むことが可能である。また、サーバの処理回路は、好ましくは、適合する各ソフトウェアプログラムに少なくとも１つの標識を関連付けることによって、適合する各ソフトウェアプログラムを示すように適応される。
【００１２】
本発明の別の実施形態は、
遠隔システムから要求を受信するステップであって、この要求は、遠隔システムに関連する１つまたは複数の構成の詳細を含む、ステップと、
受信された構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを生成するステップであって、示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備える、ステップと、
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの生成されたリストを含むディレクトリを伝達するステップとを備える、サーバシステムにおいて動作する方法を含む。
【００１３】
ソフトウェアプログラムのリストを生成することは、受信された構成の詳細に適合しないソフトウェアプログラムをカタログから選別して除き、さらに／または適合する各ソフトウェアプログラムに少なくとも１つの標識を関連付けるステップをさらに含み得る。
【００１４】
本発明のさらなる実施形態は、コンピュータ可読プログラムコードで符号化されたコンピュータ可読媒体を備え、このプログラムコードは、
遠隔システムから要求を受信するように動作可能な命令であって、この要求は、遠隔システムに関連する１つまたは複数の構成の詳細を含む、命令と、
受信された構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを生成するように動作可能な命令であって、示されるソフトウェアプログラムは、適合するソフトウェアプログラムを備える、命令と、
適合する各ソフトウェアプログラムを示すソフトウェアプログラムの生成されたリストを含むディレクトリを伝達するように動作可能な命令とを備える。
【図面の簡単な説明】
【００１５】
【図１】１つまたは複数のコンピュータシステムが通信ネットワーク内でどのように動作するかを例示するブロック図である。
【図２】適合するソフトウェアプログラムがサーバシステムによって示される少なくとも１つの実施形態による、コンピュータシステムに適合するソフトウェアプログラムのリストの識別および表示を例示する流れ図である。
【図３】適合するソフトウェアプログラムがコンピュータシステムによって示される少なくとも１つの実施形態による、コンピュータシステムに適合するソフトウェアプログラムのリストの識別および表示を例示する流れ図である。
【図４】１つまたは複数の実施形態による、コンピュータシステムの選択された構成要素を示すブロック図である。
【図５】コンピュータシステム上で動作する方法の少なくとも１つの実施形態を示す流れ図である。
【図６】少なくとも１つの実施形態によるサーバシステムの選択された構成要素を示すブロック図である。
【図７】サーバシステム上で動作する方法の少なくとも１つの実施形態を示す流れ図である。
【発明を実施するための形態】
【００１６】
定義
本明細書で使用される以下の用語、およびそれらの用語の変種は、そのような用語が使用される文脈によって異なる意味が明確に意図されない限り、以下に与えられる意味を有する。
【００１７】
処理回路に関する「〜するように適応された」とは、処理回路が、何らかのプロセス、関数、ステップ、またはルーチンを実行するように構成されること、使用されること、実施されること、またはプログラミングされること、ならびに以上の任意の組み合わせを指す。
【００１８】
「カタログ」とは、アイテム（例えば、ソフトウェアプログラム）のリストを指す。本明細書で使用されるカタログは、アイテムの名前または他の識別子を含み得る。一部の実装形態において、カタログは、名前または他の識別子に加えて、アイテムの記述、またはアイテムと関係する他の情報を含み得る。
【００１９】
コンピュータシステムおよびソフトウェアプログラムに関する「適合する」とは、コンピュータシステムが、特定のソフトウェアプログラムのシステム要件を有すること、または満たすことを指す。つまり、或る特定のソフトウェアプログラムは、或る特定のコンピュータシステムに適合することが、そのコンピュータシステムが、少なくとも最低限の、さらに／または推奨される構成の詳細（例えば、ハードウェア構成要素および／またはソフトウェアリソース）を有する場合、可能である。
【００２０】
「コンピュータシステム」とは、ソフトウェアを実行するように適応させられ、さらに通信ネットワークを介して通信するように適応された任意の電子データ処理デバイスを指す。例として、限定としてではなく、コンピュータシステムには、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレット（例えば、ｉＰＡＤ（登録商標））、パーソナルメディアプレーヤ（例えば、ｉＰＯＤ（登録商標）、ＺＵＮＥ（登録商標））、スマートフォン（例えば、ｉＰＨＯＮＥ（登録商標）、ＤＲＯＩＤ（登録商標）、ＢＬＡＣＫＢＥＲＲＹ（登録商標））、または他のデータ処理デバイスが含まれ得る。
【００２１】
コンピュータシステムの「構成の詳細」とは、コンピュータシステムの１つまたは複数のハードウェア構成要素および／またはソフトウェアリソースを指す。例として、限定としてではなく、「構成の詳細」には、プロセッサパフォーマンス能力（例えば、プロセッサ速度、プロセッサタイプ）、メモリ能力、利用可能な二次ストレージ（例えば、ハードディスクスペース）、ディスプレイ能力およびグラフィックス能力（例えば、ディスプレイ解像度、グラフィックスカードパフォーマンス）、オペレーティングシステム、利用可能なアプリケーションプログラミングインターフェース（ＡＰＩ）、ドライバ、または他のソフトウェアプログラム（例えば、ウェブブラウザ）もしくは他のハードウェア（例えば、キーボード、ポインティングデバイス、カメラ、ネットワークデバイスなどの周辺装置）が含まれ得る。また、他のハードウェアおよび／またはソフトウェアの詳細／能力が、「構成の詳細」という用語によって含まれることも可能である。
【００２２】
「ソフトウェアプログラム」とは、何を行うべきかをプロセッサに告げる命令を与えるプロセッサ実行可能コードもしくはコードセグメントのコレクションを指す。本明細書で使用される「ソフトウェアプログラム」という用語には、ソフトウェア、ファームウェア、ミドルウェア、テストウェア、またはマイクロコード、および以上の任意の組み合わせが含まれ得る。例として、限定としてではなく、ソフトウェアの例には、アプリケーションソフトウェア、システムソフトウェア、プログラミングソフトウェア、およびゲームソフトウェア（例えば、ビデオゲームまたはコンピュータゲームのための）が含まれ得る。
【００２３】
ソフトウェアプログラムに関する「システム要件」とは、特定のソフトウェアプログラムが効率的に、さらに／または正しく動作する必要条件と考えられるコンピュータシステム上のハードウェア構成要素および／または他のソフトウェアリソースを指す。そのような必要条件は、しばしば、ソフトウェア発売元またはソフトウェア開発者によって示され、さらに、通常、絶対的な規則ではなく、ガイドラインを示す。本開示の様々な実施形態によれば、「システム要件」とは、最低限のシステム要件、および／または推奨されるシステム要件を指し得る。最低限のシステム要件には、ソフトウェアプログラムが意図されるとおりに動作するのに要求される最低限のハードウェア構成要素および／またはソフトウェアリソースが含まれる。推奨されるシステム要件には、ソフトウェアプログラムが、意図される、または所望されるパフォーマンスレベルで動作するための示唆されるハードウェア構成要素および／またはソフトウェアリソースが含まれる。
【００２４】
例として、限定としてではなく、いくつかのシステム要件には、処理能力要件、メモリ要件、二次ストレージ要件（例えば、ハードディスクスペース）、ディスプレイ要件（例えば、ディスプレイ解像度、グラフィックスカード要件、グラフィックスカードメモリ）、オペレーティングシステム要件、アプリケーションプログラミングインターフェース（ＡＰＩ）要件、ドライバ要件、または他のソフトウェアプログラム（例えば、ウェブブラウザ）または他のハードウェア（例えば、キーボード、ポインティングデバイス、カメラ、ネットワークデバイスなどの周辺装置）、ならびに以上の１つまたは複数の要件の組み合わせが含まれ得る。また、様々なタイプのソフトウェアプログラムに関する他のハードウェア要件および／またはソフトウェア要件が含まれることも可能である。
【００２５】
本明細書で使用される、「備える」という用語、ならびに「備えた（ｃｏｍｐｒｉｓｉｎｇ）」および「備える（ｃｏｍｐｒｉｓｅｓ）」などの、この用語の変種は、その他の追加要素、構成要素、整数、またはステップを排除することを意図していない。本明細書で使用される「或る（ａ、ａｎ）」および「その」という用語、および類似した指示語は、文脈におけるそれらの語の用法がそうでないことを示さない限り、単数形と複数形の両方を範囲に含むものと解釈されるものとする。
【００２６】
システム概要
本開示の様々な実施形態は、ソフトウェアプログラムの配布（例えば、購入すること、および販売すること）のための市場を実施するための方法およびシステムを対象とする。少なくとも１つの特徴によれば、ソフトウェアプログラムが、特定のソフトウェアプログラムが特定のコンピュータシステムに適合することを示すように識別され、さらにリストアップされる。図１は、１つまたは複数のコンピュータシステムが通信ネットワーク内でどのように動作するかを示すブロック図である。ソフトウェア配信システム１００が、インターネット、イントラネット、他の通信ネットワーク、または様々な組み合わせなどの通信ネットワーク１０６を介して通信するように結合された、１つまたは複数のコンピュータシステム１０２と、１つまたは複数のサーバシステム１０４とを含み得る。サーバシステム１０４は、複数のソフトウェアプログラムのカタログを含み、さらにコンピュータシステム１０２は、コンピュータシステム１０２のユーザに表示されるべき複数のソフトウェアプログラムのディレクトリを獲得するために、通信ネットワーク１０６を介してサーバシステム１０４と通信するように適応されることが可能である。
【００２７】
図２は、図１のコンピュータシステムおよびサーバシステムの選択された特徴および選択された構成要素のブロック図を示す。サーバシステム１０４は、認証サーバエンジン２０２、カタログサーバエンジン２０４、およびコンテンツサーバエンジン２０６などの複数のサーバエンジンを含み得る。図２に示される実施形態において、コンテンツサーバエンジン２０６は、ソフトウェアプログラムのカタログを包含することが可能である。カタログの中のソフトウェアプログラムのそれぞれは、（最低限の、および／または示唆される）システム要件のセットに関連する。そのようなシステム要件は、カタログサーバエンジン２０４を介してソフトウェアプログラムの開発者または発売元によって示されることが可能である。少なくとも１つの特徴によれば、サーバシステム１０４は、ソフトウェア開発者またはソフトウェア発売元が、特定のソフトウェアプログラムに関連付けられるべきそのようなシステム要件指定を直接に入力することを可能にするように適応されることが可能である。例えば、ソフトウェア開発者またはソフトウェア発売元が、開発者ウェブポータルにログインし、さらにソフトウェア開発者またはソフトウェア発売元の新たな、またはアップグレードされたソフトウェアプログラムに関してカタログサーバエンジン２０４の中に新製品リストを作成することが可能である。開発者または発売元は、新たな、またはアップグレードされたソフトウェアプログラムに関連付けられた必要なファイル（例えば、プログラムファイルまたはプログラムインストールファイル）をカタログサーバエンジン２０４にアップロードすることができる。新たな、またはアップグレードされたソフトウェアプログラムをカタログサーバエンジン２０４にアップロードする時点で、開発者または発売元は、カタログサーバエンジン２０４における製品リストの中で、そのソフトウェアプログラムを実行するためのシステム要件が何であるかを指定する。そのソフトウェアプログラムが正常にアップロードされた後、サーバシステム１０４は、カタログにそのソフトウェアプログラムを追加することができる。少なくとも１つの実装形態において、サーバシステム１０４は、ユーザが、情報および特徴に遠隔でアクセスすることを許し、さらにコンピュータシステム１０２などのユーザのコンピュータシステム上に常駐するソフトウェアを使用する場合に生じるのと同一のワークフローに携わることを許すために、マイクロソフト社の．ＮＥＴ環境などのプラットフォーム、例えば、ＷＣＦ（ウインドウズコミュニケーションファウンデーション（Ｗｉｎｄｏｗｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ））フレームワークを使用して動作することが可能である。
【００２８】
コンピュータシステム１０２は、サーバシステム１０４と通信し、さらにソフトウェアプログラムのカタログからのソフトウェアプログラムの少なくともいくつかのソフトウェアプログラムのリストを含むディレクトリを獲得するように適応される。少なくとも１つの実施形態によれば、コンピュータシステム１０２は、認証サーバエンジン２０２を介してサーバシステム１０４からカタログ全体のリストを備えるディレクトリを獲得することができる。そのような実施形態において、コンピュータシステム１０２は、コンピュータシステム１０２の構成の詳細（例えば、コンピュータシステム１０２のハードウェア構成要素および／またはソフトウェアリソース）に適合するシステム要件を有するソフトウェアプログラムを示すことが可能である。１つまたは複数の代替の実施形態によれば、サーバシステム１０４は（コンテンツサーバエンジン２０６を介して）、コンピュータシステム１０２の特定の構成の詳細に従ってカタログを選別することができ、さらに、コンピュータシステム１０２の構成の詳細に適合するソフトウェアプログラムが示されるリストを備えるディレクトリをコンピュータシステム１０２に（認証サーバ２０２を介して）供給することができる。いずれにしても、コンピュータシステム１０２は、コンピュータシステム１０２に適合するソフトウェアプログラムを示すリストを表示するように適応される。
【００２９】
表示されるリストは、適合するソフトウェアプログラムとして示されるソフトウェアプログラムだけを備えることが可能である。他の実施形態において、表示されるリストは、適合するソフトウェアプログラムと、適合しないソフトウェアプログラムとを備えることが可能であり、適合するソフトウェアプログラムは、１つまたは複数の標識によってリストの中で識別される。例えば、適合するソフトウェアプログラムは、強調表示されること、適合されるソフトウェアプログラムが先にリストアップされて並べ替えられること、星印によって示されること、矢印によって示されること、または他の任意の適切な標識もしくは標識の組み合わせによって示されることが可能である。
【００３０】
ソフトウェアプログラムの表示されるリストを使用して、ユーザは、ユーザのコンピュータシステム１０２に適合するソフトウェアプログラムをブラウズすることができる。ユーザは、所望されるソフトウェアプログラムを識別した場合、ユーザのコンピュータシステム１０２にインストールするためにそのソフトウェアプログラムをリストからダウンロードすることができる。
【００３１】
図３は、適合するソフトウェアプログラムがサーバシステムによって示される少なくとも１つの実施形態によるコンピュータシステムに適合するソフトウェアプログラムのリストの識別および表示を例示する流れ図である。この例において、図１および図２のコンピュータシステム１０２およびサーバシステム１０４が、例示目的で使用される。適合するソフトウェアプログラムの識別および表示の一環として、コンピュータシステム１０２が、構成検出モジュールをインストールすることが可能である（３０２）。そのような構成検出モジュールは、一部の実施形態によれば、コンピュータシステム１０２によって実行されると、コンピュータシステム１０２に、コンピュータシステム１０２に関連する１つまたは複数の構成の詳細を獲得させるソフトウェアアプリケーションを備え得る。
【００３２】
構成検出モジュールがインストールされて、構成検出モジュールは、コンピュータシステム１０２に、１つまたは複数の構成の詳細に関してスキャンさせることが可能である（３０４）。例として、限定としてではなく、コンピュータシステム１０２は、プロセッサパフォーマンス能力（例えば、プロセッサ速度、プロセッサタイプ）、メモリ能力、利用可能な二次ストレージ（例えば、ハードディスクスペース）、ディスプレイ能力およびグラフィックス能力（例えば、ディスプレイ解像度、グラフィックスカードパフォーマンス）、オペレーティングシステム、利用可能なアプリケーションプログラミングインターフェース（ＡＰＩ）、ドライバ、または他のソフトウェアプログラム（例えば、ウェブブラウザ）もしくは他のハードウェア（例えば、キーボード、ポインティングデバイス、カメラ、ネットワークデバイスなどの周辺装置）を含む１つまたは複数の構成の詳細に関してスキャンすることが可能である。また、その他のハードウェアおよび／またはソフトウェアの詳細／能力が、構成の詳細に関するスキャン中に識別されることも可能である。
【００３３】
コンピュータシステム１０２に関連する構成の詳細が発見された後、ソフトウェアプログラムのリストを要求するメッセージが、コンピュータシステム１０２からサーバシステム１０４に伝送され得る（３０６）。このメッセージは、発見された構成の詳細のうちの１つまたは複数をさらに含み得る。サーバシステム１０４が、ソフトウェアプログラムのリストを求める要求、および構成の詳細を受信することが可能である（３０８）。図１に関連して前述したとおり、サーバシステム１０４は、複数のソフトウェアプログラムのカタログを含む。コンピュータシステム１０２から受信されたシステム構成の詳細を使用して、サーバシステム１０４は、適合するソフトウェアプログラムを示すリストを生成することができる（３１０）。例えば、サーバシステム１０４は、カタログから、受信されたシステム構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを識別することができる。少なくとも１つの実装形態において、サーバシステム１０４は、その１つまたは複数のシステム構成の詳細を使用して、コンピュータシステム１０２に適合しないソフトウェアプログラムを選別して除くことによって、適合するソフトウェアプログラムを識別し、適合するソフトウェアプログラムだけを備えるリストがもたらされることが可能である。別の実装形態において、サーバシステム１０４は、その１つまたは複数のシステム構成の詳細を使用して、適合する各ソフトウェアプログラムに標識を与えることができる。例えば、カタログの中の適合する各ソフトウェアプログラムが強調表示されることが可能であり、カタログが、適合するソフトウェアプログラムが先頭に配置されて並べ替えられることが可能であり、適合する各ソフトウェアプログラムの隣に星印または矢印が位置付けられることが可能であり、またはカタログからの適合するソフトウェアプログラムを示す他の任意の手段、および以上の組み合わせが可能である。
【００３４】
適合するソフトウェアプログラムを示すリストを含むディレクトリが、サーバシステム１０４からコンピュータシステム１０２に伝送される（３１２）。適合するソフトウェアプログラムを示すリストを含む、伝達されるディレクトリは、コンピュータシステム１０２によって受信され（３１４）、さらにコンピュータシステム１０２が、ソフトウェアプログラムのリストを表示することが可能である（３１６）。このようにして、コンピュータシステム１０２のユーザは、コンピュータシステム１０２の構成の詳細を知る必要なしに、１つまたは複数のソフトウェアプログラムのリストをブラウズすることができ、さらにコンピュータシステム１０２に適合しているものとして示されるソフトウェアプログラムを容易に識別することができる。
【００３５】
図４は、適合するソフトウェアプログラムがコンピュータシステムによって示される少なくとも１つの実施形態によるコンピュータシステムに適合するソフトウェアプログラムのリストの識別および表示を例示する流れ図である。この例において、図１のコンピュータシステム１０２およびサーバシステム１０４が、例示目的で再び使用される。適合するソフトウェアプログラムの識別および表示の一環として、コンピュータシステム１０２が、構成検出モジュールをインストールすることが可能である（４０２）。構成検出モジュールは、一部の実施形態によれば、コンピュータシステム１０２によって実行されると、コンピュータシステム１０２に、コンピュータシステム１０２に関連する１つまたは複数のシステム構成の詳細を獲得させるソフトウェアアプリケーションを備え得る。
【００３６】
構成検出モジュールがインストールされると、構成検出モジュールは、コンピュータシステム１０２に、１つまたは複数の構成の詳細に関してスキャンさせることが可能である（４０４）。例として、限定としてではなく、コンピュータシステム１０２は、プロセッサパフォーマンス能力（例えば、プロセッサ速度、プロセッサタイプ）、メモリ能力、利用可能な二次ストレージ（例えば、ハードディスクスペース）、ディスプレイ能力およびグラフィックス能力（例えば、ディスプレイ解像度、グラフィックスカードパフォーマンス）、オペレーティングシステム、利用可能なアプリケーションプログラミングインターフェース（ＡＰＩ）、ドライバ、または他のソフトウェアプログラム（例えば、ウェブブラウザ）もしくは他のハードウェア（例えば、キーボード、ポインティングデバイス、カメラ、ネットワークデバイスなどの周辺装置）を含む１つまたは複数の構成の詳細に関してスキャンすることが可能である。また、その他のハードウェアおよび／またはソフトウェアの詳細／能力が、構成の詳細に関するスキャン中に識別されることも可能である。
【００３７】
前述したとおり、サーバシステム１０４は、複数のソフトウェアプログラムのカタログを含む。コンピュータシステム１０２が、ソフトウェアプログラムのカタログを要求するメッセージをサーバシステム１０４に伝達することが可能である（４０６）。サーバシステム１０４が、ソフトウェアプログラムのカタログを求める要求を受信することが可能であり（４０８）、さらにユーザシステム１０４が、ソフトウェアプログラムのカタログを備えるディレクトリをコンピュータシステム１０２に伝達することが可能である（４１０）。ソフトウェアプログラムのカタログを有する伝送されたディレクトリが、コンピュータシステム１０２によって受信される（４１２）。図４に示される実装形態において、伝送されるカタログは、適合するソフトウェアプログラムの指示を全く含んでいない。伝送されるカタログは、ソフトウェアプログラムが適合するか、適合しないかの指示を全く伴わずに、単に複数のソフトウェアプログラムを含む。
【００３８】
コンピュータシステム１０２が、カタログから、システム構成の詳細に適合するシステム要件を有する各ソフトウェアプログラムを示すリストを作成することが可能である（４１４）。例えば、コンピュータシステム１０２は、システムスキャンから獲得されたシステム構成の詳細を使用して、カタログから適合する各ソフトウェアプログラムを識別することができる。少なくとも１つの実装形態において、コンピュータシステム１０２は、その１つまたは複数のシステム構成の詳細を使用して、コンピュータシステム１０２に適合しないソフトウェアプログラムを選別して除くことによって、適合するソフトウェアプログラムを識別して、適合するソフトウェアプログラムだけを備えるリストがもたらされることが可能である。別の実装形態において、コンピュータシステム１０２は、その１つまたは複数のシステム構成の詳細を使用して、適合する各ソフトウェアプログラムに標識を関連付けることができる。例えば、カタログの中の適合する各ソフトウェアプログラムが強調表示されることが可能であり、カタログが、適合するソフトウェアプログラムが先頭に配置されて並べ替えられることが可能であり、適合する各ソフトウェアプログラムの隣に星印または矢印が位置付けられることが可能であり、またはカタログからの適合するソフトウェアプログラムを示す他の任意の手段、および以上の組み合わせが用いられることが可能である。
【００３９】
次に、適合するソフトウェアプログラムのリストが、コンピュータシステム１０２によって表示される（４１６）。コンピュータシステム１０２のユーザは、やはり、コンピュータシステム１０２の構成の詳細を知る必要なしに、１つまたは複数のソフトウェアプログラムのリストをブラウズすることができ、さらにコンピュータシステム１０２に適合するソフトウェアプログラムを容易に識別することができる。
【００４０】
コンピュータシステム
図５は、１つまたは複数の実施形態によるコンピュータシステム５００の選択された構成要素を示すブロック図である。コンピュータシステム５００は、図１〜図４に関連して本明細書で前述したコンピュータシステム１０２の特徴のすべてを実行するように適応されることが可能である。図５に示されるとおり、コンピュータシステム５００は、記憶媒体５０４、通信インターフェース５０６、およびディスプレイ５０８に結合された処理回路５０２を含み得る。コンピュータシステム５００は、構成検出モジュール５１０をさらに含み得る。さらなる特徴および構成要素、より少ない特徴および構成要素、および／または異なる特徴および構成要素が、様々な実施形態によるコンピュータシステム５００に含まれることが可能であることに留意されたい。
【００４１】
処理回路５０２は、データを獲得し、処理し、さらに／または送り、データアクセスおよびデータ格納を制御し、コマンドを発行し、さらに所望される他の動作を制御するように整えられる。処理回路５０２は、少なくとも１つの実施形態において適切な媒体によって提供される所望のプログラミングを実施するように構成された回路を備え得る。例えば、処理回路５０２は、例えば、ソフトウェア命令および／またはファームウェア命令を含む実行可能命令を実行するように構成されたプロセッサ、コントローラ、複数のプロセッサおよび／または他の構造、および／またはハードウェア回路の１つまたは複数として実装され得る。処理回路５０２の実施形態には、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理構成要素、ディスクリートのゲートもしくはトランジスタロジック、ディスクリートのハードウェア構成要素、または本明細書で説明される機能を実行するように設計された以上の任意の組み合わせが含まれ得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであることが可能である。また、プロセッサは、ＤＳＰとマイクロプロセッサの組み合わせ、いくつかのマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、または他の任意のそのような構成などのコンピューティング構成要素の組み合わせとして実施されることも可能である。処理回路５０２のこれらの例は、例示を目的としており、さらに本開示の範囲に含まれる他の適切な構成も企図される。
【００４２】
記憶媒体５０４は、実行可能コードもしくは命令（例えば、ソフトウェア、ファームウェア）、電子データ、データベース、または他のデジタル情報などの、プログラミングおよび／またはデータを格納するための１つまたは複数のデバイスを表し得る。記憶媒体５０４は、汎用プロセッサまたは専用プロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。例として、限定としてではなく、記憶媒体５０４には、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および／または情報を格納するための他の一時的でないコンピュータ可読媒体が含まれ得る。記憶媒体５０４は、処理回路５０２が、記憶媒体５０４から情報を読み取ること、および記憶媒体５０４に情報を書き込むことができるように処理回路５０２に結合され得る。代替として、記憶媒体５０４は、処理回路５０２と一体であることが可能である。
【００４３】
通信インターフェース５０６は、コンピュータシステム５００のワイヤレス通信および／または有線通信を実施するように構成される。例えば、一部の実施形態において、通信インターフェース５０６は、通信ネットワーク（例えば、図１の通信ネットワーク１０６）によって１つまたは複数の遠隔デバイス（例えば、図１〜図４のサーバシステム１０４）、および他のデバイスに関して双方向で情報を通信するように構成され得る。通信インターフェース５０６は、アンテナに結合されることが可能であり、さらにワイヤレスデバイスとワイヤレス通信するためのワイヤレストランシーバ回路を含むことが可能であり、さらにネットワークインターフェースカード（ＮＩＣ）、シリアル接続もしくはパラレル接続、ＵＳＢポート、ファイヤワイヤ（Ｆｉｒｅｗｉｒｅ）インターフェース、フラッシュメモリインターフェース、フロッピーディスクドライブ、あるいは公共（例えば、インターネット）ネットワークおよび／またはプライベートネットワーク、もしくは他の有線設備に関して通信するための他の任意の設備を含むことも可能である。
【００４４】
ディスプレイ５０８は、ユーザに画像（例えば、ソフトウェアプログラムのリスト）を視覚的に提示するように構成される。例えば、ディスプレイ５０８には、モニタ、テレビ、映写機、またはユーザにグラフィックスを視覚的に提示するための他のデバイスが含まれ得る。
【００４５】
コンピュータシステム５００は、構成検出モジュール５１０をさらに含み得る。構成検出モジュール５１０は、コンピュータシステム５００内部に（例えば、記憶媒体５０４に格納されて）存在すること、コンピュータシステム５００の外部に（例えば、サーバシステムに）存在すること、または内部と外部の組み合わせで存在することが可能であるため、破線で示される。いずれにしても、構成検出モジュール５１０は、処理回路５０２に、コンピュータシステム５００の１つまたは複数の構成の詳細を識別させるように適応される。例えば、構成検出モジュール５１０は、処理回路５０２によってアクセスされ得るプロセッサ実行可能命令を備えることが可能である。一部の実装形態において、構成検出モジュール５１０は、ソフトウェア、ソフトウェア、ファームウェア、ミドルウェア、テストウェア、マイクロコード、またはハードウェア、および以上の任意の組み合わせを備え得る。
【００４６】
前述したとおり、コンピュータシステム５００は、図１〜図４に関連して前述したコンピュータシステム１０２の特徴のうちの１つまたは複数を実行するように適応されることが可能である。コンピュータシステム５００などのコンピュータシステム上で動作する方法の少なくとも１つの実施形態の例が、図６の流れ図に示される。図５と図６をともに参照すると、方法６００が、ステップ６０２でコンピュータシステムの１つまたは複数の構成の詳細を決定することを含むことが可能である。例えば、処理回路５０２が、コンピュータシステム５００の構成の詳細を決定するように適応されることが可能である。少なくとも１つの実施形態において、処理回路５０２は、処理回路５０２に、コンピュータシステム５００の１つまたは複数の構成の詳細を識別させることができる、構成検出モジュール５１０に関連する命令を実行することができる。その１つまたは複数の構成の詳細を識別すると、コンピュータシステム５００は、構成の詳細が正しいという確認をユーザに要求することが可能である。ユーザが、構成の詳細が正しくないと決定した場合、ユーザは、構成の詳細のうちの１つまたは複数を手動で変更するオプションを有することが可能である。構成の詳細は、将来のアクセスおよび使用のために、構成ファイルとして、例えば、記憶媒体５０４の中に、またはサーバシステム１０４における記憶媒体の中に格納され得る。
【００４７】
ステップ６０４で、コンピュータシステム５００が、複数のソフトウェアプログラムのディレクトリを獲得することが可能である。例えば、処理回路５０２が、通信インターフェース５０６を介してその複数のソフトウェアプログラムのディレクトリを獲得することができる。例えば、処理回路５０２は、ソフトウェアプログラムのリストを求める要求を含む伝送を遠隔サーバに送ることによって、さらにその複数のソフトウェアプログラムのディレクトリを含む伝送を遠隔サーバから受信することによって、その複数のソフトウェアプログラムのディレクトリを獲得することが可能である。ソフトウェアプログラムのディレクトリは、一部の実装形態では、ソフトウェアプログラムがコンピュータシステム５００に適合するかどうかの指示を伴わずに、適合するソフトウェアプログラムと適合しないソフトウェアプログラムの両方を含むソフトウェアプログラムのカタログを備え得る。他の実装形態において、ソフトウェアプログラムのディレクトリは、コンピュータシステム５００の構成の詳細に適合する各ソフトウェアプログラムを既に示しているリストを備え得る。
【００４８】
ソフトウェアプログラムの獲得されるディレクトリが、適合するソフトウェアプログラムの指示を伴わないソフトウェアプログラムのカタログを備える実装形態において、方法５００は、カタログの中でコンピュータシステム５００に適合するソフトウェアプログラムが識別されるオプションのステップ６０６を含み得る。適合する各ソフトウェアプログラムを識別することは、処理回路５０２が、各ソフトウェアプログラムに関連するシステム要件を評価すること、およびシステム要件を構成の詳細と比較することを含み得る。オプションのステップ６０８で、適合する各ソフトウェアプログラムを示すリストが生成され得る。例えば、その１つまたは複数のシステム構成の詳細が、コンピュータシステム５００に適合しないソフトウェアプログラムを選別して除くのに使用され得る。つまり、処理回路５０２は、或るソフトウェアプログラムが適合していると決定すると、単にそのソフトウェアプログラムをリストに追加することによって、そのソフトウェアプログラムが適合しているという指示を与えることができる。そのような実施形態において、生成されるリストは、適合するソフトウェアプログラムだけを備え得る。別の例において、標識が、適合する各ソフトウェアプログラムに関連付けられることが可能である。つまり、処理回路５０２は、或るソフトウェアプログラムが適合していると決定すると、リストの中でそのソフトウェアプログラムに標識を関連付けることによって、そのソフトウェアプログラムが適合しているという指示を与えることができる。そのような実施形態において、生成されるリストは、適合するソフトウェアプログラムと適合しないソフトウェアプログラムの両方を備え得るが、ユーザは、それらの標識によって適合するソフトウェアプログラムを識別することができる。
【００４９】
ステップ６０８でリストが生成された後（例えば、ディレクトリがソフトウェアプログラムのカタログを備える実装形態において）、またはステップ６０４でディレクトリが獲得された後（例えば、ディレクトリが、適合する各ソフトウェアプログラムを既に示しているリストを備える実装形態において）、適合するソフトウェアプログラムを示すリストが、ステップ６１０で表示され得る。例えば、処理回路５０２が、ディスプレイ５０８を用いて適合する各ソフトウェアプログラムを示すソフトウェアプログラムのリストを表示するように適応されることが可能である。
【００５０】
サーバシステム
図７は、１つまたは複数の実施形態によるサーバシステム７００の選択された構成要素を示すブロック図である。サーバシステム７００は、図１〜図４に関連して本明細書で前述したサーバシステム１０４の特徴のすべてを実行するように、さらに／または含むように適応されることが可能であり、さらに図２に関連して説明される様々なサーバエンジンを含むことが可能である。図７に示されるとおり、サーバシステムは、記憶媒体７０４および通信インターフェース７０６に結合された処理回路７０２を含み得る。
【００５１】
処理回路７０２は、データを獲得し、処理し、さらに／または送り、データアクセスおよびデータ格納を制御し、コマンドを発行し、さらに所望される他の動作を制御するように整えられる。処理回路７０２は、少なくとも１つの実施形態において適切な媒体によって提供される所望されるプログラミングを実施するように構成された回路を備え得る。例えば、処理回路７０２は、例えば、ソフトウェア命令および／またはファームウェア命令を含む実行可能命令を実行するように構成されたプロセッサ、コントローラ、複数のプロセッサおよび／または他の構造、および／またはハードウェア回路の１つまたは複数として実装され得る。処理回路７０２の実施形態には、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理構成要素、ディスクリートのゲートもしくはトランジスタロジック、ディスクリートのハードウェア構成要素、または本明細書で説明される機能を実行するように設計された以上の任意の組み合わせが含まれ得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであることが可能である。また、プロセッサは、ＤＳＰとマイクロプロセッサの組み合わせ、いくつかのマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、または他の任意のそのような構成などのコンピューティング構成要素の組み合わせとして実施されることも可能である。処理回路７０２のこれらの例は、例示を目的としており、さらに本開示の範囲に含まれる他の適切な構成も企図される。
【００５２】
記憶媒体７０４は、実行可能コードもしくは命令（例えば、ソフトウェア、ファームウェア）、電子データ、データベース、または他のデジタル情報などの、プログラミングおよび／またはデータを格納するための１つまたは複数のデバイスを表し得る。データベースの限定的でない例には、複数のソフトウェアプログラムのカタログ７０８が含まれ得る。記憶媒体７０４は、汎用プロセッサまたは専用プロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。例として、限定としてではなく、記憶媒体７０４には、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および／または情報を格納するための他の一時的でないコンピュータ可読媒体が含まれ得る。記憶媒体７０４は、処理回路７０２が、記憶媒体７０４から情報を読み取ること、および記憶媒体７０４に情報を書き込むことができるように処理回路７０２に結合され得る。代替として、記憶媒体７０４は、処理回路７０２と一体であることが可能である。一実施形態において、ソフトウェアプログラムのより大きいカタログ、または完全なカタログが、異なるサーバシステム上に格納され、この場合、少なくとも、コンピュータシステム５００に供給されるべきソフトウェアプログラムは、コンピュータシステム５００に送られるのに先立って、好ましくは、その異なるサーバシステムからサーバシステム７００に転送され、さらにサーバシステム７００上の少なくともＲＡＭメモリの中に、例えば、カタログ７０８として格納される。
【００５３】
通信インターフェース７０６は、サーバシステム７００のワイヤレス通信および／または有線通信を実施するように構成される。例えば、一部の実施形態において、通信インターフェース７０６は、通信ネットワーク（例えば、図１の通信ネットワーク１０６）によって１つまたは複数の遠隔デバイス（例えば、図１〜図４のコンピュータシステム１０２）に関して双方向で情報を通信するように構成され得る。通信インターフェース７０６は、アンテナに結合されることが可能であり、さらにワイヤレスデバイスとワイヤレス通信するためのワイヤレストランシーバ回路を含むことが可能であり、さらにネットワークインターフェースカード（ＮＩＣ）、シリアル接続もしくはパラレル接続、ＵＳＢポート、ファイヤワイヤ（Ｆｉｒｅｗｉｒｅ）インターフェース、フラッシュメモリインターフェース、フロッピーディスクドライブ、あるいは公共（例えば、インターネット）ネットワークおよび／またはプライベートネットワーク、もしくは他の有線設備に関して通信するための他の任意の設備を含むことも可能である。
【００５４】
前述したとおり、サーバシステム７００は、図１〜図４に関連して前述したサーバシステム１０４の特徴のうちの１つまたは複数を実行するように適応されることが可能である。サーバシステム７００などのサーバシステム上で動作する方法の少なくとも１つの実施形態の例が、図８の流れ図に示される。図７および図８をともに参照すると、方法８００が、ステップ８０２で、遠隔システムに関連する１つまたは複数の構成の詳細を含む要求を受信することを含み得る。例えば、処理回路７０２が、通信インターフェース７０６を介して、コンピュータシステム１０２（図１〜図４）、４００（図４）などの遠隔システムに関連する１つまたは複数の構成の詳細を伴う要求を受信するように適応されることが可能である。
【００５５】
この要求が受信されると、ステップ８０４で、ソフトウェアプログラムのリストが生成されることが可能であり、このリストは、受信された１つまたは複数の構成の詳細に適合する各ソフトウェアプログラムを示す。例えば、処理回路７０２が、記憶媒体７０４の中に格納されたカタログ７０８から、受信された構成の詳細に適合しないソフトウェアプログラムを選別して除くように適応されることが可能である。つまり、処理回路７０２は、或るソフトウェアプログラムが適合していると決定すると、単にそのソフトウェアプログラムをリストに追加することによって、そのソフトウェアプログラムが適合しているという指示を与えることができる。そのような実施形態において、生成されるリストは、適合するソフトウェアプログラムだけを備え得る。別の例において、処理回路７０２は、カタログ７０８の中で適合する各ソフトウェアプログラムに少なくとも１つの標識を関連付けるように適応されることが可能である。そのような実施形態において、生成されるリストは、適合するソフトウェアプログラムと適合しないソフトウェアプログラムの両方を備え得るが、ユーザは、標識によって適合するソフトウェアプログラムを識別することができる。
【００５６】
ステップ８０６で、サーバシステム７００が、適合する各ソフトウェアプログラムを示すようにカスタマイズされたソフトウェアプログラムの生成されたリストを含むディレクトリを、遠隔システムに伝達することが可能である。例えば、処理回路７０２が、ソフトウェアプログラムの生成されたリストを含むディレクトリを、通信インターフェース７０６を介して伝達することが可能である。
【００５７】
本明細書で開示される様々な特徴のうちの１つまたは複数によれば、コンピュータシステムのユーザが、ユーザのコンピュータシステムの構成の詳細に関心を持つ必要なしに、ソフトウェアプログラムを閲覧することができる。また、ユーザは、表示されたリストを使用して、所望されるソフトウェアプログラムのいずれをダウンロードすることもできる。このことは、比較的限られた能力を有するコンピュータシステム（例えば、ノートブックコンピュータ、タブレット、パーソナルメディアプレーヤ、スマートフォン、または他の比較的限られたデータ処理デバイス）に関して特に貴重であり得る。
【００５８】
図１、図２、図３、図４、図５、図６、図７、および／または図８に示される構成要素、ステップ、特徴、および／または関数の１つまたは複数が、再配置されること、および／または組み合わされて、単一の構成要素、ステップ、特徴、もしくは関数にされること、またはいくつかの構成要素、ステップ、もしくは関数として実施されることが可能である。また、さらなる要素、構成要素、ステップ、および／または関数が、本発明を逸脱することなく、追加されることも可能である。図１、図２、図５、および／または図７に示される装置、デバイス、および／または構成要素が、図３、図４、図６、および／または図８で説明される方法、特徴、またはステップの１つまたは複数を実行するように構成され得る。また、本明細書で説明される新奇なアルゴリズムが、ソフトウェアで効率的に実施されること、および／またはハードウェアに埋め込まれることも可能である。
【００５９】
また、少なくとも一部の実装形態は、フローチャート、流れ図、構造図、またはブロック図として示されるプロセスとして説明されてきたことに留意されたい。フローチャートは、動作を順次のプロセスとして説明する可能性があるものの、動作の多くは、並行に、または同時に実行され得る。さらに、動作の順序が並べ替えられることも可能である。プロセスは、プロセスの動作が完了すると、終了させられる。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応することが可能である。プロセスが関数に対応する場合、プロセスの終了は、関数が呼び出し側の関数またはメイン関数に戻ることに対応する。
【００６０】
さらに、いくつかの実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、または以上の任意の組み合わせによって実施され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施される場合、必要なタスクを実行するプログラムコードもしくはコードセグメントは、一時的でない記憶媒体または他のストレージとしてのマシン可読媒体の中に格納され得る。プロセッサが、必要なタスクを実行することが可能である。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラム文の任意の組み合わせを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を送ること、および／または受け取ることによって、別のコードセグメント、またはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージの受け渡し、トークンの受け渡し、ネットワーク伝送などを含む任意の適切な手段を介して送られる、転送される、または伝送されることが可能である。
【００６１】
本明細書で開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または電子ハードウェアとコンピュータソフトウェアの組み合わせとして実施され得ることが、当業者にはさらに認識されよう。ハードウェアとソフトウェアのこの互換性をより明確に示すのに、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、機能の点で一般的に前段で説明されてきた。そのような機能が、ハードウェアとして実施されるか、ソフトウェアとして実施されるかは、全体的なシステムに課せられた特定の応用上、および設計上の制約に依存する。さらに、説明される様々なステップまたはプロセスのうちの１つまたは複数を実行するように適応されたプログラミングは、汎用コンピュータが、プログラムソフトウェアからの命令に従って特定の機能を実行するようにプログラミングされると、その汎用コンピュータが、事実上、専用コンピュータになるため、新たなマシンを作成する。
【００６２】
本発明は、いくつかの好ましい実施形態に関連して相当に詳細に説明されてきたものの、他の実施形態も可能である。この方法に関して開示されるステップは、例えば、限定することは意図しておらず、各ステップが必ずしも不可欠であることも意図しておらず、むしろ、それらのステップは、例示的なステップであるに過ぎない。したがって、添付の特許請求の範囲は、本開示に包含される好ましい実施形態の説明に限定されるべきではない。本明細書で引用されるすべての参照文献は、参照により全体が本明細書に組み込まれている。
【図１】
2013545172.tif 000003
【図２】
2013545172.tif 000004
【図３】
2013545172.tif 000005
【図４】
2013545172.tif 000006
【図５】
2013545172.tif 000007
【図６】
2013545172.tif 000008
【図７】
2013545172.tif 000009
【図８】
2013545172.tif 000010
【国際調査報告】
2013545172.tif 000011
2013545172.tif 000012