(57)【要約】  本発明は、ドキュメント、特に大きなＸＭＬドキュメントへのランダムアクセスを提供する方法及びシステムに関する。従って、本発明は、現在のＸＭＬプロセッサが大きなＸＭＬドキュメントへのランダムアクセスを提供することができず、又はランダムアクセスを提供するが、ユーザフレンドリーから程遠い低速なスピードによるものしか提供しないという問題点を解消する。本方法は、ドキュメントへのＲＡＰを生成し、ＲＡＰを独立したストレージ手段に格納することを提案する。これらのＲＡＰは、パーシングされるドキュメントのフラグメントのスタート及び／又はエンドを示し、ドキュメントのフラグメントによるランダムアクセスを可能にする手段を提供する。
2008538032.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置においてドキュメントのコンテンツへのランダムアクセスを提供する方法であって、
前記ドキュメントを第１ストレージ手段に格納するステップと、
前記ドキュメントのフラグメントのスタート及び／又はエンドを示すＲＡＰ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｐｏｉｎｔ）を生成するため、前記ドキュメントをパーシングするステップと、
前記ＲＡＰを第２ストレージ手段に格納するステップと、
を有する方法。
【請求項２】
前記ドキュメントの選択されたフラグメントを第３ストレージ手段に格納するステップをさらに有する、請求項１記載の方法。
【請求項３】
前記ドキュメントは、１以上のＸＭＬオブジェクトを有するＸＭＬドキュメントである、請求項１又は２記載の方法。
【請求項４】
前記ドキュメントは、ネーティブフォーマットによる１以上のオブジェクトを有し、
当該方法は、前記ネーティブフォーマットによるオブジェクトを１以上のＸＭＬオブジェクトを有するＸＭＬドキュメントに変換するステップを有する、請求項３記載の方法。
【請求項５】
前記ドキュメントは、それのパーシング前に永久ストレージ手段に格納される、請求項１乃至４何れか一項記載の方法。
【請求項６】
前記ドキュメントをフラグメントにより受信するステップをさらに有し、
前記ドキュメントをパーシング及び格納するステップは、前記フラグメントに対して連続的に実行される、請求項１乃至５何れか一項記載の方法。
【請求項７】
前記ＸＭＬドキュメントのサイズは、１０ＭＢ以上であり、好ましくは３０ＭＢ以上であり、より好ましくは５０ＭＢ以上であり、最も好ましくは１００ＭＢ以上である、請求項３乃至６何れか一項記載の方法。
【請求項８】
前記ＲＡＰは、前記ＸＭＬドキュメントのルートのチャイルドである、請求項３乃至７何れか一項記載の方法。
【請求項９】
前記ＲＡＰは、前記ドキュメントのドキュメント記述を介し示される、請求項１乃至７何れか一項記載の方法。
【請求項１０】
当該方法はさらに、前記コンピュータ装置上のアプリケーションを用いて前記ドキュメントをレンダリングするステップをさらに有する、請求項１乃至９何れか一項記載の方法。
【請求項１１】
ドキュメントのコンテンツへのランダムアクセスを提供するシステムであって、
前記ドキュメントを格納する第１ストレージ手段と、
前記ドキュメントのフラグメントのスタート及び／又はエンドを示すＲＡＰ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｐｏｉｎｔ）を生成するため、前記ドキュメントをパーシングするパーシング手段と、
前記ＲＡＰを格納する第２ストレージ手段と、
を有するシステム。
【請求項１２】
前記ドキュメントの選択されたフラグメントを格納する第３ストレージ手段をさらに有する、請求項１１記載のシステム。
【請求項１３】
前記ドキュメントは、１以上のＸＭＬオブジェクトを有するＸＭＬドキュメントである、請求項１１又は１２記載のシステム。
【請求項１４】
前記ＸＭＬドキュメントのサイズは、１０ＭＢ以上であり、好ましくは３０ＭＢ以上であり、より好ましくは５０ＭＢ以上であり、最も好ましくは１００ＭＢ以上である、請求項１３記載のシステム。
【請求項１５】
前記ＲＡＰは、前記ＸＭＬドキュメントのルートのチャイルドである、請求項１３又は１４記載のシステム。
【請求項１６】
前記ＲＡＰは、前記ドキュメントのドキュメント記述を介し示される、請求項１１乃至１５何れか一項記載のシステム。
【請求項１７】
当該コンピュータプログラムがデータ処理装置上で実行されると、前記データ処理装置に請求項１乃至１０何れか一項記載の方法のステップを実行させるよう構成されるプログラムコード手段を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置においてドキュメントのコンテンツへのランダムアクセスを提供する方法に関する。本発明はさらに、ドキュメントのコンテンツへのランダムアクセスを提供するシステムと、データ処理装置に本発明の方法を実行させるよう構成されるプログラムコード手段を有するコンピュータプログラムとに関する。
【背景技術】
【０００２】
データは、ＸＭＬ等の複数の方法によってマークアップすることができる。ＸＭＬの設計目的は、インターネットを介した情報のパブリッシングを可能にすることであった。しかしながら、ＸＭＬはまた、何れか具体的なアプリケーションに依存しないデータの格納を可能にするため利用可能である。
【０００３】
ドキュメントは、ＸＭＬによりパブリッシング及び／又は格納可能であり、ドキュメントを閲覧する現在の方法が利用不可となっても、ＸＭＬ構造は最小限の努力によりドキュメントを再び閲覧することを可能にする。
【０００４】
さらに、ＸＭＬはそれの設計段階において予見されたものより多くの効果を提供することが判明した。例えば、データのログ処理、解析及びレンダリングが特に効果的である。本明細書を通じて、“レンダリング”という用語は、コンピュータ装置のスクリーン若しくはディスプレイ上へのコンテンツの何れかの表示又はコンピュータ装置へのコンテンツの他の何れかのアクセスをカバーすることが意図される。
【０００５】
しかしながら、大きなＸＭＬドキュメントへのランダムアクセス、すなわち非順次アクセスは、後述されるように、可能である場合でも現在はシステム及び／又はユーザフレンドリーなものでない。
【０００６】
ＸＭＬドキュメントへのアクセスは、典型的には、ＸＭＬプロセッサにより実行される。大部分のＸＭＬプロセッサは、ツリーベースＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）とイベントベースＡＰＩの２種類のＡＰＩのみに制限される。
【０００７】
ツリーベースＡＰＩは、アプリケーションを用いたツリーを介した以降のナビゲーションのため、ＸＭＬドキュメントを内部ツリー構造にマッピングする。このようなツリーベースＡＰＩの周知の具体例は、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）である。ツリーベースＡＰＩは、広範なアプリケーションについて有用であるが、それらは特にドキュメントが大きなものである場合、システムリソースに対して大きな負担を通常課す。さらに、多くのアプリケーションは、ＸＭＬドキュメントに対応する汎用ツリーを使用するよりも、自らの強力なタイプのデータ構造を構築する必要がある。パースノードのツリーを構築し、それを新たなデータ構造にマッピングするだけで、オリジナルを破棄することは不十分である。
【０００８】
イベントベースＡＰＩは、通常は内部ツリーを構築しない。その代わりに、イベントベースＡＰＩは、パーシングイベント（エレメントのスタート及びエンドなど）をコールバックを通じてアプリケーションに直接報告し、内部ツリーを通常は構築しない。アプリケーションは、各イベントを処理するためコールバックイベントハンドラを実現する。イベントベースＡＰＩは、ツリーベースＡＰＩよりもシンプルで低レベルのＸＭＬドキュメントへのアクセスを提供する。利用可能なシステムメモリよりはるかに大きなドキュメントをパーシングすることが可能であり、コールバックイベントハンドラを使用してデータ構造を構成可能である。このようなイベントベースＡＰＩの最も良く知られた具体例は、ＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）である。
【０００９】
大きなＸＭＬドキュメントの場合、後述されるように、ランダムアクセスＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などを使用してＸＭＬドキュメントへの非順次アクセスを獲得することは、大変時間がかかり、おそらく不可能ですらあるかもしれない。ＸＭＬドキュメントへの非順次アクセスを取得することが可能である場合でさえ、ＸＭＬドキュメントをナビゲートするためコンピュータ装置によって使用されるスピードは、ヒューマンインタラクションに対しては遅すぎる可能性がある。これは、後述されるように、それの理由が２つのケースにおいて異なる場合でさえ、イベントベースＡＰＩとツリーベースＡＰＩの双方について真である。
【００１０】
上述されるように、ツリーベースＡＰＩでは、ツリーが構築され、コンピュータ装置のメモリに保持される必要がある。このツリーは、通常はもとのＸＭＬドキュメントの約１０倍のメモリ容量を使用する。さらに、何れかのものがユーザに表示可能になる前に、ツリーベースＡＰＩの使用はドキュメント全体のパーシングを要する。このため、ＸＭＬドキュメント自体が大きなものである場合、ＸＭＬドキュメント上に構築されたツリーは、大きなものとなりすぎる可能性があり、コンピュータ装置のオペレーティングシステムに対するパフォーマンスの影響を有するかもしれない。
【００１１】
イベントベースＡＰＩによると、ＸＭＬドキュメントへの順次アクセスが可能である。これにより、ユーザは十分ユーザフレンドリーなスピードによりＸＭＬドキュメントを順方向に移動することが可能である。しかしながら、ユーザがＸＭＬドキュメントにおいて逆方向に移動したい場合、ドキュメントのフローのリバースは、ＸＭＬドキュメントがＸＭＬドキュメントのスタートからユーザにより選択されたＸＭＬドキュメントのポイントまでパーシングされる必要があることを意味する。これを行うために要する時間は、計算装置のストレージのリードアクセス時間と、イベントベースＡＰＩのパーシングスピードと共にＸＭＬドキュメントを閲覧するのに用いられるアプリケーションのスピードとに依存する。従って、イベントベースＡＰＩを使用した大きなＸＭＬドキュメントへのランダムアクセスは、典型的には可能であるが、ユーザインタラクションに対しては遅すぎるものとなる。
【００１２】
従って、ＸＭＬ及び現在のＸＭＬ  ＡＰＩは、大きなＸＭＬドキュメントへのランダムアクセス又は非順次アクセスを提供する可能性を提供しない、という問題がある。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従って、本発明の課題は、大きなＸＭＬドキュメントへの非順次アクセスを提供する方法及びシステムを提供することである。本発明の他の課題は、大きなＸＭＬドキュメントへのより高速なアクセス及び／又はサーチを提供することである。
【課題を解決するための手段】
【００１４】
上記及び他の課題は、導入パラグラフにおいて記載されたタイプの方法が、前記ドキュメントを第１ストレージ手段に格納するステップと、前記ドキュメントのフラグメントのスタート及び／又はエンドを示すＲＡＰ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｐｏｉｎｔ）を生成するため、前記ドキュメントをパーシングするステップと、前記ＲＡＰを第２ストレージ手段に格納するステップとを有するときに実現される。
【００１５】
ドキュメントのフラグメントのスタート及び／又はエンドがＲＡＰを用いて示されるため、これらのフラグメントはランダムに、すなわち、非順次的にアクセス可能となる。ドキュメントは第１ストレージ手段に格納され、ＲＡＰは第２ストレージ手段に格納される。しかしながら、第１及び第２ストレージ手段は、同一のストレージ手段の異なるセクションとすることも可能である。“フラグメントのスタート及び／又はエンドを示す”という用語は、“フラグメントのスタート及び／又はエンドの位置を示す”及び“フラグメントのスタート及び／又はエンドのポジションを示す”という用語と同義的であることが意図される。
【００１６】
本発明による方法の好適な実施例では、それはさらに、ドキュメントの選択されたフラグメントを第３ストレージ手段に格納するステップを有する。これによって、選択されたフラグメントのみが格納されるという点で、上記選択されたフラグメントをより迅速にサーチすることが可能となる。従って、上記第３ストレージ手段は、第１ストレージ手段より小さくすることが可能であり、これにより、フラグメント若しくはデータをサーチする時間を短縮することが可能となる。第３ストレージ手段に格納されるフラグメントは、スピード対サイズレシオが調整可能となるように設定可能である。
【００１７】
本方法の好適な実施例では、ドキュメントは１以上のＸＭＬオブジェクトを有するＸＭＬドキュメントである。これによって、本方法は、ストレージ容量を過剰に使用することなく不可能であったＸＭＬドキュメントへのランダムアクセスを提供する。
【００１８】
他の好適な実施例では、ドキュメントは、ネーティブフォーマットによる１以上のオブジェクトを有し、本方法は、ネーティブフォーマットによるオブジェクトを１以上のＸＭＬオブジェクトを有するＸＭＬドキュメントに変換するステップを有する。これにより、ネーティブフォーマットによるオブジェクトを有するドキュメントは、ＸＭＬドキュメントにＲＡＰを提供するよう処理可能である。
【００１９】
本方法の１つの好適な実施例では、ドキュメントはそれのパーシング前に永久ストレージ手段に格納される。本方法の他の好適な実施例では、それはさらに、フラグメントによりドキュメントを受信するステップをさらに有し、ドキュメントをパーシング及び格納するステップは、フラグメントに対して連続的に実行される。これによって、本方法は、プロセスの一部として生成されているストリーミングされたドキュメントにより作業可能となる。本方法は、受信したドキュメントを処理、パーシング、格納及びインデックス処理するのみである（すなわち、それらに対するＲＡＰを生成する）。本方法は、ドキュメント全体がアクセス可能である必要はなく、ドキュメントのフラグメント全体、すなわち、１以上のＸＭＬオブジェクトなどのエンドとスタートとを有するフラグメントのみアクセス可能であればよい。
【００２０】
好ましくは、ＸＭＬドキュメントのサイズは、１０ＭＢ以上であり、好ましくは３０ＭＢ以上であり、より好ましくは５０ＭＢ以上であり、最も好ましくは１００ＭＢ以上である。これらのサイズのドキュメントによると、本方法は特に、これらのサイズのドキュメントにランダムにアクセス可能な他の何れのＸＭＬプロセッサも存在しないため、ランダムアクセスを提供するのに効果的である。
【００２１】
好適な実施例では、ＲＡＰは、ＸＭＬドキュメントのルートのチャイルドである。これは、ＲＡＰが容易に利用可能であるという点で、ＸＭＬドキュメントをインデックス処理する特に容易な方法を提供する。
【００２２】
他の好適な実施例では、ＲＡＰは、ドキュメントのドキュメント記述を介し示される。
【００２３】
さらなる好適な実施例では、本方法はさらに、コンピュータ装置のアプリケーションを用いてドキュメントをレンダリングするステップを有する。このようなアプリケーションは、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介しユーザがドキュメントにおいてナビゲートするためのドキュメントへのランダムアクセスを要求するＧＵＩとすることが可能である。
【００２４】
本発明はさらに、上述した方法と同様の効果を有する本発明による方法を実行するよう構成されるシステム及びコンピュータプログラムに関する。
【００２５】
本明細書を通じて、“大きなＸＭＬドキュメント”という用語は、ランダムアクセスＧＵＩを用いたレンダリング若しくは閲覧が困難若しくは不可能であるサイズを有するＸＭＬドキュメントをカバーすることを意図している。絶対的な用語では、このようなサイズは１０〜１００ＭＢ若しくはそれ以上のサイズのＸＭＬドキュメントとすることが可能である。さらに、“ＲＡＰを生成する”という用語は、“インデックス処理する”という用語と同義的であり、“ランダムアクセス”という用語は、“非順次的アクセス”と同義的であることが意図される。最後に、本明細書を通じて、“ドキュメント”という用語は１以上の“オブジェクト”を含みうる１以上の“フラグメント”を含みうるということに留意すべきである。
【発明を実施するための最良の形態】
【００２６】
図面の以下の説明は、ＸＭＬドキュメントの具体例に関するものであるが、それは本発明の範囲を限定するものとして解釈されるべきでない。
【００２７】
図１は、本発明による方法の実施例のフローチャートである。本方法は、何れかのコンピュータ装置において何れかのドキュメントについて実行可能である。当該フローはステップ１０においてスタートし、ステップ２０に続いて、ドキュメントがいわゆる“大型ＸＭＬストア”である第１ストレージ手段に格納される。当該フローは、次のステップであるステップ３０に続き、ドキュメントの各フラグメントのスタート及び／又はエンドを示すＲＡＰ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｐｏｉｎｔ）を生成するため、ドキュメントはパーシングされる。ＲＡＰは、ドキュメントのドキュメント記述に示すことが可能である。ドキュメントがＸＭＬドキュメントである場合、ＲＡＰはＸＭＬドキュメントのルートのチャイルドである可能性がある。しかしながら、他の可能性もまた考えられる。パーシングは、読み出し専用処理であるため、大型ＸＭＬストアに格納されるドキュメントを変更しない。次のステップであるステップ４０において、ＲＡＰは第２ストレージ手段である“ＲＡＰストア”に格納される。これにより、ＲＡＰストアは、ドキュメントの各フラグメントのスタート及び／又はエンドを示すインデックスであるＲＡＰを含む。これは、ＸＭＬドキュメントへのランダムアクセスを要求する何れかのアプリケーションによって利用可能であり、これにより、各フラグメントへのランダムアクセスが可能となる。当該フローはステップ１００に続き、エンドとなる。
【００２８】
図１のフローは、ドキュメントをパーシングし、ＲＡＰを生成するステップ２０の後に、さらなるストレージのさらなるステップ（図示せず）を有するよう拡張可能である。このさらなるストレージは、多くのＸＭＬドキュメントが１つの大きなＸＭＬドキュメントを形成するよう一緒に追加される場合に想定可能であり、これらＸＭＬドキュメントのそれぞれは、初期的には別々に格納されているものである。
【００２９】
図２は、本発明による方法の他の実施例のフローチャートである。図１のフローチャートの各ステップは、図２のフローチャートの各ステップとして含まれており、これらのステップについてはここでは詳述しない。再び、図２に示される方法は、何れかのコンピュータ装置に対して実行可能である。図２のフローはステップ１０においてスタートし、ステップ１４に続いて、ドキュメントの各フラグメントが受信される。ドキュメントの各フラグメントは、例えば、インターネットなどを介し相互接続された他のコンピュータ装置から、本方法が実行されるコンピュータ装置にストリーミング可能であるか、又はそれらは、コンピュータ装置上で実行されるアプリケーションから連続的に受信することが可能である。次のステップであるステップ１６は、ステップ１４において受信したドキュメントの各フラグメントがＸＭＬフォーマットである場合、ステップ１６はスキップされるように、任意的なものである。しかしながら、ステップ１４において受信したドキュメントの各フラグメントがＸＭＬ以外のフォーマットによるものである場合、例えば、それらがＣ＋＋オブジェクト、Ｊａｖａ（登録商標）クラスインスタンス若しくはＣデータ構造などのネーティブフォーマットによるオブジェクトである場合、ステップ１６が実行される。ステップ１６において、ステップ１４において受信した各フラグメントは、複数のＸＭＬオブジェクトを有するＸＭＬフラグメントに変換可能である。ネーティブフォーマットによる各オブジェクトは、ＸＭＬオブジェクトに変換可能であり、あるいはネーティブフォーマットによる複数のオブジェクトは、複数のＸＭＬオブジェクトを有するＸＭＬフラグメントに変換可能である。その後、当該フローは、図１に関して上述されたステップ２０、３０及び４０に続く。その後、当該フローはステップ５０に続き、選択されたフラグメントが第３ストレージ手段である高速アクセスストアに格納される。これにより、高速アクセスストアに格納された選択されたフラグメントは、各フラグメント全体を含む大型ＸＭＬストアより高速にサーチすることが可能となる。ステップ５０は、多くの方法により実行可能であるが、特に効果的な方法は、高速アクセスストアに大型ＸＭＬストアのＲＡＰを格納し、高速アクセスストアのＲＡＰをＲＡＰドキュメントに格納することである。このＲＡＰドキュメントは高速アクセスストアを指示し、高速アクセスストアはサーチテキストを有し、ＲＡＰは大型ＸＭＬストアを指示する。しかしながら、ＲＡＰドキュメントは、あるいは大型ＸＭＬストアと高速アクセスストアの両方のＲＡＰを有することも可能である。さらに、ＲＡＰはまた、高速アクセスストアへのランダムアクセスに必要とされる。このため、ＲＡＰストアは、これらのＲＡＰストアがまたそこに格納可能となるように設計される。当該フローは、ステップ１００においてエンドとなる。
【００３０】
図１に示される方法は、図２に示されるステップ１４及び１６並びに／又は図２に示されるステップ５０と組み合わせ可能であることに留意すべきである。
【００３１】
図３は、好ましくは大きなＸＭＬドキュメントであるＸＭＬドキュメントへのランダムアクセスを生成する本発明によるシステム１０１を示す。システム１０１のコンポーネントは、コンピュータ装置におけるコンポーネントである。システム１０１は、ドキュメントアイテム１０２を受信するパーサ１１０を有する。ドキュメントアイテム１０２は、リードメッセージの後にコンピュータ装置の永久的なストレージ手段から受信したＸＭＬドキュメント全体とすることが可能である。あるいは、ドキュメントアイテム１０２は、ＸＭＬフォーマットによるリアルタイムシステムの出力や、Ｊａｖａ（登録商標）クラスインスタンス、Ｃ＋＋オブジェクト若しくはＣデータ構造などのネーティブフォーマットによるオブジェクトなどのＸＭＬドキュメントの各フラグメントとすることが可能である。ドキュメントアイテムがＸＭＬ以外のフォーマットである場合、図４の説明に関して後述されるように、変換が行われる必要がある。
【００３２】
さらに、ドキュメントアイテム１０２に関するドキュメントアイテム記述１０３が、パーサ１１０に転送可能である。ドキュメントアイテム記述１０３は、ドキュメントアイテム１０２への好適なＲＡＰの指標、ドキュメントアイテム１０２がシステム１０１の高速アクセスストア１４０に格納されるべきか否かの指標などを有することが可能である。一般に、ドキュメントアイテム記述は、オブジェクトがＸＭＬフォーマットによりドキュメントに変換可能となるようにオブジェクトを記述する。オブジェクト及び結果として得られるＸＭＬドキュメントは、長さについて可変的なものとすることが可能である。パーサ１１０は、ドキュメントアイテム０１２の各フラグメントのスタート及び／又はエンドを示すＲＡＰを生成するため、受信したドキュメントアイテム１０２をパーすするよう構成される。ドキュメントアイテム１０２がすでにＲＡＰを生成するためパーシングされている場合、これらのＲＡＰはパーサ１００に転送可能である。
【００３３】
パーサ１１０は、ＸＭＬフォーマットによるドキュメントアイテム１０２が格納されている第１ストレージ手段である大型ＸＭＬストア１２０に接続される。パーサ１１０はさらに、ドキュメントアイテム１０２に関連するＲＡＰが格納されている第２ストレージ手段１３０であるＲＡＰストアに接続される。最後に、パーサは、ＸＭＬフォーマット、テキスト若しくはバイナリによるドキュメントアイテム１０２の選択されたフラグメントが格納される第３ストレージ手段である高速アクセスストアに接続される。好ましくは、アプリケーションベースにより高速アクセスストアのタイプについて決定することが可能であるべきである。一アプリケーションでは、高速アクセスストアは、「私は、テキスト“リンゴ”を含むフィールドコール“Ｄａｔｕｍ”を有するすべてのオブジェクトを検出することを所望する」などのクエリをユーザが生成可能なグラフィカルユーザインタフェースが可能となるように、テキストを有する。例えば、高速アクセスストアは、テキストフォーマットによる＜ｔａｇ＞ｖａｌｕｅ＜／ｔａｇ＞の形式による情報と共に、大型ＸＭＬストアにおけるＸＭＬ各フラグメントへのインデックスを有することが可能である。これは、以下に示されるように実行可能である。すなわち、
第１ナンバー：ＸＭＬフラグメントのスタート
第２ナンバー：ＸＭＬフラグメントのエンド
第３ナンバー：タグ値ペアの個数
タグ
値
が繰り返すことが可能である。
【００３４】
上記構成の具体例は、
００００００
０００１０４
０００００２
第１タグ
「これは、第１タグの値である」
第２タグ
「これは、第２タグの値である」
０００１０５
０００２３５
０００００１
タグ
「これは、タグの値である」
０００２３６
・・
・・
とすることができる。
【００３５】
これにより、求められている情報が、高速アクセスストアにより容易かつ迅速に検出可能となる。
【００３６】
パーサは、ドキュメントアイテム１０２のオブジェクトのフラグメントに対するＲＡＰを取得するため、ＲＡＰストア１３０を取得可能である。このＲＡＰドキュメントは、以降において指定されたポジションにおいて読み出し可能である大型ＸＭＬストア１２０若しくは高速アクセスストア１４０におけるドキュメントアイテム１０２のポジションを示す。これにより、ドキュメントアイテム１０２へのランダムアクセスが取得される。高速アクセスストア１４０に格納されるドキュメントアイテム１０２は、高速アクセスストアのコンテンツが大型ＸＭＬストアのコンテンツより小さいため、大型ＸＭＬストア１２０のドキュメントアイテムよりはるかに高速にサーチ可能である。パーサ１１０は、コンピュータ装置の何れかのプロセッサ手段により実現可能であり、大型ＸＭＬストア１２０、ＲＡＰストア１３０及び高速アクセスストア１４０が、何れか適切な記憶媒体とすることが可能となる。
【００３７】
図４は、ＸＭＬ以外のフォーマットによるデータを受信する本発明によるシステムの概略図である。システム１０１は、図３に関して説明された要素を有するが、パーサ１１０は、後述されるように、図３と比較して若干異なる方法ステップを実行するよう構成される。図４において、送信システム１０８は、システム１０１と通信し、出力をログ処理するためシステム１０１を使用する。送信システム１０８は、何れのオブジェクトがログ処理されるべきか、Ｃ＋＋オブジェクトなどのネーティブフォーマットによるオブジェクトに関するデータをわたす。当該データ１０４は、システムの高速アクセスストア１４０に格納されるべきオブジェクトに関する情報を含む、図３に関して説明されたようなドキュメントアイテム記述とすることが可能である。このデータ１０４はＸＭＬフォーマットである。送信システム１０８はさらに、ストリーム１０６に対するリクエストを送信する。当該ストリームは、例えば、何れかの識別子若しくは数とすることが可能である。
【００３８】
システム１０１は、動的にリンクされたライブラリとして実現可能であり、送信システム１０８は、動的にリンクしたライブラリからエキスポートされたファンクションを利用することによってコールアップ１０１することが可能である。従って、ストリームのリクエストは、識別子若しくは数をリターンする。その後、オブジェクト１０７はストリームに追加可能である。この場合、識別子若しくは数は、追加すべきオブジェクトと共に記述されるべきである。
【００３９】
システム１０８及び１０１は、同時に複数のストリームを有することが可能であり、何れかのストリームが相異なるファイルセットを搬送する。システム１０１と送信システム１０２との間のストリームが確立されると、送信システム１０８は、当該ストリームのネーティブフォーマットによるオブジェクトをシステム０１のパーサに送信する。パーサ１１０は、受信したオブジェクトをＸＭＬに変換し、変換したＸＭＬオブジェクトをストリーム毎に１つずつ大型ＸＭＬストア１２０に格納する。その後、パーサ１１０は、変換したＸＭＬオブジェクトを読み込み、送信システム１０８とシステム１０１との間で各ストリームについて２つのファイルを生成する。第１ファイルは、高速アクセスストア１４０に格納されるファイルのＲＡＰを有し、第２ファイルは、大型ＸＭＬストアに格納されるオブジェクトのＲＡＰを含む。パーサ１１０は、ドキュメントアイテム記述を有するデータ１０４を使用することによってこれらのファイルを生成する。
【００４０】
図１及び２に関して説明された方法と、図３及び４に関して説明されたシステム１０１とによると、ＸＭＬドキュメントのフラグメント及びオブジェクトへのランダムアクセスを取得することが可能であり、さらに、ＸＭＬドキュメントの各フラグメント及び／又はオブジェクトは、異なって処理可能である。上述されるように、高速アクセスストアによって、より高速なサーチがまた可能である。
［具体例］
以下において、ドキュメントアイテム１０２及びデータ１０４の具体例が、それらの可能なフォーマットを示すため与えられる。
【００４１】
まず、具体例１及び２において、データアイテム“ａｐｐｌｅｓ  ａｒｅ  ｇｒｅｅｎ”及び“ｏｒａｎｇｅｓ  ａｒｅ  ｏｒａｎｇｅ”が、２つの方法でＸＭＬフォーマットにより送信される。
【００４２】
具体例１：
【００４３】
【表１】
2008538032.tif 000003
具体例２：
【００４４】
【表２】
2008538032.tif 000004
各データアイテムが上記具体例１ａ及び１ｂにおいてＸＭＬドキュメントとして与えられているとき、ＸＭＬ宣言（すなわち、“＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝“１．０”ｅｎｃｏｄｉｎｇ＝ＵＴＦ−１６”？＞”）は、最終的な出力ＸＭＬドキュメントが１つのＸＭＬ宣言しか有するべきでないという点で、ＸＭＬドキュメントの各データアイテムからストリップされるべきである。具体例２ａ及び２ｂにおいてフラグメントして提供されると、ＸＭＬ宣言は大型ＸＭＬストアに格納されるべき最終的なＸＭＬドキュメントに再び追加される必要がある。
【００４５】
具体例３：
各Ｃ＋＋インタフェースがデータアイテム“ａｐｐｌｅｓ  ａｒｅ  ｇｒｅｅｎ”及び“ｏｒａｎｇｅｓ  ａｒｅ  ｏｒａｎｇｅ”がＸＭＬとしてではなく、Ｃ＋＋オブジェクトとして送信されることを可能にする異なる２つのタイプのＣ＋＋インタフェースが示される。
【００４６】
【表３】
2008538032.tif 000005
具体例３ａでは、システム１０１は、オブジェクトを受信し、ｇｅｔＮａｍｅ，“ｄａｔａＩｔｅｍ”をコールし、これをスタートタグとして格納する。その後、システム１０１は、ネーム“ｄａｔｕｍ”と値“ａｐｐｌｅｓ  ａｒｅ  ｇｒｅｅｎ”を読み込み、これを使用してＸＭＬを生成し、大型ＸＭＬストア１２０に格納するｇｅｔＣｈｉｌｄＡｔＩｎｄｅｘ（）を介し各チャイルドを取得する。送信される次のオブジェクトは、“ｏｒａｎｇｅｓ  ａｒｅ  ｏｒａｎｇｅ”の値を有し、また格納される。
【００４７】
具体例３ｂにおいて、システム１０１はｇｅｔＮａｍｅ，“ｄａｔａＩｔｅｍ”をコールし、その後、システム１０１は、ドキュメントアイテム記述１０３を使用して、“ｄａｔｕｍ”である“ｄａｔａＩｔｅｍ”のチャイルドのネームを検出する。その後、システム１０１は、ｇｅｔＮｏｄｅＳｔｒｉｎｇ（“ｄａｔｕｍ”）とｇｅｔＮｏｄｅＲｅｆＶａｌｕｅ（“ｄａｔｕｍ”）をコールし、これらの１つは“ａｐｐｌｅｓ  ａｒｅ  ｇｒｅｅｎ”の値を返す。
【００４８】
各クラスは、出力ＸＭＬドキュメントを生成するのに使用され、第１クラスは、クラスのみから出力ＸＭＬドキュメントを生成可能であり、第２クラスは、さらなる記述を必要とする。具体例３ａ及び３ｂでは、ファンクション“ＴｏＵｓｅＦａｓｔＳｅａｒｃｈ”は、ＸＭＬドキュメントの何れのフラグメント又はオブジェクトがインデックス処理されるべきか、すなわち、何れのフラグメント又はオブジェクトに対してＲＡＰが生成されるべきかシステムが知ることを可能にすることを意図している。このファンクションは、インタフェースから削除可能であり、図３の記載に関して説明されたように、情報はドキュメントアイテム記述に配置可能である。上記具体例１及び２において、高速アクセスストア１４０に追加すべきフラグメントは、具体的なタグ若しくは属性により指定されてもよく、あるいはそれは、独立したＸＭＬドキュメントにあってもよい。以下の具体例４〜８は、データが高速アクセスストアにインデックス処理されるべきことがどのように示すことができるかについての具体例を与える。
【００４９】
具体例４：
【００５０】
【表４】
2008538032.tif 000006
具体例５：
【００５１】
【表５】
2008538032.tif 000007
具体例６：
【００５２】
【表６】
2008538032.tif 000008
具体例７：
【００５３】
【表７】
2008538032.tif 000009
具体例８：
【００５４】
【表８】
2008538032.tif 000010
システム１０１は、高速アクセスストア１４０に格納されるべきファイルを生成するため、具体例４〜８に例示されるようなＸＭＬドキュメントをパーシングすることが可能である。ＸＭＬフォーマットによるドキュメントアイテムのパーシング中、ＸＭＬフラグメントの正確な位置／ポジションがＲＡＰとして利用可能となり、これにより、ＸＭＬドキュメントアイテム／フラグメントへのランダム若しくは非順次アクセスを提供する。
【００５５】
システム１０１は、ＸＭＬフラグメントを直接的に利用することが可能である。この場合、システム１０１により扱われるＸＭＬドキュメントアイテムのみが、大型ＸＭＬストア１２０に格納されるＸＭＬドキュメントである。あるいは、ＸＭＬドキュメントのフラグメントの抽出後、システムは当該フラグメントをラップし、これによりＸＭＬドキュメントを生成する。この新たに生成されたＸＭＬドキュメントが、使用、アクセス付与、表示など可能とされる。
【００５６】
システムは、符号化されたディスプレイルーチンを利用することが可能である。それは、ログ処理システムなどのユーザによって要求される何れかの方法によりＸＭＬドキュメントを変換するかもしれない。より汎用的なシステムは、大型ＸＭＬストアがＸＭＬフォーマットによる情報を有し、ＸＭＬフォーマットによるドキュメントを変換及びレンダリングするための多数のツールが存在するという事実によるものであるかもしれない。このため、ログ処理されたデータ／ドキュメントアイテムの表示／レンダリングのためのルールが実行中に変更可能である汎用的なログ処理システムが設計可能である。これは、Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ  Ｏｎｅ（ＣＳＳ１）、Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ  Ｔｗｏ（ＣＳＳ２）若しくはＸＳＬＴ（ｅＸｔｅｎｓｉｂｌｅ  Ｓｔｙｌｅｓｈｅｅｔ  Ｌａｎｇｕａｇｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）などによって、ログ処理システムの使用に対するよりフレキシブルなアプローチを可能にするであろう。
【００５７】
本明細書において使用される際、“有する”という用語は、記載された特徴、整数、ステップ若しくはコンポーネントの存在を示すが、１以上の他の特徴、整数、ステップ、コンポーネント若しくはそれらのグループの存在若しくは追加を排除するものでない。ある手段が互いに異なる従属クレームに記載され、又は異なる実施例に記載されるという事実は、これらの手段の組み合わせが効果的に利用可能でないということを意味するものでない。
【図面の簡単な説明】
【００５８】
【図１】図１は、本発明による方法の実施例のフローチャートである。
【図２】図２は、本発明による方法の他の実施例のフローチャートである。
【図３】図３は、本発明によるシステムを示す。
【図４】図４は、ＸＭＬ以外のフォーマットによるデータを受信する本発明によるシステムの概略図である。
【図１】
2008538032.tif 000011
【図２】
2008538032.tif 000012
【図３】
2008538032.tif 000013
【図４】
2008538032.tif 000014
【国際調査報告】
2008538032.tif 000015
2008538032.tif 000016