JP7024578B2 - 通信装置、通信制御方法、および通信制御プログラム - Google Patents

通信装置、通信制御方法、および通信制御プログラム Download PDF

Info

Publication number
JP7024578B2
JP7024578B2 JP2018083471A JP2018083471A JP7024578B2 JP 7024578 B2 JP7024578 B2 JP 7024578B2 JP 2018083471 A JP2018083471 A JP 2018083471A JP 2018083471 A JP2018083471 A JP 2018083471A JP 7024578 B2 JP7024578 B2 JP 7024578B2
Authority
JP
Japan
Prior art keywords
data
communication
character string
unit
amount
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.)
Active
Application number
JP2018083471A
Other languages
English (en)
Other versions
JP2019193092A (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
Priority to JP2018083471A priority Critical patent/JP7024578B2/ja
Priority to US16/356,562 priority patent/US10931794B2/en
Publication of JP2019193092A publication Critical patent/JP2019193092A/ja
Application granted granted Critical
Publication of JP7024578B2 publication Critical patent/JP7024578B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Description

本発明は、通信装置、通信制御方法、および通信制御プログラムに係わる。
近年、クラウドコンピューティングの普及およびモバイル通信の拡大などに伴い、広域ネットワーク(WAN:wide area network)を介して伝送されるデータ量が急激に増大している。このため、通信の高速化を実現するための技術が開発されている。
例えば、データ伝送の高速化を実現するプロトコルの1つとして、パケットロスに対する再送を制御するUNAP(Universal Network Acceleration Protocol)が実用化されている。また、送信データを最適化してデータ伝送量を削減する技術が普及している。例えば、送信データを圧縮する技術および送信データの重複を除去する技術によりデータ伝送量が削減される。
尚、長い文字列および短い文字列の双方に対して効率のよい圧縮を行う技術が提案されている(例えば、特許文献1)。また、重複データを削除する技術が提案されている(例えば、特許文献2)。
特開2000-124810号公報 特開2015-201050号公報
従来技術においては、データ伝送量を削減する処理(圧縮、重複除去など)は、ネットワークの状態を考慮することなく実行される。例えば、予め指定されるパラメータに応じてデータ圧縮および/またはデータ重複除去が行われる。このため、エンド・エンド間でのデータ転送時間が最適化されないことがある。
本発明の1つの側面に係わる目的は、データ転送時間を短縮する装置および方法を提供することである。
本発明の1つの態様の通信装置は、通信データを受信する受信部と、相手装置との間の通信において使用可能な通信帯域を測定する測定部と、前記測定部により測定された通信帯域に基づいてデータ量の削減率に係わるパラメータを決定し、前記パラメータに応じて前記通信データのデータ量を削減する削減部と、前記削減部によりデータ量が削減された通信データを前記相手装置に送信する送信部と、を備える。
上述の態様によれば、データ転送時間を短縮することができる。
通信システムの一例を示す図である。 WAN高速化装置の一例を示す図である。 データ圧縮の一例を示す図である。 重複除去の一例を示す図である。 入力データを複数のチャンクに分割する方法について説明する図である。 深度パラメータを決定する方法の一例を示す図である。 深度パラメータを決定する処理の一例を示すフローチャートである。 深度パラメータと圧縮性能との関係を記録するテーブルの一例を示す図である。 圧縮部の処理の一例を示すフローチャートである。 圧縮部が参照するハッシュ値テーブルの一例を示す図である。 重複除去部の処理の一例を示すフローチャートである。 重複除去部が参照するハッシュ値テーブルの一例を示す図である。 WAN高速化装置のハードウェア構成の一例を示す図である。
図1は、本発明の実施形態に係わる通信システムの一例を示す。この実施例では、通信システム100は、WAN4を利用して拠点Xと拠点Yとを接続する。各拠点には、ローカルエリアネットワーク(LAN)が設けられている。各LANには、複数の端末装置が接続されている。具体的には、拠点XにはLAN2Xが設けられており、拠点YにはLAN2Yが設けられている。また、LAN2Xには複数の端末装置1Xが接続されており、LAN2Yには複数の端末装置1Yが接続されている。各端末装置1X、1Yは、たとえば、サーバコンピュータである。
LAN2X、2Yと比較すると、WAN4の伝送速度は大幅に低速である。図1に示す例では、LAN2X、2Yの伝送速度は10Gbpsであり、WAN4の伝送速度は100Mbpsである。よって、各拠点において、WAN高速化装置が設けられている。すなわち、拠点Xにおいては、LAN2XとWAN4との間にWAN高速化装置3Xが実装されており、拠点Yにおいては、LAN2YとWAN4との間にWAN高速化装置3Yが実装されている。
WAN高速化装置3X、3Yは、通信データのデータ量を削減する機能および通信プロトコルを変換する機能を備える。例えば、端末装置1Xから端末装置1Yに通信データが送信されるケースでは、WAN高速化装置3Xは、端末装置1XからLAN2Xを介して受信する通信データのデータ量を削減する。以下の記載では、WAN高速化装置によりデータ量が削減された通信データを「圧縮データ」と呼ぶことがある。なお、「圧縮」は、後で記載するが、重複除去を含むものとする。そして、WAN高速化装置3Xは、圧縮データに対してプロトコル変換を実行する。例えば、WAN高速化装置3Xは、端末装置1XからTCPパケットを受信したときに、そのTCPパケットをUDPパケットに変換してWAN4に送出する。この場合、UDPパケット内に圧縮データが格納されている。
WAN高速化装置3Yは、WAN4を介して受信した圧縮データに対してプロトコル変換を実行する。上述の例では、WAN高速化装置3Yは、WAN4を介して受信したUDPパケットをTCPパケットに変換する。また、WAN高速化装置3Yは、TCPパケットから抽出した圧縮データを伸張して通信データを復元する。そして、復元された通信データは、LAN2Yを介して、宛先として指定された端末装置1Yに転送される。
図2は、本発明の実施形態に係わるWAN高速化装置の一例を示す。なお、図2においては、通信データを送信するための回路および機能が描かれている。すなわち、図2においては、通信データを受信するための回路および機能は省略されている。
WAN高速化装置10は、TCP受信部11、測定部12、削減部13、データ送信部18を備える。なお、WAN高速化装置10は、図2に示していない他の回路または機能を備えていてもよい。また、WAN高速化装置10は、図1に示す例では、例えば、拠点Xに実装されるWAN高速化装置3Xとして動作する。
TCP受信部11は、LAN2を介して受信するTCPパケットを終端する。このTCPパケットは、LAN2に接続される端末装置から送信される。また、このTCPパケットのペイロードには、宛先端末に転送すべき通信データが格納されている。すなわち、TCP受信部11は、LAN2を介して通信データを受信する。
測定部12は、WAN4に接続される相手装置との間の通信において使用可能な通信帯域を測定する。例えば、WAN高速化装置10が図1に示すWAN高速化装置3Xとして動作するときは、測定部12は、図1に示すWAN高速化装置3Yとの間の通信において使用可能な通信帯域を測定する。
測定部12は、例えば、所定のデータ量の通信データを、WAN4を介して相手装置に送信する。相手装置は、この通信データを受信するために要する時間を測定し、その測定結果を測定部12に通知する。そして、測定部12は、通信データのデータ量および相手装置から通知される測定結果に基づいて、使用可能な通信帯域を計算する。この場合、例えば、通信データのデータ量が10Mビットであり、相手装置が通信データを受信するために要する時間が1秒であれば、使用可能な通信帯域は10Mbpsである。ただし、使用可能な通信帯域を測定する方法は特に限定されるものではなく、測定部12は、任意の方法で使用可能な通信帯域を測定することができる。
削減部13は、測定部12により測定された通信帯域に基づいて、データ量の削減率に係わるパラメータを決定する。そして、削減部13は、このパラメータに応じて通信データのデータ量を削減する。なお、このパラメータについては、後で詳しく説明する。
削減部13は、圧縮部14、パラメータ決定部15、重複除去部16、パラメータ決定部17を備える。なお、削除部13は、図2に示していない他の回路または機能を備えていてもよい。
圧縮部14は、LAN2を介して受信する通信データを圧縮し、そのデータ量を削減する。パラメータ決定部15は、測定部12により測定された通信帯域に基づいて圧縮部14の処理を制御するパラメータを決定する。そして、圧縮部14は、パラメータ決定部15により決定されるパラメータに従って通信データを圧縮する。
重複除去部16は、LAN2を介して受信する通信データの重複を除去し、そのデータ量を削減する。パラメータ決定部17は、測定部12により測定された通信帯域に基づいて重複除去部16の処理を制御するパラメータを決定する。そして、重複除去部16は、パラメータ決定部15により決定されるパラメータに従って通信データの重複を除去する。なお、データの重複を除去する処理は、データ圧縮の1つの形態である。
削減部13は、圧縮部14または重複除去部16の一方のみを使用して通信データのデータ量を削減してもよい。或いは、削減部13は、圧縮部14または重複除去部16の双方を使用して通信データのデータ量を削減してもよい。この場合、圧縮部14による処理の後に重複除去部16による処理を実行してもよい。また、圧縮部14による処理の前に重複除去部16による処理を実行してもよい。
データ送信部18は、削減部13によりデータ量が削減された通信データを相手装置に送信する。なお、データ送信部18は、プロトコル変換機能を備えていてもよい。たとえば、データ送信部18は、TCPパケットをUDPパケットに変換してWAN4に送出してもよい。
図3は、圧縮部14により実行されるデータ圧縮の一例を示す。この実施例では、通信データは文字データである。そして、圧縮部14は、文字データ内で同一の文字列を検出したときは、その文字列を「出現位置」および「長さ」に置き換える。
例えば、2行目の「VERY」に対してデータ圧縮が行われるときは、圧縮部14は、「VERY」またはその一部と一致する文字列を探索する。ここで、前方探索が行われるものとすると、2行目の「VERY」よりも前に「VERY」またはその一部と一致する文字列が存在するか否かが判定される。この実施例では、1行目に「VERY」が存在する。よって、この場合、2行目の「VERY」は、1行目の「VERY」が出現する位置を表す位置情報および一致した文字列の長さを表す長さ情報に置き換えられる。なお、位置は、文字データの先頭を基準として表されてもよいし、探索対象の文字列(即ち、2行目の「VERY」)を基準として表されてもよい。長さは、一致した文字列のバイト数または文字数で表される。「VERY」は、例えば、6バイトで表される。したがって、6バイトよりも少ない情報量で位置および長さを表すことができれば、通信データのデータ量が削減される。
7行目の「the Rabbit」に対してデータ圧縮が行われるときは、圧縮部14は、7行目の「the Rabbit」よりも前に「the Rabbit」またはその一部と一致する文字列が存在するか否かを判定する。この例では、例えば、6行目の「the」が抽出される。この場合、7行目の「the Rabbit」の中の「the」が6行目の「the」の位置を表す位置情報および長さを表す長さ情報に置き換えられる。また、3行目の「the Rabbit」が抽出される。この場合、7行目の「the Rabbit」が3行目の「the Rabbit」の位置を表す位置情報および長さを表す長さ情報に置き換えられる。ここで、7行目の「the Rabbit」の一部を6行目の「the」の位置および長さに置き換えるデータ圧縮よりも、7行目の「the Rabbit」を3行目の「the Rabbit」の位置および長さに置き換えるデータ圧縮の方が、圧縮率が高くなる(圧縮率の値は小さくなる)。なお、この実施例では、圧縮率は、圧縮前の文字列の情報量に対する圧縮後の文字列の情報量の割合を表す。
上述のデータ圧縮では、探索対象と一致する文字列の文字数が多いときに、圧縮率が高くなる。ところが、探索対象と一致する、文字数の多い文字列を発見するためには、より広い範囲で文字列の探索を行う必要がある。そして、圧縮率を高くするために探索範囲を広くすると、文字列探索に要する処理時間が長くなる。
そこで、上述のデータ圧縮を行う場合、必要に応じて、最大探索範囲を表すパラメータmax_distが調整される。例えば、高い圧縮率が要求されるケースでは、最大探索範囲を広くするために、大きなmax_distが使用される。一方、短い処理時間が要求されるケースでは、最大探索範囲を狭くするために、小さいmax_distが使用される。なお、図2に示すWAN高速化装置10においては、パラメータmax_distは、使用可能な通信帯域に基づいて、パラメータ決定部15により決定される。
図4は、重複除去方法の一例を示す。この実施例では、重複除去クライアント20において通信データの重複が除去される。重複データが除去された通信データは、ネットワークを介して重複除去クライアント20から重複除去サーバ30に伝送される。そして、重複除去サーバ30において通信データが復元される。
重複除去クライアント20において、通信データは「チャンク」と呼ばれるデータブロックに分割される。チャンクは、1~4Kバイトの可変長ブロックである。続いて、重複除去クライアント20は、チャンク毎に、SHA(Secure Hash Algorism)を用いてハッシュ値を計算する。そして、重複除去クライアント20は、互いに一致するハッシュ値を検索することにより、重複するチャンク(すなわち、互いに一致するデータブロック)を発見する。
処理対象のチャンクと重複するチャンクが見つからないときは、重複除去クライアント20は、処理対象のチャンク中のデータを相手装置(図4では、重複除去サーバ30)に送信する。このとき、重複除去クライアント20は、相手装置に送信したデータ(図4では、生データ)をキャッシュメモリに保存する。一方、処理対象のチャンクと重複するチャンクが見つかったときは、重複除去クライアント20は、処理対象のチャンク中のデータを表すインデックス(図4では、IDデータ)を相手装置に送信する。
重複除去サーバ30は、生データを受信したときは、その生データを出力すると共に、その生データをキャッシュメモリに保存する。一方、重複除去サーバ30は、IDデータを受信したときは、そのIDデータでキャッシュメモリを検索して対応するデータを復元する。ここで、生データのデータ量と比較して、IDデータのデータ量は大幅に少ない。したがって、データ転送量の削減が実現される。
次に、入力データを複数のチャンクに分割する方法について説明する。ここでは、図5に示すように、入力データに対して抽出ウィンドウを1バイトずつスライドさせながら、ウィンドウデータが取得される。この実施例では、ウィンドウサイズは8バイトであり、ウィンドウデータWD1、WD2、WD3、...が抽出されている。そして、各ウィンドウデータに対してRabin fingerprintアルゴリズムでハッシュ値が計算される。なお、Rabin fingerprintアルゴリズムで計算されるハッシュ値を「fingerprint」と呼ぶことがある、また、ウィンドウサイズは、実際には8バイトよりも十分に大きく、例えば64バイトである。
Rabin fingerprintアルゴリズムによるハッシュ値fは、(1)式で計算される。nはウィンドウサイズを表す。w0~wn-1は、抽出ウィンドウ内のデータを表す。pは、例えば、比較的大きな素数である。
Figure 0007024578000001
この計算は、n回の乗算を必要とする。よって、ウィンドウサイズが大きいときは、ハッシュ値を得るための計算量が大きくなる。ただし、各抽出ウィンドウに対応するハッシュ値は、隣接する抽出ウィンドウに対して先に得られているハッシュ値を利用して計算することができる。具体的には、(2)式によりハッシュ値が計算される。(2)式においては、3回の乗算でハッシュ値が得られるので、その計算量は小さい。
Figure 0007024578000002
続いて、各ハッシュ値の先頭のmビットの値が予め決められた参照パターンと比較される。参照パターンは、特に限定されるものではなく、所望のビット列を使用することができる。ここで、ハッシュ値がランダムな値であるものとすると、ハッシュ値の先頭のmビットが参照パターンと一致する確率は、1/2mである。よって、例えば、mが10であるときは、平均して210バイト(すなわち、約1Kバイト)ごとに、先頭のmビットが参照パターンと一致するハッシュ値が得られる。
チャンクは、上述のようにして計算されるハッシュ値の先頭のmビットが参照パターンと一致するタイミングで入力データを区切ることで得られる。よって、mが10であるときは、チャンクの平均サイズは、約1Kバイトである。また、mの値を大きくすると、チャンクの平均サイズも大きくなる。例えば、mが11であるときは、チャンクの平均サイズは、約2Kバイトである。
重複除去クライアント20は、上述したように、チャンク毎にハッシュ値を計算し、それらのハッシュ値を用いて重複データを探索する。よって、チャンクの平均サイズが大きくなると、生成されるハッシュ値の個数が少なくなり、重複データを探索する回数が削減される。すなわち、重複除去のために要する処理時間が短くなる。ところが、この場合、重複データの検出精度が低下し、重複データの除去によるデータ圧縮効果が低くなる。
一方、チャンクの平均サイズを小さくすれば、重複データの検出精度が改善し、重複データの除去によるデータ圧縮効果が高くなる。しかし、この場合、重複データを探索する回数が増加するので、重複除去のために要する処理時間が長くなる。
そこで、上述の重複除去を行う場合、必要に応じて、参照パターンの長さを表すパラメータmの値が調整される。ここで、パラメータmは、実質的に、チャンクの平均サイズを指定する。例えば、高い圧縮率が要求されるケースでは、チャンクの平均サイズを小さくするために、パラメータmとして小さい値が使用される。一方、短い処理時間が要求されるケースでは、チャンクの平均サイズを大きくするために、パラメータmとして大きい値が使用される。なお、図2に示すWAN高速化装置10においては、パラメータmは、使用可能な通信帯域に基づいて、パラメータ決定部17により決定される。
図6は、削減部13において深度パラメータを決定する方法の一例を示す。直、以下の実施例では、100Mバイトのデータが伝送されるものとする。また、ある圧縮アルゴリズムについて事前に評価を行った結果、「深度パラメータ=10」に対して「処理速度=300Mバイト/秒、圧縮率=50パーセント(高速処理、低圧縮率)」が得られ、「深度パラメータ=20」に対して「処理速度=100Mバイト/秒、圧縮率=10パーセント(低速処理、高圧縮率)」が得られているものとする。
図6において、帯域は、使用可能な通信帯域を表し、図2に示す測定部12により測定される。深度は、削減部13の処理を制御するパラメータを表す。なお、図3に示す例では、深度は、最大探索範囲を指定するパラメータmax_distに相当する。また、図4~図5に示す例では、深度は、参照パターンの長さを指定するパラメータmに相当する。
処理速度は、単位時間内に処理可能なデータ量を表す。圧縮率は、圧縮前のデータ量に対する圧縮後のデータ量の割合を表す。例えば、「圧縮率=0.5」は、圧縮によりデータ量が2分の1に削減されることを表す。
ネットワーク転送時間は、通信データを転送するために要する時間を表す。図1に示す例では、ネットワーク転送時間は、WAN高速化装置3X、3Y間で通信データを転送するために要する時間を表す。なお、ネットワーク転送時間は、データ量の比例するものとする。また、ネットワーク転送時間は、通信帯域に反比例するものとする。圧縮時間は、削減部13においてデータを圧縮するために要する時間を表す。
転送時間は、ネットワーク転送時間および圧縮時間の和を表す。但し、「転送時間(削減あり)」は、削減部13により圧縮されたデータについてのネットワーク転送時間および圧縮時間の和を表す。「転送時間(削減なし)」は、生データ(すなわち、削減部13において圧縮されないデータ)についてのネットワーク転送時間を表す。
高速化倍率は、データ圧縮による転送時間の改善の程度を表す。すなわち、データ圧縮により転送時間が短縮されたときは、高速化倍率が1よりも大きくなる。そして、時間短縮効果が大きいほど、高速化倍率が大きくなる。なお、高速化倍率は「転送時間(削減なし)」を「転送時間(削減あり)」を割算することで得られる。
ケース1~2においては、使用可能な通信帯域が大きい。通信帯域が大きいときは、ネットワーク転送時間が抑制されるので、転送時間(ネットワーク転送時間および圧縮時間の和)を短くするためには、圧縮時間が短くなるパラメータを選択することが好ましい。図6に示す例では、深度パラメータが20であるケース2よりも、深度パラメータが10であるケース1において高速化倍率が高くなっている。このように、通信帯域が大きいときは、転送時間を短くするためには、深度パラメータを小さくすることが好ましい。
ケース3~4においては、使用可能な通信帯域が小さい。通信帯域が小さいときは、ネットワーク転送時間が大きくなりやすいので、転送時間を短くするためには、圧縮率が高くなるパラメータを選択して出来るだけデータ転送量を削減することが好ましい。図6に示す例では、深度パラメータが10であるケース3よりも、深度パラメータが20であるケース4において高速化倍率が高くなっている。このように、通信帯域が小さいときは、転送時間を短くするためには、大きい深度パラメータを大きくすることが好ましい。
図7は、深度パラメータを決定する処理の一例を示すフローチャートである。このフローチャートの処理は、定期的に実行される。例えば、このフローチャートの処理は、データ通信が行われているときに、1秒間隔で実行される。
S1において、測定部12は、相手装置に受信帯域を問い合わせる。尚、相手装置は、常時、受信帯域をモニタしているものとする。そして、相手装置は、測定した受信帯域を測定部12に通知する。
S2において、測定部12は、相手装置から通知される受信帯域に基づいて、相手装置へのデータ転送において使用可能な通信帯域を計算する。このとき、使用可能な通信帯域は、相手装置から通知される受信帯域と同じであってもよい。そして、測定部12は、使用可能な通信帯域をパラメータ決定部15、17に通知する。
S3において、パラメータ決定部15、17は、深度パラメータの値を変えながら予想転送時間を計算する。ここで、この実施例では、深度パラメータiに対して「予想処理速度speed_i」および「予想圧縮率ratio_i」が予め測定され、図8に示すテーブルに記録されているものとする。このテーブルは、パラメータ決定部15、17が参照することができるメモリ領域に保存されている。
パラメータ決定部15、17は、例えば(3)式に従って、予想転送時間T(i)を計算する。
T(i)=ratio_i/BW+speed_i (3)
BWは、使用可能な通信帯域を表す。また、iは、深度パラメータの値を表す。たとえば、図3に示すデータ圧縮においては、深度パラメータiは、最大探索範囲を指定するパラメータmax_distに相当する。この場合、パラメータ決定部15は、max_distの値を変えながら、それぞれ予想転送時間を計算する。また、図4~図5に示す重複除去においては、深度パラメータiは、参照パターンの長さを表すmに相当する。この場合、パラメータ決定部17は、例えば、m=9、10、11、12に対してそれぞれ予想転送時間を計算してもよい。
S4において、パラメータ決定部15、17は、予想転送時間が最小となる深度パラメータを選択する。例えば、パラメータ決定部17は、(3)式に従って、m=9、10、11、12に対してそれぞれ予想転送時間(T(9)、T(10)、T(11)、T(12))を計算する。このとき、測定部12から通知される通信帯域BWが上記(3)式に与えられる。そして、予想転送時間T(10)が最小であったものとする。この場合、パラメータ決定部17は、深度パラメータとして「m=10」を選択する。
このように、WAN高速化装置10は、使用可能な通信帯域に基づいて深度パラメータを決定する。このとき、WAN高速化装置10は、圧縮処理時間を含む転送時間を最小化する深度パラメータを選択する。そして、WAN高速化装置10は、この深度パラメータに従って通信データを圧縮する。
図9は、圧縮部14の処理の一例を示すフローチャートである。この例では、パラメータ決定部15により深度パラメータとして最大探索範囲max_distが計算されるものとする。そして、最新の最大探索範囲max_distは、圧縮部14が参照可能なメモリ領域に保存されている。
S11において、圧縮部14は、通信データを受信する。ここでは、通信データは、文字データである。
S12において圧縮部14は、パラメータ決定部15により計算された深度パラメータを取得する。深度パラメータは、図3を参照しながら説明した最大探索範囲max_distである。すなわち、圧縮部14は、受信した通信データの予想転送時間を最小化することが期待される最大探索範囲max_distを取得する。
S13において、圧縮部14は、受信した通信データから文字列を抽出する。抽出する文字列は、1個の単語(図3では「VERY」)であってもよいし、2個以上の単語(図3では「the Rabbit」)を含んでもよい。圧縮部14は、例えば、通信データの先頭から順番に文字列を抽出する。なお、以下の記載において、S13で抽出される文字列を「対象文字列」と呼ぶことがある。
S14において、圧縮部14は、対象文字列のハッシュ値を計算する。ハッシュ値を計算するアルゴリズムは、特に限定されるものではない。
S15~S16において、圧縮部14は、対象文字列の位置を基準とする最大探索範囲の中で、対象文字列または対象文字列の一部と一致する文字列を探索する。このとき、圧縮部14は、例えば、対象文字列のハッシュ値を利用して、対象文字列または対象文字列の一部と一致する文字列を探索してもよい。この場合、圧縮部14は、ハッシュ値テーブルを備える。
図10は、圧縮部14が参照するハッシュ値テーブルの一例を示す。このハッシュ値テーブルは、WAN高速化装置10が受信した通信データから抽出される文字列、抽出された文字列のハッシュ値、および抽出された文字列の出現位置を表す位置情報を互いに関連づけて格納する。
圧縮部14は、ハッシュ値テーブルにおいて、対象文字列のハッシュ値と一致するハッシュ値を有するレコードを検索する。このとき、最大探索範囲内で検索が実行される。そして、この検索により、対象文字列または対象文字列の一部と一致する文字列が存在するか否かが判定される。
例えば、図3に示す通信データにおいて、対象文字列として7行目の「the Rabbit」が抽出されるものとする。この場合、「the」について検索が実行されると、6行目の「the」が得られる。また、「the Rabbit」について検索が実行されると、3行目の「the Rabbit」が得られる。すなわち、1個の対象文字列に対して複数の文字列が発見されることがある。そして、1個の対象文字列に対して複数の文字列が発見されたときは、圧縮部14は、それら複数の文字列の中から一致長が最大となる文字列を特定する。なお、1個の対象文字列に対して1個の文字列が発見されたときは、圧縮部14は、その文字列を一致長が最大となる文字列として特定する。
S17において、圧縮部14は、S15~S16で特定された文字列の位置情報および長さ情報を出力する。位置情報は、ハッシュ値テーブルに保存されている。長さ情報は、S15~S16で特定された文字列の長さを表す。
なお、S17において出力される位置情報および長さ情報は、データ送信部18に与えられる。そして、データ送信部18は、対象文字列の代わりに、位置情報および長さ情報を相手装置に送信する。一方、対象文字列または対象文字列の一部と一致する文字列が最大探索範囲内に存在しないときは(S15:No)、圧縮部14は、対象文字列を出力する。この場合、データ送信部18は、その対象文字列を相手装置に送信する。
S18において、圧縮部14は、対象文字列の位置を表す位置情報をハッシュ値テーブルに保存する。このとき、圧縮部14は、対象文字列のハッシュ値も合わせて保存する。
S19において、圧縮部14は、S14~S18の処理が行われていない文字列が通信データ内に残っているか判定する。そして、そのような文字列が残っていれば、圧縮部14の処理はS13に戻る。すなわち、通信データ内のすべての文字列に対してS14~S18の処理が実行される。
このように、圧縮部14は、WAN高速化装置10と相手装置との間で使用可能な通信帯域に応じて決まる深度パラメータ(すなわち、最大探索範囲max_dist)に従って通信データを圧縮する。ここで、この深度パラメータは、データ転送時間(すなわち、ネットワーク転送時間および圧縮処理時間の和)が小さくなるように(好ましくは、最小化されるよう)に決定されている。したがって、図9に示すフローチャートに従って圧縮部14が通信データを圧縮することにより、データ転送時間が短くなる。
図11は、重複除去部16の処理の一例を示すフローチャートである。この例では、パラメータ決定部17により深度パラメータとして参照パターンのビット長mが計算されるものとする。そして、最新のビット長mは、重複除去部16が参照可能なメモリ領域に保存されている。
S21において、重複除去部16は、通信データを受信する。通信データは、文字データに限定されるものでなく、重複除去部16は、任意のフォーマットのデジタルデータを処理できる。
S22において、重複除去部16は、パラメータ決定部17により計算された深度パラメータを取得する。深度パラメータは、図4~図5を参照しながら説明した参照パターンのビット長mである。すなわち、重複除去部16は、受信した通信データの予想転送時間を最小化することが期待されるビット長mを取得する。
S23において、重複除去部16は、受信した通信データからウィンドウデータを取得する。ウィンドウデータは、図5を参照しながら説明したように、所定長の抽出ウィンドウにより抽出される。
S24において、重複除去部16は、S23で抽出したウィンドウデータのハッシュ値を計算する。この実施例では、Rabin fingerprintアルゴリズムでハッシュ値が計算される。なお、図11に示すフローチャートでは、Rabin fingerprintアルゴリズムで計算されるハッシュ値は「fingerprint」と表記されている。
S25において、重複除去部16は、S24で生成されたハッシュ値の先頭のmビットと参照パターンとを比較する。「m」は、S22において取得した深度パラメータにより指定される。すなわち、参照パターンのビット長は「m」である。
ハッシュ値の先頭のmビットが参照パターンと一致しないときは、重複除去部16の処理はS23に戻る。この場合、重複除去部16は、抽出ウィンドウを1バイトだけシフトさせて次のウィンドウデータを取得する。したがって、ハッシュ値の先頭のmビットが参照パターンと一致するウィンドウデータが検出されるまで、S23~S25の処理が繰り返し実行される。
ハッシュ値の先頭のmビットが参照パターンと一致したときは、重複除去部16は、S26において、通信データからチャンクを切り出す。以下の記載では、S26で新たに生成されるチャンクを「対象チャンク」と呼ぶことがある。なお、通信データから切り出されるチャンクの平均サイズは、参照パターンのビット長mに依存する。
S27において、重複除去部16は、対象チャンクのハッシュ値を計算する。ハッシュ値は、特に限定されるものではないが、例えば、SHA1により計算される。そして、S28において、重複除去部16は、S27で計算したハッシュ値がハッシュ値テーブルに保存されているか否かを判定する。
図12は、重複除去部16が参照するハッシュ値テーブルの一例を示す。このハッシュ値テーブルは、各チャンクのハッシュ値および出現位置を表す位置情報を互いに関連づけて格納する。
重複除去部16は、ハッシュ値テーブルにおいて、対象チャンクのハッシュ値と一致するハッシュ値を有するレコードを検索する。この検索により、対象チャンクと同一のチャンクが過去に相手装置に送信されているか否かが判定される。
対象チャンクのハッシュ値と一致するハッシュ値を有するレコードが見つかったときには、S29において、重複除去部16は、そのレコードに保存されている位置情報を出力する。この位置情報は、対象チャンクと同一のデータを含む、先に相手装置に送信されたチャンクの位置を表す。
S29において出力される位置情報は、データ送信部18に与えられる。そして、データ送信部18は、対象チャンクの代わりに、位置情報を相手装置に送信する。この位置情報は、図4に示す例では、IDデータまたはインデックスに相当する。一方、対象チャンクのハッシュ値と一致するハッシュ値を有するレコードが見つからなかったときは(S28:No)、重複除去部16は、対象チャンクを出力する。この場合、データ送信部18は、その対象チャンクを相手装置に送信する。
S30において、重複除去部16は、対象チャンクの位置を表す位置情報をハッシュ値テーブルに保存する。このとき、位置情報は、対象チャンクのハッシュ値に対応づけて保存される。
S31において、重複除去部16は、S24~S30の処理が行われていないデータが残っているか否かを判定する。そして、そのようなデータが残っていれば、重複除去部16の処理はS23に戻る。すなわち、全通信データに対してS24~S30の処理が実行される。
このように、重複除去部16は、WAN高速化装置10と相手装置との間で使用可能な通信帯域に応じて決まる深度パラメータ(すなわち、参照パターンのビット長m)に従って通信データを圧縮する。ここで、この深度パラメータは、データ転送時間(すなわち、ネットワーク転送時間および圧縮処理時間の和)が小さくなるように(好ましくは、最小化されるよう)に決定されている。したがって、図11に示すフローチャートに従って重複除去部16が通信データを圧縮することにより、データ転送時間が短くなる。
図13は、WAN高速化装置10のハードウェア構成の一例を示す。WAN高速化装置10は、インタフェース回路41、42、プロセッサ43、メモリ44を備える。但し、WAN高速化装置10は、図13に示していない他の回路を備えていてもよい。
インタフェース回路41は、LAN2を介して受信する信号を終端し、また、LAN2へ信号を出力する。図2に示すTCP受信部11の機能は、インタフェース回路41により実現される。インタフェース回路42は、WAN4を介して受信する信号を終端し、また、WAN4へ信号を出力する。図2に示すデータ送信部18の機能は、インタフェース回路42により実現される。
プロセッサ43は、メモリ44に格納されている通信制御プログラムを実行することにより、図2に示す測定部12および削減部13の機能を提供する。すなわち、プロセッサ43は、通信制御プログラムを実行することにより、図9および図11に示すフローチャートの処理を実現する。通信制御プログラムは、不図示の着脱可能メモリを利用してWAN高速化装置10されるようにしてもよい。或いは、WAN高速化装置10は、不図示のプログラムサーバから通信制御プログラムを取得してもよい。なお、プロセッサ43は、他のプログラムを実行してもよい。
メモリ44は、図9および図11に示すフローチャートの手順を記述した通信制御プログラムを格納する。また、メモリ44は、受信データを一時的に格納するバッファ領域としても使用される。さらに、メモリ44は、図10および図12に示すハッシュ値テーブルを格納することもできる。
2、2X、2Y LAN
3X、3Y WAN高速化装置
4 WAN
10 WAN高速化装置
11 TCP受信部
12 測定部
13 削減部
14 圧縮部
15、17 パラメータ決定部
16 重複除去部
18 データ送信部
43 プロセッサ
44 メモリ
100 通信システム

Claims (7)

  1. 通信データを受信する受信部と、
    相手装置との間の通信において使用可能な通信帯域を測定する測定部と、
    前記測定部により測定された通信帯域に基づいてデータ量の削減率に係わるパラメータを決定し、前記パラメータに応じて前記通信データのデータ量を削減する削減部と、
    前記削減部によりデータ量が削減された通信データを前記相手装置に送信する送信部と、を備え、
    前記通信データは文字データであり、
    前記削減部は、
    前記パラメータとして、前記測定部により測定された通信帯域に基づいて最大探索範囲を決定する処理、
    前記文字データの中の対象文字列を基準として前記最大探索範囲内で前記対象文字列または前記対象文字列の一部と一致する文字列を探索する処理、
    前記対象文字列または前記対象文字列の一部と一致する文字列を、前記対象文字列よりもデータ量が少ない代替データに置き換える処理、を実行する
    ことを特徴とする通信装置。
  2. 通信データを受信する受信部と、
    相手装置との間の通信において使用可能な通信帯域を測定する測定部と、
    前記測定部により測定された通信帯域に基づいてデータ量の削減率に係わるパラメータを決定し、前記パラメータに応じて前記通信データのデータ量を削減する削減部と、
    前記削減部によりデータ量が削減された通信データを前記相手装置に送信する送信部と、を備え、
    前記削減部は、
    前記パラメータとして、前記測定部により測定された通信帯域に基づいて、前記通信データから切り出すデータブロックの平均サイズを決定する処理、
    決定した平均サイズに従って前記通信データからデータブロックを切り出す処理、
    各データブロックのハッシュ値を計算する処理、
    第1のデータブロックのハッシュ値と第2のデータブロックのハッシュ値とが一致するときに、前記第2のデータブロックを前記第2のデータブロックよりもデータ量が少ない代替データに置き換える処理、を実行する
    ことを特徴とする通信装置。
  3. 前記削減部は、前記削減部において前記通信データのデータ量を削減する処理に要する処理時間および前記データ量が削減された通信データを前記通信装置から前記相手装置に伝送するために要するネットワーク転送時間の和を最小化するように前記パラメータを決定し、決定したパラメータに応じて前記通信データのデータ量を削減する
    ことを特徴とする請求項1または2に記載の通信装置。
  4. 文字データを受信し、
    相手装置との間の通信において使用可能な通信帯域を測定し、
    測定した通信帯域に基づいて最大探索範囲を決定し、
    前記文字データの中の対象文字列を基準として前記最大探索範囲内で前記対象文字列または前記対象文字列の一部と一致する文字列を探索し、
    前記対象文字列または前記対象文字列の一部と一致する文字列を、前記対象文字列よりもデータ量が少ない代替データに置き換え、
    データ量が削減された文字データを前記相手装置に送信する
    ことを特徴とする通信制御方法。
  5. 通信データを受信し、
    相手装置との間の通信において使用可能な通信帯域を測定し、
    測定した通信帯域に基づいて、前記通信データから切り出すデータブロックの平均サイズを決定し、
    決定した平均サイズに従って前記通信データからデータブロックを切り出し、
    各データブロックのハッシュ値を計算し、
    第1のデータブロックのハッシュ値と第2のデータブロックのハッシュ値とが一致するときに、前記第2のデータブロックを前記第2のデータブロックよりもデータ量が少ない代替データに置き換え、
    データ量が削減された通信データを前記相手装置に送信する
    ことを特徴とする通信制御方法。
  6. 文字データを受信し、
    相手装置との間の通信において使用可能な通信帯域を測定し、
    測定した通信帯域に基づいて最大探索範囲を決定し、
    前記文字データの中の対象文字列を基準として前記最大探索範囲内で前記対象文字列または前記対象文字列の一部と一致する文字列を探索し、
    前記対象文字列または前記対象文字列の一部と一致する文字列を、前記対象文字列よりもデータ量が少ない代替データに置き換え、
    データ量が削減された文字データを前記相手装置に送信する
    処理をプロセッサに実行させる通信制御プログラム。
  7. 通信データを受信し、
    相手装置との間の通信において使用可能な通信帯域を測定し、
    測定した通信帯域に基づいて、前記通信データから切り出すデータブロックの平均サイズを決定し、
    決定した平均サイズに従って前記通信データからデータブロックを切り出し、
    各データブロックのハッシュ値を計算し、
    第1のデータブロックのハッシュ値と第2のデータブロックのハッシュ値とが一致するときに、前記第2のデータブロックを前記第2のデータブロックよりもデータ量が少ない代替データに置き換え、
    データ量が削減された通信データを前記相手装置に送信する
    処理をプロセッサに実行させる通信制御プログラム。
JP2018083471A 2018-04-24 2018-04-24 通信装置、通信制御方法、および通信制御プログラム Active JP7024578B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018083471A JP7024578B2 (ja) 2018-04-24 2018-04-24 通信装置、通信制御方法、および通信制御プログラム
US16/356,562 US10931794B2 (en) 2018-04-24 2019-03-18 Communication apparatus and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018083471A JP7024578B2 (ja) 2018-04-24 2018-04-24 通信装置、通信制御方法、および通信制御プログラム

Publications (2)

Publication Number Publication Date
JP2019193092A JP2019193092A (ja) 2019-10-31
JP7024578B2 true JP7024578B2 (ja) 2022-02-24

Family

ID=68236094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018083471A Active JP7024578B2 (ja) 2018-04-24 2018-04-24 通信装置、通信制御方法、および通信制御プログラム

Country Status (2)

Country Link
US (1) US10931794B2 (ja)
JP (1) JP7024578B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107757A1 (en) * 2019-11-29 2021-06-03 Mimos Berhad System and method for data transfer reduction for network devices in an internet of things enabled environment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244698A (ja) 2002-02-21 2003-08-29 Nec Viewtechnology Ltd 圧縮画像データ伝送装置及び圧縮画像データ伝送方法
JP2004158929A (ja) 2002-11-01 2004-06-03 Sharp Corp 動画像処理方法および動画像処理装置ならびに動画像伝送装置
JP2004194160A (ja) 2002-12-13 2004-07-08 Murata Mach Ltd 文書管理装置
JP2004282381A (ja) 2003-03-14 2004-10-07 Canon Inc 画像処理装置、画像形成システム及び画像処理方法
JP2005229515A (ja) 2004-02-16 2005-08-25 Seiko Epson Corp 送信装置および受信装置
JP2015130071A (ja) 2014-01-07 2015-07-16 キヤノン株式会社 情報処理装置及びその制御方法
JP2017046270A (ja) 2015-08-28 2017-03-02 株式会社Ihi 中継サーバ、中継方法、および中継プログラム
WO2017168730A1 (ja) 2016-03-31 2017-10-05 富士通株式会社 データ送信プログラム、データ送信方法及びデータ送信装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3541930B2 (ja) 1998-08-13 2004-07-14 富士通株式会社 符号化装置及び復号化装置
EP1340351B1 (en) * 2000-10-11 2007-12-12 Broadcom Corporation Dynamic delta encodijng for cable modem header suppression
US20050219076A1 (en) * 2004-03-22 2005-10-06 Michael Harris Information management system
US7420992B1 (en) * 2005-03-17 2008-09-02 Packeteer, Inc. Adaptive network traffic compression mechanism including dynamic selection of compression algorithms
US8872677B2 (en) * 2013-03-15 2014-10-28 Dialogic Networks (Israel) Ltd. Method and apparatus for compressing data-carrying signals
JP6229577B2 (ja) 2014-04-08 2017-11-15 富士通株式会社 キャッシュ保存プログラム、情報処理装置およびキャッシュ保存方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244698A (ja) 2002-02-21 2003-08-29 Nec Viewtechnology Ltd 圧縮画像データ伝送装置及び圧縮画像データ伝送方法
JP2004158929A (ja) 2002-11-01 2004-06-03 Sharp Corp 動画像処理方法および動画像処理装置ならびに動画像伝送装置
JP2004194160A (ja) 2002-12-13 2004-07-08 Murata Mach Ltd 文書管理装置
JP2004282381A (ja) 2003-03-14 2004-10-07 Canon Inc 画像処理装置、画像形成システム及び画像処理方法
JP2005229515A (ja) 2004-02-16 2005-08-25 Seiko Epson Corp 送信装置および受信装置
JP2015130071A (ja) 2014-01-07 2015-07-16 キヤノン株式会社 情報処理装置及びその制御方法
JP2017046270A (ja) 2015-08-28 2017-03-02 株式会社Ihi 中継サーバ、中継方法、および中継プログラム
WO2017168730A1 (ja) 2016-03-31 2017-10-05 富士通株式会社 データ送信プログラム、データ送信方法及びデータ送信装置

Also Published As

Publication number Publication date
US20190327343A1 (en) 2019-10-24
US10931794B2 (en) 2021-02-23
JP2019193092A (ja) 2019-10-31

Similar Documents

Publication Publication Date Title
US10715618B2 (en) Compressibility estimation for lossless data compression
US9514209B2 (en) Data processing method and data processing device
US7443321B1 (en) Compression of stream data using a hierarchically-indexed database
JP6110517B2 (ja) データオブジェクト処理方法及び装置
US9083708B2 (en) Asymmetric end host redundancy elimination for networks
JP4796315B2 (ja) 遠隔差分圧縮用の効率的アルゴリズムとプロトコル
US7843823B2 (en) Techniques for balancing throughput and compression in a network communication system
EP1578019A2 (en) Data compression
CN108134775B (zh) 一种数据处理方法和设备
US9002806B1 (en) Compression of data transmitted over a network
US8924591B2 (en) Method and device for data segmentation in data compression
JPH0778067A (ja) データ圧縮方法及びシステム
JP2010539606A (ja) データ依存チャンキングを使用する最適化されたデータストリーム圧縮
KR102100957B1 (ko) 휴대용 단말기 사이에서 캐쉬 공유를 이용한 정보 송신 방법 및 장치
JP7024578B2 (ja) 通信装置、通信制御方法、および通信制御プログラム
CN104778193A (zh) 数据去重方法及装置
JP6229577B2 (ja) キャッシュ保存プログラム、情報処理装置およびキャッシュ保存方法
US10637969B2 (en) Data transmission method and data transmission device
CN110740138B (zh) 数据传输方法和装置
US10659558B2 (en) Saving bandwidth in transmission of compressed data
US20170048303A1 (en) On the fly statistical delta differencing engine
CN106998361B (zh) 数据传输方法和系统
US11080145B1 (en) Dictionary synchronization over a transport with guaranteed ordering
CN115993631A (zh) 一种地震数据自同步方法及系统
CN112463021A (zh) 数据处理方法及装置、芯片

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211214

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211214

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20211214

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: 20220111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220124

R150 Certificate of patent or registration of utility model

Ref document number: 7024578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150