JP2004206390A - ソフトウェア管理装置及びソフトウェア管理サーバ - Google Patents

ソフトウェア管理装置及びソフトウェア管理サーバ Download PDF

Info

Publication number
JP2004206390A
JP2004206390A JP2002374539A JP2002374539A JP2004206390A JP 2004206390 A JP2004206390 A JP 2004206390A JP 2002374539 A JP2002374539 A JP 2002374539A JP 2002374539 A JP2002374539 A JP 2002374539A JP 2004206390 A JP2004206390 A JP 2004206390A
Authority
JP
Japan
Prior art keywords
software
embedded device
time zone
time
transition state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002374539A
Other languages
English (en)
Inventor
Takeshi Higuchi
毅 樋口
Tatsuya Tsurukawa
達也 鶴川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002374539A priority Critical patent/JP2004206390A/ja
Publication of JP2004206390A publication Critical patent/JP2004206390A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】組み込み機器に配布するソフトウェアの配信処理に適した時間の抽出を行う。
【解決手段】サーバよりネットワークを介して送信されたソフトウェアを受信して組み込み機器に適用するソフトウェア管理装置であって、上記組み込み機器の稼働状況を取得して上記ソフトウェアの更新に適する時間帯を算出する状況監視手段と、上記時間帯に基づいて、上記ソフトウェアを取得し、さらに上記組み込み機器への適用を指示する更新制御手段とを備えたソフトウェア管理装置を提供する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、組み込み機器において動作するソフトウェアを更新するための装置および組み込み機器において動作するソフトウェアを更新管理するためのサーバ装置に関するものである。
【0002】
【従来の技術】
近年の半導体製造技術や情報処理技術などの向上に伴ない、コンピュータの処理能力が大幅に高くなっており、かつ、コンピュータの小型化や低価格化も日々進行している。また、ネットワーク技術の向上に伴い、インターネットの普及やブロードバンド化が進んでいる。このような背景の下、例えば携帯電話のように、従来専用装置として設計され、単一の機能しか備えていなかった機器に、汎用的なCPU(中央演算装置)を内蔵させ、コンピュータなどにも用いられている基本ソフトウェアなどを用いることにより、コンピュータと同様に複数のアプリケーションソフトウェアを動作させ、より複雑な処理を行わせるようになっている。これらの機器は、潜在的には通常のパーソナルコンピュータやワークステーションと遜色ない機能を有しているが、キーボード装置やディスプレイ装置などのマンマシンインターフェースを省略することで、主として専用機能を果たすような利用形態で用いられている。このような機器は、一般に組み込み機器と呼ばれることが多い。
【0003】
このように、各機器が複雑な処理を行うようになると、その処理を行うソフトウェアも複雑化してくるため、品質や信頼性の維持が問題となってくる。例えば、これらの機器上で動作するソフトウェアに不具合があった場合、これらの組み込み機器は、前述の通りマンマシンインターフェースを持たないことが多いので、通常のコンピュータのように手軽にソフトウェアの更新を行うことができない場合が多い。
【0004】
またこのような組み込み機器は、無人運転されている場合などもある。そのため、ソフトウェアのアップデートのために、ネットワークを用いた遠隔更新が行う要求が高い。さらに、これらの機器は専用機器であるという性格を有しているため、24時間自動運転されている場合が多く、ソフトウェアを更新するために、その機能を停止するには注意を要する場合が多い。
【0005】
そこでソフトウェアを更新しても、その組み込み機器が関連する業務やシステム全体に支障を来さない所定の時間帯を予め見い出し、この時間帯を利用してソフトウェアを更新する手段が開示されている(例えば特許文献1)。
【0006】
【特許文献1】
特開2000−148455(第5−6頁、第1図)
【0007】
【発明が解決しようとする課題】
しかしながら、上述の方法においても以下のような問題がある。すなわち、ソフトウェアの更新を行う時間が所定の時間帯に固定されているため、緊急事態の発生などのために、その時間帯に組み込み機器がソフトウェアの更新を行うことができない場合にもソフトウェアの更新を行ってしまい、その組み込み機器が関連する業務やシステム全体に支障を来すおそれがある。また、組み込み機器にソフトウェアを配信するサーバ側の負荷分散を考慮していないために、ソフトウェア配信対象となる組み込み機器が多数存在し、同時に更新要求を行う場合には、サーバやネットワークの負荷が増大してしまう。
【0008】
本発明は、組み込み機器用のソフトウェア管理装置およびソフトウェア管理サーバによって、ソフトウェア配信可能な時間帯を検出し、ソフトウェアの配信を組み込み機器本来の処理に影響することなく確実に行えるようにするものである。
【0009】
【課題を解決するための手段】
本発明に係るソフトウェア管理装置は、
サーバよりネットワークを介して送信されたソフトウェアを受信して組み込み機器に適用するソフトウェア管理装置であって、
上記ソフトウェア管理装置は、
上記サーバより上記ソフトウェアを取得するソフトウェア取得手段と、
上記ソフトウェアを上記組み込み機器に適用するソフトウェア更新手段と、
上記組み込み機器の稼働状況を取得して上記ソフトウェアの更新に適する時間帯を算出する状況監視手段と、
上記時間帯に基づいて、上記ソフトウェア取得手段に上記ソフトウェアの取得を指示し、さらに上記ソフトウェア更新手段に上記ソフトウェア取得手段により取得した上記ソフトウェアの上記組み込み機器への適用を指示する更新制御手段とを備えるものである。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
実施の形態1.
図1は、本発明の実施の形態1における組み込み機器とソフトウェア管理装置、及びソフトウェア管理サーバを示した構成図である。図において、組み込み機器1は、実施の形態1におけるソフトウェア管理装置の処理対象となる機器である。ソフトウェア管理装置2(以後、管理装置2という)は、組み込み機器1のソフトウェアを更新する機能を有する部位であって、組み込み機器1の部品または組み込み機器1に組み込まれてたCPUによって実行されるプログラムとして実現されている。ただし管理装置2は、必ずしも組み込み機器1と一体となっている必要はなく、組み込み機器1とLAN(Local Area Network)やRS−232Cインターフェースによって接続されていてもよい。
【0011】
管理装置2において、通信手段3は、ネットワークを介して情報(データ)を送受信できる部位であって、具体的にはLANアダプタやLANアダプタに相当する機能をワンチップ化したLSIなどによって実現されている。ただし、通信手段3は、ネットワークを介して情報を送受信できるようになっていればよいのであって、そのような条件を満たすものであれば、モデム装置その他の通信装置であってもよい。ソフトウェア取得手段4は、組み込み機器1のCPUによって実行されるプログラムを通信手段3を介して取得する部位であって、具体的にはコンピュータプログラムとして実現されている。ソフトウェア更新手段5は、組み込み機器1で実行されるソフトウェアを実際に置き換えて、かつ組み込み機器1にこのソフトウェアの実行を指示する機能を有する部位である。このような処理を、一般に「ソフトウェアの適用」と呼ぶことが多い。ソフトウェア更新手段5が更新対象としているソフトウェアは、更新前においてすでに組み込み機器1によって実行されていることも想定される。このような場合には、更新対象となるソフトウェアの実行を一旦停止又は終了させた上で、このソフトウェアの新しいバージョンを適用することとなる。状況監視手段6は、組み込み機器1の稼働状況を取得する部位である。稼働状況とは、例えば組み込み機器1のCPUの使用率(または負荷状況)などの情報である。CPUの使用率をモニタリングするためには、例えば入出力処理を完了させるための待機時間を監視し、全時間からこの待機時間の合計を減算し、これを全時間で除算すればよい。または組み込み機器1が搭載しているオペレーティングシステムが、CPUの使用率をモニタリングする機能を有している場合には、その機能の出力結果を利用してもよい。更新制御手段7は、ソフトウェアの新しいバージョンの取得をソフトウェア取得手段4に指示し、さらに取得したソフトウェアの適用をソフトウェア更新手段5に指示する部位である。
【0012】
ネットワーク10は、管理装置2とサーバを接続するためのネットワークであって、管理装置2の通信手段3がデータを送受信するための媒体となるものであるが、このネットワークは無線であってもよい。組み込み機器用ソフトウェア管理サーバ11(以後、サーバ11と呼ぶ)は、組み込み機器1で実行されるソフトウェアを配信するためのサーバであって、図示せぬCPUを有するコンピュータによって実現される。サーバ11において、通信手段12は、ネットワーク10を介してデータを送受信する部位であり、機能としては通信手段3と同様であるので、説明を省略する。通知手段13は、管理装置2に各種の情報を通知する部位であって、例えばソフトウェアの更新に適する時間帯に関する情報を通知したり、サーバ11の図示せぬ記憶装置に組み込み機器1用のソフトウェアであって、現在配布されているソフトウェアよりも新しいバージョンが存在する場合には、通信手段12を介して管理装置2にそのことを通知するなどの作用を有する。ソフトウェア配信手段14は、サーバ11が記憶している組み込み機器1用のソフトウェアの新しいバージョンを通信手段12を介して管理装置2に送信するための部位である。記憶装置15は、組み込み機器1用のソフトウェアを記憶するための装置であって、具体的にはハードディスク装置などの不揮発性記憶装置によって実現される。
【0013】
次に実施の形態1におけるソフトウェア更新処理について説明する。図2は、実施の形態1におけるソフトウェア更新処理のフローチャートである。ステップS101において、サーバ11上の通知手段13は、現在組み込み機器1が実行しているソフトウェアよりも新しいバージョンのソフトウェアがサーバ11の記憶装置15上に導入されたことを検出すると、そのことを管理装置2に通知する。またこれと同時に、ソフトウエアの配信に要する時間とソフトウェアの適用に要する時間も通知する。このような処理を行うための前提として、サーバ11は現在組み込み機器1で実行しているソフトウェア、すなわち最後にサーバ11が組み込み機器1に配布したソフトウェアのバージョンを取得あるいは記憶していることになる。
【0014】
ただし、このようなバージョン情報を記憶しておくことは、サーバ11を実現するために必須ではなく、例えば組み込み機器1上のソフトウェアのバージョン管理はオペレータ等が行うこととし、通知手段13はサーバ11の記憶装置15上に何らかのバージョンによる組み込み機器1用のソフトウェアが存在していることを検出すると無条件に、管理装置2に配布すべきソフトウェアが存在することを通知するような構成としてもよい。また、現時点で組み込み機器1が実行しているソフトウェアのバージョンを通信手段12を介して取得し、サーバ11上の記憶装置15に存在する組み込み機器1用のソフトウェアのバージョンとを比較した上で、サーバ11上の記憶装置15に存在するソフトウェアのバージョンの方が新しい場合には、管理装置2に通知するような構成としてもよい。
【0015】
なお、バージョン情報としては、ソフトウェアの実体であるプログラムの実行可能ファイルのタイムスタンプを採用してもよいし、プログラムの実行可能ファイルを生成する場合に、コンパイラ等がこの実行可能ファイルのヘッダに埋め込むバージョン番号やビルド番号などを利用してもよい。また、ソフトウエアの配信に要する時間とソフトウェアの適用に要する時間については、オペレータ等が事前にテスト環境で計測した時間に基づいて指定する。
【0016】
ステップS102において、管理装置2上の更新制御手段7は、ソフトウェアの送信可能時間帯の検出を行う。ソフトウェアの送信可能時間帯とは、ネットワーク10を介して、組み込み機器1用のソフトウェアの実行可能ファイルをサーバ11から管理装置2に送信するのに十分な長さの時間帯をいう。このような時間帯は、組み込み機器1が使用できるネットワーク10の帯域幅が制限されている場合に問題になる。例えば、組み込み機器1がネットワーク10のトラフィックを監視するための機器である場合には、組み込み機器1のソフトウェアを配布するために発生するネットワークトラフィックが、本来の監視対象であるトラフィックに極力影響しないようにする必要がある。またネットワーク10の帯域幅が狭く、かつ他の機器が多数接続されている状態であって、組み込み機器1用ソフトウェアの更新のために他の機器の処理が影響を受けるような時間帯にソフトウェアの配布を行うことを避ける必要がある。
【0017】
このような時間帯を検出するために、更新制御手段7はネットワーク10のトラフィック量を、例えば1分おき、または10分おきなど定期的にモニタする。そして1日または1週間など所定の期間の間採取したトラフィック量の中で、最小となる時間帯を検出し、その時間帯をソフトウェアの送信可能時間とする。したがって例えば土曜日の午前2:00〜4:00が最もトラフィック量が少ないことを検出した場合には、次に到来する土曜日の午前2:00〜4:00がここでの時間帯に相当することになる。
【0018】
このように過去の履歴に基づいて、将来のソフトウェアの送信可能時間帯を予測しうる理由は、実施の形態1の組み込み機器1がいわゆる専用機器として用いられているためである。これらの専用機器は、通常無人運転環境下に置かれており、したがってある一定周期ごとにこのようなネットワークトラフィック量が小さくなる時間帯が到来することが予測できる。また携帯電話のように無人運転環境にはない機器であっても、携帯電話の利用者の生活パターンや使用パターンに応じて、例えば夜間は使用頻度が下がる、というような特定の利用形態が存在する場合が多い。更新制御手段7は、このような時間帯をトラフィック量に基づいて算出するものである。
【0019】
なおこの他に、このような処理を管理装置2によってではなく、サーバ11で実行する構成も考えられる。この場合には、サーバ11上で採取したネットワーク10のトラフィック量の中で、最もトラフィック量の少ない時間帯を選択し、この時間帯をステップS101における通知に合わせて各組み込み機器の管理装置2に送信するようにしてもよい。またソフトウェアの送信可能時間帯の検出処理はサーバ11を構成する上では必須ではない。例えば、組み込み機器1の機能がネットワークトラフィックに依存しない場合、あるいはシステムの性質上特にネットワークトラフィックの小さくなる時間帯の存在が予測できない場合などは、特に時間帯を定めずにソフトウェアの送信をすることになる。
【0020】
次に上記時間帯の到来とともに、ステップS103において、管理装置2の更新制御手段7は、サーバ11に対して新しいソフトウェアの配信依頼を行う。ステップS102で説明したように、送信可能時間帯の算出を行わない場合には、ステップS101の直後にこの処理を実行してもよい。また送信可能時間帯の算出をサーバ11で実行した場合には、この処理を省略して、サーバ側で送信可能時間帯の到来を待った後に、次のステップS104の処理を実行してもよい。
【0021】
続いて、ステップS104において、サーバ11のソフトウェア配信手段14は、組み込み機器1用のソフトウェアの配信をソフトウェア取得手段4に対して行う。ソフトウェアの配信はネットワーク10を介してプログラムの実行可能ファイルをTCP/IPのftp(File Transfer Protocol)などの手順によるファイル転送によって行われる。
【0022】
ここで、ファイル転送によって取得したソフトウエアのプログラム実行可能ファイルは、図示せぬ一時記憶領域に記憶させることとする。この一時記憶領域は、組み込み機器1がこのソフトウェアを起動するために参照するプログラム実行可能ファイルが記憶されている記憶領域とは異なる領域である。
【0023】
なお、これまで説明してきたステップS101〜S103の処理を省略して、最初からステップS104を実行するような構成としてもよい。例えば管理装置2側ではなく、サーバ11側で送信可能時間帯を算出するような構成を採用した場合は、管理装置2側でソフトウェア配信のための特別な準備を必要としないので、ステップS101の通知処理も省略することができる。このような場合には、最初からステップS104を実行するという構成を採ることで、構成を単純化することも可能である。
【0024】
次に、ステップS105において、更新制御手段7は更新可能時間の検出を行う。更新可能時間の検出方法は、組み込み機器1の用途・性質によってさまざまな方法が考えられるが、ここでは組み込み機器1に搭載されたCPUの稼働状況に基づいて、更新可能時間帯を算出する方法について説明する。
【0025】
まず状況監視手段6は、組み込み機器1に搭載されたCPUの稼働状況(使用率)を予め監視しておく。ここで、CPUの稼働状況とは、所定の稼働時間単位、例えば1秒おき、あるいは1分おきごとに、その時間内に行われた入出力処理の完了待機やSleepシステムコール(プログラムが意図的に一定時間実行を遅延させる処理)、イベント待機のためにCPUがアイドル状態になる時間(アイドル時間)を総計し、前述した所定の稼働時間からこのアイドル時間を減算した残りの時間が、前述した所定の稼働時間に占める割合をいう。
【0026】
例えば、センサからの信号を処理するようなシステムである場合、センサからの信号は入出力処理に相当するので、センサからある信号が入力された後、次の信号が入力されるまでの間はアイドル時間となる。その他前述したとおり、組み込み機器1で動作しているオペレーティングシステムが出力するCPU使用率を稼働状況として取得してもよい。
【0027】
更新制御手段7は、この稼働状況を1日あるいは1週間、1ヶ月などの周期で集積し、最も稼働状況の低い期間を検出する。ソフトウェアの更新に要する時間以上の長さを有する期間を更新可能時間帯として算出する。その結果、次の周期における同一の時間帯が更新可能時間帯として使用される。
【0028】
次に更新制御手段7が算出した更新可能時間帯が到来すると、ステップS106において更新制御手段7は、ソフトウェア更新手段5に指示を行い、ソフトウェア取得手段4が取得した新しいバージョンのソフトウェアを組み込み機器1に適用する。適用処理を開始した時点で、古いバージョンのソフトウェアが組み込み機器1によって実行されている場合には、一度その実行を終了させる。そしてソフトウェア取得手段4は、一時記憶領域に記憶されている新しいバージョンのソフトウェアを、組み込み機器1が参照する記憶領域に記憶されているプログラムの実行可能ファイルを上書きし、さらにソフトウェアを起動する。
【0029】
ここで、組み込み機器1の機能がこのソフトウェアのみの起動によっては完全に回復しない場合には、更新制御手段7は、組み込み機器1全体を再起動し、その後に続いてソフトウェアの起動を行う。このような場合、上述したソフトウェアの更新に要する時間とは、再起動を含む時間となる。この時間はステップS101の通知処理に伴って管理装置2に伝えられたものであるが、ステップS101を省略するような構成とした場合には、ステップS104のソフトウェアの配信処理の前後に、適用に要する時間の長さをサーバ11が通知するような構成としてもよい。
【0030】
続くステップS107において、更新制御手段7は、更新完了通知をサーバ11のソフトウェア配信手段14に対して行う。ステップS108において、ソフトウェア配信手段は、この更新完了通知を受けて、更新完了確認を行う。更新完了確認は、記憶装置15にそのソフトウェアが組み込み機器1について配信を完了したことを示すフラグを記憶させることによって行われる。
【0031】
以上から明らかなように、実施の形態1によるソフトウェア管理装置とソフトウェア管理サーバによれば、組み込み機器1の稼働状況に応じて、動的にソフトウェアの配信時間及びソフトウェアの適用時間を決定することができる。
【0032】
なお、上記においては、ソフトウェアの配信処理とソフトウェアの適用処理又は更新処理を別のステップとして扱い、ソフトウェア取得手段4が取得したソフトウエアのプログラム実行可能ファイルを一時記憶領域に一旦記憶させた上で、後にこのプログラム実行可能ファイルを組み込み機器1の参照する記憶領域のプログラム実行可能ファイルに上書きする構成としたが、この他にソフトウェア取得手段4が直接的に組み込み機器1の参照する記憶領域のプログラム実行可能ファイルに上書きする構成とすることも可能である。ただし、このような構成とするためには、ソフトウェアの配信までも更新可能時間帯に行う必要があるので、更新可能時間帯の時間長さにファイル転送の時間を含める必要がある。
【0033】
実施の形態2.
次に本発明の実施の形態2における組み込み機器とソフトウェア管理装置、及び組み込み機器用ソフトウェア管理サーバについて説明する。図3は、実施の形態2における組み込み機器とソフトウェア管理装置、及びソフトウェア管理サーバの構成図である。図において、イベント源8は組み込み機器1の稼働状況を表す情報であって、組み込み機器1の状態に応じてさまざまなイベントを発生する。稼働状況取得手段16は、通信手段12を介して管理装置2から組み込み機器1の稼働状況を取得するための部位であり、具体的には、図示せぬCPUによって実行されるコンピュータプログラムによって構成される。更新時間帯算出手段17は、稼働状況取得手段16が取得した組み込み機器1の稼働状況に基づいて、ソフトウェアの更新処理を実行する時間帯を算出し、稼働状況取得手段16と同じくコンピュータプログラムによって構成される。なお、実施の形態1と同じ符号を付した構成要素については、実施の形態1と同様であるので、説明を省略する。
【0034】
次に実施の形態2におけるソフトウェア更新処理について説明する。図4は、実施の形態2におけるソフトウェア更新処理のフローチャートである。図のステップS201において、管理装置2の状況監視手段6は、イベント源8が発生するイベントを、通信手段3によりサーバ11の稼働状況取得手段16に送信する。例えば、組み込み機器1が自動車を制御するコンピュータであり、イベント源8が自動車の運転状況を監視するセンサである場合、エンジンの始動、エンジンの停止、自動車の発信、自動車の停止などといったイベントを発生する。状況監視手段6は、このような情報を取得して稼働状況取得手段16に送信する。
【0035】
ステップS202において、稼働状況取得手段16はステップS201により状況監視手段6から送信されてくるイベントを履歴情報として蓄積する。イベントの蓄積は記憶装置15にイベントを記憶させることによって行われ、それぞれのイベントは発生時間とイベントの内容が関連づけられる形で記録される。またそれと同時に、イベント源8から出力されるイベントに基づいて、組み込み機器1の状態を遷移状態として求め、これを各イベントに関連づけて履歴情報に記憶させる。図5に、稼働状況取得手段16が記録する履歴情報の例を示す。図において、カラム211はそのイベントの発生した時刻を示すものであり、カラム212はイベントの種類、カラム213は遷移元状態、カラム214は遷移先状態である。ここで、遷移元状態とはイベントが発生する前の自動車の運行状態であり、遷移先状態とはイベント発生後の自動車の運行状態である。
【0036】
次にステップS203において、更新可能時間帯の算出を行う。図5で示した履歴情報の場合、各イベントが隣接しているレコードであるとすると、あるレコードの遷移先状態とそのレコードの次のレコードの遷移元状態は同じ状態になる。例えば、一のレコードの遷移先状態が「エンジン稼働」である場合には、その次のレコードの遷移元状態は「エンジン稼働」となる。したがってこれに基づき、一のレコードの発生日時とその次のレコードの発生日時との差を算出することにより、「エンジン稼働」であった状態の時間長さ(遷移状態の持続時間)を取得することができる。このようにして、各遷移状態の持続時間の最小値を算出し、その平均値がソフトウェアの配信処理に要する時間以上となる遷移状態を検出する。例えば前掲の自動車の運行状態において、各遷移状態の持続時間の最小値が図6のようになったとする。ソフトウェアの更新処理に要する時間が30秒であるとすると、「エンジン停止」状態あるいは「前進」状態にある場合にソフトウェアの更新処理を実行するのが最適であることが分かる。
【0037】
次にステップS204において更新可能イベントが到来した場合、すなわち前掲の例でいえば、「エンジン停止」状態あるいは「前進」状態が到来した場合に、サーバ11のソフトウェア配信手段14は、管理装置2のソフトウェア取得手段4に対してソフトウェアの配信を行う。ソフトウェア取得手段4は、取得したソフトウェアのプログラム実行ファイルを組み込み機器1が参照する記憶領域とは異なる一時領域に記憶させる。
【0038】
続いてステップS205において、管理装置2のソフトウェア更新手段5は、ソフトウェア取得手段4が取得したソフトウェアを組み込み機器1に適用する。そのために、ソフトウェア更新手段5は現在組み込み機器1が実行しているソフトウェアの実行を終了させ、次に一時領域に記憶されていたプログラム実行ファイルを組み込み機器1が参照する記憶領域に上書きする。
【0039】
次にステップS206において、ソフトウェア更新手段5は、通信手段3を介してサーバ11のソフトウェア配信手段14に対し、更新完了通知を行う。続いてサーバ11のソフトウェア配信手段14は、この更新完了通知を受けて、更新完了確認を行う。更新完了確認は記憶装置15にそのソフトウェアが組み込み機器1について配信を完了したことを示すフラグを記憶させることによって行われる。以上が、実施の形態2によるソフトウエア配信処理である。
【0040】
なお上記では、自動車の運行状態の遷移を例にして、ソフトウェア配信に適する時間帯の検出方法を説明したが、このような時間帯の検出方法は自動車の運行状態の遷移に限られるものではない。例えば、組み込み機器1が温度監視を行う機器である場合、イベント源8は温度センサとなる。またこのようなイベント源に基づくサーバ11の稼働状況取得手段16が蓄積する履歴情報は、例えば図7のようになる。図において、カラム301はその温度を検出した時間であり、カラム302はイベント源8において検出された温度である。この場合において、この温度監視器の上限値が40℃で下限値が10℃であると設定されている場合、各温度からこれらの上限値、下限値のいずれかに達する最短時間が図8のように算出されているものとする。仮にソフトウェアの更新に30秒とすると、この履歴情報から18.4℃から29.1℃の間であれば、ソフトウェアの更新が可能であることが予測できる。この場合には、したがって、ソフトウェア配信手段14は、18.4℃と29.1℃の間の値がイベントとして到来した場合に、ソフトウェア配信処理を開始する。
【0041】
以上より明らかなように、実施の形態2におけるソフトウェア管理装置とソフトウェア管理サーバによれば、組み込み機器1の状態遷移が起きない時間帯を選択して、動的にソフトウェアの配信時間及びソフトウェアの適用時間を決定するので、組み込み機器1が果たすべき機能に影響を与えることなく、ソフトウェアの配信処理を行うことができる。
【0042】
また、更新可能時間帯の算出処理をサーバ11側で実行する構成としたので、組み込み機器1あるいは管理装置2に大容量の記憶装置を装着できない場合であっても、上述した効果を奏することができる。
【0043】
なお、組み込み機器1あるいは管理装置2に大容量の記憶装置を装着できるような場合には、管理装置2が自律的に更新可能時間帯の算出を行うような構成を採用してもよい。この場合には、ステップS202のイベントの蓄積、ステップ203の更新可能時間帯の算出はいずれも管理装置2側で実行し、これらが終了した後に、更新可能時間帯の到来とともに、実施の形態1のように配信依頼をサーバ11のソフトウェア配信手段14に行うようにすればよい。
【0044】
また実施の形態2において、状況監視手段6は、組み込み機器1の稼働状況を取得するたびに、稼働状況監視手段14に稼働状況を出力したが、稼働状況を通知する回数が多いと、通信のオーバーヘッドが増大することが考えられる。例えばこのような稼働状況をたとえばTCP/IPパケットで通信する場合には、それぞれのパケットにヘッダを付加する必要があるので、稼働状況の通知回数が多いと、パケットヘッダによるオーバーヘッドが増大することになる。そこで、状況監視手段6は所定の期間の稼働状況を記憶しておき、所定の期間の終期に稼働状況監視手段14に通知するようにしてもよい。
【0045】
その他、実施の形態2ではイベント源8からのイベント情報に基づいて、ソフトウェア配信処理の実行可能な時間帯を求める構成としたが、実施の形態1と同じように組み込み機器1のCPUの使用率に基づいて、サーバ11側でソフトウェア配信が可能な時間帯を算出するようにしてもよい。その場合には、状況監視手段はイベント源8からの情報の代わりにCPU使用率を定期的に稼働状況取得手段16に通知するようにすればよい。
【0046】
実施の形態3.
次に本発明の実施の形態3におけるソフトウェア管理装置及びソフトウェア管理サーバについて説明する。実施の形態1及び実施の形態2では、組み込み機器単体から得られる情報に基づいてソフトウェアの更新可能時間帯の算出を行った。これに対し実施の形態3では、複数の組み込み機器から得られる情報に基づいて、ネットワーク負荷およびサーバの負荷などシステム全体の負荷を軽減しながら、ソフトウェアの更新処理を行う方法について説明する。
【0047】
図9は、実施の形態3における組み込み機器とソフトウェア管理装置、及びソフトウェア管理サーバの構成図である。図において、稼働状況マイニング手段18は、一定期間の間に複数の組み込み機器で発生するイベントや、それらの組み込み機器の遷移状態を分析して、ソフトウェア配信に適した時間帯やイベントの抽出を行う。また組み込み機器31は、実施の形態3のソフトウェア更新処理の対象となる機器である。その他、実施の形態2と同一の符号を付した構成要素については、実施の形態2と同様であるので、説明を省略する。ここで、図9では図示しないが、組み込み機器31においても、組み込み機器1と同様に、ソフトウェア管理装置2、通信手段3、ソフトウェア取得手段4、ソフトウェア更新手段5、状況監視手段6、更新制御手段7、イベント源8に相当する部位を有しているものとする。
【0048】
次に、実施の形態3におけるソフトウェア更新処理について説明する。図10は、実施の形態3におけるソフトウェア更新処理のフローチャートである。図のステップS301において、サーバ11の稼働状況取得手段16は各組み込み機器で発生するイベントを収集する。具体的には、組み込み機器1の状況監視手段6がイベント源8からイベントを取得し、通信手段3を介してサーバ11にイベントを送信する。また組み込み機器31においても同様に、これらに相当する部位がイベントを送信する。サーバ11の稼働状況取得手段16は、通信手段12を介してこれらのイベントを受信する。
【0049】
続いてステップS302において、稼働状況取得手段16は、取得したイベントを、そのイベント後にそれぞれの組み込み機器が達する遷移状態に変換する。例えば組み込み機器1が温度監視装置であって、イベント源8が温度センサである場合、イベントは温度センサにより取得された温度の値であり、遷移状態とはその温度の結果組み込み機器1が置かれる状態(定常状態、異常状態など)である。また稼働状況取得手段16は、変換した遷移状態を記憶装置15上のログファイルに出力する。このログファイルはイベント、あるいは新たに発生した遷移状態ごとに1つのレコードを構成し、このレコードには発生時間、遷移状態、その遷移状態をとっている組み込み機器名あるいは組み込み機器を特定するID(ネットワークアドレスなどを含む)を少なくとも含むものとする。
【0050】
図11はこのログファイルの内容の例を示す説明図である。図において、例えば組み込み機器1は2002年12月2日10時15分20秒に遷移状態Aとなり、組み込み機器31は2002年12月2日10月15分21秒に遷移状態Bとなったことを示している。なおイベントから遷移状態へ変換する処理については、稼働状況取得手段16で行わずに、組み込み機器1の状況監視手段6で行うという構成としてもよい。その場合にはステップS302は省略可能となる。
【0051】
次に、ステップS303において稼働状況マイニング手段18は、遷移状態ログのマイニングを行うことによってログファイルを解析し、各遷移状態の発生傾向を取得する。具体的には、全時間を所定の期間に分割し、それぞれの期間において遷移状態が生じる統計量を取得する。遷移状態の統計量には、その遷移状態の持続時間の平均値とばらつきを少なくとも含むものとする。
【0052】
また、ステップS303におけるマイニング処理では、複数の組み込み機器の遷移状態の組み合わせをも考慮するものとする。組み合わされた遷移状態の持続時間とは、次のように考えるものとする。すなわち、例えば図11の例の場合、2002年12月2日において組み込み機器1は10時15分20秒に遷移状態Aとなり、組み込み機器31は10月15分21秒に遷移状態Bとなった後に、組み込み機器1は10時15分22秒に遷移状態Cとなっている。そうすると、組み込み機器1が遷移状態Aとなり、かつ、組み込み機器31が遷移状態Bとなっている時間は、10月15分21秒から10時15分22秒までである。したがって、遷移状態Aと遷移状態Bの組み合わせの持続時間は1秒ということになる。なお、ばらつきについては後述することとする。
【0053】
前述したとおり、遷移状態ログのマイニングでは、各組み込み機器の遷移状態の組み合わせについても考慮する。例えば組み込み機器1がA、Bという遷移状態をとるものとし、組み込み機器31がA、Bという遷移状態をとるものとすると、A、B、A、Bという個別の遷移状態の持続時間だけでなく、AとA、AとB、BとA、BとB、といった遷移状態の持続時間についても計算することとする。一般に、組み込み機器がN個存在し、それぞれのとり得る遷移状態がT個(K=1,2,…,N)あるとすると、個別あるいは部分的な組み合わせまでを考慮した組み合わせの総数は、次式のPによって表される。
【0054】
【数1】
Figure 2004206390
【0055】
遷移状態ログのマイニングでは、原則として、上式によって得られるP通りの遷移状態の組み合わせ全てについて、持続時間およびそれらのばらつきを算出するが、組み込み機器の台数が多く、Nが大きな値となる場合には、Pの値は大きくなるため、計算量が膨大となる。そこで次のような方法によって、計算量を低減してもよい。
【0056】
第1の方法として、各組み込み機器の性質やシステムによって生じる可能性の極めて低い遷移状態の組み合わせ、あるいは定常的に生じるわけではない遷移状態の組み合わせが予め分かっている場合には、それらをパターンとして表現し、そのパターンを含む遷移状態の組み合わせについて、持続時間の計算を省略する方法が考えられる。具体的には、例えば組み込み機器1がA、Bという遷移状態をとるものとし、組み込み機器31がA、Bという遷移状態をとる場合であって、AとBという組み合わせが生じることが極めてまれである場合には、「A−B」というパターンを外部から稼働状況マイニング手段18に与え、稼働状況マイニング手段18はこのパターンに関する持続時間の計算を省略する。
【0057】
ここで、さらにA、B、Cという遷移状態をとる組み込み機器が別にあり、論理的にAとBとCという遷移状態が生じうる場合であっても、この遷移状態の組み合わせの中には、「A−B」というパターンを含むために、この遷移状態に関する発生時間、持続時間の計算が省略される。これによって、周期的に生じない遷移状態に関する計算を省略することで、計算量が削減される。
【0058】
第2の方法として、所定の個数以上の遷移状態からなる組み合わせについては、発生時間、持続時間の計算を省略するという方法が考えられる。Aという遷移状態が発生する確率と持続時間はAとBとが同時に発生する確率と持続時間よりも当然に大きい。そうすると、多数組み合わせた遷移状態が発生する確率がその持続時間は微少となることが予測できる。そこで、所定の個数、例えば4個以上の遷移状態の組み合わせの持続時間の計算を無条件に省略するようにすれば、計算量が削減される。
【0059】
第3の方法として、各組み込み機器の遷移状態のうち、それぞれの組み込み機器が定常状態にある、と考えられる遷移状態の組み合わせについてのみ優先的に持続時間を計算する方法が考えられる。例えば組み込み機器1の遷移状態Aと組み込み機器31の遷移状態Aがそれぞれの組み込み機器において定常状態を示すものであるならば、AとAの組み合わせは最も頻繁に発生する組み合わせであると考えられる。このような遷移状態が事前に分かっているのであれば、これをパターンとして表現し、外部から稼働状況マイニング手段18に与えて、このパターンに関する持続時間の計算のみを行わせることによって、計算量を削減することができる。
【0060】
次に、これらの遷移状態の組み合わせに基づいて、ログファイルのレコードから各遷移状態の発生時間、持続時間を求める処理について具体的に説明する。図12は、各遷移状態の発生時間、持続時間を計算する方法の説明図である。図において、2002年12月2日10時15分20秒のレコードは、組み込み機器1が遷移状態Aにおかれたことを示すものである。したがって遷移状態Aは2002年12月2日10時15分20秒を発生時間とすることになる。また2002年12月2日10時15分21秒のレコードは、組み込み機器31が遷移状態Bにおかれたことを示すものである。したがって遷移状態Bが2002年12月2日10時15分21秒に発生したことになる。
【0061】
さらに、このレコードは組み込み機器1が遷移状態Aにおかれ、かつ、組み込み機器31が遷移状態Bにおかれたことを示すものでもある(図では遷移状態A+Bとして示している)。そこで遷移状態A+Bの発生時間は2002年12月2日10時15分21秒となる。
【0062】
次に、2002年12月2日10時15分22秒のレコードは、組み込み機器1が遷移状態Cにおかれたことを示すものである。また、このレコードによって、それまで組み込み機器1がおかれていた遷移状態Aが終了したことをも意味する。そこで、前述した遷移状態Aの持続時間は、2002年12月2日10時15分22秒と、その発生時間である2002年12月2日10時15分20秒との差である2秒となる。さらに2002年12月2日10時15分23秒のレコードは、組み込み機器31が遷移状態Dにおかれたことを示すものである。
【0063】
このレコードによって、それまで続いていた組み込み機器31の遷移状態Bが終了したことが示されるので、遷移状態Aの場合と同様に発生時間との差を算出して、持続時間が2秒となる。またこのレコードは同時に、遷移状態A+Bが終了したことを示すものでもある。そこで、遷移状態A+Bについても、発生時間との差を算出して持続時間が1秒となる。
【0064】
また、ログファイル中には大量のレコードが出力され、各遷移状態の組み合わせが複数個検出されることになるが、稼働状況マイニング手段18は、それぞれの遷移状態の組み合わせごとに、各持続時間の平均値とばらつきを算出する。そして、稼働状況マイニング手段18は、算出した各遷移状態の組み合わせごとの持続時間とそのばらつきについて、組み合わせた遷移状態の個数に応じて重み付けを行う。これは遷移状態Aと遷移状態A+Bとの持続時間を単純に比較すると、必ず遷移状態Aの持続時間が長くなるからである。重み付けの方法としては、組み合わせる遷移状態の個数に応じて、定数を乗じていくというような単純な方法も考えられる。例えば、遷移状態の個数をSとした場合に、定数をCとして、得られた持続時間TにCS−1(ただしC>1)を乗じた値CS−1Tを最終的な持続時間として出力する方法である。あるいは、所定の周期のうち、各遷移状態が占めている時間の割合に基づいて算出した係数を遷移状態の持続時間に乗じていく方法を用いてもよい。
【0065】
次に、ステップS304において、更新時間帯算出手段17は、更新可能時間帯の算出を行う。ここでは予めオペレータ等が開発環境あるいはテスト環境において、組み込み機器に配布しようとしているソフトウェアの配布および更新に要する時間を測定しておき、その時間(以下、単に更新時間という)を更新可能時間帯に与えておくものとする。更新時間帯算出手段17は、ステップS303で求めた各遷移状態の持続時間の平均値とばらつきから、各遷移状態の持続時間の最小時間を算出する。次にこの最小時間と更新時間を比較し、更新時間よりも長い最小時間を有する遷移状態を選択して特定する。
【0066】
ここで、最小時間の算出方法について説明する。最小時間は、遷移状態の持続時間の平均値およびばらつきに基づいて決定される。前述したとおり、ばらつきとは持続時間の分散の度合いを示すものである。最も簡単なばらつきの算出方法は、ある遷移状態の持続時間の最小値と持続時間の平均値の差(持続時間の平均値−持続時間の最小値)を算出する方法である。
【0067】
また、このような方法を採用した場合には、持続時間の平均値より、ばらつきの値を減じた値(持続時間の平均値−ばらつき)を最小時間として算出してもよい。また、統計的な手法を用いて最小時間を算出してもよい。例えば、ある遷移状態に関する持続時間の全標本に基づいて、95%の信頼区間や99%の信頼区間などの推定を行い、最小時間を推定するような方法や、T分布などの特定の分布モデルを採用して最小時間を算出するような方法など、周知の統計的方法を用いてもよい。
【0068】
一方、更新時間については、次のようなことを考慮する必要がある。すなわち、実施の形態3では、複数の組み込み機器にソフトウェアを配布する必要があるという点である。そこで、更新時間をソフトウェアのプログラム実行ファイルをファイル転送するための時間(以下、転送時間Tという)と、各組み込み機器においてそのプログラム実行ファイルを適用するための時間(以下、適用時間Tという)に分けて考える。そうすると、更新時間をTとした場合、テスト環境ではT=T+Tの関係が成立する。ところが、多数の組み込み機器にソフトウェアを配布する場合、Tについてはテスト環境とほぼ同じ値となるのに対して、Tは配布対象となる組み込み機器の台数によって変動する。これは、サーバ11の負荷およびネットワーク10の伝送能力の制限によるものである。サーバ11の性能とネットワーク10の帯域幅が十分に確保できる場合には、多数の組み込み機器に実際にソフトウェア配布を行う場合であっても、ファイル転送処理を並列に実行することによって、ファイル転送に要する時間はほぼTに近い値となるものと考えられる。またサーバ11の性能とネットワーク10の帯域幅が低い場合には、組み込み機器の台数をNとするとファイル転送に要する時間はN×Tに近づく。
【0069】
そこで実施の形態3では、ファイル転送をいわゆるステージ実行あるいは段階実行と呼ばれる方式で処理することとする。ステージ実行あるいは段階実行とは、配布対象となる組み込み機器を所定の台数ずつに分類して、それぞれのグループごとに並列にファイル転送を行う方式である。各グループの台数は、サーバ11の処理能力およびネットワーク10の伝送能力に依存する。ここで、グループの数をMとし、各グループにおけるファイル転送時間(そのグループに属する組み込み機器全てにファイル転送を行い完了するまでの時間)をTとする(ただし、K=1,2,…,M)。すると各グループ毎の更新時間はT+Tとなる。更新時間帯算出手段17は、各グループごとに最小時間がT+Tよりも大きい遷移状態の組み合わせを求める。
【0070】
次に、ステップS305においてソフトウェア配信手段14は、更新可能イベントが到来し、すなわちステップS304で求めたソフトウェア配信処理を開始しうる遷移状態に組み込み機器がおかれたことを検出して、ソフトウェアの配信に要する時間を求める。更新可能イベントはステージ実行の各グループごとに待機することとし、ソフトウェアの配信はこれらのグループごとに実行する。
【0071】
続いて、ステップS306において、ソフトウェア更新手段5はサーバ11より配布されたプログラム実行ファイルを組み込み機器1に適用する。プログラム実行ファイルの適用処理以降の処理については実施の形態1及び実施の形態2で説明した方法と同じ方法を用いるので、説明を省略する。
【0072】
以上より明らかなように、実施の形態3による組み込み機器用ソフトウェア管理装置と組み込み機器用ソフトウェア管理サーバによれば、複数の組み込み機器に対するソフトウェア配布処理の開始時間を各組み込み機器の遷移状態に基づいて決定することができる。
【0073】
さらに、実施の形態3による組み込み機器用ソフトウェア管理装置と組み込み機器用ソフトウェア管理サーバによれば、各組み込み機器の遷移状態の組み合わせも考慮してソフトウェア配布処理の開始時間を決定するので、複数の組み込み機器が協調して単一の機能を実現するようなシステムにおいても、ソフトウエア配布時間を適切に決定することができるという効果を奏する。
【0074】
なお、上記の説明においては、ステージ実行の各グループに属する組み込み機器と各遷移状態をとる組み込み機器との関係については言及しなかったが、この関係を考慮して遷移状態の組み合わせを決定することも当然に可能である。例えば、組み込み機器1が遷移状態Aにある途中で、組み込み機器31が遷移状態Bに変化したとしても、遷移状態Aの時間長さが更新時間に比べて十分に長いのであれば、組み込み機器1に対してはソフトウェアの配布処理を開始できる。このような処理を実現するには、ステージ実行の各グループに含まれる全ての組み込み機器の遷移状態の組み合わせの持続時間とばらつきを優先的に抽出するような構成をとればよい。
【0075】
【発明の効果】
本発明は、組み込み機器の稼働状況に基づいてソフトウェアの配布処理を行う時間を動的に決定する構成としたので、組み込み機器のソフトウェアメンテナンスに要する運用負荷を軽減し、またメンテナンスを容易に行えることを通じて、ソフトウェアのアップデートによりバグの少ないソフトウェアを採用しやすくなる結果、システム全体の信頼性を向上させることができる、という効果を奏するものである。
【図面の簡単な説明】
【図1】本発明の実施の形態1における組み込み機器及び組み込み機器用ソフトウェア管理サーバの構成図である。
【図2】本発明の実施の形態1におけるソフトウェア配布処理のフローチャートである。
【図3】本発明の実施の形態2における組み込み機器及び組み込み機器用ソフトウェア管理サーバの構成図である。
【図4】本発明の実施の形態2におけるソフトウェア配布処理のフローチャートである。
【図5】本発明の実施の形態2におけるイベント履歴情報の構成を示す構成図である。
【図6】本発明の実施の形態2における遷移状態と持続時間の平均値の処理を説明するための説明図である。
【図7】本発明の実施の形態2におけるイベント処理の例を示す説明図である。
【図8】本発明の実施の形態2におけるイベント処理の例を示す説明図である。
【図9】本発明の実施の形態3における組み込み機器及び組み込み機器用ソフトウェア管理サーバの構成図である。
【図10】本発明の実施の形態3におけるソフトウェア配布処理のフローチャートである。
【図11】本発明の実施の形態3におけるログファイルの構成例を示す説明図である。
【図12】本発明の実施の形態3における遷移状態の算出方法を示す説明図である。
【符号の説明】
1:組み込み機器
2:ソフトウェア管理装置
3:通信手段
4:ソフトウェア取得手段
5:ソフトウェア更新手段
6:状況監視手段
7:更新制御手段
8:イベント源
10:ネットワーク
11:組み込み機器用ソフトウェア管理サーバ
12:通信手段
13:通知手段
14:ソフトウェア配信手段
15:記憶装置
16:稼働状況取得手段
17:更新時間帯算出手段
18:稼働状況マイニング手段

Claims (9)

  1. サーバよりネットワークを介して送信されたソフトウェアを受信して組み込み機器に適用するソフトウェア管理装置であって、
    上記ソフトウェア管理装置は、
    上記サーバより上記ソフトウェアを取得するソフトウェア取得手段と、
    上記ソフトウェアを上記組み込み機器に適用するソフトウェア更新手段と、
    上記組み込み機器の稼働状況を取得して上記ソフトウェアの更新に適する時間帯を算出する状況監視手段と、
    上記時間帯に基づいて、上記ソフトウェア取得手段に上記ソフトウェアの取得を指示し、さらに上記ソフトウェア更新手段に上記ソフトウェア取得手段により取得した上記ソフトウェアの上記組み込み機器への適用を指示する更新制御手段と、
    を備えることを特徴とするソフトウェア管理装置。
  2. 前記状況監視手段は、前記組み込み機器のCPUの負荷状況を所定の周期ごとに取得し、上記負荷状況に基づいて上記ソフトウェアの更新に適する時間帯を算出することを特徴とする請求項1に記載されたソフトウェア管理装置。
  3. 前記状況監視手段は、前記組み込み機器の遷移状態の持続時間を取得し、前記ソフトウェアの更新に要する時間よりも持続時間の長い上記組み込み機器の遷移状態を選択して、上記組み込み機器が次に上記遷移状態に達する時間に開始する時間帯を上記ソフトウェアの更新に適する時間帯として算出することを特徴とする請求項1に記載されたソフトウェア管理装置。
  4. 前記更新制御手段は、前記時間帯の到来により、前記ソフトウェア取得手段に前記ソフトウェアの取得を指示することを特徴とする請求項1乃至請求項3のいずれか一に記載されたソフトウェア管理装置。
  5. 組み込み装置にソフトウェアを適用するソフトウェア管理装置にネットワークを介して上記ソフトウェアを送信するソフトウェア管理サーバであって、
    上記ソフトウェア管理サーバは、
    上記ソフトウェアと上記組み込み機器の稼働状況履歴とを記憶する記憶装置と、
    上記ソフトウェア管理装置から送信される上記組み込み装置の稼働状況を受信し、上記稼働状況履歴に記録する稼働状況取得手段と、
    上記稼働状況履歴に基づいて、上記ソフトウェアを上記組み込み機器に適用する時間帯を算出する更新時間帯算出手段と、
    上記時間帯に基づいて、上記ソフトウェア管理装置に、上記記憶装置が記憶するソフトウェアを上記通信手段を介して送信するソフトウェア配信手段と、を備えることを特徴とするソフトウェア管理サーバ。
  6. 前記稼働状況取得手段は、前記ソフトウェア管理装置が所定の周期ごとに前記組み込み機器から取得し送信する該組み込み機器のCPUの負荷状況を受信して、前記稼働状況履歴に記録し、
    前記更新時間帯算出手段は、稼働状況履歴に記録された上記組み込み機器のCPUの負荷状況に基づいて前記時間帯を算出することを特徴とする請求項5に記載されたソフトウェア管理サーバ。
  7. 前記稼働状況取得手段は、前記ソフトウェア管理装置が前記組み込み機器から取得し送信する該組み込み機器の遷移状態を受信して、前記稼働状況履歴に記録し、
    前記更新時間帯算出手段は、上記稼働状況履歴に記録された持続時間が、前記ソフトウェアの更新に要する時間よりも長い上記組み込み機器の遷移状態を選択し、上記組み込み機器が次に上記遷移状態に達する時間に開始する時間帯を上記ソフトウェアの更新に適する時間帯として算出することを特徴とする請求項5に記載されたソフトウェア管理サーバ。
  8. 前記稼働状況履歴に記録された遷移状態の各組み合わせについて持続時間とばらつきを算出する稼働状況マイニング手段をさらに備え、
    前記稼働状況取得手段は、上記稼働状況マイニング手段の算出した上記遷移状態の各組み合わせについての持続時間とばらつきに基づいて、上記遷移状態の各組み合わせの持続時間の最小値を算出し、該最小値が前記ソフトウェアの更新に要する時間よりも長い遷移状態の組み合わせを特定して、上記組み込み機器が該遷移状態の組み合わせに達する時間に開始する時間帯を上記ソフトウェアの更新に適する時間帯として算出することを特徴とする請求項5に記載されたソフトウェア管理サーバ。
  9. 前記通信手段を介して、前記ソフトウェア管理装置に前記更新時間帯算出手段が算出した時間帯を通知し、前記ソフトウェア管理装置に上記時間帯の到来とともに前記ソフトウェアを前記組み込み機器に適用させる通知手段をさらに備え、
    前記ソフトウエア配信手段は、上記時間帯の到来以前に上記管理装置に上記ソフトウェアの送信を行うことを特徴とする請求項5乃至請求項8のいずれか一に記載したソフトウェア管理サーバ。
JP2002374539A 2002-12-25 2002-12-25 ソフトウェア管理装置及びソフトウェア管理サーバ Pending JP2004206390A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002374539A JP2004206390A (ja) 2002-12-25 2002-12-25 ソフトウェア管理装置及びソフトウェア管理サーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002374539A JP2004206390A (ja) 2002-12-25 2002-12-25 ソフトウェア管理装置及びソフトウェア管理サーバ

Publications (1)

Publication Number Publication Date
JP2004206390A true JP2004206390A (ja) 2004-07-22

Family

ID=32812537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002374539A Pending JP2004206390A (ja) 2002-12-25 2002-12-25 ソフトウェア管理装置及びソフトウェア管理サーバ

Country Status (1)

Country Link
JP (1) JP2004206390A (ja)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065506A (ja) * 2006-09-06 2008-03-21 Seiko Epson Corp ソフトウェアの更新処理を実行する方法及びコンピュータ
JP2008065505A (ja) * 2006-09-06 2008-03-21 Seiko Epson Corp ソフトウェアの更新処理を実行する方法及びコンピュータ
JP2008140369A (ja) * 2006-11-02 2008-06-19 Tokyo Electron Ltd サーバ装置、製造装置、群管理システム、情報処理方法、及びプログラム
JP2009059186A (ja) * 2007-08-31 2009-03-19 Casio Comput Co Ltd データ管理装置及びプログラム
JP2009271904A (ja) * 2008-04-10 2009-11-19 Hitachi Ltd 配布管理方法、配布管理システム、および配布管理サーバ
WO2010029602A1 (ja) 2008-09-12 2010-03-18 富士通株式会社 ソフトウェアパッチ適用方法、プログラム及び装置
JP2011053954A (ja) * 2009-09-02 2011-03-17 Toyota Motor Corp ソフトウェア更新装置
JP2012194892A (ja) * 2011-03-17 2012-10-11 Nec Corp ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム
WO2013141080A1 (ja) * 2012-03-21 2013-09-26 日産自動車株式会社 アプリケーション更新装置及びアプリケーション更新方法
KR101727749B1 (ko) * 2010-07-01 2017-05-02 엘지전자 주식회사 디지털 기기에서 소프트웨어 업그레이드 예약 방법 및 그 방법을 이용한 디지털 기기
WO2017149822A1 (ja) * 2016-03-02 2017-09-08 住友電気工業株式会社 プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム
JP2017224047A (ja) * 2016-06-13 2017-12-21 クラリオン株式会社 ソフトウェア更新装置およびソフトウェア更新システム
CN107888654A (zh) * 2017-09-30 2018-04-06 北京诺君安信息技术股份有限公司 一种按时区更新数据的方法及服务器
JP2018147448A (ja) * 2017-03-09 2018-09-20 Necプラットフォームズ株式会社 情報処理装置、管理制御装置のプログラム更新制御方法及びプログラム更新制御プログラム
JP2018198013A (ja) * 2017-05-24 2018-12-13 株式会社リコー 画像形成装置、システムおよび制御方法
WO2019163259A1 (ja) * 2018-02-21 2019-08-29 三菱重工サーマルシステムズ株式会社 書き換え装置、書き換えシステム、書き換え方法及び制御プログラム
JP2020070742A (ja) * 2018-10-30 2020-05-07 トヨタ自動車株式会社 制御装置
US11144295B2 (en) 2016-03-02 2021-10-12 Sumitomo Electric Industries, Ltd. Program updating system, program updating method, and computer program
JP7450425B2 (ja) 2020-03-24 2024-03-15 大阪瓦斯株式会社 ソフトウェア更新システム

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065506A (ja) * 2006-09-06 2008-03-21 Seiko Epson Corp ソフトウェアの更新処理を実行する方法及びコンピュータ
JP2008065505A (ja) * 2006-09-06 2008-03-21 Seiko Epson Corp ソフトウェアの更新処理を実行する方法及びコンピュータ
JP2008140369A (ja) * 2006-11-02 2008-06-19 Tokyo Electron Ltd サーバ装置、製造装置、群管理システム、情報処理方法、及びプログラム
JP2009059186A (ja) * 2007-08-31 2009-03-19 Casio Comput Co Ltd データ管理装置及びプログラム
JP2009271904A (ja) * 2008-04-10 2009-11-19 Hitachi Ltd 配布管理方法、配布管理システム、および配布管理サーバ
JP4560115B2 (ja) * 2008-04-10 2010-10-13 株式会社日立製作所 配布管理方法、配布管理システム、および配布管理サーバ
WO2010029602A1 (ja) 2008-09-12 2010-03-18 富士通株式会社 ソフトウェアパッチ適用方法、プログラム及び装置
JP2011053954A (ja) * 2009-09-02 2011-03-17 Toyota Motor Corp ソフトウェア更新装置
KR101727749B1 (ko) * 2010-07-01 2017-05-02 엘지전자 주식회사 디지털 기기에서 소프트웨어 업그레이드 예약 방법 및 그 방법을 이용한 디지털 기기
JP2012194892A (ja) * 2011-03-17 2012-10-11 Nec Corp ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム
WO2013141080A1 (ja) * 2012-03-21 2013-09-26 日産自動車株式会社 アプリケーション更新装置及びアプリケーション更新方法
WO2017149822A1 (ja) * 2016-03-02 2017-09-08 住友電気工業株式会社 プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム
US11144295B2 (en) 2016-03-02 2021-10-12 Sumitomo Electric Industries, Ltd. Program updating system, program updating method, and computer program
US10908891B2 (en) 2016-06-13 2021-02-02 Clarion Co., Ltd. Software update device and software update system
JP2017224047A (ja) * 2016-06-13 2017-12-21 クラリオン株式会社 ソフトウェア更新装置およびソフトウェア更新システム
JP2018147448A (ja) * 2017-03-09 2018-09-20 Necプラットフォームズ株式会社 情報処理装置、管理制御装置のプログラム更新制御方法及びプログラム更新制御プログラム
JP2018198013A (ja) * 2017-05-24 2018-12-13 株式会社リコー 画像形成装置、システムおよび制御方法
CN107888654B (zh) * 2017-09-30 2020-10-16 北京诺君安信息技术股份有限公司 一种按时区更新数据的方法及服务器
CN107888654A (zh) * 2017-09-30 2018-04-06 北京诺君安信息技术股份有限公司 一种按时区更新数据的方法及服务器
WO2019163259A1 (ja) * 2018-02-21 2019-08-29 三菱重工サーマルシステムズ株式会社 書き換え装置、書き換えシステム、書き換え方法及び制御プログラム
JP2020070742A (ja) * 2018-10-30 2020-05-07 トヨタ自動車株式会社 制御装置
JP7450425B2 (ja) 2020-03-24 2024-03-15 大阪瓦斯株式会社 ソフトウェア更新システム

Similar Documents

Publication Publication Date Title
JP2004206390A (ja) ソフトウェア管理装置及びソフトウェア管理サーバ
KR101292979B1 (ko) 디바이스 관리 서버를 통한 단말 내부 소프트웨어 관리방법
US7676610B2 (en) Device and method for optimization of target host device process handling according to the status and the priority of the target host device process
US7412509B2 (en) Control system computer, method, and program for monitoring the operational state of a system
CN101802752A (zh) 低功耗设备的管理方法及系统
JP2008054127A (ja) ゲートウェイ装置、データ集約装置、データ集約システム、データ送信方法、及びプログラム
CN104598300A (zh) 分布式业务流程定制方法及系统
JP2004206260A (ja) プログラム配信システム
EP1895712A2 (en) System for monitoring the state of apparatuses in a communication network
JP2016146020A (ja) データ分析システム及び分析方法
JPWO2007122902A1 (ja) 基板処理装置の管理方法
JP2021007291A (ja) 電池残量推定システム、電池残量推定方法、及び、電池残量推定プログラム
CN111625344B (zh) 应用系统中的资源调度系统、方法及装置
WO2011064812A1 (ja) 情報提示装置
JP5187082B2 (ja) 機器管理装置、機器管理システム、機器監視方法、機器監視プログラム、及びそのプログラムを記録した記録媒体
CN102457394B (zh) 服务端装置的管理方法及其管理端装置
JP2009157597A (ja) 遠隔保守ソフトウェア自動配布システムおよび遠隔保守ソフトウェア自動配布方法
US20140114614A1 (en) Remote monitoring system, remote monitoring apparatus, communication apparatus, and remote monitoring method
JP2005141466A (ja) コンピュータの監視装置および監視対象のコンピュータに関するメッセージの処理方法
CN113542424A (zh) 数据处理方法、装置、设备及计算机程序产品
JP5378847B2 (ja) 監視装置
JP6576601B2 (ja) データ処理システム、データ処理装置およびデータ処理プログラム
CN117452857B (zh) 一种基于数字孪生的it运维监控平台管理系统及方法
JP2006277308A (ja) コンピュータシステム及びその装置及びその方法及びそのプログラム
JP2010045697A (ja) 通報装置内保存データ収集システムにおける通報装置、および通報装置内保存データ収集方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081007