JP2015504262A - アプリケーション通信を同期化するためのシステムおよび方法 - Google Patents

アプリケーション通信を同期化するためのシステムおよび方法 Download PDF

Info

Publication number
JP2015504262A
JP2015504262A JP2014539913A JP2014539913A JP2015504262A JP 2015504262 A JP2015504262 A JP 2015504262A JP 2014539913 A JP2014539913 A JP 2014539913A JP 2014539913 A JP2014539913 A JP 2014539913A JP 2015504262 A JP2015504262 A JP 2015504262A
Authority
JP
Japan
Prior art keywords
packet
application
transmission delay
delay tolerance
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014539913A
Other languages
English (en)
Other versions
JP5863217B2 (ja
Inventor
ウラジミール・コンドラティエフ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2015504262A publication Critical patent/JP2015504262A/ja
Application granted granted Critical
Publication of JP5863217B2 publication Critical patent/JP5863217B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

アプリケーション通信を管理するためのシステム、方法およびデバイスについて本明細書で説明する。いくつかの態様では、ワイヤレスデバイスは、複数のアプリケーションを実行し、通信ネットワークと通信するように構成される。ワイヤレスデバイスは、アプリケーションプログラミングインターフェースを介してアプリケーションから情報を受信するように構成されたプロセッサを含む。情報は、送信遅延耐性を示す。プロセッサは、アプリケーションプログラミングインターフェースを介してアプリケーションからパケットを受信するようにさらに構成される。ワイヤレスデバイスは、受信した送信遅延耐性に基づいてパケットをいつ送信すべきかを判断するように構成されたネットワークドライバをさらに含む。

Description

本出願は一般にワイヤレス通信に関し、より詳細には、アプリケーション通信を同期化するためのシステム、方法、およびデバイスに関する。
今日では、広範囲にわたるアドオンサービスおよび機能をワイヤレスデバイスに提供するように動作するアプリケーション(「アプリ」)またはデバイスアプレットが利用可能である。たとえば、今日では、ワイヤレスデバイスがデバイスアプレットをダウンロードし、起動して、買物、検索、位置特定、運転ナビゲーションなどの付加価値機能および一連の他の機能を実行することが可能である。ネットワークプロバイダおよびアプリケーションプロバイダは一般に、追加料金でこれらのデバイスアプレットをデバイスユーザに提供する。したがって、デバイスアプレットの使用はワイヤレスデバイスの機能性および有用性を高め、初めはデバイス自体上で利用可能でなかった機能および利便性をデバイスユーザに提供する。
ワイヤレスデバイスは、複数の無線のうちのいずれかを使用して、1つまたは複数の通信ネットワークとインターフェースをとる。たとえば、ワイヤレスデバイスは、セルラー、Wi-Fi、Bluetooth(登録商標)または他のタイプの無線アクセス技術を使用して通信を提供する様々な無線を含み得る。したがって、ワイヤレスデバイス上で実行されるアプリケーションは、アプリケーションが適切なネットワークと通信するために使用することになる無線および関連する無線チャネルを決定するデフォルトルーティングを備える。
しかしながら、アプリケーション通信をインテリジェントに管理することに対する関心が高まっている。これは、部分的には、複数無線デバイス(たとえば、3G/Wi-Fiデバイス)の数の増加と、オペレータにとっては容量の問題、ユーザにとっては電力消費の問題を引き起こし得るネットワークトラフィックの増加とによるものである。したがって、そのような容量および電力消費の問題に関して、一定の期間の間、通信を遅延させることが望ましい場合がある。
したがって、ワイヤレスデバイス上のアプリケーション向けの通信管理を提供する効率的で費用効果の高い機構が必要である。具体的には、通信の遅延した送信に関するポリシーを管理するシステムおよび方法が必要である。
本発明のシステム、方法およびデバイスはそれぞれいくつかの態様を有し、それらのうちの単一の態様が単独で、その望ましい属性を担うわけではない。以下の特許請求の範囲によって表される本発明の範囲を限定することなく、いくつかの特徴がここで簡単に論じられる。この議論を考慮した後で、また特に「発明を実施するための形態」と題するセクションを読んだ後で、本発明の特徴が、アプリケーション通信遅延耐性の管理を含む利点をどのようにして提供するのかが理解されよう。
本開示の一態様は、送信用のデータを集約する方法を提供する。方法は、アプリケーションプログラミングインターフェースを介してアプリケーションから情報を受信するステップを含む。情報は、送信遅延耐性を示す。方法は、アプリケーションプログラミングインターフェースを介してアプリケーションからパケットを受信するステップをさらに含む。方法は、受信した送信遅延耐性に基づいてパケットをいつ送信すべきかを判断するステップをさらに含む。
本開示の別の態様は、送信用のデータを集約するためのワイヤレスデバイスを提供する。ワイヤレスデバイスは、アプリケーションプログラミングインターフェースを介してアプリケーションから情報を受信するように構成されたプロセッサを含む。情報は、送信遅延耐性を示す。プロセッサは、アプリケーションプログラミングインターフェースを介してアプリケーションからパケットを受信するようにさらに構成される。ワイヤレスデバイスは、受信した送信遅延耐性に基づいてパケットをいつ送信すべきかを判断するように構成されたネットワークドライバをさらに含む。
本開示の別の態様は、送信用のデータを集約するためのワイヤレスデバイスを提供する。ワイヤレスデバイスは、アプリケーションプログラミングインターフェースを介してアプリケーションから情報を受信するための手段を含む。情報は、送信遅延耐性を示す。ワイヤレスデバイスは、アプリケーションプログラミングインターフェースを介してアプリケーションからパケットを受信するための手段をさらに含む。ワイヤレスデバイスは、受信した送信遅延耐性に基づいてパケットをいつ送信すべきかを判断するための手段をさらに含む。
本開示の別の態様は、実行されると、装置に送信用のデータを集約する方法を実行させる命令が符号化されている非一時的コンピュータ可読媒体を提供する。方法は、アプリケーションプログラミングインターフェースを介してアプリケーションから情報を受信するステップを含む。情報は、送信遅延耐性を示す。方法は、アプリケーションプログラミングインターフェースを介してアプリケーションからパケットを受信するステップをさらに含む。方法は、受信した送信遅延耐性に基づいてパケットをいつ送信すべきかを判断するステップをさらに含む。
本明細書で説明する上記の態様は、添付の図面と併せて、以下の発明を実施するための形態を参照することで、より容易に明らかになろう。
通信管理システムの態様を示す例示的なネットワーク環境を示す図である。 通信管理を提供するように構成された例示的なワイヤレスデバイスを示す図である。 通信管理を提供する例示的な方法のフローチャートである。 例示的なデバイスのアプリケーションネットワークアクティビティのグラフである。 アプリケーション通信を集約するように構成されたハードウェア/ソフトウェアシステムの例示的なブロック図である。 図5のハードウェア/ソフトウェアシステムによって実施されたアプリケーション通信集約の例示的なタイムラインを示す図である。 別の実施形態による、アプリケーション通信集約のタイムラインを示す図である。 アプリケーション通信を管理するように構成された例示的なデバイスを示す図である。 アプリケーション通信を管理する例示的な方法のフローチャートである。 アプリケーション通信を管理するように構成された別の例示的なデバイスを示す図である。
添付の図面を参照しながら、新規のシステム、装置および方法の様々な態様について以下でより十分に説明する。しかしながら、本教示の開示は、多くの異なる形態で具現化されてよく、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈すべきではない。むしろ、これらの態様は、本開示が徹底的で完全になり、本開示の範囲を当業者に十分に伝えるように与えられるものである。本明細書の教示に基づいて、本開示の範囲は、本発明の任意の他の態様とは無関係に実装されるか、本発明の任意の他の態様と組み合わせて実装されるかにかかわらず、本明細書で開示する新規のシステム、装置および方法のいかなる態様をも包含するものであることを、当業者は諒解されたい。たとえば、本明細書に記載の態様をいくつ使用しても、装置を実装することができ、または方法を実施することができる。さらに、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置またはそのような方法を包含するものとする。本明細書で開示するいずれの態様も、請求項の1つまたは複数の要素によって具現化され得ることを理解されたい。
特定の態様について本明細書で説明するが、これらの態様の多くの変形体および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点に言及するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるものとし、そのうちのいくつかが例として図および好ましい態様についての以下の説明で示される。発明を実施するための形態および図面は、限定的なものではなく本開示を説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびその等価物によって規定される。
本明細書で説明する技法は、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交FDMA(OFDMA)ネットワーク、シングルキャリアFDMA(SC-FDMA)ネットワークなどの様々なワイヤレス通信ネットワークに使用され得る。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。CDMAネットワークは、Universal Terrestrial Radio Access(UTRA)、CDMA2000などの無線技術を実装し得る。UTRAは、広帯域CDMA(WCDMA(登録商標))および低チップレート(LCR)を含む。CDMA2000は、IS-2000規格、IS-95規格およびIS-856規格をカバーする。TDMAネットワークは、Global System for Mobile Communications(GSM(登録商標))などの無線技術を実装し得る。OFDMAネットワークは、Evolved UTRA(E-UTRA)、IEEE 802.11、IEEE 802.15、IEEE 802.16、IEEE 802.20、Flash-OFDM(登録商標)などの無線技術を実装し得る。UTRA、E-UTRAおよびGSM(登録商標)は、Universal Mobile Telecommunication management system(UMTS)の一部である。ロングタームエボリューション(LTE)は、E-UTRAを使用するUMTSの来るべきリリースである。UTRA、E-UTRA、GSM(登録商標)、UMTSおよびLTEは、「3rd Generation Partnership Project」(3GPP)という名称の組織からの文書に記載されている。CDMA2000は、「3rd Generation Partnership Project 2」(3GPP2)という名称の組織からの文書に記載されている。これらの様々な無線技術および規格は、当技術分野で知られている。
図1は、通信管理システム108の態様を示す例示的なネットワーク環境100を示す。ネットワーク環境100は、ワイヤレスデバイス102、通信ネットワーク104、およびサーバ110を含む。デバイス102は、対応する無線/インターフェースチャネル106を使用してネットワーク104と通信するための複数の無線/インターフェース(図示せず)を含む。デバイス102は、たとえば特定のアプリケーションによって、複数の無線/インターフェースへのアクセスを制御するように動作する通信管理システム108も含む。
ワイヤレスデバイス102は、通信ネットワーク104を介してサーバ110と通信し得る。サーバ110は、通信チャネル112を介して通信ネットワーク104に接続する。通信チャネル112は、ワイヤードチャネルまたはワイヤレスチャネルのいずれかであり得る。
動作中、ワイヤレスデバイス102は、複数の無線/インターフェースのうちのいずれかを使用してネットワーク104とインターフェースをとることができるアプリケーションを実行する。たとえば、実行中のアプリケーションは、ソケットレイヤ呼出しなどのネットワーキング関数呼出しを発して、ネットワーク104との通信用のネットワークリソースを要求することができる。一実施形態では、通信管理システム108は、デフォルトルーティング構成に基づいてソケットレイヤ呼出しを処理して、所定の無線/インターフェースリソースをアプリケーションにバインドし得る。
アプリケーションは、データの1つまたは複数のパケットを、たとえば、通信チャネル112を介して、サーバ110に送信し得る。一実施形態では、アプリケーションは、送信されたパケットに送信遅延耐性パラメータを含み得る。送信遅延耐性パラメータは、たとえば、各パケットのヘッダに含まれ得る。送信遅延耐性パラメータは、アプリケーション通信の許容可能な遅延を示し得る。たとえば、ソーシャルメディアアプリケーションなどの、更新のために時々サーバ110にアクセスするアプリケーションは、比較的遅延耐性であり得る。一方、ビデオチャットまたはウェブブラウジングアプリケーションなどの対話型アプリケーションは、比較的遅延非耐性であり得る。
様々な実施形態では、送信遅延耐性パラメータは、たとえば、分、秒、ミリ秒、マイクロ秒、シンボル、クロックチック、フレーム周期などのいくつかの時間単位で区分された許容可能な遅延を示し得る。一実施形態では、送信遅延耐性パラメータは、相対的な優先度値(たとえば、高、中、または低)として区分された許容可能な遅延を示し得る。一実施形態では、送信遅延耐性パラメータは、一度に遅延し得るパケットの最大許容数を示し得る。様々な実施形態では、送信遅延耐性パラメータは、単一のアプリケーションからの、またはすべてのアプリケーショントラフィックの集合体としての遅延したパケットの最大許容数を示し得る。
アプリケーションは、ユーザ選好、アプリケーションがフォアグラウンドで動作しているかバックグラウンドで動作しているか、または時刻を含むいくつかの要因に基づいて、パケットに対する送信遅延耐性を生成することができる。アプリケーションは、たとえば、FINパケットまたはコンテンツパケットなどの異なるタイプのパケットに対して異なるように送信遅延耐性を設定することができる。送信遅延耐性は、各パケットに対して個別に設定することができ、またはアプリケーションプログラミングインターフェース(API)を使用してアプリケーションによって設定して、特定のタイプの将来生成されるパケットに関するカーネルメタデータを定義することができる。
様々な実装形態では、通信管理システム108は、アプリケーションからパケットをインターセプトするように動作する。たとえば、通信管理システム108は、アプリケーションプログラミングインターフェース(API)を介してアプリケーションからパケットを受信し得る。通信管理システム108は、インターセプトされた各パケット内の送信遅延耐性パラメータに従ってアプリケーションの通信を変更し得る。本明細書で使用する場合、通信の変更は、限定はしないが、通信を遅延させることまたはさもなければ通信に影響を与えることを含むことができる。
通信管理システム108が遅延耐性パラメータに従って通信を遅延させる実施形態では、通信管理システム108は、電力を節約するために1つまたは複数の無線/インターフェースを無効にし得る。遅延の後、通信管理システム108は、1つまたは複数の無効にされた無線/インターフェースを起動し得る。次いで、通信管理システム108は、アプリケーションをネットワークリソース(すなわち、選択された無線/インターフェース)にバインドし得る。通信管理システム108のより詳細な説明は、以下で与えられる。
図2は、通信管理を提供するように構成された例示的なワイヤレスデバイス200を示す。デバイス200は、プロセッサ202、メモリ204、およびTX/RX無線212を含み、すべてが通信バス214を使用して通信するように結合されている。ワイヤレスデバイス200は、図1に関して上記で説明したワイヤレスデバイス102であり得る。デバイス200は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
一態様では、プロセッサ202は、アプリケーションレイヤモジュール206、接続エンジン208、およびネットワーキングモジュール210を含む。プロセッサ202は、CPU、マイクロプロセッサ、ゲートアレイ、ハードウェア論理、メモリ要素、および/またはハードウェア実行ソフトウェア(図示せず)のうちの少なくとも1つも含み得る。プロセッサ202は、デバイス200上で実行されるアプリケーションの通信が選択的に変更され得る、影響され得る、遅延し得るおよび/または所望の無線にバインドされ得るように、デバイス200の動作を制御するように構成される。一実装形態では、プロセッサ202は、複数の機能のうちのいずれかを実行することに関連するコンピュータ可読命令を実行するように構成される。たとえば、プロセッサ202は、デバイス200から受信または通信された情報を解析して、通信管理を実施するように動作する。別の態様では、プロセッサ202は、メモリ204、アプリケーションレイヤモジュール206、TX/RX無線212、および/または接続エンジン208によって利用され得る情報を生成して、通信管理を実施するように動作する。
TX/RX無線212は、複数の無線チャネル216を使用してデバイス200を外部通信ネットワーク104(図1)などの複数の外部エンティティとインターフェースするために使用され得る複数の無線/インターフェースを提供するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。無線チャネル216は、たとえば、図1に関して上記で説明した無線チャネル106であり得る。TX/RX無線212は、無線/インターフェースを提供して、セルラー、Wi-Fi、Bluetooth(登録商標)、または任意の他の技術を使用して、無線チャネル216を使用する通信ネットワークと通信し得る。TX/RX無線212の無線/インターフェースは、たとえば送信されるデータがないときに電力を節約するために、選択的に有効および無効にされ得る。
アプリケーションレイヤモジュール206は、デバイス200上で1つまたは複数のアプリケーションを実行し、アプリケーションをメモリ204に記憶するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。一実装形態では、アプリケーションレイヤモジュール206は、アプリケーションがネットワーキングモジュール210に対してネットワーキング関数呼出しを開始して、ネットワーキングサービスを要求するのを可能にするように構成される。ネットワーキング関数呼出しは、無線チャネル216を介して外部ネットワークまたはシステムと通信するためのTX/RX無線212における無線/インターフェースへの接続要求を含み得る。
ネットワーキングモジュール210は、ネットワーキング関数を実行するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。一実装形態では、ネットワーキング関数は、connect()、Bind()、write()、およびSetsockopt()などの関数を含む。connect()関数は、アプリケーションと特定の無線/インターフェースとの間の接続を確立するように動作する。write()関数は、接続を介してデータを送信するように動作する。たとえば、特定の無線/インターフェースは、TX/RX無線212によって提供される複数の候補無線から選択され得る。一実施形態では、Setsockopt()関数は、遅延耐性パラメータを設定するために使用され得る。一態様では、ネットワーキングモジュール210は、様々なネットワーキング関数またはコマンドを実行するように構成される。一態様では、ネットワーキングモジュール210は、たとえば、遅延耐性パラメータに基づいて、一定の関数が進行することができるようにしてもよく、他の関数が進行することができないようにしてもよい。
接続エンジン208は、システムリソースを評価して、アプリケーションからの通信を管理するように構成されたハードウェアおよび/またはプロセッサ実行ソフトウェアを含む。様々な実装形態では、接続エンジン208は、アプリケーション通信をインターセプトし、選択的に通信を変更し、通信に影響を与え、および/もしくは通信を遅延させ、ならびに/あるいは以下の選択基準のうちの1つまたは複数に基づいて特定の無線を選択するように構成される。
1.ユーザポリシー-デバイスで実行されているアプリケーションによる無線アクセスに関してデバイスユーザによって設定されるポリシー。
2.事業者ポリシー-デバイスまたはアプリケーションによるネットワークアクセスに関してネットワーク事業者によって設定されるポリシー。
3.無線メトリック-特定のアプリケーションまたは動作環境にとって最も好ましい無線を選択するために使用される無線性能の測定値または他のタイプの測定値。
4.アプリケーション要件-帯域幅要件または遅延/性能要件などの要求アプリケーションに関連する要件。アプリケーション要件は、たとえば、遅延耐性パラメータを含み得る。
5.ネットワークの有用性-特定の無線インターフェース上の特定のネットワークのアベイラビリティに関する情報。
6.ベンダー供給メトリック-受信信号強度表示(Receive Signal Strength Indication)およびパケットロスレート(Packet Loss Rate)などの無線メトリックから特定の無線インターフェースで利用可能なスループットおよび遅延に変換するための情報。
7.アクセスポイントのアベイラビリティ-他のデバイスまたは無線リンクを構成し得るがパケットをネットワークに転送しないデバイスからのトラフィックによって輻輳されたアクセスポイントに対する一意の識別子を特定する情報。
プロセッサ202は、TX/RX無線212を介して上記の選択基準のうちの1つまたは複数をダウンロードし得る。選択基準は、メモリ204に記憶され得る。たとえば、プロセッサ202は、事業者ポリシーを取り出すことができ、接続エンジン208は事業者ポリシーを適用することができる。事業者ポリシーは、ワイヤレスデバイス200上のアプリケーションによるネットワークアクセスを規制する複数のルールを含み得る。
メモリ204は、RAM、ROM、EEPROMあるいはアプリケーションおよび/または選択基準がデバイス200で記憶され、取り出されることを可能にするように動作する任意の他のタイプのメモリデバイスを含む。一実装形態では、メモリ204は、プロセッサ202によって実行されるコンピュータ可読命令を記憶するように構成される。メモリ204は、プロセッサ202、TX/RX無線212、アプリケーションレイヤモジュール206、ネットワーキングモジュール210、および/または接続エンジン208のいずれかによって生成されたデータを含む複数の他のタイプのデータのいずれかを記憶するようにも構成され得る。メモリ204は、ランダムアクセスメモリ、バッテリバックアップ付きメモリ、ハードディスク、磁気テープとしてなどを含む、いくつかの異なる構成で構成され得る。また、圧縮および自動バックアップなどの様々な機能は、メモリ204上で実施され得る。
メモリ204は、プリロードライブラリ218およびネットワーキングライブラリ220を記憶するように構成される。プリロードライブラリ218は、アプリケーションからソケット呼出しをインターセプトする。ネットワーキングライブラリ220は、ソケットを作成および接続してネットワーク通信を確立するために、アプリケーションによって使用されるネットワーキングAPIを提供する。
接続エンジン208は、様々な方法で選択的にアプリケーション通信を変更し、アプリケーション通信に影響を与え、および/またはアプリケーション通信を遅延させるように構成される。たとえば、接続エンジン208は、上記の選択基準のうちの1つまたは複数を使用して通信を遅延させるように構成され得る。たとえば、接続エンジン208は、遅延耐性パラメータに基づいて、遅延耐性アプリケーションからの通信のみを遅延させることができる。
一実施形態では、接続エンジン208は、ワイヤレスデバイス200がアイドル状態かどうかに基づいて、通信を遅延させることができる。一実施形態では、接続エンジン208は、ワイヤレスデバイス200がアクティブ状態に入るまで、遅延耐性アプリケーションの通信を遅延させる。別の実施形態では、接続エンジン208は、遅延非耐性アプリケーションが通信を開始するまで、遅延耐性アプリケーションの通信を遅延させる。
接続エンジン208は、様々な方法で複数の候補無線から無線を選択するようにも構成され得る。たとえば、接続エンジン208は、上記の選択基準のうちの1つまたは複数を使用して無線を選択するように構成され得る。一実施形態では、接続エンジン208は、たとえば、アプリケーション通信が遅延しているときに電力を節約するために、1つまたは複数の無線を選択的に有効/無効にすることができる。アプリケーション通信が遅延していないとき、接続エンジン208は、アプリケーションをその無線を表すインターフェースにバインドする。たとえば、一実装形態では、接続エンジン208は、元のネットワーキングライブラリ220に呼び出すことによってアプリケーションを無線のインターフェースにバインドする。したがって、接続エンジン208およびプリロードライブラリ218における関数は、ネットワーキングライブラリ220内のbind()関数などの関数に容易にアクセスして、アプリケーション用に選択された無線にバインドすることができる。
様々な実装形態では、通信管理システムは、コンピュータ可読媒体上で記憶または具現化される1つまたは複数のプログラム命令(「命令」)もしくは「コード」のセットを有するコンピュータプログラム製品を含む。コードが少なくとも1つのプロセッサ、たとえば、プロセッサ202によって実行されるとき、その実行により、プロセッサ202はデバイス200を制御して、本明細書で説明するインテリジェントインターフェース選択システムの機能を提供する。たとえば、コンピュータ可読媒体は、フレキシブルディスク、CDROM、メモリカード、FLASHメモリデバイス、RAM、ROM、またはデバイス200にインターフェースする任意の他のタイプのメモリデバイスもしくはコンピュータ可読媒体を含む。別の態様では、コードのセットは、外部デバイスまたは通信ネットワークリソースからデバイス200にダウンロードされ得る。コードのセットは、実行されると、本明細書で説明するインテリジェントインターフェース選択システムの態様を提供するように動作する。
図3は、通信管理を提供する例示的な方法のフローチャート300を示す。分かりやすくするために、図2に示すデバイス200を参照しながらフローチャート300について以下で説明する。ただし、当業者は、任意の適切なデバイスを用いて図示する方法を実施することができることを諒解されよう。一実装形態では、プロセッサ202は、デバイス200の機能要素を制御するための1つまたは複数のコードのセットを実行して、以下で説明する機能を実行する。
ブロック302において、プロセッサ202はアプリケーションを起動する。アプリケーションは、アプリケーションレイヤモジュール206の一部であるレガシーまたは非レガシーアプリケーションであり得る。たとえば、アプリケーションは、ネットワーキング関数呼出しを生成して、TX/RX無線212で利用可能な無線を使用してワイヤレスネットワークに接続するネットワークブラウザであり得る。
ブロック304において、プロセッサ202は、プリロードライブラリを構成し、ロードする。たとえば、プリロードライブラリ218は、通信ネットワークを評価するためにアプリケーションによって使用される、ネットワーキングライブラリ220内に提供されるネットワーキング関数のサブセットを含む。プリロードライブラリ218内のネットワーキング関数は、デバイスで実行されているアプリケーションからネットワーキング関数呼出しをインターセプトするように構成される。たとえば、プリロードライブラリ218は、デバイス200で実行されているアプリケーションによってソケット呼出しをインターセプトするために使用され得るPOSIXソケット関数を含む。一実装形態では、プリロードライブラリ218はメモリ204に記憶される。
一実装形態では、プリロードライブラリ218関数は、呼出しアプリケーションから渡された引数を受信し、これらの引数を使用して、アプリケーションの目的に最も適した無線を選択するための要求を接続エンジン208に対して生成するように構成される。
ブロック306において、プロセッサ202は、プリロードライブラリを実行環境にリンクする。たとえば、プロセッサ202は、ネットワーキングライブラリ220よりも高い優先度でプリロードライブラリ218を実行環境にリンクする。したがって、アプリケーションによるネットワーキング関数呼出しは、プリロードライブラリ218内の関数によってインターセプトおよび処理され、ネットワーキングライブラリ220内の類似の関数によって処理されない。
ブロック308において、プロセッサ202は、アプリケーションからパケットを受信する。プロセッサ202は、アプリケーションから送信遅延耐性も受信し得る。一実施形態では、アプリケーションは、APIを介して、たとえば、ネットワーキング関数呼出しを使用して、パケットの送信を開始し得る。ネットワーキング関数呼出しは、connect()関数またはwrite()関数などのPOSIXソケット関数呼出しであり得る。一実施形態では、アプリケーションは、送信遅延耐性を設定することによってパケットの遅延耐性を示し得る。一実施形態では、アプリケーションは、たとえば、setsockopt()関数呼出しを使用して、送信遅延耐性を設定し得る。
一実施形態では、アプリケーションは、ユーザ選好に基づいて、パケットに対する送信遅延耐性を生成し得る。たとえば、定期的な更新を受信するアプリケーションは、ユーザが更新間の最小時間および最大時間を決定するのを可能にし得る。別の実施形態では、アプリケーションは、アプリケーションがフォアグラウンドで実行しているかバックグラウンドで実行しているかに基づいて、パケットに対する送信遅延耐性を生成し得る。たとえば、アプリケーションは、フォアグラウンドで動作しているときはより低い遅延耐性、バックグラウンドで動作しているときはより高い遅延耐性を割り当て得る。別の実施形態では、アプリケーションは、時刻に基づいて、パケットに対する送信遅延耐性を生成し得る。たとえば、アプリケーションは、真夜中に送信されるパケットにより高い遅延耐性を割り当て得る。
いくつかの実施形態では、アプリケーションは、異なるタイプのパケットに対して異なるように送信遅延耐性を設定することができる。たとえば、ウェブブラウジングアプリケーションは、FINパケットに対しては比較的高い送信遅延耐性、コンテンツパケットに対しては比較的低い送信遅延耐性を設定し得る。したがって、FINパケットは、コンテンツパケットがその遅延耐性に達するまで、遅延し得る。様々な実施形態では、異なる送信遅延耐性を、SYNパケット、FINパケット、およびデータパケットを含む異なるパケットタイプに割り当てることができる。
一実施形態では、アプリケーションは、各パケットに対して個別に送信遅延耐性を設定し得る。別の実施形態では、アプリケーションは、アプリケーションプログラミングインターフェース(API)を介して遅延ポリシーを提供して、特定のタイプの将来生成されるパケットに関するカーネルメタデータを定義し得る。遅延ポリシーは1つまたは複数のルールを含むことができ、そのルールに基づいてネットワークスタックが遅延耐性を割り当て得る。たとえば、アプリケーションは、ネットワークスタックが特定の遅延耐性をすべてのFINパケットに割り当てるべきルールを提供し得る。ルールは、ソースアプリケーション、宛先ホスト名、宛先ホストアドレス、ソースポート番号および宛先ポート番号、環境変数などを含む基準を含むことができる。
アプリケーションは、ネットワーキング関数呼出しを生成して、外部ネットワークとの通信を可能にするための無線に接続する。ネットワーキングライブラリ220よりも高い優先度でプリロードライブラリ218を実行環境にリンクすることにより、プロセッサ202は、プリロードライブラリ218内の関数によってネットワーキング関数呼出しをインターセプト(または処理)する。一実施形態では、プロセッサ202は、アプリケーション遅延パラメータに従ってネットワーキング関数呼出しを遅延させることができる。たとえば、図9に関して、さらなる詳細について本明細書で説明する。
ブロック310において、プリロードライブラリ218内の呼び出された関数は、接続エンジン208に対して、アプリケーションが使用する適切な無線を選択するための選択要求を生成する。要求は、アプリケーションが使用する適切な無線を選択するために接続エンジン208によって使用される選択基準の一部である任意の情報を含む。別の実施形態では、プリロードライブラリ218内の呼び出された関数は、接続エンジン208に対して、通信を遅延させるべきかどうかを判断するための選択要求を生成する。
ブロック312において、選択基準が評価される。一実装形態では、接続エンジン208は、上記で説明した選択基準を評価するように動作する。たとえば、接続エンジン208は、プロセッサ202と通信して、選択基準の一部である事業者ポリシーを評価し得る。
ブロック314において、接続エンジン208は、選択基準の評価に基づいて無線を選択する。たとえば、接続エンジン208は、選択基準に最も一致する無線を選択するように動作する。
ブロック316において、接続エンジン208は、アプリケーション用に選択された無線のインターフェースにバインドする。たとえば、一実装形態では、接続エンジン208は、ネットワーキングライブラリ220のbind()関数を呼び出して、アプリケーション用に選択された無線にバインドする。たとえば、接続エンジン208は、ネットワーキングライブラリ220と、プリロードライブラリ218によってインターセプトされることなく、その関数にどのように直接アクセスするかとに気づいている。一実施形態では、接続エンジン208は、アプリケーションを無線にバインドする前またはバインドした後に通信を遅延させる。一実施形態では、無線をバインドすることは、アプリケーション通信を遅延させた後に、無効にされた無線を有効にするまたは電源切断された無線を起動することを含み得る。
ブロック318において、アプリケーションは次いで、ネットワーク通信用に選択された無線を利用する。
随意の動作では、方法はブロック312に進み、ここで、接続エンジン208は選択基準の定期的な評価を実行して、現在の無線が選択基準に最も一致しているかどうかを判断するように動作する。選択基準の別の評価の後に、現在の無線以外の無線が選択基準に最も一致すると接続エンジン208が判断した場合、接続エンジン208は、接続を再起動して新しい接続のために異なる無線を選択するようにアプリケーションをトリガする手段として、接続を破棄し得る。したがって、随意の動作により、選択基準を定期的に評価して、所望の通信を実施するために最も適切な無線が選択されることを保証することができる。
したがって、フローチャート300は、レガシーおよび非レガシーアプリケーションとともに使用するための通信管理を提供する。フローチャート300は一実装形態にすぎず、フローチャート300の動作は、他の実装形態が可能であるように並べ替えられ、または場合によっては変更され得ることに留意されたい。
ワイヤレスデバイスアプリケーションのためのアプリケーション遅延管理
スマートフォン、携帯情報端末などのワイヤレスデバイスでは、ソフトウェアアプリケーションはバックグラウンドで動作することができ、数分ごとにネットワークアクティビティを開始することができる。たとえば、メーラーアプリケーションは、ネットワークドライバにモデムをウェイクアップさせて、3分ごとに情報を送信することができる。金融トラッカー(financial tracker)アプリケーションは、ネットワークドライバにモデムをウェイクアップさせて、2分ごとに情報を送信することができる。異なる周期(および相対的な位相)により、モデムは2分ごとよりも高い頻度でウェイクし、電力を浪費する。ソーシャルネットワーキングアプリケーション、電子メール、または他の通信アプリケーション、データフィードなどのアプリケーション(普及している例としては、Facebook、Gmail、Market、Twitterなどがある)は、異なる周期でデータを送受信し得る。
図4は、例示的なデバイスのアプリケーションネットワークアクティビティのグラフ400を示す。グラフ400のx軸は時間を示し、y軸は各時間における転送されたデータ量をバイト単位で示す。グラフ400は、デバイスがアイドルモードである約2時間の期間中のネットワークアクティビティを示す。一実施形態では、ユーザがデバイスと対話しないおよび/またはディスプレイがオフであるとき、デバイスはアイドルモードである。デバイスはアイドルモードであるが、動作を継続するアプリケーションは、アクティビティ中にスパイク、たとえば、第1のアプリケーションスパイク410a〜iを引き起こす。そのようなアプリケーションは、「バックグラウンド」アプリケーションと呼ぶことができる。これらのアプリケーションによるアクティビティは、無線212内の無線などの通信リソースを利用し得る。
第1のアプリケーションスパイク410a〜iなどのネットワークアクティビティスパイクにより、ワイヤレスデバイスはアイドルモードから接続モードに移行し得る。接続モードでは、デバイスは無線を起動することができ、シグナリングトラフィックを生成することができ、アイドルモードのときよりも多い電力量を消費し得る。場合によっては、スパイクは、ワイヤレスデバイスが接続モードからアイドルモードまたは不連続受信(DRX)モードなどの代替の接続モードに移行するのを阻止し得る。ユーザが積極的にデバイスに関与していないときのアプリケーションによるそのような高いレベルの無線アクティビティは、バッテリ寿命の短縮、無線ネットワークの負荷増加、または他の望ましくない影響をもたらすことがある。さらに、異なるアプリケーションは異なる時間にトラフィックを生成することがあり、潜在的に、無線が起動する回数を増加させるか、または無線が起動した状態である時間を増加させる。たとえば、第2のアプリケーションスパイク420a〜eは、第1のアプリケーションスパイク410a〜iと同時に生じない。
本明細書で開示する技法および構造を使用して、デバイスはソフトウェアレイヤ(「ラッパー」とも呼ばれる)を使用することができ、ソフトウェアレイヤは、バックグラウンドアプリケーションからデータをキャプチャしたり、無線リソースをアクティブにし、アプリケーションデータを転送し、同期方式でタスクを実行することができる所望の時点までデータを保持したりするためのアプリケーションプログラムインターフェース(API)を提供する。そのようなタスク/データ要求を集約することによって、ワイヤレスデバイスを頻繁にウェイクすることを低減することができ、ユーザが積極的にデバイスに関与していない期間中に、他の通信リソースを節約することができる。
図5は、アプリケーション通信を集約するように構成されたハードウェア/ソフトウェアシステム500の例示的なブロック図を示す。図示のように、ソフトウェア構成要素はアプリケーションプロセッサ550とモデムプロセッサ560との間で分割されるが、様々な機能は図5の例とは異なるように編成され得る。たとえば、ソフトウェアとして説明する機能をハードウェアで実施することができ、その逆も同様であり、機能は構成要素間で異なるように分散され得る、などである。一実施形態では、ハードウェア/ソフトウェアシステム500は、図1に関して上記で説明した通信管理システム108であり得る。別の実施形態では、ハードウェア/ソフトウェアシステム500は、図2に関して上記で説明したワイヤレスデバイス200上に実装され得る。たとえば、アプリケーションプロセッサ550の機能は、プロセッサ202、アプリケーションレイヤモジュール206、および/または接続エンジン208のうちの1つまたは複数によって実施され得る。モデムプロセッサ560の機能は、TX/RX無線212、ネットワーキングモジュール210、および/または接続エンジン208のうちの1つまたは複数によって実施され得る。
図示の実施形態では、アプリケーション502は、アプリケーション接続エンジン508およびハイレベルオペレーティングシステム(HLOS)506と対話する。HLOS506は、たとえば、カリフォルニア州マウンテンビューのGoogle Inc.によって製造されたAndroidオペレーティングシステムであり得る。アプリケーション接続エンジン508は、モデム接続エンジン510と通信し得る。モデム接続エンジンは、無線212およびその中の無線などの通信リソースを管理し得る。ラッパー504は、アプリケーション502とHLOS506との間のデータをキャプチャすることが可能である。ラッパー504は、ユーザ非アクティビティの期間中にアプリケーション502からのデータを集約し、操作/送信のためにデータをHLOS506に、最終的には無線212に開放する前に、決定された時点までデータを保持することができる。ラッパー504はアプリケーション502には見えなくてもよく、その結果として、アプリケーション502は、そのデータ/要求が保持/集約されていることに気づかない。一実施形態では、ラッパー504はHLOS506の機能をエミュレートし得る。ラッパー504は別個の構成要素であってもよく、またはアプリケーション接続エンジン508などの別の構成要素に組み込まれてもよい。たとえば、ラッパー504は、図2に関して上記で説明したように、接続エンジン208によって実施され得る。
図6は、図5のハードウェア/ソフトウェアシステム500によって実施されたアプリケーション通信集約の例示的なタイムライン600を示す。図示のように、アプリケーションAPP1〜4は各々、集約期間610中に、無線リソースを使用するための要求を連続して開始する。一実施形態では、アプリケーション通信は、集約期間610中に遅延し得る。一実施形態では、集約期間610は、デバイス200および/またはTX/RX無線212がアイドルモードである期間を含むことができる。アプリケーションAPP1〜4は、遅延耐性アプリケーションであり得る。遅延耐性アプリケーションは、たとえば、電子メールまたはバルクファイル転送などの、比較的時間の影響を受けやすいデータを搬送し得る。
図示の実施形態では、アプリケーションAPP1は、第1の送信遅延耐性を含み得るパケットを送信する。次いで、アプリケーションAPP2は、第2の送信遅延耐性を含み得るパケットを送信する。次に、アプリケーションAPP3は、第3の送信遅延耐性を含み得るパケットを送信する。最後に、アプリケーションAPP4は、第4の送信遅延耐性を含み得るパケットを送信する。ラッパー504は、(たとえば、connect()およびwrite()ソケット呼出しなどのAPI呼出しを介して)パケットを受信する。直ちにソケット呼出しに作用する代わりに、ラッパー504は、集約期間610中に通信を遅延させる。決定された時点で、ラッパー504は、集約されたパケット620としてソケット呼出しを一緒に開放する。
一実施形態では、ラッパー504は、送信ウィンドウ630中に、集約されたパケット620を開放することができる。様々な実施形態では、送信ウィンドウ630は、デバイス200がアイドルモードである期間を含むことができ、デバイス200がアクティブモードである期間を含むことができる。送信ウィンドウ630中に、(たとえばTX/RX無線212などの)1つまたは複数の無線インターフェースを有効にするまたは起動することができる。ラッパー504は、集約されたパケット620をAPP1〜4から開放することができる。また、ラッパー504は、送信ウィンドウ630中に行われたアプリケーション通信要求が遅延なしで進行することを可能にし得る。言い換えれば、送信ウィンドウ630中に、ラッパー504はさらに通信を遅延させることができない。たとえば、図示の実施形態では、APP5は、送信ウィンドウ630中に、第5の送信遅延耐性を含み得るパケットを送信する。ラッパー504は、APP5から受信したパケットが遅延なしで進行することを可能にする。
一実施形態では、ラッパー504は、一定の間隔でまたは断続的な間隔で送信ウィンドウ630を開くことができる。たとえば、ラッパー504は、5分に1回、10分に1回、15分に1回、30分に1回、60分に1回など、送信ウィンドウ630を開くことができる。別の例では、ラッパー504は、遅延したアプリケーション通信をランダム時間または擬似ランダム時間に開放することができる。ラッパー504が送信ウィンドウ630を開く間隔は、デバイス200によって決定されるか、またはサーバ110(図1)などの別のデバイスから受信され得る。
一実施形態では、ラッパー504は、集約されたパケット620に基づいて、いつ送信ウィンドウ630を開くかを動的に判断することができる。たとえば、ラッパー504は、集約されたパケット620のうちのいずれかがその送信遅延耐性に等しい遅延を体験したときに送信ウィンドウを開くことができる。言い換えれば、単一の遅延したパケットがしきい値遅延(たとえば、送信遅延耐性)に達すると、すべての遅延したパケットが開放され得る。別の例として、ラッパー504は、集約されたパケット620の数がしきい値を超えたときに送信ウィンドウ630を開くことができる。しきい値は、デバイス200によって決定されるか、またはサーバ110などの別のデバイスから受信され得る。
ラッパー504は、所定の期間または動的な期間の間、送信ウィンドウ630を開けたままにしておくことができる。たとえば、ラッパー504は、送信ウィンドウ630が開いた後、15秒間、30秒間、1分間、5分間など、送信ウィンドウ630を開けたままにしてもよい。別の例として、ラッパー504は、最後のアプリケーション通信が送信された後、15秒間、30秒間、1分間、5分間など、送信ウィンドウ630を開けたままにしてもよい。ラッパー504が送信ウィンドウ630を開けたままにしておく時間は、デバイス200によって決定されるか、またはサーバ110などの別のデバイスから受信され得る。送信ウィンドウ630が閉じられると、(たとえばTX/RX無線212などの)1つまたは複数の無線インターフェースは無効にされるか、または電源切断され得る。
一実施形態では、ラッパー504は、すべての集約されたパケット620が送信された後、送信ウィンドウ630を閉じることができる。別の実施形態では、ラッパー504は、しきい値よりも長く遅延していたすべての集約されたパケット620が送信された後、送信ウィンドウ630を閉じることができる。各パケットのしきい値は、送信遅延耐性であり得る。様々な実施形態では、各パケットのしきい値遅延値は、安全係数によって変更された、そのパケットの送信遅延耐性とすることができる。たとえば、各パケットのしきい値遅延値は、定数で除算した、または定数を引いた、そのパケットの送信遅延耐性とすることができる。
一実施形態では、ラッパー504は、遅延非耐性アプリケーションが通信を開始したときに送信ウィンドウ630を開いてもよい。たとえば、APP5は、遅延非耐性アプリケーションであり得る。したがって、ラッパー504は、パケットがAPP5から受信されたときに送信ウィンドウ630を開いてもよい。ラッパー504は、APP5からのパケットが進行するのを可能にすることができ、また、集約されたパケット620をAPP1〜4から開放することができる。
図7は、別の実施形態による、アプリケーション通信集約のタイムライン700を示す。図示のように、アプリケーションAPP1〜2は各々、無線リソースを使用するための要求を連続して開始する。アプリケーションAPP1〜2は、接続エンジンAPIを介して、その遅延耐性を示し得る。たとえば、アプリケーションAPP1〜2は、バックグラウンドアクティビティおよび/または特定の遅延のみに耐性がある動作の要件を含み得る。たとえば、アプリケーションAPP1〜2は、デバイス200のロケーションを、10秒ごとなど、定期的に報告するロケーショントラッキングアプリケーションであり得る。
図示のように、アプリケーションAPP1は通信要求を開始し、アプリケーションAPP1がX秒の遅延のみに耐えることをラッパー504に示す。次に、アプリケーションAPP2は通信要求を開始し、アプリケーションAPP2がY秒の遅延のみに耐えることをラッパー504に示す。ラッパー504は、通信が許容されることをアプリケーションに示し得るコールバック関数(たとえば、API.Go)を提供し得る。コールバックを受信した後、アプリケーションは通信を続行し得る。
図示のように、ラッパー504は、X秒の遅延が経過する前に、API.GoコールバックをアプリケーションAPP1に提供する。次いで、アプリケーションAPP1は、さらなる遅延なしに、ラッパー504を介して通信する。同様に、ラッパー504は、Y秒の遅延が経過する前に、API.GoコールバックをアプリケーションAPP2に提供する。次いで、アプリケーションAPP2は、さらなる遅延なしに、ラッパー504を介して通信する。
代替実施形態では、アプリケーションは、APIを介してラッパー504に特定の送信デットラインを与え得る。ラッパー504は、与えられたデッドラインの制約内で、アプリケーションからの通信を透過的に遅延させることができる。したがって、ラッパー504は、あらゆるデッドラインの前にアプリケーション通信を進行させることを可能にする。
さらに別の態様では、APIは、アプリケーションが遅延非耐性アプリケーションとして登録することも可能にし得る。即時アクセスを要求し得るアプリケーションは、チャイルドトラッキング(child tracking)アプリケーション、緊急事態通知アプリケーションなどを含む。一実施形態では、ラッパー504は、アプリケーション通信を監視することによって、様々なアプリケーションの遅延耐性を学習し得る。別の実施形態では、ラッパー504は、デバイス102上にローカルに記憶されたまたはサーバ110から受信されたリストまたはデータベースから、送信遅延耐性のリストを受信し得る。リストまたはデータベースは、事業者ポリシーなどの通信アクセスポリシーとともに受信され得る。
ラッパー504は、ユーザ中断(user disruption)を低減する方法で、アプリケーション通信を集約するまたは遅延させることができる。ラッパー504は、様々な要因を解析して、いつアプリケーション通信を集約するまたは遅延させるかを判断し得る。たとえば、ラッパー504は、ディスプレイ状態(オンまたはオフ)、オーディオ状態(オンまたはオフ)などのワイヤレスデバイス102の特性に基づいて、アプリケーション通信を遅延させることができる。ラッパー504は、遅延に耐性があるものとして知られているアプリケーション通信のみを遅延させることができる。ラッパー504は、無線がロードされていないとき、さもなければワイヤレスデバイスが使用されていない(たとえば、電話呼、オーディオストリーミングなどがない)ときにアプリケーション通信を遅延させることができる。当業者は、ラッパー504が、他の適切な要因に加えて、上記の要因の任意の組合せに基づいて、いつアプリケーション通信を遅延させるかを判断し得ることを諒解されよう。
さらに、ラッパー504は、様々な要因を解析して、いつ遅延したまたは集約された通信を開放し、無制限のアプリケーション通信を許可するかを判断し得る。たとえば、(たとえば、緊急事態通知アプリケーションなどの)遅延非耐性アプリケーションは、無制限のアプリケーション通信を開始し得る。無制限のアプリケーション通信は、ラッパー504をトリガして、以前に遅延したまたは集約されたアプリケーション通信を開放することができる。したがって、以前に遅延したアプリケーション通信は、緊急事態アプリケーションとともに無線リソースを使用し得る。言い換えれば、ラッパー504は、遅延非耐性アプリケーション通信が開始されたときに、すべてのアプリケーションに対して送信ウィンドウを開くことができる。
一実施形態では、ラッパー504は、特定の無線がアクティブにされるか、またはデフォルトとして選択されたときに、遅延したまたは集約されたアプリケーション通信を開放することができる。特定の無線は、たとえば、Wi-Fi無線、セルラー無線、特定のモードのセルラー無線(たとえば、2Gまたは3G通信モード)、Bluetooth(登録商標)無線などを含み得る。たとえば、ラッパー504は、セルラー無線のみが有効であるときにアプリケーション通信を遅延させることができ、Wi-Fi無線が有効であるときに遅延したアプリケーション通信を開放することができる。
別の実施形態では、ラッパー504は、無線チャネル品質がしきい値を上回るときに遅延したまたは集約されたアプリケーション通信を開放することができる。無線チャネル品質は、信号強度、信号対雑音比(SNR)などのメトリックを含み得る。たとえば、ラッパー504は、セルラー無線のSNRがしきい値を下回るときにアプリケーション通信を遅延させることができ、セルラー無線のSNRがしきい値まで上昇したときまたはしきい値を上回るときに遅延したアプリケーション通信を開放することができる。
一実施形態では、ラッパー504は、ユーザ対話が受信されたときに、遅延したまたは集約されたアプリケーション通信を開放する。たとえば、ラッパー504は、ディスプレイがアクティブにされたとき、ボタン押下が検出されたときなどに、遅延したアプリケーション通信を開放することができる。別の実施形態では、ワイヤレスデバイス102は、ユーザ対話を予期し得る。たとえば、ワイヤレスデバイス102は、ワイヤレスデバイス102の動きを検出し得る加速度計を含み得る。ラッパー504は、加速度計の出力が差し迫ったユーザ対話の可能性を示すときに、遅延したアプリケーション通信を開放することができる。別の例では、ワイヤレスデバイス102は、近傍検出器によってユーザ対話を予期し得る。当業者は、ラッパー504が、上記の任意の組合せに応答して、加えて任意の他の適切なイベントに応答して、遅延したアプリケーション通信を開放することができることを諒解されよう。
前述の説明では、APIに関してアプリケーション通信集約および遅延について論じたが、概念はハードウェア、ファームウェア、またはハードウェアとソフトウェアの任意の組合せに等しく適用される。
図8は、アプリケーション通信を管理するように構成された例示的なデバイス802を示す。デバイスは、図1に関して上記で説明したネットワーク環境100内で使用され得る。デバイス802は、本明細書で説明する様々な方法を実施するように構成され得るデバイスの一例である。たとえば、デバイス802は、ワイヤレスデバイス102の1つまたは複数の機能を実施し得る。別の実施形態では、デバイス802は、サーバ110の1つまたは複数の機能を実施し得る。
デバイス802は、デバイス802の動作を制御するプロセッサ804を含み得る。プロセッサ804は中央処理装置(CPU)と呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含み得るメモリ806は、命令およびデータをプロセッサ804に与える。メモリ806の一部は不揮発性ランダムアクセスメモリ(NVRAM)も含み得る。プロセッサ804は、メモリ806内に記憶されたプログラム命令に基づいて論理演算および算術演算を実行し得る。メモリ806中の命令は、本明細書で説明する方法を実施するように実行可能であり得る。
デバイス802がワイヤレスデバイス102として実施されるまたは使用されるとき、プロセッサ804は、メモリ806に記憶され得る1つまたは複数のアプリケーションを実行するように構成され得る。実行中に、アプリケーションは、送受信機814、送信機810、および/または受信機812を介して通信を開始し得る。プロセッサ804は、図5に関して上記で説明したハードウェア/ソフトウェアシステム500を実施し得る。たとえば、プロセッサ804は、図6〜図7に関して上記で説明したアプリケーション通信を管理し得る。
プロセッサ804は、1つもしくは複数のプロセッサとともに実装される処理システムの構成要素を備え、または構成要素であってよい。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、または、情報の算出もしくは他の操作を実行することができる任意の他の適切なエンティティの任意の組合せによって実装され得る。
処理システムは、ソフトウェアを記憶するための機械可読媒体も含み得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、(たとえば、ソースコード形式、バイナリコード形式、実行可能コード形式、または任意の他の適切なコード形式の)コードを含み得る。命令は、1つまたは複数のプロセッサによって実行されると、処理システムに、本明細書で説明する様々な機能を実行させる。
デバイス802は、デバイス802と遠隔地との間のデータの送信および受信を可能にするために送信機810および/または受信機812を含み得る、筐体808も含み得る。送信機810および受信機812を組み合わせて送受信機814を形成し得る。アンテナ816は、筐体808に取り付けられ、送受信機814に電気的に結合され得る。いくつかの実施形態では、アンテナ816は省略されることがあり、デバイス802はワイヤード通信用に構成され得る。デバイス802は、(図示しない)複数の送信機、複数の受信機、複数の送受信機、および/または複数のアンテナも含み得る。
デバイス802は、送受信機814によって受信された信号のレベルを検出および定量化するために使用され得る信号検出器818も含み得る。信号検出器818は、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度および他の信号などの信号を検出し得る。デバイス802は、信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)820も含み得る。DSP820は、送信用のパケットを生成するように構成され得る。いくつかの態様では、パケットは、物理層データ単位(PPDU)を含み得る。
デバイス802は、いくつかの態様では、ユーザインターフェース822をさらに備え得る。ユーザインターフェース822は、近傍検出器、1つまたは複数の入力ボタン、キーパッド、マイクロフォン、スピーカ、インターフェースポート(たとえば、ユニバーサルシリアルバス(USB)ポート、高精細度マルチメディアインターフェース(HDMI(登録商標))ポートなど)、タッチスクリーン、および/またはディスプレイを備え得る。ユーザインターフェース822は、デバイス802のユーザに情報を伝え、かつ/またはユーザから入力を受信する、任意の要素または構成要素を含み得る。一実施形態では、ユーザインターフェース822は、(たとえば、USBポートから、ディスプレイに、マイクロフォンから、など)入力を受信している、または出力を送信しているときはアクティブであると見なされ得る。また、ユーザインターフェース822は、しきい値期間(たとえば、1秒、1分、5分など)内に入力を受信した、または出力を送信したときはアクティブであると見なされ得る。ユーザインターフェース822は、アクティブでないときは非アクティブまたはアイドルであると見なされ得る。
ユーザインターフェース822が入力を受信しないとき、デバイス802はアイドル状態、またはアイドルモードであると言われ得る。アイドル状態では、ディスプレイはオフであってもよく、デバイス802の1つまたは複数の機能は無効にされ得る。一実施形態では、ユーザインターフェース822の入力に応答して開始されない、デバイス802の処理および通信は、バックグラウンド処理または通信あるいはアイドル処理または通信と呼ばれ得る。
ユーザインターフェース822が入力を受信するとき、デバイス802はアクティブ状態、またはアクティブモードであると言われ得る。アクティブ状態では、ディスプレイはオンであってもよく、入力は入力アイドル期間内に受信されている可能性がある。入力アイドル期間は構成可能であってもよく、たとえば、1分であり得る。一実施形態では、バックグラウンド処理および通信はアクティブモードで行われ得るが、ユーザインターフェース822の入力に直接応答して開始されないことがある。
デバイス802の様々な構成要素は、バスシステム826によって一緒に結合され得る。バスシステム826は、データバスとともに、たとえば、データバスに加えて、電力バス、制御信号バス、および状態信号バスを含み得る。当業者は、デバイス802の構成要素は、何らかの他の機構を使用して、一緒に結合されてよく、または互いに入力を受け入れまたは提供してよいことを諒解されよう。
いくつかの別個の構成要素が図8に示されているが、当業者は、構成要素のうちの1つまたは複数は、組み合わされても、または共通して実装されてもよいことを認識されよう。たとえば、プロセッサ804は、プロセッサ804に関して上記で説明した機能を実装するだけでなく、信号検出器818および/またはDSP820に関して上記で説明した機能を実装するのにも使用され得る。さらに、図8に示す構成要素の各々は、複数の別個の要素を使用して実装され得る。
図9は、アプリケーション通信を管理する例示的な方法のフローチャート900を示す。一実施形態では、フローチャート900の1つまたは複数の態様は、図3のブロック308に対応し得る。図8に関して上記で説明したデバイス802を参照してフローチャート900の方法について本明細書で説明するが、当業者は、フローチャート900の方法は、図1に関して上記で説明したワイヤレスデバイス102、図2に関して上記で説明したワイヤレスデバイス202、および/または任意の他の適切なデバイスによって実施され得ることを諒解されよう。一実施形態では、フローチャート900のステップは、送信機810、受信機812、メモリ806、およびユーザインターフェース822とともに、プロセッサ805によって実行され得る。特定の順序を参照してフローチャート900の方法について本明細書で説明するが、様々な実施形態では、本明細書のブロックは異なる順序で実行されてよく、または省略されてよく、かつ追加のブロックが追加されてよい。
最初に、ブロック910において、デバイス802は、アプリケーションから送信遅延耐性を受信する。一実施形態では、送信遅延耐性はパケット内で受信される。一実施形態では、送信遅延耐性は上記で説明したAPIを介して受信される。プロセッサ804は、メモリ806に送信遅延耐性を記憶し得る。一実施形態では、デバイス802は、サーバ110から送信遅延耐性を受信する。図7〜図8に関して上記で説明したように、送信遅延耐性は、デバイス802がどのようにアプリケーション通信を遅延させるべきかを特定し得る。
次に、ブロック920において、プロセッサ804は、プロセッサ804上で実行されるアプリケーションから1つまたは複数の通信(たとえば、パケット)を受信する。プロセッサ804は、通信管理システム108および/または接続エンジン208に関して上記で説明した設備によって通信をインターセプトし得る。一実施形態では、DSP820、信号検出器818、送信機810、および/または送受信機814は、通信をインターセプトし得る。パケットが受信されたとき、送受信機814(送信機810および受信機812のうちの1つまたは複数を含む)は、電源切断、無効、非アクティブ、および/またはアイドル状態であり得る。
次いで、ブロック930において、プロセッサ804は、いつパケットを送信すべきかを判断する。たとえば、プロセッサ804は、図6〜図7に関して上記で説明したように、遅延しきい値を決定し得る。一実施形態では、プロセッサ804は、いつ送信ウィンドウ630を開き、閉じるかを判断し得る。その後、ブロック940において、プロセッサ804は、ブロック930において決定された時点で、送信機810を介してパケットを送信する。パケットが送信される前に、プロセッサ804は、送受信機814を起動する、有効にする、および/またはアクティブにすることができる。
図10は、アプリケーション通信を管理するように構成された別の例示的なデバイス1000を示す。デバイス1000は、受信モジュール1010、判断モジュール1020、および送信モジュール1030を備える。受信モジュール1010は、図9に示すブロック910および/またはブロック920に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。受信モジュール1010は、図8に関して上記で説明した受信機812、プロセッサ804、送受信機814、およびメモリ806のうちの1つまたは複数に対応し得る。受信モジュール1010は、図2に関して上記で説明したTX/RX無線212およびプロセッサ202(アプリケーションレイヤモジュール206、ネットワーキングモジュール210、および接続エンジン208を含む)のうちの1つまたは複数にも対応し得る。
判断モジュール1020は、図9に示すブロック930に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。判断モジュール1020は、図8に関して上記で説明したプロセッサ804、DSP820、およびメモリ808のうちの1つまたは複数に対応し得る。判断モジュール1020は、図2に関して上記で説明したプロセッサ202およびメモリ204のうちの1つまたは複数にも対応し得る。
送信モジュール1030は、図9に示すブロック940を参照して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。送信モジュール1030は、図8に関して上記で説明したプロセッサ804および送信機810のうちの1つまたは複数に対応し得る。送信モジュール1030は、図8に関して上記で説明した送信機810、プロセッサ804、送受信機814、およびメモリ806のうちの1つまたは複数に対応し得る。送信モジュール1030は、図2に関して上記で説明したTX/RX無線212およびプロセッサ202のうちの1つまたは複数にも対応し得る。
当業者は、情報および信号は様々な異なる技術および技法のいずれかを使用して表され得ることを理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
当業者は、本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の例示的な実施形態の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで、実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
本明細書で開示する実施形態に関して説明した方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICはユーザ端末中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として常駐し得る。
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
開示した例示的な実施形態の上記の説明は、いかなる当業者も本発明を作成または使用できるようにするために提供される。これらの例示的な実施形態に対する様々な修正が当業者には容易に明らかになるであろうし、本明細書で定義する一般原理は、本発明の趣旨または範囲を逸脱することなしに他の実施形態に適用され得る。したがって、本発明は、本明細書に示す例示的な実施形態に限定されるものではなく、本明細書で開示する原理および新規の特徴に一致する最大の範囲を与えられるものである。
特許請求の範囲は、上記に示した厳密な構成および構成要素に限定されないことを理解されたい。特許請求の範囲から逸脱することなく、上記で説明した方法および装置の構成、動作および詳細において、様々な修正、変更および変形を行うことができる。
上記は本開示の態様を対象とするが、本開示の他のさらなる態様は、それらの基本的な範囲から逸脱することなく考案されてよく、それらの範囲は、以下の特許請求の範囲によって決定される。
100 ネットワーク環境
102 ワイヤレスデバイス
104 通信ネットワーク
106 無線/インターフェースチャネル
108 通信管理システム
110 サーバ
200 ワイヤレスデバイス
202 プロセッサ
204 メモリ
206 アプリケーションレイヤモジュール
208 接続エンジン
210 ネットワーキングモジュール
212 TX/RX無線
214 通信バス
216 無線チャネル
218 プリロードライブラリ
220 ネットワーキングライブラリ
300 フローチャート
400 グラフ
410a〜i 第1のアプリケーションスパイク
420a〜e 第2のアプリケーションスパイク
500 ハードウェア/ソフトウェアシステム
502 アプリケーション
504 ラッパー
506 ハイレベルオペレーティングシステム(HLOS)
508 アプリケーション接続エンジン
510 モデム接続エンジン
550 アプリケーションプロセッサ
560 モデムプロセッサ
600 タイムライン
610 集約期間
620 集約されたパケット
630 送信ウィンドウ
700 タイムライン
802 ワイヤレスデバイス
804 プロセッサ
806 メモリ
808 筐体
810 送信機
812 受信機
814 送受信機
816 アンテナ
818 信号検出器
820 デジタル信号プロセッサ(DSP)
822 ユーザインターフェース
826 バスシステム
900 フローチャート
1000 デバイス
1010 受信モジュール
1020 判断モジュール
1030 送信モジュール
APP1 アプリケーション
APP2 アプリケーション
APP3 アプリケーション
APP4 アプリケーション

Claims (28)

  1. 送信用のデータを集約する方法であって、
    アプリケーションプログラミングインターフェースを介してアプリケーションから送信遅延耐性を示す情報を受信するステップと、
    前記アプリケーションプログラミングインターフェースを介して前記アプリケーションからパケットを受信するステップと、
    前記受信した送信遅延耐性に基づいて前記パケットをいつ送信すべきかを判断するステップと
    を含む方法。
  2. 前記アプリケーションから送信遅延耐性を示す情報を受信するステップが、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションによって書き込まれた情報をメモリから取り出すステップを含む、請求項1に記載の方法。
  3. 前記アプリケーションから送信遅延耐性を示す情報を受信するステップが、前記パケットのヘッダを受信するステップを含む、請求項1に記載の方法。
  4. 送信遅延耐性を示す前記情報が、いくつかの時間単位を示す情報を含む、請求項1に記載の方法。
  5. データの前記パケットをいつ送信すべきかを判断するステップが、データの前記パケットを受信してから経過した時間が前記送信遅延耐性に基づく時間を超えるかどうかに基づく、請求項1に記載の方法。
  6. 前記パケットをいつ送信すべきかを判断するステップが、バッテリ電力を節約するために複数のパケットを集約するステップを含む、請求項1に記載の方法。
  7. 送信遅延耐性を示す情報を受信するステップが、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第1のタイプのパケットに関連する第1の送信遅延耐性を示す情報を受信し、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第2のタイプのパケットに関連する第2の送信遅延耐性を示す情報を受信するステップを含み、前記パケットを受信するステップが、前記パケットが前記第1のタイプか前記第2のタイプかを判断するステップを含み、前記パケットをいつ送信すべきかを判断するステップが、前記パケットの前記判断されたタイプに基づいて前記パケットをいつ送信すべきかを判断するステップを含む、請求項1に記載の方法。
  8. 送信用のデータを集約するためのワイヤレスデバイスであって、
    アプリケーションプログラミングインターフェースを介してアプリケーションから送信遅延耐性を示す情報を受信し、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションからパケットを受信するように構成されたプロセッサと、
    前記受信した送信遅延耐性に基づいて前記パケットをいつ送信すべきかを判断するように構成されたネットワークドライバと
    を備えるワイヤレスデバイス。
  9. メモリをさらに備え、前記プロセッサが、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションによって書き込まれた情報を前記メモリから取り出すようにさらに構成される、請求項8に記載のワイヤレスデバイス。
  10. 前記プロセッサが、前記アプリケーションから前記パケットのヘッダ内の送信遅延耐性を示す情報を受信するようにさらに構成される、請求項8に記載のワイヤレスデバイス。
  11. 送信遅延耐性を示す前記情報が、いくつかの時間単位を示す情報を含む、請求項8に記載のワイヤレスデバイス。
  12. 前記プロセッサが、データの前記パケットを受信してから経過した時間が前記送信遅延耐性に基づく時間を超えるかどうかに基づいて、データの前記パケットをいつ送信すべきかを判断するようにさらに構成される、請求項8に記載のワイヤレスデバイス。
  13. 前記プロセッサが、バッテリ電力を節約するために複数のパケットを集約することによって、前記パケットをいつ送信すべきかを判断するようにさらに構成される、請求項8に記載のワイヤレスデバイス。
  14. 前記プロセッサが、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第1のタイプのパケットに関連する第1の送信遅延耐性を示す情報を受信し、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第2のタイプのパケットに関連する第2の送信遅延耐性を示す情報を受信することによって、送信遅延耐性を示す情報を受信するようにさらに構成され、
    前記プロセッサが、前記パケットが前記第1のタイプか前記第2のタイプかを判断することによって、前記パケットを受信するようにさらに構成され、
    前記プロセッサが、前記パケットの前記判断されたタイプに基づいて前記パケットをいつ送信すべきかを判断するようにさらに構成される、
    請求項8に記載のワイヤレスデバイス。
  15. 送信用のデータを集約するためのワイヤレスデバイスであって、
    アプリケーションプログラミングインターフェースを介してアプリケーションから送信遅延耐性を示す情報を受信するための手段と、
    前記アプリケーションプログラミングインターフェースを介して前記アプリケーションからパケットを受信するための手段と、
    前記受信した送信遅延耐性に基づいて前記パケットをいつ送信すべきかを判断するための手段と
    を備えるワイヤレスデバイス。
  16. 前記アプリケーションから送信遅延耐性を示す情報を受信するための前記手段が、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションによって書き込まれた情報をメモリから取り出すための手段を備える、請求項15に記載のワイヤレスデバイス。
  17. 前記アプリケーションから送信遅延耐性を示す情報を受信するための前記手段が、前記パケットのヘッダを受信するための手段を備える、請求項15に記載のワイヤレスデバイス。
  18. 送信遅延耐性を示す前記情報が、いくつかの時間単位を示す情報を含む、請求項15に記載のワイヤレスデバイス。
  19. データの前記パケットをいつ送信すべきかを判断するステップが、データの前記パケットを受信してから経過した時間が前記送信遅延耐性に基づく時間を超えるかどうかに基づく、請求項15に記載のワイヤレスデバイス。
  20. 前記パケットをいつ送信すべきかを判断するための前記手段が、バッテリ電力を節約するために複数のパケットを集約するための手段を備える、請求項15に記載のワイヤレスデバイス。
  21. 送信遅延耐性を示す情報を受信するための前記手段が、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第1のタイプのパケットに関連する第1の送信遅延耐性を示す情報を受信し、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第2のタイプのパケットに関連する第2の送信遅延耐性を示す情報を受信するための手段を備え、前記パケットを受信するための前記手段が、前記パケットが前記第1のタイプか前記第2のタイプかを判断するための手段を備え、前記パケットをいつ送信すべきかを判断するための前記手段が、前記パケットの前記判断されたタイプに基づいて前記パケットをいつ送信すべきかを判断するための手段を備える、請求項15に記載のワイヤレスデバイス。
  22. 実行されると、装置に送信用のデータを集約する方法を実行させる命令が符号化されて記憶されるコンピュータ可読記憶媒体であって、前記方法が、
    アプリケーションプログラミングインターフェースを介してアプリケーションから送信遅延耐性を示す情報を受信するステップと、
    前記アプリケーションプログラミングインターフェースを介して前記アプリケーションからパケットを受信するステップと、
    前記受信した送信遅延耐性に基づいて前記パケットをいつ送信すべきかを判断するステップと
    を含むコンピュータ可読記憶媒体。
  23. 前記アプリケーションから送信遅延耐性を示す情報を受信するステップが、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションによって書き込まれた情報をメモリから取り出すステップを含む、請求項22に記載のコンピュータ可読記憶媒体。
  24. 前記アプリケーションから送信遅延耐性を示す情報を受信するステップが、前記パケットのヘッダを受信するステップを含む、請求項22に記載のコンピュータ可読記憶媒体。
  25. 送信遅延耐性を示す前記情報が、いくつかの時間単位を示す情報を含む、請求項22に記載のコンピュータ可読記憶媒体。
  26. データの前記パケットをいつ送信すべきかを判断するステップが、データの前記パケットを受信してから経過した時間が前記送信遅延耐性に基づく時間を超えるかどうかに基づく、請求項22に記載のコンピュータ可読記憶媒体。
  27. 前記パケットをいつ送信すべきかを判断するステップが、バッテリ電力を節約するために複数のパケットを集約するステップを含む、請求項22に記載のコンピュータ可読記憶媒体。
  28. 送信遅延耐性を示す情報を受信するステップが、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第1のタイプのパケットに関連する第1の送信遅延耐性を示す情報を受信し、前記アプリケーションプログラミングインターフェースを介して前記アプリケーションから第2のタイプのパケットに関連する第2の送信遅延耐性を示す情報を受信するステップを含み、前記パケットを受信するステップが、前記パケットが前記第1のタイプか前記第2のタイプかを判断するステップを含み、前記パケットをいつ送信すべきかを判断するステップが、前記パケットの前記判断されたタイプに基づいて前記パケットをいつ送信すべきかを判断するステップを含む、請求項22に記載のコンピュータ可読記憶媒体。
JP2014539913A 2011-11-03 2011-11-04 アプリケーション通信を同期化するためのシステムおよび方法 Expired - Fee Related JP5863217B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/288,928 US9178965B2 (en) 2011-03-18 2011-11-03 Systems and methods for synchronization of application communications
US13/288,928 2011-11-03
PCT/US2011/059445 WO2013066354A1 (en) 2011-11-03 2011-11-04 Systems and methods for synchronization of application communications

Publications (2)

Publication Number Publication Date
JP2015504262A true JP2015504262A (ja) 2015-02-05
JP5863217B2 JP5863217B2 (ja) 2016-02-16

Family

ID=45048219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014539913A Expired - Fee Related JP5863217B2 (ja) 2011-11-03 2011-11-04 アプリケーション通信を同期化するためのシステムおよび方法

Country Status (6)

Country Link
US (1) US9178965B2 (ja)
EP (1) EP2774331B1 (ja)
JP (1) JP5863217B2 (ja)
KR (1) KR101604204B1 (ja)
CN (1) CN104025536B (ja)
WO (1) WO2013066354A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016165055A (ja) * 2015-03-06 2016-09-08 日本電気株式会社 通信端末、通信方法、および、プログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9603085B2 (en) 2010-02-16 2017-03-21 Qualcomm Incorporated Methods and apparatus providing intelligent radio selection for legacy and non-legacy applications
WO2013015835A1 (en) 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
US8831658B2 (en) 2010-11-05 2014-09-09 Qualcomm Incorporated Controlling application access to a network
US9264868B2 (en) 2011-01-19 2016-02-16 Qualcomm Incorporated Management of network access requests
US9571952B2 (en) 2011-04-22 2017-02-14 Qualcomm Incorporatd Offloading of data to wireless local area network
US8838086B2 (en) 2011-08-29 2014-09-16 Qualcomm Incorporated Systems and methods for management of background application events
US9356804B1 (en) * 2012-06-12 2016-05-31 Amazon Technologies, Inc. Policy-based network connection resource selection
CN103582170B (zh) * 2012-07-23 2018-08-10 百度在线网络技术(北京)有限公司 在移动设备中为多个候选应用提供通信连接的方法与设备
US9565637B2 (en) * 2013-03-14 2017-02-07 T-Mobile Usa, Inc. High power channel state notification for mobile applications
US10216549B2 (en) 2013-06-17 2019-02-26 Seven Networks, Llc Methods and systems for providing application programming interfaces and application programming interface extensions to third party applications for optimizing and minimizing application traffic
US20150023161A1 (en) 2013-07-22 2015-01-22 Seven Networks, Inc. Modifying system timers for optimizing mobile traffic management
CN104780183B (zh) * 2014-01-09 2019-07-05 腾讯科技(深圳)有限公司 一种信息分享方法、装置及电子设备
JP6679658B2 (ja) * 2018-06-01 2020-04-15 ソニー株式会社 プロトコルモード切り替えのためのモバイル端末、システムおよび方法
TWI713333B (zh) * 2020-01-15 2020-12-11 聚騰科技股份有限公司 資料傳輸及接收方法
CN111773714B (zh) * 2020-07-09 2024-01-19 网易(杭州)网络有限公司 游戏技能配置方法与装置及游戏技能控制方法与装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10178453A (ja) * 1996-12-18 1998-06-30 Toshiba Corp データ送信装置及びこれを用いた通信システム
JP2009540687A (ja) * 2006-06-08 2009-11-19 クゥアルコム・インコーポレイテッド パケット・グループ化によって省電力を達成すること
US20090325512A1 (en) * 2008-06-30 2009-12-31 Nokia Corporation Transmission of delay tolerant data
US20110019557A1 (en) * 2009-07-21 2011-01-27 Microsoft Corporation Packet aggregation

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737687A (en) 1995-03-01 1998-04-07 Qualcomm Incorporated Self-attenuating RF transceiver system using antenna and modem interfaces and cable link
GB2301751B (en) 1995-06-02 2000-02-09 Dsc Communications Control message transmission in telecommunications systems
US6115744A (en) 1996-07-30 2000-09-05 Bea Systems, Inc. Client object API and gateway to enable OLTP via the internet
US6122514A (en) 1997-01-03 2000-09-19 Cellport Systems, Inc. Communications channel selection
US5842114A (en) 1997-02-12 1998-11-24 Interdigital Technology Corporation Global channel power control to minimize spillover in a wireless communication environment
US7013284B2 (en) 1999-05-04 2006-03-14 Accenture Llp Component based interface to handle tasks during claim processing
JP3389951B2 (ja) 2000-02-07 2003-03-24 日本電気株式会社 Cdma移動通信システム及び該cdma移動通信システムにおける下り回線送信電力制御方法
US7260635B2 (en) 2000-03-21 2007-08-21 Centrisoft Corporation Software, systems and methods for managing a distributed network
ES2590336T3 (es) 2000-04-03 2016-11-21 Nokia Technologies Oy Control de la célula con la que está asociada una estación móvil en modo de reposo
US7107063B1 (en) 2000-05-03 2006-09-12 International Business Machines Corporation Selective display of display information packets in a packet-based communication medium
JP2001339465A (ja) 2000-05-26 2001-12-07 Mitsubishi Electric Corp メッセージフロー制御方法および通信システム
US7418489B2 (en) 2000-06-07 2008-08-26 Microsoft Corporation Method and apparatus for applying policies
CA2421609A1 (en) 2000-09-12 2002-03-21 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
JP2002091841A (ja) 2000-09-13 2002-03-29 Sanyo Electric Co Ltd ネットワークシステム及び機器認識方法
JP2002203017A (ja) * 2000-10-30 2002-07-19 Mitsubishi Electric Corp 飲食物提供管理システム、そのシステムに用いられるサーバおよび端末
US6718176B2 (en) 2001-03-01 2004-04-06 Nokia Corporation Apparatus, and associated method, for displaying positional data associated with mobile stations of a radio communication system
GB2373887A (en) 2001-03-28 2002-10-02 Hewlett Packard Co Context dependent operation, including power management, of a mobile computer
US7433922B2 (en) 2001-05-11 2008-10-07 Varia Llc Method and system for collecting and displaying aggregate presence information for mobile media players
US7506059B2 (en) 2001-10-26 2009-03-17 Nokia Corporation Mobile client provisioning web service
US7065367B2 (en) 2002-07-11 2006-06-20 Oliver Michaelis Interface selection in a wireless communication network
US6961595B2 (en) 2002-08-08 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for operating mobile nodes in multiple states
WO2004064333A1 (ja) 2003-01-10 2004-07-29 Sharp Kabushiki Kaisha 通信装置、ネットワークシステム、通信管理方法、要求信号、応答信号、プログラム、および、プログラムを記録した記録媒体
US7228563B2 (en) 2003-02-06 2007-06-05 Symantec Corporation Shell code blocking system and method
JP3902560B2 (ja) 2003-03-25 2007-04-11 三洋電機株式会社 チャネル割当方法ならびにそれを利用した基地局装置および通信システム
WO2004114691A1 (en) 2003-06-18 2004-12-29 Qualcomm Incorporated System and method for gsm hard handoff
US20040264396A1 (en) 2003-06-30 2004-12-30 Boris Ginzburg Method for power saving in a wireless LAN
US20050060583A1 (en) 2003-07-15 2005-03-17 Jeou-Kai Lin System and method for advanced intrusion avoidance
KR100557468B1 (ko) 2003-12-17 2006-03-07 한국전자통신연구원 티오이를 위한 소켓 호환 계층
US20050182958A1 (en) 2004-02-17 2005-08-18 Duc Pham Secure, real-time application execution control system and methods
US7610057B2 (en) 2004-04-23 2009-10-27 Microsoft Corporation Selecting a wireless networking technology on a device capable of carrying out wireless network communications via multiple wireless technologies
US7664838B2 (en) 2004-05-10 2010-02-16 Nortel Networks Limited System and method for translating application program network service requests into actions and performing those actions through the management and/or control plane responsive to previously defined policies and previous requests by the same or another application program
US20060217116A1 (en) 2005-03-18 2006-09-28 Cassett Tia M Apparatus and methods for providing performance statistics on a wireless communication device
ATE537643T1 (de) 2005-03-22 2011-12-15 Swisscom Ag Verfahren und system für die einrichtung eines peer-to-peer kommunikationskanals
US7486954B2 (en) 2005-03-25 2009-02-03 Alcatel-Lucent Usa Inc. Method of controlling load sharing between in-cell and soft handoff users
US20060229025A1 (en) * 2005-03-30 2006-10-12 Lucent Technologies Inc. Method for extracting optimal reverse link capacity by scaling reverse link Eb/No setpoint based on aggregate channel load and condition
US20060221953A1 (en) 2005-04-01 2006-10-05 Claude Basso Method and apparatus for blind checksum and correction for network transmissions
US8526463B2 (en) 2005-06-01 2013-09-03 Qualcomm Incorporated System and method to support data applications in a multi-homing, multi-mode communication device
US7729236B2 (en) * 2005-11-10 2010-06-01 Nokia Corporation Use of timing information for handling aggregated frames in a wireless network
US8024785B2 (en) 2006-01-16 2011-09-20 International Business Machines Corporation Method and data processing system for intercepting communication between a client and a service
HUE037887T2 (hu) 2006-01-17 2018-09-28 Ericsson Telefon Ab L M Eljárás és elrendezés az energiafelhasználás csökkentésére mobil kommunikációs hálózatban
US8073436B2 (en) 2006-01-31 2011-12-06 Toshiba America Research, Inc. Applications and/or situation responsive utilization of silent periods
CN105357145B (zh) 2006-02-03 2019-12-27 诺基亚公司 从用户设备向无线网络提供基于阈值的缓冲器状态报告
US7769887B1 (en) 2006-02-03 2010-08-03 Sprint Communications Company L.P. Opportunistic data transfer over heterogeneous wireless networks
US20070245171A1 (en) 2006-03-27 2007-10-18 Patrick Ohly Methods and apparatus to perform distributed memory checking
US8223729B2 (en) 2006-07-19 2012-07-17 Qualcomm Incorporated Radio interface selection for a terminal
JP4837487B2 (ja) 2006-08-11 2011-12-14 京セラ株式会社 チャネルの割当方法およびそれを利用した基地局装置
US7940735B2 (en) 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
JP2008072568A (ja) 2006-09-15 2008-03-27 Hiroshi Makino 適応非同期通信制御プログラム
US8923852B2 (en) 2006-11-01 2014-12-30 Seven Networks, Inc. System, method, and computer-readable medium for user equipment decision-making criteria for connectivity and handover
US8626171B2 (en) 2006-11-29 2014-01-07 Kyocera Corporation Wireless communication terminal and method of controlling the same
JP4970066B2 (ja) 2007-01-29 2012-07-04 京セラ株式会社 無線通信装置、その制御方法、および制御方法
US8089970B2 (en) * 2006-12-14 2012-01-03 Ntt Docomo, Inc. Method and apparatus for managing admission and routing in multi-hop 802.11 networks taking into consideration traffic shaping at intermediate hops
US8055761B2 (en) 2007-01-31 2011-11-08 International Business Machines Corporation Method and apparatus for providing transparent network connectivity
US7756068B2 (en) 2007-02-08 2010-07-13 Sony Ericsson Mobile Communications Ab Selecting an interface in a multi-radio enabled device
US7860469B2 (en) 2007-03-19 2010-12-28 Intel Corporation Sleep optimization for mobile devices in a wireless network
US20080234012A1 (en) 2007-03-22 2008-09-25 Changwen Liu Scheduling for power savings in a wireless network
US8027293B2 (en) 2007-07-16 2011-09-27 Cellport Systems, Inc. Communication channel selection and use
US7873746B2 (en) 2007-07-27 2011-01-18 Lagavulin Limited User interface for a portable, image-processing transmitter
JP5049069B2 (ja) 2007-08-02 2012-10-17 ソフトバンクテレコム株式会社 無線通信端末装置、及び通信ネットワークプログラム
US20090049518A1 (en) 2007-08-08 2009-02-19 Innopath Software, Inc. Managing and Enforcing Policies on Mobile Devices
US20090187848A1 (en) 2007-12-21 2009-07-23 Richard Leo Murtagh Methods and systems for identifying a process for analyzing data displayed by a window to a user of a computing device
US8417187B2 (en) 2008-01-07 2013-04-09 Apple Inc. Methods and apparatus for wireless device coexistence
WO2009096410A1 (ja) 2008-01-29 2009-08-06 Kyocera Corporation 無線通信端末の制御方法および無線通信端末
JP2009182443A (ja) 2008-01-29 2009-08-13 Ntt Docomo Inc 通信端末、動作モード管理プログラム、および動作モード管理方法
US8144725B2 (en) 2008-05-28 2012-03-27 Apple Inc. Wireless femtocell setup methods and apparatus
US20090318124A1 (en) 2008-06-23 2009-12-24 At&T Mobility Ii Llc Mobile device management through an offloading network
WO2010016849A1 (en) 2008-08-08 2010-02-11 Innopath Software, Inc. Intelligent mobile device management client
JP5374717B2 (ja) 2008-08-21 2013-12-25 独立行政法人情報通信研究機構 高信頼な制御コマンドの送受信と帯域の効率化を実現するセンサーネットワークシステム
US8160598B2 (en) 2008-12-10 2012-04-17 At&T Intellectual Property Ii, L.P. Lightweight application level policy management for portable wireless devices under varying network
US8312531B2 (en) 2009-01-09 2012-11-13 At&T Intellectual Property I, L.P. Communicating via a wireless gateway device and SSL
JP2010183414A (ja) 2009-02-06 2010-08-19 Sanyo Electric Co Ltd 電話装置
US7990897B2 (en) 2009-03-11 2011-08-02 Sony Corporation Method and apparatus for a wireless home mesh network with network topology visualizer
US8271057B2 (en) 2009-03-16 2012-09-18 Waze Mobile Ltd. Condition-based activation, shut-down and management of applications of mobile devices
US8255011B2 (en) 2009-05-01 2012-08-28 L3 Communications Integrated Systems, L.P. Mobile communication device and communication method
US20100287281A1 (en) 2009-05-11 2010-11-11 Motorola, Inc. Telecommunication network resource management based on social network characteristics
CA2667820C (en) 2009-05-29 2013-10-01 Research In Motion Limited Signal quality determination methods and apparatus suitable for use in wlan-to-wwan transitioning
US9313800B2 (en) 2009-06-23 2016-04-12 Nokia Technologies Oy Method and apparatus for optimizing energy consumption for wireless connectivity
US20110029658A1 (en) 2009-07-24 2011-02-03 Theodore Werth System and methods for providing a multi-device, multi-service platform via a client agent
US8249499B2 (en) 2009-07-31 2012-08-21 Sierra Wireless, Inc. Method, system and device for initiating wireless communication
KR101321196B1 (ko) 2009-08-24 2013-10-30 인텔 코포레이션 저 전력 및 고속 애플리케이션 서비스 송신 방법 및 장치
CA2675666A1 (en) 2009-08-27 2009-11-05 Ibm Canada Limited - Ibm Canada Limitee Accelerated execution for emulated environments
WO2011075150A1 (en) 2009-12-18 2011-06-23 Intel Corporation System and method of utilizing a framework for information routing in large-scale distributed systems using swarm intelligence
US8169935B2 (en) 2009-12-22 2012-05-01 Intel Corporation Multi-radio connection management and bundling using web browsers
US8228832B2 (en) 2010-01-25 2012-07-24 Motorola Mobility, Inc. USSD transport method and device
US8904206B2 (en) 2010-01-26 2014-12-02 Motorola Mobility Llc Mobile computing device and method for maintaining application continuity
KR101624749B1 (ko) 2010-01-29 2016-05-26 삼성전자주식회사 패킷 기반 통신 시스템에서 단말의 절전 모드 제어 방법 및 장치
US9603085B2 (en) 2010-02-16 2017-03-21 Qualcomm Incorporated Methods and apparatus providing intelligent radio selection for legacy and non-legacy applications
US8570993B2 (en) 2010-05-20 2013-10-29 At&T Mobility Ii Llc Wi-Fi intelligent selection engine
US8670362B2 (en) 2010-07-26 2014-03-11 Texas Instruments Incorporated Power state and medium access coordination in coexisting wireless networks
US8831658B2 (en) 2010-11-05 2014-09-09 Qualcomm Incorporated Controlling application access to a network
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US8971841B2 (en) 2010-12-17 2015-03-03 Microsoft Corporation Operating system supporting cost aware applications
US9264868B2 (en) 2011-01-19 2016-02-16 Qualcomm Incorporated Management of network access requests
CN102186167B (zh) 2011-04-11 2016-02-10 中兴通讯股份有限公司 一种对应用进行监控的方法及系统
US9571952B2 (en) 2011-04-22 2017-02-14 Qualcomm Incorporatd Offloading of data to wireless local area network
US8838086B2 (en) 2011-08-29 2014-09-16 Qualcomm Incorporated Systems and methods for management of background application events
JP5831207B2 (ja) 2011-12-21 2015-12-09 富士通株式会社 携帯端末装置、携帯端末装置の制御プログラム及び制御方法
CN104247467A (zh) 2012-02-17 2014-12-24 英特托拉斯技术公司 用于交通工具策略施行的方法和系统
EP2979408B1 (en) * 2013-03-25 2017-09-27 Altiostar Networks, Inc. Systems and methods for scheduling of data packets based on delay tolerance of applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10178453A (ja) * 1996-12-18 1998-06-30 Toshiba Corp データ送信装置及びこれを用いた通信システム
JP2009540687A (ja) * 2006-06-08 2009-11-19 クゥアルコム・インコーポレイテッド パケット・グループ化によって省電力を達成すること
US20090325512A1 (en) * 2008-06-30 2009-12-31 Nokia Corporation Transmission of delay tolerant data
US20110019557A1 (en) * 2009-07-21 2011-01-27 Microsoft Corporation Packet aggregation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN5015000458; Hao LIU et al.: 'TailTheft: Leveraging the Wasted Time for Saving Energy in Cellular Communications' Proceedings of the sixth international workshop on MobiArch , 20110628, pp.31-36 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016165055A (ja) * 2015-03-06 2016-09-08 日本電気株式会社 通信端末、通信方法、および、プログラム

Also Published As

Publication number Publication date
KR101604204B1 (ko) 2016-03-16
WO2013066354A1 (en) 2013-05-10
CN104025536B (zh) 2017-06-06
CN104025536A (zh) 2014-09-03
EP2774331B1 (en) 2018-06-27
KR20140095527A (ko) 2014-08-01
US20120236772A1 (en) 2012-09-20
US9178965B2 (en) 2015-11-03
JP5863217B2 (ja) 2016-02-16
EP2774331A1 (en) 2014-09-10

Similar Documents

Publication Publication Date Title
JP5863217B2 (ja) アプリケーション通信を同期化するためのシステムおよび方法
US8838086B2 (en) Systems and methods for management of background application events
US9571952B2 (en) Offloading of data to wireless local area network
US9264868B2 (en) Management of network access requests
KR101557843B1 (ko) 네트워크 액세스 요청들의 관리
KR102202647B1 (ko) 데이터 통신 방법 및 그 전자 장치
JP5728623B2 (ja) バックグラウンドアプリケーションイベントの管理のためのシステムおよび方法
KR101723203B1 (ko) 통신 네트워크 내의 모바일 디바이스로의 애플리케이션 데이터의 전송 제어를 위한 장치 및 방법
KR20130121115A (ko) 네트워크에 대한 애플리케이션 액세스의 제어
JP6672167B2 (ja) 高速休眠システムおよびプロセス
Banerjee et al. Energy-aware design patterns for mobile application development (invited talk)
TW201340753A (zh) 快速休眠機制觸發方法及系統

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151221

R150 Certificate of patent or registration of utility model

Ref document number: 5863217

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees