(57)【特許請求の範囲】
【請求項１】
第１のサーバ、第２のサーバ、および１以上の機器がネットワークで接続され、
前記第１のサーバは、
前記第２のサーバおよび前記機器との間の通信状況をそれぞれ任意の時間間隔で取得する取得部と、
前記取得部が取得した通信状況の履歴情報を格納する記憶部と、
前記第２のサーバおよび前記機器についてそれぞれ前記通信状況の履歴情報から通信閾値を導出する導出部と、
前記第２のサーバおよび前記機器についてそれぞれ現在の通信状況が前記通信閾値を満たすか否か判定する判定部と、
前記第２のサーバの現在の通信状況が前記通信閾値を満たす場合には前記第２のサーバからデータを取得し、前記機器の現在の通信状況が前記通信閾値を満たす場合には前記データを前記機器に送信する送受信部と、
前記機器に対しデータの適用指示を行う適用指示部を備え、
前記判定部は、前記機器の現在の負荷が負荷閾値を満たすか否かをさらに判定し、
前記適用指示部は、前記判定部の前記判定の結果が負荷閾値を満たすときに前記データの適用指示を行う、
備える配信システム。
【請求項２】
前記第１のサーバは、データの重要度を格納する重要度記憶部を備え、
前記送受信部は、データの重要度が条件を満たしたときは、前記第２のサーバの現在の通信状況によらず前記第２のサーバからデータを取得し、前記機器の現在の通信状況によらず機器に前記データを送信する、請求項１に記載の配信システム。
【請求項３】
前記送受信部は、前記判定部が前記機器について前記通信閾値および前記負荷閾値の両方を満たすと判定した場合に前記データを当該サーバに送信する、請求項１または２記載の配信システム。
【請求項４】
前記第１のサーバは、データの重要度を格納する重要度記憶部を備え、
前記データの重要度が条件を満たしたときは、前記送受信部は前記判定部の判定の結果によらず前記データを送信し、前記適用指示部は前記データの適用指示を行う
請求項１ないし３のいずれか１項記載の配信システム。
【請求項５】
前記判定部は、前記第２のサーバの現在の通信状況が前記通信閾値を満たさないときは、任意の時間間隔で通信状況の判定をリトライする、
請求項１または２に記載の配信システム。
【請求項６】
前記導出部は前記第２のサーバおよび前記機器についてそれぞれ前記通信状況の履歴情報から複数の通信閾値を導出し、
前記判定部は、第１タイムアウト時間の到来前までは第１の通信閾値により判定を行い、前記第１タイムアウト時間の経過後、第２タイムアウト時間の到来前までは第２の通信閾値により判定を行い、
前記送受信部は、前記第２タイムアウト時間の経過後は判定部の判定によらず前記データの取得および送信を行う、
請求項１または２または５記載の配信システム。
【請求項７】
第１のサーバ、第２のサーバ、および１以上の機器がネットワークで接続され、
前記第１のサーバは、
前記第２のサーバおよび前記機器との間の通信状況をそれぞれ任意の時間間隔で取得し、
取得した通信状況の履歴情報を格納し、
前記第２のサーバおよび前記機器についてそれぞれ前記通信状況の履歴情報から通信閾値を導出し、
前記第２のサーバおよび前記機器についてそれぞれ現在の通信状況が前記通信閾値を満たすか否か判定し、
前記第２のサーバの現在の通信状況が前記通信閾値を満たす場合には前記第２のサーバからデータを取得し、前記機器の現在の通信状況が前記通信閾値を満たす場合には前記データを前記機器に送信し、
前記機器の現在の負荷が負荷閾値を満たすか否かをさらに判定し、
前記判定の結果が負荷閾値を満たすときに、前記機器に前記データの適用指示を行う、
配信方法。
【請求項８】
第１のサーバ、第２のサーバ、および１以上の機器がネットワークで接続された配信システムにおいて、
コンピュータに、
前記第２のサーバおよび前記機器との間の通信状況をそれぞれ任意の時間間隔で取得させ、
取得した通信状況の履歴情報を格納させ、
前記第２のサーバおよび前記機器についてそれぞれ前記通信状況の履歴情報から通信閾値を導出させ、
前記第２のサーバおよび前記機器についてそれぞれ現在の通信状況が前記通信閾値を満たすか否か判定させ、
前記第２のサーバの現在の通信状況が前記通信閾値を満たす場合には前記第２のサーバからデータを取得させ、前記機器の現在の通信状況が前記通信閾値を満たす場合には前記データを前記機器に送信させ、
前記機器の現在の負荷が負荷閾値を満たすか否かをさらに判定させ、
前記判定の結果が負荷閾値を満たすときに、前記機器に前記データの適用指示を行わせる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の有するデータを更新するためのシステム、方法、およびプログラムに関する。
【背景技術】
【０００２】
今日のシステムは極めて多数のサーバやネットワークスイッチ等の機器からなる。それらの機器の大半はソフトウェアにより制御されている。ソフトウェアは一般的にファームウェア、ＯＳ、アプリケーション等に分類されるが、それらは一般的に機能の追加や修正、セキュリティホールの修正等をすることができるよう、更新可能なものとなっている。
【０００３】
特許文献１では、ネットワークを通じて、複数のサーバのファームウェア情報を収集して一元的に管理し、ファームウェアのバージョン情報に基づいて更新の可否を判断し、更新が必要なサーバにのみ更新用ファームウェアを送信するシステムが開示されている。かかる発明は多数のサーバを一斉にファームウェア更新するのに適していると考えられるが、各サーバへの送付のタイミングが考慮されていないので、ネットワーク混雑時に負荷が増大するという課題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９‐１８７４５６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のように、ソフトウェアの更新にネットワークを利用することは今日では一般的に行われていることであり、かつ効率的なシステム運用に必須であるといえる。
【０００６】
しかしながら、ネットワークの混雑時にソフトウェア更新のためのデータの送信を実行すれば、ネットワーク負荷が上昇し、業務トラフィックがひっ迫する。また、機器が高負荷状態にもかかわらずデータを受信させ、ソフトウェアの更新処理をさせることで、機器にさらに負荷をかけてしまい、処理効率低下を招く。
【０００７】
本発明は、上記事情に鑑みてなされたものであり、管理者の手を煩わせることなく、ネットワークの混雑や機器の高負荷時間帯を避けてデータの送受信や機器の更新をすることで、上記問題を極小化することを目的とする。
【課題を解決するための手段】
【０００８】
本発明にかかる配信システムは、第１のサーバ１０、第２のサーバ２０、および１以上の機器３１ないし３ｎがネットワーク４０で接続され、第１のサーバ１０は、第２のサーバ２０および前記機器３１ないし３ｎとの間の通信状況をそれぞれ任意の時間間隔で取得する取得部１２と、取得部１２が取得した通信状況の履歴情報を格納する記憶部１１と、第２のサーバ２０および前記機器３１ないし３ｎについてそれぞれ前記通信状況の履歴情報から通信閾値を導出する導出部１３と、第２のサーバおよび前記機器３１ないし３ｎについてそれぞれ現在の通信状況が前記通信閾値を満たすか否か判定する判定部１４と、第２のサーバ２０の現在の通信状況が前記通信閾値を満たす場合には前記第２のサーバ２０からデータを取得し、前記機器３１ないし３ｎの現在の通信状況が前記通信閾値を満たす場合には前記データを前記機器３１ないし３ｎに送信する送受信部１５と、を有することを特徴とする。
【０００９】
本発明にかかる配信方法は、第１のサーバ１０、第２のサーバ２０、および１以上の機器３１ないし３ｎがネットワーク４０で接続され、第１のサーバ１０は、第２のサーバ２０および前記機器３１ないし３ｎとの間の通信状況をそれぞれ任意の時間間隔で取得し、取得した通信状況の履歴情報を格納し、第２のサーバ２０および前記機器３１ないし３ｎについてそれぞれ前記通信状況の履歴情報から通信閾値を導出し、第２のサーバ２０および前記機器３１ないし３ｎについてそれぞれ現在の通信状況が前記通信閾値を満たすか否か判定し、第２のサーバ２０の現在の通信状況が前記通信閾値を満たす場合には前記第２のサーバ２０からデータを取得し、前記機器３１ないし３ｎの現在の通信状況が前記通信閾値を満たす場合には前記データを前記機器３１ないし３ｎに送信することを特徴とする。
【００１０】
本発明にかかるプログラムは、第１のサーバ１０、第２のサーバ２０、および１以上の機器３１ないし３ｎがネットワーク４０で接続された配信システムにおいて、コンピュータに、前記第２のサーバ２０および前記機器３１ないし３ｎとの間の通信状況をそれぞれ任意の時間間隔で取得させ、取得した通信状況の履歴情報を格納させ、前記第２のサーバ２０および前記機器３１ないし３ｎについてそれぞれ前記通信状況の履歴情報から通信閾値を導出させ、前記第２のサーバ２０および前記機器についてそれぞれ現在の通信状況が前記通信閾値を満たすか否か判定させ、前記第２のサーバ２０の現在の通信状況が前記通信閾値を満たす場合には前記第２のサーバ２０からデータを取得させ、前記機器３１ないし３ｎの現在の通信状況が前記通信閾値を満たす場合には前記データを前記機器３１ないし３ｎに送信させることを特徴とする。
【発明の効果】
【００１１】
第１の効果は、ネットワーク４０の負荷を抑制できることにある。その理由は、導出部１３が現在のネットワーク４０の通信状況を過去の通信状況の履歴情報から判定するための閾値を生成し、判定部１４がその閾値によりデータを送受信するのに好適であると判定したときに、送受信部１５がデータを自動で送受信するからである。
【００１２】
第２の効果は、機器３１ないし３ｎの負荷を抑制できることにある。その理由は、判定部１４が機器３１ないし３ｎの負荷を閾値判定し、送受信部１５が機器３１ないし３ｎの負荷に応じて更新データの転送すること、および適用指示部１７が適用を指示することの、それぞれのタイミングを制御するからである。
【発明を実施するための形態】
【００１３】
（第１の実施の形態）
図１に、本発明の第１の実施形態の配信システムの構成を示す。第１のサーバ１０、第２のサーバ２０、機器３１ないし機器３ｎが、ネットワーク４０に接続されている。ネットワーク４０は、ローカルネットワークであってもインターネットであっても、あるいはそれらが混在していてもよい。ネットワーク４０は、図示しない有線または無線のネットワークスイッチ等により構成される。
【００１４】
本発明における機器について説明する。機器とは例えば、通信機能を持つネットワーク機器、サーバ機器、モバイル機器および組み込み機器等である。これらは、ソフトウェアで動作するものとする。本発明のソフトウェアは、ファームウェア、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、アプリケーション等を意味する。機器のソフトウェアは、更新プログラムを実行したり、ファイルを置換したりすることにより更新されることが可能であるとする。さらに機器の更新に必要なファイル等であるデータはネットワークを介して当該機器に送信することができるものとする。
【００１５】
第１のサーバ１０について説明する。第１のサーバ１０とは、第２のサーバ２０からデータを受信し、さらに当該データを機器３１ないし３ｎに送信するための、管理サーバである。第１のサーバ１０は、記憶部１１、取得部１２、導出部１３、判定部１４、送受信部１５、およびデータ格納部１６を備える。
【００１６】
第２のサーバ２０について説明する。第２のサーバ２０とは、第１のサーバ１０にデータを送信するための、更新プログラム配信サーバである。第２のサーバ２０は、送受信部２１、データ格納部２２を備える。第２のサーバ２０は第１のサーバ１０と通信可能であるものとする。好適な例では、第２のサーバ２０はインターネットに配備されネットワーク４０を介して第１のサーバ１０に公開されている。第２のサーバ２０はデータ格納部２２にデータを格納しているものとする。但し、第２のサーバ２０が自らデータを格納せずに他のサーバが格納するデータを中継して提供する手段を有してもよく、そうであっても本願発明の本質に何ら影響を与えない。
【００１７】
第２のサーバ２０が保持するデータについて説明する。データはその実体としてビット列を有するほか、属性情報を有する。属性情報の具体例を図２に示す。属性情報は少なくとも名前を有する。名前は可読文字列であってもよいし、情報を表す非可読ビット列であってもよい。属性情報はさらに重要度を有する。本実施形態において重要度は「大」または「小」である。本実施形態において重要度は第２のサーバ２０が決定する。但し第１のサーバ１０がデータの名前に基づいて重要度を判断する構成にしても構わない。
【００１８】
なお一般的に、異なる種類の機器は、異なるソフトウェアを有する。従って、本願発明の配信システムが複数の種類の機器を包含する場合には、属性情報は機器を特定する情報を有し、送受信部１５はその情報により特定される機器に対してのみデータを送信するようにしても構わない。
【００１９】
処理の全体の流れを図３のフローチャートＦ１００を用いて説明する。Ｆ１０１では、取得部１２が一定の間隔で取得した通信状況を、記憶部１１が時系列の情報として蓄積する。Ｆ１０２では、導出部１３が、Ｆ１０１で記憶部１１が蓄積した時系列の通信状況から、任意の通信状況を判定する閾値を導出する。Ｆ１０３では、判定部１４がＦ１０２で導出した閾値を使いＦ１０１で取得している現在の通信状況を判定し、送受信部１５は通信状況が判定基準を満たしたならば第２のサーバ２０からデータを受信する。Ｆ１０４では、送受信部１５が機器それぞれへＦ１０３において受信したデータを送信する。
【００２０】
以下に、この流れに沿ってそれぞれのステップを詳細に説明する。図３のＦ１０１を、図４のフローチャートＦ２００を用いて詳細に説明する。
【００２１】
取得部１２は、測定対象である第２のサーバ２０と機器３１ないし３ｎそれぞれについて、通信状況を任意の一定時間間隔で取得する（Ｆ２０１）。本実施形態において通信状況とは、第１のサーバ１０と測定対象の間の、エンドツーエンドのネットワークの実効通信速度［バイト毎秒］である。計測方法は例えば次の通りである。第１のサーバ１０の取得部１２がｐｉｎｇコマンドを実行して測定対象にＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）ＥＣＨＯパケットを送出する。その後、測定対象が対応していれば、取得部１２は当該測定対象からのＩＣＭＰ  ＥＣＨＯ  ＲＥＰＬＹパケットを受信する。ＩＣＭＰパケットはデータサイズを任意に変更可能である。送信開始から受信完了までの時刻の差を計測して所要時間とし、式（１）に当てはめることで、サーバ１と当該測定対象の間のネットワークの実効通信速度を大まかに推測することができる。
【００２２】
実効通信速度≒（データサイズ×２）÷所要時間［バイト毎秒］  ・・・（１）
例えば、データサイズが１００キロバイト、所要時間が１０ミリ秒の場合、２０メガバイト毎秒の実効通信速度であることが大まかに推測できる。本実施形態では、取得部１２は１時間間隔で実行通信速度を取得するものとする。なお実行速度は計測を実施したときの実測値であり、計測するたびに変化するものと考える。
【００２３】
なお、通信状況の取得の方法は、前述のＩＣＭＰパケットによる方法に限られない。例えば通信状況の取得には、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）等を利用可能である。
【００２４】
また、測定対象の通信状況の取得の別の手段として、当該測定対象と第１のサーバ１０の経路上の、それらいずれでもない中間のネットワーク機器の通信状況を代替で取得して利用することも可能である。そうすることにより、測定対象がＩＣＭＰ  ＥＣＨＯ  ＲＥＰＬＹを返却することができない場合などにおいても、通信状況を近似的に求めることが可能である。
【００２５】
取得部１２は次に、取得した通信状況を記憶部１１に格納し、記憶部１１は前記測定対象毎に、時系列の通信状況を保持する（Ｆ２０２）。本実施形態では、記憶部１１は機器それぞれについて過去１週間分の通信状況の情報を保持する。したがって、測定対象毎に１６８個（７日×２４時間）の通信状況の情報を保持することになる。なお通信状況は、逐次更新するものとする。
【００２６】
図５に記憶部１１が保持する通信状況の情報を例示する。記憶部１１は、テーブル１１ａを有する。テーブル１１ａは、測定対象である第２のサーバ２０と機器３１ないし機器３ｎを有する。時刻は２０１２年２月６日０時０分から開始し１時間間隔で取得部１２が通信状況を測定対象それぞれについて１週間分を取得し、記憶部１１がそれを保持している。
【００２７】
記憶部１１には異なる実施形態がありうる。機器の通信状況には閑散期と繁忙期が存在する可能性がある。閑散期とは、その機器がほとんど処理リクエストを受けることがない時期ないし期間を意味する。後述する導出部１３は通信状況を判定する閾値を導出する際に、閑散期のみを含む期間の情報から閾値を導出すると、その閾値は閑散期に適したものにはなるが、繁忙期には適するとは言えない。繁忙期の通信状況は全体的に閑散期のそれを上回り、閑散期で導出した閾値は繁忙期の判定には低すぎて適さず、その結果としてデータの送信が適切に行われないからである。そこで、記憶部１１は機器それぞれに、異なる時期における一定の期間の情報を別々に保持し、状況に応じて好適なものを提供できるようにしてもよい。
【００２８】
図３のＦ１０２を、図６のフローチャートＦ３００を用いて詳細に説明する。
【００２９】
導出部１３は記憶部１１に格納された通信状況の情報を読み取る（Ｆ３０１）。
【００３０】
次に１段階以上の閾値を導出する（Ｆ３０２）。本実施形態では閾値は２段階である。但し２以上に段階を増やしても構わない。
導出部１３は、２段階の閾値として、低い方をＴ１、高い方をＴ２として、Ｔ１とＴ２を決定する。その具体的方法は次の通りである。測定対象毎に、記憶部１１に蓄積されている過去の１週間分の通信状況の値を降順ソートし、１６８個の値を３等分すべく、５６番目のデータと５７番目のデータの中間がＴ２、１１２番目と１１３番目のデータの中間がＴ１となる。図７に具体例を示す。表１１ｂは、１週間の通信状況である１１ａを導出部１３の処理に従い降順ソートした結果である。第２のサーバ２０、機器３１および機器３ｎについての結果はそれぞれ、１１ｂ（１）、１１ｂ（２）、１１ｂ（３）である。
【００３１】
図８に導出部１３が導出した閾値１４ａを例示する。第２のサーバ２０について、Ｔ１は（３２＋２５）／２＝２８．５、Ｔ２は（５０＋５０）／２＝５０となる。また、閾値を手動で決めたい場合は通信状況のデータをユーザが直接確認して手動で設定してもよい。この処理で決定された第１のサーバ１０と各機器間の通信状況の閾値Ｔ１、Ｔ２は判定部１４が記憶する（Ｆ４０３）。
【００３２】
図３のＦ１０３を、図９のフローチャートＦ４００を用いて詳細に説明する。
【００３３】
送受信部１５は、第２のサーバ２０を定期的にポーリングするか、若しくは第２のサーバから通知を受信する等により、第２のサーバ２０に受信すべきデータが存在していることを知ると、Ｆ４００が開始する。そのダウンロードすべきデータの重要度を調べ、重要度が大であるときは、送受信部１５は第２のサーバ２０と通信を行い、第２のサーバ２０が保持するデータを受信し（Ｆ４０１およびＦ４０５）、重要度が大ではない場合は、Ｆ４０２に進む。
【００３４】
また判定部１４は、受信可否判定条件を有する。受信可否判定条件とはネットワーク４０が、第１のサーバ１０が第２のサーバ２０からデータを受信できる状態であるか否かを判定する基準である。初期の受信可否判定条件は「Ａ判定以上」とする（Ｆ４０２）。つまり通信状況がＡ判定である場合に受信を行う。なお、Ａ判定とは通信状況がＴ１未満であることを意味し、Ｂ判定とは通信状況がＴ１以上Ｔ２未満であることを意味し、Ｃ判定とは通信状況がＴ２以上であることを意味する。
【００３５】
取得部１２は、一定時間間隔で現在の第２のサーバとの間の測定対象の通信状況を取得する（Ｆ４０３）。
【００３６】
判定部１４は取得した通信状況を、閾値を用いて受信可否判定条件を満たすか否か判定する（Ｆ４０４）。ここで通信状況がＡ判定であった場合には、送受信部１５は第２のサーバ２０と通信を行い、第２のサーバ２０が保持するデータを受信する（Ｆ４０５）。ダウンロードしたデータは、データ格納部１６に格納する。
【００３７】
判定結果がＡ判定ではなかった場合には、１分間隔で５回を上限としてＦ４０６、Ｆ４０７およびＦ４０８を繰り返し、１分毎の通信状況を閾値と受信可否判定条件を用いて判定する。繰り返しの途中で一度でもＡ判定が得られた場合にはデータを受信する。５回連続でＡ判定が得られなかった場合には、タイムアウト時間の経過が開始する（Ｆ４０６）。なお、タイムアウト時間は、Ｆ４０６における最初のＹＥＳが実行された場合に開始するものとする。
【００３８】
上記に引き続き、第２タイムアウトが経過したか否かを判定する（Ｆ４０８）。経過した場合には、たとえその時点で受信可否判定条件を満たしているか否かにかかわらず、データ受信が実行される（Ｆ４０５）。第２タイムアウトが経過していない場合には、第１タイムアウトが経過しているか否かを判定する（Ｆ４０９）。第１タイムアウトが経過していた場合には、受信可否判定条件を「ＡまたはＢ判定以上」と設定してＦ４０３から開始する。第１タイムアウトが経過していない場合には、受信可否判定条件を変更することなくＦ４０３に戻る。再度通信状況が受信可否判定条件を満たさず、Ｆ４０６が実行されるときには、新たに５回を上限とするＦ４０６、Ｆ４０７およびＦ４０８が実行される。
【００３９】
判定部１４と送受信部１５は、第２のサーバ２０から受信すべきデータが無くなるまで上記処理を継続するものとする。
【００４０】
図３のＦ１０４を、図１０のフローチャートＦ５００を用いて詳細に説明する。
Ｆ１０３においてデータを受信すると、そのデータを機器３１ないし３ｎそれぞれに送信するために、それぞれの送信ごとにＦ５００が開始される。
【００４１】
送受信部１５は、第２のサーバ２０から受信したデータを確認し、データの重要度が大であるときは、通信状況によらず当該データを当該機器に送信する（Ｆ５０１およびＦ５０５）。データの重要度が大ではない場合は、Ｆ５０２に進む。
【００４２】
取得部１２は、一定時間間隔で機器３１ないし３ｎそれぞれとの間の測定対象の現在の通信状況を取得する（Ｆ５０３）。
【００４３】
判定部１４は、送信可否判定条件を有している。送信可否判定条件とは、ネットワーク４０が、送信対象である機器に対して第１のサーバ１０がデータを送信できる状態であるか否かを判定する基準である。初期の送信可否判定条件は「Ａ判定以上」とする（Ｆ４０２）。つまり機器の通信状況がＡ判定である場合に送信を行う。判定部１４は送信対象の機器についてその機器の通信状況を、その機器に対応する閾値を用いて送信可否判定条件を満たすか否か判定する（Ｆ５０４）。なお判定ＡないしＣの定義は、前述のとおりである。
送信可否判定条件がＡ判定であった場合には、送受信部１５は当該機器と通信を行い、データを当該機器に送信する（Ｆ５０５）。
【００４４】
判定結果であるＡ判定ではなかった場合には、１分間隔で５回を上限としてＦ５０６、Ｆ５０７およびＦ５０８を繰り返し、１分毎の通信状況を閾値と送信可否判定条件を用いて判定する。繰り返しの途中で一度でもＡ判定が得られた場合にはデータを送信する。５回連続でＡ判定が得られなかった場合には、タイムアウト時間の経過が開始する（Ｆ５０６）。なお、タイムアウト時間は、Ｆ５０６における最初のＹＥＳが実行された場合に開始するものとする。
【００４５】
上記に引き続き、第２タイムアウトが経過したか否かを判定する（Ｆ５０８）。経過した場合には、たとえその時点で送信可否判定条件を満たしているか否かにかかわらず、データ送信実行がなされる（Ｆ５０５）。第２タイムアウトが経過していない場合には、第１タイムアウトが経過しているか否かを判定する（Ｆ５０９）。第１タイムアウトが経過していた場合には、送信可否判定条件を「ＡまたはＢ判定以上」と設定して、Ｆ５０３から開始する（Ｆ５０９およびＦ５１０）。第１タイムアウトが経過していない場合には、送信可否判定条件を変更することなくＦ５０３に戻る。
【００４６】
当該機器に送信するデータは、過去に送信したことがあるか否かを、送信したデータを記録する送信履歴表を確認し、過去に送信したことが無い場合に限り送信するとしてもよい。
【００４７】
（第１の実施の形態の効果）
ネットワーク４０の負荷を抑制できることにある。その理由は、導出部１３が現在のネットワーク４０の通信状況を過去の通信状況の履歴情報から判定するための閾値を生成し、判定部１４がその閾値によりデータを送受信するのに好適であると判定したときに、送受信部１５がデータを自動で送受信するからである。
【００４８】
（第２の実施の形態）
機器には、処理リクエストに応じ負荷が発生する。負荷とは例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の使用率（％）、メモリの使用率（％）、ディスクＩ／Ｏ数（ＩＯＰＳ）、ネットワークインタフェースの単位時間当たりの転送量（Ｂｙｔｅｓ毎秒）、電力消費量（Ｗ）などを意味する。
【００４９】
このような負荷は、前述のデータ送信にも伴い上昇する。従ってデータの送信により、本来業務処理に処理効率の低下などの影響を及ぼす。ソフトウェアの更新は緊急性等を鑑みて必ずしも即時実施をしなくてもよいものもある。かかる更新は機器への処理リクエストが減ってから実施しても遅くはない。そこで本実施形態では機器の負荷が高い場合には、負荷が低くなるまでソフトウェアの送信を待ち合わせることをする。
【００５０】
第２の実施例では、図１０における分岐Ｆ５０４は、通信状況が判定条件を満たすことに加え、機器の負荷が一定の閾値を満たすことを条件とすることを特徴とする。機器の負荷は手動で設定してもよい。
【００５１】
（第２の実施の形態の効果）
機器３１ないし３ｎの負荷を抑制できることにある。その理由は、判定部１４が、機器３１ないし３ｎの負荷を閾値判定し、送受信部１５が機器３１ないし３ｎの負荷に応じて更新データの転送することを制御するからである。
【００５２】
（第３の実施の形態）
図１１に、本発明の第３の実施形態の配信システムの構成を示す。
【００５３】
図１１に示すように、本実施形態の配信システムは、図１に示した第１の実施形態と比較して、第１のサーバ１０に適用指示部１７を設けている点が異なっている。他の構成要素については、第１の実施形態と同様であるため、図１と同様の符号を付し説明を省略する。
機器に送信したデータを当該機器に適用させるには、具体的には、例えば、Ｔｅｌｎｅｔ（Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  ｎｅｔｗｏｒｋ）やＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）で機器にログインして、当該データを適用するコマンドを実行する。これにより、機器のソフトウェアやファームウェアが更新され、機能の追加や更新、セキュリティホールの修正がなされる。しかし、データの適用に伴う処理がそのホストの負荷を増大させることが考えられる。そこで、適用指示部１７は機器の負荷をなるべく増大させないようにしつつデータの適用の指示を実行する。
【００５４】
図１２を用いて処理の流れを説明する。適用指示部１７は、機器が未適用データを保持していることを把握する（Ｆ６００）。適用指示部１７は次に、当該未適用データが、データ重要度が大であるか否かを判断する（Ｆ６０１）。大である場合には、機器の負荷によらず前述の方法によりデータ適用の指示を実行する（Ｆ６０２）。大ではない場合、機器の負荷が負荷閾値を満たすか否かを判断する（Ｆ６０３）。
【００５５】
閾値を満たさない場合には、所定の時間待ち合わせる（Ｆ６０４）。本実施形態では１分間としているが、これに限らない。負荷閾値を満たすまで、判断（Ｆ６０３）と待ち合わせ（Ｆ６０４）を繰り返す。
【００５６】
以上により、機器の負荷が低いときにデータを適用することで、負荷の増大を抑え、処理効率の低下が発生することを低減することができる。
【００５７】
（第３の実施の効果）
機器３１ないし３ｎの負荷を抑制できることにある。その理由は、送受信部１５が、機器３１ないし３ｎの負荷を閾値判定し、送受信部１５が機器３１ないし３ｎの負荷に応じて更新することのタイミングを制御するからである。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施形態の構成を示すブロック図である。
【図２】本発明の第１の実施形態のデータの属性情報を示す図である。
【図３】本発明の第１の実施形態の処理の流れを示すフローチャートである。
【図４】本発明の第１の実施形態の取得部１２が一定の間隔で取得した通信状況を、記憶部１１が時系列の情報として蓄積する処理の流れを示すフローチャートである。
【図５】本発明の第１の実施形態の記憶部１１が保持する通信状況の情報を例示する図である。
【図６】本発明の第１の実施形態の導出部１３が、Ｆ１０１で記憶部１１が蓄積した時系列の通信状況から、任意の通信状況を判定する閾値を導出する処理の流れを示すフローチャートである。
【図７】本発明の第１の実施形態の記憶部１１に蓄積されている過去の１週間分の通信状況の値の降順ソートを例示する図である。
【図８】本発明の第１の実施形態の導出部１３が導出した閾値１４ａを例示する図である。
【図９】本発明の第１の実施形態の判定部１４が、Ｆ１０２で導出した閾値を使い、Ｆ１０１で取得している現在の通信状況を判定し、通信状況が判定基準を満たしたならば、送受信部１５が第２のサーバ２０からデータを受信する処理の流れを示すフローチャートである。
【図１０】本発明の第１の実施形態の送受信部１５が機器それぞれへＦ１０３において受信したデータを送信する処理の流れを示すフローチャートである。
【図１１】本発明の第３の実施形態の構成を示すブロック図である。
【図１２】本発明の第３の実施形態の処理の流れを示すフローチャートである。
【符号の説明】
【００５９】
１０    第１のサーバ
１１    記憶部
１２    取得部
１３    導出部
１４    判定部
１５    送受信部
１６    データ格納部
１７    適用指示部
２０    第２のサーバ
２１    送受信部
２２    データ格納部
４０    ネットワーク
３１ないし３ｎ    機器
【図１】
0006015057.tif 000002
【図２】
0006015057.tif 000003
【図３】
0006015057.tif 000004
【図４】
0006015057.tif 000005
【図５】
0006015057.tif 000006
【図６】
0006015057.tif 000007
【図７】
0006015057.tif 000008
【図８】
0006015057.tif 000009
【図９】
0006015057.tif 000010
【図１０】
0006015057.tif 000011
【図１１】
0006015057.tif 000012
【図１２】
0006015057.tif 000013