JPWO2019207697A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JPWO2019207697A1
JPWO2019207697A1 JP2020515380A JP2020515380A JPWO2019207697A1 JP WO2019207697 A1 JPWO2019207697 A1 JP WO2019207697A1 JP 2020515380 A JP2020515380 A JP 2020515380A JP 2020515380 A JP2020515380 A JP 2020515380A JP WO2019207697 A1 JPWO2019207697 A1 JP WO2019207697A1
Authority
JP
Japan
Prior art keywords
safety
polynomial
calculation
master device
unit
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.)
Granted
Application number
JP2020515380A
Other languages
English (en)
Other versions
JP6727476B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6727476B2 publication Critical patent/JP6727476B2/ja
Publication of JPWO2019207697A1 publication Critical patent/JPWO2019207697A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

チェックサム交渉部(10005)は、安全マスタ装置(10)と安全スレーブ装置(20)との間の通信で用いられる生成多項式の候補を複数の多項式の中から候補多項式として選択する。通信周期検証部(10008)は、候補多項式を用いた計算が安全マスタ装置(10)及び安全スレーブ装置(20)の各々で規定の期限までに完了するか否かを判定する。通信周期検証部(10008)は、候補多項式を用いた計算が安全マスタ装置(10)及び安全スレーブ装置(20)の各々で期限までに完了すると判定された場合に、候補多項式を生成多項式に指定する。

Description

本発明は、生成多項式の指定に関する。
IEC(International Electrotechnical Commission)61784−3に基づく安全通信では、伝送路で生じるビットエラーなどに対する安全PDU(Protocol Data Unit)の完全性を、安全度水準に基づく要求値未満にする必要がある。完全性を確保するための代表的な安全対策として、CRC(Cyclic Redundancy Check)などのチェックサムが広く利用されている。
CRC計算は一般的に処理量が大きいため、一般的な通信ではハードウェアにより行われるが、安全通信ではソフトウェアにより行われるケースが多い。CRC計算がハードウェアにより行われるケースでは、IEC61508に基づくハードウェアの診断が必要であるため、処理負荷が増大する。この処理負荷の増大を避けるために、安全通信ではCRC計算がソフトウェアで行われることが多い。
CRCには、CRC−16やCRC−32のように次数の異なる複数のバリエーションがある。一般に次数の大きいCRC多項式ほどエラーの検出能力が高く、低い残存エラーレートを達成できるが、一方で計算量(時間または空間)が大きくなってしまう。
こうした計算量の問題は、計算リソースが潤沢な機器では問題になりにくいが、計算リソースが限られ、かつ、規定時間内に処理を完了しなければならない組込み機器では問題となる。
特許文献1の技術では、与えられたデータ長及びデータ種別に対して、未検出誤り率を最小とするようなCRC生成多項式が選択される。
このために、特許文献1の技術では、生成多項式の最大及び最小ハミング距離をあらゆる符号長に対して求めるステップと、送受信するデータのデータ長及びデータ種別に応じて、最小ハミング距離が最大となる生成多項式を選択するステップとが存在する。
特開2009−171539号公報
特許文献1の技術では、未検出誤り率の最小化のみが考慮されている。このため、計算リソースが限られた条件下では、安全通信において求められる安全応答時間内に必要な処理を完了することができないという課題がある。なお、安全応答時間は、例えば安全センサなどでの検知が発生してから、制御対象のアクチュエータなどを安全状態に遷移させるまでの時間である。安全応答時間の要求値は、システム構成を踏まえて決定される。また、安全応答時間の構成要素の一つに安全通信周期がある。
一般的に、CRC多項式の未検出誤り率を低くするためには、次数の大きい多項式が必要である。次数の大きい多項式が用いられると、CRC算出に必要な計算量が大きくなり、安全通信周期の制約を満たしにくくなる。そこで、マージンをもって小さめに設定されている安全通信周期を、マージンの範囲内で大きく設定することが考えられる。しかし、この方法では通信エラーによって安全PDUが規定時間内に送受信されない確率が増す。このため、システムが必要以上に安全状態に遷移してしまい、システムの可用性が低下してしまう問題が生じる。
本発明は、このような事情に鑑み、計算リソースが限られた条件下でも規定の期限までに計算を完了させることができる多項式を指定することができる構成を得ることを主な目的とする。
本発明に係る情報処理装置は、
マスタ装置とスレーブ装置との間の通信で用いられる生成多項式の候補を複数の多項式の中から候補多項式として選択する選択部と、
前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で規定の期限までに完了するか否かを判定する判定部と、
前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記期限までに完了すると前記判定部により判定された場合に、前記候補多項式を前記生成多項式に指定する指定部とを有する。
本発明によれば、計算リソースが限られた条件下でも規定の期限までに計算を完了させることができる多項式を指定することができる。
実施の形態1に係る安全通信システムの構成例を示す図。 実施の形態1に係る安全マスタ装置のハードウェア構成例を示す図。 実施の形態1に係る安全スレーブ装置のハードウェア構成例を示す図。 実施の形態1に係る安全マスタ装置の機能構成例を示す図。 実施の形態1に係る安全スレーブ装置の機能構成例を示す図。 実施の形態1に係る安全コネクションを確立する処理を示すフローチャート。 実施の形態1に係る安全コネクションを確立する処理を示すフローチャート。 実施の形態1に係る安全コネクションを確立する処理を示すフローチャート。 実施の形態1に係るCRC多項式テーブルの例を示す図。 実施の形態2に係る安全コネクションを確立する処理を示すフローチャート。 実施の形態2に係る計算能力情報の例を示す図。 実施の形態3に係るCRC多項式テーブルの例を示す図。 実施の形態4に係る情報処理装置のハードウェア構成例を示す図。 実施の形態4に係る情報処理装置の機能構成例を示す図。 実施の形態4に係る情報処理装置の動作例を示すフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
実施の形態1.
***概要***
本実施の形態では、安全通信に必要なCRC計算の処理量の削減を、安価な組込み機器で実現可能する構成を説明する。具体的には、本実施の形態では、規格で要求される残存エラーレートと、システムに要求される安全通信周期とを両立できる最適なCRC多項式の選択を、計算リソースが限られているマイクロコンピュータで実現できる構成を説明する。
安全規格で要求される残存エラーレートについては、国際規格であるIEC61784−3において、下記によって定まる残存エラーレートが、目標とする安全度水準ごとに定められた要求値未満となることが求められている(括弧内に各値と残存エラーレートとの関係を示す)。
・安全PDUのサイズn(サイズnが小さいほど残存エラーレートは低い)
・安全PDUの時間あたり送信レートv(送信レートvが小さいほど残存エラーレートは低い)
・ビットエラー検出に使用するチェックサム生成用多項式の最小ハミング距離hd(最小ハミング距離hdが大きいほど残存エラーレートは低い)
・想定する伝送路のビットエラー率P(ビットエラー率Pが小さいほど残存エラーレートは低い)
安全通信周期は、許容される応答時間に基づいて設定される。システムに要求される安全応答時間から、許容される応答時間が定まる。そして、許容される応答時間に基づいて、ユーザが安全通信周期を設定する。安全通信では、規定の時間(以下、tと呼ぶ)内に破損のない正常な安全PDUが受信されなければ、機器を停止させるといった安全状態に遷移する。ビットエラー等により頻繁に安全状態に遷移することを避けるために、t内に複数の安全PDUを受信するよう、安全通信周期Tsafetyにマージンを持たせ、安全通信周期Tsafetyとして、tよりも数倍小さい値を設定することが多い。
本実施の形態では、伝送路の性能に応じて、システムの可用性を損なわない範囲で、安全通信周期を延長する。安全通信周期を延長するか否かの基準となる式の例を以下に記載する。
以下の式は、規定の時間t内に1以上の安全PDUが送信されること(式1)と、安全PDUの異常による安全停止の発生レートが要求値を下回らないこと(式2)を表す。
本実施の形態では、以下の2つの式の両方を満たす範囲で、安全通信周期が緩和(延長)される。
Figure 2019207697
・Tsafety:安全通信周期
・t:正常な安全PDUの受信間隔の要求値
・Pfault:安全PDUに発生する異常の発生確率
・ν:安全PDU送信レート
・Rfault:安全PDUの異常による安全停止発生レートの要求値
***構成の説明***
図1は、本実施の形態に係る安全通信システムの構成例を示す。
本実施の形態に係る安全通信システムは、1つまたは複数の安全マスタ装置10と、1つまたは複数の安全スレーブ装置20と、安全マスタ装置10と安全スレーブ装置20とを接続するネットワーク30から構成される。
安全マスタ装置10と安全スレーブ装置20とが、1対1の安全コネクション(安全通信に用いる論理的なコネクション)を作成し、安全通信を行う。安全マスタ装置10と安全スレーブ装置20は、それぞれ、例えば組込み機器である。
安全マスタ装置10は、安全スレーブ装置20を管理する。
安全スレーブ装置20は、例えば、安全センサに接続されている。また、安全スレーブ装置20は、例えば、アクチュエータを制御する。
安全スレーブ装置20は、安全通信において安全センサのセンサ値を安全マスタ装置10に通知する。また、安全マスタ装置10は、例えば、安全センサのセンサ値に基づき、安全通信においてアクチュエータの制御値を安全スレーブ装置20に通知する。そして、安全スレーブ装置20は、安全マスタ装置10から通知された制御値を用いてアクチュエータを制御する。以上の処理手順が安全応答時間内に完了している必要がある。
図1では、1対の安全マスタ装置10と安全スレーブ装置20が示されているが、前述のように、安全通信システムに含まれる安全マスタ装置10と安全スレーブ装置20の数は、図1の例に限定されない。
安全マスタ装置10は、マスタ装置に相当する。また、安全スレーブ装置20に相当する。
図2は、安全マスタ装置10のハードウェア構成例を示す。
安全マスタ装置10は、プロセッサ101、メモリ102、フィールド通信インタフェース104及びこれらを接続するバス105を備える。
安全マスタ装置10は、コンピュータである。
プロセッサ101は、メモリ102上に展開された通信処理プログラムである安全通信層を実行することで、バス105およびフィールド通信インタフェース104を介して、対向する安全スレーブ装置20と安全通信を行う。
図3は、安全スレーブ装置20のハードウェア構成例を示す。
安全スレーブ装置20は、プロセッサ201、メモリ202、入出力インタフェース203、フィールド通信インタフェース204及びこれらを接続するバス205を備える。
安全スレーブ装置20は、コンピュータである。
プロセッサ201は、メモリ202上に展開された通信処理プログラムである安全通信層を実行することで、バス205およびフィールド通信インタフェース204を介して、対向する安全マスタ装置10と安全通信を行う。
図3に示すように、安全スレーブ装置20は、デバイス制御を行うための入出力インタフェース203を備える。例えば、安全スレーブ装置20は、入出力インタフェース203を介してアクチュエータを制御する。
図4は、安全マスタ装置10の機能構成例を示す。
安全マスタ装置10は、安全通信層1000とフィールドバスアプリケーション層1001で構成される。
安全通信層1000とフィールドバスアプリケーション層1001はプログラムで実現される。
安全通信層1000は、フィールドバスアプリケーション層1001を介して、対向する安全スレーブ装置20の後述する安全通信層2000と通信する。
安全通信層1000には、安全アプリケーションインタフェース部10001、安全コネクション確立処理部10002、安全PDU生成部10003、安全PDU検査部10004、チェックサム交渉部10005、安全パラメータ管理部10007及び通信周期検証部10008が含まれる。
チェックサム交渉部10005、通信周期検証部10008以外の要素は、一般的な安全通信で用いられる要素と同様である。
より具体的には、安全PDU生成部10003は、安全アプリケーションインタフェース部10001又は安全コネクション確立処理部10002からの要求に応じて、安全PDUを生成する。
安全PDU検査部10004は、安全アプリケーションインタフェース部10001又は安全コネクション確立処理部10002宛ての安全PDUをフィールドバスアプリケーション層1001を介して受信し、受信した安全PDUを検査する。
安全アプリケーションインタフェース部10001は、送受信する安全PDUをユーザアプリケーションに受け渡しする。
安全コネクション確立処理部10002は、安全コネクションが切断された状態から、あらかじめ決められた通信シーケンスで、安全スレーブ装置20の後述する安全通信層2000との間で安全コネクションを確立する処理を行う。
安全パラメータ管理部10007は、安全マスタ装置10及び安全スレーブ装置20の、安全通信に使用する安全パラメータを保管する。安全マスタ装置10の安全パラメータとしては、少なくとも下記が必要である。
(1)システムとしての安全度水準の要求値
(2)安全スレーブ装置20ごとの下記の値:
(A)安全通信周期(安全PDU送信レートから逆算可能)
(B)安全データサイズ
(C)使用すべき多項式の識別情報
(D)伝送路のビットエラー率(特に証明済みの値がある場合のみ)
チェックサム交渉部10005は、安全コネクションを確立する処理において、安全通信に使用するCRC多項式、送信間隔および安全PDUの構造等を、対向する安全スレーブ装置20の安全通信層2000との間で調整し、決定する。
また、チェックサム交渉部10005は、安全マスタ装置10と安全スレーブ装置20との間の通信で用いられる生成多項式の候補を複数のCRC多項式の中から選択する。より具体的には、チェックサム交渉部10005は、複数のCRC多項式の中から次数が最大のCRC多項式を選択する。以降、チェックサム交渉部10005により選択されるCRC多項式を仮選択多項式と呼ぶ。仮選択多項式は、候補多項式に相当する。
また、チェックサム交渉部10005は、仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了すると判定された場合に、仮選択多項式を安全マスタ装置10と安全スレーブ装置20との通信で用いる生成多項式に指定する。
チェックサム交渉部10005は、選択部、判定部及び指定部に相当する。また、チェックサム交渉部10005により行われる処理は選択処理、判定処理及び指定処理に相当する。
チェックサム交渉部10005の動作の詳細は後述する。
通信周期検証部10008は、チェックサム交渉部10005からの指示により、チェックサム交渉部10005が選択した仮選択多項式を用いての安全PDUの生成処理及び検査処理が、安全パラメータにて規定された安全通信周期内に完了するか否かの検証を行う。つまり、通信周期検証部10008は、仮選択多項式を用いた計算が安全マスタ装置10で規定の期限(安全通信周期の終期)までに完了するか否かを判定する。なお、上記の安全PDUの生成処理とは、CRCの生成を含む、安全スレーブ装置20に送信する安全PDUを生成する処理である。上記の安全PDUの検査処理とは、安全スレーブ装置20から受信した安全PDUに対するCRCによる検査を行う処理である。
通信周期検証部10008は、実際の処理動作を模擬して処理時間を計測して、仮選択多項式を用いての安全PDUの生成処理及び検査処理が安全通信周期内に完了するか否かの検証を行うことができる。また、通信周期検証部10008は、事前に定量化した算出式を用いて、仮選択多項式を用いての安全PDUの生成処理及び検査処理が安全通信周期内に完了するか否かの検証を行うことができる。
検証の方法として様々な方法が考えられるが、本実施の形態では、通信周期検証部10008は、既存技術を適用して検証を行うものとし、検証方法の詳細は説明しない。
また、通信周期検証部10008は、チェックサム交渉部10005及び後述する安全スレーブ装置20の通信周期検証部20008とともに、判定部に相当する。また、通信周期検証部10008により行われる処理は、チェックサム交渉部10005により行われる処理及び後述する安全スレーブ装置20の通信周期検証部20008により行われる処理とともに、判定処理に相当する。
図4では、プロセッサ101が安全通信層1000及びフィールドバスアプリケーション層1001の機能を実現するプログラムを実行している状態を模式的に表している。
また、本実施の形態では、チェックサム交渉部10005、通信周期検証部10008と、安全スレーブ装置20の通信周期検証部20008とが、本願の情報処理装置を構成する。
図5は、安全スレーブ装置20の機能構成例を示す。
安全スレーブ装置20は、安全通信層2000とフィールドバスアプリケーション層2001で構成される。
安全通信層2000とフィールドバスアプリケーション層2001はプログラムで実現される。
安全通信層2000は、フィールドバスアプリケーション層2001を介して、対向する安全マスタ装置10の安全通信層1000と通信する。
安全通信層2000には、安全アプリケーションインタフェース部20001、安全コネクション確立処理部20002、安全PDU生成部20003、安全PDU検査部20004、チェックサム交渉部20005、安全パラメータ管理部20007及び通信周期検証部20008が含まれる。
安全通信層2000の構成は、安全通信層1000と同様である。
安全コネクション確立処理部20002及びチェックサム交渉部20005は、安全マスタ装置10に対向して通信を行うため、安全コネクション確立処理部10002及びチェックサム交渉部10005とは処理の流れが異なる。
安全通信層2000と安全通信層1000における、これら以外の差分を以下に記載する。
安全パラメータ管理部20007は、安全スレーブ装置20に必要な安全パラメータを保持する。
安全パラメータ管理部20007が保持する安全パラメータは以下の通りである。
(1)安全マスタ装置10についての下記の値:
(A)安全通信周期(安全PDU送信レートから逆算可能)
(B)安全データサイズ
(C)使用すべき多項式の識別情報
通信周期検証部20008は、チェックサム交渉部20005からの指示により、チェックサム交渉部10005が選択した仮選択多項式を用いての安全PDUの生成処理及び検査処理が、安全パラメータにて規定された安全通信周期内に完了するか否かの検証を行う。つまり、通信周期検証部20008は、選択された仮選択多項式を用いた計算が安全スレーブ装置20で規定の期限(安全通信周期の終期)までに完了するか否かを判定する。なお、上記の安全PDUの生成処理とは、CRCの生成を含む、安全マスタ装置10に送信する安全PDUを生成する処理である。上記の安全PDUの検査処理とは、安全マスタ装置10から受信したPDUに対するCRCによる検査を行う処理である。
安全スレーブ装置20は、一般的に作成する安全コネクション数が少ないため安全通信による負荷は小さいが、計算リソースも限られているため、上記の検証が必要である。
また、チェックサム交渉部10005で選択された仮選択多項式が安全スレーブ装置20ではサポートされていない可能性もある。このため、通信周期検証部20008は、安全通信周期についての検証を行う前に、仮選択多項式が安全スレーブ装置20でサポートされているか否かを検証する。
安全通信周期についての検証の方法については、安全マスタ装置10の通信周期検証部10008と同様に、既存手法を適用するものとして、詳細は説明しない。
前述したように、通信周期検証部20008は、チェックサム交渉部10005及び通信周期検証部10008とともに、判定部に相当する。また、通信周期検証部20008により行われる処理は、チェックサム交渉部10005により行われる処理及び通信周期検証部10008により行われる処理とともに、判定処理に相当する。
***動作の説明***
図6、図7及び図8は、本実施の形態に係る安全コネクションを確立する処理を示すフローチャートである。
図6、図7及び図8に示す処理は、本願の情報処理方法及び情報処理プログラムの処理に相当する。
ステップS001において、安全コネクションの確立を主導する安全マスタ装置10のチェックサム交渉部10005が、安全パラメータをもとに、CRC多項式の候補を仮選択する。
安全マスタ装置10では、例えば、図9に示すCRC多項式テーブルにおいて、複数のCRC多項式を管理している。図9のCRC多項式テーブルでは、CRC多項式ごとに、次数、最小ハミング距離及び分布係数が示される。図9のCRC多項式テーブルを用いることにより、特定のフレーム長及びビットエラー率の条件下で残存エラー率が算出することができる。
チェックサム交渉部10005は、ステップS001において、例えば、残存エラーレートにマージンをもたせるため、最大の次数のCRC多項式を選択することが考えられる。
ステップS002では、通信周期検証部10008が、仮選択多項式を用いたCRC計算が安全マスタ装置10において安全通信周期内に完了するか否かを検証する。
このとき、通信周期検証部10008は、安全マスタ装置10として実行すべき処理全体を考慮して、チェックサムの生成を含む当該安全コネクションの安全PDUの生成処理及び検査処理が、設定された安全通信周期内に完了するか否かを検証する。
前述したように、通信周期検証部10008は、安全マスタ装置10の全体としての処理を考慮して生成された算出式を用いて当該検証を行うことができる。また、通信周期検証部10008は、シミュレーションを行って当該検証を行うこともできる。更に、通信周期検証部10008は、実際の処理動作を模擬して処理時間を計測して当該検証を行うこともできる。通信周期検証部10008は、既存のいずれかの検証方法を用いて当該検証を行うことができる。
仮選択多項式を用いたCRC計算が安全通信周期内に完了する場合(ステップS003でYES)は、処理はステップS004に遷移する。一方、仮選択多項式を用いたCRC計算が安全通信周期内に完了しない場合(ステップS003でNO)は、処理はステップS008に遷移する。
ステップS004では、チェックサム交渉部10005が、仮選択多項式を使用可能か否かについて、安全コネクションを作成する対向する安全スレーブ装置20と交渉する。
具体的には、チェックサム交渉部10005が、仮選択多項式の識別情報を含むメッセージを、安全スレーブ装置20へ送信する。
ステップS004は、安全マスタ装置10と安全コネクションを確立する全ての安全スレーブ装置20について行われる。
安全スレーブ装置20では、チェックサム交渉部20005がメッセージを受信する。そして、チェックサム交渉部20005は、通信周期検証部20008に仮選択多項式の検証を指示する。
通信周期検証部20008は、チェックサム交渉部20005の指示に従い、仮選択多項式の検証を行う。具体的には、通信周期検証部20008は、安全スレーブ装置20が仮選択多項式を用いたCRC算出をサポートしているか否かを検証する。
安全スレーブ装置20が仮選択多項式を用いたCRC算出をサポートしている場合は、通信周期検証部20008は、仮選択多項式を用いての安全PDUの生成処理及び検査処理が、安全スレーブ装置20において安全通信周期内に完了するか否かを、他の処理の影響も考慮して検証する。
チェックサム交渉部20005は、上記の2つの検証の両方で問題がなければ、安全マスタ装置10に「合意」の旨の応答メッセージを送信する。一方、上記の2つの検証のうちの少なくともいずれか一方で問題があれば、チェックサム交渉部20005は、安全マスタ装置10に「合意不成立」の旨の応答メッセージを送信する。
ステップS005では、チェックサム交渉部10005は、安全スレーブ装置20からの応答メッセージを確認し、全ての安全コネクションについて「合意」の旨の応答メッセージを受信している場合(ステップS005でYES)は、処理がステップS006に遷移する。一方、「合意不成立」の旨の応答メッセージを受信している場合(ステップS005でNO)は、処理がステップS008に遷移する。
ステップS006では、チェックサム交渉部10005が、仮選択多項式を、安全マスタ装置10と全ての安全スレーブ装置20との通信で用いる生成多項式に指定する。
そして、チェックサム交渉部10005は、全ての安全スレーブ装置20のチェックサム交渉部20005に、生成多項式として指定した仮選定多項式を安全通信に用いることを通知するメッセージを送信する。
ステップS007では、安全マスタ装置10の安全コネクション確立処理部1002及び安全スレーブ装置20の安全コネクション確立処理部2002が安全コネクションを確立し、以後、ステップS006で指定された生成多項式を用いた安全通信が行われる。
下記のステップS008〜S010は、仮選択多項式を用いたCRC計算が安全通信周期内に完了できないと判明した場合に、仮選択多項式の変更を検討するフェーズである。
ステップS008では、チェックサム交渉部10005が、当該仮選択多項式よりも次数の小さいCRC多項式の適用時における、安全コネクションごとの残存エラーレートΛSC(P)を算出する。チェックサム交渉部10005は、安全通信の国際規格で規定された算出方法を使って残存エラーレートΛSC(P)を算出する。本実施の形態では、残存エラーレートΛSC(P)の具体的な算出方法の説明は省略する。チェックサム交渉部10005は、算出に必要な安全通信周期、ビットエラー率などの値に、安全パラメータの値を使用する。
なお、ステップS008及び以降のステップで、新たな仮選択多項式及び正式な生成多項式は、全ての安全コネクションで同じである必要はない。
ステップS009では、チェックサム交渉部10005は、上記のステップS008で得られた残存エラーレートΛSC(P)が要求値を満たすか否かを判定する。本実施の形態では、この要求値は、安全通信の国際規格で規定された要求値である。このため、本実施の形態では、要求値の具体的な値には言及しない。
残存エラーレートΛSC(P)が要求値を満たす場合(ステップS009でYES)、つまり、次数の小さいCRC多項式に変更しても安全度水準の要求値を満たす場合は、処理がステップS010へ遷移する。一方、残存エラーレートΛSC(P)が要求値を満たさない場合(ステップS009でNO)は、処理がS011へ遷移する。
ステップS010では、チェックサム交渉部10005は、現在の仮選択多項式よりも次数が小さく、かつ残存エラーレートΛSC(P)の値が要求値を満たすCRC多項式を、新たな仮選択多項式として選択する。
その後、新たな仮選択多項式に対してステップS002以降の処理が行われる。つまり、新たな仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了するか否かが検証される。
下記のステップS011〜S013は、安全通信周期の延長を検討するフェーズである。
具体的には、仮選択多項式を用いた計算が安全通信周期内に完了しない場合(ステップS003でNO)、または、いずれかの安全スレーブ装置20から「合意不成立」との応答メッセージを受信した場合(ステップS005でNO)であって、残存エラーレートΛSC(P)が要求値を満たす次数が小さいCRC多項式が存在しない場合(ステップS009でNO)に、ステップS011〜S013において、安全通信周期の延長が検討される。
ステップS011では、チェックサム交渉部10005が、安全コネクションごとに、安全通信周期を延長できるか否かを判定する。つまり、チェックサム交渉部1005は、仮に安全コネクションの安全通信周期を延長しても、必要な安全応答時間、可用性を維持できるか否かを判定する。
チェックサム交渉部10005は、具体的には、前述の(式1)及び(式2)を適用して、安全通信周期の延長が可能であるか否かを判定する。
安全通信周期を延長できる安全コネクションがある場合(ステップS011でYES)は、処理がS012へ遷移する。一方、安全通信周期を延長できる安全コネクションがない場合(ステップS011でNO)は、処理がS014へ遷移する。
ステップS012では、チェックサム交渉部10005が、安全通信周期の延長可能な割合のマージンが最大である安全コネクションを選択する。
ステップS013では、チェックサム交渉部10005が、ステップS012で選択した安全コネクションについて、安全通信周期の延長又はデータフレームの分割を実施する。
チェックサム交渉部10005は、前述の(式1)、(式2)の範囲で安全通信周期を延長することができる。
チェックサム交渉部10005は、ステップS012で選択された安全コネクションの現在の仮選択多項式を新たな仮選択多項式として選択する。そして、当該新たな仮選択多項式について延長された安全通信周期を用いてステップS002以降の処理が行われる。つまり、新たな仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で、延長された安全通信周期内に完了するか否かが検証される。
また、データフレームを分割することで計算時間が短縮される。つまり、チェックサム交渉部10005は、データフレームの分割により、個々のデータフレームのフレーム長を短くし、分割により得られた分割データフレームの全てが通信先に到着するまでの実質的な間隔を長くする。これにより、次数の小さいCRC多項式を使用することが可能になり、計算時間を短縮することができる。
チェックサム交渉部10005は、ステップS012で選択された安全コネクションの現在の仮選択多項式を新たな仮選択多項式として選択する。そして、分割データフレームに対して当該新たな仮選択多項式が用いられてステップS002以降の処理が行われる。つまり、分割データフレームに対する新たな仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了するか否かが検証される。
ステップS014では、安全マスタ装置10又は安全スレーブ装置20の処理性能上、実現不可能な安全通信設定がなされていることが判明する。このため、チェックサム交渉部10005は、安全コネクションの確立ができないと判定し、その旨を安全マスタ装置10のユーザに通知する。
***実施の形態の効果の説明***
以上、本実施の形態では、仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了するか否かが判定される。そして、仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了する場合に、仮選択多項式が生成多項式に指定される。このため、本実施の形態によれば、計算リソースが限られた条件下でも安全通信周期内にCRC計算を完了させることができる生成多項式を指定することができる。
実施の形態2.
実施の形態1では、安全マスタ装置10が安全スレーブ装置20に仮選択多項式を用いた計算が安全通信周期内に完了するか否かを判定させて、生成多項式を指定している。
本実施の形態では、安全マスタ装置10が仮選択多項式を用いた計算が安全スレーブ装置20で安全通信周期内に完了するか否かを判定する例を説明する。より具体的には、本実施の形態では、安全マスタ装置10が安全スレーブ装置20から、安全スレーブ装置20の計算能力に関する情報(以下、計算能力情報)を取得し、安全スレーブ装置20の計算能力情報に基づいて、安全スレーブ装置20で仮選択多項式を用いた計算が安全通信周期内に完了するか否かを判定する。
***構成の説明***
本実施の形態に係る安全通信システムの構成例は図1に示す通りである。
また、本実施の形態に係る安全マスタ装置10のハードウェア構成例は図2に示す通りである。
また、本実施の形態に係る安全スレーブ装置20のハードウェア構成例は図3に示す通りである。
また、本実施の形態に係る安全マスタ装置10の機能構成例は図4に示す通りである。
また、本実施の形態に係る安全スレーブ装置20の機能構成例は図5に示す通りである。
なお、実施の形態1では、チェックサム交渉部10005、通信周期検証部10008及び通信周期検証部20008が判定部に相当していたが、本実施の形態では、チェックサム交渉部10005及び通信周期検証部10008のみが判定部に相当する。また、実施の形態1では、チェックサム交渉部10005、通信周期検証部10008及び通信周期検証部20008が情報処理装置を構成するとしていたが、本実施の形態では、チェックサム交渉部10005及び通信周期検証部10008が情報処理装置を構成する。
***動作の説明***
本実施の形態に係る安全コネクションを確立する処理は、図10に示す通りである。図10において、図6と同じ符号の処理は図6に示すものと同じである。以下では、主に実施の形態1との差分を説明する。以下で説明していない事項は、実施の形態1と同じである。
図10に示す処理は、本願の情報処理方法及び情報処理プログラムの処理に相当する。
ステップS021では、安全マスタ装置10のチェックサム交渉部10005が、安全通信を行う全ての安全スレーブ装置20に対して、CRC多項式ごとの計算能力情報の送信を要求する。
各安全スレーブ装置20のチェックサム交渉部20005は、通信周期検証部20008に計算能力情報の生成を指示する。通信周期検証部20008は、計算能力情報を生成し、生成した計算能力情報を安全マスタ装置10に送信する。計算能力情報は、各CRC多項式を適用した場合に安全スレーブ装置20が実現可能な通信周期を表す情報である。図11は、計算能力情報の例を示す。計算能力は、安全スレーブ装置20が安全通信システムにおいて実行すべき処理に応じて変動するため、図11に示す「実現可能な通信周期」は必ずしも固定値ではない。
ステップS022では、安全マスタ装置10のチェックサム交渉部1005が、安全スレーブ装置20から計算能力情報を受信する。
ステップS001では、チェックサム交渉部10005が、CRC多項式の候補を仮選択する。チェックサム交渉部10005は、実施の形態1と同様に、例えば、最大の次数のCRC多項式を選択する。
ステップS002では、実施の形態1と同様に、通信周期検証部10008が、仮選択多項式を用いたCRC計算が安全マスタ装置10において安全通信周期内に完了するか否かを検証する。
仮選択多項式を用いたCRC計算が安全通信周期内に完了する場合(ステップS003でYES)は、処理はステップS023に遷移する。一方、仮選択多項式を用いたCRC計算が安全通信周期内に完了しない場合(ステップS003でNO)は、処理はステップS008に遷移する。ステップS008以降の処理は実施の形態1で説明した通りなので、説明を省略する。
ステップS023では、通信周期検証部10008が、ステップS022で受信した計算能力情報に基づき、仮選択多項式を用いたCRC計算が安全スレーブ装置20において安全通信周期内に完了するか否かを検証する。
ステップS023は、安全マスタ装置10と安全コネクションを確立する全ての安全スレーブ装置20について行われる。
仮選択多項式を用いたCRC計算が安全通信周期内に完了する場合(ステップS0024でYES)は、処理はステップS006に遷移する。一方、仮選択多項式を用いたCRC計算が安全通信周期内に完了しない場合(ステップS024でNO)は、処理はステップS008に遷移する。ステップS006以降の処理及びステップS008以降の処理は実施の形態1で説明した通りなので、説明を省略する。
***実施の形態の効果の説明***
本実施の形態では、安全マスタ装置10が、安全スレーブ装置20でのCRC計算が安全通信周期内に完了するか否かを検証する。つまり、安全スレーブ装置20の計算リソースを用いることなく、安全スレーブ装置20でのCRC計算が安全通信周期内に完了するか否かの検証が行われる。このため、本実施の形態によれば、安全スレーブ装置20の計算リソースが限られていても、安全通信周期内にCRC計算を完了させることができる生成多項式を指定することができる。
実施の形態3.
実施の形態1及び実施の形態2では、安全マスタ装置10では、図9のCRC多項式テーブルに示すように、単一のCRC多項式が仮選択多項式の選択肢として管理されている。
本実施の形態では、図12のCRC多項式テーブルに示すように、複数のCRC多項式の組合せを、仮選択多項式の選択肢として管理する。つまり、本実施の形態では、1つの安全PDUに異なる複数のチェックサムを付与する。
安全通信層1000が動作するハードウェア及び安全通信層2000が動作するハードウェアが多重化されている場合は、チェックサムを並列に算出することができる。このため、次数の大きいCRC多項式で生成した1つのチェックサムを安全PDUに付与するよりも、次数の小さいCRC多項式で生成した複数個のチェックサムを安全PDUに付与することが望ましいと考えられる。つまり、次数の小さいCRC多項式で生成した複数個のチェックサムを安全PDUに付与する場合は、次数の大きいCRC多項式で生成した1つのチェックサムを安全PDUに付与する場合と同等の残存エラーレートを担保しつつ計算時間を短縮することができる。そこで、図12のようにCRC多項式テーブルを拡張して、仮選択多項式の選択肢を増やすことが考えられる。
実施の形態4.
実施の形態1では、安全マスタ装置10が安全コネクションの確立時に図6〜図8に示す処理を行って、生成多項式を指定する。
しかしながら、図6〜図8に示す処理の結果は、安全通信システムの構成、安全パラメータ及びネットワーク30の条件に変化が無ければ、毎回同じ結果になる。従って、安全通信システムの構成、安全パラメータ及びネットワーク30の条件に対して、図6〜図8に示す処理を行って安全コネクションごとに生成多項式を予め指定しておけば、安全コネクションの確立の度に図6〜図8に示す処理を繰り返す必要はない。
本実施の形態では、安全マスタ装置10とは異なる情報処理装置が、図6〜図8に示す処理を行って生成多項式を予め指定する例を説明する。
そして、情報処理装置が、指定した生成多項式を安全マスタ装置10に通知する。安全マスタ装置10は、情報処理装置から通知された生成多項式を安全通信に適用する。
***構成の説明***
図13は、本実施の形態に係る情報処理装置50のハードウェア構成例を示す。
情報処理装置50は、プロセッサ501、メモリ502、通信インタフェース503及びこれらを接続するバス504を備える。
情報処理装置50は、コンピュータである。
プロセッサ501は、メモリ102上に展開された、後述する選択部5001、判定部5002及び指定部50003を実行する。
選択部5001、判定部5002及び指定部50003は、例えば、プログラムで実現される。
通信インタフェース503は、指定された生成多項式を安全マスタ装置10に通知する。
図14は、情報処理装置50の機能構成例を示す。
情報処理装置50は、選択部5001、判定部5002及び指定部5003で構成される。
図14では、プロセッサ501が選択部5001、判定部5002及び指定部50003の機能を実現するプログラムを実行している状態を模式的に表している。
選択部5001は、安全マスタ装置10と安全スレーブ装置20との間の通信で用いられる生成多項式の候補を複数のCRC多項式の中から選択する。本実施の形態でも、選択部5001により選択されたCRC多項式を仮選択多項式という。
選択部5001により行われる処理は、選択処理に相当する。
判定部5002は、仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了するか否かを判定する。
判定部5002は、例えば、図11に示す計算能力情報を安全マスタ装置10及び各安全スレーブ装置20について保持している。そして、判定部5002は、計算能力情報を用いて、仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了するか否かを判定する。
判定部5002により行われる処理は、判定処理に相当する。
指定部5003は、仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期までに完了すると判定部5002により判定された場合に、仮選択多項式を生成多項式に指定する。
また、指定部5003は、通信インタフェース503を介して、指定した生成多項式を安全マスタ装置10に通知する。
指定部5003により行われる処理は、指定処理に相当する。
***動作の説明***
図15は、本実施の形態に係る情報処理装置500の動作例を示す。
図15に示す処理は、本願の情報処理方法及び情報処理プログラムの処理に相当する。
ステップS041では、選択部5001が、CRC多項式の候補を仮選択する。選択部5001は、実施の形態1のステップS001と同様に、例えば、最大の次数のCRC多項式を選択する。
ステップS042では、判定部5002が、安全マスタ装置10についての計算能力情報に基づき、仮選択多項式を用いたCRC計算が安全マスタ装置10において安全通信周期内に完了するか否かを検証する。
仮選択多項式を用いたCRC計算が安全マスタ装置10において安全通信周期内に完了する場合(ステップS043でYES)は、処理はステップS044に遷移する。一方、仮選択多項式を用いたCRC計算が安全通信周期内に完了しない場合(ステップS043でNO)は、処理は図7のステップS008に遷移する。
ステップS044では、判定部5002が、安全スレーブ装置20についての計算能力情報に基づき、仮選択多項式を用いたCRC計算が安全スレーブ装置20において安全通信周期内に完了するか否かを検証する。
ステップS044は、安全マスタ装置10と安全コネクションを確立する全ての安全スレーブ装置20について行われる。
仮選択多項式を用いたCRC計算が全ての安全スレーブ装置20において安全通信周期内に完了する場合(ステップS0045でYES)は、処理はステップS046に遷移する。一方、いずれかの安全スレーブ装置20にて仮選択多項式を用いたCRC計算が安全通信周期内に完了しない場合(ステップS045でNO)は、処理は図7のステップS008に遷移する。
ステップS046では、指定部5003が、仮選択多項式を、安全マスタ装置10と全ての安全スレーブ装置20との通信で用いる生成多項式に指定する。
そして、指定部5003は、ステップS047において、安全マスタ装置10に、指定した生成多項式を通知するメッセージを送信する。
本実施の形態では、図7のステップS008において、判定部5002が、当該仮選択多項式よりも次数の小さいCRC多項式の適用時における、安全コネクションごとの残存エラーレートΛSC(P)を算出する。指定部5003は、安全通信の国際規格で規定された算出方法を使って残存エラーレートΛSC(P)を算出する。本実施の形態では、残存エラーレートΛSC(P)の具体的な算出方法の説明は省略する。指定部5003は、算出に必要な安全通信周期、ビットエラー率などの値は、安全パラメータの値を使用する。
なお、ステップS008及び以降のステップで、新たな仮選択多項式及び正式な生成多項式は、全ての安全コネクションで同じである必要はない。
ステップS009では、判定部5002は、上記のステップS008で得られた残存エラーレートΛSC(P)が要求値を満たすか否かを判定する。本実施の形態では、この要求値は、安全通信の国際規格で規定された要求値である。このため、本実施の形態では、要求値の具体的な値には言及しない。
残存エラーレートΛSC(P)が要求値を満たす場合(ステップS009でYES)、つまり、次数の小さいCRC多項式に変更しても安全度水準の要求値を満たす場合は、処理がステップS010へ遷移する。一方、残存エラーレートΛSC(P)が要求値を満たさない場合(ステップS009でNO)は、処理がS011へ遷移する。
ステップS010では、判定部5002は、現在の仮選択多項式よりも次数が小さく、かつ残存エラーレートΛSC(P)の値が要求値を満たすCRC多項式を、新たな仮選択多項式として選択する。
その後、新たな仮選択多項式に対してステップS042以降の処理が行われる。つまり、新たな仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了するか否かが検証される。
仮選択多項式を用いた計算が安全通信周期内に完了しない場合(ステップS043でNO)、または、いずれかの安全スレーブ装置20から「合意不成立」との応答メッセージを受信した場合(ステップS045でNO)であって、残存エラーレートΛSC(P)が要求値を満たすCRC多項式が存在しない場合(ステップS009でNO)に、ステップS011〜S013において、安全通信周期の延長が検討される。
ステップS011では、判定部5002が、安全コネクションごとに、安全通信周期を延長できるか否かを判定する。つまり、判定部5002は、仮に安全コネクションの安全通信周期を延長しても、必要な安全応答時間、可用性を維持できるか否かを判定する。
判定部5002は、具体的には、前述の(式1)及び(式2)を適用して、安全通信周期の延長が可能であるか否かを判定する。
安全通信周期を延長できる安全コネクションがある場合(ステップS011でYES)は、処理がS012へ遷移する。一方、安全通信周期を延長できる安全コネクションがない場合(ステップS011でNO)は、処理がS014へ遷移する。
ステップS012では、判定部5002が、安全通信周期の延長可能な割合のマージンが最大である安全コネクションを選択する。
ステップS013では、判定部5002が、ステップS012で選択した安全コネクションについて、安全通信周期の延長又はデータフレームの分割を実施する。
判定部5002は、前述の(式1)、(式2)の範囲で安全通信周期を延長することができる。
判定部5002は、ステップS012で選択された安全コネクションの現在の仮選択多項式を新たな仮選択多項式として選択する。そして、当該新たな仮選択多項式について延長された安全通信周期を用いてステップS002以降の処理が行われる。つまり、新たな仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で、延長された安全通信周期内に完了するか否かが検証される。
また、データフレームを分割することで計算時間が短縮される。つまり、判定部5002は、データフレームの分割により、個々のデータフレームのフレーム長を短くし、分割により得られた分割データフレームの全てが通信先に到着するまでの実質的な間隔を長くする。これにより、次数の小さいCRC多項式を使用することが可能になり、計算時間を短縮することができる。
判定部5002は、ステップS012で選択された安全コネクションの現在の仮選択多項式を新たな仮選択多項式として選択する。そして、分割データフレームに対して当該新たな仮選択多項式が用いられてステップS002以降の処理が行われる。つまり、分割データフレームに対する新たな仮選択多項式を用いた計算が安全マスタ装置10及び安全スレーブ装置20の各々で安全通信周期内に完了するか否かが検証される。
ステップS014では、安全マスタ装置10又は安全スレーブ装置20の処理性能上、実現不可能な安全通信設定がなされていることが判明する。このため、判定部5002は、安全コネクションの確立ができないと判定し、その旨を安全マスタ装置10に通知する。
***実施の形態の効果の説明***
本実施の形態では、情報処理装置50が、安全マスタ装置10及び安全スレーブ装置20でのCRC計算が安全通信周期内に完了するか否かを検証する。つまり、安全マスタ装置10及び安全スレーブ装置20の計算リソースを用いることなく、安全マスタ装置10及び安全スレーブ装置20でのCRC計算が安全通信周期内に完了するか否かの検証が行われる。このため、本実施の形態によれば、安全マスタ装置10及び安全スレーブ装置20の計算リソースが限られていても、安全通信周期内にCRC計算を完了させることができる生成多項式を指定することができる。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
最後に、安全マスタ装置10、安全スレーブ装置20及び情報処理装置50のハードウェア構成の補足説明を行う。
プロセッサ101、プロセッサ201及びプロセッサ501は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ101、プロセッサ201及びプロセッサ501は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
メモリ102、メモリ202及びメモリ502は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
フィールド通信インタフェース104、フィールド通信インタフェース204及び通信インタフェース503は、データの通信処理を実行する電子回路である。
フィールド通信インタフェース104、フィールド通信インタフェース204及び通信インタフェース503は、例えば、通信チップ又はNIC(Network Interface Card)である。
また、メモリ102には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ101により実行される。
プロセッサ101はOSの少なくとも一部を実行しながら、安全通信層1000及びフィールドバスアプリケーション層1001の機能を実現するプログラムを実行する。
プロセッサ101がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、安全通信層1000及びフィールドバスアプリケーション層1001の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ102、プロセッサ101内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、安全通信層1000及びフィールドバスアプリケーション層1001の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。
また、メモリ202にも、OSが記憶されている。
そして、OSの少なくとも一部がプロセッサ201により実行される。
プロセッサ201はOSの少なくとも一部を実行しながら、安全通信層2000及びフィールドバスアプリケーション層2001の機能を実現するプログラムを実行する。
プロセッサ201がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、安全通信層2000及びフィールドバスアプリケーション層2001の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ202、プロセッサ201内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、安全通信層2000及びフィールドバスアプリケーション層2001の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。
また、メモリ502にも、OSが記憶されている。
そして、OSの少なくとも一部がプロセッサ501により実行される。
プロセッサ501はOSの少なくとも一部を実行しながら、選択部5001、判定部5002及び指定部5003の機能を実現するプログラムを実行する。
プロセッサ501がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、選択部5001、判定部5002及び指定部5003の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ502、プロセッサ501内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、選択部5001、判定部5002及び指定部5003の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。
また、安全マスタ装置10、安全スレーブ装置20及び情報処理装置50は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)である。
なお、本明細書では、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
10 安全マスタ装置、20 安全スレーブ装置、30 ネットワーク、50 情報処理装置、101 プロセッサ、102 メモリ、104 フィールド通信インタフェース、105 バス、201 プロセッサ、202 メモリ、203 入出力インタフェース、204 フィールド通信インタフェース、205 バス、501 プロセッサ、502 メモリ、503 通信インタフェース、504 バス、1000 安全通信層、1001 フィールドバスアプリケーション層、10001 安全アプリケーションインタフェース部、10002 安全コネクション確立処理部、10003 安全PDU生成部、10004 安全PDU検査部、10005 チェックサム交渉部、10007 安全パラメータ管理部、10008 通信周期検証部、2000 安全通信層、2001 フィールドバスアプリケーション層、20001 安全アプリケーションインタフェース部、20002 安全コネクション確立処理部、20003 安全PDU生成部、20004 安全PDU検査部、20005 チェックサム交渉部、20007 安全パラメータ管理部、20008 通信周期検証部、5001 選択部、5002 判定部、5003 指定部。
***構成の説明***
図1は、本実施の形態に係る安全通信システムの構成例を示す。
本実施の形態に係る安全通信システムは、1つまたは複数の安全マスタ装置10と、1つまたは複数の安全スレーブ装置20と、安全マスタ装置10と安全スレーブ装置20とを接続するネットワーク30から構成される。
安全マスタ装置10と安全スレーブ装置20とが、1対1の安全コネクション(安全通信に用いる論理的なコネクション)を作成し、安全通信を行う。安全マスタ装置10と安全スレーブ装置20は、それぞれ、例えば組込み機器である。
安全マスタ装置10は、安全スレーブ装置20を管理する。
安全スレーブ装置20は、例えば、安全センサに接続されている。また、安全スレーブ装置20は、例えば、アクチュエータを制御する。
安全スレーブ装置20は、安全通信において安全センサのセンサ値を安全マスタ装置10に通知する。また、安全マスタ装置10は、例えば、安全センサのセンサ値に基づき、安全通信においてアクチュエータの制御値を安全スレーブ装置20に通知する。そして、安全スレーブ装置20は、安全マスタ装置10から通知された制御値を用いてアクチュエータを制御する。以上の処理手順が安全応答時間内に完了している必要がある。
図1では、1対の安全マスタ装置10と安全スレーブ装置20が示されているが、前述のように、安全通信システムに含まれる安全マスタ装置10と安全スレーブ装置20の数は、図1の例に限定されない。
安全マスタ装置10は、マスタ装置に相当する。また、安全スレーブ装置20は、スレーブ装置に相当する。
安全通信層2000には、安全アプリケーションインタフェース部20001、安全コネクション確立処理部20002、安全PDU生成部20003、安全PDU検査部20004、チェックサム交渉部20005、安全パラメータ管理部20007及び通信周期
検証部20008が含まれる。
安全通信層2000の構成は、安全通信層1000と同様である。
安全コネクション確立処理部20002及びチェックサム交渉部20005は、安全マスタ装置10に対向して通信を行うため、安全コネクション確立処理部10002及びチェックサム交渉部10005とは処理の流れが異なる。
安全通信層2000と安全通信層1000における、これら以外の差分を以下に記載する。
安全パラメータ管理部20007は、安全スレーブ装置20に必要な安全パラメータを保持する。
安全パラメータ管理部20007が保持する安全パラメータは以下の通りである。
(1)安全マスタ装置10についての下記の値:
(A)安全通信周期(安全PDU送信レートから逆算可能)
(B)安全データサイズ
(C)使用すべき多項式の識別情報
通信周期検証部20008は、チェックサム交渉部20005からの指示により、チェックサム交渉部10005が選択した仮選択多項式を用いての安全PDUの生成処理及び検査処理が、安全パラメータにて規定された安全通信周期内に完了するか否かの検証を行う。つまり、通信周期検証部20008は、選択された仮選択多項式を用いた計算が安全スレーブ装置20で規定の期限(安全通信周期の終期)までに完了するか否かを判定する。なお、上記の安全PDUの生成処理とは、CRCの生成を含む、安全マスタ装置10に送信する安全PDUを生成する処理である。上記の安全PDUの検査処理とは、安全マスタ装置10から受信した安全PDUに対するCRCによる検査を行う処理である。
安全スレーブ装置20は、一般的に作成する安全コネクション数が少ないため安全通信による負荷は小さいが、計算リソースも限られているため、上記の検証が必要である。
また、チェックサム交渉部10005で選択された仮選択多項式が安全スレーブ装置20ではサポートされていない可能性もある。このため、通信周期検証部20008は、安全通信周期についての検証を行う前に、仮選択多項式が安全スレーブ装置20でサポートされているか否かを検証する。
安全通信周期についての検証の方法については、安全マスタ装置10の通信周期検証部10008と同様に、既存手法を適用するものとして、詳細は説明しない。
前述したように、通信周期検証部20008は、チェックサム交渉部10005及び通信周期検証部10008とともに、判定部に相当する。また、通信周期検証部20008により行われる処理は、チェックサム交渉部10005により行われる処理及び通信周期検証部10008により行われる処理とともに、判定処理に相当する。
ステップS011では、チェックサム交渉部10005が、安全コネクションごとに、安全通信周期を延長できるか否かを判定する。つまり、チェックサム交渉部10005は、仮に安全コネクションの安全通信周期を延長しても、必要な安全応答時間、可用性を維持できるか否かを判定する。
チェックサム交渉部10005は、具体的には、前述の(式1)及び(式2)を適用して、安全通信周期の延長が可能であるか否かを判定する。
ステップS022では、安全マスタ装置10のチェックサム交渉部10005が、安全スレーブ装置20から計算能力情報を受信する。
仮選択多項式を用いたCRC計算が安全通信周期内に完了する場合(ステップS024でYES)は、処理はステップS006に遷移する。一方、仮選択多項式を用いたCRC計算が安全通信周期内に完了しない場合(ステップS024でNO)は、処理はステップS008に遷移する。ステップS006以降の処理及びステップS008以降の処理は実施の形態1で説明した通りなので、説明を省略する。
***構成の説明***
図13は、本実施の形態に係る情報処理装置50のハードウェア構成例を示す。
情報処理装置50は、プロセッサ501、メモリ502、通信インタフェース503及びこれらを接続するバス504を備える。
情報処理装置50は、コンピュータである。
プロセッサ501は、メモリ102上に展開された、後述する選択部5001、判定部5002及び指定部5003を実行する。
選択部5001、判定部5002及び指定部5003は、例えば、プログラムで実現される。
通信インタフェース503は、指定された生成多項式を安全マスタ装置10に通知する。
情報処理装置50は、選択部5001、判定部5002及び指定部5003で構成される。
図14では、プロセッサ501が選択部5001、判定部5002及び指定部5003の機能を実現するプログラムを実行している状態を模式的に表している。

Claims (12)

  1. マスタ装置とスレーブ装置との間の通信で用いられる生成多項式の候補を複数の多項式の中から候補多項式として選択する選択部と、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で規定の期限までに完了するか否かを判定する判定部と、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記期限までに完了すると前記判定部により判定された場合に、前記候補多項式を前記生成多項式に指定する指定部とを有する情報処理装置。
  2. 前記選択部は、
    前記複数の多項式の中から次数が最大の多項式を前記候補多項式として選択し、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置のいずれかで前記期限までに完了しないと前記判定部により判定された場合に、前記候補多項式よりも次数が小さい多項式を新たな候補多項式として選択し、
    前記判定部は、
    前記新たな候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記期限までに完了するか否かを判定する請求項1に記載の情報処理装置。
  3. 前記選択部は、
    前記候補多項式よりも次数が小さく、残存エラーレートが要求値を満たす多項式を前記新たな候補多項式として選択する請求項2に記載の情報処理装置。
  4. 前記選択部は、
    いずれの多項式を用いた計算も前記マスタ装置及び前記スレーブ装置のいずれかで前記期限までに完了しないと前記判定部により判定された場合に、前記複数の多項式の中で前記期限よりも長い期限である延長期限を用いることができる多項式を新たな候補多項式として選択し、
    前記判定部は、
    前記新たな候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記延長期限までに完了するか否かを判定する請求項2に記載の情報処理装置。
  5. 前記選択部は、
    いずれの多項式を用いた計算も前記マスタ装置及び前記スレーブ装置の各々で前記期限までに完了しないと前記判定部により判定された場合に、前記複数の多項式の中で前記期限よりも長い期限である延長期限を用いることができる多項式を新たな候補多項式として選択し、
    前記判定部は、
    規定のデータフレームを分割した分割データフレームに対する前記新たな候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記期限までに完了するか否かを判定する請求項2に記載の情報処理装置。
  6. 前記判定部は、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で、前記マスタ装置及び前記スレーブ装置との間で行われる安全通信の安全通信周期内に完了するか否かを判定し、
    前記指定部は、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記安全通信周期内に完了すると前記判定部により判定された場合に、前記候補多項式を前記生成多項式に指定する請求項1に記載の情報処理装置。
  7. 前記複数の多項式には、2以上の多項式の組合せが含まれる請求項1に記載の情報処理装置。
  8. 前記情報処理装置が、前記マスタ装置である請求項1に記載の情報処理装置。
  9. 前記情報処理装置が、前記マスタ装置及び前記スレーブ装置である請求項1に記載の情報処理装置。
  10. 前記情報処理装置が、前記マスタ装置及び前記スレーブ装置とは異なるコンピュータである請求項1に記載の情報処理装置。
  11. コンピュータが、マスタ装置とスレーブ装置との間の通信で用いられる生成多項式の候補を複数の多項式の中から候補多項式として選択し、
    前記コンピュータが、前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で規定の期限までに完了するか否かを判定し、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記期限までに完了すると判定された場合に、前記コンピュータが、前記候補多項式を前記生成多項式に指定する情報処理方法。
  12. マスタ装置とスレーブ装置との間の通信で用いられる生成多項式の候補を複数の多項式の中から候補多項式として選択する選択処理と、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で規定の期限までに完了するか否かを判定する判定処理と、
    前記候補多項式を用いた計算が前記マスタ装置及び前記スレーブ装置の各々で前記期限までに完了すると前記判定処理により判定された場合に、前記候補多項式を前記生成多項式に指定する指定処理とをコンピュータに実行させる情報処理プログラム。
JP2020515380A 2018-04-25 2018-04-25 情報処理装置、情報処理方法及び情報処理プログラム Expired - Fee Related JP6727476B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/016884 WO2019207697A1 (ja) 2018-04-25 2018-04-25 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP6727476B2 JP6727476B2 (ja) 2020-07-22
JPWO2019207697A1 true JPWO2019207697A1 (ja) 2020-07-30

Family

ID=68293841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020515380A Expired - Fee Related JP6727476B2 (ja) 2018-04-25 2018-04-25 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (6)

Country Link
US (1) US11228320B2 (ja)
JP (1) JP6727476B2 (ja)
CN (1) CN112005508B (ja)
DE (1) DE112018007296B4 (ja)
TW (1) TW201946425A (ja)
WO (1) WO2019207697A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010124260A (ja) * 2008-11-20 2010-06-03 Nec Engineering Ltd Crc誤判定検出方法およびcrc誤判定検出装置
JP2010206394A (ja) * 2009-03-02 2010-09-16 Mitsubishi Electric Corp 安全ネットワーク装置および安全ネットワーク
JP2016218867A (ja) * 2015-05-22 2016-12-22 株式会社安川電機 エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法
WO2017212547A1 (ja) * 2016-06-07 2017-12-14 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09275391A (ja) 1996-04-04 1997-10-21 Oki Electric Ind Co Ltd 情報符号化装置及び情報復号装置
JP3653026B2 (ja) 2001-09-13 2005-05-25 日本電気株式会社 音声多重化方法、音声分離方法及び通信装置
JP2004104250A (ja) 2002-09-05 2004-04-02 Fujitsu Ten Ltd 受信制御装置、送信制御装置、通信システム、デ−タ構造及び通信制御方法
US20040199786A1 (en) 2002-12-02 2004-10-07 Walmsley Simon Robert Randomisation of the location of secret information on each of a series of integrated circuits
US7852842B2 (en) * 2004-03-31 2010-12-14 Lg Electronics Inc. Data processing method for network layer
DE102005029515A1 (de) 2005-06-25 2006-12-28 Bosch Rexroth Aktiengesellschaft Verfahren zur Berechnung von CRC-Prüfwerten und Logikschaltung
JP5298621B2 (ja) 2007-12-21 2013-09-25 ソニー株式会社 送信装置および方法、受信装置および方法
WO2010103574A1 (ja) * 2009-03-12 2010-09-16 富士通株式会社 通信装置、パケット同期方法
CN101841388B (zh) * 2009-03-18 2012-07-04 中国科学院沈阳计算技术研究所有限公司 一种用于数控总线的消息安全传输方法
JP2012124615A (ja) * 2010-12-06 2012-06-28 Sony Corp 符号生成装置及び符号生成方法、符号検査装置及び符号検査方法、コンピューター・プログラム、並びに通信装置
KR101224383B1 (ko) * 2011-04-18 2013-01-21 (주) 유파인스 디바이스들 사이에서의 보안 통신 방법
US9071549B2 (en) * 2011-04-22 2015-06-30 Mitsubishi Electric Corporation Communication device using plurality of communication paths
US9451541B2 (en) * 2012-01-11 2016-09-20 Shenzhen Hac Telecom Technology Co., Ltd. System and method for wireless communication
JP2013225761A (ja) 2012-04-20 2013-10-31 Hitachi Ltd 符号化装置、復号装置、通信システム及び通信制御方法
US8787506B2 (en) 2012-05-04 2014-07-22 Qualcomm Incorporated Decoders and methods for decoding convolutional coded data
JP6829024B2 (ja) * 2016-08-03 2021-02-10 ルネサスエレクトロニクス株式会社 Crc演算回路、半導体装置及びレーダーシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010124260A (ja) * 2008-11-20 2010-06-03 Nec Engineering Ltd Crc誤判定検出方法およびcrc誤判定検出装置
JP2010206394A (ja) * 2009-03-02 2010-09-16 Mitsubishi Electric Corp 安全ネットワーク装置および安全ネットワーク
JP2016218867A (ja) * 2015-05-22 2016-12-22 株式会社安川電機 エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法
WO2017212547A1 (ja) * 2016-06-07 2017-12-14 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
久場 亮平 他: "機能安全通信における安全データサイズ拡張方式の評価", 電子情報通信学会2014年総合大会講演論文集 情報・システム1, JPN6018026412, March 2014 (2014-03-01), pages 121, ISSN: 0004273253 *

Also Published As

Publication number Publication date
TW201946425A (zh) 2019-12-01
WO2019207697A1 (ja) 2019-10-31
DE112018007296T5 (de) 2020-12-31
US20200403730A1 (en) 2020-12-24
CN112005508A (zh) 2020-11-27
JP6727476B2 (ja) 2020-07-22
DE112018007296B4 (de) 2022-01-27
US11228320B2 (en) 2022-01-18
CN112005508B (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
US7706289B2 (en) System and method for validating packet classification
US9716612B2 (en) Evaluation of field replaceable unit dependencies and connections
JP5526784B2 (ja) 縮退構成設計システムおよび方法
WO2022116088A1 (zh) 固件数据处理方法及装置
CN110445635B (zh) 控制报文发送方法、装置及总线仿真测试系统
US9843414B2 (en) Low complexity error correction
CN114650254A (zh) 一种确定业务路径的方法、装置以及计算机可读存储介质
JP6568012B2 (ja) メモリ管理システム、方法、およびコンピュータ・プログラム
CN113839965B (zh) 基于crc校验码的多协议协处理器及其处理方法
US20190190795A1 (en) System and method for processing network packets based on nfv for ensuring high availability
US9798667B2 (en) Streaming stress testing of cache memory
CN108450033B (zh) 跨平台流式数据流
JP6727476B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
KR102213345B1 (ko) 패리티 검사 연접 극 부호의 설계 방법 및 그 장치
US7120858B2 (en) Method and device for off-loading message digest calculations
US9172506B2 (en) Packet loss recovery
JP6987303B2 (ja) 安全通信装置、安全通信システム、安全通信方法、及び、安全通信プログラム
US20130051406A1 (en) Method and system for requester virtual cut through
US9021123B2 (en) Method and system for responder side cut through of received data
CN105356966A (zh) 循环冗余校验实现方法、装置和网络设备
CN105790887A (zh) 用于为分组生成并行crc值的方法和设备
JP5621554B2 (ja) エラー訂正回路及びエラー訂正方法
US9258204B2 (en) Method and apparatus for deciding network coding method based on link utilization
JP6291242B2 (ja) 情報処理装置の論理検証方法及びプログラム
US8996911B2 (en) Core file limiter for abnormally terminating processes

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200424

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200424

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200630

R150 Certificate of patent or registration of utility model

Ref document number: 6727476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees