(57)【特許請求の範囲】
【請求項１】
サーバ装置であって、
各実行者について、実行者を選択するために利用される実行者情報及び実行者の識別子を含むデータベースを保持する実行者管理手段と、
依頼装置から、実行者を選択するための実行者条件を示す情報、依頼の配布数についての条件である配布数条件を示す情報、依頼する処理に対する報酬の支払い条件である報酬条件を示す情報及び依頼する処理のために実行装置で動作させる実行ソフトウェアを含む依頼メッセージを受信すると、前記実行者管理手段から、該実行者条件に合致する実行者情報に対応する実行者の識別子を、該配布数条件に合致する数だけ取得し、取得した識別子に対応する実行者の実行装置に対して、該報酬条件を示す情報及び該実行ソフトウェアを含む実行要請メッセージを送信する処理を行う処理手段と、
を備えており、
前記依頼メッセージに前記サーバ装置で実行するサーバ実行ソフトウェアが含まれている場合、前記処理手段は、実行装置から受信した処理結果を前記サーバ実行ソフトウェアで処理して得た中間処理結果を前記依頼装置に送信し、
前記依頼メッセージに前記サーバ実行ソフトウェアが含まれていない場合、前記処理手段は、実行装置から受信した処理結果を前記依頼装置に送信する、サーバ装置。
【請求項２】
前記依頼メッセージは、実行者装置に表示するメッセージを含み、
前記処理手段は、前記実行者装置に表示するメッセージを前記実行要請メッセージに含める、
請求項１に記載のサーバ装置。
【請求項３】
前記報酬条件は、依頼する処理に対する報酬の受け取り対象者となるための条件をさらに含み、
前記処理手段は、前記実行要請メッセージの送信に応じて、処理結果を前記サーバ装置に送信した実行装置に対応する実行者が前記報酬条件に従う報酬の受け取り対象者であるか否かを前記要求条件に従い判定する、
請求項１又は２に記載のサーバ装置。
【請求項４】
前記処理手段は、前記報酬の受け取り対象者である実行者の実行装置から受信した処理結果又は該処理結果から得た中間処理結果を前記依頼装置に送信し、前記報酬の受け取り対象者ではない実行者の実行装置から受信した処理結果は、前記依頼装置に送信せず、かつ、前記中間処理結果を得るために使用しない、
請求項３に記載のサーバ装置。
【請求項５】
前記処理手段は、前記処理結果又は前記中間処理結果を前記依頼装置に送信する際に、前記処理結果を送信した実行装置又は前記中間処理結果の元となった処理結果を送信した実行装置に対応する実行者の仮識別子を生成し、前記処理結果又は前記中間処理結果と共に、前記生成した仮識別子を前記依頼装置に送信する、
請求項４に記載のサーバ装置。
【請求項６】
前記処理手段は、前記処理結果又は前記中間処理結果の前記依頼装置への送信後、前記依頼装置から、前記仮識別子と共に、前記処理結果又は前記中間処理結果の評価を示す評価値を受信すると、前記仮識別子に対応する実行者の識別子、前記依頼装置を示す情報及び前記受信した評価値を前記実行者管理手段に通知し、
前記実行者管理手段は、各依頼者の各実行者に対する総合評価値を保持しており、前記処理手段から通知された前記依頼装置に対応する依頼者の、前記通知された識別子に対応する実行者の総合評価値を、前記通知された評価値を用いて更新する、
請求項５に記載のサーバ装置。
【請求項７】
前記実行者管理手段は、各依頼者の各実行者に対する総合評価値を保持しており、前記各依頼者の各実行者に対する総合評価値に基づき、各実行者の順位を算出し、前記実行者条件に合致する実行者情報に対応する実行者が、前記配布数条件を満たす配布数の最大値より多い場合には、前記実行者条件に合致する実行者情報に対応する実行者の前記順位の高いものから順に前記配布数条件を満たす配布数の最大値に等しい数の実行者の識別子を前記処理手段に通知する、
請求項１から６のいずれか１項に記載のサーバ装置。
【請求項８】
前記実行者管理手段は、実行者に対する各総合評価値に係数を乗じて積算することで該実行者に対する最終評価値を算出し、算出した最終評価値が高い順に各実行者の順位を算出し、
前記係数は、依頼者に応じて決定され、該依頼者の各実行者に対する総合評価値の標準偏差が小さい程、小さくなる値である、
請求項７に記載のサーバ装置。
【請求項９】
前記処理手段は、前記実行者条件に合致する実行者情報に対応する実行者の数が、前記配布数条件を満たす最小値より少ない場合、前記実行者条件に合致する実行者情報に対応する実行者の数が、前記配布数条件を満たす最小値より少ないことを前記依頼装置に通知する、
請求項１から８のいずれか１項に記載のサーバ装置。
【請求項１０】
請求項１から９のいずれか１項に記載のサーバ装置としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある装置から、他の装置に何らかの処理を依頼することができるシステムのサーバ装置に関する。
【背景技術】
【０００２】
ある一つの計算処理を多数のコンピュータに分散実行させる仕組みであるグリッドコンピューティングが実用化されている。グリッドコンピューティングにおいて、サーバ装置は、グリッド、つまり、各コンピュータの状況を監視し、計算処理を適切に分割して各コンピュータに分割した計算処理の実行を依頼し、結果を取得する。ここで、非特許文献１は、各コンピュータといった装置に計算処理を依頼する仕組みを提案している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｄｉｊｉａｎｇ  Ｈｕａｎｇ,   ｅｔ  ａｌ．，“ＭｏｂｉＣｌｏｕｄ：  Ｂｕｉｌｄｉｎｇ  Ｓｅｃｕｒｅ  Ｃｌｏｕｄ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ,”  Ｉｎ  Ｐｒｏｃ.  ｏｆ  ｔｈｅ  ２０１０  Ｆｉｆｔｈ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｒｖｉｃｅ  Ｏｒｉｅｎｔｅｄ  Ｓｙｓｔｅｍ  Ｅｎｇｉｎｅｅｒｉｎｇ（ＳＯＳＥ), ２０１０年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年のコンピュータ技術及び通信技術の発達により、例えば、携帯電話等の可搬型装置は、無線により通信できる小型コンピュータと看做すことができる様になっている。また、これら装置には、温度センサやカメラ等の様々な機能が搭載されている。したがって、例えば、多数の地域にいる携帯電話等の装置を所持しているユーザに、当該装置による温度の測定や、当該装置を利用したある条件の画像の撮影を依頼し、測定結果又は撮影した画像等を取得することで様々な情報を効率良く集めることが可能になる。また、グリッドコンピューティングの様に、ある処理を複数の携帯型装置又はデスクトップＰＣの様な固定型装置に依頼して各装置から処理結果を受け取るシステムにより、大量の処理を短時間で終了させることが可能になる。
【０００５】
しかしながら、上記システムを実現するためには、何らかの処理を依頼する者及びその者の装置と、処理を実行する者及びその者の装置とを結びつける仕組みが必要となる。さらに、他人の装置を使用して何らかの処理を実行するため、依頼された処理を実行した者に対しては何らかの報酬の支払いが必要となる。また、処理を実行する者が依頼された処理を簡易に実行できる仕組みも必要となる。
【０００６】
本発明は、上記仕組みを提供することで、処理を依頼する装置と、依頼された処理を実行する装置とを結び付けるサーバ装置及び当該サーバ装置としてコンピュータを動作させるプログラムを提供するものである。
【課題を解決するための手段】
【０００７】
本発明のサーバ装置は、各実行者について、実行者を選択するために利用される実行者情報及び実行者の識別子を含むデータベースを保持する実行者管理手段と、依頼装置から、実行者を選択するための実行者条件を示す情報、依頼の配布数についての条件である配布数条件を示す情報、依頼する処理に対する報酬の支払い条件である報酬条件を示す情報及び依頼する処理のために実行装置で動作させる実行ソフトウェアを含む依頼メッセージを受信すると、前記実行者管理手段から、該実行者条件に合致する実行者情報に対応する実行者の識別子を、該配布数条件に合致する数だけ取得し、取得した識別子に対応する実行者の実行装置に対して、該報酬条件を示す情報及び該実行ソフトウェアを含む実行要請メッセージを送信する処理を行う処理手段と、を備えており、前記依頼メッセージに前記サーバ装置で実行するサーバ実行ソフトウェアが含まれている場合、前記処理手段は、実行装置から受信した処理結果を前記サーバ実行ソフトウェアで処理して得た中間処理結果を前記依頼装置に送信し、前記依頼メッセージに前記サーバ実行ソフトウェアが含まれていない場合、前記処理手段は、実行装置から受信した処理結果を前記依頼装置に送信する、ことを特徴とする。
【発明の効果】
【０００８】
サーバ装置により依頼装置に対応する依頼者は、面識のない実行者の実行装置に、報酬条件を提示して処理の依頼を行うことが可能になる。また、実行ソフトウェアを添付して依頼を行うことで、実行者による依頼された処理の実行を行い易くなる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態におけるシステム構成図。
【図２】一実施形態における各装置の構成図。
【図３】一実施形態における依頼メッセージ及び実行要請メッセージを示す図。
【図４】一実施形態におけるフィードバック行列を示す図。
【図５】一実施形態における実行者の順位の算出の説明図。
【発明を実施するための形態】
【００１０】
図１は、本実施形態におけるシステムの概略的な構成図である。図１において、依頼装置１は、何らかの処理を依頼する者（以後、依頼者と呼ぶ。）が使用する装置であり、実行装置３は、依頼者からの依頼に従い依頼された処理を行う装置である。また、実行装置３を所持し操作するものを、実行者と呼ぶ。また、サーバ装置２は、依頼装置１と実行装置３とを結びつけるための装置である。依頼装置１と実行装置３は、それぞれ、例えば、パーソナル・コンピュータや、携帯電話等である。なお、本実施形態において、実行装置３は、主に、カメラ機能及び温度センサ等を搭載した、所謂スマート・フォンであるものとしているが、デスクトップ型のコンピュータの様に、携帯型ではない装置であっても良い。また、図では、３つの実行装置のみを示しているがこれは例示であり、任意の数の実行装置３を使用することができる。さらに、依頼装置１と実行装置３を異なる装置として表示しているが、これらは同じ機能を有する装置であってもよい。つまり、依頼装置１も、他の依頼者からの依頼を処理する実行装置３として動作することができ、実行装置３は、他の実行者に処理を依頼する依頼装置１として動作することができる。
【００１１】
依頼装置１、サーバ装置２及び実行装置３は、ネットワーク４に接続可能であり、依頼装置１は、少なくともサーバ装置２と通信可能であり、各実行装置３はサーバ装置２と通信可能である。なお、本実施形態において依頼装置１と実行装置３は、直接通信を行う必要はなく、むしろ、後述する様に、本システムは、実行者の身元を依頼者には秘密にする。また、サーバ装置２には、予め依頼者及び実行者と、依頼者及び実行者が使用する依頼装置１及び実行装置３についての情報が登録されており、依頼者及び実行者には、それぞれの識別子である依頼者ＩＤ及び実行者ＩＤが割り当てられているものとする。
【００１２】
図２は、依頼装置１、サーバ装置２及び実行装置３それぞれの概略的な構成を示す図である。依頼装置１の依頼部１１は、何らかの処理を依頼する場合、依頼メッセージをサーバ装置２に送信する。図３（ａ）に示す様に依頼メッセージは、依頼を行う依頼者ＩＤと、依頼ＩＤと、配布数と、実行者条件と、要求条件と、報酬条件と、メモと、サーバ実行ソフトウェアと、実行ソフトウェアの各フィールドを含んでいる。
【００１３】
依頼者ＩＤフィールドには、依頼メッセージを送信した依頼装置１に対応する依頼者の依頼者ＩＤが格納される。依頼ＩＤフィールドには、当該依頼者において一意の値であり、当該依頼者が個々の依頼を識別するための識別子である依頼ＩＤが格納される。例えば、依頼装置１は、依頼を行うときの時刻と、後述する実行ソフトウェアを結合した値のハッシュ値を依頼ＩＤとすることができる。配布数フィールドには、実行処理を依頼する人数、つまり、後述する実行依頼メッセージの配布数についての条件である配布数条件を示す情報が格納される。例えば、配布数条件として、１００人といった特定の数を指定することができる。また、配布数条件として、例えば、１００人以上２００人以下といった数の範囲を指定することもできる。さらに、次に説明する実行者条件に合致する人数が所定の人数以上いる場合には、所定の人数にのみ配布し、所定の人数未満の場合には、実行者条件に合致する総ての人に配布するとの条件を配布数条件とすることもできる。また、実行者条件が、各地域にいる実行者それぞれに依頼を行うものである場合、地域ごとに配布数条件を指定することもできる。
【００１４】
実行者条件フィールドには、依頼を行う対象とする実行者の条件を特定する実行者条件を示す情報が格納される。例えば、ある地域にいる実行者や、実行者が有する実行装置３の機能等により、或いは、それらの組み合わせにより指定を行うことが可能である。具体的には、現在の海岸の状況の画像を取得したい依頼者は、各都道府県のある海岸付近の位置にいる、カメラ機能付きの実行装置３を有する者との実行者条件を指定することができる。なお、地理的な範囲については、例えば、中心位置とその半径等で指定を行う。その他、例えば、実行者の年齢、性別等、趣味等といった実行者のプロフィール等の条件を指定する形態とすることができる。なお、実行者条件において指定できる条件は、後述するサーバ装置２の実行者データベースが保持する各実行者の情報及び各実行者が所持する実行装置３の情報に依存する。
【００１５】
要求条件フィールドには、依頼する処理の実行及びその結果が満たすべき要求条件を示す情報が格納される。なお、要求条件は、依頼処理全体に対する全体条件と、個々の実行者に対する個別条件に分類される。
【００１６】
個別条件は、例えば、各実行者に、複数の処理結果の送信を要求する場合に設定され、処理を実行する時間間隔や、処理を実行する回数や、それらの組み合わせを含む条件である。なお、時間間隔は、例えば、４時間から６時間に１回等といったある程度の時間範囲で指定することができる。また、回数については、１０回といったある特定の値で指定することも、少なくとも１０回や、１０回から２０回といったある範囲で指定することができる。
【００１７】
全体条件は、実行装置３が依頼した処理の結果をサーバ装置２に送信する期限である送信期限と、最低成功実行者数とを含んでいる。なお、成功実行者とは、依頼した処理の処理結果を、送信期限内にサーバ装置２に送信した実行者であり、個別要件が指定されている場合には、送信期限までに、個別要件を満たす処理結果をサーバ装置２に送信した実行者である。この成功実行者の人数が、最低成功実行者数未満である場合には、依頼が不成功と判定され、最低成功実行者数以上である場合には、依頼が成功と判定される。本実施形態においては、依頼が成功である場合、後述する報酬条件に従い依頼者は報酬の支払いを行うものとする。一方、依頼が不成功である場合、成功実行者に対してさえ報酬の支払いを行う必要がないものとする。なお、依頼の成功／不成功を判定する必要が無い場合や、常に成功実行者には報酬を支払う場合には、最低成功実行者数に０を設定する。
【００１８】
報酬条件フィールドには、依頼を受諾して処理を実行した実行者に対してどの様な報酬が支払われるかを特定する報酬条件が格納される。なお、報酬条件は、報酬の受け取り対象者を特定する報酬対象者条件と、受け取り対象者に支払う金額に関する報酬額条件に分類することができる。まず、依頼が成功した場合における成功実行者の全員を報酬対象者とすることができる。しかしながら、成功実行者全員ではなく、処理結果をサーバ装置２に送信した順で所定の人数のみを報酬対象者とすることができる。また、要求条件の個別条件で所定回数以上の処理結果を要求している場合、送信期限内に１回でも送信結果をサーバ装置２に送信していれば、成功実行者ではなくとも、報酬対象者とすることもできる。
【００１９】
また、報酬額条件には、成功実行者である報酬対象者には、所定の金額を支払うとの条件を設けることができる。また、総額を一定にし、成功実行者である報酬対象者で均等に配分することを条件とすることができる。また、処理結果を早く返した成功実行者程、報酬額が高くなるような条件とすることもできる。また、個別条件で所定回数以上の処理結果を要求している場合において、成功実行者でなくとも報酬を支払う場合には、処理結果を送信した回数に比例する報酬額とすることができる。この場合、１回当たりの額を固定額とすることも、成功実行者に支払う金額にある係数を乗じた金額とすることもできる。さらに、処理結果を１回送信するごとの報酬額を、送信回数が多いほど多くなる様に規定することもできる。
【００２０】
続いて、メモ・フィールドには、実際に実行装置３に表示される文字等が格納される。メモ・フィールドは、依頼者が実行者に伝えたい任意のメッセージ、例えば、処理を行う際の注意点や、報酬についての説明や、依頼の目的等を示すデータを格納するためのフィールドであり、実行者が受信した依頼を受けるかどうかを判定するために使用される。
【００２１】
サーバ実行ソフトウェア・フィールドには、例えば、依頼者が実行者からの処理結果そのもの、つまり、実行装置３が取得した生データを必要とせず、サーバ装置２において何らかの中間処理を行うことを要求する場合に、サーバ装置２が実行する中間処理のためのサーバ実行ソフトウェア等が格納される。例えば、各実行装置３から得たデータの平均値及び分散値のみを依頼者が必要としている場合には、平均値及び分散値を算出するソフトウェアがサーバ実行ソフトウェア・フィールドに格納される。実行ソフトウェア・フィールドには、依頼の実行に当たり実行装置３で実行する必要があるソウトウェアが格納される。この様に、サーバ実行ソフトウェアを使用することで、依頼装置１は、前処理をサーバ装置２に行わせることができ、依頼装置１における処理負荷を軽減させることができる。
【００２２】
図２に戻り、依頼装置１の依頼部１１は、依頼メッセージを送信後、結果の取得待ち状態に移行する。また、フィードバック部１２は、結果の取得後、取得した結果の評価値をサーバ装置２に送信するものである。フィードバック処理については後述する。
【００２３】
サーバ装置２の実行者管理部２１は、実行者を示す実行者ＩＤと、当該実行者についての実行者情報を含む実行者データベースを有している。ここで実行者情報は、実行者についての情報及び該実行者の実行装置３についての情報を含み、依頼メッセージに含まれる実行者条件に合致する実行者を判定するために利用される。具体的には、実行者データベースは、各実行者ＩＤについて、当該実行者の実行装置３にアクセスするための情報、例えば、実行装置３の電話番号、ホスト名、ＩＰアドレス等と、当該実行者の年齢、性別、職業、趣味等のプロフィールと、当該実行者の実行装置３から受信する現在位置と、当該実行者の実行装置３が保持する機能、例えば、カメラ機能の有無や、搭載しているセンサの種類等と、当該実行者の過去の実行履歴と、受け取った報酬の履歴を示す情報を保持している。例えば、実行履歴は、当該実行者への依頼を行った回数と、当該実行者が依頼を受諾した回数と、当該実行者が依頼を完了して成功実行者となった回数を示す情報を含んでいる。また、報酬履歴は、これまでに受け取った報酬の総額や、各依頼で受け取った報酬についての情報を有している。
【００２４】
また、実行者管理部２１は、さらに、フィードバック行列を保持している。フィードバック行列は、依頼者のフィードバック部１２が送信する各依頼に対する評価値に基づき生成されたものであり、各実行者の順位付けを行うために使用される。つまり、実行者管理部２１は、実行者条件に合致する実行者が、配布数フィールドが示す配布数条件に合致する最大人数より大きい場合に、依頼を行う実行者を、フィードバック行列により求めた実行者の順位で絞り込みを行う。なお、フィードバック行列による実行者の順位付け処理については後述する。
【００２５】
依頼者管理部２２は、依頼者を管理する依頼者データベースを保持している。依頼者データベースには、各依頼者ＩＤについて、依頼装置１に関する情報と、依頼者の依頼履歴を保持している。依頼履歴は、各依頼について、依頼日時と、要求条件と、報酬条件と、依頼が成功したか否かを示すフラグと、各実行者に対する確定した報酬額と、を含んでいる。
【００２６】
処理部２３は、依頼装置１と実行装置３を連携させるためのものである。具体的には、依頼装置１から依頼メッセージを受信すると、依頼メッセージに含まれる実行者条件に合致する実行者を実行者管理部２１に問い合わせる。また、このとき処理部２３は、配布数条件も実行者管理部２１に通知する。前述した様に、実行者管理部２１は、実行者条件に合致する実行者数が配布数条件で指定される最大値より多い場合、実行者の順位の高いものから配布数に等しい人数の実行者を選択し、選択した実行者の実行者ＩＤを処理部２３に通知する。なお、実行者条件に合致する実行者数が配布数条件を満たす最小値より少ない場合、実行者管理部２１は、その旨を処理部２３に通知する。
【００２７】
例えば、依頼メッセージに含まれる配布数条件が１０００人から２０００人であり、実行者条件に合致する実行者数が５００人の場合には、実行者管理部２１は、実行者条件に合致する実行者数が、配布数条件を満たす最小数である１０００人より少ない５００人であることを処理部２３に通知する。一方、実行者条件に合致する実行者数が１３００人の場合には、実行者管理部２１は、この１３００人の実行者ＩＤを処理部２３に通知する。さらに、実行者条件に合致する実行者数が２５００人の場合には、実行者管理部２１は、この２５００人のうちの上位２０００人の実行者ＩＤを処理部２３に通知する。なお、実行者管理部２１から実行者条件に合致する実行者数が配布数条件を満たさないことの通知を受けると、処理部２３は、依頼装置１に配布数が条件に合致しいていないことを通知してその処理を終了する。
【００２８】
一方、配布数条件を満たす場合、処理部２３は、セッションＩＤを発行し、セッションＩＤと依頼メッセージに含まれる依頼ＩＤを関連付けて保存する。続いて、処理部２３は、実行者管理部２１から取得した実行者ＩＤに対応する実行装置に実行要請メッセージを送信する。実行要請メッセージには、図３（ｂ）に示す様に、処理部２３が生成したセッションＩＤと、依頼メッセージに含まれる要求条件、報酬条件、メモ及び実行ソフトウェアを含める。また、中間処理をサーバ装置２にて行うためにサーバ実行ソフトウェアが依頼メッセージに含まれていた場合には、サーバ実行ソフトウェアを依頼ＩＤに関連付けて保存する。
【００２９】
処理部２３は、実行要請メッセージの配布後、配布先の各実行装置３からの処理結果待ち状態となる。ここで、実行要請メッセージを送信した実行装置３から、依頼された処理の実行を拒否する拒否メッセージを受信した場合、処理部２３は、当該実行装置３が処理を拒否したこと、つまり受諾しなかったことを保存しておく。そして、拒否メッセージを送信しなかった実行装置３は、実行を受諾したものと扱う。しかしながら、実行装置３から明示的な受諾メッセージを受けた場合にのみ、当該実行装置３が依頼を受諾したものと扱い、それ以外の場合には実行を拒否したとする形態であっても良い。
【００３０】
なお、処理部２３の受信待ち状態は、要求条件が示す送信期限まで継続するが、依頼を受諾した各実行装置３から要求条件に合致する処理結果を送信期限までに受け取った場合には、その時点で受信待ち状態を終了することができる。処理部２３は、受信待ち状態において、実行装置３から処理結果を受け取とると、受け取った処理結果を保存する。また、要求条件の個別条件において、例えば、処理の実行間隔が指定されている場合、受け取った処理結果がこの条件に合致するか否かを判定し、合致しない場合には、受け取った処理結果を廃棄する。サーバ装置は、要求条件が示す送信期限が過ぎると、成功実行者数を判定し、成功実行者数が最低成功実行者数以上であるかを判定することで、依頼が成功したか否かを判定する。
【００３１】
依頼が成功した場合であってサーバ装置２における中間処理が必要な場合、処理部２３は、サーバ実行ソフトウェアにより処理を行い、中間処理結果を依頼装置１に送信する。一方、中間処理が必要ではない場合、処理部２３は、成功実行者に対応する実行装置３からの処理結果をそのまま依頼装置１に送信する。なお、個別条件で所定回数以上の処理結果を要求し、期限内に１回でも送信結果をサーバ装置２に送信した実行者には、回数に応じた報酬の支払いを行う場合には、成功実行者ではなくとも当該実行者からの処理結果も依頼装置１に送信する。つまり、処理部２３は、報酬の受け取り対象となる実行者からの処理結果については、依頼装置１に送信し、報酬の受け取り対象ではない実行者からの処理結果については、依頼装置１への送信を行わない様にする。
【００３２】
なお、上記実施形態では、サーバ装置２は、各実行装置３から受信する処理結果を保存しておき、送信期限後に一括して依頼装置１に送信していた。しかしながら、実行装置３から処理結果を受信した場合において、すでにその処理結果に対する報酬が発生することが確定している場合には、受信した処理結果をそのまま依頼装置１に送信することができる。例えば、最低成功実行者数が１の場合で、個別条件が指定されていない場合、最初の処理結果の受信により依頼の成功が確定するため、サーバ装置２における複数の処理結果を利用する中間処理が必要でなければ、処置部２３は、そのまま処理結果を依頼装置１に送信することができる。さらに、個別条件が指定されている場合であっても、報酬対象者条件で、期限内に１回でも処理結果を送信した実行者を報酬受け取り対象としている場合、処置部２１は、そのまま処理結果を依頼装置１に送信することができる。
【００３３】
いずれにしても、処理部２３は、報酬の受け取り対象となる実行者からの処理結果のみを依頼装置１に送信、或いは、依頼装置１に送信する中間処理の入力とする。その後、処理部２３は、報酬受け取り対象者への報酬額を報酬条件に基づき決定し、実行者管理部２１及び依頼者管理部２２に必要な情報を通知して、実行者データベース及び依頼者データベースのそれぞれを更新させる。なお、各依頼について、依頼者が各実行者に支払う報酬額と、各実行者が受け取る報酬額については、それぞれ、実行者データベース及び依頼者データベースに記録され、実行者データベース及び依頼者データベースに記録された内容に基づき実際の支払い処理が行われる。なお、決定した報酬額の依頼者から実行者への支払い処理は任意の方法で行うことができる。この様に、本実施形態においては、サーバ装置２が依頼装置１と実行装置３の仲介を行い、依頼装置１からの依頼メッセージに含まれる要求条件及び報酬条件に基づき、処理部２３は、依頼者が各実行者に支払うべき報酬額を決定する。通常、サーバ装置２は、例えば、ネットワークのオペレータや、当該サービスを提供する事業者が設置し運用する。つまり、これらオペレータ又は事業者が報酬額を判定して記録するため、依頼者と実行者間での報酬額及びその支払いに関する処理において発生し得る問題を低減するこができる。
【００３４】
続いて、実行装置３の実行部３１は、サーバから実行要請メッセージを受信すると、ディスプレイ上に実行要請メッセージを受信したことを表示し、ユーザに、要請を受諾するか否かの選択を促す。このとき、報酬情報と、メモ・フィールドに格納されている情報も併せてディスプレイに表示する。ユーザが依頼を受諾する操作を行うと、実行部３１は、実行要請メッセージに含まれる実行ソフトウェアを実行する。また、依頼を拒否すると、拒否メッセージをサーバ装置２に送信する。実行ソフトウェアは、例えば、周期的に温度及び位置を測定する依頼の場合には、所定の周期で位置及び温度を測定してサーバ装置２に送信を行う。また、依頼する処理が所定の計算処理である場合、実行ソフトウェアは当該所定の計算処理を行う。
【００３５】
なお、実行部３１における依頼された処理の実行は、例えば、温度の取得や所定の計算処理といった、実行者の操作を必要としない処理であっても、静止画又は動画の撮影といった実行者による操作を必要とする処理であっても良い。例えば、静止画の撮影処理の場合、実行ソフトウェアは、撮影した画像に、撮影した位置及びその位置からの撮影した方向等の情報を付加するものとすることができる。
【００３６】
実行装置３の登録部３２は、実行装置３の位置を周期的にサーバ装置２に送信したり、サーバ装置２が保持している実行者データベースの実行者のプロファイル情報等を修正したりする機能ブロックである。
【００３７】
続いて、本実施形態におけるフィードバック処理について説明する。サーバ装置２の処理部２３は、依頼装置１に処理結果又は中間処理結果を送信する際に、その処理結果を取得した実行装置３や、その中間処理結果の元となった処理結果を取得した実行装置３の実行者ＩＤではなく、処理部２３がその都度生成する実行者の仮識別子である仮実行者ＩＤを依頼装置１に通知する。これは、依頼装置１から個々の処理結果を取得した実行者を秘匿するためである。したがって、処理部２３は、実行者ＩＤと仮実行者ＩＤとの関係を保存しておく。処理結果を受信した依頼装置１の依頼者は、処理結果又は中間処理結果に対する評価値を入力し、依頼装置１のフィードバック部１２は、評価値と当該処理結果の仮実行者ＩＤをサーバ装置２に送信する。なお、評価値は、例えば、−１〜＋１の値の範囲として、＋１が最も高い値とする。なお、依頼者が評価を行わない場合には、フィードバック部１１は、中心の値、例えば、評価値が−１〜＋１の値の範囲である場合には０を評価値として自動的に送信することができる。なお、依頼者が評価を行わず、よって、評価値をサーバ装置２に送信しなかった実行者の評価値については、サーバ装置２の処理部２３が、当該実行者の評価値を中心の値とする形態であっても良い。
【００３８】
例えば、特定の時間の外気温を１０回以上測定する依頼において、測定時刻においては、室外で実行装置３を外気に晒すことをメモ・フィールドで要求し、１２回の処理結果を受信したものとする。しかしながら、例えば、１２回の測定結果のうち数回の測定結果が、室内で測定したものと思われる様な場合、依頼者は、当該実行者の評価を低い値にしてフィードバックを行うことができる。
【００３９】
処理部２３は、依頼装置１から受け取った評価値に含まれる仮実行者ＩＤを、実行者ＩＤに変換して、評価値と共に実行者管理部２１に出力する。実行者管理部２１は、図４に示すフィードバック行列を保持している。フィードバック行列は、依頼者の実行者への評価値の平均である総合評価値を、各依頼者と各実行者の組み合わせのそれぞれについて示す行列である。図４において、例えば、依頼者ＩＤが＃ｊである依頼者の、実行者ＩＤが＃ｉである実行者への総合評価値はＦｉｊである。実行者管理部２１は、例えば、新たな依頼に対する依頼者ＩＤが＃ｊである依頼者からの、実行者ＩＤが＃ｉである実行者への評価値として値Ｘを受信した場合、ｉ行ｊ列の値を（Ｆｉｊ＋Ｘ）／Ｌに更新する。ここで、Ｌは、依頼者ＩＤが＃ｊである依頼者の、実行者ＩＤが＃ｉである実行者への評価回数である。なお、例えば、３人の実行者からの処理結果により生成した中間処理結果の評価値がＹである場合には、各実行者の評価値をＹ／３として更新する。しかしながら、各実行者の評価値をそれぞれＹとする形態であっても良い。
【００４０】
実行者管理部２１は、フィードバック行列に基づき各実行者の評価順位を生成する。なお、順位付けの考え方は、極端に偏った評価を行う依頼者の評価については重視せず、受けた評価の平均が高く、かつ、ばらつきが少ない実行者の評価を重視することであり、以下、具体的に説明する。
【００４１】
まず、フィードバック行列の各列ベクトルは、対応する依頼者の各実行者に対する総合評価値を示すものである。そこで、図５に示す様に、各依頼者について、列ベクトルの各要素の平均値である評価平均値Ａを求める。例えば、依頼者ＩＤが＃１である依頼者の評価平均値Ａ１は、図４のフィードバック行列の第１列の各要素の平均値である。続いて、各依頼者について、図５に示す様に、評価分散Ｖを求める。例えば、依頼者ＩＤが＃１である依頼者の評価分散Ｖ１は、図４のフィードバック行列の第１列の各要素の分散である。続いて、各依頼者について、図５に示す様に、評価標準偏差Ｓを求める。例えば、依頼者ＩＤが＃１である依頼者の評価標準偏差Ｓ１は、同じ依頼者の評価分散Ｖ１の平方根である。
【００４２】
最後に、図５に示す評価平均値Ａ及び評価標準偏差Ｓと、フィードバック行列Ｆから、偏差行列Ｄを求める。ここで、偏差行列Ｄのｉ行ｊ列の要素の値Ｄｉｊは、
Ｄｉｊ＝｜（Ｆｉｊ−Ａｊ）／（Ｓｊ×Ｓｍａｘ）｜
である。ここで、Ｓｍａｘは、Ｄｉｊの値を調整するための、予め定めた係数である。なお、Ｄｉｊが１を超える場合には、Ｄｉｊを１とする。
【００４３】
続いて、実行者管理部２１は、偏差行列Ｄとフィードバック行列Ｆの各要素の値から各実行者の最終評価値Ｅを求める。例えば、実行者ＩＤが＃ｉである実行者の最終評価値Ｅｉは、当該実行者の各総合評価値に、偏差行列の当該実行者に対応する要素から求めた係数である（１−Ｄｉｋ）を乗じた積算値である、
Ｅｉ＝（１／ｎ）Σ（Ｆｉｋ×（１−Ｄｉｋ））
となる。なお、ここで、ｎは、依頼者の数であり、上式でΣは、ｋ＝１からｎの積算を示すものである。実行者管理部２１は、最終評価値Ｅが高い実行者程、評価が高いものとし、実行者条件に合致する実行者が配布数条件により決定される配布数の最大値以上である場合には、評価が高い順に配布対象の実行者を選定する。
【００４４】
以上説明した様に、依頼者は、面識のない実行者に処理の実行を依頼することができる。また、様々な報酬条件を指定することで、実行者が処理の実行を行うことに対するインセンティブが発生する。なお、サーバ装置２の仲介により、報酬対象となる処理結果のみを依頼装置１に送信することを制御することができる。さらに、サーバ装置２の仲介により、報酬の受け取りに関する問題が発生し難くなり、実行者は安心して処理を受諾することができる。また、評価値を利用して実行者を順位付けすることにより、適切な処理を行う実行者に優先して処理の依頼を行うことができる。
【００４５】
なお、本発明によるサーバ装置は、コンピュータを上述したサーバ装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【図１】
0005767066.tif 000002
【図２】
0005767066.tif 000003
【図３】
0005767066.tif 000004
【図４】
0005767066.tif 000005
【図５】
0005767066.tif 000006