説明

品質判定プログラム、品質データ収集判定プログラム、及び、情報処理装置

【課題】プログラムの品質を判断すること。
【解決手段】品質判定の対象プログラムがインストールされている1以上の第1のコンピュータで対象プログラムの実行を監視することにより収集された品質データであって対象プログラムの品質を判定するための品質データが記憶されている記憶装置から品質データを取得する取得処理(S201)と、取得処理によって取得された品質データに基づいて対象プログラムの品質を判定する品質判定処理(S202)と、を情報処理装置に実行させる品質判定プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムの品質を判定する技術に関する。
【背景技術】
【0002】
従来、プログラムをダウンロードするための伝搬環境がどれだけ安定しているかを示す安全度を判定し、安全度が高いと判定された場合にプログラムをダウンロードする携帯端末用ダウンロード装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−297125号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の技術はプログラムをダウンロードするか否かを伝搬環境の安全度に基づいて判断するものであり、プログラムの品質を判断することについて考慮されていなかった。
本明細書では、プログラムの品質を判断することができる技術を開示する。
【課題を解決するための手段】
【0005】
本明細書によって開示される品質判定プログラムは、品質判定の対象プログラムがインストールされている1以上の第1のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得処理と、前記取得処理によって取得された前記品質データに基づいて前記対象プログラムの品質を判定する品質判定処理と、を情報処理装置に実行させる。
【0006】
また、上記品質判定プログラムは、前記品質判定処理において前記対象プログラムの品質が基準レベル以上であるか否かを判定し、前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定されると、前記対象プログラムを前記情報処理装置にダウンロードするダウンロード処理を前記情報処理装置に実行させてもよい。
【0007】
また、上記品質判定プログラムは、前記品質判定処理で用いられる判定の条件を示す品質判定パラメータの入力を受け付ける受付処理を前記情報処理装置に実行させ、前記品質判定処理において、前記品質データと、前記受付処理によって受け付けられた前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定してもよい。
【0008】
また、前記記憶装置には前記第1のコンピュータで収集された前記品質データと当該第1のコンピュータで実行されるプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、当該品質判定プログラムは、前記取得処理において、前記記憶装置から前記情報処理装置で実行されるプログラムの実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得してもよい。
【0009】
また、上記品質判定プログラムは、前記品質判定処理において前記対象プログラムの品質が基準レベル以上であるか否かを判定し、第2のコンピュータから前記対象プログラムのダウンロード可否の問い合わせを受信する受信処理と、前記受信処理によって前記問い合わせが受信されると、前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定された場合はダウンロード可能であることを示す応答を前記第2のコンピュータに返信し、前記基準レベル未満であると判定された場合はダウンロード不可であることを示す応答を前記第2のコンピュータに返信する返信処理と、を前記情報処理装置に実行させてもよい。
【0010】
また、前記問い合わせは、前記品質判定処理で用いられる判定の条件を示す品質判定パラメータを特定するためのパラメータ特定情報を含み、前記品質判定処理において、前記品質データと、前記問い合わせに含まれている前記パラメータ特定情報によって特定される前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定してもよい。
【0011】
また、前記記憶装置には、前記第1のコンピュータで収集された前記品質データと当該第1のコンピュータのプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、前記問い合わせは前記情報処理装置に当該問い合わせを送信した前記第2のコンピュータで実行されるプログラムの実行環境を示す実行環境情報を含み、当該品質判定プログラムは、前記取得処理において、前記問い合わせに含まれている前記実行環境情報に対応する実行環境情報が関連付けられている品質データを取得してもよい。
【0012】
また、上記品質判定プログラムは、前記品質判定処理によって判定された品質に応じて前記対象プログラムの品質ステータスを更新するステータス更新処理を前記情報処理装置に実行させてもよい。
【0013】
また、上記品質判定プログラムは、前記品質ステータスが所定の品質ステータスに達すると、前記対象プログラムをダウンロード可能に外部に公開する公開処理を前記情報処理装置に実行させてもよい。
【0014】
本明細書によって開示される品質データ収集判定プログラムは、品質判定の対象プログラムがインストールされているコンピュータで実行される品質データ収集プログラムと、請求項1乃至請求項9のいずれか一項に記載の品質判定プログラムと、からなる品質データ収集判定プログラムであって、前記品質データ収集プログラムは、前記コンピュータによる前記対象プログラムの実行を監視して前記対象プログラムの品質を判定するための品質データを収集するデータ収集処理と、前記データ収集処理によって収集された品質データを外部の情報処理装置に送信する送信処理とを前記コンピュータに実行させる。
【0015】
また、上記品質データ収集判定プログラムは、前記送信処理において、前記品質データと、前記コンピュータのプログラムの実行環境を示す実行環境情報とを前記外部の情報処理装置に送信してもよい。
【0016】
なお、この発明は、情報処理装置、品質データ収集判定システム、品質データ収集プログラムを記録した記録媒体、品質データ収集判定プログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【0017】
上記の品質判定プログラムによると、プログラムの品質を判断することができる。
【図面の簡単な説明】
【0018】
【図1】実施形態1に係るコンピュータ、及び、サーバを示す模式図。
【図2】第2のコンピュータの電気的構成を示すブロック図。
【図3】第1のコンピュータによる品質データ収集処理の流れを示すフローチャート。
【図4】第2のコンピュータによる品質判定及びダウンロード処理の流れを示すフローチャート。
【図5】実施形態2に係るコンピュータ、及び、サーバを示す模式図。
【図6】第2のコンピュータによるダウンロード処理の流れを示すフローチャート。
【図7】サーバによる品質判定処理の流れを示すフローチャート。
【図8】実施形態3に係るコンピュータ、及び、サーバを示す模式図。
【図9】サーバによる品質判定及び品質ステータス更新処理の流れを示すフローチャート。
【図10】品質と品質ステータスとの関係を示すテーブル。
【発明を実施するための形態】
【0019】
<実施形態1>
実施形態1を図1ないし図4によって説明する。
【0020】
(1)コンピュータのネットワーク構成
図1は、第1のコンピュータ1、第2のコンピュータ2、及び、サーバ3、並びにそれらがインターネット5に接続されているネットワーク構成を示す模式図である。第2のコンピュータ2は実施形態1に係る情報処理装置の一例である。なお、第1のコンピュータ1、第2のコンピュータ2、及び、サーバ3はLAN(Local Aria Network)によって接続されてもよい。
【0021】
サーバ3で利用者にプログラムを公開する場合、品質が安定していないβ版を早期公開版プログラム31として早期公開したり、Nightly buildと呼ばれるスタイルで開発版を毎日ビルドし、ビルドしたプログラムを早期公開版プログラム31として毎日公開したりする場合がある。
そして、最新技術に高い関心を持ち、早期公開版プログラム31が公開されると直ぐにダウンロードして試用するアーリーアダプターと呼ばれる利用者層が存在する一方、このような早期公開版プログラム31は正式なテストを経たものではないため品質に問題を含有した状態であることがあり、エラーやバグの発生を心配してダウンロードを控える利用者層も存在する。
【0022】
ところで、ダウンロードを控えている利用者層の中には、早期公開版プログラム31であっても品質がある程度のレベルに達していれば試用したいと考えている利用者も存在する。しかしながら、そのような利用者は、従来はインターネットのフォーラムなどで他の利用者による試用レポートを収集するなどして各自で品質を判断するしか方法がなかった。
【0023】
また、ハードウェアやオペレーティングシステム(OS)などの組み合わせによって多様なプログラムの実行環境(以下「プログラム実行環境」という)があり、早期公開版プログラム31の品質に対する評価はプログラム実行環境によって異なる場合もある。このため、利用者は自身のプログラム実行環境と同じプログラム実行環境での評価を知りたいと考えるが、希望する情報を都合よく得られない場合もある。
このため、早期公開版プログラム31の品質に関する情報を求める利用者の利便性を向上する方法が求められている。
【0024】
そこで、実施形態1では、早期公開版プログラム31をダウンロードした利用者のコンピュータである第1のコンピュータ1で早期公開版プログラム31の実行を監視することにより、早期公開版プログラム31の品質を判定するための品質データを収集し、収集した品質データをサーバ3に送信する。そして、早期公開版プログラム31を試用したいと考えている利用者のコンピュータである第2のコンピュータ2でサーバ3から品質データを取得し、取得した品質データに基づいて品質を判定する。そして、判定した品質が基準レベル以上であればサーバ3から早期公開版プログラム31をダウンロードして第2のコンピュータ2にインストールする。
【0025】
(2)コンピュータの電気的構成
第1のコンピュータ1、第2のコンピュータ2、及び、サーバ3の電気的構成は実質的に同じであるので、ここでは第2のコンピュータ2を例に説明する。
図2は、第2のコンピュータ2の電気的構成を示すブロック図である。第2のコンピュータ2はパーソナルコンピュータであり、CPU21、ROM22、RAM23、タイマ24、表示部25、操作部26、記憶部27、通信インタフェース部28などを備えて構成されている。
【0026】
CPU21は、ROM22や記憶部27に記憶されている各種のプログラムを実行することによって第2のコンピュータ2の各部を制御する。ROM22にはCPU21によって実行される各種のプログラムやデータなどが記憶されている。RAM23はCPU21が各種の処理を実行するための主記憶装置として用いられる。
【0027】
タイマ24は、現在時刻の取得や処理時間の測定などに用いられる。
表示部25は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えて構成されている。
操作部26は、キーボードやマウスなどで構成されている。
【0028】
記憶部27は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。ここで、サーバ3が備える記憶部は記憶装置の一例である。
通信インタフェース部28はインターネット5を介して第1のコンピュータ1やサーバ3と通信可能に接続されている。
【0029】
(3)プログラム構成
図1に示すように、第1のコンピュータ1には早期公開版プログラム31と品質データ収集プログラム32とがインストールされている。早期公開版プログラム31は利用者に提供されるプログラムであれば任意のプログラムであってよく、例えばプリンタドライバであってもよい。早期公開版プログラム31は対象プログラムの一例である。
【0030】
品質データ収集プログラム32はサービスあるいはデーモン、またはスタートアッププログラムとして第1のコンピュータ1に常駐する常駐プログラムであり、第1のコンピュータ1による早期公開版プログラム31の実行を監視して早期公開版プログラム31についての品質データを収集し、収集した品質データをサーバ3に送信するプログラムである。品質データ収集プログラム32は早期公開版プログラム31がインストールされると自動でインストールされる。
【0031】
なお、品質データ収集プログラム32を常駐プログラムとせず、早期公開版プログラム31が実行されたときに早期公開版プログラム31から呼び出されることによって実行されてもよい。
また、品質データ収集プログラム32をインストールするか否かを利用者に問い合わせ、利用者の同意を得た上でインストールするようにしてもよい。
【0032】
サーバ3は上述の記憶部27に相当する記憶部を備えており、第1のコンピュータ1や第2のコンピュータ2によってダウンロードされる早期公開版プログラム31が記憶されている他、品質データ収集プログラム32を実行する第1のコンピュータ1から送信された品質データなどが記憶される。
【0033】
第2のコンピュータ2には品質判定プログラム33がインストールされている。品質判定プログラム33はサーバ3から取得した品質データに基づいて早期公開版プログラム31の品質を判定し、品質が基準レベル以上である場合に、サーバ3から早期公開版プログラム31をダウンロードして第2のコンピュータ2にインストールするプログラムである。
前述したように本実施形態では早期公開版プログラム31とともに品質データ収集プログラム32がインストールされる。よって、第2のコンピュータ2は早期公開版プログラム31がインストールされると第1のコンピュータ1となる。
【0034】
品質データ収集プログラム32と品質判定プログラム33とは品質データ収集判定プログラムの一例である。
【0035】
(4)第1のコンピュータによる品質データ収集処理
図3は、第1のコンピュータ1による品質データ収集処理の流れを示すフローチャートである。前述したように品質データ収集プログラム32は常駐プログラムであり、本処理は第1のコンピュータ1に電源が投入されている間繰り返し実行される。
【0036】
S101では、品質データ収集プログラム32を実行するCPU(以下、単に「品質データ収集プログラム32」という)は、品質判定項目毎に品質データを収集する。プログラムの品質を判定するための品質判定項目には種々のものがあるが、実施形態1では品質判定項目として以下に示す(項目1)〜(項目4)を例に説明する。なお、品質判定項目は以下に示すものに限定されるものではなく、また、必ずしも以下に示す項目全てを用いなくてもよい。
【0037】
(項目1)利用回数
プログラムの品質が低い場合には、利用者はそのプログラムの利用をやめてしまうことが考えられる。そのため、プログラムの品質が低いとプログラムの利用回数は少なくなる。逆にいうと、プログラムの利用回数が多いほどプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム32は早期公開版プログラム31の利用回数を収集する。
【0038】
具体的には、品質データ収集プログラム32はCPUによる早期公開版プログラム31の起動を監視し、早期公開版プログラム31の起動を検出すると、早期公開版プログラム31の利用回数をカウントするカウンタに1を加算する。
早期公開版プログラム31の起動の検出は種々の方法で行うことができる。例えば、品質データ収集プログラム32はOSから現在実行中のタスクの一覧であるタスクリストを一定時間間隔で取得する。そして、前回取得したタスクリストに早期公開版プログラム31を実行するタスクが含まれておらず、今回取得したタスクリストに早期公開版プログラム31を実行するタスクが含まれていれば、早期公開版プログラム31が起動されたとすればよい。
【0039】
また、例えば、早期公開版プログラム31は起動されるとプロセス間通信によって品質データ収集プログラム32に起動を通知し、品質データ収集プログラム32はその通知を受信することによって早期公開版プログラム31の起動を検出してもよい。
【0040】
(項目2)利用時間
プログラムの品質が低い場合には、利用者はそのプログラムの利用をやめてしまうことが考えられる。そのため、プログラムの品質が低いとプログラムの利用時間は短くなる。逆にいうと、プログラムの利用時間が長いほどプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム32は早期公開版プログラム31の利用時間を収集する。
具体的には、品質データ収集プログラム32は早期公開版プログラム31の起動を検出するとその時の現在時刻を起動時刻として第1のコンピュータ1のRAMに記録する。そして、品質データ収集プログラム32は早期公開版プログラム31の終了を検出すると、その時の現在時刻を終了時刻として取得し、起動時刻から終了時刻までの時間を利用時間として、利用時間をカウントするカウンタに加算する。
【0041】
早期公開版プログラム31の終了の検出は種々の方法で行うことができる。例えば、品質データ収集プログラム32はOSからタスクリストを一定時間間隔で取得する。そして、品質データ収集プログラム32はタスクリストに早期公開版プログラム31を実行するタスクが含まれなくなることによって早期公開版プログラム31の終了を検出してもよい。あるいは、品質データ収集プログラム32は、プロセス間通信によって早期公開版プログラム31から終了の通知を受信することによって終了を検出してもよい。
【0042】
なお、早期公開版プログラム31自身が利用時間を計測して品質データ収集プログラム32にその利用時間を送信する構成であってもよい。あるいは、早期公開版プログラム31は所定のファイルに利用時間を書き込み、品質データ収集プログラム32がそのファイルから利用時間を読み出す構成であってもよい。早期公開版プログラム31自身が利用時間を計測する場合は品質データ収集プログラム32の一部が早期公開版プログラム31に実装されていることになる。これは他の品質判定項目についても同様である。
【0043】
(項目3)エラー発生数
プログラムのエラー発生数が少なければそれだけプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム32は早期公開版プログラム31のエラー発生数を収集する。
プログラムがある処理を実行している途中で何らかの異常が発生した場合に、現在の処理を中断して別の処理を実行することを一般に例外処理という。例外処理はプログラミング言語に組み込まれている例外処理機能を利用することによって実現することができる。早期公開版プログラム31は例外処理機能によって異常の発生が検出されると例外処理として品質データ収集プログラム32にエラーの発生を通知する処理を実行する。品質データ収集プログラム32はその通知を受信するとエラー発生数をカウントするカウンタに1を加算する。
【0044】
(項目4)特定の処理の実行に要した実行時間
プログラムのパフォーマンス指数が高いほどプログラムの品質は高いと推測できる。そこで、品質データ収集プログラム32は早期公開版プログラム31のパフォーマンス指数を判断するために、早期公開版プログラム31の特定の処理の実行に要した実行時間を収集する。
特定の処理とは、具体的には例えば3Dグラフィックスの表示処理である。早期公開版プログラム31は利用者から特定の3Dグラフィックスの表示処理の実行が指示されるとその表示処理を開始する前にプロセス間通信によって品質データ収集プログラム32に表示処理の開始を通知する。品質データ収集プログラム32はその通知を受信するとその時の現在時刻を開始時刻として第1のコンピュータ1のRAMに記録する。
【0045】
そして、早期公開版プログラム31はその3Dグラフィックスの表示処理が終了すると品質データ収集プログラム32に表示処理の終了を通知する。品質データ収集プログラム32はその通知を受信するとその時の現在時刻を終了時刻として取得し、開始時刻から終了時刻までの時間を実行時間として第1のコンピュータ1の記憶部に記録する。
【0046】
なお、早期公開版プログラム31自身が実行時間を計測して品質データ収集プログラム32にその実行時間を送信する構成であってもよい。
また、特定の処理は3Dグラフィックスの表示処理に限られず、例えばCPUに大きな負荷の係る何らかの処理であってもよい。
【0047】
S102では、品質データ収集プログラム32はサーバ3に品質データを送信する送信時期が到来したか否かを判定し、到来した場合はS103に進み、到来していない場合はS101に戻る。
例えば毎日午前0時に品質データを送信することが品質データ収集プログラム32に設定されていたとすると、午前0時に達していればデータ送信時期が到来したと判定する。
【0048】
S103では、品質データ収集プログラム32は品質データと当該第1のコンピュータ1のプログラム実行環境を示す実行環境情報とをサーバ3に送信する。
プログラム実行環境とは、具体的にはCPUの製品名、RAMの容量、グラフィックスボードの製品名、ネットワークの帯域幅、OSの製品名やバージョンなどである。
【0049】
ただし、プログラム実行環境は早期公開版プログラム31の品質に影響するもののみを対象とするものとする。例えば早期公開版プログラム31は外部の装置と通信を行うものではない場合、ネットワークの帯域幅は品質に影響しないので、ネットワークの帯域幅を示す情報は実行環境情報に含まれなくてもよい。
サーバ3は第1のコンピュータ1から品質データと実行環境情報とを受信するとこれらを関連付けてサーバ3の記憶部に記憶する。
【0050】
S104では、品質データ収集プログラム32は送信済みの品質データを第1のコンピュータ1の記憶部から削除するとともに、各種のカウンタを0(零)にリセットする。
【0051】
(5)第2のコンピュータによる品質判定及びダウンロード処理
図4は、第2のコンピュータ2による品質判定及びダウンロード処理の流れを示すフローチャートである。本処理は利用者が品質判定プログラム33の実行を指示すると開始される。
【0052】
S201では、品質判定プログラム33を実行するCPU21(以下、単に「品質判定プログラム33」という)は、サーバ3から当該第2のコンピュータ2のプログラム実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する。S201は取得処理の一例である。
具体的には例えば、実行環境情報がCPU21の製品名とRAM23の容量との二つであるとした場合、品質判定プログラム33はサーバ3に記憶されている品質データのうち、第2のコンピュータ2のCPU21の製品名及びRAM23の容量と一致するCPUの製品名及びRAMの容量が関連付けられている品質データを取得する。
【0053】
S202では、品質判定プログラム33はS201で取得した品質データに基づいて早期公開版プログラム31の品質を判定する。S202は品質判定処理の一例である。具体的には例えば、品質判定プログラム33は以下に示す式1を用いて品質を判定する。
【0054】
品質Q=総利用回数×a1+総利用時間×a2+平均パフォーマンス指数×a3−総エラー発生数×a4+プログラム公開日からの経過日数×a5 ・・・ 式1
【0055】
総利用回数は取得した利用回数を合計した値であり、総利用回数が大きいほど品質Qは大きくなる。
総利用時間は取得した利用時間を合計した値であり、総利用時間が長いほど品質Qは大きくなる。
平均パフォーマンス指数は取得した実行時間を平均した値に反比例する値であり、実行時間を平均した値が小さいほど平均パフォーマンス指数は大きくなる。
総エラー発生数は取得したエラー発生数を合計した値である。総エラー発生数は品質Qから減算される値であり、総エラー発生数が多いほど品質Qの値は小さくなる。
【0056】
プログラム公開日からの経過日数は、早期公開版プログラム31を公開してからの経過日数である。プログラム公開日からの経過日数が長ければその間にバグが発見されて修正されている可能性が高い。従って、プログラム公開日からの経過日数が長いほどプログラムの品質は高いと推測できる。
【0057】
なお、プログラム公開日からの経過日数はサーバ3で早期公開版プログラム31を公開した日からの経過日数としてサーバ3側で把握することができる。つまり、上述した利用回数〜エラー発生数は第1のコンピュータ1側で収集される品質データであり、プログラム公開日からの経過日数はサーバ3側で収集される品質データである。
【0058】
a1〜a5は品質を判定する条件を示す品質判定パラメータである。品質判定パラメータのデフォルト値はプログラム提供者によって設定されるが、利用者が第2のコンピュータ2の操作部26を操作して品質判定パラメータを設定することもできる。例えば、利用者はエラー発生数を重視して品質を判定させたい場合は、品質パラメータa4をデフォルト値より大きくする一方、品質判定パラメータa1〜a3、a5をデフォルト値より小さくする。言い換えると、利用者は品質判定パラメータを変更することにより、品質判定項目の重み付けあるいは優先度を変更することができる。品質判定プログラム33が操作部26を介して利用者による品質判定パラメータの設定を受け付ける処理は受付処理の一例である。
【0059】
なお、上述した式1は一例であり、品質データから品質を判定する式はこれに限られるものではない。どのような式を用いて品質Qを求めるかは適宜に決定することができる。
【0060】
S203では、品質判定プログラム33は式1によって求めた品質Qが基準レベル以上あるか否かを判定し、基準レベル以上である場合はS204に進み、基準レベル未満である場合は本処理を終了する。
なお、基準レベルのデフォルト値は品質判定プログラム33のプログラム提供者によって設定されるが、利用者は第2のコンピュータ2の操作部26を操作して基準レベルを変更することもできる。
【0061】
S204では、品質判定プログラム33はサーバ3から早期公開版プログラム31をダウンロードする。
S205では、品質判定プログラム33はダウンロードした早期公開版プログラム31を第2のコンピュータ2にインストールする。具体的には例えば、品質判定プログラム33はダウンロードした早期公開版プログラム31のインストーラを起動することにより、第2のコンピュータ2に早期公開版プログラム31をインストールする。
【0062】
(6)実施形態の効果
以上説明した実施形態1に係る品質判定プログラム33によると、早期公開版プログラム31の品質を判定することができる。このため、第2のコンピュータ2に早期公開版プログラム31をダウンロードするか否かを早期公開版プログラム31の品質に基づいて判断しようと考えている利用者は、早期公開版プログラム31の品質を自ら判定しなくてよい。よって品質判定プログラム33によると、第2のコンピュータ2に早期公開版プログラム31をダウンロードするか否かを早期公開版プログラム31の品質に基づいて判断する利用者の利便性を向上できる。
【0063】
更に、品質判定プログラム33によると、早期公開版プログラム31の品質が基準レベル以上であるか否かを判定し、基準レベル以上であると判定すると、早期公開版プログラム31をダウンロードして第2のコンピュータ2にインストールするので、早期公開版プログラム31の品質が基準レベル以上になったらインストールしたいと考えている利用者の利便性が向上する。
【0064】
更に、品質判定プログラム33は品質データと品質判定パラメータとに基づいて早期公開版プログラム31の品質を判定するものであり、利用者による品質判定パラメータの設定を受け付ける。
品質データと品質判定パラメータとに基づいて品質を判定する場合、品質が基準レベル以上となるか否かは品質判定パラメータによって変わってくる。例えば、比較的品質が低くても品質判定パラメータによっては品質が基準レベル以上と判定される場合もあれば、比較的品質が高くても品質判定パラメータによっては品質が基準レベル未満であると判定される場合もある。
つまり、利用者は品質判定パラメータを設定することより、基準レベル以上となる品質を自身で指定することができる。言い換えると、利用者は早期公開版プログラム31がダウンロードされることとなる品質を自身で指定できる。これにより、利用者の利便性がより向上する。
【0065】
更に、品質判定プログラム33によると、サーバ3の記憶部から第2のコンピュータ2のプログラム実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する。二つのコンピュータ間でプログラム実行環境が異なる場合、一方のコンピュータで収集された品質データに基づいて品質を判定すると基準レベル以上となっても、他方のコンピュータで収集された品質データに基づいて品質を判定すると基準レベル未満となることも起こり得る。その典型的な例が平均パフォーマンス指数である。
品質判定プログラム33によると、第2のコンピュータ2のプログラム実行環境に対応するプログラム実行環境で収集された品質データに基づいて品質を判定するので、実際にインストールして実行したときに品質が基準レベル未満であることが起こることを低減できる。
【0066】
また、実施形態1に係る品質データ収集プログラム32によると、第1のコンピュータ1による早期公開版プログラム31の実行を監視して早期公開版プログラム31の品質を判定するための品質データを自動で収集するので、早期公開版プログラム31をインストールするか否かを早期公開版プログラム31の品質に基づいて判断する利用者の利便性が向上する。
【0067】
更に、品質データ収集プログラム32によると、品質データと第1のコンピュータ1のプログラム実行環境を示す実行環境情報とをサーバ3に送信するので、第2のコンピュータ2において早期公開版プログラム31の品質を判定するとき、プログラム実行環境を考慮して品質を判定することが可能になる。
【0068】
<実施形態2>
次に、実施形態2を図5ないし図7によって説明する。
実施形態1では第2のコンピュータ2側で早期公開版プログラム31の品質を判定する場合を例に説明したが、実施形態2ではサーバ3側で品質を判定する。サーバ3は実施形態2に係る情報処理装置の一例である。
そして、第2のコンピュータ2はサーバ3に早期公開版プログラム31の品質を問い合せ、早期公開版プログラム31の品質が基準レベル以上であると判定されると、サーバ3から早期公開版プログラム31をダウンロードしてインストールする。
【0069】
図5は、実施形態2に係る第1のコンピュータ1、第2のコンピュータ2、及び、サーバ3を示す模式図である。実施形態2ではサーバ3に品質判定プログラム41がインストールされている。実施形態2に係る品質判定プログラム41は常駐プログラムであり、サーバ3に電源が投入されている間繰り返し実行される。第2のコンピュータ2には早期公開版プログラム31をダウンロードするためのダウンロードプログラム42がインストールされている。第1のコンピュータ1のプログラム構成は実施形態1と同じである。
【0070】
(1)第2のコンピュータによる品質判定パラメータの送信
実施形態2では、第2のコンピュータ2毎に予め品質判定パラメータをサーバ3に送信し、サーバ3の記憶部に記憶させておくことができる。第2のコンピュータ2は自身が送信した品質判定パラメータと他の第2のコンピュータ2が送信した品質判定パラメータとをサーバ3側で識別できるようにするために、品質判定パラメータを識別するための識別情報も併せて送信するものとする。識別情報としては、例えば第2のコンピュータ2のIPアドレスや第2のコンピュータ2の利用者のユーザIDなどを用いることができる。識別情報はパラメータ特定情報の一例である。
【0071】
サーバ3は第2のコンピュータ2から品質判定パラメータと識別情報とを受信すると、それらを対応付けてサーバ3の記憶部に記憶する。
【0072】
(2)第2のコンピュータによるダウンロード処理
図6は、第2のコンピュータ2によるダウンロード処理の流れを示すフローチャートである。本処理は利用者がダウンロードプログラム42の実行を指示すると開始される。
【0073】
S301では、ダウンロードプログラム42を実行するCPU21(以下、単に「ダウンロードプログラム42」という)は、サーバ3に早期公開版プログラム31のダウンロード可否の問い合わせを送信する。この問い合わせには前述した識別情報と該第2のコンピュータ2のプログラム実行環境を示す実行環境情報とを含めるものとする。
【0074】
サーバ3は該問い合わせを受信すると品質判定処理を実行する。詳しくは後述するが、サーバ3は品質判定処理において、早期公開版プログラム31の品質を判定してダウンロード可能であるか否かを判定し、ダウンロード可能であることを示す応答、又は、ダウンロード不可であることを示す応答を第2のコンピュータ2に返信する。
【0075】
S302では、ダウンロードプログラム42はサーバ3から受信した応答がダウンロード可能であることを示すものであるか又はダウンロード不可であることを示すものであるかを判定し、ダウンロード可能を示すものである場合はS303に進み、ダウンロード不可を示すものである場合は本処理を終了する。
S303では、ダウンロードプログラム42はサーバ3から早期公開版プログラム31をダウンロードする。
S304では、ダウンロードプログラム42はダウンロードした早期公開版プログラム31を第2のコンピュータ2にインストールする。
【0076】
(3)サーバによる品質判定処理
図7は、サーバ3による品質判定処理の流れを示すフローチャートである。
S401では、品質判定プログラム41を実行するCPU(以下、単に「品質判定プログラム41」という)は、問い合わせを受信したか否かを判定し、問い合わせを受信するとS402に進む。
【0077】
S402では、品質判定プログラム41は受信した問い合わせに含まれている実行環境情報に対応する実行環境情報が関連付けられている品質データをサーバ3の記憶部から取得する。S402は取得処理の一例である。
S403では、品質判定プログラム41は第2のコンピュータ2から受信した問い合わせに含まれている識別情報に対応付けられている品質判定パラメータをサーバ3の記憶部から取得する。
【0078】
S404では、品質判定プログラム41はS402で取得した品質データとS403で取得した品質判定パラメータとに基づいて前述したS202と同様に早期公開版プログラム31の品質を判定する。S404は品質判定処理の一例である。
S405では、品質判定プログラム41は判定した品質Qが基準レベル以上であるか否かを判定し、基準レベル以上である場合はS406に進み、基準レベル未満である場合はS407に進む。
【0079】
S406では、品質判定プログラム41は第2のコンピュータ2にダウンロード可能であることを示す応答を返信する。S406は返信処理の一例である。
S407では、品質判定プログラム41は第2のコンピュータ2にダウンロード不可であることを示す応答を返信する。S406は返信処理の一例である。
【0080】
(4)実施形態の効果
以上説明した実施形態2に係る品質判定プログラム41によると、サーバ3は第2のコンピュータ2から問い合わせを受信すると早期公開版プログラム31の品質が基準レベル以上であるか否かを判定し、基準レベル以上であると判定するとダウンロード可能であることを示す応答を第2のコンピュータ2に返信するので、第2のコンピュータ2において早期公開版プログラム31をインストールするか否かを早期公開版プログラム31の品質に基づいて判断する利用者の利便性を向上できる。
【0081】
更に、品質判定プログラム41によると、サーバ3において第2のコンピュータ2から品質判定パラメータを受信し、品質データと第2のコンピュータ2から受信した品質判定パラメータとに基づいて早期公開版プログラム31の品質を判定するので、早期公開版プログラム31がダウンロードされる品質を第2のコンピュータ2毎に指定できる。
【0082】
更に、品質判定プログラム41によると、第2のコンピュータ2から受信した実行環境情報に対応する実行環境情報が関連付けられている品質データをサーバ3の記憶部から取得するので、実際に早期公開版プログラム31を第2のコンピュータ2にインストールして実行したときに品質が基準レベル未満であることが起こることを低減できる。
【0083】
<実施形態3>
次に、実施形態3を図8ないし図10によって説明する。
実施形態3では早期公開版プログラム31の品質に応じた品質ステータスを利用者に公開する。第2のコンピュータ2の利用者は早期公開版プログラム31の品質ステータスが所定の品質ステータスに達したらダウンロードしようと考えており、公開された品質ステータスを随時チェックし、所定の品質ステータスに達するとサーバ3から早期公開版プログラム31をダウンロードしてインストールする。
【0084】
ところで、早期公開版プログラム31の品質は日々変化するので、早期公開版プログラム31の品質ステータスを利用者に公開するためには、プログラム提供者は品質を判定する作業を定期的に行わなければならず、更に、品質ステータスが上がった場合には利用者に公開している品質ステータスを更新しなければならないため、プログラム提供者にとって負担である。
そこで、実施形態3ではサーバ3により早期公開版プログラム31の品質を判定し、利用者に公開する品質ステータスを品質に応じて自動更新する。サーバ3は実施形態3に係る情報処理装置の一例である。
【0085】
図8は、実施形態3に係る第1のコンピュータ1、第2のコンピュータ2、及び、サーバ3を示す模式図である。実施形態3に係る第1のコンピュータ1はプログラム提供者側において早期公開版プログラム31の開発に用いられているものである。つまり、前述した実施形態1、2では早期公開版プログラム31の利用者側で品質データが収集されていたが、実施形態3ではプログラム提供者側で品質データが収集される。実施形態3に係るサーバ3には、品質判定プログラム51がインストールされている。品質判定プログラム51も常駐プログラムである。
【0086】
(1)サーバによる品質判定及び品質ステータス更新処理
図9は、サーバ3による品質判定及び品質ステータス更新処理の流れを示すフローチャートである。
S501では、品質判定プログラム51を実行するCPU(以下、単に「品質判定プログラム51」という)は、品質判定時期が到来したか否かを判定し、品質判定時期が到来した場合はS502に進む。
S502では、品質判定プログラム51は実行環境情報毎にサーバ3の記憶部から品質データを取得する。実行環境情報毎に品質データを取得するのは、実行環境情報毎に品質を判定するためである。S502は取得処理の一例である。
【0087】
S503では、品質判定プログラム51はS502で取得した品質データに基づいて、実行環境情報毎に早期公開版プログラム31の品質を判定する。S503は品質判定処理の一例である。
なお、実施形態3では早期公開版プログラム31の品質を判定する段階では未だ早期公開版プログラム31をダウンロードする利用者が確定していないので、プログラム提供者側が予め設定したデフォルトの品質判定パラメータを用いて品質を判定するものとする。
【0088】
S504では、品質判定プログラム51は実行環境情報毎に、早期公開版プログラム31の品質ステータスをS503で判定した品質Qに応じた品質ステータスに変更する。S504はステータス更新処理の一例である。以下、具体的に説明する。
【0089】
図10は、品質Qと品質ステータスとの関係を示すテーブルである。図10に示すQ1〜Q40は上述の式で定義される品質Qを表す値を示している。例えばS503で判定した品質QがQ10〜Q20の範囲に含まれる場合、品質判定プログラム51は品質ステータスがαであればその品質ステータスをβに変更する。品質ステータスが既にβである場合はそのままとする。
【0090】
(2)実施形態の効果
以上説明した実施形態3に係る品質判定プログラム51によると、サーバ3によって品質の判定と品質ステータスの更新とが行われるので、プログラム提供者の負担を軽減できる。
【0091】
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【0092】
(1)上記実施形態1では早期公開版プログラム31と品質データ収集プログラム32とが別プログラムである場合を例に説明したが、品質データ収集プログラム32の一部あるいは全部は早期公開版プログラム31と一体化されていてもよい。
【0093】
(2)上記実施形態2では第2のコンピュータ2毎に予めサーバ3に品質判定パラメータを送信しておき、サーバ3に早期公開版プログラム31のダウンロード可否の問い合わせを送信するときその問い合わせに品質判定パラメータの識別情報を含める場合を例に説明したが、第2のコンピュータ2は予めサーバ3に品質判定パラメータを送信しておくのではなく、サーバ3に問い合わせを送信するときにその問い合わせに品質判定パラメータ自体を含めて送信してもよい。この場合、問い合わせに含められる品質判定パラメータはパラメータ特定情報の一例である。
【0094】
(3)上記実施形態3では早期公開版プログラム31の品質ステータスによらず早期公開版プログラム31を利用者に公開する場合を例に説明したが、品質ステータスが所定の品質ステータスに達するまでは早期公開版プログラム31を利用者に公開せず、品質ステータスが所定の品質ステータスに達すると早期公開版プログラム31を利用者に公開してもよい。
【0095】
ただし、このようにすると、プログラム提供者は早期公開版プログラム31の品質ステータスを監視して所定の品質ステータスに達したらその早期公開版プログラム31を利用者に公開する作業を行わなければならず、プログラム提供者にとって負担である。そのため、品質ステータスが所定の品質ステータスに達するとサーバ3が自動で早期公開版プログラム31の公開処理を実行するようにしてもよい。これにより、プログラム提供者の負担を軽減できる。
ここで公開処理とは、WEBサーバに早期公開版プログラム31へのリンクを追加したり、FTPサーバに早期公開版プログラム31をアップロードしたりすることにより、利用者が早期公開版プログラム31をダウンロード可能にすることをいう。
【0096】
(4)上記実施形態では例外処理によってエラーの発生を検出する場合を例に説明したが、例えばプログラムが異常終了したことを検知可能な場合はプログラムの異常終了もエラー発生数にカウントしてもよい。
【0097】
(5)上記実施形態では第1のコンピュータ1や第2のコンピュータ2としてパーソナルコンピュータを例に説明したが、これらのコンピュータは携帯電話であってもよいし、携帯情報端末であってもよい。
【符号の説明】
【0098】
1・・・第1のコンピュータ、2・・・第2のコンピュータ、3・・・サーバ、5・・・インターネット、21・・・CPU、22・・・ROM、23・・・RAM、24・・・表示部、25・・・操作部、26・・・記憶部、27・・・通信インタフェース部、31・・・早期公開版プログラム、32・・・品質データ収集プログラム、33・・・品質判定プログラム、41・・・品質判定プログラム、42・・・ダウンロードプログラム、51・・・品質判定プログラム


【特許請求の範囲】
【請求項1】
品質判定の対象プログラムがインストールされている1以上の第1のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得処理と、
前記取得処理によって取得された前記品質データに基づいて前記対象プログラムの品質を判定する品質判定処理と、
を情報処理装置に実行させる品質判定プログラム。
【請求項2】
請求項1に記載の品質判定プログラムであって、
前記品質判定処理において前記対象プログラムの品質が基準レベル以上であるか否かを判定し、
前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定されると、前記対象プログラムを前記情報処理装置にダウンロードするダウンロード処理を前記情報処理装置に実行させる、品質判定プログラム。
【請求項3】
請求項2に記載の品質判定プログラムであって、
前記品質判定処理で用いられる判定の条件を示す品質判定パラメータの入力を受け付ける受付処理を前記情報処理装置に実行させ、
前記品質判定処理において、前記品質データと、前記受付処理によって受け付けられた前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定する、品質判定プログラム。
【請求項4】
請求項2又は請求項3に記載の品質判定プログラムであって、
前記記憶装置には前記第1のコンピュータで収集された前記品質データと当該第1のコンピュータで実行されるプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、
当該品質判定プログラムは、前記取得処理において、前記記憶装置から前記情報処理装置で実行されるプログラムの実行環境を示す実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する、品質判定プログラム。
【請求項5】
請求項1に記載の品質判定プログラムであって、
前記品質判定処理において前記対象プログラムの品質が基準レベル以上であるか否かを判定し、
第2のコンピュータから前記対象プログラムのダウンロード可否の問い合わせを受信する受信処理と、
前記受信処理によって前記問い合わせが受信されると、前記品質判定処理によって前記対象プログラムの品質が前記基準レベル以上であると判定された場合はダウンロード可能であることを示す応答を前記第2のコンピュータに返信し、前記基準レベル未満であると判定された場合はダウンロード不可であることを示す応答を前記第2のコンピュータに返信する返信処理と、
を前記情報処理装置に実行させる品質判定プログラム。
【請求項6】
請求項5に記載の品質判定プログラムであって、
前記問い合わせは、前記品質判定処理で用いられる判定の条件を示す品質判定パラメータを特定するためのパラメータ特定情報を含み、
前記品質判定処理において、前記品質データと、前記問い合わせに含まれている前記パラメータ特定情報によって特定される前記品質判定パラメータとに基づいて前記対象プログラムの品質を判定する、品質判定プログラム。
【請求項7】
請求項5又は請求項6に記載の品質判定プログラムであって、
前記記憶装置には、前記第1のコンピュータで収集された前記品質データと当該第1のコンピュータのプログラムの実行環境を示す実行環境情報とが関連付けられて記憶されており、
前記問い合わせは前記情報処理装置に当該問い合わせを送信した前記第2のコンピュータで実行されるプログラムの実行環境を示す実行環境情報を含み、
当該品質判定プログラムは、前記取得処理において、前記問い合わせに含まれている前記実行環境情報に対応する実行環境情報が関連付けられている品質データを取得する、品質判定プログラム。
【請求項8】
請求項1に記載の品質判定プログラムであって、
前記品質判定処理によって判定された品質に応じて前記対象プログラムの品質ステータスを更新するステータス更新処理を前記情報処理装置に実行させる品質判定プログラム。
【請求項9】
請求項8に記載の品質判定プログラムであって、
前記品質ステータスが所定の品質ステータスに達すると、前記対象プログラムをダウンロード可能に外部に公開する公開処理を前記情報処理装置に実行させる、品質判定プログラム。
【請求項10】
品質判定の対象プログラムがインストールされているコンピュータで実行される品質データ収集プログラムと、
請求項1乃至請求項9のいずれか一項に記載の品質判定プログラムと、
からなる品質データ収集判定プログラムであって、
前記品質データ収集プログラムは、
前記コンピュータによる前記対象プログラムの実行を監視して前記対象プログラムの品質を判定するための品質データを収集するデータ収集処理と、
前記データ収集処理によって収集された品質データを外部の情報処理装置に送信する送信処理とを前記コンピュータに実行させる、品質データ収集判定プログラム。
【請求項11】
請求項10に記載の品質データ収集判定プログラムであって、
前記送信処理において、前記品質データと、前記コンピュータのプログラムの実行環境を示す実行環境情報とを前記外部の情報処理装置に送信する、品質データ収集判定プログラム。
【請求項12】
品質判定の対象プログラムがインストールされている1以上のコンピュータで前記対象プログラムの実行を監視することにより収集された品質データであって前記対象プログラムの品質を判定するための品質データが記憶されている記憶装置から前記品質データを取得する取得部と、
前記取得部によって取得された前記品質データに基づいて前記対象プログラムの品質を判定する品質判定部と、
を備える情報処理装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−109403(P2013−109403A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−251800(P2011−251800)
【出願日】平成23年11月17日(2011.11.17)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】