(57)【要約】【課題】クライアント装置に適切に更新プログラムを当てることができる情報処理装置、情報処理方法及びプログラムを提供する。【解決手段】実施形態によれば、情報処理装置は、生成部と、送信部と、を備える。生成部は、更新プログラムの提供対象となる装置の少なくとも１つの属性を示す属性情報を取得し、前記属性情報に基づいて、前記更新プログラムの提供対象となる装置を示す対象情報を生成し、クライアント装置からクライアント情報を取得し、前記クライアント情報と前記対象情報とに基づいて前記クライアント装置が前記更新プログラムの提供対象であると判定されると前記クライアント装置に前記更新プログラムをインストールするためのアプリケーションを生成する。送信部は、前記アプリケーションを前記クライアント装置へ送信する。【選択図】      図１
2018180730.tif 000002
【特許請求の範囲】
【請求項１】
更新プログラムの提供対象となる装置の少なくとも１つの属性を示す属性情報を取得し、
前記属性情報に基づいて、前記更新プログラムの提供対象となる装置を示す対象情報を生成し、
クライアント装置からクライアント情報を取得し、前記クライアント情報と前記対象情報とに基づいて前記クライアント装置が前記更新プログラムの提供対象であると判定されると前記クライアント装置に前記更新プログラムをインストールするためのアプリケーションを生成する生成部と、
前記アプリケーションを前記クライアント装置へ送信する送信部と、
を備える情報処理装置。
【請求項２】
前記更新プログラムの提供の対象となり得る装置の属性を示す管理リストを保持する保持部を備え、
前記生成部は、前記管理リストを参照して前記対象情報を生成する、
前記請求項１に記載の情報処理装置。
【請求項３】
前記属性は、世代、製造番号、ハードウェアタイプ識別ＩＤ又はプログラムバージョンの少なくとも何れかである、
前記請求項１又は２に記載の情報処理装置。
【請求項４】
更新プログラムの提供対象となる装置の少なくとも１つの属性を示す属性情報を取得し、
前記属性情報に基づいて、前記更新プログラムの提供対象となる装置を示す対象情報を生成し、
クライアント装置からクライアント情報を取得し、前記クライアント情報と前記対象情報とに基づいて前記クライアント装置が前記更新プログラムの提供対象であると判定されると前記クライアント装置に前記更新プログラムをインストールするためのアプリケーションを生成し、
前記アプリケーションを前記クライアント装置へ送信する、
情報処理方法。
【請求項５】
プロセッサに、
クライアント装置の属性を含むクライアント情報を取得させ、
更新プログラムの提供対象となる装置を示す対象情報と前記クライアント情報とに基づいて前記クライアント装置が前記更新プログラムの提供対象であると判定されると、前記クライアント装置に前記更新プログラムをインストールさせる、
プログラム。
【請求項６】
前記属性は、世代、製造番号、ハードウェアタイプ識別ＩＤ又はプログラムバージョンの少なくとも何れかである、
前記請求項５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
サーバ装置には、テレビ、冷蔵庫又は炊飯器などの家電などのクライアント装置に対してプログラムを修正するためのパッチ（更新プログラム）を提供するものがある。サーバ装置は、パッチの提供の対象となるクライアント装置の属性（製造番号など）を設定し、当該属性を有するクライアント装置に対してパッチを送信する。
【０００３】
しかしながら、サーバ装置は、クライアント装置のセキュリティポリシーなどによってクライアント装置から製造番号などを取得できないことがある。そのような場合、従来、サーバ装置は、クライアント装置に適切にパッチを当てることができないという課題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−３１２０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の課題を解決するため、クライアント装置に適切に更新プログラムを当てることができる情報処理装置、情報処理方法及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
実施形態によれば、情報処理装置は、生成部と、送信部と、を備える。生成部は、更新プログラムの提供対象となる装置の少なくとも１つの属性を示す属性情報を取得し、前記属性情報に基づいて、前記更新プログラムの提供対象となる装置を示す対象情報を生成し、クライアント装置からクライアント情報を取得し、前記クライアント情報と前記対象情報とに基づいて前記クライアント装置が前記更新プログラムの提供対象であると判定されると前記クライアント装置に前記更新プログラムをインストールするためのアプリケーションを生成する。送信部は、前記アプリケーションを前記クライアント装置へ送信する。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態に係る提供システムの構成例を示すブロック図である。
【図２】図２は、実施形態に係る管理リストの例を示す図である。
【図３】図３は、実施形態に係るサーバ装置が送信するセットアップ用アプリケーションの構成例を示すブロック図である。
【図４】図４は、実施形態に係るクライアント情報の構成例を示す図である。
【図５】図５は、実施形態に係るサーバ装置の動作例を説明するためのフローチャートである。
【図６】図６は、実施形態に係るクライアント装置の動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００８】
以下、実施形態について、図面を参照して説明する。  
実施形態に係る提供システムは、クライアント装置に対してプログラムを修正するパッチ（更新プログラム）を提供する。たとえば、パッチは、クライアント装置で動作するプログラムにおけるセキュリティーホールなどのバグを修正する。提供システムは、クライアント装置で実行することでパッチをインストールすることができるセットアップ用アプリケーションを提供する。クライアント装置は、セットアップ用アプリケーションを実行することでパッチをインストールする。
【０００９】
クライアント装置は、たとえば、テレビ、レコーダ、エアコン、冷蔵庫又は炊飯器などの家電である。また、クライアント装置は、ディスクトップＰＣ、ノートＰＣ、タブレットＰＣ、スマートフォン又はウエアラブル端末であってもよい。また、クライアント装置は、制御モジュール、ＩＣカード又はＩＣチップなどであってもよい。クライアント装置の構成は、特定の構成に限定されるものではない。
【００１０】
図１は、実施形態に係る提供システム１の構成例を示す。図１が示すように、提供システム１は、サーバ装置１０及びクライアント装置２０などを備える。なお、提供システム１は、複数のクライアント装置２０を備えてもよい。
【００１１】
サーバ装置１０は、たとえば、ＰＣなどである。サーバ装置１０は、クライアント装置２０にパッチをインストールするためのセットアップ用アプリケーションを提供する。サーバ装置１０は、オペレータからの操作などに従ってセットアップ用アプリケーションを生成する。サーバ装置１０は、インターネットなどの通信網３０を通じて、生成したセットアップ用アプリケーションをクライアント装置２０へ提供する。  
サーバ装置１０については後に詳述する。
【００１２】
クライアント装置２０は、所定のプログラムを実行して動作する。クライアント装置２０は、インターネットなどの通信網３０を通じて、サーバ装置１０からのセットアップ用アプリケーションを受信する。クライアント装置２０は、受信したセットアップ用アプリケーションを実行してパッチをインストールする。  
クライアント装置２０については、後に詳述する。
【００１３】
次に、サーバ装置１０について説明する。  
図１が示すように、サーバ装置１０は、リスト保持部１１、アプリケーション生成部１２及びアプリケーション送信部１３などを備える。たとえば、リスト保持部１１は、サーバ装置１０のメモリによって実現される。また、アプリケーション生成部１２、サーバ装置１０のプロセッサがメモリなどに格納されるプログラムを実行することによって実現される。また、アプリケーション送信部１３は、プロセッサと通信部となどによって実現される。
【００１４】
リスト保持部１１は、サーバ装置１０が管理するクライアント装置を特定する管理リストを格納する。管理リストは、サーバ装置１０がパッチを提供し得るクライアント装置のリストである。管理リストは、パッチの適用対象となるクライアント装置を特定するために用いられる。
【００１５】
図２は、管理リストの構成例を示す。  
図２が示すように、管理リストは、「世代」、「製造番号」、「ハードウェアタイプ識別ＩＤ」、「プログラムバージョン」及び「パッチ」を対応づけて格納する。なお、管理リストは、図２に示すような要素の他に必要に応じた要素を具備したり、特定の要素を除外したりしてもよい。
【００１６】
「世代」は、クライアント装置の世代を示す。たとえば、「世代」は、クライアント装置のモデルチェンジなどの大幅な改変を示す。  
「製造番号」は、クライアント装置の製造番号を示す。「製造番号」は、クライアント装置ごと又はロットごとに割り振られる。
【００１７】
「ハードウェアタイプ識別ＩＤ」は、クライアント装置を構成するハードウェアのタイプを示す。たとえば、「ハードウェアタイプ識別ＩＤ」は、ハードウェアの型番又はバージョンなどを示す。
【００１８】
「プログラムバージョン」は、クライアント装置を制御するプログラムのバージョンを示す。たとえば、「プログラムバージョン」は、書き換え可能なメモリに格納されるプログラムのバージョンである。  
「パッチ」は、クライアント装置にこれまでにインストールされたパッチを示す。たとえば、「パッチ」は、パッチの名称又はバージョンを示す。
【００１９】
たとえば、管理リストは、「プログラムバージョン」が「ＰＤ２０００」であるクライアント装置の「ハードウェアタイプ識別ＩＤ」として「ＧＥＮ２１００００Ｂ」及び「製造番号」として「ＳＮ０１００００−ＳＮ０１２９９９」を示す。  
なお、管理リストの項目及び内容は、特定の構成に限定されるものではない。
【００２０】
アプリケーション生成部１２は、クライアント装置２０にパッチを提供するセットアップ用アプリケーションを生成する。セットアップ用アプリケーションは、クライアント装置２０がパッチの提供対象であるかを判定する。セットアップ用アプリケーションは、クライアント装置２０の属性を示すクライアント情報を取得しクライアント情報に基づいてクライアント装置２０がパッチの提供の象であるかを判定する。
【００２１】
クライアント情報は、クライアント装置２０の属性を示す情報である。ここでは、クライアント情報は、属性として、「世代」、「製造番号」、「ハードウェアタイプ識別ＩＤ」及び「プログラムバージョン」から構成される。
【００２２】
セットアップ用アプリケーションは、クライアント装置２０がパッチの提供対象であると判定すると、クライアント装置２０にパッチをインストールする。また、提供するアプリケーションは、クライアント装置２０がパッチの提供対象でないと判定すると、クライアント装置２０にパッチをインストールしない。
【００２３】
図３は、セットアップ用アプリケーション１００の構成例を示す。図３が示すように、セットアップ用アプリケーション１００は、パッチバージョン情報４０、対象情報５０、実行判断コード６０及びパッチ適用コード７０などから構成される。なお、セットアップ用アプリケーションは、図３に示すような要素の他に必要に応じた要素を具備したり、特定の要素を除外したりしてもよい。
【００２４】
パッチバージョン情報は、セットアップ用アプリケーションが提供するパッチのバージョンを示す。なお、パッチバージョン情報は、パッチの名称を示すものであってもよい。
【００２５】
対象情報５０は、パッチの提供対象となるクライアント装置を示す。対象情報５０は、世代情報５１、製造番号情報５２、ＩＤ情報５３及びバージョン情報５４などから構成される。即ち、対象情報５０は、パッチの提供対象となるクライアント装置が、世代情報５１、製造番号情報５２、ＩＤ情報５３及びバージョン情報５４が該当するクライアント装置であることを示す。
【００２６】
なお、対象情報５０は、パッチの提供対象となるクライアント装置のパッチ（対象となるクライアント装置にインストールされたパッチ）を示す情報を含んでもよい。対象情報５０の構成は、特定の構成に限定されるものではない。例えば、対象情報５０は、図３に示すような要素の他に必要に応じた要素を具備したり、特定の要素を除外したりしてもよい。
【００２７】
世代情報５１は、パッチの提供対象となるクライアント装置の世代を示す。世代情報５１は、１つの世代を示すものであってもよいし、複数の世代を示すものであってもよい。  
製造番号情報５２は、パッチの提供対象となるクライアント装置の製造番号を示す。製造番号情報５２は、１つの製造番号を示すものであってもよいし、複数の製造番号を示すものであってもよい。また、製造番号情報５２は、製造番号を範囲で示すものであってもよい。
【００２８】
ＩＤ情報５３は、パッチの提供対象となるクライアント装置のハードウェアタイプ識別ＩＤを示す。ＩＤ情報５３は、１つのハードウェアタイプ識別ＩＤを示すものであってもよいし、複数のハードウェアタイプ識別ＩＤを示すものであってもよい。
【００２９】
バージョン情報５４は、パッチの提供対象となるクライアント装置のプログラムバージョンを示す。バージョン情報５４は、１つのプログラムバージョンを示すものであってもよいし、複数のプログラムバージョンを示すものであってもよい。
【００３０】
実行判断コード６０は、クライアント情報と対象情報５０とに基づいてクライアント装置２０がパッチの提供対象であるか判定するためのプログラムである。実行判断コード６０は、クライアント装置２０からクライアント情報を取得し、取得したクライアント情報と対象情報５０とを比較してクライアント装置２０がパッチの提供対象であるか判定する処理を実現する。
【００３１】
実行判断コード６０により実現される処理機能は、世代取得部６１、製造番号取得部６２、ＩＤ取得部６３、バージョン取得部６４及び判定部６５などである。なお、実行判断コード６０が実現する処理は、図３に示す処理に限定されるものではない。
【００３２】
世代取得部６１は、クライアント装置２０のクライアント情報を構成する「世代」を取得する。世代取得部６１は、クライアント装置２０のメモリに格納される「世代」を示すデータを取得する。たとえば、世代取得部６１は、クライアント装置２０のＯＳなどに対して「世代」を要求する。また、世代取得部６１は、所定の領域（「世代」を示すデータを格納する領域）に格納されるデータを読み出すものであってもよい。
【００３３】
製造番号取得部６２は、クライアント装置２０のクライアント情報を構成する「製造番号」を取得する。製造番号取得部６２は、クライアント装置２０のメモリに格納される「製造番号」を示すデータを取得する。たとえば、製造番号取得部６２は、クライアント装置２０のＯＳなどに対して「製造番号」を要求する。また、製造番号取得部６２は、所定の領域（「製造番号」を示すデータを格納する領域）に格納されるデータを読み出すものであってもよい。
【００３４】
ＩＤ取得部６３は、クライアント装置２０のクライアント情報を構成する「ハードウェアタイプ識別ＩＤ」を取得する。ＩＤ取得部６３は、クライアント装置２０のメモリに格納される「ハードウェアタイプ識別ＩＤ」を示すデータを取得する。たとえば、ＩＤ取得部６３は、クライアント装置２０のＯＳなどに対して「ハードウェアタイプ識別ＩＤ」を要求する。また、ＩＤ取得部６３は、所定の領域（「ハードウェアタイプ識別ＩＤ」を示すデータを格納する領域）に格納されるデータを読み出すものであってもよい。
【００３５】
バージョン取得部６４は、クライアント装置２０のクライアント情報を構成する「プログラムバージョン」を取得する。バージョン取得部６４は、クライアント装置２０のメモリに格納される「プログラムバージョン」を示すデータを取得する。たとえば、バージョン取得部６４は、クライアント装置２０のＯＳなどに対して「プログラムバージョン」を要求する。また、バージョン取得部６４は、所定の領域（「プログラムバージョン」を示すデータを格納する領域）に格納されるデータを読み出すものであってもよい。
【００３６】
判定部６５は、クライアント装置２０のクライアント情報と対象情報５０とに基づいてクライアント装置２０がパッチの提供対象であるか判定する。  
判定部６５は、クライアント情報として、世代取得部６１、製造番号取得部６２、ＩＤ取得部６３及びバージョン取得部６４がそれぞれ取得した「世代」、「製造番号」、「ハードウェアタイプ識別ＩＤ」及び「プログラムバージョン」を取得する。
【００３７】
判定部６５は、取得したクライアント情報と対象情報５０とを比較する。即ち、判定部６５は、クライアント情報の各要素が対象情報５０の各要素に含まれるか判定する。たとえば、判定部６５は、世代取得部６１が取得した「世代」が、世代情報５１が示す「世代」と一致するか又は含まれるか判定する。
【００３８】
判定部６５は、同様に製造番号取得部６２が取得した「製造番号」が、製造番号情報５２が示す「製造番号」と一致するか又は含まれるか判定する。  
判定部６５は、ＩＤ取得部６３が取得した「ハードウェアタイプ識別ＩＤ」及びバージョン取得部６４が取得した「プログラムバージョン」についても同様に判定する。
【００３９】
判定部６５は、クライアント装置２０の各要素の何れも対象情報５０の各要素に含まれる場合、クライアント装置２０がパッチの提供対象であると判定する。他方、判定部６５は、クライアント装置２０の各要素の何れかが対象情報５０の各要素に含まれない場合、クライアント装置２０がパッチの提供対象でないと判定する。
【００４０】
なお、判定部６５は、他の要素に基づいてクライアント装置２０がパッチの提供対象であるか判定してもよい。たとえば、判定部６５は、パッチの提供対象であるクライアント装置にインストールされたパッチを示す情報に基づいてクライアント装置２０がパッチの提供対象であるか判定してもよい。
【００４１】
パッチ適用コード７０は、判定部６５によりクライアント装置２０がパッチの提供対象であると判定された場合、クライアント装置２０にパッチをインストールするためのプログラムである。たとえば、パッチ適用コード７０によって、クライアント装置２０は、バグなどを修正するパッチがインストールされる。
【００４２】
次に、アプリケーション生成部１２がセットアップ用アプリケーションを生成する手順について説明する。ここでは、オペレータは、サーバ装置１０にパッチの提供対象であるクライアント装置の属性を示す情報（属性情報）を入力するものとする。属性情報は、パッチの提供の対象となるクライアント装置の有する属性を示す。属性情報は、クライアント情報の少なくとも一部に対応する。
【００４３】
まず、アプリケーション生成部１２は、パッチを取得する。たとえば、アプリケーション生成部１２は、サーバ装置１０のインターフェースなど通じてパッチを取得する。なお、アプリケーション生成部１２は、パッチを適用するパッチ適用コード７０を取得してもよい。
【００４４】
パッチを取得すると、アプリケーション生成部１２は、属性情報を取得する。たとえば、アプリケーション生成部１２は、サーバ装置１０の操作部などを通じて属性情報を取得する。たとえば、属性情報は、パッチの提供の対象となるクライアント装置の「プログラムバージョン」として「ＰＤ２０００」を示す。
【００４５】
属性情報を取得すると、アプリケーション生成部１２は、リスト保持部１１が格納する管理リストを参照して、対象情報５０を生成する。たとえば、アプリケーション生成部１２は、属性情報をキーに管理リストから他の情報を取得する。図２に示す例では、属性情報が「ＰＤ２０００」を示す場合、アプリケーション生成部１２は、管理リストを参照して、「世代」として「第２世代」、「製造番号」として「ＳＮ０１００００−ＳＮ０１２９９９」、及び「ハードウェアタイプ識別ＩＤ」として「ＧＥＮ２１００００Ｂ」を取得する。
【００４６】
管理リストから他の情報を取得すると、アプリケーション生成部１２は、属性情報と取得した他の情報とに基づいて対象情報５０を生成する。アプリケーション生成部１２は、属性情報と他の情報とを含む対象情報５０を生成する。前述の例では、アプリケーション生成部１２は、「第２世代」を示す世代情報５１、「ＳＮ０１００００−ＳＮ０１２９９９」を示す製造番号情報５２、「ＧＥＮ２１００００Ｂ」を示すＩＤ情報５３及び「ＰＤ２０００」を示すバージョン情報５４を含む対象情報５０を生成する。
【００４７】
なお、属性情報が「世代」、「製造番号」、「ハードウェアタイプ識別ＩＤ」及び「プログラムバージョン」を有する場合、アプリケーション生成部１２は、属性情報を対象情報５０としてもよい。
【００４８】
対象情報５０を生成すると、アプリケーション生成部１２は、パッチバージョン情報４０、生成した対象情報５０、実行判断コード６０及びパッチをインストールするパッチ適用コード７０を含むセットアップ用アプリケーション１００を生成する。アプリケーション生成部１２は、操作部などを通じてパッチバージョン情報を取得してもよい。また、アプリケーション生成部１２は、オペレータに入力されたパッチに基づいてパッチ適用コード７０を生成してもよい。
【００４９】
アプリケーション送信部１３は、アプリケーション生成部１２が生成したセットアップ用アプリケーションをクライアント装置２０に送信する。アプリケーション送信部１３は、通信網３０を通じてセットアップ用アプリケーションをクライアント装置２０に送信する。
【００５０】
アプリケーション送信部１３は、クライアント装置２０からのリクエストに対するレスポンスとしてセットアップ用アプリケーションをクライアント装置２０へ送信してもよい。また、アプリケーション送信部１３は、所定のタイミング（たとえば、アプリケーション生成部１２がセットアップ用アプリケーションを生成したタイミング）でセットアップ用アプリケーションをクライアント装置２０へ送信してもよい。  
また、アプリケーション送信部１３は、電波によるブロードキャスト配信でセットアップ用アプリケーションをクライアント装置２０へ送信してもよい。
【００５１】
次に、クライアント装置２０について説明する。  
図１が示すように、クライアント装置２０は、監視部２１、クライアント情報保持部２２及び実行部２３などを備える。たとえば、監視部２１は、クライアント装置２０のプロセッサと通信部となどによって実現される。クライアント情報保持部２２は、クライアント装置２０のメモリなどによって実現される。また、実行部２３は、プロセッサなどによって実現される。
【００５２】
監視部２１は、サーバ装置１０からのセットアップ用アプリケーション１００の配信を監視する。たとえば、監視部２１は、サーバ装置１０に対してセットアップ用アプリケーション１００のリクエストを送信する。監視部２１は、リクエストに対するレスポンスとしてセットアップ用アプリケーション１００を受信する。
【００５３】
また、監視部２１は、サーバ装置１０が所定のタイミングで送信するセットアップ用アプリケーション１００を受信してもよい。  
また、監視部２１は、アプリケーション送信部１３が電波でブロードキャスト配信するセットアップ用アプリケーションを受信してもよい。
【００５４】
クライアント情報保持部２２は、クライアント装置２０のクライアント情報を格納する。クライアント情報は、クライアント装置２０の属性を示す。  
図４は、クライアント装置２０が格納するクライアント情報の構成例を示す。図４が示すように、クライアント情報は、属性として、「世代」、「製造番号」、「ハードウェアタイプ識別ＩＤ」及び「プログラムバージョン」などを示す。なお、クライアント情報は、図４に示すような要素の他に必要に応じた要素を具備したり、特定の要素を除外したりしてもよい。
【００５５】
「世代」は、クライアント装置２０の世代を示す。  
「製造番号」は、クライアント装置２０の製造番号を示す。  
「ハードウェアタイプ識別ＩＤ」は、クライアント装置２０のハードウェアタイプ識別ＩＤを示す。
【００５６】
「プログラムバージョン」は、クライアント装置２０のプログラムバージョンを示す。  
実行部２３は、監視部２１が取得したセットアップ用アプリケーション１００を実行する。実行部２３は、以下のようにセットアップ用アプリケーション１００を実行する。
【００５７】
まず、実行部２３は、世代取得部６１によりクライアント装置２０の「世代」を取得する。  
「世代」を取得すると、実行部２３は、製造番号取得部６２によりクライアント装置２０の「製造番号」を取得する。
【００５８】
「製造番号」を取得すると、実行部２３は、ＩＤ取得部６３によりクライアント装置２０の「ハードウェアタイプ識別ＩＤ」を取得する。  
「ハードウェアタイプ識別ＩＤ」を取得すると、実行部２３は、バージョン取得部６４によりクライアント装置２０の「プログラムバージョン」を取得する。
【００５９】
「プログラムバージョン」を取得すると、実行部２３は、判定部６５により取得した「世代」が世代情報５１の「世代」に含まれるか判定する。ここでは、取得した「世代」が「第２世代」であり、世代情報５１が「第２世代」を含むものであるものとする。この場合、実行部２３は、取得した「世代」が世代情報５１に含まれると判定する。
【００６０】
取得した「世代」が世代情報５１に含まれると判定すると、実行部２３は、判定部６５に従って取得した「製造番号」が製造番号情報５２に含まれるか判定する。ここでは、取得した「製造番号」が、「ＳＮ１１９００」であり、製造番号情報５２の「製造番号」が、「ＳＮ０１００００−ＳＮ０１２９９９」であるものとする。この場合、実行部２３は、取得した「製造番号」が製造番号情報５２に含まれると判定する。
【００６１】
取得した「製造番号」が製造番号情報５２の「製造番号」に含まれると判定すると、実行部２３は、判定部６５に従って取得した「ハードウェアタイプ識別ＩＤ」がＩＤ情報５３の「ハードウェアタイプ識別ＩＤ」に含まれるか判定する。ここでは、取得した「ハードウェアタイプ識別ＩＤ」が、「ＧＥＮ２１００００Ｂ」であり、ＩＤ情報５３の「ハードウェアタイプ識別ＩＤ」は、「ＧＥＮ２１００００Ｂ」であるものとする。実行部２３は、判定部６５に従って取得した「ハードウェアタイプ識別ＩＤ」がＩＤ情報５３の「ハードウェアタイプ識別ＩＤ」に含まれると判定する。
【００６２】
取得した「ハードウェアタイプ識別ＩＤ」がＩＤ情報５３の「ハードウェアタイプ識別ＩＤ」に含まれると判定すると、実行部２３は、判定部６５に従って取得した「プログラムバージョン」がバージョン情報５４の「プログラムバージョン」に含まれるか判定する。ここでは、取得した「プログラムバージョン」が、「ＰＤ２０００」であり、バージョン情報５４の「プログラムバージョン」は、「ＰＤ２０００」であるものとする。この場合、実行部２３は、取得した「プログラムバージョン」がバージョン情報５４の「プログラムバージョン」に含まれると判定する。
【００６３】
取得した「プログラムバージョン」がバージョン情報５４の「プログラムバージョン」に含まれると判定すると、実行部２３は、クライアント装置２０がパッチの提供対象であると判定する。
【００６４】
クライアント装置２０がパッチの提供対象であると判定すると、実行部２３は、パッチ適用コード７０を実行して、クライアント装置２０にパッチをインストールする。  
他方、実行部２３は、クライアント情報が示す属性が対象情報５０の要素に含まれない場合、パッチ適用コード７０を実行しない。
【００６５】
なお、実行部２３は、クライアント装置２０にインストールしたパッチを示すパッチ情報をメモリなどに格納してもよい。また、実行部２３は、インストールしたパッチに基づいてパッチ情報を更新してもよい。実行部２３は、パッチのインストールが途中で停止した場合（電源遮断など）、パッチ情報を格納又は更新しない。
【００６６】
また、実行部２３は、パッチ情報に基づいてパッチをインストールするか判定してもよい。たとえば、クライアント装置２０がパッチの提供対象であったとしても、実行部２３は、パッチ情報に基づいてすでに当該パッチがインストール済みであると判定した場合には、当該パッチをインストールしなくともよい。
【００６７】
次に、サーバ装置１０の動作例について説明する。  
図５は、サーバ装置１０の動作例を説明するためのフローチャートである。ここでは、オペレータは、サーバ装置１０にパッチ及び属性情報を入力するものとする。
【００６８】
まず、サーバ装置１０のアプリケーション生成部１２は、パッチを取得する（Ｓ１１）。パッチを取得すると、アプリケーション生成部１２は、属性情報を取得する（Ｓ１２）。
【００６９】
属性情報を取得すると、アプリケーション生成部１２は、リスト保持部１１が格納する管理リストを参照して対象情報５０を生成する（Ｓ１３）。対象情報５０を生成すると、アプリケーション生成部１２は、セットアップ用アプリケーションを生成する（Ｓ１４）。
【００７０】
アプリケーション生成部１２がセットアップ用アプリケーションを生成すると、アプリケーション送信部１３は、生成されたセットアップ用アプリケーションをクライアント装置２０へ送信する（Ｓ１５）。  
アプリケーション送信部１３がセットアップ用アプリケーションをクライアント装置２０へ送信すると、サーバ装置１０は、動作を終了する。
【００７１】
次に、クライアント装置２０の動作例について説明する。  
図６は、クライアント装置２０の動作例を説明するためのフローチャートである。  
まず、クライアント装置２０の監視部２１は、サーバ装置１０からセットアップ用アプリケーション１００を受信したか判定する（Ｓ２１）。サーバ装置１０からセットアップ用アプリケーション１００を受信していないと判定すると（Ｓ２１、ＮＯ）、監視部２１は、Ｓ２１に戻る。
【００７２】
監視部２１がサーバ装置１０からセットアップ用アプリケーション１００を受信したと判定すると（Ｓ２１、ＹＥＳ）、実行部２３は、セットアップ用アプリケーション１００に従ってクライアント情報保持部２２から「世代」を取得する（Ｓ２２）。
【００７３】
「世代」を取得すると、実行部２３は、クライアント情報保持部２２から「製造番号」を取得する（Ｓ２３）。「製造番号」を取得すると、実行部２３は、クライアント情報保持部２２から「ハードウェアタイプ識別ＩＤ」を取得する（Ｓ２４）。
【００７４】
「ハードウェアタイプ識別ＩＤ」を取得すると、実行部２３は、クライアント情報保持部２２から「プログラムバージョン」を取得する（Ｓ２５）。「プログラムバージョン」を取得すると、実行部２３は、取得した各要素と対象情報５０とに基づいてクライアント装置２０がパッチの提供対象となるか判定する（Ｓ２６）。
【００７５】
クライアント装置２０がパッチの提供対象であると判定すると（Ｓ２６、ＹＥＳ）、実行部２３は、セットアップ用アプリケーション１００のパッチ適用コード７０を実行してパッチをインストールする（Ｓ２７）。
【００７６】
クライアント装置２０がパッチの提供対象でないと判定した場合（Ｓ２６、ＮＯ）、又は、パッチをインストールした場合（Ｓ２７）、実行部２３は、動作を終了する。
【００７７】
なお、実行部２３は、Ｓ２２乃至Ｓ２４をいずれの順序を行ってもよいし同時に行ってもよい。また、実行部２３は、クライアント情報保持部２２から要素を取得する度に対象情報５０の要素と比較してもよい。
【００７８】
また、対象情報５０は、対象となるクライアント装置として、世代情報５１、製造番号情報５２、ＩＤ情報５３及びバージョン情報５４のいずれかが該当するクライアント装置を示してもよい。たとえば、判定部６５は、クライアント装置２０の各要素の何れかが対象情報５０の各要素に含まれる場合、クライアント装置２０がパッチの提供の対象となるクライアント装置であると判定してもよい。
【００７９】
以上のように構成されたサーバ装置は、パッチの提供の対象となるクライアント装置を示す対象情報を含むセットアップ用アプリケーションを生成する。また、セットアップ用アプリケーションは、実行したクライアント装置からクライアント情報を取得し、対象情報とクライアント情報とに基づいてクライアント装置にパッチをインストールするか判定する。
【００８０】
その結果、サーバ装置は、クライアント装置から情報を得られない場合であっても対象となるクライアント装置に対して適切なパッチをインストールすることができる。  
また、サーバ装置は、クライアント装置のユーザに複雑な操作を要求することなく対象となるクライアント装置に適切なパッチをインストールすることができる。
【００８１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８２】
１…提供システム、１０…サーバ装置、１１…リスト保持部、１２…アプリケーション生成部、１３…アプリケーション送信部、２０…クライアント装置、２１…監視部、２２…クライアント情報保持部、２３…実行部、５０…対象情報、５１…世代情報、５２…製造番号情報、５３…ＩＤ情報、５４…バージョン情報、６０…実行判断コード、６１…世代取得部、６２…製造番号取得部、６３…ＩＤ取得部、６４…バージョン取得部、６５…判定部、７０…パッチ適用コード。
【図１】
2018180730.tif 000003
【図２】
2018180730.tif 000004
【図３】
2018180730.tif 000005
【図４】
2018180730.tif 000006
【図５】
2018180730.tif 000007
【図６】
2018180730.tif 000008