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

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

▶ 三菱電機モビリティ株式会社の特許一覧

<>
  • 特許-電子機器および高速通信方法 図1
  • 特許-電子機器および高速通信方法 図2
  • 特許-電子機器および高速通信方法 図3
  • 特許-電子機器および高速通信方法 図4
  • 特許-電子機器および高速通信方法 図5
  • 特許-電子機器および高速通信方法 図6
  • 特許-電子機器および高速通信方法 図7
  • 特許-電子機器および高速通信方法 図8
  • 特許-電子機器および高速通信方法 図9
  • 特許-電子機器および高速通信方法 図10
  • 特許-電子機器および高速通信方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-05
(45)【発行日】2024-12-13
(54)【発明の名称】電子機器および高速通信方法
(51)【国際特許分類】
   G06F 9/445 20180101AFI20241206BHJP
【FI】
G06F9/445
【請求項の数】 8
(21)【出願番号】P 2023550816
(86)(22)【出願日】2021-09-29
(86)【国際出願番号】 JP2021035735
(87)【国際公開番号】W WO2023053234
(87)【国際公開日】2023-04-06
【審査請求日】2023-07-05
(73)【特許権者】
【識別番号】324003048
【氏名又は名称】三菱電機モビリティ株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】堀池 由晃
【審査官】太田 龍一
(56)【参考文献】
【文献】国際公開第2017/037818(WO,A1)
【文献】特開2011-114456(JP,A)
【文献】特開2004-312711(JP,A)
【文献】特開2019-185423(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/445
(57)【特許請求の範囲】
【請求項1】
複数の通信機構を有するカーネルと、
前記カーネルにより起動されるフレームワークと、
前記フレームワークの起動前に、前記カーネル上で前記通信機構を直接的に利用して動作する第1のアプリケーションと、
前記フレームワークの起動後に、前記フレームワークを用いて前記通信機構を間接的に利用して動作する第2のアプリケーション
とを備えた電子機器。
【請求項2】
前記通信機構を利用した前記第2のアプリケーションの起動状態を管理する進行状態管理ファイルを備えた
ことを特徴とする請求項1記載の電子機器。
【請求項3】
前記進行状態管理ファイルを前記第1のアプリケーション内および前記第2のアプリケーション内に備えた
ことを特徴とする請求項2記載の電子機器。
【請求項4】
前記進行状態管理ファイルを前記第1のアプリケーション内および前記通信機構内に備えた
ことを特徴とする請求項2記載の電子機器。
【請求項5】
前記カーネルは、Linux(登録商標)カーネルである
ことを特徴とする請求項1記載の電子機器。
【請求項6】
前記フレームワークは、Android(登録商標)OSである
ことを特徴とする請求項1記載の電子機器。
【請求項7】
前記通信機構は、有線または無線による通信を行う
ことを特徴とする請求項1記載の電子機器。
【請求項8】
ブートローダ、カーネル、フレームワークの順に起動する高機能OSを有する電子機器による高速通信方法であって、
前記カーネルが複数の通信機構を有し、
第1のアプリケーションが、前記フレームワークの起動前に、前記カーネル上で前記通信機構を直接的に利用して動作するステップと、
前記フレームワークが、前記第1のアプリケーションの動作後に、前記カーネルにより起動されるステップと、
第2のアプリケーションが、前記フレームワークの起動後に、前記フレームワークを用いて前記通信機構を間接的に利用して動作するステップ
とを備えた高速通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電子機器および高速通信方法に関する。
【背景技術】
【0002】
従来、高機能OS(Operating System)を利用した電子機器におけるスマートフォンとの通信接続を行う技術では、当該高機能OSを有するCPU(Central Processing Unit)にて当該高機能OSが起動された後、当該高機能OSを利用して動作するアプリケーション(以下「ノーマルアプリケーション」という。)が動作すると、通信接続処理が開始される。
ところで、ソフトウェア無線機において迅速に通信機能を発揮する技術として、主制御部(例えばCPU)においてGPP機能の起動処理が終了した場合に、モデム部(例えばDSP(Digital Signal Processor))が起動処理を開始し通信をすることを可能とすることで、主制御部においてOS等の起動を待つことなく通信を開始できるようにする技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-220003号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の、高機能OSを利用した電子機器におけるスマートフォンとの通信接続技術では、高機能OSを利用して動作するノーマルアプリケーションが動作して初めて、スマートフォンとの通信接続処理が開始されるため、スマートフォンとの接続に時間を要するという課題があった。
なお、従来の通信接続技術に、上述したようなソフトウェア無線機における起動処理の技術を適用しようとしても、モデム部等、CPU以外のH/Wを必要とするとともに、当該CPU以外のH/Wから高機能OSでのアプリケーションに処理を切り替える必要がある。CPU以外のH/Wから高機能OSでのアプリケーションへと処理を切り替える際にはリトライ処理を繰り返す等する可能性があり、依然として、上記課題を解決できない。
【0005】
本開示は、上記のような課題を解決するためになされたもので、高機能OSを利用したスマートフォンとの通信接続において、従来の通信接続と比べ、短時間での通信接続を可能とした電子機器を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る電子機器は、複数の通信機構を有するカーネルと、カーネルにより起動されるフレームワークと、フレームワークの起動前に、カーネル上で通信機構を直接的に利用して動作する第1のアプリケーションと、フレームワークの起動後に、フレームワークを用いて通信機構を間接的に利用して動作する第2のアプリケーションとを備えたものである。
【発明の効果】
【0007】
本開示によれば、高機能OSを利用したスマートフォンとの通信接続において、従来の通信接続と比べ、短時間での通信接続が可能となる。
【図面の簡単な説明】
【0008】
図1】実施の形態1に係る電子機器のハードウェア構成の一例を示すブロック図である。
図2】実施の形態1に係る電子機器のソフトウェア構成の一例を示すブロック図である。
図3】実施の形態1に係る電子機器のソフトウェア構成のその他の一例を示すブロック図である。
図4】実施の形態1に係る電子機器のハードウェア構成の一例を示すブロック図である。
図5】実施の形態1に係る電子機器の起動順序の一例を示す図である。
図6】実施の形態1において、CPUが図3に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
図7】実施の形態1において、CPUが図2に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
図8】従来の、ノーマルアプリケーションが起動するまでスマートフォンとの通信接続が開始されない電子機器の動作の一例を示す図である。
図9】従来の、ノーマルアプリケーションが起動するまでスマートフォンとの通信接続が開始されない電子機器の動作の一例を示すその他の図である。
図10】実施の形態2において、CPUが図3に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
図11】実施の形態2において、CPUが図2に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
まず、実施の形態1に係る電子機器の構成について説明する。
なお、実施の形態1において、電子機器は、ナビゲーション装置等の車載機器に搭載されていることを想定している。例えば、電子機器は、車両において、スマートフォンとの通信接続を行い、ナビゲーション装置において、スマートフォンの操作画面、または、スマートフォンにて記憶されている映像等を表示する。電子機器は、有線または無線による通信を行う。具体的には、電子機器は、USB(Universal Serial Bus)による通信、Bluetooth(登録商標。以下記載を省略する)による通信、または、Wi-Fi(登録商標。以下記載を省略する)による通信を行う。
【0010】
図1は、実施の形態1に係る電子機器のハードウェア構成の一例を示すブロック図である。なお、図1では、スマートフォン2と通信接続を行い、スマートフォン2の操作映像、または、スマートフォン2にて記憶されている映像等の表示を行うアプリケーションを実行する電子機器に係るハードウェア構成の一例を示している。
【0011】
実施の形態1に係る電子機器は、CPU1の動作によって実現される。
CPU1は、図1に示すように、スマートフォン2と通信接続し、スマートフォン2の操作映像、または、スマートフォン2にて記憶されている映像等をディスプレイ3に表示させる。
CPU1は、高機能OS(Operating System)を有する。ここで、高機能OSとは、高度な情報処理を行うOSのことをいい、例えば、Linux(登録商標。以下記載を省略する)OS、または、Android(登録商標。以下記載を省略する)OS等が挙げられる。実施の形態1では、CPU1は、AndroidOSを有するものとする。
【0012】
図1に示すハードウェア構成は、通常の、スマートフォン2との通信接続を行うハードウェア構成(高速通信を必要としないハードウェア構成)と同様であり、電子機器は、高速通信を行うためのハードウェア構成を別個備えていない。実施の形態1において、電子機器は、図1に示すようなハードウェア構成によってスマートフォン2との高速通信を実現する。
【0013】
図2は、実施の形態1に係る電子機器のソフトウェア構成の一例を示すブロック図である。なお、図2では、図1のCPU1で実行されるソフトウェア構成を示している。
【0014】
図2に示すように、CPU1は、カーネル4、フレームワーク6、ネイティブ通信アプリケーション7、進行状態管理ファイル8、および、ノーマル通信アプリケーション9を実行する機能を有している。
進行状態管理ファイル8は、ノーマル通信アプリケーション9が起動状態となったか否かを管理する。具体的には、進行状態管理ファイル8は、ノーマル通信アプリケーション9が起動しているか否かを示す数値等の情報を保持している。
【0015】
カーネル4は、スマートフォン2と通信する機能である複数の通信機構5を有している。また、カーネル4は、スマートフォン2と通信するためのドライバ、および、ハードウェアリソースを有している。通信機構5は、ドライバの上位に存在している。
実施の形態1では、カーネル4は、Linuxカーネルであるものとして説明するが、これに限るものではない。また、実施の形態1において、通信機構5は、AndroidOSのUSBによる通信、Bluetoothによる通信、または、Wi-Fiによる通信を行うものを想定している。
【0016】
フレームワーク6は、カーネル4が有する通信機構5、ドライバ、および、ハードウェアリソースを抽象化した抽象化通信機構(図示省略)を有している。
【0017】
ネイティブ通信アプリケーション7は、スマートフォン2との通信接続を行うためのアプリケーションであり、通信機構5を直接的に利用して動作する。なお、ネイティブ通信アプリケーション7は、スマートフォン2との通信を行うだけの基本的な機能のみを有し、スマートフォン2の操作映像、または、スマートフォン2にて記憶されている映像等を出力する等の機能は有していない。すなわち、ネイティブ通信アプリケーション7は、ノーマル通信アプリケーション9が有する機能のうちの特定の機能を有している。
【0018】
ノーマル通信アプリケーション9は、スマートフォン2との通信接続を行い、スマートフォン2の操作映像、または、スマートフォン2にて記憶されている映像等を表示するためのアプリケーションであり、フレームワーク6を介して、より詳細には、フレームワーク6が有する抽象化通信機構を介して、通信機構5を間接的に利用して動作する。このように、ノーマル通信アプリケーション9は、映像を表示する等の複雑な機能を有している。
【0019】
図3は、実施の形態1に係る電子機器のソフトウェア構成のその他の一例を示すブロック図である。なお、図3に示すソフトウェア構成は、図2に示すソフトウェア構成を一般化したものである。
図3に示すように、カーネル4は、図2の通信機構5を含む機能機構10を有している。また、カーネル4は、図2を用いて説明したドライバおよびハードウェアリソースを含む、ペリフェラル群のドライバおよびハードウェアリソースを有している。
【0020】
フレームワーク6は、機能機構10、ドライバ、および、ハードウェアリソースを抽象化した抽象化機能機構(図示省略)を有している。
【0021】
ネイティブアプリケーション11(第1のアプリケーション)は、機能機構10を直接的に利用して動作する。また、ノーマルアプリケーション12(第2のアプリケーション)は、ネイティブアプリケーション11の機能を有し、フレームワーク6を介して、より詳細には、フレームワーク6が有する抽象化機能機構を介して、機能機構10を間接的に利用して動作する。ネイティブアプリケーション11は、ノーマルアプリケーション12が有する機能のうちの特定の機能を有している。
【0022】
図4は、実施の形態1に係る電子機器のハードウェア構成の一例を示すブロック図である。なお、図4では、図1のCPU1周辺のハードウェア構成を示している。
図4に示すように、CPU1には、NOR型フラッシュメモリ13、eMMC(embedded Multi Media Card)14、および、DRAM(Dynamic Random Access Memory)15が接続されている。なお、図1では、NOR型フラッシュメモリ13、eMMC14、および、DRAM15の図示を省略している。
【0023】
NOR型フラッシュメモリ13は、ブートローダ16を格納している。なお、NOR型フラッシュメモリ13は、小規模容量のストレージであればよく、例えば、ROM(Read Only Memory)等であってもよい。
【0024】
eMMC14は、カーネル4と、フレームワーク6と、進行状態管理ファイル8と、ネイティブ通信アプリケーション7およびノーマル通信アプリケーション9を含むアプリケーション(図示省略)とを格納している。なお、eMMC14は、大規模容量のストレージであればよく、例えば、ハードディスク等であってもよい。
【0025】
CPU1は、カーネル4、フレームワーク6、および、ブートローダ16のうちの少なくとも1つをDRAM15にロードして動作させる。なお、図2に示したネイティブ通信アプリケーション7およびノーマル通信アプリケーション9と、図3に示したネイティブアプリケーション11およびノーマルアプリケーション12とは、eMMC14に格納されている。
【0026】
次に、電子機器の全体的な動作について、図5を用いて説明する。
図5は、実施の形態1に係る電子機器の起動順序の一例を示す図である。
図5に示すように、電子機器は、ブートローダ16、カーネル4、フレームワーク6の順に起動することによって動作する。以下、ブートローダ16、カーネル4、および、フレームワーク6の起動の詳細について説明する。
【0027】
CPU1は、NOR型フラッシュメモリ13に格納されているプログラムを用いて、NOR型フラッシュメモリ13に格納されているブートローダ16をDRAM15にロードする。ロードされたブートローダ16は、DRAM15で起動して動作する。ここで、NOR型フラッシュメモリ13に格納されているプログラムは、ブートローダ16をDRAM15にロードする機能を有している。
【0028】
ブートローダ16は、eMMC14に格納されているカーネル4をDRAM15にロードする。ロードされたカーネル4は、DRAM15で起動して動作する。具体的には、カーネル4は、ドライバ、ハードウェアリソース、および、機能機構を初期化展開する。
【0029】
カーネル4は、eMMC14に格納されているフレームワーク6をDRAM15にロードする。ロードされたフレームワーク6は、DRAM15で起動して動作する。具体的には、フレームワーク6は、抽象化機能機構および他のソフトウェアコンポーネント(抽象化された他の機能機構)を初期化展開する。
【0030】
実施の形態1において、高機能OSは、フレームワーク6で構成される。カーネル4およびフレームワーク6は、DRAM15で協調的に動作する。一方、ブートローダ16は、高機能OSのローディングが終われば、DRAM15から排出されて動作しない。ブートローダ16と高機能OSとはシステムが異なる。なお、実施の形態1では、高機能OS(フレームワーク6)はAndroidOSであるものとして説明するが、これに限るものではない。
【0031】
次に、電子機器の詳細な動作について説明する。
図6は、実施の形態1において、CPU1が図3に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
【0032】
図6に示すように、CPU1の電源ON後、ブートローダ16は、カーネル4をDRAM15(図4参照)にロードする。カーネル4は、DRAM15で起動する。
【0033】
CPU1は、ネイティブアプリケーション11をDRAM15にロードし、ネイティブアプリケーション11を起動する。ネイティブアプリケーション11は、カーネル4の機能機構10を直接的に利用して、予め定められた機能を実行する。
ここで、CPU1は、ネイティブアプリケーション11を起動すると、進行状態管理ファイル8を起動する。
【0034】
ネイティブアプリケーション11の起動後、カーネル4は、フレームワーク6をDRAM15にロードする。フレームワーク6は、DRAM15で起動する。
【0035】
フレームワーク6の起動後、CPU1は、ノーマルアプリケーション12をDRAM15にロードし、ノーマルアプリケーション12を起動する。ノーマルアプリケーション12は、フレームワーク6を介して、より詳細には、フレームワーク6が有する抽象化機能機構を介して、カーネル4の機能機構10を間接的に利用して、予め定められた機能を実行する。
【0036】
ここで、CPU1は、ネイティブアプリケーション11を起動すると、ノーマルアプリケーション12を起動するまでに、進行状態管理ファイル8を起動している。ネイティブアプリケーション11は、ノーマルアプリケーション12が起動可能となると、進行状態管理ファイル8を確認することでこれを判定する。具体的には、ノーマルアプリケーション12は、起動すると、進行状態管理ファイル8に対して、起動した旨の情報の書き込みを行う。当該書き込みが行われると、ネイティブアプリケーション11へ、進行状態管理ファイル8のファイル変更通知が出力される。ファイル変更通知の出力は、例えば、進行状態管理ファイル8が行う。ネイティブアプリケーション11は、ファイル変更通知を取得すると、進行状態管理ファイル8を参照し、ノーマルアプリケーション12が起動した旨の情報の書き込みがあることで、ノーマルアプリケーション12が起動可能となったことを確認する。ネイティブアプリケーション11は、ノーマルアプリケーション12が起動可能となったタイミング等、任意のタイミングで、実行していた機能を終了する。すなわち、ネイティブアプリケーション11が実行していた機能は、ノーマルアプリケーション12に引き継がれ、ノーマルアプリケーション12にて実行されるようになる。
【0037】
このように、実施の形態1において、CPU1は、ノーマルアプリケーション12を起動するよりも前に、カーネル4にある機能機構10を利用してスマートフォン2との通信動作を行うよう、ネイティブアプリケーション11を起動する。これにより、電子機器は、CPU1が高機能OS(フレームワーク6)の起動後にノーマルアプリケーション12を起動してノーマルアプリケーション12がスマートフォン2との通信動作を行うまで待つことなく、スマートフォン2との通信動作を開始させることができる。その結果、電子機器は、スマートフォン2との高速通信を実現することができる。
【0038】
上述のとおり、ネイティブアプリケーション11は、DRAM15にロードし展開される。そのため、ロード時間は、ネイティブアプリケーション11の容量に依存する。
そこで、ネイティブアプリケーション11の機能を最小限にして、ネイティブアプリケーション11のプログラム容量を抑えることにより、ネイティブアプリケーション11のロード時間が最適化され、CPU1の電源ONからネイティブアプリケーション11による動作までの時間を短縮することができる。
【0039】
また、ネイティブアプリケーション11およびノーマルアプリケーション12は、同一の機能機構10を直接的または間接的に利用して動作している。ネイティブアプリケーション11は、進行状態管理ファイル8を確認することでノーマルアプリケーション12が起動したか否かを判定し、ノーマルアプリケーション12が起動すると、スマートフォン2との通信動作がネイティブアプリケーション11からノーマルアプリケーション12に引き継がれる。したがって、電子機器は、ネイティブアプリケーション11による通信からノーマルアプリケーション12による通信への切り替え時にリトライ処理を繰り返すことを防ぐことができる。また、処理負荷も軽くなる。
【0040】
なお、ネイティブアプリケーション11は、ノーマルアプリケーション12の実行後に、任意のタイミングで動作を終了する。任意のタイミングとしては、ノーマルアプリケーション12が動作し始めた時であってもよく、ノーマルアプリケーション12が完全に動作した時、すなわち、ノーマルアプリケーション12の動作後であってもよい。
【0041】
図7は、実施の形態1において、CPU1が図2に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
【0042】
図7に示すように、CPU1の電源ON後、ブートローダ16は、カーネル4をDRAM15(図4参照)にロードする。カーネル4は、DRAM15で起動する。
【0043】
CPU1は、ネイティブ通信アプリケーション7をDRAM15にロードし、ネイティブ通信アプリケーション7を起動する。ネイティブ通信アプリケーション7は、カーネル4の通信機構5を直接的に利用して、スマートフォン2との通信動作を行う。
ここで、CPU1は、ネイティブ通信アプリケーション7を起動すると、進行状態管理ファイル8を起動する。
【0044】
ネイティブ通信アプリケーション7の起動後、カーネル4は、フレームワーク6をDRAM15にロードする。フレームワーク6は、DRAM15で起動する。
【0045】
フレームワーク6の起動後、CPU1は、ノーマル通信アプリケーション9をDRAM15にロードし、ノーマル通信アプリケーション9を起動する。ノーマル通信アプリケーション9は、フレームワーク6を介して、より詳細には、フレームワーク6が有する抽象化通信機構を介して、カーネル4の通信機構5を間接的に利用して、スマートフォン2との通信動作を行う。そして、ノーマル通信アプリケーション9は、スマートフォン2の操作映像、または、スマートフォン2にて記憶されている映像等をディスプレイ3に表示する。
【0046】
ここで、CPU1は、ネイティブ通信アプリケーション7を起動すると、ノーマル通信アプリケーション9を起動するまでに、進行状態管理ファイル8を起動している。ネイティブ通信アプリケーション7は、ノーマル通信アプリケーション9が起動可能となると、進行状態管理ファイル8を確認することでこれを判定する。具体的には、ノーマル通信アプリケーション9は、起動すると、進行状態管理ファイル8に対して、起動した旨の情報の書き込みを行う。当該書き込みが行われると、ネイティブ通信アプリケーション7へ、進行状態管理ファイル8のファイル変更通知が出力される。ファイル変更通知の出力は、例えば、進行状態管理ファイル8が行う。ネイティブ通信アプリケーション7は、ファイル変更通知を取得すると、進行状態管理ファイル8を参照し、ノーマル通信アプリケーション9が起動した旨の情報の書き込みがあることで、ノーマル通信アプリケーション9が起動可能となったことを確認する。ネイティブ通信アプリケーション7は、ノーマル通信アプリケーション9が起動可能となったタイミング等、任意のタイミングで、実行していた機能を終了する。すなわち、ネイティブ通信アプリケーション7が実行していた機能は、ノーマル通信アプリケーション9に引き継がれ、ノーマル通信アプリケーション9にて実行されるようになる。
【0047】
このように、実施の形態1において、CPU1は、ノーマル通信アプリケーション9を起動するよりも前に、カーネル4にある通信機構5を利用してスマートフォン2との通信動作を行うよう、ネイティブ通信アプリケーション7を起動する。これにより、電子機器は、CPU1が高機能OS(フレームワーク6)の起動後にノーマル通信アプリケーション9を起動してノーマル通信アプリケーション9がスマートフォン2との通信動作を行うまで待つことなく、スマートフォン2との通信動作を開始させることができる。その結果、電子機器は、スマートフォン2との高速通信を実現することができる。
【0048】
上述のとおり、ネイティブ通信アプリケーション7は、DRAM15にロードし展開される。そのため、ロード時間は、ネイティブ通信アプリケーション7の容量に依存する。
そこで、ネイティブ通信アプリケーション7の機能を最小限にして、ネイティブ通信アプリケーション7のプログラム容量を抑えることにより、ネイティブ通信アプリケーション7のロード時間が最適化され、CPU1の電源ONからネイティブ通信アプリケーション7による動作までの時間を短縮することができる。
【0049】
また、ネイティブ通信アプリケーション7およびノーマル通信アプリケーション9は、同一の通信機構5を直接的または間接的に利用して動作している。ネイティブ通信アプリケーション7は、進行状態管理ファイル8を確認することでノーマル通信アプリケーション9が起動したか否かを判定し、ノーマル通信アプリケーション9が起動すると、スマートフォン2との通信動作がネイティブ通信アプリケーション7からノーマル通信アプリケーション9に引き継がれる。したがって、電子機器は、ネイティブ通信アプリケーション7による通信からノーマル通信アプリケーション9による通信への切り替え時にリトライ処理を繰り返すことを防ぐことができる。また、処理負荷も軽くなる。
【0050】
なお、ネイティブ通信アプリケーション7は、ノーマル通信アプリケーション9の実行後に、任意のタイミングで動作を終了する。任意のタイミングとしては、ノーマル通信アプリケーション9が動作し始めた時であってもよく、ノーマル通信アプリケーション9が完全に動作した時、言い換えれば、ノーマル通信アプリケーション9の動作後であってもよい。
【0051】
以上のことから、実施の形態1によれば、電子機器は、ノーマルアプリケーション12(またはノーマル通信アプリケーション9)を起動するよりも前に、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)を起動することで、スマートフォン2との高速通信を実現することができる。すなわち、電子機器は、高機能OSを利用したスマートフォンとの通信接続において、従来の通信接続と比べ、短時間での通信接続が可能となる。
【0052】
ここで、図8および図9は、従来の、ノーマルアプリケーション24が起動するまでスマートフォン2との通信接続が開始されない電子機器の動作の一例を示す図である。なお、図8は、CPU1が図3に示す各機能を有する場合における、電子機器の動作の一例を示す図であり、図9は、CPU1が図2に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
従来のスマートフォン2との通信接続技術では、ブートローダ31がカーネル21をロードした後、CPU1が高機能OS(フレームワーク23)の起動後にカーネル21にある機能機構22(または通信機構25)を利用してノーマルアプリケーション24(またはノーマル通信アプリケーション26)を起動し、ノーマルアプリケーション24(またはノーマル通信アプリケーション26)がスマートフォン2との通信動作を行うまで、スマートフォン2との通信接続が行われなかった。
【0053】
これに対し、実施の形態1に係る電子機器では、上述のとおり、CPU1が、ノーマルアプリケーション12(またはノーマル通信アプリケーション9)を起動するよりも前に、カーネル4にある通信機構5を含む機能機構10を利用してスマートフォン2との通信動作を行うよう、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)を起動する。これにより、電子機器は、CPU1が高機能OS(フレームワーク6)の起動後にノーマルアプリケーション12(またはノーマル通信アプリケーション9)を起動してノーマルアプリケーション12(またはノーマル通信アプリケーション9)がスマートフォン2との通信動作を行うまで待つことなく、スマートフォン2との通信動作を開始させることができる。その結果、電子機器は、スマートフォン2との高速通信を実現することができる。
【0054】
また、実施の形態1によれば、電子機器は、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)の機能を最小限にすることによって、コールドブート時に高速に起動することができる。
【0055】
また、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)と、ノーマルアプリケーション12(またはノーマル通信アプリケーション9)とで、同一の機能機構10(または通信機構5)を利用することによって、リトライ処理を繰り返すことを防ぎ、通信の引継ぎをスムーズに行うことが可能となる。
【0056】
実施の形態2.
高機能OS(フレームワーク6)における全ての抽象化機能機構を動作させるために、カーネル4における全ての機能機構10を起動させる必要がある。したがって、カーネル4は、全てのドライバ、全てのハードウェアリソース、および、全ての機能機構10を初期化展開することになり、カーネル4の初期化展開に時間を要する。
【0057】
そこで、実施の形態2では、電子機器は、カーネル4が初期化展開するドライバ、ハードウェアリソース、および、機能機構を、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)の動作に必要なドライバ、ハードウェアリソース、および、機能機構と、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)の動作に必要がないドライバ、ハードウェアリソース、および、機能機構とに分ける。そして、電子機器は、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)の動作に必要がないドライバ、ハードウェアリソース、および、機能機構の初期化展開をネイティブアプリケーション11(またはネイティブ通信アプリケーション7)の起動後に行うことで、カーネル4の初期化展開にかかる時間を短縮する。これにより、電子機器は、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)が起動するまでの時間を短縮する。
なお、実施の形態2に係る電子機器について、カーネル4が初期化展開するドライバ、ハードウェアリソース、および、機能機構を、ネイティブアプリケーション11の起動前と起動後に分けた点以外の構成および動作は、実施の形態1で説明した電子機器の構成および動作と同様であるため、詳細な説明を省略する。
【0058】
図10は、実施の形態2において、CPU1が図3に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
【0059】
図10に示すように、CPU1の電源ON後、ブートローダ16は、カーネル4をDRAM15にロードする。カーネル4は、DRAM15で起動する。このとき、カーネル4は、機能機構10のうちのネイティブアプリケーション11に必要なドライバ、ハードウェアリソース、および、機能機構を初期化展開する。
【0060】
CPU1は、ネイティブアプリケーション11をDRAM15にロードし、ネイティブアプリケーション11を起動する。ネイティブアプリケーション11は、カーネル4の機能機構10のうちのネイティブアプリケーション11に必要な機能機構を直接的に利用して、予め定められた機能を実行する。
ここで、CPU1は、ネイティブアプリケーション11を起動すると、進行状態管理ファイル8を起動する。
【0061】
ネイティブアプリケーション11の実行後、カーネル4は、機能機構10のうちのネイティブアプリケーション11に必要ないドライバ、ハードウェアリソース、および、機能機構を初期化展開する。
【0062】
その後の動作(ノーマルアプリケーション12の起動等)については、実施の形態1で説明済み(図6参照)であるため、重複した説明を省略する。
【0063】
このように、実施の形態2に係る電子機器は、ネイティブアプリケーション11の起動前には、ネイティブアプリケーション11に必要なドライバ、ハードウェアリソース、および、機能機構のみを初期化展開することで、CPU1の電源ONからネイティブアプリケーション11の起動までの時間を短縮することが可能となる。
【0064】
図11は、実施の形態2において、CPU1が図2に示す各機能を有する場合における、電子機器の動作の一例を示す図である。
【0065】
図11に示すように、CPU1の電源ON後、ブートローダ16は、カーネル4をDRAM15にロードする。カーネル4は、DRAM15で起動する。このとき、カーネル4は、機能機構10のうちのネイティブ通信アプリケーション7に必要なドライバ、ハードウェアリソース、および、通信機構5を初期化展開する。
【0066】
CPU1は、ネイティブ通信アプリケーション7をDRAM15にロードし、ネイティブ通信アプリケーション7を起動する。ネイティブ通信アプリケーション7は、カーネル4の通信機構5を直接的に利用して、スマートフォン2との通信動作を行う。
ここで、CPU1は、ネイティブ通信アプリケーション7を起動すると、進行状態管理ファイル8を起動する。
【0067】
ネイティブ通信アプリケーション7の実行後、カーネル4は、機能機構10のうちのネイティブ通信アプリケーション7に必要ないドライバ、ハードウェアリソース、および、機能機構(通信機構5以外の機能機構)を初期化展開する。
【0068】
その後の動作(ノーマル通信アプリケーション9の起動等)については、実施の形態1で説明済み(図7参照)であるため、重複した説明を省略する。
【0069】
このように、実施の形態2に係る電子機器は、ネイティブ通信アプリケーション7の起動前には、ネイティブ通信アプリケーション7に必要なドライバ、ハードウェアリソース、および、通信機構5のみを初期化展開することで、CPU1の電源ONからネイティブ通信アプリケーション7の起動までの時間を短縮することが可能となる。
【0070】
以上のことから、実施の形態2によれば、電子機器は、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)に必要な機能機構を先に起動して、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)を実行することによって、コールドブート時にカーネル4の初期化展開にかかる時間を短縮し、カーネル4を高速に起動することができる。これにより、電子機器は、ネイティブアプリケーション11が起動するまでの時間を短縮することができる。その結果、電子機器は、カーネル4が初期化展開するドライバ、ハードウェアリソース、および、機能機構を、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)の動作に必要なドライバ、ハードウェアリソース、および、機能機構と、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)の動作に必要がないドライバ、ハードウェアリソース、および、機能機構とに分けない場合と比べ、より高速に、スマートフォン2との通信接続を行うことができる。
【0071】
なお、以上の実施の形態1および実施の形態2において、進行状態管理ファイル8は、例えば、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)内と、ノーマルアプリケーション12(またはノーマル通信アプリケーション9)内とに備えられるようにしてもよい。
また、進行状態管理ファイル8は、例えば、ネイティブアプリケーション11(またはネイティブ通信アプリケーション7)内と、機能機構10(通信機構5)内とに備えられるようにしてもよい。
【0072】
また、以上の実施の形態1では、電子機器は、車両において、スマートフォン2との通信接続を行い、ナビゲーション装置において、スマートフォン2の操作映像、または、スマートフォン2にて記憶されている映像等を表示するものとしたが、これは一例に過ぎない。例えば、電子機器は、車両において、スマートフォン2との通信接続を行い、スマートフォン2にて記憶されている音楽等をスピーカ(図示省略)から出力させてもよい。このような場合も、電子機器は、スマートフォン2との通信接続に関し、実施の形態1および実施の形態2を適用できる。
また、例えば、電子機器は、車載装置に搭載されることに限定されない。例えば、電子機器は、テレビ等のホーム家電に搭載されてもよい。
【0073】
なお、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【0074】
本開示に係る電子機器は、スマートフォンとの通信接続を高速に行うことができる。
【符号の説明】
【0075】
1 CPU、2 スマートフォン、3 ディスプレイ、4 カーネル、5 通信機構、6 フレームワーク、7 ネイティブ通信アプリケーション、8 進行状態管理ファイル、9 ノーマル通信アプリケーション、10 機能機構、11 ネイティブアプリケーション、12 ノーマルアプリケーション、13 NOR型フラッシュメモリ、14 eMMC、15 DRAM、16 ブートローダ、21 カーネル、22 機能機構、23 フレームワーク、24 ノーマルアプリケーション、25 通信機構、26 ノーマル通信アプリケーション、31 ブートローダ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11