特許第6981298号(P6981298)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許6981298配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム
<>
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000002
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000003
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000004
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000005
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000006
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000007
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000008
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000009
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000010
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000011
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000012
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000013
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000014
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000015
  • 特許6981298-配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6981298
(24)【登録日】2021年11月22日
(45)【発行日】2021年12月15日
(54)【発明の名称】配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20211202BHJP
【FI】
   G06F13/00 530A
【請求項の数】10
【全頁数】25
(21)【出願番号】特願2018-26834(P2018-26834)
(22)【出願日】2018年2月19日
(65)【公開番号】特開2019-144726(P2019-144726A)
(43)【公開日】2019年8月29日
【審査請求日】2021年1月8日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】岩谷 憲司
【審査官】 岩田 玲彦
(56)【参考文献】
【文献】 特開2009−271904(JP,A)
【文献】 特開2015−118621(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する受信部と、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定する決定部と、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信する配信部と、を備える配信サーバ。
【請求項2】
前記決定部は、前記第1の中継サーバにおいて前記第1のデバイスが接続される前に接続された第2のデバイスの第2のデバイス情報を取得し、前記配信履歴情報のうち、前記第1のデバイス情報と、前記第2のデバイス情報と、を含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第2のデバイスが接続された中継サーバを、前記第2の中継サーバと決定する、請求項1に記載の配信サーバ。
【請求項3】
前記決定部は、前記配信履歴情報のうち、前記第1のデバイス情報と、前記第2のデバイス情報とを含む配信履歴情報であって、前記第1の中継サーバの装置情報および属性情報の少なくとも1つの情報をさらに含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第2のデバイスが接続され、かつ、前記第1の中継サーバの装置情報および属性情報の少なくとも1つの情報が同一である中継サーバを、前記第2の中継サーバと決定する、請求項2に記載の配信サーバ。
【請求項4】
前記デバイス情報は、デバイスの種別、名称、装置情報および属性情報の少なくとも1つを含む請求項2または3に記載の配信サーバ。
【請求項5】
前記装置情報は、装置型番を含む、請求項3または4に記載の配信サーバ。
【請求項6】
前記属性情報は、自装置が配置された場所情報または自装置に接続されたデバイスが配置された場所情報を含む、請求項3〜5のいずれか1項に記載の配信サーバ。
【請求項7】
前記場所情報は、店舗の規模および店舗の業態の少なくとも1つを含む、請求項6に記載の配信サーバ。
【請求項8】
前記所定条件は、前記抽出された配信履歴情報数が所定閾値以上であること、および前記抽出された配信履歴情報が前記配信履歴情報において連続する配信履歴情報であることの少なくとも1つを含む、請求項2〜7のいずれか1項に記載の配信サーバ。
【請求項9】
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信し、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定し、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信する、ソフトウェア配信方法。
【請求項10】
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信することと、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定することと、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信することと、をコンピュータに実行させるソフトウェア配信プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラムに関する。
【背景技術】
【0002】
近年、コンピュータなどの情報・通信機器だけでなく、世の中に存在する様々な物体(モノ)に通信機能を持たせ、インターネットに接続することにより制御を行う技術としてIoT(Internet of Things)が普及しつつある。IoTでは、例えば、温度計などのセンサ、カメラなどの様々なデバイスがサーバ装置を介してネットワークに接続され、サーバ装置がデバイスから収集したデータを利用して監視を行ったり、サーバを介してデバイスの制御を行ったりする。IoT環境においては、多数のデバイスが配置されることが想定され、多数配置されたデバイスを制御するために制御用のソフトウェアが必要となる。そのため、IoT環境においてはデバイスを制御するためのソフトウェアの配信を効率良く行うことが重要となる。
【0003】
ここで、ソフトウェアを効率良く配信する関連する技術が検討されている(例えば、特許文献1)。特許文献1には、ソフトウェアをクライアントに配信する管理サーバが、複数のクライアントの中から代表クライアントを選定し、選定された代表クライアントを介して複数のクライアントにソフトウェアを配信することが開示されている。また、管理サーバは、各クライアントが代表クライアントとして選定された場合の実績値を示す配布履歴情報を記憶し、配布履歴情報および各クライアントのイベントリ情報に基づいて代表クライアントを選定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−271904号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、上述したように、IoT環境においては、多数のデバイスが配置される。そのため、制御対象のデバイスが接続されたことを検知した契機で毎回ソフトウェアを配信し、インストールを行うと、ソフトウェアのインストールが完了するまでの間、デバイスの制御が出来ない。したがって、新たにデバイスが接続された場合に、即時に接続されたデバイスの監視制御を開始出来るように、必要なソフトウェアを予め配信しておく技術が必要となる。上述した特許文献1に開示された技術では、このように、予めソフトウェアを配信することを想定した技術とはなっていない。すなわち、特許文献1に開示された技術は、デバイスが接続された場合に即時に監視制御を開始することが出来ない。
【0006】
本開示は、このような問題を解決するためになされたものであり、デバイスが接続された場合に即時に監視制御を開始することが可能な配信サーバ、ソフトウェア配信方法およびソフトウェア配信プログラムを提供することである。
【課題を解決するための手段】
【0007】
第1の態様にかかる配信サーバは、
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する受信部と、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定する決定部と、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信する配信部と、を備える配信サーバである。
【0008】
第2の態様にかかるソフトウェア配信方法は、
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信し、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定し、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信する、ソフトウェア配信方法である。
【0009】
第3の態様にかかるソフトウェア配信プログラムは、
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信することと、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定することと、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信することと、をコンピュータに実行させるソフトウェア配信プログラムである。
【発明の効果】
【0010】
上述した態様によれば、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【図面の簡単な説明】
【0011】
図1】実施の形態にかかる配信サーバの構成例を示す構成図である。
図2】実施の形態1にかかる通信システムの概略を説明する概略図である。
図3】実施の形態1にかかる配信サーバの構成例を示す構成図である。
図4】中継サーバ情報テーブルを説明する図である。
図5】配信履歴情報テーブルを説明する図である。
図6】ソフトウェア情報テーブルを説明する図である。
図7】実施の形態1にかかる中継サーバの構成例を示す構成図である。
図8A】実施の形態1にかかる通信システムの動作例を説明するフローチャートである。
図8B】実施の形態1にかかる通信システムの動作例を説明するフローチャートである。
図9】追加配信先中継サーバ決定処理の動作例を説明する図である。
図10】実施の形態2にかかる配信サーバの構成例を示す構成図である。
図11】実施の形態2にかかる中継サーバ情報テーブルを説明する図である。
図12】実施の形態2にかかる配信履歴情報テーブルを説明する図である。
図13】実施の形態2にかかる追加配信先中継サーバ決定処理の動作例を説明する図である。
図14】他の実施の形態にかかる配信サーバおよび中継サーバの構成例を示す概略構成図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一の要素には、同一の符号を付し、重複する説明は省略される。
(実施の形態の概要)
まず、実施の形態に先立って、実施の形態の概要について説明する。図1を用いて、実施の形態の概要にかかる配信サーバ10について説明する。図1は、実施の形態にかかる配信サーバの構成例を示す構成図である。
【0013】
配信サーバ10は、ネットワークを介して、複数の中継サーバの各々と接続および通信を行う通信装置である。配信サーバ10は、複数の中継サーバに接続されたデバイスを制御するソフトウェアを配信する。配信サーバ10は、例えば、クラウド上に存在してもよい。配信サーバ10は、受信部11と、決定部12と、配信部13とを備える。
【0014】
受信部11は、各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する。
決定部12は、第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、配信履歴情報に基づいて、複数の中継サーバのうち、第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定する。配信履歴情報は、デバイスを制御するソフトウェアの配信履歴情報である。
配信部13は、第1の中継サーバおよび第2の中継サーバに前記ソフトウェアを配信する。
【0015】
以上説明したように、受信部11は、各中継サーバに接続されたデバイス情報を複数の中継サーバの各々から受信する。決定部12は、第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、配信履歴情報に基づいて、複数の中継サーバのうち、第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定する。そして、配信部13は、第1の中継サーバおよび第2の中継サーバにソフトウェアを配信する。すなわち、実施の形態の概要にかかる配信サーバ10によれば、配信履歴情報に基づいて、複数の中継サーバのうち、第1のデバイスが今後追加されると予測される中継サーバに対して第1のデバイスを制御するソフトウェアを予め配信することが可能となる。したがって、実施の形態の概要にかかる配信サーバ10によれば、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【0016】
(実施の形態1)
以下、図面を参照しつつ、本開示の実施形態について説明する。なお、実施形態において、同一の要素には、同一の符号を付し、重複する説明は省略される。
<通信システムの構成例>
まず、図2を用いて、実施の形態1にかかる通信システム100について説明する。図2は、実施の形態1にかかる通信システムの概略を説明する概略図である。通信システム100は、配信サーバ30と、中継サーバ40_1〜40_5と、デバイス50_1〜50_8と、を備える。
【0017】
配信サーバ30は、実施の形態の概要にかかる配信サーバ10に対応する。配信サーバ30は、ネットワークを介して中継サーバ40_1〜40_5と接続および通信を行うサーバ装置である。配信サーバ30は、中継サーバ40_1〜40_5と接続および通信を行うことから通信装置とも言える。配信サーバ30は、中継サーバ40_1〜40_5に接続されたデバイスを制御するソフトウェアを配信する。配信サーバ30は、例えば、クラウド上に存在するサーバ装置であってもよい。配信サーバ30と中継サーバ40_1〜40_5の各々との間は、有線回線を介して接続されていてもよいし、無線回線を介して接続されていてもよいし、有線回線および無線回線の組み合わせによって接続されていてもよい。なお、通信システム100は、中継サーバ40_1〜40_5を備える構成として記載されているが、中継サーバの数は2台以上であればよく、5台よりも多くの中継サーバを備える構成であってもよい。
【0018】
中継サーバ40_1〜40_5は、自装置に接続されたデバイスを監視および制御を行うサーバ装置である。中継サーバ40_1〜40_5の各々は、配信サーバ30と、自装置に接続されたデバイス(デバイス50_1〜50_8の1つ以上のデバイス)との間に配置される。中継サーバ40_1〜40_5の各々は、配信サーバ30と自装置に接続されたデバイスとの間でデータの送受信を中継する。中継サーバ40_1〜40_5の各々は、自装置に接続されたデバイスからデータの収集を行い、収集したデータを処理および加工を行い、配信サーバ30に転送を行う。中継サーバ40_1〜40_5は、配信サーバ30および自装置に接続されたデバイスと接続および通信を行うことから通信装置とも言える。中継サーバ40_1〜40_5の各々は、配信サーバ30から自装置に接続された種々のデバイスの種類に応じたソフトウェアを受信する。そして、中継サーバ40_1〜40_5の各々は、受信したソフトウェアを自装置にインストールすることにより、自装置に接続された種々のデバイスを制御する。なお、中継サーバ40_1〜40_5の各々は、同じ構成を有する中継サーバである。
【0019】
図2に示すように、中継サーバ40_1は、デバイス50_1および50_2と接続され、中継サーバ40_2は、デバイス50_3および50_4と接続されている。中継サーバ40_3はデバイス50_5および50_6と接続され、中継サーバ40_4は、デバイス50_7と接続されている。中継サーバ40_5は、デバイス50_8と接続されている。なお、通信システム100は、デバイス50_1〜50_8を備える構成として記載されているが、デバイスの数は2台以上であればよく、8台よりも多くのデバイスを備える構成であってもよい。また、中継サーバ40_1〜40_5の各々は、1台もしくは2台のデバイスが接続されている構成として記載されているが、1台以上のデバイスが接続されていればよく、2台よりも多くのデバイスが接続されていてもよい。
【0020】
デバイス50_1〜50_8は、例えば、温度計などのセンサ、カメラ等のデバイスである。デバイス50_1〜50_8の各々は、自装置が接続している中継サーバ(中継サーバ40_1〜40_5のいずれか)からの指示(制御)を受けて動作を行う。デバイス50_1〜50_8は、自装置が接続している中継サーバと通信を行うことから通信装置とも言える。なお、以降の説明においては、デバイス50_1〜50_5、およびデバイス50_7および50_8は、予め中継サーバ40_1〜40_5のいずれかに接続されており、デバイス50_6が中継サーバ40_3に新たに接続されたと仮定して説明を行う。また、デバイス50_1、50_4、50_5および50_7はカメラAであるとし、デバイス50_2、50_3、50_6および50_8はカメラBであるとして説明を行う。なお、各デバイスをカメラAまたはカメラBとしたが、当然ながら、他のデバイスであってもよい。
【0021】
<配信サーバの構成例>
続いて、図3を用いて、実施の形態1にかかる配信サーバ30の構成について説明する。図3は、実施の形態1にかかる配信サーバの構成例を示す構成図である。配信サーバ30は、受信部31と、決定部32と、配信部33と、記憶部34とを備える。
【0022】
受信部31は、実施の形態の概要にかかる受信部11に対応する。受信部31は、各中継サーバに接続されたデバイス情報を、中継サーバ40_1〜40_5の各々から受信する。具体的には、受信部31は、中継サーバ40_1〜40_5の各々に新規にデバイスが接続された場合、各中継サーバに新規に接続されたデバイス情報を中継サーバ40_1〜40_5の各々から受信する。また、受信部31は、中継サーバ40_1〜40_5の各々から、各中継サーバにインストール済みのソフトウェア情報を受信する。
【0023】
受信部31は、中継サーバ40_3にデバイス50_6が新たに接続されると、中継サーバ40_3からデバイス50_6のデバイス情報を受信し、中継サーバ情報テーブルT1の情報を更新する。さらに、受信部31は、各中継サーバからインストール済みのソフトウェア情報を受信すると、中継サーバ情報テーブルT1に受信したソフトウェア情報を保存する。なお、受信部31は、各中継サーバからインストール済みのソフトウェア情報を定期的に受信してもよい。もしくは、受信部31は、各中継サーバに新たなデバイスが接続されたタイミングまたは各中継サーバからデバイスが接続解除されたタイミングで、インストール済みのソフトウェア情報を受信してもよい。
【0024】
また、受信部31は、いずれかの中継サーバから新たに接続されたデバイスのデバイス情報を受信すると、決定部32および配信部33に、どの中継サーバにどのデバイスが新たに接続されたかの情報を通知する。そして、受信部31は、当該中継サーバに新たに接続されたデバイスを制御するソフトウェアを配信する指示を行う。
【0025】
ここで、図4を用いて、中継サーバ情報テーブルT1について説明する。図4は、中継サーバ情報テーブルを説明する図である。中継サーバ情報テーブルT1は、各中継サーバに接続されているデバイス情報と、各サーバにインストール済みのソフトウェア情報と、を管理するテーブルである。中継サーバ情報テーブルT1には、中継サーバ識別情報と、接続デバイス情報と、インストール済みソフトウェアと、が関連付けて設定される。
【0026】
中継サーバ識別情報には、中継サーバを識別する情報が設定される。中継サーバ識別情報には、中継サーバの名称が設定されてもよい。もしくは、中継サーバ識別情報には、中継サーバのIP(Internet Protocol)アドレスが設定されてもよく、中継サーバのMAC(Media Access Control)アドレスが設定されてもよい。もしくは、中継サーバ識別情報には、各中継サーバを識別するID(Identifier)が設定されてもよい。なお、以降の説明では、中継サーバ識別情報には、中継サーバの名称が設定されるとして説明する。図4に示すように、中継サーバ識別情報には、通信システム100に含まれる中継サーバ40_1〜40_5が設定される。
【0027】
接続デバイス情報には、中継サーバ識別情報に設定された中継サーバに接続されているデバイスの識別する情報が設定される。接続デバイス情報は、例えば、デバイス種別、デバイス名等の情報であってもよい。なお、以降の説明ではデバイス情報は、デバイス種別であるとして説明する。上述したように、デバイス50_1、50_4、50_5および50_7はカメラAであり、デバイス50_2、50_3、50_6および50_8はカメラBであるので、図4に示すように、対応する中継サーバに関連付けてデバイス情報が設定される。
【0028】
インストール済みソフトウェアには、中継サーバ識別情報に設定された中継サーバにインストール済みのソフトウェアに関する情報が設定される。
【0029】
図3に戻り、決定部32について説明を行う。決定部32は、実施の形態の概要にかかる決定部12に対応する。決定部32は、デバイスを制御するソフトウェアの配信履歴情報が記憶された配信履歴情報テーブルT2に基づいて、受信部31が受信したいずれかの中継サーバに新たに接続されたデバイスを制御するソフトウェアを配信する中継サーバを決定する。
【0030】
具体的には、決定部32は、中継サーバ40_3からデバイス50_6のデバイス情報を受信すると、中継サーバ情報テーブルT1を参照し、中継サーバ40_3においてデバイス50_6が接続される前に接続されたデバイスのデバイス情報を取得する。なお、以降の説明において、新たに接続されたデバイスのデバイス情報を新規デバイス情報と称して記載することがある。また、新たに接続されたデバイスが接続される前に接続されたデバイスのデバイス情報を既存デバイス情報と称して説明することがある。
【0031】
決定部32は、配信履歴情報テーブルT2を参照して、中継サーバ40_3における新規デバイス情報および既存デバイス情報と一致する配信履歴情報を抽出する。そして、決定部32は、抽出した配信履歴情報が所定条件を満たしているかを判定する。決定部32は、抽出した配信履歴情報が所定条件を満たしている場合、中継サーバ40_3の既存デバイス情報のデバイスが接続された中継サーバを、中継サーバ40_3の新規デバイス情報のデバイスを制御するソフトウェアを配信する中継サーバと決定する。
【0032】
所定条件は、抽出された配信履歴情報数が所定閾値以上であることであってもよい。この場合、配信履歴件数が多いほど、既存デバイス情報に対して新規デバイス情報が追加される可能性が高いと予測することが出来る。もしくは、所定条件は、抽出された配信履歴のうちの2つが配信履歴情報テーブルT2において連続する配信履歴情報であることであってもよい。この場合、抽出された配信履歴が連続しているので、既存デバイス情報に対して新規デバイス情報が追加される可能性が高いと予測することが出来る。なお、以降の説明において、所定条件は、抽出された配信履歴情報数が所定閾値以上であることとして説明を行う。
【0033】
決定部32は、中継サーバ40_3の新規デバイス情報に対応するデバイスを制御するソフトウェアを配信する中継サーバを決定すると、決定した配信サーバに上記ソフトウェアを配信する指示を配信部33に行う。
【0034】
ここで、図5を用いて、配信履歴情報テーブルT2について説明を行う。図5は、配信履歴情報テーブルを説明する図である。配信履歴情報テーブルT2は、現在までに配信した、デバイスを制御するソフトウェアの配信履歴が設定されるテーブルである。配信履歴情報テーブルT2には、配信実行日時と、配信先中継サーバと、接続デバイス情報(ソフトウェア配信前)と、配信ソフトウェア対応デバイス情報と、が関連付けて設定される。
【0035】
配信実行日時は、現在までに配信されたソフトウェアの配信日時が設定される。配信実行日時は、図5に示すように、YYYY/MM/DD hh:mm:ssの形式で設定される。ここで、YYYYには、ソフトウェアを配信した年が4桁で設定される。MMには、ソフトウェアを配信した月が2桁で設定される。DDには、ソフトウェアを配信した日が2桁で設定される。hhには、ソフトウェアを配信した時間が2桁で設定される。mmには、ソフトウェアを配信した分が2桁で設定される。ssには、ソフトウェアを配信した秒が2桁で設定される。
【0036】
配信先中継サーバには、配信実行日時にソフトウェアを配信した配信先の中継サーバを識別する情報が設定される。配信先中継サーバには、中継サーバの名称が設定されてもよい。もしくは、配信先中継サーバには、中継サーバのIPアドレスが設定されてもよいし、中継サーバのMACアドレスが設定されてもよい。もしくは、配信先中継サーバには、各中継サーバを識別するID(Identifier)が設定されてもよい。なお、以降の説明では、配信先中継サーバには、中継サーバの名称が設定されるとして説明する。
【0037】
接続デバイス情報(ソフトウェア配信前)には、配信実行日時にソフトウェアを配信した配信先中継サーバの既存デバイス情報が設定される。既存デバイス情報には、配信実行日時にソフトウェアを配信した配信先中継サーバに、当該ソフトウェアを配信する前に接続されたデバイスのデバイス種別が設定される。なお、デバイス種別の代わりにデバイス名が設定されてもよい。
【0038】
新規接続デバイス情報には、配信実行日時にソフトウェアを配信した配信先中継サーバの新規デバイス情報が設定される。新規デバイス情報には、配信実行日時に配信したソフトウェアに対応するデバイスのデバイス種別が設定される。なお、デバイス種別の代わりにデバイス名が設定されてもよい。
【0039】
次に、図2図5を参照して、決定部32が行うソフトウェアを配信する中継サーバを決定する処理について、具体例を用いて説明する。決定部32は、受信部31が中継サーバ40_3からデバイス50_6のデバイス情報を受信すると、中継サーバ情報テーブルT1を参照して、中継サーバ40_3の既存デバイス情報を取得する。中継サーバ40_3には、デバイス50_5のデバイスであるカメラAが設定されているので、決定部32は、既存デバイス情報としてカメラAを取得する。また、決定部32は、受信部31が中継サーバ40_3からデバイス50_6のデバイス情報を受信し、デバイス50_6はカメラBであるので、新規デバイス情報がカメラBと決定する。
【0040】
次に、決定部32は、配信履歴テーブルT2を参照して、配信履歴情報のうち、カメラAを既存デバイス情報とし、カメラBを新規デバイス情報とする配信履歴情報を抽出する。図5に示した例では、中継サーバ40_2および40_1の配信履歴情報の2件が抽出される。
【0041】
例えば、所定閾値が2であるとすると、決定部32は、2件の配信履歴情報を抽出しているので、抽出された配信履歴情報は所定条件を満たしていると判定する。そのため、決定部32は、カメラAが接続されている中継サーバである中継サーバ40_1〜40_4を、カメラBに対応するソフトウェアを配信する中継サーバと決定する。なお、以降の説明においては、ソフトウェアを配信する中継サーバのうち、受信部31が受信した新規デバイス情報の受信元の中継サーバを除いた中継サーバを追加配信先中継サーバと称して記載することがある。また、当然ながら、上記の所定閾値は一例であって、これに限定されるものではない。所定閾値は、中継サーバの台数、中継サーバの用途、各中継サーバに接続される同種類のデバイス数等、実際のシステム構成により決定される。
【0042】
図3に戻り、配信部33について説明する。配信部33は、受信部31が受信した新規デバイス情報の送信元の中継サーバと追加配信先中継サーバとに、受信部31が受信した新規デバイス情報の受信元の中継サーバの追加デバイス情報のデバイスを制御するソフトウェアを配信する。配信部33は、ソフトウェア情報テーブルT3を参照して、受信部31が受信した新規デバイス情報の受信元の中継サーバの追加デバイス情報のデバイスを制御するソフトウェアを決定する。また、配信部33は、中継サーバ情報テーブルT1を参照して、ソフトウェアの配信先の中継サーバに配信対象のソフトウェアがインストールされているか否かを判定する。そして、配信部33は、配信対象のソフトウェアがインストールされていない中継サーバに配信対象のソフトウェアを配信して、配信対象のソフトウェアのインストールの実行指示を行う。
【0043】
ここで、図6を参照してソフトウェア情報テーブルT3について説明する。図6は、ソフトウェア情報テーブルを説明する図である。ソフトウェア情報テーブルT3には、制御対象デバイスと、対応するソフトウェアと、が関連付けて設定される。
【0044】
制御対象デバイスには、制御対象デバイスのデバイス情報が設定される。デバイス情報には、デバイス種別が設定される。なお、デバイス情報には、デバイス名が設定されてもよい。
対応ソフトウェアには、ソフトウェア情報テーブルT3において、同じ行に設定された制御対象デバイスを制御するソフトウェア名が設定される。
【0045】
例えば、カメラBを新たに接続されたデバイスと決定された場合、配信部33は、ソフトウェア情報テーブルT3を参照し、制御対象デバイスの中からカメラBを検索する。そして、配信部33は、カメラBに対応するソフトウェアであるbbb.rpmを配信するソフトウェアと決定して、当該ソフトウェアを配信する。
【0046】
配信部33は、ソフトウェアの配信を完了すると、配信実行日時と、配信先中継サーバと、既存デバイス情報と、新規接続デバイス情報とを関連付けた配信履歴を配信履歴情報テーブルT2に追加して、配信履歴情報テーブルT2を更新する。
【0047】
図3に戻り、記憶部34について説明を行う。記憶部34は、中継サーバ情報テーブルT1、配信履歴情報テーブルT2およびソフトウェア情報テーブルT3を記憶する。また、記憶部34は、ソフトウェア情報テーブルT3に記憶されたソフトウェアのソフトウェアパッケージを保持する。
【0048】
<中継サーバの構成例>
続いて、図7を参照して中継サーバ40_1〜40_5の構成について説明する。図7は、実施の形態1にかかる中継サーバの構成例を示す構成図である。上述したように、中継サーバ40_1〜40_5の各々は同じ構成を有する中継サーバであるので、中継サーバ40_3を用いて説明を行う。
【0049】
監視制御部41は、自装置に接続されたデバイスを監視および制御する。監視制御部41は、新たにデバイスが接続された場合、接続されたデバイス情報を取得し、送信部42を介して、配信サーバ30に送信する。監視制御部41は、接続されていたデバイスが接続を解除した場合、接続解除されたデバイス情報を、送信部42を介して配信サーバ30に送信してもよい。
【0050】
送信部42は、自装置に接続されたデバイスのデバイス情報を配信サーバ30に送信する。送信部42は、新たに接続されたデバイス情報を監視制御部41から受信した場合、新たに接続されたデバイス情報を配信サーバ30に送信する。
【0051】
受信部43は、自装置に接続されたデバイスを含むデバイスを制御するソフトウェアを配信サーバ30から受信する。
実行部44は、配信サーバ30から受信したソフトウェアをインストールする。実行部44は、配信サーバ30から、自装置に接続されていないデバイスに対応するソフトウェアを受信した場合であってもインストールを実行する。
【0052】
<通信システムの動作例>
続いて、図8Aおよび図8Bを用いて、実施の形態1にかかる通信システム100の動作例を説明する。図8Aおよび図8Bは、実施の形態1にかかる通信システムの動作例を説明するフローチャートである。また、図8Aおよび図8Bは、配信サーバ30および中継サーバ40_1〜40_5の動作例を含む通信システム100の動作例を説明する図である。図8Aおよび図8Bに示したフローチャートは、いずれかの中継サーバに、新たなデバイスが接続された場合に実行される。以下の各ステップでは、中継サーバ40_3に、新たなデバイスとしてデバイス50_6が接続されたとして具体例を併せて記載する。
【0053】
まず、いずれかの中継サーバに新たなデバイスが接続されると(ステップS1)、デバイスが接続された中継サーバは、接続されたデバイスのデバイス情報を取得し、取得したデバイス情報を配信サーバ30に送信する(ステップS2)。
【0054】
中継サーバ40_3にデバイス50_6が接続されると、中継サーバ40_3の監視制御部41は、新たに接続されたデバイス50_6のデバイス情報を取得する。そして、送信部42は、取得したデバイス50_6のデバイス情報を配信サーバ30に送信する。
【0055】
次に、配信サーバ30は、デバイスが追加された中継サーバの既存デバイス情報と、新規デバイス情報と、を取得する(ステップS3)。
【0056】
受信部31がデバイス50_6のデバイス情報を中継サーバ40_3から受信すると、決定部32は、中継サーバ情報テーブルT1を参照する。そして、決定部32は、中継サーバ40_3の既存デバイス情報としてデバイス50_5のデバイス情報を取得し、新規デバイス情報がデバイス50_6のデバイス情報を取得する。
【0057】
次に、配信サーバ30は、受信したデバイス情報を中継サーバ情報テーブルT1のデバイス情報の受信元の中継サーバの接続デバイス情報に追加して中継サーバ情報テーブルT1を更新する(ステップS4)。
【0058】
受信部31は、デバイス50_6のデバイス情報を、中継サーバ情報テーブルT1の中継サーバ40_3の接続デバイス情報に追加して、中継サーバ情報テーブルT1を更新する。
【0059】
次に、配信サーバ30は、新たにデバイスが接続された中継サーバに対して、新たに接続されたデバイスを制御するソフトウェアを配信する(ステップS5)。
【0060】
受信部31は、中継サーバ40_3に対してデバイス50_6を制御するソフトウェアを配信することを配信部33に指示する。そして、配信部33は、ソフトウェア情報テーブルT3を参照して、デバイス50_6を制御するソフトウェア(bbb.rpm)を取得して、中継サーバ40_3に取得したソフトウェアを配信する。
【0061】
次に、新たにデバイスが接続された中継サーバは、配信サーバ30から配信されたソフトウェアを受信する(ステップS6)。
中継サーバ40_3の受信部43は、配信サーバ30から配信されたソフトウェア(bbb.rpm)を受信する。
【0062】
次に、新たにデバイスが接続された中継サーバは、受信したソフトウェアを自装置にインストールする(ステップS7)。
中継サーバ40_3の実行部44は、受信したソフトウェア(bbb.rpm)を自装置にインストールする。
【0063】
次に、配信サーバ30は、配信履歴情報テーブルT2に配信履歴を追加する(ステップS8)。
【0064】
配信部33は、中継サーバ40_3にbbb.rpmの配信を完了すると、配信履歴情報テーブルT2に配信履歴を追加して配信履歴情報テーブルT2を更新する。また、配信部33は、中継サーバ40_3にbbb.rpmの配信を完了すると、決定部32にソフトウェアの配信が完了したことを通知する。
【0065】
次に、配信サーバ30は、追加配信先中継サーバ決定処理を行い、追加配信先中継サーバを決定する(ステップS9)。
配信サーバ30の決定部32は、ソフトウェア配信対象の中継サーバ決定処理を行い、追加配信先中継サーバを決定する。なお、ステップS9の動作詳細については、図9を用いて説明する。
【0066】
次に、配信サーバ30は、ステップS9において、追加配信先中継サーバが存在するか否かを判定する(ステップS10)。ステップS9において、追加配信先中継サーバが存在する場合(ステップS10のYES)、ステップS11に進む。一方、ステップS9において、追加配信先中継サーバが存在しない場合(ステップS10のNO)、配信サーバ30は、処理を終了する。
【0067】
決定部32が中継サーバ40_1、40_2および40_4を追加配信先中継サーバと決定した場合、追加配信先中継サーバが存在する。そのため、決定部32は、ステップS11において、中継サーバ40_1、40_2および40_4を追加配信先中継サーバと決定する。
【0068】
ステップS11において、配信サーバ30は、追加配信先中継サーバに対してステップS5において配信したソフトウェアがインストール済みであるかを判定する(ステップS11)。
【0069】
配信サーバ30の決定部32は、中継サーバ情報テーブルT1を参照して、追加配信先中継サーバに中継サーバ40_3に配信したソフトウェア(bbb.rpm)がインストール済みであるかを判定する。
【0070】
全ての追加配信先中継サーバにステップS5において配信したソフトウェアがインストール済みである場合、追加配信先中継サーバが存在しないので処理を終了する。一方、全ての追加配信先中継サーバにインストール済みではない場合、ステップS12に進む。
【0071】
図4に示したように、決定部32は、中継サーバ情報テーブルT1を参照すると、追加配信先中継サーバである中継サーバ40_4には、中継サーバ40_3に配信したソフトウェア(bbb.rpm)がインストール済みではない(ステップS11のNO)。そのため、ステップS12の処理を実行する。
【0072】
ステップS12において、追加配信先中継サーバのうち、ステップS5において配信したソフトウェアがインストールされていない中継サーバに対して、ステップS5において配信したソフトウェアを配信する(ステップS12)。
【0073】
決定部32は、中継サーバ40_4にbbb.rpmの配信を行うことを決定する。そして、配信部33は、中継サーバ40_4にbbb.rpmの配信を行う。
【0074】
続いて、図9を用いて、図8BのステップS9の動作詳細を説明する。図9は、追加配信先中継サーバ決定処理の動作例を説明する図である。なお、図9に示す動作は、配信サーバ30において実行される。
【0075】
まず、決定部32は、新たにデバイスが接続された中継サーバの既存デバイス情報と一致し、新規デバイス情報と一致する配信履歴情報を抽出する(ステップS21)。
【0076】
決定部32は、配信履歴情報テーブルT2から、中継サーバ40_3の既存デバイス情報と一致し、中継サーバ40_3の新規デバイス情報と一致する配信履歴情報を抽出する。図5に示した一例では、既存デバイス情報がカメラAであり、新規デバイス情報がカメラBである配信履歴情報は、中継サーバ40_2および40_1の配信履歴情報の2件が抽出される。
【0077】
次に、決定部32は、抽出された配信履歴情報数が閾値以上であるかを判定する(ステップS22)。抽出された配信履歴情報数が閾値以上である場合(ステップS22のYES)、ステップS23に進む。一方、抽出された配信履歴情報数が閾値未満である場合(ステップS22のNO)、追加配信先中継サーバは存在しないと判断出来るので処理を終了する。
【0078】
図5に示した一例では、既存デバイス情報がカメラAであり、新規デバイス情報がカメラBである配信履歴情報は、中継サーバ40_2および40_1の配信履歴情報の2件である。また、閾値が2であるとすると、決定部32は、2件の配信履歴情報を抽出しているので、抽出された配信履歴情報数は閾値以上となるので(ステップS22のYES)、ステップS23に進む。
【0079】
ステップS23において、決定部32は、新たにデバイスが接続された中継サーバの既存デバイス情報に対応するデバイスが接続された中継サーバを検索する(ステップS23)。
【0080】
決定部32は、中継サーバ情報テーブルT1を参照して、中継サーバ40_3の既存デバイス情報に対応するデバイスが接続されている中継サーバを検索する。中継サーバ40_3の既存デバイス情報はカメラAであるので、決定部32は、カメラAが接続された中継サーバを検索する。そうすると、決定部32は、中継サーバ40_1、40_2および40_4を検索する。
【0081】
決定部32は、ステップS23における検索結果があるかを判定し(ステップS24)、検索結果がある場合(ステップS24のYES)、検索された中継サーバを追加配信先中継サーバと決定する(ステップS25)。一方、ステップS23における検索結果がない場合(ステップS24のNO)、処理を終了する。
【0082】
ステップS23において、決定部32は、中継サーバ40_1、40_2および40_4を検索するので、中継サーバ40_1、40_2および40_4を追加配信先中継サーバと決定する。
【0083】
以上説明したように、決定部32は、新たにデバイスが接続された中継サーバの既存デバイス情報と新規デバイス情報とを含む配信履歴情報を抽出する。抽出された配信履歴情報が所定条件を満たす場合、決定部32は、既存デバイス情報に対応するデバイスが接続された中継サーバに対して、新規デバイス情報のデバイスを制御するソフトウェアを配信すると決定する。すなわち、決定部32は、新規デバイス情報のデバイスを制御するソフトウェアを配信すると決定した中継サーバに新規デバイス情報のデバイスが今後接続されると予測する。そして、配信部33は、予め当該中継サーバに新規デバイス情報のデバイスを制御するソフトウェアを配信する。そのため、実施の形態1にかかる配信サーバ30を用いることにより、新規デバイス情報のデバイスが接続された場合であっても、予め当該デバイスを制御するソフトウェアを配信することが出来る。すなわち、実施の形態1にかかる配信サーバ30によれば、当該デバイスが接続された場合であっても即時に監視および制御することが可能となる。
【0084】
また、IoT環境においては、中継サーバおよびデバイスは、多数配置されることが想定される。配信サーバ30は、多数配置される中継サーバに対して、デバイスの接続を検知した契機で毎回ソフトウェアを配信し、中継サーバが、配信されたソフトウェアのインストールを受信する毎に行っていると、即時にデバイスを監視および制御を行うことが出来ない。そのため、IoT環境においては、特にデバイスの接続後すぐに利用開始できるよう、必要なソフトウェアを予め配信しておく技術が必要である。実施の形態1にかかる配信サーバ30を用いることにより、IoT環境のように多数の中継サーバおよびデバイスが配置されたとしても適用することが可能となる。
【0085】
また、中継サーバ40_1〜40_5の各々は、配信サーバ30から配信されたソフトウェアが自装置に接続されていないデバイスに対応するソフトウェアであってもインストールを行う。そのため、実施の形態1にかかる中継サーバによれば、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【0086】
(変形例)
実施の形態1において、以下のような変形を施してもよい。
<1>中継サーバ40_1〜40_5の各々は、新たにデバイスが接続された場合に、当該デバイスのデバイス情報を配信サーバ30に送信することで説明を行った。しかしながら、これに限定されず、中継サーバ40_1〜40_5の各々は、自装置に接続されているデバイス情報を定期的に送信してもよい。そして、配信サーバ30が中継サーバ情報テーブルT1と、中継サーバ40_1〜40_5から受信したデバイス情報と、を比較することにより、既存デバイス情報と、新規接続デバイス情報と、を判別してもよい。このようにしても、上述した実施の形態1と同様の効果を得ることが可能となる。
【0087】
<2>決定部32は、追加配信先中継サーバを決定する際、配信履歴情報のうち、中継サーバ40_3の既存デバイス情報が同一で、新規接続デバイス情報が同一の配信履歴を抽出することとした。しかしながら、これに限られず、例えば、決定部32は、配信履歴情報のうち、既存デバイス情報および新規接続デバイス情報を含む配信履歴情報を抽出して、追加配信先中継サーバを決定してもよい。すなわち、決定部32は、デバイスの接続順を考慮せずに、既存デバイス情報および新規接続デバイス情報を含む配信履歴情報を抽出して、追加配信先中継サーバを決定する。このようにすれば、デバイスの接続順に依らないで追加配信先中継サーバを決定することが可能となる。また、このようにしても、上述した実施の形態1と同様の効果を得ることが可能となる。
【0088】
<3>配信サーバ30は、追加配信先中継サーバを決定した場合、ソフトウェアを配信する前に、追加配信先中継サーバに配信するソフトウェアがインストールされているかを判定した。そして、配信サーバ30は、インストールされていない追加配信先中継サーバのみにソフトウェアを配信することとした。しかしながら、これに限られず、配信サーバ30は、追加配信先中継サーバに配信するソフトウェアがインストールされているかを判定せずに、配信するソフトウェアを全ての追加配信先中継サーバに配信してもよい。そして、追加配信先中継サーバが、自装置に配信されたソフトウェアがインストールされていなければインストールするようにしてもよい。このようにしても、上述した実施の形態1と同様の効果を得ることが可能となる。
【0089】
<4>中継サーバ40_1〜40_5の各々は、監視制御部41が自装置の稼働状況を取得し、送信部42を介して、自装置の稼働状況を配信サーバ30に送信するようにしてもよい。そして、配信サーバ30の受信部31が中継サーバ40_1〜40_5の各々から各中継サーバの稼働状況を受信する。配信サーバ30の配信部33は、各中継サーバの稼働状況に基づいて、配信対象のソフトウェアを配信する時間を決定してもよい。配信部33は、配信対象のソフトウェアを配信すると決定部32が決定した中継サーバの稼働状況を確認し、稼働率が低い時間帯に、配信対象のソフトウェアを配信するようにしてもよい。
【0090】
<5>上述した実施の形態1においては、デバイス情報は、デバイス種別であるとして説明を行ったが、これに限られない。デバイス情報は、デバイスの種別、名称、装置情報および属性情報の少なくとも1つを含む情報であってもよい。装置情報は、装置型番であってもよいし、製造メーカ(ベンダ)に関する情報であってもよい。属性情報は、デバイスが配置される場所に関する情報を示す場所情報であってもよい。場所情報は、デバイスが配置される店舗の規模、業態に関する情報であってもよい。店舗の規模とは、例えば、大型店舗、中型店舗、小型店舗のそれぞれを示す「大」、「中」、「小」とする情報であってもよい。店舗の業態とは、例えば、コンビニエンスストア、スーパー、八百屋、魚屋、肉屋等の店舗の業態を示す情報であってもよい。
【0091】
(実施の形態2)
続いて、実施の形態2について説明を行う。実施の形態2は、実施の形態1の改良例である。本実施の形態においては、実施の形態1における配信サーバ30が配信サーバ60に置き換わった構成である。なお、通信システムの構成は、配信サーバ30が配信サーバ60に置き換わったのみであり、図2と同様であるので、本実施の形態においては配信サーバ60の構成についてのみ説明を行う。
【0092】
<配信サーバの構成例>
図10を用いて、配信サーバ60の構成例を説明する。図10は、実施の形態2にかかる配信サーバの構成例を示す構成図である。配信サーバ60は、実施の形態1にかかる配信サーバ30と比較すると、決定部32が決定部61に置き換わっており、配信部33が配信部62に置き換わっている。また、中継サーバ情報テーブルT1が中継サーバ情報テーブルT4に置き換わっており、配信履歴情報テーブルT2が配信履歴情報テーブルT5に置き換わっている。その他の構成については、実施の形態1と同様であるので説明を割愛する。
【0093】
配信サーバ60の各構成の説明の前に、図11および図12を用いて、本実施の形態にかかる中継サーバ情報テーブルT4および配信履歴情報テーブルT5について説明を行う。図11は、実施の形態2にかかる中継サーバ情報テーブルを説明する図である。図12は、実施の形態2にかかる配信履歴情報テーブルを説明する図である。
【0094】
まず、中継サーバ情報テーブルT4について説明する。図11に示す様に、中継サーバ情報テーブルT4は、実施の形態1にかかる中継サーバ情報テーブルT1と比較すると、装置情報が追加されている。
【0095】
装置情報には、中継サーバの装置情報が設定される。装置情報は、装置型番であってもよいし、製造メーカ(ベンダ)に関する情報であってもよい。装置情報は、例えば、通信システム100の管理者によって予め設定されてもよい。もしくは、装置情報は、受信部31が、各中継サーバから受信して設定されてもよい。なお、以降の説明においては、装置情報は装置型番として説明を行う。図11に示すように、中継サーバ40_1は装置型番がAであり、中継サーバ40_2は装置型番がBであることを示している。また、中継サーバ40_3は装置型番がCであり、中継サーバ40_4は装置型番がCであり、中継サーバ40_5は装置型番がDであることを示している。
【0096】
次に、配信履歴情報テーブルT5について説明する。図12に示す様に、配信履歴情報テーブルT5は、実施の形態1にかかる配信履歴情報テーブルT2と比較すると、装置型番が追加されている。装置型番には、中継サーバの装置型番が設定される。なお、装置型番の代わりに、中継サーバの製造メーカ(ベンダ)に関する情報が設定されていてもよい。配信部33が、ソフトウェアの配信を完了すると、配信履歴を配信情報テーブルT5に追加する際に、配信先中継サーバの装置型番を中継サーバ情報テーブルT4から取得して配信履歴に含めて配信情報テーブルT5に追加する。
【0097】
図10に戻り、配信サーバ60の各構成について説明を行う。
決定部61は、受信部31が受信したデバイス情報および中継サーバ情報テーブルT4に基づいて、当該デバイス情報の送信元の中継サーバ(送信元中継サーバと称する)の新規デバイス情報、既存デバイス情報および送信元中継サーバの装置型番を取得する。
【0098】
決定部61は、配信履歴情報テーブルT5を参照して、取得した新規デバイス情報および既存デバイス情報と一致する配信履歴情報のうち、配信先中継サーバの装置型番が送信元中継サーバの装置型番と一致する配信履歴情報を抽出する。なお、決定部61は、送信元中継サーバの新規デバイス情報および既存デバイス情報を含む配信履歴のうち、配信先中継サーバの装置型番が送信元中継サーバの装置型番と一致する配信履歴情報を抽出してもよい。
【0099】
決定部61は、抽出した配信履歴情報数が所定閾値以上であるかを判定する。そして、決定部32は、抽出した配信履歴情報数が所定閾値以上である場合、送信元中継サーバの既存デバイス情報のデバイスが接続され、かつ、中継サーバの装置型番が送信元中継サーバの装置型番と同一である中継サーバを、追加配信先中継サーバと決定する。
【0100】
配信部62は、決定部61が決定した中継サーバに、送信元中継サーバに新たに接続されたデバイスを制御するソフトウェアを配信する。配信部62は、ソフトウェア情報テーブルT3を参照して、配信するソフトウェアを取得して配信する。
【0101】
また、配信部62は、決定部61が決定した中継サーバにソフトウェアを配信する際、中継サーバ情報テーブルT5を参照して、配信対象のソフトウェアがインストールされていない中継サーバに配信対象のソフトウェアを配信する。そして、配信部62は、ソフトウェアを配信する中継サーバに対して、配信するソフトウェアのインストールの実行指示を行う。
【0102】
配信部62は、ソフトウェアの配信が完了すると、配信履歴情報テーブルT5に、配信実行日時と、配信先中継サーバと、配信先中継サーバの装置型番と、既存デバイス情報と、新規接続デバイス情報とを関連付けた配信履歴を追加して更新する。
【0103】
<追加配信先中継サーバ決定処理>
続いて、通信システムの動作例について説明する。本実施の形態においては、追加配信先中継サーバ決定処理のみが異なる。つまり、本実施の形態においては、図8Aおよび図8Bの動作例と同様であり、図9の動作例のみが異なる。そのため、本実施の形態では、図13を用いて、追加配信先中継サーバ決定処理を実施の形態1と異なる内容について説明する。また、図13は、基本的に図9と同様であるので、図9との差分点を説明する。図13は、実施の形態2にかかる追加配信先中継サーバ決定処理の動作例を説明する図である。なお、新たにデバイス50_6が中継サーバ40_3に接続されたとし、中継サーバ情報テーブルT4および配信履歴情報テーブルT5のそれぞれが図11および図12のようになったとして、各ステップにおいて具体例を併せて記載する。
【0104】
ステップS31において、新たにデバイスが接続された中継サーバの既存デバイス情報と一致し、新規デバイス情報と一致し、装置型番が一致する配信履歴情報を抽出する(ステップS31)。
【0105】
決定部61は、中継サーバ40_3の既存デバイス情報、新規デバイス情報および装置型番が一致する配信履歴情報を抽出する。図12に示した一例では、中継サーバ40_4のみが抽出される。
【0106】
ステップS22において、所定閾値が1であるとすると、ステップS22のYESに進み、ステップS32が実行される。
【0107】
ステップS32において、決定部61は、新たにデバイスが接続された中継サーバの既存デバイス情報に対応するデバイスが接続され、装置型番が一致する中継サーバを検索する(ステップS32)。
【0108】
決定部61は、中継サーバ40_3の既存デバイス情報であるカメラAが接続され、中継サーバ40_3の装置型番と一致する中継サーバを、中継サーバ情報テーブルT4を参照して検索する。決定部61は、中継サーバ情報テーブルT4を参照して、中継サーバ40_4を検索する。
以降は、ステップS24およびS25を実行して、決定部61は、追加配信先中継サーバを決定する。
【0109】
以上説明した様に、決定部61は、新たにデバイスが接続された中継サーバの既存デバイス情報、新規デバイス情報および装置情報が一致する配信履歴情報を抽出する。また、決定部61は、抽出された配信履歴情報が所定条件を満たす場合、新たにデバイスが接続された中継サーバの既存デバイス情報および装置情報が一致する中継サーバを追加配信先中継サーバと決定する。そして、配信部33は、追加配信先中継サーバに対して、新たに接続されたデバイスを制御するソフトウェアを予め配信する。そのため、本実施の形態にかかる配信サーバ60によれば、実施の形態1と同様に、デバイスが接続された場合に即時に監視制御を開始することが可能となる。
【0110】
また、本実施の形態においては、決定部61は、中継サーバの装置情報を用いて、追加配信先中継サーバを決定する。すなわち、決定部61は、実施の形態1よりもさらに絞り込んだ配信履歴を抽出する。したがって、本実施の形態にかかる配信サーバ60によれば、実施の形態1よりもソフトウェアの配信先の中継サーバが少なくなることから、ソフトウェアの配信にかかる通信回線の占有率を抑えることが可能となる。
【0111】
(変形例)
実施の形態2において、以下のような変形を施してもよい。
<1>上述した実施の形態2においては、中継サーバの装置情報を用いて説明を行ったが、例えば、中継サーバに接続されたデバイスの属性情報を用いてもよい。もしくは、中継サーバの装置情報と、中継サーバに接続されたデバイスの属性情報との組み合わせにより追加配信先中継サーバを決定するようにしてもよい。属性情報は、中継サーバが配置される場所に関する情報を示す場所情報であってもよい。もしくは、属性情報は、中継サーバが監視制御の対象とするデバイスが配置される場所に関する情報を示す場所情報であってもよい。また、場所情報は、中継サーバが配置される店舗の規模、業態に関する情報であってもよい。もしくは、場所情報は、中継サーバが監視制御の対象とするデバイスが配置された店舗の規模、業態に関する情報であってもよい。店舗の規模とは、例えば、大型店舗、中型店舗、小型店舗のそれぞれを示す「大」、「中」、「小」とする情報であってもよい。店舗の業態とは、例えば、コンビニエンスストア、スーパー、八百屋、魚屋、肉屋等の店舗の業態を示す情報であってもよい。
【0112】
(他の実施の形態)
図14は、上述した実施の形態において説明した配信サーバ10、30、60および中継サーバ40_1〜40_5(以下、配信サーバ10等と称する)の構成例を示すブロック図である。図14を参照すると、配信サーバ10等は、ネットワーク・インターフェース1201、プロセッサ1202、及びメモリ1203を含む。ネットワーク・インターフェース1201は、他の通信装置と通信するために使用される。ネットワーク・インターフェース1201は、例えば、IEEE 802.11 seriesまたはIEEE 802.3 seriesに準拠したネットワークインターフェースカード(NIC)を含んでもよい。
【0113】
プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された配信サーバ10等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。
【0114】
メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/Oインタフェースを介してメモリ1203にアクセスしてもよい。
【0115】
図14の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明された配信サーバ10等の処理を行うことができる。
【0116】
図14を用いて説明したように、配信サーバ10等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1または複数のプログラムを実行する。
【0117】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、非一時的なコンピュータ可読媒体の例は、CD−ROM(Read Only Memory)、CD−R、CD−R/Wを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0118】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【0119】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信する受信部と、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定する決定部と、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信する配信部と、を備える配信サーバ。
(付記2)
前記決定部は、前記第1の中継サーバにおいて前記第1のデバイスが接続される前に接続された第2のデバイスの第2のデバイス情報を取得し、前記配信履歴情報のうち、前記第1のデバイス情報と、前記第2のデバイス情報と、を含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第2のデバイスが接続された中継サーバを、前記第2の中継サーバと決定する、付記1に記載の配信サーバ。
(付記3)
前記決定部は、前記配信履歴情報のうち、前記第1のデバイス情報と、前記第2のデバイス情報とを含む配信履歴情報であって、前記第1の中継サーバの装置情報および属性情報の少なくとも1つの情報をさらに含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第2のデバイスが接続され、かつ、前記第1の中継サーバの装置情報および属性情報の少なくとも1つの情報が同一である中継サーバを、前記第2の中継サーバと決定する、付記2に記載の配信サーバ。
(付記4)
前記デバイス情報は、デバイスの種別、名称、装置情報および属性情報の少なくとも1つを含む、付記2または3に記載の配信サーバ。
(付記5)
前記装置情報は、装置型番を含む、付記3または4に記載の配信サーバ。
(付記6)
前記属性情報は、自装置が配置された場所情報または自装置に接続されたデバイスが配置された場所情報を含む、付記3〜5のいずれか1項に記載の配信サーバ。
(付記7)
前記場所情報は、店舗の規模および店舗の業態の少なくとも1つを含む、付記6に記載の配信サーバ。
(付記8)
前記所定条件は、前記抽出された配信履歴情報数が所定閾値以上であること、および前記抽出された配信履歴情報が前記配信履歴情報において連続する配信履歴情報であることの少なくとも1つを含む、付記2〜7のいずれか1項に記載の配信サーバ。
(付記9)
前記受信部は、各中継サーバの稼働状況を前記複数の中継サーバの各々からさらに受信し、
前記配信部は、前記受信した各中継サーバの稼働状況に基づいて、前記決定された中継サーバに前記ソフトウェアを配信する時間を決定する、付記1〜8のいずれか1項に記載の配信サーバ。
(付記10)
前記配信部は、前記決定された中継サーバの稼働率が低い時間帯に前記ソフトウェアを配信する、付記1〜9のいずれか1項に記載の配信サーバ。
(付記11)
前記受信部は、各中継サーバにインストールされたソフトウェアを前記複数の中継サーバの各々からさらに受信し、
前記配信部は、前記第2の中継サーバのうち、前記ソフトウェアがインストールされていない中継サーバに前記ソフトウェアを配信する、付記1〜10のいずれか1項に記載の配信サーバ。
(付記12)
複数のデバイスと、前記複数のデバイスを制御するためのソフトウェアを配信する配信サーバと、前記複数のデバイスと前記配信サーバとの間に配置される複数の中継サーバを備え、
前記配信サーバは、
各中継サーバに接続されたデバイスのデバイス情報を前記複数の中継サーバの各々から受信する受信部と、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定する決定部と、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信する配信部と、を備える通信システム。
(付記13)
前記決定部は、前記第1の中継サーバにおいて前記第1のデバイスが接続される前に接続された第2のデバイスの第2のデバイス情報を取得し、前記配信履歴情報のうち、前記第1のデバイス情報と、前記第2のデバイス情報と、を含む配信履歴情報を抽出し、前記抽出された配信履歴情報が所定条件を満たす場合、前記第2のデバイスが接続された中継サーバを、前記第2の中継サーバと決定する、付記12に記載の通信システム。
(付記14)
前記複数の中継サーバの各々は、
自装置に接続されたデバイス情報を前記配信サーバに送信する送信部と、
前記接続されたデバイスを含むデバイスを制御するソフトウェアを前記配信サーバから受信する受信部と、
前記受信したソフトウェアをインストールする実行部と、を備える付記12または13に記載の通信システム。
(付記15)
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信し、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定し、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信する、ソフトウェア配信方法。
(付記16)
各中継サーバに接続されたデバイスのデバイス情報を複数の中継サーバの各々から受信することと、
第1の中継サーバから新たに接続された第1のデバイスの第1のデバイス情報を受信した場合、デバイスを制御するソフトウェアの配信履歴情報に基づいて、前記複数の中継サーバのうち、前記第1のデバイスを制御するソフトウェアを配信する第2の中継サーバを決定することと、
前記第1の中継サーバおよび前記第2の中継サーバに前記ソフトウェアを配信することと、をコンピュータに実行させるソフトウェア配信プログラム。
【符号の説明】
【0120】
10、30、60 配信サーバ
11、31 受信部
12、32、61 決定部
13、33、62 配信部
34 記憶部
41 監視制御部
42 送信部
43 受信部
44 実行部
40_1〜40_5 中継サーバ
50_1〜50_8 デバイス
100 通信システム
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
図12
図13
図14