(57)【要約】      （修正有）【課題】エンジン制御システムの構成を保護するための方法およびシステムを提供する。【解決手段】エンジン制御ユニット構成セキュリティシステムは、エンジン制御ユニット１２０と関連付けられたシリアルナンバー１４１、１６１を有する要求と、要求されるエンジン制御ユニット変更とを受信する。本システムは、要求されたエンジン制御ユニット変更が承認されたことを判断し、それに応じて、エンジン制御ユニット１２０と関連付けられたシリアルナンバー１４１、１６１およびエンジン制御ユニット１２０に要求されたエンジン制御ユニット変更を実施させる命令を備えるコード１３０を生成する。【選択図】図１
2015163786.tif 000002
【特許請求の範囲】
【請求項１】
システム（１３０、４３０）は、命令を備えるメモリ（７２２）と、前記メモリ（７２２）に接続されるプロセッサ（７２１）とを備え、前記プロセッサ（７２１）は、前記命令を実行する場合、エンジン制御ユニット（１２０、４２０）と関連付けられたシリアルナンバー（１６１、４６１）および要求されるエンジン制御ユニット変更（１６２、４６３）を受信すること、前記要求されるエンジン制御ユニット変更（１６２、４６３）が承認されたことを判断すること、および前記エンジン制御ユニット（１２０、４２０）と関連付けられた前記シリアルナンバー（１４１、４４１）を備えるコード（１４０、４４０）ならびに前記エンジン制御ユニット（１２０、４２０）に、前記要求されるエンジン制御ユニット変更（１６２、４６３）を実施させる命令（１４３、４４３）を生成すること、を備える動作を実施する、システム（１３０、４３０）。
【請求項２】
前記要求されるエンジン制御ユニット変更（１６２、４６３）は、前記エンジン制御ユニット（１２０、４２０）で構成されるキャリブレーションの変更および前記エンジン制御ユニット（１２０、４２０）で構成されるエンジン型の変更の一方である、請求項１に記載のシステム。
【請求項３】
前記動作は、変更時間（４６２）を受信することをさらに備える、請求項１に記載のシステム。
【請求項４】
前記エンジン制御ユニット（１２０、４２０）と関連付けられた前記シリアルナンバー（１６１、４６１）および前記要求されるエンジン制御ユニット変更（１６２、４６３）は、暗号化された電子メッセージで受信される、請求項１に記載のシステム。
【請求項５】
前記動作は、暗号化された電子メッセージで、前記コードを前記エンジン制御ユニット（１２０、４２０）に送信することをさらに備える、請求項１に記載のシステム。
【請求項６】
前記要求されるエンジン制御ユニット変更（１６２、４６３）が承認されたことを判断することは、前記エンジン制御ユニット（１２０、４２０）と関連付けられたエンジン（１１０、４１０）が、前記要求されるエンジン制御ユニット変更（１６２、４６３）と適合可能であることを判断することを備える、請求項１に記載のシステム。
【請求項７】
前記要求されるエンジン制御ユニット変更（１６２、４６３）が承認されたことを判断することは、前記エンジン制御ユニット（１２０、４２０）と関連付けられたエンジン（１１０、４１０）のオペレータが、前記要求されるエンジン制御ユニット変更（１６２、４６３）に対して支払いをしたことを判断することを備える、請求項１に記載のシステム。
【請求項８】
変更制御デバイス（１３０、４３０）で、エンジン制御ユニット（１２０、４２０）と関連付けられたシリアルナンバー（１６１、４６１）および要求されるエンジン制御ユニット変更（１６２、４６３）を受信するステップと、前記変更制御デバイス（１３０、４３０）で、前記要求されるエンジン制御ユニット変更（１６２、４６３）が承認されたことを判断するステップと、前記変更制御デバイス（１３０、４３０）で、前記エンジン制御ユニット（１２０、４２０）と関連付けられた前記シリアルナンバー（１６１、４６１）を備えるコードおよび前記エンジン制御ユニット（１２０、４２０）に前記要求されるエンジン制御ユニット変更（１６２、４６３）を実施させる命令を生成するステップとを備える、方法。
【請求項９】
前記要求されるエンジン制御ユニット変更（１６２、４６３）は、前記エンジン制御ユニット（１２０、４２０）で構成されるキャリブレーションの変更および前記エンジン制御ユニット（１２０、４２０）で構成されるエンジン型の変更の一方である、請求項８に記載の方法。
【請求項１０】
変更時間（４６２）を受信するステップをさらに備える、請求項８に記載の方法。
【請求項１１】
前記エンジン制御ユニット（１２０、４２０）と関連付けられた前記シリアルナンバー（１６１、４６１）および前記要求されるエンジン制御ユニット変更（１６２、４６３）は、暗号化された電子メッセージで受信される、請求項８に記載の方法。
【請求項１２】
暗号化された電子メッセージで、前記コードを前記エンジン制御ユニット（１２０、４２０）に送信するステップをさらに備える、請求項８に記載の方法。
【請求項１３】
前記要求されるエンジン制御ユニット変更（１６２、４６３）が承認されたことを判断するステップは、前記エンジン制御ユニット（１２０、４２０）と関連付けられたエンジン（１１０、４１０）が、前記要求されるエンジン制御ユニット変更（１６２、４６３）と適合可能であることを判断するステップを備える、請求項８に記載の方法。
【請求項１４】
前記要求されるエンジン制御ユニット変更（１６２、４６３）が承認されたことを判断するステップは、前記エンジン制御ユニット（１２０、４２０）と関連付けられたエンジン（１１０、４１０）のオペレータが、前記要求されるエンジン制御ユニット変更（１６２、４６３）に対して支払いをしたことを判断するステップを備える、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的にエンジンを制御するエンジン制御ユニットに関し、特に、エンジン制御システムの構成を保護するための方法およびシステムに関する。
【背景技術】
【０００２】
現代のすべての型のエンジンは、最適な性能および効率で動作させるために多くのパラメータを精密にキャリブレーションすることが必要な、複雑な機械である。したがって、エンジン製造者の多くは、製造時にそのようなキャリブレーションを設定し、「型」とキャリブレーションとを関連付け、さらに、「型」とエンジンを制御するエンジン制御ユニットとを関連付ける。その場合、これらの型を使用して、エンジン制御ユニットと同じ型またはエンジン制御ユニットと適合可能な型を有するキャリブレーションのみが、ユニットで実施されるであろうことを確実にすることができる。エンジンの製造者は、エンドユーザが、キャリブレーションを調整することを一切許可しない可能性があり、代わりに、何らかの変更が製造者によって事前に実施または承認され、エンジンが適切にキャリブレーションされたままで、動作仕様の範囲内にあることを確実にすることを要求する。
【発明の概要】
【０００３】
例示的で、非限定の実施形態において、本システムは、命令を備えるメモリと、命令を実行する場合に、エンジン制御ユニットと関連付けられたシリアルナンバーおよび要求されたエンジン制御ユニット変更を受信するメモリに接続されるプロセッサとを備えることができる。本システムは、要求されたエンジン制御ユニット変更が承認されたことを判断し、エンジン制御ユニットと関連付けられたシリアルナンバーおよびエンジン制御ユニットに要求されたエンジン制御ユニット変更を実施させる命令を含むコードを生成することができる。
【０００４】
他の例示的な、非限定の実施形態では、キャリブレーション変更デバイスで、エンジン制御ユニットと関連付けられたシリアルナンバーおよび要求されたエンジン制御ユニット変更を受信するための方法を開示する。本方法はさらに、要求されたエンジン制御ユニット変更が承認されたことを判断し、エンジン制御ユニットと関連付けられたシリアルナンバーおよびエンジン制御ユニットに要求されたエンジン制御ユニット変更を実施させる命令を備えるコードを生成する。
【０００５】
他の例示的な、非限定の実施形態では、コンピュータ読取り可能メディアは、プロセッサによって実行されると、そのプロセッサに、エンジン制御ユニットと関連付けられたシリアルナンバーおよび要求されたエンジン制御ユニット変更を受信するなどの動作を実行させる、コンピュータ実行可能命令を有することができる。本動作はさらに、要求されたエンジン制御ユニット変更が承認されたことを判断すること、エンジン制御ユニットと関連付けられたシリアルナンバーおよびエンジン制御ユニットに要求されたエンジン制御ユニット変更を実施させる命令を備えるコードを生成することを含むことができる。
【０００６】
上記の概要、および以下の詳細な説明は、図面と共に読むことにより、よりよく理解される。特許請求される発明の主題を示す目的のために、さまざまな実施形態を示す例を図に示すが、本発明は、開示される特定のシステムおよび方法に限定されない。
【０００７】
本発明の主題のこれらの、および他の特徴、態様、および利点は、以下の詳細な説明を添付図面を参照して読むと、より理解されるであろう。
【図面の簡単な説明】
【０００８】
【図１】非限定の例示的なエンジン制御ユニット構成セキュリティシステムのブロック図である。
【図２】非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。
【図３】非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。
【図４】非限定の例示的なエンジン制御ユニット構成セキュリティシステムのブロック図である。
【図５】非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。
【図６】非限定の例示的なエンジン制御ユニット構成セキュリティシステムを実現する方法を示すフローチャートである。
【図７】本明細書で開示される方法およびシステムの態様を組み込むことができる汎用コンピュータシステムを表す例示的ブロック図である。
【発明を実施するための形態】
【０００９】
図１は、一実施形態により実現することができる、例示的システム１００を示す。図示するシステム１００は、本明細書で開示されるコンセプトを説明するために使用される簡易ブロック図であり、したがって、本明細書で開示される任意の実施形態に対して求められる任意の物理的要件または特定の構成を記載するものとして解釈されるべきではない。本明細書で開示されるすべての構成要素、デバイス、システム、および方法は、任意の形状、形式、または型のコンポーネント数で実施することができ、開示する実施形態を実施することを可能にする任意のそのようなコンポーネントの任意の組み合わせは、本開示の範囲内であると意図される。
【００１０】
エンジン１１０は、任意の型のエンジンとすることができ、ガスタービンエンジン、ディーゼルエンジン、およびガソリンエンジンなどの、任意の型の内燃機関を含む。エンジン制御ユニット１２０は、任意の型のコンピューティングデバイスまたは制御器とすることができ、エンジン１１０およびエンジン１１０の任意のコンポーネントを制御することができ、エンジン１１０の動作に影響するパラメータを制御および／または設定することができる。現代のエンジンは、調整または設定することができる、多くの異なるパラメータおよびキャリブレーションを有することができる。これらには、可能な最大馬力、可能な最大トルク、可能な最大毎分回転数（ＲＰＭ）、最大過負荷、時期マップ、調速器調整、ターボ過給エンジンを可能とする最大ブースト、エンジン、エンジンキャリブレーション要素、ならびにエンジン流体温度に対する限界、デトネーション限界、および特定の条件下で使用するためのシリンダの数などがある。すべてのそのようなパラメータならびにキャリブレーション、およびエンジンに対して構成することができる任意の他のパラメータならびにキャリブレーションは、本開示の範囲内であるとして意図される。すべてのパラメータおよびキャリブレーションは、製造時に、またはそのようなエンジン制御ユニットを使用するエンジンが顧客に提供される前に、それらが正確であることを確実にするよう、最初に設定することができる。
【００１１】
「型」は、エンジン制御ユニット１２０で構成することができ、エンジンで構成される各キャリブレーションおよびパラメータと関連付けられ、エンジンが、不適合なキャリブレーションまたはパラメータを有して構成されないことを確実にすることができる。例えば、型は、特定の機械的構成を有するエンジン（例えば、５００馬力を生成する６シリンダディーゼルエンジン）とすることができる。何らかのキャリブレーションまたはパラメータが、同じ型と関連付けられたことをチェックすることによって、エンジン制御ユニットは、エンジンと適合しない（例えば、１２シリンダエンジンまたはガソリンエンジンに対するキャリブレーション）か、または認められない変更（例えば、追加料金を払うことなく、馬力を６００に上げる）がされないことを確実にすることができる。エンジン制御ユニットは、新しいパラメータおよびキャリブレーションと関連付けられた型が、エンジン制御ユニット内に構成されたエンジンの型と一致するまで、顧客がそのようなパラメータおよびキャリブレーションを変えることを可能にしないよう構成することができる。エンジン制御ユニット内で構成される型を変更することは、エンジンおよび／またはエンジン制御ユニットの販売者または製造者からの支援を必要とする可能性がある。エンジン制御ユニット１２０は、まず、多くの、またはすべての可能なパラメータおよびキャリブレーションで構成することができるが、エンジン制御ユニットで指定された型と関連付けられた操作のために、それらを提示するだけでもよいことに留意されたい。型を変更するとき、オペレータは、次いで、新しい型と関連付けられたパラメータおよびキャリブレーションを調整することを許可され得る。
【００１２】
エンジン制御ユニット１２０は、このエンジンに割り当てられる型のインジケータとして働き、パラメータおよびキャリブレーション変更が同じ型を有することを検証するために使用することができる、型１２１と構成することができる。エンジン制御ユニット１２０はまた、シリアルナンバーを有して構成してもよい。エンジン制御ユニットはまた、エンジン制御ユニット１２０との双方向処理を可能にするインターフェース１２２を有して構成してもよい。インターフェース１２２は、キーボード、モニタ、マウス、ディスクドライブ、および１つまたは複数の任意のネットワーク（インターネット、他のデータネットワーク、およびボイスネットワークを含む）へのネットワーク接続などの任意の１つまたは複数を含んでもよい。
【００１３】
型変更が必要であると判断すると、エンジン１１０のオペレータは、型変更コードを要求する要求１６０を送信し、エンジン制御ユニット１２０で構成される型を調整することができる。要求１６０は、オペレータがエンジン１１０の販売者または製造者から型変更コードを要求する通話を含む、任意の形式をとることができる。それに応じて、販売者または製造者は、本明細書で説明するような、そのようなコードを生成および提供することができる。あるいは、エンジン１１０のオペレータは、ウェブページなどの自動化インターフェースを使用し、要求１６０を生成することができ、いくつかの実施形態において、本明細書で説明するように生成された、自動生成された型変更コードを受信することができる。さらに他の実施形態では、オペレータは、そのようなコードに対する何らかの他の形式の電子的要求１６０を、インターネット１５０を介してエンジン１１０の製造者または販売者に電子メールで送るか、または送信することができ、手動または自動で生成され得る要求される型変更コードを含む応答を同じ方法で受信することができる。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００１４】
一実施形態において、オペレータからの要求１６０は、所望される特定の型変更の識別子１６２と、エンジン制御ユニット１２０のシリアルナンバー１６１とを含むことができる。あるいは、エンジン制御ユニット１２０のシリアルナンバーの代わりに、要求は、エンジン１１０の製造者または販売者によって使用されて、エンジン制御ユニット１２０に対するシリアルナンバーを判断することができる１つまたは複数の識別子を含んでもよい。その場合、この要求は、エンジン１１０の製造者または販売者にもたらされ得る。要求はまた、暗号化され、それにより、所期の受信者のみが、その要求を復号化することができることに留意されたい。
【００１５】
要求の受信時に、エンジン１１０の製造者または販売者は、要求を検証し、要求１６０を必要であれば復号化し、型変更コード１４０を生成することができる。いくつかの実施形態において、この処理は自動化してもよい。検証処理は、要求された型が、実際に、エンジン１１０と適合するかを判断すること、および／またはエンジン１１０のオペレータが、要求された型への変更を受ける権利を有する（例えば、支払いをした）ことを判断することを含んでもよい。一実施形態において、コード生成サーバ１３０を使用して、そのようなコードを生成してもよい。コード生成サーバ１３０は、任意の型のコンピューティングデバイスか、または任意の数ならびに型のコンピューティングデバイスの任意の組み合わせとすることができる。コード生成サーバ１３０は、シリアルナンバー、現在の構成型、およびエンジンならびにエンジン制御ユニットと関連付けられた任意の他のデータを有して構成されるデータベースとすることができるデータベース１３２と共に構成することができるか、または、データベース１３２にアクセスするよう構成することができる。そのようなデータを使用して、要求１６０が有効であり、正当なソースからのものであることを検証することができる。
【００１６】
生成された型変更コード１４０は、エンジン制御ユニット１２０のシリアルナンバー１４１および型識別子１４２を含むことができる。他のデータは、型変更コード１４０内に含んでもよく、型変更コード１４０は、暗号化されるか、スクランブルをかけられるか、または変更され、エンジン制御ユニット１２０に対してのみ読取り可能としてもよい。型変更コード１４０はまた、「キー」と称してもよく、エンジン制御ユニット１２０内の位置において、構成（パラメータおよびキャリブレーション）を「アンロックする」よう使用してもよいが、型１２１に対応しない型を有するために利用不可能である可能性がある。型変更コード１４０は、任意の方法で提供することができ、そのような方法には、インターネット１５０を電気的に介する方法、言語による方法、任意の種類のディスクによる方法、または任意の他の手段を使用する方法があり、それらのすべては、本開示の範囲内であることを意図する。
【００１７】
型変更コード１４０の受信時に、エンジン１１０のオペレータは、インターフェース１２２を使用する一実施形態において、型変更コード１４０を、エンジン制御ユニット１２０にもたらすことができる。エンジン制御ユニット１２０は、（必要であれば、復号化の後で）型変更コード１４０をチェックして、シリアルナンバー１４１が、エンジン制御ユニット１２０上で構成されるシリアルナンバーと一致することを確実にするソフトウェアを有して構成してもよい。型変更は、型変更コード１４０を受信した後にオペレータとの双方向処理に応じて、型変更コード１４０の受信時に、またはオペレータによってエンジン制御ユニット１２０で設定されるか、もしくは型変更コード１４０で指定される、これより後のある時間に、エンジン制御ユニット１２０によってすぐに実行されてもよい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００１８】
型１２１が、型変更コード１４０の受信に応じてエンジン制御ユニット１２０で変更されると、オペレータは、エンジン制御ユニット１２０での型と関連付けられた構成、パラメータ、およびキャリブレーションを選択することを許可され得る。
【００１９】
図２は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法２００を示す。方法２００、および方法２００に記載される個々の動作および機能は、任意の１つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図１のコード生成サーバ１３０、および／または図１で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法２００は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および／またはコンポーネントと共に実行してもよい。方法２００のブロックのいずれかに関して説明される機能および／または動作のいずれかは、任意の順序で、別々に、方法２００もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに／もしくは動作のサブセットと共に、および他の機能ならびに／もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００２０】
ブロック２１０では、型変更のための要求を、エンジンのオペレータから受信することができる。この要求は、暗号化してもよい。この要求は、エンジン制御ユニットに対するシリアルナンバーおよび所望の型もしくは所望の型の識別子、さらに使用する可能性のある何らかの情報を含んでもよい。記載したように、この要求は、電子的、言語的、またはファックスを介してなどの、任意の方法で受信することができる。ブロック２２０では、要求が承認されるかどうかの判断を行うことができる。例えば、要求内でもたらされるシリアルナンバーは、格納されたシリアルナンバーと比較され、エンジンのオペレータに対する識別情報に対してクロスチェックされ得る。要求はまた、ブロック２２０で真正性を確実にするよう、復号化することができる。いくつかの実施形態において、要求された特定の型変更は、例えば、関連するエンジンに精通しているエンジニアまたは技術者によって承認され、要求された変更の技術的ならびに機械的健全性を確実にする、および／または要求された型に対してオペレータが支払いをしたことを保証することを必要としてもよい。何らかの理由のために、要求が承認されない場合、ブロック２２５で、要求をしたオペレータは、通知を受け取ることができ、何らの型変更コードも生成されない可能性がある。
【００２１】
要求が承認されると、ブロック２３０で、型変更コードを生成することができる。このコードは、影響を受けるエンジン制御ユニットのシリアルナンバーと、所望の型の識別子とを含むことができる。本コードはまた、エンジン制御ユニットを支援するか、またはエンジン制御ユニットに指示して、要求された型変更を実現する、任意の命令および暗号化データなどを含んでもよい。次いで、この型変更コードは、任意の手段を使用して、ブロック２４０で、オペレータに送信することができる。
【００２２】
図３は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法３００を示す。方法３００、および方法３００に記載される個々の動作および機能は、任意の１つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図１のエンジン制御ユニット１２０、および／または図１で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法３００は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および／またはコンポーネントと共に実行してもよい。方法３００のブロックのいずれかに関して説明される機能および／または動作のいずれかは、任意の順序で、別々に、方法３００もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに／もしくは動作のサブセットと共に、および他の機能ならびに／もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００２３】
ブロック３１０では、図２の方法２００によって生成されたような型変更コードは、エンジン制御ユニットで受信することができる。この型変更コードは、その型変更を実行するための時間もしくは時間枠、シリアルナンバー、および新しい型の識別子を含むことができ、さらにエンジン制御ユニットに型変更を実施させる任意の他のデータもしくは命令を含むことができる。ブロック３２０では、受信した型変更コードを検証することができる。これには、必要であれば、コードを復号化することを含んでもよい。他の検証には、型変更コードでもたらされるシリアルナンバーが、受信するエンジン制御ユニットのシリアルナンバーに対応するかを判断することを含んでもよい。何らかの理由のため、型変更コードを検証することができない場合、ブロック３２５で、オペレータは通知を受けることができ、何らの型変更も実施されない可能性がある。
【００２４】
型変更のための時間が、型変更コードによって、またはオペレータによって指定された場合、ブロック３３０で、エンジン制御ユニットは、変更を実行するための時間になったかどうかを判断することができる。これは、特定の時間で型変更を開始するためにオペレータから手動の命令を受信したことへの応答、または型変更コードが、型変更のための指定時間を含むと判断し、型変更のための時間にまだなっていないと判断したことへの応答としてもよい。型変更のための時間になっていなかった場合、エンジン制御ユニットは、時間のモニタリングを続け、その時間を、型変更を実行するためにもたらされた時間または時間枠と比較することができ、ブロック３３０に留まる。型変更を実行するための時間になった場合、または型変更の実施が許可される時間枠内に現在時間がある場合、ブロック３４０で、型変更を実施することができる。ブロック３５０で、オペレータは、変更を実施したことについて、通知を受けることができる。
【００２５】
型変更が行われると、エンジン制御ユニットの構成に対する任意の変更が、新しい型と比較され、新しい型と適合可能であることを確実にすることができる。オペレータに提示されるエンジン制御ユニットでの構成変更に対するオプションはまた、エンジン制御ユニットで現在構成された型と関連したそれらの変更のみが提示されて、オペレータが選択するために使用可能となるように、調整することができる。
【００２６】
型変更のおよばないキャリブレーション変更および他の変更はまた、本明細書で記載する実施形態を使用して制御することができる。図４は、エンジンまたはエンジン制御ユニットでキャリブレーションおよび他の設定を変更するために、一実施形態によって実現することができる、例示的システム４００を示す。図１のシステム１００と同様に、図示するシステム４００は、本明細書で開示されるコンセプトを説明するために使用される簡易ブロック図であり、したがって、本明細書で開示される任意の実施形態に対して求められる任意の物理的要件または特定の構成を記載するものとして解釈されるべきではない。本明細書で開示されるすべての構成要素、デバイス、システム、および方法は、任意の形状、形式、または型のコンポーネント数で実施することができ、開示する実施形態を実施することを可能にする任意のそのようなコンポーネントの任意の組み合わせは、本開示の範囲内であると意図される。
【００２７】
エンジン４１０は、任意の型のエンジンとすることができ、ガスタービンエンジン、ディーゼルエンジン、およびガソリンエンジンなどの、任意の型の内燃機関を含む。エンジン制御ユニット４２０は、任意の型のコンピューティングデバイスまたは制御器とすることができ、エンジン４１０およびエンジン４１０の任意のコンポーネントを制御することができ、エンジン４１０の動作に影響するパラメータを制御および／または設定することができる。現代のエンジンは、調整または設定することができる、多くの異なるパラメータおよびキャリブレーションを有することができる。これらには、可能な最大馬力、可能な最大トルク、可能な最大毎分回転数（ＲＰＭ）、最大過負荷、時期マップ、調速器調整、ターボ過給エンジンを可能とする最大ブースト、エンジン、エンジンキャリブレーション要素、ならびにエンジン流体温度に対する限界、デトネーション限界、および特定の条件下で使用するためのシリンダの数などがある。すべてのそのようなパラメータならびにキャリブレーション、およびエンジンに対して構成することができる任意の他のパラメータならびにキャリブレーションは、本開示の範囲内であるとして意図される。すべてのパラメータおよびキャリブレーションは、製造時に、またはそのようなエンジン制御ユニットを使用するエンジンが顧客に提供される前に、それらが正確であることを確実にするよう、最初に設定することができる。エンジン制御ユニットは、エンジンおよび／またはエンジン制御ユニットの販売者または製造者からの支援を受けることなく、顧客が、そのようなパラメータおよびキャリブレーションを変更することを不可能にするよう構成することができる。
【００２８】
エンジン制御ユニット４２０は、現在時間を維持する内部クロック４２１を含んでもよく、および／または動作時間（すなわち、エンジンが動作した時間量）を追跡するために使用してもよい。エンジン制御ユニット４２０はまた、シリアルナンバーを有して構成してもよい。エンジン制御ユニットはまた、エンジン制御ユニット４２０との双方向処理を可能にするインターフェース４２２を有して構成してもよい。インターフェース４２２は、キーボード、モニタ、マウス、ディスクドライブ、および１つまたは複数の任意のネットワーク（インターネット、他のデータネットワーク、およびボイスネットワークを含む）へのネットワーク接続などの任意の１つまたは複数を含んでもよい。
【００２９】
キャリブレーション変更が必要であると判断すると、エンジン４１０のオペレータは、キャリブレーション変更コードを要求する要求４６０を送信し、エンジン制御ユニット４２０で構成されるキャリブレーションを調整することができる。要求４６０は、オペレータが、エンジン４１０の販売者または製造者からキャリブレーション変更コードを要求する通話を含む、任意の形式をとることができる。それに応じて、販売者または製造者は、本明細書で説明するような、そのようなコードを生成および提供することができる。あるいは、エンジン４１０のオペレータは、ウェブページなどの自動化インターフェースを使用し、要求４６０を生成することができ、いくつかの実施形態において、本明細書で説明するように生成された、自動生成されたキャリブレーション変更コードを受信することができる。さらに他の実施形態では、オペレータは、そのようなコードに対する何らかの他の形式の電子的要求４６０を、インターネット４５０を介してエンジン４１０の製造者または販売者に電子メールで送るか、または送信することができ、手動または自動で生成され得る要求されたキャリブレーション変更コードを含む応答を同じ方法で受信することができる。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００３０】
一実施形態において、オペレータからの要求４６０は、所望される特定のキャリブレーションおよび／またはパラメータ変更４６３を含むことができ、さらに、エンジン制御ユニット１２０のシリアルナンバー４６１およびエンジン制御ユニット１２０の動作時間１６２を含むことができる。あるいは、要求４６０は、所望される特定のキャリブレーションならびに／もしくはパラメータ変更４６３、エンジン制御ユニット４２０のシリアルナンバー４６１、およびエンジン４１０の動作の開始時間やエンジン４１０の現在の動作時間に対する今後の動作時間などの基準時間に対してキャリブレーションの変更が所望される時間を含んでもよい。エンジン型はまた、図１から図３に関して図示したように、含まれ、使用され得る。その場合、この要求は、エンジン４１０の製造者または販売者にもたらされ得る。要求はまた、暗号化され、それにより、所期の受信者のみが、その要求を復号化することができることに留意されたい。
【００３１】
エンジン制御ユニット４２０のシリアルナンバーの代わりに、要求は、エンジン４１０の製造者または販売者によって使用されて、エンジン制御ユニット４２０に対するシリアルナンバーを判断することができる１つまたは複数の識別子を含んでもよいことに留意されたい。そのような識別子は、エンジン制御ユニット４２０で使用されるソフトウェア、ファームウェア、および／またはハードウェアに埋め込むことができ、さらに特定の型のエンジン４１０を識別することを可能にするエンジン型識別子を含むことができる。他の代替識別子は、エンジン制御ユニット４２０内で構成される１つまたは複数の回路基板、マザーボード、もしくは任意の他の型のハードウェアの識別子か、またはそのようなハードウェアのいずれかの組み合わせを識別する識別子とすることができる。さらに他の代替識別子は、良好に実行されたキャリブレーション変更のみを表すいくつかの実施形態において、一方、良好に実施されたキャリブレーション変更にそのような要求が対応するかどうかに関わらず、キャリブレーション変更に対する要求の数を表す他の実施形態において、これまでに要求されたキャリブレーション変更の数を表す識別子とすることができる。
【００３２】
要求の受信時に、エンジン４１０の製造者または販売者は、要求を検証し、要求４６０を必要であれば復号化し、キャリブレーション変更コード４４０を生成することができる。いくつかの実施形態において、要求された変更は、要求において指示されたか、または変更がエンジン型と適合可能であることを確実にするために、上記したような他のソースから判断された可能性のあるエンジン４１０のエンジン型と比較され得る。一実施形態において、キャリブレーションサーバ４３０を使用して、そのようなコードを生成してもよい。キャリブレーションサーバ４３０は、任意の型のコンピューティングデバイスか、または任意の数ならびに型のコンピューティングデバイスの任意の組み合わせとすることができる。キャリブレーションサーバ４３０は、要求４６０などの要求に含まれる時間を調整および／または同期するために使用することができる内部クロック４３１を有して構成することができ、それにより、キャリブレーション変更コード４４０は、エンジン制御ユニットによって受け入れられる。キャリブレーションサーバ４３０はまた、シリアルナンバー、動作開始時間（現在の動作時間を判断するために使用される）、およびエンジンならびにエンジン制御ユニットと関連付けられた任意の他のデータを有して構成されるデータベースとすることができるデータベース４３２と共に構成することができるか、または、データベース４３２にアクセスするよう構成することができる。そのようなデータを使用して、要求４６０が有効であり、正当なソースからのものであることを検証することができる。
【００３３】
生成されたキャリブレーション変更コード４４０は、エンジン制御ユニット４２０のシリアルナンバー４４１、エンジン制御ユニット４２０のキャリブレーションに対する変更が行われた可能性のある動作時間とすることができる動作時間４４２、およびエンジン４１０のオペレータによって要求されるような、エンジン制御ユニット４２０のキャリブレーションまたはパラメータへの１つまたは複数の変更とすることができる、キャリブレーション４４３を含むことができる。動作時間４４２は、変更が行われる、今後の単一時間または変更が行われた時間枠とすることができることに留意されたい。例えば、動作時間４４２が単一時間である場合、キャリブレーション４４３でもたらされる変更は、エンジン制御ユニット４２０によって自動的に、その時間に行われる可能性がある。あるいは、動作時間４４２が時間枠である場合、キャリブレーション４４３でもたらされる変更は、その時間枠のみの間に行われる可能性がある。キャリブレーション変更コード４４０は、暗号化することができ、任意の方法で提供することができ、そのような方法には、インターネット４５０を電気的に介する方法、言語による方法、任意の種類のディスクによる方法、または任意の他の手段を使用する方法があり、それらのすべては、本開示の範囲内であることを意図する。エンジン型はまた、キャリブレーションコードに含むことができ、図１から図３に関して上記したように使用することができる。
【００３４】
キャリブレーション変更コード４４０の受信時に、エンジン４１０のオペレータは、インターフェース４２２を使用する一実施形態において、キャリブレーション変更コード４４０を、エンジン制御ユニット４２０にもたらすことができる。エンジン制御ユニット４２０は、（必要であれば、復号化の後で）キャリブレーション変更コード４４０をチェックして、シリアルナンバー４４１が、エンジン制御ユニット４２０上で構成されるシリアルナンバーと一致することを確実にするソフトウェアを有して構成してもよい。その場合、このソフトウェアは、動作時間４４２が現在であるか、過去であるか、またはまだ到達していないかを判断することができる。動作時間４４２が過去である場合、エンジン制御ユニット４２０は、キャリブレーション変更コード４４０を拒否することができ、またはキャリブレーション４４３でもたらされる変更を実施しない可能性がある。動作時間４４２が現在であるか、現在時間を含む時間枠である場合、エンジン制御ユニット４２０は、キャリブレーション変更コード４４０でもたらされる変更を実施することができる。動作時間４４２が未来時間であるか、未来の時間枠である場合、エンジン制御ユニット４２０は、未来時間または時間枠に到達するまで、キャリブレーション変更コード４４０でもたらされる変更を実施することを待つことができる。
【００３５】
あるいは、エンジン４１０のオペレータは、インターフェース４２２を使用して、エンジン制御ユニット４２０に手動で指示し、キャリブレーション変更コード４４０でもたらされる変更を実施してもよい。そのような命令を受信すると、エンジン制御ユニット４２０は、その命令が、動作時間４４２によってもたらされる時間枠または時間内に受信されたかを検証することができ、そうであれば、変更を実施することができる。そのような命令が、動作時間４４２によってもたらされる時間外で受信された場合、エンジン制御ユニット４２０は、変更を実施しない可能性があり、変更を実施しなかったことを示すエラーメッセージをオペレータにもたらすことができる。
【００３６】
図５は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法５００を示す。方法５００、および方法５００に記載される個々の動作および機能は、任意の１つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図１のコード生成サーバ１３０、図４のキャリブレーションサーバ４３０、および／または図１および図４で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法５００は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および／またはコンポーネントと共に実行してもよい。方法５００のブロックのいずれかに関して説明される機能および／または動作のいずれかは、任意の順序で、別々に、方法５００もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに／もしくは動作のサブセットと共に、および他の機能ならびに／もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００３７】
ブロック５１０では、キャリブレーション変更のための要求を、エンジンのオペレータから受信することができる。この要求は、暗号化してもよい。この要求には、エンジン制御ユニットに対するシリアルナンバー、変更を開始する時間または時間枠、任意の所望の変更、エンジン型、および使用する可能性のある任意の他の情報を含むことができる。記載したように、この要求は、電子的、言語的、またはファックスを介してなどの、任意の方法で受信することができる。ブロック５２０では、要求が承認されるかどうかの判断を行うことができる。例えば、要求でもたらされるシリアルナンバーは、格納されたシリアルナンバーと比較され、エンジンのオペレータに対する識別情報に対してクロスチェックされ得る。あるいは、変更されるエンジン制御ユニットと関連したエンジンのエンジン型を、要求された変更がエンジン型と適合することを確認するためにチェックしてもよい。要求はまた、ブロック５２０で真正性を確実にするよう、復号化することができる。いくつかの実施形態において、要求された特定の変更は、例えば、関連するエンジンに精通しているエンジニアまたは技術者によって承認され、要求された変更の技術的ならびに機械的健全性を確実にすることを必要としてもよい。何らかの理由のために、要求が承認されない場合、ブロック５２５で、要求をしたオペレータは、通知を受け取ることができ、何らのキャリブレーション変更コードも生成されない可能性がある。
【００３８】
要求が承認されると、ブロック５３０で、キャリブレーション変更コードを生成することができる。このコードは、影響を受けるエンジン制御ユニットのシリアルナンバー、変更を開始する時間もしくは時間枠、および要求された変更を実施するようエンジン制御ユニットに指示する特定のコード、命令、ならびにエンジン型などを含むことができる。次いで、このキャリブレーション変更コードは、ブロック５４０で、オペレータに送信することができる。
【００３９】
図６は、本明細書で開示するような一実施形態を実現する、例示的な、非限定の方法６００を示す。方法６００、および方法６００に記載される個々の動作および機能は、任意の１つまたは複数のデバイスまたはコンポーネントによって実行することができ、それらのデバイスまたはコンポーネントは、図１のエンジン制御ユニット１２０、図４のエンジン制御ユニット４２０、および／または図１および図４で示したシステムの任意の他のコンポーネントもしくはデバイスなどの、本明細書で説明するデバイスまたはコンポーネントを含む。一実施形態において、方法６００は、任意の他のデバイス、コンポーネント、またはそれらの組み合わせによって実行してもよく、いくつかの実施形態では、他のシステム、デバイス、および／またはコンポーネントと共に実行してもよい。方法６００のブロックのいずれかに関して説明される機能および／または動作のいずれかは、任意の順序で、別々に、方法６００もしくは本明細書で説明する任意の他の方法の他のブロックのいずれかに関して記載される他の機能ならびに／もしくは動作のサブセットと共に、および他の機能ならびに／もしくは動作と組み合わされて、実行してもよく、本明細書で説明される機能ならびに動作および本明細書で言及されない機能ならびに動作を含むことに留意されたい。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００４０】
ブロック６１０では、図５の方法５００によって生成されたようなキャリブレーション変更コードは、エンジン制御ユニットで受信することができる。このキャリブレーション変更コードは、変更を実行するための時間もしくは時間枠、シリアルナンバー、エンジン型、およびエンジン制御ユニットに、キャリブレーションならびに／もしくはパラメータに対する変更を実施させる１つまたは複数のコードもしくは命令を含むことができる。ブロック６２０では、受信したキャリブレーション変更コードを検証することができる。これには、必要であれば、コードを復号化することを含んでもよい。他の検証には、キャリブレーション変更コードでもたらされるシリアルナンバーが、受信するエンジン制御ユニットのシリアルナンバーに対応すること、および変更のための時間もしくは時間枠が過去ではないことを判断することを含んでもよい。何らかの理由のため、キャリブレーション変更コードを検証することができない場合、ブロック６２５で、オペレータは通知を受けることができ、何らの変更も実施されない可能性がある。
【００４１】
ブロック６３０で、エンジン制御ユニットは、変更を実施するための時間に到達したかを判断することができる。これは、列挙された変更を実行するためにオペレータから手動の命令を受信したことへの応答、または変更コードを受信し、変更のための時間にまだなっていないと事前に判断したことへの応答としてもよい。変更のための時間になっていなかった場合、エンジン制御ユニットは、時間のモニタリングを続け、その時間を、変更を実行するためにもたらされた時間または時間枠と比較することができ、ブロック６３０に留まる。変更を実行するための時間になった場合、または変更の実施が許可される時間枠内に現在時間がある場合、ブロック６４０で、変更を実施することができる。ブロック６５０で、オペレータは、変更を実施したことについて、通知を受けることができる。
【００４２】
本明細書に記載するシステムおよび方法の技術的効果は、エンジン制御ユニットでキャリブレーションされるエンジン型に対する変更を制御し、許可されたエンジン型と適合する変更のみを実行することを確実にするための能力である。本明細書に記載するシステムおよび方法のさらなる技術的効果は、エンジンおよびエンジン制御ユニットへの変更を制御して、効率および性能を保証するための能力である。本明細書に記載するシステムおよび方法は、そのようなエンジンのオペレータが、エンジン型およびエンジン制御ユニットの変更を要求し、実施することを容易にすることができる。当業者によって理解されるであろうように、開示した処理およびシステムの使用により、エンジンの信頼性および効率的な動作を維持しながら、オペレータのフレキシビリティを高めることができる。当業者は、開示したシステムおよび方法を他のシステムおよび技術と組み合わせて、一層大きな利益を実現することができることを認識するであろう。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００４３】
いくつかの実施形態において、変更は、本明細書で説明するような型変更コードまたはキャリブレーションコードを使用して容易に行う場合よりもより大規模にすることができ、そのような実施形態において、型変更コードまたはキャリブレーションコードはまた、または代わりに、エンジン制御ユニットが、（型変更、キャリブレーション変更、またはその他の変更に対して）変更命令および／またはアップデート済みのソフトウェアやファームウェアなどを、ネットワーク接続を介して、ダウンロードするか、もしくは受信することを可能にすることができることに留意されたい。任意のコード、タイピング、キャリブレーション、および他の調整は、エンジン制御ユニットが、本明細書で説明するような型変更コードを使用して、遠隔デバイスと通信することを可能にすることによって、エンジン制御ユニットで利用可能にすることができる。すべてのそのような実施形態は、本開示の範囲内であるとして意図される。
【００４４】
図７および以下の説明は、本明細書で開示するエンジン制御ユニット構成セキュリティシステムならびに方法および／またはそれらの一部を実現することができる、適切なコンピューティング環境の、簡潔で一般的な説明を提供することを意図する。例えば、エンジン制御ユニット１２０および４２０、コード生成サーバ１３０、およびキャリブレーションサーバ４３０の機能は、図７に関して説明する態様の一部またはすべてを含む１つまたは複数のデバイスによって実行することができる。特許請求する実施形態の機能を実行するために使用することができる、図７で説明するデバイスの一部またはすべては、図１および図４に関して説明したものなどのシステムに埋め込むことができる制御器内に構成することができる。あるいは、図７で説明するデバイスの一部またはすべては、任意のデバイス、デバイスの組み合わせ、または開示する実施形態の任意の態様を実行する任意のシステムに含んでもよい。
【００４５】
必ずしも必要ではないが、本明細書で開示するエンジン制御ユニット構成セキュリティシステムおよび方法は、クライアントワークステーション、サーバ、またはパーソナルコンピュータなどのコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。そのようなコンピュータ実行可能命令は、過度信号それ自体ではない、任意の型のコンピュータ読取り可能ストレージデバイスに格納することができる。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造などを含む。さらに、本明細書で説明するエンジン制御ユニット構成セキュリティシステムならびに方法および／またはその一部は、他のコンピュータシステム構成と共に実現することができ、そのような他のコンピュータシステム構成には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサ型もしくはプログラム可能民生電子機器、ネットワークＰＣ、ミニコンピュータ、およびメインフレームコンピュータなどを含むことを認識すべきである。本明細書で開示する方法およびシステムはまた、通信ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実行される分散コンピューティング環境で実施してもよい。分散型コンピューティング環境では、プログラムモジュールは、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両方に配置してもよい。
【００４６】
図７は、本明細書で開示される方法ならびにシステムおよび／またはそれらの一部の態様を組み込むことができる汎用コンピュータシステムを表すブロック図である。図のように、例示的汎用コンピューティングシステムは、コンピュータ７２０などを含み、コンピュータ７２０は、処理ユニット７２１、システムメモリ７２２、およびシステムメモリを含むさまざまなシステムコンポーネントを処理ユニット７２１に接続するシステムバス７２３を含む。システムバス７２３は、メモリバスもしくはメモリ制御器、周辺バス、および任意のさまざまなバスアーキテクチャを使用するローカルバスを含む、任意のいくつかの型のバス構造とすることができる。システムメモリには、リード・オンリー・メモリ（ＲＯＭ）７２４およびランダム・アクセス・メモリ（ＲＡＭ）７２５を含んでもよい。基本入出力システム７２６（ＢＩＯＳ）は、スタートアップ中などに、コンピュータ７２０内の要素間で情報を転送するための補助をする基本ルーチンを備えることができ、ＲＯＭ７２４に格納することができる。
【００４７】
コンピュータ７２０は、ハードディスク（図示せず）に読み書きするためのハードディスクドライブ７２７、リムーバブル磁気ディスク７２９に読み書きするための磁気ディスクドライブ７２８、および／またはＣＤ−ＲＯＭもしくは他の光学メディアなどのリムーバブル光学ディスク７３１に読み書きするための光学ディスクドライブ７３０をさらに備えてもよい。ハードディスクドライブ７２７、磁気ディスクドライブ７２８、および光学ディスクドライブ７３０は、それぞれ、ハードディスクドライブインターフェース７３２、磁気ディスクドライブインターフェース７３３、および光学ドライブインターフェース７３４によって、システムバス７２３に接続することができる。ドライブおよびそれに関連した機械読取り可能メディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュール、およびコンピュータ７２０に対する他のデータの不揮発性ストレージを提供する。
【００４８】
本明細書で説明する例示的環境は、ハードディスク、リムーバブル磁気ディスク７２９、およびリムーバブル光学ディスク７３１を使用するが、コンピュータによってアクセス可能なデータを格納することができる他の型のコンピュータ読取りもまた、例示的動作環境で使用することができることを認識するべきである。そのような他の型のメディアには、これらに限定されないが、磁気カセット、フラッシュメモリカード、デジタルビデオもしくは多用途ディスク、ベルヌーイカートリッジ、ランダム・アクセス・メモリ（ＲＡＭ）、およびリード・オンリー・メモリ（ＲＯＭ）などがある。
【００４９】
多くのプログラムモジュールを、ハードディスクドライブ７２７、磁気ディスク７２９、光学ディスク７３１、ＲＯＭ７２４、および／またはＲＡＭ７２５に格納することができ、そのようなプログラムモジュールには、オペレーティングシステム７３５、１つまたは複数のアプリケーションプログラム７３６、他のプログラムモジュール７３７、およびプログラムデータ７３８がある。ユーザは、キーボード７４０およびポインティングデバイス７４２などの入力デバイスを介して、コマンドおよび情報を、コンピュータ７２０に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディスク、またはスキャナなどを含むことができる。これらの、および他の入力デバイスは、システムバスに結合されるシリアルポートインターフェース７４６を介して処理ユニット７２１に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続してもよい。モニタ７４７または他の型のディスプレイデバイスもまた、ビデオアダプタ７４８などのインターフェースを介して、システムバス７２３に接続することができる。モニタ７４７に加えて、コンピュータは、スピーカおよびプリンタなどの、他の周辺出力デバイス（図示せず）を備えてもよい。図７の例示的システムはまた、ホストアダプタ７５５、スモール・コンピュータ・システム・インターフェース（ＳＣＳＩ）バス７５６、およびＳＣＳＩバス７５６に接続することができる外部ストレージデバイス７６２を含むことができる。
【００５０】
コンピュータ７２０は、遠隔コンピュータ７４９、エンジン１１０のコンポーネント、およびエンジン制御ユニット１２０などの、１つまたは複数の遠隔コンピュータまたはデバイスへの論理的および／または物理的接続を使用して、ネットワーク環境で動作することができる。エンジン１１０のコンポーネントおよびエンジン制御ユニット１２０は、説明した機能を実行することができ、本明細書で説明するような任意のデバイスとすることができる。遠隔コンピュータ７４９は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードとすることができ、コンピュータ７２０に関して上記した要素の多くまたはすべてを含んでもよいが、メモリストレージデバイス７５０のみを、図７に図示した。図７に示してある論理的接続は、ローカルエリアネットワーク（ＬＡＮ）７５１およびワイドエリアネットワーク（ＷＡＮ）７５２を含んでもよい。そのようなネットワーキング環境は、事務所、企業規模コンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００５１】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ７２０は、ネットワークインターフェースまたはアダプタ７５３を介して、ＬＡＮ７５１に接続することができる。ＷＡＮネットワーキング環境で使用される場合、コンピュータ７２０は、モデム７５４、またはインターネットなどのワイドエリアネットワーク７５２上での通信を確立する他の手段を含むことができる。モデム７５４は、内蔵または外付けとすることができ、シリアルポートインターフェース７４６を介して、システムバス７２３に接続することができる。ネットワーク環境では、コンピュータ７２０に関連して示したプログラムモジュール、またはその一部は、遠隔メモリストレージデバイスに格納することができる。示したネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用してもよいことが理解されよう。
【００５２】
コンピュータ７２０は、さまざまなコンピュータ読取り可能ストレージメディアを含むことができる。コンピュータ読取り可能ストレージメディアは、コンピュータ７２０がアクセスすることができる、揮発性および不揮発性メディア、リムーバブルおよび非リムーバブルメディアを含む、任意の利用可能な、有形の、非一時的、または非伝搬メディアとすることができる。例えば、限定するものではないが、コンピュータ読取り可能メディアは、コンピュータ・ストレージ・メディアおよび通信メディアを備えることができる。コンピュータ・ストレージ・メディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を保管するための任意の方法または技術で実現される、揮発性および不揮発性、リムーバブルおよび非リムーバブルメディアを含む。コンピュータ・ストレージ・メディアは、これらに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望の情報を格納するために使用することができ、コンピュータ７２０がアクセスすることができる任意の他の有形メディアを含む。上記の任意の組み合わせはまた、本明細書で説明する方法およびシステムを実現するためのソースコードを格納するために使用することができる、コンピュータ読取り可能メディアの範囲内に含まれる。本明細書で開示する特徴または要素の任意の組み合わせは、１つまたは複数の実施形態で使用することができる。
【００５３】
本明細書は最良の形態を含む本明細書に含まれる発明の主題を開示するため、および、あらゆるデバイスまたはシステムを製作し、ならびに使用し、およびあらゆる組込方法を実行することを含む任意の当業者が本発明を実施することを可能にするための例を用いる。本開示の特許可能な範囲は、特許請求の範囲によって定義され、当業者が想到するその他の実施例を含むことができる。このような他の実施例は、特許請求の範囲の文言との差がない構造要素を有する場合、または特許請求の範囲の文言との実質的な差がない等価の構造要素を含む場合、特許請求の範囲内にある。
【符号の説明】
【００５４】
１００  システム
１１０  エンジン
１２０  エンジン制御ユニット
１２１  型
１２２  インターフェース
１３０  コード生成サーバ
１３２  データベース
１４０  型変更コード
１４１  シリアルナンバー
１４２  型識別子
１５０  インターネット
１６０  要求
１６１  シリアルナンバー
１６２  識別子
２００  方法
２１０  ブロック
２２０  ブロック
２２５  ブロック
２３０  ブロック
２４０  ブロック
３００  方法
３１０  ブロック
３２０  ブロック
３２５  ブロック
３３０  ブロック
３４０  ブロック
３５０  ブロック
４２０  コンピュータ
４００  システム
４１０  エンジン
４２０  エンジン制御ユニット
４２１  内部クロック
４３０  キャリブレーションサーバ
４３１  内部クロック
４３２  データベース
４４０  キャリブレーション変更コード
４４１  シリアルナンバー
４４２  動作時間
４４３  キャリブレーション
４５０  インターネット
４６０  要求
４６１  シリアルナンバー
４６２  変更時間
４６３  パラメータ変更
５００  方法
５１０  ブロック
５２０  ブロック
５２５  ブロック
５３０  ブロック
５４０  ブロック
６００  方法
６１０  ブロック
６２０  ブロック
６２５  ブロック
６３０  ブロック
６４０  ブロック
６５０  ブロック
７２０  コンピュータ
７２１  処理ユニット
７２２  メモリ
７２３  バス
７２４  ＲＯＭ
７２５  ＲＡＭ
７２６  ＢＩＯＳ（基本入出力システム）
７２７  ハードディスクドライブ
７２８  磁気ディスクドライブ
７２９  リムーバブル磁気ディスク
７３０  光学ディスクドライブ
７３１  リムーバブル光学ディスク
７３２  ハードドライブインターフェース
７３３  磁気ディスクドライブインターフェース
７３４  光学ディスクドライブインターフェース
７３５  オペレーティングシステム
７３６  アプリケーションプログラム
７３７  プログラムモジュール
７３８  プログラムデータ
７４０  キーボード
７４２  ポインティングデバイス
７４６  シリアルポートインターフェース
７４７  モニタ
７４８  ビデオアダプタ
７４９  遠隔コンピュータ
７５０  メモリストレージデバイス
７５１  ＬＡＮ
７５２  ＷＡＮ
７５３  アダプタ
７５４  モデム
７５５  ホストアダプタ
７５６  ＳＣＳＩバス
７６２  外部ストレージデバイス
【図１】
2015163786.tif 000003
【図２】
2015163786.tif 000004
【図３】
2015163786.tif 000005
【図４】
2015163786.tif 000006
【図５】
2015163786.tif 000007
【図６】
2015163786.tif 000008
【図７】
2015163786.tif 000009
【外国語明細書】
2015163786000001.pdf