(57)【特許請求の範囲】
【請求項１】
プロトコルエンティティ及びプロトコルエンティティの処理を実行すべき時刻である処理時間を示すタイマを記憶する記憶部と、
同一時刻にて処理対象となる複数のプロトコルエンティティを同一の第１のタイマに関連付けて前記記憶部に記憶し、前記第１のタイマの処理時間の次の処理時間に処理されるプロトコルエンティティを第２のタイマに関連付けて前記記憶部に記憶し、前記第１のタイマが示す処理時間において、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理を実行する制御部と、を備え、
前記制御部は、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理中に、前記第２のタイマが示す処理時間が過ぎてしまう場合、前記第２のタイマが示す処理時間において、前記第２のタイマに関連付けられたプロトコルエンティティの処理を実行するように制御する、通信装置。
【請求項２】
前記制御部は、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理中に、前記第２のタイマが示す処理時間が過ぎてしまう場合、前記第１のタイマのエンティティの処理を中止し、前記第２のタイマのエンティティ処理のみを行うように制御する、請求項１に記載の通信装置。
【請求項３】
プロトコルエンティティ及びプロトコルエンティティの処理を実行すべき時刻である処理時間を示すタイマを記憶する記憶部を備える通信装置の制御方法であって、
同一時刻にて処理対象となる複数のプロトコルエンティティを同一の第１のタイマに関連付けて前記記憶部に記憶するステップと、
前記第１のタイマの処理時間の次の処理時間に処理されるプロトコルエンティティを第２のタイマに関連付けて前記記憶部に記憶するステップと、
前記第１のタイマが示す処理時間において、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理を実行するステップと、
前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理中に、前記第２のタイマが示す処理時間が過ぎてしまう場合、前記第２のタイマが示す処理時間において、前記第２のタイマに関連付けられたプロトコルエンティティの処理を実行するステップとを含む、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信装置及び通信装置の制御方法に関する。
【背景技術】
【０００２】
３ＧＰＰ（Third Generation Partnership Project）の規格に関連するタイマの管理の技術としては、例えば、特許文献１が知られている。また、３ＧＰＰで規格化されている無線通信方式ＬＴＥ（Long Term Evolution）では、論理チャネル毎に次のタイマが規定されている。
【０００３】
t-PollRetransmit：再送のためにＲＬＣ（Radio Link Control）エンティティの送信側で使用されるタイマ
t-Reordering：下位レイヤでＲＬＣ ＰＤＵ（Protocol Data Unit）損失の検出があった時、ＲＬＣエンティティの受信側で使用されるタイマ
t-StatusProhibit：ＳＴＡＴＵＳ ＰＤＵの送信を禁止するためにＲＬＣエンティティの受信側で使用されるタイマ
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１２８８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の技術では、各種タイマと論理チャネルとは１対１の関係にあった。即ち、論理チャネル毎に全てのタイマの満了を監視しなければならないため、処理負荷が高くなるという問題があった。また、論理チャネル毎に全てのタイマを記憶するため、メモリ使用量が増加してしまうという問題があった。
【０００６】
したがって、かかる点に鑑みてなされた本発明の目的は、複数のプロトコルエンティティを同一のタイマに関連付け、処理負荷及びメモリ使用量を低減することができる通信装置及び通信装置の制御方法を提供することである。
【課題を解決するための手段】
【０００７】
上述した諸課題を解決すべく、第１の発明による通信装置は、
プロトコルエンティティ及びプロトコルエンティティの処理を実行すべき時刻である処理時間を示すタイマを記憶する記憶部と、
同一時刻にて処理対象となる複数のプロトコルエンティティを同一の第１のタイマに関連付けて前記記憶部に記憶し、前記第１のタイマの処理時間の次の処理時間に処理されるプロトコルエンティティを第２のタイマに関連付けて前記記憶部に記憶し、前記第１のタイマが示す処理時間において、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理を実行する制御部と、を備え、
前記制御部は、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理中に、前記第２のタイマが示す処理時間が過ぎてしまう場合、前記第２のタイマが示す処理時間において、前記第２のタイマに関連付けられたプロトコルエンティティの処理を実行するように制御するものである。
【０００８】
また、第２の発明による通信装置は、
前記制御部は、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理中に、前記第２のタイマが示す処理時間が過ぎてしまう場合、前記第１のタイマのエンティティの処理を中止し、前記第２のタイマのエンティティ処理のみを行うように制御するものである。
【０００９】
上述したように本発明の解決手段を装置として説明してきたが、本発明はこれらに実質的に相当する方法、プログラム、プログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
【００１０】
例えば、本発明を方法として実現させた第３の発明による通信装置の制御方法は、
プロトコルエンティティ及びプロトコルエンティティの処理を実行すべき時刻である処理時間を示すタイマを記憶する記憶部を備える通信装置の制御方法であって、
同一時刻にて処理対象となる複数のプロトコルエンティティを同一の第１のタイマに関連付けて前記記憶部に記憶するステップと、
前記第１のタイマの処理時間の次の処理時間に処理されるプロトコルエンティティを第２のタイマに関連付けて前記記憶部に記憶するステップと、
前記第１のタイマが示す処理時間において、前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理を実行するステップと、
前記第１のタイマに関連付けられた前記複数のプロトコルエンティティの処理中に、前記第２のタイマが示す処理時間が過ぎてしまう場合、前記第２のタイマが示す処理時間において、前記第２のタイマに関連付けられたプロトコルエンティティの処理を実行するステップとを含むものである。
【発明の効果】
【００１２】
本発明に係る通信装置及び通信装置の制御方法によれば、複数のプロトコルエンティティを同一のタイマに関連付け、処理負荷及びメモリ使用量を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の一実施形態に係る通信装置の概略構成を示す図である。
【図２】図２は、タイマ及びエンティティの関係を示す図である。
【図３】図３は、タイマ構造体の一例を示す図である。
【図４】図４は、エンティティ構造体の一例を示す図である。
【図５】図５は、タイマ及びエンティティ間のポインタの参照関係を示す図である。
【図６】図６は、図１に示す通信装置の動作フローチャートである。
【発明を実施するための形態】
【００１４】
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明する。
【００１５】
図１は、本発明の一実施形態に係る通信装置の概略構成を示す図である。通信装置１（例えば基地局）は、無線通信方式（例えばＬＴＥ）に対応した通信部１１と、通信装置１全体を制御する制御部１２と、エンティティ及びエンティティの処理時間を示すタイマの情報を記憶する記憶部１３とを備える。なお、エンティティとは、無線通信のプロトコル処理を行う主体（プロトコルエンティティ）であって、例えば、無線レイヤにおけるＲＬＣエンティティやＭＡＣエンティティなどを含むものである。
【００１６】
制御部１２は、同一時刻（同一システムフレーム番号かつ同一サブフレーム番号）に処理対象となるエンティティを同じタイマに関連付けて記憶部１３に記憶する。図２は、タイマ及びエンティティの関係を示す図である。制御部１２は、タイマを親タイマＰＴと子タイマＣＴとに分けて管理している。制御部１２は、常に親タイマＰＴを監視している。親タイマＰＴには、直近の子タイマである子タイマＣＴ１のポインタがセットされており、制御部１２は、親タイマＰＴを監視することによって、直近の子タイマＣＴ１を参照することが可能となる。各子タイマＣＴ１〜ＣＴ３には、同一時刻に処理対象となるエンティティが関連付けられている。例えば、直近の子タイマである子タイマＣＴ１には、エンティティＥＮ１〜ＥＮ３という３つのエンティティが関連付けられている。同様に、子タイマＣＴ２及びＣＴ３には、それぞれの時刻におけるエンティティが関連付けられている。
【００１７】
図３は、親タイマ及び子タイマのデータ構造であるタイマ構造体の一例を示す図である。タイマ構造体Timerは、システムフレーム番号SFNと、サブフレーム番号subframeと、親タイマが直近の子タイマのポインタを記憶するためのfirstTimerPと、次の子タイマのポインタnextTimerPと、最初に実行されるエンティティへのポインタを示すfirstEntityPと、関連付けられているエンティティ数を示すnumOfEntitiesと、処理済みのエンティティ数を示すnumOfUsedEntitiesと、を含む。タイマ構造体Timerは、ポインタnextTimerPによって、単方向のリスト構造となっている。また、システムフレーム番号SFN及びサブフレーム番号subframeにより、ＬＴＥシステム上での時間は一意に特定される。すなわち、ＬＴＥシステム上での現在時刻（現在のシステムフレーム番号及び現在のサブフレーム番号）と、ある子タイマのシステムフレーム番号SFN及びサブフレーム番号subframeとが一致する場合、当該子タイマに関連付けられたエンティティの処理が行われることになる。
【００１８】
図４は、エンティティのデータ構造であるエンティティ構造体Entityの一例を示す図である。エンティティ構造体Entityは、エンティティを識別する番号であるEntityIDと、前のエンティティへのポインタprevEntityPと、次のエンティティへのポインタnextEntityPとを含む。エンティティ構造体は、ポインタprevEntityP及びポインタnextEntityPによって、双方向のリスト構造となっている。
【００１９】
図５は、タイマ構造体及びエンティティ構造体の各ポインタの参照関係を示す図である。親タイマＰＴにおいて、タイマ構造体TimerのポインタfirstTimerPには、直近の子タイマであるＣＴ１のポインタがセットされている。即ち、制御部１２は、親タイマＰＴのポインタfirstTimerPを通じて、直近の子タイマＣＴ１のシステムフレーム番号SFN及びサブフレーム番号subframeを参照することができる。
【００２０】
各子タイマＣＴ１〜ＣＴ３は、図５に示すとおり、タイマ構造体TimerのポインタnextTimerPによって単方向のリスト構造となっている。即ち、子タイマＣＴ１のポインタnextTimerPは子タイマＣＴ２を参照し、子タイマＣＴ２のポインタnextTimerPは子タイマＣＴ３を参照し、子タイマＣＴ３のポインタnextTimerPは子タイマＣＴ１を参照している。また、各子タイマＣＴ１〜ＣＴ３において、タイマ構造体TimerのポインタfirstEntityPには、各子タイマＣＴ１〜ＣＴ３に関連付けられたエンティティのうち、最初に実行されるエンティティへのポインタがセットされている。例えば、子タイマＣＴ１のポインタfirstEntityPには、エンティティＥＮ１のポインタがセットされている。
【００２１】
各エンティティＥＮ１〜ＥＮ３は、図５に示すとおり、エンティティ構造体EntityのポインタprevEntityP及びnextEntityPによって双方向のリスト構造となっている。即ち、エンティティＥＮ１のポインタnextEntityPはエンティティＥＮ２を参照し、エンティティＥＮ２のポインタnextEntityPはエンティティＥＮ３を参照し、エンティティＥＮ３のポインタnextEntityPはエンティティＥＮ１を参照している。また、エンティティＥＮ１のポインタprevEntityPはエンティティＥＮ３を参照し、エンティティＥＮ２のポインタprevEntityPはエンティティＥＮ１を参照し、エンティティＥＮ３のポインタprevEntityPはエンティティＥＮ２を参照している。
【００２２】
図６は、通信装置１の動作フローチャートである。なお、以下のフローチャートの説明において、親タイマＰＴ、子タイマＣＴ及びエンティティＥＮの状態は、図５に示す状態であるものとして説明を行う。
【００２３】
制御部１２は、現在時刻を取得し（ステップＳ１０１）、親タイマＰＴのシステムフレーム番号SFN及びサブフレーム番号subframeとの比較を行う（ステップＳ１０２）。具体的には、制御部１２は、親タイマＰＴのポインタfirstTimerPを通じて直近の子タイマＣＴ１のシステムフレーム番号SFN及びサブフレーム番号subframeを参照し、それぞれが現在時刻（現在のシステムフレーム番号及びサブフレーム番号）と一致するかどうかを判定する。現在時刻と親タイマＰＴが参照する直近の子タイマＣＴ１のシステムフレーム番号SFN及びサブフレーム番号subframeとが一致する場合（ステップＳ１０２のＹｅｓ）、制御部１２は、直近の子タイマＣＴ１の更新処理を開始する（ステップＳ１０３）。まず、制御部１２は、直近の子タイマＣＴ１のポインタfirstEntityPを参照し、子タイマに関連付けられたエンティティＥＮ１の処理を実行する（ステップＳ１０４）。
【００２４】
次に、制御部１２は、子タイマＣＴ１に関連付けられたエンティティ数numOfEntities及び処理済みのエンティティ数numOfUsedEntitiesを参照し、残りエンティティ数の判定を行う（ステップＳ１０５）。残りエンティティ数が１以上である場合（ステップＳ１０５のＹｅｓ）、制御部１２は、子タイマＣＴ１に関連付けられたエンティティの処理中に、処理時間が過ぎてしまう子タイマ（例えば子タイマＣＴ２）が存在するか否かを判断する。かかる子タイマが存在する場合には、制御部１２は、当該子タイマが示す処理時間において、当該子タイマに関連付けられたエンティティの処理を実行するように制御する。具体的には、制御部１２は、まず、現在時刻（現在のシステムフレーム番号及びサブフレーム番号）を取得する（ステップＳ１０６）。次に、制御部１２は、現在時刻より１ｍｓｅｃ先の時間のシステムフレーム番号及びサブフレーム番号と、現在処理中の子タイマＣＴ１の次の子タイマＣＴ２のシステムフレーム番号SFN及びサブフレーム番号subframeとを比較する（ステップＳ１０７）。現在時刻より１ｍｓｅｃ先の時間のシステムフレーム番号及びサブフレーム番号と、子タイマＣＴ２のシステムフレーム番号SFN及びサブフレーム番号subframeとが一致する場合（ステップＳ１０７のＹｅｓ）、制御部１２は、親タイマＰＴのポインタfirstTimerPを次の子タイマである子タイマＣＴ２に切り替える（ステップＳ１０８）。つまり、子タイマＣＴ１のエンティティ処理中であっても、次の子タイマＣＴ２の処理時間までに親タイマＰＴのポインタfirstTimerPに子タイマＣＴ２のポインタがセットされる。制御部１２は、継続して親タイマＰＴを監視しているため、マルチコア／マルチスレッド等の技術を用いて、子タイマＣＴ１のエンティティ処理を継続しながら子タイマＣＴ２のエンティティ処理を開始することができる。なお、ステップＳ１０５において残りエンティティ数が０であると判定された場合や、ステップＳ１０７において次の子タイマＣＴ２の処理時間ではないと判定された場合には、親タイマＰＴのポインタfirstTimerPの切り替えは行われない。
【００２５】
制御部１２は、ステップＳ１０４〜Ｓ１０８の処理を含むループを、子タイマＣＴ１に関連付けられたエンティティ数numOfEntities分行う。即ち、制御部１２は、エンティティＥＮ１の処理を行った後、エンティティ構造体のポインタnextEntityPを参照し、エンティティＥＮ２及びエンティティＥＮ３の処理を順次行う。なお、制御部１２は、エンティティＥＮ１の処理を行った後、エンティティ構造体のポインタprevEntityPを参照し、エンティティＥＮ３及びエンティティＥＮ２の順に処理を行うこともできる。
【００２６】
制御部１２は、全てのエンティティに対する処理を行うと、親タイマＰＴのポインタfirstTimerPを次の子タイマである子タイマＣＴ２に切り替える（ステップＳ１０９）。なお、ステップＳ１０８において、既に親タイマＰＴのポインタfirstTimerPが子タイマＣＴ２に切り替えられており、別スレッドで子タイマＣＴ２のエンティティ処理が開始されている場合には、制御部１２は、親タイマＰＴのポインタfirstTimerPに子タイマＣＴ２の次の子タイマである子タイマＣＴ３のポインタをセットする。換言すると、制御部１２は、ステップＳ１０９（及びステップＳ１０８）において、まだ処理が開始されていない子タイマのうち、直近の子タイマのポインタを親タイマＰＴのポインタfirstTimerPにセットする。
【００２７】
このように、本実施形態によれば、制御部１２は、同一時刻にて処理対象となる複数のエンティティＥＮ１〜ＥＮ３を同一の子タイマＣＴ１に関連付けて記憶部１３に記憶し、子タイマＣＴ１が示す処理時間（システムフレーム番号SFN及びサブフレーム番号subframe）において、子タイマＣＴ１に関連付けられた複数のエンティティＥＮ１〜ＥＮ３の処理を実行する。これにより、複数のプロトコルエンティティを同一のタイマに関連付け、処理負荷及びメモリ使用量を低減することができる。即ち、同一時刻に処理対象となるエンティティの数だけタイマに関する記憶容量を削減することが可能になる。
【００２８】
また、制御部１２は、子タイマＣＴ１に関連付けられた複数のエンティティＥＮ１〜ＥＮ３の処理中に、処理時間が過ぎてしまう子タイマＣＴ２が存在する場合、子タイマＣＴ２が示す処理時間において、子タイマＣＴ２に関連付けられたエンティティの処理を実行するように制御する。これにより、各子タイマの処理時間を超過することなく、確実にエンティティ処理を実行することができる。
【００２９】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各構成部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の構成部やステップなどを１つに組み合わせたり、或いは分割したりすることが可能である。
【００３０】
例えば、制御部１２は、ステップＳ１０８及びステップＳ１０９において、親タイマＰＴのポインタfirstTimerPに次の子タイマのポインタをセットする際、同時に、親タイマＰＴのシステムフレーム番号SFN及びサブフレーム番号subframeに、次の子タイマのシステムフレーム番号SFN及びサブフレーム番号subframeをセットしても良い。これにより、ステップＳ１０２などにおいて、制御部１２は、親タイマＰＴのポインタfirstTimerPから子タイマを参照することなく、親タイマＰＴのシステムフレーム番号SFN及びサブフレーム番号subframeと、現在時刻とを直接比較することが可能になる。
【００３１】
また、ステップＳ１０７において、ある子タイマに関連付けられたエンティティの処理中に、処理時間が過ぎてしまう他の子タイマが存在すると判定された場合には、制御部１２は、先の子タイマのエンティティの処理を中止し、他の子タイマのエンティティ処理のみを行うように制御することもできる。これにより、シングルコア／シングルスレッドの通信装置においても、他の子タイマのエンティティ処理を開始することが可能になる。
【００３２】
また、上記実施形態において、子タイマＣＴを単方向のリスト構造とし、エンティティＥＮを双方向のリスト構造として記載したが、それぞれ、子タイマＣＴを双方向のリスト構造とし、エンティティＥＮを単方向のリスト構造としても良い。
【符号の説明】
【００３３】
１  通信装置
１１  通信部
１２  制御部
１３  記憶部
ＰＴ  親タイマ
ＣＴ、ＣＴ１〜ＣＴ３  子タイマ
ＥＮ、ＥＮ１〜ＥＮ３  エンティティ
【図１】
0005805405.tif 000002
【図２】
0005805405.tif 000003
【図３】
0005805405.tif 000004
【図４】
0005805405.tif 000005
【図５】
0005805405.tif 000006
【図６】
0005805405.tif 000007