JP2004514366A - Binary compression method using static information knowledge - Google Patents

Binary compression method using static information knowledge Download PDF

Info

Publication number
JP2004514366A
JP2004514366A JP2002543788A JP2002543788A JP2004514366A JP 2004514366 A JP2004514366 A JP 2004514366A JP 2002543788 A JP2002543788 A JP 2002543788A JP 2002543788 A JP2002543788 A JP 2002543788A JP 2004514366 A JP2004514366 A JP 2004514366A
Authority
JP
Japan
Prior art keywords
dictionary
communication
entity
given
communication protocol
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
JP2002543788A
Other languages
Japanese (ja)
Other versions
JP3958211B2 (en
JP2004514366A5 (en
Inventor
ハンヌ, ハンス
スヴァンブロ, クリステル
クリストッフェルッソン, ヤン
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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
Priority claimed from US09/814,406 external-priority patent/US6985965B2/en
Application filed by テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2004514366A publication Critical patent/JP2004514366A/en
Publication of JP2004514366A5 publication Critical patent/JP2004514366A5/ja
Application granted granted Critical
Publication of JP3958211B2 publication Critical patent/JP3958211B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

帯域制限された通信回線を介して使用される通信プロトコルの圧縮効率を増大させるシステム、方法及び装置。本発明のある側面によれば、構造の認識と通信プロトコルの内容とを使用して、静的な辞書あるいは静的な2進符号木を形成する。その結果、圧縮効率が大いに高めらよう。本発明の他の側面によれば、静的な辞書若しくは2進符号木と動的な辞書若しくは2進符号木とを結合してなる辞書を提供することで、通信プロトコルの圧縮を実行する。本発明の他の側面によれば、意図された用途条件の下でデータプロトコルのフローを監視することによって、静的な2進符号木あるいは静的な辞書が構築される。A system, method and apparatus for increasing the compression efficiency of a communication protocol used over a band-limited communication line. According to an aspect of the present invention, a static dictionary or a static binary code tree is formed using the structure recognition and the contents of the communication protocol. As a result, the compression efficiency will be greatly increased. According to another aspect of the present invention, compression of a communication protocol is performed by providing a dictionary obtained by combining a static dictionary or a binary code tree with a dynamic dictionary or a binary code tree. According to another aspect of the invention, a static binary code tree or static dictionary is constructed by monitoring the flow of the data protocol under the intended use conditions.

Description

【0001】
[関連出願についての相互参照]
本願は、2000年11月16日に出願された米国特許出願第60/249,923(代理人整理番号34645−522USPL)、「リクエスト−リプライの通信パターンを利用したデータ圧縮のための通信システム及び方法」と題して同時に出願された米国特許出願第09/814407(代理人整理番号34645−523USPT)、「暫定的な圧縮テーブルを用いて通信するシステム及び方法」と題して同時に出願された米国特許出願第09/814268(代理人整理番号34645−524USPT)及び「共通コンテキスト圧縮のための通信システム及び方法」と題して同時に出願された米国特許出願第09/0814434(代理人整理番号34645−525USPT)に関連するものであり、これらを基礎として優先権を主張するものである。
【0002】
[発明の背景]
[発明の属する技術分野]
本発明は、例えばインターネットプロトコルなどのデータプロトコルを使用して送受信されるメッセージの圧縮に関するものである。
【0003】
[本発明の背景と目的]
ここ数年で大衆によって幅広く使用されるようになった2つのコミュニケーションテクノロジーはセルラー電話とインターネットである。セルラー電話によって提供されたいくつかの利点は、移動に関する自由度と、ユーザーの場所に依存せず妥当なサービス品質でアクセスできることであった。最近まで、セルラー電話によって提供されてきた主なサービスは通話サービスであった。それに対し、インターネットは、様々なタイプの柔軟性を提供する一方で、固定のコネクションと大きな端末とに主な焦点が当てられてきた。しかしながら、インターネット電話のようないくつかのサービスについての経験的な品質は、一般に全く低いものであると思われてきた。
【0004】
相当な数のインターネットプロトコル(IP)がインターネットや他のネットワークの至るところでの通信のためにめに開発されてきた。そのようなインターネットプロトコルの例が、セッション・イニシーエーション・プロトコル(SIP)である。SIPは、マルチメディア・セッションやマルチメディア呼を確立し、変更し、切断させるためのアプリケーション層のプロトコルである。これらのセッションとしては、インターネット・マルチメディア会議や、インターネット電話、及び類似のアプリケーションが含まれるかもしれない。当分野で理解されているように、SIPは、トランスミッション・コントロール・プロトコル(TCP)か、ユーザー・データグラム・プロトコル(UDP)上で使用できる。
【0005】
インターネットプロトコルのもう1つの例は、リアルタイム・ストリーミング・プロトコル(RTSP)であり、これは、オーディオデータ及びビデオデータのようなリアルタイム特性を有するデータの伝送をコントロールするための、アプリケーションレベルのプロトコルである。RTSPは、同様にUDP、TCP、あるいはトランスポート・プロトコルのような他のプロトコルと共に使用可能である。さらに他のインターネットプロトコルの例は、セッション・デスクリプション・プロトコル(SDP)であり、マルチメディア会議を通告したり、会議用のアドレスや使用ツールの仕様情報などを伝達するために使用されている。同様に、SDPは、一般的なリアルタイムのマルチメディア・セッションを記述する目的で用いている。SDPは、SIPメッセージやRTSPメッセージのメッセージボディに搭載されて伝送される。SIP、RTSP、及びSDPは皆、UTF−8符号化におけるISO 10646の文字セットを使用するアスキーテキストベースのプロトコルである。
【0006】
新しい技術を開発するために、インターネット及びセルラー電話の技術が統合され始めている。将来のセルラー装置は、インターネットプロトコル(IP)スタックを搭載し、ウェブのブラウジングや電子メール、及びその他の望ましいサービスだけでなく、IP上での通話(VoIP)もサポートすることになろう。「オールIP」若しくは「全線IP」の実現で、通信システムのエンド−エンドでインターネットプロトコルが使用される。セルラーシステムにおいては、セルラー回線や無線ホップを介したIPオーバーセルラー回線やIPオーバー無線ホップが含まれるかもしれない。インターネットプロトコルは、SIP又はRTSPデータのような制御データや、音声あるいはストリーミングデータのようなユーザーデータなどを含む全てのタイプのトラフィックに使用できる。そのようなテクノロジーの統合により、セルラーテクノロジーの利点である移動性と共にIPの利点である柔軟性が提供されよう。
【0007】
当分野において理解されているように、SIP、RTSP及びSDPプロトコルは、セルラー無線アクセスでの使用に密接に関連した類似の特性を有している。これらの類似点の1つは、プロトコルの一般的なリクエスト(要求)性質とリプライ(応答)性質である。一般に、送信機はリクエストを送信すると、リプライを受信するまでアイドル状態を継続する。上述したように、もう1つの類似点は、SIP、RTSP及びSDPも皆、UTF−8符号化を用いるISO10646文字セットを使用したASCIIテキストを基盤としたプロトコルだということである。結果として、同一の情報をバイナリーで表現する場合よりも多くのビットを用いて表現されるのが通常である。これらのプロトコルによって共有されるさらに他の特徴は、セッションの参加者に対して必要な情報を供給するため、そのサイズが一般に大きくなってしまうことである。
【0008】
IPを用いることでの不利な点は、大きなヘッダーとテキストベースの信号伝達プロトコルとが原因で、IPプロトコルスィートによってもたらされる比較的大きなオーバヘッドである。セルラーシステムにおいては、効率のよい手法を用いて乏しい無線リソースを使用することが常に重要である。セルラーシステムにおいて、1のセルあたりで十分な数のユーザーをサポートすることが重要であり、さもないと、実装コストと運用コストが制限されてしまうからである。このように周波数スペクトルと帯域幅は、セルラー回線における高価なリソースであり、システムリソースは効率よく最大限に使用されるべきである。
【0009】
UMTS及びEDGEなどの移動体通信システムや、GSM及びIS−95のような第2世代システムの将来のリリースにおいて、インターネットプロトコルを使用することで、多数のシグナリング・トラフィックが実現されよう。上述したように、インターネットプロトコルのほとんどは比較的に広帯域の固定用コネクション向けに開発されてきた。帯域の狭いセルラー回線上でアクセスが実行される場合には、セットアップにかかる時間や遅延時間のようなサービス要求品質を満たすために、プロトコルメッセージの圧縮が必要とされる。一般に、通信経路上の全てにわたって圧縮することは必要ではない。しかしながら、無線ユーザー端末からコアネットワークまでのような無線回線上では、トラフィックを圧縮することが大いに望まれる。
【0010】
Lempel−ZivやHuffman(ハフマン)符号化のような標準的なバイナリー圧縮技術は、圧縮対象データの構造についての明確な知識を利用しないことが、大変一般的である。例えばSIPとRTSPなどのインターネット・データ・プロトコルにおいてそのような方法を使用して通信メッセージを効率良く圧縮するには、現在のところ困難をともなう。今日において利用可能な標準的なバイナリー圧縮方法は、一般に大きなデータファイル用に設計されている。その結果、繰り返される文字列がわずかであるような小さなメッセージを圧縮するためにそのような方法を使用しても、一般には、非常に不十分な圧縮パフォーマンスしか得られない。実際、もし圧縮対象のメッセージが小さいか、繰り返しの文字列がわずかしか含まれていなければ、標準的な圧縮方法を使用しても元の圧縮されていないパケットよりも現実には大きくなってしまうので、逆効果となってしまうだろう。
【0011】
バイナリー圧縮方式を実現するための一つの方法は、辞書の使用を基礎とした圧縮技術である。概して、辞書圧縮方式は、辞書として知られているデータ構造を使用し、入力データで見つけられたシンボル文字列を蓄積する。この方式は、入力データを読み込んで、辞書の文字列と一致するシンボルの文字列を探索する。もし文字列の一致が見つかれば、辞書内でのその文字列の位置へのポインターあるいはインデックスが出力され、その文字列自体の代わりにポインターやインデックスが送信される。もしインデックスがそれによって置き換えられた文字列より小さければ、圧縮効果が得られる。圧縮を伸張する装置であるデコンプレッサ−は、圧縮辞書の代表を含んでおり、受信されたインデックスから元の文字列を再構成できる。辞書圧縮方法の例としては、Lempel−Ziv(LZ77)アルゴリズムがある。このアルゴリズムは、前のファイルで生じた文字列を、前の事象へのリファレンスと置換してゆくことで動作する。もちろん、繰り返された文字列が多ければ、この方法は特に良い結果をもたらす。
【0012】
辞書圧縮方式は、一般に、静的なものと動的なものとに分類可能である。静的な辞書は、あらかじめ定義された辞書であり、圧縮が開始される前に構築されており、圧縮処理の間は変更されることはない。静的な辞書は、典型的には、圧縮装置(コンプレッサー)と伸張装置(デコンプレッサー)に、使用前に記憶される、あるいは圧縮動作が開始される前までに送信されて記憶される。
【0013】
一方で、動的又は適応型の辞書方式は、圧縮の発生に応じて辞書の内容の変更を許容する方式である。概して動的辞書方式は、辞書なし又は予め定義されたデフォルトの辞書を用いて始動し、圧縮処理において新しい文字列を辞書に追加していく。もし入力データの文字列が辞書において見つからなければ、その文字列が辞書中の新しいポジションに追加され、新しいインデックス値が割り当てられる。新しい文字列は伸張装置に送信され、伸張装置の辞書に追加される。新しい文字列のポジションは送信されなくてもよく、伸張装置が新しい文字列を受信したと判定するとその文字列を伸張装置の辞書において、圧縮装置の辞書でのポジションと同一のポジションに追加する。この方法においては、更新された辞書を使用し、入力データにおいて以後発生する文字列を圧縮することができる。その結果として、コンプレッサーとデコンプレッサーの辞書が構築され、圧縮が達成されるように動的に更新される。
【0014】
辞書圧縮の他の方法は、スライディング・ウインドウ圧縮として知られているタイプである。この方法において圧縮装置は、圧縮処理の間、固定サイズのスライディング・ウインドウを左から右までファイル内を移動する。圧縮アルゴリズムはウインドウの左へとファイルをサーチし、ウインドウ内の現在の文字列とマッチするものを探索する。もしマッチしている文字列が見つかれば、文字列はマッチした長さへのリファレンスに従って、ファイル内のマッチした位置へのリファレンスと置換される。代替的には、最近伸張された文章の大きな1ブロックとルックアヘッド・バッファーとを有するテキストウィンドウで構成されたウインドウであってもよい。このバージョンでは、ルックアヘッド・バッファーがテキストウィンドウ内のマッチを捜すために使用される。もしマッチが見つかれば、文字列はテキストウィンドウ内のマッチした場所のリファレンスと、マッチの長さへのリファレンスとに置換される。この情報は、オリジナルの情報を再生するために同一の辞書を保持している伸張装置によって使用される。
【0015】
データ圧縮のための他の方法は、2進符号木(バイナリー・コード・ツリー)の使用する方法である。2進符号木において、圧縮対象のシンボル又は文字列は、可変数のビットによる木構造の中で表現され、各シンボルが一義的に伸張可能となる。一般に、入力データにいおいて高い出現確率のシンボルは、出現確率の低いシンボルよりも短い数のビットにより表現される。2進符号木の構築において、個々のシンボルは、2進木から伸びたリーフノード(葉節)の文字列として区画される。より高い出現確率のシンボルは、木の中でより短い枝(ブランチ)として表現され、その結果、文字列を表現するためのビットの数はより少なくなる。逆に、出現確率のより低いシンボルは、その木の中でより長い枝として表現され、より多数のビットが必要となる。入力データ中の文字列が圧縮装置の2進符号木内のシンボルと一致すると、そのシンボルのコードがシンボル自体の代わりに送信され、その結果、データ圧縮が達成される。コードを受信した伸張装置は、同一の2進符号木を使用してオリジナルのシンボル又は文字列を再構成する。
【0016】
辞書圧縮と同じように、2進符号木には静的なものと動的なものとがある。静的な2進符号木方式では、あらかじめ定義された2進符号木が圧縮処理の前に構築され、圧縮処理の間はその内容が変更されることはない。静的な辞書と同様に、静的な2進符号木が前もって圧縮装置と伸張装置とに記憶されるか、あるいは圧縮処理の開始前までに送信されて記憶される。
【0017】
動的又は適応型2進符号木では、圧縮処理中であっても符号木への新しいシンボル又は文字列の追加が許容されている。新しいシンボルの追加と、符号木の再構成とを可能にするために使用される2進符号木の圧縮タイプに依存した様々な方法が、符号木のノードを更新するために使用可能である。同様に、伸張装置内の2進符号木は、圧縮装置の2進符号木と同じ規則に従って更新されなければならない。
【0018】
2進符号木圧縮方式の1つの例は、Huffman符号化による圧縮方式である。Huffman圧縮は、元来アスキー形式のファイルの圧縮用に開発された一般的な圧縮方法である。すなわち、ファイル内で頻繁に出現する文字がより短いコードと置換されて、ASCIIコードによって使用される8ビットよりも少ないビットのコードとして表現される。比較的に少ない数の文字が使用されているようなファイルであればHuffman圧縮は成功するであろう。
【0019】
前述の二進圧縮アルゴリズムを使用した圧縮が成功するための一般的な基準は、圧縮されるファイルが合理的に大きいことである。Huffman圧縮のためのコードは圧縮されているファイルと比べて大きくないはずである。標準的なLempel−Ziv圧縮に関していえば、効率の良い圧縮を達成するためには、圧縮対象のファイルが、多くの繰り返された文字列を有するほど十分に大きくなければならない。前述のプロトコルによって生成されたメッセージは、たいてい数百バイトであるが、これはメッセージを基準としみれば、前述のアルゴリズムを使用して圧縮しても効率の良い圧縮を達成するには、十分な大きさとはいえない。
【0020】
よって、通信プロトコルを使用して送信されるメッセージの圧縮についての効率とパフォーマンスとを高め、帯域幅の制限された通信回線やチャンネル介してメッセージを使用できるようにするためのニーズが当業界には存在するといえる。
【0021】
[発明の概要]
本発明は、帯域幅の制限された通信回線を介して使用される通信プロトコルの圧縮効率を高めるための方法、システム及び装置に関連する。本発明の一側面によれば、構造の知識や通信プロトコルの内容を使用して、静的な辞書又は静的な2進符号木を作成する。その結果、圧縮効率は大いに高められよう。本発明の他の側面によれば、静的な辞書と動的な辞書とを組み合わせたもの、又は静的な2進符号木と動的な2進符号木とを組み合わせたものを供給して、通信プロトコルの圧縮処理を実行する。本発明の他の側面によれば、静的な2進符号木又は静的な辞書は、それらの使用の意図された条件におけるデータプロトコルのフローを監視することによって構築される。
【0022】
[好ましい例示的な実施形態に関する詳細な説明]
以下において、本発明の好ましい実施形態が示される添付図面への参照とともに、本発明はより完全に説明される。しかしながら、本発明は多数の種々の形式において実現可能であり、ここに説明される実施形態にのみ限定して解釈されるべきではない。ここでの開示は完全で完成したものであり、本発明の範囲を完全に伝ることができるよう、これらの実施形態を当業者に提供する。
【0023】
図1は、本発明に従った例示的な通信システムを示す図である。移動端末110は、例えば無線回線などの通信回線115を介し、通信プロトコルを使用して基地局120と通信する。基地局120は、通信回線125を経由して、PSTNなどの固定ネットワーク130と通信する。固定ネットワーク130は、通信回線135を介して基地局140と通信する。基地局140は、通信回線145を介して、端末150と通信する。端末150は、移動端末又は固定端末のどちらでもよい。本発明の実施形態によれば、移動端末110は、圧縮されたデータを使用し、通信回線115を介して基地局120と通信している。同様に、基地局140は、圧縮されたデータを使用して端末150と通信してもよい。これは理解されるべきことであるが、移動端末110及び基地局140のような、図1のシステムにおけるコンポーネントは、圧縮や伸張を実現するためのソフトウェア・インストラクションを記憶するメモリ160や、それを実行するプロセッサ155を備えていてもよい。同様に理解されているべきことであるが、本発明は、セルラーネットワークのように圧縮が望まれる回線を介して通信プロトコルを使用するような他の通信システムに適用されてもよい。
【0024】
図2は、本発明の例示的な実施形態を示す図である。この実施形態において、エンティティA(210)は、データ圧縮が使用されている通信回線(250、255)を使用してエンティティBと通信する。各々のエンティティは、データ・コンプレッサー(215、245)とデータ・デコンプレッサー(225、235)を備えている。本発明の例示的な実施形態においては、辞書圧縮方法が使用される。この実施形態では、各エンティティ内の静的な辞書220は、データプロトコルを使用して通信回線を介して送受信されるデータを圧縮したり伸張したりするために使用される。これは理解されるべきことであるが、コンプレッサー及び/またはデコンプレッサーは、プロセッサと、圧縮又は伸張アルゴリズム用のインストラクションを記憶した付随メモリとを使用して実現されてもよい。これも理解されるべきことであるが、通信エンティティは複数の通信装置を含んでいてもよい。例えば、エンティティAは移動端末110を含んでもよいし、エンティティBは、基地局140を含んでもよい。
【0025】
本発明の実施形態によれば、エンティティA(210)とエンティティB(230)は同一の静的な辞書220を使用する。静的な辞書220は、通信回線(250,255)を介して通信するために使用されている、例えばインターネットなどの通信プロトコルによって使用されているプロトコル・フィールド名と共通のシンボル文字列とから構成してもよい。理解されるべきことであるが、通信エンティティは複数の通信装置を含んでもよい。例えば、エンティティAは移動端末を、エンティティBは基地局を含むかもしれない。
【0026】
辞書を形成するために使用されうるエントリーの例としては、音声、映像及び画像情報などのメディアタイプの情報が含まれよう。辞書を形成するための辞書エントリーの他の例としては、GET、HEAD及びPOSTなどのプロトコル・トークン方法や、コネクション(Connection)、日付(Date)及びアクセプト(Accept)のような特定のプロトコルにおいて使用されているヘッダー・フィールド名が含まれる。この例示的な実施形態において、辞書で見つかりうるデータパケットの部分だけが圧縮されるが、一方、当業者により知られている他の方法を使用して、データパケットの残り部分を非圧縮で又は圧縮して送信してもよい。
【0027】
図3は、本発明における圧縮と伸張用の例示的なデータパケット310を示した図である。この実施形態によると、データパケット310は、所与のデータプロトコルに従って送信される情報を表現している。文字列A(320)及び文字列C(340)は、静的な辞書で見つからなかったデータパケット310の一部を表現している。文字列B(330)及び文字列D(350)は、静的な辞書で見つかったデータパケット310の一部を表現している。文字列B(330)及び文字列D(350)を送信する代わりに、静的な辞書内での文字列Bの位置へのインデックス370と静的な辞書内での文字列Dの位置へのインデックス380だけが、データパケット310のこれらの部分として送信される必要がある。文字列A(320)と文字列C(340)とが非圧縮データとしてインデックス370とインデックス380とに付加され、圧縮されたデータパケット360が生成される。代替的に、文字列A(320)及び文字列C(340)は当業者により知られている他の圧縮方法を用いて圧縮されてもよい。圧縮されたデータパケット360は、受信側のエンティティに対して送信される。
【0028】
受信側のエンティティによって圧縮されたデータパケットが受信された後、インデックス370及びインデックス380が、同一の静的な辞書における対応するエントリーと整合処理され、文字列B(330’)と文字列D(350’)とが再構成される。受信された文字列A(320’)及び文字列C(340’)は、再構成された文字列B(330’)及び文字列D(350’)とに結合され、オリジナルのデータパケット(310’)が再形成すされる。代替的に、文字列A(320)及び文字列Cとが送信の前に圧縮されていた場合には、再構成された文字列B(330’)及び文字列D(350’)と結合する前に、圧縮されていた文字列A(320)及び文字列Cを伸張してから、オリジナルのデータパケット(310’)を再構成する。
【0029】
図4は本発明に係る他の例示的な実施形態を示す図である。双方向通信を利用して送信されるデータの性質及びフォーマットはしばしば通信方向ごとに異なっているため、各通信方向ごとに適合可能な圧縮方式が有効である。この実施形態において、エンティティA(410)は、関連する静的な辞書A(420)を伴うデータ・コンプレッサー415と、関連する静的な辞書B(430)を伴うデータ・デコンプレッサー425とを備える。エンティティB(440)は、関連する静的な辞書A(420)を伴うデータ・デコンプレッサー445と、関連する静的な辞書B(430)を伴うデータ・コンプレッサー455とを備える。
【0030】
動作中は、エンティティA(410)が、データ・コンプレッサー415を使用してメッセージ又はデータを圧縮し、通信回線460を介してエンティティB(440)へと送信し、そこで、静的な辞書A(420)を使用してデコンプレッサー445により伸張処理を実行する。この方法で、エンティティA(410)のコンプレッサー415と、エンティティB(440)のデコンプレッサー445は、圧縮処理及び伸張処理において同一の静的な辞書A(420)を使用する。同様に、エンティティB(440)は、データ・コンプレッサー455を使用してメッセージ又はデータを圧縮し、通信回線465を介してエンティティA(410)へと送信し、そこで、静的な辞書A(420)を使用してデコンプレッサー425により伸張を行なう。エンティティB(440)のコンプレッサー455と、エンティティA(410)のデコンプレッサー425は、圧縮及び伸張において同一の静的な辞書B(430)を使用する。本発明の例示的な実施形態によれば、各通信方向に最適化された静的な辞書を設計することが可能になる。
【0031】
図5は、静的な辞書と動的な辞書との組み合わせを使用する本発明の他の例示的な実施形態を示した図である。この実施形態では、各通信エンティティにおいて、初期の静的な辞書がコンプレッサー及びデコンプレッサー用の開始の辞書として使用される。通信が開始されるやいなや、この辞書は動的な辞書として動作し始める。この実施形態では、関連する静的/動的辞書520を有するコンプレッサー515を備えるエンティティA(510)は、第1の通信回線550を利用して、関連する静的/動的辞書540を有するデコンプレッサー535を備えるエンティティB(510)と通信する。
【0032】
エンティティA(510)において圧縮されたのち、エンティティB(530)に対して送信されるメッセージは、辞書520を用いてテスト処理される。もしメッセージの一部が辞書のエントリーと整合すれば、その部分は対応するインデックスと置換される。辞書内のいずれのエントリーとも整合しないメッセージの部分、あるいは代替的にこのメッセージ部分について選択されたフィールドは、将来の圧縮処理において利用すべく、辞書520へと追加される。そして、インデックスと圧縮されていない部分とがエンティティB(530)へと第1の通信回線を介して送信される。
【0033】
そして、エンティティB(530)は、受信したメッセージを伸張し、インデックス情報と非圧縮部分とに分離する。エンティティB(530)のデコンプレッサー535は、このインデックスを内部の辞書540内のエントリーと整合させることで圧縮された情報を再生して、非圧縮データへと追加し、オリジナルのメッセージを形成する。エンティティA(510)において辞書520へと追加されたメッセージ部分は、エンティティB(530)の辞書540へと追加され、これにより各エンティティが一致した辞書を維持できるようになる。
【0034】
エンティティA(510)からエンティティB(530)へと送信されるその後のメッセージは、更新された辞書520を使用して圧縮され、更新した辞書520を使用してエンティティB(530)により伸張される。その結果、エンティティA(510)の辞書520とエンティティBの辞書540は動的に更新されるため、送信されるデータに圧縮手法を適合させることが可能となる。よって、圧縮効率が継続的に改善されることになる。
【0035】
さらに、エンティティA(510)がデコンプレッサー525を備え、エンティティB(530)がコンプレッサー545を備えてもよく、この場合は、第2の通信回線555を使用してエンティティB(530)は第2の圧縮されたメッセージをエンティティA(510)へと送信できるようになる。このように配置させることで、双方向の圧縮された通信機能を提供できる。エンティティA(510)のデコンプレッサー525は、コンプレッサー515が使用する静的/動的辞書520と同一の辞書を使用してもよい。同様に、エンティティB(530)のコンプレッサー545は、デコンプレッサー535が使用する静的/動的辞書520と同一の辞書を使用してもよい。代替的に、分離された静的/動的辞書を各コンプレッサー/デコンプレッサーのペアが使用してもよく、この場合は、各通信方向にとって最適化が可能な静的/動的な辞書を使用することができよう。
【0036】
静的な辞書と動的な辞書とのコンビネーションを使用する本発明の他の例示的な実施形態では、スライディング・ウインドウ辞書による圧縮方法を使用できる。上述の実施形態で説明したように、初期の静的辞書が開始の辞書としてコンプレッサーとデコンプレッサーとにより使用され、通信が開始されるとすぐに動的な辞書として機能し始める。第1のステップにおいて、コンプレッサーを含む第1のエンティティの辞書に対して圧縮対象のメッセージが追加登録される。次のステップにおいて、追加登録されたメッセージを有する辞書が、例えばLempel−Zivなどのスライディング・ウインドウ圧縮方法に従って処理され、圧縮されたメッセージが作成される。このステップにおいて、追加されたメッセージに従ってこの辞書を圧縮してもよい。
【0037】
さらに次のステップにおいて、静的/動的辞書と対応する圧縮されたメッセージの部分が削除され、辞書内の対応する場所へのリファレンス又はインデックスと置換される。以降のステップにおいて、リファレンス情報に加えて、圧縮されたメッセージの残りとが第2のエンティティのデコンプレッサーへと送信される。
【0038】
さらに次のステップにおいて、受信されたメッセージが、第2のエンティティ内の圧縮されたバージョンの静的/動的辞書へと追加登録されることで、デコンプレッサーがコンプレッサーと同じ辞書を備えることができる。以降のステップにおいて、例えばLempel−Zivなどの対応する伸張方法によって処理され、オリジナルのメッセージが生成される。
【0039】
上述した方法の代替的な実施形態としては、圧縮方法を用いて辞書を圧縮しないものがある。この実施形態では、実際に動作する前に辞書をバッファへとプリロードしておき、圧縮アルゴリズムの実行の際にツリーを利用して探索してもよい。圧縮対象のメッセージが到着すると、メッセージがロードされているバッファ内の位置から実際の圧縮処理が開始される。このように辞書は圧縮されずに、メッセージ自体だけが圧縮されていてもよい。この実施形態によると、デコンプレッサーの対応する辞書は、同様に、圧縮されていない形式であってもよい。
【0040】
本発明の重要な側面は、静的な辞書の構築である。本発明に従った静的な辞書の構築に関する1つの例示的な方法には、データパケットのフローを監視し、圧縮が望まれている通信回線上での好ましい通信プロトコルについての統計データを収集する処理が含まれる。
【0041】
この統計データを通じ、所与の通信プロトコルにおいて、最もよく利用されているプロトコル・フィールド名と他の普通の文字列とを得て、それを使用して静的な辞書を構築してもよく、これにより送信対象のメッセージ又はデータの最適な圧縮が提供される。静的な辞書は、使用前に構築され、第1の通信エンティティと第2のエンティティとに記憶される。このように使用前に記憶しておくことで、通信セッションの最初に発生するオーバーヘッドを削減しうるので、短い通信セッションにおいて使用するのに特に有用である。代替的に、圧縮が開始される前に通信セッションの開始においてコンプレッサーからデコンプレッサーへと静的な辞書を送信してもよい。
【0042】
辞書圧縮方式の代替案として、静的な2進符号木方式を使用してもよい。静的な2進符号木は、通信回線上で望ましいデータプロトコルのためのパケットのフローを監視するような、統計的な方法を使用して構築してもよい。この統計情報を使用して、出現確率のより高いデータプロトコルのプロトコル・フィールド名や他の一般的な文字列を、出現確率のより低いものよりも少ないビット数で表現するよう、静的な2進符号木が構築される。その結果、圧縮効率が高められる。本発明の実現において利用可能な2進符号木圧縮方式についてのこのような1例は、Huffman符号化方法であるかもしれない。
【0043】
本発明のさらに他の例示的な実施形態では、静的な2進符号木を静的な辞書との組み合わせで使用してもよい。この例示的な実施形態では、本発明に従って説明された手法の一つのような望ましい手法を使用して初めに静的な辞書を構築する。使用中の静的な辞書を用いて望ましいデータプロトコルについてのパケットのフローを監視し、それに従って静的な2進符号木を構築してもよい。静的な辞書圧縮と、Huffman符号化のような静的な2進符号木圧縮と組み合わせて使用することで、送信データの圧縮効率を高めることができるかもしれない。
【0044】
本発明に係る方法、システム及び装置についての様々な実施形態を、添付の図面と上述の詳細な説明を用いて例示してきたが、本発明は開示された実施形態に限定されるものではなく、請求項により定義された発明の範囲を逸脱することなく、種々の設計変更、修正及び置換も可能である。
【図面の簡単な説明】
本発明のシステム、方法及び装置についての完全な理解は、添付の対応する図面を参照しつつ詳細な説明を読むことにより得られよう。
【図1】
図1は、本発明に関する例示的な通信システムを示した図である。
【図2】
図2は、本発明に係る例示的な実施形態を示した図である。
【図3】
本発明の圧縮及び伸張に関する例示的なデータパケットを示した図である。
【図4】
本発明の他の例示的な実施形態を示した図である。
【図5】
本発明の他の例示的な実施形態を示した図である。
[0001]
[Cross-reference for related applications]
No. 60 / 249,923 (Attorney Docket No. 34645-522USPL), filed on Nov. 16, 2000, entitled "Communication System for Data Compression Using Request-Reply Communication Pattern and US patent application Ser. No. 09 / 814,407 (Attorney Docket No. 34645-523USPT), filed concurrently under the title “Method”, US Patent Application No. U.S. patent application Ser. No. 09 / 814,268 (Attorney Docket No. 34645-524 USPT) and U.S. Patent Application Ser. Related to Which claims the right.
[0002]
[Background of the Invention]
[Technical field to which the invention belongs]
The present invention relates to compression of messages sent and received using a data protocol such as the Internet Protocol.
[0003]
[Background and Object of the Invention]
Two communication technologies that have become widely used by the public in recent years are the cellular telephone and the Internet. Some of the advantages offered by cellular telephones were the freedom of movement and the accessibility of the user with a reasonable quality of service independent of the location of the user. Until recently, the primary service provided by cellular telephones was call service. In contrast, while the Internet offers various types of flexibility, the main focus has been on fixed connections and large terminals. However, the empirical quality for some services, such as Internet telephony, has generally been considered to be quite poor.
[0004]
A significant number of Internet Protocols (IP) have been developed for communication across the Internet and other networks. An example of such an Internet Protocol is the Session Initiation Protocol (SIP). SIP is an application layer protocol for establishing, modifying and tearing down multimedia sessions and multimedia calls. These sessions may include Internet multimedia conferences, Internet telephony, and similar applications. As is understood in the art, SIP can be used over Transmission Control Protocol (TCP) or User Datagram Protocol (UDP).
[0005]
Another example of the Internet Protocol is the Real-Time Streaming Protocol (RTSP), which is an application-level protocol for controlling the transmission of data having real-time characteristics, such as audio and video data. . RTSP can also be used with other protocols such as UDP, TCP, or transport protocols. Still another example of the Internet Protocol is the Session Description Protocol (SDP), which is used for notifying a multimedia conference and transmitting a conference address and specification information of a tool to be used. Similarly, SDP has been used to describe typical real-time multimedia sessions. The SDP is mounted on the message body of the SIP message or the RTSP message and transmitted. SIP, RTSP, and SDP are all ASCII text-based protocols that use the ISO 10646 character set in UTF-8 encoding.
[0006]
Internet and cellular telephone technologies are beginning to be integrated to develop new technologies. Future cellular devices will be equipped with Internet Protocol (IP) stacks and will support not only web browsing and e-mail and other desirable services, but also calls over IP (VoIP). With the implementation of "all IP" or "all line IP", Internet Protocol is used at the end-to-end of the communication system. In a cellular system, an IP over cellular line or an IP over wireless hop via a cellular line or a wireless hop may be included. The Internet Protocol can be used for all types of traffic, including control data such as SIP or RTSP data, and user data such as voice or streaming data. The integration of such technologies will provide the flexibility of IP, as well as the mobility of cellular technology.
[0007]
As understood in the art, the SIP, RTSP and SDP protocols have similar properties that are closely related to use in cellular radio access. One of these similarities is the general request (request) and reply (response) properties of the protocol. Generally, when a transmitter sends a request, it stays idle until it receives a reply. As mentioned above, another similarity is that SIP, RTSP and SDP are all protocols based on ASCII text using the ISO10646 character set using UTF-8 encoding. As a result, the same information is typically represented using more bits than if it were represented in binary. Yet another feature shared by these protocols is that their size generally increases to provide the necessary information to participants of the session.
[0008]
The disadvantage of using IP is the relatively large overhead introduced by the IP protocol suite due to large headers and text-based signaling protocols. In cellular systems, it is always important to use scarce radio resources using efficient techniques. This is because in a cellular system, it is important to support a sufficient number of users per cell, otherwise mounting and operating costs are limited. Thus, frequency spectrum and bandwidth are expensive resources in a cellular link, and system resources should be used efficiently and to the fullest.
[0009]
In future releases of mobile communication systems, such as UMTS and EDGE, and second generation systems, such as GSM and IS-95, the use of Internet protocols will allow for a large amount of signaling traffic. As mentioned above, most of the Internet protocols have been developed for relatively wideband fixed connections. When access is performed on a cellular band with a narrow band, compression of a protocol message is required in order to satisfy required service quality such as setup time and delay time. In general, it is not necessary to compress over everything on the communication path. However, on wireless links, such as from wireless user terminals to core networks, it is highly desirable to compress traffic.
[0010]
It is very common that standard binary compression techniques such as Lempel-Ziv and Huffman (Huffman) coding do not use explicit knowledge of the structure of the data to be compressed. Efficient compression of communication messages using such methods in Internet data protocols such as, for example, SIP and RTSP, presents some difficulties at present. The standard binary compression methods available today are generally designed for large data files. As a result, using such a method to compress small messages with few repeated strings generally results in very poor compression performance. In fact, if the message to be compressed is small or contains only a few repetitive strings, it will actually be larger than the original uncompressed packet using standard compression methods. So it would be counterproductive.
[0011]
One way to implement a binary compression scheme is a compression technique based on the use of a dictionary. In general, dictionary compression schemes use a data structure known as a dictionary and accumulate symbol strings found in the input data. This method reads input data and searches for a character string of a symbol that matches a dictionary character string. If a match is found, a pointer or index to the location of the string in the dictionary is output, and a pointer or index is sent instead of the string itself. If the index is smaller than the string replaced by it, a compression effect is obtained. A decompressor, a device for decompressing, contains a representation of the compression dictionary and can reconstruct the original string from the received index. An example of a dictionary compression method is the Lempel-Ziv (LZ77) algorithm. The algorithm works by replacing strings that occur in the previous file with references to previous events. Of course, this method gives especially good results if there are many repeated strings.
[0012]
Dictionary compression schemes can generally be classified into static and dynamic. Static dictionaries are predefined dictionaries that have been built before compression is started and do not change during the compression process. Static dictionaries are typically stored on compressors (compressors) and decompressors (decompressors) before use or transmitted and stored before the compression operation is started.
[0013]
On the other hand, the dynamic or adaptive dictionary system is a system that allows the contents of the dictionary to be changed according to the occurrence of compression. In general, the dynamic dictionary scheme starts with no dictionary or with a predefined default dictionary, and adds new strings to the dictionary during the compression process. If the string of input data is not found in the dictionary, the string is added to a new position in the dictionary and a new index value is assigned. The new string is sent to the decompressor and added to the decompressor's dictionary. The position of the new string need not be transmitted, and if the decompressor determines that a new string has been received, it adds the string to the decompressor's dictionary at the same position as the compressor's dictionary. In this way, the updated dictionary can be used to compress subsequent character strings in the input data. As a result, a dictionary of compressors and decompressors is built and dynamically updated to achieve compression.
[0014]
Another method of dictionary compression is the type known as sliding window compression. In this way, the compressor moves a fixed size sliding window through the file from left to right during the compression process. The compression algorithm searches the file to the left of the window, looking for a match for the current string in the window. If a matching string is found, the string is replaced with a reference to the matching position in the file, according to the reference to the matched length. Alternatively, the window may be a text window having a large block of recently decompressed text and a look-ahead buffer. In this version, the look-ahead buffer is used to look for matches in the text window. If a match is found, the string is replaced with a reference to the match in the text window and a reference to the length of the match. This information is used by the decompressor holding the same dictionary to reproduce the original information.
[0015]
Another method for data compression is to use a binary code tree (binary code tree). In the binary code tree, a symbol or a character string to be compressed is expressed in a tree structure with a variable number of bits, and each symbol can be uniquely expanded. In general, a symbol with a high appearance probability in input data is represented by a shorter number of bits than a symbol with a low appearance probability. In the construction of a binary code tree, each symbol is partitioned as a character string of a leaf node (leaf node) extending from the binary tree. A symbol with a higher probability of occurrence is represented as a shorter branch in the tree, resulting in fewer bits to represent the string. Conversely, symbols with a lower probability of occurrence are represented as longer branches in the tree, requiring more bits. When a character string in the input data matches a symbol in the binary code tree of the compressor, the code of that symbol is transmitted instead of the symbol itself, resulting in data compression. The decompressor receiving the code reconstructs the original symbol or string using the same binary code tree.
[0016]
As with dictionary compression, binary code trees are either static or dynamic. In the static binary code tree method, a predefined binary code tree is constructed before the compression processing, and its contents are not changed during the compression processing. Like a static dictionary, a static binary code tree is stored in advance in the compressor and decompressor, or transmitted and stored before the start of the compression process.
[0017]
In a dynamic or adaptive binary code tree, addition of a new symbol or character string to the code tree is allowed even during the compression process. Various methods can be used to update the nodes of the code tree, depending on the compression type of the binary code tree used to allow the addition of new symbols and the reconstruction of the code tree. Similarly, the binary code tree in the decompressor must be updated according to the same rules as the binary code tree in the compressor.
[0018]
One example of a binary code tree compression scheme is a compression scheme based on Huffman coding. Huffman compression is a general compression method originally developed for compressing ASCII format files. That is, characters that occur frequently in the file are replaced with shorter codes and represented as codes with fewer bits than the 8 bits used by ASCII codes. Huffman compression will be successful for files where a relatively small number of characters are used.
[0019]
A common criterion for successful compression using the aforementioned binary compression algorithm is that the files to be compressed are reasonably large. The code for Huffman compression should not be large compared to the compressed file. With respect to standard Lempel-Ziv compression, to achieve efficient compression, the file to be compressed must be large enough to have many repeated strings. The messages generated by the aforementioned protocols are often hundreds of bytes, which, on a message basis, is not sufficient to achieve efficient compression using the algorithms described above. Not a size.
[0020]
Thus, there is a need in the industry for increasing the efficiency and performance of compressing messages sent using communication protocols and for making the messages available over bandwidth-limited communication lines and channels. It can be said that it exists.
[0021]
[Summary of the Invention]
The present invention relates to a method, a system and an apparatus for increasing the compression efficiency of a communication protocol used over a bandwidth-limited communication line. According to one aspect of the present invention, a static dictionary or a static binary code tree is created using knowledge of the structure and contents of the communication protocol. As a result, the compression efficiency will be greatly increased. According to another aspect of the present invention, a combination of a static dictionary and a dynamic dictionary, or a combination of a static binary code tree and a dynamic binary code tree is provided. Then, a compression process of the communication protocol is executed. According to another aspect of the present invention, a static binary code tree or static dictionary is constructed by monitoring the flow of data protocols in the intended conditions of their use.
[0022]
Detailed description of preferred exemplary embodiments
In the following, the invention will be more fully described with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. However, the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. This disclosure is complete and complete, and these embodiments are provided to those skilled in the art, so as to be able to fully convey the scope of the invention.
[0023]
FIG. 1 is a diagram illustrating an exemplary communication system according to the present invention. The mobile terminal 110 communicates with the base station 120 using a communication protocol via a communication line 115 such as a wireless line. The base station 120 communicates with a fixed network 130 such as a PSTN via a communication line 125. Fixed network 130 communicates with base station 140 via communication line 135. Base station 140 communicates with terminal 150 via communication line 145. Terminal 150 may be either a mobile terminal or a fixed terminal. According to an embodiment of the present invention, mobile terminal 110 is communicating with base station 120 via communication line 115 using compressed data. Similarly, base station 140 may communicate with terminal 150 using the compressed data. It should be understood that components in the system of FIG. 1, such as the mobile terminal 110 and the base station 140, include a memory 160 that stores software instructions for implementing compression and decompression, and a memory 160 that stores the software instructions. It may include a processor 155 for executing. It should also be understood that the present invention may be applied to other communication systems, such as those using communication protocols over lines where compression is desired, such as cellular networks.
[0024]
FIG. 2 illustrates an exemplary embodiment of the present invention. In this embodiment, entity A (210) communicates with entity B using a communication line (250, 255) where data compression is used. Each entity has a data compressor (215, 245) and a data decompressor (225, 235). In an exemplary embodiment of the invention, a dictionary compression method is used. In this embodiment, the static dictionary 220 in each entity is used to compress and decompress data sent and received over the communication line using a data protocol. It should be understood that the compressor and / or decompressor may be implemented using a processor and associated memory that stores instructions for a compression or decompression algorithm. It should also be understood that a communication entity may include multiple communication devices. For example, entity A may include mobile terminal 110, and entity B may include base station 140.
[0025]
According to an embodiment of the present invention, entity A (210) and entity B (230) use the same static dictionary 220. The static dictionary 220 is composed of a protocol field name used by a communication protocol such as the Internet and a common symbol character string used for communication via the communication line (250, 255). May be. It should be understood that a communication entity may include multiple communication devices. For example, entity A may include a mobile terminal and entity B may include a base station.
[0026]
Examples of entries that can be used to form a dictionary would include media type information such as audio, video and image information. Other examples of dictionary entries for creating dictionaries include protocol token methods such as GET, HEAD, and POST, and specific protocols such as Connection, Date, and Accept. Contains the header field name that is being used. In this exemplary embodiment, only the portion of the data packet that can be found in the dictionary is compressed, while other methods known by those skilled in the art are used to compress the rest of the data packet uncompressed or It may be compressed before transmission.
[0027]
FIG. 3 is a diagram illustrating an exemplary data packet 310 for compression and decompression in the present invention. According to this embodiment, data packet 310 represents information transmitted according to a given data protocol. Character string A (320) and character string C (340) represent a portion of data packet 310 not found in the static dictionary. The character string B (330) and character string D (350) represent a part of the data packet 310 found in the static dictionary. Instead of sending string B (330) and string D (350), index 370 to the position of string B in the static dictionary and index 370 to the position of string D in the static dictionary Only the index 380 needs to be transmitted as these parts of the data packet 310. The character string A (320) and the character string C (340) are added to the index 370 and the index 380 as uncompressed data, and a compressed data packet 360 is generated. Alternatively, string A (320) and string C (340) may be compressed using other compression methods known by those skilled in the art. The compressed data packet 360 is transmitted to the receiving entity.
[0028]
After the compressed data packet is received by the receiving entity, the indexes 370 and 380 are matched with the corresponding entries in the same static dictionary, and string B (330 ') and string D ( 350 '). The received string A (320 ') and string C (340') are combined with the reconstructed string B (330 ') and string D (350') to form the original data packet (310). ') Will be reformed. Alternatively, if string A (320) and string C were compressed prior to transmission, they would be combined with reconstructed string B (330 ') and string D (350'). Previously, the compressed character string A (320) and character string C are decompressed, and then the original data packet (310 ') is reconstructed.
[0029]
FIG. 4 is a diagram showing another exemplary embodiment according to the present invention. Since the nature and format of data transmitted using two-way communication are often different for each communication direction, a compression method that can be adapted for each communication direction is effective. In this embodiment, entity A (410) comprises a data compressor 415 with an associated static dictionary A (420) and a data decompressor 425 with an associated static dictionary B (430). . Entity B (440) comprises a data decompressor 445 with an associated static dictionary A (420) and a data compressor 455 with an associated static dictionary B (430).
[0030]
In operation, entity A (410) compresses the message or data using data compressor 415 and sends it over communication line 460 to entity B (440), where static dictionary A (410) (420), the decompressor 445 executes the decompression process. In this way, the compressor 415 of entity A (410) and the decompressor 445 of entity B (440) use the same static dictionary A (420) in the compression and decompression processes. Similarly, entity B (440) compresses the message or data using data compressor 455 and sends it over communication line 465 to entity A (410), where static dictionary A (420) ) Is used for decompression by the decompressor 425. The compressor 455 of entity B (440) and the decompressor 425 of entity A (410) use the same static dictionary B (430) in compression and decompression. According to an exemplary embodiment of the present invention, it is possible to design a static dictionary optimized for each communication direction.
[0031]
FIG. 5 illustrates another exemplary embodiment of the present invention that uses a combination of static and dynamic dictionaries. In this embodiment, at each communication entity, the initial static dictionary is used as the starting dictionary for the compressor and decompressor. As soon as the communication is started, this dictionary starts to work as a dynamic dictionary. In this embodiment, entity A (510) comprising a compressor 515 having an associated static / dynamic dictionary 520 utilizes a first communication line 550 to provide a data having an associated static / dynamic dictionary 540. Communicate with entity B (510) comprising compressor 535.
[0032]
A message transmitted to the entity B (530) after being compressed in the entity A (510) is subjected to a test process using the dictionary 520. If a part of the message matches a dictionary entry, that part is replaced with the corresponding index. Portions of the message that do not match any entries in the dictionary, or alternatively fields selected for this message portion, are added to the dictionary 520 for use in future compression operations. Then, the index and the uncompressed part are transmitted to the entity B (530) via the first communication line.
[0033]
Then, the entity B (530) decompresses the received message and separates it into index information and an uncompressed part. The decompressor 535 of entity B (530) regenerates the compressed information by matching this index with the entries in the internal dictionary 540 and adds it to the uncompressed data to form the original message. The message portion added to the dictionary 520 at the entity A (510) is added to the dictionary 540 of the entity B (530) so that each entity can maintain a matched dictionary.
[0034]
Subsequent messages sent from entity A (510) to entity B (530) are compressed using updated dictionary 520 and decompressed by entity B (530) using updated dictionary 520. . As a result, since the dictionary 520 of the entity A (510) and the dictionary 540 of the entity B are dynamically updated, it is possible to adapt the compression method to the data to be transmitted. Therefore, the compression efficiency is continuously improved.
[0035]
Further, entity A (510) may include a decompressor 525 and entity B (530) may include a compressor 545, in which case entity B (530) may use second communication line 555 to establish a second Can be transmitted to the entity A (510). With this arrangement, a bidirectional compressed communication function can be provided. Decompressor 525 of entity A (510) may use the same dictionary as static / dynamic dictionary 520 used by compressor 515. Similarly, compressor 545 of entity B (530) may use the same dictionary as static / dynamic dictionary 520 used by decompressor 535. Alternatively, a separate static / dynamic dictionary may be used by each compressor / decompressor pair, in which case a static / dynamic dictionary that can be optimized for each communication direction is used. Could be.
[0036]
In another exemplary embodiment of the present invention that uses a combination of static and dynamic dictionaries, a sliding window dictionary compression method can be used. As described in the above embodiment, the initial static dictionary is used by the compressor and decompressor as the starting dictionary and begins to function as a dynamic dictionary as soon as communication is started. In the first step, a message to be compressed is additionally registered in the dictionary of the first entity including the compressor. In the next step, the dictionary with the additionally registered messages is processed according to a sliding window compression method, for example Lempel-Ziv, to create a compressed message. In this step, the dictionary may be compressed according to the added message.
[0037]
In a further step, portions of the compressed message corresponding to the static / dynamic dictionary are deleted and replaced with a reference or index to the corresponding location in the dictionary. In a subsequent step, in addition to the reference information, the rest of the compressed message is transmitted to the decompressor of the second entity.
[0038]
In a further step, the received message is additionally registered in a compressed version of the static / dynamic dictionary in the second entity, so that the decompressor can have the same dictionary as the compressor . In the following steps, the original message is generated by processing by a corresponding decompression method such as Lempel-Ziv.
[0039]
An alternative embodiment of the method described above does not use a compression method to compress the dictionary. In this embodiment, the dictionary may be preloaded into the buffer before actually operating, and a search may be performed using a tree when the compression algorithm is executed. When the message to be compressed arrives, the actual compression process starts from the position in the buffer where the message is loaded. Thus, the dictionary itself may not be compressed, and only the message itself may be compressed. According to this embodiment, the corresponding dictionary of the decompressor may likewise be in an uncompressed form.
[0040]
An important aspect of the present invention is the construction of a static dictionary. One exemplary method for constructing a static dictionary in accordance with the present invention involves monitoring the flow of data packets and collecting statistics on the preferred communication protocol on the communication line where compression is desired. Processing is included.
[0041]
Through this statistical data, for a given communication protocol, the most commonly used protocol field names and other ordinary strings may be obtained and used to build a static dictionary, This provides optimal compression of the message or data to be sent. The static dictionary is constructed before use and stored at the first communication entity and the second entity. Such storage before use is particularly useful for use in short communication sessions, as it can reduce overhead that occurs at the beginning of a communication session. Alternatively, a static dictionary may be sent from the compressor to the decompressor at the start of the communication session before the compression is started.
[0042]
As an alternative to the dictionary compression scheme, a static binary code tree scheme may be used. Static binary code trees may be constructed using statistical methods, such as monitoring the flow of packets for a desired data protocol over a communication line. Using this statistic, a static 2 is used to represent protocol field names and other common strings for data protocols with a higher probability of occurrence with fewer bits than those with a lower probability of occurrence. A ternary code tree is constructed. As a result, the compression efficiency is increased. One such example of a binary code tree compression scheme that can be used in the implementation of the present invention may be the Huffman encoding method.
[0043]
In yet another exemplary embodiment of the present invention, a static binary code tree may be used in combination with a static dictionary. In this exemplary embodiment, a static dictionary is first constructed using a desired technique, such as one of the techniques described in accordance with the present invention. The static dictionary in use may be used to monitor the flow of packets for the desired data protocol and build a static binary code tree accordingly. Combined use of static dictionary compression and static binary code tree compression such as Huffman coding may improve the transmission data compression efficiency.
[0044]
While various embodiments of the method, system and apparatus according to the present invention have been illustrated using the accompanying drawings and the above detailed description, the invention is not limited to the disclosed embodiments. Various design changes, modifications and substitutions are possible without departing from the scope of the invention as defined by the claims.
[Brief description of the drawings]
A complete understanding of the systems, methods and apparatus of the present invention will be obtained by reading the detailed description with reference to the accompanying corresponding drawings.
FIG.
FIG. 1 is a diagram illustrating an exemplary communication system according to the present invention.
FIG. 2
FIG. 2 shows an exemplary embodiment according to the present invention.
FIG. 3
FIG. 5 illustrates an exemplary data packet for compression and decompression of the present invention.
FIG. 4
FIG. 4 illustrates another exemplary embodiment of the present invention.
FIG. 5
FIG. 4 illustrates another exemplary embodiment of the present invention.

Claims (41)

通信プロトコルを使用して送信されるメッセージを圧縮する通信エンティティであって、
所与の通信プロトコルについてのシンボルの少なくとも一つに対応するシンボル文字列の少なくとも一つを含む辞書と、
前記辞書と作用するコンプレッサーとを含み、
前記コンプレッサーは前記辞書を使用して、前記所与の通信プロトコルに従った第1のメッセージ内の前記少なくとも一つのシンボル文字列を圧縮する、通信エンティティ。
A communication entity that compresses messages sent using a communication protocol,
A dictionary containing at least one of the symbol strings corresponding to at least one of the symbols for a given communication protocol;
Including a dictionary and a working compressor,
A communication entity, wherein the compressor uses the dictionary to compress the at least one symbol string in a first message according to the given communication protocol.
請求項1に記載の通信エンティティであって、前記通信エンティティはさらに、
前記辞書と作用するデコンプレッサーを含み、
前記デコンプレッサーは、前記辞書を使用して、前記所与の通信プロトコルに従った第2のメッセージ内の少なくとも一つの前記シンボル文字列を伸張する、通信エンティティ。
The communication entity according to claim 1, wherein the communication entity further comprises:
Including a decompressor that operates with the dictionary;
A communication entity, wherein the decompressor uses the dictionary to expand at least one of the symbol strings in a second message according to the given communication protocol.
請求項1に記載の通信エンティティであって、前記通信エンティティはさらに、
前記コンプレッサーと作用する2進符号木を含み、
前記コンプレッサーは、前記2進符号木を使用して、前記所与の通信プロトコルに従った第1のメッセージ内の前記少なくとも一つのシンボル文字列を圧縮する、通信エンティティ。
The communication entity according to claim 1, wherein the communication entity further comprises:
A binary code tree that works with the compressor;
A communication entity, wherein the compressor uses the binary code tree to compress the at least one symbol string in a first message according to the given communication protocol.
請求項3に記載の通信エンティティであって、前記2進符号木にはハフマン2進符号木が含まれる、通信エンティティ。4. The communication entity according to claim 3, wherein the binary code tree includes a Huffman binary code tree. 請求項3に記載の通信エンティティであって、前記2進符号木には静的な2進符号木が含まれる、通信エンティティ。4. The communication entity according to claim 3, wherein the binary code tree includes a static binary code tree. 請求項1に記載の通信エンティティであって、前記辞書には静的な辞書が含まれる、通信エンティティ。The communication entity according to claim 1, wherein the dictionary comprises a static dictionary. 請求項1に記載の通信エンティティであって、前記所与の通信プロトコルの前記少なくとも一つのシンボルには、前記所与の通信プロトコルにおける少なくとも一つのフィールド名が含まれる、通信エンティティ。The communication entity according to claim 1, wherein the at least one symbol of the given communication protocol includes at least one field name in the given communication protocol. 請求項1に記載の通信エンティティであって、前記辞書内の少なくとも一つのエントリーは、前記所与の通信プロトコルの統計的なデータのフローに基づいている、通信エンティティ。2. The communication entity according to claim 1, wherein at least one entry in the dictionary is based on a statistical data flow of the given communication protocol. 請求項1に記載の通信エンティティであって、前記通信エンティティはさらに、
前記コンプレッサーと作用する動的な辞書を含み、
前記動的な辞書には、少なくとも一つの第2のシンボル文字列が含まれ、前記少なくとも一つの第2のシンボル文字列は、前記所与の通信プロトコルにおける第2のシンボルの少なくとも一つに対応し、前記コンプレッサーは、少なくとも一つの前記動的な辞書を使用し、前記辞書は前記所与の通信プロトコルに従った以降の通信メッセージ内のシンボル文字列の少なくとも一つを圧縮するために用いられる、通信エンティティ。
The communication entity according to claim 1, wherein the communication entity further comprises:
A dynamic dictionary that works with the compressor,
The dynamic dictionary includes at least one second symbol string, wherein the at least one second symbol string corresponds to at least one of the second symbols in the given communication protocol. And the compressor uses at least one of the dynamic dictionaries, the dictionaries being used to compress at least one of the symbol strings in subsequent communication messages according to the given communication protocol. , The communication entity.
請求項9に記載の通信エンティティであって、前記コンプレッサーはスライディング・ウインドウ圧縮方法を使用する、通信エンティティ。10. The communication entity according to claim 9, wherein the compressor uses a sliding window compression method. 通信プロトコルを使用して受信したメッセージを伸張する通信エンティティであって、前記通信エンティティは、
所与の通信プロトコルにおけるシンボルの少なくとも1つと対応する少なくとも一つのシンボル文字列を有する辞書と、
前記辞書と作用するデコンプレッサーとを含み、
前記デコンプレッサーは、前記辞書を使用して、前記所与の通信プロトコルに従った第1の通信メッセージ内の前記少なくとも一つのシンボル文字列を伸張する、通信エンティティ。
A communication entity for extending a message received using a communication protocol, wherein the communication entity comprises:
A dictionary having at least one symbol string corresponding to at least one of the symbols in a given communication protocol;
Including a dictionary and a working decompressor;
A communication entity, wherein the decompressor uses the dictionary to expand the at least one symbol string in a first communication message according to the given communication protocol.
請求項11に記載の通信エンティティであって、前記通信エンティティはさらに、
前記辞書と作用するコンプレッサーを含み、
前記コンプレッサーは、前記辞書を使用して、前記所与の通信プロトコルに従った第2の通信メッセージ内の前記少なくとも一つのシンボル文字列を圧縮する、通信エンティティ。
The communication entity according to claim 11, wherein the communication entity further comprises:
Including a compressor that works with the dictionary;
A communication entity, wherein the compressor uses the dictionary to compress the at least one symbol string in a second communication message according to the given communication protocol.
請求項11に記載の通信エンティティであって、前記通信エンティティはさらに、
前記デコンプレッサーと作用する2進符号木を含み、
前記デコンプレッサーは、前記2進符号木を使用して、前記所与の通信プロトコルに従った第1のメッセージ内の前記少なくとも一つのシンボル文字列を伸張する、通信エンティティ。
The communication entity according to claim 11, wherein the communication entity further comprises:
A binary code tree that works with the decompressor;
A communication entity, wherein the decompressor uses the binary code tree to decompress the at least one symbol string in a first message according to the given communication protocol.
請求項13に記載の通信エンティティであって、前記2進符号木には静的な進符号木が含まれる、通信エンティティ。14. The communication entity according to claim 13, wherein the binary code tree comprises a static binary code tree. 請求項13に記載の通信エンティティであって、前記2進符号木にはハフマン進符号木が含まれる、通信エンティティ。14. The communication entity according to claim 13, wherein the binary code tree includes a Huffman code tree. 請求項11に記載の通信エンティティであって、前記辞書には静的な辞書が含まれる、通信エンティティ。The communication entity of claim 11, wherein the dictionary comprises a static dictionary. 請求項11に記載の通信エンティティであって、前記所与の通信プロトコルの前記少なくとも一つのシンボルには、前記所与の通信プロトコルにおける少なくとも一つのフィールド名が含まれる、通信エンティティ。The communication entity according to claim 11, wherein the at least one symbol of the given communication protocol includes at least one field name in the given communication protocol. 請求項11に記載の通信エンティティであって、前記辞書内の少なくとも一つのエントリーは、前記所与の通信プロトコルの統計的なデータのフローに基づいている、通信エンティティ。The communication entity of claim 11, wherein at least one entry in the dictionary is based on a statistical data flow of the given communication protocol. 請求項11に記載の通信エンティティであって、前記通信エンティティはさらに、
前記デコンプレッサーと作用する動的な辞書を含み、
前記動的な辞書には、少なくとも一つの第2のシンボル文字列が含まれ、前記少なくとも一つの第2のシンボル文字列は、前記所与の通信プロトコルにおける第2のシンボルの少なくとも一つに対応し、前記デコンプレッサーは、少なくとも一つの前記動的な辞書を使用し、前記辞書は前記所与の通信プロトコルに従った以降の通信メッセージ内のシンボル文字列の少なくとも一つを伸張するために用いられる、通信エンティティ。
The communication entity according to claim 11, wherein the communication entity further comprises:
A dynamic dictionary that works with the decompressor,
The dynamic dictionary includes at least one second symbol string, wherein the at least one second symbol string corresponds to at least one of the second symbols in the given communication protocol. The decompressor uses at least one of the dynamic dictionaries, the dictionaries being used to decompress at least one of the symbol strings in subsequent communication messages according to the given communication protocol. Communication entity
請求項19に記載の通信エンティティであって、前記コンプレッサーはスライディング・ウインドウ伸張方法を使用する、通信エンティティ。20. The communication entity according to claim 19, wherein the compressor uses a sliding window decompression method. 圧縮されたメッセージの通信を容易にする通信システムであって、前記通信システムは、
第1の通信メッセージを送信する第1の通信エンティティであって、前記通信エンティティは、所与の通信プロトコルにおける少なくとも一つのシンボルに対応するシンボル文字列の少なくとも一つを含む第1の辞書と、前記第1の辞書と作用する第1のコンプレッサーとを含み、前記第1のコンプレッサーは前記第1の辞書を使用して、前記所与の通信プロトコルに従った第1のメッセージ内の前記少なくとも一つのシンボル文字列を圧縮し、
前記第1の通信エンティティと通信し、前記第1の通信メッセージを受信する第2の通信エンティティであって、前記第2の通信エンティティは、前記所与の通信プロトコルにおけるシンボルの少なくとも1つと対応する少なくとも一つのシンボル文字列を有する第2の辞書と、前記第2の辞書と作用する第1のデコンプレッサーとを含み、前記第1のデコンプレッサーは、前記第2の辞書を使用して、前記所与の通信プロトコルに従った第1の通信メッセージ内の前記少なくとも一つのシンボル文字列を伸張し、前記第1の辞書は前記第2の辞書と実質的に等価のものである、通信システム。
A communication system that facilitates communication of compressed messages, wherein the communication system comprises:
A first communication entity for transmitting a first communication message, said communication entity comprising a first dictionary containing at least one of a symbol string corresponding to at least one symbol in a given communication protocol; A first compressor operative with the first dictionary, wherein the first compressor uses the first dictionary to generate the at least one message in a first message according to the given communication protocol. One symbol string,
A second communication entity that communicates with the first communication entity and receives the first communication message, wherein the second communication entity corresponds to at least one of the symbols in the given communication protocol. A second dictionary having at least one symbol string, and a first decompressor operating with the second dictionary, wherein the first decompressor uses the second dictionary to A communication system, wherein said at least one symbol string is decompressed in a first communication message according to a given communication protocol, said first dictionary being substantially equivalent to said second dictionary.
請求項21に記載の通信システムであって、前記第1の通信エンティティはさらに、
前記第1の辞書と作用する第2のデコンプレッサーを含み、
前記第2のデコンプレッサーは、前記第1の辞書を使用して、前記第2の通信エンティティから受信した、前記所与の通信プロトコルに従った第2のメッセージ内の前記少なくとも一つのシンボル文字列を伸張する、通信システム。
22. The communication system according to claim 21, wherein the first communication entity further comprises:
A second decompressor that works with the first dictionary;
The second decompressor uses the first dictionary to receive the at least one symbol string in a second message received from the second communication entity according to the given communication protocol. Extend the communication system.
請求項22に記載の通信システムであって、前記第2の通信エンティティはさらに、
前記第2の辞書と作用する第2のコンプレッサーを含み、
前記第2のコンプレッサーは、前記第2の辞書を使用して、前記所与の通信プロトコルに従った第2のメッセージ内の所与のシンボル文字列を圧縮する、通信システム。
23. The communication system according to claim 22, wherein the second communication entity further comprises:
A second compressor that works with the second dictionary;
The communication system, wherein the second compressor uses the second dictionary to compress a given symbol string in a second message according to the given communication protocol.
請求項21に記載の通信システムであって、前記第1の通信エンティティはさらに、
所与の通信プロトコルについての少なくとも一つのシンボルに対応するシンボル文字列の少なくとも一つを含む第3の辞書と、
前記第3の辞書と作用する第2のデコンプレッサーとを含み、
前記デコンプレッサーは前記第3の辞書を使用して、前記第2の通信エンティティから受信した、前記所与の通信プロトコルに従った第2のメッセージ内の所与のシンボル文字列を伸張する、通信システム。
22. The communication system according to claim 21, wherein the first communication entity further comprises:
A third dictionary containing at least one of a symbol string corresponding to at least one symbol for a given communication protocol;
A second decompressor operative with said third dictionary,
The decompressor uses the third dictionary to decompress a given symbol string in a second message received from the second communication entity according to the given communication protocol. system.
請求項24に記載の通信システムであって、前記第2の通信エンティティはさらに、
所与の通信プロトコルについての少なくとも一つのシンボルに対応するシンボル文字列の少なくとも一つを含む第4の辞書と、
前記第4の辞書と作用する第2のコンプレッサーを含み、
前記第2のコンプレッサーは、前記第4の辞書を使用して、前記所与の通信プロトコルに従った第2のメッセージ内の所与のシンボル文字列を圧縮するものであり、前記第3の辞書は前記第4の辞書と実質的に等価なものである、通信システム。
25. The communication system according to claim 24, wherein the second communication entity further comprises:
A fourth dictionary containing at least one of a symbol string corresponding to at least one symbol for a given communication protocol;
A second compressor that works with the fourth dictionary;
The second compressor uses the fourth dictionary to compress a given symbol string in a second message according to the given communication protocol, and the third dictionary Is a communication system substantially equivalent to the fourth dictionary.
請求項21に記載の通信システムであって、前記所与の通信プロトコルの前記少なくとも一つのシンボルには、前記所与の通信プロトコルにおける少なくとも一つのフィールド名が含まれる、通信システム。22. The communication system according to claim 21, wherein the at least one symbol of the given communication protocol includes at least one field name in the given communication protocol. 請求項21に記載の通信システムであって、前記第1の辞書内の少なくとも一つのエントリーは、前記所与の通信プロトコルの統計的なデータのフローに基づいている、通信システム。22. The communication system according to claim 21, wherein at least one entry in the first dictionary is based on a statistical data flow of the given communication protocol. 請求項24に記載の通信システムであって、前記第3の辞書内の少なくとも一つのエントリーは、前記所与の通信プロトコルの統計的なデータのフローに基づいている、通信システム。25. The communication system of claim 24, wherein at least one entry in the third dictionary is based on a statistical data flow of the given communication protocol. 請求項21に記載の通信システムであって、前記第1の辞書には静的な辞書が含まれる、通信システム。22. The communication system according to claim 21, wherein the first dictionary includes a static dictionary. 請求項21に記載の通信システムであって、前記第2の辞書には静的な辞書が含まれる、通信システム。22. The communication system according to claim 21, wherein the second dictionary includes a static dictionary. 請求項24に記載の通信システムであって、前記第3の辞書には静的な辞書が含まれる、通信システム。The communication system according to claim 24, wherein the third dictionary includes a static dictionary. 請求項25に記載の通信システムであって、前記第4の辞書には静的な辞書が含まれる、通信システム。26. The communication system according to claim 25, wherein the fourth dictionary includes a static dictionary. 通信プロトコルを使用して圧縮されたメッセージの通信を容易にする方法であって、
第1の通信メッセージ内の少なくとも一つのシンボル文字列を、第1の辞書内の整合したシンボル文字列の少なくとも1つと整合させるステップと、
前記第1の辞書内の整合したシンボル文字列の少なくとも1つの位置を示すリファレンス情報を送信するステップと、
前記第1の辞書内の整合したシンボル文字列の少なくとも1つの位置を示すリファレンス情報を受信するステップと、
前記受信したリファレンス情報を、第2の辞書内の対応するシンボル文字列の少なくとも一つと関連付けるステップと、
前記第2の辞書内の対応するシンボル文字列の少なくとも一つから前記第1の通信メッセージを再構成するステップと
を含み、
前記第2の辞書内の対応するシンボル文字列の少なくとも一つは、実質的に前記第1の辞書内の整合したシンボル文字列の1つと等価である、方法。
A method of facilitating communication of a compressed message using a communication protocol,
Matching at least one symbol string in the first communication message with at least one of the matched symbol strings in the first dictionary;
Transmitting reference information indicating at least one location of the matched symbol string in the first dictionary;
Receiving reference information indicating at least one location of the matched symbol string in the first dictionary;
Associating the received reference information with at least one of the corresponding symbol strings in a second dictionary;
Reconstructing the first communication message from at least one of the corresponding symbol strings in the second dictionary;
The method, wherein at least one of the corresponding symbol strings in the second dictionary is substantially equivalent to one of the matched symbol strings in the first dictionary.
請求項33に記載の方法であって、前記第1の辞書及び前記第2の辞書のうち少なくとも一つには静的な辞書が含まれる、方法。The method of claim 33, wherein at least one of the first dictionary and the second dictionary comprises a static dictionary. 請求項33に記載の方法であって、前記第1の辞書及び前記第2の辞書のうち少なくとも一つには動的な辞書が含まれる、方法。The method of claim 33, wherein at least one of the first dictionary and the second dictionary comprises a dynamic dictionary. 通信プロトコルを使用して圧縮されたメッセージの通信を容易にする方法であって、
通信メッセージ内に含まれている、前記通信プロトコルに対応するシンボル文字列を辞書から探索するステップと、
前記辞書が前記シンボル文字列を含んでいるという肯定的な確認が得られると、前記辞書から前記シンボル文字列に関係する圧縮されたシンボル文字列を抽出するステップと、
前記通信メッセージ内において、前記シンボル文字列を前記圧縮されたシンボル文字列と置換するステップと、
前記通信プロトコルを使用して前記通信メッセージを送信するステップと
を含む方法。
A method of facilitating communication of a compressed message using a communication protocol,
Searching the dictionary for a symbol string corresponding to the communication protocol, which is included in the communication message,
Upon obtaining a positive confirmation that the dictionary contains the symbol string, extracting a compressed symbol string related to the symbol string from the dictionary;
Replacing the symbol string with the compressed symbol string in the communication message;
Transmitting the communication message using the communication protocol.
請求項36に記載の方法であって、前記辞書には静的な辞書が含まれる、方法。37. The method according to claim 36, wherein said dictionary comprises a static dictionary. 請求項36に記載の方法であって、前記辞書には動的な辞書が含まれる、方法。37. The method of claim 36, wherein the dictionary comprises a dynamic dictionary. 通信プロトコルを使用して圧縮されたメッセージの通信を容易にする方法であって、
通信プロトコルを使用して、圧縮されたシンボル文字列を含んだ通信メッセージを受信するステップと、
前記圧縮されたシンボル文字列に関連する圧縮されてない文字列を辞書から抽出するステップと、
前記通信メッセージ内において、前記圧縮されたシンボル文字列を前記圧縮されていないシンボル文字列と置換するステップと
を含み、
前記圧縮されていない文字列は前記通信プロトコルに対応するものである、方法。
A method of facilitating communication of a compressed message using a communication protocol,
Receiving a communication message including the compressed symbol string using a communication protocol;
Extracting from a dictionary an uncompressed string associated with the compressed symbol string;
Replacing the compressed symbol string with the uncompressed symbol string in the communication message;
The method wherein the uncompressed string corresponds to the communication protocol.
請求項39に記載の方法であって、前記辞書には静的な辞書が含まれる、方法。40. The method of claim 39, wherein the dictionary comprises a static dictionary. 請求項39に記載の方法であって、前記辞書には動的な辞書が含まれる、方法。40. The method of claim 39, wherein the dictionary comprises a dynamic dictionary.
JP2002543788A 2000-11-16 2001-11-15 Binary compression method using static information knowledge Expired - Lifetime JP3958211B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24992300P 2000-11-16 2000-11-16
US09/814,406 US6985965B2 (en) 2000-11-16 2001-03-21 Static information knowledge used with binary compression methods
PCT/SE2001/002549 WO2002041497A2 (en) 2000-11-16 2001-11-15 Static information knowledge used with binary compression methods

Publications (3)

Publication Number Publication Date
JP2004514366A true JP2004514366A (en) 2004-05-13
JP2004514366A5 JP2004514366A5 (en) 2005-12-22
JP3958211B2 JP3958211B2 (en) 2007-08-15

Family

ID=26940466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002543788A Expired - Lifetime JP3958211B2 (en) 2000-11-16 2001-11-15 Binary compression method using static information knowledge

Country Status (7)

Country Link
EP (1) EP1334557A2 (en)
JP (1) JP3958211B2 (en)
CN (1) CN1316749C (en)
AU (1) AU2002215287A1 (en)
CA (1) CA2428788C (en)
TW (1) TW543311B (en)
WO (1) WO2002041497A2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009077141A (en) * 2007-09-20 2009-04-09 Nec Corp Data communication system, terminal, catalog server, data communication method and communication program
JP2010524372A (en) * 2007-04-13 2010-07-15 トムソン ライセンシング Communication protocol and method for deploying the communication protocol and operating the network
JP2010258787A (en) * 2009-04-24 2010-11-11 Mitsubishi Electric Corp Signaling compression device, signaling elongation device, and signaling compression and elongation device
JP2015509293A (en) * 2011-12-02 2015-03-26 キヤノン株式会社 Method and device for encoding and decoding messages
JP2015534770A (en) * 2012-09-26 2015-12-03 クアルコム,インコーポレイテッド Method and apparatus for memory-based packet compression encoding
EP3051430A1 (en) 2015-01-30 2016-08-03 Fujitsu Limited Encoding program, decompression program, compression method, decompression method, compression device and decompresssion device
US9479195B2 (en) 2015-01-30 2016-10-25 Fujitsu Limited Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
EP3154202A1 (en) 2015-10-05 2017-04-12 Fujitsu Limited Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
JP2019083477A (en) * 2017-10-31 2019-05-30 富士通株式会社 Data generation program, data generation method and information processing device

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176186B2 (en) 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US7120666B2 (en) * 2002-10-30 2006-10-10 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
JP3863130B2 (en) * 2003-08-18 2006-12-27 株式会社コナミデジタルエンタテインメント COMMUNICATION SYSTEM, SERVICE METHOD, TERMINAL METHOD, AND PROGRAM
TWI386069B (en) * 2007-08-10 2013-02-11 Univ Nat Cheng Kung System and method for encoding a data set, and program product
CN102857230B (en) * 2012-09-21 2015-05-20 中国科学院武汉物理与数学研究所 High-speed program controller on basis of lossless compression data transmission technology
CN104283777B (en) * 2013-07-03 2018-08-21 华为技术有限公司 The method and apparatus of message compression
US20150121111A1 (en) * 2013-10-24 2015-04-30 Qualcomm Incorporated System and method for providing multi-user power saving codebook optmization
DE102016108403A1 (en) * 2016-05-06 2017-11-09 Haroon van Rikxoort Method for data transmission

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5455576A (en) * 1992-12-23 1995-10-03 Hewlett Packard Corporation Apparatus and methods for Lempel Ziv data compression with improved management of multiple dictionaries in content addressable memory
GB9314516D0 (en) * 1993-07-13 1993-08-25 Philips Electronics Uk Ltd Digital communications system and a reiceiving apparatus for use in the system
JP3277792B2 (en) * 1996-01-31 2002-04-22 株式会社日立製作所 Data compression method and apparatus
CA2260289A1 (en) * 1998-01-29 1999-07-29 Steven Michael Bellovin A method of improving data compression over unreliable underlying networks
KR100277061B1 (en) * 1998-11-04 2001-01-15 윤종용 Short message compression device of mobile communication terminal and corresponding short message transmission method

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524372A (en) * 2007-04-13 2010-07-15 トムソン ライセンシング Communication protocol and method for deploying the communication protocol and operating the network
US8364835B2 (en) 2007-04-13 2013-01-29 Gvbb Holdings S.A.R.L. Communication protocol, developing and network operating methods therefore
JP2009077141A (en) * 2007-09-20 2009-04-09 Nec Corp Data communication system, terminal, catalog server, data communication method and communication program
JP2010258787A (en) * 2009-04-24 2010-11-11 Mitsubishi Electric Corp Signaling compression device, signaling elongation device, and signaling compression and elongation device
JP2016201847A (en) * 2011-12-02 2016-12-01 キヤノン株式会社 Communication apparatus, its control method and program
JP2015509293A (en) * 2011-12-02 2015-03-26 キヤノン株式会社 Method and device for encoding and decoding messages
JP2015534770A (en) * 2012-09-26 2015-12-03 クアルコム,インコーポレイテッド Method and apparatus for memory-based packet compression encoding
EP3051430A1 (en) 2015-01-30 2016-08-03 Fujitsu Limited Encoding program, decompression program, compression method, decompression method, compression device and decompresssion device
US9479195B2 (en) 2015-01-30 2016-10-25 Fujitsu Limited Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
US9509334B2 (en) 2015-01-30 2016-11-29 Fujitsu Limited Non-transitory computer-readable recording medium, compression method, decompression method, compression device and decompression device
KR20160094315A (en) 2015-01-30 2016-08-09 후지쯔 가부시끼가이샤 Non-transitory computer-readable recording medium, compression method, decompression method, compression device and decompression device
EP3154202A1 (en) 2015-10-05 2017-04-12 Fujitsu Limited Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
US9882582B2 (en) 2015-10-05 2018-01-30 Fujitsu Limited Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device
JP2019083477A (en) * 2017-10-31 2019-05-30 富士通株式会社 Data generation program, data generation method and information processing device

Also Published As

Publication number Publication date
CA2428788C (en) 2010-09-14
WO2002041497A2 (en) 2002-05-23
CA2428788A1 (en) 2002-05-23
JP3958211B2 (en) 2007-08-15
TW543311B (en) 2003-07-21
CN1316749C (en) 2007-05-16
CN1486536A (en) 2004-03-31
AU2002215287A1 (en) 2002-05-27
WO2002041497A3 (en) 2002-08-29
EP1334557A2 (en) 2003-08-13

Similar Documents

Publication Publication Date Title
US6985965B2 (en) Static information knowledge used with binary compression methods
US6883035B2 (en) System and method for communicating with temporary compression tables
US6950445B2 (en) Communication system and method for shared context compression
EP1376878B1 (en) Protocol message compression in a wireless communications system
US6963587B2 (en) Communication system and method utilizing request-reply communication patterns for data compression
JP3958211B2 (en) Binary compression method using static information knowledge
AU2001293963B2 (en) A method of processing data packets
US7693492B2 (en) Method and system for providing a context for message compression
AU2001293963A1 (en) A method of processing data packets
JP2004531993A (en) Apparatus and method for performing text-based compression using cache and blanking techniques
WO2002041498A2 (en) Communication system and method utilizing request-reply communication patterns for data compression
Forte et al. Template-based signaling compression for push-to-talk over cellular (PoC)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041028

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070509

R150 Certificate of patent or registration of utility model

Ref document number: 3958211

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term