(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された装置間で連携した処理を行う通信システムにおいて、
識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信する識別情報送信手段と、
前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶する第１の記憶手段と、
前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行する第１の処理実行手段と、
前記第１の処理実行手段で前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信する第１処理完了通知送信手段と、
前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記第１の記憶手段から消去する第１の消去手段と、を有するサーバ装置と、
前記サーバ装置に対して、前記識別情報要求を送信する識別情報要求送信手段と、
前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を記憶する第２の記憶手段と、
前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信する処理要求送信手段と、
前記サーバ装置から前記完了通知を受け取ると、前記第１の処理にあらかじめ関連づけられた前記第２の処理を実行する第２の処理実行手段と、
前記処理要求送信手段で送信した前記処理要求に対する前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送する再送手段と、
前記第２の処理が完了すると、前記サーバ装置に対して前記第２の処理の前記処理完了応答を送信する第２処理完了応答送信手段と、
前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記第２の記憶手段から消去する第２の消去手段と、を有する前記クライアント装置と、
を具備することを特徴とする通信システム。
【請求項２】
ネットワークを介して接続された他の装置との間で連携した処理を行うサーバ装置において、
識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信する識別情報送信手段と、
前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶する記憶手段と、
前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行する第１の処理実行手段と、
前記第１の処理実行手段で前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信する第１処理完了通知送信手段と、
前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する消去手段と、
を有することを特徴とするサーバ装置。
【請求項３】
前記第１の処理実行手段と前記第１処理完了通知送信手段とは、受け取った前記処理要求が前記記憶手段に記憶されているか否かにより、前記識別情報に対する前記第１の処理が過去に完了しているか否かを判断し、受け取った前記処理要求が前記記憶手段に記憶されていると判断した場合、前記第１の処理実行手段により前記第１の処理を完了させることを特徴とする請求項２記載のサーバ装置。
【請求項４】
前記識別情報送信手段は、前記クライアント装置から渡された乱数と前記識別情報とを纏めて暗号化し、暗号化された暗号化識別情報を送信元に送信することを特徴とする請求項２記載のサーバ装置。
【請求項５】
有償のコンテンツの代金の課金代行を行うサーバ装置において、
識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信する識別情報送信手段と、
前記クライアント装置から前記識別情報が付与された前記コンテンツの代金の課金処理の処理要求を受け取ると、前記識別情報が付与された第１の処理の前記処理要求を記憶する記憶手段と、
前記クライアント装置から前記識別情報が付与された前記コンテンツの代金の前記課金処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記課金処理を実行する課金処理実行手段と、
前記課金処理実行手段で前記課金処理が完了したとき、および前記クライアント装置から完了した前記課金処理と同じ識別情報が付与された前記課金処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記課金処理の完了通知を送信する課金処理完了通知送信手段と、
前記課金処理の完了通知を送信後、前記クライアント装置から前記課金処理にあらかじめ関連づけられた有効化処理の完了応答を受け取ると、前記識別情報が付与された前記課金処理の前記処理要求を前記記憶手段から消去する消去手段と、
を有することを特徴とするサーバ装置。
【請求項６】
ネットワークを介して接続されたサーバ装置との間で連携した処理を行うクライアント装置において、
前記サーバ装置に対して、識別情報要求を送信する識別情報要求送信手段と、
前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した第１の処理の処理要求を記憶する記憶手段と、
前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信する処理要求送信手段と、
前記サーバ装置から前記第１の処理の完了通知を受け取ると、前記第１の処理にあらかじめ関連づけられた第２の処理を実行する第２の処理実行手段と、
前記処理要求送信手段で送信した前記処理要求に対する前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送する再送手段と、
前記第２の処理が完了すると、前記サーバ装置に対して前記第２の処理の処理完了応答を送信する第２処理完了応答送信手段と、
前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する消去手段と、
を有することを特徴とするクライアント装置。
【請求項７】
乱数と前記識別情報とを纏めて暗号化した暗号化識別情報を前記サーバ装置から受け取ると、当該暗号化識別情報を復号して前記乱数を取り出し、取り出された前記乱数と前記サーバ装置に渡しておいた乱数との整合性を検査する検査手段をさらに有することを特徴とする請求項６記載のクライアント装置。
【請求項８】
無効化されているコンテンツの有効化処理を、サーバ装置の処理と連携して行うクライアント装置において、
前記サーバ装置に対して、識別情報要求を送信する識別情報要求送信手段と、
前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した課金処理の処理要求を記憶する記憶手段と、
前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記課金処理の前記処理要求を送信する処理要求送信手段と、
前記サーバ装置から前記課金処理の完了通知を受け取ると、無効化されている前記コンテンツの有効化処理を実行する有効化処理実行手段と、
前記処理要求送信手段で送信した前記処理要求に対する完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送する再送手段と、
前記有効化処理が完了すると、前記サーバ装置に対して前記有効化処理の処理完了応答を送信する有効化処理完了応答送信手段と、
前記有効化処理が完了すると、前記識別情報が付与された前記課金処理の前記処理要求を前記記憶手段から消去する消去手段と、
を有することを特徴とするクライアント装置。
【請求項９】
ネットワークを介して接続された他の装置との間で連携した処理を行うサーバ装置における連携処理提供方法であって、
識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、
生成された当該識別情報を前記クライアント装置に対して送信し、
前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶手段に記憶し、
前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行し、
前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信し、
前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、
ことを特徴とする連携処理提供方法。
【請求項１０】
ネットワークを介して接続されたサーバ装置との間で連携した処理を行うクライアント装置における連携処理方法であって、
前記サーバ装置に対して、識別情報要求を送信し、
前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した第１の処理の処理要求を記憶手段に記憶し、
前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信し、
前記サーバ装置から前記第１の処理の完了通知を受け取った場合には、前記第１の処理にあらかじめ関連づけられた第２の処理を実行し、
前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送し、
前記第２の処理が完了すると、前記サーバ装置に対して前記第２の処理の処理完了応答を送信し、
前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、
ことを特徴とする連携処理方法。
【請求項１１】
ネットワークを介して接続された他の装置との間で連携した処理を行うためのプログラムであって、
コンピュータに、
識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、
生成された当該識別情報を前記クライアント装置に対して送信し、
前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶手段に記憶し、
前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行し、
前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信し、
前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、
処理を実行させることを特徴とするプログラム。
【請求項１２】
ネットワークを介して接続されたサーバ装置との間で連携した処理を行うためのプログラムであって、
コンピュータに、
前記サーバ装置に対して、識別情報要求を送信し、
前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した第１の処理の処理要求を記憶手段に記憶し、
前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信し、
前記サーバ装置から前記第１の処理の完了通知を受け取った場合には、前記第１の処理にあらかじめ関連づけられた第２の処理を実行し、前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送し、
前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、
処理を実行させることを特徴とするプログラム。
【請求項１３】
ネットワークを介して接続された他の装置との間で連携した処理を行うためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、
生成された当該識別情報を前記クライアント装置に対して送信し、
前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶手段に記憶し、
前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行し、
前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信し、
前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、
処理を実行させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
ネットワークを介して接続されたサーバ装置との間で連携した処理を行うためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
前記サーバ装置に対して、識別情報要求を送信し、
前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した第１の処理の処理要求を記憶手段に記憶し、
前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信し、
前記サーバ装置から前記第１の処理の完了通知を受け取った場合には、前記第１の処理にあらかじめ関連づけられた第２の処理を実行し、前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送し、
前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、
処理を実行させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータ間の情報通信を行う通信システム、サーバ装置、クライアント装置、連携処理提供方法、連携処理方法、プログラムおよび記録媒体に関し、特にネットワークを介して接続された装置間で連携した処理を行うための通信システム、サーバ装置、クライアント装置、連携処理提供方法、連携処理方法、プログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
コンピュータをはじめとするデジタル機器の発達に伴い、音楽・映像などのデジタルコンテンツ（以下、コンテンツ）を扱えるようになった。さらに、情報通信技術の発達に伴い、各種コンテンツをインターネット上から購入できるサービスも増えてきている。
【０００３】
たとえば、ユーザはインターネット上のショップ（サーバ装置）で欲しいコンテンツを見つけると、まず暗号化されたコンテンツをクライアント装置にダウンロードすることができる。この時点では、コンテンツは有効化されていない。たとえば、コンテンツが暗号化されている。
【０００４】
ユーザは、クライアント装置を用いて、コンテンツの購入代金の支払いに必要な情報（ユーザ情報）をサーバ装置に送信する。すると、サーバ装置からクライアント装置へ、コンテンツを有効化するための情報（たとえば、復号鍵）が返される。クライアント装置では、サーバ装置から送られた情報を用いて、コンテンツを有効化できる。
【０００５】
コンテンツは、有効化されることにより、クライアント装置において利用可能となる。たとえば、音楽データであれば、その音楽を再生することができるようになる。
【０００６】
【発明が解決しようとする課題】
ところで、このようなサービスを提供するシステムでは、コンテンツの有効化と購入代金の支払いとが必ず同期して行われる必要がある。すなわち、コンテンツの有効化の処理が行われた際には、必ず購入代金の支払い処理が行われる必要がある。同様に、購入代金の支払い処理が行われた際には、必ずコンテンツの有効化の処理が行われる必要がある。
【０００７】
しかし、インターネットのような広域ネットワークを介したデータ通信では、ネットワークの障害などで、トランザクションが終了できない場合があり得る。たとえば、サーバ装置からクライアント装置へＩＤ（IDentification）とパスワードとを送信中にネットワークに障害が発生すると、ユーザが代金を支払ったにも拘わらず、そのユーザがコンテンツを有効化できないという事態が発生する。このとき、代金の支払いに必要なユーザ情報をクライアントからサーバへ再送すると、代金を二重に徴収されてしまう。
【０００８】
したがって、ネットワークの障害が発生しても、コンテンツの有効化と購入代金の支払いとのうちの一方の処理が完了した場合には、必ず他方の処理を完了できることを保証したシステムが望まれている。
【０００９】
本発明はこのような点に鑑みてなされたものであり、異なる装置で実行される互いに関連する２つの処理に関して、共に１回ずつの実行を保証した通信システム、サーバ装置、クライアント装置、連携処理提供方法、連携処理方法、プログラムおよび記録媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
第１の発明では、上記課題を解決するために、ネットワークを介して接続された装置間で連携した処理を行う通信システムにおいて、識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信する識別情報送信手段と、前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶する第１の記憶手段と、前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行する第１の処理実行手段と、前記第１の処理実行手段で前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信する第１処理完了通知送信手段と、前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記第１の記憶手段から消去する第１の消去手段と、を有するサーバ装置と、前記サーバ装置に対して、前記識別情報要求を送信する識別情報要求送信手段と、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を記憶する第２の記憶手段と、前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信する処理要求送信手段と、前記サーバ装置から前記完了通知を受け取ると、前記第１の処理にあらかじめ関連づけられた前記第２の処理を実行する第２の処理実行手段と、前記処理要求送信手段で送信した前記処理要求に対する前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送する再送手段と、前記第２の処理が完了すると、前記サーバ装置に対して前記第２の処理の前記処理完了応答を送信する第２処理完了応答送信手段と、前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記第２の記憶手段から消去する第２の消去手段と、を有する前記クライアント装置と、を具備することを特徴とする通信システムが提供される。
【００１１】
このような通信システムによれば、クライアント装置の処理要求送信手段により、サーバ装置に対して、識別情報が付与された第１の処理の処理要求が送信される。１回目の処理要求であれば、サーバ装置の第１の処理実行手段により、第１の処理が実行され、第１の処理が完了したときに、完了通知送信手段により、完了通知がクライアント装置に送信される。完了通知がクライアント装置に到達すれば、第２の処理実行手段により第２の処理が実行される。完了通知がクライアント装置に到達する前に通信エラーが検出されれば、再送手段により処理要求が再送される。サーバ装置では、既に第１の処理が完了しているため、第１の処理は実行せずに、完了通知送信手段により、完了通知がクライアント装置に送信される。
【００１２】
第２の発明では、上記課題を解決するために、ネットワークを介して接続された他の装置との間で連携した処理を行うサーバ装置において、識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信する識別情報送信手段と、前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶する記憶手段と、前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行する第１の処理実行手段と、前記第１の処理実行手段で前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信する第１処理完了通知送信手段と、前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する消去手段と、を有することを特徴とするサーバ装置が提供される。
【００１３】
このようなサーバ装置は、上記の第１の発明に係る通信システムのサーバ装置として機能する。
第３の発明では、上記課題を解決するために、有償のコンテンツの代金の課金代行を行うサーバ装置において、識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信する識別情報送信手段と、前記クライアント装置から前記識別情報が付与された前記コンテンツの代金の課金処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶する記憶手段と、前記クライアント装置から前記識別情報が付与された前記コンテンツの代金の前記課金処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記課金処理を実行する課金処理実行手段と、前記課金処理実行手段で前記課金処理が完了したとき、および前記クライアント装置から完了した前記課金処理と同じ識別情報が付与された前記課金処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記課金処理の完了通知を送信する課金処理完了通知送信手段と、前記課金処理の完了通知を送信後、前記クライアント装置から前記課金処理にあらかじめ関連づけられた有効化処理の完了応答を受け取ると、前記識別情報が付与された前記課金処理の前記処理要求を前記記憶手段から消去する消去手段と、を有することを特徴とするサーバ装置が提供される。
【００１４】
このようなサーバ装置は、上記第１の発明に係る通信システムの第１の処理として課金処理を行うサーバ装置として機能する。
第４の発明では、上記課題を解決するために、ネットワークを介して接続されたサーバ装置との間で連携した処理を行うクライアント装置において、前記サーバ装置に対して、識別情報要求を送信する識別情報要求送信手段と、前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した前記第１の処理の前記処理要求を記憶する記憶手段と、前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信する処理要求送信手段と、前記サーバ装置から前記第１の処理の完了通知を受け取ると、前記第１の処理にあらかじめ関連づけられた第２の処理を実行する第２の処理実行手段と、前記処理要求送信手段で送信した前記処理要求に対する前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送する再送手段と、前記第２の処理が完了すると、前記サーバ装置に対して前記第２の処理の処理完了応答を送信する第２処理完了応答送信手段と、前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する消去手段と、を有することを特徴とするクライアント装置が提供される。
【００１５】
このようなクライアント装置は、上記第１の発明に係る通信システムのクライアント装置として機能する。
第５の発明では、上記課題を解決するために、無効化されているコンテンツの有効化処理を、サーバ装置の処理と連携して行うクライアント装置において、前記サーバ装置に対して、識別情報要求を送信する識別情報要求送信手段と、前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した課金処理の処理要求を記憶する記憶手段と、前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記課金処理の前記処理要求を送信する処理要求送信手段と、前記サーバ装置から前記課金処理の完了通知を受け取ると、無効化されている前記コンテンツの有効化処理を実行する有効化処理実行手段と、前記処理要求送信手段で送信した前記処理要求に対する完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送する再送手段と、前記有効化処理が完了すると、前記サーバ装置に対して前記有効化処理の処理完了応答を送信する有効化処理完了応答送信手段と、前記有効化処理が完了すると、前記識別情報が付与された前記課金処理の前記処理要求を前記記憶手段から消去する消去手段と、を有することを特徴とするクライアント装置が提供される。
【００１６】
このようなクライアント装置は、上記第１の発明に係る通信システムの第２の処理としてコンテンツの有効化処理を行うクライアント装置として機能する。
第６の発明では、上記課題を解決するために、ネットワークを介して接続された他の装置との間で連携した処理を行うサーバ装置における連携処理提供方法であって、識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信し、前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶手段に記憶し、前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行し、前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信し、前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、ことを特徴とする連携処理提供方法が提供される。
【００１７】
このような連携処理提供方法により、上記第２の発明に係るサーバ装置で実施される処理と同様の処理が実現される。
第７の発明では、上記課題を解決するために、ネットワークを介して接続されたサーバ装置との間で連携した処理を行うクライアント装置における連携処理方法であって、前記サーバ装置に対して、識別情報要求を送信し、前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した第１の処理の処理要求を記憶手段に記憶し、前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信し、前記サーバ装置から前記第１の処理の完了通知を受け取った場合には、前記第１の処理にあらかじめ関連づけられた第２の処理を実行し、前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送し、前記第２の処理が完了すると、前記サーバ装置に対して前記第２の処理の処理完了応答を送信し、前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、ことを特徴とする連携処理方法が提供される。
【００１８】
このような連携処理方法により、上記第４の発明に係るクライアント装置で実施される処理と同様の処理が実現される。
第８の発明では、上記課題を解決するために、ネットワークを介して接続された他の装置との間で連携した処理を行うためのプログラムであって、コンピュータに、識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信し、前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶手段に記憶し、前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行し、前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信し、前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、処理を実行させることを特徴とするプログラムが提供される。
【００１９】
このようなプログラムをコンピュータに実行させることにより、上記第２の発明に係るサーバ装置で実施される処理が実現される。
第９の発明では、上記課題を解決するために、ネットワークを介して接続されたサーバ装置との間で連携した処理を行うためのプログラムであって、コンピュータに、前記サーバ装置に対して、識別情報要求を送信し、前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した第１の処理の処理要求を記憶手段に記憶し、前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の処理要求を送信し、前記サーバ装置から前記第１の処理の完了通知を受け取った場合には、前記第１の処理にあらかじめ関連づけられた第２の処理を実行し、前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送し、前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、処理を実行させることを特徴とするプログラムが提供される。
【００２０】
このようなプログラムをコンピュータに実行させることにより、上記第４の発明に係るクライアント装置で実施される処理が実現される。
第１０の発明では、上記課題を解決するために、ネットワークを介して接続された他の装置との間で連携した処理を行うためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに、識別情報要求をクライアント装置から受け取るとユニークな識別情報を生成し、生成された当該識別情報を前記クライアント装置に対して送信し、前記クライアント装置から前記識別情報が付与された第１の処理の処理要求を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を記憶手段に記憶し、前記クライアント装置から前記識別情報が付与された前記第１の処理の前記処理要求を受け取ると、１つの前記識別情報に対して１回に限り、前記第１の処理を実行し、前記第１の処理が完了したとき、および前記クライアント装置から完了した前記第１の処理と同じ識別情報が付与された前記第１の処理の前記処理要求を再度受け取ったときに、前記クライアント装置に対して、前記第１の処理の完了通知を送信し、前記第１の処理の完了通知を送信後、前記クライアント装置から前記第１の処理にあらかじめ関連づけられた第２の処理の処理完了応答を受け取ると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、処理を実行させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【００２１】
このような記録媒体に記録されたプログラムをコンピュータに実行させることにより、上記第２の発明に係るサーバ装置で実施される処理が実現される。
第１１の発明では、上記課題を解決するために、ネットワークを介して接続されたサーバ装置との間で連携した処理を行うためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに、前記サーバ装置に対して、識別情報要求を送信し、前記識別情報要求に応じて前記サーバ装置から識別情報が送信されると、前記識別情報を付与した第１の処理の処理要求を記憶手段に記憶し、前記サーバ装置に対して、前記識別情報要求に応じて前記サーバ装置から送信された前記識別情報を付与した前記第１の処理の前記処理要求を送信し、前記サーバ装置から前記第１の処理の完了通知を受け取った場合には、前記第１の処理にあらかじめ関連づけられた第２の処理を実行し、前記完了通知を受け取る前に通信エラーを検出したら、前記サーバ装置に対して前記処理要求を再送し、前記第２の処理が完了すると、前記識別情報が付与された前記第１の処理の前記処理要求を前記記憶手段から消去する、処理を実行させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【００２２】
このような記録媒体に記録されたプログラムをコンピュータに実行させることにより、上記第４の発明に係るクライアント装置で実施される処理が実現される。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明に適用される基本技術を示す図である。本発明の通信システムでは、ネットワーク６を介して接続されたサーバ装置１とクライアント装置２との間で連携した処理が実行される。
【００２４】
サーバ装置１は、第１の処理実行手段１ａ、完了通知送信手段１ｂ、および記憶手段１ｃを有している。
第１の処理実行手段１ａは、識別情報３が付与された第１の処理の処理要求４を受け取ると、１つの識別情報に対して１回に限り、第１の処理を実行する。なお、第１の処理実行手段１ａは、受け取った処理要求４が記憶手段１ｃに記憶されているか否かにより、識別情報３に対する第１の処理が過去に完了しているか否かを判断する。
【００２５】
完了通知送信手段１ｂは、第１の処理実行手段１ａで第１の処理が完了したとき、および完了した第１の処理と同じ識別情報３が付与された第１の処理の処理要求４を再度受け取ったときに、クライアント装置２に対して、第１の処理の完了通知５を送信する。なお、完了通知送信手段１ｂは、受け取った処理要求４が記憶手段１ｃに記憶されているか否かにより、識別情報３に対する第１の処理が過去に完了しているか否かを判断する。
【００２６】
記憶手段１ｃは、第１の処理実行手段１ａにおいて第１の処理が完了すると、識別情報３が付与された第１の処理の処理要求４を、処理完了情報として記憶する。
【００２７】
クライアント装置２は、処理要求送信手段２ａ、第２の処理実行手段２ｂおよび再送手段２ｃを有している。
処理要求送信手段２ａは、サーバ装置１に対して識別情報３を付与した第１の処理の処理要求４を送信する。
【００２８】
第２の処理実行手段２ｂは、サーバ装置１から第１の処理の完了通知５を受け取ると、第１の処理にあらかじめ関連づけられた第２の処理を実行する。再送手段２ｃは、処理要求送信手段２ａで送信した処理要求４に対する完了通知５を受け取る前に通信エラーを検出したら、サーバ装置１に対して識別情報３を付与した処理要求４を再送する。通信エラーが検出される場合とは、たとえば、下位ネットワークレイヤよりエラーを受け付けるか、応答待ちが一定時間以上たった場合である。
【００２９】
このような通信システムにより、以下のような処理が行われる。
図２は、基本技術に係る処理の一例を示すシーケンス図である。これは、サーバ装置１において第１の処理実行後に、一時的な通信障害が発生した場合の例である。
【００３０】
クライアント装置２の処理要求送信手段２ａにより、サーバ装置１に対して、識別情報３を付与した第１の処理の処理要求４が送信される（ステップＳ１）。すると、サーバ装置１の第１の処理実行手段１ａと完了通知送信手段１ｂとにより、同じ識別情報３が付与された第１の処理の処理要求４に応じた処理が既に完了しているか否か（完了の有無）が判断される（ステップＳ２）。完了の有無は、識別情報３と処理要求４との組からなる処理完了情報が、記憶手段１ｃに記憶されているか否かによって判断できる。この時点では、最初の処理要求４であるため、記憶手段１ｃ内には、同じ内容の処理完了情報は記憶されていない。そこで、該当する処理は完了していないと判断され、第１の処理実行手段１ａにより、第１の処理が実行される（ステップＳ３）。
【００３１】
第１の処理が実行されると、記憶手段１ｃに、識別情報３が付与された処理要求４（識別情報３と処理要求４との組）からなる処理完了情報が記憶される（ステップＳ４）。そして、完了通知送信手段１ｂにより、クライアント装置２に対して完了通知５が送信される（ステップＳ５）。
【００３２】
この例では、ステップＳ５で送信した完了通知５は、通信障害によりクライアント装置２に渡らない。そのため、クライアント装置２の再送手段２ｃによりエラーが検出される（ステップＳ６）。すると、再送手段２ｃにより、サーバ装置１に対して識別情報３を付与した処理要求４が再送される（ステップＳ７）。
【００３３】
再送された識別情報３を付与した処理要求４を受け取ったサーバ装置１では、第１の処理実行手段１ａと完了通知送信手段１ｂとにより、記憶手段１ｃの記憶内容を参照することで、同じ識別情報３が付与された処理要求４に応じた処理が既に完了しているか否か（完了の有無）が判断される（ステップＳ８）。この時点では、同じ内容の処理完了情報が記憶手段１ｃに記憶されているため、識別情報３が付与された処理要求４に応じた処理は完了していると判断される。すると、完了通知送信手段１ｂにより、クライアント装置２に対して完了通知５が送信される（ステップＳ９）。
【００３４】
クライアント装置２で完了通知５が受信されると、第２の処理実行手段２ｂにより、第１の処理に関連する第２の処理が実行される（ステップＳ１０）。
このようにして、ネットワークの障害により通信が遮断されたとしても、第１の処理と第２の処理とが１回ずつ実行されることが保証される。この処理をコンテンツの有効化に当て嵌めると、サーバ装置１によるコンテンツ代金の課金処理と、クライアント装置２によるコンテンツの有効化の処理とが１回ずつ実行されることが保証される。これにより、コンテンツの提供者もしくはコンテンツを購入したユーザが不測の不利益を被ることがなくなる。すなわち、代金が課金されたにも拘わらずコンテンツが有効化されなかったり、代金が課金されることなくコンテンツが有効化されたりすることがなくなる。また、コンテンツのロッカーサービス、グルーピングサービスにも応用することができる。
【００３５】
なお、処理要求４に付加する識別情報３は、サーバ装置１においてユニークな情報である。そこで、以下の実施の形態では、識別情報３として、サーバ装置１からクライアント装置２に対してトランザクションＩＤ（ＴＩＤ）を発行するようにしてもよい。
【００３６】
また、クライアント装置２は、サーバ装置１に送信したＴＩＤと処理要求４とを記憶しておき、第２の処理が完了したときに、記憶していたＴＩＤと処理要求４とを消去するようにしてもよい。これにより、トランザクションが正常終了後（第１の処理と第２の処理との完了後）に、ＴＩＤを他の目的で不正に使用されることがなくなる。さらに、クライアント装置２の記憶領域の有効活用にもなる。
【００３７】
また、クライアント装置２としては、たとえば、パーソナルコンピュータなどの端末装置、携帯情報端末装置、あるいは携帯電話機などの移動体通信装置を用いることができる。
【００３８】
以下、インターネットを介した音楽データ等のコンテンツの販売に本発明を適用した場合を例にとり、関連技術および実施の形態について説明する。
［関連技術］
図３は、関連技術および本発明の実施の形態のネットワークシステムの構成例を示す図である。図３の例では、インターネット２１に、アプリケーションサーバ１００、コンテンツサーバ３１０、課金サーバ３２０、アクセスサーバ３３０および端末装置４００が接続されている。また、公衆回線網２２に、基地局２３を介した携帯電話機２００、課金サーバ３２０、およびアクセスサーバ３３０が接続されている。
【００３９】
基地局２３は、携帯電話機２００および図示しない所定の地域内の他の携帯電話機との間で、無線によって音声やデータの送受信を行う。
アプリケーションサーバ１００は、コンテンツサーバ３１０から不特定多数の者に有料で提供されるコンテンツ（音楽データ、画像データ、プログラム等）を有効化させるための処理を、携帯電話機２００や端末装置４００と連携して行う。
【００４０】
携帯電話機２００は、基地局２３を介して、図示しない他の携帯電話機との間で通信を行うことができる。また、携帯電話機２００は、インターネット２１上の各種サーバ（アプリケーションサーバ１００やコンテンツサーバ３１０）にアクセスし、連携処理、情報の閲覧、コンテンツのダウンロードなどをすることができる。
【００４１】
コンテンツサーバ３１０は、端末装置４００や携帯電話機２００のユーザに対して有料で提供するためのコンテンツを格納している。コンテンツサーバ３１０は、端末装置４００や携帯電話機２００からの要求に応答して、コンテンツを端末装置４００または携帯電話機２００に送信する。
【００４２】
課金サーバ３２０は、携帯電話機２００の通話時間などの情報を管理しており、携帯電話機２００の通話料などの料金徴収処理を行う。また、課金サーバ３２０は、アプリケーションサーバ１００からの要求に応じて、携帯電話機２００にダウンロードされたコンテンツの代金徴収を行う。
【００４３】
アクセスサーバ３３０は、携帯電話機２００を、インターネット２１上の１つの機器として接続するための処理を行う。たとえば、アクセスサーバ３３０は、携帯電話機２００に対して、ＩＰ(Internet Protocol）アドレスを割り振る処理を行う。
【００４４】
端末装置４００は、インターネット２１を介して各種サーバ（アプリケーションサーバ１００やコンテンツサーバ３１０）にアクセスし、連携処理、情報の閲覧、コンテンツのダウンロードなどをすることができる。
【００４５】
以上のような構成のネットワークシステムにおいて、たとえば、コンテンツサーバ３１０が管理するコンテンツを携帯電話機２００や端末装置４００にダウンロードし、そのコンテンツを有効化することができる。
【００４６】
以下、図４〜図６を参照して、各装置のハードウェア構成について説明する。
図４は、アプリケーションサーバのハードウェア構成例を示すブロック図である。アプリケーションサーバ１００は、ＣＰＵ(Central Processing Unit)１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ(Random Access Memory)１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００４７】
ＲＡＭ１０２は、ＣＰＵ１０１に実行させるＯＳ(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３は、ＯＳやアプリケーションプログラムが格納される。
【００４８】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。
【００４９】
入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００５０】
通信インタフェース１０６は、インターネット２１に接続されている。通信インタフェース１０６は、インターネット２１を介して、他のコンピュータとの間でデータの送受信を行う。
【００５１】
以上のようなハードウェア構成によって、関連技術および本実施の形態の処理機能を実現することができる。
なお、図４には、アプリケーションサーバ１００のハードウェア構成について説明したが、コンテンツサーバ３１０、課金サーバ３２０、およびアクセスサーバ３３０も、図４に示したハードウェア構成と同様の構成で実現することができる。
【００５２】
図５は、携帯電話機のハードウェア構成例を示すブロック図である。携帯電話機２００は、携帯電話機２００の全体の機能を制御する主制御部２０１に対して、電源回路２０２、操作入力制御部２０３、表示制御部２０４、多重分離部２０５、記録再生部２０６、変復調回路２０７、音声コーデック部２０８、画像デコーダ２０９およびタンパーレジスタントモジュール２２０がバス２１０を介して接続されている。
【００５３】
主制御部２０１は、ＣＰＵやＲＡＭが実装されており、１つのコンピュータとして機能する。
電源回路２０２は、ユーザにより電源をオンにする操作入力が行われると、図示していないバッテリパックから各回路に対して電源を供給する。携帯電話機２００の各回路に対して、バッテリパックから電源が供給されることにより、図５に示す各要素の機能が動作可能となる。
【００５４】
操作入力制御部２０３には、操作キー２１１とダイヤル２１２とが接続されている。操作入力制御部２０３は、操作キー２１１やダイヤル２１２の操作内容を、バス２１０を介して主制御部２０１に転送する。
【００５５】
表示制御部２０４には、液晶ディスプレイ２１３が接続されている。表示制御部２０４は、主制御部２０１から送られた情報や命令に従って表示画像を生成し、生成した表示画像を液晶ディスプレイ２１３に表示させる。
【００５６】
多重分離部２０５は、音声データと画像データとを受け取ると、所定の方式で受け取ったデータを多重化し、変復調回路２０７に送る。また、多重分離部２０５は、変復調回路２０７から多重化データが送られると、その多重化データを分離する。たとえば、多重分離部２０５は、多重化データを、符号化画像データと音声データとに分離する。多重分離部２０５は、分離した画像データを、記録再生部２０６や画像デコーダ２０９に渡す。また、多重分離部２０５は、分離した音声データを、音声コーデック部２０８に渡す。
【００５７】
記録再生部２０６は、半導体メモリ２１４を接続することができる。記録再生部２０６は、主制御部２０１からの指示に従って、データを半導体メモリ２１４に記録したり、半導体メモリ２１４に記録されたデータを読み出したりする。
【００５８】
変復調回路２０７には、送受信回路２１５が接続されている。変復調回路２０７は、多重分離部２０５から送られた多重化データに対してスペクトラム拡散処理を施し、送受信回路２１５に送る。また、変復調回路２０７は、送受信回路２１５から受信信号を受け取ると、その受信信号に対してスペクトラム逆拡散処理を施し、多重分離部２０５に送る。
【００５９】
送受信回路２１５には、アンテナ２１６が接続されている。送受信回路２１５は、変復調回路２０７から送られた信号をアンテナ２１６を介して、基地局２３に送信する。また、送受信回路２１５は、基地局２３から発信された信号をアンテナ２１６を介して受信し、その受信信号を変復調回路２０７に送る。
【００６０】
音声コーデック部２０８には、マイク２１７とスピーカ２１８とが接続されている。音声コーデック部２０８は、多重分離部２０５から音声データを受け取ると、その音声データをアナログ信号に変換し、スピーカ２１８に供給する。また、音声コーデック部２０８は、マイク２１７からアナログの音声信号が入力されると、音声信号をデジタルの音声データに変換し、多重分離部２０５に渡す。
【００６１】
画像デコーダ２０９は、符号化されたままの画像データを受け取ると、所定の符号化方式に対応した復号化方式で画像データを復号する。画像デコーダ２０９は、復号した画像データを表示制御部２０４に送る。
【００６２】
タンパーレジスタントモジュール２２０は、不正防護機能を有している。不正防護機能としては、たとえば、タンパーレジスタントモジュール２２０内のデータを不正に読み出すための処理が行われると、内部のデータを消去する機能がある。
【００６３】
タンパーレジスタントモジュール２２０は、ＣＰＵやＲＡＭなどのコンピュータとしての機能を独自に有しており、主制御部２０１からの命令に従って、各種データ処理を実行する。たとえば、タンパーレジスタントモジュール２２０は、携帯電話機２００のユーザに対して秘匿すべきデータ（トランザクションＩＤ：ＴＩＤなど）を、内部のＲＡＭに格納する。また、タンパーレジスタントモジュール２２０は、半導体メモリ２１４などに格納されたコンテンツの有効化の処理を行う。タンパーレジスタントモジュール２２０において有効化処理が行われることで、コンテンツの有効化の処理のアルゴリズムが、携帯電話機２００のユーザに対して秘匿した状態が保たれる。
【００６４】
図６は、端末装置のハードウェア構成例を示すブロック図である。端末装置４００は、ＣＰＵ４０１によって装置全体が制御されている。ＣＰＵ４０１には、バス４１０を介してＲＡＭ４０２、ハードディスクドライブ（ＨＤＤ）４０３、グラフィック処理装置４０４、入力インタフェース４０５、通信インタフェース４０６、メモリ記録再生部４０７、ディスクドライブ４０８、およびタンパーレジスタントモジュール４０９が接続されている。
【００６５】
グラフィック処理装置４０４には、モニタ１１ａが接続されている。入力インタフェース４０５には、キーボード１２ａとマウス１３ａとが接続されている。
ＲＡＭ４０２、ハードディスクドライブ（ＨＤＤ）４０３、グラフィック処理装置４０４、入力インタフェース４０５、通信インタフェース４０６、モニタ１１ａ、キーボード１２ａおよびマウス１３ａの機能は、図４に示したアプリケーションサーバ１００における同名の要素と同じ機能であるため説明を省略する。
【００６６】
メモリ記録再生部４０７は、半導体メモリ１４を接続することができる。メモリ記録再生部４０７は、ＣＰＵ４０１からの命令に従って、半導体メモリ１４にデータを書き込んだり、半導体メモリ１４に記録されたデータを読み出したりすることができる。
【００６７】
ディスクドライブ４０８は、光ディスク１５を着脱可能であり、ＣＰＵ４０１からの命令に従って、光ディスク１５にデータを記録したり、光ディスク１５に記録されたデータを読み出したりすることができる。光ディスク１５には、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。
【００６８】
タンパーレジスタントモジュール４０９は、ＣＰＵやＲＡＭなどのコンピュータとしての機能を独自に有しており、ＣＰＵ４０１からの命令に従って、各種データ処理を実行する。たとえば、タンパーレジスタントモジュール４０９は、端末装置４００のユーザに対して秘匿すべきデータ（トランザクションＩＤ：ＴＩＤなど）を、内部のＲＡＭに格納する。また、タンパーレジスタントモジュール４０９は、コンテンツの有効化の処理を行う。タンパーレジスタントモジュール４０９において有効化処理が行われることで、コンテンツの有効化の処理のアルゴリズムが、端末装置４００のユーザに対して秘匿した状態が保たれる。タンパーレジスタントモジュール４０９は、ＲＡＭ４０２やＨＤＤ４０３上のソフトウェアとして実現してもよい。
【００６９】
次に、図７〜図１５を参照して、コンテンツサーバ３１０、課金サーバ３２０、アプリケーションサーバ１００および携帯電話機２００において、本実施の形態の実現に必要な処理機能およびデータ構造について説明する。
【００７０】
図７は、コンテンツサーバの処理機能の一例を示す機能ブロック図である。コンテンツサーバ３１０は、コンテンツ情報記憶部３１１、通信処理部３１２、コンテンツ提供部３１３および値段通知部３１４を有している。
【００７１】
コンテンツ情報記憶部３１１は、インターネット２１を介して有償で提供するコンテンツや、そのコンテンツの識別情報（コンテンツＩＤ）などを格納している。コンテンツ情報記憶部３１１のデータ構造については後述する。
【００７２】
通信処理部３１２は、インターネット２１を介して、他の装置との間でデータ通信を行う。
コンテンツ提供部３１３は、携帯電話機２００や端末装置４００からの要求に応答して、コンテンツやそのコンテンツの復号鍵などのデータを送信する。
【００７３】
値段通知部３１４は、アプリケーションサーバ１００からの要求に応答して、コンテンツの値段を通知する。
図８は、コンテンツ情報記憶部のデータ構造の一例を示す図である。図８の例では、コンテンツ情報記憶部３１１には、コンテンツＩＤ、コンテンツデータ、復号鍵、および値段の各欄が設けられている。各欄の同じ行の情報（図中、横に並んだ情報）は、互いに関連づけられている。
【００７４】
コンテンツＩＤの欄には、コンテンツサーバ３１０に格納されているコンテンツを一意に識別可能なユニークな識別子（コンテンツＩＤ）が登録されている。
コンテンツデータの欄には、コンテンツが登録されている。コンテンツデータの欄に登録されているコンテンツは、暗号化されている。
【００７５】
復号鍵の欄には、コンテンツデータの欄に登録されているコンテンツの復号鍵が登録されている。
値段の欄には、コンテンツデータの欄に登録されているコンテンツの値段が登録されている。
【００７６】
図９は、課金サーバの処理機能の一例を示す機能ブロック図である。課金サーバ３２０は、ユーザ情報記憶部３２１、通信処理部３２２、ＩＰアドレス取得部３２３、および課金処理部３２４を有している。
【００７７】
ユーザ情報記憶部３２１は、携帯電話の使用契約をしているユーザに関する情報を格納している。ユーザ情報記憶部３２１の内容については後述する。
通信処理部３２２は、インターネット２１や公衆回線網２２を介したデータ通信を行う。
【００７８】
ＩＰアドレス取得部３２３は、アクセスサーバ３３０に対して、ＩＰアドレス情報の取得要求を定期的に送信し、各携帯電話機に割り当てられたＩＰアドレスをアクセスサーバ３３０から取得する。ＩＰアドレス取得部３２３は、取得した各携帯電話機のＩＰアドレスを、ユーザ情報記憶部３２１に登録する。
【００７９】
課金処理部３２４は、アプリケーションサーバ１００からの要求に応じて、ユーザの口座からコンテンツの代金などの課金処理を行う。
図１０は、ユーザ情報記憶部のデータ構造の一例を示す図である。図１０の例では、ユーザ情報記憶部３２１には、ユーザＩＤ、電話番号、ユーザ名、口座番号、およびＩＰアドレスの各欄が設けられている。ユーザ情報記憶部３２１の各欄の同じ行の情報（図中、横に並んだ情報）は、互いに関連づけられている。
【００８０】
ユーザＩＤの欄には、携帯電話の使用契約をしているユーザを一意に識別するための識別情報が格納されている。
電話番号の欄には、ユーザが使用している携帯電話機の電話番号が登録されている。
【００８１】
ユーザ名の欄は、ユーザの名前が登録されている。
口座番号の欄には、携帯電話の使用料の自動引き落としのための口座の情報が登録されている。たとえば、引き落とし口座がある銀行の銀行名、支店名、口座種別（普通口座、当座など）、および口座番号が登録されている。
【００８２】
ＩＰアドレスの欄には、ユーザの携帯電話機に割り当てられたＩＰアドレスが登録される。ＩＰアドレスは、ＩＰアドレス取得部３２３によって随時更新される。
【００８３】
図１１は、アプリケーションサーバの処理機能の一例を示すブロック図である。アプリケーションサーバ１００は、サーバ側データ記憶部１１１、通信処理部１１２、サーバ管理部１１３、ＴＩＤ発行部１１４、およびサーバ処理部１１５を有している。
【００８４】
サーバ側データ記憶部１１１は、発行されたトランザクションＩＤ毎の管理情報を記憶している。サーバ側データ記憶部１１１の内容の詳細は後述する。
通信処理部１１２は、インターネット２１を介した通信を行う。たとえば、通信処理部１１２は、携帯電話機２００や端末装置４００からのメッセージを受け取り、そのメッセージをサーバ管理部１１３に渡す。また、通信処理部１１２は、サーバ管理部１１３から受け取ったメッセージを携帯電話機２００や端末装置４００に送信する。
【００８５】
サーバ管理部１１３は、通信処理部１１２を経由して、携帯電話機２００や端末装置４００とメッセージを交換し、そのメッセージに応じた処理を実行する。たとえば、サーバ管理部１１３は、携帯電話機２００からＴＩＤの発行要求を含むメッセージを受け取ると、ＴＩＤ発行部１１４に対して、ＴＩＤの発行を要求する。そして、ＴＩＤ発行部１１４が新たなＴＩＤを発行したら、サーバ管理部１１３は、発行されたＴＩＤを携帯電話機２００に送信する。また、サーバ管理部１１３は、サーバ側データ記憶部１１１のデータを管理している。
【００８６】
ＴＩＤ発行部１１４は、サーバ管理部１１３からの要求に応じて、アプリケーションサーバ１００の生涯を通じてユニークなＴＩＤ（たとえばシーケンシャルな番号）を発行する。ＴＩＤ発行部１１４は、発行したＴＩＤをサーバ管理部１１３に渡す。
【００８７】
サーバ処理部１１５は、サーバ管理部１１３からの要求に従って処理を実行し、処理結果をサーバ管理部１１３に返す。たとえば、サーバ処理部１１５は、サーバ管理部１１３から所定のユーザに対するコンテンツ購入代金の課金要求を受け取ると、通信処理部１１２を介して、課金サーバ３２０に対して課金要求のメッセージを送信する。そして、サーバ処理部１１５は、課金サーバ３２０から課金処理の結果を受け取ると、その内容をサーバ管理部１１３に通知する。
【００８８】
図１２は、サーバ側データ記憶部のデータ構造の一例を示す図である。図１２の例では、サーバ側データ記憶部１１１には、ＴＩＤ、処理要求、課金未処理フラグの各欄が設けられている。サーバ側データ記憶部１１１の各欄の同じ行のデータ（図中、横に並んだデータ）は、互いに関連づけられている。
【００８９】
ＴＩＤの欄には、処理要求に付与されたアプリケーションサーバ１００に送られてきたＴＩＤが格納されている。
処理要求の欄には、ＴＩＤとともに送られた処理要求が格納されている。
【００９０】
課金未処理フラグの欄には、課金処理が完了したか否かを示すフラグ（課金未処理フラグ）が設定されている。たとえば、課金未処理フラグが１の場合には、課金処理は完了していないことを示している。課金未処理フラグが０の場合には、課金処理が完了していることを示している。すなわち、課金未処理フラグが０に設定されることで、ＴＩＤと処理要求との組が処理完了情報（処理要求に応じた処理が完了したことを示す情報）としての意味を成す。
【００９１】
図１３は、携帯電話機の処理機能の一例を示す機能ブロック図である。携帯電話機２００は、コンテンツ記憶部２３１、有効化情報記憶部２３２、通信処理部２３３、ユーザ要求入力部２３４、有効化管理部２３５、および有効化処理部２３６を有している。なお、有効化情報記憶部２３２、有効化管理部２３５、および有効化処理部２３６は、タンパーレジスタントモジュール２２０の内部で実現される機能である。
【００９２】
コンテンツ記憶部２３１は、たとえば、半導体メモリ２１４の少なくとも一部の記憶領域である。コンテンツ記憶部２３１には、コンテンツサーバ３１０からダウンロードしたコンテンツが格納される。
【００９３】
有効化情報記憶部２３２は、ＴＩＤと処理要求との組を格納する。
通信処理部２３３は、アクセスサーバ３３０を介したインターネット２１上の機器との通信を行う。
【００９４】
ユーザ要求入力部２３４は、ユーザからの操作キー２１１やダイヤル２１２を用いた操作入力を受け付け、その操作入力に対応する要求を有効化管理部２３５に渡す。
【００９５】
有効化管理部２３５は、通信処理部２３３を経由して、アプリケーションサーバ１００とメッセージを交換し、そのメッセージに応じた処理を行う。また、有効化管理部２３５は、ユーザ要求入力部２３４からの要求に応じて、処理要求を生成する。生成される処理要求は、たとえば、コンテンツのダウンロード要求、ＴＩＤの取得要求、課金の処理要求などである。有効化管理部２３５は、生成した処理要求を含むメッセージを、通信処理部２３３を介して、アプリケーションサーバ１００やコンテンツサーバ３１０に送信する。なお、課金の処理要求のメッセージには、ＴＩＤが追加される。
【００９６】
また、有効化管理部２３５は、アプリケーションサーバ１００やコンテンツサーバ３１０から送られるデータや情報に基づいて、所定の処理を行う。たとえば、有効化管理部２３５は、コンテンツサーバ３１０からダウンロードしたコンテンツなどのデータを、コンテンツ記憶部２３１に格納する。また、有効化管理部２３５は、ＴＩＤを付加した課金の処理要求メッセージをアプリケーションサーバ１００に送信したときには、そのＴＩＤと処理要求メッセージとの組を有効化情報記憶部２３２に格納する。さらに、有効化管理部２３５は、アプリケーションサーバ１００から課金処理の完了通知を受け取ると、有効化情報記憶部２３２内の対応する情報を削除すると共に、有効化処理部２３６に対して、有効化処理の実行を指示する。
【００９７】
有効化処理部２３６は、有効化管理部２３５からの指示に従って、コンテンツ記憶部２３１に格納されているコンテンツを有効化する。たとえば、有効化処理部２３６は、暗号化されているコンテンツの復号化の処理を行う。また、著作権保護機能を有する端末においては、そのシステム内でコンテンツ鍵を有効にするという処理を行う。
【００９８】
図１４は、コンテンツ記憶部のデータ構造の一例を示す図である。図１４の例では、コンテンツ記憶部２３１には、コンテンツＩＤ、コンテンツデータ、および復号鍵の欄が設けられている。コンテンツ記憶部２３１の各欄の同じ行の情報（図中、横に並んだ情報）は、互いに関連づけられている。
【００９９】
コンテンツＩＤの欄には、携帯電話機２００にダウンロードしたコンテンツのコンテンツＩＤが格納されている。
コンテンツデータの欄には、携帯電話機２００にダウンロードしたコンテンツのデータ本体が格納されている。
【０１００】
復号鍵の欄には、携帯電話機２００にダウンロードしたコンテンツの復号鍵が格納されている。
図１５は、有効化情報記憶部のデータ構造の一例を示す図である。図１５の例では、有効化情報記憶部２３２には、ＴＩＤと処理要求との欄が設けられている。有効化情報記憶部２３２の各欄の同じ行の情報（図中、横に並んだ情報）は、互いに関連づけられている。
【０１０１】
ＴＩＤの欄には、アプリケーションサーバ１００から携帯電話機２００に対して発行されたＴＩＤが格納されている。
処理要求の欄には、ＴＩＤを付与してアプリケーションサーバ１００に送信した処理要求が、そのとき付与したＴＩＤに関連づけて格納されている。
【０１０２】
なお、端末装置４００の処理機能の構成は、図１３に示した携帯電話機２００の構成と同様である。
ここで、携帯電話機２００においてコンテンツの有効化をする場合を例にとり、本発明の実施の形態における処理を説明する。
【０１０３】
図１６は、携帯電話機でコンテンツを有効化する際のトランザクションのシーケンス図である。図１６には、障害が発生しない正常系の場合のトランザクションが示されている。なお、コンテンツサーバ３１０、課金サーバ３２０、およびアプリケーションサーバ１００は、常時稼動している。また、アプリケーションサーバ１００と携帯電話機２００における具体的な処理は、図１７〜図１９に示すフローチャートを用いて説明する。
【０１０４】
まず、携帯電話機２００の電源が投入されると、携帯電話機２００は、ユーザの操作入力に応答して、コンテンツ取得要求をコンテンツサーバ３１０に送信する（ステップＳ１１）。
【０１０５】
コンテンツサーバ３１０は、携帯電話機２００からのコンテンツ取得要求のメッセージに応答して、指定されたコンテンツを携帯電話機２００にダウンロードする（ステップＳ１２）。ダウンロードされるコンテンツには、コンテンツＩＤと、そのコンテンツの復号鍵が含まれている。
【０１０６】
具体的には、コンテンツサーバ３１０のコンテンツ提供部３１３がコンテンツ取得要求で指定されたコンテンツ、そのコンテンツのコンテンツＩＤ、および復号鍵をコンテンツ情報記憶部３１１から取得する。そして、コンテンツ提供部３１３は、コンテンツ、コンテンツＩＤ、および復号鍵の組を携帯電話機２００に対して送信する。携帯電話機２００では、有効化管理部２３５がコンテンツ、コンテンツＩＤ、および復号鍵の組を受け取り、それらの情報をコンテンツ記憶部２３１に格納する。
【０１０７】
コンテンツを取得した携帯電話機２００は、ユーザの操作入力に応答して、ＴＩＤ要求をアプリケーションサーバ１００に送信する（ステップＳ１３）。なお、ユーザの操作入力は省略し、コンテンツ取得後、ＴＩＤ要求を送信してもよい。アプリケーションサーバ１００は、携帯電話機２００からのＴＩＤ要求のメッセージを受け取ると、ＴＩＤを生成する（ステップＳ１４）。そして、アプリケーションサーバ１００は、携帯電話機２００に対してＴＩＤを応答する（ステップＳ１５）。携帯電話機２００は、アプリケーションサーバ１００から送られたＴＩＤを保存する（ステップＳ１６）。
【０１０８】
携帯電話機２００は、ユーザからの操作入力に応答して、処理要求メッセージを生成し、保存する（ステップＳ１７）。なおユーザの操作入力を省略し、ステップＳ１６後、すぐに処理要求メッセージを生成・保存してもよい。そして、携帯電話機２００は、ＴＩＤを付与した処理要求メッセージをアプリケーションサーバ１００に対して送信する（ステップＳ１８）。
【０１０９】
ＴＩＤが付与された処理要求メッセージを受け取ったアプリケーションサーバ１００は、同じＴＩＤが設定された処理要求が既に保存されているか否かを判断する（ステップＳ１９）。該当する処理要求が保存されていなければ、アプリケーションサーバ１００は、ＴＩＤと処理要求メッセージとを保存する（ステップＳ２０）。そして、アプリケーションサーバ１００は、保存したＴＩＤと処理要求メッセージとの組に対して、未課金フラグを１に設定する（ステップＳ２１）。
【０１１０】
次に、アプリケーションサーバ１００は、コンテンツＩＤを指定して、コンテンツサーバ３１０に対してコンテンツの値段を問い合わせる（ステップＳ２２）。コンテンツサーバ３１０は、アプリケーションサーバ１００からの問い合わせを受け取ると、コンテンツの値段を応答する（ステップＳ２３）。具体的には、コンテンツ提供部３１３が、コンテンツ情報記憶部３１１を参照し、値段の問い合わせにおいて指定されたコンテンツＩＤに関連づけられた値段を取得する。コンテンツ提供部３１３は、取得した値段を、アプリケーションサーバ１００に対して送信する。
【０１１１】
アプリケーションサーバ１００は、携帯電話機２００のＩＰアドレスを指定して、コンテンツサーバ３１０から送られた値段の課金処理要求を課金サーバ３２０に対して送信する（ステップＳ２４）。
【０１１２】
課金サーバ３２０は、アプリケーションサーバ１００からの課金処理要求に応じて課金処理を実行し、処理結果をアプリケーションサーバ１００に対して送信する（ステップＳ２５）。具体的には、課金処理部３２４がユーザ情報記憶部３２１を参照し、アプリケーションサーバ１００からの課金処理要求で指定されているＩＰアドレスから、課金対象のユーザを決定する。そして、課金処理部３２４は、課金対象のユーザの口座番号に基づいて、その口座を管理している金融機関のサーバ（図示せず）にアクセスし、課金対象のユーザの口座からのコンテンツの値段に相当する金額の引き落としを依頼する。なお、引き落とされたコンテンツ代金が、コンテンツサーバ３１０の運営者の口座に、自動的に振り込まれるようにしてもよい。
【０１１３】
なお、口座からの引き落としをすぐに行わずに、携帯電話機の使用料に対してコンテンツ代金を加算しておき、携帯電話の使用料の引き落とし時に、コンテンツ代金を引き落とすようにしてもよい。この場合には、携帯電話機の使用料にコンテンツ代金を加算する処理が行われることで、課金処理が完了したものとする。
【０１１４】
金融機関のサーバから課金サーバ３２０へは、引き落とし処理の結果が通知される。たとえば、引き落とし完了通知、または、引き落とし失敗通知が課金サーバ３２０に送られる。課金サーバ３２０の課金処理部３２４は、引き落とし処理の結果を課金処理結果として、アプリケーションサーバ１００に通知する（ステップＳ２５）。
【０１１５】
引き落としが完了したことを示す通知を受け取ると、アプリケーションサーバ１００は、未課金フラグを解除（未課金フラグを０に設定）する（ステップＳ２６）。そして、アプリケーションサーバ１００は、携帯電話機２００に対して、処理完了通知を送信する（ステップＳ２７）。
【０１１６】
携帯電話機２００は、処理完了通知を受け取ると、コンテンツの有効化処理（たとえば、復号化）を実行する（ステップＳ２８）。有効化されたコンテンツは、携帯電話機２００において自由に利用できるようになる。たとえば、音楽データのコンテンツであれば、携帯電話機２００を用いてその音楽データを再生することができるようになる。そして、携帯電話機２００は、ＴＩＤと処理要求メッセージとの組を消去する（ステップＳ２９）。最後にＴＩＤと処理要求メッセージとの組を消去ことで、記憶領域の有効活用が図れると共に、ＴＩＤの不正使用を防止することができる。
【０１１７】
以上のようにして、携帯電話機２００に暗号化などにより内容が秘匿されたコンテンツをダウンロードし、そのコンテンツの代金を払うことで、コンテンツを有効化することができる。しかも、本実施の形態では、コンテンツ代金の課金の処理要求に対してＴＩＤを付与し、そのＴＩＤをアプリケーションサーバ１００において保存している。従って、ネットワークの障害などにより、課金処理が実行されたにも拘わらず、完了通知が携帯電話機２００に届かなかった場合であっても、ＴＩＤを付与した処理要求メッセージをアプリケーションサーバ１００に再送することで、完了通知を確実に受け取ることができる。
【０１１８】
以下に、ネットワークの障害などの発生を考慮したアプリケーションサーバ１００と携帯電話機２００との処理を、フローチャートを参照して説明する。
図１７は、アプリケーションサーバの処理手順を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
【０１１９】
［ステップＳ１１１］サーバ管理部１１３は、携帯電話機２００からＴＩＤ要求を受信する。
［ステップＳ１１２］ＴＩＤ要求を受け取ったサーバ管理部１１３は、ＴＩＤ発行部１１４に対してＴＩＤの発行要求を出す。ＴＩＤ発行部１１４は、アプリケーションサーバ１００内でユニークなＴＩＤを生成し、サーバ管理部１１３に渡す。
【０１２０】
［ステップＳ１１３］サーバ管理部１１３は、ＴＩＤ発行部１１４から受け取ったＴＩＤを応答データとして、携帯電話機２００に送信する。
［ステップＳ１１４］サーバ管理部１１３は、携帯電話機２００からＴＩＤが付加された処理要求メッセージを受信する。
【０１２１】
なお、処理要求メッセージには、コンテンツＩＤと送信元のＩＰアドレスが含まれている。そのため、サーバ管理部１１３は、ＩＰアドレスによって、送信元の携帯電話機２００を特定することができる。
【０１２２】
［ステップＳ１１５］サーバ管理部１１３は、ステップＳ１１４で受信した処理要求メッセージに付与されたＴＩＤと同じＴＩＤが関連づけられた処理要求メッセージが、サーバ側データ記憶部１１１に格納されているか否かを判断する。同じＴＩＤの処理要求メッセージがサーバ側データ記憶部１１１に格納されている場合、過去に同じ処理要求を受け取っているので、処理がステップＳ１２６に進められる。同じＴＩＤの処理要求メッセージがサーバ側データ記憶部１１１に格納されていなければ、初めての処理要求なので、処理がステップＳ１１６に進められる。
【０１２３】
［ステップＳ１１６］サーバ管理部１１３は、ＴＩＤと処理要求メッセージとの組を、サーバ側データ記憶部１１１に格納する。
［ステップＳ１１７］サーバ管理部１１３は、ステップＳ１１６で格納したＴＩＤと処理要求メッセージとの組に対応する未課金フラグを設定する。たとえば、サーバ管理部１１３は、未課金フラグを１に設定する。
【０１２４】
［ステップＳ１１８］サーバ管理部１１３は、処理要求メッセージに含まれていたコンテンツＩＤを指定し、コンテンツサーバ３１０に対してコンテンツの値段を問い合わせる。
【０１２５】
［ステップＳ１１９］サーバ管理部１１３は、コンテンツサーバ３１０から値段を受信する。
［ステップＳ１２０］サーバ管理部１１３は、サーバ処理部１１５に対して、課金処理の実行を要求する。サーバ処理部１１５は、サーバ管理部１１３からの要求に応じて、課金処理要求を課金サーバ３２０に送信する。なお、課金処理要求には、コンテンツの代金と、携帯電話機２００のＩＰアドレスとが含まれている。
【０１２６】
［ステップＳ１２１］サーバ管理部１１３は、課金サーバ３２０より課金処理結果を受信する。
［ステップＳ１２２］サーバ管理部１１３は、課金できたか否かを判断する。すなわち、サーバ管理部１１３は、課金サーバ３２０より引き落とし完了の通知を受け取れば課金できたと判断し、引き落とし失敗の通知を受け取れば、課金できていないと判断する。課金できた場合には、処理がステップＳ１２４に進められ、課金できなかった場合には、処理がステップＳ１２３に進められる。
【０１２７】
［ステップＳ１２３］サーバ管理部１１３は、不許可の処理完了通知を携帯電話機２００に送信し、処理を終了する。
［ステップＳ１２４］サーバ管理部１１３は、ステップＳ１１４で受信したＴＩＤに対応する未課金フラグを解除する。たとえば、サーバ管理部１１３は、未課金フラグの値を０に設定する。
【０１２８】
［ステップＳ１２５］サーバ管理部１１３は、コンテンツの有効化を許可する処理完了通知を、携帯電話機２００に送信し、処理を終了する。
［ステップＳ１２６］既に保存されているＴＩＤと処理要求メッセージとの組を受け取った場合、サーバ管理部１１３は、そのＴＩＤと処理要求メッセージとの組に応じた課金が完了しているか否かを判断する。課金が完了しているか否かは、未課金フラグを参照することで判断することができる。未課金フラグが設定されていれば（未課金フラグの値が１）課金は完了しておらず、未課金フラグが設定されていれなければ（未課金フラグの値が０）課金は完了している。
【０１２９】
課金が完了している場合には、処理がステップＳ１２５に進められ、許可の処理完了通知が携帯電話機２００に送信される（ステップＳ１２４）。これにより、一度課金されれば、課金処理が繰り返し実行されることなく、処理完了通知が送信される。課金が完了していない場合には、処理がステップＳ１２７に進められる。
【０１３０】
［ステップＳ１２７］サーバ管理部１１３は、課金処理中か否かを判断する。すなわち、サーバ管理部１１３は、ＴＩＤで示される処理要求に応じた課金処理要求に対する課金処理結果を、課金サーバ３２０から受信したか否かを判断する。課金処理中であれば、繰り返し課金処理要求を出力する必要がないため、処理が終了する。まだ課金されておらず、課金処理中でもなければ、処理がステップＳ１１８に進められ、課金処理要求に関する処理が実行される。
【０１３１】
これにより、処理要求メッセージに応じた課金処理に時間がかかり、課金処理完了前に同じＴＩＤの処理要求メッセージが再送されてしまった場合であっても、２重に課金されることがなくなる。
【０１３２】
図１８は、携帯電話機の処理手順を示すフローチャートの前半である。以下、図１８に示す処理をステップ番号に沿って説明する。
［ステップＳ１３１］携帯電話機２００の電源がユーザにより投入されると、ユーザ要求入力部２３４は、ユーザより、コンテンツのダウンロード指示の操作入力を受け付ける。ダウンロードを指示する操作入力が行われると、ユーザ要求入力部２３４は、コンテンツのダウンロードの要求を、有効化管理部２３５に渡す。
【０１３３】
［ステップＳ１３２］有効化管理部２３５は、ユーザ要求入力部２３４からの要求に応じて、コンテンツの取得要求をコンテンツサーバ３１０に送信する。なおステップＳ１３１後、コンテンツの取得要求を送信してもよい。
【０１３４】
［ステップＳ１３３］有効化管理部２３５は、コンテンツサーバ３１０からコンテンツをダウンロードし、コンテンツ記憶部２３１に格納する。
［ステップＳ１３４］有効化管理部２３５は、コンテンツ（コンテンツ本体、コンテンツＩＤ、復号鍵の組）のダウンロードが完了したか否かを判断する。ダウンロードが完了したか否かは、あらかじめコンテンツサーバ３１０から通知されるコンテンツの容量と、コンテンツ記憶部２３１に格納したデータの容量とが一致したか否かによって判断することができる。
【０１３５】
ダウンロードが完了したら処理がステップＳ１３５に進められる。ダウンロードが完了していなければ、ステップＳ１３４の処理が繰り返され、ダウンロードが完了するまで待機状態となる。なお、ステップＳ１３５を省略し、ステップＳ１３６のＴＩＤ要求を送信してもよい。
【０１３６】
［ステップＳ１３５］ユーザ要求入力部２３４は、ユーザより、コンテンツの購入指示の操作入力を受け付ける。購入の操作入力が行われると、ユーザ要求入力部２３４は、コンテンツ購入の要求を、有効化管理部２３５に渡す。
【０１３７】
［ステップＳ１３６］有効化管理部２３５は、ユーザ要求入力部２３４からの要求に応じて、ＴＩＤ要求をアプリケーションサーバ１００に送信する。
［ステップＳ１３７］有効化管理部２３５は、ＴＩＤ要求に対する応答を受信する前に通信エラーが発生したか否かを判断する。たとえば、有効化管理部２３５は、所定時間以内にＴＩＤ要求に対する応答が返されない場合には、通信エラーと判断する。通信エラーが発生した場合には、処理がステップＳ１３８に進められる。通信エラーが発生していなければ処理がステップＳ１３９に進められる。
【０１３８】
［ステップＳ１３８］有効化管理部２３５は、あらかじめ設定されたＴＩＤ要求のリトライ制限回数を超えたか否かを判断する。ＴＩＤ要求のリトライ制限回数を超えた場合には処理が終了し、ＴＩＤ要求のリトライ制限回数を超えていない場合には処理がステップＳ１３６に進められ、再度ＴＩＤ要求が送信される。
【０１３９】
［ステップＳ１３９］有効化管理部２３５は、ＴＩＤ応答を受信したか否かを判断する。ＴＩＤ応答を受信していなければ処理がステップＳ１３７に進められる。これにより、有効化管理部２３５は、通信エラーとなるまでＴＩＤ応答の受信を待つこととなる。ＴＩＤ応答の受信した場合には、処理が図１９に示すステップＳ１４０に進められる。
【０１４０】
図１９は、携帯電話機の処理手順を示すフローチャートの後半である。以下、図１９に示す処理をステップ番号に沿って説明する。
［ステップＳ１４０］有効化管理部２３５は、アプリケーションサーバ１００から送られたＴＩＤを、有効化情報記憶部２３２に格納する。
【０１４１】
［ステップＳ１４１］有効化管理部２３５は、コンテンツ購入代金の課金処理の処理要求メッセージを生成し、ステップＳ１４０で格納したＴＩＤに関連づけて、有効化情報記憶部２３２に格納する。
【０１４２】
［ステップＳ１４２］有効化管理部２３５は、ＴＩＤと処理要求メッセージとの組を、アプリケーションサーバ１００に送信する。
［ステップＳ１４３］有効化管理部２３５は、通信エラーが発生したか否かを判断する。たとえば、有効化管理部２３５は、ＴＩＤと処理要求メッセージとの組を送信してから所定の時間経過しても完了通知が返ってこない場合には通信エラーと判断する。通信エラーが発生したら処理がステップＳ１４４に進められる。通信エラーが発生していなければ処理がステップＳ１４５に進められる。
【０１４３】
［ステップＳ１４４］有効化管理部２３５は、課金処理に関するリトライ制限回数を超えたか否かを判断する。リトライ制限回数を超えていれば、ＴＩＤと処理要求メッセージとを削除せずに処理が終了する。これにより、ネットワークの通信環境が復旧したときに、保存してあるＴＩＤと処理要求メッセージとを用いて課金処理の処理要求メッセージを再送することができる。リトライ制限回数を超えていなければ処理がステップＳ１４２に進められ、課金処理の処理要求メッセージを再送される。
【０１４４】
［ステップＳ１４５］有効化管理部２３５は、アプリケーションサーバ１００から課金処理に関する完了通知を受信したか否かを判断する。完了通知を受信したら処理がステップＳ１４６に進められる。完了通知を受信していなければ処理がステップＳ１４３に進められ、完了通知が送られてくるのを待つ。
【０１４５】
［ステップＳ１４６］有効化管理部２３５は、課金処理の完了通知が、コンテンツの有効化の許可を示す完了通知か否かを判断する。許可の完了通知であれば処理がステップＳ１４７に進められる。不許可の完了通知であれば処理がステップＳ１４８に進められる。
【０１４６】
［ステップＳ１４７］有効化管理部２３５は、有効化処理部２３６に対して、コンテンツの有効化の処理を要求する。有効化処理部２３６は、有効化管理部２３５からの要求に応じて、コンテンツを有効化する。具体的には、有効化処理部２３６は、コンテンツに関連づけられている復号鍵を用いて、コンテンツを所定のアルゴリズムで復号する。なお、著作権保護機能を有する端末においてはコンテンツ鍵をそのシステム内で有効にするという処理を行う。
【０１４７】
［ステップＳ１４８］有効化管理部２３５は、有効化したコンテンツに対応するＴＩＤと処理要求メッセージとの組を、有効化情報記憶部２３２から削除する。その後、処理が終了する。
【０１４８】
以上のようにして、ネットワークのエラーがどのタイミングで発生しても、コンテンツの購入代金の課金処理と、コンテンツの有効化の処理とがセットで実行されることが保証される。すなわち、コンテンツの購入代金の課金処理が行われなければ、コンテンツの有効化の処理も行われない。また、コンテンツの購入代金の課金処理が一度行われれば、コンテンツの有効化の処理が行われる。
【０１４９】
たとえば、ＴＩＤ要求もしくはＴＩＤ応答が破棄された場合、アプリケーションサーバ１００は正常系（図１６に示した処理）と同様に動作する。携帯電話機２００は、有効化管理部２３５が下位ネットワークレイヤよりエラーを受け付けるか、応答待ちが一定時間以上たった場合、ＴＩＤ要求を再送する。
【０１５０】
また、ＴＩＤと処理要求メッセージとの組が破棄された場合、アプリケーションサーバ１００は正常系と同様に動作する。携帯電話機２００は、有効化管理部２３５が下位ネットワークレイヤよりエラーを受け付けるか、応答待ちが一定時間以上たった場合、有効化管理部２３５が破棄されたものと同一の内容でＴＩＤを付加した処理要求メッセージを再送する。
【０１５１】
また、処理完了の通知が破棄された場合、アプリケーションサーバ１００のサーバ側データ記憶部１１１には、ＴＩＤと処理要求メッセージとの組がすでに保存されていることになる。アプリケーションサーバ１００は携帯電話機２００から同一のＴＩＤを付加した処理要求メッセージを受信したら、これと同一のＴＩＤと処理要求メッセージとの組がサーバ側データ記憶部１１１に記憶されているかを確認し、記憶されていれば要求された処理を行わずに処理完了の通知を再送する。携帯電話機２００では有効化管理部２３５が下位ネットワークレイヤよりエラーを受け付けるか、応答待ちが一定時間以上たった場合、有効化管理部２３５が破棄されたものと同一の内容でＴＩＤを付加した処理要求メッセージを再送する。
【０１５２】
このような規則により、あるＴＩＤに対する処理は、アプリケーションサーバ１００でも携帯電話機２００でも必ず一度だけ行われることが保証される。
ところで、上記の処理の説明では、携帯電話機２００においてコンテンツを有効化する場合について説明したが、端末装置４００においてもほぼ同様な処理によりコンテンツを有効化することができる。ただし、端末装置４００を用いた場合には、携帯電話の使用料の徴収システムを使ってコンテンツの代金を徴収することができない。そこで、別の代金徴収システムが必要となる。
【０１５３】
たとえば、端末装置４００のユーザは、アプリケーションサーバ１００にあらかじめユーザ登録をしておく。登録されたユーザの情報には、代金引き落としのための金融機関の口座番号などをあらかじめ登録しておく。そして、コンテンツの代金の課金処理要求の前に、アプリケーションサーバ１００と端末装置４００との間でユーザ認証処理を行う。
【０１５４】
図２０は、端末装置においてコンテンツを有効化する際のトランザクションのシーケンス図である。図２０では、図１６と同じ処理については、同じステップ番号を付し、説明を省略する。また、課金処理（ステップＳ２４ａ）以降の処理については、図１６と同様であるため、図２０では省略している。
【０１５５】
以下、図１６における携帯電話機を用いたときの処理と異なる点についてのみ説明する。
端末装置４００においてコンテンツをダウンロードしたら、端末装置４００からアプリケーションサーバ１００に対して、認証情報を送信する（ステップＳ１２ａ）。認証情報は、たとえば、あらかじめアプリケーションサーバ１００に登録されているユーザＩＤとパスワードの組である。
【０１５６】
認証情報を受け取ったアプリケーションサーバ１００は、あらかじめ登録されているユーザの情報を参照し、ユーザ認証を行う。すなわち、ユーザＩＤとパスワードとの組に適合するユーザの情報が登録されていれば、そのユーザを特定し、認証を正常に終了する。そして、アプリケーションサーバ１００は、認証が正しく行われたことを示す確認の応答を、端末装置４００に送信する。
【０１５７】
ユーザ認証を行った際に、アプリケーションサーバ１００から端末装置４００へクッキー（ユーザ情報やアクセス履歴などの情報をWebブラウザとWebサーバ間でやりとりするための仕組み）を渡しておけば、以後、端末装置４００からアプリケーションサーバ１００へのアクセスの度にユーザ認証を行わずにすむ。
【０１５８】
ユーザ認証後のステップＳ１３〜ステップＳ２３までの処理は、図１６と同様である。
図２０の例では、コンテンツサーバ３１０に値段を問い合わせた後、アプリケーションサーバ１００において課金処理が行われる（ステップＳ２４ａ）。課金処理では、たとえば、アプリケーションサーバ１００が、あらかじめ登録されているユーザの口座番号に基づいて、その口座を管理している金融機関のサーバ（図示せず）にアクセスする。そして、アプリケーションサーバ１００は、課金対象のユーザの口座からのコンテンツの値段に相当する金額の引き落としを依頼する。課金処理（ステップＳ２４ａ）以降の処理は、図１６と同様である。
【０１５９】
これにより、端末装置４００においても、コンテンツをダウンロードし、そのコンテンツの代金の支払い処理と、コンテンツの有効化の処理とを一体の処理として実行することができる。
【０１６０】
なお、上記の例では、コンテンツの代金を課金するための口座の情報等があらかじめアプリケーションサーバ１００や課金サーバ３２０に登録されているものとしたが、コンテンツ購入の時にユーザ情報（クレジット番号など）を携帯電話機２００や端末装置４００からアプリケーションサーバ１００に送信するようにしてもよい。
【０１６１】
また、端末装置４００のように光ディスク１５のデータを読み取ることのできる装置であれば、コンテンツサーバ３１０にアクセスせずに、コンテンツを光ディスク１５から取得してもよい。
【０１６２】
［第１の実施の形態］
次に、第１の実施の形態について説明する。第１の実施の形態は、携帯電話機２００や端末装置４００においてコンテンツの有効化処理が完了したら、アプリケーションサーバ１００において、その処理に対応するＴＩＤを削除する。これにより、アプリケーションサーバ１００のハードウェア資源（ＨＤＤの記憶領域など）を有効に活用することができる。
【０１６３】
図２１は、第１の実施の形態においてコンテンツを有効化する際のトランザクションのシーケンス図である。図２１は、携帯電話機２００を用いてコンテンツを有効化する場合の例である。図２１において、図１６に示す処理と同様の処理には同一のステップ番号を付し、その説明を省略する。また、コンテンツサーバ３１０と課金サーバ３２０との処理については、関連技術と同様であるため、図２１では、コンテンツサーバ３１０と課金サーバ３２０とを省略している。
【０１６４】
アプリケーションサーバから処理完了の通知が出され（ステップＳ２７）、携帯電話機２００が処理完了の通知を受信して、コンテンツ有効化の処理（ステップＳ２８）を行うと、携帯電話機２００からアプリケーションサーバ１００へ、ＴＩＤを含む処理完了応答が送信される（ステップＳ３０）。携帯電話機２００では、処理完了応答を送信した後、そのＴＩＤと処理要求メッセージとの組を消去する（ステップＳ２９ａ）。また、アプリケーションサーバ１００は、処理完了応答を受けると、そのＴＩＤの項目をサーバ側データ記憶部１１１から消去する（ステップＳ３１）。
【０１６５】
これにより、アプリケーションサーバ１００のサーバ側データ記憶部１１１を有効利用できる。
［第２の実施の形態］
次に、第２の実施の形態について説明する。第２の実施の形態は、悪意を有する者に対する防御機能を設けている。すなわち、ネットワーク上を伝送されるデータやメッセージなどを傍受しても、コンテンツに対する代金を支払った本人の使用する装置以外では、そのコンテンツを有効化できないようにしている。
【０１６６】
図２２は、第２の実施の形態におけるアプリケーションサーバの処理機能を示すブロック図である。図２２において、関連技術と同じ機能を有する要素には、図１１に示した関連技術の構成要素と同じ符号を付し、説明を省略する。
【０１６７】
第２の実施の形態のアプリケーションサーバ１００ａは、図１１に示した関連技術のアプリケーションサーバ１００に対して、暗号処理部１１６が追加されている。また、サーバ管理部１１３ａの機能が変更されている。
【０１６８】
暗号処理部１１６は、携帯電話機などのクライアント装置と共有している秘密鍵を用いてメッセージの暗号化や復号化を行う。
サーバ管理部１１３ａは、図１１に示したサーバ管理部１１３が有する機能に加え、送信する一部の情報の暗号化や、暗号化された情報の復号化を暗号処理部１１６に要求する機能を有している。また、サーバ管理部１１３ａは、暗号化されたメッセージの生成や、暗号化されたメッセージを復号および解析する機能を有している。
【０１６９】
図２３は、第２の実施の形態における携帯電話機の処理機能を示すブロック図である。図２３において、関連技術と同じ機能を有する要素には、図１３に示した関連技術の構成要素と同じ符号を付し、説明を省略する。
【０１７０】
第１の実施の形態の携帯電話機２００ａは、図１３に示した関連技術の携帯電話機２００に対して、乱数発生部２３７と暗号処理部２３８が追加されている。また、有効化情報記憶部２３２ａと有効化管理部２３５ａの機能が変更されている。
【０１７１】
乱数発生部２３７は、有効化管理部２３５ａからの要求に応じて、乱数を発生させる。乱数発生部２３７は、発生した乱数を、有効化管理部２３５ａに渡す。
暗号処理部２３８は、アプリケーションサーバ１００ａと共有している秘密鍵を用いてメッセージの暗号化や復号化を行う。
【０１７２】
有効化管理部２３５ａは、図１３に示した有効化管理部２３５が有する機能に加え、乱数発生部２３７に対して乱数の発生を要求する機能や、送信する一部の情報の暗号化や、暗号化された情報の復号化を暗号処理部２３８に要求する機能を有している。また、有効化管理部２３５ａは、暗号化されたメッセージの生成や、暗号化されたメッセージを復号および解析する機能や、メッセージに乱数を含ませる機能を有している。
【０１７３】
有効化情報記憶部２３２ａは、図１３に示した有効化情報記憶部２３２が格納できる情報に加え、乱数発生部２３７で発生した乱数を、ＴＩＤなどに関連づけて記憶することができる。
【０１７４】
図２４は、第２の実施の形態においてコンテンツを有効化する際のトランザクションのシーケンス図である。図２４は、携帯電話機２００ａを用いてコンテンツを有効化する場合の例である。図２４において、図１６に示す処理と同様の処理には同一のステップ番号を付し、その説明を省略する。また、コンテンツサーバ３１０と課金サーバ３２０との処理については、関連技術と同様であるため、図２４では、コンテンツサーバ３１０と課金サーバ３２０とを省略している。
【０１７５】
携帯電話機２００ａにおいてコンテンツをダウンロードしたら（ステップＳ１１、ステップＳ１２）、アプリケーションサーバ１００ａと携帯電話機２００ａとは、双方に割り当てられている公開鍵を用いて鍵交換(AKE:Authentication and Key Exchange)処理を行い、秘密鍵を共有する。なお、ＡＫＥの処理を行わずに、事前に秘密鍵を配付するようにしてもよい。
【０１７６】
携帯電話機２００ａが起動されると、有効化管理部２３５ａは乱数発生部２３７に対して乱数の発生を要求する。乱数発生部２３７は乱数「ＮＯＮＣＥ＃１」を発生させる（ステップＳ４２）。乱数発生部２３７は、発生した乱数「ＮＯＮＣＥ＃１」を有効化管理部２３５ａに渡す。有効化管理部２３５ａは、乱数「ＮＯＮＣＥ＃１」を有効化情報記憶部２３２ａに保存する（ステップＳ４３）。そして、有効化管理部２３５ａは、乱数「ＮＯＮＣＥ＃１」を追加したＴＩＤ要求を生成し、アプリケーションサーバ１００ａに送信する（ステップＳ１３ｂ）。
【０１７７】
アプリケーションサーバ１００ａで、ＴＩＤ要求を受け取ると、サーバ管理部１１３ａがＴＩＤ発行部１１４に対して、ＴＩＤを発行させる（ステップＳ１４）。その後、サーバ管理部１１３ａは、暗号処理部１１６に、乱数「ＮＯＮＣＥ＃１」とＴＩＤとを絡めた暗号化を要求する。その要求に応じて暗号処理部１１６が乱数「ＮＯＮＣＥ＃１」とＴＩＤとを纏めて、ステップＳ４１で取得した秘密鍵を用いて暗号化をする（ステップＳ４４）。
【０１７８】
サーバ管理部１１３ａは、暗号化された乱数「ＮＯＮＣＥ＃１」とＴＩＤとを暗号処理部１１６から受け取り、ＴＩＤ応答として携帯電話機２００ａに送信する（ステップＳ１５ｂ）。なお、暗号化のアルゴリズムとして、例えばＤＥＳ(Data Encryption Standard)−ＣＢＣ(Cipher Block Chaining)暗号アルゴリズムなどが考えられる。
【０１７９】
携帯電話機２００ａの有効化管理部２３５ａは、ＴＩＤ応答を受け取ると、ＴＩＤ応答を暗号処理部２３８に渡し、復号を要求する。暗号処理部２３８は、有効化管理部２３５ａからの要求に応じて、ステップＳ４１で取得した秘密鍵を用いてＴＩＤ応答を復号する（ステップＳ４５）。これにより、ＴＩＤ応答から、ＴＩＤと乱数「ＮＯＮＣＥ＃１」とが取り出され、有効化管理部２３５ａに渡される。
【０１８０】
有効化管理部２３５ａは、取り出された乱数「ＮＯＮＣＥ＃１」が有効化情報記憶部２３２ａに保存されているものと同一か否かを検査する（ステップＳ４６）。同一でなければこのトランザクションは失敗として終了する。同一であれば、ＴＩＤの保存（ステップＳ１６）、処理要求メッセージの保存（ステップＳ１７）が行われる。
【０１８１】
その後、有効化管理部２３５ａは、乱数発生部２３７に対して乱数の発生を要求する。乱数発生部２３７は、新たな乱数「ＮＯＮＣＥ＃２」を発生させる（ステップＳ４７）。そして、乱数発生部２３７は、発生した乱数「ＮＯＮＣＥ＃２」を有効化管理部２３５ａに渡す。
【０１８２】
有効化管理部２３５ａは、乱数「ＮＯＮＣＥ＃２」を有効化情報記憶部２３２ａに保存する（ステップＳ４８）。そして、有効化管理部２３５ａは、ＴＩＤと処理要求メッセージとに乱数「ＮＯＮＣＥ＃２」を追加し、暗号処理部２３８に対して暗号化を要求する。暗号処理部２３８は、有効化管理部２３５ａからの要求に応じ、ステップＳ４１で取得した秘密鍵を用いて、ＴＩＤ、処理要求メッセージ、乱数「ＮＯＮＣＥ＃２」を纏めて暗号化する（ステップＳ４９）。暗号化されたデータは、有効化管理部２３５ａに渡される。
【０１８３】
有効化管理部２３５ａは、暗号処理部２３８で暗号化されたデータを、ＴＩＤを付与した処理要求メッセージとして、アプリケーションサーバ１００ａに送信する（ステップＳ１８ｂ）。
【０１８４】
アプリケーションサーバ１００ａのサーバ管理部１１３ａは、ＴＩＤを付与した処理要求メッセージを暗号処理部１１６に渡し、復号を要求する。暗号処理部１１６は、ＴＩＤを付与した処理要求メッセージを、ステップＳ４１で取得した秘密鍵を用いて復号し、ＴＩＤ、処理要求メッセージ、および乱数「ＮＯＮＣＥ＃２」を取り出す（ステップＳ５０）。復号されたデータは、サーバ管理部１１３ａに渡される。
【０１８５】
その後、処理要求の保存確認（ステップＳ１９）、ＴＩＤと処理要求メッセージとの保存（ステップＳ２０）、未課金フラグの設定（ステップＳ２１）、課金処理の実行（ステップＳ２２〜ステップＳ２５）、および未課金フラグの解除（ステップＳ２６）が行われる。そして、サーバ管理部１１３ａは、乱数「ＮＯＮＣＥ＃２」を検査用乱数として付加して処理完了の通知を携帯電話機２００ａに送信する。
【０１８６】
携帯電話機２００ａの有効化管理部２３５ａは、処理完了の通知に含まれる乱数「ＮＯＮＣＥ＃２」がステップＳ４８の処理で有効化情報記憶部２３２ａに保存された乱数「ＮＯＮＣＥ＃２」と等しいか否かを検査する（ステップＳ５１）。異なる場合はこのトランザクションは失敗として終了する。同一の場合、コンテンツの有効化（ステップＳ２８）、ＴＩＤと処理要求メッセージとの消去（ステップＳ２９）が行われる。
【０１８７】
これにより、コンテンツの不正使用を有効に防ぐことができる。
たとえば、ネットワーク上の悪者からの盗聴に対して、ＴＩＤ応答や処理要求メッセージを暗号化したことにより、使用した暗号化の強度によって守られる。
【０１８８】
また、悪者のユーザによる情報のすり替えに対しては、乱数「ＮＯＮＣＥ＃１」や乱数「ＮＯＮＣＥ＃２」を埋め込むことにより対処している。もし、これらの乱数がない場合、鍵とメッセージが同じであれば暗号化されたメッセージは常に同一となる。この場合、以下の手順で不正使用が可能である。
【０１８９】
まず、ある処理要求に対して一度トランザクション（ＴＩＤの取得からコンテンツの有効化まで）を成功させる。このときＴＩＤ応答や処理完了メッセージをネットワーク上から取り込んで保存する。次に、携帯電話機において、新たな処理要求を発生させ、その処理要求はアプリケーションサーバに送らずに廃棄する。そして、アプリケーションサーバから返されるべきＴＩＤ応答や処理完了の通知に代えて、保存しておいたＴＩＤ応答や処理完了通知を返す。
【０１９０】
これにより、携帯電話機において有効化処理を実行させることができる。この場合、アプリケーションサーバでは、課金処理は行われない。すなわち、課金処理は行われずに、携帯電話機でコンテンツの有効化が行われてしまうことを意味する。
【０１９１】
第２の実施の形態では、ＴＩＤ要求や、ＴＩＤと処理要求メッセージとの組に、それぞれ乱数「ＮＯＮＣＥ＃１」、乱数「ＮＯＮＣＥ＃２」を付与したことで、携帯電話機２００ａは、自分の要求に対するアプリケーションサーバ１００ａからの応答であることを確認できる。そのため情報のすり替えができない。
【０１９２】
このように、第２の実施の形態によれば、サーバの記憶領域の有効利用トランザクションが盗聴などの攻撃を強固に防ぐことができる。
なお、上記の処理機能は、サーバコンピュータとクライアントコンピュータとによって実現することができる。その場合、サーバ装置（コンテンツサーバ、課金サーバ、アクセスサーバ、アプリケーションサーバ）が有すべき機能の処理内容を記述したサーバプログラム、およびクライアント装置（端末装置、携帯電話機）が有すべき機能の処理内容を記述したクライアントプログラムが提供される。サーバプログラムをサーバコンピュータで実行することにより、サーバ装置の処理機能がサーバコンピュータ上で実現される。また、クライアントプログラムをクライアントコンピュータで実行することにより、クライアント装置の処理機能がクライアントコンピュータ上で実現される。
【０１９３】
処理内容を記述したサーバプログラムやクライアントプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷなどがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disc)などがある。
【０１９４】
サーバプログラムやクライアントプログラムを流通させる場合には、たとえば、各プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、クライアントプログラムをサーバ装置の記憶装置に格納しておき、ネットワークを介して、サーバ装置からクライアント装置にクライアントプログラムを転送することもできる。
【０１９５】
サーバプログラムを実行するサーバコンピュータは、たとえば、可搬型記録媒体に記録されたサーバプログラムを、自己の記憶装置に格納する。そして、サーバコンピュータは、自己の記憶装置からサーバプログラムを読み取り、サーバプログラムに従った処理を実行する。なお、サーバコンピュータは、可搬型記録媒体から直接サーバプログラムを読み取り、そのサーバプログラムに従った処理を実行することもできる。
【０１９６】
クライアントプログラムを実行するクライアントコンピュータは、たとえば、可搬型記録媒体に記録されたクライアントプログラムもしくはサーバコンピュータから転送されたクライアントプログラムを、自己の記憶装置に格納する。そして、クライアントコンピュータは、自己の記憶装置からクライアントプログラムを読み取り、クライアントプログラムに従った処理を実行する。なお、クライアントコンピュータは、可搬型記録媒体から直接クライアントプログラムを読み取り、そのクライアントプログラムに従った処理を実行することもできる。また、クライアントコンピュータは、サーバコンピュータからクライアントプログラムが転送される毎に、逐次、受け取ったクライアントプログラムに従った処理を実行することもできる。
【０１９７】
【発明の効果】
以上説明したように本発明では、クライアント装置では、通信エラーを検出したらサーバ装置に対して、前回と同じ識別情報の処理要求を再送し、サーバ装置では、完了した第１の処理と同じ識別情報の処理要求を再度受け取ったときは、第１の処理を実行せずにクライアント装置に対して第１の処理の完了通知を送信するようにした。そのため、クライアント装置では、ネットワークの障害などにより完了通知を受け取れなかった場合でも、処理要求を再送することで、第１の処理が重複して実行させることなく完了通知を受け取り、第２の処理を実行することができる。この結果、第１の処理と第２の処理とが１回ずつ実行されることが保証される。
【図面の簡単な説明】
【図１】  本発明に適用される基本技術を示す図である。
【図２】  基本技術に係る処理の一例を示すシーケンス図である。
【図３】  関連技術および本発明の実施の形態のネットワークシステムの構成例を示す図である。
【図４】  アプリケーションサーバのハードウェア構成例を示すブロック図である。
【図５】  携帯電話機のハードウェア構成例を示すブロック図である。
【図６】  端末装置のハードウェア構成例を示すブロック図である。
【図７】  コンテンツサーバの処理機能の一例を示す機能ブロック図である。
【図８】  コンテンツ情報記憶部のデータ構造の一例を示す図である。
【図９】  課金サーバの処理機能の一例を示す機能ブロック図である。
【図１０】  ユーザ情報記憶部のデータ構造の一例を示す図である。
【図１１】  アプリケーションサーバの処理機能の一例を示すブロック図である。
【図１２】  サーバ側データ記憶部のデータ構造の一例を示す図である。
【図１３】  携帯電話機の処理機能の一例を示す機能ブロック図である。
【図１４】  コンテンツ記憶部のデータ構造の一例を示す図である。
【図１５】  有効化情報記憶部のデータ構造の一例を示す図である。
【図１６】  携帯電話機でコンテンツを有効化する際のトランザクションのシーケンス図である。
【図１７】  アプリケーションサーバの処理手順を示すフローチャートである。
【図１８】  携帯電話機の処理手順を示すフローチャートの前半である。
【図１９】  携帯電話機の処理手順を示すフローチャートの後半である。
【図２０】  端末装置においてコンテンツを有効化する際のトランザクションのシーケンス図である。
【図２１】  第１の実施の形態においてコンテンツを有効化する際のトランザクションのシーケンス図である。
【図２２】  第２の実施の形態におけるアプリケーションサーバの処理機能を示すブロック図である。
【図２３】  第２の実施の形態における携帯電話機の処理機能を示すブロック図である。
【図２４】  第２の実施の形態においてコンテンツを有効化する際のトランザクションのシーケンス図である。
【符号の説明】
１…サーバ装置、１ａ…第１の処理実行手段、１ｂ…完了通知送信手段、１ｃ…記憶手段、２…クライアント装置、２ａ…処理要求送信手段、２ｂ…第２の処理実行手段、２ｃ…再送手段、３…識別情報、４…処理要求、５…完了通知、６…ネットワーク、２１…インターネット、２２…公衆回線網、２３…基地局、１００…アプリケーションサーバ、２００…携帯電話機、３１０…コンテンツサーバ、３２０…課金サーバ、３３０…アクセスサーバ、４００…端末装置
【図１】
0003780880.tif 000002
【図２】
0003780880.tif 000003
【図３】
0003780880.tif 000004
【図４】
0003780880.tif 000005
【図５】
0003780880.tif 000006
【図６】
0003780880.tif 000007
【図７】
0003780880.tif 000008
【図８】
0003780880.tif 000009
【図９】
0003780880.tif 000010
【図１０】
0003780880.tif 000011
【図１１】
0003780880.tif 000012
【図１２】
0003780880.tif 000013
【図１３】
0003780880.tif 000014
【図１４】
0003780880.tif 000015
【図１５】
0003780880.tif 000016
【図１６】
0003780880.tif 000017
【図１７】
0003780880.tif 000018
【図１８】
0003780880.tif 000019
【図１９】
0003780880.tif 000020
【図２０】
0003780880.tif 000021
【図２１】
0003780880.tif 000022
【図２２】
0003780880.tif 000023
【図２３】
0003780880.tif 000024
【図２４】
0003780880.tif 000025