(57)【要約】【課題】本発明は、音声ストリーム及びデータストリームを送信する方法及びシステムを提供する。【解決手段】本発明にかかるポータブルコンピューティング機器は、プロセッサ（１０）と、プロセッサ（１０）に結合され、ワイヤレス電話システムデータネットワーク内の他の機器と通信するワイヤレス送受信器（２８）と、プロセッサ（１０）及びワイヤレス送受信器（２８）に結合され、高優先度バッファ（３４）及び低優先度バッファ（３６）を含むメモリアレイ（１２）とを備え、プロセッサ（１０）は、高優先度バッファ（３４）でデータグラムを構築するとともに、低優先度バッファ（３６）でデータグラムを構築して、高優先度バッファ（３４）からのデータグラムが利用可能でない場合にのみ、低優先度バッファ（３６）からのデータグラムを送信に向けて送受信器（２８）に送る。【選択図】図１
2006311531.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレス電話システムのデータネットワークを使用して音声ストリームを送信することと、
前記データネットワークを介してデータストリームを送信することと
を含む方法。
【請求項２】
音声ストリームパケットベースメッセージが利用可能ではない場合にのみ、データストリームパケットベースメッセージを送信すること
をさらに含む請求項１に記載の方法。
【請求項３】
音声ストリームパケットベースメッセージがシールされている（sealed）、又は次の送信時間前にシールされる場合にのみ、前記音声ストリームパケットベースメッセージを送信すること
をさらに含む請求項２に記載の方法。
【請求項４】
前記送信することの前に、
シールされていない音声ストリームパケットベースメッセージの充填速度を求めることと、
前記求められた充填速度に基づいて、前記シールされていない音声ストリームパケットベースメッセージが前記次の送信時間までに十分なバイト数を含むことがない場合、データストリームパケットベースメッセージを送信するものとして選択することと
をさらに含む請求項１に記載の方法。
【請求項５】
前記送信することの前に、
音声ストリームパケットベースメッセージが最後に送信されてからの時間量を求めることと、
前記最後の送信からの時間量がジッタしきい値に近づいている場合、シールされていない音声ストリームパケットベースメッセージをシールし、前記音声ストリームパケットベースメッセージを送信するものとして選択することと
をさらに含む請求項１に記載の方法。
【請求項６】
プロセッサ（１０）と、
前記プロセッサ（１０）に結合され、ワイヤレス電話システムデータネットワーク内の他の機器と通信するように構成されるワイヤレス送受信器（２８）と、
前記プロセッサ（１０）及びワイヤレス送受信器（２８）に結合され、高優先度バッファ（３４）及び低優先度バッファ（３６）を含むメモリアレイ（１２）と
を備え、
前記プロセッサ（１０）は、前記高優先度バッファ（３４）においてデータグラムを構築するとともに、前記低優先度バッファ（３６）においてデータグラムを構築し、
前記プロセッサ（１０）は、前記高優先度バッファ（３４）からのデータグラムが利用可能でない場合にのみ、前記低優先度バッファ（３６）からのデータグラムを送信に向けて前記送受信器（２８）に送る
ポータブルコンピューティング機器。
【請求項７】
前記メモリアレイ（１２）内に管理テーブル（６０）
をさらに備え、
前記プロセッサ（１０）は、第２のポータブルコンピューティング機器への通信のサービス品質を示す前記管理テーブル（６０）を保持し、前記管理テーブル（６０）内の前記サービス品質表示に基づいて前記第２のポータブルコンピューティング機器へのデータグラムの送信を選択的に制限する
請求項６に記載のポータブルコンピューティング機器。
【請求項８】
前記プロセッサ（１０）に関連する第１及び第２のレジスタ（３８、３９）をさらに備え、
前記プロセッサ（１０）は前記第１のレジスタ（３８）内のシール済みデータグラムの高優先度バッファ（３４）の容量利用率を追跡するとともに、前記第２のレジスタ（３９）内の高優先度バッファ（３４）の容量総利用率を追跡し、
前記プロセッサ（１０）は、前記第１及び第２のレジスタ（３８、３９）を使用して前記高優先度バッファ（３４）内のシールされていないデータグラムの充填速度を求め、前記高優先度バッファ（３４）内の前記シールされていないデータグラムが次の送信時間までに略満杯な（full）ペイロードを有さない場合、前記低優先度バッファ（３６）から前記送受信器（２８）に送信に向けてデータグラムを送る
請求項６に記載のポータブルコンピューティング機器。
【請求項９】
前記プロセッサ（１０）に関連するレジスタ（３８、３９）をさらに備え、
前記プロセッサ（１０）は、前記レジスタ（３８、３９）において、前記高優先度バッファ（３４）からのデータグラムが最後に送信されてからの時間量を追跡し、
前記プロセッサ（１０）は、前記最後に送信してからの時間量が所定のしきい値に近づいている場合、前記高優先度バッファ（３４）のシールされていないデータグラムをシールして、送信に向けて前記データグラムを前記送受信器（２８）に送る
請求項６に記載のポータブルコンピューティング機器。
【請求項１０】
第１のポータブルコンピューティング機器（１００）が、少なくとも１つの他のポータブルコンピューティング機器を有するワイヤレスネットワーク通信に参加することと、
前記第１のポータブルコンピューティング機器（１００）が、前記少なくとも１つの他のポータブルコンピューティング機器への通信サービス品質を示す管理テーブル（６０）を保持することと、
前記管理テーブル（６０）内の通信サービス品質指示に基づいて、前記第１のポータブルコンピューティング機器（１００）が、前記少なくとも１つの他のポータブルコンピューティング機器に対して許可する通信のタイプを選択的に制限することと
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声ストリーム及びデータストリームを送信する方法及びシステムに関する。
【背景技術】
【０００２】
近年、携帯電話の機能と個人情報端末（ＰＤＡ）と呼ばれることもあるハンドヘルド機器の機能が１つにまとまってきた。したがって、１つにまとまった機器は、異なるサービス品質要件を有する音声サービスとデータサービスをもたらす。音声サービスとデータサービスを同時に処理するために、ハードウェアプロバイダは、外見からして一体化された機器である機器を製造する。しかし、内部には音声サービス及びデータサービスを処理する独立したシステムが存在する。たとえば、携帯電話回路が非パケットベースの音声サービスを処理し、その一方で独立したコンピューティング機能がパケットベースのデータサービスを提供する。汎用パケット無線サービス（ＧＰＲＳ）及び／又は符号分割多元アクセス（ＣＤＭＡ）等のワイヤレスアクセス技術は、所与の機器で同じである可能性があっても、内部の分離により資源を共有することができず、アイソクロナスサービスの場合に問題を呈する。
【発明の開示】
【課題を解決するための手段】
【０００３】
本発明にかかるポータブルコンピューティング機器は、プロセッサ（１０）と、前記プロセッサ（１０）に結合され、ワイヤレス電話システムデータネットワーク内の他の機器と通信するように構成されるワイヤレス送受信器（２８）と、前記プロセッサ（１０）及びワイヤレス送受信器（２８）に結合され、高優先度バッファ（３４）及び低優先度バッファ（３６）を含むメモリアレイ（１２）とを備え、前記プロセッサ（１０）は、前記高優先度バッファ（３４）においてデータグラムを構築するとともに、前記低優先度バッファ（３６）においてデータグラムを構築し、前記プロセッサ（１０）は、前記高優先度バッファ（３４）からのデータグラムが利用可能でない場合にのみ、前記低優先度バッファ（３６）からのデータグラムを送信に向けて前記送受信器（２８）に送る。
【０００４】
本発明の例示的な実施形態の詳細な説明のために、これより添付図面を参照する。
【発明を実施するための最良の形態】
【０００５】
特定の用語を以下の説明及び特許請求の範囲全体を通して使用して、特定のシステム構成要素を指す。当業者が理解するように、コンピュータ企業は構成要素を異なる名称で呼ぶ場合がある。本明細書は、名称は異なるが機能は同じである構成要素を区別することを意図しない。
【０００６】
以下の考察及び特許請求の範囲では、用語「含む」及び「備える」はオープンエンド名方法で使用され、したがって「〜を含むがこれ（ら）に限定されない」を意味するものとして解釈されるべきである。また、用語「結合」は間接的な接続又は直接的な接続のいずれかを意味することを意図する。したがって、第１の機器が第２の機器に結合する場合、その接続は直接の接続によるものであってもよく、又は他の機器及び接続を介した電気接続によるものであってもよい。
【０００７】
図１は、本発明の少なくともいくつかの実施形態によるポータブルコンピューティング機器１００を示す。ポータブルコンピューティング機器１００は、携帯電話、個人情報端末（ＰＤＡ）、或いは静止画及び／又は動画カメラのうちの１つ又は複数の機能を単一の機器に組み込んだものである。この機能を実施するために、ポータブルコンピューティング機器１００は、メインメモリアレイ１２に結合されたプロセッサ１０を備える。メインメモリアレイ１２は、１つ又は複数のランダムアクセスメモリ（ＲＡＭ）装置を含む。メインメモリアレイ１２はプロセッサ１０の作業メモリであり、したがってプロセッサ１０が利用するプログラム及びデータを記憶する。各種機能を提供するために、プロセッサ１０は、メインメモリアレイ１２に永久的に又は半永久的に記憶することができる１つ又は複数のプログラムを実行する。
【０００８】
ポータブルコンピューティング機器１００は、プロセッサ１０に結合されたディスプレイ１４も備える。ディスプレイ１４は、液晶ディスプレイ（ＬＣＤ）等、テキスト及び／又はデータをユーザに表示することができる任意の適した装置である。ポータブルコンピューティング機器１００は、プロセッサ１０に結合されたユーザインタフェース１６をさらに備える。いくつかの実施形態では、ユーザインタフェース１６はフルサイズ又は縮小サイズのキーボードである。代替の実施形態では、ユーザインタフェース１６は少なくとも１０個の数字を含むキーパッドである。さらなる代替の実施形態では、ユーザインタフェースは、ディスプレイ１４に重ねられ、それによってユーザが筆記スタイラスを使用してプロセッサ上のプログラムと対話できるようにするデジタイザパネルである。さらに他の実施形態では、ユーザインタフェースは上述した各種のインタフェースの２つ以上の組み合わせであることができる。プロセッサ１０は、プログラムを実行し、それによってポータブルコンピューティング機器１００のユーザにカレンダー、仕事のスケジューリング、住所録サービス、文書処理、オンラインバンキング、及びファイル転送等のサービスを提供することができる。
【０００９】
引き続き図１を参照すると、ポータブルコンピューティング機器１００は、アナログ／デジタル変換器２０を介してプロセッサ１０に結合されたマイクロホン１８をさらに備える。同様に、スピーカ２２もデジタル／アナログ変換器２４を介してプロセッサ１０に結合する。話し声及び／又は他の音声がマイクロホン１８により検知され、アナログ／デジタル変換器２０によってデジタル形態に変換される。プロセッサ１０は、プログラムを実行し、符号励振線形予測（ＣＥＬＰ）等の任意の適した符号化方式を使用して、検知された音声を符号化する。同様に、プロセッサ１０は符号化された音声を受け取って符号化されていないデジタルフォーマットに変換し、符号化されていないデジタルフォーマットの音声をデジタル／アナログ変換器２４に渡し（apply）、それによりスピーカ２２を介して音声を再生する。プロセッサ１０、アナログ／デジタル変換器２０、及びデジタル／アナログ変換器２４は、共に結合されて各種タスクを実行する個々の構成要素であってよく、又はプロセッサ、アナログ／デジタル変換器、及びデジタル／アナログ変換器の機能を、専用デジタル信号プロセッサ等、破線２６で示す単一の装置に収容してよい。
【００１０】
図示の実施形態では、ポータブルコンピューティング機器１００はプロセッサ１０に結合されたワイヤレス送受信器２８をさらに備える。ワイヤレス送受信器２８は、音声、映像、及び／又はデータのワイヤレス通信に応答することができる。したがって、ワイヤレス送受信器２８、マイクロホン１８、スピーカ２２、及びプロセッサ１０上で実行されているソフトウェアはたとえば、ワイヤレス電話サービスを提供することができる。いくつかの実施形態では、ワイヤレス送受信器２８は汎用パケット無線サービス（ＧＰＲＳ）を実施する。ＧＰＲＳは、データを携帯電話網内で送受信できるようにするデータ交換サービスである。しかし、本発明の実施形態は例示的なＧＰＲＳを使用して、ワイヤレス電話サービス等の音声サービスも提供し、これについてより十分に後述する。ＧＰＲＳを実施する送受信器２８は単なる例示にすぎず、他の長距離又は短距離のデータ通信システムを同等に使用することが可能である。たとえば、代替の実施形態では、ワイヤレス送受信器２８は、米電気電子通信学会（ＩＥＥＥ）８０２．１１ワイヤレスネットワーキングプロトコルを実装する（implement）。
【００１１】
引き続き図１を参照すると、ポータブルコンピューティング機器１００はデジタルカメラ機能をさらに備え、したがってプロセッサ１０に結合された電荷結合素子（ＣＣＤ）アレイ３０を備える。プロセッサ１０は、プログラムを実行し、ＣＣＤアレイ３０を利用して静止画を取り込み、且つ／又は一連の静止画を取り込んで動画を取り込む。さらに、マイクロホン１８を使用して、プロセッサ１０は動画に付随する音声を取り込むこともできる。これら要素のいくつかは、本発明の範囲及び精神から逸脱することなく省くことができる。
【００１２】
コンピューティング機器１００の音声態様は、音声ストリームを生成する。同様に、ポータブルコンピューティング機器１００のカメラ態様は映像ストリームを生成する。音声ストリームと映像ストリームのサービス品質は、時折のパケット損失により深刻には影響を受けないが、過度の伝送遅延がサービス品質に深刻な影響を与える恐れがある。このため、本発明の少なくともいくつかの実施形態によるポータブルコンピューティング機器１００は、電話ベースであれ、又は動画の一部であれ、汎用データグラムプロトコル（ＵＤＰ）を伝送レイヤプロトコルとして使用して音声ストリームを送信する。同様に、映像が存在する場合、映像ストリームもＵＤＰを伝送レイヤプロトコルとして使用して送信される。ＵＤＰは元来、各パケットの伝達（delivery）保証を提供しないため（データパケット受信の肯定応答がない、又はデータパケットの自動での再送信又はトリガされる再送信がない）、このような機能を必要としない音声及び／又は映像ストリームの全体のネットワークオーバヘッドを低減する。本発明の少なくともいくつかの実施形態によれば、映像ストリームはネットワーク送信前に動画専門家グループ（ＭＰＥＧ）ＩＩ符号化方式を使用して符号化される。
【００１３】
ポータブルコンピューティング機器１００のユーザは、オンライントランザクション（たとえば、オンラインバンキング、オンライン料金支払い、又はオンライン購入）、電子メールメッセージ、及びウェブサービス要求を含む低帯域幅データストリームを生成することもできる。これら低帯域幅データストリームのサービス品質はデータパケット損失により深刻な影響を受けるが、適度な（reasonable）伝送遅延によっては深刻な影響を受けないため、少なくともいくつかの実施形態によれば、低帯域幅データストリームは伝送制御プロトコル（ＴＣＰ）を伝送レイヤプロトコルとして使用して伝送される。ＴＣＰインプリメンテーションは、受信肯定応答、タイムアウト時の自動再送信、及び受信側トリガデータ再送信（データ破損が伝送中に発生した場合等）を用いて確実に伝達する。さらに、ポータブルコンピューティング機器１００のユーザは、高帯域幅データストリームを比較的大きな電子ファイル、たとえば文書処理ファイル及びデータベースファイルの転送という形で生成することができる。オンライントランザクション及び電子メールメッセージと略同じように、高帯域幅データストリームのサービス品質もデータパケット損失により深刻な影響を受けるが、適度な伝送遅延によっては深刻な影響を受けない。したがって、少なくともいくつかの実施形態によれば、これら高帯域幅データストリームもＴＣＰを伝送レイヤプロトコルとして使用する。
【００１４】
本発明の各種実施形態は、音声／映像ストリーム及びデータストリームの伝送に優先度を付与して、帯域幅に基づいて可能な程度まで、各ストリームがサービス品質問題を軽減するに十分な頻度で送信されることを確保するプロセッサベースの方法及び関連するシステムも対象とする。再び図１を参照すると、メインメモリアレイ１２は高優先度バッファ３４及び低優先度バッファ３６を備える。高優先度バッファ３４は、ＵＤＰを伝送レイヤプロトコルとして使用する音声及び／又は映像ストリームパケット（以下、ＵＤＰデータグラム、つまりパケットベースのメッセージであるデータグラム）等の高優先度パケットの蓄積に使用される。タイマが時間切れするか、又はＵＤＰデータグラムのペイロードが満杯になるかのうちの早いほうで、ヘッダの各部、たとえば宛先、総長、及びヘッダチェックサムを埋めることによってＵＤＰデータグラムは完成する。ヘッダを完成させるプロセスは別法としてデータグラムの「シーリング（sealing）」と呼ぶことができる。シールされる（sealed）と、データグラムの送信準備は整う。同様に、低優先度バッファは、おそらくＴＣＰを伝送レイヤプロトコルとして使用する高帯域幅データストリームパケット及び低帯域幅データストリームパケット（以下ＴＣＰデータグラム）等の低優先度データパケットのペイロードを蓄積する。空き送信帯域幅がＵＤＰデータグラムで一杯になっていない場合、ＴＣＰデータグラムが送信される。したがって、本発明の実施形態によれば、ＵＤＰデータグラムにはＴＣＰデータグラムよりも高い優先度が付与される。
【００１５】
シール済みデータグラムを送信することは、データグラムをメインメモリアレイ１２中のバッファ３４及び３６からワイヤレス送受信器２８等のネットワークインタフェース機器（機器ドライバ）に移すことを含むことができる。しかし、ネットワーク輻輳及び／又はネットワーク接続の速度により、ワイヤレス送受信器２８がデータグラムをどの程度高速に送信に費やすことができるかが制限される場合があり、したがってメインメモリアレイ１２中のバッファ、特に低優先度バッファ３６にネットワーク送信に向けていくつかのデータグラムが蓄積し得る。各バッファ３４及び３６の利用状態を把握するために、本発明の実施形態はレジスタ又はレジスタのセット、たとえばプロセッサ１０のレジスタ３８及び３９を利用する。これらレジスタはタイマ及び満杯になったバッファセルのカウンタを実施することができ、したがって以下さらに考察するようにバッファ入力フロー（input flow）の速度を計算することができる。いくつかの実施形態によれば、レジスタ３８は、例えば８ビットのタイマ機能を実施する部分、及びバッファ容量利用率を示す値をそれぞれ記憶する２つの３２ビット部を有する７２ビットレジスタであることができる。同様に、レジスタ３９も、例えば８ビットのタイマ機能を実施する部分、及びバッファ容量利用率を示す値をそれぞれ記憶する２つの３２ビット部を有する７２ビットレジスタであることができる。データがバッファ３４及び３６に蓄積されると（バッファ中のメモリセルが書き込まれると）、レジスタ３８の対応する部分が更新される。同様に、データグラムが送信のためにワイヤレス送受信器２８に移されると、空間が解放され、したがってレジスタ３８の利用率値が変更される（adjusted）。レジスタ３９は、いくつかの実施形態では、レジスタ３８が保持するメモリセル利用率値ではなくシール済みデータグラムに関するバッファ利用率値を保持する。レジスタ３８及び３９からのバッファ容量利用率値を使用して、またタイマ値と組み合わせて、シールされていないデータグラムの充填速度を求めることができ、これについてより十分に後述する。
【００１６】
本発明の各種実施形態は、移動体通信用グローバルシステム（ＧＳＭ）通信規格下で動作し、時分割多元アクセス（ＴＤＭＡ）規格下での空き帯域の時分割多重に基づくＧＰＲＳを携帯電話網で使用するという背景（context）で開発された（developed）。これら各種実施形態についてこの開発背景に関連して考察するが、開発背景は単なる例示にすぎず、他のシステム及びアクセスプロトコル（たとえば、ＩＥＥＥ８０２．１１、符号分割多元アクセス（ＣＤＭＡ））を同等に使用することが可能である。ＧＳＭ  ＴＤＭＡシステムでは、空き送信帯域幅が、４．６ミリ秒（ｍｓ）を含むフレーム周期をそれぞれ有する８つのフレーム周期に時分割多重される。理論上のＧＰＲＳ送信速度毎秒１７２．２キロビット（ｋｂｐｓ）を８つのフレーム周期に分けると結果的に、各フレーム周期の理論上の帯域幅は２１．５ｋｂｐｓになる。データ送信の際の実際の効率を考えると、およそ２４〜２５バイトを各フレーム周期内で送信することができる。ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ＧＳＭ  Ｅｎｖｉｒｏｎｍｅｎｔ）が使用される場合、帯域幅、ひいては（and therefore）送信可能なバイト数はおよそ２倍になる。以下の考察では、個々のポータブルコンピューティング機器１００が１フレーム周期での送信に制限されるものと仮定するが、ワイヤレス電話システムの負荷に応じて、ポータブルコンピューティング機器に１つ又は複数のフレーム周期を割り当てることができる。
【００１７】
図２は、本発明の少なくともいくつかの実施形態により実施することができるバッファ管理方法を示す。図２中、又は本明細書のいずれの図でも、例示的な各種ステップの順序は変更が可能であり、例示的なステップによっては組み合わせが、またその他ステップは切り離しが可能であり、これらはすべて本発明の範囲及び精神から逸脱しない。方法は、たとえば、プロセッサ１０（図１）上で実行されている１つ又は複数のプログラムにより実施することができる。例示的なバッファ管理プロセスが開始され（ブロック２００）、高優先度バッファにシール済みＵＤＰデータグラムがあるか否かが判断される（ブロック２０２）。本発明の実施形態によれば、高優先度バッファ内のＵＤＰデータグラムは低優先度バッファ内のデータグラムよりも高い優先度を有するため、シール済みＵＤＰデータグラムが高優先度バッファに存在する場合、高優先度バッファが次の送信元（source）として選択される（ブロック２０４）。一方、シール済みＵＤＰデータグラムが高優先度バッファにない場合（再び、ブロック２０２）、次の送信時間までに高優先度バッファ内にシール済みＵＤＰデータグラムがあるか否かを判断し（ブロック２０６）、いくつかの場合では送信時間はフレーム周期である。ＵＤＰデータグラムが次の送信時間までにシールされるか否かの判断については図３に関連してより十分に後述する。引き続き図２を参照すると、シール済みＵＤＰパケットが高優先度バッファになく（ブロック２０２）、且つ次の送信時間までに高優先度バッファ内にシール済みＵＤＰパケットがない場合（ブロック２０６）、低優先度バッファが次の送信元として選択され（ブロック２０８）、プロセスは終了する（ブロック２１０）。低優先度バッファ３６は、本発明の少なくともいくつかの実施形態によれば、ＴＣＰを伝送レイヤプロトコルとして使用して送信することができるもの等のデータストリームを構築し、シール後に格納しておく場所である。図２には、例示的なプロセスが高優先度バッファの選択（ブロック２０４）又は低優先度バッファの選択（ブロック２０８）後に終了するものとして示すが、次の送信時間（たとえば、フレーム周期）の開始までにバッファ（ひいてはデータグラム）を選択しておくように、プロセスの実施形態を即座に新たに開始することができる。
【００１８】
図３は、データグラムが次の送信時間までにシールされるか否かの判断をさらに詳細に示す。図３の例示的な方法に関連して２つの対象時間周期がある。第１の対象時間周期は、ポータブルコンピューティング機器１００に割り当てられた次の送信時間（たとえば、フレーム周期）が開始するまでの時間である。たとえば、フレーム周期が４．６ｍｓの場合、且つ８つのフレーム周期がある場合、単一の割り当てられたフレーム周期の開始は３６．８ｍｓ毎に始まる。次の送信時間の開始は、たとえば、レジスタ３８（図１）のタイマ部分において追跡することができる。第２の対象時間周期は、高優先度バッファに蓄積され、高優先度バッファから送信された音声及び／又は映像ストリームパケットのサービス品質に関わり、この時間は、たとえば、レジスタ３９（図１）のタイマ部分において追跡することができる。音声ストリームに関して、音声は、音声ストリームパケットが少なくとも１００ｍｓ毎に送信される場合に適宜再生することができる。映像ストリームに関しては、人間の目は全体フレームが少なくとも４０ｍｓ毎に更新される限り連続した動きを知覚する。音声ストリームの場合のこの１００ｍｓタイムフレーム及び映像ストリームの場合の４０ｍｓタイムフレームをまとめてジッタしきい値と呼ぶことができる。例示的なタイムフレームは、本発明の範囲及び精神から逸脱することなく変更することが可能である。
【００１９】
例示的なプロセスが開始され（ブロック３００）、高優先度バッファ内の特定の種類のストリームについて、システムがジッタしきい値に近づきつつあるか否かを判断する（ブロック３０２）。すなわち、例示的なシステムが、音声のみのストリームパケットを最後に送信してからたとえば１００ｍｓに近づきつつあるか否か、又は例示的なシステムが、映像のみのストリームパケット又は映像と音声が組み合わせられたストリームパケットを最後に送信してからたとえば４０ｍｓに近づきつつあるか否かが判断される。本発明の少なくともいくつかの実施形態によれば、音声ストリームパケットが送信される都度、タイマ（たとえば、値がレジスタ３９（図１）に保持されるタイマ）を作動させる。したがって、例示的なブロック３０２の判断はタイマを参照することによって行うことができる。シールされていないＵＤＰデータグラムが満杯のペイロードを有しているか否かに関わらず、ジッタしきい値に近づきつつある場合、そのＵＤＰデータグラムは送信時間前にシールされ（ブロック３０４）、したがって送信をジッタしきい値内に維持する。一方、システムがジッタしきい値に近づいていない場合（ここでも、ブロック３０２）、高優先度バッファ内のシールされていないデータグラムの充填速度が最小に近づきつつあるか否かが判断される（ブロック３０６）。すなわち、例示的な音声ストリームの場合、ジッタしきい値に近づきつつあるため構築中のデータグラムがシールされることがなく、またパケットペイロードが満杯であるためシールされることがない場合、例示的なＵＤＰデータグラムは次の送信時間前にシールされず（ブロック３０８）、プロセスは終了する（ブロック３１０）。一方、充填速度が最小に近づいていない場合、これは、完全な２４〜２５バイトの例示的なＵＤＰデータグラムが、次の送信時間前に提示され、したがってＵＤＰデータグラムが、次の送信時間前にシールされて利用できるようになることを含意する（再び、ブロック３０４）。
【００２０】
高優先度バッファ内の例示的なＵＤＰデータグラムの充填速度を判断することは、例示的な実施形態では、レジスタ３８及び３９（図１）を使用することを含む。特に、レジスタ３８は２つの値部分、すなわち高優先度バッファ容量利用率値及び低優先度バッファ容量利用率値を有する。本発明の実施形態によれば、１バイトのデータが高優先度バッファ又は低優先度バッファのいずれかに配置される都度、レジスタ３８内の各バッファ容量利用率値が更新される。したがって、シールされていないデータグラムが充填されているとき、レジスタ３８内のバッファ容量利用率値は瞬間バッファ容量利用率を反映する。同様に、レジスタ３９の部分もバッファ容量利用率値を含むが、本発明の少なくともいくつかの実施形態によれば、レジスタ３９内のバッファ容量利用率値はシール済みデータグラムのみのバッファ容量利用率を反映する。レジスタ３８とレジスタ３９のバッファ容量利用率値の差を、対応する時間要因と共に比較することにより、シールされていないデータグラムの充填速度を求めることができる。特定種類のＵＤＰデータグラムのジッタしきい値（たとえば、音声ストリームの場合には１００ｍｓ、映像ストリーム又は映像／音声が組み合わせられたストリームの場合には４０ｍｓ）に近づいていない場合、且つ例示的なＵＤＰデータグラムが次のフレーム周期の開始までに満杯の（full）ペイロードを有さない場合、他のデータグラム、たとえば低優先度バッファからのＴＣＰデータグラムを送信するものとして選択することができる。したがって、例示的なＵＤＰデータグラムが高優先度バッファにおいて作成される音声ストリーム及び映像ストリームには、本発明の実施形態により送信に向けて最高優先度が付与される。データストリーム、たとえばＴＣＰベースのデータグラムは、割り振られた次の送信時間に、シール済みデータグラムが高優先度バッファにない場合のみ送信される。したがって、パケットベースのメッセージが「得られない（available）」場合、得られないことの理由は、構築中のパケットベースのメッセージがないため、又は構築中の場合、パケットベースのメッセージのシールを命令するジッタしきい値に近づいていないためである可能性がある。
【００２１】
例示的なポータブルコンピューティング機器１００は、すべての通信がワイヤレスネットワーク基地局を通して移動するネットワークにおいて、図２及び図３に関連して説明したバッファ管理技法を使用することができる。別記すれば、第１のポータブルコンピューティング機器１００が同様のポータブルコンピューティング機器と、基地局を通して音声／映像ストリーム及び／又はデータストリームをワイヤレスネットワークシステムに送信し、次いでワイヤレスネットワークシステムがストリームをターゲット機器に転送することによって通信することができる。本発明の代替の実施形態では、ポータブルコンピューティング機器１００は、通信がポータブルコンピューティング機器間で直接移動するアドホックネットワークの一部であることができる。たとえば、例示的な機器１００はオンラインゲームの機能を有することができ、付近の同様の機器を発見することにより、複数のユーザが、必ずしもワイヤレスネットワークの基地局を通して移動する必要なく、オンラインゲームのデータを交換してオンラインゲームに参加することができる。
【００２２】
しかし、アドホックネットワークにおいて複数の機器間で可能な通信の品質は大幅に変化し得る。互いに数フィート以内の機器は、略あらゆるタスクの実行に十分な通信品質を有することができる。やはりアドホックネットワークの一部である他の機器は、２つの機器間の通信品質が低減するのに十分な距離のものであり得る。
【００２３】
本発明の実施形態によれば、アドホックネットワークを開始するポータブルコンピューティング機器１００は、アドホックネットワークへの各参加者へのリンクの通信状態を保持する管理テーブルを作成して保持する。図４は、使用可能な管理テーブル６０の実施形態を示す。管理テーブル６０は、メインメモリアレイ１２内等、ポータブルコンピューティング機器１００内の都合の良い任意のロケーションに作成することができる。ＧＰＲＳを各種ストリームの送信メカニズムとして使用する実施形態では、各参加者（ＰＡＲＸ）はエントリの後に、その参加者へのサービス品質を記す４つのロケーションを有することができる。管理テーブル６０は単なる例示にすぎず、参加者の存在及びその参加者が利用可能なサービス品質を記す任意の管理テーブルが本発明の範囲及び精神内にあることに留意されたい。ＧＰＲＳを使用する例示的なシステムでは４レベルのサービスがあるため、管理テーブル６０にはサービス品質に関して４つのエントリがある（ＱＯＳＸ）。最高のサービス品質（ＱＯＳ１）は、特定の参加者へのサービス品質に制限のない状況を表す。同様に、任意の参加者へのサービス品質は、サービスがない、又は最低限のサービスしか可能ではないポイント（ＱＯＳ４）まで低下し得る。これら２つの両極端の間のサービス品質（ＱＯＳ２及びＱＯＳ３）は異なるアクションを発生させ、これについてより十分に後述する。
【００２４】
図５は、アドホックネットワーク内の各参加者へのサービス品質を判断し、例示的な管理テーブル６０を埋める方法を示す。詳細には（in particular）、方法が開始され（ブロック５００）、プライマリポータブルコンピューティング機器が「ｐｉｎｇ」コマンドをアドホックネットワーク内の各参加者に送信する（ブロック５０２）。いずれの参加者へのｐｉｎｇコマンドもその参加者から応答を発生させ、プライマリポータブルコンピューティング機器は、ｐｉｎｇ／応答の往復時間、及びｐｉｎｇに付随した小ビットデータが往復経路で破損を受けたか否か等のパラメータに基づいて特定の参加者へのサービス品質を認識することができる。このデータに基づいて、図５の例示的な方法は、管理テーブルを各参加者のネットワーク品質表示で埋める（ブロック５０４）。その後、プロセスは終了する（ブロック５０６）。しかし、本発明の実施形態によれば、図５の例示的な方法は、アドホックネットワークが実施されるときに周期的に繰り返される。図５の例示的な方法のｐｉｎｇコマンドによりおそらく収集された管理テーブル６０内のデータを使用して、本発明の実施形態によるポータブルコンピューティング機器は、アドホックネットワーク内の特定の参加者への通信に対処することができる。
【００２５】
図６は、サービス品質に関連して本発明の少なくともいくつかの実施形態により実施することができる方法を示す。特に、プロセスが開始され（ブロック６００）、特定のアドホックネットワーク参加者へのサービスが利用可能であるか否かが判断される（ブロック６０２）。これはたとえば、例示的な管理テーブル６０内のその特定の参加者のエントリを参照し、最低のサービス品質（ＱＯＳ４）が示されているかを判断することにより行うことができる。管理テーブルにより、特定の参加者への通信に関するサービス品質が最低のサービス品質であることが示される場合、少なくともいくつかの実施形態によるポータブルコンピューティング機器は、その特定の参加者へのサービスを拒絶する（ブロック６０４）。一方で、ここでもいくつかの実施形態では、例示的な管理テーブル６０を参照することにより判断される特定の参加者へのサービス品質が最高品質（ＱＯＳ１）のものである場合（ブロック６０６）、システムはサービス品質問題を顧みることなく図２の例示的な方法ステップを実行する（ブロック６０８）。
【００２６】
引き続き図６を参照すると、アドホックネットワーク内の特定の参加者へのサービス品質が最低サービス品質（ＱＯＳ４）でもなければ最高サービス品質（ＱＯＳ１）でもない場合、特定の参加者へのサービス品質が低帯域幅通信のみをサポートする（ＱＯＳ２）か否かについて判断される（ブロック６１０）。特定の参加者へのサービス品質が低帯域幅通信のみをサポートする場合、図２の例示的な方法は、例示的な高帯域幅データストリーム（たとえば、ファイル転送）が伝送媒体へのアクセスを拒絶されることを除き、引き続き実施することができる（ブロック６１２）。したがって、音声ストリーム及び映像ストリーム並びに低帯域幅データストリームが伝送媒体にアクセスすることができる。特定の参加者へのサービス品質がサービスなし（ＱＯＳ４）とＱＯＳ２の間のどこかにある、すなわちＱＯＳ３である場合、本発明の実施形態によれば、ポータブルコンピューティング機器は高優先度バッファからのパケットのみの送信を許可する（ブロック６１４）。この状況では、音声ストリーム及び映像ストリームのみが伝送媒体にアクセスすることができる。その後、例示的なプロセスは終了する（ブロック６１６）。
【００２７】
図２に関連して説明したバッファ管理技法は、各参加者へのサービス品質が変化するアドホックネットワークでも、たとえば例示的な図５により判断され、図４の例示的な管理テーブル６０により追跡される特定の参加者へのサービス品質に基づいて許可されるサービスを変更して、引き続き実施することができる。
【００２８】
本明細書に提供した説明から、当業者は容易に、説明したように作成されたソフトウェアを適当な汎用又は専用のコンピュータハードウェアを組み合わせて、本発明の態様を具現するコンピュータシステム及び／又はコンピュータサブコンポーネントを作成し、本発明の方法実施形態を実行するコンピュータシステム及び／又はコンピュータサブコンポーネントを作成し、且つ／又は各種実施形態の方法態様を実施するソフトウェアプログラムを記憶したコンピュータ可読媒体を作成することができる。さらに、例示的な方法の実施形態は、単一のプログラム（各種サブルーチンを有する）で一緒に実施することもでき、又はプロセッサ上で実行される２つ以上のプログラムに分割することもできる。したがって、特許請求の範囲での「プログラムを実行するプロセッサ」という複数の例への参照は、複数のサブルーチンを有する単一のプログラム、２つ以上の独立したプログラム、又はこれらの組み合わせのいずれかを指す。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態によるポータブルコンピューティングシステムを示す。
【図２】本発明の少なくともいくつかの実施形態によるバッファ管理方法を示す。
【図３】本発明の実施形態による、データグラムが次の送信時間までにシールされるか否かの判断を示す。
【図４】本発明の実施形態による管理テーブルを示す。
【図５】本発明の実施形態による管理テーブルを埋める方法を示す。
【図６】本発明の少なくともいくつかの実施形態により実施することができる方法を示す。
【符号の説明】
【００３０】
１００・・・ポータブルコンピューティング機器
１０・・・プロセッサ
１２・・・メインメモリアレイ
１４・・・ディスプレイ
１６・・・ユーザインタフェース
１８・・・マイクロホン
２２・・・スピーカ
２８・・・ワイヤレス送受信器
３０・・・ＣＣＤアレイ
３４・・・高優先度バッファ
３６・・・低優先度バッファ
３８，３９・・・レジスタ
【図１】
2006311531.tif 000003
【図２】
2006311531.tif 000004
【図３】
2006311531.tif 000005
【図４】
2006311531.tif 000006
【図５】
2006311531.tif 000007
【図６】
2006311531.tif 000008