以下、本発明の実施形態について説明する。
図1には、P2Pネットワーク10のネットワーク構成について概念的に示した。図1に示すように、P2Pネットワーク10は、仮想的には各ピア12A〜12Gが相互に接続された構成であり、実際には、例えばピア12A〜12Cはファイアウォール14によるアクセス制限下にあるピアであったり、ピア12C〜12Eはインターネットに接続されたピアであったり、ピア12E〜12GはNAT(Network Address Translation)によってアドレス変換されるピアであったりする。
また、各ピア同士の接続方法は様々であり、IPv4(Internet Protocol version 4)やIPv6(Internet Protocol version 6)の機能を用いるTCP(Transmission Control Protocol)接続を用いたり、HTTP(HyperText Transfer Protocol)を用いたり、SMTP(Simple Mail Transfer Protocol)を用いたりすることができる。
ここで、ピアとは、例えばパーソナルコンピュータ等のコンピュータの他、PDA(Personal Digital Assistance)、携帯電話、プリンタ、コピー機、これらの機能を複数備えた複合機等のハードウェア又はこれらの機能を実現するソフトウェアをいう。また、各ピアは、同じ種類のものであるか異なる種類のものであるかにかかわらずP2Pネットワークに参加することができる。
P2Pネットワークの形態としては、図2に示すように、各ピア14A〜14Kの全てが対等な関係にあるピュアP2Pと、図3に示すように、サーバ14Sを設け、一部のサービスの提供をサーバ14Sに委ね、その他のサービスについては各ピア14A〜14Hが対等な関係において実現されるハイブリッドP2Pの形態があり、何れの形態でも本発明を適用可能である。
また、P2Pネットワークに参加する各ピアにログオンするユーザ又はピアは、図4に示すように、目的に応じたグループを構成することができる。図4では、ピア12A〜12G全てがグループ1に属し、さらに、ピア12A、12C、12E、12Fはグループ2に属しており、ピア12B、12E、12F、12Gはグループ3に属している。なお、各ユーザ又はピアは、単一のグループに属してもよいし、複数のグループに属していてもよい。また、ユーザ又はピアは必ずしもグループに属する必要はない。
図5には、P2Pネットワーク10に参加する各ピアの基本構成を示した。図5に示すように、ピア12は、P2P基盤構成部16、P2P基盤管理データ記憶部18、アプリケーション実行部20、及びアプリケーションメモリ22を含んで構成される。
P2P基盤構成部16は、メッセージ制御部24、データ管理部26、送信部28、及び受信部30を含んで構成される。
送信部28は、メッセージ制御部24から受け取ったメッセージをネットワーク32へ向けて送信する。
受信部30は、P2Pネットワーク10内で送受信されるデータのうち、自ピアにとって必要なデータを受信する。常に受信待機状態となっており、P2Pネットワーク10の他ピアからの各種要求やデータを受信し、メッセージ制御部24に受け渡す。なお、送信部28とは独立かつ並列に動作する。
図6には、メッセージ制御部24の概略構成を示した。メッセージ制御部24は、図6に示すように、サービス実行部34及びメッセージディスパッチ部36を含んで構成されている。
サービス実行部34は、ピア探索サービス部38、告知情報公開サービス部40、告知情報取得サービス部42、グループ管理サービス部44、ユーザ管理サービス部46、及びピア管理サービス部48を含んで構成されており、各サービス部は相互に情報を授受しながら各サービスを実行する。
ピア探索サービス部38は、P2Pネットワークに参加しているピアを探索する機能及び自ピアが必要とするサービス(機能)を提供可能なピアを探索する機能を有する。なお、探索の範囲は、必要とするサービスの名称や属性、ホップ数の閾値等を指定することにより制御することができる。ここで、ホップ数とは、メッセージを送信する際に経由するピアの数である。
告知情報公開サービス部40は、自ピアが提供可能なサービス等の情報を告知情報としてP2Pネットワーク上に公開する機能を有する。ここで、提供可能なサービスには、例えばアプリケーション実行部20により実行されるアプリケーションの他、後述するグループ管理サービスやユーザ管理サービス等も含まれる。なお、告知情報の公開は、例えば他ピアから問い合わせがあった場合や自ピアの起動時に実行してもよいし、定期的に実行するようにしてもよい。
このように各ピアの告知情報公開サービス部40によって告知情報がP2Pネットワーク上に公開されることにより、P2Pネットワークに参加している各ピアは、P2Pネットワーク上でどのようなサービスを利用できるかを把握することができる。
告知情報取得サービス部42は、ピア探索サービス部38によって探索されたピアから送信された告知情報又は他ピアから自発的に送信された告知情報を取得し、データ管理部26へ受け渡す。データ管理部26では、取得した告知情報をピア情報としてP2P基盤管理データ記憶部18に記憶させる。これにより、ピアは、P2Pネットワークに参加している他ピアがどのようなサービスを提供しているのかを把握することができる。
グループ管理サービス部44は、同じ目的を有するピア同士で構成されたグループへの参加や脱退、新たなグループの作成等をグループ情報に基づいて管理する機能を有する。グループ情報は、例えば少なくともグループIDとユーザIDとの対応関係を表す情報であり、P2P基盤管理データ記憶部18に記憶される。このグループ情報を参照することにより、どのグループにどのユーザが属しているかを把握することができる。
ユーザ管理サービス部46は、ユーザ情報を管理する機能を有する。ユーザ情報は、例えばピアIDとそのピアにログオンしているユーザIDとの対応関係を表すログオン情報や、ユーザの名前、メールアドレス等のユーザ自身に関する情報、そのユーザが属するグループのグループID等の情報を含み、P2P基盤管理データ記憶部18に記憶される。
ピア管理サービス部48は、P2Pネットワークに参加しているピアのピア情報を管理する機能を有する。
メッセージディスパッチ部36は、アプリケーション実行部20からのメッセージや他ピアとの間で送受信されるメッセージを解析し、サービス実行部34のうち解析したメッセージに関する処理を行うべきサービス部へ制御を渡す。
P2P基盤管理データ記憶部18は、経路情報18A、グループ情報18B、隣接情報18C、ピア情報18D、及びユーザ情報18Eを記憶する。
経路情報18Aは、P2Pネットワークにおける経路の情報、例えば後述するスパニングツリーに関する情報を含む。
グループ情報18Bは、前述したように例えば少なくともグループIDとユーザIDとの対応関係を表す情報である。
隣接情報18Cは、自ピアに隣接するピアに関する情報、例えばピアID等の情報を含む。ここで、隣接するピアとは、例えば自ピアから送信したパケットに対する応答時間が予め定めた所定時間内のピアとすることができる。隣接情報は、例えば他ピアと通信する課程において得られる応答時間に基づいて生成することができるが、オペレータの操作等により手動的に設定するようにしてもよい。
ピア情報18Dは、ピア探索サービス部38によって探索されたピアに関する情報、例えばピアID等の情報や、告知情報取得サービス部42によって取得したP2Pネットワーク上の各ピアが提供しているサービスに関する情報等を含む。ここで、ピアIDには、例えばIPアドレスやURI(Uniform Resource Identifier)等を用いることができる。
ユーザ情報18Eは、前述したようにユーザのログオン情報やユーザ自身に関する情報等を含む。
アプリケーション実行部20は、各種アプリケーションを実行するものであり、メッセージ制御部24を介して他ピアとメッセージの送受信を行う。また、アプリケーションメモリ22は、アプリケーション実行部20の実行に関連する各種の情報を記憶するためのメモリである。
次に、P2Pネットワークにおいて、目的のサービスを検索し実行する場合の具体例について説明する。
まず、他ピアへメッセージを転送する機能を有する転送機能付きピアと、転送機能を備えず、転送機能付きピアを介して他ピアとメッセージの送受信を行うエンドピアと、からなるP2Pネットワークにおいて、転送機能付きピア及びエンドピアのP2P基盤構成部16で実行される処理について説明する。なお、転送機能付きピアは、図示しない転送機能サービス部をサービス実行部34に備えた構成である。
図7にはエンドピアで実行される処理のフローチャートを、図8には転送機能付きピアで実行される処理のフローチャートを示した。
図7に示すように、エンドピアは、ステップ100において、転送機能付きピアの探索要求を、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対してP2Pネットワークに送信する。これは、ピア探索サービス部38により実行される。
そして、ステップ102において、転送機能付きピアが存在するか否かを判断し、転送付きピアが存在する場合には、ステップ104へ移行し、転送機能付きピアが存在しない場合には、ステップ102へ戻り、例えば所定時間経過後に再度転送機能付きピアを探索する。
ステップ104では、自ピアにログオンしているユーザ又は自ピアが属するグループに属している他ユーザがログオンしている他ピアの告知情報を取得するよう転送機能付きピアに要求する。これは、告知情報取得サービス部42により実行される。
ステップ106では、転送機能付きピアから告知情報を受信したか否かを判断し、受信していない場合には、ステップ110へ移行し、受信した場合には、ステップ108において、受信した告知情報をP2P基盤管理データ記憶部18にピア情報18Dとして記憶させる。
ステップ110では、サービス要求が発生したか否かを判断する。例えば自ピアにログオンしているユーザの操作等によってアプリケーション実行部20によりアプリケーションが実行され、サービス要求が発生した場合には、アプリケーション実行部20からメッセージ制御部24へサービス要求が通知される。この場合、ステップ112へ移行し、サービス要求が発生していない場合には、ステップ116へ移行する。
ステップ112では、発生したサービス要求に対応したメッセージを作成して転送機能付きピアに送信する。例えば、アプリケーション実行部20からのサービス要求が、所望のファイルを取得する要求だった場合には、アプリケーション実行部20から通知されたファイル名等の所望のファイルを特定するための情報を含むファイル探索要求メッセージを転送機能付きピアに送信する。
ステップ114では、送信したメッセージに対する応答処理を行う。すなわち、送信したメッセージに対する応答メッセージを受信し、受信した応答メッセージの内容に応じた処理を行う。例えば、サービス要求が所定のファイルを取得する要求であった場合には、そのファイルを所有しているピアがあれば、そのピア情報が応答メッセージとして受信されるので、これをアプリケーション実行部20に通知する。この場合、アプリケーション実行部20では、受信したピア情報に基づいて、所望のファイルを所有しているピアにファイル送信要求を送信するようメッセージ制御部24に依頼する。これにより、所望のファイルを取得することができる。
そして、ステップ116では、転送機能付きピアから、他ピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、要求メッセージを受信していた場合には、ステップ118へ移行し、要求メッセージを受信していない場合には、ステップ106へ戻って上記と同様の処理を繰り返す。
ステップ118では、要求に対する処理を実行する。そして、ステップ120において、処理結果に対応したメッセージを転送機能付きピアに送信する。例えば、他ピアからファイル探索の要求メッセージを受信した場合には、その要求メッセージをファイル検索を実行するアプリケーション実行部20へ渡す。これによりアプリケーション実行部20においてファイル検索が実行され、検索結果がメッセージ制御部24に通知される。メッセージ制御部24では、アプリケーション実行部20から通知された検索結果に基づいて応答メッセージを作成し、ファイル探索要求メッセージの送信元のピアに送信する。例えばファイルが検索できた場合には、自ピアのピアID等の情報を含めた応答メッセージを作成して、ファイル探索要求メッセージの送信元のピアに送信する。これにより、送信元のピアでは、所望のファイルが検索できたか否かを確認することができる。
次に、転送機能付きピアで実行される処理について説明する。
転送機能付きピアは、まず図8に示すステップ200において、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対して、グループ情報やユーザ情報等の各種情報を送信するよう要求し、これらの情報を取得する。取得した情報は、P2P基盤管理データ記憶部18に記憶される。これにより、P2Pネットワークを構成しているピアの情報やログオンしているユーザの情報を得ることができる。
ステップ202では、P2P基盤管理データ記憶部18に記憶された隣接情報18Cを、自ピアの隣の転送機能付きピア全てに告知する。隣接情報18Cには、自ピアの隣の転送機能付きピアの情報が少なくとも含まれ、さらに、他のピアが有している隣接情報を既に取得している場合には、その隣接情報も含まれる。
ステップ204では、隣の転送機能付きピアに隣接情報を送信するよう要求し、取得する。このように、自ピアの隣の転送機能付きピアと隣接情報を交換する。
そして、ステップ206では、交換した隣接情報に基づき、スパニングツリーの構成情報を生成し、P2P基盤管理データ記憶部18に経路情報として記憶する。ここで、スパニングツリーとは、メッセージの転送経路が、ループのない木構造となるような経路を表す。例えばP2Pネットワークが、図9(A)に示すように、グループ1にのみ属する転送機能付きピア501、グループ2にのみ属する転送機能付きピア502、グループ1、2の何れにも属する転送機能付きピア5012、何れのグループにも属さない転送機能付きピア50n、これらの各転送機能付きピアの背後に存在するエンドピア(図9では図示省略)で構成されていたとする。この場合、スパニングツリーは、図9(B)に示すようなループのない木構造の経路となる。
次のステップ208では、エンドピアからのメッセージ送信要求を受信したか否かを判断し、受信している場合にはステップ210へ移行し、受信していない場合には、ステップ212へ移行する。
ステップ210では、スパニングツリーの構成情報としての経路情報に基づいて、メッセージを転送する。例えば、図9(A)に示すようなネットワークが構築されている場合において、エンドピアが例えばグループ1に属しており、グループ1向けの要求メッセージを転送機能付きピアに送信した場合について説明する。この場合、転送機能付きピアは、グループ1に属しているエンドピアに対してのメッセージ転送を担う転送機能付きピアを全て含み、この転送機能付きピア全てにメッセージが転送されるようなスパニングツリー、例えば図9(C)に示すようなスパニングツリーを経路情報に基づいて計算する。そして、転送機能付きピアは、計算されたスパニングツリーに基づいて、隣の転送機能付きピア全てにエンドピアからの要求メッセージを転送する。これにより、図9(C)に示すスパニングツリー上の転送機能付きピアにメッセージが転送され、グループ1のエンドピア全てにメッセージが転送される。なお、グループ2向けのメッセージ送信要求を転送機能付きピアに送信した場合は、図9(D)に示すようなスパニングツリーが計算される。
次のステップ212では、隣の転送機能付きピアからメッセージを受信したか否かを判断し、受信した場合にはステップ214へ移行し、受信していない場合には、ステップ208へ戻って上記と同様の処理を繰り返す。なお、定期的にステップ200へ戻ってスパニングツリーを定期的に計算するようにしてもよい。
ステップ214では、計算したスパニングツリーに基づき、メッセージを転送する必要がある場合、すなわちスパニングツリー上における隣の転送機能付きピアのうちメッセージを転送していない転送機能付きピアが存在する場合には、その転送機能付きピアにメッセージを転送する。また、受信したメッセージが、自ピアがメッセージの転送を担うエンドピアと同一のグループ宛であった場合には、そのメッセージをエンドピアへ転送する。
このように、スパニングツリーを各転送機能付きピアが計算し、このスパニングツリー計算に従ってメッセージを転送することにより、同じグループ内のエンドピア間においてメッセージの送受信が可能となる。
上記のような転送機能付きピアによってメッセージを転送する構成は、主にLAN(Local Area Network)等の比較的小規模のネットワークでP2Pネットワークを構築する場合に適しているが、大規模のネットワークでP2Pネットワークを構成する場合には、ファイアウォールやゲートウェイ等を介して、異なるネットワークに接続されたピア間でメッセージの送受信が行われる。以下では、このような比較的大規模なネットワークでP2Pネットワークを構築する場合に適した形態について説明する。
図10に示すP2Pネットワーク11は、複数のネットワーク52〜58を含み、ネットワーク52は、ルータ60、62を介してネットワーク54と接続されると共に、ルータ64を介してネットワーク58と接続される。また、ネットワーク56は、ルータ66を介してネットワーク58と接続される。
ネットワーク52は、エンドピア52A、52B、及び待ち合わせ機能付きピア52Cを含んで構成され、ネットワーク54はエンドピア54Aを含んで構成され、ネットワーク56はエンドピア56Aを含んで構成され、ネットワーク58は中継機能付きピア58Aを含んで構成されている。なお、待ち合わせ機能付きピアは、図示しない待ち合わせ機能サービス部をサービス実行部34に備えた構成であり、中継機能付きピア58Aは、図示しない中継機能サービス部をサービス実行部34に備えた構成である。
このように構成されたP2Pネットワーク11において、エンドピアは、図7のフローチャートの示す処理とほぼ同様の処理を実行する。すなわち、P2Pネットワーク11におけるエンドピアで実行される処理は、図7のフローチャートの説明において、転送機能付きピアを待ち合わせ機能付きピアに言い換えた処理を実行すると考えることができる。
また、中継機能付きピアは、基本的には所謂ゲートウェイとしての動作をするピアである。中継機能付きピアは、まず、例えば自ピアに記憶された設定情報に予め設定された他のピアに対して、又はマルチキャストやブロードキャストにより他のピアに対して、グループ情報やユーザ情報等の各種情報を送信するよう要求し、これらの情報を取得しておく。そして、他ピアからメッセージを受信した場合には、送信先として指定されたピアにメッセージを転送する。
次に、待ち合わせ機能付きピアで実行される処理について、図11に示すフローチャートを参照して説明する。
まず、ステップ300において、例えば自ピアに記憶された設定情報に予め設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストによって、他のピアに対してグループ情報やユーザ情報等の各種情報を送信するよう要求する。
ステップ302では、他ピアから何らかの情報、例えばステップ300で要求したグループやユーザ情報等の情報や、他ピアからの告知情報等を受信したか否かを判断し、受信した場合には、ステップ304へ移行し、受信していない場合には、ステップ306へ移行する。
ステップ304では、他ピアから受信した情報をP2P基盤管理データ記憶部18に記憶させる。例えば受信した情報がグループ情報であればグループ情報18BとしてP2P基盤管理データ記憶部18に記憶させ、受信した情報がユーザ情報であればユーザ情報18EとしてP2P基盤管理データ記憶部18に記憶させる。
ステップ306では、エンドピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、受信している場合には、ステップ308へ移行し、受信していない場合には、ステップ302へ戻って上記と同様の処理を繰り返す。
ステップ308では、要求メッセージに対応した情報が自ピアのP2P基盤管理データ記憶部18に記憶されているか否かを判断し、記憶されている場合には、ステップ310へ移行し、記憶されていない場合には、ステップ312へ移行する。
ステップ310では、要求メッセージに対応した情報をP2P基盤管理データ記憶部18から読み出して要求元のピアに送信する。
一方、ステップ312では、要求メッセージを隣接のピアに転送する。これにより、要求メッセージが他ピアに伝搬される。これにより、要求メッセージに対応した処理を実行可能なピアから応答メッセージが送信される。
ステップ314では、要求メッセージに対応した処理を実行可能なピアから送信された応答メッセージを受信し、これを要求元のエンドピアに送信する。
ここで、ネットワーク54のピア54Aが告知情報の探索要求を行う場合について説明する。この場合、ピア54Aは、待ち合わせ機能付きピアを検索し、検索された待ち合わせ機能付きピア52Cに告知情報の探索要求メッセージを送信する。これにより待ち合わせ機能付きピア52Cは、自ピアに他ピアの告知情報が蓄積されていれば、これをピア54Aに送信し、蓄積されていない場合には、例えば隣のピア52A、52B等に告知情報を送信するよう要求する。このとき、ピア52Aは、自ピアの告知情報と、自ピアに記憶されている他ピアの告知情報、例えばピア56Aの告知情報がすでに記憶されている場合には、その告知情報とを待ち合わせ機能付きピア52Cに送信する。ピア52Cについても同様である。待ち合わせ機能付きピア54Cは、他ピアから送信された告知情報を蓄積すると共に、ピア54Aに送信する。
以上のように、待ち合わせ機能付きピアは、他ピアから送信された告知情報等の各種情報を自ピアに蓄積しておき、エンドピアからの要求に対応した情報が自ピアに記憶されている場合には、その情報をエンドピアに送信する。従って、P2Pネットワーク11のように大規模なネットワークにおけるメッセージの送受信の効率を向上させることができる。
次に、アプリケーション実行の具体例として、アプリケーションがファイル共有サービスの場合におけるアプリケーション実行部20の処理について説明する。
この場合、アプリケーション実行部20は、ファイル名等の所望のファイルを特定するための情報を少なくとも含んだファイル探索要求をメッセージ制御部24のメッセージディスパッチ部36に通知する。メッセージディスパッチ部36では、このファイルを所有するピアを探索するようピア探索サービス部38に対して要求する。これにより、ピア探索サービス部38によって所望のファイルを所有するピアが探索され、アプリケーション実行部20に通知される。そして、アプリケーション実行部20では、探索されたピアに対してファイルを送信するよう要求し、取得する。なお、所望のファイルを所有しているピアの情報を既に取得しており、自ピアに記憶されていた場合には、ピア探索を実行せずに、直接そのピアにファイル送信要求を送信してファイルを取得すればよい。
このように、アプリケーション実行部20は、メッセージ制御部24を介して他ピアとメッセージの送受信を行い、サービスを提供する。
なお、P2Pネットワークの構築について上記は一例であり、例えば上記特許文献1に記載されたプロトコルや、JXTAプロトコルのPDP(Peer Discovery Protocol:ピア発見プロトコル)、PRP(Peer Resolver Protocol:ピア解決プロトコル)、PIP(Peer Information Protocol:ピア情報プロトコル)、PMP(Peer Membership Protocol:ピアメンバーシッププロトコル)、PBP(Peer Binding Protocol:ピアバインディングプロトコル)、PEP(Peer Endpoint Protocol:ピアエンドポイントプロトコル)等の公知のプロトコルを用いてP2Pネットワークを構築してもよい。
次に、本実施形態に係るP2Pネットワークの具体的な形態について説明する。
まず、図12に示すように、ホワイトボード12WB、パソコン12PC、プリンタ12PRTが各々少なくとも一つずつネットワーク32を介して接続されたP2Pネットワークが構築されている形態について説明する。これらの各ピアは、基本的には上記で説明した図5、6に示したピア12の機能を有している。
このP2Pネットワークにおける各ピアの動作について概略的に説明すると、ホワイトボード12WBは、ボードに書き込まれた文字等の画像をスキャンしてパソコン12PCに転送する。パソコン12PCは、ホワイトボード12WBから送信された画像データに所定の画像処理を施してプリンタ12PRTへ出力する。プリンタ12PRTは、パソコン12PCから送信された画像データに基づいて印刷処理する。これにより、画質の良好な印刷結果を得ることができる。
なお、以下では、ホワイトボード12WBのアプリケーション実行部20及びアプリケーションメモリ22については、符号の末尾に‘WB’を付し、パソコン12PCのアプリケーション実行部20及びアプリケーションメモリ22については、符号の末尾に‘PC’を付し、プリンタ12PRTのアプリケーション実行部20及びアプリケーションメモリ22については、符号の末尾に‘PRT’を付して各々区別する。
なお、ホワイトボード12WB、パソコン12PC、プリンタ12PRTは、P2Pネットワーク上に設定された同一グループに属し、相互に各種情報の授受及び共有が可能である。
ホワイトボード12WBのアプリケーション実行部20WBは、図13に示すように、操作部70A、スキャン実行部70B、メタ情報生成部70C等を含んで構成されている。
操作部70Aは、図示しないスキャン実行ボタン等の各種ボタンを含んで構成され、スキャン実行ボタンが押下されると、スキャン実行部70Bによって、図示しないボードに書き込まれた文字等の画像がスキャンされ、画像データが生成される。メタ情報生成部70Cは、生成された画像データに対応するメタ情報を生成する。このメタ情報と画像データとで画像ファイルが構成される。
メタ情報には、例えば画像ファイルのファイル名、作成日時等の画像ファイルの特徴を示す各種の属性情報の他、その画像ファイルの実行に関する実行属性情報等が含まれる。実行属性情報には、後述するワークフロー記述ファイルのURI等の存在場所を表す情報が含まれる。この場合、ワークフロー記述ファイルに従って画像ファイルを処理する必要がある。ワークフロー記述ファイルは、ホワイトボード12WBで生成された画像データに対して施すべき処理の手順が記述されたファイルである。ワークフロー記述ファイルは、例えば図13に示すように、ホワイトボード12WGのアプリケーションメモリ22に記憶されていてもよいし、他ピアに記憶されていてもよい。
パソコン12PCのアプリケーション実行部20PCは、図14に示すように、例えばOCR部74A、ファイル変換部74B等を含んで構成され、アプリケーションメモリ22PCには、アプリケーション実行部20PCで実行可能な処理の名称等が記述された実行可能処理一覧ファイル76Cが予め記憶されている。
プリンタ12PRTは、パソコン12PCからの印刷データを受信し、受信した印刷データに基づいて印刷処理する。
次に、ホワイトボード12WB、パソコン12PCの処理について、図15、16に示すフローチャートを参照して説明する。
図15に示すように、ホワイトボード12WBでは、ステップ400において、スキャンボタンが押下されたか否かを判断し、押下された場合にはステップ402へ移行し、押下されていない場合はステップ408へ移行する。
ステップ402では、スキャン実行部70Bによりボードに書き込まれた文字等の画像の読み取りを実行し、その画像の画像データを生成する。
ステップ404では、メタ情報生成部70Cにより前述したメタ情報を生成し、ステップ406において、画像データ及びメタ情報を画像ファイル72Bとしてアプリケーションメモリ22に記憶させる。
ステップ408では、他ピア、すなわち例えばパソコン12PCから実行属性情報を含むメタ情報を有する画像ファイルが存在するか否かの問い合わせがあったか否かを判断し、問い合わせがあった場合には、ステップ410へ移行し、問い合わせがなかった場合には、ステップ414へ移行する。
ステップ410では、実行すべき画像ファイル72Bがアプリケーションメモリ22に記憶されているか否かを判断し、実行すべき画像ファイル72Bが存在する場合には、ステップ412へ移行し、存在しない場合には、ステップ400へ戻って上記と同様の処理を繰り返す。
ステップ412では、アプリケーションメモリ22に記憶されたワークフロー記述ファイル72Aを問い合わせがあったピア、すなわち例えばパソコン12PCに送信する。
ステップ414では、パソコン12PC等から画像ファイル72Bを送信するよう要求があったか否かを判断し、要求があった場合にはステップ416へ移行し、要求がなかった場合には、ステップ400へ移行して上記と同様の処理を繰り返す。
ステップ416では、画像ファイル72Bをアプリケーションメモリ22から読み出して、要求元に送信する。
一方、パソコン12PCでは、図16のステップ500において、実行すべき画像ファイルが存在するか否かを他ピアに問い合わせる。この問い合わせは例えば同じグループの他ピア全てに問い合わせても良いし、一部のピアを指定して問い合わせてもよい。
ステップ502では、ホワイトボード12WBからワークフロー記述ファイル72Aを受信したか否かを判断し、受信した場合には、ステップ504へ移行し、受信していない場合には、ステップ500へ戻り上記と同様の処理を繰り返す。
ステップ504では、ワークフロー記述ファイル72Aを参照し、自ピアで実行可能な処理があるか否かを判断する。具体的には、ワークフロー記述ファイル72Aに記述された処理と、アプリケーションメモリ22に記憶された実行可能処理一覧ファイル76Cに記述されている処理とが一致する処理が存在するか否かを判断する。
そして、実行可能な処理が存在する場合には、ステップ506へ移行し、実行可能な処理が存在しない場合には、ステップ500へ移行し、上記と同様の処理を繰り返す。
ステップ506では、画像ファイルを送信するようホワイトボード12WBに要求して画像ファイルを取得する。
ステップ508では、実行可能な処理を実行する。そして、ステップ510において、メタ情報に記述されたURIを、更新後の画像ファイルのURIに書き換え、これと処理後の画像データとを新たな画像ファイル76Bとして、アプリケーションメモリ22PCに記憶させる。
ステップ512では、ワークフロー記述ファイル72Aを書き換える。すなわち、ワークフロー記述ファイル72Aに記述された処理手順のうち、自ピアが実行した処理を削除して、アプリケーションメモリ22PCにワークフロー記述ファイル76Aとして記憶させる。
例えばワークフロー記述ファイル72Aに、「‘OCR処理’を実行した後、‘文字情報付きの電子ファイルに変換’して、‘印刷する’」といった内容が記述されていた場合には、パソコン12PCは、OCR部74AでOCR処理を実行し、ファイル変換部74Bでファイル変換処理を行う。そして、ワークフロー記述ファイル72AのOCR処理の実行及びファイル変換に関する記述を削除し、「‘印刷する’」のみが記述されたワークフロー記述ファイル76Aに書き換えてアプリケーションメモリ22PCに記憶する。プリンタ12PRTは、パソコン12PCと同様に動作する。従って、プリンタ12PRTは、実行すべき画像ファイル76Bがパソコン12PCに存在することを知ると、パソコン12PCに記憶されたワークフロー記述ファイル76A及び画像ファイル76Bを取得し、印刷処理する。
なお、仮にパソコン12PCがOCR処理部74Aしか備えていなかった場合には、OCR処理のみを実行し、ワークフロー記述ファイル72AのOCR処理の実行に関する記述を削除し、「‘文字情報付きの電子ファイルに変換’ して、‘印刷する’」のみが記述されたワークフロー記述ファイル76Aに書き換えてアプリケーションメモリ22PCに記憶する。そして、他のパソコンでファイル変換処理を実行できるパソコンが存在する場合には、そのパソコンにワークフロー記述ファイル76A及び画像ファイル76Bが送信され、ファイル変換処理が実行される。なお、処理内容は上記に限られるものではなく、画像データに対して地肌処理する、処理後の画像データをメール送信する等の各種処理をワークフロー記述ファイルに記述することが可能である。
このように、各ピアが実行すべきファイルが存在するか否かを監視し、それぞれが実行できる処理を分担するので、ホワイトボード12WBに書き込まれた画像の画質を向上させた後で、印刷することができる。また、ワークフロー記述ファイルをP2Pネットワークで共有することにより、ネットワーク内のどのホワイトボード、パソコン、プリンタでも同じ処理を簡単に実行することが可能となる。
なお、上記では、他ピアに実行すべき画像ファイルが存在するか否かを問い合わせ、存在する場合にワークフロー記述ファイルや画像ファイルを取得して処理を実行するようにしているが、ワークフロー記述ファイルや画像ファイルを更新した場合にこれを自発的に他ピアに公開することにより、処理すべき画像ファイルが存在することを通知するようにしてもよい。
次に、図17に示すように、インテリジェントホワイトボード12IWB、パソコン12PC−2、プロジェクター12PRJが各々少なくとも一つずつネットワークを介して接続されたP2Pネットワークが構築されており、これらによりネットミーティングを行う形態について説明する。これらの各ピアは、基本的には上記で説明した図5、6に示したピア12の機能を有している。
なお、インテリジェントホワイトボード12IWB、パソコン12PC−2、プロジェクター12PRJは、P2Pネットワーク上に設定された同一グループ(ミーティング参加者で構成されるグループ)に属し、相互に各種情報の授受及び共有が可能である。
このP2Pネットワークにおける各ピアの動作について概略的に説明する。インテリジェントホワイトボード12IWBは、従来のホワイトボードと同様に、マーカーペンによって文字等を書き込む機能及びこれを検出して描画命令コマンドを生成する機能、入力された画像を表示する機能、赤外線等の光ビームを射出するポインティングデバイスからの光ビームがボードに照射された場合のポインティング位置を検出して、ポインティングデバイス命令コマンドを生成して出力する機能等を有する。
パソコン12PC−2は、プレゼンテーション用画像をインテリジェントホワイトボード12IWB、プロジェクター12PRJ、及び他のパソコンに出力、すなわち共有し、これらにプレゼンテーション用画像を表示させる。また、各パソコンには、図示しないマイクが接続され、このマイクにより説明者の音声を入力して音声データを生成し、生成した音声データを他のピアへ出力し、共有する。
説明者は、インテリジェントホワイトボード12IWBに表示されたプレゼンテーション用画像の説明箇所を図示しないポインティングデバイスによって指し示しながら内容を説明する。プロジェクター12PRJに表示されたプレゼンテーション用画像は、プロジェクター12PRJが設置された場所でミーティングに参加している者が参照する。また、他のパソコン利用者は、そのパソコンに表示されたプレゼンテーション用画像を参照してミーティングに参加することができる。
このように、プレゼンテーション用画像や音声データをP2Pネットワークで共有することがにより、各ピアが別々の部屋や遠隔地に設置されているような場合でもミーティングを簡単に行うことが可能となる。
なお、以下では、インテリジェントホワイトボード12IWBのアプリケーション実行部20及びアプリケーションメモリ22については、符号の末尾に‘IWB’を付し、パソコン12PC−2のアプリケーション実行部20及びアプリケーションメモリ22については、符号の末尾に‘PC−2’を付し、プロジェクター12PRJのアプリケーション実行部20及びアプリケーションメモリ22については、符号の末尾に‘PRJ’を付して各々区別する。
インテリジェントホワイトボード12IWBのアプリケーション実行部20IWBは、図18に示すように、光検出部78A、マーカー検出部78B、ポインティングデバイス命令コマンド生成部78C、描画命令コマンド生成部78D等を含んで構成されている。
光検出部78Aは、図示しないポインティングデバイスから射出された光ビームが照射された位置を検出する。マーカー検出部78Bは、マーカーペンによって書き込まれた文字等の軌跡を検出する。ポインティングデバイス命令コマンド生成部78Cは、光検出部78Aの検出結果に基づいて、光ビームの照射位置に対応するポインティングデバイス命令コマンドを生成する。
描画命令コマンド生成部78Dでは、マーカー検出部78Bの検出結果に基づいて、マーカーペンの軌跡に対応する描画命令コマンドを生成する。
パソコン12PC−2のアプリケーション実行部20PC−2は、図19に示すように、画面制御部80A、マウスポインタ情報生成部80B、音声入力部80C、音声出力部80D等を含んで構成される。
画面制御部80Aは、アプリケーションメモリ22PC−2に記憶されたプレゼンテーション用画像の画像データ81を図示しないディスプレイに出力し、表示させる。
マウスポインタ情報生成部80Bは、図示しないマウスが画面上で指し示す位置に関するマウスポインタ情報を生成する。
音声入力部80Cは、図示しないマイクからの音声を入力して音声データを生成する。音声データ出力部80Dは、生成された音声データに基づく音声を生成して図示しないスピーカーに出力する。
プロジェクター12PRJは、パソコン12PC−2から送信されたプレゼンテーション用画像の画像データを受信してスクリーンに表示させる。
次に、インテリジェントホワイトボード12IWB、パソコン12PC−2の処理について、図20、21に示すフローチャートを参照して説明する。
インテリジェントホワイトボード12IWBは、図20に示すように、ステップ600において、パソコン12PC−2から画像データを受信したか否かを判断し、受信した場合には、ステップ602へ移行し、受信していない場合にはステップ604へ移行する。
ステップ602では、受信した画像データに基づく画像を図示しないディスプレイに表示させる。
ステップ604では、図示しないポインティングデバイスから射出された光ビームがボードに照射されているか否かを光検出部78Aにより検出し、検出された場合にはステップ606へ移行し、検出されていない場合には、ステップ608へ移行する。
ステップ606では、検出された光ビームの照射位置に対応したポインティングデバイス命令コマンドをポインティングデバイス命令コマンド生成部78Cにより生成して他ピアへ出力し、これを共有する。これにより、他のパソコンでは、ポインティングデバイス命令コマンドを解釈することにより、インテリジェントホワイトボード12IWBで検出された光ビームの照射位置に対応した位置にマークを表示させることができる。
ステップ608では、図示しないマーカーペンによりボードに書き込みがあったか否かをマーカー検出部78Bにより検出し、検出された場合はステップ610へ移行し、検出されていない場合には、ステップ600へ移行し、上記と同様の処理を繰り返す。
ステップ610では、描画命令コマンド生成部78Dによりマーカー検出部78Bの検出結果に基づいて描画コマンドを生成して他ピアへ出力し、これを共有する。これにより、他のパソコンでは、描画コマンドを解釈することにより、インテリジェントホワイトボード12IWBに書き込まれた画像を表示させることができる。
一方、パソコン12PC−2では、図21に示すステップ700において、画面制御部80Aによりプレゼンテーション用画像の画像データをディスプレイに出力して表示させる。
ステップ702では、画像データを他ピアへ送信する。これにより、インテリジェントホワイトボード12IWB、プロジェクター12PRJ、及びミーティング参加者の他のパソコンにプレゼンテーション用画像が表示される。
ステップ704では、図示しないマウスの操作があったか否かを判断し、マウス操作が有った場合にはステップ706へ移行し、マウス操作がない場合にはステップ714へ移行する。
ステップ706では、マウス操作の軌跡に応じたマウスポインタ情報をマウスポインタ情報生成部80Bにより生成して、プロジェクター12PRJや他のパソコンに出力し、これを共有する。これにより、プロジェクター12PRJや他のパソコンでは、受信したマウスポインタ情報に対応する位置に、マウスの位置を示す矢印等のマークを表示させる。
ステップ708では、マウス操作等によって画面の切り替え指示がなされたか否かを判断し、画面の切り替え指示が成された場合には、ステップ710へ移行し、画面の切り替え指示がなされていない場合には、ステップ714へ移行する。
ステップ710では、画面制御部80Aにより、ディスプレイに表示すべきプレゼンテーション用画像の画像データ81をアプリケーションメモリ22PC−2から読み出してディスプレイに表示させる。
ステップ712では、新たな画像データを他ピアへ送信し、これを共有する。これにより、インテリジェントホワイトボード12IWB、プロジェクター12PRJ、他のパソコンでは、受信した画像データに基づく画像が表示される。
ステップ714では、音声入力部80Cにより図示しないマイクから音声が入力されたか否かを判断し、音声が入力された場合にはステップ716へ移行し、入力されていない場合にはステップ700へ戻って上記と同様の処理を繰り返す。
ステップ716では、入力された音声に基づく音声データを生成して他のパソコンへ出力し、これを共有する。これにより、他のパソコンでは、入力された音声をスピーカーにより出力し、話者の声を確認することができる。
このように、表示すべき画像の画像データ、ポインティングデバイス命令コマンド、描画命令コマンド、マウスポインタ情報等を各ピアで共有することにより、各ピアが遠隔地等に分散している場合でも容易にネットミーティングを行うことができる。
次に、プロジェクター12PRJに画面データを出力するパソコンを切り替える場合における各パソコン及びプロジェクター12PRJの動作の一例について説明する。
図22には、プロジェクター12PRJで実行される処理のフローチャートを示した。プロジェクター12PRJは、ステップ800において、制御コマンドファイルを公開する。制御コマンドファイルは、例えばプロジェクター12PRJのアプリケーションメモリ22PRJに記憶される。また、制御コマンドファイルの公開は、プロジェクター12PRJの告知情報公開サービス部40によって実行される。これにより、制御コマンドファイルがP2Pネットワークにおいて共有される。
制御コマンドファイルには、プロジェクター12PRJに画像を表示させたいピアのピアIDやプロジェクター12PRJの明るさ、コントラスト等の画質を調整するための各種パラメータを指定するための制御コマンドが記述される。
プロジェクター12PRJに画像を表示させたいパソコンは、共有された制御コマンドファイルに自身のピアIDを書き込む。すなわち、プロジェクター12PRJから制御コマンドファイルを取得し、これにピアIDを書き込んでプロジェクター12PRJに送信する。なお、必要に応じて画質に関するパラメータを指定するための制御コマンドを制御コマンドファイルに書き込んでもよい。そして、パソコンのピアIDを含む表示要求メッセージをプロジェクター12PRJに送信する。
プロジェクター12PRJでは、ステップ802において、パソコンから表示要求メッセージを受信したか否かを判断し、受信した場合にはステップ804へ移行し、受信していない場合には、ステップ810へ移行する。
ステップ804では、表示要求メッセージに含まれるピアIDと制御コマンドファイルに記述されたピアIDとが一致するか否かを判断し、一致する場合にはステップ806へ移行し、一致しない場合にはステップ802へ戻って上記と同様の処理を繰り返す。
ステップ806では、画像データ受信用のP2Pチャネルを作成する。具体的には、アプリケーションメモリ22PRJに画像データ受信用の領域を確保し、チャネルIDを付与する。
ステップ808では、チャネルIDを要求元のパソコンに送信する。これにより、要求元のパソコンでは、受信したチャネルIDを指定して画像データをプロジェクター12PRJに送信する。
プロジェクター12PRJでは、ステップ810において、画像データ及びチャネルIDを受信したか否かを判断し、受信した場合には、ステップ812へ移行し、受信していない場合は、ステップ802へ戻って上記と同様の処理を繰り返す。
ステップ812では、受信した画像データに基づき、スクリーンに画像を表示させる。なお、制御コマンドファイルに画質に関するパラメータを指定するための制御コマンドが記述されていた場合には、その制御コマンドに応じて画質を調整してスクリーンに表示させる。
各パソコンが上記のような処理を行うことにより、プロジェクター12PRJに表示させる画像を出力するパソコンを切り替えることができる。
次に、図23に示すように、IP電話12IP、パソコン12PC−3、ファクシミリ12FAXが各々少なくとも一つずつネットワークを介して接続されたP2Pネットワークが構築されており、同一業務に関する各種データを一元管理する形態について説明する。これらの各ピアは、基本的には上記で説明した図5、6に示したピア12の機能を有している。
なお、IP電話12IP、パソコン12PC−3、ファクシミリ12FAXは、P2Pネットワーク上に設定された同一グループに属し、相互に各種情報の授受及び共有が可能である。
本実施形態では、例えば同一業務において発生する各ピアの処理には同一のアクション番号を付与して一元管理する。
次に、IP電話12IP、パソコン12PC−3、ファクシミリ12FAXで実行される処理について、図24に示すフローチャートを参照して説明する。
ステップ900では、データを受信したか否かを判断する。ここでいうデータは、IP電話12IPであれば相手方の音声データであり、パソコン12PC−3であれば受信したメールのデータ、ファクシミリ12FAXであれば受信したファクシミリのデータである。
そして、データを受信した場合には、ステップ902で対応処理を行う。対応処理は、例えばIP電話12IPであれば会話の内容を録音した音声をテキストデータに変換してアプリケーションメモリに記憶する処理等であり、パソコン12PC−3であれば受信したメールをアプリケーションメモリに記憶する処理等であり、ファクシミリ12FAXであれば受信したファクシミリのデータにOCR処理を施し、テキストデータとしてアプリケーションメモリに記憶する処理等である。
ステップ904では、受信したデータにアクション番号が存在するか否かをアプリケーションメモリに記憶されたテキストデータに基づいて検出し、アクション番号が検出されなかった場合にはステップ906へ移行し、アクション番号が検出された場合には、ステップ908へ移行する。なお、アクション番号は、電話であればユーザーがアクション番号を話すことにより得ることができ、メールであればユーザーがアクション番号をメールの題名や本文等に入力してもらうことにより得ることができ、ファクシミリで有ればユーザーがファックス用紙に記入することにより得ることができる。
ステップ906では、アクション番号を生成する。アクション番号は、既に生成した番号と重複しない番号を選択する。
ステップ908では、メタ情報を生成する。メタ情報には、アクション番号や、受信したデータの受信日時、送信元に関する情報等を含む。メタ情報に含まれるアクション番号は、受信したデータにアクション番号が含まれていない場合には、ステップ906で生成したアクション番号であり、受信したデータにアクション番号が含まれたいた場合には、そのアクション番号である。なお、受信したデータに対して、どのような処理を誰が何時までに行うべきであるか等の情報を入力させ、これをメタ情報に含めても良い。
ステップ910では、受信したデータに対応するテキストデータ及びメタ情報を含むファイルをアプリケーションメモリに記憶する。
このように、受信したデータをアクション番号と関連付けてアプリケーションメモリに記憶する。また、パソコン12PC−3では、あるアクションに関連する文書を作成したような場合には、その文書データとアクション番号とを関連付けてアプリケーションメモリに記憶させる。
このように、各ピアにおいて、アクション番号とそのアクションに関連する様々なデータとを関連つけることにより、例えば同一業務に関連して発生した各種のデータを一元的に管理することができる。
そして、例えばパソコン12PC−3において、あるアクション番号のデータを表示させる場合、パソコン12PC−3は、他のピア、すなわちIP電話12IPやファクシミリ12FAXにアクション番号を指定してデータを送信するよう要求する。
この場合、他のピアでは、ステップ912において、指定されたアクション番号のファイルを送信するよう要求されたか否かを判断し、要求されていない場合には、ステップ900へ移行して上記と同様の処理を繰り返し、要求された場合には、ステップ914へ移行して、指定されたアクション番号のファイルを要求元であるパソコン12PC−3へ送信する。
これにより、パソコン12PC−3では、各ピアから送信されたファイルに基づいて、例えば図25に示すようなスレッドを表示することができる。
図25では、一例としてあるカスタマーサービスセンター等において、ある商品の問い合わせがファックスで受信された場合に、メールや電話で対応した結果を、各処理日時等に基づいてスレッド表示したものである。なお、図中(Fax)の行の文字列は、ファクシミリ12FAXで受信したファックスのデータを、(Mail)の行の文字列は、パソコン12PC−2で受信又は送信したメールの文字列を、(Voice)の行の文字列は、IP電話12IPで録音した会話の文字列を、(Doc)はパソコン12PC−3で作成した文書の文字列をそれぞれ表している。
このように、各ピアで発生した処理のデータを共有し、これをアクション番号と関連付けて記憶することにより、異なる種類のデータを一元管理することができる。
次に、各ピアが提供するコンテンツへのアクセスに関するログ情報を記録しておき、人気の高いコンテンツの調査等を可能にする形態について説明する。
図26に示すように、ピア12A〜12Dがネットワークを介して接続されたP2Pネットワークにおいて、一例として、ピア12Aは、そのアプリケーション実行部20の機能としてコンテンツA、Bを提供するピアであり、ピア12Bは、そのアプリケーション実行部20の機能としてコンテンツA、Cを提供するピアであり、ピア12Cは、そのアプリケーション実行部20の機能として、コンテンツB、Cを提供するピアである。なお、コンテンツは、例えばWebページであったり、ファイルであったり、ある機能を提供するプログラムやデータ等である。
また、ピア12A〜12Cは、他ピアからアクセスがあって自ピアが提供できるコンテンツの取得要求があり、これを要求元のピアに提供した場合には、そのアクセスに関する情報をログ情報82としてアプリケーションメモリ22に記憶すると共に、ピア12Dへそのログ情報82を送信する。
ログ情報82としては、例えばアクセスしてきたピアのピアIDやユーザID、アクセス時刻、コンテンツ名、そのコンテンツに関連するグループ名等の情報が含まれる。
これにより、コンテンツを提供するピア12A〜12Cにアクセスがある毎に、各ピアのアプリケーションメモリ22にログ情報82が各々記録されると共に、ピア12Dへ送信される。
ピア12Dは、アプリケーション実行部20の機能として各ピアから送信されたログ情報を収集するログ収集部84及びログ解析部86を備え、収集したログ情報は、ピア12Dのアプリケーションメモリ22に収集ログ情報88として記録される。
このように、ログ解析部86は、各ピアから収集された収集ログ情報88に基づいて、各種解析を行い、解析結果を共有すべく他ピアへ提供する。
ログ解析部86では、例えば以下のような機能を有する。一つは、人気の高いコンテンツを調査する機能である。この場合、ログ解析部86は、収集ログ情報88に含まれるコンテンツ名をカウントし、カウント値が多い順にコンテンツ名をソートしたランキングデータを生成する。これをP2Pネットワークで共有することにより、P2Pネットワークに接続されたピアにおいて人気の高いコンテンツを知ることができる。このように、人気の高いコンテンツを知ることができることにより、人気の高いコンテンツは複数のピアに分散させる等の負荷分散の措置を適切のとることが可能となる。例えば図25に示すように、コンテンツA、B、Cをそれぞれのピアに分散させることにより、特定のピアにアクセスが集中するのを防ぐことができる。
二つ目は、ユーザーの嗜好を調査する機能である。この場合、ログ解析部86は、収集ログ情報88に基づいて、ユーザID毎に、収集ログ情報88に含まれるコンテンツ名をカウントし、カウント値が多い順にコンテンツ名をソートした嗜好データを生成する。これにより、ユーザ毎にアクセスの多いコンテンツを知ることが可能となり、ユーザの嗜好を容易に把握することができる。この結果、ユーザ毎にカスタマイズした商品情報等を提供することも可能となる。
さらに、以下のような処理が可能である。例えば、回覧板としての情報である回覧板データ等のように、期間限定のコンテンツがある場合に、収集ログ情報88のアクセス時刻から回覧板データを参照したか否かをチェックすることができる。
また、コンテンツ毎に料金を定め、収集ログ情報88に基づいて、アクセスしたコンテンツに応じた料金を計算し、ユーザに課金することも可能である。
なお、各ピアに記憶するログ情報を暗号化して記憶するようにし、特定のユーザーのみがアクセスできるようにしてもよい。これにより、個人情報を守ることができる。
次に、P2Pネットワークを構成するピアとして図27に示すように、複数の複合機12E〜12G、パソコン12Hが含まれている場合において、これらのピアで共有される共有データ及びその共有データに関して実行される処理について説明する。なお、図27では、共有データに関して実行される処理に関係する機能部及びデータのみを表し、それ以外は省略している。
この場合、複合機12E〜12Gは、アプリケーション実行部20の機能として、共有すべきデータを他ピアへ通知する通知部90を含んでいる。また、複合機12E〜12Gのアプリケーションメモリ22には、複合機の各種設定に関する設定情報92A、ファックス送信等における予め定めた宛先が記録されたアドレス帳92Bが記憶されると共に、スキャンした画像が蓄積される領域として親展ボックス92Cが設けられる。
この場合、親展ボックス92Cにスキャンした画像が蓄積されると、そのファイルのインデックス及び親展ボックスの番号をパソコン12H等の他ピアへ送信する。
インデックスには、ファイル名、ファイルの作成日時、ファイルサイズ等のファイルに関する情報が含まれている。
これにより、パソコン12Hでは、複合機の親展ボックスに画像が蓄積されたことを知ることができる。そして、その親展ボックスに蓄積されたファイルを取得する場合には、親展ボックスの番号を指定してファイル取得要求を複合機に送信する。
複合機では、例えばその親展ボックスに設定された暗証番号を入力させてユーザ認証し、認証が成功した場合に親展ボックスに蓄積されたファイルをパソコンに送信する。
また、複合機12E〜12Gは、アドレス帳92Bがユーザの操作等によって更新されると、他の複合機に更新されたアドレス帳92Bを送信し、共有する。これにより、全ての複合機でアドレス帳92Bの設定をし直す必要がなく、利便性を向上させることができる。なお、アドレス帳92Bを設定する際に、そのアドレス帳92Bを利用できる複合機の種類(同一機種のみ、ファミリー機種のみ、全機種)を設定できるようにしてもよい。この場合、設定された種類の複合機に対して更新されたアドレス帳92Bを送信する。
また、複合機12E〜12Gは、設定情報92Aがユーザの操作等によって更新されると、他の複合機に更新された設定情報92Aを送信する。設定情報92Aを受信した複合機では、自ピアに関係する設定項目が更新されたか否かを判断し、更新が必要な設定項目のみ更新する。これにより、全ての複合機で設定情報92Aを設定し直す必要がなく、利便性を向上させることができる。
なお、設定項目としては、例えば画質の設定、時刻の設定、原稿サイズ、定型変倍率、出力トレイ、入力トレイ、手差し、Finishing、センター移動/コーナー移動/移動幅、枠消し/枠消し幅、原稿お種類、コピー濃度、カラーバランス、シャープネス、彩度等がある。また、設定項目毎に、その設定項目を更新すべき複合機の種類(同一機種のみ、ファミリー機種のみ、全機種)を設定できるようにしてもよい。この場合、例えば時刻の設定は全機種で更新されるように、カラーバランス、彩度等のカラーに関する設定項目はファミリー機種で更新されるように設定することができ、より利便性を向上させることができる。なお、複合機の種類の設定は、予め設定しておいてもよいし、設定項目を変更する際に設定できるようにしてもよい。
次に、P2Pネットワークを構成するピアとして図28に示すように、複数のプリンタ12I〜12K、パソコン12Lが含まれている場合において、これらのピアで共有される共有データ及びその共有データに関して実行される処理について説明する。なお、図28では、共有データに関して実行される処理に関係する機能部及びデータのみを表し、それ以外は省略している。
この場合、プリンタ12I〜12Kは、アプリケーション実行部20の機能として、共有すべきデータを他ピアへ通知する通知部94を含んでいる。また、プリンタ12I〜12Kのアプリケーションメモリ22には、プリンタドライバ96A、プリンタ情報96Bが記憶される。
プリンタ情報96Bには、例えばカラープロファイル、ロゴ、フォント、ポストスクリプトのPDLデータ、PPD等がある。
プリンタ12E〜12Gは、プリンタドライバ96Aの自動ダウンロードを行う設定が可能であり、プリンタがパソコン12Hに接続され、そのパソコンにプリンタドライバ96Aが設定されていない場合には、プリンタドライバ96Aをパソコン12Hに自動でダウンロードすることができる。
プリンタドライバの自動ダウンロードの設定が行われた場合、そのプリンタは、他のプリンタに対して自動ダウンロードの設定が行われたことを通知する。これにより、他の同一機種のプリンタでは、プリンタドライバを自動ダウンロードの設定が行われたプリンタから取得し、同様に自ピアについても自動ダウンロードの設定を行う。これにより、プリンタ全てにプリンタドライバを予め記憶させておく必要がない。
また、プリンタ12E〜12Gは、プリンタ情報96Bが更新されると、その更新内容を他のプリンタに通知する。これにより、他のプリンタでは、そのプリンタ情報96Bを取得し、自ピアのプリンタ情報96Bを更新する。これにより、プリンタ毎にプリンタ情報96Bを設定し直す必要がなく、利便性を向上させることができる。
なお、プリンタ情報96Bの設定項目毎に、その設定項目を更新すべき複合機の種類(同一機種のみ、ファミリー機種のみ、全機種)を設定できるようにしてもよい。