説明

アプリケーションプログラムのプロトコルを再構成する方法及びその装置

【課題】複数の(プロトコル)コンポーネントモジュールのうち、少なくとも1つのコンポーネントモジュールを結合して再構成されたプロトコルを実施する。
【解決手段】複数のコンポーネントモジュールのスタックが格納されたメモリを保持するステップと、アプリケーションプログラムの要求情報及びプロトコルレイヤから取得したシステム情報を分析するステップと、分析結果に基づいて、アプリケーションプログラムのための再構成されたプロトコルと再構成されたプロトコルのための運用パラメータとを含むプロトコル構成情報を決定するステップと、プロトコル構成情報に基づいて、再構成されたプロトコルを実施するのに必要である複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションプログラムのプロトコルを再構成する方法及びその装置に関し、特に、複数のプロトコルコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールを結合して再構成されたプロトコルを実施するアプリケーションプログラムのプロトコルを再構成する方法及びその装置に関する。
【背景技術】
【0002】
近年、スマートフォンなど携帯可能な個人用デジタル機器とセンサの普及により無線通信を用いる様々なアプリケーションプログラム(Application Program)が引き続いて増加している。
このように様々なアプリケーションプログラムは、サービス分野に応じて互いに異なるサービス品質(Quality of Service;以下、QoS)が要求される。
【0003】
アプリケーションプログラムの一例として、latency、reliability(PER)、バッテリーなどの要求事項を有するwearable BAN(Body Area Network)分野のECG(ElectroCardioGraph)、EEG(ElectroEncephaloGraphy)、EMG(ElectroMyoGraphy)などのヘルスケア用のプログラムが挙げられる。
【0004】
また、個人用デジタル機器と接続されたセンサなどは、個人用デジタル機器で駆動されるアプリケーションプログラムによってその数がリアルタイムに変わり得る。
従って、個人用デジタル機器が自身と接続されたセンサ、その他のデジタル機器及びアプリケーションプログラムが要求するサービス品質を提供することができるようリアルタイムで最適のプロトコルを支援する方法が求められているという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、本発明は上記従来のアプリケーションプログラムにおける問題点に鑑みてなされたものであって、本発明の目的は、複数の(プロトコル)コンポーネントモジュールのうち、少なくとも1つのコンポーネントモジュールを結合して再構成されたプロトコルを実施することにある。
また、本発明の他の目的は、少なくとも1つのコンポーネントモジュールを再使用してセンサプラットフォームのメモリ使用を減少させることにある。
また、本発明の他の目的は、コンポーネントモジュールを結合して再構成されたプロトコルを実施することによって、複数のアプリケーションプログラムそれぞれのためのプロトコル開発時間を短縮させることにある。
【課題を解決するための手段】
【0006】
上記目的を達成するためになされた本発明によるアプリケーションプログラムのためのプロトコルを再構成する方法は、アプリケーションプログラムのためのプロトコルを再構成する方法において、複数のコンポーネントモジュールのスタックが格納されたメモリを保持するステップと、前記アプリケーションプログラムの要求情報及びプロトコルレイヤから取得したシステム情報を分析するステップと、前記分析結果に基づいて、前記アプリケーションプログラムのための再構成されたプロトコルと前記再構成されたプロトコルのための運用パラメータとを含むプロトコル構成情報を決定するステップと、前記プロトコル構成情報に基づいて、前記再構成されたプロトコルを実施するのに必要である前記複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップとを有することを特徴とする。
【0007】
前記システム情報を分析するステップは、前記アプリケーションプログラムで、前記アプリケーションプログラムの要求情報に関連するイベントが発生したか否かに基づいて、前記アプリケーションプログラムの要求情報を取得することが好ましい。
前記プロトコル構成情報を決定するステップは、複数のプロトコルそれぞれに対するQoS(Quality of Service)指標を、前記プロトコルレイヤから取得可能な少なくとも1つのパラメータと前記プロトコルの運用パラメータの関数として定義するステップと、前記関数を前記アプリケーションプログラムの要求情報に適するよう数式化するステップとをさらに含むことが好ましい。
前記プロトコル構成情報を決定するステップは、前記アプリケーションプログラムの要求情報によって表示される前記アプリケーションプログラムの要求事項を満足するために、前記再構成されたプロトコルのQoS指標を最適化させる運用パラメータを決定するステップを含むことが好ましい。
【0008】
前記複数のプロトコルそれぞれを分析した結果を含む情報を適用することによって、複数のプロトコルと、要求情報がマッピングされた複数のプロトコルそれぞれの運用パラメータとを格納するプロトコルデータベースを保持するステップをさらに有し、前記プロトコル構成情報を決定するステップは、前記プロトコルデータベースを参照して、前記アプリケーションプログラムの要求情報に対応してマッピングされている複数のプロトコルのいずれか1つのプロトコルと、該いずれか1つのプロトコルの運用パラメータとを前記再構成されたプロトコル及び前記再構成されたプロトコルの運用パラメータとして決定するステップを含むことが好ましい。
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記プロトコル構成情報に基づいて前記接続関係に関連する情報を生成するステップと、前記接続関係に関連する情報を用いて前記再構成されたプロトコルを実施するステップとをさらに含むことが好ましい。
前記複数のコンポーネントモジュールに関連する情報を格納するコンポーネントライブラリーを保持するステップをさらに有することが好ましい。
【0009】
アプリケーションプログラムのためのプロトコルを再構成する装置に接続され前記再構成されたプロトコルを実施する対象装置が前記再構成されたプロトコルを実施するために必要なコンポーネントモジュールが失われているか(missing)否かを判断するステップと、前記判断結果に応じて、前記対象装置から失われていると判断されるコンポーネントモジュールに関する情報を前記コンポーネントライブラリーから取得するステップとをさらに有することが好ましい。
対象装置によって使用されるプロトコルとプロトコルの運用パラメータに関する情報を格納するノードステートデータベースを保持するステップをさらに有することが好ましい。
前記ノードステートデータベース及び前記接続関係を参照して、前記プロトコル構成情報に基づき前記対象装置で前記再構成されたプロトコルを実施するために必要な情報を生成するステップと、前記対象装置で前記再構成されたプロトコルを実施するために必要な情報を前記対象装置に送信するステップとをさらに有することが好ましい。
前記対象装置で前記再構成されたプロトコルを実施するために必要な情報を符号化するステップをさらに有することが好ましい。
【0010】
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記プロトコル構成情報を受信するステップと、前記プロトコル構成情報を解釈するステップとを含むことが好ましい。
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記少なくとも1つのコンポーネントモジュールそれぞれのアドレスを含むテーブルを用いて前記少なくとも1つのコンポーネントモジュールを接続するステップをさらに有することが好ましい。
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記アプリケーションプログラムのための前記再構成されたプロトコルによりアプリケーションプログラムレイヤの下位レイヤを通過するメッセージをフックする(hooking)ステップと、前記フックしたメッセージから取得したプロトコルのIDに基づいて、前記少なくとも1つのコンポーネントモジュールをスイッチングするステップとを含むことが好ましい。
【0011】
また、上記目的を達成するためになされた本発明によるアプリケーションプログラムのためのプロトコルを再構成する方法は、アプリケーションプログラムのためのプロトコルを再構成する方法において、複数のコンポーネントモジュールのスタックが格納されたメモリを保持するステップと、アプリケーションプログラムのためのプロトコルを再構成する装置に接続された対象装置から前記アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報を受信するステップと、前記アプリケーションプログラムの再構成されたプロトコルを実施するために必要な情報に基づいて、前記アプリケーションプログラムの再構成プロトコルを構成するために必要な前記複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップとを有することを特徴とする。
【0012】
前記アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報は、前記アプリケーションプログラムのための再構成されたプロトコルと前記再構成されたプロトコルのための運用パラメータとを含むプロトコル構成情報、前記少なくとも1つのコンポーネントモジュールとの接続関係に関連する情報又は前記プロトコル構成情報及び前記接続関係に関連する情報の内の少なくとも1つを含むことが好ましい。
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記再構成されたプロトコルを実施するために必要な情報を解読するステップをさらに含むことが好ましい。
【0013】
上記目的を達成するためになされた本発明によるコンピュータで読み出し可能な記録媒体は、上記アプリケーションプログラムのためのプロトコルを再構成する方法を実行させるためのプログラムが記録されたことを特徴とする。
【0014】
上記目的を達成するためになされた本発明によるアプリケーションプログラムのためのプロトコルを再構成する装置は、アプリケーションプログラムのためのプロトコルを再構成する装置において、前記アプリケーションプログラムの要求情報及びプロトコルレイヤから取得されたシステム情報を分析する分析部と、前記分析結果に基づいて、前記アプリケーションプログラムのための再構成されたプロトコル及び前記再構成されたプロトコルのための運用パラメータを含むプロトコル構成情報を決定するプロトコルエンジンと、前記プロトコル構成情報により、前記再構成されたプロトコルを実施するために複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するプロトコル実施部と、前記複数のコンポーネントモジュールのスタックが格納されたメモリを含む再構成プロトコルスタックとを有することを特徴とする。
【0015】
また、上記目的を達成するためになされた本発明によるアプリケーションプログラムのためのプロトコルを再構成する装置は、アプリケーションプログラムのためのプロトコルを再構成する装置において、複数のコンポーネントモジュールのスタックが格納されたメモリを含む再構成プロトコルスタックと、前記アプリケーションプログラムのためのプロトコルを再構成する装置と接続した対象装置から受信した前記アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報に基づいて、前記アプリケーションプログラムの再構成されたプロトコルを実施するために必要な前記複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するプロトコル実施部とを有することを特徴とする。
【0016】
また、上記目的を達成するためになされた本発明によるアプリケーションプログラムのためのプロトコルを再構成する方法は、プロトコルレイヤから取得されたシステム情報及びアプリケーションプログラムの要求情報に基づいて前記アプリケーションプログラムの最適プロトコルと該最適プロトコルの運用パラメータの最適値とを決定するステップと、前記アプリケーションプログラムの現在のプロトコルが前記最適プロトコルではない場合、前記アプリケーションプログラムの現在のプロトコルから失われた(missing)少なくとも1つのコンポーネントモジュールと前記アプリケーションプログラムの現在のプロトコルの少なくとも1つのコンポーネントモジュールとを用いて、前記最適プロトコルの前記運用パラメータの値を前記最適プロトコルの前記運用パラメータの最適値に設定して前記アプリケーションプログラムの現在のプロトコルを前記最適プロトコルに再構成するステップとを有することを特徴とする。
【0017】
前記アプリケーションプログラムの現在のプロトコルの少なくとも1つのコンポーネントモジュールと前記アプリケーションプログラムの前記現在のプロトコルから失われた(missing)少なくとも1つのコンポーネントモジュールは、再構成プロトコルスタックのメモリに格納された複数のコンポーネントモジュールに含まれることが好ましい。
前記アプリケーションプログラムの前記現在のプロトコルが前記最適プロトコルであり、前記最適プロトコルの運用パラメータの現在の値が前記最適プロトコルの運用パラメータの最適値ではない場合、前記最適プロトコルの運用パラメータの値を前記運用パラメータの最適値に設定するステップをさらに有することが好ましい。
前記アプリケーションプログラムは、第1装置に接続された第2装置から前記現在のプロトコルを用いて前記第1装置に送信されたデータを処理するために前記第1装置で駆動され、前記最適プロトコルを決定するステップは、前記アプリケーションプログラムの要求情報が変更された時、又は前記第1装置に第3装置が接続された時に、実行されることが好ましい。
【発明の効果】
【0018】
本発明に係るアプリケーションプログラムのプロトコルを再構成する方法及びその装置によれば、複数の(プロトコル)コンポーネントモジュールのうち少なくとも1つのコンポーネントモジュールを結合して再構成されたプロトコルを実施することによって、複数のセンサ、その他のデジタル機器及びアプリケーションプログラムそれぞれで要求されるサービス品質を提供することのできるプロトコルをリアルタイムで再構成することができるという効果がある。
また、少なくとも1つのコンポーネントモジュールを再使用することによって、センサプラットフォームのメモリ使用を減少させることができるという効果がある。
また、複数の(プロトコル)コンポーネントモジュールのうち、少なくとも1つのコンポーネントモジュールを結合して再構成されたプロトコルを実施することによって、複数のアプリケーションプログラムそれぞれのためのプロトコル開発時間を短縮させることができるという効果がある。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置のブロック図である。
【図2】本発明の他の実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置のブロック図である。
【図3】図1に示すプロトコル再構成装置がアプリケーションプログラムのプロトコルを再構成する方法を説明するためのフローチャートである。
【図4】図2に示すプロトコル再構成装置がアプリケーションプログラムのプロトコルを再構成する方法を説明するためのフローチャートである。
【図5】本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置を含むプロトコル再構成システムにおける装置間の動作を説明するための図である。
【図6】本発明の他の実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置を含むプロトコル再構成システムにおける装置間の動作を説明するための図である。
【図7】本発明の一実施形態に係るランタイムソルバーを用いてプロトコルエンジンを実施する方法を説明するための図である。
【図8】本発明の一実施形態に係るプロトコルデータベースを用いてプロトコルエンジンを実施する方法を説明するための図である。
【図9】本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置において能動モードで動作するプロトコル実施部の構成を示すブロック図である。
【図10】図9に示す能動モードでのプロトコル実施部の動作を説明するためのフローチャートである。
【図11】本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置がRFDで動作するときのプロトコル実施部の動作を説明するための図である。
【図12】本発明の一実施形態に係るプロトコル実施部が構成テーブルを用いて再構成されたプロトコルを実施する方法を説明するための図である。
【図13】本発明の一実施形態に係るプロトコル実施部がメッセージフッキングを用いて再構成されたプロトコルを実施する方法を説明するための図である。
【発明を実施するための形態】
【0020】
次に、本発明に係るアプリケーションプログラムのプロトコルを再構成する方法及びその装置を実施するための形態の具体例を図面を参照しながら説明する。
【0021】
しかし、本発明が一実施形態によって制限されたり限定されることはない。また、各図面に提示した同一の参照符号は同一の部材を示す。
【0022】
一般的にプロトコルは、大きくアプリケーションプログラムに特化されたプロトコルと多重−目的(multi−purpose)のためのプロトコルに分類される。
アプリケーションプログラムに特化されたプロトコルでは、B−MAC、X−MACなどのようにセンサネットワークのために提案されたプロトコルが一例として挙げられる。
【0023】
アプリケーションプログラムに特化されたプロトコルの特徴は、特定アプリケーションプログラムには最適に設計されるが、異質のサービス品質(QoS)を要求するアプリケーションプログラムに対しては、その性能が急激に低下することがある。このような適応性の問題を克服するために必要な全てのプロトコルをシステムに搭載する場合、メモリの側面において、効率的ではないという問題が発生する。
【0024】
また、多重目的のためのプロトコルは、プロファイル(profile)によって様々なアプリケーションプログラムを支援することができ、IEEE802.15.4などが一例として挙げられる。
多重目的のためのプロトコルは、プロトコル自体のオーバーヘッドによって性能面において最適のプロトコルではない場合もある。
【0025】
したがって、本発明の実施形態では、アプリケーションプログラムのリアルタイム「in and out」の変化に対して最適のプロトコルを決定することのできるラン−タイム構造(run−time architecture)を提供すると同時に、ユーザの携帯用デジタル機器に提供するアプリケーションプログラムが動的に用いられる環境でサービスの品質を満足させ得る最適のプロトコルと運用条件をリアルタイムに提供することが可能である。
【0026】
図1は、本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置のブロック図である。
図1に示すアプリケーションプログラムのプロトコルを再構成する装置(以下、「プロトコル再構成装置」)100は、能動的にアプリケーションプログラムのプロトコルを再構成する装置である。
【0027】
プロトコル再構成装置100は、
(1)アプリケーションプログラム又は周辺センサノードのための最適のプロトコルを決定し、アプリケーションプログラムのプロトコルを再構成する機能と、
(2)他のプロトコル再構成装置からの要求を受け入れて自身のプロトコルを変形させる機能の全てを行う。
プロトコル再構成装置100で、(1)の機能はプロトコル再構成装置100が能動モードで動作するときに行われ、(2)の機能はプロトコル再構成装置100が受動モードで動作するときに行われる。
上述したような2種類の機能を全て含むプロトコル再構成装置100を「Full Functional Protocol System Device」(以下、「FFD」)と称する。
【0028】
プロトコル再構成装置100は、分析部110、プロトコルエンジン130、プロトコル実施部150、及び再構成プロトコルスタック170を含む。
分析部110は、アプリケーションプログラムの要求情報及びプロトコルレイヤから取得されたシステム情報を分析する。ここで、アプリケーションプログラムの要求情報は、アプリケーションプログラムのQoS(Quality of Service)リクエスト情報だけではなく、周辺センサノードの要求情報も含んでもよく、各アプリケーションプログラムが要求するLatency、PER(Packet Error Rate)、lifetimeなどが一例として含みうる。
【0029】
システム情報は、チャネル状態情報、プロトコル再構成装置100に接続したデバイス(センサノード及びその他のデジタル機器)の数字など、プロトコル再構成装置100がPHYレイヤ又はMACレイヤなどに対してプロトコルレイヤから取得する情報である。
また、分析部110は、取得した情報(アプリケーションプログラムの要求情報及びシステム情報)を予め設定されたフォーマットのメッセージ形式でプロトコルエンジン130に周期的に供給する。
【0030】
プロトコルエンジン130は、分析部110の分析結果に基づいてアプリケーションプログラムのための再構成されたプロトコル、及び再構成されたプロトコルのための運用パラメータを含むプロトコル構成情報を決定する。
すなわち、プロトコルエンジン130は、アプリケーションプログラムのための最適のプロトコル(ここでは、再構成されたプロトコル)及び該当プロトコルのための運用パラメータを決定する。
運用パラメータは、プロトコル再構成装置100が調節権限を有するパラメータである。
プロトコルエンジン130は、エージェント(Agent)とソルバー(solver)から構成され、具体的な構成及び動作については、図7及び図8を参照して詳細に後述する。
【0031】
プロトコル実施部150は、プロトコルエンジン130から受信したプロトコル構成情報により、再構成されたプロトコルを実施するために複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する。
プロトコル実施部150の具体的な動作及び構成については、図9及び図10を参照して詳細に後述する。
【0032】
再構成プロトコルスタック(Reconfigurable Protocol Stack)170は、複数の(プロトコル)コンポーネントモジュールのスタックが格納されたメモリを保持する。
再構成プロトコルスタック170は、プロトコル実施部150で決定された少なくとも1つの接続関係に関する情報を受信して少なくとも1つのコンポーネントモジュールの接続を行う。
(プロトコル)コンポーネントモジュールのスタックは、プロトコルのための機能はコンポーネント化させて、これを接続して必要な機能を実行できるようにする。ここで、コンポーネントモジュールは、粒度(granularity)に応じて伴うオーバーヘッド(overhead)によるトレード−オフ(trade−off)があるため、設計者の意図により様々な形態で構成され得る。
【0033】
センサネットワークのプロトコルは、様々なアプリケーションプログラムの特性に応じてその種類が極めて多様である。
したがって、アプリケーションプログラムごとの最適のプロトコルを構成するために全ての作業を初めから再び始めることは時間と費用面において浪費になりかねない。
したがって、本実施形態ではプロトコルの基本機能をコンポーネント化して複数のコンポーネントモジュールのうち、プロトコルを再構成するために必要なコンポーネントモジュールを最大に再使用できるようにする。
【0034】
FFDのプロトコル再構成装置100が、能動モードで動作するときには、分析部110、プロトコルエンジン130、プロトコル実施部150及び再構成プロトコルスタック170の全てが活性化される。
一方、FFDのプロトコル再構成装置100が、受動モードで動作するときには、図2に示すように、プロトコル実施部150及び再構成プロトコルスタック170だけが活性化され、このときには後述するRFDと同一の動作を行う。
【0035】
図2は、本発明の他の実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置のブロック図である。
図2に示すアプリケーションプログラムのプロトコルを再構成する装置(以下、「プロトコル再構成装置」)200は、受動的にアプリケーションプログラムのプロトコルを再構成する装置である。
【0036】
プロトコル再構成装置200は、自身と接続した対象装置から受信した、アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報を用いて、プロトコル再構成装置200で再構成されたプロトコルを実施するために必要な機能のみを含んでもよい。
すなわち、プロトコル再構成装置200は、他のプロトコル再構成装置からの要求を受け入れて、自身のプロトコルを変形させる機能のみを行い、このような機能を行うプロトコル再構成装置200を「Reduced Functional Protocol System Device」(以下、「RFD」)と称する。
【0037】
プロトコル再構成装置200は、プロトコル実施部210及び再構成プロトコルスタック230を含む。
プロトコル実施部210は、自身と接続した対象装置から受信した、アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報に基づいて、複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する。ここで、アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報は、再構成プロトコルスタック230に格納された複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係に関連する情報を含んでもよい。
【0038】
対象装置は、図1に基づいて説明したように、能動的にアプリケーションプログラムのプロトコルを再構成できるプロトコル再構成装置100、又はこれに類似する機能を有する装置であってもよい。
アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報は、アプリケーションプログラムのための再構成されたプロトコル、再構成されたプロトコルのための運用パラメータを含むプロトコル構成情報、及び少なくとも1つのコンポーネントモジュールの接続関係に関連する情報の内の少なくとも1つを含んでもよい。
【0039】
再構成プロトコルスタック230は、複数のコンポーネントモジュールのスタックが格納されたメモリを含む。
再構成プロトコルスタック230の動作は、図1に示す再構成プロトコルスタック170と同一であるため、該当部分に対する説明を参照する。
【0040】
図3は、図1に示すプロトコル再構成装置がアプリケーションプログラムのプロトコルを再構成する方法をを説明するためのフローチャートである。
プロトコル再構成装置100は、複数のコンポーネントモジュールのスタックが格納されたメモリを保持する(ステップS301)。
プロトコル再構成装置100は、アプリケーションプログラムの要求情報及びプロトコルレイヤから取得したシステム情報を分析する(ステップS303)。
【0041】
ステップS303において、プロトコル再構成装置100は、アプリケーションプログラムで、アプリケーションプログラムの要求情報に関連するイベント(例えば、Associationなど)が発生するか否かに基づいてアプリケーションプログラムの要求情報を取得してもよい。
【0042】
プロトコル再構成装置100は、ステップS303における分析結果に基づいてプロトコル構成情報を決定する(ステップS305)。
プロトコル構成情報は、アプリケーションプログラムのための再構成されたプロトコル及び再構成されたプロトコルのための運用パラメータを含む。
プロトコル再構成装置100は、例えば、ランタイムソルバー(Run−time solver)又はプロトコルデータベース(Protocol Database)を用いてプロトコル構成情報を決定してもよい。
【0043】
プロトコル再構成装置100がランタイムソルバーを用いてプロトコル構成情報を決定する方法は次の通りである。
プロトコル再構成装置100は、複数のプロトコルそれぞれに対するQoS指標をプロトコルレイヤから取得可能なパラメータと運用パラメータの関数で定義する。
その後、プロトコル再構成装置は、定義された関数をアプリケーションプログラムの要求情報に対応するように数式化する。
プロトコル再構成装置100は、アプリケーションプログラムの要求情報を満足するために再構成されたプロトコルのQoS指標を最適化させる運用パラメータを決定する。
【0044】
また、プロトコル再構成装置100がプロトコルデータベースをソルバーとして用いてプロトコル構成情報を決定する方法は次の通りである。
まず、プロトコル再構成装置100は、プロトコルデータベースを保持する。
プロトコルデータベースは、ステップS303における分析結果を含む情報を複数のプロトコルそれぞれに適用して決定した再構成されたプロトコル及び再構成されたプロトコルのための運用パラメータを格納する。
【0045】
その後、プロトコル再構成装置100は、プロトコルデータベースを参照してアプリケーションプログラムの要求情報に対応してマッピングされているプロトコルと該当運用パラメータを再構成されたプロトコル及び運用パラメータとして決定する。
上述したランタイムソルバー又はプロトコルデータベースを用いてプロトコル構成情報を決定する方法については、図7〜図8を参照して詳細に後述する。
【0046】
プロトコル再構成装置100は、プロトコル構成情報により、再構成されたプロトコルを実施するために複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する(ステップS307)。
プロトコル再構成装置100は、自身のプロトコルを再構成するか、そうでなければ、自身と接続した対象装置のプロトコルを再構成するかに応じて動作が変わり得る。
プロトコル再構成装置100がいずれかのプロトコルを再構成するかによって変化する動作については図9〜図11を参照して詳細に後述する。
【0047】
図4は、図2に示すプロトコル再構成装置がアプリケーションプログラムのプロトコルを再構成する方法をを説明するためのフローチャートである。
プロトコル再構成装置200は、複数のコンポーネントモジュールのスタックが格納されたメモリを保持する(ステップS401)。
プロトコル再構成装置200は、自身と接続した対象装置からアプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報を受信する(S403)。
【0048】
アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報は、アプリケーションプログラムのための再構成されたプロトコル、再構成されたプロトコルのための運用パラメータを含むプロトコル構成情報、及び少なくとも1つのコンポーネントモジュールの接続関係に関連する情報のうち少なくとも1つを含んでもよい。
ここで、アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報が符号化された形態で受信されれば、プロトコル再構成装置200は、該当情報を解釈した後に利用してもよい。
【0049】
プロトコル再構成装置200は、再構成されたプロトコルを実施するために必要な情報に基づいて複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する(ステップS405)。
【0050】
図5は、本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置を含むプロトコル再構成システムにおける装置間の動作を説明するための図である。
プロトコル再構成システムは、能動モードで動作するプロトコル再構成装置(例えば、FFD)530と対象装置(例えば、RFD)550を含む。
【0051】
図5に示す要素間の数字(1)〜(7)は、プロトコル再構成装置の各要素間のメッセージ伝達順序を示す。
装置間の動作は次の通りである。
分析部531は、アプリケーションプログラム520から、アプリケーションプログラム又は自身と接続したセンサノードの要求情報及びプロトコルレイヤからシステム情報を取得する(1)。また、分析部531は、再構成プロトコルスタック537からネットワーク情報も取得してもよい(1)。
【0052】
ここで、アプリケーションプログラム520は、プロトコル再構成装置(FFD)530の内部にインストールされたアプリケーションプログラムであるか、又は、対象装置(RFD)550で駆動されるアプリケーションプログラムであってもよい。
【0053】
分析部531は、取得した情報を分析してその結果及び取得した情報をプロトコルエンジン533に提供する(2)。
プロトコルエンジン533は、分析部531における分析結果に基づいてプロトコル構成情報を決定する。
プロトコル構成情報は、アプリケーションプログラム520のための再構成されたプロトコル及び再構成されたプロトコルのための運用パラメータを含む。
【0054】
プロトコルエンジン533は、プロトコル構成情報をプロトコル実施部535に提供する(3)。
プロトコル実施部535は、プロトコル構成情報により再構成されたプロトコルを実施するために再構成プロトコルスタック537に格納された複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する。
ここで、再構成プロトコルスタック537は、複数のコンポーネントモジュールのスタックが格納されたメモリを保持する。
【0055】
プロトコル実施部535は、少なくとも1つのコンポーネントモジュールの接続関係に関連する情報を再構成プロトコルスタック537に送信する(4)。
それにより、再構成プロトコルスタック537は、該当情報を用いて少なくとも1つのコンポーネントモジュールを接続し、これによって再構成されたプロトコルが実施される。
【0056】
この後、再構成プロトコルスタック537は、自身に接続した対象装置(RFD)550にアプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報を送信する(5)。
【0057】
対象装置のプロトコル再構成装置(RFD)550の再構成プロトコルスタック557は、プロトコル再構成装置(FFD)530の再構成プロトコルスタック537が送信した情報(アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報)を受信してプロトコル実施部555に伝達する(6)。
【0058】
プロトコル実施部555は、アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報に基づいて、複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する。
プロトコル実施部555は、接続関係に関連する情報を再構成プロトコルスタック557に通知する(7)。
【0059】
再構成プロトコルスタック557は、接続関係に関連する情報により複数のコンポーネントモジュールのうち、再構成プロトコルを実施するために必要な少なくとも1つのコンポーネントモジュールを接続して対象装置550で再構成プロトコルが実施されるようにする。
【0060】
図6は、本発明の他の実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置を含むプロトコル再構成システムにおける装置間の動作を説明するための図である。
図6に示すプロトコル再構成システムは、能動モードで動作するプロトコル再構成装置(例えば、FFD)630と対象装置(ここでは、受動モードで動作するプロトコル再構成装置(例えば、FFD))650を含む。
【0061】
図6において、能動モードで動作するプロトコル再構成装置(FFD)630の動作は、図5に示すプロトコル再構成装置(FFD)530の動作と同一である。
また、受動モードで動作するプロトコル再構成装置(FFD)650は、プロトコルを決定するために関与する分析部651とプロトコルエンジン653の機能が非活性化されるだけであって、残りのプロトコル実施部655及び再構成プロトコルエンジン657の動作は図5に示すプロトコル再構成装置(RFD)550と同一である。
すなわち、受動モードで動作するプロトコル再構成装置(FFD)650は、機能上、図5に示す対象装置550のRFDと同一に動作する。
したがって、図6で各構成要素の動作は、図5に示す説明を参照する。
【0062】
図7は、本発明の一実施形態に係るランタイムソルバー(run−time solver)を用いてプロトコルエンジンを実現する方法を説明するための図である。
図7においてプロトコルエンジン730は、エージェント731とランタイムソルバー735を含む。
【0063】
エージェント731は、分析部710が取得した情報及び分析した情報を受信し、該当情報に基づいて周期的にランタイムソルバー735の動作をトリガー(trigger)する。さらに、エージェント731は、ランタイムソルバー735の動作による結果をプロトコル実施部750に伝達する。
ランタイムソルバー735は、アプリケーションプログラムのための最適のプロトコル(ここでは、再構成されたプロトコル)が何であるかをリアルタイムに確認し、該当プロトコルのための運用パラメータを決定する。
【0064】
ランタイムソルバー735は、アプリケーションプログラムのための再構成されたプロトコル、再構成されたプロトコルを実施するために必要な少なくとも1つのコンポーネントモジュール、及び再構成されたプロトコルのための運用パラメータなどを決定する。
ランタイムソルバー735を用いて実現したプロトコルエンジン730は、モデリング部7353とアルゴリズム部7356を含む。
【0065】
モデリング部7353では複数のプロトコルそれぞれに対するQoS指標をプロトコルレイヤから取得可能なパラメータ(より詳しくは、分析部710から取得可能なパラメータと運用パラメータ)の関数で定義する。
そして、該当関数をアプリケーションプログラムの要求情報又はアプリケーションプログラムの目的に適するように数式化してモデリングする。
例えば、アプリケーションプログラムの要求情報で「reliability」と「delay」に対する要求事項があって、ユーザがアプリケーションプログラムのエネルギーを最小化することを所望すると仮定する。ここで、プロトコルエンジン730(より詳しくは、モデリング部7353)はアプリケーションプログラムの要求情報に基づいて、数式化されたQoS指標を用いてエネルギーを最小化するための最適化の問題を数式化する。
【0066】
図7に示すモデリング部7353に示す例では、プロトコル再構成装置を含む装置(又は、角度センサノード及びアプリケーションプログラム)のQoS指標がシステム情報(SP、...、SP)、ネットワーク情報(NP、...、NP)、再構成プロトコルスタック(図示せず)を構成する少なくとも1つのコンポーネントモジュール(CO、...、CO)及び再構成されたプロトコルを実施するために選択された少なくとも1つのコンポーネントモジュールから得られる再構成されたプロトコルのための運用パラメータ(CV、...、CV)の関数で数式化されることが分かる。
ここで、QoS指標としては、Energy(E)、Reliability(R)、Delay(D)などが一例として挙げられる。
【0067】
プロトコルエンジン730は、上述した動作によってアプリケーションプログラムの目的によりQoS指標を最適化させる。
プロトコルエンジン730は、アプリケーションプログラムの要求情報、システム情報、ネットワーク情報に対する値を分析部710から取得した後、モデリング部7353によって定義された数式に入力する。
プロトコルエンジン730は、アプリケーションプログラムの要求情報を満足する範囲内で再構成されたプロトコルのQoS指標を最適化させる運用パラメータを決定する。
【0068】
この工程は、アルゴリズム部7356によって行われる。
アルゴリズム部7356は、モデリング部7353によって数式化された最適化の問題により適切なアルゴリズムを選択、又は開発(develop)して、アプリケーションプログラムのプロトコル再構成装置にてこのアルゴリズムを実施する。
図7に示すように、アルゴリズム部7356では整数プログラミング(integer programming)に対する解決方法のうち1つの分枝限定法(branch and bound)アルゴリズムを用いることができる。
【0069】
図8は、本発明の一実施形態に係るプロトコルデータベースを用いてプロトコルエンジンを実施する方法を説明するための図である。
プロトコルデータベースを用いてプロトコルエンジンを実施するときにもエージェント831は、図7と同様に動作してもよい。
すなわち、エージェント831は、分析部810が取得した情報を受信し、該当情報に基づいて周期的にプロトコルデータベース835の動作をトリガー(trigger)する。さらに、エージェント831は、プロトコルデータベース835によって決定された結果をプロトコル実施部850に伝達する。
【0070】
プロトコルエンジン830を実現するためにプロトコルデータベースを用いるときにも、ランタイムソルバー735と同様にモデリング部8353によってモデリングを行う。
ただし、プロトコルデータベース835を用いるときには、アルゴリズム部7356に代って外部パラメータに対する最適のプロトコルと該当プロトコルのための運用パラメータを(アルゴリズムによって)予め算出し、その結果をデータベース8356化することが異なる。
ここで、外部パラメータでは、オフライン上で取得可能なアプリケーションプログラムの要求情報、システム情報及びネットワーク情報などが例として挙げられる。
【0071】
すなわち、分析部810が取得した情報(例えば、アプリケーションプログラムの要求情報)を受信したプロトコルエンジン830ではプロトコルデータベース835を参照して該当情報に対応してマッピングされている最適のプロトコルと該当運用パラメータを確認する。
プロトコルエンジン830は、確認した結果を再構成されたプロトコルと該当運用パラメータでプロトコル実施部850に送信する。
【0072】
プロトコルデータベースを用いてプロトコルエンジン830を実現する方法は、プロトコル再構成装置の算出能力がランタイムソルバーを運用するに不都合な場合に効果的である。
また、プロトコルデータベースを用いてプロトコルエンジン830を実現する方法は、比較的に静的であり単純な環境により運用パラメータや再構成されたプロトコルの運用範囲が広い必要がない場合にも効果的である。
【0073】
図9は、本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置において、能動モードで動作するプロトコル実施部の構成を示すブロック図であり、図10は、図9の能動モードでのプロトコル実施部の動作を説明するためのフローチャートである。
プロトコル実施部950は、プロトコルエンジン930から受信したプロトコル構成情報を解釈し、プロトコル構成情報により再構成されたプロトコルをプロトコルレイヤで実施できるようにする。ここで、プロトコル構成情報は、プロトコルエンジン930が分析部910から受信した情報に基づいて決定したものである。
【0074】
すなわち、プロトコル実施部950は、プロトコル構成情報により再構成されたプロトコルを実施するために、再構成プロトコルスタック970に含まれた複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する。
プロトコル実施部950は、プロトコル再構成装置の役割により異なる動作を行う。すなわち、プロトコル再構成装置がFFDの役割を行うときと、RFDの役割を行うときにプロトコル実施部950の構成要素及びその動作が異なる。
また、プロトコル実施部950は、自分のプロトコルを再構成するために必要な情報を生成するときと、自身と接続した対象装置で再構成されたプロトコルを実施するために必要な情報を生成するときの動作が異なる。
【0075】
図9では、FFDで動作するプロトコル再構成装置900と、RFDで動作するプロトコル再構成装置990の2つのプロトコル再構成装置を示している。
ここで、プロトコル再構成装置990は、プロトコル再構成装置900に接続された対象装置の役割を行う。
【0076】
FFDで動作するプロトコル再構成装置900が自身のプロトコルを再構成する場合、プロトコル実施部950は、プロトコル構成情報に基づいて少なくとも1つのコンポーネントモジュールの間の接続関係に関連する情報を生成し、これによって再構成されたプロトコルが実施されるようにする。
少なくとも1つのコンポーネントモジュールの接続関係に関連する情報は、プロトコルID、コンポーネント情報、及びパラメータ値を含む。もし、プロトコル再構成装置900が必要なコンポーネントモジュールを含んでいない場合には、少なくとも1つのコンポーネントモジュールの接続関係に関連する情報は「ELF format」のコンポーネントモジュールのコードをさらに含んでもよい。
【0077】
プロトコル再構成装置900において、プロトコル実施部950は、実施部エージェント951、プロトコルアップデータ952、コンポーネントライブラリー953及びノードステートデータベース954を含む。また、プロトコル実施部950は、プロトコルパーサー955及びプロトコルエンコーダ956をさらに含んでもよい。
プロトコルパーサー955は、プロトコル再構成装置900がFFDで動作するときには利用されない。
プロトコルエンコーダ956は、プロトコル実施部950が再構成プロトコルスタック970に送信する情報(例えば、少なくとも1つのコンポーネントモジュールの接続関係に関連する情報)を符号化するときのみ用いられる。
【0078】
実施部エージェント951は、プロトコルエンジン930から受信したプロトコル構成情報に基づいて、自身と接続した対象装置(ここでは、プロトコル再構成装置(RFD)990)で再構成されたプロトコルを実施するために必要な情報を生成する。
図10は、実施部エージェント951が行う動作を説明するためのフローチャートを示す。
実施部エージェント951が自分のプロトコルを再構成するために必要な情報を生成するときの動作はステップS1001〜S1003の工程である。
【0079】
実施部エージェント951は、自身のプロトコルを再構成するか否かを判断する(ステップS1001)。
ステップS1001の判断結果、自身のプロトコルを再構成しなければならない必要があれば、実施部エージェント951はプロトコルアップデータ952に関連情報(ここでは、少なくとも1つのコンポーネントモジュールの接続関係に関連する情報)を送信する(ステップS1003)。
少なくとも1つのコンポーネントモジュールの接続関係に関連する情報はプロトコルID(Protocol ID)、少なくとも1つのコンポーネントモジュールに関する情報(Components Info)及びパラメータ値(Parameter Value)であってもよい。
【0080】
もし、再構成プロトコルスタック970が再構成されたプロトコルを構成するために必要な少なくとも1つのコンポーネントモジュールを含んでいなければ、実施部エージェント951は、プロトコルアップデータ952に少なくとも1つのコンポーネントモジュールのコードを送信してもよい。ここで、少なくとも1つのコンポーネントモジュールのコードは、例えば、ELFフォーマットで構成されてもよい。
プロトコルアップデータ952は、少なくとも1つのコンポーネントモジュールの接続関係に関連する情報を用いて再構成されたプロトコルを実施することができる。
図9に示す実線は、プロトコル実施部950が自身のプロトコルを再構成するときのメッセージの流れを示す。
【0081】
ステップS1001の判断結果、自身のプロトコルを再構成する必要がなければ、実施部エージェント951は、自身に接続した対象装置で再構成されたプロトコルを実施するためにノードステートデータベース954を参照する(ステップS1005)。
その前に、実施部エージェント951は、自身と接続した対象装置(ここでは、プロトコル再構成装置990)が使用しているプロトコルと運用パラメータに関する情報を格納するノードステートデータベース(Node state Database)954を保持する。
【0082】
実施部エージェント951は、ノードステートデータベース954を参照してプロトコル構成情報により対象装置990で再構成されたプロトコルを実施するために必要な情報を生成する。実施部エージェント951は、生成された情報を再構成プロトコルスタック970によって対象装置990に送信する。
【0083】
実施部エージェント951は、ノードステートデータベース954を参照して対象装置990が再構成されたプロトコルを実施するために必要な少なくとも1つのコンポーネントモジュールを含むか否かを判断する(ステップS1007)。
ステップS1007において、対象装置990が再構成されたプロトコルを実施するために必要な少なくとも1つのコンポーネントモジュールを含んでいないと判断されれば、実施部エージェント951はコンポーネントライブラリー953を参照する(ステップS1009)。
【0084】
コンポーネントライブラリー953は、再構成されたプロトコルを実施するために用いられる複数のコンポーネントモジュールに関する情報を含む。
実施部エージェント951は、コンポーネントライブラリー953を参照して必要な少なくとも1つのコンポーネントモジュールに関する情報を取得してメモリなどに記録する。ここで、少なくとも1つのコンポーネントモジュールに関する情報はELFフォーマットであってもよい。
この状態で対象装置990に送信する情報(すなわち、再構成されたプロトコルを実施するために必要な情報)の内容が確定される。
【0085】
実施部エージェント951は、対象装置990に送信する情報のロバスト性(robustness)のために、該当情報に対する符号化が必要であるか否かを判断する(ステップS1011)。
実施部エージェント951は、該当情報に対する符号化が必要であると判断されれば、プロトコルエンコーダ956によって該当情報に対する符号化を行う(ステップS1013)。
【0086】
一方、ステップS1011で、もし、該当情報に対する符号化が必要ではないと判断されれば、実施部エージェント951は再構成プロトコルスタック970によって無線で該当情報を送信する(ステップS1015)。
ステップS1013において、符号化された該当情報も同様に再構成プロトコルスタック970によって無線で該当情報を送信する(ステップS1015)。
【0087】
図9に示す点線は、プロトコル実施部950が対象装置990で再構成されたプロトコルを実施するための情報を生成するときのメッセージの流れを示す。
RFDで動作するプロトコル再構成装置990は、プロトコル実施部991及び再構成プロトコルスタック995を含む。
プロトコル実施部991は、情報解釈を行うプロトコルパーサー9911と解釈された結果を行うプロトコルアップデータ9913を含む。
【0088】
RFDで動作するプロトコル再構成装置990のプロトコル実施部991は、FFDで動作するプロトコル再構成装置が受動モードで動作するときのプロトコル実施部とその構成及び動作が一致する。
したがって、以下では図11を参照してRFDで動作するプロトコル再構成装置990のプロトコル実施部991の動作について説明する。
【0089】
図11は、本発明の一実施形態に係るアプリケーションプログラムのプロトコルを再構成する装置がRFDで動作するときのプロトコル実施部1110の動作を説明するための図である。
RFDで動作するプロトコル再構成装置1100は、プロトコルパーサー1113とプロトコルアップデータ1116を含む。プロトコルパーサー1113は、FFDで動作するプロトコル再構成装置がプロトコルエンコーダを用いて情報を符号化した場合にのみ活性化する。
【0090】
RFDで動作するプロトコル再構成装置1100がFFDで動作するプロトコル再構成装置から受信した情報(例えば、プロトコル再構成装置1100でアプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報)は、下位の再構成プロトコルスタック1130を介してプロトコルパーサー1113に伝達される。
プロトコルパーサー1113は、該当情報を解釈してプロトコルアップデータ1116に送信する。
プロトコルアップデータ1116は、解釈された該当情報により再構成されたプロトコルをプロトコル再構成装置1100で実施されるように複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールの接続関係を決定する。
【0091】
プロトコルアップデータ1116は、上述した接続関係に関連する情報を再構成プロトコルスタック1130に送信し、該当情報により少なくとも1つのコンポーネントモジュールを接続する。ここで、プロトコルアップデータ1116が再構成されたプロトコルを実施するために再構成プロトコルスタック1130に送信する情報は、再構成プロトコルスタック1130の実現方法によって変わり得る。
【0092】
図12は、本発明の一実施形態に係るプロトコル実施部が構成テーブルを用いて再構成されたプロトコルを実施する方法を説明するための図である。
符号1210は一般的なコンポーネントモジュール構造を示し、符号1230は構成テーブルを用いて再構成されたプロトコルを実施することを示す。
【0093】
符号1230でプロトコル実施部は、構成テーブル(configuration table)1233を用いて少なくとも1つのコンポーネントモジュールを接続することによって、再構成されたプロトコルをリアルタイムで実施する。
ここで、構成テーブル1233は、再構成されたプロトコルを実施するために必要な少なくとも1つのコンポーネントモジュールそれぞれのアドレスを含む。また、構成テーブル1233は、再構成されたプロトコルを実施するために必要な少なくとも1つのコンポーネントモジュールにアクセスできるようにルーティングする機能も含んでもよい。
【0094】
したがって、該当コンポーネントモジュールを呼び出す同一名の関数が数個のプロトコルに複数存在するとしても、構成テーブル1233は必要なコンポーネントモジュールのアドレスを直ちにアクセスすることができる。
ここで、プロトコルアップデータは、再構成プロトコルスタックに少なくとも1つのコンポーネントモジュールのIDを通知する。
【0095】
図13は、一実施形態に係るプロトコル実施部がメッセージフッキング(message hooking)を用いて再構成されたプロトコルを実施する方法を説明するための図である。
図13に示すように、アプリケーションプログラムレイヤ1310の下位に構成レイヤ1320を備える。
ここで、プロトコル実施部は、構成レイヤ1320によって下位のMACレイヤ1330に送信されるメッセージをフッキングしてプロトコルのIDを取得する。
【0096】
プロトコル実施部は、フッキングしたメッセージから取得したプロトコルのIDに基づいて、再構成プロトコルを実施するための少なくとも1つのコンポーネントモジュールをスイッチングする。
ここで、プロトコルアップデータは、再構成プロトコルスタックに再構成プロトコルに該当するプロトコルIDを通知する。
【0097】
以下は、上述した方法を用いて1台のFFDに接続したRFDが1台から3台に動的に変化する場合にプロトコル再構成システムの動作について説明する。
まず、RFDが1台である場合を<実施形態1>、RFDが3台である場合を<実施形態2>に分類して、各実施形態の動作を詳しく説明する。
<実施形態1>において、1台のFFDではTDMAプロトコルを使用していると仮定する。
【0098】
<実施形態1>
RFD1は、実行中である体温測定のためのアプリケーションプログラムを実行するためにFFDとの接続を試みる。
ここで、RFD1が実行しようとするアプリケーションプログラムの要求情報は下記に示す表1の通りである。
【0099】
【表1】

表1でSampling rateは、データパケットの生成率を示し、Reliabilityはパケット損失率(packet loss rate)を示す。
表1で考慮されるアプリケーションプログラムの要求情報は、Reliabilityとlatencyである。
【0100】
FFDは、アプリケーションプログラムの要求情報を様々な方式によって取得してもよい。例えば、FFDで初期アプリケーションプログラムのセットアップのとき、アプリケーションプログラムに予め格納された要求情報に対するデフォルト値をアクセスしたり、RFD1とのAssociation実行工程で該当情報をin−band signalingのような方法によってRFDから伝達されてもよい。
【0101】
<実施形態1>での分析部の動作
分析部は、プロトコルエンジンでのモデリングに用いられる全てのパラメータ値に関する情報を保持及び/又は更新する。分析部はアプリケーションプログラムの要求情報に関連するイベント(例えば、association)の発生時にアプリケーションプログラムの要求情報を取得する。
その他にも、分析部は、必要な場合にのみPHYレイヤ又はMACレイヤからパケットエラー率(packet error rate)及び接続ノードの数などのような情報を取得する。
【0102】
分析部は、取得した情報を一括的あるいは選別的にプロトコルエンジンに伝達することができ、分析部が取得した情報の一括的あるいは選別的な伝達の有無はプロトコルエンジンとのインターフェースの設計時に決定される。
本実施形態では、アプリケーションプログラムの要求情報及びプロトコル再構成装置に接続したノード(装置またはセンサなど)の数に対するアップデートされた情報が発生する場合のみ分析部がプロトコルエンジンに該当値を伝達するものとする。
【0103】
すなわち、分析部は、アプリケーションプログラムの要求情報及びプロトコル再構成装置に接続したノード(装置またはセンサなど)の数に対するアップデートされた情報が発生する場合にDevice ID、Reliability request、Latency request、number of node形態の情報をプロトコルエンジンに送信する。
したがって、<実施形態1>において分析部は、RFD1に対する要求情報をプロトコルエンジンに送信する。ここで、RFD1に対する要求情報は、例えば、Device ID:1、Reliability request:5、Latency request:n/a、number of node:1であってもよい。
【0104】
<実施形態1>でのプロトコルエンジンの動作
分析部から情報を受信したプロトコルエンジンのエージェントは、情報を受信するときごとに実行されるイベントベースの方法、あるいは一定周期ごとにトリガーさせる周期ベースの方法などを用いてソルバーをトリガーする。
上述したように、ソルバーは複数のプロトコルごとに対するモデリングを行うモデリング部と、複数のプロトコルごとに対するモデルに対する解を取得するアルゴリズム部で構成される。
【0105】
本実施形態では、FFDがX−MAC、Pure−TDMA、及びBase Protocolの3種類のプロトコルを保有していると仮定する。
ここで、Base Protocolは、RFD1とFFDとのassociationのためのコントロール情報の送受信を支援するプロトコルである。
したがって、モデリング部は、実際的なデータ送信の過程を支援するプロトコルのX−MACとPure−TDMAに対するモデリングを行う。
【0106】
X−MACプロトコルの動作は次の通りである。
X−MACは、データを送信しようとする送信装置(sender)がストローブ(strobe)と呼ばれる小さいパケットに受信装置(receiver)のアドレスを記載して送信する。
受信装置は、スリップモード(sleep mode)から一定周期ごとに起動して自身のアドレスが記載されたストローブパケットがあるか否かをチェックする。
もし、自身のアドレスが記載されたストローブパケットがあれば、受信装置はACKパケットを送信装置に送信する。
【0107】
送信装置は、ACKパケットを受信すると同時に即受信装置にデータを送信する。
受信装置は、データを全て受信した後、直ちにスリップモードに入ることなく、一定時間起動して他のノードからのデータを待機する。
受信装置のこのような動作は、送信装置のストローブパケット送信を減らしてエネルギーを節減することができる。
【0108】
受信装置に送信するデータがあるものの、他のノードが送信していることを検出した場合に、送信装置は一定期間をバックオフ(back−off)して待機する。
送信装置は、一定期間が完了すれば、直ちに受信装置にデータを送信する。
ここで、受信装置が起動している時間は最大バックオフ時間よりも大きくなければならない。
【0109】
Pure−TDMAの動作は次の通りである。
Pure−TDMAで受信装置と送信装置との間の送信順序が決定されて、送信するデータはタイムスロット(time slot)に基づいて送信される。
そのために受信装置は、周期的にビーコン信号を送信して自身と送信装置の間の同期を合わせて割り当てられたタイムスロットを通知する。
【0110】
受信装置は、送信装置にデータ送信のために1つのタイムスロットを割り当て、決定したタイムスロットにのみ送信を許諾する。
このように送信のために割り当てられたタイムスロットを活性期間(active period)という。
活性期間の後に、ノードはスリップ期間の間にスリップモードに入る。このスリップモードは、送信装置のビーコン送信時点の直前に終了する。
【0111】
プロトコルエンジンは、上述した2種類のプロトコルを用いて通信を行うときに発生するエネルギー及びQoS指標(ReliabilityとLatency)を予測して数学的モデリングを行う。
モデリング部は、運用パラメータ及びアプリケーションプログラムの要求情報などを用いるが、このときにプロトコルの動作を理解してこれに基づいて各指標を数式化してもよい。
【0112】
例えば、X−MACの場合、パケットを生成する間に必要とされるエネルギーを受信装置のスリップ周期(Rs)と他の送信装置がデータを送信しているとき、待機しなければならないバックオフ期間(Sbo)のエネルギー関数に示してもよい。
したがって、この2つのパラメータがX−MACの運用パラメータであってもよい。アプリケーションプログラムの要求情報に該当するLatency及びReliabilityも受信装置のスリップ周期(Rs)及びバックオフ期間(Sbo)の関数に示してもよい。
【0113】
また、TDMAの場合、エネルギー関数は活性期間及びスリップ期間を構成する総タイムスロットの個数であるNframeの関数に表わしてもよく、ここで、Nframeは運用パラメータであってもよい。
プロトコルエンジンは、各プロトコルごとのモデルに対して運用パラメータの最適値とそれによるエネルギー消耗を比較して最適のプロトコルを選択する。
【0114】
プロトコルエンジンのアルゴリズム部は、例えば、エネルギーの最小化問題をそれぞれ解決して各プロトコルの目的値を比較し、最小のエネルギー費用を有するプロトコルとそのときの運用パラメータを最適プロトコル及び運用パラメータとして決定する。
アルゴリズム部は、プロトコル問題が有している変数特性などに基づいて設計されるべきであるが、本実施形態ではプロトコルが有する運用パラメータが整数値を有すると仮定し、これに対する一般的な解を求める分枝限定法(branch and bound)アルゴリズムを選択してもよい。
【0115】
<実施形態1>でのプロトコル実施部の動作:FFD側
プロトコルエンジンのエージェントは、例えば、最適のプロトコルがX−MACであり、最適の(システム)パラメータがRs:9、Sbo:10msであることをプロトコル実施部の実施部エージェントに伝達する。
実施部エージェントは、FFD自身のプロトコルを再構成するために取得した情報をプロトコルアップデータに伝達する。
プロトコルアップデータは、再構成されたプロトコルを実施するためにプロトコルスタックに関連情報を伝達する。
【0116】
例えば、プロトコルを再構成するためにメッセージフッキング方法を用いると仮定する。
プロトコル実施部のプロトコルアップデータは、まず、関数呼出(function call)によってX−MACプロトコル上の最適のパラメータのRsとSboを調節する該当関数に最適値を設定することを要求する。
そして、応用レイヤ(Application Layer)で作られたデータは、プロトコルフィールドにX−MACに該当するIDが設定された形態のメッセージでプロトコルスタックに伝達される。プロトコル実施部のアップデータは、下位のプロトコルスタックに伝達される直前に該当メッセージをフッキングして最適のプロトコルがX−MACであることを確認し、X−MACのためのコンポーネントモジュールにスイッチングする。
【0117】
また、実施部エージェントは、RFD1で再構成されたプロトコルを実施できるようにする。
実施部エージェントは、まず、現在RFD1のプロトコルの使用状況を把握するためにノードステートデータベースを参照する。RFD1に該当するノードステートデータベース情報は下記に示す表2の通りである。
【0118】
【表2】

【0119】
RFD1で現在に使用中であるプロトコルがTDMAであるため、RFD1でのプロトコル再構成が必要であると判断した実施部エージェントは、RFD1でX−MACを実施するために足りない(プロトコル)コンポーネントモジュールがないかを確認する。
ここで、RFD1がX−MACを保有しているため、X−MACのためのコンポーネントモジュールをもってくる動作は必要としない。したがって、実施部エージェントは再構成プロトコルスタックに、例えば、(最適のプロトコル、パラメータ値)=(X−MAC、(9,10))(Rs、Sboの順)のような情報を送信する。この情報は必要に応じて符号化が可能であり、実施部エージェントは再構成プロトコルスタックによって該当情報がRFD1に無線に送信される。
【0120】
<実施形態1>でのプロトコル実施部の動作:RFD側
RFD1の再構成プロトコルスタックは、関連情報(例えば、X−MAC、(9、10))を受信してRFD1のプロトコル実施部に伝達する。
ここで、関連情報が符号化されていれば、プロトコル実施部は、プロトコルパーサーによってこれを復元してプロトコルアップデータに伝達する。
関連情報が伝達されたプロトコルアップデータの動作は、上述したFFDのプロトコルアップデータの動作と同一である。
【0121】
<実施形態2>
以下は、RFD1と通信していたFFDにRFD2とRFD3が新しく接続要求をした動的な状況におけるシステム動作を説明する。
<実施形態1>と相当の部分が類似するため、相異する点のみを説明する。
【0122】
新たに接続要求したRFD2及びRFD3のアプリケーションプログラム及びその特性は下記に示す表3の通りである。
【表3】

【0123】
<実施形態1>の場合と同様に<実施形態2>でも分析部は3つのRFD(アプリケーションプログラム)に対するサービス品質情報と接続したセンサノードの数などのような情報をプロトコルエンジンに送信する。
【0124】
<実施形態2>でのプロトコルエンジンの動作
プロトコルエンジンは、3つの装置RFD1、RFD2、RFD3のプロトコルを用いるときに消費されるエネルギーを送信装置の3つの装置のバックオフパラメータSbo1、Sbo2、Sbo3と受信装置であるFFDのスリップ期間Rsの関数に表わす。
また、プロトコルエンジンは、各装置のQoS指標も上述したパラメータに表わしてアプリケーションプログラムで要求される要求情報を満足するように数式化する。
TDMAの場合、<実施形態1>と同様に、受信装置であるFFDのパラメータであるNframeの関数に表わす。
【0125】
<実施形態2>でのプロトコル実施部の動作:FFD側
プロトコルエンジンのエージェントは、最適のプロトコルがTDMAであり、最適のパラメータがNFrame:20であることをプロトコル実施部の実施部エージェントに伝達する。
実施部エージェントは、FFD自身のプロトコルを再構成するために取得した情報をプロトコルアップデータに伝達する。プロトコルアップデータは、再構成されたプロトコルを実施するためにプロトコルスタックに関連情報を伝達し、再構成されたプロトコルを行うように命令する。具体的な方法は<実施形態1>と同一である。
【0126】
実施部エージェントは、自身に接続した3つの装置RFD1、RFD2、RFD3に対してプロトコル再構成を行う。
まず、実施部エージェントは、現在の3つの装置それぞれが用いるプロトコルを把握するためにノードステートデータベースを参照する。
【0127】
ノードステートデータベースは下記に示す表4のような情報を保有すると仮定する。
【表4】

【0128】
表4で実施部エージェントは、<実施形態1>と同様に、TDMAを保有しているRFD1とRFD2には(最適プロトコル、パラメータ値)=(TDMA、30)の情報を再構成プロトコルスタックによって送信する。ここで、符号化が必要であれば、該当情報を符号化して送信してもよい。
RFD3は、TDMAを保有していないため、実施部エージェントは、TDMAを実施するために必要なコンポーネントモジュールが何であるかをコンポーネントライブラリーを参照して確認する。
【0129】
例えば、必要なコンポーネントモジュールが3番であると仮定すると、実施部エージェントは(最適プロトコル、パラメータ値)=(TDMA、30)の情報と共に3番のコンポーネントモジュールを再構成プロトコルスタックに送信する。ここで、3番のコンポーネントモジュールはELF形式を有し得る。
【0130】
<実施形態2>でのプロトコル実施部の動作:RFD側
RFD3のプロトコルスタックは、関連情報(ここでは(最適プロトコル、パラメータ値)=(TDMA、30)の情報及び3番のコンポーネントモジュール)を受信してRFD3のプロトコル実施部に伝達する。ここで、関連情報が符号化されていれば、RFD3のプロトコル実施部はプロトコルパーサーを介して少なくとも1つのコンポーネントモジュール(ここでは、3番のモジュール)に関する情報とプロトコル構成情報を復元する。
【0131】
少なくとも1つのコンポーネントモジュールに関する情報に関する情報を確認すると、RFD3のプロトコルアップデータはリンカー(Linker)に受信した3番のコンポーネントモジュールをリンクするというメッセージを送信する。
そして、リンカーは新しいELF objectをリンクし、バイナリ(binary)をコードメモリからロードしてTDMAスタックを設定する。
その後、RFD3のプロトコルアップデータは<実施形態1>のような方法によって(最適プロトコル、パラメータ値)=(TDMA、30)の情報を用いてTDMAプロトコルを設定する。
【0132】
上述した本発明の一実施形態に係るプリケーションプログラムのプロトコルを再構成する方法方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。
コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などの単独又はその組み合わせたものを含んでもよい。
媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。
【0133】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【0134】
100、200 プロトコル再構成装置
110、531 分析部
130、533 プロトコルエンジン
150、210、535、555 プロトコル実施部
170、230、537、557 再構成プロトコルスタック
520 アプリケーションプログラム
530 プロトコル再構成装置(FFD)
550 対象装置(RFD)


【特許請求の範囲】
【請求項1】
アプリケーションプログラムのためのプロトコルを再構成する方法において、
複数のコンポーネントモジュールのスタックが格納されたメモリを保持するステップと、
前記アプリケーションプログラムの要求情報及びプロトコルレイヤから取得したシステム情報を分析するステップと、
前記分析結果に基づいて、前記アプリケーションプログラムのための再構成されたプロトコルと前記再構成されたプロトコルのための運用パラメータとを含むプロトコル構成情報を決定するステップと、
前記プロトコル構成情報に基づいて、前記再構成されたプロトコルを実施するのに必要である前記複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップとを有することを特徴とするアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項2】
前記システム情報を分析するステップは、前記アプリケーションプログラムで、前記アプリケーションプログラムの要求情報に関連するイベントが発生したか否かに基づいて、前記アプリケーションプログラムの要求情報を取得することを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項3】
前記プロトコル構成情報を決定するステップは、複数のプロトコルそれぞれに対するQoS(Quality of Service)指標を、前記プロトコルレイヤから取得可能な少なくとも1つのパラメータと前記プロトコルの運用パラメータの関数として定義するステップと、
前記関数を前記アプリケーションプログラムの要求情報に適するよう数式化するステップとをさらに含むことを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項4】
前記プロトコル構成情報を決定するステップは、前記アプリケーションプログラムの要求情報によって表示される前記アプリケーションプログラムの要求事項を満足するために、前記再構成されたプロトコルのQoS指標を最適化させる運用パラメータを決定するステップを含むことを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項5】
前記複数のプロトコルそれぞれを分析した結果を含む情報を適用することによって、複数のプロトコルと、要求情報がマッピングされた複数のプロトコルそれぞれの運用パラメータとを格納するプロトコルデータベースを保持するステップをさらに有し、
前記プロトコル構成情報を決定するステップは、前記プロトコルデータベースを参照して、前記アプリケーションプログラムの要求情報に対応してマッピングされている複数のプロトコルのいずれか1つのプロトコルと、該いずれか1つのプロトコルの運用パラメータとを前記再構成されたプロトコル及び前記再構成されたプロトコルの運用パラメータとして決定するステップを含むことを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項6】
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記プロトコル構成情報に基づいて前記接続関係に関連する情報を生成するステップと、
前記接続関係に関連する情報を用いて前記再構成されたプロトコルを実施するステップとをさらに含むことを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項7】
前記複数のコンポーネントモジュールに関連する情報を格納するコンポーネントライブラリーを保持するステップをさらに有することを特徴とする請求項6に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項8】
アプリケーションプログラムのためのプロトコルを再構成する装置に接続され前記再構成されたプロトコルを実施する対象装置が前記再構成されたプロトコルを実施するために必要なコンポーネントモジュールが失われているか(missing)否かを判断するステップと、
前記判断結果に応じて、前記対象装置から失われていると判断されるコンポーネントモジュールに関する情報を前記コンポーネントライブラリーから取得するステップとをさらに有することを特徴とする請求項7に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項9】
対象装置によって使用されるプロトコルとプロトコルの運用パラメータに関する情報を格納するノードステートデータベースを保持するステップをさらに有することを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項10】
前記ノードステートデータベース及び前記接続関係を参照して、前記プロトコル構成情報に基づき前記対象装置で前記再構成されたプロトコルを実施するために必要な情報を生成するステップと、
前記対象装置で前記再構成されたプロトコルを実施するために必要な情報を前記対象装置に送信するステップとをさらに有することを特徴とする請求項9に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項11】
前記対象装置で前記再構成されたプロトコルを実施するために必要な情報を符号化するステップをさらに有することを特徴とする請求項10に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項12】
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記プロトコル構成情報を受信するステップと、
前記プロトコル構成情報を解釈するステップとを含むことを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項13】
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記少なくとも1つのコンポーネントモジュールそれぞれのアドレスを含むテーブルを用いて前記少なくとも1つのコンポーネントモジュールを接続するステップをさらに有することを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項14】
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記アプリケーションプログラムのための前記再構成されたプロトコルによりアプリケーションプログラムレイヤの下位レイヤを通過するメッセージをフックする(hooking)ステップと、
前記フックしたメッセージから取得したプロトコルのIDに基づいて、前記少なくとも1つのコンポーネントモジュールをスイッチングするステップとを含むことを特徴とする請求項1に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項15】
アプリケーションプログラムのためのプロトコルを再構成する方法において、
複数のコンポーネントモジュールのスタックが格納されたメモリを保持するステップと、
アプリケーションプログラムのためのプロトコルを再構成する装置に接続された対象装置から前記アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報を受信するステップと、
前記アプリケーションプログラムの再構成されたプロトコルを実施するために必要な情報に基づいて、前記アプリケーションプログラムの再構成プロトコルを構成するために必要な前記複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップとを有することを特徴とするアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項16】
前記アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報は、前記アプリケーションプログラムのための再構成されたプロトコルと前記再構成されたプロトコルのための運用パラメータとを含むプロトコル構成情報、前記少なくとも1つのコンポーネントモジュールとの接続関係に関連する情報又は前記プロトコル構成情報及び前記接続関係に関連する情報の内の少なくとも1つを含むことを特徴とする請求項15に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項17】
前記少なくとも1つのコンポーネントモジュールとの接続関係を決定するステップは、前記再構成されたプロトコルを実施するために必要な情報を解読するステップをさらに含むことを特徴とする請求項15に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項18】
請求項1乃至17のいずれか1項に記載のアプリケーションプログラムのためのプロトコルを再構成する方法を実行させるためのプログラムが記録されたことを特徴とするコンピュータで読み出し可能な記録媒体。
【請求項19】
アプリケーションプログラムのためのプロトコルを再構成する装置において、
前記アプリケーションプログラムの要求情報及びプロトコルレイヤから取得されたシステム情報を分析する分析部と、
前記分析結果に基づいて、前記アプリケーションプログラムのための再構成されたプロトコル及び前記再構成されたプロトコルのための運用パラメータを含むプロトコル構成情報を決定するプロトコルエンジンと、
前記プロトコル構成情報により、前記再構成されたプロトコルを実施するために複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するプロトコル実施部と、
前記複数のコンポーネントモジュールのスタックが格納されたメモリを含む再構成プロトコルスタックとを有することを特徴とするアプリケーションプログラムのためのプロトコルを再構成する装置。
【請求項20】
アプリケーションプログラムのためのプロトコルを再構成する装置において、
複数のコンポーネントモジュールのスタックが格納されたメモリを含む再構成プロトコルスタックと、
前記アプリケーションプログラムのためのプロトコルを再構成する装置と接続した対象装置から受信した前記アプリケーションプログラムのための再構成されたプロトコルを実施するために必要な情報に基づいて、前記アプリケーションプログラムの再構成されたプロトコルを実施するために必要な前記複数のコンポーネントモジュールの内の少なくとも1つのコンポーネントモジュールとの接続関係を決定するプロトコル実施部とを有することを特徴とするアプリケーションプログラムのためのプロトコルを再構成する装置。
【請求項21】
プロトコルレイヤから取得されたシステム情報及びアプリケーションプログラムの要求情報に基づいて前記アプリケーションプログラムの最適プロトコルと該最適プロトコルの運用パラメータの最適値とを決定するステップと、
前記アプリケーションプログラムの現在のプロトコルが前記最適プロトコルではない場合、
前記アプリケーションプログラムの現在のプロトコルから失われた(missing)少なくとも1つのコンポーネントモジュールと前記アプリケーションプログラムの現在のプロトコルの少なくとも1つのコンポーネントモジュールとを用いて、前記最適プロトコルの前記運用パラメータの値を前記最適プロトコルの前記運用パラメータの最適値に設定して前記アプリケーションプログラムの現在のプロトコルを前記最適プロトコルに再構成するステップとを有することを特徴とするアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項22】
前記アプリケーションプログラムの現在のプロトコルの少なくとも1つのコンポーネントモジュールと前記アプリケーションプログラムの前記現在のプロトコルから失われた(missing)少なくとも1つのコンポーネントモジュールは、再構成プロトコルスタックのメモリに格納された複数のコンポーネントモジュールに含まれることを特徴とする請求項21に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項23】
前記アプリケーションプログラムの前記現在のプロトコルが前記最適プロトコルであり、前記最適プロトコルの運用パラメータの現在の値が前記最適プロトコルの運用パラメータの最適値ではない場合、
前記最適プロトコルの運用パラメータの値を前記運用パラメータの最適値に設定するステップをさらに有することを特徴とする請求項21に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。
【請求項24】
前記アプリケーションプログラムは、第1装置に接続された第2装置から前記現在のプロトコルを用いて前記第1装置に送信されたデータを処理するために前記第1装置で駆動され、
前記最適プロトコルを決定するステップは、前記アプリケーションプログラムの要求情報が変更された時、又は前記第1装置に第3装置が接続された時に、実行されることを特徴とする請求項21に記載のアプリケーションプログラムのためのプロトコルを再構成する方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2013−73629(P2013−73629A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2012−212796(P2012−212796)
【出願日】平成24年9月26日(2012.9.26)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】