(57)【要約】【課題】  １つの装置で、非接触ICカードに対応して異なる種類のサービスを提供できる。【解決手段】  ランチャープログラム２３は、非接触ICカード３から送信されてくる、プログラムを特定するサービスID２１の受信を制御し、サービスID２１によって特定されるアプリケーションプログラム２５が実行できるか否かを判定する。アプリケーションプログラム２５が実行できないと判定された場合、ランチャープログラム２３は、ネットワーク２６を介して、サーバ６に、アプリケーションプログラム２５の提供を要求し、ネットワーク２６を介して、サーバ６から送信されてくる、アプリケーションプログラム２５の受信を制御する。ランチャープログラム２３は、アプリケーションプログラム２５の実行を制御する。本発明は、リーダーライタ２を有するパーソナルコンピュータ１に適用できる。【選択図】      図２
2005056150.tif 000002
【特許請求の範囲】
【請求項１】
送信手段を有する記憶媒体から送信されてくる、プログラムを特定するプログラム特定情報の受信を制御する第１の受信制御手段と、
受信された前記プログラム特定情報によって特定される前記プログラムが実行できるか否かを判定する判定手段と、
前記プログラム特定情報によって特定される前記プログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、前記プログラム特定情報によって特定される前記プログラムの提供を要求する要求手段と、
前記ネットワークを介して、前記提供装置から送信されてくる、前記プログラム特定情報によって特定される前記プログラムの受信を制御する第２の受信制御手段と、
前記プログラム特定情報によって特定される前記プログラムの実行を制御するプログラム実行制御手段と
を含むことを特徴とする情報処理装置。
【請求項２】
前記プログラム実行制御手段は、
前記記憶媒体から送信されてくる、データの受信を制御する受信制御ステップと、
受信された前記データを基に処理を実行する実行ステップと
をコンピュータに行わせる前記プログラムの実行を制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記プログラム特定情報と前記プログラムとの対応関係が記述されている対応情報を記録する記録手段と、
受信された前記プログラム特定情報および記録されている前記対応情報を基に、前記プログラムを特定する特定手段と
をさらに含むことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
送信手段を有する記憶媒体から送信されてくる、プログラムを特定するプログラム特定情報の受信を制御する第１の受信制御ステップと、
受信された前記プログラム特定情報によって特定される前記プログラムが実行できるか否かを判定する判定ステップと、
前記プログラム特定情報によって特定される前記プログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、前記プログラム特定情報によって特定される前記プログラムの提供を要求する要求ステップと、
前記ネットワークを介して、前記提供装置から送信されてくる、前記プログラム特定情報によって特定される前記プログラムの受信を制御する第２の受信制御ステップと、
前記プログラム特定情報によって特定される前記プログラムの実行を制御するプログラム実行制御ステップと
を含むことを特徴とする情報処理方法。
【請求項５】
送信手段を有する記憶媒体から送信されてくる、他のプログラムを特定するプログラム特定情報の受信を制御する第１の受信制御ステップと、
受信された前記プログラム特定情報によって特定される前記他のプログラムが実行できるか否かを判定する判定ステップと、
前記プログラム特定情報によって特定される前記他のプログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、前記プログラム特定情報によって特定される前記他のプログラムの提供を要求する要求ステップと、
前記ネットワークを介して、前記提供装置から送信されてくる、前記プログラム特定情報によって特定される前記他のプログラムの受信を制御する第２の受信制御ステップと、
前記プログラム特定情報によって特定される前記他のプログラムの実行を制御するプログラム実行制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項６】
プログラムを特定するプログラム特定情報、および前記プログラム特定情報によって特定される前記プログラムに処理されるデータを記憶する記憶手段と、
前記プログラムを実行する情報処理装置に、前記プログラム特定情報または前記データを送信する送信手段と
を含むことを特徴とする記憶媒体。
【請求項７】
前記送信手段は、前記プログラムの実行を制御する実行制御プログラムを前記情報処理装置が実行している場合、前記プログラム特定情報を送信し、前記プログラム特定情報によって特定される前記プログラムを前記情報処理装置が実行している場合、前記データを送信する
ことを特徴とする請求項６に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、プログラム、並びに記憶媒体に関し、特に、要求に応じて複数のプログラムの中から適切なプログラムを実行できるようにした情報処理装置および方法、プログラム、並びに記憶媒体に関する。
【背景技術】
【０００２】
非接触IC（Integrated Circuit）カードが、電車の定期券や電子マネーとして使用されている。
【０００３】
また、ブラウザに対してコンテンツを提供するビュー・サーバと、非接触ICカードであるオブジェクトと通信を行う通信サーバと、ビュー・サーバと通信サーバ間の動作を連携させるアプリケーション・サーバとを備えているサーバ装置がある（例えば、特許文献１参照）。このサーバ装置においては、オブジェクトから読み出しを行なう際に、通信サーバがアプリケーション・サーバに読み出し結果を通知することにより、通信サーバとビュー・サーバ間の同期をとる。
【０００４】
【特許文献１】特開２００３−１４１０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、非接触ICが使用されている非接触ICカードである定期券と通信して処理を実行する改札装置や、電子マネーである非接触ICカードと通信して処理を実行する端末装置などでは、そのサービスを提供する端末装置上で、そのサービス専用のアプリケーションプログラムが常に実行されていなければならない。
【０００６】
特定のサービスを提供する端末装置に、他のサービスを受けるための非接触ICをかざしても（近接させても）、その端末装置は処理を実行しない。これは、特定のサービスを提供する端末装置は、他のサービスを受けるための非接触ICがかざされることを前提としていないからである。例えば、電子マネーとして使用される非接触ICカードを、改札装置に近づけても、その改札装置は、全く反応しない。
【０００７】
このため、使用者は、サービス毎に別々の非接触ICカードを持たなければならず、受けようとするサービス毎に非接触ICカードを選んで、さらに端末装置を選ばなければならないという、面倒な作業が必要であった。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、送信手段を有する記憶媒体から送信されてくる、プログラムを特定するプログラム特定情報の受信を制御する第１の受信制御手段と、受信されたプログラム特定情報によって特定されるプログラムが実行できるか否かを判定する判定手段と、プログラム特定情報によって特定されるプログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、プログラム特定情報によって特定されるプログラムの提供を要求する要求手段と、ネットワークを介して、提供装置から送信されてくる、プログラム特定情報によって特定されるプログラムの受信を制御する第２の受信制御手段と、プログラム特定情報によって特定されるプログラムの実行を制御するプログラム実行制御手段とを含むことを特徴とする。
【０００９】
プログラム実行制御手段は、記憶媒体から送信されてくる、データの受信を制御する受信制御ステップと、受信されたデータを基に処理を実行する実行ステップとをコンピュータに行わせるプログラムの実行を制御するようにすることができる。
【００１０】
情報処理装置は、プログラム特定情報とプログラムとの対応関係が記述されている対応情報を記録する記録手段と、受信されたプログラム特定情報および記録されている対応情報を基に、プログラムを特定する特定手段とをさらに設けることができる。
【００１１】
本発明の情報処理方法は、送信手段を有する記憶媒体から送信されてくる、プログラムを特定するプログラム特定情報の受信を制御する第１の受信制御ステップと、受信されたプログラム特定情報によって特定されるプログラムが実行できるか否かを判定する判定ステップと、プログラム特定情報によって特定されるプログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、プログラム特定情報によって特定されるプログラムの提供を要求する要求ステップと、ネットワークを介して、提供装置から送信されてくる、プログラム特定情報によって特定されるプログラムの受信を制御する第２の受信制御ステップと、プログラム特定情報によって特定されるプログラムの実行を制御するプログラム実行制御ステップとを含むことを特徴とする。
【００１２】
本発明のプログラムは、送信手段を有する記憶媒体から送信されてくる、他のプログラムを特定するプログラム特定情報の受信を制御する第１の受信制御ステップと、受信されたプログラム特定情報によって特定される他のプログラムが実行できるか否かを判定する判定ステップと、プログラム特定情報によって特定される他のプログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、プログラム特定情報によって特定される他のプログラムの提供を要求する要求ステップと、ネットワークを介して、提供装置から送信されてくる、プログラム特定情報によって特定される他のプログラムの受信を制御する第２の受信制御ステップと、プログラム特定情報によって特定される他のプログラムの実行を制御するプログラム実行制御ステップとをコンピュータに実行させることを特徴とする。
【００１３】
本発明の記憶媒体は、プログラムを特定するプログラム特定情報、およびプログラム特定情報によって特定されるプログラムに処理されるデータを記憶する記憶手段と、プログラムを実行する情報処理装置に、プログラム特定情報またはデータを送信する送信手段とを含むことを特徴とする。
【００１４】
送信手段は、プログラムの実行を制御する実行制御プログラムを情報処理装置が実行している場合、プログラム特定情報を送信し、プログラム特定情報によって特定されるプログラムを情報処理装置が実行している場合、データを送信するようにすることができる。
【００１５】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００１６】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【００１７】
情報処理装置は、独立した装置であっても良いし、情報処理を行うブロックであっても良い。
【００１８】
本発明の情報処理装置および方法、並びにプログラムにおいては、送信手段を有する記憶媒体から送信されてくる、プログラムを特定するプログラム特定情報が受信され、受信されたプログラム特定情報によって特定されるプログラムが実行できるか否かが判定される。プログラム特定情報によって特定されるプログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、プログラム特定情報によって特定されるプログラムの提供を要求し、ネットワークを介して、提供装置から送信されてくる、プログラム特定情報によって特定されるプログラムを受信する。そして、プログラム特定情報によって特定されるプログラムが実行される。
【００１９】
本発明の記憶媒体においては、プログラムを特定するプログラム特定情報、およびプログラム特定情報によって特定されるプログラムに処理されるデータが記憶され、プログラムを実行する情報処理装置に、プログラム特定情報またはデータが送信される。
【発明の効果】
【００２０】
１つの装置で、送信手段を有する記録媒体に対応して異なる種類のサービスを提供できるようにする。これにより、使用者は、記録媒体または装置を選択することなく、所望のサービスを簡単に受けられるようになる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２２】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２３】
請求項１に記載の情報処理装置（例えば、図１のパーソナルコンピュータ１）は、送信手段（例えば、図５のデータ送信部２２７）を有する記憶媒体（例えば、図１の非接触ICカード３）から送信されてくる、プログラム（例えば、図２のアプリケーションプログラム２５−１乃至２５−３またはアプリケーションプログラム２５−１乃至２９−６のいずれか）を特定するプログラム特定情報（例えば、図２のサービスID２１）の受信を制御する第１の受信制御手段（例えば、図２のリーダーライタ２）と、受信されたプログラム特定情報によって特定されるプログラムが実行できるか否かを判定する判定手段（例えば、図６のステップＳ１００６の処理を実行する図３のCPU１０１）と、プログラム特定情報によって特定されるプログラムが実行できないと判定された場合、ネットワーク（例えば、図２のネットワーク２６）を介して、提供装置（例えば、図２のサーバ６）に、プログラム特定情報によって特定されるプログラムの提供を要求する要求手段（例えば、図７のステップＳ１００８の処理を実行する図３のCPU１０１）と、ネットワークを介して、提供装置から送信されてくる、プログラム特定情報によって特定されるプログラムの受信を制御する第２の受信制御手段（例えば、図７のステップＳ１００９の処理を実行する図３のCPU１０１）と、プログラム特定情報によって特定されるプログラムの実行を制御するプログラム実行制御手段（例えば、図６のステップＳ１００７の処理または図７のステップＳ１０１１の処理を実行する図３のCPU１０１）とを含むことを特徴とする。
【００２４】
請求項６に記載の記憶媒体（例えば、図１の非接触ICカード３）は、プログラム（例えば、図２のアプリケーションプログラム２５−１乃至２５−３またはアプリケーションプログラム２５−１乃至２９−６のいずれか）を特定するプログラム特定情報（例えば、図２のサービスID２１）、およびプログラム特定情報によって特定されるプログラムに処理されるデータ（例えば、図２のサービスデータ２２）を記憶する記憶手段（例えば、図５のEEPROM２２４）と、プログラムを実行する情報処理装置（例えば、図１のパーソナルコンピュータ１）に、プログラム特定情報またはデータを送信する送信手段（例えば、図５のインタフェース部２２９）とを含むことを特徴とする。
【００２５】
図１は、本発明に係るサービス提供システムの一実施の形態を示す図である。パーソナルコンピュータ１は、サービスを提供する情報処理装置の一例であり、接続されているリーダーライタ２を介して、非接触ICカード３と通信する。さらに、パーソナルコンピュータ１は、LAN（Local Area Network）４およびインターネット５を介してサーバ６と通信する。
【００２６】
パーソナルコンピュータ１は、非接触ICカード３から送信されてくる、プログラムを特定する情報を基に、既にインストールされているプログラムを実行する。または、パーソナルコンピュータ１は、非接触ICカード３から送信されてくる、プログラムを特定する情報を基に、LAN４およびインターネット５を介してサーバ６から所定のプログラムをダウンロードして、ダウンロードしたプログラムを実行する。
【００２７】
また、パーソナルコンピュータ１は、非接触ICカード３から送信されてくる、プログラムに処理されるデータを受信して、受信したデータを処理する。
【００２８】
デジタルカメラ７、携帯電話機８、PDA（Personal Digital Assistant）９、またはパーソナルコンピュータ１０は、サービスを提供する情報処理装置の他の一例であり、内蔵されているリーダーライタ（図示せず）を介して、非接触ICカード３と通信する。さらに、デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０は、LAN４およびインターネット５を介してサーバ６と通信する。
【００２９】
デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０は、非接触ICカード３から送信されてくる、プログラムを特定する情報を基に、既にインストールされているプログラムを実行する。または、デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０は、非接触ICカード３から送信されてくる、プログラムを特定する情報を基に、LAN４およびインターネット５を介してサーバ６から所定のプログラムをダウンロードして、ダウンロードしたプログラムを実行する。
【００３０】
また、デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０は、非接触ICカード３から送信されてくる、プログラムに処理されるデータを受信して、受信したデータを処理する。
【００３１】
非接触ICカード３は、プログラムを特定する情報およびプログラムに処理されるデータを記憶する。また、非接触ICカード３は、記憶している、プログラムを特定する情報およびプログラムに処理されるデータを、パーソナルコンピュータ１、デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０に送信する。
【００３２】
LAN４またはインターネット５は、有線または無線により、データを伝送する。
【００３３】
サーバ６は、パーソナルコンピュータ１、デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０が実行するプログラムを記録する。サーバ６は、記録している、パーソナルコンピュータ１、デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０が実行するプログラムをLAN４およびインターネット５を介してパーソナルコンピュータ１、デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０に送信する。
【００３４】
以下、パーソナルコンピュータ１を情報処理装置の一例として、本発明の処理を説明する。デジタルカメラ７、携帯電話機８、PDA９、またはパーソナルコンピュータ１０は、パーソナルコンピュータ１と同様の処理を実行するので、その説明は省略する。
【００３５】
図２は、非接触ICカード３が記憶してるデータ、パーソナルコンピュータ１が記録しているデータおよび実行するプログラム、並びにサーバ６が記録しているプログラムおよび実行するプログラムを説明する図である。
【００３６】
非接触ICカード３は、プログラムを特定する情報（プログラム特定情報）の一例である、サービスID２１を記憶する。例えば、サービスID２１は、パーソナルコンピュータ１が実行するアプリケーションプログラムを特定する。
【００３７】
また、非接触ICカード３は、プログラムに処理されるデータの一例である、サービスデータ２２を記憶する。例えば、サービスデータ２２は、プログラムを特定する情報で特定されるプログラムによって処理される。
【００３８】
例えば、サービスID２１またはサービスデータ２２が格納される領域は、XML（Extensible Mark-up Language）方式により記述されるデータフォーマット用のタグセット（DTD（Document Type Definition）（文書型定義））によって、確保される。このようにすることで、サービスID２１またはサービスデータ２２を格納する領域（のフォーマット）を自由に確保することができ、例えば、複数のサービスを提供するプログラムのそれぞれに対応する、複数のサービスID２１またはサービスデータ２２を記憶することができるようになる。
【００３９】
リーダーライタ２に近接されたとき、非接触ICカード３は、記憶している、サービスID２１またはサービスデータ２２をリーダーライタ２に送信する。
【００４０】
パーソナルコンピュータ１には、リーダーライタ２が接続されるか、または、パーソナルコンピュータ１は、リーダーライタ２を内蔵している。
【００４１】
パーソナルコンピュータ１は、プログラム特定情報とプログラムとの対応関係が記述されている対応情報の一例である対応表２４を記録する。また、パーソナルコンピュータ１は、非接触ICカード３から、サービスID２１を受信し、アプリケーションプログラム２５−１乃至２５−３のいずれかを実行させる（立ち上げる）ランチャープログラム２３を実行する。
【００４２】
ここで、アプリケーションプログラム２５−１乃至２５−３は、例えば、電子マネーサービス、改札サービス、勤怠管理サービス、または入室管理サービスなどを提供する、ある特定の目的のために設定されたプログラムである。アプリケーションプログラム２５−１乃至２５−３には、いわゆるユーティリティプログラムが含まれる。
【００４３】
パーソナルコンピュータ１には、例えば、アプリケーションプログラム２５−１乃至２５−３がインストールされている。
【００４４】
ランチャープログラム２３は、パーソナルコンピュータ１が起動されたとき、自動的に起動され、パーソナルコンピュータ１が起動中、常に、実行される。すなわち、ランチャープログラム２３は、パーソナルコンピュータ１に常駐する。
【００４５】
後述するように、ランチャープログラム２３は、起動後、非接触ICカード３が近接されたか否かを検出する、ポーリングの処理を常に実行する。
【００４６】
また、ランチャープログラム２３は、ネットワーク２６を介して、サーバ６に、プログラムの提供を要求し、サーバ６からプログラムが送信されてきたとき、これを受信する。ランチャープログラム２３は、受信したプログラムを起動させる。
【００４７】
図２におけるネットワーク２６は、図１のインターネット５またはLAN４を含む。
【００４８】
サーバ６は、ネットワーク２６を介して、プログラムをパーソナルコンピュータ１に提供する提供プログラム２７を実行する。サーバ６のプログラム記録部２８は、例えば、アプリケーションプログラム２５−１乃至２９−６を記録する。例えば、提供プログラム２７は、プログラム記録部２８に記録されているアプリケーションプログラム２５−１乃至２９−６のいずれかをネットワーク２６を介して、プログラムをパーソナルコンピュータ１に提供する。
【００４９】
次に、パーソナルコンピュータ１の内部の構成例について図３を参照して説明する。
【００５０】
中央処理装置（CPU（Central Processing Unit））１０１は、例えば、インテル（Intel）社製のペンティアム（登録商標）プロセッサ等で構成され、フロントサイドバス（FSB（Front Side Bus））１０２に接続されている。FSB１０２には、更に、ノースブリッジ１０３が接続されており、ノースブリッジ１０３（ハブ）は、AGP（Accelerated Graphics Port）１１０を有しているとともに、ハブインタフェース１０６に接続されている。
【００５１】
ノースブリッジ１０３は、例えば、インテル社製のMemory Controller Hubである82865PEなどで構成されており、CPU１０１およびRAM（Random Access Memory）１０４（いわゆる、メインメモリ）等を制御する。更に、ノースブリッジ１０３は、AGP１１０を介して、ビデオコントローラ１０７を制御する。ビデオコントローラ１０７は、LCD（Liquid Crystal Display）１５１またはVGA（Video Graphics Array）方式のディスプレイ（以下、VGA１５２と記述する）をコントロールする。
【００５２】
ビデオコントローラ１０７は、CPU１０１から供給されるデータ（イメージデータまたはテキストデータなど）を受信して、受信したデータに対応するイメージデータを生成するか、または、受信したデータをそのまま内蔵するビデオメモリ（不図示）に記憶する。ビデオコントローラ１０７は、LCD１５１またはVGA１５２に、ビデオメモリに記憶されているイメージデータに対応する画像を表示させる。LCD１５１またはVGA１５２は、ビデオコントローラ１０７から供給されたデータを基に、画像または文字などを表示する。
【００５３】
ノースブリッジ１０３は、更に、キャッシュメモリ１０５とも接続されている。キャッシュメモリ１０５は、SRAM（Static RAM）などRAM１０４と比較して、より高速な書き込みまたは読み出しの動作を実行できるメモリで構成され、CPU１０１が使用するプログラムまたはデータをキャッシュする（一時的に記憶する）。
【００５４】
なお、CPU１０１は、その内部に１次的な、キャッシュメモリ１０５に比較して、より高速に動作でき、CPU１０１自身が制御するキャッシュを有する。
【００５５】
RAM１０４は、例えば、DRAM（Dynamic RAM）で構成され、CPU１０１が実行するプログラム、またはCPU１０１の動作に必要なデータを記憶する。具体的には、例えば、RAM１０４は、起動が完了した時点において、HDD１１７からロードされたオペレーティングシステムやWWW（World-Wide Web）ブラウズプログラム、ランチャープログラム２３などを記憶する。
【００５６】
オペレーティングシステム（OS（Operating System））は、例えば、マイクロソフト社のいわゆるウィンドウズ（登録商標）ＸＰ、またはアップルコンピュータ社のいわゆるMac OS（登録商標）等に代表される、コンピュータの基本的な動作を制御するプログラムである。
【００５７】
ノースブリッジ１０３は、ハブインタフェース１０６を介して、サウスブリッジ１０８（ハブ）とも接続されている。サウスブリッジ１０８は、例えば、インテル社製の82801EBなどで構成されており、AC97（Audio Codec '97）リンクインタフェース１０８Ａ、USB（Universal Serial Bus）インタフェース１０８Ｂ、IDE（Integrated Drive Electronics）インタフェース１０８Ｃ、PCI（Peripheral Component Interconnect）インタフェース１０８Ｄ、LPC（Low Pin Count）インタフェース１０８Ｅ、および、LANインタフェース１０８Ｆ等を内蔵している。
【００５８】
サウスブリッジ１０８は、AC97リンクバス１０９、USBバス１１０、IDEバス１１１に接続されるデバイスを介して接続されるデバイスの制御等、各種のI/Ｏ（Input / Output）を制御する。
【００５９】
AC97リンクバス１０９には、モデム１１２、サウンドコントローラ１１３が接続されている。モデム１１２は、公衆回線網に接続されており、公衆回線網、LAN４、またはインターネット５を介する通信処理を実行する。サウンドコントローラ１１３は、マイクロフォン１５３から音声を取り込み、その音声に対応するデータを生成して、RAM１０４に出力する。またサウンドコントローラ１１３は、スピーカ１５４を駆動して、スピーカ１５４に音声を出力させる。
【００６０】
サウスブリッジ１０８のUSBバス１１０には、USBコネクタ１１４が接続され、各種USBデバイスが接続可能になされている。リーダーライタ２は、USBコネクタ１１４を介して、USBバス１１０に接続されている。またUSBバス１１０を介して、メモリースティックスロット１１５とブルートゥース通信部１１６が設けられている。メモリースティックスロット１１５には、メモリースティック（商標）１５５が接続される。
【００６１】
メモリースティック１５５は、本願出願人であるソニー株式会社によって開発されたフラッシュメモリカードの一種である。このメモリースティック１５５は、縦21.5×横50×厚さ2.8[mm]の小型薄型形状のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM（Electrically Erasable and Programmable Read Only Memory ）の一種であるフラッシュメモリ素子を格納したものであり、１０ピン端子を介して画像や音声、音楽等の各種データの書き込み及び読み出しが可能となっている。
【００６２】
またメモリスティック１５５は、大容量化等による内蔵フラッシュメモリの仕様変更に対しても、使用する機器で互換性を確保することができる独自のシリアルプロトコルを採用し、最大書込速度1.5[MB/S] 、最大読出速度2.45[MB/S]の高速性能を実現していると共に、誤消去防止スイッチを設けて高い信頼性を確保している。
【００６３】
ブルートゥース通信部１１６は、ブルートゥース規格による通信を行う。USBインタフェース１０８Ｂは、USBバス１１０を介して接続されている外部の装置（デバイス）にデータを送信するとともにデバイスからデータを受信する。
【００６４】
IDEインタフェース１０８Ｃは、いわゆるプライマリIDEコントローラとセカンダリIDEコントローラとの２つのIDEコントローラ、およびコンフィギュレーションレジスタ（configuration register）等から構成されている（いずれも図示せず）。
【００６５】
プライマリIDEコントローラには、IDEバス１１２を介して、HDD１１７が接続されている。また、セカンダリIDEコントローラには、他のIDEバスに、CD-ROMドライブ１１８またはHDD（不図示）などの、いわゆるIDEデバイスが装着されたとき、その装着されたIDEデバイスが電気的に接続される。
【００６６】
LAN（Local Area Network）コネクタ１１９は、LAN４などのネットワークに接続される。例えば、LANインタフェース１０８Ｆは、有線通信により、LANコネクタ１１９に接続されたネットワークにデータを送信するとともに、データを受信する。LANインタフェース１０８Ｆは、IEEE（Institute of Electrical and Electronic Engineers）802.11a、IEEE802.11b、またはIEEE802.11gなどの規格に基づき、局の一例である、他の装置またはアクセスポイントと無線通信し、データまたは指令などを送受信するようにしてもよい。
【００６７】
LPCバス１２０には、BIOS（Basic Input Output System）１２１、I/O（Input/Output）インタフェース１２２、およびコントローラ１２３が接続されている。BIOS１２１は、パーソナルコンピュータ１の基本動作命令を集めたプログラム群であり、例えば、ROM（Read Only Memory）などに記憶されている。また、BIOS１２１は、OSまたはアプリケーションプログラムと周辺機器との間でのデータの受け渡し（入出力）を制御する。
【００６８】
I/Oインタフェース１２２には、シリアル端子１２４とパラレル端子１２５が接続されており、それぞれの端子に接続された機器とのデータの授受を行う。コントローラ１２３には、ジョグダイヤル１５８、キーボード１５７、マウス１５６、ＡＣ電源１２６などが接続されている。
【００６９】
PCIバス１２７には、PCカードインタフェース１２８とIEEE1394インタフェース１２９が接続されている。PCカードインタフェース１２８は、スロット１３１に接続された機器（カード）から供給されたデータを、CPU１０１またはRAM１０４に供給するとともに、CPU１０１から供給されたデータをPCカードスロットに接続されているカードに出力する。ドライブ１５９は、必要に応じて、スロット１３１およびPCカードインタフェース１２８を介して、PCIバス１２７に接続される。
【００７０】
ドライブ１５９は、装着されている磁気ディスク１７１、光ディスク１７２、光磁気ディスク１７３、または半導体メモリ１７４に記録されているデータを読み出し、読み出したデータをRAM１０４に供給する。また、CPU１０１の処理により生成されたデータを、ドライブ１５９に装着される磁気ディスク１７１、光ディスク１７２、光磁気ディスク１７３、または半導体メモリ１７４に記憶させることができる。
【００７１】
IEEE1394インタフェース１２９は、IEEE1394ポート１３０を介して、IEEE1394の規格に準拠するデータ（パケットに格納されているデータ）を送受信する。
【００７２】
図４は、リーダーライタ２の詳細な構成例を示すブロック図である。
【００７３】
制御部２０１は、CPU２１１、ROM２１２、RAM２１３、SCC（Serial Communication Controller）２１４、SPU（Signal Processing Unit）２１６、並びに、これらのCPU２１１乃至SPU２１６を相互に接続するバス２１５から構成されている。制御部２０１は、１つのIC（Integrated Circuit）で構成される。
【００７４】
CPU２１１は、ROM２１２に格納されている制御プログラムをRAM２１３に展開し、例えば、非接触ICカード３から送信されてきた応答データや、図３のCPU１０１から供給されてきた制御信号に基づいて、各種の処理を実行する。例えば、CPU２１１は、非接触ICカード３に送信するコマンドを生成し、それを、バス２１５を介してSPU２１６に出力したり、非接触ICカード３から送信されてきたデータの認証処理などを行ったりする。
【００７５】
SCC２１４は、図３のCPU１０１から供給されてきたデータを、バス２１５を介してCPU２１１に供給したり、CPU２１１から、バス２１５を介して供給されてきたデータをCPU１０１に出力したりする。
【００７６】
SPU２１６は、非接触ICカード３からの応答データが復調部２０８から供給されてきたとき、そのデータに対して、例えば、BPSK復調（マンチェスターコードのデコード）などを施し、取得したデータをCPU２１１に供給する。また、SPU２１６は、非接触ICカード３に送信するコマンドがバス２１５を介して供給されてきたとき、そのコマンドにBPSK（Binary Phase Shift Keying）変調（マンチェスターコードへのコーディング）を施し、取得したデータを変調部２０２に出力する。
【００７７】
変調部２０２は、発振回路（OSC）２０３から供給される所定の周波数（例えば、１３．５６MHz）の搬送波を、SPU２１６より供給されるデータに基づいて、ASK（Amplitude Shift Keying）変調し、生成された変調波を増幅部２０４に増幅させ、電磁波としてアンテナ２０６から出力する。出力特定調整部２０５は、CPU２１１の指令に基づいて、例えば、増幅部２０４の利得を調整する。一方、復調部２０８は、アンテナ２０６を介して取得され、増幅部２０７で増幅された、変調波（ASK変調波）を復調し、復調されたデータをSPU２１６に出力する。
【００７８】
アンテナ２０６は、所定の電磁波を輻射し、それに対する負荷の変化に基づいて、非接触ICカード３が近接されたか否かを検出する。そして、例えば、非接触ICカード３が近接されたとき、アンテナ２０６は、非接触ICカード３と各種のデータを送受信する。
【００７９】
図５は、非接触ICカード３の詳細な構成例を示すブロック図である。
【００８０】
非接触ICカード３は、例えば、図に示すアンテナ（ループアンテナ）２３０およびコンデンサ２３１と、それ以外の構成が１チップに格納されたICから構成され、電磁誘導を利用してパーソナルコンピュータ１に設けられたリーダーライタ２等と各種のデータを半二重通信するものであって、必ずしもカード状のものとして構成されるわけではない。また、ICカードとは、説明の便宜上用いた名称であり、上述したような、または後述するような機能を意図するものである。この非接触ICカード３と基本的に同様の機能を提供するものとして、例えば、Felicaチップ（登録商標）などがある。
【００８１】
CPU２２１は、ROM２２２に格納されている制御プログラムをRAM２２３に展開し、非接触ICカード３の全体の動作を制御する。例えば、CPU２２１は、パーソナルコンピュータ１に設けられたリーダーライタ２等から輻射されている電磁波がアンテナ２３０において受信された場合、リーダーライタ２から要求されたとき、それに応じて、非接触ICカード３に記憶されている、サービスID２１またはサービスデータ２２などの各種のデータをリーダーライタ２に供給したりする。
【００８２】
アンテナ２３０とコンデンサ２３１により構成されるLC回路は、近傍に配置されたパーソナルコンピュータ１に設けられたリーダーライタ２等から輻射される所定の周波数の電磁波と共振する。インタフェース部２２９は、ASK復調部２４３において、アンテナ２３０を介して受信した変調波（ASK変調波）を包絡線検波して復調し、復調後のデータをBPSK（Binary Phase Shift Keying）復調部２３２に出力する。
【００８３】
また、インタフェース部２２９は、アンテナ２３０において励起された交流磁界をASK復調部２４３により整流し、それを電圧レギュレータ２４１において安定化し、各部に直流電源として供給する。リーダーライタ２等から輻射される電磁波の電力は、後述するように非接触ICカード３に必要な電力を賄う電磁界を発生させるように調整されている。
【００８４】
また、インタフェース部２２９の発振回路２４４はPLL（Phase Locked Loop）回路を内蔵し、受信信号のクロック周波数と同一の周波数のクロック信号を発生する。
【００８５】
さらに、インタフェース部２２９は、例えば、データ等をパーソナルコンピュータ１に設けられたリーダーライタ２等に送信する場合、BPSK変調部２２８から供給されるデータに対応して、例えば、所定のスイッチング素子（図示せず）をオン／オフさせ、スイッチング素子がオン状態であるときだけ、所定の負荷をアンテナ２３０に並列に接続させることにより、アンテナ２３０の負荷を変動させる。
【００８６】
ASK変調部２４２は、アンテナ２３０の負荷の変動により、BPSK変調部２２８より供給されたBPSK変調波をASK変調し、その変調成分を、アンテナ２３０を介してリーダーライタ２に送信する（リーダーライタ２のアンテナの端子電圧を変動させる）（ロードスイッチング方式）。
【００８７】
BPSK復調部２３２は、ASK復調部２４３で復調されたデータがBPSK変調されている場合、図示せぬPLL回路から供給されるクロック信号に基づいて、そのデータの復調（マンチェスターコードのデコード）を行い、復調したデータをデータ受信部２３３に出力する。データ受信部２３３は、供給されてきたデータをCPU２２１に適宜出力する。CPU２２１はこのデータをRAM２２３またはEEPROM２２４に記憶させる。
【００８８】
EEPROM２２４に記憶されたデータは、CPU２２１により読み出され、データ送信部２２７に供給される。BPSK変調部２２８は、データ送信部２２７から供給されてきたデータにBPSK変調（マンチェスターコードへのコーディング）を行い、それをASK変調部２４２に出力する。
【００８９】
EEPROM２２４には、例えば、サービスID２１またはサービスデータ２２が記憶される。
【００９０】
次に、図６乃至図８のフローチャートを参照して、ランチャープログラム２３を実行するパーソナルコンピュータ１、制御プログラムを実行する非接触ICカード３、および提供プログラム２７を実行するサーバ６からなるサービス提供システムによる、サービス提供の処理を説明する。ステップＳ１００１において、パーソナルコンピュータ１のランチャープログラム２３は、ポーリングの処理を実行する。例えば、ステップＳ１００１において、ランチャープログラム２３は、リーダーライタ２に、所定の返答を要求するコマンドを非接触ICカード３に送信させる。なお、この場合、リーダーライタ２は、その近傍に、非接触ICカード３に必要な電力を賄う電磁界を発生させる。
【００９１】
リーダーライタ２に非接触ICカード３が近接した場合、非接触ICカード３は、リーダーライタ２等から輻射される電磁波の電力を取得して、制御プログラムの実行を開始し、ステップＳ２００１において、制御プログラムは、リーダーライタ２から所定の返答が要求されているので、返答をリーダーライタ２に送信する。例えば、ステップＳ２００１において、制御プログラムは、データ送信部２２７に、返答のデータを供給し、BPSK変調部２２８、インタフェース部２２９、およびアンテナ２３０を介して、返答のデータをリーダーライタ２に送信させる。
【００９２】
ステップＳ１００２において、ランチャープログラム２３は、非接触ICカード３から送信されてくる返答を、リーダーライタ２に受信させ、受信した返答を取得する。受信した返答により、非接触ICカード３が近接されたことがわかるので、ステップＳ１００３において、ランチャープログラム２３は、非接触ICカード３に、サービスID２１の要求を送信する。例えば、ステップＳ１００３において、ランチャープログラム２３は、リーダーライタ２に、サービスID２１を要求するコマンドを非接触ICカード３宛てに送信させる。
【００９３】
ステップＳ２００２において、非接触ICカード３の制御プログラムは、パーソナルコンピュータ１のリーダーライタ２から送信されてくる、サービスID２１の要求を受信する。例えば、ステップＳ２００２において、制御プログラムは、リーダーライタ２から送信されてくる、サービスID２１を要求するコマンドをデータ受信部２３３に受信させる。
【００９４】
ステップＳ２００３において、制御プログラムは、サービスID２１を読み出す。例えば、ステップＳ２００３において、制御プログラムは、EEPROM２２４の所定のアドレス（領域）に記憶されている、サービスID２１を読み出す。
【００９５】
ステップＳ２００４において、制御プログラムは、サービスID２１をパーソナルコンピュータ１のリーダーライタ２に送信する。例えば、制御プログラムは、ステップＳ２００３の処理でEEPROM２２４の所定のアドレス（領域）から読み出したサービスID２１をデータ送信部２２７に供給して、データ送信部２２７に、BPSK変調部２２８、インタフェース部２２９、およびアンテナ２３０を介して、サービスID２１をリーダーライタ２に送信させる。
【００９６】
ステップＳ１００４において、ランチャープログラム２３は、サービスID２１を受信する。例えば、ステップＳ１００４において、ランチャープログラム２３は、リーダーライタ２に、非接触ICカード３から送信されてきたサービスID２１を受信させ、受信されたサービスID２１を取得する。
【００９７】
ステップＳ１００５において、ランチャープログラム２３は、受信したサービスID２１に関係付けられたアプリケーションプログラムを特定する。
【００９８】
例えば、図９で示されるように、対応情報の一例である、サービスID２１とアプリケーションプログラム名との対応関係が記述されている対応表２４がHDD１１７に記録されている。ランチャープログラム２３は、HDD１１７に記録されている対応表２４を基に、受信したサービスID２１に対応するアプリケーションプログラム名を取得することにより、受信したサービスID２１に関係付けられたアプリケーションプログラムを特定する。
【００９９】
図９で例示されている対応表２４においては、”aaa”であるアプリケーションプログラム名が、”xxx”であるサービスID２１に対応して記述されている。また、例えば、対応表２４は、”yyy”であるサービスID２１に対応するアプリケーションプログラム名として”bbb”を格納する。
【０１００】
例えば、受信したサービスID２１が”xxx”である場合、ステップＳ１００５において、ランチャープログラム２３は、対応表２４において、”xxx”であるサービスID２１と”aaa”であるアプリケーションプログラム名との対応関係が記述されているので、アプリケーションプログラム名が”aaa”であるアプリケーションプログラムを特定する。
【０１０１】
なお、対応表２４は、サービスID２１と、アプリケーションプログラムを特定する情報であるアプリケーションプログラムIDとの対応関係を記述するようにしてもよい。この場合、ランチャープログラム２３は、サービスID２１に対応するアプリケーションプログラムIDによって、アプリケーションプログラムを特定する。
【０１０２】
さらに、非接触ICカード３は、サービスIDに代えて、アプリケーションプログラムIDを記憶し、要求された場合、サービスIDに代えて、アプリケーションプログラムIDを送信するようにしてもよい。この場合、対応表２４を必要とせず、ランチャープログラム２３は、受信したアプリケーションプログラムIDによって、アプリケーションプログラムを特定する。
【０１０３】
さらにまた、ステップＳ１００５において、ランチャープログラム２３は、受信したサービスID２１のうち、特定のサービスID２１についてのみ、関係付けられたアプリケーションプログラムを特定するようにしてもよい。すなわち、ステップＳ１００５の処理において、ランチャープログラム２３は、受信したサービスID２１をフィルタリングする（選択する）ことができる。このようにすることで、パーソナルコンピュータ１は、受信したサービスID２１のうち、選択されたサービスID２１に対応する特定のサービスのみを提供できるようになる。
【０１０４】
ステップＳ１００６において、ランチャープログラム２３は、ステップＳ１００５の処理で特定されたアプリケーションプログラムが実行できるか否かを判定する。
【０１０５】
ここで、アプリケーションプログラムが実行できない場合とは、例えば、アプリケーションプログラムがパーソナルコンピュータ１にインストールされていない場合、実行プログラムであるアプリケーションプログラムがパーソナルコンピュータ１に記録されていない場合などをいう。
【０１０６】
例えば、ステップＳ１００６において、ランチャープログラム２３は、オペレーティングシステムのレジストリを参照することにより、特定されたアプリケーションプログラムがパーソナルコンピュータ１にインストールされているか否かを判定することにより、そのアプリケーションプログラムが実行できるか否かを判定する。また、例えば、ステップＳ１００６において、ランチャープログラム２３は、HDD１１７に記録されている実行形式のファイル（例えば、拡張子がexeであるファイル）を検索することにより、特定されたアプリケーションプログラムの実行プログラムが記録されているか否かを判定することにより、そのアプリケーションプログラムが実行できるか否かを判定する。
【０１０７】
なお、アプリケーションプログラムIDによって、アプリケーションプログラムを特定する場合、ランチャープログラム２３は、例えば、プログラムのプロファイルに記述されているプログラムIDを基に、アプリケーションプログラムを特定し、そのアプリケーションプログラムがパーソナルコンピュータ１にインストールされているか否か、またはアプリケーションプログラムの実行プログラムが記録されているか否かを判定することにより、そのアプリケーションプログラムが実行できるか否かを判定する。
【０１０８】
ステップＳ１００６において、アプリケーションプログラムが実行できると判定された場合、ステップＳ１００７に進み、ランチャープログラム２３は、パーソナルコンピュータ１のオペレーティングシステムにアプリケーションプログラムを実行させる。例えば、ステップＳ１００７において、特定されたアプリケーションプログラムが、図２のアプリケーションプログラム２５−１乃至２５−３のいずれかである場合、ランチャープログラム２３は、パーソナルコンピュータ１のオペレーティングシステムに、既にインストールされているアプリケーションプログラム２５−１乃至２５−３のいずれかを実行させる。
【０１０９】
なお、特定されたアプリケーションプログラムが既に実行されている場合、ステップＳ１００７において、ランチャープログラム２３は、特定されたアプリケーションプログラムをアクティブにすることを、オペレーティングシステムに要求し、オペレーティングシステムは、ランチャープログラム２３からの要求に従って、特定されたアプリケーションプログラムをアクティブにする。
【０１１０】
以下、特定されたアプリケーションプログラムがアプリケーションプログラム２５−１であり、アプリケーションプログラム２５−１が実行できると判定された場合を例に、説明する。ステップＳ１００７において、アプリケーションプログラム２５−１が起動されるか、またはアプリケーションプログラム２５−１がアクティブとされるので、アプリケーションプログラム２５−１による処理が開始され、ステップＳ３００１において、アプリケーションプログラム２５−１は、非接触ICカード３に、サービスデータ２２の要求を送信する。例えば、ステップＳ３００１において、アプリケーションプログラム２５−１は、リーダーライタ２に、サービスデータ２２を要求するコマンドを非接触ICカード３宛てに送信させる。
【０１１１】
ステップＳ２００５において、非接触ICカード３の制御プログラムは、パーソナルコンピュータ１のリーダーライタ２から送信されてくる、サービスデータ２２の要求を受信する。例えば、ステップＳ２００５において、制御プログラムは、リーダーライタ２から送信されてくる、サービスデータ２２を要求するコマンドをデータ受信部２３３に受信させる。
【０１１２】
ステップＳ２００６において、制御プログラムは、サービスデータ２２を読み出す。例えば、ステップＳ２００６において、制御プログラムは、EEPROM２２４の所定のアドレス（領域）に記憶されている、サービスデータ２２を読み出す。
【０１１３】
ステップＳ２００７において、制御プログラムは、サービスデータ２２をパーソナルコンピュータ１のリーダーライタ２に送信する。例えば、制御プログラムは、ステップＳ２００６の処理でEEPROM２２４の所定のアドレス（領域）から読み出したサービスデータ２２をデータ送信部２２７に供給して、データ送信部２２７に、BPSK変調部２２８、インタフェース部２２９、およびアンテナ２３０を介して、サービスデータ２２をリーダーライタ２に送信させる。
【０１１４】
ステップＳ３００２において、アプリケーションプログラム２５−１は、サービスデータ２２を受信する。例えば、ステップＳ３００２において、アプリケーションプログラム２５−１は、リーダーライタ２に、非接触ICカード３から送信されてきたサービスデータ２２を受信させ、受信されたサービスデータ２２を取得する。ステップＳ３００３において、アプリケーションプログラム２５−１は、受信したサービスデータ２２を基に処理を実行して、サービス提供の処理は終了する。
【０１１５】
一方、ステップＳ１００６において、アプリケーションプログラムが実行できないと判定された場合、ステップＳ１００７、ステップＳ３００１乃至ステップＳ３００３、およびステップＳ２００５乃至ステップＳ２００７の処理は、スキップされ、手続きは、ステップＳ１００８に進む。ステップＳ１００８において、ランチャープログラム２３は、ネットワーク２６を介して、サーバ６に、ステップＳ１００５の処理で特定されるプログラムの提供を要求する。
【０１１６】
例えば、ランチャープログラム２３は、予め、ネットワーク２６（インターネット５）上のサーバ６のアドレスを記録し、記録しているアドレスを基に、ネットワーク２６を介して、サーバ６に、ステップＳ１００５の処理で特定されるプログラムの提供を要求する。
【０１１７】
なお、ランチャープログラム２３は、サービスID２１に対応させて、サーバ６のアドレスを記録するようにしても良い。この場合、ステップＳ１００８において、ランチャープログラム２３は、サービスID２１に対応するアドレスを基に、ネットワーク２６を介して、サーバ６に、ステップＳ１００５の処理で特定されるプログラムの提供を要求する。
【０１１８】
このようにすることで、ランチャープログラム２３は、複数のサーバ６からプログラムを取得することができるようになる。
【０１１９】
以下、特定されたアプリケーションプログラムがアプリケーションプログラム２５−２であり、アプリケーションプログラム２５−２が実行できないと判定された場合を例に説明する。この場合、ステップＳ１００８において、ランチャープログラム２３は、ネットワーク２６を介して、サーバ６に、アプリケーションプログラム２５−２の提供を要求する。例えば、ステップＳ１００８において、ランチャープログラム２３は、LANインターフェース１０８Ｆに、ネットワーク２６を介して、サーバ６宛てに、アプリケーションプログラム２５−２のアプリケーションプログラム名を送信させることにより、アプリケーションプログラム２５−２の提供を要求する。
【０１２０】
ステップＳ４００１において、サーバ６の提供プログラム２７は、パーソナルコンピュータ１から送信されてきた、アプリケーションプログラム２５−２の提供の要求を受信する。ステップＳ４００２において、提供プログラム２７は、HDDなどからなるプログラム記録部２８から、アプリケーションプログラム２５−２を読み出す。ステップＳ４００３において、提供プログラム２７は、ネットワーク２６を介して、アプリケーションプログラム２５−２をパーソナルコンピュータ１に送信する。
【０１２１】
提供プログラム２７は、ネットワーク２６を介して、圧縮されているアプリケーションプログラム２５−２をパーソナルコンピュータ１に送信するようにしてもよい。このようにすることで、より迅速に、プロクラムを送信できる。
【０１２２】
また、提供プログラム２７は、ネットワーク２６を介して、暗号化したアプリケーションプログラム２５−２をパーソナルコンピュータ１に送信するようにしてもよい。このようにすることで、第三者がプログラムを取得して、そのプログラムを不当に利用することを防止できる。
【０１２３】
さらに、提供プログラム２７は、ネットワーク２６を介して、自動インストール型のアプリケーションプログラム２５−２をパーソナルコンピュータ１に送信するようにしてもよい。この場合、ランチャープログラム２３は、後述するステップＳ１０１０の処理で、より簡単に、アプリケーションプログラム２５−２をインストールできる。
【０１２４】
ステップＳ１００９において、パーソナルコンピュータ１のランチャープログラム２３は、サーバ６から送信されてきたアプリケーションプログラム２５−２を受信する。例えば、ステップＳ１００９において、ランチャープログラム２３は、LANインターフェース１０８Ｆに、サーバ６から送信されてきたアプリケーションプログラム２５−２を受信させ、受信したアプリケーションプログラム２５−２を取得する。
【０１２５】
ステップＳ１０１０において、ランチャープログラム２３は、受信したアプリケーションプログラム２５−２をパーソナルコンピュータ１にインストールする。ここで、インストールとは、プログラムを実行可能な状態にする処理をいう。
【０１２６】
ステップＳ１０１１において、ランチャープログラム２３は、パーソナルコンピュータ１のオペレーティングシステムにアプリケーションプログラム２５−２を実行させる。
【０１２７】
ステップＳ５００１において、アプリケーションプログラム２５−２は、非接触ICカード３に、サービスデータ２２の要求を送信する。例えば、ステップＳ５００１において、アプリケーションプログラム２５−２は、リーダーライタ２に、サービスデータ２２を要求するコマンドを非接触ICカード３宛てに送信させる。
【０１２８】
ステップＳ２００８において、非接触ICカード３の制御プログラムは、パーソナルコンピュータ１のリーダーライタ２から送信されてくる、サービスデータ２２の要求を受信する。例えば、ステップＳ２００８において、制御プログラムは、リーダーライタ２から送信されてくる、サービスデータ２２を要求するコマンドをデータ受信部２３３に受信させる。
【０１２９】
ステップＳ２００９において、制御プログラムは、サービスデータ２２を読み出す。例えば、ステップＳ２００９において、制御プログラムは、EEPROM２２４の所定のアドレス（領域）に記憶されている、サービスデータ２２を読み出す。
【０１３０】
ステップＳ２０１０において、制御プログラムは、サービスデータ２２をパーソナルコンピュータ１のリーダーライタ２に送信する。例えば、制御プログラムは、ステップＳ２００９の処理でEEPROM２２４の所定のアドレス（領域）から読み出したサービスデータ２２をデータ送信部２２７に供給して、データ送信部２２７に、BPSK変調部２２８、インタフェース部２２９、およびアンテナ２３０を介して、サービスデータ２２をリーダーライタ２に送信させる。
【０１３１】
ステップＳ５００２において、アプリケーションプログラム２５−２は、サービスデータ２２を受信する。例えば、ステップＳ５００２において、アプリケーションプログラム２５−２は、リーダーライタ２に、非接触ICカード３から送信されてきたサービスデータ２２を受信させ、受信されたサービスデータ２２を取得する。ステップＳ５００３において、アプリケーションプログラム２５−２は、受信したサービスデータ２２を基に処理を実行して、サービス提供の処理は終了する。
【０１３２】
このように、パーソナルコンピュータ１は、非接触ICカード３から送信されたサービスID２１で特定されるプログラムを実行する。パーソナルコンピュータ１は、サービスID２１で特定されるプログラムがインストール済みなどで実行できる場合、そのプログラムを実行し、サービスID２１で特定されるプログラムが実行できない場合、そのプログラムをサーバ６からダウンロードして、ダウンロードしたプログラムを実行する。従って、パーソナルコンピュータ１は、異なる種類のサービスを受けるための非接触ICカード３が近接されても、非接触ICカード３に対応するサービスを提供することができるようになる。
【０１３３】
次に、制御プログラムを実行する非接触ICカード３、ランチャープログラム２３を実行するパーソナルコンピュータ１、および提供プログラム２７を実行するサーバ６のそれぞれの処理を説明する。
【０１３４】
図１０のフローチャートを参照して、制御プログラムを実行する非接触ICカード３のデータの送信の処理を説明する。リーダーライタ２から輻射されている電磁波がアンテナ２３０において受信された場合、電圧レギュレータ２４１から各部に直流電源が供給されるので、ステップＳ１１において、制御プログラムは、ハードウェアイニシャライズ（起動時のリセット）の処理を実行する。
【０１３５】
ステップＳ１２において、制御プログラムは、データ受信部２３３に、リーダーライタ２から送信されてくるコマンドを受信させる。この場合、リーダーライタ２から送信されてくるコマンドは、サービスID２１の要求、またはサービスデータ２２の要求などである。
【０１３６】
ステップＳ１３において、制御プログラムは、コマンドが取得されたか否かを判定し、コマンドが取得されていないと判定された場合、ステップＳ１２に戻り、コマンドが取得されるまで、コマンドの受信の処理を繰り返す。
【０１３７】
ステップＳ１３において、コマンドが取得されたと判定された場合、ステップＳ１４に進み、制御プログラムは、取得されたコマンドが、データの（送信）要求、すなわちREADコマンドであるか否かを判定する。取得されたコマンドがREADコマンドでないと判定された場合、データの送信が要求されていないので、ステップＳ１２に戻り、コマンドを受信する処理から上述した処理を繰り返す。
【０１３８】
ステップＳ１４において、取得されたコマンドがREADコマンドであると判定された場合、ステップＳ１５に進み、制御プログラムは、コマンドにおいて与えられたアドレスのデータを、EEPROM２２４から読み出す。例えば、サービスID２１の要求のコマンドには、サービスID２１が格納されているEEPROM２２４のアドレスが含まれているので、サービスID２１の要求のコマンドを受信したとき、制御プログラムは、EEPROM２２４からサービスID２１を読み出す。また、例えば、サービスデータ２２の要求のコマンドには、サービスデータ２２が格納されているEEPROM２２４のアドレスが格納されているEEPROM２２４のアドレスが含まれているので、サービスデータ２２の要求のコマンドを受信したとき、制御プログラムは、EEPROM２２４からサービスデータ２２を読み出す。
【０１３９】
ステップＳ１６において、制御プログラムは、与えられたアドレスのデータ、すなわち、ステップＳ１５の処理で読み出されたデータを、データ送信部２２７に、リーダーライタ２に送信させて、処理は終了する。例えば、ステップＳ１５の処理において、サービスID２１が読み出された場合、制御プログラムは、データ送信部２２７に、サービスID２１をリーダーライタ２に送信させる。また、例えば、ステップＳ１５の処理において、サービスデータ２２が読み出された場合、制御プログラムは、データ送信部２２７に、サービスデータ２２をリーダーライタ２に送信させる。
【０１４０】
非接触ICカード３においてサービスID２１が記憶されているアドレスを、非接触ICカード３自身は知らず、ランチャープログラム２３のみが知っているので、ランチャープログラム２３以外のプログラム、またはランチャープログラム２３を実行していない機器は、サービスID２１を取得することはできない。
【０１４１】
非接触ICカード３においてサービスデータ２２が記憶されているアドレスを、非接触ICカード３自身は知らず、ランチャープログラム２３で実行されるアプリケーションプログラムのみが知っているので、ランチャープログラム２３で実行されるアプリケーションプログラム以外のプログラム、またはそのアプリケーションプログラムを実行していない機器は、サービスデータ２２を取得することはできない。
【０１４２】
このように、非接触ICカード３は、リーダーライタ２からの要求に応じて、サービスID２１またはサービスデータ２２をリーダーライタ２に送信することができる。
【０１４３】
次に、図１１のフローチャートを参照して、ランチャープログラム２３を実行するパーソナルコンピュータ１による、アプリケーションプログラムの呼び出しの処理を説明する。
【０１４４】
ステップＳ３１において、パーソナルコンピュータ１のランチャープログラム２３は、リーダーライタ２に、所定の返答を要求するコマンドを非接触ICカード３に送信させて、非接触ICカード３から送信されてくる返答を、リーダーライタ２に受信させ、ポーリングの処理を実行する。ステップＳ３２において、ランチャープログラム２３は、非接触ICカード３から返答があったか否かを判定し、返答がないと判定された場合、ステップＳ３１に戻り、ポーリングの処理を繰り返す。
【０１４５】
ステップＳ３２において、非接触ICカード３から返答があったと判定された場合、ステップＳ３３に進み、ランチャープログラム２３は、非接触ICカード３からサービスID２１を取得する。例えば、ステップＳ３３において、ランチャープログラム２３は、リーダーライタ２に、サービスID２１を要求するコマンドを非接触ICカード３宛てに送信させると、非接触ICカード３がサービスID２１を送信してくるので、リーダーライタ２に、非接触ICカード３から送信されてきたサービスID２１を受信させて、サービスID２１を取得する。
【０１４６】
ステップＳ３４において、ランチャープログラム２３は、実行すべきアプリケーションプログラムを特定する。例えば、ステップＳ３４において、ランチャープログラム２３は、対応表２４から、受信したサービスID２１に対応するアプリケーションプログラム名を取得することにより、受信したサービスID２１に対応する、実行すべきアプリケーションプログラムを特定する。
【０１４７】
ステップＳ３５において、ランチャープログラム２３は、特定されたアプリケーションプログラムが実行できるか否かを判定する。例えば、ステップＳ３５において、ランチャープログラム２３は、オペレーティングシステムのレジストリを参照することにより、特定されたアプリケーションプログラムがパーソナルコンピュータ１にインストールされているか否かを判定することにより、そのアプリケーションプログラムが実行できるか否かを判定する。
【０１４８】
ステップＳ３５において、特定されたアプリケーションプログラムが実行できないと判定された場合、ステップＳ３６に進み、ランチャープログラム２３は、特定されたアプリケーションプログラムを取得し、ステップＳ３７に進む。例えば、ステップＳ３６において、ランチャープログラム２３は、ネットワーク２６を介して、サーバ６に、アプリケーションプログラムの提供を要求すると、サーバ６がアプリケーションプログラムを送信してくるので、サーバ６から送信されてきたアプリケーションプログラムを受信することにより、アプリケーションプログラムを取得する。
【０１４９】
ステップＳ３５において、特定されたアプリケーションプログラムが実行できると判定された場合、アプリケーションプログラムを取得する必要はないので、ステップＳ３６の処理をスキップして、手続きは、ステップＳ３７に進む。
【０１５０】
ステップＳ３７において、ランチャープログラム２３は、特定されたアプリケーションプログラムを呼び出す。例えば、ステップＳ３７において、ランチャープログラム２３は、特定されたアプリケーションプログラムがまだ実行されていない場合、特定されたアプリケーションプログラムを実行させてアクティブとし、特定されたアプリケーションプログラムが既に実行されている場合、アプリケーションプログラムをアクティブとして、特定されたアプリケーションプログラムを呼び出す。
【０１５１】
例えば、ステップＳ３７において、ランチャープログラム２３は、ステップＳ３６の処理で取得したアプリケーションプログラムをインストールして、インストールしたアプリケーションプログラムを実行させてアクティブとすることにより、特定されたアプリケーションプログラムを呼び出す。
【０１５２】
ステップＳ３８において、ランチャープログラム２３は、ステップＳ３７の処理で呼び出されたアプリケーションプログラムからの情報を基に、ステップＳ３７の処理で呼び出されたアプリケーションプログラムの処理が終了したか否かを判定し、アプリケーションプログラムの処理が終了していないと判定された場合、ステップＳ３８に戻り、判定の処理を繰り返す。
【０１５３】
例えば、ランチャープログラム２３は、アプリケーションプログラムのアクティブまたはノンアクティブなどのステータスを示す情報を基に、アプリケーションプログラムの処理が終了したか否かを判定する。また、例えば、アプリケーションプログラムが、終了を示す情報をオペレーティングシステムに通知するように構成されている場合、ランチャープログラム２３は、オペレーティングシステムを介して、アプリケーションプログラムからの終了を示す情報を取得することにより、アプリケーションプログラムの処理が終了したか否かを判定する。
【０１５４】
ステップＳ３８において、アプリケーションプログラムの処理が終了したと判定された場合、ステップＳ３９に進み、ランチャープログラム２３は、アプリケーションプログラムを終了させて、ステップＳ３１に戻り、上述した処理を繰り返す。アプリケーションプログラムを終了させることにより、多数のアプリケーションプログラムが実行されることを防止することができ、これにより、処理速度の低下またはレスポンスの遅れをなくすことができる。
【０１５５】
このように、ランチャープログラム２３は、非接触ICカード３からプログラムを特定する情報であるサービスID２１を取得すると、サービスID２１で特定されるアプリケーションプログラムを実行できる場合、そのアプリケーションプログラムを実行し、サービスID２１で特定されるアプリケーションプログラムを実行できない場合、アプリケーションプログラムを取得して、取得したアプリケーションプログラムを実行する。
【０１５６】
次に、図１２のフローチャートを参照して、提供プログラム２７を実行するサーバ６による、アプリケーションプログラムの提供の処理を説明する。ステップＳ５１において、提供プログラム２７は、ネットワーク２６を介した、パーソナルコンピュータ１のランチャープログラム２３からの接続要求を受け付ける。ステップＳ５２において、提供プログラム２７は、接続の処理を実行する。接続の処理によって、例えば、サーバ６とパーソナルコンピュータ１との間には、ネットワーク２６を介したコネクションが確立される。
【０１５７】
ステップＳ５３において、提供プログラム２７は、ランチャープログラム２３からの、アプリケーションプログラムのダウンロード要求を受け取る。ダウンロード要求には、ランチャープログラム２３が要求するアプリケーションプログラムを特定する情報、例えば、アプリケーションプログラムの名前またはプログラムIDなどが含まれている。
【０１５８】
ステップＳ５４において、提供プログラム２７は、ランチャープログラム２３から要求されたアプリケーションプログラム（例えば、アプリケーションプログラム２５−１乃至２５−６のいずれか）を、プログラム記録部２８から読み出して、読み出したアプリケーションプログラムをネットワーク２６を介して、パーソナルコンピュータ１のランチャープログラム２３に送信することにより、アプリケーションプログラムのダウンロードの処理を実行する。
【０１５９】
アプリケーションプログラムのダウンロードの処理が終了したとき、ステップＳ５５において、提供プログラム２７は、接続の処理を終了して、すなわち、コネクションを切断して、アプリケーションプログラムの提供の処理は終了する。
【０１６０】
このように、サーバ６の提供プログラム２７は、ランチャープログラム２３からの要求に対応して、要求されたプログラムをランチャープログラム２３に提供することができる。
【０１６１】
次に、本発明を適用した具体例を説明する。
【０１６２】
図１３は、電車などの中吊り広告に組み込まれた非接触ICによるサービスの提供の例を示す図である。使用者４０１は、リーダーライタ２を内蔵しているPDA９を持っている。広告媒体である中吊り広告４０２は、電車やバスなどに吊られ、その表面には、広告の画像が複製されている。さらに、中吊り広告４０２には、非接触ICカード３と同様の機能を有する非接触IC４０３が配置されている。
【０１６３】
使用者４０１がリーダーライタ２を内蔵しているPDA９を、中吊り広告４０２（の非接触IC４０３）に近接させると、非接触IC４０３は、PDA９のブラウザプログラムを特定するプログラム特定情報をPDA９に送信する。PDA９は、非接触IC４０３から送信されてきたプログラム特定情報を受信し、ブラウザプログラムを実行する。ブラウザプログラムが実行できない場合、PDA９は、無線LAN４０４およびインターネット５を介して、サーバ６−１から、ブラウザプログラムをダウンロードして、ブラウザプログラムを実行する。
【０１６４】
PDA９のブラウザプログラムは、さらに、非接触IC４０３から、サービスデータ２２の一例である、中吊り広告４０２の詳細を案内するサイトのURL（Uniform Resource Locator）方式のアドレスを示すデータを受信する。そして、PDA９のブラウザプログラムは、非接触IC４０３から受信したデータを基に、WWW（World-Wide Web）サーバであるサーバ６−２から、サイトを表示させるデータを受信して、PDA９に中吊り広告４０２の詳細を案内する画像を表示させる。
【０１６５】
例えば、PDA９のブラウザプログラムは、非接触IC４０３から、中吊り広告４０２の広告元であるレストランのサイトのアドレスを示すデータ、および食事の割引のデータを受信する。PDA９のブラウザプログラムは、非接触IC４０３から受信したデータを基に、WWWサーバであるサーバ６−２から、レストランのサイトを表示させるデータを受信して、レストランを案内する画像を表示させる。使用者４０１は、PDA９に、食事の予約の指令と共に、食事の割引のデータをサーバ６−２宛てに送信させることで、食事の予約と料金の割引のサービスを受けることができる。
【０１６６】
広告に興味をもった使用者４０１に、面倒な操作をさせることなく、より詳しい情報を提供したり、従来の単なる広告では提供できなかった新たなサービスを提供できるようになる。
【０１６７】
図１４は、パーソナルコンピュータを買い替えた場合の、設定の承継の処理の例を示す図である。古いパーソナルコンピュータ１０から、新しいパーソナルコンピュータ１に買い替えた場合を例に説明する。図１４の非接触ICカード３は、サービスデータ２２として、パーソナルコンピュータ１０のIDを記憶している。例えば、パーソナルコンピュータ１０のIDは、パーソナルコンピュータ１０のCPUのID、またはパーソナルコンピュータ１０に装着されているNIC（Network Interface Card）のMAC（Media Access Control）アドレスなどである。
【０１６８】
また、図１４の非接触ICカード３は、サービスID２１として、設定承継プログラムを特定するプログラム特定情報を記憶している。
【０１６９】
例えば、非接触ICカード３は、パーソナルコンピュータ１０を購入するとき、使用者に提供される。
【０１７０】
パーソナルコンピュータ１に接続されているリーダーライタ２に、非接触ICカード３を近接させると、非接触ICカード３は、パーソナルコンピュータ１の設定承継プログラムを特定するプログラム特定情報をパーソナルコンピュータ１に送信する。設定承継プログラムは、他のパーソナルコンピュータの設定を読み出して、設定承継プログラムを実行しているオペレーティングシステム（が管理するレジストリ）に読み出した設定をコピーするプログラムである。
【０１７１】
パーソナルコンピュータ１は、非接触ICカード３から送信されてきたプログラム特定情報を受信し、設定承継プログラムを実行する。設定承継プログラムが実行できない場合、パーソナルコンピュータ１は、ネットワーク４を介して、サーバ６から、設定承継プログラムをダウンロードして、設定承継プログラムを実行する。
【０１７２】
パーソナルコンピュータ１の設定承継プログラムは、さらに、非接触ICカード３から、サービスデータ２２の一例である、パーソナルコンピュータ１０のIDを受信する。そして、設定承継プログラムは、パーソナルコンピュータ１０のIDを基に、ネットワーク４に接続されている機器からパーソナルコンピュータ１０を検索し、検索されたパーソナルコンピュータ１０からレジストリなどの設定データを読み出す。設定承継プログラムは、パーソナルコンピュータ１のオペレーティングシステム（が管理するレジストリ）に読み出した設定データをコピーする。
【０１７３】
このように、リーダーライタ２に非接触ICカード３を近接させるだけで、新しいパーソナルコンピュータ１は、パーソナルコンピュータ１０と同様に設定されることになる。一般の使用者には難しいパーソナルコンピュータなどの複雑な設定を簡単に行うことができるようになる。
【０１７４】
図１５は、予定表の自動アップデートの処理の例を示す図である。PDA４２１は、非接触ICを内蔵している。PDA４２１に内蔵されている非接触ICは、ブルートゥースによる通信を設定する通信設定プログラムを特定するサービスID２１を記憶し、ブルートゥースの通信の設定に要する、PIN（Personal Identification Number）コード、ブルートゥースアドレス、リンクキー、または暗号キーなどのサービスデータ２２を記憶している。また、PDA４２１に内蔵されている非接触ICは、PIM（Personal Information Manager）などの予定表を管理するプログラムを特定するサービスID２１を記憶し、PDA４２１の使用者を特定する個人IDであるサービスデータ２２を記憶している。
【０１７５】
非接触ICを内蔵しているPDA４２１が、パーソナルコンピュータ１のリーダーライタ２に近接されると、PDA４２１に内蔵されている非接触ICは、パーソナルコンピュータ１のリーダーライタ２に、ブルートゥースによる通信を設定する通信設定プログラムを特定するサービスID２１を送信する。パーソナルコンピュータ１は、PDA４２１に内蔵されている非接触ICから送信されてきたサービスID２１を受信し、通信設定プログラムを実行する。通信設定プログラムが実行できない場合、パーソナルコンピュータ１は、ネットワーク２６を介して、サーバ６から、通信設定プログラムをダウンロードして、通信設定プログラムを実行する。
【０１７６】
通信設定プログラムは、ブルートゥースの通信の設定に要する、PINコード、ブルートゥースアドレス、リンクキー、または暗号キーなどのサービスデータ２２が格納されているアドレスを知っているので、PINコード、ブルートゥースアドレス、リンクキー、または暗号キーなどのサービスデータ２２を、PDA４２１に内蔵されている非接触ICに要求する。
【０１７７】
PDA４２１に内蔵されている非接触ICは、パーソナルコンピュータ１のリーダーライタ２に、ブルートゥースの通信の設定に要する、PINコード、ブルートゥースアドレス、リンクキー、または暗号キーなどのサービスデータ２２を送信するので、通信設定プログラムは、非接触ICから送信されてくるサービスデータ２２を受信して、PDA４２１とパーソナルコンピュータ１とが初めて接続する場合、PINコードなどを基に、ペアリングの処理を実行して接続の処理を実行し、既にペアリングの処理が行われている場合、ブルートゥースアドレスを基に、接続の処理を実行する。
【０１７８】
さらに、PDA４２１に内蔵されている非接触ICは、パーソナルコンピュータ１のリーダーライタ２に、PIMなどの予定表を管理するスケジュール管理プログラムを特定するサービスID２１を送信する。パーソナルコンピュータ１は、PDA４２１に内蔵されている非接触ICから送信されてきたサービスID２１を受信し、スケジュール管理プログラムを実行する。スケジュール管理プログラムが実行できない場合、パーソナルコンピュータ１は、ネットワーク２６を介して、サーバ６から、スケジュール管理プログラムをダウンロードして、スケジュール管理プログラムを実行する。
【０１７９】
スケジュール管理プログラムは、PDA４２１の使用者を特定する個人IDであるサービスデータ２２が格納されているアドレスを知っているので、PDA４２１の使用者を特定する個人IDであるサービスデータ２２を、PDA４２１に内蔵されている非接触ICに要求する。
【０１８０】
PDA４２１に内蔵されている非接触ICは、パーソナルコンピュータ１のリーダーライタ２に、PDA４２１の使用者を特定する個人IDであるサービスデータ２２を送信するので、スケジュール管理プログラムは、非接触ICから送信されてくる個人IDであるサービスデータ２２を受信して、個人IDを基に、PDA４２１の使用者を特定して、PDA４２１の使用者のスケジュールのデータをアップデートする。例えば、スケジュール管理プログラムは、PDA４２１のスケジュールのデータがパーソナルコンピュータ１のスケジュールのデータより新しい場合、PDA４２１のスケジュールのデータをパーソナルコンピュータ１のスケジュールのデータに上書きし、パーソナルコンピュータ１のスケジュールのデータがPDA４２１のスケジュールのデータより新しい場合、パーソナルコンピュータ１のスケジュールのデータをPDA４２１のスケジュールのデータに上書きすることにより、使用者のスケジュールのデータをアップデートする。
【０１８１】
この場合、PDA４２１とパーソナルコンピュータ１との間の、スケジュールデータの通信は、ブルートゥースに基づく通信による。
【０１８２】
このように、１つの非接触ICまたは非接触ICカード３に、複数のサービスID２１と、それぞれに対応するサービスデータ２２を記憶し、ランチャープログラム２３が複数のサービスID２１を順番に受信することで、１つの非接触ICまたは非接触ICカード３で、複数の種類のサービスを受けることができるようになる。
【０１８３】
図１６は、サーバへの自動ログインの処理の例を示す図である。非接触ICカード３は、画像データをデジタルビデオカメラ４３１からサーバ４３２にアップロードする通信プログラムを特定するサービスID２１を記憶し、サーバ４３２へのログインに要する、サーバ４３２のインターネット５上のアドレス、ユーザID、およびパスワードからなるサービスデータ２２を記憶している。
【０１８４】
デジタルビデオカメラ４３１は、リーダーライタ２を内蔵している。サーバ４３２は、デジタルビデオカメラ４３１の使用者が登録された場合、デジタルビデオカメラ４３１の使用者の利用に供する、画像を記録する記録領域を確保する。サーバ４３２は、デジタルビデオカメラ４３１の使用者がログインしてきたとき、その使用者のための記録領域に、デジタルビデオカメラ４３１から送信されてきた画像データなどを記録する。また、サーバ４３２は、デジタルビデオカメラ４３１の使用者または他の使用者の要求に応じて、インターネット５を介して、記録されている画像データを提供する。
【０１８５】
非接触ICカード３が、リーダーライタ２を内蔵しているデジタルビデオカメラ４３１に近接されると、非接触ICカード３は、デジタルビデオカメラ４３１のリーダーライタ２に、画像データをデジタルビデオカメラ４３１からサーバ４３２にアップロードする通信プログラムを特定するサービスID２１を送信する。デジタルビデオカメラ４３１は、非接触ICカード３から送信されてきたサービスID２１を受信し、通信プログラムを実行する。通信プログラムが実行できない場合、デジタルビデオカメラ４３１は、LAN４およびインターネット５を介して、サーバ４３２から、通信プログラムをダウンロードして、通信プログラムを実行する。
【０１８６】
非接触ICカード３は、デジタルビデオカメラ４３１のリーダーライタ２に、サーバ４３２へのログインに要する、ユーザIDおよびパスワードからなるサービスデータ２２を送信するので、通信プログラムは、非接触ICカード３から送信されてくるサービスデータ２２を受信して、受信したサービスデータ２２である、ユーザIDおよびパスワードを基に、サーバ４３２へのログインの処理を実行する。
【０１８７】
非接触ICカード３をデジタルビデオカメラ４３１に近接させただけで、サーバ４３２にログインすることができるので、デジタルビデオカメラ４３１に、ユーザIDおよびパスワードを入力するためのキーボードを接続したり、ユーザIDおよびパスワードを表示させることが不要になる。
【０１８８】
その結果、デジタルビデオカメラ４３１をより小型化、より軽量化、より安価にすることができるようになる。
【０１８９】
以上のように、１つの情報処理装置（端末装置）は、複数のサービスを提供できる。１つの情報処理装置は、複数のサービスのうちのいずれかに対応した非接触ICカード３のそれぞれに対して、複数のサービスのうちの、対応するサービスを提供する。従って、１つの情報処理装置（端末装置）で、より多くの非接触ICカード３に対して、サービスを提供することができるようになる。その結果、電子マネーなどのサービスまたは非接触ICカード３そのものの普及も促進される。
【０１９０】
このように、送信手段を有する記憶媒体から送信されてくる、プログラムを特定するプログラム特定情報の受信し、プログラム特定情報によって特定されるプログラムを実行するようにした場合には、送信手段を有する記録媒体に対応するサービスを提供できる。
【０１９１】
また、送信手段を有する記憶媒体から送信されてくる、プログラムを特定するプログラム特定情報の受信を制御し、受信されたプログラム特定情報によって特定されるプログラムが実行できるか否かを判定し、プログラム特定情報によって特定されるプログラムが実行できないと判定された場合、ネットワークを介して、提供装置に、プログラム特定情報によって特定されるプログラムの提供を要求し、ネットワークを介して、提供装置から送信されてくる、プログラム特定情報によって特定されるプログラムの受信を制御し、プログラム特定情報によって特定されるプログラムの実行を制御するようにした場合には、１つの装置で、送信手段を有する記録媒体に対応して異なる種類のサービスを提供できる。
【０１９２】
プログラムを特定するプログラム特定情報、およびプログラム特定情報によって特定されるプログラムに処理されるデータを記憶し、プログラムを実行する情報処理装置に、プログラム特定情報またはデータを送信するようにした場合には、情報処理装置において、１つの装置で、送信手段を有する記録媒体に対応して異なる種類のサービスを提供できる。
【０１９３】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１９４】
この記録媒体は、図３に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１７１（フレキシブルディスクを含む）、光ディスク１７２（CD-ROM(Compact Disc-Read Only Memory)、ＤＶＤ(Digital Versatile Disc)を含む）、光磁気ディスク１７３（ＭＤ(Mini-Disc)（商標）を含む）、若しくは半導体メモリ１７４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、HDD１１７などで構成される。
【０１９５】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０１９６】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１９７】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１９８】
【図１】本発明に係るサービス提供システムの一実施の形態を示す図である。
【図２】サービス提供システムにおいて実行されるプログラムおよび記憶されているデータを示す図である。
【図３】パーソナルコンピュータの内部の構成例を示すブロック図である。
【図４】リーダーライタの詳細な構成例を示すブロック図である。
【図５】非接触ICカードの詳細な構成例を示すブロック図である。
【図６】サービス提供の処理を説明するフローチャートである。
【図７】サービス提供の処理を説明するフローチャートである。
【図８】サービス提供の処理を説明するフローチャートである。
【図９】対応情報の一例を示す図である。
【図１０】データの送信の処理を説明するフローチャートである。
【図１１】アプリケーションプログラムの呼び出しの処理を説明するフローチャートである。
【図１２】アプリケーションプログラムの提供の処理を説明するフローチャートである。
【図１３】本発明の適用の具体例を示す図である。
【図１４】本発明の適用の具体例を示す図である。
【図１５】本発明の適用の具体例を示す図である。
【図１６】本発明の適用の具体例を示す図である。
【符号の説明】
【０１９９】
１  パーソナルコンピュータ，  ２  リーダーライタ，  ３  非接触ICカード，  ４  LAN，  ５  インターネット，  ６  サーバ，  ２１  サービスID，  ２２  サービスデータ，  ２３  ランチャープログラム，  ２４  対応表，  ２５−１乃至２５−９  アプリケーションプログラム，  ２６  ネットワーク，  ２７  提供プログラム，  ２８  プログラム記録部，  １０１  CPU，  １０４  RAM，  １１７  HDD，  １７１  磁気ディスク，  １７２  光ディスク，  １７３  光磁気ディスク，  １７４  半導体メモリ，  ２０２  変調部，  ２０６  アンテナ，  ２０８  復調部，  ２１１  CPU，  ２１２  ROM，  ２１３  RAM，  ２２１  CPU，  ２２２  ROM，  ２２３  RAM，  ２２４  EEPROM，  ２２７  データ送信部，  ２３０  アンテナ，  ２３３  データ受信部，  ４０３  非接触IC，  ４０４  無線LAN，  ４２１  PDA，  ４３１  デジタルビデオカメラ，  ４３２  サーバ
【図１】
2005056150.tif 000003
【図２】
2005056150.tif 000004
【図３】
2005056150.tif 000005
【図４】
2005056150.tif 000006
【図５】
2005056150.tif 000007
【図６】
2005056150.tif 000008
【図７】
2005056150.tif 000009
【図８】
2005056150.tif 000010
【図９】
2005056150.tif 000011
【図１０】
2005056150.tif 000012
【図１１】
2005056150.tif 000013
【図１２】
2005056150.tif 000014
【図１３】
2005056150.tif 000015
【図１４】
2005056150.tif 000016
【図１５】
2005056150.tif 000017
【図１６】
2005056150.tif 000018