СПОСОБЫ ДВУНАПРАВЛЕННОГО ОБМЕНА ПАКЕТАМИ ПО УЗЛОВЫМ ПУТЯМ

1. Узловая система, содержащая:
процессор;
память;
причем узловая система выполнена с возможностью реализации способа связи по узловым ретрансляторам, содержащего:
a) получение описания записи потока, содержащей адрес в потоке и закрытый ключ;
b) сохранение записи потока и закрытого ключа в базе данных, индексированной по идентификатору потока;
c) получение пакета, причем пакет содержит код аутентификации и данные пакета, содержащие информацию о последовательности пакетов и идентификатор потока;
d) осуществление поиска в базе данных записи потока, соответствующей идентификатору потока пакета; и
e) игнорирование пакета или перенаправление пакета на адрес в потоке, в зависимости от результата поиска.
2. Система по п. 1, в которой этап е) включает игнорирование пакета в случае отсутствия записи потока.
3. Система по п. 1, в которой осуществление поиска в базе данных на этапе d) также включает проверку того факта, что код аутентификации пакета указывает на то, что данные пакета подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока в базе данных.
4. Система по п. 3, в которой этап е) включает игнорирование пакета в случае, если данные пакета не подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока.
5. Система по п. 3, в которой этап е) также включает проверку порядкового номера пакета относительно буфера защиты от повтора для пакетов, полученных от следующего узла, в случае, если данные пакета подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока в базе данных, и, если пакет уже был получен или является старым, также включает игнорирование пакета.
6. Система по п. 5, в которой этап е) также включает перенаправление пакета без модификации на предыдущий узел и/или следующий узел в потоке в случае, если данные пакета подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока в базе данных, и если пакет еще не был получен и пакет не является старым.
7. Система по п. 6, также включающая обновление временной метки в записи потока последнего полученного пакета до текущей временной метки.
8. Система по п. 6, в которой пакет принимают от предыдущего узла, и система перенаправляет пакет без модификации на следующий узел.
9. Система по п. 6, в которой пакет принимают от следующего узла, и система перенаправляет пакет без модификации на предыдущий узел.
10. Система по п. 6, также включающая f) удаление записи потока из базы данных в случае, если пакеты с идентификатором потока, соответствующим записи потока, не получены в течение заданного промежутка времени от предыдущего узла и/или следующего узла, и прекращение перенаправления пакетов с идентификатором потока, соответствующим удаленной записи потока.
11. Система по п. 1, в которой база данных также индексирована по версии потока.
12. Система по п. 1, в которой пакет содержит версию потока.
13. Система по п. 11, в которой осуществление поиска в базе данных включает поиск с использованием версии потока в пакете.
14. Способ по п. 1, в котором этап а) включает получение описания записи потока от главного сервера.
15. Способ по п. 1, в котором этап а) включает получение описания записи потока в пакете от другого узла, содержащей один или более потоковых маркеров, причем каждый потоковый маркер содержит идентификатор потока, версию потока, информацию об адресах и портах одного или более других узлов в потоке и закрытый ключ потока.
16. Способ по п. 15, в котором пакет от другого узла содержит временную метку истечения, IP-адрес и порт предыдущего узла, IP-адрес и порт следующего узла.
17. Способ по п. 15, также включающий попытку расшифровки первого потокового маркера в пакете от другого узла посредством закрытого ключа узла и открытого ключа главного сервера; и
модифицирование пакета путем удаления первого потокового маркера и перенаправления полученного измененного пакета на IP-адрес и порт следующего узла в первом потоковом маркере в случае успешной попытки расшифровки первого потокового маркера.
18. Энергонезависимый машиночитаемый носитель, содержащий реализованные в нем машиночитаемые команды, причем машиночитаемые команды выполнены с возможностью реализации способа связи по узловым ретрансляторам при выполнении способа связи по узловым ретрансляторам, содержащего:
a) получение описания записи потока, содержащей адрес в потоке и закрытый ключ;
b) сохранение записи потока и закрытого ключа в базе данных, индексированной по идентификатору потока;
c) получение пакета, причем пакет содержит код аутентификации и данные пакета, содержащие последовательность пакетов и идентификатор потока;
d) осуществление поиска в базе данных записи потока, соответствующей идентификатору потока пакета; и
e) игнорирование пакета или перенаправление пакета на адрес в потоке в зависимости от результата поиска.
19. Энергонезависимый машиночитаемый носитель по п. 18, в котором этап е) включает игнорирование пакета в случае отсутствия записи потока.
20. Энергонезависимый машиночитаемый носитель по п. 18, в котором осуществление поиска в базе данных на этапе d) также включает проверку того факта, что код аутентификации пакета указывает на то, что данные пакета (порядковый номер, идентификатор потока, версия потока) подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока в базе данных.
21. Энергонезависимый машиночитаемый носитель по п. 20, в котором этап е) включает игнорирование пакета в случае, если данные пакета не подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока.
22. Энергонезависимый машиночитаемый носитель по п. 20, в котором этап е) также включает проверку порядкового номера пакета относительно буфера защиты от повтора для пакетов, полученных от следующего узла, в случае, если данные пакета подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока в базе данных, и, если пакет уже был получен или является старым, также включает игнорирование пакета.
23. Энергонезависимый машиночитаемый носитель по п. 22, в котором этап е) также включает перенаправление пакета без модификации на предыдущий узел и/или следующий узел в случае, если данные пакета подписаны закрытым ключом потока, соответствующим закрытому ключу в записи потока в базе данных, и если пакет еще не был получен и пакет не является старым.
24. Энергонезависимый машиночитаемый носитель по п. 23, также включающий обновление временной метки в записи потока последнего полученного пакета до текущей временной метки.
25. Энергонезависимый машиночитаемый носитель по п. 23, в котором пакет принимают от предыдущего узла, и система перенаправляет пакет без модификации на следующий узел.
26. Энергонезависимый машиночитаемый носитель по п. 23, в котором пакет принимают от следующего узла, и система перенаправляет пакет без модификации на предыдущий узел.
27. Энергонезависимый машиночитаемый носитель по п. 23, также включающий f) удаление записи потока из базы данных в случае, если пакеты с идентификатором потока, соответствующим записи потока, не получены в течение заданного промежутка времени от предыдущего узла и/или следующего узла, и прекращение перенаправления пакетов с идентификатором потока, соответствующим удаленной записи потока.
28. Энергонезависимый машиночитаемый носитель по п. 18, в котором база данных также индексирована по версии потока.
29. Энергонезависимый машиночитаемый носитель по п. 18, в котором пакет содержит версию потока.
30. Энергонезависимый машиночитаемый носитель по п. 29, в котором осуществление поиска в базе данных включает поиск с использованием версии потока в пакете.
31. Энергонезависимый машиночитаемый носитель по п. 18, в котором этап а) также включает получение описания записи потока от главного сервера.
32. Энергонезависимый машиночитаемый носитель по п. 18, в котором этап а) включает получение описания записи потока в пакете от другого узла, содержащей один или более потоковых маркеров, причем каждый потоковый маркер содержит идентификатор потока, версию потока, информацию об адресах и портах одного или более других узлов в потоке и закрытый ключ потока.
33. Энергонезависимый машиночитаемый носитель по п. 32, в котором пакет от другого узла содержит временную метку истечения, IP-адрес и порт предыдущего узла, IP-адрес и порт следующего узла.
34. Энергонезависимый машиночитаемый носитель по п. 32, также включающий попытку расшифровки первого потокового маркера в пакете от другого узла посредством закрытого ключа узла и открытого ключа главного сервера; и
модифицирование пакета путем удаления первого потокового маркера и перенаправления полученного измененного пакета на IP-адрес и порт следующего узла в первом потоковом маркере в случае успешной попытки расшифровки первого потокового маркера.
35. Система главного сервера, содержащая:
процессор;
память;
причем система главного сервера выполнена с возможностью реализации способа связи по узловым ретрансляторам, включающего:
a) получение информации об узлах от узлов в сети;
b) определение одного или более потоковых маршрутов между начальным и конечным узлом из информации об узлах, причем потоковый маршрут включает один или более узлов в сети;
c) отправление информации о потоковом маршруте на один или более узлов, причем информация о потоковом маршруте содержит один или более потоковых маркеров, соответствующих каждому узлу из одного или более узлов на потоковом маршруте, и потоковый маркер для сервера, причем каждый потоковый маркер содержит идентификатор потока, версию потока, временную метку истечения, закрытый ключ потока, и IP-адреса и порты следующего и/или предыдущего узла.
36. Система сервера-матчмейкера, содержащая:
процессор;
память;
причем система сервера-матчмейкера выполнена с возможностью реализации способа связи по узловым ретрансляторам, включающего:
a) получение запроса от клиента на установку связи с одним или более серверами;
b) осуществление запроса одного или более потоковых маршрутов между клиентом и одним или более серверами от главного сервера;
с) получение информации о потоковом маршруте для одного или более потоковых маршрутов между клиентом и одним или более серверами от главного сервера, причем информация о потоковом маршруте содержит потоковый маркер для клиента, один или более потоковых маркеров, соответствующих каждому узлу из одного или более узлов на потоковом маршруте, и потоковый маркер для сервера, причем каждый потоковый маркер содержит идентификатор потока, версию потока, временную метку истечения, закрытый ключ потока, IP-адреса и порты следующего и/или предыдущего узла.