RU2387002C2

Levelling network load through connection control

Abstract

FIELD: information technology. SUBSTANCE: network load levelling module has connection transfer unit which can transfer connections from the said module, where the connection transfer unit can compile the protocol status for connection over a network stack; the connection transfer unit can aggregate the compiled protocol status with data for connection to the aggregated connection status for connection; the connection transfer unit can also initiate sending the aggregated connection status to a host; and a classifier which can accept a connection and give out a connection transfer instruction to the connection transfer unit. An information carrier contains instructions executed by a processor, which order the said module to carry out operations which include: reception from the packet of at least part of the source/destination pair; accessing the encapsulation mapping table using at least part of the source/destination pair and replacing part of the packet with a stream identifier in order to create an encapsulated packet. EFFECT: higher quality of load levelling. 40 cl, 45 dwg

Term

Term ended

Expired 7 June 2024, 2.3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

40 claims: 4 independent, 36 dependent

  1. 1
    Способ выравнивания сетевой нагрузки, содержащий этапы, на которых:принимают в модуле (106) выравнивания нагрузки соединение с клиентом (102(1), (102(2)…(102(m)) путем отправки подтверждения клиенту в ответ на прием от клиента запроса на установление соединения;агрегируют (3418) в модуле выравнивания нагрузки состояние соединения, созданное для соединения с клиентом в сетевом стеке (3404) в модуле выравнивания нагрузки;отправляют из модуля выравнивания нагрузки в хост (108(1), (108(2)…(108(n)) состояние соединения, относящееся к соединению с клиентом;принимают из модуля выравнивания нагрузки в хосте состояние соединения, относящееся к соединению с клиентом;вставляют (3502) состояние соединения, относящееся к соединению с клиентом, в сетевой стек (3404) хоста;и продолжают в хосте соединение с клиентом с использованием состояния соединения, вставленного в сетевой стек хоста.
  2. 2
    Способ по п.1, в котором этап принятия соединения содержит этап, на котором:отправляют пакет подтверждения клиенту в ответ на пакет запроса соединения.
  3. 3
    Способ по п.1, дополнительно содержащий этап, на котором:принимают данные относительно соединения в модуле (106) выравнивания нагрузки;причем этап агрегирования состояния соединения содержит этап, на котором: агрегируют состояние соединения из состояния протокола сетевого стека (3404) и упомянутых данных.
  4. 4
    Способ по п.1, в котором этап агрегирования состояния соединения содержит этап, на котором:компилируют состояние протокола из сетевого стека (3404).
  5. 5
    Способ по п.4, в котором этап компилирования содержит этап, на котором:компилируют состояние протокола из сетевого стека (3404), начиная с наивысшего уровня сетевого стека.
  6. 6
    Способ по п.4, в котором этап компилирования содержит этап, на котором:компилируют состояние протокола из сетевого стека (3404) на части стека протокола управления передачей (TCP) и части стека Интернет-протокола (IP).
  7. 7
    Способ по п.1, в котором этап передачи содержит этапы, на которых:пакетируют состояние соединения с идентификатором потока, который соответствует соединению, для создания двоичного блоба (3422);и отправляют двоичный блоб от клиента (102(1), (102(2)…(102(m)) в хост (108(1), (108(2)…(108(n)).
  8. 8
    Способ по п.1, в котором этап отправки содержит этапы, на которых:пакетируют состояние соединения с идентификатором (3814) потока, который соответствует соединению, для создания двоичного блоба (3422);и отправляют двоичный блоб от клиента (102(1), (102(2)…(102(m)) в хост (108(1), (108(2)…(108(n)) надежным способом так, что хост может принять двоичный блоб в первозданном виде, даже если один или несколько пакетов, составляющих двоичный блоб, потеряны или повреждены.
  9. 9
    Способ по п.1, дополнительно содержащий этапы, на которых:выбирают идентификатор (3814) потока для соединения в соответствии со счетчиком соединений, и отправляют идентификатор потока для идентификации пакетов, соответствующих соединению, в хост (108(1), (108(2)…(108(n)).
  10. 10
    Способ по п.1, в котором этап отправки дополнительно содержит этап, на котором:отправляют состояние соединения в хост (108(1), (108(2)…(108(n));причем способ дополнительно содержит этап, на котором: пересылают последующие пакеты для соединения в хост с использованием идентификатора потока (3814) для инкапсуляции последующих пакетов.
  11. 11
    Способ по п.1, в котором этап продолжения дополнительно содержит этап, на котором:продолжают соединение путем указания полученных пакетов приложению в соответствии со вставленным состоянием соединения.
  12. 12
    Способ по п.1, в котором:этап приема содержит этап, на котором: принимают состояние соединения, причем состояние соединения имеет состояние протокола и данные для соединения;и этап вставки содержит этап, на котором: вставляют состояние протокола в часть стека протоколов сетевого стека (3404).
  13. 13
    Способ по п.12, в котором этап вставки состояния соединения дополнительно содержит этап, на котором:указывают данные для соединения через сетевой стек (3404) к приложению.
  14. 14
    Способ по п.1, в котором этап вставки содержит этап, на котором:внедряют состояние протокола из состояния соединения в часть стека протоколов сетевого стека (3404).
  15. 15
    Способ по п.14, в котором этап внедрения содержит этап, на котором:внедряют состояние протокола в сетевой стек, начиная с наивысшего уровня сетевого стека (3404).
  16. 16
    Способ по п.14, в котором этап внедрения содержит этап, на котором:внедряют состояние протокола в сетевой стек (3404) на части стека протокола управления передачей (TCP) и части стека Интернет-протокола (IP).
  17. 17
    Способ по п.8, в котором этап приема содержит этапы, на которых:принимают двоичный блоб (3422) из модуля (106) выравнивания нагрузки в хосте (108(1), (108(2)…(108(n));и депакетируют состояние соединения и идентификатор (3814) потока на уровне сетевого стека (3404), который ниже части стека протоколов сетевого стека.
  18. 18
    Способ по п.1, причем способ содержит этапы, на которых:принимают отображение инкапсуляции в хосте;и сохраняют принятое отображение инкапсуляции в таблице (3806, 3810) отображения инкапсуляции, доступ к которой возможен по идентификатору (3814) потока в хосте.
  19. 19
    Способ по п.1, причем способ дополнительно содержит этапы, на которых:принимают от модуля выравнивания нагрузки инкапсулированные пакеты, имеющие идентификатор (3814) потока;и декапсулируют инкапсулированные пакеты с использованием элемента (3806(1), 3810(1)) отображения инкапсуляции, который привязывает идентификатор (3814) потока к паре источник/пункт назначения.
  20. 20
    Доступный процессору носитель информации, содержащий команды, которые при выполнении компьютером побуждают компьютер выполнять способ по любому из предшествующих пунктов.
  21. 21
    Модуль (106) выравнивания сетевой нагрузки, содержащий:блок (310) переноса соединений, выполненный с возможностью переноса соединений от упомянутого модуля, причем блок переноса соединений способен обеспечивать компиляцию состояния протокола для соединения по сетевому стеку (3404);блок переноса соединений выполнен с возможностью агрегировать компилированное состояние протокола с данными для соединения в агрегированное состояние соединения для соединения;блок переноса соединений дополнительно выполнен с возможностью инициировать отправку агрегированного состояния соединения в хост (108(1), (108(2)…(108(n));и классификатор (304), способный принимать соединение, причем классификатор выполнен с возможностью выдавать команду переноса соединения на блок (310) переноса соединений.
  22. 22
    Модуль (106) по п.21, в котором блок (310) переноса соединений осуществлен по меньшей мере частично в виде программного обеспечения.
  23. 23
    Модуль (106) по п.21, в котором данные, которые агрегируют с компилированным состоянием протокола в агрегированное состояние соединения, содержат данные, квитированные классификатором (304).
  24. 24
    Модуль (106) по п.21, в котором блок (310) переноса соединений содержит:«прокладку» (3412) блока переноса, которая размещена выше стека (3404) протоколов в сетевом стеке модуля (106);и промежуточный драйвер (3414) блока переноса, который размещен ниже стека протоколов в сетевом стеке (3404) модуля (106).
  25. 25
    Модуль (106) по п.24, в котором:«прокладка» (3412) блока переноса размещена между стеком (3404) протоколов и уровнем (3402) сокетов сетевого стека модуля (106);и промежуточный драйвер (3414) блока переноса размещен между стеком (3404) протоколов и, по меньшей мере, одним минипортом (3408) сетевого стека (3404) модуля (106).
  26. 26
    Модуль (106) по п.25, в котором промежуточный драйвер (3414) блока переноса размещен на уровне протокольно-аппаратного интерфейса сетевого стека (3404) модуля (106).
  27. 27
    Модуль (106) по п.24, в котором:«прокладка» (3412) блока переноса выполнена с возможностью принимать команду переноса соединения и распространять команду переноса соединения на стек (3404) протоколов, и промежуточный драйвер (3414) блока переноса приспособлен отводить копию данных для соединения для последующего агрегирования с компилированным состоянием протокола.
  28. 28
    Модуль (106) по п.24, в котором промежуточный драйвер (3414) блока переноса выполнен с возможностью пакетировать агрегированное состояние соединения и идентификатор (3814) потока для соединения в большой двоичный объект (двоичный блоб) (3422), представляющий состояние соединения.
  29. 29
    Модуль (106) по п.21, в котором соединение содержит соединение по протоколу управления передачей/Интернет-протоколу (TCP/IP), и компилированное состояние протокола включает в себя информацию, относящуюся к соединению TCP/IP.
  30. 30
    Модуль (106) по п.21, причем модуль дополнительно содержит:стек протоколов, причем стек протоколов выполнен с возможностью компилировать состояние протокола для соединения в компилированное состояние протокола в соответствии с командой переноса соединения.
  31. 31
    Хост (108(1)), выполненный с возможностью устанавливать и продолжать соединение с клиентом, используя состояние соединения, вставленное в сетевой стек хоста, причем хост содержит:блок переноса соединений, выполненный с возможностью переноса соединений на хост;причем блок переноса соединений выполнен с возможностью перехватывать состояние соединения для соединения, отправленное из модуля (106) выравнивания нагрузки, причем состояние соединения включает в себя состояние протокола и данные;блок переноса соединений дополнительно выполнен с возможностью вставлять состояние соединения в сетевой стек упомянутого модуля;блок переноса соединений способен обеспечивать внедрение состояния протокола для соединения по стеку протоколов сетевого стека (3404) и продолжать соединение с использованием вставленного состояния соединения.
  32. 32
    Хост (108(1)) по п.31, в котором блок (310) переноса соединений составляет по меньшей мере часть инфраструктуры (106) выравнивания нагрузки, размещенной и выполняющейся на устройстве.
  33. 33
    Хост (108(1)) по п.31, причем хост дополнительно содержит:приложение, сохраненное на хосте, причем блок (310) переноса соединений дополнительно выполнен с возможностью переноса соединений на хост, осуществляемого способом, прозрачным для приложения.
  34. 34
    Хост (108(1)) по п.31, в котором данные, включенные в состояние соединения, содержат данные, квитированные в модуле (106) выравнивания нагрузки.
  35. 35
    Хост (108(1)) по п.31, в котором блок (310) переноса соединений содержит:«прокладку» (3412) блока переноса, которая размещена выше стека (3404) протоколов в сетевом стеке хоста (108(1));и промежуточный драйвер (3414) блока переноса, который размещен ниже стека (3404) протоколов в сетевом стеке хоста.
  36. 36
    Хост (108(1)) по п.35, в котором:«прокладка» (3412) блока переноса размещена между стеком (3404) протоколов и уровнем (3402) сокетов сетевого стека хоста (108(1));и промежуточный драйвер (3414) блока переноса размещен между стеком (3404) протоколов и по меньшей мере одним минипортом (3408) сетевого стека хоста (108(1)).
  37. 37
    Хост (108(1)) по п.35, в котором:«прокладка» (3412) блока переноса выполнена с возможностью получать извещения от промежуточного драйвера (3414) блока переноса о процедуре загрузки переноса и выполнена с возможностью инициировать процедуру внедрения состояния протокола со стеком протокола;и промежуточный драйвер (3414) блока переноса выполнен с возможностью обнаруживать поступление состояния соединения для соединения, отводить состояние соединения от нижней части стека (3404) протоколов и извещать «прокладку» (3412) блока переноса о процедуре загрузки переноса.
  38. 38
    Хост (108(1)) по п.35, в котором промежуточный драйвер (3414) блока переноса приспособлен депакетировать принятый большой двоичный объект (двоичный блоб) (3422), представляющий состояние соединения, который содержит состояние соединения для соединения и идентификатор (3814) потока, соответствующий соединению.
  39. 39
    Хост (108(1)) по п.31, причем хост дополнительно содержит:стек (3404) протоколов, причем стек протоколов включает в себя уровень протокола управления передачей (TCP) и уровень Интернет-протокола (IP).
  40. 40
    Хост (108(1)) по п.31, причем хост дополнительно содержит:стек (3404) протоколов, причем стек протоколов выполнен с возможностью внедрять состояние протокола для соединения по стеку протоколов в соответствии с началом процедуры внедрения состояния протокола.
Independent claims40