CN104169898B - 用于使用JavaScript和HTML5在设备之间流式传输元数据的方法和设备 - Google Patents
用于使用JavaScript和HTML5在设备之间流式传输元数据的方法和设备 Download PDFInfo
- Publication number
- CN104169898B CN104169898B CN201180075985.9A CN201180075985A CN104169898B CN 104169898 B CN104169898 B CN 104169898B CN 201180075985 A CN201180075985 A CN 201180075985A CN 104169898 B CN104169898 B CN 104169898B
- Authority
- CN
- China
- Prior art keywords
- application
- server
- xmpp
- bosh
- browser
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
在本文中公开了用于在设备之间流式传输元数据的技术和配置。在一个示例实施例中,从消费性电视或机顶盒(STB)平台向平板计算机平台提供流式文本数据,例如副标题或隐藏字幕数据。XMPP和BOSH被用作基础部件以帮助在平台之间建立客户端/服务器连接。这些部件还保持此连接并支持平台之间的实时通信和数据传输。在示例实施例中,主平台上的应用程序具有被传送至第二平台上的客户端应用程序的元数据串。例如,客户端应用程序可以是采取在浏览器上运行的HTML5应用程序形式的智能电话应用程序。该***可双向地进行流式传输和控制。在此架构中,XMPP实现JavaScript库允许通过XML节的XMPP客户端交互。
Description
技术领域
本技术一般地涉及计算领域,并且更具体地涉及用于在设备之间传送数据的***和方法。
背景技术
希望与其他平台上的其他应用程序相交互的应用程序和网络服务具有很少的选择来容易地进行通信。当尝试以开放和基于标准方式而不是通过使用专有技术来连接设备和应用程序时存在问题。另一重要考虑是用于应用程序一旦已被连接、其将如何相互通信的结构和语法。
开发者越来越多地使用基于因特网的许多开发模型;例如使用HTML5、JavaScript对象表示法(JSON)以及本地应用程序、网页和网络应用程序(“网络应用程序”)中的基于层叠样式表(CSS)的技术。除本地应用程序之中的通信之外,存在对各种类型的传统和轻量级设备上、例如消费性电子产品上的网络应用程序和服务的支持的需要。
常常通过创建专有管道来处理应用程序与平台之间的连接和通信。这意味着开发者必须创建自定义协议和语法以用于通信。虽然这对于希望在他或她自己的应用程序之中进行通信的单个开发者而言可能足够了,但其不支持用于多个异构应用程序进行连接和合作的更宽泛模型,其也不支持在轻量级设备上的部署。诸如数字生活网络联盟(DLNA)通信技术之类的一些方法提供连接平台并识别某些类型的介质的基于标准手段,但是未提供用于应用程序的更宽泛集合进行通信和操作的通用机制。
发明内容
根据本发明的一个方面,本发明公开了一种客户端设备,包括:至少一个处理器;至少一个存储器设备;至少一个浏览器;至少一个脚本库,可在浏览器中执行且被配置成在客户端设备与服务器之间建立一个或多个BOSH持续HTTP上双向流连接;以及至少一个网络应用程序,可在浏览器中执行并被配置成实现脚本库以使用BOSH连接从服务器接收一个或多个XMPP可扩展通讯和到场协议数据传输,其中,所述XMPP数据传输提供来自在服务器上操作的一个或多个应用程序的元数据流;其中,所述存储器设备提供存储在其中的多个指令,其在被处理器执行时促使处理器执行指令,该指令执行所述浏览器、所述至少一个脚本库以及所述至少一个网络应用程序。
根据本发明的另一个方面,所述网络应用程序还被配置成:使用BOSH连接在一个或多个XMPP命令传输中从网络应用程序向服务器传输一个或多个命令,该命令用来控制从服务器到网络应用程序的元数据流的传输。
根据本发明的另一个方面,所述BOSH连接由浏览器使用在网络应用程序中执行的脚本库建立,该脚本库提供到浏览器的一个或多个运行时间执行BOSH连接部件。
根据本发明的另一个方面,所述网络应用程序被用符合HTML5标记语言标准的浏览器可呈现标记语言编码,其中,所述脚本库被用符合JavaScript脚本语言标准的脚本语言编码,并且其中,浏览器图形用户接口还被配置成提供以符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
根据本发明的另一个方面,本发明还公开了一种客户端设备,所述网络应用程序还被配置成:使用BOSH连接与服务器交换一个或多个应用程序简档,该应用程序简档以用于网络应用程序和在服务器上操作的应用程序的XMPP格式来定义能力和结构化语法。
根据本发明的另一个方面,所述网络应用程序还被配置成:使用针对网络应用程序定义的XML 节与服务器通信,该XML 节提供用于与网络应用程序进行XMPP数据传输的结构化语法。
根据本发明的另一个方面,从在服务器上操作的应用程序提供的元数据流与多媒体内容相关联,并且其中,所述元数据包括来自针对多媒体内容的隐藏字幕文本或副标题文本中的一个或多个的文本。
根据本发明的另一个方面,本发明还公开了一种服务器设备,包括:至少一个处理器;至少一个存储器设备;以及至少一个服务器应用程序,用于向在客户端设备处的一个或多个客户端应用程序提供元数据流,该服务器应用程序被配置成:在服务器应用程序与客户端应用程序之间建立BOSH持续HTTP上双向流连接;以及使用BOSH连接从服务器应用程序向客户端应用程序传输一个或多个数据传输,该数据传输包括提供元数据流的XMPP可扩展通讯和到场协议格式化通信;其中,所述存储器设备提供存储在其中的多个指令,其在被处理器执行时促使处理器执行指令,该指令执行服务器应用程序。
根据本发明的另一个方面,所述服务器应用程序还被配置成:使用BOSH连接在一个或多个XMPP命令传输中从客户端应用程序向服务器应用程序接收一个或多个命令,该命令用来控制元数据流到客户端应用程序的传输。
根据本发明的另一个方面,所述服务器应用程序由与浏览器相结合地执行的一个或多个网络应用程序或网页提供,该网络应用程序或网页使用符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言。
根据本发明的另一个方面,所述服务器应用程序还被配置成:使用BOSH连接与客户端应用程序交换一个或多个应用程序简档,该应用程序简档以用于服务器应用程序和客户端应用程序的XMPP格式来定义能力和结构化语法。
根据本发明的另一个方面,所述服务器应用程序还被配置成:使用XML 节与客户端应用程序通信,该XML 节提供用于与客户端应用程序进行XMPP格式通信的结构化语法。
根据本发明的另一个方面,从服务器应用程序提供的元数据流与由服务器设备处理的多媒体内容相关联,并且其中,所述元数据包括来自在服务器设备处针对多媒体内容接收到的隐藏字幕文本或副标题文本中的一个或多个的文本。
根据本发明的另一个方面,本发明还公开了一种用于在设备处执行的从远程应用程序获得元数据流的计算机实现方法,包括:在客户端设备处建立在客户端设备上操作的本地网络应用程序与在远程设备上操作的远程应用程序之间的BOSH持续HTTP上双向流连接,所述本地网络应用程序在浏览器内执行;使用BOSH连接从远程应用程序接收XMPP可扩展通讯和到场协议数据传输,其中,XMPP数据传输提供来自远程应用程序的元数据以便与本地网络应用程序一起使用;以及在本地网络应用程序内从元数据提取值。
根据本发明的另一个方面,所述BOSH连接由浏览器通过使用脚本库而建立,该脚本库提供用于在浏览器内的运行时间执行的至少一个BOSH连接。
根据本发明的另一个方面,所述本地网络应用程序被用符合HTML5标记语言标准的浏览器可呈现标记语言编码,其中,所述脚本库被用符合JavaScript脚本语言标准的脚本语言编码,并且其中,浏览器还被配置成提供以符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
根据本发明的另一个方面,使用BOSH连接来传输应用程序简档,该应用程序简档针对本地网络应用程序和远程应用程序以XMPP格式来定义能力和结构化语法;其中,所述XMPP数据传输使用以XML格式定义的节,该节提供用于与本地网络应用程序进行XMPP数据传输的结构化语法。
根据本发明的另一个方面,本发明还公开了一种用于在服务器处执行的向远程网络应用程序传输元数据流的计算机实现方法,包括:在服务器处建立在服务器处操作的本地应用程序与远程网络应用程序之间的BOSH持续HTTP上双向流连接,该远程网络应用程序在浏览器内执行;以及使用BOSH连接从服务器向远程网络应用程序传输XMPP可扩展通讯和到场协议数据传输,其中,XMPP数据传输从本地应用程序向远程网络应用程序提供元数据。
根据本发明的另一个方面,所述本地应用程序是在本地浏览器中执行并以符合HTML5标记语言标准的浏览器可呈现标记语言而编码的本地网络应用程序,其中,所述脚本库被用符合JavaScript脚本语言标准的脚本语言编码,并且其中,所述本地浏览器还被配置成提供以符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
根据本发明的另一个方面,使用BOSH连接来接收应用程序简档,该应用程序简档针对本地应用程序和远程网络应用程序以XMPP格式来定义能力和结构化语法;其中,所述XMPP数据传输使用以XML格式定义的节,该节提供用于与远程网络应用程序进行XMPP数据传输的结构化语法。
根据本发明的另一个方面,本发明还公开了一种***,包括:第一平台,提供XMPP可扩展通讯和到场协议服务器和服务器应用程序,该XMPP服务器被配置成使用一个或多个BOSH持续HTTP上双向流连接进行通信;以及第二平台,提供XMPP客户端和客户端应用程序,该XMPP客户端被配置成使用BOSH连接来与XMPP服务器通信;其中,BOSH连接被用来在第一平台与第二平台之间建立连续连接并在从服务器应用程序到客户端应用程序的XMPP通信中传送元数据流;以及其中,根据提供结构化语法的XML 节来进行经由BOSH连接发生的XMPP通信。
根据本发明的另一个方面,还包括:第三平台,其中,所述第一平台可作为代理进行操作以从第二平台向第三平台传输由第一平台经由BOSH连接接收到的数据。
根据本发明的另一个方面,经由BOSH连接发生的XMPP通信包括以下各项中的一个或多个:一个或多个命令,被配置成控制元数据流到客户端应用程序的传输;或者一个或多个应用程序简档,所述应用程序简档以用于客户端应用程序的XMPP格式来定义能力和结构化语法。
根据本发明的另一个方面,所述客户端应用程序由在第二平台上的浏览器中操作的网络应用程序提供,其中,所述网络应用程序是以符合HTML5标记语言标准的浏览器可呈现标记语言编码的,并且其中,所述XMPP客户端由以符合JavaScript脚本语言标准的脚本语言编码且在浏览器中执行的脚本库提供。
根据本发明的另一个方面,所述第一平台是与被配置成在元数据流中传输隐藏字幕或副标题的电视或机顶盒相结合而提供的,并且其中,所述第二平台是与被配置成接收元数据流的平板计算机相结合而提供的。
附图说明
图1图示出根据示例实施例的提供XMPP服务器的第一平台与提供客户端网络应用程序的第二平台之间的通信链路;
图2图示出根据示例实施例的传输文本数据的第一平台与处理文本数据的一个或多个其他平台的通信架构;
图3提供了图示出根据示例实施例的平台之间的数据流的流程图;
图4图示出被配置成根据所述实施例中的一个或多个进行操作的轻量级移动设备;以及
图5图示出在其上面可实现所述实施例中的一个或多个的示例机器的框图。
具体实施方式
以下描述和附图充分地图示出特定实施例以使得本领域的技术人员能够将其实施。其他实施例可结合结构、逻辑、电、过程及其他改变。在其他实施例的那些中可包括或代替某些实施例的各部分和特征。在权利要求中阐述的实施例涵盖那些权利要求的所有可用等价物。
本文所述的是用于在平台或设备之间发现并建立通信链路的***和方法,例如在第一平台上托管的服务器和在第二平台上操作的基于网络的应用程序(“网络应用程序”)。更特别地,如下面参考图1更详细地描述的,在一个示例实施例中,提供了一种允许在托管可扩展通讯和到场协议(XMPP)服务器的第一平台与第二平台上的HTML5/基于JavaScript网络应用程序之间发现并建立通信链路的技术。在此基于标准框架内,使用XMPP通信跨这些平台实时地移动流式元数据。在一个示例实施方式中,使用实现XMPP功能和同步超文本传输协议(HTTP)上双向流(BOSH)的EMCAScript标准(例如JavaScript/JScript)脚本库作为基础部件中的一个以帮助建立平台之间的客户端/服务器连接。
如在本文中提及的,HTML5是用于将用于万维网的内容结构化并呈现的标记语言标准。其为由万维网联盟(W3C)提供的HTML标准的第五版,并且到2011年11月为止仍在开发中。HTML5意图不仅包含HTML4,而且也包含XHTML1和DOM2 HTML(特定JavaScript/EMCAScript)规范。提供HTML5的许多特征是为了使得其能够实现在诸如智能电话和平板电脑之类的低功率和轻量级设备上使用。HTML5支持多种技术以使得能够实现动态内容呈现,包括多媒体显示元件(诸如视频、音频以及图形动画)、应用程序高速缓存、后台线程以及集成脚本支持。
如本文所提及的XMPP是用于基于XML(可扩展标记语言)的面向消息中间件的开放标准通信协议。该协议最初是为了近实时、可扩展即时通讯(IM)、存在信息以及联系人列表维护而设计的。被设计成可扩展的,该协议现在还被应用于VoIP和文件传送信令。不同于大多数即时消息传递协议,XMPP使用开发和应用的开放***协议,由此,任何人都可实现XMPP服务并与其他组织的实现进行互操作。基于XMPP的软件和实现被跨因特网广泛地部署,常常是用自由和开放源软件。
如本文所提及的同步HTTP上双向流(BOSH)是在不要求使用轮询或异步分块的情况下通过使用多个同步HTTP请求/响应对来模拟两个实体(诸如客户端和服务器)之间的双向流的传输协议。BOSH目前是XMPP标准基金会的标准草案。相关标准(XEP-0206)“BOSH上XMPP”定义如何可以使用BOSH来传输XMPP 节(stanza)。结果是用于XMPP通信的HTTP绑定,其可在其中设备或客户端不能保持到XMPP服务器的长寿TCP连接的各种情况下使用。
如本文所提及的Strophe是用来传导XMPP通信的免许可库的集合。Strophe目前用JavaScript和C编程语言来实现。Strophe(在本文中称为“Strophe.js”或用于其JavaScript版本的“Strophe JavaScript”)提供了供在基于浏览器客户端中使用的JavaScript脚本实现,将BOSH用于通信。XMPP库和通信应用程序的其他实现可代替Strophe的使用。
根据图1中所示的本技术的一个示例实施例,从例如消费者机顶盒(STB)之类的第一平台105向例如平板计算机之类的第二平台110传送流式元数据100,例如与视频节目相关联的隐藏字幕或副标题数据。可传送该流式元数据100例如以基于在第一平台中正在显示的媒体内容而在第二平台上建立共享体验。还可以将第二平台配置成处理此文本并获得关于在第一平台中显示的媒体内容的上下文信息(例如,使用用自然语言处理从文本提取的关键字而从网络源获得的相关内容)。
在下面更详细地描述的一个示例实施方式中,使用用于实现XMPP功能(例如像Strophe.js库提供的)和BOSH的JavaScript库作为基础部件以帮助在平台105和110之间建立客户端/服务器连接。这些部件还保持此连接并支持平台之间的实时通信和数据传输。
如在图2中进一步所示,在主或第一平台105上运行的服务器应用程序115例如以隐藏字幕或副标题文本的形式提供流式元数据100内的一个或多个串以将其传送到在第二平台110上的客户端应用程序120。客户端应用程序120可以是由在浏览器、例如具有图形用户接口的浏览器中运行的HTML5/JavaScript(JS)网络应用程序实现的智能电话或平板电脑应用程序。连同在一个方向上传递的流式元数据100一起,可在另一方向上发送控制数据130内的串或二进制数据命令以控制来自第一平台105的流,例如以中止、重新开始、发起或终止数据业务。此数据业务可实时地发生且可反向或同时地在两个方向上移动。相应地,***可双向地进行流式传输和控制(并交换命令和数据)。
如图2的示例实施例中更详细地示出的,第一平台105提供XMPP服务器140(根据附加示例实施例,其可常驻于第三平台上或者甚至在基于云的服务器环境中)。客户端应用程序120(在本示例中在HTML5/JS环境中操作的应用程序)经由XMPP服务器140连接到服务器应用程序115,通过使用Strophe.js脚本库150和BOSH 155来在平台105、110之间创建连续连接(用JavaScript绑定160)。
在此架构中,JavaScript绑定160和Strophe.js脚本库150允许通过XML 节 165的交换进行的XMPP客户端交互。XML 节一般地是通过XML流从一个实体发送到另一个的结构化信息的不连续语义单元。例如,在XMPP中,<message/>、<presence/>和<iq/>是针对被用于实现Jabber即时通讯协议的‘jabber: client’和‘jabber : server’域名空间定义的三个示例XML 节。可建立XML 节的适当配置以在统一XMPP通信中包括特定数据字段,例如“<DEVICE:TYPE><TEXTFIELDl,TEXTFIELD2, TEXTFIELD3>”。此外,出于此目的,可开发并提供应用程序简档170以定义用于客户端应用程序120和服务器应用程序115相互进行对话的能力和结构化语法。例如,使用以上XML 节、诸如“<DisplayDevice : Television><Closed_Captioning:Available,Subtitles:Unavailable,Program_Information:Available>”以XML格式提供的应用程序简档可用来传送用于特定设备和设备类型的各种特性和性质。应用程序简档170是可扩展的且提供了导出公共和私有能力和语法两者的手段。
客户端应用程序120接收并处理正在从第一平台105上的服务器应用程序115发送的流式元数据100中的文本数据(在本示例中隐藏字幕或副标题文本)。根据也在图2中图示出的另一示例实施例,第二平台110上的应用程序120可与第三平台125'上的另一应用程序120'通信。在本示例中,第三平台125'通过XMPP服务器140被客户端应用程序120访问,其提供用于客户端平台的代理。在未示出的替换实施例中,第三平台125'可使用其应用程序120'来直接地或间接地与XMPP服务器140通信(例如,以向服务器应用程序115提供附加文本数据或元数据)。
现在参考图3,示出了举例说明从第一平台105到第二平台110的数据流的流程图。客户端应用程序使用XMPP和BOSH协议的JavaScript库实现而连接(操作310)到第二平台上的XMPP服务器。使用BOSH协议在平台之间传输数据(操作320)。在另一实施例中,还可使用JavaScript库实现来实现第一平台105内的XMPP服务器和BOSH协议实现。
使用所述架构,将客户端(和潜在地服务器)设备上的软件足迹和性能要求减少至使用运行时间HTML5/JavaScript应用程序。应用程序不需要被安装为本地编译应用程序,使得更容易在多种轻量级、低存储器设备上部署和端接应用程序。此配置还通过经由可被配置成管理发现、状态、配置等因素的公共服务器平台来提供设备网络和应用程序而降低其复杂性。另外,此配置通过约束轻量级设备作为独立设备的功能而增加相对于轻量级设备的拓扑结构的安全性,对于能力较低、固定功能设备(例如立体声、DVD播放器等消费性电子产品)而言是理想的。
此外,此架构还通过支持使用轻量级和可移植XMPP/BOSH插件(例如Strophe.js)的多种网页、网络应用程序以及网络浏览器中的HTML5/JavaScript显示技术以及标准化应用程序间通信技术来增强网络应用程序的可移植性。本架构在可被相互互连和连续地通信的平台的数目方面不受限制,即使本示例为了图示的简单起见而仅示出进行通信的多达三个平台。
在替换实施例中,结合XMPP通信提供的元数据可包括对隐藏字幕或副标题文本进行附加或补充的数据。在元数据内提供的文本可涉及视频内容(诸如电视节目),但并不直接地对应于视频内容的音频。例如,如果被广播或流式传输到电视的视频内容是电影,则在XMPP通信中提供的文本内容可包括与电影相关联的元数据(由视频内容源或另一外部源提供),诸如标题、男演员/女演员列表、关键字、简要内容描述等。在元数据内提供的数据字段还包括非文本形式的数据,诸如二进制和压缩数据。还可在元数据内提供未被显示给用户的自定义标签、关键字及其他文本。
返回先前示例,可从电视的所显示视频内容获得电视的隐藏字幕/副标题信息,并传输到客户端应用程序以用于实时处理。在这种情形中,电视可作为服务器进行操作,以向在另一设备上操作的客户端应用程序传输元数据的实时数据流(包含文本)。例如,可由在可在与电视相同的环境中操作的因特网连接的平板PC上执行的网络应用程序来提供客户端应用程序。在这种情形中,可将平板PC配置成显示用户可操作图形用户接口,其使得用户能够结合从文本或流元数据中的其他数据导出的上下文信息而获悉更多关于正在显示的视频内容的信息。
根据一个示例实施例,可将任何上述元件和功能(诸如但不限于客户端应用程序120、XMPP服务器140或Strophe或BOSH部件)实现为一个或多个模块的组合,如下面在本文中进一步定义的。此外,各种方法或技术或其特定方面或部分可采取以有形介质体现的程序代码(即指令)的形式,诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质,其中,当程序代码被加载到诸如计算机之类的机器中并由该机器执行时,机器变成用于实施各种技术的设备。在可编程计算机上的程序代码执行的情况下,计算设备可包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可实现或利用本文所述各种技术的一个或多个程序可使用应用编程接口(API)、可再使用控制机构等。可以用高级程序或面向对象编程语言来实现此类程序以与计算机***通信。然而,如果需要,可以用汇编或机器语言来实现(一个或多个)程序。在任何情况下,语言可以是编译或解释语言,并且与硬件结合。
虽然先前所述实施例中的某些包括“网络应用程序”和类似基于浏览器应用程序中的诸如HTML5和JavaScript之类的基于因特网标准的使用,但将理解的是目前所述的技术和***配置还可在多种计算和电子设备设置中应用。例如,可使用独立、已安装、基于服务器或基于薄客户端软件应用程序的任何组合来提供功能和与本文所述应用程序模型的通信。
此外,网络应用程序或其他基于网络的应用程序不一定要求因特网连接或万维网的使用,因为基于网络的应用程序可在到连接设备的专用局域网内或没有网络连接的单个设备内提供功能。另外,如本文所述的网络应用程序的使用不限于JavaScript和基于HTML5标准标记语言的使用,但是也可使用其他适当标记和脚本语言和浏览器/应用程序解释指令格式。
本文所使用的,术语“浏览器”一般指的是用于检索、呈现以及遍历诸如网页或网络应用程序之类的来自本地或远程位置(例如,经由网络或万维网)的信息资源的软件应用程序。浏览器可包括结合要呈现的信息资源来支持实时脚本执行和解释。浏览器的一个实施例可包括用以呈现信息资源的图形用户接口,但是其他实施例可提供附加或替换类型的用户接口。此外,可将浏览器配置成在不提供用户接口的情况下执行一个或多个网络应用程序作为后台进程的执行。
图4提供了轻量级或移动设备402的示例图示400,诸如用户设备(UE)、移动站(MS)、移动无线设备、移动通信设备、平板电脑、手机或其他类型的移动无线设备。移动设备402可包括被配置成与基站(BS)、演进节点B(eNB)或其他类型的无线广域网(WWAN)接入点通信的一个或多个天线408。可将移动设备402配置成使用包括3GPP LTE/LTE-A、WiMAX、高速分组接入(HSPA)、蓝牙以及无线保真(Wi-Fi)的至少一个无线通信标准进行通信。移动设备402可使用用于每个无线通信标准的单独天线或用于多个无线通信标准的共享天线进行通信。移动设备402可在无线局域网(WLAN)、无线个域网(WPAN)和/或无线广域网(WWAN)中进行通信。
图4还提供了可被用于来自移动设备402的音频输入和输出的麦克风420和一个或多个扬声器412的图示。显示屏404可以是液晶显示器(LCD)屏幕或诸如有机发光二极管(OLED)显示器之类的其他类型的显示屏。可将显示屏404配置为触摸屏。触摸屏可使用电容性、电阻性或另一类型的触摸屏技术。可将应用处理器414和图形处理器418耦合到内部存储器416以提供处理和显示能力。还可使用非易失性存储器端口410来向用户提供数据输入/输出选项。还可使用非易失性存储器端口410来扩展移动设备402的存储器能力。可将键盘406与移动设备402集成或无线连接到移动设备402以提供附加用户输入。还可使用触摸屏来提供虚拟键盘。
图5是图示出在其上面可运行本文所讨论的方法中的任何一个或多个的示例机器的框图。可使用计算机***500作为用于上述任何平台或用于在本文中描述或提及的任何其他计算机平台的基础平台。在替换实施例中,机器作为独立设备进行操作,或者可连接(例如,联网)到其他机器。在联网部署中,机器可在服务器-客户端网络环境中的服务器或客户端机器的容量中操作,或者其可充当端对端(或分布式)网络环境中的对等机器。该机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、网络路由器、交换机或桥接器或者能够执行指定将由该机器采取的动作的指令(连续或其他)的任何机器。此外,虽然仅图示出单个机器,但还应将术语“机器”理解成包括单独地或共同地执行一组(或多组)指令以执行本文所讨论的方法中的任何一个或多个的机器的任何集合。
示例计算机***500包括处理器502(例如,中央处理单元(CPU)、图形处理单元(GPU)或两者)、主存储器504和静态存储器506,其经由互连508(例如,链路或总线)相互通信。计算机***500还可包括视频显示单元510、字母数字输入设备512(例如,键盘)以及用户接口(UI)导航设备514(例如,鼠标)。在一个实施例中视频显示单元510、输入设备512和UI导航设备514是触摸屏显示器。计算机***500可另外包括存储设备516(例如,驱动单元)、信号发生设备518(例如,扬声器)、网络接口设备520(其可包括一个或多个天线528、收发机或其他无线通信硬件或与之可操作地通信)以及一个或多个传感器(未示出),诸如全球定位***(GPS)传感器、指南针、加速度计或其他传感器。
存储设备516包括机器可读介质522,在其上面存储了体现本文所述方法或功能中的任何一个或多个或被其利用的一组或多组数据结构和指令524(例如,软件)。指令524还可完全地或至少部分地存在于主存储器504、静态存储器506内和/或在其被计算机***500执行期间在处理器502内,主存储器504、静态存储器506以及处理器502还组成机器可读介质。
虽然在示例实施例中将机器可读介质522示为单个介质,但术语“机器可读介质”可包括存储一个或多个指令524的单个介质或多个介质(例如,集中式或分布式数据库和/或关联高速缓存和服务器)。还应将术语“机器可读介质”理解成包括能够存储指令对其进行编码或载送以便由机器执行且促使机器执行本公开的方法中的任何一个或多个或者能够存储此类指令所利用或与此类指令相关联的数据结构、对其进行编码或载送的任何有形介质。应相应地将术语“机器可读介质”理解成包括但不限于固态存储器以及光和磁介质。机器可读介质的特定示例包括非易失性存储器,举例来说,包括半导体存储器件(例如,电可编程序只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM))和闪速存储器件;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。
还可经由利用许多众所周知传输协议中的任何一个(例如,HTTP)的网络接口设备520使用传输介质通过通信网络526来传输或接收指令524。通信网络的示例包括LAN、WAN、因特网、移动电话网、普通老式电话(POTS)网络以及无线数据网络(例如,Wi-Fi、3GPP以及5G LTE/LTE-A或WiMAX网络)。应将术语“传输介质”理解成包括能够存储指令、对其进行编码或载送以便由机器执行的任何有形介质,并且包括数字或模拟通信信号或其他无形介质以促进此类软件的通信。
在目前所述通信网络的范围内可包括其他可应用网络配置。虽然参考局域无线网络配置和广域因特网网络连接来提供示例,但将理解的是使用有线或无线传输介质的任何组合,还可使用任何数目的个域网、局域网(LAN)以及广域网(WAN)来促进通信。
还可用硬件、固件以及软件中的一个或组合来实现上述实施例。还可将实施例实现为存储在计算机可读存储设备上的指令,其可被至少一个处理器读取和执行以执行本文所述操作。计算机可读存储设备可包括用于以可被机器(例如,计算机)读取的形式来存储信息的任何非暂时性机制。例如,计算机可读存储设备可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器件及其他存储设备和介质。在一些实施例中,基站或UE可包括一个或多个处理器,并且可用存储在计算机可读存储设备上的指令来配置。
应理解的是在本说明书中描述的功能单元或能力可能已被称为或标记为模块,以便更特别地强调其实施方式无关性。例如,可以将模块实现为硬件电路,其包括自定义VLSI电路或门阵列、诸如逻辑芯片的成品半导体、晶体管或其他分立部件。还可以用可编程硬件器件来实现模块,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等。还可以用软件来实现模块以便由各种类型的处理器来执行。可执行代码的已识别模块可以例如包括计算机指令的一个或多个物理或逻辑块,其可例如被组织为对象、程序或函数。然而,所识别模块的可执行文件不需要在物理上定位在一起,而是可以包括存储在不同位置上的不相干的指令,所述不同位置在被在逻辑上结合在一起时包括模块且实现用于模块的所述目的。
事实上,可执行代码模块可以是单个指令或许多指令,并且甚至可以分布在多个不同代码段上、在不同的程序之中以及跨多个存储器件。同样地,在这里,可以在模块内识别和示出操作数据,并且以任何适当的形式来体现并在任何适当类型的数据结构内组织。可将操作数据集合为单个数据集,或者可分布在包括不同存储设备的不同位置上,并且可至少部分地仅仅作为电子信号存在于***或网络上。该模块可以是被动或主动的,包括可操作用于执行期望功能的代理。
目前所述的方法、***以及设备实施例的附加示例包括以下、非限制性配置。每个以下非限制性示例可独立存在,或者可以任何替换或组合将其与在下面或遍及本公开提供的其他示例中的任何一个或多个组合。
示例1包括客户端设备,包括:
至少一个处理器;
至少一个存储器设备;
至少一个脚本库,可在浏览器中执行且被配置成在客户端设备与服务器之间建立一个或多个持续HTTP上双向流(BOSH)连接;以及
至少一个网络应用程序,可在浏览器中执行并被配置成实现脚本库以使用BOSH连接从服务器接收一个或多个可扩展通讯和到场协议(XMPP)数据传输,其中,所述XMPP数据传输从在服务器上操作的一个或多个应用程序提供元数据流;
其中,所述存储器设备提供存储在其中的多个指令,其在被处理器执行时促使处理器执行指令,该指令执行所述浏览器、所述至少一个脚本库以及所述至少一个网络应用程序。
在示例2中,示例1的主题可以可选地包括
使用BOSH连接在一个或多个XMPP命令传输中从网络应用程序向服务器传输一个或多个命令,该命令用来控制从服务器到网络应用程序的元数据流的传输。
在示例3中,示例1—2中的一个或任何组合的主题可以可选地包括
使用在网络应用程序中执行的脚本库在浏览器中建立BOSH连接,该脚本库向浏览器提供一个或多个运行时间执行BOSH连接。
在示例4中,示例1—3中的一个或任何组合的主题可以可选地包括用符合HTML5标记语言标准的浏览器可呈现标记语言来编码的网络应用程序,其中,用符合JavaScript脚本语言标准的脚本语言对脚本库进行编码,并且其中,所述浏览器图形用户接口被进一步配置成呈现用符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
在示例5中,示例1—4中的一个或任何组合的主题可以可选地包括
使用BOSH连接与服务器交换一个或多个应用程序简档,该应用程序简档以用于网络应用程序和在服务器上操作的应用程序的XMPP格式来定义能力和结构化语法。
在示例6中,示例1—5中的一个或任何组合的主题可以可选地包括使用针对网络应用程序定义的XML 节来与服务器通信,该XML 节提供用于与网络应用程序进行XMPP数据传输的结构化语法。
在示例7中,示例1—6中的一个或任何组合的主题可以可选地包括从在服务器上操作的应用程序提供的元数据流与多媒体内容相关联,并且其中,该元数据包括来自为多媒体内容提供的隐藏字幕文本或副标题文本中的一个或多个的文本。
在示例8中可包括或者可以可选地将其与示例1—7中的一个或任何组合的主题组合以包括服务器设备,包括:
至少一个处理器;
至少一个存储器设备;
至少一个服务器应用程序,用于在客户端设备处向一个或多个客户端应用程序提供元数据流,该服务器应用程序被配置成:
在服务器应用程序与客户端应用程序之间建立持续HTTP上双向流(BOSH)连接;以及
使用BOSH连接从服务器应用程序向客户端应用程序传输一个或多个数据传输,该数据传输包括提供元数据流的XMPP格式化通信;
其中,所述存储器设备提供存储在其中的多个指令,其在被处理器执行时促使处理器执行指令,该指令执行服务器应用程序。
在示例9中,示例1的主题可以可选地包括
使用BOSH连接在一个或多个XMPP命令传输中从客户端应用程序向服务器应用程序接收一个或多个命令,该命令用来控制元数据到客户端应用程序的传输。
在示例10中,示例8—9中的一个或任何组合的主题可以可选地包括服务器应用程序,其由与浏览器相结合地执行的一个或多个网络应用程序或网页提供,该网络应用程序或网页使用符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言。
在示例11中,示例8—10中的一个或任何组合的主题可以可选地包括使用BOSH连接与客户端应用程序交换一个或多个应用程序简档,该应用程序简档以用于服务器应用程序和客户端应用程序的XMPP格式来定义能力和结构化语法。
在示例12中,示例8—11中的一个或任何组合的主题可以可选地包括使用XML 节来与客户端应用程序通信,XML 节提供用于与一个或多个客户端应用程序进行XMPP格式化通信的结构化语法。
在示例13中,示例8—12中的一个或任何组合的主题可以可选地包括从服务器应用程序提供的元数据流,其与由服务器设备处理的多媒体内容相关联,并且其中,该元数据包括来自在服务器设备处接收到的用于多媒体内容的隐藏字幕文本或副标题文本中的一个或多个的文本。
在示例14中可包括或者可以可选地将其与示例1—13中的一个或任何组合的主题组合以包括用于从远程应用程序获得元数据流的方法,包括:
在本地网络应用程序与远程应用程序之间建立持续HTTP上双向流(BOSH)连接,该本地网络应用程序在浏览器内执行;
使用BOSH连接从远程应用程序接收可扩展通讯和到场协议(XMPP)数据传输,其中,XMPP数据传输从远程应用程序提供元数据以便与本地网络应用程序一起使用;以及
在本地网络应用程序内从元数据提取值。
在示例15中,示例14的主题可以可选地包括由浏览器通过使用脚本库来建立BOSH连接,该脚本库提供用于在浏览器内的运行时间执行的至少一个BOSH连接部件。
在示例16中,示例14—15中的一个或任何组合的主题可以可选地包括用符合HTML5标记标准的浏览器可呈现标记语言来编码的本地网络应用程序,其中,用符合JavaScript脚本语言标准的脚本语言对脚本库进行编码,并且其中,所述浏览器被进一步配置成呈现用符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
在示例17中,示例14—16中的一个或任何组合的主题可以可选地包括
使用BOSH连接来传输应用程序简档,该应用程序简档以用于本地网络应用程序和远程应用程序的XMPP格式来定义能力和结构化语法;
其中,所述XMPP数据传输使用以XML格式定义的节,该节提供用于与本地网络应用程序的XMPP数据传输的结构化语法。
在示例18中可包括或者可以可选地将其与示例1-17中的一个或任何组合的主题组合以包括用于向远程网络应用程序传输元数据流的方法,包括:
在服务器处建立在服务器处操作的本地应用程序与远程网络应用程序之间的BOSH持续HTTP上双向流连接,该远程网络应用程序在浏览器内执行;以及
使用BOSH连接从服务器向远程网络应用程序传输XMPP可扩展通讯和到场协议数据传输,其中,XMPP数据传输从本地应用程序向远程网络应用程序提供元数据。
在示例19中,示例18的主题可以可选地包括本地应用程序是在本地浏览器中执行且用符合HTML5标记标准的浏览器可呈现标记语言来编码的本地网络应用程序,其中,用符合JavaScript脚本语言标准的脚本语言对脚本库进行编码,并且其中,所述本地浏览器被进一步配置成呈现用符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
在示例20中,示例18—19中的一个或任何组合的主题可以可选地包括
使用BOSH连接来接收应用程序简档,该应用程序简档以用于本地应用程序和远程网络应用程序的XMPP格式来定义能力和结构化语法;
其中,所述XMPP数据传输使用以XML格式定义的节,该节提供用于与远程网络应用程序进行XMPP数据传输的结构化语法。
在示例21中,示例1—20中的一个或任何组合的主题可以可选地包括至少一个机器可读存储介质,其包括多个指令,该指令响应于在计算设备上执行而促使计算设备结合示例1—20的方法或设备配置来执行动作或步骤。
在示例22中可包括或者可以可选地将其与示例1—21中的一个或任何组合的主题组合以包括***,该***包括:
第一平台,提供可扩展通讯和到场协议(XMPP)服务器和服务器应用程序,该XMPP服务器被配置成使用一个或多个持续HTTP上双向流(BOSH)连接进行通信;以及
第二平台,提供XMPP客户端和客户端应用程序,该XMPP客户端被配置成使用与第一平台的BOSH连接来与XMPP服务器通信;
其中,与第一平台的BOSH连接被用来在第一平台与第二平台之间建立连续连接并在从服务器应用程序到客户端应用程序的XMPP通信中传送元数据流;以及
其中,根据提供结构化语法的XML 节来进行经由与第一平台的BOSH连接发生的XMPP通信。
在示例23中,示例22的主题可以可选地包括第三平台,其中,所述第一平台可作为代理进行操作以从第二平台向第三平台传输由第一平台经由BOSH连接接收到的数据。
在示例24中,示例22—23中的一个或任何组合的主题可以可选地包括经由BOSH连接发生的XMPP通信,包括以下各项中的一个或多个:被配置成控制元数据流到客户端应用程序的传输的一个或多个命令;或一个或多个应用程序简档,该应用程序简档以用于客户端应用程序的XMPP格式来定义能力和结构化语法。
在示例25中,示例22—24中的一个或任何组合的主题可以可选地包括所述客户端应用程序,其由在第二平台上的浏览器中操作的网络应用程序提供,其中,该网络应用程序是用符合HTML5标记语言标准的浏览器可呈现标记语言编码的,并且其中,所述XMPP客户端由用符合JavaScript脚本语言标准的脚本语言编码且执行在浏览器中的脚本库提供。
在示例26中,示例22—25中的一个或任何组合的主题可以可选地包括第一平台,其是与被配置成在元数据流中传输隐藏字幕或副标题的电视或机顶盒相结合地提供的,并且其中,第二平台是与被配置成接收元数据流的平板计算机相结合地提供的。
提供本公开的摘要是为了允许读者确定技术公开的本质和主旨。其是在理解其将不会被用来限制或解释权利要求的范围或意义的情况下提交的。以下权利要求由此被结合到具体实施方式中,其中每个权利要求作为单独的实施例而独立。
Claims (22)
1.一种客户端设备,包括:
至少一个处理器;
至少一个存储器设备;
至少一个浏览器;
至少一个脚本库,可在浏览器中执行且被配置成在客户端设备与服务器之间建立一个或多个BOSH持续HTTP上双向流连接;以及
至少一个网络应用程序,可在浏览器中执行并被配置成实现脚本库以使用BOSH连接从服务器接收一个或多个XMPP可扩展通讯和到场协议数据传输,其中,XMPP数据传输提供来自在服务器上操作的一个或多个应用程序的元数据流;
其中,所述存储器设备提供存储在其中的多个指令,所述指令在被处理器执行时促使处理器执行指令,该指令执行所述浏览器、所述至少一个脚本库以及所述至少一个网络应用程序;
其中从在服务器上操作的应用程序提供的元数据流与多媒体内容相关联,并且其中,该元数据包括来自为多媒体内容提供的隐藏字幕文本或副标题文本中的一个或多个的文本。
2.权利要求1的客户端设备,所述网络应用程序还被配置成:
使用BOSH连接在一个或多个XMPP命令传输中从网络应用程序向服务器传输一个或多个命令,该命令用来控制从服务器到网络应用程序的元数据流的传输。
3.权利要求1的客户端设备,其中,所述BOSH连接由浏览器使用在网络应用程序中执行的脚本库建立,该脚本库提供到浏览器的一个或多个运行时间执行BOSH连接部件。
4.权利要求3的客户端设备,其中,所述网络应用程序被用符合HTML5标记语言标准的浏览器可呈现标记语言编码,其中,所述脚本库被用符合JavaScript脚本语言标准的脚本语言编码,并且其中,浏览器图形用户接口还被配置成提供以符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
5.权利要求1到4中任意一个或多个的客户端设备,所述网络应用程序还被配置成:
使用BOSH连接与服务器交换一个或多个应用程序简档,该应用程序简档以用于网络应用程序和在服务器上操作的应用程序的XMPP格式来定义能力和结构化语法。
6.权利要求1到4中任意一个或多个的客户端设备,所述网络应用程序还被配置成:
使用针对网络应用程序定义的XML 节与服务器通信,该XML 节提供用于与网络应用程序进行XMPP数据传输的结构化语法。
7.一种服务器设备,包括:
至少一个处理器;
至少一个存储器设备;以及
至少一个服务器应用程序,用于向在客户端设备处的一个或多个客户端应用程序提供元数据流,该服务器应用程序被配置成:
在服务器应用程序与客户端应用程序之间建立BOSH持续HTTP上双向流连接;以及
使用BOSH连接从服务器应用程序向客户端应用程序传输一个或多个数据传输,该数据传输包括提供元数据流的XMPP可扩展通讯和到场协议格式化通信;
其中,所述存储器设备提供存储在其中的多个指令,所述指令在被处理器执行时促使处理器执行指令,该指令执行服务器应用程序;
其中,从服务器应用程序提供的元数据流与由服务器设备处理的多媒体内容相关联,并且其中,所述元数据包括来自在服务器设备处针对多媒体内容接收到的隐藏字幕文本或副标题文本中的一个或多个的文本。
8.权利要求7的服务器设备,所述服务器应用程序还被配置成:
使用BOSH连接在一个或多个XMPP命令传输中从客户端应用程序向服务器应用程序接收一个或多个命令,该命令用来控制元数据流到客户端应用程序的传输。
9.权利要求7的服务器设备,其中,所述服务器应用程序由与浏览器相结合地执行的一个或多个网络应用程序或网页提供,该网络应用程序或网页使用符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言。
10.权利要求7到9中任意一个或多个的服务器设备,所述服务器应用程序还被配置成:
使用BOSH连接与客户端应用程序交换一个或多个应用程序简档,该应用程序简档以用于服务器应用程序和客户端应用程序的XMPP格式来定义能力和结构化语法。
11.权利要求7到9中任意一个或多个的服务器设备,所述服务器应用程序还被配置成:
使用XML 节与客户端应用程序通信,该XML 节提供用于与客户端应用程序进行XMPP格式通信的结构化语法。
12.一种用于在设备处执行的从远程应用程序获得元数据流的计算机实现方法,包括:
在客户端设备处建立在客户端设备上操作的本地网络应用程序与在远程设备上操作的远程应用程序之间的BOSH持续HTTP上双向流连接,所述本地网络应用程序在浏览器内执行;
使用BOSH连接从远程应用程序接收XMPP可扩展通讯和到场协议数据传输,其中,XMPP数据传输提供来自远程应用程序的元数据以便供本地网络应用程序使用;以及
在本地网络应用程序内从元数据提取值;
其中,从服务器应用程序提供的元数据流与由服务器设备处理的多媒体内容相关联,并且其中,所述元数据包括来自在服务器设备处针对多媒体内容接收到的隐藏字幕文本或副标题文本中的一个或多个的文本。
13.权利要求12的方法,其中,所述BOSH连接由浏览器通过使用脚本库而建立,该脚本库提供用于在浏览器内的运行时间执行的至少一个BOSH连接部件。
14.权利要求13的方法,其中,所述本地网络应用程序被用符合HTML5标记语言标准的浏览器可呈现标记语言编码,其中,所述脚本库被用符合JavaScript脚本语言标准的脚本语言编码,并且其中,浏览器还被配置成提供以符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
15.权利要求12到14中任意一个或多个的方法,还包括:
使用BOSH连接来传输应用程序简档,该应用程序简档针对本地网络应用程序和远程应用程序以XMPP格式来定义能力和结构化语法;
其中,所述XMPP数据传输使用以XML格式定义的节,该节提供用于与本地网络应用程序进行XMPP数据传输的结构化语法。
16.一种用于在服务器处执行的向远程网络应用程序传输元数据流的计算机实现方法,包括:
在服务器处建立在服务器处操作的本地应用程序与远程网络应用程序之间的BOSH持续HTTP上双向流连接,该远程网络应用程序在浏览器内执行;以及
使用BOSH连接从服务器向远程网络应用程序传输XMPP可扩展通讯和到场协议数据传输,其中,XMPP数据传输从本地应用程序向远程网络应用程序提供元数据;
其中,从服务器应用程序提供的元数据流与由服务器设备处理的多媒体内容相关联,并且其中,所述元数据包括来自在服务器设备处针对多媒体内容接收到的隐藏字幕文本或副标题文本中的一个或多个的文本。
17.权利要求16的方法,其中,所述本地应用程序是在本地浏览器中执行并以符合HTML5标记语言标准的浏览器可呈现标记语言而编码的本地网络应用程序,其中,脚本库被用符合JavaScript脚本语言标准的脚本语言编码,并且其中,所述本地浏览器还被配置成提供以符合HTML5标记语言标准的标记语言和符合JavaScript脚本语言标准的脚本语言编码的网络应用程序。
18.权利要求16或17的方法,还包括:
使用BOSH连接来接收应用程序简档,该应用程序简档针对本地应用程序和远程网络应用程序以XMPP格式来定义能力和结构化语法;
其中,所述XMPP数据传输使用以XML格式定义的节,该节提供用于与远程网络应用程序进行XMPP数据传输的结构化语法。
19.一种用于在设备之间传送数据的***,包括:
第一平台,提供XMPP可扩展通讯和到场协议服务器和服务器应用程序,该XMPP服务器被配置成使用一个或多个BOSH持续HTTP上双向流连接进行通信;以及
第二平台,提供XMPP客户端和客户端应用程序,该XMPP客户端被配置成使用BOSH连接来与XMPP服务器通信;
其中,BOSH连接被用来在第一平台与第二平台之间建立连续连接并在从服务器应用程序到客户端应用程序的XMPP通信中传送元数据流;以及
其中,根据提供结构化语法的XML 节来进行经由BOSH连接发生的XMPP通信;
其中,所述第一平台是与被配置成在元数据流中传输隐藏字幕或副标题的电视或机顶盒相结合而提供的,并且其中,所述第二平台是与被配置成接收元数据流的平板计算机相结合而提供的。
20.权利要求19的***,还包括:
第三平台,其中,所述第一平台可作为代理进行操作以从第二平台向第三平台传输由第一平台经由BOSH连接接收到的数据。
21.权利要求19或20的***,其中,经由BOSH连接发生的XMPP通信包括以下各项中的一个或多个:
一个或多个命令,被配置成控制元数据流到客户端应用程序的传输;或者
一个或多个应用程序简档,所述应用程序简档以用于客户端应用程序的XMPP格式来定义能力和结构化语法。
22.权利要求19或20的***,其中,所述客户端应用程序由在第二平台上的浏览器中操作的网络应用程序提供,其中,所述网络应用程序是以符合HTML5标记语言标准的浏览器可呈现标记语言编码的,并且其中,所述XMPP客户端由以符合JavaScript脚本语言标准的脚本语言编码且在浏览器中执行的脚本库提供。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/067597 WO2013100969A1 (en) | 2011-12-28 | 2011-12-28 | Method and apparatus for streaming metadata between devices using javascript and html5 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104169898A CN104169898A (zh) | 2014-11-26 |
CN104169898B true CN104169898B (zh) | 2018-04-27 |
Family
ID=48698212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075985.9A Expired - Fee Related CN104169898B (zh) | 2011-12-28 | 2011-12-28 | 用于使用JavaScript和HTML5在设备之间流式传输元数据的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9848032B2 (zh) |
EP (1) | EP2798508A4 (zh) |
CN (1) | CN104169898B (zh) |
TW (1) | TWI502367B (zh) |
WO (1) | WO2013100969A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6064381B2 (ja) * | 2012-06-13 | 2017-01-25 | 株式会社リコー | 情報共有システム |
US8924850B1 (en) | 2013-11-21 | 2014-12-30 | Google Inc. | Speeding up document loading |
EP2911425B1 (en) * | 2014-01-13 | 2016-08-31 | Industrial Technology Research Institute | Device to device discovery method for user equipment and network entity and user equipment and network entity using the same |
EP2927826B1 (en) * | 2014-04-04 | 2022-06-29 | Avid Technology, Inc. | Method of consolidating, synchronizing, and streaming production content for distributed editing of media compositions |
US9507649B2 (en) * | 2014-05-29 | 2016-11-29 | Apple Inc. | Web browser for spoofing supported features |
CN104038835B (zh) * | 2014-05-30 | 2017-11-10 | 四川长虹电器股份有限公司 | 基于智能设备的多屏协同基础平台及其实现方法 |
CN106921682A (zh) * | 2015-12-24 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 文件上传方法和装置 |
KR102321859B1 (ko) | 2016-07-21 | 2021-11-03 | 한화테크윈 주식회사 | 자바 스크립트를 이용한 실시간 미디어 스트리밍 방법 및 그 장치 |
KR102130429B1 (ko) | 2016-11-07 | 2020-07-07 | 한화테크윈 주식회사 | 멀티미디어 수신 장치에서 디코딩을 수행하는 방법 및 멀티미디어 장치 |
US10979785B2 (en) | 2017-01-20 | 2021-04-13 | Hanwha Techwin Co., Ltd. | Media playback apparatus and method for synchronously reproducing video and audio on a web browser |
CN107678778B (zh) * | 2017-03-14 | 2019-12-13 | 平安科技(深圳)有限公司 | 基于Hybrid的兼容方法、适配件、运行装置及*** |
US11062497B2 (en) | 2017-07-17 | 2021-07-13 | At&T Intellectual Property I, L.P. | Structuralized creation and transmission of personalized audiovisual data |
CN108829398B (zh) * | 2018-03-27 | 2022-06-17 | 厦门欣旅通科技有限公司 | 一种移动端页面交互实现方法及装置 |
CN108600785B (zh) * | 2018-05-10 | 2021-05-04 | 闪玩有限公司 | 视频串流中子程序的同步方法及计算机可读存储介质 |
US10963538B2 (en) * | 2019-07-31 | 2021-03-30 | Salesforce.Com, Inc. | Client application for web application execution |
TWI767198B (zh) * | 2020-03-17 | 2022-06-11 | 昕力資訊股份有限公司 | 控制異質平台端點的電腦程式產品及裝置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987851A (zh) * | 2005-12-22 | 2007-06-27 | 腾讯科技(深圳)有限公司 | 一种网页数据的更新显示方法 |
CN101763432A (zh) * | 2010-01-05 | 2010-06-30 | 北京大学 | 一种轻量级网页动态视图快速构建方法 |
CN101860734A (zh) * | 2009-04-07 | 2010-10-13 | 谢亚南 | 一种ajax实现动态图像增量传输与显示的方法 |
CN102246489A (zh) * | 2008-10-08 | 2011-11-16 | 思杰***有限公司 | 对通过http的异步消息通信进行连接管理的***和方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1491053A1 (en) * | 2002-03-21 | 2004-12-29 | Koninklijke Philips Electronics N.V. | Multi-lingual closed-captioning |
US7493021B2 (en) * | 2005-03-24 | 2009-02-17 | International Business Machines Corporation | Method and apparatus for using closed captioning data to identify television programming content for recording |
US20070154171A1 (en) * | 2006-01-04 | 2007-07-05 | Elcock Albert F | Navigating recorded video using closed captioning |
US8874645B2 (en) * | 2006-03-28 | 2014-10-28 | Packetvideo Corp. | System and method for sharing an experience with media content between multiple devices |
US8451232B2 (en) * | 2007-01-07 | 2013-05-28 | Apple Inc. | Portable multifunction device, method, and graphical user interface for interacting with user input elements in displayed content |
US20080193100A1 (en) * | 2007-02-12 | 2008-08-14 | Geoffrey King Baum | Methods and apparatus for processing edits to online video |
US8209706B2 (en) * | 2008-06-27 | 2012-06-26 | Microsoft Corporation | Inter-frame messaging between different domains |
CN102365874A (zh) * | 2009-04-08 | 2012-02-29 | 维迪埃克迪夫有限公司 | 改进的电视和视频*** |
US9628831B2 (en) * | 2010-03-25 | 2017-04-18 | Whatsapp, Inc. | Multimedia transcoding method and system for mobile devices |
US20110307933A1 (en) * | 2010-06-15 | 2011-12-15 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for implementing server side push mechanisms for internet protocol television (iptv) updates |
US8621037B2 (en) * | 2010-09-28 | 2013-12-31 | Avaya Inc. | System and method to create bi-directional event subscriptions |
US8954863B2 (en) * | 2010-11-15 | 2015-02-10 | Cisco Technology, Inc. | Intelligent social collaboration unified media |
WO2012091652A1 (en) * | 2010-12-30 | 2012-07-05 | Axiomatics Ab | A system and method for using partial evaluation for efficient remote attribute retrieval |
US8863185B2 (en) * | 2011-01-04 | 2014-10-14 | Verizon Patent And Licensing Inc. | Social television |
US9716619B2 (en) * | 2011-03-31 | 2017-07-25 | NextPlane, Inc. | System and method of processing media traffic for a hub-based system federating disparate unified communications systems |
US9503529B2 (en) * | 2011-04-04 | 2016-11-22 | Avaya Inc. | System and method to transport HTTP over XMPP |
US8806540B2 (en) * | 2011-05-10 | 2014-08-12 | Verizon Patent And Licensing Inc. | Interactive media content presentation systems and methods |
WO2012161118A1 (ja) * | 2011-05-20 | 2012-11-29 | 日本放送協会 | 端末連携システム、受信機及び受信方法 |
EP2538375A1 (en) * | 2011-06-23 | 2012-12-26 | NV Mobicage | A communication platform for iterative multiparty convergence towards a microdecision |
CN103782572A (zh) * | 2011-07-07 | 2014-05-07 | 思科技术公司 | 用于提供基于消息和事件的视频服务控制平面的***和方法 |
US8887214B1 (en) * | 2011-07-07 | 2014-11-11 | Cisco Technology, Inc. | System and method for unified metadata brokering and policy-based content resolution in a video architecture |
-
2011
- 2011-12-28 WO PCT/US2011/067597 patent/WO2013100969A1/en active Application Filing
- 2011-12-28 EP EP11878678.9A patent/EP2798508A4/en not_active Withdrawn
- 2011-12-28 US US13/992,420 patent/US9848032B2/en active Active
- 2011-12-28 CN CN201180075985.9A patent/CN104169898B/zh not_active Expired - Fee Related
-
2012
- 2012-12-18 TW TW101148118A patent/TWI502367B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987851A (zh) * | 2005-12-22 | 2007-06-27 | 腾讯科技(深圳)有限公司 | 一种网页数据的更新显示方法 |
CN102246489A (zh) * | 2008-10-08 | 2011-11-16 | 思杰***有限公司 | 对通过http的异步消息通信进行连接管理的***和方法 |
CN101860734A (zh) * | 2009-04-07 | 2010-10-13 | 谢亚南 | 一种ajax实现动态图像增量传输与显示的方法 |
CN101763432A (zh) * | 2010-01-05 | 2010-06-30 | 北京大学 | 一种轻量级网页动态视图快速构建方法 |
Non-Patent Citations (2)
Title |
---|
A session model for cross-domain interactive multi-user IPTV;Daniel Goergen et al.;《Proceedings of the IEEE CCNC 2010》;20100131;第1-5页 * |
Carol Davids et al..SIP APIs for Voice and Video Communications on the Web.《OALib Journal》.2011,第1-8页. * |
Also Published As
Publication number | Publication date |
---|---|
TW201346585A (zh) | 2013-11-16 |
WO2013100969A1 (en) | 2013-07-04 |
US20150052219A1 (en) | 2015-02-19 |
TWI502367B (zh) | 2015-10-01 |
US9848032B2 (en) | 2017-12-19 |
EP2798508A1 (en) | 2014-11-05 |
CN104169898A (zh) | 2014-11-26 |
EP2798508A4 (en) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104169898B (zh) | 用于使用JavaScript和HTML5在设备之间流式传输元数据的方法和设备 | |
Jara et al. | Semantic web of things: an analysis of the application semantics for the iot moving towards the iot convergence | |
CN102647398B (zh) | 基于移动终端实现游戏的方法及装置 | |
US9503540B2 (en) | Method and apparatus for asynchronous distribution of content | |
CN109614244A (zh) | 应用和web服务之间元数据驱动的合作 | |
CN105573129A (zh) | 基于Cordova的跨平台智能家居移动终端 | |
CN104268739A (zh) | 一种将企业信息***快速转化为移动应用的方法和*** | |
CN103974111B (zh) | 将智能终端上的数据传输至电视终端的方法、装置 | |
JP2017502361A (ja) | クライアントデバイスにメディアアセットを提供するための方法 | |
Mingozzi et al. | An open framework for accessing things as a service | |
CN102799477A (zh) | 资源访问方法及装置 | |
CN102325225A (zh) | 一种播放手机网站的视频的方法及装置 | |
Di Martino et al. | A semantic IoT framework to support RESTful devices' API interoperability | |
CN103856552B (zh) | 用于互动直播的方法和设备 | |
Martinez-Pabon et al. | Smart TV‐Smartphone Multiscreen Interactive Middleware for Public Displays | |
Vazquez et al. | Communication architectures and experiences for web-connected physical smart objects | |
Xu et al. | Mobile mashup: Architecture, challenges and suggestions | |
CN108664498A (zh) | 一种网页内容的显示方法及终端 | |
WO2015192671A1 (zh) | 一种电视界面交互方法、装置及机顶盒 | |
Mainetti et al. | An android multi-protocol application for heterogeneous building automation systems | |
Tkachenko et al. | Internet/Web of Things: A Survey of Technologies and Educational Programs | |
Elmangoush et al. | On the usage of standardised M2M platforms for Smart Energy management | |
CN103970513A (zh) | 一种源数据信息的访问方法和平台 | |
Oen | Interoperability at the Application Layer in the Internet of Things | |
CN104065507A (zh) | 基于双平台复用技术的接入设备业务配置方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180427 Termination date: 20191228 |