IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テレフオンアクチーボラゲット エル エム エリクソン(パブル)の特許一覧

特許7448659ソフトウェアを更新する方法および通信デバイス
<>
  • 特許-ソフトウェアを更新する方法および通信デバイス 図1
  • 特許-ソフトウェアを更新する方法および通信デバイス 図2
  • 特許-ソフトウェアを更新する方法および通信デバイス 図3
  • 特許-ソフトウェアを更新する方法および通信デバイス 図4a
  • 特許-ソフトウェアを更新する方法および通信デバイス 図4b
  • 特許-ソフトウェアを更新する方法および通信デバイス 図4c
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】ソフトウェアを更新する方法および通信デバイス
(51)【国際特許分類】
   G06F 21/57 20130101AFI20240305BHJP
   G16Y 40/40 20200101ALI20240305BHJP
   G16Y 40/50 20200101ALI20240305BHJP
【FI】
G06F21/57 320
G16Y40/40
G16Y40/50
【請求項の数】 17
(21)【出願番号】P 2022536566
(86)(22)【出願日】2019-12-19
(65)【公表番号】
(43)【公表日】2023-02-21
(86)【国際出願番号】 EP2019086360
(87)【国際公開番号】W WO2021121601
(87)【国際公開日】2021-06-24
【審査請求日】2022-08-31
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】100109726
【弁理士】
【氏名又は名称】園田 吉隆
(74)【代理人】
【識別番号】100161470
【弁理士】
【氏名又は名称】冨樫 義孝
(74)【代理人】
【識別番号】100194294
【弁理士】
【氏名又は名称】石岡 利康
(74)【代理人】
【識別番号】100194320
【弁理士】
【氏名又は名称】藤井 亮
(74)【代理人】
【識別番号】100150670
【弁理士】
【氏名又は名称】小梶 晴美
(72)【発明者】
【氏名】アーングレン, トミ
(72)【発明者】
【氏名】エングルンド, ホカン
(72)【発明者】
【氏名】ベリストロム, ダニエル
【審査官】田中 啓介
(56)【参考文献】
【文献】米国特許出願公開第2018/0183897(US,A1)
【文献】特表2019-524013(JP,A)
【文献】特開2018-041224(JP,A)
【文献】特開2007-164652(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F8/00-8/38
G06F8/60-8/77
G06F9/44-9/445、9/451
G06F12/14、21/00-21/88
G16Y10/00-40/60
(57)【特許請求の範囲】
【請求項1】
通信デバイスにてソフトウェア更新プロセスを実行する前記通信デバイスの方法であって、
- 前記通信デバイスにアクセスできる少なくとも1つのセンサによって取り込まれるデータを取得すること(120)と、
- 前記取得データを、ソフトウェア更新プロセスを開始するための所定の条件と比較すること(130)と、
- 前記通信デバイスによって、前記取得データが前記通信デバイスにてソフトウェアを更新するための所定の条件であって、前記少なくとも1つのセンサの環境または前記少なくとも1つのセンサ自体が操作されると前記取得データが一致することになる、特定のパターン、または、特定の時間間隔内の特定の閾値に関連して選択される、所定の条件と一致すると判定すること(140)に応答して、前記通信デバイスにて前記ソフトウェア更新プロセスを開始すること(170)と、
を含む方法。
【請求項2】
前記通信デバイスにおける前記ソフトウェアの更新の前記開始(170)が、前記通信デバイスのセキュア機能またはセキュア回路のいずれかにて実行され、前記セキュア機能または回路は、前記通信デバイスの残りの機能から分離され、それによって、前記通信デバイスの前記残りの機能が適切なまたは予測された方法で動作しない場合にも、前記通信デバイスが動作することを可能にする機能または回路である、請求項1に記載の方法。
【請求項3】
前記通信デバイスが、
- 少なくとも1つのセンサからデータを取り込むための一次機能であって、前記取り込まれたデータは、前記少なくとも1つのセンサが位置する前記環境の表現を提供する、一次機能と、
- 少なくとも1つのセンサからデータを取り込むための二次機能であって、前記取り込まれたデータは、前記ソフトウェア更新プロセスのための潜在的なトリガを提供する、二次機能と、
を備える、請求項1または2に記載の方法。
【請求項4】
前記取り込まれたデータが、温度、圧力、加速力、後方散乱係数、角度、回転、モーション、振動、長さ、または光のうちの少なくとも1つを示すデータを含む、請求項1からのいずれか一項に記載の方法。
【請求項5】
前記取り込まれたデータが、センサの組合せから取得され、前記センサの組合せは、異なるカテゴリのデータを取り込んでいる、請求項1からのいずれか一項に記載の方法。
【請求項6】
ソフトウェア更新プロセスを実行するための通信デバイス(300a、300b)であって、前記通信デバイス(300a、300b)が、
- 前記通信デバイス(300a、300b)にアクセスできる少なくとも1つのセンサによって取り込まれたデータを取得することと、
- 前記取得データを、ソフトウェア更新プロセスを開始するための所定の条件と比較することと、
- 前記通信デバイス(300a、300b)によって、前記取得データが前記通信デバイス(300a、300b)にてソフトウェアを更新するための所定の条件であって、前記少なくとも1つのセンサの環境または前記少なくとも1つのセンサ自体が操作されると前記取得データが一致することになる、特定のパターン、または、特定の時間間隔内の特定の閾値に関連して選択される、所定の条件と一致すると判定することに応答して、前記通信デバイス(300a、300b)にて前記ソフトウェア更新プロセスを開始することと、
を行うように設定される、通信デバイス(300a、300b)。
【請求項7】
前記通信デバイス(300a、300b)が、前記通信デバイス(300a、300b)のセキュア回路(380c)またはセキュア機能のいずれかにて前記ソフトウェアの更新の前記開始を実行するようにさらに設定され、前記セキュア機能または回路は、前記通信デバイスの残りの機能から分離され、それによって、前記通信デバイスの前記残りの機能が適切なまたは予測された方法で動作しない場合にも、前記通信デバイスが動作することを可能にする機能または回路である、請求項に記載の通信デバイス(300a、300b)。
【請求項8】
前記通信デバイス(300a、300b)が、
- 少なくとも1つのセンサ(400a、400b)からデータを取り込むための一次機能であって、前記取り込まれたデータが前記少なくとも1つのセンサ(400a、400b)が位置する前記環境の表現を提供する、一次機能と、
- 少なくとも1つのセンサ(400a、400b)からデータを取り込むための二次機能であって、前記取り込まれたデータが前記ソフトウェア更新プロセスのための潜在的なトリガを提供する、二次機能と、
を適用するように設定される、請求項6または7に記載の通信デバイス(300a、300b)。
【請求項9】
前記取り込まれたデータが、温度、圧力、加速力、後方散乱係数、角度、回転、モーション、振動、長さまたは光のうちの少なくとも1つを示すデータを含む、請求項からのいずれか一項に記載の通信デバイス(300a、300b)。
【請求項10】
前記通信デバイス(300a、300b)が、センサ(400a、400b)の組合せから取得されたデータを取り込むように設定されており、前記センサ(400a、400b)の組合せは、異なるカテゴリのデータを取り込んでいる、請求項からのいずれか一項に記載の通信デバイス(300a、300b)。
【請求項11】
前記通信デバイス(300a、300b)が、第1のセンサ(400a)からの非操作データ、および第2のセンサ(400b)からの操作データを取り込み、前記非操作データと前記操作データとを組み合わせて考慮するための条件を含む所定の条件を適用するように設定されている、請求項10に記載の通信デバイス(300a、300b)。
【請求項12】
前記通信デバイス(300a、300b)が、温度、圧力、加速力、後方散乱係数、角度、回転、モーション、振動、長さ、または光のいずれかを示すセンサ(400b)によって取り込まれたデータを含む操作データを取り込み、地理的座標、距離、方位、または視覚センサデータのいずれかを示すセンサ(400a)によって取り込まれたデータを含む非操作データを取り込むように設定される、請求項11に記載の通信デバイス(300a、300b)。
【請求項13】
前記通信デバイス(300a、300b)が、ソフトウェアの少なくとも一部を更新するようにさらに設定され、前記ソフトウェアの少なくとも一部は、前記取得データによって満たされる前記所定の条件によって判定される、請求項から12のいずれか一項に記載の通信デバイス(300a、300b)。
【請求項14】
前記通信デバイス(300a、300b)が、更新されることになる前記ソフトウェアに関連する少なくとも1つの書き込み保護可能メモリ領域を書き込み可能領域にセットするように設定される、請求項13に記載の通信デバイス(300a、300b)。
【請求項15】
前記通信デバイス(300a、300b)が、必要なソフトウェアの更新が完了した後に、更新されることになる前記ソフトウェアに関連する前記少なくとも1つの書き込み保護可能メモリ領域を書き込み不可能領域にセットするように設定される、請求項14に記載の通信デバイス(300a、300b)。
【請求項16】
前記通信デバイス(300a、300b)が、次のいずれかの場合が起こるまで、すなわち、
- タイマタイムアウト(150)が発生したか、または
- 前記通信デバイス(300a、300b)が、少なくとも1つの特定のセンサ(400a、400b)からのデータを所定の回数分取得するまで、
前記取得データを前記所定の条件と比較するように設定される、請求項から15のいずれか一項に記載の通信デバイス(300a、300b)。
【請求項17】
コンピュータプログラム(350a、360a、350b、360b)であって、前記通信デバイス(300a、300b)上で実行されると、前記通信デバイス(300a,300b)に、請求項からのいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ソフトウェアを更新する方法、およびそのような方法を実行することができる通信デバイスに関する。
【背景技術】
【0002】
モノのインターネット(IoT:Internet of Things)デバイスは、例えば、ホームオートメーションに関連する製品、ウェアラブル技術、コネクテッドヘルスを可能するデバイスおよび遠隔監視機能を有する機器、ならびに、例えば、製造、監視および制御作業に適用可能な産業製品のような消費者製品を含む、多種多様な分野で使用されている。IoTデバイスは様々な高度な機能で設定され得るが、利用可能な限られたリソースによって特定のタスクをハンドリングできる、より単純なデバイスに対する需要も増大している。後者のデバイスは、多くの場合、制約のあるデバイス、即ち、制限された処理能力および記憶能力を有するバッテリー駆動デバイスと呼ばれており、このデバイスは、通常、例えば、データ交換および場合によってはエネルギーハーベスティングにも適合した誘導インタフェースのような、デバイスインタフェースと、特定のソフトウェア命令を実行できるバッテリー式プロセッサとを備える。そのようなデバイスは、1つまたは複数のセンサを介して周期的な測定を実行し、場合によっては、測定されたデータをデバイスのメモリに保存するか、またはデバイスにアクセス可能な別の場所に保存するように設定され得る。
【0003】
IoTデバイスのファクトリーリセットを実行するオプションを提供することは一般的であり、そこで、適用できるときには、デバイスのユーザまたは所有者によってセットされた機器設定が消去され、かつ、デバイスのソフトウェアが、例えば、読み取り専用メモリ(ROM:Read-Only Memory)、または不揮発性メモリの書き込み保護パーティション内のデバイスに保存されたプリインストール時のイメージに潜在的に戻される。
【0004】
例えば、組み込みマルチメディアカード(eMMC:embedded Multi Media Card)のようなフラッシュメモリは、標準的には、例えば、1つまたは複数の特定の領域の永久的な、一時的な、またはパワーオンリセットの書き込みロックのような、メモリの様々なタイプの書き込み保護部分をサポートする。より高いレベルのセキュリティを得るために、メモリ領域もパスワードで保護され得る。一時的な書き込み保護領域はランタイム中に開くことができ、一方、パワーオンリセットの書き込み保護領域は追記型レジスタを使用して設定することができ、これは、ブートプロセス中にロックすることができるが、デバイスのパワーオンサイクルまたはリセットを実行することによってリセットおよび開くことができる。しかしながら、永続的に書き込み保護された領域は決して更新することはできない。
【0005】
例えば、いかなるユーザインタフェース(UI:User Interface)も備えない制約のあるデバイスのようなIoTデバイスの場合、特定のソフトウェア更新手順をトリガすることは困難である可能性がある。
【0006】
例えば、ファクトリーリセットのイメージ更新手順のようなソフトウェア更新手順にセキュリティの問題が含まれる場合、適切に更新またはアップグレードされるまで攻撃に対して脆弱であり得るので、制約のあるデバイスでこのような更新手順のリセットを実行することは重要であり得る。工場出荷時のイメージまたは他のソフトウェアが永続的に書き込み保護された不揮発性メモリに保存されている場合、このような更新手順を実行することさえできない可能性があり得る。
【発明の概要】
【0007】
本開示の目的は、少なくともある程度まで、前述の問題のうちの1つまたは複数に対処する方法、装置、およびコンピュータプログラム製品を提供することである。
【0008】
より具体的には、一態様によれば、通信デバイスにてソフトウェア更新プロセスを実行するための通信デバイスにおける方法が提供され、そこで、この方法は、通信デバイスにアクセス可能な少なくとも1つのセンサによって取り込まれるデータを取得することによって実行され、ソフトウェア更新プロセスを開始するための所定の条件と取得データを比較することによって実行され、取得データが通信デバイスにてソフトウェアを更新するための所定の条件と一致すると判定することに応答して、通信デバイスにてソフトウェア更新プロセスを開始することによって実行される。
【0009】
提案された方法は、いかなるUIも備えないデバイスにてソフトウェア更新手順を開始する簡単でユーザフレンドリで安全な方法を可能にするのであろう。通常、提案された方法は制約のあるデバイスにて使用できるが、制約されているとは考えられていないデバイス、またはUIを備えるデバイスでさえも、更新手順を開始する手順が非常にユーザフレンドリかつロバストであり得るので、提案された方法を適用するように適合され得る。
【0010】
別の態様によれば、ソフトウェア更新プロセスを実行するための通信デバイスが提案され、そこでは、通信デバイスが、通信デバイスにアクセス可能な少なくとも1つのセンサによって取り込まれるデータを取得して、ソフトウェア更新プロセスを開始するための所定の条件と取得データを比較し、取得データが通信デバイスにてソフトウェアを更新するための所定の条件と一致すると判定することに応答して、通信デバイスにてソフトウェア更新プロセスを開始するように設定される。
【0011】
さらに別の実施形態によれば、コンピュータプログラム製品が提案され、そこでは、コンピュータプログラム製品は、コンピュータプログラムが保存されている非一時的なコンピュータ可読媒体を備え、コンピュータプログラムは、通信デバイス上で実行されると、提案された方法を通信デバイスに実行させる。
【0012】
以下、添付図面に参照して実施形態をより詳細に記載する。
【図面の簡単な説明】
【0013】
図1】一実施形態によるソフトウェア更新手順を実行する方法を示すフローチャートである。
図2】別の実施形態によるソフトウェア更新手順を実行する代替方法を示す別のフローチャートである。
図3】システムの一部を形成する通信デバイスのソフトウェアのソフトウェア更新手順を実行できる機能エンティティを備えるシステムの概観図である。
図4a】一実施形態によるソフトウェア更新手順を実行できる通信デバイスを示すブロック図である。
図4b】別の実施形態によるソフトウェア更新手順を実行できる通信デバイスを示す別のブロック図である。
図4c】別の態様によるソフトウェア更新手順を実行できる通信デバイスを示す別のブロック図である。
【発明を実施するための形態】
【0014】
単純かつ予測可能な方法で、しかも少なくとも基本レベルのセキュリティでソフトウェア更新可否を可能にするために、例えば、IoTデバイス、マシンツーマシン(M2M:Machine to Machine)デバイス、マシンタイプコミュニケーション(MTC:Machine Type Communication)デバイス、または、デバイスにアクセス可能な1つまたは複数のセンサの環境の何らかの外部操作に基づいて、ソフトウェア更新手順の必要性を判定し、開始し、実行するように適合された任意の他のタイプのデバイスのような、例えば、制約のある通信デバイスであり得る通信デバイスでの方法が提案される。
【0015】
提案された方法は、ソフトウェア更新手順の手動および自動実行に非常に適している。特に、数百、または、おそらく数千ものデバイスを有する状況では、提案されたソフトウェア更新手順の自動化手順は好ましくあり得る。
【0016】
提案された方法は、いかなるUIも備えない通信デバイスにてソフトウェアの更新を開始するのに特に適しているとはいえ、しかしながら、提案された方法はUIを有する通信デバイスにも適用できるが、その意図は、例えば、いかなるUIも介してユーザがデバイスと対話することを必要としない代替的アプローチに従って、通信デバイスのソフトウェアを更新するための信頼性が高くかつ簡単な方法を提供することであると理解すべきである。提案された方法は、例えば、意図せずに押され得るという欠点を有する、通信デバイス上の物理的リセットボタンを置き換え得る。
【0017】
通信デバイスが、例えば、製鉄所または水中のような、デバイスが密閉される必要がある荒れた環境に置かれる状況では、提案された方法も適切であり得る。
【0018】
図1を参照すると、通信デバイスが、上記で定義されたように、通信デバイスの一部を形成するか、または有線もしくは無線接続を介して通信デバイスに接続される1つもしくは複数のセンサによって取り込まれるデータを取得する方法が提案される。このようなステップは、図1のステップ120に従って実行される。このようなデータは、規則的なまたは不規則な基準にしたがって、取り込まれ得る。データの取り込みは、タイミングスケジュールに依拠し得る。例えば、例えば、20分毎もしくは3時間毎などの規則的な時間間隔で、または、例えば、06:00および24:00などの24時間の時間間隔における一定の時間インスタンスで、または、それぞれの測定可能なパラメータが特定の閾値を超えるか、もしくはそれを下回り、それによって、通信デバイスにて注意を喚起するときに、データが取り込まれる。
【0019】
あるいは、データは、条件の組合せに従って取り込まれ得て、ここで、いくつかのもしくはすべての条件が常に適用できるか、または、例えば、所定の時間間隔が経過したときに、閾値ベースの条件が特定のセンサから取り込んでいるデータをトリガしなかった場合に、特定の時間ベースの条件が適用可能になるように、最適化されたもしくはスケジュールされた方法で適用でき得る。一実施形態によれば、データは通信デバイスからいかなる介入も必要とせずに、センサから通信デバイスに送信されるデータによって取得され得るのに対して、別の実施形態によれば、データはデバイスからの要求に応じてセンサから取得されることも理解すべきである。
【0020】
前述のアプローチのいずれかが適用される場合、データを取り込むための所定の条件が、デバイスからのデータの取得を開始するためのいかなる介入をも伴って、または必要とせずに満たされているならば、言及された方法に関連するデータをいつでも取り込むことができる。代替実施形態によれば、提案された方法の開始およびデータの取得は、代わりに、先行する任意のステップ110でトリガされ、そこで、解析機能またはソフトウェア更新解析機能と呼ばれ得る通信デバイスの機能が、ソフトウェア更新手順を必要とすると判定する。そのような判定は、例えば、全ランタイムが、ソフトウェアの更新を要求することを示す時間間隔の満了、または、いかなるセンサデータも受信することのない時間間隔の満了など、既に前述の1つまたは複数の考慮事項を含み得る。そのような判定は、代わりとして、例えば、従来の目的のために取り込まれた、例えば、センサデータを処理して分析するときなど、通信デバイスの1つまたは複数の実行可能な機能の予測不可能な結果に基づくような、多かれ少なかれデバイスの機能の複雑な分析に基づき得る。
【0021】
一実施形態によれば、例えば、データウイルスの存在のような、通信デバイスの特定のソフトウェアに関連する特定のセキュリティ問題の検出または疑いが、提案された方法を開始するようにデバイスをトリガし得る。別の実施形態によれば、特定のエラーメッセージの繰り返される発生によって、提案された方法の開始をトリガし得る。さらに別の実施形態によれば、通信デバイスによって故障しているとみなされるセンサによって、通信デバイスにて提案された方法の実行をトリガし得る。
【0022】
通信デバイスによってデータが取得されると、ステップ130に示すように、データは所定の更新条件と比較される。所定の条件は、閾値、取り込まれたデータの特定パターン、またはそれらの組合せを含み得る。
【0023】
別のステップ140によれば、ステップ130で比較された取得データは、所定の更新条件と一致するかどうかが判定される。この条件は、取り込まれたデータがそれぞれのセンサの環境が操作されることなく通常の範囲内に収まらないように、特に選択される。より具体的には、条件と一致するために、環境を手動または自動のいずれかで操作する必要がある。これは、通常条件下では、1つまたは複数のセンサから取得されるデータは、本明細書に記載された方法に関連付けられた所定の条件と一致しないことを意味する。その代わりに、記載された方法は、それらの状況の下では、図の右を指す「いいえ」の分岐で示されるように終了することになり、これは、当該方法によってタイマまたはカウンタが適用されない場合に適用できる。
【0024】
あるいは、任意のタイマが適用される場合、タイマはステップ130で、すなわち、第1の取得データを比較すると即座に開始される。ステップ140において、取得データが所定の条件を満たさない場合には、次のステップ150において、タイマが満了したかどうかが判定されて、当該方法が終了するか、または、時間が依然としてさらなるデータを取得することを可能にするかどうかが判定されることに対しては、当該方法がその代わりにステップ120から続行される。タイマが満了しない限り、ステップ120~140が繰り返され、タイマの時間間隔の存続期間の間に、データを取得することを可能にし、一方、タイマが満了すると、取得データが所定の条件と一致しなくとも、提案された方法は終了する。
【0025】
図には示されていないが、タイマは、代わりとして、カウンタによって置き換えられ得て、特定の期限を適用する代わりに、データは所定の回数分取り込まれ得て、データが取り込まれたデータセットのいずれかの所定の条件と一致する場合、ソフトウェア更新手順がトリガされる。
【0026】
操作データは、それぞれが位置する環境を完全に表すデータとは対照的に、手動でも自動でも少なくとも意図的に環境に影響を与えない場合には、取得データが、手動でまたは自動的に、特定の間隔の範囲内に、特定のパターンの範囲内に、または閾値に関して特定の方法で収まるようにされることを意味するものと解釈されるべきである。
【0027】
環境とは、取り巻く空気、および、センサまたはセンサが取り付けられた実際の通信デバイスもしくは通信デバイスに接続された別のデバイスであり得るデバイスから取得されるデータに影響を与える空気の一方または両方として解釈されるべきである。センサの環境が空気で取り囲まれているとき、例えば、温度センサが空気の温度を測定するのに使用される場合、空気は、例えば、空気を暖めることによって操作され得て、一方、圧力センサを備えるデバイスの場合、デバイスは、例えば、ユーザがデバイスおよび圧力センサを一緒に押すことによって操作され得る。
【0028】
取得データが所定の条件と一致する場合、ステップ170で示されるように、ソフトウェア更新手順がデバイスによって開始される。一実施形態によれば、通信デバイスは、通常、サーバと通信デバイスとの間の帯域外通信においてサーバに要求を発信することによって、1つまたは複数の外部サーバからソフトウェアの更新を要求し、その後、ソフトウェアが通信デバイス300に発信される。可能な一実施形態によれば、更新可能なソフトウェアを保存している別の通信デバイスがサーバとしての機能を果たし、そこから通信デバイスがソフトウェアを要求することができる。
【0029】
別の実施形態によれば、ソフトウェア更新手順の開始には、通信デバイス自体のストレージにて利用可能な、例えば、特定のソフトウェアイメージなどのソフトウェアが取得され、通信デバイスにて実行されるソフトウェア更新手順で使用されることが含まれることになる。
【0030】
ソフトウェアの更新を必要とする理由の重要性に応じて、ステップ130~170は、通信デバイスの従来の機能によって、またはセキュア機能もしくは回路と呼ばれ得る特定の機能もしくは回路によって実行され得て、そこで、セキュア機能または回路は、デバイスの残りの機能が適切なまたは予測される方法で動作しないときにも依然として動作できるように、デバイスの残りの機能から分離される。セキュア機能または回路は、通信デバイスの従来の機能を制御しているプロセッサと同じプロセッサによって制御され得て、または別の別個のプロセッサによって制御され得て、それによって、通信デバイスの従来の機能を管理するプロセッサが動作を停止した状況においても、言及された方法を実行して成功する機会が増す。
【0031】
通信デバイスの機能は、一実施形態によれば、所定の条件を満たすか否かを判定するために取得されたデータが、従来のセンサデータ処理のために取り込まれる、1つのハンドリングデータと同じ機能によって常に処理されるように配置され得る。
【0032】
別の実施形態によれば、通信デバイスは、一次機能および二次機能を有し、そこで、一次機能は、通常条件下で、即ち、本明細書で記載される実施形態のいずれかに従っていかなるソフトウェア更新手順も開始することなく動作する通信デバイスによって取り込まれたデータをハンドリングすることに限定されるのに対して、第2の機能は、取り込まれたデータが提案されたソフトウェア更新手順を開始するための所定の条件と一致することが分かったときに有効化され実行される。第1および第2の機能の分離は、ソフトウェアの更新が必要とされるときに実行される機能から、従来のセンサ取り込み処理のために実行される機能を分離する方法を提供し得る。
【0033】
通信デバイスがセンサデータを取得するための1つの単一機能を有するか否か、または上記で提案したような一次機能および二次機能を有するか否かにかかわらず、操作に適した1つまたは複数の物理量が、適切で関連付けられた条件設定とともに適用され、それは、例えば、温度、圧力、加速力、後方散乱係数、角度、回転、モーション、振動、長さ、または光のうちの1つまたは複数を指し得る。言及された物理量のすべては、センサの環境が操作されているときに、センサによって測定されるのに適しており、そのため、非操作環境で予想される範囲とは異なる所望の範囲内の値を取得することができる。
【0034】
適切なセンサが、通信デバイスに接続され、取り付けられ、または一体化され得る。温度センサは、例えば、その環境、即ち、温度センサを取り囲む空気の温度を取り込むように配置され得て、圧力センサは、センサが取り付けられたデバイスに晒された圧力を取り込み得て、加速度計は、加速度計が配置されたデバイスに晒された加速力を取り込み得て、レーダ装置は、レーダ装置が配置されたデバイスに関連付けられた後方散乱係数を取り込み得て、角度測定センサは、角度測定センサが配置されたデバイスの角度を取り込み得て、回転センサは、回転センサが配置されたデバイスの回転を取り込み得て、モーションセンサは、回転センサが配置されたデバイスの動きを取り込み得て、振動センサは、振動センサが配置されたデバイスの振動を取り込み得て、長さセンサは、例えば、ソナーに位置し得て、特定の長さを取り込み得て、光センサ、例えば、フォトセルなどは、センサの環境における光を取り込み得る。
【0035】
操作されたセンサ値を適用するとき、温度センサは、例えば、環境の温度が通常-10℃~30℃の範囲内で変化するが、50℃を超えない場所に置かれ得る。50℃の閾値を適用し、温度が50℃を超えて取り込まれたときに、ソフトウェア更新手順を開始するルールをセットすることによって、および、温度が50℃を超えて到達するようにセンサ付近の空気を暖めることによりセンサの環境を操作することによって、通信デバイスにおけるソフトウェアの更新を、このような場合に開始されるように、トリガすることが可能になる。
【0036】
別の実施形態によれば、光パルスは、例えば、光パターンが通信デバイスにおいてソフトウェア更新手順をトリガするパターンとして認識されるように、光センサにてフラッシュされ得る。
【0037】
あるいは、異なる物理量を測定できる2つのセンサは、例えば、加速力センサおよび角度センサからのデータが、角度センサが同時にある角度を超えて傾けられているときに、ある命令またはパターンに従ってユーザが通信デバイスを揺さぶっていることを示すデータを取り込み得るように組み合わせられ得る。後者の実施形態は、両方のセンサが通信デバイスに取り付けられている場合に特に適しているが、代わりとして、1つのセンサをデバイスに取り付けることができ、もう一方の別のセンサもデバイスに接続する。様々なセンサの操作の特定の組合せは、通常、必要とされる条件の組合せを事前に知ることなく、特定の組合せで実行することが非常に困難であり得るので、例えば、提案されるように、異なるセンサを組み合わせることによって、ソフトウェアの更新を実際にいつ開始するのかといった、より一層ロバストな手順が達成され得る。
【0038】
前述のアプローチのいずれかに加えて、言及された条件は、未操作データを取り込むのに適した1つまたは複数のセンサから取り込まれたデータと組み合わせて、操作データを取り込むのに適した1つまたは複数のセンサから取り込まれたデータを考慮するために適用され得る。
【0039】
未操作データとして取り込まれるのに適した物理量は、例えば、地理的座標、距離、方位、バイオメトリクスまたは視覚センサデータを含み得て、例えば、GPSが地理的座標を取り込むために使用され得て、超音波センサが距離データを取り込むために使用され得て、加速度計が方位を示すデータを取り込むために使用され得て、バイオメトリック指紋リーダが指紋を取り込み得て、または、例えば、デジタル写真を含み得る視覚センサデータが、例えば、デジタルで取り込まれ得る。
【0040】
例えば、モーションセンサによって取り込まれた、例えば、モーションのような操作データを、例えば、GPSによって取り込まれた、例えば、地理座標のような未操作データと組み合わせることによって、例えば、通信デバイスがある所定のパターンに従って揺さぶられ、同時に、例えば、自動車のサービスステーションのようなある地理的場所に位置したときに、ソフトウェアの更新手順をトリガすることが可能となり、この場合、それぞれのソフトウェア更新は、例えば、サービスステーションの承認された個人にしか知られていない、必要な圧力パターンを承知している人によって必要とされ開始される。
【0041】
別のシナリオでは、通信デバイスは、ユーザの指紋を指紋センサに触れさせることと組み合わせて、あるパターンに従って揺さぶられるか、または押し込まれ得て、この場合、指紋センサは、任意の人の指紋を感知するか、または特定の指紋を識別するように設定され得る。1つの代替的なシナリオでは、デバイスは、ユーザの揺さぶる手と光センサを覆うことと組み合わせて揺さぶられ得て、即ち、振動パターンと光センサに晒される光がないこととの組合せが、ソフトウェア更新手順を開始することになる。
【0042】
操作に適した1つまたは複数の特定の物理量の取り込みを、例えば、地理的座標の取り込みと組み合わせることによって、当該提案された方法は、制約されたデバイスのソフトウェア更新手順を開始するのに非常に適しているだけでなく、通信デバイスがある場所にいるときにのみ、特定のソフトウェアの更新が実行されることになるデバイスにも非常に適しているが、その場所にいるならば、特定のパターンを承知しているユーザにとって、操作可能なセンサの環境を操作することによって更新を開始することは容易なはずである。
【0043】
特定のソフトウェア更新手順をトリガするために特定のパターンが必要とされ得るという事実により、メモリの異なる部分または領域を更新するために、異なるパターンが適用可能であり得る。代替的にまたは加えて、ソフトウェア更新手順をトリガする適用されたパターンに応じて、異なるソフトウェアバージョンが選択され得る。
【0044】
1つまたは複数のセンサが存在する環境の操作は、例えば、圧力センサを押し込むか、または温度センサの環境を暖めるように、手動で実行され得る。手動操作は、例えば、1つまたはいくつかの通信デバイスが更新されることになる場合には便利になり得る。しかしながら、多かれ少なかれ同時に更新される必要がある多数の通信デバイスの場合、自動化されたプロセスがより最適であり得る。後者の使用事例では、特に遠隔地に位置する通信デバイスの場合、例えば、関連する1つまたは複数のセンサに送り出され、通信デバイスにて開始されるソフトウェア更新手順をトリガすることになる方法で、これらの1つまたは複数のセンサの環境を操作するドローンまたは地上もしくは水中ロボットを含み得る。
【0045】
1つまたはいくつかのセンサが、操作データを検知するためだけに使用されることになる場合、これまたはこれらのセンサは、複数の通信デバイスに接続され得る。これにより、1つまたはいくつかのセンサのみの環境の操作が、比較的限られた労力で、複数の通信デバイスにてソフトウェア更新手順をトリガし得る。
【0046】
ソフトウェア更新手順に関するセキュリティを高めるために、ソフトウェアの更新がデバイスで実行されるとき、およびプロセスが完了したときに、通信デバイスのある関連したメモリ領域がそれに応じて適合され得る。図2は、代替実施形態による方法を開示しており、本方法は、大部分が、図1を参照して上記で開示した方法に対応する。図1の方法と異なるのは、ステップ160、180、および190である。より具体的には、ステップ140において、取得データが所定の条件と一致している判定されると、開始ステップ170の前に別のステップ160が続き、ここで、更新されようとしている1つまたは複数の関連するメモリ領域が書き込み可能領域にセットされ、それによって、さもなければ書き込み保護されていたはずのこれらのメモリ領域の更新のために開放される。次いで、ステップ170に示すように、書き込み可能領域が更新され、そこで、ステップ180に示すように、更新手順が開始する限りは、言及された領域は書き込み可能なままである。ソフトウェア更新手順が完了すると、ステップ190で示されるように、言及された領域は、書き込み不可領域または書き込み保護領域に戻され、提案された方法が完了する。
【0047】
図3は、前述の方法を実行することができるシステムの概観図を示している。通信デバイス300は、2つのセンサ400a、400bに接続され、そこからデータを取得して、それに応じて評価することができる。前述のように、センサ400a、400bは、操作および/または未操作データを検知するように適合され得る任意のタイプのセンサであり得る。図に示されている2つのセンサが存在するが、通信デバイス300は、代わりとして、1つの単一のセンサまたは複数のセンサに接続され得ることを理解されたい。既に前述のように、1つの単一センサを複数の通信デバイスに接続し得る。通信デバイス300に接続される代わりに、センサ400a、400bのうちの1つまたは複数は、通信デバイス300の不可欠な部分を形成し得て、またはセンサが一体化した独立型センサの組合せとして配置され得る。
【0048】
また、図3の通信デバイス300は、ここでは、更新手順の間に更新されたソフトウェアを提供できるサーバ500によって表される1つまたは複数のサーバに接続され得る。代替的に、または加えて、サーバ500は、例えば、通信デバイスが、例えば、一次機能に従うように、従来の方法で動作しているときに、通信デバイスから提供されるデータを受信するように設定され得る。図は1つのサーバ500のみを含むが、通信デバイス300は、複数のサーバ500、またはソフトウェア更新能力を有するデバイス、またはサーバとしての機能を果たす1つもしくは複数の他の通信デバイスに接続され得ることを理解されたい。通信デバイス300とサーバ500、およびセンサ400a、400bとの間の通信は、任意のタイプの利用可能な無線もしくは有線通信技術、またはそれらの組合せを介して実行され得る。更新されるべきソフトウェアが通信デバイスで既にアクセス可能な場合、いかなるサーバとも対話する必要はない。
【0049】
本文脈では、通信デバイスとは、1つまたは複数の他デバイス、および、例えば、1つもしくは複数の2G、3G、4G、5G、または1つもしくは複数の、例えば、Zigbee、Bluetooth、Wi-Fi、近距離無線通信(NFC:Near-Filed Communication)もしくは超広帯域(UWB:Ultra-wideband)などのショートレンジ技術に対応するネットワーク技術に従って動作可能なネットワークといった通信ネットワークと通信するように適合される、少なくとも1つのセンサを備えるか、またはアクセスするデバイスのようなものを指すことになる。
【0050】
本明細書で記載される実施形態のいずれかに従って動作するように適合された通信デバイスは、一実施形態によれば、図4aに示されるように設定され得る。図4aは、ここでは、プロセッサ310aで表される1つまたは複数のプロセッサを備えており、プロセッサ310aは、メモリ320aに接続され、記憶ソフトウェア330aが保存され、通信デバイス300aがある機能的タスクを実行できるように適合される。メモリ320aは、また、例えば、1つまたは複数のセンサ400a、400bから取り込まれるデータなどのデータを保存するように適合されたメモリ領域340aを備える。メモリ320aに加えて、プロセッサは、不揮発性メモリ340aも備え、不揮発性メモリ340aは、ここではソフトウェアイメージ350aで表される1つもしくは複数のソフトウェアイメージを保存するためのメモリ領域、および/もしくは、ここでは工場出荷時のイメージ360aで表される1つもしくは複数のファクトリーリセットイメージ、または、更新可能なソフトウェアとしての役割を果たす目的として、通信デバイス300aに保存される他のいかなるソフトウェアも備えている。プロセッサ310aは、例えば、適切な中央処理装置(CPU:Central Processing Unit)、マルチプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP:Digital Signal Processor)のうちの1つまたは複数のいかなる組合せにもすることができる。
【0051】
通信デバイス300aは、また、ここではセンサインタフェース370aで表される少なくとも1つのセンサインタフェースを備える。通常、センサインタフェース370aがキャッシュを備え、または別個のキャッシュ(図示せず)がセンサインタフェース370aに接続され、そのため、センサから取得されたデータは、所定の条件を満たすかどうかが判定される前に、通信デバイス300aでキャッシュに格納され得る。図4aでは、通信デバイス300aは、2つのセンサ400a、400bに接続されており、そこで、各センサ400a、400bは、それぞれのセンサインタフェース410a、410bも備える。
【0052】
また、通信デバイス300aは、コンピュータプログラムが保存される非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品380aを備え得て、このコンピュータプログラムは、通信デバイス300a上で実行されると、通信デバイス300aに、本明細書に提案される方法のいずれかに従った方法を実行させる。
【0053】
図には示されていないが、通信デバイス300aは、通常、例えば、電源などのさらなる機能回路または機能、例えば、読み出し専用メモリ(ROM:Read Only Memory)などのさらなるメモリ領域、および適用可能であればサーバとの通信のためのインタフェースも備える。このような機能は、請求項に記載された技術的解決策の理解に関連する機構を不明瞭にしないために、図から省略されている。
【0054】
ソフトウェア更新プロセスを開始および実行できる図4aの通信デバイス300aは、通信デバイス300aにアクセス可能な少なくとも1つのセンサ400a、400bによって取り込まれたデータを取得するように設定される。また、取得データを、ソフトウェア更新プロセスを開始するための所定の条件と比較し、取得データが通信デバイス300aでソフトウェアを更新するための所定の条件と一致すると判定した場合に、通信デバイス300aでソフトウェア更新プロセスを開始するように設定されている。一代替実施形態によれば、通信デバイス300aは、また、取り込まれたデータについて所定の条件が満たされることに基づいて更新手順が必要とされることを判定するのではなく、デバイスのソフトウェア更新手順が必要とされることを最初に判定するように、即ち、提案された方法を開始するように設定され得る。
【0055】
図4bは、別の実施形態による通信デバイス300bを示す図であり、そこで、通信デバイス300bは、センサインタフェース370bと不揮発性メモリ340bとの間に配置された特定の回路が存在することを除いて、図4aの通信デバイス300aと非常に類似しており、特定の回路は、セキュア回路390b、またはセキュア機能と称される。セキュア回路390bは、開始された更新手順が完了したとみなされると、ソフトウェア更新手順が開始しようとしているときに1つまたは複数の特定のメモリ領域を書き込み可能に、すなわち非保護モードにセットし、関連する1つまたは複数のメモリ領域を読み出し専用に、即ち保護モードに戻すためにトリガされるように設定された回路を指す。
【0056】
通信デバイスがセキュア回路を備えているか否かにかかわらず、通信デバイスは、一次および二次機能を実行するように設定し得ており、ここで、一次機能は、例えば、センサ400aのような少なくとも1つのセンサからデータを取り込むように適合され、この場合、取り込まれたデータは、それぞれのセンサが位置する環境の表現、または、言い換えると、従来の方法でセンサによって取り込まれるデータを提供し、二次機能は、例えば、センサ400bのような少なくとも1つのセンサからデータを取り込むように適合され、この場合、取り込まれたデータは、ソフトウェア更新プロセスのための潜在的トリガを提供し、即ち、そのような手順のための条件が満たされているとみなされるときに、ソフトウェア更新手順をトリガする目的でデータが取り込まれる。したがって、通信デバイス300bのプロセッサ310bは、適用される場合、いかなるセキュア回路380cからのいかなる対話も必要とせずに、第1の機能によって取り扱われるデータを受信するのに対して、二次機能は、ソフトウェア更新手順のためのトリガとして認識されたデータを処理するように設定される。セキュア回路が適用されると、従来の方法で取り扱われることになる、即ちソフトウェア更新手順を開始することを目的としない、通信デバイス300bのプロセッサ310bによって取得されたセンサデータは、トランスペアレントな方法でプロセッサ310bに転送される。
【0057】
図4aまたは4bのいずれかに従って上記に記載された通信デバイス300a、300bは、少なくとも1つのプロセッサ310a、310bを備えるデバイス、およびコンピュータ可読命令320a、320bを備えるメモリ320a、320bとして配置され得て、コンピュータ可読命令は、プロセッサ310a、310bによって実行されると、通信デバイス300a、300bにアクセスできる少なくとも1つのセンサ410a、410bによって取り込まれたデータを、通信デバイス300a、300bに取得させて、取得データを、ソフトウェア更新プロセスを開始するための所定の条件と比較させて、通信デバイス300a、300bによって、取得データが通信デバイス300a、300bにてソフトウェアを更新するための所定の条件と一致すると判定することに応答して、通信デバイス300a、300bにてソフトウェア更新プロセスを開始させる。
【0058】
あるいは、通信デバイス300a、300bは、プロセッサ320a、320bによって実行されると、通信デバイス300a、300bに、本明細書に記載される実施形態のいずれかによる方法を実行させるコンピュータ可読命令320a、320bを備えることもあり得る。
【0059】
別の態様によれば、本明細書で提案されるようなソフトウェア更新プロセスを実行するための通信デバイス300cが、図4cを参照して以下に記載される。通信デバイス300cは、図1および図2のステップ120に対応する、センサインタフェース670を介して通信デバイス300cにアクセスできる少なくとも1つのセンサによって取り込まれたデータを得るように設定されたデータ取得ユニット610と、図1および図2のステップ130に対応する、取得データを、ソフトウェア更新プロセスを開始するための所定の条件と比較するように設定された比較ユニット620と、図1および図2のステップ170に対応する、比較ユニット620によって、取得データが通信デバイス300cにてソフトウェアを更新するための所定の条件と一致すると判定することに応答して、通信デバイス300cにてソフトウェア更新プロセスを開始するように設定された更新開始ユニット630とを備える。選択的に、通信ユニット300cは、上記に記載されるように、セキュアな方法で1つまたは複数のセンサから取り込まれたデータを取り扱うように設定された、図4bのセキュア回路390bに対応する、セキュア機能650またはユニットも備え得る。さらに、通信ユニット300cは、また、通信デバイス300cがセンサデータをどのくらい長くまたは何回受信すべきかを判定するように設定されたタイマユニット660またはカウンタを備え得る。選択的に、通信デバイス300cは、ソフトウェア更新手順が必要であることを判定することができ、したがって、図1または2のステップ110に対応する、本明細書で開示される方法を開始することができる分析ユニット640も備え得る。
【0060】
本明細書で提案されるように動作できる通信デバイスにおいて通常取得されるさらなる機能ユニット、例えば、本明細書において提案されるような機能の理解に必要ではない電力調整ユニットおよび通信ユニットなどは、簡略化という理由のために省略されている。
図1
図2
図3
図4a
図4b
図4c