理解を容易にするために、この出願の実施形態に関連するいくつかの概念について参考例として説明する。
ストリーミングメディアは、ストリーミング伝送の方式でネットワーク上で再生するためのメディアフォーマットである。ストリーミングメディアは、ストリーミングタイプメディアとも呼ばれ、伝送中に再生を可能にするメディアであり、マルチメディアの一種である。伝送中の再生は、メディアプロバイダがネットワーク上でメディアを伝送するとき、ユーザが「同時に」伝送されたメディアを継続的に受信、視聴又は聴取することを意味する。
以下に、この出願の実施形態における添付図面を参照して、この出願の実施形態における技術的解決策について説明する。この出願の実施形態の以下の説明において、「第1」及び「第2」という用語は、単に説明の目的のためのものを意図しており、相対的な重要度の指示若しくは暗示又は示される技術的特徴の数の暗示的な指示として理解されないものとする。したがって、「第1」又は「第2」により限定される特徴は、1つ以上の特徴を明示的又は暗示的に含んでもよい。この出願の実施形態の説明において、別段の記載がない限り、「複数」は2つ以上を意味する。
この出願の実施形態において提供されるデータ伝送方法は、無線通信システムにおけるデータ伝送に適用されてもよい。データ受信エンドは、無線アクセスネットワーク(Radio Access Network, RAN)及びコアネットワークを使用することによりデータ送信エンドとデータを交換する。伝送制御プロトコル(Trnasmission Control Protocol, TCP)接続は、データ受信エンドとデータ送信エンドとの間に更に確立されてもよく、データはTCPプロトコルを使用することにより伝送される。図1に示すように、無線通信システムにおいて、端末デバイスは、アプリケーションサーバとデータを交換する。端末デバイスは、エアインタフェースを使用することによりRANにアクセスし、コアネットワークを使用することによりアプリケーションサーバに接続する。端末とRANとの間のネットワークは無線ネットワークと呼ばれてもよく、RANとアプリケーションサーバとの間のネットワークは有線ネットワークと呼ばれてもよい。TCP接続はアプリケーションサーバと端末との間に確立され、データはアプリケーションサーバと端末との間で伝送される。
通信技術の発達によって、通信システムは、複数の通信ネットワークが共同で配備される通信アーキテクチャに進化しており、端末は、通信のために複数の通信ネットワークにアクセスしてもよい。通信ネットワークがローカルエリアネットワークであるとき、例えば、通信ネットワークは、ワイヤレスフィデリティ(Wireless Fidelity, Wi-Fi)ネットワーク、ブルートゥースネットワーク、ジグビーネットワーク又は近距離通信(near field communication, NFC)ネットワークのような短距離通信ネットワークでもよい点に留意すべきである。通信ネットワークが広域ネットワークであるとき、例えば、通信ネットワークは、第3世代移動通信技術(3rd-generation wireless telephone technology, 3G)ネットワーク、第4世代移動通信技術(the 4th generation mobile communication technology, 4G)ネットワーク、第5世代移動通信技術(5th-generation mobile communication technology, 5G)ネットワーク、将来の進化型公衆陸上移動ネットワーク(public land mobile network, PLMN)又はインターネットでもよい。
例えば、図2に示すように、Wi-Fiネットワーク及びロングタームエボリューション(Long Term Evolution, LTE)ネットワークが配備された通信システムにおいて、端末は、Wi-Fiネットワークにアクセスし、進化型パケットデータゲートウェイ(Evolved Packet Data Gateway, ePDG)又はトラステッドゲートウェイ(Trusted Gateway, TGW)を使用することによりアプリケーションサーバとのデータを伝送してもよく、或いは、LTEネットワークにアクセスし、サービングゲートウェイ(Serving Gateway, SGW)又はパケットデータゲートウェイ(Packet Data Network Gateway, PGW)を使用することによりアプリケーションサーバとのデータを伝送してもよい。
異種ネットワークの配備は、マルチパスデータ伝送サービスの開発を促進する。現在、MPTCPプロトコルは、TCPプロトコルを拡張することにより取得され、MPTCPプロトコルは、マルチパスネットワークリソースを使用することにより、1つのサービスついてのデータ伝送を可能にする。例えば、データは、図2におけるWi-Fiネットワークリソース及びLTEネットワークリソースを使用することにより伝送される。図3は、TCPプロトコルスタックをMPTCPプロトコルスタックに拡張する概略図である。TCPプロトコルスタックでは、アプリケーション(Application)レイヤのTCPストリームは、1つのTCPストリームを使用することにより送信される。MPTCPプロトコルスタックでは、トランスポートレイヤは、2つのサブレイヤ、すなわち、MPTCPレイヤ及びTCPレイヤに分割され、アプリケーションレイヤのTCPストリームは、別々の伝送のためにMPTCPレイヤにおいて2つのTCPサブストリームに分解される。
図4は、MPTCP使用シナリオの概略図である。図4において、2つのTCP接続が端末デバイスとアプリケーションサーバとの間に確立されている。一方のTCP接続はWi-Fiネットワークリソースを使用し、他方のTCP接続はLTEネットワークリソースを使用する。アプリケーションサーバのMPTCPレイヤは、TCPストリームを2つのTCPサブストリームに分解し、2つのTCPサブストリームは、2つのTCP接続を使用することにより端末デバイスに別々に伝送される。2つのTCPサブストリームを受信した後に、端末デバイスは2つのサブストリームを結合し、次いで、結合したストリームをアプリケーションレイヤに送信する。
この出願のいくつかの実施形態では、図1に示す無線通信システム内の端末デバイスは、パーソナルデジタルアシスタント機能及び/又は音楽プレーヤ機能のような他の機能を更に含むポータブル電子デバイス、例えば、携帯電話、タブレットコンピュータ又は無線通信機能を有するウェアラブルデバイス(スマートウォッチ等)でもよい。ポータブル電子デバイスの実施例は、iOS(登録商標)、Android(登録商標)、Microsoft(登録商標)又は他のオペレーティングシステムを使用するポータブル電子デバイスを含むが、これらに限定されない。代替として、ポータブル電子デバイスは、他のポータブル電子デバイス、例えば、タッチセンシティブ面(例えば、タッチパネル)を有するラップトップ(laptop)コンピュータでもよい。この出願のいくつかの他の実施形態では、端末は、代替として、ポータブル電子デバイスではなく、タッチセンシティブ面(例えば、タッチパネル)を有するデスクトップコンピュータでもよいことが更に理解されるべきである。
例えば、図5に示すように、この出願の実施形態における端末デバイスは、電子デバイス100でもよい。以下に、電子デバイス100を例として使用することにより、この実施形態について具体的に説明する。
電子デバイス100は、プロセッサ110、外部メモリインタフェース120、内部メモリ121、USBインタフェース130、充電管理モジュール140、電力管理モジュール141、バッテリ142、アンテナ1、アンテナ2、移動通信モジュール150、無線通信モジュール160、オーディオモジュール170、スピーカ170A、受信機170B、マイクロホン170C、ヘッドセットインタフェース170D、センサモジュール180、キー190、モータ191、指示デバイス192、カメラ193、ディスプレイスクリーン194、SIMカードインタフェース195等を含んでもよい。センサモジュール180は、圧力センサ180A、ジャイロスコープセンサ180B、気圧センサ180C、磁気センサ180D、加速度センサ180E、距離センサ180F、光近接センサ180G、指紋センサ180H、温度センサ180J、タッチセンサ180K、周辺光センサ180L、骨伝導センサ180M等を含んでもよい。
本発明のこの実施形態に示す構造は、電子デバイス100に対する具体的な限定を構成しないことが理解できる。この出願の他のいくつかの実施形態では、電子デバイス100は、図面に示すものよりも多く或いは少ない構成要素を含んでもよく、或いは、いくつかの構成要素が組み合わされてもよく、或いは、いくつかの構成要素が分割されてもよく、或いは、異なる構成要素のレイアウトが存在してもよい。図面に示す構成要素は、ハードウェア、ソフトウェア又はソフトウェアとハードウェアとの組み合わせにより実現されてもよい。
プロセッサ110は、1つ以上の処理ユニットを含んでもよい。例えば、プロセッサ110は、アプリケーションプロセッサ(application processor, AP)、モデムプロセッサ、グラフィックス処理ユニット(graphics processing unit, GPU)、画像信号プロセッサ(image signal processor, ISP)、コントローラ、メモリ、ビデオコーデック、デジタルシグナルプロセッサ(digital signal processor, DSP)、ベースバンドプロセッサ及び/又はニューラルネットワーク処理ユニット(Neural-network Processing Unit, NPU)を含んでもよい。異なる処理ユニットは、別々のデバイスでもよく、或いは、1つ以上のプロセッサに統合されてもよい。
コントローラは、電子デバイス100の神経センター及び指令センターでもよい。コントローラは、命令の取得及び命令の実行を制御するために、命令動作コード及び時系列信号に基づいて動作制御信号を生成してもよい。
メモリは、命令及びデータを記憶するためにプロセッサ110内に更に配置されてもよい。いくつかの実施形態では、プロセッサ110内のメモリはキャッシュである。メモリは、プロセッサ110によりちょうど使用されるか或いは周期的に使用される命令又はデータを記憶してもよい。プロセッサ110が命令又はデータを再び使用する必要がある場合、プロセッサ110は、メモリから命令又はデータを直接呼び出してもよい。これは、繰り返しのアクセスを回避し、プロセッサ110の待ち時間を低減し、それにより、システム効率を改善する。
いくつかの実施形態では、プロセッサ110は、1つ以上のインタフェースを含んでもよい。インタフェースは、集積回路間(inter integrated circuit, I2C)インタフェース、集積回路間サウンド(inter-integrated circuit sound, I2S)インタフェース、パルスコード変調(pulse code modulation, PCM)インタフェース、ユニバーサル非同期受信機/送信機(universal asynchronous receiver/trnasmitter, UART)インタフェース、モバイル・インダストリ・プロセッサ・インタフェース(mobile industry processor interface, MIPI)、汎用入出力(general-purpose input/output, GPIO)インタフェース、加入者識別モジュール(subscriber identity module, SIM)インタフェース、ユニバーサルシリアルバス(universal serial bus, USB)インタフェース等を含んでもよい。
I2Cインタフェースは、シリアルデータライン(serial data line, SDA)及びシリアルクロックライン(derail clock line, SCL)を含む双方向同期シリアルバスである。いくつかの実施形態では、プロセッサ110は、複数のI2Cバスを含んでもよい。プロセッサ110は、異なるI2Cバスインタフェースを使用することにより、タッチセンサ180K、充電器、フラッシュ、カメラ193等に別々に結合されてもよい。例えば、プロセッサ110は、I2Cインタフェースを使用することによりタッチセンサ180Kに結合されてもよく、それにより、プロセッサ110は、電子デバイス100のタッチ機能を実現するために、I2Cバスインタフェースを使用することによりタッチセンサ180Kと通信する。
I2Sインタフェースは、オーディオ通信に使用されてもよい。いくつかの実施形態では、プロセッサ110は、複数のI2Sバスを含んでもよい。プロセッサ110は、プロセッサ110とオーディオモジュール170との間の通信を実現するために、I2Sバスを使用することによりオーディオモジュール170に結合されてもよい。いくつかの実施形態では、オーディオモジュール170は、ブルートゥースヘッドセットを使用することにより呼に応答する機能を実現するために、I2Sインタフェースを使用することによりオーディオ信号を無線通信モジュール160に送信してもよい。
PCMインタフェースはまた、アナログ信号をサンプリングして量子化して符号化するために、オーディオ通信に使用されてもよい。いくつかの実施形態では、オーディオモジュール170は、PCMバスインタフェースを使用することにより無線通信モジュール160に結合されてもよい。いくつかの実施形態では、オーディオモジュール170はまた、ブルートゥースヘッドセットを使用することにより呼に応答する機能を実現するために、PCMインタフェースを使用することによりオーディオ信号を無線通信モジュール160に伝送してもよい。I2SインタフェースとPCMインタフェースとの双方がオーディオ通信に使用されてもよい。
UARTインタフェースは、非同期通信に使用されるユニバーサルシリアルデータバスである。バスは双方向通信バスでもよい。バスは、シリアル通信とパラレル通信の間で送信対象のデータを変換する。いくつかの実施形態では、UARTインタフェースは、通常では、プロセッサ110を無線通信モジュール160に接続するように構成される。例えば、プロセッサ110は、ブルートゥース機能を実現するために、UARTインタフェースを使用することにより、無線通信モジュール160内のブルートゥースモジュールと通信する。いくつかの実施形態では、オーディオモジュール170は、ブルートゥースヘッドセットを使用することにより音楽を再生する機能を実現するために、UARTインタフェースを使用することによりオーディオ信号を無線通信モジュール160に伝送してもよい。
MIPIインタフェースは、プロセッサ110をディスプレイスクリーン194又はカメラ193のような周辺デバイスに接続するように構成されてもよい。MIPIインタフェースは、カメラシリアルインタフェース(camera serial interface, CSI)、ディスプレイシリアルインタフェース(display serial interface, DSI)等を含む。いくつかの実施形態では、プロセッサ110は、電子デバイス100の写真撮影機能を実現するために、CSIインタフェースを使用することによりカメラ193と通信し、プロセッサ110は、電子デバイス100の表示機能を実現するために、DSIインタフェースを使用することによりディスプレイスクリーン194と通信する。
GPIOインタフェースは、ソフトウェアを使用することにより構成されてもよい。GPIOインタフェースは、制御信号として構成されてもよく、或いは、データ信号として構成されてもよい。いくつかの実施形態では、GPIOインタフェースは、プロセッサ110をカメラ193、ディスプレイスクリーン194、無線通信モジュール160、オーディオモジュール170、センサモジュール180等に接続するように構成されてもよい。GPIOインタフェースは、代替として、I2Cインタフェース、I2Sインタフェース、UARTインタフェース、MIPIインタフェース等として構成されてもよい。
USBインタフェース130は、USB標準仕様に準拠するインタフェースであり、具体的には、ミニUSBインタフェース、マイクロUSBインタフェース、USBタイプCインタフェース等でもよい。USBインタフェースは、電子デバイス100を充電するために充電器に接続するように構成されてもよく、或いは、電子デバイス100と周辺デバイスとの間でデータを伝送するように構成されてもよく、或いは、ヘッドセットを使用することによりオーディオファイルを再生するためにヘッドセットに接続するように構成されてもよい。代替として、インタフェースは、他の電子デバイス、例えば、ARデバイスに接続するように構成されてもよい。
本発明のこの実施形態に示すモジュールの間のインタフェース接続関係は、単に説明のための例であり、電子デバイス100の構造に対する限定を構成しないことが理解できる。この出願のいくつかの他の実施形態では、電子デバイス100は、代替として、上記の実施形態のものとは異なるインタフェース接続方式を使用してもよく、或いは、複数のインタフェース接続方式の組み合わせを使用してもよい。
充電管理モジュール140は、充電器からの充電入力を受け取るように構成される。充電器は無線充電器でもよく、或いは、有線充電器でもよい。有線充電のいくつかの実施形態では、充電管理モジュール140は、USBインタフェースを使用することにより有線充電器から充電入力を受け取ってもよい。無線充電のいくつかの実施形態では、充電管理モジュール140は、電子デバイス100の無線充電コイルを使用することにより無線充電入力を受け取ってもよい。充電管理モジュール140がバッテリ142を充電するとき、電力管理モジュール141は、電子デバイスに電力を更に供給してもよい。
電力管理モジュール141は、バッテリ142、充電管理モジュール140及びプロセッサ110に接続するように構成される。電力管理モジュール141は、バッテリ142及び/又は充電管理モジュール140から入力を受け取り、プロセッサ110、内部メモリ121、外部メモリ、ディスプレイスクリーン194、カメラ193、無線通信モジュール160等に電力を供給する。電力管理モジュール141は、バッテリ容量、バッテリサイクルの数及びバッテリ健康状態(漏電及びインピーダンス)のようなパラメータを監視するように更に構成されてもよい。いくつかの他の実施形態では、電力管理モジュール141は、代替として、プロセッサ110内に配置されてもよい。いくつかの他の実施形態では、電力管理モジュール141及び充電管理モジュール140は、代替として、同じデバイス内に配置されてもよい。
電子デバイス100の無線通信機能は、アンテナモジュール1、アンテナモジュール2、移動通信モジュール150、無線通信モジュール160、モデムプロセッサ、ベースバンドプロセッサ等により実現されてもよい。
アンテナ1及びアンテナ2は、電磁波信号を送信及び受信するように構成される。電子デバイス100内の各アンテナは、1つ以上の通信周波数帯域をカバーするように構成されてもよい。異なるアンテナは、アンテナ利用率を改善するように多重化されてもよい。例えば、セルラネットワークのアンテナは、無線ローカルエリアネットワークのダイバーシチアンテナとして多重化されてもよい。いくつかの他の実施形態では、アンテナは、同調スイッチと組み合わせて使用されてもよい。
移動通信モジュール150は、電子デバイス100に適用され、2G、3G、4G及び5Gのような無線通信技術を含む解決策を提供してもよい。移動通信モジュール150は、少なくとも1つのフィルタ、スイッチ、電力増幅器、低雑音増幅器(Low Noise Amplifier, LNA)等を含んでもよい。移動通信モジュール150は、アンテナ1を使用することにより電磁波を受信し、受信した電磁波に対してフィルタリング及び増幅のような処理を実行し、復調のために処理された電磁波をモデムプロセッサに伝送してもよい。移動通信モジュール150は、モデムプロセッサにより変調された信号を更に増幅し、増幅された信号を電磁波に変換し、アンテナ1を使用することにより電磁波を放射してもよい。いくつかの実施形態では、移動通信モジュール150の少なくともいくつかの機能モジュールは、プロセッサ110内に配置されてもよい。いくつかの実施形態では、移動通信モジュール150の少なくともいくつかの機能モジュール及びプロセッサ110の少なくともいくつかのモジュールは、同じデバイス内に配置されてもよい。
モデムプロセッサは、変調器及び復調器を含んでもよい。変調器は、送信対象の低周波数ベースバンド信号を中間又は高周波数信号に変調するように構成される。復調器は、受信した電磁波信号を低周波数ベースバンド信号に復調するように構成される。次いで、復調器は、処理のために、復調を通じて取得された低周波数ベースバンド信号をベースバンドプロセッサに伝送する。低周波数ベースバンド信号はベースバンドプロセッサにより処理され、処理された信号はアプリケーションプロセッサに伝送される。アプリケーションプロセッサは、オーディオデバイス(スピーカ170A、受信機170B等に限定されない)を使用することによりサウンド信号を出力するか、或いは、ディスプレイスクリーン194を使用することにより画像又はビデオを表示する。いくつかの実施形態では、モデムプロセッサは独立したデバイスでもよい。いくつかの他の実施形態では、モデムプロセッサは、プロセッサ110から独立してもよく、移動通信モジュール150又は他の機能モジュールを有する同じデバイス内に配置される。
無線通信モジュール160は、無線ローカルエリアネットワーク(wireless local area networks, WLAN)、ブルートゥース(bluetooth, BT)、グローバルナビゲーション衛星システム(global navigation satellite system, GNSS)、周波数変調(frequency modulation, FM)、近距離通信(near field communication, NFC)技術及び赤外線(infrared, IR)技術のような無線通信技術を含む、電子デバイス100に適用される解決策を提供すしてもよい。無線通信モジュール160は、少なくとも1つの通信処理モジュールを統合する1つ以上のデバイスでもよい。無線通信モジュール160は、アンテナ2を使用することにより電磁波を受信し、電磁波信号に対して周波数変調及びフィルタリング処理を実行し、処理された信号をプロセッサ110に送信する。無線通信モジュール160は、プロセッサ110から送信対象の信号を更に受信し、信号に対して周波数変調及び増幅を実行し、処理された信号を電磁波に変換し、アンテナ2を使用することにより電磁波を放射してもよい。
いくつかの実施形態では、電子デバイス100のアンテナ1は移動通信モジュール150に結合され、アンテナ2は無線通信モジュール160に結合され、それにより、電子デバイス100は、無線通信技術を使用することにより、ネットワーク及び他のデバイスと通信してもよい。無線通信技術は、グローバル・システム・フォー・モバイル・コミュニケーションズ(global system for mobile communications, GSM)、汎用パケット無線サービス(general packet radio service, GPRS)、符号分割多元接続(code division multiple access, CDMA)、広帯域符号分割多重接続(wideband code division multiple access, WCDMA)、時分割符号分割多重接続(time-division code division multiple access, TD-SCDMA)、ロングタームエボリューション(long term evolution, LTE)、BT、GNSS、WLAN、NFC、FM、IR技術等を含んでもよい。GNSSは、全地球測位システム(global positioning system, GPS)、全地球航法衛星システム(global navigation satellite system, GLONASS)、北斗航法衛星システム(beidou navigation satellite system, BDS)、準天頂衛星システム(quasi-zenith satellite system, QZSS)及び/又は静止衛星型補強システム(satellite based augmentation systems, SBAS)を含んでもよい。
電子デバイス100は、GPU、ディスプレイスクリーン194、アプリケーションプロセッサ等を使用することにより表示機能を実現する。GPUは画像処理のためのマイクロプロセッサであり、ディスプレイスクリーン194及びアプリケーションプロセッサに接続される。GPUは、数学的及び幾何学的計算を実行するように構成され、グラフィックスレンダリングに使用される。プロセッサ110は、表示情報を生成又は変更するためのプログラム命令を実行する1つ以上のGPUを含んでもよい。
ディスプレイスクリーン194は、画像、ビデオ等を表示するように構成される。ディスプレイスクリーン194は、ディスプレイパネルを含む。ディスプレイパネルは、LCD(液晶ディスプレイ, liquid crystal display)、OLED(有機発光ダイオード, organic light-emitting diode)、アクティブマトリックス有機発光ダイオード(active-matrix organic light emitting diode, AMOLED)、フレキシブル発光ダイオード(flex light-emitting diode, FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light emitting diodes, QLED)等でもよい。いくつかの実施形態では、電子デバイス100は、1つ又はN個のディスプレイスクリーンを含んでもよく、Nは1よりも大きい正の整数である。
電子デバイス100は、ISP、カメラ193、ビデオコーデック、GPU、ディスプレイスクリーン194、アプリケーションプロセッサ等を使用することにより、写真撮影機能を実現してもよい。
ISPは、カメラ193によりフィードバックされたデータを処理するように構成される。例えば、写真撮影中にシャッターが開き、光がレンズを通じカメラの感光体に透過され、光信号が電気信号に変換され、カメラの感光体は、電気信号を肉眼で見ることができる画像に変換するために、処理のために電気信号をISPに伝送する。ISPは、アルゴリズムに基づいて、画像のノイズ、輝度及び色合いを更に最適化してもよい。ISPは、写真撮影シナリオの露光及び色温度のようなパラメータを更に最適化してもよい。いくつかの実施形態では、ISPは、カメラ193内に配置されてもよい。
カメラ193は、静止画像又はビデオをキャプチャするように構成される。光学画像は、物体についてレンズを使用することにより生成され、光学画像は感光体に投影される。感光体は、電荷結合素子(charge coupled device, CCD)又は相補型金属-酸化物-半導体(complementary metal-oxide-semiconductor, CMOS)フォトトランジスタでもよい。感光体は、光信号を電気信号に変換し、次いで、電気信号をデジタル画像信号に変換するために、電気信号をISPに伝送する。ISPは、処理のためにデジタル画像信号をDSPに出力する。DSPは、デジタル画像信号をRGBフォーマット、YUVフォーマット等の標準的な画像信号に変換する。いくつかの実施形態では、電子デバイス100は、1つ又はN個のカメラを含んでもよく、Nは1よりも大きい正の整数である。
デジタルシグナルプロセッサは、デジタル信号を処理するように構成される。デジタル画像信号に加えて、デジタルシグナルプロセッサは、他のデジタル信号を更に処理してもよい。例えば、電子デバイス100が周波数を選択したとき、デジタルシグナルプロセッサは、周波数エネルギーに対してフーリエ変換等を実行するように構成される。
ビデオコーデックは、デジタルビデオを圧縮又は解凍するように構成される。電子デバイス100は、1つ以上のタイプのビデオコーデックをサポートしてもよい。このように、電子デバイス100は、複数の符号化フォーマット、例えば、MPEG-1、MPEG-2、MPEG-3及びMPEG-4でビデオを再生又は記録してもよい。
NPUは、ニューラルネットワーク(neural-network, NN)計算プロセッサである。NPUは、例えば、人間の脳のニューロンの間の伝達モードを参照して、生物学的ニューラルネットワークの構造を参照して入力情報を迅速に処理し、自己学習を継続的に更に実行してもよい。NPUは、電子デバイス100のインテリジェント認知、例えば、画像認識、顔認識、音声認識及びテキスト理解のようなアプリケーションを実現してもよい。
外部メモリインタフェース120は、電子デバイス100の記憶能力を拡張するために、外部記憶カード、例えば、マイクロSDカードに接続するように構成されてもよい。外部記憶カードは、データ記憶機能を実現するために、外部メモリインタフェース120を使用することによりプロセッサ110と通信する。例えば、音楽及びビデオのようなファイルは、外部記憶カードに記憶される。
内部メモリ121は、コンピュータ実行可能プログラムコードを記憶するように構成されてもよく、実行可能プログラムコードは命令を含む。プロセッサ110は、内部メモリ121に記憶された命令を動作させることにより、電子デバイス100の様々な機能アプリケーション及びデータ処理を実行する。メモリ121は、プログラム記憶領域及びデータ記憶領域を含んでもよい。プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能(例えば、サウンド再生機能又は画像再生機能)により必要とされるアプリケーションプログラム等を記憶してもよい。データ記憶領域は、電子デバイス100を使用するプロセスで作成されたデータ(例えば、オーディオデータ及び電話帳)等を記憶してもよい。さらに、メモリ121は、高速ランダムアクセスメモリを含んでもよく、或いは、不揮発性メモリ、例えば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュ記憶デバイス又はユニバーサルフラッシュストレージ(universal flash storage, UFS)を含んでもよい。
電子デバイス100は、オーディオモジュール170、スピーカ170A、受信機170B、マイクロホン170C、ヘッドセットインタフェース170D、アプリケーションプロセッサ等を使用することにより、オーディオ機能、例えば、音楽再生及び記録を実現してもよい。
オーディオモジュール170は、出力のためにデジタルオーディオ情報をアナログオーディオ信号に変換するように構成され、また、アナログオーディオ入力をデジタルオーディオ信号に変換するように構成される。オーディオモジュール170は、オーディオ信号を符号化及び復号するように更に構成されてもよい。いくつかの実施形態では、オーディオモジュール170は、プロセッサ110内に配置されてもよく、或いは、オーディオモジュール170のいくつかの機能モジュールは、プロセッサ110内に配置されてもよい。
スピーカ170Aは、「ラウドスピーカ」とも呼ばれ、オーディオ電気信号をサウンド信号に変換するように構成される。電子デバイス100は、スピーカ170Aを使用することにより、音楽を聞くために或いはハンズフリー通話に応答するために使用されてもよい。
受信機170Bは、「イヤピース」とも呼ばれ、オーディオ電気信号をサウンド信号に変換するように構成される。電子デバイス100が通話に応答するために或いは音声情報を聞くために使用されるとき、受信機170Bは、音声を聞くために人間の耳の近くに配置されてもよい。
マイクロホン170Cは、「マイク(mike)」又は「マイク(mic)」とも呼ばれ、サウンド信号を電気信号に変換するように構成される。発呼を行うとき或いは音声情報を送信するとき、ユーザは、サウンド信号をマイクロホン170Cに入力するために、マイクロホン170Cの近くで口を動かして音を発してもよい。少なくとも1つのマイクロホン170Cは、電子デバイス100内に配置されてもよい。いくつかの他の実施形態では、サウンド信号を収集することに加えてノイズ低減機能を実現するために、2つのマイクロホンが電子デバイス100内に配置されてもよい。いくつかの他の実施形態では、3つ、4つ又はそれ以上のマイクロホンが、代替として、サウンド信号を収集してノイズを低減するために、電子デバイス100内に配置されてもよい。マイクロホンは、音源を更に識別し、指向性記録機能等を実現してもよい。
ヘッドセットインタフェース170Dは、有線ヘッドセットに接続するように構成される。ヘッドセットインタフェースは、USBインタフェースでもよく、或いは、3.5mmオープン移動端末プラットフォーム(open mobile terminal platform, OMTP)標準インタフェース又は米国のセルラ電気通信業界協会(cellular telecommunications industry association of the USA, CTIA)標準インタフェースでもよい。
圧力センサ180Aは、圧力信号を感知するように構成され、圧力信号を電気信号に変換してもよい。いくつかの実施形態では、圧力センサ180Aは、ディスプレイスクリーン194に配置されてもよい。多くのタイプの圧力センサ180A、例えば、抵抗圧力センサ、誘導圧力センサ及び容量性圧力センサが存在してもよい。容量性圧力センサは、導電性材料を有する少なくとも2つの平行なプレートを含んでもよい。圧力センサ180Aに力が作用したとき、電極の間のキャパシタンスが変化する。電子デバイス100は、キャパシタンスの変化に基づいて圧力強度を決定する。タッチ操作がディスプレイスクリーン194に作用したとき、電子デバイス100は、圧力センサ180Aに基づいてタッチ操作の強度を検出する。電子デバイス100はまた、圧力センサ180Aの検出信号に基づいてタッチ位置を計算してもよい。いくつかの実施形態では、同じタッチ位置に作用するが異なるタッチ操作強度を有するタッチ操作は、異なる操作命令に対応してもよい。例えば、タッチ操作強度が第1の圧力閾値未満であるタッチ操作がSMSアプリケーションのアイコンに作用したとき、SMSメッセージを見るための命令が実行され、或いは、タッチ操作強度が第1の圧力閾値以上であるタッチ操作がSMSアプリケーションのアイコンに作用したとき、SMSメッセージを作成するための命令が実行される。
ジャイロスコープセンサ180Bは、電子デバイス100の運動姿勢を決定するように構成されてもよい。いくつかの実施形態では、3つの軸(すなわち、x軸、y軸及びz軸)を中心とする電子デバイス100の角速度は、ジャイロスコープセンサ180Bを使用することにより決定されてもよい。ジャイロスコープセンサ180Bは、写真撮影中の手ぶれ補正に使用されてもよい。例えば、シャッターが押下されたとき、ジャイロスコープセンサ180Bは、電子デバイス100が振動する角度を検出し、角度に基づいてレンズモジュールが補償する必要がある距離を計算し、それにより、レンズが反対の運動を通じて電子デバイス100の振動を相殺し、それにより、手ぶれ補正を実現する。ジャイロスコープセンサ180Bは、ナビゲーション及びモーションセンシングゲームのシナリオで更に使用されてもよい。
気圧センサ180Cは、気圧を測定するように構成される。いくつかの実施形態では、電子デバイス100は、位置決め及びナビゲーションを支援するために、気圧センサ180Cにより測定された気圧値を使用することにより高度を計算する。
磁気センサ180Dは、ホール効果センサを含む。電子デバイス100は、磁気センサ180Dを使用することにより、折りたたみ型皮革ケースの開閉を検出してもよい。いくつかの実施形態では、電子デバイス100が折りたたみ型電話であるとき、電子デバイス100は、磁気センサ180Dに基づいて折りたたみの開閉を検出してもよい。さらに、フリップのときの自動ロック解除のような機能は、皮革ケースの検出された開閉状態又は折りたたみの検出された開閉状態に基づいて設定される。
加速度センサ180Eは、各方向(通常では3軸)における電子デバイス100の加速度の大きさを検出してもよい。電子デバイス100が静止しているとき、重力の大きさ及び方向が検出されてもよい。加速度センサ180Eは、電子デバイスの姿勢を識別するように更に構成されてもよく、ランドスケープ/ポートレートモード切り替え及び歩数計のようなアプリケーションに適用される。
距離センサ180Fは、距離を測定するように構成される。電子デバイス100は、赤外線又はレーザ技術を使用することにより距離を測定してもよい。いくつかの実施形態では、写真撮影シナリオにおいて、電子デバイス100は、高速フォーカスを実現するために、距離センサ180Fを使用することにより距離を測定してもよい。
光近接センサ180Gは、例えば、発光ダイオード(LED)及び光学検出器、例えば、フォトダイオードを含んでもよい。発光ダイオードは赤外線発光ダイオードでもよい。電子デバイス100は、発光ダイオードを使用することにより赤外線を放射する。電子デバイス100は、フォトダイオードを使用することにより、近くの物体から来る赤外線反射光を検出する。十分な反射光を検出したとき、電子デバイス100は、電子デバイス100の近くに物体が存在すると決定してもよく、或いは、不十分な反射光を検出したとき、電子デバイス100は、電子デバイス100の近くに物体が存在しないと決定してもよい。電子デバイス100は、光近接センサ180Gを使用することにより、ユーザが通話のために電子デバイス100を耳の近くに保持していることを検出してもよく、それにより、電力を節約するためにスクリーンを自動的にオフにする。光近接センサ180Gはまた、皮革ケースモード又はポケットモードでの自動スクリーンロック又はロック解除に使用されてもよい。
周辺光センサ180Lは、周辺光の輝度を感知するように構成される。電子デバイス100は、周辺光の感知された輝度に基づいてディスプレイスクリーン194の輝度を適応的に調整してもよい。周辺光センサ180Lはまた、写真撮影中にホワイトバランスを自動的に調整するように構成されてもよい。周辺光センサ180Lは、偶発的な接触を防止するために、電子デバイス100がポケットに入っているか否かを検出するように光近接センサ180Gと更に協働してもよい。
指紋センサ180Hは、指紋を収集するように構成される。電子デバイス100は、収集された指紋特性を使用することにより、指紋ベースのロック解除、アプリケーションアクセスのためのロック解除、指紋ベースの写真撮影、指紋ベースの呼応答等を実現してもよい。
温度センサ180Jは、温度を検出するように構成される。いくつかの実施形態では、電子デバイス100は、温度センサ180Jにより検出された温度を使用することにより温度処理ポリシーを実行する。例えば、温度センサ180Jにより報告された温度が閾値を超えたとき、電子デバイス100は、電力消費を低減して熱保護を実現するために、温度センサ180Jの近くのプロセッサの性能を低下させる。いくつかの他の実施形態では、温度が他の閾値よりも低いとき、電子デバイス100は、低温による電子デバイス100の異常なシャットダウンを回避するために、バッテリ142を加熱する。いくつかの他の実施形態では、温度が更に他の閾値よりも低いとき、電子デバイス100は、低温による異常なシャットダウンを回避するために、バッテリ142の出力電圧を上昇させる。
タッチセンサ180Kは、「タッチパネル」とも呼ばれる。タッチセンサ180Kは、ディスプレイスクリーン194に配置されてもよく、タッチセンサ180K上で或いはその近くで作用するタッチ操作を検出するように構成される。タッチセンサ180Kは、タッチイベントのタイプを決定するために、検出されたタッチ操作をアプリケーションプロセッサに伝送してもよく、対応する視覚出力は、ディスプレイスクリーン194を使用することにより提供される。いくつかの他の実施形態では、タッチセンサ180Kは、代替として、電子デバイス100の表面に配置されてもよく、ディスプレイスクリーン194の位置と異なる位置にある。
骨伝導センサ180Mは、振動信号を取得してもよい。いくつかの実施形態では、骨伝導センサ180Mは、人間の音声部の振動骨から振動信号を取得してもよい。骨伝導センサ180Mはまた、人間パルスと接触し、血圧及びパルス信号を受信してもよい。いくつかの実施形態では、骨伝導センサ180Mは、代替として、ヘッドセットに配置されてもよい。オーディオモジュール170は、音声機能を実現するために、音声部分の振動骨から骨伝導センサ180Mにより取得された振動信号に基づいて音声信号を解析してもよい。アプリケーションプロセッサは、心拍数検出機能を実現するために、骨伝導センサ180Mにより取得された血圧及びパルス信号に基づいて心拍数情報を解析してもよい。
キー190は、電源キー、ボリュームキー等を含む。キーは、機械的キーでもよく、或いは、タッチキーでもよい。電子デバイス100は、キー入力を受け取り、電子デバイス100のユーザ設定及び機能制御に関連するキー信号入力を生成してもよい。
モータ191は、振動プロンプトを生成してもよい。モータ191は、着呼のための振動プロンプトを生成するように構成されてもよく、或いは、タッチに対する振動フィードバックを生成するように構成されてもよい。例えば、異なるアプリケーションに作用するタッチ操作(例えば、写真撮影及びオーディオ再生)は、異なる振動フィードバック効果に対応してもよい。ディスプレイスクリーン194上の異なる領域に作用するタッチ操作について、モータ191はまた、対応して、異なる振動フィードバック効果を生成してもよい。異なる適用シナリオ(例えば、時間リマインダ、情報受信、目覚まし時計及びゲーム)もまた、異なる振動フィードバック効果に対応してもよい。タッチ振動フィードバック効果は更にカスタマイズされてもよい。
指示デバイス192はインジケータでもよく、充電状態及びバッテリレベル変化を示すように構成されてもよく、或いは、メッセージ、不在着信、通知等を示すように構成されてもよい。
SIMカードインタフェース195は、加入者識別モジュール(subscriber identity module, SIM)カードに接続するように構成される。SIMカードは、電子デバイス100との接触又は電子デバイス100からの分離を実現するために、SIMカードインタフェースに挿入されてもよく、或いは、SIMカードインタフェースから取り外されてもよい。電子デバイス100は、1つ又はN個のSIMカードインタフェースをサポートしてもよく、Nは1よりも大きい正の整数である。SIMカードインタフェース195は、ナノSIMカード、マイクロSIMカード、SIMカード等をサポートしてもよい。複数のカードが、1つのSIMカードインタフェースに挿入されてもよい。複数のカードは、同じタイプのものでもよく、或いは、異なるタイプのものでもよい。SIMカードインタフェース195はまた、異なるタイプのSIMカードと互換性があってもよい。SIMカードインタフェース195はまた、外部記憶カードと互換性があってもよい。電子デバイス100は、通話及びデータ通信のような機能を実現するために、SIMカードを使用することによりネットワークと相互作用する。いくつかの実施形態では、電子デバイス100は、eSIM、すなわち、埋め込み式SIMカードを使用する。eSIMカードは、電子デバイス100内に埋め込まれてもよく、電子デバイス100から分離できない。階層アーキテクチャ、イベント駆動型アーキテクチャ、マイクロコアアーキテクチャ、マイクロサービスアーキテクチャ又はクラウドアーキテクチャが、電子デバイス100のソフトウェアシステムに使用されてもよい。本発明のこの実施形態では、階層アーキテクチャを有するAndroidシステムが、電子デバイス100のソフトウェア構造を記述するための例として使用される。
図6は、本発明の実施形態による電子デバイス100のソフトウェア構造のブロック図である。
階層アーキテクチャは、ソフトウェアをいくつかのレイヤに分割する。各レイヤは明確な役割及び責任を有する。レイヤは、ソフトウェアインタフェースを使用することにより互いに通信する。いくつかの実施形態では、Androidシステムは、上から下に4つのレイヤ、すなわち、アプリケーションプログラムレイヤ、アプリケーションプログラムフレームワークレイヤ、Androidランタイム(Android runtime)及びシステムライブラリ並びにカーネルレイヤに分割される。
アプリケーションプログラムレイヤは、一連のアプリケーションプログラムパッケージを含んでもよい。
図6に示すように、アプリケーションプログラムパッケージは、カメラ、ギャラリー、カレンダー、通話、マップ、ナビゲーション、WLAN、ブルートゥース、音楽、ビデオ及びSMSメッセージのようなアプリケーションプログラムを含んでもよい。
アプリケーションプログラムフレームワークレイヤは、アプリケーションプログラムレイヤにおけるアプリケーションプログラムのためのアプリケーションプログラミングインタフェース(application programming interface, API)及びアプリケーションプログラミングフレームワークを提供する。アプリケーションプログラムフレームワークレイヤは、いくつかの予め定義された機能を含む。
図6に示すように、アプリケーションプログラムフレームワークレイヤは、ウィンドウマネージャ、コンテンツプロバイダ、ビューシステム、電話マネージャ、リソースマネージャ、通知マネージャ等を含んでもよい。
ウィンドウマネージャは、ウィンドウプログラムを管理するように構成される。ウィンドウマネージャは、ディスプレイスクリーンのサイズを取得し、ステータスバーがあるか否かを決定し、スクリーンをロックし、スクリーンショットを撮影すること等を行ってもよい。
コンテンツプロバイダは、データを記憶及び取得し、データをアプリケーションプログラムにアクセス可能にするように構成される。データは、ビデオ、画像、オーディオファイル、行われた呼及び応答した呼、閲覧履歴及びブックマーク、電話帳等を含んでもよい。
ビューシステムは、視覚制御、例えば、ワード表示制御又はピクチャ表示制御を含む。ビューシステムは、アプリケーションプログラムを構築するように構成されてもよい。ディスプレイインタフェースは、1つ以上のビューを含んでもよい。例えば、SMS通知アイコンを含むディスプレイインタフェースは、ワード表示ビュー及びピクチャ表示ビューを含んでもよい。
電話マネージャは、電子デバイス100の通信機能を提供するように構成される。例えば、電話マネージャは、呼状態(応答、ハングアップ等を含む)を管理する。
リソースマネージャは、アプリケーションプログラムのための様々なリソース、例えば、ローカライズされたストリング、アイコン、ピクチャ、レイアウトファイル及びビデオファイルを提供する。
通知マネージャは、アプリケーションプログラムが通知情報をステータスバーに表示することを可能にし、通知タイプのメッセージを配信するように構成されてもよい。メッセージは、ユーザ相互作用なしに、短い表示の後に自動的に消えてもよい。例えば、通知マネージャは、ダウンロード完了を通知するか、或いは、メッセージのリマインダを与えるように構成される。代替として、通知マネージャは、チャート又はスクロールバーテキストの形式でシステムの上部ステータスバーに現れる通知、例えば、バックグラウンドで動作するアプリケーションプログラムの通知でもよく、或いは、ダイアログウィンドウの形式でスクリーンに現れる通知でもよい。例えば、テキスト情報がステータスバーにプロンプト表示されるか、プロンプト音が再生されるか、電子デバイスが振動するか、或いは、インジケータが点滅する。
Androidランタイムは、コアライブラリと仮想マシンとを含む。Androidランタイムは、Androidシステムをスケジューリング及び管理することを担う。
コアライブラリは、2つの部分、すなわち、Java言語のために呼び出す必要のあるパフォーマンス機能及びAndroidコアライブラリを含む。
アプリケーションプログラムレイヤ及びアプリケーションプログラムフレームワークレイヤは、仮想マシン上で動作する。仮想マシンは、アプリケーションプログラムレイヤ及びアプリケーションプログラムフレームワークレイヤのJavaファイルをバイナリファイルとして実行する。仮想マシンは、オブジェクトのライフサイクルの管理、スタックの管理、スレッドの管理、セキュリティ及び例外の管理、ガーベッジの収集のような機能を実行するように構成される。
システムライブラリは、複数の機能モジュール、例えば、サーフェスマネージャ(surface manager)、メディアライブラリ(Media Libraries)、3Dグラフィックス処理ライブラリ(例えば、OpenGL ES)及び2Dグラフィックスエンジン(例えば、SGL)を含んでもよい。
サーフェスマネージャは、表示サブシステムを管理し、複数のアプリケーションプログラムのために2D及び3Dレイヤ融合を提供するように構成される。
メディアライブラリは、複数の一般的なオーディオ及びビデオフォーマット、静止画像ファイル等における再生及び記録をサポートする。メディアライブラリは、複数のオーディオ及びビデオ符号化フォーマット、例えば、MPEG-4、H.264、MP3、AAC、AMR、JPG及びPNGをサポートしてもよい。
3Dグラフィックス処理ライブラリは、3Dグラフィックス描画、イメージレンダリング、合成、レイヤ処理等を実現するように構成される。
2Dグラフィックスエンジンは2D描画のための描画エンジンである。
カーネルレイヤは、ハードウェアとソフトウェアの間のレイヤである。カーネルレイヤは、少なくともディスプレイドライバ、カメラドライバ、オーディオドライバ及びセンサドライバを含む。
以下に、キャプチャ及び写真撮影シナリオを参照して、電子デバイス100のソフトウェア及びハードウェアの動作プロセスの例について説明する。
タッチセンサ180Kがタッチ操作を受け取ると、対応するハードウェア割り込みがカーネルレイヤに送信される。カーネルレイヤは、タッチ操作を元の入力イベント(タッチ座標及びタッチ操作のタイムスタンプのような情報を含む)に変換する。元の入力イベントはカーネルレイヤにおいて記憶される。アプリケーションプログラムフレームワークレイヤは、カーネルレイヤから元の入力イベントを取得し、入力イベントに対応する制御を識別する。例えば、タッチ操作はタップ操作であり、タップ操作に対応する制御はカメラアプリケーションのアイコンの制御である。カメラアプリケーションは、カメラを使用することにより静止画像又はビデオをキャプチャするために、カメラアプリケーションを開始するためにアプリケーションフレームワークレイヤのインタフェースを呼び出し、カメラドライバを開始するためにカーネルレイヤを更に呼び出す。
全ての以下の実施形態は、上記のハードウェア構造を有する電子デバイス100上に実現されてもよい。以下の実施形態では、端末デバイスが電子デバイス100である例が、この出願の実施形態において提供されるデータ伝送方法を説明するために使用される。
この出願の実施形態は、データ伝送方法を提供する。当該方法は、電子デバイス100により、第1のアプリケーションサーバへのMPTCP接続を確立するステップであり、MPTCP接続は第1のTCP接続と第2のTCP接続とを含み、第1のTCP接続のデータ伝送遅延は第2のTCP接続のデータ伝送遅延未満である、ステップと、電子デバイス100により、第1のアプリケーションサーバから受信した指示情報に基づいて、受信ポリシーを調整し、調整された受信ポリシーに従って、第1のアプリケーションサーバにより送信されたデータストリームを受信するステップとを含む。
具体的には、第1のアプリケーションサーバから電子デバイス100により受信した指示情報に含まれるタイプ識別子が第1の識別子であるとき、電子デバイス100は、電子デバイス100が指示情報を受信した後の第1の期間において、比較的短いデータ伝送遅延を有する第1のTCP接続を優先的に使用することによりデータストリームを受信してもよく、或いは、第1のアプリケーションサーバから電子デバイス100により受信した指示情報に含まれるタイプ識別子が第2の識別子であるとき、電子デバイス100は、電子デバイス100が指示情報を受信した後の第2の期間において、比較的長いデータ伝送遅延を有する第2のTCPを優先的に使用することにより、第1のアプリケーションサーバからデータストリームを優先的に受信してもよい。第1のアプリケーションサーバにより送信された指示情報は、第1のアプリケーションサーバによりその後に送信されるデータストリームに関連しており、指示情報及びデータストリームを送信するための時系列が存在する点に留意すべきである。例えば、第1のアプリケーションサーバにより送信された指示情報に含まれるタイプ識別子が第1の識別子である場合、指示情報が送信された直後に第1のアプリケーションサーバにより送信されるデータストリームは、第1の識別子に関連するデータストリームである。比較的長いデータ伝送遅延を有する第2のTCP接続は、通常ではWi-Fiネットワークに対応するTCP接続であり、比較的短いデータ伝送遅延を有する第1のTCP接続は、通常ではセルラネットワークに対応するTCP接続である。したがって、従来技術の最小ラウンドトリップ時間スケジューリングアルゴリズムと比較して、この出願のこの実施形態における方法によれば、端末デバイス側におけるセルラネットワークのデータトラフィックの消費が或る程度低減できる。
以下に、電子デバイス100が第1のアプリケーションサーバから来るストリーミングメディアを再生する例を主に使用することにより、添付の図面及び適用シナリオを参照して、この出願のこの実施形態において提供されるデータ伝送方法について詳細に説明する。
現在では、スマートフォンの比較的典型的なストリーミングメディアサービスは、3つのタイプ、すなわち、ショートビデオ、例えばTikTok;ビデオオンデマンド(Video On Demand, VOD)、例えばiQIYI及びYouku;生放送、例えばHuyaにおおまかに分類される。
この出願のこの実施形態では、ストリーミングメディアファイルのデータストリームを作成するとき、第1のアプリケーションサーバは、データストリームの各セグメントのタイプ識別子を決定し、データストリームのセグメントのタイプ識別子に対応する指示情報を生成する。或る場合、第1のアプリケーションサーバは、データストリームのセグメントが、オンデマンドビデオの初期期間(0~30秒)に対応するデータストリーム、又はユーザがオンデマンドで再生されたオンデマンドビデオを再生するときに最後の再生時点から始まる指定の期間に対応するデータストリーム、又はユーザがプログレスバーを或る時点にドラッグしたときにオンデマンドビデオの途中の或る時点から始まる指定の期間に対応するデータストリーム、又はライブビデオの初期期間に対応するデータストリーム、又はショートビデオ内の現在のビデオに対応するデータストリームであると決定する。これらのデータストリームは、遅延に対して比較的高い要件を有するので、電子デバイス100は、データストリームを受信した直後にこのタイプのデータストリームを表示する必要がある。したがって、第1のアプリケーションサーバは、データストリームを作成したとき、このタイプのデータストリームの指示情報を生成する。指示情報に含まれるタイプ識別子は第1の識別子であり、第1の識別子は、データストリームが比較的短い遅延を必要とすることを示すために使用される。
他の場合、第1のアプリケーションサーバは、データストリームのセグメントが、オンデマンドビデオのキャッシュ期間に対応するデータストリーム(通常では、キャッシュ期間は、再生されているビデオに対応する期間の後の数十秒を含む)、又はライブビデオのキャッシュ期間に対応するデータストリーム、又はショートビデオ内のキャッシュされたショートビデオに対応するデータストリームであると決定する。これらのデータストリームは遅延に対して高い要件を有さないので、電子デバイス100は、通常では、データストリームを受信した直後にこのタイプのデータストリームを表示する必要はない。したがって、第1のアプリケーションサーバは、データストリームを作成したとき、このタイプのデータストリームの指示情報を生成する。指示情報に含まれるタイプ識別子は第1の識別子であり、第2の識別子は、データストリームが比較的長い遅延を必要とすることを示すために使用される。
言い換えると、第1のアプリケーションサーバへのMPTCP接続を確立した後に、電子デバイス100は、第1のアプリケーションサーバにより送信されたデータストリームを受信する前に、データストリームのタイプ識別子を受信する。電子デバイス100は、まず、指示情報からタイプ識別子を取得し、次いで、タイプ識別子に基づいて、指示情報が受信された後の或る期間において、第1のアプリケーションサーバにより送信されたデータストリームを受信するためのポリシーを調整する。図4を参照すると、電子デバイス100及び第1のアプリケーションサーバは、データ伝送のためにWi-Fiネットワークリソース及びLTEネットワークリソースの双方を使用すると仮定する。電子デバイス100が第1のアプリケーションサーバへのMPTCP接続を確立した後に、MPTCP接続に含まれる第1のTCP接続は、LTEネットワークに対応するTCP接続であり、第2のTCP接続は、Wi-Fiネットワークに対応するTCP接続である。電子デバイス100が、受信した指示情報に含まれるタイプ識別子が第1の識別子であると決定したとき、LTEネットワークに対応するTCP接続のラウンドトリップ時間がWi-Fiネットワークのラウンドトリップ時間よりも短いので、電子デバイス100は、LTEネットワークに対応するTCP接続を優先的に使用することによりデータストリームを受信する。比較的高いレートでデータストリームを受信するために、電子デバイス100は、代替として、双方のTCP接続を使用することにより、第1のアプリケーションサーバにより送信されたデータストリームを受信する。受信した指示情報に含まれるタイプ識別子が第2の識別子であると決定したとき、電子デバイス100は、Wi-Fiネットワークに対応するTCP接続を優先的に使用することにより、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信してもよい。
図4において、電子デバイス100により、LTEネットワークに対応するTCP接続を優先的に使用することによりデータストリームを受信するための具体的な方法は、電子デバイス100により、LTEネットワークに対応するTCP接続の受信ウィンドウを調整し、それにより、LTEネットワークに対応するTCP接続の受信ウィンドウがWi-Fiネットワークに対応するTCP接続の受信ウィンドウよりも大きいようにすることでもよい点に留意すべきである。明らかに、データストリームを受信する効率を改善し、再生開始遅延を最小化するために、電子デバイス100は、代替として、調整を通じて、LTEネットワークに対応するTCP接続の受信ウィンドウとWi-Fiネットワークに対応するTCP接続の受信ウィンドウとの双方を最大化してもよい。これは、受信効率を改善し、最大スループットを達成できる。
さらに、図4において、電子デバイス100により、Wi-Fiネットワークに対応するTCP接続を優先的に使用することにより、後続のデータストリームを受信するための具体的な方法は、電子デバイス100により、Wi-Fiネットワークに対応するTCP接続の受信ウィンドウを調整し、それにより、Wi-Fiネットワークに対応するTCP接続の受信ウィンドウがLTEネットワークに対応するTCP接続の受信ウィンドウよりも大きいようにすることでもよい。明らかに、コストを低減するために、電子デバイス100は、代替として、調整を通じて、Wi-Fiネットワークに対応するTCP接続の受信ウィンドウを最大化し、LTEネットワークに対応するTCP接続の受信ウィンドウを閉じてもよい。言い換えると、電子デバイス100は、Wi-Fiネットワークに対応するTCP接続のみを使用することにより、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信する。これは、LTEネットワークのトラフィック消費を最小化し、ユーザの消費コストを低減できる。
可能な実現方式では、データストリームを示すタイプ識別子に加えて、第1のアプリケーションサーバにより生成された指示情報は、帯域幅要件を示すパラメータを更に搬送してもよい。或る場合、指示情報から電子デバイス100により取得された識別子が第2の識別子であり、指示情報が帯域幅要件を示すパラメータを更に含む場合、電子デバイス100は、第2のTCP接続の受信ウィンドウが調整を通じて最大化されるとき、第2のTCP接続の帯域幅値が帯域幅要件を満たすか否かを決定する。第2のTCP接続の帯域幅値が帯域幅要件を満たす場合、電子デバイス100は、第2のTCP接続のみを使用することにより、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信してもよく、或いは、第2のTCP接続の帯域幅値が帯域幅要件を満たさない場合、電子デバイス100は、調整を通じて第2のTCP接続の受信ウィンドウを最大化し、また、2つのTCP接続の帯域幅の合計が帯域幅要件を満たすことができるまで、第1のTCP接続の受信ウィンドウを調整してもよい。第1のTCP接続がセルラネットワークに対応し、第2のTCP接続がWi-Fiネットワークに対応するとき、当該方法によれば、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信するとき、電子デバイス100は、セルラネットワークのデータトラフィックの消費を低減するために、Wi-Fiネットワークのデータトラフィックをできる限り多く占有し、セルラネットワークのより少ないデータトラフィックを占有してもよい。
他の場合、指示情報から電子デバイス100により取得された識別子が第1の識別子であり、指示情報が帯域幅要件を示すパラメータを更に含む場合、電子デバイス100は、最小ラウンドトリップ時間を有する第1のTCP接続を優先的に使用することにより、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信する。第1のTCP接続の受信ウィンドウが最大化されたときに帯域幅要件が依然として満たされない場合、データストリームはまた、第2の最小ラウンドトリップ時間を有する第2のTCP接続を使用することにより受信される。例えば、第1のTCP接続がセルラネットワークに対応し、第2のTCP接続がWi-Fiネットワークに対応するとき、電子デバイス100は、セルラネットワークに対応するTCP接続を優先的に使用することにより、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信する。セルラネットワークに対応するTCP接続の受信ウィンドウが調整を通じて最大化されたときに帯域幅要件4Mb/sが依然として満たされない場合、Wi-Fiネットワークに対応するTCP接続も使用される。Wi-Fiネットワークは通常では無料であるので、この出願のこの実施形態では、電子デバイス100は、調整を通じて、Wi-Fiネットワークに対応するTCP接続の受信ウィンドウを最大化してもよく、それにより、受信効率を改善して電子デバイス100の再生開始遅延を低減するために、電子デバイス100ができる限り速くデータストリームを受信できる。
この出願のこの実施形態は、図7及び図8に示すシナリオを参照した例を使用することにより、上記のデータストリーム伝送方法について更に説明する。
シナリオ1:Huaweiビデオ再生インタフェース上の再生制御上でユーザ1により実行された操作(例えば、クリック/タップ操作)を受信したとき、電子デバイス100は、「次」のマルチメディアファイルを取得することを要求するためのメッセージを、Huaweiビデオアプリケーションに対応する第1のアプリケーションサーバに送信する。メッセージを受信した後に、第1のアプリケーションサーバは、MPTCPプロトコルを使用することにより、マルチメディアファイルのデータストリームを電子デバイス100に送信する。電子デバイス100は、上記のデータストリーム伝送方法に従ってデータストリームを受信し、図7に示すインタフェースを表示する。
具体的には、Huaweiビデオに対応する第1のアプリケーションサーバは、データストリームの各セグメントを送信する前に指示情報を送信するので、第1のアプリケーションサーバから指示情報を受信した後に、電子デバイス100は、指示情報から第1の識別子及び帯域幅要求を示すパラメータを取得し、電子デバイス100は、比較的短いラウンドトリップ時間に対応する第1のTCP接続を優先的に使用することによりデータストリームを受信する。例えば、第1のTCP接続がセルラネットワークに対応し、第2のTCP接続がWi-Fiネットワークに対応するとき、電子デバイス100は、LTEネットワークに対応するTCP接続を優先的に使用することによりデータストリームを受信する。LTEネットワークに対応するTCP接続の受信ウィンドウが調整を通じて最大化されたときにデータストリームの帯域幅要件が依然として満たされていない場合、データストリームはまた、Wi-Fiネットワークに対応するTCP接続を使用することにより受信されてもよい。このように、ユーザ1の操作を検出した後に、電子デバイス100は、「次」のマルチメディアファイルの第1のスクリーンを再生することを迅速に開始でき、言い換えると、再生開始遅延が比較的短く、それにより、ユーザ体験を改善する。
可能な設計では、「次」のマルチメディアファイルを最初に再生するために電子デバイス100により表示されるインタフェースは、第1のプロンプト情報を更に含んでもよい。第1のプロンプト情報は、電子デバイス100が再生を加速させるために現在複数のネットワークリソースを使用していることをユーザに通知するために使用される。例えば、図7に示すインタフェース上に表示される第1のプロンプト情報は、以下の通り、すなわち、デュアルネットワーク集約を通じた加速である。
シナリオ2:図8に示すように、電子デバイス100が「次」のマルチメディアファイルを再生するプロセスにおいて、電子デバイス100は、第1のアプリケーションサーバからキャッシュ期間のデータストリームを更に受信し、キャッシュ期間のデータストリームを送信する前に、第1のアプリケーションサーバは、キャッシュ期間のデータストリームのタイプ識別子に対応する指示情報を電子デバイス100に送信する。第1のアプリケーションサーバから指示情報を受信した後に、電子デバイス100は、指示情報から第2の識別子及び帯域幅要求を示すパラメータを取得する。電子デバイス100は、ローカルエリアネットワークに対応するTCP接続を優先的に使用することによりデータストリームを受信する。例えば、電子デバイス100は、Wi-Fiネットワークに対応するTCP接続を優先的に使用することによりデータストリームを受信する。Wi-Fiネットワークに対応するTCP接続の受信ウィンドウが調整を通じて最大化されたときにデータストリームの帯域幅要件が依然として満たされない場合、データストリームはまた、LTEネットワークに対応するTCP接続を使用することにより受信されてもよい。
可能な設計では、電子デバイス100のインタフェースは、第2のプロンプト情報を更に表示してもよい。第2のプロンプト情報は、電子デバイス100が現在Wi-Fiネットワークを使用することによりデータをロードしていることをユーザに通知するために使用される。例えば、図8に示すインタフェースに表示される第2のプロンプト情報は、以下の通り、すなわち、Wi-Fiネットワークを使用することによる事前キャッシュである。
シナリオ3:電子デバイス100上のHuaweiビデオアプリケーションが「次」のマルチメディアファイルを再生するプロセスにおいて、電子デバイス100上のHuaweiビデオアプリケーションは、バックグラウンドで映画「The Island」をダウンロードする。映画「The Island」のマルチメディアファイルをダウンロードし始めるとき、電子デバイス100は、要求をHuaweiビデオアプリケーションサーバに送信する。Huaweiビデオアプリケーションサーバは、要求に従って、映画「The Island」のマルチメディアファイルのデータストリームのタイプ識別子が第2の識別子であると決定する。「次」のマルチメディアファイルを再生することを要求するとき、電子デバイス100は、要求をHuaweiビデオアプリケーションサーバに送信する。Huaweiビデオアプリケーションサーバは、要求に従って、初期期間のデータストリームの識別子が第1の識別子であり、キャッシュ期間のデータストリームの識別子が第2の識別子であると決定する。したがって、Huaweiビデオアプリケーションサーバから指示情報を受信した後に、電子デバイス100は、指示情報から第1の識別子を取得し、電子デバイス100は、LTEネットワークに対応し且つ比較的短いラウンドトリップ時間に対応するTCP接続を優先的に使用することによりデータストリームを受信し、Huaweiビデオアプリケーションサーバから指示情報を受信した後に、電子デバイス100は、指示情報から第2の識別子を取得し、電子デバイス100は、Wi-Fiネットワークに対応し且つ比較的長いラウンドトリップ時間に対応するTCP接続を優先的に使用することによりデータストリームを受信する。
シナリオ4:電子デバイス100上のHuaweiビデオアプリケーションが「次」のマルチメディアファイルを再生するプロセスにおいて、電子デバイス100上のYoukuアプリケーションは、分割スクリーン方式で映画「The Island」を再生し、HuaweiビデオアプリケーションとYoukuアプリケーションとの双方がYoukuアプリケーションサーバに対応する。「次」のマルチメディアファイルを再生すること要求するとき、電子デバイス100は、要求をYoukuアプリケーションサーバに送信する。Youkuアプリケーションサーバは、要求に従って、初期期間のデータストリームの識別子が第1の識別子であり、キャッシュ期間のデータストリームの識別子が第2の識別子であると決定する。「The Island」のマルチメディアファイルを再生することを要求するとき、電子デバイス100は、要求をYoukuアプリケーションサーバに送信する。Youkuアプリケーションサーバは、要求に従って、初期期間のデータストリームの識別子が第1の識別子であり、キャッシュ期間のデータストリームの識別子が第2の識別子であると決定する。したがって、Youkuアプリサーバから指示情報を受信した後に、電子デバイス100は、指示情報から第1の識別子を取得し、電子デバイス100は、LTEネットワークに対応し且つ比較的短いラウンドトリップ時間に対応するTCP接続を優先的に使用することによりデータストリームを受信し、Youkuアプリサーバから指示情報を受信した後に、電子デバイス100は、指示情報から第2の識別子を取得し、電子デバイス100は、Wi-Fiネットワークに対応し且つ比較的長いラウンドトリップ時間に対応するTCP接続を優先的に使用することによりデータストリームを受信する。
電子デバイス100は、上記のデータ伝送方法を使用することにより第1のアプリケーションサーバからデータストリームを受信し、それにより、「次」のマルチメディアファイルが再生されるとき、再生開始遅延が比較的短くでき、ユーザ待ち時間が比較的短くできることが習得できる。さらに、キャッシュ期間のデータストリームは、できる限り多くWi-Fiネットワークを使用することにより受信できる。これは、LTEネットワークに対応するデータトラフィックの消費を或る程度低減でき、それにより、ユーザの消費コストを低減する。
データは、Wi-Fiネットワークリソース及びLTEネットワークリソースを使用することにより、電子デバイス100と第1のアプリケーションサーバとの間で伝送されると仮定する。この出願の以下の実施形態は、図9A及び図9Bに示すプロセスを参照して、上記のデータ伝送方法の具体的なプロセスについて詳細に更に記載する。当該方法の具体的なプロセスは、以下のステップを含んでもよい。
ステップ201:電子デバイス100は、第1のアプリケーションサーバへのインタフェースを開き、インタフェースを使用することにより第1のアプリケーションサーバにより送信された指示情報を受信する。指示情報は、識別子及び帯域幅要求を示すパラメータを含み、指示情報は、第1のアプリケーションサーバにより送信されるべきデータストリームに関連する。
ステップ202:電子デバイス100は、指示情報から、タイプ識別子及び帯域幅要件を示すパラメータを取得する。
ステップ203:指示情報内のタイプ識別子が第1の識別子であると決定したとき、電子デバイス100はステップ204を実行し、そうでない場合、電子デバイス100はステップ214を実行する。例えば、第1の識別子は0X01である。
ステップ204:電子デバイス100は、LTEネットワークに対応するTCP接続を優先的に使用することにより、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信する。
ステップ205:電子デバイス100は、LTEネットワークに対応するTCP接続の受信ウィンドウが最大化されたときに帯域幅が帯域幅要件以上であるか否かを決定し、帯域幅が帯域幅要件よりも低い場合、ステップ206を実行し、そうでない場合、ステップ204を実行し続けるために戻る。
ステップ206:電子デバイス100は、LTEネットワークに対応するTCP接続を使用することによりデータストリームを受信し、ここで、受信ウィンドウが最大化され、電子デバイス100は、Wi-Fiネットワークに対応する接続を使用することによりデータストリームを受信し、ここで、受信ウィンドウが最大化される。
ステップ207:電子デバイス100は、指示情報内のタイプ識別子が第2の識別子であるか否かを決定する。例えば、第2の識別子は0X02である。タイプ識別子が第2の識別子である場合、電子デバイス100はステップ208を実行し、そうでない場合、電子デバイス100はステップ214を実行する。
ステップ208:電子デバイス100は、Wi-Fiネットワークに対応するTCP接続を優先的に使用することにより、第1のアプリケーションサーバによりその後に送信されるデータストリームを受信する。
ステップ209:電子デバイス100は、Wi-Fiネットワークに対応するTCP接続の受信ウィンドウが最大化されたときに帯域幅が帯域幅要件以上であるか否かを決定し、帯域幅が帯域幅要件以上である場合、ステップ210aを実行し、そうでない場合、ステップ207を実行し続けるために戻る。
ステップ210a:電子デバイス100は、Wi-Fiネットワークに対応するTCP接続とLTEネットワークに対応するTCP接続との双方を使用することによりデータストリームを受信し、ここで、双方の受信ウィンドウが最大化される。
ステップ211a:電子デバイス100は、Wi-Fiネットワーク及びLTEネットワークの現在の帯域幅の和が帯域幅要件に等しいか否かを決定し、現在の帯域幅の和が帯域幅要件に等しくない場合、ステップ212aを実行し、そうでない場合、ステップ213aを実行する。
ステップ212a:電子デバイス100は、指定の比率(例えば、10%)に基づいて、LTEネットワークに対応するTCP接続の受信ウィンドウのサイズを低減し、現在の帯域幅の和が帯域幅要件に等しくなるまでステップ211aを実行するために戻り、次いで、ステップ213aに進む。
ステップ213a:現在の帯域幅の和が帯域幅要件に等しいとき、電子デバイス100の各TCP接続は、現在の受信ウィンドウサイズに基づいてデータストリームを受信する。
ステップ214:電子デバイス100は、LTEネットワークに対応するTCP接続とWi-Fiネットワークに対応するTCP接続との双方を使用することによりデータストリームを受信する。
ステップ213aを実行した後に、電子デバイス100は、通常では、現在の帯域幅の和が要件を満たすか否かを周期的に検出し続け、すなわち、ステップ211a~ステップ213aを再び実行する点に留意すべきである。
この出願のこの実施形態では、指示情報内の識別子が第2の識別子である場合、Wi-Fiネットワークに対応し且つ電子デバイス100により使用されるTCP接続の受信ウィンドウは、通常では、最大受信ウィンドウである。これは、データストリームを受信するためのレートを増加させることができる。さらに、ステップ211a~ステップ213aを実行するプロセスが指定の持続時間を占有する必要があるので、電子デバイス100は、Wi-Fiネットワークリソースが帯域幅要件を満たさないときに、まずステップ210aを実行する。受信ウィンドウを調整するプロセスにおいてデータストリームの輻輳を回避し、ユーザ体験への影響を回避するために、この出願のこの実施形態では、Wi-Fiネットワークに対応するTCP接続の受信ウィンドウとLTEネットワークに対応する接続の受信ウィンドウとの双方が、優先的に瞬時に最大化され、次いで、帯域幅要件が満たされるまで、LTEネットワークに対応する接続の受信ウィンドウのサイズが徐々に低減される。
可能な設計では、図9A及び図9Bのステップ210a~213aは、代替として、ステップ210b~213bに置き換えられてもよい。具体的には、ステップ209において、Wi-Fiネットワークに対応するTCP接続の受信ウィンドウが最大化されたときに帯域幅が依然として帯域幅要件よりも低いと決定したとき、電子デバイス100はステップ210bを実行し、そうでない場合、電子デバイス100はステップ208を実行し続けるために戻る。図10A及び図10Bに示すように、具体的なステップは以下の通りである。
ステップ201~ステップ209は、図9A及び図9Bの説明と同じであり、詳細はここでは再び説明しない。
ステップ210b:電子デバイス100は、Wi-Fiネットワークに対応するTCP接続とLTEネットワークに対応するTCP接続との双方を使用することによりデータストリームを受信し、ここで、Wi-Fiネットワークに対応する受信ウィンドウが最大化され、LTEネットワークに対応するTCP接続の受信ウィンドウが最小化される。
ステップ211b:電子デバイス100は、Wi-Fiネットワーク及びLTEネットワークの現在の帯域幅の和が帯域幅要件以上であるか否かを決定し、現在の帯域幅の和が帯域幅要件よりも低い場合、ステップ212bを実行し、そうでない場合、ステップ213bを実行する。
ステップ212b:現在の帯域幅の和が帯域幅要件に等しくない場合、電子デバイス100は、特定の比率に基づいて、LTEネットワークに対応するTCP接続の受信ウィンドウのサイズを増加させ、現在の帯域幅の和が帯域幅要件に等しくなるまでステップ211bに戻り、ステップ213bに進む。
ステップ213b:現在の帯域幅の和が帯域幅要件に等しいとき、電子デバイス100の各TCP接続は、現在の受信ウィンドウサイズに基づいてデータストリームを受信する。
ステップ214:電子デバイス100は、LTEネットワークに対応するTCP接続とWi-Fiネットワークに対応するTCP接続との双方を使用することによりデータストリームを受信する。
図9A及び図9Bに示す方法のプロセスと比較して、図10A及び図10Bにおけるステップで実現されるデータ伝送方法では、LTEネットワークに対応するデータトラフィックをできる限り少なく占有でき、それにより、ユーザの消費コストを低減することが習得できる。
この出願の実施形態は、データ伝送方法を更に提供する。当該方法によれば、電子デバイス100は、受信データストリームのトラフィック変化率に基づいてデータストリーム受信ポリシーを調整できる。この出願の以下の実施形態は、図11に示すプロセスを参照して、上記のデータ伝送方法の具体的なプロセスについて詳細に更に記載する。当該方法の具体的なプロセスは、以下のステップを含んでもよい。
ステップ301:電子デバイス100は、第1のアプリケーションサーバへのMPTCP接続を確立し、第1のアプリケーションサーバにより送信されたデータストリームを受信する。
MPTCP接続は、第1のTCP接続と第2のTCP接続とを含む。第1のTCP接続のデータ伝送遅延は、第2のTCP接続のデータ伝送遅延未満である。例えば、第1のTCP接続はセルラネットワークに対応するTCP接続であり、第2のTCP接続はWi-Fiネットワークに対応するTCP接続である。
ステップ302:電子デバイス100は、単位時間内の受信データストリームのトラフィックの値が第1の閾値よりも大きいか否かを決定し、トラフィックの値が第1の閾値よりも大きい場合、ステップ303を実行し、そうでない場合、ステップ304を実行し、単位時間は秒の単位でもよい。
ステップ303:単位時間内の受信データストリームのトラフィックが第1の閾値よりも大きいことを検出したとき、電子デバイス100は、第1のアプリケーションサーバから各データストリームの作成時間を取得し、データストリームの作成時間(例えば、ソケット(Socket)の作成時間)に基づいて全てのデータストリームをソートし、より早く作成されたN個(例えば、Nは3である)のデータストリームを決定する。電子デバイス100は、第1のTCP接続と第2のTCP接続との双方を使用することにより、上位のN個のデータストリームを受信し、Nは1以上の正の整数である。
例えば、ユーザがiQIYIアプリケーションでオンデマンド映画をオンラインで再生するとき、電子デバイス100は、第1の要求をiQIYIアプリケーションサーバに送信し、第1の要求は、映画の期間0s~1sに対応するデータストリームを要求するために使用され、iQIYIアプリケーションサーバは、映画の期間0s~1sに対応するデータストリーム、すなわち、第1のデータストリームを電子デバイス100に送信し、その後、電子デバイス100は、第2の要求をiQIYIアプリケーションサーバに送信し、第2の要求は、映画の期間1~ssに対応するデータストリームを要求するために使用され、iQIYIアプリケーションサーバは、映画の期間1s~2sに対応するデータストリーム、すなわち、第2のデータストリームを電子デバイス100に送信し、電子デバイス100は、第3の要求をiQIYIアプリケーションサーバに送信し、第3の要求は、映画の期間3s~5sに対応するデータストリームを要求するために使用され、iQIYIアプリケーションサーバは、映画の期間3s~5sに対応するデータストリーム、すなわち、第3のデータストリームを電子デバイス100に送信する。時間によるソートの場合、第1のデータストリームが最も早く作成され、第2のデータストリームが次に作成され、第3のデータストリームが最後に作成される。電子デバイス100は、iQIYIアプリケーションサーバから各データストリームの作成時間を取得し、データストリームをソートし、より早く作成された第1のデータストリーム及び第2のデータストリームを決定する。次いで、電子デバイス100は、第1のTCP接続と第2のTCP接続との双方を使用することにより、第1のデータストリーム及び第2のデータストリームを並列に受信する。
ステップ304:電子デバイス100は、単位時間内の受信データストリームのトラフィックの値が第2の閾値未満であるか否かを決定し、トラフィックの値が第2の閾値未満である場合、ステップ305を実行し、そうでない場合、ステップ306を実行し、第1の閾値は第2の閾値よりもはるかに大きい。
ステップ305:単位時間内の受信データストリームのトラフィックが第2の閾値未満であることを検出したとき、電子デバイス100は、第2のTCP接続を優先的に使用することによりデータストリームを受信する。
例えば、上記の例では、電子デバイス100は、第4の要求をiQIYIアプリケーションサーバに更に送信し、第4の要求は、映画の期間5s~15sに対応するデータストリームを要求するために使用され、iQIYIアプリケーションサーバは、映画の期間5s~15sに対応するデータストリーム、すなわち、第4のデータストリームを電子デバイス100に送信する。電子デバイス100のバッファは、第3のデータストリームを更にキャッシュするので、第4のデータストリームは直ちに再生される必要はない。この場合、電子デバイス100は、Wi-Fiネットワークに対応するTCP接続を優先的に使用することにより第4のデータストリームを受信する。
ステップ306:単位時間内の受信データストリームのトラフィックが第1の閾値以下且つ第2の閾値以上であることを検出したとき、電子デバイス100は、第1のTCP接続と第2のTCP接続との双方を並列に使用することにより、第1のアプリケーションサーバからデータストリームを受信する。
第1のTCP接続がセルラネットワークに対応するTCP接続であり、第2のTCP接続がWi-Fiネットワークに対応するTCP接続であるとき、従来技術と比較して、上記の実施形態では、電子デバイス100は、単位時間内のデータストリームのトラフィックが比較的小さいときにWi-Fiネットワークのトラフィックのみを占有することによりデータを受信してもよく、それにより、セルラネットワークのデータトラフィックの消費を或る程度低減し、ユーザの消費コストを低減することが習得できる。さらに、単位時間内に電子デバイス100により受信したデータストリームのトラフィックが第1の閾値よりも大きいとき、電子デバイス100は、まず、より早く作成されたデータストリームを受信し、それにより、再生開始遅延が或る程度低減でき、ユーザ待ち時間が低減される。
以下に、電子デバイス100が第1のアプリケーションサーバから来るストリーミングメディアを再生する例を主に使用することにより、添付の図面及び適用シナリオを参照して、この出願のこの実施形態において提供されるデータ伝送方法について詳細に説明する。
データは、Wi-Fiネットワークリソース及びLTEネットワークリソースを使用することにより、電子デバイス100と第1のアプリケーションサーバとの間で送信されると仮定する。この出願のこの実施形態では、電子デバイス100は、ストリーミングメディアに対応する受信データストリームのトラフィック変化を監視する。
シナリオ1:Huaweiビデオアプリケーションにおいてビデオサービスの再生制御(例えば、ビデオ再生制御)上でユーザにより実行された第1の操作を検出したとき、電子デバイス100は、ビデオサービスに対応し且つ第1のアプリケーションサーバにより送信されたデータストリームを単位時間に受信する。通常では、この場合、データストリームのトラフィックは非常に大きい。具体的には、この場合、単位時間内に電子デバイス100により受信されるデータストリームのトラフィックは、第1の閾値よりも大きい。したがって、可能な実現方式では、電子デバイス100は、Wi-Fiネットワークに対応するTCP接続とLTEネットワークに対応するTCP接続との双方を並列に使用することにより、サービスのデータストリームを受信してもよい。具体的には、単位時間内の受信データストリームのトラフィックが第1の閾値よりも大きいとき、電子デバイス100は、まず、第1のアプリケーションサーバから各データストリームの作成時間を取得し、データストリームの作成時間のシーケンス(例えば、ソケット(Socket)の作成時間)に基づいて各データストリームの受信シーケンスを決定してもよい。電子デバイス100は、Wi-Fiネットワークに対応するTCP接続とLTEネットワークに対応するTCP接続との双方を使用することにより、上位のN個のデータストリームを優先的に受信する。このように、第1のアプリケーションサーバによりより早く生成されたデータストリームが比較的高いレートで受信され、それにより、第1のスクリーンが迅速に再生され、再生開始遅延が低減され、ユーザ体験が改善されることを確保できる。
シナリオ2:ビデオサービスを再生するプロセスにおいて、電子デバイス100は、第1のアプリケーションサーバにより送信された、ビデオサービスのキャッシュ期間のデータストリームを受信し、キャッシュ期間の受信データストリームをバッファに記憶する。電子デバイス100のバッファに記憶された、キャッシュ期間のデータストリームのトラフィックが上限に達した後に、第1のアプリケーションサーバから電子デバイス100により受信されるビデオサービスのデータストリームのトラフィックは瞬時に減少する。具体的には、この場合、単位時間内に電子デバイス100により受信されるデータストリームのトラフィックは、第2の閾値未満である。したがって、電子デバイス100は、調整を実行し、Wi-Fiに対応するTCP接続を優先的に使用することにより、単位時間内のデータストリームのトラフィックが第1の閾値よりも急に大きくなるまで、その後の期間において第1のアプリケーションサーバにより送信されるビデオサービスのデータストリームを受信する。第2の閾値及び第1の閾値の具体的な値は、実際の要件に従って設定されてもよい点に留意すべきである。さらに、第1の閾値は第2の閾値よりもはるかに大きい。
シナリオ3:電子デバイス100は、Huaweiビデオアプリケーションにおけるビデオサービスの再生終了制御(例えば、ビデオ再生終了制御)上でユーザにより実行された第2の操作を検出した場合、電子デバイス100はもはやビデオサービスのデータストリームを受信しないが、電子デバイス100は、ビデオメインメニューインタフェース上の他のサービスのデータストリームを単位時間内に受信する。この場合、単位時間内に電子デバイス100により受信したデータストリームのトラフィックは、急に非常に大きくなる。したがって、この場合、電子デバイス100は、Wi-Fiネットワークに対応するTCP接続とLTEネットワークに対応するTCP接続との双方を並列に使用して、他のサービスのデータストリームを受信する。
この出願のこの実施形態では、第1の操作及び第2の操作は、音声操作又はジェスチャ操作を含む点に留意すべきである。ジェスチャ操作は、タッチジェスチャ又はホバリング(hover)ジェスチャを含んでもよい。タッチジェスチャは、タップ、ダブルタップ、タッチアンドホールド、プレス、ドラッグ等を含んでもよいが、これらに限定されない。さらに、上記のデータ伝送方法は、ストリーミングメディアサービスに適用可能であるだけでなく、他のタイプ識別子を有するサービス、例えば、Alipayアプリケーションに対応する支払いサービス又はTaobaoアプリケーションのオーダーサービスにも適用可能である。
要するに、この出願のこの実施形態における上記のデータ伝送方法によれば、データストリームの受信ポリシーは、受信データストリームのタイプ識別子又はデータストリームのトラフィック変化状態に基づいてタイムリーに調整されてもよく、それにより、データストリームが第1のアプリケーションサーバから効率的に受信でき、広域ネットワークのデータトラフィックができるだけ少なく使用でき、それにより、ユーザの消費コストを低減する。
この出願の実施形態は、コンピュータ読み取り可能記憶媒体を更に提供する。コンピュータ読み取り可能記憶媒体は、コンピュータプログラムを含む。コンピュータプログラムが電子デバイス上で動作したとき、電子デバイスは、上記のデータ伝送方法のいずれか可能な実現方式を実行することが可能になる。
この出願の実施形態は、コンピュータプログラム製品を更に提供する。コンピュータプログラム製品が電子デバイス上で動作したとき、電子デバイスは、上記のデータ伝送方法のいずれか可能な実現方式を実行することが可能になる。
この出願のいくつかの実施形態では、この出願の実施形態は、データ伝送装置を開示する。図12に示すように、データ伝送装置は、上記の方法の実施形態に記載される方法を実現するように構成され、トランシーバモジュール1201と、処理モジュール1202とを含む。トランシーバモジュール1201は、第1のアプリケーションサーバから指示情報及びデータストリームを受信する際に電子デバイスをサポートするように構成される。処理モジュール1202は、例えば、図9A及び図9Bのステップ202~ステップ213a、図10A及び図10Bのステップ202~ステップ213b又は図11のステップ302~ステップ306に示すように、各TCP接続の受信ポリシーを調整する際に電子デバイスをサポートするように構成される。対応する機能モジュールの機能説明については、上記の方法の実施形態に含まれるステップの全ての関連する内容を参照する。詳細は、ここでは再び説明しない。
この出願の他のいくつかの実施形態では、この出願の実施形態は、電子デバイスを開示する。図13に示すように、電子デバイスは、1つ以上のプロセッサ1301と、メモリ1302と、ディスプレイ1303と、1つ以上のアプリケーションプログラム(図示せず)と、1つ以上のコンピュータプログラム1304を含んでもよい。上記のデバイスは、1つ以上の通信バス1305を使用することにより接続されてもよい。1つ以上のコンピュータプログラム1304はメモリ1302に記憶され、1つ以上のプロセッサ1301により実行されるように構成される。1つ以上のコンピュータプログラム1304は命令を含む。この命令は、図9A及び図9B、図11並びに対応する実施形態のステップを実行するために使用されてもよい。
実現方式に関する上記の説明は、便宜上の簡単な説明の目的で、上記の機能モジュールの分割が例示のための例として行われていることを、当業者が理解することを可能にする。実際の用途では、上記の機能は異なるモジュールに割り当てられ、要件に従って実現でき、すなわち、装置の内部構造は、上記の機能の全部又は一部を実現するために異なる機能モジュールに分割される。上記のシステム、装置及びユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照し、詳細は、ここでは再び説明しない。
この出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、或いは、ユニットのそれぞれが物理的に単独で存在してもよく、或いは、2つ以上のユニットが1つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形式で実現されてもよく、或いは、ソフトウェア機能ユニットの形式で実現されてもよい。
統合されたユニットがソフトウェア機能ユニットの形式で実現され、独立した製品として販売又は使用されるとき、統合されたユニットは、コンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、この出願の実施形態の技術的解決策は本質的に、或いは、従来技術に寄与する部分又は技術的解決策の全部若しくは一部は、ソフトウェア製品の形式で実現されてもよい。ソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい)に、この出願の実施形態に記載の方法のステップの全部又は一部を実行するように命令するためのいくつかの命令を含む。上記の記憶媒体は、フラッシュメモリ、取り外し可能ハードディスク、読み取り専用メモリ、ランダムアクセスメモリ、磁気ディスク又は光ディスクのようなプログラムコードを記憶できるいずれかの媒体を含む。
上記の説明は、この出願の単なる具体的な実現方式であるが、この出願の保護範囲を限定することを意図するものではない。この出願に開示された技術的範囲内の如何なる変更又は置換も、この出願の保護範囲内に入るものとする。したがって、この出願の実施形態の保護範囲は、特許請求の範囲の保護範囲に従うものとする。