JP3888629B2 - データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法 - Google Patents

データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法 Download PDF

Info

Publication number
JP3888629B2
JP3888629B2 JP2002334113A JP2002334113A JP3888629B2 JP 3888629 B2 JP3888629 B2 JP 3888629B2 JP 2002334113 A JP2002334113 A JP 2002334113A JP 2002334113 A JP2002334113 A JP 2002334113A JP 3888629 B2 JP3888629 B2 JP 3888629B2
Authority
JP
Japan
Prior art keywords
data
game
writing
game machine
updated
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.)
Expired - Lifetime
Application number
JP2002334113A
Other languages
English (en)
Other versions
JP2004166819A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2002334113A priority Critical patent/JP3888629B2/ja
Publication of JP2004166819A publication Critical patent/JP2004166819A/ja
Application granted granted Critical
Publication of JP3888629B2 publication Critical patent/JP3888629B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/558Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking

Description

【0001】
【発明の属する技術分野】
本発明は、データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法に関し、より特定的には、ゲーム機間のデータ通信によってやりとりされたデータに基づいて更新されたゲームデータを、電気的に書き換え可能な不揮発性メモリに書き込むためのデータ書き込みプログラム、ゲームシステムおよびデータ書き込み方法に関する。
【0002】
【従来の技術】
従来、ゲーム機間のデータ通信によってやりとりされたデータに基づいて、各ゲーム機で個別に保持しているゲームデータを更新するゲームシステムがある(例えば、特許文献1参照。)。このようなゲームシステムによれば、例えば、あるゲーム機において、ゲーム中に特定のキャラクタが出現したときに、通信によってこのキャラクタに関する情報を他のゲーム機に送信することにより、そのキャラクタを他のゲーム機にも登場させることができる。
【0003】
さらに、このようなゲームシステムを利用すれば、あるゲーム機で出現したキャラクタやアイテムを、他のゲーム機に移動させたり、他のゲーム機で出現したキャラクタやアイテムと交換したりすることも可能となる。以下、従来のゲームシステムにおいて、第1ゲーム機から第2ゲーム機へキャラクタAを移動させるときの処理の流れを図14に示すフローチャートを参照して説明する。
【0004】
第1ゲーム機および第2ゲーム機において、キャラクタAの移動を開始する前に、まず、更新前のゲームデータがバックアップメモリにセーブされる(S911、S921)。これは、キャラクタAの移動処理が何らかの原因によって失敗に終わったときに、ゲームデータが完全に消滅してしまうことを防ぐためである。第1ゲーム機の更新前のゲームデータには、キャラクタAが存在し、第2ゲーム機の更新前のゲームデータには、キャラクタAは存在しない。続いて、第1ゲーム機から第2ゲーム機へキャラクタAに関するキャラクタ情報が送信される(S912、S922)。そして、各ゲーム機では、通信によってやり取りされたキャラクタAのデータに基づいて、ワークRAM上でゲームデータが更新される(S913、S923)。すなわち、第1ゲーム機では、キャラクタAを消去するようにゲームデータが更新され、第2ゲーム機では、キャラクタAを追加するようにゲームデータが更新される。ゲームデータの更新が完了すると、続いて各ゲーム機において、更新後のゲームデータがバックアップメモリにセーブされる(S914、S924)。このとき、各ゲーム機では、図15に示すように、ステップS911およびステップS921でセーブした更新前のゲームデータを上書きしないような領域に、更新後のゲームデータが書き込まれる。この結果、第1ゲーム機のバックアップメモリには、キャラクタAが存在しないゲームデータが記憶され、第2ゲーム機のバックアップメモリには、キャラクタAが存在するゲームデータが記憶される。以上のようにして第1ゲーム機から第2ゲーム機へキャラクタAが移動される。キャラクタの交換についても同様である。
【0005】
【特許文献1】
特開2002-204893号公報
【0006】
【発明が解決しようとする課題】
ところが、前述のキャラクタAの移動処理の例では、ステップS912およびステップS922でゲームデータのやりとりが完了後、いずれかのゲーム機において、何らかの原因によって(例えば、セーブ中にプレイヤによって電源が切られることによって)更新後のゲームデータが正常にセーブできなかった場合、キャラクタAが完全に消滅してしまったり、キャラクタAの複製が生成されてしまったりといった問題が発生することが判明した。
【0007】
例えば、図16の(a)に示すように、ゲームデータの更新処理が開始されてから(時刻t0)各ゲーム機において更新後のセーブデータがバックアップメモリに書き込まれるまで(時刻t1)の期間において、電源が切られるなどによって第2ゲーム機の処理が異常終了してしまった場合、第1ゲーム機ではセーブが成功し、第2ゲーム機ではセーブが失敗する。第1ゲーム機では、セーブが正常に完了したため、次回のゲーム処理では更新後のゲームデータがバックアップメモリより読み出される。一方、第2ゲーム機では、セーブの失敗によって更新後のゲームデータは消失してしまったので、次回のゲーム処理ではステップS921でセーブしておいた更新前のゲームデータがバックアップメモリより読み出される。その結果、図16の(b)に示すように、第1ゲーム機にも第2ゲーム機にもキャラクタAが存在せず、キャラクタAが完全に消滅してしまうことになる。
【0008】
また例えば、図17の(a)に示すように、時刻t0〜時刻t1の期間において、第1ゲーム機の処理が異常終了してしまった場合には、第1ゲーム機ではセーブが失敗し、第2ゲーム機ではセーブが成功する。第1ゲーム機では、セーブの失敗によって更新後のゲームデータは消失してしまったので、次回のゲーム処理ではステップS911でセーブしておいた更新前のゲームデータがバックアップメモリより読み出される。一方、第2ゲーム機では、セーブが正常に完了したため、次回のゲーム処理では更新後のゲームデータがバックアップメモリより読み出される。その結果、図17の(b)に示すように、第1ゲーム機にも第2ゲーム機にもキャラクタAが存在し、キャラクタAの複製が生成されてしまうことになる。特に、キャラクタAがゲーム中でめったに出現しないような貴重なキャラクタである場合には、プレイヤが故意に第1ゲーム機の電源を切ってキャラクタAの複製を生成することもあり得る。そうなれば、ゲームの面白みが失われてしまうことになる。
【0009】
このように、一方のゲーム機でセーブが失敗し、他方のゲーム機でセーブが成功した場合には、データが消滅したりデータの複製が生成されたりといった問題が生じる。なお、第1ゲーム機および第2ゲーム機の双方でセーブに失敗した場合には、いずれのゲーム機においても、次回のゲーム処理では更新前のゲームデータがバックアップメモリより読み出されるため、データが消滅したりデータの複製が生成されたりといった問題は生じない。
【0010】
それゆえに本発明は、各ゲーム機において、データ通信によってやりとりされたデータに基づいて更新されたゲームデータを、電気的に書き換え可能な不揮発性メモリに書き込むときに、あるゲーム機ではセーブに失敗し、他のゲーム機ではセーブに成功するといった状況が発生する可能性を低減することのできるデータ書き込みプログラム、ゲームシステムおよびデータ書き込み方法を提供することを目的とする。
【0011】
【課題を解決するための手段および発明の効果】
本発明は、上記の課題を解決するために以下のような構成を採用した。なお、括弧内の参照符号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであり、本発明の範囲を何ら限定するものではない。
【0012】
本発明のデータ書き込みプログラムは、第1ゲーム機(100a)に通信可能に接続された第2ゲーム機(100b)との間のデータ通信によってやりとりされたデータ(キャラクタ情報)に基づいて更新されたゲームデータを、この第1ゲーム機に接続された電気的に書き換え可能な不揮発性メモリ(22)に書き込むためのプログラムである。このデータ書き込みプログラムは、第1ゲーム機のコンピュータ(CPU11)に、第1書き込みステップ(S15、S25)と、第1書き込み完了通知送信ステップ(S16、S26)と、第1書き込み完了通知受信ステップ(S16、S26)と、第2書き込みステップ(S17、S27)とを実行させる。第1書き込みステップでは、更新後のゲームデータが、所定の部分(53)を除いて不揮発性メモリに書き込まれる。第1書き込み完了通知送信ステップでは、上記の第1書き込みステップの書き込みが完了したときに、第2ゲーム機に第1書き込み完了通知が送信される。第1書き込み完了通知受信ステップでは、第2ゲーム機から第1書き込み完了通知が受信される。第2書き込みステップでは、第2ゲーム機に第1書き込み完了通知が送信され、かつ第2ゲーム機から第1書き込み完了通知が受信された後に、上記の所定部分のゲームデータが不揮発性メモリに書き込まれる。これにより、各ゲーム機は、更新されたゲームデータの一部の書き込みが完了したことを互いに確認してから残りの部分を書き込むので、何ら確認することなく更新後のゲームデータの全てが書き込まれる場合と比較して、一方のゲーム機ではセーブに失敗し、かつ他方のゲーム機ではセーブに成功するといった状況が発生する可能性をより低減することができる。
【0013】
なお、上記の所定部分のデータサイズが、不揮発性メモリに対して書き込み可能な最小単位のデータサイズであってもよい。これにより、第2書き込みステップで書き込むべきデータのサイズが最小限となるので、ゲームデータの一部の書き込みが完了したことを互いに確認してから全てのゲームデータの書き込みが完了するまでの期間を最小限の期間とすることができる。その結果、一方のゲーム機ではセーブに失敗し、かつ他方のゲーム機ではセーブに成功するといった状況が発生する可能性を最小限に抑えることができる。
【0014】
また、上記の所定部分のデータが、更新後のゲームデータの書き込みが正常に完了したことを示す書き込み完了データ(53)であってもよい。これにより、不揮発性メモリに書き込まれたゲームデータを読み出す際に、書き込み完了データを参照することで、そのゲームデータが最後まで正常に書き込まれたものであるか否かを確実に識別することができる。また、第2書き込みステップで書き込むべきデータが書き込み完了データのみとなるので、ゲームデータの一部の書き込みが完了したことを互いに確認してから全てのゲームデータの書き込みが完了するまでの期間が短くなる。その結果、一方のゲーム機ではセーブに失敗し、かつ他方のゲーム機ではセーブに成功するといった状況が発生する可能性を低減することができる。なお、書き込み完了データの例としては、パリティチェックやチェックサムやCRCのデータが挙げられる。
【0015】
また、更新後のゲームデータが、不揮発性メモリにおいて、最近に書き込まれたゲームデータが上書きされないような領域に書き込まれてもよい。これにより、更新後のゲームデータの書き込みが書き込み途中で失敗してしまった場合であっても、不揮発性メモリに最近に書き込まれたゲームデータは残るので、ゲームデータが完全に消失してしまうことがない。しかも、一方のゲーム機では書き込みに成功し、かつ他方のゲーム機では書き込みに失敗するといった状況が発生する可能性を低減することができる。したがって、書き込みに失敗したゲーム機が、次回のゲーム処理において更新以前のゲームデータを利用することに起因した問題(特定のゲームデータが消滅してしまう問題や、特定のゲームデータの複製が生成されてしまう問題)が発生する可能性を低減することができる。
【0016】
また、上記のデータ書き込みプログラムが、コンピュータ読取可能な記録媒体(200a)に格納された状態でコンピュータに供給されてもよい。
【0017】
本発明のゲームシステムは、通信可能に接続された少なくとも2台のゲーム機(100a、100b)が個別に保持しているゲームデータを、これらゲーム機間のデータ通信によってやりとりされたデータ(キャラクタ情報)に基づいてそれぞれ更新し、更新後のゲームデータを各ゲーム機に接続された電気的に書き換え可能な不揮発性メモリ(22)にそれぞれ書き込むシステムである。このゲームシステムでは、各ゲーム機が、揮発性メモリ(12)と、データ更新手段(ステップS13を実行するCPU11;以下、単にステップ番号のみを示す)と、第1書き込み手段(S15)と、第1書き込み完了通知送信手段(S16)と、第1書き込み完了通知受信手段(S16)と、第2書き込み手段(S17)とをそれぞれ備える。揮発性メモリは、ゲーム処理の過程で生成されたゲームデータを一時的に記憶する。データ更新手段は、データ通信によってやり取りされたデータに基づいて揮発性メモリに記憶されているゲームデータを更新する。第1書き込み手段は、更新後のゲームデータを、所定部分(53)を除いて不揮発性メモリに書き込む。第1書き込み完了通知送信手段は、第1書き込み手段による書き込みが完了したときに、他のゲーム機に第1書き込み完了通知を送信する。第1書き込み完了通知受信手段は、他のゲーム機から第1書き込み完了通知を受信する。第2書き込み手段は、他のゲーム機に第1書き込み完了通知が送信され、かつ他のゲーム機から第1書き込み完了通知が受信された後に、上記の所定部分のゲームデータを不揮発性メモリに書き込む。これにより、一方のゲーム機ではセーブに失敗し、かつ他方のゲーム機ではセーブに成功するといった状況が発生する可能性をより低減することができる。
【0018】
本発明のデータ書き込み方法は、通信可能に接続された少なくとも2台のゲーム機(100a、100b)において、これらゲーム機間のデータ通信によってやりとりされたデータ(キャラクタ情報)に基づいて更新されたゲームデータを、各ゲーム機に接続された電気的に書き換え可能な不揮発性メモリ(22)にそれぞれ書き込むためのデータ書き込み方法である。このデータ書き込み方法は、各ゲーム機において、更新後のゲームデータを不揮発性メモリに書き込むときに、この更新後のゲームデータを、第1書き込み処理と第2書き込み処理の2回に分けて書き込み、第1書き込み処理が完了したときに、その旨を他のゲーム機に通知し、他のゲーム機からの第1書き込み処理の完了の通知に基づいて各ゲーム機において第1書き込み処理が完了したことが確認された後、第2書き込み処理を開始する。これにより、一方のゲーム機ではセーブに失敗し、かつ他方のゲーム機ではセーブに成功するといった状況が発生する可能性をより低減することができる。
【0019】
【発明の実施の形態】
以下、本発明の一実施形態について図面を参照して説明する。
図1に、本発明の一実施形態に係るゲームシステムの外観を示す。図1において、第1ゲーム機100aと、第2ゲーム機100bとが通信ケーブル300を介して通信可能に接続される。また、第1ゲーム機100aおよび第2ゲーム機100bには、ゲームカートリッジ200a、200bが必要に応じてそれぞれ接続される。
【0020】
図2に、第1ゲーム機100aおよびゲームカートリッジ200aの内部構成を示す。なお、第2ゲーム機100bおよびゲームカートリッジ200bについては、第1ゲーム機100aおよびゲームカートリッジ200aと同じ構成を有しているため、説明を省略する。第1ゲーム機100aには、各種のプログラムを実行するCPU11や、CPU11が扱うデータを一時的に記憶するワークメモリ12や、画像データを一時的に記憶するVRAM13や、ゲームカートリッジ200aとの間でデータのやり取りを可能にする外部メモリI/F14や、プレイヤによって操作される操作ボタン(十字キー、Aボタン、Bボタンなど)16や、操作ボタンの状態をデータとして入力するためのコントローラI/F15や、画像を表示するための液晶モニタ18や、画像データに基づいて液晶モニタ18を駆動するための液晶ドライバ17や、他のゲーム機と通信を行うための通信ポート19が設けられている。外部メモリI/F14は、ゲームカートリッジ200aに接続され、通信ポート19は、通信ケーブル300を通じて第2ゲーム機100bの通信ポートに接続される。ゲームカートリッジ200aには、各種プログラム等が予め格納されたプログラムROM21と、ゲーム処理の過程で生成されたゲームデータを必要に応じて記憶するためのバックアップメモリ22が一体的に設けられている。バックアップメモリ22は、例えばフラッシュメモリやEEPROMやFeRAMといった、電気的に書き換え可能な不揮発性メモリである。
【0021】
ゲームカートリッジ200aのプログラムROM21には、図3に示すように、ゲームプログラムや、ゲーム画像を生成するときに用いられる画像データや、後述するバックアップ処理を行うためのバックアップ制御プログラムや、後述する更新制御処理を行うための更新制御プログラムなどが格納されている。
【0022】
ゲームカートリッジ200aのバックアップメモリ22には、図4に示すように、ゲームデータを記憶するための2つのバックアップ領域(第1バックアップ領域、第2バックアップ領域)が確保されている。そして、各領域に対して、第1ゲーム機100aのワークメモリ12に記憶されているゲームデータが交互に書き込まれる。各バックアップ領域に書き込まれるゲームデータには、履歴データ41〜43と、書き込み完了バイト51〜53が含まれている。履歴データ41〜43は、そのゲームデータが過去に更新された回数を示すものである。ワークメモリ12に記憶されている最新のゲームデータをバックアップする際には、履歴データ41と履歴データ42を比較して、バックアップメモリ22にすでに記憶されている2つのゲームデータのうち、古い方のゲームデータが記憶されている側のバックアップ領域に、最新のゲームデータが書き込まれる(つまり、古いほうのゲームデータが最新のゲームデータによって上書きされる。)。また、書き込み完了バイト51〜53は、ゲームデータがバックアップメモリ22に書き込まれるときに、一番最後に書き込まれる1バイト分のデータである。バックアップメモリ22からゲームデータを読み出すときに、書き込み完了バイトがセットされているかどうかを確認することによって、そのゲームデータがバックアップメモリ22に正常に書き込まれたものであるか否かを判別することができる。ワークメモリ12には、最新のゲームデータを記憶するための領域と、更新制御処理において利用されるフラグデータ60を記憶するための領域が確保されている。なお、書き込み完了バイトとしては、例えばチェックサムやCRC(Cyclic Redundancy Check)の値が好ましい。また、本実施例では、書き込み完了バイトとしてCRCチェックサムの値を例にあげて説明するが、例えば交換したキャラクタに関するデータやゲームデータの任意部分のデータであってもよい。
【0023】
図5に、ゲームデータに含まれるキャラクタ情報を示す。キャラクタ情報とは、ゲーム中に登場しうるキャラクタ(またはアイテム)に関する情報である。キャラクタ情報には、図5に示すように、キャラクタごと、キャラクタの種類を識別するためのキャラクタ識別情報と、キャラクタがゲーム中に登場しているか否か(存在しているか否か)を示す登場フラグと、キャラクタのステータスを示すステータス情報とが含まれる。プレイヤが、新たなキャラクタやアイテムをゲーム中で入手したり、データ通信によって他のプレイヤから入手した場合には、登場フラグがセットされ(例えば1となる)、一方、プレイヤが、すでに入手していたキャラクタやアイテムをゲーム中で手放したり、データ通信によって他のプレイヤに譲った場合には、登場フラグがクリアされる(例えば0となる)。ゲーム機間でキャラクタの交換が行われる際には、まずデータ通信によってキャラクタ識別情報とステータス情報がやりとりされた後、各ゲーム機において、相手側に譲ったキャラクタの登場フラグがクリアされ、相手側から入手したキャラクタの登場フラグがセットされ、その入手したキャラクタのステータス情報が更新される。
【0024】
図6に、第1ゲーム機100aと第2ゲーム機100bとの間でキャラクタを交換するときの、液晶モニタ18に表示されるゲーム画面例を示す。まず、図6の(a)に示すように、キャラクタの交換を行うか否かをプレイヤに確認するための表示がなされる。そして、プレイヤから交換の指示を受けると、図6(b)に示すように、キャラクタを交換する準備のために第1ゲーム機100aと第2ゲーム機100bとが通信していることを示す表示がなされる。各ゲーム機における準備が完了すると、図6(c)に示すように、交換するキャラクタ(相手側に譲るキャラクタ)を選択させるための表示がなされる。各ゲーム機において、交換するキャラクタが決定されると、キャラクタ情報をやりとりするためのデータ通信が開始され、図6(d)に示すように、キャラクタを交換中であることを示す表示がなされる。そしてキャラクタの交換が完了すると、図6(e)に示すように、キャラクタの交換が無事完了したことを示す表示がなされる。図6(e)のゲーム画面では、図6(c)のゲーム画面に示されていたキャラクタAが、キャラクタBに置き換わっている。
【0025】
以下、本実施形態における、キャラクタ交換時の処理について説明する。詳細なフローの説明を行う前に、図7〜図10を参照して、まず本実施形態の処理の概要について説明する。
【0026】
図7は、第1ゲーム機100aから第2ゲーム機100bにキャラクタAを移動させるときの処理の流れを示している。キャラクタAの移動処理が開始されると、まず、第1ゲーム機100aおよび第2ゲーム機100bは、各ゲーム機のワークメモリに記憶されているゲームデータをバックアップメモリ22にセーブする(S11、S21)。その後、キャラクタAのキャラクタ情報を第1ゲーム機100aから第2ゲーム機100bに送信する(S12、S22)。続いて、各ゲーム機は、ワークメモリに記憶されているゲームデータを更新する(S13、S23)。具体的には、第1ゲーム機100aでは、キャラクタAの登場フラグがクリアされ、第2ゲーム機100bでは、キャラクタAの登場フラグがセットされると同時にキャラクタAのステータス情報が更新される。なお、ここまでの処理については、図14に示した従来のゲームシステムと同様である。
【0027】
ワークメモリ上でのゲームデータの更新が完了すると、各ゲーム機は、更新後のゲームデータをバックアップメモリ22に書き込むのであるが、本実施形態では、更新後のゲームデータが、第1段階の書き込み処理(以下、第1書き込み処理と称す)(S15、S25)と第2段階の書き込み処理(以下、第2書き込み処理と称す)(S17、S27)の2回に分けてバックアップメモリ22に書き込まれる。そして、第2書き込み処理は、ステップS16およびステップS26において、両方のゲーム機において第1書き込み処理が完了したことが通信によって確認されてから開始される。
【0028】
図8に、更新後のゲームデータがバックアップメモリ22に書き込まれるときの各ゲーム機の処理の流れを示す。図8の(a)に示すように、本実施形態では、時刻t1において、両方のゲーム機において第1書き込み処理が完了したことを通信によって確認した後に、第2書き込み処理が開始される。ここで、第1書き込みの途中で第1ゲーム機の電源が切られることによって第1ゲーム機の処理が異常終了してしまった場合、第1ゲーム機ではデータの書き込みに失敗してしまう。一方、第2ゲーム機は、両方のゲーム機において第1書き込み処理が完了したことを確認することができないので、第2書き込みを実行することができず、第2ゲーム機でもデータの書き込みに失敗してしまう。その結果、いずれのゲーム機においても、次回のゲーム処理では更新前のゲームデータがバックアップメモリより読み出されるため、従来のゲームシステムのようにデータが消滅したりデータの複製が生成されたりといった問題は生じない。ただし、異常終了が第2書き込み処理の途中で発生した場合には、従来と同様の問題が発生してしまう。そこで、その可能性をできる限り低減するために、第2書き込み処理の期間をできる限り短くする(つまり、第2書き込み処理において書き込まれるデータサイズをできる限り小さくする)のが好ましい。なお、バックアップメモリ22に書き込むことができる最小のデータサイズは、例えば1ビットであったり、1バイトであったりと、デバイス毎に異なっているので、第2書き込み処理において書き込まれるデータサイズは、バックアップメモリ22に書き込むことができる最小のデータサイズとするのが好ましい。
【0029】
ところで、各ゲーム機において、第1書き込みが同時に完了するとは限らない。データの書き込み速度はバックアップメモリ22の種類(フラッシュメモリ、EEPROM、FeRAMなど)によって異なり、また、特にフラッシュメモリは、何度もデータを書き換えることによって性能が劣化してデータの書き込み速度が低減するからである。また、各ゲーム機でゲームデータのサイズが異なる場合もある。そこで、図9に示すように、各ゲーム機が第1書き込みを完了した時点で相手のゲーム機に第1書き込み完了通知を送信するようにし、両方のゲーム機が第1書き込み完了通知を送信した時点で第2書き込みを開始するようにすればよい。図9に示す例の場合、第1ゲーム機100aは、第1書き込みの途中で第2ゲーム機100bから第1書き込み完了通知を受信し、その後、第1書き込みが完了した時点で第2書き込みを開始する。一方、第2ゲーム機100bは、第1書き込みの完了後、第1ゲーム機100aが第1書き込みを完了するまで待機し、第1ゲーム機100aからの第1書き込み完了通知を受信後、第2書き込みを開始する。ここで、各ゲーム機は、第1書き込み完了通知の送受信結果に基づいて、図4に示すワークメモリ12のフラグデータ60を更新し、このフラグデータを参照して第2書き込みの開始タイミングが決定される。図10の(a)は、第1ゲーム機100aが先に第1書き込みを完了したときの、各ゲーム機のフラグデータ60の変化の様子を示している。フラグデータ60は、第1ゲーム機の状態を示すフラグと、第2ゲーム機の状態を示すフラグとからなり、図10の(a)に示すように、第1ゲーム機100aが第1書き込みを完了したときには、第1ゲーム機100aおよび第2ゲーム機aの双方において、第1ゲーム機の状態を示すフラグを“1”にセットする。その後、第2ゲーム機が第1書き込みを完了したときに、第2ゲーム機の状態を示すフラグが“1”にセットされる。各ゲーム機では、フラグデータ60において、第1ゲーム機の状態を示すフラグと第2ゲーム機の状態を示すフラグがいずれも“1”になったときに、第2書き込みを開始する。なお、図10の(b)は、第2ゲーム機100bが先に第1書き込みを完了したときの、フラグデータ60の変化の様子を示している。
【0030】
以下、図11〜図13に示すフローチャートを参照して、ゲーム機間でキャラクタを交換する際の各ゲーム機の動作をより詳細に説明する。
【0031】
図11は、ゲーム処理を実行するときの第1ゲーム機100aのCPU11の処理の流れを示している。図11において、ゲーム処理が開始すると、CPU11は、ワークメモリ12にゲームデータを記憶する(S101)。このゲームデータは、ゲームの進行に応じて適宜更新される。続いて、プレイヤからバックアップの指示があったかどうか判断する(S102)。プレイヤによるバックアップの指示は、操作ボタン16を通じて行われる。バックアップの指示があった場合は、後述するバックアップ処理を実行後、ステップS104に進む。一方、バックアップの指示がなかった場合にはステップS104に進む。ステップS104では、プレイヤからキャラクタを交換するように指示があったかどうか判断する。交換指示があった場合にはステップS105に進み、交換指示がなかった場合にはステップS101に戻る。
【0032】
キャラクタの交換指示があった場合には、まず後述するバックアップ処理が行われ(S105)、その後、他のゲーム機と接続されているかどうか判断する(S106)。他のゲーム機と接続されていない場合には、接続されるまで待機する。ステップS106において、他のゲーム機と接続されていることが確認されると、ステップS107に進む。そして、他のゲーム機において、キャラクタ情報を送受信する準備が完了したかどうか判断し(S107)、他のゲーム機において準備が完了していない場合には、完了するまで待機する。ステップS107において、他のゲーム機の準備が完了したことが確認されると、プレイヤに、交換するキャラクタ(第2ゲーム機に移動させるキャラクタ)を選択させる(S108)。そして、交換されるキャラクタに関するキャラクタ情報を第2ゲーム機との間で送受信する(S109)。その後、後述する更新制御処理によって、キャラクタ交換後のゲームデータをバックアップメモリ22に書き込んで(S110)、ステップS101に戻る。
【0033】
図12を参照して、図11のステップS103およびステップS105のバックアップ処理について説明する。バックアップ処理が開始すると、CPU11は、ワークメモリ12上のゲームデータを書き込むべきバックアップ領域を、図4に示した2つのバックアップ領域のうちから選択する(S201)。このとき、CPU11は、履歴データ41と履歴データ42を比較して、より古いゲームデータが格納されているバックアップ領域を選択する。続いて、ワークメモリ12に記憶されているゲームデータのうち、バックアップメモリ22の1セクタ分に対応するサイズのデータをバックアップ領域に書き込む(S202)。このとき、図4に示した書き込み完了バイトは最初にクリアされるのが好ましい。そして、その1セクタ分のゲームデータが正常に書き込めたかどうか判断し(S203)、正常に書き込めた場合には、ステップS205に進む。一方、正常に書き込めなかった場合には、書き込みを繰り返し、その結果、所定の回数以内で正常に書き込めた場合には(ステップS204でYES)、ステップS205に進む。一方、書き込みを所定の回数繰り返したにも関わらず正常に書き込めなかった場合には(ステップS204でNO)、エラーがあった旨を液晶モニタ18に表示して処理を停止する。ステップS205では、バックアップ領域を構成する全セクタ(例えば15セクタ)に対するゲームデータの書き込みが終了したかどうか判断し、終了していなかった場合には、ステップS202に戻って次のセクタ分のゲームデータを書き込む。こうして全て(15セクタ分)のゲームデータの書き込みが完了すると、バックアップ処理は終了する。
【0034】
図13を参照して、図11のステップS110の更新制御処理について説明する。更新制御処理が開始すると、まずCPU11は、図11のステップS109で送受信したキャラクタ情報に基づいて、ワークメモリ12内のゲームデータを更新する(S301)。具体的には、第2ゲーム機100bに譲ったキャラクタの登場フラグをクリアするとともに、第2ゲーム機100bから受け取ったキャラクタ情報に基づいて、第2ゲーム機100bから入手したキャラクタの登場フラグをセットし、そのキャラクタのステータス情報を更新する。ゲームデータの更新が完了すると、続いて、その更新後のゲームデータを書き込むべきバックアップ領域を、図4に示した2つのバックアップ領域のうちから選択する(S302)。このとき、CPU11は、履歴データ41と履歴データ42を比較して、より古いゲームデータが格納されているバックアップ領域を選択する。
【0035】
続いて、ワークメモリ12に記憶されている更新後のゲームデータのうち、バックアップメモリ22の1セクタ分に対応するサイズのデータをバックアップ領域に書き込む(S302)。このとき、図4に示した書き込み完了バイトは最初にクリアされるのが好ましい。そして、次に書き込むべきデータが最後のセクタに対応するデータであるかどうか判断する(S304)。例えばゲームデータが15セクタ分のデータであって、すでに14セクタ分のゲームデータが書き込まれている場合、次に書き込むべきデータは最後のセクタに対応するデータとなる。ステップS304において、次に書き込むべきデータが最後のセクタに対応するデータではなかった場合には、ステップS303に戻り、次のセクタに対応するデータを書き込む。
【0036】
ステップS304において、次に書き込むべきデータが最後のセクタに対応するデータであった場合には、その最後のセクタに対応するデータのうち、1バイト分のデータをバックアップ領域に書き込む(S305)。そして、次に書き込むべきデータが最後の1バイト分のデータ(図4に示した書き込み完了バイト)であるかどうか判断する(S306)。ステップS306において、次に書き込むべきデータが最後の1バイト分のデータではなかった場合には、ステップS305に戻り、次の1バイト分のデータを書き込む。ステップS306において、次に書き込むべきデータが最後の1バイト分のデータであった場合には、第2ゲーム機100bに第1書き込み完了通知を送信し、フラグデータ60を更新する(S307)。なお、図示は省略するが、各ゲーム機は、更新制御処理の開始後、他のゲーム機から第1書き込み完了通知を受信したかどうかを監視し、他のゲーム機から第1書き込み完了通知を受信したときには、例えば割り込み処理等によってフラグデータ60を更新する。
【0037】
第1書き込み完了通知の送信が完了すると、次に、フラグデータ60を参照して、全てのゲーム機(ここでは第1ゲーム機および第2ゲーム機)において、第1書き込みが完了したかどうか判断し、まだ完了していないゲーム機が存在していた場合には、そのゲーム機が第1書き込みを完了するまで待機する(S308)。一方、全てのゲーム機において第1書き込みが完了していた場合には、最後の1バイト分のデータ(書き込み完了バイト)であるCRCチェックサムの値をバックアップ領域に書き込む。そして、ゲームデータのCRCチェックサムが計算され、その計算値とCRCチェックサムの値とが一致したとき、更新後のゲームデータの全ての書き込みを完了する(S309)。続いて、キャラクタの交換が完了した旨が液晶モニタ18に表示され(S310)、更新制御処理は終了する。
【0038】
以上のように、本実施形態によれば、各ゲーム機において第1書き込みが完了したことを確認してから第2書き込みを開始するので、書き込み完了のタイミングをほぼ同時期に終了させることができる。したがって、第1書き込み完了したことの確認がなされる前にいずれかのゲーム機が異常終了した場合には、全てのゲーム機において書き込み処理が失敗に終わる。したがって、あるゲーム機では書き込みに失敗し、かつ他のゲーム機では書き込みに成功するといった状況が発生する可能性が低減されるので、データが消滅したりデータの複製が生成されたりといった問題が発生する可能性が低減される。
【0039】
なお、本実施形態では、バックアップメモリ22に書き込まれるゲームデータには、ゲームデータの書き込みが正常に終了したことを示す1バイト分のデータ(書き込み完了バイト)が含まれるとしたが、このデータのサイズは1バイトに限らない。さらに、ゲームデータに、このような“書き込みが正常に終了したことを示すデータ”が含まれていなくてもよい。ただし、このようなデータを利用することにより、ゲームデータを読み出すときに、そのゲームデータが正常に書き込まれたものか否かを容易に判断できる利点がある。
【0040】
また、本実施形態では、第2書き込み処理において書き込まれるデータのサイズが1バイトであるとしたが、本発明はこれに限らず、第2書き込み処理において書き込まれるデータのサイズが1バイトよりも小さくてもよいし、1バイトよりも大きくてもよい。
【0041】
また、本実施形態では、2台のゲーム機間でキャラクタ等の交換を行うとしたが、本発明はこれに限らず、3台以上のゲーム機間でキャラクタ等を交換する場合にも容易に適用することが可能であり、その結果、本実施形態と同様の効果を達成することができる。例えば、第1ゲーム機から第2ゲーム機にキャラクタAを移動させると同時に、第2ゲーム機から第3ゲーム機にキャラクタBを移動し、さらに同時に第3ゲーム機から第1ゲーム機にキャラクタCを移動させるような場合であっても、いずれかのキャラクタが消滅したり、その複製が生成されてしまう可能性が低減される。
【0042】
また、本実施形態では、2台のゲーム機間でキャラクタ等を交換または移動させるとしたが、本発明はこれに限らず、一般に、複数のゲーム機間で、データ通信を通じてデータの一部をやりとりし、そのやり取りされたデータに基づいて各自のゲームデータを更新して不揮発性メモリに書き込む場合に好適に適用される。例えば、各ゲーム機で、プレイヤがゲームをプレイしたときの結果(得点)が得点ランキング表として保存されている場合に、ゲーム機間でこの得点ランキング表のデータをやり取りすることによって、各ゲーム機の得点ランキング表を統合した新たな得点ランキング表を生成し(その結果、複数のプレイヤが同一の得点ランキング表にランクアップされるようになる。)、今まで保存していた得点ランキング表を上書きするような場合にも、本発明は有効である。すなわち、あるゲーム機では更新後の得点ランキング表の書き込みに失敗し、かつ他のゲーム機では更新後の得点ランキング表の書き込みに成功し、各ゲーム機が保持する得点ランキング表の整合性が失われてしまうのを効果的に防止することができる。
【0043】
また、本実施形態では、2台のゲーム機が通信ケーブル300を介して通信するとしたが、本発明はこれに限らず、2台のゲーム機がネットワークを介して通信する場合にも本発明を適用することができる。
【0044】
また、本実施形態では、各種プログラムがゲームカートリッジ200aを通じて第1ゲーム機100aに供給されるとしたが、本発明はこれに限らず、CD−ROMや、DVDなど、他の任意のコンピュータ読取可能な記録媒体を通じてゲーム機に供給されてもよい。さらには、ネットワークなどの通信回線を通じてゲーム機に供給されてもよい。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るゲームシステムの外観を示す図である。
【図2】第1ゲーム機100aおよびゲームカートリッジ200aの構成を示すブロック図である。
【図3】プログラムROM21のメモリイメージである。
【図4】バックアップメモリ22およびワークメモリ12のメモリイメージである。
【図5】ゲームデータに含まれるキャラクタ情報を示す図である。
【図6】キャラクタ交換時のゲーム画面例を示す図である。
【図7】本発明の一実施形態に係るゲームシステムにおいて、第1ゲーム機100aから第2ゲーム機100bにキャラクタAを移動させるときの処理の流れを示すフローチャートである。
【図8】更新後のゲームデータをバックアップメモリ22に書き込むときの各ゲーム機における処理の流れを示す図である。
【図9】更新後のゲームデータをバックアップメモリ22に書き込むときの各ゲーム機における処理の流れを示す図である。
【図10】フラグデータ60の変化の様子を示す図である。
【図11】CPU11によって実行されるゲーム処理の流れを示すフローチャートである。
【図12】バックアップ処理の流れを示すフローチャートである。
【図13】更新制御処理の流れを示すフローチャートである。
【図14】従来のゲームシステムにおいて、第1ゲーム機から第2ゲーム機にキャラクタAを移動させるときの処理を示すフローチャートである。
【図15】バックアップメモリにおいて、更新前のゲームデータが格納される領域と、更新後のゲームデータが格納される領域とが異なることを示す図である。
【図16】従来のゲームシステムにおいて、キャラクタAが完全に消滅してしまう原理を説明するための図である。
【図17】従来のゲームシステムにおいて、キャラクタAの複製が生成されてしまう原理を説明するための図である。
【符号の説明】
11 CPU
12 ワークメモリ
13 VRAM
14 外部メモリI/F
15 コントローラI/F
16 操作ボタン
17 液晶ドライバ
18 液晶モニタ
19 通信ポート
21 プログラムROM
22 バックアップメモリ
41〜43 履歴データ
51〜53 書き込み完了バイト
60 フラグデータ
100a 第1ゲーム機
100b 第2ゲーム機
200a、200b ゲームカートリッジ
300 通信ケーブル

Claims (8)

  1. 第1ゲーム機に通信可能に接続された第2ゲーム機との間のデータ通信によってやりとりされたデータに基づいて更新されたゲームデータを、当該第1ゲーム機に接続された電気的に書き換え可能な不揮発性メモリに書き込むためのデータ書き込みプログラムであって、当該第1ゲーム機のコンピュータに、
    更新後のゲームデータを、所定部分を除いて前記不揮発性メモリに書き込む第1書き込みステップと、
    前記第1書き込みステップの書き込みが完了したときに、前記第2ゲーム機に第1書き込み完了通知を送信する第1書き込み完了通知送信ステップと、
    前記第2ゲーム機から第1書き込み完了通知を受信する第1書き込み完了通知受信ステップと、
    前記第2ゲーム機に第1書き込み完了通知が送信され、かつ前記第2ゲーム機から第1書き込み完了通知が受信された後に、前記所定部分のゲームデータを前記不揮発性メモリに書き込む第2書き込みステップとを実行させることを特徴とする、データ書き込みプログラム。
  2. 前記所定部分のデータサイズが、前記不揮発性メモリに対して書き込み可能な最小単位のデータサイズであることを特徴とする、請求項1に記載のデータ書き込みプログラム。
  3. 前記所定部分のデータが、更新後のゲームデータが正常に書き込まれたことを示すデータであることを特徴とする、請求項1に記載のデータ書き込みプログラム。
  4. 前記更新後のゲームデータが、前記不揮発性メモリにおいて、最近に書き込まれたゲームデータが上書きされないような領域に書き込まれることを特徴とする、請求項1に記載のデータ書き込みプログラム。
  5. 請求項1〜4のいずれかに記載のデータ書き込みプログラムを格納した、コンピュータ読取可能な記録媒体。
  6. 通信可能に接続された少なくとも2台のゲーム機が個別に保持しているゲームデータを、当該ゲーム機間のデータ通信によってやりとりされたデータに基づいてそれぞれ更新し、更新後のゲームデータを各ゲーム機に接続された電気的に書き換え可能な不揮発性メモリにそれぞれ書き込むゲームシステムであって、
    各ゲーム機が、
    ゲーム処理の過程で生成されたゲームデータを一時的に記憶する揮発性メモリと、
    前記データ通信によってやり取りされたデータに基づいて前記揮発性メモリに記憶されているゲームデータを更新するデータ更新手段と、
    更新後のゲームデータを、所定部分を除いて前記不揮発性メモリに書き込む第1書き込み手段と、
    前記第1書き込み手段による書き込みが完了したときに、他のゲーム機に第1書き込み完了通知を送信する第1書き込み完了通知送信手段と、
    他のゲーム機から第1書き込み完了通知を受信する第1書き込み完了通知受信手段と、
    他のゲーム機に第1書き込み完了通知が送信され、かつ他のゲーム機から第1書き込み完了通知が受信された後に、前記所定部分のゲームデータを前記不揮発性メモリに書き込む第2書き込み手段とをそれぞれ備えることを特徴とする、ゲームシステム。
  7. 前記更新後のゲームデータが、前記不揮発性メモリにおいて、最近に書き込まれたゲームデータが上書きされないような領域に書き込まれることを特徴とする、請求項6に記載のゲームシステム。
  8. 通信可能に接続された少なくとも2台のゲーム機において、当該ゲーム機間のデータ通信によってやりとりされたデータに基づいて更新されたゲームデータを、各ゲーム機に接続された電気的に書き換え可能な不揮発性メモリにそれぞれ書き込むためのデータ書き込み方法であって、
    各ゲーム機において、
    更新後のゲームデータを前記不揮発性メモリに書き込むときに、当該更新後のゲームデータを、第1書き込み処理と第2書き込み処理の2回に分けて書き込み、
    前記第1書き込み処理が完了したときに、当該旨を他のゲーム機に通知し、
    他のゲーム機からの第1書き込み処理の完了の通知に基づいて各ゲーム機において第1書き込み処理が完了したことが確認された後、第2書き込み処理を開始することを特徴とする、データ書き込み方法。
JP2002334113A 2002-11-18 2002-11-18 データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法 Expired - Lifetime JP3888629B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002334113A JP3888629B2 (ja) 2002-11-18 2002-11-18 データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002334113A JP3888629B2 (ja) 2002-11-18 2002-11-18 データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法

Publications (2)

Publication Number Publication Date
JP2004166819A JP2004166819A (ja) 2004-06-17
JP3888629B2 true JP3888629B2 (ja) 2007-03-07

Family

ID=32698650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002334113A Expired - Lifetime JP3888629B2 (ja) 2002-11-18 2002-11-18 データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法

Country Status (1)

Country Link
JP (1) JP3888629B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4652190B2 (ja) * 2005-09-22 2011-03-16 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び電子機器
JP2007111355A (ja) * 2005-10-21 2007-05-10 Bandai Co Ltd 携帯型ゲーム装置およびゲームシステム
JP6194221B2 (ja) * 2013-10-08 2017-09-06 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法
JP6647855B2 (ja) 2015-12-22 2020-02-14 任天堂株式会社 データ交換システム、情報処理装置、データ交換プログラムおよびデータ交換方法

Also Published As

Publication number Publication date
JP2004166819A (ja) 2004-06-17

Similar Documents

Publication Publication Date Title
CN105912356B (zh) 一种支持版本回退的光模块固件程序在线升级方法
JP4768237B2 (ja) 携帯可能電子装置及び携帯可能電子装置の制御方法
US20100151947A1 (en) Game system, server and terminal
JP2010195111A (ja) 車載コンピュータシステム
US6483746B2 (en) Electronic apparatus
JP3888629B2 (ja) データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法
US20070038918A1 (en) Data backup method and memory device
US7654904B2 (en) Game machine, backup control program of game data and backup control method
JP3093541B2 (ja) プログラムおよびデータの版数管理を行う端末装置およびオンラインシステム
JP6259601B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びコンピュータプログラム
JP2008015783A (ja) 電子バリュー交換システム、端末装置、復旧装置及びそれらに用いる電子バリュー交換方法
JP2014099097A (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP5045115B2 (ja) プログラマブルデバイス制御装置およびその方法
JP2003228490A (ja) ネットワークに接続される端末装置およびこれを用いたネットワークシステム
JP4028480B2 (ja) Fpgaコンフィギュレーション制御方法及び制御装置
JP2008217202A (ja) ディスクアレイ装置及びファームウェア更新方法
JP2007042038A (ja) 端末機器の制御装置及び制御方法
JPH0855068A (ja) 通信端末装置
JPH08161160A (ja) 光ディスク再生装置のファームウエア更新方法
JP2003108445A (ja) 携帯可能電子装置及びそのチェック方法
JP3514173B2 (ja) 制御装置
CN113467842B (zh) 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质
JP7572298B2 (ja) 通信装置、およびファームウェア更新システム
JP7568572B2 (ja) 監視装置
JP6092673B2 (ja) メモリ制御装置、メモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3888629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131208

Year of fee payment: 7

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term