(57)【要約】【課題】情報の検索処理の効率と汎用性とを両立する。【解決手段】クライアント装置１０のクライアント情報単位群保持手段１３には、情報単位群が、ハッシュテーブルを用いた、検索処理に適したフォーマットで格納されている。サーバー装置２０のサーバー情報単位群保持手段２３には、同じ情報単位群がＸＭＬ等の汎用の標準的なフォーマットで格納されている。クライアント装置１０で情報単位の作成や更新が行われた場合、情報単位群同期手段２５が、その情報単位のデータを、サーバーフォーマット変換手段２１によりサーバー装置２０側のフォーマットに変換した上で、サーバー情報単位群保持手段２３に登録する。【選択図】図１
2006244256.tif 000002
【特許請求の範囲】
【請求項１】
検索用フォーマットで表現された情報単位群のデータを保持する第１情報単位群保持手段と、
第１情報単位群保持手段に保持された情報単位群に対する検索を実行し、検索された情報単位を提示する検索手段と、
ユーザーからの入力に応じて作成された情報単位のデータを第１情報単位群保持手段に登録する情報単位入力手段と、
保存用フォーマットで表現された情報単位群のデータを保持する第２情報単位群保持手段と、
第１情報単位群保持手段に保持された情報単位の中に第２情報単位群保持手段に保持された同じ情報単位よりも更新された情報単位がある場合、検索用フォーマットから保存用フォーマットへフォーマット変換するための変換プログラム又は変換ルールによりその情報単位を保存用フォーマットにフォーマット変換し、フォーマット変換された情報単位のデータを前記第２情報単位群保持手段に登録する第１同期手段と、
を備える情報管理装置。
【請求項２】
前記第１情報単位群保持手段及び前記検索手段及び前記情報単位入力手段は第１のコンピュータ装置に組み込まれ、
前記第２情報単位群保持手段は、前記第１のコンピュータ装置とは異なる第２のコンピュータ装置に組み込まれると共に、複数の前記第１のコンピュータ装置との間で前記第１同期手段により情報単位の同期がとられ、
前記情報管理装置は、
第２情報単位群保持手段に保持された情報単位の中に第１情報単位群保持手段に保持された同じ情報単位よりも更新された情報単位のデータを、保存用フォーマットから検索用フォーマットへフォーマット変換するための変換プログラム又は変換ルールによりその情報単位を検索用フォーマットにフォーマット変換し、フォーマット変換された情報単位のデータを前記第１情報単位群保持手段に登録する第２同期手段、
を更に備えることを特徴とする請求項１に記載の情報管理装置。
【請求項３】
前記第１同期手段による処理により、前記第２情報単位群保持手段にそれまで保持されていた情報単位が更新又は削除される場合に、それまで保持されていた情報単位を保存する履歴保持手段と、
前記履歴保持手段に保存された情報単位を検索する履歴検索手段と、
を更に備わることを特徴とする請求項１に記載の情報管理装置。
【請求項４】
検索用フォーマットで表現された情報単位群のデータを保持する第１情報単位群保持手段と、
第１情報単位群保持手段に保持された情報単位群に対する検索を実行し、検索された情報単位を提示する検索手段と、
ユーザーからの入力に応じて作成された情報単位のデータを第１情報単位群保持手段に登録する情報単位入力手段と、
を備えるクライアント装置とネットワークを介して通信可能なサーバー装置であって、
保存用フォーマットで表現された情報単位群のデータを保持する第２情報単位群保持手段と、
第１情報単位群保持手段に保持された情報単位の中に第２情報単位群保持手段に保持された同じ情報単位よりも更新された情報単位がある場合、検索用フォーマットから保存用フォーマットへフォーマット変換するための変換プログラム又は変換ルールによりその情報単位を保存用フォーマットにフォーマット変換し、フォーマット変換された情報単位のデータを前記第２情報単位群保持手段に登録する第１同期手段と、
を備えるサーバー装置。
【請求項５】
検索用フォーマットで表現された情報単位群のデータを保持する第１情報単位群保持手段と、
第１情報単位群保持手段に保持された情報単位群に対する検索を実行し、検索された情報単位を提示する検索手段と、
ユーザーからの入力に応じて作成された情報単位のデータを第１情報単位群保持手段に登録する情報単位入力手段と、
を備えるクライアント装置とネットワークを介して通信可能なサーバー装置において実行されるプログラムであって、該サーバー装置を、
保存用フォーマットで表現された情報単位群のデータを保持する第２情報単位群保持手段、
第１情報単位群保持手段に保持された情報単位の中に第２情報単位群保持手段に保持された同じ情報単位よりも更新された情報単位がある場合、検索用フォーマットから保存用フォーマットへフォーマット変換するための変換プログラム又は変換ルールによりその情報単位を保存用フォーマットにフォーマット変換し、フォーマット変換された情報単位のデータを前記第２情報単位群保持手段に登録する第１同期手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報単位の検索と保存に関する。
【背景技術】
【０００２】
所定のデータ構造を持った情報単位を数多く保持し、管理する環境においては、様々な環境から入力された情報単位を効率的に一元管理することが求められている。また、同時にこれらの情報単位は、オペレーティングシステムやアプリケーションの変遷に依存せず安定してアクセス可能であることが求められる。
【０００３】
例えば、学術研究等のエリアにおいては、アイデアや引用文献といったデータは、常にどのような環境であっても、高速に登録したり検索したりする必要がある。情報の登録や検索は、デスクトップＰＣ（パーソナルコンピュータ）、ノートＰＣ、モバイル機器等の様々な環境から行われるが、登録した環境によらず、蓄積した情報単位群全体として一元的に管理できることが重要である。同時に、一旦蓄積した情報は、学術的な価値がある限り、数十年にわたって利用可能であることが期待される。
【０００４】
情報単位を様々な環境から入力、管理するための機構としては、データベースの同期技術がある。例えば、特許文献１に示されるシステムでは、モバイルデバイス上のデータとパーソナルコンピュータ上のデータとを低信頼のネットワーク上で同期する。また、特許文献２に示されるシステムでは、複数のクライアント環境のどのクライアントにおいて編集 (登録、更新、削除等の処理) を行ったとしても、整合性をとる同期機構が実現されている。しかしながら、これらのデータはアプリケーションごとの特殊なフォーマットで管理されており、アプリケーションが動作しない環境においては、情報にアクセスすることができないという問題点があった。つまり、アプリケーションがサポートされなくなったり、ＯＳ（オペレーティングシステム）がサポートされなくなった場合には、情報を見ることすらできなくなってしまう。
【０００５】
特許文献３に示されるシステムにおいては、同期のための中間データを一般化することによって、アプリケーションごとのフォーマット等の問題を吸収しようとしている。しかしながら、最終的に保存されるデータは、アプリケーションに依存するため、データがアプリケーションに依存してしまうという問題を解決しない。
【０００６】
一方で、テキストファイル、ＨＴＭＬ形式、ＸＭＬ形式などの汎用的なフォーマットを用いて保持すれば、システムの実現によらず情報を保持することができ、情報を長期にわたって安全に保存することが可能である。しかしながら、これらの共通フォーマットは、システムを最適に使用するためのものではないため、検索等の処理速度が遅くなってしまったり、アプリケーションごとに最適な構成をとることができないという問題点があった。
【０００７】
【特許文献１】特開２００３−２２８５０５号公報
【特許文献２】特開２０００−２５９４７３号公報
【特許文献３】特開２００３−１９６１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そこで、本発明では、複数環境から入力された情報単位を同期して一元的に管理する環境において、日常の作業における効率性と長期保存のためのデータの汎用性とを同時に満たすことを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報管理装置は、同じ情報単位群を検索用フォーマットと保存用フォーマットの２種類のフォーマットで並列に保存する。そして、情報単位の検索は、検索用フォーマットの情報単位群を記憶した第１情報単位群保持手段に対して実行する。情報単位入力手段により、この第１情報単位群保持手段に対する情報単位の新規の登録や、第１情報単位群保持手段に保持されている情報単位に対する更新などを行うことができる。このようにして第１情報単位群保持手段の保持する情報単位群に対して加えられた変更は、第１同期手段により、保存用フォーマットで情報単位群を記憶する第２情報単位群保持手段に対して同期（反映）されるようにする。
【００１０】
すなわち、本発明に係る情報管理装置は、検索用フォーマットで表現された情報単位群のデータを保持する第１情報単位群保持手段と、第１情報単位群保持手段に保持された情報単位群に対する検索を実行し、検索された情報単位を提示する検索手段と、ユーザーからの入力に応じて作成された情報単位のデータを第１情報単位群保持手段に登録する情報単位入力手段と、保存用フォーマットで表現された情報単位群のデータを保持する第２情報単位群保持手段と、第１情報単位群保持手段に保持された情報単位の中に第２情報単位群保持手段に保持された同じ情報単位よりも更新された情報単位がある場合、検索用フォーマットから保存用フォーマットへフォーマット変換するための変換プログラム又は変換ルールによりその情報単位を保存用フォーマットにフォーマット変換し、フォーマット変換された情報単位のデータを前記第２情報単位群保持手段に登録する第１同期手段と、を備える。
【００１１】
ここで、保存用フォーマットには、例えばＸＭＬやＨＴＭＬ、テキスト形式など、汎用的或いは標準的なものを用いる。検索用フォーマットには、保存用フォーマットよりも検索効率のよいフォーマットを採用する。
【００１２】
また、本発明の好適な態様では、前記第１情報単位群保持手段及び前記検索手段及び前記情報単位入力手段は第１のコンピュータ装置に組み込まれ、前記第２情報単位群保持手段は、前記第１のコンピュータ装置とは異なる第２のコンピュータ装置に組み込まれると共に、複数の前記第１のコンピュータ装置との間で前記第１同期手段により情報単位の同期がとられ、前記情報管理装置は、第２情報単位群保持手段に保持された情報単位の中に第１情報単位群保持手段に保持された同じ情報単位よりも更新された情報単位のデータを、保存用フォーマットから検索用フォーマットへフォーマット変換するための変換プログラム又は変換ルールによりその情報単位を検索用フォーマットにフォーマット変換し、フォーマット変換された情報単位のデータを前記第１情報単位群保持手段に登録する第２同期手段、を更に備える。
【００１３】
この態様では、例えば複数の第１のコンピュータ装置が１つの第２のコンピュータ装置に接続されたシステムにおいて、ある第１のコンピュータ装置が情報単位群に加えた変更は、第１同期手段により第２のコンピュータ装置に同期され、この同期による情報単位群の変更が第２同期手段により、他の第１のコンピュータ装置に同期される。
【発明の効果】
【００１４】
本発明の情報管理装置では、検索用フォーマットによる快適な検索操作と、保存用フォーマットを用いることによって得られる安心感とを、同時に提供することができるようになった。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明を実施するための最良の形態（以下「実施形態」と呼ぶ）について説明する。
【００１６】
(情報管理システムの全体構成)
図１を参照して本発明に係る情報管理システムの構成を説明する。このシステムは、インターネット等のネットワーク３０を介して相互に接続されたクライアント装置１０及びサーバー装置２０を有している。本実施形態では、クライアント装置１０は、ユーザーから情報単位の入力や検索の指示を受けてこれらの処理を行うために用いられ、サーバー装置２０はそれら情報単位群を保存し、クライアント装置１０に提供するために用いられる。サーバー装置２０は、複数のクライアント装置１０に対してサービスを提供することができる。
【００１７】
クライアント装置１０は、デスクトップ又はノートＰＣ（パーソナルコンピュータ）、ＰＤＡ（携帯情報端末）、携帯電話機などのコンピュータ装置である。クライアント装置１０は、機能モジュールとして、クライアント情報単位入力手段１１，クライアント検索条件入力手段１２，クライアント情報単位群保持手段１３，クライアント情報単位検索手段１４，及びクライアント情報単位提示手段１５を有する。
【００１８】
クライアント情報単位入力手段１１は、ユーザーから情報単位の入力を受け付けるための機能モジュールである。ここで、情報単位は、この情報管理システムにおいて管理する情報の単位であり、１以上の情報項目からなる所定のデータ構造を有する。クライアント情報単位入力手段１１は、クライアント装置１０が備えるキーボードや各種操作ボタン、タッチパネルなどの入力装置からユーザーの入力を受け取る。
【００１９】
クライアント情報単位群保持手段１３は、１以上の情報単位を記憶する記憶装置である。この手段１３には、情報単位群が、検索処理に適した所定の検索用フォーマットで記憶される。検索用フォーマットは、検索処理の効率を優先したフォーマットであり、クライアント装置１０にインストールされた検索プログラム（すなわちクライアント情報単位検索手段１４）で取り扱いやすい専用フォーマットである。このようなアプリケーション専用フォーマットは、当該アプリケーションでの処理効率はよいが、他のアプリケーションでは取り扱いが困難であり、また当該アプリケーションでの処理のための制御コードが埋め込まれるなどしているため、仮に文字列として出力しても人間にとっては非常に読みにくいものである。検索用フォーマットの具体例については、後で説明する。
【００２０】
クライアント検索条件入力手段１２は、クライアント情報単位群保持手段１３に保持されている情報単位に対する検索条件の入力を受ける手段である。本実施形態で利用可能な検索条件は、例えばキーワードである。
【００２１】
クライアント情報単位検索手段１４は、クライアント検索条件入力手段１２で入力された条件に基づいてクライアント情報単位群保持手段１３を検索する機能モジュールである。
【００２２】
クライアント情報単位提示手段１５は、クライアント情報単位検索手段１４によって検索された情報単位を提示する機能モジュールである。情報単位の提示は、検索された情報単位をクライアント装置１０の備える画面に表示することにより行われる。
【００２３】
以上に説明したクライアント装置１０の各機能モジュールは、典型的には、この実施の形態の中で説明するそれら各モジュールの機能を記述したプログラムを、クライアント装置１０のコンピュータシステムで実行することにより実現される。
【００２４】
次にサーバー装置２０について説明する。サーバー装置２０は、サーバーフォーマット変換手段２１，クライアントフォーマット変換手段２２，サーバー情報単位群保持手段２３，履歴保持手段２４，情報単位群同期手段２５，サーバー検索条件入力手段２６，サーバー情報単位検索手段２７，サーバー情報単位提示手段２８を有する。
【００２５】
サーバーフォーマット変換手段２１は、クライアント装置１０のフォーマットで表現された情報単位をサーバー装置２０での処理に適したサーバーフォーマットへ変換するための変換プログラム又はルールを有しており、このプログラム又はルールを用いてクライアントフォーマットのデータをサーバーフォーマットへと変換する。クライアント装置１０での情報単位のフォーマットが、クライアント装置１０の検索アプリケーション用の検索用フォーマットであったのに対し、サーバーフォーマットは、そのような特定のアプリケーションに依存しない標準又は事実上の標準のフォーマットである。ＸＭＬ(eXtensible Markup Language)やＨＴＭＬ（HyperText Markup Language）、テキスト形式などがその一例である。このような標準的なフォーマットは、様々なプラットフォームで利用することができ、遠い将来でも利用可能であるものと期待できる。また、このように、サーバー装置２０では、情報単位を長期保存に適した標準的なフォーマットで保存している。なお、このような標準的なフォーマットは、アプリケーションに特化したクライアント側のフォーマットに比べて処理効率は低い。
【００２６】
クライアントフォーマット変換手段２２は、サーバーフォーマットで表現された情報単位をクライアントフォーマットに変換するための変換アルゴリズム又はルールを有し、この変換プログラム又はルールに基づきサーバーフォーマットのデータをクライアントフォーマットに変換する。
【００２７】
サーバー情報単位群保持手段２３は、サーバーフォーマットで表現された複数の情報単位を保持する記憶装置である。履歴保持手段２４は、サーバー情報単位群保持手段２３に保持される情報単位の変更履歴を保持する機能モジュールである。情報単位群同期手段２５は、クライアント情報単位群保持手段１３に保持されている情報単位群とサーバー情報単位群保持手段２３に保持されている情報単位群との同期処理を行う機能モジュールである。サーバー検索条件入力手段２６は、サーバー情報単位群保持手段に保持されている情報単位を検索する条件を入力するためのユーザーインタフェースである。サーバー情報単位検索手段２７は、サーバー検索条件入力手段２６から入力された検索条件に基づいてサーバー情報単位群保持手段２３を検索する機能モジュールである。サーバー情報単位提示手段２８は、サーバー情報単位検索手段２７によって検索された情報単位をユーザーに提示する機能モジュールである。
【００２８】
以上に説明したサーバー装置２０の各機能モジュールは、典型的には、この実施の形態の中で説明するそれら各モジュールの機能を記述したプログラムを、サーバー装置２０のコンピュータシステムで実行することにより実現される。
【００２９】
図２は、クライアント装置１０の表示画面１００の例である。本実施形態においては、情報単位は、見出し、内容、キーワードの３つの項目を有し、各項目はそれぞれテキスト形式のデータである。ユーザーは、見出しエリア１０１に見出しを、内容エリア１０２に本文内容を、キーワードエリア１０３にキーワードを、それぞれ入力する。登録ボタン１０４は、入力又は編集した情報単位を登録する際に押下するためのＧＵＩ（グラフィカルユーザーインタフェース）ボタンである。検索ボタン１０５は、検索キー入力エリア１０６に入力された検索キーに基づいて情報単位を検索する処理を起動するためのＧＵＩボタンである。検索された情報単位の見出しは、検索結果表示エリア１０７に一覧表示される。同期ボタン１０８は、サーバーとの同期処理を開始を指示するためのＧＵＩボタンである。
【００３０】
次に、図３を参照して、クライアント装置１０における情報単位の登録処理の流れを説明する。
【００３１】
まず、ユーザーは、図４に示したように、見出し、内容、キーワードからなる情報単位をクライアント情報単位入力手段１１から入力する(ステップＳ１)。次に、ユーザーが登録ボタンを押すと登録処理が開始される(ステップＳ２)。
【００３２】
ここで、登録処理を説明する前に、クライアント情報単位群保持手段１３における情報単位の保存の仕方を説明しておく。図５は、クライアント情報単位群保持手段１３において情報単位を保持するためのファイル構成の一例を示したものである。この例では、「観察記録」や「日記」などといった、ユーザーが設定した分野ごとに情報単位群がグルーピングされており、１つの分野にはルートフォルダ２００直下の１つのフォルダ２１０が割り当てられている。各分野のフォルダ２１０には、その分野に対してユーザーが登録した情報単位群が保持される。各分野のフォルダ２１０は、それぞれ、テーブルファイル２１２、インデックスファイル２１４、データファイル２１６の３つのファイルを含み、それら３つのファイルで当該分野の情報単位群を表現している。
【００３３】
図６は、テーブルファイル２１２、インデックスファイル２１４、データファイル２１６のデータ構造の例を示したものである。
【００３４】
データファイル２１６は、情報単位群の実データが１つのファイルにまとめられたものである。
【００３５】
データファイル２１６において、各情報単位の末尾には終端ラベル２１６ｂが付されている。また、情報単位内の各項目は区切りラベル２１６ａで区切られている。情報単位内には、先頭から順に、当該情報単位の識別情報であるＩＤ、見出し、本文内容（改行を含んでもよい）、１以上のキーワード（各キーワードはカンマで区切られている）、当該情報単位の登録時刻（この情報単位が本システムに最初に登録された時刻）、及び当該情報単位の最新の更新時刻が、区切りラベル２１６ａで区切られて並んでいる。このように、検索用のフォーマットにおけるデータファイル２１６は、複数の情報単位が順に並べられているので、検索プログラムで取扱が容易である。その反面、情報単位の各項目のデータ内容が、項目名等の表示もなく並べられているだけなので、人間にとって極めて読みづらいものとなっている。また、図示は省略したが、データファイル２１６には、検索手段１４での処理を容易にするために各種制御コードが挿入される場合があり、このような制御コードは読みづらさを更に増大させている。
【００３６】
テーブルファイル２１２とインデックスファイル２１４はデータ検索を高速化するために設けられたファイルである。テーブルファイル２１２には、ハッシュ値に対応するアドレスに、インデックスファイル２１４上に対応するそのハッシュ値を持つデータエントリのチェーン（連鎖）の先頭アドレスが、インデックスポインタ２１２ａとして登録されている。インデックスファイル２１４の各データエントリには、自身と同一ハッシュ値を持つ次のデータエントリへのポインタ２１４ａと、そのデータエントリに対応するデータファイル２１６内の情報単位の先頭アドレスを指し示すポインタ２１４ｂが登録されている。
【００３７】
このようなハッシュテーブルを利用したフォーマットは、高速検索を実現するものとしてよく知られているものである。
【００３８】
このフォーマットは、検索の高速化のみならず、内容を編集して更新する処理や、情報単位の削除といった処理の高速化にも寄与する。これには、データファイル２１６において、各情報単位の所定の場所（例えば先頭）にそれぞれ削除フラグを設ければよい。ある情報単位の削除フラグがオンにセットされている場合、この情報単位を読み取ったアプリケーションは当該情報単位が削除済み（無効）であると認識する。情報単位が新たに登録された場合、削除フラグはオフにセットされる。例えば、ある情報単位の内容を編集して更新する場合には、データファイル２１６中に存在する編集前の当該情報単位の削除フラグをオンにセットし（すなわち編集前の情報単位のデータを無効化し）、ワークメモリに記憶された編集後の新しいデータを当該情報単位の更新データとしてデータファイル２１６の末尾に登録する。なお、このときインデックスファイル２１４では、当該情報単位が属するインデックスチェーンにおいて、新たに登録した更新データを指し示すデータエントリが追加される。以上、情報単位の内容変更の場合を説明したが、情報単位を削除する場合は、単に該当する情報単位の削除フラグをオンにセットするだけで良い。このようにすることによって、実際のデータが保持されているデータファイルに対しては、フラグを変更するだけの処理で更新や削除を処理することができるため、高速処理が可能となる。
【００３９】
なお、データファイル２１６において各情報単位のＩＤ部分を削除フラグとして兼用することも可能である。すなわち、ＩＤ部分の値が、ＩＤとして付与されることのない所定値（例えばヌル値）である場合に、削除フラグがオンであると判定するなどである。この場合、情報単位を削除するには、データファイル２１６における当該情報単位のＩＤを所定値に書き換えればよい。
【００４０】
以上の説明では、テーブルファイル２１２、インデックスファイル２１４、データファイル２１６という３つの別々のファイルによりクライアント情報単位群保持手段１３における情報単位群を表現した構成を説明したが、これはあくまで一例に過ぎない。例えばこの代わりに、これらのファイルを統合して１つのファイルとしても良い。その場合には、そのファイル中に、例えばヘッダ情報として、上述のデータファイルに対応する内容を持つデータ部の当該ファイル内での位置、インデックスファイルに対応する内容を持つインデックス部の当該ファイル内での位置、テーブルファイルに対応する内容を持つテーブル部の当該ファイル内での位置、を保持することになる。このように１つのファイルにして構成すると、データの可読性は上述の例よりも更に低くなる。
【００４１】
さらに、データファイル、インデックスファイル、テーブルファイルを１つのファイルに統合した上で、さらに編集処理を高速で実行することも可能である。このためには、データ、インデックス、テーブルの３つの要素をあらかじめサイズを決めたブロック（ブロックのサイズは、データ、インデックス、テーブルで個別に定めることができる）として構成し、このブロックをファイル中に複数保持することができる構成にすればよい。このデータベースの情報単位を追加していく場合、それぞれ確保したデータ、インデックス、テーブルのブロックの中に空きがあれば、そこに追加すべきデータを書き込み、ブロックに空きが無くなれば、ディスク上に上記サイズのブロックを確保し、前ブロックの末尾にその新ブロックへのリンク情報を書き込むことで両者のつながりが分かるようにしておけばよい。このようなデータフォーマットによれば、１つのファイルで高速な検索と更新・削除処理を可能とするが、人間がデータの内容を把握することは、非常に困難である。
【００４２】
さて再び図３の登録処理の説明に戻ると、ステップＳ２で登録処理の指示を受け取ると、クライアント情報単位入力手段１１は、登録対象の情報単位の各項目のテキストデータの組に対し、制御コードを追加するなど、検索手段１４での検索処理に適したデータ構造とするための処理を加え、この処理結果のデータを、クライアント情報単位群保持手段１３における当該情報単位の属する分野のデータファイル２１６の最後に追加する (ステップＳ３)。次に、入力手段１１は、その情報単位のキーワードのハッシュ値を計算し、テーブルファイル２１２の中からそのハッシュ値の示すアドレスにあるインデックスポインタ２１２ａを求め、次にそのインデックスポインタが指し示すデータエントリをインデックスファイル２１４から探し、そのデータエントリを先頭に、次エントリへのポインタ２１４ａにより形成されるチェーンを順にたどっていき、そのチェーンの末尾を求める。そして、その末尾のエントリのデータポインタ２１４ｂに、ステップＳ３でデータファイル２１６に追加した情報単位データの先頭アドレスを書き込む(ステップＳ４)。以上の処理が終了したら、図７のように、処理が終了したとの結果を提示する (ステップＳ５)。図７の表示例では、検索結果表示エリア１０６に対し、新たに登録された情報単位の見出しが、登録された旨を示す情報（図７では、「−登録−」の行）に対応づけて表示されている。
【００４３】
次に、図８を参照して、クライアント装置１０において情報単位を検索する処理の流れを説明する。まず、検索キー入力エリア１０６にユーザーから検索キーが入力され (ステップＳ１１)、更に検索ボタン１０５が押下されると (ステップＳ１２)、クライアント情報単位検索手段１４は、その検索キーのハッシュ値を計算し、図６に示した形態で登録されているテーブルファイル２１２においてそのハッシュ値に対応するアドレスに示されるインデックスポインタを取得し、そのインデックスポインタの示すアドレスのデータエントリから順に、次データへのポインタ２１４ａにより形成されるインデックスチェーン上のエントリを１つずつたどっていき（ステップＳ１３）、その都度、行き当たったエントリのデータポインタ２１４ｂが指し示す情報単位をデータファイル２１６から取り出して、その中のキーワードが検索キーに合致するかを調べ、合致すればその情報単位を検索結果と判断して、その中の見出しの文字列を取り出す（ステップＳ１４）。この処理を、インデックスチェーンの終端まで繰り返すことで、全ての検索結果の見出しのリストが得られる。この検索結果の見出しのリストを検索結果表示エリアへ表示する (ステップＳ１５)。図９は、「昆虫」という検索キーを入力した時の検索結果を提示した表示画面１００の表示例である。この見出しのリストの中からユーザーが情報単位の１つを選択すると、クライアント情報単位提示手段１５がその選択された情報単位の全データをデータファイル２１６から読み込んで図１０のように提示する (ステップＳ１６)。
【００４４】
このように、クライアント装置１０では、ハッシュテーブルを利用した検索用のフォーマットの形で情報単位群を記憶しているので、検索処理を高速で実施することができる。ただし、このフォーマットは、検索アプリケーションに特化したものであり、人間からみて可読性が低く、また標準的なフォーマットでないため長期保存に適さない。
【００４５】
次に、本実施形態におけるクライアント装置１０とサーバー装置２０との間の情報単位の同期処理について説明する。
【００４６】
情報単位群の同期処理は、例えばユーザーが同期ボタン１０８を押下してクライアント装置１０に対し同期処理の実行を明示的に指示したときに行われる。また、このようにユーザからの明示的な指示に応じて同期処理を実行する代わりに、或いはこれに加えて、情報管理システムにおいて所定のイベントが発生したタイミングで同期処理を実行してもよい。例えば、クライアント装置１０がサーバー装置２０にログインするとき、又はログアウトするとき、又はその両方などといったタイミングや、登録ボタン１０４が押下されたタイミングなどで同期処理を実行するなどである。また、定期的に同期処理を実行するようにしてもよい。
【００４７】
本実施形態では、同期処理はサーバー装置２０が主体となって実行する。このため、クライアント装置１０に対するユーザーに指示や、クライアント装置１０で発生したイベントをトリガとして同期処理を開始する場合は、そのような指示があったときやイベントが発生したときにクライアント装置１０からサーバー装置２０に対して同期処理の実行要求を送る。これに応じて、情報単位群同期手段２５は、まず図１１に示す手順を実行し、次に図１４に示す手順を実行する。
【００４８】
同期処理の前半部である図１１の手順では、情報単位群同期手段２５は、クライアント情報単位群保持手段１３に保持されている情報単位を順次読み出す(ステップＳ２１)。この読み出しは、図６に示したクライアントフォーマットのデータファイル２１６を先頭から読み出ししていき、情報単位の終端位置を示す終端ラベル２１６ｂの次から、その次の終端ラベル２１６ｂまでのデータを１つの情報単位として取り出す。また、情報単位内では、区切りラベル２１６ａから次の区切りラベル２１６ａまでを１つの項目のデータ内容と解釈する。各項目は所定の順序で並んでいるので、データ内容を読み取った順序によりそれがどの項目のものかが判別できる。
【００４９】
次に、情報単位群同期手段２５は、読み出した情報単位がサーバー情報単位群保持手段２３に存在するかチェックする（ステップＳ２２）。このチェックでは、クライアント情報単位群保持手段１３から読み出した情報単位と同じＩＤを持つ情報単位がサーバー情報単位群保持手段２３に存在するか否かを判定することで行う。
【００５０】
同じＩＤを持つ情報単位が存在しない場合には、クライアント情報単位群保持手段１３から読み出した情報単位をサーバーフォーマット変換手段２１に転送しサーバーフォーマットに変換させ(ステップＳ２３)、その変換結果をサーバー情報単位群保持手段２３に登録する (ステップＳ２４)。
【００５１】
ここで、サーバーフォーマットについて説明する。サーバーフォーマットで表現された情報単位群のファイル構成を図１２に示す。この例では、クライアント情報単位群保持手段１３の場合と同様、「観察記録」や「日記」などユーザーが設定した分野ごとに情報単位群がグルーピングされており、ルートフォルダ３００直下にそれら分野ごとに１つのフォルダ３１０が割り当てられている。各分野のフォルダ３１０には、その分野に対してユーザーが登録した各情報単位が、それぞれ１つのファイル３２０として格納される。個々の情報単位のファイルの内容は、たとえは図１３に示すように、個々の項目に対しその項目名を示すタグを付したＸＭＬ形式で表現されている。例えば<ID>は情報単位のＩＤ、<NAIYOU>は内容部、<KEYWORD>はキーワード部、<REGTIME>はその情報単位を本システムに最初に登録した登録時刻、<UPTIME>はその情報単位の最新の更新時刻を示している。ＸＭＬ形式は標準のフォーマットなので汎用性に優れ、長期保存に適する。また、１情報単位が１ファイルとなっていたり、項目内容を示すタグが付されていたり、項目ごとに改行されていたりすることから、人間がみた時の可読性が優れている。なお、サーバーフォーマットとしてＸＭＬ形式を用いる場合、ステップＳ２３では、ステップＳ２１の読み取りの際に判別した情報単位の各項目のデータ内容を、各項目に対応する開始タグ及び終了タグで囲んで、項目ごとに改行を入れて並べる。
【００５２】
ステップＳ２２の判定で、同じＩＤを持つ情報単位が存在すると判定された場合には、サーバー情報単位群保持手段２３からそのＩＤの情報単位のファイルを読み込む (ステップＳ２５)。その上で、クライアントの情報単位とサーバー情報単位とが同一のものであるかをチェックする（ステップＳ２６）。情報単位は更新時刻を保持しているので、ここでは更新時刻が全く同一であるかどうかで同一の情報単位かを判定する。
【００５３】
情報単位が同一で無い場合には、どちらが新しいかを判別する (ステップＳ２７)。サーバー装置２０側が新しい場合には、サーバー装置２０側の情報単位をクライアントフォーマット変換手段２２によってクライアントフォーマットへ変換する (ステップＳ２８)。この変換では、その情報単位の各項目のデータからタグを取り、項目のデータ内容の次に区切りラベル２１６ａを追加し、最後の項目（本実施形態の例では更新時刻）の後には情報単位の終端位置を示す終端ラベル２１６ｂを追加する。そして、この変換によって得られた情報単位のデータを、クライアント情報単位群保持手段１３のデータファイル２１６におけるその情報単位のデータ部分に置き換える（ステップＳ２９）。これにより、クライアント側の当該情報単位の内容が更新される。
【００５４】
ステップＳ２７の判定で、クライアント側が新しいと判定された場合には、ステップＳ２１で読み出したクライアント側の情報単位を、サーバーフォーマット変換手段２１によってサーバーフォーマットへ変換する (ステップＳ３０）。この変換では、クライアント側の情報単位のデータを先頭から順に、区切りラベル２１６ａごとのデータを読み出し、データの前に、情報単位の先頭から何個目の区切り記号かに応じた開始タグを追加し、そのデータの後に、開始タグに対応する終了タグと改行記号を追加する。これをクライアント側の情報単位の終端ラベル２１６ｂまで繰り返すことで、サーバーフォーマットの情報単位の更新ファイルができる。そして、作成された更新ファイルにより、サーバー情報単位群保持手段２３に保持されている情報単位のファイルを更新する (ステップＳ３１）。
【００５５】
ステップＳ２９又はＳ３１の更新処理が終わると、ステップＳ３２へ進み、まだ読み出していない情報単位が残っているか否かを判定し、残っていればステップＳ２１に戻って次の情報単位を読み出す。
【００５６】
以上の処理を繰り返し、クライアント情報単位群保持手段１３に保持されているすべての情報単位についての処理が終了すると(ステップＳ３２）、図１１に示した同期処理の前半部が終了する。
【００５７】
次に、同期処理の後半部の流れを、図１４を参照して説明する。この手順では、情報単位群同期手段２５は、サーバー情報単位群保持手段２３に保持されている情報単位を順次読み出し (ステップＳ４０）、読み出した情報単位がクライアント情報単位群保持手段１３に存在するかチェックする (ステップＳ４１)。同じ情報単位が存在しない場合には、ステップＳ４１で読み出した情報単位をクライアントフォーマット変換手段２２に転送しクライアントフォーマットに変換した上で (ステップＳ４２）、クライアント情報単位群保持手段１３に登録する (ステップＳ４３)。この登録は、前述したクライアント装置１０での情報単位の登録処理と同様のやり方で行えばよい。そして、ステップＳ４４に進み、サーバー装置情報単位群保持手段２３の中にまだ読み出していない情報単位が残っているか否かを判定し、残っていればステップＳ４０に戻って次の情報単位を読み出す。
【００５８】
なお、ステップＳ４０でサーバー情報単位群保持手段２３から読み出した情報単位と同じものがクライアント情報単位群保持手段１３に存在すると、ステップＳ４２において判定された場合は、ステップＳ４４に進み、まだ読み出していない情報単位が残っているか否かを判定し、残っていればステップＳ４０に戻って次の情報単位を読み出す。これは次の理由からである。すなわち、図１１に示した前半部の処理で、クライアント装置１０とサーバー装置２０の両方に存在する情報単位の同期は達成されているので、その情報単位については更新処理は行わず、ステップＳ４４に進むのである。
【００５９】
以上の処理を、サーバー情報単位群保持手段２３に保持されているすべての情報単位に対して繰り返す (ステップＳ４４)。
【００６０】
以上の例では、同期処理の前半部でクライアント側から順に情報単位を読み出してこれを基準にクライアント・サーバー間の同期を図り、次にサーバー側から順に情報単位を読み出して、この中からクライアント側に保持されていない情報単位を見つけ出してクライアント側に反映するようにしたが、この順序は逆でもよい。
【００６１】
この例では、比較的簡単な同期アルゴリズムを用いたが、特開２０００−２５９４７３号公報「データベース管理方式」に示されるような、より高度なアルゴリズムを使用してユーザーの利便性を増してもよい。
【００６２】
また、以上の例では、情報単位群同期手段２５をサーバー装置２０側に設けたが、この代わりに各クライアントに同様の手段を設ける構成としてもよい。
【００６３】
また、以上の例では、サーバーフォーマットとしてＸＭＬ形式を用いたが、この代わりにＨＴＭＬなど他のマークアップ言語を用いてもよい。また、サーバーフォーマットとして、図１５に示すようなテキスト形式のものを用いれば、汎用性やユーザーの可読性は非常に高くなる。図１５のフォーマットでは、情報単位の各項目をそれぞれ１行のテキストデータとし、各項目の行頭にその項目を表す項目名を並べ、その後に区切り記号（図示例ではコロン「：」を介してその項目のデータ内容を並べて最後に改行記号を追加し、その後に別の項目があればその項目を、別の項目がなければファイル終端ラベルを追加する。なお、項目のデータ内に改行記号が含まれる場合もあるので、図１５のフォーマットの情報単位を読み取って処理するソフトウエア（例えば同期手段２５）では、例えば、項目名と項目データ内容の間を区切る区切り記号と、その一つ前の改行記号と、の間のテキスト文字列を項目名と判断することが好ましい。
【００６４】
次に、図１６を参照して、サーバー装置２０における情報単位の検索処理の流れを説明する。この処理では、サーバー検索条件入力手段２６が、例えば図１２に示すようなディレクトリ構造のツリー表示をユーザーに提供し、ユーザーに情報単位を指定させる (ステップＳ５１）。ユーザーが情報単位を指定すると、サーバー情報単位検索手段２７がその情報単位のデータをサーバー情報単位群保持手段２３から検索する (ステップＳ５２)。そして、サーバー情報単位提示手段２８が、検索した情報単位のデータを表示する (ステップＳ５３)。
【００６５】
ステップＳ５３での情報単位の表示例を図１７に示す。この例は、図１３に示したＸＭＬフォーマットの情報単位を表示した例である。この例では、ステップＳ５１で、各分野のフォルダのツリー構造を表示したフォルダ表示欄４０２を含む画面４００を表示し、その中でユーザーが１つのフォルダを選択すると、そのフォルダに含まれる情報単位のリストが情報単位リスト表示欄４０４に表示される。そして、情報単位リスト表示欄４０４中からユーザーが情報単位を選択すると、その情報単位の各データ項目を表示した情報単位画面４１０が表示される。この例では、見出しや内容といった構造を解釈して、例えば見出しは大きいフォントで下線を付して表示し、キーワードも大きいフォントで表示するなどのスタイル付けを行っている。この場合、どの項目にどのような表示スタイルを適用するかは、サーバー情報単位提示手段２８にあらかじめ設定されている。
【００６６】
一方、図１８には、図１５に示したテキスト形式の情報単位をそのままテキスト表示した例を示す。この例では、見出しや内容といった構造は、単なるテキスト列で表現されるため、ユーザーが解釈して利用する。
【００６７】
ここでは、サーバー装置２０においては高度な検索処理をしない例を提示したが、ＸＭＬ用データベース等の技術を用いれば、サーバーに保管したＸＭＬ形式の情報単位データについて各種の検索処理を行うことができる。また、図１５のようなテキストファイル形式の情報単位データであれば、UNIX（商標）のgrep等の文字列検索技術を使って所望の情報単位を検索することができる。
【００６８】
次に、図１９を参照して、同期処理において処理履歴をサーバー装置２０に残す処理について説明する。この処理は、図１１の処理手順にステップＳ３５が追加されたものであり、これ以外のステップは図１１の手順と全く同じでよい。
【００６９】
サーバー側とクライアント側とに同じ情報単位が存在し、かつ、クライアント側の情報単位の方が新しい場合には、サーバーの情報単位が更新される。その際、元々サーバー装置２０に存在した更新前の情報単位を消去せず、履歴保持手段２４に登録する（ステップＳ３５）。履歴保持手段２４には、サーバー情報単位群保持手段２３と同様の形式で情報単位を登録すればよい。
【００７０】
次に、このように登録した処理履歴も合わせて検索する場合の、サーバー装置２０側の検索処理の手順を、図２０を参照して説明する。
【００７１】
まず、サーバー検索条件入力手段２６が提供するフォルダ表示欄４０２（図１７参照）上で、ユーザーから表示したい分野の情報単位群（フォルダ）の指定を受けると（ステップＳ６１）、更にそのフォルダの中にある情報単位の一覧が情報単位リスト表示欄４０４に表示される。そのリストの中の情報単位をユーザーが指定すると、サーバー情報単位検索手段２７がその指定を受けとり（ステップＳ６２）、指定された情報単位をサーバー情報単位群保持手段２３から検索し、得られた情報単位をサーバー情報単位提示手段２８により表示する (ステップＳ６３)。さらに、検索手段２７は、ステップＳ６３で検索した情報単位と同じＩＤを持つ情報単位を履歴保持手段２４から検索し (ステップＳ６４)、履歴データとして提示する (ステップＳ６５)。ステップＳ６５では、例えば、図２１に示すように、指定された情報単位（最新のもの）を表示する表示欄４１１と、その情報単位の過去のバージョンのファイルのアイコン４１３をリスト表示した履歴表示欄４１２とを備える表示画面４１０Ａが表示される。アイコン４１３には、履歴保持手段２４に保存された、過去の各バージョンのファイルがリンクされており、このアイコン４１３をクリックすることで、当該バージョンの情報単位を表示することができる。
【００７２】
以上の例では、クライアント装置１０側で情報単位が更新された場合の履歴保存を説明したが、クライアント装置１０側で情報単位が削除された場合も同様に、削除前に存在した情報単位のデータを履歴保持手段２４に登録することができる。
【００７３】
また、以上の例ではサーバー情報単位群保持手段２３内の検索処理により検索された情報単位に対応する情報単位を履歴保持手段２４から求めて提示したが、履歴保持手段２４に対する検索条件を直接入力して検索できるようにしてももちろんよい。
【００７４】
以上説明したように、本実施形態では、サーバー装置２０には長期保存への適性や汎用性が高い標準的なフォーマットで情報単位群を保存し、クライアント装置１０には同じ情報単位群を検索処理に適したフォーマットで保存し、両者の情報内容を同期させるようにした。従って、本実施形態では、情報単位の検索処理の効率と、情報単位の再利用可能性とを両立させることができる。
【００７５】
また、本実施形態では、サーバー装置２０を介して複数のクライアント装置１０で情報単位群を共有できる。したがって、例えば個人が自分の所有する複数のＰＣ端末や携帯端末などを目的に応じて使い分けているような場合に、どの端末で新規作成又は更新した情報単位もサーバー装置２０を介して別の端末でも共通に利用できる。
【図面の簡単な説明】
【００７６】
【図１】本発明に係る情報管理システムの構成を示す機能ブロック図である。
【図２】クライアント装置の表示画面の表示エリア構成の例を示す図である。
【図３】クライアント装置における情報単位の登録処理の手順を示すフローチャートである。
【図４】具体的な情報単位を表示したクライアント装置の表示画面の例を示す図である。
【図５】クライアント情報単位群保持手段のファイル構成の例を示す図である。
【図６】クライアント情報単位群保持手段における情報単位群のデータ構造の例を示す図である。
【図７】情報登録が完了した旨の表示の例を示す図である。
【図８】クライアント装置での検索処理の手順を示すフローチャートである。
【図９】検索された情報単位の見出しのリストを表示した画面表示例を示す図である。
【図１０】検索結果から選択された情報単位の内容を表示した画面表示例を示す図である。
【図１１】サーバー装置・クライアント装置間の情報単位群の同期処理の手順の前半部を示す図である。
【図１２】サーバー情報単位群保持手段のファイル構成の例を示す図である。
【図１３】サーバー情報単位群保持手段における個々の情報単位のファイルの内容記述例を示す図である。
【図１４】サーバー装置・クライアント装置間の情報単位群の同期処理の手順の後半部を示す図である。
【図１５】サーバー情報単位群保持手段における個々の情報単位のファイルの内容記述の別の例を示す図である。
【図１６】サーバー装置での検索処理の手順を示すフローチャートである。
【図１７】サーバー装置での情報単位の表示例を示す図である。
【図１８】サーバー装置での情報単位の別の表示例を示す図である。
【図１９】処理履歴を残す場合の同期処理の処理手順を示すフローチャートである。
【図２０】サーバー装置で処理履歴も合わせて検索する場合の処理手順を示すフローチャートである。
【図２１】処理履歴も合わせて表示した検索結果の表示例の示す図である。
【符号の説明】
【００７７】
１０  クライアント装置、１１  クライアント情報単位入力手段、１２  クライアント検索条件入力手段、１３  クライアント情報単位群保持手段、１４  クライアント情報単位検索手段、１５  クライアント情報単位提示手段、２０  サーバー装置、２１  サーバーフォーマット変換手段、２２  クライアントフォーマット変換手段、２３  サーバー情報単位群保持手段、２４  履歴保持手段、２５  情報単位群同期手段、２６  サーバー検索条件入力手段、２７  サーバー情報単位検索手段、２８  サーバー情報単位提示手段。
【図１】
2006244256.tif 000003
【図３】
2006244256.tif 000004
【図６】
2006244256.tif 000005
【図８】
2006244256.tif 000006
【図１１】
2006244256.tif 000007
【図１３】
2006244256.tif 000008
【図１４】
2006244256.tif 000009
【図１５】
2006244256.tif 000010
【図１６】
2006244256.tif 000011
【図１９】
2006244256.tif 000012
【図２０】
2006244256.tif 000013
【図２】
2006244256.tif 000014
【図４】
2006244256.tif 000015
【図５】
2006244256.tif 000016
【図７】
2006244256.tif 000017
【図９】
2006244256.tif 000018
【図１０】
2006244256.tif 000019
【図１２】
2006244256.tif 000020
【図１７】
2006244256.tif 000021
【図１８】
2006244256.tif 000022
【図２１】
2006244256.tif 000023