(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-27
(54)【発明の名称】センサデバイスのオーバ・ザ・エアプログラミング
(51)【国際特許分類】
G06F 12/14 20060101AFI20240820BHJP
【FI】
G06F12/14 510A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024503663
(86)(22)【出願日】2022-07-20
(85)【翻訳文提出日】2024-01-19
(86)【国際出願番号】 US2022037654
(87)【国際公開番号】W WO2023003920
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】500211047
【氏名又は名称】アボット ダイアベティス ケア インコーポレイテッド
【氏名又は名称原語表記】ABBOTT DIABETES CARE INC.
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100130937
【氏名又は名称】山本 泰史
(74)【代理人】
【識別番号】100144451
【氏名又は名称】鈴木 博子
(74)【代理人】
【識別番号】100170634
【氏名又は名称】山本 航介
(72)【発明者】
【氏名】フア シュアンドン
(72)【発明者】
【氏名】リーノ カート イー
(72)【発明者】
【氏名】チャン ネルソン ワイ
【テーマコード(参考)】
5B017
【Fターム(参考)】
5B017AA02
5B017BA04
(57)【要約】
本明細書に記載される実施形態は、セキュアなオーバ・ザ・エア(OTA)プログラミングのために構成されたセンサ制御デバイスを含む。実施形態は、1又は2以上のプロセッサ、検体センサ、通信モジュール、及びメモリを含むセンサ制御デバイスを含む。メモリは、非プログラマブル状態にあるストレージブロックの第1のセットとプログラマブル状態にあるブロックの第2のセットとを含む。プロセッサは、通信モジュールを使用して、ストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするマーキングデータをメモリに書き込む命令と、プログラムデータをストレージブロックの第2のセットからの第2のストレージブロックに書き込む命令とを受け取り、第2のストレージブロックを非プログラマブル状態にするように構成される。第2のストレージブロックに書き込まれるプログラムデータは、検体センサから受信した検体データをプロセッサに処理させる命令を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
センサ制御デバイスであって、
1又は2以上のプロセッサと、
検体センサと、
通信モジュールと、
前記1又は2以上のプロセッサ、前記通信モジュール、及び前記検体センサに通信可能に結合された1又は2以上のメモリと、
を備え、
前記1又は2以上のメモリは、複数のストレージブロックを含み、前記複数のストレージブロックは、非プログラマブル状態にあるストレージブロックの第1のセットとプログラマブル状態にあるブロックの第2のセットとを含み、
前記1又は2以上のプロセッサは、前記通信モジュールを使用して、前記プログラマブル状態にある前記ストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込む命令を受信し、前記第2のストレージブロックを前記非プログラマブル状態にし、マーキングデータを前記メモリに書き込み前記非プログラマブル状態にある前記ストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングする命令を受信するように構成され、
前記第2のストレージブロックに書き込まれる前記プログラムデータは、前記1又は2以上のプロセッサによって実行された時に、前記1又は2以上のプロセッサに前記検体センサから受信した検体データを処理させる命令を含む、
センサ制御デバイス。
【請求項2】
前記メモリの複数のストレージブロックは、動的に割り当てられたメモリストレージブロックである、請求項1に記載のセンサ制御デバイス。
【請求項3】
前記メモリは、前記通信モジュールと一体化される、請求項1に記載のセンサ制御デバイス。
【請求項4】
前記メモリは、前記通信モジュールから分離されている、請求項1に記載のセンサ制御デバイス。
【請求項5】
前記メモリは、データが前記メモリに書き込まれると前記データを上書きすることができないワンタイムプログラマブルメモリである、請求項1に記載のセンサ制御デバイス。
【請求項6】
前記第2のストレージブロックに書き込まれるプログラムデータは更に、前記センサ制御デバイスの特徴、検出及び計算アルゴリズム、又は前記検体センサの較正データに関する命令を含む、請求項1に記載のセンサ制御デバイス。
【請求項7】
前記マーキングデータを前記メモリに書き込む前に、前記センサ制御デバイスは、
前記通信モジュールを使用して、暗号化キーを使用して署名された署名コマンドを受信し、
プログラミングモードに入る、
請求項1に記載のセンサ制御デバイス。
【請求項8】
前記命令は、共有暗号化キーを使用してセキュアにされた通信セッションの一部として受信される、請求項1に記載のセンサ制御デバイス。
【請求項9】
前記通信モジュールは、第1の通信プロトコルに準拠して、前記センサ制御デバイスは更に、第2の通信プロトコルに準拠する第2の通信モジュールを含む、
請求項1に記載のセンサ制御デバイス。
【請求項10】
前記センサ制御デバイスは、前記1又は2以上のプロセッサが前記マーキングデータを前記メモリに書き込む前に、前記第2の通信モジュールを介してプログラミング状態に入るコマンドを受信する、請求項9に記載のセンサ制御デバイス。
【請求項11】
前記第1の通信プロトコルと前記第2の通信プロトコルのうちの一方は、Bluetooth Low Energyであり、前記第1の通信プロトコルと前記第2の通信プロトコルの一方は、近距離無線通信である、請求項9に記載のセンサ制御デバイス。
【請求項12】
前記1又は2以上のプロセッサは更に、前記第2のストレージブロックに書き込まれた前記プログラムデータの命令を実行する前に、前記メモリの1又は2以上の整合性チェックを実行するように構成される、請求項1に記載のセンサ制御デバイス。
【請求項13】
前記1又は2以上の整合性チェックは、前記ストレージブロックの第1のセットの各ストレージブロックに整合性チェックを実行するステップを含む、請求項12に記載のセンサ制御デバイス。
【請求項14】
前記1又は2以上のプロセッサ、前記通信モジュール、及び前記検体センサに通信可能に結合された書換可能メモリを更に備え、前記第2のストレージブロックに書き込まれるプログラムデータは、最初に前記書換可能メモリに書き込まれる、請求項1に記載のセンサ制御デバイス。
【請求項15】
前記1又は2以上のプロセッサは、前記書換可能メモリに格納されたプロファイルに基づいて、前記ストレージブロックの第1のセットのストレージブロックに書き込まれた前記プログラムデータの命令を実行する、請求項14に記載のセンサ制御デバイス。
【請求項16】
マーキングデータを前記メモリに書き込み前記第1のストレージブロックをアクセス不可としてマーキングすることは、前記書換可能メモリに格納された前記プロファイルを修正することを含む、請求項15に記載のセンサ制御デバイス。
【請求項17】
前記センサ制御デバイスは、前記1又は2以上のプロセッサが前記第1のストレージブロックをアクセス不可としてマーキングするマーキングデータを前記メモリに書き込む前に、更新準拠状態に再初期化するように構成される、請求項1に記載のセンサ制御デバイス。
【請求項18】
前記検体センサは、前記検体データを生成するように構成され、前記検体データは、前記検体センサを使用して患者の体液の検体のレベルを示し、
前記検体センサから受信した検体データを処理することは、
前記ストレージブロックの第1のセットのストレージブロックに書き込まれた前記プログラムデータを使用して前記検体データを分析するステップと、
前記検体データを前記通信モジュールを使用して外部デバイスに送信するステップと、
を含む、請求項1に記載のセンサ制御デバイス。
【請求項19】
センサ制御デバイスの1又は2以上のプロセッサによって、前記1又は2以上のプロセッサに通信可能に結合された前記センサ制御デバイスの通信モジュールを使用して、前記センサ制御デバイスの前記1又は2以上のプロセッサ、前記通信モジュール、及び検体センサに通信可能に結合された前記センサ制御デバイスのメモリにマーキングデータを書き込む命令を受信するステップであって、前記メモリが、非プログラマブル状態にあるストレージブロックの第1のセットとプログラマブル状態にあるブロックの第2のセットとを含む複数のストレージブロックを含む、ステップと、
前記1又は2以上のプロセッサによって、前記プログラマブル状態にある前記ストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込み、前記第2のストレージブロックを前記非プログラマブル状態にする、ステップと、
前記1又は2以上のプロセッサによって、マーキングデータを前記メモリに書き込み、前記非プログラマブル状態にある前記ストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするステップと、
前記1又は2以上のプロセッサによって、前記第2のストレージブロックに書き込まれた前記プログラムデータに格納された命令の実行に基づいて前記検体センサから受信した検体データを処理するステップと、
を含む、方法。
【請求項20】
コンピュータ可読非一時的ストレージ媒体であって、センサ制御デバイスの1又は2以上のプロセッサによって実行された時に、動作を実行するように構成された命令を含み、
前記動作が、
前記1又は2以上のプロセッサによって、前記1又は2以上のプロセッサに通信可能に結合された前記センサ制御デバイスの通信モジュールを使用して、前記センサ制御デバイスの前記1又は2以上のプロセッサ、前記通信モジュール、及び検体センサに通信可能に結合された前記センサ制御デバイスのメモリにマーキングデータを書き込む命令を受信するステップであって、前記メモリが、非プログラマブル状態にあるストレージブロックの第1のセットとプログラマブル状態にあるブロックの第2のセットとを含む複数のストレージブロックを含む、ステップと、
前記1又は2以上のプロセッサによって、前記プログラマブル状態にある前記ストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込み、前記第2のストレージブロックを前記非プログラマブル状態にする、ステップと、
前記1又は2以上のプロセッサによって、マーキングデータを前記メモリに書き込み、前記非プログラマブル状態にある前記ストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするステップと、
前記1又は2以上のプロセッサによって、前記第2のストレージブロックに書き込まれた前記プログラムデータに格納された命令の実行に基づいて前記検体センサから受信した検体データを処理するステップと、
を含む、コンピュータ可読非一時的ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権)
本出願は、引用により本明細書に組み込まれる、2021年9月29日に出願された米国仮特許出願第63/249,735号及び2021年7月21日に出願された米国仮特許出願第63/224,088号の米国特許法119(e)条に基づく利益を主張するものである。
【0002】
(開示される主題の分野)
開示される主題は、データを収集し監視するためのセンサをプログラミング及びリプログラミングするシステムに関する。センサは、患者から直接データを収集し監視する検体センサを含むことができる。プログラミング及びリプログラミングは、センサとプログラミング及びリプログラミングコマンドを送出するシステムの別のデバイスとの間の直接的な物理的接続なしに実行することができる。
【背景技術】
【0003】
(関連技術の説明)
特定の検出デバイスは、他のコンピューティングデバイスに無線でデータを送信し、他のコンピューティングデバイスから無線でデータを受信することができる。これらの検出デバイスの一部は、強力なプロセッサが装備され、永続的電源を用いて動作するが、他の検出デバイスは、あまり電力を使うことなく効率的に動作するよう設計される。更にまた、低電力検出デバイスは、使い捨て及び低コストになるよう設計することができ、これは、デバイスに含まれる複雑性及びコンピューティング資源に関して設計及び製造中に行われるトレードオフを伴う可能性がある。例えば、検体センサなどのセンサを設計する時の1つのこのようなトレードオフは、デバイスがエンドユーザに分散された状態では機能が更新されることなくこれらのデバイスを設計するステップを包含することがある。低電力デバイスを更新できないことは、メモリに書き込まれるデータの量を制限するか又はメモリの領域に実行される書き込みの数を制限することのできるメモリアーキテクチャの使用を介して実施される可能性がある。従って、低電力デバイスの行動及びコストは、製造時に固定とすることができる。しかしながら、このトレードオフは、エンドユーザに分散されているデバイスに新しい特徴を実施する、このようなデバイスのプログラミングのエラーを訂正する、及びこのようなデバイスの行動をカスタマイズ又は個人化する製造者の能力を低減又は無くすことがある。
【0004】
場合によっては、低電力検出デバイスを含む低電力デバイスは、デバイスへの直接アクセスを介してリプログラムすることができる。例えば、デバイスのハードウェアが物理的又は電子的にプログラミングモードに操作されるような場合などには、メモリアーキテクチャは、メモリに書き換える選択肢を提供することができる。しかし、リプログラミングは、典型的には、モジュラー更新を難しくし且つメモリ又はソフトウェアエラーを招くことがある低電力デバイスの全プログラミングの消去を含むことがある。更にまた、このような更新を実行するためのデバイスへの直接アクセスは、エンドユーザにとって利用できないか又は不便である可能性があり、利用できるとしても、デバイスソフトウェアの不正改竄又は無許可の複製又はリバースエンジニアリングを阻止するためのセキュリティの課題をもたらす可能性がある。
【0005】
従って、検出デバイスを含む低電力及び低コストのデバイスによって実施して、デバイスへの直接アクセスを必要とすることなく低電力デバイスのリプログラミングの安全な方法を使用できるようにするための方法及びシステムに対する機会が存在する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国仮特許出願第63/224,088号明細書
【特許文献2】米国仮特許出願第63/249,735号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
開示される主題の目的及び利点は、以下の説明に記載され、この説明から明らかになると共に、開示される主題の実施によって学習されることになる。開示される主題の追加の利点は、本明細書及び特許請求の範囲に詳細に示される方法及びシステムによって、並びに図面から実施及び達成されるであろう。
【課題を解決するための手段】
【0008】
具現化され広義に説明されるように、これら及び他の利点を達成するため、及び開示される主題の目的によれば、開示される主題は、オーバ・ザ・エア(OTA)プログラミングなどを介したセンサとの直接の物理的接続のないセンサのセキュアなプログラミングのためのシステム及び方法を含む。本明細書に記述する技術の利点及び応用は、医療デバイスだけに排他的に限定されるものではなく、エンドユーザに配布されるとデバイスへのアクセスが不都合であるか又は実行不能である場合の低電力及び低コストデバイスに他の類似のタイプによって実施及び使用することができる。例示的なシステム及び方法は、1又は2以上のプロセッサ、検体センサ、通信モジュール、及び、1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合されたメモリを含むセンサ制御デバイスを含むことができる。メモリは、ストレージブロックを含むことができ、ストレージブロックは、非プログラマブル状態にあるストレージブロックの第1のセットとプログラマブル状態にあるブロックの第2のセットとを含む。1又は2以上のプロセッサは、通信モジュールを使用して、プログラマブル状態にあるストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込む命令を受信し、第2のストレージブロックを非プログラマブル状態にし、非プログラマブル状態にあるストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするマーキングデータをメモリに書き込む命令を受信することができる。第2のストレージブロックに書き込まれるプログラムデータは、1又は2以上のプロセッサによって実行された時に、1又は2以上のプロセッサに検体センサから受け取った検体データを処理させる命令を含むことができる。特定の実施形態において、メモリのストレージブロックは、動的に割り当てられたメモリストレージブロックである。特定の実施形態において、メモリは、通信モジュールに一体化することができる。特定の実施形態において、メモリは、通信モジュールから分離させることができる。特定の実施形態において、メモリは、データがメモリに書き込まれるとデータを上書きすることができないワンタイムプログラマブルメモリとすることができる。特定の実施形態において、第2のストレージブロックに書き込まれるプログラムデータは、センサ制御デバイスの特徴、検出及び計算アルゴリズム、又は検体センサの較正データに関する命令を含むことができる。特定の実施形態において、メモリにマーキングデータを書き込む前に、センサ制御デバイスは、通信モジュールを使用して、署名済みコマンドを受け取ることができる。コマンドは、暗号化キーを用いて署名することができる。センサ制御デバイスは、プログラミングモードに入ることができる。特定の実施形態において、命令は、共有暗号化キーを用いてセキュアにされた通信セッションの一部として受信することができる。特定の実施形態において、通信モジュールは、第1の通信プロトコルに準拠することができ、センサ制御デバイスは更に、第2の通信プロトコルに準拠する第2の通信モジュールを含むことができる。特定の実施形態において、センサ制御デバイスは、第2の通信モジュールを使用して、1又は2以上のプロセッサがメモリにマーキングデータを書き込む前に、プログラミング状態に入るコマンドを受け取ることができる。特定の実施形態において、第1の通信プロトコルと第2の通信プロトコルの一方を、Bluetooth Low Energyとすることができ、第1の通信プロトコルと第2の通信プロトコルの一方を、近距離無線通信とすることができる。特定の実施形態において、1又は2以上のプロセッサは、第2のストレージブロックに書き込まれたプログラムデータの命令を実行する前に、メモリの1又は2以上の整合性チェックを実行することができる。特定の実施形態において、1又は2以上の整合性チェックは、ストレージブロックの第1のセットの各ストレージブロックに整合性チェックを実行するステップを含むことができる。特定の実施形態において、センサ制御デバイスは更に、1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合された書換可能メモリを含むことができる。第2のストレージブロックに書き込まれるプログラムデータは、最初に書換可能メモリに書き込むことができる。特定の実施形態において、1又は2以上のプロセッサは、書換可能メモリに格納されたプロファイルに基づいてストレージブロックの第1のセットのストレージブロックに書き込まれたプログラムデータの命令を実行することができる。特定の実施形態において、アクセス不可として第1のストレージブロックをマーキングするマーキングデータをメモリに書き込むことは、書換可能メモリに格納されたプロファイルを修正することを含むことができる。特定の実施形態において、センサ制御デバイスは、1又は2以上のプロセッサがアクセス不可として第1のストレージブロックにマーキングするマーキングデータをメモリに書き込む前に、更新-準拠状態に再初期化することができる。特定の実施形態において、検体センサは、検体データを生成するよう構成することができる。検体データは、検体センサを用いて患者の体液の検体のレベルを示すことができる。検体センサから受け取った検体データを処理すること、ストレージブロックの第1のセットのストレージブロックに書き込まれたプログラムデータを使用して検体データを分析するステップと、通信モジュールを使用して外部デバイスに検体データを送信するステップを含むことができる。特定の実施形態において、検体は、例証として限定ではなく、ブドウ糖、ケトン、乳酸、酸素、ヘモグロビンA1C、アルブミン、アルコール、アルカリ・ホスファターゼ、アラニン・トランスミナーゼ、アスパラギン酸アミノトランスフェラーゼ、ビリルビン、血中尿素窒素、カルシウム、二酸化炭素、塩素化合物、クレアチニン、ヘマトクリット、乳酸塩、マグネシウム、酸素、pH、リン、カリウム、ナトリウム、総タンパク質、尿酸などを含むことができる。特定の実施形態において、検体データは更に、体温、心拍、血圧、又は運動データを含むことができる。
【0009】
上述の概要及び以下の詳細な説明の両方は例示的なものであり、開示される主題の更なる説明を提供することを意図していることを理解されたい。
【0010】
本明細書に組み込まれ本明細書の一部を構成する添付図面は、開示される主題の方法及びシステムを例証し且つ更なる理解を提供するために含まれる。本明細書と共に図面は、開示される主題の原理を説明している。
【0011】
本明細書に記載される主題の詳細は、その構造及び動作の両方に関して同じ参照符号が同じ要素を示す添付図面を検討することによって明らかにすることができる。
【図面の簡単な説明】
【0012】
【
図1】本明細書に記述する技術と共に使用する例示的検体モニタリングシステムの動作環境を示す図である。
【
図2】開示される主題の例示的な実施形態による、例示的センサを示すブロック図である。
【
図3】開示される主題の例示的な実施形態による、センサと通信するための例示的データ受信デバイスを示すブロック図である。
【
図4】開示される主題に従うセンサのメモリのデータを体系化して割り当てる実施例を示す図である。
【
図5】開示される主題に従うセンサのオーバ・ザ・エアプログラミングの例示的動作及びデータの流れを示す図である。
【
図6】この開示の主題に従うメモリブロック管理の例示的実演を示す図である。
【発明を実施するための形態】
【0013】
開示される主題の様々な例示的な実施形態をここで詳細に参照し、例示的な実施形態を添付図面に示している。開示される主題の動作の構造及び対応する方法を本システムの詳細な説明に関連付けて記述する。
【0014】
本明細書に示すシステム及び方法は、センサ制御デバイスへの直接の物理的アクセスなしにセンサ制御デバイスのセキュアにされたアップデートに使用することができる。開示される主題の実施形態は、いわゆるオーバ・ザ・エア(OTA)アップデートを含む。本明細書で用いる「医療センサ」又は「検体センサ」は、医療又は医療以外の目的に有用であるユーザからのセンサ情報を受け取ることができる何れのデバイスも指すことができ、特に、例証の目的であり限定ではないが、体温センサ、血圧センサ、脈拍又は心拍センサ、ブドウ糖レベルセンサ、検体センサ、身体活動センサ、身体の動きセンサ、又は医療又は医療以外のモニタリング目的に有用な何れかの他のセンサを含む、スモールフォーマットの低電力デバイスを指すことができる。検体センサによって測定される検体は、例証として限定ではなく、ブドウ糖、ケトン、乳酸、酸素、ヘモグロビンA1C、アルブミン、アルコール、アルカリ・ホスファターゼ、アラニン・トランスミナーゼ、アスパラギン酸アミノトランスフェラーゼ、ビリルビン、血中尿素窒素、カルシウム、二酸化炭素、塩素化合物、クレアチニン、ヘマトクリット、乳酸塩、マグネシウム、酸素、pH、リン、カリウム、ナトリウム、総タンパク質、尿酸などを含むことができる。開示される主題の目的及び利点が以下の説明に示され明らかになるであろう。開示される主題の追加の利点は、書面の説明及び請求項に詳細に指示された方法、装置、及びデバイスによって、並びに添付図面から実現及び達成されるであろう。特定の実施形態が、医療デバイス及び医療センサの文脈で説明されているが、本明細書に記述する技術の利点及び応用は、医療デバイスだけに制限されず、エンドユーザに分散されたらデバイスへのアクセスが不便であるか又は実行不可能である低電力及び低コストデバイスに他の類似のタイプによって実施及び使用することができる。
【0015】
限定ではなく例示の目的で、開示される主題は、オーバ・ザ・エア(OTA)プログラミングなどを介して、センサとの直接の物理的接続のない医療及び医療以外のセンサのセキュアにされたプログラミングのためのシステム及び方法を含む。本明細書に記述する技術の利点及び応用は、医療デバイスだけに制限されず、エンドユーザに分散されたらデバイスへのアクセスが不便であるか又は実行不可能である低電力及び低コストデバイスに他の類似のタイプによって実施及び使用することができる。例示的なシステム及び方法は、1又は2以上のプロセッサ、検体センサ、通信モジュール、及び、1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合されたメモリを含む検体センサ又は他のセンサ制御デバイスを含むことができる。メモリは、非プログラマブル状態にあるストレージブロックの第1のセットとプログラマブル状態にあるブロックの第2のセットとを含むストレージブロックを含むことができる。1又は2以上のプロセッサは、通信モジュールを使用して、プログラマブル状態にあるストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込む命令を受信し、第2のストレージブロックを非プログラマブル状態にして、非プログラマブル状態にあるストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするマーキングデータをメモリに書き込む命令を受信することができる。第2のストレージブロックに書き込まれるプログラムデータは、1又は2以上のプロセッサによって実行された時に、1又は2以上のプロセッサに検体センサから受け取った検体データを処理させる命令を含むことができる。特定の実施形態において、メモリのストレージブロックは、動的に割り当てられたメモリストレージブロックである。特定の実施形態において、メモリは、通信モジュールに一体化させることができる。特定の実施形態において、メモリは、通信モジュールから分離させることができる。特定の実施形態において、メモリは、データが一度メモリに書き込まれるとデータを上書きすることができないワンタイムプログラマブルメモリとすることができる。特定の実施形態において、第2のストレージブロックに書き込まれるプログラムデータは、検体センサ又はセンサ制御デバイスの特徴、検出及び計算アルゴリズム、又は検体センサの較正データに関する命令を含むことができる。
【0016】
特定の実施形態において、マーキングデータをメモリに書き込む前に、検体センサ又はセンサ制御デバイスは、通信モジュールを使用して、署名されたコマンドを受け取ることができる。コマンドは、暗号化キーを使用して署名することができる。検体センサ又はセンサ制御デバイスは、プログラミングモードに入ることができる。特定の実施形態において、命令は、共有暗号化キーを使用してセキュアにされた通信セッションの一部として受信することができる。特定の実施形態において、通信モジュールは、第1の通信プロトコルに準拠することができ、検体センサ又はセンサ制御デバイスは更に、第2の通信プロトコルに準拠する第2の通信モジュールを含むことができる。特定の実施形態において、検体センサ又はセンサ制御デバイスは、第2の通信モジュールを使用して、1又は2以上のプロセッサがメモリにマーキングデータを書き込む前にプログラミング状態に入るコマンドを受信することができる。特定の実施形態において、第1の通信プロトコルと第2の通信プロトコルの一方をBluetooth Low Energyとすることができ、第1の通信プロトコルと第2の通信プロトコルのもう一方を近距離無線通信とすることができる。特定の実施形態において、1又は2以上のプロセッサは、第2のストレージブロックに書き込まれたプログラムデータの命令を実行する前にメモリの1又は2以上の整合性チェックを実行することができる。特定の実施形態において、1又は2以上の整合性チェックは、ストレージブロックの第1のセットの各ストレージブロックに整合性チェックを実行するステップを含むことができる。特定の実施形態において、検体センサ又はセンサ制御デバイスは更に、1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合された書換可能メモリを含むことができる。第2のストレージブロックに書き込まれるプログラムデータは、書換可能メモリに最初に書き込むことができる。
【0017】
開示される主題の態様によれば、1又は2以上のプロセッサは、書換可能メモリに格納されたプロファイルに基づいてストレージブロックの第1のセットのストレージブロックに書き込まれたプログラムデータの命令を実行することができる。特定の実施形態において、第1のストレージブロックをアクセス不可としてマーキングするマーキングデータをメモリに書き込むことは、書換可能メモリに格納されたプロファイルを修正するステップを含むことができる。特定の実施形態において、検体センサ又はセンサ制御デバイスは、1又は2以上のプロセッサが第1のストレージブロックをアクセス不可としてマーキングするマーキングデータをメモリに書き込む前に、更新-準拠状態に再初期化することができる。特定の実施形態において、検体センサは、検体データを生成するよう構成することができる。検体データは、検体センサを使用して患者の体液における検体のレベルを示すことができる。検体センサから受け取った検体データを処理することは、ストレージブロックの第1のセットのストレージブロックに書き込まれたプログラムデータを用いて検体データを分析するステップと、通信モジュールを使用して外部デバイスに検体データを送信するステップを含むことができる。特定の実施形態において、検体は、例として且つ制限ではなく、ブドウ糖、ケトン、乳酸、酸素、ヘモグロビンA1C、アルブミン、アルコール、アルカリ・ホスファターゼ、アラニン・トランスミナーゼ、アスパラギン酸アミノトランスフェラーゼ、ビリルビン、血中尿素窒素、カルシウム、二酸化炭素、塩素化合物、クレアチニン、ヘマトクリット、乳酸塩、マグネシウム、酸素、pH、リン、カリウム、ナトリウム、総タンパク質、尿酸などを含むことができる。特定の実施形態において、検体データは更に、体温、心拍、血圧、又は運動データを含むことができる。
【0018】
例証の目的であって限定ではなく、
図1に示す開示される主題と共に使用する検体モニタリングシステム100の例示的な実施形態を参照されたい。検体モニタリングシステム100は、医療的使用の代わりに又は医療的使用に加えて医療以外に使用するセンサ及びデバイスを含むよう適応させることができる。
図1は、好ましくは、本明細書に記述する技術を実施することができる低電力検体モニタリングシステム100の動作環境を示している。検体モニタリングシステム100は、人間又は動物の身体のパラメータのモニタリングを提供するよう設計された構成要素のシステムを含むことができるか、又は様々な構成要素の構成に基づいて他の動作を提供することができる。例えば、検体モニタリングシステム100は、継続したブドウ糖モニタリングをユーザに提供できるか、或いは薬品及び他の薬剤の投与を提供することができる。本明細書で実施するシステムは、低電力検出デバイス110を含むことができ、これはまた、情報が収集されるユーザによって身に着けられるか又はユーザの身体に取り付けられるセンサと呼ばれる。本明細書で実施するセンサ制御デバイス110は、封止された使い捨てデバイスとすることができ、本明細書で更に論じるように、使い易さを向上させ不正改竄のリスクを低減することができる。低電力検体モニタリングシステム100は更に、本明細書に記述するように構成された読取りデバイス120を含み、センサ制御デバイス110からの検体データを含むデータの検索及び配信を容易にすることができる。
【0019】
本明細書で実施する検体モニタリングシステム100は、付加的に又は代替として、サードパーティに提供され、且つモバイルフォン、タブレット、パーソナルコンピューティングデバイス、又は通信リンクを通じてセンサ制御デバイス110と通信することのできる他の類似のコンピューティングデバイスなどの汎用ハードウェアデバイス130に組み込まれるソフトウェア又はファームウェアライブラリ又はアプリケーションを含むことができる。汎用ハードウェアは更に、限定ではないが、センサ制御デバイス110と通信するように構成された組込ライブラリを有するインスリンポンプ又はインスリンペンを含む組込デバイスを含むことができる。ソフトウェアライブラリを組み込み実行する汎用デバイス130は、センサ制御デバイス110と通信するためのデータ受信デバイスを指すことができる。本明細書で使用するデータ受信デバイス120は、検体モニタリングシステム100内のセンサ制御デバイス110と通信するために特別に製造されたハードウェアデバイスを指すが、汎用データ受信デバイス130は、ソフトウェア又はファームウェアライブラリを組み込むか又はアプリケーションを実行する適切に構成されたハードウェアデバイスを指す。本明細書で使用するデータ通信デバイスは、データ受信デバイス120又は汎用データ受信デバイス130の何れか又は両方を指す。本明細書に記載されるセキュリティアーキテクチャア及び設計原理は、センサ制御デバイス110、適切に構成されたデータ受信デバイス120又は汎用データ受信デバイス130、及び本明細書に記述するものに類似の他の構成要素を含む何れかの適切に構成されたシステムに等しく適用可能であることが理解されるであろう。センサ制御デバイス110の役割は、センサ制御デバイス110に組み込まれる検出ハードウェアの性質によって定義することができる。
【0020】
本明細書で実施するセンサ制御デバイス110は、事前に決められた能動的使用の寿命(例えば、1日、14日、30日など)を備えた小型の個々にパッケージ化された使い捨てデバイスを含むことができる。センサ110は、患者の身体の皮膚に取り付けて、センサの寿命の持続時間中は貼り付けたままにすることができる。本明細書で実施するセンサ110は、選択的に取り除き且つ再度取り付けたときに機能し続けるよう設計することができる。
【0021】
検体モニタリングシステム100の例証の実施形態は、センサ制御デバイス110、データ受信デバイス120、汎用データ受信デバイス130、ユーザデバイス140、及びリモートサーバ150の各々の1つだけを含むが、この開示は、検体モニタリングシステム100が、システム全体で対話する各構成要素の複数を組み込むことを企図している。例えば、本明細書で開示する実施形態は、リモートサーバ150と通信中である複数の患者に関連付けることができる複数のセンサ110を含む。加えて、リモートサーバは、単一のエンティティ150として示されているが、リモートサーバは、待ち時間を低減しモニタリングシステムの休止時間を回避するために意図的な冗長性をもたらすように地理的に分配することができる複数のネットワーク化サーバを包含できることが理解されるであろう。
【0022】
限定ではなく例示の目的で、
図2に示す開示される主題と共に使用するセンサ制御デバイス110の例示的な実施形態を参照されたい。
図2は、本明細書に記述するセキュリティアーキテクチャ及び通信方式に準拠する例示的な実施形態による、例示的センサ制御デバイス110のブロック図を示す。本明細書で実施するセンサ制御デバイス110は、通信モジュール240に通信可能に結合された特定用途向け集積回路(「ASIC」)200を含むことができる。例に過ぎないが制限ではなく、例示的通信モジュール240は、Bluetooth Low Energy(「BLE」)チップセット241、近距離無線通信(「NFC」)チップセット、又は、IEEE802.15プロトコル、IEEE802.11プロトコルに従うパーソナルエリアネットワーク、赤外線データアソシエーション規格(IrDA)に従う赤外線通信などの類似の短距離通信方式によって使用される他のチップセットを含むことができる。通信モジュール240は、データ受信デバイス120又は汎用データ受信デバイス130の同様の能力のある通信モジュールとの対話を介してデータ及びコマンドを送信及び受信することができる。本明細書で実施する特定の通信チップセットは、ASIC200(例えば、NFCアンテナ225)に組み込むことができる。
【0023】
本明細書で実施するように、センサ制御デバイス110が、電力効率が良く、低コスト且つ使い捨てできるよう設計される場合、ASIC200は、マイクロコントローラコア210、オンボードメモリ220、及びストレージメモリ230を含むことができる。ストレージメモリ230は、認証及び暗号化セキュリティアーキテクチャで使用されるデータを格納することができる。データは、本明細書の実施例に記述するものを含む様々な要素及び使用を有することができる。ASIC200は、オンボードバッテリなどの電力モジュール250から、又はNFCパルスから電力を受け取ることができる。電力モジュール250は、比較的小さな電荷のみを格納することができる。本明細書で実施するセンサ制御デバイス110は、事前に決められた寿命スパンを持ち、且つワイドエリア通信機能を持たない使い捨てデバイスとすることができる。本明細書で実施する通信モジュール240は、バッテリ電力下の通信を提供することができる。
【0024】
この開示は、センサ制御デバイス110及びASIC200の例示的構成に関して記述しているが、他の適切な構成も想定される。例として、センサ制御デバイス110の処理ハードウェアは、フィールドプログラマブルゲートアレイ(FPGA)などの専用プロセッサの別のタイプとして実施することができる。本明細書で実施するセンサ制御デバイス110の処理ハードウェアは、センサ制御デバイス110の機能を実行するためにソフトウェアによって一時的に構成される汎用処理ユニット(例えば、CPU)又は別のプログラマブルプロセッサを含むことができる。一般的には、処理ハードウェアは、ハードウェア、ファームウェア、ソフトウェア、又は、ハードウェア、ファームウェア、及びソフトウェアの適切な組み合わせを使用して実施することができる。限定ではなく例示の目的で、センサ制御デバイス110の処理ハードウェアは、コンピューテーション能力、電力容量、メモリ容量、ネットワーク接続の利用可能度などを含む1又は2以上の要素によって定義することができる。
【0025】
本明細書で実施するセンサ100の通信モジュール240は、検体モニタリングシステム100の他のデバイスと通信するセンサ制御デバイス110を支援することができるか、又はセンサ制御デバイスを支援する1又は2以上のモジュールを含むことができる。特定の実施形態において、センサ制御デバイス110は、例えば、データ受信デバイス120又はユーザデバイス140と通信することができる。通信モジュール240は、例えば、セルラーラジオモジュールを含むことができる。セルラーラジオモジュールは、限定ではないが、第3世代(3G)、第4世代(4G)、及び第5世代(5G)ネットワークを含む広帯域セルラーネットワークを用いて通信する1又は2以上のラジオ送受信機及び/又はチップセットを含むことができる。センサ制御デバイス110は、セルラーラジオモジュールを使用してリモートデバイス(例えば、リモートサーバ150)と通信して検体データ(例えば、センサ読取り値)を提供することができ、更にユーザの更新又はアラートを受信することができる。
【0026】
別の例として、通信モジュール240は、NFCスキャナ又はBLEエンドポイントとして動作するデータ受信デバイス120又はユーザデバイス140との通信を容易にするためにBLEモジュール241及び/又はNFCモジュールを含むことができる。この開示全体を通して使用されるBluetooth Low Energy(「BLE」)は、エンドユーザにとってBluetoothデバイスのペアリングを簡単にするよう最適化された短距離通信プロトコルを指す。通信モジュール240は、IEEE802.15プロトコル、IEEE802.11プロトコルに従うパーソナルエリアネットワーク、赤外線データアソシエーション規格(IrDA)に従う赤外線通信などの類似の短距離通信方式と共に使用される追加の又は代替のチップセットを含むことができる。通信モジュール240は、データ受信デバイス120又はユーザデバイス140の同様の機能の通信モジュールとの対話を介してデータ及びコマンドを送信及び受信することができる。特定の通信チップセットは、ASIC200(例えば、NFCアンテナループ)に組み込むことができる。加えて、図示していないが、センサ制御デバイス110の通信モジュール240は、IEEE802.11規格(例えば、802.11a、802.11b、802.11g、802.11n(別名、Wi-Fi4)、802.11ac(別名、Wi-Fi5)、802.11ax(別名、Wi-Fi6))の1又は2以上に従う無線ローカルエリアネットワークを用いて通信するためのラジオを含むことができる。
【0027】
通信モジュール243は更に、通信モジュール240のマイクロコントローラコアに結合される及び/又はセンサ制御デバイス110のASIC200のマイクロコントローラコア210に結合される通信モジュールに固有のメモリ243を含むことができる。特定の実施形態において、及び本明細書に記述するように、ASIC200のメモリ220及び通信モジュール240のメモリ243の1又は2以上は各々を、支援アーキテクチャを含むことができるか、又はそうでなければ、メモリの特定のアドレス又は領域に書き込むことができる回数を定義するよう構成することができる、いわゆる「ワンタイムプログラマブル」(OTP)メモリとすることができ、メモリがこの後に使用不可として又はそうでなければプログラミングに利用できないとしてマーキングできる回数を、ワンタイム又はワンタイム以上の最大の定義回数とすることができる。本明細書に開示される主題は、新しい情報で前記OTPメモリを更新するためのシステム及び方法に関する。特に、本明細書に開示される主題は、OTAプログラミングを用いて前記OTPメモリを情報で更新するためのシステム及び方法に関する。
【0028】
本明細書で実施するセンサ制御デバイス110は、検体モニタリングシステム100の他のデバイスの相互認証及び暗号化を確立するために1又は2以上のブロック暗号を使用するアプリケーション層暗号化を使用することができる。アプリケーション層で実施される規格以外の暗号化設計の使用は、幾つかの利点を有する。この方式の1つの利点は、特定の実施形態において、ユーザが、最小の対話によって、例えばNFC走査だけを使用し且つセキュリティピンの入力又はペアリングの確認などの追加の入力を必要とすることなく、センサ制御デバイス110と別のデバイスのペアリングを完了できることである。
【0029】
検体モニタリング又は医療機能を実行するために、センサ100は更に、センサ100の機能に相当する適切な検出ハードウェア260を含むことができる。本明細書で実施する検出ハードウェア260は、例えば、薬品又は他の薬剤を自己管理する患者に処方される自己注射器などの医療ハードウェアを含むことができる。従って、検出ハードウェア260は、皮下に薬品を送り込むために注射器の針又はプランジャを動かす装置を含むことができる。シリンジには事前に薬品を充填することができ、トリガ事象に応答して動作させることができる。例えば、装置は、患者に針を刺し、プランジャを送り出し針を介して皮下に薬品を送り込むことができる。
【0030】
本明細書で実施する検出デバイス110は、患者の身体の組織(例えば、皮膚、器官、筋肉など)に取り付け可能であり且つ制御された又は選択された期間に渡って薬品の固定投与量又は患者が選択した投与量の皮下注射を自動的に送り出すことができるオンボディ注射器として構成することができる。このような実施形態において、検出ハードウェア260又は検出デバイスは、例えば、検出ハードウェア260を患者の身体の組織に一時的に取り付けるための粘着材又は他の手段、薬品又は薬剤を格納するための一次コンテナ、プランジャの開放を誘導するか又は許可して一次コンテナから薬品を放出させるように構成された誘導装置、トロカール(例えば、中実のニードル)、トロカールの周りに配置された融通性のあるカニューレ、トロカール及び/又は融通性のあるカニューレを患者に挿入し更に任意選択的に患者に融通性のあるカニューレを残したままトロカールを引き抜くように構成された挿入装置、デバイスの起動に応じて一次コンテナと融通性のあるカニューレの間の液体の通路を確立するように構成された液体経路コネクタ、及びデバイスを起動するように構成されたアクチュエータ(例えば、ユーザが移動可能なボタン)を含むことができる。本明細書で実施するオンボディ注射器は、事前充填及び/又は事前装着することができる。
【0031】
機械的構成要素に加えて、検出ハードウェア260は、電気及び/又は電子構成要素を含むことができる。例えば、電子スイッチを装置に結合することができる。検出デバイス110は、この開示の技術を用いて、認証された通信を確立し、暗号化信号を受信し、信号を解読して、信号がスイッチを動作するコマンドを含むと決定し、更にスイッチを動作して針を動かすことができる。従って、本明細書で実施する検出デバイスは、リモートコマンドに応答して検出ハードウェア260を使用して機能を実行するよう構成することができる。
【0032】
本明細書で実施する検出ハードウェア260は、針又はプランジャが移動した距離を指示するデジタル信号を生成するために移動センサ及びアナログ-デジタルコンバータを含むことができる。薬剤の送出時に、低電力検出デバイス110は、センサからの読取り値を取得して、この開示の技術を使用して読取り値を暗号化し、更に読取り値を安全に別のデバイスに報告することができる。加えて又は代替として、検出デバイス110は、薬剤が送出された時間、送出された薬剤の容量、薬剤を送出中に遭遇した何れかの問題点などの他の測定値又はパラメータを報告することができる。検出デバイス110は、検出ハードウェア260の動作に関するデータをリモートデバイスに提供するよう構成することができる。
【0033】
検出ハードウェア260は、1又は2以上の医療及び医療以外の機能の何れの適切な組み合わせも実施するよう構成することができ、更に1又は2以上の検出構成要素を含むことができる。検出構成要素は、検出デバイス110の動作状態(例えば、開梱/投与の準備済み、無菌バリア除去、患者の身体組織との接触、カニューレ及び/又は針の挿入、薬品送出開始、アクチュエータ又はボタンの変位、薬品送出完了、プランジャの位置、液体経路の閉塞など)、検出デバイス110又は検出デバイスに包含された薬品の状態(例えば、温度、衝撃又は振動の暴露、露光、薬品の色、薬品の濁度、薬品の粘度、地理的位置、空間的方位、時間情報、外気圧力など)、及び/又は患者に関する生理的情報(例えば、体温、血圧、脈拍又は心拍、血糖レベル、身体活動又は運動、指紋検出など)を検出するよう構成することができる。この検出された情報は、例えば、データ受信デバイス120、汎用データ受信デバイス130、又はリモートサーバ150へのストレージ及び分析を容易にするために、センサ制御デバイス110からオフロードすることができる。本明細書で実施するセンサ制御デバイス110は、他のデバイスから暗号化されたデータを受信し且つ暗号化されたデータを他のデバイスに送信するよう構成することができる。
【0034】
図2を参照すると、センサ制御デバイス110のASIC200は、ストレージメモリ230内に保持されたデータを使用して認証及び暗号化キーを動的に生成するよう構成することができる。またストレージメモリ230は、特定のクラスのデバイスと共に使用する有効認証及び暗号化キーのセットによって事前プログラムすることができる。ASIC200は更に、受信したデータを使用して他のデバイスとの認証手順(例えば、ハンドシェーク、相互認証など)を実行して、通信モジュール240を介してセンシティブデータをリモートサーバ150に送信するなどのセンシティブデータの送信前に、生成したキーをセンシティブデータに適用することができる。生成したキーは、センサ制御デバイス110に固有のもの、デバイスのペアに固有のもの(例えば、センサ制御デバイス110とデータ受信デバイス120の特定のペアリングに固有のもの)、センサ制御デバイス110と他のデバイスとの間の通信セッションに固有のもの、通信セッション中に送信されたメッセージに固有のもの、又はメッセージ内に包含されたデータのブロックに固有のものとすることができる。センサ制御デバイス110のASIC200と通信モジュール240によって実施される技術について本明細書で詳しく説明する。
【0035】
限定ではなく例示の目的で、
図3に示す開示される主題と共に使用するデータ受信デバイス120の例示的な実施形態を参照されたい。
図3は、例示的な実施形態に関して本明細書に記述するセキュリティ及びコンピューティングアーキテクチャに準拠する例示的データ受信デバイス120を示す。本明細書で実施するデータ受信デバイス120は、スモールフォームファクタデバイスを含むことができる。データ受信デバイス120は、任意選択的にはセンサ制御デバイス110のように制約されるメモリ又は処理能力でなくてもよく、本明細書で実施するデータ受信デバイス120は、動作用のソフトウェアストレージ及びデータストレージに十分なメモリ、及び本明細書に記述するセンサ制御デバイス110と通信するためのソフトウェアの実行に十分なRAMを含むことができる。
図3に示すように、データ受信デバイス120は、マイクロコントローラ310、メモリ320、及びストレージ330を含み且つ通信モジュール340と通信可能に結合されるASIC300を含む。本明細書で実施するASIC300は、センサ制御デバイス110のASIC200に同一とすることができる。代替として、ASIC300は、追加のコンピューティング能力及び機能を含むよう構成することができる。データ受信デバイス120の構成要素用の電力は、本明細書で実施されるように充電式バッテリを含むことができる電力モジュール350によって供給することができ、持続する動作及び継続する使用を可能にする。
【0036】
更にデータ受信デバイス120は、センサ制御デバイス110又は他のデバイス(例えば、ユーザデバイス140又はリモートサーバ150)から受信した検体データの閲覧を容易にするディスプレイ370を含むことができる。ディスプレイ370は、エネルギーの使用を節約して更にデータ受信デバイス120のコストを低減する比較的低速のスクリーンリフレッシュ速度を有する電力効率の良いディスプレイとすることができる。ディスプレイ370は、1又は2以上のユーザインタフェースを介してユーザ入力を受信する低コストのタッチ画面とすることができる。図示していないが、データ受信デバイス120は、別々のユーザインタフェース構成要素(例えば、物理キー、光センサ、マイクロフォンなど)を含むことができる。データ受信デバイス120の構成要素用の電力は、本明細書で実施するように充電式バッテリを含むことができる電力モジュール350によって供給することができ、持続する動作及び継続する使用を可能にする。
【0037】
特定の実施形態において、通信モジュール340のプロセッサは、別々の構成要素として示しているが、通常ASIC300のマイクロコントローラ310によって実行される処理動作を実行することができる。従って、データ受信デバイス120に必要とされるハードウェアを単純化するために、通信モジュールに追加されたASIC300、及びメモリ及び他のストレージを取り除くことができる。
【0038】
通信モジュール340は、BLE341モジュール及びNFCモジュール342を含むことができる。データ受信デバイス120は、センサ制御デバイス110に無線で結合して且つコマンド及びデータをセンサ制御デバイス110に送信するよう構成することができる。本明細書で実施するデータ受信デバイス120は、本明細書に記述するセンサ制御デバイス110に対して、通信モジュール340の特定のモジュール(例えば、BLEモジュール342又はNFCモジュール343)を介したNFCスキャナ及びBLEエンドポイントとして動作するよう構成することができる。例えば、データ受信デバイス120は、通信モジュール340の第1モジュールを使用してコマンド(例えば、OTAプログラミングコマンド)をセンサ制御デバイス110に出して、通信モジュール340の第2モジュールを使用してデータ(例えば、OTAプログラミングデータ)をセンサ制御デバイス110に送信することができる。
【0039】
本明細書で実施するデータ受信デバイス120は、通信モジュール340のユニバーサルシリアルバス(USB)モジュール345を介して通信するよう構成することができる。データ受信デバイス120は、例えばUSBモジュール345を通じてユーザデバイス140と通信することができる。データ受信デバイス120は、例えば、USBを介してソフトウェア又はファームウェアの更新を受信し、USBを介してバルクデータを受信するか、又はユーザデバイス140を介してデータをリモートサーバ150にアップロードすることができる。USB接続は、各プラグ事象で認証することができる。認証は、例えば、異なるキーを持つ、2、3、4、又は5パスデザインを使用することができる。USBシステムは、暗号化及び認証のための多種多様な異なるキーのセットを支援することができる。キーには、差分ロール(臨床、製造者、ユーザなど)をアラインすることができる。セキュリティ情報をリークする可能性があるセンシティブコマンドは、認証された追加のキーセットを用いて認証済み暗号化をトリガすることができる。
【0040】
別の例として、通信モジュール340は、例えば、セルラーラジオモジュール344を含むことができる。セルラーラジオモジュール344は、限定ではないが、第3世代(3G)、第4世代(4G)、及び第5世代(5G)ネットワークを含む広帯域セルラーネットワークを使用して通信する1又は2以上のラジオ送受信機を含むことができる。データ受信デバイス120は、セルラーラジオモジュール344を使用して、リモートサーバ150と通信して、検体データを受信するか或いはユーザから(1又は2以上のユーザインタフェースを介して)受信した更新又は入力を提供することができる。加えて、図示していないが、データ受信デバイス120の通信モジュール340は、IEEE802.11規格(例えば、802.11a、802.11b、802.11g、802.11n(別名、Wi-Fi4)、802.11ac(別名、Wi-Fi5)、802.11ax(別名、Wi-Fi6))の1又は2以上に従う無線ローカルエリアネットワークを使用して通信するラジオを含むことができる。
【0041】
この開示を通して使用されるBluetooth Low Energy(「BLE」)は、Bluetoothデバイスのペアリングをエンドユーザにとって簡単にするよう最適化された短距離通信プロトコルを指す。本明細書に記述するセンサ制御デバイス110におけるBLEの使用は、セキュリティのためのBluetoothの標準的なBLE実施に任意選択的に頼らなくてもよいが、代わりに相互認証及び暗号化を確立するために1又は2以上のブロック暗号を使用したアプリケーション層暗号化を使用することができる。アプリケーション層で実施される規格以外の暗号化デザインの使用は、幾つかの利点を有する。この方法の1つの利点は、ユーザが、NFC走査のみによって、且つセキュリティピンを入力するか又はデータ受信デバイスとセンサ制御デバイス110の間のBLEペアリングを確認するなどのユーザが提供する追加の入力を必要とすることなく、センサ制御デバイス110とデータ受信デバイス120のペアリングを完了できることである。別の利点は、少なくとも部分的にペアリング処理を支援するために使用された情報が長距離BLEチャネルを通じる代わりに短距離を通じたバックアップ短距離通信リンク(例えば、NFC)を介して共有されるので、センサ制御デバイス110の直接近接にないデバイスが不注意に又は故意にペアリングする可能性を無くすことである。更にまた、BLEペアリング及びボンディング方式が必要ないので、センサ制御デバイス110のペアリングは、BLE仕様におけるチップベンダ又は脆弱性による実施の問題点を回避することができる。
【0042】
本明細書で実施するデータ受信デバイス120のオンボードストレージ330は、延長された期間に渡ってセンサ制御デバイス110から受信された検体データを格納することができる。更に、本明細書で実施する汎用データ受信デバイス130又はユーザコンピューティングデバイス140は、ワイドエリアネットワークを介してリモートサーバ150と通信するよう構成することができる。本明細書で実施するセンサ制御デバイス110は、センシティブデータをデータ受信デバイス120又は汎用データ受信デバイス130に提供することができる。データ受信デバイス120は、センシティブデータをユーザコンピューティングデバイス140に送信することができる。ユーザコンピューティングデバイス140(又は汎用データ受信デバイス130)は代わりに、センシティブデータを処理及び分析のためにリモートサーバ150に送信することができる。リモートサーバ150と通信する場合に、汎用データ受信デバイス130及びユーザコンピューティングデバイス140は、ユーザによって入力され更にそれぞれのデバイスに格納された認証クレデンシャルに従って固有のユーザトークンを生成することができる。認証クレデンシャルは、リモートサーバ150とのセキュア接続を確立するために使用することができ、更に必要に応じてリモートサーバ150に提供された何れのセンシティブデータも暗号化するために使用することができる。本明細書で実施するように、汎用データ受信デバイス130及びユーザコンピューティングデバイス140は、任意選択的に処理電力の使用を規制されることはなく、従って、リモートサーバ150に送信される場合に標準的データ暗号化及び送信技術を使用することができる。
【0043】
本明細書で実施するように、データ受信デバイス120は更に、センサ制御デバイス110の検出ハードウェア260に類似であるか、又は検出ハードウェア260から拡張される検出ハードウェア360を含むことができる。例としてのみ、及び制限ではなく、センサ制御デバイス110の検出ハードウェア260が継続的なブドウ糖モニタリング用に構成される実施形態では、データ受信デバイス120の検出ハードウェア360を、血糖テストストリップによる使用に準拠した血糖メータによって構成することができ、従って、センサ制御デバイス110の血糖モニタリングに拡張される。
【0044】
図4は、センサ制御デバイス110のメモリ220又は243などのメモリのデータをまとめるための例示的な実施形態を示す。第1の実施形態では、メモリ400は、複数の事前に割り当てられたメモリブロック又はコンテナに事前に並べられる。コンテナは、固定サイズに事前に割り当てられる。コンテナ405a、405b、及び405cは、データが書き込まれており、メモリ400が、ワンタイムプログラミングメモリか又はこれ以外に制限されたプログラミングアクセスを有するメモリである場合、コンテナ405a、405b、及び405cは、非プログラマブル状態にあると考えることができる。コンテナ410a及び410bは、コンテナ405a、405b、及び405cと同じサイズであるが、まだ書き込まれていない。コンテナ410a及び410bは従って、現在はプログラマブル又は書き込み可能状態であると考えられる。コンテナ410a及び410bが書き込まれると、これらをアンプログラマブル又は書き込み不可状態にすることができる。固定サイズのコンテナの使用は、例えば、データブロックの高ポータビリティを提供するために有利とすることができる。データブロックのサイズを事前割り当てすることによって、メモリ400は、コードブロックを置き換えるか又は新しい特徴を補足する処理を単純化することができる。加えて、この方式で、システムは、利用可能なコンテナの数をカウントすることによってメモリ400に追加することができる残りの回数を決定することができる。この方式でメモリ400をコンテナに入れることで、メモリ400に書き込まれるコード及びデータのトランスポータビリティを改善することができる。メモリ400のコンテナ化はまた、コードブロックをメモリ境界に沿って書き込むことができるので、意図的でないエラーに対するメモリ400の回復力を上げることができる。従って、本明細書に記述するように、メモリの全コードを置き換えるのではなく、1又は2以上の特定の事前に書き込まれたコンテナのコードだけを1又は2以上の新しいコンテナに書き込まれた更新されたコードと入れ替えることによって、メモリ400に格納されたデバイス(例えば、本明細書に記述するセンサ制御デバイス)のソフトウェアの更新を実行することができる。これは、ソフトウェア、ファームウェア、又はメモリエラーの導入を低減又は阻止することができる。またメモリ400のコンテナ化によって、更新されるデータ又は命令に無関係のデータ又は命令などの1又は2以上の事前に書き込まれたコンテナに書き込まれたデータ又は命令を修正できないようにすることができる。
【0045】
第2の実施形態において、メモリ450は、事前に並べられていない。代わりに、データに割り当てられたスペースが、必要に応じて動的に割り当てられるか又は決定される。プログラム化データのサイズは、厳密に制御することができ、任意選択的にはメモリの使用速度を上げる。メモリのプログラム化セグメント455は、アンプログラマブル状態にあると考えることができる。プログラマブルメモリのセグメント460は、割り当てられておらず且つ書き込まれていない。データをプログラマブルメモリのセグメント460に書き込むために、制御ユニット、メモリ管理ユニット、又は他の構造はまず、制御ユニットが書き込むために割り当てられていないメモリの一部分を割り当てるよう要求しなければならない。制御ユニットは、割り当てられるメモリのサイズを指定することができ、例えば、コードブロックが事前に割り当てられたメモリのコンテナのサイズに直接並んでいない時に、無駄なスペースを任意選択的に低減又は阻止する。更新が予想される場合に変化するサイズのコンテナを定義できるので、小さなインクリメンタル更新を出すことができる。しかしながら、デバイス機能に拡張するなどのメモリに書き込む時の割り当てにメモリの適切な量が利用可能であることを保証するよう気を付けなければならない。デバイス(例えば、本明細書に記述するセンサ制御デバイス)にプッシュされる更新が、メモリ450の割り当てられていない領域460よりサイズが大きい場合、次に更新は、失敗するか又は拒否されることがある。
【0046】
図5は、開示される主題に従うセンサ制御デバイスによる処理の実行でのOTAプログラミングの後のセンサ制御デバイスのメモリのオーバ・ザ・エア(OTA)プログラミング並びにメモリの使用の例示的動作及びデータの流れを示す図である。
図5に示した例示的OTAプログラミング500では、要求が外部デバイス(例えば、データ受信デバイス130)から送信され、OTAプログラミング(又はリプログラミング)を開始する。511で、センサ制御デバイス(例えば、センサ制御デバイス110)の通信モジュール510の1又は2以上は、OTAプログラミングコマンドを受信する。通信モジュール510は、OTAプログラミングコマンドをセンサ制御デバイスの制御ユニット530(例えば、ASIC200のマイクロコントローラ210)に送信する。
【0047】
続けて
図5を参照すると、531で、OTAプログラミングコマンドを受信した後に、制御ユニット530は、OTAプログラミングコマンドを有効にする。制御ユニット530は、例えば、OTAプログラミングコマンドが、センサ制御デバイスの製造者又は製造者が承認した代理人に関連付けられるデジタル署名トークンによって署名されているかどうか決定することができる。OTAプログラミングコマンドが有効であると決定した場合に、制御ユニット530は、センサ制御デバイスをOTAプログラミングモードに設定することができる。
【0048】
521で、通信モジュール520の第2の1又は2以上は、外部デバイスからセンサ制御デバイスをリプログラミングするために使用されるデータを受信する。データは、OTAプログラミングコマンドを送信した同じ外部デバイスから受信することができるが、加えて又は代替として、異なる外部デバイスから受信することができる。第2の通信モジュール520は、OTAプログラミングデータを制御ユニット530に送信する。
【0049】
図5を参照すると、532で、制御ユニット530は、同様にOTAプログラミングデータを有効にすることができる。OTAプログラミングデータを有効にするステップは、OTAプログラミングデータが、センサ制御デバイスの製造者又は製造者に承認された代理人に関連付けられるデジタル署名トークンによって署名されているかどうか決定するステップを含むことができる。一部の実施形態において、OTAプログラミングデータを有効にするために使用されるデジタル署名トークンは、OTAプログラミングコマンドを有効にするために使用されるのと同じデジタル署名トークンとすることができる。一部の実施形態において、例えば、デバイスを保護するために2つのデジタル署名を使用することによってOTAプログラミング手順のセキュリティを更に上げるために、様々なデジタル署名トークンを使用することができる。付加的に又は代替として、OTAプログラミングデータは、事前にアサインされる及び/又はセンサ制御デバイスと外部デバイスとの間で相互に同意された暗号化トークン及び方式を使用して暗号化することができる。
【0050】
533で、OTAプログラミングデータを有効にした後に、制御ユニット530は、センサ制御デバイスをリセットして、プログラミング状態にセンサ制御デバイスを再初期化することができる。センサ制御デバイスをリセット及び再初期化することで、例えば及び制限なしに、センサ制御デバイスのプログラミングの許可されていない識別及び操作を阻止又は禁じることができる一定の自動的にプログラムされた事象の発生を低減することができる。例として、センサ制御デバイスは、データがセンサ制御デバイスから検索されるか又はセンサ制御デバイスに伝送される場合の一定のコマンドの実行を定期的に停止又は阻止することができる。別の例として、センサ制御デバイスは、例えば且つ制限なしに、正常な通信セッション又はバーストの予想される長さより長い可能性がある閾値量より長く続く通信セッションを、エラーに遭遇する可能性があるとして終了できるように、通信セッションタイムアウトを執行することができる。データがOTAプログラミングのために提供される時、動作又は通信タイムアウトは、センサ制御デバイスを動作不能にするか又は誤動作を起こす可能性があるプログラミングデータの書き込みを中断することができる。完了後に、センサ制御デバイスは、OTAプログラミング状態に移っている。
【0051】
図5は、OTAプログラミングコマンド及びOTAプログラミングデータが、1又は2以上の通信モジュール510及び第2の1又は2以上の通信モジュール520によって受信され、続けて制御ユニット530にリレーされるOTAプログラミング500の1つの実施例を示している。付加的に又は代替として、本明細書で実施するように、通信モジュール520は、制御ユニット530がOTAプログラミングコマンドの検証を完了する後までOTAプログラミングデータを制御ユニット530に送信するのを待つよう構成することができる。別の例として、特定の実施形態において、OTAプログラミングデータ及びOTAプログラミングコマンドの両方を、同じ通信モジュール510によって受信することができる。センサ制御デバイスは、単一の通信モジュール510を含むことができるか、或いは1つより多い通信モジュール510が備えられる場合は、通信モジュール510のたった1つ又は特定のモジュールからのOTAプログラミングコマンド又はOTAプログラミングデータだけを受け付けるよう構成することができる。本明細書に記述するように、第1の通信モジュールは、外部デバイスからのOTAプログラミングコマンドを受信するよう構成することができ、例えば及び制限なしに、また本明細書で実施するように、第1の通信モジュールは、NFC受信機又は送受信機を含むことができる。付加的に又は代替として、及び本明細書で実施するように、第1の通信モジュールは、BLEプロトコルとすることができるBluetoothプロトコルに準拠する受信機又は送受信機を含むことができる。特定の実施形態において、本明細書に記述するように、第1の1又は2以上の通信モジュール510は、第1の通信プロトコルに準拠することができ、第2の1又は2以上の通信モジュール520は、第2の通信プロトコルに準拠することができる。例えば、第1の通信モジュールがNFC受信機又は送受信機を含むとき、第2の通信モジュールは、Bluetooth又はBLEプロトコルに準拠する受信機又は送受信機を含むことができる。同様に、第1の通信モジュールが、Bluetooth又はBLEプロトコルに準拠する受信機又は送受信機を含むとき、第2の通信モジュールは、NFC受信機又は送受信機を含むことができる。
【0052】
センサ制御デバイスがOTAプログラミング状態に移ったら、制御ユニット530は、534でセンサ制御デバイスの書換可能メモリ540へのデータの書き込み及び535でセンサ制御デバイスのOTPメモリ550へのデータの書き込みを開始することができる。本明細書に記述するように、OTPメモリという語は、事前に決められた回数、メモリの特定のアドレス又はセグメントに書き込むことを容易にするためのアクセス規制及びセキュリティを含むメモリを指すことができる。本明細書に記述するように、OTPメモリは、ワンタイム又は定義された回数まで最大ワンタイム以上にプログラマブルとすることができる、いわゆる「ワンタイムプログラマブルメモリ」として構成することができる。付加的に又は代替として、リプログラミングの事前に定義された事例を提供するメモリの他の実施形態が想定される。制御ユニット530によって書き込まれるデータは、有効にされたOTAプログラミングデータに基づくことができる。例えば、制御ユニット530はまた、OTPメモリ550のフリー又は未使用の部分にデータを書き込むことができる。制御ユニット530は、データを書き込んで、OTPメモリ550の1又は2以上のプログラミングブロック又は領域を無効又はアクセス不可としてマーキングすることができる。OTPメモリのフリー又は未使用の部分に書き込まれたデータを使用して、OTPメモリ550の無効にされたか又はアクセスできないプログラミングブロックを置き換えることができる。
【0053】
特定の実施形態において、センサ制御デバイスの書換可能メモリ540は、センサ制御デバイスのソフトウェアのプログラミングマニフェスト又はプロファイルを含むことができる。プログラミングマニフェスト又はプロファイルは、OTPメモリ550のブロックのリスト又はOTPメモリ550に書き込まれたブロックのリストを含むことができる。リストは、どのブロックが有効でありどのブロックが無効又はアクセス不可であるかの指示を含むことができる。従って、OTPメモリ550に基づいてコードを実行する時に、制御ユニット530は、ブロックのリストを参照して、どのブロックを避けるか決定することができる。特定の実施形態において、プログラミングマニフェスト又はプロファイルは、付加的に又は代替として、OTPメモリ550のどのプログラミングブロックが各プログラミングブロックに続くかを指示することができる。次に、OTPのプログラミングブロックに基づいてコードを実行するときに、制御ユニット530は、プログラミングマニフェスト又はプロファイルを使用して、特定のブロック又は領域の後に使用されるブロックを決定することができ、無効になったブロックを効率的にスキップする。特定の実施形態において、プログラミングマニフェスト又はプロファイルは、付加的に又は代替として、無効になっているプログラミングブロックを識別して、更にこのプログラミングブロックの差し替えとして指示されているプログラミングブロックを識別することができる。このような識別は、参照によって行うことができ、これによって例えば、有効なプログラミングブロックが無効なプログラミングブロック、又はこれに格納されたコードを参照する場合に、制御ユニット530は、プログラミングマニフェスト又はプロファイルを参照することによって、有効なプログラミングブロックが失効した参照を含むことを決定し更に代わりに差し替えプログラミングブロック(又はここに格納されたコード)を検索することができる。開示される主題に矛盾のないメモリブロックを無効にし且つ置き換える例証の実施例を以下に
図6で示す。参照などによって、無効にされている以前に書き込まれたプログラミングブロックを入れ替えるか又は置き換えられているプログラミングブロックを識別することは、新しい及び既存のプログラミングブロックの両方に含まれるソフトウェア命令の実行を容易にする。ソフトウェア命令を準備するとき、参照に基づく方法は、他のプログラミングブロックに行われた参照又は呼出しが、現在無効にされているプログラミングブロックの位置のあらゆるインスタンスを更新することなく、適切で新しいプログラミングブロックで解消されることを保証することができる。
【0054】
制御ユニット530が534及び535でそれぞれのメモリにデータを書き込んだ後に、制御ユニット530は、書き込み処理中にプログラミングブロックのエラーが生じないようにするために1又は2以上のソフトウェア整合性チェックを実行することができる。例えば、整合性チェックは、新しく書き込まれたメモリのブロック、全体(又は複数のプログラミングブロックを包含するメモリの拒否される領域)としてのメモリ、又はセンサ制御デバイスの標準的なプログラミングフロー(プログラミングマニフェスト又はプロファイルに定義することができる)などのメモリの個々のブロックに実行することができる。例えば、プログラミングマニフェストは、基本ユニットテストの数を定めて、試みる動作及び予想する結果を指定する新しく書き込まれたデータによって実行することができる。特定の実施形態において、532で受信したOTAプログラミングデータは、保全性ビット又はチェックサム値(本明細書に記述)などのOTAプログラミングデータに関連付けられる整合性チェック値を含むことができる。535でOTPメモリ550にデータを書き込んだ後、制御ユニット530は、1又は2以上のメモリブロックの保全性ビット値又はチェックサム値を計算して、計算した値をOTAプログラミングデータによって提供された値と比較することができる。値が対応する場合、次に制御ユニット530は、処理を続行させることができる。値が異なる場合、次に制御ユニット530は、例として、データを書き換えようとするステップ(及びエラーを含むと信じられるメモリブロックを無効にするステップ)、エラーが起こったことをユーザに警告するステップ、又は通信モジュール510及び520の1つを使用してエラーが書き換え中に起こったことを外部デバイスに警告するステップを含むことができる1又は2以上の救済的な動作を取ることができる。制御ユニット530が、エラーなしにデータが書き込まれたと決定できたら、制御ユニット530は、センサ制御デバイスの標準的な動作を再開することができる。例えば、及び本明細書で実施するように、制御ユニット530は、センサ制御デバイスを標準的な実行モード(例えば、プログラミングモードとは異なる)で再初期化させるためにセンサ制御デバイスをリセットすることができる。
【0055】
実行モードでは、536で、制御ユニット530は、書換可能メモリ540からプログラミングマニフェスト又はプロファイルを検索することができる。本明細書に記述するプログラミングマニフェスト又はプロファイルは、有効ソフトウェアプログラミングブロック(又は一般的にはメモリブロック)のリストを含むことができ、更にセンサ制御デバイスのプログラム実行のガイドを含むことができる。プログラミングマニフェスト又はプロファイルに従うことによって、制御ユニット530は、ソフトウェアの現在のバージョンに基づいて実行するのに適したOTPメモリ550のメモリブロックを決定し、更に失効した又は無効になったプログラミングブロックの実行又は無効になったプログラミングブロックに格納された失効したデータの参照を阻止することができる。537で、プログラミングマニフェストで提供されるガイドに従って、制御ユニット530は、OTPメモリ550から選択的にメモリブロックを検索することができる。538で、制御ユニット530は、メモリに格納されたプログラミングコードを実行するか又は実行中のメモリに格納された較正パラメータなどの変数を使用することなどによって、検索したメモリブロックを使用することができる。メモリに格納されるプログラミングコードは、OTAプログラミングデータによって定義され更にOTPメモリのメモリブロックに書き込まれたセンサ制御デバイス及びセンサ制御デバイスの構成要素の新しい動作又は機能を含むことができる。コードを実行するステップは、センサ制御デバイスの検体センサ又は他の検出ハードウェア(例えば、医療ハードウェア)に関連付けられる修正された又は更新されたアルゴリズムを使用するステップを含むことができる。修正又は更新されたアルゴリズムはまた、通信モジュールの電力レベル規制技術又は制御ソフトウェアなどのセンサ制御デバイスの一般的な動作に影響を与えることができる。検索されたメモリブロックの実行は、センサ制御デバイスに、センサ制御デバイスの検体センサなどの検出ハードウェアを用いて患者からの検体データを収集させ、検体データを分析又はそうでなければ処理させ、更に検体データを外部デバイスにエクスポート、オフロード、又は送信させることができる。特定の実施形態において、検体は、例証として限定ではなく、ブドウ糖、ケトン、乳酸、酸素、ヘモグロビンA1C、アルブミン、アルコール、アルカリ・ホスファターゼ、アラニン・トランスミナーゼ、アスパラギン酸アミノトランスフェラーゼ、ビリルビン、血中尿素窒素、カルシウム、二酸化炭素、塩素化合物、クレアチニン、ヘマトクリット、乳酸塩、マグネシウム、酸素、pH、リン、カリウム、ナトリウム、総タンパク質、尿酸などを含むことができる。特定の実施形態において、検体データはまた、体温、心拍、血圧、又は運動データなどの患者の関する他の情報を含むことができる。
【0056】
538でOTPメモリ550から検索されたコードを実行する前に、制御ユニット530は、検索されたメモリブロックに1又は2以上の整合性チェックを実行することができる。プログラミングモードにある場合にメモリブロックに書き込んだ後に実行される整合性チェックと同様に、制御ユニット530は、例えば、メモリの個々のブロック、プログラミングマニフェスト又はプロファイルに定義されたプログラミングフロー、又はOTPメモリ550全体に整合性チェックを実行することができる。特定の実施形態において、同様の整合性チェックを、書換可能メモリ及び対応するメモリブロックに実行することができる。整合性チェックは、例えば、センサ制御デバイス初期化シーケンス中に実行することができ、制御ユニット530は、エラーが検出された場合に標準的な動作モードに入ることを拒否することができる。整合性チェックは、例えば、初めてメモリブロックが書換可能メモリ540又はOTPメモリ550から検索された時に実行することができる。整合性チェックは、例えば、メモリブロックの命令の実行前に行うことができ、初めて命令が実行された時などの選択された時間だけに起こすことができるか、又はメモリブロックが検索されるか又は対応する命令が実行される度に起こすことができる。整合性チェックのタイミング及び反復性は、制御ユニット530に対して、例えば、プログラミングマニフェスト又はプロファイルで定義することができる。整合性チェックのタイミング及び反復性は、センシティブ検体データを収集する、監視する、及びエクスポートするために使用されるソフトウェアのセキュリティとセンサ制御デバイスの電力消費(及び、従って、センサ制御デバイスバッテリの期間及び全体のサービスの期間)のバランスを取る原理に従って設定することができる。
【0057】
図6は、この開示の主題に従うメモリブロック管理の例示的実証を示している。特に、
図6は、この開示の主題に従うOTAプログラミングの例を示している。
図6は、ワンタイムプログラマブルメモリ又はこれ以外に制限されたプログラミングアクセスを持つメモリなどのメモリの第1の
図600aを示している。メモリは、3つのメモリブロック又はコンテナ605a、605b、及び605cを含む。本明細書で実施するコンテナ605a、605b、605cは全て、データを書き込まれており、従って書換不可又はアンプログラマブル状態にある。このようなデータは、例えば、制御ユニットによって実行される動作コード、又は実行中に使用する変数を含むことができる。メモリ600aは更に、割り当てられていない領域又はセグメント610を含む。メモリ600aのセグメント610は割り当てられていないので、セグメント610は、プログラマブルメモリであると考えられる。制御ユニット、メモリ管理ユニット、又は他の類似の構造が、プログラマブルメモリのセグメントの一部分を割り当て且つ書き込むコマンドを出すことができ、プログラマブルメモリのセグメントの一部分を非プログラマブル状態にする。
図6は更に、プログラマブルメモリのセグメントの一部分605dが非プログラマブル状態になった後のメモリの第2の
図600bを示している。加えて、コンテナ615は、無効又はアクセス不可をマーキングされており、メモリのこのコンテナ又はブロックが実行中に制御ユニットによって使用できることを示している。
【0058】
センサ制御デバイス110、データ受信デバイス120、並びに、リモートサーバ150、汎用データ受信デバイス130、及び他のユーザデバイス140によって又はこれと共に使用することができるソフトウェア又はアプリケーションプログラミングインタフェースを含む検体モニタリングシステム100に使用されるデバイスの製造を
図1には示していない。製造者は、セキュアにされたプログラミング及び更新(例えば、ワンタイムプログラミング、暗号化ソフトウェア又はファームウェア更新など)を介してセキュアに通信するためにデバイスに必要な情報及びプログラミングの提供を選択することができる。例えば、製造者は、必要に応じて、デバイス、セッション、又はデータ送信に固有の暗号化値を生成するためにデバイス固有の情報及び動作データ(例えば、エントロピーに基づくランダム値)と組み合わせて使用することができるセンサ制御デバイス110及び任意選択的にはデータ受信デバイス120のセキュアルートキーを含む、各デバイスの暗号化キーを生成するために使用することができる情報を提供することができる。これらの暗号化キーは、例えば、外部デバイス(例えば、データ受信デバイス120、汎用データ受信デバイス130、ユーザデバイス140など)からセンサ制御デバイス110に送信されるOTAプログラミングコマンド及びOTAプログラミングデータを有効にするために使用することができる。
【0059】
製造者は、製造者の識別子、通信モジュール及び製造者の識別子、又はセンサ又はセンサ構成要素の何れかの他の適切な識別情報などの固有の識別子(「UID」)及び他の識別情報を各センサ制御デバイス110に浸透させることができる。例として、UIDは、ASICベンダによってセンサ制御デバイス110に組み込まれた各ASIC200に割り当てられたシリアルナンバー、通信モジュールベンダによってセンサ制御デバイス110に組み込まれた通信モジュール240に割り当てられたシリアルナンバー、センサ製造者によって生成されたランダム値などからのセンサ固有のデータから取得することができる。付加的に又は代替として、UIDはまた、センサ制御デバイス110又はセンサ制御デバイスの構成要素のロットナンバー、センサ制御デバイス110又はセンサ制御デバイスの主構成要素の製造の日、日付、又は時間、センサ又はセンサの主構成要素の製造位置、処理、又はライン、及びセンサがいつ及びどのように製造されたか識別するために使用できる他の情報を含む製造値から取得することができる。UIDは、各センサ制御デバイス110にも固有である暗号化キー及び幾つかの生成されたランダム値を伴うことができる。類似の処理を使用して、データ受信デバイス120のセキュアアイデンティティを確立することができる。
【0060】
センサ制御デバイス110によって収集され更に検体モニタリングシステム100のセンサ制御デバイス110と他のデバイスの間で交換されるデータはユーザに関する情報に関係があるので、データは高度にセンシティブであり、保護することが有利となる。患者に関連付けられる検体データは、この情報が健康モニタリング及び薬剤投与決定を含む多種多様な目的に使用できるので、少なくとも一部センシティブデータである。患者データに加えて、検体モニタリングシステム100は、外部パーティによる取り組みに対するセキュリティの強化をリバースエンジニアリングに行使することができる。本明細書に記述するセキュリティアーキテクチャは、限定ではないが、デバイス間の通信の保護、構成要素及びアプリケーション内のプロプラエタリ情報の保護、及び秘密及び一次キーイング材料の保護を含む、本明細書に記述する制御特徴の様々な組み合わせを含むことができる。本明細書で実施する暗号化及び認証は、保護特徴を提供するための例示的な技術的制御として使用することができる。本明細書で実施する検体モニタリングシステム100の様々な構成要素は、この通信及び関連付けられるデータの機密性、保全性及び利用可能度(「CIA」)を保護するよう設計されたセキュリティインタフェースに準拠するよう構成することができる。これらのCIAの問題に対処するために、セキュリティ機能を検体モニタリングシステム100のハードウェア及びソフトウェアの設計に組み込むことができる。
【0061】
本明細書で実施するように、データの機密性を促進するために、何れかの2つのデバイス(例えば、センサ制御デバイス110とデータ受信デバイス120)の間の通信接続を、何れかのデバイスによってセンシティブデータを送信する前に相互に認証することができる。通信接続は、デバイス固有の又はセッション固有の暗号化キーを用いて暗号化することができる。本明細書で実施する暗号化パラメータは、通信のデータブロック毎に変更されるよう構成することができる。
【0062】
本明細書で実施するように、データの保全性を保護するために、何れかの2つのデバイス(例えば、センサ制御デバイス110とデータ受信デバイス120)との間の暗号化された通信を、通信に組み込まれた送信整合性チェックによって検証することができる。例として、本明細書に記述するように、OTAプログラミングデータは、送信整合性チェックによって検証又は有効にすることができる。更にまた、センサ制御デバイス110のメモリに書き込まれたデータは、実行の前に整合性チェックによって検証又は有効にすることができる。本明細書で実施するように、通信を暗号化するために使用することができるセッションキー情報は、デバイス各々が認証された後に2つのデバイスの間で交換することができる。整合性チェックは、例えば、例証として限定ではなく、非セキュアエラー検出コード、最小距離コーディング、反復コード、パリティビット、チェックサム、巡回冗長チェック、暗号ハッシュ関数、エラー訂正符号、及びデジタルメッセージにおけるエラーの存在を検出するのに適した他の方法を含む、エラー検出符号又はエラー訂正符号を含むことができる。
【0063】
本明細書で実施する最小距離符号化は、検出可能なエラーの数に厳密な保証を提供するランダムエラー修正符号を含む。最小距離符号化は、値と表示の間のハミング距離を最小にする受信値を表現するためにコード名を選択するステップを含む。最小距離符号化、又は最近傍符号化は、標準的なアレイを使用して支援することができる。最小距離符号化は、エラーが起こる確率が所与の記号の位置に関係なく且つエラーが独立した事象と見なされる場合に有用と考えられる。これらの前提は、二元対称通信路を通じた送信に特に適用可能とすることができる。
【0064】
付加的に又は代替として、本明細書で実施する反復符号は、通信メッセージがエラー無く受信されることを保証するためにチャネル全体でビットを反復する符号化方式に関する。送信されるデータのストリームが与えられると、データは、ビットのブロックに分割される。各ブロックは、一定の事前に決められた回数、送信及び再送信される。反復されたブロックの何れかの送信が異なる場合にエラーが検出される。
【0065】
加えて、又は他の代替として、本明細書で実施するチェックサムは、固定ワード長のメッセージ符号ワードの合同算術和に基づくデータのメッセージ又は格納されたブロックに対する値である。チェックサムは、データの全ブロック又はデータのサブセットから導くことができる。チェックサムは、目標のメッセージのマイナーな変化に対する大きく異なるチェックサム値(又はハッシュ値)を出力するように構成されたチェックサム関数又は暗号法ハッシュ関数を使用して生成される。パリティビットは、結果の特定のビットのカウント数が偶数か奇数であることを保証するために送信におけるビットのグループに付加されるビットである。例えば、パリティビットは、値0を持つビットの数が奇数であることを保証するために使用することができる。次にパリティビットは、単一のエラー又はエラーの反復する固定数を検出することができる。パリティビットは、チェックサムの特別なケースと考えることができる。
【0066】
本明細書で実施するように、検体モニタリングシステム100のデバイスへの許可されていないアクセスを更に低減又は阻止するために、ルートキー(例えば、デバイス固有又はセッション固有のキーを生成するために使用されるキー)は、任意選択的には、センサ制御デバイス110に格納しなくてもよく、リモートサーバ150によって又はセンサ制御デバイス110(例えば、データ受信デバイス120)よりも多くのコンピューティングパワーを有する他のデバイスのストレージで暗号化することができる。本明細書で実施するルートキーは、サードパーティがルートキーに容易にアクセスできないように曖昧化された方法で格納することができる。ルートキーはまた、格納されるストレージの場所に基づいて暗号化の異なる状態で格納することができる。本明細書で実施するように、データの利用可能度を促進するために、センサ制御デバイス110の動作は、サービス寿命の間の不正改竄から保護することができ、サービス寿命中、センサ制御デバイス110は、例えば及び本明細書で実施するように通信インタフェース(例えば、BLE及びNFC)を介してメモリ220に機能を書き込むためのアクセスを制限することによって、使い捨てになるよう構成することができる。センサは、既知のデバイス(例えば、MACアドレス又はUIDによる識別子)にだけ又は製造者又はこれ以外に認証されたユーザに関連付けられる事前に決められた符号を提供することができるデバイスにだけアクセスを許可するよう構成することができる。例えば、読取り機能が、セキュア又はセンシティブであると指示されているメモリ220の特定のエリアにアクセスを試みる場合を含む、メモリ220の読取り機能へのアクセスも執行することができる。更にセンサ制御デバイス110は、試みられたマン・イン・ザ・ミドル(MITM)スタイルの攻撃を含む通信インタフェース上のサービス攻撃の特定の拒否に対して保護するために、指定された時間内に認証を完了しない何れの通信接続要求も拒否することができる。更にまた、本明細書に記述する一般的な認証及び暗号化設計は、センサ制御デバイス110のデータが、単一のデバイスに永続的にバウンドされることなく他の「信頼される」データ受信デバイスに利用可能にできる場合に、相互運用の使用を支援することができる。
【0067】
本明細書で実施するように、センサ制御デバイス110及びデータ受信デバイス120を含むデバイスは、各々が多種多様なセキュリティの実施を利用して、データの機密性を通信セッションを通じて交換し更に関連のあるデバイスが信頼されるエンドポイントとの接続を発見し確立するのを容易にすることができる。例として、センサ制御デバイス110は、信頼されるローカルエリア、ワイドエリア、又はセルラー広帯域ネットワークを積極的に識別して且つ接続し、更にこれらの接続の保全性を継続して検証することができる。センサ制御デバイス110は更に、要求者が、事前に決められた期間(例えば、4秒以内)に通信インタフェースを通じてプロプラエタリログイン手順を完了できない場合に接続要求を拒否及び停止することができる。例えば及び制限なしに、このような構成は、更にサービス攻撃の拒否に対して保護することができる。
【0068】
本明細書で実施するセンサ制御デバイス110及びデータ受信デバイス120は、他のデバイスに関連付けられる暗号化及び認証キーを格納することによって長期接続ペアの確立を支援することができる。例えば、センサ制御デバイス110又はデータ受信デバイスは、接続識別子に別のデバイスとの接続を確立するために使用された暗号化及び認証キーを関連付けることができる。このように、少なくとも一部はデバイスが新しい認証ペアリングの確率を阻止することができ更に暗号化された通信プロトコルを介して情報を交換することに直接進むことができるので、デバイスは、ドロップした接続を迅速に再確立することができる。接続の確立が成功した後に、デバイスは、接続識別子及び他の情報のブロードキャストを控え、新しい接続を確立することができ、更にサードパーティが通信をリッスンする機会を低減するために同意されたチャネルホッピング方式を使用して通信することができる。
【0069】
データ送信及びストレージ保全性は、オンチップハードウェア機能を用いてアクティブに管理することができる。暗号化は不正改竄防止方式でデータ送信の安全な手段を提供できるが、暗号化及び解読は、コンピューテーション的に高価な処理であることがある。更にまた、送信失敗は、攻撃から区別することが困難である可能性がある。前述のように、データ保全性のための高速のハードウェアベースのエラー検出符号を使用することができる。例として、本明細書で実施するように、メッセージの長さに対する適切なサイズのエラー検出符号(例えば、16ビットCRC)を使用できるが、開示される主題に従う他の適切なハードウェアベースのエラー検出符号も使用することができる。センシティブデータにアクセスする、生成する、又は操作するプログラミング命令は、追加のセキュリティ手段、例えば暗号化によって更に保護されるメモリブロック又はコンテナに格納することができる。
【0070】
本明細書で実施する検体モニタリングシステム100は、周期的キー回転を利用して、キーの合意及び開発の可能性を更に低減することができる。検体モニタリングシステム100によって利用されるキー回転方法は、フィールド配備又は分散デバイスの後方互換性を保証するよう設計することができる。例として、検体モニタリングシステム100は、アップストリームデバイスによって使用されるキーの複数の生成に準拠するよう設計されるダウンストリームデバイス(例えば、フィールドにあるか又は便利にアップデートを提供できないデバイス)のキーを利用することができる。加えて、及び本明細書の主題に従って、新しいメモリに書き込まれたデータによって置き換えられる失効したキーを含むメモリブロックを無効にすることによってキーを安全に更新することができる。キーの回転は、検体モニタリングシステム100の製造者又はオペレータによって開始することができる。例えば、検体モニタリングシステム100の製造者又はオペレータは、新しいキーのセットを生成するか又はキーを生成するための新しい手順のセットを定義することができる。新しいキーのセットを使用することを企図されたセンサ110の製造中に、製造者は、新しいキーのセットを新しく製造されたセンサ110に伝播させることができる。製造者はまた、リモートサーバ150と通信する配備されたデバイスに更新をプッシュして、新しいキーのセット又はキーを生成するための手順のセットを配備されたデバイスに拡張することができる。更なる代替として、キーの回転は、同意されたスケジュールに基づくことができ、この場合、デバイスは、ある時間駆動型又はイベント駆動型機能に従って使用されるキーを調節するように構成される。
【0071】
以下に請求する特定の実施形態に加えて、開示される主題はまた、以下に請求する従属特徴と上記に開示した特徴の何れの他の可能な組み合わせも有し且つ添付の図にある他の実施形態にも向けられる。従って、本明細書で開示する特定の特徴は、開示される主題が、何れの他の可能性のある組み合わせも有する他の実施形態にも具体的に向けられるものとして理解されるように、開示される主題の範囲内にある他の方法で互いに組み合わせることができる。従って、開示される主題の特定の実施形態の前述の説明は、例証及び解説の目的で提示している。これは、網羅的なもの、或いは開示される主題を開示する実施形態に制限するものではない。
【0072】
本明細書で開示する実施形態は、以下を含む。
【0073】
実施形態A。1又は2以上のプロセッサ、検体センサ、通信モジュール、及び、1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合された1又は2以上のメモリを含むセンサ制御デバイスであり、ここで、1又は2以上のメモリは、複数のストレージブロックを含み、複数のストレージブロックは、非プログラマブル状態にあるストレージブロックの第1のセットと、プログラマブル状態にあるブロックの第2のセットとを含み、1又は2以上のプロセッサは、通信モジュールを使用して、プログラマブル状態にあるストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込む命令を受信して、第2のストレージブロックを非プログラマブル状態にし、非プログラマブル状態にあるストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするマーキングデータを書き込む命令を受信するように構成され、第2のストレージブロックに書き込まれるプログラムデータは、1又は2以上のプロセッサによって実行された時に、1又は2以上のプロセッサに検体センサから受信した検体データを処理させる命令を含む。
【0074】
実施形態Aは、何れの組み合わせにおいても以下の追加の要素の1又は2以上を有することができ、要素1、ここではメモリの複数のストレージブロックが、動的に割り当てられるメモリストレージブロックであり、要素2、ここではメモリが通信モジュールに一体化され、要素3、ここではメモリが通信モジュールとは分離され、要素4、ここではメモリが、データがメモリに書き込まれるとデータを上書きすることができないワンタイムプログラマブルメモリであり、要素5、ここでは、第2のストレージブロックに書き込まれるプログラムデータが、センサ制御デバイスの特徴、検出及び計算アルゴリズム、又は検体センサの較正データに関する命令を更に含み、要素6、ここでは、マーキングデータをメモリに書き込む前に、センサ制御デバイスが、通信モジュールを使用して、署名されたコマンドを受信し、コマンドが、暗号化キーを用いて署名され、更にプログラミングモードに入り、要素7、ここでは、命令が、共有暗号化キーを用いてセキュアにされた通信セッションの一部として受信され、要素8、ここでは、通信モジュールが、第1の通信プロトコルに準拠し、更にセンサ制御デバイスが、第2の通信プロトコルに準拠する第2の通信モジュールを含み、要素9、ここでは、センサ制御デバイスが、1又は2以上のプロセッサがメモリにマーキングデータを書き込む前に第2の通信モジュールを介してプログラミング状態に入るコマンドを受信し、要素10、ここでは、第1の通信プロトコルと第2の通信プロトコルの一方がBluetooth Low Energyであり、第1の通信プロトコルと第2の通信プロトコルの一方が、近距離無線通信であり、要素11、ここでは、1又は2以上のプロセッサが更に、第2のストレージブロックに書き込まれたプログラムデータの命令を実行する前にメモリの1又は2以上の整合性チェックを実行するように構成され、要素12、ここでは、1又は2以上の整合性チェックが、ストレージブロックの第1のセットの各ストレージブロックに整合性チェックを実行するステップを含み、要素13、更に、1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合された書換可能メモリを含み、ここで、第2のストレージブロックに書き込まれるプログラムデータは、最初に書換可能メモリに書き込まれ、要素14、ここでは、1又は2以上のプロセッサが、書換可能メモリに格納されたプロファイルに基づいてストレージブロックの第1のセットのストレージブロックに書き込まれたプログラムデータの命令を実行し、要素15、ここでは、アクセス不可として第1のストレージブロックにマーキングするマーキングデータをメモリに書き込むステップが、書換可能メモリに格納されたプロファイルを修正するステップを含み、要素16、ここでは、センサ制御デバイスが、1又は2以上のプロセッサがアクセス不可として第1のストレージブロックにマーキングするマーキングデータをメモリに書き込む前に、更新準拠状態に再初期化するように構成され、要素17、ここでは、検体センサが、検体データを生成するように構成され、検体データは、検体センサを使用して患者の体液にある検体のレベルを示し、検体センサから受信した検体データを処理するステップは、ストレージブロックの第1のセットのストレージブロックに書き込まれたプログラムデータを使用して検体データを分析するステップ、及び通信モジュールを使用して検体データを外部デバイスに送信するステップを含む。
【0075】
実施形態B。1又は2以上のプロセッサに通信可能に結合されたセンサ制御デバイスの通信モジュールを使用するセンサ制御デバイスの1又は2以上のプロセッサによって、センサ制御デバイスの1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合されたセンサ制御デバイスのメモリにマーキングデータを書き込む命令を受信するステップであって、メモリは、複数のストレージブロックを含み、複数のストレージブロックは、非プログラマブル状態にあるストレージブロックの第1のセット及びプログラマブル状態にあるブロックの第2のセットを含む、ステップと、1又は2以上のプロセッサによって、プログラマブル状態にあるストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込み、第2のストレージブロックを非プログラマブル状態にするステップと、非プログラマブル状態にあるストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするマーキングデータをメモリに書き込むステップと、1又は2以上のプロセッサによって、第2のストレージブロックに書き込まれたプログラムデータに格納された命令の実行に基づいて、検体センサから受信した検体データを処理するステップと、を含む方法。
【0076】
実施形態C。センサ制御デバイスの1又は2以上のプロセッサによって実行された時に、1又は2以上のプロセッサに通信可能に結合されたセンサ制御デバイスの通信モジュールを使用する1又は2以上のプロセッサによって、センサ制御デバイスの1又は2以上のプロセッサ、通信モジュール、及び検体センサに通信可能に結合されたセンサ制御デバイスのメモリにマーキングデータを書き込む命令を受信するステップであって、メモリは、複数のストレージブロックを含み、複数のストレージブロックは、非プログラマブル状態にあるストレージブロックの第1のセット及びプログラマブル状態にあるブロックの第2のセットを含む、ステップと、1又は2以上のプロセッサによって、プログラマブル状態にあるストレージブロックの第2のセットからの第2のストレージブロックにプログラムデータを書き込み、第2のストレージブロックを非プログラマブル状態にするステップと、1又は2以上のプロセッサによって、非プログラマブル状態にあるストレージブロックの第1のセットからの第1のストレージブロックをアクセス不可としてマーキングするマーキングデータをメモリに書き込むステップと、及び1又は2以上のプロセッサによって、第2のストレージブロックに書き込まれたプログラムデータに格納された命令の実行に基づいて検体センサから受信した検体データを処理するステップとを含む動作を実行するように構成された命令を含むコンピュータ可読非一時的ストレージ媒体。
【0077】
開示される主題の技術的思想又は範囲から逸脱することなく、様々な修正形態及び変形形態を開示される主題の方法及びシステムにおいて実施できることは、当業者には理解されるであろう。従って、開示される主題は、添付の請求項及びこれらの均等物の範囲内にある修正形態及び変形形態を含むものとする。
【符号の説明】
【0078】
100 検体モニタリングシステム
110 センサ制御デバイス
120 データ受信デバイス
130 汎用データ受信デバイス
140 ユーザデバイス
150 リモートサーバ
【国際調査報告】