JP2004528737A - 構成要素発生頻度に基づく圧縮形式でデータ構造を送信および受信するための方法および装置 - Google Patents
構成要素発生頻度に基づく圧縮形式でデータ構造を送信および受信するための方法および装置 Download PDFInfo
- Publication number
- JP2004528737A JP2004528737A JP2002541798A JP2002541798A JP2004528737A JP 2004528737 A JP2004528737 A JP 2004528737A JP 2002541798 A JP2002541798 A JP 2002541798A JP 2002541798 A JP2002541798 A JP 2002541798A JP 2004528737 A JP2004528737 A JP 2004528737A
- Authority
- JP
- Japan
- Prior art keywords
- data structure
- cookie
- unique
- components
- indication
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
(発明の背景)
1.発明の分野
本発明は、データ処理の分野に関する。より詳細には、本発明は、帯域幅縮小形式でデータ構造を送信することおよび受信することに関する。
【0002】
2.背景情報
近年、インターネットおよびウェブ・ベースのアプリケーションの発達により、拡張可能マークアップ言語(XML)データ構造などの半構造化されたデータ構造は、データの送信と記憶のどちらに対しても業界標準機構となった。半構造化データ構造は、その拡張性、透過性、プラットフォーム独立性、および扱いやすさにより、他の従来型の固定かつ/または特定用途向けデータ構造よりも好まれる。これらのデータ構造により、別個に開発された2つのソフトウェア・プログラムは相互に通信できるようになる。しかし、これらの半構造化データ構造の伝送は少なくとも2つの欠点、すなわちa)転送されるデータ構造のサイズと、b)(特に受信側での)関連する処理コストである。
【0003】
サイズ:XMLデータ構造などの半構造化データ構造は、他の従来型ぬ固定された特定用途向けデータ構造と比較すると、一般に非常に冗長である。多くのタグ名と属性名を何度も繰り返さなければならない。例えば、同じデータをXMLで表わすには100〜300%のより多くのバイトが必要になる。さらに、多くの二重属性値があるのが一般的である。図4aに示す例“従業員”XMLデータ構造を検討すると、タグ名“従業員”と属性名“従業員ID”および“タイトル”とが何度も繰り返されている。
【0004】
処理コスト:XMLなどの半構造化データ構造は、構文解析するのに非常に費用が掛かる。通常、データ発信者はいくつかのストリングを連結したりそれらをストリームに送り込んだりしてデータ構造を直接的に構築するか、またはオブジェクト階層を構築し、次いでそれをストリングまたはストリームに直列化する。次いで、レシーバ・コードは、受信側で文字をトークン化するための空間を順次探すためにこのデータ・ストリング/ストリームをスキャンし、各タグ名と属性とを既知のキーワードと比較しなければならない。さらに、このような構文解析には、特に各トークンが別個のストリング・オブジェクトとして記憶されている場合には大量のメモリーが必要となる。
【0005】
これらの欠点は、特にCPUの能力が限られており、データ伝送速度の遅い小さいメモリを有する(無線携帯電話およびパームサイズのパーソナル・デジタル・アシスタントなどの)小さなデバイスの場合には問題である。日本電信電話株式会社−DoCoMoのiModeなどの用途によっては、その用途の事業者がパケット・ベースでサービスに課金するので、運営費用が非常に高くなる場合がある。
【0006】
したがって、このようなデータ構造を伝送するためのより効果的な手法が望まれる。
【0007】
(発明の概要)
本発明の第1の態様によれば、データ・トランスミッタが、データ構造の構成要素を受信し、そのデータ構造内の各一意の構成要素の発生頻度を決定し、クッキー表示を少なくとも一部はその一意の構成要素の発生頻度に基づいて一意の構成要素のそれぞれに割り当て、事実上等価の形式のデータ構造のレシーバが発生頻度に基づくクッキー表示を使用してデータ構造を再構成することができる事実上等価の形式でデータ構造を暗黙的に送信するように設計されている。
【0008】
本発明の別の態様によれば、データ・レシーバは、事前決定された方法で送信されたデータ構造の一意の構成要素を受信し、事前決定された送信方法の下でその方法に従って受信された一意の構成要素に対応するクッキー表示を推測し、表示形式でデータ構造の構成要素を受信するように設計されている。一実施態様において、データ・レシーバは、表示形式で受信されたデータ構造の構成要素を、推測されたクッキー表示に基づいてさらに再構成するように設計されている。
【0009】
一実施態様のデータ構造はXMLデータ構造である。構成要素には、タグ名、属性名および属性値が含まれる。
【0010】
一実施態様におけるデジタル・デバイスにはデータ・トランスミッタが設けられる。別の実施態様におけるデジタル・デバイスにはデータ・レシーバが設けられる。さらに別の実施態様では、デジタル・デバイスはその両方を備えている。
【0011】
一実施態様におけるデジタル・デバイスは無線携帯電話である。別の実施態様のデジタル・デバイスは、パームサイズのパーソナル・デジタル・アシスタント、ノートブックサイズのコンピュータ、デスクトップ・コンピュータ、セットトップボックスまたはサーバである。
【0012】
本発明を、同じ参照番号が同様の要素を示す添付の図面に示す、限定的ではない例示的実施形態によって説明する。
【0013】
(発明の詳細な説明)
以下の説明では、本発明の様々な形態を説明する。しかし、本発明が、本発明の一部だけまたはすべての形態によって実施することができることが当業者には明らかになるだろう。説明の目的で、本発明の完全な理解を与えるために特定の数、材料および構成を述べる。しかし、本発明は特定の詳細なしに実施することができることも当業者には明らかになるだろう。他の場合には、本発明が不明瞭にならないように、よく知られた特徴は省略または簡約化する。
【0014】
説明の一部を、データ構造、タグ名、属性名などの、当業者が別の当業者に自分の作業内容を伝達するために一般に使用する用語を使用して提示する。説明の一部を、コンピュータ・デバイスによって実施される動作に関しては、受信すること、決定すること、送信することなどの用語を使用することによって提示する。当業者にはよく理解されるように、それらの数量および動作は、デジタル・システムの機械的構成部品および電気的構成部品によって記憶され、転送され、結合され、あるいは他の操作を受けることが可能な電気信号、磁気信号、光信号の形態をとる。デジタル・システムという用語は、スタンドアロンの、付加的な、または埋め込まれた、汎用ならびに専用のコンピュータ・マシン、コンピュータ・システムなどを含むものとする。
【0015】
本発明を理解するために最も有用な方法で様々な動作を説明するが、この説明の順序は、動作が順序に依存することを必要とすることを意味するものとして理解されるべきではない。さらに、“一実施形態において”という語句が繰り返し使用されるが、この語句は同じ実施形態を意味する場合もあるが、必ずしもそれを意味するものではない。
【0016】
(概要)
一実施形態による本発明の概要を示すブロック図を示す図1を次に参照する。図示するように、本発明の一形態によれば、データ・センダー104などのデータ送信アプリケーションを支援し、データ構造106として表わされるXMLデータ構造などの半構造化されたデータ構造をより高効率で簡潔に、かつ帯域幅を縮小した方法で送信するために、データ・センダー・システム102には本発明のデータ・トランスミッタ108が設けられている。以下でより詳細に説明するように、データ・トランスミッタ108は、データ構造106の“トークン”、すなわちデータ要素の発生頻度に基づくクッキー表示を代わりに送信することによって、データ構造106の送信を所望の方法で遂行する。例示された実施形態の場合、ディクショナリ110とアレイ112を使用して、発生頻度に基づくクッキー表示の新規の送信が実施される。以下で詳細に説明するように、“トークン”を符号化するための発生頻度に基づくクッキー表示を記憶するためにディクショナリ110が使用され、アレイ112は符号化された“トークン”、すなわちそれらのクッキー表示を記憶するために使用される。
【0017】
本発明の別の形態によれば、前述の効率よい方法で送信されたデータ構造106を受信する際に最終的なデータ・レシピエント118を支援するために、データ・レシーバ・システム114には、補完的に装備されるデータ・レシピエント116が設けられている。例示される実施形態の場合、データ・レシーバ116は、以下でより詳細に説明するようにデータ・トランスミッタ108によって提供されるディクショナリ110を使用する支援を遂行する。
【0018】
センダー・システム102とレシーバ・システム114へのデータ・トランスミッタ108とデータ・レシーバ116のそれぞれの準備以外には、センダー・システム102とレシーバ・システム114は、他の場合に、限定はしないが、無線携帯電話、パームサイズのパーソナル・デジタル・アシスタント、ノートブックサイズのコンピュータ、デスクトップ・コンピュータ、セットトップボックス、サーバなどを含めて当技術分野で知られている広範囲のデジタル・デバイスを表わすことを意図している。勿論、センダー・システム102とレシーバ・システム114には、それぞれにデータ・レシーバ116とデータ・トランスミッタ108もさらに設けられる場合があり、したがってこれらのシステムはある時点ではデータ・センダーの役割で、またある時点ではデータ・レシーバの役割で機能することが可能になる。これらの実施形態の場合、勿論、データ・トランスミッタ108とデータ・レシーバ116は、本発明の送信機能と受信機能の両方を有する結合されたユニットまたは結合された構成部品、すなわちデータ・トランシーバとすることができる。一方、別の実施形態において、データ・センダー104とデータ・トランスミッタ108は異なるシステムとして配置することができる。同様に、データ・レシーバ116とデータ・レシピエント118も、異なるシステムとして配置することができる。
【0019】
さらに、センダー・システム102とレシーバ・システム114は、無線または有線ベースの通信インターフェースの任意の1つを介して、通信プロトコルの任意の1つを使用して相互に結合することができる。例えば、通信インターフェースは、TCP/IP通信プロトコルを使用して、GSM、CDMAまたはWCDMA信号プロトコルに従って信号送受する無線媒体であってもよい。あるいは、通信は、ここでもTCP/IP通信プロトコルを使用し、イーサネット(登録商標)信号プロトコルに従って信号送受する有線ベースの媒体であってもよい。一般に、当業者が理解するように、本発明は、任意の通信媒体上で任意の通信/信号プロトコルによって実施することができる。
【0020】
同様に、理解しやすいように、本発明はXMLデータ構造を参照しながら説明し、例をXMLによって表現するが、本発明が、限定はしないがHTMLまたはWML符号化内容を含めて他のデータ構造上でも実施可能なことを当業者ならば理解するだろう。
【0021】
(方法)
一実施形態に従って本発明の新規のデータ送信および受信方法をさらに詳細に例示する2つのブロック図を示す図2a〜2bを次に参照する。図2aに示すように、ブロック202で、データ・センダー104は、従来技術と同様に“透過的に”平文形式でデータ構造の構成要素106(XML構造の場合に、タグ名、属性名および属性値など)を送信する。すなわち、レガシー・データ・センダー104は、その動作にいかなる調製を行うことも必要とせず、また本発明実施を認識することを必要とせずに、従来技術と同じようにデータを送信し続けることができる。しかし、代わりの実施形態では、本発明を認識するデータ・センダー104は、データ構造106のデータ要素をトークン形式で送信することもできる。本発明によれば、データ・トランスミッタ108によってデータ要素が受信され、平文テキスト形式で受信された場合は、トークン形式に変換される。データ・トランスミッタ108は、当技術分野で知られている多数の構文解析技法の1つを使用して、受信したデータ構造106を構文解析してそのデータ要素を“トークン化”する。図4aに1例として示した“従業員”XMLデータ構造400の例を使用すると、例示的構造400の構成要素、すなわち“<”、“従業員”、“>”などがデータ・センダー104によって“透過的に”送信されるので、データ・トランスミッタ108は図4bに例示するように、構成要素を“トークン”として受信する。
【0022】
図2a〜2bをもう一度参照すると、ブロック204で、データ・トランスミッタ108はクッキー表示によって“トークン”を符号化する。より重要なのは、クッキー表示は機能的にデータ構造106において一意の“トークン”の発生頻度に依存するものである。図4aに1例として示した“従業員”XMLデータ構造400の例を再び使用すると、構成要素は図4fに例示するように、図4eの発生頻度に基づくクッキー表示を使用して符号化される。例えば、トークン“>”がデータ構造400の例のトークン中で最も頻繁に発生するトークン(8回)の場合にはトークン“>”はクッキーの数値表示“1”によって符号化され、トークン“=”が例のデータ構造400のトークン中で次に最も頻繁に発生するトークン(6回)の場合にはトークン“=”はクッキーの数値表示“2”によって符号化され、というように行われる。[結合は任意に中断される。]一実施形態において、以下で詳細に説明される符号化は多段階プロセスである。
【0023】
したがって、本発明の新規の発生頻度に基づく符号化方式のこの実施形態の下で、最も頻繁に発生するトークンは、(送信されているデータ構造に対して使用される他のクッキーの数値表示に比べて)最低の数値を有するクッキーの数値表示によって符号化され、次に頻繁に発生するトークンは、次に低い数値を有するクッキーの数値表示によって符号化され、というように行われる。
【0024】
この方式の下で、第1の最も頻繁に発生する127の一意のトークンを、各トークンに1バイトの帯域幅を使用して、すなわち1バイトのサイズを有する1つのデータとして各トークンによって送信することができ、次の32,640の最も頻繁に発生する一意のトークンを、各トークンに2バイトの帯域幅を使用して、すなわち2バイトのサイズを有する1つのデータとして各トークンを送信することができることを当業者なら理解するだろう。2つの形式を、例えば最も有意なビットを使用して区別することができる。その結果、より低頻度に発生するトークンが2バイトの符号化によって送信される一方で、より頻繁に発生するトークンが1バイトの符号化によって送信されるので、必要とされる帯域幅を縮小しながら、データ構造を有利に送信することができる。
【0025】
もう一度図2a〜2bを参照すると、ブロック206で、データ・トランスミッタ108は一意の“トークン”を送信し、それらのクッキー表示をデータ・レシーバ116に“伝達”する。一実施形態において、“トークン”のクッキー表示は暗黙的に伝達される。すなわち、クッキー表示は明示的に送信されないということである。その代わり、一意の“トークン”が事前決定された方法で送信され、データ・レシーバ116はこのクッキー表示を、一意の“トークン”が事前決定された方法の下で送信される方法から推測する。ここでもまた、図4eに示す例の符号化を参照すると、トークン“>”、“従業員”などはそれらの発生頻度の順序で送信され、それに従って、それらのクッキー表示、すなわち“1”、“2”などをそのトークンの送信位置から推測することができる。
【0026】
その後、ブロック208で、データ・トランスミッタ108は“トークン”をそれらの符号化された表示形式で送信する。一実施形態において、データ・トランスミッタ108はトークン(それらの符号化を暗黙的に伝達する)とその符号化された表示を(以下でより完全に説明する)1つの連続したストリングまたはストリームとして送信する。ブロック210で、一意のトークンのリスト(およびそれらの符号化)と符号化された表示の受信の際に、データ・レシーバ116は元のデータ構造を再構成する。すなわち、最終的なデータ・レシピエント118に対して受信した符号化表示に基づいて元のデータ要素と一意のトークン(およびそれらの対応する符号化表示)を再生成する。その結果、送信されたデータ構造を受諾するために受信側に必要とされる処理量も有意に低減される。さらに、そのトークンを元のデータ要素に再マップして戻すことにより、この方法をレガシー・データ・レシーバに対して透過的とすることができる。しかし、代わりの実施形態において、データ・レシーバ116を認識するデータ・レシピエント118は本発明をさらに利用し、受信したデータ構造を記憶するために使用されるそのストレージを、元のデータ要素を再構成せずに、データ・レシーバ116に受信したデータ構造をトークン形式で提供させることによって低減することができる。
【0027】
図2bに、ブロック204の符号化の動作を一実施形態に従ってより詳細に示す。図示するように、ブロック222および224で、データ・トランスミッタ108は、トークンが受信され/識別される際に初期の符号化によってトークンをまず符号化し、その受信され/識別されたトークンをそれらの表示形式で記憶する。さらに、データ・トランスミッタ108は、遭遇した一意のトークン、その初期符号化、およびより詳細には一意のトークンの発生頻度のそれぞれを追跡する。例示する実施形態の場合、初期の符号化は単に一意のトークンに遭遇した順序であるにすぎない。例えば、“従業員”という図4aのXMLデータ構造に関して、使用される初期符号化は図4cに例示されている。すなわち、トークン“<”は、最初に遭遇されるのでクッキーの数値表示“0”によって符号化され、トークン“従業員”は、次に遭遇されるのでがクッキー数値表示“1”によって符号化され、といういうように行われる。したがって、例の“従業員”XMLデータ構造400を、図4dに示すように、アレイ430a(図1のアレイ112に相当する)記憶することができる。
【0028】
したがって、すべてのトークンすなわち送信されているそのデータ構造のデータ要素を受信する際、データ構造の一意のトークンの発生頻度が確立される。例えばXMLデータ構造400は、図4cに示すように、トークン“<”は4回発生し、トークン“従業員”は1回発生し、トークン“>”は8回(最多頻度)発生するなどのように確立されるであろう。
【0029】
その後、ブロック226および228で、データ・トランスミッタ108は、初期のクッキー表示を機能的に一意のトークンの発生頻度に依存する置換クッキー表示に置き換え、それらの表示形式に記憶された“トークン”が新しい表示に再マッピングされる。例えば、置換クッキー表示“1”は、最も頻繁に発生するトークン“>”にクッキーの初期表示“2”を置換するように割り当てられ、置換クッキー表示“2”は、2番目に頻繁に発生するトークン“=”にクッキーの初期表示“6”を置換するように割り当てられる、というように行われる。それに対応して、それらの初期表示に記憶されたトークン(図4d)は、置換表示(図4f)に再マップされる。例えば再マッピングは、当技術分野で知られている再マッピング・ベクトル(図示せず)の支援により実施することができる。
【0030】
したがって、本発明の符号化または圧縮演算を、比較的低容量のメモリと低い処理要件を有する比較的単純明瞭な方法で実施することができることが分かる。したがって、送信用のデータ要素を(所望の帯域幅消費の低減を達成するために)“圧縮する”ために送信側に要求されるメモリ容量と処理量も、本発明の下で、“Zip”などの当技術分野で知られれている他の圧縮技術よりも有利に縮小される。
【0031】
(データ構造)
図3a〜3cに、一実施形態に従って本発明を実施するために使用するのに適したいくつかの例示的データ構造を示す。図3aに、少なくとも3つの列302〜306を有する、(前述の実施形態の2つのステップに対する初期ならびに最終の)クッキー表示、表わされたトークン、およびそれらの発生頻度を記憶するためにデータ・トランスミッタ108によって使用するのに適した例示的な表300を示す。列306のない例示的な表300の簡略版を、クッキー表示および表示された一意のトークンを記憶するためにデータ・レシーバ116によって使用することができる。図3bに、送信されているデータ構造のトークンの符号化された表示(c0、c1、c2など)を記憶するためにデータ・トランスミッタ108によって使用するために適した番号記憶スロットを有する例示的アレイ310を示す。図3cに、2つのセクション322と326とを有し、区切り記号324a〜324bによって分離されており、一意のトークン(およびそれらの符号化する表示を暗黙的に伝達する)と、送信されているデータ構造のトークンの符号化された表示とを送信するためにデータ・トランスミッタ108によって使用されるのに適した例示のストリングまたはストリーム320を示す。例示した実施形態の場合、第1のセクション322は一意のトークンを送信するために(また、それらの符号化された表示を暗黙的に伝達するために)使用される。各一意のトークンの前にはそのトークンのサイズが先行する。例えば、トークン“<”の前にはトークン・サイズ値“0×01”が先行し、トークン“</”の前にはトークン・サイズ“0×02”が先行し、というように(図4gに例示するように)行われる。そのトークン“<”に対する復号化表示は、そのトークンが第1の送信位置で送信されることによって推定されるように“1”であり、トークン“</”に対する符号化の表示は、そのトークンが第3の送信位置に送信されることによって推定されるように“3”である、というように行われる。図3cを再び参照すると、図示するように、送信されているデータ構造のトークンの符号化された表示を送信するために第2のセクション326が使用される。
【0032】
(例示的デジタル・デバイス)
図5に、一実施形態に従って本発明を実施するために使用するのに適した例のコンピュータ・デバイスを示す。図示するように、コンピュータ・デバイス500には、汎用プロセッサ502、デジタル信号プロセッサ(DSP)504、およびシステム・メモリ506が含まれる。さらに、デバイスまたはシステム500には、(キーボード、カーソル制御などの入出力デバイスとインターフェースするための)GPIO 508と、(ネットワーク・インターフェース・カード、モデム、無線トランシーバなどの)通信インターフェース510が含まれる。これらの要素は、1つまたは複数のバスを表わすシステム・バス512を介して相互に結合される。複数のバスがある場合、これらは1つまたは複数のブリッジ(図示せず)によってブリッジされる。より重要なのは、デバイスまたはシステム500に、前述のより効率よい構成要素発生頻度に基づく圧縮形式で、データ構造を送受信するために本発明の教示に組み込まれるデータ・トランシーバ514が設けられる。
【0033】
プロセッサの数とタイプ、メモリのサイズ、ならびに使用される他の要素の数は、通常、例のコンピュータ・デバイス500の意図される用途に基づいている。例えば、無線携帯電話またはパームサイズのパーソナル・デジタル・アシスタントとして使用される場合、比較的低性能のプロセッサと低容量のメモリが使用されるであろう。一方、ノートブック・コンピュータまたはセットトップボックスとして使用される場合、比較的高性能のプロセッサとより容量の大きなメモリが使用され、また大量記憶デバイスが追加的に使用される可能性もある。デスクトップ・コンピュータまたはサーバとして使用される場合、複数の高性能プロセッサが使用される可能性があるが、代わりにDSP 504を使用しない場合もある。
【0034】
それらの要素のそれぞれは、当技術分野で知られているその従来型機能を実施する。具体的には、プログラミング命令が実施するデータ・トランシーバ514のコピーを記憶するためにシステム・メモリ506が使用される。本発明の送信および受信の教示に組み込まれた新しいデータ・トランシーバ514をホストするためのその使い方を除けば、これらの要素502〜512の構成は知られており、したがって、これ以上は説明しない。
【0035】
(結論および結び)
以上、構成要素発生頻度に基づく圧縮された形式でデータ構造を送受信するための方法および装置を説明した。前述のように、本発明は、送信されるために必要とされるバイト数ならびにセンダー・システムおよびレシーバ・システムに必要とされるメモリ容量と処理量を有意に低減するものである。
【0036】
前記例示の実施形態に関して本発明を説明したが、本発明が説明した実施形態に限定されるものでないことを当業者ならば理解するだろう。本発明は、修正形態および変形形態によって頭書の特許請求の範囲の趣旨および範囲内で実施することができる。したがって、この説明は、本発明を限定するものではなく、例示知るものとして解釈されたい。
【図面の簡単な説明】
【図1】
一実施形態による本発明の概観図である。
【図2a】、
【図2b】
一実施形態による本発明の方法の概要を例示する図である。
【図3a】〜
【図3c】
一実施形態に従い、本発明を実施する用途に適した例示的データ構造を例示する図である。
【図4a】〜
【図4g】
XMLデータ構造の一例を送信するための本発明の一応用例を示す図である。
【図5】
一実施形態に従い、本発明を実施するのに適した例示的コンピュータ・デバイスのアーキテクチャの概要を示す図である。
Claims (26)
- データ構造の複数の構成要素を受信することと、
前記データ構造内の各一意の構成要素の発生頻度を決定することと、
クッキー表示を、少なくとも一部は前記一意の構成要素の発生頻度に基づいて、前記一意の構成要素のそれぞれに割り当てることと、
前記データ構造を事実上等価の形式で暗黙的に送信することであって、前記事実上等価の形式の前記データ構造のレシーバが、前記発生頻度に基づくクッキー表示を使用してデータ構造を再構成することができる事実上等価の形式で暗黙的に送信すること
を含む方法。 - 前記決定することと割り当てることが、構成要素が受信された際に、初期クッキー表示を各一意の構成要素に割り当てること、その一意の構成要素の発生頻度を追跡すること、およびデータ構造のすべての構成要素を受信したら直ちに一意の構成要素の発生頻度に基づいてその一意の構成要素のそれぞれに対する最後のクッキー表示を再割り当てすることを含むことを特徴とする請求項1に記載の方法。
- 前記方法が、前記一意の構成要素の発生頻度に基づいて前記一意の構成要素の順序付けを含むことを特徴とする請求項2に記載の方法。
- 前記方法が、前記データ構造が受信された際に、前記初期クッキー表示を使用して、そのデータ構造の前記構成要素を記憶することと、その記憶された初期クッキー表示を最後のクッキー表示とその後に置換することをさらに含み、前記送信することが、前記最後のクッキー表示を使用して、前記データ構造の構成要素を送信することを含むことを特徴とする請求項2に記載の方法。
- 前記送信することが、レシーバに前記一意の構成要素の相応する最後のクッキー表示を推測できるようにするために、前記一意の構成要素のリストをそれらの発生頻度の順序で送信することをさらに含むことを特徴とする請求項4に記載の方法。
- 128の最も頻繁に発生した一意の構成要素のクッキー表示がそれぞれ1バイトのサイズを有し、次の32,640の最も頻繁に発生した一意の構成要素のクッキー表示がそれぞれ2バイトのサイズを有するように、クッキー表示が数値の形式であることを特徴とする請求項1に記載の方法。
- 前記データ構造がXMLデータ構造であり、前記構成要素がタグ名、属性名、および属性値を含むことを特徴とする請求項1に記載の方法。
- 事前決定された方法で送信されたデータ構造の複数の一意の構成要素を受信することと、
受信した一意の構成要素に対する複数の対応するクッキー表示を、送信の事前決定された方法の下でそれらの送信方法に従って推測することと、
データ構造の構成要素を代表的な形式で受信することを含む方法。 - 前記推測することが、複数の対応するクッキー表示を、一意の構成要素が送信される順序に基づいて推測することを含むことを特徴とする請求項8に記載の方法。
- 前記推測することが、送信された最初の128の一意の構成要素のそれぞれに対する一意の1バイトの数値表示と、送信された次の32、460の一意の構成要素のそれぞれに対する一意の2バイトの表示とを推測することを含むことを特徴とする請求項9に記載の方法。
- 前記方法が、前記代表的な形式で受信された推測されるクッキー表示に基づいて、データ構造の構成要素を再構成することをさらに含む請求項8に記載の方法。
- 前記データ構造がXMLデータ構造であり、前記構成要素がタグ名、属性名、属性値を含むことを特徴とする請求項8に記載の方法。
- データ構造の複数の構成要素を受信し、前記データ構造内の各一意の構成要素の発生頻度を決定し、クッキー表示を少なくとも一部は前記一意の構成要素の発生頻度に基づいて、前記一意の構成要素に割り当て、前記データ構造を事実上等価の形式で暗黙的に送信し、前記送信が、前記事実上等価の形式にある前記データ構造のレシーバが前記発生頻度に基づくクッキー表示を使用してデータ構造を再構成することができるように送信するように設計された複数のプログラミング命令を記憶している記憶媒体と、
前記プログラミング命令を実行するために記憶媒体に結合された少なくとも1つのプロセッサとを含む装置。 - 前記構成要素が受信された際に、初期クッキー表示を各一意の構成要素に割り当てること、その一意の構成要素の発生頻度を追跡すること、およびデータ構造のすべての構成要素を受信したら直ちにその一意の構成要素の発生頻度に基づいて一意の構成要素のそれぞれに対する最後のクッキー表示を再割り当てすることによって、前記決定することと割り当てることを実行するように前記プログラミング命令が設計されることを特徴とする請求項13に記載の装置。
- 前記プログラミング命令が、前記一意の構成要素をそれらの発生頻度に基づいて順序付けるようにさらに設計されていることを特徴とする請求項14に記載の装置。
- 前記プログラミング命令が、前記データ構造の構成要素をそれらが受信された際に、前記初期クッキー表示を使用して記憶し、また、その後に前記記憶されている初期クッキー表示を最後のクッキーと置換するようにさらに設計されており、前記プログラミング命令が、前記データ構造の構成要素を、前記最後のクッキー表示を使用して送信することによって送信を実行することを特徴とする請求項14に記載の装置。
- 前記プログラミング命令が、前記レシーバに前記一意の構成要素の対応する最後のクッキー表示を推測できるようにするために、前記一意の構成要素のリストをそれらの発生頻度の順序に送信するようにさらに設計されることを特徴とする請求項16に記載の装置。
- 128の最も頻繁に発生した一意の構成要素のクッキー表示はそれぞれ1バイトのサイズを有し、次の32,640の最も頻繁に発生する一意の構成要素はそれぞれ2バイトのサイズを有し、前記プログラミング命令がクッキー表示を数値形式で使用するように設計されることを特徴とする請求項13に記載の装置。
- 前記プログラミング命令が、XMLデータ構造に関して前記受信、決定、割り当ておよび送信を実施するように設計される、前記構成要素がタグ名、属性名、および属性値を含むことを特徴とする請求項13に記載の装置。
- 前記装置が無線携帯電話、パームサイズのパーソナル・デジタル・アシスタント、ノートブックサイズのコンピュータ、デスクトップ・コンピュータ、セットトップボックスおよびサーバの選択された1つであることを特徴とする請求項13に記載の装置。
- データ構造の複数の一意の構成要素を事前決定された方法で受信するように設計された複数のプログラミング命令を記憶している記憶媒体であって、前記受信された一意の構成要素に対する複数の対応するクッキー表示を、前記事前定義された送信方法の下でそれらの送信の方法に従って推測し、前記データ構造の構成要素を代表的な形式で受信する記憶媒体と、
前記プログラミング命令を実行するために、前記記憶媒体に結合されている少なくとも1つのプロセッサとを含む装置。 - 前記プログラミング命令が、複数の対応するクッキー表示を、前記一意の構成要素が送信される順序に基づいて、推測するように設計されていることを特徴とする請求項21に記載の装置。
- 前記プログラミング命令が、送信された最初の128の一意の構成要素のそれぞれに対する一意の1バイトの数値表示と、送信された次の32、460の一意の構成要素のそれぞれに対する一意の2バイトの表示とを推測するように設計されていることを特徴とする請求項22に記載の装置。
- 前記プログラミング命令が、前記表示形式で受信された、前記データ構造の構成要素を、前記推測されたクッキー表示に基づいて再構成するにようにさらに設計されることを特徴とする請求項21に記載の装置。
- 前記プログラミング命令が、XMLデータ構造に関して、前記受信、推測、および再構成を実施するように設計され、前記構成要素がタグ名、属性名および属性値を含むことを特徴とする請求項21に記載の装置。
- 前記装置が、無線携帯電話、パームサイズのパーソナル・デジタル・アシスタント、ノートブックサイズのコンピュータ、デスクトップ・コンピュータ、セットトップボックスおよびサーバの選択された1つであることを特徴とする請求項21に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/708,179 US7054953B1 (en) | 2000-11-07 | 2000-11-07 | Method and apparatus for sending and receiving a data structure in a constituting element occurrence frequency based compressed form |
PCT/US2001/022488 WO2002039592A1 (en) | 2000-11-07 | 2001-07-17 | Method and apparatus for sending and receiving a data structure in a constituting element occurence frequency based compressed form |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004528737A true JP2004528737A (ja) | 2004-09-16 |
JP2004528737A5 JP2004528737A5 (ja) | 2005-01-06 |
Family
ID=24844703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002541798A Pending JP2004528737A (ja) | 2000-11-07 | 2001-07-17 | 構成要素発生頻度に基づく圧縮形式でデータ構造を送信および受信するための方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7054953B1 (ja) |
EP (1) | EP1332560A1 (ja) |
JP (1) | JP2004528737A (ja) |
AU (1) | AU2001273534A1 (ja) |
WO (1) | WO2002039592A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138526A1 (en) * | 2001-03-20 | 2002-09-26 | International Business Machines Corporation | Javascript code optimizer |
US7500017B2 (en) * | 2001-04-19 | 2009-03-03 | Microsoft Corporation | Method and system for providing an XML binary format |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
WO2004079586A1 (ja) * | 2003-03-07 | 2004-09-16 | Sharp Kabushiki Kaisha | マークアップ言語の処理を最適に行なうことのできるデータ変換方法 |
US20040187083A1 (en) * | 2003-03-18 | 2004-09-23 | Tracey Bryan D. | System and method for reducing the size of wireless communications |
KR100803285B1 (ko) * | 2003-10-21 | 2008-02-13 | 한국과학기술원 | 역 산술 부호화와 타입 추론 엔진을 이용한 질의 가능 엑스-엠-엘 압축 방법 |
JP2005301664A (ja) * | 2004-04-12 | 2005-10-27 | Fuji Xerox Co Ltd | 画像辞書作成装置、符号化装置、データファイル、画像辞書作成方法及びそのプログラム |
US8301437B2 (en) * | 2008-07-24 | 2012-10-30 | Yahoo! Inc. | Tokenization platform |
GB2489512A (en) * | 2011-03-31 | 2012-10-03 | Clearswift Ltd | Classifying data using fingerprint of character encoding |
GB201410402D0 (en) * | 2014-06-11 | 2014-07-23 | C24 Technologies Ltd | Data compaction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06208453A (ja) * | 1992-08-13 | 1994-07-26 | Xerox Corp | テキスト圧縮駆動部構築方法及び入力テキスト列圧縮方法 |
JPH1153349A (ja) * | 1997-08-05 | 1999-02-26 | Fujitsu Ltd | タグ文書の圧縮装置および復元装置,圧縮方法および復元方法,圧縮/復元装置および圧縮/復元方法並びに圧縮,復元もしくは圧縮/復元プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2000101442A (ja) * | 1998-09-28 | 2000-04-07 | Fujitsu Ltd | データ圧縮装置及び復元装置並びにその方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4386416A (en) | 1980-06-02 | 1983-05-31 | Mostek Corporation | Data compression, encryption, and in-line transmission system |
JPS63232626A (ja) | 1987-03-20 | 1988-09-28 | Fujitsu Ltd | デ−タ圧縮復元方式 |
US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
US5254990A (en) * | 1990-02-26 | 1993-10-19 | Fujitsu Limited | Method and apparatus for compression and decompression of data |
US5530645A (en) | 1993-06-30 | 1996-06-25 | Apple Computer, Inc. | Composite dictionary compression system |
JP3278297B2 (ja) * | 1994-07-20 | 2002-04-30 | 富士通株式会社 | データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 |
JP3238854B2 (ja) * | 1995-02-21 | 2001-12-17 | 富士通株式会社 | データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置 |
JP3277792B2 (ja) * | 1996-01-31 | 2002-04-22 | 株式会社日立製作所 | データ圧縮方法および装置 |
JP3305191B2 (ja) * | 1996-03-19 | 2002-07-22 | 富士通株式会社 | 文書管理装置及びデータ圧縮方法及びデータ復元方法 |
US5884014A (en) | 1996-05-23 | 1999-03-16 | Xerox Corporation | Fontless structured document image representations for efficient rendering |
US5999949A (en) | 1997-03-14 | 1999-12-07 | Crandall; Gary E. | Text file compression system utilizing word terminators |
US6094634A (en) * | 1997-03-26 | 2000-07-25 | Fujitsu Limited | Data compressing apparatus, data decompressing apparatus, data compressing method, data decompressing method, and program recording medium |
US5991713A (en) | 1997-11-26 | 1999-11-23 | International Business Machines Corp. | Efficient method for compressing, storing, searching and transmitting natural language text |
US6012063A (en) | 1998-03-04 | 2000-01-04 | Starfish Software, Inc. | Block file system for minimal incremental data transfer between computing devices |
US6163811A (en) | 1998-10-21 | 2000-12-19 | Wildseed, Limited | Token based source file compression/decompression and its application |
US6635088B1 (en) * | 1998-11-20 | 2003-10-21 | International Business Machines Corporation | Structured document and document type definition compression |
GB9911099D0 (en) | 1999-05-13 | 1999-07-14 | Euronet Uk Ltd | Compression/decompression method |
JP4776050B2 (ja) | 1999-07-13 | 2011-09-21 | ソニー株式会社 | 配信コンテンツ生成方法、コンテンツ配信方法および装置、並びに、コード変換方法 |
-
2000
- 2000-11-07 US US09/708,179 patent/US7054953B1/en not_active Expired - Fee Related
-
2001
- 2001-07-17 JP JP2002541798A patent/JP2004528737A/ja active Pending
- 2001-07-17 EP EP01952817A patent/EP1332560A1/en not_active Withdrawn
- 2001-07-17 AU AU2001273534A patent/AU2001273534A1/en not_active Abandoned
- 2001-07-17 WO PCT/US2001/022488 patent/WO2002039592A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06208453A (ja) * | 1992-08-13 | 1994-07-26 | Xerox Corp | テキスト圧縮駆動部構築方法及び入力テキスト列圧縮方法 |
JPH1153349A (ja) * | 1997-08-05 | 1999-02-26 | Fujitsu Ltd | タグ文書の圧縮装置および復元装置,圧縮方法および復元方法,圧縮/復元装置および圧縮/復元方法並びに圧縮,復元もしくは圧縮/復元プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2000101442A (ja) * | 1998-09-28 | 2000-04-07 | Fujitsu Ltd | データ圧縮装置及び復元装置並びにその方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2001273534A1 (en) | 2002-05-21 |
WO2002039592A1 (en) | 2002-05-16 |
EP1332560A1 (en) | 2003-08-06 |
US7054953B1 (en) | 2006-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5663721A (en) | Method and apparatus using code values and length fields for compressing computer data | |
US8010889B2 (en) | Techniques for efficient loading of binary XML data | |
US6883137B1 (en) | System and method for schema-driven compression of extensible mark-up language (XML) documents | |
US7647552B2 (en) | XML encoding scheme | |
US7307552B2 (en) | Method and apparatus for efficient hardware based deflate | |
US7089567B2 (en) | Efficient RPC mechanism using XML | |
US20020087596A1 (en) | Compact tree representation of markup languages | |
CN100425081C (zh) | 短信收发的编码转换方法及其应用的网络设备 | |
US20150074291A1 (en) | Systems and methods for compressing packet data by predicting subsequent data | |
WO2008039591A2 (en) | A method and apparatus for facilitating efficient processing of extensible markup language documents | |
EP0928070A2 (en) | Compression of documents with markup language that preserves syntactical structure | |
US7983301B2 (en) | Method for extended transmission capabilities of short message service | |
JP2004528737A (ja) | 構成要素発生頻度に基づく圧縮形式でデータ構造を送信および受信するための方法および装置 | |
US7809697B1 (en) | Compressing hyperlinks in a hyperlink-based document | |
WO2008042716A2 (en) | Knowledge based encoding of data with multiplexing to facilitate compression | |
TW543311B (en) | Static information knowledge used with binary compression methods | |
CN105052040A (zh) | 多流压缩与解压的方法与系统 | |
EP2219117A1 (en) | A processing module, a device, and a method for processing of XML data | |
US20190379393A1 (en) | Dynamic dictionary-based data symbol encoding | |
WO2008156640A2 (en) | A method and apparatus for encoding data | |
CN115630614A (zh) | 数据传输方法、装置、电子设备与介质 | |
KR101066610B1 (ko) | Xml과 json 데이터의 압축 및 분할 전송시스템 | |
US6313763B1 (en) | Variable length data packet with adjustable length indicator | |
TW473673B (en) | Method and apparatus for compressing scripting language content | |
US20050138545A1 (en) | Efficient universal plug-and-play markup language document optimization and compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041006 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050208 |