(57)【特許請求の範囲】
【請求項１】
第１の情報処理装置と第２の情報処理装置とがピア・ツー・ピア通信を行うときに支援をするための情報処理装置であって、
削除対象データを示す削除リストを記憶する記憶手段と、
第１の情報処理装置に記憶されているデータを示す第１のリスト、および第２の情報処理装置に記憶されているデータを示す第２のリストをそれぞれ第１の情報処理装置と、第２の情報処理装置と、から受信する手段と、
前記第１のリストと第２のリストとを比較して、第１の情報処理装置に記憶されていて、第２の情報処理装置に記憶されていない差分データを特定する情報を含む差分リストを生成する手段と、
前記差分データを前記第１の情報処理装置から第２の情報処理装置に対して送信できるよう、前記第１の情報処理装置に前記差分リストを送信する手段と、
送信された前記差分リストを記憶する履歴記憶手段と、
前記履歴記憶手段に記憶された差分リストに前記削除対象データが含まれるか否かを判定し、含まれる場合には、前記第１の情報処理装置に対して、前記削除対象データの削除を要求する手段と、を備える情報処理装置。
【請求項２】
第１の情報処理装置と第２の情報処理装置とがピア・ツー・ピア通信を行うときに支援をするための情報処理装置であって、
削除対象データを示す削除リストを記憶する記憶手段と、
第１の情報処理装置に記憶されているデータを示す第１のリスト、および第２の情報処理装置に記憶されているデータを示す第２のリストをそれぞれ第１の情報処理装置と、第２の情報処理装置と、から受信する手段と、
前記第１のリストと第２のリストとを比較して、第１の情報処理装置に記憶されていて、第２の情報処理装置に記憶されていない差分データを特定する情報を含む差分リストを生成する手段と、
前記差分データを前記第２の情報処理装置から第１の情報処理装置に対して送信要求できるよう、前記第２の情報処理装置に前記差分リストを送信する手段と、
送信された前記差分リストを記憶する履歴記憶手段と、
前記履歴記憶手段に記憶された差分リストに前記削除対象データが含まれるか否かを判定し、含まれる場合には、前記第２の情報処理装置に対して、前記削除対象データの削除を要求する手段と、を備える情報処理装置。
【請求項３】
第１の情報処理装置と第２の情報処理装置とのピア・ツー・ピア通信を支援する情報処理装置の動作のための方法であって、
前記情報処理装置は、削除対象データを示す削除リストを記憶する記憶手段を備え、
第１の情報処理装置に記憶されているデータを示す第１のリスト、および第２の情報処理装置に記憶されているデータを示す第２のリストをそれぞれ第１の情報処理装置と、第２の情報処理装置と、から受信する処理と、
前記第１のリストと第２のリストとを比較して、第１の情報処理装置に記憶されていて、第２の情報処理装置に記憶されていない差分データを特定する情報を含む差分リストを生成する処理と、
前記差分データを前記第１の情報処理装置から第２の情報処理装置に対して送信できるよう、前記第１の情報処理装置に前記差分リストを送信する処理と、
送信された前記差分リストを記憶する履歴記憶処理と、
前記履歴記憶処理により記憶された差分リストに前記削除対象データが含まれるか否かを判定し、含まれる場合には、前記第１の情報処理装置に対して、前記削除対象データの削除を要求する処理と、を実施するピア・ツー・ピア通信の支援方法。
【請求項４】
第１の情報処理装置と第２の情報処理装置とのピア・ツー・ピア通信を支援する情報処理装置の動作のための方法であって、
前記情報処理装置は、削除対象データを示す削除リストを記憶する記憶手段を備え、
第１の情報処理装置に記憶されているデータを示す第１のリスト、および第２の情報処理装置に記憶されているデータを示す第２のリストをそれぞれ第１の情報処理装置と、第２の情報処理装置と、から受信する処理と、
前記第１のリストと第２のリストとを比較して、第１の情報処理装置に記憶されていて、第２の情報処理装置に記憶されていない差分データを特定する情報を含む差分リストを生成する処理と、
前記差分データを前記第２の情報処理装置から第１の情報処理装置に対して送信要求できるよう、前記第２の情報処理装置に前記差分リストを送信する処理と、
送信された前記差分リストを記憶する履歴記憶処理と、
前記履歴記憶処理により記憶された差分リストに前記削除対象データが含まれるか否かを判定し、含まれる場合には、前記第２の情報処理装置に対して、前記削除対象データの削除を要求する処理と、を実施するピア・ツー・ピア通信の支援方法。
【請求項５】
コンピュータに、第１の情報処理装置と第２の情報処理装置とのピア・ツー・ピア通信を支援する手順を実行させるプログラムであって、
前記コンピュータを、制御手段と、削除対象データを示す削除リストを記憶する記憶手段として機能させ、
前記制御手段に対して、
第１の情報処理装置に記憶されているデータを示す第１のリスト、および第２の情報処理装置に記憶されているデータを示す第２のリストをそれぞれ第１の情報処理装置と、第２の情報処理装置と、から受信する手順と、
前記第１のリストと第２のリストとを比較して、第１の情報処理装置に記憶されていて、第２の情報処理装置に記憶されていない差分データを特定する情報を含む差分リストを生成する手順と、
前記差分データを前記第１の情報処理装置から第２の情報処理装置に対して送信できるよう、前記第１の情報処理装置に前記差分リストを送信する手順と、
送信された前記差分リストを記憶する履歴記憶手順と、
前記履歴記憶手順により記憶された差分リストに前記削除対象データが含まれるか否かを判定し、含まれる場合には、前記第１の情報処理装置に対して、前記削除対象データの削除を要求する手順と、を実行させることを特徴とするプログラム。
【請求項６】
コンピュータに、第１の情報処理装置と第２の情報処理装置とのピア・ツー・ピア通信を支援する手順を実行させるプログラムであって、
前記コンピュータを、制御手段と、削除対象データを示す削除リストを記憶する記憶手段として機能させ、
前記制御手段に対して、
第１の情報処理装置に記憶されているデータを示す第１のリスト、および第２の情報処理装置に記憶されているデータを示す第２のリストをそれぞれ第１の情報処理装置と、第２の情報処理装置と、から受信する手順と、
前記第１のリストと第２のリストとを比較して、第１の情報処理装置に記憶されていて、第２の情報処理装置に記憶されていない差分データを特定する情報を含む差分リストを生成する手順と、
前記差分データを前記第２の情報処理装置から第１の情報処理装置に対して送信要求できるよう、前記第２の情報処理装置に前記差分リストを送信する手順と、
送信された前記差分リストを前記記憶手段に記憶する履歴記憶手順と、
前記履歴記憶手順により記憶された差分リストに前記削除対象データが含まれるか否かを判定し、含まれる場合には、前記第２の情報処理装置に対して、前記削除対象データの削除を要求する手順と、を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ピア・ツー・ピア通信技術に関し、特にピア・ツー・ピアで高速にデータを共有するための技術に関する。
【０００２】
【発明の背景】
情報処理システムの形態として、サーバですべてのデータを集中的に一元管理するクライアント／サーバ方式に対して、複数の情報処理装置がそれぞれデータを管理して、各情報処理装置が協調して動作するピア・ツー・ピア（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ：以下Ｐ２Ｐと記す）方式がある。
【０００３】
Ｐ２Ｐ方式において、一台の情報処理装置が他の情報処理装置とデータ共有する場合、相手装置は保持しているが自装置は保持していないデータを取得して、データの同期をとらなければならない。このとき、自装置および相手装置は、いずれもそれぞれの装置が保持しているデータのリストを作成し、これらを比較して、差分データを抽出する。
【０００４】
ここで、各情報処理装置が保持しているデータの件数が少ないときはそれほど問題とならないが、データ件数が増えるにつれて、リストを比較して差分データを抽出する処理の負荷が重くなり、時間がかかるようになる。
【０００５】
また、Ｐ２Ｐ方式では、ある情報処理装置が他の情報処理装置と通信を行う場合、仲介サーバなどを介さずに、情報処理装置同士が直接データの送受信を行う。
【０００６】
そこで、本発明は、情報処理装置が他の情報処理装置とデータ共有するための処理を高速化することを目的とする。
【０００７】
さらに、本発明は、情報処理装置同士がピア・ツー・ピア方式で通信をすることを支援するための装置を提供することを別の目的とする。
【０００８】
【課題を解決するための手段】
本発明の一つの実施形態に従う、第１の情報処理装置と第２の情報処理装置とが通信を行うときに支援をするための情報処理装置は、第１の情報処理装置に記憶されているデータを示す第１のリスト、および第２の情報処理装置に記憶されているデータを示す第２のリストを取得する手段と、前記第１のリストと第２のリストとを比較して、第１の情報処理装置に記憶されていて、第２の情報処理装置に記憶されていない第１の差分データを示す第１の差分リストを生成する手段と、前記第１の差分リストを、第２の情報処理装置へ送信する手段とを備える。
【０００９】
好適な実施形態では、前記第２のリストと第１のリストとを比較して、第２の情報処理装置に記憶されていて、第１の情報処理装置に記憶されていない第２の差分データを示す第２の差分リストを生成する手段と、前記第２の差分リストを、第１の情報処理装置へ送信する手段と、をさらに備える。
【００１０】
【発明の実施の形態】
以下、本発明を適用した実施形態に係るデータ共有を行うネットワーク通信システムについて、図面を用いて説明する。本システムは、ネットワークを介して接続された情報処理装置同士が仲介サーバを使わずに直接通信を行う、いわゆるピア・ツー・ピア方式で分散処理を行うためのシステムである。図１に示す第一の実施形態では、ネットワーク９に情報処理装置１、１、…が接続されている。以下の説明では、そのうちの情報処理装置Ａと情報処理装置ＢとがＰ２Ｐで通信を行い、データ（本実施形態では後述するメッセージ）を共有する。
【００１１】
情報処理装置１、１、…は、例えば、ＣＰＵ、メモリ、および外部記憶装置などを有する汎用的なコンピュータシステムにより構成され、以下に説明する構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００１２】
情報処理装置１の機能構成を図２に示す。情報処理装置１は、キーボード、あるいはポインティングデバイスなどの入力装置２、およびＣＲＴ、あるいは液晶表示装置などの出力装置３と接続されている。情報処理装置１は、ネットワークインタフェース部１１と、メッセージ記憶部１２と、情報処理装置の個別情報を記憶する個人情報記憶部１３と、入出力装置制御部１４と、演算処理部１５とを、その内部機能として有する。
【００１３】
ネットワークインタフェース部１１は、ネットワーク９と接続されている他の情報処理装置との通信を制御する。例えば、ネットワークインタフェース部１１は、他の情報処理装置と通信を行うためのコネクションを確立するための制御や、通信を終了するときのコネクションを切断するための制御を行う。さらに、ネットワークインタフェース部１１は、メッセージファイルなどのデータを送受信する。
【００１４】
メッセージ記憶部１２は、投稿されたメッセージファイルを記憶する。本実施形態では、２台の情報処理装置がＰ２Ｐによるファイル交換を行って、メッセージ記憶部１２に記憶されているメッセージファイルを共有する。メッセージ記憶部１２に記憶されているメッセージファイル２０のデータ構造の例を図３に示す。メッセージファイル２０は、データ項目として、ヘッダ２１とボディ２５とを有する。ヘッダ２１は、さらに、投稿者のメールアドレス（Ｆｒｏｍ）２１１と、ニュースグループ名（Ｎｅｗｓｇｒｏｕｐ）２１２と、メッセージの件名を示すサブジェクト（Ｓｕｂｊｅｃｔ）２１３と、メッセージの投稿日時（Ｄａｔｅ）２１４と、メッセージを一意に特定するためのメッセージＩＤ（Ｍｅｓｓａｇｅ−ＩＤ）２１５と、他のメッセージを参照したときの、参照メッセージＩＤ（Ｒｅｆｅｒｅｎｃｅ）２１６とを有する。ボディ２５はメッセージ本文２５１により構成される。
【００１５】
図２に戻って、記憶部１３には情報処理装置自身の個別情報が記憶されている。例えば、ネットワーク上で自装置を一意に識別するための装置ＩＤ１３１および自装置の演算処理の性能を示す演算処理レベル１３２を記憶する。装置ＩＤ１３１は、例えば、ＩＰアドレスやＭＡＣアドレスを用いることができる。演算処理レベル１３２は、例えば、自装置のＭＩＰＳ値などの演算能力に基づいて定める。本実施形態では、演算処理レベル１３２をレベル１から５までの５段階とし、数字が大きくなるに従って処理性能が高い。
【００１６】
入出力装置制御部１４は、入力装置２および出力装置３を制御する。
【００１７】
演算処理部１５は、種々の演算を行う。例えば、演算処理部１５は、メッセージ記憶部１２に記憶されているメッセージファイルのリストを作成する。メッセージファイルリストは、本実施形態では、少なくともメッセージＩＤ２１５を含む。
【００１８】
また、演算処理部１５は、自装置の演算処理性能と、通信相手となる他の情報処理装置の演算処理性能の優劣を判定する。この優劣判定は、例えば、演算処理レベル１３２を参照して行う。この優劣判定の結果、処理性能が優る情報処理装置が、次の差分リストの作成を行う。
【００１９】
演算処理部１５は、さらに、通信相手となる他の情報処理装置のメッセージファイルリストと自装置のメッセージファイルリストとを比較して、差分リストを作成する。例えば、演算処理部１５は、両メッセージファイルリストのメッセージＩＤをそれぞれソートして、互いに突き合わせることによって差分リストを作成する。差分リストは、例えば、接続要求をした情報処理装置には記憶されているが、接続要求を受け付けた情報処理装置には記憶されていないメッセージファイルのリスト（タイプ１）であったり、これとは反対に、接続要求を受け付けた情報処理装置には記憶されているが、接続要求をした情報処理装置には記憶されていないメッセージファイルのリスト（タイプ２）であったり、あるいは、これらの両方（タイプ３）であったりする。演算処理部１５がどのタイプの差分リストを作成するかは、その時々で定めることができる。さらに、演算処理部１５は、差分リストに基づいて、メッセージ記憶部１２から差分に相当するメッセージファイル（差分ファイル）を抽出する。
【００２０】
次に、情報処理装置Ａと情報処理装置Ｂがメッセージ交換を行って、データの同期をとるときの処理手順について、図４および図５を用いて説明する。なお、情報処理装置Ａと情報処理装置Ｂは、いずれも、同一の構成（図２参照）を有するので、これらを区別するため、以下の説明では符号の後ろにＡまたはＢを付す場合がある。
【００２１】
まず、情報処理装置Ａのネットワークインタフェース部１１Ａが情報処理装置Ｂに対して接続要求を送信する（Ｓ１０１）。この接続要求は、送信先として情報処理装置Ｂの装置ＩＤ１３１Ｂが指定され、送信元として情報処理装置Ａの装置ＩＤ１３１Ａが含まれる。
【００２２】
情報処理装置Ｂのネットワークインタフェース部１１Ｂが接続要求を受け付けて、コネクションを確立するための受付処理を行う。このときに、ネットワークインタフェース部１１Ｂは、自装置の演算処理レベル１３２Ｂを情報処理装置Ａへ送信する（Ｓ２０１）。ここで、情報処理装置Ｂの演算処理レベル１３２Ｂは「レベル５」とする。
【００２３】
情報処理装置Ａの演算処理部１５Ａは、情報処理装置Ｂの演算処理レベル１３２Ｂと自装置の演算処理レベル１３２Ａとを比較して、優劣を判定する（Ｓ１０２）。ここでは、情報処理装置Ａの演算処理レベル１３２Ａを「レベル３」とする。この比較の結果、情報処理装置Ｂの方が情報処理装置Ａよりも演算処理レベルが高いことがわかる。従って、差分リストの作成は、演算処理性能が優っている情報処理装置Ｂが行う。
【００２４】
このため、まず、情報処理装置Ａの演算処理部１５Ａは、メッセージ記憶部１２Ａに記憶されているメッセージファイルのリストを作成する（Ｓ１０３）。そして、このリストを情報処理装置Ｂへ送信するとともに、差分リストの作成を依頼する（Ｓ１０４）。
【００２５】
情報処理装置Ｂは、演算処理部１５Ｂが、メッセージ記憶部１２Ｂに記憶されているメッセージファイルのリストを作成する（Ｓ２０２）。そして、演算処理部１５Ｂは、ここで作成された情報処理装置Ｂのリストと情報処理装置Ａのリストとを比較して、差分リストを作成する（Ｓ２０３）。ここで作成される差分リストのタイプは、タイプ１またはタイプ２である。ここでは、タイプ２、すなわち、接続要求を受けた情報処理装置（情報処理装置Ｂ）に記憶されていて、接続要求をした情報処理装置（情報処理装置Ａ）には記憶されていないファイルの差分リスト（情報処理装置Ａの不足リスト）を作成することとする。
【００２６】
演算処理部１５Ｂは、この差分リストに基づいて、メッセージファイル記憶部１２Ｂから差分ファイルを抽出し、情報処理装置Ａへ送信する（Ｓ２０４）。
【００２７】
情報処理装置Ａが、この差分メッセージファイルの受信が完了すると（Ｓ１０５）、情報処理装置Ｂとのコネクションを切断して、通信が完了する（Ｓ１０６、Ｓ２０５）。
【００２８】
図４に示す例では、情報処理装置Ａが情報処理装置Ｂの保有するメッセージファイルを取得するのみで、情報処理装置Ｂは情報処理装置Ａの保有するメッセージファイルを取得していない。そこで、図５に示す例では、情報処理装置ＡおよびＢの双方が相手装置の保有するメッセージファイルを取得する。
【００２９】
情報処理装置ＡのステップＳ１０１〜Ｓ１０４および情報処理装置ＢのステップＳ２０１〜Ｓ２０２までは、図４の場合と同一である。
【００３０】
情報処理装置Ｂの演算処理部１５Ｂは、ステップ２０２で作成された情報処理装置Ｂのリストと情報処理装置Ａのリストとを比較して、タイプ３の差分リストを作成する（Ｓ２１１）。すなわち、情報処理装置Ａに記憶されていて、情報処理装置Ｂには記憶されていないファイルの差分リスト（情報処理装置Ｂの不足リスト）と、情報処理装置Ｂに記憶されていて、情報処理装置Ａには記憶されていないファイルの差分リスト（情報処理装置Ａの不足リスト）とを作成する。演算処理部１５Ｂは、自装置に記憶されていて情報処理装置Ａに記憶されていない差分ファイルをメッセージファイル記憶部１２Ｂから抽出する（Ｓ２１２）。そして、情報処理装置Ａへ、差分ファイルと差分リストとを送信する（Ｓ２１３）。このとき送信する差分リストは、情報処理装置Ｂにとって不足しているメッセージファイルのリストのみでもよい。
【００３１】
情報処理装置Ａは、この差分ファイルと差分メッセージを受信する（Ｓ１１１）。そして、演算処理部１５Ａが、情報処理装置Ａに記憶されていて情報処理装置Ｂには記憶されていない差分ファイルを、メッセージファイル記憶部１２Ａから抽出し、情報処置装置Ｂへ送信する（Ｓ１１２）。
【００３２】
情報処置装置Ｂが、差分ファイルの受信を完了すると（Ｓ２１４）、情報処理装置Ａと情報処理装置Ｂとはコネクションを切断して、通信を終了する（Ｓ１１３、Ｓ２１５）。
【００３３】
図４および図５の例では、情報処理装置Ｂの処理性能が優っていたときの例を示したが、情報処理装置Ａの処理性能が優っていたときは、情報処理装置Ａが情報処理装置Ｂからメッセージファイルリストを取得し、ステップＳ２０３およびステップＳ２１１の差分リストの作成に対応する処理を情報処理装置Ａが行う。
【００３４】
これにより、処理能力の高い情報処理装置が、負荷の大きいファイル比較を行うので、Ｐ２Ｐにおいてファイル共有するための処理を高速化することができる。
【００３５】
次に、第２の実施形態について説明する。本実施形態の説明においては、第１の実施形態と異なる部分を主に説明し、共通する部分の説明は省略する場合がある。
【００３６】
本実施形態に係る通信システムは、図６に示すように、ネットワーク９に情報処理装置１、１…およびサポートサーバ５がそれぞれ接続されている。
【００３７】
サポートサーバ５は、例えば、ＣＰＵ、メモリ、および外部記憶装置などを有する汎用的なコンピュータシステムにより構成され、以下に説明する構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００３８】
サポートサーバ５は、情報処理装置１、１同士がＰ２Ｐで通信を行うときに、通信を支援するためのサービスを提供する。例えば、第１の実施形態では、情報処理装置同士がＰ２Ｐ通信でファイルを共通する場合、いずれかの情報処理装置がメッセージファイルリストを比較して差分リストの作成を行っていたが、本実施形態では、これをサポートサーバ５が行う。従って、サポートサーバ５は、リストを比較する処理を高速に行うことができるような構成を備えることにより、Ｐ２Ｐでのファイル共有を高速で行うことができる。
【００３９】
さらに、サポートサーバ５は、これ以外にも様々な付加サービスを提供する。以下、サポートサーバ５について説明する。
【００４０】
サポートサーバ５は、図７に示すように、その内部機能として、ネットワークインタフェース部５１と、演算処理部５２と、課金処理部５３と、ユーザ情報記憶部５４と、付加サービス情報記憶部５５と、履歴記憶部５６とを備える。
【００４１】
ネットワークインタフェース部５１は、ネットワーク９に接続された他の装置との通信を制御する。例えば、ネットワーク９に接続された情報処理装置１から、送信元の情報処理装置のＩＤ、およびメッセージファイルのリストを受け付けて、後述する処理で作成された差分リストを返送したりする。あるいは、ネットワークインタフェース部５１は、後述する付加サービスの依頼を受け付けて、それに応じた所定の情報を返送する。
【００４２】
ここで、本実施形態でネットワークインタフェース部５１が受信するメッセージファイルリスト６０の例を図８に示す。メッセージファイルリスト６０は、例えば、メッセージＩＤ６１と、投稿者のメールアドレス６２と、サブジェクト６３とを含む。
【００４３】
演算処理部５２は、差分リスト作成処理、および後述する付加サービスを提供するための処理を行う。差分リスト作成処理は、例えば、情報処理装置ＡとＢとがＰ２Ｐでファイル交換を行う場合には、サポートサーバ５が各情報処理装置Ａ、Ｂからメッセージファイルリストを取得し、リストの比較を行って差分リストを作成する。また、演算処理部５２は、様々な付加サービスのための処理を実行するが、付加サービスの具体例は、付加サービス情報記憶部５５の記憶内容とあわせて後述する。
【００４４】
ユーザ情報記憶部５４は、各ユーザの個人情報などが予め登録されている。例えば図９に示すように、ユーザ情報記憶部５４は、データ項目としてユーザのメールアドレス５４１と、キーワード５４２と、課金情報５４３とを有する。
【００４５】
ユーザのメールアドレス５４１は、本システムでは、ユーザを一意に識別するための識別情報である。
【００４６】
キーワード５４２は、各ユーザの特性を表すキーワードであり、例えば、ユーザが興味を持っている分野、あるいは情報を収集したい事項と関連するキーワードである。キーワードは、各ユーザが自ら決定して予め登録しておくか、あるいは、使用を重ねるにつれて、サポートサーバ５が図示しない学習処理部で学習して作成される。
【００４７】
課金情報５４３は、各ユーザに対して課金するときに必要な情報であって、例えば、クレジットカード番号や銀行の口座番号、あるいは会員ＩＤなどの個人を特定するための各種のユニークな情報である。
【００４８】
課金処理部５３は、上記のサービスを有料で提供する場合は、サービスの利用者に対して課金処理を行う。例えば、課金処理部５３は、提供したサービスの種類、あるいはサービスを提供するための処理に要した時間などに応じて金額を決定し、課金情報５４３に基づいて、各ユーザに対して課金する。
【００４９】
付加サービス情報記憶部５５は、付加サービスで使用するための情報を記憶する。付加サービス情報記憶部５５が記憶するデータの具体例は、次に説明する付加サービスＡ〜Ｄの具体例とあわせて説明する。
【００５０】
付加サービスＡは、演算処理部５２がメッセージファイルリストを比較して差分リストを作成したとき、この差分リストをユーザの好みに合わせて重み付けするサービスである。重み付けは、例えば、以下に説明するように、差分リスト内のレコードをユーザ情報記憶に基づいてソートして行う。
【００５１】
差分リストは、メッセージファイルリスト６０（図８参照）と同一のデータ項目を有する。差分リストの送信先のメールアドレスは定められている。ここで、演算処理部５２が、メールアドレス５４１をキーにして、差分リストに含まれるレコードのサブジェクト６３と、ユーザ情報記憶部５４のキーワード５４２とを比較する。サブジェクト６３とキーワード５４２とが一致した場合には、一致したキーワード数に応じて、各レコードごとに点数をつける。そして、差分リスト内のレコードを、点数の高い順、すなわち、ユーザの特性に合致する順にソートする。
【００５２】
ここで、サブジェクトとキーワードとが一致する場合とは、サブジェクトとキーワードとが完全一致する場合の他に、形態素解析やシソーラスなどを用いて、類似するあるいは一部が一致する場合を含めてもよい。
【００５３】
付加サービスＢは、演算処理部５２が差分リストに含まれているサブジェクトを、図示しない翻訳辞書を用いて翻訳するサービスである。翻訳できる言語の種類または言語数は、サポートサーバ５が備える翻訳辞書の種類や数に応じて定まる。
【００５４】
付加サービスＣは、差分リストをフィルタリングして、所定のレコードを取り除くサービスである。取り除くレコードは、例えば、ウイルス等を含む可能性のあるメッセージのＩＤである。
【００５５】
付加サービス情報記憶部５５には、ウイルスや反社会的なメッセージなどの情報を含む可能性があるメッセージのメッセージＩＤのリストである削除対象情報が記憶されている。演算処理部５２は、削除対象情報に登録されているメッセージＩＤが、差分リストに含まれているかどうかをチェックする。そして、差分リストに、削除対象情報に登録されているメッセージＩＤが含まれていたときは、演算処理部５２は、そのメッセージＩＤを差分リストから削除する。
【００５６】
付加サービスＤは、各情報処理装置１がメッセージ記憶部１２に記憶しているメッセージを削除するためのサービスである。この機能は、例えば、投稿者自らが、何らかの理由で投稿したメッセージを削除したいときや、他人が投稿したメッセージであっても、権限を有する者がメッセージを削除するときに用いることができる。
【００５７】
付加サービス情報記憶部５５は、削除対象メッセージのメッセージＩＤのリストである削除リストを記憶する。ユーザは、削除リストへ削除対象のメッセージＩＤを随時登録することができるが、所定の権限を有する特権ユーザと、権限を有しない通常のユーザとでは登録する内容が異なる。
【００５８】
まず、通常のユーザが削除リストへ登録する場合、削除対象のメッセージＩＤと、登録者のメールアドレスが登録される。
【００５９】
演算処理部５２は、差分リストを作成するためのリスト比較を行う前に、各情報処理装置１から送られてきたメッセージファイルリストと、削除リストとを比較する。そして、メッセージファイルリストのメッセージＩＤ６１、および投稿者のメールアドレス６２の両方が、削除リストに登録されているものと一致したときは、演算処理部５２は、そのメッセージＩＤのレコードをメッセージファイルリストから削除する。メッセージＩＤ６１、または投稿者のメールアドレス６２の一方しか一致しなかったときは、演算処理部５２は、そのメッセージＩＤのレコードをメッセージファイルリストから削除しない。このようにすることにより、通常のユーザは、自分が投稿したメッセージのみを削除することができ、それ以外は削除することができない。
【００６０】
次に、特権ユーザが削除リストへ登録する場合は、所定の単純パスワードや体系化された暗号鍵等を入力させて、登録者が権限を有する特権ユーザであるかどうかの確認を行う。特権ユーザであることが確認できたときは、メッセージＩＤのみを削除リストへ登録する。
【００６１】
このとき、演算処理部５２は、上述の場合と同様に、差分リストを作成するためのリスト比較を行う前に、各情報処理装置１から送られてきたメッセージファイルリストと、削除リストとを比較する。メッセージファイルリストのメッセージＩＤ６１が、削除リストに登録されているものと一致したら、演算処理部５２は、そのメッセージＩＤのレコードをメッセージファイルリストから削除する。つまり、この場合は、誰が投稿したメッセージであっても、メッセージＩＤが一致すれば、演算処理部５２はそのレコードをメッセージファイルリストから削除する。これにより、特権ユーザは自分が投稿したメッセージ以外もメッセージファイルリストから削除できる。
【００６２】
これにより、削除対象のメッセージが削除リストに登録されると、削除対象メッセージは、差分ファイルとして抽出されることはなくなるので、少なくともその時点以降は他の情報処理装置へ転送されることがなくなる。
【００６３】
さらに、情報処理装置１から送られてきたメッセージファイルリストに削除対象のメッセージＩＤが含まれていたときは、サポートサーバ５から送信元の情報処理装置へ、このメッセージを削除するように指示をしてもよい。これにより、サポートサーバ５へメッセージファイルリストを転送した情報処理装置から、削除対象メッセージが削除される。
【００６４】
また、サポートサーバ５を利用してＰ２Ｐでファイル共有を行った情報処理装置１が、削除リストに登録された削除対象のメッセージを保持している場合は、演算処理部５２が削除要求を作成し、その情報処理装置へ送信して削除するようにしてもよい。この処理を行うときは、履歴記憶部５６を利用する。
【００６５】
履歴記憶部５６は、サポートサーバ５が提供したサービスの履歴を記憶する。履歴記憶部５６は、例えば、図１１に示すように、Ｐ２Ｐ通信を行った２台の情報処理装置のメールアドレス５６１と、各メールアドレスへ送信済みの差分リスト５６２とを対応付けて記憶する。
【００６６】
演算処理部５２が、削除リストと履歴記憶部５６に記憶されている送信済み差分リスト５６２とを比較し、削除リストに登録済みのメッセージＩＤが含まれているかどうかを判定する。削除リストに登録済みのメッセージＩＤが含まれている送信済み差分リスト５６２があれば、その差分リスト５６２と対応付けてある、送信先のメールアドレス５６１へ、削除要求を送信する。
【００６７】
これにより、削除対象メッセージを、過去にサポートサーバ５を利用した情報処理装置１からも削除することができる。
【００６８】
なお、特権ユーザの権限を適当に設定することにより、特権ユーザごとに削除できる範囲を制限することもできる。
【００６９】
また、上記の処理では、メッセージファイルリストと削除リストとを比較する処理は、差分リストと削除リストとを比較し、削除対象メッセージＩＤを削除する処理と置換可能である。
【００７０】
次に、本実施形態の典型的な処理手順について、図１０を用いて説明する。
【００７１】
まず、情報処理装置Ａのネットワークインタフェース部１１Ａが情報処理装置Ｂへ接続要求を送り、情報処理装置Ｂのネットワークインタフェース部１１Ｂがその受付処理を行って、両装置間でコネクションを確立する（Ｓ３１、Ｓ４１）。
【００７２】
次に、情報処理装置ＡおよびＢがそれぞれ、メッセージ記憶部１２Ａ、Ｂに記憶されているメッセージファイルのリスト６０を作成し、それぞれの装置のユーザのメールアドレスおよび装置ＩＤ１３１Ａ、Ｂと併せてサポートサーバ５へ送信する（Ｓ３２、Ｓ４２）。このとき、必要に応じて付加サービスの依頼を併せて行う。
【００７３】
サポートサーバ５では、演算処理部５２がメッセージファイルリストを比較する（Ｓ５１）。そして、差分リストを作成して、情報処理装置ＡおよびＢへ返信する（Ｓ５２）。このときの差分リストは、情報処理装置Ａの不足リストおよび情報処理装置Ｂの不足リストを含むタイプ３である。
【００７４】
なお、サポートサーバ５は、付加サービスの依頼を受けたときは、それに応じて上述のような、所定の処理を行う。また、これらのサービスを有償で提供するときは、課金処理部５３が課金処理を行う。
【００７５】
情報処理装置Ａは、演算処理部１５Ａが差分リストに基づいて、情報処理装置Ｂに不足している差分ファイルを抽出する（Ｓ３３）。同様に、情報処理装置Ｂは、演算処理部１５Ｂが差分リストに基づいて、情報処理装置Ａに不足している差分ファイルを抽出する（Ｓ４２）。そして、情報処理装置ＡおよびＢがそれぞれの差分ファイルを交換する（Ｓ３４、Ｓ４３）。
【００７６】
情報処理装置ＡおよびＢが、それぞれ、差分ファイルの受信を完了すると、互いのコネクションを切断して、通信が完了する（Ｓ３５、Ｓ４４）。
【００７７】
本実施形態によれば、Ｐ２Ｐ方式での通信において、サポートサーバが通信を行う情報処理装置に対して様々な支援を行って、豊富な機能を提供することができる。
【００７８】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００７９】
例えば、サポートサーバが、Ｐ２Ｐで通信を行うことができる情報処理装置のいずれかと一体に実現することもできる。
【００８０】
【発明の効果】
本発明によれば、情報処理装置が他の情報処理装置とＰ２Ｐでデータ共有するときの処理を高速化することができる。
【図面の簡単な説明】
【図１】本発明を適用した第一の実施形態に係るデータ共有を行うネットワーク通信システムの構成を示す図である。
【図２】情報処理装置の機能構成を示す図である。
【図３】メッセージのデータ構造の一例を示す図である。
【図４】第一の実施形態における処理手順を示すフローチャートである。
【図５】第一の実施形態における処理手順を示すフローチャートである。
【図６】本発明を適用した第二の実施形態に係るデータ共有を行うネットワーク通信システムの構成を示す図である。
【図７】サポートサーバの機能構成を示す図である。
【図８】メッセージファイルリストのデータ構造の一例を示す図である。
【図９】ユーザ情報記憶部に記憶されているユーザ情報の一例を示す図である。
【図１０】第二の実施形態における処理手順を示すフローチャートである。
【図１１】履歴記憶部のデータ構造の一例を示す図である。
【符号の説明】
１…情報処理装置、２…入力装置、３…表示装置、５…サポートサーバ、１１…ネットワークインタフェース部、１２…メッセージ記憶部、１３…記憶部、１４…入出力装置制御部、１５…演算処理部、２０…メッセージ、５１…ネットワークインタフェース部、５２…演算処理部、５３…課金処理部、５４…ユーザ情報記憶部、５５…付加サービス情報記憶部、５６…履歴記憶部。
【図１】
0004179788.tif 000002
【図２】
0004179788.tif 000003
【図３】
0004179788.tif 000004
【図４】
0004179788.tif 000005
【図５】
0004179788.tif 000006
【図６】
0004179788.tif 000007
【図７】
0004179788.tif 000008
【図８】
0004179788.tif 000009
【図９】
0004179788.tif 000010
【図１０】
0004179788.tif 000011
【図１１】
0004179788.tif 000012