(57)【要約】【課題】サービスを実現するための論理的なデバイスを、利用可能な実デバイスに動的に割り当てることを可能にする。【解決手段】サービスプログラム管理部１１１の登録管理部１１１１の制御の下、登録済みのサービスプログラムに係る実デバイス割り当て要求が実デバイス割り当て決定部１１２に送信される。実デバイス割り当て決定部１１２の制御の下、論理デバイス情報と、実デバイスインタフェース割り当て情報と、利用可能な実デバイスに係る実デバイス情報とに基づいて、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが決定される。当該割り当ての情報に基づいて、上記サービスプログラムに係る論理デバイスと当該論理デバイスの割り当て先の実デバイスとの間での制御命令およびデータの通信処理が行われ、上記サービスプログラムに係る論理デバイスの機能が実行される。【選択図】図３
2019160019.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアプロセッサおよびメモリを備える装置が実行するデバイス割り当て方法であって、
所定のサービスを実現するための論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する割り当て決定過程と、
前記論理的なデバイスと前記決定された実デバイスとの間での制御命令およびデータの通信を介して前記論理的なデバイスの機能を実行する機能実行過程と
を備えるデバイス割り当て方法。
【請求項２】
前記割り当て決定過程は、前記論理的なデバイスが有する論理的なデバイスインタフェースの各々と、実デバイスが備える実デバイスインタフェースとの対応関係を示す情報に基づいて、前記論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する過程を備える、請求項１に記載のデバイス割り当て方法。
【請求項３】
前記機能実行過程は、前記論理的なデバイスが有する論理的なデバイスインタフェースと前記決定された実デバイスが有する実デバイスインタフェースとの間でのデータ通信を可能とするように前記制御命令または前記データを変換するシステムと通信する過程を備える、請求項１又は２に記載のデバイス割り当て方法。
【請求項４】
前記割り当て決定過程は、
１つの論理的なデバイスが割り当てられる実デバイスの数が１から多くなるほど評価値が小さくなる第１の評価指標と、
１つの論理的なデバイスが有する論理的なデバイスインタフェースと、当該論理的なデバイスが割り当てられる実デバイスが有する実デバイスインタフェースに対応する論理的なデバイスインタフェースとの合致の度合いが小さくなるほど評価値が小さくなる第２の評価指標と、
１つの論理的なデバイスが割り当てられる実デバイス間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第３の評価指標と、
１つの論理的なデバイスが割り当てられる実デバイスと他の論理的なデバイスが割り当てられる実デバイスとの間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第４の評価指標と
のうちの少なくとも１つにさらに基づいて、前記論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する過程を備える、請求項２又は３に記載のデバイス割り当て方法。
【請求項５】
実デバイスを検知する過程をさらに備え、
前記割り当て決定過程は、前記検知された実デバイスの中から、前記論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する過程を備える、請求項１乃至４のいずれかに記載のデバイス割り当て方法。
【請求項６】
所定のサービスを実現するための論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する割り当て決定部と、
前記論理的なデバイスと前記決定された実デバイスとの間での制御命令およびデータの通信を介して前記論理的なデバイスの機能を実行する機能実行部と
を備えるデバイス割り当てシステム。
【請求項７】
請求項１乃至５のいずれかに記載のデバイス割り当て方法が備える各過程を前記ハードウェアプロセッサに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、論理的なデバイスを実デバイスに割り当てるデバイス割り当て方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
近年、複数のデバイスを連携させたサービスが利用されている。
【０００３】
複数のデバイスを連携させたサービスを実現するものとして、デバイス管理プラットフォームが知られている。このようなデバイス管理プラットフォームでは、実デバイスのデバイスインタフェースを共通的なインタフェースに固定的にマッピングして扱うためのアーキテクチャを利用している（例えば、非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Robotic Interaction Service Framework (RoIS) V1.1
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、非特許文献１に記載されるような技術では、上述したような複数のデバイスを連携させたサービスを実現するために、サービスで利用すると規定した種類および数の実デバイスを用意する必要があった。すなわち、ある種類の実デバイスの数が不足している場合にはサービスを提供することは困難であり、また、予め規定したのとは異なる種類の実デバイスを利用してサービスを提供することも困難であった。
【０００６】
この発明は上記事情に着目してなされたもので、その目的とするところは、サービスを実現するための論理的なデバイスを、利用可能な実デバイスに動的に割り当てるデバイス割り当て方法、システムおよびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、この発明の第１の態様は、ハードウェアプロセッサおよびメモリを備える装置が実行するデバイス割り当て方法にあって、所定のサービスを実現するための論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する割り当て決定過程と、前記論理的なデバイスと前記決定された実デバイスとの間での制御命令およびデータの通信を介して前記論理的なデバイスの機能を実行する機能実行過程とを備えるようにしたものである。
【０００８】
この発明の第２の態様は、前記割り当て決定過程が、前記論理的なデバイスが有する論理的なデバイスインタフェースの各々と、実デバイスが備える実デバイスインタフェースとの対応関係を示す情報に基づいて、前記論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する過程を備えるようにしたものである。
【０００９】
この発明の第３の態様は、前記機能実行過程が、前記論理的なデバイスが有する論理的なデバイスインタフェースと前記決定された実デバイスが有する実デバイスインタフェースとの間でのデータ通信を可能とするように前記制御命令または前記データを変換するシステムと通信する過程を備えるようにしたものである。
【００１０】
この発明の第４の態様は、前記割り当て決定過程が、１つの論理的なデバイスが割り当てられる実デバイスの数が１から多くなるほど評価値が小さくなる第１の評価指標と、１つの論理的なデバイスが有する論理的なデバイスインタフェースと、当該論理的なデバイスが割り当てられる実デバイスが有する実デバイスインタフェースに対応する論理的なデバイスインタフェースとの合致の度合いが小さくなるほど評価値が小さくなる第２の評価指標と、１つの論理的なデバイスが割り当てられる実デバイス間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第３の評価指標と、１つの論理的なデバイスが割り当てられる実デバイスと他の論理的なデバイスが割り当てられる実デバイスとの間で論理的なデバイスインタフェースが重複して割り振られているほど評価値が小さくなる第４の評価指標とのうちの少なくとも１つにさらに基づいて、前記論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する過程を備えるようにしたものである。
【００１１】
この発明の第５の態様は、前記デバイス割り当て方法が、実デバイスを検知する過程をさらに備え、前記割り当て決定過程が、前記検知された実デバイスの中から、前記論理的なデバイスの割り当て先とする少なくとも１つの実デバイスを決定する過程を備えるようにしたものである。
【発明の効果】
【００１２】
この発明の第１の態様によれば、利用可能な実デバイスに論理的なデバイスが動的に割り当てられる。その後、論理的なデバイスと当該論理的なデバイスの割り当て先の実デバイスとの間での通信を介して論理的なデバイスの機能が実行され、サービスが提供される。このように利用可能な実デバイスに論理的なデバイスを動的に割り当てる処理では、例えば、互いに異なる種類の実デバイスに同一種類の論理的なデバイスを割り当てることや、１つの実デバイスに複数の論理的なデバイスを割り当てることも可能である。このため、サービス提供に必要とされていた実デバイスの種類数や数がサービス提供フィールド上で不足するような、従来ではサービス提供することが困難な場合にも、実デバイスの種類や数を追加することなくサービス提供することが可能となる。
【００１３】
この発明の第２の態様によれば、論理的なデバイスインタフェースと実デバイスインタフェースとの対応関係に基づいて、論理的なデバイスの割り当て先の実デバイスが決定される。このため、論理的なデバイスと当該論理的なデバイスの割り当て先の実デバイスとの間で、論理的なデバイスの機能を実行する際に必要とされる制御命令やデータを通信することが可能となる。
【００１４】
この発明の第３の態様によれば、論理的なデバイスインタフェースと実デバイスインタフェースとの間でのデータ通信を可能とするように制御命令またはデータを変換するシステムとの通信が行われる。このようなシステムと連携することにより、通常では互いに対応不可能だった論理的なデバイスインタフェースと実デバイスインタフェースとの組み合わせも対応可能となり、すなわち、実デバイスインタフェースが仮想的に拡張可能となる。これにより、より多くの種類の実デバイスに論理的なデバイスを割り当てることが可能となる。
【００１５】
この発明の第４の態様によれば、上述した４つの評価指標のうちの少なくとも１つにさらに基づいて、論理的なデバイスの割り当て先の実デバイスが決定される。これらの評価指標を用いることにより、例えば、論理的なデバイスの関連する機能が出来る限り１つの実デバイスに割り振られるようにしたり、１つの論理的なデバイスの機能が複数の実デバイスに重複して割り振られて実デバイスインタフェースが有効に活用できなくなるようなことがないようにしたりする等、割り当て処理の基準を定めることができる。
【００１６】
この発明の第５の態様によれば、利用可能な実デバイスのその都度の検知状況に応じて、論理的なデバイスの割り当て先の実デバイスが動的に決定される。このように、サービス提供に必要とされていた実デバイスの種類数や数がサービス提供フィールド上で不足するような、従来ではサービス提供することが困難な場合にも、実デバイスの種類や数を追加することなくサービス提供することが可能となる。
【００１７】
すなわち、この発明の各態様によれば、サービスを実現するための論理的なデバイスを、利用可能な実デバイスに動的に割り当てるデバイス割り当て方法、システムおよびプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】この発明の第１の実施形態の第１の俯瞰図。
【図２】この発明の第１の実施形態の第２の俯瞰図。
【図３】この発明の第１の実施形態に係るデバイス連携システムの機能構成を示すブロック図。
【図４】論理デバイス情報の一例を示す図。
【図５】実デバイス情報の一例を示す図。
【図６】実デバイスインタフェース割り当て情報の一例を示す図。
【図７】実デバイス割り当て情報の一例を示す図。
【図８】図３に示した制御ユニットによって実行される実デバイス登録処理の一例を示すシーケンス図。
【図９】図３に示した制御ユニットによって実行される実デバイス登録削除処理の一例を示すシーケンス図。
【図１０】図３に示した制御ユニットによって実行される実デバイス割り当て決定処理の一例を示すシーケンス図。
【図１１】図３に示した制御ユニットによって実行されるサービスプログラム実行処理の一例を示すシーケンス図。
【図１２】図３に示した制御ユニットによって実行されるサービスプログラム実行処理の一例を示すシーケンス図。
【図１３】実デバイス割り当て評価値の算出に使用される第１の評価指標に係る概略を示す図。
【図１４】実デバイス割り当て評価値の算出に使用される第２の評価指標に係る概略を示す図。
【図１５】実デバイス割り当て評価値の算出に使用される第３の評価指標に係る概略を示す図。
【図１６】実デバイス割り当て評価値の算出に使用される第４の評価指標に係る概略を示す図。
【発明を実施するための形態】
【００１９】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
［第１の実施形態］
図１は、この発明の第１の実施形態の第１の俯瞰図である。  
本実施形態では、複数のデバイスを制御することにより提供するマルチデバイス連携サービスで利用する実デバイスを、デバイスの提供する機能の集合からなる論理的なデバイス（以降、「論理デバイス」と称する。）で定義する。
【００２０】
より具体的には、論理デバイス割り当て管理機能Ｘが、上記サービスの提供のためにサービスプログラムで利用する各論理デバイスを、当該論理デバイスに対応可能な、サービス提供フィールド上の実デバイスに割り当てる。なお、実デバイスは、例えばロボットやセンサ等の端末である
このような構成を実現できれば、例えば、同一種類の３つの論理デバイスを連携させるものとして定義した受付サービスを提供する場合に、サービス提供フィールド上に２つの実デバイスしか存在しない場合も、１つの実デバイスに２つの論理デバイスを割り当てることにより同様のサービスを提供することが可能となる。また、サービス提供フィールド上に互いに異なる種類の実デバイスが存在する場合にも、異なる種類の実デバイスに同一種類の論理デバイスを割り当てることにより同様のサービスを提供することが可能となる。
【００２１】
図２は、この発明の第１の実施形態の第２の俯瞰図である。  
先ず、論理デバイスが有する、外部から論理デバイスの制御のための命令を受信したり論理デバイス外部へデータを送信したりする論理的なデバイスインタフェース（以降、「論理デバイスインタフェース」と称する。）に着目する。論理デバイスを、論理デバイスインタフェースＡ，ＢおよびＤの集合として定義する。
【００２２】
一方、サービス提供フィールド上で利用可能な実デバイスは、外部から実デバイスの制御のための命令を受信したり実デバイス外部へデータを送信したりするインタフェース（以降、「実デバイスインタフェース」と称する。）を有する。図２では、実デバイスインタフェースａ，ｂおよびｃを提供する実デバイスと、実デバイスインタフェースｄを提供する実デバイスと、実デバイスインタフェースｆ，ｇおよびｈを提供する実デバイスとがそれぞれ図示されている。
【００２３】
論理デバイスを実デバイスに割り当てる際には、論理デバイスインタフェースと実デバイスインタフェースとが互いに対応可能であるという対応関係を考慮して、論理デバイスが有する論理デバイスインタフェースの各々の割り当て先の実デバイスを決定する。
【００２４】
論理デバイスインタフェース割り当て管理機能Ｙは、実デバイスインタフェースと論理デバイスインタフェースとをマッピングする。論理デバイスインタフェース割り当て管理機能Ｙは、マッピングの過程で外部システム３と連携することにより、実デバイスインタフェースと論理デバイスインタフェースとが対応可能となるように実デバイスの機能を拡張することができる。当該マッピングの機能により、論理デバイス単位ではなく論理デバイスインタフェース単位で割り当て先の実デバイスを決定することが可能となるので、上述したようにさまざまな種類の実デバイスを論理デバイスの割り当て先として使用することが可能となる。
【００２５】
論理デバイス割り当て管理機能Ｘは、例えば論理デバイスと実デバイスとがＮ対１にマッピングするように、論理デバイスインタフェース単位での割り当て先の実デバイスの決定をすることもできるので、上述したように実デバイスの数が少ない場合にも当該実デバイスを論理デバイスの割り当て先として使用することが可能となる。
【００２６】
（構成）
図３は、この発明の第１の実施形態に係るデバイス連携システム１の機能構成を示すブロック図である。本実施形態では、デバイス割り当てシステムの非限定的な例としてデバイス連携システム１について説明する。なお、図３に示すデバイス連携システム１は一例に過ぎず、デバイス連携システム１が備える各構成要素は任意の組み合わせで物理的に別個の装置として存在していてもよい。
【００２７】
デバイス連携システム１は、ハードウェアとして、制御ユニット１１と、記憶ユニット１２と、通信インタフェースユニット１３とを備えている。
【００２８】
通信インタフェースユニット１３は、例えば１つ以上の有線または無線の通信インタフェースユニットを含んでいる。通信インタフェースユニット１３は、例えばキーボードやマウス等を含む入力部２により入力されたサービスプログラムおよび当該サービスプログラムの操作信号を、制御ユニット１１に入力する。なお、サービスプログラムは、例えば、「第１のデバイスが第１のデータを送信したら、第２のデバイスに第１の処理をさせる」のような、デバイスインタフェースを介してデバイスから送信されたデータ（以降、デバイス送信データ）を受信したりデバイスに対する制御命令（以降、デバイス制御命令と称する。）を送信したりする、サービスの処理ロジックが記載されたプログラムである。
【００２９】
また、通信インタフェースユニット１３は、制御ユニット１１から出力されたデバイス送信データやデバイス制御データ等のデータを外部システム３に出力し、外部システム３から送信された当該データの変換後のデータを制御ユニット１１に出力する。さらに、通信インタフェースユニット１３は、例えばロボットやセンサ等の端末である実デバイス４Ａ，…，４Ｎから送信されたデバイス送信データを制御ユニット１１に出力し、制御ユニット１１から出力されたデバイス制御命令等のデータを実デバイス４Ａ，…，４Ｎに出力する。
【００３０】
記憶ユニット１２は、記憶媒体として例えばＨＤＤ（Hard Disc Drive）またはＳＳＤ（Solid State Drive）等の随時書き込みおよび読み出しが可能な不揮発メモリを使用したもので、本実施形態を実現するために、サービスプログラム記憶部１２１と、論理デバイス情報記憶部１２２と、論理デバイス記憶部１２３と、実デバイス割り当て記憶部１２４と、実デバイスインタフェース割り当て記憶部１２５と、実デバイス情報記憶部１２６とを備えている。
【００３１】
サービスプログラム記憶部１２１は、サービスプログラムを記憶させるために使用される。
【００３２】
論理デバイス情報記憶部１２２は、論理デバイス情報を記憶している。論理デバイス情報は、例えば、利用可能な論理デバイスと論理デバイスインタフェースとの対応関係を含んでいる。
【００３３】
論理デバイス記憶部１２３は、サービスプログラムを実現するための機能の集合である論理デバイスをなすプログラムを記憶している。
【００３４】
実デバイス割り当て記憶部１２４は、実デバイス割り当て情報を記憶させるために使用される。実デバイス割り当て情報は、例えば、実デバイス割り当て決定部１１２の制御下で割り当てられた論理デバイスと実デバイスとの対応関係を含んでいる。
【００３５】
実デバイスインタフェース割り当て記憶部１２５は、実デバイスインタフェース割り当て情報を記憶している。実デバイスインタフェース割り当て情報は、例えば、実デバイスインタフェースと論理デバイスインタフェースとの対応関係、および、相互変換するプログラムを含んでいる。
【００３６】
実デバイス情報記憶部１２６は、実デバイス情報を記憶させるために使用される。実デバイス情報は、例えば、利用可能な実デバイスと実デバイスインタフェースとの対応関係を含んでいる。
【００３７】
制御ユニット１１は、ＣＰＵ（Central Processing Unit）等のハードウェアプロセッサと、プログラムメモリとを備え、本実施形態における処理機能を実行するために、サービスプログラム管理部１１１と、実デバイス割り当て決定部１１２と、論理デバイス実デバイス変換部１１３と、論理デバイスインタフェース実デバイスインタフェース変換部１１４と、実デバイス管理部１１５とを備えている。これらの各部における処理機能はいずれも、プログラムメモリに格納されたプログラムを上記ハードウェアプロセッサに実行させることによって実現される。なお、これらの処理機能は、プログラムメモリに格納されたプログラムを用いて実現されるのではなく、ネットワークを通して提供されるプログラムを用いて実現されてもよい。
【００３８】
サービスプログラム管理部１１１は、登録管理部１１１１と実行管理部１１１２とを備えている。  
登録管理部１１１１は、サービスプログラムを登録する処理を実行する。具体的には、登録管理部１１１１は、通信インタフェースユニット１３を介して入力部２からサービスプログラムを取得し、当該取得されたサービスプログラムをサービスプログラム記憶部１２１に記憶させる処理を実行する。
【００３９】
実行管理部１１１２は、サービスプログラム記憶部１２１に記憶された登録済みのサービスプログラムを読み出して実行し、論理デバイスインタフェースを介して、論理デバイス実デバイス変換部１１３からデバイス送信データを受信する処理や、論理デバイス実デバイス変換部１１３にデバイス制御命令を送信する処理を実行する。
【００４０】
実デバイス割り当て決定部１１２は、先ず、サービスプログラム記憶部１２１に記憶されたサービスプログラムで利用する論理デバイスを決定する処理を実行する。なお、当該サービスプログラムで利用されることが決定される論理デバイスは、互いに同一種類のものに限られない複数の論理デバイスであってもよい。次に、実デバイス割り当て決定部１１２は、論理デバイス情報記憶部１２２にアクセスして、上記サービスプログラムで利用する論理デバイスが有する論理デバイスインタフェースの情報を取得する処理を実行する。一方、実デバイス割り当て決定部１１２は、実デバイスインタフェース割り当て記憶部１２５および実デバイス情報記憶部１２６にアクセスし、利用可能な各実デバイスが有する実デバイスインタフェースが対応可能な論理デバイスインタフェースの情報を取得する処理を実行する。その後、実デバイス割り当て決定部１１２は、上記サービスプログラムで利用する論理デバイスが有する論理デバイスインタフェースの情報と、利用可能な各実デバイスが有する実デバイスインタフェースが対応可能な論理デバイスインタフェースの情報とに基づいて、各論理デバイスにどの実デバイスを割り当てるかを決定する処理を実行する。最後に、実デバイス割り当て決定部１１２は、このように割り当てられた論理デバイスと実デバイスとの対応関係を、実デバイス割り当て記憶部１２４に記憶させる処理を実行する。
【００４１】
なお、当該割り当ての決定処理では、論理デバイスと実デバイスとが１対１の対応関係となるように割り当て処理する必要はなく、１つの論理デバイスに複数の実デバイスを対応付けるように割り当て処理してもよく、あるいは、複数の論理デバイスに１つの実デバイスを対応付けるように割り当て処理してもよい。
【００４２】
また、当該割り当ての決定処理では、論理デバイスインタフェースと実デバイスインタフェースとが１対１の対応関係となるような割り当てのみが決定される必要はなく、１つの論理デバイスインタフェースに複数の実デバイスインタフェースが対応付けられている対応関係の割り当てが決定されてもよく、あるいは、複数の論理デバイスインタフェースに１つの実デバイスインタフェースが対応付けられている対応関係の割り当てが決定されてもよい。
【００４３】
論理デバイス実デバイス変換部１１３は、サービスプログラム管理部１１１の実行管理部１１１２から送信されるデバイス制御命令等のデータを受信し、当該受信されたデータを、実デバイス割り当て記憶部１２４に記憶される情報により定められた実デバイス宛のデータとして処理するように、論理デバイスインタフェース実デバイスインタフェース変換部１１４に要求する処理を実行する。
【００４４】
一方、論理デバイス実デバイス変換部１１３は、論理デバイスインタフェース実デバイスインタフェース変換部１１４から送信されるデバイス送信データを受信し、当該受信されたデバイス送信データを、実デバイス割り当て記憶部１２４に記憶される情報により定められた論理デバイス宛のデータとして、サービスプログラム管理部１１１の実行管理部１１１２に送信する処理を実行する。
【００４５】
ここで、論理デバイス実デバイス変換部１１３は、実行管理部１１１２から送信されるデバイス制御命令等のデータや、論理デバイスインタフェース実デバイスインタフェース変換部１１４から送信されるデバイス送信データにおいて、論理デバイス記憶部１２３に記憶される論理デバイスにアクセスして、論理デバイスをなすプログラムの処理を実行する。
【００４６】
論理デバイスインタフェース実デバイスインタフェース変換部１１４は、論理デバイス実デバイス変換部１１３から送信されるデバイス制御命令等のデータ、および、実デバイス管理部１１５から送信されるデバイス送信データを受信し、当該受信されたデータについて、実デバイスインタフェース割り当て記憶部１２５に記憶される情報を参照して、実デバイスインタフェースと論理デバイスインタフェースを相互変換する処理を実行する。なお、論理デバイスインタフェース実デバイスインタフェース変換部１１４は、必要に応じ、デバイスに無い処理を追加したり、通信プロトコルを補間したりする処理も実行する。その後、論理デバイスインタフェース実デバイスインタフェース変換部１１４は、実デバイスインタフェースと論理デバイスインタフェースを相互変換したデータを、実デバイス管理部１１５または論理デバイス実デバイス変換部１１３に送信する処理を実行する。
【００４７】
さらに、論理デバイスインタフェース実デバイスインタフェース変換部１１４は、通信インタフェースユニット１３を介して外部システム３と通信可能で、外部システム３は、論理デバイスインタフェース実デバイスインタフェース変換部１１４から送信され取得したデータを、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信が可能となるように変換し、当該変換後のデータを、論理デバイスインタフェース実デバイスインタフェース変換部１１４に返却することができる。当該データの変換では、例えば、データの形式の変換や、実デバイスから送信されたデータの一次処理が実行される。
【００４８】
実デバイス管理部１１５は、実デバイス登録部１１５１を備えている。  
実デバイス登録部１１５１は、利用可能な実デバイスを検知し、当該実デバイスが利用可能である旨を、実デバイス情報記憶部１２６に書き込む処理を実行する。また、実デバイス登録部１１５１は、利用可能であった実デバイスが利用不可となったことを検知し、実デバイス情報記憶部１２６に記憶されている、当該実デバイスが利用可能である旨の情報を削除する処理を実行する。
【００４９】
また、実デバイス管理部１１５は、論理デバイスインタフェース実デバイスインタフェース変換部１１４から送信されたデバイス制御命令等のデータを受信し、当該受信されたデータを、通信インタフェースユニット１３を介して、実デバイス４Ａ〜４Ｎのうちの宛先の実デバイスに送信する処理を実行する。一方、実デバイス管理部１１５は、実デバイス４Ａ〜４Ｎから送信されたデバイス送信データを通信インタフェースユニット１３を介して取得し、当該取得されたデバイス送信データを、論理デバイスインタフェース実デバイスインタフェース変換部１１４に送信する処理を実行する。
【００５０】
図４、図５、図６および図７において、本実施形態で使用される情報のデータ構造を例示する。  
図４では、論理デバイス情報記憶部１２２に記憶される論理デバイス情報の一例が示されている。
【００５１】
図５では、実デバイス情報記憶部１２６に記憶される実デバイス情報の一例が示されている。
【００５２】
図６では、実デバイスインタフェース割り当て記憶部１２５に記憶される実デバイスインタフェース割り当て情報の一例が示されている。
【００５３】
図４、図５および図６に示した情報のうち、図５の実デバイス接続フラグ以外の情報は、例えばオペレータが予め登録しておくものとする。
【００５４】
図７では、実デバイス割り当て記憶部１２４に記憶される実デバイス割り当て情報の一例が示されている。
【００５５】
（動作）
次に、以上のように構成されたデバイス連携システム１の動作を説明する。  
＜動作シーケンス＞
先ず、図３に示したデバイス連携システム１の制御ユニット１１によって実行される、実デバイス利用可否状況登録処理、実デバイス割り当て決定処理、ならびに、サービスプログラム実行処理について説明する。
【００５６】
なお、これらの処理の前提として次の２つを挙げておく。  
第１に、論理デバイス情報記憶部１２２、実デバイスインタフェース割り当て記憶部１２５、および実デバイス情報記憶部１２６に必要なデータが蓄積されていること。
【００５７】
第２に、実デバイス割り当て記憶部１２４には、実デバイスと論理デバイスを予め静的に割り当てるデータを蓄積しておく、あるいは、実デバイス割り当て決定部１１２の機能を利用して動的に割り当てられたデータを蓄積しておくこと。
【００５８】
（１）実デバイス利用可否状況登録シーケンス
図８は、図３に示した制御ユニット１１によって実行される実デバイス登録処理の一例を示すシーケンス図である。
【００５９】
ステップＳ１０１において、実デバイス４Ａ〜４Ｎのうちの任意の実デバイスがデバイス連携システム１に接続し、制御ユニット１１は、実デバイス管理部１１５の実デバイス登録部１１５１の制御の下、接続されて利用可能となった実デバイスを検知する。
【００６０】
ステップＳ１０２において、制御ユニット１１は、実デバイス登録部１１５１の制御の下、上記検知に係る実デバイスが利用可能となったことを登録するための、接続実デバイスのフラグの更新要求を、実デバイス情報記憶部１２６に送信する。
【００６１】
ステップＳ１０３において、実デバイス情報記憶部１２６に記憶される接続実デバイスのフラグが、上記フラグの更新要求に応答して更新されて、上記検知に係る実デバイスが利用可能となったことが登録される。
【００６２】
図９は、図３に示した制御ユニット１１によって実行される実デバイス登録削除処理の一例を示すシーケンス図である。
【００６３】
ステップＳ２０１において、実デバイス４Ａ〜４Ｎのうちの任意の実デバイスとデバイス連携システム１との接続が断たれる。
【００６４】
ステップＳ２０２において、制御ユニット１１は、実デバイス管理部１１５の実デバイス登録部１１５１の制御の下、接続が断たれた実デバイスを検知する。
【００６５】
ステップＳ２０３において、実デバイス登録部１１５１の制御の下、上記検知に係る実デバイスが利用不可となったことを登録するための、接続実デバイスのフラグの更新要求を、実デバイス情報記憶部１２６に送信する。
【００６６】
ステップＳ２０４において、実デバイス情報記憶部１２６に記憶される接続実デバイスのフラグが、上記フラグの更新要求に応答して更新されて、上記検知に係る実デバイスが利用不可となったことが登録される。
【００６７】
（２）実デバイス割り当て決定シーケンス
図１０は、図３に示した制御ユニット１１によって実行される実デバイス割り当て決定処理の一例を示すシーケンス図である。なお、当該実デバイス割り当て決定処理は、実デバイスを動的に割り当てる際に実行される処理である。
【００６８】
先ず、ステップＳ３０１において、オペレータが入力部２にサービスプログラムを入力し、制御ユニット１１は、サービスプログラム管理部１１１の登録管理部１１１１の制御の下、入力部２からサービスプログラムを取得し、当該取得されたサービスプログラムを登録する。
【００６９】
ステップＳ３０２において、制御ユニット１１は、登録管理部１１１１の制御の下、上記取得されたサービスプログラムをサービスプログラム記憶部１２１に記憶させる。
【００７０】
ステップＳ３０３において、制御ユニット１１は、登録管理部１１１１の制御の下、上記サービスプログラムに係る実デバイス割り当て要求を実デバイス割り当て決定部１１２に送信する。
【００７１】
ステップＳ３０４において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、サービスプログラム記憶部１２１に記憶される上記サービスプログラムを読み出して取得する。
【００７２】
ステップＳ３０５において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、論理デバイス情報記憶部１２２に記憶される論理デバイス情報を読み出して取得する。
【００７３】
ステップＳ３０６において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、実デバイスインタフェース割り当て記憶部１２５に記憶される実デバイスインタフェース割り当て情報を読み出して取得する。
【００７４】
ステップＳ３０７において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、実デバイス情報記憶部１２６に記憶される実デバイス情報を読み出して取得する。
【００７５】
なお、ステップＳ３０４、ステップＳ３０５、ステップＳ３０６およびステップＳ３０７の処理は、上述したのとは異なる順序で実行してもよいし、あるいは、これらのうちの任意の処理を並列して実行してもよい。
【００７６】
ステップＳ３０８において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、ステップＳ３０５において取得された論理デバイス情報と、ステップＳ３０６において取得された実デバイスインタフェース割り当て情報と、ステップＳ３０７において取得された実デバイス情報とに基づいて、上記サービスプログラムに係る実デバイス割り当てが可能か否かを決定し、実デバイス割り当てが可能な場合には実デバイス割り当てを決定する。なお、実デバイス割り当てが不可の場合には、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、例えば図示していない表示部における表示を用いて、オペレータに実デバイス割り当てが不可であることを通知する。
【００７７】
ステップＳ３０８において実デバイス割り当てが決定された場合には、以下の処理がなされる。
【００７８】
ステップＳ３０９において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、ステップＳ３０８において決定された実デバイス割り当てを書き込むための実デバイス割り当て情報更新要求を、実デバイス割り当て記憶部１２４に送信する。
【００７９】
ステップＳ３１０において、実デバイス割り当て記憶部１２４に記憶される実デバイス割り当て情報が、上記実デバイス割り当て情報更新要求に応答して更新される。
【００８０】
ステップＳ３１１において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、実デバイス割り当て記憶部１２４から送信される実デバイス割り当て情報更新完了通知を受信する。
【００８１】
ステップＳ３１２において、制御ユニット１１は、実デバイス割り当て決定部１１２の制御の下、例えば図示していない表示部における表示を用いて、オペレータに上記サービスプログラムに係る実デバイス割り当てが可能であったことを通知する。
【００８２】
（３）サービスプログラム実行シーケンス
図１１は、図３に示した制御ユニット１１によって実行されるサービスプログラム実行処理の一例を示すシーケンス図である。
【００８３】
先ず、ステップＳ４０１において、登録済みのサービスプログラムの実行要求をオペレータが入力部２を介して入力し、制御ユニット１１は、サービスプログラム管理部１１１の実行管理部１１１２の制御の下、上記実行要求を取得する。
【００８４】
ステップＳ４０２において、制御ユニット１１は、実行管理部１１１２の制御の下、上記実行要求に係るサービスプログラムの実行処理を行う。
【００８５】
ステップＳ４０３において、制御ユニット１１は、実行管理部１１１２の制御の下、サービスプログラム記憶部１２１に記憶される、上記実行要求に係るサービスプログラムを読み出して取得する。
【００８６】
ここで、次に説明するステップＳ４０４からステップＳ４１４の処理は、サービスプログラム実行時に、当該サービスプログラムに係るデバイス制御命令等のデータを実デバイスへ送信する際に実行される処理である。
【００８７】
ステップＳ４０４において、制御ユニット１１は、実行管理部１１１２の制御の下、実行中のサービスプログラムに係る制御命令等のデータを論理デバイス実デバイス変換部１１３に送信する。
【００８８】
ステップＳ４０５において、制御ユニット１１は、論理デバイス実デバイス変換部１１３の制御の下、実デバイス割り当て記憶部１２４に記憶される実デバイス割り当て情報を読み出して取得する。
【００８９】
ステップＳ４０６において、制御ユニット１１は、論理デバイス実デバイス変換部１１３の制御の下、ステップＳ４０５において読み出された実デバイス割り当て情報に基づいて、データ送信先の実デバイスを特定する。
【００９０】
ステップＳ４０７において、制御ユニット１１は、論理デバイス実デバイス変換部１１３の制御の下、論理デバイスインタフェース実デバイスインタフェース変換部１１４にデータを送信する。
【００９１】
ステップＳ４０８において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、実デバイスインタフェース割り当て記憶部１２５に記憶される実デバイスインタフェース割り当て情報を読み出して取得する。
【００９２】
ステップＳ４０９において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、データ送信先の実デバイスインタフェースを特定する。
【００９３】
ステップＳ４１０において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、外部システム３にデータを送信する。
【００９４】
ステップＳ４１１において、外部システム３が、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信を可能とするようにデータを変換する。
【００９５】
ステップＳ４１２において、外部システム３は、上記データ変換後のデータをデバイス連携システム１に送信し、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、上記データ変換後のデータを取得する。
【００９６】
ステップＳ４１３において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、外部システム３によるデータ変換後のデータを実デバイス管理部１１５に送信する。
【００９７】
ステップＳ４１４において、制御ユニット１１は、実デバイス管理部１１５の制御の下、実デバイス４Ａ〜４Ｎのうちの宛先の実デバイスにデータを送信する。
【００９８】
なお、上記では、外部システム３におけるデータ変換を利用する場合について説明したが、本実施形態はこれに限定されず、外部システム３におけるデータ変換が不要な場合にはステップＳ４１０からステップＳ４１２の処理は省略されてもよい。
【００９９】
図１２は、図３に示した制御ユニット１１によって実行されるサービスプログラム実行処理の一例を示すシーケンス図である。
【０１００】
ここで、次に説明するステップＳ５０１からステップＳ５１１の処理は、サービスプログラム実行時に、当該サービスプログラムに係る例えば計測データ等であるデバイス送信データを実デバイスから受信する際に実行される処理である。
【０１０１】
先ず、ステップＳ５０１において、実行中のサービスプログラムに係るデバイス送信データを実デバイス４Ａ〜４Ｎのうちの任意の実デバイスがデバイス連携システム１に送信し、制御ユニット１１は、実デバイス管理部１１５の制御の下、当該送信されたデータを取得する。
【０１０２】
ステップＳ５０２において、制御ユニット１１は、実デバイス管理部１１５の制御の下、上記取得されたデータを論理デバイスインタフェース実デバイスインタフェース変換部１１４に送信する。
【０１０３】
ステップＳ５０３において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、実デバイスインタフェース割り当て記憶部１２５に記憶される実デバイスインタフェース割り当て情報を読み出して取得する。
【０１０４】
ステップＳ５０４において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、データ送信先の論理デバイスインタフェースを特定する。
【０１０５】
ステップＳ５０５において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、外部システム３にデータを送信する。
【０１０６】
ステップＳ５０６において、外部システム３が、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信を可能とするようにデータを変換する。
【０１０７】
ステップＳ５０７において、外部システム３は、上記データ変換後のデータをデバイス連携システム１に送信し、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、上記データ変換後のデータを取得する。
【０１０８】
ステップＳ５０８において、制御ユニット１１は、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、外部システム３によるデータ変換後のデータを論理デバイス実デバイス変換部１１３に送信する。
【０１０９】
ステップＳ５０９において、制御ユニット１１は、論理デバイス実デバイス変換部１１３の制御の下、実デバイス割り当て記憶部１２４に記憶される実デバイス割り当て情報を読み出して取得する。
【０１１０】
ステップＳ５１０において、制御ユニット１１は、論理デバイス実デバイス変換部１１３の制御の下、ステップＳ５０９において読み出された実デバイス割り当て情報に基づいて、データ送信先の論理デバイスを特定する。
【０１１１】
ステップＳ５１１において、制御ユニット１１は、論理デバイス実デバイス変換部１１３の制御の下、サービスプログラム管理部１１１の実行管理部１１１２にデータを送信する。
【０１１２】
なお、上記では、外部システム３におけるデータ変換を利用する場合について説明したが、本実施形態はこれに限定されず、外部システム３におけるデータ変換が不要な場合にはステップＳ５０５からステップＳ５０７の処理は省略されてもよい。
【０１１３】
＜デバイス割り当て評価値の算出処理＞
以下では、ステップＳ３０８における実デバイス割り当てが可能か否かの決定処理および実デバイス割り当て決定処理の際に利用することができるデバイス割り当て評価値について詳細に説明する。
【０１１４】
先ず、論理デバイスおよび実デバイスを論理デバイスインタフェースの集合として次のように定義する。
【０１１５】
ｒｎ＝｛ｘ｜ｆｎ（ｘ），ｘ∈Ｘ｝
ｄｍ＝｛ｘ｜ｑｍ（ｘ），ｘ∈Ｘ｝
ｎ∈Ｎ，ｍ∈Ｍ
ここで、
ｒｎ：論理デバイスｎの論理デバイスインタフェースの集合
ｄｍ：実デバイスｍの実デバイスインタフェースが対応する論理デバイスインタフェースの集合
ｆｎ（ｘ）：論理デバイスインタフェースｘが論理デバイスｎに所属する
ｑｍ（ｘ）：論理デバイスインタフェースｘが実デバイスｍに所属する
Ｘ：論理デバイス情報記憶部１２２に記憶される論理デバイスインタフェースの全体集合
Ｎ：論理デバイス情報記憶部１２２に記憶される論理デバイスの全体集合
Ｍ：実デバイス情報記憶部１２６に記憶される接続中実デバイスの全体集合
【０１１６】
このとき、論理デバイスｎを構成し得る実デバイス（＝論理デバイスｎの論理デバイスインタフェースを１つでも含む実デバイス）の集合をＤｎ、Ｄｎのべき集合をＰ（Ｄｎ）とすると、論理デバイスｎを構成し得る実デバイスの組み合わせの集合ＤＳｎは下記のように求められる。ここで、実デバイスが論理デバイスを構成または占有するとは、実デバイスに論理デバイスが割り当てられていることと同義なものとして使用しており、これは以下でも同様である。
【数１】
2019160019.tif 000003
【数２】
2019160019.tif 000004
【０１１７】
なお、以降の式では、
サービスプログラムで利用するｉ番目の論理デバイスｎ［ｉ］に対する実デバイスの組み合わせの集合をＤＳｎ［ｉ］、
ＤＳｎ［ｉ］に含まれるｊ番目の要素をｐ［ｉ］［ｊ］、
ｐ［ｉ］［ｊ］を構成する実デバイス数を｜ｐ［ｉ］［ｊ］｜、
ｄｍを構成する論理デバイスインタフェース数を｜ｄｍ｜、
と各々定義する。
【０１１８】
サービスプログラムで利用する論理デバイスをｎ［１］，…，ｎ［Ｎ］
各論理デバイスに割り当てる実デバイスの組み合わせｆ（ｐ［ｉ］［ｊ１］，…，ｐ［Ｎ］［ｊＮ］）の評価値を、第１の評価指標Ａ１１、第２の評価指標Ａ１２、第３の評価指標Ａ２１、および第４の評価指標Ａ２２を用いて次のように定める。
【０１１９】
ｆ（ｐ［ｉ］［ｊ１］，…，ｐ［Ｎ］［ｊＮ］）＝ａ１１Ａ１１＋ａ１２Ａ１２＋ａ２１Ａ２１＋ａ２２Ａ２２
ここで、ａ１１，ａ１２，ａ２１，ａ２２は定数である。
【０１２０】
このように第１の評価指標Ａ１１、第２の評価指標Ａ１２、第３の評価指標Ａ２１、および第４の評価指標Ａ２２のうちの少なくとも１つに基づく評価値を利用して、ステップＳ３０８における実デバイス割り当てが可能か否かの決定処理や実デバイス割り当て決定処理を実行することができる。
【０１２１】
ステップＳ３０８における実デバイス割り当てが可能か否かの決定処理では、例えば、上記評価値が第１の閾値を超えるような実デバイス割り当てがある場合に、実デバイス割り当てが可能であると決定するようにすることができる。
【０１２２】
また、ステップＳ３０８における実デバイス割り当て決定処理で決定される実デバイス割り当てを、例えば、上記評価値が第２の閾値を超える任意の実デバイス割り当てや、上記評価値が最大値をとる実デバイス割り当てとすることができる。
【０１２３】
１）第１の評価指標
第１の評価指標Ａ１１および第２の評価指標Ａ１２は、自実デバイスまたは自論理デバイスによる占有に着目した評価指標である。
【０１２４】
第１の評価指標Ａ１１は、１論理デバイスの１実デバイスによる占有を考慮する指標であり、これは、本来１論理デバイスは１実デバイスで構成されることを想定していると考えて、１論理デバイスを少ない実デバイスで構成する割り当てほど良いとする考え方に基づくものである。
【０１２５】
第１の評価指標Ａ１１は次のように表される。
【数３】
2019160019.tif 000005
ここで、ｂ１１１，…，ｂ１１Ｎは０以上の定数である。
【０１２６】
Ａ１１は、１論理デバイスを構成する実デバイス数が１である場合に最大値をとり、１論理デバイスを構成する実デバイス数が多いほど最小値に近付く。
【０１２７】
図１３は、第１の評価指標Ａ１１に係る概略を示す図である。
【０１２８】
２）第２の評価指標
第２の評価指標Ａ１２は、１実デバイスの１論理デバイスによる占有を考慮する指標であり、これは、本来１論理デバイスは１実デバイスで構成されることを想定していると考えて、１実デバイスの論理デバイスインタフェースを全て利用する論理デバイスほどより良い割り当てとする考え方に基づくものである。
【０１２９】
第２の評価指標Ａ１２は次のように表される。
【数４】
2019160019.tif 000006
ここで、ｂ１２１，…，ｂ１２Ｎは０以上の定数である。
【０１３０】
Ａ１２は、１論理デバイスが有する論理デバイスインタフェースと実デバイスが有する論理デバイスインタフェースとが合致する場合に最大値を取り、１論理デバイスが有する論理デバイスインタフェースと実デバイスが有する論理デバイスインタフェースとに差分があるほど最小値に近い値を取る。
【０１３１】
図１４は、第２の評価指標Ａ１２に係る概略を示す図である。
【０１３２】
３）第３の評価指標
第３の評価指標Ａ２１および第４の評価指標Ａ２２は、他実デバイスまたは他論理デバイスとの重複に着目した評価指標である。
【０１３３】
第３の評価指標Ａ２１は、他実デバイスと重複する論理デバイスの論理デバイスインタフェースを考慮する指標であり、これは、第１の評価指標Ａ１１に加えて、論理デバイスを構成する実デバイスが他の構成実デバイスと重複する論理デバイスインタフェースを有する場合、当該実デバイスの組み合わせは論理デバイスインタフェースを有効に使えていないため好ましくないとする考えに基づくものである。
【０１３４】
第３の評価指標Ａ２１は次のように表される。
【数５】
2019160019.tif 000007
ここで、ｂ２１１，…，ｂ２１Ｎは０以上の定数である。
【０１３５】
Ａ２１は、１論理デバイスを構成する論理デバイスインタフェースに重複がない場合に最大値をとり、１論理デバイスを構成する論理デバイスインタフェースに重複があるほど最小値に近付く。
【０１３６】
図１５は、第３の評価指標Ａ２１に係る概略を示す図である。
【０１３７】
４）第４の評価指標
第４の評価指標Ａ２２は、他論理デバイスと重複する実デバイスの論理デバイスインタフェースを考慮する指標であり、これは、第２の評価指標に加えて、特定の論理デバイスに割り当てた実デバイスインタフェースが他論理デバイスに割り当てられていないほどよい割り当てとする考えに基づくものである。
【０１３８】
第４の評価指標Ａ２２は次のように表される。
【数６】
2019160019.tif 000008
ここで、ｂ２２ｉｋ，ｂ２２ｉは０以上の定数である。
【０１３９】
Ａ２２は、１論理デバイスを構成する実デバイスと他の論理デバイスを構成する実デバイスとの重複がない場合に最大値をとり、１論理デバイスを構成する実デバイスと他の論理デバイスを構成する実デバイスとの重複が多いほど最小値に近付く。
【０１４０】
図１６は、第４の評価指標Ａ２２に係る概略を示す図である。
【０１４１】
（効果）
（１）サービスプログラム管理部１１１の登録管理部１１１１の制御の下、登録済みのサービスプログラムに係る実デバイス割り当て要求が実デバイス割り当て決定部１１２に送信される。実デバイス割り当て決定部１１２の制御の下、論理デバイス情報記憶部１２２から論理デバイス情報が取得され、実デバイスインタフェース割り当て記憶部１２５から実デバイスインタフェース割り当て情報が取得され、実デバイス情報記憶部１２６から利用可能な実デバイスに係る実デバイス情報が取得される。その後、実デバイス割り当て決定部１１２の制御の下、上記取得された論理デバイス情報と、上記取得された実デバイスインタフェース割り当て情報と、上記取得された実デバイス情報とに基づいて、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが可能か否かが決定され、可能な場合には、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが決定される。最後に、実デバイス割り当て決定部１１２の制御の下、上記決定された割り当てを書き込むための実デバイス割り当て情報更新要求が実デバイス割り当て記憶部１２４に送信され、実デバイス割り当て記憶部１２４に記憶される実デバイス割り当て情報が更新される。当該実デバイス割り当て情報に基づいて、上記サービスプログラムに係る論理デバイスと当該論理デバイスの割り当て先と決定された実デバイスとの間でのデバイス制御命令およびデバイス送信データの通信処理が行われ、上記サービスプログラムに係る論理デバイスの機能が実行される。
【０１４２】
このように利用可能な実デバイスに論理デバイスを動的に割り当てる処理では、例えば、互いに異なる種類の実デバイスに同一種類の論理的なデバイスを割り当てることや、１つの実デバイスに複数の論理デバイスを割り当てることも可能である。このため、サービス提供に必要とされていた実デバイスの種類数や数がサービス提供フィールド上で不足するような、従来ではサービス提供することが困難な場合にも、実デバイスの種類や数を追加することなくサービス提供することが可能となる。
【０１４３】
（２）実デバイス割り当て決定部１１２の制御下での、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当てが可能か否かの決定処理、および、上記サービスプログラムに係る論理デバイスの実デバイスへの割り当ての決定処理が、上記第１の評価指標と、上記第２の評価指標と、上記第３の評価指標と、上記第４の評価指標とのうちの少なくとも１つに基づいて実行される。
【０１４４】
これらの評価指標を用いることにより、例えば、論理デバイスの関連する機能が出来る限り１つの実デバイスに割り振られるようにしたり、１つの論理デバイスの機能が複数の実デバイスに重複して割り振られて実デバイスインタフェースが有効に活用できなくなるようなことがないようにしたりする等、割り当て処理の基準を定めることができる。
【０１４５】
（３）上記デバイス制御命令およびデバイス送信データの通信処理において、次の処理が実行される。論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、外部システム３にデータが送信される。外部システム３により、論理デバイスインタフェースと実デバイスインタフェースとの間でのデータ通信が可能となるようにデータが変換される。その後、外部システム３により、上記データ変換後のデータがデバイス連携システム１に送信され、論理デバイスインタフェース実デバイスインタフェース変換部１１４の制御の下、上記データ変換後のデータが取得される。
【０１４６】
このような外部システム３と連携することにより、通常では対応不可能だった論理デバイスインタフェースと実デバイスインタフェースとの組み合わせも対応可能となり、すなわち、実デバイスインタフェースが仮想的に拡張可能となる。これにより、より多くの種類の実デバイスに論理デバイスを割り当てることが可能となる。
【０１４７】
［他の実施形態］
なお、この発明は上記第１の実施形態に限定されるものではない。
【０１４８】
例えば、デバイス連携システムの構成や、論理デバイス情報記憶部、実デバイス割り当て記憶部、実デバイスインタフェース割り当て記憶部、実デバイス情報記憶部にそれぞれ記憶されるデータの構造等について、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【０１４９】
要するにこの発明は、上記第１の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記第１の実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、上記第１の実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１５０】
Ｘ…論理デバイス割り当て管理機能、Ｙ…論理デバイスインタフェース割り当て管理機能、１…デバイス連携システム、１１…制御ユニット、１１１…サービスプログラム管理部、１１１１…登録管理部、１１１２…実行管理部、１１２…実デバイス割り当て決定部、１１３…論理デバイス実デバイス変換部、１１４…論理デバイスインタフェース実デバイスインタフェース変換部、１１５…実デバイス管理部、１１５１…実デバイス登録部、１２…記憶ユニット、１２１…サービスプログラム記憶部、１２２…論理デバイス情報記憶部、１２３…論理デバイス記憶部、１２４…実デバイス割り当て記憶部、１２５…実デバイスインタフェース割り当て記憶部、１２６…実デバイス情報記憶部、１３…通信インタフェースユニット、２…入力部、３…外部システム、４Ａ〜４Ｎ…実デバイス、ＮＷ…通信ネットワーク
【図１】
2019160019.tif 000009
【図２】
2019160019.tif 000010
【図３】
2019160019.tif 000011
【図４】
2019160019.tif 000012
【図５】
2019160019.tif 000013
【図６】
2019160019.tif 000014
【図７】
2019160019.tif 000015
【図８】
2019160019.tif 000016
【図９】
2019160019.tif 000017
【図１０】
2019160019.tif 000018
【図１１】
2019160019.tif 000019
【図１２】
2019160019.tif 000020
【図１３】
2019160019.tif 000021
【図１４】
2019160019.tif 000022
【図１５】
2019160019.tif 000023
【図１６】
2019160019.tif 000024