RU2676418C2 - Способ и аппарат для специфичной для устройства связи между программами приложений - Google Patents

Способ и аппарат для специфичной для устройства связи между программами приложений Download PDF

Info

Publication number
RU2676418C2
RU2676418C2 RU2016115536A RU2016115536A RU2676418C2 RU 2676418 C2 RU2676418 C2 RU 2676418C2 RU 2016115536 A RU2016115536 A RU 2016115536A RU 2016115536 A RU2016115536 A RU 2016115536A RU 2676418 C2 RU2676418 C2 RU 2676418C2
Authority
RU
Russia
Prior art keywords
application
web socket
socket server
connection
web
Prior art date
Application number
RU2016115536A
Other languages
English (en)
Other versions
RU2016115536A (ru
RU2016115536A3 (ru
Inventor
Йоунг-Сун РИУ
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Publication of RU2016115536A publication Critical patent/RU2016115536A/ru
Publication of RU2016115536A3 publication Critical patent/RU2016115536A3/ru
Application granted granted Critical
Publication of RU2676418C2 publication Critical patent/RU2676418C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Abstract

Изобретение относится к области вычислительной техники. Технический результат заключается в устранении однонаправленной связи протокола передачи гипертекста. Способ содержит этапы, на которых: подключают, посредством первого устройства, первое приложение ко второму приложению через сервер веб-сокетов в первом устройстве; передают, посредством первого устройства, данные от первого приложения во второе приложение через сервер веб-сокетов, при этом подключение между первым приложением и вторым приложением через сервер веб-сокетов обеспечивается на основе приема сервером веб-сокетов запроса подключения от каждого из первого приложения и второго приложения. 2 н. и 8 з.п. ф-лы, 7 ил., 3 табл.

Description

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее раскрытие изобретения относится к способу и аппарату для связи между приложениями, работающими на устройствах, подключенных к одной и той же сети.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] С развитием технологии беспроводной связи предложены двунаправленная передача данных в реальном масштабе времени и связь посредством веб-сокетов, которая может поддерживать множество действующих одновременно пользователей. Связь посредством веб-сокетов основывается на связи между серверами и клиентами.
[0003] Фиг. 1 – представление для описания примера общего способа связи посредством веб-сокетов.
[0004] Со ссылкой на фиг. 1, предположим, что сервер 102 поддерживает связь посредством веб-сокетов, и клиенты 104, 106, 108 и 110 с первого по четвертый подключаются к серверу 102 с использованием протокола веб-сокетов, чтобы передавать данные серверу 102 / принимать данные от сервера 102. На фиг. 1 для удобства описания показан сервер, поддерживающий связь посредством веб-сокетов, однако может существовать два сервера или более.
[0005] Связь посредством веб-сокетов устраняет недостаток (то есть однонаправленную связь) протокола передачи гипертекста (HTTP), который является одним из типичных способов связи для обеспечения прозрачной двунаправленной связи между серверами и клиентами. Также, поскольку связь посредством веб-сокетов может легко взаимодействовать с языком гипертекстовой разметки 5 (HTML 5) без наличия сервера для выполнения сложного программирования, предполагается, что связь посредством веб-сокетов будет широко применяться в средах, требующих двунаправленной связи.
[0006] По этой причине проводятся исследования способа для применения связи посредством веб-сокетов к связи между приложениями, работающими на разных устройствах. Соответственно, необходимы подробные процедуры для применения связи посредством веб-сокетов, предназначенной для двунаправленной связи между серверами и клиентами, к связи между приложениями.
[0007] РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
[0008] Настоящее раскрытие изобретения предоставляет аппарат и способ для связи между приложениями, работающими на разных устройствах, подключенных к одной и той же сети.
[0009] Настоящее раскрытие изобретения также предоставляет аппарат и способ для использования протокола веб-сокетов для связи между приложением, работающим на первом устройстве, и подчиненным приложением, взаимодействующим с тем приложением и работающим на втором устройстве.
[0010] ТЕХНИЧЕСКОЕ РЕШЕНИЕ
[0011] В соответствии с аспектом примерных вариантов осуществления из настоящего раскрытия изобретения предоставляется способ для связи между множеством приложений, работающих на множестве устройств, подключенных к одной и той же сети, включающий в себя: подключение первого приложения, работающего на первом устройстве, ко второму приложению, работающему на втором устройстве, посредством сервера веб-сокетов в первом устройстве и передачу и прием данных между первым приложением и вторым приложением посредством сервера веб-сокетов.
[0012] В соответствии с другим аспектом примерных вариантов осуществления из настоящего раскрытия изобретения предоставляется первое устройство для связи между множеством приложений, работающих на множестве устройств, подключенных к одной и той же сети, включающее в себя: сервер веб-сокетов, сконфигурированный для обеспечения подключения между первым приложением, работающим на первом устройстве, и вторым приложением, работающим на втором устройстве, и передачи и приема данных между первым приложением и вторым приложением посредством этого подключения.
ПОЛЕЗНЫЕ РЕЗУЛЬТАТЫ
[0013] В соответствии с настоящим раскрытием изобретения предоставляется средство связи для связи между приложениями, работающими на разных устройствах, чтобы пользователь мог создавать, например, приложение второго устройства, взаимодействующее с приложением первого устройства. Соответственно, пользователь может создавать приложение дистанционного управления, которое может управлять первым устройством посредством второго устройства, а также может управлять приложением ввода из второго устройства посредством первого устройства.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014]
[0015] Фиг. 1 – представление для описания примера способа, по которому работает обычный веб-сокет;
[0016] Фиг. 2 показывает пример базовой конфигурации для описания связи между приложениями в соответствии с вариантом осуществления из настоящего раскрытия изобретения;
[0017] Фиг. 3 – блок-схема алгоритма, иллюстрирующая пример способа запуска и останова сервера веб-сокетов в первом устройстве в соответствии с вариантом осуществления из настоящего раскрытия изобретения;
[0018] Фиг. 4 – блок-схема алгоритма, иллюстрирующая пример способа, по которому приложение из второго устройства осуществляет связь с приложением из первого устройства, в соответствии с вариантом осуществления из настоящего раскрытия изобретения;
[0019] Фиг. 5 – блок-схема алгоритма, иллюстрирующая пример способа работы первого устройства в соответствии с вариантом осуществления из настоящего раскрытия изобретения;
[0020] Фиг. 6 – блок-схема алгоритма, иллюстрирующая пример способа работы второго устройства в соответствии с вариантом осуществления из настоящего раскрытия изобретения; и
[0021] Фиг. 7 – представление для описания варианта осуществления, к которому фактически применяется настоящее раскрытие изобретения.
[0022] ЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0023] Теперь будут подробно описываться предпочтительные варианты осуществления из настоящего раскрытия изобретения со ссылкой на прилагаемые чертежи. На всех чертежах будет подразумеваться, что одинаковые номера ссылок ссылаются на одинаковые компоненты. В нижеследующем описании настоящего раскрытия изобретения подробное описание известных функций и конфигураций, включенных в этот документ, будет опущено в случаях, когда это может затруднять понимание предмета настоящего изобретения. Также, хотя используемые в настоящем раскрытии изобретения термины выбирались с учетом функций из настоящего раскрытия изобретения, они могут меняться в соответствии с намерениями пользователя либо оператора, судебными прецедентами и т. п. Поэтому термины должны быть определены на основе содержания всего описание изобретения, а не путем простого формулирования самих терминов.
[0026] Варианты осуществления из настоящего раскрытия изобретения предлагают аппарат и способ для связи между приложениями, работающими на разных устройствах, подключенных к одной и той же сети. В соответствии с вариантом осуществления настоящее раскрытие изобретения предлагает аппарат и способ для использования протокола веб-сокетов для связи между приложением, работающим на первом устройстве, и подчиненным приложением, взаимодействующим с тем приложением и работающим на втором устройстве в окружении, где множество устройств подключаются к одной и той же сети, например, домашней сети.
[0027] Фиг. 2 показывает пример базовой конфигурации для описания связи между зависящими от устройства приложениями в соответствии с вариантом осуществления из настоящего раскрытия изобретения. Для удобства описания фиг. 2 показывает компоненты в соответствии с вариантом осуществления из настоящего раскрытия изобретения. Соответственно, компоненты можно объединять в один блок или разделять на множество субблоков в соответствии с их функциями, в соответствии с намерением оператора или по ситуации.
[0028] Со ссылкой на фиг. 2, для удобства описания предположим, что первое устройство 200 и второе устройство 210 подключаются к одной и той же сети, например, домашней сети. Однако помимо первого устройства 200 и второго устройства 210 могут существовать и другие устройства, подключенные к домашней сети, которые не показаны на фиг. 2.
[0029] Первое устройство 200 можно задать в качестве ведущего устройства, на котором работает произвольное приложение. Например, первое устройство 200 может быть цифровым телевизором (DTV) или общедоступным терминалом, например телевизионной приставкой (STB). Первое устройство 200 в соответствии с вариантом осуществления из настоящего раскрытия изобретения может включать в себя, например, веб-обозреватель 204 и сервер 206 веб-сокетов. Веб-обозреватель 204 может соответствовать компоненту, который может приводить в действие веб-приложение, а сервер 206 веб-сокетов может быть компонентом, предоставляемым дополнительно для связи между приложением из первого устройства 200 и приложением из другого устройства в соответствии с вариантом осуществления из настоящего раскрытия изобретения. Например, сервер 206 веб-сокетов может обеспечивать подключение и связь между приложением, работающим на первом устройстве 200, и приложением (приложениями), работающим на втором устройстве 210.
[0030] Второе устройство 210 можно задать в качестве подчиненного устройства, взаимодействующего с одним из устройств, подключенных к домашней сети, для исполнения приложения, что не показано на фиг. 2. Второе устройство 210 может быть абонентским терминалом, например терминалом мобильной связи, планшетным персональным компьютером (ПК) и смартфоном. Второе устройство 210, как первое устройство 200, в соответствии с вариантом осуществления из настоящего раскрытия изобретения может включать в себя веб-обозреватель 212, который может приводить в действие веб-приложение. В этом описании изобретения будет описываться пример, в котором связь приложения с приложением выполняется в веб-приложении. Однако приложение может быть любым другим приложением, которое поддерживает интерфейс прикладной программы (API) и процедуры, описанные в настоящем раскрытии изобретения. Например, приложение может быть собственным приложением, работающим в операционной системе (ОС) для Android или iOS для iPhone.
[0031] Приложение, работающее на первом устройстве 200, не может осуществлять связь непосредственно с приложением (то есть веб-приложением), работающим на втором устройстве 210. Поэтому в варианте осуществления из настоящего изобретения сервер 206 веб-сокетов, включенный в первое устройство 200, может использоваться в качестве посредника для предоставления зависящим от устройства приложениям возможности подключаться друг к другу и осуществлять связь друг с другом. То есть сервер 206 веб-сокетов может действовать в качестве ретранслятора для подключения и связи между зависящими от устройства приложениями. Точнее говоря, в текущем варианте осуществления веб-обозреватель 204 из первого устройства 200 может осуществлять связь с сервером 206 веб-сокетов из первого устройства 200 с использованием протокола веб-сокетов (WS), а также веб-обозреватель 212 (или собственное приложение) из второго устройства 210 может осуществлять связь с сервером 206 веб-сокетов посредством протокола WS.
[0032] В дальнейшем для удобства описания аппарат и способы для поддержки связи между зависящими от устройства приложениями в соответствии с вариантами осуществления из настоящего раскрытия изобретения будут описываться на основе конфигурации, показанной на фиг. 2.
[0033] Фиг. 3 – блок-схема алгоритма, иллюстрирующая пример способа запуска и останова сервера веб-сокетов в первом устройстве в соответствии с вариантом осуществления из настоящего раскрытия изобретения. Для удобства описания предположим, что первое устройство 300 является DTV, подключенным к домашней сети, а второе устройство 310 является мобильным устройством, подключенным к домашней сети. Однако первое устройство 300 и второе устройство 310 могут быть любыми другими устройствами при условии, что они могут поддерживать способы в соответствии с настоящим раскрытием изобретения.
[0034] Сначала будет описываться операция, в которой первое устройство 300 запускает сервер 304 веб-сокетов. Со ссылкой на фиг. 3, на этапе 322 веб-приложение 302 (в дальнейшем называемое "первичным приложением") из первого устройства 300 может передать API серверу 304 веб-сокетов из первого устройства 300 для запуска сервера 304 веб-сокетов. В этом документе API может быть startWS, как видно в таблице 1 ниже.
[Таблица 1]
ТАБЛИЦА 1
API Описание Показатель Подтверждение
startWS (Unit AppID) Запустить сервер веб-сокетов на устройстве Unit AppID: идентификатор приложения для взаимодействия с сервером веб-сокетов Истина: когда запуск успешен
Ложь: когда запуск терпит неудачу
shutdownWS (Unit AppID) Остановить сервер веб-сокетов на устройстве Unit AppID: идентификатор приложения для взаимодействия с сервером веб-сокетов Истина: когда останов успешен
Ложь: когда останов терпит неудачу
[0035] В то же время startWS может предоставить AppID, который является идентификатором (ID) первичного приложения 302 для взаимодействия с первичным приложением 302. В этом документе AppID первичного приложения 302 может быть ID или унифицированным указателем ресурса (URL), который используется для идентификации первичного приложения 302. Затем на этапе 324 может запуститься сервер 304 веб-сокетов для осуществления связи с первичным приложением 302, соответствующим AppID, и передать первичному приложению 302 сигнал подтверждения (ACK), указывающий завершение запуска.
[0036] После этого будет описываться операция, в которой первое устройство 300 останавливает сервер 304 веб-сокетов.
[0037] Первичное приложение 302 на этапе 326 может передать API серверу 304 веб-сокетов из первого устройства 300 для останова сервера 304 веб-сокетов, который работает. API, который вызывает первичное приложение 302, может быть ShutdownWS, как видно в таблице 1. Также ShutdownWS может предоставить AppID. Затем на этапе 328 сервер 304 веб-сокетов может завершить связь с первичным приложением 302, соответствующим AppID, и передать первичному приложению 302 из первого устройства 300 сигнал ACK, указывающий завершение останова.
[0038] В варианте осуществления из фиг. 3 описан способ, по которому первое устройство 300 само запускает и останавливает сервер 304 веб-сокетов для определенного приложения в первом устройстве 300. В соответствии с другим вариантом осуществления после того, как запускается сервер веб-сокетов из первого устройства, которое может использоваться совместно, API, которые будут описываться в нижеследующей процедуре, могут предоставить приложению из второго устройства возможность взаимодействовать с сервером веб-сокетов из первого устройства.
[0039] Фиг. 4 – блок-схема алгоритма, иллюстрирующая пример способа, по которому приложение из второго устройства осуществляет связь с приложением из первого устройства в соответствии с вариантом осуществления из настоящего раскрытия изобретения. Нижеследующая таблица 2 показывает примеры API для связи между специфичными для устройства приложениями.
[Таблица 2]
ТАБЛИЦА 2
API Описание Показатель Подтверждение
startWS (Unit AppID) Запустить сервер веб-сокетов Unit AppID: приложение для запуска сервера веб-сокетов Истина: когда запуск успешен
Ложь: когда запуск терпит неудачу
ShutdownWS (Unit AppID) Остановить сервер веб-сокетов Unit AppID: приложение для останова сервера веб-сокетов Истина: когда останов успешен
Ложь: когда останов терпит неудачу
check_channel (AppID, CSAppID) Проверить, установлен ли канал связи между приложением (AppID) из первого устройства и приложением (CSApp) из второго устройства AppID: ID приложения первого устройства
CSAppID: ID приложения второго устройства
Истина: когда установлен определенный канал
Ложь: когда определенный канал не установлен
getHbbTVAppID() Получить AppID первого устройства Нет Unit HbbTVID: AppID первого устройства
getCSAppID() Получить AppID второго устройства Нет Unit CSAppID: AppID второго устройства
[0040] Со ссылкой на фиг. 4, на этапе 420 приложение 412 (в дальнейшем называемое "приложением парного экрана (CS)") из второго устройства 410 может создать объект веб-сокета, а затем запросить сервер 404 веб-сокетов из первого устройства 400 вызвать API Open() для установления канала связи. API open() может передавать ID (также называемый AppID) первичного приложения 402 и ID (также называемый CSAppID) CS-приложения 412. Затем на этапе 422 первичное приложение 402 может создать объект веб-сокета с использованием AppID и CSAppID и запросить сервер 404 веб-сокетов вызвать API open() для установления канала связи. Также API open() первичного приложения 402 может передавать AppID и CSAppID.
[0041] Затем на этапе 424 сервер 404 веб-сокетов из первого устройства 400 может установить канал связи между первичным приложением 402, соответствующим AppID, и CS-приложением 412, соответствующим CSAppID. Если в соответствии с вышеописанным процессом устанавливается канал связи, то CS-приложение 412 может осуществлять связь с первичным приложением 402 посредством того канала связи. Также по тому каналу связи первичное приложение 402 может осуществлять связь с CS-приложением 412. Точнее говоря, способ, по которому каждое из первичного приложения 402 и CS-приложения 412 подключается к серверу 404 веб-сокетов на этапах 420–424, может использовать, например, таблицу 3 ниже.
[Таблица 3]
ТАБЛИЦА 3
Способ подключения к серверу веб-сокетов, адресом которого является ws://192.168.1.52 (первое устройство и второе устройство)
ws://192.168.1.52/AppID/CSAppID
[0042] Как описано выше, сервер 404 веб-сокетов может определить, идентична ли информация, полученная из API open() первичного приложения 402, информации, полученной из CS-приложения 412. В варианте осуществления из фиг. 4 в качестве примера описан случай, в котором каждое из первичного приложения 402 и CS-приложения 412 передает AppID и CSAppID в качестве информации для установления канала связи. Если сервер 404 веб-сокетов определяет, что информация, полученная из API open() первичного приложения 402, идентична информации, полученной из CS-приложения 412, то сервер 404 веб-сокетов может ретранслировать подключение к первичному приложению 402 и подключение к CS-приложению 412, чтобы установить таким образом канал связи между первичным приложением 402 и CS-приложением 412. Соответственно, подключению между первичным приложением 402 и сервером 404 веб-сокетов и подключению между CS-приложением 412 и сервером 404 веб-сокетов можно назначить один и тот же ID канала. ID канала может формироваться в виде уникального значения на основе адреса сервера 404 веб-сокетов, AppID первичного приложения 402 и CSAppID у CS-приложения 412, например, как видно в таблице 3.
[0043] После этого, если формируются данные, которые нужно передать из CS-приложения 412 первичному приложению 402, то на этапе 426 CS-приложение 412 может вызвать API send() для передачи сформированных данных серверу 404 веб-сокетов. Затем на этапе 428 сервер 404 веб-сокетов может вызвать событие (по сообщению), чтобы информировать первичное приложение 402 о том, что данные приняты. Затем на этапе 430 первичное приложение 402 может отразить самому себе принятые данные. Например, если первичное приложение 402 является веб-приложением, то этап 430 может выполняться посредством обновления объектной модели документов (DOM).
[0044] Между тем, если изменилась часть первичного приложения 402, то на этапе 432 первичное приложение 402 может вызвать API send() для передачи информации об измененной части серверу 404 веб-сокетов. Затем на этапе 434 сервер 404 веб-сокетов из первого устройства 400 может передать информацию CS-приложению 412 по каналу связи между первичным приложением 402 и CS-приложением 412, установленному в соответствии с вышеописанным процессом. В то же время информацию можно передать посредством события (по сообщению). CS-приложение 412 на этапе 436 может принять информацию и отразить эту информацию себе, как на этапе 430.
[0045] После этого, если связь завершается, то на этапе 438 CS-приложение 412 может вызвать API close() для передачи запроса закрытия канала связи с первичным приложением 402 серверу 404 веб-сокетов. Также на этапе 440 первичное приложение 402 может вызвать API close() для передачи запроса закрытия канала связи с первичным приложением серверу 404 веб-сокетов. Тогда сервер 404 веб-сокетов может отключить первичное приложение 402 от CS-приложения 412. Соответственно, первичное приложение 402 можно отключить от CS-приложения 412 на этапе 442.
[0046] Фиг. 5 – блок-схема алгоритма, иллюстрирующая пример способа работы первого устройства в соответствии с вариантом осуществления из настоящего раскрытия изобретения.
[0047] Со ссылкой на фиг. 5, на этапе 500 первое устройство может принять страницу на языке гипертекстовой разметки (HTML). HTML-страница может включать в себя AppID, указывающий первичное приложение из первого устройства. Затем на этапе 502 первое устройство может запустить сервер веб-сокетов, используя AppID, в соответствии с API, вызванным с HTML-страницы.
[0048] Затем на этапе 504 первичное приложение может искать доступное второе устройство в множестве устройств, подключенных к сети, к которой подключено первое устройство. Затем на этапе 506 первичное приложение может передать второму устройству информацию о запуске CS-приложения из найденного второго устройства. После этого первое устройство на этапе 508 может отобразить на экране дисплея HTML-страницу для запроса пользовательского ввода. Если первое устройство принимает пользовательский ввод на этапе 510, то первое устройство на этапе 512 может определить, формируются ли данные, которые нужно передать CS-приложению посредством пользовательского ввода. Если первое устройство определяет, что не формируются никакие данные, которые нужно передать CS-приложению, то первое устройство может перейти к этапу 516.
[0049] Если первое устройство определяет, что формируются данные, которые нужно передать CS-приложению, то на этапе 514 первое устройство может передать данные серверу веб-сокетов. Затем на этапе 516 первое устройство может определить, имеются ли данные, которые нужно принять посредством сервера веб-сокетов. Если первое устройство определяет, что нет данных, которые нужно принять посредством сервера веб-сокетов, то первое устройство может перейти к этапу 508 для ожидания другого пользовательского ввода.
[0050] Если первое устройство определяет, что имеются данные, которые нужно принять посредством сервера веб-сокетов, то на этапе 518 первое устройство может принять данные посредством сервера веб-сокетов. Затем на этапе 520 первое устройство может определить, является ли ID приложения, полученный из принятых данных, AppID первого устройства. Если первое устройство определяет, что ID приложения, полученный из принятых данных, является AppID первого устройства, то первое устройство может обновить DOM на этапе 522, чтобы отобразить на экране дисплея HTML, в который отражаются принятые данные, на этапе 508.
[0051] Фиг. 6 – блок-схема алгоритма, иллюстрирующая пример способа работы второго устройства в соответствии с вариантом осуществления из настоящего раскрытия изобретения.
[0052] Со ссылкой на фиг. 6, предположим, что на этапе 600 второе устройство принимает HTML-страницу, которая является информацией, переданной от первого устройства на этапе 506 из фиг. 5. В текущем примере для удобства описания предположим, что CS-приложение из второго устройства является веб-приложением, и второе устройство принимает HTML-страницу. Однако в соответствии с другим примером, если информация, принятая вторым устройством от первого устройства на этапе 600, указывает собственное приложение второго устройства, то второе устройство может запустить собственное приложение.
[0053] Затем на этапе 602 CS-приложение из второго устройства может подключиться к серверу веб-сокетов из первого устройства, используя CSAppID второго устройства и ID приложения первого устройства, полученные из HTML-сообщения.
[0054] Затем на этапе 604 второе устройство может отобразить на экране дисплея HTML-страницу для запроса пользовательского ввода, чтобы взаимодействовать с первичным приложением из первого устройства. Если второе устройство принимает пользовательский ввод на этапе 606, то на этапе 608 второе устройство может определить, имеются ли данные, которые нужно передать первичному приложению из первого устройства, в соответствии с пользовательским вводом. Если второе устройство определяет, что нет данных, которые нужно передать первичному приложению из первого устройства, в соответствии с пользовательским вводом, то второе устройство может перейти к этапу 612.
[0055] Если второе устройство определяет, что имеются данные, которые нужно передать первичному приложению из первого устройства, в соответствии с пользовательским вводом, то на этапе 610 второе устройство может передать данные первичному приложению из первого устройства посредством сервера веб-сокетов из первого устройства, подключенного на этапе 602.
[0056] Между тем на этапе 612 второе устройство может определить, имеются ли данные, которые нужно принять посредством сервера веб-сокетов. Если второе устройство определяет, что имеются данные, которые нужно принять, то второе устройство может принять данные на этапе 614. Затем на этапе 616 второе устройство может отразить принятые данные, чтобы обновить DOM. После этого второе устройство может вернуться к этапу 604, чтобы реконфигурировать HTML на основе результата обновления и отобразить реконфигурированный HTML на своем экране дисплея.
[0057] Между тем, если второе устройство на этапе 612 определяет, что нет данных, которые нужно принять посредством сервера веб-сокетов, то второе устройство может вернуться к этапу 604 для ожидания другого пользовательского ввода.
[0058] Фиг. 7 – представление для описания варианта осуществления, к которому фактически применяется настоящее раскрытие изобретения.
[0059] Со ссылкой на фиг. 7, предположим, что первое устройство 700 и второе устройство 705 подключаются домашней сети. Также предположим, что пользователь управляет первым устройством 700 посредством второго устройства 705, когда первое устройство 700 принимает вещательный контент. Например, пользователь может использовать второе устройство 705, которое дает пользователю возможность легко осуществлять пользовательский ввод для дистанционного управления первым устройством 700 либо осуществлять пользовательский ввод, например операцию ввода символа (символов). Также пользователь может использовать второе устройство 705 для выбора экрана, отображенного в соответствии с вещательным контентом первого устройства 700, для исполнения приложения, предусмотренного для каждого вещательного контента, или для голосования. Первое устройство 700 может включать в себя сервер веб-сокетов для обеспечения подключения и связи между приложением, работающим на первом устройстве 700, и приложением, работающим на втором устройстве 705 и сконфигурированным для управления первым устройство 700, как описано выше.
[0060] Специалистам в данной области техники будет очевидно, что в настоящее изобретение можно внести различные модификации и изменения без отклонения от сущности или объема изобретения. Таким образом, имеется в виду, что настоящее изобретение охватывает модификации и изменения этого изобретения в том случае, если они подпадают под объем прилагаемой формулы изобретения и ее эквивалентов.

Claims (20)

1. Способ связи между первым приложением на первом устройстве и вторым приложением на втором устройстве, содержащий этапы, на которых:
подключают, посредством первого устройства, первое приложение ко второму приложению через сервер веб-сокетов в первом устройстве; и
передают, посредством первого устройства, данные от первого приложения во второе приложение через сервер веб-сокетов или принимают, посредством первого устройства, данные для первого приложения от второго приложения через сервер веб-сокетов,
при этом подключение между первым приложением и вторым приложением через сервер веб-сокетов обеспечивается на основе приема сервером веб-сокетов запроса подключения от каждого из первого приложения и второго приложения.
2. Способ по п. 1, в котором этап, на котором подключают первое приложение, работающее на первом устройстве, ко второму приложению, работающему на втором устройстве, содержит этапы, на которых:
обеспечивают первое подключение между сервером веб-сокетов и первым приложением, используя протокол сервера веб-сокетов; и
обеспечивают второе подключение между сервером веб-сокетов и вторым приложением, используя протокол сервера веб-сокетов.
3. Способ по п. 2, дополнительно содержащий этап, на котором ретранслируют первое подключение и второе подключение через сервер веб-сокетов для установления канала связи между первым приложением и вторым приложением.
4. Способ по п. 3, в котором первому подключению и второму подключению назначается один и тот же идентификатор канала.
5. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают запрос отключения на сервере веб-сокетов от каждого из первого приложения и второго приложения; и
отключают первое приложение от второго приложения.
6. Первое устройство для связи между первым приложением на первом устройстве и вторым приложением на втором устройстве, причем первое устройство содержит:
сервер веб-сокетов, выполненный с возможностью:
обеспечивать подключение между первым приложением и вторым приложением в ответ на запрос подключения от каждого из первого приложения и второго приложения и
передавать данные от первого приложения во второе приложение или принимать данные для первого приложения от второго приложения посредством этого подключения.
7. Первое устройство по п. 6, в котором сервер веб-сокетов обеспечивает первое подключение к первому приложению, используя протокол, и второе подключение ко второму приложению, используя этот протокол.
8. Первое устройство по п. 7, в котором сервер веб-сокетов ретранслирует первое подключение и второе подключение для установления канала связи между первым приложением и вторым приложением.
9. Первое устройство по п. 8, при этом первому подключению и второму подключению назначается один и тот же идентификатор канала.
10. Первое устройство по п. 6, в котором, если сервер веб-сокетов принимает запрос отключения от каждого из первого приложения и второго приложения, то сервер веб-сокетов отключает первое приложение от второго приложения.
RU2016115536A 2013-09-23 2014-09-22 Способ и аппарат для специфичной для устройства связи между программами приложений RU2676418C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020130112794A KR102121472B1 (ko) 2013-09-23 2013-09-23 기기 별 응용 프로그램간 통신을 위한 장치 및 방법
KR10-2013-0112794 2013-09-23
PCT/KR2014/008770 WO2015041488A1 (ko) 2013-09-23 2014-09-22 기기 별 응용 프로그램간 통신을 위한 장치 및 방법

Publications (3)

Publication Number Publication Date
RU2016115536A RU2016115536A (ru) 2017-10-30
RU2016115536A3 RU2016115536A3 (ru) 2018-06-26
RU2676418C2 true RU2676418C2 (ru) 2018-12-28

Family

ID=52689088

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016115536A RU2676418C2 (ru) 2013-09-23 2014-09-22 Способ и аппарат для специфичной для устройства связи между программами приложений

Country Status (10)

Country Link
US (3) US9720745B2 (ru)
EP (1) EP3051417A4 (ru)
JP (1) JP6665086B2 (ru)
KR (1) KR102121472B1 (ru)
CN (1) CN105579969A (ru)
BR (1) BR112016006437B1 (ru)
CA (1) CA2925279C (ru)
MX (2) MX2018011368A (ru)
RU (1) RU2676418C2 (ru)
WO (1) WO2015041488A1 (ru)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761633B1 (ko) * 2013-08-28 2017-07-26 엘지전자 주식회사 신호 송신 장치 및 제어 방법
JP6301464B2 (ja) * 2013-11-04 2018-03-28 エルジー エレクトロニクス インコーポレイティド 電子装置及び電子装置の制御方法
WO2016159727A1 (ko) * 2015-04-01 2016-10-06 삼성전자 주식회사 멀티미디어 시스템에서 디바이스들 간에 통신 방법 및 장치
KR102335007B1 (ko) 2015-04-01 2021-12-06 삼성전자주식회사 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
CN107370775B (zh) * 2016-05-11 2020-04-28 阿里巴巴集团控股有限公司 一种启动应用的方法和系统
CN106776057B (zh) * 2016-11-22 2020-04-17 北京云知声信息技术有限公司 事件处理方法及装置
CN106547634B (zh) * 2016-11-28 2020-07-31 武汉斗鱼网络科技有限公司 一种跨进程通信的方法及装置
US20230297448A1 (en) * 2022-03-17 2023-09-21 OpenFin Inc. Initiating operations for applications via communication bridges

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2005102012A (ru) * 2002-06-28 2005-07-10 Квэлкомм Инкорпорейтед (US) Оптимизация ресурсов канала данных для устройств в сети
US20100281107A1 (en) * 2009-05-01 2010-11-04 Fallows John R Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
EP2608479A1 (en) * 2011-12-23 2013-06-26 France Telecom Method of communication between at least a first device requesting an execution of a remote function by a second device capable of executing the remote function
US20130232223A1 (en) * 2012-03-02 2013-09-05 Realtek Semiconductor Corp. Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE403323T1 (de) 2000-05-24 2008-08-15 Voltaire Ltd Gefilterte kommunikation von anwendung zu anwendung
KR100677141B1 (ko) 2004-10-11 2007-02-02 삼성전자주식회사 일대일 이름-기반 소켓 통신 수행 장치 및 방법
US8166175B2 (en) * 2005-09-12 2012-04-24 Microsoft Corporation Sharing a port with multiple processes
KR100809395B1 (ko) * 2005-12-08 2008-03-05 한국전자통신연구원 원격 제어 기능을 구비한 휴대 단말 장치 및 이를 이용한원격 제어 방법
US20080098450A1 (en) * 2006-10-16 2008-04-24 Toptrend Global Technologies, Inc. Dual display apparatus and methodology for broadcast, cable television and IPTV
US20090143055A1 (en) 2007-12-04 2009-06-04 Roy Emek Mobile Application and Content Provisioning using Web Services Technology
KR101231203B1 (ko) * 2011-01-10 2013-02-15 주식회사 로직플랜트 통신기기와 정보기기 간 데이터 통신 시스템 및 통신 방법
US8321566B2 (en) 2011-02-24 2012-11-27 Jibe Mobile System and method to control application to application communication over a network
EP2750309A4 (en) * 2011-08-26 2015-07-15 Japan Broadcasting Corp RECEIVERS AND RECEIVER PROCEDURES
JP2013066159A (ja) * 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機
CN103095669A (zh) * 2011-11-08 2013-05-08 联想(北京)有限公司 一种建立连接的方法、装置及设备
TWI495329B (zh) * 2012-03-02 2015-08-01 Realtek Semiconductor Corp 具有多個顯示器和動態配置分層伺服器的跨平台多媒體互動系統,及相關的方法、電子裝置和電腦程式產品
US8937637B2 (en) * 2012-07-26 2015-01-20 Google Inc. Method and apparatus providing synchronization and control for server-based multi-screen videoconferencing
US8914832B2 (en) * 2012-12-14 2014-12-16 Sony Corporation Information processing apparatus, information processing method, and program
US9613011B2 (en) * 2012-12-20 2017-04-04 Cable Television Laboratories, Inc. Cross-reference of shared browser applications
WO2014144339A1 (en) * 2013-03-15 2014-09-18 Zoll Medical Corporation Patient monitor screen aggregation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2005102012A (ru) * 2002-06-28 2005-07-10 Квэлкомм Инкорпорейтед (US) Оптимизация ресурсов канала данных для устройств в сети
US20100281107A1 (en) * 2009-05-01 2010-11-04 Fallows John R Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
EP2608479A1 (en) * 2011-12-23 2013-06-26 France Telecom Method of communication between at least a first device requesting an execution of a remote function by a second device capable of executing the remote function
US20130232223A1 (en) * 2012-03-02 2013-09-05 Realtek Semiconductor Corp. Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product

Also Published As

Publication number Publication date
US20170308413A1 (en) 2017-10-26
RU2016115536A (ru) 2017-10-30
WO2015041488A1 (ko) 2015-03-26
US20190012215A1 (en) 2019-01-10
US20160239353A1 (en) 2016-08-18
MX359294B (es) 2018-09-24
MX2018011368A (es) 2022-01-18
BR112016006437B1 (pt) 2022-11-22
JP2016533550A (ja) 2016-10-27
RU2016115536A3 (ru) 2018-06-26
JP6665086B2 (ja) 2020-03-13
CN105579969A (zh) 2016-05-11
CA2925279A1 (en) 2015-03-26
US10592303B2 (en) 2020-03-17
MX2016003842A (es) 2016-08-04
EP3051417A4 (en) 2017-05-17
KR102121472B1 (ko) 2020-06-17
US10592301B2 (en) 2020-03-17
KR20150033163A (ko) 2015-04-01
CA2925279C (en) 2022-10-18
BR112016006437A2 (pt) 2017-08-01
US9720745B2 (en) 2017-08-01
EP3051417A1 (en) 2016-08-03

Similar Documents

Publication Publication Date Title
RU2676418C2 (ru) Способ и аппарат для специфичной для устройства связи между программами приложений
EP2989848B1 (en) Electronic device and method of registering personal cloud apparatus in user portal server thereof
KR102258608B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
JP6271203B2 (ja) 電子機器、プログラム、及び情報制御方法
US20180088923A1 (en) Method, User Equipment, and Application Server for Downloading Application
US20190068737A1 (en) Message pushing system, client equipment and message pushing method thereof
CN111642031B (zh) 多设备间的连接方法及电子设备、计算机可读存储介质
KR101251099B1 (ko) 원격 접속 과정 모니터링 방법 및 원격 접속 모니터링 시스템
CN107102874B (zh) 一种应用程序并发安装方法及系统
CN105450894A (zh) 一种跨网络的手机传输图片到电视的方法
JP6632751B2 (ja) 受信機および通信方法、サーバ機器
KR102246755B1 (ko) 기기 별 응용 프로그램간 통신을 위한 장치 및 방법
CN104767667A (zh) 一种web网页多屏共享的方法及终端设备、网站服务器
KR20120080892A (ko) 통신기기와 정보기기 간 데이터 통신 시스템 및 통신 방법
JP6501859B2 (ja) 受信機および通信方法、サーバー機器
JP2020053988A (ja) 受信機および通信方法、サーバ機器
JP2021170812A (ja) 受信機および通信方法、サーバ機器
CN111263422A (zh) 一种发现智能设备的方法及装置
CN110275718B (zh) 网络装置与系统及嵌入式控制程序的安装及启动方法
KR102324669B1 (ko) 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치