СПОСОБ И УСТРОЙСТВО ДЛЯ ИСПОЛНЕНИЯ ПРИЛОЖЕНИЯ В СИСТЕМЕ БЕСПРОВОДНОЙ СВЯЗИ
METHOD AND DEVICE FOR IMPLEMENTING APPLICATION IN WIRELESS COMMUNICATION SYSTEM

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее раскрытие изобретения относится к способу и устройству для запуска приложения в системе беспроводной связи.
УРОВЕНЬ ТЕХНИКИ
[0002] С прогрессом в сетевых технологиях и мультимедийных технологиях разработаны различные типы устройств, и ускорилось сближение между теми устройствами. В соответствии этим различные устройства, например цифровые телевизоры (ТВ), домашние кинотеатры, вычислительные устройства, мобильные терминалы и т. п. часто передают и принимают данные и предоставляют объединенные услуги в сетевой среде. Для предоставления объединенных услуг существует растущая потребность в структуре для управления взаимными операциями между устройствами или в структуре для выполнения операций, которые взаимосвязаны между устройствами.
[0003] Вышеприведенная информация представляется в качестве вспомогательной информации только для содействия пониманию настоящего раскрытия изобретения. Не дано никакого определения и не сделано никакого утверждения в отношении того, могло ли любое из вышеупомянутого применяться в качестве известного уровня техники относительно настоящего раскрытия изобретения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Аспекты настоящего раскрытия изобретения относятся к решению по меньшей мере вышеупомянутых проблем и/или недостатков и обеспечению по меньшей мере описанных ниже преимуществ. Соответственно, аспект настоящего раскрытия изобретения состоит в предоставлении способа и устройства для запуска приложения в системе беспроводной связи.
[0005] Другой аспект настоящего раскрытия изобретения состоит в предоставлении способа и устройства для передачи и приема информации о приложении между устройствами в системе беспроводной связи.
[0006] Другой аспект настоящего раскрытия изобретения состоит в предоставлении способа и устройства для использования нескольких экранов на основе нескольких устройств.
[0007] Другой аспект настоящего раскрытия изобретения состоит в предоставлении способа и устройства для совместного использования приложений между несколькими устройствами в сетевой среде, где соединены несколько устройств.
[0008] Другой аспект настоящего раскрытия изобретения состоит в предоставлении способа и устройства для выполнения операции управления между устройствами на основе операции взаимодействия приложений.
[0009] В соответствии с аспектом настоящего раскрытия изобретения предоставляется способ для запуска приложения первым устройством в системе беспроводной связи. Способ включает в себя обнаружение второго устройства с использованием первого приложения и передачу второму устройству информации для запроса запуска второго приложения вторым устройством.
[0010] В соответствии с другим аспектом настоящего раскрытия изобретения предоставляется способ для запуска приложения первым устройством в системе беспроводной связи. Способ включает в себя прием от второго устройства информации для запроса запуска первого приложения и запуск первого приложения на основе этой информации.
[0011] В соответствии с другим аспектом настоящего раскрытия изобретения предоставляется первое устройство в системе беспроводной связи. Первое устройство включает в себя блок приложения, сконфигурированный для обнаружения второго устройства с использованием первого приложения и передачи второму устройству информации для запроса запуска второго приложения вторым устройством.
[0012] В соответствии с другим аспектом настоящего раскрытия изобретения предоставляется первое устройство в системе беспроводной связи. Первое устройство включает в себя средство управления (диспетчер), сконфигурированное для приема от второго устройства информации для запроса запуска первого приложения; и блок приложения, сконфигурированный для запуска первого приложения на основе этой информации.
[0013] Другие аспекты, преимущества и характерные признаки раскрытия изобретения станут очевидны специалистам в данной области техники из нижеследующего подробного описания, которое в сочетании с приложенными чертежами раскрывает различные варианты осуществления из настоящего раскрытия изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] Вышеупомянутые и другие аспекты, признаки и преимущества некоторых вариантов осуществления из настоящего раскрытия изобретения станут более очевидными из нижеследующего описания в сочетании с прилагаемыми чертежами, на которых:
[0015] фиг. 1 иллюстрирует схематическую структуру системы беспроводной связи в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения;
[0016] фиг. 2 – поток сигналов, иллюстрирующий процесс обнаружения второго устройства и спаривания со вторым устройством с помощью первого устройства в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения;
[0017] фиг. 3 – поток сигналов, иллюстрирующий процесс запуска приложения из второго устройства первым устройством в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения;
[0018] фиг. 4 – поток сигналов, иллюстрирующий процесс запуска приложения из первого устройства вторым устройством в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения;
[0019] фиг. 5 иллюстрирует схематическую структуру системы беспроводной связи в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения;
[0020] фиг. 6 – поток сигналов, иллюстрирующий процесс обнаружения между первым устройством и вторым устройством в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения;
[0021] фиг. 7 – поток сигналов, иллюстрирующий процесс межпрограммного запуска между первым устройством и вторым устройством в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения;
[0022] фиг. 8 иллюстрирует пример, к которому применяется способ в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения;
[0023] фиг. 9 иллюстрирует схематическую структуру системы беспроводной связи в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения;
[0024] фиг. 10 – поток сигналов, иллюстрирующий процесс запуска приложения из первого устройства вторым устройством в системе беспроводной связи в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения;
[0025] фиг. 11 – поток сигналов, иллюстрирующий процесс поиска первого устройства вторым устройством в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения;
[0026] фиг. 12 – поток сигналов, иллюстрирующий процесс запуска приложения из первого устройства в системе беспроводной связи в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения;
[0027] фиг. 13 – логическая блок-схема, иллюстрирующая процесс запуска и завершения приложения первым устройством в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения;
[0028] фиг. 14 – логическая блок-схема, иллюстрирующая операцию, ассоциированную с запуском приложения вторым устройством в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения; и
[0029] фиг. 15 иллюстрирует пример, к которому применяется способ в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[0030] На всех чертежах будет подразумеваться, что одинаковые номера ссылок ссылаются на одинаковые части, компоненты и структуры.
ПОДРОБНОЕ ОПИСАНИЕ
[0031] Нижеследующее описание со ссылкой на прилагаемые чертежи предоставляется для содействия комплексному пониманию различных вариантов осуществления из настоящего раскрытия изобретения, которое задано формулой изобретения и ее эквивалентами. Оно включает в себя различные специальные подробности для помощи в понимании, но эти подробности должны рассматриваться всего лишь как примерные. Соответственно, средние специалисты в данной области техники признают, что можно создать различные изменения и модификации различных вариантов осуществления, описанных в этом документе, без отклонения от объема и сущности настоящего раскрытия изобретения. К тому же описания общеизвестных функций и конструкций для ясности и краткости можно пропустить.
[0032] Термины и слова, используемые в нижеследующем описании и формуле изобретения, не ограничиваются библиографическими значениями, а всего лишь используются автором изобретения для обеспечения четкого и согласованного понимания настоящего раскрытия изобретения. Соответственно, специалистам в данной области техники должно быть очевидно, что нижеследующее описание различных вариантов осуществления из настоящего раскрытия изобретения предоставляется только с целью иллюстрации, а не с целью ограничения настоящего раскрытия изобретения, которое задано прилагаемой формулой изобретения и ее эквивалентами.
[0033] Нужно понимать, что формы единственного числа включают в себя множественные объекты ссылки, пока контекст явно не предписывает иное. Таким образом, например, ссылка на "поверхность компонента" включает в себя ссылку на одну или несколько таких поверхностей.
[0034] Хотя такие термины, как "первый" и "второй", используемые в различных вариантах осуществления из настоящего раскрытия изобретения, могут изменять различные элементы различных вариантов осуществления, эти термины не ограничивают соответствующие элементы. Например, эти термины не ограничивают порядок и/или важность соответствующих элементов. Эти термины можно использовать с целью отличения одного элемента от другого элемента. Например, первое пользовательское устройство и второе пользовательское устройство указывают пользовательские устройства или могут указывать разные пользовательские устройства. Например, первый элемент можно называть вторым элементом без отклонения от объема права различных вариантов осуществления из настоящего раскрытия изобретения, и второй элемент можно аналогичным образом называть первым элементом.
[0035] Следует понимать, что термин "включает в себя" или "имеет", используемый в различных вариантах осуществления из настоящего раскрытия изобретения, служит для указания наличия признаков, количеств, операций, элементов, частей или их сочетания, описанных в спецификациях, и не препятствует наличию или добавлению одного или нескольких других признаков, количеств, операций, элементов, частей или их сочетания.
[0036] Термины, заданные в настоящем раскрытии изобретения, используются только для описания конкретного варианта осуществления и могут не обладать намерением ограничить объем других вариантов осуществления. Все используемые здесь термины, включая технический термин и научный термин, могут иметь такой же смысл, как и смысл, который, как правило, может подразумеваться обычным специалистом в данной области техники. Можно проанализировать, что общепринятые термины, заданные в словаре, имеют такой же смысл или смысл, аналогичный таковому у контекста связанной технологии, и не рассматриваются в качестве идеального или чрезмерно формального смысла, пока не задано явно.
[0037] В соответствии с различными вариантами осуществления из настоящего раскрытия изобретения устройство может обладать функцией связи. Например, электронное устройство может включать в себя по меньшей мере одно из смартфона, планшетного персонального компьютера (ПК), мобильного телефона, видеотелефона, устройства для чтения электронных книг (e-book), настольного ПК, переносного ПК, нетбука, персонального цифрового помощника (PDA), портативного мультимедийного проигрывателя (PMP), проигрывателя аудио уровня 3 Экспертной группы по движущимся изображениям фазы 1 или фазы 2 (MPEG-1 или MPEG-2) (MP3), мобильного медицинского оборудования, камеры и носимого устройства (например, укрепляемого на голове устройства (HMD)), одежды с электроникой, электронных браслетов, электронных ожерелий, электронных принадлежностей, электронных татуировок, интеллектуальных часов и т. п.
[0038] В соответствии с различными вариантами осуществления из настоящего раскрытия изобретения устройство может быть интеллектуальным бытовым прибором, обладающим функцией связи. Интеллектуальный бытовой прибор может включать в себя, например, по меньшей мере одно из телевизора (ТВ), проигрывателя универсальных цифровых дисков (DVD), аудиооборудования, холодильника, кондиционера, пылесоса, печи, СВЧ-печи, стиральной машины, воздухоочистителя, телевизионной приставки (STB), ТВ-приставки (например, Samsung HomeSync™, Apple TV™ или Google TV™), игровой приставки, электронного словаря, видеокамеры и электронной фоторамки.
[0039] В соответствии с другим вариантом осуществления из настоящего раскрытия изобретения электронное устройство может включать в себя медицинское оборудование (например, устройство магнитно-резонансной ангиографии (MRA), магнитно-резонансную томографию (MRI), устройство компьютерной томографии (CT), формирователь изображений или ультразвуковое устройство), навигационную систему, приемник системы глобального позиционирования (GPS), регистратор событий (EDR), бортовое устройство регистрации (FDR), информационно-развлекательное устройство транспортного средства, электронное оборудование для судов (например, навигационную систему для судов, гироскоп или компас для судов), авиационную электронику, устройство системы безопасности, промышленного робота или домашнего робота и т. п.
[0040] В соответствии с различными вариантами осуществления из настоящего раскрытия изобретения устройство может включать в себя предмет мебели, часть здания/конструкции, электронную плату, устройство приема электронной подписи, проектор и различные измерительные инструменты (например, устройство измерения воды, электричества, газа или волны электрического вектора), которые обладают функцией связи.
[0041] В соответствии с различными вариантами осуществления из настоящего раскрытия изобретения устройство может быть сочетанием вышеописанных устройств. Средним специалистам в данной области техники станет очевидно, что электронное устройство в соответствии с различными вариантами осуществления из настоящего раскрытия изобретения не ограничивается вышеперечисленными устройствами.
[0042] В соответствии с различными вариантами осуществления из настоящего раскрытия изобретения устройство может быть, например, электронным устройством.
[0043] В варианте осуществления из настоящего раскрытия изобретения предоставляются способ и устройство для запуска приложения в системе беспроводной связи. Система беспроводной связи может быть системой беспроводной связи в сетевой среде (например, домашней сетевой среде и т. п.), где соединены несколько устройств. В системе беспроводной связи первое устройство и второе устройство взаимодействуют друг с другом так, что второе устройство предоставляет первому устройству информацию о приложении в первом устройстве, которое ассоциируется с приложением во втором устройстве. Точнее говоря, второе устройство обнаруживает первое устройство, с которым второе устройство может взаимодействовать на основе веб-технологии, и передает первому устройству информацию о приложении в первом устройстве, которое ассоциируется с приложением во втором устройстве, чтобы запустить приложение в первом устройстве.
[0044] Может быть полезно сформулировать определения некоторых слов и фраз, используемых по всему данному патентному документу, термин "включают в себя" и "содержат", а также их производные, означают включение без ограничения, термин "или" является включающим, означая "и/или", фразы "ассоциированный с" и "ассоциированный с этим", а также их производные, могут означать "включают в себя", "включены в", "связывают с", "содержат", "содержатся в", "подключают к", "соединяют с", "совместимы с", "взаимодействуют с", "чередуют", "сопоставляют", "находятся близко к", "связаны с", "имеют", "обладают свойством" и т. п., и термин "контроллер" означает любое устройство, систему или их часть, которое (которая) управляет по меньшей мере одной операцией, такое устройство можно реализовать в аппаратных средствах, микропрограммном обеспечении или программном обеспечении либо в некотором сочетании по меньшей мере из двух перечисленных. Следует отметить, что функциональные возможности, ассоциированные с любым конкретным контроллером, могут быть централизованными или распределенными, локально либо удаленно. Определения для некоторых слов и фраз предоставляются по всему этому патентному документу, средние специалисты в данной области техники должны понимать, что во многих, если не в большинстве случаев такие определения применяются к прежним, а также к будущим употреблениям таких определенных слов и фраз.
[0045] В варианте осуществления из настоящего раскрытия изобретения в сетевой среде, где соединены несколько устройств, с помощью операции обнаружения и операции передачи/приема информации о приложении между устройствами на основе веб-технологии второе устройство может запустить приложение из первого устройства, либо первое устройство может запустить приложение из второго устройства. Например, если первое устройство является цифровым телевизором (DTV), а второе устройство является мобильным терминалом, то второе устройство может запустить приложение, ассоциированное с вещанием от первого устройства, используя приложение (электронную программу передач (EPG) и т. п.) из второго устройства.
[0046] Кроме того, в варианте осуществления из настоящего раскрытия изобретения может поддерживаться использование нескольких экранов (MS), так что первое устройство может отображать основную информацию (вещательную программу или вещательную информацию), а второе устройство может отображать дополнительную информацию (дополнительную вещательную информацию).
[0047] Кроме того, в варианте осуществления из настоящего раскрытия изобретения второе устройство может выполнять операцию управления (установку громкости и переключение канала) по отношению к первому устройству, используя приложение (пульт дистанционного управления) из второго устройства. В традиционной гибридной вещательной среде предшествующего уровня техники информацию о приложении, ассоциированном с вещанием, необходимо получать в первом устройстве по вещательной сети, тогда как в варианте осуществления из настоящего раскрытия изобретения информацию о приложении из первого устройства можно получить во втором устройстве.
[0048] В варианте осуществления из настоящего раскрытия изобретения предоставляется подробный протокол, необходимый для взаимодействия между вторым устройством и первым устройством, вместе со способом конфигурирования системы, необходимым для взаимодействия между несколькими устройствами в одной сети. В варианте осуществления из настоящего раскрытия изобретения в результате предоставления общей структуры для взаимодействия приложений между несколькими устройствами общая структура может использоваться для интерфейса удаленного пользователя (RUI) либо может использоваться в средах различных стандартов вещания.
[0049] Между тем в варианте осуществления из настоящего раскрытия изобретения приложение может включать в себя веб-приложение, созданное на языке гипертекстовой разметки 5 (HTML5), и собственное приложение, зависящее от операционной системы (ОС) устройства. Для удобства приложение будет называться "приложением" (App).
[0050] Будет подробно описываться вариант осуществления из настоящего раскрытия изобретения. Вариант осуществления из настоящего раскрытия изобретения может предоставить следующие способы:
[0051] - конфигурирование системы беспроводной связи для взаимодействия между вторым устройством и первым устройством;
[0052] - способ для обнаружения первого устройства вторым устройством;
[0053] - способ для обнаружения второго устройства первым устройством;
[0054] - способ для запуска вторым устройством конкретного приложения в первом устройстве;
[0055] - способ для выбора вторым устройством приложения, подходящего к возможностям первого устройства; и
[0056] - способ для предоставления информации о конечной точке услуги для предоставления услуги первым устройством.
ПЕРВЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0057] Фиг. 1 иллюстрирует схематическую структуру системы беспроводной связи в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения.
[0058] Ссылаясь на фиг. 1, система беспроводной связи может включать в себя веб-сервер 130 и несколько устройств. Несколько устройств осуществляют связь в одной и той же сети и могут быть, например, устройствами, допускающими беспроводную связь в домашней сети. На фиг. 1 среди нескольких устройств будет описываться первое устройство 100 и второе устройство 110, которые допускают взаимодействие друг с другом.
[0060] Первое устройство 100 указывает основное устройство, в котором запускается приложение. Например, первое устройство 100 может быть распространенным устройством, например цифровым ТВ (DTV) или STB, а приложение может быть приложением, ассоциированным с вещанием.
[0061] Второе устройство 110 указывает вспомогательное устройство, которое запускает приложение путем взаимодействия с первым устройством 100. Второе устройство 110 может быть абонентским терминалом, например мобильным терминалом или планшетным ПК.
[0062] Первое устройство 100 и второе устройство 110 могут включать в себя веб-обозреватели 102 и 112 соответственно. Веб-обозреватели 102 и 112 используются для запуска веб-приложений 104 и 114, созданных с использованием HTML5 140 и 150 и связанных веб-технологий.
[0063] Второе устройство 110 может включать в себя собственное приложение 116. Собственное приложение 116 указывает приложение, запущенное на платформе ОС (например, Android, iOS, Windows, Tizen и т. п.) второго устройства 110. Собственное приложение 116 можно компилировать в двоичный код и запускать.
[0064] Средство 106 управления несколькими экранами (MS), включенное в первое устройство 100, выполняет операции, необходимые для взаимодействия со вторым устройством 110 посредством унифицированного идентификатора 170 ресурса (URI). То есть средство 106 управления MS обнаруживает второе устройство 110 в сети и передает информацию о запуске приложения в средство 118 запуска MS во втором устройстве 110. Средство 106 управления MS выполняет функцию доставки информации о приложении во второе устройство 110, функцию запроса запуска приложения со второго устройства 110 и функцию обеспечения межпрограммной связи между первым устройством 100 и вторым устройством 110.
[0065] Средство 118 запуска MS, включенное во второе устройство 110, выполняет операции, необходимые для взаимодействия с первым устройством 100. То есть средство 118 запуска MS осуществляет связь с средством 106 управления MS и запускает приложение второго устройства 110. Средство 118 запуска MS выполняет функции обнаружения первого устройства 100 в сети, функцию запроса запуска приложения из первого устройства 100 и функцию обеспечения межпрограммной связи между вторым устройством 110 и первым устройством 100.
[0066] Средним специалистам в данной области техники будет понятно, что веб-обозреватель 102 и средство 106 управления MS имеют между собой локальную привязку 160, а веб-обозреватель 112 и собственное приложение 116 локально привязаны 160 к средству 118 запуска MS.
[0067] Фиг. 2 – поток сигналов, иллюстрирующий процесс обнаружения второго устройства и спаривания со вторым устройством с помощью первого устройства в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения.
[0068] Ссылаясь на фиг. 2, первое устройство 100 на этапе 214 отправляет запрос унифицированного указателя ресурса (URL) веб-серверу 130 посредством веб-обозревателя 102. На этапе 216 первое устройство 100 принимает веб-страницу от веб-сервера 130. Веб-обозреватель 102 обрабатывает и отображает принятую веб-страницу в качестве первичного приложения 105.
[0069] Первичное приложение 105, запущенное веб-обозревателем 102, на этапе 218 отправляет запрос списка доступных вторых устройств 110 (список идентификаторов (ID) вторых устройств) средству 106 управления MS, используя предопределенный интерфейс прикладного программирования (API) (например, getAvailableCSDevice()), чтобы обнаружить второе устройство 110.
[0070] Средство 106 управления MS на этапе 220 отправляет сигнал средству 118 запуска MS во втором устройстве 110, чтобы обнаружить второе устройство 110, существующее в сети, и принимает ответный сигнал от устройства 118 запуска MS на этапе 222. Протокол, используемый для обнаружения второго устройства 110, может быть протоколом, заданным в описываемом ниже втором варианте осуществления, и будет подробно описываться, когда описывается второй вариант осуществления. Средство 106 управления MS при приеме ответного сигнала определяет, что второе устройство 110 является доступным устройством, и передает информацию о втором устройстве 110 первичному приложению 105 на этапе 224.
[0071] Хотя на фиг. 2 иллюстрируется, что имеется одно второе устройство 110, в сети может существовать несколько вторых устройств 110, и в этом случае в средстве 106 управления MS формируется список вторых устройств 110 и передается первичному приложению 105.
[0073] Как только выбирается второе устройство 110, первичное приложение 105 на этапе 228 сохраняет ID второго устройства 110 и информацию URL для запуска CS-приложения 115, которое является приложением из второго устройства 110. Сохраненная информация может использоваться позже для запуска первым устройством CS-приложения 115 из второго устройства 110.
[0074] Фиг. 3 – поток сигналов, иллюстрирующий процесс запуска приложения из второго устройства первым устройством в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения.
[0075] Ссылаясь на фиг. 3, как только на этапе 314 завершено обнаружение и спаривание второго устройства 110 вследствие этапов 214 – 228 из описанной выше фиг. 2, первичное приложение 105 на этапе 316 передает информацию о CS-приложении 115, которое будет запущено на втором устройстве 110, средству 106 управления MS с использованием конкретного API (например, sendCSURI()).
[0076] Средство 106 управления MS на этапе 318 доставляет информацию о CS-приложении 115, которое будет запущено, средству 118 запуска MS во втором устройстве 110. Средство 118 запуска MS на этапе 320 передает веб-обозревателю 112 информацию унифицированного идентификатора ресурса (URI) (включая информацию URL и информацию унифицированного имени ресурса (URN)), включенную в информацию о CS-приложении 115, которое будет запущено.
[0077] Веб-обозреватель 112 на основе информации URI определяет, является ли CS-приложение 115, которое будет запущено, собственным приложением либо веб-приложением. Если CS-приложение 115, которое будет запущено, является собственным приложением, то веб-обозреватель 112 на этапе 322 запускает собственное приложение.
[0078] Если CS-приложение 115, которое будет запущено, является веб-приложением, то веб-обозреватель 112 на этапе 324 запрашивает передачу веб-страницы путем отправки веб-серверу 130 запроса URL, включающего в себя URI. Как только принимается веб-страницы от веб-сервера 130, веб-обозреватель 112 отображает соответствующую веб-страницу в качестве CS-приложения 115.
[0079] По существу, поскольку на этапе 326 CS-приложение 115 запускается первичным приложением 105 в первом устройстве 100, первичное приложение 105 и CS-приложение 115 могут работать во взаимодействии друг с другом.
[0080] Таблица 1 кратко показывает API, которые доступны в первом устройстве 100, как исполняемые на этапе 218 из фиг. 2 и этапе 316 из фиг. 3.
<b>ТАБЛИЦА 1</b>
API
Описание
Входной показатель
Выходной показатель
getAvailableCSDevice(void)
Получить список вторых устройств, доступных в сети
Нет
- Успех: список устройств- Ошибка: null
sendSURI(unit target_device, char*URI)
Отправить информацию URI о приложении второму устройству
- unit target_device: ID целевого второго устройства- char* URI: Информация о местоположении CS-приложения, которое будет запущено
- Успех: истина- Ошибка: ложь
[0081] Ссылаясь на таблицу 1, getAvailableCSDevice() не имеет входного показателя и используется для получения списка вторых устройств, доступных в сети. sendCSURI() имеет два входных показателя: unit target_device, указывающий ID второго устройства, которое является целевым объектом запуска приложения, и информация URI о приложении из второго устройства, которое будет запущено, и может использоваться для запуска приложения из второго устройства.
[0082] Фиг. 4 – поток сигналов, иллюстрирующий процесс запуска приложения из первого устройства вторым устройством в соответствии с первым вариантом осуществления из настоящего раскрытия изобретения.
[0083] Ссылаясь на фиг. 4, если CS-приложение 115 является собственным приложением, то CS-приложение 115 запускается пользователем на этапе 414. Если CS-приложение 115 является веб-приложением, то на этапе 416 веб-серверу 130 отправляется запрос URL с помощью веб-обозревателя 102, чтобы запросить передачу веб-страницы. После приема веб-страницы от веб-сервера 130 веб-обозреватель 112 на этапе 418 отображает принятую веб-страницу в качестве CS-приложения 115.
[0084] На этапе 420 CS-приложение 115 отправляет средству 118 запуска MS запрос списка доступных первых устройств 100, используя конкретный API (например, getAvailablePrimaryDevice()).
[0085] Средство 118 запуска MS на этапе 422 отправляет сигнал средству 106 управления MS в первом устройстве 100 для обнаружения первого устройства 100, существующего в сети, и принимает ответный сигнал от устройства 106 управления MS на этапе 423. Протокол, используемый для обнаружения первого устройства 100, может быть протоколом, заданным в описываемом ниже третьем варианте осуществления. Средство 118 запуска MS при приеме ответного сигнала определяет, что первое устройство 100 является доступным устройством, и передает информацию о первом устройстве 100 CS-приложению 115 на этапе 424.
[0086] Между тем на фиг. 4 иллюстрируется, что имеется одно первое устройство 100, в сети может существовать несколько первых устройств 100, и в этом случае в средстве 118 запуска MS список первых устройств 100 может формироваться и передаваться CS-приложению 115.
[0087] CS-приложение 115 отображает информацию о первом устройстве 100 на экране для приема пользовательского выбора, использовать ли первое устройство 100. Например, не будет подробно оговорено то, как отображать на экране информацию о первом устройстве 100, как принимать выбор от пользователя и выбирает ли второе устройство 110 автоматически первое устройство 100. Однако, поскольку информация о первом устройстве 100 доставляется в CS-приложение 115, пользовательский выбор можно принять посредством CS-приложения 115.
[0088] Как только выбирается первое устройство 100, CS-приложение 115 на этапе 426 передает информацию для запуска первичного приложения средству 118 запуска MS, используя конкретный API (launchPrimaryAppURI()). То есть CS-приложение 115 доставляет средству 118 запуска MS информацию о первом устройстве 100 и информацию о первичном приложении 105, например, информацию URI. Затем на этапе 428 средство 118 запуска MS на основе доставленной информации передает информацию о первичном приложении 105, которое будет запущено на первом устройстве 100, средству 106 управления MS в первом устройстве 100.
[0089] Средство 106 управления MS передает информацию URI веб-обозревателю 102 на этапе 430. Затем веб-обозреватель 102 на основе информации URI определяет, является ли первичное приложение 105, которое будет запущено, собственным приложением либо веб-приложением. Если первичное приложение 105, которое будет запущено, является собственным приложением, то веб-обозреватель 102 на этапе 432 запускает собственное приложение в качестве первичного приложения 105.
[0090] Если первичное приложение 105, которое будет запущено, является веб-приложением, то веб-обозреватель 102 на этапе 434 отправляет веб-серверу 130 запрос URL, включающий в себя URI, чтобы запросить передачу веб-страницы. На этапе 436 при приеме веб-страницы от веб-сервера 130 веб-обозреватель 102 отображает веб-страницу в качестве первичного приложения 105.
[0091] По существу, первичное приложение 105 запущено CS-приложением 115 из второго устройства 110, и таким образом, первичное приложение 105 и CS-приложение 115 работают во взаимодействии друг с другом.
[0092] Таблица 2 является таблицей, которая кратко показывает API, которые доступны во втором устройстве 110, например на этапах 420 и 426 из фиг. 4.
<b>ТАБЛИЦА 2</b>
API
Описание
Входной показатель
Выходной показатель
getAvailablePrimaryDevice(void)
Получить список первых устройств, доступных в сети
Нет
- Успех: список устройств- Ошибка: null
sendPrimaryAppURI(unit target_device, char*URI)
Отправить информацию URI о приложении первому устройству
- unit target_device: ID целевого первого устройства- char* URI: информация о местоположении первичного приложения, которое будет запущено
- Успех: истина- Ошибка: ложь
[0093] Ссылаясь на таблицу 2, getAvailablePrimaryDevice() не имеет входного показателя и используется для получения списка первых устройств, доступных в сети. sendPrimaryAppURI() имеет два входных показателя: unit target_device, указывающий ID первого устройства, которое является целевым объектом запуска приложения, и информация URI о приложении из первого устройства, которое будет запущено, и может использоваться для запуска приложения из первого устройства.
ВТОРОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0094] Фиг. 5 иллюстрирует схематическую структуру системы беспроводной связи в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения.
[0095] Ссылаясь на фиг. 5, система беспроводной связи может включать в себя веб-сервер 530 и несколько устройств. Несколько устройств осуществляют связь друг с другом в одной и той же сети и могут быть, например, устройствами, допускающими беспроводную связь в домашней сети. Со ссылкой на фиг. 5 среди нескольких устройств будет приведено описание первого устройства 500 и второго устройства 520, допускающих взаимодействие друг с другом.
[0096] Первое устройство 500 может включать в себя веб-обозреватель 504, собственное приложение 502 и веб-приложение 506, и средство 508 управления MS для взаимодействия со вторым устройством 520. Второе устройство 520 может включать в себя веб-обозреватель 522, веб-приложение 524, собственное приложение 526 и средство 528 запуска MS.
[0097] Веб-обозреватели 504 и 522, веб-приложения 506 и 524, собственные приложения 502 и 526, средство 508 управления MS и средство 528 запуска MS из фиг. 5 выполняют операции, соответствующие операциям веб-обозревателей 102 и 112, веб-приложений 104 и 114, собственных приложений 116, устройства 116 управления MS, устройства 106 управления MS и устройства 118 запуска MS из фиг. 1.
[0098] Однако средство 508 управления MS и средство 528 запуска MS из фиг. 5 могут включать в себя подробные элементы. То есть средство 508 управления MS может включать в себя блок 512 универсального автоматического конфигурирования (UPnP), сервер 514 протокола передачи гипертекстовых файлов (HTTP) и сервер 510 веб-сокетов, а средство 528 запуска MS может включать в себя блок 534 UPnP и сервер 532 HTTP.
[0099] Блоки 512 и 534 UPnP включаются соответственно в первое устройство 500 и второе устройство 520 и выполняют операцию обнаружения устройства. Точнее говоря, блоки 512 и 534 UPnP обнаруживают другое устройство в сети с использованием простого протокола поиска и обнаружения (SSDP) и уведомляют сеть о его наличии.
[00100] Серверы 514 и 532 HTTP включаются соответственно в первое устройство 500 и второе устройство 520, принимают запрос по протоколу HTTP и выполняют операцию, соответствующую принятому запросу. Во втором варианте осуществления из настоящего раскрытия изобретения серверы 514 и 532 HTTP принимают запрос HTTP GET и запрос HTTP POST от другого устройства, чтобы запустить приложение, и выполняют операцию, соответствующую тем запросам. Во втором варианте осуществления из настоящего раскрытия изобретения серверы 514 и 532 HTTP могут не выполнять работу обычного веб-сервера для распределения веб-страницы, кроме вышеописанных операций.
[00101] Сервер 510 веб-сокетов включается в первое устройство 500 и выполняет операцию обработки протокола веб-сокетов. Во втором варианте осуществления из настоящего раскрытия изобретения сервер 510 веб-сокетов принимает запрос веб-сокета от второго устройства 520 и обрабатывает принятый запрос веб-сокета, чтобы обеспечить межпрограммную связь между первым устройством 500 и вторым устройством 520.
[00102] Ниже со ссылкой на фиг. 6 будет описываться операция обнаружения между первым устройством 500 и вторым устройством 520.
[00103] Фиг. 6 – поток сигналов, иллюстрирующий процесс обнаружения между первым устройством и вторым устройством 520 в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения. Процесс, описанный со ссылкой на фиг. 6, может соответствовать подробным операциям подробного протокола getAvailableCSDevice() в описанной выше таблице 1.
[00104] Ссылаясь на фиг. 6, сначала будет приведено описание примера, где первое устройство 500 обнаруживает второе устройство 520. На этапе 622 блок 512 UPnP в первом устройстве 500 передает сигнал для обнаружения устройства. Например, блок 512 UPnP передает сигнал, который показан в таблице 3, с использованием метода M-SEARCH в SSDP, чтобы обнаружить второе устройство 520, доступное в сети.
Таблица 3
[00105] После приема вышеупомянутого сигнала блок 534 UPnP второго устройства 520 на этапе 624 передает ответный сигнал, включающий в себя информацию URL, чтобы уведомить первое устройство 500 о наличии второго устройства 520. Например, блок 534 UPnP может передать ответный сигнал, который показан в таблице 4, и ответный сигнал может включать в себя информацию URL, связанную с информацией о втором устройстве 520, в заголовке LOCATION.
Таблица 4
[00106] При приеме ответного сигнала блок 512 UPnP первого устройства 500 на этапе 626 отправляет запрос информации о втором устройстве 520 с использованием информации URL, включенной в заголовок LOCATION ответного сигнала. Запрос может отправляться на основе метода HTTP GET.
[00107] Сервер 532 HTTP второго устройства 520 на этапе 628 в ответ на запрос отправляет первому устройству 500 ответный сигнал, включающий в себя информацию URL, используемую для запуска приложения из второго устройства 520, то есть CS-приложения 527. Ответный сигнал, например, в виде HTTP Response, может включать в себя заголовок (x-Application-URL), включающий в себя информацию URL, используемую для запуска CS-приложения 527, как показано в таблице 5.
Таблица 5
[00108] Далее будет приведено описание примера, где второе устройство 520 обнаруживает первое устройство 500.
[00109] На этапе 630 блок 534 UPnP во втором устройстве 520 отправляет сигнал для обнаружения устройства. Например, блок 534 UPnP может отправить сигнал, который показан в таблице 6, с использованием метода M-SEARCH в SSDP, чтобы обнаружить первое устройство 500, доступное в сети.
Таблица 6
[00110] При приеме вышеупомянутого сигнала блок 512 UPnP в первом устройстве 500 на этапе 632 отправляет второму устройству 520 ответный сигнал, включающий в себя информацию URL, чтобы уведомить второе устройство 520 о наличии первого устройства 500. Например, блок 512 UPnP может отправить ответный сигнал, который показан в таблице 7, и ответный сигнал может включать в себя информацию URL, связанную с информацией о первом устройстве 500, в заголовке LOCATION.
Таблица 7
[00111] При приеме ответного сигнала сервер 532 HTTP во втором устройстве 520 на этапе 634 отправляет запрос информации о первом устройстве 500 с использованием информации URL, включенной в заголовок LOCATION ответного сигнала. Запрос может отправляться на основе метода HTTP GET.
[00112] Блок 512 UPnP первого устройства 500 на этапе 636 в ответ на запрос отправляет второму устройству 520 ответный сигнал, включающий в себя информацию URL, используемую для запуска приложения из первого устройства 500, то есть первичного приложения 506. Ответный сигнал, например, в виде HTTP Response, может включать в себя заголовок (x-Application-URL), включающий в себя информацию URL, используемую для запуска первичного приложения 506, как показано в таблице 8.
[00113] Поскольку первое устройство 500 содержит сервер 510 веб-сокетов, допускающий выполнение межпрограммной связи с приложением из второго устройства 520, первое устройство 510 на этапе 638 посредством ответного сигнала передает второму устройству 520 заголовок (x-WebSocket), включающий в себя информацию URL, для обращения к серверу 510 веб-сокетов.
Таблица 8
[00114] Фиг. 7 – поток сигналов, иллюстрирующий процесс межпрограммного запуска между первым устройством и вторым устройством в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения. Процесс, описываемый со ссылкой на фиг. 7, может соответствовать подробным операциям подробного протокола sendCSURI() в описанной выше таблице 1.
[00115] Ссылаясь на фиг. 7, сначала будет выполнено описание процесса запуска приложения из второго устройства 520 первым устройством 500. На этапе 722 средство 508 управления MS в первом устройстве 500 принимает два показателя от обозревателя 506 в первом устройстве 500 посредством sendCSURI(). Один из двух показателей, unit target_device, указывает ID второго устройства 520, которое является целевым объектом запуска приложения, и средство 508 управления MS получает информацию URL (x-Application-URL) для запуска приложения из второго устройства 520 на основе таблицы информации о втором устройстве. Таблица информации о втором устройстве может храниться и управляться в средстве 508 управления MS, и она показана в таблице 9.
<b>ТАБЛИЦА 9</b>
ID второго устройства
Описание устройства
x-Application-URL
112ABCD
Galaxy S4 Тома
http://192.168.1.52:80/ws/apps/
114DCDC
Galaxy Notes 3 Салли
http://192.168.1.53:80/ws/apps/
21122A
Galaxy Notes 10.1
http://192.168.1.54:80/ws/apps/
[00116] Как показано в таблице 9, таблица информации о втором устройстве может включать в себя ID второго устройства, информацию описания устройства, указывающую тип устройства, информацию URL приложения второго устройства и т. п.
[00117] Средство 508 управления MS в первом устройстве 500 на этапе 724 отправляет запрос HTTP POST, который показан в таблице 10, серверу 532 HTTP второго устройства 520 на основе полученной информации URL.
Таблица 10
[00118] Приложение, которое будет запущено на втором устройстве 520, может быть указано в CSAppPath с помощью информации URI, которая является другим показателем в sendCSURI(), то есть char * URI. Показатель, необходимый для запуска приложения из второго устройства 520, может передаваться посредством раздела BODY в HTTP в виде, который показан в таблице 10.
[00119] Сервер 532 HTTP второго устройства 520 анализирует принятый запрос HTTP POST и на этапе 726 доставляет средству 528 запуска MS информацию CSAppPath вместе с показателем в разделе BODY. Затем средство 528 запуска MS на этапе 728 запускает CS-приложение 527, которое является приложением из второго устройства 520, на основе информации URI, включенной в CSAppPath.
[00120] По приему на этапе 730 результата запуска (например, успешный запуск CS-приложения 527) средство 528 запуска MS на этапе 732 передает результат запуска CS-приложения 527 серверу 532 HTTP второго устройства 520. Затем на этапе 734 сервер 532 HTTP отправляет один (например, 201 CREATED) из кодов ответа, которые показаны в таблице 11, средству 508 управления MS в первом устройстве 500.
<b>ТАБЛИЦА 11</b>
Код ответа
Описание
201 CREATED
Приложение было успешно запущено. Возвращается заголовок LOCATION, который задает название работающего экземпляра приложения.
404 NOT FOUND
Нет такого приложения.
503 SERVICE UNAVAILABLE
Если приложение нельзя запустить немедленно, например, потому что устройство CS занято другим приложением.
[00121] В Таблице 11 код ответа 201 CREATED указывает, что CS-приложение 527 запущено успешно, код ответа 404 NOT FOUND указывает, что CS-приложение 527 не существует, и код ответа 503 SERVICE UNAVAILABLE указывает, что CS-приложение 527 временно нельзя запустить, потому что второе устройство 520 запускает другое приложение.
[00122] Далее будет приведено описание процесса, в котором второе устройство 520 запускает приложение первого устройства 500.
[00123] Средство 528 запуска MS во втором устройстве 520 на этапе 736 принимает два показателя от обозревателя 522 второго устройства 520 посредством sendPrimaryAppURI(). Один из двух показателей, unit target_device, указывает ID первого устройства 520, которое является целевым объектом запуска приложения, и средство 528 запуска MS получает информацию URL (x-Application-URL) для запуска приложения из первого устройства 500 на основе таблицы информации о первом устройстве. Таблица информации о первом устройстве хранится и управляется в средстве 528 запуска MS и может быть такой, как показана в таблице 12.
<b>ТАБЛИЦА 12</b>
ID первого устройства
Описание устройства
x-Application-URL
x-WebSocket
433ABC12
Samsung SmartTV 9000
http://192.168.1.10:80/ws/apps/
ws://192.168.1.10/
43414DCDC
Samsung SmartTV 4500
http://192.168.1.11:80/ws/apps/
ws://192.168.1.11/
[00124] Как показано в таблице 12, таблица информации о первом устройстве может включать в себя ID первого устройства, информацию описания устройства, указывающую тип устройства, информацию URL приложения первого устройства, информацию веб-сокета и т. п.
[00125] Средство 528 запуска MS во втором устройстве 520 на этапе 738 отправляет запрос HTTP POST, который показан в таблице 13, серверу 514 HTTP первого устройства 500 на основе полученной информации URL.
Таблица 13
[00126] Приложение, которое будет запущено на первом устройстве 500, может быть указано в PrimaryPath с помощью информации URI, которая является другим показателем в sendPrimaryAppURI(), то есть char * URI. Показатель, необходимый для запуска приложения из первого устройства 500, может передаваться посредством раздела BODY в HTTP в виде, который показан в таблице 13.
[00127] Сервер 514 HTTP первого устройства 500 на этапе 740 анализирует принятый запрос HTTP POST и на этапе 740 доставляет средству 508 управления MS информацию PrimaryAppPath вместе с показателем в разделе BODY. Затем на этапе 742 средство 508 управления MS запускает первичное приложение 506, которое является приложением из первого устройства 500, на основе информации URI, включенной в PrimaryAppPath.
[00128] При приеме на этапе 744 результата запуска первичного приложения 506 (например, успешный запуск первичного приложения 506) средство 508 управления MS на этапе 746 передает результат запуска первичного приложения 506 серверу 514 HTTP в первом устройстве 500. Затем на этапе 748 сервер 514 HTTP отправляет один (например, 201 CREATED) из кодов ответа, которые показаны в таблице 14, средству 528 запуска MS во втором устройстве 520.
<b>ТАБЛИЦА 14</b>
Код ответа
Описание
201 CREATED
Приложение было успешно запущено. Возвращается заголовок LOCATION, который задает название работающего экземпляра приложения.
404 NOT FOUND
Нет такого приложения
503 SERVICE UNAVAILABLE
Если приложение нельзя запустить немедленно, например, потому что ТВ сканирует каналы
[00129] В Таблице 14 код ответа 201 CREATED указывает, что первичное приложение 506 запущено успешно, код ответа 404 NOT FOUND указывает, что первичное приложение 506 не существует, и код ответа 503 SERVICE UNAVAILABLE указывает, что первичное приложение 506 временно нельзя запустить, потому что первое устройство 500 выполняет другую операцию (например, операцию сканирования ТВ-каналов и т. п.).
[00130] Фиг. 8 иллюстрирует пример, к которому применяется способ в соответствии со вторым вариантом осуществления из настоящего раскрытия изобретения.
[00131] Ссылаясь на фиг. 8, веб-сервер 530 является веб-сервером вещательной компании, первое устройство 500 является DTV, а второе устройство 520 является мобильным терминалом.
[00132] Пользователь может смотреть фильм 800 в потоковой передаче от веб-сервера 530. При просмотре фильма 800 пользователь может пожелать принять дополнительную информацию 810 о фильме 800 посредством второго устройства 520.
[00133] В этом случае первое устройство 500 запускает приложение из второго устройства 520 для предоставления дополнительной информации 810 на основе информации 820 URL о приложении из второго устройства 520. Как только запускается приложение из второго устройства 520, второе устройство 520 принимает дополнительную информацию 810 от веб-сервера 500 и предоставляет пользователю дополнительную информацию 810. Дополнительная информация 810 может включать в себя, например, информацию о ролях, краткое содержание фильма 800, интернет-покупки и т. п.
ТРЕТИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[00134] Фиг. 9 иллюстрирует схематическую структуру системы беспроводной связи в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[00135] Ссылаясь на фиг. 9, система беспроводной связи может включать в себя веб-сервер 900 и несколько устройств. Несколько устройств могут осуществлять связь друг с другом в одной и той же сети и могут быть, например, устройствами, допускающими беспроводную связь в домашней сети. Со ссылкой на фиг. 9 среди нескольких устройств будет приведено описание первого устройства 910 и второго устройства 920, допускающих взаимодействие друг с другом.
[00137] Первое устройство 910 указывает основное устройство, в котором запускается приложение. Например, первое устройство 910 может быть распространенным устройством, например DTV или STB, а приложение может быть приложением, связанным с вещанием.
[00138] Второе устройство 920 указывает вспомогательное устройство, которое запускает приложение путем взаимодействия с первым устройством 910. Второе устройство 920 может быть абонентским терминалом, например мобильным терминалом или планшетным ПК.
[00139] Первое устройство 910 и второе устройство 920 могут включать в себя веб-обозреватели 912 и 922 соответственно. Веб-обозреватели 912 и 922 используются для запуска веб-приложений 914 и 924 соответственно.
[00140] Второе устройство 920 может включать в себя собственное приложение 926. Собственное приложение 926 указывает приложение, которое запускается на платформе (ОС) (например, Android, iOS, Windows, TiZen и т. п.) второго устройства 920. Собственное приложение 926 можно компилировать в двоичный код и запускать.
[00141] В третьем варианте осуществления из настоящего раскрытия изобретения первое устройство 910 может включать в себя средство 916 управления парным экраном (CS) и средство 918 управления таблицей информации о приложении (AIT). Средство 916 управления CS выполняет операцию, необходимую для взаимодействия со вторым устройством 920. Например, средство 916 управления CS может выполнять операцию поиска или обнаружения второго устройства 920 в сети, операцию приема от второго устройства 920 информации о приложении касаемо приложения, которое будет запущено на первом устройстве 910, и операцию для межпрограммной связи между первым устройством 910 и вторым устройством 920.
[00142] Средство 918 управления AIT включается в первое устройство 910 и принимает и анализирует XML AIT. XML AIT является информацией, переданной от второго устройства 920, принимается средством 916 управления CS и доставляется средству 918 управления AIT. Средство 918 управления AIT анализирует XML AIT для извлечения информации о приложении и запускает приложение на основе извлеченной информации о приложении.
[00143] Второе устройство 920 может дополнительно включать в себя средство 928 запуска CS. Средство 928 запуска CS выполняет операцию, необходимую для взаимодействия с первым устройством 910. Например, средство 928 запуска CS выполняет операцию поиска или обнаружения первого устройства 910 в сети, операцию отправки первому устройству 910 запроса запуска приложения при запросе приложения, операцию доставки информации о приложении и операцию для межпрограммной связи между первым устройством 910 и вторым устройством 920.
[00144] Будет приведено описание способа для запуска приложения из первого устройства 910 вторым устройством 920 в системе беспроводной связи, которая показана на фиг. 9.
[00145] Фиг. 10 – поток сигналов, иллюстрирующий процесс запуска приложения из первого устройства вторым устройством в системе беспроводной связи в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[00146] Ссылаясь на фиг. 10, на этапе 1000 второе устройство 920 запускает CS-приложение 930. CS-приложение 930 может быть приложением из второго устройства 920, используемым для запуска приложения из первого устройства 910. CS-приложение 930 может быть одним из веб-приложения 924 и собственного приложения 926, и если CS-приложение 930 является веб-приложением 924, то на этапах 1002 и 1004 запускается CS-приложение 930.
[00148] Как только запускается CS-приложение 930, CS-приложение 930 на этапе 1006 отправляет средству 928 запуска CS запрос поиска устройства для запроса поиска другого устройства, доступного в сети. Затем на этапе 1008 средство 928 запуска CS выполняет поиск устройства, а на этапе 1010 передает CS-приложению 930 информацию о найденном устройстве.
[00149] Запрос поиска устройства может отправляться, а операция поиска устройства может выполняться на основе предварительно установленного API у CS-приложения 930. То есть, если API запускается CS-приложением 930, то реальная операция поиска устройства выполняется средством 928 запуска CS. API может быть, например, discoverHbbTVdevices(), и он может меняться в соответствии с реализацией.
[00150] Если найдено несколько устройств, то CS-приложению 930 передается информация о нескольких устройствах. На этапе 1012 в CS-приложении 930 может выбираться одно из нескольких устройств, то есть первое устройство 910. Первое устройство 910 может быть произвольно выбранным посредством CS-приложения 930 либо может выбираться путем предоставления посредством CS-приложения 930 интерфейса пользователя (UI), предоставляющего возможность выбора одного из нескольких устройств, и приема ввода от пользователя через UI.
[00151] Даже когда найдено одно устройство, информация об обнаруженном устройстве может предоставляться пользователю через UI, и от пользователя можно принять ввод о том, подключаться ли к обнаруженному устройству. Способ показа информации через UI и способ обработки пользовательского ввода могут быть различными в соответствии с реализацией.
[00152] Если выбирается первое устройство 910, то на этапе 1014 CS-приложение 930 дает средству 928 запуска CS команду запустить приложение на первом устройстве 910. С этой целью CS-приложение 930 может вызвать предварительно установленный API. API может быть, например, launchHbbTVApp(), и он может меняться в соответствии с реализацией.
[00153] Запуск приложения из первого устройства 910 выполняется в ответ на запрос HTTP и включает в себя два процесса: процесс извлечения информации о первом устройстве 910 и процесс запуска приложения на основе той информации. Используемый в этих процессах подробный протокол будет подробно описываться ниже со ссылкой на фиг. 12.
[00154] Средство 928 запуска CS на этапе 1016 отправляет запрос запуска приложения средству 916 управления CS в первом устройстве 910. Запрос запуска приложения основывается на методе HTTP POST, и раздел BODY в запросе HTTP включает в себя XML (то есть XML AIT), включающий информацию о приложении касаемо приложения из первого устройства 910. Таким образом, средство 916 управления CS может обладать функцией веб-сервера, допускающей обработку запроса запуска приложения.
[00155] Средство 916 управления CS обрабатывает запрос запуска приложения и на этапе 1018 отправляет XML AIT средству 918 управления AIT. Средство 918 управления AIT на этапе 1020 на основе XML AIT запускает приложение из первого устройства 910, которое может использоваться во взаимодействии с CS-приложением 930 из второго устройства 920, то есть первичное приложение 940. Здесь, если первичное приложение 940 является собственным приложением, то завершается весь процесс. Если первичное приложение 940 является веб-приложением, то выполняются этапы 1022 и 1024.
[00157] Таблица 15 кратко показывает API, используемые на фиг. 10.
<b>ТАБЛИЦА 15</b>
API
Описание
Входной показатель
Выходной показатель
discoverHbbTVdevices(void)
Получить список первых устройств, доступных в сети
Нет
- Успех: список устройств- Ошибка: null
launchHbbTVApp(unit target_device, char*XML)
Отправить первому устройству информацию XMLAIT о приложении, которое будет запущено
- unit target_device: ID целевого первого устройства- char* XML: Информация о первичном приложении, которое будет запущено
- Успех: истина- Ошибка: ложь
[00158] Ссылаясь на таблицу 15, discoverHbbTVdevices() не имеет входного показателя и используется для получения списка первых устройств, доступных в сети. launchHbbTVApp() имеет два входных показателя: unit target_device, указывающий ID первого устройства, которое является целевым объектом запуска приложения, и информация о приложении касаемо приложения из первого устройства, которое будет запущено, которая имеет формат XML и может использоваться для запуска приложения из первого устройства.
[00159] Далее со ссылкой на фиг. 11 будет подробно описываться этап 1008 из фиг. 10.
[00160] Фиг. 11 – поток сигналов, иллюстрирующий процесс поиска первого устройства вторым устройством в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[00161] Ссылаясь на фиг. 11, при приеме запроса поиска устройства от CS-приложения 930 на этапе 1100 средство 928 запуска CS во втором устройстве 920 на этапе 1102 ищет первое устройство 910. Например, средство 928 запуска CS может искать первое устройство 910, которому нужно взаимодействие с CS-приложением 930, с использованием метода M-SEARCH (запрос и ответ M-SEARCH) в SSDP. Средство 928 запуска CS может задавать устройство путем включения информации об устройстве, которое нужно искать, в заголовок ST, который показан в таблице 16.
Таблица 16
[00162] При приеме сигнала, который показан в таблице 16, средство 916 управления CS в первом устройстве 910 на этапе 1104 отправляет второму устройству 920 ответный сигнал на принятый сигнал. Ответный сигнал включает в себя информацию URL о файле XML, включающем в себя информацию об устройстве UPnP, как показано в таблице 17, и информация URL может включаться в заголовок LOCATION.
Таблица 17
[00163] При приеме ответного сигнала средство 928 запуска CS на этапе 1106 отправляет запрос информации о первом устройстве 910 на основе информации URL, включенной в ответный сигнал. То есть средство 928 запуска CS отправляет запрос информации об устройстве UPnP касательно первого устройства 910 с использованием метода HTTP GET на основе информации URL, включенной в заголовок LOCATION, как показано в таблице 18.
Таблица 18
[00164] Затем на этапе 1108 средство 916 управления CS в ответ на запрос передает второму устройству 920 информацию о первом устройстве 910 и информацию URL о приложении из первого устройства 910, которое может использоваться во взаимодействии с CS-приложением 930, то есть информацию URL о первичном приложении 940. То есть средство 916 управления CS передает второму устройству 920 информацию URL, допускающую запуск первичного приложения 940, вместе с файлом XML, включающим в себя информацию об устройстве UPnP, посредством заголовка "Application-URL", как показано в таблице 19.
Таблица 19
[00165] В таблице 19 заголовок "Application-URL" в варианте осуществления из настоящего раскрытия изобретения произвольно задается включающим в себя информацию URL, допускающую запуск первичного приложения 940, и может использоваться с разным названием в соответствии с реализацией.
[00166] Как только средство 928 запуска CS получает информацию о первом устройстве 910 посредством вышеупомянутого процесса, средство 928 запуска CS на этапе 1110 доставляет полученную информацию CS-приложению 930 и завершает операцию поиска устройства.
[00167] Способ для запуска приложения из первого устройства 910, который описан на этапе 1016 из фиг. 10, будет описываться со ссылкой на фиг. 12.
[00168] Фиг. 12 – поток сигналов, иллюстрирующий процесс запуска приложения из первого устройства в системе беспроводной связи в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[00169] Ссылаясь на фиг. 12, средство 928 запуска CS во втором устройстве 920 на этапе 1200 отправляет запрос информации о первом устройстве 910, например, информации о приложении. Запрос может отправляться с использованием метода HTTP GET и может быть таким, как показан в таблице 20.
Таблица 20
[00170] В таблице 20 <App Launch URL> указывает информацию URL из заголовка Application-URL, доставленного из первого устройства 910 на этапе 1108 из фиг. 11, а AppName указывает название приложения из первого устройства 910. В третьем варианте осуществления из настоящего раскрытия изобретения название приложения используется в способе для ограничения конкретной услуги, предоставленной в третьем варианте осуществления из настоящего раскрытия изобретения. Хотя конкретная услуга ограничивается HbbTV в третьем варианте осуществления из настоящего раскрытия изобретения, услуга может меняться в соответствии с реализацией.
[00171] На этапе 1202 в ответ на запрос средство 916 управления CS в первом устройстве 910 передает информацию о приложении в качестве информации о первом устройстве 910. Информация о приложении может включать в себя файл XML, включающий в себя информацию о конечной точке услуги (дополнительную служебную информацию) и информацию об агенте пользователя (UA). Информация UA может использоваться вторым устройством 920 для определения возможностей первого устройства 910.
[00172] Информация о приложении может быть выражена в виде, показанном в таблице 21.
Таблица 21
[00173] Ссылаясь на таблицу 21, <x_HbbTV_terminal_UAString> указывает информацию строки UA, <x_HbbTV_App2AppURL> указывает информацию для межпрограммной связи, а <x_HbbTV_InterDevSyncURL> указывает информацию для предоставления услуги синхронизации между устройствами. Если имеется информация, необходимая для каждой услуги, в дополнение к показанной в таблице 21 информации, то такую информацию можно добавить в информацию о приложении.
[00174] Средство 928 запуска CS принимает информацию о приложении и на этапе 1204 отправляет запрос запуска приложения средству 916 управления CS на основе принятой информации. Этот этап может выполняться на основе метода HTTP POST, и запрос запуска приложения может быть, например, таким, как показан в таблице 22.
Таблица 22
[00175] Ссылаясь на таблицу 22, <App Launch URL>/AppName является тем же, что и <App Launch URL>/AppName в таблице 20, и информация о приложении, которое будет фактически запущено, может доставляться в виде XML (XML AIT) посредством раздела BODY. Доставленная XML AIT может включать в себя информацию, которая показана в таблице 23.
<b>ТАБЛИЦА 23</b>
Поле/Элемент
Описание
appName
Название приложения
applicationIdentifier
ID приложения (включая orgID и appID)
applicationDescriptor/type
Тип приложения (HTML/DVB)
applicationDescriptor/controlCode
Код управления приложением (AUTOSTART, PRESENT, DESTROY, KILL, PREFETCH, REMOTE, DISABLED, PLAYBACK_AUTOSTART)
applicationDescriptor/visibility
Является ли видимым другому приложению
applicationDescriptor/serviceBound
Зависит ли приложение от услуги
applicationDescriptor/priority
Приоритет приложения
applicationDescriptor/version
Версия приложения
applicationDescriptor/mhpVersion
Версия домашней мультимедийной платформы (MHP)
applicationDescriptor/icon
Включает ли приложение пиктограмму
applicationDescriptor/storageCapabilities
Имеет ли приложение хранилище/кэш
applicationTransport/
Транспортный протокол (HTTP, DVB)
applicationLocation/
URI приложения
applicationBoundary/
Предоставить данные, необходимые приложению
applicationSpecificDescriptor/
Описание дополнительных подробностей в соответствии с типом приложения
applicationUsageDescriptor/
Услуга, предоставляемая приложением (текст и т. п.)
[00176] Средство 916 управления CS запускает приложение из первого устройства 910 на основе XML AIT. Средство 916 управления CS на этапе 1206 передает результат запуска второму устройству 920 с использованием кода ответа HTTP, который показан в таблице 24.
Таблица 24
[00177] В таблице 24 "201 CREATED" указывает код ответа HTTP, который может быть, например, таким, как показан в таблице 25.
<b>ТАБЛИЦА 25</b>
Код ответа
Описание
201 CREATED
Приложение HbbTV было успешно запущено.
401 Unauthorized
Операция отклонена пользователем.
403 Forbidden
Операция отклонена устройством HbbTV.
404 NOT FOUND
Нет такого приложения HbbTV.
503 SERVICE UNAVAILABLE
Если приложение HbbTV нельзя запустить немедленно, например, потому что ТВ сканирует каналы.
[00178] Ссылаясь на таблицу 25, "201 CREATED" указывает, что приложение из первого устройства 910 успешно запущено (например, успешный запуск приложения HbbTV в таблице 25), "401 Unauthorized" указывает, что запуск приложения из первого устройства 910 отклонен пользователем, "403 Forbidden" указывает, что запуск приложения из первого устройства 910 отклонен первым устройством 910, "404 NOT FOUND" указывает, что приложение из первого устройства 910 не существует, и "503 SERVICE UNAVAILABLE" указывает случай, где приложение из первого устройства 910 временно нельзя запустить из-за конкретной операции первого устройства 910.
[00179] Далее будет приведено описание процесса завершения приложения из первого устройства 910 вторым устройством 920. Запрос завершения приложения для завершения приложения может отправляться с использованием метода HTTP DELETE. Однако метод DELETE не включает в себя тело сообщения, так что нужен способ для идентификации приложения, которое нужно завершить. Таким образом, приложение, которое нужно завершить, идентифицируется на основе orgID и appID, включенных в XML AIT, как показано в таблице 26. Таблица 26 показывает пример запроса завершения приложения.
Таблица 26
[00180] Со ссылкой на фиг. 13 будет приведено описание операции запуска и завершения приложения из первого устройства 910.
[00181] Фиг. 13 – логическая блок-схема, иллюстрирующая процесс запуска и завершения приложения первым устройством в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[00182] Ссылаясь на фиг. 13, первое устройство 910 на этапе 1300 принимает запрос HTTP от второго устройства 920. Первое устройство 910 анализирует информацию URL, включенную в запрос HTTP, чтобы на этапе 1302 идентифицировать приложение. Первое устройство 910 выполняет следующие этапы, если идентифицированное приложение является конкретным приложением, предопределенным в системе.
[00183] На этапе 1304 первое устройство 910 идентифицирует метод из запроса HTTP. Первое устройство 910 определяет, что второе устройство 920 отправляет запрос информации о приложении первого устройства 910, если идентифицированным методом является метод GET, и на этапе 1306 формирует файл XML, включающий в себя конечную точку услуги и информацию UA. Первое устройство 910 на этапе 1308 передает сформированный файл XML второму устройству 920 посредством раздела BODY. Передачу можно рассматривать как такую же операцию, что и ответ с результатом обработки из этапа 1316.
[00184] Если идентифицированным методом является метод POST, то первое устройство 910 определяет, что второе устройство 920 дает команду запустить приложение из первого устройства 910, и переходит к этапу 1310. Первое устройство 910 на этапе 1310 принимает XML AIT, включенную в раздел BODY запроса HTTP. Затем на этапе 1312 первое устройство 910 на основе orgID и appID определяет, является ли приложение запускаемым. В этом случае первое устройство 910 может определить, является ли приложение запускаемым, на основе белого списка, указывающего список запускаемых приложений, либо черного списка, указывающего список незапускаемых приложений, причем белый список или черный список заранее сохраняются в первом устройстве 910, либо на основе пользовательского ввода. Если приложение является запускаемым, то первое устройство 910 на этапе 1314 запускает приложение и на этапе 1316 передает результат обработки второму устройству 920. Здесь первому устройству 910 нужно управлять appID и orgID, соответствующими запускаемому приложению.
[00185] Если идентифицированным методом является метод DELETE, то первое устройство 910 определяет, что второе устройство 920 дает команду завершения приложения, и на этапе 1318 определяет orgID и appID, включенные в запрос HTTP. Первое устройство 910 на этапе 1320 определяет, запускается ли приложение, соответствующее определенным orgID и appID. Если запускается приложение, соответствующее определенным orgID и appID, то первое устройство 910 переходит к этапу 1322 для определения, уполномочено ли первое устройство 910 завершить запущенное приложение. Если первое устройство 910 уполномочено завершить приложение, то первое устройство 910 на этапе 1324 завершает запускаемое приложение и на этапе 1316 передает результат второму устройству 920.
[00186] Далее со ссылкой на фиг. 14 будет описываться общая работа, связанная с запуском приложения у второго устройства 920.
[00187] Фиг. 14 – логическая блок-схема, иллюстрирующая операцию, ассоциированную с запуском приложения вторым устройством в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[00188] Ссылаясь на фиг. 14, на этапе 1400 второе устройство 920 принимает HTML-страницу и запускает приложение (в дальнейшем называемое "вторым приложением") из второго устройства 920. Если второе приложение является собственным приложением, то второе приложение запускается без приема HTML-страницы.
[00189] На этапе 1402 второе устройство 920 принимает от веб-сервера 900 XML AIT, включающую в себя информацию, необходимую для запуска приложения (в дальнейшем называемого "первым приложением") из первого устройства 910. Второе устройство 920 на этапе 1404 ищет доступное устройство (например, первое устройство 910) посредством запущенного второго приложения.
[00190] Если на этапе 1406 не найдено первое устройство 910, то второе устройство 920 на этапе 1418 завершает запуск второго приложения. Если обнаруживается первое устройство 910, то второе устройство 920 на этапе 1408 отправляет запрос информации о первом устройстве 910 с использованием метода HTTP GET. Второе устройство 920 в ответ на запрос принимает от первого устройства 910 информацию о конечной точке услуги для межпрограммной связи и информацию UA, включающую в себя информацию о возможностях первого устройства 910. Информация UA может включать в себя аппаратные характеристики (размер экрана, частота центрального процессора (CPU), поддержка PVR и т. п.) первого устройства 910, поддерживаемые первым устройством 910 особенности (многоэкранная функция, поддержка управления цифровыми правами (DRM) и т. п.) и т. п.
[00191] Второе устройство 920 на этапе 1410 на основе информации UA определяет, является ли запускаемым первое приложение на первом устройстве 910. Например, если первое устройство 910 имеет небольшой экран, поддерживающий разрешение уровня высокой четкости (HD), а первому приложению нужен минимальный уровень полной HD (FHD), то второе устройство 920 может определить, что первое приложение не является запускаемым на первом устройстве 910. Таким образом, в этом случае второе устройство 920 переходит к этапу 1418 без отправки первому устройству 910 запроса запуска первого приложения.
[00192] Между тем при определении, что первое приложение является запускаемым на первом устройстве 910, второе устройство 920 переходит к этапу 1412, чтобы на этапе 1412 отправить запрос запуска первого приложения на первом устройстве 920. Для отправки запроса запуска первого приложения может использоваться метод HTTP POST.
[00193] Второе устройство 920 формирует канал связи между первым устройством 910 и вторым устройством 920 на основе информации о конечной точке услуги, чтобы на этапе 1414 выполнить межпрограммную связь. Если запуск первого приложения нужно завершить, то на этапе 1416 второе устройство 920 отправляет первому устройству 910 запрос завершения запуска первого приложения с использованием метода HTTP DELETE и завершает запуск второго приложения на этапе 1418.
[00194] Фиг. 15 иллюстрирует пример, к которому применяется способ в соответствии с третьим вариантом осуществления из настоящего раскрытия изобретения.
[00195] Ссылаясь на фиг. 15, веб-сервер 900 является, например, веб-сервером вещательной компании, первое устройство 910 является DTV, а второе устройство 920 является мобильным терминалом.
[00196] Пользователь принимает электронную программу передач (EPG) от веб-сервера 900 с использованием второго устройства 920. Пользователь выбирает нужную вещательную программу на основе EPG и желает посмотреть выбранную вещательную программу посредством первого устройства 910.
[00197] Как установлено выше, как только пользователь выбирает нужную вещательную программу, второе устройство 920 ищет первое устройство 910, которое доступно в домашней сети. Если найдено первое устройство 910, то второе устройство 920 передает первому устройству 910 информацию XML AIT, принятую от веб-сервера 900. Затем первое устройство 910 запускает соответствующее приложение на основе информации XML AIT и показывает пользователю вещательную программу, выбранную на втором устройстве 920.
[00198] Между тем предложенные в настоящем раскрытии изобретения варианты осуществления описаны с помощью трех вариантов осуществления, но три варианта осуществления можно изменять и использовать по-разному, например, путем объединения по меньшей мере двух из трех вариантов осуществления.
[00199] Конкретные аспекты настоящего раскрытия изобретения также можно реализовать в виде машиночитаемого кода на машиночитаемом носителе записи. Машиночитаемый носитель записи может быть любым типом устройства хранения данных, которое может хранить данные, считываемые компьютерной системой. Примеры носителей записи, считываемых компьютером, могут включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), ROM на компакт-диске (CD-ROM), магнитную ленту, дискеты, оптические запоминающие устройства, несущие (например, передача данных через Интернет). Машиночитаемый носитель записи может быть распределен по подключенным к сети компьютерным системам, и таким образом, машиночитаемый код сохраняется и исполняется децентрализованно. Кроме того, функциональные программы, коды и сегменты кода для выполнения настоящего раскрытия изобретения могут быть легко интерпретированы программистами в области техники, к которой имеет отношение настоящее раскрытие изобретения.
[00200] Устройство и способ в соответствии с вариантом осуществления из настоящего раскрытия изобретения можно реализовать с помощью аппаратных средств, программного обеспечения или сочетания аппаратных средств и программного обеспечения. Такое программное обеспечение может храниться, в стираемом или перезаписываемом виде, в энергозависимом или энергонезависимом хранилище, например ROM, памяти, например RAM, микросхеме, устройстве или интегральной схеме памяти; и на записываемом оптическим либо магнитным способом и машиночитаемом (например, компьютерно-читаемом) носителе информации, например компакт-диске (CD), цифровом универсальном диске DVD, магнитном диске или магнитной ленте. Видно, что способ в соответствии с настоящим раскрытием изобретения можно реализовать с помощью компьютера или портативного терминала, который включает в себя контроллер и память, и память является примером машиночитаемого носителя информации, который подходит для хранения программы или программ, включающих в себя команды для реализации варианта осуществления из настоящего раскрытия изобретения.
[00201] Поэтому настоящее раскрытие изобретения включает в себя программу, включающую коды для реализации устройства или способа, заявленного в произвольном пункте формулы изобретения, и машиночитаемый (компьютерно-читаемый) носитель информации для хранения такой программы. Программа может передаваться в электронном виде посредством произвольного носителя, например сигнала связи, доставляемого по проводному или беспроводному соединению, и настоящее раскрытие изобретения должным образом включает в себя эквиваленты этого.
[00202] Устройство в соответствии с вариантом осуществления из настоящего раскрытия изобретения может принимать и хранить программу от предоставляющего программу устройства, подключенного проводным или беспроводным способом. Предоставляющее программу устройство может включать в себя запоминающее устройство для хранения программы, включающей в себя команды для указания устройству исполнить предварительно установленный способ защиты содержимого, информации, необходимой для способа защиты содержимого, блок связи для выполнения проводной или беспроводной связи с устройством графической обработки и контроллер для передачи соответствующей программы приемопередатчику по запросу устройства графической обработки или автоматически.
[00203] Несмотря на то, что настоящее раскрытие изобретения показано и описано со ссылкой на его различные варианты осуществления, специалистам в данной области техники будет понятно, что в нем могут быть сделаны различные изменения в форме и деталях без отклонения от сущности и объема настоящего раскрытия изобретения, которые определены прилагаемой формулой изобретения и ее эквивалентами.