СИСТЕМА МУЛЬТИМЕДИЙНОГО ИНТЕРАКТИВНОГО ВЗАИМОДЕЙСТВИЯ

Область техники
Настоящая полезная модель относится к области компьютерных сетей, а более конкретно, к сетям передачи и обработки данных.
Уровень техники
В настоящее время широко известны системы, предназначенные для передачи и приема различных данных, таких как речь, аудио, изображения, видео, текст и т.п.
В общем случае такие системы, производящие обработку указанных типов данных, называются системами мультимедиа, а указанные данные - контент мультимедиа.
Общеизвестная сеть Интернет позволяет обеспечить связь между пользователями, находящимися на значительном удалении друг от друга. При этом пользователи имеют возможность обмениваться контекстом мультимедиа по сети.
Можно представить множество ситуаций, в которых такое общение пользователей по Интернет, в зависимости от решаемых задач, может являться единственно возможным средством коммуникации. В частности, такими задачами могут быть оказание репетиторских услуг, консультаций, проведение презентаций и т.п. При этом одной лишь взаимной передачи звука и изображения для эффективного решения указанных в качестве примера задач может быть недостаточно.
Необходимо также обеспечить интерактивное взаимодействие пользователей с контекстом. Под таким взаимодействием в рамках настоящей заявки подразумевается: сохранение и разделение текстовых записей («интерактивный блокнот»); обеспечение совместного доступа к документам основных форматов (PDF, РРТ, DOC, XLS и др.) для совместного просмотра и, возможно, правки; совместное построение и редактирование диаграмм, схем, проектов, визуальных планов и т.п.
Под разделением понимается одновременный доступ к ресурсу (контенту) с поддержанием ощущения локальной правки документа с одновременным поддержанием синхронизации изменений между всеми участниками взаимодействия.
Важно отметить, что на сегодняшний день основные разработчики мультимедийных приложений (AdobeFlash, Microsoft Silver-light) отказались от дальнейшего развития соответствующих продуктов в пользу международного стандарта разметки HTML5, поэтому, учитывая такую тенденцию, необходимо обеспечить осуществление указанных выше типов взаимодействия для устройств, которые совместимы с HTML5.
Кроме того, стандарт HTML5 будет поддерживаться мобильными устройствами с разными операционными системами (Android, WindowsPhone, iOS) без необходимости разработки и установки специфических версий клиентского программного обеспечения.
Однако в уровне техники на данный момент отсутствуют системы, которые бы позволяли обеспечить указанное выше взаимодействие для указанных устройств.
Кроме того, поскольку мультимедийный контент является информацией, занимающей большой объем и требует для передачи наличия существенных сетевых и вычислительных ресурсов, то возникает необходимость в обеспечении эффективной маршрутизации и распределения нагрузки между устройствами сети.
Из уровня техники известна система IP-телефонии (Voice over IP-VoIP), которая обеспечивает передачу речевых данных посредством сети Интернет для абонентов сети PSTN (телефонная сеть общего пользования) (WO 0014935 А1, 16.03.2000, H04L 12/66).
Такая система имеет низкую функциональность, не позволяет передавать контент в виде изображений, видео, текста.
Дальнейшим развитием систем IP-телефонии является, например, сервис Skype (www.skype.com), который позволяет обеспечивать передачу по сети Интернет голосовых и видеовызовов, текста, а также файлов.
Система на базе Skype имеет основной недостаток в виде отсутствия интерактивного взаимодействия пользователей с контекстом.
Наиболее близким аналогом настоящей полезной модели является система мультимедийного интерактивного взаимодействия (US 2007136441 А1, 14.06.2007, G06F 15/16), содержащая множество терминалов пользователей, соединенных с сетью передачи данных и кластер серверов, содержащий сервер регистрации и аутентификации пользователей, соединенный с сервером мультимедийной обработки и с сетью передачи данных.
Указанная система имеет недостатки в виде отсутствия возможности обеспечения маршрутизации и распределения нагрузки, а также не обеспечивает интерактивного взаимодействия меду пользователями в виде совместного доступа к контенту, его обработки и синхронизации.
Раскрытие полезной модели
Для преодоления указанных недостатков заявителем предлагается система мультимедийного интерактивного взаимодействия, которая позволяет обеспечить интерактивное совместное взаимодействие с контентом пользователей устройств, поддерживающих стандарт HTML5, а также обеспечить эффективную маршрутизацию и распределение вычислительной нагрузки.
Полезная модель представляет собой систему мультимедийного интерактивного взаимодействия, при этом система содержит множество терминалов пользователей, соединенных посредством сети передачи данных с кластером серверов, содержащим сервер регистрации и аутентификации пользователей и сервер мультимедийной обработки. При этом для обеспечения эффективной маршрутизации и распределения вычислительной нагрузки в кластер серверов дополнительно введен сервер балансировки нагрузки, соединенный с сервером регистрации и аутентификации пользователей и с, по меньшей мере, одним сервером мультимедийной обработки, и выполненный с возможностью маршрутизации запросов и распределения нагрузки посредством выбора и назначения наиболее подходящего сервера мультимедийной обработки или рабочей группы серверов для каждого пользователя. Рабочая группа серверов представляет собой более чем один сервер мультимедийной обработки, назначенный для данного интерактивного сеанса пользователей.
Кроме того, для обеспечения интерактивного совместного взаимодействия пользователей с контентом, в кластер серверов дополнительно введено разделяемое хранилище информации, хранящее информацию о текущих и/или прошедших сессиях и соответствующий им мультимедийный контент. Доступ к данному хранилищу имеет каждый из серверов мультимедийной обработки.
Дополнительно, для повышения эффективности передачи информации, сервера в кластере могут быть соединены посредством высокоскоростной вычислительной сети.
Для более полного понимания технической сущности заявленной полезной модели далее приводится подробное описание функционирования и взаимодействия всех составных частей системы интерактивного поиска и отображения информации.
Подробное описание сущности
Специалисту в данной области техники должно быть понятно, что приводимые далее признаки не должны ограничивать объем охраны заявленной полезной модели в их буквальном прочтении. Например, очевидно, что указанные линии связи (например, между терминалами пользователей и серверами) могут иметь различную физическую сущность. Специалисту очевидно, что они могут быть проводными или же беспроводными. Таким образом, вся указанная совокупность признаков подлежит охране в рамках предложенной формулы полезной модели. Это же в полной мере относится и к другим признакам. В частности, терминал пользователя может представлять из себя настольный компьютер, ноутбук, нетбук, мобильный телефон, планшетный компьютер и подобное этим устройство, выполненное с возможностью обеспечения передачи и приема сетевых данных и отображения их для пользователя.
На фиг.1 представлена обобщенная структурная схема заявленной полезной модели.
В основном варианте осуществления полезная модель представляет собой систему мультимедийного интерактивного взаимодействия, включающую в себя: множество терминалов пользователей (110-112), соединенных посредством сети передачи данных с кластером серверов (160), содержащим: сервер регистрации и аутентификации пользователей (120), выполненный с возможностью двустороннего обмена информацией с терминалами пользователей по сети передачи данных, приема запроса на регистрацию или аутентификацию от терминалов пользователей, проведения, соответственно, регистрации или аутентификации, приема запроса на установление сессии интерактивного взаимодействия от терминалов пользователей и передачи указанного запроса на один из серверов балансировки нагрузки (130) по сети передачи данных; по меньшей мере, один сервер балансировки нагрузки, соединенный с, по меньшей мере, одним сервером мультимедийной обработки (140-143) и с терминалами пользователей и выполненный с возможностью приема и анализа запроса на интерактивное взаимодействие, выбора и назначения, по меньшей мере, по результатам анализа запроса, по меньшей мере, одного сервера мультимедийной обработки для обеспечения осуществления сессии интерактивного взаимодействия терминалов пользователей и соответствующей маршрутизации запросов; по меньшей мере, один сервер мультимедийной обработки, выполненный с возможностью осуществления двусторонней связи с сервером балансировки нагрузки и с терминалами пользователей по сети передачи данных, запуска приложений интерактивного взаимодействия в результате указанного назначения сервером балансировки нагрузки; кроме того, система содержит разделяемое хранилище данных (150), соединенное с, по меньшей мере, одним сервером мультимедийной обработки, хранящее информацию о текущих и прошедших сессиях и соответствующий им мультимедийный контент и сервер управления кластером (170), соединенный с, по меньшей мере, одним сервером мультимедийной обработки и выполненный с возможностью мониторинга состояния указанного, по меньшей мере, одного сервера мультимедийной обработки или рабочей группы связанных между собой серверов мультимедийной обработки и добавления в рабочую группу дополнительного сервера мультимедийной обработки для обеспечения совместного выполнения ими сессии интерактивного взаимодействия.
Система работает следующим образом.
При запуске сессии интерактивного взаимодействия с контентом (например, совместного редактирования текстового документа) терминал пользователя (или несколько терминалов) инициирует процедуру авторизации, посылая запрос аутентификации на сервер регистрации и аутентификации пользователей (например, по протоколу HTTPS). В случае если учетные данные данного пользователя отсутствуют в списке пользовательских записей (которые могут быть расположены на стороннем сервере, что позволяет интегрировать учетную завить пользователя с учетными записями других систем - google, openID и др.), сервер регистрации и аутентификации инициирует процедуру регистрации нового пользователя. В случае наличия соответствующих данных, сервер регистрации и аутентификации пользователей проводит стандартную процедуру авторизации, которая известна из уровня техники и не рассматривается подробно в рамках настоящей заявки.
В случае успешной авторизации терминал пользователя отправляет запрос на установление сессии интерактивного взаимодействия. Для обеспечения совместимости со стандартом HTML5 такой запрос может содержать специфический адрес приложения, предназначенного для выполнения в рамках указанной сессии.
Следует отметить, что такой запрос может быть отправлен совместно с запросом аутентификации, либо перед ним. В таком случае по получении запроса процедуру аутентификации инициирует сервер регистрации и аутентификации пользователей.
После завершения процедуры аутентификации, терминал пользователя обращается к серверу балансировки нагрузки в соответствии со стратегией "умный клиент" (Smart Client), то есть посредством приложений, ориентированных на обработку информации посредством web. Обращение к серверу балансировки нагрузки может осуществляться посредством использования протокола HTTP/HTTPS.
Работа "умного клиента" может включать в себя этапы аутентификации/регистрации нового пользователя на сервере регистрации и аутентификации пользователей, обращение к совокупности серверов балансировки нагрузки (выбор машины из множества происходит случайным образом посредством обращения к ней по DNS (Domain Name System - система доменных имен) имени, содержащему несколько IP адресов) для определения и назначения оптимального сервера мультимедийной обработки, обращение к серверу мультимедийной обработки, подключение к виртуальному "залу" (логической сессии), запуск соответствующего приложения для обеспечения возможности связи с другими пользователями, находящимися в этом же "зале", где общение между пользователями может быть подчинено логике запущенного ими приложения (например чат или чат, дополненный интерактивной доской или системой проведения опросов).
Сервер балансировки нагрузки после обращения (запроса) пользователя, по меньшей мере, на основе адреса приложения, определяет оптимальную маршрутизацию и производит выбор и назначение наиболее подходящего сервера мультимедийной обработки для обработки сессии мультимедийного взаимодействия. В случае наличия в запросе специфического адреса приложения, выбор серверов осуществляется аналогично разрешению имен в системе DNS. Информация о параметрах сессии (ID пользователя, ID приложения, назначенный канал связи и т.п.) может передаваться от сервера балансировки нагрузки совместно с сигналом о назначении.
После получения сигнала о назначении от сервера балансировки нагрузки, сервер мультимедийной обработки осуществляет соединение с терминалом пользователя и обеспечивает запуск соответствующего параметрам сессии мультимедийного приложения и обеспечивает функционирование соответствующего данной сессии виртуального "зала". Каждый из серверов мультимедийной обработки имеет доступ к распределенному хранилищу информации, которое хранит информацию о прошедших и/или текущих сессиях и соответствующий им мультимедийный контент. Обеспечение доступа к такому хранилищу позволяет осуществить интерактивное взаимодействие пользователей с контентом в режиме реального времени, а также производить синхронизацию изменений в контенте одновременно для всех пользователей, участвующих в данной сессии. Для передачи данных между клиентами и серверами мультимедийной обработки может использоваться протокол RMTP (Reliable Multicast Transport Protocol - надежный транспортный протокол мультивещания).
Более конкретно, сервер мультимедийной обработки предназначен для выполнения следующих функций: обеспечения сервис конфигурации онлайн-приложений, за загрузку корректной конфигурации онлайн-приложения, исполняемого на клиенте. Эта конфигурация зависит от выбора клиента от типа браузера/устройства, исполняющего приложения а также от полномочий клиента, отвечает за прием/передачу потоковых данных и синхронизацию этих данных между клиентами, обеспечивает расширяемый набор потоковых сервисов таких как «Интерактивная доска», «Работа с документами», «Чат», «Совместный документ».
Каждый сервис характеризуется типом документа, предоставляемым клиенту. Как следствие он должен позволять: отображать состояние этого документа в прямоугольную область, преобразовывать базовые действия клиента с мышью, тач-скрином, клавиатурой и прочими поддерживаемыми устройствами ввода информации в изменения данного документа, синхронизировать изменения документа между всеми участниками текущей сессии.
Сервис управления «залами», обеспечиваемый сервером мультимедийной обработки, отвечает за распределение участников между логическими сессиями, обеспечивая общения людей внутри «зала» и исключая возможность обмена информацией между людьми из разных «залов».
Сервис записи и воспроизведения сессии позволяет сохранить потоковые данные, принятые от клиентов приложений для возможного воспроизведения в случае возникновения спорных вопросов или для загрузки по требованию самих клиентов.
Хранение информации о сессиях выполняется на распределенном хранилище, подключенном к кластеру серверов.
Разработка указанных сервисов находится на первом этапе развития проекта и выполняется разработчиками платформы Пламя5. Дальнейшая публикация API для разработки собственных приложений находится за рамками данной заявки.
Кроме того, для обеспечения эффективного выполнения сессий интерактивного взаимодействия, настоящая полезная модель предусматривает сервер управления кластером.
Указанный сервер позволяет объединять несколько серверов мультимедийной обработки в кластере в рабочую группу серверов. Сервера рабочей группы являются связанными между собой для обеспечения взаимодействия.
Данная операция может выполняться посредством мониторинга сервером управления состояния серверов мультимедийной обработки. В частности, сервер управления может отслеживать текущую вычислительную загруженность серверов мультимедийной обработки и оперативно добавлять в рабочую группу дополнительные сервера мультимедийной обработки, если вычислительные потребности текущей сессии внезапно возрастают (сообщение об этом, например, может передать сервер мультимедийной обработки), что позволяет оптимально масштабировать нагрузку по всем серверам системы.
Более наглядно работу системы можно представить в следующем виде.
Пользователь А желает начать сеанс видео-чата с пользователем В для совместного обсуждения и редактирования проекта. После прохождения авторизации, назначенный сервер мультимедийной обработки производит запуск соответствующего приложения и обеспечивает связь между пользователями А и В. Доступ к серверу мультимедийной обработки пользователи могут осуществлять, например, посредством браузера или другой предназначенной для этого программы (например, клиентской части программы видео-чата).
Далее, любой из пользователей посредством интерфейса на своем терминале может активировать вызов файла проекта для совместного редактирования. Сервер мультимедийной обработки извлекает указанный файл из распределенного хранилища информации и запускает на исполнение. Кроме того, такой файл может быть загружен пользователем на сервер мультимедийной обработки во время установленной сессии.
При этом каждый из пользователей посредством интерфейса на терминале имеет доступ к отображению и правке информации файла. Информация об изменениях в файле принимается сервером мультимедийной обработки, вносится в файл в режиме реального времени и отображается для пользователей.
Пользователи также могут запрашивать контент, находящийся в хранилище информации (например, на платной основе по запросу) или же загружать дополнительный контент во время текущей сессии, чтобы иметь возможность оперировать им в редактируемом файле.
В случае если запрошенный или загружаемый контент и/или операции по его обработке требуют дополнительных вычислительных ресурсов, сервер управления кластером может назначить дополнительный сервер мультимедийной обработки, привязав его в текущей сессии и создав таким образом рабочую группу серверов. В таком случае вычислительная нагрузка будет распределена оптимальным образом, что может предотвратить возможные сбои в текущей сессии. Одной из возможных реализации такого взаимодействия серверов может быть схема «ведущий-ведомый», когда связь с пользователем и осуществление сессии выполняет один из серверов рабочей группы, а другой сервер осуществляет лишь вычислительные операции, предназначенные для текущей сессии.
По окончанию текущей сессии сервер мультимедийной обработки может сохранить изменения, внесенные пользователями в файл, и отправить его в распределенное хранилище информации для обеспечения доступа к файлу во время следующей сессии мультимедийного взаимодействия.
В дополнительном варианте осуществления сеть передачи данных, соединяющая сервера в кластере серверов, представляет собой высокоскоростную вычислительную сеть (например, ATM, Gigabit Ethernet и др.).
Для специалиста также будет понятно, что сеть передачи данных, соединяющая мобильные терминалы пользователей с кластером серверов, может быть как локальной проводной сетью, так и беспроводной сетью передачи данных (например, GSM, CDMA, LTE, WiFi и т.п.).