〔概要〕
(通信層)
後述する各実施の形態では、本発明に係る通信システムの送信機および受信機の構成および動作について、OSI7層モデルに基づいて詳細に説明する。ここで、OSI7層モデルとは、いわゆる「OSI基本参照モデル」「OSI階層モデル」とも呼ばれているものである。
OSI7層モデルでは、異機種間のデータ通信を実現するために、コンピュータの持つべき通信機能が7階層に分割され、各層ごとに標準的な機能モジュールが定義されている。
具体的には、第1層(物理層)は、データを通信回線に送出するための電気的な変換や機械的な作業を受け持つ。第2層(データリンク層)は、物理的な通信路を確保し、通信路を流れるデータのエラー検出などを行う。第3層(ネットワーク層)は、通信経路の選択や通信経路内のアドレスの管理を行う。第4層(トランスポート層)は、データ圧縮や誤り訂正、再送制御などを行う。第5層(セッション層)は、通信プログラム同士がデータの送受信を行うための仮想的な経路(コネクション)の確立や解放を行う。第6層(プレゼンテーション層)は、第5層から受け取ったデータをユーザが分かりやすい形式に変換したり、第7層から送られてくるデータを通信に適した形式に変換したりする。第7層(アプリケーション層)は、データ通信を利用した様々なサービスを人間や他のプログラムに提供する。
各実施の形態に係る通信システムの各通信層も、上記OSI7層モデルの対応する階層と同等の機能を有する。ただし、各実施の形態では、上記通信システムは、セッション層とプレゼンテーション層とを1つにした、6階層の構造となっている。また、アプリケーション層については、説明を省略する。
本発明は、送信機および受信機が複数の通信層の接続を確立して通信を行う通信システムに広く適用可能である。すなわち、通信機能の分割はOSI7層モデルに従っていなくてもよい。また、通信層の数は、接続すべき通信層が複数であれば、任意に選択できる。
また、本発明は、複数の通信層の接続リクエストをまとめることにより、接続に要する時間を短縮するものであるため、通信路が切断した場合でも再接続が容易である。よって、本発明は、通信路が切断しやすい、例えば赤外線による無線通信に特に適している。ただし、本発明は、他の無線通信、および、有線通信においても効果的である。
各実施の形態では、説明の便宜上、本発明の一適用例であるIrSimpleに基づいて説明する。しかし、本発明はIrSimpleに限定されるものではない。なお、IrSimpleとは、従来のIrDAの一部機能を改良したものである。
各実施の形態では、IrSimpleに則って、データリンク層、ネットワーク層、トランスポート層、セッション層+プレゼンテーション層を、それぞれ、LAP、LMP、SMP、OBEXと表記することがある。
(IrLMP層(LSAP))
本発明は、主にネットワーク層に係るものである。以下、IrDAおよびIrSimpleのネットワーク層であるIrLMP層について説明する。
図12は、従来のIrDAでの接続およびデータ転送を説明するための信号シークエンス図である。
IrLMP(Infrared Link Management Protocol)層は、下位層であるIrLAP層を用いて、複数の上位層アプリケーションのデータを効率よく転送するために多重化を行う。具体的には、1対1の通信において上位層のアプリケーションが複数起動している場合や1対Nの通信において、LMP層は、アプリケーションごとに要求される論理的なチャネルを作成し、上位層はそのチャネルを用いてデータの送受信を行う。この論理的なチャネルがLSAP(Link Service Access Point)となる。
例えば1対1の通信で、上位層のアプリケーションが複数起動する場合、接続時には、送信機(1次局)の上位層が、LMP層に対して、自機器の論理チャネル要求を行う(例えば1)とともに、対向機器の接続対象となるアプリケーション1(app1)の論理チャネルの問い合わせを行う。これを受けた1次局のLMP層は、まず、LAP層の接続制御を担当するStation Controlにより、LAP層の接続を完了した後、自機器の送信元論理チャネル(SLSAP:Source Link Service Access Point)を前述の1に設定して、LAP層にデータ転送要求コマンド(データは、LMP層の接続コマンド)として渡す。このとき、送信した送信元論理チャネル(1)を保持する。
次に、受信器(2次局)のLMP層は、前述のデータ転送要求コマンド(データはLMP層の接続コマンド)を下位層より受信すると、接続コマンド内の1次局の送信元論理チャネルを解析し、上位層に接続コマンド受信とともに通知する。これを受けた2次局の上位層は、自機器のアプリケーション1の論理チャネル(SLSAP)(例えば2)および1次局の論理チャネルを対向機器の論理チャネルに設定して、接続応答コマンドとして、LMP層に渡す。これを受けた2次局のLMP層は、上位層からの自機器のアプリケーション1の論理チャネル(SLSAP=2)および1次局のアプリケーションの論理チャネル(DLSAP:Destination Link Service Access Point=1)を設定して、データ転送要求コマンド(データはLMP層の接続応答コマンド)として、下位層に渡す。
次に、1次局のLMP層は、下位層よりこれを受信すると、接続応答コマンドの中にある送信先論理チャネル(DLSAP=1)が前述の保持していた送信元論理チャネル(1)と一致しているため、上位層のアプリケーション1に対して、接続応答コマンド受信通知を行うとともに、2次局の論理チャネル(2)を通知する。
データ転送時には、アプリケーション1は、接続時に作成した論理チャネルを用いて、データ転送を行う。具体的には、1次局は、データ転送時には、送信元論理チャネル(SLSAP=1)と送信先論理チャネル(DLSAP=2)をそれぞれ設定して、データの送信を行い、2次局は、送信元論理チャネル(SLSAP=2)と送信先論理チャネル(DLSAP=1)を設定して、データの送信を行う。
また、アプリケーション2(app2)の接続時にも、同様に上記の接続処理を行う。
(IrLMP層の課題)
現在のIrDAが実装されている機器同士の赤外線通信においては、ほとんどが1対1の通信であり、また、アプリケーションとしてもファイル転送(起動するアプリケーションは1つ)がほとんどである。
上述のように、現行のIrLMP規格では、1対Nの機器での通信や、複数のアプリケーション起動時でのデータ転送を実現するために、論理チャネルの作成プロセスが存在するが、前述の通り、大部分の通信においては、アプリケーションは1つしか起動していないため、形式的に論理チャネルを形成しているに過ぎず、そのためのフレームの交換は無駄なものである。すなわち、1対1の機器での通信や、アプリケーションが1つの場合には、Station end pointでの処理を省略できる。
そこで、前述の論理チャネルを予め定めておいてネットワーク層を簡略することが考えられる。しかし、そのように構成すると、上位層の接続データのみをLAP層の接続パケットに含めようとする場合、現行のIrLMP規格における接続プロセスでは対応できなくなる。本発明のネットワーク層は、1対1の機器での通信や、アプリケーションが1つの場合を前提として、IrLMP規格との互換性を保ちながら、接続・切断のシークエンスを簡単化したものである。
〔実施の形態1〕
本発明の一実施の形態について図1、2に基づいて説明すれば、以下のとおりである。
本実施の形態の信号シークエンス図を図1に、またブロック図を図5にそれぞれ示すが、本発明はこれに限るものではない。また、図5に上位層として、OBEXおよびTinyTPとしているが、これに限るものではない。また、図5にネットワーク層プロトコル制御部が単独の層として記述されているが、同等の機能が上位層または下位層に統合され、ネットワーク層プロトコル制御部が単独で存在しなくても構わない。また、図5中の各モジュールは、その機能を実現可能であるならば、ソフトウェアであってもハードウェアであっても構わない。
図1に示すように、まず、一次局の上位層制御部511が接続に必要なデータを含有した接続要求コマンド1(LM_con_req1)を発行する。その接続要求コマンド1を受けて、一次局のネットワーク層プロトコル制御部512がIrLAP層制御部513に対して、接続要求コマンド1に含有されたデータを入れた接続要求コマンド2(LAP_con_req2)を送信する。一次局のIrLAP層制御部513は接続要求コマンド2を受けて、接続要求コマンド2に含有されたデータを入れたSNRMコマンドを送信部514を介して、二次局に対して送信する。
二次局では、このSNRMコマンドを受信部515で受信し、IrLAP制御部513がネットワーク層プロトコル制御部512に対して、SNRMコマンドに含有されたデータを含む接続要求コマンド受信通知1(LAP_con_ind1)を発行する。二次局のネットワーク層プロトコル制御部512は上位層制御部511に対して接続要求コマンド受信通知1に含有されたデータを含んだ接続要求受信通知2(LM_con_ind2)を発行する。この接続要求受信通知2を受けた二次局の上位層制御部511は一次局との接続を確立するために、一次局との接続に必要なデータを含んだ接続確認コマンド1(LM_con_resp1)を二次局のネットワーク層プロトコル制御部512に対し発行する。
二次局のネットワーク層プロトコル制御部512は、接続確認コマンド1に含有された接続確認コマンド2(LAP_con_rsp2)を二次局のIrLAP層制御部513に対して発行する。二次局のIrLAP層制御部513は接続確認コマンド2に含有されたデータを含んだUAレスポンスを、送信部514を介して、一次局に対して送信する。
このUAレスポンスを受信部515で受信した一次局のIrLAP層制御部513はUAレスポンスに含有されたデータを含んだ接続確認コマンド受信通知1(LAP_con_conf1)を一次局のネットワーク層プロトコル制御部512に対して発行する。一次局のネットワーク層プロトコル制御部512は接続確認コマンド受信通知1を受けて接続確認コマンド受信通知1に含有されたデータを含んだ接続確認コマンド受信通知(LM_con_conf2)を一次局の上位層制御部511に対して発行する。
ここで、従来のIrDAでは、図3のInitiating LSAP Connection endpointより発行されるLAP_Data.reuest1およびResponding LSAP Connection endpointより発行されるLAP_DATA_req2の交換では、上位層が使用する論理チャネルの作成(SLSAP、DLSAPの交換)を行っている。これに対して、本実施の形態では、一次局のネットワーク層プロトコル制御部512は、接続確認コマンド受信通知1(LAP_con_conf1)を受けた時点で、予め決められた固定の値で上記論理チャネルの作成を行う。
この一連の接続シークエンスによれば、一次局と二次局との各局管理(Station control)の経由をスキップして(省いて)、終了することができ、機器間で通信するパケットはSNRMコマンドとUAレスポンスの二つになるので、従来と比べて、通信効率を向上できる。
ここで、それぞれの信号を図1中の表現を用いて式で表すと、
接続要求コマンド1 : LM_con_req1(AAA, Data1)
接続要求コマンド2 : LAP_con_req2(BBB, Data1)
接続要求コマンド受信通知1 : LAP_con_ind1(CCC, Data1)
接続要求コマンド受信通知2 : LM_con_ind2(DDD, Data1)
接続確認コマンド1 : LM_con_rsp1(EEE, Data2)
接続確認コマンド2 : LAP_con_rsp2(FFF, Data2)
接続確認コマンド受信通知1 : LAP_con_conf1(GGG, Data2)
接続確認コマンド受信通知2 : LM_con_conf2(HHH Data2)
となる。
SNRMコマンドとUAレスポンスはLAP層から送信されるパケットフォーマットとして扱われるため式では表されず、本発明の本旨ではないため割愛する。AAA〜HHHはそれぞれの信号に必要なパラメータである。図1に示される右向きの矢印の信号にはData1が左向きの矢印の信号にはData2が含有されることになる。
〔実施の形態2〕
本発明の他の実施の形態について図2、5に基づいて説明すれば、以下のとおりである。
本実施の形態の信号シークエンス図を図2に、またブロック図を図5に示すが、本発明はこれに限るものではない。また、図5に上位層として、OBEXおよびTinyTPとしているが、これに限るものではない。また、図5にネットワーク層プロトコル制御部が単独の層として記述されているが、同等の機能が上位層または下位層に統合され、ネットワーク層プロトコル制御部が単独で存在しなくても構わない。また、図5中の各モジュールは、その機能を実現可能であるならば、ソフトウェアであってもハードウェアであっても構わない。
図2に示すように、切断時においては、まず、一次局の上位層制御部511が切断に必要なデータを含有した切断要求コマンド1(LM_disc_req1)を発行する。その切断要求コマンド1を受けて、一次局のネットワーク層プロトコル制御部512が、一次局のIrLAP層制御部513に対して切断要求コマンド1に含有されたデータを入れた切断要求コマンド2(LAP_disc_req2)を送信する。一次局のIrLAP層制御部513は切断要求コマンド2を受けて、切断要求コマンド2に含有されたデータを入れたDISCコマンドを送信部514を介して、二次局に対して送信する。
このDISCコマンドを受信部515にて受信した二次局のIrLAP層制御部513は、二次局のネットワーク層プロトコル制御部512に対して、DISCコマンドに含有されたデータを含む切断要求コマンド受信通知1(LAP_disc_ind1)を発行する。二次局のネットワークプロトコル制御部512は二次局の上位層制御部511に対して切断要求コマンド受信通知1に含有されたデータを含んだ切断要求受信通知2(LM_disc_ind2)を発行する。
この切断要求受信通知2を受けた二次局の上位層制御部511は一次局との接続を切断するために、一次局との切断に必要なデータを含んだ切断確認コマンド1(LM_disc_resp1)を二次局のネットワークプロトコル制御部512に発行する。
二次局のネットワーク層プロトコル制御部512は、切断確認コマンド1に含有された上記データを含んだ切断確認コマンド2(LAP_disc_rsp2)を二次局のIrLAP層制御部513に対して発行する。二次局のIrLAP層制御部513は、切断確認コマンド2に含有されたデータを含んだUAレスポンスを送信部514を介して、一次局に対して送信する。このUAレスポンスを受信部515で受信した一次局のIrLAP層制御部513は、UAレスポンスに含有されたデータを含んだ切断確認コマンド受信通知1(LAP_disc_conf1)を一次局のネットワーク層プロトコル制御部512に対して発行する。
次に、一次局のネットワーク層プロトコル制御部512は切断確認コマンド受信通知1を受けて切断確認コマンド受信通知1に含有されたデータを含んだ切断確認コマンド受信通知2(LM_disc_conf2)を一次局の上位層制御部511に対して発行する。
この一連の切断シークエンスによれば、一次局と二次局との各局管理(Station control)の経由をスキップして(省いて)、終了することができ、機器間で通信するパケットはDISCコマンドとUAレスポンスの二つになるので、従来と比べて、通信効率を向上できる。
ここで、それぞれの信号を図2中の表現を用いて式で表すと、
切断要求コマンド1 : LM_disc_req1(AAA, Data1)
切断要求コマンド2 : LAP_disc_req2(BBB, Data1)
切断要求コマンド受信通知1 : LAP_disc_ind1(CCC, Data1)
切断要求コマンド受信通知2 : LM_disc_ind2(DDD, Data1)
切断確認コマンド1 : LM_disc_rsp1(EEE, Data2)
切断確認コマンド2 : LAP_disc_rsp2(FFF, Data2)
切断確認コマンド受信通知1 : LAP_disc_conf1(GGG, Data2)
切断確認コマンド受信通知2 : LM_disc_conf2(HHH Data2)
となる。
DISCコマンドとUAレスポンスはLAP層から送信されるパケットフォーマットとして扱われるため式では表されず、本発明の本旨ではないため割愛する。AAA〜HHHはそれぞれの信号に必要なパラメータである。図2に示される右向きの矢印の信号にはData1が左向きの矢印の信号にはData2が含有されることになる。
なお、従来のIrLMP層の切断では、1次局において、上位層の切断処理が終わり、IrLMP層に切断要求コマンドが発行されると、1次局のIrLMP層は、IrLAP層に対して、データ転送要求(データはIrLMP層の切断要求コマンド)を送信する。これを受けた2次局のIrLMP層は、切断要求コマンドを受信した時点で、切断状態となる。このとき、切断応答を送信しない。そして、1次局は、前述のIrLMP層切断要求コマンド送信後、IrLAP層に切断要求コマンドを通知し、IrLAP層での切断処理が行われる。
〔実施の形態3〕
本発明のさらに他の実施の形態について図5、6に基づいて説明すれば、以下のとおりである。
本実施の形態の信号シークエンス図を図6に、またブロック図を図5にそれぞれ示すが、本発明はこれに限るものではない。また、図5に上位層として、OBEXおよびTinyTPとしているが、これに限るものではない。また、図5にネットワーク層プロトコル制御部が単独の層として記述されているが、同等の機能が上位層または下位層に統合され、ネットワーク層プロトコル制御部が単独で存在しなくても構わない。また、図5中の各モジュールは、その機能を実現可能であるならば、ソフトウェアであってもハードウェアであっても構わない。
図6に示すように、まず、一次局の上位層制御部511が接続に必要なデータを含有した接続要求コマンド1(LM_con_req1)を発行する。このとき、通信が片方向転送か双方向転送かの情報も合わせて通知される。なお、本実施の形態では、以下、片方向転送が選択されているものとする。
前記接続要求コマンド1を受けて、一次局のネットワーク層プロトコル制御部512がIrLAP層制御部513に対して、接続要求コマンド1に含有されたデータを入れた接続要求コマンド2(LAP_con_req2)を一次局のIrLAP層制御部513に送信する。このとき、上位層からの片方向通信選択も合わせて通知される。一次局のIrLAP層制御部513は接続要求コマンド2を受けて、接続要求コマンド2に含有されたデータおよび片方向通信選択情報を入れたSNRMコマンドを送信部514を介して、二次局に対して送信する。
一次局のネットワーク層プロトコル制御部512は、LAP層制御部513に接続要求コマンドを発行した時点で、接続処理が完了し、上位層制御部511から、データ転送要求コマンドを受けた場合は、下位層のIrLAP層制御部513にデータ転送要求コマンドを発行することとなる。
一方、前述の片方向通信選択情報を含むSNRMコマンドを受信部515で受信した二次局のIrLAP層制御部513は二次局のネットワーク層プロトコル制御部512に対して、SNRMコマンドに含有されたデータおよび片方向通信選択情報を含む接続要求コマンド受信通知1(LAP_con_ind1)を発行する。二次局のネットワーク層プロトコル制御部512は二次局の上位層制御部511に対して接続要求コマンド受信通知1に含有されたデータおよび片方向通信選択情報を含んだ接続要求受信通知2(LM_con_ind2)を発行する。
この接続要求受信通知2を受けた二次局の上位層制御部511は、この状態で一次局との接続を確立する。二次局のネットワーク層プロトコル制御部512は、上位層制御部511に接続要求コマンド受信通知を発行した時点で接続処理を完了し、下位層のLAP層制御部513からデータ転送要求コマンド受信通知を受けた場合は、上位層制御部511にデータ転送要求コマンド受信通知を発行することとなる。
この一連の接続シークエンスによれば、片方向通信での接続作業を終了することができ、また、機器間で通信するパケットはSNRMコマンドの一つになるので、従来と比べて、通信効率を向上できる。
ここで、それぞれの信号を図6中の表現を用いて、式で表すと、
接続要求コマンド1 : LM_con_req1(AAA, Data1)
接続要求コマンド2 : LAP_con_req2(BBB, Data1)
接続要求コマンド受信通知1 : LAP_con_ind1(CCC, Data1)
接続要求コマンド受信通知2 : LM_con_ind2(DDD, Data1)
となる。
SNRMコマンドはLAP層から送信されるパケットフォーマットとして扱われるため式では表されず、本発明の本旨ではないため割愛する。AAA〜DDDはそれぞれの信号に必要なパラメータである。図6に示される右向きの矢印の信号にはData1が含有されることになる。
〔実施の形態4〕
本発明のさらに他の実施の形態について図5、7に基づいて説明すれば、以下のとおりである。
本実施の形態の信号シークエンス図を図7に、またブロック図を図5に示すが、本発明はこれに限るものではない。また、図5に上位層として、OBEXおよびTinyTPとしているが、これに限るものではない。また、図5にネットワーク層プロトコル制御部が単独の層として記述されているが、同等の機能が上位層または下位層に統合され、ネットワーク層プロトコル制御部が単独で存在しなくても構わない。また、図5中の各モジュールは、その機能を実現可能であるならば、ソフトウェアであってもハードウェアであっても構わない。本実施の形態においては、すでに片方向通信での接続が1次局と2次局との間で確立されているものとする。
図7に示すように、切断時においては、まず、一次局の上位層制御部511により、切断に必要なデータを含有した切断要求コマンド1(LM_disc_req1)が発行される。その切断要求コマンド1を受けて、一次局のネットワーク層プロトコル制御部512が、一次局のIrLAP層制御部513に対して切断要求コマンド1に含有されたデータを入れた切断要求コマンド2(LAP_disc_req2)を発行する。一次局のIrLAP層制御部513は切断要求コマンド2を受けて、切断要求コマンド2に含有されたデータを入れたDISCコマンドを送信部514を介して、二次局に対して送信する。1次局のネットワーク層プロトコル制御部512は、LAP層制御部513に切断要求コマンドを発行した時点で、切断処理を完了する。
一方、前述のDISCコマンドを受信部515にて受信した二次局のIrLAP層制御部513は二次局のネットワーク層プロトコル制御部512に対して、DISCコマンドに含有されたデータを含む切断要求コマンド受信通知1(LAP_disc_ind1)を発行する。二次局のネットワーク層プロトコル制御部512は、二次局の上位層制御部511に対して切断要求コマンド受信通知1に含有されたデータを含んだ切断要求コマンド受信通知2(LM_disc_ind2)を発行する。この切断要求コマンド受信通知2を受けた二次局の上位層制御部511は切断状態となる。また、二次局のネットワーク層プロトコル制御部512は、上位層制御部511に切断要求コマンド受信通知を発行した時点で、切断処理を完了する。
この一連の切断シークエンスによれば、片方向通信時においても、切断作業を、一次局と二次局との各局管理(Station control)の経由をスキップして(省いて)、終了することができ、機器間で通信するパケットはDISCコマンド一つになるので、従来と比べて、通信効率を向上できる。
ここで、それぞれの信号を図7中の表現を用いて式で表すと、
切断要求コマンド1 : LM_disc_req1(AAA, Data1)
切断要求コマンド2 : LAP_disc_req2(BBB, Data1)
切断要求コマンド受信通知1 : LAP_disc_ind1(CCC, Data1)
切断要求コマンド受信通知2 : LM_disc_ind2(DDD, Data1)
となる。
DISCコマンドはLAP層から送信されるパケットフォーマットとして扱われるため式では表されず、本発明の本旨ではないため割愛する。AAA〜DDDはそれぞれの信号に必要なパラメータである。図7に示される右向きの矢印の信号にはData1が含有されることになる。
〔実施の形態5〕
本発明のさらに他の実施の形態について図8に基づいて説明すれば、以下のとおりである。
本実施の形態では、携帯電話間での通信例について説明する。なお、送信機と受信機に携帯電話を用いているが、送信機もしくは受信機のどちらか一方が携帯電話であれば良く、実施の形態1〜4で説明したシークエンスによってデータの送信もしくは受信が可能であるならば、対向機器が携帯電話でなくても構わない。
図8では、赤外線を用いて、携帯電話A内のデータを携帯電話Bに送信している。携帯電話Bでは、携帯電話Aから送信されたデータを受信すると、携帯電話B内メモリもしくは接続された外部メモリ内に受信データを保存する。前述のデータとは、テキストデータ、画像データ、音声データ、電話帳データ、システム情報などであり、特定のフォーマットに限定されるものではない。また、携帯電話A内のデータとは、携帯電話Aの内部メモリ内のデータ、携帯電話に接続されている外部メモリ(SDカードなどの不揮発性メモリ)内のデータのどちらでも良い。
前述の接続シークエンスにより、例えば、双方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータをIrLAP層制御部513に接続要求コマンドとともに渡し、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層へのデータを合わせて上位層制御部511に渡すことができる。一方、受信側(携帯電話B)においては、ネットワーク層プロトコル制御部512において、IrLAP層制御部513からの接続要求コマンド受信通知時には、上位層のデータも合わせて上位層制御部511に渡し、上位層制御部511からの接続確認コマンド通知時は、上位層のデータも合わせてIrLAP層制御部513に渡すことで接続を完了する。
これにより、1つのパケット交換で接続を確立することが可能となり、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
また、片方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータを下位層に接続要求とともに渡し、受信側(携帯電話B)においては、ネットワーク層プロトコル制御部512において、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡すことができる。一方、受信側(携帯電話B)においては、IrLAP層513からの接続要求コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡し、接続を完了する。
これにより、1つのパケット交換で接続を確立することが可能となり、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
以上のように、従来のIrDAでの通信と比べて、対向局に機器を向けていなければならない時間の短縮が可能となることから、ユーザの利便性の向上、またエラー発生の確率を減らすことが期待される。また、片方向通信での赤外線通信によるデータ転送も可能となる。
〔実施の形態6〕
本発明のさらに他の実施の形態について図9に基づいて説明すれば、以下のとおりである。
本実施の形態では、携帯電話と表示装置間での通信例について説明する。なお、送信機として携帯電話を用いているが、実施の形態1〜4で説明したシークエンスによってデータの送信が可能であるならば、送信機器が携帯電話でなくても構わない。また、表示装置が送信側となっても構わない。
図9では、赤外線を用いて、携帯電話A内のデータを表示装置B(TVやモニタなど)に送信している。表示装置Bでは、携帯電話Aから送信されたデータに対して適切な処理を行い、例えば、画像データであった場合は、必要ならば圧縮されたデータを解凍するなどして、表示を行うが、これに限らない。また、前述のデータとは、テキストデータ、画像データ、音声データ、電話帳データ、システム情報などであり、特定のフォーマットに限定されるものではない。また、携帯電話A内のデータとは、携帯電話Aの内部メモリ内のデータ、携帯電話に接続されている外部メモリ(SDカードなどの不揮発性メモリ)内のデータのどちらでも良い。
前述の接続シークエンスにより、例えば、双方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータをIrLAP層制御部513に接続要求コマンドとともに渡し、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡すことができる。一方、受信側(表示装置B)においては、ネットワーク層プロトコル制御部512において、IrLAP層制御部513からの接続要求コマンド受信通知時には、上位層のデータも合わせて上位層制御部511に渡し、上位層制御部511からの接続確認コマンド通知時は、上位層のデータも合わせてIrLAP層制御部513に渡すことで接続を完了する。
これにより、1つのパケット交換で接続を確立することが可能となり、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
また、片方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータを下位層に接続要求とともに渡し、受信側(表示装置B)においては、ネットワーク層プロトコル制御部512において、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡すことができる。一方、受信側(表示装置B)においては、IrLAP層513からの接続要求コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡し、接続を完了する。
これにより、1つのパケット交換で接続を確立することが可能となり、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
以上のように、従来のIrDAでの通信と比べて、対向局に機器を向けていなければならない時間の短縮が可能となることから、ユーザの利便性の向上、またエラー発生の確率を減らすことが期待される。また、片方向通信での赤外線通信によるデータ転送も可能となる。
〔実施の形態7〕
本発明のさらに他の実施の形態について図10に基づいて説明すれば、以下のとおりである。
本実施の形態では、携帯電話と印刷装置間での通信例について説明する。なお、送信機として携帯電話を用いているが、実施の形態1〜4で説明したシークエンスによってデータの送信が可能であるならば、送信機器が携帯電話でなくても構わない。また、印刷装置が送信側となっても構わない。
図10では、赤外線を用いて、携帯電話A内のデータを印刷装置Bに送信している。印刷装置Bでは、携帯電話Aから送信されたデータに対して適切な処理を行い、例えば、画像データであった場合は、必要ならば圧縮されたデータを解凍するなどして、印刷を行うが、これに限らない。また、前述のデータとは、テキストデータ、画像データ、電話帳データ、システム情報などであり、特定のフォーマットに限定されるものではない。また、携帯電話A内のデータとは、携帯電話Aの内部メモリ内のデータ、携帯電話に接続されている外部メモリ(SDカードなどの不揮発性メモリ)内のデータのどちらでも良い。
前述の接続シークエンスにより、例えば、双方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータをIrLAP層制御部513に接続要求コマンドとともに渡し、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡すことがでる。一方、受信側(印刷装置B)においては、ネットワーク層プロトコル制御部512において、IrLAP層制御部513からの接続要求コマンド受信通知時には、上位層のデータも合わせて上位層制御部511に渡し、上位層からの接続確認コマンド通知時は、上位層のデータも合わせてIrLAP層制御部513に渡すことで接続を完了する。
これにより、1つのパケット交換で接続を確立することが可能となり、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
また、片方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータを下位層に接続要求とともに渡し、受信側(印刷装置B)においては、ネットワーク層プロトコル制御部512において、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡すことができる。一方、受信側(印刷装置B)においては、IrLAP層制御部513からの接続要求コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡し、接続を完了する。
これにより、1つのパケット交換で接続を確立することが可能となり、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
以上のように、従来のIrDAでの通信と比べて、対向局に機器を向けていなければならない時間の短縮が可能となることから、ユーザの利便性の向上、またエラー発生の確率を減らすことが期待される。また、片方向通信での赤外線通信によるデータ転送も可能となる。
〔実施の形態8〕
本発明のさらに他の実施の形態について図11に基づいて説明すれば、以下のとおりである。
本実施の形態では、携帯電話と記録装置間での通信例について説明する。なお、送信機として携帯電話を用いているが、実施の形態1〜4で説明したシークエンスによってデータの送信が可能であるならば、送信機器が携帯電話でなくても構わない。また、記録装置が送信側となっても構わない。
図11では、赤外線を用いて、携帯電話A内のデータを記録装置Bに送信している。記録装置Bでは、携帯電話Aから送信されたデータに対して適切な処理を行い、例えば、画像データであった場合は、記録装置内メモリまたは記録装置に接続された外部メモリに記録を行う。記録装置内メモリとは、SDRAMなどの揮発性メモリでも、フラッシュメモリなどの不揮発性メモリ、記録可能なDVD、HDDドライブなど、一時的または半永久的に記録できる媒体であれば何でも良い。また、前述のデータとは、テキストデータ、画像データ、音声データ、電話帳データ、システム情報などであり、特定のフォーマットに限定されるものではない。また、携帯電話A内のデータとは、携帯電話Aの内部メモリ内のデータ、携帯電話に接続されている外部メモリ(SDカードなどの不揮発性メモリ)内のデータのどちらでも良い。
前述の接続シークエンスにより、例えば、双方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータをIrLAP層制御部513に接続要求コマンドとともに渡し、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡すことができる。一方、受信側(記録装置B)においては、ネットワーク層プロトコル制御部512において、IrLAP層513からの接続要求コマンド受信通知時には、上位層のデータも合わせて上位層制御部511に渡し、上位層制御部511からの接続確認コマンド通知時は、上位層のデータも合わせてIrLAP層制御部513に渡すことで接続を完了する。
これにより、1つのパケット交換で接続を確立することが可能となり、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
また、片方向通信時には、送信側(携帯電話A)においては、ネットワーク層プロトコル制御部512において、上位層のデータを下位層に接続要求とともに渡し、受信側(記録装置B)においては、ネットワーク層プロトコル制御部512において、IrLAP層制御部513からの接続確認コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡すことができる。一方、受信側(記録装置B)においては、IrLAP層制御部513からの接続要求コマンド受信通知時には、上位層のデータを合わせて上位層制御部511に渡し、接続を完了することで、1つのパケット交換で接続を確立することが可能となる。
これにより、従来のIrDAでの複数のパケットによる接続方法と比較して、より短い時間での接続を完了することが可能となる。
以上のように、従来のIrDAでの通信と比べて、対向局に機器を向けていなければならない時間の短縮が可能となることから、ユーザの利便性の向上、またエラー発生の確率を減らすことが期待される。
〔実施の形態9〕
本発明のさらに他の実施の形態について図13から図35に基づいて説明すれば、以下のとおりである。なお、本実施の形態で説明する通信プロトコルは、実施の形態1〜8に適用されるものである。よって、実施の形態1〜8において定義した用語については、特に断らない限り本実施の形態においてもその定義に則って用いるものとする。
(1)通信層
図13は、OSI7階層モデルと、IrDAの階層および本発明に係る通信システムの階層の対応関係を示す模式図である。
本実施の形態に係る通信システムの各通信層も、上記OSI7層モデルの対応する階層と同等の機能を有する。ただし、図13に示すように、上記通信システムは、セッション層とプレゼンテーション層とを1つにした、6階層の構造となっている。
本実施の形態では、説明の便宜上、本発明の一適用例であるIrSimpleに基づいて説明する。しかし、本発明はIrSimpleに限定されるものではない。なお、IrSimpleとは、従来のIrDAの一部機能を改良したものである。
本実施の形態では、IrSimpleに則って、データリンク層、ネットワーク層、トランスポート層、セッション層+プレゼンテーション層を、それぞれ、LAP、LAMP、SMP、OBEXと表記することがある。また、通信層を送信機、受信機で区別する場合に、送信機(一次局)に“P”、受信機(二次局)に“S”と付記する。例えば、“LAP(P)”とは、送信機のデータリンク層を意味する。
(2)送信機−受信機間のシーケンス
(2−1)接続シーケンス
〔A〕レスポンス有り
図14(a)は、本実施の形態(レスポンス有り)の接続シーケンスを示すシーケンス図である。また、図14(c)は、本実施の形態(レスポンス有り)の接続シーケンスの際の通信データのデータ構造を示す説明図である。
本実施の形態(レスポンス有り)では、SNRMのDestination Device Addressにグローバルアドレスを使用することにより、サーチと同様の機能をSNRMコマンドに持たせることができる(図14(c)のSNRM command)。
また、本実施の形態(レスポンス有り)では、データリンク層の接続パケットであるSNRMコマンドおよびUAレスポンスの中に、ネットワーク層、トランスポート層、セション層、プレゼンテーション層等の上位層の接続に必要なパラメータおよびコマンドを挿入する。これにより、従来のIrDAでは必要であった上位層それぞれを接続するための接続パケットを1つのパケットに凝縮することができる。
それゆえ、従来、複数のパケットが必要であった、サーチと接続シーケンスを1つのパケット対で行うことができる。
〔B〕レスポンス無し
図14(b)は、本実施の形態(レスポンス無し)の接続シーケンスを示すシーケンス図である。また、図14(c)は、本実施の形態(レスポンス無し)の接続シーケンスの際の通信データのデータ構造を示す説明図である。なお、本実施の形態(レスポンス無し)では、UAレスポンス(図14(c)のUA response for SNRM)は不要である。
ユーザまたはアプリケーションおよびデータ種類によっては、受信機からのレスポンスを省略した通信方式を選択できる。この場合、図14(b)に示すように、SNRMコマンドのみでサーチおよび接続が終了したものとできる。
このように、本実施の形態の接続シーケンスは、複数の通信層の接続リクエストをまとめることにより、接続に要する時間を短縮するものであるため、通信路が切断した場合でも再接続が容易である。よって、通信路が切断しやすい、例えば赤外線による無線通信に特に適している。ただし、IEEE802.11無線、Bluetoothを含む他の無線通信、および、有線通信においても効果的である。
また、本実施の形態では、すべての通信層の接続を1回の通信で接続する例について説明するが、本発明はこれに限定されない。例えば、1つの通信層を接続した後、残りの複数の通信層を接続するようにしてもよい。また、1つの通信層の接続が複数回の通信によって行われてもよい。例えば、ネットワーク層の接続が2回の通信を要する場合、データリンク層の接続とネットワーク層の1回目の接続とを1つの接続リクエストにまとめ、ネットワーク層の2回目の接続とトランスポート層の接続とを1つの接続リクエストにまとめてもよい。
(2−2)データ交換シーケンス
〔A〕レスポンス有り
図15(a)(b)は、本実施の形態(レスポンス有り)のデータ交換シーケンスを示すシーケンス図である。また、図15(a)は、本実施の形態(レスポンス有り)のデータ交換シーケンスの際の通信データのデータ構造を示す説明図である。
本実施の形態(レスポンス有り)では、1つのデータ間毎の下位層及び上位層のレスポンスを極力減らし、多くのデータを送信した後にエラーがあったか無かったかを返信する。
送信機は、データ通信時に、シーケンシャルなパケット番号および受信データに問題がなかったかを問うためのフラグと、上記データをパケットのサイズに合わせて分割した分割データで構築されたパケットを用いる。
図15(a)に示すように、送信機は、所定数のパケット数を送信した後に上記フラグをオンにしたパケットの送信を行う。これに対し、受信機は、以前のデータの始めから、もしくは上記フラグがオンであったパケットを受信し、返信を行ってから、エラーを検出しなかった場合は、正常に受信した旨を送信機に通知する。また、受信機は、以前のデータの始めから、もしくは上記フラグがオンであったパケットを受信し、返信を行ってから、エラーを検出した場合は、受信することができなかったパケット以降の上記分割データ部分を無視し、上記フラグのみを確認し、上記フラグがオンであった場合に、エラーにより受信できなかったパケット番号を送信機へ通知する。
さらに、送信機は、正常に受信した旨を受信機から受けた場合、次のパケットから送信を行う。また、送信機は、エラーがあったという通知を受けた場合、受信できなかったパケット番号から、上記フラグをオンにしたパケットまでを再送信する。
これにより、パケット間を詰めることができ、効率のよい通信が可能となる。
図15(a)に示すように、本実施の形態(レスポンス有り)では、UIフレーム(図16(b))を使用する。このため、データリンク層(LAP層)ではパケットの抜けが認識できず、トランスポート層で検出する。
UIフレームのトランスポート層のデータ部分にシーケンシャルナンバーとデータ確認用フラグ、データの最後のパケットかどうか、受信したデータが正常であったかを示すフラグを設け、それらのフラグによってデータの送信を行う。
〔B〕レスポンス無し
図17(a)(b)は、本実施の形態(レスポンス無し)のデータ交換シーケンスを示すシーケンス図である。また、図17(b)は、本実施の形態(レスポンス無し)のデータ交換シーケンスの際の通信データのデータ構造を示す説明図である。
本実施の形態(レスポンス無し)では、受信機のレスポンスを必要としない場合、データの完全性のみを確認する。そのため、送信機はパケットにシーケンスナンバーを振り、全てのデータを連続で送信する。
そして、受信機は、エラーがあったかどうかを確認するのみであり、正常に受信した場合には全てのデータを受けた後、受信機内で正常受信であることを認識し、次の動作を行う。この場合の次の動作とは、例えば受信したデータを表示したり、印刷したり、保存したりすることである。一方、エラーを検出した場合、受信機内で正常受信できなかったことを認識し、次の動作を行う。この場合の次の動作とは、失敗したことをユーザーに知らせるためのインジケートや、次の受信待ち状態になることである。
なお、本実施の形態(レスポンス無し)でも、図17(b)に示すUIフレーム(図16(b))を使用する。
(2−3)切断シーケンス
〔A〕レスポンス有り
図18(a)は、本実施の形態(レスポンス有り)の切断シーケンスを示すシーケンス図である。また、図18(c)は、本実施の形態(レスポンス有り)の切断シーケンスの際の通信データのデータ構造を示す説明図である。
図18(c)に示すように、本実施の形態(レスポンス有り)では、ネットワーク層、トランスポート層、セション層、プレゼンテーション層等の上位層の切断に必要なパラメータおよびコマンドを、DISCコマンドおよびUAレスポンスの中に挿入した。
これにより、従来、複数のパケットが必要であった、切断シーケンスを1つのパケット対で行うことができる。
〔B〕レスポンス無し
図18(b)は、本実施の形態(レスポンス無し)の切断シーケンスを示すシーケンス図である。また、図18(c)は、本実施の形態(レスポンス有り)の切断シーケンスの際の通信データのデータ構造を示す説明図である。なお、本実施の形態(レスポンス無し)では、UAレスポンス(図18(c)のUA response)は不要である。
図18(b)に示すように、本実施の形態(レスポンス無し)では、受信機のレスポンスを必要としないとして接続した場合、DISCコマンドのみでサーチおよび切断が終了したものとできる。
(3)送信機、受信機内のシーケンス
図19〜図35では、説明の便宜上、データリンク層をLAP、ネットワーク層をLAMP、トランスポート層をTTPまたはSMP、セッション層およびプレゼンテーション層をOBEXと表記する。また、通信層を送信機と受信機とで区別するために、送信機に“P”、受信機に“S”と付記する。例えば、“LAP(P)”とは、送信機のデータリンク層を意味する。
(3−1)接続シーケンス
〔A〕レスポンス有り
図19は、本実施の形態(レスポンス有り)の接続シーケンスを示すシーケンス図である。また、図20(a)、図20(b)は、本実施の形態(レスポンス有り)の接続シーケンスの際の通信データのデータ構造を示す説明図である。
図19に示すように、本実施の形態(レスポンス有り)では、送信機、受信機とも、接続準備を行う。その後、送信機は、上位層のリクエストをそのまま下位層に渡していき、1つのパケット(SNRM)として送信する。一方、受信機は、SNRMパケットを受けて、そのまま上位層へ接続できた旨の通知を行った後、OBEX(S)のレスポンスをそのまま下位層に渡していき、1つのパケット(UA)として送信する。送信機は、UAを受けたことで接続完了とし、上位層に通知(Connect.confirm)を上げていく。
このときの、送信機、受信機内のシーケンスは以下のとおりである。
まず、送信機の各通信層について説明する。
OBEX(P)は、アプリケーションからの接続要求が来た場合に、速やかに下位層(SMP(P))に対して接続要求コマンドをデータに入れて接続要求関数(Primitive)を発生する。また、OBEX(P)は、SMP(P)から接続確認関数を受けた場合に、そのデータの中からOBEX接続のレスポンスを確認し、問題ない(Success)というレスポンスであれば、接続完了とする。
SMP(P)は、OBEX(P)からの接続要求関数を受けて、速やかにOBEX(P)の接続要求関数のデータに、受信機のSMP(S)との通信に必要なパラメータを付加して、下位層(LMP(P))に対して接続要求関数を発生する。また、SMP(P)は、LMP(P)から接続確認関数を受けた場合、関数のデータから受信機のSMP(S)が生成したパラメータを抜き取り、値を確認して、SMP(S)とのネゴシエーションを終了する。また、SMP(P)は、接続確認関数のデータからSMP(S)のパラメータを取り除いたデータをOBEX(P)に対して接続確認関数として送信する。
LMP(P)は、SMP(P)からの接続要求関数を受けて、速やかにSMP(P)の接続要求関数のデータに、受信機のLMP(S)との通信に必要なパラメータを付加して、下位層(LAP(P))に対して接続要求関数を発生する。また、LMP(P)は、LAP(P)から接続確認関数を受けた場合、関数のデータから受信機のLMP(S)が生成したパラメータを抜き取り、値を確認して、LMP(S)とのネゴシエーションを終了する。また、LMP(P)は、接続確認関数のデータからLMP(S)のパラメータを取り除いたデータを、SMP(P)に対して接続確認関数として送信する。
なお、通常は論理ポートを管理するためにLSAP(Link Service Access Point)が定義される。そして、1対1で1つの接続をする場合にはLMPを使用する必要がない。この場合、LSAPにコネクションレスの値を固定値として使用する。このため、LMPの接続パラメータ交換は不要となっている。
LAP(P)は、LMP(P)からの接続要求関数を受けて、速やかにLMP(P)の接続要求関数のデータに、受信機のLAP(S)との通信に必要なパラメータを付加して、受信機の物理層に対してSNRMコマンドを出力する。また、LAP(P)は、受信機の物理層からUAレスポンスを受けた場合、UAレスポンスのデータから受信機のLAP(S)が生成したパラメータを抜き取り、値を確認して、LAP(S)とのネゴシエーションを終了する。また、LAP(P)は、UAレスポンスのデータからLAP(S)のパラメータを取り除いたデータを、LMP(P)に対して接続確認関数として送信する。
つづいて、受信機の各通信層について説明する。
OBEX(S)は、アプリケーションから接続要求関数を受けて、受信待機状態になる。また、OBEX(S)は、下位層(SMP(S))から接続通知関数(Indication)を受けた場合に、そのデータの中からOBEX接続コマンドを確認し、問題が無ければSuccessというレスポンスを接続返答関数(Response)としてSMP(S)に対して出力し、接続完了とする。
SMP(S)は、OBEX(S)からの接続要求関数を受けて、受信待機状態になる。また、SMP(S)は、下位層(SMP(S))から接続通知関数を受けた場合に、関数のデータから送信機のSMP(P)が生成したパラメータを抜き取り、それに対しての返答のパラメータを作成し、上記関数のデータからSMP(P)のパラメータを除いたデータを入れた接続要求関数をOBEX(S)に発した後、OBEX(S)からの接続返答関数を待つ。また、SMP(S)は、OBEX(S)からの接続返答関数を受けた場合に、LMP(S)に対してOBEX(S)の接続返答関数のデータに上記返答のパラメータを付加して、LMP(S)に対して接続返答関数を発生し、SMP層のネゴシエーションを終了する。
LMP(S)は、SMP(S)からの接続要求関数を受けて、受信待機状態になる。また、LMP(S)は、下位層(LAP(S))から接続通知関数を受けた場合に、関数のデータから送信機のLMP(P)が生成したパラメータを抜き取り、それに対しての返答のパラメータを作成し、上記関数のデータからLMP(P)のパラメータを除いたデータを入れた接続要求関数をSMP(S)に発した後、SMP(S)からの接続返答関数を待つ。また、LMP(S)は、SMP(S)からの接続返答関数を受けた場合に、LAP(S)に対してSMP(S)の接続返答関数のデータに上記返答のパラメータを付加して、LAP(S)に対して接続返答関数を発生し、LMP層のネゴシエーションを終了する。
なお、通常は論理ポートを管理するためにLSAP(Link Service Access Point)が定義される。そして、1対1で1つの接続をする場合にはLMPを使用する必要がない。この場合、LSAPにコネクションレスの値を固定値として使用する。このため、LMPの接続パラメータ交換は不要となっている。
LAP(S)は、LMP(S)からの接続要求関数を受けて、受信待機状態になる。また、LAP(S)は、物理層からSNRMコマンドを受けた場合に、SNRMコマンドのデータから送信機のLAP(P)が生成したパラメータを抜き取り、SNRMコマンドのデータからLAP(P)のパラメータを除いたデータを入れた接続要求関数をLMP(S)に発した後、それに対しての返答のパラメータを作成し、LMP(S)からの接続返答関数を待つ。また、LAP(S)は、LMP(S)からの接続返答関数を受けた場合に、LMP(S)の接続返答関数のデータに上記返答のパラメータを付加して、物理層に対してUAレスポンスを出力し、LAP層のネゴシエーションを終了する。
〔B〕レスポンス無し
図21は、本実施の形態(レスポンス無し)の接続シーケンスを示すシーケンス図である。また、図20(a)は、本実施の形態(レスポンス無し)の接続シーケンスの際の通信データのデータ構造を示す説明図である。
図21に示すように、本実施の形態(レスポンス無し)では、送信機、受信機とも、接続準備を行う。その後、送信機は、上位層のリクエストをそのまま下位層に渡していき、1つのパケット(SNRM)として送信する。そして、送信機は、SNRMパケットを送信した時点で接続完了として、LAP(P)から上位層に通知(Connect.confirm)を上げていく。一方、受信機は、SNRMパケットを受けて、そのまま上位層へ接続できた旨の通知を行い、OBEX(S)に通知した時点で接続完了とする。
このときの、送信機、受信機内のシーケンスは以下のとおりである。
まず、送信機の各通信層について説明する。
OBEX(P)は、アプリケーションからの接続要求が来た場合に、速やかに下位層(SMP(P))に対して接続要求コマンドをデータに入れて接続要求関数(Primitive)を発生する。また、OBEX(P)は、SMP(P)から接続確認関数を受けた場合に、接続完了とする。
SMP(P)は、OBEX(P)からの接続要求関数を受けて、速やかにOBEX(P)の接続要求関数のデータに、受信機のSMP(S)との通信に必要なパラメータを付加して、下位層(LMP(P))に対して接続要求関数を発生する。また、SMP(P)は、LMP(P)から接続確認関数を受けた時点で、送信したパラメータでネゴシエーションができたとして、SMP層のネゴシエーションを終了する。また、この時、SMP(P)は、OBEX(P)に対して接続確認関数を送信する。
LMP(P)は、SMP(P)からの接続要求関数を受けて、速やかにSMP(P)の接続要求関数のデータに、受信機のLMP(S)との通信に必要なパラメータを付加して、下位層(LAP(P))に対して接続要求関数を発生する。また、LMP(P)は、LAP(P)から接続確認関数を受けた時点で、送信したパラメータでネゴシエーションができたとして、LMP層のネゴシエーションを終了する。また、この時、LMP(P)は、SMP(P)に対して接続確認関数を送信する。
なお、通常は論理ポートを管理するためにLSAP(Link Service Access Point)が定義される。そして、1対1で1つの接続をする場合にはLMPを使用する必要がない。この場合、LSAPにコネクションレスの値を固定値として使用する。このため、LMPの接続パラメータ交換は不要となっている。
LAP(P)は、LMP(P)からの接続要求関数を受けて、速やかにLMP(P)の接続要求関数のデータに、受信機のLAP(S)との通信に必要なパラメータを付加して、受信機の物理層に対してSNRMコマンドを出力する。また、LAP(P)は、SNRMコマンドを出力した時点で、送信したパラメータでネゴシエーションができたとして、LAP層のネゴシエーションを終了する。また、この時、LAP(P)は、LMP(P)に対して接続確認関数を送信する。
つづいて、受信機の各通信層について説明する。
OBEX(S)は、アプリケーションから接続要求関数を受けて、受信待機状態になる。また、OBEX(S)は、下位層(SMP(S))から接続通知関数(Indication)を受けた場合に、そのデータの中からOBEX接続コマンドを確認し、問題が無ければ、接続完了とする。
SMP(S)は、OBEX(S)からの接続要求関数を受けて、受信待機状態になる。また、SMP(S)は、下位層(SMP(S))から接続通知関数を受けた場合に、関数のデータから送信機のSMP(P)が生成したパラメータを抜き取り、そのパラメータを使用してネゴシエーションを完了させる。そして、SMP(S)は、上記関数のデータからSMP(P)のパラメータを除いたデータを入れた接続要求関数をOBEX(S)に発する。
LMP(S)は、SMP(S)からの接続要求関数を受けて、受信待機状態になる。また、LMP(S)は、下位層(LAP(S))から接続通知関数を受けた場合に、関数のデータから送信機のLMP(P)が生成したパラメータを抜き取り、そのパラメータを使用してネゴシエーションを完了させる。そして、LMP(S)は、上記関数のデータからLMP(P)のパラメータを除いたデータを入れた接続要求関数をSMP(S)に発する。
なお、通常は論理ポートを管理するためにLSAP(Link Service Access Point)が定義される。そして、1対1で1つの接続をする場合にはLMPを使用する必要がない。この場合、LSAPにコネクションレスの値を固定値として使用する。このため、LMPの接続パラメータ交換は不要となっている。
LAP(S)は、LMP(S)からの接続要求関数を受けて、受信待機状態になる。また、LAP(S)は、物理層からSNRMコマンドを受けた場合に、SNRMコマンドのデータから送信機のLAP(P)が生成したパラメータを抜き取り、そのパラメータを使用してネゴシエーションを完了させる。そして、LAP(S)は、上記関数のデータからLAP(P)のパラメータを除いたデータを入れた接続要求関数をLMP(S)に発する。
(3−2)データ交換シーケンス
〔A〕レスポンス有り
図22は、本実施の形態(レスポンス有り)のデータ交換シーケンスを示すシーケンス図である。また、図23は、本実施の形態(レスポンス有り)のデータ交換シーケンスの際の通信データのデータ構造を示す説明図である。
図22に示すように、本実施の形態(レスポンス有り)では、送信機が、PUTコマンドを発生し、それが下位層まで伝わり、UIフレーム(図16(b))として出力される。
一方、受信機は、データを受け取り、上位層へ通知を上げていく。このとき、SMP(S)では、上位層のOBEX(S)に対して、データが続くことを通知する(status=truncated)。
送信機は、ある一定数のパケットを送信した後に、データがきちんと届いているかどうかを確認するフラグをONにして送信する。これを受けて、受信機では、SMP(S)が、エラーがあったかなかったか、あった場合にはエラーが発生した番号を送信機に通知する。
送信機は、エラーが無ければ次のパケット群を出力し、エラーがあればエラーがあったパケット以降のパケットを再送信する。
送信機は、データの最後になったときに、データの最後であることを示すフラグをONにして送信する。これに対して、受信機は、SMP(S)が、このフラグがONであれば、OBEX(S)にデータがそろったことを通知し(status=OK)、OBEX(S)のレスポンスを待つ。そして、OBEX(S)のレスポンスが発生したとき、そのデータを下位層へ伝えていき、UIフレームとして出力する。
送信機は、受けたレスポンスがSuccessであれば、正常終了する。
このときの、送信機、受信機内のシーケンスは以下のとおりである。
送信機では、OBEX(P)が下位層に対してPUTコマンドをデータ送信関数として出力する。ただし、OBEX(P)は、PUT Final(最後のPUT)コマンド以外のPUTコマンドのレスポンス(正常の場合はContinueが返る)を必要とせずにSMP(P)で送信可能である場合には、次のコマンドを出力していく。PUT FinalコマンドもしくはPUTコマンド以外のコマンドの場合には、下位層からのデータ通知関数を待ち、そのデータ内のレスポンスをみてコマンドを終了する。
ここで、データ送信関数とは、下位層に対してデータ送信を要求する関数(Data Request)である。また、データ通知関数とは、下位層からデータを受信したことを知らせる関数(Data Indicate)である。
受信機では、OBEX(S)が下位層からデータ通知関数を受けて、データを受ける。ただし、OBEX(S)は、PUT Finalコマンド以外のPUTコマンドに対しては、レスポンスを返さず、PUT FinalコマンドもしくはPUTコマンド以外のコマンドの場合はデータ送信関数としてレスポンスを返す。
ここで、送信機、受信機に共通する、上位層と下位層のデータ送信関数およびデータ通知関数でのヘッダ等について説明する。
SMPは、OBEXからデータ送信関数を受けると、LMPに対して、(a)LMPで送信可能なサイズがデータ送信関数内のデータのサイズよりも小さいときには、該データをLMPが送信可能なサイズに分割し、(b)LMPで送信可能なサイズがデータ送信関数内のデータのサイズよりも大きいときには、いくつかのデータを結合して、送信可能なサイズ以下の、より大きなデータを作成する。また、SMPは、シーケンシャルな番号、相手機器にデータ受信状態を問い合わせる引数、データの最後を示す引数、相手機器のSMPがOBEXのレスポンスが必要であることを示す引数、受信したデータが正常であったかどうかを示す引数などを入れたSMPヘッダを作成する。そして、このSMPヘッダを、上記分割または結合したデータに付加したデータを入れたデータ送信関数をLMPに対して発する。
さらに、SMPは、LMPからデータ通知関数を受けると、該関数内のデータからSMPヘッダを抜き出し、シーケンス番号が正常であるか(すなわち、抜けなく順番に来ているか)を確認する。そして、正常であった場合には、OBEXへデータ通知関数を発する。このとき、データ通知関数は、下位層からのデータ通知関数ごとに出力してもよいし、いくつかの下位層からのデータ通知関数のデータをあわせて出力してもよい。
送信機のSMP(P)は、OBEX(P)からのデータ送信関数をLMP(P)へのデータ送信関数に変換して、規定しているある一定数のデータ量のデータ送信関数を発する。その後、SMP(P)は、受信機にデータ受信状態を問い合わせる引数をTrueにしてデータ送信関数を発して、LMP(P)のデータ通知関数を待つ。
SMP(P)は、LMP(S)からのデータ通知関数内のSMPヘッダを解析し、受信したデータが正常であったかどうかを示す引数が正常に受信していたことを示していた場合、次のデータを送信する準備ができたとして、OBEX(P)に対して送信可能であるステートになる。すなわち、この状態でOBEX(P)からのデータを受け付けることができる。
これに対して、SMP(P)は、LMP(S)からの受け取ったデータ通知関数のSMPヘッダを解析して受信したデータが正常であったかどうかを示す引数が正常に受信していなかったことを示していた場合、正常に受信できなかったと通知されたデータ送信関数から相手機器にデータ受信状態を問い合わせる引数をTrueにしたデータ送信関数までを再度発生する。SMP(P)は、全てのデータ送信関数によるデータが受信機に通知されるまで、もしくはある規定回数再発生を繰り返す。
さらに、SMP(P)は、OBEX(P)からデータの最後であるとした引数がTrueであるデータ送信関数を受けた場合、そのデータ送信関数の最後のデータを入れた、LMP(P)へのデータ送信関数を、このデータ送信関数がデータの最後であることを示す引数、または、受信機のOBEX(S)のレスポンスが必要であることを示す引数をTrueにして発する。
これに対して、受信機のSMP(S)は、LMP(S)からデータ通知関数を受けた際に、データの最後または受信機のOBEX(S)のレスポンスが必要であることを示す引数がTrueであった場合に、OBEX(S)へSMP(S)のヘッダを外したデータを入れたデータ通知関数を発する。
また、SMP(S)は、データ通知関数をLMP(S)から受けた場合に、そのデータ通知関数内のデータからSMPヘッダを解析し、シーケンシャルな番号を確認する。SMP(S)は、受信機にデータ受信状態を問い合わせる引数がTrueであるヘッダを受けるまで正常に受信できていれば、受信したデータが正常であったかどうかを示す引数を正常に受信できたことを示すものにしてSMPヘッダを作成し、それをデータとしてLMP(S)に対してデータ送信関数を発する。
一方、SMP(S)は、正常に受信できなかったことを検出した場合には、正常に受信できなかったと予測されるSMPヘッダの番号を記憶する。例えば、0,1,2,3,5と受けたとき、5個目は4となるべきなのに4を受けなかった場合には、正常に受信できなかったと予測される番号は4となる。そして、それ以降、SMP(S)は、SMPヘッダの受信機にデータ受信状態を問い合わせる引数がTrueであるかどうかのみを調べて、OBEX(S)へのデータ通知関数の出力を停止する。
SMP(S)は、受信機にデータ受信状態を問い合わせる引数がTrueであるデータ通知関数を受けた場合に、受信したデータが正常であったかどうかを示す引数を正常に受信できなかったことを示すものにし、正常に受信できなかったSMPヘッダの番号をシーケンシャル番号を入れるフィールドに挿入したSMPヘッダを作成して、それをデータとしてLMP(S)に向けてデータ送信関数を発する。
また、SMP(S)は、データの最後であることを示す引数、または受信機のOBEX(S)のレスポンスが必要であることを示す引数がTrueであったデータ通知関数を受けた場合、OBEX(S)へデータ通知関数を出力した後、OBEX(S)からのデータ送信要求を待つ。
SMP(S)は、OBEX(S)からのデータ送信要求を受けた場合には、受信したデータが正常であったかどうかを示す引数に正常に受信できたとするSMPヘッダを作成し、それをOBEX(S)のデータ送信要求のデータに付加して、LMP(S)に対してデータ送信関数を発する。なお、エラーがあった場合には、OBEX(S)への通知は止まるため、待つときは正常であったときのみとなる。
つぎに、LMPは上位層からデータ送信要求関数を受けたときには、その関数内のデータにLMPヘッダをつけてデータを作成し、LAPにそのデータが入ったデータ送信要求関数を発する。また、LMPは、LAPからデータ通知関数を受けた場合には、その関数内のデータからLMPヘッダを除いたデータを作成し、SMPにそのデータが入ったデータ通知関数を発する。
なお、1対1で1つの接続をする場合にはLMPを使用する必要がない。この場合、LMPヘッダにはコネクションレスの値が入ったLSAPが入る。
LAPは、LMPからデータ送信要求関数を受けたとき、その関数内のデータにLAPヘッダをつけてデータを作成し、物理層にそのデータがはいったUIフレームを発する。また、LAPは、物理層からデータ受信通知を受けた場合には、そのUIフレームのデータからLAPヘッダを除いたデータを作成し、LMPにそのデータが入ったデータ通知関数を発する。なお、本実施の形態では、LAPヘッダには、接続アドレスとUIインジケータが含まれる。
〔B〕レスポンス無し
図24は、本実施の形態(レスポンス無し)のデータ交換シーケンスを示すシーケンス図である。また、図23は、本実施の形態(レスポンス無し)のデータ交換シーケンスの際の通信データのデータ構造を示す説明図である。
図24に示すように、本実施の形態(レスポンス無し)では、送信機が、PUTコマンドを発生し、それが下位層まで伝わり、UIフレームとして出力される。
一方、受信機は、データを受け取り、上位層へ通知を上げていく。このとき、SMP(S)では、上位層のOBEX(S)に対して、データが続くことを通知する(status=truncated)。
そして、送信機は、データの最後になったときに、データの最後であることを示すフラグをONにして送信する。これに対して、受信機は、SMP(S)が、このフラグがONであれば、OBEX(S)にデータがそろったことを通知して(status=OK)、データ交換シーケンスを終了する。
このときの、送信機、受信機内のシーケンスは以下のとおりである。
送信機では、OBEX(P)が下位層に対してPUTコマンドをデータ送信関数として出力する。ただし、OBEX(P)は、すべてのコマンドに対するレスポンスを必要とせずに、コマンドを終了することができる。そして、OBEX(P)は、SMP(P)で送信可能である場合に、次のコマンドを出力していく。
受信機では、OBEX(S)が下位層からデータ通知関数を受けて、すべてのコマンドに対してレスポンスを返さずに、データのみを受け取る。
ここで、送信機、受信機に共通する、上位層と下位層のデータ送信関数およびデータ通知関数でのヘッダ等について説明する。
SMPは、OBEXからデータ送信関数を受けると、LMPに対して、(a)LMPで送信可能なサイズがデータ送信関数内のデータのサイズよりも小さいときには、該データをLMPが送信可能なサイズに分割し、(b)LMPで送信可能なサイズがデータ送信関数内のデータのサイズよりも大きいときには、いくつかのデータを結合して、送信可能なサイズ以下の、より大きなデータを作成する。また、SMPは、シーケンシャルな番号、相手機器にデータ受信状態を問い合わせる引数、データの最後を示す引数、相手機器のSMPがOBEXのレスポンスが必要であることを示す引数、受信したデータが正常であったかどうかを示す引数などを入れたSMPヘッダを作成する。そして、このSMPヘッダを、上記分割または結合したデータに付加したデータを入れたデータ送信関数をLMPに対して発する。
さらに、SMPは、LMPからデータ通知関数を受けると、該関数内のデータからSMPヘッダを抜き出し、シーケンス番号が正常であるか(すなわち、抜けなく順番に来ているか)を確認する。そして、正常であった場合には、OBEXへデータ通知関数を発する。このとき、データ通知関数は、下位層からのデータ通知関数ごとに出力してもよいし、いくつかの下位層からのデータ通知関数のデータをあわせて出力してもよい。
送信機のSMP(P)は、OBEX(P)からのデータ送信関数をLMP(P)へのデータ送信関数に変換する。そして、OBEX(P)からデータの最後であるとした引数がFalseであるデータ送信関数を受けた場合には、そのデータにSMPヘッダを付けたデータを、LMP(P)へ発する。これに対して、SMP(P)は、OBEX(P)からデータの最後であるとした引数がTrueであるデータ送信関数を受けた場合には、そのデータ送信関数の最後のデータを入れた、LMP(P)へのデータ送信関数を、このデータ送信関数がデータの最後であることを示す引数、または、受信機のOBEX(S)のレスポンスが必要であることを示す引数をTrueにして発する。
一方、受信機のSMP(S)は、データ通知関数を下位層から受けた場合に、そのデータ通知関数内のデータからSMPヘッダを解析し、シーケンシャルな番号を確認する。そして、SMP(S)は、SMPヘッダを解析して、正常に受信できていることを確認できた場合、LMP(S)に対してデータ送信関数を発する。
これに対して、SMP(S)は、正常に受信できなかったことを検出した場合には、OBEX(S)にエラーとして通知する。例えば、0,1,2,3,5と受けたとき、5個目は4となるべきなのに4を受けなかった場合である。
そして、それ以降、SMP(S)は、SMPヘッダのデータの最後を示す引数、または受信機のOBEX(S)のレスポンスが必要であることを示す引数がTrueであることを待ち、Trueであるデータ通知関数を受けるか(なお、受けてもOBEX(S)へは通知はしない)、切断通知関数を受けるか、もしくはある一定時間経つまで、OBEX(S)へデータ通知を行わないようにする。
つぎに、送信機のLMP(P)は、SMP(S)からデータ送信要求関数を受けたときには、その関数内のデータにLMPヘッダをつけてデータを作成し、LAP(P)にそのデータが入ったデータ送信要求関数を発する。
一方、受信機のLMP(S)は、LAP(S)からデータ通知関数を受けた場合には、その関数内のデータからLMPヘッダを除いたデータを作成し、SMP(S)にそのデータが入ったデータ通知関数を発する。
なお、1対1で1つの接続をする場合にはLMPを使用する必要がない。この場合、LMPヘッダにはコネクションレスの値が入ったLSAPが入る。
送信機のLAP(P)は、LMP(P)からデータ送信要求関数を受けたとき、その関数内のデータにLAPヘッダをつけてデータを作成し、物理層にそのデータが入ったUIフレームを発する。
一方、受信機のLAP(S)は、物理層からデータ受信通知を受けた場合には、そのUIフレームのデータからLAPヘッダを除いたデータを作成し、LMP(S)にそのデータが入ったデータ通知関数を発する。なお、本実施の形態では、LAPヘッダには、接続アドレスとUIインジケータが含まれる。
(3−3)切断シーケンス
〔A〕レスポンス有り
図25は、本実施の形態(レスポンス有り)の切断シーケンスを示すシーケンス図である。また、図26(a),図26(b)は、本実施の形態(レスポンス有り)の切断シーケンスの際の通信データのデータ構造を示す説明図である。
図25に示すように、本実施の形態(レスポンス有り)では、送信機の切断コマンドが下位層に伝わっていき、DISCコマンドが発生する。受信機は、そのDISCコマンドを受けて上位層へ通知していき、そのレスポンスが返り、UAレスポンスが発生する。その後、送信機の上位層まで、UAレスポンスを受信したことを通知して終了する。
このときの、送信機、受信機内のシーケンスは以下のとおりである。
まず、送信機の各通信層について説明する。
OBEX(P)は、アプリケーションからの切断要求が来た場合に、速やかに下位層(SMP(P))に対して切断要求コマンドをデータに入れて切断要求関数(Primitive)を発生する。また、OBEX(P)は、SMP(P)から切断確認関数を受けた場合に、そのデータの中からOBEX切断のレスポンスを確認し、問題ない(Success)というレスポンスであれば、切断完了とする。
SMP(P)は、OBEX(P)からの切断要求関数を受けて、速やかにOBEX(P)の切断要求関数のデータに、受信機のSMP(S)との通信に必要なパラメータを付加して、下位層(LMP(P))に対して切断要求関数を発生する。また、SMP(P)は、LMP(P)から切断確認関数を受けた場合、関数のデータから受信機のSMP(S)が生成したパラメータを抜き取り、値を確認して、SMP(S)との切断処理を終了する。また、SMP(P)は、切断確認関数のデータからSMP(S)のパラメータを取り除いたデータをOBEX(P)に対して切断確認関数として送信する。ただし、通常、切断時にSMP(P)で新たに追加するパラメータは無い。
LMP(P)は、SMP(P)からの切断要求関数を受けて、速やかにSMP(P)の切断要求関数のデータに、受信機のLMP(S)との通信に必要なパラメータを付加して、下位層(LAP(P))に対して切断要求関数を発生する。また、LMP(P)は、LAP(P)から切断確認関数を受けた場合、関数のデータから受信機のLMP(S)が生成したパラメータを抜き取り、値を確認して、LMP(S)との切断処理を終了する。また、LMP(P)は、切断確認関数のデータからLMP(S)のパラメータを取り除いたデータを、SMP(P)に対して切断確認関数として送信する。ただし、通常、切断時にLMP(P)で新たに追加するパラメータは無い。
LAP(P)は、LMP(P)からの切断要求関数を受けて、速やかにLMP(P)の切断要求関数のデータに、受信機のLAP(S)との通信に必要なパラメータを付加して、受信機の物理層に対してDISCコマンドを出力する。また、LAP(P)は、受信機の物理層からUAレスポンスを受けた場合、UAレスポンスのデータから受信機のLAP(S)が生成したパラメータを抜き取り、値を確認して、LAP(S)との接続を終了する。また、LAP(P)は、UAレスポンスのデータからLAP(S)のパラメータを取り除いたデータを、LMP(P)に対して切断確認関数として発する。ただし、通常、切断時にLAP(P)で新たに追加するパラメータは無い。
つづいて、受信機の各通信層について説明する。
OBEX(S)は、下位層(SMP(S))から切断通知関数(Indication)を受けた場合に、そのデータの中からOBEX切断コマンドを確認し、問題が無ければSuccessというレスポンスを切断返答関数(Response)としてSMP(S)に対して出力し、切断完了とする。
SMP(S)は、下位層(SMP(S))から切断通知関数を受けた場合に、関数のデータから送信機のSMP(P)が生成したパラメータを抜き取り、それに対しての返答のパラメータを作成し、上記関数のデータからSMP(P)のパラメータを除いたデータを入れた切断要求関数をOBEX(S)に発した後、OBEX(S)からの切断返答関数を待つ。また、SMP(S)は、OBEX(S)からの切断返答関数を受けた場合に、LMP(S)に対してOBEX(S)の切断返答関数のデータに上記返答のパラメータを付加して、LMP(S)に対して切断返答関数を発生し、SMP層の切断処理を終了する。ただし、通常、切断時にSMP(S)で新たに追加するパラメータは無い。
LMP(S)は、下位層(LAP(S))から切断通知関数を受けた場合に、関数のデータから送信機のLMP(P)が生成したパラメータを抜き取り、それに対しての返答のパラメータを作成し、上記関数のデータからLMP(P)のパラメータを除いたデータを入れた切断要求関数をSMP(S)に発した後、SMP(S)からの切断返答関数を待つ。また、LMP(S)は、SMP(S)からの切断返答関数を受けた場合に、LAP(S)に対してSMP(S)の切断返答関数のデータに上記返答のパラメータを付加して、LAP(S)に対して切断返答関数を発生し、LMP層の切断処理を終了する。ただし、通常、切断時にLMP(S)で新たに追加するパラメータは無い。
LAP(S)は、物理層からDISCコマンドを受けた場合に、DISCコマンドのデータから送信機のLAP(P)が生成したパラメータを抜き取り、DISCコマンドのデータからLAP(P)のパラメータを除いたデータを入れた切断要求関数をLMP(S)に発した後、それに対しての返答のパラメータを作成し、LMP(S)からの切断返答関数を待つ。また、LAP(S)は、LMP(S)からの切断返答関数を受けた場合に、LMP(S)の切断返答関数のデータに上記返答のパラメータを付加して、物理層に対してUAレスポンスを出力し、LAP層の切断処理を終了する。ただし、通常、切断時にLAP(S)で新たに追加するパラメータは無い。
〔B〕レスポンス無し
図27は、本実施の形態(レスポンス無し)の切断シーケンスを示すシーケンス図である。また、図26(a)は、本実施の形態(レスポンス無し)の切断シーケンスの際の通信データのデータ構造を示す説明図である。
図27に示すように、本実施の形態(レスポンス無し)では、送信機の切断コマンドが下位層に伝わっていき、DISCコマンドが発生する。送信機では、この時点で切断処理が終了する。一方、受信機は、そのDISCコマンドを受けて上位層へ伝えていき、上位層まで通知した時点で切断処理が終了する。
このときの、送信機、受信機内のシーケンスは以下のとおりである。
まず、送信機の各通信層について説明する。
OBEX(P)は、アプリケーションからの切断要求が来た場合に、速やかに下位層(SMP(P))に対して切断要求コマンドをデータに入れて切断要求関数(Primitive)を発生する。また、OBEX(P)は、SMP(P)から切断確認関数を受けた場合に、切断完了とする。
SMP(P)は、OBEX(P)からの切断要求関数を受けて、速やかにOBEX(P)の切断要求関数のデータに、受信機のSMP(S)との通信に必要なパラメータを付加して、下位層(LMP(P))に対して切断要求関数を発生する。また、SMP(P)は、LMP(P)から切断確認関数を受けた時点で、送信したパラメータで切断できたとして、SMP層の切断処理を終了する。また、SMP(P)は、OBEX(P)に対して切断確認関数を送信する。ただし、通常、切断時にSMP(P)で新たに追加するパラメータは無い。
LMP(P)は、SMP(P)からの切断要求関数を受けて、速やかにSMP(P)の切断要求関数のデータに、受信機のLMP(S)との通信に必要なパラメータを付加して、下位層(LAP(P))に対して切断要求関数を発生する。また、LMP(P)は、LAP(P)から切断確認関数を受けた時点で、送信したパラメータで切断できたとして、LMP層の切断処理を終了する。また、LMP(P)は、SMP(P)に対して切断確認関数を送信する。ただし、通常、切断時にLMP(P)で新たに追加するパラメータは無い。
LAP(P)は、LMP(P)からの切断要求関数を受けて、速やかにLMP(P)の切断要求関数のデータに、受信機のLAP(S)との通信に必要なパラメータを付加して、受信機の物理層に対してDISCコマンドを出力する。また、LAP(P)は、DISCコマンドを出力した時点で、送信したパラメータで切断できたとして、LAP層の切断処理を終了する。また、LAP(P)は、LMP(P)に対して切断確認関数を発する。ただし、通常、切断時にLAP(P)で新たに追加するパラメータは無い。
つづいて、受信機の各通信層について説明する。
OBEX(S)は、下位層(SMP(S))から切断通知関数(Indication)を受けた場合に、そのデータの中からOBEX切断コマンドを確認し、問題が無ければ、切断完了とする。
SMP(S)は、下位層(SMP(S))から切断通知関数を受けた場合に、関数のデータから送信機のSMP(P)が生成したパラメータを抜き取り、そのパラメータを使用して切断を完了させる。また、SMP(S)は、上記関数のデータからSMP(P)のパラメータを除いたデータを入れた切断要求関数をOBEX(S)に発する。ただし、通常、切断時にSMP(S)で新たに追加するパラメータは無い。
LMP(S)は、下位層(LAP(S))から切断通知関数を受けた場合に、関数のデータから送信機のLMP(P)が生成したパラメータを抜き取り、そのパラメータを使用して切断を完了させる。また、LMP(S)は、上記関数のデータからLMP(P)のパラメータを除いたデータを入れた切断要求関数をSMP(S)に発する。ただし、通常、切断時にLMP(S)で新たに追加するパラメータは無い。
LAP(S)は、物理層からDISCコマンドを受けた場合に、DISCコマンドのデータから送信機のLAP(P)が生成したパラメータを抜き取り、そのパラメータを使用して切断を完了させる。また、LAP(S)は、DISCコマンドのデータからLAP(P)のパラメータを除いたデータを入れた切断要求関数をLMP(S)に発する。ただし、通常、切断時にLAP(S)で新たに追加するパラメータは無い。
(4)レスポンスの有無の切換え
図28〜図35を参照しながら、送信機および受信機の通信層間におけるデータおよびパラメータの流れを説明する。
本実施の形態では、送信機および受信機の各通信層LAP、LMP、SMP、OBEXは、接続要求関数、接続通知関数、接続応答関数、接続確認関数を持っている。これらの関数は、上位層(つまり、LMP層)からLAP層へアクセスするための関数である。
そして、上記関数は、引数として、Data(以下、データと記す)とRequested-QosまたはReturned-QoSが指定できる。上記データは、上述したように、各通信層において設定される。
一方、Qosは、LAPで決定されたボーレート等のネゴシエーションパラメータの指定やネゴシエーション結果を、OBEXを含めた上位層に通知する。なお、Qosは従来のIrDAでも使用されている。
例えば、送信機のアプリケーションもしくはOBEX(P)が、レスポンスが必要/不要というパラメータの入ったQoSを発すると、それが下位層へ順にLAP(P)まで伝わる。そして、LAP(P)は、そのQoSの値をネゴシエーションパラメータ(Ack Less Connect)の値として反映させ、受信機へ送信する。
その結果、送信機および受信機の各通信層が、送信機のアプリケーションもしくはOBEX(P)によるレスポンス必要/不要の指定に従って動作するため、双方向/片方向の接続ができることになる。
図28〜図32は、本実施の形態(レスポンス有り)の接続シーケンス(図19)のときの、通信層間のデータおよびパラメータの流れを示す説明図である。なお、OBEX−SMP間、SMP−LMP間、LMP−LAP間のQoSのパラメータは、同一であってもよいが、異なっていてもよい。それゆえ、図中では、-a,-b,-cを付して区別している。
送信機では、図28に示すように、con.req(data)(図19)によって、受信機へ送信するDataとQoS-1(送信機の要求するQoS)のデータとを上位層から下位層に渡す。
一方、受信機では、図29に示すように、con.reqによって、QoS-2(受信機の要求するQoS)のデータのみを上位層から下位層にそれぞれ渡す。
その後、受信機では、LAP(S)がSNRMコマンドを受けた時点で、送信機のQoS-1と自機のQoS-2を比較して、共通でネゴシエートしたパラメータとしてQoS-3を作成する。そして、図30に示すように、LAP(S)は、con.ind(data)によって、QoS-3を送信機からのデータと一緒に上位層へ通知する。各上位層は、このQoS-3を記憶して、接続時における接続パラメータとして保持する。
つづいて、受信機では、con.resp(data)を通知する際、QoSが不要となっている。よって、図31に示すように、con.resp(data)ではデータのみが上位層から下位層に渡されていく。そして、LAP(S)がcon.resp(data)を受けると、UAレスポンスにQoS-3を入れて、UAレスポンスを発する。
つづいて、送信機では、LAP(P)がUAレスポンスを受けてQoS-3をネゴシエートしたパラメータとして記憶する。そして、LAP(P)は、図32に示すように、con.conf(data)によって、QoS-3を受信機のデータと一緒に上位層へ通知する。各通信層は、このQoS-3を、確立させた接続における接続パラメータとして保持する。
本実施の形態では、例えば、con.reqのQoSとして、Requested-QoS:Baud-Rate + Max-Turn-Around-Time + Disconnect-Threshold + DataSize + Ack less connection +Min-Packet-Interval、を使用する。また、Con.ind,con.confのQoSとして、Resultant-QoS:Baud-Rate + Disconnect-Threshold + DataSize + Ack less connection (indication primitive only)、を使用する。
また、本実施の形態(レスポンス無し)の接続シーケンス(図21)のときには、通信層間のデータおよびパラメータの流れは次のようになる。
送信機では、図28に示すように、con.req(data)(図21)によって、受信機へ送信するDataとQoS-1(送信機の要求するQoS)のデータとを上位層から下位層に渡す。
そして、送信機のLAP(P)は、QoS-1をそのままQoS-3として記憶する。そして、LAP(P)は、図32に示すように、con.confによってQoS-3を上位層へ通知する。各通信層は、このQoS-3を、確立させた接続における接続パラメータとして保持する。
一方、受信機では、図29に示すように、con.reqによって、QoS-2(受信機の要求するQoS)のデータのみを上位層から下位層にそれぞれ渡す。
その後、受信機では、LAP(S)がSNRMコマンドを受けた時点で、送信機のQoS-1をもって、QoS-3とする。なお、QoS-2のパラメータがQoS-1との組み合わせで満足しない場合には受信できない。
つづいて、図30に示すように、LAP(S)は、con.ind(data)によって、QoS-3を送信機からのデータと一緒に上位層へ通知する。各上位層は、このQoS-3を記憶して、接続時における接続パラメータとして保持する。
これにより、レスポンス有り/無しを、アプリケーションが上記QoS-1とQoS-2を上位層(アプリケーション)操作することで、切り替えることができる。
ここで、レスポンス有り/無しの切換えの基準としては、送信するファイルのファイル形式、アプリケーション、ユーザの選択等が考えられる。
具体的には、ファイル形式を基準とする場合、例えば、マルチメディア関連ファイルの場合にはレスポンス有り/無し両方選べるようにし、電話帳、メール、スケジュール等のファイルであってデータが受信されたことを確認したい場合にはレスポンス有りが自動的に選択されるようにしてもよい。また、アプリケーションを基準とする場合、例えば、スライドショーの場合にはレスポンス無しが自動的に選択されるようにしてもよい。また、ユーザの選択による場合、例えば、レスポンス有り/無しのメニュー表示からユーザに選択させるようにしてもよい。
図33〜図35は、本実施の形態の接続シーケンスのときの、通信層間のデータおよびパラメータの流れの変形例を示す説明図である。
送信機において最初のSNRMコマンドにすべての通信層の情報が含まれる場合に(図19)、データやパラメータを各通信層でリレーしながら伝達する(図28)のではなく、図33のように、各通信層からLAP層へ直接渡すように構成することもできる。
また逆に、図34のように、受信機において、SNRMコマンドに含まれるデータやパラメータをすべて取り出し、宛先である各通信層へLAP層から直接渡すように構成することもできる。
また、図35のように、送信機において、OBEX(P)、SMP(P)、LMP(P)のデータやパラメータをLMP(P)で統合し、さらに、LAP(P)にて、上記統合したデータやパラメータにLAP(P)のパラメータを追加してSNRMコマンドを生成するように構成することもできる。
本発明の通信機器は、ネットワーク層プロトコル制御部を有し、通信接続を行う際に、該ネットワーク層プロトコル制御部は上位層から接続要求コマンドを受けた際に下位層に対し接続要求コマンドを発し、下位層から接続確認コマンド受信通知を受けた際に下位層に対してデータ転送要求コマンドを発せず上位層に接続確認コマンド受信通知を発し、上位層から接続要求コマンドを受けた際に上位層からのユーザーデータを下位層に接続要求コマンドを発するとともに渡し、下位層から接続確認コマンド受信通知を受けた際に接続確認コマンド受信通知内のユーザーデータを上位層に対して接続確認コマンド受信通知を発するとともに渡すようにし、下位層から接続要求コマンド受信通知を受けた際に、下位層に対してデータ転送要求コマンドを発せず接続要求コマンド受信通知を上位層に発し、上位層から接続確認コマンドを受けた際に下位層に対し接続確認コマンドを発し、下位層から接続要求コマンド受信通知を受けた際に接続確認コマンド受信通知内のユーザーデータを上位層に対して接続確認コマンド受信通知を発するとともに渡し、上位層から接続確認コマンドを受けた際に上位層からのユーザーデータを下位層に接続確認コマンドを発するとともに渡すように構成してもよい。
上記シークエンスによれば、接続時において、一組のパケット交換で接続処理を完了することができるので、通信効率を向上できる。
また、本発明の通信機器は、ネットワーク層プロトコル制御部を有し、通信接続を行う際に、上位層から片方向通信選択を通知された場合は、該ネットワーク層プロトコル制御部は上位層から接続要求コマンドを受けた際に下位層に対し接続要求コマンドを発して接続処理を完了し、上位層から接続要求コマンドを受けた際に上位層からのユーザーデータを下位層に接続要求コマンドを発するとともに渡し、下位層から接続要求コマンド受信通知を受けた際に、片方向通信選択が通知された場合は、接続要求コマンド受信通知を上位層に発し、下位層から接続要求コマンド受信通知を受けた際に接続要求コマンド受信通知内のユーザーデータを上位層に対して接続確認コマンド受信通知を発するように構成してもよい。
上記シークエンスによれば、片方向通信選択時においても、接続時において、一つのパケット送信で接続処理を完了することができるので、通信効率を向上できる。
また、本発明の通信機器は、片方向通信により対向局と接続が確立している状態で、通信切断を行う際に、該ネットワーク層プロトコル制御部は上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、上位層から切断要求コマンドを受けた際に上位層からのユーザーデータを下位層に切断要求コマンドを発するとともに渡し、下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、下位層から切断要求コマンド受信通知を受けた際に切断確認コマンド受信通知内のユーザーデータを上位層に対して切断確認コマンド受信通知を発するように構成してもよい。
このようにすることにより、切断時において、一組のパケット交換で切断処理を完了することができるので、通信効率を向上できる。
例えば、上記のシークエンスによれば、接続時には、LMP層の接続にかかる時間がLAP層の接続時間に含まれ、従来のIrDAと比較して、数10msから数100ms(機器に依存)程度、接続時間を短縮できるという効果を奏する。また、切断時においても、LMP層の切断にかかる時間が、LAP層の切断時間に含まれるため、従来のIrDAと比較して、数10msから数100ms(機器に依存)程度、切断時間を短縮できるという効果を奏する。
ところで、従来のIrDA方式では、1対多の双方向通信が可能となっている。この1対多の双方向通信のときに、局管理で下位の接続状況を管理し、LSAPで論理的な接続を管理するということになる。他のプロトコルで例をあげると、IPプロトコルにおいて、ネットワークドライブと接続されている場合に、IPアドレスでデバイスがいることを確認している(局管理が行っていること)のと、それをネットワークドライブとして論理的に認識(LSAPが行っていること)しているようなものである。
本発明のネットワーク層プロトコルにおいては、1対1の双方向通信または1対1或いは1対多の片方向の通信(本実施の形態の「例えば一次局が二次局からの返信を特に必要としない場合」を前提とする構成の場合、局管理を介在させる、やり取りを省いて、通信効率を向上できる。
本発明のネットワーク層プロトコルは、その各手順を実行することにより、従来のIrDA方式で行われる1対多の双方向通信はできなくなるが、1対1の双方向通信の場合、通信媒体が光であることから見通しでしか通信できず、また、上記光の指向角も狭いこと、さらに、通信距離が〜数mであること、から通信相手を使用者が特定できるため、日常の使用上において問題は生じないものとなっている(従来のIrDAでも1対多の通信が行われていることはほとんど無く、大半は1対1通信である)。また、片方向の通信の場合はそもそも接続という概念があまり無い(リモコンのイメージを参照)ため、局管理を省略できる。ここでいう双方向とは、何らかのパケットが相互に交換されることを示しているが、ファイルなどのオブジェクトが相互に交換されるということを意味していない。
本発明のネットワーク層プロトコルは、光を用いた空間通信の分野、特にIrDA方式の赤外線通信方式を用いた通信システム、通信機器に好適に適用できる。
次に、通信機器50(図5)の各ブロック、特にネットワーク層プロトコル制御部512は、ハードウェアロジック(通信回路)によって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、通信機器50は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである通信機器50の制御プログラム(通信プログラム)のプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記通信機器50に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、通信機器50を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
以上のように、本発明に係る通信機器は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、2次局と通信する1次局としての通信機器であって、2次局との通信接続を行うとき、ネットワーク層において、上位層から接続要求コマンドを受けた際に下位層に対し接続要求コマンドを発し、下位層から接続確認コマンド受信通知を受けた際に下位層に対してデータ転送要求コマンドを発せず上位層に接続確認コマンド受信通知を発するネットワーク層プロトコル制御部を備えることを特徴としている。
また、本発明に係る通信方法は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、2次局と通信する1次局としての通信機器における通信方法であって、2次局との通信接続を行うとき、ネットワーク層において、上位層から接続要求コマンドを受けた際に下位層に対し接続要求コマンドを発し、下位層から接続確認コマンド受信通知を受けた際に下位層に対してデータ転送要求コマンドを発せず上位層に接続確認コマンド受信通知を発することを特徴としている。
また、本発明に係る通信機器は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、1次局と通信する2次局としての通信機器であって、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知を受けた際に、下位層に対してデータ転送要求コマンドを発せず接続要求コマンド受信通知を上位層に発し、上位層から接続確認コマンドを受けた際に下位層に対し接続確認コマンドを発するネットワーク層プロトコル制御部を備えることを特徴としている。
また、本発明に係る通信方法は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、1次局と通信する2次局としての通信機器における通信方法であって、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知を受けた際に、下位層に対してデータ転送要求コマンドを発せず接続要求コマンド受信通知を上位層に発し、上位層から接続確認コマンドを受けた際に下位層に対し接続確認コマンドを発することを特徴としている。
また、本発明に係る通信システムは、上記1次局としての通信機器と、上記2次局としての通信機器とを含むことを特徴としている。
上記の構成および方法によれば、1次局では、2次局との通信接続を行うとき、ネットワーク層において、上位層から接続要求コマンドを受けた際に下位層に対し接続要求コマンドを発し、下位層から接続確認コマンド受信通知を受けた際に下位層に対してデータ転送要求コマンドを発せず上位層に接続確認コマンド受信通知を発する。一方、2次局では、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知を受けた際に、下位層に対してデータ転送要求コマンドを発せず接続要求コマンド受信通知を上位層に発し、上位層から接続確認コマンドを受けた際に下位層に対し接続確認コマンドを発する。
よって、上記の接続シークエンスによれば、下位層の接続後に、ネットワーク層を接続するための通信を行う必要がない。したがって、接続時のシークエンスが簡単化されるため、通信効率を向上できる。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との通信接続を行うとき、上位層から接続要求コマンドを受けた際に、接続要求コマンドを下位層に発するとともに、上記上位層からの接続要求コマンドに含まれるユーザーデータを下位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との通信接続を行うとき、下位層から接続確認コマンド受信通知を受けた際に、接続確認コマンド受信通知を上位層に発するとともに、上記下位層からの接続確認コマンド受信通知に含まれるユーザーデータを上位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知を受けた際に、接続要求コマンド受信通知を上位層に発するとともに、上記下位層からの要求コマンド受信通知に含まれるユーザーデータを上位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との通信接続を行うとき、上位層から接続確認コマンドを受けた際に、接続確認コマンドを下位層に発するとともに、上記上位層からの接続確認コマンドに含まれるユーザーデータを下位層に渡すことが好ましい。
また、本発明に係る通信機器は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、2次局と通信する1次局としての通信機器であって、2次局との通信切断を行うとき、ネットワーク層において、上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、下位層から切断確認コマンド受信通知を受けた際に、上位層に切断確認コマンド受信通知を発するネットワーク層プロトコル制御部を備えることを特徴としている。
また、本発明に係る通信方法は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、2次局と通信する1次局としての通信機器における通信方法であって、2次局との通信切断を行うとき、ネットワーク層において、上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、下位層から切断確認コマンド受信通知を受けた際に、上位層に切断確認コマンド受信通知を発することを特徴としている。
また、本発明に係る通信機器は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、1次局と通信する2次局としての通信機器であって、1次局との通信切断を行うとき、下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、上位層から切断確認コマンドを受けた際に、下位層に対して切断確認コマンドを発するネットワーク層プロトコル制御部を備えることを特徴としている。
また、本発明に係る通信方法は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、1次局と通信する2次局としての通信機器における通信方法であって、1次局との通信切断を行うとき、下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、上位層から切断確認コマンドを受けた際に、下位層に対して切断確認コマンドを発することを特徴としている。
また、本発明に係る通信システムは、上記1次局としての通信機器と、上記2次局としての通信機器とを含むことを特徴としている。
上記の構成および方法によれば、1次局では、2次局との通信切断を行うとき、ネットワーク層において、上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、下位層から切断確認コマンド受信通知を受けた際に、上位層に切断確認コマンド受信通知を発する。一方、2次局では、1次局との通信切断を行うとき、下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、上位層から切断確認コマンドを受けた際に、下位層に対して切断確認コマンドを発する。
よって、上記の切断シークエンスによれば、下位層の切断前に、ネットワーク層を切断するための通信を行う必要がない。したがって、切断時のシークエンスが簡単化されるため、通信効率を向上できる。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との通信切断を行うとき、上位層から切断要求コマンドを受けた際に、切断要求コマンドを下位層に発するとともに、上記上位層からの切断要求コマンドに含まれるユーザーデータを下位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との通信切断を行うとき、下位層から切断確認コマンド受信通知を受けた際に、切断確認コマンド受信通知を上位層に発するとともに、上記下位層からの切断確認コマンド受信通知に含まれるユーザーデータを上位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との通信切断を行うとき、下位層から切断要求コマンド受信通知を受けた際に、切断要求コマンド受信通知を上位層に発するとともに、上記下位層からの切断要求コマンド受信通知に含まれるユーザーデータを上位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との通信切断を行うとき、上位層から切断確認コマンドを受けた際に、切断確認コマンドを下位層に発するとともに、上記上位層からの切断確認コマンドに含まれるユーザーデータを下位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との通信接続を行うとき、上位層から片方向通信での接続要求コマンドを受けた場合、下位層に対して接続要求コマンドを発行した後、下位層からの接続確認コマンドなしで、上位層からのデータ転送要求コマンドに対して、下位層にデータ転送要求コマンドを発行することを特徴としている。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知および1次局が片方向転送を要求している旨の通知を受けた場合、上位層に接続要求受信通知コマンドを発行した後、上位層からの接続確認コマンドを受けることなく、下位層からデータ受信通知を受けた場合は、上位層にデータ受信通知を発行することを特徴としている。
上記の構成によれば、1次局では、2次局との通信接続を行うとき、上位層から片方向通信での接続要求コマンドを受けた場合、下位層に対して接続要求コマンドを発行した後、下位層からの接続確認コマンドなしで、上位層からのデータ転送要求コマンドに対して、下位層にデータ転送要求コマンドを発行する。一方、2次局では、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知および1次局が片方向転送を要求している旨の通知を受けた場合、上位層に接続要求受信通知コマンドを発行した後、上位層からの接続確認コマンドを受けることなく、下位層からデータ受信通知を受けた場合は、上位層にデータ受信通知を発行する。
よって、上記の接続シークエンスによれば、2次局から1次局へのレスポンス無しで、接続を完了することができるため、片方向通信での接続およびデータ転送を行うことが可能となる。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との通信接続を行うとき、上位層から接続要求コマンドを受けた際に、接続要求コマンドを下位層に発するとともに、上記上位層からの接続要求コマンドに含まれるユーザーデータを下位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知を受けた際に、接続要求コマンド受信通知を上位層に発するとともに、上記下位層からの接続要求コマンド受信通知に含まれるユーザーデータを上位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との片方向通信を切断するとき、上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、下位層からの切断確認コマンド受信通知を受けることなく切断処理を完了することを特徴としている。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との片方向通信を切断するとき、下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、上位層からの切断確認コマンドを受けることなく切断処理を完了することを特徴としている。
上記の構成によれば、1次局では、2次局との片方向通信を切断するとき、上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、下位層からの切断確認コマンド受信通知を受けることなく切断処理を完了する。一方、2次局では、1次局との片方向通信を切断するとき、下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、上位層からの切断確認コマンドを受けることなく切断処理を完了する。
よって、上記の切断シークエンスによれば、2次局から1次局へのレスポンス無しで、切断を完了することができるため、片方向通信での切断を行うことが可能となる。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、2次局との片方向通信を切断するとき、上位層から切断要求コマンドを受けた際に、切断要求コマンドを発するとともに、上記上位層からの切断要求コマンドに含まれるユーザーデータを下位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、1次局との片方向通信を切断するとき、下位層から切断要求コマンド受信通知を受けた際に、切断要求コマンド受信通知を上位層に発するとともに、上記下位層からの切断要求コマンド受信通知に含まれるユーザーデータを上位層に渡すことが好ましい。
さらに、本発明に係る通信機器は、上記ネットワーク層プロトコル制御部は、IrLMP(Infrared Link Management Protocol)に従うことを特徴としている。
なお、上記通信機器は、コンピュータによって実現してもよく、この場合には、コンピュータを上記ネットワーク層プロトコル制御部として動作させることにより上記通信機器をコンピュータにて実現させる通信機器の通信プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
また、上記通信機器は、上記ネットワーク層プロトコル制御部として機能する通信回路によって実現してもよい。
また、上記通信機器は、該通信機器によって通信を行う携帯電話に好適である。
また、上記通信機器は、該通信機器によって受信したデータに基づいて表示する表示装置に好適である。
また、上記通信機器は、該通信機器によって受信したデータに基づいて印刷する印刷装置に好適である。
また、上記通信機器は、該通信機器によって受信したデータを記録する記録装置に好適である。
最後に、本発明の通信機器は、以下のように構成してもよい。
(1.1次局:LM_CONNECT.request→LAP_CONNECT.request、LAP_CONNECT.confirm→LM_CONNECT.confirm)
本発明の通信機器〔1〕は、ネットワーク層プロトコル制御部を内部に有し、発光源にLEDもしくはLDを用いた光空間伝送に用いる通信機器において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は上位層から接続要求コマンドを受けた際に下位層に対し接続要求コマンドを発し、下位層から接続確認コマンド受信通知を受けた際に下位層に対してデータ転送要求コマンドを発せず上位層に接続確認コマンド受信通知を発するように構成されていてもよい。
(2.2次局:LAP_CONNCT.indication→LM_CONNECT.indication、LM_CONNECT.response→LAP_CONNECT.response)
本発明の通信機器〔2〕は、ネットワーク層プロトコル制御部を内部に有し、発光源にLEDもしくはLDを用いた光空間伝送に用いる通信機器において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は下位層から接続要求コマンド受信通知を受けた際に、下位層に対してデータ転送要求コマンドを発せず接続要求コマンド受信通知を上位層に発し、上位層から接続確認コマンドを受けた際に下位層に対し接続確認コマンドを発するように構成されていてもよい。
(3.1次局のLM_CONNECT.request内上位層データをLAP_CONNECT.requestにのせる)
本発明の通信機器〔3〕は、上記通信機器〔1〕において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は上位層から接続要求コマンドを受けた際に上位層からのユーザーデータを下位層に接続要求コマンドを発するとともに渡すように構成されていてもよい。
(4.1次局のLAP_CONNECT.confirmの上位層データをLM_CONNECT.confirmにのせる)
本発明の通信機器〔4〕は、上記通信機器〔1〕において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は下位層から接続確認コマンド受信通知を受けた際に接続確認コマンド受信通知内のユーザーデータを上位層に対して接続確認コマンド受信通知を発するとともに渡すように構成されていてもよい。
(5.2次局のLAP_CONNECT.indicaiton内上位層データをLM_CONNECT.indicationにのせる)
本発明の通信機器〔5〕は、上記通信機器〔2〕において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は下位層から接続要求コマンド受信通知を受けた際に要求コマンド受信通知内のユーザーデータを上位層に対して接続要求コマンド受信通知を発するとともに渡すように構成されていてもよい。
(6.2次局のLAP_CONNECT.response内上位層データをLAP_CONNECT.resoponseにのせる)
本発明の通信機器〔6〕は、上記通信機器〔2〕において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は上位層から接続確認コマンドを受けた際に上位層からのユーザーデータを下位層に接続確認コマンドを発するとともに渡すように構成されていてもよい。
(7.1次局のLM_DISCONNECT.request→LAP_DISCONNECT.request、LAP_DISCONNECT.indication→LM_DISCONNECT.indication)
本発明の通信機器〔7〕は、ネットワーク層プロトコル制御部を内部に有し、発光源にLEDもしくはLDを用いた光空間伝送に用いる通信機器において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、下位層から切断確認コマンド受信通知を受けた際に上位層に切断確認コマンド受信通知を発するように構成されていてもよい。
(8.2次局のLAP_DISCONNECT.indication→LM_DISCONNECT.indication、LM_DISCONNECT.request→LAP_DISCONNECT.request)
本発明の通信機器〔8〕は、ネットワーク層プロトコル制御部を内部に有し、発光源にLEDもしくはLDを用いた光空間伝送に用いる通信機器において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、上位層から切断確認コマンドを受けた際に下位層に対して切断確認コマンドを発するように構成されていてもよい。
(9.1次局のLM_DISCONNECT.request内上位層データをLAP_DISCONNECT.requestにのせる)
本発明の通信機器〔9〕は、上記通信機器〔7〕において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は上位層から切断要求コマンドを受けた際に上位層からのユーザーデータを下位層に切断要求コマンドを発するとともに渡すように構成されていてもよい。
(10.1次局のLAP_DISCONNECT.indication内上位層データをLM_DISCONNECT.indicationにのせる)
本発明の通信機器〔10〕は、上記通信機器〔7〕において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は下位層から切断確認コマンド受信通知を受けた際に切断確認コマンド受信通知内のユーザーデータを上位層に対して切断確認コマンド受信通知を発するとともに渡すように構成されていてもよい。
(11.2次局のLAP_DISCONNECT.indication内上位層データをLM_DISCONNECT.indicationにのせる)
本発明の通信機器〔11〕は、上記通信機器〔8〕において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は下位層から切断要求コマンド受信通知を受けた際に切断確認コマンド受信通知内のユーザーデータを上位層に対して切断確認コマンド受信通知を発するとともに渡すように構成されていてもよい。
(12.2次局のLM_DISCONNECT.request内上位層データをLAP_DISCONNECT.requestにのせる)
本発明の通信機器〔12〕は、上記通信機器〔8〕において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は上位層から切断確認コマンドを受けた際に上位層からのユーザーデータを下位層に切断確認コマンドを発するとともに渡すように構成されていてもよい。
(13.1次局が片方向転送を行うとき、LAP_CONNECT.confirmなしで、LM_DATA.request→LAP_DATA.request)
本発明の通信機器〔13〕は、上記通信機器〔1〕において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は、上位層から片方向通信での接続要求コマンドを受けた場合、下位層に対して接続要求コマンドを発行した後、下位層からの接続確認コマンドなしで、上位層からのデータ転送要求コマンドに対して、下位層にデータ転送要求コマンドを発行するように構成されていてもよい。
(14.1次局が片方向転送を行うとき、LM_CONNECt.request内上位層データをLAP_CONNECT.requestにのせる)
本発明の通信機器〔14〕は、上記通信機器〔13〕において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は上位層から接続要求コマンドを受けた際に上位層からのユーザーデータを下位層に接続要求コマンドを発するとともに渡すように構成されていてもよい。
(15.2次局が片方向転送を行うとき、LM_CONNECT.responseなしで、LAP_DATA.indication→LM_DATA.indication)
本発明の通信機器〔15〕は、上記通信機器〔2〕において、対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は、下位層から接続要求コマンド受信通知を受けた場合にあわせて下位層から対向局が片方向転送を要求している旨の通知を受けた場合は、上位層に接続要求受信通知コマンドを発行した後、上位層からの接続確認コマンドを受けることなく、下位層からデータ受信通知を受けた場合は、上位層にデータ受信通知を発行するように構成されていてもよい。
(16.2次局が片方向転送を行うとき、LAP_CONNECT.indication内上位層データをLM_CONNECT.indicationにのせる)
本発明の通信機器〔16〕は、上記通信機器〔15〕において、前記対向機器との通信接続を行う際に、該ネットワーク層プロトコル制御部は下位層から接続要求コマンド受信通知を受けた際に接続要求コマンド受信通知内のユーザーデータを上位層に対して接続要求コマンド受信通知を発するとともに渡すように構成されていてもよい。
(17.片方向転送時の1次局の切断)
本発明の通信機器〔17〕は、上記通信機器〔7〕において、片方向通信での接続が対向局と確立されている場合、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は上位層から切断要求コマンドを受けた際に、下位層に対してデータ転送要求コマンドを発せず切断要求コマンドを発し、下位層からの切断確認コマンド受信通知を受けることなく切断処理を完了するように構成されていてもよい。
(18.片方向転送時の2次局の切断)
本発明の通信機器〔18〕は、上記通信機器〔8〕において、片方向通信での接続が対向局と確立されている場合、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は下位層から切断要求コマンド受信通知を受けた際に、上位層に切断要求コマンド受信通知を発し、上位層からの切断確認コマンドを受けることなく切断処理を完了するように構成されていてもよい。
(19.片方向転送時の1次局:LM_DISCONNCT.request内上位層データをLAP_DISCONNECT.requestにのせる)
本発明の通信機器〔19〕は、上記通信機器〔17〕において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は上位層から切断要求コマンドを受けた際に上位層からのユーザーデータを下位層に切断要求コマンドを発するとともに渡すように構成されていてもよい。
(20.片方向転送時の2次局:LAP_DISCONNECT.indication内上位層データをLM_DISCONNECT.indicationにのせる)
本発明の通信機器〔20〕は、上記通信機器〔18〕において、対向機器との通信切断を行う際に、該ネットワーク層プロトコル制御部は下位層から切断要求コマンド受信通知を受けた際に切断確認コマンド受信通知内のユーザーデータを上位層に対して切断確認コマンド受信通知を発するとともに渡すように構成されていてもよい。
(21.IrLMP)
本発明の通信機器〔20〕は、上記通信機器〔1〜20〕のいずれかにおいて、特に前記ネットワーク層プロトコルとは、IrLMP(Infrared Link Management Protocol)であるものである。
(22.通信システム)
本発明の通信システムは、上記通信機器〔1〜21〕のいずれかを使用したものである。
(23.通信回路)
本発明の通信回路は、上記通信機器〔1〜21〕のいずれかを実現するものである。
(24.送受信プログラム)
本発明の通信システムは、上記通信機器〔1〜21〕のいずれかを実現するものである。
(25.携帯電話)
本発明の携帯電話は、上記通信機器〔1〜21〕のいずれかを搭載したものである。
(26.表示装置)
本発明の表示装置は、上記通信機器〔1〜21〕のいずれかを搭載したものである。
(27.印刷装置)
本発明の印刷装置は、上記通信機器〔1〜21〕のいずれかを搭載したものである。
(28.記録装置)
本発明の記録装置は、上記通信機器〔1〜21〕のいずれかを搭載したものである。
さらに、本発明の通信機器は、以下のように構成してもよい。
本発明に係る通信機器は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、1次局と通信する2次局としての通信機器であって、1次局との通信接続を行うとき、下位層から接続要求コマンド受信通知を受けた際に、下位層に対してデータ転送要求コマンドを発せず接続要求コマンド受信通知を上位層に発するネットワーク層プロトコル制御部を備えていてもよい。
また、本発明に係る通信方法は、ネットワーク層、該ネットワーク層より上位の通信層である上位層、該ネットワーク層より下位の通信層である下位層を有し、2次局と通信する1次局としての通信機器における通信方法であって、2次局との通信接続を行うとき、ネットワーク層において、上位層から接続要求コマンドを受けた際に下位層に対し接続要求コマンドを発し、下位層からの接続確認コマンド受信通知を受けずに上位層に接続確認コマンドを発してもよい。
発明の詳細な説明の項においてなされた具体的な実施態様または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と次に記載する特許請求事項との範囲内で、いろいろと変更して実施することができるものである。