利用者端末の動作方法及びサーバ装置
【課題】ダウンロードしたコンテンツの形式を扱うことができるプログラムが利用者の利用する電子機器にインストールされていないと利用者は損害を蒙る。
【解決手段】ブラウザがインストールされている利用者端末にプログラムをインストールし、前記ブラウザが第1のサーバへ送信するHTTP要求とともに送信するクッキー情報を前記利用者端末に記憶し、前記ブラウザが第2のサーバ装置へHTTP要求を送信して前記第1のURLへのリダイレクト命令を返信として受信し、前記ブラウザが前記リダイレクト命令に従って前記第1のサーバへHTTP要求とともに前記クッキー情報を送信して前記第1のサーバにて前記クッキー情報の確認がされることを条件として送信される前記第2のサーバ装置へのリダイレクト命令を返信として受信する。
【解決手段】ブラウザがインストールされている利用者端末にプログラムをインストールし、前記ブラウザが第1のサーバへ送信するHTTP要求とともに送信するクッキー情報を前記利用者端末に記憶し、前記ブラウザが第2のサーバ装置へHTTP要求を送信して前記第1のURLへのリダイレクト命令を返信として受信し、前記ブラウザが前記リダイレクト命令に従って前記第1のサーバへHTTP要求とともに前記クッキー情報を送信して前記第1のサーバにて前記クッキー情報の確認がされることを条件として送信される前記第2のサーバ装置へのリダイレクト命令を返信として受信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツを利用者端末にダウンロードして処理する際に、その利用者端末にそのコンテンツを処理するプログラムがインストールされているかどうかをサーバ装置側から検出する技術に関する。コンテンツとしては、例えば電子的な価値を表す情報があり、そのようなコンテンツを処理するプログラム電子財布がある。
【背景技術】
【0002】
現実の貨幣の価値やチケットなどの債権・債務の関係を電子的なデータに関連付け、このような電子的なデータの交換によって決済処理を行う技術が知られている(例えば、特許文献1参照。)。また、その技術を用いて、インターネットでの商取引の決済が行われている。この場合、現実の貨幣などの価値を電子的なデータを管理するためのアプリケーションプログラムなどとして電子財布が用いられる(例えば、特許文献2参照。)。
【特許文献1】特開2002−74237号公報
【特許文献2】特開2007−94984号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、利用者が利用する電子機器に電子財布がインストールされていない状態で、決済処理が開始すると、不利益が生じる。例えば、決済処理の途中まで進んだ段階で、利用者が利用する電子機器に電子財布がインストールされていないことが発覚すると、決済処理を最後まで行うことができないことになる。そして、利用者は注文の商品などを購入することができず、また、商品などの販売者は売り上げを計上できないという不利益を蒙る。
【0004】
同様のことが、文書情報、音楽情報や動画情報のダウンロードについても言え、ダウンロードした文書情報、音楽情報や動画情報の形式を扱うことができるプログラムが利用者の利用する電子機器にインストールされていないと、別の形式の文書情報、音楽情報や動画情報を扱うことができるプログラムがインストールされていても、新たにプログラムをインストールしなければならない。
【課題を解決するための手段】
【0005】
本発明の一実施形態として、次のような、ブラウザがインストールされている利用者端末と、HTTP要求を処理する第1と第2のサーバ装置を有するシステムの動作方法を提供する。すなわち、ブラウザは、第1のサーバ装置へ第1のHTTP要求を送信する。例えば、電子財布で決済を行う商取引を開始するためのウェブページの要求を送信する。あるいは、特定のプログラムで再生や編集などを行うコンテンツのダウンロードを開始するためのウェブページの要求を送信する。その要求に対して、第1のサーバ装置は、第2のサーバ装置への第1のアクセス命令を返信する。ブラウザが第1のアクセス命令を受信すると、第1のアクセス命令に従って第2のサーバ装置へ第2のHTTP要求を送信する。この第2のHTTP要求には、第1のHTTP要求のURLが含まれていてもよい。また、利用者端末に電子財布や特定のプログラムがインストールされているかどうかを示す所定のクッキー情報が記憶されていれば、その所定のクッキー情報が第2のHTTP要求とともに送信されるようになっている。
【0006】
第2のサーバ装置は、第2のHTTP要求とともに所定のクッキー情報が受信されるか否かに依存して返信される第2のアクセス命令を、ブラウザへ返信する。ブラウザは、第2のアクセス命令を受信すると、第2のアクセス命令に従って第1のサーバ装置への第3のHTTP要求を送信する。この第3のHTTP要求のURLは、第1のHTTP要求のURLに所定のパラメータとその値などを付加したものであってもよい。そして、第1のサーバ装置は、第3のHTTP要求が、前記第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信していない場合に返信する第2のアクセス命令に従ったHTTP要求である場合には、所定のクッキー情報を前記利用者端末に記憶させるプログラムをダウンロードするためのリンク情報を含む返信を行う。
【0007】
これにより、利用者端末に電子財布や特定のプログラムがインストールされていなければ、利用者端末には、その電子財布などの必要なプログラムをダウンロードしてインストールするためのリンク情報が表示される。したがって、利用者端末の利用者は、利用者端末に必要なプログラムがダウンロードされていないことを知ることができる。また、容易にその必要なプログラムをダウンロードしてインストールすることができる。
【0008】
また、その必要なプログラムが利用者端末にダウンロードされると、所定の種類のコンテンツとのその必要なプログラムが関連付けられるようになってもよい。これにより、ブラウザがその種類のコンテンツを受信すると、その必要なプログラムがブラウザにより起動され、コンテンツが必要なプログラムに入力されるようになっていてもよい。また、その必要なプログラムが利用者端末にダウンロードされると、所定のクッキー情報がブラウザの管理する記憶領域に記憶あれるようになっていてもよい。
【0009】
これにより、第1のサーバ装置が、第3のHTTP要求が、第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信している場合に返信される第2のアクセス命令に従ったHTTP要求である場合には、所定の種類のコンテンツをダウンロードするためのリンク情報を含む返信を行うことにより、スムーズにコンテンツの処理ができ、電子財布を用いた決済やコンテンツの再生や編集などを行うことができる。
【0010】
また、第1のサーバ装置が、第3のHTTP要求に対して行う返信には、次の別のプログラムが含まれていてもよい。すなわち、ブラウザが利用者端末に記憶させた第3のHTTP要求のURLの全体または一部を取得する。そして、所定のパラメータの値を取得する。その値と所定の値とを比較し、その比較結果に応じて、プログラムをダウンロードするためのリンク情報を利用者端末のディスプレイなどに表示するようになっていてもよい。
【0011】
これにより、第1のサーバ装置は、プログラムをダウンロードするためのリンク情報と所定の種類のコンテンツをダウンロードするためのリンク情報とを別々に記憶する必要がなくなる。
【0012】
なお、上記では、第1のHTTP要求を受信するサーバ装置と第3のHTTP要求を受信するサーバ装置とを同一としたが、異なるサーバ装置であってもよい。
【0013】
本発明の別の一実施形態として、ブラウザがインストールされている利用者端末に別のプログラムをインストールし、そのブラウザが第1のサーバ装置へ送信するHTTP要求とともに送信するクッキー情報であってその別のプログラムがインストールされていることを表すクッキー情報を利用者端末に記憶し、そのブラウザが第2のサーバ装置へHTTP要求を送信して第1のサーバ装置への第1のアクセス命令を返信として受信し、そのブラウザが第1のアクセス命令に従って第1のサーバ装置へHTTP要求とともにそのクッキー情報を送信して第1のサーバ装置にてそのクッキー情報の確認がされることを条件として送信される前記第2のサーバ装置への第2のアクセス命令を返信として受信し、そのブラウザが第2のアクセス命令に従って第2のサーバ装置へHTTP要求をして得られるコンテンツをその別のプログラムへの入力とする、利用者端末の動作方法が提供される。
【0014】
この利用者端末の動作方法によれば、利用者端末にその別のプログラムがインストールされているかどうかを第1のサーバ装置が判断した結果を第2のサーバ装置に伝達することができるので、第2のサーバ装置は、適切なコンテンツを利用者端末に送信できるようになり、課題が解決される。
【0015】
また、その別のプログラムに入力されるコンテンツの種類とその別のプログラムとを前記利用者端末において関連付け、そのブラウザが第2のサーバ装置へHTTP要求を送信して返信されるコンテンツを受信すると、受信されたコンテンツの種類に関連付けられたその別のプログラムが起動されるようになっていてもよい。
【0016】
これにより、そのブラウザがコンテンツを受信すると、そのブラウザによりその別のプログラムが自動的に起動されることになり、例えば、利用者端末の利用者にコンテンツ利用を容易に提供できる。
【0017】
また、第2のアクセス命令に含まれるURLにはパラメータが含まれており、第2のアクセス命令にしたがって第2のサーバ装置へ送信されるHTTP要求の返信には、そのブラウザが利用者端末のメモリに記憶したURLを取得させ、取得されたURLに含まれるそのパラメータの値を変数に記憶させ、その変数の値を所定の値と比較させ、その別のプログラムがインストールされているかどうかを利用者端末に判断させる第3のプログラムが含まれていてもよい。
【0018】
これにより、第2のアクセス命令に含まれるURLのパラメータの値として、利用者端末にその別のプログラムがインストールされているかどうかが示されるので、例えば、第2のサーバ装置には、利用者端末にその別のプログラムがインストールされている場合とそうでない場合との2つの返信を用意する必要がなくなる。
【0019】
その別のプログラムは、価値が関連付けられた情報を管理する電子財布であり、そのブラウザが第2のアクセス命令に従って第2のサーバ装置へHTTP要求をして得られるコンテンツは、その電子財布が管理するべき価値が関連付けられた情報と、その電子財布が管理する価値の関連付けられた情報の一部または全てとの送信先と、のいずれか一以上を含んでいてもよい。
【0020】
これにより、例えば、第2のサーバ装置に対する第1のHTTP要求が商品などの購入の申込である場合、利用者端末にその電子財布がインストールされているかどうかを第1のサーバ装置により判断し、その結果が第2のサーバ装置に伝達されるので、第2のサーバ装置は、適切な支払命令などをコンテンツとして送信することができる。
【0021】
また、本発明の一実施形態として、利用者端末より第1のHTTP要求を受信する第1要求受信部と、受信された第1のHTTP要求に対して、その第1のHTTP要求とは別のURLへの第1のアクセス命令を返信する返信部と、返信された第1のアクセス命令に応じて利用者端末が返信として受信した第2のアクセス命令に応じて利用者端末より第2のHTTP要求を受信する第2要求受信部と、第2のHTTP要求に対する応答を行う応答部と、を有するサーバ装置が提供される。
【0022】
これにより、サーバ装置は、第1のアクセス命令の示すURLへ利用者端末をアクセスさせて、利用者端末にその別のプログラムがインストールされているかどうかを判断させた結果を第2のHTTP要求として得ることができる。
【0023】
また、その利用者端末は、第1のアクセス命令に応じて送信するHTTP要求とともに送信するクッキー情報を記憶し、返信部による第1のアクセス命令によるその別のURLへのアクセスをその利用者端末が行うと、そのクッキー情報が送信されるようになっていてもよい。
【0024】
これにより、その別のプログラムがその利用者端末にインストールされているかどうかを第1のサーバ装置は、クッキー情報によって判断することができる。
【発明の効果】
【0025】
本発明の実施形態によれば、利用者が用いる電子機器としての利用者端末に、必要なプログラムがインストールされているかどうかを、サーバ装置側が検出することができる。これにより、コンテンツのダウンロードなどを行う前に、利用者に警告を発したり、必要なプログラムのインストールを勧めたり、利用者が用いる電子機器にインストールされているプログラムが扱える情報の形式でダウンロードなどを行うことができる。
【0026】
特に電子財布については、本発明の実施形態によれば、利用者が用いる電子機器に電子財布がインストールされているかどうかを、サーバ装置側が検出することができる。これにより、決済処理を行う前に、利用者に警告を発したり、電子財布のインストールを勧めたり、インストールされている電子財布が扱える形式の情報を利用者端末に送信して決済処理を行うことができる。
【発明を実施するための最良の形態】
【0027】
以下、本発明を実施するための最良の形態について、図を参照しながら実施形態として説明を行う。なお、本発明はこれらの実施形態に何ら限定されるものではない。本発明の属する技術分野における通常の知識を利用しながらこれらの実施形態を変形して本発明を実施することも可能である。なお、以下では、サーバ装置をサーバと略記する場合がある
【0028】
(実施形態1)
図1は、本発明の実施形態1に係る電子商取引システムの概要を示す図である。電子商取引システム100においては、利用者端末102が、インターネットなどの通信網101を介して、ショップサーバ103及び確認サーバ104と通信を行う。また、必要に応じて、ショップサーバ103と確認サーバ104とが通信を行うことができるようになっていてもよい。
【0029】
利用者端末102は、商品や役務などの購入者である利用者が商取引を行うために用いる電子機器である。ショップサーバ103は、利用者端末102の利用者から商品、役務などの購入の申込を受け付け、利用者端末102との決済処理を行うための装置である。確認サーバ104は、ショップサーバ103が決済処理を行うために必要な電子財布が利用者端末102にインストールされているかどうかを確認するための装置である。なお、決済処理は、商品や役務などの対価として行われる必要はなく、利用者が他の者に価値を贈与する場合にも行われてよい。
【0030】
なお、ショップサーバ103と確認サーバ104とは同じサーバ装置として実現されていても良い。この場合には、利用者端末102にインストールされているブラウザが、そのサーバ装置のうちショップサーバ103に相当する部分と確認サーバ104に相当する部分とにアクセスするURLが異なっていればよい。例えば、URLのパスの部分が異なっていればよい。
【0031】
なお、利用者端末102と,ショップサーバ103と、確認サーバ104とのそれぞれは、例えば、計算機によって構成することが可能である。図2(a)は計算機のハードウェア構成の一例を示す。計算機200は、CPU201と、メモリ202と、二次記憶203と、入出力I/F204とを有し、それぞれが相互にバス205により接続されている。CPU201は、プログラムを構成する命令を実行する回路である。メモリ202は、CPU201によりその命令が実行されるプログラムや必要なデータを記憶する。二次記憶203はプログラムやデータを記憶する。一般的に二次記憶203は、記憶内容が不揮発に構成されており、例えば、磁気ディスクやフラッシュメモリなどにより構成される。また、二次記憶203に記憶されたプログラムやデータをCPU201が処理を行うためには、一般的には、メモリ202へコピーなどがされる必要がある。入出力I/F204は、計算機200の外部との情報の入出力を行うための部である。例えば、ディスプレイインターフェース、キーボード、インターフェース、通信インターフェースなどのいずれか一以上を含む。
【0032】
図2(b)は、CPU201によりプログラムが実行されている計算機200の状態を模式的に示す。最下層211として、図2(a)に例示したハードウェアの階層があり、その上の階層212として、例えばオペレーティングシステムという特別なソフトウェアの階層がある。オペレーティングシステムの上の階層213にてアプリケーションプログラムが動作する。例えばアプリケーションプログラムがハードウェアにアクセスを行う場合には、直接アクセスを行うことができず、オペレーティングシステムを介してアクセスを行うことになる。例えば、入出力I/F204を介してデータの入出力を行うには、アプリケーションプログラムは、システムコールを呼び出し、オペレーティングシステムにデータの入出力を依頼する。なお、上述した電子財布や、ブラウザ、ウェブサーバプログラムは、アプリケーションプログラム213として実現することが可能である。
【0033】
なお、利用者端末102と,ショップサーバ103と、確認サーバ104との全ては、計算機にアプリケーションプログラムを動作させることのみにより実現されることはなく、大規模集積回路などを用いたハードウェアにより実現することも可能である。
【0034】
(利用者端末)
図3は、利用者端末の機能ブロック図を示す。利用者端末102は、ブラウザ302と、電子財布303とがインストールされている。また、利用者端末102は、タイプ関連付部304を有する。ブラウザ302は、利用者の操作によりHTTP(HyperText Transfer Protocol)による要求を送信し、その応答を受信し、画面の表示などを行う。ブラウザ302は、一般的に閲覧ソフトウェアとして知られているものと同一または同等の機能を有するのが好ましい。なお、ブラウザ302と、電子財布303とは同時にインストールされる必要はない。
【0035】
図4は、ブラウザの機能ブロック図の一例を示す。ブラウザ302は、クッキー情報管理部401と、履歴管理部402と、ブックマーク管理部403と、操作部404と、表示部405と、送受信部406と、制御部407とを有している。
【0036】
クッキー情報管理部401は、クッキー情報の記憶、検索、読み出し、削除、変更その他の管理を行う部である。例えば、クッキー情報は二次記憶に記憶され、クッキー情報管理部401により管理がされる。クッキー情報とは、ブラウザ302が通信を行うサーバから送られた、何らかの状態を表す情報である。例えば、RFC2109に規定されている。クッキー情報は、サーバからのHTTP応答のSet−Cookieヘッダとして送られ、クッキー情報管理部401に記憶、変更がされる。また、クッキー情報は、ブラウザ302がサーバにHTTPの要求を送信する際に、クッキー情報管理部401により検索、読み出しが行われてサーバへ送信される。
【0037】
図5は、クッキー情報の構造を模式的に示す。クッキー情報は、1以上のNAME=VALUEの形式である、名前とその値の組と、expires=DATEで示される、クッキー情報の有効期限と、domain=DOMAINで示される、クッキー情報を送信するべきサーバのドメインと、path=PATHで示される、クッキー情報を送信するべきURL(Uniform Resource Locator)またはURI(Uniform Resource Identifier)のサブセットから構成される。なお、本発明では、URIをURLとして扱う。
【0038】
本実施形態では、クッキー情報管理部401には、確認サーバ104へ送信されるクッキー情報が格納されている。すなわち、クッキー情報管理部401には、クッキー情報を送信するべきサーバのドメインが、確認サーバ104のFQDN(Fully Qualified Domain Name)と一致または一部となっているクッキー情報が格納されている。例えば、確認サーバのFQDNがwww.foo.barであれば、domain=foo.barとなりpath=/となっているクッキー情報がクッキー情報管理部401に格納されている。したがって、ブラウザ302が、http://www.foo.bar/のURLにより、www.foo.barをアクセスすると、そのクッキー情報が読み出され、確認サーバに送信される。
【0039】
確認サーバ104へ送信されるクッキー情報をクッキー情報管理部401に格納する方法には種々の方法がある。例えば、電子財布303をインストールするためのプログラムをダウンロードするためのウェブサーバにブラウザ302がアクセスした場合、そのウェブサーバが、確認サーバ104へ送信されるクッキー情報を送信する。あるいは、電子財布303をインストールするためのプログラムが実行された場合、そのプログラムがクッキー情報管理部401の管理する二次記憶203の領域にアクセスを行い、確認サーバ104へ送信されるクッキー情報を格納する。あるいは、電子財布303をインストールするためのプログラムがブラウザ302を起動させ、確認サーバ104やその他の所定のサーバにアクセスをさせて、そのアクセスがされたサーバが、確認サーバ104へ送信されるクッキー情報をブラウザ302に送信する。あるいは、電子財布303を起動させると、確認サーバ104やその他の所定のサーバにアクセスが行われ、そのアクセスがされたサーバが、確認サーバ104へ送信されるクッキー情報をブラウザ302に送信する。例えば、電子財布303を起動させるとボタン表示を有する画面が表示され、そのボタンを押下すると、ブラウザ302が起動されて確認サーバ104やその他の所定のサーバにアクセスが行われるようになっていてもよい。また、電子財布303をインストールした後、ブラウザ302により所定のサーバにブラウザ302によってアクセスし、会員登録をした際に、その所定のサーバより、確認サーバ104へ送信されるクッキー情報がブラウザ302に送信されるようになっていてもよい。
【0040】
履歴管理部402は、ブラウザ400で閲覧を行ったウェブページなどの履歴を保持する部である。ブックマーク管理部403は、ブックマークの記憶、検索、読み出し、削除、変更などの管理を行う部である。操作部404は、利用者端末のキーボードやマウスなどの利用者による操作を検出する部である。表示部405は、サーバからの応答を表示などする部である。送受信部406は、サーバに対して要求を送信し、返答を受信する部である。制御部407は、クッキー情報管理部401と、履歴管理部402と、ブックマーク管理部403と、操作部404と、表示部405と、送受信部406とを制御し、ブラウザとして動作するように制御する部である。例えば、クッキー情報管理部401と、履歴管理部402と、ブックマーク管理部403と、操作部404と、表示部405と、送受信部406のそれぞれの部を構成するモジュールを統括するモジュールである。
【0041】
利用者はブラウザ302を用いてショップサーバ103などのサーバと通信を行い、ショッピングなどを行う。ショッピングなどの対価の支払の決済処理のために、本実施形態では、電子財布303が起動されて動作する。後述するタイプ関連付部304により、電子財布303の起動は、ブラウザ302により行われるようにすることができる。
【0042】
図6は、電子財布の機能ブロック図の一例を示す。電子財布500は、管理データ管理部501と、送受信部502と、制御部503とを有する。管理データ管理部501は、管理データの記憶、検索、読み出し、削除、変更その他の管理を行う部である。例えば、管理データは二次記憶に記憶され、管理データ管理部501により管理される。管理データとは、現実の貨幣などの価値が関連付けられたデータをいう。管理データと呼ばれる代わりに、電子マネーや電子バリューなどと呼ばれる場合がある。送受信部502は、決済処理のために通信を行う部である。例えば、新たに利用者が購入した管理データを受信したり、決済のために支払うべき額を含む請求データを受信したり、支払のために管理データを送信したりする。制御部503は、管理データ管理部501と送受信部502とを制御する部である。
【0043】
タイプ関連付部304は、ブラウザ302が扱うコンテンツの種類(タイプ)を保持する部である。本実施形態では特に、ブラウザ302が他のアプリケーションプログラムにコンテンツの処理を依頼するために、アプリケーションプログラムをその種類と関連付けて保持する部である。
【0044】
図7は、タイプ関連付部304を実現するために、コンテンツのタイプとアプリケーションプログラムとを関連付ける表である。コンテンツのタイプは例えば、MIME(Multipurpose Internet Mail Extensions)のタイプにより表され、text/plainというタイプにはテキストエディタが関連付けられ、imange/pngというタイプにはイメージビュアーが関連付けられている。また、タイプ関連付部304は、ファイルの拡張子とアプリケーションプログラムが関連付けられるようになっていてもよい。このような関連付けは、例えば、二次記憶に記憶され、オペレーティングシステムなどにより管理される。
【0045】
本実施形態では、タイプ関連付部304により、決済処理のためにショップサーバ103から送信される請求データのコンテンツのタイプに電子財布が関連付けられる。
【0046】
図8は、本実施形態における利用者端末の動作を説明するフローチャートの一例を示す。このフローチャートの処理を実行する前に、利用者端末の利用者は、ブラウザなどを用いてショッピングなどを行い、購入などをする商品などを決定する。その決定された商品などに対する対価を支払う際に、図8のフローチャートの処理が実行される。
【0047】
ステップS801の処理として、利用者端末102のブラウザ302が、ショップサーバ103へ注文データなどをHTTP要求として送信する。注文データは、商品などの注文を確定し、商品などの対価の支払処理をショップサーバ103に開始させるデータである。例えば、注文データは、HTTPのPOSTコマンドとして表現され、商品番号と商品の個数、商品の配送先を含むデータであってもよい。また、注文データのかわりに、商品や役務の提供を行うウェブページの要求が送信されてもよい。
【0048】
ステップS802の処理としては、ステップS801で送信されたHTTP要求に対して返信されるアクセス命令を受信する。このアクセス命令は、ショップサーバ103から返信される。このアクセス命令は、ブラウザ302に対して、確認サーバ104へアクセスを行うことを要求する。
【0049】
アクセス命令は、HTTP要求に対する応答として、例えば、<meta http−equiv=”refresh” content=”0;url=確認サーバのURL”>により表すことができる。ここでの「確認サーバのURL」には、ステップS801で送信されたHTTP要求を、ショップサーバ103にて一意に識別できる情報が含まれるようになっていてもよい。例えば、ショップサーバ103は、注文データを受信すると、注文データに対して連番を付与し、その連番と注文データとを関連付けて二次記憶などに格納し、連番を含む確認サーバのURLを返信する。その連番は、例えば、URLにパラメータとして含ませることができる。また、そのURLには、ショップサーバ103のFQDNなどのショップサーバ103を識別する識別情報を含ませる。なお、「0;」は待ち時間なしで直ちに「確認サーバのURL」にアクセスすることを意味している。「0;」の代わりに必要に応じて任意の時間を指定することができる。
【0050】
また、アクセス命令は、ショップサーバ103が、RFC2616の10.3節に規定されている300番台のステータスコードとともに応答する返信によっても実現できる。例えば、301のステータスコードや302のステータスコードとともにアクセスするべきURLを返信することによって、ブラウザ302を、確認サーバ104へアクセスさせるようにすることができる。
【0051】
なお、本発明の明細書、請求の範囲、図面においては、アクセス命令をRFC2616に倣い、リダイレクト命令と呼ぶ場合がある。
【0052】
ステップS803の処理として、ステップS802にて受信したリダイレクト命令に従って、確認サーバへHTTP要求を送信する。例えば、ステップS802にて<meta http−equiv=”refresh” content=”0;url=確認サーバのURL”>が受信された場合には「確認サーバのURL」を用いて確認サーバ104にアクセスが行われる。また、確認サーバへHTTP要求が送信される際には、クッキー情報管理部401で管理されているクッキー情報のうち、確認サーバへ送信されるクッキー情報も送信される。
【0053】
ステップS803にて送信されたHTTP要求を受信した確認サーバ104は、そのHTTP要求とともにクッキー情報を受信したことを確認する。また、必要ならば、クッキー情報に含まれるNAME=VALUEを確認する。クッキー情報管理部401が格納している、確認サーバへ送信されるクッキー情報の定義により、このようにクッキー情報などを確認することは、利用者端末102に電子財布303がインストールされていることが確認されたことを意味する。確認ができれば、確認サーバ104は、ショップサーバ103へのリダイレクト命令を返信する。このとき確認サーバは、利用者端末102から送信されたHTTP要求に含まれる確認サーバの識別情報を用いてショップサーバのFQDNを生成などしてリダイレクト命令に含める。
【0054】
また、このリダイレクト命令によりブラウザ302がアクセスするURLに、確認サーバへ送信されるクッキー情報が確認されたかどうかを「&」で区切られるパラメータとして含めるようになっていてもよい。例えば、確認サーバへ送信されるクッキー情報が確認された場合には、そのURLに「&ewallet=1」が含められ、確認されない場合には、「&ewallet=0」が含められるようになっていてもよい。
【0055】
また、ショップサーバの二次記憶に格納された注文データの連番などが、そのHTTP要求に含まれていれば、その連番などをリダイレクト命令に含まれるショップサーバ103へのURLに含ませる。その連番などはそのURLのパラメータとして含ませることができる。また、そのURLには、確認サーバ104が、利用者端末102に電子財布303がインストールされていることを確認した旨の情報が含まれるようになっていてもよい。例えば、確認サーバ104による連番などの署名データが含まれるようになっていてもよい。署名データそのものが含まれる必要はなく、確認サーバ104が、連番などの署名データに識別子を付与して、ショップサーバ103よりアクセス可能にその識別子に署名データを関連付けて格納し、その識別子をそのURLに含ませてもよい。
【0056】
また、ステップS803にて送信されたHTTP要求を受信した確認サーバ104は、クッキー情報に含まれるNAME=VALUEの組から、どのような種類の電子財布が利用者端末102にインストールされているかを判断し、その種類を、そのURLに含ませてもよい。
【0057】
また、確認サーバ104が、クッキー情報を確認できなければ、電子財布303をインストールするためのウェブページへのリダイレクト命令を返信する。電子財布303をインストールするためのウェブページには、例えば、電子財布303をダウンロードするためのリンク情報が含まれている。あるいは、そのウェブページには、電子財布303のインストールの方法が記載されている。
【0058】
ステップS804の処理として、上述したように確認サーバ104から送信されたリダイレクト命令を受信する。このリダイレクト命令が受信されたということは、上述したように、確認サーバ104が、利用者端末102に電子財布303がインストールされていることの確認の結果が受信されたことを意味する。
【0059】
ステップS805の処理として、ステップS804にて受信されたリダイレクト命令に応じて、ショップサーバ103へHTTP要求を送信する。このHTTP要求がショップサーバ103にて受信されることで、ショップサーバ103は、利用者端末102に電子財布303がインストールされていることを確認できる。したがって、ショップサーバ103は、電子財布303が扱えるコンテンツの種類のデータとして支払を請求する請求データを送信する。また、ショップサーバ103が受信したHTTPサーバに電子財布の種類が含まれていれば、請求データを表すための適切なコンテンツの選択を行って、請求データを生成して、送信することもできる。
【0060】
なお、ステップS805の後、ショップサーバ103から返信される情報は、請求データではなく、商品や役務の申込を行うためのウェブページの記述であってもよい。そして、このウェブページには、スクリプト言語や利用者端末102にインストールされている仮想マシンで実行するコードあるいは利用者端末102のネイティブコードなどで記述されたプログラムが含まれていてもよい。
【0061】
そのプログラムは、まず、ブラウザ302がステップS805でのHTTP要求によりアクセスしたURLのパラメータ部分を取得する。このURLのパラメータ部分は、ブラウザ302が、HTTP要求を行ったときに、利用者端末102のメモリに記憶したURLのパラメータ部分として得られる。例えば、ある種のスクリプト言語では、localtion.search属性を参照することにより、メモリより読み出すことが可能である。そして、そのプログラムは、URLに含まれるパラメータの値を変数(あるいはレジスタ)に代入する。例えば、上述のように、確認サーバへ送信されるクッキー情報が確認されたかどうかが、確認サーバより受信されるリダイレクト命令によるアクセスするべきショップサーバへのURLに「&ewallet=1」が含められるか、「&ewallet=0」が含められるかで表される場合には、1あるいは0をその変数に代入する。なお、「&ewallet=1」も「&ewallet=0」も含められていなければ、その変数には0が代入されるとする。
【0062】
そして、そのプログラムは、その変数の値を0または1と比較して、1と等しければ、商品や役務の種類などの選択、数量などの入力結果をショップサーバに送信するためのボタンなどを利用者端末102の画面に表示する。また、1と等しくなければ、電子財布をインストールするためのリンクを表示などする。
【0063】
例えば、商品や役務の種類などの選択、数量などの入力結果をショップサーバに送信するためのボタンが押下されると、商品や役務の種類などの選択、数量などの入力結果がショップサーバ103に送信され、その返信として、請求データがブラウザ302により受信される。
【0064】
ステップS806の処理として、ショップサーバ103より、請求データを受信する。
【0065】
この請求データをブラウザ302が受信すると、コンテンツのタイプを参照し、そのコンテンツのタイプに電子財布303が関連付けられているので、ステップS804の処理として、電子財布303を起動し、請求データを電子財布303への入力などとして、読み込ませて処理をさせる。
【0066】
なお、請求データには、利用者が支払うべき金額や利用者が履行するべき債権・債務に関する情報が含まれていてもよい。また、金額の支払先や債権・債務の相手方の情報が請求データに含まれていてもよい。例えば、管理データの送信先が請求データに含まれていてもよい。電子財布303は、電子財布303に設定された情報や請求データに含まれる情報から決済を行うための通信先を取得して、その通信先と通信を行い、決済などを行う。
【0067】
(ショップサーバ)
図9は、ショップサーバの機能ブロック図の一例を示す。ショップサーバ103は、注文データ受信部901と、受注管理部02と、URL転送部903と、請求データ発行部904とを有する。
【0068】
注文データ受信部901(第1要求受信部)は、注文データを受信する。注文データは、上述したように利用者端末102より、HTTP要求の形式にて送信される。注文データ受信部901は、注文データを受信すると、その注文データより、商品番号と商品の個数など、支払われるべき金額を計算するために必要な情報である受注情報を抽出する。また、必要に応じて、商品などの配送先を抽出する。
【0069】
受注管理部902は、受注を管理する。すなわち、注文データが注文データ受信部901により受信され、受注情報が抽出されると、まず、それを格納する。このとき、受注管理部902は、受注情報を一意に識別するための連番などを受注情報に付与する。付与された連番などは、URL転送部903に伝達されるようになっていてもよい。また、受注管理部902は、連番などが請求データ発行部904により指定されると、その連番などが付与された受注情報を読み出して返答する。
【0070】
URL転送部903(返信部)は、注文データ受信部901により注文データが受信され、受注情報が抽出されて受注管理部902に格納されると、注文データを送信した利用者端末102に対して、確認サーバ104へのリダイレクト命令を返信する。このリダイレクト命令には、受注管理部902によって付与された連番などが含まれていてもよい。
【0071】
なお、確認サーバ104へのリダイレクト命令により、利用者端末102がHTTP要求を送信するためのURLは、例えば、ショップサーバ103がアクセスされたパスに応じて対応関係が定められていてもよい。図10は、この対応関係を定めるためのテーブルの一例を示す。例えば、/shop123が利用者端末102からのHTTP要求によりアクセスされた場合には、URL転送部903は、リダイレクト命令に、www.foo.barの/conf342をアクセスするためのURLを含める。また、このURLに、受注管理部902によって付与された連番などがパラメータとして付加されるようになっていてもよい。また、/download234が利用者端末102からのHTTP要求によりアクセスされた場合には、URL転送部903は、リダイレクト命令に、www.baz.quxの/kakunin579をアクセスするためのURLを含める。これにより、ショップサーバ103が複数の店舗により共有されている場合、店舗ごとに扱う管理データが異なり、決済に用いる電子財布の種類が異なる場合に対応できる。
【0072】
請求データ発行部904(第2要求受信部及び応答部)は、URL転送部903により返信されたリダイレクト命令に基づいて、利用者端末102から返信されるHTTP要求を受信すると、受注管理部902より受注情報を読み出して、請求データを生成して返信する。すなわち、URL転送部903により返信されたリダイレクト命令に従って、利用者端末102は、(1)確認サーバへHTTP要求を送信し、(2)その返信として受信されるリダイレクト命令に従って、ショップサーバ103に対してHTTP要求を再度送信した場合に、受注管理部902より受注情報を読み出して、請求データを生成して返信する。読み出す受注情報は、例えば、利用者端末102より再度送信されたHTTP要求に含まれる連番などを用いて特定されるようになっていてもよい。また、利用者端末102より再度送信されたHTTP要求に電子財布の種類が含まれていれば、請求データを表すための適切なコンテンツの選択を行って請求データを生成する。
【0073】
図11と図12は、ショップサーバ103における処理を説明するフローチャートである。
【0074】
図11は、利用者端末102における処理のうち図8のステップS801からS802までの処理に対応してショップサーバ103で行われる処理のフローチャートである。ステップS1101の処理として、利用者端末102より、注文データをHTTP要求として受信する。そして、注文データ受信部901は、受注データを抽出する。
【0075】
ステップS1102の処理として、ステップS1101において抽出された受注情報が受注管理部902により格納される。
【0076】
ステップS1103の処理として、URL転送部903により、確認サーバ104へのリダイレクト命令を、HTTP応答して返信する。
【0077】
図12は、利用者端末102における処理のうち図8のステップS804からS806までの処理に対応してショップサーバ103で行われる処理のフローチャートである。ステップS1201の処理として、確認サーバ104からのリダイレクト命令により利用者端末102のブラウザ302から送信されたHTTP要求を受信する。ステップS1202の処理として、請求データ発行部904により、対応する受注情報を読み出す。対応する受注情報とは、ステップS1201においてHTTP要求が受信される原因となった、確認サーバへのリダイレクト命令が送信されるトリガーとして受信された受注情報である。対応する受注情報は、ステップS1201で受信されたHTTP要求に含まれる連番などで特定することができる。ステップS1203の処理として、ステップS1202で読み出された受注情報に応じて請求データを生成して、利用者端末102へ送信する。
【0078】
(確認サーバ)
図13は、確認サーバ104で行われる処理を説明するフローチャートである。確認サーバ104は、HTTP要求を受信し、特定のパスがアクセスされた場合に、図13の処理を行うウェブサーバとして構成される。例えば、確認サーバ104は、計算機にウェブサーバプログラムを動作させて実現される。
【0079】
ステップS1301の処理において、ショップサーバ103から送信されたリダイレクト命令により利用者端末102のブラウザ302から送信されたHTTP要求を受信する。ステップS1302の処理においては、ステップS1301においてHTTP要求とともにクッキー情報が受信されたかどうか、また、そのクッキー情報の内容を確認する。確認がされれば、ステップS1303の処理において、ブラウザ302をショップサーバ103へリダイレクトさせる命令をHTTP応答として返信する。上述したようにこのHTTP応答には、ステップS1301で受信されたHTTP要求に含まれる連番などを含ませる。また、HTTP要求とともに受信されたクッキー情報から電子財布の種類が決定される場合には、その種類をそのHTTP応答に含ませてもよい。
【0080】
もし、利用者端末102のブラウザ302から送信されたHTTP要求とともにクッキー情報が受信されなかったことが確認されていなかったり、クッキー情報の内容が正しいものとして確認できなかったりすれば、確認サーバ104は、エラーを返信してもよい。また、エラーの代わりに、電子財布のインストールを勧める内容のHTML(HyperText Markup Language)情報を返信してもよい。また、上述したように、クッキー情報の内容が正しいものとして確認できたかどうかを、HTTP応答に含めてもよい。例えば、確認ができた場合には、HTTP応答に含められるショップサーバ103へリダイレクトさせる命令のURLにパラメータとして「&ewallet=1」を含め、そうでなければ「&ewallet=0」を含める。
【0081】
(全体の流れ)
図14は、電子商取引システム100の全体の処理を説明するシーケンス図である。ステップS1401の処理として、注文データが利用者端末102のブラウザ302からショップサーバ103へ送信される。これは、図8におけるステップS801、図11におけるステップS1101に相当する。ステップS1402の処理として、ショップサーバ103から確認サーバ104へのリダイレクト命令が送信される。これは、図11におけるステップS1103、図8におけるステップS802に相当する。ステップS1403の処理として、利用者端末102のブラウザ302から、HTTP要求とクッキー情報が確認サーバに送信される。これは、図8におけるS803、図13におけるS1301に相当する。ステップS1404の処理として、確認サーバ104は、ショップサーバ103へのリダイレクト命令を返信する。これは、図13におけるS1303、図8におけるS804に相当する。ステップS1405の処理として、利用者端末102のブラウザ302からHTTP要求がショップサーバ103へ送信される。これは、図8のS805と、図12のS1201に相当する。ステップS1406の処理として、ショップサーバから請求データが返信される。これは、図12におけるステップS1203、ステップS806に相当する。ステップS1407の処理として、利用者端末102のブラウザ302は、電子財布303を起動し、請求データを処理させる。これは、図8のステップS807に相当する。
【0082】
ステップS1407以降は、電子財布303により処理がされる。例えば、請求データにより請求された金額の支払の決済処理が行われる。
【0083】
(主な効果)
本実施形態においては、利用者端末に電子財布がインストールされていることを、確認サーバに対するHTTP要求とともに送信されるクッキー情報によって表すことにより、ショップサーバが利用者端末に電子財布がインストールされていることを確認することができる。
【0084】
また、利用者端末において請求データのコンテンツのタイプと電子財布とが関連付けられていることにより、請求データに応じて決済処理を行う際には、自動的に電子財布が起動することになるので、利用者端末の利用者は簡便に電子決済を行うことができる。例えば、従来のように銀行振込のために銀行のホームページにアクセスをして口座番号、振込金額を入力する手間よりも少ない手間で決済を行うことができる。
【0085】
上述の実施形態においては、注文データをショップサーバが受信する際に、利用者端末に電子財布がインストールされていることを確認することを主に説明した。しかし、本発明はこれに限定されるものではなく、利用者がショッピングのためのホームページをアクセスする際に、利用者端末に電子財布がインストールされていることを確認することも可能である。
【0086】
上述の実施形態においては、電子財布をプログラムの例とし、請求データをコンテンツの例として扱ったが、本発明は、電子財布、請求データに限定されるものではない。
【0087】
例えば、上述の実施形態において、利用者端末にインストールされているプログラムごとに、確認サーバへ送信されるクッキー情報をクッキー情報管理部401に格納しておく。そして、ステップS1401にて、注文データのかわりに、ブラウザからショップサーバというサーバに対して、音楽情報、動画情報、文書情報などの種々のコンテンツのダウンロードの要求が送信されてもよい。すると、ステップS1403にて、ブラウザから確認サーバへ利用者端末にインストールされているプログラムを表すクッキー情報が送信され、ステップS1404にて、確認サーバからブラウザに返信されるリダイレクト命令のURLに、利用者端末にインストールされているプログラムをパラメータなどして含めることができる。すると、ステップS1405にて、ショップサーバは、利用者端末にインストールされているプログラムを知ることができ、ステップS1406において、請求データのかわりに、ショップサーバというサーバは、利用者端末にインストールされているプログラムが扱える形式の情報を送信することができる。
【0088】
(実施形態2)
本発明の実施形態2として、電子財布による処理などについて詳細に説明を行う。
【0089】
まず、管理サーバについて説明を行う。本実施形態において、管理サーバとは、電子的な価値情報の譲渡処理を主に行うサーバ装置である。管理サーバが行うその他の処理としては、管理サーバとして必須の処理ではないが、電子的な価値情報の発行処理、発行した電子マネー等に関連付けられた価値を貨幣などとして払い戻す処理などがある。
【0090】
図15は、本発明の一実施形態に係る管理サーバの機能ブロック図を例示する。管理サーバ1500は、データベース部1501と、発行要求受信部1502と、生成部1503と、生成管理データ送信部1504と、管理データ受信部1505と、置換部1506と、置換管理データ送信部1507とを有する。なお、管理サーバ1500の実現の一態様としては、上述したように計算機を用いることができる。
【0091】
データベース部1501は、電子的な価値情報と価値との関連付けを管理する。また、照合用データと関連付けることができる他の情報としては、例えば、その照合用データを含む管理データの譲渡が行われた回数(譲渡回数)、その照合用データを含む管理データが、どの利用者やどの利用者の端末装置などに対して発行されたかを示す利用者や端末装置などの識別情報などが挙げられ、これらは必要に応じてデータベース部1501に格納されてもよい。
【0092】
本発明の一実施形態においては、図16(a)に示すように、照合用データが格納される列と価値の情報が格納される列とを有し、照合用データと価値の情報とを関連付けるテーブルを用意する。このテーブルは、関係データベースシステムなどの表データとしてデータベース部1501によって管理される。なお、価値の情報を単に「価値情報」という場合がある。
【0093】
照合用データは、充分に長いビット長の乱数として生成されるデータである。「充分に長い」とは、発行される管理データの中で同じ照合用データを有するものが存在しない、あるいは、実質的に存在しないことを意味する。例えば、128ビット、512ビット、1024ビット、2048ビットなど設計上などの必要に応じて任意の長さを決めることができる。
【0094】
価値情報は、照合用データを含む管理データが表すことになる価値の内容などを示す。具体的な例としては、貨幣により表される価値を示す。この場合、価値の単位は、円、ドル、ユーロ、元などである。また、価値の情報は、貨幣と同等の価値を有する有価証券の証券番号、貴金属の量や保管の番号などであってもよい。
【0095】
発行要求受信部1502は、管理データ発行要求1508を受信する。管理データ発行要求1508は、なんらかの価値が管理サーバやその運営者などに移転されたことあるいは移転されることを示す情報である。このため、管理データ発行要求1508は、管理サーバ1500の運営者の支配する領域の内部で生成されたり、運営者と特別な関係(例えば親会社子会社の関係や特別な契約関係)にある者から送信されたりするのが好ましい。
【0096】
図16(b)は、管理データ発行要求の具体的な例を示す。この例では、XML(eXtensible Markup Language)による表現がされている。管理データ発行要求はXML以外にも種々の表現形式があるが、以下では、XMLを例にして説明を行う。図16(b)では、<価値>と</価値>とで囲まれている1000円が、発行される管理データが表すべき価値となっている。発行要求受信部1502が、このような管理データ発行要求を受信する際には、管理データ発行要求の送信者の認証を行い、受信した管理データ発行要求をメモリに展開して正しい構文であるかどうかの確認を行い、<価値>と</価値>とで囲まれている部分を特定して、次に説明する生成部1503に伝達する。伝達は、例えば、生成部1503を実現するソフトウェアモジュールなどの関数の引数に<価値>と</価値>とで囲まれている部分のメモリアドレスを価値の情報として引数に指定するなどしてその関数を呼び出すことで行われる。
【0097】
なお、管理データ発行要求には、照合用データと関連付けることができる他の情報が必要に応じて含まれていてもよい。
【0098】
生成部1503は、照合用データを準備し、準備された照合用データと発行要求受信部1502から伝達された価値の情報とを、データベース部1501で管理される図16(a)のテーブルに行データとして挿入する。「照合用データを準備する」とは、乱数を生成してその乱数を照合用データとすること、又は、予め生成しておいた乱数のリストなどから乱数を選択して照合用データとすることをいう。挿入が完了すると、生成部1503は、生成管理データ送信部1504へ、照合用データを伝達する。なお価値の情報も伝達されてもよい。
【0099】
図16(c)は、照合用データとして"135711"が準備されて、"135711"と1000円とを図16(a)に示されるテーブルに挿入した直後の状態を示している。挿入が行われると、"135711"という照合用データが生成管理データ送信部1504へ伝達される。
【0100】
生成管理データ送信部1504は、生成部1503から伝達された照合用データから管理データ1509を生成して送信する。管理データ1509の送信先は、管理データ発行要求1508を送信した装置であることが主に想定される。もし、管理データ発行要求1508に、管理データ1509の送信先が、電子メールアドレスやIPアドレスなどによって指定されていれば、その送信先へ管理データ1509が送信される。送信は暗号化されて行われてもよい。
【0101】
図16(d)は、生成管理データ送信部1504で生成され送信される管理データの一例を示す。生成部1503から照合用データとして"135711"が伝達されたとすれば、"<管理データ><照合用データ>135711</照合用データ></管理データ>"という管理データが生成され、インターネットなどのネットワークなどに送信される。なお管理データには、照合用データ以外のデータが含まれていてもよい。例えば、照合用データがどれだけの価値、例えばいくらの貨幣価値、に関連付けられているかを示す情報が含まれていてもよい。例えば、管理データが"<管理データ><照合用データ>135711</照合用データ><価値>1000円</価値></管理データ>"のように貨幣価値などを含むようになっていてもよい。また、照合用データと関連付けることができる他の情報が含まれていてもよい。また、譲渡回数が管理データに含まれる場合には、0などの初期値にリセットが行われて送信がされる。さらに、管理データが管理サーバ1500により生成されたことを検証できるようにするために、照合用データなどに対する管理サーバ1500による署名データが含まれていてもよい。
【0102】
なお、価値として、貨幣価値のように可分な価値が用いられる場合には、管理データが表す価値に上限を設けてもよい。例えば、一つの管理データは、5000円までの貨幣価値を表すことにする。そして、5000円以上の価値を表す管理データは、複数の管理データを組み合わせることによって表す。このように管理データが表す価値に上限を設けることにより、管理データを紛失したときに生じる損失が大きくならないようにすることができる。
【0103】
管理データが表す価値に上限を設ける場合には、管理データ発行要求がその上限を越える価値の管理データを発行することを表している場合には、上限以下の価値を表す管理データを複数発行する。このため、図16(a)などに示すテーブルに複数の行データが挿入される。
【0104】
図17は、データベース部1501、発行要求受信部1502、生成部1503、生成管理データ送信部1504による処理の流れを説明するフローチャートを例示する。このフローチャートが例示する処理は、ハードウェアを制御可能なソフトウェアによる情報処理として実行可能である。
【0105】
ステップS1701の処理として、発行要求受信部1502により管理データ発行要求を受信する。例えば、ハードウェアとしてのネットワークアダプタがデータを受信し割り込みが発生すると、割り込みハンドラが呼ばれて、データを読取り、読取りデータキューに入れる。そして、発行要求受信部1502を実現するモジュールなどが発行していたREADシステムコールなどから処理が戻り、読取りデータキューに入れられたデータを管理データ発行要求としてメモリに展開する。
【0106】
ステップS1702の処理として、発行要求受信部1502は、メモリに展開された管理データ発行要求から価値の情報のアドレスを特定などすることにより、価値の情報を取得する。取得された価値の情報は生成部1503へ伝達される。
【0107】
ステップS1703の処理として、生成部1503が照合用データを準備する。そしてステップS1704の処理として、生成部1503は、準備した照合用データと伝達された価値の情報を関連付けてテーブルに挿入して格納する。照合用データは生成管理データ送信部1504へ伝達される。
【0108】
ステップS1705の処理として、生成管理データ送信部1504は、伝達された照合用データから管理データを生成する。そして、ステップS1706の処理として、WRITEシステムコールなどを発行することにより、生成された管理データを送信する。WRITEシステムコールなどの発行により、管理データが送信データキューに格納され、ネットワークアダプタがデータを送信可能な状態になると、割り込みが発生し、割り込みハンドラにより、送信データキューのデータが読み出されて、ネットワークなどに送信される。
【0109】
このようにして送信された管理データは、専用のICカードなどに限らず、通常のパーソナルコンピュータ、PDA(Personal Digital Assistant)や携帯電話などのメモリに格納することができる。また、フレキシブルディスク、光ディスク、不揮発性の半導体メモリなどの着脱可能な一般的な記憶媒体に記録することができる。そして、その記憶媒体を譲渡することにより、その記憶媒体に格納されている管理データが表す価値の譲渡を行うことができる。ただし、二重の譲渡を防止するために以下に説明するようにして譲渡するのが望ましい。
【0110】
管理データ受信部1505は、譲渡の対象などとなる管理データ1510を受信する。受信された管理データ1510は、管理サーバ1500のメモリに展開される。そして、管理データ1510に署名データなどが含まれていれば、その署名データが正しいかどうかを判断してもよい。
【0111】
置換部1506は、管理データ受信部1505で受信された管理データから照合用データを取得し、まず、その照合用データがデータベース部1501で管理されているテーブルに格納されているかどうかを判断する。例えば、図16(c)に示されるテーブルの照合用データの列に格納されているかどうかを判断する。もし、その照合用データが格納されていなければ、管理データ1510の送信者などに、無効な照合用データを含む管理データが送信された旨を返信などする。反対に、その照合用データがデータベース部1501で管理されているテーブルに格納されていれば、有効な照合用データを含む管理データであると判断する。有効な照合用データを含めば、新たな照合用データを準備し、この照合用データにより、管理データ1510に含まれる照合用データとデータベース部1501で管理されているテーブルに格納されている照合用データを置き換える。これにより、価値の情報に新たな照合用データが関連付けされる。
【0112】
また、照合用データと関連付けられている他の情報があれば、その情報を用いてさらにチェックを行ってもよい。例えば、識別情報が照合用データと関連付けられていれば、管理データを管理データ受信部1505に受信させた利用者や端末装置の識別情報を取得し、比較を行う。比較の結果がOKでなければ、無効である旨の返信などを行う。比較の結果がOKであれば、照合用データと関連付けられている識別情報と管理データに含まれている識別情報を、次に説明する置換管理データ送信部1507による管理データの送信先となる利用者や端末装置の識別情報に書き換える。
【0113】
管理データに譲渡回数が含まれている場合には、譲渡回数を更新する。また、更新前の譲渡回数が初期値を示していれば、置き換え前の照合用データがデータベース部1501で管理されているテーブルに格納されているかどうかに加えて、照合用データと関連付けられている他の情報を用いたチェックを行ってもよい。例えば、その管理データを発行した際に受信された管理データ発行要求が存在するかどうかを管理サーバのログによりチェックを行ったり、実際に銀行などから金銭の振り込みが実際に行われたかどうかを銀行などのサーバ装置に問い合せたりしてもよい。もちろん、このようなチェックや問い合わせの処理は、管理データが管理サーバ1500に受信されるたびに行ってもよい。しかし、一般には、このようなチェックや問い合せの処理には時間が要する。そこで、このようなチェックや問い合せの処理の実行は、更新前の譲渡回数が初期値を示していたり、所定の値以下であったり、所定の値以上である場合に行うことに限ることで、処理の時間を短縮することが可能となる。また、異なるサーバに格納されたデータと照合を行うことにより、管理データの不正な作出などを検出することができる。
【0114】
置換管理データ送信部1507は、置換部1506により、新たに準備された照合用データによりその照合用データが置換された管理データ1511を送信する。管理データ1511の送信は、管理データ1510の送信元に対して行ってもよい。あるいは管理データ1510の受信とともに送信先を示す情報が受信されたり、あるいは、管理データ1510の中に送信先を示す情報が含まれていたりすれば、その送信先へ管理データ1511を送信するようになっていてもよい。
【0115】
例えば、データベース部1501で管理されているテーブルに、図18(a)に示すように、照合用データとして"1317192"が995円という価値の情報と関連付けられて格納されているとする。この状態で、管理データ110として、図18(b)に示すような照合用データとして"1317192"を含む管理データ1510が管理データ受信部1505により受信されたとする。すると、管理データ1510に含まれる照合用データ"1317192"は、図18(a)のテーブルに格納されているので、管理データ1510は有効な照合用データを含む管理データであると判断される。そこで、置換部は、新たな照合用データとして、例えば"1491625"を準備する。そして、この照合用データにより、図18(a)に示すテーブルの照合用データ"1317192"と図18(b)に示す管理データに含まれる照合用データ"1317192"とを置き換える。この結果、図18(a)に示すテーブルは図18(c)に示すようになり、図18(b)に示す管理データ110は図18(d)に示すようになる。この結果、図18(d)に示す管理データが管理データ1511として送信される。
【0116】
なお、照合用データを置き換える際に、照合用データに関連付けられている価値情報の表す金額などのうち一定の額や一定の割合を控除するようにしてもよい。このように控除を行うことにより、管理サーバの運営者が管理サーバの運営などのための費用を得ることが可能となる。
【0117】
なお、図18(a)に示すテーブルの照合用データの書き換えは、照合用データの列に格納されているデータに対する更新操作として実行してもよい。あるいは、書き換えの対象となる照合用データ(上の例での"1317192")に関連付けられている価値の情報などを読出して一時的に記憶し、書き換えの対象となる照合用データを含む行を削除し、新たに準備された照合用データ(上の例での"1491625")と一時的に記憶した価値の情報などを新たな行のデータとして格納されるようにテーブルに対するデータの挿入の操作として実行してもよい。また、更新操作として実行するのではなく、照合用データが削除されたことを示す列(削除フラグ)をテーブルに備えておき、書き換えの対象となる照合用データを格納する行の削除フラグの値を、その行が削除されたことを示す値に更新するとともに、準備された照合用データを含む行を新たにテーブルに挿入してもよい。また、テーブルに挿入される行には、書き換え前の照合用データが格納されていてもよい。これにより、不正などが発覚した場合に、書き換えの履歴をさかのぼることができる。
【0118】
また、管理データの照合用データの書き換えは、その文言通り、メモリに展開されている管理データの部分のうち照合用データの部分を書き換えて実行してもよい。あるいは、新たに準備された照合用データを含む管理データを新たに生成してもよい。
【0119】
図18(d)に示す管理データが置換管理データ送信部1507により送信された後、再度、図18(b)に示す管理データが管理データ受信部1505で受信されても、それに含まれる照合用データ1317192は、図18(c)に示すテーブルに格納されていない(あるいは、削除フラグの列がテーブルに備わっている場合には、削除フラグの値が削除されたことを示す値になっている)。したがって、無効な照合用データを含む管理データと判断される。これにより管理データの二重使用を防止できる。
【0120】
図19は、データベース部1501、管理データ受信部1505、置換部1506、置換管理データ送信部1507における処理の流れを説明するフローチャートを例示する。このフローチャートが例示する処理は、ソフトウェアによる情報処理として実現可能である(他の図面のフローチャート、シーケンス図により例示される処理も同様である。)。
【0121】
ステップS1901の処理として、管理データ受信部1505により、管理データ1510が受信される。その後、管理データ1510がメモリに展開などされる。そして、ステップS1902の処理として、置換部1506により、メモリに展開された管理データ1510より照合用データが取得される。取得された照合用データが、ステップS1903の処理において、価値の情報と関連付けてデータベース部1501に格納されていることを確認する。もし、格納されていなければ、管理データ1510に無効な照合用データが含まれている旨のエラーの返信などをする。
【0122】
ステップS1904の処理として、新しい照合用データを準備する。そしてステップS1905の処理として、管理データ1510の照合用データを新しい照合用データに置き換える。「管理データ1510の照合用データ」とは、メモリに展開された管理データ1510に含まれる照合用データのみならず、ステップS1903において価値のデータと関連付けて格納されている照合用データをも意味する。最後にステップS1906の処理として、照合用データを書き換えられて得られる管理データ1511を置換管理データ送信部1507により送信する。
【0123】
このように、乱数として発生された照合用データに価値を関連付け、管理データが通過するたびにその照合用データを置き換えることにより、管理サーバから送信される管理データの照合用データの予測がつかないようにすることができる。この結果、異なる照合用データに同じ価値が関連付けられることを防止でき、また、管理データの二重使用等を防止することができる。
【0124】
(保管サーバ)
次に、保管データについて説明を行う。上述した管理サーバを用いることにより、乱数として発生された照合用データを含む管理データが発行され、有効な照合用データを含む管理データを送信し返信される管理データを受信することにより照合用データが書き換えられる。これにより、管理データの二重使用を防止することができる。以下では、さらに管理データの譲渡等を、匿名性を保ちながら行うために管理サーバの機能を拡張するためなどに用いられる保管サーバについて説明を行う。
【0125】
図20は、管理サーバ2001と、決済サーバ2002と、保管サーバ2003と、利用者端末2004とからなるシステム2000の構成を示す。管理サーバ2001と、決済サーバ2002と、保管サーバ2003と、利用者端末2004とは、通信アダプタなどのハードウェアを用いて通信が可能となっている。システム2000においては、利用者端末2004の利用者が、管理サーバ2001で発行される管理データを得るために、利用者端末2004と決済サーバ2002との間で決済の処理を行う。例えば、決済サーバ2002が銀行の振り込みを処理するサーバとなっており、利用者が管理サーバ2001の運営者などの銀行口座に振り込みを行うことにより決済の処理が行われる。そして決済の処理が行われたことを示す結果が管理データ発行要求として決済サーバ2002から管理サーバ2001に送信されると、管理データが管理サーバ2001に返信される。その後、管理データは決済サーバ2002から保管サーバ2003を経由して利用者端末2004へ譲渡される。利用者端末2004には電子財布がインストールされており、管理データは、電子財布により管理されることになる。保管サーバ2003は、管理データを決済サーバ2002から受信すると、管理データの二重使用を防止するために、新たな照合用データに置き換えるために、管理サーバ2001に管理データを送信し、照合用データが置き換えられた管理データを受信し保管する。その後、保管サーバ2003は、利用者端末2004から管理データの要求があれば、保管されている管理データを送信する。
【0126】
もちろん、保管サーバ2003が決済サーバ2002を認証などして信頼できるのであれば、保管サーバ2003は決済サーバ2002から受信した管理データを管理サーバ2001に送信する必要はない。しかし、もし保管サーバ2003に送信された管理データが決済サーバ2002内に消去されずに残り、決済サーバ2002が不正な侵入などされてしまうと、不正に決済サーバ2002にアクセスを行った者が管理データを入手してしまう可能性があるので、保管サーバ2003は決済サーバ2002から受信した管理データを管理サーバ2001に送信するのが好ましいと言える。
【0127】
図21は、システム2000における決済処理から管理データの利用者への譲渡までの処理の一例を説明するシーケンス図である。
【0128】
ステップS2101の処理として、利用者端末2004と決済サーバ2002との間で、管理データの発行のための決済の処理が行われる。例えば、利用者端末2004よりクレジットカード番号等と決済金額を提示して、決済サーバ2002がクレジットカード番号等の正しさを確認等する。あるいは、利用者端末2004より銀行口座への振り込みの申込を行い、決済サーバ2002が振込先の銀行口座番号や振込人に付加する識別文字列などを返信する。その後、振込が行われたことについての確認を決済サーバ2002側にて行う。なお、決済処理により、利用者端末2004から決済サーバ2002へ利用者や利用者端末2004の識別情報が決済サーバに伝達されてもよい。この場合、識別情報は、後に決済サーバ2002から管理サーバ2001へ送信される管理データ発行要求の中に含まれる。
【0129】
本発明の一実施形態において、ステップS2101の処理における決済処理を特定する番号などが決定され、この番号が決済サーバと利用者端末とで共有される。決済処理を特定する番号は、例えば、決済サーバが、生成する管理データを一意に識別する番号であったり、利用者端末2004と決済サーバ2002との間の通信のセッションを特定するセッションID(セッションを一意に特定するセッション識別情報)であったりしてもよい。この決済処理を特定する番号は、乱数として管理サーバが生成するのが好ましい。以下、決済処理を特定する番号として、セッションIDが用いられるとして説明を行う。ただし、本発明では、決済処理を特定する番号はセッションIDに限定されない。また、決済処理を特定する番号をID情報と称する場合がある。
【0130】
クレジットカード番号等の正しさや振込等の確認がされると、ステップS2102の処理として、決済サーバ2002から管理サーバ2001へ管理データ発行要求が送信される。この管理データ発行要求の中に、決済された金額などの情報が含まれる。なお、「決済された金額」は、利用者端末2004と決済サーバ2002との間での決済金額から所定の手数料を差し引いた額であってもよい。
【0131】
管理データの発行要求に応じて、ステップS2103の処理として、管理サーバ2001から管理データ(「管理データ1」と呼ぶ)が決済サーバ2002へ送信される。
【0132】
ステップS2104の処理として、決済サーバ2002は、受信した管理データ1と上述のセッションIDとを保管サーバ2003に送信する。
【0133】
保管サーバ2003が決済サーバより管理データ1とセッションIDを受信すると、ステップS2105の処理として、受信した管理データを管理サーバ2001へ送信し、管理データ1に有効な照合用データが含まれていることの確認と、その照合用データの置き換えを管理サーバ2001に依頼する。
【0134】
なお、管理サーバ2001は、保管サーバ2003より照合用データの書き換えが依頼された場合、譲渡回数は増加させない構成になっており、また、照合用データと関連付けられている識別情報と管理データに含まれている識別情報を書き換えない構成となっているとよい。例えば、保管サーバ2003のIPアドレスが管理サーバ2001に登録されており、登録されているIPアドレスから管理データを受信した場合には、譲渡回数を増加させず、識別情報も書き換えない構成となっていてもよい。
【0135】
ステップS2106の処理として、管理サーバ2001にて、管理データ1に有効な照合用データが含まれていることを確認して照合用データを書き換えた管理データ2を生成し、保管サーバ2003に返信される。そして、保管サーバ2003にて、その管理データ2がセッションIDに関連付けて記憶される。
【0136】
管理データ2がセッションIDに関連付けて記憶されたことを通知するために、ステップS2107の処理として、保管通知が保管サーバ2003から決済サーバ2002へ送信される。
【0137】
決済サーバ2002が保管通知を受信すると、ステップS2108の処理として、利用者端末2004へ寄託通知が送信され、管理データが保管サーバ2003に保管されたことが利用者に伝えられる。寄託通知は電子メールによって送信されてもよい。あるいは利用者端末2004にインストールされたブラウザへ送信されてもよい。そして、寄託通知のコンテンツの種類が電子財布に関連付けられており、利用者が電子メールに添付された寄託通知をダブルクリックしたり、ブラウザが寄託通知を受信したりすると、電子財布が電子メールプログラムやブラウザにより起動され、寄託通知が電子財布により処理されるようになっていることが好ましい。
【0138】
その後、利用者は、利用者端末2004にインストールされた電子財布を操作するなどして、保管サーバ2003に保管された管理データを要求するために、ステップS2109の処理として、保管サーバ2003に対して、管理データの送信要求として、セッションIDを送信する。保管サーバ2003では、セッションIDに管理データ2が関連付けて記憶されていることを確認すると、ステップS2110の処理として、管理データ2を返信し、セッションIDとの関連付けを破棄する。
【0139】
もちろん、図20と図21とに示される構成、処理などを用いなくても、管理データを利用者に発行することができる。例えば、決済サーバが管理サーバから管理データを受信し、直接その管理データを利用者端末へ送信するようにしてもよい。しかし、決済手段として銀行振込を採用した場合などには、決済の確認までタイムラグが生じるので、決済サーバは管理サーバから受信した管理データを次に利用者端末と通信可能になるまで保持しておく必要がある。しかしこれでは、どの管理データが誰に発行されたかの情報を決済サーバが知ることとなり、匿名性が損なわれる。
【0140】
また、決済サーバが管理データの発行要求とともに管理データの送信先を管理サーバに送信し、管理サーバがその送信先に発行した管理データを送信する構成を採用することもできる。しかし、これでも、管理データが誰に発行されたかの情報を管理サーバが知ることとなり、やはり匿名性が損なわれる。
【0141】
図20と図21とに示される構成、処理では、管理サーバ2001は、どの利用者の利用者端末に対して管理データを発行して送信するか知る必要がなくなる。また、決済サーバ2002は利用者端末2004と管理サーバ2001から送信される管理データを関連付けることはできるが、それは一時的なものに過ぎない。管理データを保管サーバ2003に送信すると、保管サーバ2003側で照合用データが書き換えられてしまうからである。また、保管サーバ2003は、管理データを決済サーバ2002と利用者端末2004との通信セッションにより決まる情報と関連付けるので、利用者を識別する必要がない。
【0142】
図22は、保管サーバ2003の機能ブロック図を示す。図22の機能ブロック図において、保管サーバ2200は、預管理データ受信部2201と、管理データ送信部2202と、管理データ受信部2203と、保管部2204と、ID受信部2205と、預管理データ送信部2206とを有する。
【0143】
預管理データ受信部2201は、管理データ2207とID2208とを受信する。管理データ2207とID2208とは、図21のステップS2104においての説明での決済サーバから保管サーバへ送信される管理データ1とセッションIDとに相当する。ただし、後に説明されるように、預管理データ受信部2201は、管理データ2207とID2208を決済サーバのみより受信するとは限らない。
【0144】
ID2208は、管理データ2207を一意に特定する情報であることが望ましい。このため、預管理データ受信部2201は、受信したIDの履歴を管理し、過去に受信したIDと一致するものを受信した場合には、IDの再送要求を返信してもよい。また、受信したIDの履歴は、後に説明される保管部804が管理するテーブルなどで管理することもできる。すなわち、保管部2204が管理するテーブルに同じIDが格納されていればIDの再送要求を返信してもよい。
【0145】
預管理データ受信部2201は、受信した管理データ2207とID2208とをメモリに展開する。そして、管理データ2207のメモリアドレスなどを管理データ送信部2202へ渡すことにより管理データ2207を伝達し、ID2208のメモリアドレスを保管部2204へ渡すことによりID2208を伝達する。
【0146】
管理データ送信部2202は、預管理データ受信部2201より伝達された管理データ2207を送信する。送信先は、管理サーバである。送信の結果、管理サーバにて管理データ2207に含まれる照合用データの有効性が確認されると、照合用データの書き換えが行われ、書き換え後の管理データ2209が返信される。
【0147】
管理データ受信部2203は、管理データ送信部2202からの管理データ2207の送信に応じて管理サーバより返信される管理データ2209を受信する。上述したように管理データ2207の少なくとも照合用データが置き換えられたものが管理データ2209となっている。管理データ受信部2203は、受信した管理データ2209をメモリに展開し、そのメモリアドレスなどを保管部2204に渡すことにより、管理データ2209を伝達する。
【0148】
保管部2204は、預管理データ受信部2201より伝達されたID2208と管理データ受信部2203より伝達された管理データ2209とを関連付けて保持する。ID2208と管理データ2209とは、異なる時に保管部2204に伝達される。このために、保管サーバ2200は、例えば預管理データ受信部2201が受信した管理データ2207とID2208とに一意の識別情報を付与するようにしてもよい。そして、預管理データ受信部はID2208とともにその一意の識別情報を保管部2204に伝達する。また、管理データ送信部2202が管理データ2207を送信するために管理サーバと通信セッションを開始するとその通信セッションをその一意の識別情報と関連付ける。そして、管理データ2209が受信されると、通信セッションから一意の識別情報を取得し、管理データ受信部2203は、管理データ2209とともにその一意の識別情報を保管部2204に伝達する。これにより、保管部2204では、ID2208と管理データ2209とを関連付けることができる。また、保管サーバ2200が付与した一意の識別情報が管理データ2207に含まれて送信されるようになっていてもよい。管理サーバは、その一意の識別情報を変更することなく、照合用データを書き換える。
【0149】
保管部2204は、IDと管理データとを関連付けて保管するためにテーブルを用いてもよい。図23はそのようなテーブルを示している。図23では、"e987abc"というIDと照合用データとして"1491625"を含む管理データとが関連付けて保持されている。"e987abc"というIDは、例えば図21におけるステップS2101の処理として行われる決済処理のための利用者端末と決済サーバと間の通信セッションのIDなどである。
【0150】
なお、保管部2204にID2208と管理データ2209とが関連付けて格納された場合、ステップS2107の保管通知となる情報が送信されるようになっていてもよい。この保管通知は、例えば、預管理データ受信部2201が管理データ2207とID2208とを受信したACKとして返信されるようになっていてもよい。
【0151】
ID受信部2205は、ID2210を受信し、ID2210と保管部2204にて関連づけて保管されている管理データの検索を行う。検索の結果、ID2210と関連付けて保管されている管理データが存在すれば、ID受信部2205はその管理データを読出し、預管理データ送信部2206へ伝達する。また、ID2210とその管理データとの関連付けを解消あるいは破棄する。解消あるいは破棄は、具体的には、図23に示すテーブルからID2210が格納されている行データを削除することにより実現される。あるいは、図23に示すテーブルに削除フラグを格納する列を設けて、削除されたことを示す値を格納することで、解消あるいは破棄されたことを表現するようになっていてもよい。
【0152】
預管理データ送信部2206は、ID受信部2205から伝達された管理データを送信する。管理データの送信先は、ID2210の送信元であることが想定される。ただし、管理データの送信先がID2210とともにID受信部2205により受信されたなどの場合には、その送信先へ管理データを送信するようになっていてもよい。
【0153】
図24は、保管サーバ2200における管理データとIDとを受信し保管するまでの処理の流れを説明するフローチャートの一例である。ステップS2401の処理として、預管理データ受信部2201により、管理データとIDとを受信する。ステップS2402の処理として、その管理データを、管理データ送信部2202により、管理サーバへ送信する。そしてステップS2403の処理として、管理データ受信部803により、管理データを受信する。その後、ステップS2404の処理として、保管部2204により、ステップS2401で受信されたIDとステップS2403で受信された管理データを関連付けて保管する。
【0154】
図25は、保管サーバ2200におけるIDを受信しそのIDと関連付けられて保管されている管理データを送信するまでの処理の流れを説明するフローチャートの一例である。ステップS2501の処理として、ID受信部2205により、IDを受信する。ステップS2502の処理として、そのIDと関連付けられて管理データが保管部2204に保管されていることを確認する。もし確認できなければ、エラーをIDの送信元などに返信する。確認ができれば、ステップS2503の処理として、IDと関連づけて保管されている管理データを読み出す。そして、ステップS2504の処理として、IDと管理データとが関連付けられて格納されている状態を解消する。例えば、図23に示されるテーブルから上述にように行データを削除する。その後ステップS2505の処理として、預管理データ送信部2206により、管理データを送信する。
【0155】
このような構成の保管サーバを、図20、図21に示すように決済サーバと管理サーバとを組み合わせることにより、匿名性を保ちつつ管理データの発行が行える。
【0156】
また、このような保管サーバを経由することにより、利用者間でも管理データを譲渡することができる。「利用者間」と記載したが、この場合、一方の利用者は物やサービスを購入する者であり、他方はその物やサービスを提供する者であり、その物やサービスの対価として管理データが一方の者から他方の者へ譲渡される場合が想定される。特に、他方はWEBサーバなどを用いてインターネットからアクセスされる仮想的な店舗であってもよい。すなわち、管理データを電子マネーとして使用することにより、財物や役務の提供に対する代金の決済処理を行うことができる。すなわち、保管サーバが決済処理を行うサーバとして動作することになる。また、保管サーバを用いることにより、個人間などの一般の利用者間でも管理データの譲渡をすることが可能となる。
【0157】
図26は、利用者間で管理データを譲渡するシステム2600の構成を示す。システム2600を参照しながら、管理サーバ2601と、保管サーバ2603と、譲渡者端末2604と、譲受者端末2605とを有する。譲渡者端末2604、譲受者端末2605にはそれぞれブラウザ、電子財布がインストールされていてもよい。また、譲渡者端末2604の利用者(譲渡人)が譲受者端末2605の利用者(譲受人)へ管理データを譲渡する場合の処理の流れについて以下に説明する。
【0158】
譲渡人は、あらかじめ、管理サーバから管理データの発行を受けたり、決済サーバを介して管理データを取得したり、決済サーバと保管サーバを介して管理データから取得したりしておく。この管理データは譲渡者端末2604にインストールされている電子財布により管理されていてもよい。あるいは別の譲渡人より、管理データの譲渡を受ける。この場合の譲渡としては、これから説明されるように保管サーバを介して行われてもよいし、別の譲渡人から管理データが記録された光ディスクや可搬型の不揮発性半導体メモリなどの記憶媒体の譲渡を受けたり、電子メールの添付データなどとして譲渡を受けたりしていてもよい。このように譲渡を受けた管理データも譲渡者端末2604にインストールされている電子財布により管理されてもよい。
【0159】
図27は、保管サーバを介しての管理データの譲渡の流れを説明するシーケンス図である。ステップS2701の処理として、譲渡者端末2604と譲受者端末2605との間で管理データの譲渡の合意をする。この合意は、無償にて譲渡人が譲受人に管理データを譲渡する合意であったり、上述のように譲受人が物やサービスを提供することの引き替えに譲渡人が管理データを譲渡する合意であったりする。なお、この合意のために、譲渡人の使用する譲渡者端末(第1の端末)と譲受人の使用する譲受者端末(第2の端末)とが相互に認証し合ってもよい。例えば、暗号化された通信セッションを確立するために第1の端末と第2の端末との間で暗号化と復号化のための暗号鍵を共有する。
【0160】
また、相互認証の際には、その相互認証を一意に特定する情報を決める。例えば、WEBショップで買い物などを行う場合には、WEBサーバと端末との間の暗号化された通信セッションのIDなどを用いる。
【0161】
譲渡の合意あるいは相互認証が終了すると、譲渡人側の端末では、電子財布を動作して、新たに管理データの発行を受けたり、既に発行がされたり第三者から譲渡がされたりした管理データの中から選択を行い、管理データ3とセッションIDとを保管サーバ2603へ送信する。管理データ3とセッションIDとを受信した保管サーバは、ステップS2703の処理として管理データ3を管理サーバへ送信する。管理サーバが管理データ3に含まれる照合用データが有効であると確認を行うと、新たに準備した照合用データによる置換を行い、ステップS2704の処理として管理データ4を保管サーバへ返信する。これにより、管理データ3は無効な照合用データを含む管理データとなり二重に使用ができなくなる。
【0162】
保管サーバが管理データ4を受信すると、ステップS2702で受信したセッションIDと関連付けて保管を行い、ステップS2705の処理として保管通知を譲渡者端末へ送信する。保管通知を受信した譲渡者端末は、ステップS2706の処理として、寄託通知を譲渡者端末へ送信する。
【0163】
寄託通知を受信した譲受者端末は、ステップS2707の処理として、管理データの送信要求を譲渡合意の際のセッションIDとともに保管サーバへ送信し、これに応じて保管サーバは管理データ4をステップS2708の処理として返信する。このとき、譲受者端末では電子財布が起動されてもよい。
【0164】
以上のように保管サーバを構成することにより、管理データの発行の際、そして、管理データの譲渡の際に同じ処理を保管サーバで行うようにすることができる。また、管理データの匿名性なども確保できる。
【0165】
(実施形態3)
上述の実施形態2において、価値として貨幣価値のように可分な価値が用いられる場合には、管理データが表す価値に上限を設けてもよいことについて説明した。例えば、5000円を上限とすると、13000円の価値は、例えば、5000円を表す管理データ2つと、3000円を表す管理データ1つとにより表される。この場合の3000円を表す管理データのように、上限の価値に満たない価値を表す管理データを「端数管理データ」と呼ぶことにする。
【0166】
管理データを用いて商品や役務の代金の決済が行われる場合を考えると、代金の額が上記でいう上限になるとは限らない。このため、端数管理データを含む管理データにより代金が支払われたり、釣り銭の代わりに端数管理データを含む管理データが支払いとは逆の方向の管理データの流れで譲渡されたりする。このため、端数管理データの数は増加することになる。この結果、管理サーバのデータベース部の管理するデータが増加してしまうなどの問題が生ずる。そこで、以下では、端数管理データの増加を防ぐ構成について説明を行う。
【0167】
(管理サーバ)
本実施形態に係る管理サーバは、実施形態2に係る管理サーバ1500において、管理データ受信部1505が端数管理データ受信手段と、支払額受信手段とを有し、置換部1506が端数変更手段と、釣管理データ生成手段とを有し、置換管理データ送信部1507が端数管理データ送信手段と、釣管理データ送信手段とを有する。
【0168】
端数管理データ受信手段は、端数管理データを受信する手段である。受信された端数管理データは、他の一または複数の管理データとともに、保管サーバより送信され管理サーバに受信され照合用データの有効性の確認がされることが主に想定される。端数管理データ受信手段は、端数管理データを受信するとメモリに展開し、端数管理データに含まれる照合用データのアドレスなどを取得して、端数変更手段に伝達する。
【0169】
支払額受信手段は、管理データ受信部1505で受信された管理データのうち端数管理データ受信手段で受信されたものを除く管理データの表す価値のうち、譲渡が行われる価値を表す。すなわち、保管サーバを経由して譲渡者端末から譲受者端末へ譲渡されるべき価値を表すことが主に想定される。そして、譲渡が行われない価値が存在すれば、その価値は後述のように釣管理データとして譲渡者端末へ送信されることになる。
【0170】
端数変更手段は、支払額受信手段が受信した価値を上述の上限の価値で除算を行った時の余りが0で無い場合に、端数管理データ受信手段により受信された端数管理データの表す価値にその余りを加算する処理を行う。例えば、上限額が5000円で支払額受信手段が受信した価値が13000円であれば、13000円を5000円で割り算を行うと、3000円が余りとなる。そこで、端数管理データ受信手段が受信した端数管理データがデータベース部1501により、1000円を表していれば、1000円に3000円を加算した4000円を表すようにデータベース部1501が管理するデータベースの変更操作などを行う。
【0171】
具体的には、端数変更手段は、端数管理データ受信手段からで伝達されたアドレス等により指定される照合用データで図16(a)などに示されるテーブルの検索を行いその照合用データがテーブルに格納されているのを確認すると、その照合用データに関連付けられている価値の値に上述の余りを加算する。加算した結果がもし上述の上限を超えていれば、加算した結果のかわりに上限の価値をテーブルに登録し、新たに照合用データを準備してテーブルに挿入し、加算した結果から上述の上限を引いた額を関連付ける。例えば、端数管理データ受信手段からで伝達されたアドレス等により指定される照合用データに1000円が関連付けられており、上述の余りが4500円であったとする。すると加算した結果は5500円となり、上限の5000円を超えている。そこで、端数管理データ受信手段からで伝達されたアドレス等により指定される照合用データには上限の5000円を関連づけ、新たに準備される照合用データには500円を関連付ける。もちろん、5000円と500円とに関連付けるのは一例であり、5500円の上限を超えないように複数の価値に任意に分けることができる。例えば、2500円と3000円とであってもよい。
【0172】
釣管理データ生成手段は、管理データ受信部1505で受信された管理データのうち端数管理データ受信手段で受信されたものを除く管理データの表す価値のうち、支払額受信手段が受信した価値を引いた価値(「釣価値」という。)が0でなければ、釣価値を表す管理データを生成する。新たに管理データを生成してもよいし、管理データ受信部1505で受信された管理データのうち端数管理データ受信手段で受信されたものを除く管理データを再利用するように、その管理データが表す価値に釣価値を加えてもよい。そして、もし加えた結果が上限を超えていれば、新たな管理データを生成して、管理データに上限を超える価値が関連付けられないようにする。
【0173】
端数変更手段、釣管理データ生成手段それぞれは、端数管理データ受信手段が受信した端数管理データが含む照合用データ、釣管理データ生成手段が生成した釣価値を表す管理データが含む照合用データのそれぞれを、新たな照合用データを準備して書き換えてもよい。
【0174】
端数管理データ送信手段は、端数変更手段により価値が加算された管理データ、また必要に応じて新たに生成された管理データを送信する。
【0175】
釣管理データ送信手段は、釣管理データ生成手段で生成された管理データを送信する。
【0176】
また、本実施形態において、保管サーバの預管理データ受信部2201は、管理データ及びIDとともに、支払額情報を受信可能となっている。支払額情報とは、管理データの譲渡により譲渡されるべき価値を示す情報である。そして、預管理データ受信部2201は、支払額情報が受信された場合には、受信したIDに関連付けられて保管部2204に保管されている管理データを検索し、得られた管理データと受信した管理データとともに支払額情報を管理データ送信部2202に伝達する。この場合、受信したIDに関連付けられて保管部2204に保管されている管理データは、譲受者端末より送信された端数管理データとなっている。管理データ送信部2202は、管理データとともに伝達された支払額情報を送信する。
【0177】
また、管理データ受信部2203は、釣管理データも受信可能となっている。釣管理データが受信された場合には、保管サーバは、保管部2204に管理データが保管されると、保管通知とともに釣管理データを、預管理データ受信部2201が受信した管理データの送信元へ返信する。
【0178】
図28は、本実施形態において、保管サーバを介しての管理データの譲渡の流れの一例を説明するシーケンス図である。ステップS2801の処理として、ステップS2701と同様に譲渡の合意を譲渡者端末と譲受者端末との間で行う。このとき、その合意では、単に管理データの譲渡のみならず、管理データの譲渡により譲渡される価値も合意する。例えば、商品の値段、送料などである。そして、このような場合に譲渡者端末が保管サーバへ送信する管理データを支払管理データという。
【0179】
ステップS2802の処理として、譲受者端末から保管サーバへ、端数管理データ1とセッションIDとを保管サーバへ送信する。このとき、譲受者端末である旨の情報も送信してもよい。ステップS2803の処理として、保管サーバは、受信した端数管理データ1を管理サーバへ送信し、その有効性を確認させ、ステップS2804の処理として、保管サーバは、端数管理データ2を管理サーバより受信する。そして、セッションIDと関連づけて端数管理データ2を保管する。
【0180】
なお、譲受者端末に端数管理データが無ければ、保管サーバには端数管理データを送信する必要はなく、したがって、保管サーバが端数管理データを管理サーバに送信する必要もない。
【0181】
譲渡者端末は、ステップS2805の処理として、支払額と支払いのための支払管理データ1とセッションIDを保管サーバに送信する。保管サーバは、支払管理データ1と支払額とを管理サーバに送信する。また、保管サーバは、セッションIDからそれに関連付けられている端数管理データの有無を検出し、もしそのような端数管理データが存在すれば、その端数管理データもともに管理サーバへ送信する。なお、ステップS2802において、譲受者端末から譲受額が送信されてもよく、この場合は、譲渡者端末から送信される支払額と譲受額とが同じであることを確認してもよい。もし、同じでなければ譲受者端末、譲渡者端末へエラーを通知する。また、ステップS2802において、譲受者端末から譲受額が送信され、ステップS2805において、譲渡者端末から支払額が送信されない構成もある。この場合には、支払管理データ1に関連付けられている価値の値が譲受額以上であることを確認する。もし、譲渡に伴って手数料などを徴収する際には、支払管理データ1に関連付けられている価値の値から手数料などの額の値を引いたものが譲受額以上であることを確認する。また、端数管理データ1に関連付けられている価値から手数料などの額を徴収することにしてもよい。
【0182】
管理サーバは、受信した支払管理データ2、支払額、端数管理データ2から、置換部1506、置換管理データ送信部1507により、端数管理データ3と支払管理データ2と釣管理データとを生成して、ステップS2807の処理として、保管サーバへ送信する。ここで、端数管理データ3は、端数変更手段で変更、生成された管理データであり、釣管理データは釣管理データ生成手段で生成された管理データである。
【0183】
端数管理データ3と支払管理データ2と釣管理データとを受信した保管サーバは、支払管理データ3と端数管理データをステップS2802又はS2805で受信したセッションIDと関連づけて保管する。そして、ステップS2808の処理として、譲渡者端末へ釣管理データと保管通知を送信する。譲渡者端末は、ステップS2809において寄託通知を譲受者端末へ送信し、譲受者端末はステップS2810において、送信要求とセッションIDとを保管サーバへ送信し、これに応じて保管サーバは、セッションIDと関連付けて保管されている端数管理データ3と支払管理データ2をステップS2811の処理として、譲受者端末へ送信する。そして、セッションIDと端数管理データ3及び支払管理データ2との関連付けを破棄する。
【0184】
このようにして、譲渡者端末から譲受者端末へ、譲渡合意で合意された価値が電子的に譲渡される。また、本実施形態では、管理データが表す価値に上限を設けられている場合に、譲受者端末から端数管理データを提供することにより、その端数管理データに釣り銭に相当する価値を加えることができ、端数管理データの数の増大を防止することができる。これにより、管理サーバのデータベース部1501で管理するべき照合用データの数の増加を防止することができる。なお、「譲受者端末」と記載したが、譲受者端末は端末装置と同等の機能を有していればよく、サーバ装置を端末装置として用いられる場合も含まれる。譲渡者端末についても同様である。
【0185】
(実施形態4)
実施形態2において、図20、図21などを参照して、管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステムの構成などについて説明した。本発明の実施形態4として、別のシステムの構成などについて説明する。
【0186】
図29は、本発明の実施形態5に係るシステム2900の構成を示す。システム2900は、管理サーバ2901と、決済サーバ2902と、保管サーバ2903と、利用者端末2904とを有する。実施形態2と同様に、管理サーバ2901と、決済サーバ2902と、保管サーバ2903と、利用者端末2904とは、それぞれ通信アダプタなどのハードウェアを備え、通信を行う。実施形態2では、利用者端末2004の利用者は、管理サーバ2001と直接通信を行う必要は無かったが、本実施形態では、様々な決済サーバの構成に対応できるように、利用者端末2940の利用者は、管理サーバ2901とも通信を行う構成となっている。
【0187】
本実施形態では、管理サーバ2901と、決済サーバ2902と、保管サーバ2903と、利用者端末2904とは、基本的に実施形態1における管理サーバ2001と、決済サーバ2002と、保管サーバ2003と、利用者端末2004と同じ構成でよい。ただし、本実施形態では、管理サーバ2901と利用者端末2904とが通信を行うので、この点を実現する構成が異なる。すなわち、管理サーバ2901は、利用者端末2904に対してサービスを提供するための部が備わった構成となっている。例えば、管理サーバ2001に、ウェブサーバとして動作する部が備わっており、利用者端末2904に対してサービスを提供するようになっている。したがって、この場合には、利用者端末2904は、ウェブブラウザなどの閲覧ソフトウェアを用いて管理サーバ2901と通信を行う。また、利用者端末2904には、ウェブブラウザなどの他に、管理データを管理するアプリケーションプログラムである電子財布(以下、電子財布を、管理データを管理するアプリケーションプログラムという意味で「管理データ管理アプリケーション」という)がインストールされていてもよく、管理データ管理アプリケーションを用いて管理サーバ2901と通信を行うようになっていてもよい。
【0188】
図30は、本実施形態におけるシステム2900での決済処理が行われて管理データが生成されて利用者端末に受信されるまでの処理を説明するシーケンス図である。
【0189】
ステップS3001において、利用者端末2904から管理サーバ2901へ、利用者端末2904の識別情報を含む情報を送信する。識別情報とは、利用者端末2904を識別するための情報である。識別情報の例としては、利用者端末2904の製造番号や、MACアドレス、IPアドレスなどである。あるいは、利用者を識別する情報であるユーザIDや所有者IDなどであってもよい。また、識別情報は、利用者端末2904の製造番号や、MACアドレス、IPアドレスなどの情報そのものである必要はなく、それらの情報に対して所定のハッシュ関数を適用して計算される値であってもよい。この識別情報は、管理サーバ2901により後に発行される管理データに埋め込まれてもよい。識別情報を管理データに埋め込むことにより、管理データを譲渡などする場合に、管理データが不正に他の利用者端末から取得されたものであるかどうかを検出することができる。これにより、管理データの使用の際の安全性を高めることができる。また、識別情報には、乱数が含まれるようになっており、管理サーバ2901への送信の都度、変化する部分があってもよい。
【0190】
管理サーバ2901において、識別情報を受信する部を識別情報受信部という。
【0191】
なお、ステップS3001において、識別情報は、例えば、HTTP(Hyper Text Transfer Protocol)のPOSTメッセージとして、利用者端末2904から管理サーバ2901に送信される。ただし、識別情報は、ブラウザで送信される必要はなく、上述した管理データ管理アプリケーションによって送信されてもよい。管理データ管理アプリケーションを用いれば、利用者端末2904のハードウェアなどにアクセスを行い、MACアドレスなどを取得することが容易に行える。
【0192】
ステップS3002においては、管理サーバ2901は、画面情報を利用者端末2904へ返信する。画面情報は、例えば、HTML(Hyper Text Markup Language)を用いて記述され、管理データを発行するための入金処理や、発行された管理データを受け取るための処理を行うために使用することができる。
【0193】
利用者端末1904が画面情報を受信すると、その画面情報の記述に従って画面表示を行う。例えば、受信された画面情報を、利用者端末2904で動作する管理データ管理アプリケーションがREADシステムコールなどを用いて取得すると、ウェブブラウザを起動して、そのウェブブラウザによって画面情報を表示させる。
【0194】
図31は、表示される画面情報の例を示す。例えば管理データ管理アプリケーションによりブラウザが起動されて画面情報が表示されると、図31(a)に示されるように、「入金」、「管理データ受取」という表示を有するボタンが表示される。「入金」の表示を有するボタンが押下されると、画面情報に含まれるスクリプトなどの処理により、図31(b)に示される画面が表示される。
【0195】
図31(b)は、銀行振込を行うための画面であって、「振込名義人名を12345としてください」というメッセージが表示され、「振込」という表示を有するボタンが表示されている。12345というのは、管理サーバ2901がステップS3001において識別情報を受信した際に、管理サーバ2901側などで生成される情報である。あるいは、利用者端末2904側で生成され、ステップS3001において管理サーバ2901に送信され、管理サーバ2901で承認などされた番号であってもよい。承認とは、利用者端末2904側で生成された情報が適切でることを確認することである。例えば、同じ情報を他の利用者端末で生成されて管理サーバ2901に送信されていないことを確認する。あるいは、識別情報がユーザIDであれば、そのユーザIDそのものやユーザIDに関連付けられた値である。利用者が銀行振込を行う際に、この情報を振込名義人名に含ませることにより、管理サーバ2901が銀行から振込通知を受信などした際に、その振込がどの識別情報の受信に対して返信した画面情報によって行われたかを知ることができる。また、図31(b)の画面には、振込先の銀行口座の情報が含まれていてもよい。
【0196】
管理サーバ2901において、振込名義人名を生成あるいは承認、取得し、利用者端末2904に送信する部を、振込名義人名送信部という。
【0197】
なお、図31(b)において、複数の銀行の中から利用者端末2904の利用者が契約している銀行を選択できるように、複数の銀行それぞれに対応したボタンが表示されていてもよい。
【0198】
図31(b)の「振込へ」の表示を有するボタンが押下されると、利用者端末2904から銀行などの決済サーバ2902に対してアクセスが行われ、図32(a)のようなインターネットバンキングなどのためのログイン画面が表示される。このログイン画面を介して利用者がログインを行い、振込の依頼を行うと、ステップS3204の処理として、利用者端末2904から決済サーバ2902に対して振込依頼が送信される。この振込依頼には、管理サーバ2901などの運営者の銀行口座の情報、振込名義人名、振込額が含まれる。なお、図31(b)の「振込へ」の表示を有するボタンには、振込先の口座の情報や、振込名義人名を含むURLが関連付けられており、そのURLにアクセスすると、決済サーバ2902に振込先の口座の情報や振込名義人名が伝えられ、振込の画面が開かれた場合に、振込先の口座の情報や振込名義人名が既にデフォルト値などとして入力された状態となっていてもよい。
【0199】
振込の依頼が終わると、ステップS3204の処理として、利用者端末2904から管理サーバ2901へ、振込の依頼の処理が終わったこと旨を表す入金通知が送信される。この際には、ステップS3201で送信された識別情報や振込名義人名も送信される。すなわち、利用者端末2904にて、振込の依頼の処理が終了すると、利用者端末2904では、図32(b)に示されるような画面が表示される。図32(b)に示される画面は、「入金通知」という表示を有するボタンが表示されている。このボタンが押下されると、ステップS3004の処理として、入金通知が利用者端末2904から管理サーバ2901へ送信される。入金通知は、利用者端末2904にて振込の依頼の処理が終了したことを、利用者端末2904から管理サーバ2901に知らせる情報である。
【0200】
入金通知を受信した管理サーバ2901は、ステップS3205の処理として、入金通知とともに送信された情報から振込名義人名を取得し、決済サーバ2902に対して、その振込名義人名による振込が実際に依頼されたかどうかを問い合せる。決済サーバ2902は、その振込名義人名による振込があれば、ステップS3206の処理として振込通知を返信する。この振込通知には振込額も含まれていてよく、これにより、管理サーバ2901は振込額を得ることができる。
【0201】
また、ステップS3005とS3006の処理の代わりに、管理サーバ2901は、例えば、5分に一回、振込の有無の問い合せを管理サーバ2901に行い、振込の有無を確認してもよい。
【0202】
もし、振込がされていなければ、管理サーバ2901は、ステップS3004の入金通知に対して、振込が確認できなかったことを通知する。この場合、管理データ管理アプリケーションなどによって振込の確認ができていないことの表示がされ、利用者は、しばらく時間が経過してから再度入金通知を行うことになる。
【0203】
管理サーバ2901は、振込を確認すると、振込通知に含まれる振込名義人名から、どの識別情報の受信に対して画面情報によって行われたかをテーブルなどを検索して取得し、管理データを生成し、また、実施形態2で説明したように、振り込みの決済処理を特定する番号を生成する。決済処理を特定する番号は、本実施形態では、「送り情報」と称することにする。送り情報は、例えば、利用者端末2904と管理サーバ2901とがステップS3001とS3002とで通信を行ったセッションのIDであってもよい。また、振込み名義人名送信部で送信された振込名義人名を用いてもよい。ステップS3007の処理として、生成した送り情報と管理データとを保管サーバ2903へ送信する。保管サーバ2903は、送り情報と管理データとを関連付けて、その保管部に保持する。
【0204】
管理サーバ2901において、振込通知を受信する部を振込通知受信部と称する。また、管理データを生成するために、新たな照合用データを準備して、振込通知受信部が受信した振込通知に含まれる金額の額に相当する価値情報を関連づけてデータベース部1501に記憶する部を照合用データ生成部と称する。また、新たに準備された照合用データから生成された管理データを送信する部を管理データ送信部と称する。また、本実施形態では、管理サーバ2901は、準備された照合用データと、識別情報受信部で受信された識別情報を関連付けてデータベース部1501などに記憶する。
【0205】
ステップS3008の処理として、管理サーバ2901は、入金が確認された旨と送り情報とを利用者端末2904へ返信する。なお、ステップS3001とS3002とにおいて利用者端末2904と管理サーバ2901との通信において、送り情報が、セッションIDや振込名義人名として利用者端末2904に送り情報が通知されていれば、ステップS3008では、送り情報を利用者端末2904へ返信する必要はない。
【0206】
管理サーバ2901にて、その振込によって生成された送り情報を取得し、ステップS3008の処理として、入金確認と送り情報とを利用者端末2904へ返信する。
【0207】
利用者端末2904が、入金確認と送り情報とを受信すると、図32(c)に示される画面が表示される。図32(c)に示される画面においては、「入金の確認がされましたので、管理データ受取を押して下さい」というメッセージと、「管理データ受取」という表示を有するボタンが表示される。なお、図32(c)の画面は、ブラウザによって表示される必要はなく、管理データ管理アプリケーションによって表示されてもよい。例えば、ステップS3008にて返信される入金確認と送り情報とが、MIME(Multipurpose Internet Mail Extension)のフォーマットを用いて送信され、そのフォーマットにおいてContent−Typeなどによって、管理データ管理アプリケーションがアプリケーションプログラムとして用いられることが指定されていてもよい。このような指定により、ブラウザが入金確認と送り情報とを受信すると、管理データ管理アプリケーションが起動され、図32(c)に示される画面が表示できる。
【0208】
「管理データ受信」のボタンが押下されると、ステップS3009の処理として、利用者端末2904から保管サーバ2903へ、送り情報が送信される。この送り情報が保管サーバ2903にて受信されると、ステップS3006において格納部に送り情報と関連付けられて保管された管理データが読み出される。そして、ステップS3010の処理として、その管理データが保管サーバ2903から利用者端末2904に受信されて、利用者端末2904内に格納される。
【0209】
図33は、管理サーバ2901が、ステップS3001において利用者端末2904から識別情報を受信してから、ステップS3008において入金確認と送り情報とを送信するまでの処理を行うために参照するテーブルの構成と格納されるデータの遷移を説明する。図33(a)に示すように、管理サーバ2901は、「識別情報」、「振込番号」、「金額」、「送り情報」という名前の列により構成されるテーブルを保持し、管理を行う。
【0210】
管理サーバ2901がステップS3001において識別情報を受信すると、そのテーブルに対して行データの挿入が行われる。識別情報が例えば98765であれば、図33(b)に示されるように、識別情報の列の値が98765である行がテーブルに挿入される。その行において、識別情報の列以外の列の値は、例えば、NULL(図示せず)とされる。NULLとされることにより、まだ値が定まっていないことが表現される。
【0211】
識別情報がステップS3001において受信され、その識別情報に基づいて振込名義人名が決定されると、挿入された行の振込番号の列の値が、その振込名義人名に更新される。例えば、振込名義人名が図31(b)に示されるように12345であれば、図33(c)に示すように、識別情報の列の値が98765である行の振込番号の列の値が12345に更新される。
【0212】
管理サーバ2901がステップS3006において振込通知を受信すると、その振込通知に含まれる振込名義人名を振込番号の列に有する行が検索され、振込通知に含まれる振込金額により金額の列の値が更新される。例えば、振込通知により、12345という振込名義人名により5000円が振り込まれたとすると、図33(d)に示すように、識別情報の列の値が98765である行の金額の列の値が5000に更新される。これにより、管理サーバ2901は、振込があったことが確認できるようになる。
【0213】
管理サーバ2901が送り情報を生成し、ステップS3007において保管サーバ2903に、送り情報を送信すると、「送り情報」の列の値が更新される。例えば、12345という振込名義人名により5000円が振り込まれ、246810という送り情報が生成されると、図33(e)に示すように、識別情報の列の値が98765である行の送り情報の列の値が246810に更新される。これにより、管理サーバ2901は、98765という識別番号に対して、管理データを生成して、保管サーバ2903に送信したことが確認できるようになる。
【0214】
図34は、利用者端末2904の図3とは別の機能ブロック図を示す。この機能ブロック図は、利用者端末2904にインストールされているアプリケーションプログラムの構成を示している。利用者端末2904には、ブラウザと管理データ管理アプリケーションとがインストールされている。ブラウザと管理データ管理アプリケーションとが協調して動作して決済処理から管理データの受信の処理を行う。
【0215】
図35は、利用者端末2904にインストールされているブラウザと管理データ管理アプリケーションとが協調して、図30に示される決済処理が行われ、管理データが生成されて利用者端末に受信されるまでの処理のシーケンス図を示す。
【0216】
ステップS3501は、ステップS3001に対応している。ステップS3501においては、識別情報が、管理データ管理アプリケーションより送信されることを示している。管理データ管理アプリケーションを用いれば、ブラウザを用いるよりも容易に利用者端末2904のハードウェアなどにアクセスを行い、MACアドレスなどのハードウェア固有の情報を取得することができる。
【0217】
なお、ステップS3501の処理を実行するには、利用者端末2904にて管理データ管理アプリケーションを起動する。管理データ管理アプリケーションの起動により、例えば、図36に示されるように、「入金(ポイント購入)」、「ポイントの受取」、「ポイントによる支払」の表示を有するボタンを含む画面表示が利用者端末2904のディスプレイなどに表示がされる。「入金(ポイント購入)」のボタンが押下されると、管理データ管理アプリケーションは、識別情報を算出などして、管理サーバ2901へ送信する。
【0218】
ステップS3502は、ステップS3002に対応している。ステップS3502においては、ステップS3501にて送信された識別情報に対して管理サーバ2901から返信される画面情報が、管理データ管理アプリケーションにより受信される。
【0219】
管理データ管理アプリケーションが画面情報を受信すると、ステップS3503の処理として、管理データ管理アプリケーションはブラウザを起動し、画面情報の記述に従った画面表示を行う処理が行われる。例えば、管理データ管理アプリケーションは、受信した画面情報を一時ファイルに書き込み、その一時ファイルの名前をコマンドの引数などとしてブラウザに与えてブラウザを起動する。例えば、一時ファイルの拡張子と関連付けられているブラウザが起動されるようになっている。
【0220】
ステップS3504、ステップS3505、ステップS3506、ステップS3507、ステップS3508は、それぞれステップS3003、ステップS3004、ステップS3005、ステップS3006、ステップS3007、ステップS3008に対応している。これらのステップの処理では、利用者端末2904では、ブラウザが管理サーバ2901、決済サーバ2902と通信を行う。
【0221】
ステップS3509にて、ブラウザが入金確認と送り情報とを管理サーバ2901より受信すると、ブラウザは、管理データ管理アプリケーションを起動し、送り情報を管理データ管理アプリケーションに処理をさせる。上述したように入金確認と送り情報とが、MIMEのフォーマットを用いた情報としてブラウザにより受信されると、そのフォーマットにおいてContent−Typeなどによって、管理データ管理アプリケーションにより処理することが指定されているので、ブラウザは管理データ管理アプリケーションを起動し、起動した管理データ管理アプリケーションは、送り情報を取得する。ステップS3510の処理として、管理データ管理アプリケーションは、保管サーバ2903へ送り情報を送信する。保管サーバ2903から返信される管理データを受信する処理をステップS3511の処理として行う。管理データ管理アプリケーションが管理データを受信すると、受信した管理データを、利用者端末2904の記憶装置(ハードディスクなど)に書き込む。
【0222】
ブラウザから管理データ管理アプリケーションが起動された場合には、図36の画面が表示されてもよい。利用者端末2904の利用者が「ポイントの受取」の表示を有するボタンを押下すると、ステップS3511とステップS3512との処理が開始されるようになっていてもよい。
【0223】
図37は、管理データ管理アプリケーションの図6とは別のモジュール構成図を示す。管理データ管理アプリケーション3700は、識別情報取得部3701と、送り情報管理部3702と、管理データ管理部3703と、送受信部3704と、制御部3705とを有している。
【0224】
識別情報取得部3701は、ステップS3501において送信される識別情報を取得する。例えば、利用者端末2904のハードウェアにシステムコールなどを用いてアクセスを行い、MACアドレスや製造番号などを取得する。また、利用者端末2904の利用者のIDやパスワードなどの認証情報を識別情報として取得してもよい。また認証情報は、ファイルに格納されていたり、キーボードやカードリーダなどにより読み取られるようになっていたりしてもよい。また、認証情報の一部に乱数が含まれる場合には、識別情報取得部3701がその乱数を生成するようになっていてもよい。
【0225】
また、識別情報取得部3701により取得された識別情報は、ステップS3511の処理により管理データが受信されるまで、利用者端末のハードディスクなどの二次記憶に記憶されるようになっていてもよい。管理データ管理アプリケーションが起動すると、二次記憶に識別情報が記憶されているかどうかを調べ、もし、記憶されていれば、受け取られていない管理データが保管サーバ2903に保管されている旨の表示を行い、利用者に注意を喚起してもよい。この場合、利用者が振込の依頼の処理を行っているのならば、管理データ管理アプリケーションは利用者にステップS3505の入金通知を管理サーバ2901に送信し、入金確認と送り情報を受信することができるように、ボタンなどを表示する。そして、そのボタンが押下されると、管理データ管理アプリケーションは入金通知を管理サーバ2901に送信する。
【0226】
送り情報管理部3702は、ステップS3310において、ブラウザから渡された送り情報を管理する。管理とは、データのファイルへの書き込み、読み出し、削除、更新を意味する。ステップS3509の処理により、ブラウザから管理データ管理アプリケーションが起動される際に、ブラウザから渡された送り情報を所定のファイルに書き込む。また、ステップS3511の処理により、管理データが受信されると、所定のファイルを削除したり、所定のファイルから送り情報を削除したりする。これにより、送り情報が受信されたが、受信されていない管理データの有無をしらべることができる。
【0227】
管理データ管理部3703は、管理データを管理する。ステップS3511にて受信された管理データは、管理データ管理部3703により、利用者端末2904の記憶装置(ハードディスクなど)に書き込まれ、また、管理データを用いた支払の処理の際に読み出し、削除、変更が行われる。
【0228】
送受信部3704は、管理サーバ2901、保管サーバ2903と通信を行うための部である。
【0229】
制御部3705は、識別情報取得部3701と、送り情報管理部3702と、管理データ管理部3703と、送受信部3704とを制御し、管理データの受信の処理、管理データを用いた支払の処理を行う。
【0230】
図38は、管理データを用いた支払の処理のシーケンス図を示す。図38は、保管サーバを介しての管理データの譲渡についてのシーケンス図である図28に対応している。図28での譲受者端末が図38での販売サーバに対応し、譲渡者端末が利用者端末に対応している。本実施形態では、利用者端末の内部で管理データ管理アプリケーションとブラウザとが協調して動作している。また、販売サーバは、WEBサーバとしての機能を有しており、WEBページの閲覧要求があれば、要求されたWEBページを返信する。
【0231】
ステップS3801において、利用者端末のブラウザなどへURLの入力や、ブラウザを操作してリンクを辿るなどの処理を行い、ウェブページの閲覧要求が販売サーバへ送信される。販売サーバが閲覧要求を受信すると、要求されたウェブページをステップS3802において返信する。
【0232】
ステップS3802においてブラウザに返信されるウェブページには、商品などの購入の申込を行うための画面の記述がされているとする。例えば、図39に示すように、「○○」として、購入が行われる商品などの名称が表示され、代金が例えば100円として表示される。また、「購入」という表示を有するボタンが表示されている。このボタンには、購入が行われる商品などの識別番号が関連付けられている。また、必要に応じて、ウェブページには商品の配送先などを入力するテキストエリアが含まれており、「購入」という表示を有するボタンが押下されると、そのテキストエリアに入力された情報が送信されるようになっていてもよい。
【0233】
「購入」という表示を有するボタンが押下されると、ステップS3803の処理として、購入情報が保管サーバに送信される。購入情報とは、販売サーバの識別情報、購入が行われる商品などの識別番号、商品などの数量、代金額を含む情報である。また、上述した商品などの発送先を含んでいてもよい。この購入情報は、図39に示されるボタンに関連付けられた情報を用いて生成され、販売サーバに送信される。購入情報が販売サーバに送信されることにより、ブラウザを操作する利用者が販売サーバの運営者から商品などの購入の同意がされ、支払が管理データの譲渡によってされることの同意もされたことが示される。
【0234】
すなわち、ステップS3801からステップS3803までの処理が行われることにより、譲受端末としての販売サーバと譲渡者端末としての利用者端末との間で譲渡の合意がされることになる。従って、ステップS3801からステップS3803までの処理がステップS2801に対応していることになる。
【0235】
ステップS3804の処理として、販売サーバから支払指示とセッションIDがブラウザに送信される。支払指示には、譲渡されるべき価値の額(支払額)が含まれている。また、セッションIDは、上述の送り情報に対応する。支払指示とセッションIDとは、例えば、MIMEフォーマットで記述され、Content−Typeなどによって、管理データ管理アプリケーションを用いて表示されることが指定されていてもよい。
【0236】
また、販売サーバは、保管サーバに対して、端数管理データ1とセッションIDを送信する。これは、利用者端末から送信される管理データによる支払を受けるためである。
【0237】
販売サーバから端数管理データ1とセッションIDを受信した保管サーバは、ステップS3806の処理として、端数管理データ1を管理サーバへ送信し、端数管理データ1が有効であるかどうかを判断させ、有効であれば、照合用データの書き換えを行わせ、その結果得られる管理データである端数管理データ2をステップS3807の処理において受信する。そして、送り情報と関連付けて保管する。
【0238】
したがって、ステップS3805、S3806、S3807の処理は、ステップS2802,S2803、S2804の処理に対応している。
【0239】
ステップS3804にて、販売サーバから支払指示とセッションIDを受信したブラウザは、管理データ管理アプリケーションを起動させ、販売サーバから受信した支払指示とセッションIDとの処理を行わせる。すなわち、起動した管理データ管理アプリケーションは、ステップS3809の処理として、ステップS3804で受信したセッションIDと支払指示に含まれる支払額とを、また、その支払額以上となるように管理データを管理データ管理部3703から選択して読み出して支払管理データ1として、保管サーバに送信する。支払額以上とは、選択された管理データが表す価値の額の合計額が、支払額以上となるこという。管理データ管理部3703から読み出される管理データは複数であってもよい。また、管理データ管理アプリケーションが起動すると、支払額を画面に表示し、ボタン押下を利用者に行わせるなどして、支払管理データの額などの確認を行わせてもよい。また、管理データ管理部3703で管理されている管理データは暗号化されて記憶されている場合には、復号のためのパスワードなどの入力が求められるようになっていてもよい。
【0240】
ステップS3809において、管理データ管理アプリケーションからセッションID、支払額、支払管理データ1を受信した保管サーバは、セッションIDに、支払額と支払管理データ1を関連付けて保管する。また、他にセッションIDに関連付けて保管されている管理データがあるかどうかの検索を行い、そのような管理データがあれば、ステップS3810以降の処理を行う。
【0241】
ステップS3810とステップS3811の処理は、ステップS2806、S2807の処理に対応している。保管サーバは、端数管理データ2と支払額と支払管理データ1を管理データに送信し、端数管理データ3、支払管理データ2と釣管理データとを受信する。
【0242】
ステップS3812の処理として、保管サーバは管理データ管理アプリケーションに釣管理データを送信する。この釣管理データの送信は、ステップS3809にて受信された支払額と支払管理データ1の返信として行われてもよい。
【0243】
ステップS3813の処理として、管理データ管理アプリケーションは、ブラウザを起動し、決済終了画面を表示させる。決済終了画面の記述は、ステップS3812にて、保管サーバが釣管理データとともに管理データアプリケーションに送信するようになっていてもよい。さらに、決済終了画面の記述は、ステップS3805において、販売サーバが端数管理データ1とセッションIDとともに保管サーバに送信するようになっていてもよい。このように決済終了画面の記述が、販売サーバから送信され、保管サーバを経由して、利用者端末へ送信されることにより、電子的なデータそのものや電子的なデータのダウンロードなどのために使用するURLを決済終了画面の記述に含ませることにより、電子的なデータを販売に本実施形態を利用することができる。
【0244】
ステップS3814にて管理サーバから受信された端数管理データ3と支払管理データ2は、ステップS3805にて受信されたセッションIDとともに保管サーバから販売サーバへ送信される(ステップS3814)。端数管理データ3と支払管理データ2の送信は、ステップS3805にて販売サーバから送信された端数管理データ1とセッションIDに対する返信として行われてもよい。
【0245】
このように、支払指示とセッションIDとがブラウザなどにより受信されると、管理データアプリケーションが起動し、管理データを用いた支払を行うことができるようになる。したがって、本実施形態においては、利用者は、ステップS3803にて購入情報を、ブラウザを用いて販売サーバに送信した後の決済の処理を行うために、従来技術におけるのと異なり、クレジットカード番号や振込先の口座番号などの煩雑なデータを入力する必要がなくなる。また、利用者端末2904に記憶された管理データを用いて支払を行うので、クレジットカードのようにその後の返済などについて心配する必要がない。したがって、利用者は簡便な操作で管理データを用いて支払を行うことができる。これにより、インターネットなどでの支払を安全かつ簡便に行うことができる。
【図面の簡単な説明】
【0246】
【図1】本発明の一実施形態に係る電子商取引システムの概要を示す図である。
【図2】計算機のハードウェアとソフトウェアの構成の一例図である。
【図3】本発明の一実施形態に係る利用者端末の機能ブロック図である。
【図4】本発明の一実施形態に係るブラウザの機能ブロック図である。
【図5】クッキー情報の構造の模式図である。
【図6】本発明の一実施形態に係る電子財布の機能ブロック図である。
【図7】コンテンツのタイプとアプリケーションプログラムとを関連付ける表の一例図である。
【図8】本発明の一実施形態に係る利用者端末の動作を説明するフローチャートである。
【図9】本発明の一実施形態に係るショップサーバの機能ブロック図である。
【図10】本発明の一実施形態に係るショップサーバのURL転送部が管理する表の一例図である。
【図11】本発明の一実施形態に係るショップサーバにおける処理を説明するフローチャートである。
【図12】本発明の一実施形態に係るショップサーバにおける処理を説明するフローチャートである。
【図13】本発明の一実施形態に係る確認サーバで行われる処理を説明するフローチャートである。
【図14】本発明の一実施形態に係る電子商取引システムの全体の処理を説明するシーケンス図である。
【図15】本発明の一実施形態に係る管理サーバの機能ブロック図である。
【図16】本発明の一実施形態における管理データ発行の具体例を説明する図である。
【図17】本発明の一実施形態に係る管理サーバの処理のフローチャートである。
【図18】本発明の一実施形態における照合用データの書き換えの具体例を説明する図である。
【図19】本発明の一実施形態に係る管理サーバの処理のフローチャートである。
【図20】本発明の一実施形態に係る管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステム構成図である。
【図21】本発明の一実施形態に係る管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステムによる処理のシーケンス図である。
【図22】本発明の一実施形態に係る保管サーバの機能ブロック図である。
【図23】本発明の一実施形態における管理データを保管するためのテーブルの一例図である。
【図24】本発明の一実施形態における保管データ発行の具体例を説明する図である。
【図25】本発明の一実施形態における保管データ発行の具体例を説明する図である。
【図26】本発明の一実施形態に係る利用者間で管理データを譲渡するシステムの構成図である。
【図27】本発明の一実施形態に係る利用者間で管理データを譲渡するシステムによる処理のシーケンス図である。
【図28】本発明の一実施形態に係る利用者間で管理データを譲渡するシステムによる処理のシーケンス図である。
【図29】本発明の一実施形態に係る管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステム構成図である。
【図30】本発明の一実施形態において決済処理が行われ管理データが生成されて利用者端末に受信されるまでの処理のシーケンス図である。
【図31】本発明の一実施形態に係る利用者端末の画面表示を示す図である。
【図32】本発明の一実施形態に係る利用者端末の画面表示を示す図である。
【図33】本発明の一実施形態に係る管理サーバが保持するテーブルの構成と内容の遷移を示す図である。
【図34】本発明の一実施形態に係る利用者端末の機能ブロック図である。
【図35】本発明の一実施形態において決済処理が行われ管理データが生成されて利用者端末に受信されるまでの処理のシーケンス図である。
【図36】本発明の一実施形態に係る利用者端末の画面表示を示す図である。
【図37】本発明の一実施形態に係る管理データ管理アプリケーションの機能ブロック図である。
【図38】本発明の一実施形態に係る利用者端末から販売サーバへ管理データを譲渡する処理のシーケンス図である。
【図39】本発明の一実施形態における商品などの購入の申込を行うための画面の一例図である。
【技術分野】
【0001】
本発明は、コンテンツを利用者端末にダウンロードして処理する際に、その利用者端末にそのコンテンツを処理するプログラムがインストールされているかどうかをサーバ装置側から検出する技術に関する。コンテンツとしては、例えば電子的な価値を表す情報があり、そのようなコンテンツを処理するプログラム電子財布がある。
【背景技術】
【0002】
現実の貨幣の価値やチケットなどの債権・債務の関係を電子的なデータに関連付け、このような電子的なデータの交換によって決済処理を行う技術が知られている(例えば、特許文献1参照。)。また、その技術を用いて、インターネットでの商取引の決済が行われている。この場合、現実の貨幣などの価値を電子的なデータを管理するためのアプリケーションプログラムなどとして電子財布が用いられる(例えば、特許文献2参照。)。
【特許文献1】特開2002−74237号公報
【特許文献2】特開2007−94984号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、利用者が利用する電子機器に電子財布がインストールされていない状態で、決済処理が開始すると、不利益が生じる。例えば、決済処理の途中まで進んだ段階で、利用者が利用する電子機器に電子財布がインストールされていないことが発覚すると、決済処理を最後まで行うことができないことになる。そして、利用者は注文の商品などを購入することができず、また、商品などの販売者は売り上げを計上できないという不利益を蒙る。
【0004】
同様のことが、文書情報、音楽情報や動画情報のダウンロードについても言え、ダウンロードした文書情報、音楽情報や動画情報の形式を扱うことができるプログラムが利用者の利用する電子機器にインストールされていないと、別の形式の文書情報、音楽情報や動画情報を扱うことができるプログラムがインストールされていても、新たにプログラムをインストールしなければならない。
【課題を解決するための手段】
【0005】
本発明の一実施形態として、次のような、ブラウザがインストールされている利用者端末と、HTTP要求を処理する第1と第2のサーバ装置を有するシステムの動作方法を提供する。すなわち、ブラウザは、第1のサーバ装置へ第1のHTTP要求を送信する。例えば、電子財布で決済を行う商取引を開始するためのウェブページの要求を送信する。あるいは、特定のプログラムで再生や編集などを行うコンテンツのダウンロードを開始するためのウェブページの要求を送信する。その要求に対して、第1のサーバ装置は、第2のサーバ装置への第1のアクセス命令を返信する。ブラウザが第1のアクセス命令を受信すると、第1のアクセス命令に従って第2のサーバ装置へ第2のHTTP要求を送信する。この第2のHTTP要求には、第1のHTTP要求のURLが含まれていてもよい。また、利用者端末に電子財布や特定のプログラムがインストールされているかどうかを示す所定のクッキー情報が記憶されていれば、その所定のクッキー情報が第2のHTTP要求とともに送信されるようになっている。
【0006】
第2のサーバ装置は、第2のHTTP要求とともに所定のクッキー情報が受信されるか否かに依存して返信される第2のアクセス命令を、ブラウザへ返信する。ブラウザは、第2のアクセス命令を受信すると、第2のアクセス命令に従って第1のサーバ装置への第3のHTTP要求を送信する。この第3のHTTP要求のURLは、第1のHTTP要求のURLに所定のパラメータとその値などを付加したものであってもよい。そして、第1のサーバ装置は、第3のHTTP要求が、前記第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信していない場合に返信する第2のアクセス命令に従ったHTTP要求である場合には、所定のクッキー情報を前記利用者端末に記憶させるプログラムをダウンロードするためのリンク情報を含む返信を行う。
【0007】
これにより、利用者端末に電子財布や特定のプログラムがインストールされていなければ、利用者端末には、その電子財布などの必要なプログラムをダウンロードしてインストールするためのリンク情報が表示される。したがって、利用者端末の利用者は、利用者端末に必要なプログラムがダウンロードされていないことを知ることができる。また、容易にその必要なプログラムをダウンロードしてインストールすることができる。
【0008】
また、その必要なプログラムが利用者端末にダウンロードされると、所定の種類のコンテンツとのその必要なプログラムが関連付けられるようになってもよい。これにより、ブラウザがその種類のコンテンツを受信すると、その必要なプログラムがブラウザにより起動され、コンテンツが必要なプログラムに入力されるようになっていてもよい。また、その必要なプログラムが利用者端末にダウンロードされると、所定のクッキー情報がブラウザの管理する記憶領域に記憶あれるようになっていてもよい。
【0009】
これにより、第1のサーバ装置が、第3のHTTP要求が、第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信している場合に返信される第2のアクセス命令に従ったHTTP要求である場合には、所定の種類のコンテンツをダウンロードするためのリンク情報を含む返信を行うことにより、スムーズにコンテンツの処理ができ、電子財布を用いた決済やコンテンツの再生や編集などを行うことができる。
【0010】
また、第1のサーバ装置が、第3のHTTP要求に対して行う返信には、次の別のプログラムが含まれていてもよい。すなわち、ブラウザが利用者端末に記憶させた第3のHTTP要求のURLの全体または一部を取得する。そして、所定のパラメータの値を取得する。その値と所定の値とを比較し、その比較結果に応じて、プログラムをダウンロードするためのリンク情報を利用者端末のディスプレイなどに表示するようになっていてもよい。
【0011】
これにより、第1のサーバ装置は、プログラムをダウンロードするためのリンク情報と所定の種類のコンテンツをダウンロードするためのリンク情報とを別々に記憶する必要がなくなる。
【0012】
なお、上記では、第1のHTTP要求を受信するサーバ装置と第3のHTTP要求を受信するサーバ装置とを同一としたが、異なるサーバ装置であってもよい。
【0013】
本発明の別の一実施形態として、ブラウザがインストールされている利用者端末に別のプログラムをインストールし、そのブラウザが第1のサーバ装置へ送信するHTTP要求とともに送信するクッキー情報であってその別のプログラムがインストールされていることを表すクッキー情報を利用者端末に記憶し、そのブラウザが第2のサーバ装置へHTTP要求を送信して第1のサーバ装置への第1のアクセス命令を返信として受信し、そのブラウザが第1のアクセス命令に従って第1のサーバ装置へHTTP要求とともにそのクッキー情報を送信して第1のサーバ装置にてそのクッキー情報の確認がされることを条件として送信される前記第2のサーバ装置への第2のアクセス命令を返信として受信し、そのブラウザが第2のアクセス命令に従って第2のサーバ装置へHTTP要求をして得られるコンテンツをその別のプログラムへの入力とする、利用者端末の動作方法が提供される。
【0014】
この利用者端末の動作方法によれば、利用者端末にその別のプログラムがインストールされているかどうかを第1のサーバ装置が判断した結果を第2のサーバ装置に伝達することができるので、第2のサーバ装置は、適切なコンテンツを利用者端末に送信できるようになり、課題が解決される。
【0015】
また、その別のプログラムに入力されるコンテンツの種類とその別のプログラムとを前記利用者端末において関連付け、そのブラウザが第2のサーバ装置へHTTP要求を送信して返信されるコンテンツを受信すると、受信されたコンテンツの種類に関連付けられたその別のプログラムが起動されるようになっていてもよい。
【0016】
これにより、そのブラウザがコンテンツを受信すると、そのブラウザによりその別のプログラムが自動的に起動されることになり、例えば、利用者端末の利用者にコンテンツ利用を容易に提供できる。
【0017】
また、第2のアクセス命令に含まれるURLにはパラメータが含まれており、第2のアクセス命令にしたがって第2のサーバ装置へ送信されるHTTP要求の返信には、そのブラウザが利用者端末のメモリに記憶したURLを取得させ、取得されたURLに含まれるそのパラメータの値を変数に記憶させ、その変数の値を所定の値と比較させ、その別のプログラムがインストールされているかどうかを利用者端末に判断させる第3のプログラムが含まれていてもよい。
【0018】
これにより、第2のアクセス命令に含まれるURLのパラメータの値として、利用者端末にその別のプログラムがインストールされているかどうかが示されるので、例えば、第2のサーバ装置には、利用者端末にその別のプログラムがインストールされている場合とそうでない場合との2つの返信を用意する必要がなくなる。
【0019】
その別のプログラムは、価値が関連付けられた情報を管理する電子財布であり、そのブラウザが第2のアクセス命令に従って第2のサーバ装置へHTTP要求をして得られるコンテンツは、その電子財布が管理するべき価値が関連付けられた情報と、その電子財布が管理する価値の関連付けられた情報の一部または全てとの送信先と、のいずれか一以上を含んでいてもよい。
【0020】
これにより、例えば、第2のサーバ装置に対する第1のHTTP要求が商品などの購入の申込である場合、利用者端末にその電子財布がインストールされているかどうかを第1のサーバ装置により判断し、その結果が第2のサーバ装置に伝達されるので、第2のサーバ装置は、適切な支払命令などをコンテンツとして送信することができる。
【0021】
また、本発明の一実施形態として、利用者端末より第1のHTTP要求を受信する第1要求受信部と、受信された第1のHTTP要求に対して、その第1のHTTP要求とは別のURLへの第1のアクセス命令を返信する返信部と、返信された第1のアクセス命令に応じて利用者端末が返信として受信した第2のアクセス命令に応じて利用者端末より第2のHTTP要求を受信する第2要求受信部と、第2のHTTP要求に対する応答を行う応答部と、を有するサーバ装置が提供される。
【0022】
これにより、サーバ装置は、第1のアクセス命令の示すURLへ利用者端末をアクセスさせて、利用者端末にその別のプログラムがインストールされているかどうかを判断させた結果を第2のHTTP要求として得ることができる。
【0023】
また、その利用者端末は、第1のアクセス命令に応じて送信するHTTP要求とともに送信するクッキー情報を記憶し、返信部による第1のアクセス命令によるその別のURLへのアクセスをその利用者端末が行うと、そのクッキー情報が送信されるようになっていてもよい。
【0024】
これにより、その別のプログラムがその利用者端末にインストールされているかどうかを第1のサーバ装置は、クッキー情報によって判断することができる。
【発明の効果】
【0025】
本発明の実施形態によれば、利用者が用いる電子機器としての利用者端末に、必要なプログラムがインストールされているかどうかを、サーバ装置側が検出することができる。これにより、コンテンツのダウンロードなどを行う前に、利用者に警告を発したり、必要なプログラムのインストールを勧めたり、利用者が用いる電子機器にインストールされているプログラムが扱える情報の形式でダウンロードなどを行うことができる。
【0026】
特に電子財布については、本発明の実施形態によれば、利用者が用いる電子機器に電子財布がインストールされているかどうかを、サーバ装置側が検出することができる。これにより、決済処理を行う前に、利用者に警告を発したり、電子財布のインストールを勧めたり、インストールされている電子財布が扱える形式の情報を利用者端末に送信して決済処理を行うことができる。
【発明を実施するための最良の形態】
【0027】
以下、本発明を実施するための最良の形態について、図を参照しながら実施形態として説明を行う。なお、本発明はこれらの実施形態に何ら限定されるものではない。本発明の属する技術分野における通常の知識を利用しながらこれらの実施形態を変形して本発明を実施することも可能である。なお、以下では、サーバ装置をサーバと略記する場合がある
【0028】
(実施形態1)
図1は、本発明の実施形態1に係る電子商取引システムの概要を示す図である。電子商取引システム100においては、利用者端末102が、インターネットなどの通信網101を介して、ショップサーバ103及び確認サーバ104と通信を行う。また、必要に応じて、ショップサーバ103と確認サーバ104とが通信を行うことができるようになっていてもよい。
【0029】
利用者端末102は、商品や役務などの購入者である利用者が商取引を行うために用いる電子機器である。ショップサーバ103は、利用者端末102の利用者から商品、役務などの購入の申込を受け付け、利用者端末102との決済処理を行うための装置である。確認サーバ104は、ショップサーバ103が決済処理を行うために必要な電子財布が利用者端末102にインストールされているかどうかを確認するための装置である。なお、決済処理は、商品や役務などの対価として行われる必要はなく、利用者が他の者に価値を贈与する場合にも行われてよい。
【0030】
なお、ショップサーバ103と確認サーバ104とは同じサーバ装置として実現されていても良い。この場合には、利用者端末102にインストールされているブラウザが、そのサーバ装置のうちショップサーバ103に相当する部分と確認サーバ104に相当する部分とにアクセスするURLが異なっていればよい。例えば、URLのパスの部分が異なっていればよい。
【0031】
なお、利用者端末102と,ショップサーバ103と、確認サーバ104とのそれぞれは、例えば、計算機によって構成することが可能である。図2(a)は計算機のハードウェア構成の一例を示す。計算機200は、CPU201と、メモリ202と、二次記憶203と、入出力I/F204とを有し、それぞれが相互にバス205により接続されている。CPU201は、プログラムを構成する命令を実行する回路である。メモリ202は、CPU201によりその命令が実行されるプログラムや必要なデータを記憶する。二次記憶203はプログラムやデータを記憶する。一般的に二次記憶203は、記憶内容が不揮発に構成されており、例えば、磁気ディスクやフラッシュメモリなどにより構成される。また、二次記憶203に記憶されたプログラムやデータをCPU201が処理を行うためには、一般的には、メモリ202へコピーなどがされる必要がある。入出力I/F204は、計算機200の外部との情報の入出力を行うための部である。例えば、ディスプレイインターフェース、キーボード、インターフェース、通信インターフェースなどのいずれか一以上を含む。
【0032】
図2(b)は、CPU201によりプログラムが実行されている計算機200の状態を模式的に示す。最下層211として、図2(a)に例示したハードウェアの階層があり、その上の階層212として、例えばオペレーティングシステムという特別なソフトウェアの階層がある。オペレーティングシステムの上の階層213にてアプリケーションプログラムが動作する。例えばアプリケーションプログラムがハードウェアにアクセスを行う場合には、直接アクセスを行うことができず、オペレーティングシステムを介してアクセスを行うことになる。例えば、入出力I/F204を介してデータの入出力を行うには、アプリケーションプログラムは、システムコールを呼び出し、オペレーティングシステムにデータの入出力を依頼する。なお、上述した電子財布や、ブラウザ、ウェブサーバプログラムは、アプリケーションプログラム213として実現することが可能である。
【0033】
なお、利用者端末102と,ショップサーバ103と、確認サーバ104との全ては、計算機にアプリケーションプログラムを動作させることのみにより実現されることはなく、大規模集積回路などを用いたハードウェアにより実現することも可能である。
【0034】
(利用者端末)
図3は、利用者端末の機能ブロック図を示す。利用者端末102は、ブラウザ302と、電子財布303とがインストールされている。また、利用者端末102は、タイプ関連付部304を有する。ブラウザ302は、利用者の操作によりHTTP(HyperText Transfer Protocol)による要求を送信し、その応答を受信し、画面の表示などを行う。ブラウザ302は、一般的に閲覧ソフトウェアとして知られているものと同一または同等の機能を有するのが好ましい。なお、ブラウザ302と、電子財布303とは同時にインストールされる必要はない。
【0035】
図4は、ブラウザの機能ブロック図の一例を示す。ブラウザ302は、クッキー情報管理部401と、履歴管理部402と、ブックマーク管理部403と、操作部404と、表示部405と、送受信部406と、制御部407とを有している。
【0036】
クッキー情報管理部401は、クッキー情報の記憶、検索、読み出し、削除、変更その他の管理を行う部である。例えば、クッキー情報は二次記憶に記憶され、クッキー情報管理部401により管理がされる。クッキー情報とは、ブラウザ302が通信を行うサーバから送られた、何らかの状態を表す情報である。例えば、RFC2109に規定されている。クッキー情報は、サーバからのHTTP応答のSet−Cookieヘッダとして送られ、クッキー情報管理部401に記憶、変更がされる。また、クッキー情報は、ブラウザ302がサーバにHTTPの要求を送信する際に、クッキー情報管理部401により検索、読み出しが行われてサーバへ送信される。
【0037】
図5は、クッキー情報の構造を模式的に示す。クッキー情報は、1以上のNAME=VALUEの形式である、名前とその値の組と、expires=DATEで示される、クッキー情報の有効期限と、domain=DOMAINで示される、クッキー情報を送信するべきサーバのドメインと、path=PATHで示される、クッキー情報を送信するべきURL(Uniform Resource Locator)またはURI(Uniform Resource Identifier)のサブセットから構成される。なお、本発明では、URIをURLとして扱う。
【0038】
本実施形態では、クッキー情報管理部401には、確認サーバ104へ送信されるクッキー情報が格納されている。すなわち、クッキー情報管理部401には、クッキー情報を送信するべきサーバのドメインが、確認サーバ104のFQDN(Fully Qualified Domain Name)と一致または一部となっているクッキー情報が格納されている。例えば、確認サーバのFQDNがwww.foo.barであれば、domain=foo.barとなりpath=/となっているクッキー情報がクッキー情報管理部401に格納されている。したがって、ブラウザ302が、http://www.foo.bar/のURLにより、www.foo.barをアクセスすると、そのクッキー情報が読み出され、確認サーバに送信される。
【0039】
確認サーバ104へ送信されるクッキー情報をクッキー情報管理部401に格納する方法には種々の方法がある。例えば、電子財布303をインストールするためのプログラムをダウンロードするためのウェブサーバにブラウザ302がアクセスした場合、そのウェブサーバが、確認サーバ104へ送信されるクッキー情報を送信する。あるいは、電子財布303をインストールするためのプログラムが実行された場合、そのプログラムがクッキー情報管理部401の管理する二次記憶203の領域にアクセスを行い、確認サーバ104へ送信されるクッキー情報を格納する。あるいは、電子財布303をインストールするためのプログラムがブラウザ302を起動させ、確認サーバ104やその他の所定のサーバにアクセスをさせて、そのアクセスがされたサーバが、確認サーバ104へ送信されるクッキー情報をブラウザ302に送信する。あるいは、電子財布303を起動させると、確認サーバ104やその他の所定のサーバにアクセスが行われ、そのアクセスがされたサーバが、確認サーバ104へ送信されるクッキー情報をブラウザ302に送信する。例えば、電子財布303を起動させるとボタン表示を有する画面が表示され、そのボタンを押下すると、ブラウザ302が起動されて確認サーバ104やその他の所定のサーバにアクセスが行われるようになっていてもよい。また、電子財布303をインストールした後、ブラウザ302により所定のサーバにブラウザ302によってアクセスし、会員登録をした際に、その所定のサーバより、確認サーバ104へ送信されるクッキー情報がブラウザ302に送信されるようになっていてもよい。
【0040】
履歴管理部402は、ブラウザ400で閲覧を行ったウェブページなどの履歴を保持する部である。ブックマーク管理部403は、ブックマークの記憶、検索、読み出し、削除、変更などの管理を行う部である。操作部404は、利用者端末のキーボードやマウスなどの利用者による操作を検出する部である。表示部405は、サーバからの応答を表示などする部である。送受信部406は、サーバに対して要求を送信し、返答を受信する部である。制御部407は、クッキー情報管理部401と、履歴管理部402と、ブックマーク管理部403と、操作部404と、表示部405と、送受信部406とを制御し、ブラウザとして動作するように制御する部である。例えば、クッキー情報管理部401と、履歴管理部402と、ブックマーク管理部403と、操作部404と、表示部405と、送受信部406のそれぞれの部を構成するモジュールを統括するモジュールである。
【0041】
利用者はブラウザ302を用いてショップサーバ103などのサーバと通信を行い、ショッピングなどを行う。ショッピングなどの対価の支払の決済処理のために、本実施形態では、電子財布303が起動されて動作する。後述するタイプ関連付部304により、電子財布303の起動は、ブラウザ302により行われるようにすることができる。
【0042】
図6は、電子財布の機能ブロック図の一例を示す。電子財布500は、管理データ管理部501と、送受信部502と、制御部503とを有する。管理データ管理部501は、管理データの記憶、検索、読み出し、削除、変更その他の管理を行う部である。例えば、管理データは二次記憶に記憶され、管理データ管理部501により管理される。管理データとは、現実の貨幣などの価値が関連付けられたデータをいう。管理データと呼ばれる代わりに、電子マネーや電子バリューなどと呼ばれる場合がある。送受信部502は、決済処理のために通信を行う部である。例えば、新たに利用者が購入した管理データを受信したり、決済のために支払うべき額を含む請求データを受信したり、支払のために管理データを送信したりする。制御部503は、管理データ管理部501と送受信部502とを制御する部である。
【0043】
タイプ関連付部304は、ブラウザ302が扱うコンテンツの種類(タイプ)を保持する部である。本実施形態では特に、ブラウザ302が他のアプリケーションプログラムにコンテンツの処理を依頼するために、アプリケーションプログラムをその種類と関連付けて保持する部である。
【0044】
図7は、タイプ関連付部304を実現するために、コンテンツのタイプとアプリケーションプログラムとを関連付ける表である。コンテンツのタイプは例えば、MIME(Multipurpose Internet Mail Extensions)のタイプにより表され、text/plainというタイプにはテキストエディタが関連付けられ、imange/pngというタイプにはイメージビュアーが関連付けられている。また、タイプ関連付部304は、ファイルの拡張子とアプリケーションプログラムが関連付けられるようになっていてもよい。このような関連付けは、例えば、二次記憶に記憶され、オペレーティングシステムなどにより管理される。
【0045】
本実施形態では、タイプ関連付部304により、決済処理のためにショップサーバ103から送信される請求データのコンテンツのタイプに電子財布が関連付けられる。
【0046】
図8は、本実施形態における利用者端末の動作を説明するフローチャートの一例を示す。このフローチャートの処理を実行する前に、利用者端末の利用者は、ブラウザなどを用いてショッピングなどを行い、購入などをする商品などを決定する。その決定された商品などに対する対価を支払う際に、図8のフローチャートの処理が実行される。
【0047】
ステップS801の処理として、利用者端末102のブラウザ302が、ショップサーバ103へ注文データなどをHTTP要求として送信する。注文データは、商品などの注文を確定し、商品などの対価の支払処理をショップサーバ103に開始させるデータである。例えば、注文データは、HTTPのPOSTコマンドとして表現され、商品番号と商品の個数、商品の配送先を含むデータであってもよい。また、注文データのかわりに、商品や役務の提供を行うウェブページの要求が送信されてもよい。
【0048】
ステップS802の処理としては、ステップS801で送信されたHTTP要求に対して返信されるアクセス命令を受信する。このアクセス命令は、ショップサーバ103から返信される。このアクセス命令は、ブラウザ302に対して、確認サーバ104へアクセスを行うことを要求する。
【0049】
アクセス命令は、HTTP要求に対する応答として、例えば、<meta http−equiv=”refresh” content=”0;url=確認サーバのURL”>により表すことができる。ここでの「確認サーバのURL」には、ステップS801で送信されたHTTP要求を、ショップサーバ103にて一意に識別できる情報が含まれるようになっていてもよい。例えば、ショップサーバ103は、注文データを受信すると、注文データに対して連番を付与し、その連番と注文データとを関連付けて二次記憶などに格納し、連番を含む確認サーバのURLを返信する。その連番は、例えば、URLにパラメータとして含ませることができる。また、そのURLには、ショップサーバ103のFQDNなどのショップサーバ103を識別する識別情報を含ませる。なお、「0;」は待ち時間なしで直ちに「確認サーバのURL」にアクセスすることを意味している。「0;」の代わりに必要に応じて任意の時間を指定することができる。
【0050】
また、アクセス命令は、ショップサーバ103が、RFC2616の10.3節に規定されている300番台のステータスコードとともに応答する返信によっても実現できる。例えば、301のステータスコードや302のステータスコードとともにアクセスするべきURLを返信することによって、ブラウザ302を、確認サーバ104へアクセスさせるようにすることができる。
【0051】
なお、本発明の明細書、請求の範囲、図面においては、アクセス命令をRFC2616に倣い、リダイレクト命令と呼ぶ場合がある。
【0052】
ステップS803の処理として、ステップS802にて受信したリダイレクト命令に従って、確認サーバへHTTP要求を送信する。例えば、ステップS802にて<meta http−equiv=”refresh” content=”0;url=確認サーバのURL”>が受信された場合には「確認サーバのURL」を用いて確認サーバ104にアクセスが行われる。また、確認サーバへHTTP要求が送信される際には、クッキー情報管理部401で管理されているクッキー情報のうち、確認サーバへ送信されるクッキー情報も送信される。
【0053】
ステップS803にて送信されたHTTP要求を受信した確認サーバ104は、そのHTTP要求とともにクッキー情報を受信したことを確認する。また、必要ならば、クッキー情報に含まれるNAME=VALUEを確認する。クッキー情報管理部401が格納している、確認サーバへ送信されるクッキー情報の定義により、このようにクッキー情報などを確認することは、利用者端末102に電子財布303がインストールされていることが確認されたことを意味する。確認ができれば、確認サーバ104は、ショップサーバ103へのリダイレクト命令を返信する。このとき確認サーバは、利用者端末102から送信されたHTTP要求に含まれる確認サーバの識別情報を用いてショップサーバのFQDNを生成などしてリダイレクト命令に含める。
【0054】
また、このリダイレクト命令によりブラウザ302がアクセスするURLに、確認サーバへ送信されるクッキー情報が確認されたかどうかを「&」で区切られるパラメータとして含めるようになっていてもよい。例えば、確認サーバへ送信されるクッキー情報が確認された場合には、そのURLに「&ewallet=1」が含められ、確認されない場合には、「&ewallet=0」が含められるようになっていてもよい。
【0055】
また、ショップサーバの二次記憶に格納された注文データの連番などが、そのHTTP要求に含まれていれば、その連番などをリダイレクト命令に含まれるショップサーバ103へのURLに含ませる。その連番などはそのURLのパラメータとして含ませることができる。また、そのURLには、確認サーバ104が、利用者端末102に電子財布303がインストールされていることを確認した旨の情報が含まれるようになっていてもよい。例えば、確認サーバ104による連番などの署名データが含まれるようになっていてもよい。署名データそのものが含まれる必要はなく、確認サーバ104が、連番などの署名データに識別子を付与して、ショップサーバ103よりアクセス可能にその識別子に署名データを関連付けて格納し、その識別子をそのURLに含ませてもよい。
【0056】
また、ステップS803にて送信されたHTTP要求を受信した確認サーバ104は、クッキー情報に含まれるNAME=VALUEの組から、どのような種類の電子財布が利用者端末102にインストールされているかを判断し、その種類を、そのURLに含ませてもよい。
【0057】
また、確認サーバ104が、クッキー情報を確認できなければ、電子財布303をインストールするためのウェブページへのリダイレクト命令を返信する。電子財布303をインストールするためのウェブページには、例えば、電子財布303をダウンロードするためのリンク情報が含まれている。あるいは、そのウェブページには、電子財布303のインストールの方法が記載されている。
【0058】
ステップS804の処理として、上述したように確認サーバ104から送信されたリダイレクト命令を受信する。このリダイレクト命令が受信されたということは、上述したように、確認サーバ104が、利用者端末102に電子財布303がインストールされていることの確認の結果が受信されたことを意味する。
【0059】
ステップS805の処理として、ステップS804にて受信されたリダイレクト命令に応じて、ショップサーバ103へHTTP要求を送信する。このHTTP要求がショップサーバ103にて受信されることで、ショップサーバ103は、利用者端末102に電子財布303がインストールされていることを確認できる。したがって、ショップサーバ103は、電子財布303が扱えるコンテンツの種類のデータとして支払を請求する請求データを送信する。また、ショップサーバ103が受信したHTTPサーバに電子財布の種類が含まれていれば、請求データを表すための適切なコンテンツの選択を行って、請求データを生成して、送信することもできる。
【0060】
なお、ステップS805の後、ショップサーバ103から返信される情報は、請求データではなく、商品や役務の申込を行うためのウェブページの記述であってもよい。そして、このウェブページには、スクリプト言語や利用者端末102にインストールされている仮想マシンで実行するコードあるいは利用者端末102のネイティブコードなどで記述されたプログラムが含まれていてもよい。
【0061】
そのプログラムは、まず、ブラウザ302がステップS805でのHTTP要求によりアクセスしたURLのパラメータ部分を取得する。このURLのパラメータ部分は、ブラウザ302が、HTTP要求を行ったときに、利用者端末102のメモリに記憶したURLのパラメータ部分として得られる。例えば、ある種のスクリプト言語では、localtion.search属性を参照することにより、メモリより読み出すことが可能である。そして、そのプログラムは、URLに含まれるパラメータの値を変数(あるいはレジスタ)に代入する。例えば、上述のように、確認サーバへ送信されるクッキー情報が確認されたかどうかが、確認サーバより受信されるリダイレクト命令によるアクセスするべきショップサーバへのURLに「&ewallet=1」が含められるか、「&ewallet=0」が含められるかで表される場合には、1あるいは0をその変数に代入する。なお、「&ewallet=1」も「&ewallet=0」も含められていなければ、その変数には0が代入されるとする。
【0062】
そして、そのプログラムは、その変数の値を0または1と比較して、1と等しければ、商品や役務の種類などの選択、数量などの入力結果をショップサーバに送信するためのボタンなどを利用者端末102の画面に表示する。また、1と等しくなければ、電子財布をインストールするためのリンクを表示などする。
【0063】
例えば、商品や役務の種類などの選択、数量などの入力結果をショップサーバに送信するためのボタンが押下されると、商品や役務の種類などの選択、数量などの入力結果がショップサーバ103に送信され、その返信として、請求データがブラウザ302により受信される。
【0064】
ステップS806の処理として、ショップサーバ103より、請求データを受信する。
【0065】
この請求データをブラウザ302が受信すると、コンテンツのタイプを参照し、そのコンテンツのタイプに電子財布303が関連付けられているので、ステップS804の処理として、電子財布303を起動し、請求データを電子財布303への入力などとして、読み込ませて処理をさせる。
【0066】
なお、請求データには、利用者が支払うべき金額や利用者が履行するべき債権・債務に関する情報が含まれていてもよい。また、金額の支払先や債権・債務の相手方の情報が請求データに含まれていてもよい。例えば、管理データの送信先が請求データに含まれていてもよい。電子財布303は、電子財布303に設定された情報や請求データに含まれる情報から決済を行うための通信先を取得して、その通信先と通信を行い、決済などを行う。
【0067】
(ショップサーバ)
図9は、ショップサーバの機能ブロック図の一例を示す。ショップサーバ103は、注文データ受信部901と、受注管理部02と、URL転送部903と、請求データ発行部904とを有する。
【0068】
注文データ受信部901(第1要求受信部)は、注文データを受信する。注文データは、上述したように利用者端末102より、HTTP要求の形式にて送信される。注文データ受信部901は、注文データを受信すると、その注文データより、商品番号と商品の個数など、支払われるべき金額を計算するために必要な情報である受注情報を抽出する。また、必要に応じて、商品などの配送先を抽出する。
【0069】
受注管理部902は、受注を管理する。すなわち、注文データが注文データ受信部901により受信され、受注情報が抽出されると、まず、それを格納する。このとき、受注管理部902は、受注情報を一意に識別するための連番などを受注情報に付与する。付与された連番などは、URL転送部903に伝達されるようになっていてもよい。また、受注管理部902は、連番などが請求データ発行部904により指定されると、その連番などが付与された受注情報を読み出して返答する。
【0070】
URL転送部903(返信部)は、注文データ受信部901により注文データが受信され、受注情報が抽出されて受注管理部902に格納されると、注文データを送信した利用者端末102に対して、確認サーバ104へのリダイレクト命令を返信する。このリダイレクト命令には、受注管理部902によって付与された連番などが含まれていてもよい。
【0071】
なお、確認サーバ104へのリダイレクト命令により、利用者端末102がHTTP要求を送信するためのURLは、例えば、ショップサーバ103がアクセスされたパスに応じて対応関係が定められていてもよい。図10は、この対応関係を定めるためのテーブルの一例を示す。例えば、/shop123が利用者端末102からのHTTP要求によりアクセスされた場合には、URL転送部903は、リダイレクト命令に、www.foo.barの/conf342をアクセスするためのURLを含める。また、このURLに、受注管理部902によって付与された連番などがパラメータとして付加されるようになっていてもよい。また、/download234が利用者端末102からのHTTP要求によりアクセスされた場合には、URL転送部903は、リダイレクト命令に、www.baz.quxの/kakunin579をアクセスするためのURLを含める。これにより、ショップサーバ103が複数の店舗により共有されている場合、店舗ごとに扱う管理データが異なり、決済に用いる電子財布の種類が異なる場合に対応できる。
【0072】
請求データ発行部904(第2要求受信部及び応答部)は、URL転送部903により返信されたリダイレクト命令に基づいて、利用者端末102から返信されるHTTP要求を受信すると、受注管理部902より受注情報を読み出して、請求データを生成して返信する。すなわち、URL転送部903により返信されたリダイレクト命令に従って、利用者端末102は、(1)確認サーバへHTTP要求を送信し、(2)その返信として受信されるリダイレクト命令に従って、ショップサーバ103に対してHTTP要求を再度送信した場合に、受注管理部902より受注情報を読み出して、請求データを生成して返信する。読み出す受注情報は、例えば、利用者端末102より再度送信されたHTTP要求に含まれる連番などを用いて特定されるようになっていてもよい。また、利用者端末102より再度送信されたHTTP要求に電子財布の種類が含まれていれば、請求データを表すための適切なコンテンツの選択を行って請求データを生成する。
【0073】
図11と図12は、ショップサーバ103における処理を説明するフローチャートである。
【0074】
図11は、利用者端末102における処理のうち図8のステップS801からS802までの処理に対応してショップサーバ103で行われる処理のフローチャートである。ステップS1101の処理として、利用者端末102より、注文データをHTTP要求として受信する。そして、注文データ受信部901は、受注データを抽出する。
【0075】
ステップS1102の処理として、ステップS1101において抽出された受注情報が受注管理部902により格納される。
【0076】
ステップS1103の処理として、URL転送部903により、確認サーバ104へのリダイレクト命令を、HTTP応答して返信する。
【0077】
図12は、利用者端末102における処理のうち図8のステップS804からS806までの処理に対応してショップサーバ103で行われる処理のフローチャートである。ステップS1201の処理として、確認サーバ104からのリダイレクト命令により利用者端末102のブラウザ302から送信されたHTTP要求を受信する。ステップS1202の処理として、請求データ発行部904により、対応する受注情報を読み出す。対応する受注情報とは、ステップS1201においてHTTP要求が受信される原因となった、確認サーバへのリダイレクト命令が送信されるトリガーとして受信された受注情報である。対応する受注情報は、ステップS1201で受信されたHTTP要求に含まれる連番などで特定することができる。ステップS1203の処理として、ステップS1202で読み出された受注情報に応じて請求データを生成して、利用者端末102へ送信する。
【0078】
(確認サーバ)
図13は、確認サーバ104で行われる処理を説明するフローチャートである。確認サーバ104は、HTTP要求を受信し、特定のパスがアクセスされた場合に、図13の処理を行うウェブサーバとして構成される。例えば、確認サーバ104は、計算機にウェブサーバプログラムを動作させて実現される。
【0079】
ステップS1301の処理において、ショップサーバ103から送信されたリダイレクト命令により利用者端末102のブラウザ302から送信されたHTTP要求を受信する。ステップS1302の処理においては、ステップS1301においてHTTP要求とともにクッキー情報が受信されたかどうか、また、そのクッキー情報の内容を確認する。確認がされれば、ステップS1303の処理において、ブラウザ302をショップサーバ103へリダイレクトさせる命令をHTTP応答として返信する。上述したようにこのHTTP応答には、ステップS1301で受信されたHTTP要求に含まれる連番などを含ませる。また、HTTP要求とともに受信されたクッキー情報から電子財布の種類が決定される場合には、その種類をそのHTTP応答に含ませてもよい。
【0080】
もし、利用者端末102のブラウザ302から送信されたHTTP要求とともにクッキー情報が受信されなかったことが確認されていなかったり、クッキー情報の内容が正しいものとして確認できなかったりすれば、確認サーバ104は、エラーを返信してもよい。また、エラーの代わりに、電子財布のインストールを勧める内容のHTML(HyperText Markup Language)情報を返信してもよい。また、上述したように、クッキー情報の内容が正しいものとして確認できたかどうかを、HTTP応答に含めてもよい。例えば、確認ができた場合には、HTTP応答に含められるショップサーバ103へリダイレクトさせる命令のURLにパラメータとして「&ewallet=1」を含め、そうでなければ「&ewallet=0」を含める。
【0081】
(全体の流れ)
図14は、電子商取引システム100の全体の処理を説明するシーケンス図である。ステップS1401の処理として、注文データが利用者端末102のブラウザ302からショップサーバ103へ送信される。これは、図8におけるステップS801、図11におけるステップS1101に相当する。ステップS1402の処理として、ショップサーバ103から確認サーバ104へのリダイレクト命令が送信される。これは、図11におけるステップS1103、図8におけるステップS802に相当する。ステップS1403の処理として、利用者端末102のブラウザ302から、HTTP要求とクッキー情報が確認サーバに送信される。これは、図8におけるS803、図13におけるS1301に相当する。ステップS1404の処理として、確認サーバ104は、ショップサーバ103へのリダイレクト命令を返信する。これは、図13におけるS1303、図8におけるS804に相当する。ステップS1405の処理として、利用者端末102のブラウザ302からHTTP要求がショップサーバ103へ送信される。これは、図8のS805と、図12のS1201に相当する。ステップS1406の処理として、ショップサーバから請求データが返信される。これは、図12におけるステップS1203、ステップS806に相当する。ステップS1407の処理として、利用者端末102のブラウザ302は、電子財布303を起動し、請求データを処理させる。これは、図8のステップS807に相当する。
【0082】
ステップS1407以降は、電子財布303により処理がされる。例えば、請求データにより請求された金額の支払の決済処理が行われる。
【0083】
(主な効果)
本実施形態においては、利用者端末に電子財布がインストールされていることを、確認サーバに対するHTTP要求とともに送信されるクッキー情報によって表すことにより、ショップサーバが利用者端末に電子財布がインストールされていることを確認することができる。
【0084】
また、利用者端末において請求データのコンテンツのタイプと電子財布とが関連付けられていることにより、請求データに応じて決済処理を行う際には、自動的に電子財布が起動することになるので、利用者端末の利用者は簡便に電子決済を行うことができる。例えば、従来のように銀行振込のために銀行のホームページにアクセスをして口座番号、振込金額を入力する手間よりも少ない手間で決済を行うことができる。
【0085】
上述の実施形態においては、注文データをショップサーバが受信する際に、利用者端末に電子財布がインストールされていることを確認することを主に説明した。しかし、本発明はこれに限定されるものではなく、利用者がショッピングのためのホームページをアクセスする際に、利用者端末に電子財布がインストールされていることを確認することも可能である。
【0086】
上述の実施形態においては、電子財布をプログラムの例とし、請求データをコンテンツの例として扱ったが、本発明は、電子財布、請求データに限定されるものではない。
【0087】
例えば、上述の実施形態において、利用者端末にインストールされているプログラムごとに、確認サーバへ送信されるクッキー情報をクッキー情報管理部401に格納しておく。そして、ステップS1401にて、注文データのかわりに、ブラウザからショップサーバというサーバに対して、音楽情報、動画情報、文書情報などの種々のコンテンツのダウンロードの要求が送信されてもよい。すると、ステップS1403にて、ブラウザから確認サーバへ利用者端末にインストールされているプログラムを表すクッキー情報が送信され、ステップS1404にて、確認サーバからブラウザに返信されるリダイレクト命令のURLに、利用者端末にインストールされているプログラムをパラメータなどして含めることができる。すると、ステップS1405にて、ショップサーバは、利用者端末にインストールされているプログラムを知ることができ、ステップS1406において、請求データのかわりに、ショップサーバというサーバは、利用者端末にインストールされているプログラムが扱える形式の情報を送信することができる。
【0088】
(実施形態2)
本発明の実施形態2として、電子財布による処理などについて詳細に説明を行う。
【0089】
まず、管理サーバについて説明を行う。本実施形態において、管理サーバとは、電子的な価値情報の譲渡処理を主に行うサーバ装置である。管理サーバが行うその他の処理としては、管理サーバとして必須の処理ではないが、電子的な価値情報の発行処理、発行した電子マネー等に関連付けられた価値を貨幣などとして払い戻す処理などがある。
【0090】
図15は、本発明の一実施形態に係る管理サーバの機能ブロック図を例示する。管理サーバ1500は、データベース部1501と、発行要求受信部1502と、生成部1503と、生成管理データ送信部1504と、管理データ受信部1505と、置換部1506と、置換管理データ送信部1507とを有する。なお、管理サーバ1500の実現の一態様としては、上述したように計算機を用いることができる。
【0091】
データベース部1501は、電子的な価値情報と価値との関連付けを管理する。また、照合用データと関連付けることができる他の情報としては、例えば、その照合用データを含む管理データの譲渡が行われた回数(譲渡回数)、その照合用データを含む管理データが、どの利用者やどの利用者の端末装置などに対して発行されたかを示す利用者や端末装置などの識別情報などが挙げられ、これらは必要に応じてデータベース部1501に格納されてもよい。
【0092】
本発明の一実施形態においては、図16(a)に示すように、照合用データが格納される列と価値の情報が格納される列とを有し、照合用データと価値の情報とを関連付けるテーブルを用意する。このテーブルは、関係データベースシステムなどの表データとしてデータベース部1501によって管理される。なお、価値の情報を単に「価値情報」という場合がある。
【0093】
照合用データは、充分に長いビット長の乱数として生成されるデータである。「充分に長い」とは、発行される管理データの中で同じ照合用データを有するものが存在しない、あるいは、実質的に存在しないことを意味する。例えば、128ビット、512ビット、1024ビット、2048ビットなど設計上などの必要に応じて任意の長さを決めることができる。
【0094】
価値情報は、照合用データを含む管理データが表すことになる価値の内容などを示す。具体的な例としては、貨幣により表される価値を示す。この場合、価値の単位は、円、ドル、ユーロ、元などである。また、価値の情報は、貨幣と同等の価値を有する有価証券の証券番号、貴金属の量や保管の番号などであってもよい。
【0095】
発行要求受信部1502は、管理データ発行要求1508を受信する。管理データ発行要求1508は、なんらかの価値が管理サーバやその運営者などに移転されたことあるいは移転されることを示す情報である。このため、管理データ発行要求1508は、管理サーバ1500の運営者の支配する領域の内部で生成されたり、運営者と特別な関係(例えば親会社子会社の関係や特別な契約関係)にある者から送信されたりするのが好ましい。
【0096】
図16(b)は、管理データ発行要求の具体的な例を示す。この例では、XML(eXtensible Markup Language)による表現がされている。管理データ発行要求はXML以外にも種々の表現形式があるが、以下では、XMLを例にして説明を行う。図16(b)では、<価値>と</価値>とで囲まれている1000円が、発行される管理データが表すべき価値となっている。発行要求受信部1502が、このような管理データ発行要求を受信する際には、管理データ発行要求の送信者の認証を行い、受信した管理データ発行要求をメモリに展開して正しい構文であるかどうかの確認を行い、<価値>と</価値>とで囲まれている部分を特定して、次に説明する生成部1503に伝達する。伝達は、例えば、生成部1503を実現するソフトウェアモジュールなどの関数の引数に<価値>と</価値>とで囲まれている部分のメモリアドレスを価値の情報として引数に指定するなどしてその関数を呼び出すことで行われる。
【0097】
なお、管理データ発行要求には、照合用データと関連付けることができる他の情報が必要に応じて含まれていてもよい。
【0098】
生成部1503は、照合用データを準備し、準備された照合用データと発行要求受信部1502から伝達された価値の情報とを、データベース部1501で管理される図16(a)のテーブルに行データとして挿入する。「照合用データを準備する」とは、乱数を生成してその乱数を照合用データとすること、又は、予め生成しておいた乱数のリストなどから乱数を選択して照合用データとすることをいう。挿入が完了すると、生成部1503は、生成管理データ送信部1504へ、照合用データを伝達する。なお価値の情報も伝達されてもよい。
【0099】
図16(c)は、照合用データとして"135711"が準備されて、"135711"と1000円とを図16(a)に示されるテーブルに挿入した直後の状態を示している。挿入が行われると、"135711"という照合用データが生成管理データ送信部1504へ伝達される。
【0100】
生成管理データ送信部1504は、生成部1503から伝達された照合用データから管理データ1509を生成して送信する。管理データ1509の送信先は、管理データ発行要求1508を送信した装置であることが主に想定される。もし、管理データ発行要求1508に、管理データ1509の送信先が、電子メールアドレスやIPアドレスなどによって指定されていれば、その送信先へ管理データ1509が送信される。送信は暗号化されて行われてもよい。
【0101】
図16(d)は、生成管理データ送信部1504で生成され送信される管理データの一例を示す。生成部1503から照合用データとして"135711"が伝達されたとすれば、"<管理データ><照合用データ>135711</照合用データ></管理データ>"という管理データが生成され、インターネットなどのネットワークなどに送信される。なお管理データには、照合用データ以外のデータが含まれていてもよい。例えば、照合用データがどれだけの価値、例えばいくらの貨幣価値、に関連付けられているかを示す情報が含まれていてもよい。例えば、管理データが"<管理データ><照合用データ>135711</照合用データ><価値>1000円</価値></管理データ>"のように貨幣価値などを含むようになっていてもよい。また、照合用データと関連付けることができる他の情報が含まれていてもよい。また、譲渡回数が管理データに含まれる場合には、0などの初期値にリセットが行われて送信がされる。さらに、管理データが管理サーバ1500により生成されたことを検証できるようにするために、照合用データなどに対する管理サーバ1500による署名データが含まれていてもよい。
【0102】
なお、価値として、貨幣価値のように可分な価値が用いられる場合には、管理データが表す価値に上限を設けてもよい。例えば、一つの管理データは、5000円までの貨幣価値を表すことにする。そして、5000円以上の価値を表す管理データは、複数の管理データを組み合わせることによって表す。このように管理データが表す価値に上限を設けることにより、管理データを紛失したときに生じる損失が大きくならないようにすることができる。
【0103】
管理データが表す価値に上限を設ける場合には、管理データ発行要求がその上限を越える価値の管理データを発行することを表している場合には、上限以下の価値を表す管理データを複数発行する。このため、図16(a)などに示すテーブルに複数の行データが挿入される。
【0104】
図17は、データベース部1501、発行要求受信部1502、生成部1503、生成管理データ送信部1504による処理の流れを説明するフローチャートを例示する。このフローチャートが例示する処理は、ハードウェアを制御可能なソフトウェアによる情報処理として実行可能である。
【0105】
ステップS1701の処理として、発行要求受信部1502により管理データ発行要求を受信する。例えば、ハードウェアとしてのネットワークアダプタがデータを受信し割り込みが発生すると、割り込みハンドラが呼ばれて、データを読取り、読取りデータキューに入れる。そして、発行要求受信部1502を実現するモジュールなどが発行していたREADシステムコールなどから処理が戻り、読取りデータキューに入れられたデータを管理データ発行要求としてメモリに展開する。
【0106】
ステップS1702の処理として、発行要求受信部1502は、メモリに展開された管理データ発行要求から価値の情報のアドレスを特定などすることにより、価値の情報を取得する。取得された価値の情報は生成部1503へ伝達される。
【0107】
ステップS1703の処理として、生成部1503が照合用データを準備する。そしてステップS1704の処理として、生成部1503は、準備した照合用データと伝達された価値の情報を関連付けてテーブルに挿入して格納する。照合用データは生成管理データ送信部1504へ伝達される。
【0108】
ステップS1705の処理として、生成管理データ送信部1504は、伝達された照合用データから管理データを生成する。そして、ステップS1706の処理として、WRITEシステムコールなどを発行することにより、生成された管理データを送信する。WRITEシステムコールなどの発行により、管理データが送信データキューに格納され、ネットワークアダプタがデータを送信可能な状態になると、割り込みが発生し、割り込みハンドラにより、送信データキューのデータが読み出されて、ネットワークなどに送信される。
【0109】
このようにして送信された管理データは、専用のICカードなどに限らず、通常のパーソナルコンピュータ、PDA(Personal Digital Assistant)や携帯電話などのメモリに格納することができる。また、フレキシブルディスク、光ディスク、不揮発性の半導体メモリなどの着脱可能な一般的な記憶媒体に記録することができる。そして、その記憶媒体を譲渡することにより、その記憶媒体に格納されている管理データが表す価値の譲渡を行うことができる。ただし、二重の譲渡を防止するために以下に説明するようにして譲渡するのが望ましい。
【0110】
管理データ受信部1505は、譲渡の対象などとなる管理データ1510を受信する。受信された管理データ1510は、管理サーバ1500のメモリに展開される。そして、管理データ1510に署名データなどが含まれていれば、その署名データが正しいかどうかを判断してもよい。
【0111】
置換部1506は、管理データ受信部1505で受信された管理データから照合用データを取得し、まず、その照合用データがデータベース部1501で管理されているテーブルに格納されているかどうかを判断する。例えば、図16(c)に示されるテーブルの照合用データの列に格納されているかどうかを判断する。もし、その照合用データが格納されていなければ、管理データ1510の送信者などに、無効な照合用データを含む管理データが送信された旨を返信などする。反対に、その照合用データがデータベース部1501で管理されているテーブルに格納されていれば、有効な照合用データを含む管理データであると判断する。有効な照合用データを含めば、新たな照合用データを準備し、この照合用データにより、管理データ1510に含まれる照合用データとデータベース部1501で管理されているテーブルに格納されている照合用データを置き換える。これにより、価値の情報に新たな照合用データが関連付けされる。
【0112】
また、照合用データと関連付けられている他の情報があれば、その情報を用いてさらにチェックを行ってもよい。例えば、識別情報が照合用データと関連付けられていれば、管理データを管理データ受信部1505に受信させた利用者や端末装置の識別情報を取得し、比較を行う。比較の結果がOKでなければ、無効である旨の返信などを行う。比較の結果がOKであれば、照合用データと関連付けられている識別情報と管理データに含まれている識別情報を、次に説明する置換管理データ送信部1507による管理データの送信先となる利用者や端末装置の識別情報に書き換える。
【0113】
管理データに譲渡回数が含まれている場合には、譲渡回数を更新する。また、更新前の譲渡回数が初期値を示していれば、置き換え前の照合用データがデータベース部1501で管理されているテーブルに格納されているかどうかに加えて、照合用データと関連付けられている他の情報を用いたチェックを行ってもよい。例えば、その管理データを発行した際に受信された管理データ発行要求が存在するかどうかを管理サーバのログによりチェックを行ったり、実際に銀行などから金銭の振り込みが実際に行われたかどうかを銀行などのサーバ装置に問い合せたりしてもよい。もちろん、このようなチェックや問い合わせの処理は、管理データが管理サーバ1500に受信されるたびに行ってもよい。しかし、一般には、このようなチェックや問い合せの処理には時間が要する。そこで、このようなチェックや問い合せの処理の実行は、更新前の譲渡回数が初期値を示していたり、所定の値以下であったり、所定の値以上である場合に行うことに限ることで、処理の時間を短縮することが可能となる。また、異なるサーバに格納されたデータと照合を行うことにより、管理データの不正な作出などを検出することができる。
【0114】
置換管理データ送信部1507は、置換部1506により、新たに準備された照合用データによりその照合用データが置換された管理データ1511を送信する。管理データ1511の送信は、管理データ1510の送信元に対して行ってもよい。あるいは管理データ1510の受信とともに送信先を示す情報が受信されたり、あるいは、管理データ1510の中に送信先を示す情報が含まれていたりすれば、その送信先へ管理データ1511を送信するようになっていてもよい。
【0115】
例えば、データベース部1501で管理されているテーブルに、図18(a)に示すように、照合用データとして"1317192"が995円という価値の情報と関連付けられて格納されているとする。この状態で、管理データ110として、図18(b)に示すような照合用データとして"1317192"を含む管理データ1510が管理データ受信部1505により受信されたとする。すると、管理データ1510に含まれる照合用データ"1317192"は、図18(a)のテーブルに格納されているので、管理データ1510は有効な照合用データを含む管理データであると判断される。そこで、置換部は、新たな照合用データとして、例えば"1491625"を準備する。そして、この照合用データにより、図18(a)に示すテーブルの照合用データ"1317192"と図18(b)に示す管理データに含まれる照合用データ"1317192"とを置き換える。この結果、図18(a)に示すテーブルは図18(c)に示すようになり、図18(b)に示す管理データ110は図18(d)に示すようになる。この結果、図18(d)に示す管理データが管理データ1511として送信される。
【0116】
なお、照合用データを置き換える際に、照合用データに関連付けられている価値情報の表す金額などのうち一定の額や一定の割合を控除するようにしてもよい。このように控除を行うことにより、管理サーバの運営者が管理サーバの運営などのための費用を得ることが可能となる。
【0117】
なお、図18(a)に示すテーブルの照合用データの書き換えは、照合用データの列に格納されているデータに対する更新操作として実行してもよい。あるいは、書き換えの対象となる照合用データ(上の例での"1317192")に関連付けられている価値の情報などを読出して一時的に記憶し、書き換えの対象となる照合用データを含む行を削除し、新たに準備された照合用データ(上の例での"1491625")と一時的に記憶した価値の情報などを新たな行のデータとして格納されるようにテーブルに対するデータの挿入の操作として実行してもよい。また、更新操作として実行するのではなく、照合用データが削除されたことを示す列(削除フラグ)をテーブルに備えておき、書き換えの対象となる照合用データを格納する行の削除フラグの値を、その行が削除されたことを示す値に更新するとともに、準備された照合用データを含む行を新たにテーブルに挿入してもよい。また、テーブルに挿入される行には、書き換え前の照合用データが格納されていてもよい。これにより、不正などが発覚した場合に、書き換えの履歴をさかのぼることができる。
【0118】
また、管理データの照合用データの書き換えは、その文言通り、メモリに展開されている管理データの部分のうち照合用データの部分を書き換えて実行してもよい。あるいは、新たに準備された照合用データを含む管理データを新たに生成してもよい。
【0119】
図18(d)に示す管理データが置換管理データ送信部1507により送信された後、再度、図18(b)に示す管理データが管理データ受信部1505で受信されても、それに含まれる照合用データ1317192は、図18(c)に示すテーブルに格納されていない(あるいは、削除フラグの列がテーブルに備わっている場合には、削除フラグの値が削除されたことを示す値になっている)。したがって、無効な照合用データを含む管理データと判断される。これにより管理データの二重使用を防止できる。
【0120】
図19は、データベース部1501、管理データ受信部1505、置換部1506、置換管理データ送信部1507における処理の流れを説明するフローチャートを例示する。このフローチャートが例示する処理は、ソフトウェアによる情報処理として実現可能である(他の図面のフローチャート、シーケンス図により例示される処理も同様である。)。
【0121】
ステップS1901の処理として、管理データ受信部1505により、管理データ1510が受信される。その後、管理データ1510がメモリに展開などされる。そして、ステップS1902の処理として、置換部1506により、メモリに展開された管理データ1510より照合用データが取得される。取得された照合用データが、ステップS1903の処理において、価値の情報と関連付けてデータベース部1501に格納されていることを確認する。もし、格納されていなければ、管理データ1510に無効な照合用データが含まれている旨のエラーの返信などをする。
【0122】
ステップS1904の処理として、新しい照合用データを準備する。そしてステップS1905の処理として、管理データ1510の照合用データを新しい照合用データに置き換える。「管理データ1510の照合用データ」とは、メモリに展開された管理データ1510に含まれる照合用データのみならず、ステップS1903において価値のデータと関連付けて格納されている照合用データをも意味する。最後にステップS1906の処理として、照合用データを書き換えられて得られる管理データ1511を置換管理データ送信部1507により送信する。
【0123】
このように、乱数として発生された照合用データに価値を関連付け、管理データが通過するたびにその照合用データを置き換えることにより、管理サーバから送信される管理データの照合用データの予測がつかないようにすることができる。この結果、異なる照合用データに同じ価値が関連付けられることを防止でき、また、管理データの二重使用等を防止することができる。
【0124】
(保管サーバ)
次に、保管データについて説明を行う。上述した管理サーバを用いることにより、乱数として発生された照合用データを含む管理データが発行され、有効な照合用データを含む管理データを送信し返信される管理データを受信することにより照合用データが書き換えられる。これにより、管理データの二重使用を防止することができる。以下では、さらに管理データの譲渡等を、匿名性を保ちながら行うために管理サーバの機能を拡張するためなどに用いられる保管サーバについて説明を行う。
【0125】
図20は、管理サーバ2001と、決済サーバ2002と、保管サーバ2003と、利用者端末2004とからなるシステム2000の構成を示す。管理サーバ2001と、決済サーバ2002と、保管サーバ2003と、利用者端末2004とは、通信アダプタなどのハードウェアを用いて通信が可能となっている。システム2000においては、利用者端末2004の利用者が、管理サーバ2001で発行される管理データを得るために、利用者端末2004と決済サーバ2002との間で決済の処理を行う。例えば、決済サーバ2002が銀行の振り込みを処理するサーバとなっており、利用者が管理サーバ2001の運営者などの銀行口座に振り込みを行うことにより決済の処理が行われる。そして決済の処理が行われたことを示す結果が管理データ発行要求として決済サーバ2002から管理サーバ2001に送信されると、管理データが管理サーバ2001に返信される。その後、管理データは決済サーバ2002から保管サーバ2003を経由して利用者端末2004へ譲渡される。利用者端末2004には電子財布がインストールされており、管理データは、電子財布により管理されることになる。保管サーバ2003は、管理データを決済サーバ2002から受信すると、管理データの二重使用を防止するために、新たな照合用データに置き換えるために、管理サーバ2001に管理データを送信し、照合用データが置き換えられた管理データを受信し保管する。その後、保管サーバ2003は、利用者端末2004から管理データの要求があれば、保管されている管理データを送信する。
【0126】
もちろん、保管サーバ2003が決済サーバ2002を認証などして信頼できるのであれば、保管サーバ2003は決済サーバ2002から受信した管理データを管理サーバ2001に送信する必要はない。しかし、もし保管サーバ2003に送信された管理データが決済サーバ2002内に消去されずに残り、決済サーバ2002が不正な侵入などされてしまうと、不正に決済サーバ2002にアクセスを行った者が管理データを入手してしまう可能性があるので、保管サーバ2003は決済サーバ2002から受信した管理データを管理サーバ2001に送信するのが好ましいと言える。
【0127】
図21は、システム2000における決済処理から管理データの利用者への譲渡までの処理の一例を説明するシーケンス図である。
【0128】
ステップS2101の処理として、利用者端末2004と決済サーバ2002との間で、管理データの発行のための決済の処理が行われる。例えば、利用者端末2004よりクレジットカード番号等と決済金額を提示して、決済サーバ2002がクレジットカード番号等の正しさを確認等する。あるいは、利用者端末2004より銀行口座への振り込みの申込を行い、決済サーバ2002が振込先の銀行口座番号や振込人に付加する識別文字列などを返信する。その後、振込が行われたことについての確認を決済サーバ2002側にて行う。なお、決済処理により、利用者端末2004から決済サーバ2002へ利用者や利用者端末2004の識別情報が決済サーバに伝達されてもよい。この場合、識別情報は、後に決済サーバ2002から管理サーバ2001へ送信される管理データ発行要求の中に含まれる。
【0129】
本発明の一実施形態において、ステップS2101の処理における決済処理を特定する番号などが決定され、この番号が決済サーバと利用者端末とで共有される。決済処理を特定する番号は、例えば、決済サーバが、生成する管理データを一意に識別する番号であったり、利用者端末2004と決済サーバ2002との間の通信のセッションを特定するセッションID(セッションを一意に特定するセッション識別情報)であったりしてもよい。この決済処理を特定する番号は、乱数として管理サーバが生成するのが好ましい。以下、決済処理を特定する番号として、セッションIDが用いられるとして説明を行う。ただし、本発明では、決済処理を特定する番号はセッションIDに限定されない。また、決済処理を特定する番号をID情報と称する場合がある。
【0130】
クレジットカード番号等の正しさや振込等の確認がされると、ステップS2102の処理として、決済サーバ2002から管理サーバ2001へ管理データ発行要求が送信される。この管理データ発行要求の中に、決済された金額などの情報が含まれる。なお、「決済された金額」は、利用者端末2004と決済サーバ2002との間での決済金額から所定の手数料を差し引いた額であってもよい。
【0131】
管理データの発行要求に応じて、ステップS2103の処理として、管理サーバ2001から管理データ(「管理データ1」と呼ぶ)が決済サーバ2002へ送信される。
【0132】
ステップS2104の処理として、決済サーバ2002は、受信した管理データ1と上述のセッションIDとを保管サーバ2003に送信する。
【0133】
保管サーバ2003が決済サーバより管理データ1とセッションIDを受信すると、ステップS2105の処理として、受信した管理データを管理サーバ2001へ送信し、管理データ1に有効な照合用データが含まれていることの確認と、その照合用データの置き換えを管理サーバ2001に依頼する。
【0134】
なお、管理サーバ2001は、保管サーバ2003より照合用データの書き換えが依頼された場合、譲渡回数は増加させない構成になっており、また、照合用データと関連付けられている識別情報と管理データに含まれている識別情報を書き換えない構成となっているとよい。例えば、保管サーバ2003のIPアドレスが管理サーバ2001に登録されており、登録されているIPアドレスから管理データを受信した場合には、譲渡回数を増加させず、識別情報も書き換えない構成となっていてもよい。
【0135】
ステップS2106の処理として、管理サーバ2001にて、管理データ1に有効な照合用データが含まれていることを確認して照合用データを書き換えた管理データ2を生成し、保管サーバ2003に返信される。そして、保管サーバ2003にて、その管理データ2がセッションIDに関連付けて記憶される。
【0136】
管理データ2がセッションIDに関連付けて記憶されたことを通知するために、ステップS2107の処理として、保管通知が保管サーバ2003から決済サーバ2002へ送信される。
【0137】
決済サーバ2002が保管通知を受信すると、ステップS2108の処理として、利用者端末2004へ寄託通知が送信され、管理データが保管サーバ2003に保管されたことが利用者に伝えられる。寄託通知は電子メールによって送信されてもよい。あるいは利用者端末2004にインストールされたブラウザへ送信されてもよい。そして、寄託通知のコンテンツの種類が電子財布に関連付けられており、利用者が電子メールに添付された寄託通知をダブルクリックしたり、ブラウザが寄託通知を受信したりすると、電子財布が電子メールプログラムやブラウザにより起動され、寄託通知が電子財布により処理されるようになっていることが好ましい。
【0138】
その後、利用者は、利用者端末2004にインストールされた電子財布を操作するなどして、保管サーバ2003に保管された管理データを要求するために、ステップS2109の処理として、保管サーバ2003に対して、管理データの送信要求として、セッションIDを送信する。保管サーバ2003では、セッションIDに管理データ2が関連付けて記憶されていることを確認すると、ステップS2110の処理として、管理データ2を返信し、セッションIDとの関連付けを破棄する。
【0139】
もちろん、図20と図21とに示される構成、処理などを用いなくても、管理データを利用者に発行することができる。例えば、決済サーバが管理サーバから管理データを受信し、直接その管理データを利用者端末へ送信するようにしてもよい。しかし、決済手段として銀行振込を採用した場合などには、決済の確認までタイムラグが生じるので、決済サーバは管理サーバから受信した管理データを次に利用者端末と通信可能になるまで保持しておく必要がある。しかしこれでは、どの管理データが誰に発行されたかの情報を決済サーバが知ることとなり、匿名性が損なわれる。
【0140】
また、決済サーバが管理データの発行要求とともに管理データの送信先を管理サーバに送信し、管理サーバがその送信先に発行した管理データを送信する構成を採用することもできる。しかし、これでも、管理データが誰に発行されたかの情報を管理サーバが知ることとなり、やはり匿名性が損なわれる。
【0141】
図20と図21とに示される構成、処理では、管理サーバ2001は、どの利用者の利用者端末に対して管理データを発行して送信するか知る必要がなくなる。また、決済サーバ2002は利用者端末2004と管理サーバ2001から送信される管理データを関連付けることはできるが、それは一時的なものに過ぎない。管理データを保管サーバ2003に送信すると、保管サーバ2003側で照合用データが書き換えられてしまうからである。また、保管サーバ2003は、管理データを決済サーバ2002と利用者端末2004との通信セッションにより決まる情報と関連付けるので、利用者を識別する必要がない。
【0142】
図22は、保管サーバ2003の機能ブロック図を示す。図22の機能ブロック図において、保管サーバ2200は、預管理データ受信部2201と、管理データ送信部2202と、管理データ受信部2203と、保管部2204と、ID受信部2205と、預管理データ送信部2206とを有する。
【0143】
預管理データ受信部2201は、管理データ2207とID2208とを受信する。管理データ2207とID2208とは、図21のステップS2104においての説明での決済サーバから保管サーバへ送信される管理データ1とセッションIDとに相当する。ただし、後に説明されるように、預管理データ受信部2201は、管理データ2207とID2208を決済サーバのみより受信するとは限らない。
【0144】
ID2208は、管理データ2207を一意に特定する情報であることが望ましい。このため、預管理データ受信部2201は、受信したIDの履歴を管理し、過去に受信したIDと一致するものを受信した場合には、IDの再送要求を返信してもよい。また、受信したIDの履歴は、後に説明される保管部804が管理するテーブルなどで管理することもできる。すなわち、保管部2204が管理するテーブルに同じIDが格納されていればIDの再送要求を返信してもよい。
【0145】
預管理データ受信部2201は、受信した管理データ2207とID2208とをメモリに展開する。そして、管理データ2207のメモリアドレスなどを管理データ送信部2202へ渡すことにより管理データ2207を伝達し、ID2208のメモリアドレスを保管部2204へ渡すことによりID2208を伝達する。
【0146】
管理データ送信部2202は、預管理データ受信部2201より伝達された管理データ2207を送信する。送信先は、管理サーバである。送信の結果、管理サーバにて管理データ2207に含まれる照合用データの有効性が確認されると、照合用データの書き換えが行われ、書き換え後の管理データ2209が返信される。
【0147】
管理データ受信部2203は、管理データ送信部2202からの管理データ2207の送信に応じて管理サーバより返信される管理データ2209を受信する。上述したように管理データ2207の少なくとも照合用データが置き換えられたものが管理データ2209となっている。管理データ受信部2203は、受信した管理データ2209をメモリに展開し、そのメモリアドレスなどを保管部2204に渡すことにより、管理データ2209を伝達する。
【0148】
保管部2204は、預管理データ受信部2201より伝達されたID2208と管理データ受信部2203より伝達された管理データ2209とを関連付けて保持する。ID2208と管理データ2209とは、異なる時に保管部2204に伝達される。このために、保管サーバ2200は、例えば預管理データ受信部2201が受信した管理データ2207とID2208とに一意の識別情報を付与するようにしてもよい。そして、預管理データ受信部はID2208とともにその一意の識別情報を保管部2204に伝達する。また、管理データ送信部2202が管理データ2207を送信するために管理サーバと通信セッションを開始するとその通信セッションをその一意の識別情報と関連付ける。そして、管理データ2209が受信されると、通信セッションから一意の識別情報を取得し、管理データ受信部2203は、管理データ2209とともにその一意の識別情報を保管部2204に伝達する。これにより、保管部2204では、ID2208と管理データ2209とを関連付けることができる。また、保管サーバ2200が付与した一意の識別情報が管理データ2207に含まれて送信されるようになっていてもよい。管理サーバは、その一意の識別情報を変更することなく、照合用データを書き換える。
【0149】
保管部2204は、IDと管理データとを関連付けて保管するためにテーブルを用いてもよい。図23はそのようなテーブルを示している。図23では、"e987abc"というIDと照合用データとして"1491625"を含む管理データとが関連付けて保持されている。"e987abc"というIDは、例えば図21におけるステップS2101の処理として行われる決済処理のための利用者端末と決済サーバと間の通信セッションのIDなどである。
【0150】
なお、保管部2204にID2208と管理データ2209とが関連付けて格納された場合、ステップS2107の保管通知となる情報が送信されるようになっていてもよい。この保管通知は、例えば、預管理データ受信部2201が管理データ2207とID2208とを受信したACKとして返信されるようになっていてもよい。
【0151】
ID受信部2205は、ID2210を受信し、ID2210と保管部2204にて関連づけて保管されている管理データの検索を行う。検索の結果、ID2210と関連付けて保管されている管理データが存在すれば、ID受信部2205はその管理データを読出し、預管理データ送信部2206へ伝達する。また、ID2210とその管理データとの関連付けを解消あるいは破棄する。解消あるいは破棄は、具体的には、図23に示すテーブルからID2210が格納されている行データを削除することにより実現される。あるいは、図23に示すテーブルに削除フラグを格納する列を設けて、削除されたことを示す値を格納することで、解消あるいは破棄されたことを表現するようになっていてもよい。
【0152】
預管理データ送信部2206は、ID受信部2205から伝達された管理データを送信する。管理データの送信先は、ID2210の送信元であることが想定される。ただし、管理データの送信先がID2210とともにID受信部2205により受信されたなどの場合には、その送信先へ管理データを送信するようになっていてもよい。
【0153】
図24は、保管サーバ2200における管理データとIDとを受信し保管するまでの処理の流れを説明するフローチャートの一例である。ステップS2401の処理として、預管理データ受信部2201により、管理データとIDとを受信する。ステップS2402の処理として、その管理データを、管理データ送信部2202により、管理サーバへ送信する。そしてステップS2403の処理として、管理データ受信部803により、管理データを受信する。その後、ステップS2404の処理として、保管部2204により、ステップS2401で受信されたIDとステップS2403で受信された管理データを関連付けて保管する。
【0154】
図25は、保管サーバ2200におけるIDを受信しそのIDと関連付けられて保管されている管理データを送信するまでの処理の流れを説明するフローチャートの一例である。ステップS2501の処理として、ID受信部2205により、IDを受信する。ステップS2502の処理として、そのIDと関連付けられて管理データが保管部2204に保管されていることを確認する。もし確認できなければ、エラーをIDの送信元などに返信する。確認ができれば、ステップS2503の処理として、IDと関連づけて保管されている管理データを読み出す。そして、ステップS2504の処理として、IDと管理データとが関連付けられて格納されている状態を解消する。例えば、図23に示されるテーブルから上述にように行データを削除する。その後ステップS2505の処理として、預管理データ送信部2206により、管理データを送信する。
【0155】
このような構成の保管サーバを、図20、図21に示すように決済サーバと管理サーバとを組み合わせることにより、匿名性を保ちつつ管理データの発行が行える。
【0156】
また、このような保管サーバを経由することにより、利用者間でも管理データを譲渡することができる。「利用者間」と記載したが、この場合、一方の利用者は物やサービスを購入する者であり、他方はその物やサービスを提供する者であり、その物やサービスの対価として管理データが一方の者から他方の者へ譲渡される場合が想定される。特に、他方はWEBサーバなどを用いてインターネットからアクセスされる仮想的な店舗であってもよい。すなわち、管理データを電子マネーとして使用することにより、財物や役務の提供に対する代金の決済処理を行うことができる。すなわち、保管サーバが決済処理を行うサーバとして動作することになる。また、保管サーバを用いることにより、個人間などの一般の利用者間でも管理データの譲渡をすることが可能となる。
【0157】
図26は、利用者間で管理データを譲渡するシステム2600の構成を示す。システム2600を参照しながら、管理サーバ2601と、保管サーバ2603と、譲渡者端末2604と、譲受者端末2605とを有する。譲渡者端末2604、譲受者端末2605にはそれぞれブラウザ、電子財布がインストールされていてもよい。また、譲渡者端末2604の利用者(譲渡人)が譲受者端末2605の利用者(譲受人)へ管理データを譲渡する場合の処理の流れについて以下に説明する。
【0158】
譲渡人は、あらかじめ、管理サーバから管理データの発行を受けたり、決済サーバを介して管理データを取得したり、決済サーバと保管サーバを介して管理データから取得したりしておく。この管理データは譲渡者端末2604にインストールされている電子財布により管理されていてもよい。あるいは別の譲渡人より、管理データの譲渡を受ける。この場合の譲渡としては、これから説明されるように保管サーバを介して行われてもよいし、別の譲渡人から管理データが記録された光ディスクや可搬型の不揮発性半導体メモリなどの記憶媒体の譲渡を受けたり、電子メールの添付データなどとして譲渡を受けたりしていてもよい。このように譲渡を受けた管理データも譲渡者端末2604にインストールされている電子財布により管理されてもよい。
【0159】
図27は、保管サーバを介しての管理データの譲渡の流れを説明するシーケンス図である。ステップS2701の処理として、譲渡者端末2604と譲受者端末2605との間で管理データの譲渡の合意をする。この合意は、無償にて譲渡人が譲受人に管理データを譲渡する合意であったり、上述のように譲受人が物やサービスを提供することの引き替えに譲渡人が管理データを譲渡する合意であったりする。なお、この合意のために、譲渡人の使用する譲渡者端末(第1の端末)と譲受人の使用する譲受者端末(第2の端末)とが相互に認証し合ってもよい。例えば、暗号化された通信セッションを確立するために第1の端末と第2の端末との間で暗号化と復号化のための暗号鍵を共有する。
【0160】
また、相互認証の際には、その相互認証を一意に特定する情報を決める。例えば、WEBショップで買い物などを行う場合には、WEBサーバと端末との間の暗号化された通信セッションのIDなどを用いる。
【0161】
譲渡の合意あるいは相互認証が終了すると、譲渡人側の端末では、電子財布を動作して、新たに管理データの発行を受けたり、既に発行がされたり第三者から譲渡がされたりした管理データの中から選択を行い、管理データ3とセッションIDとを保管サーバ2603へ送信する。管理データ3とセッションIDとを受信した保管サーバは、ステップS2703の処理として管理データ3を管理サーバへ送信する。管理サーバが管理データ3に含まれる照合用データが有効であると確認を行うと、新たに準備した照合用データによる置換を行い、ステップS2704の処理として管理データ4を保管サーバへ返信する。これにより、管理データ3は無効な照合用データを含む管理データとなり二重に使用ができなくなる。
【0162】
保管サーバが管理データ4を受信すると、ステップS2702で受信したセッションIDと関連付けて保管を行い、ステップS2705の処理として保管通知を譲渡者端末へ送信する。保管通知を受信した譲渡者端末は、ステップS2706の処理として、寄託通知を譲渡者端末へ送信する。
【0163】
寄託通知を受信した譲受者端末は、ステップS2707の処理として、管理データの送信要求を譲渡合意の際のセッションIDとともに保管サーバへ送信し、これに応じて保管サーバは管理データ4をステップS2708の処理として返信する。このとき、譲受者端末では電子財布が起動されてもよい。
【0164】
以上のように保管サーバを構成することにより、管理データの発行の際、そして、管理データの譲渡の際に同じ処理を保管サーバで行うようにすることができる。また、管理データの匿名性なども確保できる。
【0165】
(実施形態3)
上述の実施形態2において、価値として貨幣価値のように可分な価値が用いられる場合には、管理データが表す価値に上限を設けてもよいことについて説明した。例えば、5000円を上限とすると、13000円の価値は、例えば、5000円を表す管理データ2つと、3000円を表す管理データ1つとにより表される。この場合の3000円を表す管理データのように、上限の価値に満たない価値を表す管理データを「端数管理データ」と呼ぶことにする。
【0166】
管理データを用いて商品や役務の代金の決済が行われる場合を考えると、代金の額が上記でいう上限になるとは限らない。このため、端数管理データを含む管理データにより代金が支払われたり、釣り銭の代わりに端数管理データを含む管理データが支払いとは逆の方向の管理データの流れで譲渡されたりする。このため、端数管理データの数は増加することになる。この結果、管理サーバのデータベース部の管理するデータが増加してしまうなどの問題が生ずる。そこで、以下では、端数管理データの増加を防ぐ構成について説明を行う。
【0167】
(管理サーバ)
本実施形態に係る管理サーバは、実施形態2に係る管理サーバ1500において、管理データ受信部1505が端数管理データ受信手段と、支払額受信手段とを有し、置換部1506が端数変更手段と、釣管理データ生成手段とを有し、置換管理データ送信部1507が端数管理データ送信手段と、釣管理データ送信手段とを有する。
【0168】
端数管理データ受信手段は、端数管理データを受信する手段である。受信された端数管理データは、他の一または複数の管理データとともに、保管サーバより送信され管理サーバに受信され照合用データの有効性の確認がされることが主に想定される。端数管理データ受信手段は、端数管理データを受信するとメモリに展開し、端数管理データに含まれる照合用データのアドレスなどを取得して、端数変更手段に伝達する。
【0169】
支払額受信手段は、管理データ受信部1505で受信された管理データのうち端数管理データ受信手段で受信されたものを除く管理データの表す価値のうち、譲渡が行われる価値を表す。すなわち、保管サーバを経由して譲渡者端末から譲受者端末へ譲渡されるべき価値を表すことが主に想定される。そして、譲渡が行われない価値が存在すれば、その価値は後述のように釣管理データとして譲渡者端末へ送信されることになる。
【0170】
端数変更手段は、支払額受信手段が受信した価値を上述の上限の価値で除算を行った時の余りが0で無い場合に、端数管理データ受信手段により受信された端数管理データの表す価値にその余りを加算する処理を行う。例えば、上限額が5000円で支払額受信手段が受信した価値が13000円であれば、13000円を5000円で割り算を行うと、3000円が余りとなる。そこで、端数管理データ受信手段が受信した端数管理データがデータベース部1501により、1000円を表していれば、1000円に3000円を加算した4000円を表すようにデータベース部1501が管理するデータベースの変更操作などを行う。
【0171】
具体的には、端数変更手段は、端数管理データ受信手段からで伝達されたアドレス等により指定される照合用データで図16(a)などに示されるテーブルの検索を行いその照合用データがテーブルに格納されているのを確認すると、その照合用データに関連付けられている価値の値に上述の余りを加算する。加算した結果がもし上述の上限を超えていれば、加算した結果のかわりに上限の価値をテーブルに登録し、新たに照合用データを準備してテーブルに挿入し、加算した結果から上述の上限を引いた額を関連付ける。例えば、端数管理データ受信手段からで伝達されたアドレス等により指定される照合用データに1000円が関連付けられており、上述の余りが4500円であったとする。すると加算した結果は5500円となり、上限の5000円を超えている。そこで、端数管理データ受信手段からで伝達されたアドレス等により指定される照合用データには上限の5000円を関連づけ、新たに準備される照合用データには500円を関連付ける。もちろん、5000円と500円とに関連付けるのは一例であり、5500円の上限を超えないように複数の価値に任意に分けることができる。例えば、2500円と3000円とであってもよい。
【0172】
釣管理データ生成手段は、管理データ受信部1505で受信された管理データのうち端数管理データ受信手段で受信されたものを除く管理データの表す価値のうち、支払額受信手段が受信した価値を引いた価値(「釣価値」という。)が0でなければ、釣価値を表す管理データを生成する。新たに管理データを生成してもよいし、管理データ受信部1505で受信された管理データのうち端数管理データ受信手段で受信されたものを除く管理データを再利用するように、その管理データが表す価値に釣価値を加えてもよい。そして、もし加えた結果が上限を超えていれば、新たな管理データを生成して、管理データに上限を超える価値が関連付けられないようにする。
【0173】
端数変更手段、釣管理データ生成手段それぞれは、端数管理データ受信手段が受信した端数管理データが含む照合用データ、釣管理データ生成手段が生成した釣価値を表す管理データが含む照合用データのそれぞれを、新たな照合用データを準備して書き換えてもよい。
【0174】
端数管理データ送信手段は、端数変更手段により価値が加算された管理データ、また必要に応じて新たに生成された管理データを送信する。
【0175】
釣管理データ送信手段は、釣管理データ生成手段で生成された管理データを送信する。
【0176】
また、本実施形態において、保管サーバの預管理データ受信部2201は、管理データ及びIDとともに、支払額情報を受信可能となっている。支払額情報とは、管理データの譲渡により譲渡されるべき価値を示す情報である。そして、預管理データ受信部2201は、支払額情報が受信された場合には、受信したIDに関連付けられて保管部2204に保管されている管理データを検索し、得られた管理データと受信した管理データとともに支払額情報を管理データ送信部2202に伝達する。この場合、受信したIDに関連付けられて保管部2204に保管されている管理データは、譲受者端末より送信された端数管理データとなっている。管理データ送信部2202は、管理データとともに伝達された支払額情報を送信する。
【0177】
また、管理データ受信部2203は、釣管理データも受信可能となっている。釣管理データが受信された場合には、保管サーバは、保管部2204に管理データが保管されると、保管通知とともに釣管理データを、預管理データ受信部2201が受信した管理データの送信元へ返信する。
【0178】
図28は、本実施形態において、保管サーバを介しての管理データの譲渡の流れの一例を説明するシーケンス図である。ステップS2801の処理として、ステップS2701と同様に譲渡の合意を譲渡者端末と譲受者端末との間で行う。このとき、その合意では、単に管理データの譲渡のみならず、管理データの譲渡により譲渡される価値も合意する。例えば、商品の値段、送料などである。そして、このような場合に譲渡者端末が保管サーバへ送信する管理データを支払管理データという。
【0179】
ステップS2802の処理として、譲受者端末から保管サーバへ、端数管理データ1とセッションIDとを保管サーバへ送信する。このとき、譲受者端末である旨の情報も送信してもよい。ステップS2803の処理として、保管サーバは、受信した端数管理データ1を管理サーバへ送信し、その有効性を確認させ、ステップS2804の処理として、保管サーバは、端数管理データ2を管理サーバより受信する。そして、セッションIDと関連づけて端数管理データ2を保管する。
【0180】
なお、譲受者端末に端数管理データが無ければ、保管サーバには端数管理データを送信する必要はなく、したがって、保管サーバが端数管理データを管理サーバに送信する必要もない。
【0181】
譲渡者端末は、ステップS2805の処理として、支払額と支払いのための支払管理データ1とセッションIDを保管サーバに送信する。保管サーバは、支払管理データ1と支払額とを管理サーバに送信する。また、保管サーバは、セッションIDからそれに関連付けられている端数管理データの有無を検出し、もしそのような端数管理データが存在すれば、その端数管理データもともに管理サーバへ送信する。なお、ステップS2802において、譲受者端末から譲受額が送信されてもよく、この場合は、譲渡者端末から送信される支払額と譲受額とが同じであることを確認してもよい。もし、同じでなければ譲受者端末、譲渡者端末へエラーを通知する。また、ステップS2802において、譲受者端末から譲受額が送信され、ステップS2805において、譲渡者端末から支払額が送信されない構成もある。この場合には、支払管理データ1に関連付けられている価値の値が譲受額以上であることを確認する。もし、譲渡に伴って手数料などを徴収する際には、支払管理データ1に関連付けられている価値の値から手数料などの額の値を引いたものが譲受額以上であることを確認する。また、端数管理データ1に関連付けられている価値から手数料などの額を徴収することにしてもよい。
【0182】
管理サーバは、受信した支払管理データ2、支払額、端数管理データ2から、置換部1506、置換管理データ送信部1507により、端数管理データ3と支払管理データ2と釣管理データとを生成して、ステップS2807の処理として、保管サーバへ送信する。ここで、端数管理データ3は、端数変更手段で変更、生成された管理データであり、釣管理データは釣管理データ生成手段で生成された管理データである。
【0183】
端数管理データ3と支払管理データ2と釣管理データとを受信した保管サーバは、支払管理データ3と端数管理データをステップS2802又はS2805で受信したセッションIDと関連づけて保管する。そして、ステップS2808の処理として、譲渡者端末へ釣管理データと保管通知を送信する。譲渡者端末は、ステップS2809において寄託通知を譲受者端末へ送信し、譲受者端末はステップS2810において、送信要求とセッションIDとを保管サーバへ送信し、これに応じて保管サーバは、セッションIDと関連付けて保管されている端数管理データ3と支払管理データ2をステップS2811の処理として、譲受者端末へ送信する。そして、セッションIDと端数管理データ3及び支払管理データ2との関連付けを破棄する。
【0184】
このようにして、譲渡者端末から譲受者端末へ、譲渡合意で合意された価値が電子的に譲渡される。また、本実施形態では、管理データが表す価値に上限を設けられている場合に、譲受者端末から端数管理データを提供することにより、その端数管理データに釣り銭に相当する価値を加えることができ、端数管理データの数の増大を防止することができる。これにより、管理サーバのデータベース部1501で管理するべき照合用データの数の増加を防止することができる。なお、「譲受者端末」と記載したが、譲受者端末は端末装置と同等の機能を有していればよく、サーバ装置を端末装置として用いられる場合も含まれる。譲渡者端末についても同様である。
【0185】
(実施形態4)
実施形態2において、図20、図21などを参照して、管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステムの構成などについて説明した。本発明の実施形態4として、別のシステムの構成などについて説明する。
【0186】
図29は、本発明の実施形態5に係るシステム2900の構成を示す。システム2900は、管理サーバ2901と、決済サーバ2902と、保管サーバ2903と、利用者端末2904とを有する。実施形態2と同様に、管理サーバ2901と、決済サーバ2902と、保管サーバ2903と、利用者端末2904とは、それぞれ通信アダプタなどのハードウェアを備え、通信を行う。実施形態2では、利用者端末2004の利用者は、管理サーバ2001と直接通信を行う必要は無かったが、本実施形態では、様々な決済サーバの構成に対応できるように、利用者端末2940の利用者は、管理サーバ2901とも通信を行う構成となっている。
【0187】
本実施形態では、管理サーバ2901と、決済サーバ2902と、保管サーバ2903と、利用者端末2904とは、基本的に実施形態1における管理サーバ2001と、決済サーバ2002と、保管サーバ2003と、利用者端末2004と同じ構成でよい。ただし、本実施形態では、管理サーバ2901と利用者端末2904とが通信を行うので、この点を実現する構成が異なる。すなわち、管理サーバ2901は、利用者端末2904に対してサービスを提供するための部が備わった構成となっている。例えば、管理サーバ2001に、ウェブサーバとして動作する部が備わっており、利用者端末2904に対してサービスを提供するようになっている。したがって、この場合には、利用者端末2904は、ウェブブラウザなどの閲覧ソフトウェアを用いて管理サーバ2901と通信を行う。また、利用者端末2904には、ウェブブラウザなどの他に、管理データを管理するアプリケーションプログラムである電子財布(以下、電子財布を、管理データを管理するアプリケーションプログラムという意味で「管理データ管理アプリケーション」という)がインストールされていてもよく、管理データ管理アプリケーションを用いて管理サーバ2901と通信を行うようになっていてもよい。
【0188】
図30は、本実施形態におけるシステム2900での決済処理が行われて管理データが生成されて利用者端末に受信されるまでの処理を説明するシーケンス図である。
【0189】
ステップS3001において、利用者端末2904から管理サーバ2901へ、利用者端末2904の識別情報を含む情報を送信する。識別情報とは、利用者端末2904を識別するための情報である。識別情報の例としては、利用者端末2904の製造番号や、MACアドレス、IPアドレスなどである。あるいは、利用者を識別する情報であるユーザIDや所有者IDなどであってもよい。また、識別情報は、利用者端末2904の製造番号や、MACアドレス、IPアドレスなどの情報そのものである必要はなく、それらの情報に対して所定のハッシュ関数を適用して計算される値であってもよい。この識別情報は、管理サーバ2901により後に発行される管理データに埋め込まれてもよい。識別情報を管理データに埋め込むことにより、管理データを譲渡などする場合に、管理データが不正に他の利用者端末から取得されたものであるかどうかを検出することができる。これにより、管理データの使用の際の安全性を高めることができる。また、識別情報には、乱数が含まれるようになっており、管理サーバ2901への送信の都度、変化する部分があってもよい。
【0190】
管理サーバ2901において、識別情報を受信する部を識別情報受信部という。
【0191】
なお、ステップS3001において、識別情報は、例えば、HTTP(Hyper Text Transfer Protocol)のPOSTメッセージとして、利用者端末2904から管理サーバ2901に送信される。ただし、識別情報は、ブラウザで送信される必要はなく、上述した管理データ管理アプリケーションによって送信されてもよい。管理データ管理アプリケーションを用いれば、利用者端末2904のハードウェアなどにアクセスを行い、MACアドレスなどを取得することが容易に行える。
【0192】
ステップS3002においては、管理サーバ2901は、画面情報を利用者端末2904へ返信する。画面情報は、例えば、HTML(Hyper Text Markup Language)を用いて記述され、管理データを発行するための入金処理や、発行された管理データを受け取るための処理を行うために使用することができる。
【0193】
利用者端末1904が画面情報を受信すると、その画面情報の記述に従って画面表示を行う。例えば、受信された画面情報を、利用者端末2904で動作する管理データ管理アプリケーションがREADシステムコールなどを用いて取得すると、ウェブブラウザを起動して、そのウェブブラウザによって画面情報を表示させる。
【0194】
図31は、表示される画面情報の例を示す。例えば管理データ管理アプリケーションによりブラウザが起動されて画面情報が表示されると、図31(a)に示されるように、「入金」、「管理データ受取」という表示を有するボタンが表示される。「入金」の表示を有するボタンが押下されると、画面情報に含まれるスクリプトなどの処理により、図31(b)に示される画面が表示される。
【0195】
図31(b)は、銀行振込を行うための画面であって、「振込名義人名を12345としてください」というメッセージが表示され、「振込」という表示を有するボタンが表示されている。12345というのは、管理サーバ2901がステップS3001において識別情報を受信した際に、管理サーバ2901側などで生成される情報である。あるいは、利用者端末2904側で生成され、ステップS3001において管理サーバ2901に送信され、管理サーバ2901で承認などされた番号であってもよい。承認とは、利用者端末2904側で生成された情報が適切でることを確認することである。例えば、同じ情報を他の利用者端末で生成されて管理サーバ2901に送信されていないことを確認する。あるいは、識別情報がユーザIDであれば、そのユーザIDそのものやユーザIDに関連付けられた値である。利用者が銀行振込を行う際に、この情報を振込名義人名に含ませることにより、管理サーバ2901が銀行から振込通知を受信などした際に、その振込がどの識別情報の受信に対して返信した画面情報によって行われたかを知ることができる。また、図31(b)の画面には、振込先の銀行口座の情報が含まれていてもよい。
【0196】
管理サーバ2901において、振込名義人名を生成あるいは承認、取得し、利用者端末2904に送信する部を、振込名義人名送信部という。
【0197】
なお、図31(b)において、複数の銀行の中から利用者端末2904の利用者が契約している銀行を選択できるように、複数の銀行それぞれに対応したボタンが表示されていてもよい。
【0198】
図31(b)の「振込へ」の表示を有するボタンが押下されると、利用者端末2904から銀行などの決済サーバ2902に対してアクセスが行われ、図32(a)のようなインターネットバンキングなどのためのログイン画面が表示される。このログイン画面を介して利用者がログインを行い、振込の依頼を行うと、ステップS3204の処理として、利用者端末2904から決済サーバ2902に対して振込依頼が送信される。この振込依頼には、管理サーバ2901などの運営者の銀行口座の情報、振込名義人名、振込額が含まれる。なお、図31(b)の「振込へ」の表示を有するボタンには、振込先の口座の情報や、振込名義人名を含むURLが関連付けられており、そのURLにアクセスすると、決済サーバ2902に振込先の口座の情報や振込名義人名が伝えられ、振込の画面が開かれた場合に、振込先の口座の情報や振込名義人名が既にデフォルト値などとして入力された状態となっていてもよい。
【0199】
振込の依頼が終わると、ステップS3204の処理として、利用者端末2904から管理サーバ2901へ、振込の依頼の処理が終わったこと旨を表す入金通知が送信される。この際には、ステップS3201で送信された識別情報や振込名義人名も送信される。すなわち、利用者端末2904にて、振込の依頼の処理が終了すると、利用者端末2904では、図32(b)に示されるような画面が表示される。図32(b)に示される画面は、「入金通知」という表示を有するボタンが表示されている。このボタンが押下されると、ステップS3004の処理として、入金通知が利用者端末2904から管理サーバ2901へ送信される。入金通知は、利用者端末2904にて振込の依頼の処理が終了したことを、利用者端末2904から管理サーバ2901に知らせる情報である。
【0200】
入金通知を受信した管理サーバ2901は、ステップS3205の処理として、入金通知とともに送信された情報から振込名義人名を取得し、決済サーバ2902に対して、その振込名義人名による振込が実際に依頼されたかどうかを問い合せる。決済サーバ2902は、その振込名義人名による振込があれば、ステップS3206の処理として振込通知を返信する。この振込通知には振込額も含まれていてよく、これにより、管理サーバ2901は振込額を得ることができる。
【0201】
また、ステップS3005とS3006の処理の代わりに、管理サーバ2901は、例えば、5分に一回、振込の有無の問い合せを管理サーバ2901に行い、振込の有無を確認してもよい。
【0202】
もし、振込がされていなければ、管理サーバ2901は、ステップS3004の入金通知に対して、振込が確認できなかったことを通知する。この場合、管理データ管理アプリケーションなどによって振込の確認ができていないことの表示がされ、利用者は、しばらく時間が経過してから再度入金通知を行うことになる。
【0203】
管理サーバ2901は、振込を確認すると、振込通知に含まれる振込名義人名から、どの識別情報の受信に対して画面情報によって行われたかをテーブルなどを検索して取得し、管理データを生成し、また、実施形態2で説明したように、振り込みの決済処理を特定する番号を生成する。決済処理を特定する番号は、本実施形態では、「送り情報」と称することにする。送り情報は、例えば、利用者端末2904と管理サーバ2901とがステップS3001とS3002とで通信を行ったセッションのIDであってもよい。また、振込み名義人名送信部で送信された振込名義人名を用いてもよい。ステップS3007の処理として、生成した送り情報と管理データとを保管サーバ2903へ送信する。保管サーバ2903は、送り情報と管理データとを関連付けて、その保管部に保持する。
【0204】
管理サーバ2901において、振込通知を受信する部を振込通知受信部と称する。また、管理データを生成するために、新たな照合用データを準備して、振込通知受信部が受信した振込通知に含まれる金額の額に相当する価値情報を関連づけてデータベース部1501に記憶する部を照合用データ生成部と称する。また、新たに準備された照合用データから生成された管理データを送信する部を管理データ送信部と称する。また、本実施形態では、管理サーバ2901は、準備された照合用データと、識別情報受信部で受信された識別情報を関連付けてデータベース部1501などに記憶する。
【0205】
ステップS3008の処理として、管理サーバ2901は、入金が確認された旨と送り情報とを利用者端末2904へ返信する。なお、ステップS3001とS3002とにおいて利用者端末2904と管理サーバ2901との通信において、送り情報が、セッションIDや振込名義人名として利用者端末2904に送り情報が通知されていれば、ステップS3008では、送り情報を利用者端末2904へ返信する必要はない。
【0206】
管理サーバ2901にて、その振込によって生成された送り情報を取得し、ステップS3008の処理として、入金確認と送り情報とを利用者端末2904へ返信する。
【0207】
利用者端末2904が、入金確認と送り情報とを受信すると、図32(c)に示される画面が表示される。図32(c)に示される画面においては、「入金の確認がされましたので、管理データ受取を押して下さい」というメッセージと、「管理データ受取」という表示を有するボタンが表示される。なお、図32(c)の画面は、ブラウザによって表示される必要はなく、管理データ管理アプリケーションによって表示されてもよい。例えば、ステップS3008にて返信される入金確認と送り情報とが、MIME(Multipurpose Internet Mail Extension)のフォーマットを用いて送信され、そのフォーマットにおいてContent−Typeなどによって、管理データ管理アプリケーションがアプリケーションプログラムとして用いられることが指定されていてもよい。このような指定により、ブラウザが入金確認と送り情報とを受信すると、管理データ管理アプリケーションが起動され、図32(c)に示される画面が表示できる。
【0208】
「管理データ受信」のボタンが押下されると、ステップS3009の処理として、利用者端末2904から保管サーバ2903へ、送り情報が送信される。この送り情報が保管サーバ2903にて受信されると、ステップS3006において格納部に送り情報と関連付けられて保管された管理データが読み出される。そして、ステップS3010の処理として、その管理データが保管サーバ2903から利用者端末2904に受信されて、利用者端末2904内に格納される。
【0209】
図33は、管理サーバ2901が、ステップS3001において利用者端末2904から識別情報を受信してから、ステップS3008において入金確認と送り情報とを送信するまでの処理を行うために参照するテーブルの構成と格納されるデータの遷移を説明する。図33(a)に示すように、管理サーバ2901は、「識別情報」、「振込番号」、「金額」、「送り情報」という名前の列により構成されるテーブルを保持し、管理を行う。
【0210】
管理サーバ2901がステップS3001において識別情報を受信すると、そのテーブルに対して行データの挿入が行われる。識別情報が例えば98765であれば、図33(b)に示されるように、識別情報の列の値が98765である行がテーブルに挿入される。その行において、識別情報の列以外の列の値は、例えば、NULL(図示せず)とされる。NULLとされることにより、まだ値が定まっていないことが表現される。
【0211】
識別情報がステップS3001において受信され、その識別情報に基づいて振込名義人名が決定されると、挿入された行の振込番号の列の値が、その振込名義人名に更新される。例えば、振込名義人名が図31(b)に示されるように12345であれば、図33(c)に示すように、識別情報の列の値が98765である行の振込番号の列の値が12345に更新される。
【0212】
管理サーバ2901がステップS3006において振込通知を受信すると、その振込通知に含まれる振込名義人名を振込番号の列に有する行が検索され、振込通知に含まれる振込金額により金額の列の値が更新される。例えば、振込通知により、12345という振込名義人名により5000円が振り込まれたとすると、図33(d)に示すように、識別情報の列の値が98765である行の金額の列の値が5000に更新される。これにより、管理サーバ2901は、振込があったことが確認できるようになる。
【0213】
管理サーバ2901が送り情報を生成し、ステップS3007において保管サーバ2903に、送り情報を送信すると、「送り情報」の列の値が更新される。例えば、12345という振込名義人名により5000円が振り込まれ、246810という送り情報が生成されると、図33(e)に示すように、識別情報の列の値が98765である行の送り情報の列の値が246810に更新される。これにより、管理サーバ2901は、98765という識別番号に対して、管理データを生成して、保管サーバ2903に送信したことが確認できるようになる。
【0214】
図34は、利用者端末2904の図3とは別の機能ブロック図を示す。この機能ブロック図は、利用者端末2904にインストールされているアプリケーションプログラムの構成を示している。利用者端末2904には、ブラウザと管理データ管理アプリケーションとがインストールされている。ブラウザと管理データ管理アプリケーションとが協調して動作して決済処理から管理データの受信の処理を行う。
【0215】
図35は、利用者端末2904にインストールされているブラウザと管理データ管理アプリケーションとが協調して、図30に示される決済処理が行われ、管理データが生成されて利用者端末に受信されるまでの処理のシーケンス図を示す。
【0216】
ステップS3501は、ステップS3001に対応している。ステップS3501においては、識別情報が、管理データ管理アプリケーションより送信されることを示している。管理データ管理アプリケーションを用いれば、ブラウザを用いるよりも容易に利用者端末2904のハードウェアなどにアクセスを行い、MACアドレスなどのハードウェア固有の情報を取得することができる。
【0217】
なお、ステップS3501の処理を実行するには、利用者端末2904にて管理データ管理アプリケーションを起動する。管理データ管理アプリケーションの起動により、例えば、図36に示されるように、「入金(ポイント購入)」、「ポイントの受取」、「ポイントによる支払」の表示を有するボタンを含む画面表示が利用者端末2904のディスプレイなどに表示がされる。「入金(ポイント購入)」のボタンが押下されると、管理データ管理アプリケーションは、識別情報を算出などして、管理サーバ2901へ送信する。
【0218】
ステップS3502は、ステップS3002に対応している。ステップS3502においては、ステップS3501にて送信された識別情報に対して管理サーバ2901から返信される画面情報が、管理データ管理アプリケーションにより受信される。
【0219】
管理データ管理アプリケーションが画面情報を受信すると、ステップS3503の処理として、管理データ管理アプリケーションはブラウザを起動し、画面情報の記述に従った画面表示を行う処理が行われる。例えば、管理データ管理アプリケーションは、受信した画面情報を一時ファイルに書き込み、その一時ファイルの名前をコマンドの引数などとしてブラウザに与えてブラウザを起動する。例えば、一時ファイルの拡張子と関連付けられているブラウザが起動されるようになっている。
【0220】
ステップS3504、ステップS3505、ステップS3506、ステップS3507、ステップS3508は、それぞれステップS3003、ステップS3004、ステップS3005、ステップS3006、ステップS3007、ステップS3008に対応している。これらのステップの処理では、利用者端末2904では、ブラウザが管理サーバ2901、決済サーバ2902と通信を行う。
【0221】
ステップS3509にて、ブラウザが入金確認と送り情報とを管理サーバ2901より受信すると、ブラウザは、管理データ管理アプリケーションを起動し、送り情報を管理データ管理アプリケーションに処理をさせる。上述したように入金確認と送り情報とが、MIMEのフォーマットを用いた情報としてブラウザにより受信されると、そのフォーマットにおいてContent−Typeなどによって、管理データ管理アプリケーションにより処理することが指定されているので、ブラウザは管理データ管理アプリケーションを起動し、起動した管理データ管理アプリケーションは、送り情報を取得する。ステップS3510の処理として、管理データ管理アプリケーションは、保管サーバ2903へ送り情報を送信する。保管サーバ2903から返信される管理データを受信する処理をステップS3511の処理として行う。管理データ管理アプリケーションが管理データを受信すると、受信した管理データを、利用者端末2904の記憶装置(ハードディスクなど)に書き込む。
【0222】
ブラウザから管理データ管理アプリケーションが起動された場合には、図36の画面が表示されてもよい。利用者端末2904の利用者が「ポイントの受取」の表示を有するボタンを押下すると、ステップS3511とステップS3512との処理が開始されるようになっていてもよい。
【0223】
図37は、管理データ管理アプリケーションの図6とは別のモジュール構成図を示す。管理データ管理アプリケーション3700は、識別情報取得部3701と、送り情報管理部3702と、管理データ管理部3703と、送受信部3704と、制御部3705とを有している。
【0224】
識別情報取得部3701は、ステップS3501において送信される識別情報を取得する。例えば、利用者端末2904のハードウェアにシステムコールなどを用いてアクセスを行い、MACアドレスや製造番号などを取得する。また、利用者端末2904の利用者のIDやパスワードなどの認証情報を識別情報として取得してもよい。また認証情報は、ファイルに格納されていたり、キーボードやカードリーダなどにより読み取られるようになっていたりしてもよい。また、認証情報の一部に乱数が含まれる場合には、識別情報取得部3701がその乱数を生成するようになっていてもよい。
【0225】
また、識別情報取得部3701により取得された識別情報は、ステップS3511の処理により管理データが受信されるまで、利用者端末のハードディスクなどの二次記憶に記憶されるようになっていてもよい。管理データ管理アプリケーションが起動すると、二次記憶に識別情報が記憶されているかどうかを調べ、もし、記憶されていれば、受け取られていない管理データが保管サーバ2903に保管されている旨の表示を行い、利用者に注意を喚起してもよい。この場合、利用者が振込の依頼の処理を行っているのならば、管理データ管理アプリケーションは利用者にステップS3505の入金通知を管理サーバ2901に送信し、入金確認と送り情報を受信することができるように、ボタンなどを表示する。そして、そのボタンが押下されると、管理データ管理アプリケーションは入金通知を管理サーバ2901に送信する。
【0226】
送り情報管理部3702は、ステップS3310において、ブラウザから渡された送り情報を管理する。管理とは、データのファイルへの書き込み、読み出し、削除、更新を意味する。ステップS3509の処理により、ブラウザから管理データ管理アプリケーションが起動される際に、ブラウザから渡された送り情報を所定のファイルに書き込む。また、ステップS3511の処理により、管理データが受信されると、所定のファイルを削除したり、所定のファイルから送り情報を削除したりする。これにより、送り情報が受信されたが、受信されていない管理データの有無をしらべることができる。
【0227】
管理データ管理部3703は、管理データを管理する。ステップS3511にて受信された管理データは、管理データ管理部3703により、利用者端末2904の記憶装置(ハードディスクなど)に書き込まれ、また、管理データを用いた支払の処理の際に読み出し、削除、変更が行われる。
【0228】
送受信部3704は、管理サーバ2901、保管サーバ2903と通信を行うための部である。
【0229】
制御部3705は、識別情報取得部3701と、送り情報管理部3702と、管理データ管理部3703と、送受信部3704とを制御し、管理データの受信の処理、管理データを用いた支払の処理を行う。
【0230】
図38は、管理データを用いた支払の処理のシーケンス図を示す。図38は、保管サーバを介しての管理データの譲渡についてのシーケンス図である図28に対応している。図28での譲受者端末が図38での販売サーバに対応し、譲渡者端末が利用者端末に対応している。本実施形態では、利用者端末の内部で管理データ管理アプリケーションとブラウザとが協調して動作している。また、販売サーバは、WEBサーバとしての機能を有しており、WEBページの閲覧要求があれば、要求されたWEBページを返信する。
【0231】
ステップS3801において、利用者端末のブラウザなどへURLの入力や、ブラウザを操作してリンクを辿るなどの処理を行い、ウェブページの閲覧要求が販売サーバへ送信される。販売サーバが閲覧要求を受信すると、要求されたウェブページをステップS3802において返信する。
【0232】
ステップS3802においてブラウザに返信されるウェブページには、商品などの購入の申込を行うための画面の記述がされているとする。例えば、図39に示すように、「○○」として、購入が行われる商品などの名称が表示され、代金が例えば100円として表示される。また、「購入」という表示を有するボタンが表示されている。このボタンには、購入が行われる商品などの識別番号が関連付けられている。また、必要に応じて、ウェブページには商品の配送先などを入力するテキストエリアが含まれており、「購入」という表示を有するボタンが押下されると、そのテキストエリアに入力された情報が送信されるようになっていてもよい。
【0233】
「購入」という表示を有するボタンが押下されると、ステップS3803の処理として、購入情報が保管サーバに送信される。購入情報とは、販売サーバの識別情報、購入が行われる商品などの識別番号、商品などの数量、代金額を含む情報である。また、上述した商品などの発送先を含んでいてもよい。この購入情報は、図39に示されるボタンに関連付けられた情報を用いて生成され、販売サーバに送信される。購入情報が販売サーバに送信されることにより、ブラウザを操作する利用者が販売サーバの運営者から商品などの購入の同意がされ、支払が管理データの譲渡によってされることの同意もされたことが示される。
【0234】
すなわち、ステップS3801からステップS3803までの処理が行われることにより、譲受端末としての販売サーバと譲渡者端末としての利用者端末との間で譲渡の合意がされることになる。従って、ステップS3801からステップS3803までの処理がステップS2801に対応していることになる。
【0235】
ステップS3804の処理として、販売サーバから支払指示とセッションIDがブラウザに送信される。支払指示には、譲渡されるべき価値の額(支払額)が含まれている。また、セッションIDは、上述の送り情報に対応する。支払指示とセッションIDとは、例えば、MIMEフォーマットで記述され、Content−Typeなどによって、管理データ管理アプリケーションを用いて表示されることが指定されていてもよい。
【0236】
また、販売サーバは、保管サーバに対して、端数管理データ1とセッションIDを送信する。これは、利用者端末から送信される管理データによる支払を受けるためである。
【0237】
販売サーバから端数管理データ1とセッションIDを受信した保管サーバは、ステップS3806の処理として、端数管理データ1を管理サーバへ送信し、端数管理データ1が有効であるかどうかを判断させ、有効であれば、照合用データの書き換えを行わせ、その結果得られる管理データである端数管理データ2をステップS3807の処理において受信する。そして、送り情報と関連付けて保管する。
【0238】
したがって、ステップS3805、S3806、S3807の処理は、ステップS2802,S2803、S2804の処理に対応している。
【0239】
ステップS3804にて、販売サーバから支払指示とセッションIDを受信したブラウザは、管理データ管理アプリケーションを起動させ、販売サーバから受信した支払指示とセッションIDとの処理を行わせる。すなわち、起動した管理データ管理アプリケーションは、ステップS3809の処理として、ステップS3804で受信したセッションIDと支払指示に含まれる支払額とを、また、その支払額以上となるように管理データを管理データ管理部3703から選択して読み出して支払管理データ1として、保管サーバに送信する。支払額以上とは、選択された管理データが表す価値の額の合計額が、支払額以上となるこという。管理データ管理部3703から読み出される管理データは複数であってもよい。また、管理データ管理アプリケーションが起動すると、支払額を画面に表示し、ボタン押下を利用者に行わせるなどして、支払管理データの額などの確認を行わせてもよい。また、管理データ管理部3703で管理されている管理データは暗号化されて記憶されている場合には、復号のためのパスワードなどの入力が求められるようになっていてもよい。
【0240】
ステップS3809において、管理データ管理アプリケーションからセッションID、支払額、支払管理データ1を受信した保管サーバは、セッションIDに、支払額と支払管理データ1を関連付けて保管する。また、他にセッションIDに関連付けて保管されている管理データがあるかどうかの検索を行い、そのような管理データがあれば、ステップS3810以降の処理を行う。
【0241】
ステップS3810とステップS3811の処理は、ステップS2806、S2807の処理に対応している。保管サーバは、端数管理データ2と支払額と支払管理データ1を管理データに送信し、端数管理データ3、支払管理データ2と釣管理データとを受信する。
【0242】
ステップS3812の処理として、保管サーバは管理データ管理アプリケーションに釣管理データを送信する。この釣管理データの送信は、ステップS3809にて受信された支払額と支払管理データ1の返信として行われてもよい。
【0243】
ステップS3813の処理として、管理データ管理アプリケーションは、ブラウザを起動し、決済終了画面を表示させる。決済終了画面の記述は、ステップS3812にて、保管サーバが釣管理データとともに管理データアプリケーションに送信するようになっていてもよい。さらに、決済終了画面の記述は、ステップS3805において、販売サーバが端数管理データ1とセッションIDとともに保管サーバに送信するようになっていてもよい。このように決済終了画面の記述が、販売サーバから送信され、保管サーバを経由して、利用者端末へ送信されることにより、電子的なデータそのものや電子的なデータのダウンロードなどのために使用するURLを決済終了画面の記述に含ませることにより、電子的なデータを販売に本実施形態を利用することができる。
【0244】
ステップS3814にて管理サーバから受信された端数管理データ3と支払管理データ2は、ステップS3805にて受信されたセッションIDとともに保管サーバから販売サーバへ送信される(ステップS3814)。端数管理データ3と支払管理データ2の送信は、ステップS3805にて販売サーバから送信された端数管理データ1とセッションIDに対する返信として行われてもよい。
【0245】
このように、支払指示とセッションIDとがブラウザなどにより受信されると、管理データアプリケーションが起動し、管理データを用いた支払を行うことができるようになる。したがって、本実施形態においては、利用者は、ステップS3803にて購入情報を、ブラウザを用いて販売サーバに送信した後の決済の処理を行うために、従来技術におけるのと異なり、クレジットカード番号や振込先の口座番号などの煩雑なデータを入力する必要がなくなる。また、利用者端末2904に記憶された管理データを用いて支払を行うので、クレジットカードのようにその後の返済などについて心配する必要がない。したがって、利用者は簡便な操作で管理データを用いて支払を行うことができる。これにより、インターネットなどでの支払を安全かつ簡便に行うことができる。
【図面の簡単な説明】
【0246】
【図1】本発明の一実施形態に係る電子商取引システムの概要を示す図である。
【図2】計算機のハードウェアとソフトウェアの構成の一例図である。
【図3】本発明の一実施形態に係る利用者端末の機能ブロック図である。
【図4】本発明の一実施形態に係るブラウザの機能ブロック図である。
【図5】クッキー情報の構造の模式図である。
【図6】本発明の一実施形態に係る電子財布の機能ブロック図である。
【図7】コンテンツのタイプとアプリケーションプログラムとを関連付ける表の一例図である。
【図8】本発明の一実施形態に係る利用者端末の動作を説明するフローチャートである。
【図9】本発明の一実施形態に係るショップサーバの機能ブロック図である。
【図10】本発明の一実施形態に係るショップサーバのURL転送部が管理する表の一例図である。
【図11】本発明の一実施形態に係るショップサーバにおける処理を説明するフローチャートである。
【図12】本発明の一実施形態に係るショップサーバにおける処理を説明するフローチャートである。
【図13】本発明の一実施形態に係る確認サーバで行われる処理を説明するフローチャートである。
【図14】本発明の一実施形態に係る電子商取引システムの全体の処理を説明するシーケンス図である。
【図15】本発明の一実施形態に係る管理サーバの機能ブロック図である。
【図16】本発明の一実施形態における管理データ発行の具体例を説明する図である。
【図17】本発明の一実施形態に係る管理サーバの処理のフローチャートである。
【図18】本発明の一実施形態における照合用データの書き換えの具体例を説明する図である。
【図19】本発明の一実施形態に係る管理サーバの処理のフローチャートである。
【図20】本発明の一実施形態に係る管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステム構成図である。
【図21】本発明の一実施形態に係る管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステムによる処理のシーケンス図である。
【図22】本発明の一実施形態に係る保管サーバの機能ブロック図である。
【図23】本発明の一実施形態における管理データを保管するためのテーブルの一例図である。
【図24】本発明の一実施形態における保管データ発行の具体例を説明する図である。
【図25】本発明の一実施形態における保管データ発行の具体例を説明する図である。
【図26】本発明の一実施形態に係る利用者間で管理データを譲渡するシステムの構成図である。
【図27】本発明の一実施形態に係る利用者間で管理データを譲渡するシステムによる処理のシーケンス図である。
【図28】本発明の一実施形態に係る利用者間で管理データを譲渡するシステムによる処理のシーケンス図である。
【図29】本発明の一実施形態に係る管理サーバ、決済サーバ、保管サーバ及び利用者端末からなるシステム構成図である。
【図30】本発明の一実施形態において決済処理が行われ管理データが生成されて利用者端末に受信されるまでの処理のシーケンス図である。
【図31】本発明の一実施形態に係る利用者端末の画面表示を示す図である。
【図32】本発明の一実施形態に係る利用者端末の画面表示を示す図である。
【図33】本発明の一実施形態に係る管理サーバが保持するテーブルの構成と内容の遷移を示す図である。
【図34】本発明の一実施形態に係る利用者端末の機能ブロック図である。
【図35】本発明の一実施形態において決済処理が行われ管理データが生成されて利用者端末に受信されるまでの処理のシーケンス図である。
【図36】本発明の一実施形態に係る利用者端末の画面表示を示す図である。
【図37】本発明の一実施形態に係る管理データ管理アプリケーションの機能ブロック図である。
【図38】本発明の一実施形態に係る利用者端末から販売サーバへ管理データを譲渡する処理のシーケンス図である。
【図39】本発明の一実施形態における商品などの購入の申込を行うための画面の一例図である。
【特許請求の範囲】
【請求項1】
ブラウザがインストールされている利用者端末と、HTTP要求を処理する第1と第2のサーバ装置を有するシステムの動作方法であって、
前記ブラウザは、前記第1のサーバ装置へ第1のHTTP要求を送信し、
前記第1のサーバ装置は、前記第2のサーバ装置への第1のアクセス命令を返信し、
前記ブラウザは、前記第1のアクセス命令に従って前記第2のサーバ装置へ第2のHTTP要求を送信し、
前記第2のサーバ装置は、前記第2のHTTP要求とともに所定のクッキー情報が受信されるか否かに依存して返信される第2のアクセス命令を返信し、
前記ブラウザは、前記第2のアクセス命令に従って前記第1のサーバ装置への第3のHTTP要求を送信し、
前記第1のサーバ装置は、前記第3のHTTP要求が、前記第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信していない場合に返信する第2のアクセス命令に従ったHTTP要求である場合に、前記所定のクッキー情報を前記利用者端末に記憶させるプログラムをダウンロードするためのリンク情報を含む返信を行う、システムの動作方法。
【請求項2】
前記プログラムが前記利用者端末にインストールされると、所定の種類のコンテンツと前記プログラムとが関連付けられ、前記所定の種類のコンテンツを前記ブラウザが受信すると、前記ブラウザはそのコンテンツを前記プログラムに入力可能となり、また、前記ブラウザの管理する記憶領域に前記所定のクッキー情報が記憶され、
前記第1のサーバ装置は、前記第3のHTTP要求が、前記第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信している場合に返信される第2のアクセス命令に従ったHTTP要求である場合に、前記所定の種類のコンテンツをダウンロードするためのリンク情報を含む返信を行う請求項1に記載の、システムの動作方法。
【請求項3】
前記第2のアクセス命令に含まれるURLにはパラメータが含まれており、
前記第2のアクセス命令に従った前記第1のサーバ装置へ送信されるHTTP要求の返信には、前記利用者端末に、前記ブラウザが前記利用者端末のメモリに記憶した前記URLの全てまたは一部を取得させ、前記URLに含まれる前記パラメータの値を変数に記憶させ、前記変数の値を所定の値と比較させ、前記他のプログラムがインストールされているかどうか判断させる第2のプログラムが含まれている請求項2に記載の、システムの動作方法。
【請求項4】
前記プログラムは、価値が関連付けられた情報を管理する電子財布であり、
前記コンテンツは、前記電子財布が管理するべき価値が関連付けられた情報と、前記電子財布が管理する価値が関連付けられた情報の一部または全てとの送信先と、のいずれか一以上を含む、請求項2または3に記載の、システムの動作方法。
【請求項5】
利用者端末より第1のHTTP要求を受信する第1要求受信部と、
受信された第1のHTTP要求に対して、前記第1のHTTP要求とは別のURLへの第1のアクセス命令を返信する返信部と、
返信された第1のアクセス命令に応じて前記利用者端末が返信として受信した第2のアクセス命令に応じて前記利用者端末より第2のHTTP要求を受信する第2要求受信部と、
第2のHTTP要求に対する応答を行う応答部と、
を有するサーバ装置。
【請求項6】
前記利用者端末は、前記第1のアクセス命令に応じて送信するHTTP要求とともに送信するクッキー情報を記憶し、
前記返信部による第1のアクセス命令による前記別のURLへのアクセスを前記利用者端末が行うと、前記クッキー情報が送信される請求項5に記載のサーバ装置。
【請求項1】
ブラウザがインストールされている利用者端末と、HTTP要求を処理する第1と第2のサーバ装置を有するシステムの動作方法であって、
前記ブラウザは、前記第1のサーバ装置へ第1のHTTP要求を送信し、
前記第1のサーバ装置は、前記第2のサーバ装置への第1のアクセス命令を返信し、
前記ブラウザは、前記第1のアクセス命令に従って前記第2のサーバ装置へ第2のHTTP要求を送信し、
前記第2のサーバ装置は、前記第2のHTTP要求とともに所定のクッキー情報が受信されるか否かに依存して返信される第2のアクセス命令を返信し、
前記ブラウザは、前記第2のアクセス命令に従って前記第1のサーバ装置への第3のHTTP要求を送信し、
前記第1のサーバ装置は、前記第3のHTTP要求が、前記第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信していない場合に返信する第2のアクセス命令に従ったHTTP要求である場合に、前記所定のクッキー情報を前記利用者端末に記憶させるプログラムをダウンロードするためのリンク情報を含む返信を行う、システムの動作方法。
【請求項2】
前記プログラムが前記利用者端末にインストールされると、所定の種類のコンテンツと前記プログラムとが関連付けられ、前記所定の種類のコンテンツを前記ブラウザが受信すると、前記ブラウザはそのコンテンツを前記プログラムに入力可能となり、また、前記ブラウザの管理する記憶領域に前記所定のクッキー情報が記憶され、
前記第1のサーバ装置は、前記第3のHTTP要求が、前記第2のサーバ装置が前記第2のHTTP要求とともに所定のクッキー情報を受信している場合に返信される第2のアクセス命令に従ったHTTP要求である場合に、前記所定の種類のコンテンツをダウンロードするためのリンク情報を含む返信を行う請求項1に記載の、システムの動作方法。
【請求項3】
前記第2のアクセス命令に含まれるURLにはパラメータが含まれており、
前記第2のアクセス命令に従った前記第1のサーバ装置へ送信されるHTTP要求の返信には、前記利用者端末に、前記ブラウザが前記利用者端末のメモリに記憶した前記URLの全てまたは一部を取得させ、前記URLに含まれる前記パラメータの値を変数に記憶させ、前記変数の値を所定の値と比較させ、前記他のプログラムがインストールされているかどうか判断させる第2のプログラムが含まれている請求項2に記載の、システムの動作方法。
【請求項4】
前記プログラムは、価値が関連付けられた情報を管理する電子財布であり、
前記コンテンツは、前記電子財布が管理するべき価値が関連付けられた情報と、前記電子財布が管理する価値が関連付けられた情報の一部または全てとの送信先と、のいずれか一以上を含む、請求項2または3に記載の、システムの動作方法。
【請求項5】
利用者端末より第1のHTTP要求を受信する第1要求受信部と、
受信された第1のHTTP要求に対して、前記第1のHTTP要求とは別のURLへの第1のアクセス命令を返信する返信部と、
返信された第1のアクセス命令に応じて前記利用者端末が返信として受信した第2のアクセス命令に応じて前記利用者端末より第2のHTTP要求を受信する第2要求受信部と、
第2のHTTP要求に対する応答を行う応答部と、
を有するサーバ装置。
【請求項6】
前記利用者端末は、前記第1のアクセス命令に応じて送信するHTTP要求とともに送信するクッキー情報を記憶し、
前記返信部による第1のアクセス命令による前記別のURLへのアクセスを前記利用者端末が行うと、前記クッキー情報が送信される請求項5に記載のサーバ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【公開番号】特開2010−152735(P2010−152735A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2008−331259(P2008−331259)
【出願日】平成20年12月25日(2008.12.25)
【出願人】(397076361)有限会社アプリコシステム (5)
【出願人】(308000207)有限会社エックス (3)
【Fターム(参考)】
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願日】平成20年12月25日(2008.12.25)
【出願人】(397076361)有限会社アプリコシステム (5)
【出願人】(308000207)有限会社エックス (3)
【Fターム(参考)】
[ Back to top ]