(57)【特許請求の範囲】
【請求項１】
サーバから配信されるソフトウェアをインストールする情報処理装置であって、
ネットワークを介して、ソフトウェアを記憶したサーバに接続し、情報の送受信を行う通信部と、
前記サーバに記憶されたソフトウェアを、前記通信部によってサーバからダウンロードするダウンロード実行部と、
前記ダウンロードされたソフトウェアを、利用可能な状態にするインストールを実行するインストール実行部と、
前記ダウンロードされたソフトウェアのインストールを開始する前に、前記サーバに、前記ダウンロードされたソフトウェアが存在するか否かを確認することを要求する確認要求部と、制御部とを備え、
前記通信部によって、前記情報処理装置にインストールされるべきソフトウェアを記憶したサーバに接続し、
前記確認要求部が、情報処理装置にダウンロードされたソフトウェアであってかつ情報処理装置でインストールがまだ実施されていないソフトウェアが、前記サーバに存在するか否かを確認するための確認要求を、前記通信部によって前記サーバに送信し、
前記制御部は、前記確認要求部が前記サーバに確認要求をした結果、前記ダウンロードしたソフトウェアが前記サーバに存在しないことを確認した場合には、前記インストール実行部によって、前記ダウンロードされたソフトウェアのインストールを実行させないことを特徴とする情報処理装置。
【請求項２】
前記ダウンロードされたソフトウェアを記憶する記憶部を備え、
前記確認要求部が前記サーバに確認要求をした結果、前記ダウンロードしたソフトウェアがサーバに存在しないことを確認した場合には、前記制御部は、前記記憶部に記憶された前記ダウンロードしたソフトウェアを消去することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
サーバと、情報処理装置とが、ネットワークを介して接続され、前記サーバに記憶されたソフトウェアを前記情報処理装置に配信するソフトウェア配信システムであって、
前記情報処理装置が、ネットワークを介して、ソフトウェアを記憶したサーバに接続し、情報の送受信を行う通信部と、前記サーバに記憶されたソフトウェアを、前記通信部によってサーバからダウンロードするダウンロード実行部と、前記ダウンロードされたソフトウェアを利用可能な状態にするインストールを実行するインストール実行部と、前記サーバに前記ダウンロードされたソフトウェアが存在するか否かを確認することを要求する確認要求部と、制御部とを備え、
前記サーバが、ソフトウェアを記憶する記憶部と、前記情報処理装置から要求されたソフトウェアを要求してきた情報処理装置に送信するソフトウェア送信部と、前記情報処理装置から前記ダウンロードされたソフトウェアの確認要求を受信する確認要求受信部と、前記確認要求を受信した場合に、前記ダウンロードされたソフトウェアが現在サーバに存在するか否かを確認し、その確認結果を示す確認応答情報を、前記確認要求を送信してきた情報処理装置に返信する確認応答部とを備え、
前記通信部によって、前記情報処理装置にインストールされるべきソフトウェアを記憶したサーバに接続し、
前記ダウンロードされたソフトウェアのインストールを開始する前に、前記確認要求部が、情報処理装置にダウンロードされたソフトウェアであってかつ情報処理装置でインストールがまだ実施されていないソフトウェアが、前記サーバに存在するか否かを確認するための確認要求を、前記通信部によって前記サーバに送信し、
前記確認要求を受信したサーバの確認応答部は、前記ダウンロードされたソフトウェアが、サーバに現在記憶されているか否かを確認し、サーバに記憶されていない場合には、サーバに存在しないことを示す確認応答情報を、確認要求を送信してきた情報処理装置に返信し、
前記制御部が、前記ダウンロードされたソフトウェアがサーバに存在しないことを示す確認応答情報を受信した場合に、前記インストール実行部によって、前記ダウンロードされたソフトウェアのインストールを実行させないことを特徴とするソフトウェア配信システム。
【請求項４】
サーバと、情報処理装置とが、ネットワークを介して接続され、前記サーバに記憶されたソフトウェアを前記情報処理装置に配信するソフトウェア配信方法であって、
前記情報処理装置が、前記情報処理装置にインストールされるべきソフトウェアを記憶したサーバに接続するステップと、
前記情報処理装置が、前記サーバに対して、サーバに記憶された所望のソフトウェアをダウンロードすることを要求するステップと、
前記サーバが、前記要求されたソフトウェアを、要求してきた情報処理装置に送信するステップと、
前記情報処理装置が、サーバから送信されたソフトウェアをダウンロードするステップと、
前記情報処理装置が、すでにダウンロードされたソフトウェアのインストールを開始する前に、前記情報処理装置にダウンロードされたソフトウェアであってかつ情報処理装置でインストールがまだ実施されていないソフトウェアが、前記サーバに存在するか否かを確認するための確認要求を、サーバに送信するステップと、
前記サーバが、前記確認要求を受信した場合、確認要求されたソフトウェアがサーバに現在記憶されているか否かを確認するステップと、
前記確認ステップによって、確認要求されたソフトウェアがサーバに現在記憶されていないことが確認された場合に、サーバが、サーバに存在しないことを示す確認応答情報を、確認要求を送信してきた情報処理装置に返信するステップと、
前記情報処理装置が、前記ダウンロードされたソフトウェアがサーバに存在しないことを示す確認応答情報を受信した場合に、前記ダウンロードされたソフトウェアのインストールを実行しないステップとを有することを特徴とするソフトウェア配信方法。
【請求項５】
前記情報処理装置が、前記ダウンロードしたソフトウェアがサーバに存在しないことを示す確認応答情報を受信した場合に、前記ダウンロードしたソフトウェアを消去するステップを有することを特徴とする請求項４に記載のソフトウェア配信方法。
【請求項６】
ネットワークを介して、情報処理装置にインストールされるべきソフトウェアを記憶したサーバに接続し、情報の送受信を行う通信機能と、
前記サーバに記憶されたソフトウェアを、前記通信機能によってサーバからダウンロードするダウンロード実行機能と、
前記ダウンロードされたソフトウェアを、利用可能な状態にするインストールを実行するインストール実行機能と、
前記ダウンロードされたソフトウェアのインストールを開始する前に、前記サーバに、情報処理装置にダウンロードされたソフトウェアであってかつ情報処理装置でインストールがまだ実施されていないソフトウェアが存在するか否かを確認するための確認要求を送信する確認要求機能と、
前記確認要求機能によって前記サーバに確認要求をした結果、前記ダウンロードしたソフトウェアが前記サーバに存在しないことを確認した場合には、前記インストール実行機能によって、前記ダウンロードされたソフトウェアのインストールを実行させないようにする制御機能とを、コンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、ソフトウェア配信システムおよびソフトウェア配信方法に関し、特に、配信されたソフトウェアの有効性を確認した後に、そのソフトウェアをインストールする機能を有する情報処理装置、ソフトウェア配信システムおよびソフトウェア配信方法に関する。
【背景技術】
【０００２】
今日、携帯端末等のシステムプログラムや携帯端末等で利用するアプリケーションプログラム（以下、ソフトウェアと呼ぶ）は、ネットワークを介して、遠隔地に設置されたサーバからユーザの所有する携帯端末に配信されることが多い。
また、すでに携帯端末にインストールされて利用されているソフトウェアについて、バグやセキュリティホールを修正する場合や、機能向上のためのバージョンアップをする場合も、その修正内容や新しい機能を含めた最新版のソフトウェアが、サーバからネットワークを介して配信される（特許文献１参照）。
このようなネットワークを介した配信サービスは、ＣＤ−ＲＯＭ等の記憶媒体を利用して最新版のソフトウェアを提供する場合に比べて、多くのユーザに提供する手間、時間及びコストを節約することができるため、広く利用されている。
【０００３】
ソフトウェアの配信システムでは、目的のソフトウェアを、サーバからそのソフトウェアを利用する情報処理装置にダウンロード（転送）し、その情報処理装置に一旦記憶した後、ダウンロードしたソフトウェアに対して、所定のインストール処理をすることにより、そのソフトウェアが利用可能な状態となる。
パソコン等で利用するアプリケーションソフトやシステムソフトなどのように、ダウンロードした後すぐに自動的にインストールが実施されるものもあるが、今日の携帯電話やスマートフォンのシステムソフトを更新する場合などのように、ソフトウェアのダウンロードが完了した後、利用者の明示的なインストール要求の指示入力があった場合や、所定の設定時刻の経過後に、インストールが開始されるものがある（非特許文献１および２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１５７７３２号公報
【非特許文献】
【０００５】
【非特許文献１】http://media.kddi.com/app/publish/torisetsu/pdf/shl25_torisetsu_shousai.pdf 137ページ「ソフトウェアを更新する」（2014/7/25閲覧）
【非特許文献２】http://help.mb.softbank.jp/304sh/pdf/304sh_userguide.pdf45〜46ページ「ソフトウェアの更新について」（2014/7/25閲覧）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ソフトウェアの開発企業や開発者が、そのソフトウェアの配信を開始した後に、不具合等が発見された場合、そのソフトウェアを利用する携帯端末で、誤動作等の不具合の発生を防止するため、開発者等は、そのソフトウェアの配信を中止したい場合がある。
ソフトウェアの配信の中止は、たとえば、開発者等がソフトウェアをアップロードしたサーバに対して、配信中止指示をすることや、アップロードしたソフトウェアそのものの削除指示をすることにより行うことができる。
【０００７】
しかし、配信を中止するタイミングと、ダウンロードした携帯端末におけるダウンロードの状態との関係によっては、携帯端末側で、不具合が発生してしまう場合がある。
たとえば、問題のあるソフトウェアをダウンロードしていない端末、ダウンロードの途中であってまだダウンロードが完了していない端末、ダウンロードが途中で中断されている端末などについては、その後のダウンロードが失敗に終わるような措置をとることで、不具合の発生を未然に防止できる。
【０００８】
これに対して、問題のあるソフトウェアのダウンロードが正常に完了した端末であってインストールも実施されてしまった端末は、不具合が発生してしまう可能性が高い。また、インストールは未実施であるがユーザの指示入力等によってインストールが可能な状態となっている端末についても、開発者側が、自らその端末に対してインストールが実行されないようにする手段がないので、ユーザが実際にインストール指示入力をした場合は、同様に、不具合が発生してしまう可能性がある。
【０００９】
そこで、この発明は、以上のような事情を考慮してなされたものであり、特に、ソフトウェアのダウンロードは完了したが、そのソフトウェアのインストール自体は未実施の情報処理装置について、事後的に不具合等のあることがわかったソフトウェアのインストールを実行しないようにすることを課題とする。
【課題を解決するための手段】
【００１０】
この発明は、サーバから配信されるソフトウェアをインストールする情報処理装置であって、ネットワークを介して、ソフトウェアを記憶したサーバに接続し、情報の送受信を行う通信部と、前記サーバに記憶されたソフトウェアを、前記通信部によってサーバからダウンロードするダウンロード実行部と、前記ダウンロードされたソフトウェアを、利用可能な状態にするインストールを実行するインストール実行部と、前記ダウンロードされたソフトウェアのインストールを開始する前に、前記サーバに、前記ダウンロードされたソフトウェアが存在するか否かを確認することを要求する確認要求部と、制御部とを備え、前記通信部によって、前記情報処理装置にインストールされるべきソフトウェアを記憶したサーバに接続し、前記確認要求部が、情報処理装置にダウンロードされたソフトウェアであってかつ情報処理装置でインストールがまだ実施されていないソフトウェアが、前記サーバに存在するか否かを確認するための確認要求を、前記通信部によって前記サーバに送信し、前記制御部は、前記確認要求部が前記サーバに確認要求をした結果、前記ダウンロードしたソフトウェアが前記サーバに存在しないことを確認した場合には、前記インストール実行部によって、前記ダウンロードされたソフトウェアのインストールを実行させないことを特徴とする情報処理装置を提供するものである。
【発明の効果】
【００１１】
この発明によれば、ダウンロードされたソフトウェアのインストールを開始する前に、そのダウンロードされたソフトウェアがサーバに存在しないことを確認した場合に、そのダウンロードされたソフトウェアのインストールを実行させないので、ダウンロードした後に、サーバから配信されなくなったソフトウェアについてインストールされてしまうことを防止し、不具合が発生する可能性を未然に防止することができる。
【図面の簡単な説明】
【００１２】
【図１】この発明のソフトウェア配信システムの一実施例の構成説明図である。
【図２】この発明の情報処理装置の一実施例の構成ブロック図である。
【図３】この発明のサーバの一実施例の構成ブロック図である。
【図４】この発明において、送受信される情報の一実施例の説明図である。
【図５】この発明の実施例１における配信処理のシーケンス図である。
【図６】この発明の実施例２における配信処理のシーケンス図である。
【図７】この発明の実施例３における配信処理のシーケンス図である。
【発明を実施するための形態】
【００１３】
また、この発明は、以下のような情報処理装置、ソフトウェア配信システムおよびソフトウェア配信方法を提供することを特徴とする。
この発明の情報処理装置において、前記確認要求部が、前記ダウンロードしたソフトウェアが前記サーバに存在することを確認した場合、前記制御部は、前記インストール実行部によって、前記ダウンロードされたソフトウェアのインストールを実行させることを特徴とする。
また、前記ダウンロードされたソフトウェアを記憶する記憶部を備え、前記確認要求部が前記サーバに確認要求をした結果、前記ダウンロードしたソフトウェアがサーバに存在しないことを確認した場合には、前記制御部は、前記記憶部に記憶されたソフトウェアを消去することを特徴とする。
【００１４】
また、入力部をさらに備え、前記入力部によって、前記ダウンロードされたソフトウェアのインストールを実行する指示入力がされた場合に、前記確認要求部が、前記サーバに対して、前記ダウンロードされたソフトウェアが存在するか否かを確認要求することを特徴とする。
また、前記ダウンロード実行部が、ソフトウェアを前記サーバからダウンロードした後、所定の時刻が到来した時、あるいは所定の時間が経過した後に、前記確認要求部が、前記サーバに対して、前記ダウンロードされたソフトウェアが存在するか否かを確認することを要求することを特徴とする。
また、前記制御部が、前記ダウンロードされたソフトウェアをインストールする時期がきたときに、前記ダウンロードされたソフトウェアと同一のソフトウェアを再度ダウンロードすることを、サーバに要求した後、前記同一のソフトウェアが受信されない場合に、前記インストール実行部によって前記ダウンロードされたソフトウェアのインストールを実行させないことを特徴とする。
【００１５】
また、この発明は、サーバと情報処理装置とがネットワークを介して接続され、前記サーバに記憶されたソフトウェアを前記情報処理装置に配信するソフトウェア配信システムを提供するものである。ここで、情報処理装置は、前記サーバに記憶されたソフトウェアをサーバからダウンロードするダウンロード実行部と、前記ダウンロードされたソフトウェアを利用可能な状態にするインストールを実行するインストール実行部と、前記サーバに前記ダウンロードされたソフトウェアが存在するか否かを確認するための確認要求を送信する確認要求部と、制御部とを備える。サーバは、ソフトウェアを記憶する記憶部と、前記情報処理装置から要求されたソフトウェアを要求してきた情報処理装置に送信するソフトウェア送信部と、前記情報処理装置から前記ダウンロードされたソフトウェアの確認要求を受信する確認要求受信部と、前記確認要求を受信した場合に、前記ダウンロードされたソフトウェアが現在サーバに存在するか否かを確認し、その確認結果を示す確認応答情報を、前記確認要求を送信してきた情報処理装置に返信する確認応答部とを備える。このソフトウェア配信システムは、前記ダウンロードされたソフトウェアのインストールを開始する前に、前記確認要求部が、前記ダウンロードされたソフトウェアの確認要求をサーバに送信し、前記確認要求を受信したサーバの確認応答部は、前記ダウンロードされたソフトウェアが、サーバに現在記憶されているか否かを確認し、サーバに記憶されていない場合には、サーバに存在しないことを示す確認応答情報を、確認要求を送信してきた情報処理装置に返信し、前記制御部が、前記ダウンロードされたソフトウェアがサーバに存在しないことを示す確認応答情報を受信した場合に、前記インストール実行部によって、前記ダウンロードされたソフトウェアのインストールを実行させないことを特徴とする。
【００１６】
さらに、この発明は、サーバと情報処理装置とが、ネットワークを介して接続され、  前記サーバに記憶されたソフトウェアを前記情報処理装置に配信するソフトウェア配信方法であって、前記情報処理装置が前記サーバに対して、サーバに記憶された所望のソフトウェアをダウンロードすることを要求するステップと、前記サーバが前記要求されたソフトウェアを、要求してきた情報処理装置に送信するステップと、前記情報処理装置が、サーバから送信されたソフトウェアをダウンロードするステップと、前記情報処理装置が、すでにダウンロードされたソフトウェアのインストールを開始する前に、前記ダウンロードされたソフトウェアがサーバに存在するか否かを確認するための確認要求をサーバに送信するステップと、前記サーバが、前記確認要求を受信した場合、確認要求されたソフトウェアがサーバに現在記憶されているか否かを確認するステップと、前記確認ステップによって、確認要求されたソフトウェアがサーバに現在記憶されていないことが確認された場合に、サーバが、サーバに存在しないことを示す確認応答情報を、確認要求を送信してきた情報処理装置に返信するステップと、前記情報処理装置が、前記ダウンロードされたソフトウェアがサーバに存在しないことを示す確認応答情報を受信した場合に、前記ダウンロードされたソフトウェアのインストールを実行しないステップとを有することを特徴とするソフトウェア配信方法を提供するものである。
【００１７】
ここで、前記情報処理装置が、前記ダウンロードしたソフトウェアが前記サーバに存在することを示す確認応答を受信した場合、前記ダウンロードされたソフトウェアのインストールを実行するステップを有することを特徴とする。
また、前記情報処理装置が、前記ダウンロードしたソフトウェアがサーバに存在しないことを示す確認応答情報を受信した場合に、前記ダウンロードしたソフトウェアを消去するステップを有することを特徴とする。
また、前記情報処理装置が、前記ダウンロードされたソフトウェアのインストールを実行する指示入力がされた後に、前記確認要求をサーバに送信するステップを実行することを特徴とする。
また、前記情報処理装置が、ソフトウェアを前記サーバからダウンロードした後、所定の時刻が到来した時、あるいは所定の時間が経過した後に、前記確認要求をサーバに送信するステップを実行することを特徴とする。
前記情報処理装置が、前記ダウンロードされたソフトウェアをインストールする時期がきたときに、前記ダウンロードされたソフトウェアと同一のソフトウェアを再度ダウンロードすることを、前記サーバに要求した後、前記同一のソフトウェアが受信されない場合に、前記ダウンロードされたソフトウェアのインストールを実行させないことを特徴とする。
【００１８】
また、この発明は、ネットワークを介して、ソフトウェアを記憶したサーバに接続し、情報の送受信を行う通信機能と、前記サーバに記憶されたソフトウェアを、前記通信機能によってサーバからダウンロードするダウンロード実行機能と、前記ダウンロードされたソフトウェアを、利用可能な状態にするインストールを実行するインストール実行機能と、前記ダウンロードされたソフトウェアのインストールを開始する前に、前記サーバに、前記ダウンロードされたソフトウェアが存在するか否かを確認することを要求する確認要求機能と、前記確認要求機能によって前記サーバに確認要求をした結果、前記ダウンロードしたソフトウェアが前記サーバに存在しないことを確認した場合には、前記インストール実行機能によって、前記ダウンロードされたソフトウェアのインストールを実行させないようにする制御機能とを、コンピュータに実現させるためのプログラムを提供するものである。
【００１９】
また、コンピュータに、ネットワークを介して接続された情報処理装置からサーバに対して、前記サーバに記憶された所望のソフトウェアをダウンロードすることを要求するステップと、前記サーバが前記要求されたソフトウェアを、要求してきた情報処理装置に送信するステップと、前記情報処理装置が、サーバから送信されたソフトウェアをダウンロードするステップと、前記情報処理装置が、すでにダウンロードされたソフトウェアのインストールを開始する前に、前記ダウンロードされたソフトウェアがサーバに存在するか否かを確認するための確認要求を、サーバに送信するステップと、前記サーバが、前記確認要求を受信した場合、確認要求されたソフトウェアがサーバに現在記憶されているか否かを確認するステップと、前記確認ステップによって、確認要求されたソフトウェアがサーバに現在記憶されていないことが確認された場合に、サーバが、サーバに存在しないことを示す確認応答情報を、確認要求を送信してきた情報処理装置に返信するステップと、前記情報処理装置が、前記ダウンロードされたソフトウェアがサーバに存在しないことを示す確認応答情報を受信した場合に、前記ダウンロードされたソフトウェアのインストールを実行しないステップとを実行させるためのプログラムを提供するものである。
【００２０】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。なお、これによって、この発明が限定されるものではない。
＜この発明のソフトウェア配信システムの構成＞
図１に、この発明のソフトウェア配信システムの一実施例の構成説明図を示す。
図１において、ソフトウェア配信システムは、サーバに記憶されたソフトウェアを情報処理装置に配信するシステムであり、主として、１つまたは複数個のサーバ１１からなるファイルサーバ群１０と、複数のパソコン２１や携帯端末２２からなる情報処理装置群２０とから構成され、各サーバ１１と、各パソコン等は、ネットワーク３０を介して接続される。
【００２１】
サーバ（ＳＶ１、…ＳＶｎ）１１は、種々のプログラムや、データファイル等からなるデジタルコンテンツを記憶している装置であり、主として、情報処理装置群２０に属するパソコン等からのダウンロード要求に応じて、要求されたプログラムを、その要求をしてきたパソコンに送信する。
サーバ（ＳＶ）１１は、１つでもよいが、ネットワーク３０に接続された複数個のサーバを利用できるようにしてもよい。
たとえば、複数のサーバによって、ＣＤＮ（Contents Delivery Network）を構成して
もよい。
ＣＤＮに属するサーバに記憶されたソフトウェアをパソコンに配信する場合、同一ソフトウェアを記憶している別のサーバからダウンロードすることが可能となり、大容量のソフトウェア等を、スムーズに配信することができる。
この発明では、サーバ１１に記憶されている種々のコンテンツのうち、ユーザの所有する情報処理装置にインストールされて実行されるソフトウェアを配信する場合について説明する。
【００２２】
情報処理装置群２０は、ソフトウェアをダウンロードすることを許可されたユーザの所有する情報処理装置（ＴＥ）からなるものであり、ダウンロードされたソフトウェアは、所定のインストール動作をすることにより実行可能な状態となる。
情報処理装置群２０に属する情報処理装置としては、たとえば、パソコン２１、携帯端末２２、車載端末などがある。また、家電機器、産業用機器、自動車などを制御するためのマイクロコンピュータも情報処理装置群２０に属する情報処理装置に含めることができる。携帯端末２２とは、携帯電話、スマートフォン、タブレット端末などユーザが携帯することが可能な小型軽量の端末を意味する。
【００２３】
このようなソフトウェア配信システムにおいて、たとえば、パソコンＴＥ１のユーザが、サーバＳＶ１に記憶されているソフトウェアＳＦを利用したいと考えたとき、パソコンＴＥ１から、サーバＳＶ１に対して、ソフトウェアＳＦのダウンロード要求を送信する。ただし、複数のサーバがＣＤＮを構成している場合は、ダウンロード要求を受信するサーバと、実際にソフトウェアＳＦの配信を行うサーバとが異なる場合がある。
ダウンロード要求を受信したサーバＳＶ１では、パソコンＴＥ１のユーザがダウンロードすることを許可された者であると判断した場合に、要求されたソフトウェアＳＦをパソコンＴＥ１へ送信する。
【００２４】
その後、パソコンＴＥ１では、サーバＳＶ１から送信されてきたソフトウェアＳＦを受信して、記憶する。
受信したソフトウェアＳＦを利用可能な状態とするためには、たとえば、ユーザが、インストール指示入力を行う必要がある。
この発明では、ユーザがインストール指示入力をした場合、直ちに、そのソフトウェアＳＦのインストール動作を実行するのではなく、まず、サーバＳＶ１に対して、ソフトウェアＳＦがサーバＳＶ１の中に存在することを確認するための確認要求を送信することを特徴とする。
この確認要求に対して、たとえば、サーバＳＶ１から、ソフトウェアＳＦが存在するという応答が返信された場合には、すでに受信していたソフトウェアＳＦのインストール動作を実行する。
一方、ソフトウェアＳＦがサーバＳＶ１には存在しないという応答が返信された場合は、そのソフトウェアＳＦのインストールは行わず、受信していたソフトウェアＳＦを消去する。
【００２５】
＜情報処理装置ＴＥの構成＞
図２に、この発明の情報処理装置の一実施例の構成ブロック図を示す。
図２において、情報処理装置２０（以下、単に、端末またはＴＥとも呼ぶ）は、主として、制御部３１、表示部３２、入力部３３、通信部３４、ダウンロード実行部３５、インストール実行部３６、更新問合要求部３７、ダウンロード要求部３８、確認要求部３９、記憶部４１を備える。
制御部３１は、この発明の端末ＴＥ２０の各種機能を実行する部分である。
主として、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏコントローラ、タイマー等からなるマイクロコンピュータにより実現され、ＣＰＵがＲＯＭ等に記憶されたプログラムに基づいて、各種ハードウェアを有機的に動作させることにより、通信機能、入力機能、表示機能、インストール機能などを実現させる。
【００２６】
表示部３２は、端末ＴＥ２０の各種機能を実行するために必要な情報を表示する部分であり、たとえば、ＬＣＤ、ＣＲＴ、ＰＤＰ、有機ＥＬディスプレイなどが用いられる。
入力部３３は、ＴＥ２０の所有者（ユーザ）が、データ入力や、所望の機能の選択入力を行う部分であり、たとえば、タッチパネル、キーボード、マウス等が用いられる。
通信部３４は、ネットワーク３０を介して、他の装置、特に、ソフトウェアを記憶したサーバＳＶ１１に接続し、データやソフトウェアなどの情報の送受信を行う部分である。
ネットワーク３０は、既存のネットワークのいずれかを用いればよく、特に限定するものではない。
たとえば、一般的なスマートフォンの場合、携帯電話キャリアの通信網を経由したインターネット接続、ＷＬＡＮを経由したインターネット接続等の方法をとることができ、また、必要に応じて複数の通信方式や接続方法を自動的に切り替えるような実装をしてもよい。
ネットワークの通信方式は、無線通信でも、有線通信のどちらでもよく、通信媒体も任意のものを用いることができ、限定するものではない。
【００２７】
ダウンロード実行部３５は、データファイルやプログラムファイルなどを、サーバＳＶ１１から取得（ダウンロード）する部分である。
ファイル等のダウンロードは、ＴＥ２０からのダウンロード要求をサーバＳＶに送信した後に、サーバＳＶから送信される形態であってもよく、あるいは、サーバＳＶから事前にダウンロードすることが許可されたＴＥ２０に対して、必要に応じてファイルが有る旨をプッシュする形態であってもよい。ダウンロードすることによって取得されたプログラムファイル等は、記憶部４１に、記憶される。
【００２８】
インストール実行部３６は、取得されたソフトウェア（プログラムファイル）を、ＴＥ２０で利用可能な状態にする部分である。
取得されたソフトウェアをインストールする形態は種々の形態があり、ダウンロード直後に自動的にインストールが実行されるものや、記憶部４１に一時記憶された後、所定の時刻が到来した時にインストールが実行されるもの、あるいはユーザの明示的なインストール要求入力があってはじめてインストールが実行されるものなどがある。
以下の実施例では、主として、ユーザからのインストール要求入力があった後、所定の確認処理が成功した場合に、インストールが実行されるものとする。
【００２９】
更新問合要求部３７は、端末ＴＥからサーバＳＶに対して、所望のソフトウェアの更新の有無を問い合わせる要求情報（更新問合要求ＫＲＥＱ）を送信する部分である。
この問合せ要求は、入力部３３を用いて、ユーザが更新の問合せ要求を意図する入力操作を行ったときに行ってもよく、あるいは、予め設定された日時や、数時間毎、数日毎など定期的な間隔で、自動的に行ってもよい。
【００３０】
ダウンロード要求部３８は、端末ＴＥからサーバＳＶに対して、所望のソフトウェアのダウンロードを要求する情報（ダウンロード要求ＤＲＥＱ）を、送信する部分である。
ここで要求するソフトウェアは、ＴＥですでにインストールされて利用されているソフトウェアであってもよく、新たに初めてダウンロードされるソフトウェアであってもよい。
ダウンロード要求の送信は、入力部３３によって、ユーザがダウンロードを要求するための意図的な入力操作を行ったときに行ってもよいが、あるいは、サーバ等からの通知に基づいて新しい更新バージョンがあることがわかったときに、自動的にダウンロード要求を送信してもよい。
【００３１】
確認要求部３９は、サーバＳＶに、ダウンロードされたソフトウェアが存在するか否かを確認することを要求する部分である。具体的には、端末ＴＥからサーバＳＶに対して、所望のソフトウェアがそのサーバＳＶに存在することを確認するための情報（確認要求ＶＲＥＱ）を、送信する部分である。この確認要求は、ダウンロードされたソフトウェアのインストールを開始する前に行う。
以下の実施例では、ダウンロードは完了したがインストールが未実施であるソフトウェアについて、主として、ユーザがインストール要求を意味する入力操作をした場合に、ＴＥ側でインストール動作を実行する前に、確認要求ＶＲＥＱが、サーバＳＶに送信される。
したがって、確認要求は、サーバＳＶから取得されて記憶部４１に記憶されているソフトウェアであって、実行可能な状態とするためのインストール動作がまだ実施されていないソフトウェアについて、行われる。
確認要求ＶＲＥＱをサーバに送信するタイミングとしては、上記のように、ユーザが明示的なインストール要求の入力操作をした場合のほかに、ダウンロードを完了した直後、予め設定された時間が経過した後、あるいは、ユーザ等によって予め設定された時刻が到来した時などであってもよい。
【００３２】
記憶部４１は、この発明のＴＥが各種機能を実行するために必要な情報（データ、プログラム）を記憶する部分であり、ＲＯＭ（リードオンリーメモリ）、ＲＡＭ（ランダムアクセスメモリ）、内蔵あるいは外付けのストレージデバイス（具体的には、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ（ソリッドステートドライブ）、フラッシュメモリなど）などで構成される。ＲＯＭには例えば端末ＴＥに固有の情報など、書き換える事のできないプログラムやデータ等が記憶され、ＲＡＭはＣＰＵがプログラムやデータを一時的に展開し処理する為に用いられる。ストレージデバイスは、主に端末にインストールされている一般的なプログラムや、ユーザが作成したりダウンロードしたりしたデータを格納するために使用される。
この発明では、たとえば、端末ＴＥを区別するための端末識別情報４２や、サーバＳＶから取得されたソフトウェア５１が、記憶される。
ソフトウェア５１は、ＴＥの動作を制御するオペレーティングシステムのシステムソフトウェアや、所定の機能を実行させるためのアプリケーションプログラムなどを意味する。
ソフトウェアは、所定の機能を実行させるために、１または複数個のモジュールプログラムから構成されるが、１つのソフトウェア５１は、図２に示すように、少なくともそのソフトウェアを特定するために、ソフト名５２、バージョン５３、ファイル５４、サーバ識別情報５５が記憶される。
【００３３】
ソフト名５２は、ソフトウェアを識別するための名称である。
バージョン５３は、ソフトウェアが開発された後何度も改良されている場合に、どの改良版であるかを区別するための情報である。
このバージョン５３を確認することによって、現在インストールされているソフトウェアが最新版であるか、あるいは新たな改良版をダウンロードすべきかなどが判断できる。
ファイル５４は、ソフトウェアの実体（プログラム）を意味する情報であり、一般的には、サーバからダウンロードされた形式のプログラムそのものをいう。
インストール動作をすることによって、このファイル５４は、解凍、復号化などが行われ、実行可能な形式に変換される。
サーバ識別情報５５は、ダウンロードされたソフトウェアが記憶されていたサーバを特定するための情報である。この情報５５によって、ソフトウェアがどのサーバからダウンロードされたかがわかる。
記憶部４１に記憶される情報は、上記ソフトウェア５１に限るものではなく、この他にも、インストールを実行したか否か（インストール動作の有無）を示す情報や、現在のソフトウェアバージョン、ダウンロードやインストールを完了した時刻情報などを記憶してもよい。
【００３４】
＜サーバＳＶの構成＞
図３に、この発明のサーバの一実施例の構成ブロック図を示す。
図３において、サーバＳＶ１１は、主として、制御部７１、通信部７２、問合応答部７３、ソフトウェア検索部７４、ソフトウェア送信部７５、確認応答部７６、更新問合要求受信部７７、ダウンロード要求受信部７８、確認要求受信部７９、記憶部８１を備える。
制御部７１は、サーバＳＶ１１の各種機能を実行する部分であり、主として、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏコントローラ、タイマー等からなるマイクロコンピュータにより、実現される。
【００３５】
通信部７２は、ネットワーク３０を介して、上記した情報処理装置ＴＥ２０と、データやソフトウェアなどの情報の送受信を行う部分である。
問合応答部７３は、ＴＥからＳＶに送信された更新問合要求ＫＲＥＱに対して、その応答情報を送信する部分である。更新問合要求ＫＲＥＱを受信すると、サーバＳＶは、問合要求のあったソフトウェアについて、更新の有無をチェックし、応答情報として、後述するような更新有無情報を、問合せ要求をしてきたＴＥに対して、送信する。
【００３６】
ソフトウェア検索部７４は、ＴＥからダウンロード要求のあったソフトウェアを、記憶部８１の中から探し出す部分である。
後述するように、ＴＥから送信されたダウンロード要求に含まれるソフト名とバージョン情報とを利用して、記憶部８１の中に格納された多数のソフトウェアの中から、要求されたソフトウェアを抽出する。
ソフトウェア送信部７５は、ＴＥから要求されソフトウェア検索部７４によって抽出されたソフトウェアを、ダウンロード要求をしてきたＴＥに対して、送信する部分である。
【００３７】
確認応答部７６は、ＴＥから送信された確認要求ＶＲＥＱを受信した場合に、ダウンロードされたソフトウェアが、サーバＳＶの中に、現在存在しているか否かを確認し、その確認結果を示す確認応答情報を、ＴＥに返信する部分である。
確認要求ＶＲＥＱを受信すると、サーバＳＶは、確認要求されたソフトウェアと同一のソフト名およびバージョン情報を持つものが現在記憶部８１に記憶されているか否かを確認し、後述するような確認応答情報を、確認要求を送信してきたＴＥに返信する。確認応答情報は、そのソフトウェアがサーバの中に現在存在しているか否かを示す情報である。
たとえば、確認要求されたソフトウェアがサーバに記憶されていない場合は、サーバに存在しないことを示す確認応答情報を、ＴＥに返信する。
【００３８】
更新問合要求受信部７７は、ＴＥから送信された更新問合要求ＫＲＥＱを受信する部分である。後述するように、受信された更新問合要求ＫＲＥＱから、たとえば、端末識別情報と、ソフト名と、バージョンとが、取得される。
ダウンロード要求受信部７８は、ＴＥから送信されたダウンロード要求ＤＲＥＱを受信する部分である。後述するように、受信されたダウンロード要求ＤＲＥＱから、端末識別情報と、ソフト名と、バージョンとが、取得される。
確認要求受信部７９は、ＴＥから、ダウンロードされたソフトウェアの確認要求ＶＲＥＱを受信する部分である。
後述するように、受信された確認要求ＶＲＥＱから、端末識別情報と、ソフト名と、バージョンとが取得される。
【００３９】
記憶部８１は、サーバＳＶの各種機能を実行するために必要な情報を記憶する部分であり、たとえば、サーバＳＶを区別するためのサーバ識別情報８２や、ＴＥに配信すべきソフトウェア９１が記憶される。
記憶されるソフトウェア９１は、種々の形態で記憶されるが、１つのソフトウェアには、たとえば、ソフト名９２、バージョン９３、ファイル９４、配信端末情報９５、保存先情報９６などが記憶される。
ここで、ファイル９４は、ソフト名９２とバージョン９３によって識別されるソフトウェア９１の実体であり、配信端末情報９５は、そのソフトウェア９１が実際に配信された情報処理装置ＴＥを示す情報である。保存先情報９６は、ソフトウェアの所在を示す情報であり、たとえば、ＵＲＬなどが用いられる。
記憶部８１に記憶される情報は、上記ソフトウェア９１に限定されるものではなく、この他に、インストールを実行したか否か（インストール動作の有無）を示す情報や、現在のソフトウェアバージョン、ダウンロードやインストールを完了した時刻情報などの情報が記憶される。
【００４０】
＜端末ＴＥとサーバＳＶ間で送受信される情報＞
図４に、端末ＴＥとサーバＳＶとの間で、送受信される情報の一実施例の説明図を示す。
ここでは、端末ＴＥからサーバＳＶへ送信される情報として、更新問合要求ＫＲＥＱ、ダウンロード要求ＤＲＥＱ、確認要求ＶＲＥＱを示す。
また、サーバＳＶから端末ＴＥへ送信される情報として、更新有無情報、更新ソフトウェア、確認応答情報を示す。
図４に示す各情報の内容は、一つの例であって、これに限るものではない。
【００４１】
（１）更新問合要求ＫＲＥＱ
更新問合要求ＫＲＥＱは、ＴＥからＳＶへ送信される情報であり、所望のソフトウェアについて、新しい更新バージョンが存在するか否かを確認することを、サーバＳＶに対して要求する情報である。図４に示すように、たとえば、更新問合要求は、要求名＝ＫＲＥＱ、サーバ識別情報＝ＳＶ０１、端末識別情報＝ＴＥ００１、ソフト名＝ＰＲＯＧ０１、バージョン＝ＶＥＲ−１０から構成される。
【００４２】
（２）更新有無情報
更新有無情報は、ＳＶからＴＥへ送信される情報であり、更新問合要求ＫＲＥＱに対する応答情報である。この情報によって、サーバの中に、新しい更新バージョンが有るかないかを、ＴＥへ通知する。
図４に示すように、たとえば、新しい更新バージョン（ＶＥＲ−２０）がサーバにあることを通知する場合は、応答名＝ＫＲＥＱ−ＡＮＳ、端末識別情報＝ＴＥ００１、ソフト名＝ＰＲＯＧ０１、最新のバージョン＝ＶＥＲ−２０、更新ファイルの存在有無＝有り、サーバ識別情報＝ＳＶ０１、保存先情報＝ＵＲＬという情報が、ＴＥに対して送信される。
一方、更新バージョン（ＶＥＲ−１０）がサーバにないことを通知する場合は、応答名＝ＫＲＥＱ−ＡＮＳ、端末識別情報＝ＴＥ００１、ソフト名＝ＰＲＯＧ０１、最新のバージョン＝ＶＥＲ−１０、更新ファイルの存在有無＝無し、サーバ識別情報＝ＳＶ０１という情報が、ＴＥに対して送信される。
【００４３】
（３）ダウンロード要求ＤＲＥＱ
ダウンロード要求ＤＲＥＱは、ＴＥからＳＶへ送信される情報であり、所定のバージョンのソフトウェアをダウンロードすることを、サーバに要求するための情報である。
図４に示すように、たとえば、「ＴＥ００１」の端末が、バージョンが「ＶＥＲ−２０」のソフトウェア「ＰＲＯＧ０１」のダウンロードを要求する場合は、要求名＝ＤＲＥＱ、端末識別情報＝ＴＥ００１、ソフト名＝ＰＲＯＧ０１、バージョン＝ＶＥＲ−２０、サーバ識別情報＝ＳＶ０１、保存先情報＝ＵＲＬから構成されるダウンロード要求ＤＲＥＱを、送信する。
【００４４】
（４）更新ソフトウェア
更新ソフトウェアは、ＳＶからＴＥへ送信される情報であり、ダウンロード要求ＤＲＥＱに対して、要求のあったソフトウェアそのものを、ＴＥへ送るものである。ただし、送信データ量や転送時間の削減のため、現在ＴＥに搭載されているソフトウェアと、最新バージョンのソフトウェアとの差分ファイルをＴＥへ送信してもよい。
図４に示すように、更新ソフトウェアには、たとえば、送信先を示す端末識別情報（ＴＥ００１）、送信されるソフトウェアを示すソフト名（ＰＲＯＧ０１）、そのソフトウェアのバージョン（ＶＥＲ−２０）、そのソフトウェアの実体を示すファイル（ＦＬ−ｓｏｆｔ）、送信元のサーバを特定するサーバ識別情報＝ＳＶ０１とが含まれる。
【００４５】
（５）確認要求ＶＲＥＱ
確認要求ＶＲＥＱは、ＴＥからＳＶへ送信される情報であり、所望のソフトウェアをインストールしようとする前に、その同一バージョンのソフトウェアが、サーバＳＶに現在存在しているか否かを確認するための情報である。
図４に示すように、たとえば、「ＴＥ００１」の端末ＴＥが、ソフト名＝「ＰＲＯＧ０１」のバージョン＝「ＶＥＲ−２０」が存在するか否かを、サーバに確認する場合は、要求名＝ＶＲＥＱ、サーバ識別情報＝ＳＶ０１、端末識別情報＝ＴＥ００１、ソフト名＝ＰＲＯＧ０１、バージョン＝ＶＥＲ−２０を含む確認要求ＶＲＥＱを、ＳＶに送信する。
【００４６】
（６）確認応答情報
確認応答情報は、ＳＶからＴＥへ送信される情報であり、確認要求ＶＲＥＱに対する応答情報である。
サーバが確認要求ＶＲＥＱを受信すると、対象となるソフトウェアがサーバに存在するか否かを確認した後、確認要求されたソフトウェアが存在する場合は、存在することを示す情報がＴＥに送信され、存在しない場合は、存在しないことを示す情報がＴＥに送信される。
図４に示すように、たとえば、「ＴＥ００１」の端末ＴＥから、ソフト名＝ＰＲＯＧ０１のバージョン「ＶＥＲ−２０」が、サーバに存在するか否かの確認を要求された場合において、サーバに存在することを確認した場合は、応答名＝ＶＲＥＱ−ＡＮＳ、存在有無＝「有り」の確認応答情報が送信される。
一方、サーバに存在しないことを確認した場合は、応答名＝「ＶＲＥＱ−ＡＮＳ」、存在有無＝「無し」の確認応答情報が送信される。
【００４７】
後述するように、端末ＴＥにおいて、存在有無＝「有り」の確認応答情報を受信した場合は、サーバに、確認要求したバージョンのソフトウェアがまだ存在しているので、そのバージョンには不具合などはないと考えて、インストール動作を実行する。
一方、存在有無＝「無し」の確認応答情報を受信した場合は、サーバに、確認要求したバージョンのソフトウェアは存在しないので、インストール動作はせずに、そのソフトウェアそのものを消去する。
【００４８】
＜端末ＴＥとサーバＳＶとの間で行われるソフトウェア配信処理＞
図５、図６および図７に、端末ＴＥとサーバＳＶとの間で行われるソフトウェア配信処理の一実施例のシーケンス図を示す。
ここでは、端末ＴＥにすでに配信されたソフトウェアが記憶されかつインストールも実行されて、実際に利用されているソフトウェアについて、サーバに更新の有無を問合せ、新しいバージョンの更新がある場合に、その更新ファイルをダウンロードし、存在確認をした後にインストールする場合について説明する。
【００４９】
（配信処理の実施例１）
図５に、実施例１の配信処理のシーケンス図を示す。
ステップＴ１において、ＴＥのユーザが、入力部３３を用いて、所望のソフトウェアの更新の有無を確認するための問合要求を意味する入力操作をしたとする。
このとき、更新問合要求部３７が、通信部３４を介して、図４に示すような更新問合要求ＫＲＥＱを、サーバＳＶに送信する。
【００５０】
ステップＳ１において、サーバＳＶの更新問合要求受信部７７が、ＴＥから送信されたＫＲＥＱを受信する。
受信したＫＲＥＱから、ソフト名とバージョンとを取得して、そのソフトウェアについての更新ファイルが記憶部８１の中に存在するか否かを、チェックする。
その端末ＴＥに適用可能な新しい更新ファイルが存在する場合は、問合応答部７３が、図４に示すように、バージョンに新しいバージョンを書き込み、保存先情報に記憶場所を示すＵＲＬを設定し、更新有無を「有り」とした更新有無情報を、ＫＲＥＱを送信してきたＴＥに、送信する。
一方、その端末ＴＥに適用可能な新しい更新ファイルがなく、ＫＲＥＱに含まれたバージョンが現在最新バージョンであった場合は、更新有無を「無し」とした更新有無情報を、送信する。
【００５１】
ステップＴ２において、端末ＴＥは、更新有無情報を受信する。
受信した更新有無情報が「更新無し」の場合は、問合結果として、更新がないことを示すメッセージを、表示部３２に表示する。
受信した更新有無情報が「更新有り」の場合は、問合結果として、更新があることと、更新ソフトウェアに関する情報（バージョン、保存先情報など）とを、表示部３２に表示する。さらに、音声でユーザに通知してもよい。
これにより、ユーザは、現在利用しているソフトウェアについて、より新しいバージョンのソフトウェアが存在することを知ることができる。
【００５２】
ステップＴ３において、ユーザが、ダウンロード要求を意味する入力操作をした場合、ダウンロード要求部３８が、ダウンロード要求ＤＲＥＱをサーバＳＶに送信する。
ステップＳ２において、サーバのダウンロード要求受信部７８が、ダウンロード要求ＤＲＥＱを受信する。
ソフトウェア検索部７４が、受信したＤＲＥＱから、ソフト名、バージョン、保存先情報を取得し、保存先情報によって特定される場所に記憶されている更新ソフトウェアのファイルを読み出す。そして、ソフトウェア送信部７５が、読み出された更新ソフトウェアを、ＤＲＥＱを送信してきたＴＥに、送信する。
【００５３】
ステップＴ４において、ＴＥのダウンロード実行部３５が、更新ソフトウェアを受信し、送信されてきたファイルＦＬを、ソフト名、バージョンとともに、記憶部４１に記憶する。
更新ソフトウェアのファイルＦＬを正常に受信した場合は、ダウンロードが完了したことを、表示部３２に表示する。
さらに、ユーザにインストールの指示入力を求めるために、ダウンロードした更新ソフトウェアのインストールが可能であることを表示してもよい。
ステップＴ５において、入力部３３によって、ユーザがインストールの開始を意味する指示入力操作をした場合、確認要求部３９が、確認要求ＶＲＥＱを、サーバＳＶに送信する。ここでＶＲＥＱには、少なくともインストールしようとしているソフトウェアを特定できる情報（例えばソフト名、バージョン等）が含まれる。
【００５４】
ステップＳ３において、サーバＳＶの確認要求受信部７９が、確認要求ＶＲＥＱを受信すると、ＶＲＥＱに含まれるインストールしようとしているソフトウェアを特定できる情報を取得して、ソフト名とバージョンで特定されるソフトウェアが、現在記憶部８１の中に存在しているか否かをチェックする。
そのソフトウェアが、現在存在している場合は、確認応答部７６が、存在有無を「有り」とした確認応答情報を、ＴＥに送信する。
一方、確認要求されたバージョンのソフトウェアが存在しなかった場合は、存在有無を「無し」とした確認応答情報を、ＴＥに送信する。
【００５５】
ステップＴ６において、ＴＥが、確認応答情報を受信すると、存在有無の内容をチェックする。
存在有無が「有り」の場合は、確認要求したバージョンのソフトウェアがサーバに存在することが確認されたので、インストール実行部３６が、そのソフトウェアをインストールする処理を開始する。
一方、存在有無が「無し」の場合は、確認要求したバージョンのソフトウェアがサーバに存在していないことが確認されたので、制御部３１は、インストール実行部３６によって、ダウンロードされたソフトウェアのインストールを実行させないようにし、そのソフトウェアを、記憶部４１から消去する。
このように、サーバにすでに存在しなくなったソフトウェアを、ＴＥの記憶部４１から消去しているので、ユーザがインストールの指示入力をすることによって、開発者等が不具合を認識して配信を中止しているにも関わらず、そのソフトウェアがインストールされて実行可能な状態となってしまうことを防止でき、ＴＥに不具合が発生することを未然に防止できる。
【００５６】
以上が、実施例１の配信処理であるが、各ステップについて、次のような他の処理を行うようにしてもよい。
（ａ）まず、ステップＴ１において、更新問合要求ＫＲＥＱの送信は、ユーザの入力を待ってから行うのではなく、予め設定された時間が経過するごとに、自動的に行ってもよい。時間の設定としては、一定時間（例えば12時間毎、1日毎など）にしてもよいし、例
えば更新問合要求ＫＲＥＱを送信した時に、次回の問合せまでの時間を例えば12時間〜24時間の中でランダムに決める、といった実装にしてもよい。後者の実装は、特定の時間帯にサーバへの問合せが集中することを避けたい場合に有効である。この場合には、一般にユーザが見ていない所での確認になるので、受信した更新有無情報が「更新有り」だった場合にのみその旨を表示部３２に表示し、受信した更新有無情報が「更新無し」だった場合は、特に何もせずに、ステップＴ１へ戻り、次回の問合要求を待てばよい。
（ｂ）また、ステップＳ１において、ＴＥからＫＲＥＱを受信した場合に、更新ファイルの有無をチェックするのではなく、サーバにソフトウェアの新しいバージョンの更新ファイルが記憶されたときに、そのソフトウェアをダウンロードしたことのあるＴＥに対して、更新ファイルがあることを知らせる情報を自動的に送信してもよい。
この更新ファイルがあることを知らせる情報の送信は、既存のＳＭＳや電子メールを利用して、ＴＥのユーザに知らせてもよい。特にＳＭＳを利用する場合は、ユーザに通知すると共に、ＳＭＳの機能を利用して情報処理装置ＴＥ自体に対してダウンロード開始日時、更新開始日時の一方又は両方を設定してもよい。
【００５７】
（ｃ）ステップＴ３において、ユーザのダウンロード要求の入力操作があったときにダウンロード要求ＤＲＥＱを送信するのではなく、更新有無が「有り」という更新有無情報を受信した後、すぐにあるいは一定時間経過後に、自動的に、サーバにＤＲＥＱを送信してもよい。
あるいは、通信部３４によって、無線通信を行う場合、ダウンロード要求ＤＲＥＱを送信する前に、電波状況をチェックし、エラーなく良好に送受信が可能な場合や、所定の高速無線通信が利用できる場合に、サーバにＤＲＥＱを送信してもよい。
【００５８】
（ｄ）ステップＴ４において、ファイル容量の大きな更新ソフトウェアを受信している場合、途中で電波状況が悪化したことなどが原因で、ダウンロードが正常にできなくなる場合があるが、再度その更新ソフトウェアをダウンロードするときに、最初からダウンロードをやり直すのではなく、ダウンロードが成功し記憶部４１に記憶された部分のダウンロードは省略し、ファイルの未だダウンロード出来ていない部分のみを受信するようにしてもよい。
また、ダウンロードが正常に終了していない状態で、一定期間（たとえば、数日から数週間）が経過した場合は、一時的な通信障害のためにダウンロードに失敗したのではなく、サーバからソフトウェアが削除されダウンロードできない状態となっている場合もあり得るので、ダウンロードが終了した部分のファイルを消去し、ステップＴ１へ戻り、更新問合要求を送信するようにしてもよい。
また、更新ソフトウェアのファイル容量が大きい場合、サーバに、その更新ソフトウェアを複数のファイルに分割して保存している場合がある。このとき、ダウンロードの再開時に、分割された未受信のソフトウェアがまだサーバに残っていた場合は、残りの部分の分割ファイルを、ファイル単位でダウンロードするようにしてもよい。
【００５９】
（ｅ）ステップＴ５において、ユーザのインストール指示入力があった後に、確認要求ＶＲＥＱを送信するのではなく、ソフトウェアをサーバからダウンロードした後、所定の時刻が到来した時、たとえば、ユーザがＴＥを利用していない時刻（ＡＭ３時など）になった場合、あるいは、ダウンロードが完了してから所定の時間が経過した後に、自動的に、確認要求ＶＲＥＱを送信してもよい。
【００６０】
（配信処理の実施例２）
図６に、実施例２の配信処理のシーケンス図を示す。
図５と同じ処理をするステップには、図５と同じステップ番号を付与している。
図６において、サーバＳＶのステップＳ１からＳ３、端末ＴＥのステップＴ１からＴ５までの処理は、図５に示す実施例１と同様の処理を行う。
ここでは、実施例１と異なり、サーバＳＶは、ＴＥから送信された確認要求ＶＲＥＱに対して、確認要求されたソフトウェアが存在する場合は、そのソフトウェア情報を送信し、存在しない場合は、ソフトウェアが無いことを示す無し応答情報を送信する。
ステップＳ３において、ＶＲＥＱを受信した後、サーバＳＶでは、確認要求されたソフトウェアが存在するか否かを確認する。
ステップＳ４において、ソフトウェアが存在する場合は、サーバに記憶されているそのソフトウェアの現在のバージョンを含むソフトウェア情報をＴＥに送信する。
ソフトウェア情報は、ソフトウェアを識別するための情報からなり、ソフトウェアの実体であるファイルを含まない情報であり、たとえば少なくとも、ソフト名、バージョン、ファイルサイズ、そのソフトウェアを適用可能なＴＥを特定する情報（適用可能なＴＥの機種名、ＯＳ名、ＯＳバージョンなど）などの情報を含む。
【００６１】
ステップＴ１１において、このソフトウェア情報を受信した端末ＴＥにおいて、ソフトウェア情報に含まれるバージョンと、ステップＴ４でダウンロードが完了したソフトウェアのバージョンとが一致するか否かをチェックする。
両者のバージョンが一致する場合は、ダウンロードが完了した更新ソフトウェアを、インストールする。
一方、両者のバージョンが一致しない場合は、ダウンロードが完了していた更新ソフトウェアのファイルＦＬを消去する。
また、ステップＳ３の確認の結果、ソフトウェアが存在しない場合は、ステップＳ５において、確認要求されたソフトウェアが存在しないことを示す情報（無し応答情報）を、ＴＥに送信する。
ステップＴ１２において、ＴＥが無し応答情報を受信した場合、ダウンロードが完了していた更新ファイルＦＬを消去する。
この実施例２では、端末ＴＥ側で、インストールしようとするソフトウェアと同じバージョンのソフトウェアがサーバにあることを確認し、なかった場合には、そのソフトウェアを消去するので、開発者等が不具合を認識して配信を中止したソフトウェアを、ユーザがインストールしてしまうことを防止できる。
【００６２】
（配信処理の実施例３）
図７に、実施例３の配信処理のシーケンス図を示す。
図５と同じ処理をするステップには、図５と同じステップ番号を付与している。
図７では、サーバＳＶのステップＳ１、Ｓ２、端末ＴＥのステップＴ１からＴ４までの処理は、図５に示す実施例１と同様であるが、インストール指示入力があった後の処理（ステップＳ１１、ステップＴ２１、Ｔ２２、Ｔ２３）が異なる。
図７のステップＴ２１において、ユーザがインストール指示入力を行った場合、ステップＴ３と同様に、ダウンロード要求ＤＲＥＱを送信する。
このダウンロード要求ＤＲＥＱのデータ内容としては、ステップＴ３で送信したのと同一のものを再送する。
【００６３】
ステップＳ１１において、サーバがこのＤＲＥＱを受信すると、ステップＳ２と同様に、要求されたソフトウェアの検索と、読み出しが行われる。
もし、ステップＳ１１におけるソフトウェア検索で、ダウンロード要求された同一バージョンの更新ソフトウェアが存在する場合は、その更新ソフトウェアが再送される。
このとき、ステップＴ２２において、ＴＥでは、ステップＴ４で受信したのと同じ更新ソフトウェアが受信されることになる。
そこで、受信開始時において、受信しようとする更新ソフトウェアが、以前受信したものと同一バージョンのソフトウェアであるか否かをチェックする。
同一バージョンのソフトウェアが再度受信されようとしている場合は、その受信を中断する。
同一バージョンのソフトウェアが再度受信できているということは、ステップＴ４においてダウンロードしたソフトウェアが、現在もなおサーバに存在するということを示しているので、インストールしても問題はないと考えられる。
したがって、すでにダウンロードは済んでいるので再度の受信は中断し、ダウンロードしていたソフトウェアのインストールを開始する。
【００６４】
一方、ステップＳ１１におけるソフトウェア検索で、ダウンロード要求された更新ソフトウェアと同一バージョンのソフトウェアが存在しなかった場合は、その更新ソフトウェアがないことを示す情報（無し応答情報）を、ＴＥへ送信する。
ステップＴ２３において、ＴＥが無し応答情報を受信した場合、ステップＴ４においてダウンロードしていたソフトウェアのファイルＦＬを消去する。
また、ＴＥにおいて、ステップＴ２１でＤＲＥＱを送信して一定時間経過した後、何も応答が返信されなかった場合は、ＤＲＥＱを何回か再送した後、ダウンロードすべきソフトウェアはサーバにないと判断し、ステップＴ４でダウンロードが完了していたソフトウェアのファイルＦＬを消去する。
以上のように、確認要求ＶＲＥＱを送信する代わりに、ダウンロード要求ＤＲＥＱを再送することにより、インストール処理をすべきか否かを判断することができ、再度のダウンロードが開始できなかった場合には、更新ソフトウェアのファイルを消去することによって、開発者等が不具合を認識して配信を中止したソフトウェアを、ユーザがインストールしてしまうことを防止できる。
【００６５】
（配信処理の実施例４）
上記した３つの実施例では、ＴＥからダウンロード要求ＤＲＥＱを送信した場合、ステップＴ４において、要求したソフトウェアのファイル全体を受信することによって、ダウンロードを完了していた。
この実施例４では、要求したソフトウェアのファイル全体を受信してしまうのではなく、ファイルの一部分のみを残して、ダウンロードを中断し、その後インストールの開始要求があった時に、ダウンロードを再開し、その残った一部分を受信するようにする。
すなわち、ダウンロードすべきソフトウェアのファイルのうち、ほとんどの部分を受信するが、最後の所定容量分のファイルデータを受信せずに、ダウンロードを中断する。
ここで、所定容量分のファイルデータは、ダウンロードの再開時に、すぐにダウンロードが完了するようにするために、なるべく小容量であることが好ましい。
所定容量分のファイルデータとしては、たとえば、１バイトデータでもよく、転送単位である１パケットデータでもよい。
この実施例４では、図５などのステップＴ４において、ダウンロードが中断されるので、この時点では、受信された更新ソフトウェアは、まだインストールをすることのできない不完全な状態である。
ただし、ユーザに対しては、ダウンロードが完了したことを示すメッセージを表示しておくものとする。
【００６６】
また、所定容量分のファイルデータがまだ受信されていないことを、端末ＴＥにおいて記憶しておく。
あるいは、サーバＳＶにおいて、端末ＴＥには、所定容量分のファイルデータが未送信であって、所定容量分のファイルデータ以外の部分がすでにダウンロードされていることを記憶しておいてもよい。
その後、図７のステップＴ２１に示すように、ユーザによってインストールの指示入力がされた場合に、ＴＥからＳＶへ、ダウンロードを中断していたソフトウェアのダウンロードを再開するためのダウンロード要求ＤＲＥＱを再送信する。このＤＲＥＱには、ダウンロードを再開すべき未受信のファイルデータの部分を示す情報を含めてもよい。
【００６７】
このＤＲＥＱを受信したサーバＳＶは、ダウンロード要求がされたソフトウェアが存在するか否かを確認し、要求されたソフトウェアの同一バージョンが存在する場合は、要求されたソフトウェアの未受信のファイルデータ部分のみを、ＴＥに送信する。
ＴＥが、未受信のファイルデータ部分を受信した場合、すでに受信していた部分と、今回受信したファイルデータ部分とを結合することにより、所望のソフトウェアのダウンロードが完了する。
そして、ダウンロードが完了した場合、ダウンロード要求したソフトウェアは現在もサーバＳＶに存在すると判断し、ただちに、インストール動作を開始する。
このとき、インストールを開始した場合は、ダウンロードが完了したことはユーザに知らせずに、インストールを開始したことのみを表示部３２に表示してもよい。
【００６８】
一方、ＤＲＥＱを受信したサーバＳＶが、要求されたソフトウェアを検索したが、記憶部８１に存在しなかった場合、要求されたソフトウェアの未受信のファイルデータ部分を、ＴＥへ送信することができない。
すなわち、ＴＥにおいて、たとえば、ＤＲＥＱを再送信した後、一定時間を経過しても、未受信のファイルデータ部分を受信することができなかった場合は、大半を受信していたソフトウェアが、サーバＳＶには存在しなくなったと判断し、そのソフトウェアのすでに受信していたファイルデータを、ＴＥの記憶部４１から消去する。
これにより、所望のソフトウェアがサーバＳＶに存在しなくなっている場合は、ダウンロードが未完了の状態のファイルが消去されるので、開発者等が不具合を認識して配信を中止したソフトウェアを、ユーザがインストールしてしまうことを防止できる。
この実施例４では、小容量の未受信のファイルデータ部分の受信の有無によって、インストール実行前の確認処理が行われるので、図５、図６の実施例で示したような確認要求ＶＲＥＱとその応答を送受信することが不要となる。
【００６９】
（配信処理の実施例５）
上述した実施例では、端末ＴＥにダウンロードした後にインストールしようとしているソフトウェアについて、サーバに存在しない場合にはインストールを防止する方法を示した。同様に、端末ＴＥにすでにバックアップしているソフトウェアについても、サーバに存在しないことを確認した場合には、使用できないようにＴＥを制御してもよい。これにより、バックアップされたソフトウェアについても安全に更新を行うことができ、ＴＥに不具合が発生することを未然に防止できる。
特に、ＴＥが、移動が困難な大型の機器や、故障した時には修理工場へ自走が困難になる自動車を制御するためのマイクロコンピュータの場合、ソフトウェアの書換えに失敗した場合に備え、その場で再度書換えを行って原状回復ができるように、バックアップのソフトウェアを準備しておく事が望ましい。
そこで、ＴＥの記憶部にバックアップされたソフトウェアがすでに存在していた場合、バックアップされたソフトウェアが記憶部に存在していることを確認し、かつサーバにも存在していることを確認した場合に、新たに更新用のソフトウェアをインストールするようにする。
【００７０】
なお、バックアップのソフトウェアのバージョンは特に限定されず、例えば出荷時のバージョンでも、現在のバージョンでも良い。ただし、これからインストールしようとしているソフトウェアに万一の不具合（開発者が未だ認識していない不具合を含む）が有る場合を鑑み、バックアップのソフトウェアはインストールしようとしているソフトウェアとは異なるバージョンである事が望ましい。
この場合、図５のステップＴ１において、ＴＥからサーバＳＶに対して更新の有無を問い合わせる前に、まず、バックアップのソフトウェアについてサーバにあることを確認する。その後、改めて、これからインストールしたいソフトウェアがサーバにあることを確認し、インストールを開始するように実装するようにする。なお、確認の順番は逆であっても良く、先にインストールしたいソフトウェアがサーバにある事を確認してから、バックアップのソフトウェアについてサーバにあることを確認する実装であっても良い。
【００７１】
一方、開発者が、あるバージョンのソフトウェアに不具合を発見し、サーバからそのバージョンのソフトウェアを削除していた場合、ＴＥは、バックアップのソフトウェアがサーバ上で削除されていることを確認し、表示部に、「バックアップのソフトウェアが無効になっています。」等というような警告内容を表示させる。
また、このように警告にとどめるだけでも良いが、有効なバックアップのソフトウェアを入手するまでは、インストールしようとしているソフトウェアをインストールさせないように実装するようにしてもよい。
【００７２】
あるいは、ＴＥが自動車を制御するためのマイクロコンピュータの場合には、当該自動車の位置情報を車載機器のＧＰＳ情報を利用して取得し、その自動車が修理工場等、ソフトウェアのインストールに失敗しても容易に原状回復ができる場所にある場合にのみ、インストールしようとしているソフトウェアを、インストールするように実装してもよい。また、インストールに成功したソフトを、次回の更新時にはバックアップのソフトウェアとして利用するようにしても良い。
以上のように、バックアップされたソフトウェアについても、サーバに存在の有無を確認することによって、移動が困難な大型の機器や、故障した時には修理工場へ自走が困難になる自動車を制御するためのマイクロコンピュータのソフトウェア更新の際に、より安全に、ソフトウェアの更新を行うことが可能となる。
【００７３】
＜その他の実施形態＞
（その他の実施形態１）サーバＳＶが複数台存在し、ＣＤＮが構成されている場合、同一ソフトウェアが、複数のサーバＳＶに同時に記憶されている場合がある。
この場合、ソフトウェア配信者がソフトウェアＳＦをアップロードしたり削除したりする場合、特定の管理サーバに対してアクセスし認証を行った上でアップロードしたり削除したりするのが普通である。管理サーバにソフトウェアＳＦが更新されたり、削除されたりした時には、そのソフトウェアＳＦと同一のソフトウェアが記憶されている他のサーバにおいても、ほぼリアルタイムで、更新あるいは削除する。
【００７４】
（その他の実施形態２）また、管理サーバ上でソフトウェアＳＦが更新されたり、削除されたりした時にそのソフトウェアＳＦと同一のソフトウェアが記憶されている他のサーバにおいても、ほぼリアルタイムで、更新あるいは削除する代わりに、端末ＴＥから他のサーバに確認要求があった場合には、必ず管理サーバに、ソフトウェア格納状態を問合せ、置かれているソフトウェアＳＦが管理サーバと異なる場合はその場で管理サーバと一致するようにして、端末ＴＥに配信してもよい。
（その他の実施形態３）あるいは、端末側の設定として、ソフトウェアの有無の問合せは常に管理サーバに対して行うようにし、ソフトウェアのダウンロードは管理サーバから指定されたＣＤＮ上の適切なサーバからダウンロードするようにしてもよい。
【００７５】
（その他の実施形態４）
上記実施形態では、主として、ＴＥにすでにインストールされて利用されているソフトウェアを更新する場合に、ＴＥからＳＶに対して、更新問合要求ＫＲＥＱを送信する例を示した。ただし、この発明は、ユーザが初めてＴＥに新たにインストールしようとしているソフトウェアを取得する場合にも適用することができる。
たとえば、ユーザが、ＳＶにアクセスして、新規のソフトウェアを取得する手続を行った場合、ＴＥからＳＶへ、そのソフトウェアの取得要求を送信する。このソフトウェアは、有償であるか、あるいは無償であるかは問わない。
取得要求を受信したＳＶは、取得要求のあったソフトウェアの現在のバージョンのファイルを、要求してきたＴＥに対して送信する。これにより、ＴＥは、そのソフトウェアをダウンロードして、記憶部４１に記憶する。
ダウンロード後すぐにインストールを実行する設定がされている場合や、ユーザがダウンロードと同時にインストールをすることを示す指示入力をした場合は、ダウンロードしたバージョンのソフトウェアがそのままインストールされる。
ただし、ダウンロードは完了したが、しばらく時間が経過した後にインストールを実行する場合や、時間をあけてユーザが改めてインストール作業をする場合は、前述の各実施例と同様に、ダウンロードからインストールまでの間にダウンロードされたバージョンのソフトウェアに不具合が見つかり、ソフトウェアの開発者等がインストールを中止させたい場合もある。したがって、しばらく時間が経過した後に、ユーザが新たに導入したソフトウェアのインストールの指示入力をした場合は、図５あるいは図６に示したステップＴ５から始まる一連の処理を行うようにする。
これにより、ユーザが初めてインストールしようとするソフトウェアについても、インストールの実行前に、サーバに同一のソフトが置かれていることの確認処理を行うことによって、開発者等が不具合を認識して配信を中止したソフトウェアを、ユーザがインストールしてしまうことを防止できる。
【符号の説明】
【００７６】
１０  ファイルサーバ群、  １１  サーバＳＶ、  ２０  情報処理装置群、  ２１  パソコン、  ２２  携帯端末、  ３０  ネットワーク、  ３１  制御部、  ３２  表示部、  ３３  入力部、  ３４  通信部、  ３５  ダウンロード実行部、  ３６  インストール実行部、  ３７  更新問合要求部、  ３８  ダウンロード要求部、  ３９  確認要求部、  ４１  記憶部、  ４２  端末識別情報、  ５１  ソフトウェア、  ５２  ソフト名、  ５３  バージョン、  ５４  ファイル、  ５５  サーバ識別情報、  ７１  制御部、  ７２  通信部、  ７３  問合応答部、  ７４  ソフトウェア検索部、  ７５  ソフトウェア送信部、  ７６  確認応答部、  ７７  更新問合要求受信部、  ７８  ダウンロード要求受信部、  ７９  確認要求受信部、  ８１  記憶部、  ８２  サーバ識別情報、  ９１  ソフトウェア、  ９２  ソフト名、  ９３  バージョン、  ９４  ファイル、  ９５  配信端末情報、  ９６  保存先情報
【図１】
0006581859.tif 000002
【図２】
0006581859.tif 000003
【図３】
0006581859.tif 000004
【図４】
0006581859.tif 000005
【図５】
0006581859.tif 000006
【図６】
0006581859.tif 000007
【図７】
0006581859.tif 000008