(57)【特許請求の範囲】
【請求項１】
第１の通信ネットワークからパケットを受信するパケット受信手段と、
このパケット受信手段の受信したパケットが、終了位置にこれを示すための所定のパターンからなる制御信号列を配置した可変長パケットを伝送する第２の通信ネットワークへの転送の対象となる所定のデータを分割した分割データをその所定のデータの先頭からの順序を示す順序情報を付加した形で逐次送信されたものである場合、そのパケットを格納する分割データ格納手段と、
この分割データ格納手段に格納された各分割データをその順序情報が示す順序に従って順次読み出す分割データ読出手段と、
前記分割データ格納手段への分割データの格納あるいはいずれかの分割データの読み出しが行われるたびに、次に読み出しの対象とすべき分割データが前記分割データ格納手段に格納されているか否かの判別を行う次分割データ有無判別手段と、
この次分割データ有無判別手段が次に読み出しの対象とすべき分割データが格納されていると判別すると、前記分割データ読出手段に対して該当する分割データの読み出しを行わせる読出指示手段と、
前記分割データが前記分割データ格納手段から読み出されるたびに、この分割データ読出手段によって読み出された複数の分割データからなるデータに前記所定のパターンに一致する信号列としての特定信号列が存在するか否かの判別を行う特定信号列有無判別手段と、
前記複数の分割データからなるデータに対して、この特定信号列有無判別手段が前記特定信号列が存在すると判別した箇所についてはその特定信号列を前記第２の通信ネットワークの受信側との間で予め定められた所定の信号列に変換する処理を行う信号列変換処理手段と、
この信号列変換処理手段によって処理された各分割データを前記分割データ読出手段が読み出した順序に従って連結する分割データ連結手段と、
この分割データ連結手段によって連結された最初の分割データから連結された範囲内で順次分割データを前記可変長パケットに変換するフォーマット変換手段と、
このフォーマット変換手段ですべての分割データの変換が終了した時点で変換後の前記可変長パケットを前記第２のネットワークへと送出するデータ送信手段
とを具備することを特徴とするデータ転送装置。
【請求項２】
前記順序情報は、前記パケット受信手段が受信する各パケットのヘッダ部に記述されるシーケンス番号であり、
前記分割データ格納手段に分割データが格納されるたびに、その分割データに付加された前記シーケンス番号を取得する情報取得手段と、
この情報取得手段が取得したシーケンス番号をこのシーケンス番号が付加された分割データの前記分割データ格納手段における格納領域を示す領域情報に対応付けて記憶するシーケンス番号記憶手段とを更に具備し、
前記次分割データ有無判別手段は、このシーケンス番号記憶手段に次に読み出しの対象とすべき分割データに対応するシーケンス番号が記憶されているか否かを判別する次シーケンス番号有無判別手段を備え、
前記読出指示手段は、この次シーケンス番号有無判別手段によって該当するシーケンス番号が存在すると判別されると、そのシーケンス番号に対応する領域情報を出力する情報出力手段を備え、
前記分割データ読出手段は、この領域情報出力手段が出力する領域情報のそれぞれが指し示す前記分割データをその出力順序に従って前記分割データ格納手段から読み出す手段であることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記第１の通信ネットワークから送られてくる分割データにエラーが発生したとき、これを検出するエラー検出手段と、
このエラー検出手段がエラーを検出すると、該当する分割データの再送をその分割データの送信元に要求する分割データ再送要求手段
とを更に具備することを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記パケット受信手段は、無線通信によって前記パケットを受信する手段であることを特徴とする請求項１記載のデータ転送装置。
【請求項５】
前記データ送信手段は、ＲＦＣ１６６２に準拠した通信プロトコルを使用して送信を行う手段であることを特徴とする請求項１記載のデータ転送装置。
【請求項６】
第１の通信ネットワークからパケットを受信するパケット受信ステップと、
このパケット受信ステップで受信したパケットが、終了位置にこれを示すための所定のパターンからなる制御信号列を配置した可変長パケットを伝送する第２の通信ネットワークへの転送の対象となる所定のデータを分割した分割データをその所定のデータの先頭からの順序を示す順序情報を付加した形で逐次送信されたものである場合、そのパケットを分割データ格納手段に格納する分割データ格納ステップと、
前記分割データ格納手段に格納された各分割データをその順序情報が示す順序に従って順次読み出す分割データ読出ステップと、
前記分割データが前記分割データ格納手段から読み出されるたびに、この分割データ読出ステップによって読み出された複数の分割データからなるデータに前記所定のパターンに一致する信号列としての特定信号列が存在するか否かの判別を行う特定信号列有無判別ステップと、
前記複数の分割データからなるデータに対して、この特定信号列検索ステップで前記特定信号列が存在すると判別された箇所についてはその特定信号列を前記第２の通信ネットワークの受信側との間で予め定められた所定の信号列に変換する処理を行う信号列変換処理ステップと、
この信号列変換処理ステップによって処理された各分割データを前記分割データ読出ステップで読み出された順序に従って連結する分割データ連結ステップと、
この分割データ連結ステップで連結された最初の分割データから連結された範囲内で順次分割データを前記可変長パケットに変換するフォーマット変換ステップと、
このフォーマット変換ステップですべての分割データの変換が終了した時点で変換後の前記可変長パケットを前記第２のネットワークへと送出するデータ送信ステップ
とを具備することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信網の間でデータの転送を行うデータ転送装置およびデータ転送方法に係わり、特に終了位置にこれを示すための所定のパターンからなる制御信号列を配置した可変長パケットを伝送する通信網がデータの転送先となっている場合に好適なデータ転送装置およびデータ転送方法に関する。
【背景技術】
【０００２】
近年、インターネットとパーソナルコンピュータの双方に接続して通信の中継を行う携帯電話機に代表されるように、複数の通信網の間でデータの転送を行うデータ転送装置の普及が進んでいる。
【０００３】
図９は、このようなデータ転送装置が使用される通信システムの構成の一例を表わしたものである。この通信システム１０１には、インターネット１０２に接続された無線基地局１０３が配置されており、携帯電話機であるデータ転送装置１０４はこの無線基地局１０３と無線通信を行うことによってインターネット１０２に接続可能となっている。また、データ転送装置１０４には、パーソナルコンピュータ１０５が接続されており、無線基地局１０３から送られてきたパーソナルコンピュータ１０５宛てのデータをこれに転送する。また、パーソナルコンピュータ１０５から送られてきたデータを無線基地局１０３へと転送する。これにより、パーソナルコンピュータ１０５はデータ転送装置１０４を介してインターネット１０２に接続することができるようになっている。無線通信機能を備えていないパーソナルコンピュータ１０５でも屋外でのインターネット接続を可能にすることから、このようなデータ転送装置１０４は急速に普及が進んでいる。
【０００４】
このデータ転送装置１０４が行う無線基地局１０３との間の無線通信とパーソナルコンピュータ１０５との間の有線通信は、いずれも送信の対象となるデータをパケット化して伝送するようになっているが、それぞれ異なった通信プロトコルが使用されている。したがって、データ転送装置１０４では、無線基地局１０３から受信したパケットから元の転送の対象となるデータ本体（以下、転送データという。）を抽出し、パーソナルコンピュータ１０５へと送信するために再びパケット化するといったプロトコル変換の処理を行うようになっている。
【０００５】
また、送信の対象となるデータが１つのパケットに収まりきらない場合には、その先頭からパケットに格納できる長さごとに分割されていき、順にパケット化されてネットワークに送出される。したがって、無線基地局１０３の送出順序と同じ順序で各パケットがデータ転送装置１０４に到着する場合には、データ転送装置１０４は受信した順序で各パケットのペイロード部を連結していけば、最終的にこの元の転送データを復元することができる。
【０００６】
しかしながら、無線基地局１０３との間で行われる無線通信では、雑音等によりパケットにビットエラーが生じ易いという問題がある。また、ここでは接続する通信ネットワークを無線通信ネットワークとしているが、有線による通信ネットワークでも、同様にビットエラーやパケットの紛失あるいは廃棄が発生する場合がある。このようなパケットエラーが発生した場合には、該当するパケットの再送を送信元に要求することが従来より行われているが、このときパケットの再送分が遅れて到着することになり、前記したように単に受信順序で各パケットのペイロード部を連結していくと元の転送データを正しく復元することができない。
【０００７】
そこで、受信した各パケットのペイロード部の順序を整えてから連結することが従来より行われている（たとえば特許文献１参照）。この第１の提案では、送信側で各パケットに付されたそれぞれのパケットに格納されたデータの元の転送データ中の配置の順序を示すシーケンス番号を基に、先頭から順に連続して各パケットを正常に受信しているかを逐次判別する。そして、連続して正常に受信している間は各パケットのペイロード部を受信順に連結していくが、パケットが欠落したり受信パケットにエラーが発生するなどして不連続となった場合には、その不連続部分以降の受信パケットを一旦メモリに格納しておき、再送処理によって該当するパケットが到着するまで以降の連結処理の実行を待つようにしている。これにより、受信パケットの順序に関係なく元の転送データを正しく復元し、その送信先へと送り出すことができる。
【特許文献１】特開２０００−１３４２６３号公報（第００２２、第００２３段落、図２、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、復元した転送データをそのままパーソナルコンピュータ１０５に転送すると問題が生じることがある。たとえば、図９に示した通信システム１０１のデータ転送装置１０４とパーソナルコンピュータ１０５との間で行われるような通信には、ＩＴＥＦ（Internet Engineering Task Force）で規定されたＲＦＣ（Request For Comments）１６６２に準拠した通信プロトコルが多く使用されている。この通信プロトコルはＰＰＰ（Point-to-Point Protocol）の一つであり、フラグシーケンスと呼ばれる特定のデータ列をパケットの開始位置と終了位置に配置することによって、個々のパケットを受信側で検出するようになっている。ところが、フラグシーケンスに一致するデータ列が無線基地局１０３から受信した転送データ中にたまたま存在していると、パーソナルコンピュータ１０５で誤ったパケット検出を行ってしまう恐れがある。
【０００９】
そこで、ＲＦＣ（Request For Comments）１６６２では、送信の対象となるデータにフラグシーケンスに一致するデータ列が含まれているかを調べ、含まれている場合にはそのデータ列を他のデータ列に変換するといったフォーマット変換の処理を行うことが定められている。フラグシーケンスを２進数表記で「０１１１１１１０」としているため、値「１」が５つ以上連続して続くようなデータ列が存在する場合には、５つごとに値「０」を挿入する。そして、受信側では値「１」が５つ連続した場合には、その直後の値「０」を除去するように定めている。これにより、前記したパケットの誤検出を防ぐようにしている。
【００１０】
ところが、このようなフォーマット変換は転送データの受信速度や送信速度に比べて遅いのが通常である。このため、データ転送装置で処理遅延が発生し、その結果、転送処理速度の低下を招いてしまう。データ転送装置を経由して通信を行う通信機器に対してより快適な通信環境を実現するためにも、このような転送処理速度の低下をできるだけ抑えられることが望ましい
【００１１】
そこで本発明の目的は、転送の対象となるデータにパケットの終了位置を表すための制御信号列と同じパターンの信号列が存在する場合にはその信号列を他の信号列に変換する処理を行う場合に、転送処理速度の低下をできるだけ抑えることが可能なデータ転送装置およびデータ転送方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明では、（イ）第１の通信ネットワークからパケットを受信するパケット受信手段と、（ロ）このパケット受信手段の受信したパケットが、終了位置にこれを示すための所定のパターンからなる制御信号列を配置した可変長パケットを伝送する第２の通信ネットワークへの転送の対象となる所定のデータを分割した分割データをその所定のデータの先頭からの順序を示す順序情報を付加した形で逐次送信されたものである場合、そのパケットを格納する分割データ格納手段と、（ハ）この分割データ格納手段に格納された各分割データをその順序情報が示す順序に従って順次読み出す分割データ読出手段と、（ニ）前記した分割データ格納手段への分割データの格納あるいはいずれかの分割データの読み出しが行われるたびに、次に読み出しの対象とすべき分割データが前記した分割データ格納手段に格納されているか否かの判別を行う次分割データ有無判別手段と、（ホ）この次分割データ有無判別手段が次に読み出しの対象とすべき分割データが格納されていると判別すると、前記した分割データ読出手段に対して該当する分割データの読み出しを行わせる読出指示手段と、（へ）前記した分割データが前記した分割データ格納手段から読み出されるたびに、この分割データ読出手段によって読み出された複数の分割データからなるデータに前記した所定のパターンに一致する信号列としての特定信号列が存在するか否かの判別を行う特定信号列有無判別手段と、（ト）前記した複数の分割データからなるデータに対して、この特定信号列有無判別手段が前記した特定信号列が存在すると判別した箇所についてはその特定信号列を前記した第２の通信ネットワークの受信側との間で予め定められた所定の信号列に変換する処理を行う信号列変換処理手段と、（チ）この信号列変換処理手段によって処理された各分割データを前記した分割データ読出手段が読み出した順序に従って連結する分割データ連結手段と、（リ）この分割データ連結手段によって連結された最初の分割データから連結された範囲内で順次分割データを前記した可変長パケットに変換するフォーマット変換手段と、（ヌ）このフォーマット変換手段ですべての分割データの変換が終了した時点で変換後の前記した可変長パケットを前記した第２のネットワークへと送出するデータ送信手段とをデータ転送装置に具備させる。
【００１５】
また本発明では、（イ）第１の通信ネットワークからパケットを受信するパケット受信ステップと、（ロ）このパケット受信ステップで受信したパケットが、終了位置にこれを示すための所定のパターンからなる制御信号列を配置した可変長パケットを伝送する第２の通信ネットワークへの転送の対象となる所定のデータを分割した分割データをその所定のデータの先頭からの順序を示す順序情報を付加した形で逐次送信されたものである場合、そのパケットを分割データ格納手段に格納する分割データ格納ステップと、（ハ）前記した分割データ格納手段に格納された各分割データをその順序情報が示す順序に従って順次読み出す分割データ読出ステップと、（ニ）前記した分割データが前記した分割データ格納手段から読み出されるたびに、この分割データ読出ステップによって読み出された複数の分割データからなるデータに前記した所定のパターンに一致する信号列としての特定信号列が存在するか否かの判別を行う特定信号列有無判別ステップと、（ホ）前記した複数の分割データからなるデータに対して、この特定信号列検索ステップで前記した特定信号列が存在すると判別された箇所についてはその特定信号列を前記した第２の通信ネットワークの受信側との間で予め定められた所定の信号列に変換する処理を行う信号列変換処理ステップと、（へ）この信号列変換処理ステップによって処理された各分割データを前記した分割データ読出ステップで読み出された順序に従って連結する分割データ連結ステップと、（ト）この分割データ連結ステップで連結された最初の分割データから連結された範囲内で順次分割データを前記した可変長パケットに変換するフォーマット変換ステップと、（チ）このフォーマット変換ステップですべての分割データの変換が終了した時点で変換後の前記した可変長パケットを前記した第２のネットワークへと送出するデータ送信ステップとをデータ転送方法に具備させる。
【発明の効果】
【００１７】
以上説明したように本発明によれば、分割データが分割データ格納手段から読み出されるたびに特定信号列が存在するか否かの判別を行い、必要な変換処理を行うようにしている。これにより、変換処理を前倒しで行うことができ、より早く必要な変換処理の全てを完了することができる。すなわち、転送処理速度の低下をできるだけ抑えることが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００１９】
図１は、本発明の一実施例によるデータ転送装置が使用される通信システムの構成を表わしたものである。この通信システム２０１には、インターネット２０２に接続された無線基地局２０３と、この無線基地局２０３と無線通信を行うことによってインターネット２０２に接続可能となっている携帯電話機２０４が配置されている。また、携帯電話機２０４には、ＵＳＢ（Universal Serial Bus）ケーブル２０５を介してパーソナルコンピュータ２０６が接続されている。
【００２０】
無線基地局２０３と携帯電話機２０４は、３ＧＰＰ（3rd Generation Partnership Project）で標準化された第３世代移動通信方式であるＷ−ＣＤＭＡ（Wideband - Code Division Multiple Access）に準拠した無線通信を行うようになっている。Ｗ−ＣＤＭＡでは、ＲＬＣ（Radio Layer Control）プロトコルと呼ばれる通信プロトコルを使用してデータリンク層でのパケットの再送を実現するようになっている。以下、ＲＬＣプロトコルで送受信されるパケットを、ＲＣＬ−ＰＤＵ（RCL - Protocol Data Unit）という。
【００２１】
また、携帯電話機２０４では、データリンク層よりも上位のレイヤでＴＬＰ−Ｕ（Terminal Link Protocol for U-plan）と呼ばれる通信プロトコルを使用している。また、このレイヤでは、ＲＣＬ−ＰＤＵに格納されたデータから元のユーザデータを復元するとともに、パーソナルコンピュータ２０６へと転送できるように後に説明するユーザデータのフォーマット変換を行う。すなわち、パーソナルコンピュータ２０６は、携帯電話機２０４を利用してインターネット２０２に接続し、インターネット２０２側から送られてくるユーザデータを受信できるようになっている。
【００２２】
図２は、携帯電話機の構成を表わしたものである。携帯電話機２０４は、無線基地局２０３（図１）と無線通信を行うための無線通信処理部２１１と、この無線通信処理部２１１が受信した信号からＲＣＬ−ＰＤＵを抽出してデータリンク層での受信処理を行うＲＬＣ−ＰＤＵ受信処理部２１２を備えている。また、ユーザデータの復元およびフォーマット変換を行って変換後データを生成するユーザデータ変換処理部２１３を備えている。そして、ＲＬＣ−ＰＤＵ受信処理部２１２が受信した各ＲＬＣ−ＰＤＵを一時的に格納するためのＲＬＣ−ＰＤＵ格納部２１４と、ユーザデータ変換処理部２１３が変換後データを格納するための変換後データ格納部２１５を備えており、それぞれユーザデータ変換処理部２１３に接続されている。携帯電話機２０４には、更にフォーマット変換の対象となるデータのＲＬＣ−ＰＤＵ格納部２１４上のアドレスを指し示すポインタを順次生成してユーザデータ変換処理部２１３に渡すポインタ生成処理部２１６が備えられており、ユーザデータ変換処理部２１３に接続されている。また、ＵＳＢケーブル２０５を介して図１のパーソナルコンピュータ２０６との通信を行うＵＳＢ通信処理部２１７が備えられており、ユーザデータ変換処理部２１３および変換後データ格納部２１５に接続されている。
【００２３】
携帯電話機２０４は、図示しないＣＰＵ（中央処理装置）と制御プログラムを格納したＲＯＭ（Read Only Memory）等の記憶媒体およびＲＡＭ（Random Access Memory）等の作業用メモリを備えており、ＲＬＣ−ＰＤＵ受信処理部２１２とユーザデータ変換処理部２１３およびポインタ生成処理部２１６は、ＣＰＵが制御プログラムを実行することによって実現される。無線通信処理部２１１は、図示しないが既存のハードウェアとしての無線通信回路を備えており、更に受信した無線データをＣＰＵで処理可能なデータ形式に変換するようになっている。ＵＳＢ通信処理部２１７も、図示しないが既存のハードウェアとしての通信回路を備えている。また、ＲＬＣ−ＰＤＵ格納部２１４および変換後データ格納部２１５は、制御プログラムが実行されて格納の対象となるデータがＲＡＭに書き込まれることによって実現される。
【００２４】
無線基地局２０３は、インターネット２０２から送られてきたパーソナルコンピュータ２０６宛てのユーザデータを、ＲＬＣ−ＰＤＵに格納させて携帯電話機２０４に送信する。ただし、送信の対象となるユーザデータのサイズが１つのＲＬＣ−ＰＤＵに格納しきれない場合には、ユーザデータを分割し、複数のＲＣＬ−ＰＤＵに格納させ、携帯電話機２０４に送信するようになっている。
【００２５】
図３は、ユーザデータが分割されて複数のＲＬＣ−ＰＤＵに格納される様子を表わしたものである。ＲＬＣ−ＰＤＵ２２１は４２バイトの固定長のパケットであり、ペイロード部として格納できるデータサイズは最大で４０バイトである。無線基地局２０３は、携帯電話機２０４への送信の対象となるユーザデータ２２２が４０バイト以上の場合、データの先頭２２３から４０バイトずつ分割してそれぞれをＲＬＣ−ＰＤＵ２２１に格納し、各ＲＬＣ−ＰＤＵ２２１のヘッダ部には分割した順に値「１」から開始するシーケンス番号を昇順で付加する。ここでは、あるユーザデータ２２２がｎ個に分割され、シーケンス番号「１」〜「ｎ」のＲＬＣ−ＰＤＵ２２１1〜２２１nに分割された順に格納され、送信が行われたとする。なお、図中の記号Ｓの添え字は、各ＲＬＣ−ＰＤＵ２２１のシーケンス番号を示している。
【００２６】
図２に戻って説明を続ける。携帯電話機２０４のＲＬＣ−ＰＤＵ受信処理部２１２は、受信したそれぞれのＲＬＣ−ＰＤＵ２２１をＲＬＣ−ＰＤＵ格納部２１４に格納していくとともに、各ＲＬＣ−ＰＤＵのシーケンス番号が連続しているかどうかをチェックし、ＲＬＣ−ＰＤＵ２２１の紛失を検出する。更に、無線基地局２０３側でそれぞれのＲＬＣ−ＰＤＵ２２１に付加されたチェックビットを基にして、ＣＲＣ（Cyclic Redundancy Check）によるパケットのデータ誤りの検出を行うようになっている。ＲＬＣ−ＰＤＵ２２１のデータ誤りや紛失が検出された場合には、そのシーケンス番号を指定して無線基地局２０３に該当するＲＬＣ−ＰＤＵ２２１の再送を要求する。
【００２７】
ポインタ生成処理部２１６は、後に説明する処理によってＲＬＣ−ＰＤＵ格納部２１４に格納される各ＲＬＣ−ＰＤＵ２２１のペイロード部を指し示すポインタを、シーケンス番号順にユーザデータ変換処理部２１３へと渡す。そして、ユーザデータ変換処理部２１３は、各ポインタが指し示すＲＬＣ−ＰＤＵ２２１のペイロード部を、その受け取った順にＲＬＣ−ＰＤＵ格納部２１４から読み出し、順次連結させる形で変換後データ格納部２１５に格納していく。この結果、最終的に変換後データ格納部２１５では元のユーザデータ２２２が復元されることになる。
【００２８】
携帯電話機２０４のＵＳＢ通信処理部２１７は、ＩＴＥＦで規定されたＲＦＣ１６６２に準拠した通信プロトコルを使用してパーソナルコンピュータ２０６との通信を行うようになっている。この通信プロトコルでは、各データフレームの開始位置と終了位置に、フラグシーケンスと呼ばれる特定のデータ列を配置するようにしており、受信側ではこのフラグシーケンスを検出することによってフレーム同期をとるようになっている。このフラグシーケンスは２進数表記で「０１１１１１１０」と定められている。ＵＳＢ通信処理部２１７は、変換後データ格納部２１５のユーザデータ２２２を適宜分割し、データフレームに格納して送信するが、このユーザデータ２２２にたまたまこのデータ列「０１１１１１１０」が含まれていた場合、パーソナルコンピュータ２０６がこれをデータフレームの開始位置あるいは終了位置と誤って検出し、通信に支障をきたす恐れがある。
【００２９】
そこで、ユーザデータ変換処理部２１３は、データを変換後データ格納部２１５に格納させる際にＲＦＣ１６６２に準拠したフォーマット変換を行い、このような問題が発生するのを防ぐようにしている。具体的には、値「１」が５つ以上連続して続く部分が存在するかを調べ、存在する場合には５つごとに値「０」を挿入してから、変換後データ格納部２１５に格納する。ＵＳＢ通信処理部２１７は、このようにして生成された変換後データを変換後データ格納部２１５から読み出し、データフレームに格納してパーソナルコンピュータ２０６へと送信する。そして、パーソナルコンピュータ２０６側では、値「１」が５つ連続した場合にはその直後に挿入された値「０」を除去するようにしている。
【００３０】
これにより、転送データ中にはフラグシーケンスと一致するデータ列が存在しなくなり、前記したフレームの誤検出を防ぐことができるとともに、最終的に元のユーザデータを復元することができる。なお、値「１」が５つ以上連続する部分は複数のＲＬＣ−ＰＤＵ２２１にまたがっている場合もあるが、たとえば５つ目のみが次のＲＬＣ−ＰＤＵ２２１に格納されていた場合でもこれの直後に値「０」を挿入させればよいので、このような連結前のフォーマット変換においても特に問題は生じない。
【００３１】
更に、このようなフォーマット変換の処理速度はデータの受信速度よりも遅い場合が多い。そこで、受信した各ＲＬＣ−ＰＤＵ２２１を一旦ＲＬＣ−ＰＤＵ格納部２１４に格納させておき、ユーザデータ変換処理部２１３はここから各ＲＬＣ−ＰＤＵ２２１のペイロード部を読み出すようにすることによって、このような処理速度の差にも対応できるようにしている。
【００３２】
また、シーケンス番号「１」〜「ｎ」のＲＬＣ−ＰＤＵ２２１1〜２２１nの全てがＲＬＣ−ＰＤＵ格納部２１４に格納されてから、各ＲＬＣ−ＰＤＵ２２１のペイロード部のアドレスを指定するポインタをシーケンス番号の小さい順にユーザデータ変換処理部２１３へと渡すようにすると、変換を完了するまでに時間が掛かり、パーソナルコンピュータ２０６に送信するまでの処理時間が長くなってしまう。また、この処理時間は、ユーザデータ２２２のサイズが大きくなればなるほど長くなる。一方で、データ誤りや紛失のあったＲＬＣ−ＰＤＵ２２１が再送される前にポインタを渡していってしまうと、ユーザデータに欠落部分が生じてしまう。
【００３３】
そこで、この実施例のポインタ生成処理部２１６は、全ての格納が完了していなくても、シーケンス番号の先頭から連続して格納されている範囲について、適切なポインタを順次ユーザデータ変換処理部２１３に渡していき、変換処理をできるだけ前倒しで行わせるようにする。
【００３４】
図４は、ポインタ生成処理部のポインタ生成処理の流れを表わしたものである。図１〜図３と共に説明する。ポインタ生成処理部２１６は、まずポインタの指定の対象となるＲＬＣ−ＰＤＵ２２１のシーケンス番号を示す変数である後続シーケンス番号に、初期値として値「１」を設定する（ステップＳ３０１）。ポインタ生成処理部２１６は、ＲＬＣ−ＰＤＵ受信処理部２１２が無線基地局２０３から新たなＲＬＣ−ＰＤＵ２２１を受信し、これをＲＬＣ−ＰＤＵ格納部２１４へと格納するのを逐次監視している。そして、ＲＬＣ−ＰＤＵ２２１がＲＬＣ−ＰＤＵ格納部２１４に格納されると（ステップＳ３０２：Ｙ）、そのシーケンス番号と、そのペイロード部のＲＬＣ−ＰＤＵ格納部２１４の中の格納位置を示すアドレスを取得する（ステップＳ３０３）。
【００３５】
そして、取得したシーケンス番号をその時点の後続シーケンス番号と比較し（ステップＳ３０４）、一致する場合には（Ｙ）、次にポインタ指定の対象とすべきＲＬＣ−ＰＤＵ２２１が格納されたということになる。したがって、取得したアドレスを指し示すポインタをユーザデータ変換処理部２１３へ渡すとともに、更に次のＲＬＣ−ＰＤＵ２２１へと処理を移すために、後続シーケンス番号の値を１つ増やす（ステップＳ３０５）。
【００３６】
取得したシーケンス番号が後続シーケンス番号と一致しない場合には（ステップＳ３０４：Ｎ）、次にポインタ指定の対象とすべきＲＬＣ−ＰＤＵ２２１ではないということになる。したがって、シーケンス番号とアドレスとを対応付けて図示しない記憶領域に記憶しておき（ステップＳ３０６）、ステップＳ３０２へ戻って再び新たなＲＬＣ−ＰＤＵ２２１が格納されるのを待機する。すなわち、次にポインタ指定の対象とすべきデータを格納したＲＬＣ−ＰＤＵ２２１が受信されるまで、ステップＳ３０２からステップＳ３０６までの処理が繰り返され、受信した各ＲＬＣ−ＰＤＵ２２１のシーケンス番号とアドレスとが次々と記憶されることになる。
【００３７】
ステップＳ３０５でユーザデータ変換処理部２１３にポインタを渡した後、まだ元のユーザデータ２２２を復元するのに必要な全てのＲＬＣ−ＰＤＵ２２１についてポインタを渡して終えていない場合には（ステップＳ３０７）、後続シーケンス番号に一致するシーケンス番号が前記した記憶領域に記憶されているか否かを判別する（ステップＳ３０８）。記憶されていない場合には（Ｎ）、ステップＳ３０２に戻って新たなＲＬＣ−ＰＤＵ２２１が格納されるのを待機する。記憶されている場合には（ステップＳ３０８：Ｙ）、次にポインタ指定の対象とすべきＲＬＣ−ＰＤＵ２２１が既にＲＬＣ−ＰＤＵ格納部２１４に格納されていることになるので、ステップＳ３０５へ戻り、対応して記憶されているアドレスを指し示すポインタをユーザデータ変換処理部２１３へ渡す。このとき、ステップＳ３０８の処理をより高速に行えるように、記憶領域から該当する情報を削除するようにしてもよい。
【００３８】
ＲＬＣ−ＰＤＵ受信処理部２１２は、元のユーザデータ２２２を復元するのに必要なＲＬＣ−ＰＤＵ２２１の最後のシーケンス番号をポインタ生成処理部２１６に通知するようになっている。この最後のシーケンス番号により、ポインタ生成処理部２１６は元のユーザデータ２２２を復元するのに必要な全てのＲＬＣ−ＰＤＵ２２１についてポインタを渡し終えたか否かを判別する（ステップＳ３０７）。全てのＲＬＣ−ＰＤＵ２２１についてポインタを渡し終えると（Ｙ）、ステップＳ３０１へ戻って後続シーケンス番号を初期化し、次のユーザデータについてのＲＬＣ−ＰＤＵ２２１がＲＬＣ−ＰＤＵ格納部２１４に格納されるのを待機する（リターン）。このようにして、正しい順序でチェーン化されたポインタが、ポインタ生成処理部２１６からユーザデータ変換処理部２１３へと渡される。
【００３９】
図５は、ユーザデータ変換処理部のユーザデータ変換処理の流れを表わしたものである。図２および図３と共に説明する。ユーザデータ変換処理部２１３は、ポインタ生成処理部２１６からポインタを渡されると（ステップＳ３２１：Ｙ）、ＲＬＣ−ＰＤＵ格納部２１４の該当する領域からデータを読み出し、フォーマット変換をして変換後データ格納部２１５に格納する（ステップＳ３２２）。すなわち、ＲＬＣ−ＰＤＵ格納部２１４のポインタが指し示すアドレスで開始される４０バイトの領域から、データの読み出しを行う。また、フォーマット変換は既に説明したように値「１」が５つ以上連続するか否かを監視し、連続する場合には５つ目ごとに値「０」を挿入する処理である。したがって、あるＲＬＣ−ＰＤＵ２２１のペイロード部の最後のビットが値「１」であった場合には、そのビットを含めて値「１」がいくつ連続していたかを記憶しておき、次のＲＬＣ−ＰＤＵ２２１のペイロード部の前に連続しているものとしてフォーマット変換を行う。すなわち、直前に読み出したデータ列の最後の４ビットが全て値「１」であり、新たに読み出したデータ列の最初の１ビットが値「１」であった場合には、この１ビットの直後に値「０」を挿入するというように、直前のデータ列との関係でフォーマット変換は行われる。
【００４０】
まだユーザデータの全ての範囲についてのフォーマット変換が完了していない場合には（ステップＳ３２３：Ｎ）、ステップＳ３２１へ戻って引き続きポインタの受け取りを待機する。ユーザデータの全ての範囲のフォーマット変換が完了した場合には（ステップＳ３２３：Ｙ）、ＵＳＢ通信処理部２１７に対して変換後データ格納部２１５に格納された該当する変換後データをパーソナルコンピュータ２０６へと送信させる（ステップＳ３２４）。そして、再び新たなユーザデータについてポインタがポインタ生成処理部２１６から渡されるのを待機する（リターン）。なお、ステップＳ３２２およびステップＳ３２３を実行している間に後続するポインタがポインタ生成処理部から渡される場合もある。このため、ユーザデータ変換処理部２１３には受け取ったポインタを順に記憶する図示しないバッファメモリが備えられており、ステップＳ３２１ではこのバッファメモリからポインタを取得するようになっている。
【００４１】
以下、以上説明した処理によってＲＬＣ−ＰＤＵ格納部に格納された各ＲＬＣ−ＰＤＵを基に変換後データ格納部で変換後データが生成されていく様子について説明する。無線基地局２０３でシーケンス番号「１」〜「ｎ」のＲＬＣ−ＰＤＵ２２１1〜２２１nの送信が開始された後の所定の時刻を第１の時刻、更に時間が経過した所定の時刻を第２の時刻とする。
【００４２】
図６は、ＲＬＣ−ＰＤＵ格納部に格納された各ＲＬＣ−ＰＤＵを基に変換後データ格納部で変換後データが生成されていく様子を表わしたものである。図４と共に説明を行う。無線基地局２０３でシーケンス番号「１」〜「ｎ」のＲＬＣ−ＰＤＵ２２１1〜２２１nの送信が開始されてから第１の時刻までの間に、シーケンス番号「４」と、「６」および「１０」のＲＬＣ−ＰＤＵ２２１4、２２１6、２２１10を除いたシーケンス番号「１２」までの各ＲＬＣ−ＰＤＵ２２１が、シーケンス番号の小さいものから順にＲＬＣ−ＰＤＵ格納部２１４に格納されていったとする。
【００４３】
シーケンス番号「１」〜「３」のＲＬＣ−ＰＤＵ２２１1〜２２１3までは連続しているため、図４のステップＳ３０１に始まり、ステップＳ３０２〜Ｓ３０５、Ｓ３０７、Ｓ３０８の処理が繰り返されることになる。したがって、シーケンス番号「１」〜「３」のＲＬＣ−ＰＤＵ２２１1〜２２１3に格納されたデータは順次変換される。
【００４４】
ところが、シーケンス番号「３」の次に格納されたＲＬＣ−ＰＤＵ２２１のシーケンス番号は「５」であり、その時点での後続シーケンス番号「４」に一致しないため（図４のステップＳ３０４：Ｎ）、ポインタは渡されずに、シーケンス番号「５」とそのアドレスが図示しない記憶領域に記憶される（図４のステップＳ３０６）。以降のＲＬＣ−ＰＤＵ２２１についても、後続シーケンス番号は「４」のまま、同様にステップＳ３０２からステップＳ３０６までの処理が繰り返される。したがって、同図に示すように、変換後データ格納部２１５にはシーケンス番号「１」〜「３」のＲＬＣ−ＰＤＵ２２１1〜２２１3に対応する部分のみ変換データが生成される。
【００４５】
図７は、図６よりも時間が経過したときの変換後データ格納部で変換後データが生成されていく様子を表わしたものである。図４と共に説明を行う。第１の時刻から更に時間が経過した第２の時刻までに、シーケンス番号「４」と、「６」および「１３」〜「１６」のＲＬＣ−ＰＤＵ２２１4、２２１6、２２１13〜２２１16の格納がこの順序で行われたとする。シーケンス番号「４」のＲＬＣ−ＰＤＵ２２１4が格納されると、その時点での後続シーケンス番号「４」に一致するため（図４のステップＳ３０４：Ｙ）、そのアドレスを指し示すポインタがユーザデータ変換処理部２１３へと渡され、後続シーケンス番号は「５」となる（図４のステップＳ３０５）。シーケンス番号「５」のＲＬＣ−ＰＤＵ２２１5は既に格納されており、シーケンス番号「５」は記憶されているので（図４のステップＳ３０８：Ｙ）、対応して記憶されたアドレスを指し示すポインタがユーザデータ変換処理部２１３へと渡され、後続シーケンス番号は「６」となる（図４のステップＳ３０５）。
【００４６】
次にはシーケンス番号「６」のＲＬＣ−ＰＤＵ２２１6が格納され、更に後続するシーケンス番号「７」〜「９」は記憶領域に記憶されている。したがって、シーケンス番号「６」〜「９」のＲＬＣ−ＰＤＵ２２１6〜２２１9のアドレスを指し示すポインタが次々とユーザデータ変換処理部２１３へと渡される。後続シーケンス番号は「１０」となるため、記憶領域に記憶されたシーケンス番号「１１」および「１２」はそのままとなり、更に格納されるシーケンス番号「１３」〜「１６」の２２１13〜２２１16それぞれのシーケンス番号とアドレスも追加で記憶される。すなわち、フォーマット変換はまだ行われない。したがって、同図に示すように、変換後データ格納部２１５にはシーケンス番号「４」〜「９」のＲＬＣ−ＰＤＵ２２１4〜２２１9に対応する部分のみ変換データが生成される。このようにして、各ＲＬＣ−ＰＤＵ２２１のペイロード部は、シーケンス番号「１」から連続して受信されている範囲内で、それぞれ迅速にフォーマット変換されることになる。
【００４７】
図８は、参考のためにＲＬＣ−ＰＤＵ格納部に全てのＲＬＣ−ＰＤＵが格納されてから変換を開始した場合の変換後データ格納部で変換後データが生成されていく様子を表わしたものである。ＲＬＣ―ＰＤＵ２１２によって、同図に示すように最終的にはシーケンス番号「１」〜「ｎ」のＲＬＣ−ＰＤＵ２２１1〜２２１nがＲＬＣ―ＰＤＵ格納部２１４に格納されることになる。ただし、各ＲＬＣ−ＰＤＵ２２１の受信の進行状況やフォーマット変換の処理速度が図６や図７と同様であったとすると、この状態になる時刻は前記した第２の時刻よりも後の時刻となる。この時刻を第３の時刻とすると、この手法では第３の時刻からフォーマット変換を開始することになる。すなわち、第１の時刻でシーケンス番号「１」〜「３」のＲＬＣ−ＰＤＵ２２１1〜２２１3について、第２の時刻でシーケンス番号「４」〜「９」のＲＬＣ−ＰＤＵ２２１4〜２２１9についてそれぞれフォーマット変換を開始している本実施例の手法よりも、フォーマット変換の完了時刻が遅くなることは明らかである。
【００４８】
以上説明したように本実施例では、受信した各ＲＬＣ−ＰＤＵ２２１をＲＬＣ−ＰＤＵ格納部２１４に格納し、そのシーケンス番号の順序に従ってポインタを出力し、ユーザデータ変換処理部２１３はその出力順序に従ってそれぞれのポインタが指し示すデータをＲＬＣ−ＰＤＵ格納部２１４から読み出す。そして、読み出した各データに対してフォーマット変換するとともに、順次変換後データ格納部２１５に格納していき、その結果としてフォーマット変換された元のユーザデータが生成される。これにより、フォーマット変換の処理速度が受信速度に比べて遅い場合でも対応させることができるとともに、再送等の処理によって各ＲＬＣ−ＰＤＵ２２１の受信順序が前後してしまった場合にも正しくユーザデータを組み立てることができる。また、次にポインタ指定の対象とすべきＲＬＣ−ＰＤＵ２２１のシーケンス番号を常に管理しておき、新たに受信したＲＬＣ−ＰＤＵや過去に受信したＲＬＣ−ＰＤＵのいずれかのシーケンス番号に一致するか否かを逐次判別する。そして、一致する場合には、該当するＲＬＣ−ＰＤＵのペイロード部のアドレスを指し示すポインタをユーザデータ変換処理部２１３へと渡すようにしている。これにより、後続のＲＬＣ−ＰＤＵ２２１の受信状況に係わらず、シーケンス番号「１」から連続している範囲内で、ＲＬＣ−ＰＤＵ格納部２１４に格納された各ＲＬＣ−ＰＤＵ２２１のペイロード部を即時に変換していくことができる。すなわち、ユーザデータの全ての受信が完了する前にフォーマット変換を開始することができ、ユーザデータの全ての受信が完了してからフォーマット変換を開始するよりも、変換処理をより迅速に完了することが可能となる。
【００４９】
なお、ユーザデータの全体の復元が完了してから送出する場合を説明したが、複数のデータフレームに分割して格納されるような場合には、全体の復元が完了していない段階でも、ユーザデータの先頭から連続して復元が完了している部分のみを先に送出するようにしてもよい。また、ＲＬＣ―ＰＤＵ格納部２１４に格納される各ＲＬＣ−ＰＤＵ２２１のシーケンス番号やアドレスの記憶を行わずに、後続シーケンス番号をＲＬＣ―ＰＤＵ格納部２１４で直接に検索するようにしてもよい。また、実施例では受信した各ＲＬＣ−ＰＤＵをそのまま格納するようにしたが、それぞれのペイロード部のみを格納するようにしてもよい。また、無線通信によりＲＬＣ−ＰＤＵを受信し、ＲＬＣ−ＰＤＵに格納されたユーザデータをパーソナルコンピュータへ送信するためにフォーマット変換する携帯電話機を例として説明したが、分割された状態で送られてくる転送データに対して変換処理を行うような他の各種データ転送装置に適用できることはもちろんである。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施例によるデータ転送装置が使用される通信システムの構成を表わしたシステム構成図である。
【図２】本発明の実施例による携帯電話機の構成を表わした構成図である。
【図３】本発明の実施例によるユーザデータが分割されて複数のＲＬＣ−ＰＤＵに格納される様子を表わした説明図である。
【図４】本発明の実施例によるポインタ生成処理部のポインタ生成処理の流れを表わした流れ図である。
【図５】本発明の実施例によるユーザデータ変換処理部のユーザデータ変換処理の流れを表わした流れ図である。
【図６】本発明の実施例によるＲＬＣ−ＰＤＵ格納部に格納された各ＲＬＣ−ＰＤＵを基に変換後データ格納部で変換後データが生成されていく様子を模式的に表わした説明図である。
【図７】本発明の実施例による図６よりも時間が経過したときの変換後データ格納部で変換後データが生成されていく様子を模式的に表わした説明図である。
【図８】ＲＬＣ−ＰＤＵ格納部に全てのＲＬＣ−ＰＤＵが格納されてから変換を開始した場合の変換後データ格納部で変換後データが生成されていく様子を模式的に表わした説明図である。
【図９】従来のデータ転送装置が使用される通信システムの構成の一例を表わしたシステム構成図である。
【符号の説明】
【００５１】
２０１  通信システム
２０２  インターネット
２０３  無線基地局
２０４  携帯電話機
２０５  ＵＳＢケーブル
２０６  パーソナルコンピュータ
２１１  無線通信処理部
２１２  ＲＬＣ−ＰＤＵ受信処理部
２１３  ユーザデータ変換処理部
２１４  ＲＬＣ−ＰＤＵ格納部
２１５  変換後データ格納部
２１６  ポインタ生成処理部
２１７  ＵＳＢ通信処理部
【図１】
0004581925.tif 000002
【図２】
0004581925.tif 000003
【図３】
0004581925.tif 000004
【図４】
0004581925.tif 000005
【図５】
0004581925.tif 000006
【図６】
0004581925.tif 000007
【図７】
0004581925.tif 000008
【図８】
0004581925.tif 000009
【図９】
0004581925.tif 000010