(57)【要約】  データ中継装置（２００）は、送信データをデータブロックに分割し、データブロックを管理するためのラベルとともに記憶部（２４０）に格納する受信処理部（２１０）と、記憶部に格納されたデータブロックを加工する加工処理部（２２０）と、加工が完了したデータブロックを送信先に送信する送信処理部（２３０）とを有する。受信処理部が送信データを受信しながら分割することにより、受信処理部、加工処理部、送信処理部が並列に動作することが可能になっており、これにより、送信データの中継に要する時間の短縮が実現される。
2009144800.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と、第２の情報処理装置と、前記第１の情報処理装置と前記第２の情報処理装置の間の通信を中継するデータ中継装置とを含む通信システムであって、
前記データ中継装置は、
前記第１の情報処理装置から送信された送信データを受信する第１の受信手段と、
前記第１の受信手段において受信中の送信データを該送信データに含まれるデータの種別毎に１ないし複数のブロックに分割する分割手段と、
前記分割手段によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手段と、
前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第１の加工判定手段と、
前記記憶手段に格納されたブロックを、前記第１の加工判定手段によって判定された加工方法に基づいて加工する第１の加工手段と、
前記第１の加工手段によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに前記第２の情報処理装置へ送信する送信手段と
を備え、
前記第２の情報処理装置は、
前記ブロックと前記ブロック管理情報を受信する第２の受信手段と、
前記ブロック管理情報に含まれる前記種別情報に基づいて、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第２の加工判定手段と、
前記第２の加工判定手段によって判定された加工方法に基づいて、前記ブロックを加工する第２の加工手段と、
前記第２の加工手段によって加工されたブロックを、該ブロックに対応するブロック情報に含まれる位置情報に基づいて他のブロックと組み合わせて、前記送信データを再構成する再構成手段と
を備えたことを特徴とする通信システム。
【請求項２】
前記加工定義情報は、データの種別毎、かつ、送信先毎に加工方法が予め定義され、
前記第１の加工判定手段は、ブロック管理情報に設定された種別情報と、前記送信データの送信先とを前記加工定義情報と照合して、加工方法を判定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記記憶手段は、前記第１の加工判定手段によって加工方法が判定されていないブロックに対応するブロック管理情報と、前記第１の加工判定手段によって加工方法が判定されたが前記第１の加工手段によって加工が行われていないブロックに対応するブロック管理情報と、その他のブロック管理情報とが、それぞれ異なるリストに含まれるようにブロック管理情報を保持することを特徴とする請求項１または２に記載の通信システム。
【請求項４】
第１の情報処理装置から送信された送信データを受信する受信手段と、
前記受信手段において受信中の送信データを該送信データに含まれるデータの種別毎に１ないし複数のブロックに分割する分割手段と、
前記分割手段によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手段と、
前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する加工判定手段と、
前記記憶手段に格納されたブロックを、前記加工判定手段によって判定された加工方法に基づいて加工する加工手段と、
前記加工手段によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに第２の情報処理装置へ送信する送信手段と
を備えたことを特徴とするデータ中継装置。
【請求項５】
前記加工定義情報は、データの種別毎、かつ、送信先毎に加工方法が予め定義され、
前記加工判定手段は、ブロック管理情報に設定された種別情報と、前記送信データの送信先とを前記加工定義情報と照合して、加工方法を判定することを特徴とする請求項４に記載のデータ中継装置。
【請求項６】
前記記憶手段は、前記加工判定手段によって加工方法が判定されていないブロックに対応するブロック管理情報と、前記加工判定手段によって加工方法が判定されたが前記加工手段によって加工が行われていないブロックに対応するブロック管理情報と、その他のブロック管理情報とが、それぞれ異なるリストに含まれるようにブロック管理情報を保持することを特徴とする請求項４または５に記載のデータ中継装置。
【請求項７】
第１の情報処理装置から送信された送信データを受信する受信手順と、
前記受信手順において受信中の送信データを該送信データに含まれるデータの種別毎に１ないし複数のブロックに分割する分割手順と、
前記分割手順によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手順と、
前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する加工判定手順と、
前記記憶手段に格納されたブロックを、前記加工判定手順によって判定された加工方法に基づいて加工する加工手順と、
前記加工手順によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに第２の情報処理装置へ送信する送信手順と
をコンピュータに実行させることを特徴とするデータ中継プログラム。
【請求項８】
前記加工定義情報は、データの種別毎、かつ、送信先毎に加工方法が予め定義され、
前記加工判定手順は、ブロック管理情報に設定された種別情報と、前記送信データの送信先とを前記加工定義情報と照合して、加工方法を判定することを特徴とする請求項７に記載のデータ中継プログラム。
【請求項９】
前記記憶手段は、前記加工判定手順によって加工方法が判定されていないブロックに対応するブロック管理情報と、前記加工判定手順によって加工方法が判定されたが前記加工手順によって加工が行われていないブロックに対応するブロック管理情報と、その他のブロック管理情報とが、それぞれ異なるリストに含まれるようにブロック管理情報を保持することを特徴とする請求項７または８に記載のデータ中継プログラム。
【請求項１０】
第１の情報処理装置が送信した送信データを第２の情報処理装置が分割し、加工して得られたブロックと、該ブロックが前記送信データにおいて位置していた位置を示す位置情報および該ブロックのデータ種別を示す種別情報とが設定されたブロック管理情報とを受信する受信手段と、
前記ブロック管理情報に含まれる前記種別情報に基づいて、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する加工判定手段と、
前記加工判定手段によって判定された加工方法に基づいて、前記ブロックを加工する加工手段と、
前記加工手段によって加工されたブロックを、該ブロックに対応するブロック情報に含まれる位置情報に基づいて他のブロックと組み合わせて、前記送信データを再構成する再構成手段と
を備えたことを特徴とするデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ中継に関連するデータ中継装置、データ中継プログラム、データ受信装置および通信システムに関し、送信データの中継に要する時間を短縮することができるデータ中継装置、データ中継プログラム、データ受信装置および通信システムなどを含む。
【背景技術】
【０００２】
複数の情報処理装置が通信を行う場合に、それらの情報処理装置の間にデータ中継装置が配置されることがある。データ中継装置とは、送信元の情報処理装置から送信された送信データを通信経路上で受信し、送信先の情報処理装置へ転送する装置である。【０００３】
データ中継装置が配置される目的は、例えば、通信量の削減である。送信元の情報処理装置から送信された送信データを、データ中継処理装置が圧縮して送信先へ転送することにより、送信される情報量を少なくすることができる。その他、データ中継装置は、不適切な情報が送信されないようにフィルタリングを行う目的等でも配置される。【０００４】
【特許文献１】特開平０７−２１０４７３号公報
【特許文献２】特開平０９−１３５２６２号公報
【特許文献３】特開２００７−３１０６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のデータ中継装置には、データ送信に要する時間を長くしてしまうという問題があった。例えば、送信データを圧縮して転送するデータ中継装置の場合、送信データ全体を受信し終わった後に、圧縮処理を行い、圧縮後の送信データを送信先へ転送していたため、圧縮処理の分だけデータ送信時間が長くなってしまっていた。【０００６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、送信データの中継に要する時間を短縮することができるデータ中継装置、データ中継プログラム、データ受信装置および通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本願の開示する通信システムは、一つの態様において、第１の情報処理装置と、第２の情報処理装置と、前記第１の情報処理装置と前記第２の情報処理装置の間の通信を中継するデータ中継装置とを含む通信システムであって、前記データ中継装置は、前記第１の情報処理装置から送信された送信データを受信する第１の受信手段と、前記第１の受信手段において受信中の送信データを該送信データに含まれるデータの種別毎に１ないし複数のブロックに分割する分割手段と、前記分割手段によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手段と、前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第１の加工判定手段と、前記記憶手段に格納されたブロックを、前記第１の加工判定手段によって判定された加工方法に基づいて加工する第１の加工手段と、前記第１の加工手段によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに前記第２の情報処理装置へ送信する送信手段とを備え、前記第２の情報処理装置は、前記ブロックと前記ブロック管理情報を受信する第２の受信手段と、前記ブロック管理情報に含まれる前記種別情報に基づいて、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第２の加工判定手段と、前記第２の加工判定手段によって判定された加工方法に基づいて、前記ブロックを加工する第２の加工手段と、前記第２の加工手段によって加工されたブロックを、該ブロックに対応するブロック情報に含まれる位置情報に基づいて他のブロックと組み合わせて、前記送信データを再構成する再構成手段とを備える。【０００８】
この発明の態様によれば、第１の受信手段が送信データを受信している間に分割手段が送信データをブロックに分割することとしたので、第１の加工手段や送信手段等が、第１の受信手段と並列に処理を行うことが可能になり、送信データの中継に要する時間を短縮することができる。【０００９】
なお、本願の開示する通信システムの構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも上述した課題を解決するために有効である。
【発明の効果】
【００１０】
本願の開示するデータ中継装置、データ中継プログラム、データ受信装置および通信システムの一つの態様によれば、送信データの中継に要する時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施例に係るデータ中継装置を含む通信システムの一例を示す図である。
【図２】図２は、データ中継装置の機能概要を示す図である。
【図３】図３は、送信データの中継に要する時間の相違を示す図である。
【図４】図４は、データ中継装置の構成を示すブロック図である。
【図５−１】図５−１は、送信データの一例を示す図である。
【図５−２】図５−２は、分割管理情報の一例を示す図である。
【図５−３】図５−３は、データブロック記憶部に格納されるデータブロックとラベルの組合せの一例を示す図である。
【図６−１】図６−１は、送信データの一例を示す図である。
【図６−２】図６−２は、分割管理情報の一例を示す図である。
【図６−３】図６−３は、データブロック記憶部に格納されるデータブロックとラベルの組合せの一例を示す図である。
【図７】図７は、ラベルが属する３つのリストを示す図である。
【図８】図８は、加工定義情報の一例を示す図である。
【図９】図９は、複数のデータブロックを連結して加工を行う例を示す図である。
【図１０】図１０は、ブロックヘッダが付与されたデータブロックの一例を示す図である。
【図１１】図１１は、受信処理部による送信データ受信処理の処理手順を示すフローチャートである。
【図１２】図１２は、加工判定部による加工方法判定処理の処理手順を示すフローチャートである。
【図１３】図１３は、加工部による加工実行処理の処理手順を示すフローチャートである。
【図１４】図１４は、送信処理部によるデータブロック送信処理の処理手順を示すフローチャートである。
【図１５】図１５は、データ受信装置の構成を示すブロック図である。
【図１６】図１６は、データブロック記憶部に格納されたラベルとデータブロックの一例を示す図である。
【図１７】図１７は、ラベルが属する３つのリストを示す図である。
【図１８】図１８は、加工定義情報の一例を示す図である。
【図１９】図１９は、受信処理部による受信処理の処理手順を示すフローチャートである。
【図２０】図２０は、加工判定部による加工方法判定処理の処理手順を示すフローチャートである。
【図２１】図２１は、加工部による加工実行処理の処理手順を示すフローチャートである。
【図２２】図２２は、再構成処理部による再構成処理の処理手順を示すフローチャートである。
【図２３】図２３は、データ中継プログラムを実行するコンピュータを示す機能ブロック図である。
【符号の説明】
【００１２】
１、２  ネットワーク
１１〜１３  送信データ
１１ａ  ヘッダ
１１ｂ、１１ｃ  データ
１２ａ〜１２ｄ、１３ａ〜１３ｄ、１４ａ〜１４ｃ、１５ａ  データブロック
２１ａ〜２１ｄ、２２ａ〜２２ｄ、２３ａ〜２３ｄ、２４ａ、２４ｂ、２５ａ  ラベル
３１ａ〜３１ｄ  データブロック
４１、４２  ブロックヘッダ
５１、５２  分割管理情報
６１  判定待ちリスト
６１ａ〜６１ｃ  ラベル
６２  加工待ちリスト
６２ａ〜６２ｃ  ラベル
６３  送信待ちリスト
６３ａ〜６３ｃ  ラベル
６４  判定待ちリスト
６４ａ〜６４ｃ  ラベル
６５  加工待ちリスト
６５ａ〜６５ｃ  ラベル
６６  再構成待ちリスト
６６ａ〜６６ｃ  ラベル
７１、７２  加工定義情報
１００  データ送信装置
２００  データ中継装置
２１０  受信処理部
２１１  受信部
２１２  分割部
２１３  格納部
２２０  加工処理部
２２１  加工判定部
２２２  加工部
２３０  送信処理部
２３１  ブロックヘッダ付加部
２３２  送信部
２４０  記憶部
２４１  分割管理情報記憶部
２４２  データブロック記憶部
２４３  加工定義情報記憶部
２５０  ネットワークインターフェース部
３００  データ受信装置
３１０  受信処理部
３１１  受信部
３１２  格納部
３２０  加工処理部
３２１  加工判定部
３２２  加工部
３３０  再構成処理部
３３１  再構成部
３４０  記憶部
３４１  データブロック記憶部
３４２  送信データ記憶部
３４３  加工定義情報記憶部
３５０  ネットワークインターフェース部
１０００  コンピュータ
１０１０  ＣＰＵ
１０２０  入力装置
１０３０  モニタ
１０４０  媒体読取り装置
１０５０  ネットワークインターフェース装置
１０６０  ＲＡＭ
１０６１  データ中継プロセス
１０７０  ハードディスク装置
１０７１  データ中継プログラム
１０７２  データ中継用データ
１０８０  バス
【発明を実施するための最良の形態】
【００１３】
以下に、本願の開示するデータ中継装置、データ中継プログラム、データ受信装置および通信システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
まず、本実施例に係るデータ中継装置２００を含む通信システムについて説明する。図１は、本実施例に係るデータ中継装置２００を含む通信システムの一例を示す図である。図１に示すように、データ中継装置２００は、ＬＡＮ（Local  Area  Network）やインターネット等のネットワーク１を介してデータ送信装置１００と接続される。また、データ中継装置２００は、ＬＡＮやインターネット等のネットワーク２を介してデータ受信装置３００とも接続される。【００１５】
データ送信装置１００は、データ受信装置３００へ向けて送信データを送信する情報処理装置であり、例えば、サーバ装置、パソコン、もしくは、携帯端末に相当する。データ受信装置３００は、データ送信装置１００から送信された送信データを受信する情報処理装置であり、例えば、サーバ装置、パソコン、もしくは、携帯端末に相当する。【００１６】
データ中継装置２００は、データ送信装置１００から送信された送信データに対して加工を加えてデータ受信装置３００へ転送する情報処理装置である。データ中継装置２００が送信データに加える加工は、送信データに含まれるデータの種類や送信データの送信先等によって異なる。例えば、データ中継装置２００は、送信データに含まれるデータのうち、テキストデータを圧縮してデータ受信装置３００へ転送する。【００１７】
なお、図１ではデータ送信装置１００とデータ受信装置３００が１台ずつ存在する例を示したが、データ中継装置２００は、データ送信装置１００とデータ受信装置３００が複数台存在する場合でも送信データの中継を行うことができる。また、データ送信装置１００とデータ受信装置３００の役割は固定されている必要はない。すなわち、ある場合には、データ受信装置３００が送信データを送信し、データ中継装置２００によって中継された送信データをデータ送信装置１００が受信することとしてもよい。【００１８】
次に、データ中継装置２００の機能概要について説明する。図２は、データ中継装置２００の機能概要を示す図である。図２に示すように、データ中継装置２００は、受信処理部２１０と、加工処理部２２０と、送信処理部２３０とを有し、これらが並列に動作するように構成されている。【００１９】
受信処理部２１０は、データ送信装置１００から送信された送信データを受信しながら、これをデータの種別毎に所定の長さ以下のデータブロックに分割して、データ中継装置２００が有する記憶部２４０に格納する。受信処理部２１０は、データブロックを記憶部２４０に格納するにあたって、送信データにおけるデータブロックの位置を示す位置情報やデータブロックがどの種別のデータを含んでいるかを示すデータタイプ等を設定したラベルを生成する。そして、受信処理部２１０は、生成したラベルをデータブロックと関連付けて記憶部２４０に格納する。【００２０】
加工処理部２２０は、記憶部２４０を監視し、内容を確認していないラベルが格納されていれば、そのラベルのデータタイプを参照して、そのラベルに対応するデータブロックに対してどのような加工が必要かを判定する。そして、加工処理部２２０は、判定結果を加工方法としてラベルに設定する。さらに、加工処理部２２０は、必要と判定した加工を、データブロックに対して実行し、加工完了後に、加工が完了した旨をステータスとしてラベルに設定する。なお、加工処理部２２０は、データブロックの加工が不要と判定した場合は、対応するラベルにその旨を設定し、データブロックの加工は行わない。【００２１】
送信処理部２３０は、記憶部２４０を監視し、データブロックの加工が完了した旨が設定されたラベルがあれば、そのラベルに設定されている位置情報等が設定されたブロックヘッダを生成する。そして、送信処理部２３０は、そのラベルに対応するデータブロックにブロックヘッダを付加して送信先へ送信する。また、送信処理部２３０は、記憶部２４０を監視し、データブロックの加工が不要である旨が設定されたラベルがあれば、そのラベルに設定されている位置情報等が設定されたブロックヘッダを生成する。そして、送信処理部２３０は、そのラベルに対応するデータブロックにブロックヘッダを付加して送信先へ送信する。【００２２】
例えば、送信元アドレスや送信先アドレス等が設定されたヘッダ１１ａと、テキストデータであるデータ１１ｂと、ｊｐｅｇ形式の画像データであるデータ１１ｃとを含む送信データ１１が受信されると、データ中継装置２００は、以下のように動作する。【００２３】
受信処理部２１０は、送信データ１１を受信ながらデータブロックに分割していき、ヘッダ１１ａをデータブロック３１ａとして分割して記憶部２４０に格納し、データブロック３１ａに対応するラベル２１ａを生成してこれを記憶部２４０に格納する。ラベル２１ａには、位置情報として「１−１」が設定され、データタイプとして「ヘッダ」が設定される。【００２４】
なお、位置情報である「１−１」の「−」よりも前の部分に示された数字は、対応するデータブロックに含まれるデータが送信データに含まれる何番目のデータであるかを示す。また、「−」よりも後の部分に示された数字は、対応するデータブロックがそのデータを分割して得られた何番目のブロックであるかを示す。すなわち、「１−１」は、対応するデータブロックが、送信データにおける１番目のデータを分割して得られた１番目のブロックであることを示す。【００２５】
続いて、受信処理部２１０は、データ１１ｂをデータブロック３１ｂとして分割して記憶部２４０に格納し、データブロック３１ｂに対応するラベル２１ｂを生成してこれを記憶部２４０に格納する。ラベル２１ｂには、位置情報として「２−１」が設定され、データタイプとして「テキスト」が設定される。【００２６】
続いて、受信処理部２１０は、データ１１ｃをデータブロックに分割する。図２に示した例では、受信処理部２１０は、データ１１ｃをデータブロック３１ｃとデータブロック３１ｄに分割している。このように、受信処理部２１０は、送信データに含まれるデータの１つを受信中に、タイミングや既に受信した部分の長さに応じてそのデータを分割する。データを複数のデータブロックに分割して記憶部２４０に格納することにより、各データブロックを記憶部２４０に格納するために必要な時間を短縮し、それらのデータブロックに対して処理を開始するタイミングを早めることができる。【００２７】
そして、受信処理部２１０は、データブロック３１ｃに対応するラベル２１ｃを生成してこれを記憶部２４０に格納し、データブロック３１ｄに対応するラベル２１ｄを生成してこれを記憶部２４０に格納する。ラベル２１ｃには、位置情報として「３−１」が設定され、データタイプとして「ｊｐｅｇ画像」が設定される。ラベル２１ｄには、位置情報として「３−２」が設定され、データタイプとして「ｊｐｅｇ画像」が設定される。【００２８】
なお、受信処理部２１０によって記憶部２４０に格納された時点では、各ラベルの加工方法には「未判定」が設定され、ステータスには「未処理」が設定される。「未判定」は、加工方法がまだ判定されていないことを示す値であり、「未処理」は、加工がまだ実行されていないことを示す値である。【００２９】
上記の受信処理部２１０の動作と並行して、加工処理部２２０は、記憶部２４０に格納された各ラベルのデータタイプを参照して、対応するデータブロックの加工方法を判定し、加工が必要であればデータブロックに加工を加える。【００３０】
図２に示した例では、加工処理部２２０は、ラベル２１ａのデータタイプを参照して、データブロック３１ａに加工が不要であると判定し、ラベル２１ａに加工方法として「無加工」を設定している。【００３１】
また、加工処理部２２０は、ラベル２１ｂのデータタイプを参照して、データブロック３１ｂに圧縮処理が必要であると判定し、ラベル２１ｂに加工方法として「ＺＩＰ圧縮」を設定している。そして、加工処理部２２０は、データブロック３１ｂに対して圧縮処理を実行し、実行後に、ラベル２１ｂにステータスとして「処理済」を設定している。「処理済」は、加工が完了したことを示す値である。【００３２】
なお、この時点では、加工処理部２２０は、データブロック３１ｃおよび３１ｄの加工方法を判定していないため、ラベル２１ｃおよび２１ｄは、加工方法として「未判定」が設定され、ステータスとして「未処理」が設定されたままとなっている。【００３３】
上記の受信処理部２１０および加工処理部２２０の動作と並行して、送信処理部２３０は、記憶部２４０に格納された各ラベルを参照して、データブロックの送信処理を実行する。具体的には、送信処理部２３０は、加工方法として「無加工」が設定されているラベルに対応するデータブロックと、ステータスとして「処理済」が設定されているラベルに対応するデータブロックを送信対象とする。そして、送信処理部２３０は、送信対象のデータブロックに対応するラベルからブロックヘッダを生成し、生成したブロックヘッダをデータブロックに付加してデータ受信装置３００へ送信する。【００３４】
ブロックヘッダには、ラベルに設定されている情報のうちデータ受信装置３００において送信データ１１を再構成するために必要な情報が設定される。図２に示した例では、加工方法として「無加工」が設定されているラベル２１ａに対応するデータブロック３１ａが送信対象となっている。そして、ラベル２１ａに設定されている情報のうち、送信データ１１の再構成に不要な情報であるステータス以外の情報がブロックヘッダ４１に設定され、データブロック３１ａとともにデータ受信装置３００へ送信されている。【００３５】
図２に示した場面の後、ステータスとして「処理済」が設定されているラベル２１ｂに対応するデータブロック３１ｂが送信対象となる。そして、加工処理部２２０による処理が完了した後、ラベル２１ｃに対応するデータブロック３１ｃとラベル２１ｄに対応するデータブロック３１ｄも送信対象となる。【００３６】
こうして、送信データ１１を分割して得られた全てのデータブロックがブロックヘッダとともにデータ受信装置３００へ送信される。そして、データ受信装置３００は、ブロックヘッダに設定されている位置情報に基づいて、送信データ１１におけるデータブロックの位置を判定する。また、データ受信装置３００は、ブロックヘッダに設定されているデータタイプと加工方法に基づいて、データブロックに含まれるデータが当所どのようなデータであり、どのような加工をされたのかを判定する。そして、データ受信装置３００は、これらの判定結果に基づいて送信データ１１を再構成する。【００３７】
なお、本願においては、再構成は、データ送信装置１００から送信された送信データ１１を完全に再現することを必ずしも意味しない。例えば、データ中継装置２００が、送信データ１１に含まれる画像データをデータ受信装置３００の表示部の解像度に合わせて縮小した場合には、データ受信装置３００は、縮小された画像データを用いて送信データ１１を再構成する。【００３８】
このように、データ中継装置２００は、受信処理部２１０が送信データをデータブロックに分割し、それと並行して、加工処理部２２０が加工処理を実行し、送信処理部２３０が送信処理を実行するように構成されている。このため、データ中継装置２００においては、送信データの中継に要する時間が従来と比較して大きく短縮されている。【００３９】
図３は、送信データの中継に要する時間の相違を示す図である。図３に示すように、従来のデータ中継装置においては、送信データの全体を受信し終えた後にデータの加工を実行し、全てのデータの加工処理が完了した後に送信処理が実行されていた。このため、従来のデータ中継装置においては、送信データの中継に要する時間は、受信処理、加工処理および送信処理の各処理に要する時間の合計よりも短くなることはなかった。【００４０】
一方、データ中継装置２００においては、受信処理、加工処理および送信処理がデータブロック単位で並列に進行するため、送信データの中継に要する時間は、受信処理、加工処理および送信処理の各処理に要する時間の合計よりも大幅に短くなっている。また、データ中継装置２００においては、送信が完了したデータブロックを記憶部２４０から削除することができるため、送信データ全体を記憶する必要がなく、記憶部２４０の容量が少なくて済む。【００４１】
次に、データ中継装置２００のより詳細な構成について説明する。図４は、データ中継装置２００の構成を示すブロック図である。図４に示すように、データ中継装置２００は、受信処理部２１０と、加工処理部２２０と、送信処理部２３０と、記憶部２４０と、ネットワークインターフェース部２５０とを有する。ネットワークインターフェース部２５０は、ネットワークを介して他の情報処理装置と通信を行うためのインターフェース装置である。【００４２】
受信処理部２１０は、受信部２１１と、分割部２１２と、格納部２１３とを有する。受信部２１１は、データ送信装置１００から送信された送信データを所定サイズずつ受信し、受信した送信データの断片を分割部２１２に順次引き渡す。【００４３】
分割部２１２は、受信部２１１から引き渡された断片の内容を解析することによって送信データの形式を分析し、分析結果を記憶部２４０の分割管理情報記憶部２４１に格納する。そして、分割部２１２は、分割管理情報記憶部２４１に格納した情報に基づいて、受信部２１１から引き渡された断片をデータの種別毎にデータブロックに分解し、各データブロックに対応するラベルを生成する。【００４４】
格納部２１３は、分割部２１２によって分割された各データブロックを、対応するラベルと関連付けて記憶部２４０のデータブロック記憶部２４２に格納する。【００４５】
ここで、受信処理部２１０の各部の動作について、具体例を示して説明する。図５−１は、データ送信装置１００から送信される送信データの一例を示す図である。図５−１に示す送信データ１２は、ヘッダと、データＡと、データＢとを有する。ヘッダは、送信元と送信先のアドレスの他に、送信データ１２の形式に関する情報を含んでいる。【００４６】
具体的には、ヘッダには、ヘッダのサイズが２５６ｂｙｔｅであり、送信データ１２には、ヘッダ以外に２つのデータが含まれる旨が設定されている。また、ヘッダには、１番目のデータ、すなわち、データＡのサイズが６５０ｂｙｔｅであり、データＡのデータタイプが「テキスト」である旨が設定されている。また、ヘッダには、２番目のデータ、すなわち、データＢのサイズが１０５０ｂｙｔｅであり、データＢのデータタイプが「ｊｐｅｇ画像」である旨が設定されている。【００４７】
受信部２１１は、前述のように、所定のサイズずつ送信データ１２を受信する。ここでは、受信部２１１が、１０２４ｂｙｔｅずつ送信データ１２を受信するものとする。この場合、受信部２１１は、まず、送信データ１２の先頭から１０２４ｂｙｔｅの部分、すなわち、ヘッダと、データＡと、データＢの先頭部分を受信し、この部分を最初の断片として分割部２１２へ引き渡す。【００４８】
分割部２１２は、受信部２１１から最初の断片を受け取ると、断片に含まれるヘッダから分割処理に必要な情報を抽出して分割管理情報５１を生成して、分割管理情報記憶部２４１に格納する。ヘッダに基づいて生成された分割管理情報５１の一例を図５−２に示す。なお、図５−２に示した例では、分割管理情報５１がＸＭＬ（Extensible  Markup  Language）形式で作成されているが、分割管理情報５１は、ＸＭＬ以外の形式であってもよい。【００４９】
図５−２に示すように、分割管理情報５１には、送信データＩＤ、送信元、送信先、形式、データ定義、データ番号、ブロック番号といった項目が存在する。送信データＩＤは、送信データを識別する番号であり、送信データ毎に異なる値が設定される。送信元は、送信データの送信元のアドレスであり、送信先は、送信データの送信先のアドレスである。形式は、送信データの形式であり、ここでは「形式０１」が設定されている。【００５０】
データ定義は、送信データに含まれるデータ毎に設けられる項目であり、オフセット、サイズ、データタイプといった項目を含む。オフセットは、送信データの先頭からみた場合のデータの出現位置であり、当該のデータよりも前に位置するデータのサイズの合計値が設定される。サイズは、当該のデータのサイズであり、データタイプは、当該のデータの種別である。【００５１】
データ番号は、これから切り出すデータブロックが何番目のデータに属するかを示す番号である。ブロック番号は、これから切り出すデータブロックがデータ中の何番目のブロックであるかを示す番号である。データ番号は、初期値として１を設定され、分割部２１２は、異なるデータの処理を開始するたびにデータ番号に１を加算する。ブロック番号は、初期値として１を設定され、分割部２１２は、異なるデータの処理を開始するたびにブロック番号を１に初期化し、データブロックを切り出すたびにブロック番号に１を加算する。【００５２】
分割部２１２は、分割管理情報５１に設定された各データ定義のオフセットとサイズの値に基づいて、ヘッダ、データＡ、データＢの先頭部分を、それぞれ、データブロック１２ａ、データブロック１２ｂ、データブロック１２ｃとして切り出す。そして、分割部２１２は、各ブロックを切り出しながら、分割管理情報５１のデータ番号とブロック番号を更新し、切り出されたデータブロック毎にラベルを生成する。そして、切り出された各データブロックは、格納部２１３によって、対応するラベルと関連付けてデータブロック記憶部２４２に格納される。【００５３】
続いて、受信部２１１は、送信データ１２の後続部分、すなわち、データＢの残り部分を受信し、この部分を次の断片として分割部２１２へ引き渡す。分割部２１２は、分割管理情報５１に設定された各データ定義のオフセットとサイズの値に基づいて、引き渡された断片全体をデータブロック１２ｄとして切り出す。そして、分割部２１２は、分割管理情報５１のブロック番号を更新し、データブロック１２ｄに対応するラベルを生成する。そして、データブロック１２ｄは、格納部２１３によって、対応するラベルと関連付けてデータブロック記憶部２４２に格納される。【００５４】
以上の処理の結果、データブロック記憶部２４２には、図５−３に示すようなデータブロックとラベルの組合せが格納される。図５−３に示した例では、データブロック１２ａ〜１２ｄと関連付けて、ラベル２２ａ〜２２ｄが格納されている。各ラベルには、共通の項目として、送信データＩＤ、ブロック番号、加工方法、ステータス、送信元、送信先、形式といった項目が含まれる。なお、図５−３に示した例では、ラベル２２ａ〜２２ｄがＸＭＬ形式で作成されているが、ラベル２２ａ〜２２ｄは、ＸＭＬ以外の形式であってもよい。【００５５】
送信データＩＤは、送信データを識別する番号であり、分割管理情報５１の送信データＩＤの値がそのまま設定される。ブロック番号は、送信データにおけるデータブロックの位置を示す位置情報である。例えば、「３−２」というブロック番号は、当該のラベルに対応するデータブロックが、送信データにおける３番目のデータを分割して得られた２番目のデータブロックであることを意味する。ブロック番号は、データブロックが切り出された時点における分割管理情報５１のデータ番号とブロック番号の値に基づいて設定される。【００５６】
加工方法は、当該のラベルに対応するデータブロックに対して実行すべき加工方法が設定される項目であり、初期値として「未判定」が設定される。ステータスは、当該のラベルに対応するデータブロックに対して実行すべき加工の進捗状況が設定される項目であり、初期値として「未処理」が設定される。送信元、送信先および形式は、それぞれ、送信データの送信元アドレス、送信先アドレスおよび形式が設定される項目であり、分割管理情報５１の送信元、送信先および形式の値がそのまま設定される。【００５７】
ラベルには、上記の共通項目に加えて、データ終了フラグもしくは送信データ終了フラグが設定されることがある。データ終了フラグは、当該のラベルに対応するデータブロックが、あるデータから切り出された最後のデータブロックである場合に設定される。また、送信データ終了フラグは、当該のラベルに対応するデータブロックが、送信データから切り出された最後のデータブロックである場合に設定される。これらのフラグは、データブロックとともに送信されるブロックヘッダに設定され、データ受信装置３００がデータブロックの欠落の有無を確認するために用いられる。【００５８】
図５−３に示した例では、データブロック１２ａは、ヘッダから切り出された最後のデータブロックであるため、データブロック１２ａに対応するラベル２２ａに、データ終了フラグとして＜データ終了  ／＞が設定されている。また、データブロック１２ｂは、データＡから切り出された最後のデータブロックであるため、データブロック１２ｂに対応するラベル２２ｂに、データ終了フラグとして＜データ終了  ／＞が設定されている。また、データブロック１２ｄは、送信データ１２から切り出された最後のデータブロックであるため、データブロック１２ｄに対応するラベル２２ｄに、送信データ終了フラグとして＜送信データ終了  ／＞が設定されている。【００５９】
なお、上記の説明では、各データのサイズがヘッダに設定されている送信データをデータブロックに分割する例を示したが、受信処理部２１０は、各データのサイズがヘッダに設定されていない送信データもデータブロックに分割することができる。そこで、図６−１〜６−３を用いて、各データのサイズがヘッダに設定されていない送信データを分割する場合の受信処理部２１０の動作について説明する。【００６０】
図６−１は、各データのサイズがヘッダに設定されていない送信データの一例を示す図である。図６−１に示す送信データ１３は、ヘッダと、サブヘッダＡとデータＡの組合せと、サブヘッダＢとデータＢの組合せとがデリミタ文字で区切られた形式となっている。ヘッダは、送信元と送信先のアドレスの他に、デリミタ文字が「−−ＤＬＭＴ−−」である旨の定義を含んでいる。サブヘッダＡは、データＡの種別に関する情報を含み、サブヘッダＢは、データＢの種別に関する情報を含んでいる。【００６１】
ここでは、受信部２１１が、１０２４ｂｙｔｅずつ送信データ１３を受信するものとする。この場合、受信部２１１は、まず、送信データ１３の先頭から１０２４ｂｙｔｅの部分、すなわち、ヘッダと、最初のデリミタ文字と、サブヘッダＡと、データＡと、２番目のデリミタ文字と、サブヘッダＢと、データＢの先頭部分を受信し、この部分を最初の断片として分割部２１２へ引き渡す。【００６２】
分割部２１２は、受信部２１１から最初の断片を受け取ると、断片に含まれるヘッダから分割処理に必要な情報を抽出して分割管理情報５２を生成して、分割管理情報記憶部２４１に格納する。ヘッダに基づいて生成された分割管理情報５２の一例を図６−２に示す。なお、図６−２に示した例では、分割管理情報５２がＸＭＬ形式で作成されているが、分割管理情報５２は、ＸＭＬ以外の形式であってもよい。【００６３】
図６−２に示すように、分割管理情報５２には、送信データＩＤ、送信元、送信先、形式、データ番号、ブロック番号、データタイプといった項目が存在する。送信データＩＤは、送信データを識別する番号であり、送信データ毎に異なる値が設定される。送信元は、送信データの送信元のアドレスであり、送信先は、送信データの送信先のアドレスである。形式は、送信データの形式であり、ここでは「形式０２」が設定されている。【００６４】
デリミタは、デリミタ文字であり、ヘッダにデリミタ文字として定義されている文字列が設定される。データ番号は、これから切り出すデータブロックが何番目のデータに属するかを示す番号である。ブロック番号は、これから切り出すデータブロックがデータ中の何番目のブロックであるかを示す番号である。データタイプは、これから切り出すデータブロックが属するデータの種別である。データタイプは、初期値として「ヘッダ」が設定され、新たなサブヘッダが検出されるたびに、そのサブヘッダに設定されているデータタイプの値が設定される。【００６５】
分割部２１２は、分割管理情報５２に設定されたデリミタの値に基づいて、２つのデリミタ文字を検出し、最初のデリミタ文字よりも前の部分をデータブロック１３ａとして切り出す。そして、分割部２１２は、切り出されたデータブロックに対応するラベルを生成する。切り出されたデータブロック１３ａは、格納部２１３によって、対応するラベルと関連付けてデータブロック記憶部２４２に格納される。【００６６】
続いて、受信部２１１は、２つのデリミタ文字に挟まれた部分を取得し、データＡをデータブロック１３ｂとして切り出す。そして、分割部２１２は、サブヘッダＡに設定されているデータタイプの値を分割管理情報５２に設定し、データ番号とブロック番号を更新して、データブロック１３ｂに対応するラベルを生成する。切り出されたデータブロック１３ｂは、格納部２１３によって、対応するラベルと関連付けてデータブロック記憶部２４２に格納される。【００６７】
続いて、受信部２１１は、２つ目のデリミタ文字よりも後の部分を取得し、データＢの先頭部分をデータブロック１３ｃとして切り出す。そして、分割部２１２は、サブヘッダＢに設定されているデータタイプの値を分割管理情報５２に設定し、データ番号とブロック番号を更新して、データブロック１３ｃに対応するラベルを生成する。切り出されたデータブロック１３ｃは、格納部２１３によって、対応するラベルと関連付けてデータブロック記憶部２４２に格納される。【００６８】
続いて、受信部２１１は、送信データ１３の後続部分、すなわち、データＢの残り部分を受信し、この部分を次の断片として分割部２１２へ引き渡す。分割部２１２は、分割管理情報５２に設定されたデリミタの値に基づいて、デリミタ文字の検出を試みるが、この場合デリミタ文字は検出されない。そこで、分割部２１２は、受け取った断片全体をデータブロック１３ｄとして切り出す。そして、分割部２１２は、分割管理情報５２のブロック番号を更新し、データブロック１３ｄに対応するラベルを生成する。データブロック１３ｄは、格納部２１３によって、対応するラベルと関連付けてデータブロック記憶部２４２に格納される。【００６９】
以上の処理の結果、データブロック記憶部２４２には、図６−３に示すようなデータブロックとラベルの組合せが格納される。図６−３に示した例では、データブロック１３ａ〜１３ｄに対応付けて、ラベル２３ａ〜２３ｄが格納されている。ラベル２３ａ〜２３ｄの設定項目は、形式の項目を除いてラベル２２ａ〜２２ｄと同様であるので、ここでは説明を省略する。【００７０】
ここで、データブロック記憶部２４２におけるラベルの管理手法について説明しておく。図７は、ラベルが属する３つのリストを示す図である。図７に示すように、データブロック記憶部２４２には、ラベル６１ａ〜６１ｃ等が属する判定待ちリスト６１と、ラベル６２ａ〜６２ｃ等が属する加工待ちリスト６２と、ラベル６３ａ〜６３ｃ等が属する送信待ちリスト６３とが存在する。そして、データブロック記憶部２４２においては、各ラベルが、これらのリストのいずれかに属するように管理される。【００７１】
判定待ちリスト６１は、格納部２１３によって新たにデータブロック記憶部２４２に格納されたラベルが末尾に追加されるリストである。判定待ちリスト６１に追加されたラベルは、先頭から順に加工処理部２２０によってデータブロックの加工方法が判定される。そして、データブロックの加工が必要と判定されたラベルは、加工待ちリスト６２の末尾に移動され、データブロックの加工が不要と判定されたラベルは、送信待ちリスト６３の末尾に移動される。加工待ちリスト６２に追加されたラベルは、加工処理部２２０によるデータブロックの加工が完了したものから順に、送信待ちリスト６３の末尾に移動される。そして、送信待ちリスト６３の末尾に追加されたラベルは、先頭から順に送信処理部２３０による送信処理の対象となる。【００７２】
このように、ラベルを３つのリストで管理することにより、受信処理部２１０、加工処理部２２０および送信処理部２３０は、処理対象のラベルを明確にすることができ、それぞれが独立して並列に処理を実行することが容易になる。【００７３】
図４の説明に戻って、加工処理部２２０は、加工判定部２２１と、加工部２２２とを有する。加工判定部２２１は、データブロック記憶部２４２に格納されている各データブロックに対してどのような加工が必要かを判定し、判定結果を対応するラベルの加工方法の項目に設定する。【００７４】
加工判定部２２１は、判定待ちリスト６１の先頭のラベルから順に判定を行い、加工が必要と判定したデータブロックに対応するラベルを加工待ちリスト６２の末尾に移動させる。また、加工判定部２２１は、加工が不要と判定したデータブロックに対応するラベルを送信待ちリスト６３の末尾に移動させる。【００７５】
加工判定部２２１は、データブロックにどのような加工が必要かを、対応するラベルに設定されているデータタイプと送信先の値を記憶部２４０の加工定義情報記憶部２４３に記憶されている加工定義情報７１と照合することにより判定する。加工定義情報７１の一例を図８に示す。図８に示すように、加工定義情報７１は、データタイプ、送信先、加工方法といった項目を有し、データタイプ毎に送信先と加工方法の組合せを複数登録できるように構成されている。【００７６】
加工定義情報７１におけるデータタイプは、データの種別を示し、ラベルのデータタイプの値と対応する。送信先は、送信データの送信先アドレスを示し、ラベルの送信先の値と対応する。加工方法は、データブロックに対して実行すべき加工方法を示す。なお、加工定義情報７１の送信先には、「＊」が含まれることがあり、「＊」は、任意の値とマッチするワイルドカードとして機能する。また、加工方法として、「無加工」という値が設定されている場合、データブロックに加工が不要であることを示す。【００７７】
図８に示した例では、「テキスト」というデータタイプに対して、「＊」という送信先と「ＺＩＰ圧縮」という加工方法の組合せが登録されている。これは、ラベルのデータタイプに設定されている値が「テキスト」であれば、ラベルの送信先に設定されている値にかかわらず、データブロックに「ＺＩＰ圧縮」という加工が必要であることを示している。【００７８】
また、図８に示した例では、「ｊｐｅｇ画像」というデータタイプに対して、「１９２．１６８．１０．＊」という送信先と「縮小（３２０ｘ２４０）」という加工方法の組合せと、「＊」という送信先と「無加工」という加工方法の組合せとが登録されている。【００７９】
これは、ラベルのデータタイプに設定されている値が「ｊｐｅｇ画像」であり、かつ、ラベルの送信先に設定されている値が「１９２．１６８．１０．」で始まっている場合には、データブロックに「縮小（３２０ｘ２４０）」という加工が必要であることを示している。また、これは、ラベルのデータタイプに設定されている値が「ｊｐｅｇ画像」であり、かつ、ラベルの送信先に設定されている値が「１９２．１６８．１０．」で始まっていない場合には、データブロックの加工が不要であることを示している。【００８０】
このように、送信先のアドレスも考慮して加工方法を判定することにより、送信データに含まれるデータを送信先の要件に応じて加工することが可能になる。例えば、画像データが含まれる送信データを携帯電話事業者のアドレス宛てに送る場合は、携帯電話の表示部の解像度に合わせて画像データを縮小し、それ以外のアドレスに送る場合は、画像データをそのまま送るといった運用が可能になる。【００８１】
また、加工定義情報７１には、上記の加工方法以外にも、文字コード変換、暗号化、電子署名の付与、ウイルスのチェック、不適切なデータの削除等の様々な加工方法を登録することができる。【００８２】
加工部２２２は、加工判定部２２１の判定結果に従ってデータブロックに対して加工を行う。具体的には、加工部２２２は、加工待ちリスト６２の先頭から順にラベルの加工方法等の値を参照していき、加工を実施可能なものがあれば、加工方法の値に従って、対応するデータブロックを加工し、ラベルを送信待ちリスト６３の末尾に移動させる。【００８３】
加工部２２２によって実行される加工には、データブロック単位で実行可能なものと、同一のデータから切り出された全てのデータブロックが揃っていなければ実行できないものとがある。例えば、テキストを圧縮するという加工は、データブロック単位で実行可能である。このように、データブロック単位で実行可能な加工方法がラベルに設定されていた場合、加工部２２２は、そのラベルに対応するデータブロックに加工を実施可能であると判定し、即座に加工を実行する。【００８４】
一方、例えば、画像データを縮小して画素数を少なくするという加工は、画像データ全体が揃っていることが必要である。このように、同一のデータから切り出された全てのデータブロックが揃っていなければ実行できない加工方法がラベルに設定されていた場合、加工部２２２は、同一のデータから切り出された全てのデータブロックが揃うまでそれらのデータブロックの加工の実行を留保する。【００８５】
なお、同一のデータから切り出された全てのデータブロックが揃ったかどうかは、ラベルにデータ終了フラグもしくは送信データ終了フラグが設定されているか否かによって判断することができる。送信データからのデータブロックの切り出しは先頭から行われ、加工待ちリスト６２には、データブロックが切り出された順にラベルが追加されていく。このため、データ終了フラグもしくは送信データ終了フラグが設定されているラベルが加工方法の判定済みであれば、同一のデータから切り出されたそれ以前の全てのデータブロックについても加工方法の判定が既に完了しているとみなすことができる。【００８６】
同一のデータから切り出された全てのデータブロックが揃ったならば、加工部２２２は、それらのデータブロックを連結して送信データに含まれていたデータを再現し、再現したデータに対して加工を実行する。複数のデータブロックを連結して加工を行う場合における加工部２２２の動作について図９を用いて説明する。【００８７】
図９に示す例では、データブロック１４ａとラベル２４ａの組合せと、データブロック１４ｂとラベル２４ｂの組合せとがデータブロック記憶部２４２に格納されている。ラベル２４ａには、加工方法として「縮小（３２０ｘ２４０）」が設定されており、加工部２２２は、ラベル２４ａに対応するデータブロック１４ａを加工するには、同一のデータから切り出された全てのデータブロックが揃っている必要があると判定する。【００８８】
そして、加工部２２２は、ラベル２４ａにデータ終了フラグもしくは送信データ終了フラグが設定されているかを確認する。この例の場合、ラベル２４ａにはこれらのフラグが設定されていないため、加工部２２２は、同一のデータから切り出された全てのデータブロックが既に揃っていないと判定し、この段階では、加工の実行を留保する。【００８９】
続いて、加工部２２２は、ラベル２４ｂを確認する。ラベル２４ｂには、加工方法として「縮小（３２０ｘ２４０）」が設定されており、加工部２２２は、ラベル２４ｂに対応するデータブロック１４ｂを加工するには、同一のデータから切り出された全てのデータブロックが揃っている必要があると判定する。【００９０】
そして、加工部２２２は、ラベル２４ｂにデータ終了フラグもしくは送信データ終了フラグが設定されているかを確認する。この例の場合、ラベル２４ｂに送信データ終了フラグが設定されていることから、加工部２２２は、同一のデータから切り出された全てのデータブロックが既に揃っていると判定する。【００９１】
続いて、加工部２２２は、同一のデータから切り出された他のデータブロックに対応するラベルを検索する。具体的には、加工部２２２は、ラベル２４ｂから送信データＩＤとブロック番号の値を取得し、送信データＩＤの値が一致するとともに、ブロック番号の値の「−」より前の部分が一致するラベルを取得する。【００９２】
上記の検索の結果、ラベル２４ａが検索され、加工部２２２は、ラベル２４ａに対応するデータブロック１４ａと、ラベル２４ｂに対応するデータブロック１４ｂとが同一のデータから切り出されたものであると判定する。そして、加工部２２２は、データブロック１４ａとデータブロック１４ｂを連結して得られたデータに対して、「縮小（３２０ｘ２４０）」という加工方法に対応する加工を実行する。【００９３】
そして、加工部２２２は、加工によって得られたデータをデータブロック１４ｃとしてデータブロック記憶部２４２へ格納し、加工前のデータブロックに対応するラベルのうち最もブロック番号が小さいラベル２４ａと関連付ける。そして、加工部２２２は、不要になったラベル２４ｂ、データブロック１４ａおよびデータブロック１４ｂを削除し、ラベル２４ｂに設定されていた送信データ終了フラグをラベル２４ａに設定し直す。【００９４】
図４の説明に戻って、送信処理部２３０は、ブロックヘッダ付加部２３１と、送信部２３２とを有する。ブロックヘッダ付加部２３１は、加工が完了したデータブロックや加工が不要と判定されたデータブロックに対応するラベルからブロックヘッダを生成し、データブロックに付加する。送信部２３２は、データブロックが付加されたデータブロックを送信先へ送信する。【００９５】
上述したように、加工が完了したデータブロックや加工が不要と判定されたデータブロックに対応するラベルは送信待ちリスト６３に追加されており、ブロックヘッダ付加部２３１は、送信待ちリスト６３の先頭からラベルを取得してブロックヘッダを生成する。生成されるブロックヘッダには、ラベルに設定されていた情報のうち、送信先の装置において送信データを再構成するために必要な情報が設定される。【００９６】
図１０は、ブロックヘッダが付与されたデータブロックの一例を示す図である。図１０においてデータブロック１４ｃに付加されているブロックヘッダ４２は、図９に示したラベル２４ａから生成されたものであり、送信元、送信先、形式、データタイプ、ブロック番号、加工方法、データ終了フラグ、送信データ終了フラグといった項目を有している。【００９７】
次に、図４に示したデータ中継装置２００の処理手順について説明する。図１１は、受信処理部２１０による送信データ受信処理の処理手順を示すフローチャートである。送信データ受信処理は、送信データが受信されるたびに実行される。【００９８】
図１１に示すように、まず、受信部２１１が、送信データを先頭から所定サイズだけ受信する（ステップＳ１０１）。続いて、分割部２１２が、受信された断片に含まれるヘッダを解析し（ステップＳ１０２）、分割管理情報を生成して分割管理情報記憶部２４１に格納する（ステップＳ１０３）。【００９９】
そして、分割部２１２が、分割管理情報に基づいて、受信された断片をデータブロックに分割し（ステップＳ１０４）、分割した各データブロックに対応するラベルを生成する（ステップＳ１０５）。そして、格納部２１３が、データブロックとラベルを関連付けてデータブロック記憶部２４２に格納し（ステップＳ１０６）、さらに、ラベルを判定待ちリスト６１の末尾に追加する（ステップＳ１０７）。【０１００】
続いて、受信部２１１が、送信データを所定サイズだけ受信し、次の断片を取得する（ステップＳ１０８）。ここで、次の断片を取得できた場合は（ステップＳ１０９否定）、分割部２１２が、取得された断片に基づいて分割管理情報を更新し（ステップＳ１１０）、その後、ステップＳ１０４以降が再実行される。【０１０１】
一方、ステップＳ１０８において次の断片を取得できなかった場合、すなわち、送信データの受信を完了した場合は（ステップＳ１０９肯定）、分割部２１２が、分割管理情報を削除して送信データ受信処理が終了する（ステップＳ１１１）。【０１０２】
図１２は、加工判定部２２１による加工方法判定処理の処理手順を示すフローチャートである。加工方法判定処理は、データ中継装置２００の動作中は、加工判定部２２１によって継続的に実行される。【０１０３】
図１２に示すように、まず、加工判定部２２１は、判定待ちリスト６１の先頭のラベルを取得する。ここで、判定待ちリスト６１が空の場合は、加工判定部２２１は、判定待ちリスト６１にラベルが追加されるのを待ってそれを取得する（ステップＳ２０１）。そして、加工判定部２２１は、取得したラベルのデータタイプと送信先を加工定義情報記憶部２４３に予め格納されている加工定義情報と照合して加工方法を判定する（ステップＳ２０２）。【０１０４】
ここで、判定された加工方法が「無加工」以外だった場合、すなわち、データブロックの加工が必要な場合には（ステップＳ２０３肯定）、加工判定部２２１は、判定した加工方法をラベルに設定する（ステップＳ２０４）。そして、加工判定部２２１は、ラベルを加工待ちリスト６２へ移動させた後（ステップＳ２０５）、ステップＳ２０１以降を再実行する。【０１０５】
一方、判定された加工方法が「無加工」だった場合、すなわち、データブロックの加工が必要ない場合には（ステップＳ２０３否定）、加工判定部２２１は、ラベルに「無加工」を設定する（ステップＳ２０６）。そして、加工判定部２２１は、ラベルを送信待ちリスト６３へ移動させた後（ステップＳ２０７）、ステップＳ２０１以降を再実行する。【０１０６】
図１３は、加工部２２２による加工実行処理の処理手順を示すフローチャートである。加工実行処理は、データ中継装置２００の動作中は、加工部２２２によって継続的に実行される。【０１０７】
図１３に示すように、まず、加工部２２２は、加工待ちリスト６２の先頭のラベルを取得する。ここで、加工待ちリスト６２が空の場合は、加工部２２２は、加工待ちリスト６２にラベルが追加されるのを待ってそれを取得する（ステップＳ３０１）。そして、加工部２２２は、取得したラベルに対応するデータブロックを加工するために、同一のデータから切り出された全てのデータブロックが必要か否かを判定する（ステップＳ３０２）。【０１０８】
ここで、全てのデータブロックが必要ではないと判定した場合には（ステップＳ３０３否定）、加工部２２２は、ラベルに対応するデータブロックを加工し（ステップＳ３０４）、加工により新たに生成されたデータブロックをラベルと対応付ける（ステップＳ３０５）。そして、加工部２２２は、ラベルのステータスを「処理済」に更新し（ステップＳ３０６）、ラベルを送信待ちリスト６３の末尾に移動させる（ステップＳ３０７）。【０１０９】
そして、加工部２２２は、加工前のデータブロックを削除した後（ステップＳ３０８）、加工待ちリスト６２の次のラベルを取得し（ステップＳ３１５）、ステップＳ３０２以降を再実行する。なお、ステップＳ３１５において加工待ちリスト６２に次のラベルがなかった場合は、加工部２２２は、加工待ちリスト６２にラベルが追加されるのを待ってそれを取得する。【０１１０】
一方、ステップＳ３０２において全てのデータブロックが必要であると判定した場合には（ステップＳ３０３肯定）、加工部２２２は、ラベルにデータ終了フラグか送信データ終了フラグが設定されているかを確認することにより、そのラベルに対応するデータブロックが同一のデータから切り出された最後のデータブロックであるか否かを判定する。そして、ラベルに対応するデータブロックが最後のデータブロックであった場合は（ステップＳ３０９肯定）、加工部２２２は、同一のデータから切り出された全てのデータブロックを連結して加工する（ステップＳ３１０）。【０１１１】
そして、加工部２２２は、加工により新たに生成されたデータブロックを、結合したデータブロックに対応するラベルのうちブロック番号が最も小さいラベルである先頭ラベルと対応付ける（ステップＳ３１１）。そして、加工部２２２は、先頭ラベルのステータスを「処理済」に更新し（ステップＳ３１２）、先頭ラベルを送信待ちリスト６３の末尾に移動させる（ステップＳ３１３）。【０１１２】
そして、加工部２２２は、結合したデータブロックに対応するラベルのうち先頭ラベル以外のラベルと、加工前のデータブロックを削除した後（ステップＳ３１４）、加工待ちリスト６２の次のラベルを取得し（ステップＳ３１５）、ステップＳ３０２以降を再実行する。【０１１３】
また、取得したラベルに対応するデータブロックが最後のデータブロックでなかった場合は（ステップＳ３０９否定）、加工部２２２は、データブロックの加工を行うことなく、加工待ちリスト６２の次のラベルを取得し（ステップＳ３１５）、ステップＳ３０２以降を再実行する。【０１１４】
図１４は、送信処理部２３０によるデータブロック送信処理の処理手順を示すフローチャートである。データブロック送信処理は、データ中継装置２００の動作中は、送信処理部２３０によって継続的に実行される。【０１１５】
図１４に示すように、まず、ブロックヘッダ付加部２３１は、送信待ちリスト６３の先頭のラベルを取得する。ここで、送信待ちリスト６３が空の場合は、ブロックヘッダ付加部２３１は、送信待ちリスト６３にラベルが追加されるのを待ってそれを取得する（ステップＳ４０１）。そして、ブロックヘッダ付加部２３１は、取得したラベルからブロックヘッダを生成する（ステップＳ４０２）。【０１１６】
続いて、ブロックヘッダ付加部２３１は、ラベルに対応するデータブロックを取得し（ステップＳ４０３）、取得したデータブロックにブロックヘッダを付加する（ステップＳ４０４）。そして、送信部２３２が、ブロックヘッダの付加されたデータブロックを送信先へ送信し（ステップＳ４０５）、ブロックヘッダ付加部２３１が、送信されたデータブロックとそれに対応するラベルをデータブロック記憶部２４２から削除する（ステップＳ４０６）。その後、送信処理部２３０は、ステップＳ４０１以降を再実行する。【０１１７】
次に、図１に示したデータ受信装置３００の構成について説明する。図１５は、データ受信装置３００の構成を示すブロック図である。図１５に示すように、データ受信装置３００は、受信処理部３１０と、加工処理部３２０と、再構成処理部３３０と、記憶部３４０と、ネットワークインターフェース部３５０とを有する。ネットワークインターフェース部３５０は、ネットワークを介して他の情報処理装置と通信を行うためのインターフェース装置である。【０１１８】
受信処理部３１０は、受信部３１１と、格納部３１２とを有する。受信部３１１は、データ中継装置２００から送信されたデータブロックとブロックヘッダの組合せを受信する。格納部３１２は、受信されたブロックヘッダからラベルを生成し、データブロックとラベルを関連付けて記憶部３４０のデータブロック記憶部３４１に格納する。【０１１９】
図１６は、データブロック記憶部３４１に格納されたラベルとデータブロックの一例を示す図である。図１６に示した例では、データブロック１５ａに対応付けて、ラベル２５ａが格納されている。ラベル２５ａは、データ中継装置２００のデータブロック記憶部２４２に格納されるラベル２２ａ等が有する項目に加えて、中継時加工方法という項目を有する。この項目は、ブロックヘッダに設定されている加工方法の値が転記される項目であり、データ中継装置２００において、対応するデータブロックに対してどのような加工が実行されたかを示す。【０１２０】
ここで、データブロック記憶部３４１におけるラベルの管理手法について説明しておく。図１７は、ラベルが属する３つのリストを示す図である。図１７に示すように、データブロック記憶部３４１には、ラベル６４ａ〜６４ｃ等が属する判定待ちリスト６４と、ラベル６５ａ〜６５ｃ等が属する加工待ちリスト６５と、ラベル６６ａ〜６６ｃ等が属する再構成待ちリスト６６とが存在する。そして、データブロック記憶部３４１においては、各ラベルが、これらのリストのいずれかに属するように管理される。【０１２１】
判定待ちリスト６４は、格納部３１２によって新たにデータブロック記憶部３４１に格納されたラベルが末尾に追加されるリストである。判定待ちリスト６４に追加されたラベルは、先頭から順に加工処理部３２０によってデータブロックの加工方法が判定される。そして、データブロックの加工が必要と判定されたラベルは、加工待ちリスト６５の末尾に移動され、データブロックの加工が不要と判定されたラベルは、再構成待ちリスト６６の末尾に移動される。加工待ちリスト６５に追加されたラベルは、加工処理部３２０によるデータブロックの加工が完了したものから順に、再構成待ちリスト６６の末尾に移動される。そして、再構成待ちリスト６６に追加された各ラベルは、同一の送信データから得られたデータブロックに対応するラベルが全て揃った段階で、再構成処理部３３０による再構成処理の対象となる。【０１２２】
図１５の説明に戻って、加工処理部３２０は、加工判定部３２１と、加工部３２２とを有する。加工判定部３２１は、データブロック記憶部３４１に格納されている各データブロックに対してどのような加工が必要かを判定し、判定結果を対応するラベルの加工方法の項目に設定する。【０１２３】
加工判定部３２１は、判定待ちリスト６４の先頭のラベルから順に判定を行い、加工が必要と判定したデータブロックに対応するラベルを加工待ちリスト６５の末尾に移動させる。また、加工判定部３２１は、加工が不要と判定したデータブロックに対応するラベルを再構成待ちリスト６６の末尾に移動させる。【０１２４】
加工判定部３２１は、データブロックにどのような加工が必要かを、対応するラベルに設定されているデータタイプと中継時加工方法の値を記憶部３４０の加工定義情報記憶部３４３に記憶されている加工定義情報７２と照合することにより判定する。加工定義情報７２の一例を図１８に示す。図１８に示すように、加工定義情報７２は、データタイプ、中継時加工方法、加工方法といった項目を有し、データタイプ毎に中継時加工方法と加工方法の組合せを複数登録できるように構成されている。【０１２５】
加工定義情報７２におけるデータタイプは、データの種別を示し、ラベルのデータタイプの値と対応する。中継時加工方法は、データ中継装置２００において実行された加工方法を示し、ラベルの中継時加工方法の値と対応する。加工方法は、データブロックに対して実行すべき加工方法を示す。なお、加工方法の項目に設定される加工方法は、データをデータ中継装置２００における加工前の状態に戻すためのものであってもよいし、それ以外のものであってもよい。また、加工方法として、「無加工」という値が設定されている場合、データブロックに加工が不要であることを示す。【０１２６】
図１８に示した例では、「テキスト」というデータタイプに対して、「ＺＩＰ圧縮」という送信先と「ＺＩＰ解凍」という加工方法の組合せが登録されている。これは、ラベルのデータタイプに設定されている値が「テキスト」であり、中継時加工方法に設定されている値が「ＺＩＰ圧縮」であれば、データブロックに「ＺＩＰ解凍」という加工が必要であることを示している。【０１２７】
加工部３２２は、加工判定部３２１の判定結果に従ってデータブロックに対して加工を行う。具体的には、加工部３２２は、加工待ちリスト６５の先頭から順にラベルを取得し、ラベルの加工方法の値に従って、ラベルに対応するデータブロックを加工し、ラベルを再構成待ちリスト６６の末尾に移動させる。【０１２８】
再構成処理部３３０は、再構成部３３１を有する。再構成部３３１は、加工が完了したデータブロックや加工が不要と判定されたデータブロックと、それらに対応するラベルとに基づいて送信データを再構成し、再構成した送信データを記憶部３４０の送信データ記憶部３４２に格納する。【０１２９】
上述したように、加工が完了したデータブロックや加工が不要と判定されたデータブロックに対応するラベルは、再構成待ちリスト６６に追加される。そして、再構成部３３１は、送信データを再構成するのに必要な全てのラベルが再構成待ちリスト６６に揃った時点で再構成を実行する。送信データを再構成するのに必要な全てのラベルが全て揃ったことは、同一の送信データＩＤを有するラベルをブロック番号順に並べた場合に、番号の抜けが無く、データ終了フラグが設定されたラベルと送信データ終了フラグが設定されたラベルが適切な位置にあることを基準に判定できる。【０１３０】
次に、図１５に示したデータ受信装置３００の処理手順について説明する。図１９は、受信処理部３１０による受信処理の処理手順を示すフローチャートである。受信処理は、データ受信装置３００の動作中は、受信処理部３１０によって継続的に実行される。【０１３１】
図１９に示すように、受信部３１１が、データ中継装置２００からブロックヘッダとデータブロックを受信する（ステップＳ５０１）。続いて、格納部３１２が、受信されたブロックヘッダからラベルを生成し（ステップＳ５０２）、データブロックとラベルを対応付けてデータブロック記憶部３４１に格納する（ステップＳ５０３）。そして、格納部３１２が、ラベルを判定待ちリスト６４の末尾に追加する（ステップＳ５０４）。その後、ステップＳ５０１以降が再実行される。【０１３２】
図２０は、加工判定部３２１による加工方法判定処理の処理手順を示すフローチャートである。加工方法判定処理は、データ受信装置３００の動作中は、加工判定部３２１によって継続的に実行される。【０１３３】
図２０に示すように、まず、加工判定部３２１は、判定待ちリスト６４の先頭のラベルを取得する。ここで、判定待ちリスト６４が空の場合は、加工判定部３２１は、判定待ちリスト６４にラベルが追加されるのを待ってそれを取得する（ステップＳ６０１）。そして、加工判定部３２１は、取得したラベルのデータタイプと中継時加工方法を加工定義情報記憶部３４３に予め格納されている加工定義情報と照合して加工方法を判定する（ステップＳ６０２）。【０１３４】
ここで、判定された加工方法が「無加工」以外だった場合、すなわち、データブロックの加工が必要な場合には（ステップＳ６０３肯定）、加工判定部３２１は、判定した加工方法をラベルに設定する（ステップＳ６０４）。そして、加工判定部３２１は、ラベルを加工待ちリスト６５へ移動させた後（ステップＳ６０５）、ステップＳ６０１以降を再実行する。【０１３５】
一方、判定された加工方法が「無加工」だった場合、すなわち、データブロックの加工が必要ない場合には（ステップＳ６０３否定）、加工判定部３２１は、ラベルに「無加工」を設定する（ステップＳ６０６）。そして、加工判定部３２１は、ラベルを再構成待ちリスト６６へ移動させた後（ステップＳ６０７）、ステップＳ６０１以降を再実行する。【０１３６】
図２１は、加工部３２２による加工実行処理の処理手順を示すフローチャートである。加工実行処理は、データ受信装置３００の動作中は、加工部３２２によって継続的に実行される。【０１３７】
図２１に示すように、まず、加工部３２２は、加工待ちリスト６５の先頭のラベルを取得する。ここで、加工待ちリスト６５が空の場合は、加工部３２２は、加工待ちリスト６５にラベルが追加されるのを待ってそれを取得する（ステップＳ７０１）。そして、加工部３２２は、ラベルに対応するデータブロックを加工し（ステップＳ７０２）、加工により新たに生成されたデータブロックをラベルと対応付ける（ステップＳ７０３）。【０１３８】
そして、加工部３２２は、ラベルのステータスを「処理済」に更新し（ステップＳ７０４）、ラベルを再構成待ちリスト６６の末尾に移動させる（ステップＳ７０５）。そして、加工部３２２は、加工前のデータブロックを削除した後（ステップＳ７０６）、ステップＳ７０１以降を再実行する。【０１３９】
図２２は、再構成処理部３３０による再構成処理の処理手順を示すフローチャートである。再構成処理は、データ受信装置３００の動作中は、再構成処理部３３０によって継続的に実行される。【０１４０】
図２２に示すように、まず、再構成処理部３３０は、再構成待ちリスト６６の先頭のラベルを取得する。ここで、再構成待ちリスト６６が空の場合は、再構成処理部３３０は、再構成待ちリスト６６にラベルが追加されるのを待ってそれを取得する（ステップＳ８０１）。そして、再構成処理部３３０は、取得したラベルと送信データＩＤが同一のラベルを再構成待ちリスト６６から取得し（ステップＳ８０２）、送信データを再構成するために必要なデータブロックが全て揃っているか確認する（ステップＳ８０３）。【０１４１】
ここで、全てのデータブロックが揃っていた場合は（ステップＳ８０４肯定）、再構成処理部３３０は、各ラベルに対応するデータブロックをデータブロック記憶部３４１から取得する（ステップＳ８０５）。そして、再構成処理部３３０は、取得したデータブロックとそれらに対応するラベルから送信データを再構成し（ステップＳ８０６）、再構成した送信データを送信データ記憶部３４２に格納する（ステップＳ８０７）。【０１４２】
そして、再構成処理部３３０は、取得したデータブロックとラベルを削除し（ステップＳ８０８）、再構成待ちリスト６６から次のラベルを取得して（ステップＳ８０９）、ステップＳ８０２以降を再実行する。なお、ステップＳ８０９において再構成待ちリスト６６に次のラベルがなかった場合は、再構成処理部３３０は、再構成待ちリスト６６にラベルが追加されるのを待ってそれを取得する。【０１４３】
一方、ステップＳ８０３において、全てのデータブロックが揃ってなかった場合は（ステップＳ８０４否定）、再構成処理部３３０は、送信データの再構成を行うことなく、再構成待ちリスト６６から次のラベルを取得して（ステップＳ８０９）、ステップＳ８０２以降を再実行する。【０１４４】
なお、図４に示したデータ中継装置２００の構成と図１５に示したデータ受信装置３００の構成の構成は、要旨を逸脱しない範囲で種々に変更することができる。例えば、データ中継装置２００の受信処理部２１０、加工処理部２２０および送信処理部２３０の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、データ中継装置２００と同等の機能を実現することもできる。同様に、データ受信装置３００の受信処理部３１０、加工処理部３２０および再構成処理部３３０の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、データ受信装置３００と同等の機能を実現することもできる。【０１４５】
以下に、データ中継装置２００の受信処理部２１０、加工処理部２２０および送信処理部２３０の機能をソフトウェアとして実装したデータ中継プログラム１０７１を実行するコンピュータの一例を示す。【０１４６】
図２３は、データ中継プログラム１０７１を実行するコンピュータ１０００を示す機能ブロック図である。このコンピュータ１０００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取り装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース装置１０５０と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）１０６０と、ハードディスク装置１０７０とをバス１０８０で接続して構成される。【０１４７】
そして、ハードディスク装置１０７０には、図４に示した受信処理部２１０、加工処理部２２０および送信処理部２３０と同様の機能を有するデータ中継プログラム１０７１と、図４に示した記憶部２４０に記憶される各種データに対応するデータ中継用データ１０７２とが記憶される。なお、データ中継用データ１０７２を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。【０１４８】
そして、ＣＰＵ１０１０がデータ中継プログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、データ中継プログラム１０７１は、データ中継プロセス１０６１として機能するようになる。そして、データ中継プロセス１０６１は、データ中継用データ１０７２から読み出した情報等を適宜ＲＡＭ１０６０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。【０１４９】
なお、上記のデータ中継プログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【図１】
2009144800.tif 000003
【図２】
2009144800.tif 000004
【図３】
2009144800.tif 000005
【図４】
2009144800.tif 000006
【図５−１】
2009144800.tif 000007
【図５−２】
2009144800.tif 000008
【図５−３】
2009144800.tif 000009
【図６−１】
2009144800.tif 000010
【図６−２】
2009144800.tif 000011
【図６−３】
2009144800.tif 000012
【図７】
2009144800.tif 000013
【図８】
2009144800.tif 000014
【図９】
2009144800.tif 000015
【図１０】
2009144800.tif 000016
【図１１】
2009144800.tif 000017
【図１２】
2009144800.tif 000018
【図１３】
2009144800.tif 000019
【図１４】
2009144800.tif 000020
【図１５】
2009144800.tif 000021
【図１６】
2009144800.tif 000022
【図１７】
2009144800.tif 000023
【図１８】
2009144800.tif 000024
【図１９】
2009144800.tif 000025
【図２０】
2009144800.tif 000026
【図２１】
2009144800.tif 000027
【図２２】
2009144800.tif 000028
【図２３】
2009144800.tif 000029
【国際調査報告】
2009144800.tif 000030
2009144800.tif 000031
2009144800.tif 000032
2009144800.tif 000033