こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

JR東日本のSUICAカード

ふと思い付いた質問なのですが…

SUICAの仕組はどうなっているのでしょうか?

各カードにIDがふられていて、改札機に触れるとそのIDをキーにデータベースを参照して処理しているのかな?とも思ったのですが。。知っている方がいれば教えて下さい。

投稿日時 - 2003-06-11 10:10:45

QNo.571882

暇なときに回答ください

質問者が選んだベストアンサー

『私がSuicaを作成した物です。ですから…』と言う書き込みをすると
開発者は守秘義務違反となりますから厳密に正しい回答を得るのは厳しいかと思います。

ですが、SEのはしくれとして、また、実際の操作感を吟味し回答を書きます。
始めに断っておきますが、当然私はSuicaの開発などしておりません、単なる鉄道バカのSEですので…

スイカはおそらく、以下の発信装置、記憶装置、発電装置からできていると思われます。
発電装置として、外部から電磁石のような物を近づける事で電気を発生する装置です。
記憶装置として、ID・カード残額・最後に乗車した駅or下車した駅を記憶している。
発信装置として、ID・カード残額・最後に乗車した駅or下車した駅を改札に渡している。

本来ならばIDを改札側で受け取り、残高などをデータベースで調べたほうが安全かもしれません、
しかし、タッチ&ゴーの瞬間で東京近郊区間内のとある駅から情報を送り、中央データベースからIDを元に情報を調べ、
乗降可能であるかを返すのは技術的に難があるかと思います。

グリーン車に乗れば解りますが、検札車掌は小型端末を持っていて、Suicaを当てる事により
カード残高・最後に乗車した駅or下車した駅が判断できるようになっています。
その小型端末がデータベースと繋がっているとも到底思えないですね。

そして気になるのは、乗降記録を持っている場所…
Suicaの記憶容量を大きくすると発電装置の規模が大きくする必要が出てきますから、容量は少ないに限るわけです。
『某カートリッジ式携帯ゲームも、単純なゲームより複雑なゲームの方が電池の減りは早いですからね…』

逆にデータベースで管理となると、
『消滅したので印字できません』という事があるのかもしれませんが、見た事無いですしそういうニュースは放送されないですね。

記憶の限りでは、確か『最大で印字できる件数』が決まっていたかと思うので
『Suicaの容量ギリギリまで保存しておき、印字したら抹消』その方が保守管理が容易でしょう…
その都度回線を使って…とすると厄介ですね。
ICテレフォンカードと比較するとその厚さからも結構な容量があるのではないかと推測できますね。

そして、考えてみれば残金を自社データベースで保持よりも各Suicaにて保持とした方が万が一の時の保証の時に楽になります。
ですから殆どの情報を保持している物と考えられます。
『雑な使用で壊れたら本人の責任』とした方が楽ですね?
銀行と違い『悪用する可能性』は低いでしょうけれど、仮に自社データベースで残額等を管理していた場合
『チャージ額の保証はどうなるか』はもちろん、Suicaを利用して乗車中の客全てが立ち往生する羽目になる…大混乱ですね。

最後に『IDを記憶し改札時渡している』としたかと言いますと、『確認が容易であるから』と言う事が言えるからです。
各駅に『PCのハードディスクに乗降記録と残額』があれば『通信設備』や『データベース』が無くとも
人為的に連絡を取り合う事で、『推定残額』が導き出せますからね…
『データベース』が仮にあってもそこへのアクセスは『終電後回収した改札データを始発前に一回だけ反映』で済むわけです。

こんな感じではないでしょうか…
こういう議論を煮詰めて確固たる形にして製品化したものがSuicaかと思います。

投稿日時 - 2003-06-11 12:27:16

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

仕組みはSONYの開発した、「FeliCa」を利用した物です。


次URLに応用事例としてのスイカが紹介されています。
http://www.sony.co.jp/Products/felica/contents04_03.html

「FeliCa」全般については、参考URLを覗いて見てください。

参考URL:http://www.sony.co.jp/Products/felica/index.html

投稿日時 - 2003-06-16 09:02:43

ANo.3

知っているわけではないのですが、
SuicaはソニーのEdyカードと一緒で13.56MHzの電波を用いて改札機とカードとの情報交換をしています。

Suicaのメモリ容量
カードは印字させたとき、カード番号16桁、利用月日と利用駅、定期券かどうかの種別、残額など6種類の情報が約50件記録されています。これから推定すると、利用月日で365日分なので二進数で9桁、利用駅は6万駅まで可能としてとして、16桁(入出で2倍)、定期券かどうかの種別など(2桁)、残額(6万円までとすれば16桁)、これらを50件記録するとすると、2進数で61桁x50=3050ビット(約400バイト)必要です。
ご利用明細には記録されていませんが、入場時刻や出場記録の有無を記録することでキセルチェックをしていると聞いたことがあります。その分メモリの容量が増えます。
従ってSuica自体のメモリ容量は演算機能がないと考えれば極めて小さいものです。

Suicaの機能
これは推定ですが、カード自体で演算を行うと電源が必要になりますので演算はしていないと思います。
カードを改札機にかざすと改札機から電波が出ます
電波を受信して一部を電源として利用しメモリと送受信回路を立ち上がらせます。
Suicaは改札機からの問い合わせで通信できる状態かどうかを知らせます。(Suica自体が別の電波を出せば改札機は認識する)
改札機を入る場合、改札機は入った日時と場所を記録し一定長さのメッセージ(多分上記の61桁プラスアルファ)をSuicaのメモリに書き込みます。
プラスアルファとは書き込み時のセキュリティーのために暗号化していると予想しているためで、カード番号から生成した暗号が一致したときだけ書き込み可能とするものです(でないと、1000円でソニーから買うことができる個人用のEdy読み取り機で書き込めちゃいます)
出口では同様の通信を行い、下車駅までの料金の引き算をしてカードに書き込みます。
1回の読み取りは多分100ミリ秒以下で行っており、リトライ(再試行)を含めて1秒以内には終わる設計のはずです。この場合、電波を受けてカードが立ち上がるまで5ミリ秒、カードの応答を確認して読み出すのに10ミリ秒、改札機側の演算に20ミリ秒、書き込みに5から10ミリ秒、書き込みの確認に5-10ミリ秒x2といった設計ではないでしょうか?

改札機が並んでいる場合に1台のサーバーで待ち行列になると遅れますので、改札機1台ごとに各駅までの料金表データベースが入っていてその場で計算しているのだと思います。

また定期の場合は引き算の処理が必要ないので、定期であって一定の区間内であれば簡易チェックでゲートを空けるような時間短縮策を取っていると見聞したことがあります。(学会発表やJRの新聞発表、Edyの仕様などで見聞した限りのないようですので誤りが多々あるのではないかと思います)

投稿日時 - 2003-06-12 09:49:07

コンビニのAM/PMで使われているEDYカードと仕組みは一緒です。
定期券やチャージした金額などの情報をSUICAの中に
あるICカードに保存しています。

多少技術的な話になりますが・・・
SUICAをタッチするところから電磁波が出ており、
そこにカードをタッチさせると、カードの中にあるコイル
が電気を作り、ICカードの情報が読み取れるようになります。
残念ですが、カードのID番号によってデータベースを参照しているわけじゃないです。

投稿日時 - 2003-06-11 10:21:16

あなたにオススメの質問