(57)【要約】  ＭＢＭＳシステムにおいて参加又は離脱をスケジューリングするための、改善されたシステム及び方法である。参加動作又は離脱動作がユーザ装置によって開始される時、現在時間が保護期間内であるかどうかの決定がなされる。現在時間が保護期間内の場合、第１ランダム時間が計算され、そして動作メッセージは第１ランダム時間における送信のためにスケジュールされる。現在時間が保護の外側で、しかしながら許容期間内である場合、動作メッセージは即座の送信のためにスケジュールされる。現在時間が保護の外側で、かつ許容期間の外側である場合、第２ランダム時間が計算され、そして動作メッセージは第２ランダム時間において送信されるようスケジュールされる。【選択図】図５
2009526459.tif 000002
【特許請求の範囲】
【請求項１】
参加動作と離脱動作とから成るグループから選択された動作を開始することと、
現在時間が保護期間内であるかどうかを決定することと、
前記現在時間が保護期間内である場合に、第１ランダム時間を計算し、該第１ランダム時間において送られるよう動作メッセージをスケジュールすることと、
前記現在時間が保護の外側であり、しかしながら許容期間内である場合に、前記動作メッセージを即座に送信することと、
前記現在時間が保護の外側であり、許容期間の外側である場合、第２ランダム時間を計算し、該第２ランダム時間において送られるよう前記動作メッセージをスケジュールすることと、
を含む、ＭＢＭＳシステムにおける、参加又は離脱手続きのスケジュール方法。
【請求項２】
前記動作は参加動作を含む、請求項１に記載の方法。
【請求項３】
前記第１ランダム時間は、前記現在時間、ランダム時間間隔値、及び０と１との間のランダム数α値とに基づいて計算される、請求項２に記載の方法。
【請求項４】
前記第１ランダム時間は、αを乗じた前記ランダム時間間隔値を前記現在時間に加えたものと等しい、請求項３に記載の方法。
【請求項５】
参加動作のための前記第２ランダム時間は、０と１との間のランダム値であるβを乗じた前記保護期間の長さをセッション参加開始時間に加えたものと等しい、請求項２に記載の方法。
【請求項６】
前記動作は離脱動作を含む、請求項１に記載の方法。
【請求項７】
前記第１ランダム時間は、前記現在時間、ランダム時間間隔値、及び０と１との間のランダムδ値とに基づいて計算される、請求項６に記載の方法。
【請求項８】
前記第１ランダム時間は、δを乗じた前記ランダム時間間隔値を前記現在時間に加えたものと等しい、請求項７に記載の方法。
【請求項９】
前記離脱動作は、前記保護期間の始まりを表すセッション終了時間までに開始され、該セッション終了時間はＳＤＰファイル中、又は別の場所で提供される、請求項６に記載の方法。
【請求項１０】
第３ランダム時間が、０と１との間のランダム値であるεを乗じた前記保護期間の長さを前記セッション終了時間に加えたものに基づいて計算される、請求項９に記載の方法。
【請求項１１】
前記第１及び第２ランダム時間値は、サービス発見／アナウンスメントメタデータから抽出されたランダム時間間隔値に基づいて計算される、請求項１に記載の方法。
【請求項１２】
参加動作と離脱動作とから成るグループから選択された動作を開始するためのコンピュータコードと、
現在時間が保護期間内であるかどうかを決定するためのコンピュータコードと、
前記現在時間が保護期間内である場合に、第１ランダム時間を計算し、該第１ランダム時間において送られるよう動作メッセージをスケジュールするためのコンピュータコードと、
前記現在時間が保護の外側であり、しかしながら許容期間内である場合に、前記動作メッセージを即座に送信するためのコンピュータコードと、
前記現在時間が保護の外側であり、許容期間の外側である場合に、第２ランダム時間を計算し、該第２ランダム時間において送られるよう前記動作メッセージをスケジュールするためのコンピュータコードと、
を含む、ＭＢＭＳシステムにおける参加又は離脱手続きをスケジュールするための、コンピュータ読み取り可能な媒体上に記録されたコンピュータプログラム製品。
【請求項１３】
前記動作は参加動作を含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
前記第１ランダム時間は、前記現在時間、ランダム時間間隔値、及び０と１との間のランダム数α値とに基づいて計算される、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
前記第１ランダム時間は、αを乗じた前記ランダム時間間隔値を前記現在時間に加えたものと等しい、請求項１４に記載のコンピュータプログラム製品。
【請求項１６】
参加動作のための前記第２ランダム時間は、０と１との間のランダム値であるβを乗じた前記保護期間の長さをセッション参加開始時間に加えたものと等しい、請求項１３に記載のコンピュータプログラム製品。
【請求項１７】
前記動作は離脱動作を含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１８】
前記第１ランダム時間は、前記現在時間、ランダム時間間隔値、及び０と１との間のランダム数δ値とに基づいて計算される、請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
前記第１ランダム時間は、δを乗じた前記ランダム時間間隔値を前記現在時間に加えたものと等しい、請求項１８に記載のコンピュータプログラム製品。
【請求項２０】
前記離脱動作は、前記保護期間の始まりを表すセッション終了時間までに開始され、
該セッション終了時間はＳＤＰファイル中で提供される、請求項１７に記載のコンピュータプログラム製品。
【請求項２１】
第３ランダム時間が、０と１との間のランダム値であるεを乗じた前記保護期間の長さを前記セッション終了時間に加えたものに基づいて計算される、請求項２０に記載のコンピュータプログラム製品。
【請求項２２】
前記第１及び第２ランダム時間値は、サービス発見／アナウンスメントメタデータから抽出されたランダム時間間隔値に基づいて計算される、請求項１２に記載のコンピュータプログラム製品。
【請求項２３】
処理装置と、
前記処理装置に通信接続された記憶装置ユニットであって、
参加動作と離脱動作とから成るグループから選択された動作を開始するためのコンピュータコードと、
現在時間が保護期間内であるかどうかを決定するためのコンピュータコードと、
前記現在時間が保護期間内である場合に、第１ランダム時間を計算し、該第１ランダム時間において送られるよう動作メッセージをスケジュールするためのコンピュータコードと、
前記現在時間が保護の外側であり、しかしながら許容期間内である場合に、前記動作メッセージを即座に送信するためのコンピュータコードと、
前記現在時間が保護の外側であり、許容期間の外側である場合に、第２ランダム時間を計算し、該第２ランダム時間において送られるよう前記動作メッセージをスケジュールするためのコンピュータコードと、
を備える記憶装置ユニットと、
を含む、電子装置。
【請求項２４】
前記動作は参加動作を含む、請求項２３に記載の電子装置。
【請求項２５】
前記第１ランダム時間は、前記現在時間、ランダム時間間隔値、及び０と１との間のランダム数α値とに基づいて計算される、請求項２４に記載の電子装置。
【請求項２６】
前記第１ランダム時間は、αを乗じた前記ランダム時間間隔値を前記現在時間に加えたものと等しい、請求項２５に記載の電子装置。
【請求項２７】
参加動作のための前記第２ランダム時間は、０と１との間のランダム値であるβを乗じた前記保護期間の長さをセッション参加時間に加えたものと等しい、請求項２４に記載の電子装置。
【請求項２８】
前記動作は離脱動作を含む、請求項２３に記載の電子装置。
【請求項２９】
前記第１ランダム時間は、前記現在時間、ランダム時間間隔値、及び０と１との間のランダムδ値とに基づいて計算される、請求項２８に記載の電子装置。
【請求項３０】
前記第１ランダム時間は、δを乗じた前記ランダム時間間隔値をセッション終了時間に加えたものと等しい、請求項２９に記載の電子装置。
【請求項３１】
前記離脱動作は、前記保護期間の始まりを表すセッション終了時間までに開始され、該セッション終了時間はＳＤＰファイル中、又は別の場所で提供される、請求項２９に記載の電子装置。
【請求項３２】
第３ランダム時間が、０と１との間のランダム値であるεを乗じた前記保護期間の長さを前記セッション終了時間に加えたものに基づいて計算される、請求項３１に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、一般にはモバイルブロードキャスト／マルチキャストサービス（ＭＢＭＳ：ｍｏｂｉｌｅ  ｂｒｏａｄｃａｓｔ／ｍｕｌｔｉｃａｓｔ  ｓｅｒｖｉｃｅｓ）に関する。より詳細には、本発明は、ＭＢＭＳシステム中での参加及び離脱動作の効率的な実装に関する。
【０００２】
発明の背景
本節は、請求の範囲において列挙される本発明に対しての背景又は前後関係を与えることを意図されている。ここにおける説明は、追求可能であった概念を含んでもよいのではあるが、しかしながら、必ずしも以前に着想された、又は追及された概念とは限らない。従って、ここにおいて別段の指示がされない限り、本節において説明される内容は本出願における明細書と請求の範囲に対しての先行技術ではなく、そして、本節に含まれることをもって先行技術であると認められるものでもない。
【０００３】
ＭＢＭＳは、データが単一のソースから複数の目的地へ同時に送信される、ポイントツーマルチポイントサービスである。ＭＢＭＳは、同一のデータを幾つもの受信者に対して送信するときに、ネットワーク資源を効率的に共有するために用いられる。図１において示されるように、ＭＢＭＳシステムは３つの機能層に分割できる。ベアラサービス１００と、配送手段１１０と、ユーザサービス１２０とである。ＭＢＭＳベアラサービス１００は、ユーザ装置（ＵＥ：Ｕｓｅｒ  Ｅｑｕｉｐｍｅｎｔｓ）へマルチキャスト及びブロードキャストＩＰデータを効率的に移送するためのメカニズムを提供する。配送手段１１０は、ダウンロード配送手段１１２、又はストリーミング配送手段１１４のいずれか一方を含むことができる。配送手段は、データを配送するために、ポイントツーポイントベアラだけでなく、１又は多くのＭＢＭＳベアラサービスを用いてよい。ユーザサービス１２０はＭＢＭＳ上のアプリケーションを有効にし、そしてアプリケーションデータを配送するために一対多の配送手段を用いることが可能である。
【０００４】
ＭＢＭＳセッションは、ＢＭ−ＳＣ（ｂｒｏａｄｃａｓｔ−ｍｕｌｔｉｃａｓｔ  ｓｅｒｖｉｃｅ  ｃｅｎｔｅｒ）と、ＧＧＳＮ（ｇａｔｅｗａｙ  ＧＲＰＳ（Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ）ｓｕｐｐｏｒｔ  ｎｏｄｅ）と、ＵＥとの間で構成される。ＭＢＭＳ配送手段は、ＭＢＭＳユーザサービスプロバイダによりトリガされる。ＭＢＭＳセッションは、マルチキャスト又はブロードキャストセッションを含んでよい。ブロードキャストモードにおいて、ＵＥは、ＢＭ−ＳＣにおけるセッション開始には独立に、サービスのローカルアクチベーションを実行する。図２はＭＢＭＳブロードキャストセッションの手続きを表している。そのセッションは、サービスアナウンスメントフェーズ２００と、セッション開始フェーズ２１０と、ＭＢＭＳ通知フェーズ２２０と、データ転送フェーズ２３０と、セッション停止フェーズ２４０とを含む。
【０００５】
マルチキャストモード（図３に表されている）においては、ＵＥは第１にサービスへ加入しなければならない。一度加入すれば（ステップ３００において発生する）、ＵＥはその後、ステップ３１０において、マルチキャストベアラ又は対話チャネルを越えて送られるサービスアナウンスメントを受信できる。サービス記述メタデータからサービスについての必要な情報を受信し抽出した後、図４に表される通りステップ３２０において、ＵＥはそのサービスへの「Ｊｏｉｎ」動作を実行するであろう。参加動作は、ネットワークが特定のマルチキャストデータをＵＥに転送するようにと、個別のマルチキャストグループに参加することを伴う。
【０００６】
セッションの開始時（ステップ３３０）において、ＢＭ−ＳＣはネットワークに、目前のデータ送信について知らせる。ＭＢＭＳ通知フェーズは、図３中の３４０において表されている。この情報は、ＧＧＳＮから、ＳＧＳＮ（Ｓｅｒｖｉｎｇ  ＧＰＲＳ  ｓｕｐｐｏｒｔ  ｎｏｄｅ）とＢＳＣ（ｂａｓｅ  ｓｔａｔｉｏｎ  ｃｏｎｔｒｏｌｌｅｒ）／ＲＮＣ（ｒａｄｉｏ  ｎｅｔｗｏｒｋ  ｃｏｎｔｒｏｌｌｅｒ）とを越えて、ＵＥへと下って伝播される。ＵＥは、セッション開始についてのページング通知を受信する。この手続きはマルチキャスト及びブロードキャストモードに共通であり、その後にデータ転送３５０が可能となる。セッションは、ＢＭ−ＳＣ又はＵＥのいずれかによって終了させることができる。３６０において、ＢＭ−ＳＣはネットワークへ「セッション停止」要求を送り、セッションの終わりを指示する。この情報は、ＵＥへと下り伝播される。３７０において、ＵＥはまた、「ＩＧＭＰ  Ｌｅａｖｅ」メッセージをＧＧＳＮに送ることにより、事前にセッションを離脱することを選択してもよい。「ＩＧＭＰ」とは、インターネットグループマルチキャストプロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍｕｌｔｉｃａｓｔ  Ｐｒｏｔｏｃｏｌ）を指している。
【０００７】
特定のセッションに対して、セッションの時間を抽出するために、ＵＥは、セッションアナウンスメントの間に運ばれるメタデータからサービス記述を読み出さねばならない。セッション記述は、セッション記述プロトコル（ＳＤＰ：Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）ファイルのフィールドとして、セッションの開始及び終了時間を運ぶであろう。この時間は、ネットワーク時間プロトコル（ＮＴＰ：ｎｅｔｗｏｒｋ  ｔｉｍｅ  ｐｒｏｔｏｃｏｌ）のタイムスタンプを表す。ＮＴＰタイムスタンプは、１９００年１月１日から経過した秒数の量である。ＮＴＰタイムスタンプは、通常３２ビットのフィールドで表される（選択的に３２ビットの２番目の小数フィールドを伴う）。
【０００８】
主要スポーツイベントのような人気イベントのＭＢＭＳを介したマルチキャストの間には、非常に多数のユーザが、そのサービスを受けることを期待する。そのような状況において、ＵＥは、特にＢＭ−ＳＣによって指示を受けていない場合でも、示されるセッション開始時間において参加動作の実行へと向かうかもしれない。これにより、ネットワークへの過負荷という状況が引き起こされる可能性がある。同様の問題が、セッションの終了時、ＵＥがセッション終了時間においての「Ｌｅａｖｅ」手続きを開始した時に発生しうる。この課題は、非特許文献１のＳｅｃｔｉｏｎ  ４．４．２において検討されている。このＳｅｃｔｉｏｎは、以下の通りである。
４．４．２  マルチキャストモードタイムライン
４．４．２．１  サービスアナウンスメントとセッション開始との間の間隔
サービスアナウンスメントは、セッション開始時間のスケジュールを含むことがあり、サービスが開始する予定時間よりもある程度早い時間に送られるかもしれない。
そして、この時間間隔は何時間かになるかもしれないし、何日か、又は何週間かにさえなるかもしれない。
４．４．２．２  サービスアナウンスメントとサービス加入との間の間隔
サービス加入は、サービスアナウンスメントの前後、如何なる時にでも行うことができる。
４．４．２．３  サービスアナウンスメントと参加との間の間隔
参加する時間は、ユーザ及び／又はＵＥによって、場合によってはサービスアナウンスメントに応答して、選択される。ユーザは、典型的には、アナウンスメントと参加との間の間隔を非常に長く、又は非常に短くできるようにと、彼らが選択した時間において参加するであろう。短い時間間隔中に多くのユーザが参加を試みることにより引き起こされる過負荷状態を避けるため、ＵＥは、参加時間をランダム化するために、ＢＭ−ＳＣによってサービスアナウンスメント中で送られるパラメータを、用いることができるものとする。
４．４．２．４  参加とセッション開始との間の間隔
「常にオン」であるようなＭＢＭＳベアラサービスがあってもよい。この場合において、サービスアナウンスメントの直後に参加を行うことが可能であり、場合によっては、セッション開始の何時間も前、又は後であってよい。別の場合において、もしセッション開始時間がわかっているならば、セッション開始の直前に、又は後に、参加を行うことができる。これらサービスに対して、アナウンスメントは、ユーザとＵＥがそのＭＢＭＳベアラサービスに参加する時間を選択するために用いるべき、時間間隔についての何らかの指示を含んでよい。
４．４．２．５  セッション開始と最初のデータ到着との間の間隔
セッションの開始は、まさに送信が行われようとしている、ということを示す。セッション開始指示と実際のデータとの間の時間遅延は、例えばＵＴＲＡＮへのサービス情報の提供、ベアラプレーンの確立等、セッション開始時に要求されるネットワーク作用が行われるために、十分長くあるべきである。ＢＭ−ＳＣからの明示的な通知によって、セッション開始をトリガしてよい。セッションデータ送信の開始後にベアラプレーン資源が構成される場合において、ネットワークにおいてセッションデータをバッファすることは要求されず、データの損失が見込まれる可能性がある。
４．４．２．６  セッション開始とセッション終了との間の間隔
ＢＭ−ＳＣが、「長いアイドル間隔」の間、送られるべきデータがそれ以上存在しないということを知っている場合は、ネットワークにセッション停止を指示し、ベアラ資源を解放するものとする。しかしながら、このデータを有さないアイドル間隔が短い場合は、それ以上のシグナリングと処理とがもたらされるということで、上記は適切ではないかもしれない。この「長いアイドル間隔」の持続時間は実装に依存する。その大きさの桁は、ネットワーク制約（ＵＴＲＡＮ、ＧＥＲＡＮ、及びＣＮを含む）を考慮に入れるよう定められるべきである。ＢＭ−ＳＣが、ＭＢＭＳベアラサービスレベルでのセッション反復識別を用いることを望む場合、ＢＭ−ＳＣは、そのＴＭＧＩに対する次のＭＢＭＳユーザサービスセッションを開始する前に、ＭＢＭＳセッションを停止させなければならない。
【０００９】
Ｓｅｃｔｉｏｎ  ４．４．２．３においては、参加時間をランダム化するために、ＢＭ−ＳＣによってサービスアナウンスメント中で送られるパラメータを、ＵＥが用いることができるべきである、ということが示されている。非特許文献１のＳｅｃｔｉｏｎ  ７．２．３においても、サービスアナウンスメントによってトリガされるセッション参加は時間的に広がっている必要があるということが言及されている。時間拡散に対するパラメータは、セッションアナウンスメント中でシグナリングされる必要がある。しかしながら、非特許文献２において記述されているように、関連する情報としてサービスアナウンスメント中で提供されるのは、ＳＤＰファイル中でのセッション開始及び終了時間のみである。
【００１０】
マルチキャスト／ブロードキャストネットワークにおいて参加及び離脱動作をランダム化するという問題に対処する解決手段は、現在のところ存在しない。非特許文献３において、マルチキャストグループメンバーシップのレポートのためのアルゴリズムが提案されている。この提案の下では、要求を受信したマルチキャスト受信者は、所定のマルチキャストグループへの彼らの興味をマルチキャストルータへとレポートして戻す。この提案において、マルチキャストルータは定期的に、興味あるマルチキャストグループを指示する要求をマルチキャスト送信する。その特定のマルチキャストグループに興味がある受信者は、０からＤ秒の間のレポート時間をランダムに選択し、適宜タイマーを設定する。タイマーが満了すると、受信者はレポートを生成し、興味あるグループマルチキャストアドレスへと送る。しかしながら、別の受信者が既にメンバーシップをレポートしたということを受信者が検出した場合には、レポートは生成されないであろう。これにより、１つの要求に対する返事としては１つだけのメンバーシップレポートが生成されるということが、確かとなる。
【００１１】
非特許文献２ではＢａｃｋｏｆｆタイミングアルゴリズムが伝えられており、それは一様に分布したランダム時間と、回復要求がそこにおいて／そこに対して送られるようなランダムサーバとを計算することをＵＥに対して許可するアルゴリズムである。このアルゴリズムについての情報は、ユーザサービス発見又はアナウンスメントの間、又はそれより後に、セッションコンテンツの一部として、Ａｓｓｏｃｉａｔｅｄ  Ｄｅｌｉｖｅｒｙ  Ｐｒｏｃｅｄｕｒｅ記述内部で、ＵＥに対して伝えられる。そのアルゴリズムは２つの部分を含む。時間に亘ってのランダム化と、回復サーバのランダム化である。時間に亘ってのランダム化のために、ＢＭ−ＳＣは回復後の（ｐｏｓｔ−ｒｅｐａｉｒ）サービスの存在についてＵＥに通知し、ＵＥが要求を送るランダム時間をランダム選択するために、「ｏｆｆｓｅｔＴｉｍｅ」と「ｒａｎｄｏｍＴｉｍｅＰｅｒｉｏｄ」とのパラメータをシグナリングする。ＵＥは、一様に分布したランダム数ジェネレータを動作させ、０からｒａｎｄａｍＴｉｍｅＰｅｒｉｏｄまでの数を生成し、ｏｆｆｓｅｔＴｉｍｅをそれに加え、ファイルダウンロード／セッションが終了した後に回復要求を送信することが可能となるような時間を得る。回復サーバのランダム化のために、Ａｓｓｏｃｉａｔｅｄ  Ｄｅｌｉｖｅｒｙ  Ｐｒｏｃｅｄｕｒｅ記述内部で、ＢＭ−ＳＣは回復サーバＵＲＩのリストを送る。ＵＥは一様に分布したランダム数ジェネレータを動作させ、回復サーバのリストの中からランダムなサーバを選択する。
【００１２】
しかしながら、上述のシステム両方において、マルチキャスト／ブロードキャストネットワークにおける参加及び離脱動作をランダム化するようなシステムは、検討も教示もされていない。
【背景技術】
【００１３】
【非特許文献１】3GPP TS 23.246 V6.8.0, "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Multimedia Broadcast/Multicast Service (MBMS); Architecture and functional description (Release 6)", September 2005
【非特許文献２】3GPP TR 23.846 V6.1.0, "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Multimedia Broadcast/Multicast Service (MBMS); Architecture and functional description (Release 6)", December 2002
【非特許文献３】IETF RFC 1112, S. Deering, "Host Extensions for IP Multicasting", August 1989
【発明の開示】
【００１４】
発明の概要
本発明は、参加又は離脱動作を実行するための時間を決定するためのアルゴリズムを提供する。対応するシグナリング（セッション発見／アナウンスメントメタデータ内で実行されるかもしれない）も定義される。参加動作を開始すると、ＵＥは現在の時間が保護期間内にあるかどうかをチェックする。現在の時間が保護期間内であった場合、それからＵＥは、現在時間インスタントと、指定されたランダム時間間隔と、そして一様に分布してランダムに生成された、指定された値の間でのα値とを用いてランダム時間を算出する。ＵＥはそれから、参加メッセージを、その特定された時間において送られるようスケジュールする。現在時間がセッション参加開始時間の前である場合、参加メッセージを送るためのランダム時間インスタントは、セッション参加開始時間と、指定された保護期間と、一様に分布するランダム番号αとに基づいて算出される。現在時間が許容時間内であって保護期間内ではない場合、その参加要求は即座に送られる。離脱動作を実行するための時間を決定するために、同様のプロセスが用いられる。
【００１５】
本発明においては、システムの全体スケーラビリティが改善されるよう、参加及び離脱要求は保護期間中の時間に亘って拡散される。保護期間外の要求は、既にランダムに拡散されたとみなされる。上述の先行する提案により、参加及び離脱要求のスケーラビリティを改善するアルゴリズムの必要性が確認されたのだけれども、この課題への対処はいままでなされてこなかった。すなわち本発明は、今までに確認はされたものの対処されないままであったギャップを埋めるものである。
【００１６】
本発明におけるこれらの、そして他の利点と特徴とは、以下の詳細な説明を添付図面と併せて用いることで、そこからの動作機構及び手法と共に、明らかとなるであろう。そこにおいて、同様の要素は、以下に説明される複数の図面に亘って同様の数字を有する。
【発明を実施するための最良の形態】
【００１７】
好ましい実施例の詳細な説明
本発明は、参加又は離脱動作を実行するための時間を決定するためのアルゴリズムを提供する。対応するシグナリング（セッション発見／アナウンスメントメタデータ内で実行されるかもしれない）も定義される。
【００１８】
サービスアナウンスメントメッセージを受信すると、ＵＥは自己のサービスガイドデータベースを更新する。ユーザは通常、このサービスへの興味を駆り立てられるか、又はしばらく経ってからサービスガイドに目を通し、その後にサービスを選択するであろう。このユーザ行動が、ＵＥにおける参加手続きのトリガとなる。事前にユーザが願うことにより「セッション離脱」動作は起こりうるし、又はセッション終了時間に到達した後に自動的に開始することも可能である。
【００１９】
本発明の１つの実施形態によれば、２つのタイプのセッション参加及び離脱動作が特定される。即座の動作、及び延期された動作である。即座の動作は即座に実行され、延期された動作はランダム時間を用いて遅延される。
【００２０】
保護期間外であって、しかしながら許容可能セッション参加／離脱時間間隔内において、参加又は離脱動作がトリガされた場合に、即座の動作は実行される。許容可能セッション参加時間とは、セッション参加開始時間とセッション終了時間との間の時間である。離脱動作に対して、許容可能セッション離脱時間とは、セッション参加開始時間の後に始まってセッション終了時間後の任意の時間まで達する、時間である。セッション参加／離脱動作がこれら許容可能時間間隔外にトリガされる場合、その動作は、時間の許容可能期間開始後のランダムな時間点まで延期されるべきである。
【００２１】
延期された動作は、参加／離脱動作が保護期間内においてトリガされた場合に実行される。このようなことは、例えば、サービスアナウンスメントがちょうど受信されたセッションに自動的に参加することをＵＥが決定した場合に起こる。また、保護期間内にサービスを受信するようユーザが決定した場合、又は、ＵＥのスイッチがＯＮにされ、スケジュールされた参加動作に失敗したということを検出し、そして保護期間が進行中である、という場合にも、このようなことは起こる。
【００２２】
重複するかもしれない、３つの異なった保護期間が存在する。第１の期間は、セッション参加開始時間において開始する保護期間である。第２の期間は、セッション開始時間の直前の保護期間である。第３の期間は、セッション終了時間において開始する保護期間である。本発明のいくつかの実施形態において、保護期間の持続時間はお互いに異なってよい。２以上の保護期間が重複する場合には、その重複している保護期間の開始時間の中で最も早いものが、保護期間の開始時間となり、そして保護期間の終了時間は、その重複している保護期間の終了時間の中で最も遅いものとなる。
【００２３】
セッションアナウンスメントにおいて、参加開始時間についての指示が、ＵＥに指示されてよい。参加開始時間とは、そこより、ＧＧＳＮとＢＭ−ＳＣとが、所定のマルチキャストグループに対する参加要求を受信し処理する用意があるような時間である。保護期間中、ＵＥは、ランダム時間インスタントを計算し、その時間インスタントにおいて動作をスケジュールするための基礎として、そこにおいてその動作がトリガされるような現在時間を用いる。その動作が許容時間外においてトリガされる場合、基準時間は、セッション参加開始時間か、又はその動作に依存する別の基準時間である。ランダム時間を計算するために、ＵＥは、サービス発見／アナウンスメントメタデータから抽出されるＲａｎｄｏｍ  Ｔｉｍｅ  Ｐｅｒｉｏｄ値を用いる。
【００２４】
以下の式は、参加要求を送るためのランダム時間のポテンシャル値を如何にして計算するか、ということを示している。
JoinTime = tcurrent+ (α×randomTimePeriod)
又は、
JoinTime = joinStartTime + (β×protectionPeriod)
【００２５】
これら式中において、ｔcurrentは、そこにおいて動作がトリガされるような現在時間であり、ＲａｎｄｏｍＴｉｍｅＰｅｒｉｏｄは、ネットワーク、ＢＭ−ＳＣによってＵＥへと指示されるか、あるいはＵＥ内で事前設定されたランダム時間間隔である。α及びβは、ランダム数ジェネレータを用いて計算することができる、０と１との間のランダム実数である。ＰｒｏｔｅｃｔｉｏｎＰｅｒｉｏｄは、保護期間の持続時間である。ＵＥがスケジュールされた時間において参加動作を実行できない場合（例えば、電源ＯＦＦにされたか、カバー範囲外であった場合等）、ＵＥは、保護期間内であるのか否かを、参加動作を再び実行でき次第、チェックする。保護期間内である場合、ＵＥは自らの参加動作を、第１の式に従って延期するべきである。第２の式は、例えば参加開始時間の前のような、許容可能時間外にトリガされた動作のために適用される。参加動作の振る舞いが、図５に描写されている。
【００２６】
本発明の１つの実施形態に従えば、離脱要求を送るための時間計算は同様である。スケジュールされたセッション終了時間の前に離脱動作がトリガされた場合、ＵＥは、保護期間内であるのか否かをチェックする。保護期間内でないならば、それからＵＥは、即座にその離脱要求を送る。保護期間内であった場合は、それからＵＥは、その離脱動作を以下の式に従って延期する。
LeaveTime = tcurrent + (δ×RandomTimePeriod)
ＵＥは、以下の式に従って、セッション終了時間よりも後のランダム時間に、離脱動作を自動的にスケジュールする。
LeaveTime = sessionEndTime + (ε×protectionPeriod)
【００２７】
これらの式中、δ及びεは、ランダム数ジェネレータを用いて計算することができる、０と１との間のランダム実数である。
【００２８】
セッション中、ＵＥは参加及び離脱することを許可されるのであり、その場合には即座の動作が実行される。離脱動作の振る舞いは、図６において描写される。
【００２９】
ユーザサービスが幾つものマルチキャストＩＰアドレスを利用している場合、セッション開始時において複数の参加／離脱を実行する必要がある。そのような場合、あるＵＥについての全ての参加／離脱要求を同時にスケジュールするために、同一のアルゴリズムを用いることが可能である。
【００３０】
ＢＭ−ＳＣは、セッション開始とデータ送信開始の間の時間を決定するために、従来のアルゴリズム及び接続構成時間のような他の遅延因子を考慮に入れる必要がある。このことは、非特許文献１のＳｅｃｔｉｏｎ  ４．４．２．５において詳細に検討されている。タイミングアルゴリズムのタイプに依存して、データ送信は、少なくとも起こりうる最後のタイマーの満了時、tstart + RandomTimePeriodよりも後に、開始すべきである。
【００３１】
時間選択アルゴリズムのパラメータは、セッション発見の間にセッションアナウンスメントメタデータ中でシグナリングされてよいし、または、サービスを説明しているウェブサイト、サービス記述のためのＳＭＳ又はＭＭＳ等のような、他の場所でシグナリングされてもよい。
【００３２】
本発明の１つの実施形態を実行するために、ＵＥはタイミングアルゴリズムに関する情報を、サービス発見／アナウンスメントメタデータから抽出するか、又はその情報が利用可能であるような別の場所から抽出する。ＵＥはそれから、自らのサービスガイドを更新するか、又はその情報をユーザへ提示する。ユーザはサービスへの自らの興味を要求上で表現することができるし、又は自動的に幾つかのサービスに参加するよう、ＵＥを構成してもよい。ユーザが自らの興味を要求上で表現するような場合においては、参加動作は、より遅い時間においてトリガされるかもしれない。あるサービスに自動的に参加するようＵＥが構成されている場合においては、アナウンスメントメッセージを受信して即座に参加動作を開始することが可能である。
【００３３】
図７において描写される通り、参加動作を開始すると、ＵＥはステップ７００において、現在時間が保護期間の内側にあるかどうかをチェックする。現在時間が保護期間の内側であった場合、その後ステップ７１０においてＵＥは、現在時間インスタントと、ランダム時間間隔と、及びランダムに生成された０と１との間のα値（一様に分布していても、何か他の分布に従っていてもよい）とを用いてランダム時間を計算する。ＵＥはそれから、ステップ７２０において、その特定された時間において送られるよう参加メッセージをスケジュールする。現在時間がセッション参加開始時間の前である場合（すなわち、保護期間及び許容された期間の両方についての外側の場合）、その後ステップ７３０において、セッション参加開始時間と、保護期間と、及び０と１との間のランダム数β（一様に分布していても、何か他の分布に従っていてもよい）とに基づいて、参加メッセージを送るためのランダム時間インスタントが計算される。それから、ステップ７４０において参加メッセージがスケジュールされる。現在時間が許容時間間隔内であって、しかしながら保護期間内ではない場合、ステップ７５０で表される通り、参加要求は即座に送られる。
【００３４】
同様に、図８は離脱要求が実行されるプロセスを示すフローチャートである。８００において、現在時間（すなわち、ユーザ決定によって、又は何らかの他のイベントによって、離脱動作がトリガされるか又は開始される時間）が保護期間の外側にあるかどうかが決定される。現在時間が保護期間内である場合、ステップ８１０において、現在時間と、ランダム時間間隔と、及び０と１との間のランダム数δ（ランダムに分布していても、何か他の分布に従っていてもよい）とに基づいて、離脱メッセージを送るためにランダム時間が計算される。ＵＥはそれから、ステップ８２０において、その特定された時間において送られるよう離脱メッセージをスケジュールする。本発明の１つの実施形態においては、ＳＤＰファイル中で与えられるセッション終了時間までに常に開始されるよう、離脱動作を定義することが可能である。その場合、ステップ８４０において、セッション終了時間と、保護期間と、及び０と１との間のランダム数ε（一様に分布していても、何か他の分布に従っていてもよい）とに基づいて、離脱メッセージを送るためのランダム時間インスタントが計算される。その後ステップ８５０において、離脱メッセージはスケジュールされる。現在時間がセッション終了時間の前（すなわち、許容可能期間内）であって、かつ保護期間内にない場合、ステップ８３０に表される通り、離脱要求は即座に送られ、そして自動的にスケジュールされる離脱メッセージの送信はキャンセルされる。
【００３５】
注意すべきは、最適化の目的で、ランダム時間インスタントの生成を別のやり方で実施することが可能であるということである。例えば、０と１の間のランダム数を生成することが効果的ではないと分かった場合には、このプロセスについて別の実施をとることができる。
【００３６】
以下は、本発明の１つの実施形態を実行するためのサービス記述のメタデータである。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:3GPP:metadata:2005:MBMS:userServiceDescription"
xmlns : xs=http://www.w3.org/2001/XMLSchema
targetNamespace="urn:3GPP:metadata:2005:MBMS:userServiceDescription"
elementFormDefault="qualified">
<xs:element name="bundleDescription" type="bundleDescriptionType'/>
<xs:complexType name="bundleDescriptionType">
<xs:sequence>
<xs:element name="userServiceDescription" type="userServiceDescriptionType"
maxOccurs="unbounded"/>
<xs:element name="randomJoinLeave" type="randomJoinLeaveType" minOccurs="0"
maxOccurs="1"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xs:sequence> <xs:attribute name="fecDescriptionURI" tyρe="xs:anyURI" use="optional"/>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
<xs:complexType name="userServiceDescriptionType">
<xs:sequence>
<xs:element name="name" type="nameType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="serviceLanguage" type="xs:language" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="deliveryMethod" type="deliveryMethodType" maxOccurs="unbounded"/>
xs:element name="accessGroup" type="accessGroupType" minOccurs="0"
maxOccurs="unbounded"/> 
<xs:element name="randomJoinLeave" type="randomJoinLeaveType" minOccurs="0"
maxOccurs=" 1 "/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xs:sequence>
<xs:attribute name="serviceId" type="xs:anyURI" use="required"/>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
<xs:complexType name="accessGroupType">
<xs:sequence>
<xs:element name="accessBearer" type="xs: string" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="accessGroupIdType" use="required"/>
</xs:complexType>
<xs:complexType name="deliveryMethodType">
<xs:sequence>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xs:sequence>
<xs:attribute name="accessGroupId" type="accessGroupIdType" use="optional"/>
<xs:attribute name="associatedProcedureDescriptionURI" type="xs:anyURI" use="optional"/>
<xs:attribute name="protectionDescriptionURI" type="xs:anyURI" use="optional"/>
<xs:attribute name="sessionDescriptionURI" type="xs:anyURI" use="required"/>
<xs:any Attribute processContents="skip"/>
</xs:complexType>
<xs:complexType name="nameType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="lang" type="xs:language" use="optional'/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:comρlexType name="randomJoinLeaveType">
<xs:attribute name="joinStartTime" type="xs:unsignedlnteger" use="optional"/>
<xs:attribute name="protectionPeriod" type="xs:unsignedlnteger" use="optional"/>
<xs:attribute name="randomTimePeriod" type="xs:unsingedlnteger" use="optional"/>
</xs:complexType>
<xs:simpleType name="accessGroupIdType">
<xs:restriction base="xs:nonNegativeInteger"> 
</xs:restriction> 
</xs:simpleType> 
</xs:schema>
【００３７】
全体として、時間計算のために用いられるｒａｎｄｏｍＴｉｍｅＰｅｒｉｏｄとｐｒｏｔｅｃｔｉｏｎＰｅｒｉｏｄとの値を指示するために、ｕｓｅｒＳｅｒｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎ又はｂｕｎｄｌｅＤｅｓｃｒｉｐｔｉｏｎへ、情報フィールドを追加することができる。別の情報フィールド（属性であっても要素であってもよい）が、セッション参加要求の開始を指示してよい。メタデータ中にそれらの値が存在しない場合において適切なスケーラビリティメカニズムが動作できるよう、これら各々の変数にデフォルト値を定義してよい。ＲａｎｄｏｍＴｉｍｅＰｅｒｉｏｄは、ＰｒｏｔｅｃｔｉｏｎＰｅｒｉｏｄと同じであってよい。ｊｏｉｎＳｔａｒｔＴｉｍｅは、デフォルトでアナウンスメント受信時間になってよい。
【００３８】
図９と図１０とは、本発明がその内部で実施可能であるような、代表的携帯電話１２を示す。しかしながら、本発明が携帯電話１２の特定の１タイプ、又は他の電子装置に制限されることを意図されたものではないというのは当然である。図９と図１０との携帯電話１２は、筐体３０、液晶ディスプレイの形をとるディスプレイ３２、キーパッド３４、マイクロフォン３６、イヤーピース３８、バッテリー４０、赤外線ポート４２、アンテナ４４、本発明の１つの実施形態に従ってＵＩＣＣ形式であるスマートカード４６、カードリーダ４８、無線インターフェース回路５２、コーデック回路５４、コントローラ５６、そしてメモリ５８を備える。個々の回路と要素とは、全て当該技術分野で周知であるようなタイプであって、例えば携帯電話のＮｏｋｉａ  ｒａｎｇｅ内のものである。
【００３９】
本発明は方法ステップ一般に関連して説明されているのであり、それは、ネットワーク化された環境中のコンピュータによって実行される、例えばプログラムコードのようなコンピュータ実行可能な命令を含むプログラム製品による実施形態において実行可能である。一般的に、プログラムモジュールには、特定のタスクを実行するか、又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。データ構造に関連してコンピュータ実行可能な命令、そしてプログラムモジュールは、ここにおいて開示される方法のステップを実行するためのプログラムコードについての例を表す。一連の、そのような実行可能な命令又は関連するデータ構造の特定のものは、そのようなステップにおいて説明される機能を実装するための対応する動作の例を表す。
【００４０】
規則に基づいたロジックと、さまざまなデータベース検索ステップ、相関ステップ、比較ステップ、決定ステップ、を遂行するための他のロジックと、を用いての標準的プログラミング技法を使って、本発明のソフトウェア、ＷＥＢでの実行を成すことが可能である。ここにおいて、そして請求の範囲において用いられる、「コンポーネント（構成要素）」、「モジュール」という単語は、１行以上のソフトウェアコード、及び／又はハードウェア装置、及び／又はマニュアル入力を受信するための機器、を用いての実装をその範囲に含むことを意図されたものであることに、併せて注意すべきである。
【００４１】
本発明における実施形態の上記の説明は、描写と説明の目的で与えられてきた。その説明によって全てを網羅することを意図したものでも、また本発明を、その開示された通りの正確な形式へと制限することを意図したものでもないのであって、上述の教示に照らして修正や変更を考えることは可能であるし、又は本発明を実行することで、その修正、変更がもたらされるかもしれない。実施形態は、本発明の原理を説明するために、そして、本発明をさまざまな実施形態において、そして意図された特定の用途に適するようにとさまざまな修正をした上で、利用することを当業者にとって可能とするための実用的な応用を説明するためにと、選択され、そして説明されたものである。
【図面の簡単な説明】
【００４２】
【図１】図１は、従来のＭＢＭＳサービス配送における機能層を描写する。
【図２】図２は、ＭＢＭＳブロードキャストサービス提供の個々のフェーズを描写する。
【図３】図３は、ＭＢＭＳマルチキャストサービス提供の個々のフェーズを描写する。
【図４】図４は、ＭＢＭＳマルチキャストサービスをアクティベートするためのプロセスを示す。
【図５】図５は、本発明の１つの実施形態に従って時間拡散された参加要求を実施するためのプロセスを示すチャートである。
【図６】図６は、本発明の１つの実施形態に従って時間拡散された離脱要求を実施するためのプロセスを示すチャートである。
【図７】図７は、本発明の１つの実施形態に従って、参加動作を実行するための時間を決定するプロセスを示すフローチャートである。
【図８】図８は、本発明の１つの実施形態に従って、参加動作を実行するための時間を決定するプロセスを示すフローチャートである。
【図９】図９は、本発明の実施において用いることが可能な携帯電話の斜視図である。
【図１０】図１０は、図８の携帯電話における回路の略図である。
【図１】
2009526459.tif 000003
【図２】
2009526459.tif 000004
【図３】
2009526459.tif 000005
【図４】
2009526459.tif 000006
【図５】
2009526459.tif 000007
【図６】
2009526459.tif 000008
【図７】
2009526459.tif 000009
【図８】
2009526459.tif 000010
【図９】
2009526459.tif 000011
【図１０】
2009526459.tif 000012
【国際調査報告】
2009526459.tif 000013
2009526459.tif 000014
2009526459.tif 000015