JP4357827B2 - Peer-to-peer document sharing network system - Google Patents
Peer-to-peer document sharing network system Download PDFInfo
- Publication number
- JP4357827B2 JP4357827B2 JP2002323735A JP2002323735A JP4357827B2 JP 4357827 B2 JP4357827 B2 JP 4357827B2 JP 2002323735 A JP2002323735 A JP 2002323735A JP 2002323735 A JP2002323735 A JP 2002323735A JP 4357827 B2 JP4357827 B2 JP 4357827B2
- Authority
- JP
- Japan
- Prior art keywords
- type
- metadata
- search
- peer
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ピアツーピアネットワークにおける文書共有システムに関する。
【0002】
【従来技術】
事業所などで構築されるLANでは、これまでクライアントサーバー型のネットワークを構築するのが普通であった。クライアントサーバーシステムの場合、ネットワークに接続されているコンピュータが、クライアントとサーバーに役割分担されている。このようなシステムではネットワークに接続されるコンピュータは、グラフィカルユーザーインターフェース(GUI)を備えて利用者の操作入力に従って様々な要求や仕事の依頼を発するクライアントと、クライアントからの要求依頼に迅速に応えるサーバーとに分けられる。多くの場合ネットワークに接続されたパソコンがクライアントとなり、大容量記憶装置と高性能CPUを備えた高価で高性能の専用サーバー機がサーバーとなる。一方、最近では、ネットワークに接続されるパソコンのCPU性能の向上、ディスク容量の大型化により、ネットワークに接続されるコンピュータをクライアントとサーバーに分けないピアツーピア型ネットワーク(以下P2P型)が注目されてきている。
【0003】
P2P型では、全てのコンピュータがクライアントでありサーバーとしても機能する。専用サーバ機を必要としないため費用も安価に済むことから、小規模なLANでファイルやプリンタを共有するのに向いている。一方、ファイルを共有させているコンピュータに負荷がかかるので、大規模なネットワークを構築するには適していない。だが、Napstar(非特許文献1)やGnutella(非特許文献2)のようにインターネット上でユーザ同士のファイルを直接やり取りする技術も表れている。
【0004】
Napstar、Gnutellaは、インターネット上でファイルを交換するためのプロトコルを定め、コンピュータに搭載されるP2Pネットワークエンジンがこのプロトコルにしたがって情報をやり取りすることにより、利用者は所望のファイルを保有する相手を見つけ、これを参照したり複製することができる。
【0005】
【非特許文献1】
河内 正夫, 小柳 恵一著「P2Pインターネットの新世紀」
電気通信協会 ; ISBN: 4885490197 ;2002年5月
【非特許文献2】
山村 恭平著「グヌーテラでいこう!―インターネットの世界に革命を起こす怪物ソフト『Gnutella』」 ベストセラーズ ; ISBN: 4584165262 ;2001年1月
【0006】
【発明が解決しようとする課題】
Napstar、Gnutellaでは、所望の情報の要求、検索は全てファイル名を対象として検索される。即ち検索文字列を含むファイル名を持つファイルを探すだけである。したがって、例えば、全文検索的な形態での情報検索はできないという制約があった。
【0007】
本発明はこのような問題点を考慮してなされたものであり、ファイル名だけではなく、ファイルの内容を対象とした情報検索が可能で、使い勝手のよいピアツーピア型のファイル共有システムを提供することを課題とする。
【0008】
【課題を解決するための手段】
課題を解決するための第1の発明は、
複数のノードコンピュータが対等な関係で協調動作する文書共有ネットワークシステムであって、このシステムに接続される各ノードコンピュータは、文書を、実ファイルデータと実ファイルデータを定められた項目毎に記述するメタデータとの組合わせであるデータセットとして保持する記憶装置と、メタデータ型と称する、そのメタデータに含まれる項目により文書を同値類別する型、に対応して備えられ、各文書の前記メタデータを参照する型プラグインと、ピアツーピアネットワークプロトコルにより他のノードコンピュータと情報のやり取りを行うネットワークエンジンと、前記ネットワークエンジンと前記型プラグインを用いてデータセットの検索を実行する検索エンジンと、検索条件入力を受付け、また前記検索エンジンによる検索結果を表示するグラフィカルユーザーインターフェースと、を備え、さらに、
前記メタデータ型は、親の型がないそれ自身が基本となるメタデータ型か、基本となる親の型に定められている項目に固有メタデータ型と称される新たな項目が追加されて定義された親の型を持つメタデータ型かのいずれかであって、
前記型プラグインは、対応する各メタデータ型の固有メタデータ型に含まれる項目のみを参照し、それ以外の項目については、その親となるメタデータ型の型プラグインを呼出すことにより、処理対象のデータセットのメタデータの各項目を参照して、指定された検索条件に該当する部分があるかどうかの検査結果を返すものであって、
以上の構成により、指定された検索条件を各データセットのメタデータと比較することにより該当するデータセットを抽出して検索結果として提示できるピアツーピア型文書共有ネットワークシステムである。
【0009】
共有蓄積文書をデータセットの形で管理し、検索時にメタデータを参照することにより、ピアツーピア型文書共有システムにおいてファイル名以外の検索語による共有文書の検索処理が可能となる。
【0010】
第1の発明に係るシステムにおいて情報を管理する単位であるデータセットは、実ファイルデータ(実データ)とメタデータから構成される。実データとは共有文書の内容そのものである。一方、メタデータは、実データに関して定められた幾つかの項目の名前(項目名、タグ等)とその値(項目値)の集まりである。したがって、メタデータに含まれる項目名が一致するかどうかによって共有文書を同値類に分類する「文書型」が定まる。これを「メタデータ型」と呼ぶ。利用者は必要に応じて新しい文書型を定義でき、定義した文書型(メタデータ型)に応じた型プラグインによりメタデータを参照できる。このような管理体系をとることにより、環境が変わり蓄積すべき文書の性質が変化しても共有文書の管理を柔軟にかつ容易に行うことが可能となる。
【0011】
課題を解決するための第2の発明は、複数のノードコンピュータが対等な関係で協調動作する文書共有ネットワークシステムであって、
このシステムに接続される各ノードコンピュータは、
文書を、実ファイルデータと実ファイルデータを定められた項目毎に記述するメタデータとの組合わせであるデータセットとして保持する記憶装置と、メタデータ型と称する、そのメタデータに含まれる項目により文書を同値類別する型に対応して備えられ、各文書の前記メタデータを参照する型プラグインと、ピアツーピアネットワークプロトコルにより他のノードコンピュータと情報のやり取りを行うネットワークエンジンと、前記ネットワークエンジンと前記型プラグインを用いてデータセットの検索を実行する検索エンジンと、検索条件入力を受付け、また前記検索エンジンによる検索結果を表示するグラフィカルユーザーインターフェースと、
を備え、さらに、
前記メタデータ型は、親の型がないそれ自身が基本となるメタデータ型か、基本となる親の型に定められている項目に固有メタデータ型と称される新たな項目が追加されて定義された親の型を持つメタデータ型かのいずれかであって、
前記型プラグインは、
型の名前、固有メタデータ型を定義する項目定義情報を少なくとも含む型定義情報と、
この型プラグインで処理した結果を呼出し元に返す検索結果伝達手段と、
固有メタデータ型に含まれる項目を参照してその値が検索条件と一致するか否か検査し、その結果を設定する固有メタデータ検索手段と、
を少なくとも含み、その型が親の型を持つ場合には、さらに、前記型定義情報に当該親の型の型プラグインの識別情報を含むとともに、当該親の型の型プラグインを呼び出し検索条件をその型プラグインへ引き渡す親プラグインへの検索委譲手段と、を備えて、
処理対象のデータセットのメタデータの各項目を参照して、指定された検索条件に該当する部分があるかどうかの検査結果を返すものであって、
以上の構成により、指定された検索条件を各データセットのメタデータと比較することにより該当するデータセットを抽出して検索結果として提示できるピアツーピア型文書共有ネットワークシステムである。
【0012】
第1の発明または第2の発明に係るピアツーピア型文書共有ネットワークシステムにおいて、蓄積管理されている共有文書を検索する際は、一つのメタデータ型を検索型として指定することにより、前記検索エンジンは、共有文書のうち検索型に一致するメタデータ型および検索型を基本の型とするメタデータ型に該当するデータセットを検索対象として限定するように構成することもできる。
【0013】
検索型を指定することにより、検索型とその型から派生した型の文書を検索対象とできる。このような検索方法は、文書管理の観点から合理的である。派生した型の文書も基本となる型のメタデータを全て含んでいるからである。
【0015】
第1の発明または第2の発明に係るシステムでは、型プラグインを基本の型からその様々な発展型まで、全て備える必要があるが、型プラグインをこのように構成し実現することは、新しい型を定義した時、その型に対応した新しい型プラグインの作成を容易にする。新しい型プラグインは、その元となった型プラグインが何かを知っていて、新たに付加されたメタデータに関する処理だけを行えばよいからである。
【0016】
また、共有文書を登録する場合に提供されるユーザーインターフェースは、新しく登録される文書のメタデータ型に応じて提供されることが望ましい。利用者は、その文書のメタデータとして必要な情報を漏れなく登録することができるからである。
【0017】
また、検索を始める際に検索条件を指定するユーザーインターフェースは、指定された検索型に応じて提供されることが望ましい。利用者は、その文書のメタデータとして定義されている項目の全てに関して必要なだけ検索条件を指定することができるからである。
【0018】
【発明の実施の形態】
以下図面を用いて、本発明の実施形態を説明してゆく。図1は、本発明の一実施形態に係るP2P文書共有システム1(以下システム1)の概念図である。図1で10はネットワークに接続される各コンピュータを示している。なおシステム1を構成する各コンピュータをノードコンピュータまたは単にノードと呼ぶ。各ノードは、存在を知っている他のノードと相互に接続されている。図1の左部分は、1台のノードコンピュータ10の内部を示したものである。一つのノードには検索エンジン11、幾つかのプラグイン12、ネットワークエンジン13、共有文書を蓄積管理するファイルデータベース20が備えられている。ファイルデータベース20は、共有文書をデータセット21の形式で保持する。一つのデータセット21は、実ファイル211と、実ファイルに何が記載されているか、あるいは、実ファイルの文書としての性質等、を定められた項目毎に記述したメタデータ210から構成される。
【0019】
まず、本システムにおいて情報を管理する単位であるデータセットについて説明する。1つのデータセットは実ファイルデータとメタデータから構成される。この様子を図3に示した。「メタデータ」とは「実データ」に対する言葉であって、「実データについてのデータ」が原義である。実データが意味するものを示すデータとして使用されることが多い。システム1では、実データとは共有文書の内容そのものである。一方、メタデータは、実データに関して定められた幾つかの項目の名前(項目名、タグ)とその値(項目値)の集まりである。したがってメタデータに含むべき項目を適当に設定することにより、実データを読込まなくても、メタデータを参照することで、共有文書の内容の要旨や共有文書の何らかの属性を知ることができる。また、複数の共有文書のメタデータの項目名のリストが一致すれば、それらは同じ種類(同じ型)の共有文書であるということができる。つまりメタデータは共有文書を同値類に分類する「文書型」を定める。これを「メタデータ型」と呼ぶ。
【0020】
さらに、システム1では、1つのメタデータ型を基本として、これに幾つかの新規な項目名を付加することにより新しいメタデータ型を定義することができる。
このようにしてメタデータ型の系列を作ることができる。図4は、このようなメタデータ型の系列の例を示している。図4では、メタデータ型Aと記されたメタデータを基礎として、これに新たな項目B1,B2、・・を付加してメタデータ型Bとし、さらに新たな項目C1を付加してメタデータ型Cを定義した例を示している。このメタデータ型A→メタデータ型B→メタデータ型Cの系列において、メタデータ型A(B)はメタデータ型B(C)の基本となる型であり親の型ということができる。あるいは、メタデータ型B(C)はメタデータ型A(B)を継承し新たな項目B1,B2、・・(C1)を付加してより発展させたものということもできる。また、型Aは型B、Cの上位の型であり、型Cは型A,Bの下位の型であるということができる。また、メタデータ型B(C)を定義する時に新たに付加した項目B1,B2、・・(C1)を便宜上「固有メタデータ型B(C)」と呼ぶことにする。固有メタデータ型Bは、メタデータ型Bとそれより下位のメタデータ型に含まれるが、メタデータ型Bより上位のメタデータ型には含まれない。
【0021】
図1の説明に戻る。検索エンジン11は、各ノード10に備えられる。ノード10で起動された検索エンジン11が他のノードで動作する検索エンジン11と互いに定められたP2Pプロトコルで情報をやり取りしてP2Pの検索処理を実現する。実際の検索処理は必要に応じて次々に呼出される型プラグイン12がその役目をになう。またP2Pプロトコルで情報のやり取りを行うために、検索エンジン11はネットワークエンジン13を利用する。また、検索エンジン11は、検索条件入力または共有文書の登録のためにメタデータの型(正確には固有メタデータ型)に応じて用意されたグラフィカルユーザーインターフェース(GUI)を利用する。GUI機能により利用者の検索要求を受付け、また検索結果を表示出力し、ファイル取込みの指示を受付ける。
【0022】
型プラグイン12は、処理対象の共有文書のメタデータを参照して、その文書に対する要求された処理を実行する。特に検索条件に関してその文書がヒットするかどうかの処理を行う。型プラグイン12は、メタデータ型に対応して、すなわち文書型に対応して用意される。詳細は後述する。
【0023】
ネットワークエンジン13は、ピアツーピアのネットワークプロトコル(アプリケーション階層のプロトコル)によるノード間の通信を可能にするプログラムである。ネットワークエンジン13は、非特許文献2に示されているコンピュータプログラムを利用してもよい。図2に、このネットワークプロトコルにより、あるコンピュータが情報の検索を行い所望の情報を入手するまでの流れを説明する。
【0024】
図2では、ノードAが検索要求を発した場合を示している。ノードAは予め定められている検索順路にしたがってノードBに対して検索要求メッセージを伝える。ノードBはこのメッセージを受取ると自分の中に該当するデータが存在するかどうかを調べる(▲1▼)。自分の中に無い場合は次のノードであるCに検索要求メッセージを流す。今度はノードCが該当するデータが存在するかどうかを調べる(▲2▼)。該当するデータを保持していることが確認された場合は、ノードCはノードBにその旨応答を返す。ノードBは、ノードCに該当するデータがあるという内容の応答をノードAに返す(▲3▼)。ノードAは、ノードCにデータを要求するメッセージを送る。ノードCは、該当するデータをノードAに送付する(▲4▼)。こうして、検索メッセージとそれに対する応答が伝言ゲームのようにやり取りされて、サーバー/クライアントの区別のないまったく平等なネットワークにおいて情報の検索と調達が行われる。なお、実際のプロトコルでは、検索要求の発散を防ぐため、lifetimeという概念がある。検索要求は一定の整数であるlifetimeの値(例えば「=5ノード」)を持って発生し。ノードを通過する度にlifetimeを消費していき、0になるとその検索要求は次ノードに転送されない。
【0025】
次に、図6及び図7より、システム1のファイル共有機能が実際にどのように動作するのかを例により説明する。図6左側の図は、説明例で前提とする文書型の系列を示す。図6右側の図は説明例で前提とするピアツーピアの伝言経路を示す。説明例は、本人(murata)が自分のコンピュータから文書の題名に「○×△」を含む共有文書を検索し、入手するまでのシステム1の動作を示す。
【0026】
まず、利用者(murata)は、murataのコンピュータ上でGUIメニューから提案書型の文書検索を選択し(図7の▲1▼-1)、検索項目を設定する。ここでは、題名に「○×△」を指定する。したがって題名に「○×△」を含む提案書型のデータセットが検索されることとなる(図7の▲1▼-2)。検索クエリーは、定められた伝言経路に従ってsuzuki、tanakaの2つのノードに伝えられる(図7の▲2▼、▲3▼)。
【0027】
ノードsuzukiは、自身が保有しているデータベース20に該当するデータセットが存在するかどうかを調べ、さらに、下位の伝言経路に存在する下位のノードに検索クエリを転送する。(図7の▲2▼-1)。
【0028】
ノードtanakaでは同様に、自身が保有しているデータベース20に該当するデータセットが存在するかどうかを調べ(図7の▲3▼-1)、さらに、下位のノードminamiに検索クエリを転送する(図7の▲4▼)。ノードminamiでは同様に、自身が保有しているデータベース20に該当するデータセットが存在するかどうかを調べ(図7の▲4▼-1)、該当するデータセットが存在する場合は、「minamiに該当するデータ有り」の旨と該当するデータセットのメタデータをノードtanakaに返す(図7の▲4▼-2)。ノードtanakaは、そのレスポンスをmurataに中継する(図7の▲3▼-2)
【0029】
ノードmurataでは、検索クエリに対して返ってくる応答を集めて、検索結果画面を構成し、利用者に表示する(図7の▲5▼)。検索結果画面には、該当するデータセットの題名、所有者(存在するノード)、データセットの型が一覧表で表示される。利用者はこのリストからダウンロードしたいデータセットを選択する。すると、ダウンロード選択されたデータセットが存在する各ノードへ直接ダウンロード要求が発信される(図7の▲6▼)。
【0030】
ダウンロード要求を受けたノードは指定されたデータセットを直接ノードmurataへ転送する(図7の▲6▼-2)。このようにして、ピアツーピアネットワークにおいて、共有ファイルの検索、転送が行われる。
【0031】
次に、図6、図7により説明した動作を実現するシステム1の構成を説明してゆく。以下の説明の前に、以下の説明の具体例として使用する3種類のメタデータ型を図8に定義する。図8(a)は報告書型のメタデータ(M01)の内容を示す。報告書型のメタデータM01は、「文書タイトル」「作成者」「作成日」の項目から構成される。図8(b)は会議報告書型のメタデータ(M012)の内容を示す。会議報告書型は報告書型のメタデータM01に「会議名」「出席者」「開催日時」の項目のセット(M02)を加えたものである。図8(c)は出張報告書型のメタデータ(M013)の内容を示す。出張報告書型は報告書型のメタデータM01に「出張先」「同行者」「出張日時」の項目のセット(M03)を加えたものである。図8(d)は、報告書型、会議報告書型、出張報告書型の3つの文書型の親子関係を表す系統図である。なお実際のメタデータは項目名だけでなくその値および固有メタデータ型の型名(「報告書型」など)を含んでいる。
【0032】
また、以下の説明では、「(1つの)共有文書」と「(1つの)データセット」、「文書型」と「メタデータ型」を同義の用語として用いる。「(1つの)共有文書」および「文書型」は利用者の観点で用いる用語であり、「(1つの)データセット」および「メタデータ型」はコンピュータシステムの観点で用いる用語であるが、実体として同じ物を指すからである。
【0033】
図12および図13は、検索エンジン11の動作全体を説明する概略フローチャートである。図12および図13は、一つのフローチャートを紙面の都合上2つに分けて示したものである。以下、この概略フローにより検索エンジン11の動作を概略説明する。
【0034】
検索エンジン11は、ノードコンピュータが立上がると必ず起動される。まず初期設定処理を行う(S01)。初期設定処理はノードコンピュータのOSやシステムの実装方式に依存するが、ネットワークエンジン13を起動していつでも他のノードとのピアツーピアプロトコルによる通信を可能な状態にしておくこと、検索処理の実行に使用する一時記憶領域や各種状態フラグを初期状態にすること等の処理を行う。初期設定が終ればいつでも検索処理の受付けが可能な状態となるので、検索条件入力画面インターフェースを呼出すアイコンをコンピュータ画面上に表示する(S05)。これで利用者は、検索を行いたい時は、前記アイコンをクリックすることによりいつでも検索条件入力画面を表示させることが可能となる。
【0035】
その後は、検索エンジン11は、イベント待ちの状態となる(S09)。ここでのイベントは、主なものは、検索アイコンの選択、検索要求発生、ファイル転送要求発生、検索結果受付け、ファイル転送要求の返答受付け、検索要求受付け、検索結果中継受付け、ファイル転送要求受付けである。なお、検索エンジン11の機能としては、この他に、共有文書の登録・変更処理のための操作画面の呼出し、と登録・変更処理の指示等の対話操作によって生ずるイベントも発生するが、以下の説明では、検索エンジン11の主たる機能である検索処理に関わる動作に絞って説明する。
【0036】
検索アイコン選択イベントを検索エンジン11が検知すると、検索エンジン11は、まず、検索する型(検索型)を選択するGUI画面を表示し(S17)、利用者に検索型を選択させる。次に、利用者画選択した検索型に応じた検索条件入力画面が表示され(S19)、利用者は、その画面で検索条件を入力する。
【0037】
図9に、検索条件入力を行う際のGUIの画面例を示す。図9(a)は、検索型を選択するGUI画面である。図9(b)〜(d)はそれぞれ、検索型として報告書型、会議報告書型、出張報告書型を選択した場合に、表示される検索条件指定画面である。
【0038】
検索要求イベントが発生するのは、利用者が図9(b)〜(d)にて検索条件を入力した後検索ボタンを押した時である。この時、検索エンジン11は、ネットワークエンジン13を通じて、経路上の次のノードに検索リクエストを発行させる(S10)。検索リクエストには、利用者が入力した検索条件の他に、検索リクエストのID番号、検索要求元ノードのID、lifetimeの初期値、等の情報が含まれる。検索エンジン11は、このID番号のリクエストが検索中である(自ら発した検索リクエストに対するレスポンス待ちの状態である)ことを示すフラグを立てる(S12)。
【0039】
ファイル転送要求イベントが起きるのは、利用者が検索結果一覧画面から、特定のファイルを選択してファイル転送要求ボタンを押した時である。検索エンジン11は、ネットワークエンジン13を通じて、当該データセットを有するノードにファイル転送リクエストを発行させる(S20)。
【0040】
自ら発行したファイル転送リクエストに対するレスポンスがかえってきた時は、ファイルデータを取込む(S40)。これで一連の処理は終了する。
【0041】
次に、図13に沿って、中継ノードの検索エンジン11の処理を説明する。
【0042】
まず、手前のノードから検索リクエストを受けた(中継した)場合は、検索エンジン11は、ネットワークエンジン13を通じて経路上の次のノードに検索リクエストを中継する(S50)。ただし、ネットワークエンジン13は、検索リクエストのlifetimeが零の場合はもはや中継を行わない。また中継する場合は、lifetimeの値を1減じて中継する。そして、自ノードの検索処理を実行する(S52)。検索処理結果は、検索処理が終り次第、手前(上位)のノードに返送する(S62)。
【0043】
また、経路上の下位のノードから検索結果を受けた場合は、そのまま経路上の上位のノードに中継する(S62)。
【0044】
自ノード宛てのファイル転送リクエストを受けた時は、当該ファイルのコピーを要求元ノードへ直接返送する(S70)。
【0045】
図14のフローチャートは、ステップS52の自ノードの検索処理の流れをさらに詳しく説明するものである。以下、図14に沿って自ノードの検索処理を説明する。
【0046】
まず、当該ノードに存在する未調査のデータセットを1つ選択する(S80)。次に、調査対象データセットの文書型が指定された検索型と一致するかそれより下位の型であるかを検査する。含まない場合はステップS88にジャンプする。含む場合は、指定された検索型のプラグイン12を呼出し、これに、検索条件データを引き渡して、このプラグイン12による検索を実行させる(S84)。プラグイン12は、後述するように、必要な場合はその内部でさらに別のプラグイン(「親の型」のプラグイン)を呼出すなどしてメタデータ中に検索条件データにヒットする部分があるかどうか調べて、その結果(ヒットしたかどうか)を検索エンジン11に返す。検索エンジン11はその結果を一時記録する(S86)。そしてまだ未調査のデータセットが自ノードに存在かどうかチェックして(S88)、存在する場合はステップS80に戻る。存在しない場合は、自ノードについて全ての検索が終了したことになる。
【0047】
図14のフローチャートで、検索エンジン11からどのようなタイミングで型プラグイン12が呼出されるか述べた。型プラグイン12は、自ノードの検索処理(S52)において、特定の1個のデータセットが、与えられた検索条件にヒットするかしないかの結果を返す働きを担う。図5は、ステップS84の型プラグイン12による検索処理をさらに詳しく説明するフローチャートである。以下、図5に沿って検索エンジン11から呼出された型プラグイン12の処理を説明する。
【0048】
まず、呼出された型プラグイン12が処理対象とする項目の値(固有メタデータ)について、検索条件に該当する部分があるかどうかを検査する(S101)。該当する(ヒットした)場合は、調べたデータセットは検索結果リストに加えるべきものとして、ヒットしたことを戻り値にセットして呼出し元にリターンする(S105)。ヒットしなかった場合は、呼出されたプラグインに上位の型があるかどうかチェックして(S107)、上位の型プラグインがなければ、このデータセットではヒットしなかったということを戻り値としてセットして呼出し元にリターンする(S113)。以上の二つのケースは、この型プラグインで結果が確定する場合である。ステップS107で上位の型プラグインが存在する場合は、検索条件データを引渡して上位の型プラグインを呼出す(S109)。上位のプラグインでは、同様の判断処理が行われる。上位のプラグインの戻り値をそれを呼出したプラグインの戻り値としてセットして呼出し元にリターンする(S111)。
【0049】
以上が、型プラグイン12による検索処理動作である。本システムでは、検索型に対する固有メタデータから出発して、メタデータの内容が検索条件にヒットするまで、次々に上位の型プラグインが呼出される。各型プラグインは自分の担当範囲(対応する固有メタデータ)だけ調べてヒットしない場合は、それ以上の処理は親の型の型プラグインに処理を委譲する。このようなシステムの構成を採用することにより、新しい文書型を定義したときに対応する型プラグインの実現が容易となり、柔軟な文書共有システムが実現できる。
【0050】
次に図10および図11により図5のフローチャートの動作を実現する型プラグイン12の構成を説明する。型プラグイン12は、メタデータの中の固有メタデータ型に対応して備える必要がある。基本の型(親の型、上位の型)の発展型として新しく定義したメタデータ部分を処理する必要があるからである。図11は、固有会議報告書型M02に対応した型プラグインをクラスオブジェクトとして実現する場合の論理的な構成を表現した図である。クラスオブジェクトP02は型定義情報P020を保持する。型定義情報P020には、型の名前(会議報告書型)、固有メタデータを定義する項目定義情報、親プラグインの型プラグインIDまたは型名が記録される。また、クラスオブジェクトP02は検索結果伝達手段P021、固有メタデータ検索手段P022、親プラグインへの検索委譲手段P023の各メソッドを備える。
【0051】
固有メタデータ検索手段P022は図5のフローチャートで説明した動作の主要部分を実行する。検索結果伝達手段P021は、この型プラグインで処理した結果を呼出し元(子の型プラグインまたは検索エンジン11)に返す処理を担当する。親プラグインへの検索委譲手段P023は、ステップS109で検索の処理を上位の型プラグインへ移す制御を実行する。
【0052】
図10は、固有報告書型M01に対応した型プラグインをクラスオブジェクトとして実現する場合の論理的な構成を表現した図である。クラスオブジェクトP01は型定義情報P010を保持する。型定義情報P010には、型の名前(報告書型)、固有メタデータを定義する項目定義情報、親プラグインの型プラグインIDまたは型名が記録される。また、クラスオブジェクトP01は検索結果伝達手段P011、固有メタデータ検索手段P012の各メソッドを備える。親の型プラグインは存在しないので親プラグインへの検索委譲手段P013は備えていない。
【0053】
なお、クラスオブジェクトP01、P02に、メタデータの登録・変更を行う手段をメソッドとして付加すれば、P01,P02により、文書検索だけでなく、共有文書のメタデータの登録・変更も行うことが可能となる。
【0054】
以上、本システムの実施形態を詳しく説明した。このシステムによる文書検索の特徴をまとめると以下の通りである。ある検索型、例えば報告書型で検索すると、その発展型である会議報告書型、出張報告書型文書も検索の対象となる。しかし、その場合、会議報告書型、出張報告書型文書は、報告書型文書として扱われるので、報告書型プラグインのみ働き、会議報告書型プラグイン・出張報告書型文書プラグインは働かない。すなわち発展型の固有部分のメタ情報は検索に関与しない。したがって、文書の型を基本型からその発展型へ階層的に定義してゆくことができるが、そのような型の系統樹は、初めから固定されている必要はなく、必要に応じて後から新しい型を定義して新しい型のデータセットを蓄積できる。そのようにしても、従来から存在する型に関して検索する場合は支障なく検索することができる。また追加した新しい型による検索ができるようファイル共有システムをバージョンアップする場合には、発展部分のメタ情報だけを扱う型プラグインを作成しこれを各利用者に配布するだけでよい。
【0055】
例えば、最初は報告書型だけが定義され、報告書型として幾つかの共有文書が蓄積された後、会議報告書型が定義され、会議報告書型共有文書が蓄積されたとしても、報告書型で検索を行う時は、全ての共有文書が検索対象となる。本システムのこのような特徴は、多数の利用者が対等の関係で利用するP2Pファイル共有システムに運用の柔軟さを与える。蓄積する文書に適したメタ情報を定義することは、その文書を作成した目的に依存するが、文書を作成する目的は、その時にファイル共有システムを利用する構成員の活動テーマ等に依存し、構成員の活動テーマは一定ではなく、時とともに変化するからである。
【0056】
【発明の効果】
以上詳しく説明したように本システムによれば、ファイル名だけで検索するのではなく、メタ情報により検索可能なP2P型のファイル共有システムを実現することができ、さらに、ファイル共有システム稼動後に、蓄積する文書の型を追加する必要が生じても、容易に柔軟に対応できるという顕著な効果を奏する。
【図面の簡単な説明】
【図1】 本発明の実施形態に係るピアツーピアネットワークシステム1を構成するノードコンピュータの概要を説明する図である。
【図2】 ピアツーピアネットワークプロトコルを説明する図である。
【図3】 データセットの構造を説明する図である。
【図4】 メタデータの構成例を説明する図である。
【図5】 型プラグイン12の働きを説明するフローチャートである。
【図6】 システム1の検索処理動作を説明する図である。
【図7】 システム1の検索処理動作を説明する図である。
【図8】 説明で用いる3種類のメタデータ型の説明図である。
【図9】 検索処理を行うためのGUI画面例である。
【図10】報告書型プラグインを説明する構成図である。
【図11】会議報告書型プラグインを説明する構成図である。
【図12】 ピアツーピアネットワークプロトコルを説明する図である。
【図13】 データセットの構造を説明する図である。
【図14】 メタデータの構成例を説明する図である。
【符号の説明】
1 文書共有ネットワークシステム
10 ノードコンピュータ
11 検索エンジン
12 型プラグイン
13 ピアツーピアネットワークエンジン
P01 報告書型プラグイン
P010 報告書型プラグインの型定義情報
P011 報告書型プラグインの検索結果伝達手段
P012 報告書型プラグインの固有メタデータ検索手段
P02 会議報告書型プラグイン
P020 会議報告書型プラグインの型定義情報
P021 会議報告書型プラグインの検索結果伝達手段
P022 会議報告書型プラグインの固有メタデータ検索手段
P023 会議報告書型プラグインの親プラグインへの検索委譲手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a document sharing system in a peer-to-peer network.
[0002]
[Prior art]
In LANs built at offices, it has been common to build client-server networks. In the case of a client / server system, a computer connected to a network is divided between a client and a server. In such a system, a computer connected to a network has a graphical user interface (GUI), a client that issues various requests and job requests in accordance with user operation inputs, and a server that quickly responds to request requests from clients. And divided. In many cases, a personal computer connected to a network serves as a client, and an expensive and high-performance dedicated server machine equipped with a mass storage device and a high-performance CPU serves as a server. On the other hand, recently, a peer-to-peer network (hereinafter referred to as P2P type) in which a computer connected to a network is not divided into a client and a server has been attracting attention due to an improvement in CPU performance of a personal computer connected to the network and an increase in disk capacity. Yes.
[0003]
In the P2P type, all computers function as clients and servers. It is suitable for sharing files and printers over a small LAN because it does not require a dedicated server and costs less. On the other hand, since a load is applied to the computer sharing the file, it is not suitable for constructing a large-scale network. However, technologies such as Napstar (Non-Patent Document 1) and Gnutella (Non-Patent Document 2) that directly exchange files between users also appear.
[0004]
Napstar and Gnutella have established a protocol for exchanging files on the Internet, and P2P network engine installed in the computer exchanges information according to this protocol, so that the user finds the partner who holds the desired file. , You can refer to or duplicate it.
[0005]
[Non-Patent Document 1]
Masao Kawauchi, Keiichi Koyanagi “New Century of P2P Internet”
Telecommunications Association; ISBN: 4885490197; May 2002
[Non-Patent Document 2]
Kyohei Yamamura, “Let's Go with Gnutella!-Monster Software“ Gnutella ”Revolutionizing the Internet World” Bestsellers; ISBN: 4584165262; January 2001
[0006]
[Problems to be solved by the invention]
In Napstar and Gnutella, all requests and searches for desired information are performed on file names. That is, only a file having a file name including a search character string is searched. Therefore, for example, there is a restriction that information retrieval cannot be performed in a full-text retrieval form.
[0007]
The present invention has been made in consideration of such problems, and provides an easy-to-use peer-to-peer file sharing system that can search information not only on file names but also on the contents of files. Is an issue.
[0008]
[Means for Solving the Problems]
The first invention for solving the problem is:
A document sharing network system in which a plurality of node computers cooperate in an equal relationship, and each node computer connected to this system isdocumentsAs a data set that is a combination of real file data and metadata that describes the real file data for each specified item.With storage device to hold,This type is provided corresponding to a type called a metadata type that classifies documents according to the items included in the metadata.A type plug-in that references metadata, a network engine that exchanges information with other node computers using a peer-to-peer network protocol, and a data set that uses the network engine and the type plug-inSearchA search engine to run,Accept search condition inputA graphical user interface for displaying search results by the search engine;In addition,
As for the metadata type, a new item called a unique metadata type is added to an item defined in the basic parent type without the parent type itself or as a basic metadata type. One of the metadata types with a defined parent type,
The type plug-in refers to only the items included in the unique metadata type of each corresponding metadata type, and the other items are processed by calling the type plug-in of the parent metadata type. Refers to each item of metadata of the target dataset, and returns a test result to see if there is a part that matches the specified search condition,
With the above configuration,The peer-to-peer document sharing network system can extract a corresponding data set by comparing specified search conditions with metadata of each data set and present it as a search result.
[0009]
By managing the shared stored documents in the form of a data set and referring to the metadata at the time of search, it is possible to search for a shared document using a search term other than a file name in a peer-to-peer document sharing system.
[0010]
The data set, which is a unit for managing information in the system according to the first invention, is composed of real file data (real data) and metadata. The actual data is the content of the shared document itself. On the other hand, metadata is a collection of names (item names, tags, etc.) and values (item values) of some items defined for actual data. Therefore, the “document type” for classifying the shared document into the equivalence class is determined depending on whether the item names included in the metadata match. This is called a “metadata type”. A user can define a new document type as needed, and can refer to metadata by a type plug-in corresponding to the defined document type (metadata type). By adopting such a management system, shared documents can be managed flexibly and easily even if the environment changes and the properties of documents to be accumulated change.
[0011]
A second invention for solving the problem is a document sharing network system in which a plurality of node computers cooperate in an equal relationship,
Each node computer connected to this system
A storage device that holds a document as a data set that is a combination of real file data and metadata that describes the actual file data for each predetermined item, and an item included in the metadata, referred to as a metadata type. A type plug-in that corresponds to a type for classifying documents, and refers to the metadata of each document; a network engine for exchanging information with other node computers using a peer-to-peer network protocol; A search engine that performs a search for a dataset using a type plug-in, a graphical user interface that accepts search criteria input and displays search results from the search engine,
In addition,
As for the metadata type, a new item called a unique metadata type is added to an item defined in the basic parent type without the parent type itself or as a basic metadata type. One of the metadata types with a defined parent type,
The type plug-in is
Type definition information including at least item definition information that defines the type name, unique metadata type, and
Search result transmission means for returning the result processed by this type plug-in to the caller;
A unique metadata search means for referring to an item included in the unique metadata type, checking whether the value matches a search condition, and setting the result;
When the type has a parent type, the type definition information further includes identification information of the type plug-in of the parent type, and calls the type plug-in of the parent type to search conditions. And a search delegation means to the parent plug-in that passes to the type plug-in,
Refers to each item of metadata of the data set to be processed, and returns a check result whether there is a part that matches the specified search condition,
With the above configuration, the peer-to-peer document sharing network system can extract a corresponding data set by comparing the specified search condition with the metadata of each data set and present it as a search result.
[0012]
1st invention or 2nd inventionIn the peer-to-peer document sharing network system according to the above, when searching for a shared document that is stored and managed, the search engine matches the search type among the shared documents by specifying one metadata type as the search type. A data set corresponding to a metadata type whose basic type is a metadata type and a search type can be configured to be limited as a search target.
[0013]
By specifying a search type, a search type and a document of a type derived from the search type can be searched. Such a search method is reasonable from the viewpoint of document management. This is because the derived type document also contains all the basic type metadata.
[0015]
1st inventionOr the second inventionIn a system related to, it is necessary to provide all types of plug-ins, from basic types to their various development types. However, when a type plug-in is configured and realized in this way, when a new type is defined, its type Makes it easy to create new type plug-ins that support. This is because the new type plug-in knows what the type plug-in is its source and only needs to perform processing related to the newly added metadata.
[0016]
Also,The user interface provided when registering a shared document is preferably provided according to the metadata type of the newly registered document. This is because the user can register necessary information as metadata of the document without omission.
[0017]
Also,A user interface for specifying a search condition when starting a search is preferably provided according to the specified search type. This is because the user can specify as many search conditions as necessary for all items defined as metadata of the document.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a conceptual diagram of a P2P document sharing system 1 (hereinafter, system 1) according to an embodiment of the present invention. In FIG. 1,
[0019]
First, a data set that is a unit for managing information in this system will be described. One data set includes actual file data and metadata. This situation is shown in FIG. “Metadata” is a term for “actual data”, and “data about actual data” is the original meaning. Often used as data indicating what real data means. In the
[0020]
Furthermore, in the
In this way, a metadata type sequence can be created. FIG. 4 shows an example of such a metadata type sequence. In FIG. 4, based on the metadata described as metadata type A, new items B1, B2,... Are added to form metadata type B, and new item C1 is added to add metadata. An example in which type C is defined is shown. In this series of metadata type A → metadata type B → metadata type C, the metadata type A (B) is a basic type of the metadata type B (C) and can be called a parent type. Alternatively, it can be said that the metadata type B (C) is further developed by inheriting the metadata type A (B) and adding new items B1, B2,... (C1). In addition, it can be said that the type A is an upper type of the types B and C, and the type C is a lower type of the types A and B. Also, the items B1, B2,... (C1) newly added when defining the metadata type B (C) will be referred to as “unique metadata type B (C)” for convenience. The unique metadata type B is included in the metadata type B and the metadata types lower than the metadata type B, but is not included in the metadata type higher than the metadata type B.
[0021]
Returning to the description of FIG. The
[0022]
The type plug-in 12 refers to the metadata of the shared document to be processed, and executes the requested processing for the document. In particular, whether or not the document is hit with respect to the search condition is processed. The type plug-in 12 is prepared corresponding to the metadata type, that is, corresponding to the document type. Details will be described later.
[0023]
The
[0024]
FIG. 2 shows a case where the node A issues a search request. The node A transmits a search request message to the node B according to a predetermined search route. When the node B receives this message, it checks whether the corresponding data exists in itself ((1)). If it is not present, it sends a search request message to C, which is the next node. This time, the node C checks whether or not the corresponding data exists ((2)). When it is confirmed that the corresponding data is held, the node C returns a response to the node B. The node B returns a response indicating that there is data corresponding to the node C to the node A ((3)). Node A sends a message requesting data to node C. Node C sends the corresponding data to node A (4). In this way, the search message and the response to the search message are exchanged like a message game, and information is searched and procured in a completely equal network without server / client distinction. In an actual protocol, there is a concept of lifetime in order to prevent divergence of search requests. A search request is generated with a lifetime value (eg, “= 5 nodes”) that is a constant integer. The lifetime is consumed every time it passes through the node, and when it reaches 0, the search request is not transferred to the next node.
[0025]
Next, referring to FIGS. 6 and 7, how the file sharing function of the
[0026]
First, the user (murata) selects a proposal type document search from the GUI menu on murata's computer ((1) -1 in FIG. 7), and sets a search item. Here, “OxΔ” is designated as the title. Therefore, a proposal type data set including “◯ × Δ” in the title is searched ((1) -2 in FIG. 7). The search query is transmitted to two nodes, suzuki and tanaka, according to a predetermined message route ((2) and (3) in FIG. 7).
[0027]
The node suzuki checks whether or not the corresponding data set exists in the
[0028]
Similarly, the node tanaka checks whether or not the corresponding data set exists in the
[0029]
The node murata collects responses returned in response to the search query, constructs a search result screen, and displays it to the user ((5) in FIG. 7). On the search result screen, the title, owner (existing node), and data set type of the corresponding data set are displayed in a list. The user selects a data set to be downloaded from this list. Then, a download request is transmitted directly to each node where the data set selected for download exists ((6) in FIG. 7).
[0030]
The node receiving the download request directly transfers the designated data set to the node murata ((6) -2 in FIG. 7). In this way, the shared file is searched and transferred in the peer-to-peer network.
[0031]
Next, the configuration of the
[0032]
In the following description, “(one) shared document” and “(one) data set”, “document type”, and “metadata type” are used as synonymous terms. “(One) shared document” and “document type” are terms used from the viewpoint of the user, and “(one) data set” and “metadata type” are terms used from the viewpoint of the computer system. This is because it refers to the same thing as an entity.
[0033]
12 and 13 are schematic flowcharts for explaining the entire operation of the
[0034]
The
[0035]
Thereafter, the
[0036]
When the
[0037]
FIG. 9 shows an example of a GUI screen when inputting search conditions. FIG. 9A shows a GUI screen for selecting a search type. FIGS. 9B to 9D are search condition designation screens that are displayed when a report type, a conference report type, and a business trip report type are selected as search types, respectively.
[0038]
The search request event occurs when the user presses the search button after entering the search conditions in FIGS. At this time, the
[0039]
The file transfer request event occurs when the user selects a specific file from the search result list screen and presses the file transfer request button. The
[0040]
When the response to the file transfer request issued by itself is changed, the file data is fetched (S40). This completes the series of processing.
[0041]
Next, the processing of the relay
[0042]
First, when a search request is received (relayed) from the previous node, the
[0043]
If a search result is received from a lower node on the route, it is relayed to the upper node on the route as it is (S62).
[0044]
When a file transfer request addressed to the own node is received, a copy of the file is directly returned to the requesting node (S70).
[0045]
The flowchart of FIG. 14 explains the flow of the search process of the own node in step S52 in more detail. Hereinafter, the search process of the own node will be described with reference to FIG.
[0046]
First, one unexamined data set existing in the node is selected (S80). Next, it is checked whether the document type of the survey target data set matches the designated search type or is a lower type. If not included, the process jumps to step S88. If included, the designated search type plug-in 12 is called, search condition data is handed over to this, and the search by this plug-in 12 is executed (S84). As will be described later, the plug-in 12 has a portion that hits the search condition data in the metadata by calling another plug-in (“parent type” plug-in) inside the plug-in 12 if necessary. And the result (whether it was hit) is returned to the
[0047]
In the flowchart of FIG. 14, the timing at which the type plug-in 12 is called from the
[0048]
First, the value (unique metadata) of the item to be processed by the called type plug-in 12 is inspected to determine whether there is a portion that satisfies the search condition (S101). If it is applicable (hit), the examined data set is to be added to the search result list, and the hit is set as a return value, and the process returns to the caller (S105). If there is no hit, it is checked whether the called plug-in has a higher type (S107). If there is no higher type plug-in, the return value indicates that no hit was found in this data set. Set and return to the caller (S113). The above two cases are when the result is confirmed by this type of plug-in. If there is an upper type plug-in in step S107, the search condition data is delivered and the upper type plug-in is called (S109). In the upper plug-in, a similar determination process is performed. The return value of the upper plug-in is set as the return value of the plug-in that called it, and the process returns to the caller (S111).
[0049]
The above is the search processing operation by the type plug-in 12. In this system, starting from the unique metadata for the search type, the upper type plug-ins are called one after another until the content of the metadata hits the search condition. If each type plug-in checks only its own scope (corresponding unique metadata) and does not hit, further processing is transferred to the type plug-in of the parent type. By adopting such a system configuration, it becomes easy to realize a type plug-in corresponding to a new document type being defined, and a flexible document sharing system can be realized.
[0050]
Next, the configuration of the mold plug-in 12 that realizes the operation of the flowchart of FIG. 5 will be described with reference to FIGS. The type plug-in 12 needs to be provided corresponding to the unique metadata type in the metadata. This is because it is necessary to process the newly defined metadata part as an extension type of the basic type (parent type, higher-level type). FIG. 11 is a diagram expressing a logical configuration when a type plug-in corresponding to the specific conference report type M02 is realized as a class object. The class object P02 holds type definition information P020. In the type definition information P020, a type name (conference report type), item definition information for defining unique metadata, a type plug-in ID or type name of a parent plug-in are recorded. In addition, the class object P02 includes methods of a search result transmission unit P021, a unique metadata search unit P022, and a search delegation unit P023 to a parent plug-in.
[0051]
The unique metadata search means P022 executes the main part of the operation described in the flowchart of FIG. The search result transmission means P021 is in charge of processing for returning the result processed by this type plug-in to the caller (child type plug-in or search engine 11). The search delegation means P023 to the parent plug-in executes control to move the search process to the higher-level plug-in in step S109.
[0052]
FIG. 10 is a diagram representing a logical configuration when a type plug-in corresponding to the specific report type M01 is realized as a class object. The class object P01 holds type definition information P010. In the type definition information P010, a type name (report type), item definition information for defining unique metadata, a type plug-in ID or type name of a parent plug-in are recorded. The class object P01 includes methods of a search result transmission unit P011 and a unique metadata search unit P012. Since there is no parent type plug-in, the search delegation means P013 to the parent plug-in is not provided.
[0053]
If a method for registering / changing metadata is added as a method to the class objects P01, P02, it is possible to register / change metadata of a shared document as well as document search by P01, P02. It becomes.
[0054]
The embodiment of this system has been described in detail above. The characteristics of document retrieval by this system are summarized as follows. When searching by a certain search type, for example, a report type, a meeting report type document and a business trip report type document, which are developed types thereof, are also searched. However, in that case, since the meeting report type document and the business trip report type document are treated as the report type document, only the report type plug-in works, and the meeting report type plug-in and the business trip report type document plug-in work. Absent. That is, the meta information of the developed unique part is not involved in the search. Therefore, it is possible to hierarchically define document types from basic types to their evolved types, but the phylogenetic tree of such types does not need to be fixed from the beginning, but later if necessary. You can define new types and accumulate new types of data sets. Even in such a case, when searching for existing types, it is possible to search without trouble. In addition, when upgrading the file sharing system so that it can be searched by the new type added, it is only necessary to create a type plug-in that handles only the meta information of the developed part and distribute it to each user.
[0055]
For example, if only a report type is initially defined and several shared documents are accumulated as a report type, then a conference report type is defined and a conference report type shared document is accumulated, When searching by type, all shared documents are searched. Such a feature of the present system gives operational flexibility to a P2P file sharing system used by many users in an equal relationship. Defining meta-information suitable for the document to be stored depends on the purpose of creating the document, but the purpose of creating the document depends on the activity theme of the member who uses the file sharing system at that time, This is because the members' activity themes are not constant and change over time.
[0056]
【The invention's effect】
As described above in detail, according to the present system, it is possible to realize a P2P type file sharing system that can be searched based on meta information, instead of searching only by file name, and further, after the file sharing system is operated, storage is performed. Even if it is necessary to add the type of document to be performed, there is a remarkable effect that it can be handled easily and flexibly.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an outline of a node computer constituting a peer-to-
FIG. 2 is a diagram illustrating a peer-to-peer network protocol.
FIG. 3 is a diagram illustrating the structure of a data set.
[Fig. 4] Fig. 4 is a diagram for describing a configuration example of metadata.
FIG. 5 is a flowchart for explaining the operation of the mold plug-in 12;
FIG. 6 is a diagram for explaining a search processing operation of the
FIG. 7 is a diagram for explaining a search processing operation of the
FIG. 8 is an explanatory diagram of three types of metadata used in the description.
FIG. 9 is an example of a GUI screen for performing a search process.
FIG. 10 is a block diagram illustrating a report type plug-in.
FIG. 11 is a configuration diagram illustrating a conference report type plug-in.
FIG. 12 is a diagram illustrating a peer-to-peer network protocol.
FIG. 13 is a diagram illustrating the structure of a data set.
[Fig. 14] Fig. 14 is a diagram for describing a configuration example of metadata.
[Explanation of symbols]
1 Document sharing network system
10 node computer
11 Search engine
12 type plug-in
13 Peer-to-peer network engine
P01 Report type plug-in
P010 Report type plug-in type definition information
P011 Report-type plug-in search result transmission means
P012 Unique metadata search means of report type plug-in
P02 Meeting report type plug-in
P020 meeting report type plug-in type definition information
P021 Meeting report type plug-in search result transmission means
P022 Specific metadata search means for meeting report type plug-in
P023 Search delegation means for meeting report type plug-in to parent plug-in
Claims (5)
このシステムに接続される各ノードコンピュータは、
文書を、実ファイルデータと実ファイルデータを定められた項目毎に記述するメタデータとの組合わせであるデータセットとして保持する記憶装置と、
メタデータ型と称する、そのメタデータに含まれる項目により文書を同値類別する型、に対応して備えられ、各文書の前記メタデータを参照する型プラグインと、
ピアツーピアネットワークプロトコルにより他のノードコンピュータと情報のやり取りを行うネットワークエンジンと、
前記ネットワークエンジンと前記型プラグインを用いてデータセットの検索を実行する検索エンジンと、
検索条件入力を受付け、また前記検索エンジンによる検索結果を表示するグラフィカルユーザーインターフェースと、
を備え、さらに、
前記メタデータ型は、親の型がないそれ自身が基本となるメタデータ型か、基本となる親の型に定められている項目に固有メタデータ型と称される新たな項目が追加されて定義された親の型を持つメタデータ型かのいずれかであって、
前記型プラグインは、対応する各メタデータ型の固有メタデータ型に含まれる項目のみを参照し、それ以外の項目については、その親となるメタデータ型の型プラグインを呼出すことにより、処理対象のデータセットのメタデータの各項目を参照して、指定された検索条件に該当する部分があるかどうかの検査結果を返すものであって、
以上の構成により、指定された検索条件を各データセットのメタデータと比較することにより該当するデータセットを抽出して検索結果として提示できるピアツーピア型文書共有ネットワークシステム。A document sharing network system in which a plurality of node computers cooperate in an equal relationship,
Each node computer connected to this system
The document, a storage device that holds the data set is a combination of the actual file data and metadata describing the actual file data for each item defined, and
A type plug-in that corresponds to a type called a metadata type, which is equivalent to classifying documents according to items included in the metadata, and refers to the metadata of each document ;
A network engine that exchanges information with other node computers using a peer-to-peer network protocol;
A search engine that performs a search for a dataset using the network engine and the type plug-in;
A graphical user interface that accepts search criteria input and displays search results from the search engine;
In addition,
As for the metadata type, a new item called a unique metadata type is added to an item defined in the basic parent type without the parent type itself or as a basic metadata type. One of the metadata types with a defined parent type,
The type plug-in refers to only the items included in the unique metadata type of each corresponding metadata type, and the other items are processed by calling the type plug-in of the parent metadata type. Refers to each item of metadata of the target dataset, and returns a test result to see if there is a part that matches the specified search condition,
With the above configuration, a peer-to-peer type document sharing network system that can extract a corresponding data set by comparing a specified search condition with metadata of each data set and present it as a search result.
このシステムに接続される各ノードコンピュータは、Each node computer connected to this system
文書を、実ファイルデータと実ファイルデータを定められた項目毎に記述するメタデータとの組合わせであるデータセットとして保持する記憶装置と、A storage device that holds a document as a data set that is a combination of real file data and metadata describing the real file data for each predetermined item;
メタデータ型と称する、そのメタデータに含まれる項目により文書を同値類別する型に対応して備えられ、各文書の前記メタデータを参照する型プラグインと、A type plug-in that is provided in correspondence with a type for classifying documents according to items included in the metadata, referred to as a metadata type, and refers to the metadata of each document;
ピアツーピアネットワークプロトコルにより他のノードコンピュータと情報のやり取りを行うネットワークエンジンと、A network engine that exchanges information with other node computers using a peer-to-peer network protocol;
前記ネットワークエンジンと前記型プラグインを用いてデータセットの検索を実行する検索エンジンと、A search engine that performs a search for a dataset using the network engine and the type plug-in;
検索条件入力を受付け、また前記検索エンジンによる検索結果を表示するグラフィカルユーザーインターフェースと、A graphical user interface that accepts search criteria input and displays search results from the search engine;
を備え、さらに、In addition,
前記メタデータ型は、親の型がないそれ自身が基本となるメタデータ型か、基本となる親の型に定められている項目に固有メタデータ型と称される新たな項目が追加されて定義された親の型を持つメタデータ型かのいずれかであって、As for the metadata type, a new item called a unique metadata type is added to an item that is a basic metadata type that does not have a parent type, or is defined in the basic parent type. One of the metadata types with a defined parent type,
前記型プラグインは、The type plug-in is
型の名前、固有メタデータ型を定義する項目定義情報を少なくとも含む型定義情報と、Type definition information including at least item definition information that defines the type name, unique metadata type, and
この型プラグインで処理した結果を呼出し元に返す検索結果伝達手段と、Search result transmission means for returning the result processed by this type plug-in to the caller;
固有メタデータ型に含まれる項目を参照してその値が検索条件と一致するか否か検査し、その結果を設定する固有メタデータ検索手段と、A unique metadata search means for referring to an item included in the unique metadata type, checking whether the value matches a search condition, and setting the result;
を少なくとも含み、その型が親の型を持つ場合には、さらに、前記型定義情報に当該親の型の型プラグインの識別情報を含むとともに、当該親の型の型プラグインを呼び出し検索条件をその型プラグインへ引き渡す親プラグインへの検索委譲手段と、を備えて、When the type has a parent type, the type definition information further includes the identification information of the type plug-in of the parent type, and calls the type plug-in of the parent type to search conditions. And a search delegation means to the parent plug-in that passes to the type plug-in,
処理対象のデータセットのメタデータの各項目を参照して、指定された検索条件に該当する部分があるかどうかの検査結果を返すものであって、Refers to each item of metadata of the data set to be processed, and returns a test result for whether there is a part that matches the specified search condition,
以上の構成により、指定された検索条件を各データセットのメタデータと比較することにより該当するデータセットを抽出して検索結果として提示できるピアツーピア型文書共有ネットワークシステム。With the above configuration, a peer-to-peer type document sharing network system that can extract a corresponding data set by comparing a specified search condition with metadata of each data set and present it as a search result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002323735A JP4357827B2 (en) | 2002-11-07 | 2002-11-07 | Peer-to-peer document sharing network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002323735A JP4357827B2 (en) | 2002-11-07 | 2002-11-07 | Peer-to-peer document sharing network system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004157826A JP2004157826A (en) | 2004-06-03 |
JP4357827B2 true JP4357827B2 (en) | 2009-11-04 |
Family
ID=32803529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002323735A Expired - Fee Related JP4357827B2 (en) | 2002-11-07 | 2002-11-07 | Peer-to-peer document sharing network system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4357827B2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006106879A (en) * | 2004-09-30 | 2006-04-20 | System Master:Kk | Management information system, management information providing method, management information server device, and information processing terminal machine |
EP1645974B1 (en) * | 2004-10-05 | 2014-01-01 | Sony Europe Limited | Self-organisation approach to semantic interoperability in peer-to-peer information exchange |
KR100694079B1 (en) | 2005-01-08 | 2007-03-12 | 학교법인 대양학원 | Data download method and node for P2P service in wired / wireless converged network |
US7313580B2 (en) * | 2005-02-08 | 2007-12-25 | Domenico Vellante | Systems and methods for sharing information between a user group and associated document |
JP4705795B2 (en) * | 2005-03-31 | 2011-06-22 | 学校法人早稲田大学 | Data sharing program, computer for data sharing system, and data sharing method |
DE102005024635A1 (en) * | 2005-05-30 | 2006-12-07 | Siemens Ag | Method for content-specific search in data networks |
JP4846318B2 (en) * | 2005-09-26 | 2011-12-28 | シャープ株式会社 | COMMUNICATION PROGRAM, RECORDING MEDIUM, COMMUNICATION METHOD, AND COMMUNICATION TERMINAL DEVICE |
JP4846370B2 (en) * | 2006-01-24 | 2011-12-28 | シャープ株式会社 | COMMUNICATION PROGRAM, RECORDING MEDIUM, COMMUNICATION METHOD, AND COMMUNICATION TERMINAL DEVICE |
JP5151511B2 (en) * | 2008-01-30 | 2013-02-27 | ソニー株式会社 | Search service providing system and search service providing method |
JP2010170393A (en) * | 2009-01-23 | 2010-08-05 | Nippon Telegr & Teleph Corp <Ntt> | Information retrieval method, information retrieval device, and program |
US9658841B2 (en) * | 2012-08-30 | 2017-05-23 | Avaya Inc. | System and method for efficient software replication |
-
2002
- 2002-11-07 JP JP2002323735A patent/JP4357827B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004157826A (en) | 2004-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4406609B2 (en) | Techniques for managing multiple hierarchies of data from a single interface | |
CN101568919A (en) | Single view of data in a networked computer system with distributed storage | |
US20030037097A1 (en) | Accessing information content | |
JP2004005491A (en) | Peer-to-peer file sharing method and apparatus | |
JP2001216452A (en) | Document service integration system | |
JP4357827B2 (en) | Peer-to-peer document sharing network system | |
JP2009193250A (en) | Distributed directory server, distributed directory system, distributed directory method, and program | |
JP2010165178A (en) | Information processing method and information processor | |
JP2002207726A (en) | Document management device, related document extraction method, document operation support method | |
US11599396B2 (en) | Resegmenting chunks of data based on source type to facilitate load balancing | |
JP2005242904A (en) | Document group analysis apparatus, document group analysis method, document group analysis system, program, and recording medium | |
JP4265413B2 (en) | Policy enforcement system and method for virtual private organization | |
JP5984355B2 (en) | Distributed database system and distributed data processing system | |
JP2004240692A (en) | Image search server system, program, and recording medium | |
JP2008537214A (en) | Automatic intranet service disclosure and service access | |
JP2010067233A (en) | Workflow management system, workflow management method, and workflow management program | |
JP2000137643A (en) | Information sharing system, information sharing method and record medium recorded with program therefor | |
JPH117445A (en) | Integrated document management device | |
JP2006185150A (en) | File management system, file management method, and file management program | |
JPH1153379A (en) | Message mediation method and system, and storage medium storing message mediation program | |
JPH11327989A (en) | Database management device and recording medium on which the program is recorded | |
US12436963B2 (en) | Retrieving data identifiers from queue for search of external data system | |
JP2006178526A (en) | Resource providing system, mediation agent, resource providing method, and computer program | |
US20250103604A1 (en) | Retrieving data identifiers from queue for search of external data system | |
JP4744031B2 (en) | Service page operation support system and service page operation support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090119 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090707 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090805 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |