(57)【要約】【課題】サーバ−クライアント間での通信の回数を減らすことができるようにする。【解決手段】  ICチップ３５を制御するためのコマンドを送信する前に、ICチップ３５の固有情報などのチップ情報を取得していることがサーバ３１に求められる。図３のサーバ−クライアントシステムにおいては、サーバ３１からの要求があって初めてクライアント３４により取得されたチップ情報がサーバ３１に送信されるのではなく、サーバ３１に対するアクセス（通信開始の要求）の前に、サーバ３１からの要求によらずにクライアント３４によりチップ情報が取得され、アクセスと同時に、チップ情報がサーバ３１に送信される。本発明は、サーバ−クライアント間で通信を行う通信システムに適用することができる。【選択図】図３
2006099641.tif 000002
【特許請求の範囲】
【請求項１】
制御対象のIC(Integrated Circuit)チップに応じたコマンドを、クライアント装置を介して前記ICチップに送信し、実行させるサーバ装置と、前記クライアント装置とからなる通信システムにおいて、
前記サーバ装置は、
前記クライアント装置との通信の開始時に、前記クライアント装置により取得され、送信されてきた前記ICチップに関する情報を受信し、受信した情報に基づいて生成した前記ICチップに応じたコマンドにより前記ICチップを制御する制御手段を備え、
前記クライアント装置は、
前記サーバ装置との通信の開始時に、前記サーバ装置からの要求によらずに、前記ICチップから取得した前記ICチップに関する情報を前記サーバ装置に送信する送信手段を備える
ことを特徴とする通信システム。
【請求項２】
制御対象のIC(Integrated Circuit)チップに応じたコマンドを、クライアント装置を介して前記ICチップに送信し、実行させるサーバ装置において、
前記クライアント装置との通信の開始時に、前記クライアント装置により取得され、送信されてきた前記ICチップに関する情報を受信し、受信した情報に基づいて生成した前記ICチップに応じたコマンドにより前記ICチップを制御する制御手段を備える
ことを特徴とするサーバ装置。
【請求項３】
制御対象のIC(Integrated Circuit)チップに応じたコマンドを、クライアント装置を介して前記ICチップに送信し、実行させるサーバ装置の通信方法において、
前記クライアント装置との通信の開始時に、前記クライアント装置により取得され、送信されてきた前記ICチップに関する情報を受信し、受信した情報に基づいて生成した前記ICチップに応じたコマンドにより前記ICチップを制御する制御ステップを含む
ことを特徴とする通信方法。
【請求項４】
制御対象のIC(Integrated Circuit)チップに応じたコマンドを、クライアント装置を介して前記ICチップに送信し、実行させる処理をコンピュータに実行させるプログラムにおいて、
前記クライアント装置との通信の開始時に、前記クライアント装置により取得され、送信されてきた前記ICチップに関する情報を受信し、受信した情報に基づいて生成した前記ICチップに応じたコマンドにより前記ICチップを制御する制御ステップを含む
ことを特徴とするプログラム。
【請求項５】
サーバ装置から送信されてくるコマンドを制御対象のIC(Integrated Circuit)チップに実行させるクライアント装置において、
前記サーバ装置との通信の開始時に、前記サーバ装置からの要求によらずに、前記ICチップから取得した前記ICチップに関する情報を前記サーバ装置に送信する送信手段を備える
ことを特徴とするクライアント装置。
【請求項６】
サーバ装置から送信されてくるコマンドを制御対象のIC(Integrated Circuit)チップに実行させるクライアント装置の通信方法において、
前記サーバ装置との通信の開始時に、前記サーバ装置からの要求によらずに、前記ICチップから取得した前記ICチップに関する情報を前記サーバ装置に送信する送信ステップを含む
ことを特徴とする通信方法。
【請求項７】
サーバ装置から送信されてくるコマンドを制御対象のIC(Integrated Circuit)チップに実行させる処理をコンピュータに実行させるプログラムにおいて、
前記サーバ装置との通信の開始時に、前記サーバ装置からの要求によらずに、前記ICチップから取得した前記ICチップに関する情報を前記サーバ装置に送信する送信ステップを含む
ことを特徴とするプログラム。
【請求項８】
サーバ装置とクライアント装置とからなる通信システムにおいて、
前記サーバ装置は、
所定の処理の内容を指示する第１のパケットと、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、前記クライアント装置に送信する送信手段を備え、
前記クライアント装置は、
前記第３のパケットを受信し、受信した前記第３のパケットに含まれる前記第１のパケットの内容に基づいて処理を行う第１の処理手段と、
前記第１の処理手段による処理が失敗したとき、受信した前記第３のパケットに含まれる前記第２のパケットの内容に基づいて処理を行う第２の処理手段と
を備えることを特徴とする通信システム。
【請求項９】
クライアント装置にパケットを送信し、パケットの内容に基づいて処理を行わせるサーバ装置において、
所定の処理の内容を指示する第１のパケットと、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、前記クライアント装置に送信する送信手段を備える
ことを特徴とするサーバ装置。
【請求項１０】
クライアント装置にパケットを送信し、パケットの内容に基づいて処理を行わせるサーバ装置の通信方法において、
所定の処理の内容を指示する第１のパケットと、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、前記クライアント装置に送信する送信ステップを含む
ことを特徴とする通信方法。
【請求項１１】
クライアント装置にパケットを送信し、パケットの内容に基づいて処理を行わせる通信処理をコンピュータに実行させるプログラムにおいて、
所定の処理の内容を指示する第１のパケットと、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、前記クライアント装置に送信する送信ステップを含む
ことを特徴とするプログラム。
【請求項１２】
サーバ装置から送信されてきたパケットの内容に基づいて処理を行うクライアント装置において、
所定の処理の内容を指示する第１のパケットと、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを受信し、受信した前記第３のパケットに含まれる前記第１のパケットの内容に基づいて処理を行う第１の処理手段と、
前記第１の処理手段による処理が失敗したとき、受信した前記第３のパケットに含まれる前記第２のパケットの内容に基づいて処理を行う第２の処理手段と
を備えることを特徴とするクライアント装置。
【請求項１３】
サーバ装置から送信されてきたパケットの内容に基づいて処理を行うクライアント装置の通信方法において、
所定の処理の内容を指示する第１のパケットと、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを受信し、受信した前記第３のパケットに含まれる前記第１のパケットの内容に基づいて処理を行う第１の処理ステップと、
前記第１の処理ステップによる処理が失敗したとき、受信した前記第３のパケットに含まれる前記第２のパケットの内容に基づいて処理を行う第２の処理ステップと
を含むことを特徴とする通信方法。
【請求項１４】
サーバ装置から送信されてきたパケットの内容に基づいて処理を行う通信処理をコンピュータに実行させるプログラムにおいて、
所定の処理の内容を指示する第１のパケットと、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを受信し、受信した前記第３のパケットに含まれる前記第１のパケットの内容に基づいて処理を行う第１の処理ステップと、
前記第１の処理ステップによる処理が失敗したとき、受信した前記第３のパケットに含まれる前記第２のパケットの内容に基づいて処理を行う第２の処理ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、サーバ装置、クライアント装置、通信方法、並びにプログラムに関し、特に、サーバ−クライアント間での通信の回数を減らすことができるようにする通信システム、サーバ装置、クライアント装置、通信方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、クレジットカードや携帯電話機に埋め込まれたFeliCa（登録商標）などの非接触ICチップに電子マネーをチャージ（入金）し、そのチャージされた電子マネーを用いて、商品購入時の代金の支払いをしたりすることが普及しつつある。
【０００３】
代金の支払い時には、自分のクレジットカードや携帯電話機を店舗に設置された端末（リーダライタ）にかざすだけであるから、ユーザは、代金の支払いを迅速に行うことができる。
【０００４】
このような電子マネーシステム（サーバ−クライアントシステム）は、例えば、図１に示すような構成からなる。
【０００５】
電子マネーシステムのサーバ側はサーバ装置１とセキュリティモジュール２からなり、クライアント側はクライアント装置３とR/W（リーダ／ライタ）４からなる。サーバ装置１とクライアント装置３は、ネットワーク５を介して接続されている。
【０００６】
図１の例においては、クライアント側のR/W４には非接触ICチップ１３が内蔵された携帯電話機６が近接されており、電磁誘導を用いた近距離通信を介してクライアント装置３に接続されている。
【０００７】
サーバ装置１に実装されるサーバアプリケーション１１は、クライアント装置３に実装されるクライアントアプリケーション１２との間で通信を行い、クライアントアプリケーション１２からの要求に応じて作成したコマンド（非接触ICチップ１３に実行させるコマンド）をセキュリティモジュール２に出力する。また、サーバアプリケーション１１は、暗号化が施されたコマンドがセキュリティモジュール２から供給されてきたとき、それをネットワーク５を介してクライアント装置３のクライアントアプリケーション１２に送信する。
【０００８】
セキュリティモジュール２は、耐タンパ性を有する装置であり、暗号処理、および、その暗号処理で用いる鍵の管理を行う。セキュリティモジュール２は、サーバアプリケーション１１から供給されてきたコマンドに暗号化を施し、暗号化されたコマンドをサーバアプリケーション１１に出力する。セキュリティモジュール２と非接触ICチップ１３は、それぞれ共通の鍵を持っており、その鍵で暗号化された情報を送受信することによりセキュリティモジュール２と非接触ICチップ１３の間で暗号通信が実現される。
【０００９】
クライアント装置３のクライアントアプリケーション１２は、所定の要求をサーバ装置１のサーバアプリケーション１１に送信するとともに、サーバアプリケーション１１からコマンドが送信されてきたとき、それをR/W４を介して非接触ICチップ１３に送信し、実行させる。
【００１０】
非接触ICチップ１３は、R/W４等を介してセキュリティモジュール２から送信されてきたコマンドに施されている暗号化を復号し、それを実行する。コマンドの内容が電子マネーの書き換えである場合、このコマンドには書き換える金額の情報なども含まれている。
【００１１】
例えば、このような構成を有する電子マネーシステムにおいて、非接触ICチップ１３に記憶されている電子マネーを用いて携帯電話機６のユーザが購入した商品の代金を支払う場合、クライアント装置３のクライアントアプリケーション１２により、サーバ装置１のサーバアプリケーション１１に対して、商品の代金の支払い要求が送信され、その要求を受信したサーバアプリケーション１１により、電子マネーの残高の読み出しを非接触ICチップ１３に要求するコマンド（Readコマンド）が作成される。
【００１２】
サーバアプリケーション１１により作成されたReadコマンドは、セキュリティモジュール２により暗号化が施された後、サーバ装置１のサーバアプリケーション１１、ネットワーク５、クライアント装置３のクライアントアプリケーション１２、およびR/W４を介して非接触ICチップ１３に送信され、非接触ICチップ１３において復号された後、実行される。
【００１３】
Readコマンドが実行されることによって読み出された残高は、非接触ICチップ１３により暗号化が施された後、サーバアプリケーション１１に対するレスポンスとして、R/W４、クライアント装置３のクライアントアプリケーション１２、ネットワーク５、およびサーバ装置１のサーバアプリケーション１１を介してセキュリティモジュール２に送信される。セキュリティモジュール２においては、非接触ICチップ１３から送信されてきた残高に施されている暗号化が復号され、復号された残高がサーバアプリケーション１１に送信される。
【００１４】
これにより、サーバアプリケーション１１は、非接触ICチップ１３に記憶されている現在の電子マネーの残高を確認することができる。
【００１５】
残高を確認したとき、サーバ装置１のサーバアプリケーション１１により、電子マネーの残高の書き換え（商品の代金の分だけ減額した残高への書き換え）を非接触ICチップ１３に要求するコマンド（Writeコマンド）が作成される。
【００１６】
サーバアプリケーション１１により作成されたWriteコマンドは、先に送信されたReadコマンドと同様に、セキュリティモジュール２により暗号化が施された後、サーバ装置１のサーバアプリケーション１１、ネットワーク５、クライアント装置３のクライアントアプリケーション１２、およびR/W４を介して非接触ICチップ１３に送信され、非接触ICチップ１３において復号された後、実行される。このWriteコマンドには、残高をいくらにするのかを表す情報なども含まれている。これにより、非接触ICチップ１３に記憶されている電子マネーの残高が商品の代金の分だけ減額された状態になる。
【００１７】
例えば、残高の減額が完了したことを通知するメッセージが非接触ICチップ１３からサーバアプリケーション１１に送信されるなどの処理が行われた後、一連の処理が終了される。このような一連の処理により、商品の代金の支払いが実現される。
【００１８】
このような構成からなるサーバ−クライアントシステムより、以上のような商品の代金の支払いの他に、例えば、店舗が発行するポイントの管理や、電車の駅の改札機としてクライアント装置３が設けられている場合、乗車料金の支払いなどが実現される。ポイントの管理や乗車料金の支払いの場合も、基本的には、上述した代金の支払いの場合と同様の処理が図１の各装置により行われる。
【００１９】
図１に示すような構成からなるサーバ−クライアントシステムについては下記特許文献１に開示されている。
【００２０】
ここで、図１のサーバ−クライアントシステムの通信開始時の処理について図２のフローチャートを参照して説明する。
【００２１】
ステップＳ１１において、クライアントアプリケーション１２は、通信の開始をサーバアプリケーション１１に要求し、サーバアプリケーション１１は、その要求をステップＳ２１で受信する。
【００２２】
サーバアプリケーション１１は、ステップＳ２２において、制御対象とするICチップである非接触ICチップ１３のチップ固有情報の取得（Polling）と、鍵バージョン（非接触ICチップ１３に格納されている鍵のバージョン）の取得（Request Service）を要求する。
【００２３】
例えば、制御対象のICチップの種別毎にコマンドが異なっていたり、ICチップが有している鍵と同じバージョンの鍵でコマンドなどを暗号化（暗号化自体はセキュリティモジュール３２により行われる）してICチップに送信する必要があることから、サーバアプリケーション１１は、ICチップの種別を識別することができるような情報を含むチップ固有情報と、鍵バージョンを取得して初めて、非接触ICチップ１３を制御するための処理を行うことができる。
【００２４】
ステップＳ１２において、クライアントアプリケーション１２は、サーバアプリケーション１１からの要求を受信し、ステップＳ１３に進み、チップ固有情報の取得の要求を非接触ICチップ１３に送信する。クライアントアプリケーション１２からの要求は、例えば、R/W４を介して送信される。
【００２５】
ステップＳ１において、非接触ICチップ１３は、クライアントアプリケーション１２からの要求を受信し、ステップＳ２に進み、チップ固有情報を含む応答をクライアントアプリケーション１２に送信する。
【００２６】
クライアントアプリケーション１２は、ステップＳ１４において、非接触ICチップ１３からの応答を受信し、ステップＳ１５に進み、次に、鍵バージョンの取得の要求を非接触ICチップ１３に送信する。
【００２７】
ステップＳ３において、非接触ICチップ１３は、クライアントアプリケーション１２からの要求を受信し、ステップＳ４に進み、鍵バージョンを含む応答をクライアントアプリケーション１２に送信する。
【００２８】
クライアントアプリケーション１２は、ステップＳ１６において、非接触ICチップ１３からの応答を受信し、ステップＳ１７に進み、非接触ICチップ１３から得られたチップ固有情報と鍵バージョンを含む応答をサーバアプリケーション１１に送信する。
【００２９】
ステップＳ２３において、サーバアプリケーション１１は、クライアントアプリケーション１２から送信されてきたチップ固有情報と鍵バージョンを含む応答を受信する。これにより、サーバアプリケーション１１は、制御対象としている非接触ICチップ１３の種別に応じたコマンドを生成したり、非接触ICチップ１３が有している鍵と同じバージョンの鍵で暗号化したコマンドを送信したりすることによって非接触ICチップ１３を制御することが可能になる。
【特許文献１】特開２００３−１４１０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
ところで、以上のように、従来、要求に対するクライアント１２からの応答という形で、サーバアプリケーション１１は、制御対象の非接触ICチップ１３の情報を取得していた。
【００３１】
しかしながら、例えば、通信の開始時に、サーバアプリケーション１１からの要求によらずに、自動的に、クライアントアプリケーション１２から非接触ICチップ１３の情報が送信されるものとすれば、サーバ−クライアント間の通信の回数を減らすことができ、これにより、電子マネーを用いて代金の支払いを実現するなどの一連の処理をより短時間で終了させることができるものと考えられる。
【００３２】
また、クライアント側に行わせる一連の処理には、例えば、ある処理を非接触ICチップ１３に行わせ、その処理が成功したときにクライアント装置３の表示部に成功画面を表示させ、一方、処理が失敗したときには失敗画面を表示させるといったように、ある処理の結果に応じて次の制御内容が異なるものもあり、この場合、サーバ−クライアント間では、例えば、サーバ側からクライアント側に対してある処理の実行を要求するための第１の通信が行われ、第１の通信の後、クライアント側からサーバ側に対して処理の結果を通知するための第２の通信が行われ、第２の通信の後、サーバ側からクライアント側に対して、表示させる画面（成功画面／失敗画面）を指示するための第３の通信が行われる。
【００３３】
すなわち、このように、従来、先の要求に応じてクライアント側で行われる処理の結果に応じて、サーバ側からの次の要求の内容が異なる場合、先の要求と次の要求が別々の通信によりクライアント側に送信される。
【００３４】
この場合も、先の要求と次の要求とが一度に、同じ通信により送信され、クライアント側で、先の処理が成功したか否かに応じて、次の処理内容が変更されるものとすることにより、やはり、サーバ−クライアント間の通信の回数を減らすことができ、一連の処理をより短時間で終了させることができるものと考えられる。
【００３５】
本発明はこのような状況に鑑みてなされたものであり、サーバ−クライアント間での通信の回数を減らすことができるようにするものである。
【課題を解決するための手段】
【００３６】
本発明の第１の通信システムは、制御対象のICチップに応じたコマンドを、クライアント装置を介してICチップに送信し、実行させるサーバ装置と、クライアント装置とからなる通信システムであって、そのうちのサーバ装置は、クライアント装置との通信の開始時に、クライアント装置により取得され、送信されてきたICチップに関する情報を受信し、受信した情報に基づいて生成したICチップに応じたコマンドによりICチップを制御する制御手段を備え、クライアント装置は、サーバ装置との通信の開始時に、サーバ装置からの要求によらずに、ICチップから取得したICチップに関する情報をサーバ装置に送信する送信手段を備えることを特徴とする。
【００３７】
本発明の第１のサーバ装置は、制御対象のICチップに応じたコマンドを、クライアント装置を介してICチップに送信し、実行させるサーバ装置であって、クライアント装置との通信の開始時に、クライアント装置により取得され、送信されてきたICチップに関する情報を受信し、受信した情報に基づいて生成したICチップに応じたコマンドによりICチップを制御する制御手段を備えることを特徴とする。
【００３８】
本発明の第１の通信方法は、制御対象のICチップに応じたコマンドを、クライアント装置を介してICチップに送信し、実行させるサーバ装置の通信方法であって、クライアント装置との通信の開始時に、クライアント装置により取得され、送信されてきたICチップに関する情報を受信し、受信した情報に基づいて生成したICチップに応じたコマンドによりICチップを制御する制御ステップを含むことを特徴とする。
【００３９】
本発明の第１のプログラムは、制御対象のICチップに応じたコマンドを、クライアント装置を介してICチップに送信し、実行させる処理をコンピュータに実行させるプログラムであって、クライアント装置との通信の開始時に、クライアント装置により取得され、送信されてきたICチップに関する情報を受信し、受信した情報に基づいて生成したICチップに応じたコマンドによりICチップを制御する制御ステップを含むことを特徴とする。
【００４０】
本発明の第１のクライアント装置は、サーバ装置から送信されてくるコマンドを制御対象のICチップに実行させるクライアント装置であって、サーバ装置との通信の開始時に、サーバ装置からの要求によらずに、ICチップから取得したICチップに関する情報をサーバ装置に送信する送信手段を備えることを特徴とする。
【００４１】
本発明の第２の通信方法は、サーバ装置から送信されてくるコマンドを制御対象のICチップに実行させるクライアント装置の通信方法であって、サーバ装置との通信の開始時に、サーバ装置からの要求によらずに、ICチップから取得したICチップに関する情報をサーバ装置に送信する送信ステップを含むことを特徴とする。
【００４２】
本発明の第２のプログラムは、サーバ装置から送信されてくるコマンドを制御対象のICチップに実行させる処理をコンピュータに実行させるプログラムであって、サーバ装置との通信の開始時に、サーバ装置からの要求によらずに、ICチップから取得したICチップに関する情報をサーバ装置に送信する送信ステップを含むことを特徴とする。
【００４３】
本発明の第２の通信システムは、サーバ装置とクライアント装置とからなる通信システムであって、そのうちのサーバ装置は、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、クライアント装置に送信する送信手段を備え、クライアント装置は、第３のパケットを受信し、受信した第３のパケットに含まれる第１のパケットの内容に基づいて処理を行う第１の処理手段と、第１の処理手段による処理が失敗したとき、受信した第３のパケットに含まれる第２のパケットの内容に基づいて処理を行う第２の処理手段とを備えることを特徴とする。
【００４４】
本発明の第２のサーバ装置は、クライアント装置にパケットを送信し、パケットの内容に基づいて処理を行わせるサーバ装置であって、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、クライアント装置に送信する送信手段を備えることを特徴とする。
【００４５】
本発明の第３の通信方法は、クライアント装置にパケットを送信し、パケットの内容に基づいて処理を行わせるサーバ装置の通信方法であって、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、クライアント装置に送信する送信ステップを含むことを特徴とする。
【００４６】
本発明の第３のプログラムは、クライアント装置にパケットを送信し、パケットの内容に基づいて処理を行わせる通信処理をコンピュータに実行させるプログラムであって、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを生成し、クライアント装置に送信する送信ステップを含むことを特徴とする。
【００４７】
本発明の第２のクライアント装置は、サーバ装置から送信されてきたパケットの内容に基づいて処理を行うクライアント装置であって、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを受信し、受信した第３のパケットに含まれる第１のパケットの内容に基づいて処理を行う第１の処理手段と、第１の処理手段による処理が失敗したとき、受信した第３のパケットに含まれる第２のパケットの内容に基づいて処理を行う第２の処理手段とを備えることを特徴とする。
【００４８】
本発明の第４の通信方法は、サーバ装置から送信されてきたパケットの内容に基づいて処理を行うクライアント装置の通信方法であって、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを受信し、受信した第３のパケットに含まれる第１のパケットの内容に基づいて処理を行う第１の処理ステップと、第１の処理ステップによる処理が失敗したとき、受信した第３のパケットに含まれる第２のパケットの内容に基づいて処理を行う第２の処理ステップとを含むことを特徴とする。
【００４９】
本発明の第４のプログラムは、サーバ装置から送信されてきたパケットの内容に基づいて処理を行う通信処理をコンピュータに実行させるプログラムであって、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットを受信し、受信した第３のパケットに含まれる第１のパケットの内容に基づいて処理を行う第１の処理ステップと、第１の処理ステップによる処理が失敗したとき、受信した第３のパケットに含まれる第２のパケットの内容に基づいて処理を行う第２の処理ステップとを含むことを特徴とする。
【００５０】
本発明の第１の通信システムのサーバ装置においては、クライアント装置との通信の開始時に、クライアント装置により取得され、送信されてきたICチップに関する情報が受信され、受信された情報に基づいて生成されたICチップに応じたコマンドによりICチップが制御される。また、クライアント装置においては、サーバ装置との通信の開始時に、サーバ装置からの要求によらずに、ICチップから取得されたICチップに関する情報がサーバ装置に送信される。
【００５１】
本発明の第１のサーバ装置および第１の通信方法、並びに第１のプログラムにおいては、クライアント装置との通信の開始時に、クライアント装置により取得され、送信されてきたICチップに関する情報が受信され、受信された情報に基づいて生成されたICチップに応じたコマンドによりICチップが制御される。
【００５２】
本発明の第１のクライアント装置および第２の通信方法、並びに第２のプログラムにおいては、サーバ装置との通信の開始時に、サーバ装置からの要求によらずに、ICチップから取得されたICチップに関する情報がサーバ装置に送信される。
【００５３】
本発明の第２の通信システムのサーバ装置においては、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットが生成され、クライアント装置に送信される。また、クライアント装置においては、第３のパケットが受信され、受信された第３のパケットに含まれる第１のパケットの内容に基づいて処理が行われ、その処理が失敗したとき、受信した第３のパケットに含まれる第２のパケットの内容に基づいて処理が行われる。
【００５４】
本発明の第２のサーバ装置および第３の通信方法、並びに第３のプログラムにおいては、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットが生成され、クライアント装置に送信される。
【００５５】
本発明の第２のクライアント装置および第４の通信方法、並びに第４のプログラムにおいては、所定の処理の内容を指示する第１のパケットと、第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケットとを含む第３のパケットが受信され、受信された第３のパケットに含まれる第１のパケットの内容に基づいて処理が行われる。また、その処理が失敗したとき、受信した第３のパケットに含まれる第２のパケットの内容に基づいて処理が行われる。
【発明の効果】
【００５６】
本発明によれば、サーバ−クライアント間での通信の回数を減らすことができる。
【発明を実施するための最良の形態】
【００５７】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００５８】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００５９】
請求項１に記載の通信システムは、制御対象のICチップに応じたコマンド（例えば、ICチップの種別に応じたコマンド、鍵バージョンに応じたバージョンの鍵で暗号化されたコマンド）を、クライアント装置（例えば、図３のクライアント３４）を介して前記ICチップに送信し、実行させるサーバ装置（例えば、図３のサーバ３１）と、前記クライアント装置とからなる通信システムであって、そのうちの前記サーバ装置は、前記クライアント装置との通信の開始時に、前記クライアント装置により取得され、送信されてきた前記ICチップに関する情報を受信し、受信した情報に基づいて生成した前記ICチップに応じたコマンドにより前記ICチップを制御する制御手段（例えば、図５のステップＳ５１の処理を実行する図４の通信部５９）を備え、前記クライアント装置は、前記サーバ装置との通信の開始時に、前記サーバ装置からの要求によらずに、前記ICチップから取得した前記ICチップに関する情報を前記サーバ装置に送信する送信手段（例えば、図５のステップＳ４５の処理を実行する図４の通信部５９）を備えることを特徴とする。
【００６０】
請求項２に記載のサーバ装置は、制御対象のICチップに応じたコマンド（例えば、ICチップの種別に応じたコマンド、鍵バージョンに応じたバージョンの鍵で暗号化されたコマンド）を、クライアント装置（例えば、図３のクライアント３４）を介して前記ICチップに送信し、実行させるサーバ装置（例えば、図３のサーバ３１）であって、前記クライアント装置との通信の開始時に、前記クライアント装置により取得され、送信されてきた前記ICチップに関する情報を受信し、受信した情報に基づいて生成した前記ICチップに応じたコマンドにより前記ICチップを制御する制御手段（例えば、図５のステップＳ５１の処理を実行する図４の通信部５９）を備えることを特徴とする。
【００６１】
請求項３に記載の通信方法は、制御対象のICチップに応じたコマンド（例えば、ICチップの種別に応じたコマンド、鍵バージョンに応じたバージョンの鍵で暗号化されたコマンド）を、クライアント装置（例えば、図３のクライアント３４）を介して前記ICチップに送信し、実行させるサーバ装置（例えば、図３のサーバ３１）の通信方法であって、前記クライアント装置との通信の開始時に、前記クライアント装置により取得され、送信されてきた前記ICチップに関する情報を受信し、受信した情報に基づいて生成した前記ICチップに応じたコマンドにより前記ICチップを制御する制御ステップ（例えば、図５のステップＳ５１）を含むことを特徴とする。
【００６２】
請求項４に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項３に記載の通信方法と同様である。
【００６３】
請求項５に記載のクライアント装置は、サーバ装置（例えば、図３のサーバ３１）から送信されてくるコマンドを制御対象のICチップに実行させるクライアント装置（例えば、図３のクライアント３４）であって、前記サーバ装置との通信の開始時に、前記サーバ装置からの要求によらずに、前記ICチップから取得した前記ICチップに関する情報を前記サーバ装置に送信する送信手段（例えば、図５のステップＳ４５の処理を実行する図４の通信部５９）を備えることを特徴とする。
【００６４】
請求項６に記載の通信方法は、サーバ装置（例えば、図３のサーバ３１）から送信されてくるコマンドを制御対象のICチップに実行させるクライアント装置（例えば、図３のクライアント３４）の通信方法であって、前記サーバ装置との通信の開始時に、前記サーバ装置からの要求によらずに、前記ICチップから取得した前記ICチップに関する情報を前記サーバ装置に送信する送信ステップ（例えば、図５のステップＳ４５）を含むことを特徴とする。
【００６５】
請求項７に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項６に記載の通信方法と同様である。
【００６６】
請求項８に記載の通信システムは、サーバ装置（例えば、図３のサーバ３１）とクライアント装置（例えば、図３のクライアント３４）とからなる通信システムであって、そのうちの前記サーバ装置は、所定の処理の内容を指示する第１のパケット（例えば、通常パケット）と、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケット（例えば、制御パケット）とを含む第３のパケット（例えば、要求パケット）を生成し、前記クライアント装置に送信する送信手段（例えば、図１０のステップＳ１０４の処理を実行する図８の要求パケット生成部１０３）を備え、前記クライアント装置は、前記第３のパケットを受信し、受信した前記第３のパケットに含まれる前記第１のパケットの内容に基づいて処理を行う第１の処理手段（例えば、図１１のステップＳ１２２の処理を実行する図９の通常パケット処理部１１２）と、前記第１の処理手段による処理が失敗したとき、受信した前記第３のパケットに含まれる前記第２のパケットの内容に基づいて処理を行う第２の処理手段（例えば、図１１のステップＳ１２４の処理を実行する図９の制御パケット処理部１１３）とを備えることを特徴とする。
【００６７】
請求項９に記載のサーバ装置は、クライアント装置（例えば、図３のクライアント３４）にパケットを送信し、パケットの内容に基づいて処理を行わせるサーバ装置（例えば、図３のサーバ３１）であって、所定の処理の内容を指示する第１のパケット（例えば、通常パケット）と、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケット（例えば、制御パケット）とを含む第３のパケット（例えば、要求パケット）を生成し、前記クライアント装置に送信する送信手段（例えば、図１０のステップＳ１０４の処理を実行する図８の要求パケット生成部１０３）を備えることを特徴とする。
【００６８】
請求項１０に記載の通信方法は、クライアント装置（例えば、図３のクライアント３４）にパケットを送信し、パケットの内容に基づいて処理を行わせるサーバ装置（例えば、図３のサーバ３１）の通信方法であって、所定の処理の内容を指示する第１のパケット（例えば、通常パケット）と、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケット（例えば、制御パケット）とを含む第３のパケット（例えば、要求パケット）を生成し、前記クライアント装置に送信する送信ステップ（例えば、図１０のステップＳ１０４）を含むことを特徴とする。
【００６９】
請求項１１に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項１０に記載の通信方法と同様である。
【００７０】
請求項１２に記載のクライアント装置は、サーバ装置（例えば、図３のサーバ３１）から送信されてきたパケットの内容に基づいて処理を行うクライアント装置（例えば、図３のクライアント３４）であって、所定の処理の内容を指示する第１のパケット（例えば、通常パケット）と、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケット（例えば、制御パケット）とを含む第３のパケット（例えば、要求パケット）を受信し、受信した前記第３のパケットに含まれる前記第１のパケットの内容に基づいて処理を行う第１の処理手段（例えば、図１１のステップＳ１２２の処理を実行する図９の通常パケット処理部１１２）と、前記第１の処理手段による処理が失敗したとき、受信した前記第３のパケットに含まれる前記第２のパケットの内容に基づいて処理を行う第２の処理手段（例えば、図１１のステップＳ１２４の処理を実行する図９の制御パケット処理部１１３）とを備えることを特徴とする。
【００７１】
請求項１３に記載の通信方法は、サーバ装置（例えば、図３のサーバ３１）から送信されてきたパケットの内容に基づいて処理を行うクライアント装置（例えば、図３のクライアント３４）の通信方法であって、所定の処理の内容を指示する第１のパケット（例えば、通常パケット）と、前記第１のパケットに基づく処理が失敗した場合の次の処理の内容を指示する第２のパケット（例えば、制御パケット）とを含む第３のパケット（例えば、要求パケット）を受信し、受信した前記第３のパケットに含まれる前記第１のパケットの内容に基づいて処理を行う第１の処理ステップ（例えば、図１１のステップＳ１２２）と、前記第１の処理ステップによる処理が失敗したとき、受信した前記第３のパケットに含まれる前記第２のパケットの内容に基づいて処理を行う第２の処理ステップ（例えば、図１１のステップＳ１２４）とを含むことを特徴とする。
【００７２】
請求項１４に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項１３に記載の通信方法と同様である。
【００７３】
以下、本発明の実施の形態について図を参照して説明する。
【００７４】
図３は、本発明を適用したサーバ−クライアントシステムの構成例を示すブロック図である。
【００７５】
図３のサーバ−クライアントシステムは、サーバ３１、セキュリティモジュール３２、ネットワーク３３、クライアント３４、およびICチップ３５から構成される。
【００７６】
図３のサーバ−クライアントシステムにおいて、サーバ側はサーバ３１とセキュリティモジュール３２からなり、クライアント側はクライアント３４とICチップ３５からなる。サーバ３１とクライアント３４はネットワーク３３を介して接続されている。
【００７７】
図３に示す構成のうちのサーバ３１は図１のサーバ装置１に対応し、セキュリティモジュール３２は図１のセキュリティモジュール２に対応する。また、ネットワーク３３は図１のネットワーク５に対応し、クライント３４は図１のクライアント装置３に対応し、ICチップ３５は図１の非接触ICチップ１３に対応する。なお、図４のR/W４に対応する構成は図３では省略している。
【００７８】
すなわち、サーバ３１は、図１のサーバアプリケーション１１の機能を少なくとも有しており、クライアント３４との間で通信を行い、クライアント３４からの要求に応じて作成したコマンド（ICチップ３５に実行させるコマンド）をセキュリティモジュール３２に出力する。また、サーバ３１は、暗号化が施されたコマンドがセキュリティモジュール３２から供給されてきたとき、それをネットワーク３３を介してクライアント３３に送信する。
【００７９】
セキュリティモジュール３２は、耐タンパ性を有する装置であり、暗号処理、および、その暗号処理で用いる鍵の管理を行う。セキュリティモジュール３２は、サーバ３１から供給されてきたコマンドに暗号化を施し、暗号化されたコマンドをサーバ３１に出力する。セキュリティモジュール３２とICチップ３５は、それぞれ共通の鍵を持っており、その鍵で暗号化された情報を送受信することによりセキュリティモジュール３２とICチップ３５の間で暗号通信が実現される。
【００８０】
クライアント３４は、図１のクライアントアプリケーション１２の機能を少なくとも有し、所定の要求をサーバ３１に送信するとともに、サーバ３１からコマンドが送信されてきたとき、それをICチップ３５に送信し、実行させる。
【００８１】
ICチップ３５は、クライアント３４等を介してセキュリティモジュール３２から送信されてきたコマンドに施されている暗号化を復号し、それを実行する。コマンドの内容が電子マネーの書き換えである場合、このコマンドには書き換える金額の情報なども含まれている。
【００８２】
このような構成を有するサーバ−クライアントシステムにおいて、例えば、ICチップ３５に記憶されている電子マネーを用いた代金の支払いの処理をクライアント３４からの要求に応じて行う場合、サーバ３１は、ICチップ３５に記憶されている電子マネーの残高を読み出すReadコマンドなどを送信する前に、上述したように、ICチップ３５の固有情報や、ICチップ３５が管理している鍵のバージョンを取得する必要がある。
【００８３】
図３のサーバ−クライアントシステムにおいて、この、ICチップ３５の固有情報や、ICチップ３５が管理している鍵のバージョンの取得は、次のようにして行われる。以下、適宜、ICチップ３５の固有情報や、ICチップ３５が管理している鍵のバージョンの情報などのICチップ３５に関する情報をまとめてチップ情報という。
【００８４】
すなわち、図２に示したように、サーバ側からの要求があって初めてクライアント側において取得されたチップ情報が、サーバ側からの要求に対する応答という形で送信され、サーバ側により取得されるのではなく、サーバ側に対するアクセス（通信開始の要求）の前に、サーバ側からの要求によらずにクライアント側でチップ情報が取得され、アクセスと同時にチップ情報が送信され、サーバ側により取得される。
【００８５】
これにより、サーバ３１は、アクセスと同時にクライアント３４から送信されてきたチップ情報に基づいて、いま制御対象としているICチップ３５に応じたコマンドやメッセージを生成し、それらの情報を送信したりすることができる。
【００８６】
従って、サーバ３１からの要求があって初めてクライアント３４によりICチップ３５のチップ情報が取得され、それがサーバ３１に送信される場合に較べて、サーバ−クライアント間の通信の回数を減らすことができ、一連の処理をより短時間で終了させることができる。
【００８７】
ここで、ICチップ３５に応じたコマンドやメッセージとは、例えば、携帯電話機に内蔵されているものやクレジットカードに埋め込まれているものなど、ICチップの種別毎にコマンドやメッセージの種別が異なる場合に、その種別がICチップ３５に応じたものであるということや、一度に送受信する長さや個数がICチップ３５に応じたものであるということなどを意味する。
【００８８】
図３のサーバ−クライアントシステムにおける通信開始時の処理についてはフローチャートを参照して後述する。
【００８９】
図４は、図３のサーバ３１のハードウエア構成例を示すブロック図である。
【００９０】
CPU(Central Processing Unit)５１は、ROM(Read Only Memory)５２に記憶されているプログラム、または、記憶部５８からRAM(Random Access Memory)５３にロードされたプログラムに従って各種の処理を実行する。RAM５３にはまた、CPU５１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００９１】
CPU５１、ROM５２、およびRAM５３は、バス５４を介して相互に接続されている。このバス５４にはまた、入出力インタフェース５５も接続されている。
【００９２】
入出力インタフェース５５には、キーボード、マウスなどよりなる入力部５６、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部５７、ハードディスクなどより構成される記憶部５８、ネットワーク３３を介しての通信処理を行う通信部５９が接続されている。
【００９３】
入出力インタフェース５５にはまた、必要に応じてドライブ６０が接続される。ドライブ６０には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア６１が適宜装着され、それから読み出されたコンピュータプログラムが必要に応じて記憶部５８にインストールされる。
【００９４】
なお、セキュリティモジュール３２、クライアント３４も、図４の構成と同様の構成を有している。以下、適宜、図４の構成を、セキュリティモジュール３２やクライアント３４の構成としても引用して説明する。
【００９５】
次に、図５のフローチャートを参照して、図３のサーバ−クライアントシステムにおける通信開始時の処理について説明する。
【００９６】
ステップＳ４１において、クライアント３４は、チップ固有情報の取得の要求をICチップ３５に送信する。
【００９７】
ステップＳ３１において、ICチップ３５は、クライアント３４からの要求を受信し、ステップＳ３２に進み、チップ固有情報を含む応答をクライアント３４に送信する。
【００９８】
クライアント３４は、ステップＳ４２において、ICチップ３５からの応答を受信し、ステップＳ４３に進み、次に、鍵バージョンの取得の要求をICチップ３５に送信する。
【００９９】
ステップＳ３３において、ICチップ３５は、クライアント３４からの要求を受信し、ステップＳ３４に進み、鍵バージョンを含む応答をクライアント３４に送信する。
【０１００】
クライアント３４は、ステップＳ４４において、ICチップ３５からの応答を受信し、ステップＳ４５に進み、ICチップ３５から得られたチップ固有情報と鍵バージョン（チップ情報）を含む通信開始の要求をサーバ３１に送信する。
【０１０１】
ステップＳ５１において、サーバ３１は、クライアント３４から送信されてきたチップ情報を含む通信開始の要求を受信する。これにより、サーバ３１は、制御対象としているICチップ３５の種別に応じたコマンドを生成したり、ICチップ３５が有している鍵と同じバージョンの鍵で暗号化したコマンドを送信したりすることによって、ICチップ３５を制御することが可能になる。
【０１０２】
図５の処理と図２の処理とを比較してわかるように、図２のサーバアプリケーション１１のステップＳ２１，Ｓ２２の処理、クライアントアプリケーション１２のステップＳ１１，Ｓ１２の処理に対応する処理が図５の処理では行われず、サーバ側がチップ情報を取得するまでの同じ処理であっても、図５の処理の方が、サーバ−クライアント間の通信の回数が少なくて済む。
【０１０３】
以上においては、サーバ３１からの要求によらずにクライアント３４により取得され、サーバ３１に送信される情報がチップ固有情報と鍵バージョンであるとしたが、これ以外にも、サーバ３１が取得しておく必要のある各種の情報が、通信開始の要求とともにクライアント３４から送信されるようにしてもよい。
【０１０４】
例えば、ICチップ３５で採用されているOS(Operating System)を表す情報、ICチップ３５におけるデータの管理に関する情報（データフォーマット）などがチップ情報として通信開始の要求とともにサーバ３１に送信されるようにしてもよい。
【０１０５】
また、クライアント３４のハードウェアを表す情報（例えば、クライアント３４が携帯電話機、PCであるなどの情報）や、クライアント３４で採用されているOSを表す情報などのクライアントに関する情報が、通信開始の要求とともにサーバ３１に送信されるようにしてもよい。
【０１０６】
以上においては、サーバ３１で必要な情報が、サーバ３１からの要求によらずにクライアント３４により取得され、それが通信開始の要求とともにサーバ３１に送信されることによって通信回数を減らす場合について説明したが、次のように、クライアント側（クライアント３４、ICチップ３５）に実行させるコマンドが１回の通信で１つずつ送信されるのではなく、そのようなコマンド（コマンドを含むパケット）が、複数、まとめてサーバ３１からクライアント３４に送信されることによっても通信回数を減らすことができる。
【０１０７】
図６は、このように、コマンドを含むパケットをまとめてサーバ３１からクライアント３４に送信することによって通信回数を減らす場合の図３のサーバ−クライアントシステムの処理について説明するフローチャートである。
【０１０８】
ステップＳ７１において、サーバ３１は、パケット（Packet）のまとまりからなる要求パケットをクライアント３４に送信する。
【０１０９】
図６の例においては、要求パケットは、通常パケットまたは制御パケットであるPacket１乃至Ｎから構成されている。
【０１１０】
ここで、通常パケットは、クライアント３４やICチップ３５に実行させるコマンドを含むパケットである。例えば、所定の画面表示をクライアント３４に指示するコマンドや、情報の読み出し、書き込みをICチップ３５に指示するコマンド（Readコマンド、Writeコマンド）が通常パケットに含まれる。
【０１１１】
また、制御パケットは、通常パケットに含まれるコマンドに従った処理が失敗した場合に、次にどの処理を行うのか（条件分岐）をクライアント３４やICチップ３５に指示する情報を含むパケットである。
【０１１２】
ステップＳ６１において、クライアント３４は、サーバ３１から送信されてきた要求パケットを受信し、ステップＳ６２に進み、パケットの処理を行う。
【０１１３】
パケットの処理は、例えば、図７Ａ乃至Ｄに示すようにしてクライアント３４またはICチップ３５により行われる。
【０１１４】
要求パケットを構成するパケットのうち、通常パケットは前から１つずつ処理される。例えば、Packet１乃至３がそれぞれ通常パケットである場合、図７Ａに示すように、Packet１、Packet２、Packet３、・・・の順番で処理が行われる。
【０１１５】
通常パケットの処理が失敗した場合（エラーが発生した場合）、制御パケットの条件分岐に従って次の処理が行われる。
【０１１６】
例えば、Packet２の処理が失敗した場合に、次にPacketＮを処理することが制御パケットにより指示されているとき、図７Ｂに示すように、Packet１、Packet２（失敗）、PacketＮの順番で処理が行われる。
【０１１７】
また、例えば、Packet２の処理が失敗した場合に、そこで処理を止めることが制御パケットにより指示されているとき、図７Ｃに示すように、Packet１、Packet２（失敗）の順番で処理が行われる。これは、クライアント側（片側）の処理を途中で終わらせる場合などに用いられる。
【０１１８】
さらに、例えば、Packet２の処理が失敗した場合に、所定の数だけPacketの処理をジャンプし、ジャンプ先にある所定のPacketを処理することが制御パケットにより指示されているとき、図７Ｄに示すように、Packet１、Packet２（失敗）、その所定のPacketの順番で処理が行われる。これは、所定のPacketを処理した後、再度、Packet２の処理に戻るといったような場合に用いられる。
【０１１９】
このような処理がクライアント３４、ICチップ３５において行われることにより、例えば、ICチップ３５にアクセス（情報の読み出し、書き込み）する通常パケット（Packet１）、この通常パケットの処理に失敗した場合、次の通常パケットの処理をジャンプして次々の通常パケットの処理を行うことを指示する制御パケット（Packet２）、ICチップ３５のアクセスに成功したことをユーザに通知する画面を表示させる通常パケット（Packet３）、ICチップ３５のアクセスに失敗したことをユーザに通知する画面を表示させる通常パケット（Packet４）からなる要求パケットがサーバ３１から送信されてきた場合において、ICチップ３５へのアクセス（Packet１の処理）が失敗したとき、Packet２による指示に従って、Packet３の処理がジャンプされ、Packet４の処理、すなわち、ICチップ３５のアクセスに失敗したことをユーザに通知する画面を表示させる処理がクライアント３４により行われる。
【０１２０】
このように、複数のパケット（コマンド）がサーバ３１からまとめて送信され、クライアント側において、あるパケットの処理に失敗した場合、次の処理が制御パケットの内容に基づいてクライアント３４自身により判断され、次の処理が行われるようにすることにより、サーバ−クライアント間の通信の回数を減らすことができる。
【０１２１】
すなわち、サーバ３１が、ICチップ３５へのアクセスを指示するコマンドを含む第１のパケットをクライアント３４に送信し、その処理結果（応答）をクライアント３４から取得し、処理が成功したか否かを判断してから、次に送信するコマンドを含む第２のパケットを選択し、選択した第２のパケットを送信することによっても、同様の一連の処理を実現することができるが、この場合、上述したように、複数のパケット（通常パケット）を、制御パケットとともにまとめて送る場合より、通信の回数が多く、一連の処理が完了するまでに時間がかかってしまうことになる。
【０１２２】
図６の説明に戻り、ステップＳ６３において、クライアント３４は、Packet１乃至Ｎのそれぞれの処理結果を表す、応答パケットPacket１乃至Ｎをサーバ３１に送信する。
【０１２３】
サーバ３１は、ステップＳ７２において、クライアント３４から送信されてきた応答パケットPacket１乃至Ｎを受信し、それ以降の処理を行う。
【０１２４】
図３のサーバ−クライアントシステムにおいては、以上のような方法によっても、サーバ−クライアント間の通信回数を減らすことが行われる。サーバ３１とクライアント３４のそれぞれの詳細な処理についてはフローチャートを参照して後述する。
【０１２５】
図８は、サーバ３１の機能構成例を示すブロック図である。
【０１２６】
サーバ３１は、通常パケット生成部１０１、制御パケット生成部１０２、および要求パケット生成部１０３から構成される。
【０１２７】
通常パケット生成部１０１は、サーバ３１の管理者（ICチップ３５を用いたサービスの提供者）により入力部５６（図４）が操作されることによって入力されたコマンドを含む通常パケットを生成し、生成した通常パケットを要求パケット生成部１０３に出力する。
【０１２８】
制御パケット生成部１０２は、サーバ３１の管理者により入力された条件分岐に従って、その条件分岐を表す制御パケットを生成し、生成した制御パケットを要求パケット生成部１０３に出力する。
【０１２９】
要求パケット生成部１０３は、通常パケット生成部１０１から供給されてきた通常パケットと、制御パケット生成部１０２から供給されてきた制御パケットをひとまとまりにして要求パケットを生成し、生成した要求パケットを、所定のタイミングでクライアント３４に送信する。
【０１３０】
図９は、クライアント３４の機能構成例を示すブロック図である。
【０１３１】
クライアント３４は、パケット抽出部１１１、通常パケット処理部１１２、および制御パケット処理部１１３から構成される。
【０１３２】
パケット抽出部１１１は、サーバ３１から送信されてきた要求パケットを受信し、それを構成する通常パケットと制御パケットを抽出する。パケット抽出部１１１は、抽出した通常パケットを通常パケット処理部１１２に出力し、制御パケットを制御パケット処理部１１３に出力する。
【０１３３】
通常パケット処理部１１２は、パケット抽出部１１１から供給されてきた通常パケットを自分自身で処理し、または、ICチップ３５に処理させる（通常パケットに含まれるコマンドを自分自身で実行し、または、ICチップ３５に実行させる）。
【０１３４】
制御パケット処理部１１３は、通常パケット処理部１１２による通常パケットの処理が失敗したとき、パケット抽出部１１１から供給されてきた制御パケットに基づいて、次の処理の内容を表す情報を通常パケット処理部１１２に出力し、その、次の処理を通常パケット処理部１１２に行わせる。
【０１３５】
次に、以上のような構成を有するサーバ３１とクライアント３４のそれぞれの処理について説明する。
【０１３６】
始めに、図１０のフローチャートを参照して、要求パケットを生成するサーバ３１の処理について説明する。
【０１３７】
ステップＳ１０１において、サーバ３１の通常パケット生成部１０１は、サーバ３１の管理者により入力されたコマンドを含む通常パケットを生成し、生成した通常パケットを要求パケット生成部１０３に出力する。
【０１３８】
ステップＳ１０２において、制御パケット生成部１０２は、同じくサーバ３１の管理者により入力された条件分岐に従って、その条件分岐を表す制御パケットを生成し、生成した制御パケットを要求パケット生成部１０３に出力する。
【０１３９】
要求パケット生成部１０３は、ステップＳ１０３において、通常パケット生成部１０１から供給されてきた通常パケットと、制御パケット生成部１０２から供給されてきた制御パケットをひとまとまりにして要求パケットを生成する。
【０１４０】
また、要求パケット生成部１０３は、ステップＳ１０４において、ステップＳ１０３で生成した要求パケットを所定のタイミングでクライアント３４に送信し、処理を終了させる。要求パケットに対する応答がクライアント３４から送信されてきたとき、サーバ３１においては、それを用いた処理が行われる。
【０１４１】
次に、図１１のフローチャートを参照して、パケットを処理するクライアント３４の処理について説明する。この処理は、図６のステップＳ６２で行われる処理に相当する。
【０１４２】
ステップＳ１２１において、クライアント３４のパケット抽出部１１１は、サーバ３１から送信されてきた要求パケットを受信し、それを構成する通常パケットと制御パケットを抽出する。パケット抽出部１１１は、抽出した通常パケットを通常パケット処理部１１２に出力し、制御パケットを制御パケット処理部１１３に出力する。
【０１４３】
ステップＳ１２２において、通常パケット処理部１１２は、パケット抽出部１１１から供給されてきた通常パケットを自分自身で処理し、または、ICチップ３５に処理させる。
【０１４４】
ステップＳ１２３において、制御パケット処理部１１３は、通常パケット処理部１１２による通常パケットの処理が成功したか否かを判定し、成功していない、すなわち、失敗したと判定した場合、ステップＳ１２４に進み、パケット抽出部１１１から供給されてきた制御パケットに基づいて、次の処理の内容を表す情報を通常パケット処理部１１２に出力し、その、次の処理を通常パケット処理部１１２に行わせる。
【０１４５】
ステップＳ１２５において、制御パケット処理部１１３は、処理を終了させるか否かを判定し、終了させないと判定した場合、ステップＳ１２２に戻り、それ以降の処理を行わせる。
【０１４６】
例えば、処理が失敗した通常パケットの次に処理するものとして所定の通常パケットが制御パケットにより指示されている場合、ステップＳ１２４においては、次に処理する通常パケットの情報が通常パケット処理部１１２に出力され、ステップＳ１２５において、処理をまだ終了しないと判定される。その後、ステップＳ１２２において、その、次に処理するものとして制御パケットにより指示されている通常パケットが通常パケット処理部１１２により処理される。
【０１４７】
また、通常パケットの処理が失敗した場合には、そこで処理を止めることが制御パケットにより指示されているとき、ステップＳ１２４においては、処理を止めることを表す情報が通常パケット処理部１１２に出力され、ステップＳ１２５において、処理を終了すると判定され、処理は終了される。
【０１４８】
以上のように、通常パケット処理部１１２による通常パケットの処理が失敗した場合、制御パケット処理部１１３により処理された、制御パケットの内容に応じて次の処理が行われる。
【０１４９】
一方、ステップＳ１２３において、制御パケット処理部１１３は、通常パケット処理部１１２による通常パケットの処理が成功したと判定した場合、ステップＳ１２４の処理をスキップし、ステップＳ１２５以降の処理を行う。
【０１５０】
すなわち、ステップＳ１２５において、処理を終了させるか否かが判定され、前から１つずつ、要求パケットに含まれる最後の通常パケットまで処理が行われたことから、処理を終了すると判定された場合、処理は終了される。また、通常パケットがまだ残っていることから、処理を終了しないと判定された場合、ステップＳ１２２に戻り、通常パケットの処理が継続される。図１１の処理が終了したとき、応答コマンドがサーバ３１に対して送信される。
【０１５１】
以上の処理により、サーバ−クライアント間の通信回数を減らすことができる。
【０１５２】
なお、制御パケットを用いて条件分岐を指定する方法と同様の方法として、スクリプトを用いて処理の内容と条件分岐を指定することも考えらるが、スクリプトは所定のプログラミング言語で記述されたものであり、ICチップ３５向けのコマンドなどよりなる制御パケットを処理するよりも高度な処理が求められることから、実装の面や、クライアント側の機器の処理負担の面という点から、制御パケットを用いた方が有効である。従って、以上のような制御パケットを用いた方法は、携帯機器などの、パーソナルコンピュータなどと較べて処理能力の劣る機器を制御する場合や、その機器に内蔵されたICチップなどを制御する場合に特に有効である。
【０１５３】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
【０１５４】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１５５】
この記録媒体は、図４に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory)，DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（登録商標）(Mini-Disk)を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア６１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM５２や、記憶部５８に含まれるハードディスクなどで構成される。
【０１５６】
なお、本明細書において、各ステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１５７】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【図面の簡単な説明】
【０１５８】
【図１】従来のサーバ−クライアントシステムの構成例を示すブロック図である。
【図２】図１のサーバ−クライアントシステムの通信開始時の処理について説明するフローチャートである。
【図３】本発明を適用したサーバ−クライアントシステムの構成例を示すブロック図である。
【図４】図３のサーバのハードウエア構成例を示すブロック図である。
【図５】図３のサーバ−クライアントシステムの通信開始時の処理について説明するフローチャートである。
【図６】図３のサーバ−クライアントシステムの処理について説明するフローチャートである。
【図７】パケットの処理について示す図である。
【図８】サーバの機能構成例を示すブロック図である。
【図９】クライアントの機能構成例を示すブロック図である。
【図１０】サーバの要求パケット生成処理について説明するフローチャートである。
【図１１】クライアントのパケット処理について説明するフローチャートである。
【符号の説明】
【０１５９】
３１  サーバ，  ３２  セキュリティモジュール，  ３３  ネットワーク，  ３４  クライアント，  ３５  ICチップ，  １０１  通常パケット生成部，  １０２  制御パケット生成部，  １０３  要求パケット生成部，  １１１  パケット抽出部，  １１２  通常パケット処理部，  １１３  制御パケット処理部
【図１】
2006099641.tif 000003
【図２】
2006099641.tif 000004
【図３】
2006099641.tif 000005
【図４】
2006099641.tif 000006
【図５】
2006099641.tif 000007
【図６】
2006099641.tif 000008
【図７】
2006099641.tif 000009
【図８】
2006099641.tif 000010
【図９】
2006099641.tif 000011
【図１０】
2006099641.tif 000012
【図１１】
2006099641.tif 000013