JP4700301B2 - リアルタイムシステムのためのソフトウェアオブジェクト検証方法 - Google Patents

リアルタイムシステムのためのソフトウェアオブジェクト検証方法 Download PDF

Info

Publication number
JP4700301B2
JP4700301B2 JP2004209056A JP2004209056A JP4700301B2 JP 4700301 B2 JP4700301 B2 JP 4700301B2 JP 2004209056 A JP2004209056 A JP 2004209056A JP 2004209056 A JP2004209056 A JP 2004209056A JP 4700301 B2 JP4700301 B2 JP 4700301B2
Authority
JP
Japan
Prior art keywords
real
software object
software
time
time control
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.)
Expired - Lifetime
Application number
JP2004209056A
Other languages
English (en)
Other versions
JP2006031389A (ja
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.)
Okuma Corp
Original Assignee
Okuma Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Okuma Corp filed Critical Okuma Corp
Priority to JP2004209056A priority Critical patent/JP4700301B2/ja
Priority to US11/175,541 priority patent/US7673298B2/en
Priority to DE102005032984A priority patent/DE102005032984A1/de
Publication of JP2006031389A publication Critical patent/JP2006031389A/ja
Application granted granted Critical
Publication of JP4700301B2 publication Critical patent/JP4700301B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、コンピュータにより実現されリアルタイム制御を行う制御装置等のリアルタイムシステムのためのソフトウェアオブジェクト検証方法に関するもので、コンピュータウィルス検出ソフトウェア、検出パターンファイルおよび基本ソフトウェアに対する更新ソフトウェアなどのソフトウェアオブジェクトを適用するにあたって、これらのソフトウェアオブジェクトによるリアルタイム制御に対する影響を評価し、安全にソフトウェアの更新を実現する方法に関するものである。
今日パーソナルコンピュータ(PC)の普及とともにPCベースの制御装置が普及し始めている。PCは生産管理、設計、自動プログラミングなどのアプリケーションが豊富にそろい、加工現場におけるIT化を推し進める上で有効である。ところがネットワークが普及した今日、PCを攻撃対象とするコンピュータウィルスは社会的問題となるほど日常化しており、その対象は加工現場に配置されるPCにおいても例外ではなく、コンピュータウィルスに対する対策を行わないわけにはいかない状況にある。
しかし、リアルタイム制御を行う制御装置においては、ウィルス対策を行うといっても、安定動作しているシステムのソフトウェアあるいは動作に影響のあるデータを更新するのであるから、リアルタイム性能に対し何らかの影響があるかどうかを検査し、動作に支障のないことを確認した上で適用しなければ、制御の信頼性を損なうことになりかねない。
例えば企業における基幹システムにおいては、システムに障害が発生すれば企業活動に影響を及ぼすものであり、わずかなソフトウェア更新であっても事前に精査した上で適用するのが当然である。リアルタイム制御装置は、その影響においては基幹システムとは異なるが、ソフトウェアの異常動作が事故の発生につながる可能性があり、基幹システムと同様に、たとえわずかなソフトウェア更新であっても事前に精査しなくてはならない。
今日では、コンピュータウィルス検出ソフトウェア、検出パターンファイルおよび基本ソフトウェアに対する更新ソフトウェアなどのソフトウェアオブジェクトは頻繁に発行されており、これらがリアルタイム制御において支障なく動作することを遅滞なく検査し、顧客のリアルタイム制御装置に適用可能としなくてはならない。遅滞があれば、その間にコンピュータウィルスがリアルタイム制御装置に感染し、リアルタイム制御に悪い影響を及ぼす可能性がある。一方、支障のある不適切なソフトウェアオブジェクトをリアルタイム制御装置に適用する事態が生じた場合、多数の顧客のリアルタイム制御装置が正常に動作しなくなり、それらの復旧のために多大なコストを生じることになる。
しかるに、このような検査を十分に行った上でソフトウェアオブジェクトを適用するには、手間がかかるために検査コストがかさみ、また動作に対する客観的かつ十分な評価基準が明瞭でなく、必要かつ十分な検証ができないという問題が生じていた。
本発明は上述の問題に鑑みなされたもので、ウィルス検出ソフトウェア、検出パターンファイルや基本ソフトウェアの更新ソフトウェアなどのソフトウェアオブジェクトについて、リアルタイム制御に対する影響を、それらを顧客のリアルタイム制御装置に適用する前に検証するものである。
本発明の目的は、ソフトウェアオブジェクトの検証をより迅速に行うことのできる、リアルタイムシステムのためのソフトウェアオブジェクト検証方法を提供することである。
本発明に係るソフトウェアオブジェクト検証方法は、コンピュータシステムにより実現されるリアルタイム制御装置と同じリアルタイム制御を行う検証用リアルタイム制御装置と、第1のWEBサイトと、第2のWEBサイトと、がインターネットを介して接続されるリアルタイムシステムにおいて、ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトをリアルタイム制御装置に適用する前に検証するソフトウェアオブジェクト検証方法であって、前記検証用リアルタイム制御装置は、前記ソフトウェアオブジェクトを第1のWEBサイトよりダウンロードし、前記ソフトウェアオブジェクトを適用したコンピュータシステムによりリアルタイム制御に用いられる所定のリアルタイムタスクを一定時間ごとに動作させ、前記所定のリアルタイムタスクの動作のタイミングマージンが所定の値を下回らない場合に、前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定し、前記ソフトウェアオブジェクトは良好であると判定した場合、前記顧客が利用しているリアルタイム制御装置が前記ソフトウェアオブジェクトをダウンロードして前記顧客が利用しているリアルタイム制御装置のコンピュータシステムに適用することができるように前記ソフトウェアオブジェクトを第2のWEBサイトにアップロードし、前記ソフトウェアオブジェクトがウィルス検出ソフトウェアまたは検出パターンファイルまたはウィルス駆除ソフトウェアまたは前記ソフトウェアオブジェクトがコンピュータシステムの基本ソフトウェアを更新するための更新用ソフトウェアの中の少なくとも1つを含むこと、を特徴とする。
また、本発明に係るソフトウェアオブジェクト検証方法は、コンピュータシステムにより実現されるリアルタイム制御装置と同じリアルタイム制御を行う検証用リアルタイム制御装置と、第1のWEBサイトと、第2のWEBサイトと、がインターネットを介して接続されるリアルタイムシステムにおいて、ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトをリアルタイム制御装置に適用する前に検証するソフトウェアオブジェクト検証方法であって、前記検証用リアルタイム制御装置は、前記ソフトウェアオブジェクトを第1のWEBサイトよりダウンロードし、前記ソフトウェアオブジェクトを適用したコンピュータシステムによりリアルタイム制御に用いられる所定のリアルタイムタスクを一定時間ごとに動作させ、前記所定のリアルタイムタスクの動作のタイミングマージンが所定の値を下回らない場合に、前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定し、前記ソフトウェアオブジェクトは良好であると判定した場合、前記顧客が利用しているリアルタイム制御装置が第2のWEBサイトにアップロードされた前記判定結果に基づいて前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードして前記顧客が利用しているリアルタイム制御装置のコンピュータシステムに適用することができるように前記判定結果を前記第2のWEBサイトにアップロードし、前記ソフトウェアオブジェクトがウィルス検出ソフトウェアまたは検出パターンファイルまたはウィルス駆除ソフトウェアまたは前記ソフトウェアオブジェクトがコンピュータシステムの基本ソフトウェアを更新するための更新用ソフトウェアの中の少なくとも1つを含むこと、を特徴とする。
また、本発明に係るソフトウェアオブジェクト検証方法において、前記リアルタイムシステムは、さらに、前記検証用リアルタイム制御装置に接続され、前記検証用リアルタイム制御装置の検証動作を監視する監視コンピュータと、インターネットを介して接続される管理者のコンピュータとを備え、前記監視コンピュータは、前記第1のWEBサイトに前記ソフトウェアオブジェクトがアップロードされた後、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードするまでの第1の時間、または、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードしてから前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定して前記ソフトウェアオブジェクトを前記第2のWEBサイトにアップロードするまでの第2の時間の少なくともいずれか一方の時間が所定のタイムアウト時間を経過した場合には、前記ソフトウェアオブジェクトは不適合ソフトウェアである旨のメールを管理者のコンピュータに対して発信すること、としても好適である。
また、本発明に係るソフトウェアオブジェクト検証方法において、前記リアルタイムシステムは、さらに、前記検証用リアルタイム制御装置に接続され、前記検証用リアルタイム制御装置の検証動作を監視する監視コンピュータと、インターネットを介して接続される管理者のコンピュータとを備え、前記監視コンピュータは、前記第1のWEBサイトに前記ソフトウェアオブジェクトがアップロードされた後、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードするまでの第1の時間、または、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードしてから前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定して前記判定結果を前記第2のWEBサイトにアップロードするまでの第3の時間の少なくともいずれか一方の時間が所定のタイムアウト時間を経過した場合には、前記ソフトウェアオブジェクトは不適合ソフトウェアである旨のメールを管理者のコンピュータに対して発信すること、
としても好適である。
本発明に係るソフトウェアオブジェクト検証方法において、前記リアルタイム制御装置は数値制御装置であり、前記リアルタイム制御に用いられる前記所定のリアルタイムタスクが前記数値制御装置において実行される関数発生タスクであること、としても好適である。
さらに、本発明に係るソフトウェアオブジェクト検証方法において、前記検証用リアルタイム制御装置は、さらに、前記ソフトウェアオブジェクトを適用したコンピュータシステムにより所定の加工プログラムを解釈するプログラム解釈タスクを非リアルタイムタスクとして動作させ、プログラム解釈が関数発生に対して間に合っており、かつ、前記関数発生タスクの動作のタイミングマージンが所定の値を下回らない場合に、前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定すること、としても好適である。
また、本発明に係るソフトウェアオブジェクト検証方法において、前記検証用リアルタイム制御装置を実現するコンピュータシステムは、CPUを含み、前記所定の加工プログラムは、前記CPUの負荷が最大となるプログラムであること、としても好適である。
上記構成によれば、ソフトウェアオブジェクト、例えばウィルスの検出ソフトウェア、検出パターンファイル、あるいはウィルス対策を含む基本ソフトウェアに対する更新ファイルを、それらの供給者、例えばウィルス対策ソフトウェア供給業者、基本ソフトウェア供給業者などの設置する第1のWEBサイトから例えば自動ダウンロードし、リアルタイム制御を行う検証用リアルタイム制御装置上で所定の時間動作させて客観的な評価判断基準に基づき、前記のソフトウェア、パターンファイルの適用の可否を判断するから、それらのソフトウェア、パターンファイルを検証用リアルタイム制御装置に適用した結果、リアルタイム制御が安定持続することを短時間で検証可能とする効果がある。
また、それらのソフトウェア、パターンファイルが適用可能と判断されると、それらのソフトウェアパターンファイル、または判定結果を、例えば本発明の方法を主体的に実施しようとするものが設置する第2のWEBサイトにアップロードし、顧客の制御装置に適用可能とするから、ウィルスが発見されてからウィルス対策を実行するまで、短時間で完了することができるという効果を有する。
また監視コンピュータにより前記検証用リアルタイム制御装置を補助・監視し、上記の検証が正常に行われていることを監視し、正常な検証が行われていないことを検出すると、管理者に例えばメール送信するなどして報告するから、検証が正常に行われなくなった場合には、問題の発生を直ちに管理者に通知するから、遅滞なく問題に対応できるという効果を発揮する。
またリアルタイム制御に対する影響を、タイミングマージンとして客観的に判断するから、厳格な判断を短時間に下すことができ、またリアルタイム制御に影響のないことを明瞭に示すことができ、リアルタイム制御装置の利用者(顧客)は安心してそれらのソフトウェア、パターンファイルを適用できるという効果を有する。
さらにリアルタイムの制御装置が数値制御装置である場合、所定の加工プログラムを前記数値制御装置で解釈実行させ、プログラム解釈が関数発生に対して、例えば常に間に合って行われることを評価するので、数値制御装置の利用者(顧客)はそれらのソフトウェア、パターンファイルを適用した結果、数値制御装置の能力が変動し、加工面の面粗度が悪くなるなどの心配がなくなるという効果を有する。
以下に図面を用いて、本発明に係る実施の形態におけるリアルタイムシステムのためのソフトウェアオブジェクト検証方法について説明する。図1は、リアルタイムシステムのためのコンピュータウィルス防御方法およびソフトウェア更新方法を適用することのできるシステムの全体概要を示す図である。第1のWEBサイト1は、ウィルス検出ソフトウェアや基本ソフトウェアの供給者が設置するWEBサイトで、ウィルス検出ソフト供給者であればウィルス検出ソフトウェアやウィルス検出パターンファイルをアップロードし、基本ソフトウェア供給者であれば更新ソフトウェアをアップロードし、利用者がインターネットからただちにダウンロード可能にして、迅速なウィルス対策や不具合対策を可能とするものである。なお、今後単にソフトウェアオブジェクトと言う場合、ウィルス検出ソフトウェア、ウィルス検出パターンファイルおよび更新ソフトウェアをさすものとする。
検証システム2は本発明の中心的役割を果たすもので、リアルタイム制御装置に対してソフトウェアオブジェクトを適用することの可否を判定するサービスを行うものが設置するものであり、多くの場合リアルタイム制御装置の供給者が設置すべきものである。検証用リアルタイム制御装置3は、第1のWEBサイト1よりソフトウェアオブジェクトをダウンロードし(流れA)、リアルタイム制御を行う上で支障がなく、安定にリアルタイム制御を持続できることを所定の時間かけて自動検証し、問題がないことを確認できれば、第2のWEBサイト5へアップロードする(流れB)。顧客のリアルタイム制御装置6は、第2のWEBサイト5よりソフトウェアオブジェクトをダウンロードし適用する(流れC)。これにより、顧客のリアルタイム制御装置6のウィルス検出ソフトウェア、ウィルス検出パターンファイル、更新ソフトウェアの更新が、安定動作が保証された上で、迅速に行われる。
また、検証用リアルタイム制御装置3がソフトウェアオブジェクトを適用したことにより、まったく機能しなくなり検証を行えない状態に陥ってしまう可能性がある。この場合、検証用リアルタイム制御装置3は動作不能になっているために、そのような状況に陥っていることを他に伝えることさえできない状態となりうる。そこで検証用リアルタイム制御装置3は監視コンピュータ4に対し、検証を開始すること、検証が完了したことを報告する(流れD)。監視コンピュータ4は、検証用リアルタイム制御装置3により検証が開始され終了されたことを監視し、もし所定の時間内に検証が開始され完了しなければ、管理者コンピュータ7に対し、タイムアウトエラーを検出した旨メールを送信し、管理者に異常の発生したことを伝える。
次に検証用リアルタイム制御装置3について説明する。ここではリアルタイム制御装置の一種である数値制御装置を例にとって説明する。
図6は数値制御装置の構成図である。図6のプログラム解釈部203で加工プログラムの解釈が逐次行われ、関数発生部204によりプログラム解釈された結果に基づいて一定周期ごとに関数発生が行われ、関数発生結果によってサーボ駆動部205が駆動され、位置検出器207からのフィードバックを受けながらサーボモータ206が駆動されて位置制御がなされる。なお、ソフトウェアオブジェクト検証制御部211、タイミングマージン検出部212、プログラム解釈監視部213は、検証用リアルタイム制御装置3に固有の要素で、顧客のリアルタイム制御装置6には必要のない要素であり、通常これら以外の要素については検証用リアルタイム制御装置3と顧客のリアルタイム制御装置6とは同じものである。検証用リアルタイム制御装置3に固有の要素については、後ほど詳細に説明する。
図6に示すような数値制御装置は、実際には図5に示すようなコンピュータシステムによって実現される。図5に示すコンピュータシステムはCPU101を中心にROM102, RAM103のメモリ、補助記憶装置としてハードディスク104を備え、そして通信インターフェース部110により他のコンピュータやインターネット上のWEBサイトと通信することができる。そのほかにPLC制御部105, 表示装置109を制御するグラフィック表示制御部107、操作パネル112とのインターフェース回路である操作パネルI/F部111、サーボ駆動部205, サーボモータ206, 位置検出器207などから構成される。なお、図6と同じ要素については同じ符号を付与した。図5には図示しないがこのコンピュータシステムはリアルタイムOSによりマルチタスク制御されていて、図6の数値制御装置のプログラム解釈部203、関数発生部204はそれぞれ異なるタスクとして実現される。
ここでリアルタイム制御のあるいは数値制御の中心であるプログラム解釈部203および関数発生部204の動作について、図7、図8のフローチャートを用いて動作を説明する。
図7はプログラム解釈部203の動作を示すフローチャートであり、数値制御装置の加工プログラムが起動されるとともにプログラム解釈動作を開始し(ステップS71)、加工プログラムを1ブロック受取る(ステップS72)。1ブロックを解釈して(ステップS73)、MO2による終了であるかどうかを判定し(ステップS74)、終了指令であれば終了する(ステップS76)。そうでなければ、解釈を行った結果を関数発生部に送出する(ステップS75)。以下ステップS72に戻ってこれを繰返す。
図8は関数発生部204の動作を示すフローチャートである。関数発生部204は、一定時間Tcycごとに起動されて、所定の時間内に処理が終わるようにされており、まず一定時間Tcycごとに起動され(ステップS81)、関数発生フラグがONでなければ(ステップS82)、解釈結果があるかどうか、すなわちプログラム解釈部のステップS75より送出された解釈結果があるかどうかを判定し(ステップS83)、なければ解釈結果空フラグをONして(ステップS89)、動作を終了する(ステップS80)。ステップS83において解釈結果があれば解釈結果を受取り(ステップS84)、1ブロック関数発生初期化を行う(ステップS85)。1ブロック関数発生初期化では、加工プログラムの1ブロックを開始するにあたって、例えばG00指令(早送り)やG01指令(切削送り)であれば、目標位置までの距離と目標位置に至るまでの各軸の一定時間Tcycごとの移動距離を算出して記憶する(ステップS85)。そして関数発生フラグをONにする(ステップS86)。次いで最初の一定時間Tcycの移動指令をサーボ駆動部205に送出し(ステップS87)、解釈結果空フラグをOFFして(ステップS88)、一定時間Tcycごとの処理を終わる(ステップS80)。
またステップS82で、関数発生フラグがONであれば、1ブロック関数発生を実行する(ステップS90)。1ブロック関数発生は、G00指令やG01指令であれば、各軸の一定時間Tcycごとの移動距離を現在位置に加算して記憶する。そして一定時間Tcycの移動指令をサーボ駆動部205に送出して(ステップS87)一定時間Tcycごとの処理を終わる(ステップS80)。
プログラム解釈部203、関数発生部204は、前述のように図5のようなコンピュータシステム上のリアルタイムOSにより制御されるタスクとして実現される。関数発生部204は一定時間Tcycごとに起動されるリアルタイムタスクとして、プログラム解釈部203は非リアルタイムタスクとして処理される。図4は、これらのタスク実行の様子を説明するタイミング図で、横軸は時間であり、それぞれのタスクがCPU101を使用している状態を長方形で表している。リアルタイムタスクは一定時間Tcycごとに起動されて処理が行われる。非リアルタイムタスクは、リアルタイムタスクに比べ優先度が低く、リアルタイムタスクがCPU101を使用しない時間を利用して処理が行われる。
ここでリアルタイムタスクは一定時間Tcycごとに起動され、タイミングt0〜t1では、動作時間Trunで、非動作時間Tslp(=Tcyc-Trun)である。リアルタイムタスクの動作時間Trunは、一定時間Tcycを越えてはならず、非動作時間TslpがタイミングマージンTmgnとなる。タイミングマージンが十分でなければリアルタイムタスクの動作時間Trunが一定時間Tcycを越える可能性が高まって、すなわち正常な関数発生を継続できなくなる可能性が高まって、安全とは言えない。それで、所定の時間リアルタイムタスクを繰返し動作させて、タイミングマージンTmgnを測定し、すべてのリアルタイムタスク起動においてタイミングマージンTmgnが所定の値すなわちタイミングマージンしきい値Tmgnthを下回ることがないかどうかを判定する。これが、後述するソフトウェアオブジェクトの検証におけるステップS7の判定の1つとなる。この動作を説明するのが図9のフローチャートである。タイミングマージン検出部は関数発生部と同様に一定時間Tcycごとに起動され(ステップS91)、タイミングtにおけるタイミングマージンTmgnを算出する(ステップS92)。タイミングマージンしきい値Tmgnthよりも下回れば、判定フラグ1をONし、タイミングマージンがしきい値を下回ることがあったことを記録する。
一方、プログラム解釈部203は非リアルタイムタスクで処理されるが、先に説明したようにリアルタイムタスクで処理される関数発生部204がCPU101を使用しない時間に行われるため、これに手間取ると、プログラム解釈のステップS75にて行われる解釈結果の送出が、関数発生部の解釈結果の有無判定のタイミング(ステップS83)に間に合わなくなり、サーボ駆動部への移動指令の送出(ステップS87)が行われず、サーボモータ206の動作がなめらかでなくなり、結果として工作機械の加工対象物の品位が低下してしまう。このようなことは、プログラム解釈部203を実現する優先度の低い非リアルタイムタスクのためにCPU101の使用が十分割付けられないことにより発生するものであり、ステップS89にてONされる解釈結果空フラグがONされたかどうかを判定することで判断できる。これも、後述するソフトウェアオブジェクトの検証におけるステップS7の判定の1つとなる。この動作を説明するのが図10のフローチャートである。プログラム解釈監視部213は関数発生部と同様に一定時間Tcycごとに起動され(ステップS101)、解釈結果空フラグがONされていれば(ステップS103)、判定フラグ2をONし、関数発生部の解釈結果の有無判定のタイミングに対しプログラム解釈部の解釈結果の送出が間に合わないことがあったことを記録する。
なお、これらの評価を行うにあたっては、数値制御装置にはなるべく重い負荷をかけた方がよく、例えば金型加工を行う加工プログラムのように、毎秒数百ブロックをプログラム解釈して関数発生させるような、つまりプログラム解釈部203、関数発生部204ともにCPU101の使用量、すなわち負荷が最大となる加工プログラムを用いて評価を行う。
以上リアルタイム制御装置あるいは数値制御装置における、制御を評価する手段について説明した。
次にソフトウェアオブジェクトの検証手順について図2のフローチャートを用いて説明する。
検証用リアルタイム制御装置3、すなわち図6の構成図の数値制御装置において、ソフトウェアオブジェクト検証制御部211はソフトウェアオブジェクトの検証を司り、ソフトウェアオブジェクトの検証を開始すると(ステップS1)、第1のWEBサイト1に新しいソフトウェアオブジェクトがアップロードされたかどうかを判定する(ステップS2)。
次に、もしアップロードされたものがあれば第1のWEBサイト1より新しいソフトウェアオブジェクトをダウンロードし(ステップS3)、監視コンピュータ4に評価の開始を報告し(ステップS4)、適用し評価を開始する(ステップS5)。ここで適用し評価を開始するとは、ダウンロードされたソフトウェアオブジェクトをハードディスク104に格納し、RAM103上にロードされて実行されているプログラムを再起動するなどして、ダウンロードされたソフトウェアオブジェクトを元にCPU101がプログラム実行を行うようにすることである。次に所定時間が経過するのを待ち(ステップS6)、その間、先ほど説明した2つの評価を行い、そして所定時間が経過すると評価を終了し判定する(ステップS7)。評価結果が良好かどうかを判定し、すなわち判定フラグ1、判定フラグ2がともにONされていないことを判定し(ステップS8)、良好と判定されれば第2のWEBサイト5にソフトウェアオブジェクトをアップロードし(ステップS9)、顧客のリアルタイム制御装置6においてアップロードされたソフトウェアオブジェクトをダウンロードできるようにする。そして監視コンピュータ4に評価が正常に終了したことを報告する(ステップS10)。ステップS8において判定結果が良好でなければ、監視コンピュータ4に評価の異常終了を報告する(ステップS11)。
以上、ソフトウェアオブジェクト検証制御部211により、ソフトウェアオブジェクトの検証が行われることを説明した。
次に、監視コンピュータ4において、検証用リアルタイム制御装置3が正しく検証を行っているかどうかを監視する手順を図3のフローチャートをもとに説明する。
監視コンピュータ4は監視を開始すると(ステップS21)、第1のWEBサイト1に新しいソフトウェアオブジェクトがアップロードされるのを待ち(ステップS22、図1において、この流れは省略)、アップロードされていれば検証用リアルタイム制御装置3から評価が開始されたという報告が入るのを待ち(ステップS23)、報告がなければタイムアウト時間経過したかどうかを判定する(ステップS24)。ステップS23にて評価の開始が報告されたら、次には検証用リアルタイム制御装置3から評価の終了が報告されるのを待ち(ステップS25)、報告がなければタイムアウト時間経過したかどうかを判定する(ステップS26)。
正常に終了したとの報告があれば(ステップS27)、ステップS22へ戻って第1のWEBサイト1に新しいソフトウェアオブジェクトがアップロードされるのを待つ。ステップS27において正常ではないと判断されれば、不適合ソフトウェアオブジェクトを検出した旨、管理者のコンピュータ7にメール送信する(ステップS28)。
検証用リアルタイム制御装置3から評価の開始、終了の報告がなく、ステップS24、S26においてタイムアウト時間を経過した場合、タイムアウトエラーが発生したことを管理者のコンピュータ7に対しメール送信する(ステップS29)。
以上、監視コンピュータ4が、検証用リアルタイム制御装置3が正しく検証を行っていることを監視する手順を説明した。なお、本実施例では検証用リアルタイム制御装置3が第2のWEBサイトにソフトウェアオブジェクトをアップロードするものとして説明したが、監視コンピュータ4がソフトウェアオブジェクトをアップロードしてもよい。
また、以上の説明では図2のステップS9において、第2のWEBサイトにソフトウェアオブジェクトをアップロードするとして説明したが、判定結果を第2のWEBサイトにアップロードしておいて、顧客のリアルタイム制御装置6は第2のWEBサイトにアップロードされた判定結果に基づいて、第1のWEBサイトからソフトウェアオブジェクトをダウンロードしてもよい。あるいは、第1のWEBサイトから第2のWEBサイトへソフトウェアオブジェクトをコピー可能にし、顧客のリアルタイム制御装置6は、第2のWEBサイトにアップロードされた判定結果に基づいて、第2のWEBサイトからソフトウェアオブジェクトをダウンロード可能としてもよい。
また、以上の説明では第1のWEBサイトと第2のWEBサイトは異なるものとして説明したが、同一のWEBサイトであってもよい。ここで、WEBサイトとは、インターネットを介してソフトウェアオブジェクトをダウンロード可能に構成されたサイトであればよく、したがって、ハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol:HTTP)を利用するサイトに限定されるものではなく、ファイル転送プロトコル(File Transfer Protocol:FTP)などの通信プロトコルによってダウンロード可能に構成されたサイトであってもよい。
本発明に係る実施の形態において、リアルタイムシステムのためのコンピュータウィルス防御方法およびソフトウェア更新方法を適用することのできるシステムの全体概要を示す図である。 本発明に係る実施の形態におけるソフトウェアオブジェクトの検証手順を示すフローチャートである。 本発明に係る実施の形態における監視手順を示すフローチャートである。 本発明に係る実施の形態におけるタスクの実行の様子を説明するタイミング図である。 数値制御装置を実現するコンピュータシステムの構成図である。 本発明に係る実施の形態における数値制御装置の構成図である。 本発明に係る実施の形態においてプログラム解釈部の動作を示すフローチャートである。 本発明に係る実施の形態において関数発生部の動作を示すフローチャートである。 本発明に係る実施の形態においてタイミングマージン検出部の動作を示すフローチャートである。 本発明に係る実施の形態においてプログラム解釈監視部の動作を示すフローチャートである。
符号の説明
1 第1のWEBサイト、2 検証システム、3 検証用リアルタイム制御装置、4 監視コンピュータ、5 第2のWEBサイト、6 顧客のリアルタイム制御装置、7 管理者のコンピュータ、101 CPU、102 ROM、103 RAM、104 ハードディスク、105 PLC制御部、107 グラフィック表示制御部、109 表示装置、110 通信インターフェース部、111 操作パネルI/F部、112 操作パネル、203 プログラム解釈部、204 関数発生部、205 サーボ駆動部、206 サーボモータ、207 位置検出器、211 ソフトウェアオブジェクト検証制御部、212 タイミングマージン検出部、213 プログラム解釈監視部。

Claims (7)

  1. ンピュータシステムにより実現されるリアルタイム制御装置と同じリアルタイム制御を行う検証用リアルタイム制御装置と、第1のWEBサイトと、第2のWEBサイトと、がインターネットを介して接続されるリアルタイムシステムにおいて、ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトをリアルタイム制御装置に適用する前に検証するソフトウェアオブジェクト検証方法であって、
    前記検証用リアルタイム制御装置は、
    前記ソフトウェアオブジェクトを第1のWEBサイトよりダウンロードし、
    前記ソフトウェアオブジェクトを適用したコンピュータシステムによりリアルタイム制御に用いられる所定のリアルタイムタスクを一定時間ごとに動作させ、前記所定のリアルタイムタスクの動作のタイミングマージンが所定の値を下回らない場合に、前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定し、
    前記ソフトウェアオブジェクトは良好であると判定した場合、前記顧客が利用しているリアルタイム制御装置が前記ソフトウェアオブジェクトをダウンロードして前記顧客が利用しているリアルタイム制御装置のコンピュータシステムに適用することができるように前記ソフトウェアオブジェクトを第2のWEBサイトにアップロードし、
    前記ソフトウェアオブジェクトがウィルス検出ソフトウェアまたは検出パターンファイルまたはウィルス駆除ソフトウェアまたは前記ソフトウェアオブジェクトがコンピュータシステムの基本ソフトウェアを更新するための更新用ソフトウェアの中の少なくとも1つを含むこと、
    を特徴とするソフトウェアオブジェクト検証方法。
  2. ンピュータシステムにより実現されるリアルタイム制御装置と同じリアルタイム制御を行う検証用リアルタイム制御装置と、第1のWEBサイトと、第2のWEBサイトと、がインターネットを介して接続されるリアルタイムシステムにおいて、ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトをリアルタイム制御装置に適用する前に検証するソフトウェアオブジェクト検証方法であって、
    前記検証用リアルタイム制御装置は、
    前記ソフトウェアオブジェクトを第1のWEBサイトよりダウンロードし、
    前記ソフトウェアオブジェクトを適用したコンピュータシステムによりリアルタイム制御に用いられる所定のリアルタイムタスクを一定時間ごとに動作させ、前記所定のリアルタイムタスクの動作のタイミングマージンが所定の値を下回らない場合に、前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定し、
    前記ソフトウェアオブジェクトは良好であると判定した場合、前記顧客が利用しているリアルタイム制御装置が第2のWEBサイトにアップロードされた前記判定結果に基づいて前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードして前記顧客が利用しているリアルタイム制御装置のコンピュータシステムに適用することができるように前記判定結果を前記第2のWEBサイトにアップロードし、
    前記ソフトウェアオブジェクトがウィルス検出ソフトウェアまたは検出パターンファイルまたはウィルス駆除ソフトウェアまたは前記ソフトウェアオブジェクトがコンピュータシステムの基本ソフトウェアを更新するための更新用ソフトウェアの中の少なくとも1つを含むこと、
    を特徴とするソフトウェアオブジェクト検証方法。
  3. 請求項1に記載のソフトウェアオブジェクト検証方法において、
    前記リアルタイムシステムは、さらに、前記検証用リアルタイム制御装置に接続され、前記検証用リアルタイム制御装置の検証動作を監視する監視コンピュータと、インターネットを介して接続される管理者のコンピュータとを備え、
    前記監視コンピュータは、前記第1のWEBサイトに前記ソフトウェアオブジェクトがアップロードされた後、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードするまでの第1の時間、または、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードしてから前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定して前記ソフトウェアオブジェクトを前記第2のWEBサイトにアップロードするまでの第2の時間の少なくともいずれか一方の時間が所定のタイムアウト時間を経過した場合には、前記ソフトウェアオブジェクトは不適合ソフトウェアである旨のメールを管理者のコンピュータに対して発信すること、
    を特徴とするソフトウェアオブジェクト検証方法。
  4. 請求項2に記載のソフトウェアオブジェクト検証方法において、
    前記リアルタイムシステムは、さらに、前記検証用リアルタイム制御装置に接続され、前記検証用リアルタイム制御装置の検証動作を監視する監視コンピュータと、インターネットを介して接続される管理者のコンピュータとを備え、
    前記監視コンピュータは、前記第1のWEBサイトに前記ソフトウェアオブジェクトがアップロードされた後、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードするまでの第1の時間、または、前記検証用リアルタイム制御装置が前記ソフトウェアオブジェクトを前記第1のWEBサイトよりダウンロードしてから前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定して前記判定結果を前記第2のWEBサイトにアップロードするまでの第3の時間の少なくともいずれか一方の時間が所定のタイムアウト時間を経過した場合には、前記ソフトウェアオブジェクトは不適合ソフトウェアである旨のメールを管理者のコンピュータに対して発信すること、
    を特徴とするソフトウェアオブジェクト検証方法。
  5. 請求項1から4のいずれか1項に記載のソフトウェアオブジェクト検証方法において、
    記リアルタイム制御装置は数値制御装置であり、前記リアルタイム制御に用いられる前記所定のリアルタイムタスクが前記数値制御装置において実行される関数発生タスクであること、
    を特徴とするソフトウェアオブジェクト検証方法。
  6. 請求項5に記載のソフトウェアオブジェクト検証方法において、
    前記検証用リアルタイム制御装置は、さらに、
    前記ソフトウェアオブジェクトを適用したコンピュータシステムにより所定の加工プログラムを解釈するプログラム解釈タスクを非リアルタイムタスクとして動作させ、
    プログラム解釈が関数発生に対して間に合っており、かつ、前記関数発生タスクの動作のタイミングマージンが所定の値を下回らない場合に、前記第1のWEBサイトよりダウンロードした前記ソフトウェアオブジェクトは良好であると判定すること、
    を特徴とするソフトウェアオブジェクト検証方法。
  7. 請求項6に記載のソフトウェアオブジェクト検証方法において、
    前記検証用リアルタイム制御装置を実現するコンピュータシステムは、CPUを含み、
    前記所定の加工プログラムは、前記CPUの負荷が最大となるプログラムであること、
    を特徴とするソフトウェアオブジェクト検証方法。
JP2004209056A 2004-07-15 2004-07-15 リアルタイムシステムのためのソフトウェアオブジェクト検証方法 Expired - Lifetime JP4700301B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004209056A JP4700301B2 (ja) 2004-07-15 2004-07-15 リアルタイムシステムのためのソフトウェアオブジェクト検証方法
US11/175,541 US7673298B2 (en) 2004-07-15 2005-07-06 Software object verification method for real time system
DE102005032984A DE102005032984A1 (de) 2004-07-15 2005-07-14 Softwareobjekt-Verifizierverfahren für ein Echtzeitsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004209056A JP4700301B2 (ja) 2004-07-15 2004-07-15 リアルタイムシステムのためのソフトウェアオブジェクト検証方法

Publications (2)

Publication Number Publication Date
JP2006031389A JP2006031389A (ja) 2006-02-02
JP4700301B2 true JP4700301B2 (ja) 2011-06-15

Family

ID=35600740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004209056A Expired - Lifetime JP4700301B2 (ja) 2004-07-15 2004-07-15 リアルタイムシステムのためのソフトウェアオブジェクト検証方法

Country Status (3)

Country Link
US (1) US7673298B2 (ja)
JP (1) JP4700301B2 (ja)
DE (1) DE102005032984A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255896B2 (en) * 2008-04-01 2012-08-28 Honeywell International Inc. Network software normalization and installation in a fire detection system
JP2013523043A (ja) 2010-03-22 2013-06-13 エルアールディシー システムズ、エルエルシー ソースデータセットの完全性を識別及び保護する方法
JP2013020541A (ja) * 2011-07-13 2013-01-31 Mitsubishi Electric Building Techno Service Co Ltd ビル管理装置システムおよびその制御方法
US9852041B2 (en) 2013-09-27 2017-12-26 Microsoft Technology Licensing, Llc Systems and methods for categorizing exceptions and logs
US20150095892A1 (en) * 2013-09-27 2015-04-02 Linkedln Corporation Systems and methods for evaluating a change pertaining to a service or machine
CN105974190A (zh) * 2016-05-16 2016-09-28 福建联迪商用设备有限公司 一种防止pos机被改装、植入木马程序盗取信息的方法
US20180095929A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Scratchpad memory with bank tiling for localized and random data access
US10594555B2 (en) * 2016-12-16 2020-03-17 Intelligent Platforms, Llc Cloud-enabled testing of control systems
CN112835773B (zh) * 2019-11-25 2023-08-11 合肥欣奕华智能机器股份有限公司 一种操作系统中任务运行实时性的评估方法及装置
US11880670B2 (en) 2020-06-23 2024-01-23 Toyota Motor North America, Inc. Execution of transport software update
US11281450B2 (en) * 2020-06-23 2022-03-22 Toyota Motor North America, Inc. Secure transport software update

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63293610A (ja) * 1987-05-27 1988-11-30 Fanuc Ltd プログラム管理装置
JPH04373036A (ja) * 1991-06-24 1992-12-25 Toshiba Corp 計算機システムのソフトウェア試験装置
JP2001515618A (ja) * 1997-02-25 2001-09-18 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 処理時間をコントロールする方法および信号処理プロセッサ
JP2002288360A (ja) * 2001-03-27 2002-10-04 Hitachi Ltd ソフトウェア購入方法及びシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909544A (en) * 1995-08-23 1999-06-01 Novell Inc. Automated test harness
US5815571A (en) * 1996-10-28 1998-09-29 Finley; Phillip Scott Computer system with secured data paths and method of protection
US5974567A (en) * 1997-06-20 1999-10-26 Compaq Computer Corporation Ghost partition
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6633912B1 (en) * 1998-10-12 2003-10-14 Freshwater Software, Inc. System, method and apparatus for providing an enterprise portal
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US20020035696A1 (en) * 2000-06-09 2002-03-21 Will Thacker System and method for protecting a networked computer from viruses
US20020188941A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
US20030037327A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
US7113883B1 (en) * 2001-08-24 2006-09-26 Vi Technology, Inc. Test configuration and data management system and associated method for enterprise test operations
US7143391B1 (en) * 2002-12-11 2006-11-28 Oracle International Corporation Method and apparatus for globalization testing computer software
JP4417123B2 (ja) * 2003-02-19 2010-02-17 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63293610A (ja) * 1987-05-27 1988-11-30 Fanuc Ltd プログラム管理装置
JPH04373036A (ja) * 1991-06-24 1992-12-25 Toshiba Corp 計算機システムのソフトウェア試験装置
JP2001515618A (ja) * 1997-02-25 2001-09-18 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 処理時間をコントロールする方法および信号処理プロセッサ
JP2002288360A (ja) * 2001-03-27 2002-10-04 Hitachi Ltd ソフトウェア購入方法及びシステム

Also Published As

Publication number Publication date
US7673298B2 (en) 2010-03-02
JP2006031389A (ja) 2006-02-02
US20060015592A1 (en) 2006-01-19
DE102005032984A1 (de) 2006-03-23

Similar Documents

Publication Publication Date Title
JP4700301B2 (ja) リアルタイムシステムのためのソフトウェアオブジェクト検証方法
JP4945935B2 (ja) 自律運用管理システム、自律運用管理方法及びプログラム
JP2004192642A5 (ja)
CN106598594B (zh) 一种快速恢复测试程序的测试系统及方法
JP5942481B2 (ja) 運用作業管理システム、方法、及びプログラム
CN108762118B (zh) 一种通讯设备间的故障处理方法及装置
KR101626967B1 (ko) 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치
CN106502887A (zh) 一种稳定性测试方法、测试控制器及系统
CN105574410A (zh) 一种应用程序的安全检测方法及装置
JP2008003691A (ja) 計算機のプロセス回復方法、チェックポイントリスタートシステム
JP2016076072A (ja) 障害通報装置、障害通報方法及び障害通報プログラム
JP4533716B2 (ja) 障害メッセージに対する再警告発動システム
CN113672917A (zh) 恶意代码检测方法、装置、存储介质及电子设备
CN114461505A (zh) 一种告警功能恢复方法、装置、设备及介质
JP2010204916A (ja) 試験システム及び試験方法
JP6860599B2 (ja) 機械の制御装置
US8589354B1 (en) Probe based group selection
JP2005071171A (ja) バッチジョブ実行制御方法
JP2010003132A (ja) 情報処理装置、その入出力装置の故障検出方法及びプログラム
CN105677515A (zh) 一种数据库联机备份方法及系统
JP2009123108A (ja) 情報処理装置
CN114802665B (zh) 声学释放控制方法、装置、释放器及计算机存储介质
JP5997005B2 (ja) 情報処理装置、プロセスの正常終了判定方法およびプログラム
CN116541312B (zh) 一种汽车软件持续集成测试方法及系统
US8788462B1 (en) Multi-factor probe triggers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110128

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: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110304

R150 Certificate of patent or registration of utility model

Ref document number: 4700301

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term