JP2004110345A - マルチセッション制御装置 - Google Patents

マルチセッション制御装置 Download PDF

Info

Publication number
JP2004110345A
JP2004110345A JP2002271127A JP2002271127A JP2004110345A JP 2004110345 A JP2004110345 A JP 2004110345A JP 2002271127 A JP2002271127 A JP 2002271127A JP 2002271127 A JP2002271127 A JP 2002271127A JP 2004110345 A JP2004110345 A JP 2004110345A
Authority
JP
Japan
Prior art keywords
packet
session information
operation code
session
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002271127A
Other languages
English (en)
Inventor
Hideki Fujimori
藤森 秀樹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002271127A priority Critical patent/JP2004110345A/ja
Publication of JP2004110345A publication Critical patent/JP2004110345A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】同一のシリアルリンク上で、コネクション型オブジェクト交換通信のマルチセッション制御を行う。
【解決手段】リモート機器から受信したオブジェクト通信パケットヘッダのオペレーションコード/レスポンスコードをセッション管理手段がオペコード管理テーブルから検索することで、サーバ役割でのリクエストパケットを受信したのか、クライアント役割でのレスポンスパケットを受信したのかを判定する。セッション管理手段は、受信したオブジェクト通信パケットの種別に従い、サーバ用セッション情報かクライアント用セッション情報を選択する。オブジェクト交換手段は、受信したオブジェクト通信パケットと選択したセッション情報をもとに、オブジェクト交換処理を行なうことで、同一のシリアルリンク上に、サーバであると同時にクライアントとして動作可能な仮想的なオブジェクト交換のマルチセッションを実現する。
【選択図】 図6

Description

【0001】
【発明の属する技術分野】
本発明はIrDA、Bluetoothなどのシリアル伝送路をエミュレートする通信方式を搭載した機器間で、スケジュール、アドレス帳などのオブジェクト・データを交換するデータ転送システムに関する。
【0002】
【従来の技術】
従来のコネクション型オブジェクト交換通信の通信方法が1999年3月18日にInfrared Data Assosiationから発行された「IrDA Object Exchange Protocol Version1.2」(IrOBEX)に記載されている(非特許文献1参照)。
【0003】
この通信方法により、図4、図5に示すフォーマットのOBEXパケットによる機器間のオブジェクト交換を行うことができる。
【0004】
図1は、リンクプロトコル層にBluetoothのシリアルエミュレートの通信プロトコル(RFCOMM)を使用する前述のIrOBEX通信方式を用いたオブジェクト交換システムの例である。
【0005】
図1の機器間でサーバ−クライアントとクライアント−サーバの複数セッションを同時に行う場合、図2に示すようにセッション毎にシリアル伝送路が1リンクづつ必要である。
【0006】
【特許文献1】
特許第3180790号
【非特許文献1】
「IrDA Object Exchange Protocol Version1.2」1999年3月18日 Infrared Data Assosiation発行
【0007】
【発明が解決しようとする課題】
上記のような、従来のオブジェクト通信セッション制御方式においては、通信対象機器は、機器間のOBEXセッション開始時にサーバ動作を行うか、またはクライアント動作を行うかを決定し、シリアル伝送路の論理リンク毎に、サーバ機器はOBEXのリクエストパケットのみを受信し、クライアント機器はOBEXのレスポンスパケットのみを受信することになる。
【0008】
このような従来方法では、同一機器がサーバ動作とクライアント動作の両方を行うような、マルチセッションを実現するにはシリアル伝送路の論理リンクを複数張ることが要求され、機器間の通信リソースが消費されるという問題がある。
【0009】
そこで、本発明は、受信したOBEXパケットのオペレーションコードがリクエストとレスポンスのどちらかであるかをセッション制御手段が検出し、サーバ動作時または、クライアント動作時のセッション情報を適切に選択することで、図3に示すようにサーバ動作時および、クライアント動作時のOBEXパケットが同一のシリアル伝送路の論理リンク上に伝送された場合にも、それぞれのオブジェクト交換処理を正常に行うことを目的としている。
【0010】
【課題を解決するための手段】
この課題を解決するために第1の構成では、オブジェクト交換を行うOBEX通信のサーバ役割および、クライアント役割を同一のシリアル伝送路の論理リンク上で実現するマルチセッション制御装置において、シリアル伝送路の論理リンクにOBEXパケットを送信するデータ送信手段と、シリアル伝送路の論理リンクからOBEXパケットを受信するデータ受信手段と、OBEXパケットを解析するパケット解析手段と、OBEXパケットを生成するパケット生成手段と、リモート機器とのオブジェクト交換処理を行うオブジェクト交換手段と、サーバ・クライアントそれぞれのセッション情報を保持するセッション情報記憶手段と、OBEXパケットのオペレーションコードを記憶しているオペレーションコード記憶手段と、サーバ動作時のセッション情報とクライアント動作時のセッション情報を選択するセッション制御手段を備え、受信したOBEXパケットのオペレーションコードを解析してリクエストとレスポンスのどちらを受信したかを判定してセッション情報を選択することを特徴とする。
【0011】
また、第2の構成においては、前記データ送信手段は複数のシリアル伝送路の論理リンクにデータを送信し、前記データ受信手段は複数のシリアル伝送路からデータを受信し、前記セッション情報記憶手段は複数のシリアル伝送路の論理リンクに対してサーバ・クライアントそれぞれのセッション情報を保持し、前記セッション制御手段は複数のシリアル伝送路の論理リンクに対してサーバ動作時のセッション情報とクライアント動作時のセッション情報を選択し、複数のシリアル伝送路の論理リンクから受信したOBEXパケットのオペレーションコードを解析してリクエストとレスポンスのどちらを受信したかを判定してシリアル伝送路の論理リンク毎にセッション情報を選択することを特徴とする。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態について、図6から図10を用いて説明する。
【0013】
(実施の形態1)
図6は本発明の一実施の形態によるマルチセッション制御装置の構成を示す図である。図7は本発明の一実施の形態によるセッション情報記憶手段105のセッション情報管理テーブルのデータ構造を示す表である。図8は本発明の一実施の形態によるオペコード記憶手段106のオペレーションコード検索テーブルのデータ構造を示す表である。図9は本発明の一実施の形態によるデータ受信時の処理手順を示すフローチャートである。図10は本発明の一実施の形態によるデータ送信時の処理手順を示すフローチャートである。
【0014】
まず、本発明の一実施の形態に係るマルチセッション制御装置の構成を説明する。
【0015】
図6の120は、リモート機器とOBEX通信を行うシリアル伝送路の論理リンクである。101はシリアル伝送路の論理リンクへOBEXパケットを送信するデータ送信手段である。102はシリアル伝送路の論理リンクからOBEXパケットを受信するデータ受信手段である。103はOBEXパケットに含まれるオペレーションコードまたは、レスポンスコードと各種ヘッダに分解するパケット解析手段である。104はリモート機器へ送信するOBEXパケットを生成するパケット生成手段である。105は図7のサーバ・クライアントそれぞれのセッション情報を管理するセッション情報記憶手段である。106は図8のオペレーションコード情報を保持するオペレーションコード記憶手段である。107はリモート機器から受信したOBEXパケットのオペレーションコードおよび、レスポンスコードを取得し、OBEXパケットがリクエストかレスポンスかを判定し、サーバ用のセッション情報または、クライアント用のセッション情報を取得するセッション制御手段である。108はリモート機器から受信したリクエストおよび、レスポンスに従ってオブジェクト交換処理を行うオブジェクト交換手段である。
【0016】
以上のように構成された本発明の一実施の形態に係るマルチセッション制御装置について、以下、その動作を述べる。
【0017】
図9を参照して、リモート機器からのOBEXパケット受信時の動作について説明する。
【0018】
データ受信手段102はリモート機器からの送信データをシリアル伝送路120を介して受信する(S401)。
【0019】
まず、データ受信手段102は受信データがOBEXの1パケット分に達するまでデータ受信処理を繰り返し(S402のN)、受信データがOBEXの1パケット分に達した場合、データ受信手段102は受信したOBEXパケットをセッション制御手段107に渡す(S402のY)。
【0020】
次に、S402のデータ受信手段102がOBEXの1パケット分に達したかの判定には、受信したOBEXパケットに設定されているパケット・レングス(図4、図5にByte1、2で示されるフィールドで示される)を使用する。
【0021】
次に、セッション制御手段107はOBEXパケットの先頭1バイト目に設定されているオペレーションコードを取得する(S403)。
【0022】
次に、セッション制御手段107は取得したオペレーションコードがオペレーションコード記憶手段106に登録されていないか検索する(S404)。
【0023】
ここで、S404のオペレーションコード検索において、オペレーションコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300を使用する。
【0024】
次に、セッション制御手段107はS404のオペレーションコード検索結果で、オペレーションコード記憶手段106にオペレーションコードが登録されているか否かを判定し、オペレーションコード記憶手段106にオペレーションコードが登録されている場合(S405のY)、セッション制御手段107はセッション情報記憶手段105からサーバ用に保持している図7のセッション情報210を取得し(S406)、状態フィールド203がリモート機器からのリクエストを受付可能な状態であれば(S407のY)、セッション情報210の状態フィールド203を「リクエスト受信」に更新し、受信したOBEXパケットをオブジェクト交換手段108に渡す(S408)。
【0025】
その結果、オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、リクエストに従ったオブジェクト交換処理を行う(S409)。
【0026】
また、S405において、オペレーションコード記憶手段106にオペレーションコードが登録されていない場合、セッション制御手段107は受信したOBEXパケットがレスポンスであったと判定する(S405のN)。
【0027】
セッション制御手段107はセッション情報記憶手段105からクライアント用に保持しているセッション情報220を取得し(S410)、図7の状態フィールド203がリモート機器からのレスポンスを受付可能な状態であれば(S411のY)、セッション情報220の状態フィールド203を「レスポンス受信」に更新し、受信したOBEXパケットをオブジェクト交換手段108に渡す(S412)。
【0028】
その結果、オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、レスポンスに従ったオブジェクト交換処理を行う(S413)。
【0029】
次に、図10を参照して、リモート機器へのデータ送信時の動作について説明する。
【0030】
まず、オブジェクト交換手段108はパケット生成手段104を使用して、リクエストまたは、レスポンスのOBEXパケットを生成し、セッション制御手段107に渡す(S501)。
【0031】
次に、セッション制御手段107はOBEXパケットに設定されているオペレーションコードを取得する(S502)。セッション制御手段107は取得したオペレーションコードがオペレーションコード記憶手段106に登録されていないか検索する(S503)。S503のオペレーションコード検索において、セッション制御手段107はオペレーションコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300を使用する。
【0032】
次に、セッション制御手段107はS503のオペレーションコード検索結果で、オペレーションコード記憶手段106にオペレーションコードが登録されているか否かを判定し、オペレーションコード記憶手段106にオペレーションコードが登録されている場合(S504のY)、セッション制御手段107はセッション情報記憶手段105からクライアント用に保持しているセッション情報220を取得し(S505)、図7の状態フィールド203がリクエストを送信可能な状態であれば(S506のY)、セッション情報220の状態フィールド203を「リクエスト送信」に更新し、送信するOBEXパケットをデータ送信手段101に渡す(S509)。
【0033】
ここで、S504において、オペレーションコード記憶手段106にオペレーションコードが登録されていない場合、セッション制御手段107は、送信するオブジェクト通信パケットがレスポンスであると判定する(S504のN)。
【0034】
セッション制御手段107はセッション情報記憶手段105からサーバ用に保持しているセッション情報210を取得し(S507)、図7の状態フィールド203がリモート機器へのレスポンスを送信可能な状態であれば(S508のY)、セッション情報210の状態フィールド203を「レスポンス送信」に更新し、送信するOBEXパケットをデータ送信手段101に渡す(S509)。
【0035】
その結果、データ送信手段101は送信するOBEXパケットをシリアル伝送路120に送信する(S510)。
【0036】
次に、本発明の実施の形態を具体的な数値を用い、図6〜図8、図11〜図16を参照しながら説明する。
【0037】
図11〜図16はオブジェクト通信パケットの送受信を行う際にセッション制御手段107が更新する図7のセッション情報管理テーブルの内容を表記したものである。
【0038】
図6を参照して、データ受信手段102はリモート機器からの受信データの2バイト目から2バイト分をOBEXパケットのレングスと判定し、前記OBEXパケット・レングス分のデータを受信するまで受信処理を繰り返す。
【0039】
まず、データ受信手段102はOBEXの1パケット分を受信した時点で、受信データをセッション制御手段107に渡す。
【0040】
セッション制御手段107はOBEXパケットに設定されているオペレーションコードを取得し、オペレーションコードがオペレーションコード記憶手段106に登録されていないか検索する。取得したオペレーションコードが0x80の場合、図8のオペレーションコード検索テーブル300のNoフィールド301が「0」、オペレーションコードフィールド302が「0x80」、Operationフィールド303が「Connect」のレコードと一致する。
【0041】
そのため、セッション制御手段107はOBEXパケットがリクエストと判定し、図7のセッション情報管理テーブル200からセッション番号フィールド201が「0」のサーバ用セッション情報210を取得する。
【0042】
サーバ用セッション情報210では、サーバ用セッション情報210の状態フィールド203は初期状態となっているので、リクエスト受付可能と判断して、サーバ用セッション情報210の状態フィールド203に「リクエスト受信」、Operationフィールド205に「Connect」を設定する(図11)。
【0043】
その結果、セッション制御手段107は受信したOBEXパケットをオブジェクト交換手段108に渡す。
【0044】
次に、オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、リクエスト内容に対応したConnectレスポンスのOBEXパケットをパケット生成手段104を使用して生成する。
【0045】
ここで、生成するOBEXパケットはリクエストの処理成功を示す「0x10」のレスポンスコードで始まるものとする。オブジェクト交換手段108は送信するOBEXパケットをセッション制御手段107に渡す。
【0046】
次に、セッション制御手段107は、送信するOBEXパケットのレスポンスコード「0x10」をオペレーションコードと仮定して、オペレーションコード記憶手段106に登録されていないか検索する。
【0047】
ここで、送信するOBEXパケットのレスポンスコード「0x10」は、オペコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300に登録されていないので、送信するOBEXパケットはレスポンスであると判定される。
【0048】
続いて、セッション制御手段107は、セッション情報記憶手段105がサーバ用に保持している図11のセッション情報210を取得し、状態フィールド203に「レスポンス送信」を設定しConnectレスポンスのConnectionIDヘッダ(図4のByte3tonフィールドに格納されている)から取得したConnectionID「0x00000001」をConnectionIDフィールド204に設定する(図12)。
【0049】
次に、セッション制御手段107は、送信するOBEXパケットをデータ送信手段101に渡し、データ送信手段101は、OBEXパケットをシリアル伝送路120に送信する。
【0050】
また、オブジェクト交換手段108からOBEXのクライアント動作として、ConnectリクエストのOBEXパケットを送信する場合、オブジェクト交換手段108はパケット生成手段104を使用して、オペレーションコード「0x80」のConnectリクエストを生成し、セッション制御手段107に渡す。
【0051】
セッション制御手段107は、送信するConnectリクエストのオペレーションコード「0x10」がオペコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300に登録されていないか検索する。
【0052】
検索結果、Connectレスポンスのレスポンスコード「0x10」は図8のオペレーションコード検索テーブル300のNoフィールド301が「0」、オペレーションコードフィールド302が「0x80」、Operationフィールド303が「Connect」のレコードと一致する。
【0053】
その結果、セッション制御手段107はセッション情報記憶手段105がクライアント用に保持しているセッション情報220を取得する。ここで、クライアント用セッション情報220の状態フィールド203は初期状態となっているので、リクエスト送信可能と判断して、クライアント用セッション情報220の状態フィールド203に「リクエスト送信」、Operationフィールド205に「Connect」を設定する(図13)。
【0054】
また、リモート機器からConnectレスポンスを受信した場合、データ受信手段102は受信したオブジェクト通信パケットをセッション制御手段107に渡す。
【0055】
この場合、セッション制御手段107は、オブジェクト通信パケットに設定されているレスポンスコードをオペレーションコードと仮定して、オペコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300に登録されていないか検索する。取得したオペレーションコードは「0x10」なので、図8のオペレーションコード検索テーブル300からの検索に失敗する。
【0056】
その結果、セッション制御手段107は受信したオブジェクト通信パケットがレスポンスと判定し、図13のセッション情報管理テーブル200からセッション番号フィールド201が「1」のクライアント用セッション情報220を取得する。
【0057】
ここで、クライアント用セッション情報220の状態フィールド203は「リクエスト送信」となっているので、レスポンス受付可能と判断してクライアント用セッション情報220の状態フィールド203に「レスポンス受信」、ConnectionIDフィールド204にConnectレスポンスに含まれるConnectionIDヘッダから取得したConnectionID「0x00000002」を設定する(図14)。
【0058】
その後、セッション制御手段107は、受信したOBEXパケットをオブジェクト交換手段108に渡す。
【0059】
オブジェクト交換手段108では、パケット解析手段103を使用して、受信したOBEXパケットを解析し、Connectが成功したことを確認し、オブジェクト交換のためのPutリクエストのOBEXパケットをパケット生成手段104を使用して生成する。ここで、生成したPutリクエストは「0x82」のオペレーションコードで始まるデータである。オブジェクト交換手段108は送信するPutリクエストのOBEXパケットをセッション制御手段107に渡す。
【0060】
その後、セッション制御手段107は、送信するPutリクエスト送信のオペレーションコードを取得し、オペレーションコード「0x82」がオペコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300に登録されていないか検索する。
【0061】
ここで、取得したオペレーションコードが「0x82」なので、図8のオペレーションコード検索テーブル300のNoフィールド301が「3」、オペレーションコードフィールド302が「0x82」、Operationフィールド303が「Put」のレコードと一致する。
【0062】
これを受けて、セッション制御手段107は受信データがOBEXリクエストと判定し、図7のセッション情報管理テーブル200からセッション番号フィールド201が「1」のクライアント用セッション情報220を取得する。ここで、クライアント用セッション情報220の状態フィールド203は「レスポンス受信」となっているので、リクエスト送信可能と判断してクライアント用セッション情報220の状態フィールド203に「リクエスト受信」、Operationフィールド205に「Put」を設定する(図15)。
【0063】
最後に、セッション制御手段107は送信するPutリクエストをデータ送信手段101に渡し、データ送信手段101はシリアル伝送路120に送信する。
【0064】
また別に、リモート機器からPutレスポンスを受信した場合、データ受信手段102は受信したOBEXパケットをセッション制御手段107に渡す。
【0065】
セッション制御手段107はオブジェクト通信パケットに設定されているレスポンスコードをオペレーションコードと仮定して取得し、オペレーションコード記憶手段106に登録されていないか検索する。
【0066】
ここで、取得したオペレーションコードは「0x10」なので、オペコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300からの検索に失敗する。
【0067】
その結果、セッション制御手段107は、受信したオブジェクト通信パケットがレスポンスと判定し、図15のセッション情報管理テーブル200からセッション番号フィールド201が「1」のクライアント用セッション情報220を取得する。クライアント用セッション情報220の状態フィールド203は「リクエスト送信」となっているので、レスポンス受付可能と判断して、クライアント用セッション情報220の状態フィールド203に「レスポンス受信」を設定する(図16)。
【0068】
次に、セッション制御手段107は受信したOBEXパケットをオブジェクト交換手段108に渡す。オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、Putが成功したことを確認して次のオブジェクト交換の処理が必要であれば、前述のPut処理と同様の手順を繰り返す。
【0069】
なお、以上の説明では、シリアル伝送路を特に指定していないが、シリアル伝送路がRS−232C、赤外線通信(IrDA)、Bluetooth、LANなどの場合についても同様に実施可能である。
【0070】
(実施の形態2)
図17は本発明の実施の形態2に係る複数のシリアル伝送路の論理リンクに対するマルチセッション制御装置の構成図である。図18は図17のセッション情報記憶手段105が管理するセッション情報管理テーブルである。図19はリモート機器からデータ受信時の処理手順を示すフローチャートである。図20はリモート機器へのデータ送信時の処理手順を示すフローチャートである。
【0071】
まず、本発明の一実施の形態に係る複数のシリアル伝送路の論理リンクに対するマルチセッション制御装置の構成を説明する。
【0072】
図17の120aと120bはそれぞれ異なるリモート機器とOBEX通信を行うシリアル伝送路の論理リンクである。101aは複数のシリアル伝送路の論理リンクへデータを送信するデータ送信手段である。102aは複数のシリアル伝送路の論理リンクからデータを受信するデータ受信手段である。105aは図18の複数のシリアル伝送路の論理リンクのサーバ・クライアントそれぞれのセッション情報を管理するセッション情報記憶手段である。107aはリモート機器から受信したOBEXパケットのオペレーションコードおよび、レスポンスコードを取得し、受信したOBEXパケットがリクエストかレスポンスかを判定し、受信したシリアル伝送路の論理リンクのサーバ用のセッション情報または、クライアント用のセッション情報を取得するセッション制御手段である。
【0073】
以上のように構成された本発明の一実施の形態に係る複数のシリアル伝送路の論理リンクに対するマルチセッション制御方式について、以下にその動作を述べる。
【0074】
図19を参照して、リモート機器からのデータ受信時の動作について説明する。
【0075】
データ受信手段102aはリモート機器からの送信データをシリアル伝送路120aまたは、シリアル伝送路120bを介して受信する(S601)。
【0076】
データ受信手段102aはシリアル伝送路120aまたは、シリアル伝送路120bからの受信データがOBEXの1パケット分に達するまでデータ受信処理を繰り返し(S602のN)、いずれかの受信データがOBEXの1パケット分に達した場合、データ受信手段102aは受信したOBEXパケットとシリアル伝送路の伝送路IDをセッション制御手段107aに渡す(S602のY)。
【0077】
ここで、S602のデータ受信手段102aがOBEXの1パケット分に達したかの判定には、受信したOBEXパケットに設定されているパケット・レングスを使用する。
【0078】
セッション制御手段107aは、OBEXパケットに設定されているオペレーションコードを取得する(S403)。
【0079】
セッション制御手段107aは、取得したオペレーションコードがオペレーションコード記憶手段106に登録されていないか検索する(S404)。
【0080】
セッション制御手段107aは、S404のオペレーションコード検索結果で、オペレーションコード記憶手段106にオペレーションコードが登録されているか否かを判定し、オペレーションコード記憶手段106にオペレーションコードが登録されている場合、セッション制御手段107aはセッション情報記憶手段105aから、伝送路IDが一致するサーバ用に保持している図18のセッション情報210を取得し(S606)、状態フィールド203がリモート機器からのリクエストを受付可能な状態であれば(S407のY)、セッション情報210の状態フィールド203を「リクエスト受信」に更新し、受信したOBEXパケットをオブジェクト交換手段108に渡す(S408)。
【0081】
オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、リクエストに従ったオブジェクト交換処理を行う(S409)。
【0082】
S405において、オペレーションコード記憶手段106にオペレーションコードが登録されていない場合、セッション制御手段107aは、受信したOBEXパケットがレスポンスであったと判定する。
【0083】
その結果、セッション制御手段107aはセッション情報記憶手段105aから、伝送路IDが一致するクライアント用に保持している図18のセッション情報220を取得し(S610)、状態フィールド203がリモート機器からのレスポンスを受付可能な状態であれば(S411のY)、セッション情報220の状態フィールド203を「レスポンス受信」に更新し、受信したOBEXパケットをオブジェクト交換手段108に渡す(S412)。オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、レスポンスに従ったオブジェクト交換処理を行う(S413)。
【0084】
次に、図20を参照して、リモート機器へのデータ送信時の動作について説明する。先ず、オブジェクト交換手段108はパケット生成手段104を使用して、リクエスト、または、レスポンスのOBEXパケットを生成し、生成したOBEXパケットと通信相手を特定する伝送路IDをセッション制御手段107aに渡す(S701)。
【0085】
次に、セッション制御手段107aは、OBEXパケットに設定されているオペレーションコードを取得する(S502)。
【0086】
次に、セッション制御手段107aは取得したオペレーションコードがオペレーションコード記憶手段106に登録されていないか検索する(S503)。
【0087】
ここで、セッション制御手段107aはS503のオペレーションコード検索結果で、オペレーションコード記憶手段106にオペレーションコードが登録されているか否かを判定し、オペレーションコード記憶手段106に登録されている図8のオペレーションコード検索テーブル300にオペレーションコードが登録されている場合、セッション制御手段107aはセッション情報記憶手段105aから伝送路IDの一致するクライアント用に保持しているセッション情報220を取得し(S705)、図18のセッション情報220の状態フィールド203がリクエストを送信可能な状態であれば、状態フィールド203を「リクエスト送信」に更新し、送信するOBEXパケットをデータ送信手段101aに渡す(S509)。
【0088】
S504において、オペレーションコード記憶手段106にオペレーションコードが登録されていない場合、セッション制御手段107aは送信するOBEXパケットがレスポンスであると判定する。
【0089】
セッション制御手段107aはセッション情報記憶手段105aから伝送路IDの一致するサーバに保持している図18のセッション情報210を取得し(S707)、状態フィールド203がリモート機器へのレスポンスを送信可能な状態であれば、セッション情報210の状態フィールド203を「レスポンス送信」に更新し、送信するOBEXパケットをデータ送信手段101aに渡す(S509)。
【0090】
データ送信手段101aは送信するOBEXパケットをシリアル伝送路120aまたは、シリアル伝送路120bに送信する(S510)。
【0091】
次に、本発明の実施の形態を具体的な数値を用い、図8、図18、図21〜図26を参照しながら説明する。
【0092】
図21〜図26はOBEXパケットの送受信を行う際にセッション制御手段107aが更新する図18のセッション情報管理テーブルの内容を表記したものである。
【0093】
図17を参照して、データ受信手段102aはリモート機器からの送信データをシリアル伝送路120aから受信し、受信したデータの2バイト目から2バイト分をOBEXパケットのレングスと判定し、前記OBEXパケット・レングス分のデータを受信するまで、受信処理を繰り返す。
【0094】
ここで、シリアル伝送路120aからのデータ受信中にシリアル伝送路120bからデータ受信した場合は、それぞれ受信処理を行う。
【0095】
データ受信手段102aは、OBEXの1パケット分を受信した時点で、受信データとシリアル伝送路120aの伝送路ID「1」をセッション制御手段107aに渡す。
【0096】
セッション制御手段107aはOBEXパケットに設定されているオペレーションコードを取得し、オペレーションコードがオペレーションコード記憶手段106に登録されていないか検索する。
【0097】
検索結果、取得したオペレーションコードが0x80の場合、図8のオペレーションコード検索テーブル300のNoフィールド301が「0」、オペレーションコードフィールド302が「0x80」、Operationフィールド303が「Connect」のレコードと一致する。
【0098】
セッション制御手段107aは、受信したOBEXパケットをリクエストと判定し、図18のセッション情報管理テーブル200から伝送路IDフィールド206が「1」で、セッション番号フィールド201が「0」のサーバ用セッション情報210を取得する。
【0099】
ここで、サーバ用セッション情報210の状態フィールド203は初期状態となっているので、リクエスト受付可能と判断して、サーバ用セッション情報210の状態フィールド203に「リクエスト受信」、Operationフィールド205に「Connect」を設定する(図21)。
【0100】
ついで、セッション制御手段107aは、受信したOBEXパケットと伝送路IDをオブジェクト交換手段108に渡す。
【0101】
次に、オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、リクエスト内容に対応したConnectレスポンスのOBEXパケットをパケット生成手段104を使用して生成する。
【0102】
生成したConnectレスポンスは、リクエストの処理成功を示す「0x10」のレスポンスコードで始まるものとする。
【0103】
オブジェクト交換手段108は、送信するConnectレスポンスと伝送路IDをセッション制御手段107aに渡す。
【0104】
ここで、セッション制御手段107aは、送信するConnectレスポンスのレスポンスコード「0x10」をオペレーションコードと仮定して、オペレーションコード記憶手段106に登録されていないか検索する。その結果、Connectレスポンスのレスポンスコード「0x10」はオペレーションコード記憶手段106に登録されていないので、送信するOBEXパケットがレスポンスであると判定する。
【0105】
セッション制御手段107aはセッション情報記憶手段105aが伝送路ID「1」のサーバ用に保持しているセッション情報210を取得し、状態フィールド203に「レスポンス送信」、ConnectレスポンスのConnectionIDヘッダから取得したConnectionID「0x00000001」をConnectionIDフィールド204に設定する(図22)。
【0106】
セッション制御手段107aは送信するOBEXパケットと伝送路IDをデータ送信手段101aに渡し、データ送信手段101aはシリアル伝送路120aに送信する。
【0107】
ここで、オブジェクト交換手段108からシリアル伝送路120bのOBEXのクライアント動作として、Connectリクエストを送信する場合、オブジェクト交換手段108はパケット生成手段104を使用して、オペレーションコード「0x80」のConnectリクエストを生成し、伝送路ID「2」と共にセッション制御手段107aに渡す。ここで、セッション制御手段107aは、送信するConnectリクエストのオペレーションコード「0x10」をオペレーションコード記憶手段1606に登録されていないか検索する。
【0108】
Connectレスポンスのレスポンスコード「0x10」は、図8のオペレーションコード検索テーブル300のNoフィールド301が「0」、オペレーションコードフィールド302が「0x80」、Operationフィールド303が「Connect」のレコードと一致する。従って、セッション制御手段107aは図22のセッション情報記憶手段105aが伝送路ID「2」のクライアント用に保持しているセッション情報240を取得する。
【0109】
クライアント用セッション情報240の状態フィールド203は初期状態となっているので、リクエスト送信可能と判断して、クライアント用セッション情報240の状態フィールド203に「リクエスト送信」を設定し、Operationフィールド1705に「Connect」を設定する(図23)。
【0110】
シリアル伝送路120bのリモート機器からConnectレスポンスのOBEXパケットを受信した場合、データ受信手段102aは受信したOBEXパケットと伝送路ID「2」をセッション制御手段107aに渡す。
【0111】
セッション制御手段107aはOBEXパケットに設定されているレスポンスコードをオペレーションコードと仮定して取得し、オペレーションコード記憶手段106に登録されていないか検索する。
【0112】
取得したオペレーションコードが「0x10」の場合、図8のオペレーションコード検索テーブル300からの検索に失敗する。
【0113】
その結果、セッション制御手段107aは受信したOBEXパケットがレスポンスと判定し、図23のセッション情報管理テーブル200から伝送路IDフィールドが「2」のクライアント用セッション情報240を取得する。クライアント用セッション情報240の状態フィールド203は「リクエスト送信」となっているので、レスポンス受付可能と判断して、クライアント用セッション情報240の状態フィールド203に「レスポンス受信」、ConnectionIDフィールド105aにConnectレスポンスに含まれるConnectionIDヘッダから取得したConnectionID「0x00000002」を設定する(図24)。
【0114】
次に、セッション制御手段107aは受信したOBEXパケットをオブジェクト交換手段108に渡す。
【0115】
オブジェクト交換手段108は、パケット解析手段103を使用して、受信したOBEXパケットを解析し、Connectが成功したことを確認し、オブジェクト交換のためのPutリクエストのOBEXパケットをパケット生成手段1604を使用して生成する。生成したPutリクエストは、「0x82」のオペレーションコードで始まるデータである。
【0116】
オブジェクト交換手段108は送信するPutリクエストのOBEXパケットと、伝送路ID「2」をセッション制御手段107aに渡す。セッション制御手段107aは、送信するPutリクエスト送信のオペレーションコードを取得し、オペレーションコード「0x82」が、オペレーションコード記憶手段106に登録されていないか検索する。
【0117】
取得したオペレーションコードが0x82なので、図8のオペレーションコード検索テーブル300のNoフィールド301が「3」、オペレーションコードフィールド302が「0x82」、Operationフィールド303が「Put」のレコードと一致する。
【0118】
ここで、セッション制御手段107aは受信したOBEXパケットがリクエストと判定し、図24のセッション情報管理テーブル200から伝送路IDフィールド206が「2」のクライアント用セッション情報240を取得する。クライアント用セッション情報240の状態フィールド203は「レスポンス受信」となっているので、リクエスト送信可能と判断して、クライアント用セッション情報240の状態フィールド203に「リクエスト受信」、Operationフィールド205に「Put」を設定する(図25)。
【0119】
次に、セッション制御手段107aは送信するOBEXパケットと伝送路IDをデータ送信手段101aに渡し、データ送信手段101aはシリアル伝送路120bに送信する。
【0120】
シリアル伝送路120bに接続されたリモート機器からPutレスポンスを受信した場合、データ受信手段102aは、受信したOBEXパケットと伝送路ID「2」をセッション制御手段107aに渡す。
【0121】
セッション制御手段107aはOBEXパケットの先頭1バイト目に設定されているレスポンスコードをオペレーションコードと仮定して取得し、オペレーションコード記憶手段106に登録されていないか検索する。
【0122】
ここで、取得したオペレーションコードは「0x10」なので、図8のオペレーションコード検索テーブル300からの検索に失敗する。セッション制御手段107aは、受信したOBEXパケットがレスポンスと判定し、図25のセッション情報管理テーブル200から伝送路IDが「2」のクライアント用セッション情報240を取得する。
【0123】
クライアント用セッション情報240の状態フィールド203は「リクエスト送信」となっているので、レスポンス受付可能と判断して、クライアント用セッション情報240の状態フィールド203に「レスポンス受信」を設定する(図26)。
【0124】
セッション制御手段107aは受信したOBEXパケットをオブジェクト交換手段108に渡す。
【0125】
オブジェクト交換手段108はパケット解析手段103を使用して、受信したOBEXパケットを解析し、Putが成功したことを確認し、次のオブジェクト交換の処理が必要であれば、前述のPut処理と同様の手順を繰り返す。
【0126】
なお、以上の説明では、シリアル伝送路を特に指定していないが、シリアル伝送路がRS−232C、赤外線通信(IrDA)、Bluetooth、LANなどの場合についても同様に実施可能である。
【0127】
【発明の効果】
以上のように第1の発明によれば、セッション制御手段が受信したオブジェクト通信パケットのオペレーションコードにより、サーバ動作時、クライアント動作時のセッション情報を選択するので、1:1通信時のシリアル伝送路の論理リンク上に仮想的なオブジェクト交換のマルチセッションを実現できるため、機器間のシリアル伝送路確保のためのリソースが少なくて済むという効果が得られる。
【0128】
また、第2の発明によれば、セッション制御手段がシリアル伝送路の論理リンク毎に、受信したオブジェクト通信パケットのオペレーションコードにより、サーバ動作時、クライアント動作時のセッション情報を選択するので、1:N通信時の複数のシリアル伝送路の論理リンクそれぞれに対して、仮想的なオブジェクト交換のマルチセッションを実現できるため、機器間のシリアル伝送路確保のためのリソースが少なくて済むという効果が得られる。
【図面の簡単な説明】
【図1】Bluetoothによるシリアルエミュレートの通信レイヤ「RFCOMM」を使用したオブジェクト交換システムにおいて、サーバ・クライアントの複数セッションを行う場合のシリアル伝送路の論理リンク数を示す概念図
【図2】従来のオブジェクト交換を行う機器間のセッションとシリアル伝送路の関係を示す概念図
【図3】本発明のオブジェクト交換を行う機器間のセッションとシリアル伝送路の関係を示す概念図
【図4】オブジェクト通信のリクエストパケットのフォーマットを示す図
【図5】オブジェクト通信のレスポンスパケットのフォーマットを示す図
【図6】本発明の一実施の形態によるマルチセッション制御装置の構成を示す図
【図7】本発明の一実施の形態によるセッション情報記憶手段105のセッション情報管理テーブルのデータ構造を示す図
【図8】本発明の一実施の形態によるオペコード記憶手段106のオペレーションコード検索テーブルのデータ構造を示す図
【図9】本発明の一実施の形態によるデータ受信時の処理手順を示すフローチャート
【図10】本発明の一実施の形態によるデータ送信時の処理手順を示すフローチャート
【図11】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図12】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図13】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図14】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図15】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図16】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図17】本発明の一実施の形態による複数のシリアル伝送路の論理リンクに対するマルチセッション制御装置の構成を示す図
【図18】本発明の一実施形態によるセッション情報記憶手段105のセッション情報管理テーブルのデータ構造を示す図
【図19】本発明の一実施の形態によるデータ受信時の処理手順を示すフローチャート
【図20】本発明の一実施の形態によるデータ送信時の処理手順を示すフローチャート
【図21】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図22】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図23】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図24】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図25】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【図26】本発明の一実施の形態によるセッション情報管理テーブル200の、ある時点での内容を表す図
【符号の説明】
100 本発明の一実施の形態を示すマルチセッション制御装置
101 データ送信手段
102 データ受信手段
103 パケット解析手段
104 パケット生成手段
105 セッション情報記憶手段
106 オペレーションコード記憶手段
107 セッション制御手段
108 オブジェクト交換手段
120 シリアル伝送路

Claims (2)

  1. オブジェクト交換を行うOBEX通信のサーバ役割および、クライアント役割を同一のシリアル伝送路の論理リンク上で実現するマルチセッション制御装置においてあって、
    シリアル伝送路の論理リンクにOBEXパケットを送信するデータ送信手段と、
    シリアル伝送路の論理リンクからOBEXパケットを受信するデータ受信手段と、
    OBEXパケットを解析するパケット解析手段と、
    OBEXパケットを生成するパケット生成手段と、
    リモート機器とのオブジェクト交換処理を行うオブジェクト交換手段と、
    サーバ・クライアントそれぞれのセッション情報を保持するセッション情報記憶手段と、
    OBEXパケットのオペレーションコードを記憶しているオペレーションコード記憶手段と、
    サーバ動作時のセッション情報とクライアント動作時のセッション情報を選択するセッション制御手段を備え、
    受信したOBEXパケットのオペレーションコードを解析してリクエストとレスポンスのどちらを受信したかを判定してセッション情報を選択することを特徴とするマルチセッション制御装置。
  2. 前記データ送信手段は複数のシリアル伝送路の論理リンクにデータをし、
    前記データ受信手段は複数のシリアル伝送路からデータを受信し、
    前記セッション情報記憶手段は複数のシリアル伝送路の論理リンクに対してサーバ・クライアントそれぞれのセッション情報を保持し、
    前記セッション制御手段は複数のシリアル伝送路の論理リンクに対してサーバ動作時のセッション情報とクライアント動作時のセッション情報を選択し、
    複数のシリアル伝送路の論理リンクから受信したOBEXパケットのオペレーションコードを解析してリクエストとレスポンスのどちらを受信したかを判定してシリアル伝送路の論理リンク毎にセッション情報を選択することを特徴とする請求項1記載のマルチセッション制御装置。
JP2002271127A 2002-09-18 2002-09-18 マルチセッション制御装置 Pending JP2004110345A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002271127A JP2004110345A (ja) 2002-09-18 2002-09-18 マルチセッション制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002271127A JP2004110345A (ja) 2002-09-18 2002-09-18 マルチセッション制御装置

Publications (1)

Publication Number Publication Date
JP2004110345A true JP2004110345A (ja) 2004-04-08

Family

ID=32268539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002271127A Pending JP2004110345A (ja) 2002-09-18 2002-09-18 マルチセッション制御装置

Country Status (1)

Country Link
JP (1) JP2004110345A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8957144B2 (en) 2011-06-28 2015-02-17 Styron Europe Gmbh Polycarbonate resin composition
US9216529B2 (en) 2011-08-02 2015-12-22 Trinseo Europe Gmbh Chemical resistant and fire retardant polycarbonate polyester composition
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8957144B2 (en) 2011-06-28 2015-02-17 Styron Europe Gmbh Polycarbonate resin composition
US9216529B2 (en) 2011-08-02 2015-12-22 Trinseo Europe Gmbh Chemical resistant and fire retardant polycarbonate polyester composition
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof

Similar Documents

Publication Publication Date Title
JP5588514B2 (ja) Macヘッダータイプ情報を用いたmacpdu送受信方法及び装置
JP4897884B2 (ja) Zigbee/ipゲートウェイ
JP5642791B2 (ja) Macヘッダーを用いたmacpdu送受信方法及び装置
US7693160B2 (en) Information processing device, port detecting device, information processing method, port detecting method, and program
CN101843079A (zh) 传输对潜在配置的选择
CN105723674A (zh) 用于在网络控制协议中动态地绑定头字段标识符的方法
KR20110003209A (ko) 지그비 게이트웨이, 이와 ip 네트워크를 통해 연동하는 ip 서비스 서버
JP6885736B2 (ja) 不均一ネットワークにまたがる統合されたデータ・ネットワーキング
WO2017041579A1 (zh) 一种实现链路质量检测方法及装置
JP2010193146A (ja) 通信装置および通信システム
JP2004248072A (ja) サービス提供装置、サービス利用装置、サービス提供システム、サービス提供方法、サービス利用方法、サービス提供プログラム及びサービス利用プログラム
JP2004110345A (ja) マルチセッション制御装置
CN103535075A (zh) 移动设备驱动的信息交换
Cisco Apple Talk
JP2013126219A (ja) 転送サーバおよび転送プログラム
JP4384951B2 (ja) アクセスポイント管理装置およびアクセスポイントのソフトウェアバージョンアップ方法
JP2003158548A (ja) パケット送信装置及びパケット送受信システム
CN110474781A (zh) 一种组播数据转发的方法及装置
TWI302794B (ja)
JP2002111668A (ja) ネットワーク構成表示装置
CN114205328B (zh) 一种opc数据转发方法及装置
US11089540B2 (en) Variable address length communication protocol
WO2024024280A1 (ja) 通信処理装置および通信方法
EP1241859A1 (en) Method and system for obtaining domain name and IP-address resolution
CN117501672A (zh) 支持基于ip的rapienet的通信设备及包括其的网络系统