(58)【調査した分野】(Int.Cl.,DB名)
更新プログラムの適用対象である対象装置の重要度及び使用用途と、前記更新プログラムの種別及び重要度とに応じて定められたポリシー情報に基づいて、前記更新プログラムを前記対象装置に対して適用するか否かを判別する適否判断処理を実行し、その結果、適用すると判断する場合には、配信手段を介して重要度の高い順に前記対象装置に対して前記更新プログラムを配信する適否判定手段を、備え、
前記適否判断処理において、
前記更新プログラムが重視すべき更新プログラムか否かを示す重視度に基づいて、前記更新プログラムが前記対象装置にとって重視する更新プログラムであるか否かを判別し、
重視する更新プログラムであると判別する場合には、前記対象装置の使用用途と、前記重視度とに応じて定められた前記更新プログラムのファイルサイズに対する乗率と前記対象装置のCPU負荷に対する乗率と、前記ポリシー情報に含まれる閾値とに基づいて、新たに閾値を算出し、
前記対象装置におけるネットワークの負荷状況と、前記対象装置におけるCPU負荷の状況と、前記更新プログラムのファイルサイズとがそれら閾値を満たす場合に、前記更新プログラムを前記対象装置に対して適用すると判別する
ことを特徴とするプログラム配信装置。
備えることを特徴とするプログラム配信装置。
更新プログラムの適用対象である対象装置の重要度及び使用用途と、前記更新プログラムの種別及び重要度とに応じて定められたポリシー情報に基づいて、前記更新プログラムを前記対象装置に対して適用するか否かを判別する適否判断処理を実行し、その結果、適用すると判断する場合には、配信手段を介して重要度の高い順に前記対象装置に対して前記更新プログラムを配信し、
前記適否判断処理において、
前記更新プログラムが重視すべき更新プログラムか否かを示す重視度に基づいて、前記更新プログラムが前記対象装置にとって重視する更新プログラムであるか否かを判別し、
重視する更新プログラムであると判別する場合には、前記対象装置の使用用途と、前記重視度とに応じて定められた前記更新プログラムのファイルサイズに対する乗率と前記対象装置のCPU負荷に対する乗率と、前記ポリシー情報に含まれる閾値とに基づいて、新たに閾値を算出し、
前記対象装置におけるネットワークの負荷状況と、前記対象装置におけるCPU負荷の状況と、前記更新プログラムのファイルサイズとがそれら閾値を満たす場合に、前記更新プログラムを前記対象装置に対して適用すると判別する
ことを特徴とするプログラム配信方法。
更新プログラムの適用対象である対象装置の重要度及び使用用途と、前記更新プログラムの種別及び重要度とに応じて定められたポリシー情報に基づいて、前記更新プログラムを前記対象装置に対して適用するか否かを判別する適否判断処理を実行し、その結果、適用すると判断する場合には、配信手段を介して重要度の高い順に前記対象装置に対して前記更新プログラムを配信する機能と、
前記適否判断処理において、
前記更新プログラムが重視すべき更新プログラムか否かを示す重視度に基づいて、前記更新プログラムが前記対象装置にとって重視する更新プログラムであるか否かを判別し、
重視する更新プログラムであると判別する場合には、前記対象装置の使用用途と、前記重視度とに応じて定められた前記更新プログラムのファイルサイズに対する乗率と前記対象装置のCPU負荷に対する乗率と、前記ポリシー情報に含まれる閾値とに基づいて、新たに閾値を算出する機能と、
前記対象装置におけるネットワークの負荷状況と、前記対象装置におけるCPU負荷の状況と、前記更新プログラムのファイルサイズとがそれら閾値を満たす場合に、前記更新プログラムを前記対象装置に対して適用すると判別する機能とを
コンピュータに実現させることを特徴とするコンピュータ・プログラム。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0018】
<第1の実施形態>
図1は、本発明の第1の実施形態におけるプログラム配信装置1の構成を示すブロック図である。
【0019】
図1において、プログラム配信装置1は、適否判定部2を備える。
【0020】
より具体的に、適否判定部2は、例えば、所定の時間周期毎に、アップデートプログラム(以降、本願では、「更新プログラム」とも記す)の配信処理を実行する。
【0021】
ここで、更新プログラムとは、例えば、サーバ装置やパーソナルコンピュータ等の電子機器に搭載されたオペレーティングシステム(Operating_System:以降、「OS」と称する)に対する不具合修正、セキュリティ対策、性能改善及び機能追加を目的としたプログラムである。
【0022】
まず、適否判定部2は、記憶部4に記憶された適用情報101に基づいて、プログラム配信装置1が管理する、例えば、サーバ装置(対象装置)に対して適用していない(つまり、未適用の)更新プログラムの有無を判別する。また、適否判定部2は、判別した結果、当該サーバ装置に対して未適用の更新プログラムが有る場合には、記憶部4に記憶された適用情報101とプログラム情報102とに基づいて、サーバ装置と、そのサーバ装置に対して未適用の更新プログラムの名称とを含む適用判断リストを生成する。
【0023】
尚、適否判定部2は、適用判断リストを生成する際に、更新プログラムの種別順及びサーバ装置の重要度順となるように適用判断リストに含まれる情報をソートする(つまり、並べ替える)。
【0024】
これにより、プログラム配信装置1は、緊急性が高く、且つ重要度の高いサーバ装置に対して優先的に更新プログラムを配信することができる。
【0025】
ここでは、適用情報101、プログラム情報102及び適用判断リストについて、より具体的に説明する。
【0026】
まず、適用情報101は、1つ以上のサーバ装置と、そのサーバ装置における更新プログラムの適用状況とを、管理する情報である。
【0027】
より具体的に、適用情報101は、1つ以上のサーバ装置と、そのサーバ装置に対して適用する更新プログラム毎に、更新プログラムの適用状況を示す情報を含む。即ち、適用情報101は、「サーバ装置の名称(サーバ装置名)」、「更新プログラムの名称(更新プログラム名)」及び「更新プログラムの適用状況」が関連付けられた情報を含む。
【0028】
図2は、本発明の第1の実施形態における適用情報101を具体的に例示する図である。
【0029】
図2に示す1列目には、「サーバ装置名」を示す。また、2列目は、「更新プログラム名」を示す。そして、3列目は、「更新プログラムの適用状況」を示す。
【0030】
この「更新プログラムの適用状況」には、サーバ装置が更新プログラムを既に適用している場合に、適用済みであることを示す「Y」を含める。一方で、「更新プログラムの適用状況」は、サーバ装置が更新プログラムを適用していない(つまり、未適用)の場合に、未適用であることを示す「N」を含める。また、「更新プログラムの適用状況」は、サーバ装置が更新プログラムを適用したか否かを未確認の場合には、未確認であることを示す「−」を含める。
【0031】
次に、プログラム情報102は、1つ以上の更新プログラムと、その更新プログラム毎に、更新プログラムに関する情報を含む。
【0032】
より具体的に、プログラム情報102は、「更新プログラムの名称」、「更新プログラムの重視度」、「更新プログラムの重要度」、「更新プログラムの種別」、「更新プログラムのサイズ」及び「タイムスタンプ」が関連付けられた情報を含む。
【0033】
また、「更新プログラムの重視度」には、例えば、適用する更新プログラムが重視すべき更新プログラムであるか否かを判別可能な情報である。
【0034】
「更新プログラムの重視度」は、更新プログラム毎に、その更新プログラムを重視する順に「A」、「B」及び「C」と各ランクに分けた情報を含める。
【0035】
このように、更新プログラムの重視度を設けることにより、プログラム配信装置1は、重要な更新プログラムであっても、さらに、重視する更新プログラムか否かを判別することによって、より適切な順に更新プログラムを配信することができる。
【0036】
そして、「更新プログラムの種別」とは、更新プログラムの種類を示す情報である。
【0037】
より具体的に、「更新プログラムの種別」は、例えば、更新プログラムが不具合の修正を目的とするプログラムである場合に、「不具合修正」と示す。また、「更新プログラムの種別」は、例えば、更新プログラムがセキュリティに関するプログラムである場合に、「セキュリティ対策」と示す。また、例えば、「更新プログラムの種別」は、更新プログラムが性能改善を目的するプログラムである場合には、「性能改善」と示す。
【0038】
「更新プログラムの重要度」は、更新プログラムを適用することにより達成される目的により設定された重要度を示す情報である。
【0039】
「更新プログラムの重要度」には、例えば、更新プログラムの重要度に応じて、重要度順に「A」、「B」及び「C」と各ランクに分けた情報を含める。例えば、「更新プログラムの重要度」は、更新プログラムがセキュリティ対策を目的とする場合に、最も重要度の高い情報「A」を含む。
【0040】
「タイムスタンプ」とは、更新プログラムの公開開始日である。そして、「更新プログラムのサイズ」とは、更新プログラムのファイルサイズである。
【0041】
図3は、本発明の第1の実施形態におけるプログラム情報102を具体的に例示する図である。
【0042】
図3に示す1列目には、「更新プログラム名」を示す。また、2列目は、「更新プログラムの重視度」を示す。そして、3列目は、「更新プログラムの重要度」を示す。4列目は、「更新プログラムの種別」を示す。5列目は、「更新プログラムのサイズ」を示す。6列目は、「タイムスタンプ」を示す。
【0043】
次に、適用判断リストは、「更新プログラム名」、「更新プログラムの種別」、「サーバ装置名」及び「サーバ装置の重要度」が関連付けられた情報を含む。
【0044】
図4は、本発明の第1の実施形態における適用判断リストを具体的に例示する図である。
【0045】
図4に示す1列目には、「更新プログラム名」を示す。2列目は、「更新プログラムの種別」を示す。次に、3列目は、「サーバ装置名」を示す。そして、4列目は、「サーバ装置の重要度」を示す。
【0046】
「サーバ装置の重要度」は、例えば、サーバ装置が行う処理や、扱うデータにより設定された重要度である。
【0047】
より具体的に、「サーバ装置の重要度」には、例えば、サーバ装置の重要度に応じて、重要度順に「A」、「B」及び「C」と各ランクに分けた情報を含める。
【0048】
次に、適否判定部2は、配信の対象であるサーバ装置の重要度及びそのサーバ装置の使用用途と、配信される更新プログラムの種別及びその更新プログラムの重要度とに応じて定められたポリシー情報(第1のポリシー情報103、第2のポリシー情報104及び第3のポリシー情報105)に基づいて、更新プログラムをサーバ装置に対して適用するか否かを判別する。即ち、適否判定部2は、ポリシー情報に基づいて、サーバ装置に対する更新プログラムの適否判断処理を実行する(適否判断処理については、本実施形態において詳細に後述する)。
【0049】
また、適否判定部2は、係る適否判断処理の判断結果に応じて、更新プログラムをサーバ装置に対して配信するか、または適否判断処理をリトライ(つまり、改めて実行)するかを判別する。
【0050】
適否判定部2は、係る適否判断処理において、更新プログラムをサーバ装置に対して適用すると判断した場合に、記憶部4に記憶された更新プログラム106に含まれる更新プログラムを、配信部3を介してサーバ装置に対して配信する。即ち、適否判定部2は、更新プログラムを、サーバ装置に対して配信するよう配信部3を制御する。
【0051】
これにより、サーバ装置は、配信部3から配信された更新プログラムを受信すると共に、受信した更新プログラムを適用することができる。
【0052】
また、適否判定部2は、サーバ装置の「サーバ装置名」と、配信した更新プログラムの「更新プログラム名」とに基づいて、サーバ装置が更新プログラムを適用したことを示す情報を、記憶部4に記憶された適用情報101に含める。
【0053】
ここで、更新プログラム106とは、プログラム配信装置1によって配信される1つ以上の更新プログラムを含む。
【0054】
一方で、適否判定部2は、係る適否判断処理において、更新プログラムをサーバ装置に対して適用しない(つまり、不適用)と判断した場合に、所定の回数に達するまで適否判断処理を繰り返し実行(つまり、リトライ)する。
【0055】
尚、例えば、適否判定部2は、所定の時間周期毎に、係る適否判断処理をリトライする構成を採用してもよい。
【0056】
また、適否判定部2は、所定の回数に達するまで適否判断処理をリトライした場合に、サーバ装置に対する更新プログラムの配信を見送る。そして、適否判定部2は、対象装置の「サーバ装置名」と、配信を見送った更新プログラムの「更新プログラム名」とに基づいて、サーバ装置が更新プログラムを適用していない(つまり、未適用である)ことを示す情報を、記憶部4に記憶された適用情報101に含める。
【0057】
次に、配信部3は、不図示の通信ネットワーク(例えば、
図9に示す通信ネットワーク110)を介してサーバ装置等と通信可能に接続する。また、配信部3は、例えば、更新プログラムなどの各種情報を送受信する。
【0058】
記憶部4は、適用情報101、プログラム情報102、第1のポリシー情報103、第2のポリシー情報104、第3のポリシー情報105、更新プログラム106及びサーバ情報107を保持する。
【0059】
ここで、記憶部4は、コンピュータによるデータの読み書きが可能な不揮発性の記憶デバイスである。より具体的に、一例として、記憶部4は、サーバ装置等の電子機器に搭載されたハードディスクドライブ(Hard_disk_drive:以降、「HDD」と称する)等の不揮発性の記憶装置を採用することができる。
【0060】
また、一例として、記憶部4は、不図示の通信ネットワークに接続されたストレージデバイス(不図示)を採用してもよい。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない(以下の実施形態においても同様)。
【0061】
次に、以下の説明において、より具体的に、本実施形態における適否判定部2が実行する適否判断処理について説明する。
【0062】
図5A及び
図5Bは、本発明の第1の実施形態における適否判定部2が行うサーバ装置に対する更新プログラムの適否判断処理を示すフローチャートである。係るフローチャートに沿って適否判定部2の動作手順を説明する。
【0063】
ステップS101:
適否判定部2は、適用判断リストを参照すると共に、適用判断リストの中から「更新プログラム名」と、「サーバ装置名」とを求める。即ち、適否判定部2は、配信する更新プログラムの名称と、更新プログラムを適用する対象装置(サーバ装置)の名称とを求める。
【0064】
尚、適否判定部2は、適用判断リストに含まれる1つ以上の「更新プログラム名」と「サーバ装置名」とのうち、上から順に「更新プログラム名」と「サーバ装置名」とを求める。
【0065】
ステップS102:
適否判定部2は、求めた「更新プログラム名」に基づいて、プログラム情報102を参照する。また、適否判定部2は、プログラム情報102の中から求めた「更新プログラム名」に関連付けられた「更新プログラムの重視度」と、「更新プログラムの重要度」と、「更新プログラムの種別」と、「更新プログラムのサイズ」とを求める。
【0066】
ステップS103:
適否判定部2は、求めた「サーバ装置名」に基づいて、サーバ情報107を参照する。また、適否判定部2は、サーバ情報107の中から「サーバ装置名」に関連付けられた「サーバ装置の重要度」と、「サーバ装置の用途」と、「CPU負荷率」と、「ネットワークの状況」とを求める。ここで、CPUは、Central_Processing_Unitを表す。
【0067】
ここでは、サーバ情報107について、より具体的に説明する。
【0068】
サーバ情報107は、プログラム配信装置1において管理する1つ以上の対象装置(サーバ装置)に関する情報である。
【0069】
より具体的に、サーバ情報107は、1つ以上のサーバ装置と、そのサーバ装置毎に、「サーバ装置名」と、サーバ装置の重要度を示す「サーバ装置の重要度」と、使用用途を示す「サーバ装置の用途」と、サーバ装置における負荷の状況を示す「CPU負荷率」と、サーバ装置におけるネットワークの負荷状況を示す「ネットワークの状況」とを含む。即ち、サーバ情報107は、「サーバ装置名」をキーとして、「サーバ装置の重要度」、「サーバ装置の用途」、「CPU負荷率」及び「ネットワークの状況」が関連付けられた情報を含む。
【0070】
但し、本実施形態を例に説明する本発明は、前述した構成には限定されない。サーバ情報107には、さらに、サーバ装置に関する、例えば、メモリ容量等の他の管理項目を含む構成を採用してもよい(以下、各実施形態においても同様)。
【0071】
図6は、本発明の第1の実施形態におけるサーバ情報107を具体的に例示する図である。
【0072】
図6に示す1列目には、「サーバ装置名」を示す。また、2列目は、「サーバ装置の重要度」を示す。3列目は、「サーバ装置の用途」を示す。4列目は、「CPU負荷率」を示す。そして、5列目は、「ネットワークの状況」を示す。6列目以降は、他の管理項目を示す。
【0073】
より具体的に、「サーバ装置の用途」には、例えば、サーバ装置の使用用途に応じて、管理者により設定する構成を採用してもよい。
【0074】
また、上述した本実施形態では、説明の便宜上、一例として、
図6に示す「CPU負荷率」には、負荷率を含む構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。「CPU負荷率」は、例えば、CPU負荷に応じて、その負荷が高い順に「高」、「中」及び「低」と各ランクに分けた情報を含める構成を採用してもよい。
【0075】
「ネットワークの状況」には、サーバ装置におけるネットワーク負荷状況を、例えば、負荷の高い順に「不調」、「やや不調」、「やや良好」及び「良好」と各ランクに分けた情報を含める。
【0076】
ステップS104:
適否判定部2は、求めた「更新プログラムの重視度」に基づいて、配信する更新プログラムが対象装置にとって重視する更新プログラムか否かを判別する。
【0077】
より具体的に、一例として、適否判定部2は、「更新プログラムの重視度」を示す情報が「A」、または「B」の何れかの場合に、配信する更新プログラムが対象装置にとって重視する更新プログラムであると判別することとする。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない(以下、各実施形態においても同様)。
【0078】
ステップS104において「YES」:
適否判定部2は、配信する更新プログラムがサーバ装置にとって重視する更新プログラムか否かを判別した結果、重視する更新プログラムであると判別する場合に、処理をステップS105に進める。
【0079】
より具体的に、一例として、適否判定部2は、求めた「更新プログラムの重視度」が対象装置にとって重視することを示す「A」、または「B」の何れかである場合に、対象装置にとって重視する更新プログラムであると判別する。
【0080】
ステップS104において「NO」:
適否判定部2は、配信する更新プログラムがサーバ装置にとって重視する更新プログラムか否かを判別した結果、重視する更新プログラムでないと判別する場合に、処理をステップS108に進める。
【0081】
より具体的に、一例として、適否判定部2は、求めた「更新プログラムの重視度」が対象装置にとってあまり重視しないことを示す「C」である場合に、対象装置にとって重視しない更新プログラムであると判別する。
【0082】
ステップS105:
適否判定部2は、求めた「サーバ装置の用途」と「更新プログラムの重視度」とに基づいて、第2のポリシー情報104を参照する。また、適否判定部2は、第2のポリシー情報104の中から「サーバ装置の用途」と「更新プログラムの重視度」とに関連付けられた「更新プログラムのサイズに対する乗率」と、「CPU負荷率に対する乗率」とを求める。
【0083】
ここでは、第2のポリシー情報104について、より具体的に説明する。
【0084】
第2のポリシー情報104は、対象装置の使用用途と、その対象装置に対する更新プログラムの重視度とに応じて定められた少なくとも「更新プログラムのサイズに対する乗率」と、「CPU負荷率に対する乗率」とを含む。
【0085】
より具体的に、第2のポリシー情報104は、サーバ装置の使用用途及び更新プログラムの重視度毎に、設定された「更新プログラムのサイズに対する乗率」と、「CPU負荷率に対する乗率」とを含む。即ち、第2のポリシー情報104は、「サーバ装置の用途」、「更新プログラムの重視度」、「更新プログラムのサイズに対する乗率」及び「CPU負荷率に対する乗率」が関連付けられた情報を含む。
【0086】
図7は、本発明の第1の実施形態における第2のポリシー情報104を具体的に例示する図である。
【0087】
図7に示す1列目には、「サーバ装置の用途」を示す。また、2列目は、「更新プログラムの重視度」を示す。3列目は、「更新プログラムのサイズに対する乗率」を示す。そして、4列目は、「CPU負荷率に対する乗率」を示す。
【0088】
尚、第2のポリシー情報104に含まれる各乗率は、対象装置にとって重視する更新プログラムを、より適用しやすくなるように設定することが望ましい。
【0089】
ステップS106:
適否判定部2は、求めた「更新プログラムの種別」と「更新プログラムの重要度」と「サーバ装置の重要度」とに基づいて、第1のポリシー情報103を参照する。そして、適否判定部2は、第1のポリシー情報103の中から「更新プログラムの種別」と、「更新プログラムの重要度」と、「サーバ装置の重要度」とに関連付けられた「ネットワーク状況の閾値」と、「更新プログラムサイズの閾値」と、「CPU負荷率の閾値」とを求める。
【0090】
ここでは、第1のポリシー情報103について、より具体的に説明する。
【0091】
第1のポリシー情報103は、更新プログラムの種別と、その更新プログラムの重要度と、対象装置の重要度とに応じて定められた少なくともネットワークの状況を判別する際に用いる「ネットワーク状況の閾値」と、更新プログラムのサイズを判別する際に用いる「更新プログラムサイズの閾値」と、CPUの負荷率を判別する際に用いる「CPU負荷率の閾値」とを含む。
【0092】
より具体的に、第1のポリシー情報103は、更新プログラムの種別、更新プログラムの重要度及び対象装置の重要度毎に、設定された「ネットワーク状況の閾値」と、「更新プログラムサイズの閾値」と、「CPU負荷率の閾値」とを含む。即ち、第1のポリシー情報103は、「更新プログラムの種別」、「更新プログラムの重要度」、「サーバ装置の重要度」、「ネットワーク状況の閾値」、「更新プログラムサイズの閾値」及び「CPU負荷率の閾値」が関連付けられた情報を含む。
【0093】
図8は、本発明の第1の実施形態における第1のポリシー情報103を具体的に例示する図である。
【0094】
図8に示す1列目には、「更新プログラムの種別」を示す。また、2列目は、「更新プログラムの重要度」を示す。3列目は、「サーバ装置の重要度」を示す。4列目は、「ネットワーク状況の閾値」を示す。5列目は、「更新プログラムサイズの閾値」を示す。そして、6列目は、「CPU負荷率の閾値」を示す。
【0095】
尚、第1のポリシー情報103に含まれる各閾値は、性能改善や機能追加などを目的としたやや緊急性の劣る更新プログラムに比べ緊急性が高く、且つ重要度の高い更新プログラムを、より適用しやすくなるように設定することが望ましい。例えば、係る閾値としては、ネットワークの状況が「不調」であっても、緊急性が高く、且つ重要度の高い更新プログラムを、より適用しやすいように設定する構成を採用してもよい。
【0096】
ステップS107:
適否判定部2は、求めた「更新プログラムサイズの閾値」と求めた「更新プログラムのサイズに対する乗率」とに基づいて、新たに「更新プログラムサイズの閾値」を算出する。また、適否判定部2は、求めた「CPU負荷率の閾値」と、求めた「CPU負荷率に対する乗率」とに基づいて、新たに「CPU負荷率の閾値」を算出する。
【0097】
より具体的に、適否判定部2は、求めた「更新プログラムサイズの閾値」に「更新プログラムのサイズに対する乗率」を乗算することにより「更新プログラムサイズの閾値」を算出する。また、適否判定部2は、求めた「CPU負荷率の閾値」に「CPU負荷率に対する乗率」を乗算することにより「CPU負荷率の閾値」を算出する。
【0098】
ステップS108:
適否判定部2は、求めた「更新プログラムの種別」と「更新プログラムの重要度」と「サーバ装置の重要度」とに基づいて、第1のポリシー情報103を参照する。そして、適否判定部2は、第1のポリシー情報103の中から「更新プログラムの種別」と、「更新プログラムの重要度」と、「サーバ装置の重要度」とに関連付けられた「ネットワーク状況の閾値」と、「更新プログラムサイズの閾値」と、「CPU負荷率の閾値」とを求める。
【0099】
ステップS109:
適否判定部2は、サーバ装置におけるネットワークの状況に応じて、対象装置に対する更新プログラムの適否判断を実施する。即ち、適否判定部2は、ステップS103において求めた「ネットワークの状況」と、「ネットワーク状況の閾値」とに基づいて、サーバ装置におけるネットワークの状況を判別する。
【0100】
より具体的に、以下の説明では、一例として、求めた「ネットワーク状況の閾値」が「やや不調から不調」を示すこととする。適否判定部2は、ステップS103において求めた「ネットワークの状況」が「不調」、または「やや不調」の何れかを示す場合に、当該対象装置のネットワーク状況を「不調」と判別する。一方で、適否判定部2は、ステップS103において求めた「ネットワークの状況」が「良好」、または「やや良好」の何れかを示す場合には、当該対象装置のネットワーク状況を「良好」と判別する。
【0101】
また、他の例として、ここでは、求めた「ネットワーク状況の閾値」が「不調」を示すこととする。適否判定部2は、ステップS103において求めた「ネットワークの状況」が「不調」を示す場合に、当該対象装置のネットワーク状況を「不調」と判別する。一方で、適否判定部2は、ステップS103において求めた「ネットワークの状況」が「良好」、「やや良好」及び「やや不調」の何れかを示す場合には、当該対象装置のネットワーク状況を「良好」と判別する。
【0102】
このように、適否判定部2は、対象装置における「ネットワークの状況」が「ネットワーク状況の閾値」に含まれる場合に、「不調」と判別する。その一方で、適否判定部2は、対象装置における「ネットワークの状況」が「ネットワーク状況の閾値」に含まれない場合に、「良好」と判別する。
【0103】
ステップS109において「YES」:
適否判定部2は、サーバ装置におけるネットワークの状況を判別した結果、当該サーバ装置におけるネットワークの状況が「良好」であると判別する場合に、処理をステップS111に進める。
【0104】
ステップS109において「NO」:
適否判定部2は、サーバ装置におけるネットワークの状況を判別した結果、当該サーバ装置におけるネットワークの状況が「不調」であると判別する場合に、処理をステップS110に進める。
【0105】
ステップS110:
適否判定部2は、配信する更新プログラムのファイルサイズに応じて、対象装置に対する更新プログラムの適否判断を実施する。即ち、適否判定部2は、「更新プログラムのサイズ」と、「更新プログラムサイズの閾値」とに基づいて、対象装置に対する更新プログラムの適否判断を実施する。
【0106】
より具体的に、適否判定部2は、ステップS102において求めた「更新プログラムのサイズ」と、「更新プログラムサイズの閾値」とを比較する。
【0107】
ステップS110において「YES」
適否判定部2は、求めた「更新プログラムのサイズ」と、「更新プログラムサイズの閾値」とを比較した結果、「更新プログラムサイズの閾値」より「更新プログラムのサイズ」が大きいと判別する場合に、処理をステップS113に進める。
【0108】
ステップS110において「NO」
適否判定部2は、求めた「更新プログラムのサイズ」と、「更新プログラムサイズの閾値」とを比較した結果、「更新プログラムサイズの閾値」より「更新プログラムのサイズ」が大きくないと判別する場合に、処理をステップS111に進める。
【0109】
ステップS111:
適否判定部2は、対象装置の「CPU負荷率」に応じて、対象装置に対する更新プログラムの適否判断を実施する。即ち、適否判定部2は、CPU負荷率」と、「CPU負荷率の閾値」とに基づいて、対象装置に対する更新プログラムの適否判断を実施する。
【0110】
より具体的に、適否判定部2は、ステップS103において求めた「CPU負荷率」と、「CPU負荷率の閾値」とを比較する。
【0111】
ステップS111において「YES」:
適否判定部2は、求めた「CPU負荷率」と、「CPU負荷率の閾値」とを比較した結果、求めた「CPU負荷率」が「CPU負荷率の閾値」以下(つまり、所定の規定値以下)と判別する場合に、処理をステップS112に進める。
【0112】
ステップS111において「NO」:
適否判定部2は、求めた「CPU負荷率」と、「CPU負荷率の閾値」とを比較した結果、求めた「CPU負荷率」が「CPU負荷率の閾値」より大きい(つまり、所定の規定値を超過した)と判別する場合に、処理をステップS113に進める。
【0113】
ステップS112:
適否判定部2は、対象装置に対して更新プログラムを適用すると判断する。
【0114】
ステップS113:
適否判定部2は、対象装置に対して更新プログラムを適用しない(つまり、不適用)と判断する。
【0115】
このように本実施の形態に係るプログラム配信装置1によれば、プログラムの配信対象である電子機器とって、より適切な順にプログラムを配信することができる。その理由は、以下に述べる通りである。
【0116】
即ち、プログラム配信装置1の適否判定部2は、配信の対象であるサーバ装置の重要度及びそのサーバ装置の使用用途と、配信される更新プログラムの種別及びその更新プログラムの重要度とに応じて定められたポリシー情報に基づいて、更新プログラムをサーバ装置に対して適用するか否かを判別する。また、適否判定部2は、更新プログラムをサーバ装置に対して適用すると判断した場合に、記憶部4に記憶された更新プログラム106に含まれる更新プログラムを、配信部3を介してサーバ装置に対して配信することができるからである。そのため、例えば、プログラム配信装置1は、ウィルス対策などの他の装置に影響が波及する虞のある緊急性が高く、且つ重要度の高い更新プログラムを優先して配信することができる。即ち、更新プログラムを配信されたサーバ装置は、速やかに更新プログラムを適用することができる。その一方で、プログラム配信装置1は、例えば、緊急性の低い更新プログラムの配信を遅らせることができる。このように、プログラム配信装置1は、サーバ装置の重要度及びそのサーバ装置の使用用途と、配信される更新プログラムの種別及びその更新プログラムの重要度とに応じて定められたポリシー情報に基づく更新プログラムの適否判断及び更新プログラムの配信を調整することによって、ネットワークの負荷状況やCPUの負荷状況のみに基づく更新プログラムの適否判断をするのに比べて、より適切な順序に更新プログラムを適用することができる。
【0117】
<第2の実施形態>
次に、上述した本発明の第1の実施形態に係るプログラム配信装置1を基本とする第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【0118】
本発明の第2の実施形態におけるプログラム配信装置1について、
図5A、
図5B、
図9乃至
図11を参照して説明する。
【0119】
図9は、本発明の第2の実施形態におけるプログラム配信装置1を含むプログラム配信サーバ装置11の構成を示すブロック図である。
【0120】
図9において、プログラム配信システム10は、プログラム配信装置1を含むプログラム配信サーバ装置11と、1つ以上のサーバ装置(21乃至n)とを有する。プログラム配信サーバ装置11と、1つ以上のサーバ装置(21乃至n)とは、通信ネットワーク110を介して通信可能に接続する。
【0121】
次に、プログラム配信装置1は、適否判定部2を備える。プログラム配信装置1は、1つ以上のサーバ装置(21乃至n)に対して更新プログラムを配信する。また、1つ以上のサーバ装置(21乃至n)は、プログラム配信装置1から配信された更新プログラムを受信すると共に、受信した更新プログラムを自装置に適用する。
【0122】
通信ネットワーク110は、例えば、携帯電話事業者が所有する各種通信回線、インターネットサービスプロバイダ等が提供するインターネット等の一般的な通信回線である。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない(以下、各実施形態においても同様)。
【0123】
次に、以下の説明において、より具体的に、本実施形態におけるプログラム配信装置1がサーバ装置(21乃至n)に対して更新プログラムを配信する処理について説明する。
【0124】
図10は、本発明の第2の実施形態におけるプログラム配信装置1が行うサーバ装置に対して更新プログラムを配信する処理を示すフローチャートである。係るフローチャートに沿ってプログラム配信装置1の動作手順を説明する。
【0125】
以下の説明では、説明の便宜上、一例として、プログラム配信装置1は、サーバ装置(21乃至n)に対して更新プログラムを配信することとする。
【0126】
尚、説明の便宜上、上述した構成を例に説明するが、本実施形態を例に説明する本発明は、前述した構成にはこれに限定されない(以下の実施形態においても同様)。
【0127】
ステップS201:
適否判定部2は、記憶部4に記憶された適用情報101に基づいて、サーバ装置21に対して適用していない(つまり、未適用の)更新プログラムの有無を判別する。
【0128】
より具体的に、適否判定部2は、記憶部4に記憶された適用情報101を参照すると共に、適用情報101に含まれる「更新プログラムの適用状況」を示す情報に基づいて、プログラム配信装置1が管理するサーバ装置に対して未適用である更新プログラムの有無を判別する。即ち、適否判定部2は、適用情報101に含まれる「更新プログラムの適用状況」を示す情報が未適用であることを示す「N」と、更新プログラムを適用したか否かを未確認であることを示す「−」との何れかの有無を判別する。
【0129】
ステップS201において「YES」:
適否判定部2は、適用情報101に基づいて、サーバ装置に対して適用していない更新プログラムの有無を判別した結果、未適用の更新プログラムが有ると判別する場合に、処理をステップS202に進める。
【0130】
ステップS201において「NO」:
適否判定部2は、適用情報101に基づいて、サーバ装置に対して適用していない更新プログラムの有無を判別した結果、未適用の更新プログラムが無いと判別する場合に、処理を終了する。
【0131】
ステップS202:
適否判定部2は、記憶部4に記憶された適用情報101とプログラム情報102とに基づいて、適用判断リストを生成する。
【0132】
ステップS203:
適否判定部2は、適用判断リストに含まれるサーバ装置に対して
図5A及び
図5Bに示すフローチャートおいて説明した更新プログラムの適否判断処理を実行する。そのため、重複する説明は省略する。
【0133】
ステップS204:
適否判定部2は、更新プログラムの適否判断処理における判断結果に応じて、当該更新プログラムをサーバ装置に対して配信するか、または当該適否判断処理をリトライするかを判別する。
【0134】
ステップS204において「YES」:
適否判定部2は、係る適否判断処理において、更新プログラムをサーバ装置に対して適用すると判別した場合に、処理をステップS205に進める。
【0135】
ステップS204において「NO」:
適否判定部2は、係る適否判断処理において、更新プログラムをサーバ装置に対して適用しない(つまり、不適用)と判別した場合に、処理をステップS207に進める。
【0136】
ステップS205:
適否判定部2は、記憶部4に記憶された更新プログラム106に含まれる当該更新プログラムを、配信部3を介してサーバ装置に対して配信する。
【0137】
ステップS206:
適否判定部2は、サーバ装置の「サーバ装置名」と、配信した更新プログラムの「更新プログラム名」とに基づいて、サーバ装置が更新プログラムを適用した(つまり、適用済みである)ことを示す情報を、適用情報101に含める。
【0138】
より具体的に、適否判定部2は、適用情報101に含まれる「サーバ装置名」と、「更新プログラム名」とに関連付けられた「適用状況」を示す情報を、サーバ装置が更新プログラムを適用したことを示す情報「Y」に更新する。
【0139】
ステップS207:
適否判定部2は、係る適否判断処理を実行した回数が所定の回数に達するか否かを判別する。即ち、適否判定部2は、所定の回数以上、当該適否判断処理において更新プログラムを不適用と判断したか否かを判別する。
【0140】
より具体的に、適否判定部2は、求めた「更新プログラムの種別」と「サーバ装置の重要度」とに基づいて、記憶部4に記憶された第3のポリシー情報105を参照する。また、適否判定部2は、参照した第3のポリシー情報105の中から「更新プログラムの種別」と、「サーバ装置の重要度」とに関連付けられた「リトライ回数」を求める。
【0141】
次に、適否判定部2は、「リトライ回数」に基づいて、係る適否判断処理を実行した回数が求めた「リトライ回数」以上か否かを判別する。
【0142】
ここでは、第3のポリシー情報105について、より具体的に説明する。
【0143】
第3のポリシー情報105は、更新プログラムの種別と、対象装置の重要度とに応じて定められた少なくとも「リトライ回数」を含む。
【0144】
より具体的に、第3のポリシー情報105は、更新プログラムの種別及び対象装置の重要度毎に、設定された「リトライ回数」を含む。即ち、第3のポリシー情報105は、「更新プログラムの種別」、「サーバ装置の重要度」及び「リトライ回数」が関連付けられた情報を含む。
【0145】
図11は、本発明の第2の実施形態における第3のポリシー情報105を具体的に例示する図である。
【0146】
図11に示す1列目には、「更新プログラムの種別」を示す。また、2列目は、「サーバ装置の重要度」を示す。そして、3列目は、「リトライ回数」を示す。
【0147】
尚、第3のポリシー情報105に含まれるリトライ回数は、更新プログラムの種別に応じて、リトライ回数を設定する構成を採用してもよい。より具体的に、当該リトライ回数は、セキュリティ対策や不具合修正などを目的とした優先的に適用したい更新プログラムについてはリトライ回数を高く設定する構成を採用してもよい。その一方で、当該リトライ回数は、性能改善や機能追加などを目的とした緊急でない更新プログラムについては、リトライ回数を低く設定する構成を採用してもよい。
【0148】
また、係るリトライ回数は、対象装置の重要度に応じて、リトライ回数を設定する構成を採用してもよい。より具体的に、当該リトライ回数は、対象装置の重要度が高い場合に、高く設定する構成を採用してもよい。その一方で、当該リトライ回数は、対象装置の重要度が低い場合に、低く設定する構成を採用してもよい。
【0149】
ステップS207において「YES」:
適否判定部2は、係る適否判断処理を実行した回数が求めた「リトライ回数」に達したか否かを判別した結果、「リトライ回数」に達したと判別する場合に、処理をステップS208に進める。
【0150】
ステップS207において「NO」:
適否判定部2は、係る適否判断処理を実行した回数が求めた「リトライ回数」に達したか否かを判別した結果、「リトライ回数」に達していないと判別する場合に、処理をステップS203に戻す。
【0151】
ステップS208:
適否判定部2は、サーバ装置21の「サーバ装置名」と、「更新プログラム名」とに基づいて、サーバ装置21が更新プログラムを適用していないことを示す情報を、適用情報101に含める。
【0152】
より具体的に、適否判定部2は、適用情報101に含まれる「サーバ装置名」と、「更新プログラム名」とに関連付けられた「適用状況」を示す情報を、サーバ装置が更新プログラムを適用していないことを示す情報「N」に更新する。
【0153】
尚、適否判定部2は、適用情報101に基づいて、プログラム配信装置1が管理するサーバ装置に対して適用していない更新プログラムが無いと判別するまで上述した処理を繰り返し実行する。
【0154】
このように本実施の形態に係るプログラム配信装置1によれば、第1の実施形態において説明した効果を享受できると共に、複数のサーバ装置に対して、より適切な順にプログラムを配信することができる。即ち、プログラム配信装置1は、プログラム配信システムに適用して好適である。その理由は、以下に述べる通りである。
【0155】
即ち、プログラム配信装置1の適否判定部2は、1つ以上のサーバ装置が有る場合であっても、生成した適用判断リストに基づいて、緊急性が高く、且つ重要度の高い対象装置に更新プログラムを配信することができるからである。
【0156】
(ハードウェア構成例)
上述した実施形態において図面に示した各部は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。これらの各ソフトウェアモジュールは、専用のハードウェアによって実現してもよい。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定されうる。この場合のハードウェア環境の一例を、
図12を参照して説明する。
【0157】
図12は、本発明の模範的な実施形態に係るプログラム配信装置を実行可能な情報処理装置300(コンピュータ)の構成を例示的に説明する図である。即ち、
図12は、
図1に示したプログラム配信装置1、或いは、
図9に示したプログラム配信装置1、の全体または一部のプログラム配信装置を実現可能なサーバ等のコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【0158】
図12に示した情報処理装置300は、CPU301、ROM(Read_Only_Memory)302、RAM(Random_Access_Memory)303、ハードディスク304(記憶装置)、並びに外部装置との通信インタフェース(Interface:以降、「I/F」と称する)305、CD−ROM(Compact_Disc_Read_Only_Memory)等の記憶媒体307に格納されたデータを読み書き可能なリーダライタ308を備え、これらの構成がバス306(通信線)を介して接続された一般的なコンピュータである。
【0159】
そして、上述した実施形態を例に説明した本発明は、
図12に示した情報処理装置300に対して、その説明において参照したブロック構成図(
図1、
図9)或いはフローチャート(
図5A、
図5B、
図10)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU301に読み出して実行することによって達成される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ(RAM303)またはハードディスク304等の不揮発性の記憶デバイスに格納すれば良い。
【0160】
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、CD−ROM等の各種記憶媒体307を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが格納された記憶媒体によって構成されると捉えることができる。