JP2004157826A - Peer-to-peer document sharing network system - Google Patents

Peer-to-peer document sharing network system Download PDF

Info

Publication number
JP2004157826A
JP2004157826A JP2002323735A JP2002323735A JP2004157826A JP 2004157826 A JP2004157826 A JP 2004157826A JP 2002323735 A JP2002323735 A JP 2002323735A JP 2002323735 A JP2002323735 A JP 2002323735A JP 2004157826 A JP2004157826 A JP 2004157826A
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.)
Granted
Application number
JP2002323735A
Other languages
Japanese (ja)
Other versions
JP4357827B2 (en
Inventor
Daisuke Ikuta
大介 生田
Ryosuke Kojima
良介 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2002323735A priority Critical patent/JP4357827B2/en
Publication of JP2004157826A publication Critical patent/JP2004157826A/en
Application granted granted Critical
Publication of JP4357827B2 publication Critical patent/JP4357827B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a convenient peer-to-peer file sharing system capable of performing information retrieval not only for a file name but also the content of a file. <P>SOLUTION: This file sharing system accumulates and manages a shared document as a combination of actual file data and metadata. Each node computer comprises a type plug-in for collating the content of the metadata with a retrieval condition to determine whether the document is a document corresponding to the retrieval condition or not, a network engine for communicating with another node computer by a peer-to-peer network protocol, a dialog interface function for inputting the retrieval condition and displaying the retrieval result, and a search engine for performing document search and management for the whole network by use of it. <P>COPYRIGHT: (C)2004,JPO

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の発明は、
複数のノードコンピュータが対等な関係で協調動作する文書共有ネットワークシステムであって、その第1の態様は、
このシステムに接続される各ノードコンピュータは、共有文書を、実ファイルデータと実ファイルデータを定められた項目毎に記述するメタデータとの組合わせであるデータセットとして各ノードコンピュータのそれぞれの記憶装置に保持するものであって、さらに各ノードコンピュータが、
蓄積されている個々のデータセットに含まれるメタデータを参照する型プラグインと、ピアツーピアネットワークプロトコルにより他のノードコンピュータと情報のやり取りを行うネットワークエンジンと、前記ネットワークエンジンと前記型プラグインを用いてデータセットの検索、参照、転送、登録を実行する検索エンジンと、利用者が前記検索エンジンに指示を与え、また検索エンジンによる検索結果を表示するグラフィカルユーザーインターフェースと、を備えて、指定された検索条件を各データセットのメタデータと比較することにより該当するデータセットを抽出して検索結果として提示することが可能なピアツーピア型文書共有ネットワークシステムである。
【0009】
共有蓄積文書をデータセットの形で管理し、検索時にメタデータを参照することにより、ピアツーピア型文書共有システムにおいてファイル名以外の検索語による共有文書の検索処理が可能となる。
【0010】
課題を解決するための第1の発明の第2の態様は、
第1の態様に係るピアツーピア型文書共有ネットワークシステムにおいて、前記メタデータは基本となるメタデータに発展部分を加えて新しいメタデータの型(メタデータ型)を次々に定義することが可能であって、システムに蓄積される共有文書をメタデータの型によって分類して蓄積管理することを可能とし、前記型プラグインは、共有文書のメタデータ型に応じて備えられることを特徴とするピアツーピア型文書共有ネットワークシステムである。
【0011】
第1の発明に係るシステムにおいて情報を管理する単位であるデータセットは、実ファイルデータ(実データ)とメタデータから構成される。実データとは共有文書の内容そのものである。一方、メタデータは、実データに関して定められた幾つかの項目の名前(項目名、タグ等)とその値(項目値)の集まりである。したがって、メタデータに含まれる項目名が一致するかどうかによって共有文書を同値類に分類する「文書型」が定まる。これを「メタデータ型」と呼ぶ。利用者は必要に応じて新しい文書型を定義でき、定義した文書型(メタデータ型)に応じた型プラグインによりメタデータを参照できる。このような管理体系をとることにより、環境が変わり蓄積すべき文書の性質が変化しても共有文書の管理を柔軟にかつ容易に行うことが可能となる。
【0012】
課題を解決するための第1の発明の第3の態様は、
第2の態様に係るピアツーピア型文書共有ネットワークシステムにおいて、蓄積管理されている共有文書を検索する際は、一つのメタデータ型を検索型として指定することにより、前記検索エンジンは、共有文書のうち検索型に一致するメタデータ型および検索型を基本の型とするメタデータ型に該当するデータセットを検索対象として限定することができることを特徴とするピアツーピア型文書共有ネットワークシステムである。
【0013】
検索型を指定することにより、検索型とその型から派生した型の文書を検索対象とできる。このような検索方法は、文書管理の観点から合理的である。派生した型の文書も基本となる型のメタデータを全て含んでいるからである。
【0014】
課題を解決するための第1の発明の第4の態様は、
第2の態様に係るピアツーピア型文書共有ネットワークシステムにおいて、ある1つの型プラグインは、対応するメタデータ型のその型に対応した固有部分のメタデータのみを参照し、それ以外の基本部分のメタデータは、その基本となったメタデータ型の型プラグインを呼出すことを必要なだけ繰返すことにより、処理対象のデータセットのメタデータの前記型プラグインに対応するメタデータ型で記述される範囲を参照することを特徴とするピアツーピア型文書共有ネットワークシステムである。
【0015】
第1の発明のシステムでは、型プラグインを基本の型からその様々な発展型まで、全て備える必要があるが、型プラグインをこのように構成し実現することは、新しい型を定義した時、その型に対応した新しい型プラグインの作成を容易にする。新しい型プラグインは、その元となった型プラグインが何かを知っていて、新たに付加されたメタデータに関する処理だけを行えばよいからである。
【0016】
第2の態様に係るピアツーピア型文書共有ネットワークシステムにおいては、共有文書を登録する場合に提供されるユーザーインターフェースは、新しく登録される文書のメタデータ型に応じて提供されることが望ましい。利用者は、その文書のメタデータとして必要な情報を漏れなく登録することができるからである。
【0017】
第3の態様に係るピアツーピア型文書共有ネットワークシステムにおいては、検索を始める際に検索条件を指定するユーザーインターフェースは、指定された検索型に応じて提供されることが望ましい。利用者は、その文書のメタデータとして定義されている項目の全てに関して必要なだけ検索条件を指定することができるからである。
【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]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a document sharing system in a peer-to-peer network.
[0002]
[Prior art]
Until now, it has been common to construct a client-server type network in a LAN constructed in a business office or the like. In the case of a client-server system, computers connected to a network are assigned roles between a client and a server. In such a system, a computer connected to a network includes a client that has a graphical user interface (GUI) and issues various requests and job requests according to a user's operation input, and a server that quickly responds to request requests from the client. And divided into In many cases, a personal computer connected to a network serves as a client, and an expensive and high-performance dedicated server equipped with a large-capacity storage device and a high-performance CPU serves as a server. On the other hand, recently, due to the improvement in CPU performance of a personal computer connected to a network and an increase in disk capacity, a peer-to-peer type network (hereinafter, P2P type) in which a computer connected to the network is not divided into a client and a server has attracted attention. I have.
[0003]
In the P2P type, all computers are clients and also function as servers. Since a dedicated server machine is not required and the cost is low, it is suitable for sharing files and printers on a small LAN. On the other hand, a load is imposed on the computer sharing the file, which is not suitable for constructing a large-scale network. However, there is a technology such as Napstar (Non-Patent Document 1) and Gnutella (Non-Patent Document 2) for directly exchanging files between users on the Internet.
[0004]
Napstar and Gnutella define a protocol for exchanging files on the Internet, and a P2P network engine mounted on a computer exchanges information according to this protocol, so that a user can find a partner holding a desired file. , Which can be referenced or duplicated.
[0005]
[Non-patent document 1]
Masao Kawachi, Keiichi Koyanagi, "New Century of P2P Internet"
Telecommunications Association; ISBN: 488490197; May 2002
[Non-patent document 2]
Kyohei Yamamura, "Let's Go with Gnutella!-Monster Software" Gnutella "That Will Revolutionize the Internet World"Bestsellers; ISBN: 4584165262; January 2001
[0006]
[Problems to be solved by the invention]
In Napstar and Gnutella, requests and searches for desired information are all performed on file names. That is, only the file having the file name including the search character string is searched. Therefore, for example, there is a restriction that information search in a full-text search form cannot be performed.
[0007]
The present invention has been made in view of such problems, and provides an easy-to-use peer-to-peer file sharing system capable of performing information search not only on file names but also on file contents. As an issue.
[0008]
[Means for Solving the Problems]
A first invention for solving the problem is as follows.
A document sharing network system in which a plurality of node computers cooperate in an equal relationship, the first mode of which is:
Each node computer connected to this system stores the shared document as a data set, which is a combination of real file data and metadata describing the real file data for each defined item, in each storage device of each node computer. And further, each node computer,
Using a type plug-in that refers to metadata contained in each stored data set, a network engine that exchanges information with another node computer by a peer-to-peer network protocol, and using the network engine and the type plug-in A designated search comprising: a search engine for performing search, reference, transfer, and registration of the data set; and a graphical user interface for providing instructions to the search engine by a user and displaying search results by the search engine. This is a peer-to-peer type document sharing network system capable of extracting a data set by comparing conditions with metadata of each data set and presenting the data set as a search result.
[0009]
By managing the shared storage document in the form of a data set and referring to the metadata at the time of the search, the peer-to-peer type document sharing system can perform a search process of the shared document using a search term other than the file name.
[0010]
A second aspect of the first invention for solving the problem is as follows.
In the peer-to-peer type document sharing network system according to the first aspect, the metadata can define new metadata types (metadata types) one after another by adding an extension to basic metadata. A shared document stored in the system can be classified and managed according to the type of metadata, and the type plug-in is provided according to the metadata type of the shared document. It is a shared network system.
[0011]
A data set, which is a unit for managing information in the system according to the first invention, includes real file data (real data) and metadata. Actual data is the content of the shared document itself. On the other hand, metadata is a collection of names (item names, tags, and the like) of some items defined for actual data and their values (item values). Therefore, the “document type” for classifying shared documents into equivalence classes is determined depending on whether the item names included in the metadata match. This is called a “metadata type”. The 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, it becomes possible to manage the shared document flexibly and easily even if the environment changes and the properties of the document to be stored change.
[0012]
A third aspect of the first invention for solving the problem is as follows.
In the peer-to-peer type document sharing network system according to the second aspect, when searching for a stored and managed shared document, by specifying one metadata type as a search type, the search engine can perform A peer-to-peer type document sharing network system characterized in that a metadata type matching a search type and a data set corresponding to a metadata type based on the search type can be limited as search targets.
[0013]
By specifying a search type, documents of a search type and a type derived from the search type can be searched. Such a search method is reasonable from the viewpoint of document management. Documents of derived types also contain all of the underlying type's metadata.
[0014]
A fourth aspect of the first invention for solving the problems is as follows.
In the peer-to-peer type document sharing network system according to the second aspect, one type plug-in refers to only the metadata of the unique part corresponding to the type of the corresponding metadata type, and the meta of the other basic part. By calling the type plug-in of the metadata type on which the data is based repeatedly as necessary, the range of the data described in the metadata type corresponding to the type plug-in of the metadata of the data set to be processed is obtained. Is a peer-to-peer type document sharing network system characterized by referring to FIG.
[0015]
In the system of the first invention, it is necessary to provide a type plug-in from a basic type to various development types thereof, but the configuration and realization of the type plug-in in this way is performed when a new type is defined. , Making it easier to create new type plugins for that type. This is because the new type plug-in knows what the type plug-in is based on, and only needs to perform processing on the newly added metadata.
[0016]
In the peer-to-peer document sharing network system according to the second aspect, it is desirable that the user interface provided when registering the shared document is 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]
In the peer-to-peer type document sharing network system according to the third aspect, it is desirable that a user interface for specifying a search condition when starting a search be 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]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described 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, reference numeral 10 denotes each computer connected to the network. Each computer constituting the system 1 is called a node computer or simply a node. Each node is interconnected with other nodes whose existence it knows. The left part of FIG. 1 shows the inside of one node computer 10. One node is provided with a search engine 11, several plug-ins 12, a network engine 13, and a file database 20 for storing and managing shared documents. The file database 20 holds the shared document in a data set 21 format. One data set 21 includes a real file 211 and metadata 210 that describes, for each item, what is described in the real file, the nature of the real file as a document, and the like.
[0019]
First, a data set as a unit for managing information in the present system will be described. One data set includes real file data and metadata. This is shown in FIG. "Metadata" is a term for "actual data", and "data about actual data" has its original meaning. Often used as data indicating what the actual data means. In the system 1, the actual data is the content of the shared document itself. On the other hand, the metadata is a collection of names (item names, tags) and their values (item values) of some items defined for the actual data. Therefore, by appropriately setting the items to be included in the metadata, the gist of the contents of the shared document and some attributes of the shared document can be known by referring to the metadata without reading the actual data. If the list of metadata item names of a plurality of shared documents match, it can be said that they are the same type (same type) of shared documents. In other words, the metadata defines the “document type” that classifies the shared document into the equivalent class. This is called a “metadata type”.
[0020]
Further, in the system 1, based on one metadata type, a new metadata type can be defined by adding some new item names thereto.
In this way, a series of the metadata type 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 the metadata type B to form a metadata type B, and a new item C1 is added to the metadata. The example which defined type C is shown. In this sequence of metadata type A → metadata type B → metadata type C, metadata type A (B) is a basic type of metadata type B (C) and can be said to be 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). Also, it can be said that type A is a higher type of types B and C, and type C is a lower type of types A and B. The items B1, B2,... (C1) newly added when defining the metadata type B (C) will be referred to as “specific metadata type B (C)” for convenience. The unique metadata type B is included in the metadata type B and lower metadata types, but is not included in the metadata type higher than the metadata type B.
[0021]
Returning to the description of FIG. The search engine 11 is provided for each node 10. The search engine 11 started in the node 10 exchanges information with the search engine 11 operating in another node using a mutually defined P2P protocol to implement a P2P search process. The actual search process is performed by the type plug-in 12 that is called one after another as needed. The search engine 11 uses a network engine 13 to exchange information with the P2P protocol. Further, the search engine 11 uses a graphical user interface (GUI) prepared according to the type of metadata (more precisely, a unique metadata type) for inputting search conditions or registering a shared document. A user's search request is received by the GUI function, the search result is displayed and output, and an instruction to import a file is received.
[0022]
The type plug-in 12 refers to the metadata of the shared document to be processed and executes the requested process on the document. In particular, processing is performed on whether or not the document is hit with respect to the search condition. 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 network engine 13 is a program that enables communication between nodes by a peer-to-peer network protocol (application layer protocol). The network engine 13 may use a computer program described in Non-Patent Document 2. FIG. 2 illustrates a flow from when a certain computer searches for information and obtains desired information according to the network protocol.
[0024]
FIG. 2 shows a case where the node A issues a search request. Node A transmits a search request message to node B according to a predetermined search route. Upon receiving this message, the node B checks whether or not the corresponding data exists in itself ((1)). If not, it sends a search request message to the next node C. This time, the node C checks whether the corresponding data exists ([2]). If it is confirmed that the corresponding data is held, the node C returns a response to the node B to that effect. The node B returns a response indicating that the data corresponding to the node C is present to the node A ([3]). Node A sends a message to node C requesting data. The node C sends the corresponding data to the node A ([4]). In this way, the search message and the response to it are exchanged like a message game, and the search and procurement of information are performed 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. The search request is generated with a value of the lifetime which is a certain integer (for example, “= 5 nodes”). Lifetime is consumed each time a node is passed, 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 system 1 actually operates will be described with an example. The diagram on the left side of FIG. 6 shows a document type sequence assumed in the description example. The diagram on the right side of FIG. 6 shows a peer-to-peer message route assumed in the description example. The description example shows the operation of the system 1 until the user (murata) searches for a shared document including “「 × △ ”in the title of the document from his or her own computer and obtains it.
[0026]
First, the user (murata) selects a proposal-type document search from the GUI menu on the computer of murata ((1) -1 in FIG. 7) and sets search items. Here, “○ × △” is designated as the title. Therefore, a proposal-type data set including “○ × △” in the title is retrieved ((1) -2 in FIG. 7). The search query is transmitted to the two nodes, suzuki and tanaka, according to the determined message route ((2) and (3) in FIG. 7).
[0027]
The node suzuki checks whether or not a corresponding data set exists in the database 20 held by itself, and transfers the search query to a lower node existing in a lower message route. ((2) -1 in FIG. 7).
[0028]
Similarly, the node tanaka checks whether there is a corresponding data set in the database 20 held by itself ((3) -1 in FIG. 7), and transfers the search query to the lower node minami ((3) -1). (4) in FIG. 7). Similarly, the node minami checks whether or not the corresponding data set exists in the database 20 held by itself ((4) -1 in FIG. 7). If the corresponding data set exists, the node “minami” The corresponding data set is returned and the metadata of the corresponding data set is returned to the node tanaka ([4] -2 in FIG. 7). The node tanaka relays the response to murata ((3) -2 in FIG. 7).
[0029]
The node murata collects responses returned to the search query, forms 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 type of the data set are displayed in a list. The user selects a data set to download 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 transfers the specified data set directly to the node murata ([6] -2 in FIG. 7). Thus, in the peer-to-peer network, the search and transfer of the shared file are performed.
[0031]
Next, the configuration of the system 1 that realizes the operation described with reference to FIGS. 6 and 7 will be described. Before the following description, FIG. 8 defines three types of metadata types used as specific examples of the following description. FIG. 8A shows the contents of report-type metadata (M01). The report-type metadata M01 includes items of “document title”, “creator”, and “creation date”. FIG. 8B shows the contents of the conference report type metadata (M012). The meeting report type is obtained by adding a set (M02) of items of "meeting name", "attendant", and "date and time" to the report type metadata M01. FIG. 8C shows the contents of the business trip report type metadata (M013). The business trip report type is obtained by adding a set (M03) of items of “business trip destination”, “accompaniment”, and “business trip date and time” to the report type metadata M01. FIG. 8D is a system diagram showing the parent-child relationship of three document types: a report type, a meeting report type, and a business trip report type. Note that the actual metadata includes not only the item name but also its value and the type name of the unique metadata type (such as “report type”).
[0032]
In the following description, “(one) shared document” and “(one) data set”, “document type” and “metadata type” are used as synonymous terms. Although “(one) shared document” and “document type” are terms used from a user's point of view, “(one) dataset” and “metadata type” are terms used from a computer system point of view, This is because they refer to the same entity.
[0033]
FIGS. 12 and 13 are schematic flowcharts for explaining the entire operation of the search engine 11. FIGS. 12 and 13 show one flowchart divided into two for the sake of space. Hereinafter, the operation of the search engine 11 will be schematically described with reference to this schematic flow.
[0034]
The search engine 11 is started whenever the node computer starts up. First, an initial setting process is performed (S01). The initial setting process depends on the OS of the node computer and the implementation method of the system. However, the network engine 13 is started to enable communication with the other node at any time by the peer-to-peer protocol, and is used for executing the search process. A process such as setting a temporary storage area and various status flags to an initial state is performed. Since the search processing can be accepted at any time after the initial setting is completed, an icon for calling the search condition input screen interface is displayed on the computer screen (S05). Thus, when the user wants to perform a search, the user can display the search condition input screen at any time by clicking the icon.
[0035]
Thereafter, the search engine 11 enters a state of waiting for an event (S09). The main events here are search icon selection, search request generation, file transfer request generation, search result reception, file transfer request response reception, search request reception, search result relay reception, and file transfer request reception. is there. In addition to the functions of the search engine 11, there are also events that are generated by interactive operations such as calling an operation screen for registration / change processing of a shared document and instructions for registration / change processing. In the description, the description will focus on operations related to search processing, which is the main function of the search engine 11.
[0036]
When the search engine 11 detects the search icon selection event, the search engine 11 first displays a GUI screen for selecting a type to be searched (search type) (S17), and allows the user to select a search type. Next, a search condition input screen corresponding to the search type selected by the user image is displayed (S19), and the user inputs search conditions on the screen.
[0037]
FIG. 9 shows an example of a GUI screen when a search condition is input. FIG. 9A is a GUI screen for selecting a search type. 9B to 9D are search condition designation screens displayed when a report type, a meeting report type, and a business trip report type are selected as the search types.
[0038]
The search request event occurs when the user presses the search button after inputting search conditions in FIGS. 9B to 9D. At this time, the search engine 11 causes the next node on the route to issue a search request through the network engine 13 (S10). The search request includes information such as the ID number of the search request, the ID of the search requesting node, and the initial value of the lifetime, in addition to the search conditions input by the user. The search engine 11 sets a flag indicating that the request with this ID number is being searched (waiting for a response to the search request issued by itself) (S12).
[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 search engine 11 causes the node having the data set to issue a file transfer request via the network engine 13 (S20).
[0040]
When the response to the file transfer request issued by itself is returned, the file data is fetched (S40). This ends a series of processing.
[0041]
Next, the processing of the search engine 11 of the relay node will be described with reference to FIG.
[0042]
First, when a search request is received (relayed) from the preceding node, the search engine 11 relays the search request to the next node on the route through the network engine 13 (S50). However, when the lifetime of the search request is zero, the network engine 13 no longer relays. In the case of relaying, the value of the lifetime is reduced by one and relaying is performed. Then, a search process of the own node is executed (S52). The search processing result is returned to the preceding (upper) node as soon as the search processing is completed (S62).
[0043]
When the search result is received from a lower node on the route, the search result 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 describes the flow of the search processing of the own node in step S52 in more detail. Hereinafter, the search processing 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 data set to be checked matches the specified search type or is a lower-order type. If not, the process jumps to step S88. If it does, the specified search-type plug-in 12 is called, the search condition data is passed to the plug-in 12, and the search by the plug-in 12 is executed (S84). As will be described later, the plug-in 12 calls another plug-in (a plug-in of “parent type”) when necessary, for example, and has a portion where the search condition data is hit in the metadata. The search result is returned to the search engine 11. The search engine 11 temporarily records the result (S86). Then, it is checked whether or not an unexamined data set exists in the own node (S88). If it exists, the process returns to step S80. If not, it means that all searches have been completed for the own node.
[0047]
In the flowchart of FIG. 14, the timing at which the type plug-in 12 is called from the search engine 11 has been described. The type plug-in 12 has a function of returning a result of whether or not a specific one data set hits a given search condition in a search process of the own node (S52). FIG. 5 is a flowchart illustrating the search processing by the type plug-in 12 in step S84 in more detail. Hereinafter, the processing of the type plug-in 12 called from the search engine 11 will be described with reference to FIG.
[0048]
First, it is checked whether or not a value (unique metadata) of an item to be processed by the called type plug-in 12 includes a portion corresponding to a search condition (S101). If the data is found (hit), the searched data set is to be added to the search result list, and the result of the hit is set as a return value, and the process returns to the calling source (S105). If there is no hit, it is checked whether or not the called plug-in has a higher type (S107). If there is no higher-type plug-in, the fact that there was no hit in this data set is returned as a return value. Set and return to the calling source (S113). In the above two cases, the result is determined by this type 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). Similar judgment processing is performed in the upper plug-in. The return value of the higher-level plug-in is set as the return value of the plug-in that called it, and the process returns to the calling source (S111).
[0049]
The above is the search processing operation by the type plug-in 12. In the present system, starting from the unique metadata for the search type, higher-level type plug-ins are called one after another until the metadata content hits the search condition. Each type plug-in checks only its own range (corresponding unique metadata) and if no hit is found, further processing is delegated 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 the definition of a new document type, 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 a metadata part newly defined as an evolved type of the basic type (parent type, upper type). FIG. 11 is a diagram illustrating a logical configuration in a case where a type plug-in corresponding to the unique meeting 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 (meeting report type), item definition information defining unique metadata, and a type plug-in ID or type name of a parent plug-in are recorded. Further, the class object P02 includes methods of a search result transmitting unit P021, a unique metadata searching unit P022, and a search delegating unit P023 to a parent plug-in.
[0051]
The unique metadata search unit P022 executes the main part of the operation described in the flowchart of FIG. The search result transmitting means P021 is in charge of a process of returning a result processed by the type plug-in to the calling source (child type plug-in or search engine 11). The search delegation means P023 to the parent plug-in executes control to shift the search processing to a higher-level type plug-in in step S109.
[0052]
FIG. 10 is a diagram illustrating a logical configuration when a type plug-in corresponding to the unique 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 defining unique metadata, and a type plug-in ID or type name of a parent plug-in are recorded. Further, the class object P01 includes the respective methods of the search result transmitting means P011 and the unique metadata searching means P012. Since there is no parent type plug-in, search delegation means P013 to the parent plug-in is not provided.
[0053]
If a method for registering and changing metadata is added as a method to the class objects P01 and P02, not only document search but also registration and change of metadata of a shared document can be performed by P01 and P02. It becomes.
[0054]
The embodiment of the present system has been described above in detail. The characteristics of document retrieval by this system are summarized as follows. When a search is performed using a certain search type, for example, a report type, documents that are the development type such as a meeting report type and a business trip report type are also searched. However, in this case, the meeting report type and travel report type documents are treated as report type documents, so only the report type plug-in works, and does the meeting report type plug-in / travel report type document plug-in work? Absent. That is, the meta information of the evolved unique part does not participate in the search. Thus, document types can be defined hierarchically from basic types to their evolved types, but the phylogenetic tree of such types does not need to be fixed from the beginning, but can be You can define a new type and store a new type dataset. Even in such a case, the search can be performed without any trouble in the case of searching for the existing type. When upgrading the file sharing system so that a search can be performed using the new type, it is only necessary to create a type plug-in that handles only the meta information of the developed part and distribute this to each user.
[0055]
For example, at first, only the report type is defined, some shared documents are stored as the report type, and then the meeting report type is defined. When searching by type, all shared documents are searched. Such features of the present system provide operational flexibility to a P2P file sharing system used by many users on an equal basis. 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 members who use the file sharing system at that time, This is because the theme of the members' activities is not constant and changes 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 not only by file name but also by meta information, Even if it becomes necessary to add a new document type, there is a remarkable effect that it can be easily and flexibly handled.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an outline of a node computer included in a peer-to-peer network system 1 according to an embodiment of the present invention.
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 is a diagram illustrating a configuration example of metadata.
FIG. 5 is a flowchart illustrating the operation of the mold plug-in 12;
FIG. 6 is a diagram illustrating a search processing operation of the system 1.
FIG. 7 is a diagram illustrating a search processing operation of the system 1.
FIG. 8 is an explanatory diagram of three types of metadata types used in the description.
FIG. 9 is an example of a GUI screen for performing a search process.
FIG. 10 is a configuration 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 is a diagram illustrating 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 Report-specific plug-in specific metadata search means
P02 meeting report type plug-in
P020 Meeting report type plug-in type definition information
P021 Meeting report type search result transmission means
P022 Unique metadata search means of conference report type plug-in
P023 Search delegation means of the conference report type plug-in to the parent plug-in

Claims (6)

複数のノードコンピュータが対等な関係で協調動作する文書共有ネットワークシステムであって、
このシステムに接続される各ノードコンピュータは、共有文書を、実ファイルデータと実ファイルデータを定められた項目毎に記述するメタデータとの組合わせであるデータセットとして各ノードコンピュータのそれぞれの記憶装置に保持するものであって、
さらに各ノードコンピュータが、
蓄積されている個々のデータセットに含まれるメタデータを参照する型プラグインと、
ピアツーピアネットワークプロトコルにより他のノードコンピュータと情報のやり取りを行うネットワークエンジンと、
前記ネットワークエンジンと前記型プラグインを用いてデータセットの検索、参照、転送、登録を実行する検索エンジンと、
利用者が前記検索エンジンに指示を与え、また検索エンジンによる検索結果を表示するグラフィカルユーザーインターフェースと、
を備えて、指定された検索条件を各データセットのメタデータと比較することにより該当するデータセットを抽出して検索結果として提示することが可能なピアツーピア型文書共有ネットワークシステム。
A document sharing network system in which a plurality of node computers cooperate in an equal relationship,
Each node computer connected to this system stores the shared document as a data set which is a combination of actual file data and metadata describing the actual file data for each defined item. To be held in
In addition, each node computer
A type plug-in that refers to the metadata contained in each stored data set,
A network engine that exchanges information with other node computers by a peer-to-peer network protocol;
A search engine for performing search, reference, transfer, and registration of a data set using the network engine and the type plug-in;
A graphical user interface by which a user gives instructions to the search engine and displays search results by the search engine;
A peer-to-peer type document sharing network system capable of extracting specified data sets by comparing designated search conditions with metadata of each data set and presenting the data sets as search results.
請求項1に記載のピアツーピア型文書共有ネットワークシステムにおいて、前記メタデータは基本となるメタデータの型に発展部分を加えて新しいメタデータの型(メタデータ型)を次々に定義することが可能であって、システムに蓄積される共有文書をメタデータの型によって分類して蓄積管理することを可能とし、前記型プラグインは、共有文書のメタデータ型に応じて備えられることを特徴とするピアツーピア型文書共有ネットワークシステム。2. The peer-to-peer type document sharing network system according to claim 1, wherein the metadata can define new metadata types (metadata types) one after another by adding an extension to a basic metadata type. Wherein the shared document stored in the system can be classified and managed according to the type of metadata, and the type plug-in is provided according to the metadata type of the shared document. Type document sharing network system. 請求項2に記載のピアツーピア型文書共有ネットワークシステムにおいて、蓄積管理されている共有文書を検索する際は、一つメタデータ型を検索型として指定することにより、共有文書のうち検索型に一致するメタデータ型および検索型を基本の型とするメタデータ型に該当するデータセットを検索対象として限定することができることを特徴とするピアツーピア型文書共有ネットワークシステム。3. In the peer-to-peer type document sharing network system according to claim 2, when searching for a shared document stored and managed, one metadata type is designated as a search type, so that the search type of the shared document matches the search type. A peer-to-peer document sharing network system, characterized in that a data set corresponding to a metadata type whose basic type is a metadata type and a search type can be limited as a search target. 請求項2に記載のピアツーピア型文書共有ネットワークシステムにおいて、ある1つの型プラグインは、対応するメタデータ型のその型に対応した固有部分のメタデータのみを参照し、それ以外の基本部分のメタデータは、その基本となったメタデータ型の型プラグインを呼出すことを必要なだけ繰返すことにより、処理対象のデータセットのメタデータの前記型プラグインに対応するメタデータ型で記述される範囲を参照することを特徴とするピアツーピア型文書共有ネットワークシステム。3. The peer-to-peer type document sharing network system according to claim 2, wherein one type plug-in refers only to the metadata of a specific part corresponding to the type of the corresponding metadata type, and to the meta of the other basic part. By calling the type plug-in of the metadata type on which the data is based repeatedly as necessary, the range of the data described in the metadata type corresponding to the type plug-in of the metadata of the data set to be processed is obtained. A peer-to-peer type document sharing network system characterized by referring to FIG. 請求項2に記載のピアツーピア型文書共有ネットワークシステムにおいて、共有文書を登録する場合に提供されるユーザーインターフェースは、新しく登録される文書のメタデータ型に応じて提供されることを特徴とするピアツーピア型文書共有ネットワークシステム。3. The peer-to-peer type document sharing network system according to claim 2, wherein a user interface provided when registering the shared document is provided according to a metadata type of the newly registered document. Document sharing network system. 請求項3に記載のピアツーピア型文書共有ネットワークシステムにおいて、検索を始める際に検索条件を指定するユーザーインターフェースは、指定された検索型に応じて提供されることを特徴とするピアツーピア型文書共有ネットワークシステム。4. The peer-to-peer type document sharing network system according to claim 3, wherein a user interface for specifying a search condition when starting a search is provided according to a specified search type. .
JP2002323735A 2002-11-07 2002-11-07 Peer-to-peer document sharing network system Expired - Fee Related JP4357827B2 (en)

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 true JP2004157826A (en) 2004-06-03
JP4357827B2 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)

Cited By (11)

* Cited by examiner, † Cited by third party
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
JP2006107515A (en) * 2004-10-05 2006-04-20 Sony France Sa Self organization approach to semantic interoperability in peer-to-peer information exchange
WO2006085214A1 (en) * 2005-02-08 2006-08-17 Ubq's Business, S.A. Systems and methods for sharing information between a user group and associated document
JP2006285398A (en) * 2005-03-31 2006-10-19 Univ Waseda Data sharing program, data sharing system and data sharing method
WO2006128838A1 (en) * 2005-05-30 2006-12-07 Siemens Aktiengesellschaft Method for the content-specific search in data networks
JP2007087318A (en) * 2005-09-26 2007-04-05 Sharp Corp Communication program, recording medium, communication method, and communication terminal
JP2007199863A (en) * 2006-01-24 2007-08-09 Sharp Corp Communication program, recording medium, communication method and communication terminal device
JP2009181327A (en) * 2008-01-30 2009-08-13 Sony Corp 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
US7821945B2 (en) 2005-01-08 2010-10-26 Sejong Industry-Academy Cooperation Foundation Method of downloading data in peer-to-peer service of wired and wireless integrated network and node therefor
US20170235566A1 (en) * 2012-08-30 2017-08-17 Avaya Inc. System and method for efficient software replication

Cited By (12)

* Cited by examiner, † Cited by third party
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
JP2006107515A (en) * 2004-10-05 2006-04-20 Sony France Sa Self organization approach to semantic interoperability in peer-to-peer information exchange
US7821945B2 (en) 2005-01-08 2010-10-26 Sejong Industry-Academy Cooperation Foundation Method of downloading data in peer-to-peer service of wired and wireless integrated network and node therefor
WO2006085214A1 (en) * 2005-02-08 2006-08-17 Ubq's Business, S.A. Systems and methods for sharing information between a user group and associated document
JP2006285398A (en) * 2005-03-31 2006-10-19 Univ Waseda Data sharing program, data sharing system and data sharing method
JP4705795B2 (en) * 2005-03-31 2011-06-22 学校法人早稲田大学 Data sharing program, computer for data sharing system, and data sharing method
WO2006128838A1 (en) * 2005-05-30 2006-12-07 Siemens Aktiengesellschaft Method for the content-specific search in data networks
JP2007087318A (en) * 2005-09-26 2007-04-05 Sharp Corp Communication program, recording medium, communication method, and communication terminal
JP2007199863A (en) * 2006-01-24 2007-08-09 Sharp Corp Communication program, recording medium, communication method and communication terminal device
JP2009181327A (en) * 2008-01-30 2009-08-13 Sony Corp 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
US20170235566A1 (en) * 2012-08-30 2017-08-17 Avaya Inc. System and method for efficient software replication

Also Published As

Publication number Publication date
JP4357827B2 (en) 2009-11-04

Similar Documents

Publication Publication Date Title
JP5360457B2 (en) Distributed directory server, distributed directory system, distributed directory method, and program
CN1692354B (en) Information management system, information processing device, information processing method
JP2004005491A (en) Pier-to-pier file sharing method and its device
US20030037097A1 (en) Accessing information content
JP2008003847A (en) Document use management system, document management server, and its program
JP4357827B2 (en) Peer-to-peer document sharing network system
JP4265413B2 (en) Policy enforcement system and method for virtual private organization
JP4333184B2 (en) Electronic data management system
US20040024877A1 (en) Network environments and location of resources therein
JP4741301B2 (en) Information search system, information search device, information search method, recording medium, and program
JP2004240692A (en) Image search server system, program and recording medium
JP2001318942A (en) Information providing system and mediator
Marinković et al. A distributed catalog for digitized cultural heritage
CN101017501B (en) Method and system for selective tracking of semantic web data using distributed update events
JP3947018B2 (en) Object discovery network, network construction method, object discovery method, node, object query message transfer method, program, and recording medium
US20060168138A1 (en) Resource providing system, mediating agent, resource providing method and computer program product
JP4225354B2 (en) Data access method and apparatus for distributed database
JP5193977B2 (en) Event notification function providing system
JPH117445A (en) Integrated document management device
JPH1153379A (en) Method and system for message intermediation and storage medium for storing message intermediation program
JP2011129146A (en) Information search system for automatically searching information on network, information search device, information search method, recording medium and program
JP2018169770A (en) Information management system, information management method and information management program
Ooi et al. DB-enabled peers for managing distributed data
JP2005234878A (en) Resource retrieval system and method
JP2008176715A (en) Information management system

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