(57)【要約】  既存のＸＭＬパーサの重要な欠点は、そのようなパーサは、比較的大きいソフトウェアコンポーネントを要求し、ＸＭＬ文書を処理するシステムの負荷を増加させることである。提供されているものは、システムの演算負荷を減らし、ＸＭＬ処理スピードを改善するし、ＸＭＬ処理の一部が独立したハードウェアに基づいてハードウェア方式で行われるＸＭＬプロセッサと、ＸＭＬプロセッサを有するシステムで行われるＸＭＬ処理方法である。ＸＭＬプロセッサは、ＸＭＬ処理を行うソフトウェアと、変数と、ソフトウェア実行時に必要な値を格納する第１メモリと、ハードウェア方式でＸＭＬ処理の一部を行うハードウェア処理モジュールと、ハードウェア処理モジュールによって採用される第２メモリと、第１メモリに格納されたソフトウェアによってＸＭＬ処理を制御するＣＰＵとを含む。ＸＭＬ処理の一部が独立したハードウェアに基づいてハードウェア方式で行われるＸＭＬプロセッサによって、既存のソフトウェア処理と比べて、ＸＭＬ処理速度を改善し、システムの負荷を減らす。
2007520799.tif 000002
【特許請求の範囲】
【請求項１】
ＸＭＬ処理を行うためのソフトウェアと、変数、ソフトウェア実行に必要な値を保存する第１メモリと、
ハードウェア方式で前記ＸＭＬ処理の一部を行うハードウェア処理モジュールと、
前記ハードウェア処理モジュールによって用いられる第２メモリと、
前記第１メモリに保存された前記ソフトウェアによって前記ＸＭＬ処理を制御するＣＰＵと
を備えることを特徴とするＸＭＬプロセッサ。
【請求項２】
前記ハードウェア処理モジュールは、ＸＭＬ処理機能のうち、ＸＭＬ構文解析に使用されるメモリ管理機能、すなわち、メモリの割り当て、返還、再割り当てを実行することを特徴とする請求項１に記載のＸＭＬプロセッサ。
【請求項３】
前記ハードウェア処理モジュールは、ノード及びこれら前記ノード間のツリー関係として表現されるＸＭＬエレメントに関してメモリの割り当てと、再割り当てと、返還を処理し、前記モジュールは、
いくつかのブロックに分けられるノード使用法検査テーブルであって、各ブロックが対応するノードテーブルを利用するかどうかを示すノード使用法検査テーブルと、
各ノードが格納しなければならない情報全体、すなわち、ノード名と、ノードタイプと、親ノードと、子ノードなどを管理するノードテーブルと、
前記ノードテーブルの各要素の実際の内容を格納するノードメモリと
を備えることを特徴とする請求項２に記載のＸＭＬプロセッサ。
【請求項４】
前記ノードテーブルは、前記ノードメモリ上の各要素がそれぞれ格納されるアドレスを有することを特徴とする請求項３に記載のＸＭＬプロセッサ。
【請求項５】
前記ハードウェア処理モジュールは、ＸＭＬ ＤＴＤ処理を行うことを特徴とする請求項１に記載のＸＭＬプロセッサ。
【請求項６】
前記ハードウェア処理モジュールは、ＸＭＬスキーマの状態マシンを行うことを特徴とする請求項１に記載のＸＭＬプロセッサ。
【請求項７】
独立したハードウェアベースの第１のＸＭＬプロセッサと、ソフトウェアベースの第２のＸＭＬプロセッサを有するシステムにおいて行われるＸＭＬ処理方法であって、前記方法は、処理されることになるＸＭＬファイルのサイズをチェックすることと、
処理されることになる前記ＸＭＬファイルのサイズが設定されたサイズより大きい場合に、前記第２のＸＭＬプロセッサによってＸＭＬ処理を行うことと、
処理されることになる前記ＸＭＬファイルのサイズが前記設定されたサイズより大きくない場合に、前記第１のＸＭＬによってＸＭＬ処理を行うことと
を備えることを特徴とする方法。
【請求項８】
前記ＸＭＬ処理後にツリーの構築が必要かどうかをチェックすることと、
前記ツリーの前記構築が不要な場合に、前記第２ＸＭＬプロセッサによってＸＭＬ処理を行うことと、
前記ツリーの前記構築が必要な場合に、前記第１ＸＭＬプロセッサによってＸＭＬ処理を行うことと
をさらに備えることを特徴とする請求項７に記載の方法。
【請求項９】
請求項７に記載の方法は、
速い処理が必要かどうかをチェックすることと、
早い処理が不要な場合に、前記第２のＸＭＬプロセッサによって前記ＸＭＬ処理を行うことと、
早い処理が必要な場合に、前記第１のＸＭＬプロセッサによって前記ＸＭＬ処理を行うことと
をさらに備えることを特徴とする請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）処理に関し、さらにくわしくは、ＸＭＬ処理の一部がハードウェアによって行われ、これにより、システムの負荷を減らすだけでなく、ＸＭＬ処理速度を改善するＸＭＬプロセッサと、ＸＭＬプロセッサを有するシステムのＸＭＬ処理方法に関する。
【背景技術】
【０００２】
ＸＭＬは、インターネット上で実現される、電子商取引、ウェブポータル、コンテンツサービス、そして他の情報処理アプリケーションのための言語である。ＸＭＬ標準は、ＸＭＬ文書と呼ばれるデータオブジェクトのクラスと、そのようなＸＭＬ文書を処理するメソッドについて記述する。
【０００３】
ＸＭＬ文書は文字で構成されていて、そのうちいくつかは文字データを形成し、そのうちのいくつはマークアップを形成する。マークアップは、開始タグと終了タグとの対で構成されていて、文書レイアウトの説明及びＸＭＬ文書間の論理構造を提供する。
【０００４】
一方、ＸＭＬパーサは、ＸＭＬ文書の扱いを容易にするために使用されるソフトウェアライブラリーとして見ることができる。従来のほとんどのＸＭＬパーサは、ＸＭＬ文法と互換であるよう構成される。
【０００５】
従来のＸＭＬパーサの重要な欠点は、そのようなパーサは、比較的大きいソフトウェアコンポーネントを要求し、ＸＭＬ文書を処理するシステムの負荷を増加させることである。
【０００６】
インターネットの重要性は、情報化時代において増加してきている。とりわけ、ウェブの利用は、典型的なＰＣに加えて、携帯電話、デジタル家電、テレマティクス端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ウェブＴＶ等の、多様な組み込みシステムにおいて、急増してきている。しかし、そのような組み込みシステムは概して、ＰＣに比べて限られた演算能力とメモリ容量を有する。結果として、ソフトウェアベースの従来ＸＭＬパーサは、一般に組み込みシステムにおける使用に適していない。
【０００７】
その間にも、特定用途の非ＰＣベースのデバイスに適するＸＭＬパーサが開発されてきている。しかし、そのような特定用途のためのＸＭＬパーサは、基本的にソフトウェアライブラリーで構成される。それゆえに、非ＰＣベースのデバイスにおけるＸＭＬ処理に負荷はまだ課され、効率的な方式でＸＭＬ文書を処理するような方法が必要とされる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、独立したハードウェアに基づいてＸＭＬ処理の一部がハードウェア方式で処理されるＸＭＬプロセッサを提供し、これにより、従来のソフトウェア処理と比べてＸＭＬ処理速度を改善する。
【０００９】
本発明は、ハードウェアに基づいたＸＭＬプロセッサとソフトウェアに基づいたＸＭＬプロセッサとを備える装置において、ＸＭＬ処理の効率的な方法もまた提供する。
【課題を解決するための手段】
【００１０】
本発明の一態様によると、ＸＭＬ処理の一部が独立したハードウェアに基づいて、ハードウェア方式で実行され、これによって、システムの演算負荷を減らし、ＸＭＬ処理速度を改善するＸＭＬプロセッサおよびＸＭＬプロセッサを有するシステムにおいて実行されるＸＭＬ処理方法が提供される。
【発明の効果】
【００１１】
本発明は、独立したハードウェアに基づいてハードウェア方式でＸＭＬ処理の一部が実行されるＸＭＬプロセッサを提供し、これにより、従来のソフトウェア処理と比べてＸＭＬ処理速度を改善し、システムの演算負荷を減らす。
【００１２】
本発明は、特に、その例示的な実施例を参照して示され説明されているが、添付した特許請求の範囲によって規定されるように、本発明の精神及び範囲から逸脱せずに、形式と詳細においてさまざまな変更がなされ得ることが、当業者によって理解されるだろう。例示的な実施例は、単に説明的な意味でのみ考慮され、限定する意味でなく考慮されるべきである。したがって、本発明の範囲は、本発明の詳細な説明によってではなく、添付の特許請求の範囲によっても規定され、本発明の範囲内のあらゆる変更は、本発明に含まれていると解釈されるだろう。
【発明を実施するための最良の形態】
【００１３】
ＸＭＬプロセッサは、ＸＭＬ処理を実行するためのソフトウェア、変数、ソフトウェア実行時に必要な値を格納する第１メモリと、ハードウェア方式でＸＭＬ処理の一部を実行するハードウェア処理モジュールと、モジュールを処理するハードウェアによって採用される第２メモリと、第１メモリに格納されているソフトウェアによってＸＭＬ処理を制御するＣＰＵとを含む。ＸＭＬ処理の一部がハードウェア方式で実行されるＸＭＬプロセッサは、独立したハードウェアに基づいており、これにより、ＸＭＬ処理速度を改善し、従来のソフトウェア処理と比べてシステムの負荷を減らす。
【００１４】
本発明は、本発明の例示的な実施例が示されている添付の図面を参照して、より詳細にここで説明される。
【００１５】
本発明の一実施例は、システムのＣＰＵ（中央演算処理装置）上でＸＭＬ処理がさらに効率的になされるようにサポートするＸＭＬプロセッサを提供する。
【００１６】
従来のＸＭＬ処理は、全体的にソフトウェア方式で実現される。大量のＸＭＬ処理を行う際、従来のＸＭＬ処理はＣＰＵに多くの負荷を負わせる。これは、システム性能を低下させ、システムの他の機能に影響し、経済的な損失という結果になる。
【００１７】
また、携帯電話、デジタル家電、テレマティクス端末、ＰＤＡ等のように、ＰＣに比べてＣＰＵ性能が比較的低いシステムを有する組み込みシステムにおいて、ＸＭＬ処理は比較的に莫大な負荷となる。
【００１８】
本発明の一実施例は、独立したハードウェアに基づいて高速のＸＭＬ処理を提供し、これは、上記の問題を解決でき、それぞれの特性によってシステムに適切に適用できる。
【００１９】
図１は、本発明の一実施例によるＸＭＬプロセッサと、ソフトウェアに基づいた既存の汎用ＸＭＬパーサの動作を示す概略図である。図１に示すように、本発明の一実施例によるＸＭＬプロセッサ１３と、ソフトウェアベースの既存の汎用ＸＭＬパーサ１１は、同じ入力されたＸＭＬ文書１０を処理し、同じ生成物１２を生成する。
【００２０】
ソフトウェアベースの既存の汎用ＸＭＬパーサ１１は、マイクロソフトのＭＳＸＭＬ（Ｍｉｃｒｏｓｏｆｔ  ＸＭＬ  Ｐａｒｓｅｒ）、ＩＢＭのＣ＋＋のためのＸＭＬとｊａｖａ（登録商標）のためのＸＭＬ、サンマイクロシステムのＪＡＸＰ（Ｊａｖａ（登録商標）  ＡＰＩ  ｆｏｒ  ＸＭＬ  Ｐｒｏｃｅｓｓｉｎｇ）などＷ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）のＸＭＬバージョン１．０を完全にサポートする。
【００２１】
本発明の一実施例によるＸＭＬプロセッサ１３は、ＸＭＬ処理の一部、例えば、構文解析に必要なメモリ管理機能、ＸＭＬ  ＤＴＤ（Ｄａｔａ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）、ＸＭＬスキーマについての状態マシン等を、ハードウェア方式で実行する。ＸＭＬプロセッサ１３のスピードは、ソフトウェアベースの既存の汎用ＸＭＬパーサ１１に比べて速い。
【００２２】
ＸＭＬプロセッサ１３は、ＣＰＵの演算負荷を減らし、これにより、ＣＰＵがＸＭＬ文書のより自然な処理を実行することと、他の処理をより効率的に処理することを助ける。
【００２３】
図２は、本発明の一実施例によるＸＭＬプロセッサとソフトウェアに基づく特殊用途のための既存のＸＭＬパーサの動作を示す概略図である。
【００２４】
図２に示すように、本発明の一実施例によるＸＭＬプロセッサ１３と、ソフトウェアベースの従来の特殊用途のためのＸＭＬパーサ１５は、同じ入力されたＸＭＬ文書１４を処理し、同じ生成物１６を生成する。
【００２５】
図３は、本発明一実施例によるＸＭＬプロセッサの能力を示す概略図である。図３を参照すれば、本発明の一実施例によるＸＭＬプロセッサの処理能力は、それぞれのシステムへの要求によって、多様に適用可能ということが容易に理解される。
【００２６】
図３において、矢印３４は、ＸＭＬプロセッサの処理能力が増加する方向を示す。図３を参照すれば、本発明の一実施例によるＸＭＬプロセッサは、適用されるシステムの特性と処理能力によって設計されうることが見てとれる。
【００２７】
図４は、本発明によるＸＭＬプロセッサの例示的な実施例を示す。図４に示されたＸＭＬプロセッサ１３は、ＸＭＬプロセッサ１３を一般に制御するＣＰＵ４０と、ＣＰＵ４０の特定の機能を実行するためのソフトウェアと、変数と、ソフトウェアの命令を実行するのに必要な値を格納するメモリ４１と、ハードウェア方式でＸＭＬ処理の一部を実行するハードウェア処理モジュール４２と、ハードウェア処理モジュール４２が使用するメモリ４３とを備える。データを送受信するバス４４は上記の構成要素を接続する。
【００２８】
図４は、ＸＭＬ処理機能の間の特定機能は、ハードウェア方式で実現され得ることを示す。例えば、構文解析で使われるメモリ管理機能（すなわち、メモリの割り当て、返還、再割り当ての処理）は、ソフトウェアパーサの性能のほとんどに影響を与える。
【００２９】
図４を参照すれば、本発明の一実施例によるＸＭＬプロセッサは、ＸＭＬ処理性能を改善するために、ハードウェア方式でメモリ管理機能を実現できる。また、本発明の一実施例によるＸＭＬプロセッサは、メモリ管理機能に加えて、ＸＭＬ処理において頻繁に使われるＸＭＬ  ＤＴＤ（Ｄａｔａ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）とＸＭＬスキーマについての状態マシンを、ハードウェア方式で実現できる。
【００３０】
図５は、図４のＸＭＬプロセッサ１３に関して、ハードウェア方式でメモリ管理機能を実現する方法を示す概略図である。ＸＭＬパーサはＸＭＬドキュメントをツリー構造にコンパイルし、どのアプリケーションプログラムがナビゲートできるかで、階層的な情報を提供する。
【００３１】
ＸＭＬエレメントは、相互関係があり、ツリーベースであるノードで表現される。メモリ割り当てと、再割り当てと、返還は、ノードのために処理されなければならない。
【００３２】
ノードについてのメモリ管理のために考慮すべき点は、ノードで保守されるべき情報を選び、柔軟性のあるデータサイズを有する情報を処理することである。
【００３３】
ノードが格納しなければならない情報は、ＸＭＬ文書処理のためのＷ３Ｃ標準のうち一つであるＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）で定義されるかもしれない。ＤＯＭはほとんどのＸＭＬパーサでサポートされる標準であるため、様々なタイプの既存パーサと容易にリンクすることができる。
【００３４】
ＤＯＭを参照すれば、ノードが格納しなければならない情報は、ノード名、ノード値、ノードタイプ、親ノード、子ノード、最古の子ノード、最新の子ノード、先行シブリング、追随シブリング、属性値を含む。これに関連のさらなる情報は、ＤＯＭ標準にある。
【００３５】
柔軟性のあるデータサイズを有する情報は、ノードタイプがＰＣＤＡＴＡである時のノード値である。ノード名、ノードタイプ、データ値を有する属性値のサイズは、あまり柔軟性がないので、これらのサイズが固定であるとして処理してもほとんど問題はない。残りの情報はポインタ情報であり、これはアドレス情報のみを格納するのには十分である。
【００３６】
上記の特性を満たすために、ハードウェアを使用したメモリ管理機能は、図５に示すように、ノード使用法検査テーブル３０１と、ノードテーブル３０２と、実際データを保守するメモリ３０３で構成できる。ノード使用法検査テーブル３０１は、ノードが格納しなければならないデータの大きさによって異なるサイズを有するいくつかのブロックに分けられる。ブロックのフィールドは対応するノードテーブル３０２を使用するかどうかを示す。ノードテーブル３０２は、ノードが格納しなければならない情報全体、すなわち、ノード名、ノードタイプ、親ノード、子ノードなどを管理する。しかし、ノードテーブル３０２は、実際値ではなく、メモリ３０３のアドレスを格納する。ノードテーブル３０２の各フィールドは固定したサイズを有する。
【００３７】
メモリ３０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であってもよく、実際の値を格納するために使用される。ノード使用法検査テーブル３０１及びノードテーブル３０２を、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）として実現することは可能である
図５に示されるノード使用法検査テーブル３０１と、ノードテーブル３０２は固定の相互関係を有する。さらにくわしくは、ノード使用法検査テーブル３０１で使用されるメモリ位置が決定されるならば、ノードテーブル３０２で使用されるブロック位置は自動的に決定される。ノードテーブル３０２は、実際値を格納するのではなく、実際の情報を有するメモリ３０３上のアドレスを格納する。ノードテーブル３０２は、最大の性能を取得するために、固定された位置にマッピングすることができる。
【００３８】
しかし、ノードテーブル３０２上で、実際の値を有する情報はほとんどなく、大きい可変性を有する情報はほとんどない。これにより、メモリが適切なサイズを有すれば、メモリは大きく浪費されないだろう。ノードテーブル３０２に格納されるアドレスは、ノードテーブル３０２の他のフィールド（すなわち、他のノード）の情報であってもよい。
【００３９】
図６は、図５の装置でメモリを割り当てる手順を説明するフロー図である。第１に、割り当てられることになるメモリのサイズを含むノード情報は、動作３１０において取得される。割り当てられることになるメモリのサイズを含むノード情報は、ＸＭＬ構文解析の間、ＤＯＭツリーに必要なメモリを割り当てるために必要とされる。このノード情報に基づいて、ノード動作３１１において、ノード使用法検査テーブル３０１を参照するノードに割り当てる十分なメモリがあるか。十分なメモリがあれば、動作３１３において、メモリの利用法はノード使用法検査テーブル３０１で示される。十分なメモリがなければ、動作３１２において、エラー処理がなされる。
【００４０】
ノード使用法検査テーブル３０１とノードテーブル３０２は、固定した相互関係を有する。ゆえに、ノード使用法検査テーブル３０１で使用することになるメモリの位置が決定されると、ノードテーブル３０２上で使用する領域のアドレスは自動的に取得される。対応するノードテーブル３０２のアドレスは、動作３１４においてメモリの割り当てを完了するために、動作３１４において返される。
【００４１】
図７は、図５の装置で、メモリを再割り当てる手順を説明するフロー図である。メモリの再割り当ては、さらに大きいデータまたは少ないデータを扱うために適切なサイズを有するメモリの割り当てを参照する。
【００４２】
第１に、再割り当て情報は動作３２０において取得される。再割り当て情報は、現在使用されているノード情報と、望まれているメモリサイズを含む。再割り当て情報に基づいて、ノード使用法検査テーブル３０１は、動作３２１において、再割り当てとメモリに必要な領域チェックを実行し、メモリを再割り当てするかどうかを決定する。
【００４３】
もし、メモリ再割り当てが利用可能ならば、メモリの利用法は、動作３２３においてノード使用法検査テーブル３０２の新しく使われる部分に関して示され、元のノードの情報は、動作３２４において、割り当てられたノードテーブル３０２にコピーされる。その後、使用したものは不要なので、動作３２５においてノード使用法検査テーブル３０１の元のノードに対応するフィールドに関して未使用が示される。再割り当てされたノードテーブル３０２のアドレスは、動作３２６において返される。
【００４４】
図８は、図５の装置においてメモリを返す手順を説明するフロー図である。第１に、利用ノード情報は動作３２０において取得される。対応するノード使用法検査テーブル３０１は、動作３３１において、利用ノード情報３３０を使用して検査される。動作３３２において、探したノード使用法検査テーブル３０１のノードに対応するフィールドに関して不利用が示される。
【００４５】
図９は、本発明の一実施例によるＸＭＬプロセッサを活用するシステムのソフトウェア構造を示す階層図である。本発明の一実施例によるＸＭＬプロセッサ１３を活用するシステム５１とＸＭＬプロセッサ１３との間のインターフェース５６のために、多様な方法が使われうる。例えば、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のような標準方法が使われる。インターフェースの速度及び安定性の考慮において。システム５１のように、携帯電話、デジタル家電、テレマティクス端末、ＰＤＡ、ウェブＴＶなどのような、多様な組み込みシステムが使われる。
【００４６】
システム５１のデバイスドライバ５５は、ＸＭＬプロセッサ１３とデータを送受信するための最も低いレベルのプログラムである。ＸＭＬパーサＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）５４は、デバイスドライバ５５の上位である。応用プログラム５２は、ＸＭＬパーサＡＰＩ５４を使用してＸＭＬ処理を実行する。言語アプリケーション層５３は、アプリケーションプログラム開発時に言語の独立性を維持することを目的としている。言語アプリケーション層５３は、それ自身の言語によってサポートされなければならない。
【００４７】
ＸＭＬパーサＡＰＩ５４は、システム５１のメモリ（図示されていない）に格納され、プロセッサー（示されていない）によって実行されるソフトウェアプログラムを使用して実現され得る。ＸＭＬパーサＡＰＩ５４は、ＸＭＬドキュメントの処理に適したＸＭＬの文法をサポートする。ＸＭＬプロセッサ１３は、ＸＭＬドキュメントを実行し、図４に示されるように、ＸＭＬ処理の一部、例えば、メモリ管理機能を組み込んだハードウェア処理モジュール４２及びメモリ４３を使用して、これにより、ＸＭＬの処理速度を改善する。ＸＭＬプロセッサ１３のハードウェア処理モジュール４２のメモリ管理機能は、図５から図８を参照して示され、説明される。
【００４８】
図１０は、大量のＸＭＬ処理のためのシステムのソフトウェア構造を示す階層図である。図１０に示されるシステム６０は、図５に示されるシステム５０に似た構成を有し、さらにソフトウェアＸＭＬパーサ６２を含む。
【００４９】
さらに効果的にＸＭＬ情報を処理するために、ソフトウェア処理が、処理状況によって好都合な場合には、ソフトウェアＸＭＬパーサ６２は、ＸＭＬ情報を処理し、そうでない場合には、ＸＭＬプロセッサ１３はＸＭＬ情報を処理する。
【００５０】
ＸＭＬパーサＡＰＩ層６１は、そのような処理分割を決定する。処理状況と手順が図１１を参照して説明される。
【００５１】
図１１は、本発明の一実施例によるＸＭＬ処理方法を説明するフロー図である。図１１は、図４から図６を参照して説明された本発明の実施例によるＸＭＬプロセッサ及びソフトウェアベースのＸＭＬプロセッサを有するシステムにおいて実行されるＸＭＬ処理方法を示す。
【００５２】
第一に、入力されたＸＭＬファイルのサイズは、動作６５においてチェックされる。なぜなら、特定のユニットを超えるサイズを有するＸＭＬファイルを処理することは、限られたメモリを有するＸＭＬプロセッサの全般的な性能に影響するからである。したがって、この場合、ＸＭＬファイルは、動作６４においてソフトウェアＸＭＬパーサ６２を使って処理される。
【００５３】
入力されたファイルのサイズが設定されたサイズより小さいならば、動作６６において、ＸＭＬ処理結果として解析ツリーが必要かどうかをチェックする。これは、ソフトウェアＸＭＬパーサとＸＭＬプロセッサの間にほとんど性能の違いがない時、ソフトウェア処理が好都合なので、必要である。
【００５４】
ＸＭＬ処理の結果としてツリーが不要な場合には、ソフトウェアＸＭＬパーサは、動作６４において、ＸＭＬファイルを処理する。
【００５５】
ＸＭＬ処理の結果としてツリーが必要な場合には、動作６７において、速い処理が必要か否かチェックする。これは、速い処理が不要なファイルは、ソフトウェアプロセッサを使用して実行され、速い処理が必要なファイルは、ＸＭＬプロセッサを使用して実行されるので、必要である。
【００５６】
速い処理が不要なファイルは、動作６４において、ソフトウェアプロセッサを使用して実行し、速い処理が必要なファイルは、動作６８において、ＸＭＬプロセッサを使用して実行する。
【００５７】
本発明の実施例によるＸＭＬプロセッサは、ＸＭＬ処理を必ず要求する多様なシステムに適用可能であり、独立したハードウェアに基づいてハードウェア方式で、ＸＭＬ処理機能の一部、例えば、パージングに必要なメモリ管理機能、ＸＭＬ  ＤＴＤ、ＸＭＬスキーマについての状態マシン等を実行し、これにより、既存のソフトウェア処理と比べてＸＭＬ処理速度を改善する。
【００５８】
ＸＭＬプロセッサが適用されたシステムは、ＣＰＵに不必要に負荷をかけないので、これによって、システムの性能を大きく向上し、よって、演算能力が限られている小型の組み込みシステムは、ＸＭＬ処理を実行できる。
【００５９】
本発明の実施例によるＸＭＬプロセッサは、ＸＭＬ処理の高い性能を大きく要求するシステムとＸＭＬ処理によって過負荷されるが、ＸＭＬ処理の高い性能を要求しないシステムへ同じように適用できる。
【００６０】
すなわち、本発明の実施例によるＸＭＬプロセッサは、大量のＸＭＬ処理を要求する電子商取引サーバと、デジタル家電、テレマティクス端末、ＰＤＡなどの小型の組み込みシステム等へ採用できる。
【００６１】
一般に、限られた演算能力を有する小型の組み込みシステムで使われるパーサは、１つ以上の指定されたＸＭＬ  ＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）またはスキーマをサポートするか、ＸＭＬ処理のために過負荷を減らすためにＸＭＬ標準の一部をサポートする。しかし、上記の方法もまた、自然なＸＭＬ処理を取得するために、本発明の実施例によるＸＭＬプロセッサを使用することができる。
【００６２】
本発明の実施例によるＸＭＬプロセッサは、サーバのためのＰＣＩカードタイプと、一般のタブレットＰＣのためのスティックＵＳＢタイプと、スマートフォンやデジタル家電のためのＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）タイプ等を有してよい。そのような様々なタイプは、本発明の実施例によるＸＭＬプロセッサが、メモリ能力と様々なシステムの特性に適応できることを示している。また、システムとＸＭＬプロセッサの間のインターフェースは、各システムの特性に適応する。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施例によるＸＭＬプロセッサ及び従来のソフトウェアに基づく汎用ＸＭＬパーサの動作を示す概略図である。
【図２】本発明の一実施例によるＸＭＬプロセッサ及び従来のソフトウェアによる特殊用途のＸＭＬパーサの動作を示す概略図である。
【図３】本発明の一実施例によるＸＭＬプロセッサの能力を示す概略図である。
【図４】本発明のＸＭＬプロセッサの例示的な実施例を示す図である。
【図５】図４のＸＭＬプロセッサについて、ハードウェア方式でメモリ管理機能を実現する方法を示す概略図である。
【図６】図５の装置においてメモリの割り当てる手順を説明するフロー図である。
【図７】図５の装置においてメモリの再割り当て手順を説明するフロー図である。
【図８】図５の装置においてメモリを返す手順を説明するフロー図である。
【図９】本発明の一実施例によってＸＭＬプロセッサを活用するシステムのソフトウェア構造を示す階層図である。
【図１０】大量のＸＭＬ処理のためのシステムのソフトウェア構造を示す階層図である。
【図１１】本発明の一実施例によってＸＭＬ処理方法を表すフロー図である。
【図１】
2007520799.tif 000003
【図２】
2007520799.tif 000004
【図３】
2007520799.tif 000005
【図４】
2007520799.tif 000006
【図５】
2007520799.tif 000007
【図６】
2007520799.tif 000008
【図７】
2007520799.tif 000009
【図８】
2007520799.tif 000010
【図９】
2007520799.tif 000011
【図１０】
2007520799.tif 000012
【図１１】
2007520799.tif 000013
【国際調査報告】
2007520799.tif 000014
2007520799.tif 000015