(57)【要約】【課題】  ユーザの利便性を向上する。【解決手段】  複数のピアPa,Pb,…が接続されて構成されたピアツーピアシステムにおいて、各ピアPa,Pb,…は、各々複数の処理の順番を指定する複数のジョブテンプレートを記憶する場所のアドレスや、各ピアのサービスを示す情報や、ジョブの状態を示す情報等の告知情報を保持する。スキャナ機能のあるピアは、保持するアドレスから複数のジョブテンプレートを取得し、表示する。ユーザにより何れかのジョブテンプレートが選択されると、選択されたジョブテンプレートのアドレス、及び、スキャンにより得たデータを、ジョブテンプレートに従った次の処理を実行可能なピアに送信する。【選択図】        図１２
2006139730.tif 000002
【特許請求の範囲】
【請求項１】
各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶する記憶手段と、
前記記憶されたアドレスに基づいて複数の指定データを前記外部の場所から取得する取得手段と、
前記取得された複数の指定データを表示する表示手段と、
前記表示された複数の指定データの内の何れかの指定データを選択するための選択手段と、
前記選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、前記指定データに従った次の処理を実行可能な装置に送信する送信手段と、
を備えた情報処理装置。
【請求項２】
複数の処理の順番を指定する指定データを記憶する外部の場所のアドレス及び該指定データに従って処理の対象となるデータとを受信する受信手段と、
前記受信された指定データのアドレスに基づいて、指定データを前記外部の場所から取得する取得手段と、
前記受信された処理の対象となるデータに対し、前記取得した指定データに従って処理を実行する処理実行手段と、
前記受信した指定データのアドレス、及び、該指定データに従って処理の対象となるデータとして前記指定データに従って処理が実行されたデータを、前記指定データに従った次の処理を実行可能な装置に送信する送信手段と、
を備えた情報処理装置。
【請求項３】
前記処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を記憶する処理実行状態記憶手段を更に備えたことを特徴とする請求項１又は請求項２記載の情報処理装置。
【請求項４】
他の情報処理装置において実行可能な処理の種類を示す情報を記憶する実行可能処理種類記憶手段と、
前記記憶された実行可能な処理の種類を示す情報と、前記指定データに従った次の処理とに基づいて、前記指定データに従った次の処理を実行可能な装置を決定する決定手段と、
を更に備え、
前記送信手段は、前記決定された装置に、前記指定データのアドレス、及び、該指定データに従って処理の対象となるデータを送信する、
ことを特徴とする請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項５】
他の情報処理装置の稼動状況を示す情報を記憶する稼動状況情報記憶手段を更に備え、
前記決定手段は、前記次の処理を実行可能な情報処理装置が複数決定された場合、前記記憶された他の情報処理装置の稼動状況を示す情報と、次の処理を実行可能な複数の情報処理装置とに基づいて、次の処理を実行可能な複数の情報処理装置の内の最も処理を早く完了可能な情報処理装置を、次の処理を実行可能な情報処理装置として決定する、
ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶するステップと、
前記記憶されたアドレスに基づいて、複数の指定データを前記外部の場所から取得する取得ステップと、
前記取得された複数の指定データを表示手段に表示するステップと、
前記表示された複数の指定データの内の何れかの指定データを選択するステップと、
前記選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、前記指定データに従った次の処理を実行可能な装置に送信するステップと、
を備えた情報処理方法。
【請求項７】
複数の処理の順番を指定する指定データを記憶する外部の場所のアドレス及び該指定データに従って処理の対象となるデータとを受信するステップと、
前記受信された指定データのアドレスに基づいて、前記外部の場所から指定データを取得するステップと、
前記受信された処理の対象となるデータに対し、前記取得した指定データに従って処理を実行するステップと、
前記受信した指定データのアドレス、及び、該指定データに従って処理の対象となるデータとして前記指定データに従って処理が実行されたデータを、前記指定データに従った次の処理を実行可能な装置に送信するステップと、
を備えた情報処理方法。
【請求項８】
前記処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を処理実行状態記憶手段に記憶するステップを更に備えたことを特徴とする請求項６又は請求項７記載の情報処理方法。
【請求項９】
他の情報処理装置において実行可能な処理の種類を示す情報を実行可能処理種類記憶手段に記憶するステップと、
前記記憶された実行可能な処理の種類を示す情報と、前記指定データに従った次の処理とに基づいて、前記指定データに従った次の処理を実行可能な装置を決定する決定ステップと、
を更に備え、
前記送信のステップでは、前記決定された装置に、前記指定データのアドレス、及び、該指定データに従って処理の対象となるデータを送信する、
ことを特徴とする請求項６乃至請求項８の何れか１項に記載の情報処理方法。
【請求項１０】
他の情報処理装置の稼動状況を示す情報を稼動状況情報記憶手段に記憶するステップを更に備え、
前記決定のステップでは、前記次の処理を実行可能な情報処理装置が複数決定された場合、前記記憶された他の情報処理装置の稼動状況を示す情報と、次の処理を実行可能な複数の情報処理装置とに基づいて、次の処理を実行可能な複数の情報処理装置の内の最も処理を早く完了可能な情報処理装置を、次の処理を実行可能な情報処理装置として決定する、
ことを特徴とする請求項９記載の情報処理方法。
【請求項１１】
コンピュータに以下の情報処理を実行させるプログラムであって、
前記処理は、
各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶するステップと、
前記記憶されたアドレスに基づいて、複数の指定データを前記外部の場所から取得する取得ステップと、
前記取得された複数の指定データを表示手段に表示するステップと、
前記表示された複数の指定データの内の何れかの指定データを選択するステップと、
前記選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、前記指定データに従った次の処理を実行可能な装置に送信するステップと、
を備えた情報処理プログラム。
【請求項１２】
コンピュータに以下の情報処理を実行させるプログラムであって、
前記処理は、
複数の処理の順番を指定する指定データを記憶する外部の場所のアドレス及び該指定データに従って処理の対象となるデータとを受信するステップと、
前記受信された指定データのアドレスに基づいて、前記外部の場所から指定データを取得するステップと、
前記受信された処理の対象となるデータに対し、前記取得した指定データに従って処理を実行するステップと、
前記受信した指定データのアドレス、及び、該指定データに従って処理の対象となるデータとして前記指定データに従って処理が実行されたデータを、前記指定データに従った次の処理を実行可能な装置に送信するステップと、
を備えた情報処理プログラム。
【請求項１３】
前記処理は、前記処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を処理実行状態記憶手段に記憶するステップを更に備えたことを特徴とする請求項１１又は請求項１２記載の情報処理プログラム。
【請求項１４】
前記処理は、
他の情報処理装置において実行可能な処理の種類を示す情報を実行可能処理種類記憶手段に記憶するステップと、
前記記憶された実行可能な処理の種類を示す情報と、前記指定データに従った次の処理とに基づいて、前記指定データに従った次の処理を実行可能な装置を決定する決定ステップと、
を更に備え、
前記送信のステップでは、前記決定された装置に、前記指定データのアドレス、及び、該指定データに従って処理の対象となるデータを送信する、
ことを特徴とする請求項１１乃至請求項１３の何れか１項に記載の情報処理プログラム。
【請求項１５】
他の情報処理装置の稼動状況を示す情報を稼動状況情報記憶手段に記憶するステップを更に備え、
前記決定のステップでは、前記次の処理を実行可能な情報処理装置が複数決定された場合、前記記憶された他の情報処理装置の稼動状況を示す情報と、次の処理を実行可能な複数の情報処理装置とに基づいて、次の処理を実行可能な複数の情報処理装置の内の最も処理を早く完了可能な情報処理装置を、次の処理を実行可能な情報処理装置として決定する、
ことを特徴とする請求項１４記載の情報処理プログラム。
【請求項１６】
複数のピアが接続されて構成されたピアツーピアシステムにおいて、
各ピアは、各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶し、
前記複数のピアの内の少なくとも１つのピアは、
前記記憶するアドレスに基づいて複数の指定データを前記外部の場所から取得し、
前記取得した複数の指定データを表示手段に表示し、
前記表示手段に表示された複数の指定データの内、選択手段により選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、前記指定データに従った次の処理を実行可能なピアに送信する、
ことを特徴とするピアツーピアシステム。
【請求項１７】
前記複数のピアの内の少なくとも１つのピアは、
他のピアから、指定データのアドレス及び該指定データに従って処理の対象となるデータとを受信し、
前記受信した指定データのアドレスに基づいて、指定データを記憶する場所から指定データを読出し、
前記受信された処理の対象となるデータに対し、前記読み出した指定データに従って処理を実行し、
前記受信した指定データのアドレス、及び、該指定データに従って処理の対象となるデータとして前記指定データに従って処理が実行されたデータを、前記指定データに従った次の処理を実行可能なピアに送信する、
ことを特徴とする請求項１６記載のピアツーピアシステム。
【請求項１８】
各ピアは、前記処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を保持することを特徴とする請求項１６又は請求項１７記載のピアツーピアシステム。
【請求項１９】
各ピアは、各ピアの実行可能な処理の種類を示す情報を保持しており、
前記少なくとも１つのピアは、
前記各ピアの実行可能な処理の種類を示す情報と、前記指定データに従った次の処理とに基づいて、前記指定データに従った次の処理を実行可能なピアを決定し、
前記決定されたピアに、前記指定データのアドレス、及び、該指定データに従って処理の対象となるデータを送信する、
ことを特徴とする請求項１６乃至請求項１８の何れか１項に記載のピアツーピアシステム。
【請求項２０】
各ピアは、
他のピアの処理実行状態を示す情報を保持しており、
前記少なくとも１つのピアは、
前記指定データに従った次の処理を実行可能なピアが複数決定された場合、該他のピアの処理実行状態を示す情報と、次の処理を実行可能な複数のピアとに基づいて、次の処理を実行可能な複数のピアの内の最も処理を早く完了するピアを、次の処理を実行可能なピアとして決定する、
ことを特徴とする請求項１９記載のピアツーピアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラム、及びピアツーピアシステムに関する。
【背景技術】
【０００２】
従来、コンピュータ等の装置を、ネットワークを介して互いに接続するネットワークシステムの形態として、クライアント・サーバシステムと、ピアツーピア（以下、Ｐ２Ｐという）システムとがある。
【０００３】
クライアント・サーバシステムは、サーバが各種情報資源を管理したり各種アプリケーションを提供するサービスを実行し、これをクライアントが利用するシステムであり、主従関係が固定的なシステムある。
【０００４】
これに対し、Ｐ２Ｐシステムでは、基本的には専用のサーバを設けず、ネットワークに接続されたピア（例えばパーソナルコンピュータ等）の各々が、あるときは他のピアに対して所定のサービスを提供してサーバのように動作し、あるときは他のピアが提供するサービスを利用してクライアントのように動作するシステムであり、各ピアが対等なシステムである。このようなＰ２Ｐシステムに関して、従来様々な技術が提案されている（例えば特許文献１及び特許文献２参照）。
【特許文献１】特開２００２−３３５２６９号公報
【特許文献２】特開２００３−２５６３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記Ｐ２Ｐシステムにおいて、原稿をスキャナにおいてスキャンし、スキャンして得たイメージデータをフォーマット変換し、変換されたデータを保存するなどのように、データを一連に処理したい場合がある。
【０００６】
このような場合、これら一連の処理を指定する指定データをユーザが自分のパソコン等で作成し、これをスキャナに送信し、指定データを受信したスキャナは、この指定データと、原稿をスキャンして得たイメージデータとを、フォーマット変換するピアに送ることが考えられる。
【０００７】
しかし、上記のように、これら一連の処理を指定する指定データをユーザが自分で作成することは煩わしい。一連の処理が提携業務に関するものであれば、複数のユーザ各々が同一の指定データを作成することにもなり、効率が悪い。
【０００８】
このような場合、上記作成された指定データを上記スキャナに記憶させることも考えられる。
【０００９】
しかし、スキャナが複数存在する場合、何れのスキャナでも上記のように処理させるには、各スキャナに指定データを記憶させなければならず、ユーザにとって煩わしく、利便性が悪い。また、１つのスキャナのみに指定データを記憶させたのでは、ユーザは、指定データを記憶するスキャナを覚えておかなければならず、やはりユーザの利便性が悪い。
【００１０】
本発明は、上記事実に鑑み成されたもので、ユーザの利便性を向上することの可能な情報処理装置、情報処理方法、情報処理プログラム、及びピアツーピアシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために請求項１に記載の発明の情報処理装置は、各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶する記憶手段と、前記記憶されたアドレスに基づいて複数の指定データを前記外部の場所から取得する取得手段と、前記取得された複数の指定データを表示する表示手段と、前記表示された複数の指定データの内の何れかの指定データを選択するための選択手段と、前記選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、前記指定データに従った次の処理を実行可能な装置に送信する送信手段と、を備えている。
【００１２】
即ち、記憶手段は、各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶する。なお、外部の場所とは、情報処理装置の外部の場所である。
【００１３】
取得手段は、記憶されたアドレスに基づいて複数の指定データを外部の場所から取得し、表示手段は、前記取得された複数の指定データを表示する。
【００１４】
このように複数の指定データを表示手段に表示すると、ユーザは、処理の対象となるデータに対して実行したい複数の処理の順番を指定する指定データを、選択手段を介して選択する。
【００１５】
このように、表示手段に表示された複数の指定データの内、選択手段により指定データが選択されると、送信手段は、選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、指定データに従った次の処理を実行可能な装置に送信する。
【００１６】
なお、本情報処理装置は、指定データに従って処理の対象となるデータを次のように取得することができる。例えば、本装置が原稿を読み取ることにより得てもよく、また、他のピア等から入力又は受信してもよく、更には、本装置において生成してもよい。
【００１７】
以上説明したように、指定データを記憶する場所のアドレスを記憶するので、複数の情報処理装置の内の任意の情報処理装置に対して、複数の指定データを表示手段に表示させることができ、ユーザは、指定データを選択するための情報処理装置として、任意の情報処理装置を選ぶことができ、利便性が向上する。
【００１８】
ところで、上記のように、指定データのアドレス、及び、処理の対象となるデータを、該指定データに従った次の処理を実行可能な情報処理装置に送信するので、指定データのアドレス及び該指定データに従って処理の対象となるデータとを受信した情報処理装置では、請求項２のように、取得手段は、前記受信された指定データのアドレスに基づいて、指定データを前記外部の場所から取得する。
【００１９】
処理実行手段は、前記受信された処理の対象となるデータに対し、前記取得した指定データに従って処理を実行し、送信手段は、前記受信した指定データのアドレス、及び、該指定データに従って処理の対象となるデータとして前記指定データに従って処理が実行されたデータを、前記指定データに従った次の処理を実行可能な装置に送信する。
【００２０】
ところで、情報処理装置は、前記処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を記憶する処理実行状態記憶手段を更に備えるようにしてもよい。
【００２１】
即ち、例えば、上記指定データに従って処理の対象となるデータを外部の場所から取得した情報処理装置（請求項１等）や、上記データに対し指定データに従って処理を実行した情報処理装置（請求項２）は、処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を他の情報処理装置に送信する。これにより、他の情報処理装置は、処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を記憶することができる。
【００２２】
このように、処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を記憶する情報処理装置は、該情報に基づいて、表示手段に処理の実行状態を表示するようにしてもよい。これにより、ユーザは、処理の実行状態を把握することができる。
【００２３】
ところで、上記情報処理装置は、請求項４のように、他の情報処理装置において実行可能な処理の種類を示す情報を記憶する実行可能処理種類記憶手段と、前記記憶された実行可能な処理の種類を示す情報と、前記指定データに従った次の処理とに基づいて、前記指定データに従った次の処理を実行可能な装置を決定する決定手段と、を更に備え、前記送信手段は、前記決定された装置に、前記指定データのアドレス、及び、該指定データに従って処理の対象となるデータを送信するようにしてもよい。
【００２４】
このように、情報処理装置が、次の処理を実行可能な情報処理装置を決定するので、情報処理装置間で次の処理を実行可能な情報処理装置の情報を送受信しなくてもすみ、送受信量を減少させることができる。
【００２５】
更に、請求項５のように、他の情報処理装置の稼動状況を示す情報を記憶する稼動状況情報記憶手段を更に備え、前記決定手段は、前記次の処理を実行可能な情報処理装置が複数決定された場合、前記記憶された他の情報処理装置の稼動状況を示す情報と、次の処理を実行可能な複数の情報処理装置とに基づいて、次の処理を実行可能な複数の情報処理装置の内の最も処理を早く完了可能な情報処理装置を、次の処理を実行可能な情報処理装置として決定するようにしてもよい。
【００２６】
このように、次の処理を実行可能な複数の情報処理装置の内の最も処理を早く完了する情報処理装置を、次の処理を実行可能な情報処理装置として決定するので、全体の処理を早く完了することができる。
【００２７】
なお、請求項６〜請求項１０の情報処理方法、及び、請求項１１〜請求項１５の情報処理プログラムもそれぞれ、上記請求項１〜請求項５と同様な作用、効果を奏するので、その説明を省略する。
【００２８】
請求項１６記載の発明は、複数のピアが接続されて構成されたピアツーピアシステムにおいて、各ピアは、各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶し、前記複数のピアの内の少なくとも１つのピアは、前記記憶するアドレスに基づいて複数の指定データを前記外部の場所から取得し、前記取得した複数の指定データを表示手段に表示し、前記表示手段に表示された複数の指定データの内、選択手段により選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、前記指定データに従った次の処理を実行可能なピアに送信することを特徴とする。
【００２９】
即ち、本発明は、複数のピアが接続されて構成されたピアツーピアシステムである。
【００３０】
各ピアは、各々複数の処理の順番を指定する複数の指定データを記憶する外部の場所のアドレスを記憶する。
【００３１】
複数のピアの内の少なくとも１つのピアは、上記のように記憶するアドレスに基づいて、複数の指定データを外部の場所から取得し、取得した複数の指定データを表示手段に表示する。
【００３２】
このように複数の指定データを表示手段に表示すると、ユーザは、処理の対象となるデータに対して実行したい複数の処理の順番を指定する指定データを、選択手段を介して選択する。
【００３３】
このように、表示手段に表示された複数の指定データの内、選択手段により指定データが選択されると、上記ピアは、選択された指定データのアドレス、及び、該指定データに従って処理の対象となるデータを、該指定データに従った次の処理を実行可能なピアに送信する。
【００３４】
なお、本ピアは、指定データに従って処理の対象となるデータを次のように取得することができる。例えば、本ピアが原稿を読み取ることにより得てもよく、また、他のピア等から入力又は受信してもよく、更には、本ピアにおいて生成してもよい。
【００３５】
以上説明したように、各ピアが指定データを記憶する外部の場所のアドレスを保持するので、複数のピアの内の任意のピアに対して、複数の指定データを表示手段に表示させることができ、ユーザは、指定データを選択するためのピアとして、任意のピアを選ぶことができ、利便性が向上する。
【００３６】
ところで、上記のように、指定データのアドレス、及び、処理の対象となるデータを、該指定データに従った次の処理を実行可能なピアに送信するので、指定データのアドレス及び該指定データに従って処理の対象となるデータとを受信したピアは、請求項１７のように、受信した指定データのアドレスに基づいて、指定データを記憶する外部の場所から指定データを読出し、受信された処理の対象となるデータに対し、読み出した指定データに従って処理を実行する。
【００３７】
そして、本ピアは、受信した指定データのアドレス、及び、該指定データに従って処理の対象となるデータとして前記指定データに従って処理が実行されたデータを、指定データに従った次の処理を実行可能なピアに送信する。
【００３８】
ところで、各ピアは、請求項１８のように、処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を保持するようにしてもよい。即ち、例えば、上記指定データに従って処理の対象となるデータを取得したピアや、上記データに対し指定データに従って処理を実行したピアは、処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を各ピアに送信する。これにより、各ピアは、処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を保持することができる。
【００３９】
このように、処理の対象となるデータに対する指定データに従った処理の実行状態を示す情報を保持するピアは、該情報に基づいて、表示手段に処理の実行状態を表示するようにしてもよい。これにより、ユーザは、処理の実行状態を把握することができる。
【００４０】
ところで、各ピアは、各ピアの実行可能な処理の種類を示す情報を保持するようにしてもよい。
【００４１】
この場合、上記少なくとも１つのピア（上記アドレス及び該処理の対象となるデータを送信するピア）は、請求項１９のように、各ピアの実行可能な処理の種類を示す情報と、前記指定データに従った次の処理とに基づいて、前記指定データに従った次の処理を実行可能なピアを決定し、前記決定されたピアに、前記指定データのアドレス、及び、該指定データに従って処理の対象となるデータを送信するようにする。
【００４２】
このように、ピアが、次の処理を実行可能なピアを決定するので、ピア間で次の処理を実行可能なピアの情報を送受信しなくてもすみ、送受信量を減少させることができる。
【００４３】
更に、各ピアは、他のピアの処理実行状態を示す情報を保持するようにしてもよい。
【００４４】
この場合、上記少なくとも１つのピア（上記アドレス及び該処理の対象となるデータを送信するピア）は、請求項２０のように、指定データに従った次の処理を実行可能なピアが複数決定された場合、該他のピアの処理実行状態を示す情報と、次の処理を実行可能な複数のピアとに基づいて、次の処理を実行可能な複数のピアの内の最も処理を早く完了するピアを、次の処理を実行可能なピアとして決定するようにしてもよい。
【００４５】
このように、次の処理を実行可能な複数のピアの内の最も処理を早く完了するピアを、次の処理を実行可能なピアとして決定するので、全体の処理を早く完了することができる。
【発明の効果】
【００４６】
以上説明したように本発明によれば、指定データを記憶する場所のアドレスを記憶するので、複数の情報処理装置の内の任意の情報処理装置に対して、複数の指定データを表示手段に表示させることができ、ユーザは、指定データを選択するための情報処理装置として、任意の情報処理装置を選ぶことができ、利便性が向上する、という効果を有する。
【００４７】
また、本発明によれば、各ピアが指定データを記憶する外部の場所のアドレスを記憶するので、複数のピアの内の任意のピアに対して、複数の指定データを表示手段に表示させることができ、ユーザは、指定データを選択するためのピアとして、任意のピアを選ぶことができ、利便性が向上する、という効果がある。
【発明を実施するための最良の形態】
【００４８】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
【００４９】
以下、本発明の実施形態について説明する。
【００５０】
図１には、Ｐ２Ｐネットワーク１０のネットワーク構成について概念的に示した。図１に示すように、Ｐ２Ｐネットワーク１０は、仮想的には各ピア１２Ａ〜１２Ｇが相互に接続された構成であり、実際には、例えばピア１２Ａ〜１２Ｃはファイアウォール１４によるアクセス制限下にあるピアであったり、ピア１２Ｃ〜１２Ｅはインターネットに接続されたピアであったり、ピア１２Ｅ〜１２ＧはＮＡＴ（Network Address Translation）によってアドレス変換されるピアであったりする。
【００５１】
また、各ピア同士の接続方法は様々であり、ＩＰｖ４（Internet Protocol version 4）やＩＰｖ６（Internet Protocol version 6）の機能を用いるＴＣＰ（Transmission Control Protocol）接続を用いたり、ＨＴＴＰ（HyperText Transfer Protocol）を用いたり、ＳＭＴＰ（Simple Mail Transfer Protocol）を用いたりすることができる。
【００５２】
ここで、ピアとは、例えばパーソナルコンピュータ等のコンピュータの他、ＰＤＡ（Personal Digital Assistance）、携帯電話、プリンタ、コピー機、これらの機能を複数備えた複合機等のハードウェア又はこれらの機能を実現するソフトウェアをいう。また、各ピアは、同じ種類のものであるか異なる種類のものであるかにかかわらずＰ２Ｐネットワークに参加することができる。
【００５３】
Ｐ２Ｐネットワークの形態としては、図２に示すように、各ピア１４Ａ〜１４Ｋの全てが対等な関係にあるピュアＰ２Ｐと、図３に示すように、サーバ１４Ｓを設け、一部のサービスの提供をサーバ１４Ｓに委ね、その他のサービスについては各ピア１４Ａ〜１４Ｈが対等な関係において実現されるハイブリッドＰ２Ｐの形態があり、何れの形態でも本発明を適用可能である。
【００５４】
また、Ｐ２Ｐネットワークに参加する各ピアにログオンするユーザ又はピアは、図４に示すように、目的に応じたグループを構成することができる。図４では、ピア１２Ａ〜１２Ｇ全てがグループ１に属し、さらに、ピア１２Ａ、１２Ｃ、１２Ｅ、１２Ｆはグループ２に属しており、ピア１２Ｂ、１２Ｅ、１２Ｆ、１２Ｇはグループ３に属している。なお、各ユーザ又はピアは、単一のグループに属してもよいし、複数のグループに属していてもよい。また、ユーザ又はピアは必ずしもグループに属する必要はない。
【００５５】
図５には、Ｐ２Ｐネットワーク１０に参加する各ピアの基本構成を示した。図５に示すように、ピア１２は、Ｐ２Ｐ基盤構成部１６、Ｐ２Ｐ基盤管理データ記憶部１８、アプリケーション実行部２０、及びアプリケーションメモリ２２を含んで構成される。
【００５６】
Ｐ２Ｐ基盤構成部１６は、メッセージ制御部２４、データ管理部２６、送信部２８、及び受信部３０を含んで構成される。
【００５７】
送信部２８は、メッセージ制御部２４から受け取ったメッセージをネットワーク３２へ向けて送信する。
【００５８】
受信部３０は、Ｐ２Ｐネットワーク１０内で送受信されるデータのうち、自ピアにとって必要なデータを受信する。常に受信待機状態となっており、Ｐ２Ｐネットワーク１０の他ピアからの各種要求やデータを受信し、メッセージ制御部２４に受け渡す。なお、送信部２８とは独立かつ並列に動作する。
【００５９】
図６には、メッセージ制御部２４の概略構成を示した。メッセージ制御部２４は、図６に示すように、サービス実行部３４及びメッセージディスパッチ部３６を含んで構成されている。
【００６０】
サービス実行部３４は、ピア探索サービス部３８、告知情報公開サービス部４０、告知情報取得サービス部４２、グループ管理サービス部４４、ユーザ管理サービス部４６、及びピア管理サービス部４８を含んで構成されており、各サービス部は相互に情報を授受しながら各サービスを実行する。
【００６１】
ピア探索サービス部３８は、Ｐ２Ｐネットワークに参加しているピアを探索する機能及び自ピアが必要とするサービス（機能）を提供可能なピアを探索する機能を有する。なお、探索の範囲は、必要とするサービスの名称や属性、ホップ数の閾値等を指定することにより制御することができる。ここで、ホップ数とは、メッセージを送信する際に経由するピアの数である。
【００６２】
告知情報公開サービス部４０は、自ピアが提供可能なサービス等の情報を告知情報としてＰ２Ｐネットワーク上に告知（公開）する機能を有する。ここで、提供可能なサービスには、例えばアプリケーション実行部２０により実行されるアプリケーションの他、後述するグループ管理サービスやユーザ管理サービス等も含まれる。なお、告知情報の告知は、例えば他ピアから問い合わせがあった場合や自ピアの起動時に実行してもよいし、定期的に実行するようにしてもよいし、新たにピアがＰ２Ｐネットワークに設けられたときに実行するようにしてもよい。
【００６３】
このように各ピアの告知情報公開サービス部４０によって告知情報がＰ２Ｐネットワーク上に公開されることにより、Ｐ２Ｐネットワークに参加している各ピアは、Ｐ２Ｐネットワーク上でどのようなサービスを利用できるかを把握することができる。
【００６４】
告知情報取得サービス部４２は、ピア探索サービス部３８によって探索されたピアから送信された告知情報又は他ピアから自発的に送信された告知情報を取得し、データ管理部２６へ受け渡す。データ管理部２６では、取得した告知情報をピア情報としてＰ２Ｐ基盤管理データ記憶部１８に記憶させる。これにより、ピアは、Ｐ２Ｐネットワークに参加している他ピアがどのようなサービスを提供しているのかを把握することができる。
【００６５】
グループ管理サービス部４４は、同じ目的を有するピア同士で構成されたグループへの参加や脱退、新たなグループの作成等をグループ情報に基づいて管理する機能を有する。グループ情報は、例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報であり、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。このグループ情報を参照することにより、どのグループにどのユーザが属しているかを把握することができる。
【００６６】
ユーザ管理サービス部４６は、ユーザ情報を管理する機能を有する。ユーザ情報は、例えばピアＩＤとそのピアにログオンしているユーザＩＤとの対応関係を表すログオン情報や、ユーザの名前、メールアドレス等のユーザ自身に関する情報、そのユーザが属するグループのグループＩＤ等の情報を含み、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。
【００６７】
ピア管理サービス部４８は、Ｐ２Ｐネットワークに参加しているピアのピア情報を管理する機能を有する。
【００６８】
メッセージディスパッチ部３６は、アプリケーション実行部２０からのメッセージや他ピアとの間で送受信されるメッセージを解析し、サービス実行部３４のうち解析したメッセージに関する処理を行うべきサービス部へ制御を渡す。
【００６９】
Ｐ２Ｐ基盤管理データ記憶部１８は、図５に示すように、経路情報１８Ａ、グループ情報１８Ｂ、隣接情報１８Ｃ、ピア情報１８Ｄ、及びユーザ情報１８Ｅを記憶する。
【００７０】
経路情報１８Ａは、Ｐ２Ｐネットワークにおける経路の情報、例えば後述するスパニングツリーに関する情報を含む。
【００７１】
グループ情報１８Ｂは、前述したように例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報である。
【００７２】
隣接情報１８Ｃは、自ピアに隣接するピアに関する情報、例えばピアＩＤ等の情報を含む。ここで、隣接するピアとは、例えば自ピアから送信したパケットに対する応答時間が予め定めた所定時間内のピアとすることができる。隣接情報は、例えば他ピアと通信する課程において得られる応答時間に基づいて生成することができるが、オペレータの操作等により手動的に設定するようにしてもよい。
【００７３】
ピア情報１８Ｄは、ピア探索サービス部３８によって探索されたピアに関する情報、例えばピアＩＤ等の情報を含む。ここで、ピアＩＤには、例えばＩＰアドレスやＵＲＩ（Uniform Resource Identifier）等を用いることができる。また、ピア情報１８Ｄは、告知情報取得サービス部４２によって取得したＰ２Ｐネットワーク上の各ピアが告知する告知情報等を含む。告知情報には、第１に、ピアが提供するサービスの告知情報がある。第２に、後述するジョブの状態の告知情報、第３に、各ピアの状態（電源OFF、アイドル、ビジー等）を示す告知情報、第４に、後述するジョブテンプレートの告知情報がある。なお、ジョブテンプレートとは、ジョブの処理の手順を示すデータである。
【００７４】
ユーザ情報１８Ｅは、前述したようにユーザのログオン情報やユーザ自身に関する情報等を含む。
【００７５】
アプリケーション実行部２０は、各種アプリケーションを実行するものであり、メッセージ制御部２４を介して他ピアとメッセージの送受信を行う。また、アプリケーションメモリ２２は、アプリケーション実行部２０の実行に関連する各種の情報を記憶するためのメモリである。
【００７６】
次に、Ｐ２Ｐネットワークにおいて、目的のサービスを検索し実行する場合の具体例について説明する。
【００７７】
まず、他ピアへメッセージを転送する機能を有する転送機能付きピアと、転送機能を備えず、転送機能付きピアを介して他ピアとメッセージの送受信を行うエンドピアと、からなるＰ２Ｐネットワークにおいて、転送機能付きピア及びエンドピアのＰ２Ｐ基盤構成部１６で実行される処理について説明する。なお、転送機能付きピアは、図示しない転送機能サービス部をサービス実行部３４に備えた構成である。
【００７８】
図７にはエンドピアで実行される処理のフローチャートを、図８には転送機能付きピアで実行される処理のフローチャートを示した。なお、これらの処理は、それぞれのピアが稼動するように要求されたときに実行される。即ち、ピアが例えばコンピュータなどである場合には当該コンピュータに電源が投入されたときに実行される。
【００７９】
図７に示すように、エンドピアは、ステップ１００において、転送機能付きピアの探索要求を、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対してＰ２Ｐネットワークに送信する。これは、ピア探索サービス部３８により実行される。
【００８０】
そして、ステップ１０２において、転送機能付きピアが存在するか否かを判断し、転送付きピアが存在する場合には、ステップ１０４へ移行し、転送機能付きピアが存在しない場合には、ステップ１０２へ戻り、例えば所定時間経過後に再度転送機能付きピアを探索する。
【００８１】
ステップ１０４では、自ピアにログオンしているユーザ又は自ピアが属するグループに属している他ユーザがログオンしている他ピアの告知情報を取得するように、上記探索された転送機能付きピアに要求する。これは、告知情報取得サービス部４２により実行される。
【００８２】
ステップ１０６では、転送機能付きピアから告知情報を受信したか否かを判断し、受信していない場合には、ステップ１１０へ移行し、受信した場合には、ステップ１０８において、受信した告知情報をＰ２Ｐ基盤管理データ記憶部１８にピア情報１８Ｄとして記憶させる。
【００８３】
ステップ１１０では、サービス要求が発生したか否かを判断する。例えば自ピアにログインしているユーザの操作等によってアプリケーション実行部２０によりアプリケーションが実行され、サービス要求が発生した場合には、アプリケーション実行部２０からメッセージ制御部２４へサービス要求が通知される。この場合、ステップ１１２へ移行し、サービス要求が発生していない場合には、ステップ１１６へ移行する。
【００８４】
ステップ１１２では、発生したサービス要求に対応したメッセージを作成して上記探索された転送機能付きピアに送信する。例えば、アプリケーション実行部２０からのサービス要求が、所望のファイルを取得する要求だった場合には、アプリケーション実行部２０から通知されたファイル名等の所望のファイルを特定するための情報を含むファイル探索要求メッセージを転送機能付きピアに送信する。
【００８５】
ステップ１１４では、送信したメッセージに対する応答処理を行う。すなわち、送信したメッセージに対する応答メッセージを受信し、受信した応答メッセージの内容に応じた処理を行う。例えば、サービス要求が所定のファイルを取得する要求であった場合には、そのファイルを所有しているピアがあれば、そのピア情報が応答メッセージとして受信されるので、これをアプリケーション実行部２０に通知する。この場合、アプリケーション実行部２０では、受信したピア情報に基づいて、所望のファイルを所有しているピアにファイル送信要求を送信するようメッセージ制御部２４に依頼する。これにより、所望のファイルを取得することができる。
【００８６】
そして、ステップ１１６では、転送機能付きピアから、他ピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、要求メッセージを受信していた場合には、ステップ１１８へ移行し、要求メッセージを受信していない場合には、ステップ１０６へ戻って上記と同様の処理を繰り返す。
【００８７】
ステップ１１８では、要求に対する処理を実行する。そして、ステップ１２０において、処理結果に対応したメッセージを転送機能付きピアに送信する。例えば、他ピアからファイル探索の要求メッセージを受信した場合には、その要求メッセージをファイル検索を実行するアプリケーション実行部２０へ渡す。これによりアプリケーション実行部２０においてファイル検索が実行され、検索結果がメッセージ制御部２４に通知される。メッセージ制御部２４では、アプリケーション実行部２０から通知された検索結果に基づいて応答メッセージを作成し、ファイル探索要求メッセージの送信元のピアに送信する。例えばファイルが検索できた場合には、自ピアのピアＩＤ等の情報を含めた応答メッセージを作成して、ファイル探索要求メッセージの送信元のピアに送信する。これにより、送信元のピアでは、所望のファイルが検索できたか否かを確認することができる。
【００８８】
次に、転送機能付きピアで実行される処理について説明する。
【００８９】
転送機能付きピアは、まず図８に示すステップ２００において、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対して、グループ情報やユーザ情報、上記告知情報等の各種情報を送信するよう要求し、これらの情報を取得する。取得した情報は、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。これにより、Ｐ２Ｐネットワークを構成しているピアの情報やログインしているユーザの情報、上記告知情報を得ることができる。
【００９０】
ステップ２０２では、Ｐ２Ｐ基盤管理データ記憶部１８に記憶された隣接情報１８Ｃを、自ピアの隣の転送機能付きピア全てに告知する。隣接情報１８Ｃには、自ピアの隣の転送機能付きピアの情報が少なくとも含まれ、さらに、他のピアが有している隣接情報を既に取得している場合には、その隣接情報も含まれる。
【００９１】
ステップ２０４では、隣の転送機能付きピアに隣接情報を送信するよう要求し、取得する。このように、自ピアの隣の転送機能付きピアと隣接情報を交換する。
【００９２】
そして、ステップ２０６では、交換した隣接情報に基づき、スパニングツリーの構成情報を生成し、Ｐ２Ｐ基盤管理データ記憶部１８に経路情報として記憶する。ここで、スパニングツリーとは、メッセージの転送経路が、ループのない木構造となるような経路を表す。例えばＰ２Ｐネットワークが、図９（Ａ）に示すように、グループ１にのみ属する転送機能付きピア５０1、グループ２にのみ属する転送機能付きピア５０2、グループ１、２の何れにも属する転送機能付きピア５０12、何れのグループにも属さない転送機能付きピア５０n、これらの各転送機能付きピアの背後に存在するエンドピア（図９では図示省略）で構成されていたとする。この場合、スパニングツリーは、図９（Ｂ）に示すようなループのない木構造の経路となる。
【００９３】
次のステップ２０８では、エンドピアからのメッセージ送信要求を受信したか否かを判断し、受信している場合にはステップ２１０へ移行し、受信していない場合には、ステップ２１２へ移行する。
【００９４】
ステップ２１０では、スパニングツリーの構成情報としての経路情報に基づいて、メッセージを転送する。例えば、図９（Ａ）に示すようなネットワークが構築されている場合において、エンドピアが例えばグループ１に属しており、グループ１向けの要求メッセージを転送機能付きピアに送信した場合について説明する。この場合、転送機能付きピアは、グループ１に属しているエンドピアに対してのメッセージ転送を担う転送機能付きピアを全て含み、この転送機能付きピア全てにメッセージが転送されるようなスパニングツリー、例えば図９（Ｃ）に示すようなスパニングツリーを経路情報に基づいて計算する。そして、転送機能付きピアは、計算されたスパニングツリーに基づいて、隣の転送機能付きピア全てにエンドピアからの要求メッセージを転送する。これにより、図９（Ｃ）に示すスパニングツリー上の転送機能付きピアにメッセージが転送され、グループ１のエンドピア全てにメッセージが転送される。なお、グループ２向けのメッセージ送信要求を転送機能付きピアに送信した場合は、図９（Ｄ）に示すようなスパニングツリーが計算される。
【００９５】
次のステップ２１２では、隣の転送機能付きピアからメッセージを受信したか否かを判断し、受信した場合にはステップ２１４へ移行し、受信していない場合には、ステップ２０８へ戻って上記と同様の処理を繰り返す。なお、定期的にステップ２００へ戻ってスパニングツリーを定期的に計算するようにしてもよい。
【００９６】
ステップ２１４では、計算したスパニングツリーに基づき、メッセージを転送する必要がある場合、すなわちスパニングツリー上における隣の転送機能付きピアのうちメッセージを転送していない転送機能付きピアが存在する場合には、その転送機能付きピアにメッセージを転送する。また、受信したメッセージが、自ピアがメッセージの転送を担うエンドピアと同一のグループ宛であった場合には、そのメッセージをエンドピアへ転送する。
【００９７】
このように、スパニングツリーを各転送機能付きピアが計算し、このスパニングツリー計算に従ってメッセージを転送することにより、同じグループ内のエンドピア間においてメッセージの送受信が可能となる。
【００９８】
また、本転送機能付きピアも、エンドピアが実行する上記処理（ステップ１１６〜１２０（図７））を実行する。
【００９９】
上記のような転送機能付きピアによってメッセージを転送する構成は、主にＬＡＮ（Local Area Network）等の比較的小規模のネットワークでＰ２Ｐネットワークを構築する場合に適しているが、大規模のネットワークでＰ２Ｐネットワークを構成する場合には、ファイアウォールやゲートウェイ等を介して、異なるネットワークに接続されたピア間でメッセージの送受信が行われる。以下では、このような比較的大規模なネットワークでＰ２Ｐネットワークを構築する場合に適した形態について説明する。
【０１００】
図１０に示すＰ２Ｐネットワーク１１は、複数のネットワーク５２〜５８を含み、ネットワーク５２は、ルータ６０、６２を介してネットワーク５４と接続されると共に、ルータ６４を介してネットワーク５８と接続される。また、ネットワーク５６は、ルータ６６を介してネットワーク５８と接続される。
【０１０１】
ネットワーク５２は、エンドピア５２Ａ、５２Ｂ、及び待ち合わせ機能付きピア５２Ｃを含んで構成され、ネットワーク５４はエンドピア５４Ａを含んで構成され、ネットワーク５６はエンドピア５６Ａを含んで構成され、ネットワーク５８は中継機能付きピア５８Ａを含んで構成されている。なお、待ち合わせ機能付きピアは、図示しない待ち合わせ機能サービス部をサービス実行部３４に備えた構成であり、中継機能付きピア５８Ａは、図示しない中継機能サービス部をサービス実行部３４に備えた構成である。
【０１０２】
このように構成されたＰ２Ｐネットワーク１１において、エンドピアは、図７のフローチャートの示す処理とほぼ同様の処理を実行する。すなわち、Ｐ２Ｐネットワーク１１におけるエンドピアで実行される処理は、図７のフローチャートの説明において、転送機能付きピアを待ち合わせ機能付きピアに言い換えた処理を実行すると考えることができる。
【０１０３】
また、中継機能付きピアは、基本的には所謂ゲートウェイとしての動作をするピアである。中継機能付きピアは、まず、例えば自ピアに記憶された設定情報に予め設定された他のピアに対して、又はマルチキャストやブロードキャストにより他のピアに対して、グループ情報やユーザ情報等の各種情報を送信するよう要求し、これらの情報を取得しておく。そして、他ピアからメッセージを受信した場合には、送信先として指定されたピアにメッセージを転送する。
【０１０４】
次に、待ち合わせ機能付きピアで実行される処理について、図１１に示すフローチャートを参照して説明する。
【０１０５】
まず、ステップ３００において、例えば自ピアに記憶された設定情報に予め設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストによって、他のピアに対してグループ情報やユーザ情報等の各種情報を送信するよう要求する。
【０１０６】
ステップ３０２では、他ピアから何らかの情報、例えばステップ３００で要求したグループやユーザ情報、上記告知情報等の情報や、他ピアからの告知情報等を受信したか否かを判断し、受信した場合には、ステップ３０４へ移行し、受信していない場合には、ステップ３０６へ移行する。
【０１０７】
ステップ３０４では、他ピアから受信した情報をＰ２Ｐ基盤管理データ記憶部１８に記憶させる。例えば受信した情報がグループ情報であればグループ情報１８ＢとしてＰ２Ｐ基盤管理データ記憶部１８に記憶させ、受信した情報がユーザ情報であればユーザ情報１８ＥとしてＰ２Ｐ基盤管理データ記憶部１８に記憶させる。
【０１０８】
ステップ３０６では、エンドピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、受信している場合には、ステップ３０８へ移行し、受信していない場合には、ステップ３０２へ戻って上記と同様の処理を繰り返す。
【０１０９】
ステップ３０８では、要求メッセージに対応した情報が自ピアのＰ２Ｐ基盤管理データ記憶部１８に記憶されているか否かを判断し、記憶されている場合には、ステップ３１０へ移行し、記憶されていない場合には、ステップ３１２へ移行する。
【０１１０】
ステップ３１０では、要求メッセージに対応した情報をＰ２Ｐ基盤管理データ記憶部１８から読み出して要求元のピアに送信する。
【０１１１】
一方、ステップ３１２では、要求メッセージを隣接のピアに転送する。これにより、要求メッセージが他ピアに伝搬される。これにより、要求メッセージに対応した処理を実行可能なピアから応答メッセージが送信される。
【０１１２】
ステップ３１４では、要求メッセージに対応した処理を実行可能なピアから送信された応答メッセージを受信し、これを要求元のエンドピアに送信する。
【０１１３】
ここで、ネットワーク５４のピア５４Ａが告知情報の探索要求を行う場合について説明する。この場合、ピア５４Ａは、待ち合わせ機能付きピアを検索し、検索された待ち合わせ機能付きピア５２Ｃに告知情報の探索要求メッセージを送信する。これにより待ち合わせ機能付きピア５２Ｃは、自ピアに他ピアの告知情報が蓄積されていれば、これをピア５４Ａに送信し、蓄積されていない場合には、例えば隣のピア５２Ａ、５２Ｂ等に告知情報を送信するよう要求する。このとき、ピア５２Ａは、自ピアの告知情報と、自ピアに記憶されている他ピアの告知情報、例えばピア５６Ａの告知情報がすでに記憶されている場合には、その告知情報とを待ち合わせ機能付きピア５２Ｃに送信する。ピア５２Ｃについても同様である。待ち合わせ機能付きピア５４Ｃは、他ピアから送信された告知情報を蓄積すると共に、ピア５４Ａに送信する。
【０１１４】
以上のように、待ち合わせ機能付きピアは、他ピアから送信された告知情報等の各種情報を自ピアに蓄積しておき、エンドピアからの要求に対応した情報が自ピアに記憶されている場合には、その情報をエンドピアに送信する。従って、Ｐ２Ｐネットワーク１１のように大規模なネットワークにおけるメッセージの送受信の効率を向上させることができる。
【０１１５】
次に、アプリケーション実行の具体例として、アプリケーションがファイル共有サービスの場合におけるアプリケーション実行部２０の処理について説明する。
【０１１６】
この場合、アプリケーション実行部２０は、ファイル名等の所望のファイルを特定するための情報を少なくとも含んだファイル探索要求をメッセージ制御部２４のメッセージディスパッチ部３６に通知する。メッセージディスパッチ部３６では、このファイルを所有するピアを探索するようピア探索サービス部３８に対して要求する。これにより、ピア探索サービス部３８によって所望のファイルを所有するピアが探索され、アプリケーション実行部２０に通知される。そして、アプリケーション実行部２０では、探索されたピアに対してファイルを送信するよう要求し、取得する。なお、所望のファイルを所有しているピアの情報を既に取得しており、自ピアに記憶されていた場合には、ピア探索を実行せずに、直接そのピアにファイル送信要求を送信してファイルを取得すればよい。
【０１１７】
このように、アプリケーション実行部２０は、メッセージ制御部２４を介して他ピアとメッセージの送受信を行い、サービスを提供する。
【０１１８】
次に、図７のステップ１１６、１１８の処理を更に詳細に説明する。
【０１１９】
本実施の形態では、上記のように告知情報を各ピアで共有する。図１２に示すように、告知情報は、順次ピアへ伝播される。例えば、上記ステップ１０４（図７）やステップ２００（図８）の処理等により、順次ピアへ伝播される。この処理において伝播される告知情報は、ピアが提供するサービスの告知情報である。
【０１２０】
ピアが提供するサービスの告知情報は、種々あるが、図１３（Ａ）には、文書変換の告知情報が示されている。図１３（Ａ）における、サービスの告知情報のType: 1は、データがピアが提供するサービスの告知情報であることを示す。Function: Convertは、ピアが提供するサービスが、フォーマット変換であることを示す。Detail: (TIFF, PDF), (TIFF, PostScript)は、当該サービスの機能詳細(変換フォーマット)を示す。Stauts: idleは、当該ピアの状態を示し、現在、アイドル（idle：待機中）であることを示す。そして、Address: A.B.C.Dは、当該ピアのアドレスを示す。
【０１２１】
この告知情報が各ピアで共有されることによって、ピアアドレスA.B.C.Dに存在するピアは、フォーマット変換が可能で、より詳細には、TIFFを、PDFまたはPostScriptに変換することができることを、各ピアが判断することができる。
【０１２２】
また、図１３（Ｂ）には、リポジトリー（ファイル保存）の告知情報が示されている。図１３（Ｂ）に示すType: 1は、上記と同様に、データがピアが提供するサービスの告知情報であることを示す。Function: Repositoryは、ピアが提供するサービスが、ファイル保存であることを示す。Detail: http, ftp, SMBは、当該サービスの機能詳細(アクセスプロトコル)を示す。Stauts: idleは、上記と同様に当該ピアの状態を示す。そして、Address: A.B.C.Eは、当該ピアのアドレスを示す。
【０１２３】
この告知情報が各ピアで共有されることによって、ピアアドレスA.B.C.Eに存在するピアは、ファイル保存が可能であることを、各ピアが判断することができる。
【０１２４】
また、後述するようにジョブが発生し、処理されると、ジョブの状態の告知情報が告知され、各ピアに共有される。ジョブの状態の告知情報は、より詳細には、図１４に示すType: 2は、ジョブの状態の告知情報であることを示す。Job Id: ea850c-a674-554c090213513は、JobのユニークID（ジョブに識別情報）を示す。JobTemplateId: 151a-ef15-deadbeefは、当該ジョブの処理手順を示すジョブテンプレート（JobTemplate）のユニークID（ジョブテンプレートに識別情報）を示す。Status:  HYPERLINK mailto:pending@2 pending@2は、このジョブの状態が2個めの処理待ちであることを示す。Location: A.B.C.Eは、当該ジョブの処理を現在担当するピアアドレスを示す。DataLocation:  HYPERLINK http://A.B.C.F/job/file.tiff http://A.B.C.F/job/file.tiffは、ジョブデータファイルの場所を示す。JobName: 月報(2003/9)は、ジョブ名を示す。
【０１２５】
このジョブの状態の告知情報が各ピアに共有されることにより、Job Id: ea850c-a674-554c090213513で識別されるジョブの状態は、最初の処理(スキャン)が終了し、そのデータがhttp://A.B.C.F/job/file.tiffというURLで参照可能な場所に保存されていること、また、２個めの処理(ノードA.B.C.E)で処理待ち状態であることを各ピアは判断することができる。
【０１２６】
次にジョブテンプレート（JobTemplate）の告知情報を説明する。図１５（Ａ）に示すType: 3は、ジョブテンプレートの告知情報であることを示す。JobTemplateId: 151a-ef15-deadbeefは、ジョブテンプレートのユニークID（識別情報）を示す。JobTemplateDesc: PDFに変換してストアは、ジョブテンプレートによるジョブの処理手順を説明するものである。Location:  HYPERLINK http://A.B.C.1/JT/151a-ef15-deadbeef http://A.B.C.1/JT/151a-ef15-deadbeefは、当該ジョブテンプレートの格納場所を示す。
【０１２７】
図１５（Ｂ）には、JobTemplateId: 151a-ef15-deadbeefで識別され、 HYPERLINK http://A.B.C.1/JT/151a-ef15-deadbeef http://A.B.C.1/JT/151a-ef15-deadbeefに格納されているジョブテンプレートの具体的内容が示されている。図１５（Ｂ）に示すように、このジョブテンプレートは、最初に、Scan（原稿の読み取り）、次に、Convert(PDF)（ＰＤＦへのファイル変換）、そして、Repository(ファイルのストア)を順に処理することが指定している。
【０１２８】
以上説明した告知情報を用いて、図７のステップ１１６、１１８の処理が具体的にどのように行われるのかを、図１６、図１７を参照して詳細に説明する。
【０１２９】
上記ステップ１１６では、他のピアから一定の要求があったかどうか判断するものであるが、これに限定されるものではない。例えば、図１５（Ｂ）に示すように、Scan（原稿の読み取り）、Convert(PDF)（ＰＤＦへのファイル変換）、そして、Repository(ファイルのストア)を順に処理するジョブテンプレートを選択して処理を指定する場合を例にとり説明する。
【０１３０】
上記のようにジョブテンプレートの告知情報が各ピアで共有されているので、任意のスキャナ（ピア）は、この共有するジョブテンプレートの告知情報からジョブテンプレートを一覧表示し、ユーザは、所望のジョブテンプレートを選択して、処理を指示することができる。
【０１３１】
このようにユーザが任意にスキャナ（ピア）にジョブテンプレートの一覧表示を指示すると、上記ステップ１１６が開始される。即ち、図１６の処理が開始される。まず、図１６のステップ４０２で、上記共有するジョブテンプレートの告知情報に基づいて、共有のジョブテンプレート（ＪＴ）を一覧表示する。
【０１３２】
このようにジョブテンプレート（ＪＴ）が一覧表示されるので、ユーザは、自己が所望する処理を指示するジョブテンプレート（ＪＴ）を把握することができる。
【０１３３】
ステップ４０４で、ユーザが、タッチパネル（選択手段）のタッチや所定のキー（選択手段）の操作等により、何れかのジョブテンプレート（ＪＴ）が選択されたか否かを判断し、何れかのジョブテンプレート（ＪＴ）が選択された、例えば、図１５（Ａ）に示すジョブテンプレート（ＪＴ）が選択された場合、ステップ４０６に進む。
【０１３４】
ユーザは、上記のようにジョブテンプレート（ＪＴ）を選択すると、原稿をセットし、スキャン開始をスキャナ（ピア）に指示する。これにより、ステップ４０６が開始される。即ち、選択されたジョブテンプレート（ＪＴ）に従って原稿をスキャンする。原稿のスキャンにより当該原稿のイメージデータが得られてジョブが発生し、ステップ４０８で、ジョブ（イメージデータ）を記憶する。
【０１３５】
ステップ４１０で、ジョブの状態の告知情報（図１４）を作成し、ステップ４１２で、ジョブの状態の告知状態を他のピアに送信して、共有化させる。
【０１３６】
ステップ４１４で、ジョブテンプレート（ＪＴ）に基づいて、次の処理があるか否かを判断する。次の処理がある場合には、ステップ４１６で、次の処理を実行可能なピアを探索する。即ち、上記図１５（Ａ）に示すジョブテンプレート（ＪＴ）は、図１５（Ｂ）に示すように、Scan（原稿の読み取り）、Convert(PDF)（ＰＤＦへのファイル変換）、そして、Repository(ファイルのストア)を順に指定しており、現在はScan（原稿の読み取り）が終了した段階であり、次の処理はConvert(PDF)（ＰＤＦへのファイル変換）であることを認識することができる。また、各ピアは、各ピアが提供するサービスの告知情報を共有しているので、本スキャナ（ピア）も各ピアが提供するサービスの告知情報を共有しており、この情報に基づいて、何れのピアが、Convert(PDF)（ＰＤＦへのファイル変換）可能か認識することができる。つまり、本スキャナ（ピア）は、上記ジョブテンプレート（ＪＴ）及び各ピアが提供するサービスの告知情報に基づいて、次の処理を実行可能なピアを探索することができる。
【０１３７】
ところで、次の処理を実行可能なピアが複数探索することができた場合、この内の何れかのピアを次の処理を実行可能な最終的なピアとして決定することも考えられる。
【０１３８】
しかし、本実施の形態では、上記のように、各ピアの状態（電源OFF、アイドル、ビジー等）を示す告知情報も共有している。従って、次の処理を実行可能なピアが複数探索することができた場合、これらのピアの状態を、上記告知状態から判断し、電源OFFやビジーな状態のピアでなく、アイドル（待機）状態のピアを最終的なピアとして決定するようにしてもよい。
【０１３９】
更に、各ピアの処理能力も各ピアが提供するサービスの告知情報として共有している場合には、アイドル（待機）状態のピアが複数存在した場合には、処理能力から最も早く処理を完了することの可能なピアを上記最終的なピアとして決定するようにしてもよい。なお、次の処理を実行可能な複数のピアが何れもビジーの場合、処理能力から最も早く処理を完了することの可能なピアを上記最終的なピアとして決定するようにしてもよい。
【０１４０】
なお、アイドル（待機）状態のピアとビジー状態のピアが次の処理を実行可能なピアとして得られた場合、ビジー状態でも現在実行中の処理が完了間際な場合もあるので、これらも考慮して、最も早く処理を完了することの可能なピアを上記最終的なピアとして決定するようにしてもよい。
【０１４１】
そして、ステップ４１８で、決定さえたピアに、ジョブ（イメージデータ）と、次に実行すべき処理の情報、及びジョブテンプレート（ＪＴ）の識別情報を送信する。
【０１４２】
このように、ジョブ（イメージデータ）と、次に実行すべき処理の情報、及びジョブテンプレート（ＪＴ）の識別情報を受信したピアは、他のピアから一定の要求があったので、上記ステップ１１６が肯定判定となり、ステップ１１８で、要求された処理を実行する。より詳細には、図１７に示した各処理を実行する。
【０１４３】
即ち、図１７のステップ５０２で、ジョブテンプレート（ＪＴ）の識別情報に基づいて、ジョブテンプレート（ＪＴ）を格納場所から読み出して、ジョブテンプレート（ＪＴ）を取得し、上記入力した次に実行すべき処理の情報（ジョブ進行情報）を考慮して、これから実行すべき処理を把握し、ステッププ５０４で、受信したジョブ（イメージデータ）に対して、該処理を実行する。即ち、上記例では、ＰＤＦファイルに変換する。
【０１４４】
ステップ４１０で、ジョブの状態の告知情報、即ち、本処理では、ジョブの状態の告知情報の内、Statusとして、 HYPERLINK mailto:Status@3 Status@３（３個めが処理待ち）を作成し、ステッププ４１２で、作成したジョブの状態の告知情報を各ピアに送信して共有化させる。これにより、各ピアで、ジョブの状態の告知情報のStatusが更新される。
【０１４５】
なお、次のステップ５１０〜５１８は、上記ステップ４１４〜４１８と同様であるので、その説明を省略する。なお、上記例のジョブテンプレート（ＪＴ）では、最終的には、上記ＰＤＦに変換されたデータは、所定の場所（"http://A.B.C.3/JobData/data.pdf）に保存して、処理が完了する。
【０１４６】
以上説明した実施の形態では、各ピアが指定データを記憶する場所のアドレスを保持するので、任意のピア（スキャナ）に対して、複数のジョブテンプレートを表示させることができ、ユーザは、ジョブテンプレートを選択するためのピアとして、任意のピアを選ぶことができ、利便性が向上する。よって、管理の手間なく任意のスキャナを用いて定型業務を処理することができる。
【０１４７】
上記実施の形態では、Ｐ２Ｐネットワーク内で、ジョブテンプレート（ＪＴ）によって指定された処理の順番に従って、ジョブを、各処理を実行可能なピアで実行するので、所定のフォーマット変換やファイルサーバへの格納といった高度な機能を持たないスキャナでも使用することができる。
【０１４８】
また、上記実施の形態では、各ピアがジョブテンプレート（ＪＴ）の告知情報を共有しているので、次の処理を実行するピアには、ジョブテンプレート（ＪＴ）のデータではなく、ジョブテンプレート（ＪＴ）の識別情報を送信しても、告知情報からジョブテンプレート（ＪＴ）を取得することができ、この結果、通信の際の送信量を低減することができる。
【０１４９】
更に、上記実施の形態では、P2Pネットワーク内で提供されている機能(フォーマット変換など)は動的に更新され共有されるため、新たな機能を持つ機械をP2Pネットワーク内に接続するだけで、管理者の手を煩わすことなく、この新機能を使用することができる。
【０１５０】
また、上記実施の形態では、P2Pネットワークでは、ピアノードの状態(電源OFF/idle/busy)も取得可能である。このため、計算量の多いフォーマット変換を行う際には、idleであるピアノードに処理を依頼することで、資源の有効利用が可能である。更に、上記実施の形態では、複数のノードで処理が可能である場合には、電源OFFのノードを避けてジョブをルーティングするため、高可用性を実現できる。
【０１５１】
上記実施の形態では、各ピアがジョブの状態の告知情報を記憶し、ジョブの処理の実行状況に沿ってジョブの状態の告知情報を更新するので、このジョブの状態の告知情報をを表示することにより、ユーザは、処理の実行状態を把握することができる。
【０１５２】
以上説明した実施の形態では、ユーザは、スキャナまたはパーソナルコンピュータ（PC；ピア）上で、このP2Pネットワークで使用可能なジョブテンプレートを検索し、所望の処理を行うジョブテンプレートが見つかれば、これを使用して処理を行う。しかし、所望のジョブテンプレートが見つからない場合には、P2Pネットワーク内で公開されている機能を検索し、必要な機能を組み合わせ(Format変換でPDFにしてファイルサーバに格納する等)て、ジョブテンプレートを作成してもよい。このように新たに作成されたジョブテンプレートもP2Pネットワークを通じてスキャナーに共有される。ユーザはこのP2Pネットワーク内の任意のスキャナでジョブテンプレートを選択し原稿をスキャンすることで所望の結果を得ることができる。
【０１５３】
上記実施の形態では、一連の処理がスキャナを出発点とするものであるが、本発明はこれに限定されるものではなく、その他のピア、例えば、ファクシミリ機能を備えた装置でもよい。即ち、ファクシミリ機能を備えた装置において、イメージデータを受信した場合、このデータに対して一連の処理をジョブテンプレートに従って実行させるようにしてもよい。また、ユーザのパソコンでもよい。即ち、ユーザのパソコンで作成したデータに対して一連の処理をジョブテンプレートに従って実行させるようにしてもよい。
【０１５４】
なお、Ｐ２Ｐネットワークの構築について上記は一例であり、例えば上記特許文献１に記載されたプロトコルや、ＪＸＴＡプロトコルのＰＤＰ（Peer Discovery Protocol：ピア発見プロトコル）、ＰＲＰ（Peer Resolver Protocol：ピア解決プロトコル）、ＰＩＰ（Peer Information Protocol：ピア情報プロトコル）、ＰＭＰ（Peer Membership Protocol：ピアメンバーシッププロトコル）、ＰＢＰ（Peer Binding Protocol：ピアバインディングプロトコル）、ＰＥＰ（Peer Endpoint Protocol：ピアエンドポイントプロトコル）等の公知のプロトコルを用いてＰ２Ｐネットワークを構築してもよい。
【図面の簡単な説明】
【０１５５】
【図１】Ｐ２Ｐネットワークのネットワーク構成図である。
【図２】ピュアＰ２Ｐのネットワーク構成図である。
【図３】ハイブリッドＰ２Ｐのネットワーク構成図である。
【図４】Ｐ２Ｐネットワークのグループについて説明するための概念図である。
【図５】ピアの基本的構成のブロック図である。
【図６】メッセージ制御部のブロック図である。
【図７】エンドピアで実行される処理のフローチャートである。
【図８】転送機能付きピアで実行される処理のフローチャートである。
【図９】スパニングツリーのイメージ図である。
【図１０】Ｐ２Ｐネットワークの他の形態のネットワーク構成図である。
【図１１】待ち合わせ機能付きピアで実行される処理のフローチャートである。
【図１２】告知情報が伝播される様子を示した図である。
【図１３】ピアが提供するサービスの告知情報を示した図であり、（Ａ）は、文書変換の告知情報を示した図であり、（Ｂ）は、リポジトリー（ファイル保存）の告知情報を示した図である。
【図１４】ジョブの状態の告知情報を示した図である。
【図１５】（A）は、ジョブテンプレートの告知情報を示した図であり、（B）は、ジョブテンプレートのデータ内容を示した図である。
【図１６】スキャナ（ピア）が実行する場合のステップ１６、１８の処理を示したフローチャートである。
【図１７】他のピアからジョブを受信したピアが実行する場合のステップ１６、１８の処理を示したフローチャートである。
【符号の説明】
【０１５６】
１０、１１      Ｐ２Ｐネットワーク
１２    ピア
１６    Ｐ２Ｐ基盤構成部
１８    Ｐ２Ｐ基盤管理データ記憶部
２０    アプリケーション実行部
２２    アプリケーションメモリ
２４    メッセージ制御部
２６    データ管理部
２８    送信部
３０    受信部
３２    ネットワーク
３４    サービス実行部
３６    メッセージディスパッチ部
３８    ピア探索サービス部
４０    告知情報取得サービス部
４２    告知情報取得サービス部
４４    グループ管理サービス部
４６    ユーザ管理サービス部
４８    ピア管理サービス部
【図１】
2006139730.tif 000003
【図２】
2006139730.tif 000004
【図３】
2006139730.tif 000005
【図４】
2006139730.tif 000006
【図５】
2006139730.tif 000007
【図６】
2006139730.tif 000008
【図７】
2006139730.tif 000009
【図８】
2006139730.tif 000010
【図９】
2006139730.tif 000011
【図１０】
2006139730.tif 000012
【図１１】
2006139730.tif 000013
【図１２】
2006139730.tif 000014
【図１３】
2006139730.tif 000015
【図１４】
2006139730.tif 000016
【図１５】
2006139730.tif 000017
【図１６】
2006139730.tif 000018
【図１７】
2006139730.tif 000019