(57)【要約】【課題】データ管理方法及び装置並びに電子装置を提供する。【解決手段】本発明のデータ管理方法は、アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいてアプリケーションのためのバッファを割り当てるステップと、リクエスト情報に対応するセンサデータをバッファに格納するステップと、バッファに格納されたセンサデータをアプリケーションに伝達するステップと、を有する。【選択図】図１
2017123158.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいて該アプリケーションのためのバッファを割り当てるステップと、
前記リクエスト情報に対応するセンサデータを前記バッファに格納するステップと、
前記バッファに格納された前記センサデータを前記アプリケーションに伝達するステップと、を有することを特徴とするデータ管理方法。
【請求項２】
前記リクエスト情報は、前記アプリケーションによってリクエストされるデータの種類、前記データに必要な加工の種類、及び前記アプリケーションによってリクエストされるデータ量に関する情報を含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項３】
前記センサデータを前記バッファに格納するステップは、センサの特性情報及び前記リクエスト情報に基づいて前記リクエスト情報に対応するセンサデータを前記バッファに格納するステップを含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項４】
前記センサの特性情報は、前記センサの種類、前記センサのサンプリングレート、及び前記センサの解像度のうちの少なくとも１つを含むことを特徴とする請求項３に記載のデータ管理方法。
【請求項５】
前記バッファは、同一種類のセンサデータを格納する少なくとも１つのライン及び異なる種類のセンサデータを格納する少なくとも１つのチャネルを含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項６】
前記バッファは、第１ライン及び第２ラインを含み、
前記第１ラインに格納されたセンサデータが前記アプリケーションに伝達される間に受信されたセンサデータは、前記第２ラインに格納されることを特徴とする請求項５に記載のデータ管理方法。
【請求項７】
前記バッファは、第１センサデータに対して第１加工を行い、加工された第１センサデータを格納する第１チャネル、及び第２センサデータに対して第２加工を行い、加工された第２センサデータを格納する第２チャネルを含むことを特徴とする請求項５に記載のデータ管理方法。
【請求項８】
前記バッファは、第１センサによって生成された第１センサデータを格納するための第１バッファ、及び第２センサによって生成された第２センサデータを格納するための第２バッファを含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項９】
前記第１バッファ及び前記第２バッファを同期化させるステップを更に含むことを特徴とする請求項８に記載のデータ管理方法。
【請求項１０】
前記同期化させるステップは、前記第１バッファに予め設定された前記第１センサデータと前記第２センサデータとの比率に対応するデータが格納された後、前記第２バッファに前記予め設定された前記比率に対応するデータが格納される迄前記第１バッファに受信されるデータを捨てるステップを含むことを特徴とする請求項９に記載のデータ管理方法。
【請求項１１】
前記同期化させるステップは、前記第１バッファに予め設定された前記第１センサデータと前記第２センサデータとの比率に対応するデータが格納された後、前記第２バッファに前記予め設定された前記比率に対応するデータが格納される迄前記第１バッファに受信されるデータを余分のバッファに格納するステップを含むことを特徴とする請求項９に記載のデータ管理方法。
【請求項１２】
前記センサデータに基づいて２次データを生成する仮想のセンサを生成するステップを更に含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項１３】
前記仮想のセンサは、前記アプリケーションの出力に基づいて前記２次データを生成することを特徴とする請求項１２に記載のデータ管理方法。
【請求項１４】
前記２次データをリクエストする第２アプリケーションのための第２バッファを割り当てるステップと、
前記２次データを前記第２バッファに格納するステップと、
前記第２バッファに格納された前記２次データを前記第２アプリケーションに伝達するステップと、を更に含むことを特徴とする請求項１２に記載のデータ管理方法。
【請求項１５】
前記センサデータを処理するための前記アプリケーションの実行時間及び前記アプリケーションの実行時間制限に基づいてプロセッサの動作速度を制御するステップを更に含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項１６】
前記プロセッサの動作速度を制御するステップは、
現在の動作速度で前記アプリケーションが前記センサデータを処理するために所要した時間を測定することにより前記実行時間を取得するステップと、
前記実行時間が前記実行時間制限よりも短い場合、前記プロセッサの動作速度を減少させるステップと、
前記実行時間が前記実行時間制限を超過する場合、前記動作速度を増加させるステップと、を含むことを特徴とする請求項１５に記載のデータ管理方法。
【請求項１７】
前記リクエスト情報に基づいて前記センサデータを加工するステップを更に含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項１８】
前記センサデータを加工するステップは、前記センサデータに対して、フィルタリング、遅延、差分、補間、及びデシメーションのうちの少なくとも１つを行うステップを含むことを特徴とする請求項１７に記載のデータ管理方法。
【請求項１９】
前記センサデータを前記アプリケーションに伝達するステップは、前記バッファに蓄積されたセンサのデータ量が前記アプリケーションによってリクエストされたデータ量を満たした場合、前記バッファに格納された前記センサデータを前記アプリケーションに伝達するステップを含むことを特徴とする請求項１に記載のデータ管理方法。
【請求項２０】
ハードウェアと結合してデータ管理装置に請求項１乃至１９のいずれか一項に記載のデータ管理方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２１】
アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいて該アプリケーションのためのバッファを割り当てるバッファ管理デバイスと、
前記リクエスト情報に対応するセンサデータを前記バッファに格納するセンサ管理デバイスと、
前記バッファに格納された前記センサデータを前記アプリケーションに伝達するプロセッシングデバイスと、を備えることを特徴とするデータ管理装置。
【請求項２２】
前記リクエスト情報は、前記アプリケーションによってリクエストされるデータの種類、前記データに必要な加工の種類、及び前記アプリケーションによってリクエストされるデータ量に関する情報を含むことを特徴とする請求項２１に記載のデータ管理装置。
【請求項２３】
前記センサ管理デバイスは、センサの特性情報及び前記リクエスト情報に基づいて前記リクエスト情報に対応するセンサデータを前記バッファに格納することを特徴とする請求項２１に記載のデータ管理装置。
【請求項２４】
前記バッファは、同一種類のセンサデータを格納する少なくとも１つのライン及び異なる種類のセンサデータを格納する少なくとも１つのチャネルを含むことを特徴とする請求項２１に記載のデータ管理装置。
【請求項２５】
前記バッファは、第１センサによって生成された第１センサデータを格納するための第１バッファ、及び第２センサによって生成された第２センサデータを格納するための第２バッファを含むことを特徴とする請求項２１に記載のデータ管理装置。
【請求項２６】
前記バッファ管理デバイスは、前記第１バッファ及び前記第２バッファを同期化させることを特徴とする請求項２４に記載のデータ管理装置。
【請求項２７】
前記プロセッシングデバイスは、前記センサデータに基づいて２次データを生成する仮想のセンサを生成することを特徴とする請求項２１に記載のデータ管理装置。
【請求項２８】
前記センサデータを処理するための前記アプリケーションの実行時間及び前記アプリケーションの実行時間制限に基づいて前記プロセッシングデバイスの動作速度を制御する速度制御デバイスを更に含むことを特徴とする請求項２１に記載のデータ管理装置。
【請求項２９】
前記プロセッシングデバイスは、前記リクエスト情報に基づいて前記センサデータを加工することを特徴とする請求項２１に記載のデータ管理装置。
【請求項３０】
測定されたセンサデータに基づいて２次データを生成する仮想のセンサを生成するステップと、
前記２次データをリクエストするアプリケーションのためのバッファを割り当てるステップと、
前記２次データを前記バッファに格納するステップと、
前記バッファに格納された前記２次データを前記アプリケーションに伝達するステップと、を有することを特徴とするデータ管理方法。
【請求項３１】
前記仮想のセンサは、前記測定されたセンサデータをリクエストする異なるアプリケーションの出力に基づいて前記２次データを生成することを特徴とする請求項３０に記載のデータ管理方法。
【請求項３２】
生体信号に関するセンサデータを出力するセンサと、
前記センサデータに基づいてアプリケーションを介してユーザに生体情報を提供するデータ管理装置と、を備え、
前記データ管理装置は、
アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいて該アプリケーションのためのバッファを割り当てるバッファ管理デバイスと、
前記リクエスト情報に対応するセンサデータを前記バッファに格納するセンサ管理デバイスと、
前記バッファに格納された前記センサデータを前記アプリケーションに伝達するプロセッシングデバイスと、を含むことを特徴とする電子装置。
【請求項３３】
前記プロセッシングデバイスによって実行される命令語を格納するメモリを更に含むことを特徴とする請求項３２に記載の電子装置。
【請求項３４】
複数のセンサからセンサの特性情報を受信するステップと、
複数のアプリケーションから各々のアプリケーションのリクエスト情報を受信するステップと、
前記センサの特性情報及び前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションのための１つ以上のバッファを割り当てるステップと、
前記複数のセンサから受信されたセンサデータを前記バッファに格納するステップと、
前記バッファに格納された前記センサデータを前記複数のアプリケーションの各々にそれぞれ伝達するステップと、を有することを特徴とするデータ管理方法。
【請求項３５】
前記センサデータを前記バッファに格納するステップは、
前記センサの特性情報及び前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションのうちのいずれかを前記センサデータを引き受けるアプリケーションとして決定するステップと、
前記センサデータを前記アプリケーションのためのバッファに格納するステップと、を含むことを特徴とする請求項３４に記載のデータ管理方法。
【請求項３６】
前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションの各々に対する加工チェーンを生成するステップと、
前記各々に対する加工チェーンを用いて前記各々のアプリケーションのリクエスト情報に対応するセンサデータを加工するステップと、を更に含み、
前記センサデータを前記バッファに格納するステップは、前記加工されたセンサデータを前記各々のアプリケーションのリクエスト情報に対応して選択されたバッファに格納するステップを含むことを特徴とする請求項３４に記載のデータ管理方法。
【請求項３７】
前記複数のアプリケーションのための１つ以上のバッファを割り当てるステップは、前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションの各々のためのバッファタイプを決定するステップを含み、
前記バッファタイプは、前記バッファに含まれる同一種類のセンサデータを格納するライン及び異なる種類のセンサデータを格納するチャネルの数に基づいて決定されることを特徴とする請求項３４に記載のデータ管理方法。
【請求項３８】
センサデータに基づいて２次データを生成する仮想のセンサを生成するセンサ管理デバイスと、
前記２次データをリクエストするアプリケーションのためのバッファを割り当てるバッファ管理デバイスと、
前記バッファに格納された前記２次データを前記アプリケーションに伝達するプロセッシングデバイスと、を備えることを特徴とするデータ管理装置。
【請求項３９】
前記センサデータは、生体信号を示すことを特徴とする請求項３８に記載のデータ管理装置。
【請求項４０】
前記仮想のセンサは、前記センサデータをリクエストする異なるアプリケーションの出力に基づいて前記２次データを生成することを特徴とする請求項３８に記載のデータ管理装置。
【請求項４１】
前記プロセッシングデバイスによって実行される命令語を格納するメモリを更に含むことを特徴とする請求項２１又は３８に記載のデータ管理装置。
【請求項４２】
前記仮想のセンサは、前記センサデータに基づいて、他の２次データを生成する異なる仮想のセンサから受信された該他の２次データから前記２次データを生成することを特徴とする請求項３８に記載のデータ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファリングを用いたデータ管理方法及び装置並びに電子装置に関する。
【背景技術】
【０００２】
センサの種類が多様化されるにつれて、このような様々なセンサを活用して情報を提供するためのデバイスやアプリケーションが提供されている。ファームウェアシステムによると、アプリケーションがセンサを直接制御してデータを収集し、これを格納するためのメモリを管理する。特定アプリケーションは、他のアプリケーションがいかなるセンサからどのようなデータを収集するかを把握することは難しい。従って、従来のファームウェアシステムでは、デバイスの全体に亘ってデータ及び電力を効率よく管理することには限界がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、バッファリングを用いたデータ管理方法及び装置並びに電子装置を提供することにある。
【課題を解決するための手段】
【０００４】
上記目的を達成するためになされた本発明の一態様によるデータ管理方法は、アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいて該アプリケーションのためのバッファを割り当てるステップと、前記リクエスト情報に対応するセンサデータを前記バッファに格納するステップと、前記バッファに格納された前記センサデータを前記アプリケーションに伝達するステップと、を有する。
【０００５】
前記リクエスト情報は、前記アプリケーションによってリクエストされるデータの種類、前記データに必要な加工の種類、及び前記アプリケーションによってリクエストされるデータ量に関する情報を含み得る。
前記センサデータを前記バッファに格納するステップは、センサの特性情報及び前記リクエスト情報に基づいて前記リクエスト情報に対応するセンサデータを前記バッファに格納するステップを含み得る。
前記センサの特性情報は、前記センサの種類、前記センサのサンプリングレート、及び前記センサの解像度のうちの少なくとも１つを含み得る。
前記バッファは、同一種類のセンサデータを格納する少なくとも１つのライン及び異なる種類のセンサデータを格納する少なくとも１つのチャネルを含み得る。
前記バッファは、第１ライン及び第２ラインを含み、前記第１ラインに格納されたセンサデータが前記アプリケーションに伝達される間に受信されたセンサデータは、前記第２ラインに格納され得る。
前記バッファは、第１センサデータに対して第１加工を行い、加工された第１センサデータを格納する第１チャネル、及び第２センサデータに対して第２加工を行い、加工された第２センサデータを格納する第２チャネルを含み得る。
前記バッファは、第１センサによって生成された第１センサデータを格納するための第１バッファ、及び第２センサによって生成された第２センサデータを格納するための第２バッファを含み得る。
前記データ管理方法は、前記第１バッファ及び前記第２バッファを同期化させるステップを更に含み得る。
前記同期化させるステップは、前記第１バッファに予め設定された前記第１センサデータと前記第２センサデータとの比率に対応するデータが格納された後、前記第２バッファに前記予め設定された前記比率に対応するデータが格納される迄前記第１バッファに受信されるデータを捨てるステップを含み得る。
前記同期化させるステップは、前記第１バッファに予め設定された前記第１センサデータと前記第２センサデータとの比率に対応するデータが格納された後、前記第２バッファに前記予め設定された前記比率に対応するデータが格納される迄前記第１バッファに受信されるデータを余分のバッファに格納するステップを含み得る。
前記データ管理方法は、前記センサデータに基づいて２次データを生成する仮想のセンサを生成するステップを更に含み得る。
前記仮想のセンサは、前記アプリケーションの出力に基づいて前記２次データを生成し得る。
前記データ管理方法は、前記２次データをリクエストする第２アプリケーションのための第２バッファを割り当てるステップと、前記２次データを前記第２バッファに格納するステップと、前記第２バッファに格納された前記２次データを前記第２アプリケーションに伝達するステップと、を更に含み得る。
前記データ管理方法は、前記センサデータを処理するための前記アプリケーションの実行時間及び前記アプリケーションの実行時間制限に基づいてプロセッサの動作速度を制御するステップを更に含み得る。
前記プロセッサの動作速度を制御するステップは、現在の動作速度で前記アプリケーションが前記センサデータを処理するために所要した時間を測定することにより前記実行時間を取得するステップと、前記実行時間が前記実行時間制限よりも短い場合、前記プロセッサの動作速度を減少させるステップと、前記実行時間が前記実行時間制限を超過する場合、前記動作速度を増加させるステップと、を含み得る。
前記データ管理方法は、前記リクエスト情報に基づいて前記センサデータを加工するステップを更に含み得る。
前記センサデータを加工するステップは、前記センサデータに対して、フィルタリング、遅延、差分、補間、及びデシメーションのうちの少なくとも１つを行うステップを含み得る。
前記センサデータを前記アプリケーションに伝達するステップは、前記バッファに蓄積されたセンサのデータ量が前記アプリケーションによってリクエストされたデータ量を満たした場合、前記バッファに格納された前記センサデータを前記アプリケーションに伝達するステップを含み得る。
【０００６】
上記目的を達成するためになされた本発明の一態様によるデータ管理装置は、アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいて該アプリケーションのためのバッファを割り当てるバッファ管理デバイスと、前記リクエスト情報に対応するセンサデータを前記バッファに格納するセンサ管理デバイスと、前記バッファに格納された前記センサデータを前記アプリケーションに伝達するプロセッシングデバイスと、を備える。
【０００７】
前記データ管理装置は、前記プロセッシングデバイスによって実行される命令語を格納するメモリを更に含み得る。
前記リクエスト情報は、前記アプリケーションによってリクエストされるデータの種類、前記データに必要な加工の種類、及び前記アプリケーションによってリクエストされるデータ量に関する情報を含み得る。
前記センサ管理デバイスは、センサの特性情報及び前記リクエスト情報に基づいて前記リクエスト情報に対応するセンサデータを前記バッファに格納し得る。
前記バッファは、同一種類のセンサデータを格納する少なくとも１つのライン及び異なる種類のセンサデータを格納する少なくとも１つのチャネルを含み得る。
前記バッファは、第１センサによって生成された第１センサデータを格納するための第１バッファ、及び第２センサによって生成された第２センサデータを格納するための第２バッファを含み得る。
前記バッファ管理デバイスは、前記第１バッファ及び前記第２バッファを同期化させ得る。
前記プロセッシングデバイスは、前記センサデータに基づいて２次データを生成する仮想のセンサを生成し得る。
前記データ管理装置は、前記センサデータを処理するための前記アプリケーションの実行時間及び前記アプリケーションの実行時間制限に基づいて前記プロセッシングデバイスの動作速度を制御する速度制御デバイスを更に含み得る。
前記プロセッシングデバイスは、前記リクエスト情報に基づいて前記センサデータを加工し得る。
【０００８】
上記目的を達成するためになされた本発明の他の態様によるデータ管理方法は、測定されたセンサデータに基づいて２次データを生成する仮想のセンサを生成するステップと、前記２次データをリクエストするアプリケーションのためのバッファを割り当てるステップと、前記２次データを前記バッファに格納するステップと、前記バッファに格納された前記２次データを前記アプリケーションに伝達するステップと、を有する。
【０００９】
前記仮想のセンサは、前記測定されたセンサデータをリクエストする異なるアプリケーションの出力に基づいて前記２次データを生成し得る。
【００１０】
上記目的を達成するためになされた本発明の一態様による電子装置は、生体信号に関するセンサデータを出力するセンサと、前記センサデータに基づいてアプリケーションを介してユーザに生体情報を提供するデータ管理装置と、を備え、前記データ管理装置は、アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいて該アプリケーションのためのバッファを割り当てるバッファ管理デバイスと、前記リクエスト情報に対応するセンサデータを前記バッファに格納するセンサ管理デバイスと、前記バッファに格納された前記センサデータを前記アプリケーションに伝達するプロセッシングデバイスと、を含む。
【００１１】
前記電子装置は、前記プロセッシングデバイスによって実行される命令語を格納するメモリを更に含み得る。
【００１２】
上記目的を達成するためになされた本発明の更なる態様によるデータ管理方法は、複数のセンサからセンサの特性情報を受信するステップと、複数のアプリケーションから各々のアプリケーションのリクエスト情報を受信するステップと、前記センサの特性情報及び前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションのための１つ以上のバッファを割り当てるステップと、前記複数のセンサから受信されたセンサデータを前記バッファに格納するステップと、前記バッファに格納された前記センサデータを前記複数のアプリケーションの各々にそれぞれ伝達するステップと、を有する。
【００１３】
前記センサデータを前記バッファに格納するステップは、前記センサの特性情報及び前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションのうちのいずれかを前記センサデータを引き受けるアプリケーションとして決定するステップと、前記センサデータを前記アプリケーションのためのバッファに格納するステップと、を含み得る。
前記データ管理方法は、前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションの各々に対する加工チェーンを生成するステップと、前記各々に対する加工チェーンを用いて前記各々のアプリケーションのリクエスト情報に対応するセンサデータを加工するステップと、を更に含み、前記センサデータを前記バッファに格納するステップは、前記加工されたセンサデータを前記各々のアプリケーションのリクエスト情報に対応して選択されたバッファに格納するステップを含み得る。
前記複数のアプリケーションのための１つ以上のバッファを割り当てるステップは、前記各々のアプリケーションのリクエスト情報に基づいて前記複数のアプリケーションの各々のためのバッファタイプを決定するステップを含み、前記バッファタイプは、前記バッファに含まれる同一種類のセンサデータを格納するライン及び異なる種類のセンサデータを格納するチャネルの数に基づいて決定され得る。
【００１４】
上記目的を達成するためになされた本発明の他の態様によるデータ管理装置は、センサデータに基づいて２次データを生成する仮想のセンサを生成するセンサ管理デバイスと、前記２次データをリクエストするアプリケーションのためのバッファを割り当てるバッファ管理デバイスと、前記バッファに格納された前記２次データを前記アプリケーションに伝達するプロセッシングデバイスと、を備える。
【００１５】
前記センサデータは、生体信号を示し得る。
前記仮想のセンサは、前記センサデータをリクエストする異なるアプリケーションの出力に基づいて前記２次データを生成し得る。
前記データ管理装置は、前記プロセッシングデバイスによって実行される命令語を格納するメモリを更に含み得る。
前記仮想のセンサは、前記センサデータに基づいて、他の２次データを生成する異なる仮想のセンサから受信された該他の２次データから前記２次データを生成し得る。
【発明の効果】
【００１６】
本発明のデータ管理方法及び装置によると、バッファに異なる種類のデータを格納するマルチチャネルを適用することによって、同一のセンサデータに様々な属性を付与することができる。また、アプリケーションのリクエスト情報によりバッファのタイプを特定することによってアプリケーションのデータ管理が容易になり、アプリケーションの設計に役立つ。更に、アプリケーションに用いられるデータを統合的に管理することで、アプリケーションの設計及び動作が容易になり、アプリケーションの実行のための電力リソースの消費を節減することができる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態によるデータ管理装置の動作過程を示すブロック図である。
【図２】一実施形態によるセンサデータの加工及び格納過程を示すブロック図である。
【図３】一実施形態によるバッファの割当及びデータの伝達過程を示すブロック図である。
【図４】一実施形態によるバッファの構造を示す図である。
【図５】一実施形態による同期化過程を示す図である。
【図６】一実施形態によるデータ保全過程を示す図である。
【図７】一実施形態による仮想のセンサを生成する過程を示す図である。
【図８】一実施形態によるプロセッサの速度を制御する過程を示す図である。
【図９】一実施形態によるデータ管理装置を示すブロック図である。
【図１０】一実施形態によるプロセッサの構造を示すブロック図である。
【図１１】一実施形態による電子装置を示す図である。
【図１２】一実施形態によるデータ管理方法を示す動作フローチャートである。
【図１３】他の実施形態によるデータ管理方法を示す動作フローチャートである。
【図１４】更なる実施形態によるデータ管理方法を示す動作フローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。各図面に提示する同一の参照符号は同一の部材を示す。本明細書で第１又は第２などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は１つの構成要素を他の構成要素から区別する目的のみに解釈される。例えば、第１構成要素は第２構成要素と命名され、同様に第２構成要素は第１構成要素に命名される。
【００１９】
図１は、一実施形態によるデータ管理装置の動作過程を示すブロック図である。本実施形態によるデータ管理装置１１０は、アプリケーション１３０のリクエスト事項に適するセンサデータをアプリケーション１３０に提供する。データ管理装置１１０は、メモリにアプリケーション１３０の各々のためのバッファを割り当てて、センサ１２０から受信したセンサデータをバッファに格納する。データ管理装置１１０は、バッファにアプリケーション１３０がリクエストしたレベルのセンサデータが収集されると、バッファに格納されたセンサデータをアプリケーション１３０に伝達する。
【００２０】
一実施形態によると、データ管理装置１１０、センサ１２０、及びアプリケーション１３０は、ハードウェアモジュール又はソフトウェアモジュールで電子装置に搭載される。電子装置は。スマートフォン、タブレットＰＣ、ノート型パソコンのようなポータブルデバイスや、スマートウォッチ、スマートバンド、スマートウェアのようなウェアラブルデバイスである。センサ１２０はユーザの生体信号を測定し、アプリケーション１３０は生体信号に基づいてユーザに身体の状態に関する情報を提供する。
【００２１】
データ管理装置１１０は、アプリケーション１３０のリクエスト情報に基づいてアプリケーション１３０のリクエスト事項を把握する。即ち、アプリケーション１３０は、リクエスト情報によって自身が所望するデータを特定し、これをデータ管理装置１１０に知らせる。リクエスト情報は、アプリケーション１３０によってリクエストされるデータの種類、データに必要な加工の種類、及びデータ量に関する情報を含む。データの種類は、データがどのようなセンサから出力されるかを示す。アプリケーション１３０は、データを受信しようとするセンサのデータの種類を特定する。データ量は、データをある程度格納した後に伝達する量を示す。アプリケーション１３０はデータ量によって１回に伝達する量を特定する。データ量は、バッファ当たりのサンプルの個数又はバッファ当たりのサンプルの大きさで示される。アプリケーション１３０は、初期にリクエスト情報をデータ管理装置１１０に登録し、その後リクエスト情報に変動がある時にリクエスト情報を更新する。
【００２２】
データ管理装置１１０は、リクエスト情報に基づいてメモリにアプリケーション１３０の各々のためのバッファを割り当て、アプリケーション１３０が所望するデータを当該バッファに格納する。例えば、アプリケーションＡＰＰ１が加速度情報をリクエストすると、データ管理装置１１０は、加速度センサから受信した加速度データをアプリケーションＡＰＰ１のためのバッファに格納してアプリケーションＡＰＰ１に提供する。
【００２３】
データ管理装置１１０は、センサ１２０の特性情報に基づいてリクエスト情報に対応するセンサデータを識別する。特性情報は、センサの種類、センサのサンプリングレート、及びセンサの解像度のうちの少なくとも１つを含む。データ管理装置１１０は、アプリケーション１３０のリクエスト情報及びセンサ１２０の特性情報に基づいて、特定アプリケーションのリクエスト情報に対応するセンサデータを特定アプリケーションのためのバッファに格納する。データ管理装置１１０は、特定アプリケーションがリクエストした量のセンサデータが収集されると、センサデータを特定アプリケーションに伝達する。バッファに格納されたセンサデータの伝達は、バッファの伝達及びセンサデータが格納されたバッファのアドレスを示すポインタなどの情報の伝達を含む。
【００２４】
センサ１２０はセンサＳ１〜センサＳｍを含む。センサ１２０は、データ管理装置１１０の内部及び外部の様々な対象を検出する。例えば、センサ１２０は、プロセッサ温度を検出するセンサ、バッテリの充電状態（Ｓｔａｔｅ  ｏｆ  Ｃｈａｒｇｅ：ＳｏＣ）を検出するセンサ、心電図（ｅｌｅｃｔｒｏｃａｒｄｉｏｇｒａｍ：ＥＣＧ）センサ、脈波（ｐｈｏｔｏｐｌｅｔｈｙｓｍｏｇｒａｍ：ＰＰＧ）センサ、インピーダンスセンサ、加速度センサ、及び傾きセンサのうちの少なくとも１つを含む。センサ１２０は、様々なデジタルインターフェースを介してデータ管理装置１１０のプロセッサと通信する。センサ１２０の各々は、センサデータを出力してセンサデータをデータ管理装置１１０に伝達する。
【００２５】
アプリケーション１３０は、アプリケーションＡＰＰ１〜アプリケーションＡＰＰｍを含む。アプリケーション１３０は、センサデータに基づいてユーザに様々な情報を提供する。例えば、アプリケーション１３０は、ユーザの生体信号に基づく情報を提供する。アプリケーション１３０は、リクエスト情報によって自身が所望するデータを特定することで、データ管理装置１１０から自身が所望するデータが提供される。データ管理装置１１０は、リクエスト情報に対応するセンサデータを識別してアプリケーション１３０に提供する。データ管理装置１１０は、アプリケーション１３０の各々のための専用バッファを割り当て、リクエスト情報に対応するセンサデータを当該バッファに格納する。
【００２６】
データ管理装置１１０によってアプリケーション１３０が用いるデータが統合的に管理されることによって、アプリケーション１３０の設計及び動作が容易になり、アプリケーション１３０の実行のための電力のようなリソースの消費を節減することができる。例えば、データ管理装置１１０は、アプリケーション１３０の実行時間制限を考慮してプロセッサの速度を調整することで、アプリケーション１３０の実行のために消費される電力を低下させる。
【００２７】
一実施形態によると、データ管理装置１１０は、センサデータに基づいて２次データを生成する仮想のセンサを生成する。２次データは、センサデータによって追加的に生成されたデータであり、センサデータが示す情報が変形された情報を含む。従って、２次データは、加工していないセンサデータの分析及び処理によって生成される。２次データは、センサ１２０によって出力されるセンサデータに対する一定の演算に基づいて生成される。例えば、加速度センサ、脈波センサ、及び心電図センサのセンサデータに基づいて血圧データを生成する血圧センサが生成される。仮想のセンサは、実存するセンサ１２０と区分され、データ管理装置１１０又はデータ管理装置１１０を含む電子装置のメモリにソフトウェアモジュールの形態で格納される。仮想のセンサに関するより具体的な内容は後述する。
【００２８】
一実施形態によると、データ管理装置１１０は、アプリケーション１３０のリクエストによりセンサデータを加工する。例えば、データ管理装置１１０は、センサデータから雑音を除去し、雑音が除去されたセンサデータをバッファに格納する。また、データ管理装置１１０は、アプリケーション１３０が複数のセンサからデータをリクエストすると、複数のセンサから受信したデータを同期化する。センサデータの加工及び同期化に関しては後述する。
【００２９】
図２は、一実施形態によるセンサデータの加工及び格納過程を示すブロック図である。図２を参照すると、センサ２１０はセンサデータを出力し、バッファ２２０は加工されたセンサデータを格納する。アプリケーションはリクエスト情報によって特定センサデータに対する加工をリクエストする。例えば、アプリケーションは、未加工の第１センサデータ及び加工された第２センサデータをリクエストする。一例として、アプリケーションは、加速度データ及び心電図データを用いてユーザの動きがない場合にのみユーザの心電図を測定する。ここで、加速度データは補助的に活用されるため、加速度データのリクエスト量は心電図データに比べて相対的に少ない。従って、アプリケーションは、加速度データに対して１／２のデシメーション（ｄｅｃｉｍａｔｉｏｎ）を行うことをリクエストする。センサデータに対する加工は、フィルタリング、遅延、差分、補間、及びデシメーションを含む。センサデータには複数の加工プロセスが適用される。また、複数の加工プロセスはセンサデータに対して様々な順序で適用される。センサデータに対する加工プロセスはアプリケーション毎に管理される。本明細書において、特定センサデータに適用される加工プロセスを加工チェーン（ｃｈａｉｎ）と称する。加工チェーンは、アプリケーションがリクエストするセンサデータ毎に生成される。例えば、アプリケーションの登録によりアプリケーションのためのバッファが割り当てられ、当該バッファのための加工チェーンが生成される。
【００３０】
図３は、一実施形態によるバッファの割当及びデータの伝達過程を示すブロック図である。図３は、第１アプリケーションのために割り当てられたバッファ３５０及び第２アプリケーションのために割り当てられたバッファ３６０〜３９０を示す。バッファ３５０には、センサ３１０の未加工のセンサ３１０のセンサデータが格納される。バッファ３６０には加工されたセンサ３１０のセンサデータが格納され、バッファ３７０〜３９０には加工されたセンサ３２０のセンサデータが格納される。バッファ３７０〜３９０に格納されるセンサデータに対する加工はそれぞれ異なる。例えば、バッファ３７０にはデシメーションが適用されたセンサ３２０のセンサデータが格納され、バッファ３８０にはフィルタリングが適用されたセンサ３２０のセンサデータが格納され、バッファ３９０には遅延が適用されたセンサ３２０のセンサデータが格納される。上述したように、各々のアプリケーションがリクエストするデータの種類及びデータに必要な加工の種類はリクエスト情報によって特定される。
【００３１】
図４は、一実施形態によるバッファの構造を示す図である。図４は、第１アプリケーションのために割り当てられた第１バッファ及び第２アプリケーションのために割り当てられた第２バッファを示す。第１バッファは第１ライン４３０及び第２ライン４４０を含み、第２バッファは第１チャネル４５０、第２チャネル４６０、第３チャネル４７０、及び第４チャネル４８０を含む。第１バッファは第１アプリケーションにセンサデータを提供し、第２バッファは第２アプリケーションにデータを提供する。
【００３２】
第１ライン４３０と第２ライン４４０とは交互にデータを格納及び伝達する。即ち、第１時間区間で第１ライン４３０はセンサ４１０から受信したデータを格納し、第２ライン４４０は第２ライン４４０に格納されたデータをアプリケーションに伝達する。また、第２時間区間で第１ライン４３０は第１ライン４３０に格納されたデータをアプリケーションに伝達し、第２ライン４４０はセンサ４２０から受信したデータを第２ライン４４０に格納する。バッファに同一種類のデータを格納するマルチラインを適用することによってデータ送信の遅延及びデータの損失を防止する。
【００３３】
第１チャネル４５０には加工されたセンサ４１０のセンサデータが格納され、第２チャネル４６０〜第４チャネル４８０には加工されたセンサ４２０のセンサデータが格納される。第１チャネル４５０〜第４チャネル４８０に格納されたセンサデータに対する加工は、それぞれ異なる。例えば、第１チャネル４５０には、デシメーションが適用されたセンサ３２０のセンサデータが格納される。デシメーションにより第１チャネル４５０には他のチャネル４６０〜４８０に比べて少ない数のサンプルが格納される。また、第２チャネル４６０にはフィルタリングが適用されたセンサ４２０のセンサデータが格納され、第３チャネル４７０には差分が適用されたセンサ４２０のセンサデータが格納され、第４チャネル４８０には遅延が適用されたセンサ４２０のセンサデータが格納される。バッファに異なる種類のデータを格納するマルチチャネルを適用することによって、同一のセンサデータに様々な属性を付与することができる。
【００３４】
一実施形態によると、リクエスト情報は、アプリケーションによってリクエストされるバッファのタイプに関する情報を含む。即ち、アプリケーションは、リクエスト情報によって所望するバッファのタイプを特定する。例えば、アプリケーションはリクエスト情報によってマルチライン又はマルチチャネルのバッファの割り当てをリクエストする。また、アプリケーションは、リクエスト情報によって所望するラインの数と所望するチャネルの数を特定する。リクエスト情報によりバッファのタイプを特定することによってアプリケーションのデータ管理が容易になり、アプリケーションの設計に役立つ。
【００３５】
図５は、一実施形態による同期化過程を示す図である。図５は、第１センサデータが格納されるタイミング及び第２センサデータが格納されるタイミングを示す。第１センサデータは第１バッファに格納され、第２センサデータは第２バッファに格納される。２つのセンサが同一のサンプリングレートを有する場合にも、クロックドリフト（ｃｌｏｃｋ  ｄｒｉｆｔ）などの様々な要因によって２つのセンサの実際のサンプリングレートに差が発生する可能性がある。データ管理装置は、このようなサンプリングレートの差を補正することによって２つのセンサを同期化する。データ管理装置は、予め設定された比率を超過するデータのサンプルを捨てる（ｄｉｓｃａｒｄ）ことによってサンプリングレートの差を補正する。例えば、アプリケーションが同じ比率の第１センサデータと第２センサデータとをリクエストする場合、データ管理装置は、第１バッファと第２バッファとに同じ比率のデータが格納された後、第１バッファ又は第２バッファに受信されたデータを捨てる。第１センサの実際のサンプリングレートが第２センサの実際のサンプリングレートよりも速い場合、データ管理装置は、第１バッファに予め設定された比率に対応する大きさのデータが格納された後、第２バッファに予め設定された比率に対応する大きさのデータが格納されるまで第１バッファに受信されたデータを捨てる。
【００３６】
図５において、ｔ１の前まで、第１センサデータは７回受信され、第２センサデータは５回受信される。従って、ｔ１で、第１バッファには７個のサンプル５１０が格納され、第２バッファには５個のサンプル５２０が格納される。また、ｔ１とｔ２との間に第１センサデータ及び第２センサデータが両方とも２回受信される。従って、ｔ２で、第１バッファには既に格納された７個のサンプル５３０以外に２つの超過サンプル５４０が発生し、第２バッファには合計７個のサンプル５５０が格納される。アプリケーションが１：１の比率の第１センサデータと第２センサデータとをリクエストした場合、データ管理装置は同期化のために１：１の比率を超過するサンプル５４０を捨てる。従って、アプリケーションは１：１の比率で同期化されたセンサデータを取得する。
【００３７】
ｔ２とｔ３との間にサンプル５３０及びサンプル５５０がアプリケーションに伝達される。アプリケーションは、ｔ２とｔ３との間にサンプル５３０及びサンプル５５０を用いて必要な動作を行う。アプリケーションの動作が実行される間に第１バッファ及び第２バッファに受信されたサンプルは捨てられる。即ち、タイミング５６０で受信されたサンプルは捨てられる。ｔ３でデータの受信が再開される。ｔ３の後に受信された第１センサデータは第１バッファに格納され、ｔ３の後に受信された第２センサデータは第２バッファに格納される。データの流失は追加バッファにより防止される。例えば、上述したマルチラインによってデータの流失を防止する。
【００３８】
図６は、一実施形態によるデータ保全過程を示す図である。図６は、第１センサデータが格納されるタイミング及び第２センサデータが格納されるタイミングを示す。データの保全のために上述したデュアルラインを有するバッファを用いる。第１センサデータは第１−１バッファに格納され、第１−２バッファは余分の格納空間として活用される。また、第２センサデータは第２−１バッファに格納され、第２−２バッファは余分の格納空間として活用される。
【００３９】
例えば、第１センサの実際のサンプリングレートが第２センサの実際のサンプリングレートよりも速い場合、第１−１バッファに予め設定された比率に対応する大きさのデータが格納された後、第２−１バッファに予め設定された比率に対応する大きさのデータが格納される迄第１−１バッファに受信されたデータを余分のバッファである第１−２バッファに格納する。
【００４０】
アプリケーションが１：１の比率の第１センサデータと第２センサデータとをリクエストした場合を仮定する。アプリケーションは、第１センサデータ及び第２センサデータをそれぞれ少なくともバッファの大きさだけリクエストする。図６において、ｔ１の前迄第１センサデータは７回受信され、第２センサデータは５回受信される。従って、ｔ１で第１−１バッファは７個のサンプル６１０を格納し、第２−１バッファは５個のサンプル６２０を格納する。ｔ１とｔ２との間に第１センサデータ及び第２センサデータは両方とも２回受信される。この場合、第１センサから追加で受信されたサンプル６４０は第１−２バッファに格納され、第２センサから受信されたサンプルは第２−１バッファに格納される。そのため、第２バッファには合計７個のサンプル６５０が格納される。
【００４１】
ｔ２で第１センサデータ及び第２センサデータが両方ともバッファの大きさだけ格納されたため、サンプル６３０及びサンプル６５０がアプリケーションに伝達される。ここで、余分のサンプルに該当するサンプル６４０も共にアプリケーションに伝達される。アプリケーションがサンプル６３０、サンプル６４０、及びサンプル６５０を成功的に受信すると、第１−１バッファ、第１−２バッファ、第２−１バッファ、及び第２−２バッファは初期化される。
【００４２】
アプリケーションはサンプル６３０、サンプル６４０、及びサンプル６５０を用いて必要な動作を行う。アプリケーションの動作が実行される間に受信されたサンプルは、第１−１バッファ及び第２−１バッファに格納される。ｔ２とｔ３との間に、第１センサデータは２回受信され、第２センサデータは１回受信される。従って、ｔ３で、第１−１バッファには合計２つのサンプル６６０が格納され、第２−１バッファには１つのサンプル６７０が格納される。余分のバッファを用いることでデータが流失することなく２つ以上のセンサデータが同期化される。
【００４３】
図７は、一実施形態による仮想のセンサを生成する過程を示す図である。図７を参照すると、第１アプリケーションは、センサ７３０のセンサデータに基づいて出力データを生成する。上述したように、センサデータは、バッファに格納された後に所定の周期で第１アプリケーションに伝達され、バッファに格納される前に加工される。第１アプリケーションは未加工センサデータ及び加工センサデータに対する演算に基づいて出力データを生成する。例えば、第１アプリケーションが血圧測定アプリケーションである場合、第１アプリケーションは、加速度センサ、脈波センサ、及び心電図センサのセンサデータに基づいて血圧データを生成する。一実施形態によると、リクエスト情報は出力データの種類に関する情報を含む。第１アプリケーションは、リクエスト情報によって出力データの種類を特定する。例えば、第１アプリケーションは、出力データを血圧データに特定する。データ管理装置は、出力データの種類に基づいて仮想のセンサ７１０を生成する。例えば、データ管理装置は、第１アプリケーションの出力データの種類が血圧データであると特定されたことに応じて仮想の血圧センサを生成する。
【００４４】
仮想のセンサ７１０は、出力データに基づいて２次データを生成する。センサデータは実存するセンサ７３０によって生成されるデータであり、２次データは仮想のセンサ７１０によって生成されるデータである。上述したように、２次データは、センサデータによって追加的に生成されたデータであり、センサデータが示す情報を変形した情報を含む。２次データは、センサデータに対する演算に基づいて生成される。例えば、センサデータに対する所定の演算によって出力データが生成され、出力データに対する所定の加工によって２次データが生成される。２次データのための演算は、第１アプリケーションのような特定のアプリケーションによって実行される。仮想のセンサ７１０はセンサ７３０と区分され、仮想のセンサの設定及び特性は、予め設定された種類のセンサの機能を模写し、物理的にこのようなセンサを含まないメモリモジュールの形態で格納される。
【００４５】
２次データはセンサデータと同一に扱われる。例えば、２次データは、アプリケーションのリクエスト情報によりバッファに格納されてアプリケーションに提供される。仮想のセンサ７１０は、出力データがセンサデータとして扱われるように出力データの属性を変更する。また、仮想のセンサ７１０は出力データに所定の加工を行う。例えば、仮想のセンサ７１０は、出力データが所定のサンプリングレート及び所定の解像度を有するように出力データを加工する。データ管理装置は、アプリケーションのリクエスト情報により仮想のセンサ７１０のサンプリングレート及び解像度を調整する。仮想のセンサ７１０は特性情報を有する。仮想のセンサ７１０の特性情報は、データ管理装置によって適切に調整される。仮想のセンサ７１０の特性情報は、仮想のセンサ７１０の種類、仮想のセンサ７１０のサンプリングレート、及び仮想のセンサ７１０の解像度のうちの少なくとも１つを特定する。
【００４６】
データ管理装置は、仮想のセンサ７１０の特性情報及びアプリケーションのリクエスト情報に基づいて２次データをアプリケーションに提供する。例えば、第２アプリケーションが血圧データをリクエストし、仮想のセンサ７１０が血圧センサとして動作する場合、データ管理装置は、仮想のセンサ７１０の２次データをバッファ７５０によって第２アプリケーションに伝達する。２次データは、他のセンサのセンサデータと共に提供される。例えば、第３アプリケーションは、血圧データ及び加速度データをリクエストする。仮想のセンサ７１０は血圧センサとして動作し、センサ７２０は加速度センサとして動作する。血圧データは、適切な加工が適用された後にバッファ７６０によって第３アプリケーションに伝達される。センサ７２０のセンサデータである加速度データは適切な加工が適用された後にバッファ７７０によって第３アプリケーションに伝達される。データ管理装置は、仮想のセンサ７１０のサンプリングレートを適切に調整することで、仮想のセンサ７１０及びセンサ７２０を同期化する。また、データ管理装置は、仮想のセンサ７１０のための第１バッファとセンサ７２０のための第２バッファとに予め設定された比率に対応するデータが格納された後、第１バッファ又は第２バッファに受信されたデータを捨てることで、仮想のセンサ７１０とセンサ７２０を同期化する。一実施形態によると、仮想のセンサ７１０が他の仮想のセンサにデータを伝達することも可能である。即ち、仮想のセンサ７１０は、他の仮想のセンサに２次データを提供し、２次データが提供された他の仮想のセンサは２次データに基づいて追加的な２次データを生成する。
【００４７】
図８は、一実施形態によるプロセッサの速度を制御する過程を示す図である。上述したように、データ管理装置は、アプリケーションのためのデータを管制するため、特定の目的のためにプロセッサの速度を適切に調整する。プロセッサの速度が減少するほどプロセッサの駆動のための電力消費も減少する。例えば、特定の動作を処理するためのプロセッサの速度を半分に減少すると、当該動作に消費されるエネルギーも半分に減少する。図８を参照すると、プロセッサの速度はレベル１とレベル４との間に調整される。プロセッサの速度は、プロセッサの動作クロックを含む。レベルが高まるほどプロセッサの速度は速くなる一方、電力消費は少なくなる。アプリケーションはプロセッサによって実行される。アプリケーションは、センサデータを処理するための実行時間制限を有する。即ち、センサデータは、実行時間制限内で処理される。ｔ１、ｔ３、ｔ５、ｔ７、及びｔ９はセンサデータがバッファからアプリケーションに伝達された時点を示し、ｔ２、ｔ４、ｔ６、ｔ８、及びｔ１０はアプリケーションによるセンサデータの処理が完了した時点を示す。アプリケーションがバッファの伝達を受けてセンサデータの処理を完了した時間を実行時間と称する。実行時間は、現在の動作速度でアプリケーションがセンサデータを処理するために所要する時間を測定することで取得される。センサデータに対する処理がない場合、プロセッサは基本的にレベル１として動作する。
【００４８】
データ管理装置は、センサデータを処理するためのアプリケーションの実行時間及びアプリケーションの実行時間制限に基づいてプロセッサの動作速度を制御する。データ管理装置は、実行時間が実行時間制限よりも短い場合にプロセッサの動作速度を減少させる。例えば、図８において、ｔ１とｔ２との間の第１実行時間が実行時間制限に比べて短いため、プロセッサの動作速度はレベル４からレベル３に減少される。また、ｔ３とｔ４との間の第２実行時間も実行時間制限に比べて短いため、プロセッサの動作速度はレベル３からレベル２に減少される。
【００４９】
また、データ管理装置は実行時間が実行時間制限を超過する場合、プロセッサの動作速度を増加させる。例えば、図８において、ｔ５とｔ６との間の第３実行時間が実行時間制限を超過するため、プロセッサの動作速度はレベル２からレベル３に増加される。実行時間が実行時間制限を超過して動作速度が増加した場合、プロセッサの動作速度は最終的に増加した動作速度として決定される。データ管理装置は、プロセッサの動作速度を適切な範囲で可能な限り低く設定することによって電力消費を減らす。
【００５０】
図９は、一実施形態によるデータ管理装置を示すブロック図である。図９を参照すると、データ管理装置９００は、メモリ９１０及びプロセッサ９２０を含む。メモリ９１０は、アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいてアプリケーションのためのバッファを割り当てるステップと、リクエスト情報に対応するセンサデータをバッファに格納するステップと、バッファに格納されたセンサデータをアプリケーションに伝達するステップと、を実行するためのプロセッサ９２０によって実行される命令語を格納する。また、メモリ９１０には、アプリケーションのためのバッファが割り当てられる。プロセッサ９２０は、メモリ９１０に格納された命令語によってデータの管理のためのステップを実行する。また、プロセッサ９２０は、様々なアプリケーションを実行する。メモリ９１０及びプロセッサ９２０には上述した内容がそのまま適用されるため、その詳細な説明を省略する。
【００５１】
図１０は、一実施形態によるプロセッサの構造を示すブロック図である。図１０を参照すると、プロセッサ１０００は、センサ管理モジュール又はセンサ管理デバイス１０１０、プロセッシングモジュール又はプロセッシングデバイス１０２０、バッファ管理モジュール又はバッファ管理デバイス１０３０、検出モジュール又は検出デバイス１０４０、及び速度制御モジュール又は速度制御デバイス１０５０を含む。プロセッサ１０００は、センサ管理デバイス１０１０、プロセッシングデバイス１０２０、バッファ管理デバイス１０３０、検出デバイス１０４０、及び速度制御デバイス１０５０を用いて上述したデータ管理を行う。センサ管理デバイス１０１０、プロセッシングデバイス１０２０、バッファ管理デバイス１０３０、検出デバイス１０４０、及び速度制御デバイス１０５０は、それぞれソフトウェアモジュール又は特化したプロセッサのようなハードウェアモジュールで具現される。図１０は、プロセッサ１００が個々に区分された構造的なデバイス又は構成を含むものとして示しているが、その構造的なデバイス又は構成はそれぞれ区分される動作を区分するためのものである。例えば、プロセッサ１０００は、図１０に示した個々の区分された構造的なデバイス又は構成の動作を行うための１つの構造的な構造を有する。
【００５２】
センサ管理デバイス１０１０は、センサを用いてセンサデータが収集されたことを認知する。センサ管理デバイス１０１０は、当該センサデータを引き受けるアプリケーションがあるか否かを確認し、引き受けるアプリケーションがあると、検出デバイス１０４０に当該センサデータを取得するようにリクエストする。検出デバイス１０４０は、センサにセンサデータの送信をリクエストしてセンサデータを受信する。検出デバイス１０４０は、受信したセンサデータをセンサ管理デバイス１０１０に伝達する。センサ管理デバイス１０１０は、リクエスト情報により加工が必要な場合にセンサデータをプロセッシングデバイス１０２０に伝達する。センサ管理デバイス１０１０は、センサデータに加工が必要でない場合に未加工センサデータをバッファ管理デバイス１０３０に直ちに伝達する。センサ管理デバイス１０１０は、上述した仮想のセンサを生成する。仮想のセンサの場合も、プロセッシングデバイス１０２０及びバッファ管理デバイス１０３０などの構成要素は仮想のセンサのための動作を行う。
【００５３】
プロセッシングデバイス１０２０は、リクエスト情報に基づいてアプリケーション毎に加工チェーンを生成する。プロセッシングデバイス１０２０は、センサデータに加工チェーンを適用して加工されたセンサデータを取得し、加工されたセンサデータをバッファ管理デバイス１０３０に伝達する。
【００５４】
バッファ管理デバイス１０３０は、アプリケーション毎にバッファを割り当て、各アプリケーションのために割り当てられたバッファに加工又は未加工センサデータを格納する。バッファ管理デバイス１０３０は、アプリケーションがリクエスト情報によって登録時に明示した量のセンサデータが収集されると、収集されたセンサデータを速度制御デバイス１０５０に通知して現在の時刻を記録し、アプリケーションの実行時間の履歴に基づいて最適なプロセッサ速度を設定する。また、バッファ管理デバイス１０３０は、アプリケーションがリクエスト情報によって登録時に明示した量のセンサデータが収集されると、収集されたセンサデータをアプリケーションに伝達する。バッファ管理デバイス１０３０は、アプリケーションがセンサデータに対する作業を完了すると、バッファを解放する。バッファ管理デバイス１０３０はアプリケーションの作業が完了したことを速度制御デバイス１０５０に通知し、速度制御デバイス１０５０は実行時間を更新して最適なプロセッサ速度を更新する。
【００５５】
図１１は、一実施形態による電子装置を示す図である。図１１を参照すると、電子装置１１００は、プロセッサ１１１０、センサ１１２０、及びメモリ１１３０を含む。プロセッサ１１１０、センサ１１２０、及びメモリ１１３０は、バス１１４０を介して通信する。センサ１１２０は様々なセンサデータを出力する。例えば、センサ１１２０は、ユーザの生体信号に関するセンサデータを出力する。具体的に、センサ１１２０は、プロセッサ１１１０の温度の検出、バッテリの充電状態（Ｓｔａｔｅ  ｏｆ  Ｃｈａｒｇｅ：ＳｏＣ）の検出、ユーザの心電図の検出、ユーザの脈波の検出、ユーザの身体インピーダンスの検出、加速度の検出、傾きの検出などを行う。センサ１１２０は、周知の方式でセンサデータを生成する。上述したように、センサデータはメモリ１１３０に割り当てられたバッファに格納される。
【００５６】
プロセッサ１１１０は、図１〜図１０を参照して上述した少なくとも１つのモジュールを含み、図１〜図１０を参照して上述した少なくとも１つの方法を実行する。プロセッサ１１１０はアプリケーションを実行して電子装置１１００を制御する。アプリケーションを実行するための命令語はメモリ１１３０に格納される。電子装置１１００は、入出力装置（図示せず）によって外部装置（例えば、パーソナルコンピュータ又はネットワーク）に接続されてデータを交換する。
【００５７】
電子装置１１００は、スマートフォン、タブレットＰＣ、ノート型パソコンのようなポータブルデバイス、スマートウォッチ、スマートバンド、スマートウェアのようなウェアラブルデバイスである。電子装置１１００は、センサ１１２０によって測定されたユーザの生体信号に基づいてユーザに身体状態に関する様々な情報を提供する。
【００５８】
図１２は、一実施形態によるデータ管理方法を示す動作フローチャートである。
【００５９】
図１２を参照すると、ステップＳ１２１０において、データ管理装置は、アプリケーションによってリクエストされるデータに関するリクエスト情報に基づいてアプリケーションにバッファを割り当てる。ステップＳ１２２０において、データ管理装置は、リクエスト情報に基づいてセンサデータを加工する。ステップＳ１２３０において、データ管理装置は、リクエスト情報に対応するセンサデータをバッファに格納する。ステップＳ１２４０において、データ管理装置は、バッファを同期化する。ステップＳ１２５０において、データ管理装置は、バッファに格納されたセンサデータをアプリケーションに伝達する。ステップＳ１２６０において、データ管理装置はプロセッサの動作速度を制御する。
【００６０】
図１３は、他の実施形態によるデータ管理方法を示す動作フローチャートである。図１３を参照すると、ステップＳ１３１０において、データ管理装置は、センサデータに基づいて２次データを生成する仮想のセンサを生成する。ステップＳ１３２０において、データ管理装置は、２次データをリクエストする第２アプリケーションに第２バッファを割り当てる。ステップＳ１３３０において、データ管理装置は、２次データを第２バッファに格納する。ステップＳ１３４０において、データ管理装置は、第２バッファに格納された２次データを第２アプリケーションに伝達する。
【００６１】
図１４は、更なる実施形態によるデータ管理方法を示す動作フローチャートである。図１４を参照すると、ステップＳ１４１０において、データ管理装置は、複数のセンサからセンサの特性情報を受信する。ステップＳ１４２０において、データ管理装置は、複数のアプリケーションから各々のアプリケーションのリクエスト情報を受信する。ステップＳ１４３０において、データ管理装置は、センサの特性情報及びアプリケーションのリクエスト情報に基づいて複数のアプリケーションのための複数のバッファを割り当てる。ステップＳ１４４０において、データ管理装置は、複数のセンサから受信されたセンサデータを複数のバッファに格納する。ステップＳ１４５０において、データ管理装置は、複数のバッファに格納されたセンサデータを複数のアプリケーションにそれぞれ伝達する。
【００６２】
上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような他の処理構成も可能である。
【００６３】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【００６４】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【００６５】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００６６】
１１０、９００    データ管理装置
１２０、２１０、３１０、３２０、４１０、４２０、７２０、７３０、１１２０    センサ
１３０    アプリケーション
２２０、３５０、３６０、３７０、３８０、３９０、７５０、７６０、７７０    バッファ
４３０    第１ライン
４４０    第２ライン
４５０〜４８０    第１〜第４チャネル
５１０、５２０、５３０、５４０、５５０、６１０、６２０、６３０、６４０、６５０、６６０、６７０    サンプル
５６０    タイミング
７１０    仮想のセンサ
９１０、１１３０    メモリ
９２０、１０００、１１１０    プロセッサ
１０１０    センサ管理デバイス
１０２０    プロセッシングデバイス
１０３０    バッファ管理デバイス
１０４０    検出デバイス
１０５０    速度制御デバイス
１１００    電子装置
１１４０    バス
【図１】
2017123158.tif 000003
【図２】
2017123158.tif 000004
【図３】
2017123158.tif 000005
【図４】
2017123158.tif 000006
【図５】
2017123158.tif 000007
【図６】
2017123158.tif 000008
【図７】
2017123158.tif 000009
【図８】
2017123158.tif 000010
【図９】
2017123158.tif 000011
【図１０】
2017123158.tif 000012
【図１１】
2017123158.tif 000013
【図１２】
2017123158.tif 000014
【図１３】
2017123158.tif 000015
【図１４】
2017123158.tif 000016