JP4838338B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP4838338B2
JP4838338B2 JP2009200683A JP2009200683A JP4838338B2 JP 4838338 B2 JP4838338 B2 JP 4838338B2 JP 2009200683 A JP2009200683 A JP 2009200683A JP 2009200683 A JP2009200683 A JP 2009200683A JP 4838338 B2 JP4838338 B2 JP 4838338B2
Authority
JP
Japan
Prior art keywords
file
patch file
patch
version
application software
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
JP2009200683A
Other languages
English (en)
Other versions
JP2011053817A (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
Sony Computer 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, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2009200683A priority Critical patent/JP4838338B2/ja
Priority to US12/823,597 priority patent/US8949205B2/en
Publication of JP2011053817A publication Critical patent/JP2011053817A/ja
Application granted granted Critical
Publication of JP4838338B2 publication Critical patent/JP4838338B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ゲーム装置などの情報処理装置で実行される情報処理技術に関する。
一般にゲームソフトウェアは、光ディスクや光磁気ディスク、ブルーレイディスクなどのROM媒体の形態で流通、販売される。ROM媒体に記録されたゲームソフトウェアは書き換えることができないため、ゲームソフトウェアの一部のバグを修正したり、機能を変更または追加するためには、パッチを当てることで対応する。特許文献1は、記録媒体に記録されたバージョン情報と、パッチファイルに含まれるバージョン情報を比較して、より新しいバージョン情報が付与されている起動ファイルをメモリにロードして、ゲーム起動処理を実行するゲーム装置を開示している。
US2008/0141018号公開公報
インターネットの発達により、パッチファイルを、サーバからインターネット経由でユーザ端末に配信する環境が実現されている。また従来から、パッチファイルを組み込んでリマスタリングしたROM媒体を販売することで、不具合を改善したゲームソフトウェアをユーザに提供することも行われている。リマスタリングしたROM媒体において、ゲームソフトウェアはパッチを当てられた形態で記録される。
ユーザ端末が、パッチファイルをインターネット経由で取得してインストールする場合、このパッチファイルは、ハードディスクドライブなどの補助記憶装置に格納されるため、パッチファイルにおいて、モジュールを特定するためのパス情報は、補助記憶装置に格納されていることを前提に作成される。一方で、リマスタリングしたROM媒体においてはモジュールがすべてROM媒体に記録されているため、パス情報は、当然のことながら、ROM媒体のアドレスにしたがって作成される。そのためゲームソフトウェアの提供者は、パッチファイルをサーバから提供する場合と、ROM媒体をリマスタすることで提供する場合とで、異なるパッチファイルを用意する必要があった。また、リマスタリング後に、新たなパッチファイルをサーバから提供する場合にも、初期のROM媒体に対するパッチファイルと、リマスタリングしたROM媒体に対するパッチファイルを作成する必要があり、ゲームソフトウェアの提供者にとって手のかかる作業となっていた。またユーザ側からみても、パッチファイルをインターネット経由でインストールするとき、初期ROM媒体用とリマスタリングしたROM媒体用の両方のパッチファイルをダウンロードして、ダウンロード後に、使用しているROM媒体に応じていずれを利用するか決定しているが、これは、時間およびコストの観点から好ましくない。
また、たとえば、リマスタリングしたROM媒体に対するパッチファイルをダウンロードした後、初期ROM媒体を用いてゲームソフトウェアを実行しようとすると、リマスタリングしたROM媒体には含まれていたパッチファイルが補助記憶装置に存在しないために、いわゆるパッチの「中抜け」という不具合が生じる可能性もあった。
そこで本発明は、パッチファイルをアプリケーションソフトウェアに好適に適用できる技術を提供することを目的とする。
上記課題を解決するために、本発明のある態様の情報処理装置は、アプリケーションソフトウェアおよびパッチファイルを記録した記録媒体からデータを読み出すドライブ装置と、ドライブ装置によるデータの読み出しを制御する読出制御部と、アプリケーションソフトウェアを起動する実行処理部と、記憶装置とを備える。読出制御部は、アプリケーションソフトウェアの実行要求を受けると、ドライブ装置に記録媒体からパッチファイルを読み出させて、記憶装置にインストールし、パッチファイルのインストール後、実行処理部は、記憶装置にインストールされたパッチファイルを適用して、アプリケーションソフトウェアを起動する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明の情報処理技術によると、パッチファイルをアプリケーションソフトウェアに好適に適用する技術を提供することが可能となる。
本発明の実施例にかかるファイル配信システムを示す図である。 ゲーム装置の機能ブロック図を示す図である。 ゲーム装置におけるパッチファイル取得処理を実行するための機能ブロックを示す図である。 表示機器に表示されるメニュー画面を示す図である。 バージョンファイルの一例を示す図である。 (a)は従来型のリマスタリングしたROM媒体を用いて、パッチファイルを取得したときのインストール状況を示す図であり、(b)は本実施例のROM媒体を用いて、パッチファイルを取得したときのインストール状況を示す図である。 ゲーム装置におけるパッチファイル取得処理のフローチャートを示す図である。 ROM媒体に記録されたパッチファイルのインストール確認画面を示す図である。 ファイル提供サーバに保持されたパッチファイルのインストール確認画面を示す図である。
本発明の実施例を具体的に説明する前に、まず概要を述べる。本実施例の情報処理装置は、リマスタリングした記録媒体に記録されたアプリケーションソフトウェアを実行する。記録媒体には、アプリケーションソフトウェアだけでなく、そのアプリケーションソフトウェアに適用するためのパッチファイルが記録されている。アプリケーションソフトウェアはパッチを当てた形態で記録されているのではなく、アプリケーションソフトウェアとパッチファイルとが別個独立して記録されている点で、従来のリマスタリングした記録媒体の記録形態とは異なっている。
情報処理装置は、アプリケーションソフトウェアの実行要求がユーザより入力されると、アプリケーションソフトウェアを起動する前に、記録媒体からパッチファイルを読み出して、ハードディスクドライブなどの記憶装置にインストールする。この後、情報処理装置は、インストールしたパッチファイルを適用して、アプリケーションソフトウェアを起動する。記録媒体に記録するパッチファイルは、サーバから提供するパッチファイルと同じものでよいため、ゲームソフトウェア提供者によるパッチファイルの作成負荷が低減される。またユーザ端末においては、パッチの中抜けが発生する可能性を低減もしくはなくすことができる利点もある。
図1は、本発明の実施例にかかるファイル配信システム1を示す。ファイル配信システム1は、ゲームソフトウェアの好適な実行環境を提供するゲームシステムにおいて構築され、ゲームソフトウェアに適用するパッチファイルの取得処理を支援する。
ファイル配信システム1は、ユーザ端末であるゲーム装置10と、ゲームソフトウェアに適用するパッチファイルのバージョンを管理する管理サーバ12と、パッチファイルを提供するファイル提供サーバ16a、16b(以下、総称して「ファイル提供サーバ16」とよぶ)とを備える。ゲーム装置10、管理サーバ12およびファイル提供サーバ16は、インターネットなどのネットワーク18を介して通信可能に接続される。
管理サーバ12は、ゲームシステムの運営主体により管理され、ゲームソフトウェアごとに、パッチファイルのバージョン情報と、パッチファイルを格納する位置を示すアドレス情報とを対応づけたパッチ情報を含むバージョンファイルを保持している。ゲームソフトウェアに対して複数のパッチファイルが作成されている場合、バージョンファイルには、それぞれのパッチファイルに関するパッチ情報が含められる。
管理サーバ12は、たとえばゲームソフトウェアの識別情報(以下、「タイトルID」とよぶ)をディレクトリ名および/またはファイル名に用いたアドレス(URL)にバージョンファイルを格納する。ゲームソフトウェアのタイトルIDをディレクトリ名および/またはファイル名に用いるアドレス生成手法は、管理サーバ12およびゲーム装置10の間で共通化されている。したがってゲーム装置10は、起動するゲームソフトウェアのタイトルIDを用いてアドレスを生成し、管理サーバ12にアクセスすることで、ゲームソフトウェアのバージョンファイルを取得できる。
ファイル提供サーバ16は、ゲームソフトウェアの提供者(たとえばゲームメーカ)により管理され、ゲームソフトウェアに適用するパッチファイルを保持している。パッチファイルは、ROM媒体中のプログラムのバグを修正したり、機能を変更または追加などするために使用される。本実施例におけるパッチファイルは、前のバージョンのパッチファイルからの差分プログラムなどを含む形式で作成され、ゲーム装置10の記憶装置にインストールされる際には、前のバージョンのパッチファイルに統合された差分ファイルの形式で保持される。したがって、ゲームソフトウェアに対して差分ファイルを適用することで、全てのバージョンのパッチが当てられたゲームソフトウェアが実行される。
ゲームメーカは、ゲームソフトウェアのパッチファイルを生成すると、ファイル提供サーバ16に格納して、ゲーム装置10が、パッチファイルをファイル提供サーバ16からダウンロードできるようにする。ゲームメーカは、生成したパッチファイルをダウンロード可能な状態にすると、ゲームシステムの運営主体に対して、タイトルID、パッチファイルのバージョン情報、パッチファイルを格納する位置を示すアドレス情報などを含むパッチ情報を通知する。この通知は、オンラインで行われてもオフラインで行われてもよい。システム運営主体は、パッチ情報を受け取ると、パッチ情報の内容をバージョンファイルに追加して、バージョンファイルを更新する。
本実施例のファイル配信システム1において、ゲーム装置10に電源が投入されると、まずオペレーティングシステム(以下、単に「OS(Operating System)」と呼ぶ)が起動されて、ゲームソフトウェアの実行環境が整えられる。ゲーム装置10のドライブ装置に、ゲームソフトウェアを記録した記録媒体が装着され、ユーザからゲームの実行要求が入力されると、まずOSが、記録媒体にパッチファイルが記録されているか探索する。パッチファイルが記録されている場合には、ドライブ装置がパッチファイルを補助記憶装置に読み出して、インストールする。パッチファイルのインストールが完了すると、ドライブ装置が、補助記憶装置に保持されたパッチファイルの起動ファイルを読み出し、ゲーム装置10は、起動ファイルを実行して、ゲームソフトウェアにパッチを当てる。
ゲーム装置10は、ゲームソフトウェアを起動すると、起動処理を行いながら、同時にネットワーク18を介して管理サーバ12にアクセスし、起動したゲームソフトウェアのバージョンファイルを取得する。ゲーム装置10は、バージョンファイルに、インストールしたパッチファイルのバージョン情報よりも、新しいバージョン情報が含まれるか判断する。バージョンファイルに、保有していないパッチファイルのバージョン情報が含まれている場合、ゲーム装置10は、ファイル提供サーバ16にアクセスし、保有していないパッチファイルをダウンロードして、ゲームソフトウェアを再起動する。これによりゲーム装置10は、最新の状態でゲームアプリケーションを実行する。
本実施例に示す技術は、ゲーム装置10に限らず、会計ソフトやCADソフトなどのプログラムが記録されたROM媒体を装着される情報処理装置においても実現できる。
図2は、ゲーム装置10の機能ブロック図を示す。ゲーム装置10は、電源ボタン20、LED22、システムコントローラ24、デバイスコントローラ30、メディアドライブ32、ハードディスクドライブ34、スイッチ36、無線インタフェース38、メインコントローラ100、メインメモリ102および出力処理部200を有して構成される。
電源ボタン20は、ユーザからの操作入力が行われる入力部であって、ゲーム装置10への電源供給をオンまたはオフするために操作される。LED22は、電源のオンまたはオフの状態を点灯表示する。システムコントローラ24は、電源ボタン20の押下状態または非押下状態を検出し、電源オフの状態から押下状態への状態遷移を検出すると、メインコントローラ100を起動し、またLED22を点灯制御する。ゲーム装置10に電源ケーブルが差し込まれている場合、システムコントローラ24は、電源オフの状態であってもスタンバイモードを維持して、電源ボタン20の押下を監視する。
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、ハードディスクドライブ34、スイッチ36およびメインコントローラ100などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
メディアドライブ32は、ゲームソフトウェアおよびパッチファイルを記録したROM媒体50を装着して駆動し、ROM媒体50からゲームソフトウェアおよびパッチファイルを読み出すドライブ装置である。ROM媒体50は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
ゲームソフトウェアは、ゲームアプリケーションを実行させるメインプログラムと、メインプログラムを起動するための起動ファイルと、ゲームキャラクタやシナリオなどのゲームデータ、ゲームソフトウェアのタイトルID、ゲームソフトウェアのバージョン情報などを含んでいる。
メインプログラムは、アプリケーションの実行に必要なプログラムであり、メインプログラムを走らせることで、ゲームアプリケーションが進行する。起動ファイルは、メインプログラムを起動するためのプログラムであり、起動ファイルを実行すると、メインプログラムが呼び出されて実行される。
パッチファイルは、メインプログラムを起動するための起動ファイルと、ゲームソフトウェアのメインプログラムを修正するための修正プログラムや、追加されたゲームデータ、ゲームソフトウェアのタイトルID、パッチファイルのバージョン情報などを含んでいる。ROM媒体50において、パッチファイルはゲームソフトウェアに適用された形態ではなく、ゲームソフトウェアとは別個に記録されている。
ゲームソフトウェアのバージョン情報およびパッチファイルのバージョン情報は、それぞれの生成順を特定できるものであればよい。たとえばゲームソフトウェアのバージョン情報を「1」、最初に作成されたパッチファイルのバージョン情報を「2」、その次に作成されたパッチファイルのバージョン情報を「3」とするように、新しく作成されたパッチファイルには、それ以前に作成されたパッチファイルおよびゲームソフトウェアよりも大きな数字がバージョン情報として付与されてもよい。また単純にゲームソフトウェアの生成年月日、パッチファイルの生成年月日を特定する情報がバージョン情報として付与されてもよい。
ハードディスクドライブ34は、内蔵ハードディスクを駆動し、磁気ヘッドを用いてデータの書込/読出を行う補助記憶装置である。スイッチ36は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、情報の送受信を行うデバイスである。本実施例では、スイッチ36にケーブルが差し込まれ、ネットワーク18と通信可能に接続している。さらにスイッチ36は無線インタフェース38に接続し、無線インタフェース38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで無線通信機能をもつ入力装置40と接続する。入力装置40は、ユーザからの操作入力が行われる入力手段である。
メインコントローラ100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアをPPU(Power Processing Unit)と呼び、残りのプロセッサコアをSPU(Synergistic-Processing Unit)と呼ぶ。
メインコントローラ100は、主記憶装置であるメインメモリ102に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、各アプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリ(専用RAM)を備える。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ102とローカルメモリの間のデータ転送を行うことで、データを高速にストリーム処理でき、また出力処理部200に内蔵されるフレームメモリとローカルメモリの間で高速なデータ転送を実現できる。
出力処理部200は、表示機器60に接続されて、アプリケーションの処理結果である映像信号および音声信号を出力する。出力処理部200は、画像処理機能を実現するGPU(Graphics Processing Unit)を備える。GPUは、HDMI(High Definition Multimedia Interface)を採用し、映像信号をデジタル出力できる。
図3は、ゲーム装置10におけるパッチファイル取得処理を実行するための機能ブロックを示す。図3では、デバイスコントローラ30やメインメモリ102などの構成は省略している。メインコントローラ100は、入力受付部104、実行処理部110および更新処理部120を備え、実行処理部110は、OSを実行するOS実行部112と、ゲームアプリケーションを実行するアプリケーション実行部114とを有する。更新処理部120は、取得部130、比較部140および読出制御部142を備える。取得部130は、バージョンファイル取得部132およびパッチファイル取得部136を有する。なお、図3ではパッチファイル取得処理に関わる構成を機能別に示しているが、たとえば読出制御部142は、OS実行部112により実行されるシステムソフトウェアの一機能である。
図3において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、メインコントローラ100には1つのPPUと複数のSPUとが設けられており、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
電源が投入されると、OS実行部112が、ハードディスクドライブ34に格納されたOS170を起動する。メディアドライブ32にROM媒体50が装着されると、メディアドライブ32はROM媒体50を駆動する。OS実行部112は、ROM媒体50の認証処理を実行し、ROM媒体50が真正な媒体であることを判定すると、メニュー画面にゲームソフトウェアのアイコンを表示する。
図4は、表示機器60に表示されるメニュー画面を示す。アイコン202は、ROM媒体50に記録されたゲームソフトウェアを特定する画像であり、選択領域204に配置されると図示のように大きく表示される。アイコン202が選択領域204に配置された状態で、ユーザが入力装置40の所定のボタンを操作すると、入力受付部104が、ゲームの実行要求として受け付け、読出制御部142に供給する。
このとき読出制御部142は、メディアドライブ32を制御して、ROM媒体50にパッチファイルが含まれているか探索させる。パッチファイルが含まれていれば、メディアドライブ32は、パッチファイルのバージョン情報を読み出して、比較部140に供給する。なお、読み出されたバージョン情報は、ハードディスクドライブ34を経由して、比較部140に供給されてもよい。ここでは、読み出されたバージョン情報が「2」と「3」であった場合を説明する。
比較部140は、ROM媒体50から読み出したパッチファイルのバージョン情報と、ハードディスクドライブ34に既に保持されているパッチファイルのバージョン情報とを比較する。このとき、ハードディスクドライブ34にパッチファイルが保持されていなければ、比較部140は、ROM媒体50に記録されているパッチファイルがハードディスクドライブ34に保持されていないことを判定し、読出制御部142に通知する。比較部140は、バージョン情報が「2」と「3」であるパッチファイルがハードディスクドライブ34に保持されていないことを伝えてもよく、またハードディスクドライブ34にパッチファイルが存在していないことを伝えてもよい。読出制御部142は、比較部140による比較結果を受けると、メディアドライブ32を制御して、ハードディスクドライブ34に保持されていないパッチファイルを、ROM媒体50からハードディスクドライブ34に読み出させて、インストールする。なお複数のパッチファイルを読み出す場合、パッチファイルを特定するバージョン情報の古い方から順にハードディスクドライブ34にインストールする。既述したように、本実施例においてパッチファイルは差分ファイルとして作成されており、古いバージョンのパッチファイルからインストールして、次のバージョンのパッチファイルを、古いバージョンのパッチファイルに追加する形式で、ゲームソフトウェアに対する差分ファイルを作成していく。これにより、ゲームソフトウェアに対する差分ファイルを適切にインストールすることができる。
ハードディスクドライブ34にバージョン情報が「2」であるパッチファイルが既にインストールされている場合、比較部140は、バージョン情報が「3」であるパッチファイルがハードディスクドライブ34に保持されていないことを判定し、読出制御部142に通知する。このとき、読出制御部142は、バージョン情報が「3」であるパッチファイルのみを、メディアドライブ32によりハードディスクドライブ34に読み出させ、インストールする。
このように読出制御部142は、比較部140による比較結果を受けて、既にハードディスクドライブ34にインストールされているパッチファイルについては読み出しを行わず、インストールされていないパッチファイルのみを読み出すことで、インストール時間を短縮できる。ハードディスクドライブ34にインストールされたパッチファイルのバージョン情報のうち、最新のものが、最新パッチバージョン情報162として管理される。最新パッチバージョン情報162は、更新処理部120により管理され、最新のパッチファイル160がインストールされるたびに、最新パッチバージョン情報162は更新される。この例では、最新パッチバージョン情報162が「3」に設定されている。
読出制御部142によるパッチファイルのインストール処理が完了すると、OS実行部112は、ゲームの起動ファイルを実行する。このとき、パッチファイル160がハードディスクドライブ34にインストールされていれば、OS実行部112は、パッチファイルに含まれる起動ファイルを実行する。なおパッチファイル160がハードディスクドライブ34にインストールされていなければ、OS実行部112は、ROM媒体50に含まれる起動ファイルを実行する。起動ファイルが実行されると、アプリケーション実行部114は、ROM媒体50に記録されているメインプログラムと、インストールされたパッチファイルとをメインメモリ102にロードして、ゲームソフトウェアを起動する。
ROM媒体50に記録されたゲームソフトウェアのバージョン情報が「1」であり、タイトルIDが「ABCD」であるとする。アプリケーション実行部114は、ハードディスクドライブ34にパッチファイル160がインストールされているか探索する。パッチファイル160がインストールされている場合、アプリケーション実行部114は、パッチファイル160を適用して、ゲームソフトウェアを起動する。なお、ゲームアプリケーションの起動に利用した起動ファイルがハードディスクドライブ34から読み出されている場合に、アプリケーション実行部114は、探索処理を行わずに、パッチファイル160が存在していることを判定してもよい。この例では、バージョン2,3のパッチファイルがインストールされており、したがってアプリケーション実行部114は、パッチを当てて、ゲームアプリケーションを実行する。
パッチファイルを適用してゲームソフトウェアが起動されると、バージョンファイル取得部132が、予め定められたアドレス生成手法により、ゲームソフトウェアのバージョンファイルを取得するためのアドレスを生成する。タイトルIDを「ABCD」とするゲームソフトウェアのアドレスは、アドレス生成手法により以下のように設定される。
http://www.***.com/ABCD/ABCD.XYZ
「www.***.com」は管理サーバ12を特定し、「ABCD/ABCD.XYZ」は、管理サーバ12のディレクトリ(ABCD)に含まれるファイル名(ABCD.XYZ)を特定する。すなわち、このアドレス生成手法では、ゲームソフトウェアのタイトルIDを、ディレクトリ名およびファイル名に利用する。したがって管理サーバ12の管理者が、ゲームソフトウェアごとに、タイトルIDをディレクトリとし、タイトルIDをファイル名としてバージョンファイルを格納することで、ゲーム装置10が、起動するゲームソフトウェアのバージョンファイルを取得できるようになる。
バージョンファイル取得部132は、生成したアドレスをもとにネットワーク18を介して管理サーバ12にアクセスし、ゲームソフトウェアのバージョンファイルをダウンロードして取得する。
図5は、バージョンファイルの一例を示す。図5は、バージョンファイルに含まれる情報を簡略的に示しているが、バージョンファイルはXMLの形式で記述されてもよい。バージョンファイルのファイル名は、「ABCD.XYZ」である。バージョンファイルは、タイトル情報176およびパッチ情報180a、180b、180cを含む。
タイトル情報176は、タイトルIDを特定する情報であり、この例ではタイトルIDが「ABCD」である。パッチ情報180は、ゲームソフトウェアのパッチファイルのバージョン情報と、パッチファイルを格納する位置を示すアドレス情報とを対応づけた情報である。図5において、パッチファイルのバージョン情報は「パッチバージョン」として、アドレス情報は「パッチ取得URL」として、それぞれ示されている。ゲーム装置10は、パッチ取得URLに接続することで、パッチファイルを取得できる。
パッチ情報180a、180b、180cは、それぞれ個々のパッチファイルに関する情報であり、この例ではタイトルIDをABCDとするゲームソフトウェアに対して、3つのパッチファイルが存在することが示されている。パッチ情報180a、180b、180cは、生成日が古いものから順に上から記述されている。パッチ情報180aは、バージョン情報が「2」であるパッチファイルのアドレス情報を示す。パッチ情報180bは、バージョン情報が「3」であるパッチファイルのアドレス情報を示す。パッチ情報180cは、バージョン情報が「4」であるパッチファイルのアドレス情報を示す。
バージョンファイル取得部132が、ゲームソフトウェアのバージョンファイルを取得すると、比較部140は、ゲームソフトウェアに適用しているパッチファイルのバージョン情報と、バージョンファイルに含まれるバージョン情報とを比較する。アプリケーション実行部114は、バージョン2,3のパッチファイルを利用して、ゲームソフトウェアにパッチを当てている。比較部140は、最新パッチバージョン情報162に含まれるバージョン情報と、バージョンファイルに含まれるバージョン情報とを比較してよい。比較部140は、実行中のゲームソフトウェアに適用しているパッチファイル160の最新バージョン情報「3」と、バージョンファイルに含まれるバージョン情報「2」、「3」、「4」を比較し、バージョンファイルに含まれるバージョン情報「4」が、実行中のゲームソフトウェアに適用しているパッチファイルのバージョン情報よりも新しいことを判定する。この比較結果は、パッチファイル取得部136に供給される。
パッチファイル取得部136は、比較結果を受けると、ファイル提供サーバ16にアクセスして、バージョン情報「4」で特定されるパッチファイルを取得する。バージョン4のパッチファイルの取得アドレスは、パッチ情報180cにおいて「パッチ取得URL」として記述されており、パッチファイル取得部136は、このアドレスにアクセスして、バージョン4のパッチファイルを取得し、ハードディスクドライブ34にインストールする。パッチファイル取得部136は、ハードディスクドライブ34にインストールされているパッチファイル160に、取得したバージョン4のパッチファイルを追加し、パッチファイル160を更新する。新たなパッチファイルが取得されると、実行処理部110は、ゲームソフトウェアを再起動し、更新されたパッチファイル160を適用して、ゲームソフトウェアを実行する。
本実施例のパッチファイルの取得処理を、従来型のリマスタリングしたROM媒体を用いてファイル提供サーバ16からパッチファイルを取得する処理と対比して説明する。従来型のリマスタリングしたROM媒体には、既にパッチが当てられたゲームソフトウェアが記録されている。バージョン2,3のパッチが当てられたゲームソフトウェアのバージョンを「3」として、まず、従来型のパッチファイルの取得処理を説明する。
図6(a)は、従来型のリマスタリングしたROM媒体52を用いて、パッチファイルを取得したときのインストール状況を示す。バージョン3のゲームソフトウェアは、バージョン1のゲームソフトウェアに、バージョン2,3のパッチファイルが適用されたものである。アプリケーション実行部114がゲームソフトウェアを起動した後、バージョンファイル取得部132が、ゲームソフトウェアのバージョンファイルを取得する。比較部140は、ゲームソフトウェアのバージョン情報と、バージョンファイル(図5参照)に含まれるバージョン情報とを比較する。パッチファイル取得部136は、比較結果を受けると、ファイル提供サーバ16にアクセスして、バージョン情報「4」で特定されるパッチファイル160dを取得する。
図6(b)は、本実施例のROM媒体50を用いて、パッチファイルを取得したときのインストール状況を示す。ROM媒体50からバージョン2のパッチファイル160aとバージョン3のパッチファイル160bがハードディスクドライブ34にインストールされ、パッチファイル160aと160bとが融合したパッチファイルが作成される。アプリケーション実行部114が、パッチを当ててゲームソフトウェア150を起動する。その後、バージョンファイル取得部132が、ゲームソフトウェア150のバージョンファイルを取得すると、比較部140が、ゲームソフトウェア150に適用しているパッチファイルのバージョン情報と、バージョンファイルに含まれるバージョン情報とを比較する。パッチファイル取得部136は、比較結果を受けると、ファイル提供サーバ16にアクセスして、バージョン情報「4」で特定されるパッチファイル160cを取得する。パッチファイル取得部136は、ハードディスクドライブ34にインストールされたパッチファイルと、取得したパッチファイル160cとを融合したパッチファイル160を作成する。
図6(a)に示すハードディスクドライブ34においては、バージョン4のパッチファイル160dのみがインストールされており、バージョン2,3のパッチファイル160a、160bはインストールされていない。そのため、ROM媒体52を利用する限りにおいては適切にゲームアプリケーションは実行されるが、リマスタリングしていないROM媒体を利用すると、バージョン2,3のパッチを当てることができないため、ゲームアプリケーションを適切に実行できなくなる。なお、リマスタリングしていないROM媒体とは、バージョン1のゲームソフトウェア150を記録し、パッチファイルを記録していないROM媒体である。
一方で、図6(b)に示すハードディスクドライブ34においては、最も古いバージョン2のパッチファイル160aから最も新しいバージョンのパッチファイル160cまでのすべてを組み込んだパッチファイル160がインストールされている。そのため、リマスタリングしていないROM媒体を利用しても、全てのパッチを当てることができ、ゲームアプリケーションを適切に実行できるという利点がある。
なお、図6(a)に示すパッチファイル160dは、パス情報などの違いから、図6(b)に示すパッチファイル160cとは異なって作成されている。リマスタリングしたROM媒体と、リマスタリングしていない初期のROM媒体とで、パッチファイル160を共通に利用できるようにするためにも、図6(b)に示すように、ゲームソフトウェアと、パッチファイルとを、別個にROM媒体50に記録して、記録媒体をリマスタすることには、ゲームソフトウェア提供者のパッチファイル作成負荷を低減する利点もある。
図7は、ゲーム装置10におけるパッチファイル取得処理のフローチャートを示す。ROM媒体50がメディアドライブ32に装着されなければ(S10のN)、パッチファイルの取得処理およびゲームソフトウェアの起動処理は実行されない。ROM媒体50がメディアドライブ32に装着されると(S10のY)、ROM媒体50の認証処理が実行される。ROM媒体50が真正な媒体であることが判定されると、図4に示すメニュー画面が表示機器60に表示される。ユーザが入力装置40を操作して、ゲーム実行要求を入力しなければ(S12のN)、ゲームソフトウェアは起動されず、ゲーム実行要求を入力すると(S12のY)、読出制御部142が、メディアドライブ32を制御して、ROM媒体50にパッチファイルが記録されているか調査する(S14)。パッチファイルが記録されていなければ(S14のN)、OS実行部112は、起動ファイルをROM媒体50からメインメモリ102に読み出して実行し、アプリケーション実行部114が、メインプログラムを実行して、ゲームソフトウェアを起動する(S22)。なお、このときハードディスクドライブ34にパッチファイル160がインストールされていれば、OS実行部112は、起動ファイルをハードディスクドライブ34からメインメモリ102に読み出して実行し、アプリケーション実行部114が、パッチファイル160を適用して、ゲームソフトウェアを起動する。
一方、ROM媒体50にパッチファイルが記録されていれば(S14のY)、比較部140は、メディアドライブ32から読み出されたパッチファイルのバージョン情報を取得する。比較部140は、バージョン情報を用いて、ROM媒体50に記録されているパッチファイルと同じバージョンのパッチファイルが既にハードディスクドライブ34にインストールされているか判定する(S16)。既にインストールされている場合(S16のY)、読出制御部142は、メディアドライブ32による同じバージョンのパッチファイルの読出を禁止する。OS実行部112は、起動ファイルをハードディスクドライブ34からメインメモリ102に読み出して実行し、アプリケーション実行部114が、既にインストールされているパッチファイル160を適用して、ゲームソフトウェアを起動する(S22)。
一方、ROM媒体50に記録されているパッチファイルと同じバージョンのパッチファイルがハードディスクドライブ34にインストールされていなければ(S16のN)、OS実行部112は、表示機器60に、パッチファイルをインストールするかユーザに確認するための確認画面を表示する。
図8は、ROM媒体50に記録されたパッチファイルのインストール確認画面を示す。この確認画面では、ROM媒体50にパッチファイルが記録されており、パッチファイルをインストールしなければ、ゲームを実行できないことが通知される。ユーザが「はい」を選択すると、入力受付部104が、その選択操作をインストール要求として受け付け(S18のY)、読出制御部142は、メディアドライブ32を制御して、メディアドライブ32にROM媒体50からパッチファイルを読み出させて、ハードディスクドライブ34にインストールする(S20)。一方、この確認画面で、ユーザが「いいえ」を選択すると、入力受付部104が、その選択操作を受け付け(S18のN)、本フローは終了する。このように、本実施例のゲーム装置10においては、ROM媒体50に記録されたパッチファイルをインストールしなければ、ゲームアプリケーションの実行が禁止される。逆に言えば、リマスタリングしたROM媒体50を用いると、パッチを当てなければゲームソフトウェアが起動されないため、ユーザに、パッチファイルをインストールさせるインセンティブを与えることができる。
パッチファイルのインストール後、OS実行部112は、起動ファイルをハードディスクドライブ34からメインメモリ102に読み出して実行し、アプリケーション実行部114が、インストールされているパッチファイル160を適用して、ゲームソフトウェアを起動する(S22)。
ゲームソフトウェアの起動後、バージョンファイル取得部132は、ネットワーク18を介して、起動したゲームソフトウェアの識別情報を用いて、バージョンファイルを取得する(S24)。比較部140は、起動したゲームソフトウェアに適用しているパッチファイルのバージョン情報と、バージョンファイルに含まれるバージョン情報とを比較し、未取得のパッチファイルが存在するか判定する(S26)。ゲームソフトウェアに適用しているパッチファイルのバージョン情報よりも新しいバージョン情報がバージョンファイルに含まれる場合(S26のY)、アプリケーション実行部114は、表示機器60に、パッチファイルをインストールするかユーザに確認するための確認画面を表示する。
図9は、ファイル提供サーバ16に保持されたパッチファイルのインストール確認画面を示す。この確認画面では、ファイル提供サーバ16に未取得のパッチファイルが存在しており、パッチファイルをインストールすることで、最新の状態でゲームを実行できることが通知される。ユーザが「はい」を選択すると、入力受付部104が、その選択操作をインストール要求として受け付け(S28のY)、パッチファイル取得部136は、ネットワーク18を介して、バージョンファイルにおいて新しいバージョン情報に対応づけられたアドレス情報を利用して、パッチファイルを取得し(S30)、ハードディスクドライブ34にインストールする(S20)。一方、この確認画面で、ユーザが「いいえ」を選択すると、入力受付部104が、その選択操作を受け付け(S28のN)、ゲームの起動状態を維持して、本フローによるパッチファイルの取得処理は終了する。このように、本実施例のゲーム装置10においては、ネットワーク18経由でパッチファイルをインストールしなくても、ゲームアプリケーションの実行は維持されることとし、ネットワーク18に接続しないゲーム装置10との公平性を担保している。
パッチファイルがネットワーク18経由でインストールされると、アプリケーション実行部114は、起動したゲームソフトウェアを終了し、新たなパッチファイル160を適用して、ゲームソフトウェアを再起動する(S22)。ゲームソフトウェアの再起動後、バージョンファイル取得部132は、バージョンファイルを取得し(S24)、比較部140は、未取得のパッチファイルが存在するか判定する(S26)。このとき、未取得のパッチファイルは存在しないため(S26のN)、パッチファイルの取得処理は終了し、アプリケーション実行部114は、引き続き、ゲームソフトウェアを実行する。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、ゲームソフトウェアが記録された記録媒体の例としてROM媒体を示したが、記録媒体は、たとえば情報の書換可能な媒体であっても構わない。
1・・・ファイル配信システム、10・・・ゲーム装置、12・・・管理サーバ、16・・・ファイル提供サーバ、18・・・ネットワーク、32・・・メディアドライブ、34・・・ハードディスクドライブ、50・・・ROM媒体、100・・・メインコントローラ、110・・・実行処理部、112・・・OS実行部、114・・・アプリケーション実行部、120・・・更新処理部、130・・・取得部、132・・・バージョンファイル取得部、136・・・パッチファイル取得部、140・・・比較部、142・・・読出制御部、150・・・ゲームソフトウェア、160・・・パッチファイル、170・・・OS、176・・・タイトル情報、180・・・パッチ情報。

Claims (7)

  1. アプリケーションソフトウェアおよびパッチファイルを記録した記録媒体からデータを読み出すドライブ装置と、
    記憶装置と、
    アプリケーションソフトウェアの実行要求を受けると、前記ドライブ装置に記録媒体からパッチファイルを読み出させて、前記記憶装置にインストールする読出制御部と、
    パッチファイルのインストール後、インストールされたパッチファイルを適用して、記録媒体に記録されているアプリケーションソフトウェアを起動する実行処理部と、
    アプリケーションソフトウェアの起動後、ネットワークを介して、起動したアプリケーションソフトウェアの識別情報を用いて、アプリケーションソフトウェアのパッチファイルのバージョン情報と、パッチファイルを格納する位置を示すアドレス情報とを対応づけたバージョンファイルを取得するバージョンファイル取得部と、
    起動したアプリケーションソフトウェアに適用しているパッチファイルのバージョン情報と、バージョンファイルに含まれるバージョン情報とを比較する比較部と、
    アプリケーションソフトウェアに適用しているパッチファイルのバージョン情報よりも新しいバージョン情報がバージョンファイルに含まれる場合に、ネットワークを介して、より新しいバージョン情報に対応づけられたアドレス情報を利用して、パッチファイルを取得して、前記記憶装置にインストールするパッチファイル取得部と、
    を備えることを特徴とする情報処理装置。
  2. 前記パッチファイル取得部によりパッチファイルが取得されると、前記実行処理部は、アプリケーションソフトウェアを再起動することを特徴とする請求項1に記載の情報処理装置。
  3. 前記実行処理部は、記録媒体に記録されているパッチファイルが前記記憶装置にインストールされなければ、アプリケーションソフトウェアを起動しないことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記読出制御部は、前記記憶装置に、記録媒体に記録されているパッチファイルと同じバージョンのパッチファイルが既にインストールされている場合には、前記ドライブ装置による同じバージョンのパッチファイルの読出を禁止することを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 前記実行処理部は、前記パッチファイル取得部により前記記憶装置にパッチファイルがインストールされなくても、アプリケーションソフトウェアの実行を維持することを特徴とする請求項1から4のいずれかに記載の情報処理装置。
  6. コンピュータに、
    アプリケーションソフトウェアおよびパッチファイルを記録した記録媒体がドライブ装置に装着され、アプリケーションソフトウェアの実行要求を受けると、ドライブ装置により記録媒体からパッチファイルを読み出して、記憶装置にインストールする機能と、
    パッチファイルのインストール後、記憶装置にインストールされたパッチファイルを適用して、記録媒体に記録されているアプリケーションソフトウェアを起動する機能と、
    アプリケーションソフトウェアの起動後、ネットワークを介して、起動したアプリケーションソフトウェアの識別情報を用いて、アプリケーションソフトウェアのパッチファイルのバージョン情報と、パッチファイルを格納する位置を示すアドレス情報とを対応づけたバージョンファイルを取得する機能と、
    起動したアプリケーションソフトウェアに適用しているパッチファイルのバージョン情報と、バージョンファイルに含まれるバージョン情報とを比較する機能と、
    アプリケーションソフトウェアに適用しているパッチファイルのバージョン情報よりも新しいバージョン情報がバージョンファイルに含まれる場合に、ネットワークを介して、より新しいバージョン情報に対応づけられたアドレス情報を利用して、パッチファイルを取得して、前記記憶装置にインストールする機能と、
    を実現させるためのプログラム。
  7. 請求項6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2009200683A 2009-08-31 2009-08-31 情報処理装置 Active JP4838338B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009200683A JP4838338B2 (ja) 2009-08-31 2009-08-31 情報処理装置
US12/823,597 US8949205B2 (en) 2009-08-31 2010-06-25 Information processing apparatus for processing application software and a patch file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009200683A JP4838338B2 (ja) 2009-08-31 2009-08-31 情報処理装置

Publications (2)

Publication Number Publication Date
JP2011053817A JP2011053817A (ja) 2011-03-17
JP4838338B2 true JP4838338B2 (ja) 2011-12-14

Family

ID=43626749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009200683A Active JP4838338B2 (ja) 2009-08-31 2009-08-31 情報処理装置

Country Status (2)

Country Link
US (1) US8949205B2 (ja)
JP (1) JP4838338B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848905B1 (en) * 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
JP6022215B2 (ja) 2012-05-31 2016-11-09 任天堂株式会社 投稿情報共有システム、情報処理システム、情報処理方法、プログラムおよびコンピュータプラットフォーム
JP6159511B2 (ja) 2012-06-01 2017-07-05 任天堂株式会社 情報処理システム、情報処理装置および情報処理方法
JP6099365B2 (ja) * 2012-11-15 2017-03-22 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、アプリケーションの実行方法、および、記憶媒体
JP6152289B2 (ja) * 2012-11-15 2017-06-21 任天堂株式会社 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
JP6062722B2 (ja) 2012-11-16 2017-01-18 任天堂株式会社 情報処理システム、情報処理装置、情報処理方法、およびコンピュータプログラム
WO2014111984A1 (ja) * 2013-01-17 2014-07-24 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびファイル管理方法
US10860303B2 (en) * 2013-04-24 2020-12-08 Nintendo Co., Ltd. Selective operating system patching/updating
JP6209854B2 (ja) * 2013-05-10 2017-10-11 株式会社リコー 情報処理システム
JP2015064808A (ja) * 2013-09-26 2015-04-09 株式会社日立ソリューションズ メソッドレベルのクローン分析方法
JP2015088146A (ja) * 2013-11-01 2015-05-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
DE102013021158A1 (de) * 2013-12-10 2015-06-11 Fresenius Medical Care Deutschland Gmbh Verfahren zum Update und/oder Upgrade der Betriebssoftware eines elektronischen Gerätes
CN106462712B (zh) * 2014-05-16 2020-02-07 索尼半导体解决方案公司 信息处理装置、信息处理方法和电子设备
US9501664B1 (en) 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
CN108874410B (zh) * 2017-05-09 2023-05-05 中兴通讯股份有限公司 补丁管理方法及装置
JP6965034B2 (ja) * 2017-06-19 2021-11-10 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法、および、情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992008231A1 (en) * 1990-11-02 1992-05-14 Transcomputer, Inc. Rom patch device
US6216175B1 (en) * 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
JP4426736B2 (ja) * 2001-04-27 2010-03-03 株式会社日立製作所 プログラム修正方法およびプログラム
JP2005004712A (ja) * 2003-06-13 2005-01-06 Hidenori Sakamoto 遠隔保守支援システム
US7685591B2 (en) * 2004-12-20 2010-03-23 Microsoft Corporation Customizing a software application through a patch file
JP4459215B2 (ja) 2006-11-09 2010-04-28 株式会社ソニー・コンピュータエンタテインメント ゲーム装置および情報処理装置
JP4870626B2 (ja) * 2007-07-19 2012-02-08 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP5358153B2 (ja) * 2008-10-10 2013-12-04 株式会社ソニー・コンピュータエンタテインメント ゲーム装置および情報処理装置
US8689204B2 (en) * 2009-02-28 2014-04-01 Blackberry Limited Methods and tools for creation of read-only-memory software binary images and corresponding software patches

Also Published As

Publication number Publication date
US8949205B2 (en) 2015-02-03
US20110055821A1 (en) 2011-03-03
JP2011053817A (ja) 2011-03-17

Similar Documents

Publication Publication Date Title
JP4838338B2 (ja) 情報処理装置
JP5358153B2 (ja) ゲーム装置および情報処理装置
JP4459215B2 (ja) ゲーム装置および情報処理装置
US9055128B2 (en) Information processing device
KR101512252B1 (ko) 운영 시스템(os)이 없는 서비스 환경에서 펌웨어를 프로비저닝하는 방법
US8112617B2 (en) Information processing device, and method of starting information processing device
JP4671198B2 (ja) 情報処理装置
US8750147B2 (en) Information processing device for determining related files for download
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP5665923B2 (ja) 基本入出力システムがアップデート可能な電子装置及びアップデート方法
JP2008073259A (ja) ゲーム装置
JP5063746B2 (ja) 情報処理装置
JP6889617B2 (ja) 情報処理装置、プログラム管理方法、及びプログラム
JP2006024155A (ja) 周辺装置
US20230062039A1 (en) Information processing device and file recording method
JP6073710B2 (ja) 情報処理装置、起動障害からの自動復旧方法、及び起動障害からの自動復旧プログラム
JP4870626B2 (ja) 情報処理装置
JP2013003730A (ja) 設定情報管理プログラム、設定情報管理方法及び情報処理装置
JP2008071288A (ja) ソフトウェア管理方法及び管理システム
JP2018037052A (ja) 情報処理装置、情報処理システム、コンピュータプログラムおよび方法
JP7316078B2 (ja) 情報処理装置および機能実行方法
JP2019028778A (ja) 情報処理装置およびダウンロード処理方法
JPH10254708A (ja) 情報処理装置及び該装置におけるソフトウェアインストール方法と前記装置を含む情報処理システム
JP5919204B2 (ja) 情報処理装置、情報処理方法およびサーバ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110831

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: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110929

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4838338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250