(57)【要約】【課題】デバイスが接続された場合に即時に監視制御を開始することを可能とすること。【解決手段】配信サーバ１０は、各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する受信部１１と、第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、複数の中継サーバのうち、第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定する決定部１２と、第１の中継サーバおよび前記第２の中継サーバにソフトウェアを配信する配信部１３と、を備える。【選択図】図１
2019144726.tif 000002
【特許請求の範囲】
【請求項１】
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する受信部と、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定する決定部と、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信する配信部と、を備える配信サーバ。
【請求項２】
前記決定部は、前記第１の中継サーバにおいて前記第１のデバイスが接続される前に接続された第２のデバイスの第２のデバイス情報を取得し、前記配信履歴情報のうち、前記第１のデバイス情報と、前記第２のデバイス情報と、を含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第２のデバイスが接続された中継サーバを、前記第２の中継サーバと決定する、請求項１に記載の配信サーバ。
【請求項３】
前記決定部は、前記配信履歴情報のうち、前記第１のデバイス情報と、前記第２のデバイス情報とを含む配信履歴情報であって、前記第１の中継サーバの装置情報および属性情報の少なくとも１つの情報をさらに含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第２のデバイスが接続され、かつ、前記第１の中継サーバの装置情報および属性情報の少なくとも１つの情報が同一である中継サーバを、前記第２の中継サーバと決定する、請求項２に記載の配信サーバ。
【請求項４】
前記デバイス情報は、デバイスの種別、名称、装置情報および属性情報の少なくとも１つを含む請求項２または３に記載の配信サーバ。
【請求項５】
前記装置情報は、装置型番を含む、請求項３または４に記載の配信サーバ。
【請求項６】
前記属性情報は、自装置が配置された場所情報または自装置に接続されたデバイスが配置された場所情報を含む、請求項３〜５のいずれか１項に記載の配信サーバ。
【請求項７】
前記場所情報は、店舗の規模および店舗の業態の少なくとも１つを含む、請求項６に記載の配信サーバ。
【請求項８】
前記所定条件は、前記抽出された配信履歴情報数が所定閾値以上であること、および前記抽出された配信履歴情報が前記配信履歴情報において連続する配信履歴情報であることの少なくとも１つを含む、請求項２〜７のいずれか１項に記載の配信サーバ。
【請求項９】
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信し、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定し、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信する、ソフトウェア配信方法。
【請求項１０】
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信することと、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定することと、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信することと、をコンピュータに実行させるソフトウェア配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラムに関する。
【背景技術】
【０００２】
近年、コンピュータなどの情報・通信機器だけでなく、世の中に存在する様々な物体（モノ）に通信機能を持たせ、インターネットに接続することにより制御を行う技術としてＩｏＴ（Internet of Things）が普及しつつある。ＩｏＴでは、例えば、温度計などのセンサ、カメラなどの様々なデバイスがサーバ装置を介してネットワークに接続され、サーバ装置がデバイスから収集したデータを利用して監視を行ったり、サーバを介してデバイスの制御を行ったりする。ＩｏＴ環境においては、多数のデバイスが配置されることが想定され、多数配置されたデバイスを制御するために制御用のソフトウェアが必要となる。そのため、ＩｏＴ環境においてはデバイスを制御するためのソフトウェアの配信を効率良く行うことが重要となる。
【０００３】
ここで、ソフトウェアを効率良く配信する関連する技術が検討されている（例えば、特許文献１）。特許文献１には、ソフトウェアをクライアントに配信する管理サーバが、複数のクライアントの中から代表クライアントを選定し、選定された代表クライアントを介して複数のクライアントにソフトウェアを配信することが開示されている。また、管理サーバは、各クライアントが代表クライアントとして選定された場合の実績値を示す配布履歴情報を記憶し、配布履歴情報および各クライアントのイベントリ情報に基づいて代表クライアントを選定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７１９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述したように、ＩｏＴ環境においては、多数のデバイスが配置される。そのため、制御対象のデバイスが接続されたことを検知した契機で毎回ソフトウェアを配信し、インストールを行うと、ソフトウェアのインストールが完了するまでの間、デバイスの制御が出来ない。したがって、新たにデバイスが接続された場合に、即時に接続されたデバイスの監視制御を開始出来るように、必要なソフトウェアを予め配信しておく技術が必要となる。上述した特許文献１に開示された技術では、このように、予めソフトウェアを配信することを想定した技術とはなっていない。すなわち、特許文献１に開示された技術は、デバイスが接続された場合に即時に監視制御を開始することが出来ない。
【０００６】
本開示は、このような問題を解決するためになされたものであり、デバイスが接続された場合に即時に監視制御を開始することが可能な配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラムを提供することである。
【課題を解決するための手段】
【０００７】
第１の態様にかかる配信サーバは、
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する受信部と、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定する決定部と、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信する配信部と、を備える配信サーバである。
【０００８】
第２の態様にかかるソフトウェア配信方法は、
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信し、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定し、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信する、ソフトウェア配信方法である。
【０００９】
第３の態様にかかるソフトウェア配信プログラムは、
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信することと、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定することと、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信することと、をコンピュータに実行させるソフトウェア配信プログラムである。
【発明の効果】
【００１０】
上述した態様によれば、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態にかかる配信サーバの構成例を示す構成図である。
【図２】実施の形態１にかかる通信システムの概略を説明する概略図である。
【図３】実施の形態１にかかる配信サーバの構成例を示す構成図である。
【図４】中継サーバ情報テーブルを説明する図である。
【図５】配信履歴情報テーブルを説明する図である。
【図６】ソフトウェア情報テーブルを説明する図である。
【図７】実施の形態１にかかる中継サーバの構成例を示す構成図である。
【図８Ａ】実施の形態１にかかる通信システムの動作例を説明するフローチャートである。
【図８Ｂ】実施の形態１にかかる通信システムの動作例を説明するフローチャートである。
【図９】追加配信先中継サーバ決定処理の動作例を説明する図である。
【図１０】実施の形態２にかかる配信サーバの構成例を示す構成図である。
【図１１】実施の形態２にかかる中継サーバ情報テーブルを説明する図である。
【図１２】実施の形態２にかかる配信履歴情報テーブルを説明する図である。
【図１３】実施の形態２にかかる追加配信先中継サーバ決定処理の動作例を説明する図である。
【図１４】他の実施の形態にかかる配信サーバおよび中継サーバの構成例を示す概略構成図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一の要素には、同一の符号を付し、重複する説明は省略される。
（実施の形態の概要）
まず、実施の形態に先立って、実施の形態の概要について説明する。図１を用いて、実施の形態の概要にかかる配信サーバ１０について説明する。図１は、実施の形態にかかる配信サーバの構成例を示す構成図である。
【００１３】
配信サーバ１０は、ネットワークを介して、複数の中継サーバの各々と接続および通信を行う通信装置である。配信サーバ１０は、複数の中継サーバに接続されたデバイスを制御するソフトウェアを配信する。配信サーバ１０は、例えば、クラウド上に存在してもよい。配信サーバ１０は、受信部１１と、決定部１２と、配信部１３とを備える。
【００１４】
受信部１１は、各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する。
決定部１２は、第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、配信履歴情報に基づいて、複数の中継サーバのうち、第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定する。配信履歴情報は、デバイスを制御するソフトウェアの配信履歴情報である。
配信部１３は、第１の中継サーバおよび第２の中継サーバに前記ソフトウェアを配信する。
【００１５】
以上説明したように、受信部１１は、各中継サーバに接続されたデバイス情報を複数の中継サーバの各々から受信する。決定部１２は、第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、配信履歴情報に基づいて、複数の中継サーバのうち、第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定する。そして、配信部１３は、第１の中継サーバおよび第２の中継サーバにソフトウェアを配信する。すなわち、実施の形態の概要にかかる配信サーバ１０によれば、配信履歴情報に基づいて、複数の中継サーバのうち、第１のデバイスが今後追加されると予測される中継サーバに対して第１のデバイスを制御するソフトウェアを予め配信することが可能となる。したがって、実施の形態の概要にかかる配信サーバ１０によれば、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【００１６】
（実施の形態１）
以下、図面を参照しつつ、本開示の実施形態について説明する。なお、実施形態において、同一の要素には、同一の符号を付し、重複する説明は省略される。
＜通信システムの構成例＞
まず、図２を用いて、実施の形態１にかかる通信システム１００について説明する。図２は、実施の形態１にかかる通信システムの概略を説明する概略図である。通信システム１００は、配信サーバ３０と、中継サーバ４０＿１〜４０＿５と、デバイス５０＿１〜５０＿８と、を備える。
【００１７】
配信サーバ３０は、実施の形態の概要にかかる配信サーバ１０に対応する。配信サーバ３０は、ネットワークを介して中継サーバ４０＿１〜４０＿５と接続および通信を行うサーバ装置である。配信サーバ３０は、中継サーバ４０＿１〜４０＿５と接続および通信を行うことから通信装置とも言える。配信サーバ３０は、中継サーバ４０＿１〜４０＿５に接続されたデバイスを制御するソフトウェアを配信する。配信サーバ３０は、例えば、クラウド上に存在するサーバ装置であってもよい。配信サーバ３０と中継サーバ４０＿１〜４０＿５の各々との間は、有線回線を介して接続されていてもよいし、無線回線を介して接続されていてもよいし、有線回線および無線回線の組み合わせによって接続されていてもよい。なお、通信システム１００は、中継サーバ４０＿１〜４０＿５を備える構成として記載されているが、中継サーバの数は２台以上であればよく、５台よりも多くの中継サーバを備える構成であってもよい。
【００１８】
中継サーバ４０＿１〜４０＿５は、自装置に接続されたデバイスを監視および制御を行うサーバ装置である。中継サーバ４０＿１〜４０＿５の各々は、配信サーバ３０と、自装置に接続されたデバイス（デバイス５０＿１〜５０＿８の１つ以上のデバイス）との間に配置される。中継サーバ４０＿１〜４０＿５の各々は、配信サーバ３０と自装置に接続されたデバイスとの間でデータの送受信を中継する。中継サーバ４０＿１〜４０＿５の各々は、自装置に接続されたデバイスからデータの収集を行い、収集したデータを処理および加工を行い、配信サーバ３０に転送を行う。中継サーバ４０＿１〜４０＿５は、配信サーバ３０および自装置に接続されたデバイスと接続および通信を行うことから通信装置とも言える。中継サーバ４０＿１〜４０＿５の各々は、配信サーバ３０から自装置に接続された種々のデバイスの種類に応じたソフトウェアを受信する。そして、中継サーバ４０＿１〜４０＿５の各々は、受信したソフトウェアを自装置にインストールすることにより、自装置に接続された種々のデバイスを制御する。なお、中継サーバ４０＿１〜４０＿５の各々は、同じ構成を有する中継サーバである。
【００１９】
図２に示すように、中継サーバ４０＿１は、デバイス５０＿１および５０＿２と接続され、中継サーバ４０＿２は、デバイス５０＿３および５０＿４と接続されている。中継サーバ４０＿３はデバイス５０＿５および５０＿６と接続され、中継サーバ４０＿４は、デバイス５０＿７と接続されている。中継サーバ４０＿５は、デバイス５０＿８と接続されている。なお、通信システム１００は、デバイス５０＿１〜５０＿８を備える構成として記載されているが、デバイスの数は２台以上であればよく、８台よりも多くのデバイスを備える構成であってもよい。また、中継サーバ４０＿１〜４０＿５の各々は、１台もしくは２台のデバイスが接続されている構成として記載されているが、１台以上のデバイスが接続されていればよく、２台よりも多くのデバイスが接続されていてもよい。
【００２０】
デバイス５０＿１〜５０＿８は、例えば、温度計などのセンサ、カメラ等のデバイスである。デバイス５０＿１〜５０＿８の各々は、自装置が接続している中継サーバ（中継サーバ４０＿１〜４０＿５のいずれか）からの指示（制御）を受けて動作を行う。デバイス５０＿１〜５０＿８は、自装置が接続している中継サーバと通信を行うことから通信装置とも言える。なお、以降の説明においては、デバイス５０＿１〜５０＿５、およびデバイス５０＿７および５０＿８は、予め中継サーバ４０＿１〜４０＿５のいずれかに接続されており、デバイス５０＿６が中継サーバ４０＿３に新たに接続されたと仮定して説明を行う。また、デバイス５０＿１、５０＿４、５０＿５および５０＿７はカメラＡであるとし、デバイス５０＿２、５０＿３、５０＿６および５０＿８はカメラＢであるとして説明を行う。なお、各デバイスをカメラＡまたはカメラＢとしたが、当然ながら、他のデバイスであってもよい。
【００２１】
＜配信サーバの構成例＞
続いて、図３を用いて、実施の形態１にかかる配信サーバ３０の構成について説明する。図３は、実施の形態１にかかる配信サーバの構成例を示す構成図である。配信サーバ３０は、受信部３１と、決定部３２と、配信部３３と、記憶部３４とを備える。
【００２２】
受信部３１は、実施の形態の概要にかかる受信部１１に対応する。受信部３１は、各中継サーバに接続されたデバイス情報を、中継サーバ４０＿１〜４０＿５の各々から受信する。具体的には、受信部３１は、中継サーバ４０＿１〜４０＿５の各々に新規にデバイスが接続された場合、各中継サーバに新規に接続されたデバイス情報を中継サーバ４０＿１〜４０＿５の各々から受信する。また、受信部３１は、中継サーバ４０＿１〜４０＿５の各々から、各中継サーバにインストール済みのソフトウェア情報を受信する。
【００２３】
受信部３１は、中継サーバ４０＿３にデバイス５０＿６が新たに接続されると、中継サーバ４０＿３からデバイス５０＿６のデバイス情報を受信し、中継サーバ情報テーブルＴ１の情報を更新する。さらに、受信部３１は、各中継サーバからインストール済みのソフトウェア情報を受信すると、中継サーバ情報テーブルＴ１に受信したソフトウェア情報を保存する。なお、受信部３１は、各中継サーバからインストール済みのソフトウェア情報を定期的に受信してもよい。もしくは、受信部３１は、各中継サーバに新たなデバイスが接続されたタイミングまたは各中継サーバからデバイスが接続解除されたタイミングで、インストール済みのソフトウェア情報を受信してもよい。
【００２４】
また、受信部３１は、いずれかの中継サーバから新たに接続されたデバイスのデバイス情報を受信すると、決定部３２および配信部３３に、どの中継サーバにどのデバイスが新たに接続されたかの情報を通知する。そして、受信部３１は、当該中継サーバに新たに接続されたデバイスを制御するソフトウェアを配信する指示を行う。
【００２５】
ここで、図４を用いて、中継サーバ情報テーブルＴ１について説明する。図４は、中継サーバ情報テーブルを説明する図である。中継サーバ情報テーブルＴ１は、各中継サーバに接続されているデバイス情報と、各サーバにインストール済みのソフトウェア情報と、を管理するテーブルである。中継サーバ情報テーブルＴ１には、中継サーバ識別情報と、接続デバイス情報と、インストール済みソフトウェアと、が関連付けて設定される。
【００２６】
中継サーバ識別情報には、中継サーバを識別する情報が設定される。中継サーバ識別情報には、中継サーバの名称が設定されてもよい。もしくは、中継サーバ識別情報には、中継サーバのＩＰ（Internet Protocol）アドレスが設定されてもよく、中継サーバのＭＡＣ（Media Access Control）アドレスが設定されてもよい。もしくは、中継サーバ識別情報には、各中継サーバを識別するＩＤ（Identifier）が設定されてもよい。なお、以降の説明では、中継サーバ識別情報には、中継サーバの名称が設定されるとして説明する。図４に示すように、中継サーバ識別情報には、通信システム１００に含まれる中継サーバ４０＿１〜４０＿５が設定される。
【００２７】
接続デバイス情報には、中継サーバ識別情報に設定された中継サーバに接続されているデバイスの識別する情報が設定される。接続デバイス情報は、例えば、デバイス種別、デバイス名等の情報であってもよい。なお、以降の説明ではデバイス情報は、デバイス種別であるとして説明する。上述したように、デバイス５０＿１、５０＿４、５０＿５および５０＿７はカメラＡであり、デバイス５０＿２、５０＿３、５０＿６および５０＿８はカメラＢであるので、図４に示すように、対応する中継サーバに関連付けてデバイス情報が設定される。
【００２８】
インストール済みソフトウェアには、中継サーバ識別情報に設定された中継サーバにインストール済みのソフトウェアに関する情報が設定される。
【００２９】
図３に戻り、決定部３２について説明を行う。決定部３２は、実施の形態の概要にかかる決定部１２に対応する。決定部３２は、デバイスを制御するソフトウェアの配信履歴情報が記憶された配信履歴情報テーブルＴ２に基づいて、受信部３１が受信したいずれかの中継サーバに新たに接続されたデバイスを制御するソフトウェアを配信する中継サーバを決定する。
【００３０】
具体的には、決定部３２は、中継サーバ４０＿３からデバイス５０＿６のデバイス情報を受信すると、中継サーバ情報テーブルＴ１を参照し、中継サーバ４０＿３においてデバイス５０＿６が接続される前に接続されたデバイスのデバイス情報を取得する。なお、以降の説明において、新たに接続されたデバイスのデバイス情報を新規デバイス情報と称して記載することがある。また、新たに接続されたデバイスが接続される前に接続されたデバイスのデバイス情報を既存デバイス情報と称して説明することがある。
【００３１】
決定部３２は、配信履歴情報テーブルＴ２を参照して、中継サーバ４０＿３における新規デバイス情報および既存デバイス情報と一致する配信履歴情報を抽出する。そして、決定部３２は、抽出した配信履歴情報が所定条件を満たしているかを判定する。決定部３２は、抽出した配信履歴情報が所定条件を満たしている場合、中継サーバ４０＿３の既存デバイス情報のデバイスが接続された中継サーバを、中継サーバ４０＿３の新規デバイス情報のデバイスを制御するソフトウェアを配信する中継サーバと決定する。
【００３２】
所定条件は、抽出された配信履歴情報数が所定閾値以上であることであってもよい。この場合、配信履歴件数が多いほど、既存デバイス情報に対して新規デバイス情報が追加される可能性が高いと予測することが出来る。もしくは、所定条件は、抽出された配信履歴のうちの２つが配信履歴情報テーブルＴ２において連続する配信履歴情報であることであってもよい。この場合、抽出された配信履歴が連続しているので、既存デバイス情報に対して新規デバイス情報が追加される可能性が高いと予測することが出来る。なお、以降の説明において、所定条件は、抽出された配信履歴情報数が所定閾値以上であることとして説明を行う。
【００３３】
決定部３２は、中継サーバ４０＿３の新規デバイス情報に対応するデバイスを制御するソフトウェアを配信する中継サーバを決定すると、決定した配信サーバに上記ソフトウェアを配信する指示を配信部３３に行う。
【００３４】
ここで、図５を用いて、配信履歴情報テーブルＴ２について説明を行う。図５は、配信履歴情報テーブルを説明する図である。配信履歴情報テーブルＴ２は、現在までに配信した、デバイスを制御するソフトウェアの配信履歴が設定されるテーブルである。配信履歴情報テーブルＴ２には、配信実行日時と、配信先中継サーバと、接続デバイス情報（ソフトウェア配信前）と、配信ソフトウェア対応デバイス情報と、が関連付けて設定される。
【００３５】
配信実行日時は、現在までに配信されたソフトウェアの配信日時が設定される。配信実行日時は、図５に示すように、ＹＹＹＹ／ＭＭ／ＤＤ  ｈｈ：ｍｍ：ｓｓの形式で設定される。ここで、ＹＹＹＹには、ソフトウェアを配信した年が４桁で設定される。ＭＭには、ソフトウェアを配信した月が２桁で設定される。ＤＤには、ソフトウェアを配信した日が２桁で設定される。ｈｈには、ソフトウェアを配信した時間が２桁で設定される。ｍｍには、ソフトウェアを配信した分が２桁で設定される。ｓｓには、ソフトウェアを配信した秒が２桁で設定される。
【００３６】
配信先中継サーバには、配信実行日時にソフトウェアを配信した配信先の中継サーバを識別する情報が設定される。配信先中継サーバには、中継サーバの名称が設定されてもよい。もしくは、配信先中継サーバには、中継サーバのＩＰアドレスが設定されてもよいし、中継サーバのＭＡＣアドレスが設定されてもよい。もしくは、配信先中継サーバには、各中継サーバを識別するＩＤ（Identifier）が設定されてもよい。なお、以降の説明では、配信先中継サーバには、中継サーバの名称が設定されるとして説明する。
【００３７】
接続デバイス情報（ソフトウェア配信前）には、配信実行日時にソフトウェアを配信した配信先中継サーバの既存デバイス情報が設定される。既存デバイス情報には、配信実行日時にソフトウェアを配信した配信先中継サーバに、当該ソフトウェアを配信する前に接続されたデバイスのデバイス種別が設定される。なお、デバイス種別の代わりにデバイス名が設定されてもよい。
【００３８】
新規接続デバイス情報には、配信実行日時にソフトウェアを配信した配信先中継サーバの新規デバイス情報が設定される。新規デバイス情報には、配信実行日時に配信したソフトウェアに対応するデバイスのデバイス種別が設定される。なお、デバイス種別の代わりにデバイス名が設定されてもよい。
【００３９】
次に、図２〜図５を参照して、決定部３２が行うソフトウェアを配信する中継サーバを決定する処理について、具体例を用いて説明する。決定部３２は、受信部３１が中継サーバ４０＿３からデバイス５０＿６のデバイス情報を受信すると、中継サーバ情報テーブルＴ１を参照して、中継サーバ４０＿３の既存デバイス情報を取得する。中継サーバ４０＿３には、デバイス５０＿５のデバイスであるカメラＡが設定されているので、決定部３２は、既存デバイス情報としてカメラＡを取得する。また、決定部３２は、受信部３１が中継サーバ４０＿３からデバイス５０＿６のデバイス情報を受信し、デバイス５０＿６はカメラＢであるので、新規デバイス情報がカメラＢと決定する。
【００４０】
次に、決定部３２は、配信履歴テーブルＴ２を参照して、配信履歴情報のうち、カメラＡを既存デバイス情報とし、カメラＢを新規デバイス情報とする配信履歴情報を抽出する。図５に示した例では、中継サーバ４０＿２および４０＿１の配信履歴情報の２件が抽出される。
【００４１】
例えば、所定閾値が２であるとすると、決定部３２は、２件の配信履歴情報を抽出しているので、抽出された配信履歴情報は所定条件を満たしていると判定する。そのため、決定部３２は、カメラＡが接続されている中継サーバである中継サーバ４０＿１〜４０＿４を、カメラＢに対応するソフトウェアを配信する中継サーバと決定する。なお、以降の説明においては、ソフトウェアを配信する中継サーバのうち、受信部３１が受信した新規デバイス情報の受信元の中継サーバを除いた中継サーバを追加配信先中継サーバと称して記載することがある。また、当然ながら、上記の所定閾値は一例であって、これに限定されるものではない。所定閾値は、中継サーバの台数、中継サーバの用途、各中継サーバに接続される同種類のデバイス数等、実際のシステム構成により決定される。
【００４２】
図３に戻り、配信部３３について説明する。配信部３３は、受信部３１が受信した新規デバイス情報の送信元の中継サーバと追加配信先中継サーバとに、受信部３１が受信した新規デバイス情報の受信元の中継サーバの追加デバイス情報のデバイスを制御するソフトウェアを配信する。配信部３３は、ソフトウェア情報テーブルＴ３を参照して、受信部３１が受信した新規デバイス情報の受信元の中継サーバの追加デバイス情報のデバイスを制御するソフトウェアを決定する。また、配信部３３は、中継サーバ情報テーブルＴ１を参照して、ソフトウェアの配信先の中継サーバに配信対象のソフトウェアがインストールされているか否かを判定する。そして、配信部３３は、配信対象のソフトウェアがインストールされていない中継サーバに配信対象のソフトウェアを配信して、配信対象のソフトウェアのインストールの実行指示を行う。
【００４３】
ここで、図６を参照してソフトウェア情報テーブルＴ３について説明する。図６は、ソフトウェア情報テーブルを説明する図である。ソフトウェア情報テーブルＴ３には、制御対象デバイスと、対応するソフトウェアと、が関連付けて設定される。
【００４４】
制御対象デバイスには、制御対象デバイスのデバイス情報が設定される。デバイス情報には、デバイス種別が設定される。なお、デバイス情報には、デバイス名が設定されてもよい。
対応ソフトウェアには、ソフトウェア情報テーブルＴ３において、同じ行に設定された制御対象デバイスを制御するソフトウェア名が設定される。
【００４５】
例えば、カメラＢを新たに接続されたデバイスと決定された場合、配信部３３は、ソフトウェア情報テーブルＴ３を参照し、制御対象デバイスの中からカメラＢを検索する。そして、配信部３３は、カメラＢに対応するソフトウェアであるｂｂｂ．ｒｐｍを配信するソフトウェアと決定して、当該ソフトウェアを配信する。
【００４６】
配信部３３は、ソフトウェアの配信を完了すると、配信実行日時と、配信先中継サーバと、既存デバイス情報と、新規接続デバイス情報とを関連付けた配信履歴を配信履歴情報テーブルＴ２に追加して、配信履歴情報テーブルＴ２を更新する。
【００４７】
図３に戻り、記憶部３４について説明を行う。記憶部３４は、中継サーバ情報テーブルＴ１、配信履歴情報テーブルＴ２およびソフトウェア情報テーブルＴ３を記憶する。また、記憶部３４は、ソフトウェア情報テーブルＴ３に記憶されたソフトウェアのソフトウェアパッケージを保持する。
【００４８】
＜中継サーバの構成例＞
続いて、図７を参照して中継サーバ４０＿１〜４０＿５の構成について説明する。図７は、実施の形態１にかかる中継サーバの構成例を示す構成図である。上述したように、中継サーバ４０＿１〜４０＿５の各々は同じ構成を有する中継サーバであるので、中継サーバ４０＿３を用いて説明を行う。
【００４９】
監視制御部４１は、自装置に接続されたデバイスを監視および制御する。監視制御部４１は、新たにデバイスが接続された場合、接続されたデバイス情報を取得し、送信部４２を介して、配信サーバ３０に送信する。監視制御部４１は、接続されていたデバイスが接続を解除した場合、接続解除されたデバイス情報を、送信部４２を介して配信サーバ３０に送信してもよい。
【００５０】
送信部４２は、自装置に接続されたデバイスのデバイス情報を配信サーバ３０に送信する。送信部４２は、新たに接続されたデバイス情報を監視制御部４１から受信した場合、新たに接続されたデバイス情報を配信サーバ３０に送信する。
【００５１】
受信部４３は、自装置に接続されたデバイスを含むデバイスを制御するソフトウェアを配信サーバ３０から受信する。
実行部４４は、配信サーバ３０から受信したソフトウェアをインストールする。実行部４４は、配信サーバ３０から、自装置に接続されていないデバイスに対応するソフトウェアを受信した場合であってもインストールを実行する。
【００５２】
＜通信システムの動作例＞
続いて、図８Ａおよび図８Ｂを用いて、実施の形態１にかかる通信システム１００の動作例を説明する。図８Ａおよび図８Ｂは、実施の形態１にかかる通信システムの動作例を説明するフローチャートである。また、図８Ａおよび図８Ｂは、配信サーバ３０および中継サーバ４０＿１〜４０＿５の動作例を含む通信システム１００の動作例を説明する図である。図８Ａおよび図８Ｂに示したフローチャートは、いずれかの中継サーバに、新たなデバイスが接続された場合に実行される。以下の各ステップでは、中継サーバ４０＿３に、新たなデバイスとしてデバイス５０＿６が接続されたとして具体例を併せて記載する。
【００５３】
まず、いずれかの中継サーバに新たなデバイスが接続されると（ステップＳ１）、デバイスが接続された中継サーバは、接続されたデバイスのデバイス情報を取得し、取得したデバイス情報を配信サーバ３０に送信する（ステップＳ２）。
【００５４】
中継サーバ４０＿３にデバイス５０＿６が接続されると、中継サーバ４０＿３の監視制御部４１は、新たに接続されたデバイス５０＿６のデバイス情報を取得する。そして、送信部４２は、取得したデバイス５０＿６のデバイス情報を配信サーバ３０に送信する。
【００５５】
次に、配信サーバ３０は、デバイスが追加された中継サーバの既存デバイス情報と、新規デバイス情報と、を取得する（ステップＳ３）。
【００５６】
受信部３１がデバイス５０＿６のデバイス情報を中継サーバ４０＿３から受信すると、決定部３２は、中継サーバ情報テーブルＴ１を参照する。そして、決定部３２は、中継サーバ４０＿３の既存デバイス情報としてデバイス５０＿５のデバイス情報を取得し、新規デバイス情報がデバイス５０＿６のデバイス情報を取得する。
【００５７】
次に、配信サーバ３０は、受信したデバイス情報を中継サーバ情報テーブルＴ１のデバイス情報の受信元の中継サーバの接続デバイス情報に追加して中継サーバ情報テーブルＴ１を更新する（ステップＳ４）。
【００５８】
受信部３１は、デバイス５０＿６のデバイス情報を、中継サーバ情報テーブルＴ１の中継サーバ４０＿３の接続デバイス情報に追加して、中継サーバ情報テーブルＴ１を更新する。
【００５９】
次に、配信サーバ３０は、新たにデバイスが接続された中継サーバに対して、新たに接続されたデバイスを制御するソフトウェアを配信する（ステップＳ５）。
【００６０】
受信部３１は、中継サーバ４０＿３に対してデバイス５０＿６を制御するソフトウェアを配信することを配信部３３に指示する。そして、配信部３３は、ソフトウェア情報テーブルＴ３を参照して、デバイス５０＿６を制御するソフトウェア（ｂｂｂ．ｒｐｍ）を取得して、中継サーバ４０＿３に取得したソフトウェアを配信する。
【００６１】
次に、新たにデバイスが接続された中継サーバは、配信サーバ３０から配信されたソフトウェアを受信する（ステップＳ６）。
中継サーバ４０＿３の受信部４３は、配信サーバ３０から配信されたソフトウェア（ｂｂｂ．ｒｐｍ）を受信する。
【００６２】
次に、新たにデバイスが接続された中継サーバは、受信したソフトウェアを自装置にインストールする（ステップＳ７）。
中継サーバ４０＿３の実行部４４は、受信したソフトウェア（ｂｂｂ．ｒｐｍ）を自装置にインストールする。
【００６３】
次に、配信サーバ３０は、配信履歴情報テーブルＴ２に配信履歴を追加する（ステップＳ８）。
【００６４】
配信部３３は、中継サーバ４０＿３にｂｂｂ．ｒｐｍの配信を完了すると、配信履歴情報テーブルＴ２に配信履歴を追加して配信履歴情報テーブルＴ２を更新する。また、配信部３３は、中継サーバ４０＿３にｂｂｂ．ｒｐｍの配信を完了すると、決定部３２にソフトウェアの配信が完了したことを通知する。
【００６５】
次に、配信サーバ３０は、追加配信先中継サーバ決定処理を行い、追加配信先中継サーバを決定する（ステップＳ９）。
配信サーバ３０の決定部３２は、ソフトウェア配信対象の中継サーバ決定処理を行い、追加配信先中継サーバを決定する。なお、ステップＳ９の動作詳細については、図９を用いて説明する。
【００６６】
次に、配信サーバ３０は、ステップＳ９において、追加配信先中継サーバが存在するか否かを判定する（ステップＳ１０）。ステップＳ９において、追加配信先中継サーバが存在する場合（ステップＳ１０のＹＥＳ）、ステップＳ１１に進む。一方、ステップＳ９において、追加配信先中継サーバが存在しない場合（ステップＳ１０のＮＯ）、配信サーバ３０は、処理を終了する。
【００６７】
決定部３２が中継サーバ４０＿１、４０＿２および４０＿４を追加配信先中継サーバと決定した場合、追加配信先中継サーバが存在する。そのため、決定部３２は、ステップＳ１１において、中継サーバ４０＿１、４０＿２および４０＿４を追加配信先中継サーバと決定する。
【００６８】
ステップＳ１１において、配信サーバ３０は、追加配信先中継サーバに対してステップＳ５において配信したソフトウェアがインストール済みであるかを判定する（ステップＳ１１）。
【００６９】
配信サーバ３０の決定部３２は、中継サーバ情報テーブルＴ１を参照して、追加配信先中継サーバに中継サーバ４０＿３に配信したソフトウェア（ｂｂｂ．ｒｐｍ）がインストール済みであるかを判定する。
【００７０】
全ての追加配信先中継サーバにステップＳ５において配信したソフトウェアがインストール済みである場合、追加配信先中継サーバが存在しないので処理を終了する。一方、全ての追加配信先中継サーバにインストール済みではない場合、ステップＳ１２に進む。
【００７１】
図４に示したように、決定部３２は、中継サーバ情報テーブルＴ１を参照すると、追加配信先中継サーバである中継サーバ４０＿４には、中継サーバ４０＿３に配信したソフトウェア（ｂｂｂ．ｒｐｍ）がインストール済みではない（ステップＳ１１のＮＯ）。そのため、ステップＳ１２の処理を実行する。
【００７２】
ステップＳ１２において、追加配信先中継サーバのうち、ステップＳ５において配信したソフトウェアがインストールされていない中継サーバに対して、ステップＳ５において配信したソフトウェアを配信する（ステップＳ１２）。
【００７３】
決定部３２は、中継サーバ４０＿４にｂｂｂ．ｒｐｍの配信を行うことを決定する。そして、配信部３３は、中継サーバ４０＿４にｂｂｂ．ｒｐｍの配信を行う。
【００７４】
続いて、図９を用いて、図８ＢのステップＳ９の動作詳細を説明する。図９は、追加配信先中継サーバ決定処理の動作例を説明する図である。なお、図９に示す動作は、配信サーバ３０において実行される。
【００７５】
まず、決定部３２は、新たにデバイスが接続された中継サーバの既存デバイス情報と一致し、新規デバイス情報と一致する配信履歴情報を抽出する（ステップＳ２１）。
【００７６】
決定部３２は、配信履歴情報テーブルＴ２から、中継サーバ４０＿３の既存デバイス情報と一致し、中継サーバ４０＿３の新規デバイス情報と一致する配信履歴情報を抽出する。図５に示した一例では、既存デバイス情報がカメラＡであり、新規デバイス情報がカメラＢである配信履歴情報は、中継サーバ４０＿２および４０＿１の配信履歴情報の２件が抽出される。
【００７７】
次に、決定部３２は、抽出された配信履歴情報数が閾値以上であるかを判定する（ステップＳ２２）。抽出された配信履歴情報数が閾値以上である場合（ステップＳ２２のＹＥＳ）、ステップＳ２３に進む。一方、抽出された配信履歴情報数が閾値未満である場合（ステップＳ２２のＮＯ）、追加配信先中継サーバは存在しないと判断出来るので処理を終了する。
【００７８】
図５に示した一例では、既存デバイス情報がカメラＡであり、新規デバイス情報がカメラＢである配信履歴情報は、中継サーバ４０＿２および４０＿１の配信履歴情報の２件である。また、閾値が２であるとすると、決定部３２は、２件の配信履歴情報を抽出しているので、抽出された配信履歴情報数は閾値以上となるので（ステップＳ２２のＹＥＳ）、ステップＳ２３に進む。
【００７９】
ステップＳ２３において、決定部３２は、新たにデバイスが接続された中継サーバの既存デバイス情報に対応するデバイスが接続された中継サーバを検索する（ステップＳ２３）。
【００８０】
決定部３２は、中継サーバ情報テーブルＴ１を参照して、中継サーバ４０＿３の既存デバイス情報に対応するデバイスが接続されている中継サーバを検索する。中継サーバ４０＿３の既存デバイス情報はカメラＡであるので、決定部３２は、カメラＡが接続された中継サーバを検索する。そうすると、決定部３２は、中継サーバ４０＿１、４０＿２および４０＿４を検索する。
【００８１】
決定部３２は、ステップＳ２３における検索結果があるかを判定し（ステップＳ２４）、検索結果がある場合（ステップＳ２４のＹＥＳ）、検索された中継サーバを追加配信先中継サーバと決定する（ステップＳ２５）。一方、ステップＳ２３における検索結果がない場合（ステップＳ２４のＮＯ）、処理を終了する。
【００８２】
ステップＳ２３において、決定部３２は、中継サーバ４０＿１、４０＿２および４０＿４を検索するので、中継サーバ４０＿１、４０＿２および４０＿４を追加配信先中継サーバと決定する。
【００８３】
以上説明したように、決定部３２は、新たにデバイスが接続された中継サーバの既存デバイス情報と新規デバイス情報とを含む配信履歴情報を抽出する。抽出された配信履歴情報が所定条件を満たす場合、決定部３２は、既存デバイス情報に対応するデバイスが接続された中継サーバに対して、新規デバイス情報のデバイスを制御するソフトウェアを配信すると決定する。すなわち、決定部３２は、新規デバイス情報のデバイスを制御するソフトウェアを配信すると決定した中継サーバに新規デバイス情報のデバイスが今後接続されると予測する。そして、配信部３３は、予め当該中継サーバに新規デバイス情報のデバイスを制御するソフトウェアを配信する。そのため、実施の形態１にかかる配信サーバ３０を用いることにより、新規デバイス情報のデバイスが接続された場合であっても、予め当該デバイスを制御するソフトウェアを配信することが出来る。すなわち、実施の形態１にかかる配信サーバ３０によれば、当該デバイスが接続された場合であっても即時に監視および制御することが可能となる。
【００８４】
また、ＩｏＴ環境においては、中継サーバおよびデバイスは、多数配置されることが想定される。配信サーバ３０は、多数配置される中継サーバに対して、デバイスの接続を検知した契機で毎回ソフトウェアを配信し、中継サーバが、配信されたソフトウェアのインストールを受信する毎に行っていると、即時にデバイスを監視および制御を行うことが出来ない。そのため、ＩｏＴ環境においては、特にデバイスの接続後すぐに利用開始できるよう、必要なソフトウェアを予め配信しておく技術が必要である。実施の形態１にかかる配信サーバ３０を用いることにより、ＩｏＴ環境のように多数の中継サーバおよびデバイスが配置されたとしても適用することが可能となる。
【００８５】
また、中継サーバ４０＿１〜４０＿５の各々は、配信サーバ３０から配信されたソフトウェアが自装置に接続されていないデバイスに対応するソフトウェアであってもインストールを行う。そのため、実施の形態１にかかる中継サーバによれば、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【００８６】
（変形例）
実施の形態１において、以下のような変形を施してもよい。
＜１＞中継サーバ４０＿１〜４０＿５の各々は、新たにデバイスが接続された場合に、当該デバイスのデバイス情報を配信サーバ３０に送信することで説明を行った。しかしながら、これに限定されず、中継サーバ４０＿１〜４０＿５の各々は、自装置に接続されているデバイス情報を定期的に送信してもよい。そして、配信サーバ３０が中継サーバ情報テーブルＴ１と、中継サーバ４０＿１〜４０＿５から受信したデバイス情報と、を比較することにより、既存デバイス情報と、新規接続デバイス情報と、を判別してもよい。このようにしても、上述した実施の形態１と同様の効果を得ることが可能となる。
【００８７】
＜２＞決定部３２は、追加配信先中継サーバを決定する際、配信履歴情報のうち、中継サーバ４０＿３の既存デバイス情報が同一で、新規接続デバイス情報が同一の配信履歴を抽出することとした。しかしながら、これに限られず、例えば、決定部３２は、配信履歴情報のうち、既存デバイス情報および新規接続デバイス情報を含む配信履歴情報を抽出して、追加配信先中継サーバを決定してもよい。すなわち、決定部３２は、デバイスの接続順を考慮せずに、既存デバイス情報および新規接続デバイス情報を含む配信履歴情報を抽出して、追加配信先中継サーバを決定する。このようにすれば、デバイスの接続順に依らないで追加配信先中継サーバを決定することが可能となる。また、このようにしても、上述した実施の形態１と同様の効果を得ることが可能となる。
【００８８】
＜３＞配信サーバ３０は、追加配信先中継サーバを決定した場合、ソフトウェアを配信する前に、追加配信先中継サーバに配信するソフトウェアがインストールされているかを判定した。そして、配信サーバ３０は、インストールされていない追加配信先中継サーバのみにソフトウェアを配信することとした。しかしながら、これに限られず、配信サーバ３０は、追加配信先中継サーバに配信するソフトウェアがインストールされているかを判定せずに、配信するソフトウェアを全ての追加配信先中継サーバに配信してもよい。そして、追加配信先中継サーバが、自装置に配信されたソフトウェアがインストールされていなければインストールするようにしてもよい。このようにしても、上述した実施の形態１と同様の効果を得ることが可能となる。
【００８９】
＜４＞中継サーバ４０＿１〜４０＿５の各々は、監視制御部４１が自装置の稼働状況を取得し、送信部４２を介して、自装置の稼働状況を配信サーバ３０に送信するようにしてもよい。そして、配信サーバ３０の受信部３１が中継サーバ４０＿１〜４０＿５の各々から各中継サーバの稼働状況を受信する。配信サーバ３０の配信部３３は、各中継サーバの稼働状況に基づいて、配信対象のソフトウェアを配信する時間を決定してもよい。配信部３３は、配信対象のソフトウェアを配信すると決定部３２が決定した中継サーバの稼働状況を確認し、稼働率が低い時間帯に、配信対象のソフトウェアを配信するようにしてもよい。
【００９０】
＜５＞上述した実施の形態１においては、デバイス情報は、デバイス種別であるとして説明を行ったが、これに限られない。デバイス情報は、デバイスの種別、名称、装置情報および属性情報の少なくとも１つを含む情報であってもよい。装置情報は、装置型番であってもよいし、製造メーカ（ベンダ）に関する情報であってもよい。属性情報は、デバイスが配置される場所に関する情報を示す場所情報であってもよい。場所情報は、デバイスが配置される店舗の規模、業態に関する情報であってもよい。店舗の規模とは、例えば、大型店舗、中型店舗、小型店舗のそれぞれを示す「大」、「中」、「小」とする情報であってもよい。店舗の業態とは、例えば、コンビニエンスストア、スーパー、八百屋、魚屋、肉屋等の店舗の業態を示す情報であってもよい。
【００９１】
（実施の形態２）
続いて、実施の形態２について説明を行う。実施の形態２は、実施の形態１の改良例である。本実施の形態においては、実施の形態１における配信サーバ３０が配信サーバ６０に置き換わった構成である。なお、通信システムの構成は、配信サーバ３０が配信サーバ６０に置き換わったのみであり、図２と同様であるので、本実施の形態においては配信サーバ６０の構成についてのみ説明を行う。
【００９２】
＜配信サーバの構成例＞
図１０を用いて、配信サーバ６０の構成例を説明する。図１０は、実施の形態２にかかる配信サーバの構成例を示す構成図である。配信サーバ６０は、実施の形態１にかかる配信サーバ３０と比較すると、決定部３２が決定部６１に置き換わっており、配信部３３が配信部６２に置き換わっている。また、中継サーバ情報テーブルＴ１が中継サーバ情報テーブルＴ４に置き換わっており、配信履歴情報テーブルＴ２が配信履歴情報テーブルＴ５に置き換わっている。その他の構成については、実施の形態１と同様であるので説明を割愛する。
【００９３】
配信サーバ６０の各構成の説明の前に、図１１および図１２を用いて、本実施の形態にかかる中継サーバ情報テーブルＴ４および配信履歴情報テーブルＴ５について説明を行う。図１１は、実施の形態２にかかる中継サーバ情報テーブルを説明する図である。図１２は、実施の形態２にかかる配信履歴情報テーブルを説明する図である。
【００９４】
まず、中継サーバ情報テーブルＴ４について説明する。図１１に示す様に、中継サーバ情報テーブルＴ４は、実施の形態１にかかる中継サーバ情報テーブルＴ１と比較すると、装置情報が追加されている。
【００９５】
装置情報には、中継サーバの装置情報が設定される。装置情報は、装置型番であってもよいし、製造メーカ（ベンダ）に関する情報であってもよい。装置情報は、例えば、通信システム１００の管理者によって予め設定されてもよい。もしくは、装置情報は、受信部３１が、各中継サーバから受信して設定されてもよい。なお、以降の説明においては、装置情報は装置型番として説明を行う。図１１に示すように、中継サーバ４０＿１は装置型番がＡであり、中継サーバ４０＿２は装置型番がＢであることを示している。また、中継サーバ４０＿３は装置型番がＣであり、中継サーバ４０＿４は装置型番がＣであり、中継サーバ４０＿５は装置型番がＤであることを示している。
【００９６】
次に、配信履歴情報テーブルＴ５について説明する。図１２に示す様に、配信履歴情報テーブルＴ５は、実施の形態１にかかる配信履歴情報テーブルＴ２と比較すると、装置型番が追加されている。装置型番には、中継サーバの装置型番が設定される。なお、装置型番の代わりに、中継サーバの製造メーカ（ベンダ）に関する情報が設定されていてもよい。配信部３３が、ソフトウェアの配信を完了すると、配信履歴を配信情報テーブルＴ５に追加する際に、配信先中継サーバの装置型番を中継サーバ情報テーブルＴ４から取得して配信履歴に含めて配信情報テーブルＴ５に追加する。
【００９７】
図１０に戻り、配信サーバ６０の各構成について説明を行う。
決定部６１は、受信部３１が受信したデバイス情報および中継サーバ情報テーブルＴ４に基づいて、当該デバイス情報の送信元の中継サーバ（送信元中継サーバと称する）の新規デバイス情報、既存デバイス情報および送信元中継サーバの装置型番を取得する。
【００９８】
決定部６１は、配信履歴情報テーブルＴ５を参照して、取得した新規デバイス情報および既存デバイス情報と一致する配信履歴情報のうち、配信先中継サーバの装置型番が送信元中継サーバの装置型番と一致する配信履歴情報を抽出する。なお、決定部６１は、送信元中継サーバの新規デバイス情報および既存デバイス情報を含む配信履歴のうち、配信先中継サーバの装置型番が送信元中継サーバの装置型番と一致する配信履歴情報を抽出してもよい。
【００９９】
決定部６１は、抽出した配信履歴情報数が所定閾値以上であるかを判定する。そして、決定部３２は、抽出した配信履歴情報数が所定閾値以上である場合、送信元中継サーバの既存デバイス情報のデバイスが接続され、かつ、中継サーバの装置型番が送信元中継サーバの装置型番と同一である中継サーバを、追加配信先中継サーバと決定する。
【０１００】
配信部６２は、決定部６１が決定した中継サーバに、送信元中継サーバに新たに接続されたデバイスを制御するソフトウェアを配信する。配信部６２は、ソフトウェア情報テーブルＴ３を参照して、配信するソフトウェアを取得して配信する。
【０１０１】
また、配信部６２は、決定部６１が決定した中継サーバにソフトウェアを配信する際、中継サーバ情報テーブルＴ５を参照して、配信対象のソフトウェアがインストールされていない中継サーバに配信対象のソフトウェアを配信する。そして、配信部６２は、ソフトウェアを配信する中継サーバに対して、配信するソフトウェアのインストールの実行指示を行う。
【０１０２】
配信部６２は、ソフトウェアの配信が完了すると、配信履歴情報テーブルＴ５に、配信実行日時と、配信先中継サーバと、配信先中継サーバの装置型番と、既存デバイス情報と、新規接続デバイス情報とを関連付けた配信履歴を追加して更新する。
【０１０３】
＜追加配信先中継サーバ決定処理＞
続いて、通信システムの動作例について説明する。本実施の形態においては、追加配信先中継サーバ決定処理のみが異なる。つまり、本実施の形態においては、図８Ａおよび図８Ｂの動作例と同様であり、図９の動作例のみが異なる。そのため、本実施の形態では、図１３を用いて、追加配信先中継サーバ決定処理を実施の形態１と異なる内容について説明する。また、図１３は、基本的に図９と同様であるので、図９との差分点を説明する。図１３は、実施の形態２にかかる追加配信先中継サーバ決定処理の動作例を説明する図である。なお、新たにデバイス５０＿６が中継サーバ４０＿３に接続されたとし、中継サーバ情報テーブルＴ４および配信履歴情報テーブルＴ５のそれぞれが図１１および図１２のようになったとして、各ステップにおいて具体例を併せて記載する。
【０１０４】
ステップＳ３１において、新たにデバイスが接続された中継サーバの既存デバイス情報と一致し、新規デバイス情報と一致し、装置型番が一致する配信履歴情報を抽出する（ステップＳ３１）。
【０１０５】
決定部６１は、中継サーバ４０＿３の既存デバイス情報、新規デバイス情報および装置型番が一致する配信履歴情報を抽出する。図１２に示した一例では、中継サーバ４０＿４のみが抽出される。
【０１０６】
ステップＳ２２において、所定閾値が１であるとすると、ステップＳ２２のＹＥＳに進み、ステップＳ３２が実行される。
【０１０７】
ステップＳ３２において、決定部６１は、新たにデバイスが接続された中継サーバの既存デバイス情報に対応するデバイスが接続され、装置型番が一致する中継サーバを検索する（ステップＳ３２）。
【０１０８】
決定部６１は、中継サーバ４０＿３の既存デバイス情報であるカメラＡが接続され、中継サーバ４０＿３の装置型番と一致する中継サーバを、中継サーバ情報テーブルＴ４を参照して検索する。決定部６１は、中継サーバ情報テーブルＴ４を参照して、中継サーバ４０＿４を検索する。
以降は、ステップＳ２４およびＳ２５を実行して、決定部６１は、追加配信先中継サーバを決定する。
【０１０９】
以上説明した様に、決定部６１は、新たにデバイスが接続された中継サーバの既存デバイス情報、新規デバイス情報および装置情報が一致する配信履歴情報を抽出する。また、決定部６１は、抽出された配信履歴情報が所定条件を満たす場合、新たにデバイスが接続された中継サーバの既存デバイス情報および装置情報が一致する中継サーバを追加配信先中継サーバと決定する。そして、配信部３３は、追加配信先中継サーバに対して、新たに接続されたデバイスを制御するソフトウェアを予め配信する。そのため、本実施の形態にかかる配信サーバ６０によれば、実施の形態１と同様に、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【０１１０】
また、本実施の形態においては、決定部６１は、中継サーバの装置情報を用いて、追加配信先中継サーバを決定する。すなわち、決定部６１は、実施の形態１よりもさらに絞り込んだ配信履歴を抽出する。したがって、本実施の形態にかかる配信サーバ６０によれば、実施の形態１よりもソフトウェアの配信先の中継サーバが少なくなることから、ソフトウェアの配信にかかる通信回線の占有率を抑えることが可能となる。
【０１１１】
（変形例）
実施の形態２において、以下のような変形を施してもよい。
＜１＞上述した実施の形態２においては、中継サーバの装置情報を用いて説明を行ったが、例えば、中継サーバに接続されたデバイスの属性情報を用いてもよい。もしくは、中継サーバの装置情報と、中継サーバに接続されたデバイスの属性情報との組み合わせにより追加配信先中継サーバを決定するようにしてもよい。属性情報は、中継サーバが配置される場所に関する情報を示す場所情報であってもよい。もしくは、属性情報は、中継サーバが監視制御の対象とするデバイスが配置される場所に関する情報を示す場所情報であってもよい。また、場所情報は、中継サーバが配置される店舗の規模、業態に関する情報であってもよい。もしくは、場所情報は、中継サーバが監視制御の対象とするデバイスが配置された店舗の規模、業態に関する情報であってもよい。店舗の規模とは、例えば、大型店舗、中型店舗、小型店舗のそれぞれを示す「大」、「中」、「小」とする情報であってもよい。店舗の業態とは、例えば、コンビニエンスストア、スーパー、八百屋、魚屋、肉屋等の店舗の業態を示す情報であってもよい。
【０１１２】
（他の実施の形態）
図１４は、上述した実施の形態において説明した配信サーバ１０、３０、６０および中継サーバ４０＿１〜４０＿５（以下、配信サーバ１０等と称する）の構成例を示すブロック図である。図１４を参照すると、配信サーバ１０等は、ネットワーク・インターフェース１２０１、プロセッサ１２０２、及びメモリ１２０３を含む。ネットワーク・インターフェース１２０１は、他の通信装置と通信するために使用される。ネットワーク・インターフェース１２０１は、例えば、IEEE 802.11 seriesまたはIEEE 802.3 seriesに準拠したネットワークインターフェースカード（NIC）を含んでもよい。
【０１１３】
プロセッサ１２０２は、メモリ１２０３からソフトウェア（コンピュータプログラム）を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された配信サーバ１０等の処理を行う。プロセッサ１２０２は、例えば、マイクロプロセッサ、MPU（Micro Processing Unit）、又はCPU（Central Processing Unit）であってもよい。プロセッサ１２０２は、複数のプロセッサを含んでもよい。
【０１１４】
メモリ１２０３は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ１２０３は、プロセッサ１２０２から離れて配置されたストレージを含んでもよい。この場合、プロセッサ１２０２は、図示されていないI/Oインタフェースを介してメモリ１２０３にアクセスしてもよい。
【０１１５】
図１４の例では、メモリ１２０３は、ソフトウェアモジュール群を格納するために使用される。プロセッサ１２０２は、これらのソフトウェアモジュール群をメモリ１２０３から読み出して実行することで、上述の実施形態において説明された配信サーバ１０等の処理を行うことができる。
【０１１６】
図１４を用いて説明したように、配信サーバ１０等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む１または複数のプログラムを実行する。
【０１１７】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）を含む。さらに、非一時的なコンピュータ可読媒体の例は、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１１８】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【０１１９】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する受信部と、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定する決定部と、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信する配信部と、を備える配信サーバ。
（付記２）
前記決定部は、前記第１の中継サーバにおいて前記第１のデバイスが接続される前に接続された第２のデバイスの第２のデバイス情報を取得し、前記配信履歴情報のうち、前記第１のデバイス情報と、前記第２のデバイス情報と、を含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第２のデバイスが接続された中継サーバを、前記第２の中継サーバと決定する、付記１に記載の配信サーバ。
（付記３）
前記決定部は、前記配信履歴情報のうち、前記第１のデバイス情報と、前記第２のデバイス情報とを含む配信履歴情報であって、前記第１の中継サーバの装置情報および属性情報の少なくとも１つの情報をさらに含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第２のデバイスが接続され、かつ、前記第１の中継サーバの装置情報および属性情報の少なくとも１つの情報が同一である中継サーバを、前記第２の中継サーバと決定する、付記２に記載の配信サーバ。
（付記４）
前記デバイス情報は、デバイスの種別、名称、装置情報および属性情報の少なくとも１つを含む、付記２または３に記載の配信サーバ。
（付記５）
前記装置情報は、装置型番を含む、付記３または４に記載の配信サーバ。
（付記６）
前記属性情報は、自装置が配置された場所情報または自装置に接続されたデバイスが配置された場所情報を含む、付記３〜５のいずれか１項に記載の配信サーバ。
（付記７）
前記場所情報は、店舗の規模および店舗の業態の少なくとも１つを含む、付記６に記載の配信サーバ。
（付記８）
前記所定条件は、前記抽出された配信履歴情報数が所定閾値以上であること、および前記抽出された配信履歴情報が前記配信履歴情報において連続する配信履歴情報であることの少なくとも１つを含む、付記２〜７のいずれか１項に記載の配信サーバ。
（付記９）
前記受信部は、各中継サーバの稼働状況を前記複数の中継サーバの各々からさらに受信し、
前記配信部は、前記受信した各中継サーバの稼働状況に基づいて、前記決定された中継サーバに前記ソフトウェアを配信する時間を決定する、付記１〜８のいずれか１項に記載の配信サーバ。
（付記１０）
前記配信部は、前記決定された中継サーバの稼働率が低い時間帯に前記ソフトウェアを配信する、付記１〜９のいずれか１項に記載の配信サーバ。
（付記１１）
前記受信部は、各中継サーバにインストールされたソフトウェアを前記複数の中継サーバの各々からさらに受信し、
前記配信部は、前記第２の中継サーバのうち、前記ソフトウェアがインストールされていない中継サーバに前記ソフトウェアを配信する、付記１〜１０のいずれか１項に記載の配信サーバ。
（付記１２）
複数のデバイスと、前記複数のデバイスを制御するためのソフトウェアを配信する配信サーバと、前記複数のデバイスと前記配信サーバとの間に配置される複数の中継サーバを備え、
前記配信サーバは、
各中継サーバに接続されたデバイスのデバイス情報を前記複数の中継サーバの各々から受信する受信部と、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定する決定部と、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信する配信部と、を備える通信システム。
（付記１３）
前記決定部は、前記第１の中継サーバにおいて前記第１のデバイスが接続される前に接続された第２のデバイスの第２のデバイス情報を取得し、前記配信履歴情報のうち、前記第１のデバイス情報と、前記第２のデバイス情報と、を含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第２のデバイスが接続された中継サーバを、前記第２の中継サーバと決定する、付記１２に記載の通信システム。
（付記１４）
前記複数の中継サーバの各々は、
自装置に接続されたデバイス情報を前記配信サーバに送信する送信部と、
前記接続されたデバイスを含むデバイスを制御するソフトウェアを前記配信サーバから受信する受信部と、
前記受信したソフトウェアをインストールする実行部と、を備える付記１２または１３に記載の通信システム。
（付記１５）
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信し、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定し、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信する、ソフトウェア配信方法。
（付記１６）
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信することと、
第１の中継サーバから新たに接続された第１のデバイスの第１のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第１のデバイスを制御するソフトウェアを配信する第２の中継サーバを決定することと、
前記第１の中継サーバおよび前記第２の中継サーバに前記ソフトウェアを配信することと、をコンピュータに実行させるソフトウェア配信プログラム。
【符号の説明】
【０１２０】
１０、３０、６０  配信サーバ
１１、３１  受信部
１２、３２、６１  決定部
１３、３３、６２  配信部
３４  記憶部
４１  監視制御部
４２  送信部
４３  受信部
４４  実行部
４０＿１〜４０＿５  中継サーバ
５０＿１〜５０＿８  デバイス
１００  通信システム
【図１】
2019144726.tif 000003
【図２】
2019144726.tif 000004
【図３】
2019144726.tif 000005
【図４】
2019144726.tif 000006
【図５】
2019144726.tif 000007
【図６】
2019144726.tif 000008
【図７】
2019144726.tif 000009
【図８Ａ】
2019144726.tif 000010
【図８Ｂ】
2019144726.tif 000011
【図９】
2019144726.tif 000012
【図１０】
2019144726.tif 000013
【図１１】
2019144726.tif 000014
【図１２】
2019144726.tif 000015
【図１３】
2019144726.tif 000016
【図１４】
2019144726.tif 000017