(58)【調査した分野】(Int.Cl.,DB名)
前記選択した一のSAMでの処理によりセッションが完了した場合に、前記第2テーブルにおける前記選択した一のSAMのSAMIDが格納されている行の前記セッションIDを格納する列からセッションIDを削除する請求項1に記載のサーバ。
前記選択した一のSAMでの処理によりセッションが完了した場合に、前記第2テーブルにおける前記選択した一のSAMのSAMIDが格納されている行の前記セッションIDを格納する列からセッションIDを削除するとともに、前記第2テーブルにおける前記選択した一のSAMのSAMIDが格納されている行の前記セッション数を格納する列に格納されているセッション数をデクリメントする請求項3に記載のサーバ。
【発明を実施するための形態】
【0009】
[実施形態1に係るシステム1]
図1は実施形態1に係るシステム1を示す模式図である。
図1に示すように、実施形態1に係るシステム1はサーバ30とリーダライタ装置22、24とユーザ装置12、14を備えている。サーバ30は、ネットワーク50を介してリーダライタ装置22、24に接続され、ある1つのSAMのSAM種別が少なくとも他の1つのSAMのSAM種別と異なる複数のSAM42、44、46を備え、リーダライタ装置22、24からパケットを受信し、受信したパケットからレスポンス情報を読み出し、複数のSAM42、44、46から選択した一のSAMで読み出したレスポンス情報を処理する。以下、詳細に説明する。
【0010】
(リーダライタ装置22、24、ユーザ装置12、14)
ユーザ装置12、14には例えばICカード(Contactless smart cards)やICカード機能が内蔵されたスマートフォンなどを用いることができる。リーダライタ装置22、24は、ユーザ装置12、14内のデータを読み書きする装置であり、例えばスーパーマーケットのレジ装置や駅の改札機などからなる。ユーザ装置12、14とリーダライタ装置22、24との間の通信は、例えば、近距離無線通信方式(Near Field Communication)などのようにユーザ装置12、14とリーダライタ装置22、24が非接触で通信を行う方式やISO7816などのようにユーザ装置12、14とリーダライタ装置22、24が接触して通信を行う方式に従って行なわれる。ユーザ装置12、14は例えばICチップと記憶装置を備えており、記憶装置には例えば電子マネー残高などのデータが記憶されている。
【0011】
リーダライタ装置22、24はサーバ30との間でパケットを送受信する。リーダライタ装置22、24はサーバ30からパケットを受信すると、受信したパケットからコマンド情報を読み出し、読み出したコマンド情報をユーザ装置12、14に出力する。ユーザ装置12、14はリーダライタ装置22、24から入力されたコマンド情報に従って様々な処理(例:電子マネー残高の増額や減額)を実行し、レスポンス情報をリーダライタ装置22、24に出力する。レスポンス情報とはコマンド情報に対する応答内容を示す情報である。コマンド情報に従った処理が正常終了、もしくは異常終了したことを示す情報、電子マネーの残高などユーザ装置12、14内の情報、あるいは相互認証中の演算結果データなどは、レスポンス情報の一例である。リーダライタ装置22、24は、ユーザ装置12、14から出力されたレスポンス情報を含むパケットをサーバ30に対して送信する。
【0012】
図2はサーバ30からリーダライタ装置22、24に送信されるパケットの構成例を示す模式図である。
図2に示すように、サーバ30からリーダライタ装置22、24に送信されるパケットにはセッションIDとコマンド情報が含まれている。セッションIDはセッションを識別する番号である。例えばリーダライタ装置を識別するクライアントIDやユーザ装置を識別するユーザ装置IDなどはセッションIDの一例である。コマンド情報には、例えば、「電子マネーの残高を100円増額する」や「電子マネーの残高を100円減額する」などがある。
【0013】
図3はリーダライタ装置22、24からサーバ30に送信されるパケットの構成例を示す模式図である。
図3に示すように、リーダライタ装置22、24からサーバ30に送信されるパケットにはセッションIDとユーザ装置種別識別子とレスポンス情報が含まれている。
【0014】
ユーザ装置12、14やリーダライタ装置22、24の数は特に限定されないが、本実施形態では、2台のユーザ装置12、14と2台のリーダライタ装置22、24がシステム1に配置されているものとする。
【0015】
(サーバ30)
サーバ30はネットワーク50を介してリーダライタ装置22、24に接続される。ネットワーク50は例えばインターネットである。
【0016】
サーバ30は演算装置と記憶装置を備えている。演算装置は例えばCPUからなり、記憶装置は例えばRAMやハードディスクなどからなる。記憶装置にはプログラムやデータが記憶されている。データには後述する第1テーブルと第2テーブルが含まれる。演算装置が記憶装置からプログラムを読み出し実行することによりサーバ30は動作する。
【0017】
図4は第1テーブルを説明する模式図である。
図4に示すように、第1テーブルにはユーザ装置種別識別子とSAM種別識別子とが対応付けて格納される。ユーザ装置種別識別子とはユーザ装置種別を識別する識別子である。ユーザ装置種別が同じユーザ装置には同じユーザ装置種別識別子を割り当て、ユーザ装置種別が異なるユーザ装置には異なるユーザ装置種別識別子を割り当てる。ユーザ装置種別が同じであるかどうかは、データを処理するアルゴリズムが同じであるかどうかにより定めることができる。すなわち、同じアルゴリズムでデータを処理するユーザ装置はユーザ装置種別が同じであると定め、異なるアルゴリズムでデータを処理するユーザ装置はユーザ装置種別が異なると定めることができる。アルゴリズムが同じであるかどうかは、データの処理手順やデータの処理に関するプロトコルが同じであるかどうかにより定めることができる。
【0018】
SAM種別識別子はSAM種別を識別する識別子である。SAM種別が同じSAMには同じSAM種別識別子を割り当て、SAM種別が異なるSAMには異なるSAM種別識別子を割り当てる。SAM種別が同じであるかどうかは、データを処理するアルゴリズムが同じであるかどうかにより定めることができる。すなわち、同じアルゴリズムでデータを処理するSAMはSAM種別が同じであると定め、異なるアルゴリズムでデータを処理するSAMはSAM種別が異なると定めることができる。アルゴリズムが同じであるかどうかは、データの処理手順やデータの処理に関するプロトコルが同じであるかどうかにより定めることができる。
【0019】
1つのユーザ装置や1つのSAMに搭載されるアルゴリズムの数は特に限定されない。1つのユーザ装置や1つのSAMに複数の異なるアルゴリズムが搭載される場合には、搭載されるアルゴリズムの組み合わせが同じであるかどうかによりユーザ装置種別やSAM種別を定めることができる。すなわち、搭載されるアルゴリズムの組み合わせが同じであるユーザ装置やSAMには、ユーザ装置種別やSAM種別が同じであるとして、同じユーザ装置種別識別子や同じSAM種別識別子を割り当てることができる。他方、搭載されるアルゴリズムの組み合わせが異なるユーザ装置やSAMには、ユーザ装置種別やSAM種別が異なるとして、異なるユーザ装置種別識別子や異なるSAM種別識別子を割り当てることができる。1つのSAMに複数の異なるアルゴリズムが搭載される場合や1つのユーザ装置に複数の異なるアルゴリズムが搭載される場合には、
図10に示すように、第1テーブルにおいて、1つのSAM種別識別子に対して複数のユーザ装置種別識別子を対応付けて格納したり、1つのユーザ装置種別識別子に対して複数のSAM種別識別子を対応付けて格納したりしてもよい。
【0020】
図5は第2テーブルを説明する模式図である。
図5に示すように、第2テーブルには、SAMIDとSAM種別識別子とセッションIDとが対応付けて格納される。SAMIDはSAMを一意に識別する番号である。SAMIDにより、複数のSAMから一のSAMを選択することが可能になる。
【0021】
サーバ30は複数のSAM42、44、46を備えている。ここで、ある1つのSAMのSAM種別は少なくとも他の1つのSAMのSAM種別と異なる。ある1つのSAMとは、複数のSAM42、44、46から任意に選択される1つのSAMである。複数のSAM42、44、46の中からどの1つのSAMを選択した場合でも、当該1つのSAMのSAM種別は、複数のSAM42、44、46に含まれる少なくとも他の1つのSAMのSAM種別と異なる。つまり、SAM42はSAM44、46の少なくとも一方とSAM種別が異なっており、SAM44はSAM42、46の少なくとも一方とSAM種別が異なっており、SAM46はSAM42、44の少なくとも一方とSAM種別が異なっている。
【0022】
サーバ30が複数のSAM42、44、46を備える形態は特に限定されない。例えば、複数のSAM42、44、46は、サーバ30が有するスロットに差し込まれる形でサーバ30に内蔵されてもよいし、USBケーブルやLANケーブルなどを用いてサーバ30に接続されてもよい。
【0023】
図6はサーバ30の動作例を説明するフローチャートである。以下、
図6を参照しつつ、サーバ30の動作例について説明する。
【0024】
(ステップS1)
サーバ30は、セッションIDとコマンド情報を含むパケットをリーダライタ装置22、24に送信し、ステップS2に進む。
【0025】
(ステップS2)
サーバ30は、リーダライタ装置22、24からパケットを受信したかどうかを判断し、受信した場合にはステップS3に進む。
【0026】
(ステップS3)
サーバ30は、ステップS2で受信したパケットからセッションIDとユーザ装置種別識別子とレスポンス情報を読み出し、ステップS4に進む。
【0027】
(ステップS4)
サーバ30は、ステップS3で読み出したセッションIDが第2テーブルに格納されているかどうかを判断し、格納されている場合にはステップS5に進み、格納されていない場合にはステップS8に進む。
【0028】
(ステップS5)
サーバ30は、ステップS3で読み出したセッションIDに対応付けられているSAMIDを第2テーブルから読み出し、この読み出したSAMIDのSAMを複数のSAM42、44、46から選択し、この選択した一のSAMでステップS3で読み出したレスポンス情報を処理し、ステップS6に進む。
【0029】
(ステップS6)
サーバ30は、ステップS5でのレスポンス情報の処理によりセッションが完了したかどうかを判断し、完了した場合にはステップS7に進み、完了していない場合にはステップS1に戻って新たなコマンド情報を含むパケットをリーダライタ装置に対して送信する。
【0030】
(ステップS7)
サーバ30は、ステップS5で選択したSAMのSAMIDに対応付けて格納されているセッションIDを第2テーブルから削除する。
【0031】
(ステップS8)
サーバ30は、第1テーブルにおいてステップS3で読み出したユーザ装置種別識別子に対応付けられているSAM種別識別子を第1テーブルから読み出し、ステップS9に進む。
【0032】
(ステップS9)
サーバ30は、ステップS8で読み出したSAM種別識別子に対応付けられているSAMIDを第2テーブルから読み出し、読み出したSAMIDのSAMを選択し、ステップS10に進む。
【0033】
(ステップS10)
サーバ30は、ステップS9で選択したSAMで、ステップS3で読み出したレスポンス情報を処理し、ステップS11に進む。
【0034】
(ステップS11)
サーバ30は、ステップS9で選択したSAMのSAMIDに対応付けてステップS3で読み出したセッションIDを第2テーブルに格納し、ステップS6に進む。
【0035】
以上説明した実施形態1に係るシステム1によれば、一台のサーバ30で複数の異なるユーザ装置種別のユーザ装置に対応できる。例えば、ユーザ装置12とユーザ装置14のユーザ装置種別が異なる場合であっても、一台のサーバ30でこれらのユーザ装置に対する決済処理などを実現することができる。また、実施形態1に係るシステム1によれば、一台のリーダライタ装置で複数の異なるユーザ装置種別のユーザ装置に対応できる。例えば、一台のリーダライタ装置22により、ユーザ装置種別が異なる複数のユーザ装置の決済処理などを実現することができる。また、実施形態1に係るシステム1によれば、一のアルゴリズムと他のアルゴリズムが搭載された新たなSAMを開発することなく、一のアルゴリズムが搭載された既存のSAMと他のアルゴリズムが搭載された既存のSAMとを活用して、複数の異なるユーザ装置種別のユーザ装置に対応できるシンクライアント型システムを構築することができる。したがって、シンクライアント型システムの導入に要するコストと時間を削減することができる。
【0036】
[実施形態2に係るシステム]
図7は第1テーブルの他の例を説明する模式図である。
図8は第2テーブルの他の例を説明する模式図である。
図9はサーバ30の他の動作例を説明するフローチャートである。
図7から
図9に示すように、実施形態2に係るシステムは、次の点で、実施形態1に係るシステム1と相違する。その他の点は実施形態1に係るシステム1と同じ構成を有する。
【0037】
まず、実施形態2に係るシステムは、ユーザ装置種別識別子とSAM種別識別子とセッション数上限値とを対応付けて格納する第1テーブルと、SAMIDとSAM種別識別子とセッションIDとセッション数とを対応付けて格納する第2テーブルと、を記憶する点で実施形態1に係るシステム1と相違する。
【0038】
また、実施形態2に係るシステムは、読み出したセッションIDが第2テーブルに格納されていない場合には、読み出したユーザ装置種別識別子に対応付けられているSAM種別識別子とセッション数上限値とを第1テーブルから読み出し、読み出したSAM種別識別子と読み出したセッション数上限値未満のセッション数とに対応付けられているSAMIDを第2テーブルから読み出し、読み出したSAMIDのSAMを一のSAMとして選択し、選択した一のSAMのSAMIDに対応付けて読み出したセッションIDを第2テーブルに格納し、選択したSAMのSAMIDに対応付けて第2テーブルに格納されているセッション数をインクリメントする点で実施形態1に係るシステム1と相違する。インクリメントとは数を1つ増やすことをいう。
【0039】
また、実施形態2に係るシステムは、選択した一のSAMでの処理が完了した場合に、選択した一のSAMのSAMIDに対応付けて第2テーブルに格納されているセッション数をデクリメントする点で実施形態1に係るシステム1と相違する。デクリメントとは数を1つ減らすことをいう。
【0040】
実施形態2に係るシステムによっても、実施形態1に係るシステム1と同様の効果を得ることができる。また、実施形態2に係るシステムによれば、個々のSAM42、44、46が過負荷に陥ることを防止することができる。
【0041】
以上、実施形態について説明したが、これらの説明によって特許請求の範囲に記載された構成は何ら限定されるものではない。
【解決手段】ネットワークを介してリーダライタ装置に接続され、ある1つのSAMのSAM種別が少なくとも他の1つのSAMのSAM種別と異なる複数のSAMを備え、前記リーダライタ装置からパケットを受信し、前記受信したパケットからレスポンス情報を読み出し、前記複数のSAMから選択した一のSAMで前記読み出したレスポンス情報を処理するサーバ。