JP6841583B2 - エンジン制御ユニット構成セキュリティ - Google Patents

エンジン制御ユニット構成セキュリティ Download PDF

Info

Publication number
JP6841583B2
JP6841583B2 JP2015001931A JP2015001931A JP6841583B2 JP 6841583 B2 JP6841583 B2 JP 6841583B2 JP 2015001931 A JP2015001931 A JP 2015001931A JP 2015001931 A JP2015001931 A JP 2015001931A JP 6841583 B2 JP6841583 B2 JP 6841583B2
Authority
JP
Japan
Prior art keywords
control unit
engine control
engine
change
code
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
JP2015001931A
Other languages
English (en)
Other versions
JP2015163786A5 (ja
JP2015163786A (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.)
General Electric Co
Original Assignee
General Electric Co
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 General Electric Co filed Critical General Electric Co
Publication of JP2015163786A publication Critical patent/JP2015163786A/ja
Publication of JP2015163786A5 publication Critical patent/JP2015163786A5/ja
Application granted granted Critical
Publication of JP6841583B2 publication Critical patent/JP6841583B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Description

本開示は、一般的にエンジンを制御するエンジン制御ユニットに関し、特に、エンジン制御システムの構成を保護するための方法およびシステムに関する。
現代のすべての型のエンジンは、最適な性能および効率で動作させるために多くのパラメータを精密にキャリブレーションすることが必要な、複雑な機械である。したがって、エンジン製造者の多くは、製造時にそのようなキャリブレーションを設定し、「型」とキャリブレーションとを関連付け、さらに、「型」とエンジンを制御するエンジン制御ユニットとを関連付ける。その場合、これらの型を使用して、エンジン制御ユニットと同じ型またはエンジン制御ユニットと適合可能な型を有するキャリブレーションのみが、ユニットで実施されるであろうことを確実にすることができる。エンジンの製造者は、エンドユーザが、キャリブレーションを調整することを一切許可しない可能性があり、代わりに、何らかの変更が製造者によって事前に実施または承認され、エンジンが適切にキャリブレーションされたままで、動作仕様の範囲内にあることを確実にすることを要求する。
例示的で、非限定の実施形態において、本システムは、命令を備えるメモリと、命令を実行する場合に、エンジン制御ユニットと関連付けられたシリアルナンバーおよび要求されたエンジン制御ユニット変更を受信するメモリに接続されるプロセッサとを備えることができる。本システムは、要求されたエンジン制御ユニット変更が承認されたことを判断し、エンジン制御ユニットと関連付けられたシリアルナンバーおよびエンジン制御ユニットに要求されたエンジン制御ユニット変更を実施させる命令を含むコードを生成することができる。
他の例示的な、非限定の実施形態では、キャリブレーション変更デバイスで、エンジン制御ユニットと関連付けられたシリアルナンバーおよび要求されたエンジン制御ユニット変更を受信するための方法を開示する。本方法はさらに、要求されたエンジン制御ユニット変更が承認されたことを判断し、エンジン制御ユニットと関連付けられたシリアルナンバーおよびエンジン制御ユニットに要求されたエンジン制御ユニット変更を実施させる命令を備えるコードを生成する。
他の例示的な、非限定の実施形態では、コンピュータ読取り可能メディアは、プロセッサによって実行されると、そのプロセッサに、エンジン制御ユニットと関連付けられたシリアルナンバーおよび要求されたエンジン制御ユニット変更を受信するなどの動作を実行させる、コンピュータ実行可能命令を有することができる。本動作はさらに、要求されたエンジン制御ユニット変更が承認されたことを判断すること、エンジン制御ユニットと関連付けられたシリアルナンバーおよびエンジン制御ユニットに要求されたエンジン制御ユニット変更を実施させる命令を備えるコードを生成することを含むことができる。
上記の概要、および以下の詳細な説明は、図面と共に読むことにより、よりよく理解される。特許請求される発明の主題を示す目的のために、さまざまな実施形態を示す例を図に示すが、本発明は、開示される特定のシステムおよび方法に限定されない。
本発明の主題のこれらの、および他の特徴、態様、および利点は、以下の詳細な説明を添付図面を参照して読むと、より理解されるであろう。
非限定の例示的なエンジン制御ユニット構成セキュリティシステムのブロック図である。 非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。 非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。 非限定の例示的なエンジン制御ユニット構成セキュリティシステムのブロック図である。 非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。 非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。 本明細書で開示される方法およびシステムの態様を組み込むことができる汎用コンピュータシステムを表す例示的ブロック図である。
図1は、一実施形態により実現することができる、例示的システム100を示す。図示するシステム100は、本明細書で開示されるコンセプトを説明するために使用される簡易ブロック図であり、したがって、本明細書で開示される任意の実施形態に対して求められる任意の物理的要件または特定の構成を記載するものとして解釈されるべきではない。本明細書で開示されるすべての構成要素、デバイス、システム、および方法は、任意の形状、形式、または型のコンポーネント数で実施することができ、開示する実施形態を実施することを可能にする任意のそのようなコンポーネントの任意の組み合わせは、本開示の範囲内であると意図される。
エンジン110は、任意の型のエンジンとすることができ、ガスタービンエンジン、ディーゼルエンジン、およびガソリンエンジンなどの、任意の型の内燃機関を含む。エンジン制御ユニット120は、任意の型のコンピューティングデバイスまたは制御器とすることができ、エンジン110およびエンジン110の任意のコンポーネントを制御することができ、エンジン110の動作に影響するパラメータを制御および/または設定することができる。現代のエンジンは、調整または設定することができる、多くの異なるパラメータおよびキャリブレーションを有することができる。これらには、可能な最大馬力、可能な最大トルク、可能な最大毎分回転数(RPM)、最大過負荷、時期マップ、調速器調整、ターボ過給エンジンを可能とする最大ブースト、エンジン、エンジンキャリブレーション要素、ならびにエンジン流体温度に対する限界、デトネーション限界、および特定の条件下で使用するためのシリンダの数などがある。すべてのそのようなパラメータならびにキャリブレーション、およびエンジンに対して構成することができる任意の他のパラメータならびにキャリブレーションは、本開示の範囲内であるとして意図される。すべてのパラメータおよびキャリブレーションは、製造時に、またはそのようなエンジン制御ユニットを使用するエンジンが顧客に提供される前に、それらが正確であることを確実にするよう、最初に設定することができる。
「型」は、エンジン制御ユニット120で構成することができ、エンジンで構成される各キャリブレーションおよびパラメータと関連付けられ、エンジンが、不適合なキャリブレーションまたはパラメータを有して構成されないことを確実にすることができる。例えば、型は、特定の機械的構成を有するエンジン(例えば、500馬力を生成する6シリンダディーゼルエンジン)とすることができる。何らかのキャリブレーションまたはパラメータが、同じ型と関連付けられたことをチェックすることによって、エンジン制御ユニットは、エンジンと適合しない(例えば、12シリンダエンジンまたはガソリンエンジンに対するキャリブレーション)か、または認められない変更(例えば、追加料金を払うことなく、馬力を600に上げる)がされないことを確実にすることができる。エンジン制御ユニットは、新しいパラメータおよびキャリブレーションと関連付けられた型が、エンジン制御ユニット内に構成されたエンジンの型と一致するまで、顧客がそのようなパラメータおよびキャリブレーションを変えることを可能にしないよう構成することができる。エンジン制御ユニット内で構成される型を変更することは、エンジンおよび/またはエンジン制御ユニットの販売者または製造者からの支援を必要とする可能性がある。エンジン制御ユニット120は、まず、多くの、またはすべての可能なパラメータおよびキャリブレーションで構成することができるが、エンジン制御ユニットで指定された型と関連付けられた操作のために、それらを提示するだけでもよいことに留意されたい。型を変更するとき、オペレータは、次いで、新しい型と関連付けられたパラメータおよびキャリブレーションを調整することを許可され得る。
エンジン制御ユニット120は、このエンジンに割り当てられる型のインジケータとして働き、パラメータおよびキャリブレーション変更が同じ型を有することを検証するために使用することができる、型121と構成することができる。エンジン制御ユニット120はまた、シリアルナンバーを有して構成してもよい。エンジン制御ユニットはまた、エンジン制御ユニット120との双方向処理を可能にするインターフェース122を有して構成してもよい。インターフェース122は、キーボード、モニタ、マウス、ディスクドライブ、および1つまたは複数の任意のネットワーク(インターネット、他のデータネットワーク、およびボイスネットワークを含む)へのネットワーク接続などの任意の1つまたは複数を含んでもよい。
型変更が必要であると判断すると、エンジン110のオペレータは、型変更コードを要求する要求160を送信し、エンジン制御ユニット120で構成される型を調整することができる。要求160は、オペレータがエンジン110の販売者または製造者から型変更コードを要求する通話を含む、任意の形式をとることができる。それに応じて、販売者または製造者は、本明細書で説明するような、そのようなコードを生成および提供することができる。あるいは、エンジン110のオペレータは、ウェブページなどの自動化インターフェースを使用し、要求160を生成することができ、いくつかの実施形態において、本明細書で説明するように生成された、自動生成された型変更コードを受信することができる。さらに他の実施形態では、オペレータは、そのようなコードに対する何らかの他の形式の電子的要求160を、インターネット150を介してエンジン110の製造者または販売者に電子メールで送るか、または送信することができ、手動または自動で生成され得る要求される型変更コードを含む応答を同じ方法で受信することができる。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
一実施形態において、オペレータからの要求160は、所望される特定の型変更の識別子162と、エンジン制御ユニット120のシリアルナンバー161とを含むことができる。あるいは、エンジン制御ユニット120のシリアルナンバーの代わりに、要求は、エンジン110の製造者または販売者によって使用されて、エンジン制御ユニット120に対するシリアルナンバーを判断することができる1つまたは複数の識別子を含んでもよい。その場合、この要求は、エンジン110の製造者または販売者にもたらされ得る。要求はまた、暗号化され、それにより、所期の受信者のみが、その要求を復号化することができることに留意されたい。
要求の受信時に、エンジン110の製造者または販売者は、要求を検証し、要求160を必要であれば復号化し、型変更コード140を生成することができる。いくつかの実施形態において、この処理は自動化してもよい。検証処理は、要求された型が、実際に、エンジン110と適合するかを判断すること、および/またはエンジン110のオペレータが、要求された型への変更を受ける権利を有する(例えば、支払いをした)ことを判断することを含んでもよい。一実施形態において、コード生成サーバ130を使用して、そのようなコードを生成してもよい。コード生成サーバ130は、任意の型のコンピューティングデバイスか、または任意の数ならびに型のコンピューティングデバイスの任意の組み合わせとすることができる。コード生成サーバ130は、シリアルナンバー、現在の構成型、およびエンジンならびにエンジン制御ユニットと関連付けられた任意の他のデータを有して構成されるデータベースとすることができるデータベース132と共に構成することができるか、または、データベース132にアクセスするよう構成することができる。そのようなデータを使用して、要求160が有効であり、正当なソースからのものであることを検証することができる。
生成された型変更コード140は、エンジン制御ユニット120のシリアルナンバー141および型識別子142を含むことができる。他のデータは、型変更コード140内に含んでもよく、型変更コード140は、暗号化されるか、スクランブルをかけられるか、または変更され、エンジン制御ユニット120に対してのみ読取り可能としてもよい。型変更コード140はまた、「キー」と称してもよく、エンジン制御ユニット120内の位置において、構成(パラメータおよびキャリブレーション)を「アンロックする」よう使用してもよいが、型121に対応しない型を有するために利用不可能である可能性がある。型変更コード140は、任意の方法で提供することができ、そのような方法には、インターネット150を電気的に介する方法、言語による方法、任意の種類のディスクによる方法、または任意の他の手段を使用する方法があり、それらのすべては、本開示の範囲内であることを意図する。
型変更コード140の受信時に、エンジン110のオペレータは、インターフェース122を使用する一実施形態において、型変更コード140を、エンジン制御ユニット120にもたらすことができる。エンジン制御ユニット120は、(必要であれば、復号化の後で)型変更コード140をチェックして、シリアルナンバー141が、エンジン制御ユニット120上で構成されるシリアルナンバーと一致することを確実にするソフトウェアを有して構成してもよい。型変更は、型変更コード140を受信した後にオペレータとの双方向処理に応じて、型変更コード140の受信時に、またはオペレータによってエンジン制御ユニット120で設定されるか、もしくは型変更コード140で指定される、これより後のある時間に、エンジン制御ユニット120によってすぐに実行されてもよい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
型121が、型変更コード140の受信に応じてエンジン制御ユニット120で変更されると、オペレータは、エンジン制御ユニット120での型と関連付けられた構成、パラメータ、およびキャリブレーションを選択することを許可され得る。
図2は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法200を示す。方法200、および方法200に記載される個々の動作および機能は、任意の1つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図1のコード生成サーバ130、および/または図1で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法200は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および/またはコンポーネントと共に実行してもよい。方法200のブロックのいずれかに関して説明される機能および/または動作のいずれかは、任意の順序で、別々に、方法200もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに/もしくは動作のサブセットと共に、および他の機能ならびに/もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
ブロック210では、型変更のための要求を、エンジンのオペレータから受信することができる。この要求は、暗号化してもよい。この要求は、エンジン制御ユニットに対するシリアルナンバーおよび所望の型もしくは所望の型の識別子、さらに使用する可能性のある何らかの情報を含んでもよい。記載したように、この要求は、電子的、言語的、またはファックスを介してなどの、任意の方法で受信することができる。ブロック220では、要求が承認されるかどうかの判断を行うことができる。例えば、要求内でもたらされるシリアルナンバーは、格納されたシリアルナンバーと比較され、エンジンのオペレータに対する識別情報に対してクロスチェックされ得る。要求はまた、ブロック220で真正性を確実にするよう、復号化することができる。いくつかの実施形態において、要求された特定の型変更は、例えば、関連するエンジンに精通しているエンジニアまたは技術者によって承認され、要求された変更の技術的ならびに機械的健全性を確実にする、および/または要求された型に対してオペレータが支払いをしたことを保証することを必要としてもよい。何らかの理由のために、要求が承認されない場合、ブロック225で、要求をしたオペレータは、通知を受け取ることができ、何らの型変更コードも生成されない可能性がある。
要求が承認されると、ブロック230で、型変更コードを生成することができる。このコードは、影響を受けるエンジン制御ユニットのシリアルナンバーと、所望の型の識別子とを含むことができる。本コードはまた、エンジン制御ユニットを支援するか、またはエンジン制御ユニットに指示して、要求された型変更を実現する、任意の命令および暗号化データなどを含んでもよい。次いで、この型変更コードは、任意の手段を使用して、ブロック240で、オペレータに送信することができる。
図3は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法300を示す。方法300、および方法300に記載される個々の動作および機能は、任意の1つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図1のエンジン制御ユニット120、および/または図1で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法300は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および/またはコンポーネントと共に実行してもよい。方法300のブロックのいずれかに関して説明される機能および/または動作のいずれかは、任意の順序で、別々に、方法300もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに/もしくは動作のサブセットと共に、および他の機能ならびに/もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
ブロック310では、図2の方法200によって生成されたような型変更コードは、エンジン制御ユニットで受信することができる。この型変更コードは、その型変更を実行するための時間もしくは時間枠、シリアルナンバー、および新しい型の識別子を含むことができ、さらにエンジン制御ユニットに型変更を実施させる任意の他のデータもしくは命令を含むことができる。ブロック320では、受信した型変更コードを検証することができる。これには、必要であれば、コードを復号化することを含んでもよい。他の検証には、型変更コードでもたらされるシリアルナンバーが、受信するエンジン制御ユニットのシリアルナンバーに対応するかを判断することを含んでもよい。何らかの理由のため、型変更コードを検証することができない場合、ブロック325で、オペレータは通知を受けることができ、何らの型変更も実施されない可能性がある。
型変更のための時間が、型変更コードによって、またはオペレータによって指定された場合、ブロック330で、エンジン制御ユニットは、変更を実行するための時間になったかどうかを判断することができる。これは、特定の時間で型変更を開始するためにオペレータから手動の命令を受信したことへの応答、または型変更コードが、型変更のための指定時間を含むと判断し、型変更のための時間にまだなっていないと判断したことへの応答としてもよい。型変更のための時間になっていなかった場合、エンジン制御ユニットは、時間のモニタリングを続け、その時間を、型変更を実行するためにもたらされた時間または時間枠と比較することができ、ブロック330に留まる。型変更を実行するための時間になった場合、または型変更の実施が許可される時間枠内に現在時間がある場合、ブロック340で、型変更を実施することができる。ブロック350で、オペレータは、変更を実施したことについて、通知を受けることができる。
型変更が行われると、エンジン制御ユニットの構成に対する任意の変更が、新しい型と比較され、新しい型と適合可能であることを確実にすることができる。オペレータに提示されるエンジン制御ユニットでの構成変更に対するオプションはまた、エンジン制御ユニットで現在構成された型と関連したそれらの変更のみが提示されて、オペレータが選択するために使用可能となるように、調整することができる。
型変更のおよばないキャリブレーション変更および他の変更はまた、本明細書で記載する実施形態を使用して制御することができる。図4は、エンジンまたはエンジン制御ユニットでキャリブレーションおよび他の設定を変更するために、一実施形態によって実現することができる、例示的システム400を示す。図1のシステム100と同様に、図示するシステム400は、本明細書で開示されるコンセプトを説明するために使用される簡易ブロック図であり、したがって、本明細書で開示される任意の実施形態に対して求められる任意の物理的要件または特定の構成を記載するものとして解釈されるべきではない。本明細書で開示されるすべての構成要素、デバイス、システム、および方法は、任意の形状、形式、または型のコンポーネント数で実施することができ、開示する実施形態を実施することを可能にする任意のそのようなコンポーネントの任意の組み合わせは、本開示の範囲内であると意図される。
エンジン410は、任意の型のエンジンとすることができ、ガスタービンエンジン、ディーゼルエンジン、およびガソリンエンジンなどの、任意の型の内燃機関を含む。エンジン制御ユニット420は、任意の型のコンピューティングデバイスまたは制御器とすることができ、エンジン410およびエンジン410の任意のコンポーネントを制御することができ、エンジン410の動作に影響するパラメータを制御および/または設定することができる。現代のエンジンは、調整または設定することができる、多くの異なるパラメータおよびキャリブレーションを有することができる。これらには、可能な最大馬力、可能な最大トルク、可能な最大毎分回転数(RPM)、最大過負荷、時期マップ、調速器調整、ターボ過給エンジンを可能とする最大ブースト、エンジン、エンジンキャリブレーション要素、ならびにエンジン流体温度に対する限界、デトネーション限界、および特定の条件下で使用するためのシリンダの数などがある。すべてのそのようなパラメータならびにキャリブレーション、およびエンジンに対して構成することができる任意の他のパラメータならびにキャリブレーションは、本開示の範囲内であるとして意図される。すべてのパラメータおよびキャリブレーションは、製造時に、またはそのようなエンジン制御ユニットを使用するエンジンが顧客に提供される前に、それらが正確であることを確実にするよう、最初に設定することができる。エンジン制御ユニットは、エンジンおよび/またはエンジン制御ユニットの販売者または製造者からの支援を受けることなく、顧客が、そのようなパラメータおよびキャリブレーションを変更することを不可能にするよう構成することができる。
エンジン制御ユニット420は、現在時間を維持する内部クロック421を含んでもよく、および/または動作時間(すなわち、エンジンが動作した時間量)を追跡するために使用してもよい。エンジン制御ユニット420はまた、シリアルナンバーを有して構成してもよい。エンジン制御ユニットはまた、エンジン制御ユニット420との双方向処理を可能にするインターフェース422を有して構成してもよい。インターフェース422は、キーボード、モニタ、マウス、ディスクドライブ、および1つまたは複数の任意のネットワーク(インターネット、他のデータネットワーク、およびボイスネットワークを含む)へのネットワーク接続などの任意の1つまたは複数を含んでもよい。
キャリブレーション変更が必要であると判断すると、エンジン410のオペレータは、キャリブレーション変更コードを要求する要求460を送信し、エンジン制御ユニット420で構成されるキャリブレーションを調整することができる。要求460は、オペレータが、エンジン410の販売者または製造者からキャリブレーション変更コードを要求する通話を含む、任意の形式をとることができる。それに応じて、販売者または製造者は、本明細書で説明するような、そのようなコードを生成および提供することができる。あるいは、エンジン410のオペレータは、ウェブページなどの自動化インターフェースを使用し、要求460を生成することができ、いくつかの実施形態において、本明細書で説明するように生成された、自動生成されたキャリブレーション変更コードを受信することができる。さらに他の実施形態では、オペレータは、そのようなコードに対する何らかの他の形式の電子的要求460を、インターネット450を介してエンジン410の製造者または販売者に電子メールで送るか、または送信することができ、手動または自動で生成され得る要求されたキャリブレーション変更コードを含む応答を同じ方法で受信することができる。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
一実施形態において、オペレータからの要求460は、所望される特定のキャリブレーションおよび/またはパラメータ変更463を含むことができ、さらに、エンジン制御ユニット120のシリアルナンバー461およびエンジン制御ユニット120の動作時間162を含むことができる。あるいは、要求460は、所望される特定のキャリブレーションならびに/もしくはパラメータ変更463、エンジン制御ユニット420のシリアルナンバー461、およびエンジン410の動作の開始時間やエンジン410の現在の動作時間に対する今後の動作時間などの基準時間に対してキャリブレーションの変更が所望される時間を含んでもよい。エンジン型はまた、図1から図3に関して図示したように、含まれ、使用され得る。その場合、この要求は、エンジン410の製造者または販売者にもたらされ得る。要求はまた、暗号化され、それにより、所期の受信者のみが、その要求を復号化することができることに留意されたい。
エンジン制御ユニット420のシリアルナンバーの代わりに、要求は、エンジン410の製造者または販売者によって使用されて、エンジン制御ユニット420に対するシリアルナンバーを判断することができる1つまたは複数の識別子を含んでもよいことに留意されたい。そのような識別子は、エンジン制御ユニット420で使用されるソフトウェア、ファームウェア、および/またはハードウェアに埋め込むことができ、さらに特定の型のエンジン410を識別することを可能にするエンジン型識別子を含むことができる。他の代替識別子は、エンジン制御ユニット420内で構成される1つまたは複数の回路基板、マザーボード、もしくは任意の他の型のハードウェアの識別子か、またはそのようなハードウェアのいずれかの組み合わせを識別する識別子とすることができる。さらに他の代替識別子は、良好に実行されたキャリブレーション変更のみを表すいくつかの実施形態において、一方、良好に実施されたキャリブレーション変更にそのような要求が対応するかどうかに関わらず、キャリブレーション変更に対する要求の数を表す他の実施形態において、これまでに要求されたキャリブレーション変更の数を表す識別子とすることができる。
要求の受信時に、エンジン410の製造者または販売者は、要求を検証し、要求460を必要であれば復号化し、キャリブレーション変更コード440を生成することができる。いくつかの実施形態において、要求された変更は、要求において指示されたか、または変更がエンジン型と適合可能であることを確実にするために、上記したような他のソースから判断された可能性のあるエンジン410のエンジン型と比較され得る。一実施形態において、キャリブレーションサーバ430を使用して、そのようなコードを生成してもよい。キャリブレーションサーバ430は、任意の型のコンピューティングデバイスか、または任意の数ならびに型のコンピューティングデバイスの任意の組み合わせとすることができる。キャリブレーションサーバ430は、要求460などの要求に含まれる時間を調整および/または同期するために使用することができる内部クロック431を有して構成することができ、それにより、キャリブレーション変更コード440は、エンジン制御ユニットによって受け入れられる。キャリブレーションサーバ430はまた、シリアルナンバー、動作開始時間(現在の動作時間を判断するために使用される)、およびエンジンならびにエンジン制御ユニットと関連付けられた任意の他のデータを有して構成されるデータベースとすることができるデータベース432と共に構成することができるか、または、データベース432にアクセスするよう構成することができる。そのようなデータを使用して、要求460が有効であり、正当なソースからのものであることを検証することができる。
生成されたキャリブレーション変更コード440は、エンジン制御ユニット420のシリアルナンバー441、エンジン制御ユニット420のキャリブレーションに対する変更が行われた可能性のある動作時間とすることができる動作時間442、およびエンジン410のオペレータによって要求されるような、エンジン制御ユニット420のキャリブレーションまたはパラメータへの1つまたは複数の変更とすることができる、キャリブレーション443を含むことができる。動作時間442は、変更が行われる、今後の単一時間または変更が行われた時間枠とすることができることに留意されたい。例えば、動作時間442が単一時間である場合、キャリブレーション443でもたらされる変更は、エンジン制御ユニット420によって自動的に、その時間に行われる可能性がある。あるいは、動作時間442が時間枠である場合、キャリブレーション443でもたらされる変更は、その時間枠のみの間に行われる可能性がある。キャリブレーション変更コード440は、暗号化することができ、任意の方法で提供することができ、そのような方法には、インターネット450を電気的に介する方法、言語による方法、任意の種類のディスクによる方法、または任意の他の手段を使用する方法があり、それらのすべては、本開示の範囲内であることを意図する。エンジン型はまた、キャリブレーションコードに含むことができ、図1から図3に関して上記したように使用することができる。
キャリブレーション変更コード440の受信時に、エンジン410のオペレータは、インターフェース422を使用する一実施形態において、キャリブレーション変更コード440を、エンジン制御ユニット420にもたらすことができる。エンジン制御ユニット420は、(必要であれば、復号化の後で)キャリブレーション変更コード440をチェックして、シリアルナンバー441が、エンジン制御ユニット420上で構成されるシリアルナンバーと一致することを確実にするソフトウェアを有して構成してもよい。その場合、このソフトウェアは、動作時間442が現在であるか、過去であるか、またはまだ到達していないかを判断することができる。動作時間442が過去である場合、エンジン制御ユニット420は、キャリブレーション変更コード440を拒否することができ、またはキャリブレーション443でもたらされる変更を実施しない可能性がある。動作時間442が現在であるか、現在時間を含む時間枠である場合、エンジン制御ユニット420は、キャリブレーション変更コード440でもたらされる変更を実施することができる。動作時間442が未来時間であるか、未来の時間枠である場合、エンジン制御ユニット420は、未来時間または時間枠に到達するまで、キャリブレーション変更コード440でもたらされる変更を実施することを待つことができる。
あるいは、エンジン410のオペレータは、インターフェース422を使用して、エンジン制御ユニット420に手動で指示し、キャリブレーション変更コード440でもたらされる変更を実施してもよい。そのような命令を受信すると、エンジン制御ユニット420は、その命令が、動作時間442によってもたらされる時間枠または時間内に受信されたかを検証することができ、そうであれば、変更を実施することができる。そのような命令が、動作時間442によってもたらされる時間外で受信された場合、エンジン制御ユニット420は、変更を実施しない可能性があり、変更を実施しなかったことを示すエラーメッセージをオペレータにもたらすことができる。
図5は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法500を示す。方法500、および方法500に記載される個々の動作および機能は、任意の1つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図1のコード生成サーバ130、図4のキャリブレーションサーバ430、および/または図1および図4で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法500は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および/またはコンポーネントと共に実行してもよい。方法500のブロックのいずれかに関して説明される機能および/または動作のいずれかは、任意の順序で、別々に、方法500もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに/もしくは動作のサブセットと共に、および他の機能ならびに/もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
ブロック510では、キャリブレーション変更のための要求を、エンジンのオペレータから受信することができる。この要求は、暗号化してもよい。この要求には、エンジン制御ユニットに対するシリアルナンバー、変更を開始する時間または時間枠、任意の所望の変更、エンジン型、および使用する可能性のある任意の他の情報を含むことができる。記載したように、この要求は、電子的、言語的、またはファックスを介してなどの、任意の方法で受信することができる。ブロック520では、要求が承認されるかどうかの判断を行うことができる。例えば、要求でもたらされるシリアルナンバーは、格納されたシリアルナンバーと比較され、エンジンのオペレータに対する識別情報に対してクロスチェックされ得る。あるいは、変更されるエンジン制御ユニットと関連したエンジンのエンジン型を、要求された変更がエンジン型と適合することを確認するためにチェックしてもよい。要求はまた、ブロック520で真正性を確実にするよう、復号化することができる。いくつかの実施形態において、要求された特定の変更は、例えば、関連するエンジンに精通しているエンジニアまたは技術者によって承認され、要求された変更の技術的ならびに機械的健全性を確実にすることを必要としてもよい。何らかの理由のために、要求が承認されない場合、ブロック525で、要求をしたオペレータは、通知を受け取ることができ、何らのキャリブレーション変更コードも生成されない可能性がある。
要求が承認されると、ブロック530で、キャリブレーション変更コードを生成することができる。このコードは、影響を受けるエンジン制御ユニットのシリアルナンバー、変更を開始する時間もしくは時間枠、および要求された変更を実施するようエンジン制御ユニットに指示する特定のコード、命令、ならびにエンジン型などを含むことができる。次いで、このキャリブレーション変更コードは、ブロック540で、オペレータに送信することができる。
図6は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法600を示す。方法600、および方法600に記載される個々の動作および機能は、任意の1つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図1のエンジン制御ユニット120、図4のエンジン制御ユニット420、および/または図1および図4で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法600は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および/またはコンポーネントと共に実行してもよい。方法600のブロックのいずれかに関して説明される機能および/または動作のいずれかは、任意の順序で、別々に、方法600もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに/もしくは動作のサブセットと共に、および他の機能ならびに/もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
ブロック610では、図5の方法500によって生成されたようなキャリブレーション変更コードは、エンジン制御ユニットで受信することができる。このキャリブレーション変更コードは、変更を実行するための時間もしくは時間枠、シリアルナンバー、エンジン型、およびエンジン制御ユニットに、キャリブレーションならびに/もしくはパラメータに対する変更を実施させる1つまたは複数のコードもしくは命令を含むことができる。ブロック620では、受信したキャリブレーション変更コードを検証することができる。これには、必要であれば、コードを復号化することを含んでもよい。他の検証には、キャリブレーション変更コードでもたらされるシリアルナンバーが、受信するエンジン制御ユニットのシリアルナンバーに対応すること、および変更のための時間もしくは時間枠が過去ではないことを判断することを含んでもよい。何らかの理由のため、キャリブレーション変更コードを検証することができない場合、ブロック625で、オペレータは通知を受けることができ、何らの変更も実施されない可能性がある。
ブロック630で、エンジン制御ユニットは、変更を実施するための時間に到達したかを判断することができる。これは、列挙された変更を実行するためにオペレータから手動の命令を受信したことへの応答、または変更コードを受信し、変更のための時間にまだなっていないと事前に判断したことへの応答としてもよい。変更のための時間になっていなかった場合、エンジン制御ユニットは、時間のモニタリングを続け、その時間を、変更を実行するためにもたらされた時間または時間枠と比較することができ、ブロック630に留まる。変更を実行するための時間になった場合、または変更の実施が許可される時間枠内に現在時間がある場合、ブロック640で、変更を実施することができる。ブロック650で、オペレータは、変更を実施したことについて、通知を受けることができる。
本明細書に記載するシステムおよび方法の技術的効果は、エンジン制御ユニットでキャリブレーションされるエンジン型に対する変更を制御し、許可されたエンジン型と適合する変更のみを実行することを確実にするための能力である。本明細書に記載するシステムおよび方法のさらなる技術的効果は、エンジンおよびエンジン制御ユニットへの変更を制御して、効率および性能を保証するための能力である。本明細書に記載するシステムおよび方法は、そのようなエンジンのオペレータが、エンジン型およびエンジン制御ユニットの変更を要求し、実施することを容易にすることができる。当業者によって理解されるであろうように、開示した処理およびシステムの使用により、エンジンの信頼性および効率的な動作を維持しながら、オペレータのフレキシビリティを高めることができる。当業者は、開示したシステムおよび方法を他のシステムおよび技術と組み合わせて、一層大きな利益を実現することができることを認識するであろう。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
いくつかの実施形態において、変更は、本明細書で説明するような型変更コードまたはキャリブレーションコードを使用して容易に行う場合よりもより大規模にすることができ、そのような実施形態において、型変更コードまたはキャリブレーションコードはまた、または代わりに、エンジン制御ユニットが、(型変更、キャリブレーション変更、またはその他の変更に対して)変更命令および/またはアップデート済みのソフトウェアやファームウェアなどを、ネットワーク接続を介して、ダウンロードするか、もしくは受信することを可能にすることができることに留意されたい。任意のコード、タイピング、キャリブレーション、および他の調整は、エンジン制御ユニットが、本明細書で説明するような型変更コードを使用して、遠隔デバイスと通信することを可能にすることによって、エンジン制御ユニットで利用可能にすることができる。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
図7および以下の説明は、本明細書で開示するエンジン制御ユニット構成セキュリティシステムならびに方法および/またはそれらの一部を実現することができる、適切なコンピューティング環境の、簡潔で一般的な説明を提供することを意図する。例えば、エンジン制御ユニット120および420、コード生成サーバ130、およびキャリブレーションサーバ430の機能は、図7に関して説明する態様の一部またはすべてを含む1つまたは複数のデバイスによって実行することができる。特許請求する実施形態の機能を実行するために使用することができる、図7で説明するデバイスの一部またはすべては、図1および図4に関して説明したものなどのシステムに埋め込むことができる制御器内に構成することができる。あるいは、図7で説明するデバイスの一部またはすべては、任意のデバイス、デバイスの組み合わせ、または開示する実施形態の任意の態様を実行する任意のシステムに含んでもよい。
必ずしも必要ではないが、本明細書で開示するエンジン制御ユニット構成セキュリティシステムおよび方法は、クライアントワークステーション、サーバ、またはパーソナルコンピュータなどのコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。そのようなコンピュータ実行可能命令は、過度信号それ自体ではない、任意の型のコンピュータ読取り可能ストレージデバイスに格納することができる。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造などを含む。さらに、本明細書で説明するエンジン制御ユニット構成セキュリティシステムならびに方法および/またはその一部は、他のコンピュータシステム構成と共に実現することができ、そのような他のコンピュータシステム構成には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサ型もしくはプログラム可能民生電子機器、ネットワークPC、ミニコンピュータ、およびメインフレームコンピュータなどを含むことを認識すべきである。本明細書で開示する方法およびシステムはまた、通信ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実行される分散コンピューティング環境で実施してもよい。分散型コンピューティング環境では、プログラムモジュールは、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両方に配置してもよい。
図7は、本明細書で開示される方法ならびにシステムおよび/またはそれらの一部の態様を組み込むことができる汎用コンピュータシステムを表すブロック図である。図のように、例示的汎用コンピューティングシステムは、コンピュータ720などを含み、コンピュータ720は、処理ユニット721、システムメモリ722、およびシステムメモリを含むさまざまなシステムコンポーネントを処理ユニット721に接続するシステムバス723を含む。システムバス723は、メモリバスもしくはメモリ制御器、周辺バス、および任意のさまざまなバスアーキテクチャを使用するローカルバスを含む、任意のいくつかの型のバス構造とすることができる。システムメモリには、リード・オンリー・メモリ(ROM)724およびランダム・アクセス・メモリ(RAM)725を含んでもよい。基本入出力システム726(BIOS)は、スタートアップ中などに、コンピュータ720内の要素間で情報を転送するための補助をする基本ルーチンを備えることができ、ROM724に格納することができる。
コンピュータ720は、ハードディスク(図示せず)に読み書きするためのハードディスクドライブ727、リムーバブル磁気ディスク729に読み書きするための磁気ディスクドライブ728、および/またはCD−ROMもしくは他の光学メディアなどのリムーバブル光学ディスク731に読み書きするための光学ディスクドライブ730をさらに備えてもよい。ハードディスクドライブ727、磁気ディスクドライブ728、および光学ディスクドライブ730は、それぞれ、ハードディスクドライブインターフェース732、磁気ディスクドライブインターフェース733、および光学ドライブインターフェース734によって、システムバス723に接続することができる。ドライブおよびそれに関連した機械読取り可能メディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュール、およびコンピュータ720に対する他のデータの不揮発性ストレージを提供する。
本明細書で説明する例示的環境は、ハードディスク、リムーバブル磁気ディスク729、およびリムーバブル光学ディスク731を使用するが、コンピュータによってアクセス可能なデータを格納することができる他の型のコンピュータ読取りもまた、例示的動作環境で使用することができることを認識するべきである。そのような他の型のメディアには、これらに限定されないが、磁気カセット、フラッシュメモリカード、デジタルビデオもしくは多用途ディスク、ベルヌーイカートリッジ、ランダム・アクセス・メモリ(RAM)、およびリード・オンリー・メモリ(ROM)などがある。
多くのプログラムモジュールを、ハードディスクドライブ727、磁気ディスク729、光学ディスク731、ROM724、および/またはRAM725に格納することができ、そのようなプログラムモジュールには、オペレーティングシステム735、1つまたは複数のアプリケーションプログラム736、他のプログラムモジュール737、およびプログラムデータ738がある。ユーザは、キーボード740およびポインティングデバイス742などの入力デバイスを介して、コマンドおよび情報を、コンピュータ720に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディスク、またはスキャナなどを含むことができる。これらの、および他の入力デバイスは、システムバスに結合されるシリアルポートインターフェース746を介して処理ユニット721に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースによって接続してもよい。モニタ747または他の型のディスプレイデバイスもまた、ビデオアダプタ748などのインターフェースを介して、システムバス723に接続することができる。モニタ747に加えて、コンピュータは、スピーカおよびプリンタなどの、他の周辺出力デバイス(図示せず)を備えてもよい。図7の例示的システムはまた、ホストアダプタ755、スモール・コンピュータ・システム・インターフェース(SCSI)バス756、およびSCSIバス756に接続することができる外部ストレージデバイス762を含むことができる。
コンピュータ720は、遠隔コンピュータ749、エンジン110のコンポーネント、およびエンジン制御ユニット120などの、1つまたは複数の遠隔コンピュータまたはデバイスへの論理的および/または物理的接続を使用して、ネットワーク環境で動作することができる。エンジン110のコンポーネントおよびエンジン制御ユニット120は、説明した機能を実行することができ、本明細書で説明するような任意のデバイスとすることができる。遠隔コンピュータ749は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードとすることができ、コンピュータ720に関して上記した要素の多くまたはすべてを含んでもよいが、メモリストレージデバイス750のみを、図7に図示した。図7に示してある論理的接続は、ローカルエリアネットワーク(LAN)751およびワイドエリアネットワーク(WAN)752を含んでもよい。そのようなネットワーキング環境は、事務所、企業規模コンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
LANネットワーキング環境で使用される場合、コンピュータ720は、ネットワークインターフェースまたはアダプタ753を介して、LAN751に接続することができる。WANネットワーキング環境で使用される場合、コンピュータ720は、モデム754、またはインターネットなどのワイドエリアネットワーク752上での通信を確立する他の手段を含むことができる。モデム754は、内蔵または外付けとすることができ、シリアルポートインターフェース746を介して、システムバス723に接続することができる。ネットワーク環境では、コンピュータ720に関連して示したプログラムモジュール、またはその一部は、遠隔メモリストレージデバイスに格納することができる。示したネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用してもよいことが理解されよう。
コンピュータ720は、さまざまなコンピュータ読取り可能ストレージメディアを含むことができる。コンピュータ読取り可能ストレージメディアは、コンピュータ720がアクセスすることができる、揮発性および不揮発性メディア、リムーバブルおよび非リムーバブルメディアを含む、任意の利用可能な、有形の、非一時的、または非伝搬メディアとすることができる。例えば、限定するものではないが、コンピュータ読取り可能メディアは、コンピュータ・ストレージ・メディアおよび通信メディアを備えることができる。コンピュータ・ストレージ・メディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を保管するための任意の方法または技術で実現される、揮発性および不揮発性、リムーバブルおよび非リムーバブルメディアを含む。コンピュータ・ストレージ・メディアは、これらに限定されないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望の情報を格納するために使用することができ、コンピュータ720がアクセスすることができる任意の他の有形メディアを含む。上記の任意の組み合わせはまた、本明細書で説明する方法およびシステムを実現するためのソースコードを格納するために使用することができる、コンピュータ読取り可能メディアの範囲内に含まれる。本明細書で開示する特徴または要素の任意の組み合わせは、1つまたは複数の実施形態で使用することができる。
本明細書は最良の形態を含む本明細書に含まれる発明の主題を開示するため、および、あらゆるデバイスまたはシステムを製作し、ならびに使用し、およびあらゆる組込方法を実行することを含む任意の当業者が本発明を実施することを可能にするための例を用いる。本開示の特許可能な範囲は、特許請求の範囲によって定義され、当業者が想到するその他の実施例を含むことができる。このような他の実施例は、特許請求の範囲の文言との差がない構造要素を有する場合、または特許請求の範囲の文言との実質的な差がない等価の構造要素を含む場合、特許請求の範囲内にある。
100 システム
110 エンジン
120 エンジン制御ユニット
121 型
122 インターフェース
130 コード生成サーバ
132 データベース
140 型変更コード
141 シリアルナンバー
142 型識別子
150 インターネット
160 要求
161 シリアルナンバー
162 識別子
200 方法
210 ブロック
220 ブロック
225 ブロック
230 ブロック
240 ブロック
300 方法
310 ブロック
320 ブロック
325 ブロック
330 ブロック
340 ブロック
350 ブロック
420 コンピュータ
400 システム
410 エンジン
420 エンジン制御ユニット
421 内部クロック
430 キャリブレーションサーバ
431 内部クロック
432 データベース
440 キャリブレーション変更コード
441 シリアルナンバー
442 動作時間
443 キャリブレーション
450 インターネット
460 要求
461 シリアルナンバー
462 変更時間
463 パラメータ変更
500 方法
510 ブロック
520 ブロック
525 ブロック
530 ブロック
540 ブロック
600 方法
610 ブロック
620 ブロック
625 ブロック
630 ブロック
640 ブロック
650 ブロック
720 コンピュータ
721 処理ユニット
722 メモリ
723 バス
724 ROM
725 RAM
726 BIOS(基本入出力システム)
727 ハードディスクドライブ
728 磁気ディスクドライブ
729 リムーバブル磁気ディスク
730 光学ディスクドライブ
731 リムーバブル光学ディスク
732 ハードドライブインターフェース
733 磁気ディスクドライブインターフェース
734 光学ディスクドライブインターフェース
735 オペレーティングシステム
736 アプリケーションプログラム
737 プログラムモジュール
738 プログラムデータ
740 キーボード
742 ポインティングデバイス
746 シリアルポートインターフェース
747 モニタ
748 ビデオアダプタ
749 遠隔コンピュータ
750 メモリストレージデバイス
751 LAN
752 WAN
753 アダプタ
754 モデム
755 ホストアダプタ
756 SCSIバス
762 外部ストレージデバイス

Claims (10)

  1. システム(100)は、プログラムを記憶するメモリ(722)と、前記メモリ(722)に接続されるプロセッサ(721)とを備え、
    前記プログラムは、前記プロセッサ(721)に、
    変更制御デバイス(130、430)で、エンジン制御ユニット(120、420)と関連付けられたシリアルナンバー(161、461)および要求されるエンジン制御ユニット変更(162、463)を受信すること、
    前記エンジン制御ユニット(120、420)と関連付けられた前記シリアルナンバー(161、461)が、対応するシリアルナンバーと一致することを確認すること
    前記要求されるエンジン制御ユニット変更(162、463)が承認されたことを判断すること、
    前記エンジン制御ユニット(120、420)と関連付けられた前記シリアルナンバー(141、441)を備えるコード(140、440)を生成すること、ならびに
    前記エンジン制御ユニット(120、420)に、
    前記要求されるエンジン制御ユニット変更(162、463)を実施させる、
    前記コードを拒否する、または、
    前記要求されるエンジン制御ユニット変更(162、463)を実施しない、
    命令(143、443)を生成すること、
    を実行させ、
    前記要求されるエンジン制御ユニット変更(162、463)が承認されたことを判断することは、前記エンジン制御ユニット(120、420)と関連付けられたエンジン(110、410)のオペレータが、前記要求されるエンジン制御ユニット変更(162、463)に対して支払いをしたことを判断することを備え、
    前記要求されるエンジン制御ユニット変更(162、463)は、前記エンジン制御ユニット(120、420)で構成されるキャリブレーションの変更および前記エンジン制御ユニット(120、420)で構成されるエンジン型の変更の一方である、
    エンジン制御ユニットの構成を保護するシステム(100)。
  2. 変更時間(462)を受信することをさらに備える、請求項1に
    記載のシステム。
  3. 前記エンジン制御ユニット(120、420)と関連付けられた前記シリアルナンバー(161、461)および前記要求されるエンジン制御ユニット変更(162、463)は、暗号化された電子メッセージで受信される、請求項1または2のいずれかに記載のシステム。
  4. 暗号化された電子メッセージで、前記コードを前記エンジン制御ユニット(120、420)に送信することをさらに備える、請求項1乃至のいずれかに記載のシステム。
  5. 前記要求されるエンジン制御ユニット変更(162、463)が承認されたことを判断することは、前記エンジン制御ユニット(120、420)と関連付けられたエンジン(110、410)が、前記要求されるエンジン制御ユニット変更(162、463)と適合可能であることを判断することを備える、請求項1乃至のいずれかに記載のシステム。
  6. 変更制御デバイス(130、430)で、エンジン制御ユニット(120、420)と関連付けられたシリアルナンバー(161、461)および要求されるエンジン制御ユニット変更(162、463)を受信するステップと、
    前記エンジン制御ユニット(120、420)と関連付けられた前記シリアルナンバー(161、461)が、対応するシリアルナンバーと一致することを確認するステップと、
    前記変更制御デバイス(130、430)で、前記要求されるエンジン制御ユニット変更(162、463)が承認されたことを判断するステップと、
    前記変更制御デバイス(130、430)で、前記エンジン制御ユニット(120、420)と関連付けられた前記シリアルナンバー(161、461)を備えるコードを生成するステップ、および
    前記エンジン制御ユニット(120、420)に、
    前記要求されるエンジン制御ユニット変更(162、463)を実施させる、
    前記コードを拒否する、または、
    前記要求されるエンジン制御ユニット変更(162、463)を実施しない、
    命令を生成するステップと、
    を含み、
    前記要求されるエンジン制御ユニット変更(162、463)が承認されたことを判断するステップは、前記エンジン制御ユニット(120、420)と関連付けられたエンジン(110、410)のオペレータが、前記要求されるエンジン制御ユニット変更(162、463)に対して支払いをしたことを判断するステップを備え、
    前記要求されるエンジン制御ユニット変更(162、463)は、前記エンジン制御ユニット(120、420)で構成されるキャリブレーションの変更および前記エンジン制御ユニット(120、420)で構成されるエンジン型の変更の一方である、
    エンジン制御ユニットの構成を保護するための方法。
  7. 変更時間(462)を受信するステップをさらに備える、請求項に記載の方法。
  8. 前記エンジン制御ユニット(120、420)と関連付けられた前記シリアルナンバー(161、461)および前記要求されるエンジン制御ユニット変更(162、463)は、暗号化された電子メッセージで受信される、請求項6または7のいずれかに記載の方法。
  9. 暗号化された電子メッセージで、前記コードを前記エンジン制御ユニット(120、420)に送信するステップをさらに備える、請求項乃至のいずれかに記載の方法。
  10. 前記要求されるエンジン制御ユニット変更(162、463)が承認されたことを判断するステップは、前記エンジン制御ユニット(120、420)と関連付けられたエンジン(110、410)が、前記要求されるエンジン制御ユニット変更(162、463)と適合可能であることを判断するステップを備える、請求項乃至のいずれかに記載の方法。
JP2015001931A 2014-01-13 2015-01-08 エンジン制御ユニット構成セキュリティ Active JP6841583B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/153,811 2014-01-13
US14/153,811 US9158926B2 (en) 2014-01-13 2014-01-13 Engine control unit configuration security

Publications (3)

Publication Number Publication Date
JP2015163786A JP2015163786A (ja) 2015-09-10
JP2015163786A5 JP2015163786A5 (ja) 2018-02-08
JP6841583B2 true JP6841583B2 (ja) 2021-03-10

Family

ID=53485124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015001931A Active JP6841583B2 (ja) 2014-01-13 2015-01-08 エンジン制御ユニット構成セキュリティ

Country Status (3)

Country Link
US (1) US9158926B2 (ja)
JP (1) JP6841583B2 (ja)
DE (1) DE102015100360A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542558B2 (en) * 2014-03-12 2017-01-10 Apple Inc. Secure factory data generation and restoration
US10204226B2 (en) 2016-12-07 2019-02-12 General Electric Company Feature and boundary tuning for threat detection in industrial asset control system
JP6824418B2 (ja) * 2016-12-21 2021-02-03 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 車両の機関制御ユニット(ecu)を較正するシステム及び方法
US10989159B2 (en) 2017-03-31 2021-04-27 Honda Motor Co., Ltd. Control device of general-purpose engine

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4266522A (en) * 1976-11-04 1981-05-12 Lucas Industries Limited Fuel injection systems
US4244023A (en) * 1978-02-27 1981-01-06 The Bendix Corporation Microprocessor-based engine control system with acceleration enrichment control
US5606315A (en) 1994-12-12 1997-02-25 Delco Electronics Corp. Security method for protecting electronically stored data
JP3550834B2 (ja) * 1995-11-13 2004-08-04 株式会社デンソー 自動車用電子制御装置のメモリ書換システム,自動車用電子制御装置及びメモリ書換装置
US5731688A (en) 1996-03-13 1998-03-24 Alaska Power Systems Inc. Control system and circuits for distributed electrical-power generating stations
US5734255A (en) 1996-03-13 1998-03-31 Alaska Power Systems Inc. Control system and circuits for distributed electrical power generating stations
US5754033A (en) 1996-03-13 1998-05-19 Alaska Power Systems Inc. Control system and circuits for distributed electrical-power generating stations
US5787367A (en) 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
US6275911B1 (en) 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
US6571191B1 (en) 1998-10-27 2003-05-27 Cummins, Inc. Method and system for recalibration of an electronic control module
JP2000335371A (ja) 1999-05-26 2000-12-05 Denso Corp 電子制御装置及び記録媒体
US7184866B2 (en) * 1999-07-30 2007-02-27 Oshkosh Truck Corporation Equipment service vehicle with remote monitoring
US6550052B1 (en) 1999-11-09 2003-04-15 Daimlerchrysler Corporation Software development framework for constructing embedded vehicle controller software
US7068147B2 (en) 1999-12-07 2006-06-27 Denso Corporation Control information rewriting system
JP3954271B2 (ja) 2000-03-16 2007-08-08 本田技研工業株式会社 車両制御装置のためのメモリ書き換えシステム
US6560528B1 (en) 2000-03-24 2003-05-06 Internal Combustion Technologies, Inc. Programmable internal combustion engine controller
JP3835969B2 (ja) 2000-04-13 2006-10-18 本田技研工業株式会社 車両制御装置のための書き換えシステム
JP2002132368A (ja) * 2000-10-24 2002-05-10 Canon Inc ファームウェアのバージョンアップシステムおよび方法
US6505105B2 (en) 2001-01-05 2003-01-07 Delphi Technologies, Inc. Electronic control unit calibration
JP4817511B2 (ja) * 2001-02-23 2011-11-16 株式会社ブロードリーフ アプリケーションプログラム不正使用防止方法、および、アプリケーションプログラム不正使用防止システム
JP2003131885A (ja) 2001-10-24 2003-05-09 Denso Corp 車載電子制御装置のプログラム書込システム
JP2004028000A (ja) 2002-06-27 2004-01-29 Mitsubishi Electric Corp 通信による車載ecuのメモリ書き換え装置
JP2004051056A (ja) 2002-07-24 2004-02-19 Mitsubishi Electric Corp 自動車用電子制御装置
JP2004287475A (ja) 2003-01-27 2004-10-14 Fujitsu Ten Ltd 電子制御装置および電子駆動装置
JP4561254B2 (ja) * 2004-09-03 2010-10-13 セイコーエプソン株式会社 デバイス管理システム
JP2007325214A (ja) * 2006-06-05 2007-12-13 Sony Ericsson Mobilecommunications Japan Inc 無線通信システム、端末装置及び無線通信方法
JP5020399B1 (ja) * 2011-06-30 2012-09-05 楽天株式会社 情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体
JP6383136B2 (ja) * 2012-03-21 2018-08-29 株式会社リコー Pop作成システム、pop作成方法およびプログラム
DE102012206745A1 (de) * 2012-04-24 2013-10-24 Mtu Friedrichshafen Gmbh Verfahren zum Betrieb einer Brennkraftmaschine, Brennkraftmaschine und Wartungssystem für eine Brennkraftmaschine, selbstausführbares Computerprogrammprodukt und nichtflüchtiges Speichermedium

Also Published As

Publication number Publication date
DE102015100360A1 (de) 2015-07-16
US20150199522A1 (en) 2015-07-16
US9158926B2 (en) 2015-10-13
JP2015163786A (ja) 2015-09-10

Similar Documents

Publication Publication Date Title
TWI741041B (zh) 用於可程式化設備的統一程式設計環境
US11637707B2 (en) System and method for managing installation of an application package requiring high-risk permission access
TWI747836B (zh) 裝置出生憑證
JP2021022395A (ja) 機器の安全なプロビジョニングと管理
JP6841583B2 (ja) エンジン制御ユニット構成セキュリティ
KR101439604B1 (ko) 온라인 스토어 상의 사용자 계정에 미리 설치된 소프트웨어를 링크하기 위한 시스템 및 방법
US8484752B2 (en) Verifying authenticity of electronic control unit code
CA2951914C (en) Restricted code signing
CN105204789A (zh) 一种api调试日志打印方法及装置
US20190139797A1 (en) Methods and devices for process editing, acquisition, process data protection for solar cell production apparatus
US10270742B2 (en) Cryptographic service with output redirection
CN105678115A (zh) 一种软件认证方法及相关设备与系统
CN111070662A (zh) 一种3d打印方法、设备及存储介质
JP5951162B1 (ja) 制御装置、複合ユニット装置、更新判定プログラム及びプログラム更新方法
US20190137971A1 (en) Method And Apparatus For Editing, Obtaining, and Protecting Process Of Solar Cell Production Device
CN111880781A (zh) 一种rpm安装包的生成方法、装置、设备及存储介质
CN103795905A (zh) 一种网络摄像机可信启动方法
CN106326723A (zh) Apk签名认证的方法及装置
EP3699802B1 (en) Security data processing device
CN112751825B (zh) 基于ssl证书的软件源发布权限控制方法及系统
KR101526532B1 (ko) 전자책 drm 시스템의 호환성 검증 장치 및 방법
CN112995325A (zh) 服务调试方法、调试服务、电子设备及计算机存储介质
US20220326677A1 (en) Control device, control system, and management method
CN113127262B (zh) 镜像文件的生成方法、装置、电子设备及存储介质
JP6808094B1 (ja) データ処理装置、データ処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190507

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190829

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20190829

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200121

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200416

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200812

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20201214

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210121

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210218

R150 Certificate of patent or registration of utility model

Ref document number: 6841583

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250