JP2014527677A - コンピュータシステムにパッチをインストールするシステム及び方法 - Google Patents

コンピュータシステムにパッチをインストールするシステム及び方法 Download PDF

Info

Publication number
JP2014527677A
JP2014527677A JP2014528483A JP2014528483A JP2014527677A JP 2014527677 A JP2014527677 A JP 2014527677A JP 2014528483 A JP2014528483 A JP 2014528483A JP 2014528483 A JP2014528483 A JP 2014528483A JP 2014527677 A JP2014527677 A JP 2014527677A
Authority
JP
Japan
Prior art keywords
computer system
patch
checkpoint
determined
requirements
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
JP2014528483A
Other languages
English (en)
Inventor
誠剛 小谷
誠剛 小谷
ソォン・ジョシュアヌ
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2014527677A publication Critical patent/JP2014527677A/ja
Pending 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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

一実施形態に従って、システムはメモリ及びプロセッサを有する。プロセッサは、インストールのためのパッチと、パッチがインストールされ得る前に満足されるべき一以上の要件とを含むメッセージを受信する。プロセッサはまた、収集された情報に基づき一以上の要件が満足されたと決定されるまで、一以上のセンサから繰り返し情報を収集する。一以上の要件が満足されたと決定されると、プロセッサは更に、コンピュータシステムにおいてパッチのインストール処理を行う。パッチのインストール処理が終了されると決定されると、プロセッサは更に、パッチのインストールが成功したかどうかを示す確認リポートを送信する。確認リポートは、コンピュータシステムに関連づけられる固有要素によって生成され署名される。

Description

本開示は、概して、コンピュータシステムの分野に関し、より具体的には、コンピュータシステムにパッチをインストールするシステム及び方法に関する。
一般的に、コンピュータシステムは、最初にパッチが必要とされると決定(例えば、更新の確認)し、次いでコンピュータシステムでの即時インストールのためにパッチをインストールすることによって、パッチをインストールしてよい。代替的に、コンピュータシステムはまた、一般的に、コンピュータシステムのユーザが手動によりパッチをダウンロードすると選択し、それがダウンロードされると直ぐにパッチをインストールすることに基づき、パッチをインストールしてよい。
そのようなパッチのインストール処理は、しかしながら不完全なことがある。特に、そのような処理は、装置に組み込まれているコンピュータシステム(例えば、埋込型コンピュータ装置)及び/又はバーチャルマシンを実装するコンピュータシステムに関して問題をはらむことがある。
一実施形態に従って、システムはコンピュータシステムを有し、該コンピュータシステムは、1又はそれ以上のリポートを生成し、前記コンピュータシステムに関連していると前記リポートを特定するように該リポートに署名するよう動作する固有要素を有する。前記コンピュータシステムは、メモリ及びプロセッサを更に有する。前記プロセッサは、インストールのためのパッチと、該パッチがインストールされ得る前に満足されるべき1又はそれ以上の要件とを含むメッセージを受信する。前記パッチは、前記コンピュータシステムを更新するよう構成される。前記プロセッサはまた、収集された情報に基づき前記1又はそれ以上の要件が満足されたと決定されるまで、1又はそれ以上のセンサから繰り返し情報を収集する。前記1又はそれ以上の要件が満足されたと決定されると、前記プロセッサは更に、前記コンピュータシステムにおいて前記パッチのインストール処理を行う。前記パッチのインストール処理が終了されると決定されると、前記プロセッサは更に、前記パッチのインストールに成功したかどうかを示す確認リポートを送信する。前記確認リポートは、前記コンピュータシステムに関連づけられる固有要素によって生成され署名される。
本開示の特定の実施形態は、1又はそれ以上の技術的利点を提供してよい。例えば、パッチがコンピュータでインストールされる前に要件が満足されることを要求することで、パッチの作成者(及び/又は提供者)は、インストールが成功する可能性が高い場合、インストールが危険でない場合、及び/又はインストールがコンピュータシステムにとって適切である場合に、一度にパッチがコンピュータシステムにインストールされることを確かにすることができる。
他の例として、パッチがコンピュータシステムにインストールされる前に要件が満足されることを要求することで、パッチは、装置に組み込まれるコンピュータシステム、及び/又はバーチャルマシンを実装しているコンピュータシステムにインストールされてよい。更なる例として、パッチのインストールが成功したかどうかを示す確認リポートを送信することで、確認リポートは、コンピュータシステムでのパッチのインストールが成功したか否かの証拠として第三者(例えば、製造業者)によって記憶されてよい。
本開示の特定の実施形態は、上記の技術的利点の全て若しくは一部を含むか、又は空らを全く含まなくてもよい。一以上の他の技術的利点は、本願に含まれる図面、明細書、及び特許請求の範囲から当業者には容易に認識されるであろう。
装置に組み込まれるコンピュータシステムのようなコンピュータシステムにおけるパッチのインストールを提供するシステムを表す。 1又はそれ以上のバーチャルマシンを実装するコンピュータシステムにおけるパッチのインストールを提供するシステムを表す。 コンピュータシステムでパッチをインストールする方法を表す。 図3の方法におけるコンピュータシステムの特定の実施形態に関してチェックポイントを生成する方法を表す。 コンピュータシステムのためのパッチを選択する方法を表す。
本開示並びにその特徴及び利点のより完全な理解のために、添付の図面とともに検討される以下の説明が参照される。
本開示の実施形態は、図面の図1乃至5を参照することよって最も良く理解される。なお、同じ参照符号は、様々な図面の同じ又は対応する部分に使用される。
図1は、装置に組み込まれるコンピュータシステムのようなコンピュータシステムにおけるパッチのインストールを提供するシステム10を表す。システム10は装置14を有し、装置14は自身に組み込まれたコンピュータシステム18を有する。コンピュータシステム18は、製造業者装置54からパッチ78及び1又はそれ以上の要件82を受信する。要件82が満足されているとコンピュータシステム18が決定すると、コンピュータシステム18は、コンピュータシステム18にパッチ78をインストールするインストール処理を行ってよい。特定の実施形態において、これは、たとえコンピュータシステム18が装置14に組み込まれているとしても、コンピュータシステム18がパッチ78をインストールすることを可能にすることができる。
パッチ(例えば、パッチ78)は、コンピュータシステムでのインストールのための命令、ロジック又はコードの組に相当してよい。パッチは、コンピュータシステムに付随する既知の問題を解決するよう設計されてよく、且つ/あるいは、コンピュータシステム、コンピュータシステムに関連する一以上のアプリケーション及び/又は命令、及び/又はコンピュータシステムを記憶し若しくは支持するあらゆるデータを更新するよう設計されてよい。特定の実施形態において、パッチをインストールすることによって、コンピュータシステムは、コンピュータシステムに付随する一以上の安全上の問題(例えば、コンピュータシステムにおける脆弱性)及び/又は一以上のバグを解決してよい。更に、パッチのインストールは、コンピュータシステムの有用性及び/又は性能、コンピュータシステムに関連する一以上のアプリケーション及び/又は命令、及び/又はコンピュータシステムを記憶し若しくは支持するあらゆるデータを更に改善してよい。パッチは、コンピュータシステムの一部又はコンピュータシステム全体を修正及び/又は更新するよう構成されてよい。更に、パッチは、数キロバイトから数百メガバイト又はそれ以上といった如何なるサイズを有してもよい。
要件は、パッチがコンピュータシステムにインストールされるために要求されることに関する情報に相当してよい。特定の実施形態において、パッチがコンピュータシステムでインストールされる前に要件が満足されることを要求することによって、パッチの作成者(及び/又は提供者)は、インストールが成功する可能性が高い場合、インストールが危険でない場合、及び/又はインストールがコンピュータシステムにとって適切である場合に、一度にパッチがコンピュータシステムにインストールされることを確かにすることができる。
一般的に、コンピュータシステムは、最初にパッチが必要とされると決定(例えば、更新の確認)し、次いでコンピュータシステムでの即時インストールのためにパッチをインストールすることによって、パッチをインストールしてよい。代替的に、コンピュータシステムはまた、一般的に、コンピュータシステムのユーザが手動によりパッチをダウンロードすると選択し、それがダウンロードされると直ぐにパッチをインストールすることに基づき、パッチをインストールしてよい。そのようなパッチのインストール処理は、しかしながら、様々なコンピュータシステムにとって不完全なことがある。例えば、装置に組み込まれているコンピュータシステムは、コンピュータシステムが組み込まれる装置が機能している(又は別なふうに何らかの他の方法で動作している)ので、そのような方法においてパッチをインストールすることができず、当該インストール処理を安全でなく及び/又は不成功とする。他の例として、他のコンピュータシステムは、第三者によって使用され得るバーチャルマシンを実装していることがあるので、通常の方法においてそのようなコンピュータシステムにパッチをインストールすることは、いつパッチがインストールの準備ができていようともコンピュータシステムがバーチャルマシンをシャットダウンすることができないことがあるので、問題をはらむことがある。
上記の欠陥に加えて、更なる問題が、コンピュータシステムにパッチをインストールする通常の処理に付随することがある。例えば、特定のコンピュータシステムは、企業体(例えば、装置の製造業者)によって設計及び/又は製造された装置に組み込まれ得るので、企業体は、パッチのインストールの証明を要求することがある。特に、そのような証明は、装置が誤動作し又は破壊される場合に企業体が一以上のクレームから自身を守ることを可能にする。残念なことに、通常のインストール処理は、そのような証明を企業体に提供することができない。そのようなものとして、コンピュータシステムのための通常のパッチインストール方法は更に不完全である。
装置14は、装置に組み込まれるコンピュータシステム18を有する如何なる装置も表す。装置14は、自動車、携帯電話機、デジタルバーサタイルディスク(DVD)プレーヤ、デジタルカメラ、プリンタ、電子医療機器、装置に組み込まれるコンピュータシステム18を有する何らかの他の装置、又はそれらのあらゆる組み合わせを含んでよい。特定の実施形態において、装置14は、様々な機能及び/又は能力を有してよく、コンピュータシステム18は、そのような機能及び/又は能力の一部にのみ関与してよい。特定の実施形態において、コンピュータシステム18に加えて、装置14は、装置14の様々な機能及び能力を提供する付加的なハードウェア、機械部品、電機部品、又はその他タイプの部品を更に有してよい。
上述されたように、コンピュータシステム18は装置14において組み込まれる。そのようなものとして、コンピュータシステム18は「埋込型コンピュータシステム」と呼ばれることがある。埋込型コンピュータシステムは、それが組み込まれる装置の一以上の機能及び/又は能力に関与するよう設計されるコンピュータシステムを有してよい。例えば、埋込型コンピュータシステムは、それが組み込まれる装置の一以上の専用及び/又は特定の機能を行うよう設計されてよい。特定の実施形態において、埋込型コンピュータシステムは、装置14のハードウェア、ソフトウェア、機械部品、及び/又は電機部品へ作用し及び/又は機能を提供してよい。特定の実施形態において、埋込型コンピュータシステムは装置において組み込まれるので、埋込型コンピュータシステムはスタンドアローン型の装置でなくてよい。特定の実施形態において、埋込型コンピュータシステムは装置において組み込まれるので、埋込型コンピュータシステムはユーザインターフェースを有さなくてよい(すなわち、極めて限られたユーザインターフェースを有してよい)。特定の実施形態において、埋込型コンピュータシステムは装置において組み込まれるので、埋込型コンピュータシステムは、いつパッチが利用可能であろうとパッチをインストールすることができないことがある。例えば、装置は機能している(又は別なふうに何らかの方法で動作している)ことがあるので、埋込型コンピュータシステムにおけるパッチのインストールは安全ないことがあり、及び/又は特定の時点で成功しないことがある。このように、埋込型コンピュータシステムは、装置がもはやインストール処理を妨げなくなるまで、パッチをインストールすることができないことがある。
コンピュータシステム18は、装置14の一以上の機能及び/又は能力に関与する如何なる装置も表す。例えば、装置14が自動車である実施形態では、コンピュータシステム18は、アンチロック・ブレーキング・システム(ABS)の制御、電子安定制御(ESC/ESP)、トラクションコントロール(TCS)、自動四輪駆動、自動車のモータの様々な側面、自動車に導入されているDVDプレーヤ若しくはグローバル・ポジショニング・システム(GPS)の様々な側面、又は自動車のその他機能及び/若しくは能力のような自動車の一以上の機能及び/又は能力に関与しうる何らかの装置に相当する。
コンピュータシステム18は、装置14の一以上の機能及び/又は能力に関与するよう動作するハードウェア、ソフトウェア、又はそれらの組み合わせを有してよい。コンピュータシステム18の機能は、装置14における1又はそれ以上の場所にある構成要素のいずれかの組み合わせによって実行されてよい。表される実施形態では、コンピュータシステム18は、ネットワークインターフェース22、プロセッサ26、固有要素30、1又はそれ以上のセンサ34、及びメモリ38を有する。
ネットワークインターフェース22は、ネットワーク50から情報を受信し、ネットワーク50を通じて情報を送信し、情報の処理を実行し、他の装置と通信し、又はそれらの処理の如何なる組み合わせも行うよう動作する如何なる装置も表す。例えば、ネットワークインターフェース22は、パッチ78及び要件82を含むメッセージを製造業者装置54から受信する。他の例として、ネットワークインターフェース22は、確認リポート86を含むメッセージを製造業者装置54へ送る。ネットワークインターフェース22は、コンピュータシステム18がセンサ34、ネットワーク50、製造業者装置54、又はシステム10の他の構成要素と情報をやりとりすることを可能にするローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、又は他の通信システムを通じて通信するよう、プロトコル変換及びデータ処理機能を備えた、あらゆる適切なハードウェア及び/又はソフトウェアを含む実際又は仮想の何らかのポート又は接続に相当する。
プロセッサ26は、ネットワークインターフェース22及びメモリ38へ通信上結合し、ネットワークインターフェース22及びメモリ38から受信される情報を処理することによってコンピュータシステム18の動作及び管理を制御する。プロセッサ26は、情報を制御及び処理するよう動作する如何なるハードウェア及び/又はソフトウェアも有する。例えば、プロセッサ26は、コンピュータシステム18の動作を制御するようコンピュータシステム管理アプリケーション42を実行し、更に、パッチ78のインストールを制御するようコレクタ管理アプリケーション44を実行する。プロセッサ26は、プログラム可能ロジック装置、マイクロコントローラ、マイクロプロセッサ、あらゆる処理装置、又はそれらのあらゆる組み合わせであってもよい。
固有要素30は、一意的にコンピュータシステム18に関連付けられる如何なる構成要素も表す。特定の実施形態において、固有要素30は、ハードウェアに基づく構成要素(例えば、コンピュータシステム18と一意的に関連づけられるトラステッド・プラットフォーム・モジュール(TPM)又はその他コンピュータチップ若しくは装置)、又はソフトウェアに基づく構成要素(例えば、コンピュータシステム18と一意的に関連づけられる一以上の命令及び/又はアプリケーション)であってよい。特定の実施形態において、固有要素30は、固有キー、固有製品識別子、その他の一意の識別子、又はそれらの如何なる組み合わせも有してよい。特定の実施形態において、一意の識別子は、固有要素30が製造される場合に固有要素30に盛り込まれる秘密の識別子であってよい。固有要素30はそのような一意の識別子を有し且つ(例えば、コンピュータシステム18に物理的に結合(又は束縛)されるか、又はコンピュータシステム18にのみ設置されることによって)コンピュータシステム18に関連づけられるので、固有要素30はコンピュータシステム18に一意的に関連づけられ得る。特定の実施形態において、固有要素30はコンピュータシステム18に一意的に関連づけられるので、メッセージ、リポート、又はその他通信における固有要素30の署名(及び/又はそれらの生成)は、コンピュータシステム18に関連づけられると当該通信を特定する。そのようなものとして、固有要素30によって署名(及び/又は生成)される通信を受信する第三者は、当該通信がコンピュータシステム18に関連すると信じることができる。特定の実施形態において、第三者はまた、固有要素30によって署名(及び/又は生成)される通信を信じることができるので、固有要素30は「トラストアンカー」と呼ばれることがある。
センサ34は、装置14及び/又はコンピュータシステム18に関連する情報(例えば、コンテキスト情報46)を集中することができる如何なる検知要素も表す。センサ34は、温度に基づくセンサ(例えば、装置14の中及び/又は外の温度に関連する情報を収集するもの)、自動車に基づくセンサ(例えば、エンジン監視センサ、速度計センサ、空燃比センサ、タイヤ圧監視センサ、及び/又は車両速度センサ)、化学物質に基づくセンサ(例えば、窒素酸化物センサ)、電気に基づくセンサ(例えば、電圧検出器)、環境に基づくセンサ(例えば、雨センサ)、ソフトウェアに基づくセンサ(例えば、処理システムの現在の作業負荷を示す情報を収集するセンサ)、その他センサ、又はそれらの如何なる組み合わせを有してもよい。特定の実施形態において、センサ34は、装置14及び/又はコンピュータシステム18に関連する情報を収集してよく、それにより、コンピュータシステム18は、パッチ78がインストールされ得るかどうか決定してよい。特定の実施形態において、センサ34は、装置14及び/又はコンピュータシステム18をモニタすることによって情報を収集してよい。
メモリ38は、データ、動作ソフトウェア、又はプロセッサ26に関する他の情報を恒久的に又は一時的に記憶する。メモリ38は、情報を記憶するのに適した揮発性又は不揮発性の局所又は遠隔の装置のいずれか1つ又はそれらの組み合わせを有する。例えば、メモリ38は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、磁気記憶装置、光記憶装置、若しくはその他情報記憶装置、又はそれらの装置の組み合わせを有してよい。特定のモジュールを有するよう表されているが、メモリ38は、コンピュータシステム18の動作において使用される如何なる情報を有してもよい。
表される実施形態では、メモリ38は、コンピュータシステム管理アプリケーション42、コレクタ管理アプリケーション44、及びコンテキスト情報46を有する。コンピュータシステム管理アプリケーション42は、コンピュータ可読記憶媒体において具現され且つコンピュータシステム18の動作を助けるよう動作する如何なる適切な命令、ロジック又はコードも表す。例えば、コンピュータシステム管理アプリケーション42は、装置14の一以上の機能及び/又は能力に関与するようにコンピュータシステム18の能力を助けるよう動作してよい。
コレクタ管理アプリケーション44は、コンピュータ可読記憶媒体において具現され且つコンピュータシステム18におけるパッチ78のインストールを助けるよう動作する命令、ロジック又はコードの如何なる適切な組も表す。例えば、コレクタ管理アプリケーション44は、センサ34からコンテキスト情報46を収集してよい。そのようなものとして、特定の実施形態において、コレクタ管理アプリケーション44及びセンサ34は集合的に「コンテキストコレクタ」と呼ばれることがある。特定の実施形態において、これ倉管理アプリケーション44は更に、いつパッチ78がコンピュータシステム18にインストールされ得るのかを決定してよい。例えば、コレクタ管理アプリケーション44は、パッチ78がコンピュータシステム18にインストールされ得るかどうかを決定するために、コンテキスト情報46を要件82と比較してよい。
コンテキスト情報46は、センサ34から収集される如何なる情報も表す。例えば、装置14が自動車である実施形態では、コンテキスト情報46は、自動車が80000マイルを超えたこと、5年以上前に製造されたこと、現在エンジンがオフしていること、現在エンジンが室温にあること、及び/又はその他情報を示す情報を有してよい。コンテキスト情報46は、要件82に関連する如何なる情報を有してもよい。例えば、コンテキスト情報46は、要件82が満足されているかどうかを決定するために、要件82と比較され得る如何なる情報を有してもよい。
ネットワーク50は、装置14、コンピュータシステム18、及び製造業者装置54のようなシステム10の構成要素の間の通信を助けるよう動作する如何なるネットワークも表す。ネットワーク50は、オーディオ、ビデオ、信号、データ、メッセージ、又はそれらの如何なる組み合わせも送信することができる如何なる相互接続システムを有してもよい。ネットワーク50は、構成要素の間の通信を助けるよう動作する公衆交換電話網(PSTN)、公衆の若しくは私的なデータネットワーク、LAN、MAN、WAN、インターネットのような局所、地域、若しくは地球規模の通信若しくはコンピュータネットワーク、優先若しくは無線ネットワーク、企業イントラネット、又はそれらの組み合わせを含むその他通信リンクの全て又は一部を有してよい。特定の実施形態において、ネットワーク50は、衛星を使用可能な通信ネットワーク又はセルラーベース通信ネットワークの全て又は一部を有してよい。
製造業者装置54は、インストールのためのコンピュータシステム18へパッチ78を送信することができる如何なる構成要素も表す。特定の実施形態において、製造業者装置54は更に、確認リポート86を受信し且つ確認リポート86をパッチ74のインストールが成功したかどうかの証拠として記憶することができる如何なる構成要素も表してよい。特定の実施形態において、製造業者装置54は、装置14の製造業者に関連する装置であってよい。例えば、装置14が自動車である実施形態では、製造業者装置54は、自動車の製造業者に関連づけられてよい。特定の実施形態では、製造業者装置54は、コンピュータシステム18(又はコンピュータシステム18の一以上の構成要素)の製造業者に関連する装置であってよい。特定の実施形態において、製造業者装置54は、コンピュータシステム18のためのパッチ78の製造業者に関連する装置であってよい。例えば、製造業者装置54は、コンピュータシステム18のためのパッチ78を作成するソフトウェア会社に関連する装置であってよい。
製造業者装置54は、ユーザと受け側との間のトランザクションを助けるよう動作するネットワークサーバ、あらゆる遠隔サーバ、メインフレーム、ホストコンピュータ、ワークステーション、ウェブサーバ、パーソナルコンピュータ、ファイルサーバ、又はその他装置を有してよい。製造業者装置54の機能は、一以上の場所にある一以上のサーバ又は他の構成要素の如何なる組み合わせによっても実施されてよい。モジュールがサーバである実施形態では、サーバは私的サーバであってよく、サーバは仮想又は物理サーバであってよい。サーバは、同じか又は離れた場所で一以上のサーバを有してよい。また、製造業者装置54は、サーバとして機能する如何なる構成要素を有してもよい。図1は、コンピュータシステム18へパッチ78を送信するもの及びコンピュータシステム18から確認リポート86を受信するものとして同じ製造業者装置54を表すが、特定の実施形態において、異なる製造業者装置54が製造業者装置54の一以上の動作を行ってよい。表される実施形態では、製造業者装置54はネットワークインターフェース58、プロセッサ62及びメモリ66を有する。
ネットワークインターフェース58は、ネットワーク50から情報を受信し、ネットワーク50を通じて情報を送信し、情報の処理を実行し、他の装置と通信し、又はそれらの処理の如何なる組み合わせも行うよう動作する如何なる装置も表す。例えば、ネットワークインターフェース58は、確認リポート86を含むメッセージをコンピュータシステム18から受信する。他の例として、ネットワークインターフェース58は、パッチ78及び要件82を含むメッセージをコンピュータシステム18へ送る。ネットワークインターフェース58は、製造業者装置54がネットワーク50、装置14、コンピュータシステム18、又はシステム10の他の構成要素と情報をやりとりすることを可能にするLAN、MAN、WAN、又は他の通信システムを通じて通信するよう、プロトコル変換及びデータ処理機能を備えた、あらゆる適切なハードウェア及び/又はソフトウェアを含む実際又は仮想の何らかのポート又は接続に相当する。
プロセッサ62は、ネットワークインターフェース58及びメモリ66へ通信上結合し、ネットワークインターフェース58及びメモリ66から受信される情報を処理することによって製造業者装置54の動作及び管理を制御する。プロセッサ62は、情報を制御及び処理するよう動作する如何なるハードウェア及び/又はソフトウェアも有する。例えば、プロセッサ62は、製造業者装置54の動作を制御するよう製造業者装置管理アプリケーション70を実行する。プロセッサ62は、プログラム可能ロジック装置、マイクロコントローラ、マイクロプロセッサ、あらゆる処理装置、又はそれらのあらゆる組み合わせであってもよい。
メモリ66は、データ、動作ソフトウェア、又はプロセッサ62に関する他の情報を恒久的に又は一時的に記憶する。メモリ66は、情報を記憶するのに適した揮発性又は不揮発性の局所又は遠隔の装置のいずれか1つ又はそれらの組み合わせを有する。例えば、メモリ66は、RAM、ROM、磁気記憶装置、光記憶装置、若しくはその他情報記憶装置、又はそれらの装置の組み合わせを有してよい。特定のモジュールを有するよう表されているが、メモリ66は、製造業者装置54の動作において使用される如何なる情報を有してもよい。
表される実施形態では、メモリ66は、製造業者装置管理アプリケーション70、装置情報74、パッチ78、要件82、及び確認リポート86を有する。製造業者装置管理アプリケーション70は、コンピュータ可読記憶媒体において具現され且つ製造業者装置54の動作を助けるよう動作する命令、ロジック又はコードの如何なる適切な組も表す。
装置情報74は、装置14、コンピュータシステム18、装置14の構成要素、及び/又はコンピュータシステム18の構成要素を表す如何なる情報も表す。例えば、装置情報74は、装置14の所有者に関する情報、コンピュータシステム18においてインストールされているあらゆるアプリケーションに関する情報、コンピュータシステム18と通信するためのアドレス情報、コンピュータシステム18の固有要素30に関連する情報(例えば、特定のコンピュータシステム18に関連すると特定の固有要素30を特定する情報及び固有要素30の一意の識別子を示す情報)、装置14及び/又はコンピュータシステム18と通信し及び/又はその所在を確認するのに必要とされるあらゆる情報、コンピュータシステム18におけるパッチ78のインストールに必要とされるあらゆる他の情報、あるいは、それらの如何なる組み合わせも含む。
パッチ78は、コンピュータシステム18におけるインストールのための命令、ロジック又はコードの組に相当する。パッチ78は、コンピュータシステムに付随する既知の問題を解決するよう設計されてよく、且つ/あるいは、コンピュータシステム18、コンピュータシステム18に関連する一以上のアプリケーション及び/又は命令、及び/又はコンピュータシステム18を記憶し若しくは支持するあらゆるデータを更新するよう設計されてよい。パッチ78は、コンピュータシステム18の一部又はコンピュータシステム18の全体を修正及び/又は更新するよう構成されてよい。
要件82は、パッチ78がコンピュータシステム18にインストールされるために要求されることに関する情報に相当してよい。例えば、装置14が自動車である実施形態では、要件82は、自動車のエンジンがオフされていること、自動車のエンジンが室温にあること、自動車が特定の状態を有すること、自動車が現在正規サービスセンターにあり且つ正規の整備士によって作業されていること、自動車のコンピュータシステム18が特定のバージョンのソフトウェアにより動作していること、パッチのインストールが自動車の所有者若しくはユーザによって承認されていること、その他要件、又はそれらの組み合わせといった要件を含んでよい。他の例として、コンピュータシステム18がクラウドベースのサーバである実施形態では、要件82は、コンピュータシステム18が特定の作業負荷を有して(例えば、ほとんど作業負荷がない状態で)動作していること、コンピュータシステム18で実行されている一以上のバーチャルマシン(及び/又はアプリケーション)がバーチャルマシン(及び/又はアプリケーション)の性能に影響を及ぼすことなく他のコンピュータシステムへ転送され得ること、コンピュータシステム18に実装されるバーチャルマシンが現在実行されていないこと、パッチのインストールがコンピュータシステム18の所有者若しくはユーザによって及び/又は夫々のバーチャルマシンを用いる第三者によって承認されていること、その他要件、あるいは、それらの組み合わせといった要件を含んでよい。
特定の実施形態において、要件82は、要件82が満足されるまでパッチ78がコンピュータシステム18でインストールされないことを確かにするために、パッチ78とともにコンピュータシステム18へ供給されてよい。
確認リポート86は、コンピュータシステム18でのパッチ78のインストール処理に関する如何なる情報も表す。例えば、確認リポート86は、パッチ78がコンピュータシステム18にインストールされた日及び/又は時間を示す何らかの情報、要件82を満たしたコンテキスト情報46(例えば、コンテキスト情報46のリスト)、パッチ78のインストールの状態(例えば、成功又は失敗)、パッチ78の識別、装置14の識別、コンピュータシステム18の識別、固有要素30の識別、固有要素30による何らかの署名、コンピュータシステム18でのパッチ78のインストールが成功したか否かの証拠を提供することができるその他情報、又はそれらの如何なる組み合わせを有してもよい。特定の実施形態において、確認リポート86は、コンピュータシステム18でのパッチ78のインストールが成功したか否かの証拠として記憶される。特定の実施形態において、確認リポート86は、コンピュータシステム18でのパッチ78のインストールが成功したか否かに関する否定しがたい証明であってよい。
動作の実施例において、コンピュータシステム18がパッチ78をインストールするために、製造業者装置54は、パッチ78及び要件82を含むメッセージ100をコンピュータシステム18へ送信してよい。メッセージ100の受信に応答して、コンピュータシステム18は、コンピュータシステム18がメッセージ100を受信したことを示すメッセージ104を送信してよい。特定の実施形態において、メッセージ104は任意であってよい。メッセージ100からの要件82に基づき、コレクタ管理アプリケーション44は、要件82が満足されるかどうかを決定するために、センサ34からコンテキスト情報46を収集してよい。特定の実施形態において、コレクタ管理アプリケーション44は、コンテキスト情報46がパッチ78をコンピュータシステム18にインストールするために必要とされる要件82のそれぞれを満足すると決定されるまで、センサ34からコンテキスト情報46を繰り返し収集し続けてよい。要件82が満足されると、コレクタ管理アプリケーション44は、コンピュータシステム18でのパッチ78のインストール処理を行ってよい。
パッチ78のインストール処理が終了される場合(例えば、コンピュータシステム18でのパッチ78のインストールが成功若しくは失敗した場合、又はコレクタ管理アプリケーション44がアプリケーション78をコンピュータシステム18にインストールしようとすることをやめた場合)に、確認リポート86がコンピュータシステム18の固有要素30によって生成され署名されてよい。コンピュータシステム18は、次いで、コンピュータシステム18でのパッチ78のインストールが成功したかどうかの証拠としての記憶のために、確認リポート86を含むメッセージ108を製造業者装置54へ送信してよい。
システム10はネットワーク50上で起こるメッセージ100の伝送を表すが、特定の実施形態において、メッセージ100は、コンピュータシステム18のネットワークインターフェース22へ結合され得る可搬型の記憶媒体に含まれてよい。そのようなものとして、パッチ78及び要件82がコンピュータシステム18へ送信される時間である場合に、可搬型の記憶媒体は、装置14の所有者に関連する住所へ送られてよい。次いで、可搬型の記憶媒体は、コンピュータシステム18がパッチ78及び要件82を受信するために、コンピュータシステム18へ結合されてよい。更に、コンピュータシステム18は更に、可搬型の記憶媒体へ確認リポート86を送信してよい。このように、可搬型の記憶媒体が製造業者装置54へ返送される場合に、製造業者装置54は、確認リポート86を受け取り、それをパッチ78のインストールが成功したかどうかの証拠として記憶してよい。
変更、付加、又は削除は、本開示の適用範囲から逸脱することなしにシステム10に対してなされてよい。例えば、製造業者装置54は、如何なる数のパッチ78も、如何なる数の装置14においても組み込まれる如何なる数のコンピュータシステム18へも提供してよい。加えて、システム10は、如何なる数の装置14、コンピュータシステム18、ネットワーク50、及び/又は製造業者装置54も有してよい。如何なる適切なロジックも、システム10の機能及びシステム10内の構成要素を実施してよい。
図1に関して上述された実施形態に加えて、更なる実施形態が以下で説明される。特に、図2は、1又はそれ以上のバーチャルマシンを実装するコンピュータシステムでのパッチのインストールを提供するシステムを表す。加えて、それらの実施形態の1又はそれ以上によって実施され得る様々な方法も以下で説明される。特に、図3は、コンピュータシステムでパッチをインストールする方法を例示し、図4は、コンピュータシステムの特定の実施形態に関してチェックポイントを生成する方法を例示し、図5は、コンピュータシステムのためのパッチを選択する方法を例示する。
図2は、1又はそれ以上のバーチャルマシン208を実装するコンピュータシステム204でのパッチのインストールを提供するシステム200を表す。特定の実施形態において、コンピュータシステム204は、図1の装置14及びコンピュータシステム18の代替の実施形態であってよい。例えば、(装置14において組み込まれる)コンピュータシステム18が製造業者装置54からメッセージ100を受信し、パッチ78のインストール処理を行い、且つメッセージ108を製造業者装置54へ送信すること(図1参照)に代えて、図2では、コンピュータシステム204が、製造業者装置54からメッセージ100を受信し、パッチ78のインストール処理を行い、且つメッセージ108を製造業者装置54へ送信する。
通常、1又はそれ以上のバーチャルマシンを実装するコンピュータシステムにおいてパッチをインストールすることは、そのようなインストールがコンピュータシステムで実装されるバーチャルマシンの性能に影響を及ぼしうるので、問題をはらむことがある。第三者がいつでも如何なる期間でもコンピュータシステムに実装されるバーチャルマシンを利用している可能性があるので、バーチャルマシンの性能に影響を及ぼしうる如何なるインストール処理も実際的ではない。更に、バーチャルマシンはいつなんどきでも利用され得るので、通常の処理によりパッチがインストールされることを可能にするためにバーチャルマシンがシャットダウンされ得る時間をスケジューリングすることが更に問題となる。そのようなものとして、バーチャルマシンを実装するコンピュータシステムでパッチをインストールする通常の方法は不完全である。
表される実施形態に従って、システム200は、1又はそれ以上のバーチャルマシン204を実装するコンピュータシステム204を有する。図1で表されたように、コンピュータシステム18は、パッチ78及び一以上の要件82を製造業者装置54から受信する。要件82が満足されたとコンピュータシステム18が決定すると、コンピュータシステム18は、コンピュータシステム18にパッチ78をインストールするインストール処理を行ってよい。特定の実施形態において、これは、たとえコンピュータシステム204がいつでも第三者によって利用され得るバーチャルマシンを実装するとしても、コンピュータシステム18がパッチ78をインストールすることを可能にすることができる。
コンピュータシステム204は、バーチャルマシン208を実装することができる如何なる構成要素も表す。コンピュータシステム204は、バーチャルマシン208を実装するよう動作するクラウドサーバ、ネットワークサーバ、何らかの遠隔サーバ、メインフレーム、ホストコンピュータ、ワークステーション、ウェブサーバ、パーソナルコンピュータ、ファイルサーバ、又はその他装置を有してよい。コンピュータシステム204の機能は、一以上の場所にある一以上のサーバ又は他の構成要素の如何なる組み合わせによっても実施されてよい。サーバは、同じか又は離れた場所で一以上のサーバを有してよい。表される実施形態では、コンピュータシステム204はネットワークインターフェース22、プロセッサ26、固有要素30、センサ34、メモリ38、コンピュータシステム管理アプリケーション42、コレクタ管理アプリケーション44、及びコンテキスト情報46を有し、それらの夫々は図1において詳細に記載されている。
コンピュータシステム204はバーチャルマシン208を実装する。バーチャルマシン208は、仮想化された実行環境において実行又は動作することができる、コンピュータシステムのような装置の実行インスタンス化であってよい。例えば、バーチャルマシン208は、装置のハードウェア(例えば、マイクロプロセッサ又はコントローラ)をエミュレートしてよく、バーチャルマシン208にインストールされる一以上のアプリケーションを実行することができるオペレーティングシステムを更にエミュレートしてよい。特定の実施において、バーチャルマシン208は、装置の完全なハードウェアを完全にシミュレーションして、ゲストオペレーティングシステムがバーチャルマシン208に関連して実行され且つ1又はそれ以上のアプリケーションがゲストオペレーティングシステムに関連して実行されることを可能にする。
バーチャルマシン208は、タイプ1又はタイプ2のハイパーバイザを用いて実施可能である。タイプ1ハイパーバイザは、ハードウェアで直接に実行され、タイプ2ハイパーバイザはリナックス(登録商標)のような他のオペレーティングシステムで実行される。バーチャルマシン208は、バーチャルハードウェアによって支持される如何なるオペレーティングシステムも実行することができ、また如何なるアプリケーションも実行することができる。例えば、バーチャルマシン208は、1つの“ゲスト”オペレーティングシステム及び一以上のアプリケーションをホストしてよい。
動作の実施例(図1参照)において、コンピュータシステム18がパッチ78をインストールするために、製造業者装置54は、パッチ78及び要件82を含むメッセージ100をコンピュータシステム18へ送信してよい。メッセージ100の受信に応答して、コンピュータシステム18は、コンピュータシステム18がメッセージ100を受信したことを示すメッセージ104を送信してよい。特定の実施形態において、メッセージ104は任意であってよい。メッセージ100からの要件82に基づき、コレクタ管理アプリケーション44は、要件82が満足されるかどうかを決定するために、センサ34からコンテキスト情報46を収集してよい。特定の実施形態において、コレクタ管理アプリケーション44は、コンテキスト情報46がパッチ78をコンピュータシステム18にインストールするために必要とされる要件82のそれぞれを満足すると決定されるまで、センサ34からコンテキスト情報46を繰り返し収集し続けてよい。要件82が満足されると、コレクタ管理アプリケーション44は、コンピュータシステム18でのパッチ78のインストール処理を行ってよい。
パッチ78のインストール処理が終了される場合(例えば、コンピュータシステム18でのパッチ78のインストールが成功若しくは失敗した場合、又はコレクタ管理アプリケーション44がアプリケーション78をコンピュータシステム18にインストールしようとすることをやめた場合)に、確認リポート86がコンピュータシステム18の固有要素30によって生成され署名されてよい。コンピュータシステム18は、次いで、コンピュータシステム18でのパッチ78のインストールが成功したかどうかの証拠としての記憶のために、確認リポート86を含むメッセージ108を製造業者装置54へ送信してよい。
変更、付加、又は削除は、本開示の適用範囲から逸脱することなしにシステム200に対してなされてよい。例えば、システム200は、如何なる数のコンピュータシステム204及び如何なる数のバーチャルマシン208も有してよい。他の例として、パッチ及び要件を含むメッセージは、製造業者装置54から送信されるのとは対照的に、コンピュータシステム204のそれぞれを制御する中央集権的なパッチコントローラからコンピュータシステム204へ送信されてよい。如何なる適切なロジックも、システム200の機能及びシステム200内の構成要素を実施してよい。
図3は、コンピュータシステムにパッチをインストールする方法300を表す。特定の実施形態において、方法300の1又はそれ以上のステップは、図1のコンピュータシステム18(及び/又はコンピュータシステム18の一以上の構成要素)、図2のコンピュータシステム204(及び/又はコンピュータシステム204の一以上の構成要素)、及び/又は図1の製造業者装置54によって実行されてよい。
方法はステップ302で開始する。ステップ304で、メッセージが受信される。特定の実施形態において、メッセージはコンピュータシステムによって受信される。例えば、コンピュータシステムは、装置(例えば、自動車、携帯電話機、DVDプレーヤ、デジタルカメラ、プリンタ、電子医療機器、又はコンピュータシステムが組み込まれるその他装置)において組み込まれるコンピュータシステムであってよい。他の例として、コンピュータシステムは、1又はそれ以上のバーチャルマシンを実行するクラウドサーバのような、1又はそれ以上のバーチャルマシンを実装するコンピュータシステムであってよい。特定の実施形態において、受信されるメッセージは、インストールのためのパッチと、パッチがイントールされ得る前に満足されるべき1又はそれ以上の要件とを含んでよい。特定の実施形態において、パッチは、コンピュータシステムを更新するよう構成されてよい。
特定の実施形態において、メッセージは何らかの理由により受信されてよい。例えば、メッセージは、コンピュータシステムが新しいマッチを要求した、又はコンピュータシステムが新しいパッチを要求すると製造業者装置が決定したといった理由や、その他の理由により、受信されてよい。特定の実施形態において、コンピュータシステムは、利用可能な新しいパッチが存在するかどうかを決定するために、製造業者装置にアクセスしてよい。特定の実施形態において、新しいパッチを確認する処理は、周期的に、及び/又は所定のイベント(例えば、従前のパッチが2年以上前にインストールされたとコンピュータ装置が決定する場合)の発生時に、起こってよい。特定の実施形態において、利用可能な新しいパッチが存在するとコンピュータシステムが決定する場合は、コンピュータシステムは、パッチがダウンロードされてインストールされることを要求してよい。
特定の実施形態において、パッチが適切なコンピュータシステムにインストールされていることを保証するために、コンピュータシステムによって受信されるメッセージは暗号化されてよい。特定の実施形態において、暗号化されたメッセージは、コンピュータシステムに関連する固有要素によってのみ解読されてよい。例えば、パッチ及び要件を含むメッセージは、キー対における公衆キーに基づき暗号化されてよく、固有要素は、キー対のプライベートキーを有してよい。そのようなものとして、固有要素は、要件が満足される場合にコンピュータシステムがパッチをインストールすることができるように、メッセージを解読してよい。特定の実施形態において、メッセージを暗号化することによって、メッセージが不適切なコンピュータシステムによって受信される場合(例えば、メッセージが誤って不適切なコンピュータシステムに送られる場合)に、そのコンピュータシステムは、メッセージを解読する適切な固有要素を有さない。そのようなものとして、特定の実施形態において、コンピュータシステムは、不適切なパッチをインストールすることを防がれ得る。
特定の実施形態において、コンピュータシステムがステップ304でメッセージを受信した後、コンピュータシステムは、パッチ及び要件が受信されたことを示すメッセージを送信してよい。特定の実施形態において、そのようなメッセージは任意であってよい。
ステップ306で、情報が1又はそれ以上のセンサから収集される。特定の実施形態において、情報は、受信された要件に基づき収集されてよい。例えば、要件が満足されるかどうかを決定するために、コンピュータシステムは要件に関連する情報を収集してよい。特定の実施形態において、如何なる情報も収集されてよい。例えば、情報は、コンピュータシステム(又はコンピュータシステムが組み込まれる装置)に関連する情報、装置の環境に関する情報(例えば、温度)、コンピュータシステムの場所、ユーザによってコンピュータシステムに入力される情報(例えば、ユーザによるパッチの承認)、要件に関連するその他情報、又はそれらの如何なる組み合わせも有してよい。特定の実施形態において、情報は如何なるタイプのセンサからも収集されてよい。
ステップ308で、要件が満足されるかどうかが決定される。特定の実施形態において、要件は、要件のそれぞれが満足された場合に満足される。例えば、自動車のエンジンがオフされていることを要件が求める特定の実施形態では、要件は、エンジンがオフされる場合に満足され得る。要件が満足されない場合は、方法はステップ306に戻り、情報が1又はそれ以上のセンサから収集される。特定の実施形態において、これは、要件が満足されるまでセンサから繰り返し情報が収集されることを可能にすることができる。
要件が満足される場合は、方法はステップ310へ移動し、インストール処理が行われる。特定の実施形態において、インストール処理を行うことは、コンピュータシステムでパッチのインストール処理を行うことを指してよい。
ステップ312で、インストール処理が終了されるかどうかが決定される。特定の実施形態において、インストール処理は何らかの理由により終了されてよい。例えば、インストール処理は、インストールが成功した、インストールが失敗した、又はコンピュータシステムが何らかの理由によりインストール処理を中止したために、終了されてよい。インストール処理が終了されないと決定される場合は、方法は、インストール処理が終了されるまでインストール処理が終了されるかどうかを確認し続ける。
インストール処理が終了されると、方法はステップ314へ移動し、確認リポートが送信される。特定の実施形態において、確認リポートはコンピュータシステムによって製造業者装置へ送信される。特定の実施形態において、製造業者装置は、装置14、コンピュータシステム18、(及び/又はコンピュータシステム18の一以上の構成要素)、及び/又はパッチ78の製造業者のようなあらゆるタイプの製造業者と関連する如何なる装置も含んでよい。
特定の実施形態において、確認リポートは、パッチのインストール処理に関する如何なる情報も含んでよい。例えば、確認リポートは、パッチがコンピュータシステムにインストールされた日及び/又は時間を示す何らかの情報、要件を満たしたコンテキスト情報(例えば、コンテキスト情報のリスト)、パッチのインストールの状態(例えば、成功又は失敗)、パッチの識別、コンピュータシステムが組み込まれる装置の識別、コンピュータシステムの識別、コンピュータシステムに関連する固有要素の識別、固有要素による何らかの署名、コンピュータシステムでのパッチのインストールが成功したか否かの証拠を提供することができるその他情報、又はそれらの如何なる組み合わせを有してもよい。特定の実施形態において、確認リポートは、コンピュータシステムに関連する固有要素によって生成され署名されてよい。特定の実施形態において、固有要素は、如何なる方法においても確認リポートに署名してよい。例えば、固有要素は、その一意の識別子(例えば、その固有キー)を確認リポートに挿入してよい。特定の実施形態において、固有要素によって生成され署名された確認リポートを送信することによって、第三者(例えば、製造業者)は、確認リポートが特定のコンピュータシステムで起こったインストール処理に言及すると信じることができる。そのようなものとして、確認リポートは、インストール処理の証拠として記憶されてよい。
確認リポートがステップ314で送信された後、方法はステップ316へ移動し、確認リポートが受信される。特定の実施形態において、確認リポートは製造業者装置によって受信される。ステップ318で、確認リポートが記憶される。特定の実施形態において、確認リポートは製造業者装置によって記憶されてよい。特定の実施形態において、確認リポートは、パッチのインストールが成功したかどうかの証拠として記憶されてよい。例えば、確認リポートは、パッチのインストールが成功したこと、パッチのインストールが失敗したこと、又はインストール処理が何らかの理由により中止されたことの証拠として記憶されてよい。確認リポートが記憶された後、方法はステップ320へ移動し、方法は終了する。
変更、付加、又は削除が方法300になされてよい。例えば、方法300は、パッチ及び要件を送信するのと同じ製造業者装置へ送られる確認リポートを表すが、特定の実施形態において、確認リポートは異なる製造業者装置へ送信されてよい。加えて、図3の方法300における1又はそれ以上のステップは、並行して、又は何らかの適切な順序において、実行されてよい。
図4は、図3の方法におけるコンピュータシステムの特定の実施形態に関してチェックポイントを生成する方法400を表す。特定の実施形態において、方法400の1又はそれ以上のステップは、図1のコンピュータシステム18(及び/又はコンピュータシステム18の一以上の構成要素)、及び/又は図2のコンピュータシステム204(及び/又はコンピュータシステム204の一以上の構成要素)によって実行されてよい。
方法はステップ402で開始する。ステップ404で、パッチのインストールが成功したかどうかが決定される。パッチのインストールが不成功であった場合は、方法はステップ418へ移動し、方法は終了する。他方で、インストールが成功した場合は、方法はステップ406へ移動する。
ステップ406で、第1チェックポイントが生成される。第1チェックポイントは、チェックポイントが生成された時点へコンピュータシステムが状態を戻されることを可能にするチェックポイントに相当してよい。特定の実施形態において、これは、チェックポイントが生成されてから起きた1又はそれ以上のエラーをコンピュータシステムが消去することを可能にすることができる。特定の実施形態において、第1チェックポイントは、パッチのインストールが成功したと決定された直後に生成されてよい。
ステップ408で、次のパッチがコンピュータシステムでのインストールのために準備できているかどうかが決定される。特定の実施形態において、次のパッチは、コンピュータシステムが製造業者装置から他のメッセージを受信しており且つ次のパッチの要件が満足されている場合に、インストールに備えてよい。次のパッチがインストールのために準備できていない場合は、方法は、次のパッチがインストールのために準備できているかどうかを確認し続けてよい。他方で、次のパッチがインストールのために準備できている場合は、方法はステップ410へ移動する。
ステップ410で、第2チェックポイントが生成される。特定の実施形態において、第2チェックポイントは、次のパッチがインストールされる前に生成されてよい。例えば、第2チェックポイントは、第2のパッチがインストールされる直前に生成されてよい。
ステップ412で、第1チェックポイントが第2チェックポイントと比較される。この比較に基づき、ステップ414で、2つのチェックポイントが異なるかどうかが決定される。特定の実施形態において、2つのチェックポイントは、第1チェックポイントの後にコンピュータシステムでエラーが起こった場合に相違しうる。他の例として、チェックポイントは、コンピュータシステムで未知の更新が起こった場合(例えば、未知のパッチがコンピュータシステムでインストールされた場合)、及び/又は悪質なソフトウェアがコンピュータシステムでインストールされた場合に、相違しうる。2つのチェックポイントが相違しないと決定される場合は、方法はステップ418へ移動し、方法は終了する。特定の実施形態において、2つのチェックポイントが相違しないと決定される場合は、方法400は、方法400が終了する前に、コンピュータシステムで次のパッチをインストールするステップを更に有してよい。
他方で、2つのチェックポイントが異なると決定される場合は、方法はステップ416へ移動する。ステップ416で、次の確認リポートが送信される。特定の実施形態において、次の確認リポートは、第1のパッチの成功したインストール以降にコンピュータシステムでエラーが起こったことを示してよい。特定の実施形態において、次の確認リポートは、コンピュータシステムに関連する固有要素によって生成され署名されてよい。次の確認リポートが送信されると、方法はステップ418へ移動し、方法は終了する。特定の実施形態において、次の確認リポートが送信された後、方法400は、方法400が終了する前に、コンピュータシステムを第1チェックポイントへ状態を戻すステップを更に有してよい。
変更、付加、又は削除が方法400になされてよい。例えば、方法400は、最後に成功したパッチのインストール以降にエラーが起こったかどうかを決定するために使用される第2チェックポイントについて記載するが、第2チェックポイント(又はパッチのインストールの直前に生成される何らかのチェックポイント)はまた、次のパッチのインストールが失敗する場合にフェイルセーフを提供してよい。特に、次のパッチが何らかの理由によりインストールすることができない場合に、コンピュータシステムはそのチェックポイントへ状態を戻されてよく、コンピュータシステムは依然として動作状態にあることを確かにしてよい。特定の実施形態において、これは、たとえパッチのインストールが失敗するとしてもコンピュータシステムが動作し続けることを可能にすることができる。更に、コンピュータシステムを前のチェックポイントへ戻すことに加えて、特定の実施形態において、インストールが何らかの理由により失敗する場合に、コンピュータシステムは更に失敗の理由を決定してよく、その理由を更に、製造業者装置へ送信される確認リポートに含めてよい。
加えて、図4の方法400における1又はそれ以上のステップは、並行して、又は何らかの適切な順序において、実行されてよい。更に、図4の方法400は、図3の方法300と同時に行われてよい。例えば、図4の方法400は、インストール処理が図3のステップ312で終了されると決定された後に開始してよい。然るに、図4の方法400のステップは、図3の残りのステップの1又はそれ以上と同時に、又はその後に行われてよい。
図5は、コンピュータシステムのためのパッチを選択する方法500を表す。特定の実施形態において、方法500の1又はそれ以上のステップは、図1のコンピュータシステム18(及び/又はコンピュータシステム18の一以上の構成要素)、図2のコンピュータシステム204(及び/又はコンピュータシステム204の一以上の構成要素)、及び/又は図1の製造業者装置54によって実行されてよい。
方法はステップ502で開始する。ステップ504で、初期情報が1又はそれ以上のセンサから収集される。特定の実施形態において、初期情報は如何なる情報も含んでよい。例えば、情報は、コンピュータシステム、コンピュータシステムが組み込まれる装置、コンピュータシステムによって実行される一以上のアプリケーション及び/又はバーチャルマシン、コンピュータシステムにインストールされた最後の更新及び/又はパッチ、コンピュータシステム及び/又はコンピュータシステムが組み込まれる装置に関するその他情報、あるいは、それらの如何なる組み合わせのインジケーションを有してもよい。特定の実施形態において、初期情報はコンピュータシステムによって収集されてよい。
ステップ506で、メッセージが送信される。特定の実施形態において、メッセージはコンピュータシステムによって製造業者装置へ送信されてよい。特定の実施形態において、メッセージは、収集された初期情報を含んでよい。特定の実施形態において、コンピュータシステムが収集された初期情報を送信するのみならず、収集された初期情報はまた固有要素によって署名されてよい。そのようなものとして、製造業者装置は、収集された情報がコンピュータシステムによって収集されたと決定することができる。特定の実施形態において、これは、他の装置が不適切なパッチのインストールを引き起こそうとしてコンピュータシステムに成り代わって偽の情報を提供することを妨げることができる。
ステップ508で、メッセージが受信される。特定の実施形態において、メッセージは製造業者装置によって受信される。ステップ510で、特定のパッチがコンピュータシステムへの伝送のために選択される。特定の実施形態において、特定のパッチは、収集された初期情報に基づき選択されてよい。例えば、収集された初期情報に基づき、製造業者装置は、コンピュータシステムがどのようなコンピュータシステムであるのか、どのようなアプリケーション及び/又はバーチャルマシンがコンピュータシステムで実行されているのか、いつ最後のパッチがコンピュータシステムにインストールされたのか、コンピュータシステム及び/又はコンピュータシステムが組み込まれる装置に関するその他情報、あるいは、それらの如何なる組み合わせも決定してよい。特定の実施形態において、収集された初期情報に基づき特定のパッチを選択することは、夫々の特定のコンピュータシステムについて最良のパッチの選択を可能にすることができる(例えば、異なるコンピュータシステムはパッチング処理の異なる段階にあることがあり、異なるパッチを必要とすることがあるため。)。特定の実施形態において、製造業者装置は、コンピュータシステムによるインストールのための何らかのパッチを選択してよい。例えば、製造業者装置は、コンピュータシステムに必要とされるパッチ、コンピュータシステムをより効率よくするパッチ、及び/又は如何なる他のパッチも選択してよい。特定の実施形態において、製造業者装置は更に、パッチがコンピュータシステムにインストールされる前に満足される必要がある特定の要件を選択してよい。
特定のパッチが選択されると、方法はステップ512へ移動する。ステップ512で、選択されたパッチを含むメッセージが送信される。特定の実施形態において、選択されたパッチを含むメッセージは、製造業者装置によってコンピュータシステムへ送信されてよい。
メッセージが送信された後、方法はステップ514へ移動し、方法は終了する。方法500は、メッセージがコンピュータシステムへ送信された後に終了する方法500を表すが、特定の実施形態において、方法は、代わりに、図3の方法300へ移動してよい。
変更、付加、又は削除が方法500になされてよい。加えて、図5の方法500における1又はそれ以上のステップは、並行して、又は何らかの適切な順序において実行されてよい。
本開示は幾つかの実施形態により記載されてきたが、無数の変更、変形、代替、置換、及び改良が当業者に示唆され、本開示が添付の特許請求の範囲の適用範囲内にあるようにそのような変更、変形、代替、置換、及び改良を包含するよう意図される。

Claims (21)

  1. 自動車と、該自動車に組み込まれるコンピュータシステムとを有し、
    前記コンピュータシステムは、
    1又はそれ以上のリポートを生成し、前記コンピュータシステムに関連していると前記リポートを特定するように該リポートに署名するよう動作する固有要素と、
    1又はそれ以上の命令を記憶するよう動作するメモリと、
    前記1又はそれ以上の命令の実行時に、
    インストールのための、前記コンピュータシステムを更新するよう構成されるパッチと、該パッチがインストールされ得る前に満足されるべき1又はそれ以上の要件とを含むメッセージを受信し、
    収集された情報に基づき前記1又はそれ以上の要件が満足されたと決定されるまで、1又はそれ以上のセンサから繰り返し情報を収集し、
    前記1又はそれ以上の要件が満足されたと決定されると、前記コンピュータシステムにおいて前記パッチのインストール処理を行い、
    前記パッチのインストール処理が終了されると決定されると、前記パッチのインストールに成功したかどうかを示す、前記固有要素によって生成され署名された確認リポートを送信する
    よう動作するプロセッサと
    を有する、システム。
  2. コンピュータシステムを有し、該コンピュータシステムは、
    1又はそれ以上のリポートを生成し、前記コンピュータシステムに関連していると前記リポートを特定するように該リポートに署名するよう動作する固有要素と、
    1又はそれ以上の命令を記憶するよう動作するメモリと、
    前記1又はそれ以上の命令の実行時に、
    インストールのための、前記コンピュータシステムを更新するよう構成されるパッチと、該パッチがインストールされ得る前に満足されるべき1又はそれ以上の要件とを含むメッセージを受信し、
    収集された情報に基づき前記1又はそれ以上の要件が満足されたと決定されるまで、1又はそれ以上のセンサから繰り返し情報を収集し、
    前記1又はそれ以上の要件が満足されたと決定されると、前記コンピュータシステムにおいて前記パッチのインストール処理を行い、
    前記パッチのインストール処理が終了されると決定されると、前記パッチのインストールに成功したかどうかを示す、前記固有要素によって生成され署名された確認リポートを送信する
    よう動作するプロセッサと
    を有する、システム。
  3. 前記コンピュータシステムが組み込まれる装置
    を更に有する請求項2に記載のシステム。
  4. 前記装置は、
    自動車、
    携帯電話機、
    デジタルバーサタイルディスク(DVD)プレーヤ、
    デジタルカメラ、
    プリンタ、及び
    電子医療機器
    を含むグループから選択される、請求項3に記載のシステム。
  5. 前記コンピュータシステムは、1又はそれ以上のバーチャルマシンを実行するクラウドサーバを有する、
    請求項2に記載のシステム。
  6. 製造業者に関連づけられる装置を更に有し、該装置は、
    1又はそれ以上の第2の命令を記憶するよう動作する第2のメモリと、
    前記1又はそれ以上の第2の命令の実行時に、
    前記確認リポートを受信し、
    前記パッチのインストールに成功したかどうかの証拠として前記確認リポートを記憶する
    よう動作する第2のプロセッサと
    を有する、請求項2に記載のシステム。
  7. 前記プロセッサは更に、前記1又はそれ以上の命令の実行時に、
    前記パッチのインストール処理が成功したと決定されると、前記コンピュータシステムに関する第1チェックポイントを生成し、
    前記コンピュータシステムにおいて次のパッチのインストール処理を行う前に、前記コンピュータシステムに関する第2チェックポイントを生成し、
    前記第1チェックポイントと前記第2チェックポイントとを比較し、
    前記第1チェックポイントが前記第2チェックポイントと異なると決定されると、前記パッチのインストールの成功以後に前記コンピュータシステムでエラーが起きたことを示す、前記固有要素によって生成され署名された次の確認リポートを送信する
    よう動作する、請求項2に記載のシステム。
  8. 前記プロセッサは更に、前記1又はそれ以上の命令の実行時に、
    前記メッセージを受信する前に、
    前記1又はそれ以上のセンサから初期情報を収集し、
    収集された前記初期情報を含む初期メッセージを、製造業者に関連づけられる装置へ送信する
    よう動作し、
    前記製造業者に関連づけられる前記装置は、
    1又はそれ以上の第2の命令を記憶するよう動作する第2のメモリと、
    前記1又はそれ以上の第2の命令の実行時に、
    前記収集された初期情報に基づき、前記パッチとして前記コンピュータシステムへ送信する特定のパッチを選択し、
    前記メッセージを前記コンピュータシステムへ送信する
    よう動作する第2のプロセッサと
    を有する、請求項2に記載のシステム。
  9. コンピュータシステムで、インストールのための、前記コンピュータシステムを更新するよう構成されるパッチと、該パッチがインストールされ得る前に満足されるべき1又はそれ以上の要件とを含むメッセージを受信し、
    収集された情報に基づき前記1又はそれ以上の要件が満足されたと決定されるまで、1又はそれ以上のセンサから繰り返し情報を収集し、
    前記1又はそれ以上の要件が満足されたと決定されると、前記コンピュータシステムにおいて前記パッチのインストール処理を行い、
    前記パッチのインストール処理が終了されると決定されると、前記パッチのインストールに成功したかどうかを示す、前記コンピュータシステムに関連づけられる固有要素によって生成され署名された確認リポートを送信する
    方法。
  10. 前記コンピュータシステムは装置に組み込まれる、
    請求項9に記載の方法。
  11. 前記装置は、
    自動車、
    携帯電話機、
    デジタルバーサタイルディスク(DVD)プレーヤ、
    デジタルカメラ、
    プリンタ、及び
    電子医療機器
    を含むグループから選択される、請求項10に記載の方法。
  12. 前記コンピュータシステムは、1又はそれ以上のバーチャルマシンを実行するクラウドサーバを有する、
    請求項9に記載の方法。
  13. 更に、
    製造業者に関連づけられる装置で、前記確認リポートを受信し、
    前記パッチのインストールに成功したかどうかの証拠として前記確認リポートを記憶する
    請求項9に記載の方法。
  14. 更に、
    前記パッチのインストール処理が成功したと決定されると、前記コンピュータシステムに関する第1チェックポイントを生成し、
    前記コンピュータシステムにおいて次のパッチのインストール処理を行う前に、前記コンピュータシステムに関する第2チェックポイントを生成し、
    前記第1チェックポイントと前記第2チェックポイントとを比較し、
    前記第1チェックポイントが前記第2チェックポイントと異なると決定されると、前記パッチのインストールの成功以後に前記コンピュータシステムでエラーが起きたことを示す、前記コンピュータシステムに関連づけられる前記固有要素によって生成され署名された次の確認リポートを送信する
    請求項9に記載の方法。
  15. 更に、前記メッセージを受信する前に、
    前記1又はそれ以上のセンサから初期情報を収集し、
    収集された前記初期情報を含む初期メッセージを、製造業者に関連づけられる装置へ送信し、
    前記収集された初期情報に基づき、前記製造業者に関連づけられる前記装置によって、前記パッチとして前記コンピュータシステムへ送信する特定のパッチを選択し、
    前記メッセージを前記コンピュータシステムへ送信する
    請求項9に記載の方法。
  16. プロセッサによって実行される場合に、
    コンピュータシステムで、インストールのための、前記コンピュータシステムを更新するよう構成されるパッチと、該パッチがインストールされ得る前に満足されるべき1又はそれ以上の要件とを含むメッセージを受信し、
    収集された情報に基づき前記1又はそれ以上の要件が満足されたと決定されるまで、1又はそれ以上のセンサから繰り返し情報を収集し、
    前記1又はそれ以上の要件が満足されたと決定されると、前記コンピュータシステムにおいて前記パッチのインストール処理を行い、
    前記パッチのインストール処理が終了されると決定されると、前記パッチのインストールに成功したかどうかを示す、前記コンピュータシステムに関連づけられる固有要素によって生成され署名された確認リポートを送信する
    よう動作するロジックを記憶した非一時的なコンピュータ可読媒体。
  17. 前記コンピュータシステムは装置に組み込まれる、
    請求項16に記載の非一時的なコンピュータ可読媒体。
  18. 前記装置は、
    自動車、
    携帯電話機、
    デジタルバーサタイルディスク(DVD)プレーヤ、
    デジタルカメラ、
    プリンタ、及び
    電子医療機器
    を含むグループから選択される、請求項17に記載の非一時的なコンピュータ可読媒体。
  19. 前記コンピュータシステムは、1又はそれ以上のバーチャルマシンを実行するクラウドサーバを有する、
    請求項16に記載の非一時的なコンピュータ可読媒体。
  20. 前記報告リポートは、前記パッチのインストールに成功したかどうかの証拠としての記憶のために、製造業者に関連づけられる装置へ送信される、
    請求項16に記載の非一時的なコンピュータ可読媒体。
  21. 前記ロジックは更に、前記プロセッサによって実行される場合に、
    前記パッチのインストール処理が成功したと決定されると、前記コンピュータシステムに関する第1チェックポイントを生成し、
    前記コンピュータシステムにおいて次のパッチのインストール処理を行う前に、前記コンピュータシステムに関する第2チェックポイントを生成し、
    前記第1チェックポイントと前記第2チェックポイントとを比較し、
    前記第1チェックポイントが前記第2チェックポイントと異なると決定されると、前記パッチのインストールの成功以後に前記コンピュータシステムでエラーが起きたことを示す、前記コンピュータシステムに関連づけられる前記固有要素によって生成され署名された次の確認リポートを送信する
    よう動作する、請求項16に記載の非一時的なコンピュータ可読媒体。
JP2014528483A 2011-08-29 2012-08-27 コンピュータシステムにパッチをインストールするシステム及び方法 Pending JP2014527677A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/220,298 US20130055228A1 (en) 2011-08-29 2011-08-29 System and Method for Installing a Patch on a Computing System
US13/220,298 2011-08-29
PCT/US2012/052425 WO2013032966A1 (en) 2011-08-29 2012-08-27 System and method for installing a patch on a computing system

Publications (1)

Publication Number Publication Date
JP2014527677A true JP2014527677A (ja) 2014-10-16

Family

ID=46832616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014528483A Pending JP2014527677A (ja) 2011-08-29 2012-08-27 コンピュータシステムにパッチをインストールするシステム及び方法

Country Status (5)

Country Link
US (1) US20130055228A1 (ja)
EP (1) EP2751681A1 (ja)
JP (1) JP2014527677A (ja)
CN (1) CN103782274A (ja)
WO (1) WO2013032966A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069969B2 (en) * 2012-06-13 2015-06-30 International Business Machines Corporation Managing software patch installations
US11080035B2 (en) * 2013-02-13 2021-08-03 Vmware, Inc. Accessing a patch file in a system center configuration manager (SCCM) environment
DE102015207795A1 (de) * 2015-04-28 2016-11-03 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktualisieren von Software in einem Transportmittel
US9772926B2 (en) 2015-08-20 2017-09-26 International Business Machines Corporation System and method for determining relevance of application software maintenance
US10698676B2 (en) * 2015-09-11 2020-06-30 Siemens Aktiengesellschaft Increasing the reliability of software
CN106557341A (zh) * 2015-09-30 2017-04-05 福建华渔未来教育科技有限公司 一种数据自主更新方法及系统
US10528336B2 (en) 2017-01-30 2020-01-07 International Business Machines Corporation Creation of software images of software applications for image-based maintenance of the software applications
US10402229B2 (en) * 2017-01-31 2019-09-03 Sap Se Platform for orchestrating custom processes across system landscapes
JP2021128652A (ja) * 2020-02-17 2021-09-02 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
JP2023009536A (ja) * 2021-07-07 2023-01-20 トヨタ自動車株式会社 情報処理システム、情報処理装置、情報処理方法、プログラム、記録媒体

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056980A (ja) * 1998-08-10 2000-02-25 Uniden Corp プログラム遠隔修正方法、プログラム遠隔修正装置及びこれに適合する端末装置
US20070006219A1 (en) * 2005-06-29 2007-01-04 Novell, Inc. Delayed application installation
JP2008542882A (ja) * 2005-05-23 2008-11-27 インテル・コーポレーション ハードウェア資源のシステム内再構成
WO2008146408A1 (ja) * 2007-06-01 2008-12-04 Fujitsu Business Systems Ltd. ライセンス管理プログラム、ソフトウェア利用制御方法およびライセンス管理装置
JP2009102003A (ja) * 2008-11-25 2009-05-14 Toyota Motor Corp ソフトウェア更新装置およびソフトウェア更新方法
JP2010198630A (ja) * 2010-04-16 2010-09-09 Sharp Corp プログラム管理システム
JP2011076370A (ja) * 2009-09-30 2011-04-14 Hitachi Solutions Ltd デプロイシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
DE10012272B4 (de) * 2000-03-14 2004-04-08 Daimlerchrysler Ag Verfahren zur Abspeicherung von Daten in rechnergestützten Geräten von Verkehrsmitteln
US6883169B1 (en) * 2001-03-12 2005-04-19 Nortel Networks Limited Apparatus for managing the installation of software across a network
JP2004030044A (ja) * 2002-06-24 2004-01-29 Fujitsu Ltd リモートインストール方法、リモートインストールシステム、このシステムに適用されるコンピュータ装置およびホストコンピュータ装置
US7835691B2 (en) * 2004-08-30 2010-11-16 General Motors Llc Remote vehicle-related notification
US7895590B2 (en) * 2004-09-03 2011-02-22 Microsoft Corporation Update at shutdown
US7814473B2 (en) * 2004-10-27 2010-10-12 Oracle International Corporation Feature usage based target patching
US20060259207A1 (en) * 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
JP2007006219A (ja) * 2005-06-24 2007-01-11 Mitsubishi Electric Corp アダプティブアンテナ装置
US8813063B2 (en) * 2006-12-06 2014-08-19 International Business Machines Corporation Verification of successful installation of computer software
US9563417B2 (en) * 2006-12-29 2017-02-07 International Business Machines Corporation Patch management automation tool for UNIX, APARXML
US20080301672A1 (en) * 2007-05-30 2008-12-04 Google Inc. Installation of a Software Product on a Device with Minimal User Interaction
CN101119231A (zh) * 2007-07-19 2008-02-06 南京联创网络科技有限公司 计算机安全漏洞库集中管理并自动下发补丁的方法
US20090300595A1 (en) * 2008-05-30 2009-12-03 Ise Corporation System and Method for Remotely Updating Control Software in a Vehicle With an Electric Drive System

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056980A (ja) * 1998-08-10 2000-02-25 Uniden Corp プログラム遠隔修正方法、プログラム遠隔修正装置及びこれに適合する端末装置
JP2008542882A (ja) * 2005-05-23 2008-11-27 インテル・コーポレーション ハードウェア資源のシステム内再構成
US20070006219A1 (en) * 2005-06-29 2007-01-04 Novell, Inc. Delayed application installation
WO2008146408A1 (ja) * 2007-06-01 2008-12-04 Fujitsu Business Systems Ltd. ライセンス管理プログラム、ソフトウェア利用制御方法およびライセンス管理装置
JP2009102003A (ja) * 2008-11-25 2009-05-14 Toyota Motor Corp ソフトウェア更新装置およびソフトウェア更新方法
JP2011076370A (ja) * 2009-09-30 2011-04-14 Hitachi Solutions Ltd デプロイシステム
JP2010198630A (ja) * 2010-04-16 2010-09-09 Sharp Corp プログラム管理システム

Also Published As

Publication number Publication date
EP2751681A1 (en) 2014-07-09
CN103782274A (zh) 2014-05-07
WO2013032966A1 (en) 2013-03-07
US20130055228A1 (en) 2013-02-28

Similar Documents

Publication Publication Date Title
JP2014527677A (ja) コンピュータシステムにパッチをインストールするシステム及び方法
JP5975964B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
EP2550595B1 (en) System and method for remote maintenance of multiple clients in an electronic network using virtualization and attestation.
JP5864510B2 (ja) 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
US9792440B1 (en) Secure boot for vehicular systems
JP7322176B2 (ja) ブロックチェーンを用いたバージョン履歴管理
US10430593B2 (en) Boot images for units under test
JP6385842B2 (ja) 情報処理端末、情報処理方法、及び情報処理システム
US10621334B2 (en) Electronic device and system
US11429489B2 (en) Device recovery mechanism
US11418351B2 (en) Systems and methods for managing a compromised autonomous vehicle server
US20220303135A1 (en) Systems and methods for managing a compromised autonomous vehicle server
CN115220796A (zh) 安全引导设备
Mukherjee et al. Trusted Verification of Over-the-Air (OTA) Secure Software Updates on COTS Embedded Systems
CN111865931B (zh) 数据中台的安全控制方法、装置及计算机可读存储介质
WO2023066055A1 (zh) 编排部署方法、设备及可读存储介质
CN116467755A (zh) 用于在计算单元中安全提供所要保护的计算机程序的方法
CN117040859A (zh) 激活认证方法、装置和电子设备及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151104