RU2657184C2 - Маршрутизация данных - Google Patents
Маршрутизация данных Download PDFInfo
- Publication number
- RU2657184C2 RU2657184C2 RU2015125312A RU2015125312A RU2657184C2 RU 2657184 C2 RU2657184 C2 RU 2657184C2 RU 2015125312 A RU2015125312 A RU 2015125312A RU 2015125312 A RU2015125312 A RU 2015125312A RU 2657184 C2 RU2657184 C2 RU 2657184C2
- Authority
- RU
- Russia
- Prior art keywords
- node
- data
- communication session
- relay nodes
- routing data
- Prior art date
Links
- 238000005259 measurement Methods 0.000 claims abstract description 85
- 230000006854 communication Effects 0.000 claims abstract description 61
- 238000004891 communication Methods 0.000 claims abstract description 61
- 230000007175 bidirectional communication Effects 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims 3
- 238000002834 transmittance Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 4
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 7
- 230000001934 delay Effects 0.000 description 6
- 239000003550 marker Substances 0.000 description 6
- 230000008447 perception Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101150045440 ISP1 gene Proteins 0.000 description 3
- 101100353471 Mus musculus Prss28 gene Proteins 0.000 description 3
- 101100509103 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ish1 gene Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 235000002595 Solanum tuberosum Nutrition 0.000 description 2
- 244000061456 Solanum tuberosum Species 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- 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/128—Shortest path evaluation for finding disjoint paths
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
- H04L45/3065—Route determination based on the nature of the carried application for real time traffic
-
- 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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0835—One way packet loss
-
- 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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0841—Round trip packet loss
-
- 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
- H04L43/0858—One way 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/0852—Delays
- H04L43/087—Jitter
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- 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/121—Shortest path evaluation by minimising delays
-
- 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/125—Shortest path evaluation based on throughput or bandwidth
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных. Способ содержит этапы, на которых: определяют первое множество результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи в первом направлении от первого узла ко второму узлу через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных в первом направлении, и определяют второе множество результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи во втором направлении через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных во втором направлении. 3 н. и 17 з.п. ф-лы, 2 ил.
Description
УРОВЕНЬ ТЕХНИКИ
[0001] Коммуникационные системы позволяют пользователям устанавливать связь друг с другом по сети. Например, пользователь может использовать пользовательский терминал (такой как мобильный телефон, планшетный персональный компьютер, компактный портативный компьютер или PC и т.д.) для исполнения клиента (или «приложения-клиента») для доступа к коммуникационной системе. Клиент обеспечивается (например, загружается) для пользовательского терминала провайдером коммуникационной системы, и клиент содержит программное обеспечение для исполнения в пользовательском терминале для обеспечения возможности доступа к коммуникационной системе.
[0002] Узлы коммуникационной системы могут образовывать наложенную (оверлейную) сеть. Узлы могут быть, например, клиентами, серверами или ретрансляционными узлами. Наложенная сеть является компьютерной сетью, которая строится в добавление к другой сети. Узлы в наложенной сети могут рассматриваться как соединенные виртуальными или логическими соединениями, каждое из которых соответствует маршруту, через одно или несколько физических соединений, в базовой сети. Базовая сеть может быть, например, Интернетом.
[0003] Когда пользователи используют коммуникационную систему для участия в двунаправленном сеансе связи через наложенную сеть, данные могут быть маршрутизированы туда и обратно между клиентами пользователей через ретрансляционный узел в наложенной сети. Ретрансляционные узлы используются, поскольку не все узлы в пределах коммуникационной системы могут быть способны осуществлять связь напрямую друг с другом, например, из-за их межсетевого экрана или установочных параметров трансляции сетевых адресов (NAT). Они могут использовать ретрансляционный узел, который может иметь меньше ограничений для обеспечения промежуточного звена передачи данных. Таким образом, ретрансляционные узлы используются, чтобы сделать возможной передачу данных между узлами, которые могут быть неспособны осуществлять связь напрямую друг с другом. Ретрансляционный узел может быть выбран для минимизации времени на передачу и подтверждение (RTT) в двунаправленном сеансе связи через наложенную сеть между клиентами пользователей.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Это краткое изложение сущности изобретения приведено для введения в упрощенной форме подборки концепций, которые дополнительно описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для идентификации ключевых признаков или существенных признаков заявленного изобретения, ни для ограничения объема заявленного изобретения.
[0005] Предложен способ, посредством которого выбираются ретрансляционные узлы, отдельно для маршрутизации данных в разных направлениях в двунаправленном сеансе связи через наложенную сеть между первым узлом и вторым узлом. Множество результатов измерений рабочих характеристик для одного направления определяется для маршрутизации данных в сеансе связи в первом направлении от первого узла ко второму узлу через соответствующее множество ретрансляционных узлов наложенной сети. На основе определенных результатов измерений рабочих характеристик для одного направления, один или несколько ретрансляционных узлов выбираются для использования в маршрутизации данных в первом направлении от первого узла ко второму узлу. Данные маршрутизируются в сеансе связи в первом направлении от первого узла ко второму узлу через наложенную сеть через один или несколько выбранных ретрансляционных узлов. Выбор одного или нескольких ретрансляционных узлов для использования в маршрутизации данных в первом направлении выполняется отдельно по отношению к выбору одного или нескольких ретрансляционных узлов для использования в маршрутизации данных во втором направлении от второго узла к первому узлу в сеансе связи.
[0006] Соответствующий, но отдельный способ может быть применен для выбора одного или нескольких ретрансляционных узлов для маршрутизации данных во втором направлении в сеансе связи. А именно, второе множество результатов измерений рабочих характеристик для одного направления может быть определено для маршрутизации данных в сеансе связи во втором направлении от второго узла к первому узлу через соответствующее множество ретрансляционных узлов наложенной сети. На основе второго множества определенных результатов измерений рабочих характеристик для одного направления, выбирается один или несколько из ретрансляционных узлов для использования в маршрутизации данных во втором направлении от второго узла к первому узлу. Данные маршрутизируются в сеансе связи во втором направлении от второго узла к первому узлу через наложенную сеть через один или несколько выбранных ретрансляционных узлов для второго направления. Выбор одного или нескольких ретрансляционных узлов для использования в маршрутизации данных во втором направлении выполняется отдельно по отношению к выбору одного или нескольких ретрансляционных узлов для использования в маршрутизации данных в первом направлении в сеансе связи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0007] Для лучшего понимания описываемых вариантов осуществления и демонстрации возможной реализации вариантов осуществления, будет сделана ссылка, для примера, на следующие чертежи, в которых:
[0008] Фиг. 1 показывает схематичную иллюстрацию коммуникационной системы; и
[0009] Фиг. 2 является последовательностью операций для процесса маршрутизации данных в двунаправленном сеансе связи через наложенную сеть.
ПОДРОБНОЕ ОПИСАНИЕ
[0010] Фиг. 1 показывает узлы наложенной сети коммуникационной системы 100. Наложенная сеть может быть, например, одноранговой (P2P) сетью. Первый пользователь 102 («пользователь А») использует клиент 104 для доступа к коммуникационной системе 100. Клиент 104 содержит программное обеспечение, которое при его исполнении в пользовательском терминале (таком как мобильный телефон, планшетный персональный компьютер, компактный портативный компьютер или PC, и т.д.) выполняет функции, необходимые для обеспечения возможности подключения пользователя 102 к коммуникационной системе 100. Подобным образом, второй пользователь 106 («пользователь B») использует клиент 108 для доступа к коммуникационной системе 100. Клиент 108 содержит программное обеспечение, которое при его исполнении на пользовательском терминале (таком как мобильный телефон, планшетный персональный компьютер, компактный портативный компьютер или PC, и т.д.) выполняет функции, необходимые для обеспечения возможности подключения пользователя 106 к коммуникационной системе 100. Клиенты 104 и 108 обеспечены (например, загружены) для пользовательских терминалов соответствующих пользователей 102 и 106 провайдером коммуникационной системы 100.
[0011] Клиент 104 выполнен с возможностью осуществления связи через первого провайдера 112 услуг Интернета (ISP). Пользовательский терминал, в котором исполняется клиент 104, включает в себя по меньшей мере процессор для исполнения клиента 104, запоминающее устройство для хранения данных и сетевой интерфейс для подсоединения к Интернету, так что клиент 104 может осуществлять связь через ISP 112. В коммуникационной системе 100, показанной на фиг. 1, все данные, относящиеся к коммуникационной системе 100, которые подлежат отправке к клиенту 104 и от него, маршрутизируются через ISP 112. Подобным образом, клиент 108 выполнен с возможностью осуществления связи через второго провайдера 116 услуг Интернета (ISP). Пользовательский терминал, в котором исполняется клиент 108, включает в себя по меньшей мере процессор для исполнения клиента 108, запоминающее устройство для хранения данных и сетевой интерфейс для подсоединения к Интернету, так что клиент 108 может осуществлять связь через ISP 116. В коммуникационной системе, показанной на фиг. 1, все данные, относящиеся к коммуникационной системе 100, которые подлежат отправке от клиента 108, маршрутизируются через ISP 116. Коммуникационная система 100 может быть или может не быть коммуникационной системой на основе сервера.
[0012] Наложенная сеть коммуникационной системы 100 включает в себя первый ретрансляционный узел 118 и второй ретрансляционный узел 120. Данные могут маршрутизироваться через наложенную сеть между клиентом 104 ISP 112 и клиентом 108 ISP 116 либо через ретрансляционный узел 118, либо через ретрансляционный узел 120. Ретрансляционные узлы 118 и 120 могут располагаться в любой сети (например, в другом ISP), и может существовать множество сетей между любыми сетями. Следует отметить, что Интернет является сетью из сетей, которые способны устанавливать связь друг с другом. Наложенная сеть коммуникационной системы 100 может включать в себя гораздо большее количество узлов, чем количество узлов, показанное на фиг. 1. Конкретно, наложенная сеть коммуникационной системы 100 может включать в себя более двух ретрансляционных узлов, через которые данные могут быть маршрутизированы между клиентом 104 и клиентом 108, но для ясности только два ретрансляционных узла 118 и 120 показаны на фиг. 1 и описаны здесь. Ретрансляционные узлы 118 и 120 могут быть ретрансляционными серверами или ретрансляционными P2P-узлами (например, другими пользовательскими терминалами в сети).
[0013] В действии, два пользователя 102 и 106 участвуют в двунаправленном сеансе связи друг с другом через коммуникационную систему 100. Данные передаются от клиента 104 к клиенту 108 через: (i) ISP 112, (ii) один из ретрансляционных узлов 118 и 120, и (iii) ISP 116. Подобным образом, данные передаются от клиента 108 к клиенту 104 через: (i) ISP 116, (ii) один из ретрансляционных узлов 118 и 120, и (iii) ISP 112.
[0014] Сеанс связи может быть сеансом мультимедиа в реальном времени, в котором данные, передаваемые в сеансе связи, являются данными мультимедиа реального времени. Например, сеанс связи может быть вызовом между пользователями 102 и 106.
[0015] Фиг. 1 иллюстрирует, как пакеты данных, перемещающиеся от клиента 104 к клиенту 108, могут следовать по одному из двух возможных маршрутов, либо через ретрансляционный узел 118, либо через ретрансляционный узел 120. Выбор пиринга, используемого для передачи пакетов данных от ISP1 112, обычно зависит от пиринговых соглашений, доступных для ISP1 112, и фактическая маршрутизация часто основана на целевом адресе и чаще всего следует некоторой заданной политике маршрутизации (метод «горячей картошки» (hot potato) при выборе маршрута, метод «холодной картошки» (cold potato) при выборе маршрута и т.д.). Может существовать большой выбор возможных ретрансляторов, доступных в наложенной сети, хотя на фиг. 1 для ясности показаны только два ретрансляционных узла 118 и 120. Можно влиять на пиринг, используемый для выбора ретрансляционного узла (целевого адреса) в конкретной сети базовой сети (например, Интернета), таким образом управляя тем, в какую точку выхода пакеты попадают из ISP1 112 или любых других сетей базовой сети (например, Интернета), на маршруте.
[0016] Определение в отношении маршрутизации данных от клиента 104 к клиенту 108 может быть выполнено клиентом 104. Логика прикладного уровня в клиенте 104 выполняет выбор для маршрутизации в наложенной сети. Маршрут выбирается в приложении-клиенте 104 посредством выбора ретрансляционного узла (который посредством своего адреса влияет на маршрут, по которому пакеты передаются через систему 100). Ретрансляционный узел выбирается с использованием конкретного ip-адреса, и, затем, ISP 112 может маршрутизировать данные из своей сети через точку пиринга, отличную от точек пиринга в случае остальных адресов. Это может быть вследствие того, что ISP 112 имеет прямое пиринговое соглашение с конкретной сетью и, следовательно, имеет в ней предпочтительный маршрут, в отличие от отправки данных к шлюзу по умолчанию, где проходит весь трафик (который, скорее всего, перегружен). Подобным образом, определение в отношении маршрутизации данных от клиента 108 к клиенту 104 может быть выполнено клиентом 108 соответствующим способом, описанным выше в отношении маршрута, выбранного клиентом 104.
[0017] Следует отметить, что маршрут, выбранный в базовой сети (например, Интернете) между любыми узлами сети, показанными на фиг. 1, может быть асимметричным. А именно, маршрут передачи пакетов данных через базовую сеть в одном направлении, между двумя узлами, может не быть таким же, как маршрут передачи пакетов данных через базовую сеть в другом направлении между этими же двумя узлами. Например, пакеты данных, маршрутизированные от ISP 112 к ISP 116 через ретрансляционный узел 118, не обязательно проходят тот же набор сетей в базовой сети (например, Интернете), как пакеты, маршрутизированные от ISP 116 к ISP 112 через тот же ретрансляционный узел 118. Например, пакеты данных, маршрутизированные от ISP 112 к ISP 116 через ретрансляционный узел 118, могут проходить через сети Z, U и X Интернета, тогда как пакеты данных, маршрутизированные от ISP 116 к ISP 112 через ретрансляционный узел 118, могут, вместо этого, проходить через сети Z, Y и X Интернета. Это, и общая асимметрия Интернет-трафика (которая создает асимметричную перегруженность в сети), может приводить к разным задержкам для пакетов данных, перемещающихся от клиента 104 к клиенту 108, по сравнению с задержками для пакетов данных, перемещающихся в противоположном направлении.
[0018] Ретрансляционный узел может быть выбран на основе среднего или ожидаемого RTT (времени на передачу и подтверждение) пакетов данных, перемещающихся между узлами в наложенной сети. Например, как показано на фиг. 1, среднее время, выбранное для перемещения данных от клиента 104 к клиенту 108 через ретрансляционный узел 118, составляет 98 мс, а среднее время, выбранное для перемещения данных от клиента 108 к клиенту 104 через ретрансляционный узел 118, составляет 54 мс, так что в примере, показанном на фиг. 1, прохождение верхнего маршрута должно привести к среднему RTT 152 мс (98+54). Кроме того, в примере, показанном на фиг. 1, среднее время, выбранное для перемещения данных от клиента 104 к клиенту 108 через ретрансляционный узел 120, составляет 81 мс, а среднее время, выбранное для перемещения данных от клиента 108 к клиенту 104 через ретрансляционный узел 120, составляет 64 мс, так что в примере, показанном на фиг. 1, прохождение нижнего маршрута должно привести к среднему RTT 145 мс (81+64). Это должно предполагать, что нижний маршрут имеет меньшую задержку, поскольку он имеет меньшее RTT, и, таким образом, должно привести к лучшему восприятию пользователем, чем в случае верхнего маршрута. В этом случае, при выборе ретрансляционного узла 120 таким образом, что должен быть использован нижний маршрут, клиент 108 должен увидеть пакеты данных, прибывающие от клиента 104 с задержками 81 мс, в то время как клиент 104 должен увидеть пакеты данных, прибывающие от клиента 108 с задержками 64 мс. Конкретные средние времена, показанные на фиг. 1, являются только примером. Времена, приведенные в примере, описанном выше, являются средними временами, так что для каждого пакета данных фактическое время может отличаться от средних времен вследствие, например, неравномерности доставки пакетов.
[0019] Однако, в качестве улучшения для способа, описанного выше, который основан на RTT пакетов данных, согласно способам, описанным здесь, ретрансляционный узел, выбранный для использования в маршрутизации данных в первом направлении в сеансе связи, может отличаться от ретрансляционного узла, выбранного для маршрутизации данных во втором направлении (противоположном первому направлению), в сеансе связи. А именно, когда ретрансляционный узел выбирается для маршрутизации данных, рассматривается направление, в котором данные будут перемещаться.
[0020] Когда рассматривается направление мультимедиа, и маршрутизация данных в разных направлениях рассматривается отдельно, в примере, показанном на фиг. 1, данные, перемещающиеся от ISP 116 к ISP 112, должны подвергнуться меньшей задержке при перемещении по верхнему маршруту (т.е., через ретрансляционный узел 118), вместо нижнего маршрута (например, через ретрансляционный узел 120). Следовательно, вместо использования единственного ретранслятора для ретрансляции мультимедиа в обоих направлениях, многочисленные ретрансляционные узлы рассматриваются для каждого направления отдельно, и выбирается комбинация ретрансляционных узлов, которая обеспечивает наилучшее качество (например, наименьшую задержку) для обеих конечных точек, в зависимости от направления передачи мультимедиа. Таким образом, восприятие для ISP 116 (и, следовательно, клиента 108) должно остаться таким же, как в примере, приведенном выше (а именно, 81 мс при маршрутизации через ретрансляционный узел 120 в нижнем маршруте), но ISP 112 (и, следовательно, клиент 104) должен увидеть меньшую задержку, при средней задержке 54 мс (вместо 64 мс), в своем принимаемом потоке мультимедиа, маршрутизированном через ретрансляционный узел 118 в верхнем маршруте.
[0021] Для простоты, пример, описанный выше, использует только задержку в виде прогнозирующего параметра/результата измерения рабочих характеристик/качества, обеспечиваемого для конечного пользователя, но измерение рабочих характеристик может быть любой подходящей мерой, такой как измерение полосы пропускания, измерение джиттера, измерение потерь пакетов или комбинацией многочисленных мер. Например, может быть использовано среднее значение совокупности измерений. Измерения рабочих характеристик могут быть измерениями текущего значения в реальном времени (например, активное измерение при выборе), или измерением рабочих характеристик из прошлого, которое сохранено на ретрансляционном узле. Например, может быть использована нелинейная модель качества сети для обеспечения измерения рабочих характеристик, причем нелинейная модель качества сети объединяет полосу пропускания, джиттер, потерю пакетов и задержку в одном направлении. Таким образом, измерение рабочих характеристик дает указание касаемо воспринимаемого конечным пользователем качества данных, проходящих только в одном направлении на конкретном маршруте. С использованием многочисленных ретрансляторов (т.е., разных ретрансляционных узлов для разных направлений) для взаимно-однозначного вызова и оптимизации выбора ретрансляционного узла в зависимости от направления мультимедиа, восприятие конечным пользователем может быть улучшено.
[0022] Фиг. 2 показывает последовательность операций для процесса определения маршрутизации данных в двунаправленном сеансе связи через наложенную сеть коммуникационной системы 100. Этот способ может быть выполнен в клиенте 104 для маршрутизации данных к клиенту 108 либо через ретрансляционный узел 118, либо через ретрансляционный узел 120, в вызове между пользователями 102 и 106, через коммуникационную систему 100.
[0023] Клиент 104 намеривается отправить данные к клиенту 108, например, в качестве части вызова между пользователями 102 и 106. На стадии S202 клиент 104 определяет результат измерения рабочих характеристик для одного направления для маршрутизации данных от клиента 104 к клиенту 108 через ретрансляционный узел 118, и клиент 104 определяет результат измерения рабочих характеристик для одного направления для маршрутизации данных от клиента 104 к клиенту 108 через ретрансляционный узел 120. Как описано выше, измерения рабочих характеристик могут быть, например, измерениями задержки, полосы пропускания, джиттера, потери пакетов или комбинацией таких измерений. Результат измерения рабочих характеристик для одного направления определяется для каждого ретрансляционного узла.
[0024] В других вариантах осуществления, приложение, отличное от клиента 104, может определить результаты измерений рабочих характеристик для одного направления для маршрутизации данных от клиента 104 к клиенту 108. Например, измерения рабочих характеристик для одного направления могут быть выполнены другим приложением, находящимся в сети, перед стадией S202, и, в этом случае, стадия S202 содержит извлечение уже определенных результатов измерений рабочих характеристик для одного направления из узла, который их определил. В вариантах осуществления, в которых клиент 104 выполняет активное измерение для получения результатов измерений рабочих характеристик для одного направления, эти измерения являются более новыми и пригодными. Однако, в сущности, соединения между сетями не изменяются очень часто, и для клиента 104 достаточно извлечь средние оценки возможности соединения (например, в отношении односторонних задержек между сетями), и эти данные могут быть собраны другим средством перед фактическим выполнением выбора маршрутизации. В одном примере, клиент 104 может извлечь результаты измерения рабочих характеристик для одного направления из таблицы, в которую собраны агрегированные задержки, и решить, что две конечные точки должны быть связаны через сеть X, в противоположность сети Y, поскольку существуют данные, что задержка меньше при установлении связи через сеть X, по сравнению с установлением связи через сеть Y.
[0025] Например, если измерения рабочих характеристик являются измерениями задержки, то тогда маркер времени может быть включен в данные перед маршрутизацией данных от клиента 104 к клиенту 108. Маркер времени может быть включен в данные клиентом 104. Клиент 108 может измерять время, в которое он принимает данные. На основе этого измеренного времени и маркера времени, включенного в данные, может быть определено время, затраченное на маршрутизацию данных от клиента 104 к клиенту 108. Это время может быть определено клиентом 108 и, затем, отправлено обратно к клиенту 104, или результат измерения времени, в которое клиент 108 принимает данные, может быть отправлен обратно к клиенту 104, так что клиент 104 может выполнить определение времени, затраченного на отправку данных от клиента 104 к клиенту 108. Время, затраченное на отправку данных от клиента 104 к клиенту 108, определяется для каждого маршрута (т.е., через ретрансляционный узел 118 и через ретрансляционный узел 120 в примере, показанном на фиг. 1). Для эффективной работы этого способа, конечные точки передачи данных должны быть синхронизированы во времени друг с другом (т.е., их части должны быть синхронизированы). В других примерах, каждый маршрут может включать в себя более одного ретрансляционного узла. Измерения задержки в одном направлении могут быть реализованы способами, отличными от способа в описанном выше примере.
[0026] На стадии S204 клиент 104 выбирает один из ретрансляционных узлов (118 или 120) на основе определенных результатов измерений рабочих характеристик. Выбор выполняется для обеспечения наилучшего восприятия пользователем, например, выбор может быть выполнен для минимизации задержки передачи данных.
[0027] На стадии S206 данные маршрутизируются от клиента 104 к клиенту 108 через ISP 112 и ISP 116 и через указанный выбранный ретрансляционный узел, а именно, либо через ретрансляционный узел 118, либо через ретрансляционный узел 120.
[0028] Ретрансляционный узел выбирается на стадии S204 для обеспечения наилучшего качества функционирования на основе результатов измерений рабочих характеристик, определенных на стадии S202. Например, когда измерения рабочих характеристик являются измерениями задержки, выбранный ретрансляционный узел может соответствовать наименьшей задержке. В примере, показанном на фиг. 1, на стадии S204 выбирают ретрансляционный узел 120 для маршрутизации данных от клиента 104 к клиенту 108 на основе меньшей задержки для этого маршрута (81 мс в сравнении с 98 мс для маршрутизации данных через ретрансляционный узел 118).
[0029] Способ, соответствующий описанному выше в отношении фиг. 2, может быть также реализован в клиенте 108 для маршрутизации данных от клиента 108 к клиенту 104 в сеансе связи.
[0030] Клиент 104 намеривается отправить данные к клиенту 104, например, в качестве части вызова между пользователями 102 и 106.
[0031] На стадии, соответствующей стадии S202, клиент 108 определяет результат измерения рабочих характеристик для одного направления для маршрутизации данных от клиента 108 к клиенту 104 через ретрансляционный узел 118, и узел 114 маршрутизации определяет результат измерения рабочих характеристик для одного направления для маршрутизации данных от клиента 108 к клиенту 104 через ретрансляционный узел 120. Как описано выше, измерения рабочих характеристик могут быть, например, измерениями задержки, полосы пропускания, джиттера, потери пакетов или комбинацией таких измерений. Результат измерения рабочих характеристик для одного направления определяется для каждого ретрансляционного узла.
[0032] Например, если измерения рабочих характеристик являются измерениями задержки, то тогда маркер времени может быть включен в данные перед маршрутизацией данных от клиента 108 к клиенту 104. Маркер времени может быть включен в данные клиентом 108. Клиент 104 может измерять время, в которое он принимает данные. На основе этого измеренного времени и маркера времени, включенного в данные, может быть определено время, затраченное на отправку данных от клиента 108 к клиенту 104. Это время может быть определено клиентом 104 и, затем, отправлено обратно к клиенту 108, или результат измерения времени, в которое клиент 104 принимает данные, может быть отправлен обратно клиенту 108, так что клиент 108 может выполнить определение времени, затраченного на отправку данных от клиента 108 к клиенту 104. Время, затраченное на отправку данных от клиента 108 к клиенту 104, определяется для каждого маршрута (т.е., через ретрансляционный узел 118 и через ретрансляционный узел 120 в примере, показанном на фиг. 1). Для эффективной работы этого способа, конечные точки передачи данных должны быть синхронизированы во времени друг с другом (т.е., их части должны быть синхронизированы). Измерения задержки в одном направлении могут быть реализованы способами, отличными от способа в описанном выше примере.
[0033] На стадии, соответствующей стадии S204, клиент 108 выбирает один из ретрансляционных узлов (118 или 120) на основе определенных результатов измерений рабочих характеристик для маршрутизации данных от клиента 108 к клиенту 104. Выбор выполняется для обеспечения наилучшего восприятия пользователем, например, выбор может быть выполнен для минимизации задержки передачи данных.
[0034] На стадии, соответствующей стадии S206, данные маршрутизируются от клиента 108 к клиенту 104 через ISP 116 и ISP 112 и через указанный выбранный ретрансляционный узел, а именно, либо через ретрансляционный узел 118, либо через ретрансляционный узел 120.
[0035] В примерах, приведенных выше, один ретрансляционный узел выбирается на стадии S204. В других примерах, может быть выбрано более одного (например, десять) ретрансляционных узлов, например, из пула из, приблизительно, тысячи возможных ретрансляционных узлов. Тогда пакеты данных могут быть маршрутизированы параллельно через выбранные ретрансляционные узлы.
[0036] Ретрансляционный узел выбирается для обеспечения наилучшего качества функционирования на основе определенных результатов измерений рабочих характеристик. Например, когда измерения рабочих характеристик являются измерениями задержки, выбранный ретрансляционный узел может соответствовать наименьшей задержке. В примере, показанном на фиг. 1, ретрансляционный узел 118 будет выбран для маршрутизации данных от клиента 108 к клиенту 104 на основе меньшей задержки для этого маршрута (54 мс в сравнении с 64 мс для маршрутизации данных через ретрансляционный узел 120).
[0037] Более одного измерения рабочих характеристик может быть рассмотрено на стадии выбора ретрансляционного узла для маршрутизации данных. Например, задержка и потеря пакетов могут быть измерены для каждого маршрута и использованы для выбора маршрута для маршрутизации данных.
[0038] Таким образом, можно увидеть, что способ для выбора ретрансляционного узла для маршрутизации данных от клиента 104 к клиенту 108 выполняется отдельно от способа для выбора ретрансляционного узла для маршрутизации данных от клиента 108 к клиенту 104. А именно, выбор ретрансляционного узла для маршрутизации данных в одном направлении выполняется независимо от маршрута данных, передаваемых в другом направлении в сеансе связи. Другими словами, маршрут данных в двунаправленном сеансе связи оптимизируется для каждого направления независимо. В потоке мультимедиа в реальном времени пакеты данных отправляются в одном направлении, и только управляющие пакеты отправляются в обратном направлении. Управляющие пакеты, например, могут указывать на количество успешно принятых пакетов данных, и т.д. В двустороннем сеансе мультимедиа в реальном времени, один и тот же установленный транспортный канал (сеанс) может быть использован для обмена мультимедиа в обоих направлениях, но с использованием единственного сеанса между конечными точками, когда обе конечные точки отправляют мультимедиа, управляющие пакеты в обратном направлении могут совместно использовать сеанс с данными в противоположном направлении (в случае мультиплексированного протокола). Разные маршруты могут подходить для разных типов пакетов, т.е. пакетов данных и управляющих пакетов, и, следовательно, маршрут должен быть выбран таким образом, чтобы оптимизировать доставку мультимедиа в конкретном направлении.
[0039] В способах, описанных здесь, многочисленные ретрансляционные узлы используются в двунаправленном сеансе связи в зависимости от направления трафика. Как описано выше, наложенная сеть коммуникационной системы 100 может быть P2P-сетью.
[0040] Как описано выше, только два ретрансляционных узла (118 и 120) показаны на фиг. 1 и описаны в примерах выше. Однако, любое количество ретрансляционных узлов может быть доступно в наложенной сети. Кроме того, каждый из маршрутов, показанных на фиг. 1, включает в себя только один ретрансляционный узел. В других примерах маршрут может включать в себя один или несколько ретрансляционных узлов. Может встретиться случай, когда в коммуникационной системе на основе сервера существует меньше доступных ретрансляционных узлов (например, может существовать, приблизительно, от десяти до пятидесяти центров обработки данных для выбора, или тысячи граничных вычислительных узлов в облаке), чем в полностью одноранговой (P2P) коммуникационной системе (которая может иметь, например, пул глобального выбора более чем из десяти миллионов возможных ретрансляторов).
[0041] Топология для потоковых сеансов, несущих мультимедиа в реальном времени, оптимизируется для направления мультимедиа, поскольку сетевые характеристики в направлении мультимедиа имеют более высокую корреляцию с восприятием пользователем, чем сетевые характеристики на обратном маршруте, используемом для пакетов подтверждения. Для получения пользы от этой асимметрии, наложенная сеть использует многочисленные и разные ретрансляционные узлы (например, ретрансляционные серверы) для единственного вызова, на основе направления мультимедиа, в отличие от использования всегда одного и того же ретрансляционного узла для мультимедиа в обоих направлениях. Выбор ретрансляционных узлов может быть выполнен на основе измерений односторонней задержки в отдельных процессах выбора для каждого направления перемещения данных в сеансе связи. Такая оптимизация приведет к улучшенному восприятию для пользователей, включенных в сеанс мультимедиа в реальном времени.
[0042] Передача данных между клиентом 104 и коммуникационной системой 100 происходит через ISP 112, и, подобным образом, передача данных между клиентом 108 и коммуникационной системой 100 происходит через ISP 116. Коммуникационная система 100 может не быть коммуникационной системой 100 на основе сервера, так что клиенты 104 и 108 могут устанавливать связь с коммуникационной системой 100 без маршрутизации данных через соответствующие серверы. Логика для выполнения выборов маршрутизации реализована в клиентах 104 и 108. Для реализации выбора маршрутизации, клиент 104 собрал достаточно статистических данных об измерениях односторонней задержки между разными сетями, чтобы узнать, из какой сети следует предложить возможные ретрансляторы (учитывая направление мультимедиа) для обеспечения оптимального качества.
[0043] В общем, любые из описанных здесь функций (например, функциональные стадии, показанные на фиг. 2) могут быть реализованы в модулях с использованием программного обеспечения, аппаратно-программного обеспечения (dirmware), аппаратного обеспечения (например, схем с фиксированными логическими функциями), или комбинации этих реализаций. Стадии, показанные отдельно на фиг. 2, могут или не могут быть реализованы в виде отдельных модулей или стадий. Термины «модуль», «функциональность», «компонент» и «логика», используемые здесь, обычно представляют программное обеспечение, аппаратно-программное обеспечение, аппаратное обеспечение или их комбинацию. В случае программной реализации, модуль, функциональность или логика представляют программный код, который выполняет конкретные задачи при исполнении процессором (например, CPU или множеством CPU). Программный код может храниться в одном или нескольких машиночитаемых запоминающих устройствах. Признаки технологий, описанных здесь, являются независимыми от платформы, что означает, что эти технологии могут быть реализованы на множестве вычислительных платформ, имеющих различные процессоры.
[0044] Например, пользовательские устройства могут также включать в себя объект (например, программное обеспечение), который обеспечивает выполнение аппаратным обеспечением пользовательских устройств операций, например, функциональных блоков процессоров, и т.д. Например, пользовательские устройства могут включать в себя машиночитаемую среду, которая может быть выполнена с возможностью поддержки команд, которые обеспечивают выполнение операций пользовательскими устройствами, и, более конкретно, оперативной системой и связанным с ней аппаратным обеспечением пользовательских устройств. Таким образом, команды функционируют для конфигурирования операционной системы и связанного с ней аппаратного обеспечения для выполнения операций и, таким образом, приводят к преобразованию операционной системы и связанного с ней аппаратного обеспечения для выполнения функций. Команды могут быть обеспечены машиночитаемой средой для пользовательских устройств посредством множества разных конфигураций.
[0045] Одна такая конфигурация машиночитаемой среды является средой передачи сигнала и, следовательно, выполнена с возможностью передачи команд (например, в качестве несущего сигнала) к вычислительному устройству, например, через сеть. Машиночитаемая среда может быть также выполнена в виде машиночитаемого носителя данных и, следовательно, не является средой передачи сигнала. Примеры машиночитаемого носителя данных могут включать в себя память с произвольным доступом (random-access memory, RAM), постоянное запоминающее устройство (read-only memory, ROM), оптический диск, флэш-память, накопитель на жестких дисках и другие запоминающие устройства, которые могут использовать магнитную, оптическую и другие технологии для хранения команд и других данных.
[0046] Хотя изобретение описано на языке, конкретном для структурных признаков и/или методических действий, следует понимать, что объем изобретения, определяемый формулой изобретения, не обязательно ограничен конкретными признаками или действиями, описанными выше. Скорее, конкретные признаки и действия, описанные выше, описаны в качестве иллюстративных форм реализации формулы изобретения.
Claims (20)
1. Способ асимметричной маршрутизации данных в двунаправленном сеансе связи через сеть между первым узлом и вторым узлом, содержащий этапы, на которых: определяют первое множество результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи в первом направлении от первого узла ко второму узлу через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных в первом направлении, и определяют второе множество результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи во втором направлении через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных во втором направлении, причем каждый результат измерений рабочих характеристик для одного направления содержит по меньшей мере одно из измерения задержки, измерения полосы пропускания, измерения джиттера и измерения потери пакетов, при этом каждый результат измерений рабочих характеристик для одного направления получается из узла, отличающегося от первого узла, тем самым указывая качество двунаправленного сеанса связи через соответственные ретрансляционные узлы, отличающиеся от упомянутого соответственного множества ретрансляционных узлов; основываясь на первом множестве результатов измерений рабочих характеристик для одного направления, выбирают первый набор из одного или более ретрансляционных узлов, которые являются доступными для маршрутизации данных в первом направлении, для использования при маршрутизации данных в первом направлении от первого узла ко второму узлу, на основе одного или более из среднего и ожидаемого времени на передачу и подтверждение (RTT) для связи между первым узлом и вторым узлом; основываясь на втором множестве результатов измерений рабочих характеристик для одного направления, выбирают второй набор из одного или более ретрансляционных узлов, которые являются доступными для маршрутизации данных во втором направлении, для использования при маршрутизации данных во втором направлении от второго узла к первому узлу, причем упомянутый выбор первого набора из одного или более ретрансляционных узлов для маршрутизации данных для двунаправленного сеанса связи в первом направлении выполняется независимо от упомянутого выбора второго набора из одного или более ретрансляционных узлов для маршрутизации данных для двунаправленного сеанса связи во втором направлении от второго узла к первому узлу; и выполняют маршрутизацию данных в двунаправленном сеансе связи в первом направлении от первого узла ко второму узлу по сети через первый набор из один или более ретрансляционных узлов, которые являются доступными для маршрутизации данных в первом направлении.
2. Способ по п. 1, в котором первый набор из одного или более ретрансляционных узлов, выбранный для использования при маршрутизации данных в первом направлении в двунаправленном сеансе связи, отличается от второго набора из одного или более ретрансляционных узлов, выбранного для использования при маршрутизации данных во втором направлении в двунаправленном сеансе связи.
3. Способ по п. 1, в котором данные являются данными мультимедиа в реальном времени, при этом двунаправленный сеанс связи является сеансом мультимедиа в реальном времени.
4. Способ по п. 3, в котором сеанс мультимедиа в реальном времени является вызовом между пользователями через сеть.
5. Способ по п. 1, в котором упомянутой сетью является оверлейная сеть, функционирующая поверх Интернета.
6. Способ по п. 1, дополнительно содержащий этап, на котором получают в первом узле данные, передаваемые во втором направлении от второго узла в первый узел и маршрутизируемые в соответствии со вторым набором из одного или более ретрансляционных узлов, выбранным для использования при маршрутизации данных во втором направлении.
7. Способ по п. 1, в котором данные, маршрутизируемые для двунаправленного сеанса связи в первом направлении, содержат пакеты данных, а данные, маршрутизируемые для двунаправленного сеанса связи в первом направлении, содержат управляющие пакеты.
8. Способ по п. 1, в котором первый узел является первым клиентом, ассоциированным с первым пользователем, а второй узел является вторым клиентом, ассоциированным со вторым пользователем, при этом двунаправленный сеанс связи представляет собой двунаправленный сеанс связи между первым клиентом и вторым клиентом, тем самым позволяя первому пользователю и второму пользователю сообщаться друг с другом.
9. Способ по п. 1, в котором первый узел является клиентским устройством и способ реализуется на этом клиентском устройстве.
10. Способ по п. 1, дополнительно содержащий этап, на котором выполняют маршрутизацию данных в двунаправленном сеансе связи во втором направлении от второго узла к первому узлу по сети через второй набор из одного или более ретрансляционных узлов.
11. Способ по п. 1, дополнительно содержащий этап, на котором принимают на первом узле данные, переданные в двунаправленном сеансе связи во втором направлении по сети от второго узла к первому узлу через второй набор из одного или более ретрансляционных узлов.
12. Первый узел системы связи, выполненный с возможностью асимметричной маршрутизации данных в двунаправленном сеансе связи через сеть между первым узлом системы связи и вторым узлом системы связи, содержащий один или более процессоров и память, содержащую машиноисполняемые инструкции, каковые машиноисполняемые инструкции являются исполняемыми одним или более процессорами для выполнения операций, включающих в себя: определение множества результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи в первом направлении от первого узла ко второму узлу через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных в первом направлении, причем каждый из результатов измерений рабочих характеристик для одного направления содержит по меньшей мере одно из измерения задержки, измерения полосы пропускания, измерения джиттера и измерения потери пакетов, при этом каждый из результатов измерений рабочих характеристик для одного направления получается из узла, отличающегося от первого узла; выбор одного или более из ретрансляционных узлов, которые являются доступными для маршрутизации данных в первом направлении, на основе упомянутых определенных результатов измерений рабочих характеристик и на основе одного или более из среднего и ожидаемого времени на передачу и подтверждение (RTT) для связи между первым узлом и вторым узлом, причем эти один или более ретрансляционных узлов выбираются для использования при маршрутизации данных в первом направлении от первого узла ко второму узлу; и маршрутизацию данных в двунаправленном сеансе связи в первом направлении от первого узла ко второму узлу по сети через один или более выбранных ретрансляционных узлов, которые являются доступными для маршрутизации данных в первом направлении; определение множества результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи во втором направлении от второго узла к первому узлу через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных во втором направлении; выбор, основываясь на упомянутых определенных результатах измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи во втором направлении, одного или более из ретрансляционных узлов, которые являются доступными для маршрутизации данных во втором направлении от второго узла к первому узлу, причем выбранные ретрансляционные узлы, которые являются доступными для маршрутизации данных во втором направлении, отличаются от выбранных ретрансляционных узлов, которые являются доступными для маршрутизации данных в первом направлении; и прием данных в двунаправленном сеансе связи во втором направлении от второго узла по сети через один или более выбранных ретрансляционных узлов, которые являются доступными для маршрутизации данных во втором направлении.
13. Узел по п. 12, при этом данные являются данными мультимедиа в реальном времени, причем двунаправленный сеанс связи является сеансом мультимедиа в реальном времени.
14. Узел по п. 13, при этом сеанс мультимедиа в реальном времени является вызовом между пользователями через сеть.
15. Узел по п. 12, при этом упомянутой сетью является оверлейная сеть, функционирующая поверх Интернета.
16. Узел по п. 12, при этом первый узел является первым клиентом, ассоциированным с первым пользователем, а второй узел является вторым клиентом, ассоциированным со вторым пользователем, при этом двунаправленный сеанс связи представляет собой двунаправленный сеанс связи между первым клиентом и вторым клиентом, тем самым позволяя первому и второму пользователям сообщаться друг с другом.
17. Машиночитаемый носитель данных, на котором сохранена компьютерная программа, предназначенная для асимметричной маршрутизации данных в двунаправленном сеансе связи через сеть между первым узлом и вторым узлом, причем компьютерная программа выполнена с возможностью, при ее исполнении в процессоре, осуществления операций, в соответствии с которыми: определяют первое множество результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи в первом направлении от первого узла ко второму узлу через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных в первом направлении, и определяют второе множество результатов измерений рабочих характеристик для одного направления для маршрутизации данных в двунаправленном сеансе связи во втором направлении через соответственное множество ретрансляционных узлов сети, которые являются доступными для маршрутизации данных во втором направлении, причем каждый результат измерений рабочих характеристик для одного направления содержит по меньшей мере одно из измерения задержки, измерения полосы пропускания, измерения джиттера и измерения потери пакетов, при этом каждый результат измерений рабочих характеристик для одного направления получается из узла, отличающегося от первого узла, тем самым указывая качество двунаправленного сеанса связи через упомянутое соответственное множество ретрансляционных узлов; основываясь на первом множестве определенных результатов измерений рабочих характеристик для одного направления, выбирают первый набор из одного или более ретрансляционных узлов, которые являются доступными для маршрутизации данных в первом направлении, для использования в маршрутизации данных в первом направлении от первого узла ко второму узлу, на основе одного или более из среднего и ожидаемого времени на передачу и подтверждение (RTT) для связи между первым узлом и вторым узлом; основываясь на втором множестве результатов измерений рабочих характеристик для одного направления, выбирают второй набор из одного или более ретрансляционных узлов, которые являются доступными для маршрутизации данных во втором направлении, для использования при маршрутизации данных во втором направлении от второго узла к первому узлу, причем упомянутый выбор первого набора из одного или более ретрансляционных узлов для маршрутизации данных для двунаправленного сеанса связи в первом направлении выполняется независимо от упомянутого выбора второго набора из одного или более ретрансляционных узлов для маршрутизации данных для двунаправленного сеанса связи во втором направлении от второго узла к первому узлу; и выполняют маршрутизацию данных в двунаправленном сеансе связи в первом направлении от первого узла ко второму узлу по сети через первый набор из одного или более выбранных ретрансляционных узлов, которые являются доступными для маршрутизации данных в первом направлении.
18. Машиночитаемый носитель данных по п. 17, при этом данные являются данными мультимедиа в реальном времени, причем двунаправленный сеанс связи является сеансом мультимедиа в реальном времени.
19. Машиночитаемый носитель данных по п. 17, в котором операции дополнительно содержат получение данных, передаваемых во втором направлении от второго узла в первый узел, причем данные маршрутизируются в соответствии со вторым набором из одного или более ретрансляционных узлов для использования при маршрутизации данных во втором направлении
20. Машиночитаемый носитель данных по п. 17, при этом первый узел является клиентским устройством, и компьютерная программа реализована как коммуникационное приложение в клиентском устройстве.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/727,392 | 2012-12-26 | ||
US13/727,392 US9686189B2 (en) | 2012-12-26 | 2012-12-26 | Routing data in a bi-directional communication session over an overlay network using relay nodes |
PCT/US2013/077733 WO2014105917A1 (en) | 2012-12-26 | 2013-12-26 | Routing data |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015125312A RU2015125312A (ru) | 2017-01-10 |
RU2657184C2 true RU2657184C2 (ru) | 2018-06-08 |
Family
ID=50031516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015125312A RU2657184C2 (ru) | 2012-12-26 | 2013-12-26 | Маршрутизация данных |
Country Status (7)
Country | Link |
---|---|
US (1) | US9686189B2 (ru) |
EP (1) | EP2920929B1 (ru) |
JP (1) | JP6472756B2 (ru) |
CN (1) | CN104969518B (ru) |
BR (1) | BR112015015221B1 (ru) |
RU (1) | RU2657184C2 (ru) |
WO (1) | WO2014105917A1 (ru) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11316789B2 (en) * | 2020-02-10 | 2022-04-26 | Syntropy Network Limited | System and method for selecting data routing paths having reduced latencies in a distributed computer network |
US12034641B2 (en) * | 2005-11-14 | 2024-07-09 | Syntropy Network Limited | System and method for selecting data routing paths having reduced latencies in a distributed computer network |
US9191360B2 (en) | 2013-01-22 | 2015-11-17 | International Business Machines Corporation | Address management in an overlay network environment |
US10389608B2 (en) * | 2013-03-15 | 2019-08-20 | Amazon Technologies, Inc. | Network traffic mapping and performance analysis |
US9762508B2 (en) * | 2014-10-02 | 2017-09-12 | Microsoft Technology Licensing, Llc | Relay optimization using software defined networking |
CN107409197A (zh) * | 2015-03-16 | 2017-11-28 | 株式会社理光 | 通信控制装置、通信系统、通信控制程序和通信控制方法 |
US9913283B1 (en) * | 2015-08-28 | 2018-03-06 | Sprint Spectrum L.P. | Assigning a frame configuration in a relay enabled communication network |
JP6254620B2 (ja) * | 2016-02-02 | 2017-12-27 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 端末、通信方法、及びプログラム |
TWI599201B (zh) * | 2016-02-05 | 2017-09-11 | 物聯智慧科技(深圳)有限公司 | 網路系統及建立資料連線的方法 |
JP6904011B2 (ja) * | 2017-03-31 | 2021-07-14 | 日本電気株式会社 | サーバ、端末、制御システム、制御方法及びプログラム |
US11489698B2 (en) * | 2018-02-01 | 2022-11-01 | Edgewater Networks, Inc. | Monitoring data link health using connectionless loops over redundant IP networks |
US20190253341A1 (en) | 2018-02-15 | 2019-08-15 | 128 Technology, Inc. | Service Related Routing Method and Apparatus |
CN108989220B (zh) * | 2018-09-05 | 2021-04-02 | 中国联合网络通信集团有限公司 | 路由方法和路由系统 |
TWI761733B (zh) | 2019-11-26 | 2022-04-21 | 智易科技股份有限公司 | 網路路徑選擇方法及應用其之網路節點裝置 |
US11271851B2 (en) | 2020-02-10 | 2022-03-08 | Syntropy Network Limited | System and method for autonomous selection of routing paths in a computer network |
CN118740730A (zh) | 2020-04-23 | 2024-10-01 | 瞻博网络公司 | 使用会话建立度量的会话监测 |
US11621902B2 (en) * | 2021-04-24 | 2023-04-04 | Syntropy Network Limited | System, method, utility, and governance for distributed data routing over the internet |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000079730A2 (en) * | 1999-06-18 | 2000-12-28 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
WO2002051052A2 (en) * | 2000-12-21 | 2002-06-27 | Comgates Ltd. | A system and method for routing a media stream |
US20080049637A1 (en) * | 2006-08-22 | 2008-02-28 | Morrill Robert J | System and method for establishing calls over a call path having best path metrics |
US20100014528A1 (en) * | 2008-07-21 | 2010-01-21 | LiveTimeNet, Inc. | Scalable flow transport and delivery network and associated methods and systems |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20001578A (fi) * | 2000-06-30 | 2001-12-31 | Nokia Networks Oy | QoS-arkkitehtuuri |
US7586899B1 (en) | 2000-08-18 | 2009-09-08 | Juniper Networks, Inc. | Methods and apparatus providing an overlay network for voice over internet protocol applications |
US7099277B2 (en) | 2002-02-20 | 2006-08-29 | Mitsubishi Electric Research Laboratories, Inc. | Dynamic optimal path selection in multiple communications networks |
US7620033B2 (en) | 2004-05-21 | 2009-11-17 | Alcatel-Lucent Usa Inc. | Method for optimal path selection in traversal of packets through network address translators |
WO2006118125A1 (ja) * | 2005-04-28 | 2006-11-09 | Matsushita Electric Industrial Co., Ltd. | 通信中継装置および通信中継方法 |
US20060291412A1 (en) * | 2005-06-24 | 2006-12-28 | Naqvi Shamim A | Associated device discovery in IMS networks |
US7672235B1 (en) | 2006-06-14 | 2010-03-02 | Roxbeam Media Network Corporation | System and method for buffering real-time streaming content in a peer-to-peer overlay network |
US7843831B2 (en) * | 2006-08-22 | 2010-11-30 | Embarq Holdings Company Llc | System and method for routing data on a packet network |
US7873338B2 (en) * | 2006-11-06 | 2011-01-18 | Motorola Mobility, Inc. | Method and apparatus for determining an appropriate link path in a multi-hop communication system |
US8644162B2 (en) * | 2007-07-16 | 2014-02-04 | Echostar Technologies L.L.C. | Network performance assessment apparatus, systems, and methods |
US7844724B2 (en) * | 2007-10-24 | 2010-11-30 | Social Communications Company | Automated real-time data stream switching in a shared virtual area communication environment |
EP2139178A1 (en) * | 2008-06-27 | 2009-12-30 | Alcatel, Lucent | Method of determining a routing path |
US8289894B2 (en) * | 2008-09-15 | 2012-10-16 | Sharp Laboratories Of America, Inc. | Systems and methods for inter relay interference coordination |
CN101729365B (zh) | 2008-10-27 | 2012-06-27 | 华为技术有限公司 | 路径建立方法、承载网路由器和网络系统 |
US8798034B2 (en) * | 2009-03-31 | 2014-08-05 | Motorola Solutions, Inc. | System and method for selecting a route based on link metrics incorporating channel bandwidth, spatial streams and/or guard interval in a multiple-input multiple-output (MIMO) network |
US8427958B2 (en) * | 2010-04-30 | 2013-04-23 | Brocade Communications Systems, Inc. | Dynamic latency-based rerouting |
KR101602458B1 (ko) * | 2010-10-08 | 2016-03-28 | 삼성전자주식회사 | 패킷 라우팅 장치 및 방법 |
US8930979B2 (en) | 2010-11-11 | 2015-01-06 | Time Warner Cable Enterprises Llc | Apparatus and methods for identifying and characterizing latency in a content delivery network |
CN202178777U (zh) | 2011-01-08 | 2012-03-28 | 珠海清华科技园创业投资有限公司 | 一种mpls虚拟专用网络路由器组成架构 |
-
2012
- 2012-12-26 US US13/727,392 patent/US9686189B2/en active Active
-
2013
- 2013-12-26 JP JP2015550756A patent/JP6472756B2/ja active Active
- 2013-12-26 BR BR112015015221-0A patent/BR112015015221B1/pt active IP Right Grant
- 2013-12-26 CN CN201380068289.4A patent/CN104969518B/zh active Active
- 2013-12-26 RU RU2015125312A patent/RU2657184C2/ru active
- 2013-12-26 WO PCT/US2013/077733 patent/WO2014105917A1/en active Application Filing
- 2013-12-26 EP EP13826823.0A patent/EP2920929B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000079730A2 (en) * | 1999-06-18 | 2000-12-28 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
WO2002051052A2 (en) * | 2000-12-21 | 2002-06-27 | Comgates Ltd. | A system and method for routing a media stream |
US20080049637A1 (en) * | 2006-08-22 | 2008-02-28 | Morrill Robert J | System and method for establishing calls over a call path having best path metrics |
US20100014528A1 (en) * | 2008-07-21 | 2010-01-21 | LiveTimeNet, Inc. | Scalable flow transport and delivery network and associated methods and systems |
Also Published As
Publication number | Publication date |
---|---|
JP6472756B2 (ja) | 2019-02-20 |
EP2920929A1 (en) | 2015-09-23 |
CN104969518B (zh) | 2018-04-20 |
CN104969518A (zh) | 2015-10-07 |
EP2920929B1 (en) | 2019-05-01 |
WO2014105917A1 (en) | 2014-07-03 |
BR112015015221B1 (pt) | 2023-01-17 |
US20140177460A1 (en) | 2014-06-26 |
JP2016502372A (ja) | 2016-01-21 |
BR112015015221A2 (pt) | 2017-07-11 |
US9686189B2 (en) | 2017-06-20 |
RU2015125312A (ru) | 2017-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2657184C2 (ru) | Маршрутизация данных | |
WO2021129861A1 (zh) | 一种数据流控制的方法和装置 | |
CN106716976B (zh) | 网络端点之间的媒体会话 | |
US10972510B2 (en) | Media session between network endpoints | |
CN106716963B (zh) | 用于网络端点之间的媒体会话的方法及装置 | |
JP6473688B2 (ja) | データ転送レートを増加させるためのデータストリーム分割 | |
JP2020502948A (ja) | パケット伝送システムおよび方法 | |
US10749785B1 (en) | Enhanced two-way active measurement protocol | |
US10153964B2 (en) | Network routing using dynamic virtual paths in an overlay network | |
US10079863B2 (en) | Media session between network endpoints | |
CN108234309B (zh) | 一种网络数据的传输方法 | |
US10601879B2 (en) | Media session between network endpoints | |
KR102007548B1 (ko) | 네트워크 측정 트리거들을 사용하는 서비스 보장 | |
US9825815B2 (en) | System and method for aggregating and estimating the bandwidth of multiple network interfaces | |
Parsaei et al. | Providing multimedia QoS methods over software defined networks: a comprehensive review | |
Zinner et al. | Using concurrent multipath transmission for transport virtualization: analyzing path selection | |
JP2007325012A (ja) | ルータ装置およびトラフィック振分方法 | |
Nagathota | Design and Implementation of CMT in Real-time: Evaluation based on scheduling mechanisms |