JPWO2009144800A1 - データ中継装置、データ中継プログラム、データ受信装置および通信システム - Google Patents

データ中継装置、データ中継プログラム、データ受信装置および通信システム Download PDF

Info

Publication number
JPWO2009144800A1
JPWO2009144800A1 JP2010514294A JP2010514294A JPWO2009144800A1 JP WO2009144800 A1 JPWO2009144800 A1 JP WO2009144800A1 JP 2010514294 A JP2010514294 A JP 2010514294A JP 2010514294 A JP2010514294 A JP 2010514294A JP WO2009144800 A1 JPWO2009144800 A1 JP WO2009144800A1
Authority
JP
Japan
Prior art keywords
data
processing
block
information
transmission
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.)
Granted
Application number
JP2010514294A
Other languages
English (en)
Other versions
JP5206788B2 (ja
Inventor
弘 野中
弘 野中
毅 藤原
毅 藤原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2009144800A1 publication Critical patent/JPWO2009144800A1/ja
Application granted granted Critical
Publication of JP5206788B2 publication Critical patent/JP5206788B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

データ中継装置(200)は、送信データをデータブロックに分割し、データブロックを管理するためのラベルとともに記憶部(240)に格納する受信処理部(210)と、記憶部に格納されたデータブロックを加工する加工処理部(220)と、加工が完了したデータブロックを送信先に送信する送信処理部(230)とを有する。受信処理部が送信データを受信しながら分割することにより、受信処理部、加工処理部、送信処理部が並列に動作することが可能になっており、これにより、送信データの中継に要する時間の短縮が実現される。

Description

この発明は、データ中継に関連するデータ中継装置、データ中継プログラム、データ受信装置および通信システムに関し、送信データの中継に要する時間を短縮することができるデータ中継装置、データ中継プログラム、データ受信装置および通信システムなどを含む。
複数の情報処理装置が通信を行う場合に、それらの情報処理装置の間にデータ中継装置が配置されることがある。データ中継装置とは、送信元の情報処理装置から送信された送信データを通信経路上で受信し、送信先の情報処理装置へ転送する装置である。
データ中継装置が配置される目的は、例えば、通信量の削減である。送信元の情報処理装置から送信された送信データを、データ中継処理装置が圧縮して送信先へ転送することにより、送信される情報量を少なくすることができる。その他、データ中継装置は、不適切な情報が送信されないようにフィルタリングを行う目的等でも配置される。
特開平07−210473号公報 特開平09−135262号公報 特開2007−310662号公報
しかしながら、従来のデータ中継装置には、データ送信に要する時間を長くしてしまうという問題があった。例えば、送信データを圧縮して転送するデータ中継装置の場合、送信データ全体を受信し終わった後に、圧縮処理を行い、圧縮後の送信データを送信先へ転送していたため、圧縮処理の分だけデータ送信時間が長くなってしまっていた。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、送信データの中継に要する時間を短縮することができるデータ中継装置、データ中継プログラム、データ受信装置および通信システムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本願の開示する通信システムは、一つの態様において、第1の情報処理装置と、第2の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置の間の通信を中継するデータ中継装置とを含む通信システムであって、前記データ中継装置は、前記第1の情報処理装置から送信された送信データを受信する第1の受信手段と、前記第1の受信手段において受信中の送信データを該送信データに含まれるデータの種別毎に1ないし複数のブロックに分割する分割手段と、前記分割手段によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手段と、前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第1の加工判定手段と、前記記憶手段に格納されたブロックを、前記第1の加工判定手段によって判定された加工方法に基づいて加工する第1の加工手段と、前記第1の加工手段によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに前記第2の情報処理装置へ送信する送信手段とを備え、前記第2の情報処理装置は、前記ブロックと前記ブロック管理情報を受信する第2の受信手段と、前記ブロック管理情報に含まれる前記種別情報に基づいて、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第2の加工判定手段と、前記第2の加工判定手段によって判定された加工方法に基づいて、前記ブロックを加工する第2の加工手段と、前記第2の加工手段によって加工されたブロックを、該ブロックに対応するブロック情報に含まれる位置情報に基づいて他のブロックと組み合わせて、前記送信データを再構成する再構成手段とを備える。
この発明の態様によれば、第1の受信手段が送信データを受信している間に分割手段が送信データをブロックに分割することとしたので、第1の加工手段や送信手段等が、第1の受信手段と並列に処理を行うことが可能になり、送信データの中継に要する時間を短縮することができる。
なお、本願の開示する通信システムの構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも上述した課題を解決するために有効である。
本願の開示するデータ中継装置、データ中継プログラム、データ受信装置および通信システムの一つの態様によれば、送信データの中継に要する時間を短縮することができるという効果を奏する。
図1は、本実施例に係るデータ中継装置を含む通信システムの一例を示す図である。 図2は、データ中継装置の機能概要を示す図である。 図3は、送信データの中継に要する時間の相違を示す図である。 図4は、データ中継装置の構成を示すブロック図である。 図5−1は、送信データの一例を示す図である。 図5−2は、分割管理情報の一例を示す図である。 図5−3は、データブロック記憶部に格納されるデータブロックとラベルの組合せの一例を示す図である。 図6−1は、送信データの一例を示す図である。 図6−2は、分割管理情報の一例を示す図である。 図6−3は、データブロック記憶部に格納されるデータブロックとラベルの組合せの一例を示す図である。 図7は、ラベルが属する3つのリストを示す図である。 図8は、加工定義情報の一例を示す図である。 図9は、複数のデータブロックを連結して加工を行う例を示す図である。 図10は、ブロックヘッダが付与されたデータブロックの一例を示す図である。 図11は、受信処理部による送信データ受信処理の処理手順を示すフローチャートである。 図12は、加工判定部による加工方法判定処理の処理手順を示すフローチャートである。 図13は、加工部による加工実行処理の処理手順を示すフローチャートである。 図14は、送信処理部によるデータブロック送信処理の処理手順を示すフローチャートである。 図15は、データ受信装置の構成を示すブロック図である。 図16は、データブロック記憶部に格納されたラベルとデータブロックの一例を示す図である。 図17は、ラベルが属する3つのリストを示す図である。 図18は、加工定義情報の一例を示す図である。 図19は、受信処理部による受信処理の処理手順を示すフローチャートである。 図20は、加工判定部による加工方法判定処理の処理手順を示すフローチャートである。 図21は、加工部による加工実行処理の処理手順を示すフローチャートである。 図22は、再構成処理部による再構成処理の処理手順を示すフローチャートである。 図23は、データ中継プログラムを実行するコンピュータを示す機能ブロック図である。
符号の説明
1、2 ネットワーク
11〜13 送信データ
11a ヘッダ
11b、11c データ
12a〜12d、13a〜13d、14a〜14c、15a データブロック
21a〜21d、22a〜22d、23a〜23d、24a、24b、25a ラベル
31a〜31d データブロック
41、42 ブロックヘッダ
51、52 分割管理情報
61 判定待ちリスト
61a〜61c ラベル
62 加工待ちリスト
62a〜62c ラベル
63 送信待ちリスト
63a〜63c ラベル
64 判定待ちリスト
64a〜64c ラベル
65 加工待ちリスト
65a〜65c ラベル
66 再構成待ちリスト
66a〜66c ラベル
71、72 加工定義情報
100 データ送信装置
200 データ中継装置
210 受信処理部
211 受信部
212 分割部
213 格納部
220 加工処理部
221 加工判定部
222 加工部
230 送信処理部
231 ブロックヘッダ付加部
232 送信部
240 記憶部
241 分割管理情報記憶部
242 データブロック記憶部
243 加工定義情報記憶部
250 ネットワークインターフェース部
300 データ受信装置
310 受信処理部
311 受信部
312 格納部
320 加工処理部
321 加工判定部
322 加工部
330 再構成処理部
331 再構成部
340 記憶部
341 データブロック記憶部
342 送信データ記憶部
343 加工定義情報記憶部
350 ネットワークインターフェース部
1000 コンピュータ
1010 CPU
1020 入力装置
1030 モニタ
1040 媒体読取り装置
1050 ネットワークインターフェース装置
1060 RAM
1061 データ中継プロセス
1070 ハードディスク装置
1071 データ中継プログラム
1072 データ中継用データ
1080 バス
以下に、本願の開示するデータ中継装置、データ中継プログラム、データ受信装置および通信システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
まず、本実施例に係るデータ中継装置200を含む通信システムについて説明する。図1は、本実施例に係るデータ中継装置200を含む通信システムの一例を示す図である。図1に示すように、データ中継装置200は、LAN(Local Area Network)やインターネット等のネットワーク1を介してデータ送信装置100と接続される。また、データ中継装置200は、LANやインターネット等のネットワーク2を介してデータ受信装置300とも接続される。
データ送信装置100は、データ受信装置300へ向けて送信データを送信する情報処理装置であり、例えば、サーバ装置、パソコン、もしくは、携帯端末に相当する。データ受信装置300は、データ送信装置100から送信された送信データを受信する情報処理装置であり、例えば、サーバ装置、パソコン、もしくは、携帯端末に相当する。
データ中継装置200は、データ送信装置100から送信された送信データに対して加工を加えてデータ受信装置300へ転送する情報処理装置である。データ中継装置200が送信データに加える加工は、送信データに含まれるデータの種類や送信データの送信先等によって異なる。例えば、データ中継装置200は、送信データに含まれるデータのうち、テキストデータを圧縮してデータ受信装置300へ転送する。
なお、図1ではデータ送信装置100とデータ受信装置300が1台ずつ存在する例を示したが、データ中継装置200は、データ送信装置100とデータ受信装置300が複数台存在する場合でも送信データの中継を行うことができる。また、データ送信装置100とデータ受信装置300の役割は固定されている必要はない。すなわち、ある場合には、データ受信装置300が送信データを送信し、データ中継装置200によって中継された送信データをデータ送信装置100が受信することとしてもよい。
次に、データ中継装置200の機能概要について説明する。図2は、データ中継装置200の機能概要を示す図である。図2に示すように、データ中継装置200は、受信処理部210と、加工処理部220と、送信処理部230とを有し、これらが並列に動作するように構成されている。
受信処理部210は、データ送信装置100から送信された送信データを受信しながら、これをデータの種別毎に所定の長さ以下のデータブロックに分割して、データ中継装置200が有する記憶部240に格納する。受信処理部210は、データブロックを記憶部240に格納するにあたって、送信データにおけるデータブロックの位置を示す位置情報やデータブロックがどの種別のデータを含んでいるかを示すデータタイプ等を設定したラベルを生成する。そして、受信処理部210は、生成したラベルをデータブロックと関連付けて記憶部240に格納する。
加工処理部220は、記憶部240を監視し、内容を確認していないラベルが格納されていれば、そのラベルのデータタイプを参照して、そのラベルに対応するデータブロックに対してどのような加工が必要かを判定する。そして、加工処理部220は、判定結果を加工方法としてラベルに設定する。さらに、加工処理部220は、必要と判定した加工を、データブロックに対して実行し、加工完了後に、加工が完了した旨をステータスとしてラベルに設定する。なお、加工処理部220は、データブロックの加工が不要と判定した場合は、対応するラベルにその旨を設定し、データブロックの加工は行わない。
送信処理部230は、記憶部240を監視し、データブロックの加工が完了した旨が設定されたラベルがあれば、そのラベルに設定されている位置情報等が設定されたブロックヘッダを生成する。そして、送信処理部230は、そのラベルに対応するデータブロックにブロックヘッダを付加して送信先へ送信する。また、送信処理部230は、記憶部240を監視し、データブロックの加工が不要である旨が設定されたラベルがあれば、そのラベルに設定されている位置情報等が設定されたブロックヘッダを生成する。そして、送信処理部230は、そのラベルに対応するデータブロックにブロックヘッダを付加して送信先へ送信する。
例えば、送信元アドレスや送信先アドレス等が設定されたヘッダ11aと、テキストデータであるデータ11bと、jpeg形式の画像データであるデータ11cとを含む送信データ11が受信されると、データ中継装置200は、以下のように動作する。
受信処理部210は、送信データ11を受信ながらデータブロックに分割していき、ヘッダ11aをデータブロック31aとして分割して記憶部240に格納し、データブロック31aに対応するラベル21aを生成してこれを記憶部240に格納する。ラベル21aには、位置情報として「1−1」が設定され、データタイプとして「ヘッダ」が設定される。
なお、位置情報である「1−1」の「−」よりも前の部分に示された数字は、対応するデータブロックに含まれるデータが送信データに含まれる何番目のデータであるかを示す。また、「−」よりも後の部分に示された数字は、対応するデータブロックがそのデータを分割して得られた何番目のブロックであるかを示す。すなわち、「1−1」は、対応するデータブロックが、送信データにおける1番目のデータを分割して得られた1番目のブロックであることを示す。
続いて、受信処理部210は、データ11bをデータブロック31bとして分割して記憶部240に格納し、データブロック31bに対応するラベル21bを生成してこれを記憶部240に格納する。ラベル21bには、位置情報として「2−1」が設定され、データタイプとして「テキスト」が設定される。
続いて、受信処理部210は、データ11cをデータブロックに分割する。図2に示した例では、受信処理部210は、データ11cをデータブロック31cとデータブロック31dに分割している。このように、受信処理部210は、送信データに含まれるデータの1つを受信中に、タイミングや既に受信した部分の長さに応じてそのデータを分割する。データを複数のデータブロックに分割して記憶部240に格納することにより、各データブロックを記憶部240に格納するために必要な時間を短縮し、それらのデータブロックに対して処理を開始するタイミングを早めることができる。
そして、受信処理部210は、データブロック31cに対応するラベル21cを生成してこれを記憶部240に格納し、データブロック31dに対応するラベル21dを生成してこれを記憶部240に格納する。ラベル21cには、位置情報として「3−1」が設定され、データタイプとして「jpeg画像」が設定される。ラベル21dには、位置情報として「3−2」が設定され、データタイプとして「jpeg画像」が設定される。
なお、受信処理部210によって記憶部240に格納された時点では、各ラベルの加工方法には「未判定」が設定され、ステータスには「未処理」が設定される。「未判定」は、加工方法がまだ判定されていないことを示す値であり、「未処理」は、加工がまだ実行されていないことを示す値である。
上記の受信処理部210の動作と並行して、加工処理部220は、記憶部240に格納された各ラベルのデータタイプを参照して、対応するデータブロックの加工方法を判定し、加工が必要であればデータブロックに加工を加える。
図2に示した例では、加工処理部220は、ラベル21aのデータタイプを参照して、データブロック31aに加工が不要であると判定し、ラベル21aに加工方法として「無加工」を設定している。
また、加工処理部220は、ラベル21bのデータタイプを参照して、データブロック31bに圧縮処理が必要であると判定し、ラベル21bに加工方法として「ZIP圧縮」を設定している。そして、加工処理部220は、データブロック31bに対して圧縮処理を実行し、実行後に、ラベル21bにステータスとして「処理済」を設定している。「処理済」は、加工が完了したことを示す値である。
なお、この時点では、加工処理部220は、データブロック31cおよび31dの加工方法を判定していないため、ラベル21cおよび21dは、加工方法として「未判定」が設定され、ステータスとして「未処理」が設定されたままとなっている。
上記の受信処理部210および加工処理部220の動作と並行して、送信処理部230は、記憶部240に格納された各ラベルを参照して、データブロックの送信処理を実行する。具体的には、送信処理部230は、加工方法として「無加工」が設定されているラベルに対応するデータブロックと、ステータスとして「処理済」が設定されているラベルに対応するデータブロックを送信対象とする。そして、送信処理部230は、送信対象のデータブロックに対応するラベルからブロックヘッダを生成し、生成したブロックヘッダをデータブロックに付加してデータ受信装置300へ送信する。
ブロックヘッダには、ラベルに設定されている情報のうちデータ受信装置300において送信データ11を再構成するために必要な情報が設定される。図2に示した例では、加工方法として「無加工」が設定されているラベル21aに対応するデータブロック31aが送信対象となっている。そして、ラベル21aに設定されている情報のうち、送信データ11の再構成に不要な情報であるステータス以外の情報がブロックヘッダ41に設定され、データブロック31aとともにデータ受信装置300へ送信されている。
図2に示した場面の後、ステータスとして「処理済」が設定されているラベル21bに対応するデータブロック31bが送信対象となる。そして、加工処理部220による処理が完了した後、ラベル21cに対応するデータブロック31cとラベル21dに対応するデータブロック31dも送信対象となる。
こうして、送信データ11を分割して得られた全てのデータブロックがブロックヘッダとともにデータ受信装置300へ送信される。そして、データ受信装置300は、ブロックヘッダに設定されている位置情報に基づいて、送信データ11におけるデータブロックの位置を判定する。また、データ受信装置300は、ブロックヘッダに設定されているデータタイプと加工方法に基づいて、データブロックに含まれるデータが当所どのようなデータであり、どのような加工をされたのかを判定する。そして、データ受信装置300は、これらの判定結果に基づいて送信データ11を再構成する。
なお、本願においては、再構成は、データ送信装置100から送信された送信データ11を完全に再現することを必ずしも意味しない。例えば、データ中継装置200が、送信データ11に含まれる画像データをデータ受信装置300の表示部の解像度に合わせて縮小した場合には、データ受信装置300は、縮小された画像データを用いて送信データ11を再構成する。
このように、データ中継装置200は、受信処理部210が送信データをデータブロックに分割し、それと並行して、加工処理部220が加工処理を実行し、送信処理部230が送信処理を実行するように構成されている。このため、データ中継装置200においては、送信データの中継に要する時間が従来と比較して大きく短縮されている。
図3は、送信データの中継に要する時間の相違を示す図である。図3に示すように、従来のデータ中継装置においては、送信データの全体を受信し終えた後にデータの加工を実行し、全てのデータの加工処理が完了した後に送信処理が実行されていた。このため、従来のデータ中継装置においては、送信データの中継に要する時間は、受信処理、加工処理および送信処理の各処理に要する時間の合計よりも短くなることはなかった。
一方、データ中継装置200においては、受信処理、加工処理および送信処理がデータブロック単位で並列に進行するため、送信データの中継に要する時間は、受信処理、加工処理および送信処理の各処理に要する時間の合計よりも大幅に短くなっている。また、データ中継装置200においては、送信が完了したデータブロックを記憶部240から削除することができるため、送信データ全体を記憶する必要がなく、記憶部240の容量が少なくて済む。
次に、データ中継装置200のより詳細な構成について説明する。図4は、データ中継装置200の構成を示すブロック図である。図4に示すように、データ中継装置200は、受信処理部210と、加工処理部220と、送信処理部230と、記憶部240と、ネットワークインターフェース部250とを有する。ネットワークインターフェース部250は、ネットワークを介して他の情報処理装置と通信を行うためのインターフェース装置である。
受信処理部210は、受信部211と、分割部212と、格納部213とを有する。受信部211は、データ送信装置100から送信された送信データを所定サイズずつ受信し、受信した送信データの断片を分割部212に順次引き渡す。
分割部212は、受信部211から引き渡された断片の内容を解析することによって送信データの形式を分析し、分析結果を記憶部240の分割管理情報記憶部241に格納する。そして、分割部212は、分割管理情報記憶部241に格納した情報に基づいて、受信部211から引き渡された断片をデータの種別毎にデータブロックに分解し、各データブロックに対応するラベルを生成する。
格納部213は、分割部212によって分割された各データブロックを、対応するラベルと関連付けて記憶部240のデータブロック記憶部242に格納する。
ここで、受信処理部210の各部の動作について、具体例を示して説明する。図5−1は、データ送信装置100から送信される送信データの一例を示す図である。図5−1に示す送信データ12は、ヘッダと、データAと、データBとを有する。ヘッダは、送信元と送信先のアドレスの他に、送信データ12の形式に関する情報を含んでいる。
具体的には、ヘッダには、ヘッダのサイズが256byteであり、送信データ12には、ヘッダ以外に2つのデータが含まれる旨が設定されている。また、ヘッダには、1番目のデータ、すなわち、データAのサイズが650byteであり、データAのデータタイプが「テキスト」である旨が設定されている。また、ヘッダには、2番目のデータ、すなわち、データBのサイズが1050byteであり、データBのデータタイプが「jpeg画像」である旨が設定されている。
受信部211は、前述のように、所定のサイズずつ送信データ12を受信する。ここでは、受信部211が、1024byteずつ送信データ12を受信するものとする。この場合、受信部211は、まず、送信データ12の先頭から1024byteの部分、すなわち、ヘッダと、データAと、データBの先頭部分を受信し、この部分を最初の断片として分割部212へ引き渡す。
分割部212は、受信部211から最初の断片を受け取ると、断片に含まれるヘッダから分割処理に必要な情報を抽出して分割管理情報51を生成して、分割管理情報記憶部241に格納する。ヘッダに基づいて生成された分割管理情報51の一例を図5−2に示す。なお、図5−2に示した例では、分割管理情報51がXML(Extensible Markup Language)形式で作成されているが、分割管理情報51は、XML以外の形式であってもよい。
図5−2に示すように、分割管理情報51には、送信データID、送信元、送信先、形式、データ定義、データ番号、ブロック番号といった項目が存在する。送信データIDは、送信データを識別する番号であり、送信データ毎に異なる値が設定される。送信元は、送信データの送信元のアドレスであり、送信先は、送信データの送信先のアドレスである。形式は、送信データの形式であり、ここでは「形式01」が設定されている。
データ定義は、送信データに含まれるデータ毎に設けられる項目であり、オフセット、サイズ、データタイプといった項目を含む。オフセットは、送信データの先頭からみた場合のデータの出現位置であり、当該のデータよりも前に位置するデータのサイズの合計値が設定される。サイズは、当該のデータのサイズであり、データタイプは、当該のデータの種別である。
データ番号は、これから切り出すデータブロックが何番目のデータに属するかを示す番号である。ブロック番号は、これから切り出すデータブロックがデータ中の何番目のブロックであるかを示す番号である。データ番号は、初期値として1を設定され、分割部212は、異なるデータの処理を開始するたびにデータ番号に1を加算する。ブロック番号は、初期値として1を設定され、分割部212は、異なるデータの処理を開始するたびにブロック番号を1に初期化し、データブロックを切り出すたびにブロック番号に1を加算する。
分割部212は、分割管理情報51に設定された各データ定義のオフセットとサイズの値に基づいて、ヘッダ、データA、データBの先頭部分を、それぞれ、データブロック12a、データブロック12b、データブロック12cとして切り出す。そして、分割部212は、各ブロックを切り出しながら、分割管理情報51のデータ番号とブロック番号を更新し、切り出されたデータブロック毎にラベルを生成する。そして、切り出された各データブロックは、格納部213によって、対応するラベルと関連付けてデータブロック記憶部242に格納される。
続いて、受信部211は、送信データ12の後続部分、すなわち、データBの残り部分を受信し、この部分を次の断片として分割部212へ引き渡す。分割部212は、分割管理情報51に設定された各データ定義のオフセットとサイズの値に基づいて、引き渡された断片全体をデータブロック12dとして切り出す。そして、分割部212は、分割管理情報51のブロック番号を更新し、データブロック12dに対応するラベルを生成する。そして、データブロック12dは、格納部213によって、対応するラベルと関連付けてデータブロック記憶部242に格納される。
以上の処理の結果、データブロック記憶部242には、図5−3に示すようなデータブロックとラベルの組合せが格納される。図5−3に示した例では、データブロック12a〜12dと関連付けて、ラベル22a〜22dが格納されている。各ラベルには、共通の項目として、送信データID、ブロック番号、加工方法、ステータス、送信元、送信先、形式といった項目が含まれる。なお、図5−3に示した例では、ラベル22a〜22dがXML形式で作成されているが、ラベル22a〜22dは、XML以外の形式であってもよい。
送信データIDは、送信データを識別する番号であり、分割管理情報51の送信データIDの値がそのまま設定される。ブロック番号は、送信データにおけるデータブロックの位置を示す位置情報である。例えば、「3−2」というブロック番号は、当該のラベルに対応するデータブロックが、送信データにおける3番目のデータを分割して得られた2番目のデータブロックであることを意味する。ブロック番号は、データブロックが切り出された時点における分割管理情報51のデータ番号とブロック番号の値に基づいて設定される。
加工方法は、当該のラベルに対応するデータブロックに対して実行すべき加工方法が設定される項目であり、初期値として「未判定」が設定される。ステータスは、当該のラベルに対応するデータブロックに対して実行すべき加工の進捗状況が設定される項目であり、初期値として「未処理」が設定される。送信元、送信先および形式は、それぞれ、送信データの送信元アドレス、送信先アドレスおよび形式が設定される項目であり、分割管理情報51の送信元、送信先および形式の値がそのまま設定される。
ラベルには、上記の共通項目に加えて、データ終了フラグもしくは送信データ終了フラグが設定されることがある。データ終了フラグは、当該のラベルに対応するデータブロックが、あるデータから切り出された最後のデータブロックである場合に設定される。また、送信データ終了フラグは、当該のラベルに対応するデータブロックが、送信データから切り出された最後のデータブロックである場合に設定される。これらのフラグは、データブロックとともに送信されるブロックヘッダに設定され、データ受信装置300がデータブロックの欠落の有無を確認するために用いられる。
図5−3に示した例では、データブロック12aは、ヘッダから切り出された最後のデータブロックであるため、データブロック12aに対応するラベル22aに、データ終了フラグとして<データ終了 />が設定されている。また、データブロック12bは、データAから切り出された最後のデータブロックであるため、データブロック12bに対応するラベル22bに、データ終了フラグとして<データ終了 />が設定されている。また、データブロック12dは、送信データ12から切り出された最後のデータブロックであるため、データブロック12dに対応するラベル22dに、送信データ終了フラグとして<送信データ終了 />が設定されている。
なお、上記の説明では、各データのサイズがヘッダに設定されている送信データをデータブロックに分割する例を示したが、受信処理部210は、各データのサイズがヘッダに設定されていない送信データもデータブロックに分割することができる。そこで、図6−1〜6−3を用いて、各データのサイズがヘッダに設定されていない送信データを分割する場合の受信処理部210の動作について説明する。
図6−1は、各データのサイズがヘッダに設定されていない送信データの一例を示す図である。図6−1に示す送信データ13は、ヘッダと、サブヘッダAとデータAの組合せと、サブヘッダBとデータBの組合せとがデリミタ文字で区切られた形式となっている。ヘッダは、送信元と送信先のアドレスの他に、デリミタ文字が「−−DLMT−−」である旨の定義を含んでいる。サブヘッダAは、データAの種別に関する情報を含み、サブヘッダBは、データBの種別に関する情報を含んでいる。
ここでは、受信部211が、1024byteずつ送信データ13を受信するものとする。この場合、受信部211は、まず、送信データ13の先頭から1024byteの部分、すなわち、ヘッダと、最初のデリミタ文字と、サブヘッダAと、データAと、2番目のデリミタ文字と、サブヘッダBと、データBの先頭部分を受信し、この部分を最初の断片として分割部212へ引き渡す。
分割部212は、受信部211から最初の断片を受け取ると、断片に含まれるヘッダから分割処理に必要な情報を抽出して分割管理情報52を生成して、分割管理情報記憶部241に格納する。ヘッダに基づいて生成された分割管理情報52の一例を図6−2に示す。なお、図6−2に示した例では、分割管理情報52がXML形式で作成されているが、分割管理情報52は、XML以外の形式であってもよい。
図6−2に示すように、分割管理情報52には、送信データID、送信元、送信先、形式、データ番号、ブロック番号、データタイプといった項目が存在する。送信データIDは、送信データを識別する番号であり、送信データ毎に異なる値が設定される。送信元は、送信データの送信元のアドレスであり、送信先は、送信データの送信先のアドレスである。形式は、送信データの形式であり、ここでは「形式02」が設定されている。
デリミタは、デリミタ文字であり、ヘッダにデリミタ文字として定義されている文字列が設定される。データ番号は、これから切り出すデータブロックが何番目のデータに属するかを示す番号である。ブロック番号は、これから切り出すデータブロックがデータ中の何番目のブロックであるかを示す番号である。データタイプは、これから切り出すデータブロックが属するデータの種別である。データタイプは、初期値として「ヘッダ」が設定され、新たなサブヘッダが検出されるたびに、そのサブヘッダに設定されているデータタイプの値が設定される。
分割部212は、分割管理情報52に設定されたデリミタの値に基づいて、2つのデリミタ文字を検出し、最初のデリミタ文字よりも前の部分をデータブロック13aとして切り出す。そして、分割部212は、切り出されたデータブロックに対応するラベルを生成する。切り出されたデータブロック13aは、格納部213によって、対応するラベルと関連付けてデータブロック記憶部242に格納される。
続いて、受信部211は、2つのデリミタ文字に挟まれた部分を取得し、データAをデータブロック13bとして切り出す。そして、分割部212は、サブヘッダAに設定されているデータタイプの値を分割管理情報52に設定し、データ番号とブロック番号を更新して、データブロック13bに対応するラベルを生成する。切り出されたデータブロック13bは、格納部213によって、対応するラベルと関連付けてデータブロック記憶部242に格納される。
続いて、受信部211は、2つ目のデリミタ文字よりも後の部分を取得し、データBの先頭部分をデータブロック13cとして切り出す。そして、分割部212は、サブヘッダBに設定されているデータタイプの値を分割管理情報52に設定し、データ番号とブロック番号を更新して、データブロック13cに対応するラベルを生成する。切り出されたデータブロック13cは、格納部213によって、対応するラベルと関連付けてデータブロック記憶部242に格納される。
続いて、受信部211は、送信データ13の後続部分、すなわち、データBの残り部分を受信し、この部分を次の断片として分割部212へ引き渡す。分割部212は、分割管理情報52に設定されたデリミタの値に基づいて、デリミタ文字の検出を試みるが、この場合デリミタ文字は検出されない。そこで、分割部212は、受け取った断片全体をデータブロック13dとして切り出す。そして、分割部212は、分割管理情報52のブロック番号を更新し、データブロック13dに対応するラベルを生成する。データブロック13dは、格納部213によって、対応するラベルと関連付けてデータブロック記憶部242に格納される。
以上の処理の結果、データブロック記憶部242には、図6−3に示すようなデータブロックとラベルの組合せが格納される。図6−3に示した例では、データブロック13a〜13dに対応付けて、ラベル23a〜23dが格納されている。ラベル23a〜23dの設定項目は、形式の項目を除いてラベル22a〜22dと同様であるので、ここでは説明を省略する。
ここで、データブロック記憶部242におけるラベルの管理手法について説明しておく。図7は、ラベルが属する3つのリストを示す図である。図7に示すように、データブロック記憶部242には、ラベル61a〜61c等が属する判定待ちリスト61と、ラベル62a〜62c等が属する加工待ちリスト62と、ラベル63a〜63c等が属する送信待ちリスト63とが存在する。そして、データブロック記憶部242においては、各ラベルが、これらのリストのいずれかに属するように管理される。
判定待ちリスト61は、格納部213によって新たにデータブロック記憶部242に格納されたラベルが末尾に追加されるリストである。判定待ちリスト61に追加されたラベルは、先頭から順に加工処理部220によってデータブロックの加工方法が判定される。そして、データブロックの加工が必要と判定されたラベルは、加工待ちリスト62の末尾に移動され、データブロックの加工が不要と判定されたラベルは、送信待ちリスト63の末尾に移動される。加工待ちリスト62に追加されたラベルは、加工処理部220によるデータブロックの加工が完了したものから順に、送信待ちリスト63の末尾に移動される。そして、送信待ちリスト63の末尾に追加されたラベルは、先頭から順に送信処理部230による送信処理の対象となる。
このように、ラベルを3つのリストで管理することにより、受信処理部210、加工処理部220および送信処理部230は、処理対象のラベルを明確にすることができ、それぞれが独立して並列に処理を実行することが容易になる。
図4の説明に戻って、加工処理部220は、加工判定部221と、加工部222とを有する。加工判定部221は、データブロック記憶部242に格納されている各データブロックに対してどのような加工が必要かを判定し、判定結果を対応するラベルの加工方法の項目に設定する。
加工判定部221は、判定待ちリスト61の先頭のラベルから順に判定を行い、加工が必要と判定したデータブロックに対応するラベルを加工待ちリスト62の末尾に移動させる。また、加工判定部221は、加工が不要と判定したデータブロックに対応するラベルを送信待ちリスト63の末尾に移動させる。
加工判定部221は、データブロックにどのような加工が必要かを、対応するラベルに設定されているデータタイプと送信先の値を記憶部240の加工定義情報記憶部243に記憶されている加工定義情報71と照合することにより判定する。加工定義情報71の一例を図8に示す。図8に示すように、加工定義情報71は、データタイプ、送信先、加工方法といった項目を有し、データタイプ毎に送信先と加工方法の組合せを複数登録できるように構成されている。
加工定義情報71におけるデータタイプは、データの種別を示し、ラベルのデータタイプの値と対応する。送信先は、送信データの送信先アドレスを示し、ラベルの送信先の値と対応する。加工方法は、データブロックに対して実行すべき加工方法を示す。なお、加工定義情報71の送信先には、「*」が含まれることがあり、「*」は、任意の値とマッチするワイルドカードとして機能する。また、加工方法として、「無加工」という値が設定されている場合、データブロックに加工が不要であることを示す。
図8に示した例では、「テキスト」というデータタイプに対して、「*」という送信先と「ZIP圧縮」という加工方法の組合せが登録されている。これは、ラベルのデータタイプに設定されている値が「テキスト」であれば、ラベルの送信先に設定されている値にかかわらず、データブロックに「ZIP圧縮」という加工が必要であることを示している。
また、図8に示した例では、「jpeg画像」というデータタイプに対して、「192.168.10.*」という送信先と「縮小(320x240)」という加工方法の組合せと、「*」という送信先と「無加工」という加工方法の組合せとが登録されている。
これは、ラベルのデータタイプに設定されている値が「jpeg画像」であり、かつ、ラベルの送信先に設定されている値が「192.168.10.」で始まっている場合には、データブロックに「縮小(320x240)」という加工が必要であることを示している。また、これは、ラベルのデータタイプに設定されている値が「jpeg画像」であり、かつ、ラベルの送信先に設定されている値が「192.168.10.」で始まっていない場合には、データブロックの加工が不要であることを示している。
このように、送信先のアドレスも考慮して加工方法を判定することにより、送信データに含まれるデータを送信先の要件に応じて加工することが可能になる。例えば、画像データが含まれる送信データを携帯電話事業者のアドレス宛てに送る場合は、携帯電話の表示部の解像度に合わせて画像データを縮小し、それ以外のアドレスに送る場合は、画像データをそのまま送るといった運用が可能になる。
また、加工定義情報71には、上記の加工方法以外にも、文字コード変換、暗号化、電子署名の付与、ウイルスのチェック、不適切なデータの削除等の様々な加工方法を登録することができる。
加工部222は、加工判定部221の判定結果に従ってデータブロックに対して加工を行う。具体的には、加工部222は、加工待ちリスト62の先頭から順にラベルの加工方法等の値を参照していき、加工を実施可能なものがあれば、加工方法の値に従って、対応するデータブロックを加工し、ラベルを送信待ちリスト63の末尾に移動させる。
加工部222によって実行される加工には、データブロック単位で実行可能なものと、同一のデータから切り出された全てのデータブロックが揃っていなければ実行できないものとがある。例えば、テキストを圧縮するという加工は、データブロック単位で実行可能である。このように、データブロック単位で実行可能な加工方法がラベルに設定されていた場合、加工部222は、そのラベルに対応するデータブロックに加工を実施可能であると判定し、即座に加工を実行する。
一方、例えば、画像データを縮小して画素数を少なくするという加工は、画像データ全体が揃っていることが必要である。このように、同一のデータから切り出された全てのデータブロックが揃っていなければ実行できない加工方法がラベルに設定されていた場合、加工部222は、同一のデータから切り出された全てのデータブロックが揃うまでそれらのデータブロックの加工の実行を留保する。
なお、同一のデータから切り出された全てのデータブロックが揃ったかどうかは、ラベルにデータ終了フラグもしくは送信データ終了フラグが設定されているか否かによって判断することができる。送信データからのデータブロックの切り出しは先頭から行われ、加工待ちリスト62には、データブロックが切り出された順にラベルが追加されていく。このため、データ終了フラグもしくは送信データ終了フラグが設定されているラベルが加工方法の判定済みであれば、同一のデータから切り出されたそれ以前の全てのデータブロックについても加工方法の判定が既に完了しているとみなすことができる。
同一のデータから切り出された全てのデータブロックが揃ったならば、加工部222は、それらのデータブロックを連結して送信データに含まれていたデータを再現し、再現したデータに対して加工を実行する。複数のデータブロックを連結して加工を行う場合における加工部222の動作について図9を用いて説明する。
図9に示す例では、データブロック14aとラベル24aの組合せと、データブロック14bとラベル24bの組合せとがデータブロック記憶部242に格納されている。ラベル24aには、加工方法として「縮小(320x240)」が設定されており、加工部222は、ラベル24aに対応するデータブロック14aを加工するには、同一のデータから切り出された全てのデータブロックが揃っている必要があると判定する。
そして、加工部222は、ラベル24aにデータ終了フラグもしくは送信データ終了フラグが設定されているかを確認する。この例の場合、ラベル24aにはこれらのフラグが設定されていないため、加工部222は、同一のデータから切り出された全てのデータブロックが既に揃っていないと判定し、この段階では、加工の実行を留保する。
続いて、加工部222は、ラベル24bを確認する。ラベル24bには、加工方法として「縮小(320x240)」が設定されており、加工部222は、ラベル24bに対応するデータブロック14bを加工するには、同一のデータから切り出された全てのデータブロックが揃っている必要があると判定する。
そして、加工部222は、ラベル24bにデータ終了フラグもしくは送信データ終了フラグが設定されているかを確認する。この例の場合、ラベル24bに送信データ終了フラグが設定されていることから、加工部222は、同一のデータから切り出された全てのデータブロックが既に揃っていると判定する。
続いて、加工部222は、同一のデータから切り出された他のデータブロックに対応するラベルを検索する。具体的には、加工部222は、ラベル24bから送信データIDとブロック番号の値を取得し、送信データIDの値が一致するとともに、ブロック番号の値の「−」より前の部分が一致するラベルを取得する。
上記の検索の結果、ラベル24aが検索され、加工部222は、ラベル24aに対応するデータブロック14aと、ラベル24bに対応するデータブロック14bとが同一のデータから切り出されたものであると判定する。そして、加工部222は、データブロック14aとデータブロック14bを連結して得られたデータに対して、「縮小(320x240)」という加工方法に対応する加工を実行する。
そして、加工部222は、加工によって得られたデータをデータブロック14cとしてデータブロック記憶部242へ格納し、加工前のデータブロックに対応するラベルのうち最もブロック番号が小さいラベル24aと関連付ける。そして、加工部222は、不要になったラベル24b、データブロック14aおよびデータブロック14bを削除し、ラベル24bに設定されていた送信データ終了フラグをラベル24aに設定し直す。
図4の説明に戻って、送信処理部230は、ブロックヘッダ付加部231と、送信部232とを有する。ブロックヘッダ付加部231は、加工が完了したデータブロックや加工が不要と判定されたデータブロックに対応するラベルからブロックヘッダを生成し、データブロックに付加する。送信部232は、データブロックが付加されたデータブロックを送信先へ送信する。
上述したように、加工が完了したデータブロックや加工が不要と判定されたデータブロックに対応するラベルは送信待ちリスト63に追加されており、ブロックヘッダ付加部231は、送信待ちリスト63の先頭からラベルを取得してブロックヘッダを生成する。生成されるブロックヘッダには、ラベルに設定されていた情報のうち、送信先の装置において送信データを再構成するために必要な情報が設定される。
図10は、ブロックヘッダが付与されたデータブロックの一例を示す図である。図10においてデータブロック14cに付加されているブロックヘッダ42は、図9に示したラベル24aから生成されたものであり、送信元、送信先、形式、データタイプ、ブロック番号、加工方法、データ終了フラグ、送信データ終了フラグといった項目を有している。
次に、図4に示したデータ中継装置200の処理手順について説明する。図11は、受信処理部210による送信データ受信処理の処理手順を示すフローチャートである。送信データ受信処理は、送信データが受信されるたびに実行される。
図11に示すように、まず、受信部211が、送信データを先頭から所定サイズだけ受信する(ステップS101)。続いて、分割部212が、受信された断片に含まれるヘッダを解析し(ステップS102)、分割管理情報を生成して分割管理情報記憶部241に格納する(ステップS103)。
そして、分割部212が、分割管理情報に基づいて、受信された断片をデータブロックに分割し(ステップS104)、分割した各データブロックに対応するラベルを生成する(ステップS105)。そして、格納部213が、データブロックとラベルを関連付けてデータブロック記憶部242に格納し(ステップS106)、さらに、ラベルを判定待ちリスト61の末尾に追加する(ステップS107)。
続いて、受信部211が、送信データを所定サイズだけ受信し、次の断片を取得する(ステップS108)。ここで、次の断片を取得できた場合は(ステップS109否定)、分割部212が、取得された断片に基づいて分割管理情報を更新し(ステップS110)、その後、ステップS104以降が再実行される。
一方、ステップS108において次の断片を取得できなかった場合、すなわち、送信データの受信を完了した場合は(ステップS109肯定)、分割部212が、分割管理情報を削除して送信データ受信処理が終了する(ステップS111)。
図12は、加工判定部221による加工方法判定処理の処理手順を示すフローチャートである。加工方法判定処理は、データ中継装置200の動作中は、加工判定部221によって継続的に実行される。
図12に示すように、まず、加工判定部221は、判定待ちリスト61の先頭のラベルを取得する。ここで、判定待ちリスト61が空の場合は、加工判定部221は、判定待ちリスト61にラベルが追加されるのを待ってそれを取得する(ステップS201)。そして、加工判定部221は、取得したラベルのデータタイプと送信先を加工定義情報記憶部243に予め格納されている加工定義情報と照合して加工方法を判定する(ステップS202)。
ここで、判定された加工方法が「無加工」以外だった場合、すなわち、データブロックの加工が必要な場合には(ステップS203肯定)、加工判定部221は、判定した加工方法をラベルに設定する(ステップS204)。そして、加工判定部221は、ラベルを加工待ちリスト62へ移動させた後(ステップS205)、ステップS201以降を再実行する。
一方、判定された加工方法が「無加工」だった場合、すなわち、データブロックの加工が必要ない場合には(ステップS203否定)、加工判定部221は、ラベルに「無加工」を設定する(ステップS206)。そして、加工判定部221は、ラベルを送信待ちリスト63へ移動させた後(ステップS207)、ステップS201以降を再実行する。
図13は、加工部222による加工実行処理の処理手順を示すフローチャートである。加工実行処理は、データ中継装置200の動作中は、加工部222によって継続的に実行される。
図13に示すように、まず、加工部222は、加工待ちリスト62の先頭のラベルを取得する。ここで、加工待ちリスト62が空の場合は、加工部222は、加工待ちリスト62にラベルが追加されるのを待ってそれを取得する(ステップS301)。そして、加工部222は、取得したラベルに対応するデータブロックを加工するために、同一のデータから切り出された全てのデータブロックが必要か否かを判定する(ステップS302)。
ここで、全てのデータブロックが必要ではないと判定した場合には(ステップS303否定)、加工部222は、ラベルに対応するデータブロックを加工し(ステップS304)、加工により新たに生成されたデータブロックをラベルと対応付ける(ステップS305)。そして、加工部222は、ラベルのステータスを「処理済」に更新し(ステップS306)、ラベルを送信待ちリスト63の末尾に移動させる(ステップS307)。
そして、加工部222は、加工前のデータブロックを削除した後(ステップS308)、加工待ちリスト62の次のラベルを取得し(ステップS315)、ステップS302以降を再実行する。なお、ステップS315において加工待ちリスト62に次のラベルがなかった場合は、加工部222は、加工待ちリスト62にラベルが追加されるのを待ってそれを取得する。
一方、ステップS302において全てのデータブロックが必要であると判定した場合には(ステップS303肯定)、加工部222は、ラベルにデータ終了フラグか送信データ終了フラグが設定されているかを確認することにより、そのラベルに対応するデータブロックが同一のデータから切り出された最後のデータブロックであるか否かを判定する。そして、ラベルに対応するデータブロックが最後のデータブロックであった場合は(ステップS309肯定)、加工部222は、同一のデータから切り出された全てのデータブロックを連結して加工する(ステップS310)。
そして、加工部222は、加工により新たに生成されたデータブロックを、結合したデータブロックに対応するラベルのうちブロック番号が最も小さいラベルである先頭ラベルと対応付ける(ステップS311)。そして、加工部222は、先頭ラベルのステータスを「処理済」に更新し(ステップS312)、先頭ラベルを送信待ちリスト63の末尾に移動させる(ステップS313)。
そして、加工部222は、結合したデータブロックに対応するラベルのうち先頭ラベル以外のラベルと、加工前のデータブロックを削除した後(ステップS314)、加工待ちリスト62の次のラベルを取得し(ステップS315)、ステップS302以降を再実行する。
また、取得したラベルに対応するデータブロックが最後のデータブロックでなかった場合は(ステップS309否定)、加工部222は、データブロックの加工を行うことなく、加工待ちリスト62の次のラベルを取得し(ステップS315)、ステップS302以降を再実行する。
図14は、送信処理部230によるデータブロック送信処理の処理手順を示すフローチャートである。データブロック送信処理は、データ中継装置200の動作中は、送信処理部230によって継続的に実行される。
図14に示すように、まず、ブロックヘッダ付加部231は、送信待ちリスト63の先頭のラベルを取得する。ここで、送信待ちリスト63が空の場合は、ブロックヘッダ付加部231は、送信待ちリスト63にラベルが追加されるのを待ってそれを取得する(ステップS401)。そして、ブロックヘッダ付加部231は、取得したラベルからブロックヘッダを生成する(ステップS402)。
続いて、ブロックヘッダ付加部231は、ラベルに対応するデータブロックを取得し(ステップS403)、取得したデータブロックにブロックヘッダを付加する(ステップS404)。そして、送信部232が、ブロックヘッダの付加されたデータブロックを送信先へ送信し(ステップS405)、ブロックヘッダ付加部231が、送信されたデータブロックとそれに対応するラベルをデータブロック記憶部242から削除する(ステップS406)。その後、送信処理部230は、ステップS401以降を再実行する。
次に、図1に示したデータ受信装置300の構成について説明する。図15は、データ受信装置300の構成を示すブロック図である。図15に示すように、データ受信装置300は、受信処理部310と、加工処理部320と、再構成処理部330と、記憶部340と、ネットワークインターフェース部350とを有する。ネットワークインターフェース部350は、ネットワークを介して他の情報処理装置と通信を行うためのインターフェース装置である。
受信処理部310は、受信部311と、格納部312とを有する。受信部311は、データ中継装置200から送信されたデータブロックとブロックヘッダの組合せを受信する。格納部312は、受信されたブロックヘッダからラベルを生成し、データブロックとラベルを関連付けて記憶部340のデータブロック記憶部341に格納する。
図16は、データブロック記憶部341に格納されたラベルとデータブロックの一例を示す図である。図16に示した例では、データブロック15aに対応付けて、ラベル25aが格納されている。ラベル25aは、データ中継装置200のデータブロック記憶部242に格納されるラベル22a等が有する項目に加えて、中継時加工方法という項目を有する。この項目は、ブロックヘッダに設定されている加工方法の値が転記される項目であり、データ中継装置200において、対応するデータブロックに対してどのような加工が実行されたかを示す。
ここで、データブロック記憶部341におけるラベルの管理手法について説明しておく。図17は、ラベルが属する3つのリストを示す図である。図17に示すように、データブロック記憶部341には、ラベル64a〜64c等が属する判定待ちリスト64と、ラベル65a〜65c等が属する加工待ちリスト65と、ラベル66a〜66c等が属する再構成待ちリスト66とが存在する。そして、データブロック記憶部341においては、各ラベルが、これらのリストのいずれかに属するように管理される。
判定待ちリスト64は、格納部312によって新たにデータブロック記憶部341に格納されたラベルが末尾に追加されるリストである。判定待ちリスト64に追加されたラベルは、先頭から順に加工処理部320によってデータブロックの加工方法が判定される。そして、データブロックの加工が必要と判定されたラベルは、加工待ちリスト65の末尾に移動され、データブロックの加工が不要と判定されたラベルは、再構成待ちリスト66の末尾に移動される。加工待ちリスト65に追加されたラベルは、加工処理部320によるデータブロックの加工が完了したものから順に、再構成待ちリスト66の末尾に移動される。そして、再構成待ちリスト66に追加された各ラベルは、同一の送信データから得られたデータブロックに対応するラベルが全て揃った段階で、再構成処理部330による再構成処理の対象となる。
図15の説明に戻って、加工処理部320は、加工判定部321と、加工部322とを有する。加工判定部321は、データブロック記憶部341に格納されている各データブロックに対してどのような加工が必要かを判定し、判定結果を対応するラベルの加工方法の項目に設定する。
加工判定部321は、判定待ちリスト64の先頭のラベルから順に判定を行い、加工が必要と判定したデータブロックに対応するラベルを加工待ちリスト65の末尾に移動させる。また、加工判定部321は、加工が不要と判定したデータブロックに対応するラベルを再構成待ちリスト66の末尾に移動させる。
加工判定部321は、データブロックにどのような加工が必要かを、対応するラベルに設定されているデータタイプと中継時加工方法の値を記憶部340の加工定義情報記憶部343に記憶されている加工定義情報72と照合することにより判定する。加工定義情報72の一例を図18に示す。図18に示すように、加工定義情報72は、データタイプ、中継時加工方法、加工方法といった項目を有し、データタイプ毎に中継時加工方法と加工方法の組合せを複数登録できるように構成されている。
加工定義情報72におけるデータタイプは、データの種別を示し、ラベルのデータタイプの値と対応する。中継時加工方法は、データ中継装置200において実行された加工方法を示し、ラベルの中継時加工方法の値と対応する。加工方法は、データブロックに対して実行すべき加工方法を示す。なお、加工方法の項目に設定される加工方法は、データをデータ中継装置200における加工前の状態に戻すためのものであってもよいし、それ以外のものであってもよい。また、加工方法として、「無加工」という値が設定されている場合、データブロックに加工が不要であることを示す。
図18に示した例では、「テキスト」というデータタイプに対して、「ZIP圧縮」という送信先と「ZIP解凍」という加工方法の組合せが登録されている。これは、ラベルのデータタイプに設定されている値が「テキスト」であり、中継時加工方法に設定されている値が「ZIP圧縮」であれば、データブロックに「ZIP解凍」という加工が必要であることを示している。
加工部322は、加工判定部321の判定結果に従ってデータブロックに対して加工を行う。具体的には、加工部322は、加工待ちリスト65の先頭から順にラベルを取得し、ラベルの加工方法の値に従って、ラベルに対応するデータブロックを加工し、ラベルを再構成待ちリスト66の末尾に移動させる。
再構成処理部330は、再構成部331を有する。再構成部331は、加工が完了したデータブロックや加工が不要と判定されたデータブロックと、それらに対応するラベルとに基づいて送信データを再構成し、再構成した送信データを記憶部340の送信データ記憶部342に格納する。
上述したように、加工が完了したデータブロックや加工が不要と判定されたデータブロックに対応するラベルは、再構成待ちリスト66に追加される。そして、再構成部331は、送信データを再構成するのに必要な全てのラベルが再構成待ちリスト66に揃った時点で再構成を実行する。送信データを再構成するのに必要な全てのラベルが全て揃ったことは、同一の送信データIDを有するラベルをブロック番号順に並べた場合に、番号の抜けが無く、データ終了フラグが設定されたラベルと送信データ終了フラグが設定されたラベルが適切な位置にあることを基準に判定できる。
次に、図15に示したデータ受信装置300の処理手順について説明する。図19は、受信処理部310による受信処理の処理手順を示すフローチャートである。受信処理は、データ受信装置300の動作中は、受信処理部310によって継続的に実行される。
図19に示すように、受信部311が、データ中継装置200からブロックヘッダとデータブロックを受信する(ステップS501)。続いて、格納部312が、受信されたブロックヘッダからラベルを生成し(ステップS502)、データブロックとラベルを対応付けてデータブロック記憶部341に格納する(ステップS503)。そして、格納部312が、ラベルを判定待ちリスト64の末尾に追加する(ステップS504)。その後、ステップS501以降が再実行される。
図20は、加工判定部321による加工方法判定処理の処理手順を示すフローチャートである。加工方法判定処理は、データ受信装置300の動作中は、加工判定部321によって継続的に実行される。
図20に示すように、まず、加工判定部321は、判定待ちリスト64の先頭のラベルを取得する。ここで、判定待ちリスト64が空の場合は、加工判定部321は、判定待ちリスト64にラベルが追加されるのを待ってそれを取得する(ステップS601)。そして、加工判定部321は、取得したラベルのデータタイプと中継時加工方法を加工定義情報記憶部343に予め格納されている加工定義情報と照合して加工方法を判定する(ステップS602)。
ここで、判定された加工方法が「無加工」以外だった場合、すなわち、データブロックの加工が必要な場合には(ステップS603肯定)、加工判定部321は、判定した加工方法をラベルに設定する(ステップS604)。そして、加工判定部321は、ラベルを加工待ちリスト65へ移動させた後(ステップS605)、ステップS601以降を再実行する。
一方、判定された加工方法が「無加工」だった場合、すなわち、データブロックの加工が必要ない場合には(ステップS603否定)、加工判定部321は、ラベルに「無加工」を設定する(ステップS606)。そして、加工判定部321は、ラベルを再構成待ちリスト66へ移動させた後(ステップS607)、ステップS601以降を再実行する。
図21は、加工部322による加工実行処理の処理手順を示すフローチャートである。加工実行処理は、データ受信装置300の動作中は、加工部322によって継続的に実行される。
図21に示すように、まず、加工部322は、加工待ちリスト65の先頭のラベルを取得する。ここで、加工待ちリスト65が空の場合は、加工部322は、加工待ちリスト65にラベルが追加されるのを待ってそれを取得する(ステップS701)。そして、加工部322は、ラベルに対応するデータブロックを加工し(ステップS702)、加工により新たに生成されたデータブロックをラベルと対応付ける(ステップS703)。
そして、加工部322は、ラベルのステータスを「処理済」に更新し(ステップS704)、ラベルを再構成待ちリスト66の末尾に移動させる(ステップS705)。そして、加工部322は、加工前のデータブロックを削除した後(ステップS706)、ステップS701以降を再実行する。
図22は、再構成処理部330による再構成処理の処理手順を示すフローチャートである。再構成処理は、データ受信装置300の動作中は、再構成処理部330によって継続的に実行される。
図22に示すように、まず、再構成処理部330は、再構成待ちリスト66の先頭のラベルを取得する。ここで、再構成待ちリスト66が空の場合は、再構成処理部330は、再構成待ちリスト66にラベルが追加されるのを待ってそれを取得する(ステップS801)。そして、再構成処理部330は、取得したラベルと送信データIDが同一のラベルを再構成待ちリスト66から取得し(ステップS802)、送信データを再構成するために必要なデータブロックが全て揃っているか確認する(ステップS803)。
ここで、全てのデータブロックが揃っていた場合は(ステップS804肯定)、再構成処理部330は、各ラベルに対応するデータブロックをデータブロック記憶部341から取得する(ステップS805)。そして、再構成処理部330は、取得したデータブロックとそれらに対応するラベルから送信データを再構成し(ステップS806)、再構成した送信データを送信データ記憶部342に格納する(ステップS807)。
そして、再構成処理部330は、取得したデータブロックとラベルを削除し(ステップS808)、再構成待ちリスト66から次のラベルを取得して(ステップS809)、ステップS802以降を再実行する。なお、ステップS809において再構成待ちリスト66に次のラベルがなかった場合は、再構成処理部330は、再構成待ちリスト66にラベルが追加されるのを待ってそれを取得する。
一方、ステップS803において、全てのデータブロックが揃ってなかった場合は(ステップS804否定)、再構成処理部330は、送信データの再構成を行うことなく、再構成待ちリスト66から次のラベルを取得して(ステップS809)、ステップS802以降を再実行する。
なお、図4に示したデータ中継装置200の構成と図15に示したデータ受信装置300の構成の構成は、要旨を逸脱しない範囲で種々に変更することができる。例えば、データ中継装置200の受信処理部210、加工処理部220および送信処理部230の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、データ中継装置200と同等の機能を実現することもできる。同様に、データ受信装置300の受信処理部310、加工処理部320および再構成処理部330の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、データ受信装置300と同等の機能を実現することもできる。
以下に、データ中継装置200の受信処理部210、加工処理部220および送信処理部230の機能をソフトウェアとして実装したデータ中継プログラム1071を実行するコンピュータの一例を示す。
図23は、データ中継プログラム1071を実行するコンピュータ1000を示す機能ブロック図である。このコンピュータ1000は、各種演算処理を実行するCPU(Central Processing Unit)1010と、ユーザからのデータの入力を受け付ける入力装置1020と、各種情報を表示するモニタ1030と、記録媒体からプログラム等を読み取る媒体読取り装置1040と、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース装置1050と、各種情報を一時記憶するRAM(Random Access Memory)1060と、ハードディスク装置1070とをバス1080で接続して構成される。
そして、ハードディスク装置1070には、図4に示した受信処理部210、加工処理部220および送信処理部230と同様の機能を有するデータ中継プログラム1071と、図4に示した記憶部240に記憶される各種データに対応するデータ中継用データ1072とが記憶される。なお、データ中継用データ1072を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
そして、CPU1010がデータ中継プログラム1071をハードディスク装置1070から読み出してRAM1060に展開することにより、データ中継プログラム1071は、データ中継プロセス1061として機能するようになる。そして、データ中継プロセス1061は、データ中継用データ1072から読み出した情報等を適宜RAM1060上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
なお、上記のデータ中継プログラム1071は、必ずしもハードディスク装置1070に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておき、コンピュータ1000がこれらからプログラムを読み出して実行するようにしてもよい。

Claims (10)

  1. 第1の情報処理装置と、第2の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置の間の通信を中継するデータ中継装置とを含む通信システムであって、
    前記データ中継装置は、
    前記第1の情報処理装置から送信された送信データを受信する第1の受信手段と、
    前記第1の受信手段において受信中の送信データを該送信データに含まれるデータの種別毎に1ないし複数のブロックに分割する分割手段と、
    前記分割手段によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手段と、
    前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第1の加工判定手段と、
    前記記憶手段に格納されたブロックを、前記第1の加工判定手段によって判定された加工方法に基づいて加工する第1の加工手段と、
    前記第1の加工手段によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに前記第2の情報処理装置へ送信する送信手段と
    を備え、
    前記第2の情報処理装置は、
    前記ブロックと前記ブロック管理情報を受信する第2の受信手段と、
    前記ブロック管理情報に含まれる前記種別情報に基づいて、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する第2の加工判定手段と、
    前記第2の加工判定手段によって判定された加工方法に基づいて、前記ブロックを加工する第2の加工手段と、
    前記第2の加工手段によって加工されたブロックを、該ブロックに対応するブロック情報に含まれる位置情報に基づいて他のブロックと組み合わせて、前記送信データを再構成する再構成手段と
    を備えたことを特徴とする通信システム。
  2. 前記加工定義情報は、データの種別毎、かつ、送信先毎に加工方法が予め定義され、
    前記第1の加工判定手段は、ブロック管理情報に設定された種別情報と、前記送信データの送信先とを前記加工定義情報と照合して、加工方法を判定することを特徴とする請求項1に記載の通信システム。
  3. 前記記憶手段は、前記第1の加工判定手段によって加工方法が判定されていないブロックに対応するブロック管理情報と、前記第1の加工判定手段によって加工方法が判定されたが前記第1の加工手段によって加工が行われていないブロックに対応するブロック管理情報と、その他のブロック管理情報とが、それぞれ異なるリストに含まれるようにブロック管理情報を保持することを特徴とする請求項1または2に記載の通信システム。
  4. 第1の情報処理装置から送信された送信データを受信する受信手段と、
    前記受信手段において受信中の送信データを該送信データに含まれるデータの種別毎に1ないし複数のブロックに分割する分割手段と、
    前記分割手段によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手段と、
    前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する加工判定手段と、
    前記記憶手段に格納されたブロックを、前記加工判定手段によって判定された加工方法に基づいて加工する加工手段と、
    前記加工手段によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに第2の情報処理装置へ送信する送信手段と
    を備えたことを特徴とするデータ中継装置。
  5. 前記加工定義情報は、データの種別毎、かつ、送信先毎に加工方法が予め定義され、
    前記加工判定手段は、ブロック管理情報に設定された種別情報と、前記送信データの送信先とを前記加工定義情報と照合して、加工方法を判定することを特徴とする請求項4に記載のデータ中継装置。
  6. 前記記憶手段は、前記加工判定手段によって加工方法が判定されていないブロックに対応するブロック管理情報と、前記加工判定手段によって加工方法が判定されたが前記加工手段によって加工が行われていないブロックに対応するブロック管理情報と、その他のブロック管理情報とが、それぞれ異なるリストに含まれるようにブロック管理情報を保持することを特徴とする請求項4または5に記載のデータ中継装置。
  7. 第1の情報処理装置から送信された送信データを受信する受信手順と、
    前記受信手順において受信中の送信データを該送信データに含まれるデータの種別毎に1ないし複数のブロックに分割する分割手順と、
    前記分割手順によって分割されたブロックを、前記送信データにおける該ブロックの位置を示す位置情報と、該ブロックを含むデータの種別を示す種別情報とが設定されたブロック管理情報と対応付けて記憶手段に格納する格納手順と、
    前記記憶手段に格納されたブロック管理情報に設定された種別情報と、データの種別毎に加工方法が予め定義された加工定義情報とを照合して、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する加工判定手順と、
    前記記憶手段に格納されたブロックを、前記加工判定手順によって判定された加工方法に基づいて加工する加工手順と、
    前記加工手順によって加工されたブロックを、該ブロックに対応付けて前記記憶手段に記憶されているブロック管理情報とともに第2の情報処理装置へ送信する送信手順と
    をコンピュータに実行させることを特徴とするデータ中継プログラム。
  8. 前記加工定義情報は、データの種別毎、かつ、送信先毎に加工方法が予め定義され、
    前記加工判定手順は、ブロック管理情報に設定された種別情報と、前記送信データの送信先とを前記加工定義情報と照合して、加工方法を判定することを特徴とする請求項7に記載のデータ中継プログラム。
  9. 前記記憶手段は、前記加工判定手順によって加工方法が判定されていないブロックに対応するブロック管理情報と、前記加工判定手順によって加工方法が判定されたが前記加工手順によって加工が行われていないブロックに対応するブロック管理情報と、その他のブロック管理情報とが、それぞれ異なるリストに含まれるようにブロック管理情報を保持することを特徴とする請求項7または8に記載のデータ中継プログラム。
  10. 第1の情報処理装置が送信した送信データを第2の情報処理装置が分割し、加工して得られたブロックと、該ブロックが前記送信データにおいて位置していた位置を示す位置情報および該ブロックのデータ種別を示す種別情報とが設定されたブロック管理情報とを受信する受信手段と、
    前記ブロック管理情報に含まれる前記種別情報に基づいて、該ブロック管理情報に対応するブロックに対して実行する加工方法を判定する加工判定手段と、
    前記加工判定手段によって判定された加工方法に基づいて、前記ブロックを加工する加工手段と、
    前記加工手段によって加工されたブロックを、該ブロックに対応するブロック情報に含まれる位置情報に基づいて他のブロックと組み合わせて、前記送信データを再構成する再構成手段と
    を備えたことを特徴とするデータ受信装置。
JP2010514294A 2008-05-29 2008-05-29 データ中継装置、データ中継プログラム、データ受信装置および通信システム Expired - Fee Related JP5206788B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/059918 WO2009144800A1 (ja) 2008-05-29 2008-05-29 データ中継装置、データ中継プログラム、データ受信装置および通信システム

Publications (2)

Publication Number Publication Date
JPWO2009144800A1 true JPWO2009144800A1 (ja) 2011-09-29
JP5206788B2 JP5206788B2 (ja) 2013-06-12

Family

ID=41376699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010514294A Expired - Fee Related JP5206788B2 (ja) 2008-05-29 2008-05-29 データ中継装置、データ中継プログラム、データ受信装置および通信システム

Country Status (3)

Country Link
US (1) US8346970B2 (ja)
JP (1) JP5206788B2 (ja)
WO (1) WO2009144800A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6657575B2 (ja) * 2015-03-09 2020-03-04 富士通株式会社 配信システム、および配信方法
US10375168B2 (en) * 2016-05-31 2019-08-06 Veritas Technologies Llc Throughput in openfabrics environments

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04354263A (ja) * 1991-05-30 1992-12-08 Nippon Steel Corp 画像データ伝送システム
JPH07210473A (ja) 1994-01-12 1995-08-11 Hitachi Ltd 伝送路間のデータフィルタリング方式
JP3097525B2 (ja) 1995-11-10 2000-10-10 株式会社日立製作所 情報フィルタリング処理を行うデータ伝送方法
EP0975123A1 (en) * 1998-07-15 2000-01-26 Telefonaktiebolaget L M Ericsson (Publ) Communication device and method for reliable and low-delay packet transmission
US6810037B1 (en) * 1999-03-17 2004-10-26 Broadcom Corporation Apparatus and method for sorted table binary search acceleration
JP3534027B2 (ja) * 1999-12-01 2004-06-07 日本電気株式会社 コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
WO2002069583A1 (en) * 2001-02-26 2002-09-06 Maple Optical Systems, Inc. Data packet transmission scheduling using a partitioned heap
JP2002297753A (ja) * 2001-03-30 2002-10-11 Fujitsu Ltd 画像データ提供システム
US20050086325A1 (en) * 2001-06-12 2005-04-21 Slipp Mark W. Method and apparatus for network content insertion and phase insertion
JP2003058445A (ja) * 2001-08-13 2003-02-28 Unico System Kk 配信データ圧縮型プロキシサーバ装置及びそのソフトウエアプログラム
JP4860070B2 (ja) * 2001-08-30 2012-01-25 株式会社日立製作所 ファイル伝送方法及びファイル伝送システム
JP2003308269A (ja) * 2002-04-12 2003-10-31 Ricoh Co Ltd データ転送システム、プログラムおよび記録媒体
JP2004310490A (ja) * 2003-04-08 2004-11-04 I-Accele Corp インターネットアクセス高速化システム
JP2005031482A (ja) * 2003-07-08 2005-02-03 Matsushita Electric Ind Co Ltd 画像伸長表示方法、画像伸長表示装置、および画像伸長表示用プログラム
JP4354263B2 (ja) 2003-12-10 2009-10-28 オリンパス株式会社 光学機器の光学特性解析システム、光学特性解析方法、そのプログラム及びその方法により製造された光学部品
JP2005227911A (ja) * 2004-02-10 2005-08-25 Sanyo Electric Co Ltd 電子情報端末機器
US7991007B2 (en) * 2004-10-29 2011-08-02 Broadcom Corporation Method and apparatus for hardware packets reassembly in constrained networks
JP4754252B2 (ja) * 2005-03-31 2011-08-24 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、ゲーム装置及びサーバ
JP4255476B2 (ja) * 2006-02-03 2009-04-15 シャープ株式会社 画像処理装置
JP2007213338A (ja) * 2006-02-09 2007-08-23 Konica Minolta Business Technologies Inc メールサーバおよび電子メール通信システム
JP2007310662A (ja) 2006-05-18 2007-11-29 Mitsubishi Electric Corp ファイアウォール装置
JP4374013B2 (ja) * 2006-10-31 2009-12-02 株式会社東芝 中継装置、並びに中継方法
JP5040479B2 (ja) * 2007-06-29 2012-10-03 富士通株式会社 通信装置、通信装置に適した通信ログ送信方法および通信システム

Also Published As

Publication number Publication date
WO2009144800A1 (ja) 2009-12-03
US20110072160A1 (en) 2011-03-24
US8346970B2 (en) 2013-01-01
JP5206788B2 (ja) 2013-06-12

Similar Documents

Publication Publication Date Title
US20080320387A1 (en) Information displaying device and information displaying method
CN109274522B (zh) 一种oam信息的处理方法、装置、设备及存储介质
JP4354950B2 (ja) 情報処理装置、情報処理方法、コンピュータプログラム、及び記憶媒体
WO2012132395A1 (ja) 検索装置、検索システム、方法およびプログラム
CN106648445B (zh) 用于网络爬虫的数据存储方法及装置
JP2008097201A (ja) ブラウザデータ共有システム、サーバ、方法およびプログラム
CN106886422A (zh) 软件升级方法及装置、电子设备
JP2006140637A (ja) サーバ、サーバシステムおよび電子メール配信方法
US20010013056A1 (en) Information processor having electronic mail function and recording medium storing electronic mail processing program
US9723480B2 (en) Information processing device, server device, data communication system, data communication method, and computer-readable storage medium storing data communication program
CN102377688B (zh) 一种文件的传输方法和设备
JP5206788B2 (ja) データ中継装置、データ中継プログラム、データ受信装置および通信システム
WO2000045274A1 (fr) Procede de transmission de donnees, support lisible par un ordinateur et appareil de transmission de donnees
US6966014B2 (en) Method for system obstacle correspondence support
US20010027466A1 (en) Electronic mail transfer device and system, electronic mail transfer method
US8321484B2 (en) Minimizing bandwidth in file path-centric protocol message
JP4451722B2 (ja) データベースサーバ及びデータベースシステム
JP5941823B2 (ja) 整合性確認方法およびシステム
JP2003141135A (ja) 一括登録システム、一括登録装置、一括登録方法及び一括登録プログラム
CN113254262B (zh) 一种数据库容灾方法、装置和电子设备
JP2005182102A (ja) ビルドシステム及び方法並びにビルド用プログラム、ビルドサーバ
CN103703439A (zh) 一种扩展存储空间的方法和装置
JP4719243B2 (ja) データ同期方法および通信装置
WO2013187034A1 (ja) コンテンツ管理装置およびコンテンツ管理方法
CN118484129A (zh) 处理消息的方法、装置及存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees