(57)【要約】【課題】  ＸＭＬ等のマークアップ言語で記述された同一の木構造を持つ文章をサーバから端末へ複数回伝送する場合、その文章全体を毎回伝送すると、端末において文章の木構造を毎回解析しなければならないため、端末の処理負荷が増加する。【解決手段】  本発明では、サーバにおいて文章を事前に解析する文章構造解析機能と、端末からの要求に応じて送信するデータを適宜選択する送信データ生成機能をサーバに搭載することを特徴とし、端末が保有している文章の木構造のバージョンに応じて、サーバから端末へ文章の木構造のデータの全てを送信するか、あるいは、その一部のみを送信するかを決定するため、端末がデータを解析する処理負荷を軽減することが可能となる。【選択図】  図１
2012008669.tif 000002
【特許請求の範囲】
【請求項１】
マークアップ言語で記述されたデータを管理する管理サーバとマークアップ言語で記述されたデータをダウンロードするダウンロード端末、ならびにアップロードするアップロード端末を含んで構成されるマークアップ言語記述データ送受信システムにおいて、
前記管理サーバは、ネットワーク接続手段と、前記アップロード端末からアップロードされるマークアップ言語で記述されたデータを解析する手段と、解析した結果を管理する手段と、前記ダウンロード端末に送信するデータを生成する手段を有する
ことを特徴とするマークアップ言語記述データ送受信システム。
【請求項２】
請求項１に記載のマークアップ言語記述データ送受信システムにおいて、
前記管理サーバは、前記アップロード端末から初めてのデータがアップロードされた場合、データを一意に識別するアップロードＩＤを付加し、前記アップロード端末に送信する
ことを特徴とするマークアップ言語記述データ送受信システム。
【請求項３】
請求項２に記載のマークアップ言語記述データ送受信システムにおいて、
前記アップロード端末は、前記管理サーバに以前アップロードしたデータの一部分を修正したデータをアップロードする際には、前記修正したデータと共に、前記アップロードＩＤも同時に送信する
ことを特徴とするマークアップ言語記述データ送受信システム。
【請求項４】
請求項１から３のいずれか一に記載のマークアップ言語記述データ送受信システムにおいて、
前記管理サーバは、前記データを解析する手段において、マークアップ言語で記述されたデータのデータ構造に関する情報と前記データ構造以外の情報に分解するデータ構造分解手段を有する
ことを特徴とするマークアップ言語記述データ送受信システム。
【請求項５】
請求項２に記載のマークアップ言語記述データ送受信システムにおいて、
前記管理サーバは、前記解析した結果を管理する手段において、前記アップロードＩＤ、前記アップロードＩＤ毎の差分データを一意に識別するダウンロードＩＤ、ならびに前記差分データを管理する
ことを特徴とするマークアップ言語記述データ送受信システム。
【請求項６】
請求項５に記載のマークアップ言語記述データ送受信システムにおいて、
前記管理サーバは、前記ダウンロード端末からデータのダウンロードが要求され、その要求が初めての場合、要求されたデータと共に、前記ダウンロードＩＤを前記ダウンロード端末に送信する
ことを特徴とするマークアップ言語記述データ送受信システム。
【請求項７】
請求項６に記載のマークアップ言語記述データ送受信システムにおいて、
前記ダウンロード端末は、前記管理サーバに以前ダウンロードしたデータのダウンロードを要求する際には、前記ダウンロードＩＤを送信する手段を有する
ことを特徴とするマークアップ言語記述データ送受信システム。
【請求項８】
請求項１から７のいずれか一に記載のマークアップ言語記述データ送受信システムにおいて、
前記ダウンロード端末は、前記ダウンロードＩＤ、ならびにダウンロードＩＤを送信したサーバを一意に識別するサーバＩＤ毎にダウンロードＩＤが示す前記データ構造に関するデータを管理する手段を有することを特徴とするマークアップ言語記述データ送受信システム。
【請求項９】
請求項７に記載のマークアップ言語記述データ送受信システムにおいて、
前記管理サーバは、前記ダウンロード端末に送信するデータを生成する手段は、前記ダウンロード端末が送信する前記ダウンロードＩＤに応じて、前記データ構造以外のデータのみを送信するか、前記データ構造以外のデータの他、差分データを送信するかを判別する手段を有する
ことを特徴とするマークアップ言語記述データ送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマークアップ言語で記述されたデータの送受信システムに関する。
【背景技術】
【０００２】
ＸＭＬ(Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ)は、文章の構造をタグで囲まれる文字列で記述するマークアップ言語の一種である。ＸＭＬは、データの構造が明確であり、更に、ＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）と呼ばれる文書型定義を用いることにより、独自の拡張を容易に行うことができるため、データベースやリアルタイム性が求められる通信等のデータフォーマットとして広く利用されている。
【０００３】
一方、有線通信よりも通信速度が遅い無線通信を利用する携帯電話等の端末においてＸＭＬ等のデータが利用されるようになると、有線通信を利用するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等では問題にならなかった、データ量の増加に伴う遅延が問題となってきた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２１７７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の従来技術では、文章を構造とそれ以外のコンテンツに分けて、構造に対しては独自の文法規則に従って符号化を行うことにより、データの圧縮を行う。圧縮したデータを送信することにより、ネットワークに流れるデータ量は削減できるものの、圧縮されたデータを受信した端末では、データを解凍する処理、更に、解凍した後に文章の構造を解析する処理が必要であり、端末の処理負荷が増加する。
【０００６】
そこで、本明細書においては、端末が必要とする場合に、文章の構造に関するデータを送信することにより、ネットワークに流れるデータ量を削減しつつ、端末における文章の構造解析に関する処理負荷を削減するマークアップ言語記述データ送受信システムが開示される。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、開示されるサーバは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、揮発性メモリ、記憶装置、通信インタフェースを含むハードウェアを構成し、更に、このハードウェア構成に、ＸＭＬ等で記述された文章を解析する文章データ解析機能、端末の要求を解析するダウンロード要求解析機能、端末から通知されたエラーを解析するエラー解析機能、記憶装置に保存しているデータを読み出して端末に送信するデータを生成する送信データ生成機能、端末から受信したデータをその種類に応じて振り分ける受信データ振分機能、通信インタフェースを通して端末と通信を行う通信機能を搭載した構成を特徴とする。
【０００８】
また、マークアップ言語で記述された文章をダウンロードする本発明に関わる端末は、ＣＰＵ、揮発性メモリ、記憶装置、通信インタフェースを含むハードウェアを構成し、更に、このハードウェア構成に、必要なデータをサーバに要求するダウンロード要求生成機能、エラーの発生をサーバへ通知するエラー通知機能、受信したデータから文章構造を再生する文章構造再生機能、木構造を再生する木構造再生機能、サーバから受信したデータをその種類に応じて振り分ける受信データ振分機能、通信インタフェースを通して端末と通信を行う通信機能を搭載した構成を特徴とする。
【０００９】
上記構成において、サーバは、ＸＭＬ等で記述された文章を記憶装置に保存する際に、文章の構造に関するデータとそれ以外のデータに分けて保管する。そして、端末がサーバからＸＭＬ等で記述された文章をダウンロードする際に、端末が文章の構造に関するデータを必要とする場合に、サーバが文章の構造に関するデータとそれ以外のデータを送信し、それ以外の場合は、サーバが文章の構造以外のデータを送信し、文章の構造に関するデータを送信しないことにより、ネットワークに流れるデータ量を削減しつつ、更に、端末において文章の構造解析に関する処理負荷を削減することを実現する。
【００１０】
開示される一つの観点に従うマークアップ言語記述データ送受信システムは、マークアップ言語で記述されたデータを管理する管理サーバとマークアップ言語で記述されたデータをダウンロードするダウンロード端末、ならびにアップロードするアップロード端末を含んで構成されるマークアップ言語記述データ送受信システムである。
【００１１】
さらに、管理サーバは、ネットワーク接続手段と、アップロード端末からアップロードされるマークアップ言語で記述されたデータを解析する手段と、解析した結果を管理する手段と、ダウンロード端末に送信するデータを生成する手段を有することを特徴とする。
【００１２】
さらに、管理サーバは、アップロード端末から初めてのデータがアップロードされた場合、データを一意に識別するアップロードＩＤを付加し、アップロード端末に送信する手段を備えても良い。
【００１３】
さらに、アップロード端末は、管理サーバに以前アップロードしたデータの一部分を修正したデータをアップロードする際には、修正したデータと共に、アップロードＩＤも同時に送信する手段を備えても良い。
【００１４】
さらに、管理サーバは、データを解析する手段において、マークアップ言語で記述されたデータのデータ構造に関する情報とデータ構造以外の情報に分解するデータ構造分解手段を有する手段を備えても良い。
【００１５】
さらに、管理サーバは、解析した結果を管理する手段において、アップロードＩＤ、アップロードＩＤ毎の差分データを一意に識別するダウンロードＩＤ、ならびに差分データを管理する手段を備えても良い。
【００１６】
さらに、管理サーバは、ダウンロード端末からデータのダウンロードが要求され、その要求が初めての場合、要求されたデータと共に、ダウンロードＩＤをダウンロード端末に送信する手段を備えても良い。
【００１７】
さらに、ダウンロード端末は、管理サーバに以前ダウンロードしたデータのダウンロードを要求する際には、ダウンロードＩＤを送信する手段を備えても良い。
【００１８】
さらに、ダウンロード端末は、ダウンロードＩＤ、ならびにダウンロードＩＤを送信したサーバを一意に識別するサーバＩＤ毎にダウンロードＩＤが示すデータ構造に関するデータを管理する手段を備えても良い。
【００１９】
さらに、管理サーバは、ダウンロード端末に送信するデータを生成する手段は、ダウンロード端末が送信するダウンロードＩＤに応じて、データ構造以外のデータのみを送信するか、データ構造以外のデータの他、差分データを送信するかを判別する手段を備えても良い
【発明の効果】
【００２０】
マークアップ言語で記述された同一の木構造を持つデータをサーバから端末へ複数回伝送する場合において、文章の構造に関するデータは端末が必要とする場合にサーバが送信することにより、ネットワークに流れるデータ量を削減しつつ、端末が受信したデータの構造を解析するための処理負荷を削減することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】ＸＭＬデータの送受信システムの構成を例示する図
【図２】サーバならびに端末の構成を例示する図
【図３】各テーブルの構成を例示する図
【図４】文章データの解析の一例
【図５】文章構造データおよび葉データの構成を例示する図
【図６】文章構造データの更新の一例
【図７】ＸＭＬデータのアップロードシーケンスを例示する図
【図８】ＸＭＬデータのダウンロードシーケンスを例示する図
【図９】ダウンロード要求の送信処理フローチャートを例示する図
【図１０】ダウンロード要求の解析処理フローチャートを例示する図
【図１１】文章構造データを送信しない場合の送受信シーケンスを例示する図
【図１２】文章構造データを更新する際の送受信シーケンスを例示する図
【図１３】エラー発生時の送受信シーケンスを例示する図
【図１４】文章データおよび葉データを送信する場合のフォーマットを例示する図
【図１５】文章構造再生データの構成を例示する図
【図１６】木構造の再生方法の一例
【発明を実施するための形態】
【００２２】
図１は、本発明を適用した一実施例であるＸＭＬデータの送受信システムの構成を示した図である。
【００２３】
アップロード端末１００は、図２に示すように、ＣＰＵ２００、揮発性メモリ２０２、記憶装置１０２、通信インタフェース２０４を搭載している端末であり、ＰＣや携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等が該当する。記憶装置１０２とは、ハードディスクや不揮発性メモリといった記憶媒体であり、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬのようなマークアップ言語で記述された文章データ１０４、ならびに、文章データ管理テーブル１０６を有する。アップロード端末１００は、ネットワーク１７０を介して、文章データ１０４、ならびに、文章データ管理テーブル１０６に保有する情報をサーバ１１０へアップロードする。
【００２４】
アップロード端末１００には、文章データ管理機能１０７、通信機能１０８を有する。
【００２５】
文章データ管理機能１０７とは、記憶装置１０２に保存されているＸＭＬ等で記述された文章データ１０４をサーバ１１０にアップロードした際に、サーバ１１０から通知されるＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を文章データ管理テーブル１０６に記録する。文章データ管理テーブル１０６の構成は図３に示す。
【００２６】
文章データ管理テーブル１０６は、記憶装置１０２に保有する文章データ１０４を一意に識別するテーブルであり、アップロードデータＩＤ３００、文章データ格納先アドレス３０２、文章データサイズ３０４から成る。
【００２７】
アップロードデータＩＤ３００には、文章データ１０４をサーバ１１０へアップロードした際に、サーバ１１０から通知されるＩＤを設定する。
【００２８】
文章データ格納先アドレス３０２には、文章データ１０４が格納されている記憶装置１０２上のアドレスを設定する。
【００２９】
文章データサイズ３０４には、文章データ１０４のデータサイズをバイト単位等で設定する。
【００３０】
通信機能１０８とは、通信インタフェース２０４を通じて、ネットワーク１７０を介して、各サーバと通信を行う機能であり、サーバ１１０と通信することにより、アップロード端末１００が記録装置１０２に保有する文章データ１０４、ならびにアップロードデータＩＤ３００をサーバ１１０へ送信することを可能とする。例えば、新規の文章データ１０４をアップロードする場合は文章データ１０４のみをサーバ１１０へ送信し、過去にアップロードした文章データ１０４を更新する場合は文章データ１０４とアップロードデータＩＤ３００を併せてサーバ１１０へ送信する。
【００３１】
サーバ１１０は、アップロード端末１００から受信した文章データ１０４を保存して、ダウンロード端末１４０からのダウンロード要求に応じて保存しているデータを送信するサーバであり、ＸＭＬ等のデータを管理するデータベースサーバ等が該当する。
【００３２】
サーバ１１０は、図２に示すように、ＣＰＵ２１０、揮発性メモリ２１２、記憶装置１２４、通信インタフェース２１４を搭載した情報処理装置である。記憶装置１２４とは、ハードディスクや不揮発性メモリといった記憶媒体であり、アップロード端末１００から受信した文章データ１０４を解析して得られる文章構造データ１２６と葉データ１２８、ならびに、それらのデータを一意に管理するバージョン管理テーブル１３０を有する。尚、文章構造データ１２６、葉データ１２８、バージョン管理テーブル１３０の詳細は後述する。
【００３３】
サーバ１１０には、通信機能１１２、受信データ振分機能１１４、文章データ解析機能１１８、ダウンロード要求解析機能１２０、エラー解析機能１２４、送信データ生成機能１３２を有する。
【００３４】
通信機能１１２とは、通信インタフェース２１４を通じて、ネットワーク１７０を介して、各端末と通信を行う機能であり、アップロード端末１００と通信を行うことによりアップロード端末１００が保有する文章データ１０４を受信すること、ならびに、ダウンロード端末１４０と通信を行うことによりサーバ１１０が記憶装置１２４に保有する文章構造データ１２６や葉データ１２８を送信することを可能にする。
【００３５】
受信データ振分機能１１４とは、受信したデータのヘッダ等を解析してデータの種類を判別し、その種類に応じてデータを文章データ解析機能１１８、ダウンロード要求解析機能１２０、エラー解析機能１２４へ渡す機能である。例えば、アップロード端末１００がアップロードする文章データ１０４を受信した場合、受信したデータは文章構造解析機能１１８へ渡される。また、ダウンロード端末１４０からのダウンロード要求、あるいは、エラーを受信した場合、それらはダウンロード要求解析機能１２０、エラー解析機能１２２にそれぞれ渡される。
【００３６】
文章データ解析機能１１８は、アップロード端末１００から受信した文章データ１０４を文章構造データ１２６と葉データ１２８に分解して記憶装置１２４に保存する機能、バージョン管理テーブル１３０を更新する機能、ならびに、必要に応じてアップロードデータＩＤ３１２を送信データ生成機能１３２へ通知する機能である。
【００３７】
文章データ解析機能１１８は、アップロード端末１００から文章データ１０４を受信した場合に、アップロードデータＩＤ３００も併せて受信している場合は、受信したデータが過去にアップロードされた文章データ１０４の更新であると判断し、アップロードデータＩＤ３００を送信データ生成機能１３２に通知する。また、受信したデータにアップロードデータＩＤ３００が含まれていない場合は、アップロードされた文章データ１０４が新規のデータであると判断し、新しいアップロードデータＩＤ３１２を割振り、そのＩＤを送信データ生成機能１３２に通知する。
【００３８】
文章データの解析の一例を図４に示す。文章データの例文４００を解析する場合、文章データ解析機能１１８は、文章データの各タグの入れ子構造を各ノードの親子関係とする木構造４１０を生成する。次に、木構造４１０の中で子ノードを持たないノード（ノード“ＶＶＶ”、ノード“ＷＷＷ”等）に番号を割当て（図４（ｃ）、ノード“＃１”、ノード“＃２”等）、番号とデータを葉データ１２８として記憶装置１２４に保存する。また、図４（ｃ）に示す文章の構造に関するノードを文章構造データ１２６として記憶装置１２４に保存する。そして、文章データ解析機能１１８は、文章構造データ格納先アドレス３１６、文章構造データサイズ３１８、葉データ格納先アドレス３２０、ならびに、葉データサイズ３２２をバージョン管理テーブル１３０に保存する。
【００３９】
文章構造データ１２６と葉データ１２８の詳細、ならびに、それらの生成方法を図４、ならびに図５を用いて説明する。
【００４０】
まず例文４００において、文章データの最初の開始タグ＜ａｂｃ＞をノード“ａｂｃ”として、文章構造データ１２６のノード５００に追加する。
【００４１】
次の開始タグ＜ｄｅ＞をノード“ｄｅ”として、ノード５００に追加する。ここで、＜ａｂｃ＞の終了タグ＜／ａｂｃ＞より先に＜ｄｅ＞があるため、ノード“ｄｅ”をノード“ａｂｃ”の子ノード５０２に追加する。そして、ノード“ｄｅ”はノード“ａｂｃ”の１つ目の子ノードであるため、ノード“ａｂｃ”子ノード数５０４に“１”を設定する。
【００４２】
次の“ＶＶＶ”はタグではなくデータを意味しているため、ノード“＃１”をノード５１０に追加する。そして、ノード“ＶＶＶ”を葉データ１２８の葉ノード５１２に追加する。また、＜ｄｅ＞の終了タグ＜／ｄｅ＞より先にノード“ＶＶＶ”があるため、ノード“＃１”をノード“ｄｅ”の子ノード５０２に追加する。そして、ノード“ＶＶＶ”はノード“ｄｅ”の１つ目の子ノードであるため、ノード“ｄｅ”の子ノード数５０４に“１”を設定する。
【００４３】
次に、＜／ｄｅ＞があるため、ノード“ｄｅ”の子ノードはノード“＃１”だけであり、ノード“ｄｅ”から分岐することはない。したがって、ノード“＃１”の分岐点までの深さ５０６には、ノード“ｄｅ”の親ノードであるノード“ａｂｃ”までの深さとして、“２”を設定する。
【００４４】
次の開始タグ＜ｆｇｈ＞をノード“ｆｇｈ”として、ノード５００に追加する。ここで、＜ａｂｃ＞の終了タグ＜／ａｂｃ＞より先に＜ｆｇｈ＞があるため、ノード“ｆｇｈ”をノード“ａｂｃ”の子ノード５０２として追加する。そして、ノード“ｆｇｈ”はノード“ａｂｃ”の２つ目の子ノードであるため、ノード“ａｂｃ”の子ノード数５０４に“２”を設定する。
【００４５】
以上の手順を繰り返すことにより、図５の文章構造データ１２６、ならびに葉データ１２８を生成することができる。
【００４６】
バージョン管理テーブル１３０の構成は図３に示す。
【００４７】
バージョン管理テーブル１３０は、文章構造データ１２６と葉データ１２８のバージョンを管理するテーブルであり、アップロードデータＩＤ３１２、ダウンロードデータＩＤ３１４、文章構造データ格納先アドレス３１６、文章構造データサイズ３１８、葉データ格納先アドレス３２０、葉データサイズ３２２、差分ノード３２４から成る。
【００４８】
アップロードデータＩＤ３１２には、アップロード端末１００がアップロードする文章データ１０４を一意に識別するＩＤを設定する。アップロード端末１００から新規の文章データ１０４がアップロードされる度に、文章データ解析機能１１８が新しいＩＤを設定する。
【００４９】
ダウンロードデータＩＤ３１４には、サーバ１１０が記憶装置１２４に保有する文章構造データ１２６と葉データ１２８、ならびに、それらのデータの更新を一意に識別するＩＤを設定する。例えば、アップロード端末１００から文章データ１０４がアップロードされる度に、文章データ解析機能１１８が新しいダウンロードデータＩＤ３１４を設定する。
【００５０】
文章構造データ格納先アドレス３１６には、文章構造データ１２６が格納されている記憶装置１２４上のアドレスを設定する。
【００５１】
文章構造データサイズ３１８には、文章構造データ１２６のデータサイズをバイト数等で設定する。
【００５２】
葉データ格納先アドレス３２０には、葉データ１２８が格納されている記憶装置１２４上のアドレスを設定する。
【００５３】
葉データサイズ３２２には、葉データ１２８のデータサイズをバイト数等で設定する。
【００５４】
差分ノード３２４には、アップロード端末１００から同じアップロードデータＩＤ３００の文章データ１０４がアップロードされる度に、以前の文章構造データ１２６から更新されたノードを設定する。更新の一例を図６に示す。更新前の文章構造データ６００から１回目の更新後の文章構造データ６１０に更新された場合、ノード“ｄｅ”の子ノードとしてノード“ｎｏ”が追加され、また、ノード“ｌｍ”の子ノードであるノード“＃５”が削除されたため、差分ノード３２４にはノード“ｄｅ”とノード“ｌｍ”を設定する。更に、１回目の更新後の文章構造データ６１０から２回目の更新後の文章構造データ６２０に更新された場合、ノード“ｆｇｈ”の子ノードであるノード“＃２”が削除されたため、ダウンロードデータＩＤ３１４が“２”の差分ノード３２４にはノード“ｆｇｈ”を設定する。また、ダウンロードデータＩＤ３１４が“１”の差分ノード３２４には、１回目で更新されたノード“ｌｍ”より、２回目に更新されたノード“ｆｇｈ”の方がより根に近いため、１回目の更新の差分ノード“ｄｅ”に加えて、ノード“ｆｇｈ”を設定する。
【００５５】
ダウンロード要求解析機能１２０は、ダウンロード端末１４０から受信したダウンロード要求を解析し、ダウンロード端末１４０へ送信する文章構造データ１２６と葉データ１２８のダウンロードデータＩＤ３１４を送信データ生成機能１３２へ通知する機能である。例えば、ダウンロード端末１４０がＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等を指定してサーバ１１０へデータのダウンロード要求を送信する際に、ダウンロード端末１４０がダウンロードを要求するデータのダウンロードデータＩＤ３１４を既に保有している場合は、そのダウンロードデータＩＤ３１４を併せて通知する。ダウンロード要求を受信したサーバ１１０は、ダウンロード要求にダウンロードデータＩＤ３１４が含まれている場合は、そのダウンロードデータＩＤ３１４がダウンロード端末１４０の要求するデータにおける最新のＩＤであるかを判断する。最新のダウンロードデータＩＤ３１４であった場合は葉データ１２８を送信データ生成機能１３２へ通知する。最新のダウンロードデータＩＤ３１４ではなかった場合はダウンロード端末１４０へ送信する文章構造データ１２６と葉データ１２８のダウンロードデータＩＤ３１４を送信データ生成機能１３２へ通知する。
【００５６】
エラー解析機能１２２は、ダウンロード端末１４０から通知されたエラーを解析し、ダウンロード端末１４０へ再送する文章構造データ１２６と葉データ１２８とダウンロードデータＩＤ３１４を送信データ生成機能１３２へ通知する機能である。例えば、ダウンロード端末１４０においてデータを再生する際に、データの過不足等のエラーが発生した場合、ダウンロード端末１４０はダウンロードデータＩＤ３１４と共にエラーが発生したことをサーバ１１０へ通知する。エラーを通知されたサーバ１１０は、ダウンロードデータＩＤ３１４を解析し、そのダウンロードデータＩＤ３１４が最新のものであるかを判断する。最新のダウンロードデータＩＤ３１４でなかった場合はダウンロード端末１４０へ送信する文章構造データ１２６と葉データ１２８のダウンロードデータＩＤ３１４を送信データ生成機能１３２へ通知し、最新のダウンロードデータＩＤ３１４であった場合は葉データ１２８の再送要求を送信データ生成機能１３２へ通知する。
【００５７】
送信データ生成機能１３２は、文章データ解析機能１１８から通知されるアップロードＩＤ３１２をアップロード端末１００へ送信する機能、ならびに、ダウンロード要求解析機能１２０、あるいは、エラー解析機能１２２から通知されるダウンロードデータＩＤ３１４を基にダウンロード端末１４０へ送信する文章構造データ１２６と葉データ１２８を記憶装置１２４から読み出し、通信機能１１２がネットワーク１７０を介して文章構造データ１２６と葉データ１２８をダウンロード端末１４０へ送信できる形式に整形する機能である。送信データ生成機能１３２が整形するデータの形式の詳細は、後述する。
【００５８】
ダウンロード端末１４０は、図２に示すように、ＣＰＵ２３０、揮発性メモリ２３２、記憶装置１４２、通信インタフェース２３４を搭載している端末であり、ＰＣや携帯電話やＰＤＡ等が該当する。記憶装置１４２とは、ハードディスクや不揮発性メモリといった記憶媒体であり、サーバ１１０から受信したデータを基に再生される文章構造再生データ１４４、ならびに、保存データ管理テーブル１４６を有する。
【００５９】
文章構造再生データ１４４の構成は図１５に示す。
【００６０】
文章構造再生データ１４４は、サーバ１１０から受信した文章構造データ１２６を解析することで得られるデータであり、ノード１５００、親ノード１５０２、子ノード１５０４から成る。
【００６１】
ノード１５００には、サーバ１１０から受信した文章構造データ１２６に含まれる全てのノードを設定する。
【００６２】
親ノード１５０２には、ノード１５００の親に相当するノードを設定する。
【００６３】
子ノード１５０４には、ノード１５００の子に相当する全てのノードを設定する。
【００６４】
保存データ管理テーブル１４６の構成は図３に示す。
【００６５】
保存データ管理テーブル１４６は、ダウンロード端末１４０が保有する文章構造再生データ１４４とそのデータの送信元サーバ等を管理するテーブルであり、サーバＩＤ３３０、ダウンロードデータＩＤ３３２、文章構造再生データ格納先アドレス３３４、文章構造再生データサイズ３３６から成る。
【００６６】
サーバＩＤ３３０とは、ＩＰやＵＲＬ等サーバ、および、サーバが保有するデータを一意に識別する値であり、サーバ１１０から受信した文章構造データ１２６を解析する際に文章構造再生機能１６０が設定する。
【００６７】
ダウンロードデータＩＤ３３２とは、サーバ１１０からデータを受信した際に通知されるダウンロードデータＩＤ３１４と同じ値であり、サーバ１１０から受信した文章構造データ１２６を解析する際に文章構造再生機能１６０が設定する。
【００６８】
文章構造再生データ格納先アドレス３３４とは、文章構造再生データ１４４が格納されている記憶装置１４２上のアドレスであり、サーバ１１０から受信した文章構造データ１２６を解析する際に文章構造再生機能１６０が設定する。
【００６９】
文章構造再生データサイズ３３６とは、文章構造再生データ１４４のデータサイズをバイト単位等で表した値であり、サーバ１１０から受信した文章構造データ１２６を解析する際に文章構造再生機能１６０が設定する。
【００７０】
ダウンロード端末１４０は、ダウンロード要求生成機能１５０、エラー通知機能１５２、通信機能１５４、受信データ振分機能１５６、文章構造再生機能１６０、木構造生成機能１６２を有する。
【００７１】
ダウンロード要求生成機能１５０は、サーバ１１０から文章構造データ１２６と葉データ１２８をダウンロードする際に、保存データ管理テーブル１４６を参照して、ダウンロード端末１４０が保有する文章構造再生データ１４４のダウンロードデータＩＤ３３２を通知するためのパケットを生成する機能である。
【００７２】
エラー通知機能１５２は、文章構造再生データ１４４とサーバ１１０から受信した葉データ１２８から木構造を再生する際に、葉データ１２８の過不足等のエラーが発生した場合、ダウンロードデータＩＤ３３２と葉データ１２８の過不足が発生したことをサーバ１１０へ通知する機能である。
【００７３】
通信機能２３０は、通信インタフェース２３４を通じて、ネットワーク１７０を介して、各サーバと通信を行う機能であり、サーバ１１０へのダウンロード要求の送信とエラーの通知、ならびに、サーバ１１０が記憶装置１２４に保有する文章構造データ１２６と葉データ１２８の受信を可能にする。
【００７４】
受信データ振分機能１５６は、通信機能１５４を通じて受信したデータにおいて、データのヘッダ等を解析することでデータの種類を判別し、その種類に応じてデータを再生機能１５８へ渡す機能である。例えば、受信したデータがサーバ１１０から送信された文章構造データ１２６である場合は、そのデータを文章構造再生機能１６０へ渡し、また、受信したデータがサーバ１１０から送信された葉データ１２８である場合は、そのデータを木構造再生機能１６２へ渡す。
【００７５】
文章構造再生機能１６０は、サーバ１１０から受信した文章構造データ１２６より文章構造再生データ１４４を生成する機能である。文章構造再生機能１６０の詳細は、後述する。
【００７６】
木構造再生機能１６２は、文章構造再生データ１４４とサーバ１１０から受信した葉データ１２８を利用して、木構造を再生する機能である。木構造再生機能１６２の詳細は、後述する。
【００７７】
図７はアップロード端末１００が、サーバ１１０に対して、文章データ１０４をアップロードする際のシーケンスを示した図である。
【００７８】
アップロード端末１００は、サーバ１１０へ文章データ１０４を送信する（ステップ７００）。このとき、過去にアップロードした文章データ１０４を更新する場合は、取得済のアップロードデータＩＤ３００も併せて送信する。
【００７９】
文章データ１０４を受信したサーバ１１０は、受信した文章データ１０４を解析した後、アップロードデータＩＤ３１２をアップロード端末１００へ送信する（ステップ７１０、ステップ７１２、ステップ７１４）。
【００８０】
アップロードデータＩＤ３１２を受信したアップロード端末１００は、アップロードデータＩＤ３１２を文章データ管理テーブル１０６に記録する（ステップ７２０、ステップ７２２）。
【００８１】
図８はダウンロード端末１４０が、サーバ１１０に対して、初めてデータのダウンロードを要求してから木構造を再生するまでのシーケンスを示した図である。
【００８２】
ダウンロード端末１４０は、サーバ１１０からデータをダウンロードする場合、ダウンロード要求の送信処理を実行する（ステップ８１０）。ダウンロード要求の送信処理の詳細は図９に示す。まず、ダウンロード端末１４０は、保存データ管理テーブル１４６を参照して、同じサーバＩＤ３３０とダウンロードデータＩＤ３３２のデータを保持していないかを確認する（ステップ９１０）。ダウンロード端末１４０が同じＩＤのデータを保持していない場合は、文章構造データ１２６と葉データ１２８のダウンロード要求をサーバ１１０へ送信する（ステップ９１２、ステップ９１６）。また、ダウンロード端末１４０が同じＩＤのデータを保持していた場合は、ダウンロードデータＩＤ３３２と葉データ１２８のダウンロード要求をサーバ１１０へ送信する（ステップ９１２、ステップ９１４）。
【００８３】
文章構造データ１２６と葉データ１２８のダウンロード要求を受信したサーバ１１０は、ダウンロード要求の解析処理を実行する（ステップ８１２、ステップ８１４）。ダウンロード要求の解析処理の詳細は図１０に示す。まず、ダウンロード要求を受信したサーバ１１０は、受信したダウンロード要求にダウンロードデータＩＤ３３２が含まれているかを解析する（ステップ１０００）。ダウンロード要求にダウンロードデータＩＤ３３２が含まれていない場合、サーバ１１０は、送信データ生成機能１３２を利用して、文章構造データ１２６をダウンロード端末１４０へ送信する（ステップ８１６、ステップ８１８）。ダウンロード要求にダウンロードデータＩＤ３３２が含まれている場合、サーバ１１０はバージョン管理テーブル１３０を参照して、受信したダウンロードデータＩＤ３３２が最新のＩＤであるかを確認する（ステップ１０１０、ステップ１０２０）。ダウンロードＩＤ３３２が最新のＩＤであった場合は、サーバ１１０はダウンロード端末１４０へ葉データ１２８のみを送信し、ダウンロードＩＤ３３２が最新のＩＤではない場合は、そのＩＤに対応した差分ノード３２４以下の文章構造データ１２６を差分情報としてダウンロード端末１４０へ送信する。
【００８４】
文章構造データ１２６を受信したダウンロード端末１４０は、文章構造再生機能１６０を利用して、受信したデータから文章構造再生データ１４４を生成した後、解析完了をサーバ１１０へ通知する（ステップ８２０、ステップ８２２、ステップ８２４、ステップ８２６）。
【００８５】
解析完了を受信したサーバ１１０は、送信データ生成機能１３２を利用して、葉データ１２８をダウンロード端末１４０へ送信する（ステップ８３０、ステップ８３２、ステップ８３４）。
【００８６】
葉データ１２８を受信したダウンロード端末１４０は、木構造再生機能１６２を利用して、受信したデータから木構造を再生した後、木構造の生成完了をサーバ１１０へ通知する（ステップ８４０、ステップ８４２、ステップ８４４、ステップ８４６）。
【００８７】
生成完了を受信したサーバ１１０は、ダウンロード端末１４０にて木構造が生成されたことを確認できたため、処理を終了する（ステップ８５０）。
【００８８】
図１１は、ダウンロード端末１４０が最新の文章構造再生データ１４４を保持している場合のシーケンスを示した図である。
【００８９】
ダウンロード端末１４０は、図８と同様にダウンロード要求の送信処理を実施し、ダウンロードデータＩＤ３３２と葉データ１２８の送信要求をサーバ１１０へ送信する（ステップ１１１０）。
【００９０】
ダウンロードデータＩＤ３３２と葉データ１２８の送信要求を受信したサーバ１１０は、図１０と同様にダウンロード要求の解析処理を実施し、受信したダウンロードデータＩＤ３３２が最新のものであるかを確認する（ステップ１１１２、ステップ１１１４）。ＩＤが最新のものであると判断した場合は、そのＩＤに対応した葉データ１２８をダウンロード端末１４０へ送信する（ステップ１１１６、ステップ１１１８）。
【００９１】
葉データ１２８を受信したダウンロード端末１４０は、木構造再生機能１６２を利用して、受信したデータから木構造を再生した後、木構造の生成完了をサーバ１１０へ通知する（ステップ１１２０、ステップ１１２２、ステップ１１２４、ステップ１１２６）。
【００９２】
生成完了を受信したサーバ１１０は、ダウンロード端末１４０にて木構造が生成されたことを確認できたため、処理を終了する（ステップ１１３０）。
【００９３】
図１２は、ダウンロード端末１４０が古いバージョンの文章構造再生データ１４４を保持している場合のシーケンスを示した図である。
【００９４】
ダウンロード端末１４０は、図８と同様にダウンロード要求の送信処理を実施し、ダウンロードデータＩＤ３３２と葉データ１２８の送信要求をサーバ１１０へ送信する（ステップ１２１０）。
【００９５】
ダウンロードデータＩＤ３３２と葉データ１２８の送信要求を受信したサーバ１１０は、図１０と同様にダウンロード要求の解析処理を実施し、受信したダウンロードデータＩＤ３３２が最新のものであるかを確認する（ステップ１２１２、ステップ１２１４）。受信したダウンロードデータＩＤ３３２が最新のものではないと判断した場合は、そのＩＤに対応した差分ノード３２４以下の文章構造データ１２６を差分情報としてダウンロード端末１４０へ送信する（ステップ１２１６、ステップ１２１８）。
【００９６】
文章構造の差分情報を受信したダウンロード端末１４０は、文章構造再生機能１６０を利用して、文章構造再生データ１４４、ならびに、保存データ管理テーブル１４６を更新し、サーバ１１０へ文章構造データの解析完了を通知する（ステップ１２２０、ステップ１２２２、ステップ１２２４、ステップ１２２６）。
【００９７】
解析完了を受信したサーバ１１０は、バージョン管理テーブル１３０を参照して、葉データ１２８をダウンロード端末１４０へ送信する（ステップ１２３０、ステップ１２３２、ステップ１２３４）。
【００９８】
葉データ１２８を受信したダウンロード端末１４０は、木構造再生機能１６０を利用して、受信したデータから木構造を再生した後、木構造の生成完了をサーバ１１０へ通知する（ステップ１２４０、ステップ１２４２、ステップ１２４４、ステップ１２４６）。
【００９９】
生成完了を受信したサーバ１１０は、ダウンロード端末１４０にて木構造が生成されたことを確認できたため、処理を終了する（ステップ１２５０）。
【０１００】
図１３は、ダウンロード端末１４０がサーバ１１０から葉データ１２８を受信して木構造を再生する際に、葉データ１２８の過不足等のエラーが発生した場合のシーケンスを示す図である。
【０１０１】
ダウンロード端末１４０は、サーバ１１０から葉データ１２８を受信して木構造を再生する際に葉データ１２８の過不足等のエラーを検出すると、木構造再生データ１４４のダウンロードデータＩＤ３３２をサーバ１１０へ通知する（ステップ１３００、ステップ１３０２、ステップ１３０４）。
【０１０２】
エラーを通知されたサーバ１１０は、エラー解析機能１２２を利用して、通知されたダウンロードデータＩＤ３３２が示す文章構造データ１２６をダウンロード端末１４０へ再送する（ステップ１３１０、ステップ１３１２、ステップ１３１４、ステップ１３１６）。
【０１０３】
文章構造データ１２６を受信したダウンロード端末１４０は、文章構造再生機能１６０を利用して、受信したデータから文章構造再生データ１４４を生成した後、解析完了をサーバ１１０へ通知する（ステップ１３２０、ステップ１３２２、ステップ１３２４、ステップ１３２６）。
【０１０４】
解析完了を受信したサーバ１１０は、送信データ生成機能１３２を利用して、葉データ１２８をダウンロード端末１４０へ送信する（ステップ１３３０、ステップ１３３２、ステップ１３３４）。
【０１０５】
葉データ１２８を受信したダウンロード端末１４０は、木構造再生機能１６２を利用して、受信したデータから木構造を再生した後、木構造の生成完了をサーバ１１０へ通知する（ステップ１３４０、ステップ１３４２、ステップ１３４４、ステップ１３４６）。
【０１０６】
生成完了を受信したサーバ１１０は、ダウンロード端末１４０にて木構造が生成されたことを確認できたため、処理を終了する（ステップ１３５０）。
【０１０７】
図１４に、サーバ１１０からダウンロード端末１４０へ文章構造データを送信する際のデータの形式、および、葉データを送信する際のデータの形式の一例を示す。
【０１０８】
文章構造データを送信する際の形式１４００は、ノードの種類、ノード５００、子ノード数５０４、分岐点までの深さ５０６から成る。ノードの種類とは、葉ノードとそれ以外のノードを区別するための項目であり、“１”は葉ノードを、“０”はそれ以外のノードを意味する。なお、子ノード数５０４と分岐点までの深さ５０６は、ノードの種類に応じて、どちらか一方のみを設定する。例えば、ノードの種類が葉ノードであれば、分岐点までの深さ５０６を設定し、ノードの種類が葉ノード以外であれば子ノード数５０４を設定する。また、各項目を区切る場合には“，”や“：”等を使用する。
【０１０９】
例えば、文章構造データ１２６を送信する際の形式１４００では、“：”で区切られている「０，ａｂｃ，２」が１つのノードに関する情報を示しており、「葉ノードではないノード“ａｂｃ”は、子ノードが２個ある」こと示す。また、「１，＃１，２」は、「葉ノード“＃１”は、分岐点までの深さは２である」ことを示す。
【０１１０】
葉データを送信する際の形式１４１０は、葉ノード番号５１０と葉ノード５１２から成る。各項目を区切る場合には“，”や“：”等を使用する。
【０１１１】
例えば、葉データを送信する際の形式１４１０では、“：”で区切られている「＃１，ＶＶＶ」が１つの葉ノードに関する情報を示しており、「葉ノード“＃１”の値はＶＶＶである」ことを示す。
【０１１２】
ダウンロード端末１４０の文章構造再生機能１６０の詳細について図１５を用いて説明する。
【０１１３】
文章構造データを送信する際の形式１４００を受信したダウンロード端末１４０は、データの先頭から解析を始める。まず、「０，ａｂｃ，２：」から、文章構造再生データのノード１５００にノード“ａｂｃ”を追加して、子ノード１５０４に２個のノードを追加できる空間を確保する。次に、「０，ｄｅ，１」から、文章構造再生データのノード１５００にノード“ｄｅ”を追加して、子ノード１５０４に１個のノードを追加できる空間を確保する。さらに、ノード“ｄｅ”はノード“ａｂｃ”に続いていることから、ノード“ｄｅ”の親ノード１５０２にノード“ａｂｃ”を追加する。そして、「１，＃１，２」から、文章構造再生データのノード１５００にノード“＃１”を追加して、親ノード１５０２にノード“ｄｅ”を追加する。ここで、ノード“＃１”の分岐点までの深さが２であることから、次につづくノードの親ノードは、ノード“＃１”の２つ上位（親の親）のノードであるノード“ａｂｃ”であることが分かる。
【０１１４】
以上の手順を繰り返すことにより、文章構造再生機能１６０は文章構造データを送信する際の形式１４００を解析することで図１５の文章構造再生データを生成することができる。
【０１１５】
ダウンロード端末１４０の木構造再生機能１６２の詳細について図１６を用いて説明する。
【０１１６】
葉データを送信する際の形式１４１０を受信したダウンロード端末１４０は、データの先頭から解析を始める。まず、「＃１，ＶＶＶ」から、文章構造再生データ１６００のノード“＃１”に“ＶＶＶ”を設定する。次に、「＃２，ＷＷＷ」から、文章構造再生データ１６００のノード“＃２”に“ＷＷＷ”を設定する。
【０１１７】
同様の手順を繰り返すことにより、木構造１６１０を再生することができる。
【０１１８】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１１９】
例えば、サーバをデータベースサーバではなく、Ｗｅｂサーバと想定した場合、ＨＴＭＬで記述されたコンテンツに対して、本発明を適用することは可能である。
【符号の説明】
【０１２０】
１００：文章データをアップロードする端末、１０２：記憶装置、１０４：文章データ、１０６：文章データ管理テーブル、１０７：文章データ管理機能、１０８：通信機能、１１０：サーバ、１１２：通信機能、１１４：受信データ振分機能、１１８：文章データ解析機能、１２０：ダウンロード要求解析機能、１２２：エラー解析機能、１２４：記憶装置、１２６：文章構造データ、１２８：葉データ、１３０：バージョン管理テーブル、１３２：送信データ生成機能、１４０：文章データをダウンロードする端末、１４２：記憶装置、１４４：文章構造再生データ、１４６：保存データ管理テーブル、１５０：ダウンロード要求生成機能、１５２：エラー通知機能、１５４：通信機能、１５６：受信データ振分機能、１６０：文章構造再生機能、１６２：木構造再生機能、１７０：ネットワーク、２００：ＣＰＵ、２０２：揮発性メモリ、２０４：通信インタフェース、２１０：ＣＰＵ、２１２：揮発性メモリ、２１４：通信インタフェース、２３０：ＣＰＵ、２３２：揮発性メモリ、２３４：通信インタフェース、３００：アップロードデータＩＤ、３０２：文章データ格納先アドレス、３０４：文章データサイズ、３１２：アップロードデータＩＤ、３１４：ダウンロードデータＩＤ、３１６：文章構造データ格納先アドレス、３１８：文章構造データサイズ、３２０：葉データ格納先アドレス、３２２：葉データサイズ、３２４：差分ノード、３３０：サーバＩＤ、３３２：ダウンロードデータＩＤ、３３４：文章構造再生データ格納先アドレス、３３６：文章構造再生データサイズ、４００：文章データの例文、４１０：木構造、４２０：文章構造データと葉データの分類、５００：ノード、５０２：子ノード、５０４：子ノード数、５０６：分岐点までの深さ、５１０：葉ノード番号、５１２：葉ノード、６００：更新前の文章構造データ、６１０：１回目の更新後の文章構造データ、６２０：２回目の更新後の文章構造データ、１４００：文章構造データを送信する際の形式、１４１０：葉データを送信する際の形式、１５００：ノード、１５０２：親ノード、１５０４：子ノード、１６００：文章構造再生データ、１６１０：木構造。
【図１】
2012008669.tif 000003
【図２】
2012008669.tif 000004
【図３】
2012008669.tif 000005
【図４】
2012008669.tif 000006
【図５】
2012008669.tif 000007
【図６】
2012008669.tif 000008
【図７】
2012008669.tif 000009
【図８】
2012008669.tif 000010
【図９】
2012008669.tif 000011
【図１０】
2012008669.tif 000012
【図１１】
2012008669.tif 000013
【図１２】
2012008669.tif 000014
【図１３】
2012008669.tif 000015
【図１４】
2012008669.tif 000016
【図１５】
2012008669.tif 000017
【図１６】
2012008669.tif 000018