(57)【要約】【課題】動的に変化する環境下でタスクに対するアクション実行を適切な割り当て先に割り当てる。【解決手段】実施形態におけるタスク割り当て装置は、タスクに対する各アクタによるアクション実行の可否、実行元としての割当の有無を示す割当情報を記憶する記憶装置と、新たなタスクの発見時に、各アクタによる新たなタスクに対するアクション実行の可否に応じて、各アクタについての、新たなタスクに対するアクション実行の可否、アクション実行元としての割当の有無を示す割当情報を生成し、生成された割当情報に基づいて、新たなタスクに対するアクション実行元として割当てられたアクタを特定し、記憶される割当情報により示される、特定されたアクタについての、他のタスクに対するアクション実行元としての割当が、他のタスクに対するアクション実行が可能な他のアクタへの割当に組み換えられるように、記憶される割り当て情報を更新する。【選択図】      図２
2020181515.tif 000002
【特許請求の範囲】
【請求項１】
アクションの実行先であるタスクへのアクション実行の主体である複数のアクタの各々についての、前記タスクに対するアクション実行の可否、および前記複数のアクタの各々についての、前記タスクに対するアクション実行元としての割り当ての有無をそれぞれ示す割り当て情報を記憶する記憶装置と、
新たなタスクが発見されたときに、前記複数のアクタの各々による前記新たなタスクに対するアクション実行の可否に応じて、前記複数のアクタの各々についての、前記新たなタスクに対するアクション実行の可否と、前記複数のアクタの各々についての、前記新たなタスクに対するアクション実行元としての割り当ての有無とをそれぞれ示す割り当て情報を生成する生成手段と、
前記生成手段により生成された割り当て情報に基づいて、前記新たなタスクに対するアクション実行元として割り当てられたアクタを特定し、
前記記憶装置に記憶される割り当て情報により示される、前記特定されたアクタについての、前記新たなタスクが発見される以前に発見された他のタスクに対するアクション実行元としての割り当ての少なくとも一部が、前記他のタスクに対するアクション実行が可能である他のアクタへの割り当てに組み換えられるように、前記記憶装置に記憶される割り当て情報を更新する更新手段と、
を備えるタスク割り当て装置。
【請求項２】
前記新たなタスクが発見されたときに、前記新たなタスクに対するアクション実行の可否の問い合わせを前記複数のアクタの各々に送信する送信手段をさらに備え、
前記生成手段は、
前記複数のアクタの各々からの、前記送信手段により送信された問い合わせに対するアクションを実行の可否の回答に応じて、前記割り当て情報を生成する、
請求項１に記載のタスク割り当て装置。
【請求項３】
前記タスクは、複数のセンサのいずれかにより発見され、
前記記憶装置は、前記複数のセンサの各々に対応して設けられ、
前記生成手段により生成された、前記新たなタスクに係る前記割り当て情報を前記複数のセンサの各々に対して設けられる記憶装置に記憶する記憶制御手段をさらに備える、
請求項１に記載のタスク割り当て装置。
【請求項４】
前記記憶装置は、前記複数のアクタの各々に対応して設けられ、
前記生成手段により生成された、前記新たなタスクに係る前記割り当て可否情報を前記複数のアクタの各々に対して設けられる記憶装置に記憶する記憶制御手段をさらに備える、
請求項１に記載のタスク割り当て装置。
【請求項５】
前記問い合わせに対する前記アクタからの回答は、前記新たなタスクに対するアクションの実行が十分に可能であることを示す回答、前記新たなタスクに対するアクションの実行が十分ではないが可能であることを示す回答、および前記新たなタスクに対するアクションの実行が不可能であることを示す回答のいずれかを含み、
前記生成手段は、
前記複数のアクタの各々からの、割り当ての可否の回答に応じて、前記新たなタスクに対するアクションの実行が十分に可能であることを示す回答の回答元のアクタを、前記新たなタスクに係るアクションの実行の割り当て先として優先して、前記複数のアクタの各々についての、前記新たなタスクに係る前記割り当て情報をそれぞれ生成する、
請求項２に記載のタスク割り当て装置。
【請求項６】
アクションの実行先であるタスクへのアクション実行の主体である複数のアクタの各々についての、前記タスクに対するアクション実行の可否、および前記複数のアクタの各々についての、前記タスクに対するアクション実行元としての割り当ての有無をそれぞれ示す割り当て情報を記憶する記憶装置を備えるタスク割り当て装置に用いられるタスク割り当て方法であって、
新たなタスクが発見されたときに、前記複数のアクタの各々による前記新たなタスクに対するアクション実行の可否に応じて、前記複数のアクタの各々についての、前記新たなタスクに対するアクション実行の可否と、前記複数のアクタの各々についての、前記新たなタスクに対するアクション実行元としての割り当ての有無とをそれぞれ示す割り当て情報を生成し、
前記生成された割り当て情報に基づいて、前記新たなタスクに対するアクション実行元として割り当てられたアクタを特定し、
前記記憶装置に記憶される割り当て情報により示される、前記特定されたアクタについての、前記新たなタスクが発見される以前に発見された他のタスクに対するアクション実行元としての割り当ての少なくとも一部が、前記他のタスクに対するアクション実行が可能である他のアクタへの割り当てに組み換えられるように、前記記憶装置に記憶される割り当て情報を更新する、
タスク割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、タスク割り当て装置およびタスク割り当て方法に関する。
【背景技術】
【０００２】
アクションの実行先であるタスク(Task)に対する、センサ(sensor)によるセンシング情報を基に、タスクへのアクションの実行の主体となるアクタ(actor)、又はアクタとセンサとの組に、タスクへのアクション実行元としての（以下、タスクの割り当てと称することがある）割り当てを行なうタスク割当システムがある。
【０００３】
このタスク割当システムを大規模化する場合、即応性または抗たん性(survivability)を向上させる方式として複数のタスク割り当て装置でなる分散割り当てシステムが構築されることが多い。
【０００４】
災害発生時など、短時間で周囲の状況が大きく変化しやすいような環境下では、分散システムにおけるタスク割当の有効な方法のひとつとして、契約ネットプロトコルに代表されるオークション方式が挙げられる。オークション方式は、発生するタスクごとに最適な割当先であるアクタを選定する部分最適方式であるため、動的に変化する環境に対応しやすい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−３３５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
あるタスクの割当先が既に決まった状況下で別の新たなタスクが発生した場合、先のタスクの割当状況によって、この新たなタスクの割当先が限定されることがある。  
図１１乃至図１４は、オークション方式による一般的なタスク割当の一例を示す図である。  
図１１に示すように、既にsensor-AがTask-Aを発見しており、このTask-Aに対するアクション実行元がsensor-Aとactor-Bの組に割り当てられ、Task-Aに対し、これらsensor-Aとactor-Bとでアクションを実行することが決まっているとする。  
また、このとき、Task-Aに対し、actor-A又はactor-Cでも同様の対処ができるとする。
【０００７】
次に、図１２に示すように、sensor-Bが新たなTask-Bを発見すると、sensor-Bは、各actorに対し、Task-Bに対するアクション実行の可否の問い合わせ「Cando?」を送る。この問い合わせに応じて、各actorは、Task-Bに対するアクション実行の可否の回答をsensor-Bに返す。
【０００８】
このとき、本来ならば、Task-Bについては各actorのうちactor-Bによりアクションを実行することが最善だとする。  
しかし、このactor-Bは、上記のようにTask-Aに対するアクションを実行することが既に決まっているため、図１３に示すように、actor-Bは、Task-Aに対するアクションを実行することを考慮しなければTask-Bに対するアクションを実行できるが、現状ではTask-Bへのアクションを実行できない旨の回答「Doing(Good)」をsensor-Bに送る。
【０００９】
また、actor-Aは、Task-Bに対するアクションを実行できない旨の回答「Cannot」をsensor-Bに送り、actor-Cは、最善ではないがTask-Bに対するアクションを実行できる旨の回答「Can(Bad)」をsensor-Bに送る。
【００１０】
図１４に示すように、各actorからの回答を受け、結果として、sensor-Bは、各actorのうち、新たなTask-Bへの対処として、「Good」を含む回答の送信元であるactor-B、actor-Cのうち「Doing」を含む回答の送信元であるactor-Bを除いたactor-Cとsensor-B自身の組をTask-Bへのアクション実行元として割り当てる旨のメッセージ「Do」をactor-Cとの間でやり取りする。  
このように、オークション方式によるタスク割当では、タスク割当システムの全体における最適の観点で見ると、不十分な割当結果が起こり得る。
【００１１】
本発明が解決しようとする課題は、動的に変化する環境下でタスクに対するアクション実行を適切な割り当て先に割り当てることが可能なタスク割り当て装置およびタスク割り当て方法を提供することである。
【課題を解決するための手段】
【００１２】
実施形態におけるタスク割り当て装置は、アクションの実行先であるタスクへのアクション実行の主体である複数のアクタの各々についての、前記タスクに対するアクション実行の可否、および前記複数のアクタの各々についての、前記タスクに対するアクション実行元としての割り当ての有無をそれぞれ示す割り当て情報を記憶する記憶装置と、新たなタスクが発見されたときに、前記複数のアクタの各々による前記新たなタスクに対するアクション実行の可否に応じて、前記複数のアクタの各々についての、前記新たなタスクに対するアクション実行の可否と、前記複数のアクタの各々についての、前記新たなタスクに対するアクション実行元としての割り当ての有無とをそれぞれ示す割り当て情報を生成する生成手段と、前記生成手段により生成された割り当て情報に基づいて、前記新たなタスクに対するアクション実行元として割り当てられたアクタを特定し、前記記憶装置に記憶される割り当て情報により示される、前記特定されたアクタについての、前記新たなタスクが発見される以前に発見された他のタスクに対するアクション実行元としての割り当ての少なくとも一部が、前記他のタスクに対するアクション実行が可能である他のアクタへの割り当てに組み換えられるように、前記記憶装置に記憶される割り当て情報を更新する更新手段とを有する。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係るタスク割り当て装置を含む分散タスク割り当てシステムの構成例を示す図。
【図２】実施形態に係るタスク割当装置の機能構成例を示す図。
【図３】実施形態に係るタスク割当装置による処理動作の一例を示すフローチャート。
【図４】実施形態に係るタスク割当装置によるタスク割当の具体例を示す図。
【図５】実施形態に係るタスク割当装置によるタスク割当の具体例を示す図。
【図６】実施形態に係るタスク割当装置によるタスク割当の具体例を示す図。
【図７】実施形態に係るタスク割当装置によるタスク割当の具体例を示す図。
【図８】実施形態に係るタスク割当装置によるタスク割当の具体例を示す図。
【図９】実施形態に係るタスク割当装置によるタスク割当の具体例を示す図。
【図１０】実施形態に係るタスク割当装置によるタスク割当の具体例を示す図。
【図１１】オークション方式による一般的なタスク割当の一例を示す図。
【図１２】オークション方式による一般的なタスク割当の一例を示す図。
【図１３】オークション方式による一般的なタスク割当の一例を示す図。
【図１４】オークション方式による一般的なタスク割当の一例を示す図。
【発明を実施するための形態】
【００１４】
以下、実施形態について図面を用いて説明する。  
図１は、実施形態に係るタスク割り当て装置を含む分散タスク割り当てシステムの構成例を示す図である。  
図１に示すように、実施形態に係る分散タスク割り当てシステムは、ネットワークで接続された複数のタスク割当装置１００でなる。
【００１５】
図２は、実施形態に係るタスク割当装置の機能構成例を示す図である。  
図２に示すように、タスク割当装置１００は、受信部１１、処理判定部１２、記録管理部１３、割当作成判定部１４、送信部１５、第１データベース１６、タスク割当作成部２１、情報生成部２２、第２データベース２３、アクション実行意思決定部２４、およびアクション実行部２５、通信部３１を備える。
【００１６】
このタスク割当装置１００は、例えばハードウェア構成（例えば、入出力装置、ＣＰＵ、メモリ、記憶装置などを備えたコンピュータ、例えばパーソナルコンピュータ）とソフトウェアとの組合せにより実施可能である。ソフトウェアとしては、ネットワーク又は記憶媒体からコンピュータに予めインストールされ、このコンピュータにより実行可能なプログラムを用いることができる。
【００１７】
図２に示した例では、タスク割当装置１００は、タスク割り当てを実現する機能と、１つのアクタを実現する機能、ここでは第２データベース２３、アクション実行意思決定部２４、アクション実行部２５を含む機能とがそれぞれ組み入れられた構成とした。
【００１８】
しかし、これに限らず、各機能がそれぞれ実現できれば、タスク割り当てを実現する機能を有する装置と、アクタを実現する機能を有する装置とが別個の装置であってもよい。また、タスクに対するアクション実行の割り当て先が管理できれば、タスク割り当て機能を有する装置は、アクタと１対１で設けられなくともよい。  
また、実施形態では、タスク割り当てを実現する機能と、１つのセンサを実現する機能を含む機能がそれぞれ組み入れられた構成を用いてもよい。アクタの場合と同様に、各機能が実現できれば、タスク割り当てを実現する機能を有する装置と、センサを実現する機能を有する装置とが別個の装置であってもよい。また、タスクに対するアクション実行の割り当て先が管理できれば、タスク割り当て機能を有する装置は、センサと１対１で設けられなくともよい。
【００１９】
また、抗たん性が担保される前提で、タスク割り当て機能を有する複数の装置により分散タスク割り当てシステムを構築する代わりに、タスク割り当て機能を有する装置を１つの装置とする構成を構築してもよい。
【００２０】
図３は、実施形態に係るタスク割当装置による処理動作の一例を示すフローチャートである。  
本実施形態では、第２データベース２３には、自装置内のアクタの機能に係る、既に発見されているタスクに対するアクション実行の可否、および既に発見されているタスクに対するアクション実行元としての割り当ての有無を示すタスク割り当て情報（単に割り当て情報と称することもある）が格納されている。
【００２１】
まず、タスク割当装置１００の受信部１１が、他の装置、例えば他のタスク割当装置１００またはセンサからの各種情報を通信部３１を介して受信すると（Ｓ１１）、処理判定部１２は、この受信した情報がセンサにより発見されたタスクの状態を示すセンシング情報であるか、他の情報、例えば後述する割り当て可否情報であるかを判定する（Ｓ１２）。
【００２２】
Ｓ１１で受信した情報がセンシング情報である場合（Ｓ１２のＹＥＳ）、記録管理部１３は、このセンシング情報を第１データベース１６に格納する（Ｓ１３）。ここでは、センシング情報で示されるタスクを識別する制御対象情報、および各装置との通信可能な接続状態を示す接続情報も第１データベース１６に格納されている。
【００２３】
そして、割当作成判定部１４は、タスク割り当てを作成すべきか、つまり、新たに受信されたセンシング情報に新たなタスクが発見されたことを示す情報が含まれており、この新たなタスクに対するアクションの実行元としての割り当て先を決定すべきか否かを判定する（Ｓ１４）。
【００２４】
タスク割り当てを作成すべきと判定された場合（Ｓ１４のＹＥＳ）、送信部１５は、他のアクタの機能を有するタスク割当装置１００に対し、新たなタスクに対するアクションの実行の可否の問い合わせを送信する（Ｓ１５）。
【００２５】
また、上記受信した情報がセンサによるセンシング情報でなく（Ｓ１２のＮＯ）、他のタスク割当装置１００の各々に組み込まれるアクタ機能（例えばアクタＡ、Ｂ、Ｃ）からの、新たなタスクに対するアクションの実行の可否を示す割り当て可否情報であると処理判定部１２が判定した場合（Ｓ２１のＹＥＳ）、タスク割当作成部２１は、この割り当て可否情報および第２データベース２３に格納されるタスク割り当て情報に基づいて、新たなタスクに係る、自装置内で実現されるアクタを含む各アクタについてのタスク割り当て情報を生成し、この情報を第２データベース２３に格納する（Ｓ２２）。
【００２６】
ここで、本実施形態では、各アクタは、新たなタスクに対するアクションの実行の可否の問い合わせを受けたときに、上記新しいタスクの発見以前に既に発見された他の従前のタスクに対するアクションの実行中であっても、このアクションの実行を考慮しない前提のもとで、新たなタスクに対するアクションの実行が可能であれば、当該新たなタスクに対するアクションの実行が可能である旨の回答を問い合わせの送信元に返す。
【００２７】
Ｓ２２で生成されるタスク割り当て情報は、各アクタについての、新たなタスクに対するアクション実行の可否を示す割り当て可否情報と、各アクタについての、上記新たなタスクに対するアクションの実行元としての実際の割り当ての有無を示す割り当て有無情報とを含む。また、第２データベース２３には、上記新しいタスクの発見以前に既に発見された他のタスクに係るタスク割り当て情報が既に格納されている。
【００２８】
次に、タスク割当作成部２１は、第２データベース２３に格納される、各タスクに係るタスク割り当て情報における、既に発見されているタスクに対するアクション実行の割当先の組み換えが必要か否かを判定する（Ｓ２３）。  
例えば、Ｓ２３では、タスク割当作成部２１は、タスク割り当て情報を参照して、新たなタスク（ここではタスクＢと称することがある）に対してアクション実行元として割り当てられるアクタ（ここではアクタＢと称することがある）を特定する。
【００２９】
そして、タスク割当作成部２１は、この特定されたアクタが、新たなタスクの発見以前に既に発見された他の従前のタスク（ここではタスクＡと称することがある）に対するアクション実行元としての割り当て先であるか否かを判定する。
【００３０】
特定されたアクタが、従前のタスク（タスクＡ）に対するアクション実行元としての割り当て先である場合、タスク割当作成部２１は、上記従前のタスクに対するアクション実行を維持しながら、新たなタスク（タスクＢ）に対する上記特定されたアクタ（アクタＢ）によるアクション実行が可能となるように、現状のタスク割り当て情報の割り当て有無情報を更新することによる、アクション実行元の割当先の組み換えが必要であると判定する。
【００３１】
割当先の組み換えが必要である場合（Ｓ２３のＹＥＳ）、情報生成部２２は、現状のタスク割り当て情報における、上記新たなタスク（タスクＢ）に対するアクション実行元として割り当てられるアクタ（アクタＢ）によるアクション実行先となっている従前のタスク（タスクＡ）を特定する。
【００３２】
次に、情報生成部２２は、この特定した従前のタスク（タスクＡ）に対するアクションを実行可能である他のアクタ（ここではアクタＡと称することがある）を特定する。  
そして、情報生成部２２は、この特定したアクタ（アクタＡ）が、上記特定された従前のタスク（タスクＡ）に対する新たなアクション実行元となり、この従前のタスク（タスクＡ）に対するアクション実行元として割り当てられていたアクタ（アクタＢ）が、当該従前のタスク（タスクＡ）に対するアクション実行元から外れるように、現状のタスク割り当て情報を更新する。これにより、新たなタスクに対する適切なアクション実行元が割り当てられるようにタスク割り当てが組み換えられる（Ｓ２４）。
【００３３】
ここでは、割り当て情報において新たなタスクに対するアクションを実行するアクタが、この新たなタスクと従前のタスクを含む複数のタスクに対するアクションの実行元となるときに、このアクタが、新たなタスクのみに対するアクションの実行元となるようにタスク割り当てが組み換えられる例を説明したが、組み換え前と組み換え後における、１つのアクタによるアクション実行先であるタスクの数は特に限定されない。
【００３４】
例えば、当該アクタが、新たなタスクの発見前に、２つ以上の従前のタスクの各々に対するアクションの同時実行が可能であって、これらのアクションの実行の割り当てがなされている状態で、新たなタスクが発見されたときに、従前のタスクに対するアクション実行を維持しながら、新たなタスクに対するアクション実行が可能となる条件下で、一部の割り当てのみを他のアクタへの割り当てに組み換えて、新たなタスクに対するアクションを実行するアクタが、新たなアクタを含む複数のタスクに対するアクション実行元となるようにタスク割り当てが組み換えられてもよい。
【００３５】
情報生成部２２は、この更新後のタスク割り当て情報を第２データベース２３に改めて格納し（Ｓ２５）、このタスク割り当て情報のうち、新たなタスクに係るタスク割り当て情報を、送信部１５を介して、他のアクタの機能が組み込まれる他のタスク割当装置１００に送信する（Ｓ２６）。
【００３６】
図３に示すＳ３１以降の処理は、この送信されたタスク割り当て情報を受けた他のタスク割当装置１００による処理である。  
Ｓ２６で送信されたタスク割り当て情報を、他のタスク割当装置１００の受信部１１が受信すると、この情報がタスク割当作成部２１に送られる。タスク割当作成部２１は、この送られた情報を、第２データベース２３に格納される現状のタスク割り当て情報に対して追加する。これにより、新たなタスクに係るタスク割り当てを示す情報が、複数のタスク割当装置１００の各々のデータベースに反映される。
【００３７】
そして、タスク割当作成部２１は、上記追加されたタスク割り当て情報を参照し、Ｓ２３と同様に、各タスクに係るタスク割り当て情報が、新たなタスクに対するアクション実行元の割当先の組み換えが必要であることを示すか否かを判定する（Ｓ３１）。
【００３８】
各タスクに係るタスク割り当て情報が、新たなタスクに対する、アクション実行元の割当先の組み換えが必要であることを示す場合（Ｓ３１のＹＥＳ）、Ｓ２４と同様に、情報生成部２２は、タスク割り当て情報を更新する。これにより、複数のタスク割当装置１００の各々でも、新たなタスクに対する適切なアクション実行元が割り当てられるようにタスク割り当てが組み換えられる（Ｓ３２）。情報生成部２２は、この更新後のタスク割り当て情報を第２データベース２３に改めて格納する（Ｓ３３）。
【００３９】
そして、アクション実行意思決定部２４は、第２データベース２３に改めて格納されたタスク割り当て情報を参照し、この新たなタスクに対するアクションが必要か否かを判定する（Ｓ３４）。
【００４０】
タスク割り当て情報が、自装置に組み込まれるアクタ機能に対応するアクタが、新たなタスクに対するアクション実行元であることを示す場合、アクション実行意思決定部２４は、この新たなタスクに対するアクションが必要と判定し（Ｓ３４のＹＥＳ）、第２データベース２３に格納されるアクション実行情報を参照して、アクション実行部２５により、新たなタスクに対するアクションを実行させるための制御指令を送信させる（Ｓ３５）。アクション実行情報では、アクションの実行先、およびこの実行先に対するアクション実行の制限時間などが関連付けられる。
【００４１】
上記に示した例では、あるタスク割当装置１００にて、新たなタスクに係るタスク割り当て情報に応じて、従前のタスクに係るタスク割り当て情報が更新された場合、全タスクに係るタスク割り当て情報のうち、新たなタスクに係るタスク割り当て情報のみが他のタスク割当装置１００に送信される。そして、他のタスク割当装置１００の各々において、この送信された、新たなタスクに係るタスク割り当て情報に応じて、従前のタスクに係るタスク割り当て情報が更新される。  
これにより、各タスク割当装置１００間で送受信されるデータ量を適正なデータ量として、各タスク割当装置１００間でタスク割り当て情報を共有することができる。
【００４２】
また、このデータ量の大小を考慮しない場合は、あるタスク割当装置１００にて、新たなタスクに係るタスク割り当て情報に応じて、従前のタスクに係るタスク割り当て情報が更新された場合、全タスクに係るタスク割り当て情報を他のタスク割当装置１００に送信して、送信先で管理されるタスク割り当て情報を上書きすることで、各タスク割当装置１００間でタスク割り当て情報を共有してもよい。
【００４３】
次に、タスク割当の具体例を説明する。図４乃至図１０は、実施形態に係るタスク割当装置によるタスク割当の具体例を示す図である。図４乃至１０に示される「value」は、アクタによる、問い合わせ対象のタスクに対するアクション実行の可否を示し、この値は、「Good」、「Bad」、「-」に区分される。「Good」は、問い合わせ対象のタスクに対するアクション実行を十分に行なえるとの回答に対応し、「Bad」は、問い合わせ対象のタスクに対するアクション実行を十分ではないが行なえるとの回答に対応し、「-」は、問い合わせ対象のタスクに対するアクション実行を行なえないとの回答に対応する。
【００４４】
同じく図４乃至１０に示される「Result」は、アクタについての、タスクに対するアクション実行元としての割り当ての有り（「１」）無し（「０」）を示す。
【００４５】
まず、図４（時刻ｔ＝ｔ０）に示すように、sensor-AがTask-Aを発見すると仮定する。すると、このsensor-Aと通信可能に接続される、又は一体化された（以下、対応して設けられると称する）タスク割り当て装置（タスク割り当て装置-sensor-Aと称することがある）は、上記Task-Aに対するアクション実行の可否を各actor（ここではactor-A、actor-B、actor-C）に問い合わせ、この問い合わせに対する回答に基づいて、この回答が十分なアクション実行可能を示す「Can(Good)」であった複数のactorのうち所定の条件に基づく選択またはランダムの選択により、actor-BをTask-Aに対するアクション実行元としての割当先に決定する。
【００４６】
この決定により、タスク割り当て装置-sensor-Aは、Task-Aに対する各actorの割り当て可否および割り当て有無を示すタスク割り当て情報を、割当計画として自装置内の割当計画データベース（Plan-DB）に格納する。この割当計画データベースは、図２に示した第２データベース２３に対応する。
【００４７】
ここでは、割当計画データベースにてTask-Aに対するアクション実行元として割り当てられるactorは、sensor-Aによるセンシング情報を用いてTask-Aに対するアクションを実行できるものとし、割当計画データベースにてTask-Bに対するアクション実行元として割り当てられるactorは、sensor-Bによるセンシング情報を用いてTask-Bに対するアクションを実行できるものとする。
【００４８】
そして、タスク割り当て装置-sensor-Aは、上記actor-Bを含めた自装置に対応するsensor-A以外の、全てのactorおよびsensor-Bにそれぞれ対応して設けられるタスク割り当て装置に、上記格納した割り当て情報のうち、上記発見されたタスクに係るタスク割り当て情報を、割り当て計画（Plan）として送信する。
【００４９】
この送信された割り当て計画を受信した各装置、ここでは各actorにそれぞれ対応して設けられるタスク割り当て装置は、この受信した割り当て計画を自装置の割り当て計画データベース（Plan-DB）に保存し、この割当計画における割当先に対応するactor-BはTask-Aに対するアクション実行元としての割当準備に移行する。
【００５０】
次に、図５（時刻ｔ＝ｔ１）に示すように、sensor-Bが新たにTask-Bを発見すると、sensor-Bに対応して設けられるタスク割り当て装置（タスク割り当て装置-sensor-Bと称することがある）は、この新たなTask-Bに対するアクション実行の可否の問い合わせ「Cando?」を各actorに送信する。
【００５１】
次に、図６（時刻ｔ＝ｔ２）に示すように、問い合わせ先の各actorに対応して設けられるタスク割り当て装置は、タスク割り当て装置-sensor-Bからの問い合わせに対する、新たなTask-Bに対するアクション実行の可否を問い合わせ元の当該タスク割り当て装置-sensor-Bに返信する。
【００５２】
具体的には、actor-Aに対応して設けられるタスク割り当て装置は、新たなTask-Bに対するアクション実行が行なえないことを示す回答「Cannot」を問い合わせ元のタスク割り当て装置-sensor-Bに返信する。
【００５３】
また、actor-Cに対応して設けられるタスク割り当て装置は、新たなTask-Bに対するアクションを、十分でないが実行が可能であることを示す回答「Can(bad)」を問い合わせ元のタスク割り当て装置-sensor-Bに返信する。
【００５４】
また、actor-Bに対応して設けられるタスク割り当て装置は、Task-Aに対するアクション実行元として割り当てられているが、actor-Bは、Task-Aに対するアクション実行を考慮しなければ、新たなTask-Bに対するアクションを十分に実行できる。そこで、actor-Bに対応して設けられるタスク割り当て装置は、このことを示す「Can(Good)」を問い合わせ元のタスク割り当て装置-sensor-Bに返信する。
【００５５】
次に、図７（時刻ｔ＝ｔ３）に示すように、タスク割り当て装置-sensor-Bは、各装置からの回答に応じて、自装置の割当計画データベース（Plan-DB）に格納されるタスク割り当て情報に、新たなTask-Bに対するアクション実行元をactor-Bに割り当てる割当計画を反映する。
【００５６】
ここでは、Task-Aに対するアクション実行可能であるactorとして、まず、Task-Aに対するアクション実行を考慮しなければ新たなTask-Bに対するアクションを十分に実行できるactor-Bと、新たなTask-Bに対するアクションを、十分でないが実行が可能であるactor-Cが絞り込まれ、これらのうち、新たなTask-Bに対するアクションを十分に実行できるactor-Bが新たなTask-Bに対するアクション実行元として優先される。
【００５７】
そして、タスク割り当て装置-sensor-Bは、自装置の割当計画データベース（Plan-DB）に格納される、従前のTask-Aに対する各actorに係るタスク割り当て可否、タスク割り当て有無と、新たなTask-Bに対する各actorに係るタスク割り当て可否、タスク割り当て有無とを比較する。
【００５８】
この比較の結果、タスク割り当て装置-sensor-Bは、全体としてのタスク割り当てが適正化されるのであれば、従前のTask-Aに対するアクション実行元を、現状の割り当て計画におけるactor-Bから、当該Task-Aに対するアクションを十分に実行可能なactor-Aに組み換えられるように、自装置の割当計画データベース（Plan-DB）を更新する。
【００５９】
これにより、タスク割り当て装置-sensor-Bで処理される割当計画データベース（Plan-DB）では、新たなTask-Bに対するアクション実行元として割り当てられたactor-Bが、従前のTask-Aに対するアクション実行元でなくなるようにする。
【００６０】
次に、図８（時刻ｔ＝ｔ４）に示すように、タスク割り当て装置-sensor-Bは、割当の組み換えが完了すると、該当する新たなTask-Bに係る割当計画(Plan)のみを、自装置に対応するsensor-B以外の、sensor-A、各actorにそれぞれ対応して設けられるタスク割り当て装置に送信する。
【００６１】
次に、図９（時刻ｔ＝ｔ５）に示すように、タスク割り当て装置-sensor-Bから送信された新たなTask-Bの割当計画(Plan)を受信した各タスク割り当て装置は、この受信した割当計画を、自装置の割当計画データベース（Plan-DB）に反映する。
【００６２】
そして、各タスク割り当て装置は、この反映後におけるTask-Aに対する各actorに係るタスク割り当て可否、タスク割り当て有無と、Task-Bに対する各actorに係るタスク割り当て可否、タスク割り当て有無とを比較する。  
この比較の結果、各タスク割り当て装置は、全体としてのタスク割り当てが適正化されるのであれば、タスク割り当て装置-sensor-Bによる上記の更新と同様に、従前のTask-Aに対するアクション実行元が、現状の割り当て計画におけるactor-Bから、従前のTask-Aに対するアクションを十分に実行可能なactor-Aに組み換えられるように、自装置の割当計画データベース（Plan-DB）を更新する。この結果、各装置が組み換え後の同じ割当計画を共有することができる。
【００６３】
最後に、図１０（時刻ｔ＝ｔ６）に示すように、時刻ｔ＝ｔ５における更新の結果、actor-Bは、sensor-Bによるセンシング情報を用いた上で、新たに発見されたTask-Bに対するアクションを実行することができる。また、actor-Aは、sensor-Aによるセンシング情報を用いた上で、従前のTask-Aに対するアクションを、組み換え前の割り当てにおけるactor-Bに代わって十分に実行することができる。これにより、従前のTask-Aに対するアクションの十分な実行が維持された上で、新たなTask-Bに対するアクションの十分な実行が行なえる。
【００６４】
以上説明したように、実施形態に係るタスク割り当てシステムは、既に発見されたタスクに対するアクションが実行されている状態で、新たなアクションが発見されたとき、各タスクに対する現状の割り当てを考慮して、既に発見されたタスクに対するアクションを維持した上で、新たに発見されたタスクに対するアクションを実行できるように、既に発見されたタスクに係るアクション実行元としての割り当てを組み換えることができる。これにより、動的に変化する環境下でも、タスクに対するアクション実行を適切な割当先に割り当てることができる。
【００６５】
上記の実施形態では、タスクに対する各アクタによるアクション実行の可否は特に変更されないものとして説明したが、これに限らず、アクタに対する処理負荷の変動などにより、タスクに対する各アクタによるアクション実行の可否が変動することもある。この場合、この変動があったタイミングで、いずれかのタスク割り当て装置により、割り当ての組み換えを再度行ない、この組み換えの結果を他のタスク割り当て装置にて共有することができる。
【００６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６７】
１１…受信部、１２…処理判定部、１３…記録管理部、１４…割当作成判定部、１５…送信部、１６…第１データベース、２１…タスク割当作成部、２２…情報生成部、２３…第２データベース、２４…アクション実行意思決定部、２５…アクション実行部、
３１…通信部、１００…タスク割当装置。
【図１】
2020181515.tif 000003
【図２】
2020181515.tif 000004
【図３】
2020181515.tif 000005
【図４】
2020181515.tif 000006
【図５】
2020181515.tif 000007
【図６】
2020181515.tif 000008
【図７】
2020181515.tif 000009
【図８】
2020181515.tif 000010
【図９】
2020181515.tif 000011
【図１０】
2020181515.tif 000012
【図１１】
2020181515.tif 000013
【図１２】
2020181515.tif 000014
【図１３】
2020181515.tif 000015
【図１４】
2020181515.tif 000016