説明

他の装置に処理を依頼可能なシステムのサーバ装置及びプログラム

【課題】処理を依頼する装置と、依頼された処理を実行する装置とを結び付けるサーバ装置を提供する。
【解決手段】サーバ装置は、各実行者について、実行者を選択するために利用される実行者情報及び実行者の識別子を含むデータベースを保持する実行者管理手段と、依頼装置から、実行者を選択するための実行者条件を示す情報、依頼の配布数についての条件である配布数条件を示す情報、依頼する処理に対する報酬の支払い条件である報酬条件を示す情報及び依頼する処理のために実行装置で動作させる実行ソフトウェアを含む依頼メッセージを受信すると、前記実行者管理手段から、該実行者条件に合致する実行者情報に対応する実行者の識別子を、該配布数条件に合致する数だけ取得し、取得した識別子に対応する実行者の実行装置に対して、該報酬条件を示す情報及び該実行ソフトウェアを含む実行要請メッセージを送信する処理を行う処理手段と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ある装置から、他の装置に何らかの処理を依頼することができるシステムのサーバ装置に関する。
【背景技術】
【0002】
ある一つの計算処理を多数のコンピュータに分散実行させる仕組みであるグリッドコンピューティングが実用化されている。グリッドコンピューティングにおいて、サーバ装置は、グリッド、つまり、各コンピュータの状況を監視し、計算処理を適切に分割して各コンピュータに分割した計算処理の実行を依頼し、結果を取得する。ここで、非特許文献1は、各コンピュータといった装置に計算処理を依頼する仕組みを提案している。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Dijiang Huang, et al.,“MobiCloud: Building Secure Cloud Framework for Mobile Computing and Communication,” In Proc. of the 2010 Fifth IEEE International Symposium on Service Oriented System Engineering(SOSE), 2010年
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年のコンピュータ技術及び通信技術の発達により、例えば、携帯電話等の可搬型装置は、無線により通信できる小型コンピュータと看做すことができる様になっている。また、これら装置には、温度センサやカメラ等の様々な機能が搭載されている。したがって、例えば、多数の地域にいる携帯電話等の装置を所持しているユーザに、当該装置による温度の測定や、当該装置を利用したある条件の画像の撮影を依頼し、測定結果又は撮影した画像等を取得することで様々な情報を効率良く集めることが可能になる。また、グリッドコンピューティングの様に、ある処理を複数の携帯型装置又はデスクトップPCの様な固定型装置に依頼して各装置から処理結果を受け取るシステムにより、大量の処理を短時間で終了させることが可能になる。
【0005】
しかしながら、上記システムを実現するためには、何らかの処理を依頼する者及びその者の装置と、処理を実行する者及びその者の装置とを結びつける仕組みが必要となる。さらに、他人の装置を使用して何らかの処理を実行するため、依頼された処理を実行した者に対しては何らかの報酬の支払いが必要となる。また、処理を実行する者が依頼された処理を簡易に実行できる仕組みも必要となる。
【0006】
本発明は、上記仕組みを提供することで、処理を依頼する装置と、依頼された処理を実行する装置とを結び付けるサーバ装置及び当該サーバ装置としてコンピュータを動作させるプログラムを提供するものである。
【課題を解決するための手段】
【0007】
本発明のサーバ装置は、各実行者について、実行者を選択するために利用される実行者情報及び実行者の識別子を含むデータベースを保持する実行者管理手段と、依頼装置から、実行者を選択するための実行者条件を示す情報、依頼の配布数についての条件である配布数条件を示す情報、依頼する処理に対する報酬の支払い条件である報酬条件を示す情報及び依頼する処理のために実行装置で動作させる実行ソフトウェアを含む依頼メッセージを受信すると、前記実行者管理手段から、該実行者条件に合致する実行者情報に対応する実行者の識別子を、該配布数条件に合致する数だけ取得し、取得した識別子に対応する実行者の実行装置に対して、該報酬条件を示す情報及び該実行ソフトウェアを含む実行要請メッセージを送信する処理を行う処理手段と、を備えていることを特徴とする。
【発明の効果】
【0008】
サーバ装置により依頼装置に対応する依頼者は、面識のない実行者の実行装置に、報酬条件を提示して処理の依頼を行うことが可能になる。また、実行ソフトウェアを添付して依頼を行うことで、実行者による依頼された処理の実行を行い易くなる。
【図面の簡単な説明】
【0009】
【図1】一実施形態におけるシステム構成図。
【図2】一実施形態における各装置の構成図。
【図3】一実施形態における依頼メッセージ及び実行要請メッセージを示す図。
【図4】一実施形態におけるフィードバック行列を示す図。
【図5】一実施形態における実行者の順位の算出の説明図。
【発明を実施するための形態】
【0010】
図1は、本実施形態におけるシステムの概略的な構成図である。図1において、依頼装置1は、何らかの処理を依頼する者(以後、依頼者と呼ぶ。)が使用する装置であり、実行装置3は、依頼者からの依頼に従い依頼された処理を行う装置である。また、実行装置3を所持し操作するものを、実行者と呼ぶ。また、サーバ装置2は、依頼装置1と実行装置3とを結びつけるための装置である。依頼装置1と実行装置3は、それぞれ、例えば、パーソナル・コンピュータや、携帯電話等である。なお、本実施形態において、実行装置3は、主に、カメラ機能及び温度センサ等を搭載した、所謂スマート・フォンであるものとしているが、デスクトップ型のコンピュータの様に、携帯型ではない装置であっても良い。また、図では、3つの実行装置のみを示しているがこれは例示であり、任意の数の実行装置3を使用することができる。さらに、依頼装置1と実行装置3を異なる装置として表示しているが、これらは同じ機能を有する装置であってもよい。つまり、依頼装置1も、他の依頼者からの依頼を処理する実行装置3として動作することができ、実行装置3は、他の実行者に処理を依頼する依頼装置1として動作することができる。
【0011】
依頼装置1、サーバ装置2及び実行装置3は、ネットワーク4に接続可能であり、依頼装置1は、少なくともサーバ装置2と通信可能であり、各実行装置3はサーバ装置2と通信可能である。なお、本実施形態において依頼装置1と実行装置3は、直接通信を行う必要はなく、むしろ、後述する様に、本システムは、実行者の身元を依頼者には秘密にする。また、サーバ装置2には、予め依頼者及び実行者と、依頼者及び実行者が使用する依頼装置1及び実行装置3についての情報が登録されており、依頼者及び実行者には、それぞれの識別子である依頼者ID及び実行者IDが割り当てられているものとする。
【0012】
図2は、依頼装置1、サーバ装置2及び実行装置3それぞれの概略的な構成を示す図である。依頼装置1の依頼部11は、何らかの処理を依頼する場合、依頼メッセージをサーバ装置2に送信する。図3(a)に示す様に依頼メッセージは、依頼を行う依頼者IDと、依頼IDと、配布数と、実行者条件と、要求条件と、報酬条件と、メモと、サーバ実行ソフトウェアと、実行ソフトウェアの各フィールドを含んでいる。
【0013】
依頼者IDフィールドには、依頼メッセージを送信した依頼装置1に対応する依頼者の依頼者IDが格納される。依頼IDフィールドには、当該依頼者において一意の値であり、当該依頼者が個々の依頼を識別するための識別子である依頼IDが格納される。例えば、依頼装置1は、依頼を行うときの時刻と、後述する実行ソフトウェアを結合した値のハッシュ値を依頼IDとすることができる。配布数フィールドには、実行処理を依頼する人数、つまり、後述する実行依頼メッセージの配布数についての条件である配布数条件を示す情報が格納される。例えば、配布数条件として、100人といった特定の数を指定することができる。また、配布数条件として、例えば、100人以上200人以下といった数の範囲を指定することもできる。さらに、次に説明する実行者条件に合致する人数が所定の人数以上いる場合には、所定の人数にのみ配布し、所定の人数未満の場合には、実行者条件に合致する総ての人に配布するとの条件を配布数条件とすることもできる。また、実行者条件が、各地域にいる実行者それぞれに依頼を行うものである場合、地域ごとに配布数条件を指定することもできる。
【0014】
実行者条件フィールドには、依頼を行う対象とする実行者の条件を特定する実行者条件を示す情報が格納される。例えば、ある地域にいる実行者や、実行者が有する実行装置3の機能等により、或いは、それらの組み合わせにより指定を行うことが可能である。具体的には、現在の海岸の状況の画像を取得したい依頼者は、各都道府県のある海岸付近の位置にいる、カメラ機能付きの実行装置3を有する者との実行者条件を指定することができる。なお、地理的な範囲については、例えば、中心位置とその半径等で指定を行う。その他、例えば、実行者の年齢、性別等、趣味等といった実行者のプロフィール等の条件を指定する形態とすることができる。なお、実行者条件において指定できる条件は、後述するサーバ装置2の実行者データベースが保持する各実行者の情報及び各実行者が所持する実行装置3の情報に依存する。
【0015】
要求条件フィールドには、依頼する処理の実行及びその結果が満たすべき要求条件を示す情報が格納される。なお、要求条件は、依頼処理全体に対する全体条件と、個々の実行者に対する個別条件に分類される。
【0016】
個別条件は、例えば、各実行者に、複数の処理結果の送信を要求する場合に設定され、処理を実行する時間間隔や、処理を実行する回数や、それらの組み合わせを含む条件である。なお、時間間隔は、例えば、4時間から6時間に1回等といったある程度の時間範囲で指定することができる。また、回数については、10回といったある特定の値で指定することも、少なくとも10回や、10回から20回といったある範囲で指定することができる。
【0017】
全体条件は、実行装置3が依頼した処理の結果をサーバ装置2に送信する期限である送信期限と、最低成功実行者数とを含んでいる。なお、成功実行者とは、依頼した処理の処理結果を、送信期限内にサーバ装置2に送信した実行者であり、個別要件が指定されている場合には、送信期限までに、個別要件を満たす処理結果をサーバ装置2に送信した実行者である。この成功実行者の人数が、最低成功実行者数未満である場合には、依頼が不成功と判定され、最低成功実行者数以上である場合には、依頼が成功と判定される。本実施形態においては、依頼が成功である場合、後述する報酬条件に従い依頼者は報酬の支払いを行うものとする。一方、依頼が不成功である場合、成功実行者に対してさえ報酬の支払いを行う必要がないものとする。なお、依頼の成功/不成功を判定する必要が無い場合や、常に成功実行者には報酬を支払う場合には、最低成功実行者数に0を設定する。
【0018】
報酬条件フィールドには、依頼を受諾して処理を実行した実行者に対してどの様な報酬が支払われるかを特定する報酬条件が格納される。なお、報酬条件は、報酬の受け取り対象者を特定する報酬対象者条件と、受け取り対象者に支払う金額に関する報酬額条件に分類することができる。まず、依頼が成功した場合における成功実行者の全員を報酬対象者とすることができる。しかしながら、成功実行者全員ではなく、処理結果をサーバ装置2に送信した順で所定の人数のみを報酬対象者とすることができる。また、要求条件の個別条件で所定回数以上の処理結果を要求している場合、送信期限内に1回でも送信結果をサーバ装置2に送信していれば、成功実行者ではなくとも、報酬対象者とすることもできる。
【0019】
また、報酬額条件には、成功実行者である報酬対象者には、所定の金額を支払うとの条件を設けることができる。また、総額を一定にし、成功実行者である報酬対象者で均等に配分することを条件とすることができる。また、処理結果を早く返した成功実行者程、報酬額が高くなるような条件とすることもできる。また、個別条件で所定回数以上の処理結果を要求している場合において、成功実行者でなくとも報酬を支払う場合には、処理結果を送信した回数に比例する報酬額とすることができる。この場合、1回当たりの額を固定額とすることも、成功実行者に支払う金額にある係数を乗じた金額とすることもできる。さらに、処理結果を1回送信するごとの報酬額を、送信回数が多いほど多くなる様に規定することもできる。
【0020】
続いて、メモ・フィールドには、実際に実行装置3に表示される文字等が格納される。メモ・フィールドは、依頼者が実行者に伝えたい任意のメッセージ、例えば、処理を行う際の注意点や、報酬についての説明や、依頼の目的等を示すデータを格納するためのフィールドであり、実行者が受信した依頼を受けるかどうかを判定するために使用される。
【0021】
サーバ実行ソフトウェア・フィールドには、例えば、依頼者が実行者からの処理結果そのもの、つまり、実行装置3が取得した生データを必要とせず、サーバ装置2において何らかの中間処理を行うことを要求する場合に、サーバ装置2が実行する中間処理のためのサーバ実行ソフトウェア等が格納される。例えば、各実行装置3から得たデータの平均値及び分散値のみを依頼者が必要としている場合には、平均値及び分散値を算出するソフトウェアがサーバ実行ソフトウェア・フィールドに格納される。実行ソフトウェア・フィールドには、依頼の実行に当たり実行装置3で実行する必要があるソウトウェアが格納される。この様に、サーバ実行ソフトウェアを使用することで、依頼装置1は、前処理をサーバ装置2に行わせることができ、依頼装置1における処理負荷を軽減させることができる。
【0022】
図2に戻り、依頼装置1の依頼部11は、依頼メッセージを送信後、結果の取得待ち状態に移行する。また、フィードバック部12は、結果の取得後、取得した結果の評価値をサーバ装置2に送信するものである。フィードバック処理については後述する。
【0023】
サーバ装置2の実行者管理部21は、実行者を示す実行者IDと、当該実行者についての実行者情報を含む実行者データベースを有している。ここで実行者情報は、実行者についての情報及び該実行者の実行装置3についての情報を含み、依頼メッセージに含まれる実行者条件に合致する実行者を判定するために利用される。具体的には、実行者データベースは、各実行者IDについて、当該実行者の実行装置3にアクセスするための情報、例えば、実行装置3の電話番号、ホスト名、IPアドレス等と、当該実行者の年齢、性別、職業、趣味等のプロフィールと、当該実行者の実行装置3から受信する現在位置と、当該実行者の実行装置3が保持する機能、例えば、カメラ機能の有無や、搭載しているセンサの種類等と、当該実行者の過去の実行履歴と、受け取った報酬の履歴を示す情報を保持している。例えば、実行履歴は、当該実行者への依頼を行った回数と、当該実行者が依頼を受諾した回数と、当該実行者が依頼を完了して成功実行者となった回数を示す情報を含んでいる。また、報酬履歴は、これまでに受け取った報酬の総額や、各依頼で受け取った報酬についての情報を有している。
【0024】
また、実行者管理部21は、さらに、フィードバック行列を保持している。フィードバック行列は、依頼者のフィードバック部12が送信する各依頼に対する評価値に基づき生成されたものであり、各実行者の順位付けを行うために使用される。つまり、実行者管理部21は、実行者条件に合致する実行者が、配布数フィールドが示す配布数条件に合致する最大人数より大きい場合に、依頼を行う実行者を、フィードバック行列により求めた実行者の順位で絞り込みを行う。なお、フィードバック行列による実行者の順位付け処理については後述する。
【0025】
依頼者管理部22は、依頼者を管理する依頼者データベースを保持している。依頼者データベースには、各依頼者IDについて、依頼装置1に関する情報と、依頼者の依頼履歴を保持している。依頼履歴は、各依頼について、依頼日時と、要求条件と、報酬条件と、依頼が成功したか否かを示すフラグと、各実行者に対する確定した報酬額と、を含んでいる。
【0026】
処理部23は、依頼装置1と実行装置3を連携させるためのものである。具体的には、依頼装置1から依頼メッセージを受信すると、依頼メッセージに含まれる実行者条件に合致する実行者を実行者管理部21に問い合わせる。また、このとき処理部23は、配布数条件も実行者管理部21に通知する。前述した様に、実行者管理部21は、実行者条件に合致する実行者数が配布数条件で指定される最大値より多い場合、実行者の順位の高いものから配布数に等しい人数の実行者を選択し、選択した実行者の実行者IDを処理部23に通知する。なお、実行者条件に合致する実行者数が配布数条件を満たす最小値より少ない場合、実行者管理部21は、その旨を処理部23に通知する。
【0027】
例えば、依頼メッセージに含まれる配布数条件が1000人から2000人であり、実行者条件に合致する実行者数が500人の場合には、実行者管理部21は、実行者条件に合致する実行者数が、配布数条件を満たす最小数である1000人より少ない500人であることを処理部23に通知する。一方、実行者条件に合致する実行者数が1300人の場合には、実行者管理部21は、この1300人の実行者IDを処理部23に通知する。さらに、実行者条件に合致する実行者数が2500人の場合には、実行者管理部21は、この2500人のうちの上位2000人の実行者IDを処理部23に通知する。なお、実行者管理部21から実行者条件に合致する実行者数が配布数条件を満たさないことの通知を受けると、処理部23は、依頼装置1に配布数が条件に合致しいていないことを通知してその処理を終了する。
【0028】
一方、配布数条件を満たす場合、処理部23は、セッションIDを発行し、セッションIDと依頼メッセージに含まれる依頼IDを関連付けて保存する。続いて、処理部23は、実行者管理部21から取得した実行者IDに対応する実行装置に実行要請メッセージを送信する。実行要請メッセージには、図3(b)に示す様に、処理部23が生成したセッションIDと、依頼メッセージに含まれる要求条件、報酬条件、メモ及び実行ソフトウェアを含める。また、中間処理をサーバ装置2にて行うためにサーバ実行ソフトウェアが依頼メッセージに含まれていた場合には、サーバ実行ソフトウェアを依頼IDに関連付けて保存する。
【0029】
処理部23は、実行要請メッセージの配布後、配布先の各実行装置3からの処理結果待ち状態となる。ここで、実行要請メッセージを送信した実行装置3から、依頼された処理の実行を拒否する拒否メッセージを受信した場合、処理部23は、当該実行装置3が処理を拒否したこと、つまり受諾しなかったことを保存しておく。そして、拒否メッセージを送信しなかった実行装置3は、実行を受諾したものと扱う。しかしながら、実行装置3から明示的な受諾メッセージを受けた場合にのみ、当該実行装置3が依頼を受諾したものと扱い、それ以外の場合には実行を拒否したとする形態であっても良い。
【0030】
なお、処理部23の受信待ち状態は、要求条件が示す送信期限まで継続するが、依頼を受諾した各実行装置3から要求条件に合致する処理結果を送信期限までに受け取った場合には、その時点で受信待ち状態を終了することができる。処理部23は、受信待ち状態において、実行装置3から処理結果を受け取とると、受け取った処理結果を保存する。また、要求条件の個別条件において、例えば、処理の実行間隔が指定されている場合、受け取った処理結果がこの条件に合致するか否かを判定し、合致しない場合には、受け取った処理結果を廃棄する。サーバ装置は、要求条件が示す送信期限が過ぎると、成功実行者数を判定し、成功実行者数が最低成功実行者数以上であるかを判定することで、依頼が成功したか否かを判定する。
【0031】
依頼が成功した場合であってサーバ装置2における中間処理が必要な場合、処理部23は、サーバ実行ソフトウェアにより処理を行い、中間処理結果を依頼装置1に送信する。一方、中間処理が必要ではない場合、処理部23は、成功実行者に対応する実行装置3からの処理結果をそのまま依頼装置1に送信する。なお、個別条件で所定回数以上の処理結果を要求し、期限内に1回でも送信結果をサーバ装置2に送信した実行者には、回数に応じた報酬の支払いを行う場合には、成功実行者ではなくとも当該実行者からの処理結果も依頼装置1に送信する。つまり、処理部23は、報酬の受け取り対象となる実行者からの処理結果については、依頼装置1に送信し、報酬の受け取り対象ではない実行者からの処理結果については、依頼装置1への送信を行わない様にする。
【0032】
なお、上記実施形態では、サーバ装置2は、各実行装置3から受信する処理結果を保存しておき、送信期限後に一括して依頼装置1に送信していた。しかしながら、実行装置3から処理結果を受信した場合において、すでにその処理結果に対する報酬が発生することが確定している場合には、受信した処理結果をそのまま依頼装置1に送信することができる。例えば、最低成功実行者数が1の場合で、個別条件が指定されていない場合、最初の処理結果の受信により依頼の成功が確定するため、サーバ装置2における複数の処理結果を利用する中間処理が必要でなければ、処置部23は、そのまま処理結果を依頼装置1に送信することができる。さらに、個別条件が指定されている場合であっても、報酬対象者条件で、期限内に1回でも処理結果を送信した実行者を報酬受け取り対象としている場合、処置部21は、そのまま処理結果を依頼装置1に送信することができる。
【0033】
いずれにしても、処理部23は、報酬の受け取り対象となる実行者からの処理結果のみを依頼装置1に送信、或いは、依頼装置1に送信する中間処理の入力とする。その後、処理部23は、報酬受け取り対象者への報酬額を報酬条件に基づき決定し、実行者管理部21及び依頼者管理部22に必要な情報を通知して、実行者データベース及び依頼者データベースのそれぞれを更新させる。なお、各依頼について、依頼者が各実行者に支払う報酬額と、各実行者が受け取る報酬額については、それぞれ、実行者データベース及び依頼者データベースに記録され、実行者データベース及び依頼者データベースに記録された内容に基づき実際の支払い処理が行われる。なお、決定した報酬額の依頼者から実行者への支払い処理は任意の方法で行うことができる。この様に、本実施形態においては、サーバ装置2が依頼装置1と実行装置3の仲介を行い、依頼装置1からの依頼メッセージに含まれる要求条件及び報酬条件に基づき、処理部23は、依頼者が各実行者に支払うべき報酬額を決定する。通常、サーバ装置2は、例えば、ネットワークのオペレータや、当該サービスを提供する事業者が設置し運用する。つまり、これらオペレータ又は事業者が報酬額を判定して記録するため、依頼者と実行者間での報酬額及びその支払いに関する処理において発生し得る問題を低減するこができる。
【0034】
続いて、実行装置3の実行部31は、サーバから実行要請メッセージを受信すると、ディスプレイ上に実行要請メッセージを受信したことを表示し、ユーザに、要請を受諾するか否かの選択を促す。このとき、報酬情報と、メモ・フィールドに格納されている情報も併せてディスプレイに表示する。ユーザが依頼を受諾する操作を行うと、実行部31は、実行要請メッセージに含まれる実行ソフトウェアを実行する。また、依頼を拒否すると、拒否メッセージをサーバ装置2に送信する。実行ソフトウェアは、例えば、周期的に温度及び位置を測定する依頼の場合には、所定の周期で位置及び温度を測定してサーバ装置2に送信を行う。また、依頼する処理が所定の計算処理である場合、実行ソフトウェアは当該所定の計算処理を行う。
【0035】
なお、実行部31における依頼された処理の実行は、例えば、温度の取得や所定の計算処理といった、実行者の操作を必要としない処理であっても、静止画又は動画の撮影といった実行者による操作を必要とする処理であっても良い。例えば、静止画の撮影処理の場合、実行ソフトウェアは、撮影した画像に、撮影した位置及びその位置からの撮影した方向等の情報を付加するものとすることができる。
【0036】
実行装置3の登録部32は、実行装置3の位置を周期的にサーバ装置2に送信したり、サーバ装置2が保持している実行者データベースの実行者のプロファイル情報等を修正したりする機能ブロックである。
【0037】
続いて、本実施形態におけるフィードバック処理について説明する。サーバ装置2の処理部23は、依頼装置1に処理結果又は中間処理結果を送信する際に、その処理結果を取得した実行装置3や、その中間処理結果の元となった処理結果を取得した実行装置3の実行者IDではなく、処理部23がその都度生成する実行者の仮識別子である仮実行者IDを依頼装置1に通知する。これは、依頼装置1から個々の処理結果を取得した実行者を秘匿するためである。したがって、処理部23は、実行者IDと仮実行者IDとの関係を保存しておく。処理結果を受信した依頼装置1の依頼者は、処理結果又は中間処理結果に対する評価値を入力し、依頼装置1のフィードバック部12は、評価値と当該処理結果の仮実行者IDをサーバ装置2に送信する。なお、評価値は、例えば、−1〜+1の値の範囲として、+1が最も高い値とする。なお、依頼者が評価を行わない場合には、フィードバック部11は、中心の値、例えば、評価値が−1〜+1の値の範囲である場合には0を評価値として自動的に送信することができる。なお、依頼者が評価を行わず、よって、評価値をサーバ装置2に送信しなかった実行者の評価値については、サーバ装置2の処理部23が、当該実行者の評価値を中心の値とする形態であっても良い。
【0038】
例えば、特定の時間の外気温を10回以上測定する依頼において、測定時刻においては、室外で実行装置3を外気に晒すことをメモ・フィールドで要求し、12回の処理結果を受信したものとする。しかしながら、例えば、12回の測定結果のうち数回の測定結果が、室内で測定したものと思われる様な場合、依頼者は、当該実行者の評価を低い値にしてフィードバックを行うことができる。
【0039】
処理部23は、依頼装置1から受け取った評価値に含まれる仮実行者IDを、実行者IDに変換して、評価値と共に実行者管理部21に出力する。実行者管理部21は、図4に示すフィードバック行列を保持している。フィードバック行列は、依頼者の実行者への評価値の平均である総合評価値を、各依頼者と各実行者の組み合わせのそれぞれについて示す行列である。図4において、例えば、依頼者IDが#jである依頼者の、実行者IDが#iである実行者への総合評価値はFijである。実行者管理部21は、例えば、新たな依頼に対する依頼者IDが#jである依頼者からの、実行者IDが#iである実行者への評価値として値Xを受信した場合、i行j列の値を(Fij+X)/Lに更新する。ここで、Lは、依頼者IDが#jである依頼者の、実行者IDが#iである実行者への評価回数である。なお、例えば、3人の実行者からの処理結果により生成した中間処理結果の評価値がYである場合には、各実行者の評価値をY/3として更新する。しかしながら、各実行者の評価値をそれぞれYとする形態であっても良い。
【0040】
実行者管理部21は、フィードバック行列に基づき各実行者の評価順位を生成する。なお、順位付けの考え方は、極端に偏った評価を行う依頼者の評価については重視せず、受けた評価の平均が高く、かつ、ばらつきが少ない実行者の評価を重視することであり、以下、具体的に説明する。
【0041】
まず、フィードバック行列の各列ベクトルは、対応する依頼者の各実行者に対する総合評価値を示すものである。そこで、図5に示す様に、各依頼者について、列ベクトルの各要素の平均値である評価平均値Aを求める。例えば、依頼者IDが#1である依頼者の評価平均値Aは、図4のフィードバック行列の第1列の各要素の平均値である。続いて、各依頼者について、図5に示す様に、評価分散Vを求める。例えば、依頼者IDが#1である依頼者の評価分散Vは、図4のフィードバック行列の第1列の各要素の分散である。続いて、各依頼者について、図5に示す様に、評価標準偏差Sを求める。例えば、依頼者IDが#1である依頼者の評価標準偏差Sは、同じ依頼者の評価分散Vの平方根である。
【0042】
最後に、図5に示す評価平均値A及び評価標準偏差Sと、フィードバック行列Fから、偏差行列Dを求める。ここで、偏差行列Dのi行j列の要素の値Dijは、
ij=|(Fij−A)/(S×Smax)|
である。ここで、Smaxは、Dijの値を調整するための、予め定めた係数である。なお、Dijが1を超える場合には、Dijを1とする。
【0043】
続いて、実行者管理部21は、偏差行列Dとフィードバック行列Fの各要素の値から各実行者の最終評価値Eを求める。例えば、実行者IDが#iである実行者の最終評価値Eは、当該実行者の各総合評価値に、偏差行列の当該実行者に対応する要素から求めた係数である(1−Dik)を乗じた積算値である、
=(1/n)Σ(Fik×(1−Dik))
となる。なお、ここで、nは、依頼者の数であり、上式でΣは、k=1からnの積算を示すものである。実行者管理部21は、最終評価値Eが高い実行者程、評価が高いものとし、実行者条件に合致する実行者が配布数条件により決定される配布数の最大値以上である場合には、評価が高い順に配布対象の実行者を選定する。
【0044】
以上説明した様に、依頼者は、面識のない実行者に処理の実行を依頼することができる。また、様々な報酬条件を指定することで、実行者が処理の実行を行うことに対するインセンティブが発生する。なお、サーバ装置2の仲介により、報酬対象となる処理結果のみを依頼装置1に送信することを制御することができる。さらに、サーバ装置2の仲介により、報酬の受け取りに関する問題が発生し難くなり、実行者は安心して処理を受諾することができる。また、評価値を利用して実行者を順位付けすることにより、適切な処理を行う実行者に優先して処理の依頼を行うことができる。
【0045】
なお、本発明によるサーバ装置は、コンピュータを上述したサーバ装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。

【特許請求の範囲】
【請求項1】
各実行者について、実行者を選択するために利用される実行者情報及び実行者の識別子を含むデータベースを保持する実行者管理手段と、
依頼装置から、実行者を選択するための実行者条件を示す情報、依頼の配布数についての条件である配布数条件を示す情報、依頼する処理に対する報酬の支払い条件である報酬条件を示す情報及び依頼する処理のために実行装置で動作させる実行ソフトウェアを含む依頼メッセージを受信すると、前記実行者管理手段から、該実行者条件に合致する実行者情報に対応する実行者の識別子を、該配布数条件に合致する数だけ取得し、取得した識別子に対応する実行者の実行装置に対して、該報酬条件を示す情報及び該実行ソフトウェアを含む実行要請メッセージを送信する処理を行う処理手段と、
を備えているサーバ装置。
【請求項2】
前記依頼メッセージは、実行者装置に表示するメッセージを含み、
前記処理手段は、前記実行者装置に表示するメッセージを前記実行要請メッセージに含める、
請求項1に記載のサーバ装置。
【請求項3】
前記報酬条件は、依頼する処理に対する報酬の受け取り対象者となるための条件をさらに含み、
前記処理手段は、前記実行要請メッセージの送信に応じて、処理結果を前記サーバ装置に送信した実行装置に対応する実行者が前記報酬条件に従う報酬の受け取り対象者であるか否かを前記要求条件に従い判定する、
請求項1又は2に記載のサーバ装置。
【請求項4】
前記依頼メッセージに前記サーバ装置で実行するサーバ実行ソフトウェアが含まれている場合、前記処理手段は、実行装置から受信した処理結果を前記サーバ実行ソフトウェアで処理して得た中間処理結果を前記依頼装置に送信し、
前記依頼メッセージに前記サーバ実行ソフトウェアが含まれていない場合、前記処理手段は、実行装置から受信した処理結果を前記依頼装置に送信する、
請求項3に記載のサーバ装置。
【請求項5】
前記処理手段は、前記報酬の受け取り対象者である実行者の実行装置から受信した処理結果又は該処理結果から得た中間処理結果を前記依頼装置に送信し、前記報酬の受け取り対象者ではない実行者の実行装置から受信した処理結果は、前記依頼装置に送信せず、かつ、前記中間処理結果を得るために使用しない、
請求項4に記載のサーバ装置。
【請求項6】
前記処理手段は、前記処理結果又は前記中間処理結果を前記依頼装置に送信する際に、前記処理結果を送信した実行装置又は前記中間処理結果の元となった処理結果を送信した実行装置に対応する実行者の仮識別子を生成し、前記処理結果又は前記中間処理結果と共に、前記生成した仮識別子を前記依頼装置に送信する、
請求項4又は5に記載のサーバ装置。
【請求項7】
前記処理手段は、前記処理結果又は前記中間処理結果の前記依頼装置への送信後、前記依頼装置から、前記仮識別子と共に、前記処理結果又は前記中間処理結果の評価を示す評価値を受信すると、前記仮識別子に対応する実行者の識別子、前記依頼装置を示す情報及び前記受信した評価値を前記実行者管理手段に通知し、
前記実行者管理手段は、各依頼者の各実行者に対する総合評価値を保持しており、前記処理手段から通知された前記依頼装置に対応する依頼者の、前記通知された識別子に対応する実行者の総合評価値を、前記通知された評価値を用いて更新する、
請求項6に記載のサーバ装置。
【請求項8】
前記実行者管理手段は、各依頼者の各実行者に対する総合評価値を保持しており、前記各依頼者の各実行者に対する総合評価値に基づき、各実行者の順位を算出し、前記実行者条件に合致する実行者情報に対応する実行者が、前記配布数条件を満たす配布数の最大値より多い場合には、前記実行者条件に合致する実行者情報に対応する実行者の前記順位の高いものから順に前記配布数条件を満たす配布数の最大値に等しい数の実行者の識別子を前記処理手段に通知する、
請求項1から7のいずれか1項に記載のサーバ装置。
【請求項9】
前記実行者管理手段は、実行者に対する各総合評価値に係数を乗じて積算することで該実行者に対する最終評価値を算出し、算出した最終評価値が高い順に各実行者の順位を算出し、
前記係数は、依頼者に応じて決定され、該依頼者の各実行者に対する総合評価値の標準偏差が小さい程、小さくなる値である、
請求項8に記載のサーバ装置。
【請求項10】
前記処理手段は、前記実行者条件に合致する実行者情報に対応する実行者の数が、前記配布数条件を満たす最小値より少ない場合、前記実行者条件に合致する実行者情報に対応する実行者の数が、前記配布数条件を満たす最小値より少ないことを前記依頼装置に通知する、
請求項1から9のいずれか1項に記載のサーバ装置。
【請求項11】
請求項1から10のいずれか1項に記載のサーバ装置としてコンピュータを機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−73269(P2013−73269A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−209728(P2011−209728)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000208891)KDDI株式会社 (2,700)