(57)【要約】【課題】ネットワークを介して接続される機器の制御を、より確実に、かつ効率的に行うことができるようにする。【解決手段】ＩＣカード３などのデバイスが接続された携帯電話機５（クライアント）によりＨａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌが開始され、サーバ２に対して通信の開始が要求される。Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌが行われ、通信が確立したとき、通信の主導権がサーバ側に移動した状態（Ｎｅｕｔｒａｌステート）になる。Ｎｅｕｔｒａｌステートにおいては、サーバ２からクライアントに対して、所定の数のメッセージと１つのＦＩＮＩＳＨＥＤメッセージを含む制御パケットが送信される。制御パケットを受信したクライアントにおいては、メッセージに基づいてデバイスに対する処理が行われる。本発明は、デバイスを制御するクライアント装置（ＰＣ、携帯電話機、ＰＤＡ、家庭電化製品等）と、サーバ装置の、システムの双方の機器に適用可能である。【選択図】      図１
2004186883.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される情報処理端末と情報処理装置からなる制御システムにおいて、
前記情報処理端末は、
機器が接続された状態で、前記情報処理装置に対して、前記ネットワークを介した通信の確立を要求する要求手段と、
前記要求手段による要求に応じて確立された通信により前記情報処理装置から送信される、前記機器の制御に関する命令を含むパケットを受信する受信手段と、
前記受信手段により受信された前記パケットに含まれる前記命令に基づいて、前記機器を制御する制御手段と
を備え、
前記情報処理装置は、
前記情報処理端末からの要求に応じて、前記情報処理端末との間で前記ネットワークを介した通信を確立する確立手段と、
前記確立手段により前記情報処理端末との間で通信が確立されたとき、自分自身から、前記パケットを前記情報処理端末に送信する送信手段と
を備えることを特徴とする制御システム。
【請求項２】
ネットワークを介して接続される情報処理端末と情報処理装置からなる制御システムの制御方法において、
前記情報処理端末の情報処理方法は、
機器が接続された状態で、前記情報処理装置に対して、前記ネットワークを介した通信の確立を要求する要求ステップと、
前記要求ステップの処理に応じて確立された通信により前記情報処理装置から送信される、前記機器の制御に関する命令を含むパケットを受信する受信ステップと、
前記受信ステップの処理により受信された前記パケットに含まれる前記命令に基づいて、前記機器を制御する制御ステップと
を含み、
前記情報処理装置の情報処理方法は、
前記情報処理端末からの要求に応じて、前記情報処理端末との間で前記ネットワークを介した通信を確立する確立ステップと、
前記確立ステップの処理により前記情報処理端末との間で通信が確立されたとき、自分自身から、前記パケットを前記情報処理端末に送信する送信ステップと
を含むことを特徴とする制御方法。
【請求項３】
ネットワークに接続される情報処理端末を介して、所定のタイミングで前記情報処理端末に接続される機器を制御する情報処理装置において、
前記情報処理端末に前記機器が接続された状態で行われる前記情報処理端末からの要求に応じて、前記情報処理端末との間で前記ネットワークを介した通信を確立する確立手段と、
前記確立手段により前記情報処理端末との間で通信が確立されたとき、自分自身から、前記機器の制御に関する命令を含む第１のパケットを前記情報処理端末に送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項４】
前記送信手段により送信された前記命令に対応する、前記情報処理端末からの返信を含む第２のパケットを受信する受信手段をさらに備える
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記命令には、その命令に基づく処理が前記情報処理端末において失敗した場合に、次の命令に基づく処理を続行するか否かを表す情報が含まれる
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記送信手段は、同一のプロトコルに属する複数の前記命令を１つの前記第１のパケットに含めて送信する
ことを特徴とする請求項３に情報処理装置。
【請求項７】
前記送信手段は、前記機器による処理の結果によって、前記機器に次に実行させる処理を前記情報処理端末に判断させる簡易プログラムを、前記第１のパケットと共に送信する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記送信手段は、前記命令に基づく処理の対象となる前記機器を表す識別情報を含む前記第１のパケットを送信する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項９】
前記確立手段により確立された通信経路上に前記情報処理端末のファイアウォールが存在する場合、前記送信手段は、通信プロトコルとしてＨＴＴＰを用い、前記第１のパケットを送信する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１０】
前記送信手段は、複数の前記第１のパケットを送信する期間、前記確立手段により確立されたＨＴＴＰによる通信リンクを継続させる
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記確立手段により確立された通信において、前記情報処理端末から所定の情報の送信が開始されるように、前記情報処理端末に指示する指示手段をさらに備える
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１２】
ネットワークに接続される情報処理端末を介して、所定のタイミングで前記情報処理端末に接続される機器を制御する情報処理装置の情報処理方法において、
前記情報処理端末に前記機器が接続された状態で行われる前記情報処理端末からの要求に応じて、前記情報処理端末との間で前記ネットワークを介した通信を確立する確立ステップと、
前記確立ステップの処理により前記情報処理端末との間で通信が確立されたとき、自分自身から、前記機器の制御に関する命令を含むパケットを前記情報処理端末に送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項１３】
ネットワークに接続される情報処理端末を介して、所定のタイミングで前記情報処理端末に接続される機器を制御する処理をコンピュータに行わせるプログラムの記録媒体において、
前記情報処理端末に前記機器が接続された状態で行われる前記情報処理端末からの要求に応じて、前記情報処理端末との間で前記ネットワークを介した通信を確立する確立ステップと、
前記確立ステップの処理により前記情報処理端末との間で通信が確立されたとき、自分自身から、前記機器の制御に関する命令を含むパケットを前記情報処理端末に送信する送信ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１４】
ネットワークに接続される情報処理端末を介して、所定のタイミングで前記情報処理端末に接続される機器を制御する処理をコンピュータに行わせるプログラムにおいて、
前記情報処理端末に前記機器が接続された状態で行われる前記情報処理端末からの要求に応じて、前記情報処理端末との間で前記ネットワークを介した通信を確立する確立ステップと、
前記確立ステップの処理により前記情報処理端末との間で通信が確立されたとき、自分自身から、前記機器の制御に関する命令を含むパケットを前記情報処理端末に送信する送信ステップと
を含むことを特徴とするプログラム。
【請求項１５】
機器を遠隔制御する情報処理装置と、ネットワークを介して接続される情報処理端末において、
前記機器が接続された状態で、前記情報処理装置に対して、前記ネットワークを介した通信の確立を要求する要求手段と、
前記要求手段による要求に応じて確立された通信により前記情報処理装置から送信される、前記機器の制御に関する命令を含む第１のパケットを受信する受信手段と、
前記受信手段により受信された前記第１のパケットに含まれる前記命令に基づいて、前記機器を制御する制御手段と
を備えることを特徴とする情報処理端末。
【請求項１６】
前記制御手段による前記機器の制御結果を表す返信を含む第２のパケットを前記情報処理装置に送信する送信手段をさらに備える
ことを特徴とする請求項１５に記載の情報処理端末。
【請求項１７】
機器を遠隔制御する情報処理装置と、ネットワークを介して接続される情報処理端末の情報処理方法において、
前記機器が接続された状態で、前記情報処理装置に対して、前記ネットワークを介した通信の確立を要求する要求ステップと、
前記要求ステップによる要求に応じて確立された通信により前記情報処理装置から送信される、前記機器の制御に関する命令を含むパケットを受信する受信ステップと、
前記受信ステップの処理により受信された前記パケットに含まれる前記命令に基づいて、前記機器を制御する制御ステップと
を含むことを特徴とする情報処理方法。
【請求項１８】
機器を遠隔制御する情報処理装置との間で行われる、ネットワークを介した情報処理をコンピュータに行わせるプログラムの記録媒体において、
前記機器が接続された状態で、前記情報処理装置に対して、前記ネットワークを介した通信の確立を要求する要求ステップと、
前記要求ステップによる要求に応じて確立された通信により前記情報処理装置から送信される、前記機器の制御に関する命令を含むパケットを受信する受信ステップと、
前記受信ステップの処理により受信された前記パケットに含まれる前記命令に基づいて、前記機器を制御する制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１９】
機器を遠隔制御する情報処理装置との間で行われる、ネットワークを介した情報処理をコンピュータに行わせるプログラムにおいて、
前記機器が接続された状態で、前記情報処理装置に対して、前記ネットワークを介した通信の確立を要求する要求ステップと、
前記要求ステップによる要求に応じて確立された通信により前記情報処理装置から送信される、前記機器の制御に関する命令を含むパケットを受信する受信ステップと、
前記受信ステップの処理により受信された前記パケットに含まれる前記命令に基づいて、前記機器を制御する制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御システムおよび方法、情報処理装置および方法、情報処理端末および方法、記録媒体、並びにプログラムに関し、特に、ネットワークを介して接続される機器の制御を、より確実に、かつ効率的に行うことができるようにする制御システムおよび方法、情報処理装置および方法、情報処理端末および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、携帯電話機などの通信端末を利用して、遠隔地に設置されている機器を制御するシステムが各種提案されている。
【０００３】
そのようなシステムとして、例えば、特許文献１には、外出先（外部）から電話で送信される暗証番号によって、家庭内に設置されたエアーコンディショナやビデオ録画装置などの家電製品を制御するシステムが開示されている。
【０００４】
また、特許文献２には、制御端末と被制御端末の間にサーバが設置されており、そのサーバを経由して、制御端末が被制御端末の動作を制御するシステムが開示されている。
【０００５】
ところで、これらの制御システムにおいては、遠隔制御される装置が何らかの通信手段により常時接続されており、遠隔にある端末から必ず接続できる環境にあることを前提としている（例えば、特許文献１のシステムにおいては、家電製品がリモートコントローラおよびアダプタを介して電話回線に常時接続されている）。
【０００６】
このように、制御する側の第１の装置と、制御される側の第２の装置が常に通信を行うことができる環境にある場合、いずれの装置も、自分自身が主導となって通信を開始させることが可能である。例えば、第１の装置から第２の装置に対してリクエストを含む各種のデータを任意のタイミングで送信したり、反対に、第２の装置から第１の装置に対して各種のデータを送信したりすることが可能である。
【０００７】
従って、ネットワークを介して通信を行うことにより、どのタイミングであっても、装置を直接制御することができる。
【０００８】
【特許文献１】
特開２０００−１８４０８１号公報
【特許文献２】
特開２００２−４１３７８号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、このように、ネットワークに常時接続されている環境にない、例えば、ＩＣカード、ディスプレイ、或いは、メモリなどのデバイスを遠隔操作する場合、それらのデバイスを管理するパーソナルコンピュータなどのクライアントからサーバにリクエストが送信され、サーバから返信されるリクエストの結果に基づいて、デバイスが操作されるという仕組みが一般的であり、サーバが主導となり、デバイスを直接操作するということが困難であるという課題があった。
【００１０】
すなわち、デバイスがネットワークに常時接続されていないため、サーバからクライアントに任意のタイミングでアクセスし、サーバが主導となり、クライアントにより管理されているデバイスを制御することができない。
【００１１】
具体的には、ネットワークに接続されている装置（例えば、ＩＣカードリーダライタやＲＦ−ＩＤ受信装置）に近接または載置されることにより、所定のタイミングでサーバに接続されるＩＣカードや非接触ＲＦ−ＩＤなどのデバイスに対して、サーバが主導となって、デバイスの属性を変更させたり、または、デバイスを操作したりすることは非常に困難である。
【００１２】
また、従来の制御システムにおいては、サーバ−クライアント間でコマンドやレスポンスを送受信する場合、一般的に、１コマンド毎に、または１レスポンス毎に送受信が行われるため、サーバ−クライアント間での送受信の回数が多くなり、それに伴い、通信コストが高くなるという課題があった。
【００１３】
コマンドやレスポンスの送受信が行われる毎に、ヘッダやフッタなどの情報が付加されるため、それらの送受信回数が増えるにつれて、１回の通信データ量が増え、さらに、１回の送受信に要する通信時間が長くなる。この課題は、通信速度が遅く、通信コストが比較的高い、例えば、携帯電話機などの端末を遠隔操作する場合、さらに深刻なものとなる。
【００１４】
また、従来の制御システムにおいては、例えば、サーバから送信されてきたコマンドを受信したクライアントでエラーが発生した場合、エラーの内容にかかわらず、その時点で常に処理が中断されてしまい、エラーが発生した処理の次の処理をクライアントに実行させるには、サーバ−クライアント間で再接続し、コマンドを再度送信する必要があった。
【００１５】
本発明はこのような状況に鑑みてなされたものであり、ネットワークを介して接続される機器の制御を、より確実に、かつ効率的に行うことができるようにするものである。
【００１６】
【課題を解決するための手段】
本発明の制御システムの情報処理端末は、機器が接続された状態で、情報処理装置に対して、ネットワークを介した通信の確立を要求する要求手段と、要求手段による要求に応じて確立された通信により情報処理装置から送信される、機器の制御に関する命令を含むパケットを受信する受信手段と、受信手段により受信されたパケットに含まれる命令に基づいて、機器を制御する制御手段とを備え、情報処理装置は、情報処理端末からの要求に応じて、情報処理端末との間でネットワークを介した通信を確立する確立手段と、確立手段により情報処理端末との間で通信が確立されたとき、自分自身から、パケットを情報処理端末に送信する送信手段とを備えることを特徴とする。
【００１７】
本発明の制御システムの制御方法は、機器が接続された状態で、情報処理装置に対して、ネットワークを介した通信の確立を要求する要求ステップと、要求ステップの処理に応じて確立された通信により情報処理装置から送信される、機器の制御に関する命令を含むパケットを受信する受信ステップと、受信ステップの処理により受信されたパケットに含まれる命令に基づいて、機器を制御する制御ステップと、情報処理端末からの要求に応じて、情報処理端末との間でネットワークを介した通信を確立する確立ステップと、確立ステップの処理により情報処理端末との間で通信が確立されたとき、自分自身から、パケットを情報処理端末に送信する送信ステップとを含むことを特徴とする。
【００１８】
本発明の情報処理装置は、情報処理端末に機器が接続された状態で行われる情報処理端末からの要求に応じて、情報処理端末との間でネットワークを介した通信を確立する確立手段と、確立手段により情報処理端末との間で通信が確立されたとき、自分自身から、機器の制御に関する命令を含む第１のパケットを情報処理端末に送信する送信手段とを備えることを特徴とする。
【００１９】
送信手段により送信された命令に対応する、情報処理端末からの返信を含む第２のパケットを受信する受信手段をさらに備えるようにすることができる。
【００２０】
命令には、その命令に基づく処理が情報処理端末において失敗した場合に、次の命令に基づく処理を続行するか否かを表す情報が含まれるようにすることができる。
【００２１】
送信手段は、同一のプロトコルに属する複数の命令を１つの第１のパケットに含めて送信するようにすることができる。
【００２２】
送信手段は、機器による処理の結果によって、機器に次に実行させる処理を情報処理端末に判断させる簡易プログラムを、第１のパケットと共に送信するようにすることができる。
【００２３】
送信手段は、命令に基づく処理の対象となる機器を表す識別情報を含む第１のパケットを送信するようにすることができる。
【００２４】
確立手段により確立された通信経路上に情報処理端末のファイアウォールが存在する場合、送信手段は、通信プロトコルとしてＨＴＴＰを用い、第１のパケットを送信するようにすることができる。
【００２５】
送信手段は、複数の第１のパケットを送信する期間、確立手段により確立されたＨＴＴＰによる通信リンクを継続させるようにすることができる。
【００２６】
確立手段により確立された通信において、情報処理端末から所定の情報の送信が開始されるように、情報処理端末に指示する指示手段をさらに備えるようにすることができる。
【００２７】
本発明の情報処理装置の情報処理方法は、情報処理端末に機器が接続された状態で行われる情報処理端末からの要求に応じて、情報処理端末との間でネットワークを介した通信を確立する確立ステップと、確立ステップの処理により情報処理端末との間で通信が確立されたとき、自分自身から、機器の制御に関する命令を含むパケットを情報処理端末に送信する送信ステップとを含むことを特徴とする。
【００２８】
本発明の記録媒体に記録されているプログラム、および、本発明の第１のプログラムは、情報処理端末に機器が接続された状態で行われる情報処理端末からの要求に応じて、情報処理端末との間でネットワークを介した通信を確立する確立ステップと、確立ステップの処理により情報処理端末との間で通信が確立されたとき、自分自身から、機器の制御に関する命令を含むパケットを情報処理端末に送信する送信ステップとを含むことを特徴とする。
【００２９】
本発明の情報処理端末は、機器が接続された状態で、情報処理装置に対して、ネットワークを介した通信の確立を要求する要求手段と、要求手段による要求に応じて確立された通信により情報処理装置から送信される、機器の制御に関する命令を含む第１のパケットを受信する受信手段と、受信手段により受信された第１のパケットに含まれる命令に基づいて、機器を制御する制御手段とを備えることを特徴とする。
【００３０】
制御手段による機器の制御結果を表す返信を含む第２のパケットを情報処理装置に送信する送信手段をさらに備えるようにすることができる。
【００３１】
本発明の情報処理端末の情報処理方法は、機器が接続された状態で、情報処理装置に対して、ネットワークを介した通信の確立を要求する要求ステップと、要求ステップによる要求に応じて確立された通信により情報処理装置から送信される、機器の制御に関する命令を含むパケットを受信する受信ステップと、受信ステップの処理により受信されたパケットに含まれる命令に基づいて、機器を制御する制御ステップとを含むことを特徴とする。
【００３２】
本発明の記録媒体に記録されているプログラム、および、本発明の第２のプログラムは、機器が接続された状態で、情報処理装置に対して、ネットワークを介した通信の確立を要求する要求ステップと、要求ステップによる要求に応じて確立された通信により情報処理装置から送信される、機器の制御に関する命令を含むパケットを受信する受信ステップと、受信ステップの処理により受信されたパケットに含まれる命令に基づいて、機器を制御する制御ステップとを含むことを特徴とする。
【００３３】
本発明の制御システムおよび方法においては、機器が接続された状態で、情報処理装置に対して、ネットワークを介した通信の確立が要求され、要求に応じて確立された通信により情報処理装置から送信される、機器の制御に関する命令を含むパケットが受信され、受信されたパケットに含まれる命令に基づいて、機器が制御される。また、情報処理端末からの要求に応じて、情報処理端末との間でネットワークを介した通信が確立され、情報処理端末との間で通信が確立されたとき、パケットが情報処理端末に送信される。
【００３４】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、情報処理端末に機器が接続された状態で行われる情報処理端末からの要求に応じて、情報処理端末との間でネットワークを介した通信が確立され、情報処理端末との間で通信が確立されたとき、機器の制御に関する命令を含む第１のパケットが情報処理端末に送信される。
【００３５】
本発明の情報処理端末および方法、記録媒体、並びにプログラムにおいては、機器が接続された状態で、情報処理装置に対して、ネットワークを介した通信の確立が要求され、要求に応じて確立された通信により情報処理装置から送信される、機器の制御に関する命令を含む第１のパケットが受信される。また、受信された第１のパケットに含まれる命令に基づいて、機器が制御される。
【００３６】
【発明の実施の形態】
図１は、本発明を適用した制御システムの構成例を示す図である。
【００３７】
ネットワーク１には、ネットワーク１に接続されるクライアント（クライアントを介してネットワーク１に接続されるデバイス）を遠隔制御するサーバ２およびサーバ４が接続されている。サーバ２には、クライアントとの間で行われる通信において、サーバ２と協働してデータの暗号化処理および復号処理、並びに認証処理を実行する暗号・認証用サーバ３が接続されている。
【００３８】
サーバ２またはサーバ４によるデバイス（機器）の制御は、クライアントを介して行われる。
【００３９】
ネットワーク１には、クライアントとしての携帯電話機５およびパーソナルコンピュータ６が接続されている。後に詳述するように、クライアント（携帯電話機５またはパーソナルコンピュータ６）と、サーバ（サーバ２またはサーバ４）の間で行われる通信においては、サーバが主導となってクライアントを制御することができるプロトコルが用いられる。
【００４０】
図１の例においては、サーバ２またはサーバ４によりクライアントを介して制御されるデバイスとして、リーダライタ１１、ＩＣカード１３、スピーカ１４、およびディスプレイ１５が携帯電話機５に接続または内蔵されている。
【００４１】
また、携帯電話機５には、ＩＣカード１３のように携帯電話機５に直接接続または内蔵されるのではなく、近接または載置されたときに、リーダライタ１１との間で電磁誘導を利用した通信を行う外部ＩＣカード１２がリーダライタ１１を介して接続されている。
【００４２】
同様に、図１においては、サーバ２またはサーバ４によりクライアントを介して制御されるデバイスとして、ＩＣカード２１、スピーカ２２、およびディスプレイ２３、リーダライタ２４がパーソナルコンピュータ６に接続されている。リーダライタ２４には、所定のタイミングで、外部ＩＣカード２５が近接または載置される。
【００４３】
これらのデバイス（リーダライタ１１、外部ＩＣカード１２、ＩＣカード１３、スピーカ１４、ディスプレイ１５、ＩＣカード２１、スピーカ２２、ディスプレイ２３、リーダライタ２４、および外部ＩＣカード２５）は、ネットワーク１にクライアントを介して常時接続されているものではなく、所定のタイミングで接続されるものである。
【００４４】
当然、図１に示されるシステム構成は適宜変更可能である。例えば、携帯電話機５やパーソナルコンピュータ６以外にも、クライアントとしてのＰＤＡ（ＰｅｒｓｏｎａｌＤｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）や、デバイスとしてのメモリなどがネットワーク１を介してサーバ２やサーバ４に接続されるようにしてもよい。
【００４５】
図２は、図１のサーバ２の構成例を示すブロック図である。
【００４６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３２に記憶されているプログラム、または、記憶部３８からＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ３３にはまた、ＣＰＵ３１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００４７】
例えば、ＣＰＵ３１により所定の制御プログラムが実行され、図１の制御システムにおいて用いられるプロトコル（以下、適宜、制御プロトコルと称する）の通信によりクライアントを制御するサーバが実現される。
【００４８】
ＣＰＵ３１、ＲＯＭ３２、およびＲＡＭ３３は、バス３４を介して相互に接続されている。このバス３４にはまた、入出力インタフェース３５も接続されている。
【００４９】
入出力インタフェース３５には、キーボード、マウスなどよりなる入力部３６、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などよりなるディスプレイ、並びにスピーカなどよりなる出力部３７、ハードディスクなどより構成される記憶部３８、モデム、ターミナルアダプタなどより構成される通信部３９が接続されている。通信部３９は、ネットワーク１を介しての通信処理を行う。
【００５０】
入出力インタフェース３５にはまた、必要に応じてドライブ４０が接続され、磁気ディスク４１、光ディスク４２、光磁気ディスク４３、或いは半導体メモリ４４などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部３８にインストールされる。
【００５１】
サーバ４の構成、並びに、クライアントである携帯電話機５およびパーソナルコンピュータ６の構成は、図２に示されるサーバ２の構成と基本的に同様であるため、その説明は省略する。なお、図２は、必要に応じて、携帯電話機５またはパーソナルコンピュータ６の構成としても引用される。
【００５２】
ここで、サーバとクライアントの間で行われる通信において用いられるプロトコルについて説明する。以下、適宜、サーバとクライアントの間で行われる通信において用いられるプロトコルを制御プロトコルと称する。
【００５３】
この制御プロトコルにより、クライアントにおいて実行されているＷｅｂアプリケーションの背後で、クライアントとサーバ間の通信が行われる。なお、携帯電話機５などでは、Ｗｅｂアプリケーションは必要なく、クライアントとの機器通信のみの場合がある。この場合、例えば、携帯電話機５のアプリケーションが、表示用データを全て保持しており、デバイスの制御と同様に、アプリケーションやディスプレイに対して制御を行うことにより、表示等を行う。
【００５４】
制御プロトコルを使用してＷｅｂアプリケーションを開発することにより、例えば、第１に、ビジネスロジックを１つの関数／メソッドの中に記述することができ（ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）コネクションが毎回切れることを意識する必要がない）、第２に、サーバからクライアントに対してリクエストを送信させることができ（ＨＴＴＰの「リクエストの送信元は常にクライアント」という制限を受けない）、第３に、クライアント上で任意の処理を実行させることができる（Ａｐｐｌｅｔ，ＡｃｔｉｖｅＸコントロールのような制限を受けない）。
【００５５】
制御プロトコルは、Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌと、その他のサブプロトコルで構成される。例えば、サブプロトコルとして、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌ，Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌ，Ｅｒｒｏｒ  Ｐｒｏｔｏｃｏｌ，Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌ，Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ
Ｐｒｏｔｏｃｏｌ，Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌの６つが規定される。
【００５６】
具体的には、Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌは、サブプロトコル電文の送受信手順を規定するものであり、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌは、コネクションの確立手順を規定するものである。また、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌは、コネクションの開放手順を規定するものであり、Ｅｒｒｏｒ  Ｐｒｏｔｏｃｏｌは、エラーの通知手順を規定するものである。
【００５７】
さらに、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌは、サーバがクライアントの状態を変更する手順を規定するものであり、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌは、アプリケーション固有のデータの送受信手順を規定するものであり、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌは、サーバがクライアントを操作する手順を規定するものである。
【００５８】
これらのプロトコルを含む制御プロトコルは、データ通信の核（枠）となる部分だけを定義するものであり、所定のデバイスを操作するなど、アプリケーション固有の処理を実行するには、そのアプリケーション用のエクステンション（拡張モジュール）が必要である。すなわち、制御プロトコルによって、制御プロトコル本体とエクステンションが協調して動作するための手順が定義される。
【００５９】
図３は、制御プロトコルに基づく通信を実現するサーバ（例えば、サーバ２）の機能構成例を示すブロック図である。図３に示される各機能ブロックは、例えば、サーバ２のＣＰＵ３１により、所定の制御プログラムが実行されて実現される。
【００６０】
制御部５１は、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌに属するメッセージ（命令）を管理するＨａｎｄｓｈａｋｅメッセージ管理部５２、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌに属するメッセージを管理するＦａｒｅｗｅｌｌメッセージ管理部５５、Ｅｒｒｏｒ  Ｐｒｏｔｏｃｏｌに属するメッセージを管理するＥｒｒｏｒメッセージ管理部５８、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌに属するメッセージを管理するＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部６１、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌに属するメッセージを管理するＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６４、および、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌに属するメッセージを管理するＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６７を含む、サーバ２の機能全体を制御する。
【００６１】
なお、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌに属するメッセージ（以下、適宜、Ｈａｎｄｓｈａｋｅメッセージと称する）については図７を参照して、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌに属するメッセージ（以下、適宜、Ｆａｒｅｗｅｌｌメッセージと称する）については図９を参照して、Ｅｒｒｏｒ  Ｐｒｏｔｏｃｏｌに属するメッセージ（以下、適宜、Ｅｒｒｏｒメッセージと称する）については図１１を参照して、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌに属するメッセージ（以下、適宜、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージと称する）については図１４を参照して、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌに属するメッセージ（以下、適宜、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージと称する）については図１６を参照して、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌに属するメッセージ（以下、適宜、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージと称する）については図１８を参照して、それぞれ詳述する。
【００６２】
Ｈａｎｄｓｈａｋｅメッセージ管理部５２は、Ｈａｎｄｓｈａｋｅメッセージに関する処理を管理し、例えば、クライアントからパケットに含められて送信されてきたＨａｎｄｓｈａｋｅメッセージがＨａｎｄｓｈａｋｅメッセージ受信制御部５４から供給されてきたとき、そのメッセージに応じたＨａｎｄｓｈａｋｅメッセージを生成し、クライアントに対して送信すべく、生成したＨａｎｄｓｈａｋｅメッセージをＨａｎｄｓｈａｋｅメッセージ送信制御部５３に出力する。
【００６３】
Ｈａｎｄｓｈａｋｅメッセージ送信制御部５３は、図２の通信部３９において行われる、携帯電話機５などのクライアントに対するＨａｎｄｓｈａｋｅメッセージの送信を制御し、Ｈａｎｄｓｈａｋｅメッセージ受信制御部５４は、図２の通信部３９において行われる、クライアントから送信されてきたＨａｎｄｓｈａｋｅメッセージの受信を制御する。
【００６４】
Ｆａｒｅｗｅｌｌメッセージ管理部５５は、Ｆａｒｅｗｅｌｌメッセージに関する処理を管理し、例えば、クライアントからパケットに含められて送信されてきたＦａｒｅｗｅｌｌメッセージがＦａｒｅｗｅｌｌメッセージ受信制御部５７から供給されてきたとき、そのメッセージに応じたＦａｒｅｗｅｌｌメッセージを生成し、クライアントに対して送信すべく、生成したＦａｒｅｗｅｌｌメッセージをＦａｒｅｗｅｌｌメッセージ送信制御部５６に出力する。
【００６５】
Ｆａｒｅｗｅｌｌメッセージ送信制御部５６は、図２の通信部３９において行われる、クライアントに対するＦａｒｅｗｅｌｌメッセージの送信を制御し、Ｆａｒｅｗｅｌｌメッセージ受信制御部５７は、図２の通信部３９において行われる、クライアントから送信されてきたＦａｒｅｗｅｌｌメッセージの受信を制御する。
【００６６】
Ｅｒｒｏｒメッセージ管理部５８は、Ｅｒｒｏｒメッセージに関する処理を管理し、例えば、クライアントから送信されてきたパケットにフォーマットのエラーが存在することが制御部５１により検出されたとき、それに対応するＥｒｒｏｒメッセージを生成し、クライアントに対して送信すべく、生成したＥｒｒｏｒメッセージをＥｒｒｏｒメッセージ送信制御部５９に出力する。
【００６７】
Ｅｒｒｏｒメッセージ送信制御部５９は、図２の通信部３９において行われる、クライアントに対するＥｒｒｏｒメッセージの送信を制御し、Ｅｒｒｏｒメッセージ受信制御部６０は、図２の通信部３９において行われる、クライアントから送信されてきたＥｒｒｏｒメッセージの受信を制御する。
【００６８】
Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部６１は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージに関する処理を管理し、例えば、クライアントからパケットに含められて送信されてきたＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージがＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ受信制御部６３から供給されてきたとき、そのメッセージに応じたＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージを生成し、クライアントに対して送信すべく、生成したＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージをＡｐｐｌｉｃａｔｉｏｎＤａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部６２に出力する。
【００６９】
Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部６２は、図２の通信部３９において行われる、クライアントに対するＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージの送信を制御する。具体的には、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部６２は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部６１から供給されてきた所定の数のメッセージにＦＩＮＩＳＨＤメッセージを付加し、１つのパケットとしてクライアントに送信する。
【００７０】
Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ受信制御部６３は、図２の通信部３９において行われる、クライアントから送信されてきたＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージの受信を制御する。具体的には、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ受信制御部６３は、クライアントから送信されてきたパケットの終端を、それに含まれるＦＩＮＩＳＨＤメッセージにより検出し、パケットに含まれるＡｐｐｌｉｃａｔｉｏｎＤａｔａ  ＴｒａｎｓｆｅｒメッセージをＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部６１に出力する。
【００７１】
Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６４は、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージに関する処理を管理し、例えば、制御部５１から、所定のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージをクライアントに対して送信することが指示されたとき、指示に対応するＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージを生成し、クライアントに対して送信すべく、生成したＵｐｄａｔｅ  ＥｎｔｉｔｙメッセージをＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６５に出力する。
【００７２】
Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６５は、図２の通信部３９において行われる、クライアントに対するＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージの送信を制御する。具体的には、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６５は、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６４から供給されてきた所定の数のメッセージにＦＩＮＩＳＨＤメッセージを付加し、１つのパケットとしてクライアントに送信する。
【００７３】
Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部６６は、図２の通信部３９において行われる、クライアントから送信されてきたＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージの受信を制御する。具体的には、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部６６は、クライアントから送信されてきたパケットの終端を、それに含まれるＦＩＮＩＳＨＤメッセージにより検出し、パケットに含まれるＵｐｄａｔｅ  ＥｎｔｉｔｙメッセージをＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６４に出力する。
【００７４】
Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６７は、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージに関する処理を管理し、例えば、制御部５１から、所定のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージをクライアントに対して送信することが指示されたとき、指示に対応するＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージを生成し、クライアントに対して送信すべく、生成したＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージをＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６８に出力する。
【００７５】
Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６８は、図２の通信部３９において行われる、クライアントに対するＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージの送信を制御する。具体的には、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６８は、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６７から供給されてきた所定の数のメッセージにＦＩＮＩＳＨＤメッセージを付加し、１つのパケットとしてクライアントに送信する。
【００７６】
Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部６９は、図２の通信部３９において行われる、クライアントから送信されてきたＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージの受信を制御する。具体的には、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部６９は、クライアントから送信されてきたパケットの終端を、それに含まれるＦＩＮＩＳＨＤメッセージにより検出し、パケットに含まれるＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージをＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６７に出力する。
【００７７】
図４は、制御プロトコルに基づく通信を実現するクライアント（例えば、携帯電話機５）の機能構成例を示すブロック図である。図４に示される構成は、基本的には図３に示されるサーバ側の構成と同様であるため、上述したものと重複する説明については適宜省略する。
【００７８】
図４に示される各構成は、例えば、携帯電話機５のＣＰＵ３１により、所定の制御プログラムが実行されて実現される。
【００７９】
制御部８１は、Ｈａｎｄｓｈａｋｅメッセージ管理部８２、Ｆａｒｅｗｅｌｌメッセージ管理部８５、Ｅｒｒｏｒメッセージ管理部８８、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部９１、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４、および、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９７を含む、携帯電話機５（クライアント）の機能全体を制御する。
【００８０】
例えば、制御部８１は、サーバから送信され、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部９６において受信された所定のＵｐｄａｔｅ  ＥｎｔｉｔｙメッセージがＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４を介して供給されてきたとき、デバイス制御部１００を制御し、供給されてきたＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージに基づく処理をデバイスに実行させる。
【００８１】
また、制御部８１は、クライアント自身に接続されているデバイスにより所定の処理を実行させたとき、デバイスによる実行結果（例えば、処理が成功したか否かを表す情報）をデバイス制御部１００から取得し、それをＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４に出力する。
【００８２】
Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４においては、処理結果に基づくレスポンスメッセージ（Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ）が生成され、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部９５を介して、クライアントに対して送信される。
【００８３】
デバイス制御部１００は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ受信制御部９３により取得されたＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージが制御部８１に供給され、それに基づく処理をデバイスに実行させることが制御部８１から指示されたとき、また、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部９６により取得されたＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージが制御部８１に供給され、それに基づく処理をデバイスに実行させることが制御部８１から指示されたとき、或いは、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部９９により取得されたＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージが制御部８１に供給され、それに基づく処理をデバイスに実行させることが制御部８１から指示されたとき、それらの指示に基づいて、クライアント自身に接続されているデバイスの動作を制御する。
【００８４】
また、デバイス制御部１００は、その制御結果（デバイスによる処理結果）を制御部８１に出力する。この処理結果に基づいて、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部９１、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４、または、ＯｐｅｒａｔｅＥｎｔｉｔｙメッセージ管理部９７においてサーバに対するレスポンスが生成される。
【００８５】
次に、図５を参照して、制御プロトコルの状態遷移について説明する。なお、それぞれの状態において行われる通信の詳細については後述するものとする。
【００８６】
ステップＳ１において、クライアント（例えば、携帯電話機５）のＣＰＵ３１によりクライアントプログラムが起動され、状態遷移が開始される。起動時には、例えば、以下の各情報が必要となる。
【００８７】
・サーバＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）
クライアントを制御するサーバのＵＲＬ（例：ｈｔｔｐ：／／ｗｗｗ．ｏｇｅ．ｃｏｍ／ｗｅｂａｐｐ／Ｓｅｒｖｅｒ）
【００８８】
・ビュー表示ＷｅｂアプリケーションＵＲＬ
アプリケーションの前面でエンドユーザに対してビュー（画面）を提供するＷｅｂアプリケーションのＵＲＬ（例：ｈｔｔｐ：／／ｗｗｗ．ｏｇｅ．ｃｏｍ／ｗｅｂａｐｐ／ＶｉｅｗＤｉｓｐａｔｃｈｅｒ）
【００８９】
なお、携帯電話機５等において、Ｗｅｂアプリケーションが必要ない場合、このＵＲＬは必要ない。
【００９０】
・クッキー（オプション）
セッションを識別するためのクッキー
【００９１】
クライアントは、サーバＵＲＬにより指定されたサーバ（例えば、サーバ２）に対して、指定されたセッションＩＤを使ってＨＴＴＰリクエストを送信する。上述した例においては、「ｗｗｗ．ｏｇｅ．ｃｏｍ」の所定のポート番号に対して、「／ｗｅｂａｐｐ／Ｓｅｒｖｅｒ」に電文をＰＯＳＴするＨＴＴＰリクエストが送信される。
【００９２】
なお、起動時にクッキー情報がセットされた場合、クライアントは、ＨＴＴＰリクエストのＣｏｏｋｉｅヘッダに、指定されたクッキー情報を付加する。
【００９３】
サーバからの返信電文はＨＴＴＰレスポンスのコンテンツ部に格納される。
【００９４】
起動後、クライアントは、ステップＳ２において、Ｈａｎｄｓｈａｋｅサブプロトコルを使ってＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージをサーバに送信し、通信の確立を要求する。ＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージが送信されてから、コネクションが確立されるまでの状態がＨａｎｄｓｈａｋｅステートとされる（図５のｓｔａｔｅ１）。
【００９５】
クライアントは、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌを終了したとき、ステップＳ３において、サーバに対してＦＩＮＩＳＨＥＤメッセージを送信する。これによりコネクションが確立され、制御の主導権がサーバに移る。
【００９６】
なお、ＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥをクライアントからサーバへ送信することにより、コネクションが確立される場合もある（図２５参照）。
【００９７】
すなわち、サーバからクライアントに対して所定のコマンド（メッセージ）が送信され、そのメッセージに基づく処理結果などを表すレスポンスがクライアントからサーバに返信される。コネクションが確立し、主導権がサーバに移った状態がＮｅｕｔｒａｌステートとされる（図５のｓｔａｔｅ２）。
【００９８】
Ｎｅｕｔｒａｌステートの状態にあるステップＳ４において、サーバは、自分自身が主導的に、アプリケーションのロジックに従って、クライアントの状態制御、またはアプリケーション固有データの送受信を行う。
【００９９】
このとき、クライアントの状態制御には、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙサブプロトコルが用いられ、アプリケーション固有データの送受信にはＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒサブプロトコルが用いられる。また、クライアント側のデバイスの操作にはＯｐｅｒａｔｅ  Ｅｎｔｉｔｙサブプロトコルが用いられる。
【０１００】
Ｎｅｕｔｒａｌステートに限り、これらの３つのサブプロトコルのパケットを、任意の順序で、複数同時に送受信することが可能とされる。例えば、図２０乃至図２２を参照して後述するように、１つのパケットに含めることができるサブプロトコル種別は１種類であり（１種類のサブプロトコルのヘッダおよびメッセージ列により１つのパケットが構成され）、それぞれのパケットの末尾には、そのサブプロトコルのＦｉｎｉｓｈｅｄメッセージが含まれる。
【０１０１】
また、Ｎｅｕｔｒａｌステートで使用されるサブプロトコル（Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ，Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ，Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ）によりサーバからクライアントに対して送信されるそれぞれのメッセージには、処理に失敗した場合に、それに続く後続のメッセージの処理を続行するのか、または、中止するのかをクライアントに判断させる情報が含まれている。
【０１０２】
例えば、クライアントは、先頭ビットが「０」であるメッセージの処理に失敗した場合、後続のメッセージの処理を中止し、一方、先頭ビットが「１」であるメッセージの処理に失敗した場合、後続のメッセージの処理を続行する。各サブプロトコルの拡張メッセージについても同様である。
【０１０３】
アプリケーションのロジックが終了したとき、サーバは、ステップＳ５において、Ｆａｒｅｗｅｌｌサブプロトコルを使ってＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥメッセージをクライアントに送信する。ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥメッセージが送信されてから、コネクションが開放されるまでの状態がＦａｒｅｗｅｌｌステートとされる（図５のｓｔａｔｅ３）。
【０１０４】
サーバは、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌが終了したと判断したとき、ステップＳ６において、クライアントに対してＦＩＮＩＳＨＥＤメッセージを送信し、コネクションを終了させる。クライアントにおいては、ステップＳ７で、リソースが開放され、処理が終了される。
【０１０５】
なお、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥをサーバからクライアントへ送信することにより、Ｆａｒｅｗｅｌｌステートを経ずに、コネクションが終了され、クライアントにおいて、リソースが開放されて、処理が終了する場合もある（図２５）。
【０１０６】
また、任意の場所（状態）で処理を続行することが不可能なエラーが発生した場合、クライアントまたはサーバは、ステップＳ８において、Ｅｒｒｏｒサブプロトコルを用いてエラーメッセージを相手に送信する。エラーが発生してから制御プロトコルによる通信が終了されるまでの状態がＥｒｒｏｒステートとされる（図５のｓｔａｔｅ４）。
【０１０７】
ステップＳ９において、例えば、サーバからＦＩＮＩＳＨＥＤメッセージがクライアントに送信されたとき、Ｅｒｒｏｒステートが終了され、コネクションが終了される。
【０１０８】
以上のような状態遷移を有する制御プロトコルに従って、クライアントとサーバ間で通信が行われる。
【０１０９】
次に、Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌにより規定されるパケットのデータフォーマットについて説明する。
【０１１０】
図６は、パケットのデータフォーマットの例を示す図である。
【０１１１】
図６に示されるように、パケットは、所定の数のメッセージ（サブプロトコル用の電文）からなるメッセージ列と、ヘッダから構成される。
【０１１２】
ヘッダは、さらに、Ｖｅｒｓｉｏｎ，Ｓｕｂ  Ｐｒｏｔｏｃｏｌ  Ｔｙｐｅ（ＳＰＴ），Ｌｅｎｇｔｈの３つのフィールドから構成される。
【０１１３】
Ｖｅｒｓｉｏｎにより制御プロトコルのバージョン番号が表される。例えば、Ｖｅｒｓｉｏｎのうちの上位バイトによりメジャーバージョン番号が表され、下位バイトによりマイナーバージョン番号が表される。Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの変更によりメジャーバージョン番号が上がり、サブプロトコルの追加または変更により、マイナーバージョン番号が上がる。
【０１１４】
Ｓｕｂ  Ｐｒｏｔｏｃｏｌ  ＴｙｐｅによりＨａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌ，Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌ，Ｅｒｒｏｒ  Ｐｒｏｔｏｃｏｌ，Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌ，  Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌのうちの、パケットで用いられているサブプロトコルの種別が表される。
【０１１５】
Ｌｅｎｇｔｈによりメッセージ列の長さが表される。
【０１１６】
一方、メッセージ列に含まれる１つのメッセージは、Ｅｘｔｅｎｓｉｏｎ（Ｅｘｔ），ＤｅｖｉｃｅＩＤ（ＤＩＤ），Ｍｅｓｓａｇｅ  Ｔｙｐｅ（ＭＴ），Ｌｅｎｇｔｈ，Ｄａｔａのフィールドから構成される。
【０１１７】
Ｅｘｔｅｎｓｉｏｎによりアプリケーションドメイン固有の処理を実行するためのエクステンションの種別が表される。
【０１１８】
Ｄｅｖｉｃｅ  ＩＤによりメッセージが対象とするデバイスのＩＤが表される。例えば、クライアントに複数のデバイスが接続されている場合、そのデバイス全体がメッセージの適用範囲とされるようなＩＤや、サーバ／クライアントとも、デバイスを意識することなくメッセージの適用範囲を決定するＩＤなども必要に応じて規定される。
【０１１９】
Ｍｅｓｓａｇｅ  Ｔｙｐｅによりメッセージの種別が表される。後に詳述するように、例えば、Ｈａｎｄｓｈａｋｅプロトコルには、クライアントからサーバに対して行われるＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージや、サーバからクライアントに対して行われるＳＥＲＶＥＲ＿ＨＥＬＬＯメッセージなどが規定されているが、それらのメッセージの種別がＭｅｓｓａｇｅ  Ｔｙｐｅにより表される。
【０１２０】
Ｌｅｎｇｔｈにより、メッセージのデータ部（Ｄａｔａ）の長さが表される。メッセージのデータ部のデータフォーマットはメッセージタイプに依存する。
【０１２１】
次に、上述したそれぞれのサブプロトコルについて説明する。
【０１２２】
図７は、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【０１２３】
図７に示されるように、ＦＩＮＩＳＨＥＤメッセージはサブプロトコルの終了を意味し、ＷＡＲＮＩＮＧメッセージは警告の通知を意味する。ＷＡＲＮＩＮＧメッセージのデータ部には、所定の文字列からなる警告メッセージが含まれる。
【０１２４】
ＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージはクライアントからサーバに対するＨａｎｄｓｈａｋｅデータの送信開始を意味し、ＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージはＨａｎｄｓｈａｋｅデータの送信終了を意味する。
【０１２５】
ＳＥＲＶＥＲ＿ＨＥＬＬＯメッセージはサーバからクライアントに対するＨａｎｄｓｈａｋｅデータの送信開始を意味し、ＳＥＲＶＥＲ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージはＨａｎｄｓｈａｋｅデータの送信終了を意味する。
【０１２６】
ＤＥＶＩＣＥＳメッセージはデバイスリストの通知を意味し、そのデータ部により、デバイス固有のデバイスＩＤ、パーミッション、タイプ名長、タイプ名、デバイス名長、およびデバイス名が表される。例えば、パーミションによりデバイスに対するアクセス権の有無が表され、「０」がアクセス可（操作可）、「１」がアクセス不可（操作不可）とされる。
【０１２７】
例えば、ＤＥＶＩＣＥＳメッセージにより、クライアントに接続されている、操作対象のデバイスリストの通知や、デバイスに実行させることが可能な処理の通知が行われる。
【０１２８】
次に、図８のシーケンスを参照して、図７に示されるメッセージを用いて行われるＨａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌについて説明する。以下のシーケンスにおいては、制御プロトコルによる通信によりデバイスを制御するサーバとしてのサーバ２と、クライアントとしての携帯電話機５により実行される処理について説明する。
【０１２９】
Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌは、ステップＳ２１において、例えば、携帯電話機５（クライアント）のＨａｎｄｓｈａｋｅメッセージ送信制御部８３（図４）がＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージを、例えば、サーバ２（サーバ）に送信することにより開始される。すなわち、制御部８１からの指示に応じて、Ｈａｎｄｓｈａｋｅメッセージ管理部８２においてＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージが生成され、Ｈａｎｄｓｈａｋｅメッセージ送信制御部８３によりサーバ２に送信される。
【０１３０】
携帯電話機５のＨａｎｄｓｈａｋｅメッセージ送信制御部８３は、ステップＳ２２において、自分自身に接続されているデバイスであって、かつ、サーバ２によるコントロールを許可する全てのデバイスに関する情報を、ＤＥＶＩＣＥＳメッセージを用いてサーバに通知する。このＤＥＶＩＣＥＳメッセージも、制御部８１の指示に基づいてＨａｎｄｓｈａｋｅメッセージ管理部８２により生成されたものである。
【０１３１】
ＤＥＶＩＣＥＳメッセージにより、例えば、携帯電話機５に接続されているリーダライタ１１、およびリーダライタ１１を介して接続されている外部ＩＣカード１２に関する情報などがサーバ２に通知される。
【０１３２】
アプリケーション固有のメッセージがステップＳ２３において送信され、ステップＳ２４においてＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージが送信されたとき、携帯電話機５からサーバ２に対するＨａｎｄｓｈａｋｅデータの送信が終了される。
【０１３３】
一方、携帯電話機５から送信されてきたＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージ、ＤＥＶＩＣＥＳメッセージ、アプリケーション固有のメッセージ、および、ＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージがステップＳ４１乃至Ｓ４４においてサーバ２のＨａｎｄｓｈａｋｅメッセージ受信制御部５４で取得されたとき、ステップＳ４５に進み、Ｈａｎｄｓｈａｋｅメッセージ送信制御部５３（図３）は、携帯電話機５に対してＳＥＲＶＥＲ＿ＨＥＬＬＯメッセージを送信する。
【０１３４】
また、サーバ２のＨａｎｄｓｈａｋｅメッセージ送信制御部５３は、ステップＳ４６において、アプリケーション固有のメッセージを送信し、ステップＳ４７に進み、ＳＥＲＶＥＲ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージを送信する。ここでは、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌにおいて送信される、アプリケーション固有のメッセージを含む全てのメッセージがＨａｎｄｓｈａｋｅメッセージ送信制御部５３の制御の下に送信されている。
【０１３５】
サーバ２から送信されたＳＥＲＶＥＲ＿ＨＥＬＬＯメッセージ、アプリケーション固有のメッセージ、およびＳＥＲＶＥＲ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージは、ステップＳ２５乃至Ｓ２７において携帯電話機５のＨａｎｄｓｈａｋｅメッセージ受信制御部８４によりそれぞれ受信される。
【０１３６】
サーバ２のＨａｎｄｓｈａｋｅメッセージ送信制御部５３は、携帯電話機５と自分自身の双方がＨＥＬＬＯ＿ＤＯＮＥメッセージ（ＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージ、ＳＥＲＶＥＲ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージ）を送信したとき、ステップＳ４８において、さらに、携帯電話機５に対してＦＩＮＩＳＨＥＤメッセージを送信する。
【０１３７】
サーバ２から送信されたＦＩＮＩＳＨＥＤメッセージは、ステップＳ２８において、携帯電話機５のＨａｎｄｓｈａｋｅメッセージ受信制御部８４により受信される。
【０１３８】
携帯電話機５のＨａｎｄｓｈａｋｅメッセージ送信制御部８３は、ステップＳ２９においてアプリケーション固有のメッセージを送信し、ステップＳ３０に進み、サーバ２に対してＦＩＮＩＳＨＥＤメッセージを送信する。携帯電話機５から送信されたアプリケーション固有のメッセージとＦＩＮＩＳＨＥＤメッセージは、ステップＳ４９とＳ５０においてサーバ２のＨａｎｄｓｈａｋｅメッセージ受信制御部５４によりそれぞれ受信され、これにより携帯電話機５とサーバ２の双方においてＨａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌが終了される。
【０１３９】
なお、図８の一点鎖線は、アプリケーション固有のメッセージの送受信が必要な場合にのみ、それぞれ所定の数だけ送信されることを表している。例えば、ステップＳ２３において、メッセージが送信されない場合もあるし、複数のメッセージが送信される場合もある。後述する図１０においても同様である。
【０１４０】
また、図８においては、ステップＳ５０において、サーバ２によりＦＩＮＩＳＨＥＤメッセージが受信されたときにＨａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌが終了されるとしたが、その前に、ステップＳ４４において、サーバ２で受信されたＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージが受信されたときに、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌが終了されるようにしてもよい。
【０１４１】
さらに、図８においては、サーバ２と携帯電話機５から、それぞれＨＥＬＬＯメッセージとＨＥＬＬＯ  ＤＯＮＥメッセージが送信されるとしたが、携帯電話機５からのみ、それらのメッセージがサーバ２に対して送信されるようにしてもよい。これにより、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌの確実性は多少損なわれるものの、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌを迅速に終了させ、Ｎｅｕｔｒａｌステートにおける処理を迅速に開始させることができる。換言すれば、携帯電話機５とサーバ２の双方が＿ＨＥＬＬＯメッセージと＿ＨＥＬＬＯＤＯＮＥメッセージを送受信することにより、より確実に、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌを実行させることができる。
【０１４２】
図９は、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【０１４３】
ＦＩＮＩＳＨＥＤメッセージはサブプロトコルの終了を意味し、ＷＡＲＮＩＮＧメッセージは警告の通知を意味する。ＷＡＲＮＩＮＧメッセージのデータ部には、所定の文字列からなる警告メッセージが含まれる。
【０１４４】
ＣＬＩＥＮＴ＿ＧＯＯＤ＿ＢＹＥメッセージは、クライアントからサーバに対するＦａｒｅｗｅｌｌデータの送信開始を意味し、ＣＬＩＥＮＴ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージはＦａｒｅｗｅｌｌデータの送信終了を意味する。
【０１４５】
一方、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥメッセージは、サーバからクライアントに対するＦａｒｅｗｅｌｌデータの送信開始を意味し、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージはＦａｒｅｗｅｌｌデータの送信終了を意味する。
【０１４６】
ＲＥＴＵＲＮ＿ＣＯＤＥメッセージはサーバによる終了コードの通知を意味し、そのメッセージのデータ部には終了コードが含まれる。
【０１４７】
次に、図１０のシーケンスを参照して、図９に示されるメッセージを用いて行われるＦａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌについて説明する。
【０１４８】
ステップＳ８１において、サーバ２（サーバ）のＦａｒｅｗｅｌｌメッセージ送信制御部５６がＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥメッセージを送信することによりＦａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌが開始される。このように、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌは、通信の主導権を有するサーバ２からのメッセージにより開始される（図５を参照して説明したように、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌが終了した後は、サーバが通信の主導権を有している）。
【０１４９】
サーバ２のＦａｒｅｗｅｌｌメッセージ送信制御部５６は、ステップＳ８２において、携帯電話機５（クライアント）に対してＲＥＴＵＲＮ＿ＣＯＤＥメッセージを送信し、ステップＳ８３に進み、アプリケーション固有のメッセージ（Ｅｘｔｅｎｓｉｏｎ中のＦａｒｅｗｅｌｌ用拡張メッセージ）を送信する。
【０１５０】
また、サーバ２のＦａｒｅｗｅｌｌメッセージ送信制御部５６は、全てのアプリケーション固有のメッセージを送信した後、ステップＳ８４に進み、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージを携帯電話機５に送信する。
【０１５１】
ステップＳ８１乃至Ｓ８４においてサーバ２から送信された情報は、それぞれステップＳ６１乃至Ｓ６４において携帯電話機５のＦａｒｅｗｅｌｌメッセージ受信制御部８７により受信される。
【０１５２】
携帯電話機５のＦａｒｅｗｅｌｌメッセージ送信制御部８６は、ステップＳ６５において、サーバ２に対してＣＬＩＥＮＴ＿ＧＯＯＤ＿ＢＹＥメッセージを送信する。
【０１５３】
また、携帯電話機５のＦａｒｅｗｅｌｌメッセージ送信制御部８６は、ステップＳ６６において、アプリケーション固有のメッセージを送信し、ステップＳ６７に進み、ＣＬＩＥＮＴ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージを送信する。
【０１５４】
携帯電話機５のＦａｒｅｗｅｌｌメッセージ送信制御部８６は、ＣＬＩＥＮＴ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージをサーバ２に対して送信した後、ステップＳ６８に進み、ＦＩＮＩＳＨＥＤメッセージを送信する。ステップＳ６５乃至Ｓ６８において携帯電話機５のＦａｒｅｗｅｌｌメッセージ送信制御部８６から送信された情報は、それぞれステップＳ８５乃至Ｓ８８においてサーバ２のＦａｒｅｗｅｌｌメッセージ受信制御部５７により受信される。
【０１５５】
サーバ２のＦａｒｅｗｅｌｌメッセージ受信制御部５７により、携帯電話機５から送信されてきたＦＩＮＩＳＨＥＤメッセージがステップＳ８８において受信されたとき、ステップＳ８９に進み、Ｆａｒｅｗｅｌｌメッセージ送信制御部５６から携帯電話機５に対してＦＩＮＩＳＨＥＤメッセージが送信され、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌが終了される。サーバ２のＦａｒｅｗｅｌｌメッセージ送信制御部５６から送信されたＦＩＮＩＳＨＥＤメッセージは、ステップＳ６９において携帯電話機５により受信される。
【０１５６】
なお、ステップＳ８４において、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥを送信することにより、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌが終了されるようにしてもよい。これにより、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌを迅速に終了させることができる。
【０１５７】
図１１は、Ｅｒｒｏｒ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【０１５８】
ＦＩＮＩＳＨＥＤメッセージはサブプロトコルの終了を意味し、ＷＡＲＮＩＮＧメッセージは警告の通知を意味する。ＷＡＲＮＩＮＧメッセージのデータ部には、所定の文字列からなる警告メッセージが含まれる。
【０１５９】
ＰＡＣＫＥＴ＿ＦＯＲＭＡＴ＿ＥＲＲＯＲメッセージはパケットのフォーマットにエラーがあることを意味し、ＩＬＬＥＧＡＬ＿ＳＴＡＴＥ＿ＥＲＲＯＲメッセージは不正なメッセージを検知したことを意味する。
【０１６０】
ＵＮＥＸＰＥＣＴＥＤ＿ＥＲＲＯＲメッセージは、予期しないエラーが発生したことを意味する。
【０１６１】
ＰＡＣＫＥＴ＿ＦＯＲＭＡＴ＿ＥＲＲＯＲメッセージ、ＩＬＬＥＧＡＬ＿ＳＴＡＴＥ＿ＥＲＲＯＲメッセージ、およびＵＮＥＸＰＥＣＴＥＤ＿ＥＲＲＯＲメッセージのそれぞれのデータ部には、エラーの内容を表す、所定の文字列からなるエラーメッセージが含まれる。
【０１６２】
次に、図１２および図１３のシーケンスを参照して、図１１に示されるメッセージを用いて行われるＥｒｒｏｒ  Ｐｒｏｔｏｃｏｌについて説明する。
【０１６３】
図１２は、携帯電話機５によりエラーが検出された場合のＥｒｒｏｒ  Ｐｒｏｔｏｃｏｌのシーケンスを示す図である。
【０１６４】
携帯電話機５の制御部８１は、その後の処理を続行することが不可能なエラーを検知した場合、ステップＳ１０１において、ＥＲＲＯＲメッセージ管理部８８を制御し、図１１のメッセージ（ＰＡＣＫＥＴ＿ＦＯＲＭＡＴ＿ＥＲＲＯＲメッセージ、ＩＬＬＥＧＡＬ＿ＳＴＡＴＥ＿ＥＲＲＯＲメッセージ、またはＵＮＥＸＰＥＣＴＥＤ＿ＥＲＲＯＲメッセージ）を用いて、エラーを検知したこと（検知されたエラーの内容）をサーバ２に通知する。すなわち、制御部８１からの指示に応じた所定のメッセージがＥＲＲＯＲメッセージ管理部８８により生成され、それがＥＲＲＯＲメッセージ送信制御部８９から送信される。
【０１６５】
その後、携帯電話機５によるステップＳ１０２およびＳ１０３、並びにサーバ２によるステップＳ１１２およびＳ１１３の処理により、携帯電話機５とサーバ２間でＦＩＮＩＳＨＥＤメッセージが送受信され、図５を参照して説明したように、サーバ−クライアント間の通信が終了される。
【０１６６】
図１３は、サーバ２によりエラーが検出された場合のＥｒｒｏｒ  Ｐｒｏｔｏｃｏｌのシーケンスを示す図である。
【０１６７】
サーバ２の制御部５１は、その後の処理を続行することが不可能なエラーを検知した場合、ステップＳ１３１において、ＥＲＲＯＲメッセージ管理部５８を制御し、検知したエラーの内容に応じたメッセージを用いて、エラーを検知したことを携帯電話機５に通知する。すなわち、制御部５１からの指示に応じた所定のメッセージがＥＲＲＯＲメッセージ管理部５８により生成され、それがＥＲＲＯＲメッセージ送信制御部５９から送信される。
【０１６８】
サーバ２のＥＲＲＯＲメッセージ送信制御部５９は、エラーを検知したことを通知したとき、ステップＳ１３２に進み、携帯電話機５に対してＦＩＮＩＳＨＥＤメッセージを送信する。
【０１６９】
サーバ２から送信されたメッセージがステップＳ１２１およびＳ１２２において携帯電話機５により受信され、通信が終了される。
【０１７０】
以上のように、サーバ２および携帯電話機５は、それぞれのサブプロトコルに基づく通信において、エラーを検知した場合、任意のタイミングで相手側に対してＥｒｒｏｒメッセージを送信することができる。
【０１７１】
なお、上述したＥｒｒｏｒサブプロトコルによるメッセージだけでなく、アプリケーションにより独自に規定されたエラー通知メッセージが用いられて、相手側にエラーの検知が通知されるようにしてもよい。
【０１７２】
また、ＥｒｒｏｒメッセージのうちのＷＡＲＮＩＮＧメッセージは、シーケンスに影響を与えない。すなわち、ＷＡＲＮＩＮＧメッセージが受信された側において、メッセージの内容がログに出力されるようにしてもよいし、無視されるようにしてもよい。
【０１７３】
図１４は、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【０１７４】
Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌのメッセージは、例えば、図１のリーダライタ１１の表面に設けられているＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）を発光させたり、または、所定のデバイスの電源をオンにするなど、デバイスの状態（属性）を変更させるときに用いられる。
【０１７５】
ＦＩＮＩＳＨＥＤメッセージはパケットの終端を意味し、ＷＡＲＮＩＮＧメッセージは警告の通知を意味する。ＷＡＲＮＩＮＧメッセージのデータ部には所定の文字列からなる警告メッセージが含まれる。
【０１７６】
ＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージは、サーバからクライアントに対して送信され、クライアントに接続されているデバイスの属性値の設定を意味する。ＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージに対するクライアントからの返信は、ＰＲＯＰＥＲＴＹ＿ＳＥＴメッセージにより行われる。
【０１７７】
このＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージは、メッセージに基づく処理がクライアントにおいて失敗したとき、後続のメッセージの処理を中止しなければならないメッセージである。従って、ＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージの先頭ビットは、後続のメッセージの処理を中断するように設定される。
【０１７８】
ＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージのデータ部には、属性名長、属性名、属性値長、属性値などの、デバイスに新たに設定させる属性に関する情報が含まれる。
【０１７９】
ＰＲＯＰＥＲＴＹ＿ＳＥＴメッセージは、サーバから送信されてきたＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージに対するクライアントからの返信を意味し、そのデータ部には、ＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージに基づく処理がクライアントにおいて成功したのか否かを表すフラグが含まれる。
【０１８０】
ＧＥＴ＿ＰＲＯＰＥＲＴＹメッセージは、サーバからクライアントに対して送信され、クライアントに接続されたデバイスの属性値の取得を意味する。ＧＥＴ＿ＰＲＯＰＥＲＴＹメッセージに対するクライアントからの返信は、ＰＲＯＰＥＲＴＹメッセージにより行われる。
【０１８１】
このＧＥＴ＿ＰＲＯＰＥＲＴＹメッセージは、メッセージに基づく処理がクライアントにおいて失敗したとき、後続のメッセージの処理を中止しなければならないメッセージである。従って、ＧＥＴ＿ＰＲＯＰＥＲＴＹメッセージの先頭ビットは、後続のメッセージの処理を中断するように設定される。
【０１８２】
ＧＥＴ＿ＰＲＯＰＥＲＴＹメッセージのデータ部には、属性値の取得を要求するデバイスの属性名長、および属性名などの情報が含まれる。
【０１８３】
ＰＲＯＰＥＲＴＹメッセージは、サーバから送信されてきたＧＥＴ＿ＰＲＯＰＥＲＴＹメッセージに対するクライアントからの返信を意味し、そのデータ部には、サーバからの要求に対応する、デバイスの属性値長および属性値などの情報が含まれる。
【０１８４】
ＳＥＴ＿ＮＥＴＷＯＲＫ＿ＴＩＭＥＯＵＴメッセージは、クライアントのネットワークタイムアウト値の設定を意味する。
【０１８５】
このＳＥＴ＿ＮＥＴＷＯＲＫ＿ＴＩＭＥＯＵＴメッセージは、メッセージに基づく処理がクライアントにおいて失敗した場合であっても、後続のメッセージの処理を継続するメッセージである。従って、ＳＥＴ＿ＮＥＴＷＯＲＫ＿ＴＩＭＥＯＵＴメッセージの先頭ビットは、後続のメッセージの処理を継続するように設定される。
【０１８６】
ＳＥＴ＿ＮＥＴＷＯＲＫ＿ＴＩＭＥＯＵＴメッセージのデータ部には、クライアントに設定させるタイムアウト値が含まれる。
【０１８７】
次に、図１５のシーケンスを参照して、図１４に示されるメッセージを用いて行われるＵｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌについて説明する。
【０１８８】
携帯電話機５に接続されたデバイスの状態を変更するとき、サーバ２のＵｐｄａｔｅＥｎｔｉｔｙメッセージ管理部６４は、制御部５１による制御に基づいて、ステップＳ１５１において、携帯電話機５に送信するＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージを生成する。生成されたＵｐｄａｔｅ  ＥｎｔｉｔｙメッセージはＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６５に出力される。
【０１８９】
サーバ２のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６５は、ステップＳ１５２において、ステップＳ１５１で生成されたＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ列の末尾にＦＩＮＩＳＨＥＤメッセージを付加し、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ列とＦＩＮＩＳＨＥＤメッセージからなるパケットを携帯電話機５に送信する。
【０１９０】
すなわち、ステップＳ１５１で生成される所定の数のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージと、ステップＳ１５２で付加される１つのＦＩＮＩＳＨＥＤメッセージからなる１つのパケットが携帯電話機５に対して送信される。
【０１９１】
このように、１つのパケットに複数のメッセージを含めて携帯電話機５に送信することができるため（複数のメッセージを送信するのに１つのヘッダやフッタを付加するだけでよいため）、１つのメッセージ毎にヘッダやフッタが付加されて構成されるパケットが送信される場合に較べて、データ量を抑制することができる。また、通信時間を抑制することができるとともに、通信コストを抑制することができる。このことは、全てのプロトコルにおいても同様である。
【０１９２】
パケットに含められてサーバ２から送信されたＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージは、ステップＳ１４１において携帯電話機５のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部９６により取得され、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ列の末尾に付加されたＦＩＮＩＳＨＥＤメッセージは、ステップＳ１４２において取得される。
【０１９３】
携帯電話機５においては、サーバから送信されてきたパケットに含まれるメッセージが取得され、取得された順に、メッセージに基づく処理が行われる。また、必要に応じて、処理結果を表すレスポンスが制御部８１により生成される。
【０１９４】
携帯電話機５のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部９６は、サーバ２から送信されてきたＦＩＮＩＳＨＥＤメッセージを受信することによりパケットの終端を検知する。受信したＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージに対するレスポンス（Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ）がステップＳ１４３においてＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４により生成される。
【０１９５】
例えば、サーバ２からデバイスの属性値を変更することが指示されたとき、属性値の変更がデバイス制御部１００により行われ、属性値の変更が成功したか否かが制御部８１からＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４に通知される。Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９４においては、その通知に対応するレスポンスが生成され、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６５に出力される。
【０１９６】
ステップＳ１４４において、携帯電話機５のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部９５は、生成したレスポンスにＦＩＳＮＩＳＨＥＤメッセージを付加し、１つのパケットとしてサーバ２に送信する。なお、レスポンスの有無、およびその数は、サーバ２から送信されてきたメッセージ次第である。
【０１９７】
パケットに含められて携帯電話機５から送信されたＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージは、ステップＳ１５３においてサーバ２のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部６６により取得され、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ列の末尾に付加されたＦＩＮＩＳＨＥＤメッセージは、ステップＳ１５４において取得される。
【０１９８】
以下、適宜、Ｎｅｕｔｒａｌステートにおいて、サーバ２から携帯電話機５に対して送信されるパケット（０を含む所定の数のＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージと１つのＦＩＳＮＩＳＨＥＤメッセージを含むパケット、０を含む所定の数のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージと１つのＦＩＳＮＩＳＨＥＤメッセージを含むパケット、または、０を含む所定の数のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージと１つのＦＩＳＮＩＳＨＥＤメッセージを含むパケット）を制御パケットと称する。
【０１９９】
また、その制御パケットに含まれるメッセージの処理結果等を通知すべく、携帯電話機５からサーバ２に対して返信されるパケット（メッセージに対応する０を含む所定の数のレスポンスと１つのＦＩＳＮＩＳＨＥＤメッセージを含むパケット）を返信パケットと称する。
【０２００】
以上のようにして、Ｕｐｄａｔｅ  ＥｎｔｉｔｙメッセージとＦＩＳＮＩＳＨＥＤメッセージを含む制御パケットが、サーバ主導でサーバ２から携帯電話機５に対して送信され、それに基づく処理が携帯電話機５において実行される。携帯電話機５においては、サーバ２から送信されてきたＵｐｄａｔｅ  Ｅｎｔｉｔｙメッセージに対応するレスポンスが生成され、レスポンスとＦＩＳＮＩＳＨＥＤメッセージを含む返信パケットがサーバ２に対して送信される。
【０２０１】
具体的には、例えば、図１４のＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージを含む制御パケットがサーバ２から携帯電話機５に対して送信されたとき、携帯電話機５においては、ＳＥＴ＿ＰＲＯＰＥＲＴＹメッセージに基づくデバイスの属性値の設定が行われ、ＰＲＯＰＥＲＴＹ＿ＳＥＴメッセージ（レスポンス）を含む返信パケットがサーバ２に対して返信される。
【０２０２】
なお、携帯電話機５およびサーバ２は、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙメッセージ列の中に、所定の数のアプリケーション固有メッセージ（Ｅｘｔｅｎｓｉｏｎ中のＵｐｄａｔｅ  Ｅｎｔｉｔｙ用拡張メッセージ）を含めて送信することができる。
【０２０３】
図１６は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【０２０４】
Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌは、例えば、リーダライタ１１を介して携帯電話機５に接続される外部ＩＣカード１２を制御するためのアプリケーションのコマンドなど、サーバとクライアント（デバイス）間におけるアプリケーションデータを送受信するときに用いられる。
【０２０５】
ＦＩＮＩＳＨＥＤメッセージはパケットの終端を意味し、ＷＡＲＮＩＮＧメッセージは警告の通知を意味する。ＷＡＲＮＩＮＧメッセージのデータ部には所定の文字列からなる警告メッセージが含まれる。
【０２０６】
次に、図１７のシーケンスを参照して、図１６に示されるメッセージを用いて行われるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌについて説明する。
【０２０７】
ステップＳ１７１において、サーバ２のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部６１は、一群のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ列を生成する。生成されたＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージは、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部６２に出力される。
【０２０８】
サーバ２のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部６２は、ステップＳ１７２において、生成したＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ列の末尾にＦＩＮＩＳＨＥＤメッセージを付加し、所定の数のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ列と１つのＦＩＮＩＳＨＥＤメッセージからなる制御パケットを携帯電話機５に送信する。
【０２０９】
制御パケットに含まれるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージは、ステップＳ１６１において、携帯電話機５のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ受信制御部９３により受信され、ＦＩＮＩＳＨＥＤメッセージはステップＳ１６２において受信される。
【０２１０】
携帯電話機５のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ受信制御部９３は、サーバ２から送信されてきたＦＩＮＩＳＨＥＤメッセージを受信することにより制御パケットの終端を検知し、制御パケットに含まれるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージがＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部９１に出力される。
【０２１１】
ステップＳ１６３において、パケットに含まれるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージに対応するレスポンスが生成される。すなわち、デバイス制御部１００により行われた制御の結果がＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部９１に通知され、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部９１により、その結果に対応するレスポンスが生成される。生成されたレスポンスはＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部９２に供給される。
【０２１２】
ステップＳ１６４において、携帯電話機５のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部９２は、生成されたレスポンス（Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ）列の末尾にＦＩＮＩＳＨＥＤメッセージを付加し、生成した返信パケットをサーバ２に送信する。
【０２１３】
パケットに含められて携帯電話機５から送信されたＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージは、ステップＳ１７３においてサーバ２のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ受信制御部６３により取得され、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ列の末尾に付加されたＦＩＮＩＳＨＥＤメッセージは、ステップＳ１７４において取得される。
【０２１４】
なお、レスポンスの有無、およびその数は、サーバ２から送信されてきたメッセージ次第である。
【０２１５】
上述したＵｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌの場合と同様に、携帯電話機５およびサーバ２は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ列の中に、所定の数のアプリケーション固有メッセージ（Ｅｘｔｅｎｓｉｏｎ中のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ用拡張メッセージ）を送信することができる。
【０２１６】
図１８は、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【０２１７】
Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌは、例えば、携帯電話機５に接続されたリーダライタ１１による電磁波の輻射の開始または停止、或いは、ユーザに対して所定の入力を行わせるための所定の画面表示など、クライアントに接続されたデバイスを制御するときに用いられる。
【０２１８】
ＦＩＮＩＳＨＥＤメッセージはパケットの終端を意味し、ＷＡＲＮＩＮＧメッセージは警告の通知を意味する。ＷＡＲＮＩＮＧメッセージのデータ部には、所定の文字列からなる警告メッセージが含まれる。
【０２１９】
ＵＰＤＡＴＥ＿ＶＩＥＷメッセージは、サーバからクライアントに対して送信され、クライアントにおけるビュー（表示画面）の更新を意味する。ＵＰＤＡＴＥ＿ＶＩＥＷメッセージに対する返信は、ＶＩＥＷ＿ＵＰＤＡＴＥＤメッセージによりサーバに対して行われる。
【０２２０】
このＵＰＤＡＴＥ＿ＶＩＥＷメッセージは、メッセージに基づく処理がクライアントにおいて失敗したとき、後続のメッセージの処理を中止しなければならないメッセージである。従って、ＵＰＤＡＴＥ＿ＶＩＥＷメッセージの先頭ビットは、後続のメッセージの処理を中断するように設定される。
【０２２１】
ＶＩＥＷ＿ＵＰＤＡＴＥＤメッセージは、サーバから送信されてきたＵＰＤＡＴＥ＿ＶＩＥＷメッセージに対する返信を意味し、そのデータ部には、ビューの更新が成功したか否かを表すフラグが含まれる。
【０２２２】
ＢＥＧＩＮ＿ＤＡＴＡ＿ＩＮＰＵＴメッセージは、サーバからクライアントに対して送信され、デバイスに対するデータの入力を開始することを意味する。ＢＥＧＩＮ＿ＤＡＴＡ＿ＩＮＰＵＴメッセージに対するクライアントからの返信は、ＥＮＤ＿ＤＡＴＡ＿ＩＮＰＵＴによりサーバに対して行われる。
【０２２３】
このＢＥＧＩＮ＿ＤＡＴＡ＿ＩＮＰＵＴメッセージは、メッセージに基づく処理がクライアントにおいて失敗したとき、後続のメッセージの処理を中止しなければならないメッセージである。従って、ＢＥＧＩＮ＿ＤＡＴＡ＿ＩＮＰＵＴメッセージの先頭ビットは、その処理に失敗した場合、後続のメッセージの処理を中断するように設定される。
【０２２４】
ＥＮＤ＿ＤＡＴＡ＿ＩＮＰＵＴメッセージは、ＢＥＧＩＮ＿ＤＡＴＡ＿ＩＮＰＵＴに対するクライアントからの返信を意味し、そのデータ部には、データの入力が成功したか否かを表すフラグ、属性名長、属性名、属性値長、および属性値の情報が含まれる。
【０２２５】
ＯＰＥＲＡＴＥ＿ＤＥＶＩＣＥメッセージは、サーバからクライアントに対して送信され、クライアントに接続されたデバイスを操作することを意味する。ＯＰＥＲＡＴＥ＿ＤＥＶＩＣＥメッセージに対するクライアントからの返信は、ＤＥＶＩＣＥ＿ＲＥＳＰＯＮＳＥメッセージによりサーバに対して行われる。
【０２２６】
このＯＰＥＲＡＴＥ＿ＤＥＶＩＣＥメッセージは、メッセージに基づく処理がクライアントにおいて失敗したとき、後続のメッセージの処理を中止しなければならないメッセージである。従って、ＯＰＥＲＡＴＥ＿ＤＥＶＩＣＥメッセージの先頭ビットは、その処理に失敗した場合、後続のメッセージの処理を中断するように設定される。
【０２２７】
ＯＰＥＲＡＴＥ＿ＤＥＶＩＣＥメッセージのデータ部には、操作名文字数、操作名、パラメタ長、およびパラメタの情報が含まれる。
【０２２８】
ＤＥＶＩＣＥ＿ＲＥＳＰＯＮＳＥメッセージは、クライアントからサーバに対して送信され、デバイス操作の結果の通知を意味する。ＤＥＶＩＣＥ＿ＲＥＳＰＯＮＳＥメッセージのデータ部には、レスポンス長、レスポンスの情報が含まれる。
【０２２９】
ＰＬＡＹ＿ＳＯＵＮＤメッセージは、サーバからクライアントに対して送信され、クライアント側において、サーバにより指定された論理名に対応した音を発生させることを意味する。ＰＬＡＹ＿ＳＯＵＮＤメッセージに対する返信は行われない。
【０２３０】
このＰＬＡＹ＿ＳＯＵＮＤメッセージは、メッセージに基づく処理がクライアントにおいて失敗した場合であっても、後続のメッセージの処理を継続するメッセージである。従って、ＰＬＡＹ＿ＳＯＵＮＤメッセージの先頭ビットは、その処理に失敗した場合であっても、後続のメッセージの処理を継続するように設定される。
【０２３１】
ＰＬＡＹ＿ＳＯＵＮＤメッセージのデータ部には、発生させる音の論理名を表す情報が含まれる。
【０２３２】
次に、図１９のシーケンスを参照して、図１８に示されるメッセージを用いて行われるＯｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌについて説明する。
【０２３３】
サーバ２のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部６７は、ステップＳ１９１において、携帯電話機５に送信する、意味のある一群のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ列を生成する。生成されたＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージはＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６８に出力される。
【０２３４】
携帯電話機５のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６８は、ステップＳ１９２において、生成したメッセージ列の末尾にＦＩＮＩＳＨＥＤメッセージを付加し、制御パケットとして携帯電話機５に送信する。
【０２３５】
携帯電話機５に対して送信された制御パケットに含まれるＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージおよびＦＩＮＩＳＨＥＤメッセージは、ステップＳ１８１およびＳ１８２においてそれぞれ受信される。
【０２３６】
携帯電話機５のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９７は、ステップＳ１８３において、サーバ２から送信されてきたＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージに対するレスポンスを制御部８１による指示に基づいて生成する。なお、レスポンスの有無、およびその数は、サーバ２から送信されてきたメッセージ次第である。
【０２３７】
携帯電話機５のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部６５は、ステップＳ１８４において、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９７により生成されたレスポンスにＦＩＳＮＩＳＨＥＤメッセージを付加し、返信パケットとしてサーバ２に送信する。
【０２３８】
パケットに含められて携帯電話機５から送信されたＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージは、ステップＳ１９３においてサーバ２のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ受信制御部６９により取得され、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ列の末尾に付加されたＦＩＮＩＳＨＥＤメッセージは、ステップＳ１９４において取得される。
【０２３９】
なお、携帯電話機５、およびサーバ２は、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ列の中に所定の数のアプリケーション固有メッセージ（Ｅｘｔｅｎｓｉｏｎ中のＯｐｅｒａｔｅ  Ｅｎｔｉｔｙ用拡張メッセージ）を送信することができる。
【０２４０】
以上のように、携帯電話機５とサーバ２の間でＨａｎｄｓｈａｋｅが成立し、Ｎｅｕｔｒａｌステート（図５）のときには、サーバ２が通信の主導権を有し、サーバ２から、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌ，Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、またはＯｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌに基づくメッセージが携帯電話機５に対して送信される（Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌによる通信のシーケンスを示す図１５、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌによる通信のシーケンスを示す図１７、および、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌによる通信のシーケンスを示す図１９においては、いずれもサーバ２から通信が開始されている）。
【０２４１】
すなわち、携帯電話機５からの命令に応じて、サーバ２がレスポンスを携帯電話機５に返信し、その返信に基づいてデバイスが制御されるのではなく、サーバ２から携帯電話機５に対して直接送信された命令に基づいて、携帯電話機５に接続されているデバイスが制御される。
【０２４２】
従って、１度通信が確立された後は、サーバ２からの通信によりデバイスを直接制御することができる。
【０２４３】
次に、図２０を参照して、以上のようなサブプロトコルに従ってＮｅｕｔｒａｌステートにおける通信を行う、サーバ（サーバ２）とクライアント（携帯電話機５）の処理について説明する。
【０２４４】
図２０においては、ステップＳ２１１において、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡ（ＭｓｇＡ）、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢ（ＭｓｇＢ）にＦｉｎｉｓｈｅｄメッセージが付加されて生成された制御パケット（Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒパケット）２０１がサーバ２から携帯電話機５に対して送信されている。
【０２４５】
図１７を参照して説明したように、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌによる通信においては、サーバ２のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部６２から、所定の数のＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージにＦｉｎｉｓｈｅｄメッセージが付加されて構成される制御パケットが携帯電話機５に対して送信される。
【０２４６】
また、ステップＳ２１１においては、Ｏｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸ（ＭｓｇＸ）にＦｉｎｉｓｈｅｄメッセージが付加されて生成された制御パケット（Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙパケット）２０２がサーバ２から携帯電話機５に対して送信されている。
【０２４７】
図１９を参照して説明したように、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌによる通信においては、サーバ２から、所定の数のＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージにＦｉｎｉｓｈｅｄメッセージが付加されて構成される制御パケットが携帯電話機５に対して送信される。
【０２４８】
さらに、ステップＳ２１１においては、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＣ（ＭｓｇＣ）にＦｉｎｉｓｈｅｄメッセージが付加されて生成された制御パケット（Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒパケット）２０３がサーバ２から携帯電話機５に対して送信されている。
【０２４９】
このように、複数の制御パケットが携帯電話機５に一括して送信されるため、それぞれのプロトコルのパケットをそれぞれ送信する場合に較べて、通信回数を抑制することができる。
【０２５０】
制御パケットに含められてサーバ２から送信されたメッセージは、送信された順序で携帯電話機５により処理され、レスポンスが順次生成される。携帯電話機５により生成されたレスポンスは、生成された順序でサーバ２に返信される。
【０２５１】
従って、図２０の例においては、ステップＳ２０１で携帯電話機５により制御パケット２０１乃至２０３が受信されたとき、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡ、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢ、Ｏｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸ、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＣの順に、それらのメッセージに基づく処理が携帯電話機５により実行される。
【０２５２】
上述したように、メッセージに基づく処理の途中でエラーが発生した場合、それに続くメッセージの処理を続行するのか、または、その時点で処理を中断するのかは、メッセージの先頭ビットの値により設定されている。
【０２５３】
図２０に示される処理においては、送信された全てのメッセージの処理が成功した場合の例とされている。また、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡとＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸは、それぞれ返信（レスポンス）が必要とされるメッセージであり、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢとＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＣは、共に返信が必要でないメッセージとされている。
【０２５４】
携帯電話機５において処理が成功したか否かをサーバ２側で管理する必要があるメッセージに対しては、携帯電話機５によりレスポンスが生成される。
【０２５５】
従って、携帯電話機５は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡに基づく処理を実行したとき、それに対するレスポンスＡ（ＲｅｓＡ）を生成し、レスポンスＡにＦｉｎｉｓｈｅｄメッセージを付加して生成した返信パケット（Ａｐｐｌｉｃａｔｉｏｎ  ＤａｔａＴｒａｎｓｆｅｒパケット）２１１を、ステップＳ２０２において、サーバ２に対して送信する。
【０２５６】
図１７を参照して説明したように、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌによる通信においては、サーバ２から送信されてきた制御パケットに含まれるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージに対応してＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ管理部９２によりレスポンスが生成され、生成されたレスポンスとＦｉｎｉｓｈｅｄメッセージからなる返信パケットがＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒメッセージ送信制御部９２からサーバ２に送信される。
【０２５７】
また、携帯電話機５は、Ｏｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸに基づく処理を実行したとき、それに対するレスポンスＸ（ＲｅｓＸ）を生成し、レスポンスＸにＦｉｎｉｓｈｅｄメッセージを付加して生成した返信パケット（Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙパケット）２１２を、ステップＳ２０２において、サーバ２に対して送信する。
【０２５８】
図１９を参照して説明したように、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌによる通信においては、サーバ２から送信されてきた制御パケットに含まれるＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージに対応して、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ管理部９７によりレスポンスが生成され、生成されたレスポンスとＦｉｎｉｓｈｅｄメッセージからなる返信パケットがＯｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージ送信制御部９８からサーバ２に送信される。
【０２５９】
なお、携帯電話機５は、返信メッセージの有無に関わらず、サーバ２から送信されてきた１つの制御パケットに対して１つの返信パケットをサーバ２に送信しなければならないため、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＣが返信を必要としないメッセージである場合であっても、制御パケット２０３に対して、Ｆｉｎｉｓｈｅｄメッセージが末尾に付加された返信パケット（Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒパケット）２１３をステップＳ２０２においてサーバ２に送信する。
【０２６０】
携帯電話機５から送信された返信パケットはステップＳ２１２においてサーバ２により受信され、返信パケットに含まれるレスポンスにより、携帯電話機５においてメッセージに基づく処理が成功されたことが取得される。
【０２６１】
このように、サーバ２から送信されたそれぞれのメッセージに対して、送信された順序で返信メッセージが生成されるため、サーバ２および携帯電話機５は、送信メッセージと返信メッセージを対応付けて管理することができる。
【０２６２】
図２１は、サーバ２と携帯電話機５により実行される他の処理について説明するシーケンスである。
【０２６３】
図２１においては、ステップＳ２３１において、図２０の場合と同様に、制御パケット２２１乃至２２３がサーバ２から携帯電話機５に対して送信されている。
【０２６４】
なお、図２１においては、携帯電話機５に対して送信されたＡｐｐｌｉｃａｔｉｏｎ  ＤａｔａＴｒａｎｓｆｅｒメッセージＡ（ＭｓｇＡ）の処理が失敗した場合の例とされている。また、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡの先頭ビットにより、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡの処理が失敗した場合、その時点で処理を中断することが表されている場合の例とされている。
【０２６５】
従って、ステップＳ２２１において、携帯電話機５により制御パケット２２１に含まれるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡが取得され、それに基づく処理が失敗したとき、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡに続くＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢ、Ｏｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸ、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＣに基づく処理は実行されない。
【０２６６】
携帯電話機５は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡに基づく処理に失敗したとき、処理が失敗したことをサーバ２に通知するレスポンスＡ（ＲｅｓＡ）を生成する。携帯電話機５は、ステップＳ２２２において、生成したレスポンスＡにＦｉｎｉｓｈｅｄメッセージを付加し、返信パケット（Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒパケット）２３１をサーバ２に送信する。
【０２６７】
ステップＳ２３２において、サーバ２は、携帯電話機５からの返信パケット２３１を受信し、それに含まれるレスポンスＡに基づいて、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡに基づく処理が携帯電話機５において失敗したことを取得する。また、サーバ２は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢ、Ｏｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸ、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＣに基づく処理が実行されていないことを取得する。
【０２６８】
図２２は、サーバ２と携帯電話機５により実行されるさらに他の処理について説明するシーケンスである。
【０２６９】
図２２においても、図２０または図２１と同様に、ステップＳ２５１において、制御パケット２４１乃至２４２がサーバ２から携帯電話機５に対して送信されている。
【０２７０】
なお、図２２においては、携帯電話機５に対して送信されたＡｐｐｌｉｃａｔｉｏｎ  ＤａｔａＴｒａｎｓｆｅｒメッセージＢ（ＭｓｇＢ）の処理が失敗した場合の例とされている。また、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢの先頭ビットにより、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢの処理が失敗した場合であっても、それに続くメッセージの処理を続行することが表されている場合の例とされている。
【０２７１】
さらに、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡおよびＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸは、返信メッセージを必要とするメッセージであり、Ａｐｐｌｉｃａｔｉｏｎ  ＤａｔａＴｒａｎｓｆｅｒメッセージＣは、返信メッセージを必要としないメッセージとされている。
【０２７２】
従って、携帯電話機５は、ステップＳ２４１において、制御パケット２４１を受信し、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡに基づく処理を実行し、レスポンスＡ（ＲｅｓＡ）を生成する。
【０２７３】
また、携帯電話機５は、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢに基づく処理に失敗した場合であっても、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢの先頭ビットにより表される指示に従って、それに続く処理を続行する。すなわち、携帯電話機５は、制御パケット２４２に含まれるＯｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸに基づく処理を実行し、Ｏｐｅｒａｔｅ  ＥｎｔｉｔｙメッセージＸに対応するレスポンスＸ（ＲｅｓＸ）を生成する。
【０２７４】
さらに、携帯電話機５は、レスポンスＸを生成した後、制御パケット２４３に含まれるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＣに基つく処理を実行する。
【０２７５】
携帯電話機５により生成されたレスポンスＡとＦｉｎｉｓｈｅｄパケットを含む返信パケット（Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒパケット）２５１、レスポンスＸとＦｉｎｉｓｈｅｄパケットを含む返信パケット（Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙパケット）２５２、および、Ｆｉｎｉｓｈｅｄパケットを含む返信パケット（Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒパケット）２５３は、ステップＳ２４２において、サーバ２に対して送信される。
【０２７６】
携帯電話機５から送信された返信パケットは、ステップＳ２５２においてサーバ２により受信され、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＡに基づく処理、および、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙメッセージに基づく処理が携帯電話機５において成功したこと、並びに、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  ＴｒａｎｓｆｅｒメッセージＢに基づく処理が失敗したことが取得され、処理が終了される。
【０２７７】
Ｎｅｕｔｒａｌステートのとき、以上のようなサーバ２と携帯電話機５の間でのパケットの送受信が繰り返し実行され、サーバ主導によるクライアント（デバイス）の制御が行われる。
【０２７８】
以上においては、携帯電話機５に対するメッセージの送信と、サーバ２に対するレスポンスの返信が繰り返されることにより、所定のデバイスの制御が行われるとしたが、例えば、サーバ２から携帯電話機５に対してスクリプト（簡易プログラム）が制御パケットと共に一括して送信され、メッセージに基づく処理結果と、簡易プログラムに従って、次に実行する処理が携帯電話機５自身により判断されるようにしてもよい。
【０２７９】
すなわち、スクリプトには、所定のメッセージに対して生成されたレスポンス（デバイスのレスポンス）の内容によって、次に、どのメッセージに基づく処理を実行するのかが記述される。
【０２８０】
スクリプトに基づく処理が終了されたとき、デバイスから携帯電話機５に対して行われたレスポンスの内容が、サーバ２に対して一括して送信される返信パケットに含められて送信される。
【０２８１】
スクリプトの実行履歴（携帯電話機５からデバイスに送信されたメッセージ（携帯電話機５により実行されたメッセージ）の内容と、その順序を表す情報）がサーバ２に送信されることにより、サーバ２は、携帯電話機５から送信されてきたレスポンスが、どのメッセージに対するものなのかを判断することができる。
【０２８２】
また、以上においては、Ｈａｎｄｓｈａｋｅプロトコルにより通信が確立したとき、サーバ２が通信の主導となり、携帯電話機５との間での通信が行われるとしたが、任意のタイミングで、携帯電話機５が通信の主導権を有することができるようにしてもよい。
【０２８３】
この場合、例えば、主導権の逆転は、サーバ・クライアント送受信方向逆転プロトコルによって行われる。
【０２８４】
例えば、サーバ２が主導となって通信が行われている場合、所定のタイミングで、サーバ２から携帯電話機５に対してサーバ・クライアント送受信方向逆転プロトコルのＥＸＣＨＡＮＧＥメッセージが送信される。それ以降の通信においては、携帯電話機５が主導となって、上述したものと同様の通信が行われる。
【０２８５】
一方、携帯電話機５が主導となって通信が行われている場合、所定のタイミングで、携帯電話機５からサーバ２に対してサーバ・クライアント送受信方向逆転プロトコル（ＥＸＣＨＡＮＧＥプロトコル）のＥＸＣＨＡＮＧＥメッセージが送信される。この場合、サーバ２が主導となり、それ以降の通信が行われる。
【０２８６】
図２３および図２４は、ＥＸＣＨＡＮＧＥ（交換）プロトコルのシーケンスを示す図である。
【０２８７】
図２３においては、始めに、携帯電話機５（Ｃｌｉｅｎｔ）が通信の主導を有している。ステップＳ３０１において携帯電話機５から送信されたＥＸＣＨＡＮＧＥメッセージは、ステップＳ３１１においてサーバ２（Ｓｅｒｖｅｒ）により受信され、それ以降、サーバ２が主導となり、サーバ２と携帯電話機５との間で通信が行われる。
【０２８８】
一方、図２４においては、始めに、サーバ２が通信の主導を有している。ステップＳ３３１においてサーバ２から送信されたＥＸＣＨＡＮＧＥメッセージは、ステップＳ３２１において携帯電話機５により受信され、それ以降、携帯電話機５が主導となり、サーバ２と携帯電話機５との間で通信が行われる。
【０２８９】
以上のようにして、Ｎｅｕｔｒａｌステートでの通信の主導権の切り替えが行われる。
【０２９０】
なお、サーバ２と携帯電話機５の間で確立された通信経路上に携帯電話機５のファイアウォールが存在する場合、そのファイアウォールを越えて通信を行うことができるようにして、サーバ２と携帯電話機５の間では、ＨＴＴＰによる通信が行われる。この場合、上述した複数のプロトコルのパケットの送受信は、１回のセッションが維持された状態で行われる。
【０２９１】
図２５は、制御プロトコルの状態遷移について説明する他の図であり、基本的には、図５を参照して説明したものと同様である。上述した図５に代えて、図２５に示されるように、状態遷移が行われるようにしてもよい。なお、図５と重複する部分については、その説明を適宜省略する。
【０２９２】
クライアントは、Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌ（Ｓｔａｔｅ１）を終了したとき、ステップＳ３４３において、サーバに対してＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージを送信する。これによりコネクションが確立され、制御の主導権がサーバに移る。
【０２９３】
また、Ｎｅｕｔｒａｌステート状態にあるステップＳ３４４においては、サーバが主導となり、Ｕｐｄａｔｅ  Ｅｎｔｉｔｙサブプロトコル、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒサブプロトコル、および、Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙサブプロトコルによる通信が行われるだけでなく、必要に応じて、上述したＥＸＣＨＡＮＧＥメッセージが用いられ、主導権の切り替えが行われる。
【０２９４】
サーバは、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌが終了したと判断したとき、ステップＳ３４６において、クライアントに対してＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージを送信し、コネクションを終了させる。これにより、クライアントのリソースが開放され、処理が終了される。
【０２９５】
このように、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージが送信されることにより、処理が終了される場合もある。
【０２９６】
図２６は、上述したように、クライアントからサーバに対して、ＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージが送信されることにより、コネクションが終了される場合のシーケンスである。
【０２９７】
すなわち、ステップＳ３６１において、クライアントからサーバに対して、ＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージが送信され、ステップＳ３６２に進み、ＤＥＶＩＣＥＳメッセージが送信される。
【０２９８】
ステップＳ３６３において、アプリケーション固有のメッセージが送信され、ステップＳ３６４に進み、ＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージが送信されたとき、サーバとクライアント間でのコネクションが確立される。
【０２９９】
なお、サーバにおいては、ステップＳ３７１乃至Ｓ３７４において、クライアントから送信されてきたＣＬＩＥＮＴ＿ＨＥＬＬＯメッセージ、ＤＥＶＩＣＥＳメッセージ、アプリケーション固有のメッセージ、および、ＣＬＩＥＮＴ＿ＨＥＬＬＯ＿ＤＯＮＥメッセージがそれぞれ受信される。
【０３００】
例えば、クライアントが携帯電話機などの機器である場合、図８の処理と比較して、データの送受信が一部省略された、以上の処理により、クライアントとサーバの間でコネクションが確立されることがある。
【０３０１】
図２７は、上述したように、サーバからクライアントに対して、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージが送信されることにより、Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌが終了される場合のシーケンスである。
【０３０２】
すなわち、ステップＳ３９１において、サーバからＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥメッセージが送信されることによりＦａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌが開始され、ステップＳ３９２において、ＲＥＴＵＲＮ＿ＣＯＤＥメッセージが送信される。また、ステップＳ３９３において、アプリケーション固有のメッセージが送信される。
【０３０３】
ステップＳ３９４において、サーバからクライアントに対して、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージが送信され、これにより、コネクションが終了される。
【０３０４】
サーバから送信されたＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥメッセージ、ＲＥＴＵＲＮ＿ＣＯＤＥメッセージ、アプリケーション固有のメッセージ、および、ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージは、それぞれ、クライアントにより、ステップＳ３８１乃至Ｓ３８４の処理により受信される。ＳＥＲＶＥＲ＿ＧＯＯＤ＿ＢＹＥ＿ＤＯＮＥメッセージが受信されたとき、クライアントのリソースが開放される。
【０３０５】
上述したＨａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌの場合と同様に、例えば、クライアントが携帯電話機などの機器である場合、図１０の処理と比較して、データの送受信が一部省略された、以上のような処理により、クライアントとサーバの間でのコネクションが終了されることがある。
【０３０６】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
【０３０７】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０３０８】
この記録媒体は、図２に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４１（フレキシブルディスクを含む）、光ディスク４２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）を含む）、光磁気ディスク４３（ＭＤ（登録商標）（Ｍｉｎｉ−Ｄｉｓｋ）を含む）、もしくは半導体メモリ４４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ３２や、記憶部３８に含まれるハードディスクなどで構成される。
【０３０９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３１０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【０３１１】
【発明の効果】
本発明によれば、情報処理装置と情報処理端末の間で通信を行うこと、特に、重宝処理装置が主導となり情報処理端末との間で通信を行うことができる。
【０３１２】
また、本発明によれば、効率的にかつ確実に各種のパケットを送受信することができるとともに、通信コストを抑制することができ、これにより、情報処理装置が、情報処理端末を効率的かつ確実に制御することができる。
【０３１３】
さらに、本発明によれば、処理のエラーが発生した場合であっても、それに続く処理をクライアントに実行させることができる。
【図面の簡単な説明】
【図１】本発明を適用した制御システムの構成例を示す図である。
【図２】図１のサーバの構成例を示すブロック図である。
【図３】サーバの機能構成例を示すブロック図である。
【図４】クライアントの機能構成例を示すブロック図である。
【図５】制御プロトコルの状態遷移について説明する図である。
【図６】パケットのフォーマットの例を示す図である。
【図７】Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【図８】図７に示されるメッセージを用いて行われるＨａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図９】Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【図１０】図９に示されるメッセージを用いて行われるＦａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図１１】Ｅｒｒｏｒ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【図１２】図１１に示されるメッセージを用いて行われるＥｒｒｏｒ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図１３】図１１に示されるメッセージを用いて行われる他のＥｒｒｏｒ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図１４】Ｕｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【図１５】図１４に示されるメッセージを用いて行われるＵｐｄａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図１６】Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【図１７】図１６に示されるメッセージを用いて行われるＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図１８】Ｏｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌにおいて用いられるメッセージを示す図である。
【図１９】図１８に示されるメッセージを用いて行われるＯｐｅｒａｔｅ  Ｅｎｔｉｔｙ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図２０】Ｎｅｕｔｒａｌステートにおける通信を説明するシーケンスである。
【図２１】Ｎｅｕｔｒａｌステートにおける他の通信を説明するシーケンスである。
【図２２】Ｎｅｕｔｒａｌステートにおけるさらに他の通信を説明するシーケンスである。
【図２３】Ｅｘｃｈａｎｇｅ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図２４】Ｅｘｃｈａｎｇｅ  Ｐｒｏｔｏｃｏｌについて説明するシーケンスである。
【図２５】制御プロトコルの他の状態遷移について説明する図である。
【図２６】Ｈａｎｄｓｈａｋｅ  Ｐｒｏｔｏｃｏｌについて説明する他のシーケンスである。
【図２７】Ｆａｒｅｗｅｌｌ  Ｐｒｏｔｏｃｏｌについて説明する他のシーケンスである。
【符号の説明】
１  ネットワーク，  ２および４  サーバ，  ５  携帯電話機，  ６  パーソナルコンピュータ，  １１  磁気ディスク，  １２  光ディスク，  １３  光磁気ディスク，  １４  半導体メモリ
【図１】
2004186883.tif 000003
【図２】
2004186883.tif 000004
【図３】
2004186883.tif 000005
【図４】
2004186883.tif 000006
【図５】
2004186883.tif 000007
【図６】
2004186883.tif 000008
【図７】
2004186883.tif 000009
【図８】
2004186883.tif 000010
【図９】
2004186883.tif 000011
【図１０】
2004186883.tif 000012
【図１１】
2004186883.tif 000013
【図１２】
2004186883.tif 000014
【図１３】
2004186883.tif 000015
【図１４】
2004186883.tif 000016
【図１５】
2004186883.tif 000017
【図１６】
2004186883.tif 000018
【図１７】
2004186883.tif 000019
【図１８】
2004186883.tif 000020
【図１９】
2004186883.tif 000021
【図２０】
2004186883.tif 000022
【図２１】
2004186883.tif 000023
【図２２】
2004186883.tif 000024
【図２３】
2004186883.tif 000025
【図２４】
2004186883.tif 000026
【図２５】
2004186883.tif 000027
【図２６】
2004186883.tif 000028
【図２７】
2004186883.tif 000029