JP4796312B2 - サービス利用者による不払いに曝されることを管理する、サービスプロバイダの方法およびシステム - Google Patents

サービス利用者による不払いに曝されることを管理する、サービスプロバイダの方法およびシステム Download PDF

Info

Publication number
JP4796312B2
JP4796312B2 JP2005053829A JP2005053829A JP4796312B2 JP 4796312 B2 JP4796312 B2 JP 4796312B2 JP 2005053829 A JP2005053829 A JP 2005053829A JP 2005053829 A JP2005053829 A JP 2005053829A JP 4796312 B2 JP4796312 B2 JP 4796312B2
Authority
JP
Japan
Prior art keywords
service
computer
service provider
code
sequence
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
JP2005053829A
Other languages
English (en)
Other versions
JP2005243036A (ja
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005243036A publication Critical patent/JP2005243036A/ja
Application granted granted Critical
Publication of JP4796312B2 publication Critical patent/JP4796312B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/16Payments settled via telecommunication systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Water Supply & Treatment (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Primary Health Care (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、一般に、サービスプロバイダによって提供される否認不能な証拠に基づくサービスプロバイダとサービス利用者との間の争いの解決に関する。
様々なサービスが、インターネットを介してサービスプロバイダから入手可能である。例えば、一部のサービスプロバイダは、地図情報、気象情報、株価情報などを提供する。サービス利用者(例えばパーソナルコンピュータ)は、サービスに関する要求をサービスプロバイダのウェブサーバに送信する。ウェブサーバは、サービスを実行し(例えば、要求された情報を検索し)、ウェブページを介して要求元のサービス利用者にサービスの結果を提供する。これらのサービスプロバイダの多くが、サービスをサービス利用者に無料で提供する。しかし、サービスプロバイダは、通常、サービス利用者によって要求された情報を提供するウェブページ上の広告スペースを売ることにより収入を得る。
コンピューティング装置が小さくなるにつれて、情報を表示する画面が小さくなる。例えば、セル電話機は、ウェブアクセスを可能にすることができるコンピューティング装置であるが、広告を含む通常のウェブページを表示できない非常に小さい画面だけを有する場合がある。したがって、セル電話機にサービスを提供するサービスプロバイダは、広告を介して収入を得ることができない可能性がある。サービスプロバイダが、そのようなコンピューティング装置にサービスを提供して収入を得られる形を有することが望ましい。
これらのコンピューティング装置は、小さくなりつつあるが、その処理能力は高まりつつある。その結果、これらのコンピューティング装置(例えば、セル電話機および携帯情報端末)は、多数の異なるアプリケーションプログラムをホストすることができる。例えば、セル電話機は、電子メール、地図情報、位置情報、カレンダリング情報などを提供するアプリケーションをホストすることができる。これらのアプリケーションは、コンピューティング装置が購入されるとき予めインストールされているか、購入後にユーザによってインストールされる場合がある。例えば、セル電話機ユーザが、現在位置の地図をセル電話機画面に表示することを望む場合がある。地図アプリケーションがプリインストールされていない場合に、セル電話機ユーザは、インターネットから地図アプリケーションをダウンロードし、セル電話機にインストールすることができる。地図アプリケーションは、位置サービスプロバイダおよび地図サービスプロバイダのサービスを使用することを必要とする場合がある。地図アプリケーションは、位置サービスプロバイダを使用して、セル電話機の近くの様々なセルからの読み取りに基づくセル電話機の現在位置を識別することができる。その現在位置を地図サービスプロバイダに提供し、ユーザに表示される適当な地図を入手することができる。
そのようなコンピューティング装置でのアプリケーションの使用に関して、複数の問題に遭遇する可能性がある。問題の1つは、サービスプロバイダが使用する広告収入モデルが、そのようなコンピューティング装置の使用と共にうまく働かない可能性があることである。解決策の1つは、サービスプロバイダが、要求されるサービスごとに料金を請求することである。例えば、位置サービスプロバイダは、要求される位置ごとに0.02ドルを請求することができる。しかし、位置サービスプロバイダが、要求されたサービスごとにクレジットカードに請求することは、請求のトランザクション費用が高すぎるので、非実用的である。位置サービスプロバイダは、サービス利用者に関する料金を集計し、毎月1回だけクレジットカードに請求することができる。しかし、サービス利用者(またはコンピューティング装置のユーザ)がそのような請求について争いを起こす(dispute)費用効率の良い形はない。例えば、集計された料金が10ドルである場合があるが、この金額は、争いを解決するのに必要なクレジットカード会社による調査のトランザクション費用に見合わない。そのような争いを自動的に解決する形を有することが望ましい。
争いの解決にトランザクション費用が絡まない場合であっても、料金の集計は、依然としてサービスプロバイダに対して不利益を与える。具体的に言うと、不利益の1つは、サービスプロバイダが、サービス利用者による不払いに曝される危険を冒すことである。サービスプロバイダは、サービス利用者のクレジットカード番号を有する場合であっても、例えばカード保有者が最近にクレジットカードを取り消したので、請求が断られる可能性がある。そのような不払いに曝されることを抑制するため、サービスプロバイダは、クレジットカードに対しより頻繁に請求することを望む可能性がある。しかし、そのような頻繁な請求から被る不利益は、各請求が、請求額より高い可能性がある最低限のトランザクション費用を有する可能性があることである。サービスプロバイダが、不払いに曝されることと、サービスに関する請求のトランザクション費用との間の許容可能なバランスを指定できるようにすることが望ましい。
そのようなコンピューティング装置の使用に伴うもう1つの問題は、コンピューティング装置にダウンロードされ、インストールされるアプリケーションが、正しく振る舞わない場合があることである。例えば、アプリケーションに、10秒ごとに位置サービスプロバイダに位置情報を要求するウィルスが含まれる場合がある。そのような要求は、位置サービスプロバイダがその月のサービス料でサービス利用者に5000ドル以上を請求することを示すクレジットカード明細書が受け取られるまで、サービス利用者に分からない可能性がある。そのようなアプリケーションが正しく振る舞っていないか否かを自動的に検出する形を有することが望ましい。さらに、サービスプロバイダが、挙動の履歴に基づいて、あるアプリケーションが信頼に値するか否かを示し、その結果、サービス利用者が、そのようなアプリケーションのインストールに関してより確かな裏付けに基づく判断を行えるようにすることが望ましい。
一般に、サービスプロバイダがサービスを提供し、サービス利用者が、参加者(すなわち、サービスプロバイダ、サービス利用者、アプリケーション、およびその作成者)が信頼できない場合がある環境においてさまざまなアプリケーションを使用する、費用効率の良い形を有することが望ましい。
本発明の目的は、サービスプロバイダがサービス利用者にサービスを提供でき、サービスが受け取られたことの否認不能な証拠を有するサービスを提供する機構を提供する争いを解決するシステムを提供することである。
サービス利用者による不払いにサービスプロバイダが曝されることを管理し、支払い要求に関連する費用を管理するシステムを提供する。一実施形態において、サービスプロバイダは、請求単位に含まれるサービスの個数を指定する。請求単位は、サービスプロバイダがサービス利用者による不払いのリスクをとるサービスの個数を表す。その個数のコードのシーケンスが、開始コードから始めて終了コードで終わる、前の適用によって生成されたコードに1方向関数を連続して適用することによって生成される。サービスプロバイダとサービス利用者の両方によって信頼されるサービス仲介が、サービスプロバイダに終了コードを提供する。サービス利用者は、最後から2番目のコードから始めて、生成と逆の順序のシーケンスのコードを含む要求を、サービスプロバイダに送信する。サービスプロバイダは、サービス利用者から開始コードを受信するとき、その開始コードを使用して、支払いを要求し、そのサービスプロバイダが要求されたサービスを提供したことをサービス仲介に実証することができる。支払い要求は、支払いが要求されているサービスの個数だけに依存するのでない関連する費用を有するので、サービスプロバイダは、1つの請求単位に多数のサービスを有することを望む場合がある。しかし、サービスプロバイダは、請求単位に多数のサービスを有する状態で、より不払いに曝されるという危険を冒す。したがって、サービスプロバイダは、請求単位のサービスの数を設定して、不払いのリスクと支払い要求に関連する費用の均衡を図る。
サービスプロバイダがサービス利用者によって要求されたサービスを提供したことを、サービスプロバイダがサービス仲介に実証することができる、サービスプロバイダにサービスを提供するように要求する争いを解決する方法およびシステムを提供する。一実施形態において、サービスプロバイダのサービスを要求することの開始を望むサービス利用者は、サービス仲介に終了コードを登録する。終了コードは、開始コードに1方向関数を適用することによって生成されるコードのシーケンスの最後のコードを表す(1方向関数とは、計算が比較的簡単であるが、逆を計算するのが比較的困難な関数である)。1方向関数を適用することによって、開始コードから始まり終了コードで終り、その間にある個数の中間コードがある、コードのシーケンスが生成される。サービス利用者の登録を受信したとき、サービス仲介は、終了コードをサービスプロバイダに提供する。サービス利用者は、サービスプロバイダへのサービス提供の要求を開始することができる。サービス利用者がサービスプロバイダに送信する各要求に、生成と逆の順序のシーケンスのコードが含まれる。この関数は1方向なので、サービスプロバイダが、サービス利用者から受信したものより開始コードに近いコードを生成するために逆関数を適用することは、非実用的である。したがって、サービスプロバイダが、シーケンスのコードを有する場合、そのコードを、それがサービス利用者から受信されたことの否認不能な証拠と見なすことができる。さらに、1方向関数は、計算が比較的簡単なので、サービスプロバイダは、その関数を適用して終了コードを正しく導出することができるか否かを判定することによって、サービス利用者から受信したコードがシーケンスの有効なコードであるか否かを簡単に検証することができる。したがって、サービスプロバイダは、要求を受信するとき、サービスを提供する前に、要求のコードを使用して終了コードを導出することができることを検証する。検証が成功である場合に、サービスプロバイダは、要求されたサービスをサービス利用者に提供する。サービスプロバイダは、検証されたコードが受信される前にサービス利用者が要求したサービスのすべてを提供したことの否認不能な証拠として、検証されたコードを用いることができる。検証が不成功の場合には、サービスプロバイダは、サービス利用者がそのサービスを要求したことの否認不能な証拠を有しないので、サービスの提供を断ることができる。サービス利用者が、要求したサービスを提供されないか、提供されたサービスに満足しない場合に、サービス利用者は、そのサービスプロバイダにそれ以上サービスを要求する必要がない。その場合には、サービスプロバイダは、サービス利用者がそれに関して提供されたサービスに満足しなかった第1の要求の際に受信した要求のコード(すなわち、否認不能な証拠)だけを有する。この形で、サービスプロバイダは、否認不能な証拠を有することを保証でき、サービス利用者は、提供されたサービスに満足しないとき、必ず、サービスの要求を停止することができる。
コードを受信した後に、サービスプロバイダは、提供したサービスについてサービス利用者に請求することができる。請求は、クレジットカードサービスなどの第三者の金融エンティティに提出することができる。サービス利用者が、請求について争いを起こす場合、サービスプロバイダまたはサービス利用者の一方が誤っている(実際には、ある情況で両方が誤っている場合がある)。争いは、サービス仲介によって解決され、サービス仲介は、金融エンティティと提携することができる。サービス仲介は、争いの指標を受信する場合、サービスプロバイダが請求されるサービスを提供したことの否認不能な証拠として、サービス利用者から受信したコードを提供するようにサービスプロバイダに要求することができる。サービス仲介は、サービスプロバイダからコードを受信する場合、1方向関数を用いて、受信したコードから始めて登録時にサービス利用者によって提供された終了コードを正しく導出することができるか否かを判定することができる。終了コードを正しく導出でき、1方向関数の適用の回数が請求されるサービスとの一貫性を有する(例えば、各アプリケーション、したがって各コードが、1つのサービスに対応することができる)場合、サービス仲介は、サービスプロバイダを争いの勝者と宣言する。サービスプロバイダによって受信されたコードの数が、サービス利用者に提供されたサービスの回数を表す。したがって、サービス利用者が、10回のサービスについて請求される場合に、サービスプロバイダは、終了コードを導出する前に導出される必要がある少なくとも9つのコードを提供する必要がある。サービス仲介は、開始コードから始めて、提供されたコードで停止するコードを導出することによって、または提供されたコードから開始し、終了コードで終了することによって、提供されたコードを検証することができる。どちらの場合でも、生成されるコードの個数が、サービスプロバイダが提供したことを実証できるサービスの回数を表す。提供されたコードを検証できない場合には、サービス仲介は、サービス利用者を勝者と宣言することができる。したがって、サービス仲介は、自動的に低費用で(すなわち、人間の介入なしで)争いを解決することができる。
一実施形態において、サービス仲介は、まず、1方向関数の適用以外の方法を使用して、争いの解決を試みる。1方向関数の適用は、その逆と比較したとき、計算が比較的簡単ではあるが、頻繁な適用は実用的でなく、計算費が高くつく可能性がある。例えば、サービス仲介は、毎日数千件の争いを解決する可能性がある。サービス仲介は、まず、サービスプロバイダとサービス利用者の両方に、請求されたサービスに対応するコードを提供するように求めることによって争いの解決を試みることができる。コードが同一である場合に、サービス利用者が正しい否認不能な証拠と認めるコードをサービスプロバイダが提供したので、サービス仲介は、サービスプロバイダを勝者と宣言する。しかし、コードが同一でない場合には、サービスプロバイダまたはサービス利用者のいずれかが誤っている(あるいは両方が誤っている可能性がある)。その場合に、サービス仲介は、1方向関数を適用して、サービスプロバイダまたはサービス利用者によって提供されたコードのどちらが正しいかを判定する。サービス仲介は、正しいコードを提供したものを勝者と宣言する。サービスプロバイダおよびサービス利用者の両方が正しいコードを提供しない場合には、サービス仲介は、両方が不正な情報を提供しているので、争いを解決できないと宣言する。その代わりに、サービス仲介は、サービスプロバイダがその請求を支持する証拠を提供できないので、サービス利用者を勝者と宣言することができる。
争いを解決するとき使用されるさらなる証拠として、サービスプロバイダは、要求されたサービスを提供するとき、サービス利用者にサービスのコードを提供することができる。サービスプロバイダは、サービスのコードのシーケンスを生成し、サービス仲介に登録することができる。サービス仲介は、終了コードをサービス利用者に提供することができる。サービスプロバイダは、各サービス要求に応答して、生成と逆の順序でこのコードをサービス利用者に提供することができる。争いを解決するとき、サービス仲介は、サービスプロバイダおよびサービス利用者に、サービスプロバイダおよびサービス利用者の両方によって生成された対応するコードを提供するように求めることができる。サービス仲介は、サービス利用者のコードを検証するのとほぼ同一の形でこれらのコードを検証することができる。サービスプロバイダが、正しいサービス利用者コードおよび正しいサービスプロバイダコードを提供する場合に、サービス仲介は、サービスプロバイダを勝者と宣言する。サービスプロバイダが、不正なサービス利用者コードを提供し、サービス利用者が、両方のコードを正しく提供する場合に、サービス仲介は、サービス利用者を勝者と宣言する。そうでない場合に、サービス仲介は、両方の当事者が、不正であることが分かった証拠を提供したので、争いを解決できないと宣言することができる。サービスプロバイダによって生成されるコードの使用は、争いの解決が証拠との一貫性を有することを検証するもう1つのレベルを提供する。
当業者は、この争いを解決するシステムのさまざまな変形形態が可能であることを理解するであろう。例えば、サービス仲介が、サービス利用者のためにコードを生成し、これをサービス利用者に提供し、サービスプロバイダのためにコードを生成し、これをサービスプロバイダに提供することができる。その代わりに、サービス仲介が、サービス利用者およびサービスプロバイダ自体のシーケンスを生成する際に使用するために、登録処理中に開始コードを選択し、これをサービス利用者およびサービスプロバイダに提供することができる。サービス利用者は、コードのシーケンスを生成する場合に、開始コード、終了コード、またはこの両方を、登録中にサービス仲介に提供することができる。サービス仲介は、開始コードだけを提供される場合に、指定された回数だけ1方向関数を適用して、終了コードを生成することができ、その終了コードをサービスプロバイダに提供することができる。サービス仲介は、終了コードを提供される場合に、その終了コードをサービスプロバイダに直接に提供することができる。サービスプロバイダが、否認不能な証拠を提供するとき、サービス仲介は、1方向関数を適用して、終了コードを導出することができるかどうかを調べることができる。サービスプロバイダが、サービスのコードを生成するとき、類似する処理を行うことができる。
当業者は、サービス利用者からサービスプロバイダにコードを送信するタイミングを変更できることも理解するであろう。例えば、サービス利用者は、サービスプロバイダが、要求されたサービスを提供した後にのみコードを提供することができる。コードは、次のサービス要求で、またはサービスが提供された直後に提供することができる。サービスプロバイダは、コードを受信しないか、コードの正しさを検証できない場合に、そのサービス利用者へのそれ以上のサービス提供を断ることができる。要求されたサービスが提供される前にコードが送信されるときは、サービス利用者は、サービスプロバイダがサービスを提供しないことのリスクをとる。対照的に、要求されたサービスが提供された後にコードが送信されるときは、サービスプロバイダが、サービス利用者がコードを送信しないことのリスクをとる。サービスプロバイダが、検証できるコードを受信するとき、そのサービスプロバイダが、そのコードを使用して、サービス利用者がサービスを要求したことを実証できることを、当業者は理解するであろう。
シーケンスの長さまたはシーケンス内のコードの数は、1つの登録に基づいて要求できるサービスの数を表す。例えば、シーケンスに101個のコードがある場合に、100個のサービスを要求することができる。終了コードは、サービスの要求には使用されない。というのは、これが、サービス仲介からサービスプロバイダに直接に提供されるからである。一実施形態において、シーケンス内のコードの数は、「請求単位」を表す。請求単位は、サービスプロバイダが単一の請求トランザクションで請求できるサービスの最小個数を表す。サービスプロバイダは、サービス利用者から開始コードを受信するとき、その請求単位のすべてのサービスについてそのサービス利用者に請求することができる。サービスプロバイダは、不払い債務に曝されることおよび請求トランザクション費用の均衡を図るために、請求単位のコードの数を指定することができる。サービスプロバイダは、多数のサービスの支払いを1回でのみ要求することによって、請求トランザクション費用を減らすことを望む場合がある。要求に含まれるサービスの数が多くなるほど、請求を行う必要がある要求の数が減り、提供されるサービスごとの請求トランザクション費用が安くなる。しかし、各請求に含まれるサービスの数が増えるほど、サービスプロバイダがサービス利用者による不払いに曝されるようになる。例えば、請求単位のサービスの数が、1000である場合に、サービスプロバイダは、サービス利用者が支払えない(例えば破産した)場合に、1000個のサービスの不払いに曝されることのリスクをとることになる。しかし、不払いのリスクよりも、請求単位ごとの多数のサービス要求を有することによる請求トランザクション費用の潜在的な節約がまさる可能性がある。
一実施形態において、サービス利用者は、それが実行しているアプリケーションが不正に振る舞っているかどうかを検出することができる。例えば、アプリケーションは、要求することを許可される数以上のサービスを要求することを試みる場合がある。サービス利用者は、そのような不正な挙動を検出するとき、そのアプリケーションを自動的にアンインストールし、サービスプロバイダに通知することができる。サービスプロバイダは、さまざまなサービス利用者によって提供される通知を分析して、アプリケーションが実際に不正に振る舞っているかどうかを判定することができる。そうである場合に、サービスプロバイダは、アプリケーションがそのサービスプロバイダを使用することを許可されないようにすることができる。別のサービス利用者が、そのアプリケーションのインストールを試みるとき、そのサービス利用者は、サービスプロバイダを用いて、そのアプリケーションが許可されるか否かを検査することができる。許可されない場合に、サービス利用者は、そのアプリケーションのインストールを打ち切ることができる。逆に、サービスプロバイダは、多数のアプリケーションが不正に振る舞っていることの通知をあるサービス利用者が提供しているが、他のサービス利用者がそのような通知を提供していないことを検出する場合に、サービスプロバイダは、アプリケーションではなくサービス利用者が不正に振る舞っていると推論することができる。その場合に、サービスプロバイダは、サービス利用者がそのサービスプロバイダを使用する許可を取り消すことができる。この形で、サービスプロバイダは、アプリケーションに関する情報を集計して、どのアプリケーションまたはサービス利用者が不正に振る舞っているかを判定することができる。
図1は、一実施形態の争いを解決するシステムのコンポーネントを示すブロック図である。サービス利用者101、サービス仲介102、およびサービスプロバイダ103は、ネットワーク104に接続される。サービス仲介は、さまざまな周知の認証技法のいずれかを使用して、サービス利用者およびサービスプロバイダから来ると称する通信が、実際に詐称者ではなくサービス利用者またはサービスプロバイダから来たことを保証することができる。サービス利用者に、携帯情報端末、セル電話機、全地球測位システム装置、パーソナルコンピュータなどのすべてのタイプのコンピューティング装置を含めることができる。サービスプロバイダは、さまざまなサービスをサービス利用者に提供することができる。例えば、サービス利用者がセル電話機である場合に、サービスプロバイダは、現在位置を提供する位置サービスを提供することができる。
サービス利用者、サービスプロバイダ、およびサービス仲介のコンピュータシステムに、中央処理ユニット、メモリ、入力装置(例えばキーボードおよびポインティングデバイス)、出力装置(例えばディスプレイ装置)、および記憶装置(例えばディスクドライブ)を含めることができる。メモリおよび記憶装置は、生成システムを実施する命令を含むことができるコンピュータ可読媒体である。さらに、データ構造およびメッセージ構造を、通信リンク上の信号などのデータ伝送媒体を介して記憶または伝送することができる。インターネット、ローカルエリアネットワーク、広域ネットワーク、またはポイントツーポイントダイヤルアップ接続など、さまざまな通信リンクを使用することができる。
図1に、争いを解決するシステムを実施できる適切なオペレーティング環境の例を示す。このオペレーティング環境は、適切なオペレーティング環境の1つの例にすぎず、争いを解決するシステムの使用の範囲または機能性に関する制限を暗示することを意図されたものではない。使用に適する可能性がある他の周知のコンピューティングシステム、コンピューティング環境、およびコンピューティングコンフィギュレーションに、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド装置、ラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル一般電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境、および類似物が含まれる。
争いを解決するシステムを、1つまたは複数のコンピュータまたは他の装置によって実行される、プログラムモジュールなどのコンピュータ実行可能な命令の全般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通常、プログラムモジュールの機能性は、さまざまな実施形態で望み通りに組み合わせる、または分散することができる。
図2は、一実施形態の、サービス利用者、サービス仲介、およびサービスプロバイダの間の情報の流れの例を示す図である。この例では、サービスプロバイダ203が、サービスのコードのシーケンスを提供しない。サービス利用者201は、サービスプロバイダのサービスを要求することを望むとき、開始コードを選択し、その開始コードから導出されるコードのシーケンスを生成し、記憶する(ステップ1)。一実施形態において、シーケンスのコードの数を、例えばサービスプロバイダとサービス利用者との間の、サービス仲介202に登録された契約で、事前に定義することができる。サービス利用者は、登録要求をサービス仲介に送信する(ステップ2)。登録要求に、開始コード、終了コード、サービスプロバイダの識別、およびその下でサービスが提供される契約の識別を含めることができる。サービス仲介は、要求を検証し(例えば、サービスプロバイダおよび契約が有効であることを保証する)、サービス利用者の登録レコードを記憶することができる(ステップ3)。サービス仲介は、各登録に一意の登録番号を割り当てることができ、その結果、争われる請求を、対応する登録まで追跡できるようになる。サービス仲介は、登録の通知をサービスプロバイダに送信する(ステップ4)。この通知には、終了コード、サービス利用者の識別、および契約を含めることができる。サービスプロバイダは、通知を検証し、サービス要求の検証に使用するために通知の情報を記憶することができる(ステップ5)。サービスプロバイダは、サービス仲介に応答し、登録の通知を受け入れたことを確認する(ステップ6)。サービス仲介は、サービス利用者に応答し、登録が受け入れられたことを示す(ステップ7)。サービス利用者は、サービスプロバイダに要求を送信する(ステップ8)。各要求に、シーケンスのコードが含まれる。要求の受信時に、サービスプロバイダは、サービス利用者から前に受信した最後のコードを取り出すが、最初は、サービス仲介によって提供された終了コードを取り出す(ステップ9)。サービスプロバイダは、受信したコードに1方向関数を適用して、それが取り出されたコードと一致するか否かを判定する。そうである場合には、受信されたコードが正しいものとして検証され、サービスプロバイダは、受信したコードを記憶し(ステップ10)、サービスを提供する。サービスプロバイダは、サービス実行の結果をサービス利用者に送信することができる(ステップ11)。その代わりに、サービス利用者は、他のなんらかの形でサービスプロバイダがサービスを実行したことを検証することができる。例えば、サービス要求が、製品を分配するために自動販売機に許可を送信することであった場合に、ユーザは、サービスが提供されたか否かを視覚的に確認することができる。サービス利用者が要求するサービスごとに、シーケンスの所定の長さに達するまで、ステップ8から11を繰り返す。シーケンス内のすべてのサービスが完了したとき、サービスプロバイダは、サービス利用者に請求することができる。請求に、登録の一意の識別を含めることができる。サービス利用者が、請求について争いを起こす場合に、サービスプロバイダは、それがサービスを提供したことの否認不能な証拠として、サービス利用者が提供した開始コードを用いることができる。サービスプロバイダは、開始コードを証拠としてサービス仲介に提供することができる。サービス仲介は、それを、登録時にサービス利用者が提供した開始コードと比較して、サービスプロバイダが争いに勝つか否かを判定することができる。
図3から9は、争いを解決するシステムのサービス利用者、サービス仲介、およびサービスプロバイダによって実行される処理を示す流れ図である。図示の処理では、サービスプロバイダが、それ自体のコードのシーケンスを生成しない。図3は、一実施形態の、コードのシーケンスを登録するサービス利用者のコンポーネントの処理を示す流れ図である。このコンポーネントは、サービスプロバイダの指標およびその下でサービスが要求される契約を渡すことによって呼び出すことができる。サービス利用者とサービスプロバイダの間に契約が1つしかない場合には、それを識別する必要はない。また、契約は、サービス仲介またはサービスプロバイダによって示唆することができる。ブロック301で、コンポーネントが、契約に基づいて要求されるサービスの数を選択する。ブロック302で、コンポーネントが、関数を呼び出して、選択されたサービスの数についてコードのシーケンスを生成する。ブロック303で、コンポーネントが、サービス仲介に登録要求メッセージを送信する。登録要求メッセージに、開始コード、終了コード、ならびにサービスプロバイダおよび契約の識別を含めることができる。ブロック304で、コンポーネントは、サービス仲介からの応答を待つ。判断ブロック305で、応答から、登録が受け入れられたことが示される場合に、コンポーネントは、ブロック306に継続し、そうでない場合には、このモードは、拒絶された登録を処理することによって継続する。ブロック306で、コンポーネントは、提供されたサービスの数を追跡する変数を初期化する。コンポーネントは、その後、完了する。
図4は、一実施形態の、シーケンスを生成するコンポーネントの処理を示す流れ図である。コンポーネントは、シーケンスによって表されるサービスの数を渡される。ブロック401で、コンポーネントは、シーケンスの最初のコードすなわち開始コードを識別するようにインデックスiをセットし、開始コードをセットする。開始コードは、乱数ジェネレータによって選択することができる。シーケンスは、配列Sに記憶される。ブロック402から404で、コンポーネントは、コードのシーケンスを生成するために、1方向関数を適用してループする。ブロック402で、コンポーネントは、シーケンスの次のコードをポイントするようにインデックスを増分する。判断ブロック403で、インデックスがシーケンスのサービスの数より大きい場合に、コンポーネントは、シーケンスを返し、そうでない場合に、コンポーネントは、ブロック404に継続する。ブロック404では、コンポーネントが、シーケンスの前のコードに1方向関数を適用することによって生成されるコードを、シーケンス内のインデクシングされた位置に記憶する。コンポーネントは、ブロック402にループして、シーケンスの次のコードを生成する。
図5は、一実施形態の、サービスプロバイダにサービスを要求するコンポーネントの処理を示す流れ図である。判断ブロック501で、シーケンスのサービスの数が、既に要求されている場合に、コンポーネントは、サービスを要求できないという指標を返し、そうでない場合に、コンポーネントは、ブロック502で継続する。ブロック502で、コンポーネントは、要求されたサービスの数を追跡するのに使用され、要求できるサービスの数を表す変数を減らす。ブロック503で、コンポーネントは、シーケンスのインデクス付けされたコードを含むサービス要求メッセージをサービスプロバイダに送信し、要求が送信されたという指標を返す。
図6は、一実施形態の、サービス利用者から登録要求メッセージを受信するとき呼び出されるサービス仲介のコンポーネントの処理を示す流れ図である。コンポーネントは、サービス利用者の指標、開始コード、終了コード、サービスプロバイダ、および契約を渡される。判断ブロック601で、契約が、サービス利用者とサービスプロバイダの間の有効な契約を表す場合に、コンポーネントは、ブロック602で継続し、そうでない場合に、コンポーネントは、エラーを返し、登録が拒絶されたことをサービス利用者に通知することができる。一実施形態において、サービス利用者およびサービスプロバイダは、その契約をサービス仲介に登録することができる。契約は、シーケンスに含まれるサービスの数および、サービスプロバイダが提供されるサービスごとに請求する額などの価格設定情報を識別することができる。サービス仲介は、争いを解決するとき、登録された契約情報を用いる。ブロック602で、コンポーネントは、渡された情報を記憶し、その結果、争いを解決する必要があるときに用いるようにする。ブロック603で、コンポーネントは、サービスプロバイダに登録通知メッセージを送信する。このメッセージは、サービス利用者、契約、および終了コードを識別する。ブロック604で、コンポーネントは、サービスプロバイダからの確認登録メッセージを待つ。確認応答が受信されるとき、コンポーネントは、ブロック605で、登録が受け入れられたことを示す登録応答メッセージをサービス利用者に送信する。その後、コンポーネントは、登録が成功したという指標を返す。
図7は、一実施形態の、登録通知メッセージがサービス仲介から受信されるとき呼び出されるサービスプロバイダのコンポーネントの処理を示す流れ図である。コンポーネントは、サービス利用者の指標、契約、および終了コードを渡される。コンポーネントは、サービス利用者および契約を検証することができる。有効でない場合に、コンポーネントは、非確認応答メッセージまたは拒絶応答メッセージをサービス仲介に送信することができる。ブロック701で、コンポーネントは、契約からシーケンス内のサービスの数を取り出す。ブロック702で、コンポーネントは、最初の数からカウントダウンすることによって、要求されたサービスの数を追跡する変数をセットする。ブロック703で、コンポーネントは、配列Sに終了コードをセットし、完了する。
図8は、一実施形態の、サービス要求メッセージがサービス利用者から受信されるとき呼び出されるサービスプロバイダのコンポーネントの処理を示す流れ図である。コンポーネントは、サービス利用者の指標、契約、およびコードを渡される。コンポーネントは、コードが正しいことを検証し、正しい場合に、サービスを実行する。ブロック801で、コンポーネントは、サービス利用者および契約についてシーケンスで提供される残りのサービスの数の指標を取り出す。判断ブロック802で、提供されるサービスが残っていない場合に、コンポーネントは、エラーを返し、そうでない場合には、ブロック803で継続する。判断ブロック803では、受信したコードへの1方向関数の適用が最後に受信したコードと等しい場合に、コンポーネントは、ブロック804で継続し、そうでない場合には、エラーの指標を返す。ブロック804で、コンポーネントは、提供される残りのサービスの数を追跡する変数を減らす。ブロック805で、コンポーネントは、受信したコードを記憶し、渡されたコードが検証されたという指標を戻す。サービスプロバイダは、否認不能な証拠として使用される最後に提供されたコードを記憶し、受信される次のコードの正しさを検証することだけが必要である。
図9は、一実施形態の、争いを処理するサービス仲介のコンポーネントの処理を示す流れ図である。このコンポーネントは、サービス利用者が、サービスプロバイダからの請求について争いを起こすとき呼び出される。このコンポーネントは、サービス利用者によって生成されたコードのシーケンスだけに基づいて争いの解決を処理する。コンポーネントは、サービス利用者の指標、サービスプロバイダ、および争われるシーケンスの登録を渡される。ブロック901で、コンポーネントは、サービス利用者に適当なコードを要求する。適当なコードは、サービス利用者が請求されたサービスの数を表す。ブロック902で、コンポーネントは、適当なコード(すなわち、否認不能な証拠)を提供するようにサービスプロバイダに要求する。判断ブロック903で、受信したコードが一致する場合に、コンポーネントは、サービスプロバイダを勝者と宣言し、そうでない場合には、ブロック904で継続する。ブロック904で、コンポーネントは、その登録の開始コードおよびサービスの個数を取り出す。ブロック905で、コンポーネントは、シーケンスのコードを生成する。判断ブロック906で、サービスプロバイダのコードが生成されたコードと一致する場合に、コンポーネントは、サービスプロバイダを勝者と宣言し、そうでない場合には、ブロック907で継続する。判断ブロック907で、サービス利用者のコードが生成されたコードと一致する場合には、コンポーネントは、サービス利用者を勝者と宣言し、そうでない場合には、コンポーネントは、サービス利用者とサービスプロバイダの両方が、請求されたサービスを支持するコードを提供しないので、争いを解決できないことを報告する。
一実施形態において、サービスプロバイダとサービス利用者の両方が、コードシーケンスを生成するとき、サービス仲介は、当事者の両方が正しいコードを提供するとき限って、勝者を宣言する。争いを解決するために、サービス仲介は、当事者の双方に、それぞれの立場を支持するサービスプロバイダコードおよびサービス利用者コードを提供するように要求する。サービスプロバイダによって提供されたコードが正しい場合には、サービス仲介は、サービスプロバイダを勝者と宣言する。そうではなく、サービス利用者が提供したコードの両方が正しい場合に、サービス仲介は、サービス利用者を勝者と宣言する。それ以外のすべての場合に、両方の当事者が、少なくとも1つの不正なコードを提供しており、サービス仲介は、勝者なしと宣言する。
図10は、一実施形態の、サービス利用者のコンポーネントを示すブロック図である。サービス利用者1000には、サービス利用者コードコンポーネント1001、ランタイムコンポーネント1002、アプリケーション1003、コードストア1004、契約ストア1005、およびアプリケーションストア1006が含まれる。サービス利用者コードコンポーネントは、シーケンスを生成し、そのシーケンスをサービス仲介に登録する責任を負う。ランタイムコンポーネントは、アプリケーションがそれを介してサービスプロバイダにアクセスできる環境をアプリケーションに提供する責任を負う。ランタイムコンポーネントは、その許可を超えてサービスを要求するアプリケーションがアンインストールされるステップと、対応する通知がサービスプロバイダに送信されるステップを保証する。コードストアに、登録に関する情報が含まれる。各エントリは、サービスプロバイダ、契約、シーケンス、および各登録されたシーケンスのシーケンスへの現在のインデックスを識別する。契約ストアには、サービス利用者の契約を記述する情報が含まれる。契約ストアの各エントリは、サービスプロバイダおよび契約条件を識別する。アプリケーションストアには、各アプリケーションのサービスの限度を記述した情報が含まれる。アプリケーションストアの各エントリは、アプリケーション、サービスプロバイダ、許可される限度、およびそのサービスの現在の使用量を識別することができる。
図11は、一実施形態の、サービス利用者のユーザが、アプリケーションに関する許可される限度を確立する方法を示すディスプレイ記述である。ディスプレイ記述1100に、アプリケーション名1101および許可テーブル1102が含まれる。許可テーブルには、サービスプロバイダの列、累積限度の列、許可される限度の列、および期間の列が含まれる。サービスプロバイダの列は、アプリケーションがアクセスを許可されるサービスプロバイダを識別する。累積限度は、すべてのアプリケーションにまたがって許可された、そのサービスプロバイダへのサービス要求の総数を指定する。許可限度は、アプリケーションがサービスプロバイダに要求することを許可されるサービス要求の数を示す。例えば、このテーブルの最初の行は、アプリケーションが位置サービスプロバイダを使用することを必要とすること、グループとしてのアプリケーションが毎月500回のサービスを要求することを許可されていること、およびこのアプリケーションが毎月50回までのサービスを要求することを許可されることを示す。このディスプレイ画面からの情報は、アプリケーションストアに記憶される。
図12は、一実施形態の、ランタイムコンポーネントのインストールサブコンポーネントの処理を示す流れ図である。ブロック1201で、コンポーネントは、アプリケーションから許可情報を取り出す。アプリケーション情報は、アプリケーションの秘密鍵を使用して暗号化されたアプリケーション名とすることができる。コンポーネントは、アプリケーションの公開鍵を使用して、名前を暗号化解除することができる。判断ブロック1202で、コンポーネントが、アプリケーションが真である(例えば、名前が正しく暗号化解除される)と判定する場合に、コンポーネントはブロック1203で継続し、そうでない場合には、コンポーネントは、ブロック1208に継続して、インストールを打ち切り、完了する。ブロック1203から1207では、コンポーネントは、ループして、サービス利用者が、アプリケーションが必要とするサービスプロバイダに加入しているかどうかを判定する。ブロック1203で、コンポーネントは、アプリケーションに、それが必要とする次のサービスプロバイダを尋ねる。判断ブロック1204で、アプリケーションが、別のサービスプロバイダを必要とすると示す場合に、コンポーネントは、ブロック1205に継続し、そうでない場合には、ブロック1209に継続する。判断ブロック1205で、サービス利用者が、そのサービスプロバイダに加入している場合には、コンポーネントは、ブロック1206で継続し、そうでない場合には、サービス利用者はそのアプリケーションをサポートできず、ブロック1208でインストールを打ち切り、完了する。ブロック1206で、コンポーネントは、アプリケーションがそのサービスプロバイダの使用を許可されるかどうかをサービスプロバイダに尋ねる。判断ブロック1207で、アプリケーションが許可される場合に、コンポーネントはブロック1203にループして、必要な次のサービスプロバイダについてアプリケーションに尋ね、そうでない場合には、コンポーネントは、ブロック1208でインストールを打ち切り、完了する。ブロック1209で、サービス利用者は、アプリケーションが必要とするすべてのサービスプロバイダを提供することができ、コンポーネントは、図11のディスプレイ記述を使用して、各サービスプロバイダのサービス許可限度を入力する。ブロック1210で、コンポーネントは、アプリケーションのインストールに進み、完了する。
図13は、一実施形態の、サービスプロバイダにサービス実行を要求するランタイムコンポーネントのサブコンポーネントの処理を示す流れ図である。ブロック1301で、コンポーネントが、アプリケーションストアからアプリケーションデータを取り出す。判断ブロック1302で、サービスの要求が、そのサービスプロバイダに関するアプリケーションの許可限度を超える場合に、コンポーネントは、ブロック1305で継続し、そうでない場合にはブロック1303で継続する。ブロック1303で、コンポーネントが、アプリケーションストアのアプリケーションデータを更新して、サービスの使用量の増加を示す。ブロック1304で、コンポーネントが、シーケンスの次のコードを含む要求をサービスプロバイダに送信する。その後、コンポーネントは完了する。ブロック1305で、コンポーネントは、アプリケーションが不正に振る舞っていることのレポートをサービスプロバイダに送信する。ブロック1306で、コンポーネントは、アプリケーションをアンインストールし、完了する。
当業者は、説明した技法の多数の変形形態が可能であることを理解するであろう。例えば、サービス利用者は、サービスのシーケンスを要求したいとき、公開鍵/秘密鍵対を生成することができる。サービス利用者は、公開鍵をサービス仲介に登録し、サービス仲介は、公開鍵をサービスプロバイダに提供する。サービス利用者は、サービス要求を送信するとき、秘密鍵を用いて暗号化されたシーケンス番号を含ませられる。サービスプロバイダは、要求を受信するとき、公開鍵を使用してシーケンス番号を暗号化解除し、それが正しいことを検証する。そうである場合に、サービスプロバイダは、暗号化されたシーケンス番号を否認不能な証拠として使用することができる。
当業者は、サービス利用者が、それが要求し、ある個数のサービスを提供されたことの否認不能な証拠として、サービスプロバイダが生成し、サービスプロバイダが提供したコードを使用できることも理解するであろう。そのような証拠は、例えば、サービス利用者が、ある最小の数のサービスを要求する場合に値引きを受けるとき、有用になる可能性がある。
当業者は、ランタイム環境が、アプリケーションが不正に振る舞っているか否かを判定するために、多数の異なる技法を使用できることも理解するであろう。例えば、ランタイム環境は、不正な振る舞いの指標として、アプリケーションが、タスクの実行に時間がかかり過ぎる(例えば無限ループの)場合、または、あまりに頻繁にサービスを要求する場合などを検出することができる。ランタイム環境は、ユーザがアプリケーションの動作に満足しているか否かに関する入力も受け取ることができる。ランタイム環境は、これらの不正な振る舞いをさまざまなサービスプロバイダに報告することができ、その結果、サービスプロバイダは、複数のサービス利用者からのレポートを集計して、アプリケーションが不正に振る舞っているか否かの正確な査定を提供できるようになる。
前述から、本発明の特定の実施形態を例示のために説明したが、本発明の趣旨および範囲から逸脱せずに、さまざまな変更を行えることを理解されたい。用語「サービス」に、サービスプロバイダに要求できるすべての種類のアクションが含まれることを、当業者は理解するであろう。例えば、アクションに、ユーザへの物理的製品または電子製品の販売(例えば音楽CD)、自動販売機での製品の分配、電話番号の突き止め、支払いの許可、家庭の電灯のリモートコントロール、ビデオのストリーミングなどを含むことができる。したがって、本発明は、請求項によってのみ限定される。
一実施形態の争いを解決するシステムのコンポーネントを示すブロック図である。 一実施形態の、サービス利用者、サービス仲介、およびサービスプロバイダの間の情報の流れの例を示す図である。 一実施形態の、コードのシーケンスを登録するサービス利用者のコンポーネントの処理を示す流れ図である。 一実施形態の、シーケンスを生成するコンポーネントの処理を示す流れ図である。 一実施形態の、サービスプロバイダにサービスを要求するコンポーネントの処理を示す流れ図である。 一実施形態の、サービス利用者から登録要求メッセージを受信するとき呼び出されるサービス仲介のコンポーネントの処理を示す流れ図である。 一実施形態の、登録通知メッセージがサービス仲介から受信されるとき呼び出されるサービスプロバイダのコンポーネントの処理を示す流れ図である。 一実施形態の、サービス要求メッセージがサービス利用者から受信されるとき呼び出されるサービスプロバイダのコンポーネントの処理を示す流れ図である。 一実施形態の、争いを処理するサービス仲介のコンポーネントの処理を示す流れ図である。 一実施形態の、サービス利用者のコンポーネントを示すブロック図である。 一実施形態の、サービス利用者のユーザが、アプリケーションに関する許可される限度を確立する方法を示すディスプレイ記述である。 一実施形態の、ランタイムコンポーネントのインストールサブコンポーネントの処理を示す流れ図である。 一実施形態の、サービスプロバイダにサービス実行を要求するランタイムコンポーネントのサブコンポーネントの処理を示す流れ図である。
符号の説明
1100 ディスプレイ記述
1102 許可テーブル

Claims (21)

  1. サービス利用者による不払いによって被る損害を管理し、およびサービスプロバイダがサービス利用者にサービスを提供するときの支払い要求に関連する費用をコンピュータシステムによって管理する方法であって、
    前記サービス利用者が使用するサービス利用者側コンピュータが前記サービスプロバイダおよび前記サービス利用者に関する請求単位中のサービスの数を特定するステップと、
    前記サービス利用者側コンピュータが一方向関数を用いて開始コードから終了コードまでのコードのシーケンスを生成するステップであって、前記シーケンス内のコードの数は、前記請求単位中のサービスの前記特定された数に対応する生成するステップと、
    前記サービス利用者側コンピュータが前記終了コードをサービス仲介サーバに登録するステップと、
    前記サービス仲介サーバを介して前記サービスプロバイダが使用するサービスプロバイダ側コンピュータに前記終了コードを提供するステップと、
    前記サービス利用者側コンピュータが前記サービスプロバイダ側コンピュータにサービスを1つ要求する毎に、前記サービス利用者側コンピュータが前記サービスプロバイダ側コンピュータに、前記シーケンス内のコードの1つを提供するステップと、
    前記サービスプロバイダ側コンピュータが前記シーケンス内のコードの1つを受信し、前記要求されたサービスを前記サービス利用者側コンピュータに提供するとき、前記サービス仲介サーバを介して受信した前記シーケンス内のコードを提示して、前記サービス利用者側コンピュータに対して前記請求単位に関する支払いを要求するステップと
    を備えたことを特徴とする方法。
  2. 前記請求単位中のサービスの特定された数は、支払い要求に関連して被る費用を管理するために選択されることを特徴とする請求項1に記載の方法
  3. 前記サービスプロバイダ側コンピュータがサービスを提供したことについてサービス利用者側コンピュータが争いを起こすと、前記サービス仲介サーバは、前記争いを解決することを特徴とする請求項1に記載の方法
  4. 前記サービス仲介サーバは、前記開始コードを提供するように前記サービスプロバイダ側コンピュータに要求し、および前記提供された開始コードを使用して前記コードのシーケンスを生成できるとき、前記サービスプロバイダ側コンピュータが前記争いに勝つと判定するステップによって前記争いを解決することを特徴とする請求項3に記載の方法
  5. 前記サービス仲介サーバは、前記開始コードを提供するように前記サービスプロバイダ側コンピュータに要求し、および前記提供された開始コードを使用してコードの前記シーケンスを生成できないとき、前記サービス利用者側コンピュータが前記争いに勝つと判定することによって前記争いを解決することを特徴とする請求項3に記載の方法
  6. 前記サービス仲介サーバは、前記シーケンスを生成することを特徴とする請求項1に記載の方法
  7. 前記サービスプロバイダ側コンピュータは、前記サービス利用者側コンピュータによって要求されたサービスを提供することを特徴とする請求項1に記載の方法
  8. サービス利用者による不払いによって被る損害を管理し、および支払い要求に関連する費用を管理するサービスプロバイダが使用するサービスプロバイダ側コンピュータによって実行される方法であって、
    前記サービス利用者が使用するサービス利用者側コンピュータが前記サービスプロバイダおよび前記サービス利用者に関する請求単位中のサービスの数をサービス仲介サーバに提供するステップと、
    前記サービス仲介サーバから前記請求単位の終了コードを受信するステップと、
    前記サービス利用者側コンピュータからコードを含むサービスを提供の要求を受信し、および前記要求に含まれる前記コードに一方向関数を適用することで前記終了コードを導出することができることを検証できるとき、前記要求されたサービスを前記サービス利用者側コンピュータに提供するステップと、
    前記サービスの数を提供した後に、前記請求単位に関する支払いを要求するステップと
    を備え、
    前記サービスプロバイダ側コンピュータは、最後に受信した要求に含まれる開始コードに前記一方向関数を適用して前記開始コードから前記最終コードまでのコードのシーケンスを生成し、前記シーケンス内のコードの数と同数の前記サービス利用者側コンピュータによる前記サービスの数の要求を実証することができることを特徴とする方法
  9. 前記請求単位の前記サービスの数は、支払い要求に関連して被る費用を管理するために選択されることを特徴とする請求項8に記載の方法
  10. サービス利用者側コンピュータが、前記サービスプロバイダ側コンピュータにサービスを要求したことについて争いを起こすと、前記サービス仲介サーバは、前記争いを解決することを特徴とする請求項8に記載の方法
  11. 前記サービス仲介サーバは、前記サービスプロバイダ側コンピュータに前記開始コードを提供するように要求し、および前記提供された開始コードが前記終了コードの生成に使用できるとき、前記サービスプロバイダ側コンピュータが前記サービス利用者側コンピュータにサービスを提供したか否かの争いに勝つと判定することによって前記争いを解決することを特徴とする請求項8に記載の方法
  12. 前記サービス仲介サーバは、前記サービスプロバイダ側コンピュータに前記開始コードを提供するように要求し、および前記提供された開始コードが前記終了コードの生成に使用できないとき、前記サービス利用者側コンピュータが前記サービスプロバイダ側コンピュータにサービスを要求したか否かの争いに勝つと判定することによって前記争いを解決することを特徴とする請求項8に記載の方法
  13. サービス利用者による不払いによって被る損害を管理するサービス利用者側コンピュータ、サービスプロバイダ側コンピュータおよびサービス仲介サーバからなるコンピュータシステムであって、
    前記サービス利用者側コンピュータは、
    前記サービス利用者によって前記サービスプロバイダ側コンピュータに要求される、所定の数のサービスの指標を受け取るコンポーネントと、
    一方向関数を用いて前記所定の数のコードのシーケンスを生成するコンポーネントと、
    前記サービスプロバイダ側コンピュータにサービスを1つ要求する毎に、前記シーケンスのコードの1つを提供するコンポーネントと
    を含み、
    前記サービス仲介サーバは、前記サービス利用者側コンピュータから前記シーケンスのコードの1つを登録するコンポーネントを含み、
    前記サービスプロバイダ側コンピュータは、
    前記一方向関数を用いて前記所定の数のコードのシーケンスを生成するコンポーネントと、
    前記サービス仲介サーバから登録された終了コードを受信するコンポーネントと、
    前記サービス利用者側コンピュータから提供された前記コードの数を、前記サービス利用者側コンピュータから要求されたサービスの数と特定し、前記特定した数を前記サービス利用者側コンピュータに示すコンポーネントと
    を含むことを特徴とするシステム
  14. 前記サービスプロバイダ側コンピュータは、前記サービス利用者側コンピュータに支払いを要求するとき、前記サービス利用者側コンピュータが前記特定した数のサービスを要求したことを示すことを特徴とする請求項13に記載のシステム
  15. 前記サービス利用者側コンピュータは、前記シーケンスの開始コードを選択し、終端コードを前記サービス仲介サーバに提供することを特徴とする請求項13に記載のシステム
  16. サービス利用者側コンピュータが前記サービスプロバイダ側コンピュータにサービスを要求したことについて争いを起こすとき、前記サービス仲介サーバは、前記サービスプロバイダ側コンピュータが有する、前記一方向関数を用いて前記終了コードを導出可能なコードの数を判定することにより前記争いを解決することを特徴とする請求項13に記載のシステム
  17. 前記サービス仲介サーバは、前記シーケンスの開始コードを提供するように前記サービスプロバイダ側コンピュータに要求し、および前記提供された開始コードを使用して前記コードのシーケンスを生成できるとき、前記サービスプロバイダ側コンピュータが前記争いに勝つと判定することによって前記争いを解決することを特徴とする請求項16に記載のシステム
  18. 前記サービス仲介サーバは、前記シーケンスの開始コードを提供するように前記サービスプロバイダ側コンピュータに要求し、および前記提供された開始コードを使用して前記コードのシーケンスを生成できないとき、前記サービス利用者側コンピュータが前記争いに勝つと判定することによって前記争いを解決することを特徴とする請求項17に記載のシステム
  19. 前記特定されるサービスの数は、前記サービス利用者側コンピュータが前記サービス仲介サーバに登録することに関連する費用に基づくことを特徴とする請求項13に記載のシステム
  20. 前記サービス仲介サーバは、前記シーケンスを生成するコンポーネントを含むことを特徴とする請求項13に記載のシステム
  21. 前記サービスプロバイダ側コンピュータは、前記サービス利用者によって要求されるサービスを提供するコンポーネントを含むことを特徴とする請求項13に記載のシステム
JP2005053829A 2004-02-27 2005-02-28 サービス利用者による不払いに曝されることを管理する、サービスプロバイダの方法およびシステム Expired - Fee Related JP4796312B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/789,392 2004-02-27
US10/789,392 US7996323B2 (en) 2004-02-27 2004-02-27 Method and system for a service provider to control exposure to non-payment by a service consumer

Publications (2)

Publication Number Publication Date
JP2005243036A JP2005243036A (ja) 2005-09-08
JP4796312B2 true JP4796312B2 (ja) 2011-10-19

Family

ID=34750553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005053829A Expired - Fee Related JP4796312B2 (ja) 2004-02-27 2005-02-28 サービス利用者による不払いに曝されることを管理する、サービスプロバイダの方法およびシステム

Country Status (5)

Country Link
US (1) US7996323B2 (ja)
EP (1) EP1569152A3 (ja)
JP (1) JP4796312B2 (ja)
KR (1) KR20060042383A (ja)
CN (1) CN1661615A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8078509B2 (en) * 2006-08-17 2011-12-13 Cheng Gang Yap Ye Method and system for auditing and reconciling telecommunications data
US7734379B2 (en) * 2006-10-23 2010-06-08 Service Pro Monitoring, Llc System, method, and apparatus for managing wastewater treatment installation
FR2918529A1 (fr) * 2007-07-02 2009-01-09 France Telecom Procede de communication d'un terminal avec un serveur
US8260721B2 (en) * 2007-09-24 2012-09-04 Cheng Holdings, Llc Network resource access control methods and systems using transactional artifacts
US9626674B1 (en) * 2007-09-26 2017-04-18 Gregory J. Wolff System and method for exchanging, sharing and redeeming credits
FI20090449L (fi) * 2009-11-27 2011-05-28 Eazybreak Oy Järjestelmä ja menetelmä järjestelmään pääsyn myöntämiseksi
US20110131132A1 (en) 2009-11-27 2011-06-02 Eazybreak Oy System and method for managing subscriber account
JP5052691B1 (ja) * 2011-06-29 2012-10-17 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
CN108133372B (zh) * 2017-12-28 2022-02-18 蚂蚁智安安全技术(上海)有限公司 评估支付风险的方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131070B1 (en) * 1999-05-13 2006-10-31 Ricoh Company, Ltd. Application unit monitoring and reporting system and method
US5313616A (en) * 1990-09-18 1994-05-17 88Open Consortium, Ltd. Method for analyzing calls of application program by inserting monitoring routines into the executable version and redirecting calls to the monitoring routines
US5333304A (en) * 1991-05-03 1994-07-26 International Business Machines Corporation Method and apparatus for software application evaluation utilizing compiler applications
NL1001376C2 (nl) 1995-05-11 1996-11-12 Nederland Ptt Werkwijze voor het uitvoeren van een elektronische betalingstransactie met een variabel aantal betalingseenheden, alsmede betaalmiddel en stelsel voor toepassing van de werkwijze.
US5878138A (en) * 1996-02-12 1999-03-02 Microsoft Corporation System and method for detecting fraudulent expenditure of electronic assets
WO1997037461A1 (en) * 1996-04-01 1997-10-09 Hewlett-Packard Company Transmitting messages over a network
US5953420A (en) * 1996-10-25 1999-09-14 International Business Machines Corporation Method and apparatus for establishing an authenticated shared secret value between a pair of users
US5952638A (en) * 1996-11-25 1999-09-14 Xerox Corporation Space efficient method of electronic payments
US6341273B1 (en) * 1997-03-26 2002-01-22 British Telecommunications Public Limited Company Electronic coin stick with potential for future added value
US6134447A (en) 1998-05-29 2000-10-17 Ericsson Inc. System and method for monitoring and barring location applications
US7184988B1 (en) * 1999-01-28 2007-02-27 Certco, Inc. Methods for operating infrastructure and applications for cryptographically-supported services
US20010054026A1 (en) * 2000-02-25 2001-12-20 Timothy Choate Method of and system for monitoring an application
US6795856B1 (en) * 2000-06-28 2004-09-21 Accountability International, Inc. System and method for monitoring the internet access of a computer
JP2002049857A (ja) 2000-08-02 2002-02-15 E Bank Corp 時間課金システム
EP1205889A1 (en) * 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
JP2003006353A (ja) 2001-06-26 2003-01-10 Nec Corp サービス提供システムおよびサービス提供方法
AR037011A1 (es) * 2001-08-13 2004-10-20 Qualcomm Inc Un metodo para almacenar una aplicacion en un dispositivo, un dispositivo para ejecutar una aplicacion con dicho metodo, metodos para permitir acceso a un recurso del dispositivo y asociar una lista de autorizacion a una aplicacion, sistemas para almacenar una aplicacion en un dispositivo, para perm
US7028225B2 (en) * 2001-09-25 2006-04-11 Path Communications, Inc. Application manager for monitoring and recovery of software based application processes
JP2003140853A (ja) 2001-11-01 2003-05-16 Ricoh Co Ltd 画像情報変換処理システム
EP1463991A4 (en) * 2002-01-11 2008-08-06 Akamai Tech Inc JAVA APPLICATION FRAMEWORK FOR USE IN A CONTENT NETWORK (CDN)
US8611919B2 (en) * 2002-05-23 2013-12-17 Wounder Gmbh., Llc System, method, and computer program product for providing location based services and mobile e-commerce
US20040015718A1 (en) * 2002-07-22 2004-01-22 Hostsentinel, Inc. Framework for collaborative suppression of undesirable computer activity
AU2003293381A1 (en) * 2002-12-03 2004-06-23 Funk Software, Inc. Tunneled authentication protocol for preventing man-in-the-middle attacks
US20040153644A1 (en) 2003-02-05 2004-08-05 Mccorkendale Bruce Preventing execution of potentially malicious software
US20040205419A1 (en) * 2003-04-10 2004-10-14 Trend Micro Incorporated Multilevel virus outbreak alert based on collaborative behavior
US20050183143A1 (en) * 2004-02-13 2005-08-18 Anderholm Eric J. Methods and systems for monitoring user, application or device activity

Also Published As

Publication number Publication date
CN1661615A (zh) 2005-08-31
EP1569152A3 (en) 2006-05-24
KR20060042383A (ko) 2006-05-12
JP2005243036A (ja) 2005-09-08
EP1569152A2 (en) 2005-08-31
US7996323B2 (en) 2011-08-09
US20050192877A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
JP4796312B2 (ja) サービス利用者による不払いに曝されることを管理する、サービスプロバイダの方法およびシステム
JP4690075B2 (ja) サービスプロバイダとサービス利用者の間の争いを解決する方法およびシステム
CN108462724B (zh) 数据共享方法、装置、系统、成员节点和可读存储介质
US7596530B1 (en) Method for internet payments for content
US10291715B1 (en) Controlling access to services via usage models
RU2346328C2 (ru) Основывающееся на приложении выставление счетов за услуги в беспроводной абонентской сети
JP5680596B2 (ja) 無線加入者請求書作成及び配布
US7801771B1 (en) Providing configurable usage models for available services
US9044504B1 (en) Using configured application pricing to determine end user fees for use of invocable services
RU2456668C2 (ru) Вычисление измеренной платы за использование
CN110599323B (zh) 一种资源处理方法及处理设备
JP2010507151A (ja) マイクロペイメント取引を処理する方法とシステム
US8073442B2 (en) Binding a device to a provider
JP4874559B2 (ja) サービスコンシューマが、サービスを要求した際に誤った動作をするアプリケーション群を制御する方法およびシステム
EP2015218A2 (en) Method and system for data product license-modification coupons
CN112308563B (zh) 获客数据处理方法与节点
KR101134229B1 (ko) 전기통신 네트워크에서 책임 데이터를 통신하는 방법 및 시스템
JP2003248783A (ja) ディジタルコンテンツ販売におけるコンテンツ補償方法及びシステム及び購入制御端末及び認証課金サーバ及び販売サーバ
US10853780B1 (en) Providing configurable pricing for use of invocable services by applications
CN110570173A (zh) 基于区块链的会员数据处理方法及装置
US20130347082A1 (en) Unit-of-Use Control of a Computing Resource
KR20040026774A (ko) 컨텐츠 사용 요금 통합 결제 시스템 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110506

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110722

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: 20110729

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: 20140805

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees