JP2007510987A - ソフトウェアプログラムを更新するためのシステムおよび方法 - Google Patents

ソフトウェアプログラムを更新するためのシステムおよび方法 Download PDF

Info

Publication number
JP2007510987A
JP2007510987A JP2006538202A JP2006538202A JP2007510987A JP 2007510987 A JP2007510987 A JP 2007510987A JP 2006538202 A JP2006538202 A JP 2006538202A JP 2006538202 A JP2006538202 A JP 2006538202A JP 2007510987 A JP2007510987 A JP 2007510987A
Authority
JP
Japan
Prior art keywords
update
server
software
available
act
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.)
Withdrawn
Application number
JP2006538202A
Other languages
English (en)
Inventor
ハモンド,ブラッド・ティ
ジアキント,トッド・ジェイ
レドモンド,ダニエル・ジェイ
ヒギンズ,ジム
Original Assignee
アメリカン パワー コンバージョン コーポレイション
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 アメリカン パワー コンバージョン コーポレイション filed Critical アメリカン パワー コンバージョン コーポレイション
Publication of JP2007510987A publication Critical patent/JP2007510987A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

システムのソフトウェアを自動的に更新するためのシステムおよび方法が提供される。一例では、このソフトウェアはユーザの介入を必要とせずに更新される。さらに、ネットワーキング装置、無停電電源(UPS)、または他のシステムといった非PCシステム上でソフトウェア更新版を実行することが可能なシステムが提供される。別の例では、更新版をダウンロードし、適用する責任を担うプロキシシステムによって、システムの多数の構成要素を更新するためのシステムおよび方法が提供される。

Description

発明の分野
この発明はソフトウェアのインストールに関し、より特定的にはソフトウェアプログラムを更新するための方法に関する。
背景
PCなどの汎用コンピュータ上で実行されるソフトウェアプログラムを更新するための従来の方法は数多くある。より特定的には、アプリケーションプログラムおよびオペレーティングシステムプログラムの中には、そのアプリケーションプログラムまたはオペレーティングシステムプログラムの更新版(たとえばより新しいバージョン)が利用可能かどうかを判断し、(たとえばインターネットなどの通信ネットワークを通して)その更新版をダウンロードし、現在インストールされているプログラムにその更新版を適用するための機能を含むものもある。たとえば、マイクロソフト・ウィンドウズ(登録商標)XP(Microsoft Windows XP)オペレーティングシステム(ワシントン(WA)州レッドモンド(Redmond)のマイクロソフト社(Microsoft Corporation)から入手可能)は、インターネットブラウザプログラムで実行中のプログラムが、パーソナルコンピュータにインストールされた特定のウィンドウズ(登録商標)XPオペレーティングシステムの構成要素を判断できるようにする、「ウィンドウズ(登録商標)アップデート」(Windows Update)と呼ばれる機能を含んでいる。
このプログラムは、ある特定のインターネットサイトがアクセスされると(http://windowsupdate.microsoft.com)ブラウザプログラム(たとえばマイクロソフト・エクスプローラ(Microsoft Explorer)ブラウザプログラム)でロードおよび実行され、ローカルPCのオペレーティングシステムに関する設定情報が、インターネット上に位置する更新サーバに送信される。更新版が利用可能である場合、利用可能な更新版のリストがブラウザにおいてユーザに返送される。これらの利用可能な更新版は、現在のPCのソフトウェア設定に適用可能な更新版を反映している。更新版のうちの1つ以上を適用し、更新されたソフトウェアをPCにインストールする更新プロセスを開始する選択肢が、ユーザに提示される。しかしながら、更新版はブラウザプログラムが動作中のPCに限定されており、ウィンドウズ(登録商標)アップデートプログラムは、更新版を適用するかどうかを判断するためにユーザの介入を必要とする。
ソフトウェアを更新するためのシステムは他にもある。たとえば、マイクロソフト・インターネット・エクスプローラ(Microsoft Internet Explorer)ブラウザアプリケーションといったアプリケーションは、利用可能な更新版があるかどうかを判断するために、更新サーバに定期的に接触している。この接触は、インターネット・エクスプローラプログラムにおいて設定オプションを選択することによって自動的に、または指定されたウェブサイトで更新版のサーチを手動で行なうことによって、実行可能である。しかしながら、実際の更新版のインストールは、ユーザが、自分が更新版をインストールしたいかどうかを選択して、更新版に関するさまざまな局面を設定することを必要とする。いずれにせよ、更新版は、上述のようなウィンドウズ(登録商標)更新プログラムと同様のユーザ介入を必要とする。利用可能なソフトウェア更新版についてチェックし、プログラムを更新するための同様の能力を含むアプリケーションプログラムは、他にも数多くある(たとえば、ワシントン(Washington)州シアトル(Seattle)のリアルネットワークス社(Real Networks, Inc.)から入手可能なリアル・ワン(Real One)メディア・プレーヤ・プログラム、およびマイクロソフト・ウィンドウズ(登録商標)メディア・プレーヤ(Microsof
t Windows Media Player)プログラムなど)。
ソフトウェアを多数のPCに配布するためにアドミニストレータによって使用可能なソフトウェアツールのタイプは他にもあり、たとえば、マイクロソフト社から入手可能なマイクロソフトシステム管理サーバ(Microsoft Systems Management Server)ソフトウェアプログラムがある。しかしながら、これらのツールも、セットするのにある程度の訓練を必要とし、手動の介入を必要とする。なぜなら、アドミニストレータは、どのソフトウェアアプリケーションを選択されたPCに配布するかを手動で選択しなければならないためである。
概要
現在利用可能な更新システムおよび手順の欠点は数多くある。大抵の従来のシステムおよび手順は、更新プロセス中にユーザの介入を必要とするPC用に設計されている。より特定的には、大抵の更新プロセスは、更新版をダウンロードして適用するためにユーザがさらに措置を講じる必要があるウェブサイトに、PCブラウザインターフェイスを向けている。この発明の一局面によれば、ユーザの介入を必要とせずにシステムのソフトウェアを自動的に更新することが有利な場合がある。さらに、ネットワーキング装置、無停電電源(UPS)、または他のシステムといった非PCシステム上でソフトウェアの更新版を実行可能なシステムを有することが望ましい場合がある。
さらに、従来のソフトウェア更新システムおよび手順は一般に、単一のシステムをチェックして更新するために設計されている。この発明の一局面では、あるシステムが更新サーバからソフトウェアの更新版を受信し、それら更新版を1つ以上のシステムに適用することが、有益な場合がある。このように、そのシステムが多数のシステムに対して更新プロセスを集約的に管理し、実行する場合がある。これは、以下を含む多くの理由で有益である:
・ソフトウェアの更新を実行するのにアドミニストレータが各システムに出向くことを求める更新が、各システムにおいて行なわれる必要がない。更新は、単一のシステムから多数のシステムに対して実行され得る
・更新版は多数のシステムに対して自動的に適用可能であり、アドミニストレータの代わりにユーザの介入を必要としない
・更新版は単一のシステム上でより容易に管理されてもよい。従来、アドミニストレータは、更新版が適正に適用されたことを判断するために、各システムを検査しなければならない
・プロキシサーバが、利用可能な更新版をダウンロードしてそれらを他のシステムに配布することができる場合、更新サーバへの接触回数が少なくなる(このため、更新サーバはより頻繁に利用可能となる)。
この発明の別の局面では、ある単一のシステムがソフトウェア更新版を受信して適用する責任を担うことが有益な場合がある、ということが実現される。別の局面では、この単一のシステムが、更新サーバとは通信できないシステムを更新する場合がある。たとえば、更新されるべきシステムは、更新サーバから更新版をダウンロードして適用するためのインターフェイスまたは適切な制御および/またはプロトコルを持っていないネットワーク装置であるかもしれない。一般に、ネットワーク装置は、更新サーバと相互作用するユーザインターフェイスおよび他の機器インターフェイスを含んでいない。したがって、更新されるべきシステムに代わって更新版を検索し、その更新版をシステムに適用することができるプロキシシステムが提供される。このプロキシシステムは、たとえば、どのシステムがソフトウェア更新版を受信するか、それらはいつそれらを受信するか、および更新
プロセスの他の局面を制御してもよい。
この発明の別の局面によれば、更新版のカタログが更新サーバからダウンロードされ、サーバは、どの更新版を特定のシステムに適用する必要があるかを判断する。更新サーバにバージョン情報および他のシステム情報を送信する従来の更新方法の代わりに、更新版のカタログがダウンロードされるため、更新版はより安全に適用される。なぜなら、ユーザの機器および設定に関する情報は更新サーバに送信されないためである。
一実施例では、更新版のカタログは定期的にダウンロードされ、プロキシサーバは、1つ以上の利用可能な更新版を識別する情報を、1つ以上の管理されるシステムを識別する情報と比較する。ある更新版がある特定のシステムに整合する場合、その更新版はそのシステムに適用されてもよい。プロキシサーバはまた、それ自体のソフトウェアを更新することができてもよい。
この発明の一局面によれば、ソフトウェアを更新するための方法が提供される。この方法は、更新サーバを提供する行為を含み、更新サーバは1つ以上のソフトウェア更新版を格納するよう適合されており、この方法は、更新サーバから利用可能な更新版のカタログを、更新サーバから受信する行為と、少なくとも1つの利用可能な更新版が、少なくとも1つの管理される装置に当てはまるかどうかを判断する行為と、当てはまる場合、少なくとも1つの利用可能な更新版をダウンロードして、少なくとも1つの利用可能な更新版を少なくとも1つの管理される装置に適用する行為とを含む。
この発明の一局面によれば、更新サーバを含むシステムにおいてソフトウェアを更新するための方法が提供され、更新サーバは1つ以上のソフトウェア更新版を格納するよう適合されている。この方法は、更新サーバから利用可能な更新版のカタログを、更新サーバから受信する行為と、更新版のカタログに参照される少なくとも1つの利用可能な更新版が、少なくとも1つの管理される装置に当てはまるかどうかを判断する行為と、当てはまる場合、少なくとも1つの利用可能な更新版をダウンロードして、少なくとも1つの利用可能な更新版を少なくとも1つの管理される装置に適用する行為とを含む。
この発明の一実施例によれば、この方法は、更新版のローカルカタログを保持する行為と、更新版の受信されたカタログを更新版のローカルカタログと併合する行為とをさらに含む。別の実施例によれば、少なくとも1つの利用可能な更新版はオペレーティングシステム構成要素と管理構成要素とを含み、少なくとも1つの利用可能な更新版を適用する行為は、管理構成要素を少なくとも1つの管理される装置に適用する前に、オペレーティングシステム構成要素を少なくとも1つの管理される装置に適用する行為をさらに含む。
別の実施例によれば、受信する行為、判断する行為、およびダウンロードして適用する行為は、二次サーバによって各々実行される。別の実施例によれば、判断する行為は、少なくとも1つの利用可能な更新版に関連付けられたファイルのファイル名情報を、少なくとも1つの管理される装置に関連付けられたソフトウェアの現在の部分のファイル名情報と比較する行為を含む。別の実施例によれば、この方法は、少なくとも1つの管理される装置に少なくとも1つのファイルを送信する行為をさらに含む。
この発明の一実施例によれば、この方法は、少なくとも1つの利用可能な更新版に関連付けられた少なくとも1つのファイルが壊れていないことを検証する行為をさらに含み、検証する行為は適用する行為の前に実行される。別の実施例によれば、検証する行為および適用する行為は、二次サーバによって各々実行される。別の実施例によれば、二次サーバは、複数の管理される装置のために、1つ以上の更新版を実行する。
別の実施例によれば、複数の管理される装置は各々、無停電電源(UPS)システムの構成要素であり、二次サーバは1つ以上の更新版をUPSシステムの選択された構成要素に適用する。さらに別の実施例によれば、この方法は、更新サーバ上に更新版が存在するかどうかを複数の装置の代わりに判断する行為をさらに含む。
別の実施例によれば、少なくとも1つの利用可能な更新版に関連付けられたファイルのファイル名情報を、少なくとも1つの管理される装置のソフトウェアの現在の部分へのファイル名情報と比較する行為は、少なくとも1つの利用可能な更新版に関連付けられたファイルの改訂レベル情報を、少なくとも1つの管理される装置のソフトウェアの現在の部分の更新レベル情報と比較して、比較に基づき、少なくとも1つの管理される装置が更新されるべきかどうかを判断する行為を含む。別の実施例によれば、この方法は、少なくとも1つの利用可能な更新版の改訂レベルが、少なくとも1つの管理される装置のソフトウェアの現在の部分へのファイル名情報への少なくとも1つの利用可能な更新版に関連付けられた改訂レベルファイルと比較して、ソフトウェアのより最近の改訂版であるかどうかを判断する行為をさらに含む。
別の実施例によれば、少なくとも1つの利用可能な更新版はオペレーティングシステム構成要素と管理構成要素とを含み、少なくとも1つの利用可能な更新版を適用する行為は、オペレーティングシステム構成要素を少なくとも1つの管理される装置に適用し、管理構成要素を、少なくとも1つの管理される装置と少なくとも1つの管理される装置のマネージャとの少なくとも一方に適用する行為をさらに含む。別の実施例によれば、少なくとも1つの管理される装置がパブリックネットワークに結合されている場合、管理構成要素は少なくとも1つの管理される装置に適用される。別の実施例によれば、少なくとも1つの管理される装置がプライベートネットワークに結合されている場合、管理構成要素は少なくとも1つの管理される装置のマネージャに適用される。別の実施例によれば、マネージャが少なくとも1つの利用可能な更新版に適用されるよう適合されている場合、管理構成要素は少なくとも1つの管理される装置のマネージャに適用される。別の実施例によれば、マネージャは、少なくとも1つの利用可能な更新版を受信する行為、判断する行為、およびダウンロードして適用する行為を実行するよう適合されている。
この発明の別の局面によれば、ソフトウェア構成要素を更新するためのシステムが提供される。このシステムは、複数の利用可能な更新版を格納するよう設定された更新サーバと、複数の装置を管理するよう適合された二次サーバとを含み、二次サーバは、複数の利用可能な更新版のいずれか1つが複数の装置の少なくとも1つに適用されるべきかどうかを判断し、適用されるべきである場合、複数の更新版の少なくとも1つを複数の装置の少なくとも1つに適用するよう適合されている。この発明の一実施例によれば、複数の更新版の少なくとも1つはオペレーティングシステム構成要素と管理構成要素とを含み、二次サーバは、管理構成要素を複数の装置の少なくとも1つに適用する前に、オペレーティングシステム構成要素を複数の装置の少なくとも1つに適用するよう適合されている。
別の実施例によれば、二次サーバは、少なくとも1つの利用可能な更新版に関連付けられたファイルのファイル名情報を、複数の装置の少なくとも1つのソフトウェアの現在の部分のファイル名情報と比較するよう適合されており、かつ、比較に基づき、複数の装置の少なくとも1つが更新されるべきかどうかを判断するよう適合されている。別の実施例によれば、二次サーバは、利用可能な更新版のカタログを更新サーバから受信するよう適合されているインターフェイスを含む。
別の実施例によれば、二次サーバは、更新版のローカルカタログを格納するためのメモリを含み、二次サーバは、更新版の受信されたカタログを更新版のローカルカタログと併
合するよう適合されている。別の実施例によれば、二次サーバは、複数の更新版の少なくとも1つに関連付けられたファイルのファイル名情報を、複数の装置の少なくとも1つに関連付けられたソフトウェアの現在の部分のファイル名情報と比較するよう適合されている。別の実施例によれば、二次サーバは、複数の更新版の少なくとも1つに関連付けられた少なくとも1つのファイルを、複数の装置の少なくとも1つにロードするよう適合されている。別の実施例によれば、二次サーバは、比較に基づき、複数の装置の少なくとも1つが更新されるべきかどうかを判断するよう適合されている。別の実施例によれば、複数の管理される装置は各々、無停電電源(UPS)システムの構成要素であり、二次サーバは、UPSシステムの1つ以上の選択された構成要素に少なくとも1つの更新版を適用するよう適合されている。
この発明のさらに別の特徴および利点、ならびにこの発明のさまざまな実施例の構造および動作を、以下に添付図面を参照して詳細に説明する。図中、同じ参照番号は、同じまたは機能的に同様の要素を示す。加えて、参照番号の左から1桁または2桁は、参照番号が最初に現れる図面を識別している。
この発明は、添付の特許請求の範囲において詳細に指摘される。この発明の上述の、およびさらに別の利点は、以下の説明を添付図面とともに参照することによってより良く理解されるであろう。図中、同様の参照番号は、同じまたは同様の要素を示す。
詳細な説明
図1は、この発明の一実施例に従った、ソフトウェアプログラムを更新するためのシステムのブロック図を示す。システム100は、システム103A〜103Cに適用されるべき1つ以上のソフトウェア更新版を格納する更新サーバ101を含む。更新サーバ101は、通信ネットワークを介して他のシステムに通信する。たとえば、更新サーバ101は、1つ以上のパブリックまたはプライベートネットワークを介してアクセスされるインターネットサーバであってもよい。たとえば、更新サーバ101は、TCP/IPといった1つ以上のネットワークプロトコルを用いてソフトウェアプログラムを配信可能な従来のウェブサーバであってもよい。さらに、サーバ101は、HTTP、FTP、または他のプロトコルといった1つ以上のアプリケーションレベルプロトコルを用いてファイルを提供可能であってもよい。
システム100は、リンク104を介して更新サーバ101と通信するよう適合されているサーバ102も含む。リンク104は、たとえば、サーバ102を更新サーバ101に結合する1つ以上のネットワーク、構成要素、および/または媒体であってもよい。一実施例では、サーバ102は企業ネットワーク内に配置され、更新サーバ101はインターネットに配置されたウェブサーバである。サーバ102は、ソフトウェア更新版が利用可能かどうかを判断するために更新サーバ101と通信することができる。利用可能である場合、サーバ102は、どのタイプの更新版が利用可能かを示す更新サーバ101からの情報を取得し、サーバ102は、1つ以上の関連付けられたシステム(たとえばシステム103A〜103C)に関する情報に基づいて、サーバ101の1つ以上のソフトウェア更新版がシステム103A〜103Cに適用されるかどうかを判断する。適用される場合、サーバ102は、適切なプロトコル(たとえばHTTP)を用いて更新サーバ101から1つ以上の適用可能な更新版をダウンロードし、そのような更新版をシステム103A〜103Cに適宜適用してもよい。
サーバ102は、1つ以上のネットワークリンク105によってシステム103A〜103Cに結合されてもよい。リンク105は、サーバ102からシステム103A〜103Cに情報を通信するために使用される1つ以上のネットワーク、構成要素、または媒体
を含んでいてもよい。たとえば、リンクは、イーサネット(登録商標)または他のどのタイプのネットワーク接続および/またはアクティブになっている機器を含んでいてもよい。サーバ102は、たとえば、図2に関して以下により詳細に説明されるような汎用コンピュータシステムであってもよい。システム103A〜103Cは、たとえば、サーバ102によって管理されるシステムであってもよい。サーバ102は、ハードウェア(たとえば物理的なサーバシステム)およびソフトウェア(たとえばサーバ102に対してローカルに実行されるもの、および、アドミニストレータによって遠隔クライアント上で実行される関連付けられた管理ソフトウェアアプリケーション)を含んでいてもよい。
この発明の一局面によれば、サーバ102は、システム103A〜103Cのためにソフトウェア製品更新サービスを行なう。システム103A〜103Cは、たとえば、UPSシステムの装置であってもよい。これらのUPSシステム装置は、たとえば、環境監視ユニット、UPSシステムプロセッサ構成要素、バッテリ、空調構成要素、または他のシステム、装置、もしくは構成要素を含む、UPSのサブシステム構成要素であってもよい。
一実施例では、サーバ102は、システム103A〜103Cと通信するための1つ以上のハードウェアプロトコルおよび/またはソフトウェアプロトコルを含んでいてもよい。一例では、システム103Aは、性能および設定データをネットワーク管理システムに提供するネットワーク管理モジュールを含む。一例では、このネットワーク管理モジュールは、周知の簡易ネットワーク管理プロトコル(SNMP)を用いて管理可能である。このネットワーク管理モジュールはまた、ウェブベースのインターフェイスを用いて監視されてもよい。そのようなウェブベースのインターフェイスは、HTTPプロトコルを用いてネットワークを介してブラウザプログラムにダウンロードされるソフトウェアによって提供されてもよい。サーバ102は、1つ以上の通信プロトコルを用いてシステム103A〜103Cを制御し、監視するよう適合されていてもよく、この発明が特定のタイプのプロトコルに限定されないことが理解されるべきである。
汎用コンピュータシステム
この発明の一実施例に従ったサーバシステム201は、たとえば、1つ以上のコンピュータシステム上で実現されてもよい。これらのコンピュータシステムは、たとえば、インテルペンティアム(登録商標)(Intel PENTIUM)タイプのプロセッサに基づいたものといった汎用コンピュータ、特殊用途プロセッサ(たとえば、ビアテクノロジーズ社(Via Technologies, Inc.)から入手可能なC3プロセッサ)、または他のどのタイプのプロセッサであってもよい。この発明のさまざまな実施例に従ってソフトウェア更新版を受信し、配布するために、1つ以上のどのタイプのコンピュータシステムが使用されてもよいことが理解されるべきである。さらに、システムは単一のコンピュータ上に配置されてもよく、または、通信ネットワークによって接続された複数のコンピュータ間で分散されてもよい。
この発明の一実施例に従った汎用コンピュータシステムは、1つ以上の他のシステムに関連付けられたソフトウェアプログラムを更新するよう設定されている。このシステムがそれ自体のソフトウェアを更新することを含む他の機能を実行してもよいこと、または他のどの機能を実行してもよいことが理解されるべきであり、この発明は特定の機能または1組の機能を実行することに限定されない。たとえば、このシステムは、たとえばネットワーク管理システムといった既存の市販製品において実現されてもよい。他の実現化例も可能であり、この発明は特定の実現化例に限定されない。
たとえば、この発明のさまざまな局面は、図2に示すものなどの汎用コンピュータシステム201において実行中の特殊ソフトウェアとして実現されてもよい。コンピュータシ
ステム201は、ディスクドライブ、メモリ、またはデータを格納するための他の装置といった1つ以上のメモリ装置203に接続されたプロセッサ202を含んでいてもよい。メモリ203は通常、コンピュータシステム201の動作中にプログラムおよびデータを格納するために使用される。コンピュータシステム201内の装置は通信装置またはシステム205によって結合されてもよく、それは、たとえば、システム201内でデータを通信する1つ以上の通信要素(たとえばバス、ブリッジ、ルータなど)を含んでいてもよい。コンピュータシステム201はまた、キーボード、マウス、または印刷装置といった1つ以上の入力/出力装置207も含む。加えて、コンピュータシステム201は、コンピュータシステム201を1つ以上の通信ネットワーク(たとえばネットワーク208)に接続する1つ以上の通信装置204を含んでいてもよい。この発明の一実施例では、システム201は、パブリックネットワークまたはプライベートネットワークのいずれかに配置された装置のソフトウェアを更新する責任を担っており、したがって、このシステムは2つのネットワークインターフェイスを有する。一方はプライベートネットワークに結合され、一方はパブリックネットワークに結合されている。
一実施例では、この発明のさまざまな局面は、ロードアイランド(RI)州ウエストキングストン(West Kingston)のアメリカン パワー コンバージョン コーポレイション(American Power Conversion Corporation:APC)から入手可能なインフラストラクチャ・マネージャ(InfraStrucXure Manager)サーバアプライアンス製品において実現されてもよい。このインフラストラクチャ・マネージャ製品は、APC装置のウェブブラウザベースの遠隔管理を提供する。
この発明のさまざまな局面が実践され得るコンピュータシステムの一種としてコンピュータシステム201が例示されているが、この発明が、図2に示すようなコンピュータシステム上で実現されるよう限定されてはいないことが理解されるべきである。この発明のさまざまな局面は、図2に示すものとは異なるアーキテクチャまたは構成要素を有する1つ以上のコンピュータ上で実践されてもよい。
コンピュータシステム201は、高レベルのコンピュータプログラミング言語を用いてプログラム可能な汎用コンピュータシステムであってもよい。コンピュータシステム201はまた、特別にプログラムされた特殊用途ハードウェアを用いて実現されてもよい。コンピュータシステム201では、プロセッサ202は通常、インテル社(Intel Corporation)から入手可能な周知のペンティアム(登録商標)クラスのプロセッサといった、商業的に入手可能なプロセッサである。多くの他のプロセッサが利用可能である。また、これに代えて、この発明のさまざまな局面は、(特殊用途プロセッサおよびメモリを有する)特殊用途コンピューティングシステム上で実現されてもよい。そのようなプロセッサは通常、たとえば、マイクロソフト社から入手可能なウィンドウズ(登録商標)CE(Windows CE)、ウィンドウズ(登録商標)NT(Windows NT)、ウィンドウズ(登録商標)サーバ2XXX(Windows Server 2XXX)、ウィンドウズ(登録商標)2000(Windows 2000)(ウィンドウズ(登録商標)ME(Windows ME))、またはウィンドウズ(登録商標)XPオペレーティングシステム、もしくは、さまざまなソース(たとえばリナックス(登録商標)(Linux))から入手可能なUNIX(登録商標)ベースのオペレーティングシステムであってもよいオペレーティングシステムを作動させる。多くの他のオペレーティングシステムが使用されてもよく、この発明は特定の実現化例に限定されない。
この発明のさまざまな実施例に従ってソフトウェア更新版を適用する二次サーバの例示的なハードウェア設定は、以下の構成要素を含む:
プロセッサ:ビアC3@800MHz
ランダム・アクセス・メモリ 256MB PC133
ネットワークインターフェイスカード リアルテック(RealTec)RTL8139C
2個(1つはパブリックネットワークに結合され、1つはプライベートネットワークに結合される)
シリアルポート RS−232 1個、RS−485 1個
ユニバーサル・シリアル・バス 2 USB1.1
ハードディスクドライブ 40GB 5400RPM IDE
ハードウェア ウォッチドッグ(HW WatchDog) 1〜255秒/1秒単位。
この発明のさまざまな実施例は、スモールトーク(SmallTalk)、Java(登録商標)、C++、エイダ(Ada)、またはC♯(C−シャープ)といったオブジェクト指向プログラミング言語を用いてプログラムされてもよい。他のオブジェクト指向プログラミング言語も使用されてもよい。また、これに代えて、関数プログラミング言語、スクリプトプログラミング言語、および/または論理プログラミング言語が使用されてもよい。この発明のさまざまな局面は、プログラムによらない環境で実現されてもよい(たとえば、ブラウザプログラムのウインドウに表示された場合に、グラフィカルユーザインターフェイス(GUI)の局面を与えるか、または他の機能を実行する、HTML、XMLまたは他のフォーマットで作成された文書)。この発明のさまざまな局面は、プログラムによる要素、またはプログラムによらない要素、もしくはそれらのいずれかの組合せとして実現されてもよい。
この発明がある特定のコンピュータシステムプラットホーム、プロセッサ、オペレーティングシステム、またはネットワークに限定されないことが理解されるべきである。また、この発明が特定されたプログラミング言語またはコンピュータシステムに限定されないことは、当業者には明らかなはずである。さらに、他の適切なプログラミング言語および他の適切なコンピュータシステムも使用可能であることが理解されるべきである。
このシステムの1つ以上の部分が、通信ネットワーク208に結合された1つ以上のコンピュータ(たとえばシステム209〜210)に分散されてもよい。これらのコンピュータシステム209〜210も、汎用のコンピュータシステム(たとえばシステム201に関連して機能する管理プログラムを実行するクライアントコンピュータ)であってもよい。たとえば、この発明のさまざまな局面は、1つ以上のクライアントコンピュータにサービスを提供するよう設定された(たとえばサーバ)、または分散型システムの一部としてタスク全体を実行するよう設定された1つ以上のコンピュータシステム間で分散されてもよい。たとえば、この発明のさまざまな局面は、この発明のさまざまな実施例に従ってさまざまな機能を実行する1つ以上のサーバシステム間で分散される構成要素を含むクライアント−サーバシステム上で実行されてもよい。これらの構成要素は、通信プロトコル(たとえばTCP/IP)を用いて通信ネットワーク(たとえばインターネット)を通して通信する実行可能コード、中間コード(たとえばIL)または解釈コード(たとえばJava(登録商標))であってもよい。
この発明が特定のシステムまたは一群のシステム上で実行されるよう限定されないことが理解されるべきである。また、この発明が特定の分散型アーキテクチャ、ネットワーク、または通信プロトコルに限定されないことも理解されるべきである。
この発明の一実施例に従った、ソフトウェアを更新するための1プロセスを、図3に示す。ブロック301で、プロセス300が始まる。ブロック302で、システム(たとえばサーバ102)は、ファームウェア、アプリケーションソフトウェア、およびソフトウェア(たとえばアプリケーション、OS、または双方)の更新版が利用可能かどうか判断可能であってもよい。更新サーバ(たとえば更新サーバ101)は、更新版についてチェックを受けている各製品タイプについての利用可能な更新版の「カタログ」を返送するよう設定されていてもよい。このチェックは、たとえば、1つ以上のシステム(たとえばシ
ステム103A〜103C)に更新版を適用する責任を担っているサーバ上で実行中のソフトウェアによって行なわれてもよい。
ブロック302で、システム(たとえば更新版を適用するシステム)は、1つ以上の更新版が利用可能かどうかを判断する。たとえば、ソフトウェアプログラムは、ある特定の更新版がある管理されたシステムに関しているかどうかを判断するよう設定されていてもよい。たとえば、ソフトウェアプログラムは、それ自体の製品バージョン、およびそれが管理しているソフトウェア製品(またはエンティティ)の1つ以上についての製品バージョンを、カタログと比較してもよい。(たとえばブロック303で)そのサーバが管理している製品のいずれかについての更新版があると判断された場合、(たとえばブロック304で)サーバはその更新版をダウンロードし、ユーザにその利用可能性を通知することができる。利用可能な更新版がないと判断された場合、システムは待機モードで作動してもよく、または管理されるシステムに関する他の管理機能を行なってもよい。
サーバはまた、ブロック304で、更新版を配布し、更新版を1つ以上の遠隔システムに適用するよう設定されてもよい。製品ソフトウェアタイプを一意的に定義するための、かつ更新版がいつ利用可能かを比較して判断するための機能もあってもよい。ブロック306で、プロセス300が終了する。さらに、一実施例によれば、更新版を適用する責任を担うシステムは、定期的に修正されるハードウェア設定を有するモジュラーシステムの一部であってもよい。このため、サーバは、そのモジュラーシステムの構成要素のいずれかを更新する必要があるかどうかを判断するために、それらの構成要素を評価してもよい。たとえば、このシステムは、コンピュータおよび他のシステム負荷にバックアップ電力を提供するモジュール方式の無停電電源(UPS)システムの一部であってもよい。
図4A〜4Bは、ソフトウェアプログラムを更新するためのプロセス400を示す。ブロック401で、プロセス400は始まる。ブロック402で、サーバ上で実行中のソフトウェアプログラムが、利用可能な更新版のカタログ(たとえば、カードまたはモジュールファームウェア、管理、アプリケーションおよびオペレーティングシステムソフトウェア用プラグインプログラム)を更新サーバからダウンロードするよう設定される。一実施例では、更新サーバは、インターネットなどのパブリックネットワークを介してサーバに結合される。更新サーバは、既に消費者に流通している製品内のソフトウェアおよびファームウェアを更新するために、構成要素またはシステム製造業者(たとえばロードアイランド州ウエストキングストンのアメリカン パワー コンバージョン コーポレイション)によってネットワーク上に配置されてもよい。このように、消費者は、製品を製造業者に返却したりまたは製品をすっかり取り替えたりする必要なく、たとえばエラー修正に対処し、新機能を提供するなどといった新しいソフトウェアバージョンを受取ることができる。
ブロック403で、ソフトウェアプログラムは、更新サーバからダウンロードされた利用可能な更新版のカタログを、現在のカタログと併合する(それが存在する場合)。既存のカタログが存在しない場合、それは、管理される装置の各々から取得される情報から構築されてもよい。たとえば、ブロック404で、ソフトウェアプログラムが、実行される際に、管理される装置の各々の上で実行中のソフトウェアのソフトウェアバージョンを検査してもよい。そのような検査は、サーバと管理される装置のうちの1つ以上との間のいずれかの通信プロトコルを用いて行なわれてもよい。ブロック405で、プログラムは、管理される装置の各々のためのソフトウェアに関する情報(たとえばソフトウェアバージョニング情報)をデータベースに格納する。この情報は、管理される装置に関する情報のカタログを作成するために使用されてもよい。
ブロック406で、サーバソフトウェアは、それが管理しているエンティティのソフト
ウェアバージョンをカタログの情報と比較し、その比較に基づいて、更新版が利用可能かどうかを判断する。
別の実施例では、サーバソフトウェアは、サーバソフトウェアが管理している装置のいずれかが利用可能な更新版を有する場合に、(たとえばグラフィカルユーザインターフェイス、Eメールなどで)ユーザに通知するよう設定される。この発明の一局面では、サーバソフトウェアは、遠隔装置/システムでの更新版のインストールを容易にし、更新される装置/システムを識別するステータス報告を(たとえばユーザに)提供する。ブロック407で、サーバソフトウェアは、利用可能な更新版のいずれかが管理される装置のいずれかに適用されるべきかどうかを判断する。更新版のいずれかが管理システムのいずれかに適用されるべきであると判断された場合、ブロック408で、ソフトウェアプログラムは、適用されるべき更新版を管理される装置にダウンロードしてもよい。一実施例では、ダウンロードされる更新版は、更新される必要がある管理される装置に関するものだけである。
ソフトウェアプログラムは、更新版の1つ以上のファイルを管理される装置に適用する前に、ブロック409でそれらのファイルの妥当性をオプションとして検査してもよい。この機能は、たとえば、ファイル(または複数のファイル)の1つ以上の部分のチェックサムを、ファイル(または1組のファイル)内に配置されたチェックサムと比較して判断することによって、行なわれてもよい。他の検証方法が行なわれてもよい。
ブロック410で、ソフトウェアプログラムは、適用可能な管理される装置に1つ以上のファイルをロードする。そのようなロードは、たとえば、1つ以上のファイル転送プロトコル(たとえばTFTP、FTPなど)またはプログラムを装置にロードするための任意の他の方法を用いて行なわれてもよい。ブロック411で、管理装置は、(たとえばブロック411で)更新版が実施されるよう、リセットまたは再始動される必要があってもよい。状況に応じて、ソフトウェアプログラムはブロック412で、更新版のうちの1つ以上が成功していたことを検証してもよい。そのような検証は、たとえば、装置が適正に作動していることを示す管理装置上の1つ以上の機能(たとえばステータス問合せ)または他の動作を行なうことによって、実行されてもよい。ブロック413で、プロセス400は終了する。
例示的な1システムでは、利用可能な更新版についての情報を保持する更新サーバが存在する。この更新サーバは、インターネットおよび/または他のネットワークを介して二次サーバに結合されてもよい。別の実施例では、更新サーバは、フィールドにおけるソフトウェア構成要素から(たとえば二次サーバから)要求を聴取するよう設定され、利用可能な更新版についての情報を含む応答を請求するよう設定される。この更新サーバは、たとえば、機器および/またはソフトウェア製造業者によって維持されてもよく、更新サーバは、(たとえば製造業者によって)新たにリリースされたソフトウェアが利用可能となった際に更新され得る。
一実施例では、二次サーバは、顧客のネットワーク上の多数の装置に管理を提供してもよい。たとえば、二次サーバは、図2に関して上述したようなネットワーク管理プロトコルを用いて装置/システムを管理してもよい。これらさまざまな装置の管理の一部として、サーバは、(たとえばSNMPといったネットワーク管理プロトコルを用いて装置をポーリングすることによって)装置上で実行中のソフトウェア/ファームウェアのバージョンを取得する能力を有する。二次サーバソフトウェアは、利用可能な更新版について更新サーバに問合せる更新構成要素を提供する。
利用可能な更新版を識別する情報を受取ると、更新構成要素は、それが認識しているソ
フトウェア/ファームウェアのバージョンと、更新サーバから取得されたバージョンとを突き合わせてチェックする。そのようなチェックは、たとえば、現在システムにインストールされているソフトウェアを識別するファイル名情報を、ある特定の更新版に関連付けられたファイル名情報と比較することによって行なわれてもよい。いずれかの更新版が利用可能である場合、その更新版は更新サーバから二次サーバにダウンロードされる。その後、それらの利用可能性がユーザに通知されてもよい。ユーザは、フィールドにおける装置に更新版を要望通り配布するために二次サーバを使用してもよい。さらに、二次サーバは、更新版を自動的に受信して適用するよう適合されていてもよい。
二次サーバを有することの1利点は、更新される必要のある各装置が更新のために更新サーバに接触する必要がないことである。また、これに代えて、更新版が利用可能かどうかを判断し、更新サーバから適切なソフトウェアを1度にダウンロードする二次サーバが提供される。従来のソフトウェア配布システムでは、同じソフトウェアが異なるクライアントによって多数回ダウンロードされる。その結果、各クライアントは更新サーバと通信する能力を持たなければならず、より有能なクライアントを必要とする。また、大多数のエンドクライアントにサービスを直接提供する従来の更新サーバには、同じファイルについての要求が多数殺到する場合がある。一実施例によれば、多数の装置用のプロキシとして作用する二次サーバが提供される。
さらに、一実施例によれば、どの装置が実際に更新されるか、およびいつそれらの更新版が生じるかに対する制御が、ユーザに提供される。つまり、装置のダウンロードおよび更新が連続して行なわれる必要はない。すなわち、更新版が一旦ダウンロードされると、それは適用される。むしろ、更新版がダウンロードされてしばらくしてから、予め定められたスケジュールまたは1組の規則に従ってダウンロードが適用されてもよいという点で、更新プロセスはユーザ設定可能であってもよい。ネットワーク装置または他のシステム構成要素の場合、ソフトウェアの更新版は、装置がリセットされることを必要とするかもしれず、したがって、適正な時点で、または適正なシーケンスで更新版を適用する必要があるかもしれない。
さらに、別の実施例によれば、ソフトウェア更新版が利用可能である場合にユーザへの通知が提供される。これは、たとえば、二次サーバによって管理されるある特定の装置に整合する更新版が利用可能である場合に起こり得る。この通知は、たとえば、装置のアドミニストレータへのeメール、または他の通知を送信することによって行なわれてもよい。これに対し、従来のソフトウェア更新システムは、アプリケーションを使用する場合しかユーザに通知しない。
しかしながら、通常ユーザによって操作されない装置または他のシステム(たとえばUPSシステム)については、従来の装置またはシステムでは、更新版が利用可能である場合を判断するために通知が提供されることはない。したがって、この発明の一局面によれば、アドミニストレータの制御下にある装置および他のシステムに、通知が提供される。
一例では、二次サーバは、装置およびそれらの識別情報(たとえばモデル番号、ファームウェア/ソフトウェア改訂版など)のリストを保持しており、この情報を更新サーバによって提供される情報と比較する。この比較に基づき、更新版が存在すると判断された場合、通知がユーザ(たとえばネットワークアドミニストレータ)に送信され、利用可能な更新版を識別する。更新版が利用可能である場合にユーザに通知することにより、アドミニストレータは、更新版について更新サーバを(たとえばウェブサイトを通して手動で)定期的にチェックしなければならない代わりに、更新版が利用可能である場合にはサーバがアドミニストレータに通知するようにすることによって、「セットして忘れる」ことができる。さらに、新製品を管理するために二次サーバが更新される際、これらの新製品を
サポートするために、これらの製品についてのファームウェア更新メカニズムが自動的に実施される。
要求中のサーバ(たとえば二次サーバ)が評価のために各々別個の管理される構成要素を返送するのではなく、更新サーバが、利用可能な更新版のカタログを要求中のサーバに提供する。一設定例によれば、管理される構成要素が更新サーバに返送されないため、更新サーバに返送される情報の量(ひいては、更新サーバが結合されるネットワーク)が減少する。さらに、フィールド装置およびシステムを更新するために中間サーバが提供されるため、新しい装置およびシステムをサポートするために更新サーバプロトコルを修正する必要性が減少する。
以下の例は、ソフトウェアを更新するためのシステムおよび方法のさまざまな実施例を説明している。この発明はこれらの特定の実施例に限定されず、むしろ、この発明は他の局面から独立した1つ以上の局面を含んでいてもよい。以下は、更新サーバ、二次サーバ、および二次サーバによって管理される装置(たとえばUSPシステム構成要素)を説明している。例では、更新サーバは製品製造業者(たとえばアメリカン パワー コンバージョン コーポレイション(APC)によって維持され、顧客の機器にソフトウェアおよびファームウェア更新版を提供するために利用可能となっている。
例示的なアーキテクチャおよび設計
図5は、この発明の一実施例に従った、ソフトウェアプログラムを更新するための例示的なプロセス500を示す。より特定的には、図5は、1つ以上の管理される装置に更新版を適用する責任を担っているサーバによって行なわれ得るプロセスを示している。ブロック501で、サーバプログラム(たとえばアプリケーション)が、サーバ(たとえば二次サーバ)で実行される。ブロック502で、二次サーバは、更新サーバからの利用可能な更新版のリストを初期化する。たとえば、このリストは、更新サーバに関連付けられた格納場所からダウンロードされる利用可能な更新版のファームウェア更新版リスト(たとえばfirmware_update_avail.txt)であってもよい。ブロック503で、利用可能な新しいファームウェア更新版があるかどうかが判断される。
一実施例では、オフラインカタログ更新が行なわれるようにするインポートファイルが使用されてもよい。たとえば、シンサーバへのFTP転送を介するオフライン更新が、管理される装置に更新版を伝搬するために使用されてもよい。一例では、ユーザは、インポートカタログおよびファームウェア更新版ならびに管理構成要素を(たとえば「プラグイン」プログラムの形態で)配置し、これらの更新版の参照を更新ディレクトリに配置し、それから、次のサーバアプリケーション起動または更新版についてのチェックの最中に、インポートカタログは利用可能なカタログと併合される。より特定的には、インポートカタログ記録は、そのファイルが存在する場合には、利用可能なカタログに併合され、その他の場合には、インポートカタログ記録は破棄される。
ブロック504で、サーバアプリケーションは、新しく利用可能な更新版をファームウェア更新版リストに併合し、新しい利用可能なファームウェア更新版のリストを削除する。ブロック505で、係属中のファームウェア更新版リスト(たとえばテキストファイル)が存在するかどうかが判断される。更新版が更新サーバからダウンロードされる際、そのようなリストは、たとえば二次サーバによって保持されてもよい。たとえば、このファイルは、ファームウェアダウンロードの進行を追跡するために作成されてもよい。たとえば更新サーバから更新版をダウンロードするためのプロセスが成功しなかった場合、後の時点でダウンロードプロセスを続けるかまたは再試行するために、このファイルのステータスがチェックされてもよい。一例では、係属中のファームウェア更新版リストの存在は、ダウンロードプロセスが成功しなかったことを示す。
係属中のダウンロードリストが存在する場合、ブロック506で、欠落している更新版が更新サーバからダウンロードされる。たとえば、更新サーバは、更新版を装置に提供するために製造業者(たとえばAPC)によって維持されてもよい。ブロック507で、新しく利用可能な更新版がファームウェア更新版利用可能リストに併合され、一例では、係属中のファームウェアリストが削除される。
ブロック508で、装置上の更新されたファームウェアを管理するために、またはその他の場合にそれと通信するために使用されるいずれかの制御を更新する必要があるかどうかが判断される。つまり、更新されたソフトウェアを有する管理装置と通信するために関連したクライアントまたは管理サイドのプログラムが存在する場合がある。そのようなソフトウェア構成要素またはプログラムは、別のプログラム(たとえばインターネット・エクスプローラ・ブラウザプログラム)に追加されるプラグインプログラムの形であってもよい。
たとえば、異なる装置と通信するための制御を表わすプラグインプログラムのリストがあってもよい。これらの制御のリスト作成は更新サーバから利用可能であってもよく、二次サーバは関連したどの制御をロードするかどうかを判断してもよい。ブロック508で、たとえば、二次サーバは更新サーバからプラグイン制御のリストを取得してもよい。ブロック509で、ファームウェア制御のインポートリストが存在するかどうかが判断される。存在する場合、二次サーバは、新しく利用可能なプラグインを利用可能なファームウェア制御のリストに併合し、インポートリストを削除する。ブロック511で、二次サーバにまだダウンロードされていない更新版について、係属中の更新版のリストが保持される。ブロック512で、二次サーバが持っていない、更新サーバで利用可能なプラグインがあると判断された場合、ダウンロードが利用可能であることを示すイベントがサーバアプリケーションに発行されてもよい。その後、サーバアプリケーションが適切な制御をダウンロードしてもよい。
ファームウェアおよび制御が二次サーバにダウンロードされた後、これらの更新版が、装置およびそれらを管理するプログラムに適用されてもよい。適用されるべき新しい更新版があるかどうかを判断するために、同様の更新プロセスが再度行なわれてもよい。
一実施例では、更新版は更新サーバから1つ以上の二次サーバにトリガされる。たとえば、ブロック602で、二次サーバは、更新サーバにおけるソフトウェア更新版についてチェックするよう設定される。これは、たとえば、更新サーバにより、登録された二次サーバにイベントを送信することによって行なわれてもよい。また、これに代えて、二次サーバが更新サーバに接触することによって、更新版が定期的に判断されてもよい。一例では、二次サーバは、それがファームウェアおよび制御更新版の最も最近のリストを含むかどうかを判断してもよい。その後、図5を参照して上述したものと同様のソフトウェアを更新するために、同様のプロセスが使用されてもよい。
図7は、利用可能な更新版をダウンロードするためのプロセスを示す。一例では、プラグインまたはファームウェア更新版のダウンロードが失敗すると、そのダウンロードは、別のチェックが行なわれるまでは、別のダウンロードのために再度利用可能にはならない。上述のような係属中のカタログは、その対応するダウンロードセッションの後で取り除かれてもよく、成功裡にダウンロードされたファイルについての記録のみが保持されてもよい。
プラグインダウンロード中にサーバがシャットダウンすると、サーバが再始動したときにセッションが自動的には再開しない場合がある。一例では、ユーザは、失敗したいずれ
かのプラグインをダウンロードするためにトリガされる新しいセッションにおいて、再度許可を与えなければならない。一実施例によれば、既に成功裡にダウンロードされたどのプラグインも、再度ダウンロードされなくてもよい。なぜなら、それらの情報は(たとえば併合動作中に)カタログに保持されており、それらは装置の更新に使用するために利用可能であるためである。
ブロック701で、二次サーバは、更新サーバから係属中のファイル要求をダウンロードする。このリストは、二次サーバへのダウンロードがスケジュールされているファイルを識別する。ブロック702で、二次サーバは、更新サーバからプラグイン係属中リストをダウンロードしてもよい。このリストは、1つ以上の管理される装置を管理するために必要などの制御も識別することができる。ブロック703で、二次サーバは、新しく利用可能なプラグインを、利用可能な制御のリスト(たとえばfirmware_controls_avail.txt)に併合する。ブロック704で、二次サーバは、プラグイン係属中リストを消去し、制御係属中リストを削除する。とりわけ、1つ以上のプラグインをダウンロードするプロセスが成功しなかった場合、これらのファイルの存在は、プラグインのうちのいくつかまたはすべてをダウンロードする必要があることを示す場合がある。ブロック705で、二次サーバは、新しいダウンロードが更新サーバで利用可能であることを示すダウンロード利用可能イベントおよび状態を消去する。ブロック706で、二次サーバは、プラグイン整合についてチェックするよう、各装置に対して要求を発行する。たとえば、管理装置にロードされたソフトウェアに制御が整合するかどうかを判断するために各装置で行なわれる何らかのチェックがあってもよい。
図8A〜8Bは、管理装置初期化の結果として行なわれるソフトウェア更新プロセスを示す。また、装置が発見されて、通信が途絶えた状態から復帰した際に、または更新ファームウェア要求が完了した後で、プロセス800、820が行なわれてもよい。
ブロック801で、単一の装置に対するファームウェア更新版についてのチェックが、二次サーバによって行なわれる。ブロック802で、二次サーバは、管理装置によって実行中のソフトウェア用のアプリケーションファイル名および/またはファームウェアファイル名について、装置をポーリングする。ブロック803で、二次サーバは、管理装置に関連付けられたより新しい改訂版をファームウェア更新版リストが含んでいるかどうかを判断する。ブロック804で、二次サーバは、管理装置用の次のバージョンが利用可能であることを報告してもよく、実行されるべき利用可能な更新版が存在することを示すために、装置に関連付けられた更新版ステータスを変更してもよい。ブロック805で、二次サーバは、更新版利用可能イベントを発行し、装置にとって利用可能な更新版が存在することを示す状態変更を報告する。状態のそのような表示は、装置を管理するために使用される二次サーバによって提示されるアプリケーションでユーザに提示されてもよい。また、これに代えて、表示は、他の方法(たとえばeメールメッセージ、SNMPトラップなど)によってユーザまたはネットワークアドミニストレータに提示されてもよい。
図8Bは、管理装置に関連付けられた制御についてのチェックを示す。ブロック821で、二次サーバは、管理装置についての制御をチェックする。ブロック822で、二次サーバは、制御に関連付けられたアプリケーションファイル名について装置をポーリングする。ブロック823で、装置の特定の改訂版について更新された制御が存在するかどうかが判断されると、ブロック824で、新しい制御が利用可能であることが報告される。特に、二次サーバは(たとえば管理アプリケーション、eメール、または他の表示で)制御の名前と装置のステータスの変更とを報告してもよい。ブロック825で、二次サーバは、新しい制御が利用可能であることを示すイベントを発行する。
図9は、この発明の一実施例に従った、ソフトウェアを更新するためのプロセス900
を示す。特に、プロセス900は、1つ以上の管理装置を更新するためにユーザに管理インターフェイスを提示するために従われ得る手順を示している。ブロック901で、ユーザはコンソールにログインし、更新サーバで利用可能な更新された構成要素の利用可能性を監視することを許可される。ブロック902で、二次サーバは、装置を管理するために使用される管理構成要素を含む管理装置情報を取得する。ブロック903で、ユーザは装置上で、ユーザに提示されたステータスウインドウ内で選択する。
ブロック904で、装置は関連した構成要素を有するかどうかが判断される。有する場合、ブロック911で、その構成要素は管理コンソールに既にインストールされているかどうかが判断される。インストールされている場合、ブロック910で、どのネットワークに装置が配置されているかが判断される。たとえば、更新中の装置がパブリックネットワークに配置されている場合、ブロック912で、構成要素は装置にインストールされる。つまり、装置がパブリックネットワークに配置されている場合、装置を管理するために使用される構成要素は一般に装置のメモリ内に配置されており、必要に応じてクライアントにダウンロードされる。装置がプライベートネットワークに配置されている場合、ブロック913で、二次サーバが装置を管理できるようにするために、構成要素は二次サーバにインストールされる。
ある特定の装置に関連付けられた構成要素がない場合、ブロック905で、その装置に関連付けられた更新版に関する情報を提示する詳細スクリーンが存在するかどうかが判断される。存在する場合、ブロック906で、詳細スクリーンが起動される。存在しない場合、ブロック907で、この特定の装置にとって利用可能な詳細はないという表示がユーザに提示されてもよい。
ブロック911で、管理コンソールで利用可能な構成要素がないと判断された場合、構成要素が更新サーバからダウンロードされる。ブロック909でダウンロードが成功したと判断された場合、次に(たとえばブロック908で)構成要素が正しくインストールされたかどうか、チェックが行なわれてもよい。正しくインストールされていなかった場合、ブロック907で、エラーメッセージがユーザに表示されてもよい。しかしながら、構成要素が正しくインストールされていた場合、その構成要素は、ブロック912、913で、装置または二次サーバにそれぞれ適宜インストールされてもよい。
図10A〜10Bは、更新サーバからのソフトウェアのダウンロードに関するいくつかの実施例を示す。ブロック1001で、ユーザは(たとえば二次サーバによって提示されたように)コンソールにログインする。ブロック1002で、更新サーバによって提供され、二次サーバには存在しない構成要素があるかどうかが判断される。ない場合、ブロック1006で、ユーザはログインプロセスを続けることを許可される。新しい構成要素がある場合、ブロック1003で、ユーザが新しい構成要素をダウンロードすることについて促されることを望んでいないかどうかを示すフラグが二次サーバにセットされているかどうかが判断される。たとえば、コンソールのユーザインターフェイスにセット可能な、「再度ダウンロードするか聞かないで下さい」("Don't Ask Me To Download Again")と呼ばれるフラグがあってもよい。このフラグがイネーブルになっている場合、1006で、ユーザはログインプロセスを続けることを許可される。イネーブルになっていない場合、ブロック1004で、ユーザは、更新された構成要素がダウンロードされてもよいかどうか促されるかもしれない。促される場合、ブロック1005で、二次サーバはそれらをオフラインでダウンロードするよう命令されてもよい。促されない場合、ブロック1006で、ユーザはログインプロセスを続けることを許可されてもよい。
図10Bでは、ブロック1021で、ダウンロード利用可能イベントがサーバから受取られたと判断される。この表示は、たとえば、ダウンロードが更新サーバから利用可能で
あることを示す、更新サーバによって二次サーバに送信された表示であってもよい。ブロック1022で、利用可能なダウンロードに関してユーザが促されることを望んでいないことを示すフラグがセットされていると判断されると、ブロック1025で、管理プロセスが続けられる。フラグがセットされていない場合、ユーザはブロック1023で、制御が更新サーバからダウンロードされてもよいかどうかについての表示を(たとえば管理プログラムのインターフェイスで、または他の表示方法によって)提供するよう、促されてもよい。制御がダウンロードされてもよい場合、ブロック1024で、二次サーバは更新版をオフラインでダウンロードするよう設定される。そうでない場合、ブロック1025で、制御は管理コンソールに戻される。
一例では、インフラストラクチャは、多数の製品の要望を盛込むよう、更新可能な各アプリケーションについて別個のディレクトリに編成されてもよい。二次サーバ製品更新版アプリケーションおよびダウンロードのために、「aem」ディレクトリが確保されている。このディレクトリは、製品更新版ルート、https://autoupdatev2.apcc.com/に関連している。ソフトウェア更新版を実行する、クライアントシステム上の二次サーバ(または双方)で実行中のソフトウェアアプリケーションで、以下、二次サーバソフトウェアアプリケーションと呼ばれるものは、2つの機能的部分、すなわち、ネットワーク管理カードのファームウェア更新版と、二次サーバおよびその管理されるソフトウェア構成要素についてのソフトウェア更新版とを含んでいる。
ファームウェア更新版
二次サーバは、何千ものエンティティ、たとえば、管理される装置に関連付けられたネットワーク管理カード(NMC)について、ファームウェアを管理する。ネットワークおよびアプリケーション効率については、二次サーバは、その開発ビルド番号をソフトウェアアプリケーション(たとえば、更新サーバ上に存在し、そこで実行中のプログラム)に報告し返し、そのアプリケーションは完全な1組のファームウェア更新版情報を返送する。このデータは、たとえば、利用可能な更新版を説明しているデータベースから直接読出すことによって、要求時点で生成される。開発ビルド番号は、報告中の製品のリリースステータスに基づいてデータをフィルタリングすることを可能にする。
一実施例によれば、二次サーバは、以下の入力および出力データフォーマットを認識してもよい。
入力データフォーマット
一実施例では、二次サーバはHTTP POSTを用いて、以下のデータフィールドを二次サーバソフトウェアアプリケーション(たとえば製品更新ウェブアプリケーション)に送信する。以下は、一実施例に従った例示的なデータフォーマットを示している。
Figure 2007510987
出力データフォーマット
一実施例によれば、データは、コンマで区切られたASCIIテキストストリームで返送されてもよい。全部で9つのコンマで隔てられた10のフィールドが更新エントリごとに存在する。二次サーバに返送された各更新エントリラインは、空白のデータフィールドにかかわらず、完全な1組のコンマを有することが保証されている。セミコロンは、各更新エントリを区切っている。二次サーバに返送された各エントリラインは、セミコロンで終わることが保証されている。
Figure 2007510987
他の特徴
この発明の一実施例に従ったソフトウェア更新プロセスに関する1つ以上の追加の特徴があってもよい。たとえば、ソフトウェア更新プロセスを管理する上で有益であり得る、二次サーバおよびソフトウェア更新アプリケーションの追加の特徴があってもよい。
二次サーバ
・顧客環境についての情報(在庫情報、顧客登録など)を報告する。
ソフトウェア更新アプリケーション
・データベースデータは一般に頻繁には変わらないため、データベース要求をキャッシュする
・ダウンロードされた各到着要求について、追加の顧客固有情報をログ記録する
・別の例示的な設定では、二次サーバは完全な1組の製品更新版情報をダウンロードする。これは、二次サーバが更新版を適用するための基準を判断するため、ファームウェア更新ウェブアプリケーションから制御および柔軟性を取り去る。
サーバソフトウェア更新版
二次サーバのサーバソフトウェア(たとえば管理アプリケーションプログラム)は、適用可能なプラグインアプリケーションを含むそれ自体のアプリケーションのすべてまたは一部を更新可能であってもよい。二次サーバについての製品更新版要求は1対1ベース(二次サーバの各インスタンスについて1つの要求)で行なわれ得るため、二次サーバは、その現在のバージョンを説明するデータを、更新サーバ上のプログラムまたは他のエントリに報告し返してもよい。この情報により、二次サーバ製品更新アプリケーション(たとえばウェブベースのアプリケーション)は、どの更新版が、もしあれば、その二次サーバソフトウェアバージョンに当てはまるかを判断できるようになる。
更新可能製品バージョンについての情報は、更新サーバに配置されたデータベースに含まれていてもよい。更新版の各々についての情報は、関連したデータベースに含まれていてもよい。ウェブアプリケーションは、一例では、1つ以上の更新版が配置され得るURL場所(たとえば安全なHTTP URL)を返送してもよい。
入力データフォーマット
一例では、二次サーバはHTTP POSTを用いて、以下のデータフィールドを二次サーバ製品更新アプリケーションに送信する。以下の表3は、この発明の一実施例に従った例示的な入力データフォーマットを示している。
Figure 2007510987
出力データフォーマット
二次サーバ製品更新ウェブアプリケーションは、一実施例によれば、以下の3つの応答シナリオを有する:
1.必要なデータが二次サーバ製品更新ウェブアプリケーションによって受信されていない場合、アプリケーションは「不正形式の要求]を返送する
2.報告された二次サーバソフトウェアバージョン情報に適用可能な更新版がない場合、アプリケーションは「更新版利用不可」を返送する
3.報告された二次サーバソフトウェアバージョン情報に適用可能な更新版がある場合、アプリケーションは以下のデータを返送する。
以下の表4は、この発明の一実施例に従った例示的なデータフォーマットを示している。
Figure 2007510987
他の特徴
・顧客環境についての情報(在庫情報、顧客登録など)を報告する。
製品更新アプリケーション
・各到着要求について追加の顧客固有情報をログ記録する。
一実施例によれば、二次サーバソフトウェアは、利用可能な更新版をダウンロードするために、安全なHTTP接続またはFTP接続を使用してもよい。
自動更新サーバは、ウェブカード更新記録を格納するための別個の表を格納していてもよい。製品マネージャが製品更新版を(たとえば管理される装置用の)ソフトウェアキットに関連付けることができるよう、カタログが更新されてもよい。
一実施例に従った装置(たとえばカード)上でファームウェアを更新する際、二次サーバソフトウェアは、最初にOS、次にアプリケーション層ソフトウェアを送信して、OSおよびアプリケーション層の双方を送信する。カードにバイナリを送信する際はいつでも、現在のアプリケーション層が消去される、ということが理解される。したがって、OSおよびアプリケーション層ソフトウェアの双方をカードにダウンロードすることが好ましい。
一実施例によれば、二次サーバは、OS層更新が成功したことを確実にするために、管理される装置を検査してもよい。一例では、二次サーバは、ルートFTPディレクトリの(たとえば「ls」コマンドを介した)リスト作成を行なってもよく、OS層ファイルのチェックを行なってもよい。二次サーバがログインを許可され、かつ更新が成功した場合、OSファイルは新しいファイルである。二次サーバがログインを許可され、かつ更新が成功しなかった場合、OS層ファイルは以前のOS層である。
アプリケーションが正しく動作しているかどうかを判断するための1つの方法は、ウェブカードの予想されたSNMP OIDの問合せを行なうことを含んでおり、ウェブカードが応答可能である場合、SNMPは稼動中であり、それにより、アプリケーション層が稼動中であることを示している。
代替的な一方法は、ルートFTPディレクトリの(たとえば「ls」コマンドを介した)リスト作成を行ない、アプリケーション層によって使用されるイベントファイル(たとえば"event.txt")が存在するかどうかを識別することを含む。カードを更新する試みが数回行なわれた場合(たとえば2回試みて2回連続して失敗した場合)、この出来事はハードウェア障害と考えられ得る。1タイプのカードを更新するには、たとえば、二次サーバソフトウェアは、ウェブカード上でFTPサーバにアクセスするためにユーザ/パスワード/ポートを必要とする場合がある。
更新版ファイルフォーマットおよび命名規定
一実施例によれば、バイナリファームウェアファイルはヘッダを含む。一実施例では、ヘッダは、ファイルについての識別情報と、ファイル全体およびヘッダの双方のチェックサムとを含む。このチェックサムは、(たとえばFTPを用いて)ファイルをカードに送信しようと試みる前にファイルの妥当性を検査するために使用可能である。
以下の情報は、以下の例で使用されるファイルフォーマットおよび命名システムのさまざまな実現化例に関する:
制御のための実行可能なタイプ:DLLは起動用エントリポイントである(制御は、たとえば他のDLL、ヘルプのようなサポートファイルを含んでいてもよい)
制御のための命名フォーマット:apc_plugin_<app layer>_<control version>。たとえば、apc_plugin_rpdu_1.0.0.7.dll
プラグインは、他のソフトウェアと同様、バージョン化されてもよい
major.minor.point.build(たとえば、6.1.1.107)
制御のための配信コンテナ:上述の命名フォーマットを有するCABファイル。たとえば、apc_plugin_rpdu_1.0.0.7.cab
二次サーバによって使用され、制御する装置に整合する情報:バージョンを含むアプリケーション層ファイル名が、カタログエントリに整合される
サーバによってコンソールに提供され、個々の装置を起動させる制御を示す情報:拡張を有するものの経路は有さないCABファイル名。たとえばapc_plugin_rpdu_1.0.0.7.cab
サーバからコンソールへの制御のための配信方法:HTTP要求。たとえば、http://<server ip>/<FTP directory>/<CAB file name>
サーバ上のCABファイルの場所:ftpディレクトリ。たとえば、/apcstore1/updates
コンソール上の制御インストール場所:
Figure 2007510987
一実施例によれば、ある装置のアプリケーション層ファイル名は、その装置に関連付けられるべき制御のために、カタログエントリに正確に整合しなければならない。バージョン情報が整合しなければならないため、ある制御を選択するために特定のファームウェア改訂版についてのカタログエントリがなければならない。多数のファームウェア改訂版が同じ制御にマッピングされてもよいが、一実施例では、各々はそれ自体のカタログエントリを必要とする。したがって、異なるファームウェア改訂版を有する装置がある場合、同じ制御の多数の改訂版が単一のシステム内でアクティブのままであってもよい。
一実施例によれば、1対1の整合は、新しい制御とより古いファームウェア改訂版との互換性テストを行なう必要を避けるために使用可能である。1対1の整合のトレードオフは、制御によって消費されるディスク空間と同様、時間が経つにつれカタログがかなり大きくなり得るということである。この発明の一実施例による例示的なファイル命名規則を図11に例示として示し、そのフォーマットの例を以下の表5に示して説明する。
Figure 2007510987
Figure 2007510987
Figure 2007510987
上述の命名および番号付け規定は、多くのソフトウェア更新シナリオを満たすよう使用されてもよい。たとえば、一実施例では、名前は、制御が扱う装置のタイプを反映しているが、単一の制御が多数のファームウェア改訂版に関連付けられているかもしれないため、アプリケーション層バージョン情報を全く含んでいない。また、制御は、ファームウェアの対応する改訂版なしで改訂されてもよい。
CABファイルは多数のファイルを含むことができ、そのため、制御は単一のファイルである必要はない。一実施例によれば、制御は署名されなければならない。制御署名によって提供されるセキュリティは、たとえば、スタンドアローンの場合のウェブブラウザによって使用されてもよい。また、これに代えて、セキュリティは二次サーバによって使用可能である。いずれの場合も、二次サーバは、制御が修正されていないこと、およびそれが元のままの製造業者によって配信されたことを確実にするために、制御を検査すべきである。
このアプローチでの主なトレードオフは、ディスク空間に対する簡潔性である。
簡潔性−サーバおよびコンソールの双方にとって、それらが制御をダウンロードする必要があるかどうか検出することは比較的容易である。バージョニング用ファイル名および制御用の別個のサブディレクトリを使用することは、(たとえば、利用可能な制御のより新しいバージョンがあるかどうか、すべてのファームウェア改訂版と後方互換性がある制御の最新バージョンがあるかどうか、より古い制御と後方互換性があるDCal dllの新しいバージョンがあるかどうか、バージョン情報のないサポートファイルがあるかどうか、などを判断する)バージョニング問題を排除する。
ディスク空間−CAB内のファイルが変わるたびに、CABおよび制御の名前は変わらなければならない。一実施例によれば、制御の現在の改訂版は以前のものを決して上書きしない(たとえば、CABファイルまたは制御のいずれも上書きしない)。別の実施例に
よれば、制御間で共有されるサポートファイル(たとえば、DCall dllなど)はない。一例によれば、各制御はそれ自体の完全な1組のそのすべてのサポートファイルを有する。システムは、定期的クリーニング方式(たとえば、x日、月、年間使用されていなかったファイルを削除する、など)を含んでいてもよい。
<control version>の例示的なフォーマットは、カードと同じ規定に従い、wxyzであり、ここでw=major1−9、x=minor0−9、y=point0−9、z=ベータa−z、A−Zである。それは各々を1桁/文字に制限していない(123a=1.2.3.a)。また、ビルド番号をベータ文字に変換することが必要な場合がある。
(ウインドウズ(登録商標)ベースのコンピュータ上にあるような)プログラムファイルディレクトリは、その内容がユーザに見えるため、制御用インストール場所として使用されてもよく、コンソールがサポートするすべてのウインドウズ(登録商標)オペレーティングシステムタイプおよびローカライズドバージョン上で利用可能であり、コンソールによってOSから検索可能である。制御は、コンソール作業ディレクトリ(たとえば、
Figure 2007510987
の下にはインストールされていない。なぜなら、これらのサブディレクトリおよびファイルは、コマンドプロンプトを介さなくてはユーザには見えないためである。ソフトウェアは、別の代替例では、以下の下にインストールされてもよい。
Figure 2007510987
更新版は、3つのカテゴリに分けられてもよい。
1.装置(たとえばウェブカード)用のファームウェア更新版
一実施例によれば、ファームウェア更新版は、二次サーバがその後、管理される装置(たとえばネットワーク管理カード)に押出すいずれかの更新版に関する。これに関連付けられたファイルは、ファームウェア更新版カタログ、firmware_update_available.txtを含み、それは、利用可能なFW更新版すべてのリスト、それらのバージョンが何か、および、二次サーバがそれらを更新サーバから引張ってくるためにどこを見るべきか、を含んでいる。二次サーバは、その装置にとって利用可能な更新版があるかどうかを判断するために、およびそのようなバイナリ更新版の場所を判断するために、このカタログを使用する。バイナリ更新版ファイルの一例は、apc_hw02_rPDU_220g.binである。
利用可能な更新版があると二次サーバが一旦判断すると、ユーザはそれらを更新サーバからダウンロードするよう促されてもよく、ユーザがそれを選択した場合、ユーザは、更新版が利用可能であることをeメールを介して通知される。二次サーバソフトウェアプログラムは、カタログ内のすべてのバイナリを、二次サーバに関連付けられた記憶媒体にダウンロードし、次に、更新されるべき装置をユーザが選択できるようにするダイアログが、ユーザに提示される。二次サーバは、ファームウェア更新プロセスの成功および失敗についてユーザにステータス報告を提示してもよい。
2.二次サーバソフトウェアプログラム用の共通クライアントプラグイン
一実施例によれば、二次サーバソフトウェアプログラム用の共通クライアントプラグインは、特定の装置を管理するよう設計された非常に機能的なクライアントである。そのため、管理ステータススクリーンから、ユーザが装置を選択した場合、ユーザに装置の詳細およびいくつかの管理能力が提示される。装置を管理するために利用可能な共通のクライアントが存在する場合、インターフェイスは、その装置の全機能への十分なアクセスを、はるかに優れた活用性、外観および感覚とともに提供してもよい。これらの共通クライアントは装置のために時間をかけて作成されており、それらが利用可能である場合、それらは更新サーバに通知される。二次サーバが更新版についてのチェックを行なう場合、二次サーバは、共通クライアントが利用可能かどうかを検出し、それらをダウンロードする。
一旦ダウンロードされると、ユーザが共通クライアントによって管理可能な装置上でダブルクリックを試みると、そのクライアントはそのユーザのクライアントマシンに分配され、起動される。共通クライアントに関連付けられたファイルは、cabファイル、apc_plugin_rpdu_1.0.0.13.cabを含む。そのcabファイルは、プラグインを実際にロードするのに必要なプラグイン・ランチャーおよび多数の.dllを含む。プラグインはそれら自体の「カタログ」ファイル、firmware_controls_available.txtを有しており、それは、それがどのバージョンのプラグインか、そのプラグインが何の装置を管理するかを記述しているという点で、ファームウェア更新版カタログとよく似ている。二次サーバは、どのプラグインがこのサーバで管理中の装置で使用されるために利用可能かどうかを判断するために、このカタログを使用してもよい。
上述のようなCABファイルは、その共通クライアントのプラグイン分配を含む。一実施例によれば、唯一の制御は、二次サーバの外部のスタンドアローンアプリケーションにあり、装置を1対1で管理するために共通クライアントが使用されてもよく、次に、プラグイン(たとえば.dllフィル)を実際にロードするためにローダ制御が使用されてもよい。
カタログファイルのために、以下のフォーマット/特徴が使用されてもよい:
テキストベースである
コンマで区切られている
各ラインの最後にセミコロンがある。
ファームウェア更新版ファイルにおけるフィールドは、以下を含む:
ハードウェア、アプリケーション、バージョン、特殊、顧客、ビルド、アプリケーションURL、OSURL、記述テキスト、記述URL。
共通制御ファイルにおけるフィールドは、以下を含む:
ハードウェア、アプリケーション、バージョン、特殊、顧客、ビルド、ローカル、アプリケーションURL。
さまざまなファイルフォーマットおよび場所がここに詳細に説明されてきたが、この発明が任意の特定の実現化例に限定されないことが理解されるべきである。
このようにいくつかの例示的な実施例を説明してきたが、さまざまな変更、修正および改良が当業者には容易に明らかとなるであろう。そのような変更、修正、および改良は、この発明の精神および範囲内にあるよう意図されている。したがって、前述の説明は単なる例示であり、限定的であるよう意図されてはいない。
この発明の一実施例に従った、ソフトウェアプログラムを更新するためのシステムのブロック図である。 この発明のさまざまな局面を実現可能な汎用コンピュータシステムのブロック図である。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の別の実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の別の実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア更新プロセスのフローチャートである。 この発明の一実施例に従ったソフトウェア命名フォーマットを示すブロック図である。

Claims (27)

  1. 更新サーバを含むシステムにおいてソフトウェアを更新するための方法であって、前記更新サーバは1つ以上のソフトウェア更新版を格納するよう適合されており、前記方法は、
    前記更新サーバから利用可能な更新版のカタログを、前記更新サーバから受信する行為と、
    更新版の前記カタログに参照される少なくとも1つの利用可能な更新版が、少なくとも1つの管理される装置に当てはまるかどうかを判断する行為と、
    当てはまる場合、前記少なくとも1つの利用可能な更新版をダウンロードして、前記少なくとも1つの利用可能な更新版を前記少なくとも1つの管理される装置に適用する行為とを含む、方法。
  2. 更新版のローカルカタログを保持する行為と、
    更新版の前記受信されたカタログを更新版の前記ローカルカタログと併合する行為とをさらに含む、請求項1に記載の方法。
  3. 前記少なくとも1つの利用可能な更新版はオペレーティングシステム構成要素と管理構成要素とを含み、前記少なくとも1つの利用可能な更新版を適用する前記行為は、前記管理構成要素を前記少なくとも1つの管理される装置に適用する前に、前記オペレーティングシステム構成要素を前記少なくとも1つの管理される装置に適用する行為をさらに含む、請求項1に記載の方法。
  4. 前記受信する行為、前記判断する行為、および前記ダウンロードして適用する行為は、二次サーバによって各々実行される、請求項1に記載の方法。
  5. 前記判断する行為は、前記少なくとも1つの利用可能な更新版に関連付けられたファイルのファイル名情報を、前記少なくとも1つの管理される装置に関連付けられたソフトウェアの現在の部分のファイル名情報と比較する行為を含む、請求項1に記載の方法。
  6. 前記少なくとも1つの管理される装置に少なくとも1つのファイルを送信する行為をさらに含む、請求項1に記載の方法。
  7. 前記少なくとも1つの利用可能な更新版に関連付けられた少なくとも1つのファイルが壊れていないことを検証する行為をさらに含み、前記検証する行為は前記適用する行為の前に実行される、請求項1に記載の方法。
  8. 前記検証する行為および前記適用する行為は、二次サーバによって各々実行される、請求項7に記載の方法。
  9. 前記二次サーバは、複数の管理される装置のために、1つ以上の更新版を実行する、請求項4に記載の方法。
  10. 前記複数の管理される装置は各々、無停電電源(UPS)システムの構成要素であり、前記二次サーバは前記1つ以上の更新版を前記UPSシステムの選択された構成要素に適用する、請求項9に記載の方法。
  11. 前記更新サーバ上に更新版が存在するかどうかを複数の装置の代わりに判断する行為をさらに含む、請求項1に記載の方法。
  12. 前記少なくとも1つの利用可能な更新版に関連付けられた前記ファイルのファイル名情報を、前記少なくとも1つの管理される装置のソフトウェアの前記現在の部分への前記ファイル名情報と比較する行為は、前記少なくとも1つの利用可能な更新版に関連付けられた前記ファイルの改訂レベル情報を、前記少なくとも1つの管理される装置のソフトウェアの前記現在の部分の更新レベル情報と比較して、前記比較に基づき、前記少なくとも1つの管理される装置が更新されるべきかどうかを判断する行為を含む、請求項5に記載の方法。
  13. 前記少なくとも1つの利用可能な更新版の改訂レベルが、前記少なくとも1つの管理される装置のソフトウェアの前記現在の部分へのファイル名情報への前記少なくとも1つの利用可能な更新版に関連付けられた改訂レベルファイルと比較して、ソフトウェアのより最近の改訂版であるかどうかを判断する行為をさらに含む、請求項12に記載の方法。
  14. 前記少なくとも1つの利用可能な更新版はオペレーティングシステム構成要素と管理構成要素とを含み、前記少なくとも1つの利用可能な更新版を適用する前記行為は、前記オペレーティングシステム構成要素を前記少なくとも1つの管理される装置に適用し、前記管理構成要素を、前記少なくとも1つの管理される装置と前記少なくとも1つの管理される装置のマネージャとの少なくとも一方に適用する行為をさらに含む、請求項1に記載の方法。
  15. 前記少なくとも1つの管理される装置がパブリックネットワークに結合されている場合、前記管理構成要素は前記少なくとも1つの管理される装置に適用される、請求項14に記載の方法。
  16. 前記少なくとも1つの管理される装置がプライベートネットワークに結合されている場合、前記管理構成要素は前記少なくとも1つの管理される装置の前記マネージャに適用される、請求項14に記載の方法。
  17. 前記マネージャが前記少なくとも1つの利用可能な更新版に適用されるよう適合されている場合、前記管理構成要素は前記少なくとも1つの管理される装置の前記マネージャに適用される、請求項14に記載の方法。
  18. 前記マネージャは、前記少なくとも1つの利用可能な更新版を前記受信する行為、前記判断する行為、および前記ダウンロードして適用する行為を実行するよう適合されている、請求項14に記載の方法。
  19. ソフトウェア構成要素を更新するためのシステムであって、
    複数の利用可能な更新版を格納するよう設定された更新サーバと、
    複数の装置を管理するよう適合された二次サーバとを含み、前記二次サーバは、前記複数の利用可能な更新版のいずれか1つが前記複数の装置の少なくとも1つに適用されるべきかどうかを判断し、適用されるべきである場合、前記複数の更新版の少なくとも1つを前記複数の装置の前記少なくとも1つに適用するよう適合されている、システム。
  20. 前記複数の更新版の前記少なくとも1つはオペレーティングシステム構成要素と管理構成要素とを含み、前記二次サーバは、前記管理構成要素を前記複数の装置の前記少なくとも1つに適用する前に、前記オペレーティングシステム構成要素を前記複数の装置の前記少なくとも1つに適用するよう適合されている、請求項19に記載のシステム。
  21. 前記二次サーバは、少なくとも1つの利用可能な更新版に関連付けられたファイルのファイル名情報を、前記複数の装置の前記少なくとも1つのソフトウェアの現在の部分のフ
    ァイル名情報と比較するよう適合されており、かつ、前記比較に基づき、前記複数の装置の前記少なくとも1つが更新されるべきかどうかを判断するよう適合されている、請求項19に記載のシステム。
  22. 前記二次サーバは、利用可能な更新版のカタログを前記更新サーバから受信するよう適合されているインターフェイスを含む、請求項19に記載のシステム。
  23. 前記二次サーバは、更新版のローカルカタログを格納するためのメモリを含み、前記二次サーバは、更新版の前記受信されたカタログを更新版の前記ローカルカタログと併合するよう適合されている、請求項22に記載のシステム。
  24. 前記二次サーバは、前記複数の更新版の前記少なくとも1つに関連付けられたファイルのファイル名情報を、前記複数の装置の前記少なくとも1つに関連付けられたソフトウェアの現在の部分のファイル名情報と比較するよう適合されている、請求項19に記載のシステム。
  25. 前記二次サーバは、前記複数の更新版の前記少なくとも1つに関連付けられた少なくとも1つのファイルを、前記複数の装置の前記少なくとも1つにロードするよう適合されている、請求項19に記載の方法。
  26. 前記二次サーバは、前記比較に基づき、前記複数の装置の前記少なくとも1つが更新されるべきかどうかを判断するよう適合されている、請求項24に記載のシステム。
  27. 前記複数の管理される装置は各々、無停電電源(UPS)システムの構成要素であり、前記二次サーバは、前記UPSシステムの1つ以上の選択された構成要素に前記少なくとも1つの更新版を適用するよう適合されている、請求項19に記載のシステム。
JP2006538202A 2003-10-27 2004-10-27 ソフトウェアプログラムを更新するためのシステムおよび方法 Withdrawn JP2007510987A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51463303P 2003-10-27 2003-10-27
PCT/US2004/035578 WO2005045671A1 (en) 2003-10-27 2004-10-27 System and method for updating a software program

Publications (1)

Publication Number Publication Date
JP2007510987A true JP2007510987A (ja) 2007-04-26

Family

ID=34572763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006538202A Withdrawn JP2007510987A (ja) 2003-10-27 2004-10-27 ソフトウェアプログラムを更新するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US7913246B2 (ja)
EP (1) EP1678609A1 (ja)
JP (1) JP2007510987A (ja)
CN (1) CN100481005C (ja)
WO (1) WO2005045671A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166192A (ja) * 2009-01-14 2010-07-29 Hitachi Ltd デジタル放送受信装置及びデジタル放送受信装置における受信設定方法
JP2020035184A (ja) * 2018-08-30 2020-03-05 ブラザー工業株式会社 アプリケーションプログラムおよびデータ転送システム
US11859841B2 (en) 2018-08-28 2024-01-02 Mitsubishi Electric Corporation Air-conditioning system and program update method of air-conditioning system

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002075525A1 (ja) * 2001-03-19 2004-07-08 ソニー株式会社 ソフトウエア更新システム、ソフトウエア更新方法、およびソフトウエア更新プログラム
US8990366B2 (en) * 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
CN100372294C (zh) * 2004-02-04 2008-02-27 华为技术有限公司 设备升级方法
KR100631784B1 (ko) * 2004-02-16 2006-10-11 삼성전자주식회사 컴퓨터 바이러스로부터의 감염을 방지하기 위한 시스템 및방법
CA2555446C (en) * 2004-03-12 2013-06-18 Microsoft Corporation Application programming interface for administering the distribution of software updates in an update distribution system
US8051483B2 (en) * 2004-03-12 2011-11-01 Fortinet, Inc. Systems and methods for updating content detection devices and systems
US20050216486A1 (en) * 2004-03-26 2005-09-29 Lucent Technologies Inc. Methods and systems for software release management
US20050235279A1 (en) * 2004-04-14 2005-10-20 Heng-Chien Chen Method of updating software in a host-client network
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US20050262497A1 (en) * 2004-05-19 2005-11-24 Microsoft Corporation System and method for generating embedded resource updates for output device
US7546595B1 (en) * 2004-10-14 2009-06-09 Microsoft Corporation System and method of installing software updates in a computer networking environment
DE102004062434A1 (de) * 2004-12-20 2006-06-22 Abb Research Ltd. System und Verfahren zum automatischen Aktualisieren von Funktionalitäten in einem verteilten Netzwerk
CN101120311B (zh) * 2004-12-24 2010-10-20 意大利电信股份公司 升级电信终端的软件的方法和系统
US20060188090A1 (en) * 2004-12-28 2006-08-24 Optical Solutions, Inc. Power supply housing for network interface device
US7706895B2 (en) 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
US20060206458A1 (en) * 2005-03-09 2006-09-14 Paul Tyma Serving program elements through a unified interface
US7689663B2 (en) * 2005-03-24 2010-03-30 Hewlett-Packard Development Company, L.P. Embedded web-based management method
US7233830B1 (en) 2005-05-31 2007-06-19 Rockwell Automation Technologies, Inc. Application and service management for industrial control devices
US7274975B2 (en) 2005-06-06 2007-09-25 Gridpoint, Inc. Optimized energy management system
TWI264896B (en) * 2005-06-29 2006-10-21 Inventec Corp System and method for remotely switching backup system program modules of a computer platform
US7668905B2 (en) * 2005-09-07 2010-02-23 International Business Machines Corporation Method, system and computer program for providing web pages based on client state
CN1928818A (zh) * 2005-09-09 2007-03-14 鸿富锦精密工业(深圳)有限公司 网络装置及其软件更新方法
US7802092B1 (en) * 2005-09-30 2010-09-21 Blue Coat Systems, Inc. Method and system for automatic secure delivery of appliance updates
US8271970B2 (en) * 2005-10-27 2012-09-18 Siemens Aktiengesellschaft Method for software distribution
US8214827B2 (en) * 2005-12-05 2012-07-03 Flash Networks, Ltd Method and system for improving user confidence and experience in content purchasing via a service provider premises
US7676803B2 (en) * 2005-12-06 2010-03-09 Dell Products L.P. Method of defining packaging applicability
ZA200806190B (en) * 2006-01-18 2009-10-28 Ericsson Telefon Ab L M Dependency notification
US7923855B2 (en) * 2006-02-17 2011-04-12 Calix, Inc. Communication between network interface device and subscriber devices via power supply lines
US7890755B2 (en) * 2006-02-28 2011-02-15 The Boeing Company High-assurance web-based configuration of secure network server
US8103389B2 (en) 2006-05-18 2012-01-24 Gridpoint, Inc. Modular energy control system
CN101086939B (zh) 2006-06-09 2010-05-12 清华大学 场发射元件及其制备方法
US8990396B2 (en) 2006-07-07 2015-03-24 Avaya Communication Israel Ltd. Cache memory storage
US8571061B2 (en) * 2006-07-07 2013-10-29 Avaya Communications Israel Ltd. Inter-network translation
US20080046378A1 (en) * 2006-08-18 2008-02-21 Siemens Aktiengesellschaft System and method for selling software on a pay-per-use basis
US7865874B2 (en) * 2006-08-28 2011-01-04 Oracle America, Inc. System and method for information collection for an adaptive software dependency model
US7752158B2 (en) * 2006-08-28 2010-07-06 Oracle America, Inc. System and method for generating an adaptive software knowledge model incorporating new information with model dependency analysis
EP2060101B1 (en) * 2006-09-07 2018-02-07 Nokia Technologies Oy Managing information relating to secure module applications
US20080077913A1 (en) * 2006-09-22 2008-03-27 Samsung Electronics Co., Ltd. Information recording medium, apparatus and method of reproducing contents
US8584115B2 (en) * 2006-10-05 2013-11-12 International Business Machines Corporation Automated operating system device driver updating system
WO2008082441A1 (en) 2006-12-29 2008-07-10 Prodea Systems, Inc. Display inserts, overlays, and graphical user interfaces for multimedia systems
US11783925B2 (en) 2006-12-29 2023-10-10 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US11316688B2 (en) 2006-12-29 2022-04-26 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US9602880B2 (en) 2006-12-29 2017-03-21 Kip Prod P1 Lp Display inserts, overlays, and graphical user interfaces for multimedia systems
US20170344703A1 (en) 2006-12-29 2017-11-30 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US9569587B2 (en) 2006-12-29 2017-02-14 Kip Prod Pi Lp Multi-services application gateway and system employing the same
WO2008092985A1 (en) * 2007-01-31 2008-08-07 Nokia Corporation Managing applications related to secure modules
US8819668B2 (en) * 2007-02-08 2014-08-26 Microsoft Corporation Accessible limited distribution release software change catalog
US8196134B2 (en) * 2007-02-08 2012-06-05 Microsoft Corporation Network service for a software change catalog
KR20080085934A (ko) * 2007-02-08 2008-09-25 엘지전자 주식회사 자동업데이트 기능을 구비한 원격관리 시스템
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
JP2008225845A (ja) * 2007-03-13 2008-09-25 Nec Corp データ更新方法およびデータ処理システム
DE102007026602A1 (de) * 2007-06-08 2008-12-11 Abb Ag Einrichtung und Verfahren zum Prüfen der aktuellen Softwareinstallation von Feldgeräten eines verteilten Systems, insbesondere Automatisierungssystems
US8473938B1 (en) 2007-06-21 2013-06-25 Open Invention Network Llc Security patch update processor
US8201164B2 (en) * 2007-07-20 2012-06-12 Microsoft Corporation Dynamically regulating content downloads
CN101111032B (zh) * 2007-08-31 2010-12-29 中兴通讯股份有限公司 下载软件的方法和系统
US8806472B2 (en) * 2007-09-27 2014-08-12 Ericsson Ab In-service software upgrade utilizing metadata-driven state translation
CN101453418B (zh) * 2007-12-05 2011-01-12 高德软件有限公司 客户端与服务器同步的更新方法
US8756700B2 (en) 2008-01-16 2014-06-17 Verizon Patent And Licensing Inc. Custom data image building
US8291406B2 (en) * 2008-01-16 2012-10-16 Verizon Patent And Licensing Inc. Data imaging system and methods
US8522231B2 (en) * 2008-01-30 2013-08-27 International Business Machines Corporation Updating a plurality of computers
US8255896B2 (en) * 2008-04-01 2012-08-28 Honeywell International Inc. Network software normalization and installation in a fire detection system
US9009357B2 (en) * 2008-04-24 2015-04-14 Micron Technology, Inc. Method and apparatus for field firmware updates in data storage systems
US9354864B2 (en) * 2008-05-08 2016-05-31 Dialogic Corporation Package header system and method to facilitate streaming a single firmware file upgrade
US8555042B2 (en) * 2008-05-29 2013-10-08 International Business Machines Corporation Apparatus, system, and method for resetting and bypassing microcontroller stations
US9032390B2 (en) * 2008-07-29 2015-05-12 Qualcomm Incorporated Framework versioning
JP4618358B2 (ja) * 2008-09-29 2011-01-26 ブラザー工業株式会社 周辺装置管理プログラム、および周辺装置管理システム
JP5223596B2 (ja) * 2008-10-30 2013-06-26 富士通株式会社 仮想計算機システム及びその管理方法、管理プログラム並びに記録媒体、制御方法
US8204968B2 (en) 2008-12-03 2012-06-19 At&T Mobility Ii Llc Registration notification for mobile device management
US8001213B2 (en) * 2008-12-22 2011-08-16 Nokia Corporation Method, apparatus and computer program product for providing unrestricted content on a user terminal
JP5274266B2 (ja) * 2009-01-07 2013-08-28 キヤノン株式会社 文書管理装置、文書管理システム、文書管理方法およびコンピュータプログラム
US8015450B1 (en) * 2009-03-26 2011-09-06 Symantec Corporation Systems and methods for detecting and automatically installing missing software components
US8639953B2 (en) * 2009-03-27 2014-01-28 Schneider Electric It Corporation System and method for gathering information using a power device wherein information is associated with at least one external load
JP5293462B2 (ja) * 2009-07-07 2013-09-18 株式会社リコー 電子機器、情報処理方法、及び情報処理プログラム
US8225135B2 (en) * 2009-07-07 2012-07-17 Drobo, Inc. System and method for protecting users of data storage systems against known problems
JP5476834B2 (ja) * 2009-07-24 2014-04-23 株式会社リコー 情報処理装置、ワークフローシステム、ワークフロー管理方法、プログラムおよび記録媒体
CN101630263B (zh) * 2009-08-19 2013-09-18 用友软件股份有限公司 软件升级方法
JP5428721B2 (ja) * 2009-10-02 2014-02-26 富士通株式会社 管理システム,管理装置,管理方法および管理プログラム
US9223946B1 (en) * 2009-10-29 2015-12-29 Hewlett Packard Enterprise Development Lp Specification and configuration of management intent
CN102598079B (zh) * 2009-11-06 2015-01-28 丰田自动车株式会社 车辆用网关装置
US8701104B2 (en) * 2009-12-14 2014-04-15 Opera Software Asa System and method for user agent code patch management
TW201135594A (en) * 2010-04-08 2011-10-16 Inventec Corp System for updating software using separated modules and method thereof
US8521846B2 (en) * 2010-08-09 2013-08-27 Red Hat, Inc. Mechanism for customized aggregation of system-specific information for post-installation suggestions
JP5539129B2 (ja) * 2010-09-13 2014-07-02 キヤノン株式会社 画像形成装置、ファームェアのアップデート方法、及び、プログラム
JP5527146B2 (ja) * 2010-09-30 2014-06-18 ブラザー工業株式会社 端末装置及びプログラム
KR20120041384A (ko) * 2010-10-21 2012-05-02 삼성전자주식회사 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
US8713559B2 (en) * 2010-11-15 2014-04-29 Schneider Electric It Corporation System and method for updating firmware
KR101760778B1 (ko) * 2011-01-17 2017-07-26 에스프린팅솔루션 주식회사 컴퓨터시스템 및 그 프로그램 업데이트 방법
US9182757B2 (en) * 2011-03-30 2015-11-10 Fisher-Rosemount Systems, Inc. Methods and apparatus to transmit device description files to a host
JP5691761B2 (ja) * 2011-04-08 2015-04-01 株式会社バッファロー 管理装置、管理方法、プログラムおよび記録媒体
US8505004B2 (en) * 2011-05-20 2013-08-06 Xerox Corporation Methods and systems for providing software updates using a cloud administration system
WO2013006226A1 (en) * 2011-07-01 2013-01-10 Exxonmobil Upstream Research Company Plug-in installer framework
US9319406B2 (en) * 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US8776043B1 (en) * 2011-09-29 2014-07-08 Amazon Technologies, Inc. Service image notifications
US9530156B2 (en) 2011-09-29 2016-12-27 Amazon Technologies, Inc. Customizable uniform control user interface for hosted service images
US9626700B1 (en) 2011-09-29 2017-04-18 Amazon Technologies, Inc. Aggregation of operational data for merchandizing of network accessible services
US10147123B2 (en) 2011-09-29 2018-12-04 Amazon Technologies, Inc. Electronic marketplace for hosted service images
US20130110661A1 (en) * 2011-10-28 2013-05-02 Microsoft Corporation Application store delivered platform components
CN102508684A (zh) * 2011-11-14 2012-06-20 宁波三星电气股份有限公司 配电变压器监测终端的程序下载更新方法
EP2608496B1 (en) * 2011-12-19 2015-06-17 GN Netcom A/S Firmware upgrade function for deskphone electronic protocol converter
US9386114B2 (en) * 2011-12-28 2016-07-05 Google Inc. Systems and methods for accessing an update server
CN102662706A (zh) * 2012-04-01 2012-09-12 西安合众思壮导航技术有限公司 一种远程可靠升级xip 芯片软件的方法
US9262149B2 (en) * 2012-04-12 2016-02-16 International Business Machines Corporation Managing incrementally applied system updates
US9032386B1 (en) * 2012-07-30 2015-05-12 Adobe Systems Incorporated Product upgrade location identifier for software upgrade
EP2711793B1 (de) * 2012-09-19 2018-10-31 Siemens Aktiengesellschaft Verfahren zum Betreiben eines Bediengeräts zur Steuerung einer technischen Anlage
CN103064700A (zh) * 2012-11-28 2013-04-24 镇江为天下信息服务有限公司 一种零代码集成自动升级方法
CN103051689B (zh) * 2012-12-11 2016-06-22 北京奇虎科技有限公司 一种程序升级下载方法和装置
MX342205B (es) * 2012-12-14 2016-09-21 Ericsson Telefon Ab L M Sistemas, metodos y productos de programas de computadora para un proceso de construccion y carga de software que usan un servicio de recopilacion y despliegue.
US9411571B2 (en) * 2013-02-28 2016-08-09 Adobe Systems Incorporated Method and apparatus for deploying software as a service
GB2527465B (en) * 2013-05-10 2020-02-19 Mitsubishi Electric Corp Air-conditioning system
JP6210789B2 (ja) * 2013-08-08 2017-10-11 キヤノン株式会社 ネットワークシステム、配信システム、制御方法、及びプログラム
CN104679528B (zh) * 2013-11-26 2018-08-07 中国银联股份有限公司 应用程序远程更新的方法和装置
US9830141B2 (en) * 2013-12-23 2017-11-28 Google Llc Providing a software update to computing devices on the same network
EP2891978B1 (en) * 2014-01-06 2017-08-16 2236008 Ontario Inc. System and method for distributing software updates
US9398397B2 (en) 2014-01-09 2016-07-19 Ford Global Technologies, Llc Secure manipulation of embedded modem connection settings through short messaging service communication
US9766874B2 (en) 2014-01-09 2017-09-19 Ford Global Technologies, Llc Autonomous global software update
US9524156B2 (en) 2014-01-09 2016-12-20 Ford Global Technologies, Llc Flexible feature deployment strategy
US20150195336A1 (en) * 2014-01-09 2015-07-09 Qualcomm Incorporated Distribution mechanism for router applications
US9264842B1 (en) * 2014-02-03 2016-02-16 Sprint Communications Company L.P. Secondary open mobile alliance device management platform
US9716762B2 (en) 2014-03-31 2017-07-25 Ford Global Technologies Llc Remote vehicle connection status
US9323546B2 (en) 2014-03-31 2016-04-26 Ford Global Technologies, Llc Targeted vehicle remote feature updates
US10140110B2 (en) 2014-04-02 2018-11-27 Ford Global Technologies, Llc Multiple chunk software updates
US9325650B2 (en) 2014-04-02 2016-04-26 Ford Global Technologies, Llc Vehicle telematics data exchange
US9614724B2 (en) 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
US9606788B2 (en) * 2014-04-30 2017-03-28 Microsoft Technology Licensing, Llc Dynamic update installer for customized software
JP6270616B2 (ja) * 2014-05-02 2018-01-31 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9384335B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content delivery prioritization in managed wireless distribution networks
US9430667B2 (en) 2014-05-12 2016-08-30 Microsoft Technology Licensing, Llc Managed wireless distribution network
US10111099B2 (en) 2014-05-12 2018-10-23 Microsoft Technology Licensing, Llc Distributing content in managed wireless distribution networks
US9384334B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content discovery in managed wireless distribution networks
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9367490B2 (en) 2014-06-13 2016-06-14 Microsoft Technology Licensing, Llc Reversible connector for accessory devices
US9717006B2 (en) 2014-06-23 2017-07-25 Microsoft Technology Licensing, Llc Device quarantine in a wireless network
DE102014116321A1 (de) * 2014-11-10 2016-05-12 Harting Electric Gmbh & Co. Kg Update einer Firmware
JP6433844B2 (ja) * 2015-04-09 2018-12-05 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、中継装置、情報処理システム、およびソフトウェアアップデート方法
US10303461B2 (en) 2015-09-30 2019-05-28 Oracle International Corporation Composite instance patching
US9866905B1 (en) 2016-02-23 2018-01-09 CSC Holdings, LLC Set-top box reboot and polling tool
CN106293708B (zh) * 2016-07-29 2021-08-13 联想(北京)有限公司 信息处理方法及存储设备
CN107665129A (zh) * 2016-07-29 2018-02-06 联想(北京)有限公司 信息处理方法及存储设备
CN106250548A (zh) * 2016-08-12 2016-12-21 福建中金在线信息科技有限公司 一种代码更新方法
JP6801300B2 (ja) * 2016-08-30 2020-12-16 ブラザー工業株式会社 制御プログラム
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
EP3513542B1 (en) 2016-09-16 2021-05-19 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
KR102123676B1 (ko) * 2016-12-06 2020-06-29 주식회사 엘지화학 주택용 ESS에 탑재되는 직류변압기(DC-DC converter)와 배터리관리시스템(BMS) 소프트웨어의 통합관리 및 업데이트 방법
US10152317B2 (en) * 2017-03-30 2018-12-11 Wipro Limited Method and system for updating software packages in a storage system
US11294661B2 (en) * 2017-04-25 2022-04-05 Microsoft Technology Licensing, Llc Updating a code file
US10235188B2 (en) * 2017-05-04 2019-03-19 Dell Products L.P. Method and system for dynamic loading of incremental changes of software
US10651663B2 (en) 2017-06-16 2020-05-12 Nxp B.V. Charging system and method
KR102417004B1 (ko) * 2017-09-19 2022-07-07 삼성전자주식회사 전자 장치의 소프트웨어의 업데이트를 관리하기 위한 장치 및 방법
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10705823B2 (en) * 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
CN108205445A (zh) * 2017-12-31 2018-06-26 北京诺君安信息技术股份有限公司 一种软件自动更新方法
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US11144298B2 (en) 2018-07-13 2021-10-12 Microsoft Technology Licensing, Llc Feature installer for software programs
US11449332B2 (en) 2018-11-30 2022-09-20 Hewlett-Packard Development Company, L.P. Polling computing devices
CN113056740A (zh) 2018-11-30 2021-06-29 惠普发展公司,有限责任合伙企业 软件补丁差异设备
WO2020112145A1 (en) * 2018-11-30 2020-06-04 Hewlett-Packard Development Company, L.P. Software patch analytics devices and systems
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
CN111766797A (zh) * 2019-04-02 2020-10-13 海盗船存储器公司 微控制器、存储模块及用于更新微控制器的韧件的方法
US20200382599A1 (en) * 2019-05-29 2020-12-03 Roche Diagnostics Operations, Inc. Techniques for providing data packages to analytical devices
US11281444B2 (en) 2019-06-26 2022-03-22 Creative Breakthrough Inc. Application update monitoring computer systems
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11003436B2 (en) 2019-10-15 2021-05-11 Dell Products L.P. Composable infrastructure update system
US11544625B2 (en) 2020-02-03 2023-01-03 Microsoft Technology Licensing, Llc Computing system for training, deploying, executing, and updating machine learning models
CN111475185A (zh) * 2020-03-11 2020-07-31 苏州浪潮智能科技有限公司 一种跨大版本稳定升级bmc镜像的方法及系统
CN113973108B (zh) * 2020-07-24 2023-08-01 成都鼎桥通信技术有限公司 双系统终端在线升级方法、装置及设备
US11709820B2 (en) 2021-09-03 2023-07-25 Bank Of America Corporation System for implementing intelligent data analysis
CN113535210B (zh) * 2021-09-14 2022-02-18 苏州浪潮智能科技有限公司 一种服务器部件固件版本管理方法、装置及设备
CN115225370B (zh) * 2022-07-18 2023-11-10 北京天融信网络安全技术有限公司 一种规则库优化方法、装置、电子设备及存储介质
US20240028735A1 (en) * 2022-07-21 2024-01-25 Dell Products L.P. Automated update of a customized secure boot policy

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319571A (en) * 1992-11-24 1994-06-07 Exide Electronics UPS system with improved network communications
US5860012A (en) * 1993-09-30 1999-01-12 Intel Corporation Installation of application software through a network from a source computer system on to a target computer system
US5845090A (en) 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5586304A (en) 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US6049671A (en) 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5930513A (en) 1996-06-06 1999-07-27 Sun Microsystems, Inc. Reference based software installation
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5919247A (en) 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US6067582A (en) 1996-08-13 2000-05-23 Angel Secure Networks, Inc. System for installing information related to a software application to a remote computer over a network
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
US5960204A (en) 1996-10-28 1999-09-28 J.D. Edwards World Source Company System and method for installing applications on a computer on an as needed basis
US6219703B1 (en) * 1996-10-31 2001-04-17 Motorola, Inc. Method and apparatus for constructing a device management information base in a network management station
US6553416B1 (en) * 1997-05-13 2003-04-22 Micron Technology, Inc. Managing computer system alerts
US6314565B1 (en) * 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
WO1998055934A1 (en) * 1997-06-03 1998-12-10 Alpha Technologies, Inc. Status monitoring system for communications systems
US6282709B1 (en) 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
US6006035A (en) 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
GB2333864B (en) 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6167567A (en) 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US6066182A (en) * 1998-11-05 2000-05-23 Platinum Technology Ip, Inc. Method and apparatus for operating system personalization during installation
US6301710B1 (en) 1999-01-06 2001-10-09 Sony Corporation System and method for creating a substitute registry when automatically installing an update program
US6725377B1 (en) * 1999-03-12 2004-04-20 Networks Associates Technology, Inc. Method and system for updating anti-intrusion software
US6282711B1 (en) 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
GB9920676D0 (en) * 1999-09-01 1999-11-03 Tao Group Ltd Translating and executing object-oriented computer programs
US6493871B1 (en) 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
EP1290662B1 (en) * 2000-04-26 2016-07-06 Schneider Electric IT Corporation System and method for managing uninterruptible power supply systems
US6698018B1 (en) 2000-05-10 2004-02-24 Microsoft Corporation System and method of multiple-stage installation of a suite of applications
US6795965B1 (en) 2000-05-10 2004-09-21 Microsoft Corporation Multi-source program module updater
US6751794B1 (en) 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US7114098B2 (en) * 2001-03-20 2006-09-26 American Power Conversion Corporation Power supply critical state monitoring system
US6865685B2 (en) * 2001-03-20 2005-03-08 American Power Conversion Power supply event notification system for sending an electronic notification to multiple destinations
DE10228142B4 (de) 2001-08-01 2005-10-13 Siemens Ag System zur Sicherung von Softwarekomponenten und/oder Computerprogrammen
US7519909B2 (en) * 2001-08-10 2009-04-14 American Power Conversion Corporation Uninterruptible power supply (UPS) devices monitoring system
US7003767B2 (en) * 2001-10-02 2006-02-21 International Business Machines Corp. System and method for remotely updating software applications
US7703046B2 (en) * 2002-01-09 2010-04-20 American Power Conversion Corporation User interface providing UPS information
US7912958B2 (en) * 2002-08-21 2011-03-22 American Power Coversion Corporation Method and apparatus for automatic IP allocation bootstrapping of embedded network management cards used in networked uninterruptible power supplies and other supported devices
US7093246B2 (en) * 2002-12-20 2006-08-15 International Business Machines Corporation Automated updates of software and systems
US7089548B2 (en) * 2003-01-13 2006-08-08 Taiwan Semiconductor Manufacturing Company, Ltd. Method and system for nondisruptive deployment during upgrading of enterprise systems
US7275244B1 (en) * 2003-03-18 2007-09-25 Microsoft Corporation System and method for incrementally saving web files to a web server using file hash values
CN100531037C (zh) * 2004-12-24 2009-08-19 鸿富锦精密工业(深圳)有限公司 通用异步收发器桥接电路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166192A (ja) * 2009-01-14 2010-07-29 Hitachi Ltd デジタル放送受信装置及びデジタル放送受信装置における受信設定方法
US11859841B2 (en) 2018-08-28 2024-01-02 Mitsubishi Electric Corporation Air-conditioning system and program update method of air-conditioning system
JP2020035184A (ja) * 2018-08-30 2020-03-05 ブラザー工業株式会社 アプリケーションプログラムおよびデータ転送システム
US11513747B2 (en) 2018-08-30 2022-11-29 Brother Kogyo Kabushiki Kaisha Information processing device transmitting content data to target management device
JP7255105B2 (ja) 2018-08-30 2023-04-11 ブラザー工業株式会社 アプリケーションプログラムおよびデータ転送システム

Also Published As

Publication number Publication date
CN100481005C (zh) 2009-04-22
US7913246B2 (en) 2011-03-22
EP1678609A1 (en) 2006-07-12
WO2005045671A1 (en) 2005-05-19
CN1898643A (zh) 2007-01-17
US20050144616A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
JP2007510987A (ja) ソフトウェアプログラムを更新するためのシステムおよび方法
US6988193B2 (en) System and method for creating a definition for a target device based on an architecture configuration of the target device at a boot server
US7448034B2 (en) Build time determination and installation of drivers on cloned systems
US8037198B2 (en) Firmware upgrade for thin clients using one or more servers
JP4473153B2 (ja) ネットワーク構成のチェックおよび修理のための方法、システムおよびプログラム
US6408434B1 (en) System and method for using a substitute directory to automatically install an update program
US7421490B2 (en) Uniquely identifying a crashed application and its environment
US6301710B1 (en) System and method for creating a substitute registry when automatically installing an update program
JP3167522B2 (ja) ソフトウェア遠隔自動更新システムおよび方法
US20050027846A1 (en) Automated electronic software distribution and management method and system
US6789215B1 (en) System and method for remediating a computer
US6944854B2 (en) Method and apparatus for updating new versions of firmware in the background
US7120684B2 (en) Method and system for central management of a computer network
US20060168436A1 (en) Systems and methods to facilitate the creation and configuration management of computing systems
EP1635257A2 (en) System method and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system
US7673023B1 (en) Method and apparatus for service processor updates
US20110296404A1 (en) Systems and methods for host-level distributed scheduling in a distributed environment
US20110055544A1 (en) Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
JPH10301760A (ja) ソフトウェア自動配布管理システム及び方法
US7730218B2 (en) Method and system for configuration and management of client access to network-attached-storage
Monitor User's Guide
Jashnani et al. Oracle Database Installation Guide, 12c Release 1 (12.1) for Oracle Solaris E50818-08
Brown et al. To PC or NetPC? Hmmm… what the heck, let’s give it a go!
Allison et al. Oracle Real Application Clusters Installation Guide, 11g Release 1 (11.1) for Microsoft Windows B28251-06
Allison et al. Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide, 10g Release 2 (10.2) for AIX B14201-03

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108