JP2014002757A - バイナリにエンコードされたxmlデータの効率的な区分的アップデート - Google Patents
バイナリにエンコードされたxmlデータの効率的な区分的アップデート Download PDFInfo
- Publication number
- JP2014002757A JP2014002757A JP2013150500A JP2013150500A JP2014002757A JP 2014002757 A JP2014002757 A JP 2014002757A JP 2013150500 A JP2013150500 A JP 2013150500A JP 2013150500 A JP2013150500 A JP 2013150500A JP 2014002757 A JP2014002757 A JP 2014002757A
- Authority
- JP
- Japan
- Prior art keywords
- xml document
- binary format
- node
- xml
- compact
- 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
Links
- 238000012986 modification Methods 0.000 claims abstract description 48
- 230000004048 modification Effects 0.000 claims abstract description 48
- 230000008859 change Effects 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 37
- 230000000694 effects Effects 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 8
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】コンパクトバイナリ形式で保存されているXML文書に対する修正(例えば、ノードの挿入、削除またはアップデート)の要求に応じて、要求された修正に関する特定の表現が演算される。この表現は、文書のバイナリ形式に直接適用するためのものであり、要求された修正が、永続的に保存されているバイナリ形式に直接適用される。
【選択図】図1
Description
本発明は概して、データ管理に関する。より詳しくは、関係データベース管理システム(RDBMS)における区分的手法において、コンパクトバイナリにエンコードされたXMLデータを効果的にアップデートする技術に関する。
拡張マークアップ言語(XML)を使用することは、あらゆる種類の情報を表現したり交換したりするために、例えば、コンピュータプログラムのアプリケーションやサービスにおいて情報を交換するなどのために、一般的で有用な技術になってきている。よって、効果的かつ効率的にXMLデータを保存および利用することも、同様に、有用で必要なことになってきている。このため、XMLデータの保存および利用ならびにXMLデータに対するアクセスをサポートするために増強されたデータベースもある。データモデルとしてXMLを用いる用途において主に要求されることの一つに、スキーマの柔軟性がある。しかしながら、XMLデータを保存するデータベースは、伝統的に、スキーマの柔軟性に関して最適化されたものではない。そのようなデータベースは、スキーマが提供されてそのスキーマが変化しにくいような場合においては効率的に動作し得るが、スキーマが変わりやすい場合、または、スキーマが大まかにしか構築されていない場合には、これらのデータベースは、XMLをサポートするための適切さを欠いたものになる。
書では、これらについて、まとめてアップデート操作と称することとする。XMLデータを操るアプリケーションの性質しだいでは、これらのタイプの操作を相対的に共通なものにできる。しかしながら、既存のXMLデータ保存システムでは、バイナリにエンコードされたXML文書をアップデートする効率的な手段を得ることはできない。このようなシステムは、典型的には、XML文書の全体を、オブジェクトツリー形式(例えばDOM)でローカルメモリ(例えばRAM)に読み込み、メモリ内でデータを変更し、アップデートされたDOMツリーを変換して、保存に適したバイナリ形式に戻すようになっている。このプロセスは、一般的には非効率的であり、拡張性および性能に関する問題につながる。これは、ひとつには、ローカルメモリ内に、XML文書の全体を実体化する必要があることに起因する。さらに、既存のXMLデータ保存システムのなかには、非常に特殊なXMLスキーマを得ることができた場合には、XMLデータをアップデートするための最適化された技術をもたらし得るものもある。しかしながら、これらのシステムでは、XMLスキーマが極めて非拘束的である場合、または、使用可能なXMLスキーマが無い場合に対しては、適切に対処できない。
本発明を、添付の図面の個々の図に示された例を用いて、これらに限定されることなく説明する。なお、これらの図面では、同様の部材については同様の参照番号を付している。
以下の記載では、説明のために、多数の個々の詳細を記述する。これは、本発明を深い理解をもたらすためである。しかしながら、本発明は当然、これらの個々の詳細がなくとも実施できるものである。他の例では、周知の構造および装置をブロック図の形で示している。これは、本発明が不明瞭になってしまうことを回避するためである。
本明細書に、データベースに保存されたXMLデータをアップデートするための技術について説明する。既存の技術では、使用に適した形式のXMLデータの全特徴を維持するようなコンパクトバイナリ形式を用いることで、XML文書を表現し解釈することが可能である。このようなXMLのコンパクトバイナリ表現については、次いでラージオブジェ
クト(例えばバイナリ・ラージ・オブジェクト(binary large object、すなわちBLOB)として、永続的に(例えばディスクに)保存してよい。コンパクトバイナリ形式で保存されているXML文書に対して要求された修正(例えば、挿入、削除、ノードのアップデート)に応じて、要求された修正に関する特定の表現が演算される。これは、この特定の表現をXML文書のバイナリ形式に対して直接に適用するためである。したがって、要求された修正は、永続的に保存されているバイナリ形式に対して直接適用される。このとき、XML文書のオブジェクトツリー(例えばDOM)を構築することもないし、および/または、XML文書を対応するテキスト形式に構築または実体化することもない。
of tags)、によって、および、OPコードを使用することによってなされる。例えば、同じタグが複数回繰り返される場合、または、XMLスキーマが要素の次数(order of elements)を制約している場合、適切なバイナリ形式を用いることで、対応するトークンIDを回避することが可能となる。したがって、バイナリ表現中のどこにこの実際の変更を行う必要があるのかについての演算では、XML文書がエンコードされたコンパクトバイナリ形式の性質を考慮するようにしてもよい。Murthy出願には、XMLデータをエンコードするコンパクトバイナリ形式の非限定的な好ましい実施例に関する非常に詳細な記述があるので、これを参照されたい。
データベースシステムは、典型的には、1以上のクライアントを含んでいる。このクライアントは、データベースサーバに対して通信可能に接続されている。このデータベースサーバは、共用のデータベースに接続されている。「データベースサーバ」とは、サーバインスタンスおよびインスタンスが実行されているサーバマシンの一団をひっくるめた表現である。概して、サーバは、統合型ソフトウェアコンポーネントと、計算資源に関する記憶割当てとの組み合わせである。この計算資源とは、例えば、メモリ、ノード、および、統合型ソフトウェアコンポーネントをプロセッサにおいて実行するためのノード上のプロセスなどである。このようなソフトウェアと計算資源との組み合わせは、サーバのクライアントの利益になるような特種の機能を提供するために設けられているものである。
アントのためのセッションが確立される。データベースセッションなどのセッションは、クライアントからデータベースサーバなどのサーバに対して確立される個々の接続のことである。セッションを介して、クライアントは、一連の要求(例えば、データおよび/またはメタデータに対する要求)をデータベースサーバに対して出力できる。
XML文書に対するXMLノードの挿入、アップデートおよび/または削除によって、XML文書を修正することができる。XML文書を修正するための要求は、XML文書を特定し、変更されるノードをXPathその他のパスネーム表現によって特定し、新しい値を付与することによって表現できる。要求される可能性のある1組の操作について、以下に示す。
(1)新しいノードの追加;ユーザは、XPathその他のパスネーム表現を用いて、目的のノードまたは親ノードを特定し、挿入すべき子ノード用の値を定めることができる。
XML文書内における新しいノードの挿入位置は、例えば、新しいノードの挿入位置の前にある目的のノードを特定することによって(例えば、insertChild()コマンド)、または、親ノードを特定し、特定された親ノードの最後の子として挿入すべき子ノードを付与することによって(例えば、appendChild()コマンド)、特定することができる。
(2)既存のノードのアップデート:ユーザは、XPathその他のパスネーム表現を用いて目的のノードを特定し、アップデートすべき目的のノード用の値を定めることができる。
(3)ノードの削除:ユーザは、XPathその他のパスネーム表現を用いて、削除の対象である目的のノードを特定することができる。
上記したように、XML文書のコンパクトバイナリ形式に対して直接適用するために、XML文書の変更に関する特定の表現が演算される。実施形態にしたがうと、このような変更は、パラメータ値の組によって表現され、本明細書において「タプル変更」と呼ばれる。概して、図1はタプル変更を生成するためのプロセスを示すフロー図である。
ite state automation、すなわちNFA)などの使用が挙げられる。さらに、永続的な保存装置に保存されているXML文書のコンパクトバイナリ形式は、究極的には、バイナリ・ラージ・オブジェクト(BLOB)としてもよい。このような場合には、ブロック104は、被影響ノード(単数または複数)が直列バイナリ形式で表現されているBLOB内での正確な位置を特定する工程を含んでもよい。
にも影響を与え得る。
ブロック110では、要求された修正がXML文書のコンパクトバイナリ形式に与える実際の効果を表現するパラメータを演算し、例えば対応するタプル変更を用いて表現する。次いで、このタプル変更は、データベースに永続的に保存されている、または揮発性メモリにローカルに保存されている、XML文書のコンパクトバイナリ形式に適用することが可能である。一実施形態では、XML文書のコンパクトバイナリ形式に対する要求された修正による効果が、<destOffset,changedLen,newValue,newValueLen>のようなタプル変更の形式で表現される。上述のタプル変更パラメータを指すために用いられる名称は、実施状況に応じて異なる可能性がある。このように、タプル変更の成分については、上述のパラメータ名に限定されない。
れる位置を特定する。例えば、要求された修正がバイナリ形式に与える実際の効果は、バイナリ形式において、ノード値の位置より前の位置から開始され得る。
図3は、本発明の実施形態を実現し得るコンピュータシステム300を示すブロック図である。コンピュータシステム300は、バス302または情報通信用の他の通信機構と、情報を処理するためにバス302に接続されているプロセッサ304と、を備える。コンピュータシステム300は、さらにランダムアクセスメモリ(RAM)または他の動的記憶装置などのメインメモリ306を備える。このメインメモリ306は、バス302に接続され、情報およびプロセッサ304により実行される命令を保存する。メインメモリ306は、プロセッサ304により実行される命令の実行中に、一時的な変数または他の中間情報を保存するためにも用いられる。コンピュータシステム300は、読み出し専用メモリ(ROM)308または他の静的記憶装置をさらに備える。これは、バス302に接続され、静的な情報およびプロセッサ304のための命令を保存する。磁気ディスクまたは光ディスクなどの保存装置310が設けられ、バス302に接続され、情報および命令の保存に用いられる。
用に関するものである。本発明の一実施形態にしたがうと、これらの技術は、メインメモリ306に格納されている1以上の命令の1以上のシーケンスをプロセッサ304が実行することに応じて、コンピュータシステム300によって遂行される。これらの命令は、保存装置310などのコンピュータ読み取り可能な他の媒体から、メインメモリ306に読み込むようにしてもよい。メインメモリ306に格納されている命令シーケンスは、プロセッサ304に、本明細書に記載の処理ステップを実行させる。代替の実施形態では、本発明を実施するためのソフトウェア命令に代えて、またはこれと組み合わせて、配線接続された回路を使用してもよい。このように、本発明の実施形態は、ハードウェア回路およびソフトウェアの特定の組み合わせに限定されない。
また、ワイヤレスリンクを実装してもよい。このようなあらゆる実施において、通信インターフェイス318は、さまざまな種類の情報を表現するディジタル・データ・ストリームを搬送するための、電気信号、電磁信号、または光信号を送受信するようになっている。
Claims (9)
- データベースに保存されているXMLデータをアップデートするための命令を含むマシンで実行される操作を実行するステップを含む方法であって、前記マシンで実行される操作は、
A)伝送媒体を介する命令の送信、
B)伝送媒体を介する命令の受信、
C)マシン読み取り可能な保存媒体に対する命令の保存、
D)命令の実行、
のうち少なくとも1つであり、
前記命令は、1以上のプロセッサによって実行された場合に、
コンパクトバイナリ形式でデータベースに保存されているXML文書に対する修正要求を受信するステップと、
XML文書のコンパクトバイナリ形式に対する、前記修正を反映している変更を特徴づけるパラメータを演算するステップと、
前記パラメータに基づいて、XML文書のコンパクトバイナリ形式に対して要求された修正を施すステップと、
を1以上のプロセッサに実行させる命令である、方法。 - 前記命令は、1以上のプロセッサによって実行された場合に、
要求に基づき、要求された修正の対象であるXML文書の1以上のノードを特定するステップであって、コンパクトバイナリ形式における第1の変更が適用されるべき開始地点を特定するステップを含むステップを、1以上のプロセッサに遂行させる命令である、請求項1に記載の方法。 - 前記パラメータを演算するステップは、開始地点を表現する宛先オフセットパラメータを演算するステップを含み、
前記開始地点は、XML文書のコンパクトバイナリ形式の先頭からのオフセットバイト数として特定され、請求項2に記載の方法。 - 前記パラメータを演算するステップが、1以上のノードの全てに対する修正を特徴づける単一のXML文書を演算するステップを含む、請求項2に記載の方法。
- XML文書に対する修正は、少なくとも1つのノードを挿入する操作、または、ノードをアップデートする操作を含み、
前記パラメータを演算するステップは、
XML文書のコンパクトバイナリ形式の先頭からのオフセットバイト数として特定される開始地点を特定する、宛先オフセットパラメータと、
ノードを挿入する操作またはノードをアップデートする操作の対象となるノードに関連する古いバイナリ値であって、ノードを挿入する操作またはノードをアップデートする操作の結果として入れ替えられる古いバイナリ値を表現するのに使用されるXML文書のコンパクトバイナリ形式のバイト数を特定する、変更された長さのパラメータと、
ノードを挿入する操作またはノードをアップデートする操作の結果として生じる新しいバイナリ値であって、XML文書のコンパクトバイナリ形式における古いバイナリ値と入れ替わる新しいバイナリ値を表現する新しい値のパラメータと、
XML文書のコンパクトバイナリ形式の部分の新しい値を表現するためのバイト数を特定する新しい値の長さのパラメータと、
を含む、請求項2に記載の方法。 - XML文書のコンパクトバイナリ形式を変更するステップはが、古い値を前記開始地点
から始まる前記新しい値によって入れ替えるステップを含む、請求項5に記載の方法。 - 前記パラメータを演算するステップは、
要求された修正が、要求内のパスネーム表現に基づいたアップデートのためにXML文書から特定される1以上のノードを表現するバイトに対して及ぼす効果を超えて、要求された修正がXML文書のコンパクトバイナリ形式にどのように影響するのか、を演算するステップを含む、請求項1に記載の方法。 - XML文書のコンパクトバイナリ形式に対して要求された修正を施すステップは、要求された修正を、永続的な保存装置に保存されているコンパクトバイナリ形式に対して直接に施すステップを含む、請求項1に記載の方法。
- XML文書のコンパクトバイナリ形式に対して要求された修正を施すステップが、要求された修正を、XML文書のオブジェクトツリーを構築することなく実行するステップを含む、請求項8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/437,512 US9460064B2 (en) | 2006-05-18 | 2006-05-18 | Efficient piece-wise updates of binary encoded XML data |
US11/437,512 | 2006-05-18 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009510957A Division JP5407043B2 (ja) | 2006-05-18 | 2007-04-24 | バイナリにエンコードされたxmlデータの効率的な区分的アップデート |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014002757A true JP2014002757A (ja) | 2014-01-09 |
JP5699381B2 JP5699381B2 (ja) | 2015-04-08 |
Family
ID=38529632
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009510957A Active JP5407043B2 (ja) | 2006-05-18 | 2007-04-24 | バイナリにエンコードされたxmlデータの効率的な区分的アップデート |
JP2013150500A Active JP5699381B2 (ja) | 2006-05-18 | 2013-07-19 | バイナリにエンコードされたxmlデータの効率的な区分的アップデート |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009510957A Active JP5407043B2 (ja) | 2006-05-18 | 2007-04-24 | バイナリにエンコードされたxmlデータの効率的な区分的アップデート |
Country Status (7)
Country | Link |
---|---|
US (1) | US9460064B2 (ja) |
EP (1) | EP2021957B1 (ja) |
JP (2) | JP5407043B2 (ja) |
CN (1) | CN101443766B (ja) |
AU (1) | AU2007254441C1 (ja) |
CA (1) | CA2651637C (ja) |
WO (1) | WO2007136507A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7930277B2 (en) | 2004-04-21 | 2011-04-19 | Oracle International Corporation | Cost-based optimizer for an XML data repository within a database |
US8073841B2 (en) | 2005-10-07 | 2011-12-06 | Oracle International Corporation | Optimizing correlated XML extracts |
US7933928B2 (en) | 2005-12-22 | 2011-04-26 | Oracle International Corporation | Method and mechanism for loading XML documents into memory |
US8255790B2 (en) * | 2006-09-08 | 2012-08-28 | Microsoft Corporation | XML based form modification with import/export capability |
US7933935B2 (en) | 2006-10-16 | 2011-04-26 | Oracle International Corporation | Efficient partitioning technique while managing large XML documents |
US7797310B2 (en) | 2006-10-16 | 2010-09-14 | Oracle International Corporation | Technique to estimate the cost of streaming evaluation of XPaths |
US7739251B2 (en) * | 2006-10-20 | 2010-06-15 | Oracle International Corporation | Incremental maintenance of an XML index on binary XML data |
US8010889B2 (en) * | 2006-10-20 | 2011-08-30 | Oracle International Corporation | Techniques for efficient loading of binary XML data |
US9953103B2 (en) * | 2006-11-16 | 2018-04-24 | Oracle International Corporation | Client processing for binary XML in a database system |
US7886223B2 (en) * | 2006-11-17 | 2011-02-08 | International Business Machines Corporation | Generating a statistical tree for encoding/decoding an XML document |
US7974993B2 (en) * | 2006-12-04 | 2011-07-05 | Microsoft Corporation | Application loader for support of version management |
US8499238B2 (en) * | 2007-07-11 | 2013-07-30 | International Business Machines Corporation | Manipulating design models by editing generated reports |
US9092408B2 (en) * | 2007-08-03 | 2015-07-28 | Sap Se | Data listeners for type dependency processing |
US8260770B2 (en) * | 2007-09-21 | 2012-09-04 | Universities Space Research Association | Systems and methods for an extensible business application framework |
US7831540B2 (en) * | 2007-10-25 | 2010-11-09 | Oracle International Corporation | Efficient update of binary XML content in a database system |
US8145794B2 (en) * | 2008-03-14 | 2012-03-27 | Microsoft Corporation | Encoding/decoding while allowing varying message formats per message |
US8868482B2 (en) * | 2008-03-20 | 2014-10-21 | Oracle International Corporation | Inferring schemas from XML document collections |
US8595263B2 (en) * | 2008-06-02 | 2013-11-26 | Microsoft Corporation | Processing identity constraints in a data store |
US7925643B2 (en) * | 2008-06-08 | 2011-04-12 | International Business Machines Corporation | Encoding and decoding of XML document using statistical tree representing XSD defining XML document |
US20100030727A1 (en) * | 2008-07-29 | 2010-02-04 | Sivasankaran Chandrasekar | Technique For Using Occurrence Constraints To Optimize XML Index Access |
US8650182B2 (en) * | 2009-02-24 | 2014-02-11 | Oracle International Corporation | Mechanism for efficiently searching XML document collections |
US9965453B2 (en) * | 2009-10-15 | 2018-05-08 | Microsoft Technology Licensing, Llc | Document transformation |
US8255372B2 (en) | 2010-01-18 | 2012-08-28 | Oracle International Corporation | Efficient validation of binary XML data |
CA2702137A1 (en) | 2010-05-14 | 2010-07-28 | Ibm Canada Limited - Ibm Canada Limitee | Update and serialization of xml documents |
US10756759B2 (en) | 2011-09-02 | 2020-08-25 | Oracle International Corporation | Column domain dictionary compression |
US9294307B2 (en) | 2011-10-07 | 2016-03-22 | Microsoft Technology Licensing, Llc | Synchronization of conversation data |
US8812523B2 (en) | 2012-09-28 | 2014-08-19 | Oracle International Corporation | Predicate result cache |
CA2815156C (en) | 2013-05-06 | 2020-05-05 | Ibm Canada Limited - Ibm Canada Limitee | Document order management via relaxed node indexing |
KR101974341B1 (ko) * | 2014-01-23 | 2019-05-02 | 한화정밀기계 주식회사 | 계층적 데이터 분석 방법 및 그 프로그램이 기록된 기록 매체 |
CN104063488B (zh) * | 2014-07-07 | 2017-09-01 | 成都安恒信息技术有限公司 | 一种半自动化学习式的表单特征提取方法 |
US9626336B2 (en) | 2014-08-22 | 2017-04-18 | Microsoft Technology Licensing, Llc | Remote management of a graphical user interface |
CN106886566B (zh) * | 2017-01-12 | 2019-11-15 | 北京航空航天大学 | 压缩文件的修改方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005101246A1 (en) * | 2004-04-09 | 2005-10-27 | Oracle International Corporation | Index for accessing xml data |
WO2006009664A1 (en) * | 2004-06-16 | 2006-01-26 | Oracle International Corporation | Efficient extraction of xml content stored in a lob |
Family Cites Families (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061697A (en) | 1996-09-11 | 2000-05-09 | Fujitsu Limited | SGML type document managing apparatus and managing method |
US6414610B1 (en) | 1997-02-24 | 2002-07-02 | Rodney J Smith | Data compression |
US6018747A (en) | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
US6674924B2 (en) | 1997-12-30 | 2004-01-06 | Steven F. Wright | Apparatus and method for dynamically routing documents using dynamic control documents and data streams |
US6671853B1 (en) * | 1999-07-15 | 2003-12-30 | International Business Machines Corporation | Method and system for selectively streaming markup language documents |
US6721727B2 (en) | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US6598055B1 (en) | 1999-12-23 | 2003-07-22 | International Business Machines Corporation | Generic code for manipulating data of a structured object |
US7031956B1 (en) * | 2000-02-16 | 2006-04-18 | Verizon Laboratories Inc. | System and method for synchronizing and/or updating an existing relational database with supplemental XML data |
US6675355B1 (en) * | 2000-03-16 | 2004-01-06 | Autodesk, Inc. | Redline extensible markup language (XML) schema |
US6883137B1 (en) | 2000-04-17 | 2005-04-19 | International Business Machines Corporation | System and method for schema-driven compression of extensible mark-up language (XML) documents |
US6898761B2 (en) * | 2000-05-01 | 2005-05-24 | Raytheon Company | Extensible markup language genetic algorithm |
US6941510B1 (en) | 2000-06-06 | 2005-09-06 | Groove Networks, Inc. | Method and apparatus for efficient management of XML documents |
CN1195278C (zh) | 2000-08-02 | 2005-03-30 | 菲利普·库特 | Xml-机器人 |
EP1223759A1 (en) * | 2001-01-08 | 2002-07-17 | Robert Bosch Gmbh | Method for providing an extension code for a binary description for multimedia data |
US20040068509A1 (en) | 2001-01-19 | 2004-04-08 | Garden Peter William | Data transfer and/or transformation system and method |
JP3894280B2 (ja) | 2001-02-02 | 2007-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体 |
KR100737606B1 (ko) | 2001-02-05 | 2007-07-10 | 이엑스피웨이 | 구조화된 문서의 부호화 방법 및 복호화 방법 |
US6804677B2 (en) | 2001-02-26 | 2004-10-12 | Ori Software Development Ltd. | Encoding semi-structured data for efficient search and browsing |
US7500017B2 (en) * | 2001-04-19 | 2009-03-03 | Microsoft Corporation | Method and system for providing an XML binary format |
JP3832807B2 (ja) | 2001-06-28 | 2006-10-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
US6865599B2 (en) | 2001-09-04 | 2005-03-08 | Chenglin Zhang | Browser-to-browser, dom-based, peer-to-peer communication with delta synchronization |
US20030069881A1 (en) | 2001-10-03 | 2003-04-10 | Nokia Corporation | Apparatus and method for dynamic partitioning of structured documents |
US6879986B1 (en) | 2001-10-19 | 2005-04-12 | Neon Enterprise Software, Inc. | Space management of an IMS database |
US20030093626A1 (en) | 2001-11-14 | 2003-05-15 | Fister James D.M. | Memory caching scheme in a distributed-memory network |
US7143343B2 (en) | 2002-04-11 | 2006-11-28 | International Business Machines Corporation | Dynamic creation of an application's XML document type definition (DTD) |
US7454760B2 (en) | 2002-04-22 | 2008-11-18 | Rosebud Lms, Inc. | Method and software for enabling n-way collaborative work over a network of computers |
US7434163B2 (en) | 2002-05-31 | 2008-10-07 | Sap Aktiengesellschaft | Document structures for delta handling in server pages |
US20040060006A1 (en) | 2002-06-13 | 2004-03-25 | Cerisent Corporation | XML-DB transactional update scheme |
EP1376408B1 (en) | 2002-06-28 | 2007-07-11 | Nippon Telegraph and Telephone Corporation | Extraction of information from structured documents |
US6996571B2 (en) | 2002-06-28 | 2006-02-07 | Microsoft Corporation | XML storage solution and data interchange file format structure |
US7340673B2 (en) | 2002-08-29 | 2008-03-04 | Vistaprint Technologies Limited | System and method for browser document editing |
US7080094B2 (en) | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
KR100636909B1 (ko) | 2002-11-14 | 2006-10-19 | 엘지전자 주식회사 | 확장성 표기 언어 기반의 전자문서 버전 매김 및 버전을이용한 갱신 문서 제공 방법 |
US7090318B2 (en) * | 2002-11-26 | 2006-08-15 | Tci Supply, Inc. | System for a sliding door with a camber |
US6976340B2 (en) | 2002-12-05 | 2005-12-20 | Venturedyne Ltd. | Universal access port |
US7350199B2 (en) * | 2003-01-17 | 2008-03-25 | Microsoft Corporation | Converting XML code to binary format |
US20040148278A1 (en) | 2003-01-22 | 2004-07-29 | Amir Milo | System and method for providing content warehouse |
US6843423B2 (en) * | 2003-03-13 | 2005-01-18 | Stmicroelectronics, Inc. | Smart card that can be configured for debugging and software development using secondary communication port |
US6836778B2 (en) | 2003-05-01 | 2004-12-28 | Oracle International Corporation | Techniques for changing XML content in a relational database |
JP2004342029A (ja) * | 2003-05-19 | 2004-12-02 | Hitachi Ltd | 構造化文書圧縮方法及び装置 |
WO2004112301A2 (en) | 2003-06-11 | 2004-12-23 | Wtviii, Inc. | Mark up language authoring system |
US7519577B2 (en) | 2003-06-23 | 2009-04-14 | Microsoft Corporation | Query intermediate language method and system |
US7219330B2 (en) | 2003-06-26 | 2007-05-15 | Microsoft Corporation | Extensible metadata |
US7113942B2 (en) | 2003-06-27 | 2006-09-26 | Microsoft Corporation | Scalable storage and processing of hierarchical documents |
US7302489B2 (en) | 2003-08-01 | 2007-11-27 | Sap Ag | Systems and methods for synchronizing data objects among participating systems via asynchronous exchange of messages |
JP2005056363A (ja) * | 2003-08-07 | 2005-03-03 | Media Fusion Co Ltd | Xml情報送信装置 |
US7349913B2 (en) | 2003-08-21 | 2008-03-25 | Microsoft Corporation | Storage platform for organizing, searching, and sharing data |
US8150818B2 (en) | 2003-08-25 | 2012-04-03 | International Business Machines Corporation | Method and system for storing structured documents in their native format in a database |
US7571391B2 (en) | 2003-10-17 | 2009-08-04 | Sap Ag | Selective rendering of user interface of computer program |
US7634498B2 (en) | 2003-10-24 | 2009-12-15 | Microsoft Corporation | Indexing XML datatype content system and method |
US7315852B2 (en) | 2003-10-31 | 2008-01-01 | International Business Machines Corporation | XPath containment for index and materialized view matching |
US7165063B2 (en) | 2003-11-19 | 2007-01-16 | International Business Machines Corporation | Context quantifier transformation in XML query rewrite |
US7991786B2 (en) * | 2003-11-25 | 2011-08-02 | International Business Machines Corporation | Using intra-document indices to improve XQuery processing over XML streams |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US7493305B2 (en) | 2004-04-09 | 2009-02-17 | Oracle International Corporation | Efficient queribility and manageability of an XML index with path subsetting |
US7440954B2 (en) | 2004-04-09 | 2008-10-21 | Oracle International Corporation | Index maintenance for operations involving indexed XML data |
US7877356B1 (en) | 2004-05-24 | 2011-01-25 | Apple Inc. | Retaining intermediate states of shared groups of objects and notification of changes to shared groups of objects |
US7769904B2 (en) | 2004-06-09 | 2010-08-03 | L-3 Communications Integrated Systems L.P. | Extensible binary mark-up language for efficient XML-based data communications and related systems and methods |
US7260580B2 (en) * | 2004-06-14 | 2007-08-21 | Sap Ag | Binary XML |
US7516121B2 (en) | 2004-06-23 | 2009-04-07 | Oracle International Corporation | Efficient evaluation of queries using translation |
DE102004034004A1 (de) * | 2004-07-14 | 2006-02-09 | Siemens Ag | Verfahren zum Codieren eines XML-Dokuments, sowie Verfahren zum Decodieren, Verfahren zum Codieren und Decodieren, Codiervorrichtung, Decodiervorrichtung und Vorrichtung zum Codieren und Decodieren |
US7627589B2 (en) * | 2004-08-10 | 2009-12-01 | Palo Alto Research Center Incorporated | High performance XML storage retrieval system and method |
US7403940B2 (en) | 2004-08-31 | 2008-07-22 | Yahoo! Inc. | Optimal storage and retrieval of XML data |
US7310648B2 (en) * | 2004-09-15 | 2007-12-18 | Hewlett-Packard Development Company, L.P. | System for compression of physiological signals |
US7464082B2 (en) * | 2004-11-29 | 2008-12-09 | International Business Machines Corporation | Methods for de-serializing data objects on demand |
WO2010049742A1 (en) * | 2004-12-01 | 2010-05-06 | Computer Associates Think, Inc. | Managing elements residing on legacy systems |
US20060136508A1 (en) | 2004-12-16 | 2006-06-22 | Sam Idicula | Techniques for providing locks for file operations in a database management system |
US7586839B2 (en) | 2004-12-16 | 2009-09-08 | Lenovo Singapore Pte. Ltd. | Peer to peer backup and recovery |
US7945590B2 (en) | 2005-01-06 | 2011-05-17 | Microsoft Corporation | Programmability for binding data |
US7441185B2 (en) | 2005-01-25 | 2008-10-21 | Microsoft Corporation | Method and system for binary serialization of documents |
US20060167912A1 (en) * | 2005-01-25 | 2006-07-27 | Microsoft Corporation | Method and system for use of subsets in serialized documents |
US8346737B2 (en) | 2005-03-21 | 2013-01-01 | Oracle International Corporation | Encoding of hierarchically organized data for efficient storage and processing |
US7730399B2 (en) * | 2005-04-22 | 2010-06-01 | Microsoft Corporation | Journal file reader |
US8103880B2 (en) | 2005-06-03 | 2012-01-24 | Adobe Systems Incorporated | Method for communication between computing devices using coded values |
US7739586B2 (en) | 2005-08-19 | 2010-06-15 | Microsoft Corporation | Encoding of markup language data |
US20070067461A1 (en) * | 2005-09-21 | 2007-03-22 | Savchenko Vladimir S | Token streaming process for processing web services message body information |
US20070079234A1 (en) | 2005-09-30 | 2007-04-05 | Microsoft Corporation | Modeling XML from binary data |
US8073841B2 (en) | 2005-10-07 | 2011-12-06 | Oracle International Corporation | Optimizing correlated XML extracts |
US7774321B2 (en) * | 2005-11-07 | 2010-08-10 | Microsoft Corporation | Partial XML validation |
US20080077606A1 (en) | 2006-09-26 | 2008-03-27 | Motorola, Inc. | Method and apparatus for facilitating efficient processing of extensible markup language documents |
US7844632B2 (en) * | 2006-10-18 | 2010-11-30 | Oracle International Corporation | Scalable DOM implementation |
US7627566B2 (en) | 2006-10-20 | 2009-12-01 | Oracle International Corporation | Encoding insignificant whitespace of XML data |
US8010889B2 (en) | 2006-10-20 | 2011-08-30 | Oracle International Corporation | Techniques for efficient loading of binary XML data |
US7739251B2 (en) | 2006-10-20 | 2010-06-15 | Oracle International Corporation | Incremental maintenance of an XML index on binary XML data |
US8965864B2 (en) | 2006-10-31 | 2015-02-24 | Sap Se | Method and system for efficient execution and rendering of client/server interactive applications |
US8032499B2 (en) | 2007-05-21 | 2011-10-04 | Sap Ag | Compression of tables based on occurrence of values |
US7769729B2 (en) | 2007-05-21 | 2010-08-03 | Sap Ag | Block compression of tables with repeated values |
HUE042697T2 (hu) | 2007-09-24 | 2019-07-29 | Hasso Plattner Inst Fuer Digital Engineering Ggmbh | ETL kisebb nulla redundancia rendszer és eljárás OLTP adatok jelentésére |
EP2043313B1 (en) | 2007-09-28 | 2013-08-14 | Alcatel Lucent | Circuit emulation service method and telecommunication system for implementing the method |
US7836037B2 (en) | 2007-10-04 | 2010-11-16 | Sap Ag | Selection of rows and values from indexes with updates |
US7831540B2 (en) | 2007-10-25 | 2010-11-09 | Oracle International Corporation | Efficient update of binary XML content in a database system |
US7840554B2 (en) | 2008-03-27 | 2010-11-23 | International Business Machines Corporation | Method for evaluating a conjunction of equity and range predicates using a constant number of operations |
US8108361B2 (en) | 2008-07-31 | 2012-01-31 | Microsoft Corporation | Efficient column based data encoding for large-scale data storage |
US20100088309A1 (en) | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale joining for querying of column based data encoded structures |
US8521705B2 (en) | 2011-07-11 | 2013-08-27 | Dell Products L.P. | Accelerated deduplication |
US10756759B2 (en) | 2011-09-02 | 2020-08-25 | Oracle International Corporation | Column domain dictionary compression |
-
2006
- 2006-05-18 US US11/437,512 patent/US9460064B2/en active Active
-
2007
- 2007-04-24 AU AU2007254441A patent/AU2007254441C1/en active Active
- 2007-04-24 JP JP2009510957A patent/JP5407043B2/ja active Active
- 2007-04-24 WO PCT/US2007/010163 patent/WO2007136507A1/en active Application Filing
- 2007-04-24 EP EP07756078.7A patent/EP2021957B1/en active Active
- 2007-04-24 CA CA2651637A patent/CA2651637C/en active Active
- 2007-04-24 CN CN2007800176539A patent/CN101443766B/zh active Active
-
2013
- 2013-07-19 JP JP2013150500A patent/JP5699381B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005101246A1 (en) * | 2004-04-09 | 2005-10-27 | Oracle International Corporation | Index for accessing xml data |
WO2006009664A1 (en) * | 2004-06-16 | 2006-01-26 | Oracle International Corporation | Efficient extraction of xml content stored in a lob |
Also Published As
Publication number | Publication date |
---|---|
AU2007254441C1 (en) | 2011-06-16 |
US9460064B2 (en) | 2016-10-04 |
CN101443766B (zh) | 2013-05-01 |
AU2007254441A1 (en) | 2007-11-29 |
JP5699381B2 (ja) | 2015-04-08 |
CN101443766A (zh) | 2009-05-27 |
US20070271305A1 (en) | 2007-11-22 |
JP5407043B2 (ja) | 2014-02-05 |
JP2009537895A (ja) | 2009-10-29 |
AU2007254441B2 (en) | 2011-02-03 |
WO2007136507A1 (en) | 2007-11-29 |
EP2021957A1 (en) | 2009-02-11 |
CA2651637A1 (en) | 2007-11-29 |
EP2021957B1 (en) | 2015-01-21 |
CA2651637C (en) | 2015-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5699381B2 (ja) | バイナリにエンコードされたxmlデータの効率的な区分的アップデート | |
US7386567B2 (en) | Techniques for changing XML content in a relational database | |
US7024425B2 (en) | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system | |
US7386568B2 (en) | Techniques for partial rewrite of XPath queries in a relational database | |
US6785685B2 (en) | Approach for transforming XML document to and from data objects in an object oriented framework for content management applications | |
US7668806B2 (en) | Processing queries against one or more markup language sources | |
US7873649B2 (en) | Method and mechanism for identifying transaction on a row of data | |
US8417714B2 (en) | Techniques for fast and scalable XML generation and aggregation over binary XML | |
JP5320438B2 (ja) | Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 | |
US8762410B2 (en) | Document level indexes for efficient processing in multiple tiers of a computer system | |
US8291310B2 (en) | Delta-saving in XML-based documents | |
US8447785B2 (en) | Providing context aware search adaptively | |
US20070016605A1 (en) | Mechanism for computing structural summaries of XML document collections in a database system | |
US8073843B2 (en) | Mechanism for deferred rewrite of multiple XPath evaluations over binary XML | |
US8554806B2 (en) | Cross platform transportable tablespaces | |
US8650204B2 (en) | Techniques for efficiently supporting XQuery update facility in SQL/XML | |
US20070083809A1 (en) | Optimizing correlated XML extracts | |
US7103872B2 (en) | System and method for collecting and transferring sets of related data from a mainframe to a workstation | |
US7321900B1 (en) | Reducing memory requirements needed to represent XML entities | |
JP2009187528A (ja) | 改善された階層型xmlデータベースの方法 | |
AU2007229359B2 (en) | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140715 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20141014 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20141017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141117 |
|
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: 20150120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150126 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5699381 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |