JP2016006625A - 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体 - Google Patents

情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体 Download PDF

Info

Publication number
JP2016006625A
JP2016006625A JP2014223267A JP2014223267A JP2016006625A JP 2016006625 A JP2016006625 A JP 2016006625A JP 2014223267 A JP2014223267 A JP 2014223267A JP 2014223267 A JP2014223267 A JP 2014223267A JP 2016006625 A JP2016006625 A JP 2016006625A
Authority
JP
Japan
Prior art keywords
data
information processing
tag
application program
storage medium
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.)
Granted
Application number
JP2014223267A
Other languages
English (en)
Other versions
JP5897688B2 (ja
Inventor
康幸 下畠
Yasuyuki Shimohata
康幸 下畠
公治 兵藤
Kimiharu Hyodo
公治 兵藤
吉田 龍一
Ryuichi Yoshida
龍一 吉田
悟郎 阿部
Goro Abe
悟郎 阿部
祐介 山外
Yusuke Yamasoto
祐介 山外
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 JP2014223267A priority Critical patent/JP5897688B2/ja
Priority to EP15165469.6A priority patent/EP2939721B1/en
Priority to US14/701,938 priority patent/US9806770B2/en
Priority to US14/856,605 priority patent/US9564949B2/en
Publication of JP2016006625A publication Critical patent/JP2016006625A/ja
Application granted granted Critical
Publication of JP5897688B2 publication Critical patent/JP5897688B2/ja
Priority to US15/229,792 priority patent/US9647727B2/en
Priority to US15/682,241 priority patent/US10164686B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/77Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for interrogation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/72Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】汎用的に利用可能な記憶媒体を提供する。
【解決手段】情報処理システムは、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む。記憶媒体は、情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有する。また、記憶媒体は、オブジェクトに関するオブジェクト情報を記憶する。情報処理装置は、ユーザの指示に基づき作成されたキャラクタの画像を特定するキャラクタ画像情報を記憶媒体に書き込む。情報処理装置は、記憶媒体から読み出したオブジェクト情報とキャラクタ画像情報との少なくともいずれかを用いて所定の処理を実行する。
【選択図】図6

Description

本発明は、近距離無線通信を行うための情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体に関する。
従来、例えばNFC(Near Field Communication)等の近距離無線通信によって装置間で通信を行う技術がある(例えば、特許文献1参照)。近距離無線通信では、情報処理装置に対して記憶媒体(いわゆるタグ)が接近したことに応じて、情報処理装置と記憶媒体との間で通信が開始される。
特開2000−163524号公報
従来、近距離無線通信によって情報処理装置と通信を行う記憶媒体は、情報処理装置において実行される特定のアプリケーションプログラムにおいて利用されるだけであり、記憶媒体の汎用性については改善の余地があった。
それ故、本発明の目的は、記憶媒体をより汎用的に利用することができる情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体を提供することである。
上記の課題を解決すべく、本発明は、以下の(1)〜(36)の構成を採用した。
(1)
本発明の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
記憶媒体は、所定のアプリケーションプログラムで利用可能なアプリ用データと、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データとを記憶する記憶手段を備える。
情報処理システムは、受付手段と、第1処理手段と、第2処理手段とを備える。受付手段は、情報処理装置で実行されるアプリケーションプログラムから、記憶手段に対するデータの読み出しおよび/または書き込みに関する指令を受け付ける。第1処理手段は、受け付けられた指令がアプリ用データに関する指令である場合、当該指令が所定のアプリケーションプログラムからの指令であることを条件として、記憶手段から読み出したアプリ用データを当該所定のアプリケーションプログラムに渡す。第2処理手段は、受け付けられた指令が共用データに関する指令である場合、当該指令が所定のアプリケーションプログラムからの指令であるか否かにかかわらず、記憶手段から読み出した共用データを指令元のアプリケーションプログラムに渡す。
(2)
記憶手段は、記憶媒体の種類毎に設定される識別情報を記憶していてもよい。このとき、所定のアプリケーションプログラムは、自身がアプリ用データを利用可能な種類のタグに設定される識別情報を含んでいてもよい。第1処理手段は、記憶手段から読み出した識別情報と、指令元のアプリケーションプログラムから取得した識別情報とに基づいて、受け付けられた指令が所定のアプリケーションプログラムからの指令であるか否かを判定してもよい。
(3)
記憶手段は、アプリ用データを利用可能な1種類以上の所定のアプリケーションプログラムを特定するための識別情報を記憶していてもよい。このとき、受付手段は、指令元のアプリケーションプログラムに対応する識別情報を当該アプリケーションプログラムから受け付けてもよい。第1処理手段は、記憶手段に記憶されている識別情報と、指令元のアプリケーションプログラムから取得した識別情報とに基づいて、受け付けられた指令が所定のアプリケーションプログラムからの指令であるか否かを判定してもよい。
(4)
記憶手段は、第1処理手段によって復号可能な方式で暗号化されたアプリ用データおよび第2処理手段によって復号可能な方式で暗号化された共用データを記憶してもよい。
(5)
記憶媒体は、所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトであってアプリ用データおよび/または共用データが表すオブジェクトを立体的または平面的に表す外観を有していてもよい。
(6)
記憶手段は、共用データとして、オブジェクトの識別情報、当該オブジェクトが属するグループの識別情報、記憶媒体毎に固有の識別情報、および、記憶媒体の種類を示す識別情報のうち少なくとも1つのデータを記憶してもよい。
(7)
情報処理装置は、ある記憶媒体との間で近距離無線通信が可能となった場合、当該記憶媒体が当該情報処理装置からのアクセスが許可される許可記憶媒体であるか否かを判定する判定手段を備えていてもよい。受付手段は、近距離無線通信が可能となった記憶媒体が許可記憶媒体であると判定された場合、情報処理装置で実行されるアプリケーションプログラムからの指令に応じた処理を実行してもよい。
(8)
記憶媒体は、データの読み出しが可能でかつ書き込みが不可能な読み出し専用領域に共用データの少なくとも一部を記憶し、データの読み出しおよび書き込みが可能な読み書き可能領域にアプリ用データを記憶してもよい。
(9)
アプリ用データは、所定のアプリケーションプログラムのセーブデータであってもよい。
(10)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
記憶媒体は、所定のアプリケーションプログラムに登場するオブジェクトに関するデータであって、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する記憶手段を備える。
情報処理装置は、第1処理手段と、第2処理手段とを備える。第1処理手段は、所定のアプリケーションプログラムを実行する際に、記憶手段から読み出した共用データを用いることによって、出力装置にオブジェクトに関する情報を出力する第1処理を実行する。第2処理手段は、所定のアプリケーションプログラムとは異なるアプリケーションプログラムを実行する際に、記憶手段から読み出した共用データを用いることによって、出力装置にオブジェクトに関する情報を出力する処理であって第1処理とは異なる第2処理を実行する。
(11)
情報処理装置は、判定手段と、許可手段とをさらに備えていてもよい。判定手段は、ある記憶媒体との間で近距離無線通信が可能となった場合、当該記憶媒体が当該情報処理装置で実行されるアプリケーションプログラムからのアクセスが許可される許可記憶媒体であるか否かを判定する。許可手段は、近距離無線通信が可能となった記憶媒体が許可記憶媒体であると判定されたことを条件として、情報処理装置で実行されるアプリケーションプログラムにおける共用データの利用を許可する。
(12)
第1処理手段は、第1処理として、表示装置にオブジェクトを表示する処理を実行してもよい。第2処理手段は、第2処理として、表示装置にオブジェクトを表示する処理であって第1処理と異なる処理を実行してもよい。
(13)
第2処理手段は、第2処理として、第1処理によって表示されるオブジェクトの表示態様とは異なる表示態様で当該オブジェクトを表示する処理を実行してもよい。
(14)
第2処理手段は、所定のアプリケーションプログラムとは異なるゲームアプリケーションプログラムを実行する際に、第2処理として、ゲームの進行に影響を与えない処理を実行してもよい。
(15)
記憶媒体は、共用データが表すオブジェクトを立体的または平面的に表す外観を有してもよい。
(16)
記憶媒体は、それに記憶されるデータの一部または全部に対するハッシュ値を記憶してもよい。判定手段は、記憶媒体から読み出したデータに基づいて算出されるハッシュ値と、当該記憶媒体から読み出したハッシュ値とに基づいて、記憶媒体が許可記憶媒体であるか否かを判定してもよい。
(17)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
記憶媒体は、情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有する。また、記憶媒体は、オブジェクトの第1識別情報と、当該オブジェクトが属するグループの第2識別情報とを記憶する。
情報処理装置は、記憶媒体から読み出した第1識別情報を用いて所定の処理を実行し、記憶媒体から読み出した第2識別情報を用いて当該所定の処理を実行する。
(18)
情報処理装置は、第1判定手段と、第2判定手段と、処理実行手段とを備えていてもよい。第1判定手段は、アプリケーションプログラムの実行中において、記憶媒体から読み出された第1識別情報が実行中のアプリケーションプログラムにおいて登録された値であるか否かを判定する。第2判定手段は、記憶媒体から読み出された第2識別情報が実行中のアプリケーションプログラムにおいて登録された値であるか否かを判定する。処理実行手段は、記憶媒体から読み出された第1識別情報および第2識別情報の少なくともいずれかが実行中のアプリケーションプログラムにおいて登録された値である場合、当該アプリケーションプログラムにおける所定の処理を実行する。
(19)
所定の処理は、オブジェクトに関する処理であってもよい。
処理実行手段は、記憶媒体から読み出された第1識別情報が実行中のアプリケーションプログラムにおいて登録された値である場合、当該第1識別情報を用いてオブジェクトを特定してもよい。また、処理実行手段は、記憶媒体から読み出された第1識別情報が実行中のアプリケーションプログラムにおいて登録された値ではなく、かつ、記憶媒体から読み出された第2識別情報が実行中のアプリケーションプログラムにおいて登録された値である場合、当該第2識別情報を用いてオブジェクトを特定してもよい。
(20)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
前記記憶媒体は、所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する記憶手段を備える。
前記情報処理装置は、以下の手段を備える。
・ユーザおよび/または前記情報処理装置に関する登録データが前記記憶媒体に記憶されていることを条件として、前記所定のアプリケーションにおける所定の処理を許可する許可手段
・前記登録データが前記記憶媒体に記憶されているか否かを判定する判定手段
・前記登録データが前記記憶媒体に記憶されていないと判定された場合、前記登録データを前記記憶媒体に記憶するための処理を実行する登録処理手段
(21)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
前記記憶媒体は、ユーザおよび/または前記情報処理装置に関する登録データを記憶するための記憶手段を備える。
前記情報処理装置は、以下の手段を備える。
・前記登録データが前記記憶媒体に記憶されているか否かを判定するための処理を、複数のアプリケーションプログラムにおいて共通で実行する判定手段
・前記判定手段により前記登録データが前記記憶媒体に記憶されていないと判定された場合、前記登録データを前記記憶媒体に記憶するための処理を実行する登録処理手段
(22)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
前記記憶媒体は、ユーザおよび/または前記情報処理装置に関する登録データを記憶する記憶手段を備える。
前記情報処理装置は、以下の手段を備える。
・前記登録データが前記記憶媒体に記憶されているか否かを判定する判定手段
・前記記憶媒体に対して前記登録データの読み出しおよび/または書き込みを行う際に、前記判定手段により前記登録データが前記記憶媒体に記憶されていないと判定された場合、前記登録データを前記記憶媒体に記憶するための処理を実行する登録処理手段
(23)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
前記情報処理装置は、以下の手段を備える。
・所定のアプリケーションの実行中において、前記記憶媒体に対してアクセス可能となった場合、前記記憶媒体に記憶されるアプリ用データが当該所定のアプリケーションにおいて利用可能であるか否かを示す利用情報が前記記憶媒体に記憶されているか否かを判定する利用判定手段
・前記利用情報が前記記憶媒体に記憶されていないと判定されたことを少なくとも条件として、前記記憶媒体に記憶されるアプリ用データが前記所定のアプリケーションにおいて利用可能であることを示す利用情報を前記記憶媒体に書き込む書込手段
・あるアプリケーションにおいてアプリ用データが利用可能であることを示す利用情報が記憶媒体に記憶されていることを条件として、当該あるアプリケーションに対して当該記憶媒体に記憶されているアプリ用データの利用を許可する許可手段
(24)
前記記憶媒体は、所定の識別情報を記憶してもよい。
前記情報処理装置は、以下の手段をさらに備えていてもよい。
・実行中の所定のアプリケーションから、当該所定のアプリケーションにおいてアプリ用データを記憶するために利用可能な記憶媒体の識別情報を示す利用可能情報を取得する取得手段
・前記記憶媒体に記憶されている識別情報と、前記取得された利用可能情報とに基づいて、当該記憶媒体が前記所定のアプリケーションで利用可能であるか否かを判定する利用可能判定手段
また、前記書込手段は、前記利用可能判定手段による判定結果が肯定である場合に、前記利用情報が前記記憶媒体に記憶されていないと判定されたことを条件として、前記記憶媒体に記憶されるアプリ用データが前記所定のアプリケーションにおいて利用可能であることを示す利用情報を前記記憶媒体に書き込んでもよい。
(25)
前記利用可能情報は、前記記憶媒体の種類を識別するための種類識別情報を示すものであってもよい。
前記情報処理装置は、前記利用可能情報として、前記所定のアプリケーションで利用可能な記憶媒体の種類を識別するための種類識別情報のリストを取得する取得手段をさらに備えてもよい。
前記利用可能判定手段は、前記記憶媒体に記憶されている種類識別情報が前記種類識別情報のリストに含まれるか否かを判定してもよい。
(26)
前記情報処理装置は、前記記憶媒体に前記利用情報が記憶されている場合に、ユーザの操作に応じて当該利用情報を当該記憶媒体から消去させる消去手段をさらに備えてもよい。
(27)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
前記記憶媒体は、所定のアプリケーションプログラムで利用可能なアプリ用データを記憶する記憶手段を備える。
前記情報処理装置は、以下の手段を備える。
・前記記憶媒体に記憶されるデータに対するバックアップデータを記憶するバックアップ記憶手段
・前記情報処理装置と通信可能である記憶媒体に記憶されているデータが壊れている場合、当該情報処理装置において前記所定のアプリケーションプログラムが実行されていない場合であっても、当該記憶媒体に記憶されているデータを、前記バックアップデータを用いて復旧するデータ復旧手段
(28)
前記情報処理装置は、前記記憶媒体に所定のデータを書き込む書込手段をさらに備えてもよい。
前記バックアップ記憶手段は、前記書込手段によって書き込まれる前に前記所定のデータをバックアップデータとして記憶してもよい。
(29)
前記情報処理装置は、前記記憶媒体を識別するための識別情報を取得する識別情報取得手段をさらに備えてもよい。
前記バックアップ記憶手段は、前記識別情報に関連付けて前記バックアップデータを記憶してもよい。
(30)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う第1の情報処理装置とを含む情報処理システムである。
前記記憶媒体は、所定のオブジェクトを立体的または平面的に表す外観を有する。
前記記憶媒体は、前記所定のオブジェクトを示すオブジェクト情報とは異なる他の情報を、第1の方法で暗号化された状態で、前記オブジェクト情報を、前記第1の方法とは異なる第2の方法で暗号化された状態で記憶する記憶手段を備える。
前記第1の情報処理装置は、前記記憶媒体に記憶されているオブジェクト情報を用いて、前記オブジェクトを表示装置に表示させる処理を実行する。
(31)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う第1の情報処理装置とを含む情報処理システムである。
前記記憶媒体は、所定のオブジェクトを立体的または平面的に表す外観を有する。
前記記憶媒体は、前記所定のオブジェクトを示すオブジェクト情報とは異なる他の情報を、第1の方法で暗号化された状態で記憶するとともに、前記オブジェクト情報を、暗号化されない状態で記憶する記憶手段を備える。
前記第1の情報処理装置は、前記記憶媒体に記憶されているオブジェクト情報を用いて、前記オブジェクトを表示装置に表示させる処理を実行する。
(32)
前記情報処理システムは、前記第1の情報処理装置とは異なる第2の情報処理装置をさらに含んでもよい。
前記第1の情報処理装置は、第1の方法で暗号化された情報を復号する第1復号処理機能を有していない。
前記第2の情報処理装置は、第1の方法で暗号化された情報を復号する第1復号処理手段と、第2の方法で暗号化された情報を復号する第2復号処理手段とを備える。
(33)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
前記情報処理装置は、以下の手段を備える。
・所定のアプリケーションの実行中において前記情報処理装置にアクセス可能となった記憶媒体が、ユーザおよび/または前記情報処理装置に関する登録データを記憶しているか否かを判定する判定手段
・前記記憶媒体が前記登録データを記憶していないと判定された場合、ユーザによって入力された登録内容に基づいて登録データを前記記憶媒体に書き込むとともに、当該登録データが前記記憶媒体に書き込まれる場合には、ユーザ指示の有無にかかわらず、前記所定のアプリケーションに関する情報を前記記憶媒体に書き込む書込処理手段
(34)
本発明の他の一例は、記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムである。
前記記憶媒体は、前記情報処理装置を用いてアクセス可能なネットワークサービスに関するユーザの識別情報を記憶している。
前記情報処理装置は、前記ネットワークサービスを提供するサーバと通信可能である。
前記情報処理装置は、前記記憶媒体と通信可能となった場合、一定条件下で、かつ、前記ユーザの指示の有無にかかわらず、前記記憶媒体から読み出した前記識別情報を用いて前記サーバにアクセスする。
(35)
前記情報処理システムは、前記記憶媒体と近距離無線通信を行う、前記情報処理装置とは異なる他の情報処理装置を含んでもよい。
前記他の情報処理装置は、前記識別情報を記憶するための記憶手段を有する。
前記他の情報処理装置は、前記記憶媒体と通信を行って前記記憶媒体に記憶されている記憶されている識別情報を前記記憶手段に記憶させる。
(36)
前記他の情報処理装置は、前記記憶手段に記憶されている識別情報を用いて前記サーバにアクセスしてもよい。
なお、本発明の別の一例は、上記(1)〜(36)における情報処理システムに含まれる情報処理装置または記憶媒体であってもよいし、当該情報処理装置の各手段として情報処理装置のコンピュータを機能させる情報処理プログラムであってもよい。また、本発明の別の一例は、上記情報処理システムにおいて実行される情報処理方法であってもよい。
本発明によれば、近距離無線通信を行う記憶媒体をより汎用的に利用することができる。
本実施形態に係る情報処理システムの一例の構成を示す図 タグの外観の一例を示す図 タグに記憶されるデータの一例を示す図 特定アプリプログラムによってタグからデータが読み出される場合における情報処理システムの処理の流れの一例を示す図 特定アプリプログラムによってタグからデータが読み出される場合における情報処理システムの処理の流れの一例を示す図 読出指令を受けた場合における通信制御部の処理(読出指令処理)の流れの一例を示すフローチャート タグに対して初期登録データが書き込まれる場合における情報処理システムの処理の流れの一例を示す図 登録指令を受けた場合における通信制御部の処理(登録指令処理)の流れの一例を示すフローチャート タグに対して専用データが書き込まれる場合における情報処理システムの処理の流れの一例を示す図 書込指令を受けた場合における通信制御部の処理(書込指令処理)の流れの一例を示すフローチャート 装置変更回数のカウント方法の一例を示す図 アプリケーションプログラムによってCPUが実行する処理の流れの一例を示すフローチャート 特定アプリプログラムによってCPUが実行する処理(特定アプリ処理)の流れの一例を示すフローチャート 特定アプリ処理におけるキャラクタ設定画面の一例を示す図 特定アプリ処理によって表示部に表示されるゲーム画像の一例を示す図 特定アプリプログラムとは異なる他のアプリケーションプログラムによってCPUが実行する処理(他アプリ処理)の流れの一例を示すフローチャート 他アプリ処理におけるキャラクタ設定画面の一例を示す図 本実施形態の変形例におけるタグに記憶されるデータの一例を示す図 本実施形態の他の変形例におけるタグに記憶されるデータの一例を示す図 本実施形態の変形例において、アプリケーションプログラムによってタグにデータが書き込まれる場合における情報処理システムの処理の流れの一例を示す図 本実施形態の変形例における書込指令処理の流れの一例を示すフローチャート 本実施形態の変形例において、タグに初期登録データが書き込まれる場合における情報処理システムの処理の流れの一例を示す図 本実施形態の変形例における登録確認画像の一例を示す図 本実施形態の変形例において初期登録を行うための処理の流れの一例を示すフローチャート 本実施形態の変形例における情報処理装置がタグのバックアップデータを記憶する場合における情報処理システムの一例を示す図 本実施形態の変形例における書込指令処理の流れの一例を示すフローチャート 本実施形態の変形例における読出指令処理の流れの一例を示すフローチャート 本実施形態の変形例におけるデータ復旧処理の流れの一例を示す図 本実施形態の変形例における情報処理装置において記憶されるプログラム構成の概要を示す図
[1.通信システムの構成]
以下、本実施形態の一例に係る情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および記憶媒体について説明する。まず、情報処理システムの構成について説明する。図1は、本実施形態に係る情報処理システムの一例の構成を示す図である。図1に示すように、情報処理システム1は、記憶媒体(タグ)2と、情報処理装置3とを含む。情報処理装置3は、タグ2との間で近距離無線通信が可能な任意の情報処理装置である。
本実施形態においては、近距離無線通信の一例として、情報処理装置3とタグ2との間でNFC規格に基づく通信が行われる場合を例として説明する。ここで、本明細書において近距離無線通信とは、一方の装置からの電波によって(例えば電磁誘導によって)他方の装置に起電力を発生させる通信方式を指す。他方の装置は、発生した起電力によって動作することが可能である(他方の装置は、電源を有していてもよいし有していなくてもよい)。近距離無線通信においては、情報処理装置3とタグ2とが接近した場合(典型的には両者の距離が十数センチ以下となった場合)に通信可能となる。また、近距離無線通信では、2つの通信装置の通信が確立している間(通信装置に他のタグが接近している間)は電波が送出され続ける。
情報処理装置3は、近距離無線通信が可能な任意の情報処理装置である。本実施形態においては、情報処理装置3は、例えば携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型(可搬型とも言う)の装置であってもよいし、パーソナルコンピュータや家庭用ゲーム機等といった据置型の装置であってもよいし、業務用のアーケードゲーム装置のような大型の装置であってもよい。例えば、情報処理装置3は、NFCリーダライタの機能を有する携帯機器である。
タグ2は、情報処理装置3との間で近距離無線通信が可能な任意の装置である。本実施形態においては、タグ2は、NFCタグの機能を有する記憶媒体である。すなわち、タグ2は、近距離無線通信を行う回路(ICチップ)と、データを記憶する記憶手段(メモリ等)とを備える。なお、タグ2は、データを記憶する機能のみを有する装置に限らず、例えばNFCのカードエミュレーション機能を有する情報処理装置(携帯機器)であってもよい。
以下、情報処理装置3の構成について説明する。図1に示すように、情報処理装置3は通信部11を備える。通信部11は、近距離無線通信に用いられるアンテナである。また、情報処理装置3は通信チップ12を備える。通信チップ12は、後述するCPU13からの指示に従い、通信部11から送出すべき信号(電波)を生成する。生成された信号が通信部11から送出される。通信チップ12は、例えばNFCチップである。
図1に示すように、情報処理装置3は、CPU13およびメモリ14を備える。CPU13は、情報処理装置3で実行される各種の情報処理を実行するための情報処理部である。CPU13は、メモリ14を用いて上記各種の情報処理を実行する。
情報処理装置3はプログラム記憶部15を備える。プログラム記憶部15は、情報処理装置3において実行される各種プログラム(後述する通信プログラムおよびアプリケーションプログラムを含む)を記憶する。プログラム記憶部15は、CPU13がアクセス可能な任意の記憶装置(記憶媒体)である。プログラム記憶部15は、例えばハードディスクやメモリ等の、情報処理装置3に内蔵される記憶部であってもよいし、例えば光ディスクやカートリッジ等の、情報処理装置3に着脱可能な記憶媒体であってもよいし、これらの記憶部および記憶媒体の両方であってもよい。
本実施形態においては、情報処理装置3では、少なくともアプリケーションプログラムおよび通信プログラムという2種類のプログラムがプログラム記憶部15に記憶される。アプリケーションプログラムは、タグ2との間でデータ通信を行う任意のアプリケーションを実行するためのプログラムである。アプリケーションプログラムは、例えば、タグ2からゲームデータを読み出して当該ゲームデータを用いてゲーム処理を行うゲームプログラムであってもよい。通信プログラムは、タグ2との間で近距離無線通信を行うためのプログラムである。例えば、通信プログラムは、通信チップ12を動作させるためのファームウェアであり、ライブラリとして情報処理装置3に予め用意されていてもよい。詳細は後述するが、通信プログラムは、アプリケーションからの指令を受けて通信のための動作を通信チップ12に行わせる。なお、情報処理装置3において複数のアプリケーションプログラムが実行可能である場合、通信プログラムは、各アプリケーションで共通に使用される。つまり、通信プログラム(後述する通信制御部32)は、複数のアプリケーションから通信に関する指令を受け付けることが可能である。
また、情報処理装置3は、ボタンやタッチパネル等、ユーザによる指示を受け付ける入力部16を備える。また、情報処理装置3は、上記情報処理によって生成される画像を表示する表示部17を備えている。
情報処理装置3は、複数の装置によって構成されてもよい。例えば、情報処理装置3は、CPU13およびメモリ14を備える装置に対して、上記通信部11および通信チップ12を備える装置が着脱可能に接続される構成であってもよい。また、情報処理装置3は、CPU13を有する本体装置と、入力部16および/または表示部17を有する装置とが別体である構成であってもよい。例えば、他の実施形態において、情報処理装置3は、本体装置と、入力部16および表示部17を有する端末装置とによって構成されてもよいし、本体装置と、入力部16を有する操作装置とによって構成されてもよい。このとき、通信部11および通信チップ12は、本体装置に設けられてもよいし、端末装置に設けられてもよい。また、情報処理装置3は、表示部17を備えず、テレビを表示装置として用いる構成であってもよい。
また、他の実施形態においては、情報処理装置3において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の装置によって分散して実行されてもよい。
図2は、タグ2の外観の一例を示す図である。図2に示すように、本実施形態におけるタグ2は、キャラクタを表す外観を有する、フィギュア型のタグである。タグ2が表すキャラクタは、情報処理装置3で実行可能な特定のアプリケーション(例えばゲーム)に登場するキャラクタである。ユーザは、このタグ2を用いることによって、上記特定のアプリケーションにおいて上記キャラクタを登場させることができる。すなわち、情報処理装置3は、上記特定のアプリケーションのプログラムを実行する際、タグ2に記憶されるデータを用いることによって、当該アプリケーションのプログラムによって生成される仮想空間に上記のキャラクタを登場させる。なお、フィギュア型のタグ2は、アプリケーションに登場する任意のオブジェクトを表すものであり、キャラクタに限らず、ゲームアプリケーションにおけるアイテムを表すものであってもよい。
上記のように、タグ2は、特定のアプリケーションプログラムにおいて用いられる。また、詳細は後述するが、タグ2は、特定のアプリケーションプログラムにおいてのみ利用可能なデータ(後述する専用データ)を記憶することができる。以下では、このような特定のアプリケーションプログラムを「特定アプリプログラム」と呼ぶ。なお、1種類のタグに対応する特定アプリプログラムは1種類であってもよいし、複数種類であってもよい。例えば、1つのシリーズのアプリケーションとして複数種類のアプリケーションが提供されている場合には、これら複数種類のアプリケーションが特定アプリプログラムであってもよい。
なお、詳細は後述するが、タグ2は、特定アプリプログラムにおいて利用可能である一方、他のアプリケーションプログラムにおいても利用可能である。すなわち、タグ2は、特定アプリプログラムにおいてのみ利用可能なデータを記憶する一方、特定アプリプログラム以外の他のアプリケーションプログラムにおいても利用可能なデータも記憶する。以下、タグ2に記憶されるデータの一例について説明する。
図3は、タグに記憶されるデータの一例を示す図である。本実施形態においては、図3に示すように、タグ2は、読み出し専用領域21と、読み書き可能領域22とを有する。読み出し専用領域21は、データの読み出しのみが可能な記憶領域である。読み書き可能領域22は、データの読み出しおよび書き込みが可能な記憶領域である。読み出し専用領域21は、タグ2の製造時においてデータが記憶され、その後(タグ2の出荷後)のデータの書き込みが禁止される記憶領域である。つまり、情報処理装置3(情報処理装置3において実行されるアプリケーション)は、読み出し専用領域21に対するデータの書き込みを行うことは不可能である。一方、情報処理装置3(情報処理装置3において実行されるアプリケーション)は、読み書き可能領域22に対するデータの読み出しおよび書き込みを行うことができる。なお、タグ2の出荷時においては読み書き可能領域22にはデータが予め記憶されていてもよいし、記憶されていなくてもよい。いずれの場合であっても、タグ2と情報処理装置3との通信が行われると、情報処理装置3によって読み書き可能領域22にデータが書き込まれて記憶される。
また、本実施形態においては、大別して、専用データ、共用データ、および管理データという3種類のデータがタグ2に記憶される。なお、図3に示すように、本実施形態においては、各データが記憶される記憶領域(専用データ領域、共用データ領域、および管理データ領域)は予め定められているものとするが、他の実施形態においては定められていなくてもよい。
専用データは、上述の特定アプリプログラムでのみ利用可能なデータである。本実施形態において、専用データは、特定アプリプログラムのセーブデータを含む(図3参照)。セーブデータとしては、例えば、タグ2が表すキャラクタに関するパラメータを示すデータ、特定アプリプログラムのゲームの進行状態を示すデータ、および/または、特定アプリプログラムのゲームのプレイヤに関するデータ等が記憶される。なお、本実施形態においては、専用データは、読み書き可能領域22に記憶され、読み出し専用領域21には記憶されない(図3参照)。
次に、共用データについて説明する。共用データは、特定アプリプログラムであるか否かにかかわらず利用可能なデータである。本実施形態においては、共用データは、読み出し専用領域21および読み書き可能領域22の両方に記憶される。なお、タグ2は、読み出し専用領域21または読み書き可能領域22のいずれか一方にのみ共用データを記憶してもよい。
読み出し専用領域21には、共用データとして、少なくとも次のデータ(情報)が記憶される。
・固有ID(を示すデータ)
・タイプID(を示すデータ)
・フィギュアID(を示すデータ)
・シリーズID(を示すデータ)
・利用ID(を示すデータ)
固有IDは、タグに固有の識別情報である。ここで、本実施形態におけるタグ2のようなNFCタグには、UID(Unique ID)という、タグに固有の識別情報が記憶される。上記固有IDは、このUIDとは異なる情報である。固有IDは、タグを用いたサービスの提供者がタグを管理しやすいように、UIDとは別に付されたIDである。
フィギュアIDは、フィギュア型のタグ2の外観(形状・色)に固有の識別情報である。フィギュアIDは、タグ2のフィギュアの種類を一意に特定することが可能な識別情報である。例えば、1つのキャラクタにつき、それぞれ外観が異なる(例えば、ポーズや服装が異なる)複数種類のタグがある場合には、各タグには異なる値のフィギュアIDが設定される。この場合、フィギュアIDは、キャラクタに固有のID(キャラクタID)と、ポーズ・服装などの違いを示すID(ナンバリングID)とを含んでもよい。また、1つのキャラクタに複数の種類がある場合(例えば、あるキャラクタがアイテムを取得することによっていくつかの形態に変身する場合)、上記フィギュアID(キャラクタID)は、当該複数の種類を1グループとしてキャラクタを示すIDと、種類毎に異なるIDとを含んでいてもよい。
なお、情報処理装置3において実行可能なアプリケーションプログラムは、自身において利用する(利用可能な)タグのフィギュアIDの情報を含んでいる。詳細は後述するが、アプリケーションプログラムに含まれるフィギュアIDの値と、タグに記憶されるフィギュアIDの値とが一致する場合、アプリケーションプログラムは、当該タグに記憶される専用データを利用可能となる。つまり、フィギュアIDは、タグ2に記憶される専用データの利用を管理するための識別情報であるとも言うことができる。
シリーズIDは、タグ2が表すオブジェクト(キャラクタ)が属するグループに固有の識別情報である。例えば、タグ2が表すキャラクタが複数種類のアプリケーション(例えば、一連のシリーズのゲームアプリケーション)に登場する場合、これら複数種類のアプリケーションが1つのグループに設定され、このグループを示すグループIDが設定されてもよい。
タイプIDは、タグ2の種類を示す識別情報である。本実施形態においては、情報処理装置3においては、タグ2のようなフィギュア型のタグの他、カード型のタグも利用可能であるとする。タイプIDは、タグの種類として、フィギュア型のタグであるかカード型のタグであるかを示す識別情報である。なお、他の実施形態においては、タイプIDによって識別可能なタグの種類は任意である。例えば、タグを提供する業者毎に異なるタイプIDが付されてもよい。
利用IDは、タグ2に記憶される専用データ(詳細は後述する)を利用可能なアプリケーションプログラム(上記の特定アプリプログラム)を特定する識別情報である。ここで、情報処理装置3において実行可能なアプリケーションプログラムには、利用IDが付される。本実施形態においては、タグ2に記憶される専用データの利用を管理するために上記のフィギュアIDが用いられる(後述の特定アプリ判定処理を参照)。ただし、他の実施形態においては、タグ2に記憶される専用データの利用を管理するために利用IDが用いられてもよい。
また、図3に示すように、読み書き可能領域22には、共用データとして、初期登録データと更新データとが記憶される。なお、タグ2に記憶される共用データの内容は任意である。例えば、他の実施形態においては、タグ2は、共用データとして、初期登録データおよび更新データのいずれか一方のみを記憶してもよい。
初期登録データは、情報処理装置3においてタグ2の利用が開始される際にユーザによって登録されるデータである。なお、初期登録データは、典型的には、タグ2が最初に利用されるタイミングでタグ2に記憶されるが、任意のタイミングでタグ2に記憶されてもよい。つまり、ユーザによるタグ2に対するデータの登録は、任意のタイミングで行われてもよい。
本実施形態においては、初期登録データには次のデータが含まれる。
・アバターデータ
・ニックネーム(を示すデータ)
・登録日時(を示すデータ)
・地域(を示すデータ)
アバターデータは、ユーザのアバターのデータである。アバターデータは、情報処理装置3がアバターを生成して表示部17に表示するために用いられるデータを含む。具体的には、アバターデータは、アバターの各部位(目や鼻等の形や、体型等)を示すデータを含んでいる。なお、本実施形態においては、情報処理装置3には、アバターデータを用いてアバターを生成するプログラムが記憶されているものとする。本実施形態においては、アバターを生成するプログラムは、情報処理装置3のシステムプログラムまたはライブラリとして予め記憶されており、各アプリケーションプログラムにおいて(アバター生成プログラムを用いることによって)アバターを表示することが可能である。
本実施形態においては、情報処理装置3には、アバターの各部位のパーツデータ(画像データあるいは3次元モデルデータ)が、1つの部位につき複数種類、予め記憶されている(アバター生成プログラムにパーツデータが含まれていてもよい)。また、パーツデータには種類毎に番号が付されており、アバターデータは、アバターを構成する各部位のパーツデータの番号を示す。情報処理装置3は、アバター生成プログラムを実行することによって、アバターデータが示す番号のパーツデータを用いてアバターを生成することが可能である。このように、本実施形態においては、タグ2に記憶されるアバターと、タグ2が表すキャラクタとでは、異なる方法(処理)で画像が生成される。
ニックネームは、ユーザがタグ2に対して付けるニックネームである。例えば、1人のユーザが同じ外観のタグを2つ以上所有している場合、これらのタグに対して互いに異なるニックネームを付すことで、各タグを区別することができる。
詳細は後述するが、タグに対して初期登録処理が実行される場合(後述する図7、図8参照)、情報処理装置3は、上記アバターデータおよびニックネームをユーザに入力させる。そして、入力されたデータが、後述する登録日時および地域のデータとともに、初期登録データとしてタグ2に記憶される。
登録日時は、初期登録が行われた日時である。また、地域は、初期登録が行われた地域である。詳細は後述するが、本実施形態においては、登録日時および地域のデータは、初期登録処理において情報処理装置3によって自動的にタグ2に書き込まれる。
次に、更新データに含まれる情報について説明する。更新データは、タグ2と情報処理装置3との通信が行われる際に(一定条件下で)内容が更新されるデータである。本実施形態においては、更新データには次のデータが含まれる。
・書き込み回数(を示すデータ)
・最終書き込み装置(を示すデータ)
・装置変更回数(を示すデータ)
・最終利用アプリ(を示すデータ)
・最終書き込み日時(を示すデータ)
詳細は後述するが、本実施形態においては、タグ2に記憶されている更新データは、専用データが書き込まれるタイミングで更新(上書き)される。
書き込み回数は、タグ2に対する専用データの書き込みが行われた回数である。
最終書き込み装置は、タグ2に対する専用データの書き込みを最後に行った情報処理装置である。本実施形態においては、情報処理装置毎に固有の識別情報が付されているものとし、最終書き込み装置のデータとして、書き込みを行った情報処理装置の識別情報のハッシュ値のデータが記憶される(書き込みを行った情報処理装置の識別情報自体のデータが記憶されてもよい)。
装置変更回数は、専用データの書き込みを行う情報処理装置が変更された回数である。詳細は後述するが、例えば、ユーザ自身の情報処理装置によってタグ2に対する書き込みが行われた後、ユーザの情報処理装置とは異なる情報処理装置(例えば、外出先の店頭に設置されている情報処理装置や、ユーザの友人の情報処理装置)によってタグ2に対する書き込みが行われた場合、装置変更回数が更新される。
最終利用アプリは、タグ2に対して専用データの書き込みを最後に行ったアプリケーションプログラムである。本実施形態においては、最終利用アプリのデータとして、アプリケーションプログラム毎に固有の識別情報のデータ(上記の利用IDのデータでもよい)が記憶される。
最終書き込み日時は、タグ2に対して専用データの書き込みが最後に行われた日時である。
次に、管理データについて説明する。管理データは、タグの管理のために用いられるデータであり、例えば後述するアクセス許可判定処理等において用いられる。管理データは、基本的にはアプリケーションにおいては用いられないデータである。
図3に示すように、タグ2は、管理データとして、バージョン情報のデータを読み出し専用領域21に記憶する。バージョン情報は、タグ2のデータフォーマット(記憶形式)に関するバージョンを示す。ここで、本実施形態においては、タグ2におけるデータの記憶形式はバージョン毎に異なり、同じバージョンであればデータの記憶形式は同じであるとする。具体的には、本実施形態においては、タグ2においてどのアドレスにどのデータが記憶されるかは、バージョン毎に定められている(なお、バージョン情報のデータが記憶されるアドレスは、バージョンが異なっても同じである)。したがって、情報処理装置3は、バージョン情報を参照することによって、各データが記憶されているアドレスを特定することができる。例えば、バージョン情報において各データのデータサイズ(各データの記憶領域のサイズ)を規定しておくことによって、バージョン情報からアドレスを特定することができる。
また、タグ2は、管理データとして、第1ハッシュ値および第2ハッシュ値を記憶する(図3参照)。第1ハッシュ値は、読み出し専用領域21内のデータに対応するハッシュ値である。また、第2ハッシュ値は、読み書き可能領域22内のデータに対応するハッシュ値である。これらのハッシュ値は、対応するデータに対して所定のアルゴリズム(ハッシュ関数)を適用することによって得られる。なお、読み出し専用領域21内のデータの内容は変化しないので、第1ハッシュ値も変化することはなく、そのため、本実施形態においては第1ハッシュ値のデータは読み出し専用領域21に記憶される。また、読み書き可能領域22内のデータの内容は変化するので、第2ハッシュ値も変化する。そのため、第2ハッシュ値のデータは読み書き可能領域22に記憶される。
なお、本実施形態においては、図3に示すデータのうち、専用データおよび共用データは、情報処理装置3(本実施形態においては、後述する通信制御部32)によって復号可能な方式で暗号化されている。なお、専用データの暗号化方式と共用データの暗号化方式とは同じであってもよいし、異なっていてもよい。したがって、上記方式での復号機能を持たない装置によってタグ2から上記他のデータが読み出されても、当該装置はデータの内容を解読することはできない。これによって、タグ2内のデータのセキュリティを向上することができる。なお、他の実施形態においては、管理データも上記方式で暗号化されていてもよいし、3種類のデータのうち少なくとも1つは暗号化されていなくてもよい。
[2.情報処理システムにおける処理動作]
次に、図4〜図12を参照して、タグ2に対するデータの読み出しおよび書き込みに関する情報処理システム1の処理動作について説明する。なお、図4等に示すように、本実施形態においては、情報処理装置3内における動作を、機能的にアプリケーション部31と通信制御部32とに分けて説明する。本実施形態において、アプリケーション部31は、上述のアプリケーションプログラムを実行するCPU13である。通信制御部32は、上述の通信プログラムを実行するCPU13と、通信チップ12および通信部11とによって実現される。なお、他の実施形態においては、情報処理装置3における情報処理は、アプリケーションプログラムと通信プログラムという2種類のプログラムによって実現される必要は無く、単一のプログラムによって実現されてもよい。
(2−1:データ読出時の動作)
以下、図4〜図6を参照して、タグ2からデータを読み出す動作について説明する。図4および図5は、特定アプリプログラムによってタグからデータが読み出される場合における情報処理システムの処理の流れの一例を示す図である。なお、図4は、情報処理装置3において特定アプリプログラムが実行される場合、すなわち、アプリケーション部31が特定アプリプログラムを実行するCPU13によって実現される場合を示している。一方、図5は、情報処理装置3において特定アプリプログラムではない他のアプリケーションプログラムが実行される場合、すなわち、アプリケーション部31が当該他のアプリケーションプログラムを実行するCPU13によって実現される場合を示している。
また、図6は、読出指令を受け付けた場合における通信制御部32の処理(読出指令処理)の流れの一例を示すフローチャートである。なお、図6に示すフローチャート(後述する図8,図10,図12におけるフローチャートについても同様)における各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPU13が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU13以外のプロセッサや専用回路が実行するようにしてもよい。
まず、アプリケーション部31は、通信制御部32に対してタグ2からのデータの読出指令を送る(図4および図5参照)。本実施形態において、この読出指令にはフィギュアIDが含まれる。上述のように、特定アプリプログラムは、自身が専用データを利用可能なタグのフィギュアIDの情報を含んでいる。したがって、アプリケーション部31は、読出指令とともに、特定アプリプログラムに含まれるフィギュアIDを通信制御部32へ送る。
なお、アプリケーション部31は、特定アプリプログラムに含まれる各フィギュアIDを通信部32に送る。ただし、タグの種類を特定できる場合には、アプリケーション部31は、特定アプリプログラムに含まれる1以上のフィギュアIDのうち、当該タグのフィギュアIDのみを通信制御部32に送ってもよい。例えば、プレイヤが操作しているキャラクタに対応するキャラクタを表すタグを利用するゲーム状況においてタグのデータを読み出す場合には、情報処理装置3に接続されるタグ2は、当該キャラクタのタグであると特定することができる。したがって、この場合、アプリケーション部31は、当該キャラクタを表すタグのフィギュアIDのみを通信制御部32に送ってもよい。
なお、他の実施形態においては、アプリケーション部31は、読出指令(書込指令等の他の指令でも同様)を送るタイミングとは異なるタイミングでフィギュアIDを通信制御部32に送るようにしてもよい。例えば、他の実施形態においては、後述する特定アプリ判定処理において通信制御部32がフィギュアIDをアプリケーション部31に対して要求し、この要求に応じてアプリケーション部31がフィギュアIDを通信制御部へ送るようにしてもよい。
読出指令を受け付けると、通信制御部32は、図4〜図6に示すステップS1〜S7の一連の処理(読出指令処理)の実行を開始する。まずステップS1において、通信制御部32は、タグ2との通信を開始するための接続処理を実行する。接続処理の具体的な内容は任意である。例えば、通信制御部32は、通信部11の周囲に存在するタグ2を検知する処理(例えばポーリング処理)と、検知されたタグ2との間で通信を確立するための処理(例えば、データ通信に必要な情報をタグ2から取得する処理)とを実行する。なお、図示していないが、読出指令処理(後述する登録指令処理、書込指令処理においても同様)の途中においてタグ2が情報処理装置3から離れて近距離無線通信が行えなくなった場合、通信制御部32は読出指令処理を終了し、アプリケーション部31とのデータの受け渡しを中止する。
ステップS2において、通信制御部32はデータの読出処理を実行する。具体的には、通信制御部32はまず、管理データをタグ2から読み出す。そして、読み出した管理データに含まれるバージョン情報に基づいて、タグ2内の各データ(専用データおよび共用データに含まれる各データ)のアドレスを特定する。なお、バージョン情報に基づいてアドレスを特定する具体的な方法は任意である。例えば、バージョン情報自体に、各データとアドレスとの対応関係を示す情報がバージョン情報に含まれていてもよい。また例えば、上記対応関係とバージョン情報とを関連付けたテーブルを通信制御部32が予め記憶しておき、タグ2から読み出したバージョン情報と当該テーブルとを用いて通信制御部32が対応関係を特定してもよい。
専用データおよび共用データに含まれる各データのアドレスが特定されると、通信制御部32は、共用データおよび専用データをタグ2から読み出す。通信制御部32は、読み出したデータを復号してメモリ14に記憶しておく。このように、本実施形態においては、通信制御部32は、アプリケーション部31からの読出指令の内容(タグ2内のどのデータを読み出すか)、および、アプリケーションプログラムの種類(特定アプリプログラムか否か)にかかわらず、共用データおよび専用データをタグ2から読み出す。
ステップS3において、通信制御部32は、アクセス許可判定処理を実行する。アクセス許可判定処理は、情報処理装置3上で実行されるアプリケーションプログラムによる、通信が確立したタグへのアクセスが許可されるか否かを判定する処理である。換言すれば、アクセス許可判定処理は、通信が確立したタグが、情報処理装置3上で実行されるアプリケーションプログラムによるアクセスが許可されたタグ(以下、「許可タグ」と呼ぶ)か否かを判定する処理である。なお、「許可タグ」は、例えば、情報処理装置3(および/または情報処理装置3で実行可能なアプリケーションプログラム)を提供する事業者が許可したタグである。つまり、本実施形態においては、情報処理装置3上のアプリケーションは、上記事業者によって許可されたタグにのみアクセス可能であり、上記事業者によって許可されないNFCタグに対してデータの読み出し/書き込みを行うことはできない。
本実施形態においては、アクセス許可判定処理における判定は、タグ2に記憶されるデータのハッシュ値(第1ハッシュ値および第2ハッシュ値)を用いて行われる。具体的には、通信制御部32は、ステップS2で読み出した、読み出し専用領域21内のデータについて、上述の所定のアルゴリズムによってハッシュ値(第1ハッシュ値)を算出する。そして、算出したハッシュ値と、ステップS2で読み出した第1ハッシュ値とが一致するか否かを判定する。さらに、これら2つのハッシュ値が一致する場合には、読み書き可能領域22内のデータと第2ハッシュ値についても同様に判定を行う。すなわち、通信制御部32は、ステップS2で読み出した読み書き可能領域22内のデータについて上記所定のアルゴリズムによってハッシュ値(第2ハッシュ値)を算出し、算出したハッシュ値と、ステップS2で読み出した第2ハッシュ値とが一致するか否かを判定する。
算出したハッシュ値と読み出した第2ハッシュ値とが一致する場合、通信制御部32は、タグ2は許可タグであると判定する。この場合、通信制御部32は、ステップS5の処理を実行する。一方、上記ハッシュ値を用いた2回の判定のいずれかにおいてハッシュ値が一致しない場合、タグ2は許可タグではないと判定する。この場合、通信制御部32は、ステップS4の処理を実行する。
以上のように、本実施形態においては、タグ2は、それに記憶されるデータの一部または全部に対するハッシュ値(第1ハッシュ値および第2ハッシュ値)を記憶しており、通信制御部32は、タグ2から読み出したデータに基づいて算出されるハッシュ値と、タグ2から読み出したハッシュ値とに基づいて、タグ2が許可タグであるか否かを判定する。このように、タグ2にハッシュ値を記憶しておくことによって、タグ2が許可タグであるか否かの判定を容易に行うことができる。
なお、他の実施形態においては、アクセス許可判定処理における判定は、他の方法によって行われてもよい。例えば、通信制御部32は、タグ2に記憶されている所定の情報を(情報処理装置3の側でも)予め記憶しておき、タグから読み出した情報と、予め記憶しておいた情報とが一致するか否かによって上記判定を行ってもよい。なお、この判定に用いる所定の情報としては、例えば、以下の情報が考えられる。
・NFCタグに記憶されている、NFCの規格において定められるタグのタイプ(Type1,Type2等)を示す情報
・情報処理装置3(および/または情報処理装置3で実行可能なアプリケーションプログラム)を提供する事業者が許可するタグであることを示す情報(専用コード)
・上述のバージョン情報
また例えば、アクセス許可判定処理における判定は、読み出し専用領域21に記憶されるデータが、バージョン情報から特定される設定に適合しているか否かによって行われてもよい。また例えば、アクセス許可判定処理における判定は、通信制御部32によって読み出された所定のデータ(例えば、読み出し専用領域21に記憶されるデータ)のサイズが所定の範囲内であるか否かによって上記判定を行ってもよい。
ステップS4において、通信制御部32は、タグ2が許可タグではないことをアプリケーション部31に通知する。この通知を受け取ったアプリケーション部31の処理は任意である。例えば、アプリケーション部31は、タグ2が許可されたものではないためにデータの読み出しを行うことができない旨をユーザに対して通知する。ステップS4の処理の終了後、通信制御部32は、図6に示す読出指令処理を終了する。
一方、ステップS5において、通信制御部32は、特定アプリ判定処理を実行する。特定アプリ判定処理は、通信制御部32に対する指令(ここでは読出指令)を行ったアプリケーションプログラムが特定アプリプログラムであるか否かを判定する処理である。
特定アプリ判定処理における判定は、上述のフィギュアIDを用いて行われる。すなわち、通信制御部32は、アプリケーション部31から指令と共に取得したフィギュアID(フィギュアIDが複数である場合にはそのうちのいずれか)と、ステップS2でタグ2から読み出したフィギュアIDとを比較する。そして、両者が一致すれば、通信制御部32は、上記指令を行ったアプリケーションプログラムは特定アプリプログラムであると判定する。この場合、通信制御部32は、ステップS6の処理を実行する。一方、両者が異なれば、通信制御部32は、上記指令を行ったアプリケーションプログラムは非特定アプリプログラム(特定アプリプログラムではないアプリケーションプログラム)と判定する。この場合、通信制御部32は、ステップS7の処理を実行する。
ステップS6において、通信制御部32は、アプリケーション部31に対して専用データおよび共用データを渡す(出力する)(図4参照)。つまり、指令を行ったアプリケーションプログラムが特定アプリプログラムである場合には、通信制御部32は、専用データの受け取りを許可する。なお、ステップS6の処理の終了後、通信制御部32は、図6に示す読出指令処理を終了する。
なお、通信制御部32から専用データおよび共用データを受け取ったアプリケーション部31は、受け取ったデータを用いた情報処理を実行する。この情報処理の内容は任意である。例えば、アプリケーション部31は、専用データであるセーブデータを用いたゲーム処理を実行する。なお、本実施形態においては、特定アプリプログラムは、専用データであるセーブデータを用いることとするが、専用データとともに(あるいは専用データに代えて)共用データを用いてもよい。
一方、ステップS7において、通信制御部32は、アプリケーション部31に対して共用データを渡す(出力する)(図5参照)。つまり、指令を行ったアプリケーションプログラムが非特定アプリプログラムである場合には、通信制御部32は、専用データの受け取りを制限(禁止)する。なお、ステップS7の処理の終了後、通信制御部32は、図6に示す読出指令処理を終了する。
なお、通信制御部32から共用データを受け取ったアプリケーション部31は、受け取ったデータを用いた情報処理を実行する。この情報処理の内容は任意であるが、例えば、以下の処理例が考えられる。
・フィギュアIDを用いて、フィギュアIDが表すキャラクタを表示する処理(図12参照)
・アバターデータを用いて、ユーザのアバターを表示する処理(例えば、アバターをプレイヤキャラクタとして用いてゲームを実行する処理)
・ニックネームを情報処理装置3に記憶しておき、適宜のタイミングで表示する処理。
・更新データの内容に応じた処理(例えば、書き込み回数が所定回数以上である場合にゲーム上の特典を付与する処理、最終書き込み日時が所定時点よりも過去であれば「久しぶり」といったメッセージを表示する処理等)
なお、本実施形態においては、ステップS6またはS7のデータ出力処理において、通信制御部32は、タグ2に記憶されている共用データ(および専用データ)の全てをアプリケーション部31へ出力するものとした。ただし、他の実施形態においては、アプリケーション部31は、取得すべきデータを読出指令において指定し、ステップS6またはS7の処理において、通信制御部32は、当該読出指令において指定されたデータをアプリケーション部31へ出力するようにしてもよい。なお、このとき、読出指令において指定されたデータが専用データであって、ステップS4の処理において、読出指令を行ったアプリケーションプログラムが非特定アプリプログラムであると判定された場合には、ステップS7において、通信制御部32は、データの出力(読み出し)が制限されている旨をアプリケーション部31へ通知するようにしてもよい。
(2−2:初期登録時の動作)
次に、図7および図8を参照して、タグ2に対して初期登録データを書き込む動作について説明する。図7は、タグ2に対して初期登録データが書き込まれる場合における情報処理システムの処理の流れの一例を示す図である。また、図8は、登録指令を受けた場合における通信制御部32の処理(登録指令処理)の流れの一例を示すフローチャートである。
まず、アプリケーション部31は通信制御部32に対して登録指令を出力し、通信制御部32は登録指令を受け付ける。ここで、登録指令は、初期登録データをタグに書き込む指令である。本実施形態においては、登録指令を行うアプリケーション部31は、情報処理装置3におけるシステムアプリケーションプログラム(OSプログラム)によって実現される。つまり、初期登録データの書き込みは、システムアプリケーションプログラムによって(情報処理装置3の機能として)行われる。例えば、システムアプリケーションプログラムの実行中において(例えば、メニュー画面の表示中において)、タグ2に対する初期登録を行う旨の指示がユーザによって行われる。この指示が受け付けられたことに応じて、アプリケーション部31は登録指令を出力する。
なお、本実施形態においては、システムアプリケーションのみが共用データを書き込むことができるものとするが、他の実施形態においては、他のアプリケーション(特定アプリプログラムおよび/または非特定アプリプログラム)が共用データを書き込むことができるようにしてもよい。
登録指令を受け付けると、通信制御部32は、図7および図8に示すステップS1〜S3,S11〜S13の一連の処理(登録指令処理)の実行を開始する。図8に示すステップS1〜S3における処理は図6に示す処理と同じである。
登録指令処理においては、ステップS3の判定結果が肯定であった場合(タグ2が許可タグである場合)、ステップS11の処理が実行される。一方、ステップS3の判定結果が否定であった場合(タグ2が許可タグでない場合)、図6に示すステップS4の処理が実行される。
登録指令処理においては、上記ステップS4の処理によって、タグ2が許可タグではないことの通知を受け取った場合、アプリケーション部31は、例えば、タグ2が許可されたものではないためにデータの登録を行うことができない旨をユーザに対して通知する。ステップS4の処理の終了後、通信制御部32は、図8に示す読出指令処理を終了する。
一方、ステップS11において、通信制御部32は、タグ2が許可タグであることの通知(許可通知)をアプリケーション部31へ出力する。なお、図7は、許可通知がアプリケーション部31へ出力される場合の処理を示している。
許可通知を受け取ると、アプリケーション部31は、タグ2に書き込むべき初期登録データを取得する(図7に示すステップS21)。本実施形態においては、アプリケーション部31は、アバターデータとニックネームのデータをユーザから受け付けるとともに、登録日時および地域のデータを取得する。具体的には、アプリケーション部31は、アバターの各部位(目や鼻等)について複数種類の候補を用意しておき、候補から所望の形状をユーザに選択させる。これによって、ユーザの指示に応じたアバターデータを取得することができる。また、ニックネームは、ユーザに所望の文字情報を入力させることで取得することができる。また、現在の日時を示すデータ、および、情報処理装置3が存在する地域(国)を示すデータは情報処理装置3に記憶されているものとし、アプリケーション部31は、これらのデータを取得する。アプリケーション部31は、以上のようにして取得した各データを含む初期登録データを、通信制御部32へ渡す(出力する)。
ステップS12において、通信制御部32は、初期登録データをアプリケーション部31から取得する。なお、他の実施形態においては、通信制御部32は、ユーザによって指定されるデータ(アバターデータおよびニックネームのデータ)をアプリケーション部31から取得し、情報処理装置3において記憶されているデータ(現在の日時および地域のデータ)を自身で取得するようにしてもよい。
ステップS13において、通信制御部32は、タグ2に対する書込処理を実行する。本実施形態においては、タグ2に対するデータの書き込みは、タグ2の読み書き可能領域22に記憶されるデータの全体を一単位として行われる。すなわち、通信制御部32は、ステップS2で読み出した専用データと、ステップS2で読み出した共用データに対して初期登録データを追加した新たな共用データと、第2ハッシュ値のデータとをタグ2に書き込む。なお、初期登録データ以外の共用データについては、ステップS2で読み出されてメモリ14に記憶されたデータが用いられる。ここで、初期登録データが追加されることによって、共用データの内容は変更されることになる。したがって、ステップS13において、通信制御部32は、変更後の共用データ(初期登録データが追加された共用データ)についてハッシュ値を算出する。そして、算出したハッシュ値を新たな第2ハッシュ値としてタグ2に書き込む。ステップS13の処理の後、通信制御部32は登録指令処理を終了する。
なお、上記においては、タグ2に初期登録データが記憶されていない場合を想定して処理を説明した。なお、タグ2に初期登録データが記憶されている場合も、上記と同様の登録指令書理を実行することで、初期登録データの内容を更新することができる。この場合、ステップS13においては、通信制御部32は、ステップS2で読み出した専用データと、ステップS2で読み出した共用データに対して初期登録データを更新した新たな共用データとを、タグ2に書き込むことになる。以上のように、アプリケーション部31は、タグ2に対して初期登録データを新たに書き込む場合の他、タグ2に登録されている初期登録データを更新する場合にも、登録指令を通信制御部32へ送るようにしてもよい。
また、他の実施形態においては、通信制御部32は、読出指令や書込指令に応じてタグ2と近距離無線通信を行う際に、初期登録データを書き込む処理を実行してもよい。例えば、読出指令処理におけるステップS2においてタグ2からデータを読み出した場合、通信制御部32は、初期登録データがタグ2に記憶されているか否かを判定し、初期登録データが記憶されていない場合、アプリケーション部31に通知を行うようにしてもよい。この通知に応じて、アプリケーション部31は上記ステップS21の処理を実行し、通信制御部32は上記ステップS12およびS13の処理を実行してもよい。これによって、通信制御部32は、読出指令処理において(初期登録データが未登録である場合には)初期登録データをタグ2に書き込むことができる。
(2−3:データ書込時の動作)
次に、図9および図10を参照して、タグ2に対して専用データ(および更新データ)を書き込む動作について説明する。図9は、タグ2に対して専用データが書き込まれる場合における情報処理システムの処理の流れの一例を示す図である。また、図10は、書込指令を受けた場合における通信制御部32の処理(書込指令処理)の流れの一例を示すフローチャートである。
まず、アプリケーション部31は、通信制御部32に対してタグ2に対するデータの書込指令を送る(図9および図10参照)。この書込指令には、上述した読出指令と同様、アプリケーション部31のアプリケーションプログラムに含まれるフィギュアIDが含まれる。
書込指令を受け付けると、通信制御部32は、図10に示す一連の処理(書込指令処理)の実行を開始する。ここで、書込指令処理におけるステップS1〜S6の処理は、上述した読出指令処理におけるステップS1〜S6の処理と同様である。このように、本実施形態においては、タグ2からデータを書き込む場合には、まずタグ2から読み出される。そして、詳細は後述するが、読み出されたデータに対して適宜変更が加えられ、変更後のデータがタグ2に書き込まれる。
書込指令処理においては、ステップS5の判定結果が否定であった場合(書込指令を行ったアプリケーションプログラムが特定アプリプログラムでない場合)には、ステップS31の処理が実行される。ステップS31において、通信制御部32は、データの書き込みを行うことができない旨をアプリケーション部31に通知する。この通知を受け取ったアプリケーション部31の処理は任意である。例えば、アプリケーション部31は、接続されたタグ2は、実行中のアプリケーションによってデータの書き込みを行うことができないタグである旨をユーザに通知する処理を実行する。ステップS31の後、通信制御部32は書込指令処理を終了する。
一方、書込指令処理においては、ステップS5の判定結果が肯定であった場合(書込指令を行ったアプリケーションプログラムが特定アプリプログラムである場合)には、ステップS6の処理が実行される。すなわち、通信制御部32は、アプリケーション部31に対して専用データおよび共用データを渡す(出力する)(図9、図10参照)。なお、上述のように、ステップS6においてアプリケーション部31に渡されるデータはこれに限らず、例えば、専用データ(セーブデータ)のみが渡されてもよい。また、書込指令処理においては、ステップS6の処理に代えて、データの書き込みが許可される旨をアプリケーション部31へ通知する処理が実行されてもよい。
専用データおよび共用データを受け取ったアプリケーション部31は、タグ2に書き込むべきデータ(ここでは、セーブデータ)を通信制御部32へ送る。すなわち、ステップS32において、通信制御部32は、タグ2に書き込むべきデータをアプリケーション部31から取得する。
ステップS33において、通信制御部32は、タグ2に書き込むべき更新データを生成する。上述のように、本実施形態においては、タグ2に専用データ(セーブデータ)が書き込まれる際に更新データが更新される。したがって、通信制御部32は、書き込み回数、最終書き込み装置、装置変更回数、最終利用アプリ、および、最終書き込み日時のデータを取得(生成)する。具体的には、書き込み回数のデータとして、通信制御部32は、ステップS2で読み出した更新データが示す書き込み回数に1を加えた値を示すデータを生成する。また、情報処理装置3には自機の識別情報が(例えばメモリ14に)記憶されているので、通信制御部32は、最終書き込み装置のデータとして、この識別情報のデータを取得する。また、通信制御部32は、最終利用アプリのデータとして、書込指令を行ったアプリケーションプログラムから、当該アプリケーションプログラムの識別情報(アプリID)のデータを取得する。また、通信制御部32は、最終書き込み日時のデータとして、現在の日時の情報を取得する。なお、装置変更回数のデータについては、次のようにして算出される。
図11は、装置変更回数のカウント方法の一例を示す図である。図11においては、まず、ユーザが自宅で、ユーザが所有する情報処理装置3aを用いてタグ2にデータ(セーブデータ)を書き込んだ場合を考える。また、この時点での装置変更回数Nは“A”とする。なお、この後、情報処理装置3aによってタグ2にセーブデータが書き込まれても、装置変更回数Nは“A”のままである。
図11においては、情報処理装置3aによってタグ2にセーブデータが書き込まれた後、ユーザは、(タグ2を持って移動し、)他の情報処理装置3bによってタグ2にセーブデータを書き込んだものとする。なお、他の情報処理装置3bは、例えば、ユーザの知人の情報処理装置や、販売促進等の目的で店頭に設置された情報処理装置である。上記他の情報処理装置3bによってタブ2にセーブデータが書き込まれる際、装置変更回数Nは“A+1”に更新される。なお、この後、他の情報処理装置3bによってタグ2にセーブデータが再度書き込まれても、装置変更回数Nは“A+1”のままである。
図11においては、さらにその後、ユーザは、(タグ2を持って移動し、)自身の情報処理装置3aを用いてタグ2にセーブデータを再び書き込んだものとする。この場合、情報処理装置3aによってセーブデータが書き込まれる際、装置変更回数Nは、“N=A+2”に更新される。
以上のように、本実施形態においては、前回にデータ(セーブデータ)の書き込みを行った情報処理装置と、今回にデータ(セーブデータ)の書き込みを行う情報処理装置とが異なる場合、装置変更回数が1加算される。一方、両者が異なる場合、装置変更回数が維持される。
したがって、ステップS33の処理においては、通信制御部32は、ステップS2で読み出した共用データ(更新データ)に含まれる最終書き込み装置の情報が、今回の書込指令を行った情報処理装置3を示すか否かを判定する。すなわち、通信制御部32は、ステップS2で読み出した更新データに含まれる最終書き込み装置の情報と、今回のステップS33で取得した最終書き込み装置の情報とが一致するか否かを判定する。そして、両者が一致する場合、データの書き込みを行う情報処理装置は変更されていないと判断し、装置変更回数を維持する。すなわち、ステップS2で読み出した装置変更回数の値をそのまま、タグ2に書き込む装置変更回数の値とする。一方、両者が一致しない場合、データの書き込みを行う情報処理装置が変更されたと判断し、装置変更回数をインクリメントする。すなわち、ステップS2で読み出した装置変更回数の値を1加算した値を、タグ2に書き込む装置変更回数の値とする。
本実施形態においては、以上のようにして、更新すべき更新データが取得・生成される。
ステップS34において、通信制御部32は、タグ2に対する書込処理を実行する。上述のように、本実施形態においては、タグ2に対するデータの書き込みは、タグ2の読み書き可能領域22に記憶されるデータの全体を一単位として行われる。すなわち、通信制御部32は、ステップS32でアプリケーション部31から取得した新たな専用データと、ステップS33で取得した新たな更新データを含む共用データとを、タグ2に書き込む。なお、更新データ以外の共用データについては、ステップS2で読み出されてメモリ14に記憶されたデータが用いられる。ここで、更新データが変更されることによって、共用データの内容は変更されることになる。したがって、ステップS34において、通信制御部32は、変更後の共用データ(更新データの内容が変更された共用データ)についてハッシュ値を算出する。そして、算出したハッシュ値を新たな第2ハッシュ値としてタグ2に書き込む。ステップS34の処理の後、通信制御部32は書込指令処理を終了する。
なお、上記のように本実施形態においては、タグ2に専用データが書き込まれることに応じて更新データの更新が行われる。ただし、更新データは任意のタイミングで更新されてもよい。例えば、タグ2に対する読み出しに関する情報が更新データに含まれてもよく(後述する“[4.変形例]”参照)、このとき、タグ2からデータが読み出されるタイミングで更新データが更新されてもよい。すなわち、通信制御部32は、読出指令処理においてステップS6またはS7の処理の次に、新たな更新データを生成してタグ2に書き込む処理を実行してもよい。
また、本実施形態においては、通信制御部32は、タグ2に初期登録データが記憶されているかいなかにかかわらず、タグ2に対する更新データの書き込みを行う。ここで、他の実施形態においては、情報処理装置3(通信制御部32)は、タグ2に初期登録データが記憶されていることを条件として、タグ2に対する更新データの書き込みを行うようにしてもよい。これによれば、初期登録が行われた時点を基準として更新データ(例えば、書き込み回数等)を記録することができる。
以上のように、本実施形態においては、タグ2に対するデータの書き込みおよび読み出しは、本体データ(専用データおよび共用データ)の全体を一単位として行われるものとする。つまり、タグ2からデータを読み出す場合には、(本体データのうちの一部のみが必要である場合であっても)本体データの全体が読み出される。また、タグ2に対してデータを書き込む(本体データを書き換える)場合には、(本体データの一部のみを書き換える場合であっても)本体データの全体が書き換えられる。
なお、他の実施形態においては、タグ2に対するデータの書き込みおよび読み出しは、所定の単位毎に行われてもよい。例えば、タグ2の記憶領域が複数のブロックに分割されている場合、タグ2に対するデータの書き込みおよび読み出しは、このブロック毎に行われてもよい。
(2−4:アプリケーションプログラムによる処理例1)
次に、図12を参照して、アプリケーションプログラムによって情報処理装置3のCPU13(アプリケーション部31)が実行する処理の例について説明する。図12は、アプリケーションプログラムによってCPU13が実行する処理の流れの一例を示すフローチャートである。なお、図12に示す処理は、例えば、ユーザがアプリケーションの起動指示を行ったことに応じて開始される。
また、図12では、アプリケーションプログラムによる処理の一例として、ゲーム処理が実行される場合を説明する。また、図12では、タグ2に記憶される共有データ(フィギュアIDおよびシリーズID)を用いて、タグ2が表すキャラクタをゲーム空間に登場させる処理を例として説明する。
ステップS41において、アプリケーション部31は、アプリケーションプログラムに従ってゲーム処理を実行する。このゲーム処理の内容は任意であり、例えば、ユーザの入力に応じて仮想空間(ゲーム空間)におけるキャラクタの動作を制御したり、プログラムにおいて規定されているアルゴリズムに従って他のキャラクタの動作を制御したりする処理が実行される。
ステップS42において、アプリケーション部31は、タグ2との通信を行うか否かを判定する。すなわち、アプリケーション部31は、タグ2との通信を行うための所定のゲーム条件が満たされたか否かを判定する。この所定のゲーム条件は、ゲーム状況が、タグ2が表すキャラクタが登場することができる状況になったことであり、例えば、プレイヤキャラクタが所定のステージに進んだことや、プレイヤキャラクタが所定のアイテムを取得したこと等である。なお、ステップS42の処理は、ステップS41におけるゲーム処理が実行される間の適宜のタイミングで実行される。したがって、ステップS42の判定処理の結果が否定となる場合、ステップS41の処理が再度実行され、ステップS42の判定処理の結果が肯定となるまでステップS41およびS42の処理が繰り返し実行される。一方、ステップS42の判定処理の結果が肯定となる場合、後述するステップS43の処理が実行される。
ステップS43において、アプリケーション部31は、読出指令を出力し、タグ2からデータを読み出す。すなわち、上述したように、アプリケーション部31はまず、通信制御部32へ読出指令を出力する(図4等参照)。これに応じて、通信制御部32はタグ2との通信を行い(ステップS1)、タグ2から読み出したデータをアプリケーション部31へ渡す(ステップS2,S6,S7)。これによって、アプリケーション部31はタグ2からのデータを取得する。なお、上述のように、実行中のアプリケーションプログラムが特定アプリプログラムである場合には、専用データおよび共用データが取得され、実行中のアプリケーションプログラムが非特定アプリプログラムである場合には、共用データが取得される。ステップS43においてタグ2からのデータが取得されると、ステップS44の処理が実行される。
なお、図12では示していないが、接続されたタグ2が許可タグでない場合(ステップS3の判定結果が否定となる場合)には、タグ2が許可タグでない旨の通知が通信制御部32からアプリケーション部31へ送られる。この場合、アプリケーション部31は、例えば、データの読み出しを行うことができない旨をユーザに対して通知し、ステップS1のゲーム処理を再開する。
ステップS44において、アプリケーション部31は、ステップS43で取得されたフィギュアIDが、実行中のアプリケーションにおいて登録されているキャラクタに対応するものであるか否かを判定する。ここで、アプリケーションプログラムには、タグ2によってゲームに登場する各キャラクタを生成するためのデータが含まれている。また、アプリケーションプログラムには、当該各キャラクタのそれぞれに関連付けられたフィギュアIDの情報が予め登録されているものとする。ステップS44の判定は、ステップS43で取得されたフィギュアIDが、実行中のアプリケーションプログラムにおいて登録されているフィギュアIDのいずれかと一致するか否かによって行われる。ステップS44の判定結果が肯定となる場合、後述するステップS46の処理が実行される。一方、ステップS44の判定結果が否定となる場合、後述するステップS45の処理が実行される。
ステップS45において、アプリケーション部31は、ステップS43で取得されたシリーズIDが、実行中のアプリケーションに設定されるシリーズIDと一致するか否かを判定する。なお、アプリケーションプログラムには、そのアプリケーションプログラムに設定されるシリーズIDの情報が予め登録されているものとする。したがって、アプリケーション部31は、ステップS43で取得されたシリーズIDと、実行中のアプリケーションプログラムにおいて登録されているシリーズIDと一致するか否かを判定する。ステップS45の判定において、2つのシリーズIDが一致すると判定された場合、タグ2に記憶されているフィギュアIDが示すキャラクタは、(アプリケーションプログラムにおいて登録されていないものであるものの)アプリケーションプログラムが属するシリーズにおいて登録されているキャラクタであることがわかる。ステップS45の判定結果が肯定となる場合、後述するステップS46の処理が実行される。一方、ステップS45の判定結果が否定となる場合、後述するステップS47の処理が実行される。
ステップS46において、アプリケーション部31は、フィギュアIDが示すキャラクタを仮想空間に登場させる処理を実行する。ここで、タグ2に記憶されるフィギュアIDが表すキャラクタをアプリケーション部31がわかっている場合(当該フィギュアIDがアプリケーションにおいて登録されている場合、すなわち、ステップS44の判定結果が肯定となる場合)、アプリケーション部31は、自身のアプリケーションプログラム内の情報を用いてキャラクタを仮想空間に登場させることができる。すなわち、アプリケーション部31は、自身のアプリケーションプログラム内の情報を用いて仮想空間内におけるキャラクタを生成する。
一方、タグ2に記憶されるフィギュアIDが表すキャラクタをアプリケーション部31がわかっていない場合(当該フィギュアIDがアプリケーションにおいて登録されていない場合、すなわち、ステップS44の判定結果が否定となり、ステップS45の判定結果が肯定となる場合)、アプリケーション部31は、自身のアプリケーションプログラム内の情報を用いてキャラクタを仮想空間に登場させることができない。そのため、上記の場合、アプリケーション部31は、タグ2から取得したフィギュアIDを用いて当該フィギュアIDが示すキャラクタを特定し、特定したキャラクタを仮想空間に登場させる。例えば、アプリケーション部31は、外部のサーバにアクセスして、タグ2から取得したフィギュアIDをサーバへ送信し、これに応じてサーバから送信されてくるキャラクタのデータ(キャラクタを生成するためのデータ)を受信する。また、実行中のアプリケーションプログラムが特定アプリプログラムである場合には、キャラクタを生成するためのデータをセーブデータに含めておき、アプリケーション部31は、セーブデータを用いてキャラクタを生成してもよい。
なお、ステップS46における、キャラクタを仮想空間に登場させる処理は、実行中のアプリケーションプログラムが特定アプリプログラムである場合と非特定アプリプログラムである場合とで異なっていてもよい。例えば、アプリケーション部31は、特定アプリプログラムの場合、タグ2が表すキャラクタの全体を(キャラクタをそのまま)表示部17に表示するのに対して、非特定アプリプログラムの場合、当該キャラクタの一部のみを表示する(例えば、タグ2が表すキャラクタの帽子や服装を他のキャラクタに付ける)ようにしてもよい。また例えば、アプリケーション部31は、特定アプリプログラムの場合、タグ2が表すキャラクタを通常の表示態様で表示部17に表示するのに対して、非特定アプリプログラムの場合、当該キャラクタを当該通常の表示態様とは異なる表示態様で(例えば、キャラクタを2頭身にして)表示するようにしてもよい。
一方、ステップS47において、アプリケーション部31は、タグ2が、実行中のアプリケーションにおいて利用できない(対応していない)タグであることをユーザに通知する。
上記ステップS46またはS47の後、アプリケーション部31はステップS1の処理を再度実行する。以降、ゲームを終了する条件(例えば、ゲームを終了する指示をユーザが行ったこと)が満たされるまで、図12に示す一連の処理が実行される。
(2−5:アプリケーションプログラムによる処理例2)
次に、図13〜図17を参照して、アプリケーションプログラムによって情報処理装置3のCPU13(アプリケーション部31)が実行する処理の他の例について説明する。図13は、タグ2に関する特定アプリプログラムによってCPU13が実行する処理(特定アプリ処理)の流れの一例を示すフローチャートである。また、図16は、タグ2に関する特定アプリプログラムとは異なる他のアプリケーションプログラムによってCPU13が実行する処理(他アプリ処理)の流れの一例を示すフローチャートである。以下では、単一のタグ2を、特定アプリプログラムによるゲームに用いる場合と、他のアプリケーションプログラムに用いる場合とにおける処理例について説明する。なお、図13および図16に示す処理は、例えば、ユーザがアプリケーションの起動指示を行ったことに応じて開始される。
まず、図13〜図15を参照して、特定アプリ処理について説明する。特定アプリ処理においては、まずステップS51において、アプリケーション部31は、キャラクタ設定画面を表示部17に表示する。キャラクタ設定画面は、ユーザ(プレイヤ)が操作するプレイヤキャラクタを設定するためのものである。詳細は後述するが、特定アプリ処理では、プレイヤのアバターとプレイヤキャラクタとの組がキャラクタ設定画面において表示される(図14参照)。
ここで、図13に示す特定アプリ処理では、タグを用いてプレイヤキャラクタの指定が行われる。すなわち、キャラクタ設定画面が表示される状態において、ユーザは、自身が操作したいキャラクタのタグを情報処理装置3(のアンテナ部分)にかざして、当該タグと情報処理装置3との間で近距離無線通信を行わせる。なお、上記タグについては初期登録処理が実行済みであり、ユーザのアバターデータが記憶されているものとする。タグとの近距離無線通信が可能になると、情報処理装置3は、タグからデータを読み出し、タグから読み出したアバターデータに対応するユーザをプレイヤとして設定するとともに、当該プレイヤのプレイヤキャラクタとして、タグのキャラクタを設定する。これによって、プレイヤとプレイヤキャラクタとの組が設定される。本実施形態における特定アプリ処理においては、上記のプレイヤとプレイヤキャラクタとの組を設定する処理が、ステップS52〜S53によって行われる。
具体的には、ステップS52において、アプリケーション部31は、タグからデータを読み出す処理を実行する。この処理は、上記図4〜図6に示した処理と同様である。すなわち、アプリケーション部31は読出指令を通信制御部32に渡す。これに応じて、通信制御部32がタグとの通信処理等(ステップS1〜S3,S5)を行って、共用データ・専用データをアプリケーション部31に渡す。これによって、アプリケーション部31はタグからデータを取得する(読み出す)ことができる。
ステップS53において、アプリケーション部31は、プレイヤとプレイヤキャラクタとの組を設定する。具体的には、アプリケーション部31は、ステップS52で読み出したデータのうちのアバターデータに基づいてプレイヤを設定する。すなわち、プレイヤを特定するデータとして当該アバターデータがメモリ14に記憶される。また、アプリケーション部31は、ステップS52で読み出したデータのうちのフィギュアIDに基づいてプレイヤキャラクタを設定する。すなわち、設定されたプレイヤに対応するプレイヤキャラクタを示すデータとして、読み出したデータのうちのフィギュアIDのデータがメモリ14に記憶される。さらに、アプリケーション部31は、設定されたプレイヤとプレイヤキャラクタとの組を、キャラクタ設定画面において表示する。
図14は、特定アプリ処理におけるキャラクタ設定画面の一例を示す図である。図14に示すように、キャラクタ設定画面においては、プレイヤのアバターの画像41と、プレイヤキャラクタの画像42とが関連付けて表示される。なお、図14は、上述したタグ2を用いて1人目のプレイヤとそのプレイヤキャラクタとが設定された状態におけるキャラクタ設定画面を示している。したがって、アバターの画像41およびプレイヤキャラクタの画像42は、1人目のプレイヤの欄に表示される(2人目以降のプレイヤの欄は空欄である)。なお、図13に示す特定アプリ処理によるゲームは、最大4人のプレイヤがプレイ可能であるものとする。そのため、キャラクタ設定画面には4人分のプレイヤの欄が設定されている。
アバターの画像41は、タグ2から読み出されたアバターデータを用いて生成される。上述したように、アバター(の画像)の生成は、情報処理装置3において予め用意されているアバター生成プログラムをCPU13が実行することによって行われる。なお、本実施形態においては、アバターデータおよびアバター生成プログラムを用いることによってアバターの全身を表示することが可能である。ただし、特定アプリ処理においては、アバターの一部(顔)の画像が表示される。また、図14では、プレイヤの名前(図14では「たろう」)がアバターの画像41とともに表示される。例えば、表示される名前は、アバターデータにユーザの名前を示すデータが含まれる場合には当該データが示す名前であってもよい。また、他の実施形態においては、表示される名前は、初期登録データに含まれる上述のニックネームであってもよい。
ステップS54において、アプリケーション部31は、プレイヤキャラクタの設定を終了するか否かを判定する。例えば、設定可能な最大数(ここでは4つ)のプレイヤキャラクタが設定された場合、あるいは、ユーザがゲーム開始の指示を行った場合、アプリケーション部31は設定を終了すると判定する。一方、最大数のプレイヤキャラクタが設定されておらず、かつ、ゲーム開始の指示が行われていない場合、アプリケーション部31は設定を終了しないと判定する。ステップS54の判定結果が否定である場合、ステップS52の処理が再度実行される。この場合、プレイヤキャラクタをすでに設定したプレイヤとは別のプレイヤが自分のタグを情報処理装置3にかざすと、ステップS52およびS53の処理によって、新たなプレイヤとプレイヤキャラクタとの組が設定される。一方、ステップS54の判定結果が肯定である場合、ステップS55の処理が実行される。
ステップS55において、アプリケーション部31は、ゲーム処理を実行する。このゲーム処理によるゲームの内容は任意である。本実施形態においては、ゲーム中においても、プレイヤ(プレイヤのアバター)とプレイヤキャラクタとの対応関係が表示される。図15は、特定アプリ処理によって表示部17に表示されるゲーム画像の一例を示す図である。図15に示すゲーム画像は、2人のプレイヤがゲームをプレイする場合を示している。すなわち、上記ゲーム画像においては、第1のプレイヤキャラクタ43と、第2のプレイヤキャラクタ44が登場するゲーム空間が表示されている。また、上記ゲーム画像には、プレイヤ(のアバター)とプレイヤキャラクタとの組を示す画像45および46が含まれる。なお、図15は、表示部17に表示されるゲーム画像を示すとともに、拡大した画像45を示している。この画像45はアバターの画像46とプレイヤキャラクタの画像47とを含み、アバターの画像46とプレイヤキャラクタの画像47とが関連付けて表示される。また、画像45および46のように、プレイヤとプレイヤキャラクタとの各組について、アバターの画像とプレイヤキャラクタの画像とが関連付けて表示される。
上記ゲーム処理は、ゲームを終了する条件(例えば、ゲームを終了する指示をユーザが行ったこと)が満たされるまで実行され、当該条件が満たされると、アプリケーション部31は、ゲーム処理を終了して、特定アプリ処理を終了する。
上記特定アプリ処理によれば、ユーザは、情報処理装置3に対してタグ2をかざす操作によって、ゲームにおけるプレイヤキャラクタを容易に設定することができる。また、上記特定アプリ処理では、プレイヤキャラクタとプレイヤ(のアバター)とが関連付けて表示される(図14および図15参照)。これによって、各プレイヤは、自身の操作するプレイヤキャラクタを容易に認識することができる。
次に、図16および図17を参照して、他アプリ処理について説明する。他アプリ処理においては、まずステップS61において、アプリケーション部31は、キャラクタ設定画面を表示部17に表示する。詳細は後述するが、他アプリ処理では、プレイヤのアバターがプレイヤキャラクタとして設定され、当該アバターの画像がキャラクタ設定画面において表示される(図17参照)。
図16に示す他アプリ処理では、上記特定アプリ処理と同様、タグを用いてプレイヤキャラクタの指定が行われる。すなわち、キャラクタ設定画面が表示される状態において、ユーザは、自身のアバターのデータが記憶されているタグを情報処理装置3(のアンテナ部分)にかざして、当該タグと情報処理装置3との間で近距離無線通信を行わせる。タグとの近距離無線通信が可能になると、情報処理装置3は、タグからデータを読み出し、タグから読み出したアバターデータを用いてアバターを生成して、プレイヤキャラクタとして設定する。本実施形態における他アプリ処理においては、上記のプレイヤキャラクタを設定する処理が、ステップS62〜S63によって行われる。
ステップS62において、アプリケーション部31は、タグからデータを読み出す処理を実行する。ステップS62の処理は、上記ステップS52と同様である。
ステップS63において、アプリケーション部31は、ステップS62で読み出したアバターデータに基づいてプレイヤキャラクタを設定する。具体的には、アプリケーション部31は、読み出したアバターデータから、アバターを識別する情報(例えば、アバターの名前)を取得し、アバターを識別する情報を、プレイヤキャラクタを示すデータとしてメモリ14に記憶する。また、アプリケーション部31は、設定されたプレイヤキャラクタをキャラクタ設定画面において表示する。
図17は、他アプリ処理におけるキャラクタ設定画面の一例を示す図である。図17に示すように、キャラクタ設定画面においては、プレイヤキャラクタとなる、プレイヤのアバターの画像50が表示される。なお、図17は、上述したタグ2を用いて1人目のプレイヤのプレイヤキャラクタが設定された状態におけるキャラクタ設定画面を示している。したがって、アバターの画像50は、1人目のプレイヤの欄に表示される(2人目以降のプレイヤの欄は空欄である)。なお、図16に示す他アプリ処理によるゲームは、最大4人のプレイヤがプレイ可能であるものとする。そのため、キャラクタ設定画面には4人分のプレイヤの欄が設定されている。
アバターの画像50は、特定アプリ処理の場合と同様、タグ2から読み出されたアバターデータを用いて、情報処理装置3において予め用意されているアバター生成プログラムを実行することによって、生成される。なお、他アプリ処理においては、特定アプリ処理とは異なる表示態様でアバターが表示される。すなわち、他アプリ処理においては、アバターの全身が生成されて表示される。また、他アプリ処理においても特定アプリ処理と同様、プレイヤの名前(図17では「たろう」)がアバターの画像50とともに表示される。
ステップS64において、アプリケーション部31は、プレイヤキャラクタの設定を終了するか否かを判定する。ステップS64の判定は、上記ステップS54の判定と同様の方法で行われてもよい。ステップS64の判定結果が否定である場合、ステップS62の処理が再度実行される。この場合、プレイヤキャラクタをすでに設定したプレイヤとは別のプレイヤが自分のタグを情報処理装置3にかざすと、ステップS62およびS63の処理によって、新たなプレイヤのプレイヤキャラクタが設定される。一方、ステップS64の判定結果が肯定である場合、ステップS65の処理が実行される。
ステップS65において、アプリケーション部31は、ゲーム処理を実行する。このゲーム処理によるゲームの内容は任意である。本実施形態においては、ゲーム中において、アバターであるプレイヤキャラクタが登場し、プレイヤによる操作に従って制御される。上記ゲーム処理は、ゲームを終了する条件(例えば、ゲームを終了する指示をユーザが行ったこと)が満たされるまで実行され、当該条件が満たされると、アプリケーション部31は、ゲーム処理を終了して、他アプリ処理を終了する。
なお、他の実施形態においては、他アプリ処理においても特定アプリ処理と同様に、アプリケーション部31は、タグ2が表すキャラクタと、当該タグ2に記憶されているアバターデータ(プレイヤ情報)とを関連付けて表示してもよい。例えば、アプリケーション部31は、タグ2のキャラクタの服装をしたアバターを、プレイヤキャラクタとして登場させてもよい。また例えば、タグ2がアイテムを表す外観である場合、アバターをプレイヤキャラクタとして登場させるとともに、タグ2が表すアイテムを当該プレイヤキャラクタに持たせるようにしてもよい。
上記他アプリ処理によれば、ユーザは、情報処理装置3に対してタグ2をかざす操作によって、ゲームにおけるプレイヤキャラクタの設定(より具体的には、自身のアバターをプレイヤキャラクタとする設定)を容易に行うことができる。アバターをプレイヤキャラクタとすることによって、各プレイヤは、自身の操作するプレイヤキャラクタを容易に認識することができる。また、本実施形態における他アプリ処理によれば、単一のタグ2を用いて特定アプリ処理とは異なるプレイヤキャラクタを登場させることができる。
なお、他の実施形態においては、1つのアプリケーションプログラム(特定アプリプログラムであってもよいし、そうでなくてもよい)において、タグが表すキャラクタをゲーム空間に登場させるとともに、アバターをゲーム空間に登場させるようにしてもよい。例えば、キャラクタを表す第1タグと、アバターを表す第2タグとが用意されている場合を考える。なお、第2タグは、特定のアバターを表すものではなく、例えば顔と体の輪郭のみを表し、細かい部位(目や鼻や口)が無いような、アバターの概観を表すものである。また、第2タグには、アバターデータが記憶されるとともに、アバターであることを示す情報(ゲーム空間に登場させるキャラクタがアバターであることを示す情報)がフィギュアIDとして記憶されているものとする。このとき、第1タグと情報処理装置3との間で近距離無線通信が行われて、第1タグを用いてアプリケーションが実行される場合には、情報処理装置3は、第1タグが表すキャラクタを仮想空間に(例えばプレイヤキャラクタとして)登場させる。一方、第2タグと情報処理装置3との間で近距離無線通信が行われて、第2タグを用いてアプリケーションが実行される場合には、情報処理装置3は、第2タグに記憶されるアバターデータを用いてアバターを生成し、当該アバターを仮想空間に(例えばプレイヤキャラクタとして)登場させる。なお、上記において、アプリケーションプログラムは、上記第2タグのみに対応し、第1タグには対応しない(第1タグが表すキャラクタは登場しない)ものであってもよい。
また、本実施形態のようにタグ2にアバターデータを記憶することによって、タグ2を用いて(タグ2を介して)情報処理装置間でアバターデータを移動する(単なるデータの移動であってもよいし、データの複製であってもよいし、データの交換であってもよい)ことができる。すなわち、ある情報処理装置によってタグ2にアバターデータが記憶された(上述の登録指令処理を参照)後、他の情報処理装置は、近距離無線通信によってタグ2からデータを読み出すことによって、アバターデータを取得することができる。例えば、ユーザは、自分のタグにアバターデータを記憶させておき、友人の家に行った際に友人の情報処理装置に自分のタグからデータを取得させることで、自分のアバターデータを友人の情報処理装置に記憶させることができる。
なお、アバターデータ等のユーザに関するデータの情報処理装置間での移動は、上記のタグ2を用いる方法に加えて(または代えて)、他の方法で行われてもよい。例えば、インターネット等のネットワークを介したネットワーク通信を行うネットワーク通信部を各情報処理装置が備える場合には、ネットワーク通信によって情報処理装置間でデータが送受信されてもよい。また、情報処理装置が、赤外通信やBluetooth(登録商標)等の無線通信を行う無線通信部を各情報処理装置が備える場合には、当該無線通信によって情報処理装置間で直接データが送受信されてもよい。また、情報処理装置間で上述の近距離無線通信が可能である場合には、近距離無線通信によって情報処理装置間でデータが送受信されてもよい。また、データを取得する側の情報処理装置がカメラ(2次元バーコードを読み取る手段)を有する場合には、2次元バーコードを用いて情報処理装置間でデータが送受信されてもよい。すなわち、アバターデータを表す2次元バーコードを一方の情報処理装置が生成し、他方の情報処理装置は当該2次元バーコードを読み取ることによってアバターデータを取得してもよい。なお、上記実施形態のようなタグを用いた方法によれば、ユーザは、情報処理装置にタグをかざすという簡易な操作でデータの移動を行うことができる。
[3.本実施形態の作用効果]
以上のように、本実施形態においては、タグ2は、特定アプリプログラムで利用可能なアプリ用データ(専用データ)と、当該特定アプリプログラムであるか否かにかかわらず利用可能な共用データとを記憶する記憶手段を備える。通信制御部32は、情報処理装置3で実行されるアプリケーションプログラムから、タグ2に対するデータの読み出しおよび/または書き込みに関する指令を受け付ける。受け付けられた指令が専用データに関する指令(例えば専用データを読み出す指令)である場合、通信制御部32は、当該指令が特定アプリプログラムからの指令であることを条件として(ステップS5でYes)、タグ2から読み出した専用データを当該特定アプリプログラムに渡す(ステップS6)。また、受け付けられた指令が共用データに関する指令(例えば共用データを読み出す指令)である場合、当該指令が特定アプリプログラムからの指令であるか否かにかかわらず、通信制御部32は、タグ2から読み出した共用データを指令元のアプリケーションプログラムに渡す(ステップS6,S7)。
したがって、本実施形態によれば、専用データを特定アプリプログラムで利用するためにタグ2を用いることができるとともに、特定アプリプログラムに制限されない他のアプリケーションプログラムにおいて共用データを利用するためにタグ2を用いることができる。これによって、タグ2を利用可能なアプリケーションを増やすことができ、タグ2を汎用的に利用することができる。また、特定アプリプログラム以外の他のアプリケーションプログラムにおいても共用データを利用できるようにする一方、専用データについては当該他のアプリケーションプログラムでの利用を制限することができる。そのため、専用データが当該アプリケーションプログラムにおいて不正に利用されることを防止することができる。
また、本実施形態においては、タグ2は、タグの種類毎に設定される識別情報(フィギュアID)を記憶している。また、特定アプリプログラムは、自身が専用データを利用可能な種類のタグに設定されるフィギュアIDを含んでいる。通信制御部32は、タグ2から読み出したフィギュアIDと、アプリケーションプログラムから取得したフィギュアIDとに基づいて、受け付けられた指令が特定アプリプログラムからの指令であるか否かを判定する。これによれば、受け付けられた指令が特定アプリプログラムからの指令であるか否かを容易に判定することができる。
なお、フィギュアIDを用いて上記判定を行う場合、特定アプリプログラムは、利用可能なタグのうちから、所定の種類のタグに制限してアクセスを行うことも可能である。すなわち、特定アプリプログラムは、利用可能な全てのタグのフィギュアIDを通信制御部32に送ることによって、利用可能な任意のタグとのアクセスを可能とすることができる。一方、特定アプリプログラムは、利用可能な各タグのフィギュアIDのうちで一部のフィギュアIDを通信制御部32に送ることによって、利用可能なタグのうちから、アクセス可能なタグを制限することができる。このように、フィギュアIDを用いて特定アプリ判定処理を実行する場合には、指令元のアプリケーションプログラムが特定アプリプログラムであるか否かを判定することに加え、情報処理装置3に接続されたタグが、特定アプリプログラムによってアクセスが許可されたタグであるか否かを判定することも可能である。
本実施形態においては、タグ2は、所定のアプリケーションプログラム(特定アプリプログラム)に登場するオブジェクト(キャラクタ)に関するデータであって、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する。そして、情報処理装置3は、特定アプリプログラムを実行する際に、タグ2から読み出した共用データを用いることによって、表示部17にオブジェクトを表示する第1処理(キャラクタの全体を表示する処理)を実行する(ステップS46)。また、情報処理装置3は、特定アプリプログラムとは異なるアプリケーションプログラム(非特定アプリプログラム)を実行する際に、タグ2から読み出した共用データを用いることによって、第1処理とは異なる第2処理(上記キャラクタの服を着た他のキャラクタを表示する処理)を実行する(ステップS46)。
上記によれば、所定のアプリケーションプログラムに制限されることなく、他のアプリケーションプログラムにおいても、共用データを利用するためにタグ2を用いることができる。これによって、タグ2を利用可能なアプリケーションを増やすことができ、タグ2を汎用的に利用することができる。
なお、上記第1処理および第2処理は、オブジェクトを表示する処理に限らず、オブジェクトに関する情報を出力する任意の処理であってもよい。オブジェクトに関する情報とは、例えば、オブジェクトを表す画像であってもよいし、オブジェクトに関する音声(キャラクタの声やテーマ曲)であってもよい。例えば、タグ2が表すキャラクタにテーマ曲が設定されている場合、第1処理および/または第2処理は、当該テーマ曲を(例えばBGMとして)スピーカから出力する処理であってもよい。
また、通信制御部32は、あるタグとの間で近距離無線通信が可能となった場合、そのタグが情報処理装置3で実行されるアプリケーションプログラムからのアクセスが許可される許可タグであるか否かを判定する(ステップS3)。そして、通信制御部32は、近距離無線通信が可能となったタグが許可タグであると判定された場合、情報処理装置で実行されるアプリケーションプログラムからの指令(読出指令等)に応じた処理を実行する(ステップS6,S7)。換言すれば、通信制御部32は、近距離無線通信が可能となったタグが許可タグであると判定されたことを条件として、情報処理装置3で実行されるアプリケーションプログラムにおける共用データの利用を許可する。これによれば、許可タグについては、所定のアプリケーションプログラム以外の他のアプリケーションプログラムでもタグのデータを利用できる一方、当該他のアプリケーションが、許可タグでないタグからデータを読み出すことを防止することができる。
なお、本実施形態においては、情報処理装置3は、上記第2処理として、上記第1処理によって表示されるオブジェクト(キャラクタ)の表示態様とは異なる表示態様で当該オブジェクトを表示する(例えば、オブジェクトの一部のみを表示したり、オブジェクトを2頭身で表示したりする)処理を実行する(ステップS46)。これによればアプリケーションに合わせた表示態様でオブジェクトを表示することができるので、タグの汎用性(タグに記憶されるデータの汎用性)をより向上することができる。
なお、他の実施形態においては、情報処理装置3は、上記所定のアプリケーションプログラムとは異なるゲームアプリケーションプログラム(非特定アプリプログラム)を実行する際に、上記第2処理として、ゲームの進行に影響を与えない処理を実行してもよい。例えば、上記実施形態においても述べたように、情報処理装置3は、タグ2とは異なるキャラクタの見た目のみを変化させ(例えば服装を変化させ)、ゲームの進行に影響を与えるゲームパラメータ(例えばキャラクタの強さのパラメータ等)については変化させない処理を実行してもよい。このように、上記第2処理は、上記第1処理に比べて共用データが補助的に使用されてもよい。これによれば、アプリケーションプログラムの開発者にとっては第2処理における共用データの利用を図りやすくなるので、ひいてはタグの汎用性を向上する結果に繋がる。
本実施形態においては、タグ2は、情報処理装置3が所定のアプリケーションプログラム(特定アプリプログラム)を実行することによって生成される仮想空間に登場するオブジェクト(キャラクタ)を立体的(平面的でもよい)に表す外観を有する(図2)。また、タグ2は、上記オブジェクトの第1識別情報(フィギュアID)と、当該オブジェクトが属するグループの第2識別情報(シリーズID)とを記憶する。ここで、情報処理装置3は、タグ2から読み出したフィギュアIDを用いて所定の処理(フィギュアIDが示すキャラクタを表示する処理(ステップS46))を実行するとともに、タグ2から読み出したシリーズIDを用いて当該所定の処理を実行する。
上記によれば、情報処理装置3で実行されるアプリケーションは、フィギュアIDを用いても、シリーズIDを用いても、上記所定の処理を実行することができる。すなわち、例えばフィギュアIDを用いることができない(フィギュアIDが登録されていない)場合であっても、(シリーズIDが登録されていれば)シリーズIDを用いて所定の処理を実行することができる。このように、本実施形態によれば、アプリケーションが所定の処理を実行しやすくすることができ、タグをより多くのアプリケーションで用いやすくすることができるので、汎用性の高いタグを提供することができる。
なお、情報処理装置3は、アプリケーションプログラムの実行中において、タグ2から読み出されたフィギュアIDが、実行中のアプリケーションプログラムにおいて登録された値であるか否かを判定する(ステップS44)。また、情報処理装置3は、タグ2から読み出されたシリーズIDが、実行中のアプリケーションプログラムにおいて登録された値であるか否かを判定する(ステップS45)。そして、上記所定の処理(ステップS46)は、タグ2から読み出されたフィギュアIDおよびシリーズIDの少なくともいずれかが、実行中のアプリケーションプログラムにおいて登録された値である場合に実行される(図12)。これによれば、フィギュアIDおよびシリーズIDのいずれかがアプリケーションプログラムにおいて登録されていれば、アプリケーションプログラムは所定の処理を実行することができる。これによって、タグをより多くのアプリケーションで用いやすくすることができ、汎用性の高いタグを提供することができる。
また、本実施形態においては、上記所定の処理は、オブジェクト(キャラクタ)に関する処理である。ここで、情報処理装置3は、タグ2から読み出されたフィギュアIDが、実行中のアプリケーションプログラムにおいて登録された値である場合、当該フィギュアIDを用いてオブジェクトを特定する(ステップS46)。また、情報処理装置3は、
タグ2から読み出されたフィギュアIDが、実行中のアプリケーションプログラムにおいて登録された値ではなく(ステップS44:No)、かつ、タグ2から読み出されたシリーズIDが、実行中のアプリケーションプログラムにおいて登録された値である場合(ステップS45:Yes)、当該シリーズIDを用いてオブジェクトを特定する。これによれば、フィギュアIDを用いることができない場合であってもシリーズIDを用いてオブジェクトを特定することができ、オブジェクトに関する所定の処理を実行することができる。
(図13および図16に示すアプリ処理に関する作用効果)
また、本実施形態においては、タグ2は、自身の外観が表すオブジェクトに関するオブジェクト情報(フィギュアID等)を記憶している。また、情報処理装置3は、ユーザの指示に基づき作成されたキャラクタ(アバター)の画像を特定するキャラクタ画像情報(アバターデータ)をタグ2に書き込む(ステップS13)。さらに、情報処理装置3は、タグ2から読み出したオブジェクト情報とキャラクタ画像情報との少なくともいずれかを用いて所定の処理(ステップS53,S55,S63,またはS65のゲーム処理)を実行する。
上記によれば、あるオブジェクトの外観を有するタグに、ユーザのアバターの画像を特定する情報を書き込むことができる。そして、当該オブジェクトに関する情報とアバターの情報とを用いた処理が実行される。これによれば、オブジェクトに関する情報を有するタグをより多くの用途に利用することができ、タグをより汎用的に利用することができる。例えば、タグが表すオブジェクトをプレイヤキャラクタとして用いる場合に、そのプレイヤキャラクタを操作するプレイヤのアバターをプレイヤキャラクタとともに表示したり(図14、図15参照)、プレイヤのアバターをプレイヤキャラクタとして用いたりする(図17)ことが可能になる。
なお、本実施形態においては、上記所定の処理は、特定アプリプログラムが実行されることによって行われる処理であった。ここで、他の実施形態においては、上記所定の処理は、特定アプリプログラム以外の他のアプリケーションプログラムが実行されることによって行われてもよい。また、所定の処理は、オブジェクト情報とキャラクタ画像情報との両方を用いた処理であってもよい。また、情報処理装置は、(タグから読み出した)オブジェクト情報を用いる第1処理と、(タグから読み出した)キャラクタ画像情報を用いる処理とを実行する第2処理とを実行してもよい。
なお、「仮想空間に登場するオブジェクトを表す外観を有するタグ」とは、仮想空間に登場する1つのオブジェクトを詳細に表すタグに限らず、仮想空間に登場するオブジェクトの概観を表すタグであってもよい。つまり、「仮想空間に登場するオブジェクトを表す外観を有するタグ」とは、他のオブジェクトとの区別がつく程度にオブジェクトを表す外観を有していてもよい。例えば、上述したアバターを表す第2タグは、特定のアバターではなく、アバターの概観を表すものである。つまり、第2タグは、アバターデータが表す各部位を正確に表すものではなく、例えば、顔および体の輪郭のみで目や鼻や口が無い外観を有していてもよい。あるいは、第2タグは、予め定められた標準の形状である各部位を表す外観を有していてもよい。このとき、第2タグは、アバターデータに基づいて生成されるアバターとは正確には一致しないが、アバターの概観を表すものと言える。「仮想空間に登場するオブジェクトを表す外観を有するタグ」の概念には、このような第2タグも含まれる。
また、上記実施形態においては、情報処理装置3は、上記所定の処理として、オブジェクト(プレイヤキャラクタ)の少なくとも一部とキャラクタ(アバター)の少なくとも一部とを関連付けて表示装置に表示させる処理を実行する(ステップS53,S55)。これによれば、タグに記憶されているオブジェクトとユーザ(のキャラクタ)との関係をわかりやすく提示することができる。なお、上記処理は、図14に示すような、キャラクタ設定画面においてプレイヤキャラクタとアバターとを関連付けて表示する処理であってもよいし、ゲーム中においてプレイヤキャラクタとアバターとを関連付けて表示する処理であってもよい。また、上記処理は、アバターをプレイヤキャラクタとする場合において、タグが表すオブジェクトの服装をしたプレイヤキャラクタを登場させたり、タグが表すアイテムを持ったプレイヤキャラクタを登場させたりする処理であってもよい。
なお、上記実施形態においては、タグが表すオブジェクトが、ユーザにより操作されるプレイヤキャラクタであり、ユーザの指示に基づき作成されたキャラクタが、プレイヤキャラクタを操作するユーザに対応するキャラクタである。これによれば、例えばプレイヤとプレイヤキャラクタとの組を設定する操作をタグによって行うことができる等、タグをより汎用的に利用することができる。
また、上記実施形態においては、キャラクタ画像情報は、ユーザのアバターの画像を特定する情報(アバターデータ)である。より具体的には、アバターの画像を特定する情報は、当該アバターを構成する各部位の画像を特定する情報である。これによれば、情報処理装置は、当該情報に基づいてアバターを容易に生成することができる。
また、上記実施形態においては、情報処理装置3は所定のアプリケーションプログラム(特定アプリプログラム)を実行することによって、タグから読み出したオブジェクト情報を用いて仮想空間(ゲーム空間)にオブジェクトを登場させる登場処理を実行する(ステップS55)。これによれば、タグが表す現実のオブジェクトがあたかも仮想空間に入り込んで登場したかのような感覚をユーザに体験させることができ、アプリケーションの興趣性を向上することができる。
さらに、情報処理装置は、上記所定のアプリケーションプログラム(特定アプリプログラム)とは異なる他のアプリケーションプログラムを実行することによって、タグから読み出したキャラクタ画像情報(アバターデータ)を用いて仮想空間にキャラクタ(アバター)を登場させる(ステップS65)。これによれば、タグに記憶されたユーザのキャラクタ(アバター)を仮想空間に登場させることができ、アプリケーションの興趣性を向上することができる。また、単一のタグを用いて、所定のアプリケーションプログラムと他のアプリケーションプログラムとで異なるキャラクタを仮想空間に登場させることができる。
また、上記実施形態においては、タグ2は、自身の外観が表すオブジェクトに関するオブジェクト情報(フィギュアID等)と、ユーザに関するユーザ情報(アバターデータ)とを記憶している。情報処理装置3は、タグ2から読み出したオブジェクト情報とユーザ情報とを用いて、オブジェクトとそれに対応するユーザを示す情報とを関連付けて表示装置に表示させる(ステップS53,S55)。これによれば、タグに記憶されているオブジェクトとユーザ(のキャラクタ)との関係をわかりやすく提示することができる。
なお、上記実施形態においては、ユーザ情報は、タグ2の外観が表すオブジェクトとは異なるキャラクタであって、ユーザに対応するキャラクタ(アバター)を特定する情報である。また、情報処理装置は、所定のアプリケーションプログラム(特定アプリプログラム)とは異なる他のアプリケーションプログラムを実行することによって、タグ2から読み出したユーザ情報によって特定されるキャラクタ(アバター)を仮想空間に登場させる(ステップS65)。これによれば、タグに記憶されたユーザのキャラクタ(アバター)を仮想空間に登場させることができ、アプリケーションの興趣性を向上することができる。また、単一のタグを用いて、所定のアプリケーションプログラムと他のアプリケーションプログラムとで異なるキャラクタを仮想空間に登場させることができる。
なお、上記ユーザ情報は、ユーザを示す任意の情報でよく、上記実施形態におけるアバターデータに限らず、例えば、ユーザの名前やニックネームやID等であってもよい。
[4.変形例]
(特定アプリ判定処理の変形例)
上記実施形態においては、特定アプリ判定処理における判定は、フィギュアIDを用いて行われた。ここで、他の実施形態においては、上記判定は、上述の利用IDを用いて行われてもよい。以下、利用IDを用いて特定アプリ判定処理を行う変形例について説明する。
本変形例では、まず、アプリケーション部31は、タグ2の専用データに関する読み書きを行う場合、指令(読出指令や書込指令等)に利用IDを含めて通信制御部32に送る。つまり、アプリケーションプログラムには、自身に設定される利用IDの情報が含まれており、アプリケーション部31が通信制御部32に対する指令を行う際には、利用IDを含む指令を通信制御部32へ渡す(出力する)。これによって、通信制御部32はアプリケーションプログラムの利用IDを取得することができる。なお、アプリケーション部31が利用IDを通信制御部32へ送るタイミングは任意である。例えば、他の実施形態においては、特定アプリ判定処理において通信制御部32が利用IDをアプリケーション部31に対して要求し、この要求に応じてアプリケーション部31が利用IDを通信制御部32へ送るようにしてもよい。
なお、他の実施形態においては、アプリケーションに固有のアプリID(利用IDとは異なる)と、そのアプリケーションに設定される利用IDとをアプリケーション毎に関連付けたテーブルを用いて通信制御部32が利用IDを特定するようにしてもよい。すなわち、通信制御部32は、上記テーブルを記憶しておき、アプリケーション部31から読出指令と共にアプリIDを取得し、取得したアプリIDに関連付けられる利用IDを当該アプリケーションの利用IDとして決定してもよい。
特定アプリ判定処理において、通信制御部32は、アプリケーション部31から指令と共に取得した利用IDと、上述のステップS2でタグ2から読み出した利用IDとを比較する。そして、両者が一致すれば、通信制御部32は、上記指令を行ったアプリケーションプログラムは特定アプリプログラムであると判定する。一方、両者が異なれば、通信制御部32は、上記指令を行ったアプリケーションプログラムは非特定アプリプログラムと判定する。
上記変形例のように、タグ2は、専用データを利用可能な1種類以上の特定アプリプログラムを特定するための識別情報(利用ID)を記憶していてもよい。また、通信制御部32は、指令元のアプリケーションプログラムに対応する利用IDを当該アプリケーションプログラムから受け付ける。そして、通信制御部32は、タグ2に記憶されている利用IDと、指令元のアプリケーションプログラムから取得した利用IDとに基づいて、受け付けられた指令が特定アプリプログラムからの指令であるか否かを判定する(ステップS5)。これによれば、受け付けられた指令が特定アプリプログラムからの指令であるか否かを容易に判定することができる。
(タグに自由データ領域を設定する変形例)
他の実施形態においては、タグ2には、図3に示した各領域(専用データ領域、共用データ領域、および管理データ領域)に加えて、自由データ領域が設定されてもよい。以下、図18を参照して、上記実施形態の変形例として、タグ2に自由データ領域が設定される例について説明する。
図18は、本実施形態の変形例におけるタグに記憶されるデータの一例を示す図である。図18に示すように、本変形例においては、タグ2の読み書き可能領域22に、自由データ領域が設定される。自由データ領域は、特定アプリプログラム以外のアプリケーションプログラム(非特定アプリプログラム)がデータを書き込むことができる領域である。なお、タグ2の出荷時においては基本的に、自由データ領域にはデータが記憶されていない。ただし、例えばタグを購入したユーザに特典としてゲームデータを付与する場合等には、何らかのデータが自由データ領域に記憶されていてもよい。
非特定アプリプログラムを実行するアプリケーション部31がタグ2にデータ(ここではセーブデータ)を書き込む場合、まず、アプリケーション部31は通信制御部32へ書込指令を送る。上記変形例に係る特定アプリ判定処理と同様、この書込指令にはアプリケーションプログラムの利用IDが含まれている。書込指令に応じて、通信制御部32は上記実施形態と同様の処理(ステップS1〜S6,S31)を実行する(ただし、ステップS5については、上記変形例に係る、利用IDを用いた特定アプリ判定処理と同様の処理を実行する。)。すなわち、通信制御部32は、タグ2にアクセスしてデータを読み出し、読み出したデータ(共用データ)をアプリケーション部31に渡す。そして、アプリケーション部31は、タグ2に書き込むべきセーブデータを通信制御部32へ渡す。
アプリケーション部31からセーブデータを受け取ると、通信制御部32は、書込指令を受け付けた時に取得した利用IDと、受け取ったセーブデータとを関連付けてタグ2に書き込む(図18参照)。タグ2において、書き込まれるデータと利用IDとを関連付ける方法は任意であるが、例えば、自由データ領域を複数のブロックに区分して管理する方法が用いられてもよい。1つのブロックは、セーブデータを書き込むデータ領域と、そのセーブデータに対応するアプリケーションプログラムの利用IDを書き込むID領域とを含む。このとき、通信制御部32は、1つのブロックのデータ領域にセーブデータを書き込むと共に、そのブロックのID領域に利用IDを書き込む。これによって、セーブデータと利用IDとが関連付けて記憶されることになる。なお、通信制御部32は、セーブデータのデータサイズによっては、2以上のブロックに対してデータの書き込みを行ってもよい。このとき、セーブデータが書き込まれる各ブロックの各ID領域のそれぞれに、同じ利用IDが書き込まれる。
なお、本変形例においても上記実施形態と同様、セーブデータの書き込み時に更新データが更新されてもよい。
非特定アプリプログラムを実行するアプリケーション部31がタグ2からセーブデータを読み出す場合、アプリケーション部31は通信制御部32へ読出指令を送る。上記変形例と同様、この読出指令にはアプリケーションプログラムの利用IDが含まれている。読出指令に応じて、通信制御部32は上記実施形態と同様のステップS1〜S4の処理を実行する。
ここで、本変形例においては、通信制御部32は、上記実施形態におけるステップS3のアクセス許可判定処理において許可タグでないと判定された場合、ステップS5の特定アプリ判定処理として、次の判定処理を実行する。すなわち、通信制御部32は、読出指令に含まれる利用IDと、タグ2の自由データ領域に記憶される利用IDとが一致するか否かを判定する。この判定処理は、読出指令を行ったアプリケーションプログラムが、タグ2の自由データ領域内のセーブデータに対応するアプリケーションプログラムであるか否かを判定するための処理である。
上記判定処理において、2つの利用IDが一致する場合、通信制御部32は、共用データと、一致した利用IDと関連付けて記憶されるセーブデータとをアプリケーション部31に渡す。これによって、タグ2の自由データ領域にセーブデータを書き込んだアプリケーションは、タグ2からセーブデータを読み出すことができる。一方、2つの利用IDが一致しない場合、通信制御部32は、共用データ(のみ)をアプリケーション部31に渡す。
以上のように、他の実施形態においては、特定アプリプログラム以外の他のアプリケーションプログラムが、データをタグ2に書き込むことができるようにしてもよい。すなわち、タグ2は、所定のアプリケーションプログラム(特定アプリプログラム)によってデータを読み書き可能な記憶領域(専用データ領域)と、当該所定のアプリケーションプログラムであるか否かにかかわらずデータを読み出し可能な記憶領域(共用データ領域)と、当該所定のアプリケーションプログラムであるか否かにかかわらずデータを書き込むことが可能な記憶領域(自由データ領域)とを有していてもよい。これによれば、タグ2にデータを書き込むことができるアプリケーションプログラムの種類が増えるので、タグ2の汎用性・利便性をより向上することができる。
上記変形例においては、通信制御部32は、アプリケーションプログラムからの指令に応じてタグ2の自由データ領域にデータを書き込む場合、書き込むデータと、当該アプリケーションプログラムの利用IDとを関連付けてタグ2に記憶させる。そして、自由データ領域に記憶されるデータの読出指令をアプリケーションプログラムから受け付けた場合、通信制御部32は、受け付けられた指令に含まれる利用IDと、タグ2の自由データ領域において読み出し対象のデータに関連付けられている利用IDとに基づいて、当該データを当該アプリケーションプログラムに渡すか否かを判定する。これによれば、タグ2の自由データ領域に記憶されたデータを、そのデータに対応するアプリケーションプログラム(データを書き込んだアプリケーションプログラムと、それと同じ利用IDが設定されるアプリケーションプログラム)において読み出すことができるように管理することができる。
なお、上記変形例において、自由データ領域に書き込まれたデータ(および利用ID)は、情報処理装置3によって削除することができるようにしてもよい。例えば、ユーザの削除指示を受けたシステムアプリケーションプログラムからの指令に応じて、通信制御部32は、削除指示に係るデータをタグ2から削除するようにしてもよい。これによれば、タグ2の自由データ領域に空きが無くなった場合でも、空きを新たに生成することで別のデータを書き込むことができるようになる。また、他の実施形態においては、タグ2には、自由データ領域に書き込まれたデータに関連付けて、当該データが削除可能か否かを示す情報が記憶されるようにしてもよい。
(タグの外観に関する変形例)
上記実施形態においては、タグ2は、キャラクタを立体的に表すフィギュア型のタグであったが、タグの形状はこれに限らず、任意の形状であってよい。例えば、タグ2は、キャラクタの絵が描かれた(キャラクタを平面的に表す)カード型のタグであってもよい。このように、タグは、所定のアプリケーションプログラムに登場するオブジェクト(換言すれば、タグに記憶されるデータ(専用データおよび/または共用データ)が表すオブジェクト)を立体的または平面的に表す外観を有するものであってもよい。これによれば、タグ2を用いてアプリケーションにおいて登場させることができるオブジェクトをユーザにわかりやすく認識させることができる。また、上記オブジェクトを表示部17に表示する場合には、現実のオブジェクトがあたかも仮想空間に入り込んで登場したかのような感覚をユーザに体験させることができ、アプリケーションの興趣性を向上することができる。
(アプリ用データに関する変形例)
また、他の実施形態においては、情報処理装置3は、タグ2に書き込むべきアプリ用データについて、タグに固有の情報を反映して書き込むようにしてもよい。例えば、情報処理装置3(アプリケーション部31および/または通信制御部32)は、アプリ用データに含まれる所定のゲームパラメータについて、書き込むべきタグ2に固有の情報(例えば固有ID)を反映した値としてもよい。そして、当該値のゲームパラメータを含むアプリ用データがタグ2に書き込まれてもよい。なお、所定のゲームパラメータは、アプリ用データに対応するアプリケーションにおけるゲーム処理において用いられる任意のパラメータでよい。例えば、所定のゲームパラメータは、タグの外観が表すオブジェクト(キャラクタまたはアイテム)に関するパラメータ(例えばキャラクタの強さを表すパラメータや、キャラクタの外観を表すパラメータ)であってもよい。
具体的には、タグ2に対してアプリ用データが最初に書き込まれる際、アプリケーション部31は、上記ゲームパラメータとして所定の初期値を設定する。通信制御部32は、この初期値が設定されたゲームパラメータを含むアプリ用データをタグ2に書き込む。この初期値は、任意であり、ランダム値であってもよいし、タグ2に固有の情報(例えば固有ID)に基づく数値であってもよいし、固定値であってもよい。その後、上記タグ2に記憶されるアプリ用データを更新する際、アプリケーション部31は、更新前のタグ2に記憶されているアプリ用データに含まれる上記ゲームパラメータを、固有IDを用いて更新する。例えば、タグ2に記憶される固有IDに基づく係数を更新前の値に掛けることによって、ゲームパラメータの更新後の値が算出されてもよい。そして、通信制御部32は、更新後の値となったゲームパラメータを含むアプリ用データ(更新後のアプリ用データ)をタグ2に書き込むことで、アプリ用データを更新する。上記のようなゲームパラメータをアプリ用データに含めることで、タグ2に記憶されるアプリ用データにタグに固有の情報を含めることができ、アプリ用データをタグに固有の情報とすることができる。
上記によれば、2つのタグが表すキャラクタ(キャラクタID)が同じであって、同じようにゲームを進めたとしても、タグの固有IDが異なるので、2つのタグのアプリ用データ(に含まれる上記ゲームパラメータ)が互いに異なる内容となる。例えば、仮に同じようにゲームを進めたとしても、タグに対応するゲームキャラクタの見た目が異なったり、強さが異なったり、成長度合いが異なったりするようになる。これによれば、タグに記憶されるアプリ用データはタグに固有のものとなるので、それぞれのタグは(外観が同じタグであっても)それぞれのタグに固有のものとなる。これによって、タグに対する愛着をユーザに持たせやすくなる。また、外観が同じタグであっても、ゲームパラメータの違いによってタグ同士をより確実に区別することができる。
また、上記ゲームパラメータを更新することによって、ユーザは、タグ2を利用することでゲームパラメータを変更することができる。なお、上記のように、情報処理装置3は、アプリ用データの更新の度にゲームがより有利になるような値となるように、ゲームパラメータを更新してもよい。これによれば、タグ2を利用する動機付けをユーザに与えることができ、タグ2の利用をユーザに促すことができる。
(共用データに関する変形例)
上記実施形態においては、共用データに含まれるデータの例として、図3に示すデータを例示した。ここで、共用データに含まれるデータは任意である。他の実施形態においては、初期登録データは、ユーザの入力したメッセージのデータを含んでいてもよい。このメッセージは、例えば、情報処理装置3が実行するアプリケーションによって読み出されて表示部17に表示される。
また例えば、初期登録データは、情報処理装置3のユーザを識別する識別情報を含んでいてもよい。ユーザの識別情報は、例えば、情報処理装置3を用いたネットワークサービス(例えばネットワークを介したアプリケーションの提供サービス)が行われる場合における、当該ネットワークサービス上でのユーザのIDである。例えば、ユーザが外出先の情報処理装置においてタグにアクセスした場合、当該情報処理装置は、ユーザのIDをタグから読み出し、当該情報処理装置に対するユーザのアクセスがあったことをサーバへ通知する。これによって、サーバは、ユーザがタグを用いてアクセスした情報処理装置を管理することができる。例えば、各種のイベントが行われる場所に情報処理装置を設置しておき、タグを用いて情報処理装置に対するアクセスをユーザに行わせることによって、サーバは、イベントに参加したユーザを知ることができる。例えば、サーバは、情報処理装置からの通知に応じて、上記ネットワークサービス上において所定のサービスや特典をユーザに付与するようにしてもよい。
上記のように、タグ2は、情報処理装置3を用いてアクセス可能なネットワークサービスに関するユーザの識別情報を記憶する。情報処理装置3は、ネットワークサービスを提供するサーバと通信可能であり、タグ2と通信可能となった場合、一定条件下で、かつ、ユーザの指示の有無にかかわらず、タグ2から読み出した識別情報を用いてサーバにアクセスする。なお、「サーバにアクセスする」とは、情報処理装置3がサーバによって提供されるネットワークサービスにログインすることの他、情報処理装置3がサーバと通信を行うことも含む意味である。上記によれば、ユーザは、タグ2を情報処理装置3にかざすだけで、サーバとの通信を行うためのさらなる操作が必要ないので、タグ2の利便性を向上することができる。
なお、情報処理装置3によってネットワークサービスにログインする場合、サーバは、上記識別情報に加えて、パスワードの入力を条件としてログインを許可するようにしてもよい。これによれば、タグ2の所有者でない他の者が他のユーザのタグ2を用いてネットワークサービスに不正にログインすることを防止することができる。なお、サーバは、タグ2を用いたネットワークサービスへのログインを受け付けるとともに、タグ2を用いずに、情報処理装置3に対してユーザ識別情報(およびパスワード)を入力することによるログインを受け付けてもよい。タグ2を用いたログインが行われる場合、サーバは、当該サーバにアクセスした情報処理装置3と通信可能なタグ2に記憶されるユーザの識別情報を取得し、当該ユーザのパスワードの入力をユーザに要求する。サーバは、正しいパスワードが情報処理装置3において入力されたことを条件としてログインを許可する。
タグ2にユーザの識別情報を記憶する方法は任意である。例えば、情報処理装置3の記憶部(例えばメモリ)にユーザの識別情報が登録(記憶)されている場合、上記初期登録処理において情報処理装置3(通信制御部32)は、情報処理装置3に記憶されている識別情報を取得してタグ2に記憶するようにしてもよい。また例えば、通信制御部32は、初期登録処理においてユーザの識別情報の入力をユーザから受け付け、入力された識別情報をタグ2に記憶するようにしてもよい。なお、ユーザの識別情報が情報処理装置3に記憶されている場合、情報処理装置3は、記憶されている識別情報を用いてネットワークサービスにログインすることが可能である。したがって、ユーザは、ユーザの識別情報が記憶されている情報処理装置(例えば、当該ネットワークサービスのための専用端末)についてはタグ2を用いずにネットワークサービスにログインすることができ、ユーザの識別情報が記憶されていない情報処理装置(例えば、上記専用端末とは異なる汎用の情報処理端末)についてはタグ2を用いることによってネットワークサービスにログインすることができる。
また、ユーザの識別情報を記憶していない情報処理装置は、タグ2と通信可能となった場合、タグ2に記憶されているユーザの識別情報を読み出して、自機の記憶部に記憶してもよい。これによれば、ユーザの識別情報を記憶していなかった情報処理装置に対して、タグ2を用いて識別情報を登録することができる。例えば、まず、ユーザの識別情報を記憶している第1の情報処理装置に対してタグ2をアクセスさせる(タグ2をかざす)ことによってタグ2に識別情報を登録し、さらに、ユーザの識別情報を記憶していない第2の情報処理装置に対してタグ2をアクセスさせることによって、第2の情報処理装置に識別情報を登録することも可能である。このように、タグ2を用いることによって、ユーザの識別情報を容易に登録することができる。なお、各情報処理装置は、タグ2と近距離無線通信を行うことが可能であり、記憶部を有していればよく、第1の情報処理装置と第2の情報処理装置とは異なる種類の情報処理装置であってもよい。
また、上記実施形態においては、更新データには、タグ2に対する書き込みに関する情報(書き込み回数、最終書き込み装置、装置変更回数、最終利用アプリ、および、最終書き込み日時)が含まれる。ここで、他の実施形態においては、更新データは、タグ2に対する読み出しに関する情報を含んでいてもよい。例えば、更新データは、タグ2からのデータの読み出し回数(タグ2に対するアクセスがあった回数)、タグ2からデータを最後に読み出した情報処理装置、データの読み出しを行う情報処理装置が変更された回数、タグ2からデータの読み出しを最後に行ったアプリケーションプログラム、および/または、タグ2からデータの読み出しが最後に行われた日時等の情報を含んでいてもよい。
また、上記実施形態においては、タグ2に対する最後の書き込みに関する情報(最終書き込み装置、最終利用アプリ、および、最終書き込み日時)が更新データに含まれる。ここで、他の実施形態においては、更新データは、タグ2に対する書き込みの履歴に関する情報を含んでいてもよい。例えば、更新データは、タグ2に対してデータ(専用データでもよい)の書き込みを行った情報処理装置、タグ2に対してデータ(専用データでもよい)の書き込みを行ったアプリケーションプログラム、および/または、タグ2に対してデータ(専用データでもよい)の書き込みが行われた日時に関する履歴の情報を含んでいてもよい。また、他の実施形態においては、タグ2に対するデータの読み出しの履歴に関する情報が更新データに含まれていてもよい。
例えば、他の実施形態においては、更新データによって、タグ2に対するデータの書き込みを行った情報処理装置をホームとアウェイとに区別して管理してもよい。ここで、ホームの情報処理装置は、初期登録データが書き込まれた情報処理装置であり、典型的にはユーザが所有する情報処理装置である。また、アウェイの情報処理装置は、ホームの情報処理装置以外の他の情報処理装置であり、典型的には、ユーザの知人の情報処理装置や、店頭やイベント会場に設置された情報処理装置である。更新データは、ホームの情報処理装置による書き込み回数と、アウェイの情報処理装置による書き込み回数とを含んでいてもよい。これによれば、情報処理装置は、ホームの情報処理装置とアウェイの情報処理装置との利用状況に応じた情報処理を実行することができる。
また、他の実施形態においては、更新データは、所定の条件が満たされた場合にオンに設定されるフラグデータを含んでもよい。上記所定の条件は、例えば、店頭やイベント会場に設置される特定の情報処理装置がタグにアクセスしたことである。つまり、特定の情報処理装置によって、タグに記憶されているフラグデータがオンを示す値に更新される。これによれば、例えば店頭やイベント会場にユーザが足を運んだことを示す情報がタグに記憶されることになる。したがって、アプリケーションは、このような情報を用いた情報処理(例えば、特定のイベントに足を運んだユーザに対して特典を付与する処理)を実行することができる。
(情報処理システムの構成に関する変形例)
他の実施形態において、タグ2が情報処理部を有する場合には、情報処理装置3で実行される処理の一部は、タグ2の側で実行されてもよい。例えば、通信制御部32における処理(の一部または全部)が、タグ2が有する情報処理部によって実行されてもよい。上記実施形態においては、通信制御部32は実際にはタグ2から専用データを読み出し、通信制御部32がアプリケーション部31への専用データの受け渡しを管理することによって、アプリケーション部31によるタグ2からの専用データの読み出しを制限するようにした。これに対して、通信制御部32における処理がタグ2の側で実行される場合には、情報処理装置3によるタグ2からの専用データの読み出しが実際に制限されることになる。
(利用IDを読み書き可能領域に記憶する変形例)
上記実施形態においては、利用IDは読み出し専用領域に記憶された(図3)。ここで、利用IDは、読み書き可能領域22に記憶されてもよい。つまり、ユーザ側(アプリケーション側)で利用IDを設定または変更できるようにしてもよい。以下、利用IDがタグ2の読み書き可能領域22に記憶される変形例について説明する。
図19は、本実施形態の他の変形例におけるタグに記憶されるデータの一例を示す図である。図19に示すように、利用IDは、読み書き可能領域22に記憶される。また、本変形例においては、利用IDは管理データ領域に記憶される。利用IDは、上述のように、タグ2に記憶される専用データ(セーブデータ)を利用可能なアプリケーションプログラム(特定アプリプログラム)を特定する識別情報である。
また、本変形例においては、タグ2の読み書き可能領域22にタイトルID(のデータ)が記憶される。タイトルIDは、アプリケーションの名前(例えばゲームアプリケーションであれば、ゲームのタイトル等)を特定する識別情報である。タイトルIDは、上述したシリーズIDとは異なり、例えば1つのシリーズのアプリケーションとして複数種類のアプリケーションが提供されている場合であっても、各アプリケーションを区別できるように、当該各アプリケーションで異なるIDが付与される。なお、他の実施形態においては、利用IDとともにタイトルIDが記憶されている必要はなく、タイトルIDは記憶されなくてもよい。
本変形例においては、上記利用IDおよびタイトルIDは、出荷時には記憶されていないものとする。つまり、ユーザによって購入されたばかりのタグ2には、(読み書き可能領域22に記憶される他のデータと同様、)利用IDおよびタイトルIDが記憶されていない。一方、アプリケーションプログラムには、自身に設定される利用IDの情報が含まれているものとする。なお、他の実施形態においては、出荷時に利用ID(およびタイトルID)がタグ2に記憶されていてもよい。この場合であっても、情報処理装置3は、タグ2に記憶されている利用IDを消去する処理(後述する初期化処理)によって利用IDを消去可能とすることで、後述する処理(図20および図21参照)によって利用IDを再設定することができる。
上記以外のデータについては、上記実施形態と同様のデータがタグ2に記憶される。
次に、図20および図21を参照して、本変形例における情報処理システム1の処理動作について説明する。図20は、本変形例において、アプリケーションプログラムによってタグにデータが書き込まれる場合における情報処理システムの処理の流れの一例を示す図である。ここでは、利用IDが記憶されていないタグ2に対して、専用データ(セーブデータ)の書込指令が行われた場合を例として説明する。
図20に示すように、本変形例においては、ステップS3におけるアクセス許可判定処理においてタグ2へのアクセスが許可された場合、通信制御部32は、タグ2に利用IDが記憶されているか否かを判定する(ステップS71)。詳細は後述するが、例えばユーザによって購入されたばかりのタグのように、専用データ領域へのアクセスがまだ行われていないタグについては、利用IDが記憶されていない。したがって、このようなタグについては、ステップS71において、利用IDが記憶されていないと判定される。
利用IDが記憶されていないと判定された場合、通信制御部32は、上記実施形態と同様のステップS6,S32,S33の処理を実行した後、セーブデータ等をタグ2に書き込む際に、利用IDをタグ2に書き込む(ステップS72)。なお、利用IDは、任意のタイミングでアプリケーション部31から通信制御部32へ送られることで通信制御部32に取得されてよい。例えば、利用IDは、ステップS1において、書込指令に含めて通信制御部32へ送られてもよいし、ステップS32において、タグ2に書き込まれるべきデータとともに通信制御部32へ送られてもよい。
図21は、本変形例における書込指令処理の流れの一例を示すフローチャートである。なお、図21に示すフローチャートは、図10との相違点を示しており、本変形例における書込指令処理について、図21に示す処理以外の処理は、上記実施形態と同様である。
図21に示すように、ステップS3の判定結果が肯定である場合、ステップS71の処理が実行される。すなわち、ステップS71において、通信制御部32は、タグ2に利用IDが記憶されているか否かを判定する。この判定は、ステップS2でタグ2から読み出されたデータを参照することで行うことができる。ステップS71の判定結果が否定である場合、上述のように、ステップS6,S32,およびS33の処理が実行される。さらに、続くステップS72において、通信制御部32は、セーブデータ等(上記ステップS34でタグ2に書き込まれるデータ)とともに利用IDをタグ2に書き込む。
一方、ステップS71の判定結果が肯定である場合、ステップS5の処理が実行される。ここで、本変形例においては、ステップS5の判定処理は、利用IDを用いて行われる(上述の“(特定アプリ判定処理の変形例)”参照)。したがって、あるアプリケーションからの指令に基づいてタグ2に利用IDが書き込まれると、そのアプリケーション(および、同じ利用IDに対応するアプリケーション)によって専用データ領域に対するアクセスが可能となり、その他のアプリケーションによる専用データ領域に対するアクセスは制限される。
上記においては、アプリケーション部31からの書込指令を受け付けた場合における処理について説明した。通信制御部32は、書込指令以外の他の指令(読出指令等)を受け付けた場合も書込指令の場合と同様に、タグ2に利用IDを書き込むようにしてもよい。
すなわち、他の指令を受け付けた場合において、アクセス許可判定処理(ステップS3)の判定結果が肯定となった場合、通信制御部32は、上記ステップS71の判定処理を実行する。そして、ステップS71の判定結果が否定となる場合、通信制御部32は、タグ2に利用IDを書き込む。なお、通信制御部32は、タグ2に利用IDを書き込む処理の前または後に、アプリケーション部31からの指令に応じた処理を実行する。一方、ステップS71の判定結果が肯定となる場合、通信制御部32は、利用IDを用いてステップS5の特定アプリ判定処理を実行する。
なお、読出指令を受け付けた場合、通信制御部32は、受け付けた指令が、専用データ(セーブデータ)を読み出す指令であることを条件として、タグ2に利用IDを書き込むようにしてもよい。つまり、アプリケーション部31からの指令が共用データを読み出す指令である場合には、タグ2に利用IDが記憶されていない場合であっても、タグ2に利用IDを書き込まないようにしてもよい。これによれば、通信制御部32は、タグ2の専用データ領域に対して初めてアクセスがある場合に、タグ2に利用IDを書き込むこととなる。したがって、アプリケーション部31が単に共用データを利用する(読み出す)場合には、タグ2に利用IDが書き込まれない結果、このタグ2の専用データ領域に対するアクセスは制限されないことになるので、利便性を向上することができる。
以上のように、本変形例においては、情報処理装置3は、所定のアプリケーションの実行中において、タグ2に対してアクセス可能となった場合、タグ2に記憶されるアプリ用データ(専用データ)が当該所定のアプリケーションにおいて利用可能であるか否かを示す利用情報(利用ID)がタグ2に記憶されているか否かを判定する(ステップS71)。また、情報処理装置3は、利用情報がタグ2に記憶されていないと判定されたことを少なくとも条件として、タグ2に記憶されるアプリ用データが上記所定のアプリケーションにおいて利用可能であることを示す利用情報をタグ2に書き込む(ステップS72)。情報処理装置3は、あるアプリケーションにおいてアプリ用データが利用可能であることを示す利用情報がタグ2に記憶されていることを条件として、当該あるアプリケーションに対してタグ2に記憶されているアプリ用データの利用を許可する(ステップS5)。
上記において、情報処理装置3は、利用情報がタグ2に記憶されていない(と判定された)ことを少なくとも条件として利用情報をタグ2に書き込めばよい。すなわち、情報処理装置3は、利用情報がタグ2に記憶されていない場合に自動的に(ユーザの指示の有無にかかわらず)利用情報をタグ2に書き込むようにしてもよいし、利用情報を書き込むか否かをユーザに確認するようにしてもよい。なお、ユーザに確認した結果、利用情報をタグ2に書き込まない旨の指示をユーザが行った場合、情報処理装置3は、アプリ用データをタグ2に記憶することを制限してもよい。つまり、情報処理装置3は、アプリケーションに対応する利用情報がタグ2に記憶されていることを条件として、当該アプリケーションのアプリ用データをタグ2に記憶することを許可するようにしてもよい。
上記によれば、タグの利用情報をユーザ側で設定することができる。つまり、ユーザは、利用情報が記憶されていないタグを、あるアプリケーションの実行中に用いることによって、そのタグを、当該あるアプリケーションに関するアプリ用データを記憶するために用いることができる。これによれば、タグを、どのアプリケーションに用いるか(どのアプリケーションのアプリ用データを記憶するために用いるか)を、ユーザが決定することができるので、タグの利便性をより向上することができる。
なお、上記においては、任意のタグを、任意のアプリケーションのアプリ用データを記憶するために用いることができる。ここで、他の実施形態においては、情報処理システム1は、アプリ用データを記憶するためにタグを用いることができるアプリケーションを、例えば以下の方法で制限してもよい。
すなわち、上記変形例において、通信制御部32は、ステップS71の処理の前に、アプリ対応判定処理を実行するようにしてもよい。アプリ対応判定処理は、通信中のタグ2が、指令元のアプリケーションに対応するか否かを判定する処理である。この判定は、例えば、アプリケーションプログラムに、自身のアプリ用データを記憶するために用いることができるタグの情報(利用可能情報)を含めておくことで行うことができる。すなわち、通信制御部32は、アプリケーション部31から利用可能情報を取得し、利用可能情報が示すタグのうちに、通信中のタグ2が含まれるか否かを判定する。この判定は、実行中のアプリケーションで通信中のタグ2が利用可能であるか否かを判定するものである。この判定は、タグ2に記憶されている識別情報と、取得された利用可能情報とに基づいて行うことができる。すなわち、上記の判定は、利用可能情報が示す識別情報(のリスト)に、タグ2に記憶されている識別情報が含まれるか否かによって行うことができる。なお、利用可能情報は、アプリケーションにおいてアプリ用データを記憶するために利用可能なタグ2の識別情報を示す情報であってもよい。例えば、利用可能情報は、タグ2の種類を識別するための識別情報であるフィギュアID(利用可能なフィギュアIDのリスト)を示す情報であってもよい。
利用可能情報が示すタグのうちに通信中のタグ2が含まれる場合、通信制御部32は、通信中のタグ2が指令元のアプリケーションに対応すると判定し、ステップS71の処理を実行する。一方、利用可能情報が示すタグのうちに通信中のタグ2が含まれない場合、通信制御部32は、通信中のタグ2が指令元のアプリケーションに対応しないと判定する。この場合、例えば、アプリケーション部31は、タグ2がそのアプリケーションのアプリ用データを記憶するために用いることができない旨をユーザに通知する。
上記のように、情報処理システム1は、通信中のタグ2が指令元の(実行中の)アプリケーションに対応するか否かの判定を行い、対応すると判定されたことを少なくとも条件として、タグ2に利用IDを記憶するようにしてもよい。すなわち、情報処理装置3は、実行中の所定のアプリケーションから利用可能情報を取得し、タグ2が当該所定のアプリケーションで利用可能であるか否かを判定する。そして、情報処理装置3は、この判定結果が肯定である場合に、利用IDがタグ2に記憶されていないと判定されたことを条件として(ステップS71でNo)、タグ2に記憶されるアプリ用データが上記所定のアプリケーションにおいて利用可能であることを示す利用IDをタグ2に書き込む。
ここで、アプリケーションの内容と全く関係のないキャラクタ(例えば、そのアプリケーションに登場しないキャラクタ)を表すタグが、そのアプリケーションに用いられるとすれば、タグの外観からはタグとアプリケーションとの関連性がわからなくなってしまう。そのため、後になるとユーザ自身が、タグにどのアプリケーションのアプリ用データを記憶したかがわからなくなってしまうおそれがある。これに対して、上記によれば、アプリケーションとの関連性がないタグの利用を制限することができるので、タグの利便性をより向上することができる。
なお、上記アプリ対応判定処理は、タグが、アプリ用データを記憶するためのタグとして、アプリケーションに対応するか否かを判定する処理である。すなわち、アプリ対応判定処理においてタグがアプリケーションに対応しないと判定された場合であっても、当該アプリケーションにおいて当該タグの共用データを利用することは可能である。
(初期登録をユーザに促す変形例)
上記実施形態においては、ユーザによって初期登録を行う旨の指示が行われたことに応じて、タグ2に対する初期登録データの登録(書込)が行われた。ここで、他の実施形態においては、アクセス可能となったタグ2に初期登録データが登録されていない場合、情報処理装置3は、初期登録をユーザに促すようにしてもよい。以下、初期登録をユーザに促す変形例について説明する。
図22は、本変形例において、タグに初期登録データが書き込まれる場合における情報処理システムの処理の流れの一例を示す図である。なお、図22は、あるアプリケーション(特定アプリであってもよいし、特定アプリでなくてもよい)の実行中において、情報処理装置3とタグ2とが通信可能となった場合の処理の流れを示している。
まず、通信制御部32は、上記ステップS1の接続処理を実行する。この接続処理は、任意のタイミングで開始されてよい。本変形例においては、接続処理は、アプリケーション部31からの指令(具体的には、読出指令または書込指令)があったことに応じて開始される。なお、他の実施形態においては、一定時間間隔で接続処理が実行されてもよい。ステップS1の次にステップS2の処理が実行される。ステップS1およびS2の処理の内容は上記実施形態と同様である。
本変形例においては、通信制御部32は、初期登録判定処理を実行する(ステップS81)。初期登録判定処理は、タグ2に対する初期登録が行われているか否か、すなわち、初期登録データがタグ2に記憶されているか否かを判定する処理である。この判定は、上記ステップS2でタグ2から読み出したデータを参照することによって行うことができる。タグ2に対する初期登録が行われていないと判定された場合、通信制御部32は、初期登録が行われていないことの通知(未登録通知)をアプリケーション部31へ送る(ステップS82)。なお、図22には図示しないが、タグ2に対する初期登録が行われていると判定された場合には、通信制御部32は、アプリケーション部31からの指令に応じた処理を実行する。
未登録通知を受け取ったアプリケーション部31は、ユーザに対して登録を確認する処理を実行する(ステップS83)。具体的には、アプリケーション部31は、ユーザに対して登録を確認するための画像(登録確認画像)を表示部17に表示する。さらに、アプリケーション部31は、登録に関するユーザの入力を受け付け、初期登録データを取得する(ステップS84)。ステップS83およびS84の具体的な処理内容は任意であるが、本変形例においては以下のようにして行われる。
図23は、登録確認画像の一例を示す図である。図23に示す登録確認画像は、アバターデータとニックネームのデータとの入力をユーザに促すための画像である。図23に示すように、登録確認画像は、オーナー入力部61と、ニックネーム入力部63とを含む。オーナー入力部61は、タグ2のオーナーを示す情報(ここでは、アバター)を入力するための画像である。
本変形例においては、図23に示すように、アバター(ここでは、アバターの顔と名前)の情報が予め表示されている場合がある。すなわち、アプリケーション部31は、タグ2にアバターデータが記憶されている(ただし、ニックネームのデータはタグ2に記憶されていない)場合、登録確認画像において、タグ2に記憶されているアバターデータに基づいてアバターの情報を表示する。
また、図22に示す一連の処理はタグ毎に繰り返し実行されてもよく、複数のタグについて連続して初期登録が行われてもよい。この場合、アプリケーション部31は、直前に初期登録が行われた際に設定されたアバターの情報を、今回の初期登録における登録確認画像において表示する。すなわち、アプリケーション部31は、最後に初期登録が行われた際に設定されたアバターデータ(前回アバターデータ)をメモリ14に記憶しておき、次に登録確認画像を表示する際、メモリ14に記憶されている前回アバターデータに基づいてアバターの情報を表示する。
さらに、ユーザのアバターとして情報処理装置3にアバターデータ(前回アバターデータとは異なる)が登録されている場合には、アプリケーション部31は、このアバターデータに基づいてアバターの情報を表示してもよい。すなわち、タグ2にアバターデータが記憶されておらず、かつ、メモリ14に前回アバターデータが記憶されていない場合、アプリケーション部31は、情報処理装置3に登録されているアバターデータに基づいてアバターの情報を表示する。
上記のように、本変形例においては、登録済みのアバターデータ、あるいは、ユーザが入力することが予測されるアバター(前回アバターデータ、および、情報処理装置3に登録されているアバターデータ)がある場合には、これらのアバターデータに基づく情報が表示される。これによって、ユーザの入力の手間を省くことができる。なお、他の実施形態においては、これらのアバターデータに基づく情報は表示されなくてもよい。
図23においては、オーナー入力部61には、変更ボタン62が含まれる。この変更ボタン62を指定する入力をユーザが行った場合、アプリケーション部31は、オーナー入力部61に表示されているアバターを他のアバターに変更する入力を受け付ける。これによって、ユーザは、すでに表示されているアバターを他のアバターに変更することが可能である。
また、ニックネーム入力部63は、タグ2のニックネームを示す情報を入力するための画像である。ユーザは、ニックネーム入力部63の入力欄に文字入力を行うことによって、タグ2のニックネームを入力する。入力された文字は上記入力欄に表示される。
図23に示すように、登録確認画像は登録ボタン64を含む。アプリケーション部31は、登録ボタン64を指定する入力をユーザが行った場合、アプリケーション部31は、当該入力の時点で表示されているアバターおよびニックネームのデータを、初期登録データとして取得する。なお、本変形例において、ユーザは、登録確認画像が表示されている場合に必ずしも初期登録を行う必要はなく、アバターおよび/またはニックネームの表示を空欄にして登録ボタン64を指定してもよい。この場合、空欄になっている情報については初期登録が行われず、空欄でない情報についてのみ初期登録が行われる。
また、上記実施形態と同様、アプリケーション部31は、現在の日時を示すデータ、および、情報処理装置3が存在する地域(国)を示すデータを取得する。以上のようにして取得された初期登録データは、アプリケーション部31から通信制御部32へ送られる。すなわち、通信制御部32は、初期登録データをアプリケーション部31から取得する(ステップS85)。ステップS85の処理は、上記実施形態におけるステップS12の処理と同様である。さらに、通信制御部32は、初期登録データ等をタグ2に書き込む(ステップS86)。ステップS86の処理は、上記実施形態におけるステップS13の処理と同様である。
以上のように、本変形例においては、タグ2に初期登録データ(の一部)が登録されていない場合、初期登録を行うための登録確認画像が表示され、初期登録が行われた場合には、初期登録データがタグ2に書き込まれる。これによって、情報処理システム1は、ユーザに初期登録を促すことができる。なお、詳細は後述するが、本変形例においては、初期登録が行われていないタグ2に対しては、専用データの記憶が制限(禁止)されるものとする。これによって、ユーザが初期登録を行う動機付けをより強くすることができる。
図24は、本変形例において初期登録を行うための処理の流れの一例を示すフローチャートである。本変形例においては、上述した読出指令処理および書込指令処理において、図24に示す処理が実行される。
読出指令処理または書込指令処理において、ステップS3の判定結果が肯定である場合、上記ステップS81の処理が実行される。すなわち、ステップS81において、通信制御部32は上記の初期登録判定処理を実行する。ステップS81の判定結果が肯定である場合、後述するステップS87の処理が実行される。一方、ステップS81の判定結果が否定である場合、ステップS82の処理が実行される。すなわち、ステップS82において、通信制御部32は、未登録通知をアプリケーション部31へ送る。通信制御部32においては、ステップS82の次にステップS85の処理が実行される。
ステップS85において、通信制御部32は、アプリケーション部31から初期登録データを取得したか否かを判定する。ステップS85の判定結果が否定である場合、ステップS86の処理がスキップされて、後述するステップS87の処理が実行される。一方、ステップS85の判定結果が肯定である場合、ステップS86の処理が実行される。すなわち、ステップS86において、アプリケーション部31から取得した初期登録データ等をタグ2に書き込む。
ステップS87において、通信制御部32は、アプリケーション部31からの読出指令または書込指令が、専用データにアクセスする指令か否か、すなわち、専用データを読み出す、または、書き込む指令であるか否かを判定する。ステップS87の判定結果が否定である場合、上述のステップS5の処理が実行される。つまり、アプリケーション部31が専用データ以外の他のデータ(共用データ)にアクセスする場合には、指令(読出指令または書込指令)に応じた処理が上記実施形態と同様に実行される。
一方、ステップS87の判定結果が肯定である場合、ステップS88の処理が実行される。ステップS88において、通信制御部32は、上記ステップS81と同様の初期登録判定処理を実行する。ステップS88の判定結果が肯定である場合、上述のステップS5の処理が実行される。つまり、初期登録データがタグ2に記憶されている場合には、指令(読出指令または書込指令)に応じた処理が上記実施形態と同様に実行される。
また、ステップS88の判定結果が否定である場合、ステップS89の処理が実行される。ステップS89において、通信制御部32は、タグ2の専用データ領域は利用できない旨の通知をアプリケーション部31に対して行う。この通知を受け取ったアプリケーション部31は、どのような処理を実行してもよいが、例えば、初期登録が済んでいないために専用データ領域の利用ができない旨をユーザに通知する処理を実行する。ステップS89の後、通信制御部32は、読出指令処理または書込指令処理を終了する。
以上のように、本変形例においては、タグ2は、所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する。情報処理装置3は、ユーザおよび/または情報処理装置3に関する登録データ(初期登録データ)がタグ2に記憶されていることを条件として、所定のアプリケーションにおける所定の処理(専用データにアクセスする処理)を許可する(ステップS87〜S89)。ここで、情報処理装置3は、登録データがタグ2に記憶されているか否かを判定し、登録データがタグ2に記憶されていないと判定された場合、登録データをタグ2に記憶するための処理(ステップS83)を実行する。
上記「登録データ」は、上記実施形態における初期登録データの他、タグ2に登録(記録)される、ユーザおよび/または情報処理装置3に関する任意のデータでよい。上記「所定の処理」は、上記実施形態においては専用データにアクセスする処理であった、具体的な処理内容は任意である。例えば、他の実施形態においては、上記「所定の処理」は、タグ2からデータを書き込む処理であってもよいし、タグ2にアクセスする処理であってもよい。つまり、情報処理装置3は、登録データがタグ2に記憶されていない場合に、タグ2に対するデータの書き込みを制限してもよいし、タグ2に対するアクセス自体を制限してもよい。
また、上記「登録データをタグ2に記憶するための処理」は、登録データの記憶をユーザに確認する(促す)処理(上記変形例参照)であってもよいし、ユーザの確認なく(ユーザの指示にかかわらず)自動的に登録データをタグ2に記憶する処理であってもよい。
上記によれば、所定の処理を実行するために(所定の処理の機能を利用するために)、ユーザは登録データをタグ2に記憶することが要求されるので、情報処理システム1は、登録データをタグ2に記憶させることをユーザに促すことができる。さらに、上記によれば、所定のアプリケーション以外のアプリケーションが共用データを利用することについては、タグ2に対する登録データの記憶が要求されないので、ユーザは登録を行わなくてもタグ2を利用することができ、タグ2の利便性を向上することができる。つまり、上記によれば、タグ2に対する登録をユーザに促すことができるとともに、タグ2の利便性を向上することができる。
また、本変形例においては、登録データがタグ2に記憶されているか否かの判定は、複数のアプリケーションに共通で実行される。すなわち、情報処理装置3は、特定のアプリケーション(例えば、タグ2の専用データにアクセスする所定のアプリケーション)の実行中に限らず、複数のアプリケーションのいずれかが実行されている場合に上記判定を行う。この複数のアプリケーションは、タグ2との通信を行う任意のアプリケーションであってもよい。このように、本変形例においては、複数種類のアプリケーションにおいて共通に、上記判定が行われるので、ユーザに初期登録を行わせる機会が増え、初期登録を行わせやすくすることができる。
また、本変形例においては、情報処理装置3は、タグ2に対して登録データの読み出しおよび/または書き込みを行う際(例えば、アプリケーション部31が読出指令および/または書込指令を送る場合)に、登録データがタグ2に記憶されていないと判定された場合、登録データをタグ2に記憶するための処理を実行する。これによれば、タグ2に記憶される登録データに対するアクセスが行われる際に、登録データをタグ2に記憶するための処理が実行されるので、適切なタイミングでユーザに初期登録を行わせることができる。
上記変形例において、情報処理装置3は、初期登録データをタグ2に記憶する場合に、実行中のアプリケーション(指令元のアプリケーション)に関するデータを専用データとしてタグ2に記憶するようにしてもよい。すなわち、アプリケーション部31は、上記ステップS21において初期登録データを取得した場合、初期登録データとともに所定の専用データを通信制御部32へ送信する。この専用データの内容は任意であるが、例えば、アプリケーションにおいてタグ2に応じて初期設定されるデータであり、具体的には、ゲームアプリケーションにおいて登場するキャラクタ(タグ2が表すキャラクタ)の初期パラメータを示すデータである。専用データは、初期登録データ(アバターデータおよび/またはニックネームのデータ)に基づいて生成されてもよい。
通信制御部32は、初期登録データおよび専用データを取得すると、指令元のアプリケーションが専用データにアクセス可能なアプリケーションであるか否かを判定する。この判定は、上述の特定アプリ判定処理と同様に行うことができる。指令元のアプリケーションが専用データにアクセス可能であると判定された場合、通信制御部32は、アプリケーション部31から取得した初期登録データおよび専用データをタグ2に記憶する。一方、指令元のアプリケーションが専用データにアクセス可能でないと判定された場合、通信制御部32は、アプリケーション部31から取得した初期登録データをタグ2に記憶する。このとき、アプリケーション部31から取得された専用データはタグ2に記憶されない。
以上のように、情報処理装置3は、所定のアプリケーションの実行中において情報処理装置3にアクセス可能となったタグ2が、ユーザおよび/または情報処理装置に関する登録データを記憶しているか否かを判定する(ステップS81)。そして、情報処理装置3は、タグ2が登録データを記憶していないと判定された場合、ユーザによって入力された登録内容に基づいて登録データをタグ2に書き込むとともに、当該登録データがタグ2に書き込まれる場合には、ユーザ指示の有無にかかわらず、所定のアプリケーションに関する情報(専用データ)をタグ2に書き込む。
上記によれば、登録データをタグ2に登録(記憶)した場合に、所定のアプリケーションに関する情報もタグ2に自動的に記憶される。これによって、上記情報をタグ2に記憶する指示をユーザが別途行う必要がないので、ユーザの手間を省くことができる。
なお、上記においては、専用データは、ユーザに確認を取ることなく自動的に(ユーザの指示の有無にかかわらず)生成されて通信制御部32へ送られる。ただし、他の実施形態においては、情報処理装置3は、専用データをタグ2に書き込むか否かについてユーザの確認をとるようにしてもよい。
(タグ2に記憶されるデータのバックアップをとる変形例)
情報処理装置3は、タグ2に記憶されるデータのバックアップデータを記憶するようにしてもよい。図25は、情報処理装置がタグのバックアップデータを記憶する場合における情報処理システムの一例を示す図である。図25に示すように、情報処理装置3は、タグに記憶されるデータをバックアップデータとして、タグ毎に自機に記憶してもよい。以下、タグのデータのバックアップを取る変形例について説明する。
本変形例においては、タグ2にデータが書き込まれる際に、情報処理装置3においてバックアップがとられる(バックアップデータが更新される)。図26は、本変形例における書込指令処理の流れの一例を示すフローチャートである。図26に示すように、本変形例においては、通信制御部32は、タグ2に書き込むべき更新データを生成する処理(ステップS33)の次に、ステップS91の処理を実行する。
ステップS91において、通信制御部32は、バックアップデータの更新を行う。具体的には、通信制御部32は、接続中のタグ2を識別するための識別情報(例えばUID、または、固有ID)と、当該タグ2のバックアップデータとを関連付けて、所定の記憶部に記憶する。ここで記憶されるバックアップデータは、次のステップS34でタグ2に書き込むべきデータである。本変形例においては、読み書き可能領域22に記憶されるべきデータがバックアップデータとして記憶される。また、識別情報とバックアップデータとを関連付けて記憶しておくことで、バックアップデータがどのタグに記憶されているデータであるかを特定することができる。なお、所定の記憶部は、情報処理装置3に内蔵される記憶装置であってもよいし、情報処理装置3がアクセス可能な外部記憶装置であってもよい。
上記ステップS91の後、上記実施形態と同様のステップS34の処理が実行される。これによって、バックアップデータと同じデータがタグ2に書き込まれることになる。したがって、タグ2に書き込まれた最新のデータがバックアップデータとして保存されることになる。
さらに、本変形例においては、タグ2からデータが読み出される際に、バックアップデータがタグ2の最新のデータであるか否かがチェックされ、最新のデータでない場合にはバックアップデータの更新が行われる。図27は、本変形例における読出指令処理の流れの一例を示すフローチャートである。図27に示すように、本変形例においては、ステップS3におけるアクセス許可判定処理においてタグ2へのアクセスが許可された場合、ステップS92の処理が実行される。
ステップS92において、通信制御部32は、ステップS2でタグ2から読み出したデータと、上記記憶部に記憶されている当該タグ2のバックアップデータとが同じであるか否かを判定する。この判定の具体的な方法は任意であるが、例えば、通信制御部32は、両者のハッシュ値(上記第2ハッシュ値)が同じであるか否かを判定してもよい。なお、情報処理装置3がタグに初めてアクセスした場合には、当該タグのバックアップデータは記憶部に記憶されていない。この場合、通信制御部32は、タグから読み出したデータとバックアップデータとは同じでないと判定する。
ステップS92の判定結果が肯定である場合、上記実施形態と同様のステップS5の処理が実行される。つまり、この場合には、バックアップデータはタグの最新のデータであるので、バックアップデータの更新は行われない。
一方、ステップS92の判定結果が否定である場合、ステップS93の処理が実行される。すなわち、ステップS93において、通信制御部32は、接続中のタグ2のバックアップデータを更新する。具体的には、通信制御部32は、上記記憶部に記憶されるバックアップデータのうち、接続中のタグ2に関連付けられるバックアップデータを、ステップS2でタグ2から読み出したデータとなるように更新する。また、接続中のタグ2に関連付けられるバックアップデータが上記記憶部に記憶されていない場合には、通信制御部32は、当該タグ2の識別情報と、ステップS2でタグ2から読み出したデータとを関連付けて記憶部に記憶する。上記ステップS93の後、上記実施形態と同様のステップS5の処理が実行される。
上記のように、本変形例においては、タグ2からデータが読み出される際において、バックアップデータがタグ2の最新のデータでない場合にはバックアップデータの更新が行われる。例えば、本変形例においては、あるタグに対して情報処理装置3によってデータの書き込みが行われた後、当該タグに対して他の情報処理装置によってデータの書き込みが行われた場合、情報処理装置3に記憶されているバックアップデータは、当該タグの最新のデータではないことになる。これに関して、本変形例においては、上記ステップS91〜S92の処理によって、タグ2からデータが読み出される際において、バックアップデータがタグの最新のデータとなるように更新される。
ここで、情報処理装置3とタグ2とは近距離無線通信を行うので、タグ2に対するデータの書き込み中に通信が途絶えると(例えば、タグ2が情報処理装置3から離れてしまうと)、タグ2のデータが壊れてしまう(データが正しい内容を表さない)おそれがある。本変形例においては、タグ2のデータが壊れた場合、情報処理装置3は、バックアップデータを用いてタグ2のデータを復旧することができる。以下、データ復旧処理について説明する。
図28は、データ復旧処理の流れの一例を示す図である。本変形例において、データ復旧処理は、アプリケーション部31によって復旧指令が出力されたことに応じて開始される。ここで、アプリケーション部31は、システムアプリケーションプログラムであってもよいし、他のアプリケーションであってもよい。例えば、システムアプリケーションプログラムの実行中において(例えば、メニュー画面の表示中において)、タグ2に対するデータ復旧を行う旨の指示がユーザによって行われる。この指示が受け付けられたことに応じて、アプリケーション部31(システムアプリケーションプログラム)は復旧指令を出力する。また例えば、アプリケーションの実行中において、アプリケーション部31がタグ2から取得したデータが壊れていた場合、アプリケーション部31は復旧指令を出力する。
まずステップS101において、通信制御部32は、接続中のタグ2からタグ2の識別情報(UID)を読み出す。ステップS101の読出処理は、上述のステップS2と同様の処理であってもよい。なお、UIDは読み出し専用領域21に記憶されているので、データが壊れることがなく、正しい内容であることが保証されている。つまり、上記識別情報は、UIDあるいは固有IDのように、読み出し専用領域21に記憶されていることが好ましい。
ステップS102において、通信制御部32は、情報処理装置3の上記記憶部に、通信中のタグ2のバックアップデータが記憶されているか否かを判定する。この判定は、ステップS101で読み出された識別情報に関連付けられたバックアップデータが記憶部に記憶されているか否かによって行うことができる。ステップS102の判定結果が否定である場合、ステップS103の処理が実行される。一方、ステップS102の判定結果が肯定である場合、ステップS104の処理が実行される。
ステップS103において、通信制御部32は、バックアップデータが無い旨をアプリケーション部31に通知する。この場合、例えば、アプリケーション部31は、バックアップデータがないため復旧できない旨をユーザに通知する。ステップS103の後、通信制御部32はデータ復旧処理を終了する。
ステップS104において、通信制御部32は、通信中のタグ2に対応するバックアップデータを取得する。すなわち、通信制御部32は、ステップS101で読み出された識別情報に関連付けられたバックアップデータを記憶部から読み出す。続くステップS105において、通信制御部32は、ステップS104で取得したバックアップデータをタグ2に書き込む。
ステップS106において、通信制御部32は、タグ2に対するデータの書き込みが成功したか否かを判定する。この判定は、例えば、データの書き込み中にタグ2との通信が切断されたか否かによって行うことができる。
ステップS106の判定結果が肯定である場合、ステップS107の処理が実行される。すなわち、ステップS107において、通信制御部32は、データ復旧が成功したことをアプリケーション部31に通知する。この場合、例えば、アプリケーション部31は、データ復旧が成功したことをユーザに通知する。
一方、ステップS106の判定結果が否定である場合、ステップS108の処理が実行される。すなわち、ステップS108において、通信制御部32は、データ復旧が失敗したことをアプリケーション部31に通知する。この場合、例えば、アプリケーション部31は、データ復旧が失敗したことをユーザに通知する。アプリケーション部31は、再度データ復旧をやり直すことをユーザに促す通知を行ってもよい。
上記ステップS107またはS108の後、通信制御部32はデータ復旧処理を終了する。以上のデータ復旧処理によって、情報処理装置3は、タグ2のデータを復旧することができる。ここで、本変形例においては、任意のアプリケーションが実行中である場合に(実行中のアプリケーションの種類にかかわらず)、タグ2のデータが壊れていた場合には、データ復旧処理が実行される。
上記変形例によれば、タグ2は、所定のアプリケーションプログラム(特定アプリプログラム)で利用可能なアプリ用データ(専用データ)を記憶する。情報処理装置3は、タグ2に記憶されるデータに対するバックアップデータを記憶する。また、情報処理装置3は、情報処理装置3と通信可能であるタグ2に記憶されているデータが壊れている場合、当該情報処理装置3において実行中のアプリケーションに関わらず、当該タグ2に記憶されているデータを、バックアップデータを用いて復旧する。
上記によれば、特定アプリプログラムの実行中でなくても(例えば、システムアプリケーションまたは非特定アプリの実行中であっても)、タグ2のデータが壊れていた場合には、特定アプリプログラムに対応するアプリ用データも含めてタグ2のデータが復旧される。したがって、特定アプリプログラムを実行せずともアプリ用データを復旧することができるので、より多くの機会にデータを復旧することができる。
なお、他の実施形態においては、情報処理装置3は、単一のタグ2について複数のバックアップデータを記憶しておくようにしてもよい。このとき、情報処理装置3は、タグ2のバックアップデータと関連付けて、バックアップデータを記憶した時の日時(日付のみでもよい)を記憶するようにしてもよい。この場合、情報処理装置3は、データ復旧処理において日時のデータを参照することによって、最後に記憶されたバックアップデータだけでなく、それよりも以前に記憶されたバックアップデータを用いてデータを復旧させることができる。すなわち、上記の場合、ステップS104において、通信制御部32は、記憶部に記憶されている、通信中のタグ2に対応するバックアップデータを全て読み出す。そして、通信制御部32は、読み出したバックアップデータに関連付けられる日時を表示し、復旧に用いるバックアップデータの日時をユーザに選択させる。さらに、ステップS105において、通信制御部32は、ユーザが選択した日時に関連付けられるバックアップデータをタグ2に書き込む。これによって、ユーザは、バックアップの日時の異なる複数のバックアップデータから所望のものを選択してデータを復旧させることができる。
(ソフトウェア構成に関する変形例)
情報処理装置3は、タグ2に対する各種の設定処理(上述した初期登録の処理、データ復旧処理等)を実行するためのタグ設定プログラムを記憶しておき、当該タグ設定プログラムを実行することによって設定処理を実行するようにしてもよい。以下、情報処理装置3においてタグ設定プログラムが用意される変形例について説明する。
図29は、本変形例における情報処理装置3において記憶されるプログラム構成の概要を示す図である。図29に示すように、情報処理装置3は、システムアプリケーションプログラム(ここでは、「システムアプリケーション」と記載する。)と、タグ設定プログラムと、アプリケーションプログラム(ここでは、特定アプリプログラムおよび非特定アプリプログラムを指す)と、通信プログラムとを記憶している。
本変形例においては、タグ設定プログラムは、初期登録プログラムと、復旧プログラムと、データ消去プログラムと、初期化プログラムとを含む。なお、他の実施形態においては、タグ設定プログラムは、これらのプログラムのうちのいくつかのみを含んでいてもよいし、他のプログラムを含んでいてもよい。
初期登録プログラムは、通信制御部32(通信プログラム)を用いて、上述した初期登録を実行するためのプログラムである。初期登録プログラムは、例えば、上述したステップS83およびS84の処理を実行するためのプログラムである。
復旧プログラムは、通信制御部32(通信プログラム)を用いて、上述したタグ2のデータ復旧を実行するためのプログラムである。復旧プログラムは、例えば、上述の“(タグ2に記憶されるデータのバックアップをとる変形例)”で説明した変形例において、復旧指令を通信制御部32に送る処理、および/または、通信制御部32からの通知に基づいてユーザに対して通知を行う処理を実行するためのプログラムである。なお、他の実施形態においては、上記変形例におけるデータ復旧処理(図28)において通信制御部32が実行する処理のうち、一部の処理(例えば、ステップS102およびS104)は、復旧プログラムによって実行されてもよい。
データ消去プログラムは、タグ2の専用データの消去を実行するためのプログラムである。すなわち、情報処理装置3は、データ消去プログラムを実行することによって、タグ2の専用データを消去することができる。また、初期化プログラムは、タグ2の初期化(読み書き可能領域22のデータの消去)を実行するためのプログラムである。すなわち、情報処理装置3は、初期化プログラムを実行することによって、タグ2の読み書き可能領域22に記憶されているデータを消去することができる。したがって、上述した“(利用IDを読み書き可能領域22に記憶する変形例)”において初期化プログラムが実行される場合には、タグ2に設定された利用IDを消去することができる。これによって、消去された利用IDとは異なる利用IDを新たにタグに対して設定することもできる。
本変形例において、システムアプリケーションおよび各アプリケーションプログラムは、タグ設定プログラムを用いて、タグ2に対する処理を実行する。タグ設定プログラムは、システムアプリケーションによって実行されるアプリケーションとして実行され、かつ、各アプリケーションプログラムにおいてアプレットとして実行されるものであってもよい。つまり、タグ設定プログラムは、システムアプリケーションから起動することができるとともに、各アプリケーションプログラムから起動することができるものであってもよい。このように、タグ設定プログラムを情報処理装置3において用意することによって、各アプリケーションプログラムにおいては、タグ設定プログラムによる機能を用意する必要がないので、アプリケーションの開発を容易にすることができる。
システムアプリケーションからタグ設定プログラムを起動する場合には、タグ設定プログラムに含まれる上記4つのプログラムのいずれかをユーザが指定して実行するようにしてもよい。例えば、システムアプリケーションによるメニュー画面においてタグ設定プログラムが指定されて起動した場合、「初期登録」、「データ復旧」、「データ消去」、および「初期化」という4つの項目が表示されてもよい。このとき、ユーザが選択した項目に応じたプログラムが実行されることで、項目に応じた処理が実行される。
一方、アプリケーションプログラムからタグ設定プログラムを起動する場合には、当該アプリケーションプログラムが、タグ設定プログラムに含まれる上記4つのプログラムのいずれかを状況に応じて選択して実行してもよい。例えば、特定アプリであるアプリケーションプログラムが専用データをタグ2に書き込もうとした際に、タグ2において初期登録データが記憶されていなかった場合には、初期登録プログラムを実行することによって、タグ2に初期登録データを書き込むようにしてもよい。
(タグに記憶されるデータの暗号化に関する変形例)
他の実施形態においては、タグ2に記憶されるデータは、一部のデータが暗号化されていなくてもよいし、一部のデータが他のデータとは異なる暗号方式で暗号化されていてもよい。例えば、タグ2の外観が表すキャラクタ(オブジェクト)を示す情報(例えば、上述のフィギュアID)は、暗号化されずにタグ2に記憶されてもよい。これによれば、タグ2に記憶された暗号化データを復合する機能を有する情報処理装置のみならず、当該機能を持たない情報処理装置によっても、キャラクタを示す情報を読み出すことができ、タグ2を用いて処理を実行することができる。つまり、タグ2の汎用性をより向上することができる。また、キャラクタを示す情報は、タグ2の外観から認識することができる情報であるので、暗号化しなくてもセキュリティ上大きな問題はないと考えられる。
上記のように、タグ2は、所定のオブジェクトを立体的または平面的に表す外観を有する。また、タグ2は、上記所定のオブジェクトを示すオブジェクト情報(フィギュアID)を、暗号化されない状態で記憶するとともに、オブジェクト情報とは異なる他の情報を暗号化された状態で記憶する。情報処理装置3は、タグ2に記憶されているオブジェクト情報を用いて、上記オブジェクトを表示装置に表示させる処理を実行する。これによれば、上記のように、タグの汎用性を向上することができる。
なお、オブジェクト情報は、他の情報とは異なる暗号化方式で記憶されてもよい。すなわち、タグ2は、上記オブジェクト情報とは異なる他の情報を、第1の方法で暗号化された状態で記憶し、オブジェクト情報を、第1の方法とは異なる第2の方法で暗号化された状態で記憶してもよい。このとき、例えば、第2の方法の暗号化に対応する復号機能として、第1の方法の暗号化に対応する復号機能よりも利用しやすい(例えば、無償で提供される)機能を採用することによって、上記と同様、タグの汎用性を向上することができる。
また、上記においては、異なる2種類の情報処理装置においてタグ2を利用することができる。例えば、第1の情報処理装置は、第1の方法で暗号化された情報を復号する機能を有さず、第2の方法で暗号化された情報を復号する第2復号処理手段を備えるものとする。また、第2の情報処理装置は、第1の方法で暗号化された情報を復号する第1復号処理手段と、第2の方法で暗号化された情報を復号する第2復号処理手段とを備えるものとする。ただし、オブジェクト情報が暗号化されていない場合には、各情報処理装置は第2復号処理手段を備えていなくてもよい。このとき、第1の情報処理装置は、タグ2に記憶されているオブジェクト情報を用いることができ、第2の情報処理装置は、タグ2に記憶されているオブジェクト情報および上記他の情報を用いることができる。これによれば、第2の情報処理装置(例えば、タグ2に対応した専用の情報処理装置)によってタグ2に記憶されている各種情報を用いることができるとともに、第1の情報処理装置(例えば、近距離無線通信の機能を有する汎用の情報処理装置)においてもタグ2を利用することができる。
(アプリケーションプログラムによる処理に関する変形例)
上述したように、1つのキャラクタ(オブジェクト)に複数の種類がある場合、タグ2に記憶されるキャラクタを示す情報(上記フィギュアID)は、当該複数の種類を1グループとしてキャラクタを示す第1IDと、種類毎に異なる第2IDとを含んでいてもよい。このとき、アプリケーション部31は、タグ2に記憶されるデータ(共用データ)を用いる処理として、フィギュアIDの一部に基づいて情報処理を実行してもよい。具体的には、アプリケーション部31は、上記第1IDに基づいて情報処理を実行してもよい。この情報処理の内容は任意であるが、例えば、第1IDに応じて異なる内容が実行され、かつ、第1IDが同じであれば、第2IDが異なっていても同じ内容が実行される処理である。具体的には、アプリケーション部31は、ゲームアプリケーションにおいて、第1IDに基づいてアイテムを登場させる処理を実行してもよい。このとき、アプリケーション部31は、タグ2から読み出される第1IDが同じであれば、第2IDが異なっていても同じアイテムを登場させる。上記によれば、アプリケーション部31は、同じグループに属する複数の種類のキャラクタについて同じ処理を実行することができる。
また、アプリケーション部31は、所定のタグ2と通信が行われたことを条件として、実行中のアプリケーションにおける設定を変更するようにしてもよい。例えばゲームアプリケーションにおいて、アプリケーション部31は、設定を変更することによって、ゲームにおいて利用できるキャラクタまたはアイテムを増加させたり、新たなステージをユーザがプレイできるように変更したりする。
ここで、変更された設定内容は、情報処理装置3において保存(記憶)されてもよい。これによれば、ユーザは、アプリケーションを起動する度に、情報処理装置3とタグ2とを通信させる必要がないので、タグ2の利便性を向上することができる。また、アプリケーション部31は、タグ2によってアプリケーションの設定を変更する処理を、(タグ2と現在通信中の情報処理装置とは異なる)他の情報処理装置において当該タグ2によって当該アプリケーションの設定が変更されたか否かに関わらず、実行するようにしてもよい。これによれば、ユーザは、1つのタグを用いて、複数の情報処理装置において実行される各アプリケーションの設定を変更することができるので、タグの利便性を向上することができる。
なお、他の実施形態においては、アプリケーション部31は、タグ2によって変更された設定を情報処理装置3において保存しないようにしてもよい。この場合、アプリケーションが起動される度に上記設定はデフォルトの設定に戻されるので、設定を変更するためには、起動の度にタグ2を用いる(情報処理装置3とタグ2とを通信させる)ことが要求されることになる。
また、他の実施形態においては、タグ2によってアプリケーションの設定が変更された場合、アプリケーション部31は、設定を変更したことを示す設定変更情報をタグ2に書き込むようにしてもよい。このとき、アプリケーション部31は、(タグ2と現在通信中の情報処理装置とは異なる)他の情報処理装置においてタグ2によってアプリケーションの設定が変更されていないことを条件として、当該タグ2によって当該アプリケーションの設定を変更する処理を実行するようにしてもよい。
本実施形態は、記憶媒体をより汎用的に利用すること等を目的として、例えばゲームアプリケーション等を実行するゲーム装置やゲームシステム、あるいは、ゲームデータを記憶する記憶媒体等として利用することができる。
1 情報処理システム
2 タグ(記憶媒体)
3 情報処理装置
11 通信部
12 通信チップ
13 CPU
14 メモリ
15 プログラム記憶部
16 入力部
17 表示部
21 読み出し専用領域
22 読み書き可能領域
31 アプリケーション部
32 通信制御部

Claims (31)

  1. 記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムであって、
    前記記憶媒体は、所定のアプリケーションプログラムで利用可能なアプリ用データと、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データとを記憶する記憶手段を備え、
    前記情報処理装置で実行されるアプリケーションプログラムから、前記記憶手段に対するデータの読み出しおよび/または書き込みに関する指令を受け付ける受付手段と、
    受け付けられた指令が前記アプリ用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であることを条件として、前記記憶手段から読み出した前記アプリ用データを当該所定のアプリケーションプログラムに渡す第1処理手段と、
    受け付けられた指令が前記共用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であるか否かにかかわらず、前記記憶手段から読み出した前記共用データを指令元のアプリケーションプログラムに渡す第2処理手段とを備える、情報処理システム。
  2. 前記記憶手段は、前記記憶媒体の種類毎に設定される識別情報を記憶しており、
    前記所定のアプリケーションプログラムは、自身がアプリ用データを利用可能な種類のタグに設定される識別情報を含んでおり、
    前記第1処理手段は、前記記憶手段から読み出した識別情報と、指令元のアプリケーションプログラムから取得した識別情報とに基づいて、受け付けられた指令が前記所定のアプリケーションプログラムからの指令であるか否かを判定する、請求項1に記載の情報処理システム。
  3. 前記記憶手段は、前記アプリ用データを利用可能な1種類以上の所定のアプリケーションプログラムを特定するための識別情報を記憶しており、
    前記受付手段は、指令元のアプリケーションプログラムに対応する識別情報を当該アプリケーションプログラムから受け付け、
    前記第1処理手段は、前記記憶手段に記憶されている識別情報と、指令元のアプリケーションプログラムから取得した識別情報とに基づいて、受け付けられた指令が前記所定のアプリケーションプログラムからの指令であるか否かを判定する、請求項1に記載の情報処理システム。
  4. 前記記憶手段は、前記第1処理手段によって復号可能な方式で暗号化されたアプリ用データおよび前記第2処理手段によって復号可能な方式で暗号化された共用データを記憶する、請求項1から請求項3のいずれか1項に記載の情報処理システム。
  5. 前記記憶媒体は、前記所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトであって前記アプリ用データおよび/または前記共用データが表すオブジェクトを立体的または平面的に表す外観を有する、請求項1から請求項4のいずれか1項に記載の情報処理システム。
  6. 前記記憶手段は、前記共用データとして、前記オブジェクトの識別情報、当該オブジェクトが属するグループの識別情報、記憶媒体毎に固有の識別情報、および、前記記憶媒体の種類を示す識別情報のうち少なくとも1つのデータを記憶する、請求項5に記載の情報処理システム。
  7. 前記情報処理装置は、ある記憶媒体との間で近距離無線通信が可能となった場合、当該記憶媒体が当該情報処理装置からのアクセスが許可される許可記憶媒体であるか否かを判定する判定手段を備え、
    前記受付手段は、近距離無線通信が可能となった記憶媒体が許可記憶媒体であると判定された場合、前記情報処理装置で実行されるアプリケーションプログラムからの前記指令に応じた処理を実行する、請求項1から請求項6のいずれか1項に記載の情報処理システム。
  8. 前記記憶媒体は、データの読み出しが可能でかつ書き込みが不可能な読み出し専用領域に前記共用データの少なくとも一部を記憶し、データの読み出しおよび書き込みが可能な読み書き可能領域に前記アプリ用データを記憶する、請求項1から請求項7のいずれか1項に記載の情報処理システム。
  9. 前記アプリ用データは、前記所定のアプリケーションプログラムのセーブデータである、請求項1から請求項8のいずれか1項に記載の情報処理システム。
  10. 記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムであって、
    前記記憶媒体は、所定のアプリケーションプログラムに登場するオブジェクトに関するデータであって、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する記憶手段を備え、
    前記情報処理装置は、
    前記所定のアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する第1処理を実行する第1処理手段と、
    前記所定のアプリケーションプログラムとは異なるアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する処理であって前記第1処理とは異なる第2処理を実行する第2処理手段とを備える、情報処理システム。
  11. 前記情報処理装置は、
    ある記憶媒体との間で近距離無線通信が可能となった場合、当該記憶媒体が当該情報処理装置で実行されるアプリケーションプログラムからのアクセスが許可される許可記憶媒体であるか否かを判定する判定手段と、
    近距離無線通信が可能となった記憶媒体が許可記憶媒体であると判定されたことを条件として、前記情報処理装置で実行されるアプリケーションプログラムにおける前記共用データの利用を許可する許可手段とをさらに備える、請求項10に記載の情報処理システム。
  12. 前記第1処理手段は、前記第1処理として、表示装置に前記オブジェクトを表示する処理を実行し、
    前記第2処理手段は、前記第2処理として、表示装置に前記オブジェクトを表示する処理であって前記第1処理と異なる処理を実行する、請求項10に記載の情報処理システム。
  13. 前記第2処理手段は、前記第2処理として、前記第1処理によって表示されるオブジェクトの表示態様とは異なる表示態様で当該オブジェクトを表示する処理を実行する、請求項10または請求項12に記載の情報処理システム。
  14. 前記第2処理手段は、前記所定のアプリケーションプログラムとは異なるゲームアプリケーションプログラムを実行する際に、前記第2処理として、ゲームの進行に影響を与えない処理を実行する、請求項10または請求項12に記載の情報処理システム。
  15. 前記記憶媒体は、前記共用データが表すオブジェクトを立体的または平面的に表す外観を有する、請求項10から請求項14のいずれか1項に記載の情報処理システム。
  16. 前記記憶媒体は、それに記憶されるデータの一部または全部に対するハッシュ値を記憶しており、
    前記判定手段は、前記記憶媒体から読み出したデータに基づいて算出されるハッシュ値と、当該記憶媒体から読み出したハッシュ値とに基づいて、前記記憶媒体が許可記憶媒体であるか否かを判定する、請求項7または請求項11に記載の情報処理システム。
  17. 記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムであって、
    前記記憶媒体は、
    前記情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有し、
    前記オブジェクトの第1識別情報と、当該オブジェクトが属するグループの第2識別情報とを記憶し、
    前記情報処理装置は、前記記憶媒体から読み出した前記第1識別情報を用いて所定の処理を実行し、前記記憶媒体から読み出した前記第2識別情報を用いて当該所定の処理を実行する、情報処理システム。
  18. 前記情報処理装置は、
    アプリケーションプログラムの実行中において、前記記憶媒体から読み出された第1識別情報が実行中のアプリケーションプログラムにおいて登録された値であるか否かを判定する第1判定手段と、
    前記記憶媒体から読み出された第2識別情報が前記実行中のアプリケーションプログラムにおいて登録された値であるか否かを判定する第2判定手段と、
    前記記憶媒体から読み出された第1識別情報および第2識別情報の少なくともいずれかが前記実行中のアプリケーションプログラムにおいて登録された値である場合、当該アプリケーションプログラムにおける前記所定の処理を実行する処理実行手段とを備える、請求項17に記載の情報処理システム。
  19. 前記所定の処理は、前記オブジェクトに関する処理であり、
    前記処理実行手段は、
    前記記憶媒体から読み出された第1識別情報が前記実行中のアプリケーションプログラムにおいて登録された値である場合、当該第1識別情報を用いて前記オブジェクトを特定し、
    前記記憶媒体から読み出された第1識別情報が前記実行中のアプリケーションプログラムにおいて登録された値ではなく、かつ、前記記憶媒体から読み出された第2識別情報が前記実行中のアプリケーションプログラムにおいて登録された値である場合、当該第2識別情報を用いて前記オブジェクトを特定する、請求項17または請求項18に記載の情報処理システム。
  20. 記憶媒体と近距離無線通信を行う情報処理装置であって、
    前記記憶媒体は、所定のアプリケーションプログラムで利用可能なアプリ用データと、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データとを記憶する記憶手段を備え、
    前記情報処理装置で実行されるアプリケーションプログラムから、前記記憶手段に対するデータの読み出しおよび/または書き込みに関する指令を受け付ける受付手段と、
    受け付けられた指令が前記アプリ用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であることを条件として、前記記憶手段から読み出した前記アプリ用データを当該所定のアプリケーションプログラムに渡す第1処理手段と、
    受け付けられた指令が前記共用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であるか否かにかかわらず、前記記憶手段から読み出した前記共用データを指令元のアプリケーションプログラムに渡す第2処理手段とを備える、情報処理装置。
  21. 記憶媒体と近距離無線通信を行う情報処理装置のコンピュータによって実行される情報処理プログラムであって、
    前記記憶媒体は、所定のアプリケーションプログラムで利用可能なアプリ用データと、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データとを記憶する記憶手段を備え、
    前記情報処理装置で実行されるアプリケーションプログラムから、前記記憶手段に対するデータの読み出しおよび/または書き込みに関する指令を受け付ける受付手段と、
    受け付けられた指令が前記アプリ用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であることを条件として、前記記憶手段から読み出した前記アプリ用データを当該所定のアプリケーションプログラムに渡す第1処理手段と、
    受け付けられた指令が前記共用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であるか否かにかかわらず、前記記憶手段から読み出した前記共用データを指令元のアプリケーションプログラムに渡す第2処理手段として前記コンピュータを機能させる、情報処理プログラム。
  22. 記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムにおいて実行される情報処理方法であって、
    前記記憶媒体は、所定のアプリケーションプログラムで利用可能なアプリ用データと、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データとを記憶する記憶手段を備え、
    前記情報処理装置で実行されるアプリケーションプログラムから、前記記憶手段に対するデータの読み出しおよび/または書き込みに関する指令を受け付ける受付ステップと、
    受け付けられた指令が前記アプリ用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であることを条件として、前記記憶手段から読み出した前記アプリ用データを当該所定のアプリケーションプログラムに渡す第1処理ステップと、
    受け付けられた指令が前記共用データに関する指令である場合、当該指令が前記所定のアプリケーションプログラムからの指令であるか否かにかかわらず、前記記憶手段から読み出した前記共用データを指令元のアプリケーションプログラムに渡す第2処理ステップとを備える、情報処理方法。
  23. 記憶媒体と近距離無線通信を行う情報処理装置であって、
    前記記憶媒体は、所定のアプリケーションプログラムに登場するオブジェクトに関するデータであって、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する記憶手段を備え、
    前記所定のアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する第1処理を実行する第1処理手段と、
    前記所定のアプリケーションプログラムとは異なるアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する処理であって前記第1処理とは異なる第2処理を実行する第2処理手段とを備える、情報処理装置。
  24. 記憶媒体と近距離無線通信を行う情報処理装置のコンピュータによって実行される情報処理プログラムであって、
    前記記憶媒体は、所定のアプリケーションプログラムに登場するオブジェクトに関するデータであって、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する記憶手段を備え、
    前記所定のアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する第1処理を実行する第1処理手段と、
    前記所定のアプリケーションプログラムとは異なるアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する処理であって前記第1処理とは異なる第2処理を実行する第2処理手段として前記コンピュータを機能させる、情報処理プログラム。
  25. 記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムにおいて実行される情報処理方法であって、
    前記記憶媒体は、所定のアプリケーションプログラムに登場するオブジェクトに関するデータであって、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶しており、
    前記情報処理装置は、
    前記所定のアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する第1処理を実行する第1処理ステップと、
    前記所定のアプリケーションプログラムとは異なるアプリケーションプログラムを実行する際に、前記記憶手段から読み出した前記共用データを用いることによって、出力装置に前記オブジェクトに関する情報を出力する処理であって前記第1処理とは異なる第2処理を実行する第2処理ステップとを実行する、情報処理方法。
  26. 記憶媒体と近距離無線通信を行う情報処理装置であって、
    前記記憶媒体は、
    前記情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有し、
    前記オブジェクトの第1識別情報と、当該オブジェクトが属するグループの第2識別情報とを記憶し、
    前記記憶媒体から読み出した前記第1識別情報を用いて所定の処理を実行する第1処理手段と、
    前記記憶媒体から読み出した前記第2識別情報を用いて前記所定の処理を実行する第2処理手段とを備える、情報処理装置。
  27. 記憶媒体と近距離無線通信を行う情報処理装置のコンピュータによって実行される情報処理プログラムであって、
    前記記憶媒体は、
    前記情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有し、
    前記オブジェクトの第1識別情報と、当該オブジェクトが属するグループの第2識別情報とを記憶し、
    前記記憶媒体から読み出した前記第1識別情報を用いて所定の処理を実行する第1処理手段と、
    前記記憶媒体から読み出した前記第2識別情報を用いて前記所定の処理を実行する第2処理手段として前記コンピュータを機能させる、情報処理プログラム。
  28. 記憶媒体と、当該記憶媒体と近距離無線通信を行う情報処理装置とを含む情報処理システムにおいて実行される情報処理方法であって、
    前記記憶媒体は、
    前記情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有し、
    前記オブジェクトの第1識別情報と、当該オブジェクトが属するグループの第2識別情報とを記憶し、
    前記情報処理装置は、前記記憶媒体から読み出した前記第1識別情報を用いて所定の処理を実行し、前記記憶媒体から読み出した前記第2識別情報を用いて当該所定の処理を実行する、情報処理方法。
  29. 情報処理装置と近距離無線通信を行う記憶媒体であって、
    前記情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有し、
    前記所定のアプリケーションプログラムで利用可能なアプリ用データと、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データとを記憶する記憶手段を備える、記憶媒体。
  30. 情報処理装置と近距離無線通信を行う記憶媒体であって、
    前記情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有し、
    前記記憶媒体は、所定のアプリケーションプログラムに登場するオブジェクトに関するデータであって、当該所定のアプリケーションプログラムであるか否かにかかわらず利用可能な共用データを記憶する記憶手段を備える、記憶媒体。
  31. 情報処理装置と近距離無線通信を行う記憶媒体であって、
    前記情報処理装置が所定のアプリケーションプログラムを実行することによって生成される仮想空間に登場するオブジェクトを立体的または平面的に表す外観を有し、
    前記オブジェクトの第1識別情報と、当該オブジェクトが属するグループの第2識別情報とを記憶する記憶手段を備える、記憶媒体。
JP2014223267A 2014-05-02 2014-10-31 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体 Active JP5897688B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2014223267A JP5897688B2 (ja) 2014-05-02 2014-10-31 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体
EP15165469.6A EP2939721B1 (en) 2014-05-02 2015-04-28 Information processing system, information processing device, information processing program, information processing method, and storage medium
US14/701,938 US9806770B2 (en) 2014-05-02 2015-05-01 Information processing system, information processing device, storage medium storing information processing program, information processing method, and storage device
US14/856,605 US9564949B2 (en) 2014-05-02 2015-09-17 Information processing system, information processing device, storage medium storing information processing program, and storage device
US15/229,792 US9647727B2 (en) 2014-05-02 2016-08-05 Information processing system, information processing device, storage medium storing information processing program, and storage device
US15/682,241 US10164686B2 (en) 2014-05-02 2017-08-21 Information processing system, information processing device, storage medium storing information processing program, information processing method, and storage device

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2014095029 2014-05-02
JP2014095029 2014-05-02
JP2014110879 2014-05-29
JP2014110879 2014-05-29
JP2014223267A JP5897688B2 (ja) 2014-05-02 2014-10-31 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016024567A Division JP6639259B2 (ja) 2014-05-02 2016-02-12 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体

Publications (2)

Publication Number Publication Date
JP2016006625A true JP2016006625A (ja) 2016-01-14
JP5897688B2 JP5897688B2 (ja) 2016-03-30

Family

ID=53015633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014223267A Active JP5897688B2 (ja) 2014-05-02 2014-10-31 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体

Country Status (3)

Country Link
US (4) US9806770B2 (ja)
EP (1) EP2939721B1 (ja)
JP (1) JP5897688B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10092831B2 (en) 2016-02-19 2018-10-09 Koei Tecmo Games Co., Ltd. Game system, game device and data processing apparatus

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445799B2 (en) 2004-09-30 2019-10-15 Uber Technologies, Inc. Supply-chain side assistance
US10514816B2 (en) 2004-12-01 2019-12-24 Uber Technologies, Inc. Enhanced user assistance
US10687166B2 (en) 2004-09-30 2020-06-16 Uber Technologies, Inc. Obtaining user assistance
US8358976B2 (en) 2006-03-24 2013-01-22 The Invention Science Fund I, Llc Wireless device with an aggregate user interface for controlling other devices
JP5961379B2 (ja) * 2011-12-28 2016-08-02 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
US11100434B2 (en) 2014-05-06 2021-08-24 Uber Technologies, Inc. Real-time carpooling coordinating system and methods
US9552559B2 (en) 2014-05-06 2017-01-24 Elwha Llc System and methods for verifying that one or more directives that direct transport of a second end user does not conflict with one or more obligations to transport a first end user
US10458801B2 (en) 2014-05-06 2019-10-29 Uber Technologies, Inc. Systems and methods for travel planning that calls for at least one transportation vehicle unit
US9483744B2 (en) 2014-05-06 2016-11-01 Elwha Llc Real-time carpooling coordinating systems and methods
US20170235970A1 (en) * 2016-02-11 2017-08-17 Daniel CONNER Scalable data verification with immutable data storage
FR3050053B1 (fr) * 2016-04-06 2018-05-04 L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude Procede de calcul de l'autonomie d'un ensemble de distribution de gaz
CN106778373A (zh) * 2017-01-10 2017-05-31 浙江大学 数据存储设备、数据保护系统及其使用方法
CN206585131U (zh) * 2017-03-14 2017-10-24 上海莫仕连接器有限公司 电连接器
CN107469352B (zh) * 2017-07-12 2021-06-08 福建天晴数码有限公司 游戏前端的资源缓存方法、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003135848A (ja) * 2001-10-31 2003-05-13 Seiko Epson Corp カードゲームシステムにおける非接触icカード、カードゲームシステム、並びに、カード置場
JP2006296874A (ja) * 2005-04-22 2006-11-02 Aruze Corp サーバ及び遊技機
JP2008079664A (ja) * 2006-09-26 2008-04-10 Namco Bandai Games Inc ゲームシステム及びプログラム

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255387A (en) 1990-04-27 1993-10-19 International Business Machines Corporation Method and apparatus for concurrency control of shared data updates and queries
US6256714B1 (en) 1998-09-02 2001-07-03 Sharp Laboratories Of America, Inc. Computer system with efficient memory usage for managing multiple application programs
JP2000163524A (ja) 1998-11-26 2000-06-16 Hitachi Maxell Ltd 非接触型情報記憶媒体情報処理システム
US7340439B2 (en) * 1999-09-28 2008-03-04 Chameleon Network Inc. Portable electronic authorization system and method
JP2001190843A (ja) 2000-01-13 2001-07-17 Namco Ltd ゲーム装置、ゲーム処理方法および記録媒体
US7081033B1 (en) 2000-03-07 2006-07-25 Hasbro, Inc. Toy figure for use with multiple, different game systems
US20020026572A1 (en) 2000-08-31 2002-02-28 Rafael Joory Reconfiguration incident to enabling an application access to setup information therefor
US20030093471A1 (en) 2001-10-18 2003-05-15 Mitch Upton System and method using asynchronous messaging for application integration
CA2494175C (en) 2002-08-08 2008-10-28 Bnc Ip Switzerland Gmbh Multi-frequency identification device
US7573370B2 (en) 2002-09-05 2009-08-11 Honeywell International Inc. Method and device for storing and distributing information in an RFID tag
JP4100160B2 (ja) 2002-12-12 2008-06-11 凸版印刷株式会社 Icカード及びicカードのデータ管理方法
US7614057B2 (en) 2003-03-28 2009-11-03 Microsoft Corporation Entity linking system
US7421700B2 (en) 2004-03-15 2008-09-02 Microsoft Corporation Interprocess buffer management using a buffer delay time
US20090055597A1 (en) 2004-06-09 2009-02-26 Javier Canis Robles Method and Device for Sharing Information Between Memory Parcels In Limited Resource Environments
US20060175753A1 (en) 2004-11-23 2006-08-10 Maciver Peter Electronic game board
US8161524B2 (en) * 2005-01-13 2012-04-17 Samsung Electronics Co., Ltd. Method and portable storage device for allocating secure area in insecure area
JP4745698B2 (ja) 2005-03-29 2011-08-10 富士通株式会社 統合システム
CN101128839B (zh) * 2005-03-30 2010-06-23 三星电子株式会社 使用密码的rfid标签读取系统及其方法
KR100738329B1 (ko) * 2005-09-23 2007-07-12 한국전자통신연구원 Rfⅰd 리더와 태그 간의 정보 보안 방법과 이를 위한rfⅰd 리더 및 태그
JP4128587B2 (ja) 2006-01-19 2008-07-30 株式会社スクウェア・エニックス ゲーム装置、ランキング情報作成方法、プログラム及び記録媒体
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
JP4137148B2 (ja) 2006-08-30 2008-08-20 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
JP2008073259A (ja) 2006-09-21 2008-04-03 Sony Computer Entertainment Inc ゲーム装置
KR100855701B1 (ko) * 2007-01-26 2008-09-04 엠텍비젼 주식회사 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법
JP4671198B2 (ja) 2007-01-26 2011-04-13 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US20080290994A1 (en) 2007-03-30 2008-11-27 Skyetek, Inc. Method For Cryptographically Combining HF and UHF RFID Tags/Smart Cards To Create A Single Multi-Use Credential
JP4640451B2 (ja) 2008-06-06 2011-03-02 ソニー株式会社 接触・非接触複合icカード、通信方法、プログラム及び通信システム
CA2675351C (en) 2008-10-08 2015-05-19 Research In Motion Limited Server for sending new application portions to mobile wireless communications devices and related methods
WO2010052722A1 (en) * 2008-11-10 2010-05-14 Walletex Microelectronics Ltd. Secure storage device
US8088012B2 (en) 2009-01-29 2012-01-03 Disney Enterprises, Inc. System and method for dynamic video game recap
JP4843060B2 (ja) 2009-02-05 2011-12-21 株式会社スクウェア・エニックス ゲーム装置、ゲームキャラクタの表示方法、ゲームプログラム及び記録媒体
US8151199B2 (en) 2009-02-09 2012-04-03 AltEgo, LLC Computational delivery system for avatar and background game content
EP2280580A1 (en) 2009-07-07 2011-02-02 Nokia Corporation Data transfer with wirelessly powered communication devices
JP5596320B2 (ja) 2009-09-07 2014-09-24 任天堂株式会社 情報処理プログラムおよび情報処理装置
US9073675B2 (en) 2009-10-26 2015-07-07 Lg Innotek Co., Ltd. Chipless RFID structure, cap, can and packaging material, stacked film for preventing forgery, method for fabricating the same; RFID tag, RFID system and method for controlling the same; certificate for chipless RFID and method for authenticating the same
US8864589B2 (en) * 2009-10-27 2014-10-21 Activision Publishing, Inc. Video game with representative physical object related content
FR2954551B1 (fr) 2009-12-21 2012-08-17 Commissariat Energie Atomique Dispositif d'echange de donnees sans contact securise entre un lecteur et une carte
JP6184658B2 (ja) 2010-08-20 2017-08-23 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
KR101492310B1 (ko) 2010-11-01 2015-02-11 닌텐도가부시키가이샤 조작 장치 및 정보 처리 장치
CN102638611B (zh) 2011-02-15 2014-10-22 Lg电子株式会社 发送和接收数据的方法以及使用该方法的显示装置
JP5689014B2 (ja) 2011-04-07 2015-03-25 任天堂株式会社 入力システム、情報処理装置、情報処理プログラム、および3次元位置算出方法
JP5745340B2 (ja) 2011-06-02 2015-07-08 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、および画像生成方法
EP2600275A1 (en) 2011-12-02 2013-06-05 Nxp B.V. Method for accessing a secure storage, secure storage and system comprising the secure storage
US9767446B2 (en) 2012-07-19 2017-09-19 Mastercard International Incorporated Touch screen system and methods for multiple contactless payments
JP6164813B2 (ja) 2012-09-19 2017-07-19 株式会社バンダイナムコエンターテインメント プログラム、記憶媒体およびゲーム装置
US9039532B2 (en) 2012-10-31 2015-05-26 Activision Publishing, Inc. Interactive video game with toys having functionality that is unlocked through game play
US9489925B2 (en) 2013-01-04 2016-11-08 Texas Instruments Incorporated Using natural movements of a hand-held device to manipulate digital content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003135848A (ja) * 2001-10-31 2003-05-13 Seiko Epson Corp カードゲームシステムにおける非接触icカード、カードゲームシステム、並びに、カード置場
JP2006296874A (ja) * 2005-04-22 2006-11-02 Aruze Corp サーバ及び遊技機
JP2008079664A (ja) * 2006-09-26 2008-04-10 Namco Bandai Games Inc ゲームシステム及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10092831B2 (en) 2016-02-19 2018-10-09 Koei Tecmo Games Co., Ltd. Game system, game device and data processing apparatus

Also Published As

Publication number Publication date
US20170346532A1 (en) 2017-11-30
US20160342353A1 (en) 2016-11-24
JP5897688B2 (ja) 2016-03-30
EP2939721B1 (en) 2019-10-16
US9806770B2 (en) 2017-10-31
EP2939721A1 (en) 2015-11-04
US20160006486A1 (en) 2016-01-07
US10164686B2 (en) 2018-12-25
US9647727B2 (en) 2017-05-09
US9564949B2 (en) 2017-02-07
US20150317100A1 (en) 2015-11-05

Similar Documents

Publication Publication Date Title
JP5897688B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体
JP6649453B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体
KR20180072389A (ko) 액세서리에 대응하는 콘텐트를 제공하기 위한 방법 및 그 전자 장치
KR20170035294A (ko) 전자 장치 및 이의 보안을 제공하는 결제 방법
US9985696B2 (en) Information processing system, information processing apparatus, storage medium having stored therein information processing program, and information processing method
JP2014235755A (ja) アクセス制御システム
JP6171793B2 (ja) 電子情報利用許諾装置、システム、方法及びプログラム
JP2012033148A (ja) 情報処理装置、情報処理方法およびプログラム
JP2013050930A (ja) 携帯端末、認証方法、認証プログラム及び認証システム
JP6639080B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、情報処理方法、および、記憶媒体
JP5889465B1 (ja) 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理装置の制御方法
JP6406902B2 (ja) コンテンツデータ制御システム
JP6670551B2 (ja) 情報処理システム、情報処理プログラムおよび情報処理装置の制御方法
JP6122521B2 (ja) 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理装置の制御方法
JP6662561B2 (ja) 情報処理方法、情報処理装置、認証サーバ装置及び確認サーバ装置
JP6716669B2 (ja) 情報処理装置及び情報処理方法
JP6163364B2 (ja) 通信システム
CN115017927A (zh) 卡片模拟方法、电子设备及存储介质
JP2017192639A (ja) 通信ゲームシステム
JP2010061233A (ja) データ読出装置およびデータ記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150507

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150820

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160302

R150 Certificate of patent or registration of utility model

Ref document number: 5897688

Country of ref document: JP

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