(57)【要約】【課題】更新データを取得するために利用されるＷＡＮの帯域を十分小さくできるようにすることにある。【解決手段】ソフトウェアを更新しようとする端末装置1-1は、自端末装置1-1と同一ＬＡＮ５に接続されている他の端末装置1-2〜1-kの中に、ソフトウェアの更新データを保持している端末装置が存在するか否かを調べる。そして、更新データを保持している端末装置が存在しない場合には、サーバ３とＷＡＮ７を介して通信を行っている通信中端末装置がＬＡＮ５上に存在するか否かを調べる。通信中端末装置が存在する場合には、通信中端末装置が上記通信によりサーバ３からソフトウェアの更新データを取得している可能性があるので、通信中端末装置が通信を終了するのを待って、再度、ＬＡＮ５上の端末装置1-2〜1-kの中に、更新データを保持している端末装置が存在するか否かを調べる。【選択図】図１
2008140214.tif 000002
【特許請求の範囲】
【請求項１】
ＬＡＮに接続された複数の端末装置と、ＷＡＮを介して前記ＬＡＮに接続され、ソフトウェアを更新するために必要となる更新データを保持するサーバとを備え、
前記複数の端末装置がそれぞれ、
自端末装置のソフトウェアの更新時、前記ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べ、保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中に前記サーバと通信を行っている通信中端末装置が存在するか否かを調べ、存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記更新データを保持している端末装置が前記ＬＡＮ上に存在するか否かを調べる処理手段を備えたことを特徴とするソフトウェア更新システム。
【請求項２】
請求項１記載のソフトウェア更新システムにおいて、
前記通信中端末装置が、ソフトウェアの更新データを取得するために前記サーバと通信を行っている端末装置であることを特徴とするソフトウェア更新システム。
【請求項３】
請求項２記載のソフトウェア更新システムにおいて、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記更新データを取得するために前記サーバと通信を行っている通信中端末装置が存在するか否かを調べることを特徴とするソフトウェア更新システム。
【請求項４】
請求項３記載のソフトウェア更新システムにおいて、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べることを特徴とするソフトウェア更新システム。
【請求項５】
請求項４記載のソフトウェア更新システムにおいて、
前記更新データには暗号鍵により電子署名が施され、且つ、
前記処理手段が、前記暗号鍵に対応する公開鍵により正当性を確認できなかった更新データを破棄することを特徴とするソフトウェア更新システム。
【請求項６】
自端末装置のソフトウェアの更新時、ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べ、保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中にソフトウェアを更新するために必要となる更新データを保持したサーバと通信を行っている通信中端末装置が存在するか否かを調べ、存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記更新データを保持している端末装置が前記ＬＡＮ上に存在するか否かを調べる処理手段を備えたことを特徴とする端末装置。
【請求項７】
請求項６記載の端末装置において、
前記通信中端末装置が、ソフトウェアの更新データを取得するために前記サーバと通信を行っている端末装置であることを特徴とする端末装置。
【請求項８】
請求項７記載の端末装置において、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記更新データを取得するために前記サーバと通信を行っている通信中端末装置が存在するか否かを調べることを特徴とする端末装置。
【請求項９】
請求項８記載の端末装置において、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べることを特徴とする端末装置。
【請求項１０】
請求項９記載の端末装置において、
前記更新データには暗号鍵により電子署名が施され、且つ、
前記処理手段が、前記暗号鍵に対応する公開鍵により正当性を確認できなかった更新データを破棄することを特徴とする端末装置。
【請求項１１】
端末装置を実現するコンピュータにより前記端末装置のソフトウェアを更新する方法であって、
前記コンピュータが、ソフトウェアの更新時、ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べる更新データ有無調査ステップと、
前記コンピュータが、前記更新データを保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中にソフトウェアを更新するために必要となる更新データを保持したサーバと通信を行っている通信中端末装置が存在するか否かを調べる通信中端末調査ステップと、
前記コンピュータが、通信中端末装置が存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記ＬＡＮ上に前記更新データを保持している端末装置が存在するか否かを調べる再調査ステップとを含むことを特徴とするソフトウェア更新方法。
【請求項１２】
請求項１１記載のソフトウェア更新方法において、
前記通信中端末装置が、ソフトウェアの更新データを取得するために前記サーバと通信を行っている端末装置であることを特徴とするソフトウェア更新方法。
【請求項１３】
請求項１２記載のソフトウェア更新方法において、
前記通信中端末調査ステップでは、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記更新データを取得するために前記サーバと通信を行っている通信中端末装置が存在するか否かを調べることを特徴とするソフトウェア更新方法。
【請求項１４】
請求項１３記載のソフトウェア更新方法において、
前記更新データ有無調査ステップでは、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べることを特徴とするソフトウェア更新方法。
【請求項１５】
請求項１４記載のソフトウェア更新方法において、
前記更新データには暗号鍵により電子署名が施され、且つ、
前記コンピュータが、前記暗号鍵に対応する公開鍵により正当性を確認できなかった更新データを破棄する破棄ステップを含むことを特徴とするソフトウェア更新方法。
【請求項１６】
端末装置を実現するコンピュータに、
ソフトウェアの更新時、ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べる更新データ有無調査ステップと、
前記コンピュータが、前記更新データを保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中にソフトウェアを更新するために必要となる更新データを保持したサーバと通信を行っている通信中端末装置が存在する否かを調べる通信中端末調査ステップと、
前記コンピュータが、通信中端末装置が存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記更新データを保持している端末装置が前記ＬＡＮ上に存在するか否かを調べる再調査ステップとを行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構内ネットワーク（ＬＡＮ）に接続された端末装置がソフトウェアを更新するソフトウェア更新技術に関し、特に、広域ネットワーク（ＷＡＮ）を介してＬＡＮと接続されているサーバにソフトウェアの更新データが保持されている場合であっても、サーバとの間の通信を極力少なくすることができるソフトウェア更新技術に関する。
【背景技術】
【０００２】
従来から企業などにおいては、ＬＡＮに接続された複数の端末装置を利用して、社内情報システムなどの各種システムを構築するようにしている。社内情報システムなどを実現するためのソフトウェアは、必要に応じてバージョンアップされるので、ＬＡＮに接続された端末装置は、バージョンアップが行われる毎に、ソフトウェアを更新することが必要になる。
【０００３】
ところで、ＬＡＮに接続された端末装置のソフトウェアを更新する場合、従来は一般に、ソフトウェアの更新データを保持したＷＡＮ上のサーバから各端末装置が個別にソフトウェアの更新データを取得するようにしている。しかし、この方法は、全ての端末装置がＷＡＮを介してソフトウェアの更新データを取得するようにしているので、多くの帯域が更新データの取得のために使用されてしまうという問題がある。また、通信速度が遅いＷＡＮ（一般的にＷＡＮの通信速度は、ＬＡＮの１０分の１〜１００分の１程度）を利用してソフトウェアの更新データを取得するようにしているため、更新データを取得するまでに多くの時間がかかってしまうという問題もある。
【０００４】
そこで、このような問題点を解決するため、常にサーバから更新データを取得するのではなく、ソフトウェアの更新データを保持している端末装置が存在している場合は、その端末装置から更新データを取得するようにした技術が提案されている（例えば、特許文献１参照）。この特許文献１に記載されている従来の技術では、ソフトウェアを更新する端末装置は、サーバに対してソフトウェアの更新データを要求する更新データ要求を送信し、この更新データ要求を受けたサーバは、要求された更新データを保持している端末装置が存在しない場合は、要求された更新データを要求元に送信し、要求された更新データを保持している端末装置が存在する場合は、そのリストを要求元へ送信する。要求元の端末装置は、リストが送られてきた場合には、そのリストに載っている端末装置から更新データを取得する。
【０００５】
【特許文献１】特開２００６−１７２４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１に記載されている従来の技術では、ソフトウェアの更新データを保持している端末装置が存在する場合には、その端末装置から更新データを取得するようにしているので、更新データを取得するために使用されるＷＡＮの帯域を少なくすることができると共に、更新データの取得に要する時間を短くすることができる。
【０００７】
しかし、特許文献１に記載されている従来の技術では、ソフトウェアを更新する端末装置は、他の端末装置がサーバと通信中であるか否かを全く考慮せずに、更新データ要求をサーバに送信するようにしているため、更新データを取得するために使用するＷＡＮの帯域を十分に少なくすることができないという問題がある。即ち、ソフトウェアを更新する端末装置は、更新データを取得するためにサーバと通信を行っている他の端末装置が存在する場合であっても、サーバへ更新データ要求を送信し、サーバとの間でＷＡＮを介した通信を行うので、更新データを取得するために使用するＷＡＮの帯域を十分に少なくすることができない。
【０００８】
〔発明の目的〕
そこで、本発明の目的は、更新データを取得するために利用されるＷＡＮの帯域を十分小さくできるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明にかかる第１のソフトウェア更新システムは、
ＬＡＮに接続された複数の端末装置と、ＷＡＮを介して前記ＬＡＮに接続され、ソフトウェアを更新するために必要となる更新データを保持するサーバとを備え、
前記複数の端末装置がそれぞれ、
自端末装置のソフトウェアの更新時、前記ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べ、保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中に前記サーバと通信を行っている通信中端末装置が存在するか否かを調べ、存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記更新データを保持している端末装置が前記ＬＡＮ上に存在するか否かを調べる処理手段を備えたことを特徴とする。
【００１０】
本発明にかかる第２のソフトウェア更新システムは、第１のソフトウェア更新システムにおいて、
前記通信中端末装置が、ソフトウェアの更新データを取得するために前記サーバと通信を行っている端末装置であることを特徴とする。
【００１１】
本発明にかかる第３のソフトウェア更新システムは、第２のソフトウェア更新システムにおいて、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記更新データを取得するために前記サーバと通信を行っている通信中端末装置が存在するか否かを調べることを特徴とする。
【００１２】
本発明にかかる第４のソフトウェア更新システムは、第３のソフトウェア更新システムにおいて、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べることを特徴とする。
【００１３】
本発明にかかる第５のソフトウェア更新システムは、第４のソフトウェア更新システムにおいて、
前記更新データには暗号鍵により電子署名が施され、且つ、
前記処理手段が、前記暗号鍵に対応する公開鍵により正当性を確認できなかった更新データを破棄することを特徴とする。
【００１４】
本発明にかかる第１の端末装置は、
自端末装置のソフトウェアの更新時、ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べ、保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中にソフトウェアを更新するために必要となる更新データを保持したサーバと通信を行っている通信中端末装置が存在するか否かを調べ、存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記更新データを保持している端末装置が前記ＬＡＮ上に存在するか否かを調べる処理手段を備えたことを特徴とする。
【００１５】
本発明にかかる第２の端末装置は、第１の端末装置において、
前記通信中端末装置が、ソフトウェアの更新データを取得するために前記サーバと通信を行っている端末装置であることを特徴とする。
【００１６】
本発明にかかる第３の端末装置は、第２の端末装置において、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記更新データを取得するために前記サーバと通信を行っている通信中端末装置が存在するか否かを調べることを特徴とする。
【００１７】
本発明にかかる第４の端末装置は、第３の端末装置において、
前記処理手段が、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べることを特徴とする。
【００１８】
本発明にかかる第５の端末装置は、第４の端末装置において、
前記更新データには暗号鍵により電子署名が施され、且つ、
前記処理手段が、前記暗号鍵に対応する公開鍵により正当性を確認できなかった更新データを破棄することを特徴とする。
【００１９】
本発明にかかる第１のソフトウェア更新方法は、
端末装置を実現するコンピュータにより前記端末装置のソフトウェアを更新する方法であって、
前記コンピュータが、ソフトウェアの更新時、ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べる更新データ有無調査ステップと、
前記コンピュータが、前記更新データを保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中にソフトウェアを更新するために必要となる更新データを保持したサーバと通信を行っている通信中端末装置が存在するか否かを調べる通信中端末調査ステップと、
前記コンピュータが、通信中端末装置が存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記ＬＡＮ上に前記更新データを保持している端末装置が存在するか否かを調べる再調査ステップとを含むことを特徴とする。
【００２０】
本発明にかかる第２のソフトウェア更新方法は、第１のソフトウェア更新方法において、
前記通信中端末装置が、ソフトウェアの更新データを取得するために前記サーバと通信を行っている端末装置であることを特徴とする。
【００２１】
本発明にかかる第３のソフトウェア更新方法は、第２のソフトウェア更新方法において、
前記通信中端末調査ステップでは、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記更新データを取得するために前記サーバと通信を行っている通信中端末装置が存在するか否かを調べることを特徴とする。
【００２２】
本発明にかかる第４のソフトウェア更新方法は、第３のソフトウェア更新方法において、
前記更新データ有無調査ステップでは、前記ＬＡＮに接続されている他の端末装置に対して問い合わせを行うことにより、前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べることを特徴とする。
【００２３】
本発明にかかる第５のソフトウェア更新方法は、第４のソフトウェア更新方法において、
前記更新データには暗号鍵により電子署名が施され、且つ、
前記コンピュータが、前記暗号鍵に対応する公開鍵により正当性を確認できなかった更新データを破棄する破棄ステップを含むことを特徴とする。
【００２４】
本発明にかかるプログラムは、
端末装置を実現するコンピュータに、
ソフトウェアの更新時、ＬＡＮに接続されている他の端末装置の中に前記ソフトウェアの更新データを保持している端末装置が存在するか否かを調べる更新データ有無調査ステップと、
前記コンピュータが、前記更新データを保持している端末装置が存在しない場合は、前記ＬＡＮに接続されている他の端末装置の中にソフトウェアを更新するために必要となる更新データを保持したサーバと通信を行っている通信中端末装置が存在するか否かを調べる通信中端末調査ステップと、
前記コンピュータが、通信中端末装置が存在する場合は、前記通信中端末装置が通信を終了するのを待って、再度、前記ＬＡＮ上に前記更新データを保持している端末装置が存在するか否かを調べる再調査ステップとを行わせる。
【００２５】
〔作用〕
ソフトウェアを更新しようとする端末装置は、先ず、自端末装置と同一ＬＡＮに接続されている他の端末装置の中に、ソフトウェアの更新データを保持している端末装置が存在するか否かを調べる。そして、更新データを保持している端末装置が存在しない場合には、サーバと通信を行っている通信中端末装置がＬＡＮ上に存在するか否かを調べる。通信中端末装置が存在する場合には、通信中端末装置が上記通信によりサーバからソフトウェアの更新データを取得している可能性があるので、通信中端末装置が通信を終了するのを待って、再度、ＬＡＮ上の端末装置の中に、更新データを保持している端末装置が存在するか否かを調べる。
【発明の効果】
【００２６】
本発明によれば、ソフトウェアの更新データを取得するために利用されるＷＡＮの帯域を十分に小さくすることができるという効果を得ることができる。その理由は、ソフトウェアの更新時、ＬＡＮに接続されている他の端末装置の中にソフトウェアの更新データを保持している端末装置が存在するか否かを調べ、保持している端末装置が存在しない場合は、ＬＡＮに接続されている他の端末装置の中にサーバと通信を行っている通信中端末装置が存在するか否かを調べ、通信中端末装置が存在する場合は、通信中端末装置が通信を終了するのを待って、再度、ＬＡＮ上に更新データを保持している端末装置が存在するか否かを調べるようにしているからである。
【発明を実施するための最良の形態】
【００２７】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２８】
〔実施の形態の構成の説明〕
図１を参照すると、本発明にかかるソフトウェア更新システムの実施の形態は、ＬＡＮ５に接続された複数の端末装置１−１〜１〜ｋと、ＬＡＮ６に接続された複数の端末装置２−１〜２−ｊと、ＷＡＮ７を介してＬＡＮ５、６に接続されたサーバ３と、署名端末装置４とを備えている。なお、端末装置１−１〜１−ｋ、２−１〜２−ｊは、例えば、社内情報システムの構成要素となる端末装置であり、各端末装置１−１〜１−ｋ、２−１〜２−ｊには、社内情報システムを実現するために必要になるソフトウェア等の各種プログラムがインストールされている。
【００２９】
サーバ３は、各端末装置１−１〜１−ｋ、２−１〜２−ｊにインストールされているソフトウェアを更新するための更新データ（バージョンアップされたソフトウェアそのものの場合もあれば、ソフトウェアで使用するデータや、パッチの場合もある）を管理している。
【００３０】
図２は、サーバ３の構成例を示すブロック図であり、送受信手段３１と、処理手段３２と、更新データ記憶部３３とを備えている。
【００３１】
送受信手段３１は、ＷＡＮ７を介してデータをやり取りする機能を有している。
【００３２】
更新データ記憶部３３には、各端末装置１−１〜１−ｋ、２−１〜２−ｊにインストールされているソフトウェアを更新するための更新データが格納されている。なお、更新データには、電子署名が施されている。
【００３３】
処理手段３２は、端末装置１−１〜１−ｋ、２−１〜２−ｊから更新データ取得要求が送られてきた場合、要求された更新データを要求元の端末装置に送信する機能を有する。
【００３４】
このような機能を有するサーバは、コンピュータにより実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータを、サーバ３として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、送受信手段３１および処理手段３２を実現する。
【００３５】
署名端末装置４は、秘密鍵を使用して更新データに電子署名を施す機能を有する。この署名端末装置４によって電子署名が施された更新データが、サーバ内の更新データ記憶部３３に格納される。
【００３６】
ＬＡＮ５、６に接続されている各端末装置１−１〜１−ｋ、２−１〜２−ｊは、パーソナルコンピュータ等によって実現されるものである。図３に端末装置１−１の構成例を示す。なお、他の端末装置も端末装置１−１と同様の構成を有する。
【００３７】
図３を参照すると、端末装置１−１は、送受信手段１１と、処理手段１２と、記憶装置１３と、キーボード等の入力部１４と、ＬＥＤ等の表示部１５とを備えている。
【００３８】
記憶装置１３は、ソフトウェア記憶部１３１と、更新データ記憶部１３２と、公開鍵記憶部１３３とを備えている。
【００３９】
ソフトウェア記憶部１３１には、複数のソフトウェアが格納されている。更新データ記憶部１２８には、ソフトウェアの更新データが格納される。公開鍵記憶部１３３には、署名端末装置４が電子署名を行う際に使用した秘密鍵に対応した公開鍵が格納されている。
【００４０】
送受信手段１１は、ＬＡＮ５を介してデータを送受信する機能を有している。
【００４１】
処理手段１２は、次のような機能を有している。
【００４２】
・自端末装置１−１のソフトウェアの更新時、自端末装置１−１と同一のＬＡＮ５に接続されている他の端末装置１−２〜１−ｋに対して、更新対象にしているソフトウェア（更新対象ソフトウェア）の更新データを保持しているか否かを問い合わせる更新データ有無問い合わせを送信する機能。
・他の端末装置１−２〜１−ｋからの更新データ有無問い合わせを受信したとき、問い合わせのあった更新データを保持しているか否かを示す更新データ有無応答を問い合わせ元に返す機能。
・他の端末装置１−２〜１−ｋからの更新データ有無応答に基づいて、ＬＡＮ５上に更新データを保持している端末装置が存在するか否かを判定する機能。
・ＬＡＮ５上に更新データを保持している端末装置が存在する場合は、その端末装置から更新データを取得し、存在しない場合は、ＬＡＮ５上の他の端末装置１−２〜１−ｋに対して、更新データを取得するためにＷＡＮ７を介してサーバ３と通信を行っているか否かを問い合わせる通信状態問い合わせを送信する機能。
・他の端末装置１−２〜１−ｋから送られてきた通信状態問い合わせに応答して、自端末装置１−１が更新データを取得するためにサーバ３と通信を行っているか否かを示す通信状態応答を問い合わせ元に返す機能。
・他の端末装置１−２〜１−ｋから送られてきた通信状態応答に基づいて、ＬＡＮ５上に更新データを取得するためにサーバ３と通信を行っている端末装置（通信中端末装置）が存在するか否かを調べる機能。
・ＬＡＮ５上に通信中端末装置が存在しない場合は、サーバ３から更新データを取得し、存在する場合は、通信中端末装置の通信が終了するのを待って、他の端末装置１−２〜１−ｋに対して、再度、更新データ有無問い合わせを送信する機能。
・他の端末装置１−２〜１−ｋやサーバ３から取得した電子署名が施された更新データの正当性を、公開鍵記憶部１３３に格納されている公開鍵により確認する機能。
・更新データの正当性を確認できなかった場合は、更新データを破棄し、確認できた場合は、更新データを更新データ記憶部１３２に登録すると共に、更新データに従って更新対象ソフトウェアを更新する機能。
【００４３】
このような機能を有する端末装置１−１は、コンピュータにより実現可能であり、コンピュータにより実現する場合には、例えば、次のようにする。コンピュータを端末装置１−１として機能させるためのプログラムを記録してディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、送受信手段１１および処理手段１２を実現する。
【００４４】
〔実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
【００４５】
先ず、署名端末装置４の動作について説明する。本実施の形態は、更新データの正当性を保証するために、公開鍵暗号化方式による電子署名を利用している。署名端末装置４は、図４に示すように、未署名の更新データ４１が入力されると、秘密鍵４２を用いて更新データ４１に電子署名を施し、署名済みの更新データ４３を生成する。このようにして生成された署名済みの更新データ４３は、サーバ３内の更新データ記憶部３３に格納される。
【００４６】
次に、図５のフローチャートを参照してソフトウェア更新時の動作について説明する。
【００４７】
今、例えば、ＬＡＮ５に接続されている端末装置１−１において、ソフトウェア記憶部１３１に格納されているソフトウェアＡ（例えば、識別子ＩＤａのソフトウェア）を更新することが必要になったとする。
【００４８】
端末装置１−１の利用者は、ソフトウェアＡを更新する場合、入力部１４を用いて、処理手段１２に対して、ソフトウェアＡを更新対象ソフトウェアにすることを指示する。
【００４９】
これにより、処理手段１２は、更新対象ソフトウェアＡの更新データＤＡを保持している端末装置がＬＡＮ５上に存在するか否かを調べるために、Ｐ２Ｐ通信を使った問い合わせを行う（ステップＳ５１）。
【００５０】
より具体的には、端末装置１−１内の処理手段１２は、ＬＡＮ５に接続されている他の端末装置１−２〜１−ｋを順次問い合わせ対象にして次のような処理を行う。先ず、端末装置１−２を問い合わせ対象にして、更新対象ソフトウェアＡの識別子ＩＤａを含んだ更新データ有無問い合わせを送信し、更新データ有無応答が返されるのを待つ。一方、端末装置１−２内の処理手段１２は、端末装置１−１から更新データ有無問い合わせが送られてくると、更新データ記憶部１３２に更新対象ソフトウェアＡの更新データＤＡが格納されているか否かを調べ、格納されている場合は、更新データ有りを示す更新データ有無応答を、格納されていない場合は、更新データ無しを示す更新データ有無応答を端末装置１−１に返却する。
【００５１】
端末装置１−１内の処理手段１２は、端末装置１−２から返却された更新データ有無応答が、更新データ有りを示すものである場合は、端末装置１−２に更新データＤＡが保持されていると認識し、ステップ５１の処理を終了する。これに対して、端末装置１−２から返却された更新データ有無応答が、更新データ無しを示すものである場合は、次の端末装置（例えば、端末装置１−３）を問い合わせ対象にして前述した処理と同様の処理を行う。端末装置１−１内の処理手段１２は、更新データ有りを示す更新データ有無応答を受信するか、未問い合わせの端末装置が存在しなくなるまで、前述した処理を繰り返し行う。そして、更新データ有りを示す更新データ有無応答を受信した場合には、その送信元の端末装置に更新データＤＡが保持されていると認識し、他の全ての端末装置１−２〜１−ｋから更新データ無しを示す更新データ有無応答が送られてきた場合は、更新データＤＡを保持している端末装置がないと認識する。以上がステップＳ５１で行う処理の一具体例である。なお、ＬＡＮ５に接続されている他の端末装置１−２〜１−ｋは、ＬＡＮ５のネットワークアドレスを利用した生存確認問い合わせにより、図５の処理の開始前に、予め確認しておく。また、この例では、各端末装置１−２〜１−ｋに順次更新データ有無問い合わせを送信するようにしたが、ブロードキャストにより、更新データ有無問い合わせを送信するようにしても良い。
【００５２】
そして、更新対象ソフトウェアＡの更新データＤＡを保持している端末装置が存在する場合（ステップＳ５２がＹＥＳ）は、その端末装置からＰ２Ｐ通信を使って更新データＤＡを取得する（ステップＳ６２）。データの取得が完了したら、公開鍵記憶部１３３に格納されている公開鍵を使って、取得した更新データＤＡが正当なものであることを検証する。もし不正なものであれば取得した更新データＤＡを破棄し、最初のステップＳ５１に戻って処理を繰り返す。更新データＤＡの正当性が確認できた場合は、更新データＤＡを利用して更新対象ソフトウェアＡを更新すると共に、更新データＤＡを他の端末装置からの要求に応えて提供できるようにするため、更新データ記憶部１３２に格納し（ステップＳ６３）、その後、更新処理を終了する。なお、処理手段１２は、更新データＤＡを格納した後、一定期間が経過すると、更新データＤＡを更新データ記憶部１３２から削除する。
【００５３】
これに対して、更新データＤＡを保持している端末装置が存在しなかった場合（ステップＳ５２がＮＯ）は、更新データ（更新データＤＡには限られない）を取得するためにＷＡＮ７を介してサーバ３と通信を行っている端末装置（通信中端末装置）が存在するか否かを調べるため、Ｐ２Ｐ通信を利用した問い合わせを行う（ステップＳ５３）。
【００５４】
より具体的には、端末装置１−１内の処理手段１２は、他の端末装置１−２〜１−ｋを順次問い合わせ対象にして次のような処理を行う。先ず、端末装置１−２を問い合わせ対象にして、通信状態問い合わせを送信し、通信状態応答が返されるのを待つ。一方、端末装置１−２内の処理手段１２は、端末装置１−１から通信状態問い合わせが送られてくると、自端末装置１−２が更新データを取得するためにＷＡＮ７を介してサーバ３と通信中であるか否かを示す通信状態応答を端末装置１−１に返す。
【００５５】
端末装置１−１内の処理手段１２は、端末装置１−２から返却された通信状態応答が、通信中を示している場合には、端末装置１−２が通信中端末装置であると認識してステップＳ５３の処理を終了する。これに対して、端末装置１−２から返却された通信状態応答が、通信中でないことを示している場合は、次の端末装置（例えば、端末装置１−３）を問い合わせ対象にして前述した処理と同様の処理を行う。端末装置１−１内の処理手段１２は、通信中を示す通信状態応答を受信するか、未問い合わせの端末装置が存在しなくなるまで、前述した処理を繰り返し行う。そして、通信中を示す通信状態応答を受信した場合には、その送信元の端末装置が通信中端末装置であると認識し、他の全ての端末装置１−２〜１−ｋから通信中でないことを示す通信状態応答が送られてきた場合は、通信中端末装置が存在しないと認識する。以上がステップＳ５３で行う処理の一具体例である。なお、この例では、各端末装置１−２〜１−ｋに順次通信状態問い合わせを送信するようにしたが、ブロードキャストにより、通信状態問い合わせを送信するようにしても良い。
【００５６】
そして、更新データを取得するためにサーバ３と通信を行っている通信中端末装置が存在する場合（ステップＳ５４がＹＥＳ）は、その通信中端末装置に対して、通信完了後に完了通知を送ってもらうことを依頼し、待機する（ステップＳ５５、Ｓ５６）。この待機状態において、通信中端末装置から完了通知が送られてきたら（ステップＳ５６）、上記通信中端末装置がサーバ３と行っていた通信により、端末装置１−１で必要な更新データＤＡが取得されている可能性があるので、最初のステップＳ５１に戻って更新データＤＡを保持している端末装置がＬＡＮ５上に存在するか否かを調べる。なお、この場合は、完了通知の送信元の端末装置のみを対象にして、更新データＤＡを保持しているか否か調べるようにしても良い。
【００５７】
これに対して、更新データを取得するためにサーバ３と通信を行っている通信中端末装置が存在しない場合（ステップＳ５４がＮＯ）は、端末装置１−１の処理手段１２は、更新データ要求をＷＡＮ７を介してサーバ３へ送信し、サーバ３から更新対象ソフトウェアＡの更新データＤＡを取得する（ステップＳ５７）。更新データＤＡの取得が完了したら、公開鍵記憶部１３３に格納されている公開鍵を使って、取得した更新データＤＡが正当なものであることを検証する。もし不正なものであれば取得した更新データＤＡを破棄し、最初のステップＳ５１に戻って処理を繰り返す。更新データＤＡの正当性を確認できた場合は、更新データＤＡを利用して更新対象ソフトウェアＡを更新すると共に、他の端末装置１−２〜１−ｋからの要求に応えて提供できるように、更新データ記憶部１３２に更新データＤＡを格納する（ステップＳ５８）。なお、処理手段１２は、更新データＤＡを格納した後、一定期間が経過すると、更新データＤＡを更新データ記憶部１３２から削除する。
【００５８】
その後、端末装置１−１の制御手段１２は、他の端末装置１−２〜１−ｋから完了通知を依頼されているかどうかを確認する（ステップＳ５９）。そして、完了通知を依頼されていない場合（ステップＳ６０がＮＯ）は、更新処理を終了し、完了通知を依頼されていた場合（ステップＳ６０がＹＥＳ）は、依頼元の端末装置に対して完了通知を送信した後（ステップＳ６１）、更新処理を終了する。
【００５９】
〔実施の形態の効果〕
本実施の形態によれば、ソフトウェアの更新データを取得するために利用されるＷＡＮの帯域を十分に小さくすることができるという効果を得ることができる。その理由は、端末装置１−１が自端末装置のソフトウェアを更新する際、ＬＡＮ５に接続されている他の端末装置１−２〜１−Ｋの中にソフトウェアの更新データを保持している端末装置が存在するか否かを調べ、保持している端末装置が存在しない場合は、ＬＡＮ５に接続されている他の端末装置１−２〜１−Ｋの中にサーバ３と通信を行っている通信中端末装置が存在するか否かを調べ、通信中端末装置が存在する場合は、通信中端末装置が通信を終了するのを待って、再度、ＬＡＮ５上に更新データを保持している端末装置が存在するか否かを調べるようにしているからである。
【産業上の利用可能性】
【００６０】
本発明は、ＬＡＮに接続されている複数の端末装置が、同一のソフトウェアを使用している場合に利用すると好適である。
【図面の簡単な説明】
【００６１】
【図１】本発明にかかるソフトウェア更新システムの実施の形態の全体構成例を示すブロック図である。
【図２】サーバ３の構成例を示すブロック図である。
【図３】端末装置１−１の構成例を示すブロック図である。
【図４】署名端末装置４の動作を説明するための図である。
【図５】本実施の形態の処理例を示すフローチャートである。
【符号の説明】
【００６２】
１−１〜１−ｋ、２−１〜２−ｊ…端末装置
１１…送受信手段
１２…処理手段
１３…記憶装置
１３１…ソフトウェア記憶部
１３２…更新データ記憶部
１３３…公開鍵記憶部
３…サーバ
３１…送受信手段
３２…処理手段
３３…更新データ記憶部
４…署名端末装置
４１…未署名の更新データ
４２…秘密鍵
４３…署名済みの更新データ
５、６…ＬＡＮ
７…ＷＡＮ
【図１】
2008140214.tif 000003
【図２】
2008140214.tif 000004
【図３】
2008140214.tif 000005
【図４】
2008140214.tif 000006
【図５】
2008140214.tif 000007