(57)【特許請求の範囲】
【請求項１】
プログラムを記憶したプログラムメモリと、前記プログラムを実行する処理手段と、並列した複数の情報ブロックを備える文書データを格納した文書データ格納手段とを有するコンピュータシステムにおけるスケジューリングの方法であって、
前記複数の情報ブロックは、情報ブロックを強制的に処理することを示すあらかじめ定義された属性と関連づけられた情報ブロックを含み、前記文書データは、当該文書データを処理する処理装置が、前記属性と関連づけられた全ての情報ブロックを処理するのに適している場合に限り、前記属性と関連づけられていない情報ブロックも処理可能となるように定義されており、
前記処理手段が、前記複数の情報ブロックを、他の情報ブロックを必要とせずに処理可能な情報ブロックを備える第１のグループと、前記第１のグループには属さない前記文書データの情報ブロックを備える第２のグループとに分割する工程と、
前記処理手段が、送信すべきメッセージに、前記第２のグループ、セパレータを形成する信号ブロック、前記第１のグループの順に挿入する工程とを備え、
前記分割する工程は、
前記処理手段が、前記属性と関連づけられた情報ブロックを前記第２のグループへ書き込み、前記属性と関連づけられていない情報ブロックを前記第１のグループへ書き込む工程と、
前記処理手段が、前記第１のグループの情報ブロックの中で前記第２のグループの情報ブロックを参照する情報ブロックを検出する工程と、
前記処理手段が、前記検出された情報ブロックを前記第１のグループから前記第２のグループへ移行する工程と
を備えることを特徴とするスケジューリング方法。
【請求項２】
前記分割する工程は、
前記処理手段が、前記第１のグループの情報ブロックの中で当該第１のグループの他の情報ブロックを参照する情報ブロックを識別する工程と、
前記処理手段が、前記識別された情報ブロックを前記他の情報ブロックの前に書き込む工程と
を備えることを特徴とする請求項１に記載のスケジューリング方法。
【請求項３】
前記分割する工程は、
前記処理手段が、直接的または間接的に互いに参照する少なくとも２つの情報ブロックを識別する工程と、
前記処理手段が、前記第２のグループに前記互いに参照する少なくとも２つの情報ブロックを書き込む工程と
を備えることを特徴とする請求項１に記載のスケジューリング方法。
【請求項４】
並列した複数の情報ブロックを備える文書データのスケジューリング装置であって、
前記複数の情報ブロックは、情報ブロックを強制的に処理することを示すあらかじめ定義された属性と関連づけられた情報ブロックを含み、前記文書データは、当該文書データを処理する処理装置が、前記属性と関連づけられた全ての情報ブロックを処理するのに適している場合に限り、前記属性と関連づけられていない情報ブロックも処理可能となるように定義されており、
前記複数の情報ブロックを、他の情報ブロックを必要とせずに処理可能な情報ブロックを備える第１のグループと、前記第１のグループには属さない前記文書データの情報ブロックを備える第２のグループとに分割する手段と、
送信すべきメッセージに、前記第２のグループ、セパレータを形成する信号ブロック、前記第１のグループの順に挿入する手段とを備え、
前記分割する手段は、
前記属性と関連づけられた情報ブロックを前記第２のグループへ書き込み、前記属性と関連づけられていない情報ブロックを前記第１のグループへ書き込む手段と、
前記第１のグループの情報ブロックの中で前記第２のグループの情報ブロックを参照する情報ブロックを検出する手段と、
前記検出された情報ブロックを前記第１のグループから前記第２のグループへ移行する手段と
を備えることを特徴とするスケジューリング装置。
【請求項５】
マイクロプロセッサと、文書データをスケジューリングするためのプログラムの格納に適した読み出し専用メモリと、前記プログラムの実行中に変更される変数を格納するのに適したレジスタを備える随時書き込み読み出しメモリとが組み込まれていることを特徴とする請求項４に記載のスケジューリング装置。
【請求項６】
請求項４に記載のスケジューリング装置を備えることを特徴とする移動電話。
【請求項７】
請求項４に記載のスケジューリング装置を備えることを特徴とする携帯情報端末。
【請求項８】
請求項４に記載のスケジューリング装置を備えることを特徴とするコンピュータシステム。
【請求項９】
コンピュータシステムに、請求項１に記載のスケジューリング方法が備える各工程を実行させるためのコンピュータプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１０】
コンピュータシステムに、請求項１に記載のスケジューリング方法が備える各工程を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
本発明は情報ブロックを備える文書データを処理する方法に関連するものである。
【０００２】
また、本発明は、処理前に、かかる文書データをスケジューリングする方法と、かかる文書データを生成する方法にも関連するものである。
【０００３】
本発明にかかるスケジューリング方法と処理方法それぞれに適したスケジューリング装置、生成装置および処理装置に関連する。
【０００４】
また、本発明は並列した情報ブロックを備える文書データを生成する方法に関する。
【０００５】
一般に、本発明はｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）タイプのマークアップ言語で表される文書データの転送手段によって、ネットワークと接続するコンピュータと他の装置との間の情報交換が行われる通信ネットワークに適用される。
【０００６】
ＸＭＬ言語はマークアップ言語、すなわち、タグを使って制御される情報を提示する言語である。
【０００７】
ＸＭＬ言語はＷ３Ｃ規格を通して定義される。Ｗ３Ｃ規格はＸＭＬ言語で表される文書データの構造と、この文書データを処理するための規則との両方を定義している。
【０００８】
したがって、Ｗ３Ｃ規格によって定義されるＳＯＡＰ規格では、ＸＭＬ言語の文書データは、並列した情報ブロックを備える文書データとして見なされる。
【０００９】
インターネット上の以下のアドレスで、このＳＯＡＰ規格の詳細な記述について相談することができる:ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／２００１／ＷＤ−ｓｏａｐ１２−２００１０７０９。
【００１０】
ＸＭＬ言語のそれぞれの情報ブロックは、開始タグと終了タグとの間で定義され、該情報ブロックは、文書データ内において、順番に並列し、または互いの中で入れ子にされる。
【００１１】
文書データ受信時、とくに該文書データが比較的長い場合、限られた時間で、メモリ上に文書データ全体を保持しなくても、処理装置が、文書データを受信しながら、該文書データを処理することができることは有益である。
【００１２】
かかる面は、限られた記憶容量しかもっていない移動電話や携帯情報端末などの小さいサイズの処理装置にとっては、より一層重要である。
【００１３】
以下の説明において、文書データの並列処理（on  the  fly）とは、文書データの処理が、文書データ全体を保持することなく、文書データを構成するデータを受信しながら実行することができることを意味するものと理解される。このような文書データの並列処理は、また、文書データの即時処理（processing on the spot）、またはストリーミング（streaming）処理と呼ばれる。
【００１４】
しかしながら、文書データの処理に対する規則により、並列処理のオプションが禁止される場合がある。
【００１５】
したがって、いくつかの情報ブロックは、当該ブロックが文書データの処理の間、強制的に処理されなければならないことを示す特定の属性によってマークされるようにしてもよい。したがって、処理装置は、文書データ全体を処理することができるよう、特定の属性でマークされるこの情報ブロックを認識するように構成されるべきである。
【００１６】
そのうえ、ＳＯＡＰ規格によれば、文書データ処理装置は文書データの処理が開始可能となる前に、あらかじめこの特定の属性でマークされるすべてのブロックを実際に認識しなければならないことが明確に述べられている。また、この規則によれば、処理装置が、特定の属性でマークされるすべての情報ブロックを処理できる能力を備えているか確かめるために、処理開始前に、文書データ全体の読み込みを実行しなければならない。したがって、処理装置は、この最初の検証を実行するためにメモリ上に文書データ全体を格納することができなければならない。
【００１７】
ＸＭＬ文書を処理するためのこのようなルールは、処理装置が文書データ全体を格納するための十分な記憶容量を有していることを必要とする。
【００１８】
その上、処理前に文書データ全体を最初に読み込むため、文書データの処理に時間がかかってしまう。
【００１９】
その上、ＸＭＬ文書データにおける、所定の情報ブロックは、当該文書データ中のそのブロックの前後に配された、１つまたはそれ以上の他の情報ブロックをしばしば参照することとなる。
【００２０】
また、この場合、文書データの後続の情報ブロックの処理を可能にするために、メモリ上に所定の情報ブロックを格納することも必要となる。
【００２１】
本発明の目的は、上記問題を解決して、情報ブロックを備える文書データの少なくとも一部の並列処理を許容することである。
【００２２】
その目的に対して、最初の局面における本発明では、並列した情報ブロックを備える文書データのスケジューリング方法について考える。
【００２３】
本発明によると、このスケジューリング方法は、
情報ブロックを、並列処理可能な情報ブロックを備える第１のグループと、前記第１のグループには属さない前記文書データの情報ブロックを備える第２のグループとの２つのブロックに分割する工程と、
信号ブロックを挿入する工程と、
前記信号ブロックの後に、情報ブロックの第１のグループを挿入する工程と
を備えることを特徴とする。
【００２４】
その結果、かかるスケジューリング方法によれば、並列処理されるのに適した情報ブロックを他の情報ブロックから自動的に切り離すことが可能となる。
【００２５】
信号ブロックを組み込み、該信号ブロックが並列処理するのに適した情報ブロックの前に配置されることにより、情報ブロックを処理するのにこれらのブロックをメモリ上に格納する必要なく、そのようなブロックの存在を処理装置に示すことが可能となる。
【００２６】
その結果、このスケジューリング方法によれば、処理されるべき文書データの部分を大幅に減少させ、その結果、メモリ上に格納しなければならない文書データの部分を大幅に減少させ、文書データの少なくとも一部の並列処理を許容することができる。
【００２７】
本発明のこの最初の局面の１つの好適な特性によると、分割する工程は、さらに、
前記文書データの処理時に情報ブロックを強制的に処理することを示すあらかじめ定義された属性と関連づけられた、少なくとも１つの情報ブロックを識別する工程と、
前記識別された情報ブロックを前記第２のグループに書き込む工程と、
を備えることを特徴とする。
【００２８】
かかるスケジューリング方法により、これらの情報ブロックを強制的に処理することを示す属性であって、あらかじめ定義された属性と関連づけられたすべての情報ブロックは、文書データのヘッダ部分に配され、文書データの始まりを受信して以降、マーキングブロックの識別に至るまで、処理装置は、この種の情報ブロックを処理するための能力を有しているか確認することができる。
【００２９】
本発明のこの最初の局面の有利な特性によると、分割する工程は、さらに、
第２の情報ブロックを参照する第１の情報ブロックを識別する工程と、
前記第２の情報ブロックが前記第２のグループに属する場合、前記第１の情報ブロックを前記第２のグループに書き込む工程と
を備えることを特徴とする。
【００３０】
したがって、第２のグループに配された情報ブロックを参照するすべての情報ブロックは、情報ブロックの前記第２のグループにともに分類され、文書データのヘッダ部分に配される。
【００３１】
代わりに、本発明の最初の局面に一致するスケジューリング方法にかかる分割する工程は、
第２の情報ブロックを参照する第１の情報ブロックを識別する工程と、
前記第２の情報ブロックが前記第１のグループに属する場合、前記第１の情報ブロックを前記第２の情報ブロックの前に書き込む工程と
を備えることを特徴とする。
【００３２】
ここで、前記第２の情報ブロックを参照する前記第１の情報ブロックは、前記第２の情報ブロックの前に配され、文書データの処理は、情報ブロックを受信しながら、並列して行うことが可能である。
【００３３】
本発明の第２の局面によると、並列した情報ブロックを備える文書データを処理する方法は、
あらかじめ定義された信号ブロックを識別する工程と、
前記あらかじめ定義された信号ブロックの後に挿入される情報ブロックを並列に処理する工程と
を備えることを特徴とする。
【００３４】
このように、前記処理方法によれば、上述のような文書データのスケジューリング処理において、組み込まれた信号ブロックを識別することで、文書データの一部の並列処理を許容する。
【００３５】
本発明は並列した情報ブロックを備える文書データのスケジューリング処理を行うための装置に対応して関連するものであり、
前記情報ブロックを、並列処理可能な情報ブロックを備える第１のグループと、該第１のグループには属さない前記文書データの情報ブロックを備える第２のグループとの２つのグループに分割する手段と、
情報ブロックの第２のグループを挿入する手段と、
信号ブロックを挿入する手段と、
前記信号ブロックの後に、情報ブロックの第１のグループを挿入する手段と
を備えることを特徴とする。
【００３６】
また、本発明は並列した情報ブロックを備える文書データを処理する装置に関するもので、
あらかじめ定義された信号ブロックを識別する手段と、
前記あらかじめ定義された信号ブロックの後に挿入された情報ブロックを並列に処理するために構成された処理手段と
を備えることを特徴とする。
【００３７】
これらのスケジューリング装置および処理装置は、それらが提供する方法と同様の利点と特性を示す。
【００３８】
本発明の別の局面によれば、並列した情報ブロックを備え、並列に処理可能な文書データを生成する方法であって、
前記情報ブロックを、並列処理可能な情報ブロックを備える第１のグループと、該第１のグループには属さない情報ブロックを備える第２のグループとに分割する工程と、
前記第２のグループから少なくとも１つのブロックを前記文書データに挿入する工程と、
信号ブロックを前記文書データの前記第２のグループからの前記１つのブロックの後に挿入する工程と、
前記第１のグループから少なくとも１つのブロックを前記信号ブロックの後に挿入する工程と
を備えることを特徴とする。
【００３９】
本発明の別の局面によれば、並列した情報ブロックを備えるコンピュータ用文書データは、信号ブロックと、即時処理可能な前記信号ブロックの後に挿入された情報ブロックとを備える。
【００４０】
また、本発明は、第３の局面において、情報ブロックのフォームで表されるのに適した文書データを生成する方法に関するものである。
【００４１】
本発明のこの第３の局面によると、生成方法は、
前記文書データの処理において、前記情報ブロックを強制的に処理することを示すマーカと関連づけられ、情報ブロックと関連付けられる少なくとも１つの参照情報（reference）を識別する工程と、
前記識別された参照情報のリストを備える追加情報ブロックを生成する工程と、
文書データの処理開始時に、前記追加情報ブロックと、前記追加情報ブロックの後の前記文書データの情報ブロックとを書き込む工程と
を備えることを特徴とする。
【００４２】
その結果、そのような文書データの生成方法によれば、文書データの処理開始時に、該文書データの処理において、すべての情報ブロックについて処理する必要があるか否かを確認することが可能となる。
【００４３】
したがって、最初にすべての文書データを解析する必要はなく、処理装置は最初の追加情報ブロックを読み込むだけで、当該文書データの情報ブロックすべてを処理するために必要な容量があるかを簡単にチェックすることができる。したがって、そのような文書データの処理速度が向上する。
【００４４】
その上、この追加情報ブロックがいったん分析されると、追加情報ブロックの後に配された文書データのすべての情報ブロックは、処理装置によって受信しながら処理されることになる。
【００４５】
本発明の第３の局面のより好適な特性によると、識別工程はＸＭＬ形式の文書データの構造を定義するのに適したＸＭＬスキーマ上で実行される。
【００４６】
したがって、ＸＭＬスキーマからのＸＭＬ形式の文書データの生成処理の間に、生成された文書データに後で挿入されたデータや情報の如何に関わらず、該ＸＭＬスキーマにおいてあらかじめ定義されたマーカと直接的に関連付けられた情報ブロックを識別することが可能である。
【００４７】
本発明の第３の局面の別の有利な特性によれば、追加情報ブロックを生成するすべての工程において、情報ブロックと関連付けられたタグの名前から成るリストが参照される。
【００４８】
その結果、前記文書データがマークアップ言語で表現されている場合、開始タグと終了タグとの間に含まれる情報ブロックは、このタグの実際の名前によって、比較的簡単に識別されうる。
【００４９】
本発明の第４の局面によれば、あらかじめ定義されたマーカと関連付けられた情報ブロックの参照情報のリストを含む第１の情報ブロックと、連続した情報ブロックとを備える文書データを処理する方法であって、
第１の情報ブロックを読み込む工程と、
前記リストにおける各参照情報に対して、前記処理装置が参照された情報ブロックを処理するのに適しているか否かをチェックする工程と
を備えることを特徴とする。
【００５０】
したがって、当該処理方法により、すべての情報ブロックの処理をすることができるかをチェックするのに、処理される文書データをすべて読み込む必要はなく、第１の情報ブロックを読み込み解析するだけで、簡単に行うことができる。
【００５１】
この処理方法の好適な特性によれば、処理装置が、当該リストに記載された参照情報それぞれに関連付けられたすべての情報ブロックを処理するのに適している場合には、当該処理方法は、第１の情報ブロックの後に記載された文書データの情報ブロックを処理する工程を備える。
【００５２】
その結果、はじめに、第１の情報ブロックが処理されるのと同時に、文書データの情報ブロックを並列処理することが可能である。
【００５３】
本発明の別の局面によれば、開始タグと終了タグとの間で定義された情報ブロックを備え、マークアップ言語で表現された文書データは、該文書データの情報ブロックの参照情報のリストを備える追加情報ブロックを有し、かかる参照される情報ブロックは、該文書データの処理において情報ブロックを強制的に処理することを示すマーカと関連付けられている。
【００５４】
処理装置によって追加情報ブロックが実際に処理されるのと同時に、文書データは、処理装置によって、並列処理されうる。
【００５５】
本発明の有利な特性によれば、追加情報ブロックは文書データの開始時にメモリ上に読み込まれる。
【００５６】
その結果、まずはじめに追加情報ブロックが処理装置によって処理され、その後すぐに、文書データを受信しながら、文書データ全体を処理することができる。
【００５７】
相互に関係して、本発明は情報ブロックのフォームで表されるのに適した文書データを生成するための装置に関連する。
【００５８】
本発明によれば、当該生成装置は、
情報ブロックと関連付けられた少なくとも１つの参照情報であって、前記文書データを処理する際に、前記情報ブロックを強制的に処理することを示すマーカと関連付けられた前記参照情報を識別するための手段と、
識別された参照情報のリストを備える追加情報ブロックを生成するのに適した生成手段と、
一方で、文書データの処理開始時に追加情報ブロックを書き込み、他方で、該追加情報ブロックの後に前記文書データの情報ブロックを書き込むのに適した書込手段と
を備えることを特徴とする。
【００５９】
また、本発明はあらかじめ定義されたマーカと関連付けられた情報ブロックの参照情報のリストを備える第１の情報ブロックと、連続した情報ブロックとを備える文書データの処理装置に関するものである。
【００６０】
この文書データ処理装置は、
第１の情報ブロックを読み込む手段と、
リストに記載された各参照情報に対して、処理装置が参照された情報ブロックを処理するのに適しているかをチェックする手段と
を備えることを特徴とする。
【００６１】
かかる生成装置と処理装置は、それらによって提供される方法の利点および特性と同様の利点および特性を備える。
【００６２】
本発明は、特にＸＭＬ言語で表されるどんな文書データにも適用される。
【００６３】
また、本発明は、本発明による少なくともスケジューリング装置または処理装置の一方を含む移動電話、携帯情報端末、ならびに、より一般にどんなコンピュータシステムにも関連するものである。
【００６４】
また、本発明は、このプログラムがコンピュータシステムによってロードされ、実行されると、少なくとも本発明によるスケジューリング方法または生成方法または処理方法のいずれかを実施することができるコンピュータプログラムの命令を含んでおり、コンピュータシステムによって読む込み可能であり、完全にあるいは一部を持ち運び可能な情報媒体に関連するものである。
【００６５】
最後に、本発明は、コンピュータシステムによってロードされ、実行されると、少なくとも本発明によるスケジューリング方法または生成方法または処理方法のいずれかを実施するための適当な命令を備えるプログラムであって、情報記憶媒体に格納されたコンピュータプログラムに関連するものである。
【００６６】
このような移動電話や携帯情報端末、コンピュータシステム、情報記憶媒体およびコンピュータプログラムは、それらが実施する方法と同様の特性と利点を示す。
【００６７】
本発明の他の特徴と利点は、さらに以下の記述より明らかになるであろう。
【００６８】
まずはじめに、本発明の第１の実施形態にかかる文書データのスケジューリング方法について、図１を参照しながらで説明する。
【００６９】
ＸＭＬ言語の文書データは、本実施形態では、図２に図式的に示したようなものとして扱うが、いかなる制限を伴うものでもない。
【００７０】
この文書データはいくつかの並列した情報ブロックを備えており、本実施形態では、情報ブロックを５つとする。
【００７１】
ＸＭＬ言語では、各情報ブロックは、開始タグと終了タグとにより挟まれ、所定数のテキストデータ項目を備える。
【００７２】
言うまでもなく、文書データの各ブロックは子タグ（children  tag）も備えており、再帰的に動作する。
【００７３】
本実施形態では、問題のブロックは、ＸＭＬ形式の文書データ内の同じ階層レベルですべて配列され、それらが様々なブロックの間でオーバラップすることなしに並列している。
【００７４】
また、文書データの１つの情報ブロックのそれぞれの開始タグは、このタグを定義づけることを可能にする属性を含んでもよい。
【００７５】
ブロック１およびブロック３は特に、あらかじめ定義された属性と関連付けられており、文書データの処理中に、かかる情報ブロック１および３を強制的に認識および処理することを、処理装置に対して示すのに適している。
【００７６】
ＸＭＬ言語では、そのような属性は“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”と呼ばれ、以下の記述では、ｍＵと略して示すこととする。
【００７７】
この属性が“ｔｒｕｅ”の値と関連づけられるとき、文書データを処理するための装置は、ｍＵブロックと表されたこの情報ブロックを処理する能力を有していなければならない。
【００７８】
その上、ＳＯＡＰ規格によれば、属性ｍＵと関連づけられたすべてのブロックを処理するのに適している場合にだけ、処理装置が文書データの他のブロックを処理することができることを指示している。
【００７９】
また、ＸＭＬ言語の文書データは他の情報ブロックを参照する情報ブロックを含んでいてもよい。
【００８０】
例として、ブロック４はブロック２を参照し、ブロック５はブロック３を参照する。
【００８１】
第１のブロックの処理は、第２のブロックからのデータのすべて、または一部を必要とするとき、第１のブロックは第２のブロックを参照する。
【００８２】
これは特にディジタル画像の署名ブロックを伴う場合であり、ディジタル画像は署名データについて計算するために、別のブロックに格納される画像を表現するデータを必要とする。
【００８３】
図２に示すように、文書データは、通信ネットワークのサーバステーション上かコンピュータ上で生成されたメッセージでもよい。そして、このメッセージは、それを処理する目的で、例えば通信ネットワークの別のコンピュータ、移動電話または携帯情報端末に組み込まれる処理装置に移されてもよい。
【００８４】
図１に示すように、送信されるべきメッセージを得る第１の工程Ｅ１０は通信ネットワークのサーバコンピュータ上で実行される。
【００８５】
図２に示すように、メッセージはネットワークのサーバコンピュータによって直接生成されるか、または別のコンピュータから通信ネットワークを通して取得処理される。
【００８６】
次に、本発明によれば、スケジューリング方法は、第１に、情報ブロックを２つのグループに分割する工程Ｅ１１を備える。
【００８７】
この分割工程Ｅ１１によれば、処理装置が情報ブロックをうけとると、すぐに、第１のグループにおいて、並列に、または、即時処理されるのに適した情報ブロックを格納することが可能である。
【００８８】
第２のグループは文書データの他の情報ブロックを備える、つまり、情報ブロックが到達したとき、並列に処理することはできず、情報ブロックを処理するのに少なくとも他の１つの情報ブロックがメモリに保持されることを必要とする。
【００８９】
以下の説明においては、並列に処理されるのに適した情報ブロックを備える第１のグループは、グループＶと称し、他の情報ブロックを備える第２のグループはグループＮＶと称することとする。
【００９０】
ここで、好適な実施形態においては、まず第１に、分割工程Ｅ１１は、あらかじめ記述された属性ｍＵに基づいてブロックの識別を行う工程Ｅ１１１を備える。
【００９１】
実際には、メッセージの各情報ブロックが調べられ、属性ｍＵと関連付けられた情報ブロックが識別される。
【００９２】
メッセージのそれぞれの情報ブロックに対して、情報ブロックの始まりを定義する開始タグが読み込まれる。
【００９３】
属性“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”が存在しているかどうか、そして、値“ｔｒｕｅ”と関連づけられているかどうかが確かめられる。
【００９４】
その結果、値が“ｔｒｕｅ”である属性ｍＵと関連付けられたメッセージのブロックが識別される。
【００９５】
ここで、図２に示すように、メッセージのブロック１と３とが識別される。
【００９６】
そして、その結果、識別された情報ブロック１および３は第２のグループＮＶに書き込まれる。
【００９７】
図３は工程Ｅ１１１の完了後の、図２に関するメッセージの情報ブロックの分割の様子を示している。
【００９８】
次に検証工程Ｅ１１２が実行され、グループＮＶの情報ブロックに対するメッセージが有する参照情報について、検証することが可能である。
【００９９】
この検証工程Ｅ１１２は図１Ａに詳細を示す。
【０１００】
実際には、第２の情報ブロックを参照する第１の情報ブロックが識別される。
【０１０１】
例えば、ブロック３を参照するブロック５とブロック２を参照するブロック４はここで識別される。
【０１０２】
第２の情報ブロックが第２のグループＮＶに属するならば、第１の情報ブロックはかかる第２のグループＮＶに記載される。
【０１０３】
ここでは第２のグループＮＶに属する情報ブロック３を参照する情報ブロック５のケースである。この情報ブロック５は図４に示されるように情報ブロック１および３につづいて第２のグループＮＶに記載される。
【０１０４】
図１Ａに示すように、この検証工程は、識別工程Ｅ１１１の完了後、第１のグループＶに格納される情報ブロックすべてに対して実行される。
【０１０５】
取得工程Ｅ２１により、第１のグループＶの第１の情報ブロックを取得することが可能となる。
【０１０６】
テスト工程Ｅ２２により、該第１のブロックが第２のグループＮＶに格納されたブロックを参照するか否かを識別することが可能となる。
【０１０７】
参照する場合には、移行工程Ｅ２３により、当該情報ブロックを第２のグループＮＶに移行することが可能となる。
【０１０８】
移行工程Ｅ２３の後、グループＶの第１のブロックを取得する工程Ｅ２１が繰り返され、追加ブロックの追加により第２のグループＮＶが変更されたときには常に検証アルゴリズム全体が繰り返される。
【０１０９】
このテスト工程Ｅ２２の完了後、第２のグループに格納されたブロックを参照する第１のブロックが存在しなくなった場合には、テスト工程Ｅ２４において、第１のグループＶに他のブロックが存在するか否かが識別される。
【０１１０】
存在するならば、取得工程Ｅ２５により、第１のグループＶに格納された次のブロックを取得することが可能となり、工程Ｅ２２からＥ２５までの処理が、次のブロックに対して繰り返されることとなる。
【０１１１】
グループＶのすべてのブロックが識別されたら、検証工程Ｅ１１２は、テスト工程Ｅ２４が完了後、否定（negative）となり、処理が終了する。
【０１１２】
検証工程Ｅ１１２の後、第１のグループＶのすべての情報ブロックに対してソーティング（sorting）工程Ｅ１１３が実行される。
【０１１３】
ソーティング工程Ｅ１１３の詳細を図１Ｂに示す。
【０１１４】
実際、第１の情報ブロックが、第１のグループＶの第２の情報ブロックを参照することが確認されると、第１の情報ブロックは第１のグループＶの第２のブロックの前に、書き込まれる。
【０１１５】
ここに、ブロック２を参照するブロック４は、図４に示すように、ブロック２の前に配される。
【０１１６】
このソーティング工程Ｅ１１３実行中に、直接的または間接的に互いに参照する少なくとも２つの情報ブロックが確認される場合、これらの情報ブロックは第２のグループＮＶに書き込まれる。
【０１１７】
参照サイクルが検出される場合、すなわち、例えば、第２のブロックを参照する第１のブロックと、第３のブロックを参照する第２のブロックとを有し、第３のブロックが第１のブロックを参照する場合に、特にそのようなケースが生じ得る。
【０１１８】
これらのすべてのブロックが、同じサイクルに属し、それらが処理装置によって処理されるよう、格納される。
【０１１９】
また、これらのブロックは全体として、第２のグループＮＶに移される。
【０１２０】
実際には、図１Ｂに示すように、ソーティングアルゴリズムが開始されると、第１のグループの他のいかなるブロックも参照しない、第１のグループＶのすべてのブロックが識別される。
【０１２１】
それをするために、取得工程Ｅ３１により、グループＶの第１の情報ブロックを取得することが可能となる。
【０１２２】
テスト工程Ｅ３２において、第１のブロックがグループＶの他のブロックを参照するか否かが識別される。
【０１２３】
参照しない場合には、マーキング工程Ｅ３３において、１に等しいマークで、当該ブロックがマークされる。
【０１２４】
そして、工程Ｅ３４では、グループＶの次のブロックが存在する場合に、次のブロックが調査される。
【０１２５】
取得工程Ｅ３５により、次のブロックが取得され、工程Ｅ３２からＥ３５が繰り返される。
【０１２６】
テスト工程Ｅ３２が完了後、現在のブロックが他のブロックを参照する場合には、当該ブロックをマーキングすることなしに、アルゴリズムはグループＶの次のブロックに直接進む。
【０１２７】
これらの工程Ｅ３１からＥ３５が完了すると、他のいかなるブロックも参照しないすべてのブロックが識別されることとなる。これらのブロックはマーク１でマークされる。
【０１２８】
グループＶのすべてのブロックが調べられると、ソーティングアルゴリズムの次の工程により、すでに識別されたブロックから参照リンクをもとに戻っていくことが可能となる。
【０１２９】
アルゴリズムは、このブロックから他のいかなるブロックも参照しないブロックまで進むために、各ブロックに参照数をマーキングする。
【０１３０】
したがって、初期化工程Ｅ３６では、インデックスｅは値１で初期化されて、グループＶにおけるブロックの数は第２のインデックスｎと関連づけられる。
【０１３１】
次に、取得工程Ｅ３７では、グループＶの第１の情報ブロックが取得される。
【０１３２】
テスト工程Ｅ３８では、現在のブロックが、現在のインデックスｅでマーキングされた情報ブロックを参照するか否かが判断される。
【０１３３】
参照する場合には、現在のブロックはマーキング工程Ｅ３９において、ｅ＋１に等しいマークでマーキングされる。
【０１３４】
テスト工程Ｅ４０は、グループＶに他のブロックが存在し、かつ次のブロックが取得工程Ｅ４１において取得されているか否かが判断される。
【０１３５】
そして、工程Ｅ３８からＥ４１が次のブロックに対して繰り返される。
【０１３６】
テスト工程Ｅ３８の完了後、現在のブロックがｅでマーキングされたいかなるブロックも参照しない場合には、第１のグループＶの次のブロックが直接調べられる。
【０１３７】
テスト工程Ｅ４０が完了し、グループＶのすべてのブロックが調べられると、インデックスｅの番号と２ｎに等しい閾値とが比較される。
【０１３８】
インデックスｅの番号が２ｎより小さい場合には、加算工程Ｅ４３では、所定のユニットによりインデックスｅの番号がインクリメントされ、設定工程Ｅ３７からＥ４２がグループＶの情報ブロック全体に対して繰り返される。
【０１３９】
そして、Ｅ３７からＥ４２までのこれらの工程により、参照の数が各ブロックに付される。
【０１４０】
例えば、ブロックＢ３がＢ２を参照し、該ブロックＢ２が他を参照することのないブロックＢ１を参照する場合、ブロックＢ３は、インデックス３でマークされ、ブロックＢ２はインデックス２でマークされ、ブロックＢ１はインデックス１でマークされる。
【０１４１】
その上、このマークアルゴリズムによれば、より大きい数のマークでもって、１サイクルの一部を形成するブロックにマークする。
【０１４２】
これは、ブロックＢ３がブロックＢ２を参照し、該ブロックＢ２が他に参照することのないブロックＢ１を参照し、かつブロックＢ２がブロックＢ３を参照する場合に、上述したマーキングアルゴリズムがインデックス１でブロックＢ１をマークし、インデックス２でブロックＢ２をマークし、インデックス３でブロックＢ３をマークし、再びインデックス４でブロックＢ２をマークし、インデックス５でブロックＢ３をマークし、インデックス６でブロックＢ２をマークするからである。
【０１４３】
グループＶに格納された情報ブロックの数ｎの２倍に相当する番号２ｎにインデックスｅが到達するまで、テスト工程Ｅ４２により、マーキング工程Ｅ３３からＥ４１までが実行される。
【０１４４】
したがって、１サイクルの一部を形成するブロック（すなわち、直接的または間接的に、少なくとも互いに参照するブロック）は少なくともグループＶに格納された情報ブロックの数ｎより大きい数で、十分大きな数で自動的にマークされる。
【０１４５】
そして、マーキング工程が終了すると、ソーティング工程が実行される。
【０１４６】
第１の移行工程Ｅ４４により、マーキングされていない情報ブロックが第２のグループＮＶに移行される。
【０１４７】
実際、マーキングされていないブロックは、文書データの他のいかなるブロックを参照することなく、直接的または間接的に自己を参照するサイクルに属している。
【０１４８】
第２の移行工程Ｅ４５が実行されると、すべてのブロックは、グループＶに属する情報ブロックの数ｎよりもはるかに大きい値のマーキングインデックスにシフトされる。
【０１４９】
したがって、すべてのサイクルが第２のグループＮＶに移される。
【０１５０】
移行工程Ｅ４４およびＥ４５が完了すると、グループＶに格納された情報ブロックは、直接的または間接的に、他のいかなるブロックも参照しないか、２つのブロック間で、いかなる相互参照も含まないブロックのみとなる。
【０１５１】
ソーティング工程Ｅ４６は、各ブロックと関連付けられたマークに基づいて、グループＶのブロックに対して、マークが降順に並ぶように、実行される。
【０１５２】
以下のいくつかの実施例は、これらのブロック間に存在する参照機能として、３つのブロックを設定するうえでのソーティングアルゴリズムを説明するものであり、これに限られるものではない。
【０１５３】
例１:Ｂ３はＢ２を参照し、Ｂ２はＢ１を参照する。
【０１５４】
ブロックのマークは以下の通りである:
Ｂ３は３と関連づけられ、
Ｂ２は２と関連づけられ、
Ｂ１は１と関連づけられる。
【０１５５】
ブロックＢ１、Ｂ２、Ｂ３は第１のグループのままであり、Ｂ３、Ｂ２、Ｂ１の順に配列されている。
【０１５６】
例２:Ｂ３はＢ２を参照し、Ｂ３はＢ１を参照し、Ｂ２はＢ１を参照する。
【０１５７】
ブロックのマークは以下の通りである:
Ｂ３は３と関連づけられ、
Ｂ２は２と関連づけられ、
Ｂ１は１と関連づけられる。
【０１５８】
この場合、ブロックの組は、第１のグループＶに残っており、Ｂ３、Ｂ２、Ｂ１の順に配列される。
【０１５９】
例３:Ｂ３はＢ２を参照し、Ｂ２はＢ１を参照し、Ｂ１はＢ３を参照する。
【０１６０】
これらすべてのブロックは、移行工程Ｅ４４において、第２のグループＮＶに移行されるため、これらのブロックは、マーキングアルゴリズムの完了時にマーキングされない。
【０１６１】
例４:Ｂ３はＢ２を参照し、Ｂ２はＢ１を参照し、Ｂ２はＢ３を参照する。
【０１６２】
Ｂ３は５と関連づけられ、
Ｂ２は６と関連づけられ、
Ｂ１は１と関連づけられる。
【０１６３】
本実施例では、ブロックＢ３とＢ２は転送工程Ｅ４５の完了時に、第２のグループＮＶに転送され、ブロックＢ１は第１のグループＶに保持される。
【０１６４】
したがって、図４に示すように、この分割工程Ｅ１１の完了時に、文書データは、並列に処理可能なブロックと、並列処理不可能なブロックとの間で、情報ブロックＶとＮＶの２つのグループに分割されて取得される。
【０１６５】
本発明の好適な１つの方法によれば、分割工程Ｅ１１はさらに工程Ｅ１１４を備え、処理装置の内部状態における各ブロックの機能を検証する。
【０１６６】
実際には、第２のグループＮＶに格納された情報ブロックの組、特に、属性ｍＵと関連づけられた情報ブロックの組について、これらの情報ブロックの処理により、文書データ処理のための装置が組み込まれたコンピュータシステムの内部状態を変更することができるか否かを検証する。
【０１６７】
この検証処理は、各ブロックの開始マーカの名前と、処理装置の内部状態を変更できるか否かとを格納しているテーブルがあれば、実行可能である。
【０１６８】
これらの情報ブロックのいずれもコンピュータシステムの内部状態を変更するのに適当でない場合には、情報ブロックの組は第２のグループＮＶから第１のグループＶに転送される。
【０１６９】
これらの情報ブロックは、図１Ｂを参照しながら上述したように、同じソーティングアルゴリズムによってあらかじめソーティングされている。
【０１７０】
その処理がコンピュータシステムの内部状態を変更することが可能なそのブロックは、この第２のグループＮＶの終端に配置され、次に、この第２のグループＮＶのブロックの組は、検証工程Ｅ１１４の処理の完了時に、第１のグループＶの開始位置に挿入される
【０１７１】
その結果、これらの情報ブロックのうち、１つでもコンピュータシステムの内部状態を変更することができるならば、検証工程Ｅ１１４により、第１のグループに情報ブロックが配される。
【０１７２】
実際、これらの情報ブロックを処理することも可能であり、また、これらの情報ブロックのうちの１つが処理装置によって認識されなかった場合には、コンピュータシステムの内部状態を変更することなく、メッセージを処理するための手順を中断する際に、処理装置によって処理されていなかったことが後に明らかになるような方法で、メッセージ全体の処理を停止することも可能である。
【０１７３】
ブロックを分割するためのこれらのすべての工程により、第１のグループＶに並列処理可能な情報ブロックをできるだけ多く配置することが可能となる。その結果、情報ブロックを切り離すためのこのアルゴリズムにより、メッセージを処理するのに必要なメモリを最小化することが可能となる。
【０１７４】
そして、この分割処理の後に、生成工程Ｅ１２が実行され、情報ブロックが本発明のスケジューリング方法によりスケジューリングされている新しいメッセージを生成する。
【０１７５】
挿入工程Ｅ１３の処理において、情報ブロックの第２のグループ、すなわち、処理装置によって全体が処理されるべき情報ブロックの組が、この新しいメッセージに、まず最初に挿入される。
【０１７６】
そして、挿入工程Ｅ１４が実行され、２つのグループＶとＮＶとの間に、セパレータを形成する信号ブロックが、文書データに挿入される。
【０１７７】
次に、挿入工程Ｅ１５では、情報ブロックの第１のグループＶが信号ブロックの後に直接挿入される。
【０１７８】
本実施形態によるスケジューリング方法の完了後に生成される新しいメッセージは図５に示すとおりである。
【０１７９】
このメッセージがネットワークの処理装置によって処理されなければならないとき、転送工程Ｅ１６において、このメッセージが転送される。
【０１８０】
本発明の第２の局面に従って、マークアップ言語で表された文書データを処理する方法について、図６を参照しながら説明する。
【０１８１】
例として、図５に示すような、すなわち、本発明のスケジューリング方法に従って、情報ブロックがスケジューリングされたメッセージについての処理方法を述べる。
【０１８２】
したがって、受信工程Ｅ６０が実行されると、処理されるべきメッセージの始まりを受信する。
【０１８３】
そして、第１のブロックを受信する工程Ｅ６１が実行されると、１つずつ情報ブロックが調査される。
【０１８４】
テスト工程Ｅ６２では、まず最初に、当該受信したブロックがメッセージのエンドを形成するものか否かが確認される。
【０１８５】
メッセージのエンドを形成するものでない場合には、第２のテスト工程Ｅ６３において、受信した情報ブロックが、あらかじめ定義された信号ブロックであって、このマーキングブロックの後に位置するメッセージ内の情報ブロックが並列処理可能であることを示すブロックであるか否かが確認される。
【０１８６】
該当しない場合には、メッセージ内のそれ以降の情報ブロックを受信する工程Ｅ６１が実行され、情報ブロックがあらかじめ定義された信号ブロックに対応していない限り、これが再帰的に行われる。
【０１８７】
したがって、実際には、メッセージのヘッダ部に位置する第２のグループＮＶのすべての情報ブロックが受信される。
【０１８８】
したがって、図５に示すとおり、メッセージのブロック１、３、５が受信され、処理装置におけるその後の処理のためにメモリに格納される。
【０１８９】
受信されたブロックがあらかじめ定義された信号ブロックであり、すなわち、ここではグループＮＶとＶとの間に位置する分離ブロックであった場合には、処理工程Ｅ６４により、処理装置によって格納された情報ブロックの処理が可能となる。
【０１９０】
したがって、情報ブロックのグループＮＶに対応する、事前に受信した情報ブロックの組は、ＸＭＬ文書データを処理するための装置によって、従来の方法でグローバルに処理される。
【０１９１】
特に、これらの情報ブロックの組は、最初、処理装置によってトラバースされ、後に、属性“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”を有するすべての情報ブロックを処理するのに適当であるかどうかが判断される。
【０１９２】
属性ｍＵを有する１つ以上の情報ブロックが、処理装置によって認識されない場合、全体としてメッセージの処理が停止され、通常、メッセージを送ったコンピュータにエラーメッセージが送信される。
【０１９３】
さもなければ、第２のグループＮＶのブロックの組が処理装置によってグローバルに処理される。
【０１９４】
そして、本発明に従って、あらかじめ定義された信号ブロックの識別がテスト工程Ｅ６３において実行されるとすぐに、処理工程Ｅ６５が実行され、該あらかじめ定義された信号ブロックの後に挿入された情報ブロックが、並列に処理される。
【０１９５】
ここに、ブロック４と２のブロックの組が処理され、それらが図５に示すようにメッセージの第１のグループＶに格納される。
【０１９６】
このように情報ブロックが処理装置によって受信されているとき、または受信されたとき、メッセージのエンドがデータの流れにそって処理される。
【０１９７】
言うまでもなく、受け取られるメッセージは信号ブロックに限られない。これは、特に、すでにメッセージを生成したクライアントコンピュータが、本発明を実行しない場合や、すべての情報ブロックが第２の情報ブロックに格納される場合(あるいは、言い換えれば、第１のグループＶが空である場合）である。
【０１９８】
この場合、メッセージの処理の間、工程Ｅ６１から工程Ｅ６３までは再帰的な方法で実行される。テスト工程Ｅ６２が完了後、メッセージの終わりが検出されると、処理工程Ｅ６６が実行され、このようにして格納されたメッセージがグローバルに処理される。
【０１９９】
そのうえ、並列処理可能なメッセージのリストを表す信号ブロックが、属性“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”と関連づけられたブロックではないことに注意すべきである。このように、処理装置は、本発明の第２の局面にかかる処理方法を実行することなく、２つのグループＶとＮＶとの間に挿入された信号ブロックを有する、本発明を実行するサーバコンピュータより送信されたメッセージを処理することができる。マーキングブロックを無視すれば足りるからである。
【０２００】
ＸＭＬ文書データを処理する方法は、移動電話かオンラインダイアリ（on-line diary）のような携帯情報端末において直接効果的に実行することができる。
【０２０１】
ＸＭＬ文書データをスケジューリングする装置は、移動電話や携帯情報端末と通信可能に構成された通信ネットワークのステーションに組み入れられるものである。
【０２０２】
メッセージ内のストリーミングモード（streaming mode）において処理可能な情報ブロックの存在を示す信号ブロックを組み込むことで、メッセージ全体を格納するための相当のメモリ領域を必要としなくとも、処理装置は、長いメッセージを処理することができる。
【０２０３】
情報のブロックをいくつか備えるそのような文書データを生成する場合、挿入工程Ｅ１３、Ｅ１５において、第２のグループＮＶの少なくとも１つのブロックと、第１のグループＶの少なくとも１つのブロックとが、信号ブロックの前後にそれぞれ挿入される。
【０２０４】
本発明の第３の局面の一実施形態にかかる文書データ生成方法について、図７を参照しながら説明する。
【０２０５】
上述のように、生成されるべき文書データはＸＭＬタイプのマークアップ言語で表される文書データである。
【０２０６】
その結果、そのようなＸＭＬ文書データはコンピュータか他の通信装置の間のネットワークにおいて実行される通信プロトコルにより使用可能なメッセージのフォームで送られてくる。
【０２０７】
このＸＭＬ文書データまたはメッセージは、多くの情報ブロックを備え、それぞれの情報ブロックは開始タグと終了タグによって区切られ、多くのテキストデータ項目を備えている。
【０２０８】
例えば、ＸＭＬ言語でこのような方法で表されるメッセージを以下に示す：
0003885005.tif 000002
【０２０９】
この例においては、メッセージは３つの情報ブロックを備え、タグ“ｒｏｔａｔｅ”、“ｄｅｃｏｍｐｒｅｓｓ”、“ｒｅｓｉｚｅ”により、それぞれ分けられている。
【０２１０】
その上、タグ“ｄｅｃｏｍｐｒｅｓｓ”は、インターネットアドレスによって識別されるネームスペース“ｎｓ”と関連づけられており、例えば、ｈｔｔｐ：／／ｃａｎｏｎ．ｆｒと、タグ“ｄｅｃｏｍｐｒｅｓｓ”を一意に定義することが可能である。
【０２１１】
ＸＭＬメッセージの１つ以上の情報ブロックが、“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”と呼ばれるマーカと関連づけられ、当該マーカは、文書データを処理する際、当該情報ブロックを強制的に処理することを示す。
【０２１２】
あらかじめ記述されたＸＭＬメッセージの例では、あらかじめ定義されたマーカはｍＵ属性であり、メッセージの第２の情報ブロックの開始タグである“ｄｅｃｏｍｐｒｅｓｓ”と関連づけられている。
【０２１３】
もちろん、他の方法を用いて、このマーカをブロックと関連づけてもよい。
【０２１４】
したがって、マーカは情報ブロックに含まれるタグであってもよい。
【０２１５】
次に、文書データを以下に示す：
0003885005.tif 000003
【０２１６】
代わりに、マーカは、このタグに含まれる情報ブロック自身を定義するタグであってもよい。
【０２１７】
この場合、文書データは以下のようになる。
0003885005.tif 000004
【０２１８】
いかなる表現が選択されようとも、文書データの処理において、当該情報ブロックを強制的に処理することを示すマーカである“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”を、情報ブロックと関連づけることが可能である。
【０２１９】
図７に示すように、文書データの生成の間、情報ブロックと関連づけられた少なくとも１つの参照情報が識別され、該参照情報は、あらかじめ定義されたマーカであって、ここではマーカ“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”と関連づけられている。
【０２２０】
かかる識別工程は、既に生成されたＸＭＬ文書データ上か、あるいはＸＭＬ文書データを生成する実際の時に実行可能である。
【０２２１】
ここで、この識別工程は、次に生成されるべきＸＭＬ文書データの構造を定義するのに適したＸＭＬスキーマ上で実行される。
【０２２２】
実際、ＸＭＬ文書データと、ＸＭＬ言語で記載されたＸＭＬスキーマとを関連づけることが可能であり、ＸＭＬスキーマは文書データのタイプ構造、すなわち、当該文書データにおいて用いられるタグの名前、属性、タグまたは属性によって取得される値のタイプを定義している。
【０２２３】
例として、あらかじめ記述されたＸＭＬ文書データに対応するＸＭＬスキーマは以下に示す通りである：
0003885005.tif 000005
【０２２４】
実際には、メッセージ生成方法は、例えば、格納されたＸＭＬスキーマの組から、メッセージタイプを選択する第１の工程Ｅ７０を有している。
【０２２５】
選択されたＸＭＬスキーマから、識別工程Ｅ７１により“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”属性と関連づけられた情報ブロックの参照情報を識別する。
【０２２６】
実際には、上述したＸＭＬスキーマにおいて、値が“ｔｒｕｅ”である属性ｍｕｓｔＵｄｅｒｓｔａｎｄと関連づけられたタグ＜ｘｓ：ｅｌｅｍｅｎｔ ｎａｍｅ＝“ｄｅｃｏｍｐｒｅｓｓ”＞が識別される。
【０２２７】
識別された参照情報は、情報ブロックと関連づけられたタグ“ｄｅｃｏｍｐｒｅｓｓ”の名前から成り立ちうる。
【０２２８】
この参照情報はＸＭＬ言語において、タグの名前だけでなく、関連するネームスペースを都合良く備えることができる。
【０２２９】
ＸＭＬスキーマから参照情報のリストに書き込まれるネームスペースとタグ名は、“ｎｓ：ｄｅｃｏｍｐｒｅｓｓ”となる。
【０２３０】
次に生成工程Ｅ７２が実行され、追加情報ブロックＬを生成する。該ブロックは、あらかじめ識別された参照リストから成る。
【０２３１】
上述した例においては、ただ１つの参照情報が識別されたが、もちろん、このリストは多くの参照情報を備える。さらに、このリストは空の場合もある。
【０２３２】
書込工程Ｅ７４により、生成されるメッセージの処理開始時に、追加情報ブロックＬが書き込まれ、次に、追加情報ブロックＬの後に、文書データの他の情報ブロックが書き込まれる。
【０２３３】
実際には、テスト工程Ｅ７５がこのリストＬが空であるか否かを確認する。
【０２３４】
このリストＬが空であるならば、生成工程Ｅ７４は、従来の方法においてメッセージの書き込み、つまり、情報ブロックを定義する開始タグと終了タグを用いて、ＸＭＬ言語におけるすべての情報ブロックの書き込みを継続する。
【０２３５】
あらかじめ定義したＸＭＬスキーマからのＸＭＬ文書データの書き込みについて、ここでは、より詳細な記載は省略する。
【０２３６】
これに反して、追加情報ブロックＬが少なくとも１つの参照情報を含んでいる場合には、工程Ｅ７６において、追加情報ブロックの開始を定義する開始タグが書き込まれる：
＜mustUnderstand＞
【０２３７】
次に追加情報ブロックＬに格納された最初の参照情報が選択工程Ｅ７７において選択される。
【０２３８】
ここで、かかる最初の参照情報は、“ｄｅｃｏｍｐｒｅｓｓ”というタグ名である。
【０２３９】
読込工程Ｅ７８は、タグ名“ｎａｍｅ”を読み込む。
【０２４０】
次に、書込工程Ｅ７９では、情報ブロック“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”におけるタグ名を従来の方法で書き込む：
＜name/＞
【０２４１】
テスト工程Ｅ８０では、現在のタグがブロックＬ内の最後のタグであるか否かがチェックされる。
【０２４２】
もし、答えがＮｏであれば、選択工程Ｅ８１において、追加情報タグにおける次のタグが選択され、工程Ｅ７８からＥ８０が当該タグに対して繰り返される。
【０２４３】
ブロックＬのすべてのタグが調べられ、書き込まれると、書込工程Ｅ８２は、以下の書式で、追加情報ブロックの終了タグを書き込む:
＜/mustUnderstand＞
【０２４４】
そして、この追加情報ブロックは、属性“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”を備える情報ブロックと関連づけられたタグのすべての名前を記載する。
【０２４５】
その結果、書込工程Ｅ８３が実行され、追加情報ブロックＬの後に、生成される文書データを構成するすべての情報ブロックが書き込まれる。
【０２４６】
例として、本発明にかかる生成方法の実現により、あらかじめ記述されたＸＭＬ文書データは、以下の書式で表される：
0003885005.tif 000006
【０２４７】
このメッセージは、情報ブロックを備える文書データのフォームで表され、第１の情報ブロックは文書データの情報ブロックの参照リストを備え、これらの参照情報ブロックは、文書データの処理において、情報ブロックを強制的に処理することを示すマーカと関連づけられている。
【０２４８】
通信ネットワーク上のサーバステーションまたはコンピュータ上で生成されたメッセージは、次に、その処理のために、例えば通信ネットワーク上の他のコンピュータ、あるいは移動電話または携帯情報端末に組み込まれる処理装置に転送される。
【０２４９】
本発明の第４の局面による生成方法によって生成されたそのようなメッセージの処理について、図８を参照しながら説明する。
【０２５０】
まず、受信工程Ｅ９０では、処理すべきメッセージを受け取る。
【０２５１】
読込工程Ｅ９１は、受信した第１の情報ブロックの読み込みから成る。
【０２５２】
メッセージ全体を処理するために必要なメモリ領域を最小化するために、メッセージはブロックごとに受け取られ、処理される点に注意されたい。
【０２５３】
第１のブロックが、“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”ブロックであるか否か、つまり、メッセージの生成中に付加された追加情報ブロックに相当するか否かが、テスト工程Ｅ９２においてチェックされる。
【０２５４】
答えがＮＯである場合には、メッセージ中の処理されるべき全てのブロック、つまり、ここではメッセージ中のすべてのブロックがリストアップされる。
【０２５５】
処理工程として適切なＥ９４は、このようなメッセージの情報ブロック上で、従来の方法で実行される。
【０２５６】
テスト工程Ｅ９２のエンドにおいて、受信した第１の情報ブロックが、確かに“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”ブロックである場合には、このブロックに格納された各参照情報に対して、処理装置が、この参照情報に対応付けられる情報ブロックを処理するのに本当に適しているか否かを確認する。
【０２５７】
このために、選択工程Ｅ９５では、この“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”ブロックの第１の子、つまり、ここでは、格納された第１のタグ名が選択される。
【０２５８】
ここで、タグ＜ｄｅｃｏｍｐｒｅｓｓ／＞が選択される。
【０２５９】
読込工程Ｅ９６は、“ｄｅｃｏｍｐｒｅｓｓ”の値を読み込む。
【０２６０】
テスト工程Ｅ９７では、このタグが処理装置に認識されているか否か、そして、実際に、処理装置がタグを処理するのに適しているか否かがチェックされる。
【０２６１】
このテスト工程は、処理装置が処理するのに適合するすべてのタグ名を格納したテーブルＢに基づいて実行可能である。
【０２６２】
読込工程Ｅ９６において読み込まれたタグが、処理装置に認識されなかった場合には、テスト工程Ｅ９７の後、エラー生成工程Ｅ９８とエラー転送工程Ｅ９９とにより、処理装置が、受信したメッセージを処理するのに適していない旨のエラーが表示される。
【０２６３】
かかるエラーメッセージは、メッセージを生成、転送したサーバ装置に送信され、あるいは、例えば、処理装置が移動電話の場合には、受信したメッセージを処理することが不可能であることをユーザに示すために、処理装置の画面上に表示される。
【０２６４】
テスト工程Ｅ９７のエンドにおいて、現在のタグが、処理装置により確かに認識される場合には、テスト工程Ｅ１００により、“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”において、選択された子が最後であるか否かが確認される。
【０２６５】
答えがＮＯである場合には、選択工程Ｅ１０１において次の子が選択され、工程Ｅ９６からＥ１００がかかる子に対して繰り返される。
【０２６６】
テスト工程Ｅ１００のエンドにおいて、“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”ブロックにおけるすべての子の処理が終わると、識別工程Ｅ１０２において、処理されるべきメッセージのすべてのブロック、つまり、ここでは、すでに解析された第１の追加ブロックを除くメッセージのすべてのブロックについて識別処理される。
【０２６７】
識別工程Ｅ１０２において識別処理されるべきこれらのブロックについて、処理工程Ｅ１０４は、処理装置が、それらを処理するのに真に適しているかを確認するために、すべてのブロックを読み込む必要なく、上述の方法で実行される。
【０２６８】
本発明によれば、メッセージのはじめに配置された追加情報ブロックについて、上述のようにチェックが完了するとすぐに、文書データの情報ブロックを読み込みながら、その処理を行うことができる。
【０２６９】
慣習上、この処理方法は、文書データ処理が処理結果を有するか否かチェックするためのテスト工程Ｅ１０３を含むことができる。もし、答えがＹＥＳならば、転送工程Ｅ１０４は、この結果をコンピュータのメッセージ転送手段によって送信するか、あるいは、処理装置のユーザに対して、この結果を表示する。
【０２７０】
本発明にかかる、実行、スケジューリング、生成、発生、または処理方法のいずれか１つに適したコンピュータシステムのうちの１つ乃至それ以外を、図９に図示する。
【０２７１】
一方、本発明の第２または第４の局面によるスケジューリング装置、生成装置、処理装置は、マイクロプロセッサ１００と、文書データのスケジューリング、文書データの生成、文書データの処理についてのコンピュータプログラムを備える読み出し専用メモリまたはＲＯＭ１０１と、該プログラム実行順に修正された変数を格納するために構成されたレジスタを備える随時書き込み読み出しメモリまたはＲＡＭ１０２とが組み込まれている。
【０２７２】
特に、スケジューリング装置の随時書き込み読み出しメモリ１０２は、第１のグループＶにおける、情報ブロックのソーティングに必要なインデックスリストｅとｎと同様に、メッセージのすべてのブロックを格納するために構成される。
【０２７３】
同様に、本発明の第２の局面による処理装置の随時書き込み読み出しメモリ１０２は、受信した場合に、それ以降のブロックがメモリに格納することなく並列処理できるブロックであることを示す、信号ブロックを受信する前に、受信したすべての情報ブロックを格納するのに十分である。
【０２７４】
本発明の第４の局面にかかる文書データ処理装置では、随時書き込み読み出しメモリ１０２は、処理装置に認識されたすべての情報ブロックをリストアップするテーブルＢだけでなく、文書データの第１の情報ブロックを格納するのに適したレジスタも備える。
【０２７５】
代わりに、文書データ生成装置は、メッセージのはじめに挿入されるべき追加情報ブロックを生成するために識別された情報ブロックの参照リストＬを格納するのに適したレジスタを備える随時書き込み読み出しメモリ１０２を備える。
【０２７６】
このマイクロプロセッサ１００は、様々な周辺機器に接続したり、または移動電話、または接続オーガナイザー（organizer）などの携帯情報端末（ＰＤＡ）に組み込むことができるコンピュータ１０と統合される。
【０２７７】
コンピュータ１０は、通信ネットワーク１に接続された通信インターフェース１１０を備え、ＸＭＬ言語で記載されたメッセージのような文書データの受信または転送が可能である。
【０２７８】
さらに、コンピュータ１０は、ハードディスク１０６のような文書データ格納手段を備えるか、あるいは、ディスク７００のような、持ち運び可能な文書データ格納手段を有するディスクドライブ１０７（ディスク、コンパクトディスク、あるいはコンピュータカード）によって、協働可能なように構成される。
【０２７９】
これらの固定された、または持ち運び可能な格納手段は、さらに、マイクロプロセッサ１００により一旦読み込まれると、ハードディスク１０６上に保持され、本発明にかかるスケジューリング方法または処理方法を実現するコードを備える。
【０２８０】
１つの異なる方法として、本発明をスケジューリング装置、生成装置、処理装置に実施させるプログラムは、読み出し専用メモリＲＯＭ１０１に格納されていてもよい。
【０２８１】
２つ目の変形として、上述したように、プログラムは、通信ネットワーク１を介して、受信され、保持されるようにしてもよい。
【０２８２】
また、コンピュータ１０は画面１０３を備え、例えば、キーボード１０４やマウス１０５やその他の手段を用いることで、オペレータとのインターフェースを提供することができ、処理後のＸＭＬ文書データの表示をすることができる。
【０２８３】
中央演算処理装置（ＣＰＵ）１００は、本発明の実現に関連する指示を実行するだろう。電源が供給されると、非揮発性の記憶手段、例えば、読み出し専用メモリ１０１に保持される発明に関するプログラムおよび方法が随時書き込み読み出しメモリ１０２に転送され、発明の実現に必要な変数と同様に、発明の実行可能なコードが保持されることになる。
【０２８４】
通信バス１１２により、コンピュータ１０かそれにリンクされたそれらの様々な補助要素との通信が可能となる。バス１１２の記載はこれに限らず、特に、マイクロプロセッサ１００は直接か別のサブ要素を通して、指示をどんな補助要素にも伝えることができる。
【０２８５】
言うまでもなく、本発明の範囲から逸脱することなしに、上述した実施形態に対して、多数の変更が適用されうる。
【０２８６】
したがって、上述されたスケジューリング方法はＸＭＬ言語で既に表された文書データにおいて実施されるが、ＸＭＬ言語で文書データを生成する際に、生成のために、このスケジューリング方法を実施することも可能である。
【０２８７】
その上、情報ブロックがある属性ｍＵとの関連づけは、実施形態において記述したように、情報ブロックを定義する開始タグと関連づけられる属性を通して行われるだけではなく、情報ブロックに含まれるタグによって、あるいは、情報ブロックが含まれる取り囲みタグによって行われてもよい。
【０２８８】
生成方法は、ＸＭＬ文書データを生成するのに使用されるＸＭＬスキーマからの実施についてすでに説明した。
【０２８９】
また、生成方法は、コンピュータオブジェクトまたは、続いて生成される文書データのブロックのフォームにおいて表現することで、実施することができた。
【０２９０】
この表現は、異なったブロックとそれらのそれぞれの階層的な位置を記載するツリー構造か、またはテーブル形式で作成可能である。
【０２９１】
例として、追加情報ブロックに書かれている参照情報を識別するのに、上記例のＸＭＬ文書データに対応する以下のテーブルを使用することが可能である。
【０２９２】
【表１】
0003885005.tif 000007
【０２９３】
各ブロックＢ１、Ｂ２、Ｂ３に対して、タグを参照するテーブルと、このブロックの属性とが対応している。
【０２９４】
特定の属性“ｍｕｓｔＵｎｄｅｒｓｔａｎｄ”と関連付けられたブロックであって、ここではブロックＢ２（“ｄｅｃｏｍｐｒｅｓｓ”）を識別することにより、識別工程は、これらのテーブルから実行されることとなる。
【０２９５】
一般的な方法において、本発明は、複数の情報のブロックを備えるいかなる文書データにも関係し、マークアップ言語において表現された文書データに限られるものではない。
【図面の簡単な説明】
【図１】図１は本発明の第１の局面の一実施形態にかかるスケジューリング方法についてのアルゴリズムを示す図である。
【図１Ａ】図１Ａは図１のスケジューリング方法の検証工程についてのアルゴリズムを示す図である。
【図１Ｂ】図１Ｂは図１のスケジューリング方法のソーティング工程についてのアルゴリズムを示す図である。
【図２】、
【図３】、
【図４】、
【図５】図２〜５は図１のスケジューリング方法の実施に際しての文書データのスケジューリングを示し、マークアップ言語で表される文書データの一例を示す図である。
【図６】図６は本発明の第２の局面の一実施形態にかかる文書データを処理する方法についてのアルゴリズムを示す図である。
【図７】図７は本発明の第３の局面の一実施形態にかかる生成方法についてのアルゴリズムを示す図である。
【図８】図８は本発明の第４の局面の一実施形態にかかる処理方法についてのアルゴリズムを示す図である。
【図９】図９は本発明の様々な方法を実施するために適合したコンピュータシステムを図式的に示す図である。
【図１】
0003885005.tif 000008
【図１Ａ】
0003885005.tif 000009
【図１Ｂ】
0003885005.tif 000010
【図２】
0003885005.tif 000011
【図３】
0003885005.tif 000012
【図４】
0003885005.tif 000013
【図５】
0003885005.tif 000014
【図６】
0003885005.tif 000015
【図７】
0003885005.tif 000016
【図８】
0003885005.tif 000017
【図９】
0003885005.tif 000018