以下に図面を参照して、本発明にかかる無線通信システム、送信周期調整装置および移動機の実施の形態を詳細に説明する。
(実施の形態)
(実施の形態にかかる無線通信システム)
図1は、実施の形態にかかる無線通信システムの一例を示す図である。図1に示すように、実施の形態にかかる無線通信システム100は、UE110と、ネットワーク101と、を含む。無線通信システム100には、たとえばLTE(Long Term Evolution)やLTE−A(Long Term Evolution−Advanced)などの各種の移動体通信システムを適用することができる。
UE110は、ネットワーク101との間で通信を行う移動機(移動局)である。UE110には、一例としては3GPP(3rd Generation Partnership Project)のUE(User Equipment:ユーザ端末)を適用することができる。UE110は、後述のeNB120a〜120dとの無線通信を介してサーバ150とセッションを確立する。そして、UE110は、確立したセッションを維持するためのセッション維持信号を、UE110のセッション維持信号に対してネットワーク101から割り当てられた無線リソースを用いて送信する。図1の例では1つのUE110を示しているが、無線通信システム100には複数のUE110が含まれていてもよい。
たとえば、UE110は、アプリケーションCPU111と、コミュニケーションCPU112と、を備える。アプリケーションCPU111は、主にユーザ操作やアプリケーションソフト処理を行うプロセッサである。アプリケーションCPU111においては、たとえば、TCP/IP処理部111aと、SIP処理部111bと、が実現される。
TCP/IP処理部111aは、アプリケーションCPU111の通信処理におけるTCP(Transmission Control Protocol:伝送制御プロトコル)およびIP(Internet Protocol:インターネットプロトコル)の処理を行う。SIP処理部111bは、アプリケーションCPU111の通信処理におけるSIP(Session Initiation Protocol:セッション確立プロトコル)の処理を行う。
また、アプリケーションCPU111においては、TCP/IP処理部111aおよびSIP処理部111bだけでなく、たとえばHTTP(Hypertext Transfer Protocol:ハイパーテキスト転送プロトコル)、SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol Version 3)等の処理が実現されてもよい。
コミュニケーションCPU112は、主にネットワークとの無線通信の処理を行うプロセッサである。コミュニケーションCPU112においては、たとえば、無線制御部112aと、TCP/IP処理部112bと、SIP処理部112cと、が実現される。
無線制御部112aは、UE110の無線通信の制御を行う。TCP/IP処理部112bは、コミュニケーションCPU112の通信処理におけるTCPおよびIPの処理を行う。SIP処理部112cは、コミュニケーションCPU112の通信処理におけるSIPの処理を行う。また、コミュニケーションCPU112においては、無線制御部112a、TCP/IP処理部112bおよびSIP処理部112cだけでなく、各種の他の処理が実現されてもよい。また、無線制御部112aはセッションタイマ通知部112eを備える。セッションタイマ通知部112eについては後述する。
ネットワーク101は、eNB120a〜120cと、MME130a,130bと、PGW140と、サーバ150と、を含む。
eNB120a〜120cは、UEとの間で無線通信を行う無線基地局装置であるeNB(evolved Node B)である。図1に示す例では、UE110がeNB120aに無線接続しており、スケジューリング制御部121aはUE110との間で無線通信を行う。また、eNB120a〜120cは、X2インタフェースなどの基地局間インタフェースにより互いに接続されている。また、eNB120a〜120cは、それぞれスケジューリング制御部121a〜121cを備える。スケジューリング制御部121a〜121cについては後述する。
MME130a(Mobility Management Entity:移動性管理エンティティ)は、eNB120a,120bを収容し、eNB120a,120bを経由する通信におけるC−plane(Control plane)の処理を行う。MME130bは、eNB120cを収容し、eNB120cを経由する通信におけるC−planeの処理を行う。
C−planeは、たとえば、各装置間で通話やネットワークを制御するための機能群である。一例としては、C−planeは、パケット呼の接続、ユーザデータを伝送するための経路の設定、ハンドオーバの制御などに用いられる。また、MME130a,130bは、MME間インタフェースにより互いに接続されている。また、MME130a,130bは、それぞれセッションタイマ管理部131a,131bを備える。セッションタイマ管理部131a,131bについては後述する。
PGW140は、外部ネットワーク(たとえばサーバ150)に接続するためのパケットデータネットワークゲートウェイ(Packet Data Network Gateway)である。PGW140は、たとえば、MME130a,130bとサーバ150との間においてユーザデータを中継する。また、たとえば、PGW140は、UE110がIPフローを送受信するために、UE110にIPアドレスを割り当てるIPアドレスアロケーションを行う。図1の例では1つのPGW140を示しているが、ネットワーク101には複数のPGW140が含まれていてもよい。また、PGW140はUE識別子管理部141を備える。UE識別子管理部141については後述する。
また、PGW140とMME130a,130bとの間には、SGW(Serving Gateway)が設けられていてもよい。SGWは、eNB120a〜120cを経由する通信におけるU−plane(User plane)の処理を行うサービングゲートウェイである。たとえば、SGWは、UE110の通信におけるU−planeの処理を行う。U−planeは、ユーザデータの伝送を行う機能群である。
サーバ150は、各種のプロトコルを扱うサーバ装置である。たとえば、UE110は、eNB120aおよびPGW140を介してサーバ150との間でセッションを確立してサーバ150との間で通信を行うことで、サーバ150が提供するサービスを利用する。図1の例では1つのサーバ150を示しているが、ネットワーク101には複数のサーバ150が含まれていてもよい。
また、サーバ150は、セッションタイマ報告部151を備える。セッションタイマ報告部151は、自サーバがUE(たとえばUE110)との間でセッションを確立すると、確立したセッションのタイマ(セッションタイマ)の情報を、そのUEのIPアドレスとともにPGW140のUE識別子管理部141へ通知する。セッションタイマの情報には、たとえば、UE110とサーバ150との間で行われるセッション維持プロトコルの動作周期を設定するためのセッションタイマ間隔(後述の実タイマ値)、サーバ(またはセッション)の識別子、UE110のIPアドレスなどが含まれる。
また、セッションタイマ報告部151は、UE110との間で確立したセッションが破棄された場合や、UE110との間で確立したセッションのセッションタイマが変更された場合にも、セッションタイマの情報をUE識別子管理部141へ送信してもよい。
また、セッションタイマ報告部151は、PGW140が複数ある場合は、複数のPGW140のうちのセッションを確立したUE110を収容しているPGW140のUE識別子管理部141へセッションタイマの情報を通知する。また、UE識別子管理部141は、複数のUE110との間でそれぞれセッションを確立した場合は、それぞれのセッションタイマの情報をまとめてUE識別子管理部141へ通知してもよい。
PGW140のUE識別子管理部141は、サーバ150のセッションタイマ報告部151から通知されたセッションタイマの情報に含まれるIPアドレスと、UEに払い出しているIPアドレスと、を比較する。これにより、セッションタイマにかかるUEがMME130a,130bのうちのいずれのMMEに属しているかを特定することができる。そして、UE識別子管理部141は、セッションタイマ報告部151から出力されたセッションタイマの情報を、セッションタイマ管理部131a,131bのうちの特定したMMEのセッションタイマ管理部へ出力する。また、UE識別子管理部141は、UE110のIPアドレスと、特定したMMEと、を対応付けて記憶する。
ここではMME130aのセッションタイマ管理部131aについて説明するが、MME130bのセッションタイマ管理部131bについても同様である。セッションタイマ管理部131aは、UE110とPGW140との間のコネクション(パケット呼)確立時に、UE識別子管理部141に対してUE110およびMME130aの情報を付与し、UE110に対するIPアドレスの払い出しを要求する。
また、セッションタイマ管理部131aは、UE識別子管理部141から通知されたセッションタイマの情報を情報テーブルに集約し、UE毎に周期値および報告単位を算出する。周期値および報告単位の算出については後述する。また、セッションタイマ管理部131aは、算出したUE毎の周期値および報告単位を、スケジューリング制御部121a〜121cのうちの該当するeNBのスケジューリング制御部に通知する。
ここではeNB120aのスケジューリング制御部121aについて説明するが、eNB120b,120cのスケジューリング制御部121b,121cについても同様である。スケジューリング制御部121aは、セッションタイマ管理部131aから通知された情報に基づいて、eNB120aのセルに在圏するUE110にセッションタイマのスケジューリングを行う。そして、スケジューリング制御部121aは、スケジューリング結果をUE110のセッションタイマ通知部112eへ通知する。この通知はeNB120aからUE110への無線信号によって行われる。
UE110のセッションタイマ通知部112eは、スケジューリング制御部121aから通知されたスケジューリング結果を、UE110における各プロトコルの処理部(クライアントソフトやオペレーティングシステム)へ通知する。UE110における各プロトコルの処理部には、たとえばTCP/IP処理部111a、SIP処理部111b、TCP/IP処理部112b、SIP処理部112cが含まれる。
UE110における各プロトコルの処理部は、サーバ150との間でセッションを確立した場合に、セッションタイマ通知部112eから通知されたスケジューリング結果に基づいてサーバ150との間でセッション維持プロトコルの処理を実行する。セッション維持プロトコルの処理は、たとえばUE110からサーバ150に対してセッション維持信号を所定のタイマ値以下の周期で送信することにより、UE110とサーバ150との間のセッションを維持する処理である。
(実施の形態にかかるUEのハードウェア)
図2は、実施の形態にかかるUEのハードウェアの一例を示す図である。図1に示したUE110は、たとえば図2に示す通信装置200によって実現することができる。通信装置200は、CPU201と、メモリ202と、ユーザインタフェース203と、無線通信インタフェース204と、を備える。CPU201、メモリ202、ユーザインタフェース203および無線通信インタフェース204は、バス209によって接続される。
CPU201(Central Processing Unit)は、通信装置200の全体の制御を司る。メモリ202には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAM(Random Access Memory)である。メインメモリは、CPU201のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置200を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてCPU201によって実行される。
ユーザインタフェース203は、たとえば、ユーザからの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばキー(たとえばキーボード)やリモコンなどによって実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどによって実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース203は、CPU201によって制御される。
無線通信インタフェース204は、無線によって通信装置200の外部(たとえばeNB120a〜120c)との間で通信を行う通信インタフェースである。無線通信インタフェース204は、CPU201によって制御される。
図1に示したアプリケーションCPU111およびコミュニケーションCPU112は、たとえばCPU201によって実現することができる。また、コミュニケーションCPU112は、たとえば無線通信インタフェース204による無線通信の制御を行う。
また、セッション維持信号をセッション維持信号に対して割り当てられた無線リソースを用いて送信する送信部は、CPU201および無線通信インタフェース204によって実現することができる。また、UE110が確立したセッション毎のセッション維持信号の送信周期を示す情報を、eNB120aを介して受信する受信部は、CPU201および無線通信インタフェース204によって実現することができる。
(実施の形態にかかるeNB)
図3は、実施の形態にかかるeNBの一例を示す図である。図1に示したeNB120a〜120cのそれぞれは、たとえば図3に示す通信装置300によって実現することができる。通信装置300は、CPU301と、メモリ302と、無線通信インタフェース303と、有線通信インタフェース304と、を備える。CPU301、メモリ302、無線通信インタフェース303および有線通信インタフェース304は、バス309によって接続される。
CPU301は、通信装置300の全体の制御を司る。メモリ302には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAMである。メインメモリは、CPU301のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置300を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてCPU301によって実行される。
無線通信インタフェース303は、無線によって通信装置300の外部(たとえばUE110)との間で通信を行う通信インタフェースである。無線通信インタフェース303は、CPU301によって制御される。
有線通信インタフェース304は、有線によって通信装置300の外部(たとえばMME130a,130b、PGW140、SGW)との間で通信を行う通信インタフェースである。有線通信インタフェース304は、CPU301によって制御される。
図1に示したスケジューリング制御部121a〜121cは、たとえばCPU301によって実現することができる。
(実施の形態にかかるMME、PGWおよびサーバのハードウェア構成)
図4は、実施の形態にかかるMME、PGWおよびサーバのハードウェア構成の一例を示す図である。図1に示したMME130a,130bのそれぞれは、たとえば図4に示す通信装置400によって実現することができる。通信装置400は、CPU401と、メモリ402と、有線通信インタフェース403と、を備える。CPU401、メモリ402および有線通信インタフェース403は、バス409によって接続される。
CPU401は、通信装置400の全体の制御を司る。メモリ402には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAMである。メインメモリは、CPU401のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置400を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてCPU401によって実行される。
有線通信インタフェース403は、有線によって通信装置400の外との間で通信を行う通信インタフェースである。有線通信インタフェース403は、たとえばeNB120a〜120c、PGW140などの外部の通信装置との間で通信を行う。有線通信インタフェース403は、CPU401によって制御される。
図1に示したセッションタイマ管理部131a,131bは、たとえばCPU301、メモリ402および有線通信インタフェース403によって実現することができる。
また、図1に示したPGW140は、たとえば通信装置400によって実現することができる。この場合に、有線通信インタフェース403は、たとえば、eNB120a〜120c、MME130a,130b、サーバ150などの外部の通信装置との間で通信を行う。また、図1に示したUE識別子管理部141は、たとえばCPU301によって実現することができる。この場合に、UE110への割り当て周期(周期値)を決定する決定部は、たとえばCPU401によって実現することができる。また、決定部によって決定された割り当て周期に基づいてUE110によるセッション維持信号の送信周期を調整する調整部は、たとえばCPU401および有線通信インタフェース403によって実現することができる。
また、図1に示したサーバ150は、たとえば通信装置400によって実現することができる。この場合に、有線通信インタフェース403は、たとえば、PGW140などの外部の通信装置との間で通信を行う。また、図1に示したセッションタイマ報告部151は、たとえばCPU301によって実現することができる。
(実施の形態にかかるセッションタイマ管理部による処理)
図5は、実施の形態にかかるセッションタイマ管理部による処理の一例を示すフローチャートである。MME130aのセッションタイマ管理部131aによる処理について説明するが、MME130bのセッションタイマ管理部131bによる処理についても同様である。
まず、セッションタイマ管理部131aは、UE識別子管理部141からセッションタイマの情報を受信したか否かを判断し(ステップS501)、セッションタイマの情報を受信するまで待つ(ステップS501:Noのループ)。セッションタイマの情報を受信すると(ステップS501:Yes)、セッションタイマ管理部131aは、ステップS502へ移行する。すなわち、セッションタイマ管理部131aは、セッションタイマ管理部131aが管理する情報テーブルの中から、受信したセッションタイマの情報に含まれるIPアドレスに基づいて該当するUEを検索する(ステップS502)。
つぎに、セッションタイマ管理部131aは、ステップS502によって検索した該当するUEの情報を、セッションタイマ管理部131aが管理する情報テーブルの中から取得する(ステップS503)。
つぎに、セッションタイマ管理部131aは、セッションタイマ管理部131aが管理する情報テーブルに基づいて、該当するUEについての周期値および報告単位の算出を行う(ステップS504)。また、セッションタイマ管理部131aは、ステップS504による算出結果に基づいて、セッションタイマ管理部131aが管理する情報テーブルを更新する。
つぎに、セッションタイマ管理部131aは、該当するUEの情報を、スケジューリング制御部121a〜121cのうちの、UEに対応するeNBのスケジューリング制御部へ通知し(ステップS505)、一連の処理を終了する。ステップS505によって通知されるUEの情報には、該当するUEについてステップS504によって計算された周期値および報告単位が含まれる。
(実施の形態にかかるセッションタイマ管理部に記憶される情報テーブル)
図6は、実施の形態にかかるセッションタイマ管理部に記憶される情報テーブルの一例を示す図である。図6に示す情報テーブル600は、たとえばセッションタイマ管理部131aに記憶される情報テーブルである。セッションタイマ管理部131aに記憶される情報テーブル600について説明するが、セッションタイマ管理部131bに記憶される情報テーブルについても同様である。
セッションタイマ管理部131aは、セッションタイマ報告部151からUE識別子管理部141を介して通知されたセッションタイマの情報およびIPアドレス等に基づいてUEを特定し、特定したUEについて情報テーブル600を保持する。情報テーブル600は、たとえば図4に示したメモリ402に記憶することにより保持することができる。
情報テーブル600は、UE#1〜#nのそれぞれについて(UEのIPアドレス毎に)、周期値と、タイマと、を示す。UE#1〜#nのそれぞれは、たとえば図1に示したUE110に対応する。また、情報テーブル600において、タイマは、対応するUEのセッション毎(セッション識別子毎)に設定される。たとえば、図6に示す例では、UE#1において2つのセッションが確立されており、情報テーブル600はUE#1のタイマとしてタイマ#1,#2を含む。なお、タイマ#1とタイマ#2のセッション識別子は、同一の値であるが、それぞれ異なるサーバのセッションであるため、異なるセッションを示す。
周期値は、対応するUEにおけるセッション維持動作の周期の最小単位の周期である。周期値は、たとえばセッションタイマの情報に基づいてセッションタイマ管理部131aが算出することによって取得することができる。
タイマは、サーバ識別子と、セッション識別子と、実タイマ値と、報告単位と、を含む。サーバ識別子は、対応するセッションのサーバ(たとえばサーバ150)を特定可能な識別子である。サーバ識別子は、たとえばサーバのIPアドレスとすることができる。サーバ識別子は、たとえばセッションタイマ報告部151からUE識別子管理部141を介して通知されたセッションタイマの情報から取得することができる。
セッション識別子は、対応するセッションを特定可能な識別子である。セッション識別子は、対応するセッションのサーバによって付与された識別子である。たとえば、セッション識別子は、TCPの場合はTCPのポートID、SIPの場合はTCPポートのIDやSDP(Session Description Protocol:セッション記述プロトコル)で記載されるセッションID等とすることができる。これにより、UE側でも判断可能な情報とすることができる。セッション識別子は、たとえばセッションタイマ報告部151からUE識別子管理部141を介して通知されたセッションタイマの情報から取得することができる。
実タイマ値は、対応するセッションについてサーバが設定したタイムアウト時間を示す。たとえば、サーバ150は、UE110によるセッション維持動作が行われていない時間の長さを計時し、計時した時間の長さが実タイマ値を超えるとセッションを破棄する。セッション維持動作は、たとえばセッション維持信号のサーバ150への送信である。
UE110は、セッションタイマ報告部151から払い出された実タイマ値が示す時間の長さより短い周期でセッション維持信号をサーバへ送信することにより、サーバ150との間のセッションを維持することができる。実タイマ値は、たとえばセッションタイマ報告部151からUE識別子管理部141を介して通知されたセッションタイマの情報から取得することができる。
報告単位は、周期値と組み合わせることによってUE110がセッション維持動作を行う周期を決定するためのパラメータである。たとえば、報告単位が2である場合は、UE110は、周期値が示す周期の2周期に相当する周期でセッション維持動作を行う。報告単位は、たとえばセッションタイマの情報に基づいてセッションタイマ管理部131aが算出することによって取得することができる。
セッションタイマ管理部131aは、情報テーブル600に変更が生じると、スケジューリング制御部121a〜121cのうちの変更が生じたUEに対応するスケジューリング制御部へその変更を通知する。
また、セッションタイマ管理部131aは、セッションタイマ報告部151からUE識別子管理部141を介してセッションタイマの情報の新規追加や削除が通知されると、情報テーブル600から該当するUEを特定し、該当するUEの各タイマを更新する。たとえば、セッションタイマ管理部131aは、該当するUEの各タイマの実タイム値のうちの最も短い実タイム値を、該当するUEの周期値として設定する。
そして、セッションタイマ管理部131aは、該当するUEのタイマ毎に報告単位を設定する。すなわち、セッションタイマ管理部131aは、該当するUEのタイマのそれぞれについて、該当するUEの周期値の倍数(周期値*n)が、該当するタイマの実タイマ値を超えない最大のnを算出し、算出したnを該当するタイマの報告単位として設定する。設定されたnに基づく周期値*nが、該当するセッションについてのセッション維持動作の周期となる。その結果、セッション維持動作の周期は実タイマ値以下の周期となり、セッションの維持が可能になる。
図6に示す例では、UE#1のタイマ#1,#2の実タイマ値(15秒、33秒)の最小値は15秒であるため、UE#1の周期値は15秒に設定される。そして、UE#1の周期値(15秒)*nがタイマ#1の実タイマ値(15秒)を超えない最大のnは1であるため、タイマ#1の報告単位は1に設定される。また、UE#1の周期値(15秒)*nがタイマ#2の実タイマ値(33秒)を超えない最大のnは2であるため、タイマ#2の報告単位は2に設定される。
この場合に、UE#1は、タイマ#1については14秒間隔、タイマ#2については28秒間隔でセッション維持動作を行うことになる。図6に示したように、セッションタイマ管理部131aは、セッションタイマ報告部151から通知された実タイマ値を、周期値および報告単位として再定義してUEのセッション維持動作を行わせることにより、無線リソースの効率的利用が可能になる。
このように、スケジューリング制御部121aは、UE識別子管理部141から通知されたセッションタイマの情報をUE毎に管理し、すべてのセッションのタイマ(周期値*n)が周期値の倍数となるように、周期値および報告単位を算出する。そして、スケジューリング制御部121aは、算出した周期値および報告単位を、スケジューリング制御部121a〜121cのうちの対象のスケジューリング制御部に通知する。
(実施の形態にかかるセッションタイマ管理部による変更後の情報テーブル)
図7は、実施の形態にかかるセッションタイマ管理部による変更後の情報テーブルの一例を示す図である。たとえば、セッションタイマ報告部151からUE識別子管理部141を介して、図6に示したタイマ#1,#2とは異なるサーバ識別子を含むセッションタイマの情報がセッションタイマ管理部131aへ通知されたとする。また、このセッションタイマの情報に含まれるIPアドレスが示すUEがUE#1であり、このセッションタイマの情報に含まれる実タイマ値が7秒であったとする。
この場合に、セッションタイマ管理部131aは、図7に示すように、情報テーブル600におけるUE#1のタイマに新たなタイマ#3を追加する。そして、セッションタイマ管理部131aは、UE#1の周期値と、UE#1のタイマ毎の報告単位と、を再計算する。また、セッションタイマ管理部131aは、情報テーブル600のうちの変更内容をスケジューリング制御部121a〜121cのうちの該当するスケジューリング制御部へ通知する。
図7に示す例では、UE#1のタイマ#1,#2,#3の各実タイマ値(15秒、33秒、7秒)の最小値は7秒であるため、UE#1の周期値は7秒に設定される。そして、UE#1の周期値(7秒)*nがタイマ#1の実タイマ値(15秒)を超えない最大のnは2であるため、タイマ#1の報告単位は2に設定される。また、UE#1の周期値(7秒)*nがタイマ#2の実タイマ値(33秒)を超えない最大のnは4であるため、タイマ#2の報告単位は4に設定される。また、UE#1の周期値(7秒)*nがタイマ#3の実タイマ値(7秒)を超えない最大のnは1であるため、タイマ#3の報告単位は1に設定される。
この場合に、UE#1は、タイマ#1については14秒間隔、タイマ#2については28秒間隔、タイマ#3については7秒間隔でセッション維持動作を行うことになる。このように、セッションタイマを再定義してUEのセッション維持動作を行わせることにより、無線リソースの効率的利用が可能になる。
(実施の形態にかかるセッションタイマの再定義前における無線起動のタイミング)
図8は、実施の形態にかかるセッションタイマの再定義前における無線起動のタイミングの一例を示す図である。図8に示す無線起動タイミング800は、セッションタイマの再定義が行われる前において、UE110がセッション維持動作による無線起動を行うタイミングを参考として示す。
無線起動タイミング800における各ブロックはタイミング(時間リソース)を示す。無線起動タイミング800における“○”を付したタイミングは、UE110がセッション維持動作による無線起動を行うタイミングを示す。無線起動タイミング800における基準タイミング801は、無線起動タイミング800における最初のブロックである。無線起動タイミング800の横方向は1秒単位を示し、無線起動タイミング800の縦方向は10秒単位を示す。
たとえば、無線起動タイミング800における横方向が3で縦方向が0のタイミング802は、基準タイミング801から3秒目のタイミングを示す。また、無線起動タイミング800における横方向が1で縦方向が10のタイミング803は、基準タイミング801からの11秒目のタイミングを示す。
図8に示す例では、無線起動タイミング800における基準タイミング801から7秒目、14秒目、15秒目、21秒目、…にセッション維持動作による無線起動が行われている。このように、図8に示す例では、セッションタイマにサーバ150が設定した実タイマ値が用いられていることにより、各セッションにおけるセッション維持動作による無線起動のタイミングがずれており、110秒間の間に24回の無線起動が行われている。
(実施の形態にかかるセッションタイマの再定義後における無線起動のタイミング)
図9は、実施の形態にかかるセッションタイマの再定義後における無線起動のタイミングの一例を示す図である。図9において、図8に示した部分と同様の部分については同一の符号を付して説明を省略する。図9に示す無線起動タイミング800は、セッションタイマの再定義が行われた後において、UE110がセッション維持動作による無線起動を行うタイミングを示す。
セッションタイマの再定義により、UE110の各セッションにおけるセッション維持動作の周期が、UE110について設定された周期値の倍数(周期値*n)に設定される。図9に示す例では、UE110について設定された周期値が7に設定されている。このため、UE110は、無線起動タイミング800における基準タイミング801から0秒目、7秒目、14秒目、21秒目、…に無線起動を行い、UE110の各セッションのセッション維持動作を、これらの無線起動の少なくともいずれかにおいて行う。
図9に示す例では、110秒間の間に15回の無線起動が行われている。このように、セッションタイマの再定義により、各セッションにおけるセッション維持動作に要する無線起動の回数を減らし、セッション維持における無線リソースの利用効率を向上させることができる。このため、UE110の省電力化を図ることができる。
このように、MME130aのセッションタイマ管理部131a(送信周期調整装置)は、UE110が確立したセッション毎に、そのセッションについてサーバ150によって設定されたセッション維持信号のタイムアウト時間(実タイマ値)を特定する。このタイムアウト時間は、UE110が確立したセッションを維持するために要する、UE110によるセッション維持信号の送信における最長の周期である。すなわち、UE110がセッション維持信号を送信する周期がこのタイムアウト時間を超えると対象のセッションが破棄される。
また、セッションタイマ管理部131aは、特定したタイムアウト時間のうちの最短のタイムアウト時間に基づいて、UE110によるセッション維持信号の送信に対する無線リソースの割り当て周期を決定する。たとえば、UE110によるセッション維持信号の送信に対する無線リソースの割り当て周期を、上述した最短のタイムアウト時間の整数倍(1倍、2倍、3倍、…のいずれか)となるように決定する。
そして、セッションタイマ管理部131aは、決定した割り当て周期に基づいてUE110によるセッション維持信号の送信周期を調整する。これにより、複数のセッションについてのセッション維持動作を同時期に行うことが可能になり、セッション維持動作に要する無線起動の回数を減らすことができる。このため、セッション維持における無線リソースの利用効率を向上させ、UE110の省電力化を図ることができる。
(実施の形態にかかるスケジューリング制御部によるスケジューリングマップの生成処理)
図10は、実施の形態にかかるスケジューリング制御部によるスケジューリングマップの生成処理の一例を示すフローチャートである。図10においてはeNB120aのスケジューリング制御部121aによるスケジューリングマップの生成処理について説明する。ただし、eNB120b,120cのスケジューリング制御部121b,121cによるスケジューリングマップの生成処理についても同様である。
スケジューリング制御部121aは、スケジューリングマップの生成処理として、たとえば図10に示す各ステップを実行する。たとえば、スケジューリング制御部121aは、UE110が電源オンになった際に図10に示す各ステップを実行する。または、スケジューリング制御部121aは、後述のスケジューリングマップの再構築の際にも図10に示す各ステップを実行してもよい。
まず、スケジューリング制御部121aは、基準時刻を設定する(ステップS1001)。基準時刻は、スケジューリングマップにおける0秒目の時間(タイミング)を示す。たとえば、基準時刻は、図8に示した基準タイミング801に対応する。ステップS1001によって設定される基準時刻は、たとえばeNB120aのメモリ(たとえば図3に示したメモリ302)に予め記憶しておくことができる。
また、スケジューリング制御部121aは、スケジューリングマップのスケジューリング解像度、スケジューリング多重数およびスケジューリング単位を設定する(ステップS1002)。スケジューリング解像度は、スケジューリングマップにおいて1つのUEを割り当てる単位時間である。スケジューリング制御部121aは、このスケジューリング解像度(時間単位)でUEを割り当て可能なスケジューリングマップを作成する。スケジューリング解像度は、一例としては1秒とすることができる。
スケジューリング多重数は、スケジューリングマップの面数である。このスケジューリングマップの面数は、同じタイミングに対して割り当て可能なUEの台数となる。たとえば、スケジューリング多重数が2である場合は、同じタイミングにおいて2台のUEがセッション指示動作を行うことが可能になる。
スケジューリング単位は、スケジューリングマップのサイズ(最大時間軸)である。スケジューリング制御部121aは、時間リソースをスケジューリング単位に分割し、分割した時間リソースのそれぞれにおいてスケジューリングマップによる割り当てを適用する。スケジューリング単位は、一例としては60秒とすることができる。
ステップS1002によって設定されるスケジューリング解像度、スケジューリング多重数およびスケジューリング単位は、たとえばeNB120aのメモリ(たとえば図3に示したメモリ302)に予め記憶しておくことができる。また、たとえば後述のスケジューリングマップの再構築においては、ステップS1002によって設定されるスケジューリング解像度、スケジューリング多重数およびスケジューリング単位を変更することによってスケジューリングマップを再構築することができる。
つぎに、スケジューリング制御部121aは、ステップS1001,S1002によって設定したスケジューリングマップの各パラメータを用いてスケジューリングマップを生成(ステップS1003)し、一連のスケジューリングマップの生成処理を終了する。そして、スケジューリング制御部121aは、ステップS1003によって生成したスケジューリングマップを用いて、eNB120aの配下の各UEにおけるセッション維持プロトコルのスケジューリングを行う。
(実施の形態にかかるスケジューリング制御部が生成するスケジューリングマップ)
図11は、実施の形態にかかるスケジューリング制御部が生成するスケジューリングマップの一例を示す図である。スケジューリング制御部121aは、たとえば図10に示した各ステップにより、たとえば図11に示すスケジューリングマップ1100を生成する。スケジューリングマップ1100は、スケジューリング解像度を1秒、スケジューリング多重数を2、スケジューリング単位を60秒とした場合のスケジューリングマップである。スケジューリングマップ1100においては、図8に示した無線起動タイミング800と同様に、横方向が1秒単位を示し、縦方向が10秒単位を示す。
また、スケジューリングマップ1100は、スケジューリング多重数が2であるため、0面1110および1面1120を有する。また、スケジューリング解像度が1秒であり、スケジューリング単位が60秒であるため、0面1110および1面1120のそれぞれは、1秒の割り当て可能単位を60個有する。
スケジューリング制御部121aは、スケジューリングマップ1100に対して各UEをマッピングする。そして、各UEがマッピングされたスケジューリングマップ1100に従って各UEが動作することにより、スケジューリング多重数を超えたUEが同一のタイミングでセッション維持動作を行わないようにすることができる。
(実施の形態にかかるスケジューリング制御部によるスケジューリング)
図12は、実施の形態にかかるスケジューリング制御部によるスケジューリングの一例を示す図である。スケジューリング制御部121aは、セッションタイマ管理部131aからUEの情報が通知されると、保持しているスケジューリングマップ1100において空いているブロックに対して該当するUEを割り当てる。ここではスケジューリングマップ1100に対する最初のスケジューリングについて説明する。このため、スケジューリングマップ1100の0面1110および1面1120はともに空である。したがって、スケジューリング制御部121aは、まず0面1110に対するマッピングを行う。
たとえば、図7に示した情報テーブル600のうちのUE#1についての情報がセッションタイマ管理部131aから通知されると、スケジューリング制御部121aは、図12に示すようにマッピングを行う。すなわち、スケジューリング制御部121aは、0面1110の基準時刻から0秒目のブロックが空いているため、まず0面1110における基準時刻から0秒目のブロックにUE#1を割り当てる。このUE#1を最初に割り当てるブロック(開始ブロック)の選択により、UE#1についてのセッション維持プロトコルのタイミングの割り当てが決定される。
そして、スケジューリング制御部121aは、0面1110における基準時刻から0秒目のブロックからUE#1の周期値(7秒)毎にUE#1を割り当てる。この結果、0面1110における基準時刻から0秒目、7秒目、14秒目、21秒目、…の各ブロックにUE#1が割り当てられる。
(実施の形態にかかるスケジューリング制御部がセッションタイマ通知部へ通知する情報)
図13は、実施の形態にかかるスケジューリング制御部がセッションタイマ通知部へ通知するスケジューリング結果の一例を示す図である。eNB120aのスケジューリング制御部121aは、たとえば図13に示すスケジューリング結果1300をUE110のセッションタイマ通知部112eへ通知する。
スケジューリング結果1300は、図7に示した情報テーブル600のUE#1に関する情報に加えて、基準時刻と、スケジューリング解像度と、スケジューリング単位と、開始ブロックと、を含む。図13に示す例では、基準時刻は2015/01/01 00:00:00:000となっている。なお、2015/01/01 00:00:00:000は2015年1月1日0時0分0秒000ミリ秒を示す。開始ブロックは、スケジューリングマップ1100においてUE110が最初に割り当てられたブロックである。
スケジューリング結果1300を受信したUE110は、スケジューリング結果1300に基づいて、基準時刻から開始ブロック*スケジューリング解像度が経過した時点を起点として特定する。そして、UE110は、セッション毎に、特定した起点から周期値*報告単位の周期でセッション維持プロトコルの処理を実行する。
図13に示す例では、UE110は、基準時刻(2015/01/01 00:00:00:000)から開始ブロック(0)*スケジューリング解像度(1秒)が経過した時点(2015/01/01 00:00:00:000)を起点として特定する。そして、UE110は、タイマ#1のセッションについて、起点(2015/01/01 00:00:00:000)から周期値(7秒)*報告単位(2)=14秒の周期でセッション維持プロトコルの処理を実行する。
また、UE110は、タイマ#2のセッションについて、起点(2015/01/01 00:00:00:000)から周期値(7秒)*報告単位(4)=28秒の周期でセッション維持プロトコルの処理を実行する。また、UE110は、タイマ#3のセッションについて、起点(2015/01/01 00:00:00:000)から周期値(7秒)*報告単位(1)=7秒の周期でセッション維持プロトコルの処理を実行する。
(実施の形態にかかるスケジューリング制御部によるUEの情報が追加された場合のスケジューリング)
図14および図15は、実施の形態にかかるスケジューリング制御部によるUEの情報が追加された場合のスケジューリングの一例を示す図である。たとえば、図12に示したようにスケジューリングが行われた状態において、セッションタイマ管理部131aからスケジューリング制御部121aへ、図14に示すUE#2についてのUE情報1400が通知されたとする。この場合は、スケジューリング制御部121aは、スケジューリングマップ1100に対して図15に示すようにマッピングを行うことによってスケジューリングを行う。
図12に示したスケジューリングの結果、0面1110における基準時刻から0秒目のブロックにはすでにUE#1が割り当てられており、0面1110における基準時刻から1秒目のブロックは空いている。このため、スケジューリング制御部121aは、まず0面1110の1秒目のブロックにUE#2を割り当てる。したがって、0面1110の1秒目のブロックがUE#2の開始ブロックとなる。
そして、スケジューリング制御部121aは、0面1110の2秒目のブロックからUE#2の周期値(6秒)毎にUE#2を割り当てる。このとき、0面1110の2秒目のブロックからUE#2の周期値(6秒)毎の各ブロックのうちの、基準時刻から7秒目と49秒目のブロックにはすでにUE#1が割り当てられている。このため、スケジューリング制御部121aは、基準時刻から7秒目と49秒目のブロックについてはスケジューリングマップ1100の1面1120にUE#2を割り当てる。
ただし、スケジューリング制御部121aは、同じタイミングに割り当てるUEの数がスケジューリング多重数を超えないようにスケジューリングを行う。たとえば、スケジューリング制御部121aは、新たなUEの割り当てを行う際に、そのUEに割り当てるタイミングが0面1110においても1面1120においても他のUEに割り当てられていた場合は、そのUEの開始ブロックを変更する。または、スケジューリング制御部121aは、このような場合にスケジューリングマップの再構築を行ってもよい。または、スケジューリング制御部121aは、このような場合にスケジューリング多重数(スケジューリングマップ1100の面数)を追加してもよい。
このようにスケジューリングを行うことにより、eNB120aのセル内におけるセッション維持動作が平準化される。図15に示す例では、基準時刻から7秒目と49秒目において2つのUE#1,#2が同時にセッション維持動作を行うが、他のタイミングにおいては1つのUEのみがセッション維持動作を行い、またはいずれのUEもセッション維持動作を行わない。
(実施の形態にかかるスケジューリング制御部によるスケジューリングの補正)
図16および図17は、実施の形態にかかるスケジューリング制御部によるスケジューリングの補正の一例を示す図である。たとえば、図15に示したようにスケジューリングが行われた状態において、セッションタイマ管理部131aからスケジューリング制御部121aへ、UE#3についてのUE情報が通知されたとする。また、このUE情報が示す周期値は2であったとする。この場合は、スケジューリング制御部121aは、スケジューリングマップ1100に対して図16に示すようにマッピングを行うことによってスケジューリングを行う。
図15に示したスケジューリングの結果、0面1110における基準時刻から0秒目と1秒目のブロックにはすでにそれぞれUE#1,#2が割り当てられている。また、0面1110における基準時刻から2秒目のブロックは空いている。このため、スケジューリング制御部121aは、まず0面1110における基準時刻から2秒目のブロックにUE#3を割り当てる。したがって、0面1110の2秒目のブロックがUE#3の開始ブロックとなる。
そして、スケジューリング制御部121aは、0面1110における基準時刻から2秒目のブロックからUE#3の周期値(2秒)毎にUE#3を割り当てる。このとき、0面1110における基準時刻から2秒目のブロックから2秒毎の各ブロックのうちの、基準時刻から14秒目、28秒目、42秒目および56秒目にはすでにUE#1またはUE#2が割り当てられている。このため、スケジューリング制御部121aは、基準時刻から14秒目、28秒目、42秒目および56秒目のブロックについてはスケジューリングマップ1100の1面1120にUE#3を割り当てる。
この場合に、基準時刻から58秒のブロックと、基準時刻の2秒目のブロックと、の間の3秒間の期間1601において、UE#3が割り当てられていない。このため、スケジューリング制御部121aは、図17に示すように、期間1601のうちの空いているブロック1701にもUE#3を割り当てる。
このようにスケジューリングの補正を行うことで、各UEについて、セッション維持動作の周期が周期値を超えないようにすることができる。このようなスケジューリングの補正を行った場合は、スケジューリング制御部121aは、たとえば図13に示したスケジューリング結果1300に、ブロック1701を示す補正値をさらに格納する。ブロック1701を示す補正値は、一例としては基準時刻からのプラスの秒数(59)とすることができる。または、ブロック1701を示す補正値は、基準時刻からのマイナスの秒数(1)としてもよい。
(実施の形態にかかるスケジューリング制御部によるスケジューリング処理)
図18は、実施の形態にかかるスケジューリング制御部によるスケジューリング処理の一例を示すフローチャートである。スケジューリング制御部121aは、セッションタイマ管理部131aからUEの追加を通知された場合に、スケジューリング処理として、たとえば図18に示す各ステップを実行する。
まず、スケジューリング制御部121aは、ステップS1801〜S1803の処理を、現在使用しているスケジューリングマップ1100の面のそれぞれを対象として行う(面数分ループ)。さらに、スケジューリング制御部121aは、ステップS1801〜S1803の処理を、スケジューリングマップ1100における現在の対象の面における最初のブロックから、同じ面における新たなUEの周期値分のブロックのそれぞれを対象として行う(周期値分ループ)。
たとえば、スケジューリング制御部121aが現在使用しているスケジューリングマップ1100の面が0面1110および1面1120であり、新たなUEの周期値が5秒であるとする。この場合は、スケジューリング制御部121aは、ステップS1801〜S1803の処理を、各面(0面1110および1面1120)と各ブロック(0秒目〜4秒目のブロック)との8通りの組み合わせについて行う。
まず、スケジューリング制御部121aは、スケジューリングマップ1100における対象の面における対象のブロックnを、新たなUEを最初に割り当てる開始ブロックとした場合のマッピングをシミュレーションする(ステップS1801)。たとえば、スケジューリング制御部121aは、対象のブロックnから新たなUEの周期値毎の各ブロックに新たなUEを割り当て、他のUEとの割り当ての重複が生じる場合は、他の面が空いていれば他の面を用いて割り当てを行う。
そして、スケジューリング制御部121aは、現在使用しているスケジューリングマップ1100の面を用いて新たなUEの周期値毎に割り当てられた場合は、マッピング可と判断する。また、スケジューリング制御部121aは、現在使用しているスケジューリングマップ1100のすべての面を用いても新たなUEの周期値毎に割り当てられない場合は、マッピング不可と判断する。
つぎに、スケジューリング制御部121aは、ステップS1801のシミュレーションにおいてマッピング可であったか否かを判断する(ステップS1802)。シミュレーションにおいてマッピング可でなかった場合(ステップS1802:No)は、スケジューリング制御部121aは、対象の面およびブロックの組み合わせについてのステップS1801〜S1803の処理を終了する。
ステップS1802において、シミュレーションにおいてマッピング可であった場合(ステップS1802:Yes)は、スケジューリング制御部121aは、ステップS1803へ移行する。すなわち、スケジューリング制御部121aは、ステップS1801のシミュレーションにおいて新たなUEが割り当てられた面数をメモリに格納する(ステップS1803)。そして、スケジューリング制御部121aは、対象の面およびブロックの組み合わせについてのステップS1801〜S1803の処理を終了する。
各面と各ブロックとのすべての組み合わせについてステップS1801〜S1803の処理を終了すると、スケジューリング制御部121aは、ステップS1804へ移行する。すなわち、スケジューリング制御部121aは、各面と各ブロックとのすべての組み合わせの中で、ステップS1801のシミュレーションでマッピング可の組み合わせがあったか否かを判断する(ステップS1804)。
ステップS1804において、マッピング可の組み合わせがなかった場合(ステップS1804:No)は、スケジューリング制御部121aは、スケジューリングマップ1100に面を追加する(ステップS1805)。
つぎに、スケジューリング制御部121aは、ステップS1805によって追加したスケジューリングマップ1100の面に新たなUEを割り当て(ステップS1806)、ステップS1809へ移行する。ただし、ステップS1806において、スケジューリング制御部121aは、ステップS1805によって追加した面だけでなく、ステップS1805による追加前におけるスケジューリングマップ1100の面にも新たなUEを割り当ててもよい。
ステップS1804において、マッピング可の組み合わせがあった場合(ステップS1804:Yes)は、スケジューリング制御部121aは、ステップS1803によって格納した面数が最小となる組み合わせを検索する(ステップS1807)。つぎに、スケジューリング制御部121aは、ステップS1807によって検索した組み合わせのブロックを開始ブロックとして新たなUEを割り当てる(ステップS1808)。
つぎに、スケジューリング制御部121aは、新たなUEについて補正ブロックがあれば補正ブロックをセットし(ステップS1809)、一連のスケジューリング処理を終了する。たとえば、スケジューリング制御部121aは、スケジューリングマップ1100において、新たなUEの割り当て間隔が、新たなUEの周期値より大きくなっている期間がある場合は、その期間のうちの空いているブロックに新たなUEを割り当てる。新たなUEの周期値より大きくなっている期間は、たとえば図16の期間1601である。その期間のうちの空いているブロックは、たとえば図17のブロック1701である。
このように、スケジューリング制御部121aは、たとえば、想定できるすべてのケース(組み合わせ)についてシミュレーションを行い、利用面数が1番少ないケースを算出することによってスケジューリングを行う。
(スケジューリング制御部によるスケジューリングの他の例)
一種類のスケジューリングマップに異なる周期値を有するUEを割り当てるスケジューリングについて説明したが、周期値毎(たとえば素数毎)にスケジューリングマップを設けるスケジューリングを行うようにしてもよい。
たとえば、スケジューリング制御部121aは、2、3、5、7、11、…等の素数のそれぞれについてスケジューリングマップを生成する。そして、スケジューリング制御部121aは、UEをスケジューリングする際に、そのUEの周期値に対応する素数のスケジューリングマップに対してそのUEをマッピングする。
このように、周期値(素数毎)にスケジューリングマップを設けることで、スケジューリングマップの構築や再構築が容易になる。周期値(素数毎)にスケジューリングマップを設ける際には、スケジューリング単位/スケジューリング解像度が、周期値(素数)の倍数になるようにする。これにより、UEの割り当てが一定間隔になって補正ポイントが不要になり、そのスケジューリングマップ内において各UEの最適配置が可能になる。
図19は、実施の形態に適用可能な素数に対応するスケジューリングマップの一例を示す図である。図19に示すスケジューリングマップ1900は、素数である11に対応する、周期値が11*n秒(nは1以上の整数)のUEのためのスケジューリングマップである。スケジューリングマップ1900のスケジューリング単位は66秒であり、スケジューリングマップ1900のスケジューリング解像度は1秒である。スケジューリングマップ1900には、初期状態においては0面1910のみが設定される。
スケジューリングマップ1900は、セッションタイマ管理部131aからスケジューリング制御部121aに通知されたUEの周期値が11*n秒(たとえば66秒)である場合に用いられる。
図20は、実施の形態にかかるセッションタイマ管理部からスケジューリング制御部へ通知されるUEの周期値の一例を示す図である。図21〜図24は、実施の形態に適用可能な素数に対応するスケジューリングマップへのマッピングの一例を示す図である。たとえば、セッションタイマ管理部131aからスケジューリング制御部121aに対して、図20のテーブル2000に示す順にUE#1〜#10の周期値(すべて11*n秒)が通知されたとする。この場合に、スケジューリング制御部121aは、たとえば図21に示すようにスケジューリングマップ1900の0面1910に対してマッピングを行う。このように、UE#1〜#10の周期値がすべて11*n秒であるため、スケジューリングマップ1900の0面1910に対してUE#1〜#10をそれぞれ一定間隔で割り当てることができる。
この状態において、セッションタイマ管理部131aからスケジューリング制御部121aに対して、UE#11(周期値55秒)の追加が通知されたとする。この場合に、スケジューリング制御部121aは、図22に示すようにスケジューリングマップ1900の0面1910に対してマッピングを行う。すなわち、スケジューリング制御部121aは、図21に示したスケジューリングマップ1900の0面1910において空いている10秒目と65秒目のブロックにUE#11を割り当てる。
この状態において、セッションタイマ管理部131aからスケジューリング制御部121aに対して、UE#12(周期値44秒)の追加が通知されたとする。この場合に、スケジューリング制御部121aは、図22に示したスケジューリングマップ1900の0面1910において空いているブロックの検索を行う。
まず、スケジューリング制御部121aは、現在44秒の周期で利用している列を検索する。図22に示す例では7秒の列が該当する。つぎに、スケジューリング制御部121aは、検索した7秒の列において、7+44秒以内の範囲で空いているブロックを検索する。図22に示す例では、たとえば7+11秒目のブロックが該当する。
つぎに、スケジューリング制御部121aは、検索した7+11秒目のブロックから周期値(44秒)単位でUE#12を割り当てできるか否かを判断する。図22に示す例では初回で検索した7+11秒目と7+55秒目のブロックにUE#12を割り当てることができる。
ここではスケジューリング単位が66秒のスケジューリングマップ1900の0面1910を用いているため、66/44の商に1を加えた数のブロックにUE#12を割り当てることを要する。これに対して、上述したように7+11秒目と7+55秒目の2つのブロックにUE#12を割り当てることができる。このため、スケジューリング制御部121aは、図23に示すように、スケジューリングマップ1900の0面1910における7+11秒目と7+55秒目の2つのブロックにUE#12を割り当てる。
この状態において、セッションタイマ管理部131aからスケジューリング制御部121aに対して、UE#13(周期値44秒)の追加が通知されたとする。この場合に、スケジューリング制御部121aは、図23に示したスケジューリングマップ1900の0面1910において空いているブロックの検索を行う。
まず、スケジューリング制御部121aは、現在44秒の周期で利用している列を検索する。図23に示す例では7秒の列が該当する。つぎに、スケジューリング制御部121aは、検索した7秒の列において、7+44秒以内の範囲で空いているブロックを検索する。図23に示す例では、たとえば7+22秒目のブロックが該当する。
つぎに、スケジューリング制御部121aは、検索した7+22秒目のブロックから周期値(44秒)単位でUE#13を割り当てできるか否かを判断する。図23に示す例では、7+22秒目のブロックから44秒後の7+0秒目にはすでにUE#8が割り当てられているため、割り当てることができない。このため、UE#13を割り当てることができるブロックは1つ(7+22秒目のブロック)となる。
ここではスケジューリング単位が66秒のスケジューリングマップ1900の0面1910を用いているため、66/44の商に1を加えた数のブロックにUE#13を割り当てることを要する。これに対して、上述したようにUE#13を割り当てることができるブロックは1つである。このため、スケジューリング制御部121aは、7秒の列は利用不可と判断する。つぎに、スケジューリング制御部121aは、8秒目以降の列についても利用可能か否かを同様に判断するが、図23に示す例では利用不可である。
このため、スケジューリング制御部121aは、図24に示すように、スケジューリングマップ1900に1面1920を追加し、1面1920にUE#13を割り当てる。図24に示す例では、スケジューリング制御部121aは、1面1920における0秒目と44秒目の各ブロックにUE#13を割り当てている。
また、スケジューリング制御部121aは、11*n秒であって66秒より大きい周期値(たとえば77秒や88秒)のUEの追加がセッションタイマ管理部131aから通知された場合は、スケジューリングマップの再構築を行う。たとえば、スケジューリング制御部121aは、スケジューリングマップ1900におけるスケジューリング単位/スケジューリング解像度を拡張する。
素数である11に対応するスケジューリングマップ1900について説明したが、スケジューリング制御部121aは、複数の素数(たとえば2、3、5、7等)についても同様にスケジューリングマップを用いる。そして、セッションタイマ管理部131aから通知されたUEの周期値の素数(周期値が素数である場合はその素数)に対応するスケジューリングマップにそのUEを割り当てる。
(実施の形態にかかるスケジューリング制御部によるスケジューリング処理)
図25は、実施の形態にかかるスケジューリング制御部によるスケジューリング処理の他の例を示すフローチャートである。図25において、図19〜図24に示したスケジューリングを行うためのスケジューリング制御部121aによるスケジューリング処理を説明する。まず、スケジューリング制御部121aは、新たなUEの周期値の素数を素因数分解により算出する(ステップS2501)。
つぎに、スケジューリング制御部121aは、ステップS2501によって算出した素数に対応するスケジューリングマップの0面(最初の面)を選択する(ステップS2502)。つぎに、スケジューリング制御部121aは、ステップS2502によって選択したスケジューリングマップの0面において、新たなUEの周期値と同じ周期値で利用している列を検索する(ステップS2503)。
つぎに、スケジューリング制御部121aは、ステップS2503の検索の結果、新たなUEの周期値と同じ周期値で利用している列が存在するか否かを判断する(ステップS2504)。同じ周期値で利用している列が存在しないと判断した場合(ステップS2504:No)は、スケジューリング制御部121aは、ステップS2508へ移行する。
ステップS2504において、同じ周期値で利用している列が存在すると判断した場合(ステップS2504:Yes)は、スケジューリング制御部121aは、その列で空いているブロックを検索する(ステップS2505)。
つぎに、スケジューリング制御部121aは、ステップS2505の検索の結果、空いているブロックが存在するか否かを判断する(ステップS2506)。空いているブロックが存在すると判断した場合(ステップS2506:Yes)は、スケジューリング制御部121aは、その空いているブロックに新たなUEを割り当て(ステップS2507)、一連のスケジューリング処理を終了する。
ステップS2506において、空いているブロックが存在しないと判断した場合(ステップS2506:No)は、スケジューリング制御部121aは、ステップS2502によって選択した面の1行目(たとえば図19に示したスケジューリングマップ1900の0+の行)に空きがあるか否かを判断する(ステップS2508)。
ステップS2508において、1行目に空きがない場合(ステップS2508:No)は、スケジューリング制御部121aは、ステップS2509へ移行する。すなわち、スケジューリング制御部121aは、ステップS2501によって算出した素数に対応するスケジューリングマップに次の面が存在するか否かを判断する(ステップS2509)。
ステップS2509において、次の面が存在しないと判断した場合(ステップS2509:No)は、スケジューリング制御部121aは、ステップS2501により算出した素数に対応するスケジューリングマップに新たな面を追加する(ステップS2510)。つぎに、スケジューリング制御部121aは、ステップS2510により追加した面に新たなUEを割り当て(ステップS2511)、一連のスケジューリング処理を終了する。
ステップS2509において、次の面が存在すると判断した場合(ステップS2509:Yes)は、スケジューリング制御部121aは、その次の面を選択し、ステップS2503へ戻る。この場合は、スケジューリング制御部121aは、その次の面を対象としてステップS2503以降の処理を行う。
ステップS2508において、1行目に空きがある場合(ステップS2508:Yes)は、スケジューリング制御部121aは、その1行目に空きがある列のうちの同じ周期値で利用している列を検索する(ステップS2512)。つぎに、スケジューリング制御部121aは、ステップS2512による検索の結果、1行目に空きがある列のうちの同じ周期値で利用している列が存在するか否かを判断する(ステップS2513)。
ステップS2513において、同じ周期値で利用している列が存在しないと判断した場合(ステップS2513:No)は、スケジューリング制御部121aは、ステップS2509へ移行する。同じ周期値で利用している列が存在すると判断した場合(ステップS2513:Yes)は、スケジューリング制御部121aはステップS2514へ移行する。すなわち、スケジューリング制御部121aは、その同じ周期値で利用している列において空いているブロックに新たなUEを割り当て(ステップS2514)、一連のスケジューリング処理を終了する。ステップS2514において、空いているブロックに、新たなUEの周期値で新たなUEを割り当てられない場合は、たとえばステップS2510に移行してもよい。
図25に示したように、スケジューリング制御部121aは、周期値の素数を特定し、同一時間で利用している列を特定し、その中で設定可能な領域を検出した場合にその領域に新たなUEを割り当てる。
これにより、たとえば図18に示したスケジューリング処理のように想定できるすべてのケース(組み合わせ)についてシミュレーションを行わなくてもスケジューリングを行うことができる。また、スケジューリング制御部121aは、素数単位でスケジューリングマップを生成し、スケジューリング単位を素数の倍数にすることで、スケジューリングの処理を簡素化することができる。このため、スケジューリングにおける処理量を低減することができる。
(X2ハンドオーバ時のスケジューリング制御部の動作)
UE110においてX2ハンドオーバが発生すると、スケジューリング制御部121a〜121cのうちの、UE110のスケジューリングを行うスケジューリング制御部が変更される。たとえば、UE110がeNB120aからeNB120bへのX2ハンドオーバを行うと、UE110のスケジューリングを行うスケジューリング制御部がスケジューリング制御部121aからスケジューリング制御部121bに変更される。
この場合は、スケジューリング制御部121aは、UEの情報のうちのUE#1についての情報をスケジューリング制御部121bへ通知することにより情報移管を行う。また、スケジューリング制御部121aは、UEの情報のうちのUE#1についての情報を、スケジューリング制御部121aにおけるUEの情報から削除する。また、スケジューリング制御部121aは、セッションタイマ報告部151に対しても、UE110のスケジューリングを行うスケジューリング制御部がスケジューリング制御部121aからスケジューリング制御部121bに変更されたことを通知する。
スケジューリング制御部121bは、スケジューリング制御部121aから受信した情報に基づいてスケジューリング制御部121bのスケジューリングマップを更新する。そして、スケジューリング制御部121bは、更新したスケジューリングマップに基づくスケジューリング結果をUE110のセッションタイマ通知部112eへ通知する。
(S1ハンドオーバ時のセッションタイマ管理部の動作)
UE110においてS1ハンドオーバが発生すると、セッションタイマ管理部131a,131bのうちの、UE110のセッションタイマを管理するセッションタイマ管理部が変更される。たとえば、UE110がeNB120aからeNB120cへのS1ハンドオーバを行うと、UE110のセッションタイマを管理するセッションタイマ管理部がセッションタイマ管理部131aからセッションタイマ管理部131bに変更される。
この場合は、セッションタイマ管理部131aは、セッションタイマ管理部131aの情報テーブル600のうちのUE#1についての情報をセッションタイマ管理部131bへ通知することにより情報移管を行う。また、セッションタイマ管理部131aは、セッションタイマ管理部131aの情報テーブル600からUE#1についての情報を削除する。また、セッションタイマ管理部131aは、セッションタイマ報告部151に対しても、UE110のセッションタイマを管理するセッションタイマ管理部がセッションタイマ管理部131aからセッションタイマ管理部131bに変更されたことを通知する。
セッションタイマ管理部131bは、セッションタイマ管理部131aから受信した情報に基づいてセッションタイマ管理部131bの情報テーブルを更新する。そして、セッションタイマ管理部131bは、スケジューリング制御部121a〜121cのうちの該当するスケジューリング制御部およびUE識別子管理部141へ各情報を通知する。
(実施の形態にかかる無線通信システムの具体例)
図26は、実施の形態にかかる無線通信システムの具体例を示す図である。図26において、図1に示した部分と同様の部分については同一の符号を付して説明を省略する。図26に示すUE110a〜110c(UE#1〜#3)のそれぞれは、図1に示したUE110に対応する移動機である。
図26に示すエリア2601,2602は、それぞれMME130a,130bの配下のエリアである。エリア2601にはeNB120a,120bが含まれ、エリア2602にはeNB120cが含まれる。セル2611〜2613は、それぞれeNB120a〜120cが形成するセルである。
図26に示すサーバ150a〜150d(サーバ#1〜#4)のそれぞれは、図1に示したサーバ150に対応するサーバである。サーバ150a〜150dのID(サーバ識別子)をそれぞれ1〜4とする。また、サーバ150a〜150dにおけるセッションタイマ間隔(実タイマ値)をそれぞれ3秒、9秒、7秒、20秒とする。
図27〜図29に示す例では、UE110a(UE#1)が、eNB120a(eNB#1)を介してサーバ150a,150b(サーバ#1,#2)と通信を行っている。また、UE110b(UE#2)が、eNB120b(eNB#2)を介してサーバ150c,150d(サーバ#3,#4)と通信を行っている。
図27〜図46において、セル2611において待ち受け中のUE110cが、eNB120aを介してサーバ150a〜150dとの通信を開始し、さらに、UE110cが位置2621,2622の順に移動する場合について説明する。UE110cが位置2621に移動することにより、eNB120aからeNB120bへのハンドオーバが行われる。このハンドオーバは、エリア2601内でのハンドオーバであるため、接続先のMME(MME130a)の変更を伴わないX2ハンドオーバとなる。
また、UE110cが位置2621から位置2622に移動することにより、eNB120bからeNB120cへのハンドオーバが行われる。このハンドオーバは、エリア(エリア2601,2602)をまたぐハンドオーバであるため、接続先のMMEの変更(MME130aからMME130b)を伴うS1ハンドオーバとなる。
(実施の形態にかかるUE#1における設定情報)
図27は、実施の形態にかかるUE#1における設定情報の一例を示す図である。図27に示す設定情報2700は、図26に示したUE110a(UE#1)において設定された情報を示している。設定情報2700に示すように、UE110aには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒、開始ブロックとして0、周期値として3秒が設定されている。
また、設定情報2700に示すように、UE110aにはスケジューリングの補正値は設定されていない。また、設定情報2700に示すように、UE110aには、サーバ150a(サーバ#1)との通信のセッションにおける報告単位として1、サーバ150b(サーバ#2)との通信のセッションにおける報告単位として3が設定されている。
(実施の形態にかかるUE#2における設定情報)
図28は、実施の形態にかかるUE#2における設定情報の一例を示す図である。図28に示す設定情報2800は、図26に示したUE110b(UE#2)において設定された情報を示している。設定情報2800に示すように、UE110bには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒、開始ブロックとして0、周期値として7秒が設定されている。
また、設定情報2800に示すように、UE110bにはスケジューリングの補正値は設定されていない。また、設定情報2800に示すように、UE110bには、サーバ150c(サーバ#3)との通信のセッションにおける報告単位として1、サーバ150d(サーバ#4)との通信のセッションにおける報告単位として2が設定されている。
(実施の形態にかかるeNB#1における設定情報)
図29は、実施の形態にかかるeNB#1における設定情報の一例を示す図である。図29に示す設定情報2900は、図26に示したeNB120a(eNB#1)において設定された情報を示している。設定情報2900に示すように、eNB120aには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒が設定されている。
また、設定情報2900にはeNB120aにおけるスケジューリングマップの0面2901が含まれる。0面2901における“0”はUEの割り当てなしを示し、0面2901における“1”はUE110a(UE#1)の割り当てを示す。図29に示す例では、eNB120aにおけるスケジューリングマップの0面2901の0秒目、3秒目、6秒目、9秒目、…にUE110a(UE#1)が割り当てられている。
(実施の形態にかかるeNB#2における設定情報)
図30は、実施の形態にかかるeNB#2における設定情報の一例を示す図である。図30に示す設定情報3000は、図26に示したeNB120b(eNB#2)において設定された情報を示している。設定情報3000に示すように、eNB120bには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒が設定されている。
また、設定情報3000にはeNB120bにおけるスケジューリングマップの0面3001が含まれる。0面3001における“0”はUEの割り当てなしを示し、0面3001における“2”はUE110b(UE#2)の割り当てを示す。図30に示す例では、eNB120bにおけるスケジューリングマップの0面3001の0秒目、7秒目、14秒目、21秒目、…にUE110b(UE#2)が割り当てられている。
(実施の形態にかかるMME#1における設定情報)
図31は、実施の形態にかかるMME#1における設定情報の一例を示す図である。図31に示す設定情報3100は、図26に示したMME130a(MME#1)において設定された情報を示している。設定情報3100に示すように、設定情報3100には、UE110a(UE#1)についての情報テーブル3101と、UE110b(UE#2)についての情報テーブル3102と、が含まれる。図31に示す例では、設定情報3100はUE110cがeNB120aに接続する前における設定情報を示しており、設定情報3100にはUE110cについての情報テーブルは含まれていない。
情報テーブル3101には、UE110aの周期値として3秒が設定されている。また、情報テーブル3101には、UE110aとサーバ150a(ID:1)との間のセッションについて、実タイマ値として3秒、報告単位として1が設定されている。情報テーブル3102には、UE110bの周期値として7秒が設定されている。また、情報テーブル3102には、UE110bとサーバ150b(ID:2)との間のセッションについて、実タイマ値として20秒、報告単位として2が設定されている。
図27〜図31に示した各設定情報の他に、たとえば、PGW140には、UE110a(UE#1)に関する情報として、UE110aのIPアドレスや、UE110aの接続先のMME130a(MME#1)を示す情報が設定されている。また、PGW140には、UE110b(UE#2)に関する情報として、UE110bのIPアドレスや、UE110bの接続先のMME130a(MME#1)を示す情報が設定されている。
また、サーバ150a〜150dには、それぞれ自サーバとの間のセッションにおけるセッションタイマ間隔(実タイマ値)が設定されている。サーバ150a〜150dに設定されたセッションタイマ間隔は、それぞれ3秒、9秒、7秒、20秒であるとする。
(実施の形態にかかる無線通信システムにおける第1の処理)
図32および図33は、実施の形態にかかる無線通信システムにおける第1の処理の一例を示すシーケンス図である。図26に示した無線通信システム100においては、たとえば図32,図33に示す各ステップが実行される。
図32,図33においては、UE110c(UE#3)が、eNB120aに接続し、eNB120aを介してサーバ150a〜150dに接続する処理について説明する。UE110a,110b、eNB120a,120bおよびMME130aには、それぞれ図27〜図31に示した各設定情報が格納されているとする。
まず、図32に示すように、UE110cが、PGW140との間のコネクションの確立を要求するコネクション確立要求をeNB120aへ送信する(ステップS3201)。つぎに、eNB120aが、UE110cからのコネクション確立要求をMME130aへ送信する(ステップS3202)。つぎに、MME130aが、eNB120aからのコネクション確立要求をPGW140へ送信する(ステップS3203)。
つぎに、PGW140が、コネクション確立要求に対するコネクション確立応答をMME130aへ送信する(ステップS3204)。また、PGW140は、UE110cに対してIPアドレスを割り当て、UE110cに割り当てたIPアドレスを、ステップS3204によって送信するコネクション確立応答に格納する。また、PGW140は、UE110cに関する情報として、UE110cのIPアドレスや、UE110cの接続先のMME130a(MME#1)を示す情報を自装置に格納する。
つぎに、MME130aが、PGW140からのコネクション確立応答をeNB120aへ送信する(ステップS3205)。つぎに、eNB120aが、MME130aからのコネクション確立応答をUE110cへ送信する(ステップS3206)。これにより、UE110cとPGW140との間でコネクションが確立される(ステップS3207)。
つぎに、UE110cが、サーバ150aとの間のセッションの確立を要求するセッション確立要求を、eNB120aを介してPGW140へ送信したとする(ステップS3208)。つぎに、PGW140が、UE110cからのセッション確立要求をサーバ150aへ送信する(ステップS3209)。
つぎに、サーバ150aが、セッション確立要求に対するセッション確立応答をPGW140へ送信する(ステップS3210)。つぎに、PGW140が、サーバ150aからのセッション確立応答をUE110cへ送信する(ステップS3211)。これにより、UE110cとサーバ150aとの間でセッションが確立される。
また、サーバ150aは、UE110cとの間で確立したセッションにおけるセッションタイマ間隔(実タイマ値)を、UE110cのIPアドレスと対応付けてPGW140へ通知する(ステップS3212)。ステップS3212において通知されるセッションタイマ間隔は、たとえば3秒である。
つぎに、PGW140は、サーバ150aから通知されたセッションタイマ間隔を、サーバ150aのサーバ識別子(ID:1)およびUE110cのIPアドレスと対応付けてMME130aへ通知する(ステップS3213)。PGW140は、UE110cのIPアドレスからUE110cの接続先のMME130aを特定することができる。
つぎに、UE110cが、サーバ150bとの間のセッションの確立を要求するセッション確立要求を、eNB120aを介してPGW140へ送信したとする(ステップS3214)。つぎに、PGW140が、UE110cからのセッション確立要求をサーバ150bへ送信する(ステップS3215)。
つぎに、サーバ150bが、セッション確立要求に対するセッション確立応答をPGW140へ送信する(ステップS3216)。つぎに、PGW140が、サーバ150bからのセッション確立応答をUE110cへ送信する(ステップS3217)。これにより、UE110cとサーバ150bとの間でセッションが確立される。
また、サーバ150bは、UE110cとの間で確立したセッションにおけるセッションタイマ間隔(実タイマ値)を、UE110cのIPアドレスと対応付けてPGW140へ通知する(ステップS3218)。ステップS3218において通知されるセッションタイマ間隔は、たとえば9秒である。
つぎに、PGW140は、サーバ150bから通知されたセッションタイマ間隔を、サーバ150bのサーバ識別子(ID:2)およびUE110cのIPアドレスと対応付けてMME130aへ通知する(ステップS3219)。PGW140は、UE110cのIPアドレスからUE110cの接続先のMME130aを特定することができる。
つぎに、図33に示すように、UE110cが、サーバ150cとの間のセッションの確立を要求するセッション確立要求を、eNB120aを介してPGW140へ送信したとする(ステップS3220)。つぎに、PGW140が、UE110cからのセッション確立要求をサーバ150cへ送信する(ステップS3221)。
つぎに、サーバ150cが、セッション確立要求に対するセッション確立応答をPGW140へ送信する(ステップS3222)。つぎに、PGW140が、サーバ150cからのセッション確立応答をUE110cへ送信する(ステップS3223)。これにより、UE110cとサーバ150cとの間でセッションが確立される。
また、サーバ150cは、UE110cとの間で確立したセッションにおけるセッションタイマ間隔(実タイマ値)を、UE110cのIPアドレスと対応付けてPGW140へ通知する(ステップS3224)。ステップS3224において通知されるセッションタイマ間隔は、たとえば7秒である。
つぎに、PGW140は、サーバ150cから通知されたセッションタイマ間隔を、サーバ150cのサーバ識別子(ID:3)およびUE110cのIPアドレスと対応付けてMME130aへ通知する(ステップS3225)。PGW140は、UE110cのIPアドレスからUE110cの接続先のMME130aを特定することができる。
つぎに、UE110cが、サーバ150dとの間のセッションの確立を要求するセッション確立要求を、eNB120aを介してPGW140へ送信したとする(ステップS3226)。つぎに、PGW140が、UE110cからのセッション確立要求をサーバ150dへ送信する(ステップS3227)。
つぎに、サーバ150dが、セッション確立要求に対するセッション確立応答をPGW140へ送信する(ステップS3228)。つぎに、PGW140が、サーバ150dからのセッション確立応答をUE110cへ送信する(ステップS3229)。これにより、UE110cとサーバ150dとの間でセッションが確立される。
また、サーバ150dは、UE110cとの間で確立したセッションにおけるセッションタイマ間隔(実タイマ値)を、UE110cのIPアドレスと対応付けてPGW140へ通知する(ステップS3230)。ステップS3230において通知されるセッションタイマ間隔は、たとえば20秒である。
つぎに、PGW140は、サーバ150dから通知されたセッションタイマ間隔を、サーバ150dのサーバ識別子(ID:4)およびUE110cのIPアドレスと対応付けてMME130aへ通知する(ステップS3231)。PGW140は、UE110cのIPアドレスからUE110cの接続先のMME130aを特定することができる。
つぎに、MME130aが、ステップS3219,S3225,S3231によってPGW140から通知された各情報に基づいてUE110cについての情報テーブルを生成し、生成した情報テーブルをeNB120aへ送信する(ステップS3232)。なお、ステップS3232において、MME130aは、UE110cについての情報テーブルのすべてを送信するのではなく、UE110cについての情報テーブルの一部のみを送信してもよい。たとえば、MME130aは、UE110cについての情報テーブルにおける実タイマ値や接続先のeNBを示す情報等については送信しなくてもよい。
つぎに、eNB120aが、MME130aから通知されたUE110cについての情報テーブルをeNB120aのスケジューリングマップに反映させ、スケジューリングマップに基づくスケジューリング結果をUE110cへ送信する(ステップS3233)。ステップS3233によって送信されるスケジューリング結果には、たとえば、基準時刻、スケジューリング解像度、スケジューリング単位、開始ブロック、周期値、補正値、セッション(サーバ)毎の報告単位が含まれる。
なお、ここではステップS3232,S3233の処理を、ステップS3219,S3225,S3231による各通知に対してまとめて行う場合について説明した。ただし、このような処理に限らず、ステップS3232,S3233の処理を、ステップS3219,S3225,S3231による各通知に対してそれぞれ行うようにしてもよい。
(実施の形態にかかるUE#3の情報テーブル)
図34は、実施の形態にかかるUE#3の情報テーブルの一例を示す図である。MME130aは、図32,図33に示したステップS3219,S3225,S3231によってPGW140から通知された各情報に基づいて、UE110cについての情報テーブルとして、たとえば図34に示す情報テーブル3400を生成する。そして、MME130aは、図33に示したステップS3232において、UE110cについての情報テーブルとして情報テーブル3400をeNB120aへ送信する。
情報テーブル3400には、UE110cの周期値として3秒が設定されている。また、情報テーブル3400には、UE110cとサーバ150a(ID:1)との間のセッションについて、実タイマ値として3秒、報告単位として1が設定されている。また、情報テーブル3400には、UE110cとサーバ150b(ID:2)との間のセッションについて、実タイマ値として9秒、報告単位として3が設定されている。
また、情報テーブル3400には、UE110cとサーバ150c(ID:3)との間のセッションについて、実タイマ値として7秒、報告単位として2が設定されている。また、情報テーブル3400には、UE110cとサーバ150d(ID:4)との間のセッションについて、実タイマ値として20秒、報告単位として6が設定されている。
(実施の形態にかかるMME#1における変更後の設定情報)
図35は、実施の形態にかかるMME#1における変更後の設定情報(その1)の一例を示す図である。MME130aが図34に示した情報テーブル3400を生成することにより、MME130a(MME#1)における設定情報3100は、図35に示す設定情報3100のようになる。すなわち、設定情報3100は、図31に示した情報テーブル3101,3102に加えて、図34に示したUE110cについての情報テーブル3400が含まれている。
(実施の形態にかかるeNB#1における変更後の設定情報)
図36は、実施の形態にかかるeNB#1における変更後の設定情報(その1)の一例を示す図である。eNB120aが、MME130aから通知されたUE110cについての情報テーブル3400をeNB120aのスケジューリングマップに反映させることにより、eNB120aにおける設定情報2900は図36に示す設定情報2900のようになる。
設定情報2900のスケジューリングマップの0面2901における“1”はUE110c(UE#3)の割り当てを示す。すなわち、設定情報2900のスケジューリングマップの0面2901には、UE110a,110cがマッピングされている。図36に示す例では、eNB120aにおけるスケジューリングマップの0面2901の1秒目、4秒目、7秒目、10秒目、…にUE110c(UE#3)が割り当てられている。
(実施の形態にかかるUE#3における設定情報)
図37は、実施の形態にかかるUE#3における設定情報の一例を示す図である。図37に示す設定情報3700は、図33に示したステップS3233によってeNB120aから送信されたスケジューリング結果に基づいてUE110c(UE#3)において設定された情報を示している。設定情報3700に示すように、UE110cには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒、開始ブロックとして0、周期値として3秒が設定されている。また、設定情報3700に示すように、UE110cにはスケジューリングの補正値は設定されていない。
また、設定情報3700に示すように、UE110cには、サーバ150a(サーバ#1)との通信のセッションにおける報告単位として1、サーバ150b(サーバ#2)との通信のセッションにおける報告単位として3が設定されている。また、設定情報3700に示すように、UE110cには、サーバ150c(サーバ#3)との通信のセッションにおける報告単位として2、サーバ150d(サーバ#4)との通信のセッションにおける報告単位として6が設定されている。
(実施の形態にかかる無線通信システムにおける第2の処理)
図38は、実施の形態にかかる無線通信システムにおける第2の処理の一例を示すシーケンス図である。実施の形態にかかる無線通信システム100においては、図32,図33に示した各ステップの後に、たとえば図38に示す各ステップが実行される。
まず、現在時刻が2015/01/01 00:01:00:000になったとする。この時刻は、UE110a〜110cに設定された基準時刻から0秒目の時刻であり、この時刻にはUE110a(開始ブロックが0)およびUE110b(開始ブロックが0)が割り当てられている。
このため、UE110aとサーバ150aとの間で、eNB120aを介してセッション維持プロトコルが実行される(ステップS3801)。また、UE110bとサーバ150bとの間で、eNB120bを介してセッション維持プロトコルが実行される(ステップS3802)。
つぎに、1秒が経過し、現在時刻が2015/01/01 00:01:01:000になったとする。この時刻は、UE110a〜110cに設定された基準時刻から1秒目の時刻であり、この時刻にはUE110c(開始ブロックが1)が割り当てられている。このため、UE110cとサーバ150aとの間で、eNB120aを介してセッション維持プロトコルが実行される(ステップS3803)。
つぎに、3秒が経過し、現在時刻が2015/01/01 00:01:04:000になったとする。この時刻は、UE110a〜110cに設定された基準時刻から4秒目の時刻であり、この時刻にはUE110c(開始ブロックが1、周期値が3秒)が割り当てられている。このため、UE110cとサーバ150aとの間で、eNB120aを介してセッション維持プロトコルが実行される(ステップS3804)。また、UE110cとサーバ150cとの間で、eNB120aを介してセッション維持プロトコルが実行される(ステップS3805)。
(実施の形態にかかる無線通信システムにおける第3の処理)
図39は、実施の形態にかかる無線通信システムにおける第3の処理の一例を示すシーケンス図である。実施の形態にかかる無線通信システム100においては、図38に示した各ステップの後、時刻2015/01/01 00:01:05:000において、UE110c(UE#3)がeNB120aからeNB120bへX2ハンドオーバする場合について説明する。
まず、ハンドオーバ元のeNB120aが、ハンドオーバ先のeNB120bへ、UE110cのハンドオーバを指示するハンドオーバ指示を送信する(ステップS3901)。また、eNB120aは、ステップS3901によって送信するハンドオーバ指示に、ハンドオーバ対象のUE110cについての情報テーブル(たとえば図34に示した情報テーブル3400)を格納する。また、eNB120aは、eNB120bへのハンドオーバを指示するハンドオーバ指示をUE110cへ送信する(ステップS3902)。
つぎに、eNB120bが、UE110cがeNB120bへハンドオーバすることを示すハンドオーバ情報をMME130aへ送信する(ステップS3903)。このとき、eNB120bは、ステップS3901によって受信したハンドオーバ指示に含まれるUE110cについての情報テーブルを、ステップS3903によって送信するハンドオーバ情報に格納する。
また、eNB120bが、ステップS3901によって受信したハンドオーバ指示に含まれるUE110cについての情報テーブルをeNB120aのスケジューリングマップに反映させる。そして、eNB120bは、UE110cについての情報テーブルを反映させたスケジューリングマップに基づくスケジューリング結果をUE110cへ送信する(ステップS3904)。
(実施の形態にかかるeNB#1における変更後の設定情報)
図40は、実施の形態にかかるeNB#1における変更後の設定情報(その2)の一例を示す図である。eNB120aは、図39に示したステップS3901によってUE110cについての情報テーブルをeNB120bへ通知すると、図40に示すように、eNB120aの設定情報2900からUE110cについての情報テーブルを削除する。たとえば、eNB120aは、設定情報2900のスケジューリングマップの0面2901からUE110cの割り当て(3)を削除する。
(実施の形態にかかるMME#1における変更後の設定情報)
図41は、実施の形態にかかるMME#1における変更後の設定情報(その2)の一例を示す図である。MME130a(MME#1)は、図39に示したステップS3903によってeNB120bから受信したハンドオーバ情報に基づいて、MME130aの設定情報3100を図41に示すように更新する。たとえば、MME130aは、ハンドオーバ情報に含まれるUE110cについての情報テーブル3400を設定情報3100に追加する。また、MME130aは、ハンドオーバ情報に基づいて、UE110cの接続先としてeNB120b(eNB#2)を記憶する。
(実施の形態にかかるeNB#2における変更後の設定情報)
図42は、実施の形態にかかるeNB#2における変更後の設定情報の一例を示す図である。eNB120b(eNB#2)は、図39に示したステップS3901によってeNB120aから受信したハンドオーバ指示に含まれるUE110cについての情報テーブルを、設定情報3000のスケジューリングマップに反映させる。
このとき、現在時刻が基準時刻から5秒経過しているため、eNB120bは、現在時刻から2秒以内に周期値がくるように、UE110cの開始ブロックを2としてUE110cをマッピングする。その結果、図42に示す例では、設定情報3000のスケジューリングマップに1面4201が追加されている。
eNB120bは、図39に示したステップS3904において、図42に示す設定情報3000のスケジューリングマップの0面3001および1面4201に基づくスケジューリング結果をUE110cへ送信する。
(実施の形態にかかるUE#3における変更後の設定情報)
図43は、実施の形態にかかるUE#3における変更後の設定情報(その1)の一例を示す図である。UE110c(UE#3)における設定情報3700は、図39に示したステップS3904によってeNB120bから受信したスケジューリング結果に基づいて、図43に示す設定情報3700のようになる。
図43に示すように、UE110cには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒、開始ブロックとして2、周期値として3秒が設定されている。また、図43の設定情報3700に示すように、UE110cにはスケジューリングの補正値は設定されていない。また、図43に示す設定情報3700におけるサーバ毎の情報は、図37に示した設定情報3700と同様である。
(実施の形態にかかる無線通信システムにおける第4の処理)
図44は、実施の形態にかかる無線通信システムにおける第4の処理の一例を示すシーケンス図である。実施の形態にかかる無線通信システム100においては、図39に示した各ステップの後、時刻2015/01/01 00:01:06:000において、UE110c(UE#3)がeNB120bからeNB120cへS1ハンドオーバする場合について説明する。
まず、eNB120bが、UE110cについてeNB120cへのハンドオーバを要求するハンドオーバ要求をMME130aへ送信する(ステップS4401)。つぎに、MME130aが、eNB120bからのハンドオーバ要求をMME130bへ送信する(ステップS4402)。また、MME130aは、UE110c(UE#3)についての情報テーブルを、ステップS4402によって送信するハンドオーバ要求に格納する。
つぎに、MME130bが、MME130aからのハンドオーバ要求をeNB120cへ送信する(ステップS4403)。なお、ステップS4403によって送信されるハンドオーバ要求には、UE110cについての情報テーブルは含めなくてもよい。また、MME130bは、MME130aから受信したハンドオーバ要求に対するハンドオーバ応答をMME130aへ送信する(ステップS4404)。
つぎに、MME130aが、MME130bからのハンドオーバ応答をeNB120bへ送信する(ステップS4405)。また、MME130aは、MME130aの設定情報3100から、UE110cについての情報テーブルを削除する。その結果、MME130aの設定情報3100は、図31に示した設定情報3100と同様になる。
つぎに、eNB120bが、eNB120cへハンドオーバすることを指示するハンドオーバ指示をUE110cへ送信する(ステップS4406)。また、eNB120bは、eNB120bのスケジューリングマップからUE110cを削除する。その結果、eNB120bの設定情報3000は、図30に示した設定情報3000と同様になる。
つぎに、UE110cが、ハンドオーバが完了したことを示すハンドオーバ完了通知をeNB120cへ送信する(ステップS4407)。つぎに、eNB120cが、UE110cからのハンドオーバ完了通知をMME130bへ送信する(ステップS4408)。つぎに、MME130bが、UE110cの接続先がMME130bに変更されたことを示すUE接続変更通知をPGW140へ送信する(ステップS4409)。これに対して、PGW140は、UE110cのIPアドレスと、UE110cの接続先のMME130bと、を対応付けて記憶する。
また、MME130bは、UE110c(UE#3)についての情報テーブルをeNB120cへ送信する(ステップS4410)。なお、ステップS4403によって送信されるハンドオーバ要求にUE110cについての情報テーブルが含まれている場合はステップS4410を省略してもよい。
つぎに、eNB120cが、MME130bから受信したUE110cについての情報テーブルをeNB120cのスケジューリングマップに反映させる。そして、eNB120cは、UE110cについての情報テーブルを反映させたスケジューリングマップに基づくスケジューリング結果をUE110cへ送信する(ステップS4411)。
(実施の形態にかかるeNB#3における設定情報)
図45は、実施の形態にかかるeNB#3における設定情報の一例を示す図である。図45に示す設定情報4500は、たとえば図44に示したステップS4410によってUE110cについての情報テーブルが通知されることによってeNB120c(eNB#3)に設定される情報である。
設定情報4500に示すように、eNB120cには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒が設定されている。
また、設定情報4500にはeNB120cにおけるスケジューリングマップの0面4501が含まれる。0面4501における“0”はUEの割り当てなしを示し、0面4501における“3”はUE110c(UE#3)の割り当てを示す。図45に示す例では、eNB120cにおけるスケジューリングマップの0面4501の0秒目、3秒目、6秒目、9秒目、…にUE110c(UE#3)が割り当てられている。
(実施の形態にかかるUE#3における変更後の設定情報)
図46は、実施の形態にかかるUE#3における変更後の設定情報(その2)の一例を示す図である。UE110c(UE#3)における設定情報3700は、図44に示したステップS4411によってeNB120cから受信したスケジューリング結果に基づいて、図46に示す設定情報3700のようになる。
図46に示すように、UE110cには、基準時刻として2015/01/01 00:00:00:000、スケジューリング解像度として1秒、スケジューリング単位として60秒、開始ブロックとして0、周期値として3秒が設定されている。また、図46の設定情報3700に示すように、UE110cにはスケジューリングの補正値は設定されていない。また、図46に示す設定情報3700におけるサーバ毎の情報は、図37に示した設定情報3700と同様である。
このように、実施の形態によれば、たとえばセッションタイマ管理部131aが、UE110が確立した各セッションのタイムアウト時間(セッションタイマ間隔)のうちの最短のタイムアウト時間を算出する。また、セッションタイマ管理部131aが、算出した最短のタイムアウト時間に基づいて、UE110のセッション維持信号への無線リソースの割り当て周期(周期値)を決定することができる。そして、セッションタイマ管理部131aが、決定した割り当て周期に基づいてUE110によるセッション維持信号の送信周期を調整することができる。これにより、セッション維持における無線リソースの利用効率を向上させ、UE(移動機)の省電力化を図ることができる。
この場合は、セッションタイマ管理部131aを有するMME130aが、UE110によるセッション維持信号の送信周期を調整する送信周期調整装置となる。ただし、UE110によるセッション維持信号の送信周期を調整する送信周期調整装置は、MME130aに限らず、たとえばeNB120a、PGW140、eNB120aとPGW140との間のSGW等に適用することも可能である。
また、eNB120a(同一の無線基地局装置)との無線通信を介してサーバ150a〜150dとセッションを確立する複数のUE(たとえばUE110a,110b)が存在する場合がある。この場合に、実施の形態によれば、たとえばスケジューリング制御部121aが、UE110a,110bのそれぞれについて決定された割り当て周期に基づいて、UE110a,110bのセッション維持信号の送信タイミングを調整することができる。このとき、スケジューリング制御部121aは、UE110a,110bの間でセッション維持信号の送信タイミングが分散するように調整する。これにより、同一の無線基地局装置(セル内)におけるセッション維持信号の送信タイミングを分散させ、セル内での無線リソースの多重消費を抑制することができる。このため、同一の無線基地局装置(セル内)の無線リソースの消費量を低減することができる。
この場合は、スケジューリング制御部121aを有するeNB120aが、UE110によるセッション維持信号の送信タイミングを調整する送信タイミング調整装置となる。ただし、UE110によるセッション維持信号の送信タイミングを調整する送信タイミング調整装置は、eNB120aに限らず、たとえばMME130a、PGW140、eNB120aとPGW140との間のSGW等に適用することも可能である。
以上説明したように、無線通信システム、送信周期調整装置および移動機によれば、セッション維持における無線リソースの利用効率を向上させ、移動機の省電力化を図ることができる。
たとえば、従来、携帯電話等のUEにおいて、さまざまなプロトコルが搭載されており、そのプロトコルが他のプロトコルに依存せず独立して動作している。それらのプロトコルが動作するたびに、UEとネットワークとの間で無線伝送路が確立され、動作終了後に無線伝送路の解放が行われるため、無線リソースの利用効率の低下や、UEやネットワーク装置における消費電力の増加の要因にもなっている。
たとえば、各プロトコルがそれぞれ独立してセッション維持動作を行うと、各プロトコルにおけるセッション維持動作のタイミングによっては、無線伝送路の確立の頻度が高くなり、無線伝送路が確立されている期間が長くなる。このため、無線リソースの利用効率が悪くなり、UEにおける消費電力が大きくなる場合がある。
また、セル内に複数のUEが存在する場合に、複数のUEが時間的に重複してセッション維持動作を行うことで、セッション維持のためだけに一時的に無線リソースの多重消費が発生する。このため、セル内の無線リソースの消費量が大きくなる場合がある。
これに対して、上述した実施の形態によれば、UE毎にセッションタイマが周期値の倍数となるように制御することにより、複数のプロトコルのセッション維持信号をまとめて送信することが可能になる。したがって、セッション維持動作による無線伝送路の確立の頻度を減らし、セッション維持における無線リソースの利用効率を向上させることができる。このため、UEの省電力化を図ることができる。UEの省電力化を図ることで、たとえばUEにおける待ち受け可能時間や通話可能時間等を向上させることができる。
また、上述した実施の形態によれば、各UEが行うセッション維持動作について、各UEのセッション維持動作のタイミングが分散するようにスケジューリングを行うことにより、セル内での無線リソースの多重消費を抑制することができる。このため、セル内の無線リソースの消費量を低減することができる。セル内の無線リソースの消費量を低減することにより、たとえば、UEのデータ通信に割り当て可能な無線リソースを増やしてスループットを向上させることができる。
上述した各実施の形態に関し、さらに以下の付記を開示する。
(付記1)無線基地局装置との無線通信を介してサーバ装置とセッションを確立する移動機であって、前記セッションを維持するためのセッション維持信号を前記セッション維持信号に対して割り当てられた無線リソースを用いて送信する移動機と、
前記移動機が確立した前記セッション毎に前記セッション維持信号について設定されたタイムアウト時間を特定し、特定した前記タイムアウト時間のうちの最短のタイムアウト時間に基づいて前記無線リソースの割り当て周期を決定し、決定した前記割り当て周期に基づいて前記移動機による前記セッション維持信号の送信周期を調整する送信周期調整装置と、
を含むことを特徴とする無線通信システム。
(付記2)前記送信周期調整装置は、前記移動機が確立した前記セッション毎に、前記セッション維持信号の送信周期を、前記最短のタイムアウト時間の整数倍であって前記セッションについて設定された前記タイムアウト時間を超えないように調整することを特徴とする付記1に記載の無線通信システム。
(付記3)同一の無線基地局装置との無線通信を介してそれぞれサーバ装置とセッションを確立する複数の前記移動機を含み、
前記送信周期調整装置によって前記移動機のそれぞれについて決定された前記割り当て周期に基づいて、前記移動機の間で前記セッション維持信号の送信タイミングが分散するように前記移動機のそれぞれにおける前記セッション維持信号の送信タイミングを調整する送信タイミング調整装置を含む、
ことを特徴とする付記1または2に記載の無線通信システム。
(付記4)前記送信タイミング調整装置は、それぞれ異なる素数に対応する複数のスケジューリングマップを生成し、前記移動機のそれぞれについて、前記複数のスケジューリングマップのうちの前記移動機について決定された前記割り当て周期に基づく素数に対応するスケジューリングマップに前記移動機を割り当てることにより前記セッション維持信号の送信タイミングを調整することを特徴とする付記3に記載の無線通信システム。
(付記5)無線基地局装置との無線通信を介してサーバ装置とセッションを確立する移動機であって、前記セッションを維持するためのセッション維持信号を前記セッション維持信号に対して割り当てられた無線リソースを用いて送信する移動機について、前記移動機が確立した前記セッション毎に前記セッション維持信号について設定されたタイムアウト時間を特定し、特定した前記タイムアウト時間のうちの最短のタイムアウト時間に基づいて前記無線リソースの割り当て周期を決定する決定部と、
前記決定部によって決定された前記割り当て周期に基づいて前記移動機による前記セッション維持信号の送信周期を調整する調整部と、
を備えることを特徴とする送信周期調整装置。
(付記6)無線基地局装置との無線通信を介してサーバ装置とセッションを確立する移動機であって、
前記セッションを維持するためのセッション維持信号を前記セッション維持信号に対して割り当てられた無線リソースを用いて送信する送信部と、
自機が確立した前記セッション毎の前記セッション維持信号の送信周期を示す情報であって、自機が確立した前記セッション毎に前記セッション維持信号について設定されたタイムアウト時間のうちの最短のタイムアウト時間の整数倍に設定された送信周期を示す情報を、前記無線基地局装置を介して受信する受信部と、
を備え、前記送信部は、前記受信部によって受信された前記情報に基づくタイミングにより、自機が確立した前記セッション毎の前記セッション維持信号を送信する、
ことを特徴とする移動機。