JP5846730B2 - コンピュータ固有のソフトウェア更新の自動デプロイメント - Google Patents

コンピュータ固有のソフトウェア更新の自動デプロイメント Download PDF

Info

Publication number
JP5846730B2
JP5846730B2 JP2010215391A JP2010215391A JP5846730B2 JP 5846730 B2 JP5846730 B2 JP 5846730B2 JP 2010215391 A JP2010215391 A JP 2010215391A JP 2010215391 A JP2010215391 A JP 2010215391A JP 5846730 B2 JP5846730 B2 JP 5846730B2
Authority
JP
Japan
Prior art keywords
software
process control
updates
update
application
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.)
Active
Application number
JP2010215391A
Other languages
English (en)
Other versions
JP2011070674A5 (ja
JP2011070674A (ja
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 JP2011070674A publication Critical patent/JP2011070674A/ja
Publication of JP2011070674A5 publication Critical patent/JP2011070674A5/ja
Application granted granted Critical
Publication of JP5846730B2 publication Critical patent/JP5846730B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、主に標的ホスト上へのコンピュータ更新の配布に関し、特に、プロセス制御システムに対するこのような更新のデプロイメントの自動化に関する。
オペレーティングシステム、広範に用いられているアプリケーションまたは特殊かつ複雑なソフトウェアパッケージなどのプロバイダは、深刻な事態となり得るプログラミング上の過誤、セキュリティ上の欠陥および他の問題などが見つかった場合、更新または修正を公表することが多い。例えば、オペレーティングシステムのベンダーは、或る特定のバージョンのオペレーティングシステムが特定のイベントに適切に対処できないことまたは特定の通信ポートを不正アクセスから保護できていないことを発見する場合がある。数十〜数千ファイルに及び得るオペレーティングシステムを新規公開する代わりに、ベンダーは典型的には、1つまたは複数のオブジェクト(例えば、公開済みバージョンのオペレーティングシステム内のオブジェクトを交換または補完するためのダイナミックリンクライブラリ(DLL))を作成する。同様に、標準オペレーティングシステム上のアプリケーションとして実施されるソフトウェアソリューションのプロバイダは、例えば、1つまたは複数の顧客に対してソフトウェアソリューションが公開された後になって初めて問題が見つかったため、パッチを顧客に直接公開したいと望む場合がある。オペレーティングシステムの複雑度は増大する一方であり、また、ソフトウェアソリューションも特化してきているため、典型的な環境において必要とされる更新の数は高いままとなっている。
その上、電子攻撃の脅威に起因して、アンチウイルスデータベースを定期的に更新する必要性も出てきた。これらのデータベースは、一般的に知られているように、アンチウイルスソフトウェアによって検出され得る、ネットワークトラフィックおよびデータパターンを搬送するフラグパケットまたはフレーム中のデータパターンを保存していることが多い。新規な形態のマルウェア(例えば、ウイルス、ワーム、トロイの木馬、スパイウェア)がほとんど毎日出現しているため、アンチウイルスデータベースは、対応するアンチウイルスソフトウェアの有効性を保持するために更新を頻繁に行わなければならない。さらに、インターネットを通じて通信をしているホストの数は増え続けているため、サイバー保護の重要性も高まり続けている。
手短に言うと、今日、多くのソフトウェア製造業者は、既に顧客に公開されているソフトウェア製品に対する定期的更新を要求するかまたは少なくとも推奨している。このような更新の送達およびインストールを行うプロセスを簡単にするために、いわゆる商用オフザシェルフ(COTS)デプロイメント(deployment)アプリケーションを提供しているソフトウェア製造業者もある。例えば、マイクロソフト(登録商標)社は、Windows(登録商標)サーバ更新サービス(WSUS)を作成している。一般的に、WSUSは、ローカルネットワーク内のホスト上で動作するダウンロード可能なクライアントコンポーネントを含み、外部サーバコンポーネントと接触して更新を受信し、サーバコンポーネントから受信した更新を、或るバージョンのWindows(登録商標)オペレーティングシステムを実行している複数のコンピュータ上にインストールする。このようにして、WSUSにより、各個々のコンピュータ上に別個に更新をインストールする必要性が無くなる。
パーソナルコンピュータのユーザが、対応するソフトウェアのプロバイダによって維持されている専用ウェブサイトから直接(例えば、Windows(登録商標)更新アプリケーションを用いて)更新を安全に入手することができる一方、比較的大型のローカルエリアネットワークをサポートしている企業および他の団体は典型的には、1つまたは複数の中間サーバを介して更新を発行している。ネットワーク管理者は、利用可能な更新のリストを調査し、利用可能な更新をインストールすべき時期を決定し、選択された更新をローカルネットワーク内のホストに配布することを望む場合がある。さらに、WSUSは、企業ネットワーク上で親として機能しているWSUSホストが1つまたは複数の更新を受信しそしてこれらの更新を1つまたは複数の子WSUSホストに提供して後でユーザワークステーションに配布できるように、親/子トポロジーをサポートする。
ネットワーク管理者による承認は、オペレーティングシステム環境の変化による影響を受け易い特殊なソフトウェアシステムを実行している団体またはその一部に、特に関係が深い。ホスト上で実行している特定のシステムおよびアプリケーションへ更新を行う効果は不明であることが多い。例えば、セキュリティ更新に起因して、ソフトウェアシステムによって用いられている通信チャンネルまたはポートに悪影響が出る場合がある。そのため、多くの場合、ソフトウェアシステムの製造業者は、オペレーティングシステム更新に対する承認または拒否を行い易いことが多い。
このような複雑なソフトウェアシステムの一例として、Emerson(登録商標)プロセス管理によって販売されているWindows(登録商標)ベースのDeltaV(登録商標)制御システムがある。一般的に、DeltaVは、産業プロセスの管理および制御を行うためのデジタル自動化システムである。一般的に知られているように、多くの現代の産業プロセスは、特定の制御戦略に従って1つの分野における物理的機能を自動実行するコントローラおよび多様なデバイスを備えている。多くの制御戦略は極めて複雑であるため、技術者、オペレータおよび専門家がチームを組んでDeltaVなどの包括的なソフトウェアソリューションを作成して、このような制御戦略を実行する加工プラントを管理する必要がある。今日、ライフサイエンス、バイオテクノロジー、石油、ガス、化学薬品、パルプおよび紙、ならびに食品および飲料などの多様な産業に従事しているプラントオペレータが、多数のプロセスプラントにおいてDeltaVを実行している。
DeltaVは複数のアプリケーションを含み、これらのアプリケーションは、異なるホスト(例えば、プロセスプラント内の多様な場所にあるワークステーション)内に保存され、これらのホストによって実行される。所望ならば、DeltaVアプリケーションをいくつかの施設またはプロセス制御プラントにわたってネットワーク化することもできる。例えば、1つ以上のオペレータワークステーション内に存在する構成アプリケーションは、ユーザがプロセス制御モジュールを生成または変更し、これらのプロセス制御モジュールをデータハイウェイを介して専用の配布先コントローラにダウンロードすることを可能にする。別の例として、1つ以上のオペレータワークステーション上で実行可能な視聴アプリケーションは、コントローラアプリケーションからのデータをデータハイウェイを介して受信し、ユーザインターフェースを用いてこのデータをプロセス制御システムの設計者、オペレータまたはユーザに表示する。
DeltaVなどのプロセス制御システムは、Windows(登録商標)などの標準的オペレーティングシステム(OS)と適合し得、例えば、OS更新のうちいくつかをこのプロセス制御システムを実行しているワークステーションにインストールすることが適している場合がある。しかし、その他のOS更新のいくつかはプロセス制御システムを適切に動作させるのに不要である場合があり、さらに他のOS更新がプロセス制御システムにとって有害である場合もある。さらに、プロセス制御システムの要求に従ってアンチウイルス更新がいくつかのカテゴリに分類される場合もある。さらに、製造業者がプロセス制御システムワークステーションの更新をプラントオペレータの現場において行うことを望む場合もある。これらの理由および他の理由のため、プロセス制御システムを実行しているホストは、極めて特殊なソフトウェア更新の組み合わせを必要とする場合がある。しかし、WSUSなどのCOTSアプリケーションは、プロセス制御システムなどの特殊なソフトウェアアプリケーションの更新のデプロイメントに適合するように設定されていない。そのため、OS更新においてプロセス制御システムのオペレータができることといえば、更新を手入力で承認するかまたは拒絶することでCOTSアプリケーションを使用することくらいである。
さらに、プロセス制御システムワークステーションは典型的にはプラントオペレータのより大型のネットワークのごく一部のみを規定しているため、このようなワークステーションに適した更新が、プラントオペレータのネットワーク内で動作しているがプロセス制御システムとは無関係であるホスト上にインストールされている更新と同一ではない場合がある。そのため、ネットワーク管理者は、各ホストのオペレーティングシステムが同一バージョンである場合でも、ローカルネットワーク内の異なるホストに対する異なる要求を追跡しなければならない場合がある。他の団体において、プロセス制御システムオペレータが専用ワークステーションを含むプロセス制御ネットワークのネットワーク管理を担当し、企業ネットワーク管理者がネットワークの他の部分を担当する場合がある。しかし、このような責任の分担は実際的ではない場合がある。例えば、プロセス制御システムワークステーションに対するWSUS更新は典型的には、企業ネットワーク内のWSUSホストを通じて進行する。WSUSホストは、特定のホスト(すなわち、プロセス制御システムワークステーション)が適切にアップグレードされていない旨を企業ネットワーク管理者に通知し得、その場合、プロセス制御システムオペレータは、なぜプロセス制御ネットワーク内におけるアップグレードのうち一部が省略されたのかその理由を後で説明しなければならない場合がある。
これらの要素および他の要素があると、生産性の損失、明瞭性の欠如、およびネットワーク管理の複雑性の増大に繋がる。より小さな問題として、企業またはローカルネットワークの管理者がソフトウェア更新の選択または適用において過誤を犯すか、または、必ずしもソフトウェア更新を優先度の高いタスクとして取り扱っていない可能性もある。その結果、多くの重要な更新が長期間にわたってインストールされなくなる。そのため、プロセス制御システムは、システムクラッシュを修正するための更新の場合と同様に、セキュリティまたはシステムインテグリティに対する脅威に晒され続けることになる。オペレータは、専有技術から離れてよりオープンかつ相互運用可能な標準およびシステムに近付いているため、プロセス制御産業におけるサイバー攻撃の脅威は、より現実味を帯びてきている。さらに、多くの場合において、セキュリティ脅威とは無関係の更新も、システムの安定性および信頼性に関連する問題を取り扱う更新と同様に重要である。
ソフトウェア更新システムは、顧客システムに対する更新に関連する承認済みのソフトウェア更新またはメタデータを自動デプロイメントする際、前記承認済みのソフトウェア更新を前記顧客システムのオペレータによる手入力による承認無く1つまたは複数の標的コンピュータ上に安全にインストールできるように、自動デプロイメントを行う。前記ソフトウェア更新システムは、前記顧客システム内において動作するホストにダウンロード可能なクライアントアプリケーションと、メタデータを管理するための前記顧客システムの外部で動作するサーバアプリケーションと、いくつかの場合においてソフトウェア更新とを含み得、前記顧客システム内にインストールすべきソフトウェア更新を決定し得、前記適切なメタデータおよび/または前記ソフトウェア更新を前記クライアントアプリケーションに送達し得る。
いくつかの実施形態において、前記顧客システムは、より大型のネットワーク(例えば、インターネット)に晒される中間ネットワーク層(例えば、いわゆる「非武装地帯」またはDMZ)と、顧客システムを操作している顧客の事業活動に特有のアプリケーションを実行するための特殊なネットワーク層とを含む。これらの実施形態のうち少なくともいくつかにおけるクライアントアプリケーションは、前記DMZ内において動作するフロントエンドモジュールと、前記特殊なネットワーク層内において動作するバックエンドモジュールとを含む。前記フロントエンドモジュールは、サーバアプリケーションと通信して、利用可能なソフトウェア更新および/または実際のソフトウェア更新に関する情報をダウンロード可能なオブジェクトとしてリクエストする。いくつかの状況において、前記フロントエンドモジュールは、同一サーバ(またはDMZ内の別のサーバ)上で実行している他のアプリケーション(例えば、アンチウイルス更新アプリケーションまたはOS特有のデプロイメントアプリケーションの上流)と通信して、前記特殊なネットワーク層内へインストールされるものとして承認されたアンチウイルスまたはOSソフトウェア更新を指定する。その結果、前記バックエンドモジュールは、前記フロントエンドモジュールと通信して、前記ソフトウェア更新および前記メタデータを前記DMZから取り出し、必要ならば前記取り出されたソフトウェア更新および前記メタデータを復号および解凍し、前記特殊なネットワーク層内への前記ソフトウェア更新の自動インストールを開始する。一実施形態において、前記バックエンドモジュールは、前記特殊なネットワーク層内において実行しているCOTSデプロイメントアプリケーションへ適切なコマンドを発行することにより、前記自動インストールをトリガする。
いくつかの実施形態において、前記特殊なネットワーク層は、プロセス制御層である。このプロセス制御層において、ソフトウェアベースのプロセス制御システムが1つまたは複数のオペレータワークステーション上で作動して、プロセスプラントのプロセス制御戦略を実行するための各物理的ステップを行う1つまたは複数のコントローラおよび複数のフィールドデバイスを有する前記プロセスプラントを管理および制御する。前記プロセス制御システムの製造業者またはベンダーは、前記プロセス制御システムに特有の更新を生成および分類し、かつ、アンチウイルスソフトウェアおよびオペレーティングシステムの各製造によって公開された更新のうち多様なバージョンのプロセス制御システムに適した更新を特定するように、前記ソフトウェア更新システムを管理することができる。そのため、クライアントアプリケーションからのクエリに応答して、サーバアプリケーションは、可能な更新のレポートをプロセス制御システム、アンチウイルスデータベースおよびオペレーティングシステムに対して生成し、前記レポートを前記クライアントアプリケーションに送信することができる。いくつかの実施形態において、前記クライアントアプリケーションは、前記レポートをCOTSデプロイメントアプリケーション(例えば、WSUS)に適用して、前記オペレーティングシステムへの更新のダウンロードおよび/またはインストールをトリガする。
いくつかの実施形態において、前記サーバアプリケーションまたは前記クライアントアプリケーションは、前記プロセス制御システムに対する更新にラッパーを適用することで、対応するオペレーティングシステムのためのCOTSデプロイメントアプリケーションが前記プロセス制御システムの製造業者の代わりにこれらの更新をインストールできるようにする。この目的のため、前記サーバアプリケーションまたは前記クライアントアプリケーションは、前記COTSの製造業者によって提供されるアプリケーションプログラミングインターフェース(API)を適用し得る。前記ラッパーは、ラッパー更新を配布すべき1つのまたは複数のロケーションならびに他のインストレーションパラメータを指定し得る。所望ならば、前記ラッパーは、セキュリティを保証するために、当該プロセス制御システムの製造業者のデジタル署名を含んでもよい。
いくつかの実施形態において、前記クライアントアプリケーションは、特定のスケジュールに従って、ユーザコマンドに応答して、または他の任意の指定された原理に基づいて、前記サーバアプリケーションにクエリを送るように構成可能である。前記クライアントアプリケーションは、特殊なネットワーク層(例えば、プロセス制御ネットワーク)内において実行しているソフトウェアのバージョンを前記サーバアプリケーションに報告し得、前記サーバアプリケーションは、前記顧客システムにダウンロードすべき更新が有れば当該更新を特定し得る。他の実施形態において、前記クライアントアプリケーションは、顧客の特定用情報を前記サーバアプリケーションに報告し、前記サーバアプリケーションは、前記顧客システム内において実行している特殊なソフトウェアのバージョンを前記顧客特定用情報に基づいて特定する。
通信システムの模式図である。この通信システムは、顧客システムを含む。この顧客システムは、プロセスプラントの動作を管理するためのプロセス制御層と、プロセス制御システムのベンダーによって操作されるプロセス制御システムベンダー層と、顧客システムとプロセス制御システムベンダー層との間で配布された、ソフトウェア更新を顧客システムに自動デプロイメントするためのソフトウェア更新システムとを含む。 図1中に示す通信システムのコンポーネントのうちいくつかのブロック図である。 メッセージシーケンス図であり、図1の通信システムにおけるソフトウェア更新の自動デプロイメントの一例を示す。 ブロック図であり、図1中に図示されるソフトウェア更新システムによってサポートされる、メッセージの相互作用およびデータ構造の一例を示す。 図1のソフトウェア更新システムの一部として動作するサーバアプリケーションのブロック図である。 図1のソフトウェア更新システムの一部として動作するクライアントアプリケーションのブロック図である。 図5のクライアントアプリケーションがプロセス制御システムのオペレータに対して表示することが可能な例示的なインターフェース画面を示す。 図4のサーバアプリケーションによって実行され得る顧客からのクエリを処理するための例示的な方法のフロー図である。 図4のサーバアプリケーションによって実行され得る顧客からの更新リクエストを処理するための例示的な方法のフロー図である。 図5のクライアントアプリケーションによって実行され得るソフトウェア更新をクエリ送信およびリクエストするための例示的な方法のフロー図である。
図1は、通信システム10を示す。通信システム10において、ソフトウェア更新システム12は、サーバアプリケーション14およびクライアントアプリケーション16を含む。クライアントアプリケーション16は、フロントエンドモジュール18およびバックエンドモジュール20を有する。ソフトウェア更新システム12は、顧客システム26のプロセス制御層24内において動作しているいくつかのホストに対し、ソフトウェア更新を確実かつ効率的にデプロイメントする。本明細書中、ソフトウェア更新システム12をソフトウェア更新送達サービス(SUDS)とも呼び、アプリケーション14および16をそれぞれSUDSサーバおよびSUDSクライアントと呼ぶ。プラントオペレータ(例えば、化学プラント、石油精製所または水処理施設を経営している企業)は、プラントLAN層32およびプラント「非武装地帯」(DMZ)層34により、プロセス制御層24をインターネット30から分離し得る。例示的な通信システム10において、プラントLAN層32は、ルータ/ファイアウォール40を介してインターネット30に接続され、プラントDMZ層34は、ルータ/ファイアウォール42を介してプラントLAN層32に接続される。さらに、スイッチ44により、プロセス制御層24はDMZ層34に接続される。
プラントLAN層32は、任意の適切な通信標準(例えば、IEEE802.3イーサネット(登録商標))と適合する通信リンク54に接続されたいくつかのワークステーション50および52を含む。典型的な場合のように、ワークステーション50および52は、ネットワーキング能力(例えば、マイクロソフト社によって製造されているWindows(登録商標))を有するオペレーティングシステム56を共有する。ユーザは、多様な団体としての機能において、ワークステーション50を操作して、プラントオペレータの日々の活動を実施する。例えば、プラントオペレータは、技術者、会計士、マーケティングスタッフおよび他の人員を用い得る。ワークステーション50を操作するユーザは、1組の特定の許可を有し得るが、これらの許可は典型的には、これらのユーザのプロセス制御層24へのアクセスは許可しない。一方、これらのユーザは、インターネット30上のホストへのほとんど無制限のアクセスを有するため、ウイルス、マルウェア、ハイジャック試行および他のサイバー脅威へ晒されるリスクが比較的高くなる。
プラントLAN層32に配置されているかまたはプラントLAN層32の下側に配置されているコンピュータホストを保護するために、ネットワーク管理者(IT人員とも呼ばれる)は、ワークステーション52を操作して、通信リンク54上のトラフィックのモニタリング、ルータ/ファイアウォール40上で実行しているかまたはワークステーション50および52上でローカルに実行しているファイアウォールアプリケーションの構成、多様なユーザへの許可の割り当て、プラントLAN層32内の悪質なソフトウェアの特定および除去などを行うことができる。さらに、ネットワーク管理者は、典型的にはオペレーティングシステム56およびアンチウイルスソフトウェアの各ベンダーからの対応する通知を受信した際、オペレーティングシステムおよびアンチウイルス更新をワークステーション50および52上にインストールすることができる。
プラントDMZ層34は、いくつかのサーバ(例えば、アンチウイルスサーバ62、データサーバ64、および履歴サーバ66)を含み得る。公知のように、DMZ層は一般的には、より大型のネットワーク(例えば、インターネット30)への直接的露出をいくつかのホストのみ(すなわち、サーバ62〜66、DNSサーバ(図示せず)、ウェブサーバ(図示せず)など)に限定することにより、ローカルネットワークにさらなるセキュリティを提供する。さらに、上流の更新サーバ70は、以下により詳細に説明するように、クライアントアプリケーション16のフロントエンドモジュール18を実行して、ソフトウェア更新の自動デプロイメントおよび/またはソフトウェア更新に関連するメタデータの伝搬をサポートし得る。DMZ層34は一般的には、全ての入来インターネットトラフィックおよび送出インターネットトラフィックを1つまたは複数のホストを介して方向付けることにより顧客システム26のセキュリティを向上させる任意の中間ネットワーク層でよい点に留意されたい。
続いて図1を参照して、プロセス制御層24は、いくつかのオペレータワークステーション71および72を含み得る。これらのオペレータワークステーション71および72はそれぞれ、オペレーティングシステム56およびプロセス制御システム74(例えば、DeltaV)を実行しており、例えばプロセスプラント75を制御する。プロセス制御層24は、いくつかのサーバ(例えば、アプリケーションサーバ76および構成サーバ78)も含み得る。さらに、この例示的な構成において、下流サーバ80は、クライアントアプリケーション16のバックエンドモジュール20を実行する。下流サーバ80は、ソフトウェア更新の実際のデプロイメントをプロセス制御層24内のホストに対して行い、下流サーバ80は、更新サーバとも呼ばれる。いくつかの実施形態において、下流サーバ80は、ゲートウェイのみとして動作するように構成され、プロセス制御システム74を実行しない。
動作時において、クライアントアプリケーション16のフロントエンド18は、ユーザインターフェースからのコマンドまたは事前構成されたイベント(例えば、タイマーの終了)に応答して、活性化される。活性化後、クライアントアプリケーション16は、プロセス制御システム74およびオペレーティングシステム56に対し、例えばベンダー更新サーバ86上のプロセス制御システムベンダー層84内において実行し得るサーバアプリケーション12からの利用可能な更新のリストをリクエストする。クライアントアプリケーション16からのリクエストに応答して、サーバアプリケーション12は、ソフトウェア更新が利用可能か否かと、利用可能な更新のうち顧客システム26内のプロセス制御システム74およびオペレーティングシステム56の各バージョンと適合するものとを決定する。その後、サーバアプリケーション12は、利用可能な更新のリストをクライアントアプリケーション16に送信する。次に、クライアントアプリケーション16は、利用可能な更新のリストのうち任意の更新がプラントDMZ層34内のファイルシステムにダウンロードされていないか否かについて確認する。クライアントアプリケーション16がソフトウェア更新が必要であると決定した場合、クライアントアプリケーション16は、対応するリクエストをフォーマットし、サーバアプリケーション14に送信する。
クライアントアプリケーション16からのリクエストに応答して、サーバアプリケーション14は、適切なソフトウェア更新および/またはソフトウェア更新に関連するメタデータをクライアントアプリケーション16に送信して、ソフトウェアおよび/またはメタデータをDMZ層34内の特定のロケーション内に保存できるようにする。その後、フロントエンドモジュール18は、バックエンドモジュール20と共に機能して、ソフトウェア更新およびメタデータを下流サーバ80に確実に送達し、最終的にはプロセス制御層24内の多様なホスト(例えば、ワークステーション71および72)に確実に送達できるようにする。さらに、以下により詳細に説明するように、いくつかの実施形態におけるクライアントアプリケーション16は、サーバアプリケーション14から受信された承認済みのソフトウェア更新のリストに従って各ベンダーまたは製造業者からのソフトウェア更新を入手するように、1つまたは複数のCOTSアプリケーション(例えば、WSUS)を自動構成する。
さらに図1を参照して、上流更新サーバ70は、クライアントアプリケーション16のフロントエンドモジュール18に加えて、上流WSUS90およびアンチウイルス勧誘アプリケーション92(例えば、シマンテックライブ更新管理者(LUA))を実行し得る。さらに、下流サーバ80は、例えば、下流WSUS94およびアンチウイルスデプロイメントアプリケーション96(例えば、シマンテックエンドポイント保護マネージャ(SEPM))を実行し得る。アンチウイルス勧誘アプリケーション92は、対応する製造業者(例えば、シマンテック)からのアンチウイルス更新を勧誘し、一般的にはDMZ層34またはプラントLAN層32内の任意のホスト上に存在し得る。一方、アンチウイルスデプロイメントアプリケーション96は、アンチウイルス勧誘アプリケーション92によって取り出されたアンチウイルス更新をプロセス制御層24内のホストに対してデプロイメントする。同様に、上流WSUS90および下流WSUS94は、親/子トポロジーを実行する。詳細には、上流WSUS90は、OS製造業者(例えば、Microsoft)からのソフトウェア更新を勧誘し、下流WSUS94は、更新をプロセス制御層24内のホストに配布するように構成される。プロセス制御層24は下流(または更新)サーバ80を介してDMZ層34に連結することができ、これにより別のレベルの保護をプロセスプラント75に提供することができる点にさらに留意されたい。
いくつかの実施形態において、バックエンドモジュール20は、フロントエンドモジュール18のクエリの後、DMZ層34内のロケーションから更新を取り出す。バックエンドモジュール20は、比較的「軽量の」アプリケーションであり得、ファイル転送機能を行い、取り出されたオブジェクトを必要に応じて解凍し、復号アルゴリズムを適用して、取り出されたオブジェクトのインテグリティおよびセキュリティを検証する。この目的のため、バックエンドモジュール20は、当該分野において公知の任意の適切な技術(例えば、デジタル証明書の付与)を適用することができる。その後、バックエンドモジュール20は、プロセス制御システム75に特有のオブジェクトを下流WSUS94または別の適切なCOTSデプロイメントアプリケーションによって認識されているフォーマットに変換し(すなわち、オブジェクトを「ラップ」し)、これらの変換またはラップされたオブジェクトを下流WSUS94に提供し、配布し得る。所望ならば、バックエンドモジュール20は、下流WSUS94とさらに通信して、ラップされたオブジェクトの配布が承認されたことを指定し、これにより、その後の(必要ならば即時の)変換されたオブジェクトのプロセス制御層24を通じた配布をトリガすることができる。例えば、Microsoft社からは、Windows(登録商標)オペレーティングシステムと無関係のオブジェクトをラップすることで、これらのオブジェクトをWSUSアプリケーションを介したデプロイメントと適合させるためのAPIが提供されている。いくつかの実施形態において、プロセス制御ベンダー層84においてオブジェクトをラップすることができる。
実際は、これらの実施形態におけるバックエンドモジュール20は、プログラムによりソフトウェアオブジェクトおよび承認データを下流WSUS94に注入して、配布およびインストールさせる。そのため、バックエンドモジュール20は、ソフトウェア更新の間接的デプロイメントを実施している。この理由のため、バックエンドモジュール20は、ソフトウェア更新の実際の配布またはインストレーションの複雑な論理をサポートする必要は無く、WSUS94に対するアドオンとして機能すればよい。しかし、別の実施形態において、配布およびインストレーション論理をバックエンドモジュール20内に設けることもでき、その場合、バックエンドモジュール20は本格的なデプロイメントアプリケーションとして機能する。
上記したように、ソフトウェア更新システム12は、プロセス制御システム74と、オペレーティングシステム56と、顧客システム26において用いられるアンチウイルスソフトウェアと、所望ならばプロセス制御層24内にインストールされたかまたはインストール可能な他のソフトウェア製品とに関連する更新を(直接的かつ/または間接的な様式で)自動デプロイメントするように構成することができる。このようにして、プロセス制御システム74の製造業者またはベンダーは、更新をデプロイメントするプロセスを簡略化することができるだけでなく、各更新のインストール後にプロセス制御システム74が引き続き適切に動作することを保証することができる。もちろん、プロセス制御システム74のベンダーは、単一の更新サーバ(例えば、ベンダー更新サーバ86)を操作して、複数の顧客システムと相互作用することができる。そのため、ソフトウェア更新システム12は、1つのサーバアプリケーション14および複数のクライアントアプリケーション16を含み得る。ユーザの作業を簡略化するために、ベンダー更新サーバ86は、クライアントアプリケーション16のコピーをダウンロード可能かつ容易にインストール可能なオブジェクト97として保存することができる。所望ならば、オブジェクト97を圧縮してもよい。更新を適切にデプロイメントするために、ソフトウェア更新システム12は好適には、各顧客と、現在使用されているプロセス制御システム74の各バージョンと、顧客特有のソフトウェア更新の展開に必要な他の情報とに関連するデータを保存している1つまたは複数のデータベースを含むかまたはこのようなデータベースと協働するとよいことがさらに理解される。
図1に示すように、ベンダー更新サーバ86は、顧客システム(例えば、顧客システム26)の構成に関連する情報を保存する構成レポジトリ98に通信可能に連結される。各顧客システムに対して、構成レポジトリ98は、プロセス制御層24内にインストールされているプロセス制御システム74のバージョンの識別子と、オペレーティングシステム56のバージョンの識別子と、プロセス制御システム74内のアンチウイルスソフトウェアまたはデータベースの最終更新の日付などを保存し得る。
ベンダー更新サーバ86は、更新レポジトリ100にも接続され得る。更新レポジトリ100において、ベンダーは、プロセス制御システム74の各ソフトウェア更新のためのソフトウェアオブジェクトを保存する。各バージョンのプロセス制御システム74は典型的には異なるソフトウェア更新を必要とすることが多いため、更新レポジトリ100は、バージョンに特有の更新のリストを維持し得る。更新レポジトリ100はまた、プロセス制御システム74に対する更新および他のベンダーからのソフトウェアコンポーネント(例えば、オペレーティングシステム56)に対する更新双方に関連するメタデータも保存し得る。更新レポジトリ98および100はそれぞれ、任意の所望の様式で(例えば、別個のデータサーバにおいて、ベンダー更新サーバ86のファイルシステム内に保存されている関係データベース内に、コンピュータによる読み出しが可能な媒体(例えば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))上に保存されているファイルまたは記録の集合として)実装することができる。所望ならば、更新レポジトリ98および100を1つの一体型レポジトリとして実装してもよい。
一般的には、メタデータとは電子情報であり、デプロイメントアプリケーション(例えば、下流WSUS94)がインストールのために適切なコンピュータまたは他のノードを標的として設定する際に用いられる。例えば、通信システム10において用いられるメタデータは、顧客によって用いられるプロセス制御システムの特定用情報(例えば、プロセス制御システム74のベンダーから割り当てられた独自の番号)を含み得る。実施形態に応じて、特定用情報は、例えばプロセス制御層24または顧客システム26のレベルにおいて、割り当てることができる。下流WSUS94は、下流サーバ80において対応するローカルに保存されているパラメータを比較することで、特定のソフトウェア更新が適切に下流WSUS94にルートされていることを検証することができる。他の例として、メタデータは、標的コンピュータの名称または識別子、更新中に含まれるソフトウェアオブジェクトの名称、更新挙動(例えば、リブート要求、サービス妨害)、ファイルサイズ、更新の詳細、インストール命令を含み得る。
更新レポジトリ100は、プロセス制御システム74および他のソフトウェア双方に対する更新に関連するメタデータを保存することができ、一方、更新レポジトリ100内の実際のソフトウェアオブジェクトは典型的には、プロセス制御システム74のみに対応する。他の実施形態において、更新レポジトリ100は、他のソフトウェア製品に対するソフトウェアオブジェクトを含み得る。これらの実施形態において、プロセス制御システム74のベンダーは実際は、全てのソフトウェア更新の単一の直接的ソースとなる。しかし、いくつかの顧客にとってはこの配置構成が便利であり得るが、他の顧客は当該団体のネットワーク構造(例えば、プラントLAN層32およびDMZ層34)を特殊なソフトウェア(例えば、プロセス制御システム74)のベンダーに露出することを好まない場合もある点に留意されたい。
プロセス制御システムベンダー層84内において管理されているデータのセキュリティをさらに向上させるために、セキュアなインターネット対面型ホスト102を、インターネット30に接続されたルータ104と、レポジトリ98および100を保存しているベンダー更新サーバ86およびデータサーバとの間に配置することができる。そのため、潜在的な侵入者が私的施設(例えば、レポジトリ98および100内に保存されている顧客システム26)に関する情報にアクセスするのがより困難になる。
さらに図1を参照して、プロセス制御層24は、ワークステーション71および72によるプロセスプラント75へのアクセスの経路となり得る第1のスイッチ110および第2のスイッチ112を含む。典型的な場合のように、プロセスプラント75は、配布型プロセス制御を1つ以上のコントローラ120を用いて実行する。これらのコントローラ120はそれぞれ、入力/出力(I/O)デバイスまたはカード126(例えば、フィールドバスインターフェース、プロフィバスインターフェース、HARTインターフェース、標準的4−20mAインターフェース)を介して、1つ以上のフィールドデバイス122またはスマートデバイス124に接続される。フィールドデバイス122および124は、プロセスプラント75における各物理的機能(例えば、センサ、バルブ、ポンプ、送信器、ポジショナ)を行う任意の種類のデバイスでよい。
明瞭性のため、図2は、ブロック図において上述したコンポーネントのうちのいくつかを示す。図2中の多様なブロックを接続している矢印は必ずしも直接的接続に対応せず、これらの矢印は、ソフトウェア更新システム12と、WSUSコンポーネント90および94と、アンチウイルスアプリケーションコンポーネント92および96と、オペレーティングシステム56のベンダー130と、顧客システム26において用いられるアンチウイルスソフトウェアのベンダー132との間での情報の伝搬様態を示すためのみに設けられている。一般的に、ソフトウェア更新システム12は、任意の数のソフトウェア製造業者またはベンダーと相互作用し得る。また、クライアントアプリケーション16は、必ずしも図1および図2に示す例示的な実施形態の場合のような2つの別個のモジュールを含まなくてもよい。例えば、いくつかの顧客システムは、セキュアなネットワーク層(例えば、DMZ層34)を全く実装しない場合があり、これらの実施形態におけるクライアントアプリケーション16は、上記したモジュール18および20の機能を併せ持った単一のモジュールを含み得る。
図2を参照して、ベンダー130および132は、ソフトウェア更新、メタデータ、またはこれら両方をソフトウェア更新システム12に供給し得る。上述した理由のため、顧客は、単一のエンティティからではなく対応するベンダーからソフトウェア更新を取り出すことを好み得る。しかし、特殊なソフトウェアのベンダーは、例えば特殊なソフトウェアとベンダー130および132から提供される更新との間の相互作用を試験および承認できない場合がある。必要な試験は、適合性試験モジュール134を用いて、手入力によりまたは自動的に行うことができる。もちろん、特殊なソフトウェアのベンダーは、ベンダー130および132からのソフトウェア更新のうち承認すべきものを任意の適切な様式で特定することもできる。サーバアプリケーション14がベンダー130および132の代わりにソフトウェア更新を直接提供しない状況において、当該特殊なソフトウェアのベンダーは、承認された更新のリストと、必要に応じて、承認された更新と関連付けられたメタデータとを提供し、クライアントアプリケーション16はこの情報を用いて、例えば下流WSUS94およびアンチウイルスデプロイメントアプリケーション96を構成することができる。
次に、ソフトウェア更新を自動デプロイメントするように動作するいくつかのコンポーネント間の例示的なメッセージ交換を図3に示す。さらに、ソフトウェア更新を自動デプロイメントするためのシステム(例えば、ソフトウェア更新システム12)が1つまたは複数のソフトウェアベンダーからの更新およびメタデータを管理する様態をより深く説明するために、図4は、プロセス制御システムベンダー層84(図1を参照)におけるいくつかのメッセージとデータ構造との間の相互作用を模式的に示す。次に、図5および図6はそれぞれ、図1中に示す通信システムにおいて動作し得る例示的なサーバおよびクライアントアプリケーションのブロック図を示す。
図3を参照して、SUDSサーバ150、SUDSフロントエンドクライアント152、SUDSバックエンドクライアント154、およびCOTSデプロイメントアプリケーション156は、顧客システムに対するソフトウェア更新を自動的かつ確実にデプロイメントするように、対応する通信システムの異なる部分において動作する。例えば、コンポーネント150〜154は、図1の通信システム10において顧客システム26に対する更新をデプロイメントするように動作し得、従って、図3に示すメッセージングをコンポーネント14、18、20、および94によって実施することができる。セキュリティ対策として、SUDSフロントエンドクライアント152は、対応するコンピュータネットワークのDMZにおいて実行し得、SUDSバックエンドクライアント154は、特殊なネットワーク層(例えば、プロセス制御層)において(または特殊なネットワーク層に通信可能に連結されているサーバ上で)実行し得る。SUDSサーバ150は、顧客システム内にインストールされている特殊なソフトウェアシステムのベンダーのコンピュータネットワークにおいて実行し得る。しかし、一般的に、コンポーネント150〜154は、任意の適切なトポロジー、任意の数のネットワーク層などを有する通信ネットワークにおいて動作することが可能である。さらに、SUDSサーバ150は、各顧客システムにおいて動作するSUDSフロントエンドクライアント152の複数のインスタンスと相互作用し得る。さらに、コンポーネント150〜154は、プロセスプラントを制御するためのプロセス制御層を含むネットワークに限定されない。そのため、コンポーネント150〜154のうちいくつかまたは全てが、コンピュータシステムにおいて更新をデプロイメントすることができる。しかし、コンポーネント150〜154は、コンピュータホストのうち少なくとも一部の上で特殊なソフトウェアアプリケーションを実行するシステムにおいて特に有用であることが企図される。
ブロック160において、SUDSフロントエンドクライアント152は、対応する管理者が技術的要素および事業的要素に鑑みて規定することが可能な任意の所望のスキームに従って、顧客システム内にインストールされている特殊なソフトウェアシステムおよび他のソフトウェアシステム(例えば、OS、アンチウイルスソフトウェア)に対してソフトウェア更新を開始するように、構成され得る。例えば、SUDSフロントエンドクライアント152を、毎週「起床」させて更新のためにSUDSサーバ150にクエリを送るようにスケジュール化することができる。タイマー終了イベント162に応答して、SUDSフロントエンドクライアント152は、更新確認メッセージ164をフォーマットしてSUDSサーバ150へと送って、利用可能な更新のリストをリクエストする。所望ならば、SUDSフロントエンドクライアント152は、タイマー終了イベント162の受信後でありかつ人間のオペレータからの明示的確認を勧誘するためのメッセージ164を送信する前のタイミングでワークステーション71または72のうちの1つに対話画面を表示するように構成することができる。
メッセージ164は、不正なユーザがSUDSサーバ150に接触するのを回避するために、認証情報(例えば、ログインおよびパスワード)を含み得る。いくつかの実施形態において、メッセージ164はまた、顧客システム(例えば、「ACME企業」)のオペレータの特定用情報も含み、これにより、SUDSサーバ150は、現在顧客システムにインストールされている多様なソフトウェアシステムのバージョンを特定できる。他の実施形態において、メッセージ164は、顧客システムにインストールされている特殊なソフトウェアのバージョン(例えば、「DeltaVバージョン=9.0」)を特定する。所望ならば、これらの実施形態におけるメッセージ164は、オペレーティングシステム56のバージョン(例えば、「OSバージョン=Windows(登録商標)XP(登録商標)」)を、既に顧客システム内にインストールされているパッチならびにアンチウイルスデータベースおよび他の任意の関連ソフトウェアアプリケーションのバージョンと共に特定することもできる。この目的のため、SUDSフロントエンドクライアント152は、メッセージ164をフォーマットする際、ローカル構成データを確認することができる。さらに別の実施形態において、メッセージ164は、SUDSサーバ150を操作しているベンダーから割り当てられた顧客システムの一意的な特定用情報を含み得る。
メッセージ164の受信に応答して、SUDSサーバ150は、ブロック166において、メッセージ164の発信元である顧客システム内にインストールされている関連ソフトウェアのバージョンを特定し得る。上述したように、いくつかの実施形態におけるメッセージ164は、SUDSサーバ150がブロック166において取り出す情報のうち大部分または全てを既に指定している。次に、ブロック168において、SUDSサーバ150は、特殊なソフトウェアシステム(例えば、プロセス制御システム)、オペレーティングシステム、アンチウイルスソフトウェアなどの一部または全てに関連する更新のうち顧客システムに対して推奨かつ/または承認されているものを特定する。ブロック166および168におけるSUDSサーバ150の動作のいくつかの例について、図4を参照してより詳細に説明する。
引き続き図3を参照して、SUDSサーバ150は、「利用可能な更新リスト」メッセージ170を生成し、このメッセージをSUDSフロントエンドクライアント152に送信し得る。いくつかの実施形態において、メッセージ170は、XML規則に従ってフォーマットすることができる。その後、SUDSフロントエンドクライアント152は、利用可能な更新のリストをローカルレポジトリと比較して、リスト中に記載されている更新のうち、SUDSフロントエンドクライアント152の動作環境としてのネットワークまたはサブネットワーク内に存在していいないものが有るか否かを決定することができる。一例として、SUDSサーバ150は、いくつかのOSパッチをダウンロードすべきである旨を示し得、SUDSフロントエンドクライアント152は、同一DMZ内において実行しているWSUSアプリケーションがこれらのOS更新を既に取り出してローカルフォルダ内に保存しているか否かを確認し得る。同様に、SUDSフロントエンドクライアント152は、特殊なコンピュータシステムに対する更新が以前にダウンロードされているか否かを確認し得る。あるいは、SUDSサーバ150は、以前に各SUDSフロントエンドクライアント152に送達された更新を追跡することもできる。
その後、SUDSフロントエンドクライアント152は、ダウンロード対象としてリクエストされている更新をリストしている更新リクエストメッセージ174をフォーマットし得る。SUDSサーバ150は、メッセージ174を構文解析し、ソフトウェアオブジェクトおよび/またはメタデータを含む更新データを作成し、更新データをメッセージ176に入れてSUDSフロントエンドクライアント152に転送し得る。いくつかの実施形態において、更新データは、ベンダーがSUDSサーバ150と関連付けられている特殊なソフトウェアシステムに対するパッチング、アップグレードおよび他の修正のための実際のソフトウェアオブジェクトを含む。例えば、メッセージ176は、最近発見された顧客システムがプロセス制御層において実行しているプロセス制御システムの欠陥に対処するためのDLLを含み得る。更新データは、このような1つまたは複数のオブジェクトに関連するメタデータも含み得る。しかし、上述した理由のため、メッセージ176は、必ずしもオペレーティングシステムのパッチングのための実際のソフトウェアオブジェクトまたはアンチウイルスデータベースをアップグレードするためのデータオブジェクトを含まなくてもよい。その代りに、メッセージ176は、SUDSサーバ150に対して「ネイティブではない」オブジェクトに関連するメタデータのみあるいはこれらのオブジェクトの特定用情報のみを含んでよい。
タイマー終了イベント178に応答して、SUDSバックエンドクライアント154は、「オブジェクトおよびメタデータの確認」メッセージ179をSUDSフロントエンドクライアント152に送信する。更新データがSUDSバックエンドクライアント154にとってアクセス可能な特定のロケーションに受信および保存されている場合、SUDSフロントエンドクライアント152は、更新が利用可能である旨をSUDSバックエンドクライアント154に通知し、更新データの更新サーバへの転送(メッセージ180)を開始し、そこから、SUDSクライアントアプリケーション152および154により更新データをサブネットワークサービス(例えば、プロセス制御ネットワーク)内にインストールすることができる。SUDSバックエンドクライアント154は、更新ファイルを必要に応じて解凍および復号し、ラッパーを適用して更新オブジェクトをCOTSデプロイメントアプリケーション156と適合させることができる(ブロック182)。メッセージ184は、COTSデプロイメントアプリケーション156に対し、1つまたは複数のラップされたオブジェクトが利用可能である旨を通知し、COTSデプロイメントアプリケーション156は、更新をブロック186においてインストールする。
いくつかの場合において、メッセージ184は、COTSデプロイメントアプリケーション156の提供先となっているアプリケーションに対する更新のために、メタデータおよび/または承認情報を含み得る。例えば、COTSデプロイメントアプリケーション156はWSUSアプリケーションであり得、メッセージ184は、現在のバージョンの特殊なソフトウェアシステムと適合するものとして承認されているWindows(登録商標)更新を指定し得る。再度図1および図2を参照して、図1〜図3を参照して説明する技術により、企業ネットワーク管理者からの特殊なネットワーク層に特有の更新を確実な手入力によって承認する必要性が無くなることが理解される。詳細には、バックエンドモジュール20は、プロセス制御システム74のベンダーによって承認されているOS特有の更新のみを上流WSUS90からリクエストおよび入手するように、下流WSUS94を有効に構成する。顧客システム26内のネットワークの他の部分に配布される更新と関わりなく、下流WSUS94は、承認された更新がプロセス制御層24内に適切にインストールされている限り、上流WSUS90に対する適合性を報告する。そのため、ソフトウェア更新をモニタリングしている企業ネットワーク管理者は、例えばプロセス制御層24において実際に適用された更新がプラントLAN層32において適用された更新と異なる場合でも、プロセス制御層24における適合性の欠如を報告する誤警報に遭遇することがない。
再度図3を参照して、他の実施形態におけるSUDSフロントエンドクライアント152は、比較的長期間において1回だけ(例えば、新規バージョンの特殊なソフトウェアシステムがインストールされた際に)メッセージ164を送信し得る。メッセージ164は、例えば、SUDSフロントエンドクライアント152の認証情報と、特殊なソフトウェアシステムのバージョンの識別子と、新規ソフトウェア更新に関する自動通知の方法および頻度の指示とを含み得る。これらの実施形態において、SUDSサーバ150は、新規更新が利用可能となった際に自動通知を受けることを望むSUDSクライアントのリストを維持し得、新規更新が承認された際にリストを確認し得、適切である場合、SUDSフロントエンドクライアント152について各メッセージ170を生成し得る。所望ならば、SUDSサーバ150は、認証情報が未だSUDSサーバ150に提供されていない顧客システムも通知し得る。換言すれば、メッセージ164は、いくつかの実施形態として任意選択とすることができる。なぜならば、SUDSサーバ150(または図1および図2を参照して説明したサーバアプリケーション14)は、ベンダーが開始したソフトウェア更新およびクライアントが開始したソフトウェア更新をサポートすることができるからである。
ここで図4を参照して、プロセス制御システムソフトウェアシステムのベンダーは、多様なバージョンのプロセス制御システムを実行している顧客に関連する構成データと、特殊なソフトウェアシステムに関連する更新と、当該ベンダーの顧客が使用し得る他のソフトウェア製品またはシステムに対するソフトウェア更新に関連するデータとを保存するレポジトリ200を維持し得る。レポジトリ200は、コンピュータで読み出し可能な媒体上に保存されたデータであり得る。一例として、レポジトリ200は、図1および図2に示す構成レポジトリ98および更新レポジトリ100として実施され得る。図4中に示すように、レポジトリ200は、ソフトウェアまたはハードウェアコンポーネント202(例えば、サーバアプリケーション14またはSUDSサーバ150のコンポーネント)と相互作用し得る。
レポジトリ200は、ユーザテーブル204と、更新テーブル206と、制御システム更新210と、オペレーティングシステム更新212とを含む。明瞭性のため、レポジトリ200をアンチウイルス更新オブジェクトが無い様態で図示しているが、一般的にはレポジトリ200は、任意の数のソフトウェア製品に関連するものを含むことができる。この例示的な実施形態において、テーブル204は、特定の顧客が現在使用しているプロセス制御システムのバージョンを指定し、テーブル206は、各バージョンについて承認された更新をリスト化する。そのため、メッセージ164がユーザ特定用情報「456547567」によって顧客を特定している場合、テーブル204は、バージョン2.1のプロセス制御システムがこの顧客の現場においてインストールされていることを示し、テーブル206は、オペレーティングシステム更新識別子OS8およびプロセス制御システム更新識別子CS25をリストに記載する。この例において、制御システム更新210は、対応するメタデータと共にソフトウェアオブジェクトとして保存される。ソフトウェアオブジェクトは、DLL、データファイル、または1つまたは複数の標的ディレクトリ中にインストール可能なファイルのグループであり得る。いくつかの実施形態において、制御システム更新210は、COTSデプロイメントアプリケーション(例えば、下流WSUS94またはCOTSデプロイメントアプリケーション156)によって用いられるラッパーを生成するために必要なデータをさらに含む。一方、オペレーティングシステム更新データ212は、メタデータのみを含むか、または、所望ならば、ソフトウェア更新オブジェクトの特定用情報(例えば、OS1、OS5、OS8)のみを含む。図4に示す例において、ソフトウェアオブジェクトおよびメタデータを含む更新OS8と、メタデータのみを含む更新CS25とがメッセージ170に入れられてクライアントアプリケーションへと通信される。
図5は、例えば通信システム10において動作し得るかまたはSUDSサーバ150として動作し得るサーバアプリケーション300のブロック図である。サーバアプリケーション300は、更新レポジトリインターフェース302を含む。更新レポジトリインターフェース302を通じて、サーバアプリケーション300は、構成および更新データのレポジトリ(例えば、レポジトリ200)と通信し得る。より詳細には、更新レポジトリインターフェース302は、例えば、レポジトリ200の多様なテーブルを通じた検索と、更新オブジェクトおよび/または更新オブジェクトの特定用情報の取り出しとのための1組のAPIであり得る。さらに、サーバアプリケーション300は、顧客施設(例えば、顧客システム26)内において実行している対応するクライアントアプリケーションからメッセージを受信するための制御システムインターフェース304を含む。再度図1および図2を参照して、制御システムインターフェース304は、クライアントアプリケーション16へのメッセージングおよびクライアントアプリケーション16からのメッセージングをサポートし得る。一実施形態において、制御システムインターフェース304は、インターネットに連結されたコンピュータホスト上のHTTPSポートと、入来メッセージのインテグリティを確認するための1つまたは複数のセキュアなソケット層(SSL)証明書とを含む。
サーバアプリケーション300はまた、ユーザ認証符号306も含む。ユーザ認証符号306は、ソフトウェア更新をリクエストしている顧客のログインおよびパスワード情報を確認するために、当該分野において公知の技術を用いて実施される。制御システム識別子308は、例えば顧客エンティティが現在使用しているソフトウェアを決定するために、ローカルレポジトリ200にクエリを送ることができる。所望ならば、制御システム識別子308は、顧客が現在使用しているオペレーティングシステムおよび/またはアンチウイルスデータベースの種類およびバージョンを確認することもできる。
さらに、更新リスト生成器310を制御システムインターフェース304に連結して、承認されているソフトウェア更新を対応するクライアントアプリケーションに報告することができる。さらに、サーバアプリケーション300は、プロセス制御システムオブジェクトにラッパーを必要に応じて適用して、これらのオブジェクトをCOTSデプロイメントサービスと適合させるために、制御システム更新ラッパー312を含む。あるいは、制御システム更新ラッパー312は、対応するクライアントアプリケーション内に存在してもよい。さらに、更新パッケージ生成器314は、クライアントアプリケーションのためのソフトウェア更新パッケージ(例えば、ソフトウェアオブジェクト、メタデータおよびソフトウェアオブジェクト識別子のうちいくつかまたはその全て)を生成することができる。
ここで図6を参照して、クライアントアプリケーション330は、フロントエンドアプリケーション332およびバックエンドアプリケーション334を含む。一実施形態において、図1および図2を参照して上述したクライアントアプリケーション16は、クライアントアプリケーション330のアーキテクチャを実施する。フロントエンドアプリケーション332は、プロセス制御ベンダーのコンピュータネットワーク内において実行しているアプリケーションと通信するためのベンダーインターフェース340を含む。例えば、フロントエンドアプリケーション332は、サーバアプリケーション14と通信し得る。フロントエンドアプリケーション332は、クライアントアプリケーション330がソフトウェア更新について対応するサーバアプリケーションにクエリを送る際に用いられるスキームを実施するためのスケジューラ342をさらに含む。さらに、フロントエンドアプリケーション332は、報告された利用可能な更新のうち、フロントエンドアプリケーション332の実行環境としてのDMZまたは他の種類のネットワークにおいて欠けているものを確認するための更新リストプロセッサ344と、メッセージ(例えば、図3中に示すメッセージ164および174)をフォーマットするためのメッセージ生成器346とを含む。
さらに、クライアントアプリケーション330は、ユーザコマンド(例えば、利用可能な更新についてサーバアプリケーションにクエリを送るためのコマンド、または、利用可能なソフトウェア更新のDMZへのへのダウンロードの開始、利用可能なソフトウェア更新に関する情報の表示、以前の更新をリスト化したレポートの表示を行うためのコマンド)を受信するためのオペレータインターフェース348を含む。
更新フォルダ350は、共有ネットワークロケーション(例えば、DMZ内の別のホストのファイルシステム)またはフロントエンドアプリケーション332およびバックエンドアプリケーション334双方にとってアクセス可能な他の任意のロケーションにおいて、フロントエンドアプリケーション332を実行しているコンピュータホストのファイルシステム内に配置され得る。更新リストプロセッサ344は、サーバアプリケーションから更新フォルダ350内へと受信されたソフトウェアオブジェクトおよびメタデータを保存して、後でバックエンドアプリケーション334により(そして実施形態のうち少なくともいくつかにおいてCOTSデプロイメントアプリケーション352により)ソフトウェアオブジェクトおよびメタデータのデプロイメントおよびインストールができるようになっている。バックエンドアプリケーション334は、更新フォルダ350中のファイルの取り出し、暗号解読および解凍をファイル転送モジュール356を用いて行い得る。
フォーマット変換モジュール358は、COTSデプロイメントアプリケーション352が認識していないソフトウェアオブジェクトを注入し得る。例えばCOTSデプロイメントアプリケーション352が下流WSUSアプリケーションである場合、フォーマット変換モジュール358は、これらのオブジェクトをWSUSと適合させるために、Microsoft社から提供されている1つまたは複数のAPI機能をこれらのプロセス制御オブジェクトに適用する。他のソフトウェア更新については、ファイル転送モジュール356は、識別子および/またはメタデータをCOTSデプロイメントアプリケーション352に直接適用し得る。下流WSUSの例について引き続いて説明すると、ファイル転送モジュール356は、下流WSUSが特定された更新のみを上流WSUSからリクエストするように、Windows(登録商標)更新に関連する識別子またはメタデータを構成データとして直接適用し得る。
一般的には図5および図6について、ブロック302〜314、340〜348および352〜358は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの任意の所望の組み合わせとして実施可能である点に留意されたい。あるいは、ブロック302〜314、340〜348および352〜358のうちいくつかを組み合わせるかまたは逆にこれらのブロックのうちいくつかをより小さいモジュールに分割することも可能である。さらに、ブロック302〜314、340〜348および352〜358のうちいくつかを1つより多くのコンピュータホスト間で配布することも可能である。
次に、図7は、プロセス制御システムのオペレータがクライアントアプリケーション16を操作する際(図1および図2を参照)に見ることができる例示的なインターフェース画面400を示す。いくつかの状況において、オペレータは、ソフトウェア更新の検出、ダウンロードおよびデプロイメントを行うプロセスを完全自動化することを好む場合があり、その場合、インターフェース画面400をディセーブルすることができる。しかし、他の状況において、オペレータは、「ダウンロードリスト」という制御を用いて更新が利用可能か否かを手入力により確認し、「すぐダウンロードする」という制御を用いてダウンロードを開始し、「接続試験」という制御を用いてネットワーク接続性を試験することなどを望む場合もある。図7中にさらに示すように、インターフェース画面400は、プロセス制御層24内に現在インストールされているプロセス制御システムのバージョン、最終の更新ダウンロードが行われた時期、ダウンロードを保存すべき場所、ダウンロードに使用することが可能なメモリ量などを示し得る。さらに、オペレータは、「構成」という制御をクリックして、自動更新スケジュールの指定、クライアントアプリケーションのフロントエンドとバックエンドコンポーネントとの間の相互作用の構成などを行うことができる。さらに、「ログを見る」という制御により、オペレータは、以前のダウンロードの履歴および関連するイベントにアクセスすることもできる。
次に、図8〜図10は、更新の自動デプロイメントのためのシステム(例えば、ソフトウェア更新システム12)を実施するための例示的な方法の各フロー図を示す。例えば、サーバアプリケーション14は、方法450を実施してクライアントアプリケーション16から「利用可能な更新を確認する」を処理し、方法470を実施してクライアントアプリケーション16からの「更新リクエスト」メッセージを処理することができ、クライアントアプリケーション16は、方法500を実施して、クエリおよびソフトウェア更新リクエストを開始および処理することができる。
図8を参照して、サーバアプリケーション14は、ブロック452において更新を確認するリクエストを受信し、ブロック454において対応する顧客を認証し、顧客システムにおいて使用されるオペレーティングシステムおよびプロセス制御システムにとって必要なソフトウェア更新をそれぞれブロック456および458において特定し得る。上述したように、サーバアプリケーション14は、プロセス制御システムベンダーの技術スタッフが試験および承認したオペレーティングシステムに対する更新のリストを維持し得る。技術スタッフは、1つまたは複数のアンチウイルスアプリケーションに対する更新を確認および承認または拒絶することもできる。上記において詳述したように、サーバアプリケーション14は、少なくとも顧客システム26において現在使用されているオペレーティングシステムのバージョンおよびプロセス制御システム74の現在のバージョンに鑑みて、ソフトウェア更新をクライアントアプリケーション16に推奨し得る。ブロック460において、サーバアプリケーション14は、利用可能な更新および承認された更新のリストをクライアントアプリケーション16に報告し得る。
ここで図9を参照して、サーバアプリケーション14は、ブロック472において、1つまたは複数のソフトウェア更新を指定するリクエストを受信し得る。その後、ブロック474において、サーバアプリケーション14は、リクエストされたソフトウェアオブジェクトおよび/またはメタデータを取り出し、ブロック476においてクライアントアプリケーション16のための更新パッケージを生成し得る。その後、サーバアプリケーション14は、任意の公知の技術(HTTPの経由、FTPクライアント/サーバの対の使用、または他の任意の適切なプロトコルの経由)を用いて、更新パッケージを1つのまたは複数のメッセージに入れてクライアントアプリケーション16に送信し得る。
図10を参照して、クライアントアプリケーション16は、ブロック502において起床(wake−up)イベントを待機し得る。起床イベント(例えば、ユーザコマンド、タイマー終了)に応答して、クライアントアプリケーション16は、利用可能なソフトウェア更新のリストをブロック504においてリクエストし、リストをサーバアプリケーション14から受信し、ブロック506においてリストをネットワークにおいて既に利用可能となっている更新と比較する。クライアントアプリケーション16がブロック508において少なくとも1つのソフトウェア更新が必要であると決定した場合、方法500はブロック510へと進む。そうでない場合、方法500はブロック502に戻る。
ブロック510において、クライアントアプリケーション16は、サーバアプリケーション14からリクエストされている更新を指定するメッセージを生成および送信する。その後、クライアントアプリケーション16は、ブロック512において、ソフトウェア更新を、別のアプリケーション(例えば、WSUS)によって管理されているソフトウェアオブジェクト、メタデータまたはソフトウェア更新の識別子として受信する。ブロック514において、クライアントアプリケーション16は、ダウンロードされたソフトウェア更新の直接的または間接的デプロイメントを開始する。より詳細には、クライアント16は、各オブジェクトについてのロケーション、更新挙動およびインストレーションパラメータを記述するメタデータに従ってソフトウェアオブジェクトを配布およびインストールするコンポーネントを含み得る。あるいは、クライアントアプリケーション16は、別個のデプロイメントアプリケーションと相互作用して、クライアントアプリケーション16の代わりにプロセス制御更新のインストールをリクエストし、デプロイメントアプリケーションを構成することによりオペレーティングシステムに対するソフトウェア更新のデプロイメントを制御することもできる。
上記から、ソフトウェア更新システム12および上述した関連技術により、主にソフトウェアシステムおよび詳細には複雑な特殊なソフトウェアシステム(例えば、プロセス制御システム)を使用する顧客にとって多数の利点が得られることが分かる。具体的にプロセス制御産業について考えてみると、プラントオペレータは典型的には、対応するプロセスプラントを安全かつ信頼性を以て管理するためにプロセス制御システムに依存することが多い。このようなプロセス制御産業における上記の利点を非限定的に挙げると、プロセス制御システムの重要機能と矛盾するソフトウェア更新がインストールされて、オペレータの安全の脅威またはプラント停止が発生する危険性の大幅な低減、プロセス制御オペレータが他のタスクを犠牲にしてネットワーク管理を行わなければならなくなる要求の排除、プロセス制御システムのベンダーによる承認後の即時の更新デプロイメント(これにより、重要ソフトウェア更新のデプロイメントの危険な遅延が排除される)、オペレータの時間および労力ならびにネットワークダウンタイムを余儀なくさせるような不要なまたはさらには有害な更新の排除がある。さらに、上記した技術により、プロセス制御システムベンダーは、プロセス制御システムのアップグレードまたはパッチのデプロイメントをオペレーティングシステムに対する更新と同時に行うことができ、これにより、オペレータの労力を節約し、ユーザ側の作業を全体的に向上させることができる。さらに別の局面において、これらの技術により、身近なCOTS更新およびデプロイメントアプリケーション(例えば、上流WSUSアプリケーションおよび下流WSUSアプリケーション)をプロセス制御システムの更新プロセスにシームレスに統合することが可能になる。さらに、これらの技術により、(例えばソフトウェアオブジェクトをラップすることにより)ネイティブではないプロセス制御システム更新をネイティブ更新としてCOTSアプリケーションに提示することが可能になるため、企業のIT人員は、プロセス制御システムの実施先となっているネットワーク層のセキュリティ更新適合性のモニタリングをプロセス制御ベンダーからのメモを手作業により確認するかまたはプロセス制御オペレータによる要求を確認する必要無く、行うことができる。
本システムおよび方法について具体例を参照しながら説明してきたが、これらの例はひとえに例示的なものであり、本開示を限定することを意図していない。当業者にとって、本開示の意図および範囲から逸脱することなく、上記開示の実施形態に対する変更、付加および/または削除が可能であることが明らかである。
本出願は、2009年9月25日に出願された「Automated deployment of Computer−Specific Software update」という名称の米国仮特許出願61/246、008号(弁理士ドケット番号06005/592219P)に基づいており、同出願に対する優先権を主張する。本明細書中、ここに、同出願の開示内容全体を参考のため明示的に援用する。

Claims (5)

  1. ソフトウェア更新を自動デプロイメントするための、コンピュータネットワークにおいて用いられるソフトウェア更新システムであって、前記コンピュータネットワークは、ホストを備え、前記ホストは、オペレーティングシステムとプロセス制御ソフトウェアとを実行し、前記プロセス制御ソフトウェアは、プロセスプラントの動作を制御し、前記ソフトウェア更新システムは、
    第1の1組の命令としてコンピュータで読み出し可能な媒体上に保存される第1のクライアントアプリケーションであって、前記コンピュータネットワーク内の前記オペレーティングシステムを更新するために、前記オペレーティングシステムと関連付けられたソフトウェアオブジェクトを第1のサーバから受信し、前記第1のサーバは、前記オペレーティングシステムのプロバイダによって操作される、第1のクライアントアプリケーションと、
    第2の1組の命令としてコンピュータで読み出し可能な媒体上に保存される第2のクライアントアプリケーションであって、前記ソフトウェアオブジェクトに関連するメタデータを第2のサーバから受信し、前記第2のサーバは、前記プロセス制御ソフトウェアのプロバイダによって操作される、第2のクライアントアプリケーションと、
    を含み、
    前記メタデータは、前記ソフトウェアオブジェクトのうち、前記ホスト上で実行される前記オペレーティングシステムと前記ホスト上で実行される前記プロセス制御ソフトウェアと共に使用されるものとして承認されているものを指定し、
    前記第2のクライアントアプリケーションは、前記ソフトウェアオブジェクトのうち前記ホストに対してデプロイメントすべきものを指定するようにさらに適合される、
    ソフトウェア更新システム。
  2. コンピュータで読み出し可能な媒体上に第3の1組の命令として保存されるデプロイメントアプリケーションであって、1つまたは複数のソフトウェア更新を前記ホスト上に自動インストールさせる、デプロイメントアプリケーションをさらに含み、
    前記第2のクライアントアプリケーションは、前記指定されたソフトウェアオブジェクトのデプロイメントを開始せよとのメッセージを前記デプロイメントアプリケーションに送信するように適合される、
    請求項1に記載のソフトウェア更新システム。
  3. 前記第2のクライアントアプリケーションは、
    前記プロセス制御ソフトウェアと関連付けられたソフトウェアオブジェクトと、
    前記プロセス制御ソフトウェアと関連付けられた前記ソフトウェアオブジェクトに関連するメタデータと、
    を受信するようにさらに適合される、請求項2に記載のソフトウェア更新システム。
  4. 前記コンピュータネットワークは、前記ホストが内部で動作するプロセス制御層と、前記プロセス制御層を外部ネットワークから分離させるセキュアな層とを含み、
    前記第2のクライアントアプリケーションは、
    前記セキュアな層内において実行され、前記第2のサーバから前記メタデータを前記外
    部ネットワークを介して受信するフロントエンドモジュールと、
    前記プロセス制御層内において実行され、前記フロントエンドモジュールから前記メタデータを受信するバックエンドモジュールと、
    含む、請求項3に記載のソフトウェア更新システム。
  5. 前記第2のクライアントアプリケーションは、前記プロセス制御ソフトウェアと関連付けられたソフトウェアオブジェクトにラッパーを適用して、ラップされたソフトウェアオブジェクトを生成するためのフォーマット変換モジュールを含み、これにより、前記ラップされたソフトウェアオブジェクトおよび前記オペレーティングシステムと関連付けられた前記ソフトウェアオブジェクトは、共通のデプロイメントアプリケーションと適合する、請求項4に記載のソフトウェア更新システム。
JP2010215391A 2009-09-25 2010-09-27 コンピュータ固有のソフトウェア更新の自動デプロイメント Active JP5846730B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US24600809P 2009-09-25 2009-09-25
US61/246,008 2009-09-25
US12/883,664 2010-09-16
US12/883,664 US9003387B2 (en) 2009-09-25 2010-09-16 Automated deployment of computer-specific software updates

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015196742A Division JP6130460B2 (ja) 2009-09-25 2015-10-02 ソフトウェア更新システム及び方法、自動デプロイメントする方法、及び自動デプロイメントする方法

Publications (3)

Publication Number Publication Date
JP2011070674A JP2011070674A (ja) 2011-04-07
JP2011070674A5 JP2011070674A5 (ja) 2013-11-07
JP5846730B2 true JP5846730B2 (ja) 2016-01-20

Family

ID=43065635

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010215391A Active JP5846730B2 (ja) 2009-09-25 2010-09-27 コンピュータ固有のソフトウェア更新の自動デプロイメント
JP2015196742A Active JP6130460B2 (ja) 2009-09-25 2015-10-02 ソフトウェア更新システム及び方法、自動デプロイメントする方法、及び自動デプロイメントする方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015196742A Active JP6130460B2 (ja) 2009-09-25 2015-10-02 ソフトウェア更新システム及び方法、自動デプロイメントする方法、及び自動デプロイメントする方法

Country Status (5)

Country Link
US (1) US9003387B2 (ja)
JP (2) JP5846730B2 (ja)
CN (1) CN102045390B (ja)
DE (1) DE102010037759A1 (ja)
GB (1) GB2473946B (ja)

Families Citing this family (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US7940716B2 (en) 2005-07-01 2011-05-10 Terahop Networks, Inc. Maintaining information facilitating deterministic network routing
US9134989B2 (en) 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US9092286B2 (en) * 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US7142107B2 (en) 2004-05-27 2006-11-28 Lawrence Kates Wireless sensor unit
US7623028B2 (en) 2004-05-27 2009-11-24 Lawrence Kates System and method for high-sensitivity sensor
US8033479B2 (en) 2004-10-06 2011-10-11 Lawrence Kates Electronically-controlled register vent for zone heating and cooling
US8387037B2 (en) * 2005-01-28 2013-02-26 Ca, Inc. Updating software images associated with a distributed computing system
CA2687883C (en) 2007-06-19 2014-07-08 Qualcomm Incorporated Methods and apparatus for dataset synchronization in a wireless environment
WO2009151877A2 (en) 2008-05-16 2009-12-17 Terahop Networks, Inc. Systems and apparatus for securing a container
KR20110118975A (ko) * 2010-04-26 2011-11-02 삼성전자주식회사 휴대용 단말기에서 펌웨어 업데이트를 수행하기 위한 장치 및 방법
JP5465099B2 (ja) * 2010-06-14 2014-04-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US8843239B2 (en) 2010-11-19 2014-09-23 Nest Labs, Inc. Methods, systems, and related architectures for managing network connected thermostats
US8727611B2 (en) 2010-11-19 2014-05-20 Nest Labs, Inc. System and method for integrating sensors in thermostats
US9104211B2 (en) 2010-11-19 2015-08-11 Google Inc. Temperature controller with model-based time to target calculation and display
US9118505B2 (en) * 2010-11-05 2015-08-25 Blackberry Limited System and method for controlling updates on a mobile device
US10346275B2 (en) 2010-11-19 2019-07-09 Google Llc Attributing causation for energy usage and setpoint changes with a network-connected thermostat
US9046898B2 (en) 2011-02-24 2015-06-02 Google Inc. Power-preserving communications architecture with long-polling persistent cloud channel for wireless network-connected thermostat
US9448567B2 (en) 2010-11-19 2016-09-20 Google Inc. Power management in single circuit HVAC systems and in multiple circuit HVAC systems
US8850348B2 (en) 2010-12-31 2014-09-30 Google Inc. Dynamic device-associated feedback indicative of responsible device usage
US9268344B2 (en) 2010-11-19 2016-02-23 Google Inc. Installation of thermostat powered by rechargeable battery
US9459018B2 (en) 2010-11-19 2016-10-04 Google Inc. Systems and methods for energy-efficient control of an energy-consuming system
US9453655B2 (en) 2011-10-07 2016-09-27 Google Inc. Methods and graphical user interfaces for reporting performance information for an HVAC system controlled by a self-programming network-connected thermostat
US8944338B2 (en) 2011-02-24 2015-02-03 Google Inc. Thermostat with self-configuring connections to facilitate do-it-yourself installation
JP2014519796A (ja) * 2011-04-28 2014-08-14 ゾール サーキュレイション インコーポレイテッド バッテリー管理パラメータの拡散型配布
US9557981B2 (en) 2011-07-26 2017-01-31 Ford Global Technologies, Llc Method and apparatus for automatic module upgrade
US20130042231A1 (en) 2011-08-10 2013-02-14 Ford Global Technologies, Llc Methods and Apparatus for Software Updating
US8893032B2 (en) 2012-03-29 2014-11-18 Google Inc. User interfaces for HVAC schedule display and modification on smartphone or other space-limited touchscreen device
US9222693B2 (en) 2013-04-26 2015-12-29 Google Inc. Touchscreen device user interface for remote control of a thermostat
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9143529B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Modifying pre-existing mobile applications to implement enterprise security policies
US20150334184A1 (en) * 2011-12-22 2015-11-19 Hew-Lett-Pack Development Company, L.P. Enabling execution of remotely-hosted applications using application metadata and client updates
TWI462017B (zh) * 2012-02-24 2014-11-21 Wistron Corp 伺服器部署系統及資料更新的方法
WO2013149210A1 (en) 2012-03-29 2013-10-03 Nest Labs, Inc. Processing and reporting usage information for an hvac system controlled by a network-connected thermostat
CN102662712B (zh) * 2012-04-10 2015-11-18 深圳市腾讯计算机系统有限公司 获取、推送应用程序的方法、设备和系统
JP5928707B2 (ja) * 2012-05-01 2016-06-01 株式会社日立製作所 セキュリティポリシ配布実行システムおよびセキュリティポリシ実行方法
US9525587B2 (en) 2012-05-17 2016-12-20 International Business Machines Corporation Updating web resources
US9152410B2 (en) * 2012-06-21 2015-10-06 Vaibhav KHANDELWAL Auto-update while running client interface with handshake
US8620841B1 (en) 2012-08-31 2013-12-31 Nest Labs, Inc. Dynamic distributed-sensor thermostat network for forecasting external events
EP2711797A1 (en) * 2012-09-21 2014-03-26 ABB Research Ltd. Operating a programmable logic controller
US8539567B1 (en) 2012-09-22 2013-09-17 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers
US8635373B1 (en) 2012-09-22 2014-01-21 Nest Labs, Inc. Subscription-Notification mechanisms for synchronization of distributed states
US20140109072A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
US9971585B2 (en) * 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US9513895B2 (en) * 2012-10-31 2016-12-06 Oracle International Corporation Method and system for patch automation for management servers
US9383992B2 (en) 2012-11-21 2016-07-05 International Business Machines Corporation Enterprise wide software version recommendation
US9632764B2 (en) * 2012-12-31 2017-04-25 Oracle International Corporation Defining configurable characteristics of a product and associating configuration with enterprise resources
EP2778816B1 (en) * 2013-03-12 2015-10-07 ABB Technology AG System and method for testing a distributed control system of an industrial plant
US10061574B2 (en) 2013-03-14 2018-08-28 Ford Global Technologies, Llc Method and apparatus for multiple vehicle software module reflash
US9242043B2 (en) 2013-03-15 2016-01-26 Tandem Diabetes Care, Inc. Field update of an ambulatory infusion pump system
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
CN104216725B (zh) * 2013-06-04 2019-04-19 Sap欧洲公司 用于软件解决方案托管的存储库层策略调整
GB2516009A (en) * 2013-07-01 2015-01-14 Muntedhar Sahib Alhakim Automated software deployment management
WO2015048107A1 (en) * 2013-09-27 2015-04-02 Fisher-Rosemount Systems, Inc. Change management system in a process control architecture
JP2015103105A (ja) * 2013-11-26 2015-06-04 株式会社リコー 通信装置、通信システム、及び通信プログラム
DE102013021158A1 (de) * 2013-12-10 2015-06-11 Fresenius Medical Care Deutschland Gmbh Verfahren zum Update und/oder Upgrade der Betriebssoftware eines elektronischen Gerätes
CN104731607B (zh) * 2013-12-18 2018-10-30 华为技术有限公司 终端终生学习处理方法、装置和系统
US9229704B2 (en) 2014-04-01 2016-01-05 Ford Global Technologies, Llc Smart vehicle reflash with battery state of charge (SOC) estimator
US9317278B1 (en) * 2014-04-25 2016-04-19 Duran Walker Group, LLC Updating shared access machine-readable code
US9021458B1 (en) * 2014-06-25 2015-04-28 Chef Software, Inc. Vertically integrated continuous delivery of an application
US20160048383A1 (en) * 2014-08-13 2016-02-18 Microsoft Technology Licensing, Llc Isv update delivery
CN105635237B (zh) * 2014-11-27 2021-02-19 广州方硅信息技术有限公司 一种客户端的频道内应用程序的下载方法及设备、系统
US9928059B1 (en) * 2014-12-19 2018-03-27 Amazon Technologies, Inc. Automated deployment of a multi-version application in a network-based computing environment
US11226605B2 (en) * 2015-01-09 2022-01-18 Siemens Aktiengesellschaft Provisioning of control layer applications for use in industrial control environments
TWI578737B (zh) 2015-02-10 2017-04-11 鴻海精密工業股份有限公司 交換機、控制設備及其管理方法
US10379829B2 (en) * 2015-02-26 2019-08-13 Blackberry Limited System and method for restricting system and application software available for installation on a managed mobile device
CN104639374B (zh) * 2015-03-03 2017-12-12 上海瀚银信息技术有限公司 一种应用程序部署管理系统
DE202015101633U1 (de) * 2015-03-31 2016-07-04 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem und Speichervorrichtung
DE202015101904U1 (de) 2015-04-17 2016-07-20 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem und Speichervorrichtung zum Aktualisieren von Firmwarekomponenten
WO2016175791A1 (en) * 2015-04-29 2016-11-03 Hewlett Packard Enterprise Development Lp Compliance and governance policy propagation
DE202015102285U1 (de) 2015-05-05 2016-08-09 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem und Speichervorrichtung zum Bereitstellen wenigstens eines Datenträgers
CN104951335B (zh) * 2015-05-22 2019-01-04 小米科技有限责任公司 应用程序安装包的处理方法及装置
US20160363919A1 (en) * 2015-06-09 2016-12-15 Fisher Controls International Llc Custom application environment in a process control device
US9774628B2 (en) 2015-08-19 2017-09-26 The Boeing Company Method for analyzing suspicious activity on an aircraft network
US10042619B2 (en) * 2015-08-25 2018-08-07 Cognizant Technology Solutions India Pvt. Ltd. System and method for efficiently managing enterprise architecture using resource description framework
US9977667B2 (en) 2015-09-09 2018-05-22 Red Hat, Inc. Updating software utilizing domain name system (DNS)
DE102015120759A1 (de) * 2015-11-30 2017-06-01 ondeso GmbH Verfahren und System zur Übertragung von Dateien
US10382312B2 (en) 2016-03-02 2019-08-13 Fisher-Rosemount Systems, Inc. Detecting and locating process control communication line faults from a handheld maintenance tool
US9781122B1 (en) 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US11605037B2 (en) 2016-07-20 2023-03-14 Fisher-Rosemount Systems, Inc. Fleet management system for portable maintenance tools
US10554644B2 (en) 2016-07-20 2020-02-04 Fisher-Rosemount Systems, Inc. Two-factor authentication for user interface devices in a process plant
CN107645403B (zh) * 2016-07-22 2020-07-03 阿里巴巴集团控股有限公司 终端规则引擎装置、终端规则运行方法
US10585422B2 (en) 2016-07-22 2020-03-10 Fisher-Rosemount Systems, Inc. Portable field maintenance tool system having interchangeable functional modules
US10599134B2 (en) 2016-07-22 2020-03-24 Fisher-Rosemount Systems, Inc. Portable field maintenance tool configured for multiple process control communication protocols
US10270853B2 (en) 2016-07-22 2019-04-23 Fisher-Rosemount Systems, Inc. Process control communication between a portable field maintenance tool and an asset management system
US10375162B2 (en) 2016-07-22 2019-08-06 Fisher-Rosemount Systems, Inc. Process control communication architecture
US10374873B2 (en) 2016-07-22 2019-08-06 Fisher-Rosemount Systems, Inc. Process control communication between a portable field maintenance tool and a process control instrument
US10481627B2 (en) 2016-07-25 2019-11-19 Fisher-Rosemount Systems, Inc. Connection check in field maintenance tool
US10505585B2 (en) 2016-07-25 2019-12-10 Fisher-Rosemount Systems, Inc. Portable field maintenance tool with a bus for powering and communicating with a field device
US10764083B2 (en) 2016-07-25 2020-09-01 Fisher-Rosemount Systems, Inc. Portable field maintenance tool with resistor network for intrinsically safe operation
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10255061B2 (en) * 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
WO2018050216A1 (en) * 2016-09-14 2018-03-22 U-Blox Ag Software update system, firmware over the air updating system and method of updating a client device
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
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
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
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
CN106648848A (zh) * 2016-10-14 2017-05-10 乐视控股(北京)有限公司 一种应用程序生效处理方法及装置
KR102000984B1 (ko) * 2017-01-09 2019-07-17 (주)아이엔소프트 복수의 서버에 자동 생성 기능을 제공하는 운영 자동화 시스템
JP6723941B2 (ja) * 2017-02-15 2020-07-15 株式会社デンソーテン 制御装置および制御プログラム更新方法
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10587625B2 (en) * 2017-03-27 2020-03-10 Citrix Systems, Inc. Segregation of protected resources from network frontend
US10133566B2 (en) * 2017-03-30 2018-11-20 Adtran, Inc. Software upgrading system and method in a distributed multi-node network environment
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
EP3428756B1 (de) 2017-07-10 2019-06-19 Siemens Aktiengesellschaft Integritätsüberwachung bei automatisierungssystemen
US10571901B2 (en) * 2017-08-08 2020-02-25 Fisher-Rosemount Systems, Inc. Controlled roll-out of module classes
US11188501B1 (en) * 2017-08-15 2021-11-30 Amazon Technologies, Inc. Transactional and batch-updated data store search
DE102017215508A1 (de) * 2017-09-05 2019-03-07 Robert Bosch Gmbh Automatisierungssystem mit mindestens einem Feldgerät und mindestens einer Steuereinheit
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10798181B2 (en) * 2017-11-13 2020-10-06 Canon Marketing Japan Kabushiki Kaisha Storage medium containing a program, information processing device, and processing method for deploying an application generated to a cloud environment
JP7010005B2 (ja) * 2018-01-11 2022-01-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
JP7311245B2 (ja) * 2018-03-07 2023-07-19 トヨタ自動車株式会社 マスタ装置、マスタ、制御方法、プログラム及び車両
US10747525B2 (en) 2018-03-09 2020-08-18 International Business Machines Corporation Distribution of a software upgrade via a network
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
CN110896404B (zh) * 2018-09-12 2021-09-14 华为技术有限公司 数据处理的方法、装置和计算节点
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US10977025B2 (en) * 2018-11-07 2021-04-13 Microsoft Technology Licensing, Llc Intelligent software asset classification for software update validation
DE102018132384A1 (de) * 2018-12-17 2020-06-18 Endress+Hauser Conducta Gmbh+Co. Kg Hardware-Software-Kommunikationssystem für eine Sensorsignalüberwachung der Prozessautomatisierungstechnik
US11639142B2 (en) 2019-01-11 2023-05-02 Ford Global Technologies, Llc Electronic control module wake monitor
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
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
US11137996B2 (en) 2019-02-28 2021-10-05 International Business Machines Corporation Cognitive service updates via container instantiation
US10614382B1 (en) * 2019-07-12 2020-04-07 Capital One Services, Llc Computer-based systems and methods configured to utilize automating deployment of predictive models for machine learning tasks
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
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11321156B1 (en) * 2019-09-27 2022-05-03 Amazon Technologies, Inc. System for updating resources independently from source code
CN112579192A (zh) * 2019-09-30 2021-03-30 北京京东尚科信息技术有限公司 信息处理方法、装置、系统和计算机可读存储介质
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
US11544625B2 (en) * 2020-02-03 2023-01-03 Microsoft Technology Licensing, Llc Computing system for training, deploying, executing, and updating machine learning models
EP3902225A1 (en) * 2020-04-24 2021-10-27 Honeywell International Inc. Systems and methods for secure over-the-air updates for cyber-physical systems
US11567753B1 (en) 2021-08-31 2023-01-31 International Business Machines Corporation Automated software patch mapping and recommendation
CN114741102A (zh) * 2022-04-13 2022-07-12 鼎捷软件股份有限公司 具有自动升级功能的开发系统以及开发系统的自动升级方法
CN116974857B (zh) * 2023-09-21 2024-01-23 中国西安卫星测控中心 一种监控代理自动部署更新方法及其系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9623298D0 (en) * 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
JP3451989B2 (ja) * 1999-07-14 2003-09-29 ミノルタ株式会社 印刷システムにおけるソフトウェアの版管理装置
US7289994B2 (en) * 1999-10-18 2007-10-30 Fisher-Rosemount Systems, Inc. Interconnected zones within a process control system
JP2002007129A (ja) 2000-06-20 2002-01-11 Oki Electric Ind Co Ltd ソフトウェアの更新方法及び更新システム
US7539978B1 (en) * 2001-11-01 2009-05-26 Cigital, Inc. Method for understanding and testing third party software components
US7555749B2 (en) * 2003-03-10 2009-06-30 Microsoft Corporation Software updating system and method
US7620948B1 (en) * 2003-08-29 2009-11-17 Adobe Systems Incorporated Client side software updating
US7478381B2 (en) * 2003-12-15 2009-01-13 Microsoft Corporation Managing software updates and a software distribution service
US7539686B2 (en) * 2004-03-12 2009-05-26 Microsoft Corporation Tag-based schema for distributing update metadata in an update distribution system
US7975266B2 (en) * 2004-07-30 2011-07-05 Sap Aktiengesellschaft Remote installation of computer resources
US20070022403A1 (en) * 2005-07-21 2007-01-25 Caterpillar Inc. Software system development apparatus
US20070169079A1 (en) * 2005-11-08 2007-07-19 Microsoft Corporation Software update management
US8286154B2 (en) * 2006-03-22 2012-10-09 Honeywell International Inc. Apparatus and method for live loading of version upgrades in a process control environment
US8701102B2 (en) * 2007-06-27 2014-04-15 Microsoft Corporation Techniques for automatic software provisioning
US8413130B2 (en) * 2007-10-03 2013-04-02 International Business Machines Corporation System and method for self policing of authorized configuration by end points
CN101179573B (zh) * 2007-10-24 2010-08-18 中兴通讯股份有限公司 一种在线动态更新服务器软件配置信息的实现方法
US20090133012A1 (en) * 2007-11-21 2009-05-21 Cyberlink Corporation Apparatus and method for providing notification of software update
JP5130073B2 (ja) 2008-02-08 2013-01-30 株式会社オービックビジネスコンサルタント 情報処理システム、サーバ装置、ユーザ管理装置、情報処理方法、およびプログラム
US8914783B2 (en) 2008-11-25 2014-12-16 Fisher-Rosemount Systems, Inc. Software deployment manager integration within a process control system
US8561052B2 (en) * 2008-12-08 2013-10-15 Harris Corporation Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method

Also Published As

Publication number Publication date
JP6130460B2 (ja) 2017-05-17
US20110078675A1 (en) 2011-03-31
GB2473946B (en) 2015-06-24
DE102010037759A1 (de) 2011-06-16
JP2016021263A (ja) 2016-02-04
CN102045390A (zh) 2011-05-04
US9003387B2 (en) 2015-04-07
GB2473946A (en) 2011-03-30
JP2011070674A (ja) 2011-04-07
CN102045390B (zh) 2016-12-07
GB201015879D0 (en) 2010-10-27

Similar Documents

Publication Publication Date Title
JP6130460B2 (ja) ソフトウェア更新システム及び方法、自動デプロイメントする方法、及び自動デプロイメントする方法
US8346897B2 (en) System and method for deploying and maintaining software applications
US9727352B2 (en) Utilizing history of changes associated with software packages to manage computing systems
US7680880B2 (en) System and method for protecting a computer network
US8972963B2 (en) End-to-end patch automation and integration
US8271973B2 (en) Automated notification of software installation failures
US8495615B2 (en) Method, system and computer program for distributing software patches
US20060248522A1 (en) Deploying agent software to managed computer systems
KR20050120643A (ko) 비-침해 자동 오프사이트 패치 지문채취 및 업데이팅시스템 및 방법
US20130054682A1 (en) Platform for deployment and distribution of modules to endpoints
JP5106625B2 (ja) ファイアウォールを構成する方法、システム、およびコンピュータ・プログラム
US20110107419A1 (en) Systems and methods for improved identification and analysis of threats to a computing system
US10075559B1 (en) Server configuration management system and methods
Ryder Nagios core administration cookbook
US20230168875A1 (en) Systems and/or methods for facilitating software-based deployments into potentially complex heterogeneous computing environments
US20220350628A1 (en) Managed virtual machines
US20220350629A1 (en) Update management for managed virtual machines
EP3902231A1 (en) Systems and methods for secure access smart hub for cyber-physical systems
Guide Symantec
US20220350630A1 (en) Just-in-time assembly for managed virtual machines
US20220350631A1 (en) Transition to modern management using managed virtual machines
Guide Unicenter® Desktop and Server Management
CN116931884A (zh) 一种软件类项目管理持续交付平台及持续交付方法
Matotek et al. Configuration Management: By James Turnbull and Dennis Matotek
Edition et al. Administration Guide

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151002

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151013

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151124

R150 Certificate of patent or registration of utility model

Ref document number: 5846730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250