JP7316078B2 - 情報処理装置および機能実行方法 - Google Patents

情報処理装置および機能実行方法 Download PDF

Info

Publication number
JP7316078B2
JP7316078B2 JP2019068190A JP2019068190A JP7316078B2 JP 7316078 B2 JP7316078 B2 JP 7316078B2 JP 2019068190 A JP2019068190 A JP 2019068190A JP 2019068190 A JP2019068190 A JP 2019068190A JP 7316078 B2 JP7316078 B2 JP 7316078B2
Authority
JP
Japan
Prior art keywords
area
software
update file
update
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019068190A
Other languages
English (en)
Other versions
JP2020166712A (ja
Inventor
拓哉 川崎
正貴 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2019068190A priority Critical patent/JP7316078B2/ja
Priority to US17/438,957 priority patent/US20220147339A1/en
Priority to PCT/JP2020/012617 priority patent/WO2020203392A1/ja
Publication of JP2020166712A publication Critical patent/JP2020166712A/ja
Application granted granted Critical
Publication of JP7316078B2 publication Critical patent/JP7316078B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Description

本発明は、ソフトウェアの機能をアップデートする技術に関する。
特許文献1は、据置型で自宅に置かれる第1情報処理装置と、携帯電話などの第2情報処理装置を備える情報処理システムを開示する。第1情報処理装置が新たなシステムソフトウェアをソフトウェアサーバから自動ダウンロードすると、通知サーバは、第1情報処理装置がシステムアップデート可能な状態にあることを、ユーザの第2情報処理装置に通知する。ユーザは第2情報処理装置を操作して、アップデートの実行指示を第1情報処理装置に送信し、第1情報処理装置は、アップデートの実行指示を取得して、システムソフトウェアをアップデートする。
特開2016-1391号公報
オペレーティングシステムは、情報処理装置の基本的な管理や制御のための機能や、多くのアプリケーションが共通して利用する機能を実装したソフトウェアである。近年のシステムソフトウェアは、オペレーティングシステムに加えて、ユーザに有用な様々な機能を実現するアプリケーションを含んでいることが多い。たとえばゲーム装置のシステムソフトウェアは、フレンドの現在の状況を提示するフレンドアプリケーションや、ゲームをオンライン購入するためのGUIを提供するストアアプリケーションなどを含む。これらのアプリケーションは、全てのユーザによる利用を推奨するためにシステムソフトウェアに組み込まれるものであり、以下では、システムソフトウェアに含まれるアプリケーションを「システムアプリケーション」とも呼ぶ。
従来、システムソフトウェアのアップデートは、インストール済みの古いシステムソフトウェアを、新しいシステムソフトウェアに完全に置き換えることで実施されることが多い。システムソフトウェアのデータサイズは大規模であり、そのアップデートには長時間を要するため、システムアップデートは頻繁に行われない。そのため現状、1年に数回の頻度でしかシステムアップデートが実施できず、システムアプリケーションも、その頻度でしかアップデートされない。
そこで本発明は、ソフトウェアの機能を効率的にアップデートする技術を提供することを目的とする。
上記課題を解決するために、本発明のある態様は、複数の機能を実現するソフトウェアを記録する第1領域と、ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスする情報処理装置である。情報処理装置は、ソフトウェアの機能を実行する機能実行部を備え、機能実行部は、実行する機能の更新ファイルが第2領域に記録されていれば、当該更新ファイルを実行する。
本発明の別の態様は、ソフトウェアのファイルを情報処理装置に配信する配信サーバである。配信サーバは、複数の機能を実現するソフトウェアのアップデートパッケージを配信する第1配信部と、情報処理装置から、インストールしているソフトウェアのバージョン情報を取得する管理部と、取得されたバージョン情報に応じて、ソフトウェアの機能の更新ファイルを配信する第2配信部とを備える。
本発明のさらに別の態様は、複数の機能を実現するソフトウェアを記録する第1領域と、ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスする情報処理装置において、ソフトウェアの機能を実行する方法である。この方法は、実行する機能の更新ファイルが第2領域に記録されていれば、当該更新ファイルを実行する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によると、ソフトウェアの機能を効率的にアップデートする技術を提供することが可能となる。
実施例にかかる情報処理システムを示す図である。 情報処理装置のハードウェア構成を示す図である。 情報処理装置における機能ブロックを示す図である。 記憶装置に第1更新ファイルが保持された状態を示す図である。 第2領域に第1更新ファイルがインストールされた状態を示す図である。 記憶装置に第2更新ファイルが保持された状態を示す図である。 第2領域に第2更新ファイルがインストールされた状態を示す図である。 記憶装置にシステムソフトウェアのアップデートパッケージが保持された状態を示す図である。 第1領域にシステムソフトウェアがインストールされた状態を示す図である。
図1は、本発明の実施例にかかる情報処理システム1を示す。情報処理システム1は、情報処理装置10と、ネットワークサーバ5と、ソフトウェアのアップデート用のファイルを配信する配信サーバ12とを備え、これらはインターネットやLAN(Local Area Network)などのネットワーク3を介して接続する。アクセスポイント(以下「AP」とよぶ)8は、無線アクセスポイントおよびルータの機能を有し、情報処理装置10は無線または有線経由でAP8に接続して、ネットワーク3上のネットワークサーバ5、配信サーバ12と通信可能に接続する。
情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザの操作情報を情報処理装置10に出力する。情報処理装置10は入力装置6からの操作情報をオペレーティングシステムやアプリケーションの処理に反映し、出力装置4から処理結果を出力させる。情報処理装置10はゲームアプリケーションを実行するゲーム装置やパーソナルコンピュータなどの端末装置であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作情報を供給する機器であってよい。
入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。図1ではカメラ7が出力装置4の上部に取り付けられている例を示しているが、出力装置4の側方に配置されてもよく、いずれにしても出力装置4の前方でゲームをプレイするユーザを撮像できる位置に配置される。カメラ7は、ステレオカメラであってよい。
補助記憶装置2はHDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)などの大容量記憶装置であり、内蔵型記憶装置であってよく、またUSB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってもよい。出力装置4は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またヘッドマウントディスプレイであってもよい。出力装置4は、情報処理装置10に有線ケーブルで接続されてよく、無線接続されてもよい。
ネットワークサーバ5は情報処理システム1の運営主体により保守、管理され、情報処理システム1のユーザに対してネットワークサービスを提供する。ネットワークサーバ5はユーザを識別するネットワークアカウントを管理しており、ユーザは、ネットワークアカウントを用いて、ネットワークサーバ5が提供するネットワークサービスにサインインする。ユーザは情報処理装置10からネットワークサービスにサインインすることで、配信サーバ12からシステムソフトウェアのファイル配信を受けることができる。
配信サーバ12は、システムソフトウェアのアップデートパッケージや、システムソフトウェアが提供する機能を実現するシステムアプリケーションの更新ファイルなどを保持し、情報処理装置10からのダウンロードリクエストに応じて情報処理装置10に配信する。たとえば情報処理装置10は、定期的に配信サーバ12に対してダウンロードするべきファイルが存在するか問い合わせ、存在した場合にダウンロードリクエストを配信サーバ12に送信し、対象となるファイルを自動ダウンロードしてよい。また配信サーバ12が、新たなアップデートパッケージや更新ファイルが配信可能な状態になったときに、情報処理装置10に対してその旨を通知し、情報処理装置10がダウンロードリクエストを配信サーバ12に送信して、対象となるファイルを自動ダウンロードしてもよい。
アップデートパッケージは、情報処理装置10にインストール済みの古いシステムソフトウェアを完全に置き換えるための新しいシステムソフトウェアである。アップデートパッケージは、システムソフトウェアそのものであり、更新されたオペレーティングシステムと、更新されたオペレーティングシステムの環境下で動作する複数のシステムアプリケーションを含む。システムソフトウェアにはバージョン情報が付与されており、システムソフトウェアはバージョン情報で管理される。配信サーバ12は、たとえば1年に数回の頻度でアップデートパッケージを情報処理装置10に配信する。
システムアプリケーションの更新ファイルは、情報処理装置10にインストール済みのシステムアプリケーションをアップデートするためのプログラムファイルであり、修正プログラムやパッチファイルを含む。実施例のシステムソフトウェアは、フレンドアプリケーションやストアアプリケーションなど複数のシステムアプリケーションを含んでいるが、システムアプリケーションは、それぞれ異なる開発主体によって互いに独立に開発される。各開発主体は、システムアプリケーションの更新ファイルを作成すると、配信サーバ12に配信可能な状態でアップロードする。配信サーバ12は、未配信の更新ファイルを情報処理装置10に配信する。
図2は、情報処理装置10のハードウェア構成を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームアプリケーションの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUは、補助記憶装置2に記録されたシステムソフトウェアを実行し、補助記憶装置2やROM媒体44に記録されたゲームアプリケーションを実行する機能をもつ。
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えず、ゲームアプリケーションを実行する機能をもたない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。サブCPUは、メインCPUがスタンバイ状態にある間においても動作し、消費電力を低く抑えるべく、その処理機能を制限されている。
メイン電源ボタン20は、ユーザからの操作入力が行われるボタンであって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。
クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
メディアドライブ32は、ゲームなどのアプリケーションを記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2およびカメラ7とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置6と無線通信する。なお無線通信モジュール38は、デジタル携帯電話方式に対応してもよい。有線通信モジュール40は、外部機器と有線通信し、AP8を介してネットワーク3に接続する。
図3は、情報処理装置10における機能ブロックを示す。情報処理装置10は、受付部100、機能実行部102、ダウンロード実行部104およびインストール実行部106を備える。これらの機能は、メインシステム60において実行される。補助記憶装置2は、システムソフトウェアを記録する第1領域110と、システムソフトウェアの機能の更新ファイルを記録する第2領域120を有する。第1領域110および第2領域120は、補助記憶装置2における異なるパーティションであり、互いに論理的に区分けされた記憶領域である。情報処理装置10は、第1領域110と第2領域120にアクセスして、システムソフトウェアの機能を実行する。
受付部100は、ユーザが入力装置6を操作した操作情報を受け付ける。機能実行部102は、システムソフトウェアの機能を実行する。ダウンロード実行部104は、配信サーバ12からシステムソフトウェアの機能更新用のファイルをダウンロードし、インストール実行部106は、ダウンロードされたファイルを補助記憶装置2にインストールする。
配信サーバ12は、管理部70、第1配信部72、第2配信部74および記憶装置76を備え、システムソフトウェアのファイルを情報処理装置10に配信する。管理部70は、情報処理装置10から、ファイルのダウンロードリクエストを取得する。第1配信部72は、システムソフトウェアのアップデートパッケージを配信する。第2配信部74は、システムソフトウェアの個々の機能の更新ファイルを配信する。記憶装置76は、システムソフトウェアのアップデートパッケージ、およびシステムアプリケーションの更新ファイルを保持する。なお記憶装置76は、システムアプリケーションの更新ファイルを、システムソフトウェアのバージョンごとに保持してよい。
これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラム、ストレージなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
実施例の補助記憶装置2において、第1領域110には、システムソフトウェアが記録される。第1領域110は、ユーザが操作不能な記憶領域としてパーティショニングされる。そのためユーザは、第1領域110に記録されたシステムソフトウェアをアンインストールできない。第1領域110は、システムソフトウェアのアップデートパッケージによってのみ更新可能であり、他の手段による書き込みが禁止されることで、システムの堅牢性を実現する。
一方で第2領域120には、システムソフトウェアに含まれるアプリケーションの更新ファイルが記録される。第2領域120は、第1領域110と異なり、ユーザが操作可能な記憶領域としてパーティショニングされる。そのためユーザは、第2領域120にインストールされた更新ファイルを、手動でアンインストールできる。また新しい更新ファイルがダウンロードされる度に、古い更新ファイルは自動アンインストールされてよい。
このように補助記憶装置2では、ユーザが操作不能な第1領域110にシステムソフトウェアを記録して、システムの堅牢性を実現しつつ、書込自由な第2領域120にアプリケーションの更新ファイルを記録して、アプリケーションを最新の状態で実行できるようにする。
以下、システムソフトウェアのファイルをアップデートする手順について説明する。図3には、配信サーバ12の記憶装置76に、最新のバージョン1.1のシステムソフトウェアのパッケージが配信可能に保持されており、補助記憶装置2の第1領域110に同じバージョン1.1のシステムソフトウェアがインストールされている。したがって情報処理装置10は、最新のシステムソフトウェアをインストールした状態にある。
図4は、配信サーバ12の記憶装置76に、システムアプリケーションの第1更新ファイルが保持された状態を示す。このとき補助記憶装置2の第2領域120に更新ファイルは記録されていない。
記憶装置76は、システムアプリケーションの最新の更新ファイルを保持する。なおシステムアプリケーションが更新されていなければ、当該アプリケーションの更新ファイルは記憶装置76に存在しない。システムソフトウェアは、複数のシステムアプリケーションを含んでいるが、以下では、特定のシステムアプリケーション(「システムアプリA」と呼ぶ)のアップデートについて説明する。
システムアプリAの開発主体は、システムアプリAの第1更新ファイルを作成すると、記憶装置76に配信可能にアップロードする。なお記憶装置76には、最新の更新ファイルのみが保持される。そのため第1更新ファイルを記憶装置76に配信可能にアップロードした後に、開発主体が第2更新ファイルを作成すると、記憶装置76から第1更新ファイルを削除した上で、第2更新ファイルを配信可能にアップロードする。これにより記憶装置76には、システムアプリAの最新の更新ファイルのみが保持される。
なお記憶装置76は、システムソフトウェアのバージョンごとに、システムアプリケーションの最新の更新ファイルを保持する。たとえば、バージョン1.1よりも古いバージョン1.0のシステムソフトウェアが存在している場合を想定すると、このとき記憶装置76には、バージョン1.0のオペレーティングシステム(OS)で動作するシステムアプリAの最新の更新ファイルと、バージョン1.1のOSで動作するシステムアプリAの最新の更新ファイルとが保持される。
ダウンロード実行部104は、定期的に配信サーバ12に対してダウンロードするべきファイルが存在するか問い合わせる。ダウンロード実行部104は1日の所定の時刻(たとえば午前2時)に問い合わせを行ってよい。問い合わせの際、ダウンロード実行部104は、インストールしているシステムソフトウェアのバージョン情報(Ver1.1)を配信サーバ12に通知する。
管理部70は、バージョン情報(Ver1.1)を含む問い合わせを取得すると、バージョン1.1のOSで動作するシステムアプリケーションの最新の更新ファイルを記憶装置76から探索する。管理部70は、システムアプリAの第1更新ファイルが存在することを特定すると、当該第1更新ファイルのハッシュ値を、システムアプリAの識別情報とともに情報処理装置10に通知する。
情報処理装置10においてダウンロード実行部104は、通知された情報を取得し、第2領域120に、通知されたハッシュ値をもつシステムアプリAの更新ファイルが存在するか調べる。図4に示す状態では第2領域120に更新ファイルは記録されていないため、システムアプリAの更新ファイルは存在しない。ダウンロード実行部104は、配信サーバ12から通知されたハッシュ値をもつ更新ファイルが第2領域120に存在しないことを確認すると、当該更新ファイルのダウンロードリクエストを配信サーバ12に送信する。
管理部70は、ダウンロードリクエストを取得し、第2配信部74は、システムアプリAの第1更新ファイルを情報処理装置10に配信する。これによりダウンロード実行部104は、システムアプリAの第1更新ファイルをダウンロードし、インストール実行部106は、ダウンロードした第1更新ファイルを第2領域120にインストールする。このようにダウンロード実行部104は、第1領域110に記録されたシステムソフトウェアのバージョン情報に対応付けられた更新ファイルが配信サーバ12にダウンロード可能に存在している場合に、当該更新ファイルをダウンロードする。
図5は、第2領域120にシステムアプリAの第1更新ファイルがインストールされた状態を示す。この状態で、受付部100が、ユーザからシステムアプリAの実行要求を受け付けると、機能実行部102が、第2領域120に記録された第1更新ファイルを用いて、システムアプリAを実行する。
受付部100がシステムアプリケーションの実行要求を受け付けたとき、機能実行部102は、ファイルシステムを利用して、実行するシステムアプリケーションの更新ファイルが第2領域120に記録されているか判定する。更新ファイルが第2領域120に記録されていれば、機能実行部102は、当該更新ファイルを実行する。第2領域120に記録された更新ファイルは、第1領域110に記録されているシステムアプリケーションをアップデートしたものであるため、ユーザは、新しいシステムアプリケーションを利用することが可能となる。
なお図5に示す例で、機能実行部102が第1更新ファイルを実行しようとしたとき、第1更新ファイルは、書込自由な第2領域120に記録されているため、破損している可能性がある。第1更新ファイルが破損等の理由により起動できない場合、機能実行部102は、第1領域110に記録されたシステムソフトウェアに組み込まれているシステムアプリAを実行する。システムソフトウェアは堅牢な第1領域110に記録されているため、組み込まれたシステムアプリケーションは、安定して実行可能な状態を維持される。
第1更新ファイルが第2領域120に記録された後も、ダウンロード実行部104は定期的に、配信サーバ12に対してダウンロードするべきファイルが存在するか問い合わせる。管理部70は、バージョン情報(Ver1.1)を含む問い合わせを取得すると、バージョン1.1のOSで動作するシステムアプリケーションの最新の更新ファイルを記憶装置76から探索する。図5に示す例で管理部70は、システムアプリAの第1更新ファイルが存在することを特定し、当該第1更新ファイルのハッシュ値を、システムアプリAの識別情報とともに情報処理装置10に通知する。
情報処理装置10においてダウンロード実行部104は、通知された情報を取得し、第2領域120に、通知されたハッシュ値をもつシステムアプリAの更新ファイルが存在するか調べる。図5に示す状態では第2領域120にシステムアプリAの第1更新ファイルが存在している。そこでダウンロード実行部104は、第1更新ファイルのハッシュ値を算出し、配信サーバ12から通知されたハッシュ値と比較する。このときハッシュ値は一致するため、ダウンロード実行部104はダウンロードが不要であることを確認し、第1更新ファイルのダウンロードリクエストを配信サーバ12に送信しない。
図6は、配信サーバ12の記憶装置76に、システムアプリケーションの第2更新ファイルが保持された状態を示す。システムアプリAの開発主体により第2更新ファイルが配信可能に記憶装置76にアップロードされる際、古い第1更新ファイルは、記憶装置76から削除される。このとき補助記憶装置2の第2領域120には、システムアプリAの第1更新ファイルが記録されている。
ダウンロード実行部104は、配信サーバ12に対してダウンロードするべきファイルが存在するか問い合わせる。管理部70は、バージョン情報(Ver1.1)を含む問い合わせを取得すると、バージョン1.1のOSで動作するシステムアプリケーションの最新の更新ファイルを記憶装置76から探索する。管理部70は、システムアプリAの第2更新ファイルが存在することを特定すると、当該第2更新ファイルのハッシュ値を、システムアプリAの識別情報とともに情報処理装置10に通知する。
情報処理装置10においてダウンロード実行部104は、通知された情報を取得し、第2領域120に、通知されたハッシュ値をもつシステムアプリAの更新ファイルが存在するか調べる。図6に示す状態では第2領域120にシステムアプリAの第1更新ファイルが存在している。そこでダウンロード実行部104は、第1更新ファイルのハッシュ値を算出し、配信サーバ12から通知されたハッシュ値と比較する。この場合、ハッシュ値は一致しないため、ダウンロード実行部104は、配信サーバ12から通知されたハッシュ値をもつ更新ファイルが第2領域120に存在しないことを確認し、当該第2更新ファイルのダウンロードリクエストを配信サーバ12に送信する。
管理部70は、ダウンロードリクエストを取得し、第2配信部74は、システムアプリAの第2更新ファイルを情報処理装置10に配信する。これによりダウンロード実行部104は、システムアプリAの第2更新ファイルをダウンロードし、インストール実行部106は、ダウンロードした第2更新ファイルを第2領域120にインストールする。このようにダウンロード実行部104は、配信サーバ12に存在する更新ファイルが第2領域120に記録された更新ファイルと異なっていれば、配信サーバ12から更新ファイルをダウンロードする。
実施例のシステムソフトウェアは、異なる開発主体により作成された複数のシステムアプリケーションを含んで構成されている。各システムアプリケーションは、開発主体のルールにしたがってバージョン管理されており、複数のシステムアプリケーションでバージョン情報の付け方は統一されていない。そこでダウンロード実行部104は、ダウンロードするか否かの決定に際し、更新ファイルのバージョン情報は参照せず、ハッシュ値の一致、不一致のみで決定するようにしている。
図7は、第2領域120にシステムアプリAの第2更新ファイルがインストールされた状態を示す。インストール実行部106は、第2更新ファイルを第2領域120に上書きインストールしてよい。この状態で、受付部100が、ユーザからシステムアプリAの実行要求を受け付けると、機能実行部102が、第2領域120に記録された第2更新ファイルを用いて、システムアプリAを実行する。
図8は、配信サーバ12の記憶装置76に、バージョン1.2のシステムソフトウェアのアップデートパッケージが保持された状態を示す。このとき補助記憶装置2の第1領域110には、バージョン1.1のシステムソフトウェアが記録されている。
ダウンロード実行部104は、配信サーバ12に対してダウンロードするべきファイルが存在するか問い合わせる際、併せて最新のシステムソフトウェアのバージョンを問い合わせる。管理部70は、システムソフトウェアのバージョンに関する問い合わせを受けて、最新のシステムソフトウェアのバージョン情報(Ver1.2)を情報処理装置10に通知する。
情報処理装置10においてダウンロード実行部104は、通知されたシステムソフトウェアのバージョン情報を取得すると、第1領域110に記録されたシステムソフトウェアのバージョン情報と比較する。システムソフトウェアのバージョンの付け方には所定のルールが存在し、ダウンロード実行部104は、このルールにしたがって、第1領域110に記録されたシステムソフトウェアよりも新しいアップデートパッケージがダウンロード可能であるか否かを判断する。ダウンロード実行部104は、バージョン情報が一致している場合、ダウンロード不要であることを判断する。ダウンロード実行部104は、通知されたバージョン情報の方が新しい場合、システムソフトウェアのダウンロードリクエストを配信サーバ12に送信する。
管理部70は、システムソフトウェアのダウンロードリクエストを取得し、第1配信部72は、システムソフトウェアのアップデートパッケージを情報処理装置10に配信する。これによりダウンロード実行部104は、バージョン1.2のアップデートパッケージをダウンロードし、インストール実行部106は、ダウンロードしたバージョン1.2のシステムソフトウェアを第1領域110にインストールする。
図9は、第1領域110に、バージョン1.2のシステムソフトウェアがインストールされた状態を示す。第1領域110は、システムソフトウェアのアップデートパッケージによってのみ書き換えられる。インストール実行部106は、バージョン1.2のシステムソフトウェアを第1領域110に上書きインストールしてよい。インストール実行部106は、アップデートパッケージを第1領域110にインストールすると、第2領域120に記録した更新ファイルをアンインストールする。以後は、バージョン1.2のOSで動作するシステムアプリケーションの更新ファイルが、第2領域120にインストールされるようになる。
以上、この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、1つのシステムアプリAの更新について説明したが、実際には複数のシステムアプリケーションの更新が行われる。また実施例では、第1領域110に記録するソフトウェアとしてシステムソフトウェアを示したが、ゲームアプリケーションなどの他の種類のソフトウェアであってもよい。
1・・・情報処理システム、2・・・補助記憶装置、10・・・情報処理装置、12・・・配信サーバ、70・・・管理部、72・・・第1配信部、74・・・第2配信部、76・・・記憶装置、100・・・受付部、102・・・機能実行部、104・・・ダウンロード実行部、106・・・インストール実行部、110・・・第1領域、120・・・第2領域。

Claims (10)

  1. 複数の機能を実現するソフトウェアを記録する第1領域と、前記ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスする情報処理装置であって、
    配信サーバから、前記ソフトウェアの機能の更新ファイルをダウンロードするダウンロード実行部と、
    前記ソフトウェアの機能を実行する機能実行部を備え、
    前記ダウンロード実行部は、前記第1領域に記録されたソフトウェアのバージョン情報に対応付けられた更新ファイルが前記配信サーバにダウンロード可能に存在していれば、当該更新ファイルをダウンロードし、
    前記機能実行部は、実行する機能の更新ファイルが前記第2領域に記録されていれば、当該更新ファイルを実行する、
    ことを特徴とする情報処理装置。
  2. 前記ダウンロード実行部は、前記配信サーバに存在する更新ファイルが、前記第2領域に記録された更新ファイルと異なっていれば、前記配信サーバから更新ファイルをダウンロードする、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. ダウンロードした更新ファイルを前記第2領域にインストールするインストール実行部をさらに備える、
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記ダウンロード実行部は、前記ソフトウェアのアップデートパッケージをダウンロードし、
    前記インストール実行部は、前記アップデートパッケージを前記第1領域にインストールすると、前記第2領域に記録した更新ファイルをアンインストールする、
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 複数の機能を実現するソフトウェアを記録する第1領域と、前記ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスする情報処理装置であって、前記第1領域および前記第2領域は1つの補助記憶装置における異なるパーティションであり、前記第1領域は、ユーザが操作不能な領域であって、前記ソフトウェアのアップデートパッケージによって更新され、前記第2領域は、ユーザが操作可能な領域であり、
    前記ソフトウェアの機能を実行する機能実行部を備え、
    前記機能実行部は、実行する機能の更新ファイルが前記第2領域に記録されていれば、当該更新ファイルを実行する、
    ことを特徴とする情報処理装置。
  6. 前記ソフトウェアは、システムソフトウェアであって、システムソフトウェアが提供する機能は、アプリケーションにより実現される、
    ことを特徴とする請求項1から5のいずれかに記載の情報処理装置。
  7. 複数の機能を実現するソフトウェアを記録する第1領域と、前記ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスする情報処理装置において、ソフトウェアの機能を実行する方法であって、
    前記第1領域に記録されたソフトウェアのバージョン情報に対応付けられた更新ファイルが配信サーバにダウンロード可能に存在していれば、前記配信サーバから当該更新ファイルをダウンロードし、
    実行する機能の更新ファイルが前記第2領域に記録されていれば、当該更新ファイルを実行する、
    ことを特徴とする機能実行方法。
  8. 複数の機能を実現するソフトウェアを記録する第1領域と、前記ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスするコンピュータに、ソフトウェアの機能を実行させるためのプログラムであって、
    前記第1領域に記録されたソフトウェアのバージョン情報に対応付けられた更新ファイルが配信サーバにダウンロード可能に存在していれば、前記配信サーバから当該更新ファイルをダウンロードさせ、
    実行する機能の更新ファイルが前記第2領域に記録されていれば、当該更新ファイルを実行させる、
    ことを特徴とするプログラム。
  9. 複数の機能を実現するソフトウェアを記録する第1領域と、前記ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスする情報処理装置において、ソフトウェアの機能を実行する方法であって、
    前記第1領域および前記第2領域は1つの補助記憶装置における異なるパーティションであり、前記第1領域は、ユーザが操作不能な領域であって、前記ソフトウェアのアップデートパッケージによって更新され、前記第2領域は、ユーザが操作可能な領域であり、
    実行する機能の更新ファイルが前記第2領域に記録されていれば、当該更新ファイルを実行する、
    ことを特徴とする機能実行方法。
  10. 複数の機能を実現するソフトウェアを記録する第1領域と、前記ソフトウェアの機能の更新ファイルを記録する第2領域とにアクセスするコンピュータに、ソフトウェアの機能を実行させるためのプログラムであって、
    前記第1領域および前記第2領域は1つの補助記憶装置における異なるパーティションであり、前記第1領域は、ユーザが操作不能な領域であって、前記ソフトウェアのアップデートパッケージによって更新され、前記第2領域は、ユーザが操作可能な領域であり、
    実行する機能の更新ファイルが前記第2領域に記録されていれば、当該更新ファイルを実行させる、
    ことを特徴とするプログラム。
JP2019068190A 2019-03-29 2019-03-29 情報処理装置および機能実行方法 Active JP7316078B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019068190A JP7316078B2 (ja) 2019-03-29 2019-03-29 情報処理装置および機能実行方法
US17/438,957 US20220147339A1 (en) 2019-03-29 2020-03-23 Information processing device, delivery server, and function execution method
PCT/JP2020/012617 WO2020203392A1 (ja) 2019-03-29 2020-03-23 情報処理装置、配信サーバおよび機能実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019068190A JP7316078B2 (ja) 2019-03-29 2019-03-29 情報処理装置および機能実行方法

Publications (2)

Publication Number Publication Date
JP2020166712A JP2020166712A (ja) 2020-10-08
JP7316078B2 true JP7316078B2 (ja) 2023-07-27

Family

ID=72667654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019068190A Active JP7316078B2 (ja) 2019-03-29 2019-03-29 情報処理装置および機能実行方法

Country Status (3)

Country Link
US (1) US20220147339A1 (ja)
JP (1) JP7316078B2 (ja)
WO (1) WO2020203392A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228486A (ja) 2002-02-04 2003-08-15 Nec Soft Ltd ソフトウェア管理方法、ソフトウェア管理システム及びプログラム
JP2005092379A (ja) 2003-09-16 2005-04-07 Mitsubishi Electric Corp 情報処理装置及び管理装置
JP2011253430A (ja) 2010-06-03 2011-12-15 Seiko Epson Corp 情報処理システム、クライアント、及びプログラム
JP2014109790A (ja) 2012-11-30 2014-06-12 Sharp Corp 情報処理装置、方法、およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083471A1 (en) * 2002-10-21 2004-04-29 Lg Electronics Inc. Method of upgrading system software of a home appliance
US10860305B1 (en) * 2017-09-29 2020-12-08 Amazon Technologies, Inc. Secure firmware deployment
US20190332370A1 (en) * 2018-04-30 2019-10-31 Microsoft Technology Licensing, Llc Storage reserve in a file system
KR20200090010A (ko) * 2019-01-18 2020-07-28 삼성전자주식회사 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228486A (ja) 2002-02-04 2003-08-15 Nec Soft Ltd ソフトウェア管理方法、ソフトウェア管理システム及びプログラム
JP2005092379A (ja) 2003-09-16 2005-04-07 Mitsubishi Electric Corp 情報処理装置及び管理装置
JP2011253430A (ja) 2010-06-03 2011-12-15 Seiko Epson Corp 情報処理システム、クライアント、及びプログラム
JP2014109790A (ja) 2012-11-30 2014-06-12 Sharp Corp 情報処理装置、方法、およびプログラム

Also Published As

Publication number Publication date
JP2020166712A (ja) 2020-10-08
US20220147339A1 (en) 2022-05-12
WO2020203392A1 (ja) 2020-10-08

Similar Documents

Publication Publication Date Title
JP5465099B2 (ja) 情報処理装置
JP5576949B2 (ja) ハイブリッドコンピューティング環境におけるファームウェアのアップデート
US8949205B2 (en) Information processing apparatus for processing application software and a patch file
JP6396365B2 (ja) 情報処理システム、情報処理装置およびデータ取得方法
JP2011258141A (ja) 情報処理装置
CN103365682A (zh) 信息处理设备和信息处理方法
US20190205109A1 (en) Computer system, baseboard management controller, and os installation method
JP5063746B2 (ja) 情報処理装置
US11848033B2 (en) Information processing device and file recording method
JP2012146241A (ja) ソフトウェアアップデート方法、ソフトウェアアップデート装置、及びソフトウェアアップデートプログラム
JP7316078B2 (ja) 情報処理装置および機能実行方法
JP4707978B2 (ja) コンテンツ配信サーバ、通信端末、コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム、端末制御プログラムおよび該プログラムを記録した記録媒体
JP2014142935A (ja) 情報処理装置
KR101461319B1 (ko) 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치
JP7316204B2 (ja) 情報処理装置およびファイルアクセス方法
JP2015056175A (ja) 制御プログラム及び情報処理端末
US11400380B2 (en) Information processing apparatus and download processing method
WO2023218625A1 (ja) 情報処理装置およびパッチファイルのダウンロード方法
JP6294475B2 (ja) プログラムをダウンロードする方法
JP6209854B2 (ja) 情報処理システム
WO2020246378A1 (ja) 情報処理装置およびアプリケーション実行方法
WO2020203669A1 (ja) 情報処理装置およびインストール方法
KR20100033243A (ko) 주변기기 무선 업그레이드 지원장치 및 그 방법
JP2013109646A (ja) 計算機システムとプログラム起動方法
JP2002259128A (ja) ネットワークを介したプログラムのアップデート方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230714

R150 Certificate of patent or registration of utility model

Ref document number: 7316078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150