Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4445686B2 - Balance management method, balance management program and distributed charge processing system in distributed charge processing system - Google Patents
[go: Go Back, main page]

JP4445686B2 - Balance management method, balance management program and distributed charge processing system in distributed charge processing system - Google Patents

Balance management method, balance management program and distributed charge processing system in distributed charge processing system Download PDF

Info

Publication number
JP4445686B2
JP4445686B2 JP2001249778A JP2001249778A JP4445686B2 JP 4445686 B2 JP4445686 B2 JP 4445686B2 JP 2001249778 A JP2001249778 A JP 2001249778A JP 2001249778 A JP2001249778 A JP 2001249778A JP 4445686 B2 JP4445686 B2 JP 4445686B2
Authority
JP
Japan
Prior art keywords
user
balance
server
distributed
amount
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.)
Expired - Fee Related
Application number
JP2001249778A
Other languages
Japanese (ja)
Other versions
JP2003058717A (en
Inventor
隆久 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2001249778A priority Critical patent/JP4445686B2/en
Publication of JP2003058717A publication Critical patent/JP2003058717A/en
Application granted granted Critical
Publication of JP4445686B2 publication Critical patent/JP4445686B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/765Linked or grouped accounts, e.g. of users or devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/765Linked or grouped accounts, e.g. of users or devices
    • H04M15/7652Linked or grouped accounts, e.g. of users or devices shared by users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/72Account specifications
    • H04M2215/724Linked accounts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/72Account specifications
    • H04M2215/724Linked accounts
    • H04M2215/7245Shared by users, e.g. group accounts or one account for different users

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の分散サーバと少なくとも一つの管理サーバとを用いて多数のユーザに対する課金を分散して処理する分散課金処理システムにおける各ユーザの残金を管理する方法、残金管理プログラム及び分散課金処理システムに関する。
【0002】
【従来の技術】
インターネット上の買物等により電子マネーを利用するユーザが増大している。多数のユーザに対する電子マネーを用いた課金処理を単一のサーバにより処理することは、負荷が単一のサーバに集中することによる処理速度の低下、サーバに障害が発生したときの影響の波及範囲等の点でも問題があり、多くのユーザに対する課金処理を複数のサーバ(以下、分散サーバと呼ぶ)により分散させて処理させるのが現実的である。
【0003】
ネットワークを介して実行される多数のユーザによる取引に対して一つの管理サーバ(ホームサーバとも呼ばれることがある)と複数の分散サーバを用いて課金処理を実行する分散課金処理システムの一例が、特開2000−76332号公報に記載されている。この分散課金処理システムでは、各ユーザがあらかじめ支払った金の残金の一部を管理サーバから各分散サーバにあらかじめ送金しておく。いずれかの分散サーバにおいて、いずれかのユーザに対する課金処理を実行するときに、当該分散サーバ内の当該ユーザの残金が当該課金処理に必要な額より多い場合、当該分散サーバ内の当該ユーザの残金を用いて当該課金処理を実行し、それにより管理サーバと交信しないで、課金処理を当該分散サーバで実行する。
【0004】
しかし、当該分散サーバにおける当該ユーザの残金が課金処理に必要な額より不足している場合には、当該不足額の送金を当該分散サーバより管理サーバに要求する。管理サーバ内にある当該ユーザの残金から要求された不足額の残金を当該要求元のサーバに当該管理サーバから送金する。もし管理サーバ内の当該ユーザに対する残金が要求された不足額に足りないとき、要求元の分散サーバ以外の他の分散サーバから管理サーバにより当該ユーザの残金を回収して、当該回収された残金を用いて要求された不足額の残金を当該管理サーバから当該要求元のサーバに送金している。
【0005】
なお、上記特開2000−76332号公報では、分散サーバと管理サーバとの間の残金の送金回数を減らすために、要求元の分散サーバ以外の他の分散サーバから管理サーバにより回収される当該ユーザの残金の額を、当該不足額より多い額にすることを提案している。典型的には、当該他の分散サーバにおける当該ユーザの残金の半分が管理サーバに送金される。
【0006】
【発明が解決しようとする課題】
特開2000−76332号公報に記載の分散課金処理システムでは、各分散サーバにおいてユーザに対して課金処理を実行する時点で、当該ユーザの残金が不足であると判明したときに、管理サーバに対して不足額の送金を要求し、管理サーバが、その要求を受けてから不足額を当該分散サーバに送金する。管理サーバの負荷が大きいときには、管理サーバがこの要求を処理するまでに時間が掛かることがある。あるいはネットワークが混雑し、管理サーバと分散サーバの間の通信に時間が掛かることがある。こうして、管理サーバが不足額の送金の要求を分散サーバから受けてから分散サーバに不足額を送金するまでに時間が掛かることが起きる。この間、ユーザは課金処理の完了を待つ状態になり、分散サーバの処理能力も低下することになる。
【0007】
買物の実態を調べると、高額の品物をごくまれに購入するという利用形態以外に、ほぼ毎日あるいはそれに近い頻度で少額の品物を購入するという用途もある。例えば、日常の食品、書籍、売店やコンビニエンスストアに置かれているような小物とかの商品の購入の場合である。後者のような品物を購入するユーザに対して、買物のたびに残金の不足が発生し分散サーバから管理サーバに不足した残金の送金を要求すると、ユーザが課金処理の完了待ち状態になる頻度が高くなる。
【0008】
したがって、本発明の目的は、少なくとも一つの管理サーバと複数の分散サーバからなる分散管理システムにおいて、いずれかの分散サーバによりいずれかのユーザの課金処理を実行するときにユーザの残金不足が発生する頻度を減らし、もって残金不足が発生した場合に必要となる不足額送金による課金処理時間の増大を防ぐことである。
【0009】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る残金管理方法は、複数の分散サーバと、少なくとも一つの管理サーバとを有し、ユーザがあらかじめ支払った金の残金を管理し、ユーザが商品又はサービスを購入したときに当該ユーザに対する課金を購入額に応じて処理する分散課金処理システムにおける残金管理方法である。
【0010】
より具体的には、前記分散課金処理システムは、各ユーザがあらかじめ支払った金の残金の一部を前記管理サーバから各分散サーバにあらかじめ送金し、いずれかの分散サーバにおいて、いずれかのユーザに対する課金処理を実行するときに、当該分散サーバ内の当該ユーザの残金が当該課金処理に必要な額より多い場合、当該分散サーバ内の当該ユーザの残金を用いて当該課金処理を実行し、当該分散サーバにおける当該ユーザの残金が課金処理に必要な額より不足している場合、当該不足額の送金を当該分散サーバより前記管理サーバに要求し、前記管理サーバ内にある当該ユーザの残金から前記要求された不足額の残金を当該要求元のサーバに当該管理サーバから送金し、若しくは前記管理サーバ内の前記ユーザに対する前記残金が前記要求された不足額に足りないとき、少なくとも当該足りない額の残金を前記要求元の分散サーバ以外の他の分散サーバから前記管理サーバにより回収して、当該回収された残金を用いて前記要求された不足額の残金を当該管理サーバから当該要求元のサーバに送金する分散課金処理システムである。
【0011】
本発明に係る残金管理方法は、前記管理サーバにより、各分散サーバにおける各ユーザの残金が当該ユーザ毎にあらかじめ定められた補充基準額に達しているか否かを定期的に検査し、前記検査の結果、いずれかのユーザのいずれかの分散サーバ内の残金が前記補充基準額から不足していることが判明したとき、前記管理サーバ内の当該ユーザの残金のうち当該補充基準額からの不足額を当該分散サーバ内の当該ユーザの残金に対して補充する、ステップを含むものである。
【0012】
これにより、いずれかの分散サーバにおけるいずれかのユーザの残金が当該ユーザに対してあらかじめ定めた補充基準額に達していない場合、管理サーバから当該分散サーバに当該ユーザの残金があらかじめ補充される。したがって、当該ユーザが後に買物をしたとき、買物に伴う課金が上記補充基準額以上であれば、当該分散サーバにおいて残金の不足が発生しないので、当該分散サーバから管理サーバに対して不足額の送金要求が発せられることはなく、当該ユーザに対する課金処理を当該分散サーバにより迅速に実行できる。
【0013】
具体的には、前記検査は、毎日あらかじめ定めた条件を満たす時刻又は時間帯に実行される。上記時刻又は時間帯は、例えば、ユーザの利用が減少して分散サーバ及び管理サーバの負荷が大幅に減少する深夜の一定の時刻帯である。あるいは分散サーバ及び管理サーバの負荷を検出してあらかじめ定めた負荷限界値より小さいことが検出されたときに、上記検査を行うようにしてもよい。更に、各ユーザに対して定められた前記補充基準額は、当該ユーザがあらかじめ支払った残金の額に依存して定められる。例えば、各ユーザがあらかじめ支払った金の額に比例して当該ユーザに対する補充基準額を決めてもよい。前記検査は、前記管理サーバにより実行されることが望ましい。しかし、前記検査は、前記複数の分散サーバにより分散して実行されることが望ましい場合もある。
【0014】
【発明の実施の形態】
以下、本発明に係る分散課金処理システム、残金管理方法及び残金管理プログラムの実施の形態を図面を参照して詳細に説明する。
【0015】
図1は、本発明に係る分散課金処理システムの一つの実施の形態のシステム構成図である。本分散課金処理システムは、各ユーザに対する課金をそれぞれ行うための複数の分散サーバ130、140と、これらの分散サーバへの各ユーザの残金の供給を管理するための少なくとも一つの管理サーバ101とを有する。本システムは、ユーザがあらかじめ支払った金(以下、プリペイドマネーと呼ぶことがある)の残金を管理し、ユーザが商品又はサービスを購入したときに当該ユーザに対して実行する課金を購入額に応じて処理する。
【0016】
図では分散サーバは二つのみ示されているが、使用される分散サーバの数は特に限定されない。本分散課金処理システムにより管理される残金は、電子マネーの形態で管理されてもよく、電子マネーを用いないで残金の金額だけが管理されてもよい。
【0017】
課金の対象となる買物は、いろいろな形態で実行することができる。端末151又は152は、インターネット上の市場をアクセスするパソコン(PC)や、カードを入力できる特殊な端末の場合も考えられる。いずれの場合も、端末151又は152からの分散サーバ130又は140へのアクセスは、負荷分散装置150を介して行われるものとする。以下ではいろいろな買物の実行形態の例を図2を参照して更に詳しく説明する。
【0018】
なお、同図において、符号又は記号は次を意味する。150は図1の負荷分散装置150であり、151は図1の端末151である。STは店員が操作する端末、PTは購買者が操作する端末、PCは家庭内のパソコンである。両方向矢印(←→)は商品の参照・選択を示し、片方向矢印(→)は購入した商品の精算を示す。図2において、負荷分散装置150には、実際には図1に示された複数の分散サーバ130、140と管理サーバ101とがインターネット、イントラネット、LANその他のネットワークを介して接続されているが、図2ではこれらのサーバは簡単化のために図示されていない。また、端末150、151と負荷分散装置150は、インターネット、イントラネット、LANその他の適当なネットワークを介して接続されるが、図にはそのネットワークを特に示していない。負荷分散装置150と複数の分散サーバ130、140と管理サーバ101とを接続するネットワークについても同様である。
【0019】
第1の例は、図2(a)に示すように、書籍、日常の食品、売店やコンビニエンスストアに置かれているような小物等の商品を販売している実店舗において、購買者が購入した商品の精算に使用する店内端末STが端末151(以下、端末#1と呼ぶことがある)あるいは端末152(端末#2と呼ぶことがある)の場合である。この場合は、店員が端末151を操作する。
【0020】
第2の例は、同図(b)又は(c)に示すように、購買者が端末151を操作して購入する商品を選択し、かつこれら商品の中から購入する商品について購買者自身が端末151を操作してその精算をする場合である。この場合、端末151は店員のいる実店舗内にあってもよく、また端末151だけが設置されている無人店舗であってもよい。さらに、同図(b)のように、購買者に提示する商品の保有元が端末151であってもよく(ローカル保有)、同図(c)に示すように、端末151とは異なるサーバGが保有している(リモート保有)商品を端末151がネットワークを経由してこの装置から取寄せて購買者に提示してもよい。
【0021】
第3の例は、同図(d)から(g)に示すように、購買者が家庭内パソコン(PC)を使用してオンラインショッピングする場合である。購買者によるPCの操作によって提示された商品を参照して購入する商品を選択し、かつこれら商品の中から購入する商品について購買者が該PCを操作してその精算をする。購買者の精算操作によって該PCが負荷分散装置150であるサーバLに直接的または間接的に接続される。この場合、同図(d)と(e)においてはPCが端末151であり、同図(f)と(g)においてはサーバVが端末151である。さらに、同図(d)と(f)のようにPCと隣接するサーバが一つであってもよく、また同図(e)と(g)のように隣接するサーバが複数であってもよい。
【0022】
なお、商品あるいはサービスはその場でユーザが受け取ってもよくあるいは別の時刻、別のところで受け取ってもよい。必要なら、購入時には購入したユーザを特定するための情報(ユーザID)が入力される。ユーザIDは各ユーザ用に別に準備されたカードに記憶され、このカードを使用してユーザIDが入力されてもよい。
【0023】
端末#1及び端末#2からの購入に対する課金処理を実行するときには、負荷分散装置150により分散サーバ130、140の一つが選択され、選択された分散サーバにより課金処理が実行される。負荷分散装置150は、多数のユーザに対する課金処理を複数の分散サーバにより分散して処理させる。各ユーザに対する課金処理を実行すべき分散サーバの選択は、課金処理を実行すべき契機ごとに、複数の分散サーバをあらかじめ定められた順番にしたがって順次選択するようにしてもよい。他の方法、例えば課金処理を実行すべきユーザのユーザIDに基づいて、課金処理すべき分散サーバを選択することもできる。
【0024】
図3は、管理サーバ101に組み込まれた主なプログラム及び関連するデータを示す。管理サーバ101では、ユーザ個別設定プログラム105、全体課金額制御プログラム107、分散サーバ補充プログラム111が実行される。より具体的には、全体課金額制御プロセス106は、全体課金額制御プログラム107を実行するものであり、管理サーバ101に対して一つ存在する。管理サーバ101上では、ユーザ個別設定プロセス104は、各ユーザに対応して存在し、対応するユーザに関してユーザ個別設定プログラム105を実行する。分散サーバ#1補充プロセス110又は分散サーバ#2補充プロセス120は、それぞれ分散サーバ130又は140に対応して存在し、対応する分散サーバに関して分散サーバ補充プログラム111又は121を実行する。
【0025】
管理サーバ101には、管理サーバ101内のユーザ毎の残金の管理に使用するために全体課金額テーブル108が設けられる。更に、各分散サーバ130又は140内のユーザ毎の残金を管理するためのテーブルとして、分散サーバ#1対応残金テーブル112又は分散サーバ#2対応残金テーブル122が更に設けられている。更に、管理101の動作の制御のために制御パラメータテーブル103が設けられている。
【0026】
図4は、複数の分散サーバ130、140に組み込まれた主なプログラムと関連するデータの例を示す。分散サーバ130又は140上では、分散サーバ課金額制御プロセス131又は141が、当該分散サーバ130又は140上で一つ実行される。分散サーバ課金額制御プロセス131又は141は、それぞれ分散サーバ課金額制御プログラム132又は142を実行するものである。各分散サーバ130又は140には、当該分散サーバ内のユーザ毎の残金を管理するために、分散サーバ内残金テーブル133又は143が設けられる。
【0027】
各ユーザがあらかじめ支払った金は、管理サーバ101の全体課金額制御プロセス106により、管理サーバ101及び各分散サーバ130、140に当該ユーザの残金として分散して設定される。すなわち、全体課金額制御プロセス106は、当該ユーザの額をあらかじめ定めた基準にしたがって管理サーバ101用の残金、各分散サーバ130又は140用の残金に分割し、それぞれの残金を管理サーバ101、各分散サーバ130又は140に設定する。管理サーバ又は分散サーバに設定すべき残金の決定方法は後に説明する。各分散サーバ130又は140へのユーザ別の残金の設定は、全体課金額制御プロセス106が、各分散サーバ130又は140内の分散サーバ課金額制御プロセス131又は141と交信して実行する。
【0028】
いずれかのユーザが購入した商品あるいはサービスに対する課金をいずれかの分散サーバ130又は140において処理するときに、当該分散サーバ130又は140内の当該ユーザの残金が不足していることが判明した場合には、その分散サーバ130又は140内の分散サーバ課金額制御プロセス131又は141より管理サーバ101内のユーザ個別設定プロセス104に不足分の補充を要求する。
【0029】
ユーザ個別設定プロセス104は、要求された不足分の補充を全体課金額制御プロセス106に要求する。全体課金額制御プロセス106は、全体課金額テーブルに登録された当該ユーザの残金の一部を要求された不足額の補充に使用する。こうして、いずれかの分散サーバにおいて課金すべき金額に比べてユーザの残金が不足した場合、その都度、当該分散サーバが管理サーバ101に要求して不足額を当該分散サーバに補充する。
【0030】
なお、このような購入に伴う課金処理において不足額を管理サーバ101が補充する場合、管理サーバ101内の当該ユーザの残金が不足している場合も起こりうる。そのような場合には、管理サーバ101の全体課金額制御プロセス106は、他の分散サーバ、例えば140の分散サーバ課金額制御プロセス141と交信して当該他の分散サーバ140内の同じユーザの残金から不足額を回収し、要求元の分散サーバに補充する。
【0031】
このような、ユーザが商品あるいはサービスを購入したときの課金に必要な残金が不足していることができるだけ発生しないように、管理サーバ101内の分散サーバ#1補充プロセス110又は分散サーバ#2補充プロセス120は、対応する分散サーバ130又は140での各ユーザの残金があらかじめ定めた補充基準額より不足しているか否かを定期的に検査するようになっている。
【0032】
この検査は、毎日あらかじめ定められた条件の時点、例えば分散サーバにおける処理負荷が小さい夜間に行われる。この検査の結果、もしいずれかの分散サーバにおいていずれかのユーザの残金が上記補充基準額より少ないことが判明したとき、その分散サーバ130又は140に対応する分散サーバ#1補充プロセス110又は分散サーバ#2補充プロセス120が、その時点であらかじめその分散サーバ130又は140のそのユーザの残金を補充基準額まで管理サーバ101から補充する。
【0033】
これにより、ユーザが買物をしたとき、課金額が上記補充基準額より少ないときには、課金処理を実行する段階になって残金不足が発生しない。したがって、分散サーバでの残金の不足が発生する回数を減らすことができる。その結果、残金不足が発生した場合に必要な、分散サーバと管理サーバとの間の残金の移動回数を減らすことができ、分散サーバでの課金処理に要する時間を減らすことができる。
【0034】
図5は、図1のシステムで使用されるいろいろなデータの例を示す図である。同図(a)は、全体課金額テーブル108の一例を示す。全体課金額テーブル108には、各ユーザに対応して、当該ユーザの識別情報(ユーザID)108A、当該ユーザの管理サーバ101内の残金108B、補充基準額108C、排他フラグ108D等が記憶される。補充基準額108Cは、既に述べたように、当該ユーザの残金として各分散サーバに補充すべき額を示す。残金の不足が発生する前に行うこのような補充を便宜的に事前補充と呼ぶ。事前補充の額をユーザ毎に定めることもできる。排他フラグ108Dについては後に説明する。
【0035】
同図(b)は、分散サーバ130に対応して管理サーバ101に記憶される、分散サーバ#1対応残金テーブル112の例を示す。分散サーバ#2対応残金テーブル122も全く同じ構造を有する。図に示すように、分散サーバ#1対応残金テーブル112には、各ユーザのユーザID112Aと、当該ユーザの対応する分散サーバ、今の例では130における残金112B及び増額分112Cとが記憶される。増額分112Cは後に説明する。
【0036】
図5(c)は、分散サーバ130内に記憶される分散サーバ内残金テーブル133の例を示す。分散サーバ内残金テーブル143も全く同じ構造を有する。図に示すように、分散サーバ内残金テーブル133には、各ユーザのユーザID133Aと、当該ユーザの当該分散サーバ130における残金133Bとが記憶される。
【0037】
図5(d)は、制御パラメータテーブル103の一例を示す。時刻条件103Aには、各サーバに基準補充額まで事前補充を行う時刻又は時間帯に関する条件があらかじめ記憶される。例えば、夜間の所定の時刻が記憶される。事前補充は1日に複数回実行されてもよい。その場合には、時刻条件103Aには、複数の時刻が指定される。あるいは一つの時刻とその時刻からの経過時間が指定されてもよい。
【0038】
負荷条件103Bは、分散サーバに対して事前補充の処理を行ってもよい処理負荷の限界値が記憶される。分散サーバの処理負荷がこの限界値より大きいときには、分散サーバが課金処理を行っているときであると推測され、この課金処理を遅延させないように、事前補充処理は、課金処理が終了し分散サーバの処理負荷が小さくなった時点で実行するのが望ましい。
【0039】
補充基準額決定データ103Cには、事前補充で補充される補充基準額を決定するためのデータが記憶される。補充基準額は、いろいろの方法により決めることができる。本実施の形態では、ユーザは、買物をする前に、あらかじめ定めた額の金を買物用に支払い、この金が管理サーバ101にユーザの残金として使用される。
【0040】
ユーザによりあらかじめ支払われた額に応じてそのユーザの残金に関する補充基準額を変えることができる。例えば、補充基準額決定データ103Cは、金額103C1と基準使用日数103C2を含んでいる。金額103C1には、利用可能なプリペイドマネーの額P1、P2、P3等が記憶される。基準使用日数103C2には、それぞれの金額に対応してあらかじめ定められた基準使用日数N1、N2、N3等が記憶される。
【0041】
このようなデータを使用すると、プリペイドマネーの金額がP1、P2又はP3の場合、一日あたりの平均使用額は、それぞれP1/N1、P2/N2又はP3/N3等となる。例えば、P1、P2、P3はそれぞれ2万円、6万円、15万円とし、N1、N2、N3をそれぞれ20、20、30とすることもできる。この例の場合、P1/N1=1000円、P2/N2=3000円、P3/N3=5000円となる。これらの額がそれぞれ金額P1、P2、P3のプリペイドマネーに対する補充基準額として使用される。
【0042】
ユーザは、自分の平均的な一日の使用額を考慮して、一月で利用する可能性がある額の総額を決め、その一日の使用額若しくはそれに近い補充基準額を与え、一月の使用総額に近い金額を月1回程度の頻度であらかじめ支払うことができる。例えば、1日平均1000円ずつ使用し一月に20日程買物をする人は、金額Pが1000円×20=2万円で、基準使用日数Nが20日に近い、PとNの組を有する金を事前に支払っておく。上の例では、P1=2万円、N1=20のプリペイドマネーをあらかじめ支払えばよい。もちろん買物をするに伴い残金が不足したときには、新たなプリペイドマネーを支払う必要がある。
【0043】
上の例にあるP1、P2のように、金額P1とP2が同じでも基準使用日数の値が異なるプリペイドマネーが購入できるようにすることが望ましい。このように同じ金額に対応する複数の基準使用日数が利用可能であるとき、ユーザは、その金額を事前に支払う場合、基準使用日数の値を直接あるいは間接に指定する必要がある。もちろん、基準使用日数Nは一つの値のみ準備し、金額Pとしていくつかの値を利用可能にすることでもよい。あるいは、金額Pと基準使用日数Nとの組合せをあらかじめ定めておかないで、ユーザに金額Pと基準使用日数Nとを指定するようにすることもできる。
【0044】
各ユーザは、本課金処理システムで処理される商品あるいはサービスの使用の前に、管理サーバ101に対してあらかじめ所望の金額の金を振り込む。振り込みは、例えばユーザの口座がある銀行からネットワークを介して行われる。本発明では、このようにユーザによりあらかじめ振り込まれた金がその後の課金処理に使用される。金の振り込みの仕方は他の方法でもよく、振り込まれた金の形態は、特に限定されない。電子マネーとしての振り込みであってもよい。
【0045】
管理サーバ101では、図1には図示していない初期設定用のプログラムにより以下の処理が実行される。まず当該ユーザが初めて本システムを使用するときには、全体課金額テーブル108内当該ユーザ用のエントリが確保され、そのエントリに初期データが設定される。具体的には、図5(a)において、確保されたエントリ内のユーザID領域108Aに当該ユーザに割り当てたユーザIDが記憶され、残金108Bに振り込まれた金額が記憶され、補充基準額108Cには、振り込み額に応じて定まる補充基準額が記憶される。
【0046】
補充基準額は、既に制御パラメータテーブル103内の補充基準額決定データ103Cに関して説明したように、振り込まれた金額が補充基準額決定データに登録されたいずれかの金額、例えばP1であるときには、その金額に対応して記憶された基準使用日数、例えばN1との比P1/N1が補充基準額となる。振り込まれた金額と同じ額が複数個、補充基準額決定データ103内にある場合には、管理サーバ101が補充基準額を決定することができるように、ユーザはいずれの金額103C1と基準使用日数103C2との組を使用するかを振り込み時に指定する必要がある。
【0047】
上記初期設定用のプログラムは、管理サーバ101内の各分散サーバ#1補充プロセス110又は分散サーバ#2補充プロセス120に指示して、対応する分散サーバ#1対応残金テーブル112又は分散サーバ#2対応残金テーブル122に当該ユーザ用のエントリを確保させる。確保されたエントリ、例えば図5(b)に示す分散サーバ#1対応残金テーブル112に確保されたエントリには、ユーザID112Aが記憶される。当該エントリの残金112B、増額分112Cは0のままである。
【0048】
同様に、上記初期設定用のプログラムは、各分散サーバ130又は140内の分散サーバ課金額制御プロセス131又は141に指示して、分散サーバ内残金テーブル133又は143内に当該ユーザ用のエントリを確保させる。確保されたエントリ、例えば図5(c)に示す分散サーバ内残金テーブル133には、ユーザID133Aが記憶される。残金133Bは0のままであり、更新フラグ133Cは、リセットされたままである。
【0049】
こうして初期設定が終了する。なお、当該ユーザが既に本課金処理システムを使用中のユーザである場合、当該ユーザ用のエントリが既に全体課金額テーブル108に存在するので、振り込まれた額は、全体課金額テーブル108内の上記ユーザの残金108Bに加算される。補充基準額108Cは、上に説明したように新たに振り込まれた金額に基づいて新たに設定される。管理サーバ101内の分散サーバ#1対応残金テーブル112又は分散サーバ#2対応残金テーブル122及び各分散サーバ130又は140内の分散サーバ内残金テーブル133又は143は変更されない。
【0050】
ユーザが振り込んだ金額は、以下のようにして使用される。いずれかのユーザが行った買物に対する課金は、負荷分散装置150(図1)により選択されたいずれかの分散サーバにより処理される。各分散サーバにおける各ユーザの残金は、二つの方法で補充される。各分散サーバには、いずれのユーザについても補充基準額だけの残金が存在するように各ユーザが買物を行うのを待たないで事前に補充される。もしユーザが買物を行ったために課金処理が必要になったとき、課金額が補充基準額以下であるならば、当該課金を処理する分散サーバは、当該分散サーバにおける当該ユーザの残金を用いて課金処理を実行できる。
【0051】
各分散サーバにおける各ユーザの残金を補充する他の方法は、課金処理する時点で課金処理する分散サーバでの当該ユーザの残金より多いときに、管理サーバ101より不足の金額を補充するという課金処理時の補充である。
【0052】
まず、事前補充について説明する。事前補充は、管理サーバ101内の分散サーバ補充プログラム111又は121により実行される。制御パラメータテーブル103に記憶された時刻条件103Aにしたがって、図示しない起動プログラムにより、各分散サーバ130又は140に対応して分散サーバ補充プログラム111又は121が分散サーバ#1補充プロセス110又は分散サーバ#2補充プロセス120として起動される。時刻条件103Aが一つの起動時刻を規定している場合には、分散サーバ補充プログラム111又は121は、1日に1回起動される。この起動時刻は一般に分散サーバでの処理負荷が小さい時間帯に属するように設定される。しかし、103Aが起動時間間隔を指定している場合には、その時間間隔にしたがって一日に複数回起動される。
【0053】
図6は、分散サーバ補充プログラム111の概略フローチャートである。分散サーバ補充プログラム121の処理も同じである。分散サーバ補充プログラム111又は121は、各分散サーバ130又は140に対応して起動される。以下では、分散サーバ補充プログラム111が分散サーバ130に対応して起動されたと仮定する。
【0054】
分散サーバ補充プログラム111は、起動されると、対応する分散サーバ130と交信してその処理負荷に関するデータを受信し、その処理負荷が、制御パラメータテーブル103に登録された負荷条件103B(図5(d))に規定された処理負荷以下であるか否かを判定し、そうでないときには、そのような小さい処理負荷が検出されるまで待機する(ステップS301)。
【0055】
対応する分散サーバ130の処理負荷がそのような低い処理負荷であることが検出されたとき、対応する分散サーバ130内の分散サーバ課金額制御プロセス131を呼び出し、当該分散サーバ130内の分散サーバ内残金テーブル133に登録された各ユーザの残金133Bを読み出し、管理サーバ101内のその分散サーバ130に対応する分散サーバ#1対応残金テーブル112内のユーザの残金112B(図5(b))を読み出した残金に合うように更新する(ステップS302)。
【0056】
このように残金を合わせることは、全てのユーザに対して実行される。他の分散サーバ140に対応する、管理サーバ101内の分散サーバ#2対応残金テーブル122と分散サーバ140内の分散サーバ内残金テーブル143の残金についても同じである。
【0057】
分散サーバ#1対応残金テーブル112内の残金112Bが更新された後、そのテーブル112に記憶されたいずれかのユーザの残金112B、すなわち、当該テーブルが対応する分散サーバ130内での当該ユーザの残金が、そのユーザの補充基準額より少ないか否かが判別される。各ユーザの補充基準額は、全体課金額テーブル108のそのユーザ対応のエントリに設けられた領域108Cに記憶されている。
【0058】
もしいずれかのユーザの当該分散サーバ130内の残金がそのユーザに対して定められた補充基準額より少なければ、全体課金額テーブル108内の当該ユーザのエントリをロックする(ステップS303)。ロックは、全体課金額テーブル108内の当該ユーザのエントリに含まれた排他フラグ108Dにロックを示すビットを書き込むことにより実行される。
【0059】
その後、分散サーバ補充プログラム111又は121は、そのユーザについての不足分、すなわち、補充基準額と対応する分散サーバ内の残金との差に相当する残金を全体課金額制御プロセス106に補充することを要求する(ステップS304)。全体課金額制御プロセス106は、要求された不足分を当該ユーザの全体課金額テーブル108内の残金108B(図5(a))から補充できるか否かを全体課金額制御プログラム107により判別する。
【0060】
要求された不足分の残金を補充できる場合には、不足分の残金を要求元の分散サーバ補充プログラム111を実行している分散サーバ#1補充プロセス110に対応する分散サーバ#1対応残金テーブル112内の当該ユーザの残金112Bに加算することにより移動する。移動した金額を増額分112Cとして記憶する。こうして、いずれかの分散サーバ上の残金が不足しているユーザに対して、その管理サーバ101上で当該分散サーバ130の残金を増大したことになる。
【0061】
場合によっては、全体課金額テーブル108内の当該ユーザの残金108Bが、補充基準額より少ない場合がある。この場合には、事前に補充できないので、全体課金額制御プログラム107は、補充要求元の分散サーバ補充プログラム111又は121に対して補充できない旨を通知する。分散サーバ補充プログラム111又は121では、全体課金額制御プログラム107による補充可能/不可能に関する応答に基づいて、不足額を補充できたか否かを判別する(ステップS305)。もし、補充ができない場合でも、そのことを無視し特別なことはしない(ステップS306)。
【0062】
その後、分散サーバ補充プログラム111又は121は、対応する分散サーバ130上の分散サーバ課金額制御プロセス131を呼び出し、分散サーバ#1対応残金テーブル112内の増額分112Cを、分散サーバ130内の分散サーバ内残金テーブル133に登録された同じユーザの残金133Bに加算して、この残金を補充基準額まで増額する(ステップS307)。増額後に上記増額分112Cは0にリセットされる。なお、当該ユーザに関して補充ができない場合には、分散サーバ#1対応残金テーブル112内の増額分112Cが0であるので、この場合には、補充は行わない。
【0063】
その後、全体課金額テーブル108内の当該ユーザに対する排他フラグ108Dをリセットして、当該ユーザの残金108Bのロックを解除する(ステップS308)。その後、全てのユーザに付いて事前補充を行ったか否かが判断され(ステップS309)、そうでないときには、他のユーザが選択されて(ステップS310)、以上の処理が繰り返される。こうして、一つの分散サーバについて全てのユーザの残金が補充基準額まで事前に補充される。
【0064】
同じ処理は、他の分散サーバについても全く同様に実行される。例えば、分散サーバ140に関しては、管理サーバ101内の分散サーバ#2補充プロセス120により、分散サーバ補充プログラム111又は121と分散サーバ#1対応残金テーブル112を用いて事前補充が実行され、分散サーバ140内の分散サーバ内残金テーブル143内の残金が全てのユーザに関して補充基準額まで補充される。
【0065】
ユーザが買物を実行したときの各分散サーバでの課金処理は以下のようにして実行される。図7は、分散サーバ課金額制御プログラム132の処理のうちユーザによる商品の購入時に実行される処理の概略フローチャートである。分散サーバ課金額制御プログラム142の処理も同じである。ユーザの購入に対する課金処理はいずれかの分散サーバにより実行される。当該分散サーバでは、ユーザの購買に必要な金額が、当該分散サーバ、例えば130内の分散サーバ内残金テーブル133の残金領域133B(図5(c))に記憶された当該ユーザの残金より多いか否かを判定する(ステップS501)。もしユーザの残金が購入額より大きいときには、ユーザの購買は有効な購買として処理される。すなわち、当該残金を購入額だけ減額し(ステップS502)、ユーザには「購入可」を通知する(ステップS503)。
【0066】
しかし、ステップS501での判定の結果、ユーザの当該分散サーバ内の残金が購買額より少ないとき、当該分散サーバ130内の分散サーバ課金額制御プロセス131により、管理サーバ101内のユーザ個別設定プロセス104に不足額だけ分散サーバ130内の残金を増額するように要求し、増額されるまで待つ(ステップS504)。
【0067】
後に更に詳細に説明するように、管理サーバ101は、当該管理サーバ101内の当該ユーザの残金が不足額より大きいとき、不足額を要求元の分散サーバに補充する。管理サーバ内の当該ユーザの残金が不足額より少ないとき、管理サーバ101は、他の分散サーバ、例えば140から当該ユーザの残金を不足額だけ回収し、回収された残金を要求元の分散サーバ130に補充する。もし他の分散サーバ、例えば140内の残金が不足額より少ないとき、管理サーバ101は不足額を回収できないので、その旨を要求元の分散サーバ130に通知する。
【0068】
要求元の分散サーバ130の分散サーバ課金額制御プロセス131では、管理サーバ101から不足額が補充された場合、分散サーバ130の残金が不足していないと判断されるので(ステップS505)、当該残金を購入額だけ減額し(ステップS502)、購入可を返す(ステップS503)。しかし、管理サーバ101により不足額が補充されなかった場合、分散サーバ130の当該ユーザの残金が不足であると判断されるので(ステップS505)、購入不可を返す(ステップS506)。こうして、分散サーバ130での課金処理が終了する。
【0069】
上で説明した購入額に見合う当該ユーザの、分散サーバ上の残金が不足しているときの管理サーバ101による処理の概要は以下のとおりである。
【0070】
図8は、ユーザ個別設定プログラム105の処理の概略フローチャートである。既に述べたように、ユーザに対する課金処理をいずれかの分散サーバ、例えば130で実行する過程で購入額に対する当該ユーザの当該分散サーバ130での残金が不足しているとき、当該分散サーバ130内の分散サーバ課金額制御プロセス131から管理サーバ101のユーザ個別設定プロセス104が呼び出され、不足額の補充が要求される。ユーザ個別設定プロセス104は、この補充要求を受けると、ユーザ個別設定プログラム105にしたがってその補充要求を処理する。
【0071】
まず、ステップS401で、全体課金額テーブル108中の当該ユーザの残金108Bに排他ロックをかける。この排他ロックは、別プロセスから同じユーザに関する残金の補充要求があった場合、同一ユーザの残金の更新を順に実行するためである。排他ロックは、当該ユーザの排他フラグ領域108Dにロックビットを記憶することにより行われる。
【0072】
ステップS402では、全体課金額制御プロセス106に、当該ユーザの当該分散サーバ内の残金を不足額だけ増額するよう要求し、全体課金額制御プロセス106から残金の増額が承認されるまで待つ。ステップS403では、全体課金額制御プロセス106からの応答が、残金増額の承認であるときには、要求元の分散サーバ130の分散サーバ課金額制御プロセス131へ残金の不足額だけの増額を通知する。もし全体課金額制御プロセス106から応答が残金の増額不可の場合には、要求元の分散サーバ130の分散サーバ課金額制御プロセス131へ増額不可を返す。ステップS404では、ステップS401で設定した、全体課金額テーブル108内の当該ユーザの残金のロックを解除し、ユーザ個別設定プロセス104を終了する。
【0073】
図9は全体課金額制御プログラム107の概略的なフローチャートである。全体課金額制御プロセス106は、分散サーバ#1補充プロセス110又は分散サーバ#2補充プロセス120あるいはユーザ個別設定プロセス104から残金の補充要求により呼び出される。分散サーバ#1補充プロセス110又は分散サーバ#2補充プロセス120からは、いずれかの分散サーバ内の残高が補充基準額より少ないずれかのユーザに対して残金の補充が要求される。ユーザ個別設定プロセス104からは、購入金額が課金を処理している分散サーバ内のユーザの残金を超えている場合に呼び出される。全体課金額制御プロセス106は、残金補充要求を受けると、全体課金額制御プログラム107にしたがってその補充要求を処理する。
【0074】
まず、ステップS801で、全体課金額テーブル108中の要求元のユーザの残金から要求額が取り出せるか否かが判定される。要求額が残金から取り出せる場合は、ステップ807において、全体課金額テーブル108内の当該ユーザの残金から要求額だけを要求元に返し、全体課金額制御プロセス106は処理を終了する。要求額が残金から取り出せない場合には、ステップS802で、ユーザ個別設定プロセス104からの呼び出しか否かが判定される。
【0075】
そうである場合、すなわち、購入に関連した補充要求である場合には、ステップS804では、他の分散サーバから残金を回収できるか否かを検査する。すなわち、要求元の分散サーバ以外の分散サーバの当該ユーザの残金と管理サーバ101内の当該ユーザの残金とから、不足額を回収できるか否かを判断する。
【0076】
この判断は以下のようにして実行される。管理サーバ101の当該ユーザの残金は、全体課金額テーブル108内の当該ユーザの残金108Bとして記憶されている。当該他の分散サーバ内の当該ユーザの残金を、管理サーバ101内の当該ユーザの残金に加算し、加算の結果、要求額以上の残金が得られた場合、不足額が回収できることになる。要求元の分散サーバ以外の分散サーバが複数個ある場合には、当該ユーザの残金が多い分散サーバの順に、それぞれの他の分散サーバ内の当該ユーザの残金を、管理サーバ101内の当該ユーザの残金に加算すればよい。
【0077】
ステップS804において要求額が回収できると判断された場合、ステップS806において、上記他の分散サーバ140から当該ユーザの残金を全て回収し(当該残金を0にする)、全体課金額テーブル108内の当該ユーザの残金108Bに加算する。残金を回収すべき分散サーバが複数個であるときには、以上の加算処理をそれぞれの分散サーバについて繰り返す。その後ステップS807において、既に述べたように、要求元の分散サーバに要求額を補充する。
【0078】
一方、ステップS804において要求額が回収できないと判断された場合、ステップS805において残金不足を要求元に通知する。
【0079】
なお、ステップS802において、補充要求がユーザ個別設定プロセス104からの要求でない、すなわち、いずれかの分散サーバに対応する分散サーバ補充プロセス、例えば分散サーバ#1補充プロセス110からの呼び出しであると判断された場合、補充要求は、購入に伴う不足額の補充要求ではなく、当該分散サーバにおける残金が補充基準額より少ないために発生した事前補充要求である。この場合には、既にステップS801において全体課金額テーブル108内の当該ユーザの残金は補充を要求された不足分に対して少ないので、補充を実現するには、他の分散サーバから不足分を回収する必要がある。しかし、残金を補充基準額にするために他の分散サーバから残金を回収すると、管理サーバ101及び他の分散サーバでの処理オーバヘッドが増大するので、この回収は実行されないで、補充不可を要求元に返し(ステップS803)、全体課金額制御プロセス106は処理を終了する。
【0080】
こうして、各分散サーバの各ユーザの残金は、補充基準額になるように定期的に補充される。したがって、購入額が補充基準額以内であるときには、ユーザの購入に伴う課金処理を分散サーバが実行するときに、当該分散サーバ内では残金の不足が発生しない。分散サーバと管理サーバ101との間で残金を移動する必要が生じると、移動に伴い管理サーバ101の処理と分散サーバの処理が増えるために、課金処理時間が増えることになる。したがって、本実施の形態によれば、事前補充を行うことにより、課金処理時間を減らすことができる。
【0081】
本発明は、以上の実施の形態に限定されるものではなくいろいろな形態で実施可能である。例えば、各ユーザの各分散サーバでの残金が補充基準値に達していないか否かの残金不足チェックは、上記実施の形態では、管理サーバにより全ユーザ、全分散サーバについて実行された。しかし、全分散サーバにおいて、各ユーザのそれぞれの分散サーバ内の残金を並行してチェックするように変更することもできる。このためには、各分散サーバに各ユーザの補充基準値を記憶するようにすればよい。このような変形例では、複数の分散サーバにより残金不足チェックが分散して行われるので、残金不足チェックの完了までに要する時間を短くすることが可能になる。しかし、複数の分散サーバから管理サーバに対して同時に補充要求が発生する可能性があり、管理サーバはこのような同時に発生する複数の補充要求を処理できるようにプログラムされる必要がある。このため管理サーバのプログラムは、既に述べた実施の形態のように管理サーバのみで残金不足チェックを行う場合より複雑になる場合がある。
【0082】
図10は、複数の管理サーバを分散配置して実現した他の分散課金処理システムの例を示す。全ユーザが二つのユーザグループに区分され、それぞれのユーザグループに対応して異なる管理サーバが使用される。ユーザのグループ化は、例えばユーザIDにより行うことができる。例えば、ユーザグループ1用の管理サーバ910とユーザグループ2用の管理サーバ911を使用することができる。これにより各管理サーバの負荷を、管理サーバの数が一つの場合より減らすことができる。なお、この例では、いずれのグループのユーザに対しても同じ一組の分散サーバ920から923が課金処理を実行する。なお、図では図1に示した負荷分散装置150と端末151等は簡単化のために示されていない。負荷分散装置は、ユーザ毎に処理すべき管理サーバを選択する必要がある。
【0083】
図11は、ユーザグループ毎に対応する一組の分散サーバを使用する更に他の分散課金処理システムの例を示す。すなわち、分散サーバ1020と1021は、ユーザグループ1に属するユーザに対する課金処理に使用され、分散サーバ1022と1023は、ユーザグループ2に属するユーザに対する課金処理に使用される。管理サーバ101は、全てのユーザに対して使用される。ユーザグループ毎に異なる分散サーバ群を使用するので、各分散サーバの処理負荷を減らすことができる。
【0084】
更に、同一のユーザグループのために使用する分散サーバの総数を少なくしても、ユーザグループの数を増やすことにより各分散サーバの負荷を小さくすることができる。同一のユーザグループのために使用する分散サーバの総数を少なくすると、一つの分散サーバ内の同一のユーザの残金を大きくすることが可能になり、課金処理の実行時の残金不足が発生する可能性を減らすことができる。なお、図では図1に示した負荷分散装置150と端末151等は簡単化のために示されていない。負荷分散装置は、ユーザ毎に、例えばユーザIDに基づいて、処理すべき分散サーバ群を選択する必要がある。
【0085】
【発明の効果】
以上、説明したように、本発明によれば、ユーザの購入行為に対して課金処理をいずれかの分散サーバにおいて実行するときに、当該分散サーバでの当該ユーザの残金が購入額に対して不足しているという状態が発生する頻度を減らすことができる。それにより、課金処理時に管理サーバから分散サーバへ不足額を送金する頻度を減らすことができ、ひいては課金処理の実行時間の増大を防ぐことができる。
【図面の簡単な説明】
【図1】本発明に係る分散課金処理システムの一つの実施の形態の構成図である。
【図2】本発明に係る分散課金処理システムによる課金の対象となる買物の実行形態のいろいろな例を示す図である。
【図3】管理サーバに組み込まれた主なプログラム及び関連データを示す図である。
【図4】いくつかの分散サーバに組み込まれた主なプログラム及び関連データを示す図である。
【図5】図1のシステムで使用されるいろいろなデータの例を示す図である。
【図6】分散サーバ補充プログラムの概略フローチャートである。
【図7】分散サーバ課金額制御プログラムの処理のうちユーザによる商品の購入時に実行される処理の概略フローチャートである。
【図8】ユーザ個別設定プログラムの概略フローチャートである。
【図9】全体課金額制御プログラムの概略フローチャートである。
【図10】ユーザグループ毎に異なる管理サーバを使用する課金処理システムの構成図である。
【図11】ユーザグループ毎に異なる分散サーバ群を使用する課金処理システムの構成図である。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for managing the balance of each user in a distributed billing processing system that uses a plurality of distributed servers and at least one management server to distribute and process billing for a large number of users, a balance management program, and a distributed billing process About the system.
[0002]
[Prior art]
The number of users who use electronic money is increasing by shopping on the Internet. Processing billing using electronic money for a large number of users with a single server is a reduction in processing speed due to the load being concentrated on a single server, and the spillover range of effects when a failure occurs on a server There is a problem with this point as well, and it is realistic to distribute the charging process for many users by a plurality of servers (hereinafter referred to as distributed servers).
[0003]
An example of a distributed billing system that performs billing using a single management server (sometimes referred to as a home server) and a plurality of distributed servers for transactions by a large number of users executed over a network is as follows. This is described in Japanese Unexamined Patent Publication No. 2000-76332. In this distributed billing processing system, a part of the balance of the money paid in advance by each user is transferred in advance from the management server to each distributed server. In any distributed server, when the billing process for any user is executed, if the balance of the user in the distributed server is greater than the amount required for the billing process, the balance of the user in the distributed server The billing process is executed by using the distributed server, and the billing process is executed by the distributed server without communicating with the management server.
[0004]
However, if the balance of the user in the distributed server is insufficient than the amount necessary for the billing process, the distribution server requests the management server to transfer the insufficient amount. The insufficient balance requested from the balance of the user in the management server is transferred from the management server to the requesting server. If the balance of the user in the management server is insufficient for the requested shortage, the management server collects the balance of the user from another distributed server other than the requesting distributed server, and uses the collected balance The remaining balance requested by using the money is transferred from the management server to the requesting server.
[0005]
In JP 2000-76332 A, the user collected by the management server from another distributed server other than the requesting distributed server in order to reduce the number of remittances between the distributed server and the management server. It is proposed that the amount of the remaining balance be larger than the shortage. Typically, half of the remaining balance of the user in the other distributed server is transferred to the management server.
[0006]
[Problems to be solved by the invention]
In the distributed billing processing system described in Japanese Patent Application Laid-Open No. 2000-76332, when it is determined that the balance of the user is insufficient at the time when the billing process is performed on the user in each distributed server, Then, the management server requests remittance of the shortage amount, and the management server remits the shortage amount to the distributed server after receiving the request. When the load on the management server is heavy, it may take time for the management server to process this request. Alternatively, the network may be congested, and communication between the management server and the distributed server may take time. In this way, it takes time until the management server receives a deficient amount remittance request from the distributed server and remits the deficient amount to the distributed server. During this time, the user waits for the completion of the billing process, and the processing capacity of the distributed server also decreases.
[0007]
Examining the actual condition of shopping, in addition to the usage mode of purchasing expensive items very rarely, there is also the use of purchasing small items almost every day or at a frequency close to it. For example, it is a case of purchasing goods such as daily foods, books, accessories such as those placed in a store or a convenience store. For users who purchase items like the latter, if there is a shortage of balance for each purchase and a request for remittance of the balance from the distributed server to the management server is made, the frequency at which the user will be in a state of waiting for completion of billing processing Get higher.
[0008]
Accordingly, an object of the present invention is to cause a shortage of user's balance when executing a charging process for any user by any of the distributed servers in a distributed management system including at least one management server and a plurality of distributed servers. This is to reduce the frequency and to prevent an increase in billing processing time due to a shortage remittance required when a shortage occurs.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, a balance management method according to the present invention has a plurality of distributed servers and at least one management server, manages the balance of money paid in advance by a user, and the user can use a product or service. This is a balance management method in a distributed billing processing system that processes billing for the user according to the purchase amount when the user is purchased.
[0010]
More specifically, the distributed billing processing system transfers a part of the balance of the money paid in advance by each user from the management server to each distributed server in advance, and in any distributed server, for any user When executing the billing process, if the balance of the user in the distributed server is greater than the amount required for the billing process, the billing process is executed using the balance of the user in the distributed server, and the distribution If the balance of the user in the server is less than the amount necessary for the billing process, the distribution server requests the management server to transfer the shortage, and the request is made from the balance of the user in the management server. Remittance of the shortage amount that has been made to the requesting server from the management server, or the remaining balance for the user in the management server When the requested shortage amount is insufficient, at least the remaining amount of the remaining amount is collected by the management server from other distributed servers other than the requesting distributed server, and the requested amount is used using the collected remaining amount. This is a distributed billing system that remits the remaining balance from the management server to the requesting server.
[0011]
In the balance management method according to the present invention, the management server periodically checks whether the balance of each user in each distributed server has reached a replenishment reference amount predetermined for each user, As a result, when it becomes clear that the balance in any distributed server of any user is insufficient from the replenishment reference amount, the shortage from the replenishment reference amount among the remaining amount of the user in the management server Is added to the balance of the user in the distributed server.
[0012]
Thereby, when the balance of any user in any of the distributed servers does not reach the replenishment reference amount determined in advance for the user, the balance of the user is supplemented in advance from the management server to the distribution server. Therefore, when the user makes a purchase later, if the charge associated with the purchase is equal to or greater than the replenishment reference amount, there will be no shortage of the balance at the distributed server, so remittance of the shortage from the distributed server to the management server No request is issued, and the accounting process for the user can be quickly executed by the distributed server.
[0013]
Specifically, the inspection is performed at a time or a time zone that satisfies a predetermined condition every day. The time or time zone is, for example, a fixed time zone in the middle of the night when the use of the user is reduced and the load on the distributed server and the management server is greatly reduced. Alternatively, the above inspection may be performed when it is detected that the load on the distributed server and the management server is smaller than a predetermined load limit value. Further, the replenishment reference amount determined for each user is determined depending on the amount of the balance paid in advance by the user. For example, the replenishment reference amount for each user may be determined in proportion to the amount of money paid by each user in advance. The inspection is preferably executed by the management server. However, it may be desirable for the inspection to be executed in a distributed manner by the plurality of distributed servers.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of a distributed billing processing system, a balance management method, and a balance management program according to the present invention will be described below in detail with reference to the drawings.
[0015]
FIG. 1 is a system configuration diagram of one embodiment of a distributed billing processing system according to the present invention. The distributed charging processing system includes a plurality of distributed servers 130 and 140 for charging each user, and at least one management server 101 for managing the supply of each user's balance to these distributed servers. Have. This system manages the remaining amount of money that the user has paid in advance (hereinafter sometimes referred to as prepaid money), and charges the user when the user purchases goods or services according to the purchase amount To process.
[0016]
Although only two distributed servers are shown in the figure, the number of distributed servers used is not particularly limited. The balance managed by the present distributed billing processing system may be managed in the form of electronic money, or only the amount of the balance may be managed without using electronic money.
[0017]
The shopping subject to billing can be executed in various forms. The terminal 151 or 152 may be a personal computer (PC) that accesses the market on the Internet or a special terminal that can input a card. In any case, it is assumed that the access to the distributed server 130 or 140 from the terminal 151 or 152 is performed via the load balancer 150. Hereinafter, examples of various execution modes of shopping will be described in more detail with reference to FIG.
[0018]
In the figure, the symbols or symbols mean the following. 150 is the load balancer 150 in FIG. 1, and 151 is the terminal 151 in FIG. ST is a terminal operated by a store clerk, PT is a terminal operated by a purchaser, and PC is a personal computer in the home. A double-headed arrow (← →) indicates product reference / selection, and a one-way arrow (→) indicates the settlement of the purchased product. In FIG. 2, the load distribution apparatus 150 is actually connected with the plurality of distribution servers 130 and 140 and the management server 101 shown in FIG. 1 via the Internet, an intranet, a LAN, and other networks. In FIG. 2, these servers are not shown for simplicity. The terminals 150 and 151 and the load balancer 150 are connected via the Internet, an intranet, a LAN, or other appropriate network, but the network is not particularly shown in the figure. The same applies to the network connecting the load balancer 150, the plurality of distributed servers 130 and 140, and the management server 101.
[0019]
In the first example, as shown in FIG. 2 (a), a purchase is made by a purchaser at a real store selling goods such as books, daily foods, small items placed in a store or a convenience store. This is a case where the in-store terminal ST used for the checkout of the merchandise is the terminal 151 (hereinafter sometimes referred to as terminal # 1) or the terminal 152 (sometimes referred to as terminal # 2). In this case, the store clerk operates the terminal 151.
[0020]
In the second example, as shown in FIG. 5B or FIG. 5C, the purchaser selects a product to be purchased by operating the terminal 151, and the purchaser himself selects the product to be purchased from these products. This is a case where the terminal 151 is operated to settle the payment. In this case, the terminal 151 may be in an actual store where a store clerk is present, or may be an unmanned store where only the terminal 151 is installed. Further, as shown in FIG. 5B, the terminal of the product to be presented to the buyer may be the terminal 151 (local holding), and as shown in FIG. 5C, the server G different from the terminal 151 is used. The terminal 151 may obtain the product held by (remotely owned) from the apparatus via the network and present it to the purchaser.
[0021]
A third example is a case where a purchaser performs online shopping using a home personal computer (PC) as shown in FIGS. A product to be purchased is selected by referring to the product presented by the purchaser's operation of the PC, and the purchaser operates the PC to check out the product to be purchased from these products. The PC is directly or indirectly connected to the server L which is the load balancer 150 by the purchaser's checkout operation. In this case, the PC is the terminal 151 in FIGS. 4D and 4E, and the server V is the terminal 151 in FIGS. Further, there may be one server adjacent to the PC as shown in FIGS. 4D and 4F, and there may be a plurality of adjacent servers as shown in FIGS. Good.
[0022]
Note that the product or service may be received by the user on the spot, or may be received at another time or another place. If necessary, information (user ID) for specifying the purchased user is input at the time of purchase. The user ID may be stored in a card separately prepared for each user, and the user ID may be input using this card.
[0023]
When executing the charging process for the purchase from the terminal # 1 and the terminal # 2, one of the distributed servers 130 and 140 is selected by the load balancer 150, and the charging process is executed by the selected distributed server. The load balancer 150 distributes billing processing for a large number of users by a plurality of distributed servers. The selection of the distributed server that should execute the charging process for each user may be made to sequentially select a plurality of distributed servers in accordance with a predetermined order for each opportunity to execute the charging process. Another method, for example, a distributed server to be charged can be selected based on the user ID of the user who should execute the charging process.
[0024]
FIG. 3 shows main programs and related data incorporated in the management server 101. In the management server 101, an individual user setting program 105, an overall billing amount control program 107, and a distributed server supplement program 111 are executed. More specifically, the total charge amount control process 106 executes the total charge amount control program 107, and there is one for the management server 101. On the management server 101, the user individual setting process 104 exists corresponding to each user, and executes the user individual setting program 105 for the corresponding user. The distributed server # 1 replenishment process 110 or the distributed server # 2 replenishment process 120 exists corresponding to the distributed server 130 or 140, respectively, and executes the distributed server replenishment program 111 or 121 for the corresponding distributed server.
[0025]
The management server 101 is provided with a total billing amount table 108 for use in managing balances for each user in the management server 101. Further, as a table for managing the balance for each user in each distributed server 130 or 140, a distributed server # 1-compatible balance table 112 or a distributed server # 2-compatible balance table 122 is further provided. Further, a control parameter table 103 is provided for controlling the operation of the management 101.
[0026]
FIG. 4 shows an example of data related to main programs incorporated in the plurality of distributed servers 130 and 140. On the distributed server 130 or 140, one distributed server charge amount control process 131 or 141 is executed on the distributed server 130 or 140. The distributed server charge amount control process 131 or 141 executes the distributed server charge amount control program 132 or 142, respectively. Each distributed server 130 or 140 is provided with a distributed server balance table 133 or 143 in order to manage the balance for each user in the distributed server.
[0027]
The money paid in advance by each user is distributed and set as the balance of the user to the management server 101 and each of the distributed servers 130 and 140 by the overall billing amount control process 106 of the management server 101. That is, the total billing amount control process 106 divides the amount of the user into the balance for the management server 101 and the balance for each distributed server 130 or 140 according to a predetermined standard, and each balance is divided into the management server 101, each Set in the distributed server 130 or 140. A method for determining the balance to be set in the management server or the distributed server will be described later. Setting of the balance for each user in each distributed server 130 or 140 is executed by the total charge amount control process 106 by communicating with the distributed server charge amount control process 131 or 141 in each distributed server 130 or 140.
[0028]
When it is found that the balance of the user in the distributed server 130 or 140 is insufficient when the charge for the product or service purchased by any user is processed in any of the distributed servers 130 or 140 Requests the user individual setting process 104 in the management server 101 from the distributed server billing amount control process 131 or 141 in the distributed server 130 or 140.
[0029]
The user individual setting process 104 requests the total charge amount control process 106 to supplement the requested shortage. The total charge amount control process 106 uses a part of the balance of the user registered in the total charge amount table to supplement the requested shortage amount. In this way, whenever the balance of the user is insufficient compared to the amount to be charged in any of the distributed servers, the distributed server requests the management server 101 to replenish the distributed server with the insufficient amount each time.
[0030]
Note that when the management server 101 replenishes the shortage amount in the charging process associated with such purchase, there may be a case where the balance of the user in the management server 101 is insufficient. In such a case, the total charge amount control process 106 of the management server 101 communicates with another distributed server, for example, the distributed server charge amount control process 141 of 140, and the balance of the same user in the other distributed server 140 The deficiency is collected from the server and replenished to the requesting distributed server.
[0031]
The distributed server # 1 replenishment process 110 or the distributed server # 2 replenishment in the management server 101 is prevented so that the remaining amount necessary for charging when the user purchases a product or service does not occur as much as possible. The process 120 periodically checks whether the balance of each user at the corresponding distributed server 130 or 140 is less than a predetermined replenishment reference amount.
[0032]
This inspection is performed at a predetermined condition every day, for example, at night when the processing load on the distributed server is small. As a result of this inspection, if it is found that any user's balance is less than the above replenishment reference amount in any distributed server, the distributed server # 1 replenishment process 110 or distributed server corresponding to that distributed server 130 or 140 The # 2 replenishment process 120 replenishes the balance of the user of the distributed server 130 or 140 from the management server 101 to the replenishment reference amount in advance at that time.
[0033]
As a result, when the user makes a purchase, if the billing amount is smaller than the replenishment reference amount, the billing process is executed and no shortage occurs. Therefore, it is possible to reduce the number of times that the balance server lacks the balance. As a result, it is possible to reduce the number of transfers of the balance between the distributed server and the management server, which is necessary when there is a shortage of balance, and to reduce the time required for billing processing at the distributed server.
[0034]
FIG. 5 is a diagram showing examples of various data used in the system of FIG. FIG. 4A shows an example of the total billing amount table 108. Corresponding to each user, the total billing amount table 108 stores the identification information (user ID) 108A of the user, the balance 108B in the management server 101 of the user, the replenishment reference amount 108C, the exclusion flag 108D, and the like. . As described above, the replenishment reference amount 108C indicates the amount to be replenished to each distributed server as the balance of the user. For the sake of convenience, such replenishment performed before the shortage of the balance is referred to as advance replenishment. The amount of advance replenishment can also be determined for each user. The exclusive flag 108D will be described later.
[0035]
FIG. 4B shows an example of the balance table 112 corresponding to the distributed server # 1 stored in the management server 101 corresponding to the distributed server 130. The balance table 122 corresponding to the distributed server # 2 also has the same structure. As shown in the figure, the distributed server # 1-corresponding balance table 112 stores the user ID 112A of each user and the distributed server corresponding to the user, in this example, the balance 112B and the increase 112C in 130. The increment 112C will be described later.
[0036]
FIG. 5C shows an example of the distributed server balance table 133 stored in the distributed server 130. The distributed server balance table 143 also has the same structure. As shown in the figure, in the distributed server balance table 133, the user ID 133A of each user and the balance 133B of the user in the distribution server 130 are stored.
[0037]
FIG. 5D shows an example of the control parameter table 103. In the time condition 103A, a condition relating to a time or a time zone when each server is pre-supplemented up to the reference replenishment amount is stored in advance. For example, a predetermined time at night is stored. Advance replenishment may be performed multiple times a day. In that case, a plurality of times are designated in the time condition 103A. Alternatively, one time and an elapsed time from that time may be designated.
[0038]
The load condition 103B stores a limit value of a processing load that may perform pre-replenishment processing on the distributed server. When the processing load of the distributed server is larger than the limit value, it is presumed that the distributed server is performing the charging process, and the pre-replenishment process ends the charging process so that this charging process is not delayed. It is desirable to execute the processing when the processing load becomes smaller.
[0039]
The replenishment reference amount determination data 103C stores data for determining a replenishment reference amount that is replenished in advance replenishment. The replenishment reference amount can be determined by various methods. In the present embodiment, the user pays a predetermined amount of money for shopping before shopping, and this money is used by the management server 101 as the balance of the user.
[0040]
The replenishment reference amount regarding the balance of the user can be changed according to the amount paid in advance by the user. For example, the replenishment reference amount determination data 103C includes an amount 103C1 and a reference usage date 103C2. The amount of prepaid money P1, P2, P3, etc. that can be used is stored in the amount 103C1. The reference usage days 103C2 store reference usage days N1, N2, N3, etc., which are determined in advance corresponding to the respective amounts.
[0041]
When such data is used, when the amount of prepaid money is P1, P2, or P3, the average daily usage amount is P1 / N1, P2 / N2, or P3 / N3, respectively. For example, P1, P2, and P3 may be 20,000 yen, 60,000 yen, and 150,000 yen, respectively, and N1, N2, and N3 may be 20, 20, and 30, respectively. In this example, P1 / N1 = 1000 yen, P2 / N2 = 3000 yen, and P3 / N3 = 5000 yen. These amounts are used as replenishment reference amounts for prepaid money of amounts P1, P2, and P3, respectively.
[0042]
The user decides the total amount of money that can be used in a month in consideration of his average daily usage amount, gives the daily usage amount or a supplementary reference amount close to it, Can be paid in advance at a frequency of about once a month. For example, if you spend an average of 1000 yen a day and shop for about 20 days in a month, the amount P is 1000 yen x 20 = 20,000 yen, and the standard number of days N is close to 20 days. Pay the money you have in advance. In the above example, prepaid money of P1 = 20,000 yen and N1 = 20 may be paid in advance. Of course, when there is a shortage of remaining money as a result of shopping, it is necessary to pay new prepaid money.
[0043]
As in P1 and P2 in the above example, it is desirable to be able to purchase prepaid money that has the same amount of money P1 and P2 but that has a different value of the standard use days. As described above, when a plurality of reference usage days corresponding to the same amount are available, the user needs to directly or indirectly specify the value of the reference usage days when paying the amount in advance. Of course, only one value may be prepared for the standard usage days N, and some values may be used as the amount P. Alternatively, the user can specify the amount P and the reference number of days N without determining a combination of the amount P and the reference number of days N in advance.
[0044]
Each user transfers a desired amount of money to the management server 101 in advance before using the product or service processed by the billing processing system. The transfer is performed, for example, from the bank where the user account is located via the network. In the present invention, the money transferred in advance by the user in this way is used for the subsequent billing process. The method of money transfer may be other methods, and the form of the money transferred is not particularly limited. It may be a transfer as electronic money.
[0045]
In the management server 101, the following processing is executed by an initial setting program not shown in FIG. First, when the user uses the system for the first time, an entry for the user is secured in the total charge table 108, and initial data is set in the entry. Specifically, in FIG. 5A, the user ID assigned to the user is stored in the user ID area 108A in the secured entry, the amount transferred to the balance 108B is stored, and the replenishment reference amount 108C is stored. Stores the replenishment reference amount determined according to the transfer amount.
[0046]
The replenishment reference amount is, as already described with respect to the replenishment reference amount determination data 103C in the control parameter table 103, when the transferred amount is any amount registered in the replenishment reference amount determination data, for example, P1, The reference number of days stored corresponding to the amount of money, for example the ratio P1 / N1 with N1, becomes the replenishment reference amount. When there are a plurality of amounts that are the same as the transferred amounts in the replenishment reference amount determination data 103, the user can select any amount 103C1 and the reference usage days so that the management server 101 can determine the replenishment reference amount. It is necessary to specify at the time of transfer whether to use the pair with 103C2.
[0047]
The initial setting program instructs each distributed server # 1 replenishment process 110 or distributed server # 2 replenishment process 120 in the management server 101 to correspond to the corresponding distributed server # 1 remaining balance table 112 or distributed server # 2. An entry for the user is secured in the balance table 122. The user ID 112A is stored in the secured entry, for example, the entry secured in the distributed server # 1-compatible balance table 112 shown in FIG. The remaining amount 112B and the increment 112C of the entry remain 0.
[0048]
Similarly, the initial setting program instructs the distributed server charge amount control process 131 or 141 in each distributed server 130 or 140 to secure an entry for the user in the distributed server balance table 133 or 143. Let The user ID 133A is stored in the secured entry, for example, the distributed server balance table 133 shown in FIG. The balance 133B remains 0, and the update flag 133C remains reset.
[0049]
Thus, the initial setting is completed. If the user is already using this billing processing system, the entry for the user already exists in the total billing amount table 108, so the amount transferred is the above in the total billing amount table 108. It is added to the user's balance 108B. The replenishment reference amount 108C is newly set based on the newly transferred amount as described above. The distributed server # 1-compatible balance table 112 or the distributed server # 2-compatible balance table 122 in the management server 101 and the distributed server balance table 133 or 143 in each distributed server 130 or 140 are not changed.
[0050]
The amount transferred by the user is used as follows. Billing for purchases made by any user is processed by any of the distributed servers selected by the load balancer 150 (FIG. 1). The balance of each user in each distributed server is replenished in two ways. Each distributed server is replenished in advance without waiting for each user to shop so that there is a balance of the replenishment reference amount for any user. If a billing process is required because a user has made a purchase, and the billing amount is less than or equal to the replenishment reference amount, the distributed server that processes the billing uses the remaining amount of the user in the distributed server for billing Processing can be executed.
[0051]
Another method of replenishing the balance of each user in each distributed server is a billing process of replenishing an insufficient amount from the management server 101 when the balance is larger than the balance of the user in the distributed server that performs billing at the time of billing processing. It is a replenishment of time.
[0052]
First, pre-replenishment will be described. The advance replenishment is executed by the distributed server replenishment program 111 or 121 in the management server 101. In accordance with the time condition 103A stored in the control parameter table 103, the distributed server replenishment program 111 or 121 corresponding to each distributed server 130 or 140 causes the distributed server # 1 replenishment process 110 or the distributed server # 2 by a startup program (not shown). It is started as a replenishment process 120. When the time condition 103A defines one activation time, the distributed server supplement program 111 or 121 is activated once a day. This activation time is generally set so as to belong to a time zone in which the processing load on the distributed server is small. However, when 103A designates an activation time interval, activation is performed a plurality of times a day according to the time interval.
[0053]
FIG. 6 is a schematic flowchart of the distributed server supplement program 111. The processing of the distributed server supplement program 121 is the same. The distributed server supplement program 111 or 121 is started corresponding to each distributed server 130 or 140. In the following, it is assumed that the distributed server supplement program 111 has been started in correspondence with the distributed server 130.
[0054]
When the distributed server supplement program 111 is activated, it communicates with the corresponding distributed server 130 to receive data relating to the processing load, and the processing load is a load condition 103B registered in the control parameter table 103 (FIG. 5 ( It is determined whether or not the load is equal to or less than the processing load specified in d)). If not, the process waits until such a small processing load is detected (step S301).
[0055]
When it is detected that the processing load of the corresponding distributed server 130 is such a low processing load, the distributed server charge amount control process 131 in the corresponding distributed server 130 is called, and the distribution server 130 in the distributed server 130 The balance 133B of each user registered in the balance table 133 is read, and the balance 112B of the user in the balance server # 1 balance table 112 corresponding to the distribution server 130 in the management server 101 is read (FIG. 5B). Update to match the remaining balance (step S302).
[0056]
In this way, the balances are combined for all users. The same applies to the balance of the balance table 122 corresponding to the distributed server # 2 in the management server 101 and the balance table 143 in the distributed server 140 in the distributed server 140 corresponding to the other distributed servers 140.
[0057]
After the balance 112B in the balance table 112 corresponding to the distributed server # 1 is updated, the balance 112B of any user stored in the table 112, that is, the balance of the user in the distributed server 130 corresponding to the table Is less than the replenishment reference amount of the user. The replenishment reference amount for each user is stored in an area 108 </ b> C provided in the entry corresponding to the user in the total charge amount table 108.
[0058]
If any user's balance in the distribution server 130 is less than the replenishment reference amount set for the user, the user's entry in the total charge table 108 is locked (step S303). The lock is executed by writing a bit indicating the lock in the exclusive flag 108D included in the entry of the user in the total charge amount table 108.
[0059]
Thereafter, the distributed server replenishment program 111 or 121 replenishes the overall billing amount control process 106 with the shortage for the user, that is, the balance corresponding to the difference between the replenishment reference amount and the corresponding balance in the distributed server. A request is made (step S304). The total charge amount control process 106 determines whether or not the requested shortage can be replenished from the balance 108B (FIG. 5A) in the total charge amount table 108 of the user by the total charge amount control program 107.
[0060]
In the case where the requested remaining balance can be replenished, the remaining balance corresponding to the distributed server # 1 replenishment process 110 executing the requesting distributed server replenishment program 111 is replenished with the remaining surplus. It moves by adding it to the remaining amount 112B of the user. The amount of money moved is stored as an increase 112C. In this way, the balance of the distributed server 130 is increased on the management server 101 for the user whose balance on the distributed server is insufficient.
[0061]
In some cases, the balance 108B of the user in the total billing amount table 108 may be smaller than the replenishment reference amount. In this case, since it cannot be replenished in advance, the total charge amount control program 107 notifies the distributed server replenishment program 111 or 121 of the replenishment request source that replenishment is not possible. In the distributed server replenishment program 111 or 121, it is determined whether or not the shortage amount has been replenished based on the response regarding whether or not replenishment is possible by the total charge amount control program 107 (step S305). Even if replenishment is not possible, this is ignored and no special action is taken (step S306).
[0062]
Thereafter, the distributed server supplement program 111 or 121 calls the distributed server charge amount control process 131 on the corresponding distributed server 130, and uses the increased amount 112 C in the remaining balance table 112 corresponding to the distributed server # 1 as the distributed server in the distributed server 130. In addition to the balance 133B of the same user registered in the internal balance table 133, this balance is increased to the replenishment reference amount (step S307). After the increase, the increase 112C is reset to zero. If the user cannot be replenished, the increase 112C in the balance table # 1 corresponding to the distributed server # 1 is 0, and in this case, replenishment is not performed.
[0063]
Thereafter, the exclusion flag 108D for the user in the total billing amount table 108 is reset, and the lock on the balance 108B of the user is released (step S308). Thereafter, it is determined whether or not advance replenishment has been performed for all users (step S309). If not, another user is selected (step S310), and the above processing is repeated. In this way, the balance of all users for one distributed server is replenished in advance to the replenishment reference amount.
[0064]
The same process is executed in the same manner for the other distributed servers. For example, with respect to the distributed server 140, advance replenishment is executed by the distributed server # 2 replenishment process 120 in the management server 101 using the distributed server replenishment program 111 or 121 and the distributed server # 1 corresponding balance table 112. The balances in the balance server balance table 143 are replenished to the replenishment reference amount for all users.
[0065]
The accounting process at each distributed server when the user executes shopping is executed as follows. FIG. 7 is a schematic flowchart of processing executed when a user purchases a product among the processing of the distributed server billing amount control program 132. The processing of the distributed server charge amount control program 142 is the same. The charging process for the user purchase is executed by any of the distributed servers. In the distributed server, is the amount of money necessary for the purchase of the user larger than the balance of the user stored in the balance area 133B (FIG. 5C) of the balance server 133 in the balance server 133 in the balance server? It is determined whether or not (step S501). If the user's balance is greater than the purchase amount, the user's purchase is processed as a valid purchase. That is, the balance is reduced by the purchase amount (step S502), and the user is notified of “purchase possible” (step S503).
[0066]
However, as a result of the determination in step S501, when the balance of the user in the distribution server is less than the purchase amount, the user individual setting process 104 in the management server 101 is performed by the distribution server charge amount control process 131 in the distribution server 130. Is requested to increase the balance in the distributed server 130 by the shortage amount, and waits until the amount is increased (step S504).
[0067]
As will be described in more detail later, when the balance of the user in the management server 101 is greater than the shortage amount, the management server 101 replenishes the requesting distributed server with the shortage amount. When the remaining balance of the user in the management server is less than the shortage amount, the management server 101 collects the shortage amount of the user from another distributed server, for example, 140, and distributes the collected residual amount to the requesting distributed server 130. To replenish. If the remaining balance in another distributed server, for example 140, is less than the shortage amount, the management server 101 notifies the request source distributed server 130 that the shortage amount cannot be recovered.
[0068]
In the distributed server billing amount control process 131 of the request source distributed server 130, when the shortage amount is replenished from the management server 101, it is determined that the balance of the distributed server 130 is not short (step S 505). Is reduced by the purchase amount (step S502), and purchase permission is returned (step S503). However, if the shortage amount is not replenished by the management server 101, it is determined that the balance of the user of the distributed server 130 is insufficient (step S505), and a purchase impossibility is returned (step S506). Thus, the accounting process at the distributed server 130 ends.
[0069]
An outline of processing by the management server 101 when the balance on the distributed server of the user corresponding to the purchase amount described above is insufficient is as follows.
[0070]
FIG. 8 is a schematic flowchart of the process of the user individual setting program 105. As already described, when the user's remaining balance in the distributed server 130 is insufficient for the purchase amount in the process of executing the charging process for the user on any of the distributed servers, for example, 130, The user individual setting process 104 of the management server 101 is called from the distributed server billing amount control process 131, and replenishment of the shortage amount is requested. When receiving the replenishment request, the user individual setting process 104 processes the replenishment request according to the user individual setting program 105.
[0071]
First, in step S401, an exclusive lock is placed on the balance 108B of the user in the total charge table 108. This exclusive lock is performed in order to sequentially update the balance of the same user when there is a replenishment request of the balance for the same user from another process. The exclusive lock is performed by storing a lock bit in the exclusive flag area 108D of the user.
[0072]
In step S <b> 402, the total charge control process 106 is requested to increase the balance in the distributed server of the user by the shortage amount, and the process waits until the increase in the balance is approved by the total charge control process 106. In step S403, when the response from the total charge amount control process 106 is approval of the remaining amount increase, the distribution server charge amount control process 131 of the request source distributed server 130 is notified of the increase of the shortage amount. If the response from the total charge amount control process 106 cannot increase the remaining balance, a non-increase amount is returned to the distributed server charge amount control process 131 of the request source distributed server 130. In step S404, the lock of the balance of the user in the total charge table 108 set in step S401 is released, and the user individual setting process 104 is ended.
[0073]
FIG. 9 is a schematic flowchart of the total charge amount control program 107. The total billing amount control process 106 is called from the distributed server # 1 replenishment process 110, the distributed server # 2 replenishment process 120, or the user individual setting process 104 in response to a replenishment request. From the distributed server # 1 replenishment process 110 or the distributed server # 2 replenishment process 120, the balance of any of the distributed servers is requested to be replenished to the user whose balance is smaller than the replenishment reference amount. Called from the individual user setting process 104 when the purchase amount exceeds the balance of the user in the distributed server that is processing the billing. When the total charge amount control process 106 receives the balance replenishment request, it processes the replenishment request in accordance with the total charge amount control program 107.
[0074]
First, in step S801, it is determined whether or not the request amount can be extracted from the balance of the requesting user in the total charge amount table 108. If the requested amount can be extracted from the balance, in step 807, only the requested amount is returned from the user's balance in the total bill table 108 to the request source, and the total bill control process 106 ends the process. If the requested amount cannot be extracted from the balance, it is determined in step S802 whether the call is from the user individual setting process 104.
[0075]
If so, that is, if it is a replenishment request related to purchase, it is checked in step S804 whether or not the balance can be collected from other distributed servers. That is, it is determined whether or not the shortage can be collected from the balance of the user of the distributed server other than the distribution server of the request source and the balance of the user in the management server 101.
[0076]
This determination is performed as follows. The balance of the user of the management server 101 is stored as the balance 108B of the user in the total charge table 108. The remaining amount of the user in the other distributed server is added to the remaining amount of the user in the management server 101, and when the remaining amount equal to or more than the requested amount is obtained as a result of the addition, the shortage amount can be recovered. When there are a plurality of distributed servers other than the requesting distributed server, the balance of the user in each of the other distributed servers is assigned to the user in the management server 101 in the order of the distributed server with the largest balance of the user. Add to the balance.
[0077]
If it is determined in step S804 that the requested amount can be collected, in step S806, all the remaining balance of the user is collected from the other distributed server 140 (the remaining balance is set to 0), and the corresponding amount in the total charge amount table 108 is collected. Add to user's balance 108B. When there are a plurality of distributed servers from which the balance is to be collected, the above addition process is repeated for each distributed server. Thereafter, in step S807, as already described, the requested amount is supplemented to the requesting distributed server.
[0078]
On the other hand, if it is determined in step S804 that the requested amount cannot be collected, in step S805, the request source is notified of the shortage of the balance.
[0079]
In step S802, it is determined that the replenishment request is not a request from the user individual setting process 104, that is, a call from the distributed server replenishment process corresponding to any of the distributed servers, for example, the distributed server # 1 replenishment process 110. In this case, the replenishment request is not a replenishment request for the shortage amount associated with the purchase but a pre-replenishment request generated because the balance at the distributed server is less than the replenishment reference amount. In this case, since the remaining amount of the user in the total billing amount table 108 is already smaller than the shortage requested to be replenished in step S801, the shortage is collected from other distributed servers in order to realize replenishment. There is a need to. However, if the balance is collected from another distributed server in order to use the balance as the replenishment reference amount, the processing overhead in the management server 101 and other distributed servers increases. Returning to (step S803), the overall billing amount control process 106 ends the process.
[0080]
In this way, the balance of each user of each distributed server is periodically replenished so as to be the replenishment reference amount. Therefore, when the purchase amount is within the replenishment reference amount, when the distributed server executes the charging process associated with the purchase by the user, there is no shortage of the balance in the distributed server. When it becomes necessary to move the balance between the distributed server and the management server 101, the processing of the management server 101 and the processing of the distributed server increase along with the movement, which increases the accounting processing time. Therefore, according to the present embodiment, it is possible to reduce the billing processing time by performing advance replenishment.
[0081]
The present invention is not limited to the above embodiments, and can be implemented in various forms. For example, the shortage check for whether or not the balance at each distributed server of each user has not reached the replenishment reference value is performed for all users and all the distributed servers by the management server in the above embodiment. However, all the distributed servers can be changed to check the balance in each distributed server of each user in parallel. For this purpose, the replenishment reference value of each user may be stored in each distributed server. In such a modification, the balance shortage check is performed in a distributed manner by a plurality of distributed servers, so that the time required to complete the balance shortage check can be shortened. However, there is a possibility that replenishment requests may be generated simultaneously from a plurality of distributed servers to the management server, and the management server needs to be programmed so that it can process a plurality of such replenishment requests that occur simultaneously. For this reason, the program of the management server may be more complicated than the case where the shortage check is performed only by the management server as in the embodiment described above.
[0082]
FIG. 10 shows an example of another distributed billing processing system realized by distributing a plurality of management servers. All users are divided into two user groups, and different management servers are used corresponding to the respective user groups. User grouping can be performed by, for example, user IDs. For example, a management server 910 for user group 1 and a management server 911 for user group 2 can be used. Thereby, the load of each management server can be reduced compared with the case where the number of management servers is one. In this example, the same set of distributed servers 920 to 923 executes the charging process for any group of users. In the figure, the load balancer 150 and the terminal 151 shown in FIG. 1 are not shown for simplicity. The load balancer needs to select a management server to be processed for each user.
[0083]
FIG. 11 shows an example of still another distributed billing processing system that uses a set of distributed servers corresponding to each user group. That is, distributed servers 1020 and 1021 are used for charging processing for users belonging to user group 1, and distributed servers 1022 and 1023 are used for charging processing for users belonging to user group 2. The management server 101 is used for all users. Since different distributed server groups are used for each user group, the processing load of each distributed server can be reduced.
[0084]
Furthermore, even if the total number of distributed servers used for the same user group is reduced, the load on each distributed server can be reduced by increasing the number of user groups. If the total number of distributed servers used for the same user group is reduced, it becomes possible to increase the balance of the same user in one distributed server, which may cause a shortage of balance during billing processing. Can be reduced. In the figure, the load balancer 150 and the terminal 151 shown in FIG. 1 are not shown for simplicity. The load balancer needs to select a distributed server group to be processed for each user, for example, based on a user ID.
[0085]
【The invention's effect】
As described above, according to the present invention, when a charging process is executed on a user's purchase action on any of the distributed servers, the balance of the user at the distributed server is insufficient with respect to the purchase amount. It is possible to reduce the frequency of occurrence of the state of being. This can reduce the frequency of transferring the shortage amount from the management server to the distributed server during the billing process, thereby preventing an increase in the execution time of the billing process.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an embodiment of a distributed billing processing system according to the present invention.
FIGS. 2A and 2B are diagrams showing various examples of execution forms of purchases to be charged by the distributed charging processing system according to the present invention. FIGS.
FIG. 3 is a diagram illustrating main programs and related data incorporated in a management server.
FIG. 4 is a diagram showing main programs and related data incorporated in some distributed servers.
FIG. 5 is a diagram showing examples of various data used in the system of FIG. 1;
FIG. 6 is a schematic flowchart of a distributed server supplement program.
FIG. 7 is a schematic flowchart of processing executed when a user purchases a product among the processing of the distributed server billing amount control program.
FIG. 8 is a schematic flowchart of an individual user setting program.
FIG. 9 is a schematic flowchart of an overall billing amount control program.
FIG. 10 is a configuration diagram of a charging processing system that uses a different management server for each user group.
FIG. 11 is a configuration diagram of an accounting processing system that uses different distributed server groups for each user group.

Claims (7)

複数の分散サーバと、少なくとも一つの管理サーバとを有し、ユーザがあらかじめ支払った金の残金を管理し、ユーザが商品若しくはサービスを購入したときに当該ユーザに対する課金を購入額に応じて処理する分散課金処理システムであって、各ユーザがあらかじめ支払った金の残金の一部を前記管理サーバから各分散サーバにあらかじめ送金し、いずれかの分散サーバにおいて、いずれかのユーザに対する課金処理を実行するときに、当該分散サーバ内の当該ユーザの残金が当該課金処理に必要な額より多い場合、当該分散サーバ内の当該ユーザの残金を用いて当該課金処理を実行し、当該分散サーバにおける当該ユーザの残金が課金処理に必要な額より不足している場合、当該不足額の送金を当該分散サーバより前記管理サーバに要求し、前記管理サーバ内にある当該ユーザの残金から前記要求された不足額の残金を当該要求元のサーバに当該管理サーバから送金し、若しくは前記管理サーバ内の前記ユーザに対する前記残金が前記要求された不足額に足りないとき、少なくとも当該足りない額の残金を前記要求元の分散サーバ以外の他の分散サーバから前記管理サーバにより回収して、当該回収された残金を用いて前記要求された不足額の残金を当該管理サーバから当該要求元のサーバに送金する分散課金処理システムにおいて、各分散サーバにおける各ユーザの残金が当該ユーザ毎にあらかじめ定められた補充基準額に達しているか否かを定期的に検査し、前記検査の結果、いずれかのユーザのいずれかの分散サーバ内の残金が前記補充基準額から不足していることが判明したとき、前記管理サーバ内の当該ユーザの残金のうち当該補充基準額からの不足額を当該分散サーバ内の当該ユーザの残金に対して補充し、各ユーザに対して定められた前記補充基準額は、前記管理サーバが備える制御パラメータテーブルに記録された当該ユーザがあらかじめ支払った及びそれぞれの金額に対応してあらかじめ定められた基準使用日数に依存して前記管理サーバによって定められることを特徴とする残金管理方法。It has a plurality of distributed servers and at least one management server, manages the remaining amount of money paid by the user in advance, and processes charges for the user according to the purchase amount when the user purchases goods or services A distributed charging processing system, wherein a part of the balance of money paid in advance by each user is transferred in advance from the management server to each distributed server, and charging processing for any user is executed in any of the distributed servers When the balance of the user in the distributed server is greater than the amount required for the billing process, the billing process is executed using the balance of the user in the distributed server, and If the balance is insufficient for the billing process, request the remittance amount from the distributed server to the management server. The balance of the requested shortage from the balance of the user in the management server is transferred from the management server to the requesting server, or the balance for the user in the management server is requested When the shortage amount is insufficient, the management server collects at least the remaining amount of the shortage amount from another distributed server other than the request source distributed server, and the requested shortage amount using the recovered balance amount In a distributed billing processing system that transfers the remaining amount of money from the management server to the requesting server, whether or not the balance of each user in each distributed server has reached a predetermined replenishment reference amount for each user is periodically As a result of the inspection, it is determined that the balance in any distributed server of any user is insufficient from the replenishment reference amount. The replenishment reference amount determined for each user by replenishing the shortage amount from the replenishment reference amount of the remaining amount of the user in the management server to the remaining amount of the user in the distributed server. Is determined by the management server depending on the amount paid in advance by the user recorded in the control parameter table provided in the management server and a predetermined standard usage period corresponding to each amount. How to manage the balance. 前記検査は、毎日あらかじめ定めた条件を満たす時間帯に実行されることを特徴とする請求項1に記載の残金管理方法。  The balance management method according to claim 1, wherein the inspection is executed every day in a time zone that satisfies a predetermined condition. 前記検査は、前記管理サーバにより実行されることを特徴とする請求項1又は2に記載の残金管理方法。  The balance management method according to claim 1 or 2, wherein the inspection is executed by the management server. 前記検査は、各分散サーバにより実行されることを特徴とする請求項1又は2に記載の残金管理方法。  3. The balance management method according to claim 1, wherein the inspection is executed by each distributed server. 複数のユーザが複数のユーザグループに区分され、前記管理サーバは、それぞれ一つのユーザグループに対応した設けられた複数の管理サーバからなり、各管理サーバは、対応するユーザグループに属する複数のユーザの残金を管理する管理サーバとして使用されることを特徴とする請求項1から4のいずれか一つに記載の残金管理方法。  A plurality of users are divided into a plurality of user groups, and the management server includes a plurality of management servers provided corresponding to one user group, and each management server includes a plurality of users belonging to the corresponding user group. 5. The balance management method according to claim 1, wherein the balance management method is used as a management server for managing the balance. 複数のユーザが複数のユーザグループに区分され、前記複数の分散サーバは、複数の分散サーバグループに区分され、各分散サーバグループは、複数の分散サーバを有し、当該分散サーバグループが対応するユーザグループに属する複数のユーザの残金を管理する複数の分散サーバとして使用されることを特徴とする請求項1から4のいずれか一つに記載の残金管理方法。  A plurality of users are divided into a plurality of user groups, the plurality of distributed servers are divided into a plurality of distributed server groups, and each distributed server group has a plurality of distributed servers, and the users to which the distributed server group corresponds The balance management method according to any one of claims 1 to 4, wherein the balance management method is used as a plurality of distributed servers that manage a balance of a plurality of users belonging to a group. 複数の分散サーバと、少なくとも一つの管理サーバとを有し、ユーザがあらかじめ支払った金の残金を管理し、ユーザが商品若しくはサービスを購入したときに当該ユーザに対する課金を購入額に応じて処理する分散課金処理システムであって、各ユーザがあらかじめ支払った金の残金の一部を前記管理サーバから各分散サーバにあらかじめ送金する手段と、いずれかの分散サーバにおいて、いずれかのユーザに対する課金処理を実行するときに、当該分散サーバ内の当該ユーザの残金が当該課金処理に必要な額より多い場合、当該分散サーバ内の当該ユーザの残金を用いて当該課金処理を実行する手段と、当該分散サーバにおける当該ユーザの残金が課金処理に必要な額より不足している場合、当該不足額の送金を当該分散サーバより前記管理サーバに要求する手段と、前記管理サーバ内にある当該ユーザの残金から前記要求された不足額の残金を当該要求元のサーバに当該管理サーバから送金し、若しくは前記管理サーバ内の前記ユーザに対する前記残金が前記要求された不足額に足りないとき、少なくとも当該足りない額の残金を前記要求元の分散サーバ以外の他の分散サーバから前記管理サーバにより回収して、当該回収された残金を用いて前記要求された不足額の残金を当該管理サーバから当該要求元のサーバに送金する手段と、各分散サーバにおける各ユーザの残金が当該ユーザ毎にあらかじめ定められた補充基準額に達しているか否かを定期的に検査する手段と、前記検査の結果、いずれかのユーザのいずれかの分散サーバ内の残金が前記補充基準額から不足していることが判明したとき、前記管理サーバ内の当該ユーザの残金のうち当該補充基準額からの不足額を当該分散サーバ内の当該ユーザの残金に対して補充する手段と、を備え、各ユーザに対して定められた前記補充基準額は、前記管理サーバが備える制御パラメータテーブルに記録された当該ユーザがあらかじめ支払った及びそれぞれの金額に対応してあらかじめ定められた基準使用日数に依存して前記管理サーバによって定められることを特徴とする分散課金処理システム。It has a plurality of distributed servers and at least one management server, manages the remaining amount of money paid by the user in advance, and processes charges for the user according to the purchase amount when the user purchases goods or services A distributed billing processing system, wherein a part of the balance of money paid in advance by each user is transferred in advance from the management server to each distributed server, and any one of the distributed servers performs billing processing for any user Means for executing the billing process using the balance of the user in the distributed server when the balance of the user in the distributed server is greater than the amount required for the billing process when executing, and the distributed server If the balance of the user is insufficient from the amount necessary for the billing process, remittance of the shortage from the distributed server A request to the management server, and the requested balance from the user's balance in the management server is transferred from the management server to the requesting server, or to the user in the management server When the balance is insufficient for the requested shortage amount, at least the balance of the shortage amount is collected by the management server from another distributed server other than the requesting distributed server, and the collected balance is used. Means for transferring the requested remaining balance from the management server to the requesting server, and whether or not the balance of each user in each distributed server has reached a predetermined replenishment reference amount for each user. Means for periodically inspecting, and as a result of the inspection, the balance in any of the distributed servers of any user is insufficient from the replenishment reference amount When it is found out, the means for replenishing the shortage amount from the replenishment reference amount out of the balance of the user in the management server to the balance of the user in the distributed server, for each user The replenishment reference amount determined in accordance with the management server depends on the amount paid in advance by the user recorded in the control parameter table provided in the management server and the reference usage days determined in advance corresponding to the respective amounts. A distributed billing processing system characterized by being determined by a server.
JP2001249778A 2001-08-21 2001-08-21 Balance management method, balance management program and distributed charge processing system in distributed charge processing system Expired - Fee Related JP4445686B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001249778A JP4445686B2 (en) 2001-08-21 2001-08-21 Balance management method, balance management program and distributed charge processing system in distributed charge processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001249778A JP4445686B2 (en) 2001-08-21 2001-08-21 Balance management method, balance management program and distributed charge processing system in distributed charge processing system

Publications (2)

Publication Number Publication Date
JP2003058717A JP2003058717A (en) 2003-02-28
JP4445686B2 true JP4445686B2 (en) 2010-04-07

Family

ID=19078725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001249778A Expired - Fee Related JP4445686B2 (en) 2001-08-21 2001-08-21 Balance management method, balance management program and distributed charge processing system in distributed charge processing system

Country Status (1)

Country Link
JP (1) JP4445686B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071081A (en) * 2003-08-25 2005-03-17 Bitwallet Inc Sales server, sales method, and sales program
JP2007525118A (en) 2004-01-29 2007-08-30 ウーンディ,リチャード,エム. Head-end fail software operation system and method
KR100545874B1 (en) 2005-06-22 2006-01-25 엔에이치엔(주) User's log information management method and system using location server belonging to a plurality of groups
JP5595434B2 (en) * 2012-03-02 2014-09-24 楽天株式会社 Information processing server, information processing method, information processing program, and recording medium on which information processing program is recorded
US10395225B2 (en) * 2014-09-30 2019-08-27 Lg Cns Co., Ltd. Distributed processing system for processing transportation fees and operating method thereof
CA3079733C (en) * 2015-03-30 2023-08-29 10353744 Canada Ltd. Account data management system
CN106952085B (en) * 2016-01-06 2021-06-25 创新先进技术有限公司 Method and device for data storage and service processing
KR101862000B1 (en) * 2017-11-22 2018-05-29 팝펀딩 주식회사 Risk management system of cryptography money using multi-customer

Also Published As

Publication number Publication date
JP2003058717A (en) 2003-02-28

Similar Documents

Publication Publication Date Title
JP6923541B2 (en) Sales profit distribution system and method
JP4445686B2 (en) Balance management method, balance management program and distributed charge processing system in distributed charge processing system
US20180341966A1 (en) System and method for promoting product sales by using distribution of sales profit according to event success
KR102377608B1 (en) System and method for expediting selling goods
JP6793686B2 (en) Benefit granting device and privilege granting method
US20230030667A1 (en) System and method for promoting product sales
KR101723637B1 (en) System and method for expediting selling goods by using margin distribution according to success of event
WO2019240185A1 (en) Merchandise sales system
KR101683241B1 (en) System and method for expediting selling goods by using margin distribution according to success of event
KR102378060B1 (en) Product sales promotion system that allows one&#39;s assets to be increased by the consumption of other members
KR102528149B1 (en) System for expediting selling goods by using margin distribution
KR101690997B1 (en) System and method for expediting selling goods by using margin distribution
KR101692891B1 (en) System and method for distributing sales margin
JP7033536B2 (en) Product sales promotion system using sales revenue distribution based on successful events
KR102528153B1 (en) System for expediting selling goods by using margin distribution
KR101712159B1 (en) System and method for expediting selling goods by using margin distribution according to success of event
KR102279440B1 (en) System for expediting selling goods
KR101872703B1 (en) Method for allowing foreign currency product to be traded in based on an exchange rate, server and user terminal using the same
KR20220040449A (en) System for expediting selling goods by margin distribution
KR102528158B1 (en) System for distributing sales margin
KR102474905B1 (en) Quality evaluation system of fresh products based on collective intelligence
KR102528162B1 (en) System and method for expediting selling goods by using margin distribution according to success of event
KR101715859B1 (en) System and method for expediting selling goods by using margin distribution
KR101718882B1 (en) System and method for expediting selling goods by using margin distribution
KR101718883B1 (en) System and method for expediting selling goods by using margin distribution

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040402

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050309

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20050323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070606

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070724

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160122

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees