(57)【要約】【課題】ユーザ数に応じてシステム容量を最適化でき、ユーザの信頼性低下を最小限に止めることができるサーバシステムを提供する。【解決手段】分散サーバシステムは、少なくともデータ記憶手段を含み、カード型情報媒体のユーザに対して同じサービスを提供する複数のサーバと、各カード型情報媒体をいずれかのサーバと対応させた対応情報が登録され、カード型情報媒体からアクセスがあったときに、当該カード型情報媒体に対応するサーバにルーティングするゲートウェイとを備え、前記ゲートウェイはサーバが増設されたときに、当該サーバと当該サーバがサービスを提供するカード型情報媒体との対応情報を追加的に登録できるように構成される。【選択図】図１
2008123334.tif 000002
【特許請求の範囲】
【請求項１】
カード型情報媒体に基づいて当該カード型情報媒体のユーザにサービスを提供する分散サーバシステムであって、
少なくともデータ記憶手段を含み、カード型情報媒体のユーザに対して同じサービスを提供する複数のサーバと、
各カード型情報媒体をいずれかのサーバと対応させた対応情報が登録され、カード型情報媒体からアクセスがあったときに、当該カード型情報媒体に対応するサーバにルーティングするゲートウェイとを備え、
前記ゲートウェイは、サーバが増設されたときに、当該サーバと当該サーバがサービスを提供するカード型情報媒体との対応情報を追加的に登録できるように構成されていることを特徴とする分散サーバシステム。
【請求項２】
請求項１に記載の分散サーバシステムであって、前記サーバに含まれる記憶手段が揮発性メモリであることを特徴とする分散サーバシステム。
【請求項３】
請求項１または２に記載の分散サーバシステムであって、
さらに、前記複数のサーバのデータをバックアップする共有データベースを備え、
前記各サーバは、所定のタイミングで前記共有データベースへ各前記サーバそれぞれの記憶手段に記憶されたカード型情報媒体に関するデータを送信し、
前記共有データベースは、前記データを受信し、格納する、
ことを特徴とする分散サーバシステム。
【請求項４】
請求項１ないし３のいずれか一項に記載の分散サーバシステムであって、前記ゲートウェイが複数設けられ、前記複数のゲートウェイが別々のネットワークアドレスを有し、カード型情報媒体からのアクセスが前記複数のゲートウェイに対して同時に行なわれることを特徴とする分散サーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステム、特に分散サーバシステムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、サーバからネットワークを介してサービスを提供する形態が増加している。このようなサービスを実現するためには、必要な機能やデータなどを提供するサーバを用意する必要があるが、かかるサーバは提供するサービスごとに用意され、一つのサーバは、そのサービスの提供を受ける全ユーザについての処理を行うとともに、そのサービスに関するすべてのデータを格納するのが一般的である。
【０００３】
しかし、一つのサーバのみを用意する場合、ユーザの拡大に伴いそのトラフィック量、およびデータ量が増え続けていくと、一定のレスポンス速度を確保することが困難となる。利用者の数に対して十分な性能を有するサーバを使用すれば、一定のレスポンスを得ることは可能であるが、大量の処理を高速で行なう高性能サーバは高額である。また、システムの設計段階において、将来のユーザ数についての長期的な予測を正確に行ない、適切な性能を有するサーバを選択することは難しい。将来予測されるユーザ数に合わせて高額な高性能サーバを用意したとしても、ユーザ数の少ない初期段階においては、サーバの能力を十分に活用することができず無駄が生じる。
【０００４】
電子マネーやＰＯＳシステムのようなシステムにおいては、ユーザからの信頼は重要である。ユーザからの信頼を損なう一つの原因は、何らかの原因による全サービスの停止である。前述のサーバが一つであるシステムは耐障害性が低く、ユーザの信頼性を損なう恐れがある。すなわち、唯一のサーバが何らかの不具合により正常に動作しなくなると、サービス全体を停止しなければならない。同様の問題は、ユーザ数がサーバの性能を超えて増加した場合のように、サーバをより高性能な新しいサーバに交換する場合にも生じる。
【０００５】
耐障害性を向上させるための方法として、サーバを冗長化することが考えられる。例えば、図４に示すように、同様の機能を備えた複数のサーバ６０を用意することでサーバ６０を二重化し、それらをロードバランサ７０のようなゲートウェイによってネットワーク３０へ接続し、トラフィックを制御するシステムが考えられる。このシステムにおいては、一つのサーバ６０1がダウンしてしまった場合であっても、同様の機能を有するその他のサーバ６０2が正常に動作し続けるため、サービスが停止する危険性が低下し、耐障害性が向上する。
【０００６】
しかし、かかる二重化システムにおいては、複数のサーバ６０はサーバ６０間で同様のデータを有している必要があるため、サーバ６０間でデータ照合を行なわなければならない。このデータ照合作業は、複雑な処理を必要とし、データ照合が失敗した場合には復旧のためにさらに複雑な処理を要するため、サーバのサービス提供に対する処理能力を低下させる。また、二重化システムは、高額なサーバ６０を複数個用意しなければならないため、極めて高価なシステムとならざるを得ない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記事情に基づいてなされたものであり、サービスのユーザ数に応じてシステム容量を最適化することを可能にするとともに、システムの一部が停止した場合でもユーザから見た信頼性の低下を最小限に止めることのできるサーバシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明のカード型情報媒体に基づいて当該カード型情報媒体のユーザにサービスを提供する分散サーバシステムは、少なくともデータ記憶手段を含み、カード型情報媒体のユーザに対して同じサービスを提供する複数のサーバと、各カード型情報媒体をいずれかのサーバと対応させた対応情報が登録され、カード型情報媒体からアクセスがあったときに、当該カード型情報媒体に対応するサーバにルーティングするゲートウェイとを備え、前記ゲートウェイは、サーバが増設されたときに、当該サーバと当該サーバがサービスを提供するカード型情報媒体との対応情報を追加的に登録できるように構成されていることを特徴とする。
【０００９】
上記発明においては、前記サーバに含まれる記憶手段を揮発性メモリとしてもよい。
【００１０】
上記発明においては、さらに、前記複数のサーバのデータをバックアップする共有データベースを備え、前記各サーバは、所定のタイミングで前記共有データベースへ各サーバそれぞれの記憶手段に記憶されたカード型情報媒体に関するデータを送信し、前記共有データベースは、前記データを受信し、格納することとすることもできる。
【００１１】
あるいはまた、前記ゲートウェイが複数設けられ、前記複数のゲートウェイが別々のネットワークアドレスを有し、カード型情報媒体からのアクセスが前記複数のゲートウェイに対して同時に行なわれるようにしてもよい。
【発明の効果】
【００１２】
カード型情報媒体のユーザに対して同一のサービスを提供する複数のサーバと、各カード型情報媒体をいずれかのサーバと対応させた対応情報が登録され、カード型情報媒体からアクセスがあったときに、当該カード型情報媒体に対応するサーバにルーティングするゲートウェイとを用いるようにすることで、各サーバは一部のユーザのみを処理すればよいため、安価なサーバでシステムを構成することが可能になるとともに、ユーザの信頼性を損なう恐れを減少させることができる。
また、前記ゲートウェイを、サーバが増設されたときに、当該サーバと当該サーバがサービスを提供するカード型情報媒体との対応情報を追加的に登録できるように構成することで、ユーザ数の増加に応じて、適宜サーバを追加することが容易であるため、常に適切なシステム容量を得ることが可能となる。
【発明を実施するための最良の形態】
【００１３】
［実施形態１］
以下、本発明の第１の実施形態について、図面を参照して説明する。図１において、本発明に係る分散サーバシステムを実施するための構成を概略的に示す。本実施形態においては、カード型情報媒体は、非接触ＩＣカードとするが、クレジットカード等の情報を含んだカードであればどのようなものであってもよい。
【００１４】
本実施形態における、非接触ＩＣカードに基づいて当該非接触ＩＣカードのユーザにサービスを提供するための分散サーバシステムは、少なくともデータ記憶手段を含み、非接触ＩＣカードのユーザに対して同じサービスを提供する複数のサーバ１０（１０1，・・・，１０n）と、各非接触ＩＣカードをいずれかのサーバと対応させた対応情報が登録され、非接触ＩＣカードからアクセスがあったときに、当該非接触ＩＣカードに対応するサーバにルーティングするゲートウェイ２０とを備えている。
【００１５】
サーバ１０およびゲートウェイ２０はネットワーク３０へ接続され、当該ネットワーク３０には、カード型情報媒体読取手段としての非接触ＩＣカードリーダ４０（４０1，・・・，４０m）が接続されている。非接触ＩＣカードリーダ４０は、サービスの提供を希望するユーザの非接触ＩＣカードに記憶されている情報を読み出すとともに、読み出した情報をサーバ１０へ送信する。非接触ＩＣカードリーダ４０は複数個存在することが可能であり、例えばコンビニエンスストアチェーンの各店舗ごとに設置することが想定される。各ユーザは、どの非接触ＩＣカードリーダ４０からでも、同じサービスの提供を受けることができる。これらのサーバ１０およびゲートウェイ２０を備えた分散サーバシステムと、ネットワーク３０と、非接触ＩＣカードリーダ４０とを用いることで、サービスを提供するサービス提供システムが構築される。
【００１６】
本実施形態においては、ネットワーク３０は、インターネットとする。本発明におけるサービス提供システムが提供するサービスとしては、例えば、非接触ＩＣカードを用いた電子マネーサービスや、ポイントサービスなどが考えられる。
【００１７】
図１では、サーバ１０およびゲートウェイ２０の両方がネットワーク３０へ接続されているが、非接触ＩＣカードリーダ４０にネットワークを通じて接続されれば、どのように構成されてもよい。例えば、ゲートウェイ２０のみがネットワーク３０へ接続され、サーバ１０はゲートウェイ２０へ接続されるような形態とすることもできる。
【００１８】
本実施形態において、本システムに含まれるサーバ１０は複数台であり、ユーザの数に応じて増設されることが想定されている。前記ゲートウェイ２０は、サーバ１０が増設されたときに、当該サーバ１０と当該サーバ１０がサービスを提供する非接触ＩＣカードとの対応情報を追加的に登録できるように構成されている。
【００１９】
本実施形態においては、まず、分散サーバシステムが提供するサービスについて登録されたユーザが有する非接触ＩＣカードを、いずれかのサーバ１０に振り分けて割り当てる。ユーザを識別する方法としては、非接触ＩＣカードに含まれるカードＩＤを用いることができる。
【００２０】
各サーバ１０へのユーザの割り当ては、例えば、各サーバ１０の処理能力に応じて個々の割り当て可能な最大ユーザ数を決定し、その容量内でカードＩＤを各サーバ１０に振り分けることで行なわれる。全体のユーザ数が１万人だとした場合に、例えば各ユーザの有するカードＩＤに０〜９９９９のユーザ番号を対応付けるとともに、１つのサーバで１０００人のユーザを処理する能力を備えたサーバを１０個用意する。そして、第１のサーバ１０1にはユーザ番号０番から９９９番までのカードＩＤ（すなわちユーザ）を割り当て、第２のサーバ１０2には１０００から１９９９番のカードＩＤを割り当てる。同様の手順で第１０のサーバ１０10まで割り当てを行なうことで、各サーバ１０にそれぞれ異なる１０００人ずつのカードＩＤが割り当てられる。
【００２１】
そして、ゲートウェイ２０には、どのカードＩＤがどのサーバ１０に割り当てられているのかの対応情報を登録する。各サーバ１０にユーザを割り当てる方法は、ランダムに割り当てる方法などその他様々な方法が考えられる。各サーバ１０は、割り当てられたカードＩＤ番号についての必要な情報を各サーバ１０に備えられた記憶手段に記憶する。また、各サーバ１０に割り当てられる人数は、各サーバ１０の性能に基づいて個別に決定すればよく、各サーバ１０への割り当てユーザ数が同じである必要はない。なお、本実施形態では、各サーバの記憶手段としてハードディスクなどの不揮発性の記憶手段を用いる。
【００２２】
次に、ユーザがサービスを希望する場合に、サービス提供システムにおいてどのような処理がなされるかについて説明する。
【００２３】
例えば、サービスを希望するユーザの有する非接触ＩＣカードのカードＩＤは１番のユーザ番号に対応付けられているものとする。ユーザが、当該非接触ＩＣカードを非接触ＩＣカードリーダ４０に近接させると、カードＩＤおよびその他の必要な情報が読み出され、これらの情報とともにサービス要求がゲートウェイ２０へ送信される。
【００２４】
当該情報及び当該サービス要求を受信したゲートウェイ２０は、その情報からカードＩＤを取り出し、登録されたカードＩＤとサーバの対応情報から、当該ＩＣカードＩＤが対応付けられたサーバが、第１のサーバ１０1であることを見出し、当該サービス要求を第１のサーバ１０1へルーティングする。当該サービス要求を受信したサーバ１０1は、サービスに応じた処理を実行する。当該サーバ１０1は、必要に応じて当該ユーザの情報を記憶したり、予め記憶された情報を更新する。
【００２５】
ここで、本発明の特徴は、各サーバはユーザごとに切り分けがなされ、各サーバ１０に対応付けられたユーザについてのみ処理を行い、基本的に、各サーバ１０に対応付けられたユーザについて他のサーバが情報をもつことはなく、処理を行なうこともない。
【００２６】
このため、全ユーザを一括で処理するサーバに比べて、各サーバ１０が処理すべきトラフィック量は少なくてすむ。したがって、比較的性能が低く安価なサーバであっても十分なレスポンス速度を確保でき、高価な高性能サーバを用いた場合と同程度の品質でサービスを提供することができる。しかも、サーバ１０は、ユーザごとに切り分けられるため、ユーザが増加した場合でも、増加分に対応できるだけのサーバを追加し、ゲートウェイに増加分のユーザとサーバとの対応情報を更新するだけで、システム全体の容量を増加することができ、無駄な投資を避けることができる。
【００２７】
本実施形態を用いたサーバシステムにおいては、一部のサーバがダウンすると、そのサーバに割り当てられたユーザに対してのみサービスが停止され、正常動作中のサーバに割り当てられたユーザは、何ら影響を受けずにサービスを継続して利用することが可能である。
【００２８】
例えば、本実施形態を利用したサービス提供システムにおいて、何らかの原因でサーバ１０1がダウンしたとする。この場合に、サーバ１０1に割り当てられたユーザＡがＩＣカードリーダ４０1からサービスの提供を要求してもユーザＡはサービスの提供をうけることができない。これを見た別のユーザＢ（サーバ１０2に対応付けられているとする）が同じＩＣカードリーダ４０1からサービスの要求を試みると、この場合にはサービスの提供を受けることができる。かかる状況をユーザの立場から見ると、サービス提供システムが不具合を起こしているようには見えない。したがって、サービス提供システムに対するユーザの信頼性低下を防止することができる。
【００２９】
また、上記の例で、例えば、ユーザＡが提供を希望するサービスが電子マネーである場合において、ユーザＡの代わりにユーザＢが支払いを行なうことで、ユーザＡのサービス要求を満たすことができる場合もある。このように、一部のユーザのみがサービスを使用できなくなるという状況は、すべてのサービスがダウンしてしまう事態に比べ、格段に深刻性が低い。
【００３０】
すなわち、本実施形態のシステムによれば、高価なサーバを複数台用意しなければない二重化されたサーバを有するサーバシステムに比べて、極めて安価にユーザの信頼性を最小限に止めつつ、安定したサービスを提供することができる。
【００３１】
［実施形態２］
本発明の第２の実施形態について、第１の実施形態と同様に図１を参照して説明する。基本的な構成は第１の実施形態と同様である。ただし、第１の実施形態では不揮発性の記憶手段とした各サーバ１０の記憶手段は、本実施形態ではＤＲＡＭなどの揮発性メモリである点で異なる。その他の点については、第１の実施形態と同様である。
【００３２】
各サーバがすべてのユーザについての処理を実行するシステムにおいては、各サーバは全ユーザの情報を記憶しなければならないため、サーバの記憶手段として揮発性メモリを用いたのでは、十分な容量を確保できないおそれがある。しかし、本実施形態では、各サーバに対応させるユーザ数を予め決めることができるので、このユーザ数を、設置する揮発性メモリの容量で対処できる数に設定すればよい。このようにすると、各サーバは、ユーザからサービス要求があるたびにハードディスクにアクセスする必要がないので、より高速な処理を実現することができる。そして、ユーザ数が増えた場合にはサーバ自体を増設すればよい。
【００３３】
［実施形態３］
本発明の第３の実施形態について、図２を参照して説明する。本実施形態の基本的な構成は第１または第２の実施形態と同様であるが、本実施形態ではさらに、複数のサーバ１０のデータをバックアップする共有データベース５０を備えている。本実施形態は、各サーバの記憶手段が揮発性メモリである第２の実施形態に対して適用すると特に有効である。揮発性メモリは、電源を切ってしまうとデータが失われてしまうため、データバックアップの必要性が特に高いためである。
【００３４】
各サーバ１０は、それぞれの記憶手段に記憶されたカード型情報媒体に関するデータを所定のタイミングで共有データベース５０へ送信し、共有データベース５０は受信した前記データを格納する。
【００３５】
データ送信のタイミングは、例えば、ユーザからのサーバ１０に対するアクセスタイミングに同期してデータ送信を行なうことができる。このような同期型のデータ送信においては、ユーザからのアクセスが頻繁にある場合には、データ送信が頻繁に発生し、サーバ１０のサービス提供のための処理能力を低下させる可能性がある。あるいは、非同期型のデータ送信であって、例えば、一定周期ごとに更新された情報を送信する方法を採用することも考えられる。また、その他にもイベントドリブン（Ｅｖｅｎｔ  Ｄｒｉｖｅｎ）型のようなデータ送信であってもよい。
【００３６】
本実施形態によれば、あるサーバ１０xがダウンしてしまった場合においても、共有データベース５０がサーバ１０xについての情報を記憶しているため、新たなサーバ１０yを用意し、共有データベース５０から、当該新たなサーバ１０yへ、ダウンしてしまったサーバ１０xが記憶していた情報をコピーすることで、ユーザ情報を失うことなく直ちにサービスを復旧することができる。
【００３７】
さらに、すべてのサーバ１０へのアクセス情報を確認して統計データを取得したい場合などにおいて、共有データベース５０を有していれば、各サーバ１０へ個別にアクセスすることなく、共有データベース５０へアクセスするだけで、すべてのサーバ１０が有するデータを取得することができるため、効率的にデータを取得できるという利点を有している。その他の点については、第１または第２の実施形態と同様であり、詳細な説明は省略する。
【００３８】
［実施形態４］
本発明の第４の実施形態について、図３を参照して説明する。基本的な構成は、第１ないし第３の実施形態と同様であるが、本実施形態では複数のゲートウェイ２０（２０1、２０2）が設けられ、各ゲートウェイに別々のネットワークアドレスが付与されている。ネットワークアドレスは、ネットワーク３０がインターネットである場合には、例えば、ＩＰアドレスである。
【００３９】
実施形態１ないし３で示した分散サーバシステムは、サーバ１０が複数用意されているため、前述のように、一つのサーバがダウンしてしまった場合においても、サービス全体が停止することはない。しかし、ゲートウェイ２０は一つであるため、ゲートウェイ２０が何らかの不具合によってダウンしてしまった場合には、サービス全体が停止してしまう。
【００４０】
これに対して本実施形態では、サービスの利用を希望するユーザがサービスを要求する場合、非接触ＩＣカードは、二つのゲートウェイ２０が有するそれぞれのＩＰアドレスへ向けて、二つのサービス要求をネットワーク３０を通じて同時にそれぞれ別個に送信する。
【００４１】
この場合においては、複数のゲートウェイ２０が存在しているため、それぞれが同時に動作するとゲートウェイ２０からの出力信号が錯綜し問題が生じる。このような問題を解決するゲートウェイ２０の制御方法としては、様々な方法が考えられるが、例えば、一つのゲートウェイ２０1のみをアクティブ状態とし稼動させて、その他のゲートウェイ２０2はスタンバイ状態とすることが考えられる。
【００４２】
そして、アクティブなゲートウェイ２０1がダウンした場合は、スタンバイ状態のゲートウェイ２０2をアクティブ状態して稼動させる。これにより、一つのゲートウェイがダウンしてしまった場合でも、継続的にサービス提供を行なうことができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態１および実施形態２の概略構成図を示す。
【図２】本発明の実施形態３の概略構成図である。
【図３】本発明の実施形態４の概略構成図である。
【図４】二重化サーバシステムを用いたサービス提供システムの構成図である。
【符号の説明】
【００４４】
１０・・・サーバ
２０・・・ゲートウェイ
３０・・・ネットワーク
４０・・・ＩＣカードリーダ
５０・・・共有データベース
６０・・・サーバ
７０・・・ロードバランサ
８０・・・サービス要求端末
【図１】
2008123334.tif 000003
【図２】
2008123334.tif 000004
【図３】
2008123334.tif 000005
【図４】
2008123334.tif 000006