СПОСОБ ОПРЕДЕЛЕНИЯ МАРШРУТА И СООТВЕТСТВУЮЩИЕ УСТРОЙСТВО И СИСТЕМА
METHOD OF ROUTE DETERMINATION AND CORRESPONDING DEVICE AND SYSTEM

Область техники, к которой относится изобретение
Настоящее изобретение относится к области технологий связи и, в частности, к способу определения маршрута и к соответствующим устройству и системе.
Уровень техники
В области технологий связи поток обслуживания, инициированный пользователем, обычно нуждается в обработке, используя многочисленные типы обслуживающих функций (на английском: Service Function, сокращенно, SF), и различные типы потоков обслуживания могут потребовать различные типы сервисных функций.
На предшествующем уровне техники различные типы потоков обслуживания подразделяются на различные цепочки обслуживания. Определяются последовательности SF, через которые должна пройти каждая цепочка обслуживания, и порядок прохождения через последовательности SF. Потоки обслуживания различных цепочек обслуживания должны проходить только через соответствующие узлы обслуживания. Во время конкретной реализации классификатор классифицирует потоки обслуживания, инициированные пользователем, и добавляет к пакету потока обслуживания идентификатор цепочки обслуживания. Затем классификатор передает пакет устройству продвижения данных и устройство продвижения данных в соответствии с идентификатором сервисной цепочки, введенным в пакет, и соотношением маршрута потока обслуживания цепочки обслуживания определяет следующий узел обслуживания для приема пакета.
Фактически, один и тот же тип SF может содержать многочисленные узлы обслуживания. При продвижении пакета устройством продвижения данных необходимо учитывать балансирование нагрузки между многочисленными узлами обслуживания одного и того же типа. Кроме того, динамическая нагрузка многочисленных узлов обслуживания варьируется во времени. Однако, на предшествующем уровне техники не обеспечивается эффективный и гибкий способ реализации балансирования нагрузки узлов обслуживания.
Раскрытие сущности изобретения
Варианты осуществления настоящей заявки обеспечивают способ определения маршрута и соответствующие устройство и систему, с тем, чтобы решить существующую на предшествующем уровне техники проблему, согласно которой трудно эффективно и гибко осуществить балансировку нагрузки узлов обслуживания.
В соответствии с первым подходом, вариант осуществления настоящей заявки обеспечивает способ определения маршрута, содержащий этапы, на которых:
принимают первый ввод потока, где первый ввод потока содержит первое соотношение отображения маршрута для потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки для каждого узла обслуживания и первый эффективный период времения первого ввода потока;
принимают второй ввод потока, где второй ввод потока содержит второе соотношение отображения маршрута для потока обслуживания первой цепочки обслуживания, вторую пропорциональную долю нагрузки для каждого узла обслуживания и второй эффективный периода второго ввода потока, причем второй эффективный период времени отличается от первого эффективного периода времени;
принимают первый пакет первого потока обслуживания, причем первый пакет содержит первую временную отметку первого потока обслуживания и идентификатор первой цепочки обслуживания, причем идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания;
определяют период времени, содержащий первую временную отметку первого эффективного периода времени и второго эффективного периода времени;
определяют, в соответствии с вводом потока, соответствующим определенному периоду времени, узел обслуживания для приема первого пакета; и
передают первый пакет определенному узлу обслуживания.
В описанной выше реализации переключатель принимает первый ввод потока и второй ввод потока и в соответствии с временной отметкой, введенной в первый пакет, определяет, использовать ли первый ввод потока или второй ввод потока для определения маршрута первого пакета. Поэтому, когда генерируется новый ввод потока, поскольку состояние нагрузки узла обслуживания меняется, переключатель может немедленно использовать новый ввод потока для продвижения пакета вновь созданного потока обслуживания и продолжать продвигать пакет ранее созданного потока обслуживания, основываясь на предшествующем вводе потока. В отличие от предшествующего уровня техники, где пакет продвигается в соответствии с новым вводом потока только после того, как существующий пакет обработан, в решении, представленном в этом варианте осуществления представленной заявки, переключатель может регулировать политику маршрутизации синхронным способом и реализовывать балансирование нагрузки более гибко и быстро. Кроме того, в решении, представленном в этом варианте осуществления настоящей заявки, ввод потока генерируется для одного и того же типа потоков обслуживания вместо каждого потока обслуживания. Следовательно, поскольку существует несколько вводов потока, непроизводительные системные потери относительно низкие и эффективность является относительно высокой.
Со ссылкой на первый подход, в первой возможной реализации первого подхода
после приема второго ввода потока способ дополнительно содержит этапы, на которых:
определяют, предшествует ли времени начала второго эффективного периода времени время окончания первого эффективного периода времени; и
если время начала второго эффективного периода времени предшествует времени окончания первого эффективного периода времени, изменяют время окончания первого эффективного периода времени на время начала второго эффективного периода времени.
В упомянутой выше возможной реализации, когда последовательно сгенерированный второй ввод потока конфликтует с ранее сформированным первым вводом потока, эффективное время первого ввода потока изменяется в соответствии с эффективным временем второго ввода потока, чтобы избежать конфликта между вводами потоков.
Со ссылкой на первый подход или на первую возможную реализацию первого подхода, во второй возможной реализации первого подхода период времени, который определяют из первого эффективного периода времени и второго эффективного периода времени и который содержит первую временную отметку, является первым эффективным периодом времени; и
определение, в соответствии с первым вводом потока, узла обслуживания для приема первого пакета содержит этапы, на которых:
определяют по меньшей мере два узла обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута;
генерируют коэффициент балансирования нагрузки, соответствующий первой временной отметке; и
определяют по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания и коэффициенту балансирования нагрузки, первый узел обслуживания для приема первого пакета.
Со ссылкой на первый подход или на первую возможную реализацию первого подхода, в третьей возможной реализации первого подхода первый пакет дополнительно содержит коэффициент балансирования нагрузки, и период времени, который определяют из первого эффективного периода времени и второго эффективного периода времени и который содержит первую временную отметку, является первым эффективным периодом времени; и
определение, в соответствии с первым вводом потока, узла обслуживания для приема первого пакета содержит этапы, на которых:
определяют по меньшей мере два узла обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута; и
определяют по меньшей мере из двух узлов обслуживания согласно соответствующим первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания и коэффициенту балансирования нагрузки, первый узел обслуживания для приема первого пакета.
Со ссылкой на вторую или третью возможную реализацию первого подхода, в четвертой возможной реализации первого подхода первый пакет является головным пакетом первого потока обслуживания и после определения по меньшей мере из двух узлов обслуживания первого узла обслуживания для приема первого пакета способ дополнительно содержит этапы, на которых:
принимают второй пакет первого потока обслуживания; и
передают второй пакет первому узлу обслуживания.
В описанной выше возможной реализации пакет, следующий за головным пакетом первого потока обслуживания, направляют способом маршрутизации головного пакета первого потока обслуживания, не требуя определения маршрутов для пакетов потока обслуживания, напрямую один за одним посредством вычисления, так что рабочая нагрузка на переключатель значительно снижается.
Со ссылкой на четвертую возможную реализацию первого подхода, в пятой возможной реализации первого подхода после определения, по меньшей мере из двух узлов обслуживания, первого узла обслуживания для приема первого пакета способ дополнительно содержит этапы, на которых:
запускают таймер перерыва; и
перед передачей второго пакета первому узлу обслуживания, способ дополнительно содержит этап, на котором:
определяют, что время действия таймера перерыва не истекло.
В соответствии со вторым подходом, вариант осуществления настоящей заявки обеспечивает способ определения маршрута, содержащий этапы, на которых:
принимают первый пакет первого потока обслуживания;
определяют в соответствии с полем признака, содержащимся в первом пакете, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания;
добавляют первую временную отметку первого пакета и идентификатор первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания; и
передают первый пакет на переключатель.
В описанной выше возможной реализации, при классификации и идентификации пакетов потоков обслуживания классификатор добавляет временную отметку к пакету потоков обслуживания, чтобы добавить к пакету атрибут времени, с тем, чтобы переключатель в разные периоды времени мог использовать различную политику маршрутизации пакетов. Поэтому, балансирование нагрузки узлов обслуживания реализуется гибко и эффективно.
Со ссылкой на второй подход в первой возможной реализации второго подхода перед передачей первого пакета на переключатель способ дополнительно содержит этапы, на которых:
определяют коэффициент балансирования нагрузки первого пакета и добавляют коэффициент балансирования нагрузки в первый пакет.
В соответствии с третьим подходом, вариант осуществления настоящей заявки обеспечивает способ определения маршрута, содержащий этапы, на которых:
получают первую текущую нагрузку каждого узла обслуживания, существующего в данный момент;
генерируют первый ввод потока, где первый ввод потока содержит первое соотношение отображения маршрута для потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки для каждого узла обслуживания и первый эффективный период первого ввода потока, и первая пропорциональная доля нагрузки генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания;
передают первый ввод потока на переключатель;
получают вторую текущую нагрузку каждого узла обслуживания, существующего во второй момент;
генерируют второй ввод потока, где второй ввод потока содержит второе соотношение отображения маршрута для пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки для каждого узла обслуживания и второй эффективный период времени второго ввода потока, причем вторая пропорциональная нагрузки доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания и второй эффективный период времени отличается от первого эффективного периода времени; и
передают второй ввод потока на переключатель.
В описанной выше возможной реализации, когда обнаруживают изменение нагрузки узла обслуживания, контроллер может немедленно сформировать второй ввод потока и передать второй ввод потока на переключатель, так чтобы переключатель мог обработать существующий пакет в соответствии с предшествующим первым вводом потока, и обработать вновь созданный пакет, соответствующий второму вводу потока, гибко и эффективно реализуя, таким образом, балансирование нагрузки.
В соответствии с четвертым подходом, вариант осуществления настоящей заявки обеспечивает устройство определения маршрута, содержащее:
первый приемный модуль, выполненный с возможностью: приема первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока; и приема второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока, причем второй эффективный период времени отличается от первого эффективного периода времени;
второй приемный модуль, выполненный с возможностью приема первого пакета первого потока обслуживания, где первый пакет содержит первую временную отметку первого потока обслуживания и идентификатор первой цепочки обслуживания, причем идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания;
первый модуль определения, выполненный с возможностью определения периода времени, содержащего первую временную отметку, исходя из первого эффективного периода времени и второго эффективного периода времени;
второй модуль определения, выполненный с возможностью определения в соответствии со вводом потока, соответствующим определенному периоду времени, узла обслуживания для приема первого пакета; и
передающий модуль, выполненный с возможностью передачи первого пакета определенному узлу обслуживания.
Со ссылкой на четвертый подход, в первой возможной реализации четвертого подхода устройство дополнительно содержит:
модуль изменения, выполненный с возможностью: определения, после приема второго ввода потока, предшествует ли время начала второго эффективного периода времени окончанию первого эффективного периода времени; и, когда время начала второго эффективного периода времени предшествует времени окончания первого эффективного периода времени, изменения времени окончания первого эффективного периода времени на время начала второго эффективного периода времени.
Со ссылкой на четвертый подход или на первую возможную реализацию четвертого подхода, во второй возможной реализации четвертого подхода период времени, определяемый, исходя из первого эффективного периода времени и второго эффективного периода времени, и который содержит первую временную отметку, является первым эффективным периодом времени; и
второй модуль определения специально выполнен с возможностью:
определения по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута;
генерирования коэффициента балансирования нагрузки, соответствующего первой временной отметке; и
определения по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания, и коэффициенту балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Со ссылкой на четвертый подход или на первую возможную реализацию четвертого подхода, в третьей возможной реализации четвертого подхода первый пакет дополнительно содержит коэффициент балансирования нагрузки и период времени, определяемый, исходя из первого эффективного периода времени и второго эффективного периода времени, и который содержит первую временную отметку, является первым эффективным периодом времени; и
второй модуль определения специально выполнен с возможностью:
определения по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута; и
определения по меньшей мере из двух узлов обслуживания, соответствующим первым пропорциональным долям нагрузки по меньшей мере двух узлов обслуживания и коэффициенту балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Со ссылкой на вторую или третью возможную реализацию четвертого подхода, в четвертой возможной реализации четвертого подхода первый пакет является головным пакетом первого потока обслуживания;
второй приемный модуль дополнительно выполнен с возможностью приема второго пакета первого потока обслуживания; и
передающий модуль дополнительно выполнен с возможностью передачи второго пакета первому узлу обслуживания.
Со ссылкой на четвертую возможную реализацию четвертого подхода, в пятой возможной реализации четвертого подхода устройство дополнительно содержит:
третий модуль определения, выполненный с возможностью: запуска таймера перерыва после того, как первый узел обслуживания для приема первого пакета определяется по меньшей мере из двух узлов обслуживания; и определения, что время действия таймера перерыва не истекло, перед тем, как второй пакет передается первому узлу обслуживания.
В соответствии с пятым подходом, вариант осуществления настоящей заявки обеспечивает устройство определения маршрута, содержащее:
приемный модуль, выполненный с возможностью приема первого пакета первого потока обслуживания;
модуль определения, выполненный с возможностью определения в соответствии с полем признака, введенным в пакет, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания;
модуль идентификации, выполненный с возможностью добавления первой временной отметки первого пакета и идентификатора первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания; и
передающий модуль, выполненный с возможностью передачи первого пакета на переключатель.
Со ссылкой на пятый подход, в первой возможной реализации пятого подхода модуль идентификации дополнительно содержит определение коэффициента балансирования нагрузки первого пакета и добавление коэффициента балансирования нагрузки в первый пакет.
В соответствии с шестым подходом, вариант осуществления настоящей заявки обеспечивает устройство определения маршрута, содержащее:
первый модуль получения, выполненный с возможностью получения первой текущей нагрузки каждого узла обслуживания, существующего в первый момент.
первый модуль генерирования, выполненный с возможностью генерирования первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эфективный период времени первого ввода потока, и первая пропорциональная доля нагрузки генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания;
передающий модуль, выполненный с возможностью передачи первого ввода потока на переключатель;
второй модуль получения, выполненный с возможностью получения второй текущей нагрузки каждого узла обслуживания, существующего во второй момент; и
второй модуль генерирования, выполненный с возможностью генерирования второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока, причем вторая пропорциональная доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания и второй эффективный период времени отличается от первого эффективного периода времени, где
передающий модуль дополнительно выполнен с возможностью передачи второго ввода потока на переключатель.
В соответствии с седьмым подходом, вариант осуществления настоящей заявки обеспечивает устройство определения маршрута, содержащее:
приемник, выполненный с возможностью: приема первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока; приема второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока и второй эффективный период времени отличается от первого эффективного периода времени; и приема первого пакета первого потока обслуживания, где первый поток содержит первую временную отметку первого потока обслуживания и идентификатор первой цепочки обслуживания, причем идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания;
процессор, выполненный с возможностью: определения периода времени, который содержит временную отметку, исходя из первого эффективного периода времени и второго эффективного периода времени; и определения, в соответствии с вводом потока, соответствующим определенному периоду времени, узла обслуживания для приема первого пакета; и
передатчик, выполненный с возможностью передачи первого пакета определенному узлу обслуживания.
В соответствии с седьмым подходом, в первой возможной реализации седьмого подхода процессор дополнительно выполнен с возможностью: определения, после приема второго ввода потока, предшествует ли время начала второго эффективного периода времени окончания первого эффективного периода времени; и когда время начала второго эффективного периода времени предшествует времени окончания первого эффективного периода времени, изменения времени окончания первого эффективного периода времени на время начала второго эффективного периода времени.
Со ссылкой на седьмой подход или на первую возможную реализацию седьмого подхода, во второй возможной реализации седьмого подхода период времени, который определяется, исходя из первого эффективного периода времени и второго эффективного периода времени, и который содержит первую временную отметку, является первым эффективным периодом времени; и
упомянутый процессор, выполненный с возможностью определения, в соответствии с первым вводом потока, узла обслуживания для приема первого пакета, содержит:
определение по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута;
генерирование коэффициента балансирования нагрузки, соответствующего первой временной отметке; и
определение по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания и коэффициенту балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Со ссылкой на седьмой подход или на первую возможную реализацию седьмого подхода, в третьей возможной реализации седьмого подхода первый пакет дополнительно содержит коэффициент балансирования нагрузки и период времени, который определяется, исходя из первого эффективного периода времени и второго эффективного периода времени, и который содержит первую временную отметку, является первым эффективным периодом времени; и
упомянутый процессор, выполненный с возможностью определения, в соответствии с первым вводом потока, узла обслуживания для приема первого пакета, содержит:
определение по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношении отображения маршрута; и
определение по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания и коэффициенту балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Со ссылкой на вторую или третью возможную реализацию седьмого подхода, в четвертой возможной реализации седьмого подхода первый пакет является головным пакетом первого потока обслуживания;
приемник дополнительно выполнен с возможностью приема второго пакета первого потока обслуживания; и
передатчик дополнительно выполнен с возможностью передачи второго пакета первому узлу обслуживания.
Со ссылкой на четвертую возможную реализацию седьмого подхода, в пятой возможной реализации седьмого подхода процессор дополнительно выполнен с возможностью: запуска таймера перерыва после того, как первый узел обслуживания для приема первого пакета определяется по меньшей мере из двух узлов обслуживания; и определения перед тем, как второй пакет передается первому узлу обслуживания, что время действия таймера перерыва не истекло.
В соответствии с восьмым подходом, вариант осуществления настоящей заявки обеспечивает устройство определения маршрута, содержащее:
приемник, выполненный с возможностью приема первого пакета первого потока обслуживания;
процессор, выполненный с возможностью: определения в соответствии с полем признака, содержащимся в первом пакете, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания; и добавления первой временной отметки первого пакета и идентификатора первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания; и
передатчик, выполненный с возможностью передачи первого пакета на переключатель.
Со ссылкой на восьмой подход, в первой возможной реализации восьмого подхода процессор дополнительно выполнен с возможностью определения коэффициента балансирования нагрузки первого пакета и добавления коэффициента балансирования нагрузки в первый пакет.
В соответствии с девятым подходом, вариант осуществления настоящей заявки обеспечивает устройство определения маршрута, содержащее:
приемник, выполненный с возможностью получения первой текущей нагрузки каждого узла обслуживания, существующего в первый момент;
процессор, выполненный с возможностью генерирования первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута для потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки для каждого узла обслуживания и первый эффективный период времени первого ввода потока, и первая пропорциональная доля нагрузки генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания; и
передатчик, выполненный с возможностью передачи первого ввода потока на переключатель, где
приемник дополнительно выполнен с возможностью получения второй текущей нагрузки каждого узла обслуживания, существующего во второй момент.
процессор дополнительно выполнен с возможностью генерирования второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута для пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки пакета для каждого узла обслуживания и второй эффективный период времени второго ввода потока, причем вторая пропорциональная доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания и второй эффективный период времени отличается от первого эффективного периода времени; и
передатчик дополнительно выполнен с возможностью передачи второго ввода потока на переключатель.
В соответствии с десятым подходом, вариант осуществления настоящей заявки обеспечивает систему определения маршрута, содержащую:
контроллер, выполненный с возможностью: получения первой текущей нагрузки каждого узла обслуживания, существующего в первый момент; генерирования первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока и первая пропорциональная доля потока генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания, существующего во второй момент; генерирования второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока и вторая пропорциональная доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания; и передают второй ввод потока на переключатель, где второй эффективный период времени отличается от первого эффективного периода времени;
классификатор, выполненный с возможностью: приема первого пакета первого потока обслуживания; определения в соответствии с полем признака, содержащимся в первом пакете, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания; добавления первой временной отметки первого пакета и идентификатора первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания; передачи первого пакета на переключатель; и
переключатель, выполненный с возможностью: приема первого ввода потока; приема второго ввода потока; приема первого пакета первого потока обслуживания; определения периода времени, содержащего первую временную отметку из первого эффективного периода времени и второго эффективного периода времени; определения, в соответствии со вводом потока, соответствующим определенному периоду времени, узла обслуживания для приема первого пакета; и передачи первого пакета определенному узлу обслуживания.
Со ссылкой на десятый подход, в первой возможной реализации десятого подхода переключатель дополнительно выполнен с возможностью после приема второго ввода потока,
определения, предшествует ли время начала второго эффективного периода времени окончанию первого эффективного периода времени; и
если время начала второго эффективного периода времени предшествует времени окончания первого эффективного периода времени, изменяют время окончания первого эффективного периода времени на время начала второго эффективного периода времени.
Со ссылкой на десятый подход или на первую возможную реализацию десятого подхода, первый пакет является головным пакетом первого потока обслуживания; и
переключатель дополнительно выполнен с возможностью: приема второго пакета первого потока обслуживания; и передачи второго пакета первому узлу обслуживания.
Со ссылкой на десятый подход или на первую или вторую возможную реализацию десятого подхода, в третьей возможной реализации десятого подхода, в которой упомянутый переключатель выполнен с возможностью определения узла обслуживания в соответствии с первым вводом потока и для приема первого пакета содержит:
определение по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута;
генерирование коэффициента балансирования нагрузки, соответствующего первой временной отметке; и
определение по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания и коэффициенту балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Со ссылкой на десятый подход или на первую или вторую возможную реализацию десятого подхода, в четвертой возможной реализации десятого подхода первый пакет дополнительно содержит коэффициент балансирования нагрузки и переключатель выполнен с возможностью определения в соответствии с первым вводом потока узла обслуживания и для приема первого пакета содержит:
определение по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута; и
определение по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания и коэффициенту балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Со ссылкой на вторую возможную реализацию десятого подхода, в пятой возможной реализации десятого подхода после определения, по меньшей мере из двух узлов обслуживания, первого узла обслуживания для приема первого пакета, переключатель дополнительно выполнен с возможностью запуска таймера перерыва; и
переключатель дополнительно выполнен с возможностью определения перед передачей второго пакета первому узлу обслуживания, что время действия таймера перерыва не истекло.
Краткое описание чертежей
Чтобы более ясно представить технические решения в вариантах осуществления настоящей заявки, ниже кратко перечислены сопроводительные чертежи, необходимые для описания вариантов осуществления. Очевидно, что сопроводительные чертежи в последующем описании показывают лишь некоторые из вариантов осуществления настоящего изобретения и специалисты в данной области техники могут без особых творческих усилий из этих сопроводительных чертежей дополнительно получить другие чертежи.
Фиг. 1 – схематичное представление системы маршрутизации пакетов;
фиг. 2А и 2В – схематичная блок-схема последовательности выполнения операций способа определения маршрута в соответствии с вариантом осуществления настоящей заявки;
фиг. 3 – схематичная блок-схема последовательности выполнения операций дополнительно детализированного способа определения маршрута в соответствии с вариантом осуществления настоящей заявки;
фиг. 4 – другая схематичная блок-схема последовательности выполнения операций способа определения маршрута в соответствии с вариантом осуществления настоящей заявки;
фиг. 5 – схематичная структурная блок-схема устройства 300 определения маршрута в соответствии с вариантом осуществления настоящей заявки;
фиг. 6 – схематичная структурная блок-схема устройства 400 определения маршрута в соответствии с вариантом осуществления настоящей заявки;
фиг. 7 – схематичная структурная блок-схема устройства 500 определения маршрута в соответствии с вариантом осуществления настоящей заявки;
фиг. 8 – схематичная структурная блок-схема устройства 600 определения маршрута в соответствии с вариантом осуществления настоящей заявки; и
фиг. 9 – схематичная блок-схема системы определения маршрута в соответствии с вариантом осуществления настоящей заявки.
Осуществление изобретения
Далее для облегчения понимания технических решений в вариантах осуществления настоящей заявки сначала описывается предшествующий уровень техники.
На фиг. 1 схематично представлена система, реализующая маршрутизацию потоков обслуживания и балансирование нагрузки в существующей технологии мобильных широкополосных сетей. Функция политики и правил загрузки (Policy and Charging Rules Function, сокращенно, PCRF) ответственна за функцию принятия решений для цепочек обслуживания, то есть, она определяет тип узла обслуживания, необходимый для обработки типа потока обслуживания, и то, как классифицировать потоки обслуживания. Функция контроля качества обслуживания и управления тарификацией (Policy and Charging Rules Function, сокращенно, PCRF) выполнена с возможностью распознавания и классификации потоков обслуживания в соответствии с правилом классификации, сформулированным PCRF, и вставления в пакеты потоков обслуживания идентификаторов, используемых для индикации типов потоков обслуживания. Контроллер программно определяемой сети (Software Defined Network, сокращенно, SDN) несет ответственность за получение информации о каждом узле обслуживания и определение политики маршрутизации потоков обслуживания в соответствии с информацией об узле обслуживания, то есть, получение узлов обслуживания каждого типа и соответствующих состояний нагрузки многочисленных узлов обслуживания каждого типа, и затем определение текущей пропорциональной доли носителя обслуживания для каждого узла обслуживания. Переключатель SDN ответственен за направление пакетов потоков обслуживания в соответствии с политикой маршрутизации, определяемой контроллером SDN.
На предшествующем уровне техники балансирование нагрузки выполняется на узле обслуживания следующими двумя способами.
Способ 1: Контроллер SDN получает информацию, такую как местоположение (соответствующие переключатель и порт), адрес, емкость и динамическая нагрузка каждого узла обслуживания, и 5-тизначную информацию и идентификатор (Identity, сокращенно, ID) цепочки обслуживания, то есть, идентификатор, указывающий тип цепочки обслуживания для каждого потока обслуживания.
Затем контроллер SDN генерирует один ввод потока для каждого потока обслуживания в соответствии с информацией о каждом узле обслуживания, определяет узел обслуживания, через который должен пройти каждый поток обслуживания, и передает сгенерированный ввод потока на переключатель SDN. Переключатель SDN направляет пакет потока обслуживания, соответствующий вводу потока.
В способе 1 контроллер SDN генерирует один ввод потока для каждого потока обслуживания. В результате, количество вводов потока является очень большим, накладные расходы на сигнализацию крайне высоки и эффективность относительно низкая.
Способ 2: Многочисленные идентификаторы цепочек обслуживания (например 1-1000) назначаются одному типу потоков обслуживания и при классификации и идентификации потоков обслуживания PCEF может назначать различные идентификаторы цепочек обслуживания одному и тому же типу потоков обслуживания.
Контроллер SDN получает информацию, такую как местоположение (соответствующие переключатель и порт), адрес, емкость и динамическая нагрузка каждого узла обслуживания, и определяет политику маршрутизации потоков обслуживания, соответствующую информации об узле обслуживания. Например, существуют два узла обслуживания типа 1 и соотношение емкостей между двумя узлами обслуживания равно 1:1. В этом случае контроллер SDN доставляет ввод потока на переключатель SDN, чтобы дать команду на переключатель SDN маршрутизировать пакеты потоков обслуживания с идентификаторами 1-500 цепочек обслуживания на узел 1 обслуживания и маршрутизировать пакеты потоков обслуживания с идентификаторами 501-1000 цепочек обслуживания на узел 2 обслуживания.
В способе 2 балансирование нагрузки полностью гибким способом на узле обслуживания не выполняется. Например, если к узлам обслуживания типа 1 вновь добавляются еще два узла обслуживания, а емкости двух узлов обслуживания являются такими же, как емкости предыдущих узлов обслуживания, пакеты потоков обслуживания с идентификаторами ID 251-500 и 751-1000 цепочек обслуживания могут передаваться отдельно на два новых узла обслуживания. Однако в способе 2 такое изменение политики маршрутизации может выполняться только после того, как пакет существующего потока обслуживания продвигается вперед.
Поэтому предшествующий уровень техники не обеспечивает эффективный и гибкий способ реализации балансирования нагрузки узла обслуживания. Для решения этой проблемы варианты осуществления настоящей заявки обеспечивают способ определения маршрута и соответствующие устройство и систему. Ниже технические решения представленного изобретения описываются подробно, используя сопроводительные чертежи и конкретные варианты осуществления. Следует понимать, что варианты осуществления этой заявки и конкретные признаки в вариантах осуществления предназначены для подробного описания технических решений представленного изобретения, а не для ограничения технических решений представленного изобретения. В случае отсутствия конфликтов, варианты осуществления настоящей заявки и технические признаки в вариантах осуществления могут взаимно объединяться.
На фиг. 2А и 2В представлена схематичная блок-схема последовательности выполнения операций способа определения маршрута в соответствии с настоящей заявкой. Способ содержит нижеследующие этапы.
Этап 101: Контроллер получает первую текущую нагрузку каждого узла обслуживания, существующего в первый момент, и генерирует первый ввод потока в соответствии с полученной первой текущей нагрузкой каждого узла обслуживания, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока, и первая пропорциональная доля нагрузки генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания.
Этап 102: Контроллер передает первый ввод потока на переключатель.
Этап 103: Переключатель принимает первый ввод потока.
Этап 104: Контроллер получает вторую текущую нагрузку каждого узла обслуживания, существующего во второй момент, и генерирует второй ввод потока в соответствии со второй текущей нагрузкой каждого узла обслуживания, где второй ввод потока содержит второе соотношение отображения маршрута пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока, и вторая пропорциональная доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания и второй эффективный период времени отличается от первого эффективного периода времени.
Этап 105: Контроллер передает второй ввод потока на переключатель.
Этап 106: Переключатель принимает второй ввод потока.
Этап 107: Переключатель принимает первый пакет первого потока обслуживания, где первый пакет содержит первую временную отметку первого потока обслуживания и идентификатор первой цепочки обслуживания, причем идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания.
Этап 108: Переключатель определяет период времени, содержащий первую временную отметку из первого эффективного периода времени и второго эффективного периода времени.
Этап 109: Переключатель, в соответствии с вводом потока, соответствующим определенному периоду времени, определяет узел обслуживания для приема первого пакета.
Этап 110: Переключатель передает первый пакет определенному узлу обслуживания.
Конкретно, контроллер отдельно получает информацию об узлах обслуживания, существующих в первый момент и второй момент. Информация об узлах обслуживания содержит местоположение, адрес, емкость и текущую пропорциональную долю нагрузки каждого узла обслуживания. Узлы обслуживания в первый момент могут быть не такими, как узлы обслуживания во второй момент. Например, два узла обслуживания типа 1 являются вновь добавленными к системе во второй момент, и узлы обслуживания во второй момент содержат узлы обслуживания в первый момент плюс два вновь добавленных узла обслуживания.
Контроллер отдельно генерирует вводы потока в соответствии с информацией об узлах обслуживания, существующих в первый момент и во второй момент. Вводы потока содержат соотношения отображения маршрута пакета первого типа потока обслуживания и пропорциональную долю нагрузки каждого узла обслуживания. Первое соотношение отображения маршрута в первом вводе потока и второе соотношение отображения маршрута во втором вводе потока могут быть одинаковыми или различными. Это конкретно зависит от того, увеличивается или уменьшается количество узлов обслуживания каждого типа.
Например, в первом соотношении отображения маршрута в первый момент пакет, который относится к первому типу потока обслуживания и который передается классификатором, должен передаваться узлам обслуживания типа 1 и узлы обслуживания типа 1 содержат первый узел обслуживания и второй узел обслуживания. Во второй момент один узел обслуживания типа 1, то есть, третий узел обслуживания появляется как вновь добавленный узел. Поэтому, во втором соотношении отображения маршрута пакет, являющийся пакетом первого типа потока обслуживания и который передается классификатором, отображается в первом узле обслуживания, втором узле обслуживания и третьем узле обслуживания. То есть, соотношение отображения маршрута может также изменяться вследствие увеличения или уменьшения количества узлов обслуживания.
В этом варианте осуществления настоящей заявки первая пропорциональная доля нагрузки узла обслуживания отличается от второй пропорциональной доли нагрузки узла обслуживания. Это содержит следующие два случая.
Первый случай: Когда соотношение отображения маршрута изменяется из-за увеличения или уменьшения количества сервисных узлов, пропорциональная доля нагрузки каждого узла обслуживания изменяется.
Второй случай: Когда соотношение отображения маршрута не изменяется, контроллер регулирует пропорциональную долю нагрузки каждого узла обслуживания, поскольку текущая нагрузка узла обслуживания разбалансируется. Текущая нагрузка узла обслуживания содержит остающуюся емкость (текущий объем обслуживания, который может переноситься) и текущую пропорциональную долю нагрузки узла обслуживания. То, что текущая нагрузка разбалансируется, означает, что остающаяся емкость узла обслуживания не соответствует пропорциональной доле нагрузки узла обслуживания.
Например, в первом соотношении отображения маршрута и во втором соотношении отображения маршрута все пакеты первого типа потока обслуживания, которые передаются классификатором, отображаются в первом узле обслуживания и во втором узле обслуживания, а остающиеся емкости первого узла обслуживания и второго узла обслуживания в первый момент являются одинаковыми. Поэтому, контроллер устанавливает обе первые пропорциональные доли нагрузки первого узла обслуживания и второго узла обслуживания равными 50%. Во второй момент остающаяся емкость первого узла обслуживания равна удвоенной остающейся емкости второго узла обслуживания и обе текущие пропорциональные доли первого узла обслуживания и второго узла обслуживания равняются 50%. Первый узел обслуживания с более высокой емкостью переносчика обслуживания имеет ту же самую пропорциональную долю нагрузки, что и второй узел обслуживания с более низкой емкостью переносчика, и текущая нагрузка первого узла обслуживания и текущая нагрузка второго узла обслуживания разбалансированы. Для осуществления балансирования нагрузки контроллер может регулировать вторую пропорциональную долю нагрузки первого узла обслуживания до 67% и регулировать вторую пропорциональную долю нагрузки второго узла обслуживания до 33%.
Следовательно, в этом варианте осуществления настоящей заявки во второй момент, когда контроллер обнаруживает изменение решения о цепочке обслуживания или увеличивает или уменьшает количество узлов обслуживания или когда текущая нагрузка узла обслуживания разбалансирована, контроллер генерирует второй ввод потока в соответствии с текущей нагрузкой каждого узла обслуживания, существующего во второй момент. Второй ввод потока содержит вторую пропорциональную долю нагрузки каждого узла обслуживания.
Кроме того, поскольку контроллер сгенерировал первый ввод потока в первый момент, второй эффективный период времени, содержащийся во втором вводе потока, отличается от первого эффективного периода времени первого ввода потока, чтобы избежать конфликта. Время начала второго ввода потока может быть вторым моментом или может быть временем, определяемым, увеличивая второй момент посредством одного разрешения.
Кроме того, переключатель отдельно принимает первый ввод потока и второй ввод потока, переданные контроллером, и определяет маршрут для первого типа потока обслуживания, соответствующего первому вводу потока или второму вводу потока.
Сначала переключатель принимает первый пакет потока обслуживания. Первый пакет может поступать от классификатора системы, например, PCEF, шлюза (Gateway) или функции обнаружения трафика (Traffic Detection Function, сокращенно, TDF) Альтернативно, первый пакет может поступать от узла обслуживания. Например, в соответствии с решением цепочки обслуживания, пакет первого типа потока обслуживания необходимо успешно пропустить через узел обслуживания, функционирующий в качестве брандмауэра, и через второй узел обслуживания, используемый для кэширования и ускорения. После прохождения через узел обслуживания, функционирующий в качестве брандмауэра, пакет необходимо вернуть на переключатель и затем направить вперед, используя переключатель, на узел обслуживания, используемый для кэширования и ускорения.
В этом варианте осуществления настоящей заявки первый пакет содержит идентификатор цепочки обслуживания и первую временную отметку. Идентификатор цепочки обслуживания и первая временная отметка могут добавляться классификатором в системе и первая временная отметка может указывать время создания потока обслуживания, то есть, время, когда классификатор принимает головной пакет первого потока обслуживания.
Переключатель, в соответствии с идентификатором цепочки обслуживания, содержащимся в первом пакете, определяет, что первый пакет является пакетом первого типа потока обслуживания и нуждается в определении маршрута для первого пакета в соответствии с первым вводом потока или вторым вводом потока. Переключатель дополнительно определяет, содержится ли первая временная отметка, присутствующая первом пакете, в первом эффективном периоде времени или во втором эффективном периоде времени. Если первый эффективный период времени содержит время, соответствующее первой временной отметке, маршрут для первого пакета определяется в соответствии с первым вводом потока. Если второй эффективный период времени содержит время, соответствующее второй временной отметке, маршрут для первого пакета определяется в соответствии со вторым вводом потока.
Реально, переключатель может дополнительно принимать третий ввод потока для политики маршрутизации потока обслуживания первой цепочки обслуживания. Третий эффективный период времени третьего ввода потока отличается как от первого эффективного периода времени, так и от второго эффективного периода времени. То есть, переключатель может принимать и хранить многочисленные вводы потока согласно политики маршрутизации потоков обслуживания одной и той же цепочки обслуживания и все эффективные периоды времени многочисленных вводов потока отличаются друг от друга. После приема пакета потока обслуживания первой цепочки обслуживания переключатель выбирает применяемый поток обслуживания в соответствии с временной отметкой в пакете.
В описанном выше техническом решении в этом варианте осуществления настоящей заявки, при обнаружении, что нагрузка узла обслуживания разбалансирована, контроллер может немедленно сформировать второй ввод потока, соответствующий текущей нагрузке узла обслуживания, чтобы подать на переключатель команду, в соответствии со вторым соотношением отображения маршрута и второй пропорциональной долей нагрузки, определить маршрут для пакета, содержащего временную отметку, более позднюю, чем время начала второго ввода потока, с тем, чтобы осуществить балансирование нагрузки узла обслуживания. По сравнению с представленным выше способом 1 предшествующего уровня техники, в способе определения маршрута, обеспечиваемом в этом варианте осуществления настоящей заявки, ввод потока генерируется для каждого типа потоков обслуживания вместо каждого потока обслуживания, так что накладные затраты резко сокращаются. По сравнению с описанным выше способом 2 предшествующего уровня техники в способе определения маршрута, обеспечиваемом в этом варианте осуществления настоящей заявки, политика определения маршрута может своевременно регулироваться в соответствии с изменением текущей нагрузки узла обслуживания вместо регулирования после того, как обработан существующий пакет. Этот способ является более эффективным и гибким.
Следует заметить, что контроллер может быть контроллером SDN в сетевой архитектуре SDN и переключатель может быть переключателем SDN в сетевой архитектуре SDN. Если сетевая архитектура SDN на используется, этап 101, этап 102, этап 104 и этап 105 могут выполняться сетевым элементом, обладающим функцией, аналогичной или схожей с функцией контроллера SDN в сетевой архитектуре SDN, а этап 103 и этапы 106-110 могут выполняться сетевым элементом, имеющим функцию, аналогичную или схожую с функцией переключателя SDN в сетевой архитектуре SDN. Кроме того, в другой сетевой архитектуре, альтернативно, функции контроллера и переключателя могут быть интегрированы в один сетевой элемент.
Как вариант, в настоящем варианте осуществления после того, как переключатель принимает второй ввод потока на этапе 106, способ дополнительно содержит следующие этапы, на которых:
определяют, предшествует ли времени начала второго эффективного периода времени окончанию первого эффективного периода времени; и
если время начала второго эффективного периода времени предшествует времени окончания первого эффективного периода времени, изменяют время окончания первого эффективного периода времени на время начала второго эффективного периода времени. Конкретно, ввод потока, подаваемого контроллером на переключатель, может дополнительно содержать поле эффективного периода времени, используемого для индикации эффективного времени ввода потока. Если эффективный период времени ввода потока, принятого (сгенерированного) впоследствии, накладывается на эффективный период времени ранее принятого (сгенерированного) ввода потока, маршрут пакета, содержащего временную отметку, попадающую в пределы временного периода наложения, определяется, используя политику, определенную при последующем вводе потока, чтобы отреагировать на наиболее позднюю политику маршрутизации и быстро осуществить балансирование нагрузки.
Фактически, во время генерирования ввода потока поле эффективного периода времени во вводе потока может иметь значение по умолчанию или быть пустым значением, чтобы указать, что ввод потока эффективен всегда.
Как вариант, в этом случае осуществления настоящей заявки период времени, который определяется из первого эффективного периода времени и второго эффективного периода времени и который содержит первую временную отметку, является первым эффективным периодом времени.
Возвращаясь к фиг. 3, этап 109, на котором переключатель конкретно, в соответствии с первым вводом потока, определяет узел обслуживания для приема первого пакета, содержит нижеследующие этапы:
Этап 1091: Определяют по меньшей мере два узла обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута.
Этап 1092: Переключатель генерирует коэффициент балансирования нагрузки, соответствующий первой временной отметке.
Этап 1093: Переключатель, по меньшей мере из двух узлов обслуживания согласно соответствующим первым пропорциональным долям нагрузки по меньшей мере первых двух узлов обслуживания и коэффициенту балансирования нагрузки, определяет первый узел обслуживания для приема первого пакета.
Конкретно, соотношение отображения маршрута, содержащееся во вводе потока, является соотношением отображения между входным узлом и выходным узлом пакета первого типа потока обслуживания, то есть, указывает узел обслуживания, которому переключатель должен направить пакет, принятый от первого входного узла. Пропорциональные доли нагрузки узлов обслуживания, которые содержатся во вводе потока, являются соответствующими пропорциональными долями переносчика обслуживания по меньшей мере двух узлов обслуживания, определенных в соответствии с соотношением отображения маршрута.
Например, возможная форма ввода потока может иметь вид:
"Match: InPort=0, SC-ID=1, T1≤TimeStamp<T2.
Output: OutPort=1, Ratio=50%; OutPort=2, Ratio=50%."
Поле Match содержит информацию о пакете и вводе потока. InPort является идентификатором порта, SC-ID является идентификатором цепочки обслуживания и также упоминается как ID цепочки обслуживания, поле TimeStamp указывает, что эффективным периодом времени ввода потока является [T1, T2). Как описано выше, поле TimeStamp может иметь значение по умолчанию. Поле Output содержит информацию о выходном узле. OutPort является идентификатором выходного порта, а Ratio является пропорциональной долей нагрузки, соответствующей выходному порту. Описанный выше ввод порта указывает, что пакеты, которые вводятся из порта 0, передаются в порт 1 или порт 2 и пропорциональные доли порта 1 и порта 2 являются одинаковыми, то есть, пакеты равномерно распределены между портом 1 и портом 2.
На этапе 1091 переключатель получает идентификатор входного узла первого пакета и в соответствии с идентификатором входного узла и соотношением отображения маршрута в первом входе потока определяет по меньшей мере два узла обслуживания, которые могут быть использованы для приема первого пакета.
Затем переключатель генерирует коэффициент балансирования нагрузки в соответствии с первой временной отметкой в первом пакете и, по меньшей мере из двух узлов обслуживания (узлов обслуживания, определенных на этапе 1091), со ссылкой на соответствующие пропорциональные доли нагрузки по меньшей мере для двух узлов обслуживания в первом вводе потока и на коэффициент балансирования нагрузки, определяет первый узел обслуживания для приема первого пакета.
Во время конкретной реализации этап 1093 содержит следующие способы.
Способ 1: Переключатель вычисляет значение хэш-функции временной отметки, использует вычисленное значение хэш-функции в качестве коэффициента балансирования нагрузки и со ссылкой на значение хэш-функции и пропорциональные доли нагрузки узлов обслуживания определяет узел обслуживания для приема пакета.
Например, двумя возможными выходными узлами обслуживания, определенными в соответствии с первым соотношением отображения маршрута являются узел 1 обслуживания и узел 2 обслуживания и пропорциональные доли нагрузки двух узлов обслуживания равны 50%. В этом случае, после того, как в соответствии с временной отметкой вычислено значение хэш-функции, если значение хэш-функции является нечетным числом, пакет передается на узел 1 обслуживания. Если значение хэш-функции является четным числом, пакет передается на узел 2 обслуживания. Альтернативно, вычисляется промежуточное значение. Если значение хэш-функции больше промежуточного значения, пакет передается на узел 1 обслуживания. Если значение хэш-функции не больше промежуточного значения, пакет передается на узел 2 обслуживания.
Способ 2: Переключатель может альтернативно вычислить значение временной отметки в качестве коэффициента балансирования нагрузки и, в соответствии с временной отметкой и пропорциональными долями нагрузки узлов обслуживания, определить узел обслуживания для приема пакета.
Кроме того, в примере, в котором пропорциональные доли нагрузки как узла 1 обслуживания, так и узла 2 обслуживания равны по 50%, если последняя цифра временной отметки является нечетным числом, пакет передается на узел 1 обслуживания.
Если последняя цифра временной отметки является четным числом, пакет передается узлу 2 обслуживания. Альтернативно, пакет, содержащий временную отметку, находящуюся в пределах [T1, T1+T), передается на узел 1 обслуживания, пакет, содержащий временную отметку, попадающую в пределы диапазона [T1+T, T1+2T), передается на узел 2 обслуживания, пакет, содержащий временную отметку, попадающую в пределы диапазона [T1+2T, T1+3T), передается на узел 1 обслуживания и так далее.
Способ 3: Переключатель генерирует коэффициент балансирования нагрузки в соответствии с информацией, не имеющей отношения к временной отметке, и в соответствии с коэффициентом балансирования нагрузки и пропорциальнальными долями нагрузки узлов обслуживания определяет узел обслуживания для приема пакета.
Например, переключатель последовательно нумерует первый тип потоков обслуживания в восходящем порядке и номер, соответствующий каждому потоку обслуживания, является коэффициентом балансирования нагрузки пакета потока обслуживания. Например, переключатель нумерует первый принятый первый тип потока 1 обслуживания, нумерует второй принятый первый тип потока 2 обслуживания, …, и нумерует десятый принятый первый тип потока 10 обслуживания и затем нумерует потоки обслуживания снова, начиная с 1. Кроме того, в примере, в котором пропорциональные доли нагрузки узла 1 обслуживания и узла 2 обслуживания равны по 50%, пакет, нумерованный нечетным числом, может быть передан узлу 1 обслуживания, а пакет, нумерованный четным числом, может быть передан узлу 2 обслуживания. Альтернативно, пакет, номер которого попадает в диапазон [1, 5], может быть передан узлу 1 обслуживания, а пакет, номер которого попадает в диапазон [6, 10], может быть передан узлу 2 обслуживания.
Следует заметить, что для приема пакета выше перечислены лишь несколько возможных реализаций определения узла обслуживания, соответствующего коэффициенту балансирования нагрузки и пропорциональным долям нагрузки узлов обслуживания, и специалисты в данной области техники могут определить узел обслуживания для приема пакета посредством другой возможной реализации на предшествующем уровне техники. Никакие дополнительные примеры здесь в этом варианте осуществления настоящей заявки более не приводятся.
Как вариант, в этом случае осуществления настоящей заявки первый пакет содержит коэффициент балансирования нагрузки и первым эффективным периодом времени является период времени, который определяется из первого эффективного периода времени и второго эффективного периода времени и который содержит первую временную отметку.
Этап 109, на котором переключатель в соответствии с первым вводом потока конкретно определяет узел обслуживания для приема первого пакета, содержит нижеследующие этапы:
Этап 1091: Переключатель определяет по меньшей мере два узла обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута.
Этап 1093: Переключатель по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере двух узлов обслуживания и коэффициенту балансирования нагрузки, определяет первый узел обслуживания для приема первого пакета.
Конкретно, при идентификации пакетов потоков обслуживания классификатор может вычислить коэффициент балансирования пакетов и добавить коэффициент балансирования нагрузки в пакет. Переключатель напрямую получает коэффициент балансирования нагрузки из пакета, не вычисляя коэффициент балансирования нагрузки, и определяет узел обслуживания для приема пакета. Для способа, при котором классификатор вычисляет коэффициент балансирования нагрузки и при котором реализуется этап 1093, обратитесь к предшествующим способу 1, способу 2 и способу 3 и их подробности здесь повторно не описываются.
В предшествующем техническом решении коэффициент балансирования нагрузки добавляется в пакет, поэтому переключателю нет необходимости вычислять коэффициент балансирования нагрузки. Тем самым снижается нагрузка на переключатель.
Следует заметить, что в предшествующих двух реализациях этапа 109 первая пропорциональная доля нагрузки узла обслуживания, которая содержится в первом вводе потока, в предыдущем примере может быть представлена в форме поля "Ratio" (отношение), то есть, соответствующей пропорциональной доли переносчика обслуживания узла обслуживания. Первая пропорциональная доля нагрузки узла обслуживания может быть напрямую диапазоном коэффициента балансирования нагрузки, соответствующего узлу обслуживания. Например, первая пропорциональная доля нагрузки узла 1 обслуживания может быть представлена как "LB≤Max/2", а первая пропорциональная доля нагрузки узла 2 обслуживания может быть представлена как "Max/2<LB≤Max". LB является коэффициентом балансирования нагрузки.
Кроме того, в техническом решении для этого варианта осуществления заявки могут присутствовать многочисленные переключатели. После выполнения обработки первым узлом обслуживания первый пакет необходимо вернуть на переключатель и переключатель должен направить его на следующий узел обслуживания. Переключатель, передающий первый пакет на первый узел обслуживания, и переключатель, принимающий пакет, переданный первым узлом обслуживания, могут быть одинаковыми или могут быть разными. В этом варианте осуществления настоящей заявки, если алгоритм коэффициента балансирования нагрузки является равномерным, маршрут пакета может быть гарантирован постоянно, даже если переключатель переключается.
Как вариант, в этом случае осуществления настоящей заявки первый пакет является головным пакетом первого потока обслуживания. После этапа 1093, на котором переключатель определяет, по меньшей мере из двух узлов обслуживания, первый узел обслуживания для приема первого пакета, способ дополнительно содержит нижеследующие этапы:
Этап 111: Переключатель принимает второй пакет первого потока обслуживания.
Этап 112: Переключатель передает второй пакет на первый узел обслуживания.
Конкретно, поскольку все пакеты первого потока обслуживания имееют один и тот же путь направления, после определения, что узел обслуживания для приема головного пакета первого потока обслуживания является первым узлом обслуживания, переключатель напрямую передает пакет, следующий за головным пакетом первого потока обслуживания, первому узлу обслуживания, без определения маршрутов для пакетов, следующих за ним, в соответствии с пропорциональной долей нагрузки и соотношением отображения маршрута.
Во время конкретной реализации, после определения, что узел обслуживания для приема головного пакета первого потока обслуживания является первым узлом обслуживания, переключатель может сформировать новый ввод потока и определяет в новом вводе потока, что пакет первого потока обслуживания должен быть передан на первый узел обслуживания. После приема последующего пакета первого потока обслуживания, переключатель может напрямую направить пакет на первый узел обслуживания, соответствующий новому вводу потока, не выполняя этап 1093, без определения следующего узла обслуживания для приема пакета.
Этап 111 и этап 112 могут быть применены не только к техническому решению для определения маршрута пакета, когда первый пакет не содержит коэффициент балансирования нагрузки, но также к техническому решению для определения маршрута пакета, когда первый пакет содержит коэффициент балансирования нагрузки. Пакет, следующий за головным пакетом первого потока обслуживания, направляют напрямую способом маршрутизации головного пакета первого потока обслуживания, не требуя определения маршрутов для пакетов потока обслуживания один за одним посредством вычисления, поэтому операция загрузки на переключатель значительно сокращается.
Как вариант, в этом случае осуществления со ссылкой на фиг. 4, после этапа 1093, на котором переключатель по меньшей мере из двух узлов обслуживания определяет первый узел обслуживания для приема первого пакета, способ дополнительно содержит нижеследующие этапы:
Этап 113: Переключатель запускает таймер перерыва.
Перед этапом 112, на котором переключатель передает второй пакет на первый узел обслуживания, способ дополнительно содержит следующий этап, на котором:
Этап 114: Переключатель определяет, что время действия таймера перерыва не истекло.
Конкретно, когда пакет направляется напрямую способом, описанным на этапах 111-113, устанавливается таймер перерыва. Прежде чем истечет время установки таймера перерыва, пакет, не являющийся головным в первом потоке обслуживания, направляется, выполняя этапы 111 и 112.
После того, как время действия таймера перерыва истечет, пакет может направляться следующим образом.
Первый способ: В момент, когда время действия таймера перерыва истекает, определяется, существует ли в первом потоке обслуживания пакет, который должен быть обработан (который должен быть направлен). Если пакет, который должен быть обработан (должен быть направлен) существует, таймер устанавливается в нулевое состояние и работа таймера перерыва отменяется до тех пор, пока не истечет время действия таймера перерыва, в котором не существует пакет в первом потоке обслуживания.
Второй способ: Для первого пакета после того, как истекает время действия таймера перерыва, узел обслуживания для приема первого пакета определяется способом, описанным на этапе 1093, затем создается новый таймер перерыва и выполняются этапы 114 и 112. Предыдущий таймер перерыва может быть аннулирован.
Представленное выше техническое решение предназначено для реализации следующей цели: Как описано выше, этап 111 и этап 112 обычно выполняются, используя вновь созданный ввод потока, и в приведенном выше решении, в котором используется таймер перерыва, вновь созданный ввод потока может устареть и после того, как пакеты первого потока обслуживания обработаны, вновь созданный поток ввода удаляется, так что количество вводов потока уменьшается и накладные расходы сокращаются.
Основанный на той же самой новаторской концепции, вариант осуществления настоящей заявки дополнительно обеспечивает способ определения маршрута. Продолжая обращаться к фиг. 2А и 2В, способ содержит нижеследующие этапы, на которых:
Этап 201: Классификатор принимает первый пакет первого потока обслуживания.
Этап 202: Классификатор, в соответствии с полем признака, содержащимся в первом пакете, определяет что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания.
Этап 203: Классификатор добавляет первую временную отметку первого пакета и идентификатор первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, и первая временная отметка указывает время создания первого потока обслуживания.
Этап 204: Классификатор передает первый пакет на переключатель.
Конкретно этапы 201-204 могут быть выполнены классификатором в архитектуре цепочки обслуживания. Классификатор конкретно может быть PCEF, шлюзом, TDF и т. п. Фактически, этапы 201-204 могут быть выполнены другим сетевый элементом, имеющим функцию, такую же или сходную, как функция классификатора в архитектуре цепочки обслуживания.
В этом варианте осуществления настоящей заявки классификатор проводит классификацию и идентифицирует потоки обслуживания в соответствии с политикой принятия решений цепочки обслуживания. Политика принятия решений цепочки обслуживания содержит правило идентификации потоков обслуживания и правило генерируют функцией PCRF в архитектуре цепочки обслуживания и получают с помощью классификатора из функции PCRF. Конкретно, это может быть режим PUSH или режим PULL. Режим PUSH означает, что функция PCRF активно проталкивает правило классификации потоков обслуживания, связанных с пользователем, содержащееся в цепочках обслуживания, в классификатор, а режим PULL означает, что после приема потока обслуживания, инициированного пользователем, классификатор вытягивает соответствующую политику принятия решения цепочки обслуживания из функции PCRF.
В описанном выше техническом решении при классификации и идентификации пакетов потоков обслуживания, классификатор добавляет временную отметку к пакету потока обслуживания, чтобы добавить к пакету атрибут времени, с тем, чтобы переключатель мог в разные периоды времени использовать различную политику маршрутизации пакетов. Поэтому, балансирование нагрузки узла обслуживания реализуется гибко и эффективно.
Кроме того, в описанном выше техническом решении в этом варианте осуществления настоящей заявки контроллер и переключатель выполняют принятие решения о цепочке обслуживания для потока обслуживания, распознавание потока обслуживания и разъединение маршрута потока обслуживания и реализацию политики балансирования нагрузки, без обмена служебной сигнализацией с PCRF или классификатором, так что эффективность сети повышается.
Как вариант, в этом случае осуществления настоящей заявки перед этапом 204 способ дополнительно содержит следующий этап.
Этап 205: Классификатор определяет коэффициент балансирования нагрузки первого пакета и добавляет коэффициент балансирования нагрузки в первый пакет.
Конкретно, классификатор может вычислять коэффициент балансирования нагрузки пакета в соответствии с временной отметкой или может сгенерировать коэффициент балансирования нагрузки пакета, соответствующего другой информации, не связанной с временной отметкой. Реализация этого подобна способу 1, способу 2 и способу 3 на этапе 1093 и подробности здесь не повторяются.
Классификатор добавляет в пакет коэффициент балансирования нагрузки, так что рабочая нагрузка на переключатель может быть уменьшена.
Основываясь на той же самой технической концепции, вариант осуществления настоящей заявки дополнительно обеспечивает устройство 300 определения маршрута. Согласно фиг. 5, устройство 300 содержит:
первый приемный модуль 301, выполненный с возможностью: приема первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока; и приема второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока, и второй эффективный период времени отличается от первого эффективного периода времени;
второй приемный модуль 302, выполненный с возможностью приема первого пакета первого потока обслуживания, где первый пакет содержит первую временную отметку первого потока обслуживания и идентификатор первой цепочки обслуживания, причем идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания;
первый модуль 303 определения, выполненный с возможностью определения периода времени, содержащего первую временную отметку из первого эффективного периода времени и второго эффективного периода времени;
второй модуль 304 определения, выполненный с возможностью определения в соответствии со вводом потока, соответствующим определенному периоду времени, узла обслуживания для приема первого пакета; и
передающий модуль 305, выполненный с возможностью передачи первого пакета определенному узлу обслуживания.
Как вариант, в этом случае осуществления настоящей заявки устройство дополнительно содержит:
модуль 306 изменения, выполненный с возможностью: определения, после приема второго ввода потока, предшествует ли время начала второго эффективного периода времени окончанию первого эффективного периода времени; и когда время начала второго эффективного периода времени предшествует времени окончания первого эффективного периода времени, изменения времени окончания первого эффективного периода времени на время начала второго эффективного периода времени.
Как вариант, в этом случае осуществления настоящей заявки период времени, который определяется из первого эффективного периода времени и второго эффективного периода времени и который содержит первую временную отметку, является первым эффективным периодом времени.
Второй модуль 304 определения специально выполнен с возможностью:
определения по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута;
генерирования коэффициента балансирования нагрузки, соответствующего первой временной отметке; и
определения по меньшей мере из двух узлов обслуживания, соответствующих первым долям пропорциональности нагрузки по меньшей мере двух узлов обслуживания, и коэффициента балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Как вариант, в этом случае осуществления настоящей заявки первый пакет дополнительно содержит коэффициент балансирования нагрузки и первым эффективным периодом времени является период времени, который определяется из первого эффективного периода времени и второго эффективного периода времени и который содержит первую временную отметку.
Второй модуль 304 определения специально выполнен с возможностью:
определения по меньшей мере двух узлов обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута; и
определения по меньшей мере из двух узлов обслуживания, соответствующих первым долям пропорциональности нагрузки по меньшей мере двух узлов обслуживания, и коэффициенту балансирования нагрузки, первого узла обслуживания для приема первого пакета.
Как вариант, в этом случае осуществления настоящей заявки первый пакет является головным пакетом первого потока обслуживания.
Второй приемный модуль 302 дополнительно выполнен с возможностью приема второго пакета первого потока обслуживания.
Передающий модуль 305 дополнительно выполнен с возможностью передачи второго пакета первому узлу обслуживания.
Как вариант, в этом случае осуществления настоящей заявки устройство дополнительно содержит:
третий модуль 307 определения, выполненный с возможностью: запуска таймера перерыва после того, как первый узел обслуживания для приема первого пакета определяется по меньшей мере из двух узлов обслуживания; и определения, что время действия таймера перерыва не истекло, перед тем, как второй пакет передается первому узлу обслуживания.
Устройство 300 в этом варианте осуществления и способы, соответствующие фиг. 2А и 2В – фиг. 4, являются двумя подходами, основанными на одной и той же новаторской концепции, и процесс реализации способов подробно описывается ниже. Следовательно, специалисты в данной области техники могут ясно представить структуру и процесс реализации устройства 300 в этом варианте осуществления, соответствующем приведенному выше описанию. Для краткости настоящего описания подробности здесь повторно не описываются.
Основываясь на той же самой новаторской концепции, вариант осуществления настоящей заявки дополнительно обеспечивает устройство 400 определения маршрута. Согласно фиг. 6, устройство 400 содержит:
приемный модуль 401, выполненный с возможностью приема первого пакета первого потока обслуживания;
модуль 402 определения, выполненный с возможностью определения в соответствии с полем признака, содержащимся в пакете, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания;
модуль 403 идентификации, выполненный с возможностью добавления первой временной отметки первого пакета и идентификатора первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания; и
передающий модуль 404, выполненный с возможностью передачи первого пакета на переключатель.
Как вариант, в этом случае осуществления настоящей заявки модуль 403 идентификации дополнительно выполнен с возможностью: определения коэффициента балансирования нагрузки первого пакета и добавления коэффициента балансирования нагрузки в первый пакет.
Устройство 400 в этом варианте осуществления и способы, соответствующие фиг. 2А и 2В – фиг. 4, являются двумя подходами, основанными на одной и той же новаторской концепции, и процесс реализации способов подробно описывается ниже. Следовательно, специалисты в данной области техники могут ясно представить структуру и процесс реализации устройства 400 в этом варианте осуществления, соответствующем приведенному выше описанию. Для краткости настоящего описания подробности здесь повторно не приводятся.
Основываясь на той же самой новаторской концепции, вариант осуществления настоящей заявки дополнительно обеспечивает устройство 500 определения маршрута. Согласно фиг. 7, устройство 500 содержит:
первый модуль 501 получения, выполненный с возможностью получения первой текущей нагрузки каждого узла обслуживания, в первый момент.
первый модуль 502 генерирования, выполненный с возможностью генерирования первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока, и первая пропорциональная доля нагрузки генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания;
передающий модуль 503, выполненный с возможностью передачи первого ввода потока на переключатель;
второй модуль 504 получения, выполненный с возможностью получения второй текущей нагрузки каждого узла обслуживания, существующего во второй момент; и
второй модуль 505 генерирования, выполненный с возможностью генерирования второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока, причем вторая пропорциональная доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания и второй эффективный период времени отличается от первого эффективного периода времени.
Передающий модуль 503 дополнительно выполнен с возможностью передачи второго ввода потока на переключатель.
Устройство 500 в этом варианте осуществления и способы, соответствующие фиг. 2А и 2В – фиг. 4, являются двумя подходами, основанными на одной и той же новаторской концепции, и процесс реализации способов выше описан подробно. Поэтому специалисты в данной области техники могут ясно представить структуру и процесс реализации устройства 500 в этом варианте осуществления, соответствующем приведенному выше описанию. Для краткости настоящего описания подробности здесь повторно не приводятся.
Основываясь на той же самой новаторской концепции, вариант осуществления настоящей заявки дополнительно обеспечивает устройство 600 определения маршрута. Согласно фиг. 8, устройство 600 содержит:
приемник 601, выполненный с возможностью: приема первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока; приема второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока и второй эффективный период времени отличается от первого эффективного периода времени; и приема первого пакета первого потока обслуживания, где первый поток содержит первую временную отметку первого потока обслуживания и идентификатор первой цепочки обслуживания, причем идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания;
процессор 602, выполненный с возможностью: определения периода времени, который содержит временную отметку из первого эффективного периода времени и второй эффективный период времени; и определения в соответствии с вводом потока, соответствующим определенному периоду времени, узла обслуживания для приема первого пакета; и
передатчик 603, выполненный с возможностью передачи первого пакета определенному узлу обслуживания.
Как вариант, в этом случае осуществления настоящей заявки процессор 602 дополнительно выполнен с возможностью: запуска таймера перерыва после того, как первый узел обслуживания для приема первого пакета определяют по меньшей мере из двух узлов обслуживания; и определения, что время действия таймера перерыва не истекло, перед тем, как передатчик передает второй пакет первому узлу обслуживания.
Как вариант, в этом случае осуществления настоящей заявки период времени, который определяется из первого эффективного периода времени и второго эффективного периода времени и который содержит первую временную отметку, является первым эффективным периодом времени.
Упомянутый процессор 602, выполненный с возможностью определения в соответствии с первым вводом потока узла обслуживания для приема первого пакета, содержит выполнение этапов, на которых :
определяют по меньшей мере два узла обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута;
генерируют коэффициент балансирования нагрузки, соответствующий первой временной отметке; и
определяют первый узел обслуживания для приема первого пакета по меньшей мере из двух узлов обслуживания, соответствующих первым долям пропорциональности нагрузки по меньшей мере двух узлов обслуживания, и коэффициента балансирования нагрузки.
Как вариант, в этом случае осуществления настоящей заявки первый пакет дополнительно содержит коэффициент балансирования нагрузки и первым эффективным периодом времени является период времени, который определяется, исходя из первого эффективного периода времени и второго эффективного периода времени, и который содержит первую временную отметку.
То есть, процессор 602, выполненный с возможностью определения в соответствии с первым вводом потока узла обслуживания для приема первого пакета, содержит выполнение этапов, на которых :
определяют по меньшей мере два узла обслуживания, соответствующих входному узлу первого пакета и первому соотношению отображения маршрута; и
определяют по меньшей мере из двух узлов обслуживания, соответствующих первым пропорциональным долям нагрузки по меньшей мере двух узлов обслуживания и коэффициенту балансирования нагрузки, первый узел обслуживания для приема первого пакета.
Как вариант, в этом случае осуществления настоящей заявки первый пакет является головным пакетом первого потока обслуживания.
Приемник 601 выполнен с возможностью приема второго пакета первого потока обслуживания.
Передатчик дополнительно выполнен с возможностью передачи второго пакета первому узлу обслуживания.
Как вариант, в этом случае осуществления настоящей заявки процессор 602 дополнительно выполнен с возможностью: запуска таймера перерыва после того, как первый узел обслуживания для приема первого пакета определяют по меньшей мере из двух узлов обслуживания; и определения перед тем, как второй пакет будут передан первому узлу обслуживания, что время действия таймера перерыва не истекло.
Как вариант, в этом случае осуществления настоящей заявки устройство 600 дополнительно содержит память 604, выполненную с возможностью хранения принятого пакета и вводов потока.
Устройство 600 в этом варианте осуществления и способы, соответствующие фиг. 2А и 2В – фиг. 4, являются двумя подходами, основанными на одной и той же новаторской концепции, и процесс реализации способов выше описан подробно. Следовательно, специалисты в данной области техники могут ясно представить структуру и процесс реализации устройства 600 в этом варианте осуществления, соответствующем приведенному выше описанию. Для краткости настоящего описания подробности здесь повторно не приводятся.
Основанный на той же самой новаторской концепции, вариант осуществления настоящей заявки дополнительно обеспечивает устройство определения маршрута и упомянутое устройство содержит:
приемник, выполненный с возможностью приема первого пакета первого потока обслуживания;
процессор, выполненный с возможностью: определения в соответствии с полем признака, содержащимся в первом пакете, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания; и добавления первой временной отметки первого пакета и идентификатора первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания; и
передатчик, выполненный с возможностью передачи первого пакета на переключатель.
Как вариант, в этом случае осуществления настоящей заявки процессор дополнительно выполнен с возможностью: определения коэффициента балансирования нагрузки первого пакета и добавления коэффициента балансирования нагрузки в первый пакет.
Как вариант, в этом случае осуществления настоящей заявки устройство дополнительно содержит память 604, выполненную с возможностью хранения принятого пакета.
Устройство 600 в этом варианте осуществления и способы, соответствующие фиг. 2А и 2В – фиг. 4, являются двумя подходами, основанными на одной и той же новаторской концепции, и процесс реализации способов выше описан подробно. Следовательно, специалисты в данной области техники могут ясно представить структуру и процесс реализации устройства 600 в этом варианте осуществления, соответствующем приведенному выше описанию. Для краткости настоящего описания подробности здесь не повторяются.
Основанный на той же самой новаторской концепции, вариант осуществления настоящей заявки дополнительно обеспечивает устройство определения маршрута и упомянутое устройство содержит:
приемник, выполненный с возможностью получения первой текущей нагрузки каждого узла обслуживания, существующего в первый момент;
процессор, выполненный с возможностью генерирования первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута для потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки для каждого узла обслуживания и первый эффективный период времени первого ввода потока, и первая пропорциональная доля нагрузки генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания; и
передатчик, выполненный с возможностью передачи первого ввода потока на переключатель.
Приемник дополнительно выполнен с возможностью получения второй текущей нагрузки каждого узла обслуживания, существующего во второй момент.
Процессор дополнительно выполнен с возможностью генерирования второго ввода потока, где второй ввод потока содержит второе соотношение отображения маршрута для пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки пакета для каждого узла обслуживания и второй эффективный период времени второго ввода потока, причем вторая пропорциональная доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания и второй эффективный период времени отличается от первого эффективного периода времени.
Передатчик дополнительно выполнен с возможностью передачи второго ввода потока на переключатель.
Как вариант, в этом случае осуществления настоящей заявки устройство дополнительно содержит память, выполненную с возможностью хранения принятой информации о нагрузке пакета обслуживания и сформированных вводов потока.
Устройство в этом варианте осуществления и способы, соответствующие фиг. 2А и 2В–фиг. 4, являются двумя подходами, основанными на одной и той же новаторской концепции, и процесс реализации способов выше описан подробно. Следовательно, специалисты в данной области техники могут ясно представить структуру и процесс реализации устройства в этом варианте осуществления, соответствующем приведенному выше описанию. Для краткости настоящего описания подробности здесь повторно не приводятся.
Следует заметить, что процессор может быть одной процессорной микросхемой или являться обобщенным определением множества процессорных элементов. Например, процессор может быть центральным процессором (на английском: Central Processing Unit, сокращенно, CPU) или может быть специализированной прикладной интегральной схемой (на английском: Application Specific Intergrated Circuit, сокращенно, ASIC) или может быть одной или более интегральными схемами, выполненными с возможностью реализации настоящего варианта осуществления представленного изобретения, например, одним или более микропроцессорами (на английском: digital singnal processor, сокращенно, DSP) или одной или более программируемыми интегральными схемами (на английском: Field Programmable Gate Array, сокращенно, FPGA).
Кроме того, приемник и передатчик могут быть интегрированы друг с другом.
Основанный на той же самой новаторской концепции, вариант осуществления настоящей заявки дополнительно обеспечивает систему определения маршрута. Как показано на фиг. 9, система содержит:
контроллер 701, выполненный с возможностью: получения первой текущей нагрузки каждого узла обслуживания, существующего в первый момент; генерирования первого ввода потока, где первый ввод потока содержит первое соотношение отображения маршрута потока обслуживания первой цепочки обслуживания, первую пропорциональную долю нагрузки каждого узла обслуживания и первый эффективный период времени первого ввода потока и первая пропорциональная доля потока генерируется в соответствии с первой текущей нагрузкой каждого узла обслуживания, существующего во второй момент; генерируют второй ввод потока, где второй ввод потока содержит второе соотношение отображения маршрута пакета первого типа потока обслуживания, вторую пропорциональную долю нагрузки каждого узла обслуживания и второй эффективный период времени второго ввода потока и вторая пропорциональная доля нагрузки генерируется в соответствии со второй текущей нагрузкой каждого узла обслуживания; и передают второй ввод потока на переключатель, где второй эффективный период времени отличается от первого эффективного периода времени;
классификатор 702, выполненный с возможностью: приема первого пакета первого потока обслуживания; определения в соответствии с полем признака, содержащимся в первом пакете, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания; добавления первой временной отметки первого пакета и идентификатора первой цепочки обслуживания в первый пакет, где идентификатор первой цепочки обслуживания указывает, что первый поток обслуживания является потоком обслуживания первой цепочки обслуживания, а первая временная отметка указывает время создания первого потока обслуживания; передачи первого пакета на переключатель; и
переключатель 703, выполненный с возможностью: приема первого ввода потока; приема второго ввода потока; приема первого пакета первого потока обслуживания; определения периода времени, содержащего первую временную отметку из первого эффективного периода времени и второго эффективного периода времени; определения в соответствии с вводом потока, соответствующим определенному периоду времени, узла обслуживания для приема первого пакета; и передачи первого пакета определенному узлу обслуживания.
Как вариант, в этом случае осуществления настоящей заявки процессор 703 дополнительно выполнен с возможностью: после приема второго ввода потока,
определения, предшествует ли время начала второго эффективного периода времени окончанию первого эффективного периода времени; и
если время начала второго эффективного периода времени предшествует времени окончания первого эффективного периода времени, изменяют время окончания первого эффективного периода времени на время начала второго эффективного периода времени.
Как вариант, в этом варианте осуществления настоящей заявки первый пакет является головным пакетом первого потока обслуживания.
Переключатель 703 дополнительно выполнен с возможностью: приема второго пакета первого потока обслуживания; и передачи второго пакета первому узлу обслуживания.
Система в этом варианте осуществления и способы, соответствующие фиг. 2А и 2В – фиг. 4, являются двумя подходами, основанными на одной и той же новаторской концепции, и процесс реализации способов выше описан подробно. Следовательно, специалисты в данной области техники могут ясно представить структуру и процесс реализации системы в этом варианте осуществления, соответствующем приведенному выше описанию.
Для краткости настоящего описания подробности здесь повторно не приводятся.
Одно или более технических решений, представленных в вариантах осуществления настоящей заявки, обладают, по меньшей мере, следующими техническими результатами и преимуществами: в вариантах осуществления настоящей заявки переключатель принимает первый ввод потока и второй ввод потока и в соответствии с временной отметкой, содержащейся в первом пакете, определяет, использовать ли первый ввод потока или второй ввод потока для определения маршрута первого пакета. Поэтому, когда генерируется новый ввод потока, поскольку состояние нагрузки узла обслуживания меняется, переключатель может немедленно использовать новый ввод потока для продвижения пакета вновь созданного потока обслуживания и продолжать продвигать пакет ранее созданного потока обслуживания, основываясь на предшествующем вводе потока. В отличие от предшествующего уровня техники, где пакет продвигается в соответствии с новым вводом потока только после того, как обработан существующий пакет, в решении, представленном в этих вариантах осуществления настоящей заявки, переключатель может регулировать политику маршрутизации синхронным способом и реализовывать балансирование нагрузки более гибко и быстро. Кроме того, в решении, представленном в этих вариантах осуществления настоящей заявки, ввод потока генерируется для одного и того же типа потоков обслуживания вместо каждого потока обслуживания. Поэтому существуют несколько вводов потока, непроизводительные системные потери относительно низкие и эффективность является относительно высокой.
Специалисты в данной области техники должны понимать, что варианты осуществления настоящего изобретения могут быть представлены как способ, система или компьютерный программный продукт. Поэтому настоящее изобретение может использовать варианты осуществления только в форме аппаратного обеспечения, варианты осуществления только в форме программного обеспечения или варианты обеспечения, сочетающие программное обеспечение и аппаратное обеспечение. Кроме того, настоящее изобретение может использовать форму компьютерного программного продукта, который реализуется на одном или более используемых компьютером носителях данных (в том числе, но не ограничиваясь только этим, память на дисках, CD-ROM, оптическая память и т. п.), содержащие используемую компьютером управляющую программу.
Настоящее изобретение описывается со ссылкой на блок-схемы последовательности выполнения операций и/или блок-схемы способа, устройства (системы) и на компьютерный программный продукт, соответствующие вариантам осуществления настоящей заявки. Следует понимать, что команды компьютерной программы могут использоваться для реализации каждого процесса и/или каждого этапа на блок-схемах последовательности выполнения операций или сочетания процесса и/или этапа на блок-схемах последовательности выполнения операций и/или блок-схемах. Эти команды компьютерной программы могут быть предоставлены для универсального компьютера, специализированного компьютера, встроенного компьютера или процессора любого другого программируемого устройства обработки данных, чтобы сформировать машину, с тем, чтобы команды, исполняемые компьютером или процессором любого другого программируемого устройства обработки данных, обрабатывали устройство для реализации конкретной функции в одном или более процессах, представленных на блок-схемах последовательности выполнения операций и/или на одном или более этапах блок-схем.
Эти команды компьютерной программы могут храниться в считываемой компьютером памяти, которая может подавать на компьютер или на любое другое программируемое устройство обработки данных команды для работы определенным образом, так чтобы команды, хранящиеся в считываемой компьютером памяти сгенерировали структуру, содержащую командное устройство. Командное устройство реализует конкретную функцию посредством одного или более процессов, показанных на блок-схемах последовательности выполнения операций, и/или на одном или более этапах блок-схемы.
Хотя здесь были описаны некоторые предпочтительные варианты осуществления настоящего изобретения, специалисты в данной области техники могут вносить изменения и проводить модификации в этих вариантах осуществления при условии, что они изучили базовую новаторскую концепцию. Поэтому нижеследующая формула изобретения предназначена истолковываться так, чтобы охватывать предпочтительные варианты осуществления, попадающие в рамки объема настоящего изобретения.
Очевидно, что специалисты в данной области техники могут вносить в настоящее изобретение различные модификации и вариации, не отступая от сущности и объема настоящего изобретения. Настоящее изобретение предназначено охватывать такие модификации и вариации при условии, что они попадают в рамки объема защиты, определяемые нижеследующей формулой изобретения или ее эквивалентными технологиями.