JP2010286935A - System and method for writing data to ic tag - Google Patents
System and method for writing data to ic tag Download PDFInfo
- Publication number
- JP2010286935A JP2010286935A JP2009138776A JP2009138776A JP2010286935A JP 2010286935 A JP2010286935 A JP 2010286935A JP 2009138776 A JP2009138776 A JP 2009138776A JP 2009138776 A JP2009138776 A JP 2009138776A JP 2010286935 A JP2010286935 A JP 2010286935A
- Authority
- JP
- Japan
- Prior art keywords
- data
- tag
- business
- area
- write
- 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
Links
Images
Abstract
Description
本発明は,ICタグに対するデータの書込処理に関する。 The present invention relates to a data writing process for an IC tag.
近年,物流分野をはじめとする種々の業界において,ICタグを利用した効率的な業務処理システムや物品管理システムの導入が検討されている。ICタグは,データが書き込まれたICチップとアンテナで構成されており,UHF帯などの電波を利用して,接触することなくデータの送受信が可能である。バーコードよりも多くの情報を表現することが可能であり,かつ離れた位置から情報を読み取ることが可能であるため,物流業界などでは,従来のバーコードに代わる管理手段として検討が進められている。また,ICカードに比べて低価格での生産が可能であるため,電車の乗車券や娯楽施設の入場券など,使い捨て可能なチケットへの利用可能性も検討されている。 In recent years, introduction of an efficient business processing system and article management system using an IC tag has been examined in various industries including the physical distribution field. An IC tag is composed of an IC chip and an antenna in which data is written, and can transmit and receive data without contact using radio waves such as a UHF band. Since it is possible to express more information than a barcode and it is possible to read the information from a distant location, the logistics industry has been studying as a management means to replace the conventional barcode. Yes. In addition, since it can be produced at a lower price than an IC card, the possibility of using it for a disposable ticket such as a train ticket or an admission ticket for an amusement facility is also being studied.
こうした業務での利用においては,改札機などの業務アプリケーションが,ICタグから読み込んだデータの一部を変更し,変更後のデータをICタグへ書き込む処理が多く発生すると想定される。例えば,ICタグを電車の乗車券に利用する場合,乗客の入場時には,自動改札機がICタグ内のデータを読み込み,乗車券の有効性を確認した後に,入場駅の情報等を格納したデータでタグ内のメモリを更新する。また,乗客の出場時には,自動改札機がICタグ内のデータを読み込み,乗客が有効な入場駅,入場時刻から入場済みであることを確認した後,出場情報を書き込んだデータでタグ内のメモリを更新する。 In such business use, it is assumed that business applications such as ticket gates often change a part of data read from an IC tag and write the changed data to the IC tag. For example, when an IC tag is used for a train ticket, when the passenger enters, the automatic ticket checker reads the data in the IC tag and checks the validity of the ticket, and then stores information such as information on the entry station. To update the memory in the tag. Also, when passengers enter, the automatic ticket gate reads the data in the IC tag, confirms that the passenger has entered from the valid entry station and entry time, and then enters the entry information into the memory in the tag. Update.
ところで,ICタグへデータを書き込む場合には,ICタグに対してデータの書き込みを要求する特定のコマンドを送信する必要がある。ICタグの仕様を定めるISO18000−6 Type Cでは,データの書込を指示する手段として,2バイトのデータを指定のアドレスへ書き込むためのWriteコマンドと,連続したデータを指定のアドレスへ書き込むためのBlockWriteコマンドの2つが規定されているが,当該コマンドの使用には,以下に述べる制限が加えられている。Writeコマンドを用いてデータを書き込む場合には,一度のコマンド/レスポンスで2バイトしか書き込むことができない。また,BlockWriteコマンドは2バイト以上のデータを書き込むことが可能だが,一度のコマンド/レスポンスでは,メモリ上で連続したデータしか書き込むことができない。したがって,メモリ上で分散配置されたデータを書き込む場合,複数回のコマンド/レスポンスが発生し,処理の完遂までに長い時間を要することが懸念される。 By the way, when writing data to the IC tag, it is necessary to send a specific command for requesting data writing to the IC tag. In ISO 18000-6 Type C, which defines the specifications of IC tags, as a means for instructing data writing, a Write command for writing 2-byte data to a specified address and a command for writing continuous data to a specified address Two BlockWrite commands are defined, but the following restrictions are added to the use of the commands. When writing data using the Write command, only 2 bytes can be written in one command / response. The BlockWrite command can write data of 2 bytes or more, but can write only continuous data on the memory with a single command / response. Therefore, when writing data distributed in the memory, there is a concern that a plurality of commands / responses may occur and it takes a long time to complete the processing.
また,ICタグはそれ自体に駆動電源を持たず,リーダ/ライタによる電磁誘導によって電力を供給されて駆動する。そのため,ICチップ内のメモリとしてはEEPROM(Electrically Erasable and Programmable ROM)等の不揮発性メモリが用いられる。この種の不揮発性メモリは,一般に消去処理や書込処理に時間がかかることが知られている。 Further, the IC tag does not have a driving power supply itself, and is driven by being supplied with electric power by electromagnetic induction by a reader / writer. Therefore, a nonvolatile memory such as an EEPROM (Electrically Erasable and Programmable ROM) is used as the memory in the IC chip. It is known that this type of nonvolatile memory generally takes time for erasure processing and writing processing.
上述した業務処理では,高速な処理が要求されることが多い。例えば,ICタグを電車の乗車券として用いた場合,自動改札機で乗客を混雑させないために,数百ミリ秒での高速処理が要求される。また,ライン上を流れる物品に貼り付けられたタグへ,完了した処理の情報を追記していく場合にも,同様の高速性が要求される。したがって,ICタグに対する書込処理の長さは,ICタグを利用した業務処理や物品管理などに支障を及ぼす可能性がある。 In the business processing described above, high-speed processing is often required. For example, when an IC tag is used as a train ticket, high-speed processing in a few hundred milliseconds is required so as not to crowd passengers with an automatic ticket gate. The same high speed is required when information on completed processing is added to a tag attached to an article flowing on the line. Therefore, the length of the writing process with respect to the IC tag may interfere with business processing and article management using the IC tag.
ICタグへの書込処理を高速化するために,業務アプリケーションが,書き換えが必要なデータに限って書込処理を要求することで,書込コマンド(Write コマンドやBlockWriteコマンドなど)の実行回数を減らし,処理完遂に要するコマンド/レスポンスの回数を削減する方法が知られている。 In order to speed up the writing process to the IC tag, the business application requests the writing process only for the data that needs to be rewritten, thereby reducing the number of executions of the write command (Write command, BlockWrite command, etc.). There is a known method for reducing the number of commands / responses required to complete the processing.
また,メモリへの書き込み時間を短縮するために,メモリの書込特性を利用する方法が知られている(例えば,特許文献1参照)。EEPROMなどの不揮発性メモリは,複数バイトからなるページ単位ならば,消去書き込み動作を一括して行うことが可能である,という特性をもつ。特許文献1では,メモリ上で分散配置されたデータに対して書込要求が発生した場合に,メモリ上のデータ配置を並び換えることで,可能な限りページ単位でデータを書き込み,処理の回数を削減する技術が提案されている。当該技術では,書込要求を受けたアドレス(論理アドレス)と,メモリ上の実際のアドレス(実アドレス)の対応表を管理することで,書込の度にデータの配置を変更することを可能としている。
In addition, in order to shorten the writing time to the memory, a method using the writing characteristic of the memory is known (for example, see Patent Document 1). A nonvolatile memory such as an EEPROM has a characteristic that an erasing / writing operation can be performed collectively in a unit of a page composed of a plurality of bytes. In
業務アプリケーションが,書き換えが必要なデータに限って書込処理を要求する場合には,書込データの位置や範囲を指定するために,ICタグ内のメモリに,データがどのように配置されているかを把握している必要がある。このため,ICタグの仕様が変更され,メモリのデータ配置が変更された場合に業務アプリケーションの改修を要し,システム全体の管理に係る負担が増大する可能性がある。 When a business application requests a write process only for data that needs to be rewritten, how the data is arranged in the memory in the IC tag to specify the position and range of the write data It is necessary to know whether or not For this reason, when the specification of the IC tag is changed and the data arrangement of the memory is changed, it is necessary to modify the business application, and there is a possibility that the burden on management of the entire system increases.
また,特許文献1に記載の技術では,ICタグ毎に論理アドレスと実アドレスを対応付けるためのリンク・テーブルと呼ばれる対応表が無ければ,ICタグ内のデータを正しく読み書きすることができない。リンク・テーブルの管理をタグ自体に行わせることは,ICカードに比べて計算能力やメモリ容量に制限のあるICタグの場合には困難である。一方,リンク・テーブルを業務アプリケーションで管理する場合,各タグのリンク・テーブルを,そのタグを処理する可能性のある全ての業務アプリケーションで共有しなければならない。また,ICタグのメモリ内データ配置が変更される度に,共有されている当該タグのリンク・テー
ブル全てを更新する必要が発生する,という課題がある。
In the technique described in
本発明は,上記の事情を鑑みてなされたものであり,ICタグの仕様変更に伴う業務アプリケーションの改修頻度や,業務アプリケーション間で共有する情報の更新頻度を抑えながら,計算能力やメモリ容量に制限のあるICタグに対して,データ書込処理を高速化するための装置,方法,プログラムを提供する。 The present invention has been made in view of the above circumstances, and it is possible to reduce the calculation frequency and memory capacity of the business application while suppressing the frequency of revising the business application accompanying the change in the IC tag specifications and the frequency of updating the information shared between business applications. An apparatus, method, and program for speeding up data writing processing are provided for limited IC tags.
具体的には,ICタグに対するデータ書込コマンドを発行する前に,直前にICタグから読み込んだデータと,これから書き込もうとするデータの差分を取り,書き換えの発生したデータに限定して書込要求コマンドを発行することで,書込要求コマンドの総実行回数を削減する。 Specifically, before issuing the data write command for the IC tag, the difference between the data read from the IC tag immediately before and the data to be written is taken, and the write request is limited to the data that has been rewritten. Issuing commands reduces the total number of write request commands executed.
そして,ICタグ内の記憶領域を,各データの初期値を格納する基本領域と,新たに書き換えられたデータを格納する追記領域の2つに分割し,新たにデータを書き込む際には,書き込み対象のデータそれぞれに識別のための識別符号を付加した後,メモリ上で連続するように追記領域の末尾へ書込を行うことで,書込要求データを一回の連続領域書込コマンド(ISO18000−6 Type CのBlockWrite相当のコマンド)で実現。 Then, the storage area in the IC tag is divided into two areas: a basic area for storing the initial value of each data and an additional recording area for storing newly rewritten data. After adding an identification code for identification to each target data, writing is performed to the end of the additional write area so as to be continuous on the memory, whereby the write request data is sent to a single continuous area write command (ISO 18000). -6 Realized with Type C BlockWrite command).
ここで,ICタグ内の追記領域に格納された実データと,業務データとの対応付けを管理するために,本発明では,ICタグ内に格納する識別符号と,各ミドルウェア装置間で共有する対応管理テーブルと符号管理テーブルの組み合わせを利用する。 Here, in order to manage the association between the actual data stored in the additional write area in the IC tag and the business data, in the present invention, the identification code stored in the IC tag and each middleware device are shared. A combination of correspondence management table and code management table is used.
本発明によれば,ICタグの仕様変更に伴う業務アプリケーションの改修頻度や,業務アプリケーション間で共有する情報の更新頻度を抑えることができ,データ書込処理を高速化できる。 According to the present invention, it is possible to suppress the frequency of revising business applications accompanying changes in IC tag specifications and the frequency of updating information shared between business applications, thereby speeding up the data writing process.
以下,図面を用いて本発明の実施の形態について説明する。なお,これにより本発明が限定されるものではない。 Embodiments of the present invention will be described below with reference to the drawings. Note that the present invention is not limited thereby.
図1は,本発明の一実施形態であるRFIDシステム10の概略図である。
FIG. 1 is a schematic diagram of an
図示するように,RFIDシステム10は,業務アプリケーション装置1−1〜1−n(nは1以上の自然数)と,ミドルウェア装置2−1〜2−nと,リーダ/ライタ装置3−1〜3−nと,ICタグ4と,を備える。リーダライタ装置3−i(iは1以上n以下の自然数)とICタグ4は,UHF 帯などの無線を用いて相互に通信を行う。また,ミドルウェア装置2−iとリーダライタ装置3−iは,USBやネットワークを介して相互に通信を行う。また,業務アプリケーション装置1−iとミドルウェア装置2−iは,USBやネットワークを介して相互に通信を行って良い。また,ミドルウェア装置2−iがソフトウェアとして業務アプリケーション装置1−iの内部に含まれる場合には,装置内部の信号線を用いて相互に通信を行っても良い。
As illustrated, the
図2は,業務アプリケーション装置1と,ミドルウェア装置2と,リーダライタ装置3と,ICタグ4と,の機能構成の例を示す概略図である。ここで,業務アプリケーション装置1と,ミドルウェア装置2と,リーダライタ装置3と,は,それぞれ業務アプリケーション装置1−1〜1−nと,ミドルウェア装置2−1〜2−nと,リーダライタ装置3−1〜3−nに共通する構造を記している。
FIG. 2 is a schematic diagram illustrating an example of the functional configuration of the
図示するように,業務アプリケーション装置1は,業務処理部101と,ミドルウェア通信部102と,を備える。
As illustrated, the
業務処理部101は,業務アプリケーションの担当する業務を処理する。例えば,自動改札機では,ICタグから読み取った乗車券データの検証や,改札時の時刻,設置される駅などの情報に基づいて,データの上書きを指示する,といった処理が考えられる。 The business processing unit 101 processes a business in charge of a business application. For example, in an automatic ticket gate, processing such as verification of ticket data read from an IC tag and instructing overwriting of data based on information such as the time at the ticket gate and the installed station can be considered.
ミドルウェア通信部102は,ミドルウェア装置2との間でのデータの送受信を制御する。例えば,ミドルウェア通信部102としては,TCP/IP通信を可能とするプロトコルスタックや,プロセス間通信を可能とするモジュールなどが考えられる。
The
ミドルウェア装置2は,アプリケーション通信部201と,アプリケーションコマンド処理部202と,データ変換部203と,差分計算部204と,追記領域末尾ポインタ205と,業務データ差分バッファ2061と,業務データ書込バッファ2062と,業務データ読込バッファ2063と,基本領域書込バッファ2064と,基本領域読込バッファ2065と,追記領域書込バッファ2066と,追記領域読込バッファ2067と,対応管理テーブル207と,符号管理テーブル208と,ICタグコマンド処理部209と,リーダライタ通信部210と,を備える。
The
アプリケーション通信部201は,業務アプリケーション装置1との間でのデータの送受信を制御する。例えば,アプリケーション通信部201としては,TCP/IP通信を可能とするプロトコルスタックや,プロセス間通信を可能とするモジュールなどが考えられる。
The
アプリケーションコマンド処理部202は,業務アプリケーション装置1からアプリケーション通信部201を介して受信したアプリケーションコマンドのデコード処理や,業務アプリケーション装置1へ送信するアプリケーションレスポンスのエンコード処理を実行する。アプリケーションコマンドは,業務アプリケーション装置1がICタグ4に対してデータの読み書き等を指示するために用いるコマンドで,アプリケーションレスポンスは,アプリケーションコマンドの実行結果や,ICタグから読み取ったデータの内容を含み,業務アプリケーション装置1に対して送信されるメッセージである。
The application command processing unit 202 executes a decoding process of an application command received from the
データ変換部203は,アプリケーションコマンド処理部202によってデコードされたアプリケーションコマンドの内容に応じて,各種のバッファ2061〜2067に対するデータの読み書きや,対応管理テーブル207および符号管理テーブル208からのデータ取得や,差分計算部204に対する差分計算の実行要求などを行った後,ICタグコマンド処理部209に対してICタグコマンドの実行を要求し,ICタグ4に対するデータの読み書きを実行する。
The data conversion unit 203 reads / writes data from / to various buffers 2061 to 2067 according to the contents of the application command decoded by the application command processing unit 202, acquires data from the correspondence management table 207 and the code management table 208, After making a difference calculation execution request to the
また,データ変換部203は,ICタグコマンド処理部209から,リーダライタ3経由でICタグ4からの応答が受信されたことを通知されると,応答の内容に応じて各種のバッファ2061〜2067に対するデータの読み書きや,対応管理テーブル207および符号管理テーブル208からのデータ取得などを行った後,アプリケーション通信部201を介して,業務アプリケーション装置1に対してアプリケーションレスポンスを送信する。
When the data conversion unit 203 is notified from the IC tag
差分計算部204は,業務データ書込バッファ2062に格納されたデータと,業務データ読込バッファ2063に格納されたデータと,の差分(異なっているデータの抽出)を計算し,結果を業務データ差分バッファ2061へ格納する。
The
追記領域末尾ポインタ205は,ICタグ4内の追記領域4032の末尾のアドレスを含み,ICタグ毎にその値を対応付けて格納する。
The additional write area end pointer 205 includes the end address of the additional write area 4032 in the
業務データ差分バッファ2061は,上述したように,差分計算部204によって計算された差分データを格納するための記憶領域である。バッファの構造は後述する業務データ書込バッファ2062と同様であるため,説明を省略する。
The business data difference buffer 2061 is a storage area for storing the difference data calculated by the
業務データ書込バッファ2062は,業務アプリケーション装置1から受信した書込アプリケーションコマンドに含まれる書込対象業務データを一時的に格納するための記憶領域である。業務データ書込バッファ2062の一例について,図3を用いて説明する。
The business data write buffer 2062 is a storage area for temporarily storing write target business data included in the write application command received from the
図3は,業務データ書込バッファ2062の一例を示した図である。図3に示すように,業務データ書込バッファ2062はテーブル型のデータ構造を取る。各レコード(行)には,「データ名」フィールド2062−1と,「データ」フィールド2062−2が定義されている。「データ名」フィールド2062−1には,業務アプリケーション装置1から受信した書込対象業務データの名前を含み,「データ」フィールド2062−2には,当該業務データの内容が格納される。なお,以後,業務データ書込バッファ2062内で「データ名」フィールド2062−1に値Xを持つ行を,業務データ書込バッファ2062のX行,と呼ぶこととする。
FIG. 3 is a diagram showing an example of the business data write buffer 2062. As shown in FIG. 3, the business data write buffer 2062 has a table type data structure. In each record (row), a “data name” field 2062-1 and a “data” field 2062-2 are defined. The “data name” field 2062-1 includes the name of the business data to be written received from the
業務データ読込バッファ2063は,読込アプリケーションコマンドを実行した後,業務アプリケーション装置1へレスポンスとして返却する業務データを,一時的に格納するための記憶領域である。業務データ読込バッファ2063のデータ構造は,業務データ書込バッファ2062と同様のため,説明を省略する。
The business data reading buffer 2063 is a storage area for temporarily storing business data to be returned as a response to the
基本領域書込バッファ2064は,ICタグ4のデータ記憶部403内の基本領域4031へ書き込む予定のデータを一時的に格納するための記憶領域である。
The basic area write buffer 2064 is a storage area for temporarily storing data to be written to the basic area 4031 in the data storage unit 403 of the
基本領域読込バッファ2065は,ICタグ4のデータ記憶部403内の基本領域4031から読み込んだデータを一時的に格納するための記憶領域である。
The basic area reading buffer 2065 is a storage area for temporarily storing data read from the basic area 4031 in the data storage unit 403 of the
追記領域書込バッファ2066は,ICタグ4のデータ記憶部403内の追記領域4032へ書き込む予定のデータを一時的に格納するための記憶領域である。
The additional write area write buffer 2066 is a storage area for temporarily storing data to be written to the additional write area 4032 in the data storage unit 403 of the
追記領域読込バッファ2067は,ICタグ4のデータ記憶部403内の追記領域4032から読み込んだデータを一時的に格納するための記憶領域である。
The additional write area reading buffer 2067 is a storage area for temporarily storing data read from the additional write area 4032 in the data storage unit 403 of the
各バッファ2061〜2067に格納されるデータの値は,後述する処理フローを実施する中で,ミドルウェア装置2−1〜2−nそれぞれによって異なるも
のとなる。
The value of data stored in each of the buffers 2061 to 2067 differs depending on the middleware devices 2-1 to 2-n during execution of the processing flow described later.
対応管理テーブル207は,業務アプリケーション装置1が扱う業務データと,その業務データが基本領域4031上のどの位置に記載されるかを示すオフセットと,その業務データのサイズ,の3つの値を対応付けるテーブルである。対応管理テーブル207に含まれる値は,ミドルウェア装置2−1〜2−n間で同じものを,RFIDシステム10の運用開始前に共有しておく。対応管理テーブル207の一例について,図4を用いて説明する。
The correspondence management table 207 is a table for associating three values: business data handled by the
図4は,対応管理テーブル207の一例を示した図である。対応管理テーブル207は,各レコード(行)に対して,「データ名」フィールド207−1と,「オフセット」フィールド207−2と,「データ長」フィールド207−3と,が定義されている。「データ名」フィールド207−1には,業務アプリケーション装置1が扱う業務データの名前が格納され,同じレコード(行)内の「オフセット」フィールド207−2には,当該業務データが基本領域4031内のどの位置に格納されるかを示す物理アドレス値が格納される。また,同じレコード内の「データ長」フィールド208−3には,当該業務データがデータ記憶部403内で占めるデータサイズが格納される。
FIG. 4 is a diagram illustrating an example of the correspondence management table 207. In the correspondence management table 207, a “data name” field 207-1, an “offset” field 207-2, and a “data length” field 207-3 are defined for each record (row). The “data name” field 207-1 stores the name of the business data handled by the
符号管理テーブル208は,業務アプリケーション装置1が扱う業務データと,その業務データのデータ長と,追記領域4032へ当該業務データを書き込む際に利用する識別符号と,の組を対応付けるテーブルである。符号管理テーブル208に含まれる値は,ミドルウェア装置2−1〜2−n間で同じものを,RFIDシステム10の運用開始前に共有しておく。符号管理テーブル208の一例について,図5を用いて説明する。
The code management table 208 is a table that associates a set of business data handled by the
図5は,符号管理テーブル208の一例を示した図である。符号管理テーブル208は,各レコード(行)に対して,「データ名」フィールド208−1と「識別符号」フィールド208−2と,が定義されている。「データ名」フィールド208−1には,業務アプリケーション装置1が扱う業務データの名前が格納され,同じレコード(行)内の「識別符号」フィールド208−2には,当該業務データがICタグ4の追記領域4032内に書き込まれる際,当該業務データとともに書き込まれる識別のための符号が格納される。「データ名」NULLに対応する「識別符号」c0は,追記領域内でのデータの終端を示すために使用する特別な識別符号である。
FIG. 5 is a diagram showing an example of the code management table 208. In the code management table 208, a “data name” field 208-1 and an “identification code” field 208-2 are defined for each record (row). The “data name” field 208-1 stores the name of the business data handled by the
本実施例では,識別符号として用いる符号の種類について制限を加えない。固定長の符号と可変長の符号のどちらを用いてもよいが,個々のデータの書き換え頻度がある程度正確に予測できている場合には,書き換え頻度に基づいたハフマン符号などの可変長符号を利用することで,符号がデータ記憶部403内に占める割合を減らすことができ,有効となる可能性がある。 In this embodiment, no limitation is imposed on the type of code used as the identification code. Either a fixed-length code or a variable-length code can be used, but if the rewrite frequency of each data can be predicted to a certain degree of accuracy, a variable-length code such as a Huffman code based on the rewrite frequency is used. By doing so, the proportion of the code in the data storage unit 403 can be reduced, which may be effective.
ICタグコマンド処理部209は,データ変換部203から要求を受けたICタグコマンドを実行するために,リーダライタ通信部210を介してリーダライタ装置3へICタグコマンドを送信する。また,リーダライタ通信部210を介して受信したICタグレスポンスを,データ変換部203へ通知する。ICタグコマンドは,リーダライタ装置3がICタグ4に対してデータの読み書き等を指示するために用いるコマンドで,ICタグレスポンスは,ICタグコマンドの実行結果や,ICタグから読み取ったデータの内容を含むメッセージである。
The IC tag
リーダライタ通信部210は,リーダライタ装置3との間でのデータの送受信を制御する。例えば,USBデバイスを制御するデバイスドライバや,TCP/IP通信を可能とするプロトコルスタックなどが考えられる。
The reader / writer communication unit 210 controls transmission / reception of data to / from the reader /
リーダライタ装置3は,ミドルウェア通信部301と,ICタグ通信部302と,を備える。
The reader /
ミドルウェア通信部301は,ミドルウェア装置2との間でのデータの送受信を制御する。例えば,USBデバイスを制御するデバイスドライバや,TCP/IP通信を可能とするプロトコルスタックなどが考えられる。
The middleware communication unit 301 controls data transmission / reception with the
ICタグ通信部302は,ICタグ4との間でのデータの送受信を制御する。例えば,通信に使う周波数の変更や,アンテナの出力制御や,変調によるICタグコマンドの送信制御や,ICタグレスポンスの受信制御などを行う。
The IC tag communication unit 302 controls data transmission / reception with the
ICタグ4は,リーダライタ通信部401と,コマンド処理部402と,データ記憶部403と,を備える。
The
リーダライタ通信部401は,リーダライタ装置3との間でのデータの送受信を制御する。例えば,通信に使う周波数の変更や,アンテナの出力制御や,変調によるICタグレスポンスの送信制御や,ICタグコマンドの受信制御などを行う。
The reader / writer communication unit 401 controls data transmission / reception with the reader /
コマンド処理部402は,リーダライタ装置3からリーダライタ通信部401を介して受信したICタグコマンドのデコード処理や,リーダライタ装置3へ送信するICタグレスポンスのエンコード処理を実行する。
The command processing unit 402 executes decoding processing of an IC tag command received from the reader /
データ記憶部403は,ICタグ4固有のデータを格納し,コマンド処理部402によってデコードされたコマンドの内容によって,データの書込と,消去と,読込と,等を制御する。データ記憶部403は,基本領域4031と追記領域4032とで構成される。
The data storage unit 403 stores data unique to the
ここで,ミドルウェア装置2のICタグコマンド処理部209は,データ記憶部403に対して読み書きされるデータが,基本領域4031と追記領域4032のどちらに属するデータであるかを判別可能であるとする。このことは例えば,基本領域4031と追記領域4032のそれぞれがデータ記憶部403中に占める割合や,そのメモリ上の位置に関する情報を,各ミドルウェア装置2間で事前共有することで実現できる。
Here, it is assumed that the IC tag
基本領域4031は,ICタグ4の初期化時にデータを書き込まれる領域である。
The basic area 4031 is an area in which data is written when the
また,追記領域4032は,ICタグ4の初期化後,データの書き換えが発生した際に,データを書き込まれる領域である。基本領域4031と追記領域4032とは,データ記憶部内で異なるメモリを用いて実現されていても良いし,連続した領域を仮想的に切り離したものでも良い。
The additional recording area 4032 is an area in which data is written when data is rewritten after the
以上に記載した業務アプリケーション装置1と,ミドルウェア装置2と,リーダライタ装置3とは,例えば,図6(コンピュータ9の概略図)に示すような,CPU(Central Processing Unit)901と,メモリ902と,HDD(Hard Disk Drive)等の外部記憶装置903と,CD−ROM(Compact Disk Read Only Memory)やDVD−ROM(Digital Versatile Disk Read Only Memory)などの可搬性を有する記憶媒体904から情報を読み出す読取装置905と,キーボードやマウス等の入力装置906と,ディスプレイなどの出力装置907と,通信ネットワークに接続するためのNIC(Network Interface Card)などの送受信装置908と,を備えた一般的なコンピュータ9で実現できる。例えば,各種バッファ2061〜2067やデータ記憶部403は,CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能である。また,業務処理部101やデータ変換部203等,特定の処理や制御を行う機能については,外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能である。また,リーダライタ通信部210等,通信制御を行う機能については,CPU901が送受信装置908を利用することで実現可能である。この所定のプログラムは,読取装置905を介して記憶媒体904から,あるいは,送受信装置908を介してネットワークから,外部記憶装置903にダウンロードされ,それから,メモリ902上にロードされてCPU901により実行されるようにしてもよい。また,読取装置905を介して記憶媒体904から,あるいは,送受信装置908を介してネットワークから,メモリ902上に直接ロードされ,CPU901により実行されるようにしてもよい。
The
次に,図7から図12を用いて,業務アプリケーション装置1−1により初期化されたICタグ4が,別の業務アプリケーション装置1−2によってデータを読み書きされる場合のシーケンスについて説明する。
Next, a sequence when the
図7は,業務アプリケーション装置1−1がICタグ4の初期化を行う場合のシーケンスを記載した図である。
FIG. 7 is a diagram describing a sequence in a case where the business application apparatus 1-1 initializes the
ICタグを乗車券として利用する場合,当該シーケンスは,発券機(業務アプリケーション装置)による発券シーケンスに対応する。すなわち,データが書き込まれていない,発券前の乗車券ICタグに対して,その発券機が設置された駅の情報や,発券時刻や,当該乗車券の有効範囲,有効期限などを,ICタグ内のデータ記憶領域に書き込むシーケンスに対応する。 When the IC tag is used as a ticket, the sequence corresponds to a ticket issuing sequence by a ticket issuing machine (business application device). That is, with respect to a ticket IC tag before ticketing in which data is not written, information on the station where the ticketing machine is installed, ticketing time, valid range of the ticket, expiration date, etc. Corresponds to the sequence of writing in the data storage area.
業務アプリケーション装置1−1は,ユーザから入出力装置を介して初期化要求操作を受け付けると,ミドルウェア通信部102が,ミドルウェア装置2−1に対して初期化要求アプリケーションコマンドを送信する(S101)。当該コマンドには,パラメータとして,当該業務アプリケーション装置1−1に関連する設定情報が含まれる。乗車券の発券業務の場合,当該パラメータには,業務アプリケーション装置が設置された駅の情報や,発券時刻や,当該乗車券の有効範囲,有効期限などが含まれる。
When the business application apparatus 1-1 receives an initialization request operation from the user via the input / output device, the
ミドルウェア装置2−1は,装置内のアプリケーション通信部201が,業務アプリケーション装置1−1から送信された初期化要求アプリケーションコマンドを受信すると,受け取ったパラメータ内の業務データを,ICタグへ書き込むための処理を実行する(初期化前処理,S102)。
When the
以下,当該処理S102の詳細について,図8を用いて説明する。 Hereinafter, details of the processing S102 will be described with reference to FIG.
図8は,ミドルウェア装置2による初期化処理の詳細を表したフローチャートである。
FIG. 8 is a flowchart showing details of the initialization process by the
ミドルウェア装置2−1内では,アプリケーション通信部201が,業務アプリケーション装置1−1から送信された初期化要求アプリケーションコマンドを受信すると(S102−1), アプリケーションコマンド処理部202が,当該コマンドをデコードし,当該コマンドに含まれるパラメータ(業務データ)を取得しデータ変換部203へ受け渡す(S102−2)。
In the middleware device 2-1, when the
データ変換部203は,まず,業務データ書込バッファ2062と,基本領域書込バッファ2064と,を空にする(S102−3)。 The data conversion unit 203 first empties the business data write buffer 2062 and the basic area write buffer 2064 (S102-3).
次に,データ変換部203は,取得した業務データを,業務データ書込バッファ2062へ格納する(S102−4)。 Next, the data conversion unit 203 stores the acquired business data in the business data write buffer 2062 (S102-4).
続いて,データ変換部203は,CPU901内のレジスタまたはメモリ902または外部記憶装置903上に,4つの変数M,NAME,OFFSET,DATA用の領域を確保し,それぞれ値0で初期化する(S102−5)。
Subsequently, the data conversion unit 203 secures four variable M, NAME, OFFSET, and DATA areas on a register in the
次に,データ変換部203は,対応管理テーブル207を参照し,当該テーブルのM行目に値が存在するか否かを判定する(S102−6)。 Next, the data conversion unit 203 refers to the correspondence management table 207 and determines whether a value exists in the Mth row of the table (S102-6).
当該判定の結果,当該テーブルのM行目に値が存在する場合(S102−6でYES),データ変換部203は,対応管理テーブル207のM行目から,「データ名」フィールド207−1と「オフセット」フィールド207−2の値を取得し,それぞれの値で変数NAMEと変数OFFSETの値を上書きする(S102−7)。 As a result of the determination, if a value exists in the Mth row of the table (YES in S102-6), the data conversion unit 203 starts with the “data name” field 207-1 from the Mth row of the correspondence management table 207. The value of the “offset” field 207-2 is acquired, and the values of the variable NAME and the variable OFFSET are overwritten with each value (S102-7).
例として,対応管理テーブル207が,図4のような値が書き込まれた状態であった場合を考える。このとき,Mの値が2であったとすると,当該テーブルの2行目にはデータが格納されているため,変数NAMEにはデータ名「d2」が代入され,変数OFFSETにはオフセット値「(k,10)」が代入される。 As an example, let us consider a case where the correspondence management table 207 is in a state where values as shown in FIG. 4 are written. At this time, if the value of M is 2, since the data is stored in the second row of the table, the data name “d2” is substituted for the variable NAME, and the offset value “( k, 10) "is substituted.
続いて,データ変換部203は,業務データ書込バッファ2062のNAME行から,「データ」フィールド2062−2の値を取得し,当該データの値で変数DATAを上書きする(S102−8)。 Subsequently, the data conversion unit 203 acquires the value of the “data” field 2062-2 from the NAME line of the business data write buffer 2062, and overwrites the variable DATA with the value of the data (S102-8).
次に,データ変換部203は,基本領域書込バッファ2064内の,変数OFFSETで指定される番地へ,変数DATA内のデータを格納する(S102−9)。 Next, the data conversion unit 203 stores the data in the variable DATA at the address specified by the variable OFFSET in the basic area write buffer 2064 (S102-9).
続いて,データ変換部203は,変数Mの値をインクリメントし(S102−10),対応管理テーブル207のM行目に値が存在するか否かを判定する処理(S102−6)へ処理を戻す。 Subsequently, the data conversion unit 203 increments the value of the variable M (S102-10), and proceeds to a process of determining whether or not a value exists in the Mth row of the correspondence management table 207 (S102-6). return.
処理S102−6にて,対応管理テーブル207のM行目に値が存在しない,すなわち,対応管理テーブル207内の全ての行に対する走査が完了すると,データ変換部203は,基本領域書込バッファ2064内のデータをICタグ4の基本領域4031へ書き込むよう,リーダライタ装置3−1に対してデータ書込要求メッセージを送信し(S102−11),リーダライタ装置3−1からの返信を待ち受ける状態へ遷移する(S102−12)。当該データ書込要求メッセージはパラメータを含み,当該パラメータによって書込位置と書き込むデータの内容を指示するものとする。ここでは書込位置として基本領域4031の先頭を指定し,書き込むデータの内容として基本領域書込バッファ2064内のデータを指定する。 In process S102-6, when the value does not exist in the Mth row of the correspondence management table 207, that is, when scanning for all the rows in the correspondence management table 207 is completed, the data conversion unit 203 completes the basic area write buffer 2064. A state in which a data write request message is transmitted to the reader / writer device 3-1 so as to write data in the basic area 4031 of the IC tag 4 (S102-11), and a reply from the reader / writer device 3-1 is awaited. (S102-12). The data write request message includes a parameter, and the write position and the content of data to be written are designated by the parameter. Here, the head of the basic area 4031 is designated as the write position, and the data in the basic area write buffer 2064 is designated as the contents of the data to be written.
以上が,ミドルウェア装置2−1による,初期化前処理S102の詳細である。 The above is the details of the pre-initialization process S102 by the middleware device 2-1.
図7に戻り,上述の初期化前処理S102の結果,ミドルウェア装置2−1がリーダライタ装置3−1へデータ書込要求メッセージを送信すると(S103),リーダライタ装置3−1は当該書込要求に従ってICタグ4内の基本領域4031先頭へ指定されたデータの書込を実行する(S104)。 Returning to FIG. 7, when the middleware device 2-1 transmits a data write request message to the reader / writer device 3-1 as a result of the above-described pre-initialization process S102 (S103), the reader / writer device 3-1 performs the writing. According to the request, the designated data is written to the head of the basic area 4031 in the IC tag 4 (S104).
ICタグ4内への書込が成功すると(S105),リーダライタ装置3−1はミドルウェア装置2−1に対して基本領域4031への書込に成功した旨を通知する(S106)。
When writing into the
ミドルウェア装置2−1は,リーダライタ装置3−1から,基本領域4031への書込に成功した旨を通知されると,追記領域4032を初期化するための
処理に移る(初期化中処理,S107)。
When the middleware device 2-1 is notified from the reader / writer device 3-1 that the writing to the basic area 4031 is successful, the middleware apparatus 2-1 proceeds to a process for initializing the additional recording area 4032 (processing during initialization, S107).
以下,当該処理S107の詳細について,再び図8を用いて説明する。 Hereinafter, details of the processing S107 will be described with reference to FIG.
ミドルウェア装置2−1内では,リーダライタ通信部210がリーダライタ装置3−1からメッセージを受信すると,ICタグコマンド処理部209が,当該メッセージをデコードし,当該メッセージが,基本領域4031への書込に成功したことを意味するメッセージであると解釈する(S102−12でYES)。
In the middleware device 2-1, when the reader / writer communication unit 210 receives a message from the reader / writer device 3-1, the IC tag
すると,ミドルウェア装置2−1内のデータ変換部203は,追記領域の末尾を示す識別符号c0をICタグ4の追記領域4032へ書き込むよう,リーダライタ装置3−1に対してデータ書込要求メッセージを送信し(S107−1),リーダライタ装置3−1からの返信を待ち受ける状態へ遷移する(S107−2)。当該データ書込要求メッセージはパラメータを含み,当該パラメータによって書込位置と書き込むデータの内容を指示するものとする。ここでは書込位置として追記領域4032の先頭を指定し,書き込むデータの内容として識別符号c0を指定する。
Then, the data conversion unit 203 in the middleware device 2-1 sends a data write request message to the reader / writer device 3-1 so as to write the identification code c0 indicating the end of the additional write area to the additional write area 4032 of the
以上が,ミドルウェア装置2−1による,初期化中処理S107の詳細である。 The above is the details of the initialization process S107 performed by the middleware device 2-1.
図7に戻り,上述の初期化中処理S107の結果,ミドルウェア装置2−1がリーダライタ装置3−1へデータ書込要求メッセージを送信すると(S108),リーダライタ装置3−1は当該書込要求に従ってICタグ4内の追記領域4032先頭へ指定されたデータの書込を実行する(S109)。 Returning to FIG. 7, when the middleware device 2-1 transmits a data write request message to the reader / writer device 3-1 as a result of the above-described initialization process S107 (S108), the reader / writer device 3-1 performs the writing. According to the request, the designated data is written to the head of the additional recording area 4032 in the IC tag 4 (S109).
ICタグ4内への書込が成功すると(S110),リーダライタ装置3−1はミドルウェア装置2−1に対して追記領域4032への書込に成功した旨を通知する(S111)。
When writing into the
ミドルウェア装置2−1は,リーダライタ装置3−1から,追記領域4032への書込に成功した旨を通知されると,初期化処理が成功したことを業務アプリケーション装置1−1へ通知するための処理に移る(初期化後処理,S112)。 When the middleware device 2-1 is notified by the reader / writer device 3-1 that the writing to the additional write area 4032 has been successful, the middleware device 2-1 notifies the business application device 1-1 that the initialization process has been successful. The process proceeds to (post-initialization process, S112).
以下,当該処理S112の詳細について,再び図8を用いて説明する。 Hereinafter, details of the processing S112 will be described with reference to FIG.
ミドルウェア装置2−1内では,リーダライタ通信部210がリーダライタ装置3−1からメッセージを受信すると,ICタグコマンド処理部209が,当該メッセージをデコードし,当該メッセージが,追記領域4032への書込に成功したことを意味するメッセージであると解釈する(S107−2でYES)。
In the middleware device 2-1, when the reader / writer communication unit 210 receives a message from the reader / writer device 3-1, the IC tag
すると,ミドルウェア装置2−1内のアプリケーションコマンド処理部202が,初期化要求アプリケーションコマンドの実行が成功したことを示す初期化要求アプリケーション成功応答を生成し,アプリケーション通信部201を介して,業務アプリケーション装置1−1へ送信する(S112−1)。
Then, the application command processing unit 202 in the middleware device 2-1 generates an initialization request application success response indicating that the initialization request application command has been successfully executed, and the
以上が,ミドルウェア装置2−1による,初期化後処理S112の詳細である。 The above is the details of the post-initialization process S112 by the middleware device 2-1.
図7に戻り,上述の初期化後処理S112の結果,ミドルウェア装置2−1が業務アプリケーション装置1−1へ初期化要求アプリケーション成功応答を送信し(S113),ICタグ4に対する初期化処理は正常に完了する。
Returning to FIG. 7, as a result of the above-described post-initialization process S112, the middleware apparatus 2-1 transmits an initialization request application success response to the business application apparatus 1-1 (S113), and the initialization process for the
一方,図8において,S102−12またはS107−2で,ミドルウェア装置2−1が,リーダライタ装置3−1から何らかのエラーメッセージを受信した場合には(S102−12またはS107−2でNO),ミドルウェア装置2−1内のアプリケーションコマンド処理部202が,初期化要求アプリケーションコマンドの実行に失敗したことを示す初期化要求アプリケーション失敗応答を生成し,アプリケーション通信部201を介して,業務アプリケーション装置1−1へ送信する(S107−3)。 On the other hand, in FIG. 8, when the middleware device 2-1 receives any error message from the reader / writer device 3-1 in S102-12 or S107-2 (NO in S102-12 or S107-2), The application command processing unit 202 in the middleware device 2-1 generates an initialization request application failure response indicating that the execution of the initialization request application command has failed, and the business application device 1- 1 (S107-3).
図9は,業務アプリケーション装置1−2がICタグ4からデータを読み込み,業務処理を行った後,データの更新を行う場合のシーケンスを記載した図である。
FIG. 9 is a diagram describing a sequence in which the business application apparatus 1-2 reads data from the
ICタグを乗車券として利用する場合,当該シーケンスは,自動改札機(業務アプリケーション装置)による入出場シーケンスに対応する。すなわち,乗車券データが書き込まれた,入場前もしくは出場前の乗車券ICタグに対して,その乗車券が発券された駅の情報や,発券時刻や,当該乗車券の有効範囲,有効期限などを,ICタグ内のデータ記憶領域から読み込み,有効な乗車券であることを確認した後,入場済もしくは出場済であることを示すデータでタグ内のデータを更新するシーケンスに対応する。 When an IC tag is used as a ticket, the sequence corresponds to an entrance / exit sequence by an automatic ticket gate (business application device). That is, with respect to the ticket IC tag before entry or departure where the ticket data is written, information on the station where the ticket was issued, ticketing time, valid range of the ticket, expiration date, etc. Is read from the data storage area in the IC tag, and after confirming that it is a valid boarding ticket, it corresponds to a sequence in which the data in the tag is updated with data indicating that the ticket has been entered or entered.
業務アプリケーション装置1−2は,ユーザから入出力装置を介して初期化要求操作を受け付けると,ミドルウェア通信部102が,ミドルウェア装置2−2に対して読込要求アプリケーションコマンドを送信する(S201)。
When the business application apparatus 1-2 receives an initialization request operation from the user via the input / output device, the
ミドルウェア装置2−1は,装置内のアプリケーション通信部201が,業務アプリケーション装置1−1から送信された読込要求アプリケーションコマンドを受信すると,受け取ったパラメータ内の業務データを,ICタグへ書き込むための処理を実行する(読込前処理,S202)。
When the
以下,当該処理S202の詳細について,図10を用いて説明する。 Hereinafter, details of the processing S202 will be described with reference to FIG.
図10は,ミドルウェア装置2による読込処理の前半部を表したフローチャートである。
FIG. 10 is a flowchart showing the first half of the reading process by the
ミドルウェア装置2−2内では,アプリケーション通信部201が,業務アプリケーション装置1−2から送信された読込要求アプリケーションコマンドを受信すると,アプリケーションコマンド処理部202が当該コマンドをデコードし,データ変換部203へ受け渡す(S202−1)。
In the middleware device 2-2, when the
データ変換部203は,まず,業務データ読込バッファ2063と,基本領域読込バッファ2065と,追記領域読込バッファ2067を空にする(S202−3)。 The data conversion unit 203 first empties the business data reading buffer 2063, the basic area reading buffer 2065, and the additional writing area reading buffer 2067 (S202-3).
次に,データ変換部203は,ICタグ4の基本領域4031および追記領域4032に格納されたデータを読み込むよう,リーダライタ装置3−2に対してデータ読込要求メッセージを送信し(S202−3),リーダライタ装置3−2からの返信を待ち受ける状態へ遷移する(S202−4)。 Next, the data conversion unit 203 transmits a data read request message to the reader / writer device 3-2 so as to read the data stored in the basic area 4031 and the additional write area 4032 of the IC tag 4 (S202-3). Then, a transition is made to a state of waiting for a reply from the reader / writer device 3-2 (S202-4).
以上が,ミドルウェア装置2−2による,読込前処理S202の詳細である。 The above is the details of the pre-read process S202 by the middleware device 2-2.
図9に戻り,上述の読込前処理S202の結果,ミドルウェア装置2−2がリーダライタ装置3−2へデータ読込要求メッセージを送信すると(S203),リーダライタ装置3−2は当該読込要求に従ってICタグ4内の基本領域4031および追記領域4032に格納されたデータの読込を実行する(S204)。
Returning to FIG. 9, when the middleware device 2-2 transmits a data read request message to the reader / writer device 3-2 as a result of the above-described read preprocessing S202 (S203), the reader / writer device 3-2 performs the IC according to the read request. The data stored in the basic area 4031 and the additional recording area 4032 in the
ICタグ4からの読込が成功すると(S205),リーダライタ装置3−2はミドルウェア装置2−2に対して基本領域4031および追記領域4032から読み込んだデータを送信する(S206)。
When reading from the
ミドルウェア装置2−2は,リーダライタ装置3−2から,基本領域4031および追記領域4032から読み込んだデータを受信すると,読込データを業務アプリケーション装置1−2へ提供するための処理に移る(読込後処理,S207)。 When the middleware apparatus 2-2 receives the data read from the basic area 4031 and the additional recording area 4032 from the reader / writer apparatus 3-2, the middleware apparatus 2-2 proceeds to processing for providing the read data to the business application apparatus 1-2 (after reading). Processing, S207).
以下,当該処理S207の詳細について,再び図10を用いて説明する。 Hereinafter, details of the processing S207 will be described with reference to FIG. 10 again.
ミドルウェア装置2−2内では,リーダライタ通信部210がリーダライタ装置3−2からメッセージを受信すると,ICタグコマンド処理部209が,当該メッセージをデコードし,当該メッセージに含まれるパラメータ(基本領域4031および追記領域4032から読み込んだデータ)を取得する。
In the middleware device 2-2, when the reader / writer communication unit 210 receives a message from the reader / writer device 3-2, the IC tag
ここで,正常にデータが取得できなかった場合,もしくは一定時間,一定回数のリトライを経てもリーダライタ装置3−2から応答が無かった場合は(S202−4でNO),ミドルウェア装置2−2内のアプリケーションコマンド処理部202が,読込要求アプリケーションコマンドの実行に失敗したことを示す読込要求アプリケーション失敗応答を生成し,アプリケーション通信部201を介して,業務アプリケーション装置1−2へ送信する(S202−5)。 Here, if data cannot be acquired normally, or if there is no response from the reader / writer device 3-2 after a certain number of retries for a certain time (NO in S202-4), the middleware device 2-2. Application command processing unit 202 generates a read request application failure response indicating that the execution of the read request application command has failed, and transmits the response to the business application apparatus 1-2 via the application communication unit 201 (S202-). 5).
一方,正常にデータが取得できた場合(S202−4でYES),ICタグコマンド処理部209は,当該データをデータ変換部203へ受け渡す。データ変換部203は,受け取ったデータの内,基本領域4031から読み込まれたデータを基本領域読込バッファ2065へ格納し(S207−1),追記領域4032から読み込まれたデータを追記領域読込バッファ2067へ格納する(S207−2)。
On the other hand, when the data can be normally acquired (YES in S202-4), the IC tag
まず,データ変換部203は,基本領域読込バッファ2065内のデータ変換処理を開始する。データ変換部203は,CPU901内のレジスタまたはメモリ902または外部記憶装置903上に,5つの変数M,NAME,OFFSET,LEN,DATA用の領域を確保し,それぞれ値0で初期化する(S207−3)。
First, the data conversion unit 203 starts data conversion processing in the basic area read buffer 2065. The data conversion unit 203 secures areas for five variables M, NAME, OFFSET, LEN, and DATA on a register in the
次に,データ変換部203は,対応管理テーブル207を参照し,当該テーブルのM行目に値が存在するか否かを判定する(S207−4)。 Next, the data conversion unit 203 refers to the correspondence management table 207 and determines whether or not a value exists in the Mth row of the table (S207-4).
当該判定の結果,当該テーブルのM行目に値が存在する場合,データ変換部203は,対応管理テーブル207のM行目から,「データ名」フィールド207−1と,「オフセット」フィールド207−2と,「データ長」フィールド207−3と,の値を取得し,それぞれの値で変数NAMEと変数OFFSETと変数LENの値を上書きする(S207−5)。 As a result of the determination, if there is a value in the Mth row of the table, the data conversion unit 203 starts from the Mth row of the correspondence management table 207 with a “data name” field 207-1 and an “offset” field 207- 2 and the “data length” field 207-3 are acquired, and the values of the variable NAME, the variable OFFSET, and the variable LEN are overwritten with the values (S207-5).
例として,対応管理テーブル207が,図4のような値が書き込まれた状態であった場合を考える。このとき,Mの値が2であったとすると,当該テーブルの2行目にはデータが格納されているため,変数NAMEにはデータ名「d2」が代入され,変数OFFSETにはオフセット値「(k,10)」が代入され,変数LENにはデータ長「6」が代入される。 As an example, let us consider a case where the correspondence management table 207 is in a state where values as shown in FIG. 4 are written. At this time, if the value of M is 2, since the data is stored in the second row of the table, the data name “d2” is substituted for the variable NAME, and the offset value “( k, 10) "is substituted, and the data length" 6 "is substituted for the variable LEN.
続いて,データ変換部203は,基本領域読込バッファ2065から,OFFSET番地を始点として長さLENの領域に格納されたデータを取得し,変数DATAへ代入する(S207−6)。 Subsequently, the data conversion unit 203 acquires the data stored in the area of the length LEN starting from the OFFSET address from the basic area reading buffer 2065, and substitutes it into the variable DATA (S207-6).
次に,データ変換部203は,業務データ読込バッファ2063のNAME行へ,変数DATA内のデータを格納する(S207−7)。 Next, the data conversion unit 203 stores the data in the variable DATA in the NAME row of the business data read buffer 2063 (S207-7).
続いて,データ変換部203は,変数Mの値をインクリメントし(S207−8),対応管理テーブル207のM行目に値が存在するか否かを判定する処理(S207−4)へ戻る。 Subsequently, the data conversion unit 203 increments the value of the variable M (S207-8), and returns to the process of determining whether a value exists in the Mth row of the correspondence management table 207 (S207-4).
処理S207−4にて,対応管理テーブル207のM行目に値が存在しない,すなわち,対応管理テーブル207内の全ての行に対する走査が完了すると,データ変換部203は,追記領域読込バッファ2067内のデータ変換処理に移る(S207−9)。以下,当該処理の詳細について,図11を用いて説明する。 In process S207-4, when the value does not exist in the Mth row of the correspondence management table 207, that is, when scanning for all the rows in the correspondence management table 207 is completed, the data conversion unit 203 stores in the additional write area reading buffer 2067. The data conversion process is shifted to (S207-9). Hereinafter, details of the processing will be described with reference to FIG.
図11は,ミドルウェア装置2による読込処理の後半部を表したフローチャートである。
FIG. 11 is a flowchart showing the latter half of the reading process by the
ミドルウェア装置2−2内のデータ変換部203は,まず,変数Mの値を0にリセットするとともに,CPU901内のレジスタまたはメモリ902または外部記憶装置903上に,変数CODE用の領域を確保し,値0で初期化する(S207−10)。
The data conversion unit 203 in the middleware device 2-2 first resets the value of the variable M to 0, and secures an area for the variable CODE on the register in the
次に,データ変換部203は,変数Mの値が,追記領域4032の最大サイズを示すMAX_APPENDを超えているか否かを確認する(S207−11)。Mの値がMAX_APPENDを超えている場合(S207−11でYES),MにMAX_APPENDと同じ値を代入し(S207−20),読込終了処理(S207−21,S207−22)に移る。当該処理(S207−21,S207−22)については後述する。 Next, the data conversion unit 203 checks whether or not the value of the variable M exceeds MAX_APPEND indicating the maximum size of the additional recording area 4032 (S207-11). If the value of M exceeds MAX_APPEND (YES in S207-11), the same value as MAX_APPEND is substituted for M (S207-20), and the process proceeds to reading end processing (S207-21, S207-22). The processing (S207-21, S207-22) will be described later.
一方,Mの値がMAX_APPEND以下であった場合(S207−11でNO),データ変換部203は,追記領域読込バッファ2067のM番地からデータ(識別符号)を取得し,変数CODEへ代入する(S207−12)。ここで,取得するCODEのデータ長は識別符号として使用する符号の種類に依存する。例えば,識別符号として固定長の符号を用いる場合は,常にその符号長のデータを取得しても良いし,可変長の符号を用いる場合には,符号が決定されるまでデータを読み込むこととしても良い。 On the other hand, when the value of M is equal to or less than MAX_APPEND (NO in S207-11), the data conversion unit 203 acquires data (identification code) from the M address of the additional write area read buffer 2067 and substitutes it into the variable CODE ( S207-12). Here, the data length of the acquired CODE depends on the type of code used as the identification code. For example, when a fixed-length code is used as an identification code, data of that code length may always be obtained. When a variable-length code is used, data may be read until the code is determined. good.
続いて,データ変換部203は,変数CODEの値が,追記領域の終端を示す識別符号c0と一致するか否かを確認する(S207−13)。CODEの値がc0と一致する場合(S207−13でYES),読込終了処理(S207−20,S207−21)に移る。当該処理(S207−20,S207−21)については後述する。 Subsequently, the data conversion unit 203 checks whether or not the value of the variable CODE matches the identification code c0 indicating the end of the additional write area (S207-13). When the value of CODE coincides with c0 (YES in S207-13), the process proceeds to reading end processing (S207-20, S207-21). The processing (S207-20, S207-21) will be described later.
一方,CODEの値がc0以外であった場合(S207−13でNO)には,まず,変数Mの値をCODEの長さ分増加させる(S207−14)。続いて,データ変換部203が,符号管理テーブル208内で「識別符号」フィールド208−2が変数CODEと同じ値を持つ行を選択し,当該行の「データ名」フィールド208−1の値を変数NAMEへ代入する(S207−15)。 On the other hand, if the value of CODE is other than c0 (NO in S207-13), first, the value of variable M is increased by the length of CODE (S207-14). Subsequently, the data conversion unit 203 selects a row in which the “identification code” field 208-2 has the same value as the variable CODE in the code management table 208, and sets the value of the “data name” field 208-1 in the row. Substitute into the variable NAME (S207-15).
次に,データ変換部203は,対応管理テーブル207内で「データ名」フィールド207−1が変数NAMEと同じ値を持つ行を選択し,当該行の「オフセット」フィールド207−2と,「データ長」フィールド207−3の値をそれぞれ変数OFFSETとLENへ代入する(S207−16)。 Next, the data conversion unit 203 selects a line in which the “data name” field 207-1 has the same value as the variable NAME in the correspondence management table 207, the “offset” field 207-2 of the line, The value of the “length” field 207-3 is assigned to the variables OFFSET and LEN, respectively (S207-16).
続いて,データ変換部203は,追記領域読込バッファ2067内の,M番地から長さLENの範囲でデータを取得し,変数DATAへ代入する(S207−17)。 Subsequently, the data conversion unit 203 acquires data in the range from the address M to the length LEN in the additional write area reading buffer 2067, and substitutes it into the variable DATA (S207-17).
次に,データ変換部203は,業務データ読込バッファ2063のNAME行へ,変数DATAの値を格納する(S207−18)。このとき,当該業務データ読込バッファ2063の当該位置(NAME行)へ既にデータが書き込まれている場合には,既存データを上書きすることで新データを格納することとする。 Next, the data conversion unit 203 stores the value of the variable DATA in the NAME line of the business data read buffer 2063 (S207-18). At this time, if data has already been written in the corresponding position (NAME line) of the business data read buffer 2063, new data is stored by overwriting the existing data.
続いて,データ変換部203は,変数Mの値を,MにLENの値を加えた値へ更新し(S207−19),Mの値がMAX_APPENDを超えているか否かを判定する処理(S207−11)へ戻る。 Subsequently, the data conversion unit 203 updates the value of the variable M to a value obtained by adding the value of LEN to M (S207-19), and determines whether or not the value of M exceeds MAX_APPEND (S207). Return to -11).
上述した通り,処理S207−11またはS207−13でそれぞれ条件が満たされた場合(S207−11またはS207−13でYES),読込終了処理(S207−21,S207−22)に移る。 As described above, if the conditions are satisfied in the processing S207-11 or S207-13 (YES in S207-11 or S207-13), the process proceeds to reading end processing (S207-21, S207-22).
まず,データ変換部203は,変数Mの値を追記領域末尾ポインタ205へ格納する(S207−21)。追記領域末尾ポインタ205への格納は,タグを一意に識別するための識別子(タグID)との組として実行する。 First, the data conversion unit 203 stores the value of the variable M in the additional write area end pointer 205 (S207-21). The storage in the additional write area end pointer 205 is executed as a pair with an identifier (tag ID) for uniquely identifying the tag.
次に,ミドルウェア装置2−2内のアプリケーションコマンド処理部202が,読込要求アプリケーションコマンドに対する応答として,業務データ読込バッファ2063内のデータをパラメータとして含む読込要求アプリケーション成功応答を生成し,アプリケーション通信部201を介して,業務アプリケーション装置1−2へ送信する(S207−22)。
Next, the application command processing unit 202 in the middleware apparatus 2-2 generates a read request application success response including the data in the business data read buffer 2063 as a parameter as a response to the read request application command, and the
以上が,ミドルウェア装置2−2による,読込後処理S207の詳細である。 The above is the details of the post-read process S207 by the middleware device 2-2.
追記領域読込バッファ2067に格納されるデータは、データ名(NAME)が同じ場合、基本領域読込バッファ2065に格納されるデータよりも新しいデータとなることを利用して、上に記述した読込後処理S207のフローの代わりに以下の順序で処理を実行することで、読込処理の高速化を実現することが可能である。まず、S207−1,S207−2の処理を実行する。続いて、追記領域読込バッファ2067から読み込んだデータを業務データ読込バッファ2063へ格納する処理(S207−10からS207−21までの一連の処理)を実行する。ここで、業務データ読込バッファ2063へ格納されたデータ名(NAME)を「更新済データ種別」として記憶する。次に、基本領域読込バッファ2065から読み込んだデータを業務データ読込バッファ2063へ格納する処理(S207−3からS207−9までの一連の処理)を実行するが、ここで、処理S207−5と処理S207−6の間に、データ名(NAME)が「更新済データ種別」に含まれるデータに関しては、基本領域読込バッファ2065からの読込処理(S207−6,S207−7)をスキップする。最後に、処理S207−22を実行し、読込後処理S207を終了する。 図9に戻り,上述の読込後処理S207の結果,ミドルウェア装置2−2が業務アプリケーション装置1−2へ読込要求アプリケーション成功応答を送信する。当該成功応答には,ICタグ4から読み取ったデータが,業務データ名とその値の組として含まれている(S208)。
When the data name (NAME) is the same, the data stored in the additional write area read buffer 2067 is newer than the data stored in the basic area read buffer 2065. By executing the processing in the following order instead of the flow of S207, it is possible to increase the speed of the reading processing. First, the processing of S207-1 and S207-2 is executed. Subsequently, a process of storing data read from the additional write area reading buffer 2067 in the business data reading buffer 2063 (a series of processes from S207-10 to S207-21) is executed. Here, the data name (NAME) stored in the business data read buffer 2063 is stored as “updated data type”. Next, a process (a series of processes from S207-3 to S207-9) for storing the data read from the basic area read buffer 2065 in the business data read buffer 2063 is executed. Here, the process S207-5 and the process are performed. During S207-6, for the data whose data name (NAME) is included in the “updated data type”, the reading process (S207-6, S207-7) from the basic area reading buffer 2065 is skipped. Finally, process S207-22 is executed, and post-read process S207 is terminated. Returning to FIG. 9, as a result of the above-described post-read processing S207, the middleware device 2-2 transmits a read request application success response to the business application device 1-2. The success response includes data read from the
業務アプリケーション装置1−2は,ミドルウェア通信部102がミドルウェア装置2−2からデータを受信すると,業務処理部101が当該データを用いて業務処理を実行し,データの一部書き換え等の処理を行う(S209)。
In the business application device 1-2, when the
続いて,業務アプリケーション装置1−2は,業務処理部101がミドルウェア通信部102を介して,書き換えられたデータの更新要求メッセージを,ミドルウェア装置2−2へ送信する(S210)。当該メッセージには,書き換えられたデータに限らず,業務データ全体が含まれていても良い。 Subsequently, in the business application apparatus 1-2, the business processing unit 101 transmits a renewed data update request message to the middleware apparatus 2-2 via the middleware communication unit 102 (S210). The message may include not only the rewritten data but the entire business data.
ミドルウェア装置2−2は,装置内のアプリケーション通信部201が,業務アプリケーション装置1−2から送信された更新要求アプリケーションコマンドを受信すると,受け取ったパラメータ内の業務データを,ICタグへ書き込むための処理を実行する(書込前処理,S211)。
When the
以下,当該処理S211の詳細について,図12を用いて説明する。 Details of the processing S211 will be described below with reference to FIG.
図12は,ミドルウェア装置2による書込処理の詳細を表したフローチャートである。
FIG. 12 is a flowchart showing details of the writing process by the
ミドルウェア装置2−2内では,アプリケーション通信部201が,業務アプリケーション装置1−2から送信された更新要求アプリケーションコマンドを受信すると(S211−1),アプリケーションコマンド処理部202が,当該コマンドをデコードし,当該コマンドに含まれるパラメータ(業務データ)を取得しデータ変換部203へ受け渡す(S211−2)。
In the middleware device 2-2, when the
データ変換部203は,まず,業務データ書込バッファ2062と,業務データ差分バッファ2061と,追記領域書込バッファ2066と,を空にする(S211−3)。 The data conversion unit 203 first empties the business data write buffer 2062, the business data difference buffer 2061, and the additional write area write buffer 2066 (S211-3).
次に,データ変換部203は,取得した業務データを,業務データ書込バッファ2062へ格納する(S211−4)。 Next, the data conversion unit 203 stores the acquired business data in the business data write buffer 2062 (S211-4).
続いて,差分計算部204が,業務データ書込バッファに格納された値と,業務データ読込バッファに格納された値と,を比較し,値が異っているデータだけを抽出し,業務データ差分バッファへ格納する(S211−5)。
Subsequently, the
次に,データ変換部203は,CPU901内のレジスタまたはメモリ902または外部記憶装置903上に,4つの変数M,NAME,CODE,DATA用の領域を確保し,それぞれ値0で初期化する(S211−6)。
Next, the data conversion unit 203 secures areas for four variables M, NAME, CODE, and DATA on a register in the
続いて,データ変換部203は,業務データ差分バッファにデータが存在するか否かを判定する(S211−7)。 Subsequently, the data conversion unit 203 determines whether data exists in the business data difference buffer (S211-7).
当該判定の結果,当該バッファにデータが存在する場合(S211−7でYES),データ変換部203は,業務データ差分バッファ2061から「データ名」フィールド2061−1と「データ」フィールド2061−2の値を取得し,それぞれの値で変数NAMEと変数DATAの値を上書きする。また値の取得後には,取得した値を含む行のデータを,業務データ差分バッファ2061から削除し,同じ値が二度以上取得されないようにする(S211−8)。 As a result of the determination, if data exists in the buffer (YES in S211-7), the data conversion unit 203 reads the “data name” field 2061-1 and the “data” field 2061-2 from the business data difference buffer 2061. The value is acquired, and the values of the variable NAME and the variable DATA are overwritten with each value. After the value is acquired, the data of the row including the acquired value is deleted from the business data difference buffer 2061 so that the same value is not acquired more than once (S211-8).
次に,データ変換部203は,符号管理テーブル208内で「データ名」フィールド208−1が変数NAMEと同じ値を持つ行を選択し,当該行の「識別符号」フィールド208−2 の値を変数CODEへ代入する(S211−9)。 Next, the data conversion unit 203 selects a line in which the “data name” field 208-1 has the same value as the variable NAME in the code management table 208, and sets the value of the “identification code” field 208-2 of the line Substitute into the variable CODE (S211-9).
続いて,データ変換部203は,変数CODEと変数DATAに含まれる値を,CODE,DATAの順で結合し,結合後のデータを追記領域書込バッファ2066の末尾へ追加する(S211−10)。追加後,データ変換部203は,業務データ差分バッファ2061にまだデータが残っているかどうかを確認する処理(S211−7)に戻る。 Subsequently, the data conversion unit 203 combines the variable CODE and the value included in the variable DATA in the order of CODE and DATA, and adds the combined data to the end of the additional write area write buffer 2066 (S211-10). . After the addition, the data conversion unit 203 returns to the process (S211-7) for confirming whether data still remains in the business data difference buffer 2061.
処理S211−7にて,業務データ差分バッファ2061にデータが残っていない,すなわち,書き換える必要のある全ての業務データに対して,追記領域書込バッファ2066への追記が完了すると(S211−7でNO),データ変換部203は,追記領域書込バッファ2066の末尾へ識別符号c0を書き込む(S211−11)。 In processing S211-7, when no data remains in the business data difference buffer 2061, that is, when all the business data that needs to be rewritten has been added to the additional write area write buffer 2066 (in S211-7) NO), the data conversion unit 203 writes the identification code c0 at the end of the additional write area write buffer 2066 (S211-11).
次に,データ変換部203は,追記領域末尾ポインタ205から,書込対象の電子タグ4のタグIDに一致する行を検索し,追記領域4032の末尾アドレスを取得し,変数Mへ格納する(S211−12)。
Next, the data conversion unit 203 searches the additional writing area end pointer 205 for a line that matches the tag ID of the
続いて,データ変換部203は,追記領域書込バッファ2066内のデータを,ICタグ4の追記領域4032内,変数Mで指定される番地へ書き込むよう,リーダライタ装置3−2に対してデータ書込要求メッセージを送信し(S211−13),リーダライタ装置3−2からの返信を待ち受ける状態へ遷移する(S211−14)。当該データ書込要求メッセージはパラメータを含み,当該パラメータによって書込位置と書き込むデータの内容を指示するものとする。ここでは書込位置として追記領域4032のM番地を指定し,書き込むデータの内容として追記領域書込バッファ2066内のデータを指定する。
Subsequently, the data conversion unit 203 sends data to the reader / writer device 3-2 so as to write the data in the additional write area write buffer 2066 to the address specified by the variable M in the additional write area 4032 of the
以上が,ミドルウェア装置2−2による,書込前処理S211の詳細である。 The above is the details of the pre-write processing S211 performed by the middleware device 2-2.
図9に戻り,上述の書込前処理S211の結果,ミドルウェア装置2−2がリーダライタ装置3−2へデータ書込要求メッセージを送信すると(S212),リーダライタ装置3−2は当該書込要求に従い,ICタグ4内の追記領域4032におけるM番地へ,指定されたデータの書込を実行する(S213)。 Returning to FIG. 9, when the middleware apparatus 2-2 transmits a data write request message to the reader / writer apparatus 3-2 as a result of the above-described pre-writing process S211 (S212), the reader / writer apparatus 3-2 performs the write operation. In accordance with the request, the designated data is written to the address M in the additional recording area 4032 in the IC tag 4 (S213).
ICタグ4内への書込が成功すると(S214),リーダライタ装置3−2はミドルウェア装置2−2に対して追記領域4032への書込に成功した旨を通知する(S215)。
When the writing into the
ミドルウェア装置2−2は,リーダライタ装置3−2から,追記領域4032への書込に成功した旨を通知されると,書込の成功を業務アプリケーション装置1−2へ通知するための処理に移る(書込後処理,S216)。 When the middleware device 2-2 is notified from the reader / writer device 3-2 that the writing to the additional writing area 4032 is successful, the middleware device 2-2 performs processing for notifying the business application device 1-2 of the writing success. Move (post-write processing, S216).
以下,当該処理S216の詳細について,再び図12を用いて説明する。 Hereinafter, details of the processing S216 will be described with reference to FIG.
ミドルウェア装置2−2内では,リーダライタ通信部210がリーダライタ装置3−2からメッセージを受信すると,ICタグコマンド処理部209が,当該メッセージをデコードし,当該メッセージが,追記領域4032への書込に成功したことを意味するメッセージであると解釈する(S211−14でYES)。
In the middleware device 2-2, when the reader / writer communication unit 210 receives a message from the reader / writer device 3-2, the IC tag
すると,ミドルウェア装置2−2内のアプリケーションコマンド処理部202が,更新要求アプリケーションコマンドの実行が成功したことを示す更新要求アプリケーション成功応答を生成し,アプリケーション通信部201を介して,業務アプリケーション装置1−2へ送信する(S216−1)。 Then, the application command processing unit 202 in the middleware device 2-2 generates an update request application success response indicating that the execution of the update request application command is successful, and the business application device 1- 2 (S216-1).
一方,S211−14において,ミドルウェア装置2−2が,リーダライタ装置3−2から何らかのエラーメッセージを受信した場合や,一定時間,一定回数のリトライを経てもリーダライタ装置3−2から応答が無かった場合は(S211−14でNO),ミドルウェア装置2−2のアプリケーションコマンド処理部202が,更新要求アプリケーションコマンドの実行に失敗したことを示す更新要求アプリケーション失敗応答を生成し,アプリケーション通信部201を介して,業務アプリケーション装置1−2へ送信する(S216−2)。
On the other hand, when the middleware device 2-2 receives any error message from the reader / writer device 3-2 in S211-14, or no response is received from the reader / writer device 3-2 even after a predetermined number of retries. If the application command processing unit 202 of the middleware apparatus 2-2 generates an update request application failure response indicating that the execution of the update request application command has failed, the
以上が,ミドルウェア装置2−1による,書込後処理S216の詳細である。 The above is the details of the post-write processing S216 by the middleware device 2-1.
図9に戻り,上述の書込後処理S216の結果,ミドルウェア装置2−2が業務アプリケーション装置1−2へ更新要求アプリケーション成功応答を送信すると(S217),ICタグ4に対するデータ更新処理は正常に完了する。
Returning to FIG. 9, when the middleware device 2-2 transmits an update request application success response to the business application device 1-2 as a result of the above-described post-write processing S216 (S217), the data update processing for the
なお,ここでは説明のために,ICタグ4に対して初期化処理を行った業務アプリケーション装置と,初期化後のICタグ4に対して読込処理と書込処理を行う業務アプリケーション装置を異なるものとして記載したが,両者は必ずしも異なるものでなくとも良い。
Here, for the sake of explanation, the business application device that has performed initialization processing on the
また,追記領域4032の空き容量が小さくなった場合には,以下の手順により,追記領域4032のクリーニングを行うことで,空き容量を最大化することが可能である。まず,業務アプリケーション装置1は,ミドルウェア装置2に対して読込要求メッセージを送信し,ICタグ4から最新の業務データを取得する。続いて,当該取得したデータをパラメータとする初期化要求メッセージを,ミドルウェア装置2に対して送信することで,ICタグ4内の基本領域4031のデータが最新のデータに更新され,追記領域4032には識別符号c0だけが格納されることとなる。
Further, when the free space in the additional write area 4032 becomes small, the free space can be maximized by cleaning the additional write area 4032 according to the following procedure. First, the
ここで,追記領域4032のクリーニングを行うまでは,それまでにICタグ4に対して行われた全ての更新内容が,追記領域内のデータという形で残されているため,当該領域内の以前のデータを参照し,最新のデータとして再度書き込みを行うことで,処理のやり直し(アンドゥ操作)を実現することが可能である。
Here, until the additional recording area 4032 is cleaned, all the update contents that have been performed on the
以上の実施形態に基づき,ICタグを乗車券として利用した場合を例に取って,ICタグ(乗車券)へのデータの書込が行われる過程をより具体的に説明する。 Based on the above embodiment, taking the case where the IC tag is used as a boarding ticket as an example, the process of writing data to the IC tag (boarding ticket) will be described more specifically.
図13は,本実施例のシステム構成の概略図である。 FIG. 13 is a schematic diagram of a system configuration of the present embodiment.
図示するように,本実施例では,業務アプリケーション装置として,発券装置1−1と,入場管理装置1−2と,出場管理装置1−3と,精算装置1−4と,の4つを備える。当該装置はそれぞれミドルウェア装置2−1〜2−4と相互に通信を行い,各ミドルウェア装置はそれぞれリーダライタ装置3−1〜3−4と相互に通信を行う。ICタグ4は乗車券として利用される。
As shown in the figure, in the present embodiment, there are four business application devices: a ticket issuing device 1-1, an entrance management device 1-2, an exit management device 1-3, and a checkout device 1-4. . The devices communicate with the middleware devices 2-1 to 2-4, respectively, and the middleware devices communicate with the reader / writer devices 3-1 to 3-4, respectively. The
また,図14は,本実施例において,各ミドルウェア装置2−1〜2−4に格納される対応管理テーブル207と符号管理テーブル208の一例を示した図である。例えば対応管理テーブル207においては,データ名として「乗車駅」を持つデータは,ICタグ4上の基本領域4031ではオフセット(k+2,10)で指定される箇所に書き込まれ,その長さは8であることが示されている。また,符号管理テーブル208においては,データ名として「乗車駅」を持つデータは,ICタグ4上の追記領域4032へ書き込まれる際には,識別符号c9と結合された状態で書き込まれることが示されている。
FIG. 14 is a diagram showing an example of the correspondence management table 207 and the code management table 208 stored in each of the middleware devices 2-1 to 2-4 in the present embodiment. For example, in the correspondence management table 207, data having the “boarding station” as the data name is written in the location specified by the offset (k + 2, 10) in the basic area 4031 on the
乗車客が駅構内に設置された発券装置1−1(例えば券売機)に対して運賃の投入や行き先の範囲選択などを指示すると,発券装置1−1はミドルウェア装置2−1に対し,図7および図8で示したような初期化処理の実行要求を送信する。図7に示すシーケンスおよび図8に示すフローが滞りなく完了すると,ICタグ4のデータ記憶部403には図15のようにデータが書き込まれる。
When the passenger instructs the ticket issuing device 1-1 (for example, a ticket vending machine) installed in the station premises to enter a fare, select a destination range, etc., the ticket issuing device 1-1 instructs the middleware device 2-1. 7 and the execution request for the initialization process as shown in FIG. When the sequence shown in FIG. 7 and the flow shown in FIG. 8 are completed without delay, data is written in the data storage unit 403 of the
図15は,発券装置1−1による発券処理が完了した後の,ICタグ4(乗車券)内のデータ記憶部403の一例を示した図である。発券駅,種別,改札通過日時,有効期間,有効区間,入出場情報(図15では「入出」と記載),発券日時,乗車駅,といったデータが基本領域4031に書き込まれる。追記領域4032には,先頭に識別符号c0のみが書き込まれる。 FIG. 15 is a diagram illustrating an example of the data storage unit 403 in the IC tag 4 (passage ticket) after the ticketing process by the ticketing device 1-1 is completed. Data such as ticketing station, type, ticket gate passage date / time, valid period, valid section, entry / exit information (described as “entrance / exit” in FIG. 15), ticketing date / time, boarding station are written in the basic area 4031. In the additional recording area 4032, only the identification code c0 is written at the beginning.
続いて乗車客が,発券されたICタグ4を入場管理装置1−2(例えば自動改札機)へ挿入すると,当該入場管理装置1−2はミドルウェア装置2−2に対し,図9〜図12で示したような読込処理および更新処理の実行要求を送信する。
Subsequently, when the passenger inserts the issued
まず,図9のS201〜S207までの処理が滞りなく完了すると,ICタグ4のデータ記憶部403から読み出されたデータがミドルウェア装置2−2内の業務データ読込バッファ2063へ格納される。当該データが格納された直後の業務データ読込バッファ2063の一例を図16の左上部へ示す。図示するように,各業務データ名(発券駅,改札通過日時など)に対応した値が読み取られ,バッファに格納される。
First, when the processing from S201 to S207 in FIG. 9 is completed without delay, the data read from the data storage unit 403 of the
入場管理装置1−2は,ミドルウェア装置2−2から,業務データ読込バッファ2063内のデータを受信すると,図9の業務処理S209に相当する処理として,例えば,発券駅や発券時刻,有効区間などを確認し,入場の可否を判定する。入場可能と判定した場合には,業務データを書き換えた後,図9のS210で示すような更新要求メッセージを送信する。このとき,書き換え後のデータは当該更新要求メッセージのパラメータとして渡され,当該パラメータは,図12のS211−1〜S211−4に従い,業務データ書込バッファ2062へ格納される。当該データが格納された直後の業務データ書込バッファ2062の一例を図16の右上部へ示す。 When the entrance management device 1-2 receives the data in the business data reading buffer 2063 from the middleware device 2-2, the processing corresponding to the business processing S209 in FIG. 9 includes, for example, a ticketing station, a ticketing time, an effective section, and the like. Confirm whether or not to enter. If it is determined that the admission is possible, after rewriting the business data, an update request message as shown in S210 in FIG. At this time, the rewritten data is passed as a parameter of the update request message, and the parameter is stored in the business data write buffer 2062 in accordance with S21-1 to S211-4 of FIG. An example of the business data write buffer 2062 immediately after the data is stored is shown in the upper right part of FIG.
続いて,ミドルウェア装置2−2は,図12のS211−5に従い,業務データ書込バッファ2062と業務データ読込バッファ2063の差分を計算し,業務データ差分バッファ2061へ格納する。当該差分データが格納された直後の,業務データ差分バッファ2061の一例を,図16の下部へ示す。 Subsequently, the middleware device 2-2 calculates the difference between the business data write buffer 2062 and the business data read buffer 2063 in accordance with S211-5 of FIG. An example of the business data difference buffer 2061 immediately after the difference data is stored is shown in the lower part of FIG.
以上に示したように,本実施例では,書き換え前の業務データと,書き換え後の業務データの差分を計算することにより,更新が必要なデータの範囲を特定し,後に実行する,ICタグに対するデータ書込処理の回数を削減し,書込速度の向上が実現されている。 As described above, in this embodiment, by calculating the difference between the business data before rewriting and the business data after rewriting, the range of data that needs to be updated is specified, and the IC tag to be executed later is processed. The number of data writing processes is reduced and the writing speed is improved.
ミドルウェア装置2−2は,図12のS211−7〜S211−10に従い,業務データ差分バッファ2061内の各業務データを追記領域書込バッファ2066へ書き込んだ後,当該バッファの末尾へ識別符号c0を付加し,追記領域の末尾へ追記する。当該追記が完了した直後の,ICタグ4内データ記憶部403の一例を,図17に示す。
The middleware apparatus 2-2 writes each business data in the business data difference buffer 2061 to the additional write area write buffer 2066 according to S211-7 to S211-10 in FIG. 12, and then sets an identification code c0 at the end of the buffer. Append and append to the end of the appending area. An example of the data storage unit 403 in the
更新処理においては,基本領域4031内のデータには変更を加えず,追記領域4032に,識別符号と当該識別符号に対応する更新後のデータとを連ねて追記する。図17では,追記領域4032内に改札通過日時,入出場情報,乗車駅情報を追記している。(図17中,*の記号は更新後のデータであることを示す)
以上に示したように,本実施例では,書き換え対象のデータが連続するように追記を行う。そのため,ISO18000−6TypeC仕様のBlockWriteコマンドに対応したICタグのように,メモリ上で連続したデータを1度のコマンドで書き込むことのできるICタグに対して,1度のコマンドで更新処理が済み,書込処理の高速化が実現されている。
In the update process, the data in the basic area 4031 is not changed, and the identification code and the updated data corresponding to the identification code are additionally written in the additional recording area 4032. In FIG. 17, the ticket entry passage date / time, entry / exit information, and boarding station information are additionally written in the additional recording area 4032. (In FIG. 17, the symbol * indicates that the data has been updated.)
As described above, in this embodiment, additional writing is performed so that data to be rewritten is continuous. Therefore, for an IC tag that can write continuous data in memory with a single command, such as an IC tag that supports the BlockWrite command of the ISO 18000-6 Type C specification, update processing has been completed with a single command. High-speed writing processing is realized.
続いて乗車客が電車へ乗り,所望の駅に到着後,出場するために,入場管理装置1−2を通した後のICタグ4を,出場管理装置1−3(例えば自動改札機)へ挿入すると,当該出場管理装置1−3は,ミドルウェア装置2−3に対し,図9〜図12で示したような読込処理および更新処理の実行要求を送信する。
Subsequently, in order for the passenger to get on the train, arrive at the desired station and enter, the
ここで,出場管理装置1−3による読込処理は,追記領域4032内にデータが格納されている点で,先述した入場管理装置1−2による読込処理の場合と異なる。特に,図11のS207−14〜S207−19の処理が,追記領域4032に格納されているデータの分だけ実行される。例えばICタグ4内のデータ記憶部403が,図17に示したような状態を取る場合,図11の処理S207−13で追記領域読込バッファ先頭のデータがc0と比較されるが,当該バッファ先頭には識別符号c2が格納されているため,S207−14以降へ処理を進めることとなる。
Here, the reading process by the entry management apparatus 1-3 is different from the reading process by the admission management apparatus 1-2 described above in that data is stored in the additional recording area 4032. In particular, the processing of S207-14 to S207-19 in FIG. 11 is executed for the data stored in the additional write area 4032. For example, when the data storage unit 403 in the
まず,Mの値を識別符号c2の長さだけ増加させた後(S207−14),図14に記載した符号管理テーブル208を参照し,識別符号としてc2を含む行を探し,当該行の「データ名」フィールドに含まれる「改札通過日時」を取得し,変数NAMEへ代入する(S207−15)。 First, after the value of M is increased by the length of the identification code c2 (S207-14), the code management table 208 described in FIG. 14 is referred to search for a line including c2 as the identification code. “Ticket passage date and time” included in the “data name” field is acquired and substituted into the variable NAME (S207-15).
次に,対応管理テーブル207を参照し,データ名として変数NAMEすなわち「改札通過日時」を含む行を探し,当該行の「オフセット」フィールドと「データ長」フィールドの値をそれぞれ変数OFFSETおよび変数LENへ代入する。ここでは図14に記載の対応管理テーブル207に基づき,OFFSETには(k,10)が,LENには6が,それぞれ代入される(S207−16)。 Next, the correspondence management table 207 is looked up for a line including the variable NAME, that is, “ticket gate passage date” as the data name, and the values of the “offset” field and “data length” field of the line are respectively set to the variable OFFSET and the variable LEN Assign to. Here, based on the correspondence management table 207 shown in FIG. 14, (k, 10) is substituted for OFFSET, and 6 is substituted for LEN (S207-16).
続いて,追記領域読込バッファ2067内,M番地(識別符号c2を読み込んだ直後の位置)から,長さLENだけの範囲に存在するデータを読み込み,変数DATAへ代入する。ここでは,ICタグ4内のデータ記憶部403が図17に示したような構造を取るため,改札通過日時の更新後の値が取得される(S207−17)。取得した値は,業務データ読込バッファ2063の「改札通過日時」行へ格納され,基本領域4031から読み込んだ値が追記領域4032から読み込んだ値で上書きされる。
Subsequently, data existing in the range of only the length LEN is read from address M (position immediately after reading the identification code c2) in the additional write area reading buffer 2067, and is substituted into the variable DATA. Here, since the data storage unit 403 in the
以上に示したような処理が,追記領域4032内の残りのデータに対しても行われ,最終的に業務データ読込バッファ2063内には,最新の追記データが古いデータを上書きした状態で,業務アプリケーション(ここでは出場管理装置1−3)へ提供される。 The processing as described above is also performed on the remaining data in the additional write area 4032. Finally, the business data read buffer 2063 is overwritten with old data by the latest additional write data. It is provided to the application (here, the participation management device 1-3).
本実施例では,ICタグ内でのデータ配置方法を識別符号のみで表現し,データ長やデータ名は各ミドルウェア装置に保存することで,ICタグ内のメモリを有効利用することを可能にしている。 In this embodiment, the data arrangement method in the IC tag is expressed only by the identification code, and the data length and data name are stored in each middleware device, so that the memory in the IC tag can be used effectively. Yes.
出場管理装置1−3は,ICタグ4の有効性を確認すると,業務データの改札通過日時を書き換え,ミドルウェア装置2−3へ更新を要求し,更新の完了後,乗車券を回収し,改札の扉を乗車客のために開放する。改札通過日時が書き換えられた直後のICタグ4について,データ記憶部403の一例を図18に示す。図示するように,追記領域4032の末尾には,識別符号c2と,改札通過日時の二度目の更新データ(「改札通過日時**」として表記)と,追記領域の末尾を示す識別符号c0と,が追記されている。
Upon confirming the validity of the
精算装置1−4による精算時など,ICタグ4とミドルウェア装置2とが通信可能な時間が比較的長く確保されている場合には,追記領域4032の空き容量を拡大するために,以下のような処理を実行しても良い。まず,精算装置1−4は,ミドルウェア装置2−4に対して読込要求メッセージを送信し,ICタグ4から最新の業務データを取得する。続いて,当該取得したデータをパラメータとする初期化要求メッセージを,ミドルウェア装置2−4に対して送信することで,ICタグ4内の基本領域4031のデータが最新のデータに更新され,追記領域4032には識別符号c0だけが格納されることとなる。
When the
図19は,図18で示したICタグ4に対して,上記の処理を実行した結果,追記領域4032の空き容量が最大化された例を図示したものである。
FIG. 19 shows an example in which the free space in the additional write area 4032 is maximized as a result of executing the above processing on the
1−1〜1−n:業務アプリケーション装置,2−1〜2−n:ミドルウェア装置,3−1〜3−n:リーダライタ装置,4:ICタグ,9:コンピュータ,10:RFIDシステム 1-1 to 1-n: business application device, 2-1 to 2-n: middleware device, 3-1 to 3-n: reader / writer device, 4: IC tag, 9: computer, 10: RFID system
Claims (5)
前記ICタグのデータ記憶部は、予め複数の種類のデータが格納された基本領域と追記領域とを有し、
ICタグへ書き込むデータと前記ICタグのデータ記憶部に格納されたデータとを比較し、変更が生じたデータを抽出するミドルウェア装置と、
前記抽出された変更が生じたデータを、当該データの種類に応じた識別符号と共に前記追記領域に格納するリーダライタ装置と、
を有することを特徴とするデータ書き込みシステム。 In the system for writing data to IC tags,
The data storage unit of the IC tag has a basic area in which a plurality of types of data are stored in advance and an additional recording area,
A middleware device that compares data to be written to the IC tag with data stored in the data storage unit of the IC tag and extracts data that has changed,
A reader / writer device that stores the extracted change data in the additional write area together with an identification code according to the type of the data;
A data writing system comprising:
前記リーダライタ装置は、前記追記領域に格納する複数のデータを連続して位置するように書き込むことを特徴とするデータ書き込みシステム。 The data writing system according to claim 1, wherein
The data writing system, wherein the reader / writer device writes a plurality of data to be stored in the additional recording area so as to be continuously located.
前記ミドルウェア装置は、
前記ICタグ内に格納する前記識別符号と、前記ミドルウェア装置間で共有する前記対応管理テーブルと前記符号管理テーブルの組み合わせと、を利用し識別符号を付加することを特徴とする、データ書き込みシステム。 The data writing system according to claim 1 or 2,
The middleware device is:
An identification code is added by using the identification code stored in the IC tag and the combination of the correspondence management table and the code management table shared between the middleware devices.
前記ICタグのデータ記憶部は、予め複数の種類のデータが格納された基本領域と追記領域とを有しており、
ミドルウェア装置により、ICタグへ書き込むデータと前記ICタグのデータ記憶部に格納されたデータとを比較し、変更が生じたデータを抽出するステップと、
リーダライタ装置により、前記抽出された変更が生じたデータを、当該データの種類に応じた識別符号と共に前記追記領域に格納するステップと、
を有することを特徴とするデータ書き込み方法。 In the method of writing data to the IC tag,
The data storage unit of the IC tag has a basic area in which a plurality of types of data are stored in advance and an additional recording area,
The middleware device compares the data to be written to the IC tag with the data stored in the data storage unit of the IC tag, and extracts the changed data;
A step of storing the extracted data with the reader / writer device in the additional recording area together with an identification code corresponding to the type of the data;
A data writing method comprising:
前記リーダライタ装置により前記追記領域に格納するステップは、前記追記領域に格納する複数のデータを書き込む場合、当該複数のデータを連続した位置に格納されるように書き込むことを特徴とするデータ書き込み方法。 The data writing method according to claim 4, wherein
The step of storing in the write-once area by the reader / writer device, when writing a plurality of data to be stored in the write-once area, writes the plurality of data so as to be stored in consecutive positions. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009138776A JP5271816B2 (en) | 2009-06-10 | 2009-06-10 | System and method for writing data to IC tag |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009138776A JP5271816B2 (en) | 2009-06-10 | 2009-06-10 | System and method for writing data to IC tag |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010286935A true JP2010286935A (en) | 2010-12-24 |
JP5271816B2 JP5271816B2 (en) | 2013-08-21 |
Family
ID=43542606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009138776A Active JP5271816B2 (en) | 2009-06-10 | 2009-06-10 | System and method for writing data to IC tag |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5271816B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123581A (en) * | 2014-07-17 | 2014-10-29 | 唐肖近 | RFID (Radio Frequency Identification Devices) technology based electronic ticketing system structure |
CN110024087A (en) * | 2016-12-02 | 2019-07-16 | 应用材料公司 | The certification of RFID part and the tracking of processing component |
US10360415B2 (en) | 2017-07-28 | 2019-07-23 | Fujitsu Semiconductor Limited | Semiconductor memory having radio communication function and application control method |
US10740225B2 (en) | 2017-07-28 | 2020-08-11 | Fujitsu Semiconductor Limited | Semiconductor memory having radio communication function and write control method |
JP7567171B2 (en) | 2020-02-27 | 2024-10-16 | マツダ株式会社 | Vehicle-mounted device control device and vehicle control system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63228323A (en) * | 1987-03-18 | 1988-09-22 | Mitsubishi Electric Corp | System for recording draw type memory card |
JP2004178101A (en) * | 2002-11-25 | 2004-06-24 | Oki Electric Ind Co Ltd | Ic card reader |
-
2009
- 2009-06-10 JP JP2009138776A patent/JP5271816B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63228323A (en) * | 1987-03-18 | 1988-09-22 | Mitsubishi Electric Corp | System for recording draw type memory card |
JP2004178101A (en) * | 2002-11-25 | 2004-06-24 | Oki Electric Ind Co Ltd | Ic card reader |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123581A (en) * | 2014-07-17 | 2014-10-29 | 唐肖近 | RFID (Radio Frequency Identification Devices) technology based electronic ticketing system structure |
CN110024087A (en) * | 2016-12-02 | 2019-07-16 | 应用材料公司 | The certification of RFID part and the tracking of processing component |
JP2020512681A (en) * | 2016-12-02 | 2020-04-23 | アプライド マテリアルズ インコーポレイテッドApplied Materials,Incorporated | RFID component authentication and tracking of processing components |
CN112908842A (en) * | 2016-12-02 | 2021-06-04 | 应用材料公司 | RFID part authentication and tracking of processing components |
JP7079249B2 (en) | 2016-12-02 | 2022-06-01 | アプライド マテリアルズ インコーポレイテッド | RFID component certification and tracking of processing components |
KR20230026520A (en) * | 2016-12-02 | 2023-02-24 | 어플라이드 머티어리얼스, 인코포레이티드 | Rfid part authentication and tracking of processing components |
CN110024087B (en) * | 2016-12-02 | 2023-08-08 | 应用材料公司 | Tracking of RFID part authentication and processing components |
US11848220B2 (en) | 2016-12-02 | 2023-12-19 | Applied Materials, Inc. | RFID part authentication and tracking of processing components |
KR102698477B1 (en) * | 2016-12-02 | 2024-08-22 | 어플라이드 머티어리얼스, 인코포레이티드 | Rfid part authentication and tracking of processing components |
US10360415B2 (en) | 2017-07-28 | 2019-07-23 | Fujitsu Semiconductor Limited | Semiconductor memory having radio communication function and application control method |
US10740225B2 (en) | 2017-07-28 | 2020-08-11 | Fujitsu Semiconductor Limited | Semiconductor memory having radio communication function and write control method |
JP7567171B2 (en) | 2020-02-27 | 2024-10-16 | マツダ株式会社 | Vehicle-mounted device control device and vehicle control system |
Also Published As
Publication number | Publication date |
---|---|
JP5271816B2 (en) | 2013-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5271816B2 (en) | System and method for writing data to IC tag | |
EP1469419A1 (en) | Proximity communication system, proximity communication method, data managing apparatus, data managing method, recording medium, and computer program | |
US8341361B2 (en) | Method for storing data as well as a transponder, a read/write-device, a computer readable medium including a program element and such a program element adapted to perform this method | |
CN110716727B (en) | Software upgrading method and system | |
JP5329884B2 (en) | Portable electronic device and data processing method in portable electronic device | |
CN102713826A (en) | Methods and apparatuses to allocate file storage via tree representations of a bitmap | |
US20070046431A1 (en) | System and method for combining RFID tag memory | |
US7076800B2 (en) | IC card terminal unit and IC card duplication method | |
US20090012975A1 (en) | Portable electronic device and file management method for use in portable electronic device | |
EP2102748B1 (en) | System and method for recovery of memory transactions | |
JP2009009602A (en) | Ic card and ic card program | |
JP7415349B2 (en) | Electronic devices, management systems, and display methods | |
JP6140034B2 (en) | Automatic ticket gate and station service system | |
JP5464066B2 (en) | Communication device and communication method | |
JP4318494B2 (en) | IC card and IC card program | |
JP5742976B2 (en) | Communication device, communication method, and wireless tag | |
KR101346778B1 (en) | Method for approving card transactions and method for managing card transaction approval informaion | |
US7346730B2 (en) | Mobile electronic device | |
JP7386291B1 (en) | Information processing device, information processing system, program, and information processing method | |
US20240346549A1 (en) | Advertising effect prediction device | |
JP7333187B2 (en) | CARD PROCESSING DEVICE, CARD PROCESSING SYSTEM, CARD PROCESSING METHOD AND PROGRAM | |
JPH0746376B2 (en) | IC card | |
JP2003162740A (en) | Non-contact ic card system | |
JP2835159B2 (en) | Portable storage media | |
JP2007193493A (en) | Settlement system, terminal and settlement method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130225 |
|
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: 20130416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130513 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5271816 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |