本発明の移動通信端末を有する本発明の実施の形態における移動通信網の構成の概要を図1に示す。
本発明にかかる移動通信網は多数のセルを有しているが、図1ではその内のセルAとセルBとの2つだけを示している。さらに、移動通信網を構成しているノードが示されているが、セルAとセルBに関連するノードだけが示されている。セルAには基地局(BS)2が設けられており、セルAに在圏している移動通信端末である移動機の通信制御は基地局2が行っている。基地局2は回線交換ベアラ2aを備えており、回線交換ベアラ2aにより回線交換機能が提供されている。また、セルAに隣接するセルBには基地局(BS)3が設けられており、セルBに在圏している移動通信端末である移動機の通信制御は基地局3が行っている。基地局3は回線交換ベアラ3aおよびパケットベアラ3bを有しており、回線交換ベアラ3aにより回線交換機能が提供され、パケットベアラ3bによりパケット交換機能が提供されている。すなわち、基地局2はパケット交換機能を備えていないが、基地局3はパケット交換機能を備えている。なお、図示していない基地局も含めて、全ての基地局は回線交換機能を備えているが、パケット交換機能をも備える基地局はその一部とされている。
ここで、移動機1が、回線交換機能しかサポートしていない基地局2を備えるセルAに在圏すると、データ通信を行う際には回線交換ベアラ2aを使用してデータ通信を行うことになる。従って、データ通信を行う毎に通信チャネルの割り当て処理を実行して通信チャネルを割り当ててデータ通信を行う必要があり、大きなサイズのデータの通信は効率的に行えるもの、サイズの小さいデータの通信は効率的な通信ができないことになる。これに対して、移動機1が、回線交換機能およびパケット交換機能を共にサポートしている基地局3を備えるセルBに在圏すると、データ通信を行う際に回線交換ベアラ3aあるいはパケットベアラ3bのいずれかを選択してデータ通信を行うことができる。従って、大きなサイズのデータの通信は回線交換ベアラを使用して効率的に行えると共に、サイズの小さいデータの通信はパケットベアラ3bを使用して効率的にデータ通信を行うことができるようになる。
そこで、本発明にかかる移動通信網では、図2および図3に示すフローチャートで示される移動機在圏処理を移動機1が実行することにより、セルB等の回線交換機能およびパケット交換機能をサポートしているセルに移動機1を極力在圏させるようにしている。
図2および図3に示す移動機在圏処理のフローチャートを説明する前に、前提となる移動機と基地局との接続の確立について説明する。移動通信端末である移動機において電源が投入された際には、基地局との制御を確立するために、最初に基地局から送信されている報知チャネル(BCCH)がサーチされる。この場合、移動機の周囲には複数の基地局(セル)が存在していることから、移動機は複数の基地局からの報知チャネルを受信することができる。この報知チャネルの候補チャネルはとまり木チャネルといわれ、とまり木チャネルの候補となる複数のチャネルが移動機を製造する段階で予め移動機内に記憶されている。そこで、電源を投入した際に移動機はとまり木チャネルをスキャンすることにより、それぞれのとまり木チャネルの搬送波電力レベルを検出する。次いで、搬送波電力のレベル順とされたとまり木チャネルのレベル順テーブルを作成し、このレベル順テーブルの順番で該当するチャネルに同期し、共通制御チャネルであることの確認を行い報知チャネルを受信することにより、移動機と基地局との接続を確立するようにしている。
そして、本発明にかかる移動通信網においては、回線交換機能およびパケット交換機能をサポートしているセルに移動機を極力在圏させるために、受信した報知チャネルの報知情報メッセージから、報知チャネルを送信している基地局がパケット交換機能をサポートしているか否かを認識する。ここで、接続の確立された基地局がパケット交換機能をサポートしている場合は、そのまま当該基地局におけるセルに在圏すればよい。また、パケット交換機能をサポートしていない場合は、レベル順テーブルにおける次の順番のとまり木チャネルの報知チャネルを受信して、当該報知チャネルを送信している基地局がパケット交換機能をサポートしているか否かを認識する。この処理においても、報知チャネルを送信している基地局がパケット交換機能をもサポートしていない場合は、繰り返し上記処理を行う。これにより、周辺に位置するパケット交換機能をもサポートしているセルが存在すれば、そのセルに在圏することができるようになる。しかしながら、上記処理を実行することによりパケット交換機能をもサポートしているセルに在圏させるには、電源投入した時点からユーザが違和感を覚えるほどの処理時間がかかる場合が生じるおそれがある。
そこで、本発明にかかる移動通信網においては、図2および図3のフローチャートで示す移動機在圏処理を移動機1が実行するようにしている。この場合、移動機1は以前在圏したパケット交換機能をもサポートしている基地局のとまり木チャネル番号を記憶していることが前提とされている。
図2および図3のフローチャートで示す移動機在圏処理を説明すると、電源を投入した際やタイマ起動により移動機在圏処理はスタートされ、ステップS1にて電源投入あるいは通信終了後の通常待ち受け時か否かが判断される。ここで、電源投入あるいは通常待ち受け時と判断されるとステップS2に進んで現在在圏しているセルはパケット交換機能をもサポートしているか否かが判断される。この場合、在圏しているセルの基地局が送信している報知チャネルの報知情報メッセージから、パケット交換機能をサポートしているか否かを判断する。ここで、在圏しているセルがパケット交換機能をサポートしていると判断された場合は、ステップS9に分岐してパケット交換機能をサポートしている現在在圏しているセルにそのまま在圏するようにして移動機在圏処理は終了する。
また、ステップS2にて在圏しているセルがパケット交換機能をサポートしていないと判断された場合は、ステップS3に進んでとまり木チャネル番号nを1に設定し、ステップS4にて記憶されている最初のとまり木チャネル番号「1」における搬送波電力のレベルが検出される。次いで、ステップS5にて検出されたレベルがパケット待ち受け許可レベル差以内か否かが判断される。ここで、検出されたレベルがパケット待ち受け許可レベル差以内であれば、ステップS10に分岐してそのとまり木チャネル番号に対応するパケット交換機能をサポートしているセルに在圏するようにする。具体的に例を上げて説明すると、図1に示す移動機1は、例えばセルBに在圏したことがあり移動機1には少なくともセルBのとまり木チャネルが記憶されているものとする。そこで、移動機1において電源を投入した際や通信終了後の通常待ち受け時において、記憶されているセルBのとまり木チャネルにおける搬送波電力レベルを検出する。この際、移動機1は図1に示すようにセルBの周縁部に位置しているため、セルAのレベルより若干小さいもののパケット待ち受け許可レベル差以内の十分なレベルが得られる。これにより、移動機1はセルBに在圏することができるようになる。このように、移動機1はわずかな処理時間を費やすだけでパケット交換機能をもサポートしているセルBに直ちに在圏することができ、回線交換ベアラ3aあるいはパケットベアラ3bを選択して効率的にデータ通信を行うことができるようになる。
また、ステップS5にて設定されたとまり木チャネルの検出されたレベルがパケット待ち受け許可レベル差以内でないと判断された場合は、ステップS6に進んで設定されているとまり木チャネルが記憶されている最後のチャネルか否かが判断される。ここでは、n=1に設定されているので最後のチャネルではないと判断されてステップS7に進みnが1だけインクリメントされとまり木チャネル番号nが次のとまり木チャネルの番号とされる。そして、ステップS4に戻り上述したパケット交換機能をサポートするセルをサーチする処理が繰り返し行われるようになる。この処理において、順次インクリメントされたいずれかのとまり木チャネル番号において検出されたレベルがパケット待ち受け許可レベル差以内と判断された場合は、ステップS10に分岐してそのとまり木チャネル番号に対応するパケット交換機能をサポートしているセルに在圏して移動機在圏処理は終了する。また、記憶されている最後のとまり木チャネル番号まで処理しても検出されたレベルがパケット待ち受け許可レベル差以内でないと判断された場合は、ステップS6からステップS11に分岐して、在圏するパケット交換機能の未サポートセルに在圏するようにされる。このように、以前在圏したことのあるパケット交換機能のサポートセルのとまり木チャネルをスキャンしていくようにしたので、移動機1はユーザに違和感を与えることなくわずかな処理時間を費やすだけで、パケット交換機能をもサポートしているセルに在圏できる確率を高くすることができるようになる。
ところで、ステップS1にて通常待ち受け時ではないと判断された場合は、ステップS8に進んでユーザがデータ通信の起動要求をしているか判断される。ここで、データ通信の起動要求をしていないと判断された場合は、ステップS1に戻り通常待ち受けになるかデータ通信の起動要求が発生するまで待機される。
また、ステップS8にてユーザがデータ通信の起動要求をしていると判断された場合は、図3に示すステップS12に進む。このステップS12にて現在在圏しているセルはパケット交換機能をもサポートしているか否かが判断される。この場合、在圏しているセルの基地局が送信している報知チャネルの報知情報メッセージから、パケット交換機能をサポートしているか否かを判断する。ここで、在圏しているセルがパケット交換機能をサポートしていると判断された場合は、ステップS18に分岐してパケット交換機能をサポートしている現在在圏しているセルにそのまま在圏するようにして移動機在圏処理は終了する。
また、ステップS12にて在圏しているセルがパケット交換機能をサポートしていないあるいはパケット交換機能をサポートしているがパケットベアラの使用が規制されているパケット規制セルと判断された場合は、ステップS13に進んでタイマが起動される。次いで、ステップS14にてとまり木チャネル番号をスキャンしてパケット待ち受け許可レベル差以内のパケット交換機能をサポートしているセルをサーチし、該当するセルがサーチできたか否かがステップS15にて判断される。ここで、パケット待ち受け許可レベル差以内のパケット交換機能をサポートしているセルがサーチできたと判断された場合は、ステップS19に分岐してパケット交換機能をサポートしているサーチされたセルに在圏する。そして、移動機在圏処理は終了する。
具体的に例を上げて説明すると、図1に示すように移動機1はセルAに在圏しており、移動機1においてデータ通信の起動要求ボタンをユーザが操作したとする。この場合、セルAはパケット交換機能をサポートしていないので、移動機1はとまり木チャネルをスキャンしてセルBにおけるとまり木チャネルを受信し、その搬送波電力レベルを検出する。この際、移動機1は図1に示すようにセルBの周縁部に位置しているため、セルAのレベルより若干小さいもののパケット待ち受け許可レベル差以内の十分なレベルが得られる。さらに、その報知チャネルの報知情報メッセージからセルBがパケット交換機能をサポートしていることを認識することができ、この結果、移動機1はセルBに在圏することができるようになる。これにより、移動機1はわずかな処理時間を費やすだけでパケット交換機能をもサポートしているセルBに在圏することができ、回線交換ベアラ3aあるいはパケットベアラ3bを選択して効率的にデータ通信を行うことができるようになる。
また、ステップS15にてサーチできなかったと判断された場合はステップS16にてタイマ時間が終了したか否かが判断されて、タイマ時間が終了するまでステップS14およびステップS15の処理が繰り返し行われる。そして、ステップS19へ分岐することなくタイマ時間が終了した場合は、ステップS17に進んで在圏するパケット交換機能の未サポートセルに在圏するようにされる。そして、移動機在圏処理は終了する。移動機在圏処理が終了すると、ユーザが起動要求したデータ通信がスタートされ、例えば、メールの送信処理や受信処理あるいはウェブへのアクセスが行われるようになる。このように、データ通信起動要求がされた場合はタイマ時間中だけパケット交換機能をサポートするセルのサーチを行うようにしたので、移動機1はユーザに違和感を与えることなく、パケット交換機能をもサポートしているセルに在圏するための処理を行うことができるようになる。
このようにして、移動機1を回線交換機能に加えてパケット交換機能をもサポートするセルに極力在圏させることができるようになる。図1に戻り、基地局2および基地局3は、MSC(Mobile Switching Center)4に接続されている。MSC4は、SMSC5、DAS7、PMSC9の各ベアラ交換機と基地局2,3,・・・とを中継する交換機である。SMSC(Short Message Service Center)5はショートメッセージベアラをサポートするショートメッセージ用の交換機であり、MMTA(Mobile Message Transfer Agent)10がメールを受信したとするとメール着信を通知するためのNotificationを作成し、そのNotificationをSMSC5が中継してMSC4および基地局3を介してメール相手先である、例えばセルBに在圏する移動機1に送信する。なお、MMTA10はメールを受信するメール受信サーバであり、他の移動機からのショートメッセージやインターネット13から送られたE−メールのメールデータをメールボックス(MSS)11に格納している。DAS(Direct Access System)7は、回線交換ベアラをサポートする交換機であり、例えばセルBに在圏する移動機1との間で回線交換ベアラを使用して通信する際に、移動機1−基地局3−MSC4−DAS7のルートで接続される。この場合、移動機1,基地局3,MSC4およびDAS7における回線交換ベアラによりノード間が相互に接続されるようになる。
PMSC(Packet Mobile Switching Center)9は、パケットベアラをサポートする交換機であり、例えばセルBに在圏する移動機1との間でパケットベアラを使用してデータ通信する際に、移動機1−基地局3−MSC4−PMSC9のルートで接続される。この場合、移動機1,基地局3,MSC4およびDAS7におけるパケットベアラによりノード間が相互に接続されるようになる。SMSC5,DAS7およびPMSC9が接続されているMMAP(Mobile Message Access Protocol)6は移動機へのメール送信サーバであり、移動機からのメール受信要求時にメールボックス11に格納されているメールデータを移動機1へ配信している。また、WGW(Web Gateway System)8はDAS7およびPMSC9とインターネット13との間に配置されており、移動通信網のプロトコルとインターネットプロトコルとのゲートウェイの役割を果たしており、これにより移動機においてインターネット13から種々のサービスを受けることが可能となる。
例えば、移動機1がインターネット13上にあるコンテンツのアドレスをURL(Uniform Resource Locator)によって指定することにより、移動機1上にインターネットのコンテンツを取得することができる。この場合のコンテンツの大きさは20kByteまでとされており、移動機1に対してより表現力の高いコンテンツをダウンロードすることができる。また、比較的小容量のデータは、パケットベアラを使用してコンテンツを取得することにより、短時間で取得できるようになる。さらに、移動機1に対してJava(登録商標:TM)アプリケーションプログラムのダウンロードをすることによって、ゲームを始めとする各種アプリケーションのダウンロードが可能となる。なお、移動機が初めて電源を投入した際には、MSIA(Mobile Station Information Agent)12に自動的に接続されて、制御情報をMSIA12からダウンロードすることにより移動機の初期設定が自動的に行われる。この初期設定の1つではファイルサイズの閾値が設定される。そして、閾値までの大きさのサイズのファイルを移動機がダウンロードする際は、パケットベアラを選択して接続し、閾値を超えた場合に回線交換ベアラを選択して接続するようにしている。そこで、MSIA12はパケットベアラと回線交換ベアラとの使用の振り分けを任意の値の閾値に変更することにより移動機毎に自在に行うことができる。この場合、移動通信網の全体の通信状況を見てパケットベアラおよび回線交換ベアラの使用頻度が最適化されるように閾値を決定することが好適とされる。
次に、移動機1が移動機1が図2および図3に示す移動機在圏処理を実行することにより、回線交換機能に加えてパケット交換機能をもサポートするセルBに在圏した場合の本発明にかかるベアラ選択方法を説明する。
移動機1が使用するベアラを選択する場合は、在圏しているセルの状態と起動されたアプリケーションの種類により効率的にベアラを選択するようにしている。以下に、メールを扱う場合とHTTP(Hypertext Transfer Protocol)を使用してアクセスする場合とを具体的に説明する。
1.メール
メールを受信する際に移動機1が使用するベアラは、原則としてメールアプリケーションあるいはメール着信を移動機1に通知するNotificationで通知されたベアラを使用する。例えば、移動機1はNotification 受信時にそのベアラコントロールフィールドをチェックし、ベアラコントロールフィールドで指定されているベアラを優先的に使用して、着信されたメールを受信するようにする。Notification のデータ構造の概要を図12に示す。この図に示すように、Notification はUser Information Data BlockとLS6Information Data Blockとからなり、User Information Data Blockの一部を構成しているEMMTP内にベアラコントロールフィールド(Bearer Control)が定義されている。このベアラコントロールフィールドで指定されたベアラでの接続失敗時(パケット交換機能網外、パケット交換規制中、ARQ(Automatic Repeat reQuest) 起動失敗)には、ユーザインタフェース上に再接続を行う画面が用意されている。
この画面からユーザが再接続を要求した場合には、前回使用していないもう一方のベアラを使用して接続するようにする。また、再接続を要求しなかった場合の、次回使用ベアラはNotification で通知されたベアラとする。ARQとは、受信側において誤りを検出した際に、送信側に再送要求を送り誤りの生じたデータを再度送信させるようにする制御である。なお、移動機1における工場出荷時に設定されている優先ベアラは、メールをメール受信サーバであるMMTA10へ送信する際の接続は回線交換ベアラ(DAS)とされ、メール送信サーバであるMMAP6からメールを受信する際の接続はパケットベアラとされている。
設定された優先ベアラを使用する際の動作について、以下に説明する。
1.1 メール送信:パケットベアラ優先
MMTA10へ接続してメールを送信する際に、メールアプリケーションによりパケットベアラで接続することが優先されている場合は、パケットベアラを使用してメールをMMTA10へ送信する。一般に、メールのサイズはあまり大きくないことからパケットベアラを使用すると効率的にメールを送信することができる。この場合のシーケンスを図10に示す。図10に示すパケットベアラを使用するシーケンスにおいて、メール送信を開始する際には、移動機(MS)1はパケットチャネルによりパケットベアラを使用することを移動通信網に通知する。これにより、移動機1とPMSC9間におけるデータ通信用のパケットチャネルが登録される(Packet Channel Registration)。次いで、一方のエンドである移動機1と、他方のエンドであるMMTA10とのTCP(Transmission Control Protocol)によるコネクションが確立される(TCP Connection Open)。
これにより、移動機1とPMSC9間においてパケットベアラを使用してメールを送信する準備ができたことになり、移動機1からパケットベアラを使用してパケット化されたメールが、基地局3およびMSC4を介してPMSC9に送信される。PMSC9はそのメールをメール受信サーバであるMMTA10に送信する。MMTA10は、メールを正常に受信すると、メール送信が完了したことを通知する(Mail Submit Complete)。この通知は、PMSC9,MSC4,基地局3を介して移動機1に送られる。この通知を移動機1が受信すると、MMTA10とのTCPコネクションが解除され(TCP Connection Close)、さらに移動機1とPMSC9間におけるパケットチャネルが開放される(Packet Channel Release)。これにより、パケットベアラを使用するメール送信は終了する。
ここで、図10に示すパケットベアラを使用するシーケンスにおいてメール送信する場合の移動機(MS)1とメール受信サーバであるMMTA10とのプロトコル階層で示した接続モデルを図4に示す。移動機(MS)1のプロトコル階層は、OSI(Open Systems Interconnection)参照モデルにおけるデータリンク層に相当する回線交換ベアラ1aとパケットベアラ1b、SMSベアラ1cとが最下層とされ、その上の階層がOSI参照モデルにおけるネットワーク層に相当するIP(Internet Protocol)層1dとされ、さらにその上の階層がOSI参照モデルにおけるトランスポート層に相当するTCP層1eとされている。TCP層1eの上の階層は、インターネット上で電子メールの転送に利用されているメール送信用のSMTP(Simple Mail Transfer Protocol)とメール受信用のMMAP(Mobile IMAP4 rev1)のプロトコルとされている。このSMTP+MMAP1fは、OSI参照モデルにおけるセッション層、プレゼンテーション層およびアプリケーション層に相当している。なお、SMSベアラはSMSC5が移動機へNotificationを通知したり、あるいはショートメッセージの送受信に用いるベアラである。
また、基地局(BS)3およびMSC4はデータリンク層に相当する回線交換ベアラ3a、4aとパケットベアラ3b、4bおよびSMSベアラ3c、4cとをそれぞれ備えている。さらに、PMSC9はデータリンク層に相当するパケットベアラ9aとイーサネット用のLAN(Local Area Network)インタフェース9bを備えている。メール受信サーバであるMMTA10は、データリンク層に相当するLANインタフェース10aが最下層とされ、その上の階層がネットワーク層に相当するIP(Internet Protocol)層10bとされ、さらにその上の階層がトランスポート層に相当するTCP層10cとされている。TCP層10cの上の階層はメールの転送に用いられるプロトコルSMTP10dとされている。
ところで、パケットベアラ、回線交換ベアラあるいはLANインタフェースであるデータリンク層は、図4に示すように隣り合うノードとの間で情報転送を行う層であり、制御情報のやりとりやデータの受け渡しが行われる層とされている。すなわち、このデータリンク層を使用して移動機1からMMTA10までデータが転送されるようになる。また、ネットワーク層であるIP層では、移動機1とMMTA10との間のルートの制御を行っており、ネットワーク層により移動機1とMMTA10との間の通信路が確定する。さらに、トランスポート層であるTCP層では、移動機1とMMTA10との間の論理的な通信路が形成され、見かけ上移動機1とMMTA10との間は1本の回線で接続されているかのようになる。さらにまた、セッション層、プレゼンテーション層およびアプリケーション層に相当しているSMTP層では、移動機1とMMTA10との通信ルールや、データの形式が規定されていると共に、アプリケーションの整合が図られている。なお、移動機1の階層におけるMailer1gは、メール送信やメール受信を行えるメールアプリケーションである。
図4に示す例において、移動機1がメール受信サーバであるMMTA10へパケットベアラを使用してメールを送信する際には、移動機1と基地局(BS)3との間、基地局3とMSC4との間、MSC4とPMSC9との間がパケットベアラにより接続され、PMSC9とMMTA10との間がイーサネット等のLANにより接続される。これにより、移動機1とMMTA10との間のルートが確定されて、さらに、移動機1におけるTCP層1eとMMTA10におけるTCP層6cとの間が論理的な通信路で接続されるようになる。この結果、移動機1におけるSMTP1gによりメールを送信すると、このメールをMMTA10のSMTP10dにより受け取れるようになる。
1.2 メール送信:回線交換ベアラ(DAS)優先
MMTA10へ接続してメールを送信する際に、メールアプリケーションにより回線交換ベアラ(DAS)で接続することが優先されている場合は、回線交換ベアラ(DAS)を使用してメールをMMTA10へ送信する。この場合、大きなサイズのメールを効率的に送信することができる。この場合のシーケンスを図11に示す。図11に示す回線交換ベアラを使用するシーケンスにおいて、メール送信を開始する際には、移動機(MS)1とDAS7との間において占有する通信チャネルが設定されて、移動機(MS)1とDAS7との間の回線が確立される(Call Establish)。次いで、一方のエンドである移動機1と、他方のエンドであるMMTA10とのTCPによるコネクションが確立される(TCP Connection Open)。
これにより、回線交換ベアラを使用してメールを送信する準備ができたことになり、移動機1から回線交換ベアラを使用してパケット化されたメールが、基地局3およびMSC4を介してDAS7に送信される。DAS7はそのメールをメール受信サーバであるMMTA10に送信する。MMTA10は、メールを正常に受信すると、メール送信が完了したことを通知する(Mail Submit Complete)。この通知は、DAS7,MSC4,基地局3を介して移動機1に送られる。この通知を移動機1が受信すると、MMTA10とのTCPコネクションが解除され(TCP Connection Close)、さらに移動機1とDAS7間に設定されていた通信チャネルが解放される(Call Release)。これにより、回線交換ベアラを使用するメール送信は終了する。
ここで、図11に示す回線交換ベアラを使用するシーケンスにおいてメール送信する場合の移動機(MS)1とメール受信サーバであるMMTA10とのプロトコル階層で示した接続モデルを図5に示す。図5に示す接続モデルにおいて、図4に示す接続モデルと異なるのはパケットベアラに替えて回線交換ベアラを用いる構成だけであるので、この構成について説明する。
図5に示す例において、DAS7は回線交換ベアラ7aとLANインタフェース7bとを備えている。移動機1がメール受信サーバであるMMTA10へ回線交換ベアラを使用してメールを送信する際には、移動機1と基地局(BS)3との間、基地局3とMSC4との間、MSC4とDAS7との間がデータリンク層である回線交換ベアラ1a、3a、4a、7aにより接続され、DAS7とMMTA10との間がイーサネット等のLAN I/F7b、10aにより接続される。これにより、移動機1とMMTA10との間のルートが確定されて、さらに、移動機1におけるTCP層1eとMMTA10におけるTCP層10cとの間が論理的な通信路で接続されるようになる。この結果、移動機1におけるSMTP1gによりメールを送信すると、このメールをMMTA10のSMTP10dにより受け取れるようになる。
1.3 メール受信:パケットベアラ優先
移動機1がメールを受信する際に使用するベアラは、メールアプリケーションあるいはNotificationによりパケットベアラで接続することが優先されている場合は、パケットベアラを原則として使用する。ただし、以下の条件でパケットベアラと回線交換ベアラとを使い分けるようにする。パケット交換機能をサポートするセル内で、かつ、基地局から送信される報知情報で示されるパケットチャネルで使用可能なタイムスロット数が3タイムスロットとされている場合は、パケットベアラを使用して接続する。また、報知情報で示されるパケットチャネルで使用可能なタイムスロット数が2タイムスロットとされている場合も、パケットベアラを使用して接続する。そして、報知情報で示されるパケットチャネルで使用可能なタイムスロット数が1タイムスロットとされている場合は、伝送速度が限られるため回線交換ベアラを使用して接続する。ただし、送信サーバ(MMAP6)へのコマンドがDELETEまたはALLDELTEの場合は、パケットベアラで接続してそのコマンドを送るようにする。さらに、パケット交換機能をサポートしているエリア外に位置している際や、パケットベアラを使用して接続することが規制されている場合は、回線交換ベアラを使用して接続する。
次に、パケットベアラを使用して接続するシーケンスを図13に示す。
図13に示すパケットベアラを使用するシーケンスにおいて、メールがMMTA10で受け取られると、メール受信サーバであるMMTA10はメール着信を通知するためのNotificationを作成し、そのNotificationをSMSC5が中継してSMSベアラを使用してMSC4および基地局3を介してメールの宛先である移動機1に送信する。同時に、MMTA10はメールデータをMSS11に格納する。移動機1はメールの着信があったことを認識し、ユーザがそのメールを受信する操作をした際に、移動機1はパケットチャネルによりパケットベアラを使用することを移動通信網に通知する。これにより、移動機1とPMSC9間において使用するパケットチャネルが登録される(Packet Channel Registration)。次いで、一方のエンドである移動機1と、他方のエンドであるMMAP6とのTCP(Transmission Control Protocol)によるコネクションが確立される(TCP Connection Open)。これにより、移動機1のTCP層とMMAP6のTCP層とが接続され、パケットベアラを使用してメールを受信する準備ができたことになる。
そして、移動機1からパケットベアラを使用してメールを得るGETコマンドが、基地局3およびMSC4を介してPMSC9に送信される。PMSC9はそのGETコマンドをメール送信サーバであるMMAP6に送信する。MMAP6は、このGETコマンドを受けて移動機1宛のメールデータをMSS11から読み出してPMSC9に送る。PMSC9は、このメールデータをパケットベアラを使用してMSC4および基地局3を介して移動機1へ送る。これにより、移動機1はメールを取得することができ、受け取ったことを通知するG-ACK信号を基地局3およびMSC4を介してPMSC9に送信する。PMSC9はそのG-ACK信号をメール送信サーバであるMMAP6に送信する。このG-ACK信号をMMAP6が受信すると、MMAP6と移動機1とのTCPコネクションが解除され(TCP Connection Close)、さらに移動機1とPMSC9間におけるパケットチャネルが解放される(Packet Channel Release)。これにより、パケットベアラを使用するメール受信は終了する。
ここで、図13に示すパケットベアラを使用するシーケンスにおいてメール受信する場合の移動機(MS)1とメール送信サーバであるMMAP6とのプロトコル階層で示した接続モデルを図6に示す。
図6に示すようにメール送信サーバであるMMAP6は、データリンク層に相当するLANインタフェース6aが最下層とされ、その上の階層がIP(Internet Protocol)層6bとされ、さらにその上の階層がトランスポート層に相当するTCP層6cとされている。TCP層6dの上の階層はメールを受信するプロトコルIMAP(Internet Messaging Access Protocol)をモバイル用に拡張したプロトコルMMAP6dとされている。
ところで、パケットベアラ、回線交換ベアラあるいはLANインタフェースであるデータリンク層は、図6に示すように隣り合うノードとの間で情報転送を行う層であり、制御情報のやりとりやデータの受け渡しが行われる層とされている。すなわち、このデータリンク層を使用して移動機1とMMAP6との間でデータが転送されるようになる。また、ネットワーク層であるIP層では、移動機1とMMAP6との間のルートの制御を行っており、ネットワーク層により移動機1とMMAP6との間の通信路が確定する。さらに、トランスポート層であるTCP層では、移動機1とMMAP6との間の論理的な通信路が形成され、見かけ上移動機1とMMAP6との間は1本の回線で接続されているかのようになる。さらにまた、セッション層、プレゼンテーション層およびアプリケーション層に相当しているMMAP層では、移動機1とMMAP6との通信ルールや、データの形式が規定されていると共に、アプリケーションの整合が図られている。
図4に示す例において、移動機1がメール送信サーバであるMMAP6からパケットベアラを使用してメールを受信する際には、移動機1と基地局(BS)3との間、基地局3とMSC4との間、MSC4とPMSC9との間がデータリンク層であるパケットベアラにより接続され、PMSC9とMMAP6との間がイーサネット等のLAN I/Fにより接続される。これにより、移動機1とMMAP6との間のルートが確定されて、さらに、移動機1におけるTCP層1eとMMAP6におけるTCP層6cとの間が論理的な通信路で接続されるようになる。この結果、MMAP6におけるMMAP6dより送信されたメールが、移動機1におけるMMAP1fにより受信されるようになる。
1.4 メール受信:パケットベアラ強制
移動機1がメールを受信する際に、強制的にパケットベアラで接続する。この場合、基地局から送信される報知情報で示されるパケットチャネルで使用可能なタイムスロット数に関わらず、パケットベアラを使用して接続する。この場合のパケットベアラを使用して接続するシーケンスは図13に示すシーケンスと同様であり、プロトコル階層で示した移動機(MS)1とメール送信サーバであるMMAP6との接続モデルも前記1.3で説明した図6に示す接続モデルと同様になる。
1.5 メール受信:回線交換ベアラ優先
移動機1がメールを受信する際に使用するベアラは、メールアプリケーションあるいはNotificationにより回線交換ベアラで接続することが優先されている場合は、回線交換ベアラを使用する。この場合の回線交換ベアラを使用して接続するシーケンスを図14に示す。
図14に示す回線交換ベアラを使用するシーケンスにおいて、メールをMMTA10が受け取ると、メール受信サーバであるMMTA10はメール着信を通知するためのNotificationを作成し、そのNotificationをSMSC5が中継してSMSベアラを使用してMSC4および基地局3を介してメールの宛先である移動機1に送信する。同時に、MMTA10はメールデータをMSS11に格納する。
移動機1はメールの着信があったことを認識し、ユーザがそのメールを受信する操作をした際に、移動機(MS)1とDAS7との間において占有する通信チャネルが設定されて、移動機(MS)1とDAS7との間の回線が確立される(Call Establish)。次いで、一方のエンドである移動機1と、他方のエンドであるMMAP6とのTCP(Transmission Control Protocol)によるコネクションが確立される(TCP Connection Open)。これにより、移動機1のTCP層とMMAP6のTCP層とが接続され、回線交換ベアラを使用してメールを受信する準備ができたことになる。
そして、移動機1から回線交換ベアラを使用してメールを得るGETコマンドが、基地局3およびMSC4を介してDAS7に送信される。DAS7はそのGETコマンドをメール送信サーバであるMMAP6に送信する。MMAP6は、このGETコマンドを受けて移動機1宛のメールデータをMSS11から読み出してDAS7に送る。DAS7は、このメールデータを回線交換ベアラを使用してMSC4および基地局3を介して移動機1へ送る。これにより、移動機1はメールを取得することができ、受け取ったことを通知するG-ACK信号を基地局3およびMSC4を介してDAS7に送信する。DAS7はそのG-ACK信号をメール送信サーバであるMMAP6に送信する。このG-ACK信号をMMAP6が受信すると、MMAP6と移動機1とのTCPコネクションが解除され(TCP Connection Close)、さらに移動機1とDAS7間において設定されていた通信チャネルが開放される(Packet Channel Release)。これにより、回線交換ベアラを使用するメール受信は終了する。
ここで、図14に示す回線交換ベアラを使用するシーケンスにおいてメール受信する場合の移動機(MS)1とメール送信サーバであるMMAP6とのプロトコル階層で示した接続モデルを図7に示す。図7に示す接続モデルにおいて、図6に示す接続モデルと異なる構成はパケットベアラに替えて回線交換ベアラを用いる構成だけであるので、この構成について説明する。
図7に示すように、DAS7は回線交換ベアラ7aとLANインタフェース7bとを備えている。移動機1がメール送信サーバであるMMAP6から回線交換ベアラを使用してメールを受信する際には、DAS7とMSC4との間、MSC4と基地局3との間、基地局(BS)3と移動機1との間がデータリンク層である回線交換ベアラ7a、4a、3a、1aにより接続され、DAS7とMMAP6との間がイーサネット等のLAN I/Fにより接続される。これにより、移動機1とMMAP6との間のルートが確定されて、さらに、移動機1におけるTCP層1eとMMAP6におけるTCP層6cとの間が論理的な通信路で接続されるようになる。この結果、この結果、MMAP6におけるMMAP6dにより送信されたメールが、移動機1におけるMMAP1fにより受信されるようになる。
2.HTTP
インターネット上のWWW(World Wide Web)へのHTTP関連アクセスは、基本的にパケットベアラを使用する。また、JavaTMアプリケーションプログラムは、圧縮形式がJAR(Java ARchive)とされたプログラム本体であるJARファイルとJARファイルに関する情報をふくんでいるJAD(Java Application Descriptor)ファイルから構成されており、このJARファイルをHTTPを使用してダウンロードするダウンロード要求時は、パケット交換において使用可能なタイムスロット数毎にファイルサイズの閾値を定め、ファイルサイズとパケットタイムスロット数に基づいてパケットベアラあるいは回線交換ベアラのいずれかを選択する。この場合、各タイムスロット数における閾値までの大きさのサイズのファイルをダウンロードする際は、パケットベアラを選択して接続し、各タイムスロット数における閾値を超えた場合に回線交換ベアラを選択して接続する。1タイムスロットないし3タイムスロットのタイムスロット数毎に規定されるファイルサイズの閾値は、MSIA(Mobile Station Information Agent)12から取得された制御情報に基づいて設定される。なお、MSIA12には移動機が初めて電源を投入した際に自動的に接続されて、制御情報をダウンロードすることにより移動機の初期設定が自動的に行われる。また、上位レイヤ(Markup Language等)よりいずれかのベアラが指定された場合は、指定されたベアラを優先して接続が試みられる。
ここで、パケットベアラを使用して移動機1がインターネット13上のWebサーバ14にアクセスする場合の移動機(MS)1とWebサーバ14とのプロトコル階層で示した接続モデルを図8に示す。移動機(MS)1のプロトコル階層は、OSI(Open Systems Interconnection)参照モデルにおけるデータリンク層に相当する回線交換ベアラ1aとパケットベアラ1b、SMSベアラ1cとが最下層とされ、その上の階層がOSI参照モデルにおけるネットワーク層に相当するIP(Internet Protocol)層1dとされ、さらにその上の階層がOSI参照モデルにおけるトランスポート層に相当するTCP層1eとされている。TCP層1eの上の階層は、インターネット上でサーバとクライアントとの間の情報転送を行うプロトコルであるHTTP1h、モバイル用に拡張されたマークアップ言語XHTML1i、JavaTMの実行環境を提供するJava1jとされている。このHTTP1h、XHTML1i、Java1jは、OSI参照モデルにおけるセッション層、プレゼンテーション層およびアプリケーション層に相当している。
また、基地局3およびMSC4はデータリンク層に相当する回線交換ベアラ3a、4aとパケットベアラ3b、4bおよびSMSベアラ3c、4cとをそれぞれ備えている。さらに、PMSC9はデータリンク層に相当するパケットベアラ9aとLANインタフェース9bを備えている。移動通信網のプロトコルとインターネットプロトコルとのゲートウェイの役割を果たしているWGW8は、データリンク層に相当するLANインタフェース8aを備えている。なお、WGW8は、LAN I/F8aにより図1に示すインターネット13上のWebサーバ14に接続されている。このWebサーバ14は、データリンク層に相当するLANインタフェース14aが最下層とされ、その上の階層がネットワーク層に相当するIP層14cとされ、さらにその上の階層がトランスポート層に相当するTCP層14dとされている。TCP層14dの上にはHTTP層14eが位置している。
図8に示す例において、移動機1がパケットベアラ1bを使用して上位プロトコルとしてHTTP1hによりWebサーバ14にアクセスする際には、移動機1と基地局(BS)3との間、基地局3とMSC4との間、MSC4とPMSC9との間がパケットベアラ1b、3b、4b、9aにより接続され、PMSC9とWGW8との間、WGW8とWebサーバ14との間がイーサネット等のLAN I/F9b、8a、14aにより接続される。これにより、移動機1とWebサーバ14との間のルートが確定されて、さらに、移動機1におけるTCP層1eとWebサーバ14のTCP層14dとの間が論理的な通信路で接続されるようになる。この結果、移動機1においてHTTPを用いてWebサーバ14にアクセスして、XHTMLで記述されたファイル等をダウンロードすることができる。ダウンロードしたファイルはアプリケーションであるブラウザ1kによりディスプレイ上に表示される。また、Webサーバ14にアクセスして、Webサーバ14からゲーム等のJARファイルをダウンロードすることができる。このダウンロードしたゲーム等のJavaTMアプリケーションプログラム1mを構成しているJARファイルは、JavaTM実行環境1j上において実行することができ、移動機1においてダウンロードしたゲームを行うことができるようになる。なお、パケットベアラを使用してWebサーバ14にアクセスすると、小さなサイズのファイルを効率よくダウンロードすることができるようになる。
次に、回線交換ベアラを使用して移動機1がインターネット13上のWebサーバ14にアクセスする場合の移動機(MS)1とWebサーバ14とのプロトコル階層で示した接続モデルを図9に示す。この場合は、図8に示す接続モデルと異なるのは、パケットベアラに替えて回線交換ベアラを使用する構成だけであるのでこの構成について説明する。
図9において、DAS7は回線交換ベアラ7aとLANインタフェース7bとを備えている。移動機1がインターネット13上のWebサーバ14にアクセスする際には、移動機1と基地局(BS)3との間、基地局3とMSC4との間、MSC4とDAS7との間がデータリンク層である回線交換ベアラ1a、3a、4a、7aにより接続され、DAS7とPMSC9とWGW8との間、WGW8とWebサーバ14との間がイーサネット等のLAN I/F7b、8a、14aにより接続される。
これにより、移動機1とWebサーバ14との間のルートが確定されて、さらに、移動機1におけるTCP層1eとWebサーバ14のTCP層14dとの間が論理的な通信路で接続されるようになる。この結果、移動機1においてHTTPを用いてWebサーバ14にアクセスして、Webサーバ14からXHTMLで記述されたファイルやゲーム等のJARファイルをダウンロードすることができる。ダウンロードしたファイルはアプリケーションであるブラウザ1kによりディスプレイ上に表示される。また、ダウンロードしたゲーム等のJavaTMアプリケーションプログラム1mを構成しているJARファイルは、JavaTM実行環境1j上において実行することができ、移動機1においてダウンロードしたゲームを行うことができるようになる。なお、回線交換ベアラを使用してダウンロードすると、大きなサイズのJARファイル等を効率よくダウンロードすることができるようになる。
以上説明した本発明にかかるベアラ選択方法を適用した移動機1が実行するベアラ選択処理のフローチャートを図15ないし図18に示す。この図15ないし図18に示すフローチャートを簡単に説明する。
移動機1においては、データ通信に関するイベントが発生した際に図15ないし図18に示すフローチャートのベアラ選択処理が起動され、ステップS21にてそのイベントがメール送信のイベントか否かが判断される。ここで、メール送信のイベントと判断されると、ステップS30に分岐してパケットベアラで接続することが優先されている否かが判断される。この場合、メールアプリケーションによりパケットベアラで接続することが優先されている場合は、ステップS31に進み移動機1とPMSC9間においてパケットベアラを使用して通信するためのパケットチャネルが登録される。次いで、ステップS32にて移動機1とMMTA10間のTCPコネクションが確立されて、移動機1からパケットベアラを使用してMMTA10へメールデータを送信する準備が整ったことになる。
そこで、ステップS33にて移動機1からMMTA10へメールデータが送信される。この場合、パケットベアラは登録されたパケットチャネルを使用してメールデータをMMTA10まで伝送していく。そして、MMTA10からメール送信完了通知を受け取ると、移動機1はステップS34にてメール送信が完了したと判断し、ステップS35にてTCPコネクションをクローズし、ステップS36にて登録されたパケットチャネルを解除する。これにより、パケットベアラを使用するメール送信処理は終了してステップS21に戻り、次のイベント待ちの状態となる。なお、ステップS34はMMTA10からメール送信完了通知を受け取るまで待機している処理である。
また、ステップ30にてパケットベアラが優先されていないと判断された場合は、メールアプリケーションにより回線交換ベアラ(DAS)で接続することが優先されていると判断されてステップS37に分岐する。ステップS37では、移動機1とDAS7との間において回線交換ベアラが占有する回線交換用チャネルが設定されて回線が確立され、移動機1から回線交換ベアラを使用してMMTA10へメール送信する準備が整ったことになる。
そこで、ステップS39にて移動機1からMMTA10へメールデータが送信される。この場合、回線交換ベアラは設定された回線交換チャネルを使用してMMTA10までメールデータを伝送していく。そして、MMTA10からメール送信完了通知を受け取ると、移動機1はステップS40にてメール送信が完了したと判断し、ステップS41にてTCPコネクションをクローズし、ステップS42にて回線交換用チャネルを解放する。これにより、回線交換ベアラを使用するメール送信処理は終了してステップS21に戻り、次のイベント待ちの状態となる。なお、ステップS40はMMTA10からメール送信完了通知を受け取るまで待機する処理である。
次に、前記したステップS21にて発生したイベントがメール送信ではないと判断された場合は、ステップS22に進んでイベントがメール着信を知らせるNotificationの受信イベントか否かが判断される。ここで、メール着信のNotificationが受信されたと判断された場合は、図16に示すステップS50に分岐してユーザが着信通知されたメールの受信操作を行うまで待機される。ここで、ユーザが着信通知されたメールの受信操作を行うとステップS51にてメールアプリケーションあるいはNotificationによりパケットベアラで接続することが優先されているか否かが判断される。この場合、パケットベアラで接続することが優先されていると判断された場合は、ステップS52に進みパケットベアラで強制接続と設定されているかが判断される。
ここで、パケットベアラ強制接続と設定されている場合は、パケットベアラを使用してメール受信するようにステップS54にジャンプし、パケットベアラ強制接続と設定されていない場合はステップS53に進み、報知情報で通知されたパケット交換で使用可能なタイムスロット(TS)数が2タイムスロット以上とされているか否かが判断される。この場合、タイムスロット(TS)数が2タイムスロット以上とされている場合は、パケットベアラを使用してメール受信するようにステップS54に進む。ステップS54では、移動機1とPMSC9間においてパケットベアラを使用して通信するためのパケットチャネルが登録される。次いで、ステップS55にて移動機1とMMAP6間のTCPコネクションが確立され、MMAP6からパケットベアラを使用して移動機1がメール受信する準備が整ったことになる。
そこで、ステップS56にて移動機1はメール受信要求のGETコマンドを送信する。このGETコマンドを受け取ったMMAP6は、MSS11から該当するメールデータを読み出してPMSC9に渡す。PMSC9はパケットベアラを使用してこのメールデータを移動機1へ送信する。パケットベアラは登録されたパケットチャネルを使用して移動機1までメールを伝送していく。これにより、移動機1はメールデータを受信するようになる(ステップS57)。メールを受け取った移動機1は、受け取ったことを通知するG-ACK信号をPMSC9に送信し、PMSC9はそのG-ACK信号をMMAP6に送信する。このG-ACK信号をMMAP6が受信すると、ステップS59にてMMAP6と移動機1とのTCPコネクションが解除され、さらにステップS60にてステップS54にて登録されたパケットチャネルが解除される。これにより、パケットベアラを使用するメール受信処理は終了し、ステップS21に次の戻ってイベント待ちの状態となる。
また、ステップS51にてNotificationによりパケットベアラを使用することが指定されていないと判断された場合は、回線交換ベアラを使用することが指定されていたとしてステップS61へ分岐する。ステップS61では、ステップS50にて操作したメール受信操作がMSS11に格納されている自機のメールのALLDELETEまたはDELETEの操作であったか否かが判断される。この場合、ALLDELETEまたはDELETEの操作でない場合は、ステップS62に進み移動機1とDAS7との間において回線交換ベアラが占有する回線交換用チャネルが設定されて、移動機1とDAS7との間の回線が確立される。次いで、ステップS63にて一方のエンドである移動機1と、他方のエンドであるMMAP6とのTCPによるコネクションが確立される。これにより、移動機1が回線交換ベアラを使用してMMAP6からメールを受信する準備ができたことになる。
そこで、ステップS64にて移動機1はメール受信要求のGETコマンドを送信する。このGETコマンドを受け取ったMMAP6は、MSS11から該当するメールデータを読み出してDAS7に渡す。DAS7は回線交換ベアラを使用してこのメールデータを移動機1へ送信する。回線交換ベアラは、設定された回線交換用チャネルを使用して移動機1までメールデータを伝送していく。これにより、移動機1はメールデータを受信するようになる(ステップS65)。メールを受け取った移動機1は、受け取ったことを通知するG-ACK信号をDAS7に送信し、DAS7はそのG-ACK信号をMMAP6に送信する。このG-ACK信号をMMAP6が受信すると、ステップS67にてMMAP6と移動機1とのTCPコネクションが解除され、さらにステップS68にてステップS62にて設定された回線交換用チャネルが解放される。これにより、回線交換ベアラを使用するメール受信処理は終了し、ステップS21に戻って次のイベント待ちの状態となる。
なお、ステップS61にてALLDELETEまたはDELETEの操作と判断された場合は、図17に示すステップS80にジャンプしてMSS11に格納されている指定されたメールの削除処理が行われる。この削除処理においては、パケットベアラを使用してALLDELETEまたはDELETEコマンドを送信するようにしている。そこで、ステップS80にて移動機1とPMSC9間においてパケットベアラを使用して通信するためのパケットチャネルが登録される。次いで、ステップS81にて移動機1とMMAP6間のTCPコネクションが確立される。そこで、ステップS82にて移動機1はメール削除要求のALLDELETEまたはDELETEコマンドをパケットベアラを使用してMMAP6へ送信する。
このALLDELETEまたはDELETEコマンドを受け取ったMMAP6は、MSS11から該当するメールデータを削除(ALLDELETEの場合は全て削除)する。次いで、ステップS83にてMMAP6と移動機1とのTCPコネクションが解除され、さらにステップS84にて移動機1とPMSC9間におけるパケットチャネルが解放される。また、MMAP6はメール削除を完了した際に削除完了通知をSMSC5へ通知する。SMSC5は、その削除完了通知をSMSベアラを使用して移動機1へ通知する。これにより、パケットベアラを使用するメール削除処理は終了し、ステップS21に戻って次のイベント待ちの状態となる。
次に、前記したステップS21にて発生したイベントがメール送信ではないと判断されると共に、ステップS22にてそのイベントがメール着信を通知するNotificationの受信でもないと判断された場合は、ステップS23に進んでウェブアクセスのイベントか否かが判断される。ここで、ウェブアクセスのイベントと判断された場合は、図17に示すステップS70に分岐する。ウェブアクセスはパケットベアラを使用してアクセスすることから、ステップS70にて移動機1とPMSC9間においてパケットベアラを使用して通信するためのパケットチャネルが登録される。次いで、ステップS71にて移動機1とURLで示されるWebサーバ14との間のTCPコネクションが確立される。そこで、ステップS72にて移動機1はHTTPによりWebサーバ14にアクセスし、取得したXHTMLで記述されたファイルを表示器に表示する。
Webサーバ14からJavaTMアプリケーションプログラム等のファイルをダウンロードすることができる場合は、Webサーバ14から移動機1へ指定したファイルをダウンロードすることができる。そこで、ステップS73にて移動機1において表示器の表示を見て指定したファイルのダウンロードの操作を行ったか否かが判断される。ここで、その操作を行っていない場合はステップS74に進んでウェブ接続の終了操作を行った否かが判断される。そして、ここで、ウェブ接続の終了操作を行った場合はステップS75にてWebサーバ14と移動機1とのTCPコネクションが解除され、さらに移動機1とPMSC9間において設定されていたパケットチャネルがステップS76にて解放される。これにより、パケットベアラを使用するウェブアクセス処理は終了し、ステップS21に戻って次のイベント待ちの状態となる。なお、ウェブ接続の終了操作を行っていない場合は、ウェブ接続の終了操作を行うまでステップS73およびステップS74の処理が繰り返し行われるようになる。
そして、ステップS73にてダウンロードの操作を行ったと判断された場合は、図18に示すステップS90へ分岐する。ステップS90では、ダウンロードするファイルのサイズがMSIA12より取得した閾値を超えるか否かが判断され、閾値を超えないと判断された場合はステップS91へ進む。この閾値は、パケット交換において使用可能なタイムスロット数毎に定められたファイルサイズの閾値とされる。ステップS91では、報知情報により通知されているパケット交換において使用可能なタイムスロット数が2以上とされているか否かが判断される。ここで、通知されているタイムスロット数が2以上とされている場合は、ステップS92に進んでパケットベアラが使用されてHTTPによりWebサーバ14から指定したファイルが移動機1へダウンロードされる。
そして、ステップS93にてダウンロードが終了するまで待機されて、ダウンロードが終了するとステップS94にてWebサーバ14と移動機1とのTCPコネクションが解除され、さらにステップS95にて移動機1とPMSC9間において設定されていたパケットチャネルが解放される。これにより、パケットベアラを使用するダウンロード処理は終了し、ステップS21に戻って次のイベント待ちの状態となる。なお、ダウンロードが終了した際にステップS73に戻るようにして複数のファイルをダウンロードできるようにしてもよい。
また、ステップS90にてダウンロードするファイルのサイズがMSIA12より取得した閾値を超えていると判断された場合、および、ステップS91にてパケット交換により使用可能なタイムスロット数が1と判断された場合は、回線交換によりファイルのダウンロードを行うようにステップS96へ分岐する。そして、ステップS96にてWebサーバ14と移動機1とのTCPコネクションが解除され、さらにステップS97にて移動機1とPMSC9間において設定されていたパケットチャネルが解放される。続いて、ステップS98にて移動機1とDAS7との間において回線交換ベアラが占有する回線交換用チャネルが設定されて、移動機1とDAS7との間の回線が確立される。次いで、ステップS99にて一方のエンドである移動機1と、他方のエンドであるWebサーバ14とのTCPによるコネクションが確立される。
そして、ステップS100にて回線交換ベアラを使用してHTTPによりWebサーバ14から指定したファイルが移動機1へダウンロードされる。そして、ステップS101にてダウンロードが終了するまで待機されて、ダウンロードが終了するとステップS102にてWebサーバ14と移動機1とのTCPコネクションが解除され、さらにステップS103にて移動機1とDAS7間に設定されていた回線交換用チャネルが解放される。これにより、回線交換ベアラを使用するダウンロード処理は終了し、ステップS21に戻って次のイベント待ちの状態となる。なお、ダウンロードが終了した際にステップS73に戻るようにして複数のファイルをダウンロードできるようにしてもよい。
ここで、JavaTMアプリケーションプログラムを移動機にダウンロードする際の付加的な説明を行う。
JavaTMアプリケーションプログラムは、1つのJAD(Java Application Descriptor)ファイルとそれに対応する1つのJAR(Java Archive)ファイルとで構成されている。JADファイルは、対応するJARファイルやJavaTMアプリケーションプログラムに関する情報(属性)が示されたテキストファイルであり、アプリケーション名やバージョン、JARファイルの存在位置を示すURL、JARファイルのサイズ等の情報が含まれている。JADファイルはアプリケーションマネージャー(AM)がJavaTMアプリケーションプログラムを管理するために使用される。アプリケーションマネージャーは、JADファイルの情報を利用し、JavaTMアプリケーションプログラムファイル(JARファイル)をダウンロードする前に、当該JavaTMアプリケーションプログラムが共通JavaTM実行環境に適しているか否かを検証する。また、JARファイルはJavaTMアプリケーションプログラムを実行するために使用される圧縮あるいは非圧縮のバイナリファイルである。JARファイルは、マニフェストファイル、JavaTMアプリケーションプログラムで使用される全クラスファイル、JavaTMアプリケーションプログラムが使用するリソースファイル(画像、サウンド等)を含んでいる。
JavaTMアプリケーションプログラムをダウンロードする場合には、JavaTMアプリケーションプログラムが属性情報を中心としたヘッダ部分(JADファイル)とアプリケーション本体(JARファイル)の二つで構成されていることを利用する。JavaTMアプリケーションプログラムをダウンロードする移動機は、内蔵する不揮発性メモリに格納されているネットワーク状態を示すネットワーク情報を移動機から呼び出してそれに応じたベアラ選択を行うようにしている。ネットワーク情報は、HTTPに関する情報とされ、基地局から送信される報知情報で示されるパケットチャネルで使用可能なタイムスロット数に対するJARファイル等のダウンロードサイズの情報等とされている。
JavaTMアプリケーションプログラムをダウンロードする際の基本的なダウンロード手順を以下に示す。
1.移動機が待受け状態からブラウザーを起動させて、ブラウザーモードとする。
2.HTTPを使用して取得した画面に表示されたメインメニューからJavaTMアプリケーションプログラムがアンカされているWebサイトへのアクセスを行う。すなわち、ユーザ操作により、そのWebサイトにアンカ(<A>タグ等により)される所望のJavaTMアプリケーションプログラムの選択をブラウザー上において行うことにより、アンカで指定されるURLのWebサーバから、当該JavaTMアプリケーションプログラムに関するJADファイルのダウンロードが行われる。この場合、ブラウザーモードが持続的接続(Persistent Connection)とされている場合は、ブラウザーモードから継続したTCPトランザクションによりJADファイルのダウンロードが行われる。また、ブラウザーモードが持続的接続とされていない場合は、JADファイルのダウンロード要求時にTCP接続を確立してそのトランザクションによりJADファイルのダウンロードが行われる。また、JADファイルをダウンロードする際のベアラは、前記した図15ないし図18に示すベアラ選択処理におけるWebアクセス処理(ステップS23)以降の処理で選択されたベアラとされる。
3.移動機は、ユーザが指定したアンカ先のURLからのJADファイルのダウンロードが完了した後、共通JavaTM実行環境から提供されるJADファイル解析関数をコールする。共通JavaTM実行環境は、JADファイル解析関数内でJADファイルの内容(属性値)をチェックし、その結果(正常/異常)を移動機のプラットフォームへ戻り値として返す。
4.移動機のプラットフォームは、共通JavaTM実行環境が提供しているJADファイル解析関数の結果が正常の場合のみ、ユーザへダウンロード確認画面の通知を行い、ユーザがそれに同意した場合(「OK」を押下)、JARファイルのダウンロードを開始する。また、戻り値が異常であった場合は、ユーザにその旨を通知する。
JARファイルをダウンロードする場合は、JADファイル内に設定されているJARファイルのサイズ情報(MIDlet-Jar-Size)の値をチェックし、MSIAからネットワーク情報として通知されている閾値との比較を行い、JARファイルのサイズの値が閾値を超える場合は、一般の回線番号と異なる回線番号とされた回線交換ベアラ(特殊DAS)を用いてJARファイルの取得処理を行う。ダウンロード元はJADファイルの解析によって得たJARファイルの存在位置を示すURL、すなわちJavaTMアプリケーションプログラムのダウンロード用プロキシサーバ(Java Proxy)とされる。
また、JARファイルのサイズの値が閾値以下の場合は、パケットベアラが選択されてJARファイルをプロキシサーバ(Java Proxy)からパケットベアラを用いてダウンロードする処理が行われる。ただし、移動機が存在するネットワーク環境がパケットベアラをサポートしていない場合は、JARファイルのサイズの値が閾値以下であっても回線交換ベアラを使用してJARファイルのダウンロードを行う。
なお、閾値についてさらに説明すると、パケット交換において使用可能なタイムスロット数毎にJARファイルサイズの閾値を定め、ファイルサイズとパケットタイムスロット数に基づいてパケットベアラあるいは回線交換ベアラのいずれかを選択する。この場合、各タイムスロット数における閾値までの大きさのサイズのJARファイルをダウンロードする際は、パケットベアラを選択して接続し、各タイムスロット数における閾値を超えた場合に回線交換ベアラを選択して接続する。1タイムスロットないし3タイムスロットのタイムスロット数毎に規定されるJARファイルサイズの閾値は、MSIA(Mobile Station Information Agent)12から取得された制御情報に基づいて設定される。また、JavaTMアプリケーションプログラムのサイズがダウンロード可能なサイズを超えている場合は、ダウンロードできないことをユーザに通知する。
5.移動機のプラットフォームはJARファイルの受信完了後、JARファイル(マニフェストファイル)の解析を行う。この時エラーがあれば、「JavaTMアプリケーションの取得に失敗しました」などのエラーメッセージを表示し、取得済みのJADファイル、JARファイルを削除し、ブラウザーの状態に戻る。また、JARファイル(マニフェストファイル)の解析結果が正常であり、JavaTMアプリケーションプログラムが即時起動JavaTMアプリケーション(MIDlet-Immediate:Y)とされている場合は、ダウンロードしたJavaTMアプリケーションを即時起動する。即時起動とされていない場合は、JADファイルの保存属性(MIDlet-Save)に従い、JavaTMアプリケーションプログラムを移動機内のメモリあるいは外部メモリに保存する。
なお、即時起動JavaTMアプリケーションか否かはJADファイルのMIDlet-Immediate情報を解析することにより得ることができる。また、JavaTMアプリケーションプログラムを保存する際に、移動機内のメモリあるいは外部メモリの空き容量が不足する場合は、保存することができない旨をユーザに通知する。
6.移動機内部のメモリあるいは外部メモリに保存されたJARファイルは、移動機のJavaTMセレクタより、ユーザが選択を行うことができ、選択されたJavaTMアプリケーションプログラムを起動することにより、選択されたJavaTMアプリケーション(例えば、ゲーム)を実行することができる。
7.JavaTMアプリケーションの実行を終了し、メモリへの格納等が完了したら、移動機はブラウザーの状態へ戻す。
なお、JavaTMアプリケーションプログラムのダウンロード中に着信があった場合は、ダウンロードは一時停止させ着信が終了した際に再開させる。また、JavaTMアプリケーションプログラムが公序良俗を害するコンテンツなどでないかの判断を、JADファイルのMIDlet-Codeを利用して認証済みか否かを判断することにより行うことができる。さらに、JavaTMアプリケーションプログラムを保存する空き容量がメモリにない場合にダウンロード不可の判定を行うようにしてもよい。さらにまた、JavaTMアプリケーションプログラムが保存や転送が不可とされているコンテンツかどうかの判定を行い、保存や転送が不可とされているJavaTMアプリケーションプログラムの保存および転送の処理を禁止する。これらの各制御は、JADファイル内の属性情報に基づいて行うことの可能な制御である。
ところで、移動機がJavaTMアプリケーションプログラムをダウンロード中において、移動機に着信があった際にはダウンロードが一時停止される。また、ダウンロード中に移動機が圏外に移動した場合等においては物理回線が切断されるようになる。このような場合には、着信が終了して待ち受け状態になった際や通信可能な状態になった際に、改めてJavaTMアプリケーションプログラムのダウンロードを最初から行うことになり、効率が悪いと共にネットワークの輻輳やユーザーのストレスを増大させる原因となっていた。そこで、本発明にかかる移動機においては、再度最初からJavaTMアプリケーションプログラムを取得するのではなく、用意されているバイトレンジ機能を用いてダウンロードされなかった足りない部分だけを取得できるようにしている。
バイトレンジ機能とは、レスポンス受信中に圏外エリアに移動した場合等によりエンティティの受信が完了しなかった時に、エンティティ全体ではなくその中の受信できなかった1つまたは複数のバイトレンジを要求することができる機能である。この場合、指定できるバイトレンジは1バイト単位とされている。バイト範囲リクエスト機能を使用するときにはRangeヘッダを送出する。また、エンティティの特定のため、RangeヘッダはIf-Rangeヘッダと併用されて使用される。そこで、JavaTMアプリケーションプログラムのダウンロード中に予期しないネットワークの切断が発生したときなどにおいて、このようなバイトレンジ機能をもちいることにより、再度JavaTMアプリケーションプログラムの全てを取得しなおすことをせず、足りない部分のみ取得することができるようになる。この場合、回線切断時点でのダウンロードファイルの解析と、JADファイルのダウンロードサイズと比較して、不足分を指定してダウンロードする。これによって、無線ネットワークリソースの有効活用、アクセス時間の短縮を行うことができる。特に、障害復旧時に再ダウンロードするときの効率化を図ることができる。
1 移動機、1a 回線交換ベアラ、1b パケットベアラ、1c SMSベアラ、1d IP層、1e TCP層、1f SMTP+MMAP、1g Mailer、1h HTTP、1i XHTML、1j JavaTM実行環境、1k ブラウザ、1m JavaTMアプリケーションプログラム、2 基地局、2a 回線交換ベアラ、3 基地局、3a 回線交換ベアラ、3b パケットベアラ、3c SMSベアラ、4 MSC、5 SMSC、6 MMAP、6a LANインタフェース、6b IP層、6c TCP層、7 DAS、7a 回線交換ベアラ、7b LANインタフェース、8 WGW、8a LANインタフェース、9 PMSC、9a パケットベアラ、9b LANインタフェース、10 MMTA、10a LANインタフェース、10b IP層、10c TCP層、11 メールボックス、13 インターネット、14 Webサーバ、14a LANインタフェース、14c IP層、14d TCP層、14e HTTP層、A セル、B セル