JP2023509426A - モバイルネットワークのリアルタイム監視及び最適化のためのシステム及び方法 - Google Patents
モバイルネットワークのリアルタイム監視及び最適化のためのシステム及び方法 Download PDFInfo
- Publication number
- JP2023509426A JP2023509426A JP2022540376A JP2022540376A JP2023509426A JP 2023509426 A JP2023509426 A JP 2023509426A JP 2022540376 A JP2022540376 A JP 2022540376A JP 2022540376 A JP2022540376 A JP 2022540376A JP 2023509426 A JP2023509426 A JP 2023509426A
- Authority
- JP
- Japan
- Prior art keywords
- network
- data
- congestion
- cell
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 335
- 238000012544 monitoring process Methods 0.000 title claims abstract description 104
- 238000005457 optimization Methods 0.000 title description 76
- 238000013507 mapping Methods 0.000 claims abstract description 20
- 238000005259 measurement Methods 0.000 claims description 48
- 239000000872 buffer Substances 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 6
- 230000002547 anomalous effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 286
- 230000002123 temporal effect Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 46
- 238000004458 analytical method Methods 0.000 description 38
- 238000004891 communication Methods 0.000 description 37
- 238000007726 management method Methods 0.000 description 32
- 239000003795 chemical substances by application Substances 0.000 description 26
- 238000001514 detection method Methods 0.000 description 17
- 238000005070 sampling Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 14
- 238000013341 scale-up Methods 0.000 description 12
- 238000001914 filtration Methods 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 10
- 230000002776 aggregation Effects 0.000 description 10
- 238000004220 aggregation Methods 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 9
- 230000006855 networking Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000010223 real-time analysis Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000012384 transportation and delivery Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 241000406668 Loxodonta cyclotis Species 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 239000000969 carrier Substances 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000005641 tunneling Effects 0.000 description 4
- 230000003698 anagen phase Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000012010 growth Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000012464 large buffer Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/37—Slow start
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/084—Load balancing or load distribution among network function virtualisation [NFV] entities; among edge computing entities, e.g. multi-access edge computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
ネットワークの部分についてのクラウドソースのリアルタイム情報は、ネットワークを監視して最適化するために使用されてもよい。リアルタイム情報は、ネットワーク内のデータセッションを監視し、データセッションのIPアドレスをセル識別子にマッピングするマッピング情報を使用することにより生成される、無線ネットワークのセルのような共有チャネルに関する情報を含んでもよい。ネットワーク輻輳を管理するプロセスは、リアルタイム情報を使用してセルについての輻輳プロファイルを作成及び/又は更新してもよく、輻輳プロファイルは、輻輳制御アルゴリズムのパラメータを選択して設定するために使用されてもよい。リアルタイム情報は、リアルタイムで、セルのそれぞれについての監視のレベル、各セル内のビデオストリームの性能、セルが性能異常を受けていること又はこれらの組み合わせを決定するために使用されてもよい。クラウドソースのリアルタイム情報は、細かい時間的粒度(例えば、毎秒)で提供されてもよい。
Description
[関連出願への相互参照]
本出願は、2019年12月31日に出願された米国特許仮出願第62/956,104号、2019年12月31日に出願された米国特許仮出願第62/956,135号、及び2019年12月31日に出願された米国特許仮出願第62/956,138号の優先権を主張するものであり、これらの出願のそれぞれの全内容を、全ての目的のために参照により援用する。
本出願は、2019年12月31日に出願された米国特許仮出願第62/956,104号、2019年12月31日に出願された米国特許仮出願第62/956,135号、及び2019年12月31日に出願された米国特許仮出願第62/956,138号の優先権を主張するものであり、これらの出願のそれぞれの全内容を、全ての目的のために参照により援用する。
[背景技術]
データトランスポートプロトコルは、これらのプロトコルスタックに、トランスポート測定(例えば、データ損失、待ち時間、スループット)に基づいてデータパケット伝送レートを増加又は減少させる公平な(fair-share)コンポーネントを実装してもよい。公平な実装は、異なるトランスポートプロトコル(例えば、伝送制御プロトコル(Transmission Control protocol, TCP)、ユーザデータグラムプロトコル(User Datagram Protocol, UDP)等)の間で変化し得るが、目的は実質的に同じであり、共有データトランスポート環境の等しいアクセスをそれぞれの競合するデータ転送に与えることである。例えば、10Mbpsのトランスポート環境及び5個の固有のデータトランスポートコネクションが存在する場合、公平なコンポーネントは、~2Mbpsをそれぞれのデータ転送セッションに与えることを試み、したがって公平なネットワーク環境を提供する。
データトランスポートプロトコルは、これらのプロトコルスタックに、トランスポート測定(例えば、データ損失、待ち時間、スループット)に基づいてデータパケット伝送レートを増加又は減少させる公平な(fair-share)コンポーネントを実装してもよい。公平な実装は、異なるトランスポートプロトコル(例えば、伝送制御プロトコル(Transmission Control protocol, TCP)、ユーザデータグラムプロトコル(User Datagram Protocol, UDP)等)の間で変化し得るが、目的は実質的に同じであり、共有データトランスポート環境の等しいアクセスをそれぞれの競合するデータ転送に与えることである。例えば、10Mbpsのトランスポート環境及び5個の固有のデータトランスポートコネクションが存在する場合、公平なコンポーネントは、~2Mbpsをそれぞれのデータ転送セッションに与えることを試み、したがって公平なネットワーク環境を提供する。
TCPは元々のインターネットプロトコルの1つとして開発されたものである。TCPで使用される輻輳制御アルゴリズムは、コネクションがチャネル容量を探知し、他のコネクションに「衝突(bump into)」したときに発見することを可能にする。次いで、コネクションは、単一のラウンドトリップ時間(round-trip time, RTT)の間にどのくらいの量の伝送データが受信機に送信できるか(受信機の「輻輳ウィンドウ」)を適応させ、他のコネクションを圧倒することなく、その真の公平を見つけることを絶えず試みる。
図13は、TCP輻輳制御アルゴリズムのスロースタート段階及び輻輳回避段階を示す。このグラフは、インターネットのような典型的な有線WANコネクションにおけるアルゴリズムの挙動を反映している。ここで、「有線」は、実際の有線だけでなく、光ファイバ及び/又はポイントツーポイント無線リンク又は光リンクを含んでもよい。
TCP輻輳制御アルゴリズムは、スロースタート段階で動作を開始し、その間、最初の小さい輻輳ウィンドウは、パケットが失われるまで(すなわち、パケットの確認応答がタイムリーに受信されないときまで)全てのRTTを2倍にすることにより、指数関数的に増加する。これは、パケットの損失がネットワークにおける輻輳によるものであるという仮定に基づいている。
スロースタート段階中のパケット損失の検出に応じて、TCP輻輳制御アルゴリズムは輻輳回避段階に切り替える。輻輳回避段階中に、輻輳ウィンドウサイズは、パケット損失が検出されるまで直線的に増加する(例えば、RTT毎に1つの最大セグメントサイズ(Maximum Segment Size, MSS)だけ増加する)。パケット損失に応じて、輻輳ウィンドウサイズは、0.5のような1未満の値を乗算することにより減少する。輻輳ウィンドウサイズが減少した後に、パケット損失が再度検出されるまで、RTT毎に直線的に増加を再開し、その時点で乗算の減少が再び実行される。
無線アクセスネットワーク(radio access network, RAN)及び有線WAN(例えば、インターネット)は、図13に示すものと同様の挙動を有する標準的なデータトランスポートプロトコルにとって問題のある根本的な違いを有する。例えば、RANは、典型的には、ラウンドトリップ時間(round trip time, RTT)測定値におけるより大きい変動(例えば、60~500ms)を有するより高い待ち時間のネットワークであり、一方、インターネットは、より一貫性した、一般的により低いRTT測定値(例えば、40~60ms)を提供する。RANを使用するデータ転送が存在する状態は非常に変動しやすく、最終的に共有ネットワークの「公平な」ポリシーに影響を及ぼさない変数に基づいて、データ転送セッションがそのデータ転送レートを継続的に調整するようにさせることができる。例えば、RTTは、ネットワークの1つの部分が設計により高く変動しやすい待ち時間のネットワークである上記のシナリオにおいて、共有データトランスポートネットワークの輻輳を測定するためには不十分な方法である。
いくつかの輻輳制御プロセスは、輻輳の存在を通知するためにパケットを破棄することがある。しかし、RANのようなネットワークでは、一時的な干渉のような様々な理由でパケットが破棄される可能性がある。一時的な干渉のために破棄されたパケットを、輻輳を示すものとして誤解することは、RANの容量の過小利用を引き起こし、データトランスポート性能を低減させる可能性がある。
したがって、関連技術のTCP輻輳制御アルゴリズムは、RANにあまり適していない。第一に、このアルゴリズムは、有線ネットワークよりもRANにおいて非常に高くなり得るRTTに敏感である。第二に、このアルゴリズムは、全ての損失パケットがネットワーク輻輳の結果であると仮定するが、これはRANには当てはまらない。これらの2つの要因により、アルゴリズムは、経時的な性能におけるより大きい不当な変動及び輻輳を防止するために必要とされるよりも低い平均スループットを提供することを引き起こす。
さらに、このTCP輻輳制御アルゴリズムは、伝送が実行されているチャネルの他のユーザに関する情報、又はそのチャネルの状態を利用しない。したがって、このアルゴリズムは、チャネル状態及び占有に関係なく、各コネクションについて同じ初期輻輳ウィンドウ値を使用して、コネクションが確立される毎に「最初から」公平性を学習し、その結果、より長い「スロースタート」時間及びより低い平均スループットを生じる。
モバイルネットワークは、標準的なオープン通信インタフェース上で動作しつつ、独自の(ベンダー毎の)情報データベースを維持し、効果的にクローズドシステムを形成する様々なコンポーネントから構成されている。ネットワークオプティマイザのような外部コンポーネントは、リアルタイムのネットワーク状態(例えば、スループット、ユーザカウント等)を全面的に見ることができず、これらのコンポーネントにより提供される限られた情報に依存しなければならない。限られた情報が提供されるものは、長い間隔(例えば、1時間平均)によってのみ行われる。モバイルネットワークの非常に高い変化しやすい性質のため、1時間平均は、オプティマイザが有意なアクションをとることができるほど十分なタイムリーな情報を提供しない可能性がある。
本明細書で使用される場合、「輻輳ポリシー」という用語は、ネットワークノード又はリンクが処理できるものよりも多くのデータを搬送しているとき、ネットワークノード又はリンクのサービス品質における低下を防止又は軽減するために適用されるアルゴリズムである。一実施形態では、輻輳ポリシーは、トランスポートレイヤによりネットワークに配置されるトラフィックを制御することによって、送信者がネットワークを圧倒することを防止する輻輳制御アルゴリズムを示す。他の実施形態では、輻輳ポリシーはまた、送信者が受信者を圧倒することを防止するフロー制御アルゴリズムを含んでもよい。
関連技術のモバイルネットワーク分析システムは「無線認識」ではなく、したがって、より良いネットワーク計画/管理のために必要な主要性能指標を無線アクセスネットワーク(Radio Access Network, RAN)オペレータに提供しない。その結果、RANオペレータは、無線ベンダーシステムにより報告された長い平均的な主要性能指標(Key Performance Indicator, KPI)に完全に依存する可能性がある。
RAN及びハイブリッドRAN/WANネットワークの特性に適合した輻輳ポリシーが必要である。さらに、例えば、ネットワーク状態のリアルタイムの変化に適応するために、インターネットのようなWANと比較して、RANにおいて利用可能になり得る更なる情報を利用する輻輳ポリシーを有することが有益である。
さらに、オプティマイザは、地理又は共有チャネルに関するリアルタイムの状態情報を有さないので、異なる地理又は共有チャネル(セルなど)内でどのようなアクションをとるかについての洞察を欠いている。
RANの監視及び管理を改善するために、データセッションとネットワーク位置との間の発見された関係を利用する必要がある。
実施形態は、リアルタイムのネットワークトポロジ情報を使用するネットワーク最適化に関する。一実施形態では、ネットワークトポロジ情報は、例えば、「COORDINATED DATA SHARING IN VIRTUALIZED NETWORKING ENVIRONMENTS」という名称の米国特許出願第16/363,749号に開示されている方法を使用して取得されてもよい。エンドユーザのネットワークトポロジのリアルタイムの知識は、ネットワーク最適化のために効果的に使用されてもよい。
一実施形態では、ネットワークトポロジ情報(チャネル輻輳プロファイルでもよく、或いは、チャネル輻輳プロファイルを含んでもよい)は、共有ネットワークチャネル(例えば、セル又はeNodeB)上の加入者(すなわち、加入デバイス)からのクラウドソースの情報(加入者スループット、加入者待ち時間、トランスポートレイヤ輻輳パラメータ及びアプリケーションレイヤ輻輳パラメータを含むが、これらに限定されない)の集約又は部分集約であり、RANパラメータ(QoSクラス識別子(QoS Class Identifier, QCI)等)、有効性インジケータ及びこの情報から導出されるメトリックを含んでもよい。
一実施形態では、ネットワークトポロジ情報は、外部及び内部ソースからクラウドソースのデータを使用して取得されてもよく、最適化設定を適応的に動かすために使用されてもよい。例えば、ネットワークトポロジ情報に基づいて、TCP最適化は、輻輳ウィンドウアルゴリズムのスロースタート段階を短縮又はスキップし、初期輻輳ウィンドウを輻輳回避段階に対応するサイズに設定し、輻輳ウィンドウに関する鋸歯状プロセスを低減し、最短期間で共有チャネルのユーザの間での最適な公平な帯域幅に到達してもよい。
開示の実施形態の目的は、リアルタイム追跡情報を使用して、モバイル通信ネットワークの監視及び管理を改善することであり、リアルタイム追跡情報は、データセッションの測定を行い、データセッションのエンドポイントがそれぞれ存在するネットワーク位置識別子(RAN内のセル識別子等)を決定し、データセッションの測定値をそれぞれのネットワーク位置識別子に関連付けることにより生成される。
開示の実施形態の他の目的は、1つ以上のデータセッションからのデータセッション分析及び関連するネットワーク位置識別子(セルの識別子等)を含むネットワークトポロジ情報を使用して、リアルタイムでネットワークの現在の状態に関するクラウドソースの情報を生成することであり、ネットワーク位置識別子は、1つ以上のデータセッションのエンドポイントのネットワーク位置を決定するためのIPアドレスからネットワーク位置へのマッピング情報を使用して決定される。生成されたクラウドソースの情報は、ネットワーク内のセルについてのリアルタイムのクラウドソースのプロファイルと、ネットワークについてのリアルタイム監視統計とを含んでもよい。リアルタイムのクラウドソースのプロファイルは、ネットワークの効率を改善するために使用されてもよく、例えば、リアルタイムのクラウドソースのプロファイルは、現在のネットワーク状態に対して輻輳制御アルゴリズムを自動的に調整するために使用されてもよい。リアルタイム監視統計は、例えば、セルが問題のある挙動の増加した確率を有することを自動的に検出し、それに応じてセルの監視を増加させることによって、更なる精査のためのセルを特定するために使用されてもよい。
実施形態は、ユーザ機器(User Equipment, UE)の新たなTCPデータセッションのための初期輻輳ウィンドウアルゴリズム(Initial Congestion Window Algorithm, ICWA)を決定し、ICWAのためのパラメータを設定するために、ネットワークにおける現在の状態に関するクラウドソースの情報を使用する。例えば、現在の状態に応じて、実施形態は、とりわけ、典型的なICWAの「スロースタート」段階をスキップするICWAを使用すること、UEのためにより大きいICWを設定すること、UEのアドバタイズされた受信ウィンドウを拡大すること、スロースタート段階から輻輳回避段階に変化するための異なる閾値を設定すること、輻輳ウィンドウの成長率を動的に変更すること、又は上記の組み合わせを使用してもよい。
本開示の実施形態は、データトランスポートセッション(データセッションとも呼ばれてもよい)を加速又は減速させることに関する。例えば、新たなデータトランスポートセッションがネットワークにおいて作成され、ネットワーク状態に関する情報が、ネットワークが容量以下で十分に動作していることを示すとき、データトランスポートは通常の初期輻輳ウィンドウよりも大きいサイズを使用してもよく、賢明に輻輳ウィンドウのサイズを管理するために初期に使用される「スロースタート」アルゴリズムをスキップして、「輻輳回避」アルゴリズムに従って輻輳ウィンドウのサイズの管理を開始してもよい。ネットワーク状態に関する情報は、特に、ネットワークにより搬送されるデータトランスポートセッションから導出される「クラウドソース(crowd sourced)」の情報を使用して決定されてもよく、データトランスポートセッションは、ネットワークの特定の部分(例えば、特定のセル)にマッピングされてもよい。
一実施形態では、ネットワークトポロジ情報は、ネットワーク最適化システムにより管理されているネットワーク内の共有チャネル(例えば、分岐パス又はセルチャネル)毎に初期輻輳ウィンドウを動的に設定するために使用される。ネットワークトポロジ情報は、所与の共有チャネル内のユーザの数、アクティブユーザの数、共有チャネルのサイズ、共有チャネルのタイプ(例えば、3G、4G等)、及び共有チャネルに関連する他の情報を含んでもよい。ここで、ユーザは、携帯電話のようなユーザ機器(User Equipment, UE)に対応してもよい。
例えば、新たなユーザが共有チャネルに接続し、ネットワークトポロジ情報に基づいてそのユーザが唯一の現在アクティブなユーザであると決定された場合、そのユーザのための初期輻輳ウィンドウは、共有チャネルの全体の帯域幅を完全に利用するように設定され、それによって、輻輳制御アルゴリズムのスロースタート段階を完全に先取してもよい。異なる時点に、初期輻輳ウィンドウは、これらの異なる時点のそれぞれの現在のネットワークトポロジ情報に基づいて、共有チャネルに接続するユーザに異なるように設定されてもよい。
また、共有チャネル(すなわち、セル)に接続された多数のユーザが存在する場合、クラウドソースのデータに基づくネットワークトポロジ情報は、共有チャネルの新たなユーザのための初期輻輳ウィンドウを設定するために使用されてもよい。すなわち、初期輻輳ウィンドウは、共有チャネル内の他のユーザにより経験された性能に基づいて、新たなユーザのために設定されてもよく、これは、輻輳制御アルゴリズムのスロースタート段階を低減又は排除してもよい。
さらに、各共有チャネルは、その現在のネットワークトポロジ情報に基づいて、それぞれの初期輻輳ウィンドウを備えてもよい。一実施形態では、共有チャネル毎の初期輻輳ウィンドウは、毎秒又は一瞬(1秒未満)毎に動的にされてもよい。
一実施形態では、最適化システムは、クライアントからアドバタイズされたクライアント受信ウィンドウを受信し、それを設定可能な係数によりスケーリングし、スケーリングされた受信ウィンドウをアドバタイズされた受信ウィンドウとしてサーバ側にアドバタイズする。これは、システムがクライアントよりも速くサーバからのデータをACKすることを可能にし、それにより、システムがアドバタイズされたクライアント受信ウィンドウよりも大きいレートでデータをクライアントに配信することを可能にする。最適化システムは、バッファのボトルネックを除去する。続いて、クライアントがその後により速いレートで受信できる場合、システムは、サーバから更なるデータを要求する必要なく、最適化システムにバッファされたデータをより速いレートで送信する。最適化システムにより要求される更なるデータ又はスケーリングの量は、ネットワークトポロジ情報(例えば、ユーザセル位置及び目標スループット推定)、データボリューム配信、アプリケーションタイプ、ユーザモビリティの程度、又は静的な設定に基づいてもよい。すなわち、最適化システムは、ネットワークトポロジの理解及び他の関連する要因に基づいて、どのくらいの量のデータをサーバから要求するかを動的に設定してもよい。関連技術のTCPプロキシは、静的な設定を適用し、設定を動的に調整しない。これは、特に共有チャネル内のユーザの数及びアクティブユーザの数のような、ネットワークトポロジ情報のほとんどを知らないためである。
一実施形態では、クライアントインターネット側受信ウィンドウをスケーリングするために使用されるスケールアップ係数は、目標スループット推定精度及びeNodeBのバッファサイズに基づいて調整されてもよい。
一実施形態では、初期輻輳ウィンドウを設定した後に、輻輳制御プロセスは、輻輳回避段階に入ることを妨げる。輻輳回避段階は、輻輳ウィンドウをRTT当たり単一のパケットだけ成長させ、輻輳回避のための最適サイズに達するまで、かなりの遅延を生じる可能性がある。したがって、一実施形態によれば、輻輳制御は、プロトコルをスロースタート段階として開始するように設定する。
一実施形態では、輻輳制御プロセスは、最初に、「指数ヘッドスタート(exponential head start)」を使用してプロトコルを「高速(fast)」スロースタート段階(又は修正成長段階)に設定する。この実施形態の「高速」スロースタート段階では、初期輻輳ウィンドウは、より高い初期サイズに設定され、次いで、輻輳回避段階に到達するか或いは輻輳イベントが発生するまで、RTT当たり指数的に増加するステップサイズ(例えば、2パケット、4パケット、8パケット.....)で成長させる。すなわち、「高速」スロースタート段階の間、
CW(0)=EHS_size 式1A
CW(n)=CW(n-1)+initial_step_size×2n 式1B
であり、CW(0)は初期輻輳ウィンドウであり、nは1以上の整数であり、CW(n)は初期輻輳ウィンドウが設定されてからn個のラウンドトリップ時間(Round Trip Time, RTT)が経過した後の輻輳ウィンドウであり、EHS_sizeは最大セグメントサイズ(Maximum Segment Size, MSS)の2倍以上に等しくてもよい設定可能なパラメータであり、initial_step_sizeは1つ以上のMSSに等しくてもよい設定可能なパラメータである。EHS_size、initial_step_size又はこれらの双方は、それぞれ予め決定されてもよく、或いは、チャネルにおける現在の状態に従って決定されてもよい。
CW(0)=EHS_size 式1A
CW(n)=CW(n-1)+initial_step_size×2n 式1B
であり、CW(0)は初期輻輳ウィンドウであり、nは1以上の整数であり、CW(n)は初期輻輳ウィンドウが設定されてからn個のラウンドトリップ時間(Round Trip Time, RTT)が経過した後の輻輳ウィンドウであり、EHS_sizeは最大セグメントサイズ(Maximum Segment Size, MSS)の2倍以上に等しくてもよい設定可能なパラメータであり、initial_step_sizeは1つ以上のMSSに等しくてもよい設定可能なパラメータである。EHS_size、initial_step_size又はこれらの双方は、それぞれ予め決定されてもよく、或いは、チャネルにおける現在の状態に従って決定されてもよい。
一実施形態では、修正成長段階の速度は、所与の時点における対応する共有チャネルについてのネットワークトポロジ情報に基づいて動的に調整される。例えば、初期の成長は、RTT当たり4つのパケットに設定されてもよく、次いで、その共有チャネルについてのネットワークトポロジ情報に対する変化に基づいて、RTT当たり2つのパケットに調整されてもよい。
一実施形態では、スロースタート段階が終了すると、輻輳制御は、輻輳回避段階に入る代わりに、上記のような修正成長段階を適用し、それにより、パケットは、所与の時点におけるネットワークトポロジ情報に基づいて、RTT毎に1以上増加する。
一実施形態では、eNodeBは、クライアントに送信されるデータの大きいバーストを収容することができる大きいバッファを有する可能性があるので、輻輳制御プロセスが輻輳ウィンドウについての最適な輻輳回避値をアンダーシュートするよりもオーバーシュートする可能性が高くなるように、初期輻輳ウィンドウが積極的に設定されてもよい。したがって、一実施形態では、アドバタイズされたクライアント受信ウィンドウのスケールアップ係数は、初期輻輳ウィンドウをオーバーシュートするように構成される。スケールアップ係数は、目標スループット推定精度メトリックに基づいて静的又は自動的に設定できる。推定が正確であるほど、スケールアップ係数は保守的になる。正確さが劣ることは、ユーザ数が少ないことを意味し、これは共有が少ないことを意味するので、スケールアップ係数が高くなる可能性がある。
一実施形態では、目標スループットは、ネットワークからのサンプリングデータを使用し、特定のセル(ECI)についてのクラウドソースのデータを組み合わせ、各ユーザについての実際の公平なスループットが何であるかを学習することによって、初期輻輳ウィンドウについて推定される。この推定の精度は、利用可能なデータサンプルの数によって動かされ、そのデータサンプルはアクティブなユーザセッションに由来する。ユーザが多いほど、セッションが多くなり、推定が正確になる。
一実施形態では、目標スループット精度テーブルが生成される。このテーブルは、目標スループット推定の精度をアクティブユーザ数及びアクティブデータセッションのサンプル数と相関させる。精度レベルは、このテーブルから導出されてもよい。
さらに、このテーブルは、セルサイズ(例えば、5MHzセル、10MHz、20MHz等)に基づいて確立されてもよい。この理由は、5MHzセルについての良好な推定を達成するために適切な数のユーザと考えられるものは、20MHzセルについては十分ではない可能性があるからである。
一実施形態では、各ECI(又は共有チャネル)は、セルのピークスループット能力を学習するために(例えば、より低い使用時間の間に)監視される。ECI用のセルサイズバケットは、監視されたピークスループットに基づいて決定され、ECI毎のセルサイズレベル、例えば、セルサイズレベル1、2、3等を割り当ててもよい。これらのサイズレベルは帯域幅(MHz)に対応するものとすることができる。この情報は、目標スループット精度メトリックと同様に、初期輻輳ウィンドウアルゴリズムの目標スループット推定のデフォルトにおいて使用されてもよい。
一実施形態では、帯域幅推定の目的のために、RTTについて最大限界が設定される。例えば、RTTが2秒である場合、その値は最大値、例えば0.5秒に調整され、それによって、0.5秒を超えるものを0.5秒に設定する。
アクティブユーザのカウントが特定の閾値(セルサイズ推定に基づいてもよい)を下回る場合、スロースタートを苦にするほどのユーザは単に存在しない。一実施形態では、閾値は、アクティブユーザの数及びセルサイズに基づいて、或いは、アクティブユーザの最大数に対するアクティブユーザの数の割合に基づいて設定される。このような状況では、目標スループットは非常に大きく(例えば、100Mbps)設定されるか、或いは、セルサイズレベルについて報告されたピークスループットに設定される。
一実施形態では、最適化システムは、現在のユーザスループットに関するより多くの情報を提供する外部システムから更なる測定値(スループット又はRTT待ち時間等)を取得し、これを目標スループット推定のためのクラウドデータの一部として使用する。
例えば、TCPオプティマイザは、大容量ファイル(エレファント)の状態スループットを秒単位で測定してもよい。これらは、典型的には完全なネットワークチャネルを必要とし、より大きいデータバーストを有するデータセッションについて測定されるので、非常に良好なデータサンプルである。これらのエレファントスループットサンプルに関する情報は、最適化システムにより取得されてもよい。さらに、最適化システムは、これらのサンプルに重み付け係数を適用してもよい。
最適化システムはまた、UDP-QUICデータのための定常状態サンプルを取得してもよい。
一実施形態では、最適化システムは、どのセルがユーザを有しており、どのセルが有していないかを決定するために、履歴クラウドソース情報を使用する。このシステムは、閾値(例えば、アクティブユーザ、平均スループット等)に基づいて、来るべき間隔の間にセルが最適化されるべきか否かを決定できる。セルが最適化を必要としない場合、システムはそのセル内のユーザセッションを直接転送し、したがって、システムの計算リソースを節約する。
さらに、加入者フローがより大きいフローであることをシステムが検出した場合、初期輻輳ウィンドウの改善が最も大きい影響を有するより小さいフローについてトランスポート最適化が性能利得を提供する可能性が高いので、そのより大きいフローの最適化を中止し、システムリソースを節約することを決定してもよい。一実施形態では、一実施形態に対応する初期輻輳ウィンドウアルゴリズムは、エレファントフローであると決定されたフローには適用されない。
図1は、一実施形態による通信ネットワーク100を示す。ネットワーク100は、広域ネットワーク(Wide-Area Network, WAN)102(例えば、インターネット)、複数のセルラ無線アクセスネットワーク(Radio Access Network, RAN)104A及び104B、ケーブル又はDSLベースのインターネットアクセスネットワーク(Internet Access Network, IAN)106、及びWAN102に取り付けられた複数のサーバ114A及び114Bを含む。しかし、実施形態はこれに限定されない。
WAN102は、全てが互いに直接又は間接に通信する、複数のルータ110A及び110B、第1のゲートウェイ112A及び第2のゲートウェイ112Bを含む。ルータ110A及び110Bは、プロトコルスタックのネットワーキングレイヤで(例えば、TCP/IPプロトコルスタックのIP(Internet Protocol)レイヤで)動作して、パケットをルーティングする。すなわち、ルータ110A及び110Bは、IPデータグラムのIPヘッダにおいて提供される情報を使用して、これらの機能を実行する。
ゲートウェイ112A及び112Bは、プロトコルスタックのトランスポートレイヤ以上で動作する。例えば、ゲートウェイ112A及び112Bは、ユーザデータグラムプロトコル(User Datagram Protocol, UDP)ヘッダ、伝送制御プロトコル(Transmission Control Protocol, TCP)ヘッダ、及び/又は他のトランスポートレイヤプロトコルヘッダ内の情報を使用して動作してもよい。トランスポートレイヤプロトコルヘッダは、IPデータグラムのIPデータにカプセル化されている。
第1のゲートウェイ112Aはまた、RAN104A及び104Bの集約点として機能してもよい。さらに、第1のゲートウェイ112Aは、トランスポート管理及び監視及び制御機能をRAN104A及び104Bに提供してもよい。第1のゲートウェイ112Aは、バックホールネットワークを通じてRAN104A及び104Bと通信してもよい。
一実施形態では、第1のゲートウェイ112Aは、RAN104A及び104B上の輻輳に応じて公平なトランスポートプロトコルのリアルタイム最適化を含むトランスポート最適化をRAN104A及び104Bに提供する。第1のゲートウェイ112Aは、スループット、待ち時間、ラウンドトリップ時間、ジッタ、競合している同時発生フローの数等に関する情報のように、RAN104A及び104Bのそれぞれにおけるトラフィックに関するリアルタイム情報を受信してもよく、公平なトランスポートプロトコルのリアルタイム最適化を実行するためにリアルタイム情報を使用してもよい。
同様に、第2のゲートウェイ112Bは、IAN106の集約点として機能し、トランスポート管理、監視及び制御機能をIAN106に提供し、IAN106上の輻輳に応じて、公平なトランスポートプロトコルのリアルタイム最適化を含むトランスポート最適化をIAN106に提供する。
第1のRAN104Aは、第1の基地局120Aと、共有無線周波数(radio-frequency, RF)リソース上で第1の基地局120Aと無線通信する複数のユーザ機器(User Equipment, UE)122A、122B及び122Cとを含む。第2のRAN104Bは、第2の基地局120Bと、共有RFリソース上で第2の基地局120Bと無線通信する複数のUE122D及び122Eとを含む。UE122A~122Eは、WAN102と、基地局120A及び120B並びに第1のゲートウェイ112Aを介して通信する。基地局120A及び120Bは、進化型ノードB(Evolved Node B, eNodeB)、基地トランシーバ局(Base Transceiver Station, BTS)等でもよく、UE122A~122Eは、携帯電話、無線ホットスポット、セルラモデムを有するコンピュータ等でもよいが、実施形態はこれらに限定されない。
IAN106は、複数のローカルエリアネットワーク(Local Area Network, LAN)130A及び130Bを第2のゲートウェイ112Bに接続する共有有線リソース108(例えば、同軸ケーブル、光ファイバケーブル等又はこれらの組み合わせ)を含む。LAN130A及び130Bは、共有有線リソース108の有限の帯域幅を求めて競合してもよい。
第1のLAN130Aは、第1のLAN130A上のデバイスをWAN102に共有有線リソース108を通じて接続するための統合型モデム及びルータ132を含んでもよい。複数のネットワーク接続されたデバイス134A、134B及び134Cは、例えば銅線上の1000Base-T Ethernetにより、統合型モデム及びルータ132に接続されてもよい。
第2のLAN130Bは、第2のLAN130B上のデバイスをWAN102に共有有線リソース108を通じて接続する統合型モデム、ルータ及び無線アクセスポイント(Access Point, AP)136を含んでもよい。したがって、第2のLAN130Bは、無線LAN(Wireless LAN, WLAN)でもよい。複数のステーション(station, STA)138A、138B、及び138Cは、統合型モデム、ルータ及びAP136に、例えば共有無線周波数リソースを使用するWi-Fi(登録商標)技術を使用して無線接続されてもよい。
第1の及び第2のサーバ114A及び114Bは、WAN102に接続されたデバイスにサービスを提供してもよい。提供され得るサービスの例は、クラウドコンピューティング、クラウドストレージ、ソーシャルネットワーキング、ストリーミングビデオ等を含む。第1及び第2のサーバ114A及び114Bのそれぞれは、特定のタイプのコンテンツを配信してもよい。例えば、第1のサーバ114Aは専用ビデオオンデマンドサーバでもよく、この場合、サーバ114Aから来るトラフィックはビデオトラフィックであると推定されてもよい。
図2は、いくつかの実施形態に関連する通信プロトコルスタックを示す。左側は、7個のレイヤを有するオープンシステムインターコネクト(Open System Interconnect, OSI)プロトコルスタックモデル(以下、OSIスタックという)であり、伝送制御プロトコル/インターネットプロトコル(Transmission Control Protocol/Internet Protocol, TCP/IP)プロトコルスタック(以下、TCP/IPスタックという)は4個のレイヤを有する。OSIスタックの下位の2つのレイヤは、TCP/IPスタックの最下位(イーサネット(Ethernet))に対応し、OSIスタックの上位の3つのレイヤ(アプリケーション、プレゼンテーション及びセッション)はTCP/IPスタックのアプリケーションレイヤに対応する。
OSIスタックの物理(Physical)レイヤは、物理コネクタ及び信号の電気的仕様を扱い、デジタル信号が伝送される媒体(例えば、ツイストペア、同軸ケーブル、光ファイバ、無線等)に対応する。
OSIスタックのデータリンクレイヤは、データの論理構造化パケット(すなわち、フレーム)への及びそれからの物理レイヤの生ビットの変換を扱い、或るホストから他のホストにフレームを転送する。
TCP/IPスタックのイーサネットレイヤは、OSIスタックの物理及びデータリンクレイヤの双方の機能を提供する。
OSIスタックのネットワーキングレイヤは、宛先及び送信元を指定するために機械のネットワークレイヤアドレスを使用して、ネットワーク内のシステムの間のデータ転送(すなわち、エンドツーエンド転送)を扱う。ルータは、このレベルで動作して、トラフィックを管理し方向付ける。TCP/IPスタックのIPレベルは、この機能を提供する。
OSIスタックのトランスポートレイヤは、システム上で動作する送信元プロセスと宛先プロセスとの間でデータを転送する。通常では、2つのコネクションモード、すなわち、コネクション指向(connection-oriented)及びコネクションレス(connectionless)が認識されている。
コネクション指向モードは、専用仮想回線を確立し、様々なグレードの保証型配信を提供し、受信されたデータが送信されたデータと同一であることを保証する。TCP/IPスタックのTCPは、コネクション指向トランスポートレイヤモードに対応する。
コネクションレスモードは、誤り訂正する組み込み能力を有しないベストエフォートサービスのみを提供し、これは、データ送信元に障害を通知することなくデータの損失を完了させることを含む。論理的なコネクションがなく、エンドポイント間にトランザクションの一貫した状態なく、コネクションレスモードに、音声及びビデオ伝送のような時間に厳格なアプリケーションのために低オーバヘッド及び潜在的にはより良好なリアルタイム性能を加える。TCP/IPスタックのUDPは、コネクションレストランスポートレイヤモードに対応する。
OSIスタックのセッションレイヤは、コンピュータの間のコネクションを制御する。これは、ローカルアプリケーションとリモートアプリケーションとの間のコネクションを確立、管理及び終端し、他の機能の中でも全二重、半二重又は単信動作を提供してもよい。OSIスタックのプレゼンテーションレイヤは、アプリケーションレイヤからのデータタイプを定義し、暗号化/解読し、JPEG、MPEG及びGIFのようなプロトコルを含んでもよい。OSIスタックのアプリケーションレイヤは、各アプリケーションが他のアプリケーションとどのように話すかを追跡し、宛先及び送信元アドレスを特定のアプリケーションにリンクしてもよい。TCP/IPスタックのアプリケーションレイヤは、OSIスタックのセッション、プレゼンテーション及びアプリケーションレイヤの機能に対応する。
図3は、一実施形態による通信ネットワーク300におけるデータ転送を示す。図3の例示的な例では、情報は、UE304とサーバ308との間をルータ306及びゲートウェイ310を通じて流れるが、実施形態はこれに限定されず、典型的には、UE304は、少なくとも1つのゲートウェイ308及び複数のルータ306を通じてサーバ308と通信する。
図3において、RAN318の基地局302は、無線通信をUE304に提供し、RAN318の輻輳関連情報316をゲートウェイ310に提供する。一実施形態では、他のノード、例えば隣接基地局又は近くのUEも、ゲートウェイ310に提供される輻輳関連情報を提供してもよい。代替として、ゲートウェイ310は、その内部メカニズム又は内部で実行しているプロセスから輻輳関連情報を取得してもよい。輻輳関連情報316は、リアルタイムトランスポート輻輳メトリックを含んでもよい。例えば、基地局302は、RAN318のeNodeBでもよく、eNodeBによりサービス提供されているデータトランスポートセッションの全てに関連する輻輳メトリックを供給してもよい。
輻輳関連情報316に含まれるリアルタイムトランスポート輻輳メトリックは、トランスポートネットワークを現在共有しているユーザの数、各ユーザのリアルタイムスループット、超過リソース要求による過負荷に起因するデータパケットの処理において生じる遅延(すなわち、輻輳)、無線環境のチャネル品質インジケータ(Channel Quality Indicator, CQI)、データトランスポートセッションの送信元及び宛先のユーザ情報、及びデータトランスポートセッションの優先度レベルのうち1つ以上でもよい。しかし、実施形態はこれに限定されない。
UE304から流れる情報及びUE304に流れる情報は、UE304内のOSIスタックの全ての7個のレイヤ(又は等価なTCP/IPレイヤ)により処理されてもよく、サーバ308内のOSIスタックの全ての7個のレイヤ(又は等価なTCP/IPレイヤ)により処理されてもよい。
ルータ306では、UE304から流れる情報及びUE304に流れる情報は、OSIスタックの下位の3つのレイヤ(又はTCP/IPスタックのイーサネット及びIPレイヤ)によってのみ処理されてもよい。例えば、ルータ306は、パケットのIPデータ内に符号化された情報を使用することなく、パケットのIPヘッダ内の情報を使用して、ルータ306を通過するパケットを処理してもよい。
これに対し、ゲートウェイ310では、パケットは、トランスポートレイヤ314のヘッダ内の情報に従って処理されてもよい。このヘッダは、ネットワークレイヤフレームのデータ内に含まれる。例えば、ゲートウェイ310は、IPフレームのIPデータに含まれるTCP又はUDPヘッダに従ってパケットを処理してもよい。さらに、ゲートウェイ310は、トランスポートレイヤ314ヘッダを変更してもよく、輻輳関連情報316に従ってこれを行ってもよい。
ゲートウェイ310は、基地局302からの受信に加えて、1つ以上の他のネットワークノードから輻輳関連情報316を受信してもよい。
一実施形態では、ゲートウェイ310は、輻輳関連情報に応じて、トランスポートレイヤ314内でヘッダを解釈し及び変更することにより、ネットワーク管理機能を提供するトランスポート最適化プロセス312を含む。実施形態では、ゲートウェイ310は、ゲートウェイ310又は外部データベースに記憶されたトランスポート輻輳プロトコルに従って、ネットワーク管理機能を実行してもよい。ネットワーク管理機能は、データトランスポートセッションに基づいて実行されてもよい。ネットワーク管理機能は、ネットワーク上の輻輳を防ぐために、データトランスポートセッションにより使用されるパケットレート(したがって帯域幅)を制御することを含んでもよい。
一実施形態では、ゲートウェイ310は、RAN318をWANと接続する境界トラフィック集約点の部分である。例えば、第3世代パートナーシッププロジェクト(3rd Generation Partnership Project, 3GPP)標準のモバイルネットワークでは、集約点は、パケットデータネットワーク(Packet Data Network, PDN)ゲートウェイコアエレメントに接続するsGi-LANの部分であり、インターネットに向かい外向きである。他の実施形態では、集約点は、ゲートウェイGPRSサポートノード(gateway GPRS support node, GGSN)に接続するGi-LANの部分であり、インターネットに向かい外向きである。しかし、他の実施形態では、ゲートウェイ310は他の場所に配置される。
一実施形態では、トランスポート最適化プロセス312のような、輻輳認識型トランスポート最適化解決策を実装するデバイスは、図3に示すように、データトランスポートセッションに沿って直接展開されてもよい。他の実施形態では、トランスポート最適化プロセス312を実装するデバイスは、データトランスポートセッションを搬送するパスの外側にあってもよい。この場合、デバイスは、所望のトランスポート最適化を達成するために、他のネットワークエレメントに且つ他のネットワークエレメントから制御メッセージを送信及び受信してもよい。
いくつかの実施形態では、ゲートウェイ310は、RAN318を含む1つ以上のネットワークにサービス提供するコンテンツ配信ネットワークの部分でもよい。様々な実施形態によれば、ゲートウェイ310は、ネットワークノードに配置されてもよく、或いは、UE304とサーバ308との間の(又はこれらを含む)エンドポイントに配置されてもよい。
実施形態では、ゲートウェイ310は、UE304を含む1つ以上のユーザデバイスにサービス提供する基地局、基地局コントローラ又はアクセスポイントに配置されてもよい。
一実施形態では、トランスポート最適化プロセス312は、データトランスポートセッションに関連するアプリケーション又はアプリケーションのタイプに従って、ネットワーク管理機能を実行する。例えば、データトランスポートセッションが専用のビデオオンデマンドサーバへのコネクションであると決定されると、トランスポート最適化プロセス312は、ビデオストリームに特有の公平なポリシーを使用して、ネットワーク管理機能を実行してもよい。
一実施形態では、トランスポート最適化プロセス312がデータトランスポートセッションに関係する輻輳関連情報316を受信しないとき(例えば、輻輳認識型トランスポートノードが存在しないとき、或いは、輻輳認識型トランスポートノードが輻輳関連情報を他のネットワークノードに送信できないとき)、トランスポート最適化プロセス312は、自身の輻輳検出方法を実施してもよい。
輻輳関連情報が外部ノードから配信されるか又は内部で導出されるかにかかわらず、トランスポート最適化プロセス312は、トランスポートネットワーク内のパスの分岐に関連するとき、輻輳情報のキャッシュを維持及び更新する。データトランスポートセッションは共通集約点を有するが、異なる輻輳プロファイルを構成し、したがってトランスポート最適化解決策による区別の必要となり得る分岐パスが、ネットワークに渡ってしばしば存在する。
TCPを使用するデータトランスポートセッションでは、トランスポート最適化プロセス312は、輻輳主要性能指標(Key Performance Indicator, KPI)キャッシュをクエリして、適切な開始輻輳ウィンドウサイズを発見してもよい。これは、トランスポートネットワークリソースの公平な割り当てを迅速に取得するために、どれだけ速くデータトランスポートセッションがパケット送信を開始すべきかを制御する。トランスポート最適化プロセス312は、データトランスポートセッションを最適化し続けるので、更新された輻輳メトリックも受信又は導出し、輻輳のレベルに相応するようにデータトランスポートセッションの伝送レートを絶えず更新している。
輻輳したトランスポートネットワークに存在するTCPデータトランスポートセッションでは、公平なウィンドウは、輻輳のレベルにとって適切なレートで保持されてもよい。例えば、10Mbpsトランスポートリンクが5個の同時発生データトランスポートセッションにより中程度に(~50%)輻輳している場合、トランスポート最適化プロセス312は、トランスポートネットワーク能力の各データトランスポートセッションの公平な割り当てに対してトランスポートスループットを迅速に設定してもよい。これに対して、最適化されていない従来の競合するTCPデータセッションは、これらのトランスポート速度を絶えず増加させようとすることにより、基本的には個々の最大スループットを達成するために互いに争うことにより、トランスポートネットワーク上の輻輳を増加させる可能性がある。
公平なアルゴリズムをプロトコルスタックの部分として実装するUDPトランスポートプロトコル(すなわち、クイックUDPインターネットコネクション(Quick UDP Internet Connection, QUIC)プロトコル)の場合、輻輳認識型トランスポート最適化プロセス312は、上記の減速技術を過度の(over the top)管理プロトコルとして実行してもよい。公平なUDPデータセッションが輻輳したトランスポートネットワークに確立されると、トランスポート最適化プロセス312は、データトランスポートセッションが伝送可能なレートを低減し、リアルタイムトランスポート輻輳メトリクスに基づいて許容トランスポートレートを絶えず更新してもよい。
図4は、一実施形態によるトランスポート最適化システム400の動作を示す。トランスポート最適化システム400は、ゲートウェイ402、サーバ406及びRAN410を含む。RAN410は、UE414へのデータ通信を提供する基地局412を含む。
基地局412は、RAN410についての輻輳関連データ418をゲートウェイ402に提供する。輻輳関連データ418は、スループット、待ち時間、ラウンドトリップ時間、ジッタ、トラフィックタイプの分布(例えば、ショートパケット及びロングパケットの数)及び競合している同時発生フローの数のうち1つ以上を含んでもよい。一実施形態では、ゲートウェイ402は、ゲートウェイ402と他の装置との間の個々のリンクに関する輻輳情報及びネットワークの他の部分に関する輻輳情報のように、受信した輻輳関連データ418に更なる情報を追加してもよい。
UE414は、RAN410を通じて、第1のTCPデータパケット420を、データトランスポートセッションの部分としてゲートウェイ402へ伝送してもよい。第1のTCPデータパケット420は、サーバ406への配信を目的としている。ゲートウェイ402は、データトランスポートセッションに関連する輻輳プロトコル及び輻輳関連データ418を使用して、データトランスポートセッションにより使用される帯域幅が低減されるべきであると決定してもよい。
一実施形態では、データトランスポートセッションにより使用される帯域幅が低減されるべきであると決定したことに応じて、ゲートウェイ402は、TCPヘッダ内の明示的輻輳通知(Explicit Congestion Notification, ECN)ビットを「11」に設定することにより、第1のTCPデータパケット420を変更して、第2のTCPデータパケット422を生成する。次いで、第2のTCPデータパケット422は、サーバ406にルーティングされる。
第2のTCPデータパケット422に応じて、サーバ406は、UE414への配信を目的とした第1の確認応答(Acknowledgement, ACK)424を送信する。第1のACK424は、1に設定されたECNエコー(ECN Echo, ECE)ビットを含む。
ゲートウェイは、第1のACK424を、TCPレベルで第1のTCP ACK424と同一である第2のACK426として、UE414に転送する。
1に設定されたECNエコービットを有する第2のTCP ACK426を受信したことに応じて、UE414は、データトランスポートセッションに関連する輻輳ウィンドウ416のサイズを低減し、したがって、データトランスポートセッションのパケットレート(したがって、帯域幅)を減少させる。
図5は、一実施形態を実装するために使用され得るコンピュータシステム500を示す。コンピュータシステム500は、例えば、非一時的なコンピュータ読み取り可能媒体に記憶されたコンピュータプログラミング命令を実行することにより、実施形態を実装してもよい。
コンピュータシステム500は、プロセッサ502、メモリ504、入力インタフェース及びデバイス514、出力インタフェース及びデバイス516、及びストレージのうちの1つ以上を含んでもよい。これらのそれぞれは、バス、ファブリック又は他の相互接続技術を通じて互いに通信する。コンピュータシステム500はまた、ネットワークに結合された1つ以上のネットワークインタフェース512を含んでよい。例えば、コンピュータシステム500が、ルータ又はゲートウェイを実装するために使用されるとき、コンピュータシステム500は、コンピュータシステム500の各物理レイヤネットワークコネクションのためのネットワークインタフェース512を含んでもよい。
プロセッサ502は、メモリ504及び/又はストレージ510に記憶された処理命令を実行する中央処理装置(central processing unit, CPU)又は半導体デバイスでもよい。メモリ504及びストレージ510は、様々な形式の揮発性又は不揮発性記憶媒体を含んでもよい。例えば、メモリ504は、読み取り専用メモリ(read-only memory, ROM)508、及びランダムアクセスメモリ(random access memory, RAM)506を含んでもよく、ストレージは、ハードディスクドライブ(Hard Disk Drive, HDD)、ソリッドステートドライブ(Solid State Drive, SSD)等を含んでもよい。
図6は、一実施形態によるトランスポート最適化のために輻輳情報を使用するプロセス600を示す。プロセス600は、図4のトランスポート最適化システム400のようなトランスポート最適化システムにおいて、特にこのようなシステムのトラフィックマネージャにより実行されてもよい。プロセス600は、トランスポート輻輳プロファイル検索を使用して、輻輳認識型公平帯域幅制御を実装する。図3のトランスポート最適化プロセス312の実施形態は、プロセス600を含んでよい。
S602において、プロセス600は、新たなデータトランスポートセッションを検出する。データトランスポートセッションは、例えば、ユーザデバイス(例えば、図4のUE414)により開始され且つユーザデバイスをサーバ(例えば、図4のサーバ406)に接続するTCPセッションでもよい。しかし、実施形態はこれに限定されない。
プロセス600は、トランスポートレベルパケットを監視することにより、新たなデータトランスポートセッションを検出してもよい。例えば、プロセス600は、SYN、SYN+ACK及びACKメッセージから構成されるTCP「3ウェイハンドシェイク」を検出することにより、新たなTCPデータトランスポートセッションを検出してもよい。TCPデータトランスポートセッションの場合、プロセス600は、メッセージのIPヘッダ内の送信元及び宛先アドレス並びにメッセージのTCPヘッダ内の送信元及び宛先ポートを使用して、メッセージがデータトランスポートセッションに関連するか否かを決定してもよい。
プロセス600はまた、例えば、UDP及びQUICデータトランスポートセッション等も検出してもよい。実施形態では、プロセス600は、いずれかのトランスポートレイヤプロトコルのデータトランスポートセッションを検出してもよい。
S604において、プロセス600は、検出されたデータトランスポートセッションが公平な(fair-share)プロトコルのものであるか否かを決定する。例えば、TCP及びQUICは、公平なプロトコルであり、UDPは公平なプロトコルではない。検出されたデータトランスポートセッションが公平なプロトコルではないとき、S604において、プロセス600が終了し、そうでない場合、プロセス600はS606に進む。
S606において、プロセス600は、検索を実行して、データトランスポートセッションに適用可能なトランスポート輻輳プロファイルが存在するか否かを決定する。プロセス600は、データトランスポートセッションのエンドポイントがメンバーである特定のサブネットワーク(図4のRAN410、又は図1のRAN104A及び104B並びにIAN106のうち1つ等)のトランスポート輻輳プロファイルの検索を実行してもよい。
例えば、図4のUE414がデータトランスポートセッションのエンドポイントであるとき、プロセス600は、ユーザ機器414がメンバーである図4のRAN410のトランスポート輻輳プロファイルのデータベース内のトランスポート輻輳プロファイルを検索して選択してもよい。他の例では、図1のネットワークデバイス134Aがデータトランスポートセッションのエンドポイントであるとき、プロセス600は、図1のIAN106のトランスポート輻輳プロファイルのデータベース内のトランスポート輻輳プロファイルを検索して選択してもよい。
S606において適用可能なトランスポート輻輳プロファイルが見つかると、S608において、プロセス600はS610に進み、そうでない場合、プロセス600はS612に進む。
S610において、プロセス600は、S606において選択されたトランスポート輻輳プロトコルの出力を使用して、データトランスポートセッションに適用可能な適切な公平なポリシーを検索して選択し、公平なポリシーをデータトランスポートセッションに適用する。次いで、プロセス600はS640に進む。
公平なポリシーの適用は、インバンド又はアウトオブバンドシグナリングによりデータトランスポートセッションにより使用される帯域幅を制御することを含んでもよい。例えば、プロセス600は、図4に示すように、TCPパケットのECNビットを「11」に設定することによりデータトランスポートセッションのTCPデータパケットを変更することによって、データトランスポートセッションの帯域幅を制御してもよい。他の例では、プロセス600は、ACKメッセージのECNエコービットを「1」に設定することによりデータトランスポートセッションのACKメッセージを変更することによって、データトランスポートセッションの帯域幅を制御してもよい。
プロセス600は、関連技術の輻輳管理解決策と比べて、利用可能な更なる情報を利用する。その結果、関連技術の解決策による輻輳の指示と考えられるいくつかの指示は、プロセス600により輻輳の指示と考えられなくてもよく、関連技術の解決策が認識しないいくつかの指示が、プロセス600により輻輳の指示と考えられてもよい。したがって、プロセス600は、ネットワーク内の現在の状態に基づいて、リアルタイムに動的に輻輳関連調整を実行してもよい。
例えば、一時的な干渉により、RANのパケット待ち時間が16msから90msに増加するとき、関連技術の輻輳管理解決策は、輻輳と考え、その輻輳ウィンドウを相応して調整する可能性がある。これに対して、プロセス600の一実施形態では、一時的な干渉により引き起こされる待ち時間の増加は、必ずしも輻輳の指示であると考えられず、したがって、必ずしも輻輳ウィンドウの調整を生じないが、同時ユーザの数の増加(したがって、伝送されるデータの量の増加)に関連する待ち時間の増加が、輻輳の指示であると考えられ、1つ以上の輻輳ウィンドウの調整を引き起こしてもよい。このように、プロセス600は、許容可能な正常な変動であり輻輳に起因しない性能指示の変動と、性能指示及び確実に輻輳を示す性能指示の組み合わせの変動との間を区別する。
S608においてトランスポート輻輳プロファイルが見つからなかったことに応じて、S612において、プロセス600は、デフォルトの公平なポリシーに基づいてトランスポート輻輳プロファイルを作成する。次いで、プロセス600は、作成されたトランスポート輻輳プロファイルを適切なデータベースに記憶してもよい。例えば、データトランスポートセッションがエンドポイントとしてRAN内のユーザデバイスを有するとき、プロセス600は、作成されたトランスポート輻輳プロファイルをRANのトランスポート輻輳プロファイルのデータベースに記憶してもよい。
S614において、プロセス600は、作成されたトランスポート輻輳プロファイルに関連するトラフィックを監視し、関連する輻輳レベルを決定するために輻輳分析を実行し始める。
S616において、プロセス600は、S614において決定された輻輳レベルに従って、作成されたトランスポート輻輳プロファイルを適合させる。典型的には、単一のトランスポートセッションに影響する多数の変数が存在するので、どの2つのセッションも同じではない。したがって、適切な輻輳プロファイルは、より大きいトランスポートネットワークに関する情報及び各セッションに関して測定された情報に基づいて、トランスポートセッション毎に採用される必要がある。例えば、同じeNodeBセルサイト上の2つのセッションは、セルサイトへのこれらの信号強度に起因して、2つの異なるTCP輻輳プロファイルを有することができる。すなわち、これらのセッションのそれぞれは、2つのセッションが同じセルサイトにあったとしても、自身の状態に対して採用された異なる輻輳プロファイルを提供される。次いで、プロセス600はS642に進む。
S640において、プロセス600は、データトランスポートセッションが終了したか否かを決定する。データトランスポートセッションが終了したとき、プロセス600が終了し、そうでない場合、プロセス600はS610に進む。
S642において、プロセス600は、データトランスポートセッションが終了したか否かを決定する。データトランスポートセッションが終了したとき、プロセス600が終了し、そうでない場合、プロセス600はS612に進む。一実施形態では、(例えば、S640又はS642において)セッションが終了したとき、そのセッションの輻輳プロファイルは、後のセッションによる使用のためにデータベースに追加される。
図7は、他の実施形態によるトランスポート最適化のために輻輳情報を使用するプロセス700を示す。プロセス700は、アプリケーション及びトランスポートネットワーク輻輳の双方を認識する。すなわち、データトランスポートセッションを管理するとき、プロセス700は、データトランスポートセッションによりトラバースされるネットワーク内の現在の輻輳レベルと、データトランスポートセッションを使用するアプリケーションの双方を考慮する。図3のトランスポート最適化プロセス312の実施形態は、プロセス600を含んでよい。
プロセス700は、トランスポートネットワーク輻輳レベル及び要求側アプリケーションの双方に基づいて、公平なポリシーを実装してもよい。例えば、トランスポートセッションがQUICプロトコルを使用してYouTube(登録商標)アプリケーションにより確立された場合、プロセス700は、アプリケーション特有の要件及びKPI並びにトランスポートネットワークの輻輳レベルに基づいて、適切な伝送レートを決定してもよい。YouTube QUICデータセッションが輻輳したネットワークをトラバースした場合、プロセス700は、YouTubeのようなビデオアプリケーションが初期バッファ時間を低減するために最初のフレームまでの時間を速くすることに依存することを知っており、YouTube QUICデータセッションのより速いスループットを最初に許可してもよい。次いで、特定の時間又はデータ量がアプリケーションに配信された後に、プロセス700は、YouTube QUICデータセッションのデータレートを低減し、他のアプリケーションタイプがチャネルリソースに対して優先度を有することを可能にする。ここでも同様に、YouTubeのようなアプリケーションが、ビデオアプリケーションに悪影響を与えることなく、トランスポートネットワーク性能の変動に耐えることができるバッファシステムとして動作するという知識に依存する。
一実施形態では、プロセス700は、これらのセッションの特定の特性に基づいて、同じネットワーク(例えば、同じセルサイト)に関連する1つ以上のセッションを優先してもよい。例えば、同じセルサイト上に複数のセッションが存在する場合、プロセス700は、少ない時間若しくは少ないバイト又はこれらの双方で伝送しているセッションのフローを加速させるために、延長期間の間に伝送しているフローのうち1つ以上の送信レートを一時的に低減してもよい。これは、これらの加速されたセッションが、これらの伝送をより迅速に終了させ、セルサイトにおけるネットワークリソースの競合を低減することを可能にし、それにより、より多くの持続性セッションに対して利用可能なネットワークリソースを増加させる。一実装では、プロセス700は、複数のセッションが相互トラフィック競合に起因して同じセルサイト上でネットワーク伝送遅延を生じている場合、加速されたフローの1つ以上のセッションを優先させる。
一実施形態では、プロセス700は、データトランスポートセッションのエンドポイントのIPアドレスから、アプリケーションの種類を決定してもよい。例えば、エンドポイントとしてYouTube(登録商標)ビデオサーバに関連するIPアドレスを有するデータトランスポートセッションは、オンデマンドビデオアプリケーションのデータを搬送していると考えられてもよく、一方で、エンドポイントとしてWorld of Warcraft(登録商標)サーバに関連するIPアドレスを有するデータトランスポートセッションは、オンラインリアルタイムゲームアプリケーションのデータを搬送していると考えられてもよい。
プロセス700によりS702、S704、及びS706において実行される動作は、プロセス600によりS602、S604、及びS606において実行される動作に対応する。したがって、これらの詳細は簡潔にするために省略される。
S706において、プロセス700は、検索を実行して、データトランスポートセッションに適用可能なトランスポート輻輳プロファイルが存在するか否かを決定する。プロセス700は、図6のS606について説明したように、データトランスポートセッションのエンドポイントがメンバーである特定のサブネットワークのトランスポート輻輳プロファイルを求めて検索を実行してよい。
S706において適用可能なトランスポート輻輳プロファイルが見つかると、S708において、プロセス700はS724に進み、そうでない場合、S708で、プロセス700はS720に進む。
S708においてトランスポート輻輳プロファイルが見つからなかったことに応じて、S720において、プロセス700は、デフォルトの公平なポリシーに基づいてトランスポート輻輳プロファイルを作成する。次いで、プロセス700は、作成されたトランスポート輻輳プロファイルを適切なデータベースに記憶してもよい。例えば、データトランスポートセッションがエンドポイントとしてRAN内のユーザデバイスを有するとき、プロセス700は、作成されたトランスポート輻輳プロファイルをRANのトランスポート輻輳プロファイルのデータベースに記憶してもよい。
S722において、プロセス700は、作成されたトランスポート輻輳プロファイルに関連するトラフィックを監視し、関連する輻輳レベルを決定するために輻輳分析を実行し始める。一実施形態では、S722は、輻輳ポリシーが事前に分かっていないセッションについて実行される。セッションの特性は、その輻輳レベルを決定して輻輳レベルを低減するための適切な動作を決定するために、測定される。
S724において、プロセス700は、データトランスポートセッションを担うアプリケーションを識別する。プロセス700は、例えば、データトランスポートセッションのエンドポイントのIPアドレスに対して逆ドメイン名サービス(Domain Name Service, DNS)検索を実行することにより、データトランスポートセッションで搬送されるデータの内容を検査することにより、或いは、アプリケーションの挙動の既知のパターンを認識することにより、アプリケーションを識別してもよい。
S730において、プロセス700は、S724において識別されたアプリケーションについて、アプリケーション特有の公平なポリシーが存在するか否かを決定する。S724においてアプリケーションが識別されなかった場合、プロセス700は、データトランスポートセッションについてアプリケーション特有の公平なポリシーが存在しないと決定する。S724においてアプリケーションが識別された場合、プロセス700は、アプリケーション特有の公平なポリシーのデータベースを検査し、決定されたアプリケーションについてアプリケーション特有の公平なポリシーが存在するか否かを決定する。
一実施形態では、アプリケーション特有の公平なポリシーのデータベースは、サブネットワーク又はサブネットワークのタイプに特有のものでもよい。例えば、このようなポリシーの第1のデータベースはRANについて存在してもよく、このようなポリシーの第2のデータベースはケーブルIANについて存在してもよい。使用されるデータベースは、データトランスポートセッションを搬送するサブネットワークのタイプ又はデータトランスポートセッションのエンドポイントに関連するサブネットワークのタイプにより決定されてもよい。
プロセス700が、S730においてデータトランスポートセッションについてアプリケーション特有の公平なポリシーが存在しないと決定すると、プロセス700はS736に進み、そうでない場合、プロセス700はS732に進む。
S732において、プロセス700は、S724において識別されたアプリケーションに対応するアプリケーション輻輳プロファイルを検索する。
S734において、プロセス700は、S706において選択されたトランスポート輻輳プロトコルの出力を使用して、S724において決定したアプリケーションに適用可能な適切な公平なポリシーを検索して選択し、公平なポリシーをデータトランスポートセッションに適用する。次いで、プロセス700はS738に進む。
S736において、プロセス700は、S706において選択されたトランスポート輻輳プロトコルの出力を使用して、データトランスポートセッションに適用可能な適切な公平なポリシーを検索して選択し、公平なポリシーをデータトランスポートセッションに適用する。次いで、プロセス700はS738に進む。
S738において、ネットワーク状態は絶えず変化しており、したがって、輻輳プロファイルは同じネットワーク上の新たなフローからの情報に基づいて更新される必要があるので、プロセス700は、リアルタイム輻輳メトリックに基づいて、トランスポート輻輳プロファイルを更新する。
S740において、プロセス700は、データトランスポートセッションが終了したか否かを決定する。データトランスポートセッションが終了したとき、S740のようにプロセス700が終了し、そうでない場合、プロセス700はS730に進む。
本明細書で使用される場合、「加入者」は、システムに加入しているUEを示す。「チャネル」は、無線ネットワークのセルのような無線通信チャネルを示す。セルは、eNodeBのセクタのキャリア(すなわち、600MHz、700MHz、850MHz、1700/2100MHz、1900MHz、2300MHz又は他のキャリア周波数に関連する帯域幅のような動作帯域幅)に対応してもよい。例えば、3つのセクタを有し、各セクタにおいて850MHz及び39,000MHZのキャリアをサポートするeNodeBは、6つのセルを有し、各セルは固有の識別子を有する。セルの固有の識別子は、E-UTRANセル識別子(Evolved UMTS Terrestrial Radio Access(E-UTRAN) Cell Identifier, ECI)又はE-UTRANグローバルセル識別子(E-UTRAN Global Cell Identifier, ECGI)でもよい。
2019年3月25日に出願されて米国公開第2019/0296991A1号として公開された「COORDINATED DATA SHARING IN VIRTUALIZED NETWORKING ENVIRONMENTS」という名称の米国特許出願第16/363,749号は、データセッションのエンドポイント(IPアドレスにより示される)とネットワーク内のそのエンドポイントの位置(例えば、ECI又はECGIにより識別されるセル)との間の関係を発見するための技術を提供する。その出願に開示されているように、制御インタフェース上のメッセージ(4G LTE無線ネットワークのS1-MMEインタフェース等)は、データセッションで使用されるIPアドレスと、無線ネットワークの一部、すなわち、セルを示す識別子(例えば、ECI)との間のマッピングを決定するために監視されてもよい。マッピングは、マッピングデータベースに記憶され、UEがネットワーク内で移動するにつれて、データセッションが開始及び終了するにつれて更新される。次いで、データセッション分析を決定するために、データセッションが分析されてもよい。データセッション分析は、データセッションのデータセッションスループット、サイズ、待ち時間及びIPアドレスを含んでもよい。マッピングデータベース内の情報は、無線ネットワークの一部の識別子(例えば、セルを識別するECI)をデータセッション分析に追加するために使用されてもよい。次いで、ECIタグ付きデータセッション分析は、本開示の実施形態においてサンプルとして使用されてもよい。
図8は、一実施形態による新たなコネクションの初期輻輳関連特性を決定するためのプロセス800を示す。プロセス800は、図3のトランスポート最適化312、UEにより実行される通信プロキシプログラム又はこれらの組み合わせのような最適化システムを使用して実行されてもよいが、実施形態はこれに限定されない。プロセス800は、デバイスのインターネット側受信ウィンドウをスケーリングすること、初期輻輳ウィンドウを決定すること、初期輻輳ウィンドウアルゴリズムを選択すること、又はこれらの組み合わせにより動作してもよい。
プロセス800は、S802において、要求されている新たなコネクションに応じて開始する。
S804において、プロセス800は、コネクションが伝送制御プロトコル(Transmission Control Protocol)コネクションであるか否かを決定する。コネクションがTCPコネクションであると決定されると、S804において、プロセス800はS806に進み、そうでない場合、プロセス800はS808に進む。
S806において、プロセス800は、ユーザ機器(User Equipment, UE)のアドバタイズされたTCPウィンドウを効果的に拡大させる。
一実施形態では、プロセス800は、UEから、UEのトランスポートセッションの他のエンドポイントである他のデバイス(サーバ等)を対象とするSYNパケットを受信することにより、TCP3ウェイハンドシェイクの一部として、UEのアドバタイズされたTCP受信ウィンドウを効果的に拡大する。SYNパケットは、UEのアドバタイズされたTCP受信ウィンドウ(例えば、インターネット側受信ウィンドウ)を含む。次いで、プロセス800は、構成可能な係数(例えば、4)によりSYNパケット内のアドバタイズされたTCP受信ウィンドウをスケーリングし、スケーリング後のアドバタイズされたTCPウィンドウを含むSYNパケットをサーバに転送してもよい。一実施形態では、サーバがSYN/ACKパケットをUEに送信することによりSYNパケットに応答し、UEがACKパケットで応答した後に、プロセス800は、UEからACKパケットを受信し、その中のアドバタイズされたTCP受信ウィンドウをスケーリングし、スケーリング後のアドバタイズされたTCP受信ウィンドウを含むACKパケットをサーバに送信してもよい。
一実施形態では、トランスポートセッションにおけるUEからサーバへの後続のパケットもまた、これらのアドバタイズされたTCPウィンドウをスケーリングさせてもよい。さらに、最適化システムは、UEがパケットを受信できるとき、UEに配信するために、スケーリング後のアドバタイズされたTCP受信ウィンドウに従って、トランスポートセッションにおけるサーバからのパケットをバッファして確認応答してもよい。これは、最適化システムがUEよりも速くサーバからのデータを確認応答(ACK)することを可能にし、それによって、システムが、UEのアドバタイズされたクライアント受信ウィンドウで可能となるよりも大きいレートで、データをUEに配信することを可能にする。
このように、最適化システムは、バッファのボトルネックを除去してもよい。クライアントがその後により速いレートで受信できる場合、システムは、サーバから更なるデータを要求する必要なく、最適化システムに記憶されたデータをより速いレートで送信する。
最適化システムにより要求される更なるデータ又はスケーリングの量は、ネットワークトポロジ情報(例えば、ユーザセル位置及び目標スループット推定)に基づいてもよく、データボリューム配信に基づいてもよく、アプリケーションタイプに基づいてもよく、ユーザモビリティの程度に基づいてもよく、静的な設定に基づいてもよく、或いは、これらの組み合わせでもよい。すなわち、最適化システムは、ネットワークトポロジの理解及び他の関連する要因に基づいて、どのくらいの量のデータをサーバから要求するかを動的に設定する。
これは、静的な設定を適用し、設定を動的に調整しないTCPプロキシに比べて改善した性能を提供する。これは、特に、このようなTCPプロキシがネットワークトポロジ情報(共有チャネル内のユーザの数及びアクティブユーザの数等)のほとんどを知らない可能性があるためである。
S806を実行した後に、プロセス800はS808に進む。
S808において、プロセス800は、コネクションにより使用されているチャネルについての輻輳プロファイルが存在するか否かを決定する。ここで、チャネルは、E-UTRANセル識別子(E-UTRAN Cell Identifier, ECI)又はE-UTRANグローバルセル識別子(E-UTRAN Global Cell Identifier, EGCI)によって識別されるような、RANのセルに対応するものでもよい。一実施形態では、輻輳プロファイルが存在するか否かは、図6のプロセス600のステップS606に記載のように決定されてもよい。コネクションにより使用されているチャネルについての輻輳プロファイルが存在するという決定に応じて、S808において、プロセス800はS812に進み、そうでない場合、プロセス800はS810に進む。
実施形態では、チャネルについての有効な輻輳プロファイルは、直前の間隔(例えば、最後の30秒等)において利用可能な十分な量の適切なデータが存在する場合にのみ存在してもよい。十分な量のデータは、チャネル内のフロー(すなわち、コネクション)を監視することにより取得される十分な数のデータサンプルに対応してもよい。
S810において、プロセス800は、プロセス800のその後のステップのために、グローバルなデフォルト輻輳プロファイルを選択された輻輳プロファイルとして使用すると決定する。グローバルなデフォルト輻輳プロファイルは、セッションがどのチャネルを通じて伝送されているかをプロセス800が知らないとき、そのチャネルに関する情報を有さないとき、或いは、チャネルに関する古い情報又は無効な情報のみを有するときに使用される最適化システムの所定の輻輳プロファイルでもよい。ここで、古い情報は所定の期間よりも古い情報である。一実施形態では、デフォルト輻輳プロファイルは、初期スロースタート段階を含む輻輳プロファイルを含んでもよい。次いで、プロセス800はS820に進む。
S812において、プロセス800は、チャネルについての既存の輻輳プロファイルが有効であるか否かを決定する。一実施形態では、例えば、チャネルからの最近のサンプルが少なすぎること(又は無いこと)に基づいて、すなわち、古い場合、輻輳プロファイルは有効でないものとしてもよい。一実施形態では、チャネルからの最近のサンプルが統計的基準を満たさない場合、例えば、サンプルの分散又は標準偏差が高すぎる場合、輻輳プロファイルは有効でないものとしてもよい。チャネルについての輻輳プロファイルが有効であると決定したことに応じて、S812において、プロセス800はS816に進み、そうでない場合、プロセス800はS814に進む。
S814において、プロセス800は、プロセス800のその後のステップのために、チャネルについてのデフォルト輻輳プロファイルを選択された輻輳プロファイルとして使用すると決定する。一実施形態では、チャネルについてのデフォルト輻輳プロファイルは、チャネルのタイプ又は特性(サイズ等)に対応し得る最適化システムの所定の輻輳プロファイルでもよい。一実施形態では、チャネルについてのデフォルト輻輳プロファイルは、チャネルについての履歴学習されたプロファイルでもよい。次いで、プロセス800はS820に進む。
S816において、プロセス800は、プロセス800のその後のステップのために、チャネルについての既存の有効な輻輳プロファイルを選択された輻輳プロファイルとして使用すると決定する。次いで、プロセス800はS820に進む。
S820において、プロセス800は、選択された輻輳プロファイルを使用して、コネクションを行う加入者(すなわち、加入デバイス)のための目標スループットを決定する。加入者のための目標スループットは、加入者が行った全てのコネクションについての結合目標スループットに対応してもよい。
一実施形態では、加入者目標スループットは、ネットワークからのサンプリングデータ、UEがコネクションを開始したセル(特定のECI又はEGCIに対応する)にマッピングされた複数のコネクションからのクラウドソースのデータ、又はその双方を使用して推定されてもよい。
S822において、プロセス800は、スケールアップ係数によって、S820において決定された加入者目標スループットをスケーリングする。S822において使用されるスケールアップ係数は、S806において使用されるスケーリング係数とは異なってもよく、ネットワークパラメータ及びプロファイル有効性メトリックに基づいてもよい。スケールアップ係数は、通常では、公平なレートにより示されるよりも高い初期輻輳ウィンドウを設定する方が良いことが観察されているので、1よりも大きくてもよい。
実施形態において、スケールアップ係数は静的に設定されてもよい。
実施形態において、スケールアップ係数は、セル内のユーザの数又はセルのeNodeBのバッファサイズのようなネットワーク係数に従って修正されてもよい。
実施形態では、スケールアップ係数、目標スループット推定精度メトリックのような、目標スループット推定の精度の推定に基づいて調整されてもよく、より高いスループット推定精度は、より保守的なスケールアップ係数に対応する。目標スループット推定精度は、セル内のアクティブユーザの数に従って決定されてもよく、より多くのユーザは、より高いスループット推定精度に対応し、したがって、より低い目標スループット推定精度は、セル内のより少ない数のユーザに対応する。セル内のユーザの数がより少なくなると、チャネルに対する競合がより少なくなり、したがって、コネクションのスループットがより高くなる可能性がある。
目標スループット推定精度はまた、帯域幅に対応するセルサイズ(例えば、5Mhzセル、10MHzセル、20MHzセル等)に従って決定されてもよく、所与のレベルの精度を確立するために必要とされるユーザの数は、セルサイズと共に増加する。例えば、5MHzセルについて良好な推定値を達成するための適切な数のユーザは、20MHzセルについて良好な推定を達成するためには十分ではない可能性がある。
したがって、実施形態では、eNodeBは、クライアントへのより大きいデータバーストを収容し得る大きいバッファを有する可能性があるので、輻輳回避についての最適な輻輳ウィンドウをアンダーシュートするよりもオーバーシュートする可能性が高くなるように、初期輻輳ウィンドウが積極的に設定されてもよい。したがって、一実施形態では、スケールアップ係数は、初期輻輳ウィンドウ内でオーバーシュートするように構成される。
S824において、プロセス800は、スケーリングされた加入者スループット目標に基づいて、コネクションのための目標スループットを推定する。したがって、プロセス800は、スケーリングされた加入者スループット目標を加入者に関連する1つ以上のコネクションに分割して、コネクションスループット目標を生成してもよい。
S824において、プロセス800は、選択された輻輳プロファイル、S824において決定されたコネクションのための目標スループット、又はその双方に従って、コネクションについての輻輳パラメータを設定する。輻輳パラメータの設定は、最初にスロースタート段階が使用されるか否かを設定することを含んでもよい。最初にスロースタート段階が使用されるとき、輻輳パラメータの設定は、輻輳回避段階に移行するための閾値輻輳ウィンドウサイズを設定することを含んでもよい。
輻輳パラメータの設定は、初期輻輳ウィンドウを設定することを含んでもよい。一実施形態では、初期輻輳ウィンドウサイズは、コネクションのためのラウンドトリップ時間で除算したコネクションのための目標スループット従って決定される。
図9Aは、一実施形態による輻輳プロファイルデータ取得プロセス900Aを示す。プロセス900Aは、図3のトランスポート最適化312のような最適化システムを使用して実行されてもよい。
S902において、フロー測定トリガが発生する。一実施形態では、フロー測定トリガは、ネットワークの特性(すなわち、統計)を周期的に監視及び評価するプロセスの結果として発生してもよい。サンプリングの周期は、構成可能でもよい。例えば、プロセスは、15分毎に選択されたセットの特性をサンプリングしてもよい。1つ以上の統計が所定の基準を満たすとき、フロー測定が実行されてもよい。例えば、一実施形態では、フロー測定は、周期的に実行される監視プロセスが、関連するセル内の平均ユーザスループットが3MBps未満であることを検出したときにトリガされてもよいが、実施形態はこれに限定されない。フロー測定がトリガされると、ネットワーク特性のサンプルが取得されてもよい。サンプルは、フロー測定をトリガした監視と比較して、増加した時間的粒度で取得されてもよい。例えば、サンプルは、15分毎に1回ではなく、毎秒数回データを収集してもよい。
S904において、プロセス900Aは、S902において収集されたサンプルが加入者についての集約測定に含めるのに適格であるか否かを決定する。サンプルが含めるのに適格であるか否かは、例えば、サンプルの期間が十分であったか否か、サンプルがアクティビティのバーストからのものであるか否か、スループットが輻輳ウィンドウによって制限されている間にサンプルが収集されたか否か、そのサンプルについてどのくらいの量のデータがバッファされたか、サンプルが収集された期間中のフローに異常(再送等が)が存在したか否か、又はこれらの組み合わせに従って決定されてもよいが、実施形態はこれらに限定されない。
サンプルが適格であると決定されたとき、S904において、プロセス900AはS906に進む。サンプルが不適格であると決定されたとき、S904において、プロセス900Aは終了する。
S906において、プロセス900Aは、加入者についてのサンプルの集約に適格なサンプルを追加し、次いでS912に進む。
サンプルを取得するための他の選択肢では、S910において、プロセス900Aは、現在のユーザのスループットに関するより多くの情報を提供する外部システムから測定値(スループット又はRTT待ち時間等)を受信する。
例えば、実施形態では、プロセス900Aは、秒単位で外部システムからの大きいファイル(エレファントフローによって搬送されるもの等)についてのスループットの測定値を受信してもよい。これらは、典型的には完全なネットワークチャネルを必要とし且つより大きいデータバーストを有するデータセッションについて測定されるので、非常に良好なデータサンプルとなる可能性がある。
他の例では、実施形態において、プロセス900Aは、UDP-QUICデータセッションについての測定値を受信してもよい。このようなサンプルの受信及び使用は、TCPベースの初期輻輳ウィンドウアルゴリズム(initial congestion window algorithm, ICWA)におけるユーザデータグラムプロトコル(User Datagram Protocol, UDP)及びクイックUDPインターネットコネクション(Quick UDP Internet Connection, QUIC)データセッションの知識不足を改善する。
S910において外部測定値を受信すると、プロセス900AはS912に進む。
S912において、プロセス900Aは、S902及びS910を通じて受信された測定値にそれぞれの重み付けを適用する。プロセス900AはS914に進む。一実施形態では、測定値は、測定値が対応するストリームのタイプ(例えば、TCP、UDP、QUIC)、測定値を提供する外部システムの適切性及び/又は信頼性、測定値が取得されたフローのサイズ、又はこれらの組み合わせのように、データのソースのもっともらしい関連性に従って重み付けされてもよいが、実施形態はこれらに限定されない。重み付けは、関連するネットワーク状態の信頼できる指標となる可能性が高い測定値に対してより重点を置くように動作する。
S914において、プロセス900Aは、重み付けされた測定値を、測定値が発生したチャネル(例えば、ECIに対応するセル)の輻輳プロファイルに使用される測定値のデータベースに送信する。一実施形態では、輻輳プロファイルは、ECIと、時間によってウィンドウ処理された複数の測定値とを含む。この文書の他の箇所に記載のように、輻輳プロファイルは、データストリームの初期輻輳ウィンドウアルゴリズム(initial congestion window algorithm, ICWA)を決定するため、及び/又はICWAの1つ以上のパラメータを設定するために使用されてもよい。
データベースは、ECIに対応するセル内のセッションから収集されたデータのECIクラウドソースのデータのデータベースでもよい。次いで、データベースは、例えば、セル内のリアルタイム状態に従って、TCP初期輻輳ウィンドウアルゴリズムを選択してパラメータ化するために使用されてもよい。
重み付けされた測定値をデータベースに報告した後に、S914において、プロセス900Aが終了する。
図9Bは、一実施形態による測定プロセス900Bを示す。プロセス900Bは、測定値を図9Aのプロセス900Aに提供するために使用されてもよいが、実施形態はこれに限定されない。各サンプルは、サンプリング間隔に従って周期的に取得されたサンプルの中からの周期的サンプルでもよく、或いは、輻輳イベントに応じて取得された輻輳ベースのサンプルでもよい。
S920において、プロセス900Bは、輻輳監視が実行されているデータフローが輻輳イベントに遭遇したという指示を受信する。輻輳イベントは、損失パケットの再送、スプリアス(spurious)再送の検出、輻輳ウィンドウの収縮、重複ACKの受信、又は他のTCP輻輳イベントでもよいが、実施形態はこれらに限定されない。輻輳イベントの指示に応じて、プロセス900BはS922に進む。
S922において、プロセス900Bは、輻輳に対応するネットワークが輻輳ベースのサンプリングに適しているか否かを決定する。ネットワークが輻輳ベースのサンプリングに適しているか否かは、例えば、ネットワークのタイプ、ネットワーク上でアクティブなUEの数、及びネットワークの負荷レベルに従って決定されてもよい。例えば、実施形態では、輻輳以外の理由でパケットを損失する可能性がある無線アクセスネットワーク(Radio Access Network, RAN)及び他のネットワーク、アクティブなUEの数が少ないネットワーク、及び/又は負荷が軽いネットワークは、輻輳ベースのサンプリングに適していると考えられなくてもよい。
ネットワークが輻輳ベースのサンプリングに適していると決定されたとき、S922において、プロセス900BはS924に進み、そうでない場合、プロセス900Bは終了する。
S924において、プロセス900Bは、ネットワークの測定値のサンプルを取得し、適格性スクリーニング及びデータベースへの統合のためのプロセス(例えば、図9Aのプロセス900A)にサンプルを提出する。
S926において、プロセス900Bは、サンプリング間隔が経過したという指示を受信する。サンプリング間隔は、S926の直前の実行の後に開始されてもよい。サンプリング間隔が経過したという指示に応じて、プロセス900BはS928に進む。
S928において、プロセス900Bは、輻輳に対応するネットワークが周期的サンプリングに適しているか否かを決定する。例えば、輻輳ベースのサンプリングが十分である場合、或いは、ネットワークトラフィックが散発的であるために周期的サンプリングによって正確に特徴付けられる可能性が低い場合、ネットワークは周期的サンプリングに適さないと考えられてもよい。
実施形態では、ネットワークは、輻輳ベースのサンプリング及び周期的サンプリングの双方に適してもよい。
ネットワークが輻輳ベースのサンプリングに適していると決定されたとき、S928において、プロセス900BはS924に進み、そうでない場合、プロセス900Bは終了する。
図9Cは、一実施形態による輻輳サンプルの適格性を決定するためのプロセス900Cを示す。プロセス900Cは、図9Bのプロセス900BのS924において使用されてもよい。プロセス900Cは、例えば、ゲートウェイのトランスポートオプティマイザにより実行されてもよい。
S940において、プロセス900Cは、TCPデータストリームからデータサンプルを捕捉する。TCPデータストリームはデータセッションに対応してもよい。
S942において、プロセス900Cは、TCPデータストリームのコネクションパラメータを使用して、データサンプルが取得されたときのTCPデータストリームの挙動がTCPデータストリームを搬送するチャネルの定常状態性能に対応するか否かを決定する。挙動が定常状態性能に対応するか否かは、TCPデータストリームのサイズ、TCPデータストリームに対応するコネクションがピアの受信ウィンドウによってボトルネックとなっているか否か、コネクションがスロースタートに落とされるか否か、選択された輻輳制御アルゴリズムに基づいて変化し得る輻輳制御アルゴリズムパラメータ、又はこれらの組み合わせに従って決定されてもよいが、実施形態はこれらに限定されない。
S946において、プロセス900Cは、TCPデータストリームに対応するコネクションが、現在、データサンプルのソースとして機能するのに適格であるか否かを決定する。コネクションの適格性は、S942で決定されるように、データサンプルが取得されたときのTCPデータストリームの挙動がTCPデータストリームを搬送するチャネルの定常状態性能に対応するか否かに従って決定されてもよい。
コネクションが適格であるとき、S946において、プロセス900CはS948に進み、そうでない場合、プロセス900CはS954に進む。
S948において、プロセス900Cは、データサンプルがチャネルについての輻輳プロファイルを決定する際に使用するのに適格であるか否かに関連し得るデータサンプルの特性を評価する。S948において評価されたデータサンプルの特性は、パケット間の時間ギャップ、バースト持続時間又はこれらの双方を含んでもよいが、実施形態はこれらに限定されない。
S950において、S948において評価された特性は、データサンプルが輻輳プロファイルを決定する際に使用するのに適格であるか否かを決定するために使用される。一実施形態では、対応するパケット間のギャップがギャップ持続時間閾値を超えていたとき、データサンプルは適格でなくてもよい。一実施形態では、対応するバースト長がバースト持続時間閾値を下回るとき、データサンプルは適格でなくてもよい。
例示的な実施形態では、プロセス900Cは、以下のように、S942~S950にほぼ対応するステップを実行してもよい。
・輻輳回避アルゴリズムが輻輳回避段階にあり、輻輳ウィンドウが現在利用可能な最大チャネルスループット(「ボトルネックスループット」)に達し、輻輳イベントが発生する点まで増加したとき、TCPコネクションがサンプリングに適格であると決定する。
・コネクションが適格であるとき、輻輳イベントが発生した時点のTCP輻輳パラメータ(輻輳ウィンドウのサイズ、コネクションのラウンドトリップ待ち時間又はこれらの双方)に基づいてボトルネックスループットを推定する。
・TCPデータストリームのサイズ、コネクションがピアの受信ウィンドウによりボトルネックとなっているか否か、コネクションがスロースタート段階に落とされるか否か、輻輳制御アルゴリズムパラメータ、又はこれらの組み合わせのように、TCPコネクションの特性に従って、推定されたボトルネックスループットの有効性を決定する。
・推定されたボトルネックスループットが有効であると決定されたとき、推定されたボトルネックスループットをセル輻輳プロファイルに統合する。
・輻輳回避アルゴリズムが輻輳回避段階にあり、輻輳ウィンドウが現在利用可能な最大チャネルスループット(「ボトルネックスループット」)に達し、輻輳イベントが発生する点まで増加したとき、TCPコネクションがサンプリングに適格であると決定する。
・コネクションが適格であるとき、輻輳イベントが発生した時点のTCP輻輳パラメータ(輻輳ウィンドウのサイズ、コネクションのラウンドトリップ待ち時間又はこれらの双方)に基づいてボトルネックスループットを推定する。
・TCPデータストリームのサイズ、コネクションがピアの受信ウィンドウによりボトルネックとなっているか否か、コネクションがスロースタート段階に落とされるか否か、輻輳制御アルゴリズムパラメータ、又はこれらの組み合わせのように、TCPコネクションの特性に従って、推定されたボトルネックスループットの有効性を決定する。
・推定されたボトルネックスループットが有効であると決定されたとき、推定されたボトルネックスループットをセル輻輳プロファイルに統合する。
データサンプルが適格であるとき、S950において、プロセス900CはS952に進み、そうでない場合、プロセス900CはS954に進む。
S952において、プロセス900Cは、データサンプルを使用して、チャネルについての輻輳プロファイルを作成又は更新する。
S954において、プロセス900Cは、データサンプルを使用せずに終了する。
図10は、一実施形態による輻輳プロファイル関連のクラウドソースのデータを使用して決定された結果のデータ有効性を決定するためのプロセス1000を示す。
S1002において、プロセス1000は、時間ウィンドウに従って、輻輳プロファイル関連のクラウドソースのデータを制限する。例えば、データは、過去30秒以内に取得されたサンプルに制限されてもよい。これは、ネットワークの現在の状態を反映しない可能性がある古いデータが、後続のステップに使用されるのを防ぐ。
S1004において、プロセス1000は、時間ウィンドウ処理されたクラウドソースのデータに信号処理機能を適用することによって、加入者の推定特性を決定する。推定特性は、推定された公平な帯域幅、推定された目標スループット等とすることができる。信号処理は、平均の計算、分散又は標準偏差の計算等のような統計演算を含んでもよいが、実施形態はこれらに限定されない。
S1006において、プロセス1000は、加入者の推定特性についてのデータ有効性インジケータを計算する。データ有効性インジケータは、目標スループット精度メトリックのような精度メトリックを含んでもよい。データ有効性インジケータは、時間ウィンドウ処理されたクラウドソースのデータ内のサンプルの数、時間ウィンドウ処理されたクラウドソースのデータの統計特性(分散等)、時間ウィンドウ処理されたクラウドソースのデータ内のサンプルにより表されるアクティブユーザの数、時間ウィンドウ処理されたクラウドソースのデータ内のサンプルにより表される特定のセル内のアクティブユーザの数、時間ウィンドウ処理されたクラウドソースのデータ内のサンプルにより表されるデータセッションの数、時間ウィンドウ処理されたクラウドソースのデータ内のサンプルにより表される特定のセル内のデータセッションの数、セルサイズ(セルの帯域幅に関連してもよい)、又はこれらの組み合わせに基づいて決定されてもよいが、実施形態はこれらに限定されない。
S1008において、プロセス1000は、S1002に進む前に、S1002の最新の実行において始まるデータ更新間隔のようなデータ更新間隔が経過するまで待機する。一実施形態では、データ更新間隔は、S1002内のデータ又はその一部を時間ウィンドウ処理するために使用される間隔に対応してもよいが、実施形態はこれに限定されない。
図11は、一実施形態によるデータセッションからECIクラウドソースのデータを取得するためのプロセス1100を示す。プロセス1100は、トランスポート最適化機能を含むゲートウェイにより実行されてもよいが、実施形態はこれに限定されない。プロセス1100は、同じセル内のデータセッションから収集されたデータ(クラウドソース)に機械学習(Machine Learning, ML)クラスタリング技術を適用して、セル毎のチャネル推定モデルを作成してもよい。セル内の各データセッションはモデルに寄与し(例えば、スループット、待ち時間)、セル状態の変化と共にリアルタイムのモデル調整を可能にする。チャネル推定モデルは、各セル内の異なる状態について作成される。一実施形態では、プロセス1100により生成されたモデルは、ICWAのパラメータを決定及び設定するために使用されてもよい。
S1102において、プロセス1100は、データセッションが転送されているネットワーク部分(すなわち、セル)の識別子(ここではECI)を決定する。ECIは、データセッションのエンドポイントに対応するIPアドレスと、ECIとIPアドレス間のマッピングを含むデータベースを使用して決定されてもよい。IPアドレスはセル内のUEのIPアドレスでもよい。
S1104において、プロセス1100は、データセッションから新たなサンプルを記録する。サンプルは、ECIによって識別されたセルのチャネル状態に関連する測定値を含んでもよい。
S1106において、プロセス1100は、ECIについてのサンプルの集合に新たなサンプルを追加し、ここでは、クラウドソースのデータと呼ばれる。サンプルの集合は、セルを通じて転送される他のデータセッションからのサンプルを含んでもよい。
S1108において、プロセス1100は、2次統計(分散等)、3次統計(歪度等)、機械学習等を適用して、クラウドソースのデータをフィルタリングしてもよい。フィルタリングは、セルの状態を表さない可能性が高いデータを除去するように動作してもよい。例えば、S1108において、プロセス1100は、訓練されたニューラルネットワークによって異常値として認識されるサンプル、二次元データセットの重心外にあるサンプル、又は偏差の中心95%外にあるサンプルをフィルタリング除去してもよい。
クラウドソースのデータをフィルタリングした後に、プロセス1100は、S1108において、フィルタリングされなかったサンプルの統計特性(例えば、平均、分散等)を生成してもよい。
S1110において、プロセス1100は、S1108の結果を使用してECIについての推定モデルを更新する。推定モデルは、ECIにより示されるセルについてのチャネル輻輳プロファイルを含んでもよい。
図12は、一実施形態による新たなコネクションのための初期輻輳ウィンドウアルゴリズム(initial congestion window algorithm, ICWA)及びそのパラメータを決定するためのプロセス1200を示す。
プロセス1200は、加入者がデータセッションのために新たなTCPコネクションを要求したとき、S1202において開始する。
S1204において、プロセス1200は、加入者の現在のセルを決定し、データセッションの加入者側エンドポイントのIPアドレスを使用して、新たなデータセッションに対応するECIを決定する。
S1206において、プロセス1200は、ECIに対応するセルについてのチャネル推定モデルを取得するために、S1204において決定されたECIを使用する。チャネル推定モデルは、図11のプロセス1100を使用して生成されたチャネル推定モデルでもよい。チャネル推定モデルは、セルについての輻輳プロファイルを含んでもよい。
S1208において、プロセス1200は、データセッションに使用するICWA及びICWAのパラメータを決定してもよい。ICWAのパラメータは、初期輻輳ウィンドウを含んでもよい。
一実施形態は、ネットワーク又はセル状態のリアルタイムビューを取得するために、クラウドソースの情報の使用を介して、無線ネットワークの改善及び監視を可能にするように、部分をまとめるモビリティシステムに関する。本明細書で使用される場合、リアルタイムビューは、ネットワーク又はセル状態の実質的に瞬間的なビューを示し、例えば、実際のネットワーク/セル状態の10秒以下の遅延である。ネットワーク/セル状態の実質的に瞬間的なビューは、例えば、実装に従って5秒以下、2秒以下又は1秒以下の遅延を有してもよい。
一実施形態では、IP対ECIマッピング情報は、ネットワークデータプレーンエージェントに提供される。データプレーンエージェントは、データセッションに関する詳細な統計(例えば、スループット、データサイズ、伝送時間、持続時間等)を収集する。データプレーンエージェントは、IP:ECIマッピング情報を使用して、ECIを、これが収集する統計/メトリックに挿入する。ここで、統計はネットワークトポロジ(例えばECI毎)に基づいて集約でき、クラウドからパターン及び傾向を抽出するように分析できる。このクラウドソースのデータは、最適化を改善するためにクラウド情報を適用するアルゴリズムにフィードバックされる。また、ネットワーク監視システムにもフィードバックされ、そのシステムがネットワークの部分を詳細に監視するためのネットワーク状態の変化を検出することを可能にする。
実施形態は、測定されたデータセッション性能と共に、データセッションIPをネットワーク位置識別子(例えば、ECI)情報に利用して、所与のネットワークトポロジについての情報の「クラウド(crowd)」を作成するシステムに関してもよい。次いで、その情報は、最適化及びネットワーク監視の目的で使用される。
モバイルネットワークは、無線インタフェース上でのモバイルデバイスへのユーザトラフィックの送信/受信、インターネットへの/からのそのトラフィックの配信、ネットワークに渡って移動する際のデバイスのモビリティの制御等のように、様々な機能を担う様々なコンポーネントから構成される。これらのコンポーネントのいくつかは、標準仕様(例えば、3GPP標準化団体からのもの)に従う。
図14は、3GPP標準化団体の仕様に従ったコンポーネントを含む、一実施形態による通信ネットワーク1400を示す。これらの例は、とりわけ、モバイルサービングゲートウェイ(Serving Gateway, SGW)1426、パケットゲートウェイ(Packet Gateway, PGW)1428及びモビリティ管理エンティティ(Mobility Management Entity, MME)1424である。これらのコンポーネントは、通信ネットワーク1400により、拡張ノードB(extended Node B, eNodeB)1420に関連するユーザ機器(User Equipmet, UE)と、eNodeB1420又は他のeNodeBに関連する他のUEと、インターネット1440との間の通信(音声及びデータ通信を含む)を提供するために使用される。これらのコンポーネントは、進化型パケットコア(Evolved Packet Core, EPC)として知られているものの一部を構成する。これらのコンポーネントは、カスタムハードウェアに実装でき、或いは、仮想化環境において仮想ネットワーク機能(virtual network function, VNF)としても実装できる。
標準コンポーネントはまた、標準インタフェース上で情報を送信/受信する。例えば、図14は、コンポーネントのいくつかの間のインタフェースの全部ではないが一部を示している。いくつかのインタフェースはユーザデータを渡すためのもの(例えば、S1-U及びSGi)であり、いくつはネットワーク制御シグナリングのためのもの(例えば、S1-MME及びS11)であり、いくつかは双方のためのもの(例えば、S5)である。
また、図14に示すトラフィックマネージャ1410及び分析コレクタ1412のような、同じデータインタフェース上で動作する他の多くの非標準コンポーネント及びアプリケーションも、モバイルネットワークに存在できる。
無線ネットワーク内のユーザモビリティ制御は、eNodeB1420、MME1424及びSGW1426の重要な機能である。3GPP LTEネットワークでは、eNodeB1420は、ネットワークを通じたUE及び関連するデータセッションの移動(例えば、異なる地理、セル、無線アクセスネットワークタイプの間の変更)に関する情報をMME1424と交換する。さらに、MME1424は、UEネットワーキングの詳細(例えば、UE IPアドレス、IMSI、電話番号、サービス品質パラメータ及び無線ベアラ規則)に関する情報をSGW1426と交換する。
MME1424は、UE又はデータセッション識別情報を受信し、また、そのセッションについてのモビリティ更新を受信するので、MME1424は、全てのデータセッションについてのUE位置情報を含む。しかし、MME1424は、この情報を共有するための共通のインタフェースを提供しない。さらに、情報のいくつかは、暗号化されたデータフィールドを介してのみMME1424に利用可能である。
これは、MMEでないコンポーネントがネットワークのどこでデータセッションが転送されているか(例えば、どのセルサイト又は分岐パス)を学習するための標準的な方法が存在しないことを意味する。具体的なLTEの例は、どのセル(E-UTRANセル識別子(E-UTRAN Cell Identifier, ECI)により識別される)によってデータセッションが転送されているかをMMEでないコンポーネントが知らないということである。米国公開第2019/0296991A1号として公開された「COORDINATED DATA SHARING IN VIRTUALIZED NETWORKING ENVIRONMENTS」という名称の米国特許出願第16/363,749号は、このような情報を取得し、現在のUE位置(E-UTRANセル識別子又はECI)へのデータセッションIPアドレスのマッピングを生成するための方法を記載している。
例えば、一実施形態は、S1アプリケーションプロトコル(S1 Application Protocol, S1AP)セッションテーブル、GPRSトンネリングプロトコル(General Packet Radio Service Tunneling Protocol, GTP)セッションテーブル、S1APセッションをGTPセッションに関連付けるセッションリンクテーブル、及び位置追跡テーブルを維持してもよい。実施形態は、米国公開第2019/0296991A1号に記載のように、関連するS1AP及びGTPメッセージを監視することにより、テーブルを維持してもよい。
セッションリンクテーブルは、GTPセッションで伝送されるデータパケットのインターネットプロトコル(Internet Protocol, IP)アドレスをMME UE S1AP ID、eNodeB UE S1AP ID又はこれらの双方にマッピングするために使用されてもよい。MME UE S1AP ID、eNodeB UE S1AP ID又はこれらの双方は、位置追跡テーブルと共にECIを決定するために使用されてもよい。
一実施形態では、次いで、データプレーンエージェントは、GTPセッションで伝送されるデータパケットに関する情報を、ECIにより識別される位置(セル等)についてのネットワーク測定分析に組み込んでもよい。
これらの分析は、いずれかの秒においてそのセルを記述するネットワークセルのクラウドソースのプロファイルを作成するために使用できる。プロファイルは、例えば、セル内の平均UEスループット、セル内のアクティブUEの数、セル内の総データ量、接続されているがアクティブに伝送していないUE等を含んでもよい。このプロファイルは、輻輳ウィンドウアルゴリズム最適化のようなネットワーク最適化に使用できる。
これらの分析はまた、ネットワークレベルで監視できる統計を生成するために使用できる。例えば、どのデータセッションが同じセル内にあるかを知ることによって、また、どのデータセッションが現在データを伝送しているかを知ることによって、実施形態は、秒単位で(或いは実質的に瞬時に)アクティブUEの数を報告できる。別法では、この情報は、ネットワーク内のいずれの場所でも秒単位で利用可能ではない。また、接続されたUE、データ量、待ち時間等を秒単位で報告することもできる。
図15は、一実施形態によるデータフロー1500を示す。ステップS1502、S1504及びS1508並びにデータベース1506の実施形態の詳細は、米国公開第2019/0296991A1号として公開された米国特許第16/363,749号に記載されており、したがって、簡潔にするために各ステップの簡潔な概要が本出願において提示される。
S1502において、データセッションで使用されるIPアドレスと無線ネットワークの部分を示す識別子(セルを示すECI等)との間のマッピングを決定するために、制御インタフェース(図16に示すような4G LTE無線ネットワークのS1-MMEインタフェース又は図17に示すような5G無線ネットワークのN2及び/又はN11インタフェース等)上のメッセージが監視される。マッピングは、データセッション対ECIマッピングデータベース1506のようなマッピングデータベースに記憶され、UEがネットワーク内を移動するとき、また、データセッションが開始及び終了するときに更新される。
S1504において、データセッション分析を決定するためにデータセッションが分析される。データセッション分析は、データセッションのスループット、サイズ、待ち時間及びIPアドレスを含んでもよい。データセッション分析は、例えば、4G LTE無線ネットワークのS1-Uインタフェース又は5G無線ネットワークのN3インタフェースからのメッセージを分析することにより実行されてもよい。
S1508において、データセッション対ECIマッピングデータベース1506内の情報は、無線ネットワークの部分の識別子(例えば、セルを識別するECI)を、S1504において生成されたデータセッション分析に追加するために使用される。次いで、ECIタグ付きデータセッション分析がS1510及びS1512において使用される。
S1510において、ECIタグ付きデータセッション分析が、共有チャネル(セル等)についてのクラウドソースのプロファイルを作成するために使用される。一実施形態では、クラウドソースのプロファイルは、以下に説明するように、図18に示すプロセスを使用して作成される。クラウドソースのプロファイルは、セル内の平均UEスループット、セル内のアクティブUEの数、セル内の総データ量、接続されているがアクティブに伝送していないUEの数等を含んでもよい。
S1512において、無線ネットワークの部分(セル等)について、それぞれの監視統計が生成される。一実施形態では、以下に説明するように、図19に示すプロセスを使用して、それぞれの監視統計が作成される。監視統計の例は、接続されたUEの数、アクティブUE(すなわち、接続されているがアイドルのUEとは異なる、データを現在送信及び/又は受信しているUE)、データ量、待ち時間統計等を含む。
一実施形態では、データプレーンエージェント/オプティマイザ(図16において参照符号1630によって識別され、図17における参照符号1726のもの等でもよい)は、監視統計を使用して、無線ネットワークの性能を最適化してもよい。例えば、データプレーンエージェント/オプティマイザは、S1510において生成されたプロファイル、S1512において生成された監視統計、又はこれらの双方に従って輻輳管理プロトコルを適合してもよい。
図16は、一実施形態による第4世代(4th Generation, 4G)ロングタームエボリューション(Long Term Evolution, LTE)無線ネットワーク1600(以下、第4Gネットワーク1600という)を示す。
4Gネットワーク1600は、1つ以上の拡張ノードB(extended Node B, eNodeB)を含む少なくとも1つの無線アクセスネットワーク1606を含み、ここでは、第1、第2及び第3のeNodeB1620A、1620B及び1620Cとして示されている。RAN1606は、S1-APプロトコルを使用するS1-MMEインタフェースを使用して、スイッチ1626と制御情報を通信し、一方、eNodeB1620A、1620B及び1620Cは、GTP-Uプロトコルを使用するS1-Uインタフェースを使用して、スイッチ1626とユーザプレーンデータを通信する。
スイッチ1626は、制御プレーン用のGPRSトンネリングプロトコル(GPRS Tunneling Protocol for control plane, GTP-C)を使用して、1つ以上の制御プレーンインタフェースS11上でモビリティ管理エンジン1624と制御情報を交換する。スイッチ1626はまた、S1-Uインタフェースを使用してデータプレーンエージェント/オプティマイザ1630と通信し、S5インタフェースを使用してサービングゲートウェイ/パケットゲートウェイ(Serving Gateway/Packet Gateway, SGW/PGW)1628と通信する。S5インタフェースは、ユーザプレーントンネリング及びトンネル管理機能を提供し、サービングゲートウェイが異なるIPサービスをRAN1606で動作するUEに提供するために複数のパケットデータネットワーク(packet data network, PDN)ゲートウェイに接続することを可能にし、ユーザデータを交換するためにGTP-Uを使用する。
スイッチ1626はまた、RAN1606とスイッチ1626との間のS1-MMEインタフェースから、また、MME1624とスイッチ1626との間のS11インタフェースからのミラーリングされた情報をIP対ECIトラッカー1632に提供する。
SGW/PGW1628、データプレーンエージェント/オプティマイザ1630、IP対ECIトラッカー1632及びオプティマイザ1636は、インターネットプロトコル(Internet Protocol, IP)を使用してSGiインタフェースを通じて情報を交換する。IP対ECIトラッカー1632はまた、SGiインタフェースを使用してネットワーク監視エージェント1634と通信してもよい。
オプティマイザ1636は、境界ルータ/ネットワークアドレス変換(Network Address Translation, NAT)エンジン1638を通じてパケットを送信及び受信する。
IP対ECIトラッカー1632は、スイッチ1626からのアップストリーム及びダウンストリーム情報を監視して、IPアドレスとECIとの間の関係を決定及び維持する。
ネットワーク監視エージェント1630は、図15のプロセス1500のステップS1510、ステップS1512又はこれらの双方を実行してもよく、これらのステップの一方又は双方からの結果を、データプレーンエージェント/オプティマイザ1630、オプティマイザ1636又はこれらの双方に提供してもよい。
MME1624、スイッチ1626、SGW/PGW1628、データプレーンエージェント/オプティマイザ1630、IP対ECIトラッカー1632、ネットワーク監視エージェント1634、オプティマイザ1636及び境界ルータ/NATデバイス1638のそれぞれは、特化ハードウェア、適切なインタフェースを有するそれぞれのコンピューティングデバイス若しくは共有コンピューティングデバイス上で動作するソフトウェア、又はこれらの組み合わせを使用して実装されてもよい。
図17は、一実施形態による、第5世代(5th Generation, 5G)無線ネットワーク1700(以下、第5Gネットワーク1700という)を示す。
5Gネットワーク1700は、認証サーバ機能(Authentication Server Function, AUSF)1704、アクセス及びモビリティ管理機能(Access and Mobility Management Function, AMF)1706、統一データ管理(Unified Data Management, UDM)1708、セッション管理機能(Session Management Function, SMF)1710、ユーザプレーン機能(User Plane Function, UPF)1712、ポリシー制御機能(Policy Control Function, PCF)1714及びアプリケーション機能(Application Function, AF)1716を含む。5Gネットワーク1700はまた、境界ルータ/NATデバイス1718、IP対ECIトラッカー1724、データプレーンエージェント/オプティマイザ1726、ネットワーク監視及び分析機能1728及びオプティマイザ1730を含んでもよい。境界ルータ/NATデバイス1718は、5Gネットワーク1700をインターネット1740のような広域LAN(Wide Area Lan, WAN)に結合する。
RAN1701は、UE1722、第1のeNodeB1720A及び第2のeNodeB1720Bを含む。UE1722は、スイッチ1702を通じてルーティングされる非アクセス層(Non-Access Stratum, NAS)インタフェースN1インタフェースを使用してAMF1706と通信する。第1及び第2のeNodeB1720A及び1720Bのそれぞれは、スイッチ1702を通じてルーティングされるRAN制御プレーン(control plane, CP)インタフェースN2を使用してAMF1706と通信し、スイッチ1702を通じてルーティングされるN3インタフェースを使用してUPF1712と通信する。
AMF1706は、RAN CPインタフェースN2の終端、NASインタフェースN1の終端、NAS暗号化及び完全性保護、登録管理、コネクション管理、到達可能性管理、モビリティ管理、UE1722とSMF1710との間のSMメッセージのトランスポート及びプロキシサービス、アクセス許可、セキュリティアンカー機能(Security Anchor Functionality, SEAF)、位置サービス管理、UEモビリティイベント通知及び他の機能を提供してもよい。
UPF1712は、RAT内/RAT間モビリティのためのアンカーポイント、データネットワークへの相互接続の外部PDUセッションポイント、パケットルーティング及び転送、パケット検査、ポリシールール実施のUP部分、トラフィック使用報告、ユーザプレーンについてのサービス品質(Quality of Service, QoS)処理、DLにおける反映QoSマーキング、アップリンクトラフィック検証、アップリンク及びダウンリンクにおけるトランスポートレベルパケットマーキング、ダウンリンクパケットバッファリング及びダウンリンクデータ通知トリガ、並びに他の機能を提供する。UPF1712は、N3インタフェース上でeNodeB1720A及び1720Bと通信する。N3インタフェースは、5Gのためのヘッダ拡張を有するGPRSトンネリングプロトコル(GPRS Tunneling Protocol, GTP)を使用してもよく、セグメントルーティング(IPv6 SRv6又はネットワークサーバヘッダ(Network Server Heading, NSH))を使用してもよく、或いは、情報指向ネットワーキング(Information Centric Networking, ICN)プロトコルを使用してもよい。UPF1712は、N9インタフェースを介して他のUPFと通信してもよい。
SMF1710は、セッション管理、UE IPアドレス割り当て及び管理、UP機能の選択及び制御、トラフィックを適切な宛先にルーティングするためのUPFにおけるトラフィックステアリング構成、ポリシー実施及びQoSの制御部分、並びにダウンリンクデータ通知を提供する。SMF1710は、N10インタフェースを使用してUDM1710と通信し、N11インタフェースを使用してスイッチ1702を通じてAMF1706と通信し、N7インタフェースを使用してPCF1714と通信し、N4インタフェースを使用してUPF1712と通信してもよい。
PCF1714は、ネットワーク挙動を支配する統一ポリシーフレームワークをサポートし、これらを実施するためにポリシールールを制御プレーン機能に提供し、統一データレポジトリ(Unified Data Repository, UDR)に記憶されているポリシー決定に関連する加入情報にアクセスする。
UDM1708は、3GPP認証鍵交換(Authenticate Key Exchange, AKA)認証証明書の生成、ユーザ識別処理、加入データに基づくアクセス許可(例えば、ローミング制限)、UEのサービングNF登録管理、サービス/セッション継続性のサポート、MT-SMS配信サポート、加入管理、及びSMS管理を提供する。
AUSF1704は、セキュリティ及びプライバシーに関して、3GPPサービス及びシステム側面(Systems Aspects, SA)ワーキンググループ3(Working Group 3, WG3)により指定される認証サーバ機能(Authentication Server Function, AUSF)を提供する。
AF1716は、ネットワーク公開機能にアクセスして、トラフィックルーティングへのアプリケーションの影響を提供し、ポリシー制御のためにポリシーフレームワークと相互作用する。
ネットワーク監視及び分析機能1728は、図15のプロセス1500のステップS1510、ステップS1512又はこれらの双方を実行してもよく、これらのステップの一方又は双方からの結果を、データプレーンエージェント/オプティマイザ1726、オプティマイザ1730又はこれらの双方に提供してもよい。
AUSF1704、AMF1706、UDM1708、SMF1710、UPF1712、PCF1714、AF1716、境界ルータ/NATデバイス1718、IP対ECIトラッカー1724、データプレーンエージェント/オプティマイザ1726、ネットワーク監視及び分析機能1728並びにオプティマイザ1730のそれぞれは、特化ハードウェア、適切なインタフェースを有するそれぞれのコンピューティングデバイス若しくは共有コンピューティングデバイス上で動作するソフトウェア、又はこれらの組み合わせを使用して実装されてもよい。
一実施形態では、スイッチ1702は、UE1722とAMF1706との間のN1インタフェース、eNodeB1720A及び1720BとAMF1706との間のN2インタフェース、並びにAMF1706とSMF1710との間のN11インタフェースからのミラーリングされた情報をIP対ECIトラッカー1724に提供する。スイッチ1702はまた、eNodeB1720A及び1720Bとデータプレーンオプティマイザ/エージェント1726及び/又はUPF1712との間のN3インタフェースからのミラーリングされたデータをネットワーク監視及び分析機能1728に提供する。
簡潔さ及び明確さのため、本開示の実施形態を開示する必要がなく、及び/又は当技術分野で周知である、5Gネットワーク1700内のいくつかのインタフェース及び相互作用の説明は記載されていない。
一実施形態では、システムは、ユーザモビリティ、ユーザセッションID及びデータセッション性能(場合によっては異なるシステムコンポーネントからのもの)情報を、その後にモバイル無線ネットワークの最適化又は監視のために利用できる1つ以上のデータモデルに組み込む。データモデルは、それぞれのセルのようなモバイル無線ネットワークのそれぞれの部分に関連してもよい。データモデルは、例えばアクティブユーザ(又はUE)及び平均ユーザ(又はUE)のスループットのような、セル毎の秒単位のメトリック(以下、「ネットワークトポロジ情報」と呼ばれる)を提供してもよいが、実施形態はこれに限定されない。
ネットワークトポロジ情報は、ネットワーク効率を改善するために使用されてもよい。例えば、これは、クラウドソースのデータに基づいてネットワーク最適化を可能にするために使用されてもよい。実施形態では、ユーザデータセッション(図16の4Gネットワーク1600のデータプレーンオプティマイザ/エージェント1630又は図17の5Gネットワーク1700のデータプレーンオプティマイザ/エージェント1726等)を監視及び/又は制御するいずれかの最適化システムもまた、どのユーザデータセッションが同じセル上で同時発生しているかを知ることができる。同時発生データセッションは、そのセルの最適化に適用されるための情報が抽出できるクラウドとして機能する。
ネットワークトポロジ情報はまた、ネットワーク研究及びネットワーク内の問題点の識別のために、リアルタイムネットワーク性能をモニタ(例えば、図16の4Gネットワーク1600のネットワーク監視エージェント1634又は図17の5Gネットワーク1700のネットワーク監視及び分析機能1728)に報告するために使用されてもよい。
図18は、一実施形態による共有チャネルについてのクラウドソースのプロファイルを生成及び/又は更新するプロセス1800を示す。プロセス1800は、ネットワーク監視エージェント(例えば、図16のネットワーク監視エージェント1634又は図17のネットワーク監視及び分析機能1728等)により実行されてもよく、自動ネットワークオプティマイザ(例えば、図16のデータプレーンエージェント/オプティマイザ1630及び/又はオプティマイザ1636、又は図17のデータプレーンエージェント/最適化機能1726及び/又はオプティマイザ1730等)により使用される情報を生成してもよいが、実施形態はこれに限定されない。
プロセス1800は、細かい時間的粒度(例えば、毎秒)でリアルタイムで提供されるネットワークに関する情報を使用して、リアルタイムで実行されてもよいが、実施形態はこれに限定されない。
S1802において、プロセス1800は、データセッションに関連するネットワーク位置インジケータ(ここではECI)を決定する。ネットワーク位置は、データセッションのエンドポイントが関連するRANのセルでもよい。エンドポイントは、データセッションの宛先でもよい。
ネットワーク位置インジケータは、図15に関して説明したように、ECIでタグ付けされたデータセッション分析から決定されてもよい。タグ付きデータセッション分析は、図15に関して説明したように、データセッションの測定値及びネットワークの制御情報から導出されてもよい。
S1804において、プロセス1800は、データセッションからの測定値に対応する新たなデータサンプルを記録する。サンプルは、ECIによって識別されたセルのチャネル状態に関連する測定値を含んでもよい。
S1806において、プロセス1800は、ECIについてのサンプルの集合に新たなサンプルを追加し、ここでは、クラウドソースのデータと呼ばれる。サンプルの集合は、セルを通じて転送される他のデータセッションからのサンプルを含んでもよい。
S1808において、プロセス1800は、2次統計(分散等)、3次統計(歪度等)、機械学習等を適用して、クラウドソースのデータをフィルタリングしてもよい。フィルタリングは、セルの現在の状態を表さない可能性が高いデータを除去するように動作してもよい。例えば、S1808において、プロセス1800は、訓練されたニューラルネットワークによって異常値として認識されるサンプル、二次元データセットの重心外にあるサンプル、偏差の中心95%外にあるサンプル、又はこれらの組み合わせをフィルタリング除去してもよいが、実施形態はこれらに限定されない。
クラウドソースのデータをフィルタリングした後に、プロセス1800は、S1808において、フィルタリングされなかったサンプルの統計特性(例えば、平均、分散等)を生成してもよい。
S1810において、プロセス1800は、S1808の結果を使用してECIについての推定モデルを更新する。推定モデルは、ECIにより示されるセルについてのチャネル輻輳プロファイルを含んでもよい。推定モデルは、例えば、セル内の平均ユーザスループット、セル内のアクティブユーザの数、セル内の総データ量、接続されているがアクティブに伝送していないユーザ、又はこれらの組み合わせを含んでもよいが、実施形態はこれらに限定されない。
図19は、一実施形態による監視統計を生成するためのプロセス1900を示す。プロセス1900は、ネットワーク監視エージェント(例えば、図16のネットワーク監視エージェント1634又は図17のネットワーク監視及び分析機能1728等)により実行されてもよく、潜在的に問題のあるネットワーク位置及び状態(過負荷又は劣化セル等)の自動検出に使用されてもよいが、実施形態はこれに限定されない。
プロセス1900は、ネットワークの全ての関連部分(例えば、ネットワーク内の全てのセル)について、或いは、ネットワークの関連部分の指定のサブセット(例えば、性能問題の履歴を有するセル)についてそれぞれ実行されてもよいが、実施形態はこれに限定されない。プロセス1900は、細かい時間的粒度(例えば、1秒毎)でリアルタイムで提供されるネットワークに関する情報を使用してリアルタイムで実行されてもよいが、実施形態はこれに限定されない。
S1902において、プロセス1900は、ネットワークの目標部分(この例ではセル)の識別子(この例ではECI)でタグ付けされたデータセッションの分析(データセッションからの測定値又はこのような測定値から導出された統計等)を識別する。
S1904において、プロセス1900は、S1902において識別されたデータセッション分析から所望のデータを抽出する。データセッションからの所望のデータは、データセッション分析をフィルタリングすることにより決定されてもよい。フィルタリングは、統計機能、機械学習又はこれらの組み合わせを適用して、データセッション分析をフィルタリングしてもよいが、実施形態はこれに限定されない。フィルタリングは、セルの現在の状態を表さない可能性が高いデータを除去するように動作してもよい。例えば、フィルタリングは、訓練されたニューラルネットワークによって異常値として認識されるサンプル、二次元データセットの重心外にあるサンプル、偏差の中心95%外にあるサンプル、又はこれらの組み合わせをフィルタリング除去してもよいが、実施形態はこれらに限定されない。
S1906において、プロセス1900は、S1904において生成された抽出データを分析する。抽出データの分析は、抽出データの一次統計(平均等)、二次統計(分散等)、三次統計(歪度等)又はこれらの組み合わせを生成することを含んでもよい。例えば、S1906において、プロセス1900は、セルについての平均ユーザ(又はUE)スループット、セルについてのユーザ/UEスループットの分布、アクティブユーザ又はUEの数、接続されたユーザ又はUEの数、セルについてのデータ量に関する統計、セルの待ち時間に関する統計等を生成してもよい。
S1908において、プロセス1900は、S1906において実行された分析の結果、S1904において抽出されたデータ又はこれらの双方の結果をネットワーク監視プロセスに提供する。プロセス1900は、この情報を、細かい時間的粒度(例えば、1秒間隔)でリアルタイムでネットワーク監視プロセスに提供してもよい。
ネットワーク監視システムは、その結果を使用して、セル内の性能問題の特定、セル内の性能問題の予測、セル内の性能問題の原因の決定、セル内の通信の最適化、セルの監視レベルの決定し、将来のネットワークリソース使用最適化の機会の特定等、又はこれらの組み合わせを行ってもよいが、実施形態はこれらに限定されない。
一実施形態では、システムは、短い間隔(例えば、関連技術の最良の無線ベンダーKPI報告間隔に一致する15分)で、個々のセルについての最上位レベルの統計を提供する。システムは、ネットワーク内の問題セルを自動的に検出してもよく、問題セルについてより粒度の高い(例えば、毎秒)統計を提供してもよい。
図20は、一実施形態による通信ネットワーク2000を示す。ネットワーク2000は、広域ネットワーク(Wide-Area Network, WAN)2002(例えば、インターネット)、モバイル通信システム(mobile telecommunication system, MTS)2006、並びにWAN2002に取り付けられた第1及び第2のサーバ2014A及び2014Bを含む。MTS2006は、第1及び第2の無線アクセスネットワーク(Radio Access Network, RAN)2004A及び2004Bを相互にWAN2002に接続するMTSインフラストラクチャ2008を含む。MTSインフラストラクチャ2008は、WAN2002とMTS2006の間の通信が実行されるゲートウェイ2012を含んでもよい。
WAN2002は、複数のルータ2010A、2010B及び2010Cを含み、これらは全て互いに直接的又は間接的に通信する。ルータ2010A、2010B及び2010Cは、パケットをルーティングするためにプロトコルスタックのネットワーキングレイヤで、例えば、伝送制御プロトコル/インターネットプロトコルのプロトコル(Transmission Control Protocol/Internet Protocol, TCP/IP)スタックのインターネットプロトコル(Internet Protocol, IP)レイヤで動作する。ルータ2010A、2010B及び2010Cは、IPデータグラムのIPヘッダにおいて提供される情報を使用して、これらの機能を実行する。
ゲートウェイ2012は、第3のルータ2010Cに接続し、プロトコルスタックのトランスポートレイヤ以上で動作する。例えば、ゲートウェイ2012は、ユーザデータグラムプロトコル(User Datagram Protocol, UDP)ヘッダ、TCPヘッダ及び/又は他のトランスポートプロトコルプロトコルヘッダ内の情報を使用して動作してもよく、トランスポートレイヤプロトコルヘッダは、IPデータグラムのIPデータにカプセル化される。
一実施形態では、ゲートウェイ2012は、コモディティサーバハードウェア上で実行するゲートウェイ仮想ネットワーク機能(Virtual Network Function, VNF)を使用して実装されてもよい。このような実施形態では、更なるVNFがゲートウェイ2012に提供されてもよい。
例えば、ゲートウェイ2012はまた、RAN2004A及びRAN2004Bの集約点として機能してもよい。さらに、ゲートウェイ2012は、RAN2004A及び2004Bのためのトランスポート管理並びに監視及び制御機能を提供してもよく、例えば、MTS2006における輻輳に応じて、公平なトランスポートプロトコルのリアルタイム最適化を含むトランスポート最適化をMTS2006に提供してもよい。ゲートウェイ2012は、バックホールネットワークを通じてRAN2004A及びRAN2004Bと通信してもよい。
第1のRAN2004Aは、基地局2020Aと、第1のRAN2004Aの1つ以上の共有無線周波数(radio-frequency, RF)リソース上で第1の基地局2020Aと無線通信する複数のユーザ機器(User Equipment, UE)2022A及び2022Bとを含む。第2のRAN2004Bは、基地局2020Bと、第2のRAN2004Bの1つ以上の共有RFリソース上で第2の基地局2020Bと無線通信する複数のUE2022C及び2022Dとを含む。UE2022A~2022Dは、WAN2002と、基地局2020A及び2020B並びにゲートウェイ2012を介して通信する。基地局2020A及び2020Bは、進化型ノードB(Evolved node B, eNodeB)、基地トランシーバ局(Base Transceiver Station, BTS)等でもよく、UE2022A~2022Dは、携帯電話、無線ホットスポット、セルラモデムを有するコンピュータ等でもよいが、実施形態はこれらに限定されない。
MTSインフラストラクチャ2008は、第1の基地局2020A、第2の基地局2020B及びゲートウェイ2012を接続する通信リンク(例えば、同軸ケーブル、光ファイバケーブル等、又はこれらの組み合わせ)を含んでもよい。MTSインフラストラクチャ2008は、本開示の実施形態を実施するためのリソースを含んでもよく、実施形態では、これらのリソースは、ゲートウェイ2012を含んでもよい。
第1及び第2のサーバ2014A及び2014Bは、WAN2002に接続されたデバイスにサービスを提供してもよい。提供され得るサービスの例は、クラウドコンピューティング、クラウドストレージ、ソーシャルネットワーキング、ストリーミングビデオ等を含む。
図21は、一実施形態による監視システム2100のデータフローを示す。監視システム2100は、モバイルオペレータのネットワーク(図20のMTSインフラストラクチャ2008等)のコアに設置されてもよく、コアは、関連技術では利用できない粒度及びスケールでリアルタイムネットワークメトリックを収集して報告してもよい。例えば、監視システム2100は、図16の4Gネットワーク1600のネットワーク監視エージェント1634又は図17の5Gネットワーク1700のネットワーク監視及び分析機能1728に実装されてもよく或いはこれらを使用して実装されてもよい。
S2106において、監視システム2100は、セル毎にユーザ(すなわち、UE)の現在位置を含むユーザ追跡情報2102を受信してもよい。ユーザ追跡情報は、図16の4Gネットワーク1600のS1-MME及び/又はS11インタフェースに関する情報又は図17の5Gネットワーク1700のN1、N2及び/又はN11インタフェースからの情報のような、ネットワークの制御プレーン情報から導出されてもよい。
3Gネットワークを含む実施形態では、監視システム2100は、標準のS1-MME及びS11制御インタフェースのミラーを監視する。監視システム2100は、デバイストンネル情報をユーザIPアドレスにマッチングし、セルレベルでユーザ位置を取得する。ここで、ユーザ位置は、UE位置と同義として考えられる。ユーザがネットワークを移動すると、システムはその移動を追跡し、各セルにデバイスが存在する時間的及び空間的に細かい(すなわち、高い粒度)ビューを配信する。ユーザデータは、分析集約のためにセル毎にグループ化される。
S2106において、監視システム2100はまた、eNodeB及びECI識別メトリック2104を受信してもよい。4Gネットワークでは、eNodeB及びECI識別メトリック2104は、S1-Uインタフェースからの情報を含んでもよい。5Gネットワークでは、eNodeB及びECI識別メトリック2104は、N2インタフェースからの情報を含んでもよい。eNodeB及びECI識別メトリック2104は、例えば、セルによって転送されるデータセッションに関する統計及び測定値を含んでもよいが、実施形態はこれらに限定されない。
S2106において、監視システム2100は、ユーザ追跡情報2102とeNodeB及びECI識別メトリック2104との組み合わせをフィルタリングして分析する。分析は、異常を検出することを含んでもよい。一実施形態では、図15のデータフロー1500は、S2106の一部として実施されてもよい。
フィルタリング及び分析は、セル毎に実行されてもよい。フィルタリング及び分析は、リアルタイムで、すなわち、フィルタリング及び分析される情報の収集後の最小の遅延で実行されてもよい。実施形態では、最小の遅延は、例えば、1、2、5又は15秒でもよいが、実施形態はこれらに限定されない。
S2108において、監視システム2100は、フィルタリングされたデータ及び/又はフィルタリングされたデータを分析した結果を外部システムにエクスポートしてもよく、また、検出された異常の指示を外部システムに提供してもよい。
S2110において、監視システム2100は、フィルタリングされたデータ及び/又はフィルタリングされたデータを分析した結果を、ダッシュボード上でオペレータに表示するためにエクスポートしてもよく、また、ダッシュボードを通じてオペレータに通知されるように検出された異常の指示を提供してもよい。
一実施形態では、監視システム2100は、定期的な間隔(例えば、15分毎)で、全ての監視されたeNodeB及びセル(ECI)についての統計を集約する。間隔は、実装に従って構成されてもよい。これは、ネットワークの最上位ビューを提供し、また、いずれかのセルに適用されるデータフィルタリングを可能にする。
集約された統計は、ビデオ性能メトリック、平均ユーザスループット、平均アクティブユーザ、セル輻輳比、トラフィック構成又はこれらの組み合わせを含んでもよい(これらに限定されない)。分析は、高速アクセス及びカスタムのメトリック集約のために、ビッグデータデータベースクラスタ(例えば、ElasticSearchデータベース)に記憶されてもよい。
監視されるネットワークのコアからのトラフィックを監視しつつ、監視システム2100は、図22に示すように、既知のドメイン(例えば、YouTube、Netflix)のビデオを検出し、機械学習パターン認識を使用して、ビデオプレーヤのバッファ充填レベルを推定して、開始時間、ストール(stall)及び解像度変化インジケータを検出してもよい。
図22は、一実施形態によるビデオを含むデータフローを監視するためのプロセス2200を示す。プロセス2200は、監視システム2100の一部として実行されてもよい。
一実施形態では、プロセス2200は、どのネットワーク相互作用がビデオストリームであるかを検出し、ビデオの平均ビデオスループット、平均ビデオ開始時間及び平均解像度について報告し、ビデオ再生のストールを検出するために、ネットワークトラフィックに関して収集されたリアルタイム分析を利用する。ネットワーク相互作用のDNS宛先を検出することにより、プロセス2200は、最も一般的なビデオ提供宛先の最新リストを保持するために、機械学習を使用してもよい。これは、データ転送を開始するとすぐに、ネットワーク内のどの相互作用がビデオストリームであるかを識別するのに役立てるために使用されてもよい。
検出されている新たなフロー(すなわち、新たなデータセッション)に応じて、S2202において、プロセス2200は、データセッションについてのデータソースをビデオ提供ソースのリストに対して検査してもよい。例えば、プロセス2200は、データフロー内のパケットのIPアドレスを、ビデオをサービス提供するサーバのドメインネームシステム(Domain Name System, DNS)の周期的又は連続的に更新されたデータベース2204から取得されたIPアドレスと比較してもよい。次いで、プロセス2200はS2206に進む。
S2206において、プロセス2200は、フローがビデオフローであるか否かを決定する。例えば、プロセス2200は、フローのソースのIPアドレスがデータベース2204から取得されたビデオソースのIPアドレスと一致するとき、フローがビデオフローであると決定してもよい。
プロセス2200はまた、フローについての統計のパターンが機械学習を通じて学習されたビデオフローのパターンと一致するとき、フローがビデオフローであると決定してもよい。一実施形態では、ビデオフローのパターンは、訓練されたニューラルネットワークを使用して決定されてもよい。一実施形態では、機械学習を使用してフローがビデオフローであるとプロセス2200が決定したとき、プロセス2200は、フローのソースのIPアドレスがビデオソースのIPアドレスであることを示すために、データベース2204を更新してもよい。
フローがビデオフローであると決定されると、S2206において、プロセス2200はS2210に進み、そうでない場合、プロセス2200は終了する。
S2210において、プロセス2200は、フローが終了するまで実行する複数のサブプロセスを開始する。複数のサブプロセスは、データ収集サブプロセスSP2212、バッファ追跡サブプロセスSP2214、ビットレート推定サブプロセスSP2216、ビデオ解像度検出サブプロセスSP2218及び統計収集サブプロセスSP2220を含む。
データ収集サブプロセスSP2212は、フローについての秒毎のデータ転送レート(SxSレートデータ)を収集し、SxSレートデータをバッファ追跡サブプロセスSP2214及びビットレート推定サブプロセスSP2216に提供してもよい。データ収集サブプロセスSP2212はまた、フローについての平均ビデオスループットを決定し、平均ビデオスループットを統計収集サブプロセスSP2220に提供してもよい。
バッファ追跡サブプロセスSP2214は、SxSレートデータと、ビデオ解像度検出サブプロセスSP2218により提供される検出されたビデオ解像度とを使用して、秒単位で、バッファの再生位置に対するバッファの入力位置を追跡してもよい。例えば、SxSレートデータが検出されたビデオ解像度に関連するビットレートよりも大きいデータレートを示すとき、バッファ追跡サブプロセスSP2214は、バッファの再生位置がバッファの入力位置から離れていると決定してもよく、SxSレートデータが検出されたビデオ解像度に関連するビットレートよりも小さいデータレートを示すとき、バッファ追跡サブプロセスSP2214は、バッファの再生位置がバッファの入力位置に近づいていると決定してもよい。
バッファ追跡サブプロセスSP2214は、例えば、バッファの再生位置がバッファの入力位置と同じであるとき、バッファがストリーミングするためのデータがなくなるか否かを追跡することによってストールを決定することのように、更なる情報を決定するために、再生位置に対するバッファ位置を使用してもよい。バッファ追跡サブプロセスSP2214は、ストールが検出されたという指示を統計収集サブプロセスSP2220に提供してもよい。
バッファ追跡サブプロセスSP2214はまた、ビデオの平均開始時間(すなわち、ビデオの第1のデータがバッファによって受信される第1の時間と、第1のデータがバッファから再生される第2の時間との間の時間)を決定してもよい。平均開始時間は、SxSレートデータ及び検出されたビデオ解像度に対応する符号化レートに基づいて計算されてもよい。例えば、一実施形態では、バッファ追跡サブプロセスSP2214は、再生が開始する前にバッファされるビデオの量に対応する秒単位のプレバッファ間隔を提供されてもよく、検出されたビデオ解像度に対応する符号化レートによりプレバッファ間隔を乗算することによりデータの量(ビット単位)を決定してもよく、データの量をSxSレートデータ又はその平均で除算することにより平均開始時間を決定してもよい。バッファ追跡サブプロセスSP2214は、決定された平均開始時間を統計収集サブプロセスSP2220に提供してもよい。
SxSレートデータを利用して、ビットレート推定サブプロセスSP2216は、ビデオプレーヤによって見られるビットレートを推定し、ビットレート推定をビデオ解像度検出サブプロセスSP2218に提供してもよい。一実施形態では、ビットレート推定値は符号化レート推定である。ビットレート推定は、データセッションの特性を観察することによって決定されてもよく、或いは、データセッションのデータ転送レートから推測されてもよい。ビットレート推定は、SxSレートデータにおける経時変化に従って変化してもよい。
ビデオ解像度検出サブプロセスSP2218は、ビットレート推定に基づいて、また、バッファ追跡サブプロセスSP2214によって提供されるバッファ充填レベル及びバッファデータ消費情報に基づいて、ビデオ解像度を検出してもよい。ビデオ解像度検出サブプロセスSP2218は、標準的な解像度からビットレートへの対応関係のデータベースを使用して、ビデオ解像度を決定してもよい。例えば、ビットレート推定が1.3メガビット/秒であるとき、ビデオ解像度検出サブプロセスSP2218は、ビデオ解像度が480pであると推測してもよく、ビットレート推定が5メガビット/秒であるとき、ビデオ解像度検出サブプロセスSP2218は、ビデオ解像度が1080pであると推測してもよい。検出されたビデオ解像度は、ビットレート推定における経時変化に応じて変化してもよい。
ビデオ解像度検出サブプロセスSP2218は、検出されたビデオ解像度をバッファ追跡サブプロセスSP2214及び統計収集サブプロセスSP2220に提供してもよい。
統計収集サブプロセスSP2220は、提供された情報を収集し、収集された情報を処理し、処理された情報を外部システム又はダッシュボードに提供してもよい。
プロセス2200のステップS2210は、並列に実行する複数の協働するサブプロセスとして記載されるが、実施形態はこれに限定されない。例えば、他の実施形態では、S2210のサブプロセスは、代わりに、単一のプロセスで逐次的に実行されるそれぞれのステップでもよい。
図23は、一実施形態によるネットワークを監視するためのプロセス2300を示す。プロセス2300は、異常監視サブプロセスSP2302及び収集サブプロセスSP2322を含む。サブプロセスSP2302及びSP2322は、強化された監視のために特定のセルの自動選択を提供する。
プロセス2300は、ネットワーク内の複数のセルのそれぞれについて実行されてもよい。関連技術の監視プロセスとは異なり、プロセス2300は、セル毎のリアルタイム集約分析を監視し、これは、図15のデータフロー1500又は図21の監視システム2100により生成され得るようなリアルタイムデータを含んでもよい。プロセス2300は、ネットワーク監視エージェント1634により、図16の4Gネットワーク1600において実行されてもよい。プロセス2300は、ネットワーク監視及び分析機能428により、図4の5Gネットワーク400において実行されてもよい。
一実施形態では、プロセス2300は、低い粒度(例えば、15分)を有する構成可能な異常検出間隔で、異常について複数のセルを監視し、それにより、過剰なデータを記憶する必要なく、全てのセルが監視され得る。セル上の可能性のある異常を検出すると、プロセス2300は、セルについての報告間隔を通常の間隔(15分等)から強化された間隔(1秒等)に変更してもよい。
例えば、プロセス2300は、「3Mbps未満の平均ユーザスループット」のような所定の基準をトリガするeNodeB又はセルについて監視してもよい。これらのセルについて、システムは、強化された粒度(例えば、毎秒)のメトリックを収集してもよい。強化された粒度のメトリックは、状態がトリガされ続ける限り、構成可能な持続時間の間に収集されてもよい。プロセス2300は、ディスク空間の可用性に対して監視を自己調整してもよい。
異常監視サブプロセスSP2302は、対応するセルの測定状態(図15のデータフロー1500により生成され得るリアルタイム情報及び/又は図22のプロセス2200により収集されるビデオフロー関連情報等)を使用して、セルについてのデータ報告が通常の間隔で実行されるか強化された間隔で実行されるかを決定する。
S2304において、異常監視サブプロセスSP2302は、異常検出タイマの満了を待機する。異常検出タイマの満了に応じて、異常監視サブプロセスSP2302はS2306に進む。
S2306において、異常監視サブプロセスSP2302は、セルの測定された状態が1つ以上のトラップのいずれか1つの状態を満たすか否かを決定する。トラップは、例えば、平均ユーザスループットがスループット目標よりも小さいか否か、高解像度(High Definition, HD)ビデオである配信されたビデオフローの平均割合がHDビデオ配信目標よりも小さいか否か、セル内のアクティブユーザの数が通常のアクティブユーザ範囲外であるか否か、セル内のビデオフローの割合が好ましいビデオ割合範囲外であるか否か、セル内のビデオフローの平均解像度が範囲外であるか否か、バッファされたデータフローのバッファストール率が範囲外であるか否か、ウェブサービス(例えば、特定のソーシャルメディアサイト、ショッピングサイト、ストリーミングビデオサイト等)のロード時間がそれぞれのロード時間目標よりも遅いか否か、いずれかの他の測定されたセル状態がそれぞれの正常範囲外であるか否か、又はこれらの組み合わせでもよい。トラップ検出に使用される範囲は、所定のものでもよく、或いは、セルの特性(セルの帯域幅又はセルについて学習された過去のノルム等)に従って決定されてもよい。
セルの測定状態がトラップの状態を満たすと、S2306において、異常監視サブプロセスSP2302はS2308に進み、そうでない場合、異常監視サブプロセスSP2302はS2310に進む。
S2308において、異常監視サブプロセスSP2302は、収集サブプロセスSP2322の報告間隔を強化された間隔(ここでは1秒)に設定する。次いで、異常監視サブプロセスSP2302はS2312に進む。
S2310において、異常監視サブプロセスSP2302は、収集サブプロセスSP2322の報告間隔を通常の間隔(ここでは15分)に設定する。次いで、異常監視サブプロセスSP2302はS2312に進む。
S2312において、異常監視サブプロセスSP2302は、異常検出間隔後に異常検出タイマを満了に設定し、S2304に進む。
収集サブプロセスSP2322は、異常監視サブプロセスSP2302により通常の間隔又は強化された間隔に設定され得る報告間隔のいずれかを使用して、セル上のデータを報告する。
S2326において、収集サブプロセスSP2322は、収集サブプロセスSP2322が監視しているセルに関連するデータフローに関する性能データを受信する。データフローは、セル内のUEにデータを配信するデータフローでもよい。性能データは、図15のデータフロー1500から生成されるデータ及び/又は図21の監視システム2100により生成されるデータでもよいが、実施形態はこれらに限定されない。
S2330において、収集サブプロセスSP2322は、受信した性能データを、セルのECIに関連するデータのバケットに追加する。
S2332において、収集サブプロセスSP2322は、報告間隔が満了したか否かを決定する。報告間隔が満了すると、S2332において、収集サブプロセスSP2322はS2334に進み、そうでない場合、収集サブプロセスSP2322はS2326に戻る。
S2334において、収集サブプロセスSP2322は、データを報告した最後の時刻以降に収集されたデータを報告し、ECIに関連するデータのバケットを空にしてもよく、報告間隔を再開し、S2326に戻る。
図23に示すプロセス2300において、セルの通常の監視は、15分毎にセルについてのデータを報告することにより実行され、セルの強化された監視は、1秒毎にセルについてのデータを報告することにより実行されるが、実施形態はこれらの間隔に限定されない。さらに、図23に示す例示的なプロセスにおいて、2つの監視レベル(15分の通常の間隔及び1秒の強化された間隔に対応する)が示されているが、実施形態はこれらに限定されない。例えば、一実施形態では、プロセス2300は、通常の間隔とは異なるそれぞれの強化された間隔にそれぞれ対応し、監視レベルにそれぞれ関連するトラップ状態によりそれぞれトリガされる複数の強化された監視レベルを含んでもよい。
プロセス2300は、並列に実行する2つの協働するサブプロセスとして記載されるが、実施形態はこれに限定されない。例えば、他の実施形態では、プロセス2300のサブプロセスのステップは、監視されるセル毎に実行される単一のプロセスに統合されてもよい。
図24は、一実施形態による通信ネットワーク2400を示す。
通信ネットワーク2400は、eNodeB2420、スイッチ2426、MME2424及びSGW/PGW2428を含むRAN2406を含む。したがって、RAN2406、eNodeB2420、スイッチ2426、MME2424及びSGW/PGW2428は、それぞれ、図16のRAN1606、eNodeB1620A、スイッチ1626、MME1624及びSGW/PGW1628に対応し、RAN2406、eNodeB2420、スイッチ2426、MME2424及びSGW/PGW2428の説明は、簡潔にするために省略される。
通信ネットワーク2400は、監視システム2434及びリアルタイム分析システム2412を更に含む。監視システム2434及びリアルタイム分析システム2412は、1つ以上のベアメタルの商用オフザシェルフ(commercial off-the-shelf, COTS)サーバを使用して、或いは、仮想化環境における1つ以上の仮想ネットワーク機能(Virtual Network Function, VNF)として配備されてもよい。
監視システム2434は、使用状況を追跡してネットワークセルをプロファイルするために標準的な3GPPインタフェース(ここでは、S1-U、S1-MME及びS11インタフェース)上のデータをミラーリングしたミラーデータを受信し、ミラーデータに基づいてリアルタイムデータを生成する。リアルタイムデータは、リアルタイム分析システム2412により、通信ネットワーク2400内の状態、特に通信ネットワーク2400のセル内の状態のリアルタイム分析を生成するために使用されてもよい。
リアルタイム分析は、通信ネットワーク2400を管理する際に使用するために、オペレータのオペレーションサポートシステム(Operations Support System, OSS)2414に提供されてもよい。オペレータのOSSは、自己構成及び自己組織化ネットワーク(Self-Organizing Network, SON)としての通信ネットワーク2400の動作をサポートしてもよく、自己構成及び自己組織化ネットワークは、通信ネットワーク2400の自動制御及び構成を実行するために、リアルタイム分析システム2412により提供されるリアルタイム分析を使用してもよい。
リアルタイム分析は、通信ネットワーク2400のセルの現在の状態をオペレータに効率的に通信するために、外部ダッシュボード2416に提供されてもよい。
実施形態は、短い間隔(例えば、15分以下)で、通信ネットワーク内の各セルについてのそれぞれの最上位レベルの統計を提供してもよい。
実施形態は、関連技術のシステムで利用可能なものを超えて、細かい空間的及び/又はトポロジ的な粒度で、標準的なインタフェースからのデータを使用してネットワーク内の問題セルを自動的に検出するシステムを提供してもよい。例えば、実施形態は、ネットワークの中間(例えば、ゲートウェイ)で取得されたデータから特定のセル内のビデオ性能を検出し、そのデータを使用してセル内の問題を検出してもよいが、実施形態はこれに限定されない。
実施形態は、問題セルを識別し、問題セルとして識別されたセル毎に、細かい時間的粒度の統計(例えば、秒毎の統計)を提供してもよい。細かい時間的粒度の統計は、平均ユーザスループット、平均アクティブユーザ、平均接続ユーザ、ビデオ性能メトリック(開始時間、ストール率、解像度等)、トラフィック構成、セル輻輳レベル又はこれらの組み合わせを含んでもよいが、実施形態はこれらに限定されない。
実施形態は、ネットワーク内の障害スポットを識別し、どのトラフィックが障害を引き起こす可能性があるかを調査し、新たに配備されたセルが正しく動作していることを確保するために新たに配備されたセルの性能監視を実行するために使用されてもよい。
実施形態は、eNodeBのセクタ内のどのキャリア(すなわち、セクタ内のどのセル)が過剰に利用されているか十分に利用されていないかを決定するために、スペクトル負荷バランス分析を実行するために使用されてもよい。セクタは、セクタ内の各セルがその容量の同じ割合で動作しているときに、スペクトル的に負荷バランスされているものとしてもよい。スペクトル負荷バランス分析は、セクタ内のサポートされているキャリアの間でセクタ内の負荷のバランスをとるために、或いは、他の用途でそのセルの帯域幅を解放するために、十分に使用されておらず(例えば、セクタ内の他のセルへのトラフィックをステアリングすることによって)推奨されない可能性があるキャリアを識別するために、使用されてもよい。
実施形態は、コンピュータにより実装される方法又はコンピュータ実行可能命令を記憶した非一時的なコンピュータ読み取り可能媒体として実装されてよい。一実施形態では、プロセッサにより実行されると、コンピュータ読み取り可能命令は、本開示の少なくとも1つの態様による方法を実行してよい。
本開示の種々の実施形態では、データトランスポートは、潜在的な輻輳の存在において、ネットワークの現在の状態に適応するためにリアルタイムで更新される1つ以上の動的な変数を使用して、トランスポート最適化プロセスにより最適化される。ネットワークは、トランスポート最適化プロセスが考慮し得る異なる特性をそれぞれ有する複数のサブネットワークを含んでもよい。さらに、トランスポート最適化プロセスは、各サブネットワーク上で検出され得るサブネットワークの固有の特性、特に輻輳がどのように影響するかに関連する、サブネットワークからの情報を使用してもよい。サブネットワークは、無線アクセスネットワーク(Radio Access Network, RAN)、ケーブルインターネットアクセスネットワーク(Internet Access network, IAN)、デジタル加入者線(Digital Subscriber Line, DSL)IAN、ファイバIAN等を含んでもよい。
トランスポート最適化プロセスは、TCPセッションの帯域幅を増加(すなわち、加速)又は減少(すなわち、減速)させるために、TCPセッションの輻輳ウィンドウを制御するための入力をTCP実装に提供してもよい。例えば、トランスポート最適化プロセスは、TCP実装に対して、スロースタート段階をスキップするように指示してもよく、より大きい初期輻輳ウィンドウでスロースタート段階を開始するように指示してもよく、輻輳回避段階の間に輻輳ウィンドウが増加するか、減少するか或いはその双方が変化するそれぞれの量を変更するように指示してもよく、或いは、これらの組み合わせを指示してもよい。
本発明は、現時点で実用的な実施形態であると考えられるものに関して記載されているが、実施形態は、開示の実施形態に限定されず、逆に、添付の特許請求の範囲内に含まれる様々な修正及び等価な構成を含んでもよい。プロセスに記載された動作の順序は例示的であり、いくつかの動作は並び替えられてもよい。さらに、2つ以上の実施形態が組み合わされてもよい。
Claims (20)
- ネットワーク効率を最適化するための方法であって、
共有チャネルについてのネットワークトポロジ情報を取得するステップであり、前記ネットワークトポロジ情報は、前記チャネルを通じて伝送される制御及びデータパケットを監視することにより取得された情報を含む、ステップと、
前記共有チャネルを使用するコネクションについて、輻輳制御アルゴリズム、前記輻輳制御アルゴリズムのパラメータ又はこれらの双方を決定するステップと、
前記輻輳制御アルゴリズム、前記輻輳制御アルゴリズムの前記パラメータ又はこれらの双方に従って、前記コネクションのデータフローを管理するステップと
を含む方法。 - 前記輻輳制御アルゴリズムを決定するステップは、
前記コネクションを確立するための要求に応じて、前記ネットワークトポロジ情報を使用して、初期輻輳ウィンドウアルゴリズム(ICWA)を決定するステップを含む、請求項1に記載の方法。 - 前記ICWAを決定するステップは、前記ネットワークトポロジ情報に従って、スロースタート段階なしのアルゴリズムを選択するステップを含む、請求項2に記載の方法。
- 前記ICWAを決定するステップは、前記ネットワークトポロジ情報に従って、高速スロースタート段階を有するアルゴリズムを選択するステップであり、初期輻輳ウィンドウは第1のパラメータに従って設定され、前記輻輳ウィンドウは、時間と共に指数関数的に増加するインクリメントで成長する、請求項2に記載の方法。
- 前記輻輳制御アルゴリズムの前記パラメータを決定するステップは、前記ネットワークトポロジ情報に従って、初期輻輳ウィンドウのサイズを決定するステップを含む、請求項1に記載の方法。
- 前記ネットワークトポロジ情報の変化に応じて、前記輻輳制御アルゴリズムのパラメータを更新するステップを更に含む、請求項1に記載の方法。
- 前記ネットワークトポロジ情報に含まれる輻輳プロファイルを使用して前記輻輳制御アルゴリズム、前記輻輳制御アルゴリズムの前記パラメータ又はこれらの双方を決定するステップを含み、
前記輻輳プロファイルは、前記共有チャネルによって転送されたデータストリームの1つ以上の輻輳関連の時間ウィンドウ処理された測定値と、前記共有チャネルの識別子とを含む、請求項1に記載の方法。 - 前記ネットワークトポロジ情報に従って、前記コネクションの第1のエンドポイントであるデバイスから受信したアドバタイズされた受信ウィンドウをスケーリングし、前記スケーリング後のアドバタイズされた受信ウィンドウを前記コネクションの第2のエンドポイントに伝送することにより、前記デバイスの前記アドバタイズされた受信ウィンドウを拡大することを決定するステップを更に含む、請求項1に記載の方法。、
- 前記ネットワークトポロジ情報を使用して、前記共有チャネルに有効な輻輳プロファイルが存在しないと決定するステップと、
前記共有チャネルに前記有効な輻輳プロファイルが存在しないという決定に応じて、グローバルなデフォルト輻輳プロファイル、又は前記共有チャネルの特性に従って決定されたデフォルト輻輳プロファイルを使用して、前記輻輳制御アルゴリズム、前記輻輳制御アルゴリズムの前記パラメータ又はこれらの双方を決定するステップと
を更に含む、請求項1に記載の方法。 - 前記輻輳制御アルゴリズム、前記輻輳制御アルゴリズムの前記パラメータ又はこれらの双方を決定するステップは、
前記ネットワークトポロジ情報を使用して、前記コネクションのエンドポイントであるデバイスの目標スループットを決定するステップと、
前記デバイスの前記目標スループットを使用して、前記コネクションの目標スループットを決定するステップであり、前記コネクションの前記目標スループットは前記デバイスの前記目標スループットと異なる、ステップと、
前記コネクションの前記目標スループットに従って、前記輻輳制御アルゴリズム、前記輻輳制御アルゴリズムの前記パラメータ又はこれらの双方を決定するステップと
を含む、請求項1に記載の方法。 - ネットワークトポロジ情報を生成するための方法であって、
複数のデータセッション測定値と、前記データセッション測定値にそれぞれ関連する複数のネットワーク部分識別子とを含むリアルタイム情報を取得するステップであり、各データセッション測定値は、ネットワークを介して伝送されたそれぞれのデータセッションの測定値を含み、各ネットワーク部分識別子は、それぞれのデータストリームのエンドポイントに対応する前記ネットワークの部分の識別子を含み、インターネットプロトコル(IP)アドレスからネットワーク部分識別子へのマッピングを使用して、それぞれのデータストリームのIPアドレスをネットワーク部分識別子にマッピングすることによって決定される、ステップと、
前記複数のデータセッション測定値及び前記複数のそれぞれのネットワーク部分識別子を使用して、ネットワーク部分についてのネットワークトポロジ情報をリアルタイムで生成するステップと
を含む方法。 - 前記リアルタイム情報を取得するステップは、
第1のデータセッションの第1のデータセッション測定値を取得するステップと、
前記IPアドレスからネットワーク部分識別子へのマッピングを受信するステップと、
前記第1のデータセッションの第1のIPアドレスを決定するステップと、
前記IPアドレスからネットワーク部分識別子へのマッピング及び前記第1のIPアドレスを使用して、第1のネットワーク部分識別子を決定するステップと、
前記第1のネットワーク部分識別子を前記第1のデータセッションに関連付けるステップと
を含む、請求項11に記載の方法。 - 前記第1のIPアドレスは、前記第1のデータセッションのエンドポイントであるユーザデバイスのIPアドレスである、請求項12に記載の方法。
- 前記ネットワーク部分は前記ネットワークのセルであり、
前記ネットワークトポロジ情報は、前記セル内の1つ以上の状態を示す前記セルのクラウドソースのプロファイルを含み、
前記セルの前記クラウドソースのプロファイルは、前記セル内の平均ユーザスループット、前記セル内のアクティブユーザの数、前記セル内の総データ量、接続されているがアクティブに伝送していないユーザの数又はこれらの組み合わせを含む、請求項11に記載の方法。 - 前記ネットワーク部分はセルであり、
前記ネットワークトポロジ情報は、前記セルに関する統計を含み、前記統計は、前記セルの平均ユーザスループット、前記セルのユーザスループットの分布、前記セル内のアクティブユーザの数、前記セル内の接続ユーザの数、前記セルの平均ユーザ機器(UE)スループット、前記セルのUEスループットの分布、前記セルのアクティブUEの数、前記セルの接続UEの数、前記セルのデータ量に関する統計、前記セルの待ち時間に関する統計又はこれらの組み合わせを含む、請求項11に記載の方法。 - 前記複数のデータセッション測定値は、前記ネットワークのユーザデータプレーンを監視することにより取得され、
前記IPアドレスからネットワーク部分識別子へのマッピングは、前記ネットワークの制御プレーンのユーザモビリティ及びデータセッション識別子情報を監視することにより取得される、請求項11に記載の方法。 - ネットワークを監視するための方法であって、
前記ネットワークの複数のセルのそれぞれでのUEを追跡することによって、ユーザ機器(UE)位置情報を生成するステップと、
前記UE位置情報を使用して、リアルタイムネットワークメトリックを生成するステップであり、前記リアルタイムネットワークメトリックは、前記複数のセルについてのそれぞれのリアルタイム性能情報を含む、ステップと
を含む方法。 - 前記リアルタイムネットワークメトリックを使用して、前記複数のセルのうち異常な性能を有するセルをリアルタイムで識別するステップを含む、請求項17に記載の方法。
- 前記リアルタイムネットワークメトリックを使用して、前記複数のセル内の或るセルが性能異常を受けているか否かを決定するステップと、
前記セルが前記性能異常を受けているという決定に応じて、強化された間隔で前記セルに関する性能情報を報告するステップと、
前記セルが前記性能異常を受けていないという決定に応じて、通常の間隔で前記セルに関する前記性能情報を報告するステップであり、前記通常の間隔は、前記強化された間隔よりも長い、ステップと
を含む、請求項17に記載の方法。 - 前記リアルタイムネットワークメトリックを使用して、前記複数のセルのうち或るセル内のデータストリームがビデオデータを搬送していると決定するステップと、
前記リアルタイムネットワークメトリックを使用して、前記データストリームについて秒単位(SxS)レートデータを決定するステップと、
前記SxSレートデータを使用して、ビデオ統計を決定するステップであり、前記ビデオ統計は、前記ビデオデータのビットレート推定、前記ビデオデータのビデオ解像度、平均ビデオスループット、前記ビデオデータに対応するバッファ充填レベル、前記ビデオデータに対応する平均開始時間、前記ビデオデータに対応するストール情報又はこれらの組み合わせを含む、ステップと、
前記ビデオ統計をリアルタイムで報告するステップと
を含む、請求項17に記載の方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962956135P | 2019-12-31 | 2019-12-31 | |
US201962956138P | 2019-12-31 | 2019-12-31 | |
US201962956104P | 2019-12-31 | 2019-12-31 | |
US62/956,135 | 2019-12-31 | ||
US62/956,138 | 2019-12-31 | ||
US62/956,104 | 2019-12-31 | ||
PCT/US2020/067733 WO2021138604A1 (en) | 2019-12-31 | 2020-12-31 | Systems and methods for real-time monitoring and optimization of mobile networks |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023509426A true JP2023509426A (ja) | 2023-03-08 |
Family
ID=76546880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022540376A Pending JP2023509426A (ja) | 2019-12-31 | 2020-12-31 | モバイルネットワークのリアルタイム監視及び最適化のためのシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11329922B2 (ja) |
EP (1) | EP4085685A4 (ja) |
JP (1) | JP2023509426A (ja) |
KR (1) | KR20220123083A (ja) |
WO (1) | WO2021138604A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11329922B2 (en) * | 2019-12-31 | 2022-05-10 | Opanga Networks, Inc. | System and method for real-time mobile networks monitoring |
CN113014630A (zh) * | 2021-02-10 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 实现通信连续性的方法及相关设备 |
Family Cites Families (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377987B1 (en) * | 1999-04-30 | 2002-04-23 | Cisco Technology, Inc. | Mechanism for determining actual physical topology of network based on gathered configuration information representing true neighboring devices |
US6704288B1 (en) | 1999-10-07 | 2004-03-09 | General Instrument Corporation | Arrangement for discovering the topology of an HFC access network |
EP1211843A1 (en) * | 2000-11-30 | 2002-06-05 | Hewlett-Packard Company, A Delaware Corporation | Process and apparatus for automatic topology discovery |
US7304948B1 (en) * | 2000-12-29 | 2007-12-04 | Nortel Networks Limited | Congestion control for signalling transport protocols |
US6744730B2 (en) * | 2001-11-30 | 2004-06-01 | Nokia Corporation | Throughput enhancement after interruption |
WO2003081873A1 (en) * | 2002-03-22 | 2003-10-02 | Nokia Corporation | Method, system and device for controlling a transmission window size |
US7082584B2 (en) * | 2003-04-30 | 2006-07-25 | Lsi Logic Corporation | Automated analysis of RTL code containing ASIC vendor rules |
US20050052992A1 (en) * | 2003-08-01 | 2005-03-10 | Cloonan Thomas J. | Method and system for dynamically managing cable data bandwidth based on channel congestion state and subscriber usage profile |
US7609640B2 (en) * | 2003-12-19 | 2009-10-27 | Nokia Corporation | Methods and applications for avoiding slow-start restart in transmission control protocol network communications |
US20060059256A1 (en) * | 2004-09-10 | 2006-03-16 | Nokia Corporation | Signaling a state of a transmission link via a transport control protocol |
US7787366B2 (en) * | 2005-02-02 | 2010-08-31 | Interdigital Technology Corporation | Method and apparatus for controlling wireless medium congestion by adjusting contention window size and disassociating selected mobile stations |
US20090227251A1 (en) * | 2008-03-05 | 2009-09-10 | Huawei Technologies Co., Inc. | System and method for automatically monitoring and managing wireless network performance |
US8116247B2 (en) * | 2008-03-11 | 2012-02-14 | Nokia Siemens Networks Oy | Adaptive mechanism for dynamic reconfiguration of mesh networks |
GB2461132B (en) * | 2008-06-27 | 2013-02-13 | Gnodal Ltd | Method of data delivery across a network |
CN101686497B (zh) * | 2008-09-24 | 2013-04-17 | 华为技术有限公司 | 小区负荷均衡方法、小区负荷评估方法及装置 |
KR20100078431A (ko) * | 2008-12-30 | 2010-07-08 | 주식회사 동부하이텍 | 표준 셀 라이브러리의 성능 개선을 위한 측정 장치 |
EP2520038B1 (en) * | 2009-12-31 | 2021-01-06 | Allot Ltd | Device, system and method of media delivery optimization |
US9001663B2 (en) * | 2010-02-26 | 2015-04-07 | Microsoft Corporation | Communication transport optimized for data center environment |
US20120123867A1 (en) * | 2010-05-11 | 2012-05-17 | Scott Hannan | Location Event Advertising |
US9184983B2 (en) * | 2010-08-26 | 2015-11-10 | Futurewei Technologies, Inc. | Cross-stratum optimization protocol |
KR101781159B1 (ko) * | 2010-12-20 | 2017-09-22 | 한국전자통신연구원 | 데이터 분배 서비스에서 경량 멀티캐스트를 제공하는 방법 및 장치 |
US20120163167A1 (en) * | 2010-12-27 | 2012-06-28 | Symbol Technologies, Inc. | Transmission control protocol optimization systems and methods for wireless networks |
CN102143078B (zh) * | 2011-03-29 | 2013-10-02 | 华为技术有限公司 | 一种报文处理方法、转发设备及系统 |
KR101503042B1 (ko) | 2011-04-22 | 2015-03-16 | 주식회사 케이티 | 부하 분산 방법, 이를 수행하는 펨토 기지국 및 펨토 기지국 관리 시스템 |
US10547555B2 (en) * | 2011-10-04 | 2020-01-28 | North Carolina State University | Methods, systems, and computer readable media for reducing Wi-Fi scanning using cellular network to Wi-Fi access point mapping information |
US8724904B2 (en) * | 2011-10-25 | 2014-05-13 | International Business Machines Corporation | Anomaly detection in images and videos |
US20130250853A1 (en) * | 2012-03-20 | 2013-09-26 | Qualcomm Incorporated | Methods and apparatuses to improve round trip time in transfer control protocol using accelerated acknowledgement messages |
EP2704380A1 (en) * | 2012-09-03 | 2014-03-05 | Telefonaktiebolaget L M Ericsson (publ) | Congestion signalling in a communications network |
US9300541B2 (en) * | 2012-09-28 | 2016-03-29 | Time Warner Cable Enterprises Llc | System and method for automatically learning and maintaining IP address allocation topology |
US9100285B1 (en) | 2012-12-18 | 2015-08-04 | Juniper Networks, Inc. | Dynamic control channel establishment for software-defined networks having centralized control |
US9131390B2 (en) * | 2013-02-28 | 2015-09-08 | Verizon Patent And Licensing Inc. | Optimization of transmission control protocol (TCP) connections in a wireless network |
WO2014135185A1 (en) * | 2013-03-04 | 2014-09-12 | Nokia Solutions And Networks Oy | User plane congestion control |
CN105264859B (zh) * | 2013-04-09 | 2018-08-31 | 诺基亚通信公司 | 用于生成对基于web的应用的客户体验的洞悉的方法和装置 |
US8923116B1 (en) * | 2013-06-17 | 2014-12-30 | Seven Networks, Inc. | Selective activation of network management policies of mobile devices in a mobile network |
US9282041B2 (en) * | 2013-07-16 | 2016-03-08 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Congestion profiling of computer network devices |
US9516541B2 (en) * | 2013-09-17 | 2016-12-06 | Intel IP Corporation | Congestion measurement and reporting for real-time delay-sensitive applications |
US9565577B2 (en) * | 2013-11-21 | 2017-02-07 | At&T Intellectual Property I, L.P. | Method and apparatus for maximizing network capacity of cell sites in a wireless network |
US9918258B2 (en) * | 2013-11-26 | 2018-03-13 | At&T Intellectual Property I, L.P. | Anomaly correlation mechanism for analysis of handovers in a communication network |
EP3075110B1 (en) * | 2013-11-27 | 2018-01-10 | Telefonaktiebolaget LM Ericsson (publ) | Controlling a transmission control protocol window size |
US10043137B1 (en) * | 2014-01-06 | 2018-08-07 | Nuu:Bit, Inc. | Dynamically optimized transport system |
WO2015138914A1 (en) * | 2014-03-14 | 2015-09-17 | Interdigital Patent Holdings, Inc. | Method and apparatus for dual-band mesh operations |
US9794311B2 (en) * | 2014-03-18 | 2017-10-17 | Qualcomm Incorporated | Transport accelerator implementing extended transmission control functionality |
WO2016041580A1 (en) * | 2014-09-16 | 2016-03-24 | Huawei Technologies Co.,Ltd | Scheduler, sender, receiver, network node and methods thereof |
US9794181B2 (en) * | 2014-12-05 | 2017-10-17 | Verizon Digital Media Services Inc. | Dynamic initial congestion window modification |
CN105763474B (zh) * | 2014-12-19 | 2019-10-25 | 华为技术有限公司 | 数据传输方法和装置 |
US9456362B2 (en) * | 2015-01-19 | 2016-09-27 | Viavi Solutions Uk Limited | Techniques for dynamic network optimization using geolocation and network modeling |
US9929956B2 (en) * | 2015-02-26 | 2018-03-27 | Citrix Systems, Inc. | System for bandwidth optimization with initial congestion window determination |
CN105991462B (zh) * | 2015-03-02 | 2019-05-28 | 华为技术有限公司 | 传输控制协议tcp数据包的发送方法、发送装置和系统 |
GB2536241A (en) * | 2015-03-09 | 2016-09-14 | Vodafone Ip Licensing Ltd | Self-organising network engine for per user optimisation in a telecommunications network |
JP2016174268A (ja) * | 2015-03-17 | 2016-09-29 | 株式会社日立製作所 | ネットワークシステム、ネットワークシステムの制御方法、通信装置、及びプログラム |
EP3304831B1 (en) * | 2015-06-03 | 2021-11-10 | VID SCALE, Inc. | Enhancing performance of multi-path communications |
US10158575B2 (en) * | 2015-06-17 | 2018-12-18 | Citrix Systems, Inc. | System for bandwidth optimization with high priority traffic awareness and control |
US10063406B2 (en) * | 2015-07-15 | 2018-08-28 | TUPL, Inc. | Automatic customer complaint resolution |
US20170094454A1 (en) * | 2015-09-25 | 2017-03-30 | Qualcomm Incorporated. | Efficiency crowdsourcing of wireless network-related data |
US10419968B2 (en) * | 2016-03-30 | 2019-09-17 | International Business Machines Corporation | Dynamic selection of TCP congestion control for improved performances |
US10361963B2 (en) * | 2016-05-10 | 2019-07-23 | Verizon Patent And Licensing Inc. | Controlling a congestion window size |
US20170339022A1 (en) * | 2016-05-17 | 2017-11-23 | Brocade Communications Systems, Inc. | Anomaly detection and prediction in a packet broker |
US10567988B2 (en) * | 2016-06-03 | 2020-02-18 | Opanga Networks, Inc. | Radio access type detection using traffic metrics |
EP3306878A1 (en) * | 2016-10-05 | 2018-04-11 | Alcatel Lucent | A networked application component with credit based congestion control, and corresponding method |
WO2018077426A1 (en) * | 2016-10-28 | 2018-05-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling of data packet transfer via a proxy |
JP6822076B2 (ja) * | 2016-11-08 | 2021-01-27 | 日本電気株式会社 | 無線リソース割り当て装置、無線リソース割り当て方法、及び、無線リソース割り当てプログラム |
US10064073B2 (en) * | 2016-11-11 | 2018-08-28 | International Business Machines Corporation | Optimizing bandwidth of cognitive radios |
CN108270682B (zh) * | 2016-12-30 | 2022-06-24 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信系统 |
EP3571809B1 (en) * | 2017-01-17 | 2020-07-29 | Telefonaktiebolaget LM Ericsson (PUBL) | Method and apparatus for analysing performance of a telecommunications network |
US10986516B2 (en) * | 2017-03-10 | 2021-04-20 | Huawei Technologies Co., Ltd. | System and method of network policy optimization |
US10298279B2 (en) * | 2017-04-05 | 2019-05-21 | Isco International, Llc | Method and apparatus for increasing performance of communication paths for communication nodes |
CN110800018A (zh) * | 2017-04-27 | 2020-02-14 | 斯纳普公司 | 用于社交媒体平台的朋友位置共享机制 |
US10412049B2 (en) * | 2017-10-20 | 2019-09-10 | Syniverse Technologies, Llc | Traffic rerouting and filtering in packet core networks |
US10904788B2 (en) * | 2017-10-24 | 2021-01-26 | Cisco Technology, Inc. | Controlling a congestion window value for a wireless device in a heterogeneous network |
US10897489B2 (en) * | 2017-12-07 | 2021-01-19 | Mcom Media Comunications Dmcc | Managing content casting |
US10931587B2 (en) * | 2017-12-08 | 2021-02-23 | Reniac, Inc. | Systems and methods for congestion control in a network |
US10887778B2 (en) * | 2017-12-22 | 2021-01-05 | At&T Intellectual Property I, L.P. | Proactively adjusting network infrastructure in response to reporting of real-time network performance |
CN110022264B (zh) * | 2018-01-08 | 2020-09-08 | 华为技术有限公司 | 控制网络拥塞的方法、接入设备和计算机可读存储介质 |
CN111567131B (zh) * | 2018-01-15 | 2022-10-18 | 华为技术有限公司 | 管理v2x通信网络中通信的设备和方法 |
WO2019169273A1 (en) * | 2018-03-02 | 2019-09-06 | Futurewei Technologies, Inc. | Method of traffic and congestion control for a network with quality of service |
CN109996210B (zh) * | 2018-04-02 | 2020-07-24 | 京东方科技集团股份有限公司 | 车联网的拥塞窗口控制方法、装置和设备 |
US20190372897A1 (en) * | 2018-05-31 | 2019-12-05 | T-Mobile Usa, Inc. | Systems and methods for congestion measurements in data networks via qos availability |
US10917797B2 (en) * | 2018-08-17 | 2021-02-09 | Spectrum Effect Inc. | Method and system for detecting and resolving anomalies in a wireless network |
US11678252B2 (en) * | 2018-10-05 | 2023-06-13 | Huawei Technologies Co., Ltd. | Quality of service information notification to user equipment, users, and application server |
JP7111173B2 (ja) * | 2018-10-29 | 2022-08-02 | 日本電気株式会社 | 情報処理装置 |
EP3664398A1 (en) * | 2018-12-06 | 2020-06-10 | InterDigital CE Patent Holdings | Network equipment and method for delivering data packets |
WO2020126657A1 (en) * | 2018-12-17 | 2020-06-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for congestion control in a telecommunications network |
US11864022B2 (en) * | 2018-12-20 | 2024-01-02 | Teleonaktiebolaget LM Ericsson (publ) | Buffer status reporting in wireless communication systems |
CN110120896B (zh) * | 2019-04-15 | 2020-12-25 | 北京达佳互联信息技术有限公司 | 网络延迟控制方法、装置、电子设备及存储介质 |
US11012361B2 (en) * | 2019-08-29 | 2021-05-18 | Hughes Network Systems, Llc | Managing transmission control protocol (TCP) traffic |
CN110728823A (zh) * | 2019-10-09 | 2020-01-24 | 中兴健康科技有限公司 | 一种低功耗往返监护的路径感知电子围栏系统 |
US11546789B2 (en) * | 2019-11-22 | 2023-01-03 | T-Mobile Usa, Inc. | Cell map built and used by mobile devices |
US11190448B2 (en) * | 2019-11-26 | 2021-11-30 | Verizon Patent And Licensing Inc. | Transport congestion control optimization based on network context |
US11388109B2 (en) * | 2019-12-05 | 2022-07-12 | At&T Intellectual Property I, L.P. | Hierarchical capacity management in a virtualization environment |
US11329922B2 (en) * | 2019-12-31 | 2022-05-10 | Opanga Networks, Inc. | System and method for real-time mobile networks monitoring |
US20200280518A1 (en) * | 2020-01-28 | 2020-09-03 | Intel Corporation | Congestion management techniques |
US11337108B2 (en) * | 2020-02-19 | 2022-05-17 | Verizon Patent And Licensing Inc. | Uplink congestion control based on SIP messaging |
US11496403B2 (en) * | 2020-02-24 | 2022-11-08 | Cloudflare, Inc. | Modifying the congestion control algorithm applied to a connection based on request characteristics |
US11483249B2 (en) * | 2020-09-29 | 2022-10-25 | Edgecast Inc. | Systems and methods for dynamic optimization of network congestion control |
US20220210084A1 (en) * | 2022-03-16 | 2022-06-30 | Intel Corporation | Timestamp synchronization between host and network interface device |
-
2020
- 2020-12-30 US US17/138,559 patent/US11329922B2/en active Active
- 2020-12-30 US US17/138,542 patent/US11438272B2/en active Active
- 2020-12-31 EP EP20909524.9A patent/EP4085685A4/en active Pending
- 2020-12-31 JP JP2022540376A patent/JP2023509426A/ja active Pending
- 2020-12-31 KR KR1020227026423A patent/KR20220123083A/ko unknown
- 2020-12-31 US US17/139,819 patent/US11785442B2/en active Active
- 2020-12-31 WO PCT/US2020/067733 patent/WO2021138604A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20210203606A1 (en) | 2021-07-01 |
EP4085685A4 (en) | 2024-05-29 |
US20210203710A1 (en) | 2021-07-01 |
EP4085685A1 (en) | 2022-11-09 |
WO2021138604A1 (en) | 2021-07-08 |
US11785442B2 (en) | 2023-10-10 |
US11438272B2 (en) | 2022-09-06 |
US20210203558A1 (en) | 2021-07-01 |
US11329922B2 (en) | 2022-05-10 |
KR20220123083A (ko) | 2022-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6553196B2 (ja) | トラフィックフローの監視 | |
WO2019242664A1 (zh) | 一种资源管理方法及装置 | |
EP2856710B1 (en) | Real-time network monitoring and subscriber identification with an on-demand appliance | |
US7286474B2 (en) | Method and apparatus for performing admission control in a communication network | |
EP3235177B1 (en) | Measurement coordination in communications | |
US20180254979A1 (en) | Data transmission | |
Chowdhury et al. | TCP CRAHN: A transport control protocol for cognitive radio ad hoc networks | |
US20140155043A1 (en) | Application quality management in a communication system | |
US20140153392A1 (en) | Application quality management in a cooperative communication system | |
KR20170093938A (ko) | 통신들의 경험 품질 시행 | |
US9510354B2 (en) | Method and a device for low intrusive fast estimation of the bandwidth available between two IP nodes | |
US8953447B2 (en) | Method and apparatus for controlling traffic transfer rate based on cell capacity in mobile communication system | |
US12010025B2 (en) | System and method for accelerating or decelerating a data transport network protocol based on real time transport network congestion conditions | |
CN104753812B (zh) | 通信系统中的应用质量管理 | |
JP2023509426A (ja) | モバイルネットワークのリアルタイム監視及び最適化のためのシステム及び方法 | |
Abish et al. | Detecting packet drop attacks in wireless sensor networks using bloom filter | |
Magalhães | A* transport layer approach to host mobility | |
US20230370344A1 (en) | Data processing node device and information transmission method performed in same device | |
WO2013170347A1 (en) | Methods and systems for managing media traffic based on network conditions | |
Enghardt et al. | Metrics for access network selection | |
WO2024114192A1 (zh) | 业务质量管理方法及装置 | |
JP2009278256A (ja) | 中継装置および中継方法 | |
Glowacz et al. | MAC layer measurements for supporting QoS in IEEE 802.11 Ad-Hoc networks |