(57)【特許請求の範囲】
【請求項１】
品質判定の対象プログラムがインストールされている１以上の第１のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得処理と、
前記取得処理によって取得された前記品質データに基づいて前記対象プログラムの品質が基準レベル以上であるか否かを判定する品質判定処理と、
前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定されると、前記対象プログラムを前記情報処理装置にダウンロードするダウンロード処理と、
を前記情報処理装置に実行させる、品質判定プログラム。
【請求項２】
請求項１に記載の品質判定プログラムであって、
前記品質判定処理で用いられる判定の条件を示す品質判定パラメータの入力を受け付ける受付処理を前記情報処理装置に実行させ、
前記品質判定処理において、前記品質データと、前記受付処理によって受け付けられた前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定する、品質判定プログラム。
【請求項３】
請求項１又は請求項２に記載の品質判定プログラムであって、
前記記憶装置には前記第１のコンピュータで収集された前記品質データと当該第１のコンピュータで実行されるプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、
当該品質判定プログラムは、前記取得処理において、前記記憶装置から前記情報処理装置で実行されるプログラムの実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する、品質判定プログラム。
【請求項４】
品質判定の対象プログラムがインストールされている１以上の第１のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得処理と、
前記取得処理によって取得された前記品質データに基づいて前記対象プログラムの品質が基準レベル以上であるか否かを判定する品質判定処理と、
第２のコンピュータから前記対象プログラムのダウンロード可否の問い合わせを受信する受信処理と、
前記受信処理によって前記問い合わせが受信されると、前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定された場合はダウンロード可能であることを示す応答を前記第２のコンピュータに返信し、前記基準レベル未満であると判定された場合はダウンロード不可であることを示す応答を前記第２のコンピュータに返信する返信処理と、
を前記情報処理装置に実行させ、
前記問い合わせは、前記品質判定処理で用いられる判定の条件を示す品質判定パラメータを特定するためのパラメータ特定情報を含み、
前記品質判定処理において、前記品質データと、前記問い合わせに含まれている前記パラメータ特定情報によって特定される前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定する、品質判定プログラム。
【請求項５】
請求項４に記載の品質判定プログラムであって、
前記記憶装置には、前記第１のコンピュータで収集された前記品質データと当該第１のコンピュータのプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、
前記問い合わせは前記情報処理装置に当該問い合わせを送信した前記第２のコンピュータで実行されるプログラムの実行環境を示す実行環境情報を含み、
当該品質判定プログラムは、前記取得処理において、前記問い合わせに含まれている前記実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する、品質判定プログラム。
【請求項６】
品質判定の対象プログラムがインストールされているコンピュータで実行される品質データ収集プログラムと、
品質判定プログラムと、
からなる品質データ収集判定プログラムであって、
前記品質データ収集プログラムは、
前記コンピュータによる前記対象プログラムの実行を監視して前記対象プログラムの品質を判定するための品質データを収集するデータ収集処理と、
前記データ収集処理によって収集された品質データと、前記コンピュータのプログラムの実行環境を示す実行環境情報とを外部の情報処理装置に送信する送信処理とを前記コンピュータに実行させ、
前記品質判定プログラムは、
前記品質データが記憶されている記憶装置から前記品質データを取得する取得処理と、
前記取得処理によって取得された前記品質データに基づいて前記対象プログラムの品質を判定する品質判定処理とを前記コンピュータに実行させる、品質データ収集判定プログラム。
【請求項７】
品質判定の対象プログラムがインストールされている１以上のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得部と、
前記取得部によって取得された前記品質データに基づいて前記対象プログラムの品質が基準レベル以上であるか否かを判定する品質判定部と、
前記品質判定部によって前記対象プログラムの品質が前記基準レベル以上であると判定されると、前記対象プログラムを情報処理装置にダウンロードするダウンロード部と、
を備える情報処理装置。
【請求項８】
品質判定の対象プログラムがインストールされている１以上の第１のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得部と、
前記取得部によって取得された前記品質データに基づいて前記対象プログラムの品質が基準レベル以上であるか否かを判定する品質判定部と、
第２のコンピュータから前記対象プログラムのダウンロード可否の問い合わせを受信する受信部と、
前記受信部によって前記問い合わせが受信されると、前記品質判定部によって前記対象プログラムの品質が前記基準レベル以上であると判定された場合はダウンロード可能であることを示す応答を前記第２のコンピュータに返信し、前記基準レベル未満であると判定された場合はダウンロード不可であることを示す応答を前記第２のコンピュータに返信する返信部とを備え、
前記問い合わせは、前記品質判定部で用いられる判定の条件を示す品質判定パラメータを特定するためのパラメータ特定情報を含み、
前記品質判定部において、前記品質データと、前記問い合わせに含まれている前記パラメータ特定情報によって特定される前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの品質を判定する技術に関する。
【背景技術】
【０００２】
従来、プログラムをダウンロードするための伝搬環境がどれだけ安定しているかを示す安全度を判定し、安全度が高いと判定された場合にプログラムをダウンロードする携帯端末用ダウンロード装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２９７１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術はプログラムをダウンロードするか否かを伝搬環境の安全度に基づいて判断するものであり、プログラムの品質を判断することについて考慮されていなかった。
本明細書では、プログラムの品質を判断することができる技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される品質判定プログラムは、品質判定の対象プログラムがインストールされている１以上の第１のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得処理と、前記取得処理によって取得された前記品質データに基づいて前記対象プログラムの品質を判定する品質判定処理と、を情報処理装置に実行させる。
【０００６】
また、上記品質判定プログラムは、前記品質判定処理において前記対象プログラムの品質が基準レベル以上であるか否かを判定し、前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定されると、前記対象プログラムを前記情報処理装置にダウンロードするダウンロード処理を前記情報処理装置に実行させてもよい。
【０００７】
また、上記品質判定プログラムは、前記品質判定処理で用いられる判定の条件を示す品質判定パラメータの入力を受け付ける受付処理を前記情報処理装置に実行させ、前記品質判定処理において、前記品質データと、前記受付処理によって受け付けられた前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定してもよい。
【０００８】
また、前記記憶装置には前記第１のコンピュータで収集された前記品質データと当該第１のコンピュータで実行されるプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、当該品質判定プログラムは、前記取得処理において、前記記憶装置から前記情報処理装置で実行されるプログラムの実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得してもよい。
【０００９】
また、上記品質判定プログラムは、前記品質判定処理において前記対象プログラムの品質が基準レベル以上であるか否かを判定し、第２のコンピュータから前記対象プログラムのダウンロード可否の問い合わせを受信する受信処理と、前記受信処理によって前記問い合わせが受信されると、前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定された場合はダウンロード可能であることを示す応答を前記第２のコンピュータに返信し、前記基準レベル未満であると判定された場合はダウンロード不可であることを示す応答を前記第２のコンピュータに返信する返信処理と、を前記情報処理装置に実行させてもよい。
【００１０】
また、前記問い合わせは、前記品質判定処理で用いられる判定の条件を示す品質判定パラメータを特定するためのパラメータ特定情報を含み、前記品質判定処理において、前記品質データと、前記問い合わせに含まれている前記パラメータ特定情報によって特定される前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定してもよい。
【００１１】
また、前記記憶装置には、前記第１のコンピュータで収集された前記品質データと当該第１のコンピュータのプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、前記問い合わせは前記情報処理装置に当該問い合わせを送信した前記第２のコンピュータで実行されるプログラムの実行環境を示す実行環境情報を含み、当該品質判定プログラムは、前記取得処理において、前記問い合わせに含まれている前記実行環境情報に対応する実行環境情報が関連付けられている品質データを取得してもよい。
【００１２】
また、上記品質判定プログラムは、前記品質判定処理によって判定された品質に応じて前記対象プログラムの品質ステータスを更新するステータス更新処理を前記情報処理装置に実行させてもよい。
【００１３】
また、上記品質判定プログラムは、前記品質ステータスが所定の品質ステータスに達すると、前記対象プログラムをダウンロード可能に外部に公開する公開処理を前記情報処理装置に実行させてもよい。
【００１４】
本明細書によって開示される品質データ収集判定プログラムは、品質判定の対象プログラムがインストールされているコンピュータで実行される品質データ収集プログラムと、請求項１乃至請求項９のいずれか一項に記載の品質判定プログラムと、からなる品質データ収集判定プログラムであって、前記品質データ収集プログラムは、前記コンピュータによる前記対象プログラムの実行を監視して前記対象プログラムの品質を判定するための品質データを収集するデータ収集処理と、前記データ収集処理によって収集された品質データを外部の情報処理装置に送信する送信処理とを前記コンピュータに実行させる。
【００１５】
また、上記品質データ収集判定プログラムは、前記送信処理において、前記品質データと、前記コンピュータのプログラムの実行環境を示す実行環境情報とを前記外部の情報処理装置に送信してもよい。
【００１６】
なお、この発明は、情報処理装置、品質データ収集判定システム、品質データ収集プログラムを記録した記録媒体、品質データ収集判定プログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【００１７】
上記の品質判定プログラムによると、プログラムの品質を判断することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態１に係るコンピュータ、及び、サーバを示す模式図。
【図２】第２のコンピュータの電気的構成を示すブロック図。
【図３】第１のコンピュータによる品質データ収集処理の流れを示すフローチャート。
【図４】第２のコンピュータによる品質判定及びダウンロード処理の流れを示すフローチャート。
【図５】実施形態２に係るコンピュータ、及び、サーバを示す模式図。
【図６】第２のコンピュータによるダウンロード処理の流れを示すフローチャート。
【図７】サーバによる品質判定処理の流れを示すフローチャート。
【図８】実施形態３に係るコンピュータ、及び、サーバを示す模式図。
【図９】サーバによる品質判定及び品質ステータス更新処理の流れを示すフローチャート。
【図１０】品質と品質ステータスとの関係を示すテーブル。
【発明を実施するための形態】
【００１９】
＜実施形態１＞
実施形態１を図１ないし図４によって説明する。
【００２０】
（１）コンピュータのネットワーク構成
図１は、第１のコンピュータ１、第２のコンピュータ２、及び、サーバ３、並びにそれらがインターネット５に接続されているネットワーク構成を示す模式図である。第２のコンピュータ２は実施形態１に係る情報処理装置の一例である。なお、第１のコンピュータ１、第２のコンピュータ２、及び、サーバ３はＬＡＮ（Ｌｏｃａｌ  Ａｒｉａ  Ｎｅｔｗｏｒｋ）によって接続されてもよい。
【００２１】
サーバ３で利用者にプログラムを公開する場合、品質が安定していないβ版を早期公開版プログラム３１として早期公開したり、Ｎｉｇｈｔｌｙ  ｂｕｉｌｄと呼ばれるスタイルで開発版を毎日ビルドし、ビルドしたプログラムを早期公開版プログラム３１として毎日公開したりする場合がある。
そして、最新技術に高い関心を持ち、早期公開版プログラム３１が公開されると直ぐにダウンロードして試用するアーリーアダプターと呼ばれる利用者層が存在する一方、このような早期公開版プログラム３１は正式なテストを経たものではないため品質に問題を含有した状態であることがあり、エラーやバグの発生を心配してダウンロードを控える利用者層も存在する。
【００２２】
ところで、ダウンロードを控えている利用者層の中には、早期公開版プログラム３１であっても品質がある程度のレベルに達していれば試用したいと考えている利用者も存在する。しかしながら、そのような利用者は、従来はインターネットのフォーラムなどで他の利用者による試用レポートを収集するなどして各自で品質を判断するしか方法がなかった。
【００２３】
また、ハードウェアやオペレーティングシステム（ＯＳ）などの組み合わせによって多様なプログラムの実行環境（以下「プログラム実行環境」という）があり、早期公開版プログラム３１の品質に対する評価はプログラム実行環境によって異なる場合もある。このため、利用者は自身のプログラム実行環境と同じプログラム実行環境での評価を知りたいと考えるが、希望する情報を都合よく得られない場合もある。
このため、早期公開版プログラム３１の品質に関する情報を求める利用者の利便性を向上する方法が求められている。
【００２４】
そこで、実施形態１では、早期公開版プログラム３１をダウンロードした利用者のコンピュータである第１のコンピュータ１で早期公開版プログラム３１の実行を監視することにより、早期公開版プログラム３１の品質を判定するための品質データを収集し、収集した品質データをサーバ３に送信する。そして、早期公開版プログラム３１を試用したいと考えている利用者のコンピュータである第２のコンピュータ２でサーバ３から品質データを取得し、取得した品質データに基づいて品質を判定する。そして、判定した品質が基準レベル以上であればサーバ３から早期公開版プログラム３１をダウンロードして第２のコンピュータ２にインストールする。
【００２５】
（２）コンピュータの電気的構成
第１のコンピュータ１、第２のコンピュータ２、及び、サーバ３の電気的構成は実質的に同じであるので、ここでは第２のコンピュータ２を例に説明する。
図２は、第２のコンピュータ２の電気的構成を示すブロック図である。第２のコンピュータ２はパーソナルコンピュータであり、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、タイマ２４、表示部２５、操作部２６、記憶部２７、通信インタフェース部２８などを備えて構成されている。
【００２６】
ＣＰＵ２１は、ＲＯＭ２２や記憶部２７に記憶されている各種のプログラムを実行することによって第２のコンピュータ２の各部を制御する。ＲＯＭ２２にはＣＰＵ２１によって実行される各種のプログラムやデータなどが記憶されている。ＲＡＭ２３はＣＰＵ２１が各種の処理を実行するための主記憶装置として用いられる。
【００２７】
タイマ２４は、現在時刻の取得や処理時間の測定などに用いられる。
表示部２５は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えて構成されている。
操作部２６は、キーボードやマウスなどで構成されている。
【００２８】
記憶部２７は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。ここで、サーバ３が備える記憶部は記憶装置の一例である。
通信インタフェース部２８はインターネット５を介して第１のコンピュータ１やサーバ３と通信可能に接続されている。
【００２９】
（３）プログラム構成
図１に示すように、第１のコンピュータ１には早期公開版プログラム３１と品質データ収集プログラム３２とがインストールされている。早期公開版プログラム３１は利用者に提供されるプログラムであれば任意のプログラムであってよく、例えばプリンタドライバであってもよい。早期公開版プログラム３１は対象プログラムの一例である。
【００３０】
品質データ収集プログラム３２はサービスあるいはデーモン、またはスタートアッププログラムとして第１のコンピュータ１に常駐する常駐プログラムであり、第１のコンピュータ１による早期公開版プログラム３１の実行を監視して早期公開版プログラム３１についての品質データを収集し、収集した品質データをサーバ３に送信するプログラムである。品質データ収集プログラム３２は早期公開版プログラム３１がインストールされると自動でインストールされる。
【００３１】
なお、品質データ収集プログラム３２を常駐プログラムとせず、早期公開版プログラム３１が実行されたときに早期公開版プログラム３１から呼び出されることによって実行されてもよい。
また、品質データ収集プログラム３２をインストールするか否かを利用者に問い合わせ、利用者の同意を得た上でインストールするようにしてもよい。
【００３２】
サーバ３は上述の記憶部２７に相当する記憶部を備えており、第１のコンピュータ１や第２のコンピュータ２によってダウンロードされる早期公開版プログラム３１が記憶されている他、品質データ収集プログラム３２を実行する第１のコンピュータ１から送信された品質データなどが記憶される。
【００３３】
第２のコンピュータ２には品質判定プログラム３３がインストールされている。品質判定プログラム３３はサーバ３から取得した品質データに基づいて早期公開版プログラム３１の品質を判定し、品質が基準レベル以上である場合に、サーバ３から早期公開版プログラム３１をダウンロードして第２のコンピュータ２にインストールするプログラムである。
前述したように本実施形態では早期公開版プログラム３１とともに品質データ収集プログラム３２がインストールされる。よって、第２のコンピュータ２は早期公開版プログラム３１がインストールされると第１のコンピュータ１となる。
【００３４】
品質データ収集プログラム３２と品質判定プログラム３３とは品質データ収集判定プログラムの一例である。
【００３５】
（４）第１のコンピュータによる品質データ収集処理
図３は、第１のコンピュータ１による品質データ収集処理の流れを示すフローチャートである。前述したように品質データ収集プログラム３２は常駐プログラムであり、本処理は第１のコンピュータ１に電源が投入されている間繰り返し実行される。
【００３６】
Ｓ１０１では、品質データ収集プログラム３２を実行するＣＰＵ（以下、単に「品質データ収集プログラム３２」という）は、品質判定項目毎に品質データを収集する。プログラムの品質を判定するための品質判定項目には種々のものがあるが、実施形態１では品質判定項目として以下に示す（項目１）〜（項目４）を例に説明する。なお、品質判定項目は以下に示すものに限定されるものではなく、また、必ずしも以下に示す項目全てを用いなくてもよい。
【００３７】
（項目１）利用回数
プログラムの品質が低い場合には、利用者はそのプログラムの利用をやめてしまうことが考えられる。そのため、プログラムの品質が低いとプログラムの利用回数は少なくなる。逆にいうと、プログラムの利用回数が多いほどプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム３２は早期公開版プログラム３１の利用回数を収集する。
【００３８】
具体的には、品質データ収集プログラム３２はＣＰＵによる早期公開版プログラム３１の起動を監視し、早期公開版プログラム３１の起動を検出すると、早期公開版プログラム３１の利用回数をカウントするカウンタに１を加算する。
早期公開版プログラム３１の起動の検出は種々の方法で行うことができる。例えば、品質データ収集プログラム３２はＯＳから現在実行中のタスクの一覧であるタスクリストを一定時間間隔で取得する。そして、前回取得したタスクリストに早期公開版プログラム３１を実行するタスクが含まれておらず、今回取得したタスクリストに早期公開版プログラム３１を実行するタスクが含まれていれば、早期公開版プログラム３１が起動されたとすればよい。
【００３９】
また、例えば、早期公開版プログラム３１は起動されるとプロセス間通信によって品質データ収集プログラム３２に起動を通知し、品質データ収集プログラム３２はその通知を受信することによって早期公開版プログラム３１の起動を検出してもよい。
【００４０】
（項目２）利用時間
プログラムの品質が低い場合には、利用者はそのプログラムの利用をやめてしまうことが考えられる。そのため、プログラムの品質が低いとプログラムの利用時間は短くなる。逆にいうと、プログラムの利用時間が長いほどプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム３２は早期公開版プログラム３１の利用時間を収集する。
具体的には、品質データ収集プログラム３２は早期公開版プログラム３１の起動を検出するとその時の現在時刻を起動時刻として第１のコンピュータ１のＲＡＭに記録する。そして、品質データ収集プログラム３２は早期公開版プログラム３１の終了を検出すると、その時の現在時刻を終了時刻として取得し、起動時刻から終了時刻までの時間を利用時間として、利用時間をカウントするカウンタに加算する。
【００４１】
早期公開版プログラム３１の終了の検出は種々の方法で行うことができる。例えば、品質データ収集プログラム３２はＯＳからタスクリストを一定時間間隔で取得する。そして、品質データ収集プログラム３２はタスクリストに早期公開版プログラム３１を実行するタスクが含まれなくなることによって早期公開版プログラム３１の終了を検出してもよい。あるいは、品質データ収集プログラム３２は、プロセス間通信によって早期公開版プログラム３１から終了の通知を受信することによって終了を検出してもよい。
【００４２】
なお、早期公開版プログラム３１自身が利用時間を計測して品質データ収集プログラム３２にその利用時間を送信する構成であってもよい。あるいは、早期公開版プログラム３１は所定のファイルに利用時間を書き込み、品質データ収集プログラム３２がそのファイルから利用時間を読み出す構成であってもよい。早期公開版プログラム３１自身が利用時間を計測する場合は品質データ収集プログラム３２の一部が早期公開版プログラム３１に実装されていることになる。これは他の品質判定項目についても同様である。
【００４３】
（項目３）エラー発生数
プログラムのエラー発生数が少なければそれだけプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム３２は早期公開版プログラム３１のエラー発生数を収集する。
プログラムがある処理を実行している途中で何らかの異常が発生した場合に、現在の処理を中断して別の処理を実行することを一般に例外処理という。例外処理はプログラミング言語に組み込まれている例外処理機能を利用することによって実現することができる。早期公開版プログラム３１は例外処理機能によって異常の発生が検出されると例外処理として品質データ収集プログラム３２にエラーの発生を通知する処理を実行する。品質データ収集プログラム３２はその通知を受信するとエラー発生数をカウントするカウンタに１を加算する。
【００４４】
（項目４）特定の処理の実行に要した実行時間
プログラムのパフォーマンス指数が高いほどプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム３２は早期公開版プログラム３１のパフォーマンス指数を判断するために、早期公開版プログラム３１の特定の処理の実行に要した実行時間を収集する。
特定の処理とは、具体的には例えば３Ｄグラフィックスの表示処理である。早期公開版プログラム３１は利用者から特定の３Ｄグラフィックスの表示処理の実行が指示されるとその表示処理を開始する前にプロセス間通信によって品質データ収集プログラム３２に表示処理の開始を通知する。品質データ収集プログラム３２はその通知を受信するとその時の現在時刻を開始時刻として第１のコンピュータ１のＲＡＭに記録する。
【００４５】
そして、早期公開版プログラム３１はその３Ｄグラフィックスの表示処理が終了すると品質データ収集プログラム３２に表示処理の終了を通知する。品質データ収集プログラム３２はその通知を受信するとその時の現在時刻を終了時刻として取得し、開始時刻から終了時刻までの時間を実行時間として第１のコンピュータ１の記憶部に記録する。
【００４６】
なお、早期公開版プログラム３１自身が実行時間を計測して品質データ収集プログラム３２にその実行時間を送信する構成であってもよい。
また、特定の処理は３Ｄグラフィックスの表示処理に限られず、例えばＣＰＵに大きな負荷の係る何らかの処理であってもよい。
【００４７】
Ｓ１０２では、品質データ収集プログラム３２はサーバ３に品質データを送信する送信時期が到来したか否かを判定し、到来した場合はＳ１０３に進み、到来していない場合はＳ１０１に戻る。
例えば毎日午前０時に品質データを送信することが品質データ収集プログラム３２に設定されていたとすると、午前０時に達していればデータ送信時期が到来したと判定する。
【００４８】
Ｓ１０３では、品質データ収集プログラム３２は品質データと当該第１のコンピュータ１のプログラム実行環境を示す実行環境情報とをサーバ３に送信する。
プログラム実行環境とは、具体的にはＣＰＵの製品名、ＲＡＭの容量、グラフィックスボードの製品名、ネットワークの帯域幅、ＯＳの製品名やバージョンなどである。
【００４９】
ただし、プログラム実行環境は早期公開版プログラム３１の品質に影響するもののみを対象とするものとする。例えば早期公開版プログラム３１は外部の装置と通信を行うものではない場合、ネットワークの帯域幅は品質に影響しないので、ネットワークの帯域幅を示す情報は実行環境情報に含まれなくてもよい。
サーバ３は第１のコンピュータ１から品質データと実行環境情報とを受信するとこれらを関連付けてサーバ３の記憶部に記憶する。
【００５０】
Ｓ１０４では、品質データ収集プログラム３２は送信済みの品質データを第１のコンピュータ１の記憶部から削除するとともに、各種のカウンタを０（零）にリセットする。
【００５１】
（５）第２のコンピュータによる品質判定及びダウンロード処理
図４は、第２のコンピュータ２による品質判定及びダウンロード処理の流れを示すフローチャートである。本処理は利用者が品質判定プログラム３３の実行を指示すると開始される。
【００５２】
Ｓ２０１では、品質判定プログラム３３を実行するＣＰＵ２１（以下、単に「品質判定プログラム３３」という）は、サーバ３から当該第２のコンピュータ２のプログラム実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する。Ｓ２０１は取得処理の一例である。
具体的には例えば、実行環境情報がＣＰＵ２１の製品名とＲＡＭ２３の容量との二つであるとした場合、品質判定プログラム３３はサーバ３に記憶されている品質データのうち、第２のコンピュータ２のＣＰＵ２１の製品名及びＲＡＭ２３の容量と一致するＣＰＵの製品名及びＲＡＭの容量が関連付けられている品質データを取得する。
【００５３】
Ｓ２０２では、品質判定プログラム３３はＳ２０１で取得した品質データに基づいて早期公開版プログラム３１の品質を判定する。Ｓ２０２は品質判定処理の一例である。具体的には例えば、品質判定プログラム３３は以下に示す式１を用いて品質を判定する。
【００５４】
品質Ｑ＝総利用回数×ａ１＋総利用時間×ａ２＋平均パフォーマンス指数×ａ３−総エラー発生数×ａ４＋プログラム公開日からの経過日数×ａ５  ・・・  式１
【００５５】
総利用回数は取得した利用回数を合計した値であり、総利用回数が大きいほど品質Ｑは大きくなる。
総利用時間は取得した利用時間を合計した値であり、総利用時間が長いほど品質Ｑは大きくなる。
平均パフォーマンス指数は取得した実行時間を平均した値に反比例する値であり、実行時間を平均した値が小さいほど平均パフォーマンス指数は大きくなる。
総エラー発生数は取得したエラー発生数を合計した値である。総エラー発生数は品質Ｑから減算される値であり、総エラー発生数が多いほど品質Ｑの値は小さくなる。
【００５６】
プログラム公開日からの経過日数は、早期公開版プログラム３１を公開してからの経過日数である。プログラム公開日からの経過日数が長ければその間にバグが発見されて修正されている可能性が高い。従って、プログラム公開日からの経過日数が長いほどプログラムの品質は高いと推測できる。
【００５７】
なお、プログラム公開日からの経過日数はサーバ３で早期公開版プログラム３１を公開した日からの経過日数としてサーバ３側で把握することができる。つまり、上述した利用回数〜エラー発生数は第１のコンピュータ１側で収集される品質データであり、プログラム公開日からの経過日数はサーバ３側で収集される品質データである。
【００５８】
ａ１〜ａ５は品質を判定する条件を示す品質判定パラメータである。品質判定パラメータのデフォルト値はプログラム提供者によって設定されるが、利用者が第２のコンピュータ２の操作部２６を操作して品質判定パラメータを設定することもできる。例えば、利用者はエラー発生数を重視して品質を判定させたい場合は、品質パラメータａ４をデフォルト値より大きくする一方、品質判定パラメータａ１〜ａ３、ａ５をデフォルト値より小さくする。言い換えると、利用者は品質判定パラメータを変更することにより、品質判定項目の重み付けあるいは優先度を変更することができる。品質判定プログラム３３が操作部２６を介して利用者による品質判定パラメータの設定を受け付ける処理は受付処理の一例である。
【００５９】
なお、上述した式１は一例であり、品質データから品質を判定する式はこれに限られるものではない。どのような式を用いて品質Ｑを求めるかは適宜に決定することができる。
【００６０】
Ｓ２０３では、品質判定プログラム３３は式１によって求めた品質Ｑが基準レベル以上あるか否かを判定し、基準レベル以上である場合はＳ２０４に進み、基準レベル未満である場合は本処理を終了する。
なお、基準レベルのデフォルト値は品質判定プログラム３３のプログラム提供者によって設定されるが、利用者は第２のコンピュータ２の操作部２６を操作して基準レベルを変更することもできる。
【００６１】
Ｓ２０４では、品質判定プログラム３３はサーバ３から早期公開版プログラム３１をダウンロードする。
Ｓ２０５では、品質判定プログラム３３はダウンロードした早期公開版プログラム３１を第２のコンピュータ２にインストールする。具体的には例えば、品質判定プログラム３３はダウンロードした早期公開版プログラム３１のインストーラを起動することにより、第２のコンピュータ２に早期公開版プログラム３１をインストールする。
【００６２】
（６）実施形態の効果
以上説明した実施形態１に係る品質判定プログラム３３によると、早期公開版プログラム３１の品質を判定することができる。このため、第２のコンピュータ２に早期公開版プログラム３１をダウンロードするか否かを早期公開版プログラム３１の品質に基づいて判断しようと考えている利用者は、早期公開版プログラム３１の品質を自ら判定しなくてよい。よって品質判定プログラム３３によると、第２のコンピュータ２に早期公開版プログラム３１をダウンロードするか否かを早期公開版プログラム３１の品質に基づいて判断する利用者の利便性を向上できる。
【００６３】
更に、品質判定プログラム３３によると、早期公開版プログラム３１の品質が基準レベル以上であるか否かを判定し、基準レベル以上であると判定すると、早期公開版プログラム３１をダウンロードして第２のコンピュータ２にインストールするので、早期公開版プログラム３１の品質が基準レベル以上になったらインストールしたいと考えている利用者の利便性が向上する。
【００６４】
更に、品質判定プログラム３３は品質データと品質判定パラメータとに基づいて早期公開版プログラム３１の品質を判定するものであり、利用者による品質判定パラメータの設定を受け付ける。
品質データと品質判定パラメータとに基づいて品質を判定する場合、品質が基準レベル以上となるか否かは品質判定パラメータによって変わってくる。例えば、比較的品質が低くても品質判定パラメータによっては品質が基準レベル以上と判定される場合もあれば、比較的品質が高くても品質判定パラメータによっては品質が基準レベル未満であると判定される場合もある。
つまり、利用者は品質判定パラメータを設定することより、基準レベル以上となる品質を自身で指定することができる。言い換えると、利用者は早期公開版プログラム３１がダウンロードされることとなる品質を自身で指定できる。これにより、利用者の利便性がより向上する。
【００６５】
更に、品質判定プログラム３３によると、サーバ３の記憶部から第２のコンピュータ２のプログラム実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する。二つのコンピュータ間でプログラム実行環境が異なる場合、一方のコンピュータで収集された品質データに基づいて品質を判定すると基準レベル以上となっても、他方のコンピュータで収集された品質データに基づいて品質を判定すると基準レベル未満となることも起こり得る。その典型的な例が平均パフォーマンス指数である。
品質判定プログラム３３によると、第２のコンピュータ２のプログラム実行環境に対応するプログラム実行環境で収集された品質データに基づいて品質を判定するので、実際にインストールして実行したときに品質が基準レベル未満であることが起こることを低減できる。
【００６６】
また、実施形態１に係る品質データ収集プログラム３２によると、第１のコンピュータ１による早期公開版プログラム３１の実行を監視して早期公開版プログラム３１の品質を判定するための品質データを自動で収集するので、早期公開版プログラム３１をインストールするか否かを早期公開版プログラム３１の品質に基づいて判断する利用者の利便性が向上する。
【００６７】
更に、品質データ収集プログラム３２によると、品質データと第１のコンピュータ１のプログラム実行環境を示す実行環境情報とをサーバ３に送信するので、第２のコンピュータ２において早期公開版プログラム３１の品質を判定するとき、プログラム実行環境を考慮して品質を判定することが可能になる。
【００６８】
＜実施形態２＞
次に、実施形態２を図５ないし図７によって説明する。
実施形態１では第２のコンピュータ２側で早期公開版プログラム３１の品質を判定する場合を例に説明したが、実施形態２ではサーバ３側で品質を判定する。サーバ３は実施形態２に係る情報処理装置の一例である。
そして、第２のコンピュータ２はサーバ３に早期公開版プログラム３１の品質を問い合せ、早期公開版プログラム３１の品質が基準レベル以上であると判定されると、サーバ３から早期公開版プログラム３１をダウンロードしてインストールする。
【００６９】
図５は、実施形態２に係る第１のコンピュータ１、第２のコンピュータ２、及び、サーバ３を示す模式図である。実施形態２ではサーバ３に品質判定プログラム４１がインストールされている。実施形態２に係る品質判定プログラム４１は常駐プログラムであり、サーバ３に電源が投入されている間繰り返し実行される。第２のコンピュータ２には早期公開版プログラム３１をダウンロードするためのダウンロードプログラム４２がインストールされている。第１のコンピュータ１のプログラム構成は実施形態１と同じである。
【００７０】
（１）第２のコンピュータによる品質判定パラメータの送信
実施形態２では、第２のコンピュータ２毎に予め品質判定パラメータをサーバ３に送信し、サーバ３の記憶部に記憶させておくことができる。第２のコンピュータ２は自身が送信した品質判定パラメータと他の第２のコンピュータ２が送信した品質判定パラメータとをサーバ３側で識別できるようにするために、品質判定パラメータを識別するための識別情報も併せて送信するものとする。識別情報としては、例えば第２のコンピュータ２のＩＰアドレスや第２のコンピュータ２の利用者のユーザＩＤなどを用いることができる。識別情報はパラメータ特定情報の一例である。
【００７１】
サーバ３は第２のコンピュータ２から品質判定パラメータと識別情報とを受信すると、それらを対応付けてサーバ３の記憶部に記憶する。
【００７２】
（２）第２のコンピュータによるダウンロード処理
図６は、第２のコンピュータ２によるダウンロード処理の流れを示すフローチャートである。本処理は利用者がダウンロードプログラム４２の実行を指示すると開始される。
【００７３】
Ｓ３０１では、ダウンロードプログラム４２を実行するＣＰＵ２１（以下、単に「ダウンロードプログラム４２」という）は、サーバ３に早期公開版プログラム３１のダウンロード可否の問い合わせを送信する。この問い合わせには前述した識別情報と該第２のコンピュータ２のプログラム実行環境を示す実行環境情報とを含めるものとする。
【００７４】
サーバ３は該問い合わせを受信すると品質判定処理を実行する。詳しくは後述するが、サーバ３は品質判定処理において、早期公開版プログラム３１の品質を判定してダウンロード可能であるか否かを判定し、ダウンロード可能であることを示す応答、又は、ダウンロード不可であることを示す応答を第２のコンピュータ２に返信する。
【００７５】
Ｓ３０２では、ダウンロードプログラム４２はサーバ３から受信した応答がダウンロード可能であることを示すものであるか又はダウンロード不可であることを示すものであるかを判定し、ダウンロード可能を示すものである場合はＳ３０３に進み、ダウンロード不可を示すものである場合は本処理を終了する。
Ｓ３０３では、ダウンロードプログラム４２はサーバ３から早期公開版プログラム３１をダウンロードする。
Ｓ３０４では、ダウンロードプログラム４２はダウンロードした早期公開版プログラム３１を第２のコンピュータ２にインストールする。
【００７６】
（３）サーバによる品質判定処理
図７は、サーバ３による品質判定処理の流れを示すフローチャートである。
Ｓ４０１では、品質判定プログラム４１を実行するＣＰＵ（以下、単に「品質判定プログラム４１」という）は、問い合わせを受信したか否かを判定し、問い合わせを受信するとＳ４０２に進む。
【００７７】
Ｓ４０２では、品質判定プログラム４１は受信した問い合わせに含まれている実行環境情報に対応する実行環境情報が関連付けられている品質データをサーバ３の記憶部から取得する。Ｓ４０２は取得処理の一例である。
Ｓ４０３では、品質判定プログラム４１は第２のコンピュータ２から受信した問い合わせに含まれている識別情報に対応付けられている品質判定パラメータをサーバ３の記憶部から取得する。
【００７８】
Ｓ４０４では、品質判定プログラム４１はＳ４０２で取得した品質データとＳ４０３で取得した品質判定パラメータとに基づいて前述したＳ２０２と同様に早期公開版プログラム３１の品質を判定する。Ｓ４０４は品質判定処理の一例である。
Ｓ４０５では、品質判定プログラム４１は判定した品質Ｑが基準レベル以上であるか否かを判定し、基準レベル以上である場合はＳ４０６に進み、基準レベル未満である場合はＳ４０７に進む。
【００７９】
Ｓ４０６では、品質判定プログラム４１は第２のコンピュータ２にダウンロード可能であることを示す応答を返信する。Ｓ４０６は返信処理の一例である。
Ｓ４０７では、品質判定プログラム４１は第２のコンピュータ２にダウンロード不可であることを示す応答を返信する。Ｓ４０６は返信処理の一例である。
【００８０】
（４）実施形態の効果
以上説明した実施形態２に係る品質判定プログラム４１によると、サーバ３は第２のコンピュータ２から問い合わせを受信すると早期公開版プログラム３１の品質が基準レベル以上であるか否かを判定し、基準レベル以上であると判定するとダウンロード可能であることを示す応答を第２のコンピュータ２に返信するので、第２のコンピュータ２において早期公開版プログラム３１をインストールするか否かを早期公開版プログラム３１の品質に基づいて判断する利用者の利便性を向上できる。
【００８１】
更に、品質判定プログラム４１によると、サーバ３において第２のコンピュータ２から品質判定パラメータを受信し、品質データと第２のコンピュータ２から受信した品質判定パラメータとに基づいて早期公開版プログラム３１の品質を判定するので、早期公開版プログラム３１がダウンロードされる品質を第２のコンピュータ２毎に指定できる。
【００８２】
更に、品質判定プログラム４１によると、第２のコンピュータ２から受信した実行環境情報に対応する実行環境情報が関連付けられている品質データをサーバ３の記憶部から取得するので、実際に早期公開版プログラム３１を第２のコンピュータ２にインストールして実行したときに品質が基準レベル未満であることが起こることを低減できる。
【００８３】
＜実施形態３＞
次に、実施形態３を図８ないし図１０によって説明する。
実施形態３では早期公開版プログラム３１の品質に応じた品質ステータスを利用者に公開する。第２のコンピュータ２の利用者は早期公開版プログラム３１の品質ステータスが所定の品質ステータスに達したらダウンロードしようと考えており、公開された品質ステータスを随時チェックし、所定の品質ステータスに達するとサーバ３から早期公開版プログラム３１をダウンロードしてインストールする。
【００８４】
ところで、早期公開版プログラム３１の品質は日々変化するので、早期公開版プログラム３１の品質ステータスを利用者に公開するためには、プログラム提供者は品質を判定する作業を定期的に行わなければならず、更に、品質ステータスが上がった場合には利用者に公開している品質ステータスを更新しなければならないため、プログラム提供者にとって負担である。
そこで、実施形態３ではサーバ３により早期公開版プログラム３１の品質を判定し、利用者に公開する品質ステータスを品質に応じて自動更新する。サーバ３は実施形態３に係る情報処理装置の一例である。
【００８５】
図８は、実施形態３に係る第１のコンピュータ１、第２のコンピュータ２、及び、サーバ３を示す模式図である。実施形態３に係る第１のコンピュータ１はプログラム提供者側において早期公開版プログラム３１の開発に用いられているものである。つまり、前述した実施形態１、２では早期公開版プログラム３１の利用者側で品質データが収集されていたが、実施形態３ではプログラム提供者側で品質データが収集される。実施形態３に係るサーバ３には、品質判定プログラム５１がインストールされている。品質判定プログラム５１も常駐プログラムである。
【００８６】
（１）サーバによる品質判定及び品質ステータス更新処理
図９は、サーバ３による品質判定及び品質ステータス更新処理の流れを示すフローチャートである。
Ｓ５０１では、品質判定プログラム５１を実行するＣＰＵ（以下、単に「品質判定プログラム５１」という）は、品質判定時期が到来したか否かを判定し、品質判定時期が到来した場合はＳ５０２に進む。
Ｓ５０２では、品質判定プログラム５１は実行環境情報毎にサーバ３の記憶部から品質データを取得する。実行環境情報毎に品質データを取得するのは、実行環境情報毎に品質を判定するためである。Ｓ５０２は取得処理の一例である。
【００８７】
Ｓ５０３では、品質判定プログラム５１はＳ５０２で取得した品質データに基づいて、実行環境情報毎に早期公開版プログラム３１の品質を判定する。Ｓ５０３は品質判定処理の一例である。
なお、実施形態３では早期公開版プログラム３１の品質を判定する段階では未だ早期公開版プログラム３１をダウンロードする利用者が確定していないので、プログラム提供者側が予め設定したデフォルトの品質判定パラメータを用いて品質を判定するものとする。
【００８８】
Ｓ５０４では、品質判定プログラム５１は実行環境情報毎に、早期公開版プログラム３１の品質ステータスをＳ５０３で判定した品質Ｑに応じた品質ステータスに変更する。Ｓ５０４はステータス更新処理の一例である。以下、具体的に説明する。
【００８９】
図１０は、品質Ｑと品質ステータスとの関係を示すテーブルである。図１０に示すＱ１〜Ｑ４０は上述の式で定義される品質Ｑを表す値を示している。例えばＳ５０３で判定した品質ＱがＱ１０〜Ｑ２０の範囲に含まれる場合、品質判定プログラム５１は品質ステータスがαであればその品質ステータスをβに変更する。品質ステータスが既にβである場合はそのままとする。
【００９０】
（２）実施形態の効果
以上説明した実施形態３に係る品質判定プログラム５１によると、サーバ３によって品質の判定と品質ステータスの更新とが行われるので、プログラム提供者の負担を軽減できる。
【００９１】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００９２】
（１）上記実施形態１では早期公開版プログラム３１と品質データ収集プログラム３２とが別プログラムである場合を例に説明したが、品質データ収集プログラム３２の一部あるいは全部は早期公開版プログラム３１と一体化されていてもよい。
【００９３】
（２）上記実施形態２では第２のコンピュータ２毎に予めサーバ３に品質判定パラメータを送信しておき、サーバ３に早期公開版プログラム３１のダウンロード可否の問い合わせを送信するときその問い合わせに品質判定パラメータの識別情報を含める場合を例に説明したが、第２のコンピュータ２は予めサーバ３に品質判定パラメータを送信しておくのではなく、サーバ３に問い合わせを送信するときにその問い合わせに品質判定パラメータ自体を含めて送信してもよい。この場合、問い合わせに含められる品質判定パラメータはパラメータ特定情報の一例である。
【００９４】
（３）上記実施形態３では早期公開版プログラム３１の品質ステータスによらず早期公開版プログラム３１を利用者に公開する場合を例に説明したが、品質ステータスが所定の品質ステータスに達するまでは早期公開版プログラム３１を利用者に公開せず、品質ステータスが所定の品質ステータスに達すると早期公開版プログラム３１を利用者に公開してもよい。
【００９５】
ただし、このようにすると、プログラム提供者は早期公開版プログラム３１の品質ステータスを監視して所定の品質ステータスに達したらその早期公開版プログラム３１を利用者に公開する作業を行わなければならず、プログラム提供者にとって負担である。そのため、品質ステータスが所定の品質ステータスに達するとサーバ３が自動で早期公開版プログラム３１の公開処理を実行するようにしてもよい。これにより、プログラム提供者の負担を軽減できる。
ここで公開処理とは、ＷＥＢサーバに早期公開版プログラム３１へのリンクを追加したり、ＦＴＰサーバに早期公開版プログラム３１をアップロードしたりすることにより、利用者が早期公開版プログラム３１をダウンロード可能にすることをいう。
【００９６】
（４）上記実施形態では例外処理によってエラーの発生を検出する場合を例に説明したが、例えばプログラムが異常終了したことを検知可能な場合はプログラムの異常終了もエラー発生数にカウントしてもよい。
【００９７】
（５）上記実施形態では第１のコンピュータ１や第２のコンピュータ２としてパーソナルコンピュータを例に説明したが、これらのコンピュータは携帯電話であってもよいし、携帯情報端末であってもよい。
【符号の説明】
【００９８】
１・・・第１のコンピュータ、２・・・第２のコンピュータ、３・・・サーバ、５・・・インターネット、２１・・・ＣＰＵ、２２・・・ＲＯＭ、２３・・・ＲＡＭ、２４・・・表示部、２５・・・操作部、２６・・・記憶部、２７・・・通信インタフェース部、３１・・・早期公開版プログラム、３２・・・品質データ収集プログラム、３３・・・品質判定プログラム、４１・・・品質判定プログラム、４２・・・ダウンロードプログラム、５１・・・品質判定プログラム
【図１】
0005843146.tif 000002
【図２】
0005843146.tif 000003
【図３】
0005843146.tif 000004
【図４】
0005843146.tif 000005
【図５】
0005843146.tif 000006
【図６】
0005843146.tif 000007
【図７】
0005843146.tif 000008
【図８】
0005843146.tif 000009
【図９】
0005843146.tif 000010
【図１０】
0005843146.tif 000011