СПОСОБ РЕАЛИЗАЦИИ ОДНОРАНГОВОЙ ВИДЕОСВЯЗИ НА ВЕБ-СТРАНИЦЕ
METHOD OF IMPLEMENTING PEER-TO-PEER VIDEO COMMUNICATION ON WEB PAGE

Область техники
Настоящее изобретение относится к области сетевых технологий, а именно к способу реализации видеосвязи на веб-странице.
Уровень техники
С развитием Интернет-технологий появилась возможность реализации мгновенного обмена сообщениями, например, стало возможным общаться с друзьями или проводить переговоры с партнерами, не выходя из дома. На сегодняшний день инструменты мгновенного обмена сообщениями, такие как MSN, QQ или РОРО, загружаемые из сети и устанавливаемые на локальный компьютер, предлагают людям новые способы общения и обмена информацией и поэтому получают все большую популярность. Сегодня они становятся еще одним важным механизмом обмена информацией, наряду с мобильными телефонами, стационарными телефонами и электронной почтой. С помощью подобных инструментов пользователь может осуществлять видеосвязь с одним или несколькими собеседниками (сторонами), а также может проводить сетевые видеоконференции и получать дистанционное онлайн-образование. Упомянутые инструменты значительно снизили стоимость связи между людьми и увеличили ее эффективность. Однако для использования этих инструментов мгновенного обмена сообщениями пользователь должен загрузить и установить соответствующее клиентское программное обеспечение, что включает достаточно сложную процедуру конфигурации и ознакомления с новой программой. Это непросто для пользователей, которые никогда ранее не пользовались подобными инструментами или не пользуются компьютером на регулярной основе. Кроме того, размер инструментов обмена сообщениями, загружаемых пользователем (клиентом), становится все больше, например, размер QQ2010 достигает 32,6 Мбайт, а размер MSN достигает 11,2 Мбайт, следовательно, они занимают большой объем дискового пространства компьютера; вместе с тем, пользователей также волнуют проблемы сетевой безопасности, связанные с загрузкой программ из сети; также, поскольку все данные (например, журнал чата), хранятся на оконечном компьютере, при смене компьютера (например, во время деловой поездки) или при переустановке программного обеспечения, пользователь не сможет получить ранее сохраненные данные, что представляет собой значительное неудобство. Таким образом, пользователи имеют потребность в следующем: мгновенный обмен сообщениями должен выполняться сразу после открытия веб-страницы без загрузки или установки какого-либо программного обеспечения; при этом все данные и информация должны безопасно храниться на этой веб-странице. На сегодняшний день в сети существуют отдельные механизмы, реализуемые на веб-страницах, например, форумы (доски объявлений) и BBS, однако их общим недостатком является отсутствие "мгновенности" и невозможность реализации видео- или аудиосвязи на веб-странице, следовательно, требования пользователей к мгновенной связи не выполняются. Несмотря на то, что в настоящий момент в некоторых программах (например, frns или red5) реализован видеочат на веб-странице без необходимости загрузки установочной программы, они не способны хорошо реализовать одноранговую видеосвязь и не позволяют задействовать пользовательские ресурсы пропускной способности, что является причиной высокой нагрузки на сервер и потребления значительной части пропускной способности платформы, а также вызывает значительное увеличение стоимости эксплуатации с увеличением количества пользователей; как результат, масштаб функционирования и диапазон услуг подобного программного обеспечения ограничен, при этом упомянутые программы не отвечают условиями крупномасштабного применения и распространения. На текущий момент не существует видео- или аудиопродукта, реализуемого на веб-страницах, который бы занимал появившуюся рыночную нишу.
Таким образом, существует необходимость разработки способа реализации видеосвязи, основанной на одноранговой связи (р2р, peer-to-peer), для реализации мгновенного обмена сообщениями на веб-странице, который позволит максимально использовать незадействованную полосу пропускания пользователей, с условием отсутствия необходимости загрузки клиентом программ из сети и высокой оперативности, что уменьшает нагрузку на сервер и полосу пропускания платформы.
Сущность изобретения
Целью настоящего изобретения является создание способа реализации р2р-видеосвязи на веб-странице, который позволяет реализовать одноранговую видеосвязь без загрузки какого-либо программного обеспечения.
Для достижения упомянутой цели настоящее изобретение предлагает способ реализации р2р-видеосвязи, включающий следующие шаги:
2) передачу целевым пользователем сообщения о согласии на видеосвязь исходному пользователю посредством NetConnection;
3) после получения исходным пользователем сообщения о согласии на видеосвязь от целевого пользователя, загрузка исходным пользователем флэша, имя которого задано как "исходный видео-флэш" (source_video_flash), для воспроизведения видео на веб-странице исходного пользователя; соединение исходного видео-флэша с stratus-сервером и получение нового ключа, соединение с сокет-сервером и сохранение нового ключа и имени исходного пользователя на сокет-сервере; передачу исходным пользователем имени целевого пользователя на сокет-сервер; и возврат сокет-сервером нового ключа, соответствующего имени целевого пользователя, исходному видео-флэшу исходного пользователя; после приема исходным видео-флэшем нового ключа, соответствующего имени пользователя целевого пользователя и возвращенного сокет-сервером, начало воспроизведения исходным видео-флэшем видеопотока, соответствующего ключу, полученному посредством NetConnection, а также новому ключу, соответствующему имени пользователя целевого пользователя, и, одновременно с этим, передачу исходным пользователем видеопотока от локальной камеры флэшу целевого пользователя посредством NetConnection исходного пользователя.
В описанной выше технической схеме шаг (1) включает следующие процедуры:
1а) исходный пользователь осуществляет доступ к веб-странице и вызывает флэш-интерфейс для соединения с сокет-сервером;
1b) флэш соединяется со stratus-сервером и получает ключ, устанавливает соединение NetConnection, где NetConnection - изменяемое имя, и осуществляет контроль принимаемых сообщений;
1с) флэш передает имя исходного пользователя и ключ исходного пользователя на сокет-сервер, и сокет-сервер сохраняет имя исходного пользователя и ключ исходного пользователя;
1е) флэш на веб-странице исходного пользователя передает сообщение с приглашением к видеосвязи целевому пользователю посредством NetConnection, а также ключа целевого пользователя; а после приема целевым пользователем этого сообщения, целевой пользователь загружает флэш, имя которого задано как "целевой видео-флэш", для воспроизведения видео на веб-странице целевого пользователя; целевой видео-флэш соединяется со stratus-сервером и получает новый ключ, соединяется с сокет-сервером и сохраняет новый ключ и имя целевого пользователя на сокет-сервере;
1f) целевой пользователь передает имя исходного пользователя на сокет-сервер, и сокет-сервер возвращает новый ключ, соответствующий имени исходного пользователя, целевому видео-флэшу целевого пользователя; а после приема целевым видео-флэшем нового ключа, соответствующего имени пользователя исходного пользователя и возвращенного сокет-сервером, целевой видео-флэш начинает воспроизведение видеопотока, соответствующего ключу, полученному посредством NetConnection, и новому ключу, соответствующему имени пользователя целевого пользователя, и, одновременно с этим, целевой пользователь передает видеопоток от локальной камеры флэшу исходного пользователя посредством NetConnection.
В описанной выше технической схеме шаг (2) включает следующую процедуру: целевой пользователь передает сообщение о согласии на видеосвязь исходному пользователю посредством NetConnection.
В описанной выше технической схеме шаг (3) включает следующие процедуры:
3а) после приема исходным пользователем сообщения о согласии на видеосвязь исходный пользователь загружает флэш, имя которого задано как "исходный видео-флэш", для воспроизведения видео на веб-странице исходного пользователя; исходный видео-флэш соединяется со stratus-сервером и получает новый ключ, соединяется с сокет-сервером и сохраняет новый ключ и имя пользователя исходного пользователя на сокет-сервере;
3b) исходный пользователь посылает на сокет-сервер имя пользователя целевого пользователя и сокет-сервер возвращает новый ключ, соответствующий имени пользователя целевого пользователя, исходному видео-флэшу исходного пользователя; а после приема исходным видео-флэшем нового ключа, соответствующего имени пользователя целевого пользователя и возвращенного сокет-сервером, исходный видеофлэш начинает воспроизводить видеопоток, соответствующий ключу, полученному посредством NetConnection, и новому ключу, соответствующему имени пользователя целевого пользователя, и, одновременно с этим, исходный пользователь посылает видеопоток от локальной камеры флэшу целевого пользователя посредством NetConnection исходного пользователя.
Благодаря применению описанной выше технической схемы настоящее изобретение, по сравнению с текущим уровнем развития техники, обладает следующими преимуществами:
1) Пользователи могут осуществлять мгновенный обмен сообщениями на веб-странице без загрузки программного обеспечения из сети, что экономит дисковое пространство компьютера и устраняет множество неудобств.
2) Настоящее изобретение обеспечивает малое время отклика и отсутствие задержки.
3) Может быть использовано в любом сетевом терминале, включая персональный компьютер (PC).
4) Значительно снижает нагрузку на сервер, экономит пропускную способность и значительно уменьшает стоимость эксплуатации благодаря применению технологии р2р.
Краткое описание чертежей
Фиг.1 и 2 (а, б, в) представляют подробные блок-схемы алгоритмов вариантов осуществления настоящего изобретения.
Предпочтительные варианты осуществления настоящего изобретения
Настоящее изобретение описано далее более подробно вместе с чертежами и вариантами его осуществления.
Вариант 1 осуществления изобретения, способ реализации мгновенного обмена сообщениями на веб-странице, включает следующие шаги:
1) Исходный пользователь осуществляет доступ к веб-странице, вызывает флэш-интерфейс для соединения с сокет-сервером. Флэш-сервер stratus получает ключ, устанавливает соединение NetConnection и осуществляет контроль принимаемых сообщений, где NetConnection - изменяемое имя. Флэш передает имя исходного пользователя и ключ исходного пользователя на сокет-сервер, а сокет-сервер сохраняет имя исходного пользователя и ключ исходного пользователя. Код javascnpt на веб-странице исходного пользователя вызывает флэш-интерфейс для передачи сообщения, включающего имя целевого пользователя, на сокет-сервер; после того как сокет-сервер принимает это сообщение от исходного пользователя, он возвращает ключ, соответствующий имени целевого пользователя, флэшу на веб-странице исходного пользователя. Флэш на веб-странице исходного пользователя передает сообщение с приглашением к видеосвязи целевому пользователю посредством NetConnection, а также ключа целевого пользователя; и после приема целевым пользователем этого сообщения целевой пользователь загружает флэш, имя которого задано как "целевой видео-флэш" (target_video_flash), для воспроизведения видео на веб-странице целевого пользователя. Целевой видео-флэш соединяется со stratus-сервером и получает новый ключ, соединяется с сокет-сервером и сохраняет новый ключ и имя целевого пользователя на сокет-сервере. Целевой пользователь передает имя исходного пользователя на сокет-сервер, а сокет-сервер возвращает новый ключ, соответствующий имени исходного пользователя, целевому видео-флэшу целевого пользователя. После приема целевым видео-флэшем нового ключа, соответствующего имени пользователя исходного пользователя и возвращенного сокет-сервером, он начинает воспроизведение видеопотока, соответствующего ключу, полученному посредством NetConnection, и новому ключу, соответствующему имени пользователя исходного пользователя, и, одновременно с этим, целевой пользователь передает видеопоток от локальной камеры флэшу исходного пользователя посредством NetConnection.
2) целевой пользователь передает сообщение о согласии на видеосвязь исходному пользователю посредством NetConnection.
3) После приема исходным пользователем сообщения о согласии на видеосвязь, исходный пользователь загружает флэш, имя которого задано как "исходный видео-флэш" (source_video_flash), для воспроизведения видео на веб-странице исходного пользователя. Исходный видео-флэш соединяется со stratus-сервером и получает новый ключ, соединяется с сокет-сервером и сохраняет новый ключ и имя целевого пользователя на сокет-сервере. Исходный пользователь передает имя целевого пользователя на сокет-сервер, а сокет-сервер возвращает новый ключ, соответствующий имени целевого пользователя, флэшу на веб-странице исходного пользователя. После приема исходным видео-флэшем нового ключа, соответствующего имени пользователя целевого пользователя и возвращенного сокет-сервером, он начинает воспроизводить видеопоток, соответствующий ключу, полученному посредством NetConnection, и новому ключу, соответствующему имени пользователя целевого пользователя, и, одновременно с этим, исходный пользователь передает видеопоток от локальной камеры целевому пользователю посредством NetConnection исходного пользователя.
Далее способ согласно настоящему изобретению будет описан более подробно.
Обратимся к фиг.1 и фиг.2 (а, б, в). Исходный пользователь вводит адрес своей персональной веб-страницы в веб-браузере для перехода на эту веб-страницу или переходит на нее с помощью ссылки; исходный пользователь вводит имя учетной записи и пароль для регистрации на своей персональной веб-странице, и если регистрация успешна, то эта учетная запись используется в качестве учетной записи для осуществления связи;
если же исходный пользователь не зарегистрирован, то система назначает ему для осуществления связи временную учетную запись. Клиентская скрипт-программа вызывает флэш-интерфейс для соединения с сокет-сервером и устанавливает соединение. Флэш соединяется с stratus-сервером и получает ключ, устанавливает соединение NetConnection где NetConnection - изменяемое имя, и начинает выполнять контроль принимаемых сообщений. Одновременно с этим флэш передает имя исходного пользователя и ключ исходного пользователя на сокет-сервер, и сокет-сервер сохраняет имя исходного пользователя и ключ исходного пользователя Код javascnpt на веб-странице исходного пользователя вызывает флэш-интерфейс и передает имя целевого пользователя на сокет-сервер Сокет-сервер принимает сообщение от исходного пользователя и возвращает ключ, соответствующий имени целевого пользователя, флэшу на веб-странице исходного пользователя Программа javascnpt на веб-странице исходного пользователя вызывает флэш-интерфейс, и флэш передает сообщение с приглашением к видеосвязи целевому пользователю посредством NetConnection, а также ключа целевого пользователя
После приема этого сообщения флэшем на веб-странице целевого пользователя, этот флэш вызывает интерфейс скрипт-программы для загрузки нового флэша для воспроизведения видео на веб-странице целевого пользователя Видео-флэш соединяется со stratus-сервером для получения нового ключа для р2р-связи, и новый флэш, загруженный исходным пользователем, а также новый флэш, загруженный целевым пользователем, посылают локальные выходные видеоданные через соединение, соответствующее ключу, и одновременно начинают принимать видео от ключа противоположной стороны
Флэш для воспроизведения видео целевого пользователя запрашивает у сокет-сервера ключ флэша для воспроизведения видео, соответствующий имени исходного пользователя, и после приема флэшем для воспроизведения видео целевого пользователя этого ключа этот флэш начинает прием и воспроизведение видео, передаваемого от исходного пользователя, и, одновременно с этим, передает видео с локальной камеры исходному пользователю посредством NetConnection, а также передает исходному пользователю сообщение о согласии на видеосвязь
Исходный пользователь принимает это сообщение от целевого пользователя и загружает новый флэш для воспроизведения видео на веб-странице исходного пользователя Этот флэш для воспроизведения видео исходного пользователя запрашивает у сокет-сервера ключ флэша для воспроизведения видео, соответствующий имени целевого пользователя, и после получения флэшем для воспроизведения видео исходного пользователя этого ключа, флэш для воспроизведения видео начинает прием и воспроизведение видео, передаваемого от целевого пользователя, и, одновременно с этим, передает видео с локальной камеры целевому пользователю посредством Netconnection и ключа, соответствующего целевому пользователю.