CN105409183A - 用于在html5应用中实现任何网络功能客户端或服务器的系统和设备 - Google Patents
用于在html5应用中实现任何网络功能客户端或服务器的系统和设备 Download PDFInfo
- Publication number
- CN105409183A CN105409183A CN201380078277.XA CN201380078277A CN105409183A CN 105409183 A CN105409183 A CN 105409183A CN 201380078277 A CN201380078277 A CN 201380078277A CN 105409183 A CN105409183 A CN 105409183A
- Authority
- CN
- China
- Prior art keywords
- service
- neha
- mne
- request
- network
- 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.)
- Granted
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Abstract
本发明涉及一种系统(100),包括作为HTML5应用运行的网络实体NEHA、HTTP服务器、网络实体NE,以及镜像网络实体MNE(120),其中所述MNE(120)是所述NE的镜像实例,所述MNE(120)与所述NE之间运行期望的网络协议,所述NEHA用于通过所述MNE(120)与所述NE通信;并且所述MNE(120)用于使用所述期望的网络协议与所述NE通信。
Description
技术领域
本发明涉及一种用于在标准HTML5应用中实现任何网络功能客户端或服务器的系统和设备。
背景技术
现在的网络浏览器大多是HTTP客户端实体,所有通信均从浏览器发起并且没有在浏览器中运行网络服务器的选项。另外,没有在不安装额外插件的情况下在浏览器中运行的HTML5应用中充当网络客户端(除HTTP客户端和网络套接字客户端之外)的选项。当由网络浏览器发起通信时,必须为每个浏览器和每个操作系统(operatingsystem,OS),有时还为每种服务类型安装本地应用或特殊插件。这种安装处理起来是复杂的,因为每个操作系统、每个浏览器和每种服务类型均需要单独的安装程序。
发明内容
本发明的目标在于提供一种用于扩展HTML5应用的功能的技术。
该目标通过独立权利要求的特征来实现。另外的实施方式从从属权利要求、说明书和附图中是显而易见的。
为了详细描述本发明,将使用下列术语、缩写和符号:
网络套接字:英文为websocket或WebSocket,网络套接字是一种通过单一TCP连接提供全双工通信信道的网络技术。WebSocket协议由IETF于2011年标准化为RFC6455,网络IDL中的WebSocketAPI正在由万维网联盟(WorldWideWebConsortium,W3C)进行标准化。
HTTP:英文为HypertextTransferProtocol,超文本传输协议是一种用于分布式、协作式、超媒体信息系统的应用协议。HTTP是万维网(WorldWideWeb,WWW)数据通信的基础。
HTML5:英文为HypertextTransferProtocolversion5,超文本传输协议第5版是一种用于结构化和呈现万维网内容的标记语言,是互联网的一项核心技术。它是HTML的第五次修订,是W3C候选推荐标准。其核心目标一直在于改进该语言,使其支持最新的多媒体同时保持其易于被人类阅读并且被计算机以及诸如网络浏览器、分析器等设备一致地理解;HTML5支持的协议的示例有:HTTP客户端、网络套接字、webRTC。
NS协议:英文为networkserverprotocol,网络服务器协议是一种HTML5不支持的协议。
WebRTC:英文为WebReal-TimeCommunication,网络实时通信是一种正在由万维网联盟(WorldWideWebConsortium,W3C)起草的API定义,用于使得浏览器能够在没有插件的情况下浏览用于语音呼叫、视频聊天和点对点(point-to-point,P2P)文件共享的应用。
OS:英文为operatingsystem,操作系统是管理硬件资源并为计算机程序提供公共服务的软件集合。操作系统是系统软件的关键组成部分。应用程序通常需要操作系统才能运行。
SOAP:英文为SimpleObjectAccessProtocol,简单对象访问协议是一项用于在计算机网络中实现网络服务时交换结构化信息的协议规范。它依赖于XML信息集作为其消息格式,并且通常依赖于其它应用层协议用于消息协商和传输,尤其是超文本传输协议(HypertextTransferProtocol,HTTP)或简单邮件传输协议(SimpleMailTransferProtocol,SMTP)。
REST:英文为RepresentationalStateTransfer,表征状态转移是一种用于诸如万维网的分布式系统的软件架构样式。REST已经成为一种主要的网络API设计模型。
CGI:英文为CommonGatewayInterface,通用网关接口是一种网络服务器软件用来将网络内容的生成委托给可执行文件的标准方法。这类文件被称为CGI脚本或简单地称为CGI;它们通常使用脚本语言写成。
DLNA:英文为DigitalLivingNetworkAlliance。数字生活网络联盟是非营利性的合作贸易组织,负责制定互操作性指南以实现多媒体设备之间的数字媒体共享。这些指南规定了使用标准以实现互操作性的一套限定方式。这些互操作性指南实现消费者设备之间数字媒体的共享,数字媒体如音乐、照片和视频,消费者设备如计算机、TV、打印机、照相机、手机,以及其它多媒体设备。
DMR:英文为DigitalMediaReceiver,数字媒体接收器通常也被称为媒体扩展器、媒体流分送器(mediastreamer)、数字媒体中心或数字媒体适配器(digitalmediaadapter,DMA),是一种家庭娱乐设备,可以连接到家庭网络以从个人计算机或其它联网媒体服务器检索数字媒体文件(如音乐、图片或视频)并在家庭影院系统或电视上对它们进行回放。DLNA组织称这些设备为数字媒体渲染器(digitalmediarenderer,DMR)。
SSDP:英文为SimpleServiceDiscoveryProtocol,简单服务发现协议是一项基于用于网络服务和状态信息的通告和发现的互联网协议套件的网络协议。它实现这一点而无需诸如动态主机配置协议(DynamicHostConfigurationProtocol,DHCP)或域名系统(DomainNameSystem,DNS)之类基于服务器的配置机制的协助,并且无需网络主机的特殊的静态配置。SSDP是通用即插即用的发现协议的基础,设计用于住宅或小型办公环境中。SSDP已被并入UPnP协议栈。
GENA:英文为GeneralEventNotificationArchitecture。通用事件通知架构定义了一种在HTTP资源之间传输通知的HTTP通知架构。HTTP资源可以是可能需要发送或接收通知的任何对象,例如分布表、好友列表、打印作业等。基于GENA的客户端至仲裁器(ClienttoArbiter)提供了使用基于TCP/IP的HTTP以及管理范围内的不可靠多播UDP来发送和接收通知的能力。
IGMP:英文为InternetGroupManagementProtocol,互联网组管理协议是一项由IP网络上的主机和邻近路由器用以建立多播组成员关系的通信协议。IGMP是IP多播的组成部分。IGMP可以用于一对多的联网应用,如在线流媒体视频和游戏,并且允许在支持这些类型的应用时更高效的资源利用。
IPTV:英文为InternetProtocolTelevision,互联网协议电视是这样一种系统:借助于该系统使用互联网协议套件通过诸如互联网的数据包交换网络,而不是通过传统的陆地、卫星信号和电缆电视格式来提供电视服务。
WSDL:英文为WebServicesDescriptionLanguage,网络服务描述语言是一种用于描述由网络服务提供的功能的基于XML的接口描述语言。网络服务的WSDL描述(也被称为WSDL文件)提供了对该服务的调用方式、该服务需要的参数,以及该服务返回的数据结构的机器可读描述。
XML:英文为ExtensibleMarkupLanguage,可扩展标记语言是一种标记语言,它定义了一组用于以人类可读且机器可读的格式编码文档的规则。
GUI:英文为GraphicalUserInterface,图形用户界面是一种允许用户使用图像而不是文字命令与电子设备进行交互的用户界面。GUI可以用于计算机、手持式设备如MP3播放器、便携式媒体播放器或游戏设备、家用电器、办公设备和工业设备中。
API:英文为ApplicationProgrammingInterface,应用程序编程接口是一项针对一些软件组件应如何相互交互制定的规范。在实践中,大多数情况下,API是通常包括针对例程、数据结构、对象类和变量的规范的库。
脚本语言:英文为scriptinglanguage或scriptinglanguage,是一种支持脚本编写的编程语言,脚本是针对特定的运行时环境编写的程序,可以解释可能可替代地由人类操作员依次执行的任务的执行并使任务的执行自动化。可以通过脚本进行自动化的环境包括软件应用、网络浏览器内的网页、操作系统(OS)的壳,以及若干种通用和领域特定的语言,如用于嵌入式系统的那些语言。
JavaScriptTM:英文为JavaScript(JS),是一种解释性的计算机编程语言。它最初被实现为网络浏览器的一部分以使得客户端侧脚本可以与用户交互、控制浏览器、异步通信,以及改变显示的文档内容。然而,最近,它已被经常用于游戏开发和桌面应用创建。
Bonjour:Bonjour是苹果公司针对Zero配置联网的实现,Zero配置联网是包括服务发现、地址分配和主机名解析的一组技术。Bonjour定位诸如打印机、其它计算机的设备,以及这些设备使用多播域名系统(multicastDomainNameSystem,mDNS)服务记录在本地网络上提供的服务。
AirPlay:AirPlay是由苹果公司开发的一种专有协议栈/套件,允许音频、视频和照片,以及相关元数据在设备之间的无线流传输。
UPnP:英文为UniversalPlugandPlay,通用即插即用是一组联网协议,该组联网协议允许网络设备,如个人电脑、打印机、互联网网关、Wi-Fi接入点和移动设备无缝地发现对方在网络上的存在并建立用于数据共享、通信和娱乐的功能性网络服务。UPnP主要针对不存在企业级设备的住宅网络。
DMC:英文为DigitalMediaController,数字媒体控制器依据DLNA认证的设备类。数字媒体控制器上发现数字媒体服务器(digitalmediaserver,DMS)上的内容,并指示数字媒体渲染器(digitalmediarenderer,DMR)播放内容。内容不从DMC流出或流过DMC。示例包括互联网平板电脑、具有Wi-Fi功能的数码相机和智能手机。
RUIS:远程用户接口服务器---HTTP服务器。
RTSP:英文为RealTimeStreamingProtocol。实时流协议是一项网络控制协议,设计用于娱乐和通信系统中以控制流媒体服务器。该协议用于建立和控制端点之间的媒体会话。媒体服务器的客户端发出类似VCR的命令,如播放和暂停,以方便从服务器实时控制媒体文件。
RTMP:英文为RealTimeMessagingProtocol,实时消息传输协议是一项通过互联网在Flash播放器与服务器之间流传输音频、视频和数据的协议。
XMPP:英文为ExtensibleMessagingandPresenceProtocol,可扩展的信息和呈现协议是一项基于XML(可扩展标记语言)的用于面向消息的中间件的通信协议。该协议最初开发用于近似实时、即时消息(instantmessaging,IM),呈现信息和联系人列表维护。由于被设计成可扩展的,该协议也已被用于公告-订阅系统、VoIP信令、视频、文件传送、游戏等。
URI:英文为UniformResourceIdentifier,统一资源标识符是用于标识名称或网络资源的一串字符。这种标识使得能够使用特定协议通过网络(通常是万维网)与网络资源的表示进行交互。
根据第一方面,提供了一种作为HTML5应用运行的网络实体(NetworkEntityrunningasaHTML5Application,NEHA)。所述NEHA用于包括HTTP服务器、网络实体(networkentity,NE)和镜像网络实体(mirrornetworkentity,MNE)120的系统中,其中所述MNE120是所述NE的镜像实例,所述MNE120与所述NE之间运行期望的网络协议。所述NEHA包括:第一发送器(1320),用于向所述HTTP服务器发送第一请求以请求所述MNE120,其中所述第一请求指示所述期望的网络协议;第一接收器1310,用于从所述HTTP服务器接收指示所述请求的MNE120的第一响应;处理逻辑1350,用于处理所述第一请求和创建所述第一响应;以及通信单元1330,用于通过所述MNE120与所述NE通信。
通过利用所述MNE120与所述NE通信,使得所述NEHA能够与运行期望的网络协议的所述NE通信,而无需针对所述NEHA上的每个浏览器和每个操作系统(operatingsystem,OS)或每种服务类型安装本地应用或特殊插件。所述NEHA的功能被扩展到HTML5不支持的所述期望的网络协议。所述镜像网络实体MNE120也被称为镜像设备。
在根据如上所述第一方面的所述NEHA的第一可能实施方式中,所述通信单元1330包括:第二发送器1333,用于向所述MNE120发送消息;以及第二接收器1331,用于从所述MNE120接收消息;所述处理逻辑1350还用于处理从所述MNE120接收的所述消息并创建向所述MNE120发送的所述消息。
在根据所述第一方面的所述第一实施方式的所述NEHA的第二可能实施方式中,当所述NEHA是用于请求第一服务的客户端实体时,所述NE是提供所述第一服务的服务器实体,其中向所述MNE120发送的所述消息是用于请求所述第一服务的第二请求,从所述MNE120接收的所述消息是提供所述第一服务的第二响应。所述第二请求和所述第二响应是在所述期望的网络协议中定义的消息,以IGMP为例,当所述第二请求是用于多播组的加入组请求时,所述第二响应是加入组回复;当所述第二请求是离开组请求时,所述第二响应是离开组回复。
通过这样做,使得所述NEHA能够作为用于请求服务的客户端实体,并充当用于HTML5不支持的任何网络协议的网络客户端设备。
在根据所述第一方面的所述第二实施方式的所述NEHA的第三可能实施方式中,所述期望的网络协议包括HTML5不支持的网络协议,具体是互联网组管理协议(InternetGroupManagementProtocol,IGMP)、互联网协议电视(InternetProtocolTelevision,IPTV)、组协议,以及文件传输协议(FileTransferProtocol,FTP)。
通过引入MNE120,使得所述NEHA能够在HTML5应用中作为HTML5不支持的任何网络协议客户端运行。例如,使得所述NEHA能够在HTML5浏览器中运行IGMP客户端。
在根据如上所述第一方面的所述第一实施方式的所述NEHA的第四可能实施方式中,当所述NEHA是用于提供第二服务的服务器实体时,所述NE是请求所述第二服务的客户端实体,其中从所述MNE120接收的所述消息是用于请求所述第二服务的第三请求,向所述MNE120发送的所述消息是提供所述第二服务的第三响应。类似于所述第二请求/响应,所述第三请求/响应也是所述期望的网络协议的公知消息。
实现了所述NEHA作为用于提供服务的服务器实体。
在根据所述第一方面的所述第四实施方式的所述NEHA的第五可能实施方式中,所述期望的网络协议包括HTTP、自动发现和控制网络协议,以及媒体自动发现和控制网络协议。
所述自动发现和控制网络协议包括UPnP组协议和Bonjour。通过引入所述MNE120,在HTML5应用中实现了自动发现和控制(UPnP、Bonjour等)功能。
所述媒体自动发现和控制网络协议包括媒体UPnP组协议、AirPlay和DLNA协议。通过引入所述MNE120,在HTML5应用中实现了UPnP媒体渲染器和DLNA媒体播放器DMR功能。
当所述期望的网络协议是所述自动发现和控制网络协议时,所述NEHA是自动发现和控制网络设备;当所述期望的网络协议是媒体自动发现和控制网络协议时,所述NEHA是媒体自动发现和控制网络渲染器设备。
在根据如上所述第一方面或所述第一方面的任一前述实施方式的所述NEHA的第六可能实施方式中,所述NEHA还包括耦合到所述通信单元1330的连接建立单元1340,连接建立单元1340用于在所述NEHA与所述MNE120之间建立持久连接,相应地,向所述MNE120发送和从其接收的所述消息通过所述持久连接进行传送。
在根据如上所述第一方面或所述第一方面的任一前述实施方式的所述NEHA的另一可能实施方式中,所述持久连接是网络套接字持久连接,具体是HTML5网络套接字持久连接或安全链路连接。所述安全链路连接可以是加密的安全链路连接。所述网络套接字持久连接可以是双向网络套接字持久连接。
在根据如上所述第一方面或所述第一方面的任一前述实施方式的所述NEHA的另一可能实施方式中,所述持久连接提供脚本语言接口,例如JavaScript接口。
在根据如上所述第一方面或所述第一方面的任一前述实施方式的所述NEHA的另一可能实施方式中,所述NEHA110包括网络浏览器210,所述网络浏览器210用于通过所述MNE120与所述NE通信,例如向所述MNE120发送所述消息。所述网络浏览器是HTML5浏览器。
所述网络浏览器210包括用于向所述MNE120发送所述消息的HTML5应用。
在根据如上所述第一方面或所述第一方面的任一前述实施方式的所述NEHA的第七可能实施方式中,所述NEHA与所述MNE120之间运行第一网络协议。
在根据所述第一方面的所述第七实施方式的所述NEHA的第八可能实施方式中,所述第一网络协议包括所述期望的网络协议和私有协议。
在根据如上所述第一方面或所述第一方面的任一前述实施方式的所述NEHA的另一可能实施方式中,所述NEHA与所述HTTP服务器之间运行HTTP协议,相应地,所述第一请求和所述第一响应依据所述HTTP协议。
在根据所述第一方面的所述第二或第四实施方式的所述NEHA的另一可能实施方式中,所述请求的MNE120通过网络身份指示,具体是IP地址加上端口号。
在根据如上所述第一方面或所述第一方面的任一前述实施方式的所述NEHA的另一可能实施方式中,所述第一服务和所述第二服务是网络服务。
在第二方面中,提供了一种系统。所述系统包括根据如上所述第一方面或所述第一方面的任一前述实施方式的作为HTML5应用运行的网络实体(NetworkEntityrunningasaHTML5Application,NEHA),所述系统包括HTTP服务器、网络实体(networkentity,NE)和镜像网络实体(mirrornetworkentity,MNE)120,其中所述MNE120是所述NE的镜像实例,所述MNE120与所述NE之间运行期望的网络协议,所述HTTP服务器用于从所述NEHA接收请求所述MNE120的所述第一请求,所述第一请求包括所述MNE120与所述NE之间所使用的所述期望的网络协议,并且所述HTTP服务器用于向所述NEHA发送指示所述请求的MNE120的所述第一响应;所述NEHA用于通过所述MNE120与所述NE通信;并且所述MNE120用于使用所述期望的网络协议与所述NE通信。
在根据如上所述第二方面的所述系统的第一实施方式中,当所述NEHA是客户端实体时,所述NE是服务器实体,所述MNE120用于在从所述NEHA接收到所述第二请求时发送请求所述第一服务的第四请求;并且所述MNE120用于从所述NE接收提供所述第一服务的第四响应。
在根据所述第二方面的所述第一实施方式的所述系统的第二实施方式中,所述MNE120还用于缓存所述第四响应,当接收到请求所述第一服务并指示所述期望的网络协议的随后的第二请求时,所述MNE120用于基于所述存储的第四响应直接对所述随后的第二请求作出响应。
在根据如上所述第二方面的所述系统的第三实施方式中,当所述NEHA是服务器实体时,所述NE是客户端实体,所述MNE120用于从所述NE接收请求所述第二服务的第五请求,并且用于基于从所述NEHA接收的所述第三服务响应向所述NE发送提供所述第二服务的第五响应。
在根据所述第二方面的所述第三实施方式的所述系统的第四实施方式中,所述MNE120还用于缓存所述第三响应,当接收到请求所述第一服务的随后的第五请求时,所述MNE120用于基于所述存储的第三响应直接对所述随后的第五请求作出响应。
在根据如上所述第二方面或所述第二方面的任一前述实施方式的所述系统的另一可能实施方式中,所述MNE120还用于在本地处理来自所述NEHA的所述第二请求的一部分以及来自所述NE的所述第五请求的一部分。
实现了所述MNE120充当所述网络实体以处理所述第二请求的一部分,减轻了所述网络实体的负载,并且减少了网络流量,相应地节省了带宽。还实现了所述MNE120充当所述NEHA以处理所述第五请求的一部分,减轻了所述NEHA的负载,并且进一步减少了网络流量,进一步节省了带宽。
在根据如上所述第二方面或所述第二方面的任一前述实施方式的所述系统的另一可能实施方式中,所述MNE120还用于使用所述第一网络协议与所述NEHA通信,并用于当所述第一网络协议与所述期望的网络协议不同时,将所述消息从所述第一网络协议转换为所述期望的网络协议,或从所述期望的网络协议转换为所述第一网络协议。
在根据如上所述第二方面或所述第二方面的任一前述实施方式的所述系统的另一可能实施方式中,所述HTTP服务器还用于通过使用现有的镜像网络实体或通过设置新的镜像网络实体来确定所述MNE120。
在根据如上所述第二方面或所述第二方面的任一前述实施方式的所述系统的另一可能实施方式中,所述MNE120发送和接收的所述消息,包括所述第二请求/响应、所述第三请求/响应、所述第四请求/响应和所述第五请求/响应,是在所述期望的网络协议中定义的公知消息。
根据第三方面,提供了一种方法。所述方法包括:创建第一请求并向HTTP服务器发送所述第一请求以请求镜像网络实体MNE120,其中所述MNE120是网络实体NE的镜像实例,其中所述第一请求指示所述MNE120与所述NE之间运行的期望的网络协议;从所述HTTP服务器接收和处理指示所述请求的MNE120的第一响应;以及通过所述MNE120与所述NE通信。
在根据如上所述第三方面的所述方法的可能的第一实施方式中,所述方法还包括创建消息并向所述MNE120发送所述消息;以及接收和处理来自所述MNE120的消息。
在根据所述第三方面的所述第一实施方式的所述方法的可能的第二实施方式中,当所述NEHA是用于请求第一服务的客户端实体时,所述NE是提供所述第一服务的服务器实体,其中向所述MNE120发送的所述消息是请求所述第一服务的第二请求,从所述MNE120接收的所述消息是提供所述第一服务的第二响应。
在根据所述第三方面的所述第二实施方式的所述方法的可能的第三实施方式中,所述期望的网络协议包括HTML5不支持的网络协议,具体是互联网组管理协议(InternetGroupManagementProtocol,IGMP)、互联网协议电视(InternetProtocolTelevision,IPTV)、组协议、文件传输协议(FileTransferProtocol,FTP)、SSDP、SOAP和GENA。
实现了所述NEHA灵活地从大量的网络协议中进行选择以发起所述服务。
在根据所述第三方面的所述第一实施方式的所述方法的可能的第四实施方式中,当所述NEHA是用于提供第二服务的服务器实体时,所述NE是请求所述第二服务的客户端实体,其中从所述MNE120接收的所述消息是请求所述第二服务的第三请求,向所述MNE120发送的所述消息是提供所述第二服务的第三响应。
在根据所述第三方面的所述第四实施方式的所述方法的可能的第五实施方式中,所述期望的网络协议可以包括HTTP、自动发现和控制网络协议,以及媒体自动发现和控制网络协议。所述自动发现和控制网络协议包括UPnP组协议和Bonjour。通过引入所述MNE120,在HTML5应用中实现了自动发现和控制(UPnP、Bonjour等)功能。
在根据所述第三方面的所述第四实施方式的所述方法的另一可能实施方式中,所述媒体自动发现和控制网络协议包括媒体UPnP组协议、AirPlay和DLNA协议。通过引入所述MNE120,在HTML5应用中实现了UPnP媒体渲染器和DLNA媒体播放器DMR功能。当所述期望的网络协议是所述自动发现和控制网络协议时,所述NEHA是自动发现和控制网络设备;当所述期望的网络协议是媒体自动发现和控制网络协议时,所述NEHA是媒体自动发现和控制网络渲染器设备。
在根据如上所述第三方面或所述第三方面的任一前述实施方式的所述方法的第六可能实施方式中,所述方法还包括在所述NEHA与所述MNE120之间建立持久连接,相应地,向所述MNE120发送和从其接收的所述消息通过所述持久连接进行传送。
在根据所述第三方面的所述第六实施方式的所述方法的另一可能实施方式中,所述持久连接可以是网络套接字持久连接,具体是HTML5网络套接字持久连接或安全链路连接。所述安全链路连接可以是加密的安全链路连接。所述网络套接字持久连接可以是双向网络套接字持久连接。所述持久连接可以提供脚本语言接口,例如JavaScript接口。
通过使用网络套接字连接作为持久连接,所述NEHA与所述NE之间的通信可以在任何操作系统(OS)上利用任何HTML5应用和任何网络服务来实现。
向所述MNE120发送所述消息可以通过网络浏览器来执行,特别是HTML5浏览器。
根据如上第四方面,提供了另一种方法以执行根据所述第二方面或所述第二方面的任一所述实施方式的步骤。
当所述NEHA发起服务请求时,不必安装新的应用。所述HTML5应用可以在每台移动设备上获得,无需开发额外的软件。因此,允许HTML5浏览器平台运行迄今尚不可能运行的各种应用。
本发明是基于以下发现,即一种用于扩展网络浏览器的功能的技术可以在网络中增加镜像服务/设备来实现,所述镜像服务/设备可以动态地启动,通过持久连接与用户实体通信,用户实体例如浏览器中的HTML5应用,例如通过HTML5网络套接字(websocket,ws)或通过HTML5安全链接网络套接字(wss加密以获得安全链路)。这种解决方案不需要任何安装并且可以用于任何操作系统(OS)中的任何HTML5浏览器和任何网络服务。因此,本发明提供了以下技术:使得所述浏览器之中或所述浏览器之外的HTML5应用能够以安全和标准的方式通过使用所述网络中的持久连接,例如HTML5网络套接字,以及镜像服务来运行网络服务器和网络服务。所述技术允许HTML5应用利用适当的服务/协议动态地加载和初始化所述镜像设备。应用此类技术使得HTML5浏览器平台能够运行迄今尚不可能运行的各种应用。
应用此类技术使得HTML5应用能够运行网络服务器并充当网络服务服务器。应用此类技术的方法在HTML5应用中运行HTML5不支持的网络协议客户端。所述技术利用所述网络中的持久连接,如HTML5网络套接字,以及镜像服务/设备实例。HTML5网络套接字提供了全双工持久性单一套接字直接通信的JavaScript接口。所述镜像服务/设备可以充当代理并向所述网络套接字连接和从所述网络套接字连接传送所述要求的协议,并让所述HTML5应用内的JavaScript代码处理所述请求。镜像设备可以包括可以针对特定HTML5应用一起启动的一组服务以充当一个设备。所述镜像服务/设备可以通过缓存所述响应或使所述服务逻辑中的一些在所述镜像服务中实现来处理所述请求中的一些而无需向所述网络套接字隧道转发所述请求。
本文描述的方法、系统和设备可以实施为包括数字信号处理器(DigitalSignalProcessor,DSP)的任何CPU中的、微控制器中的或任何其它副处理器中的软件或者实施为专用集成电路(applicationspecificintegratedcircuit,ASIC)内的硬件电路。
本发明可以在数字电子电路中,或计算机硬件、固件、软件中,或其组合中实施,例如在常规移动设备的可用硬件中或在专用于处理本文描述的方法的新硬件中实施。
附图说明
本发明的具体实施方式将结合以下附图进行描述,其中:
图1示出根据实施方式的图示出包括用户实体和网络实体的系统的框图;
图2示出根据实施方式的图示出通用网络系统的框图;
图3示出根据实施方式的图示出具有示例性服务的通用网络系统的框图;
图4图示出根据实施方式的当HTML5应用充当服务器实体时HTML5与镜像服务/设备通信的流程图;
图5图示出根据实施方式的当HTML5应用充当用于HTML5中不支持的网络协议的客户端实体时HTML5与镜像服务/设备通信的流程图;
图6图示出根据实施方式的使用SSDP、GENA、SOAP服务镜像束的浏览器内的DLNADMR设备示例性实施方式的流程图;
图7图示出根据实施方式的使用SSDP、GENA、SOAP服务镜像的浏览器内的DLNADMR的示例性实施方式的框图;
图8图示出根据实施方式的使用IGMP和多播到单播服务镜像的IGMP客户端HTML5应用的示例性实施方式的流程图;
图9图示出根据实施方式的使用网络中的镜像IPTV设备的IPTV客户端设备HTML5应用的示例性实施方式的流程图;
图10示出根据实施方式的用于初始化用户实体与网络服务之间的持久连接的方法的示意图;
图11图示出根据本发明的实施例的系统的示意图;
图12图示出根据本发明的另一实施例的系统的示意图;
图13图示出根据本发明的实施例的作为HTML5应用运行的网络实体(NetworkEntityrunningasaHTML5Application,NEHA)的示意图;
图14图示出根据本发明的另一实施例的方法的流程图;以及
图15图示出根据本发明的另一实施例的作为HTML5应用运行的网络实体(NEHA)的示意图。
具体实施方式
在下文中,描述了网络服务。网络服务是两个电子设备之间通过万维网(WorldWideWeb,WWW)通信的方法。W3C将“网络服务”定义为“设计用于支持通过网络的可互操作的机对机交互的软件系统”。它具有以机器可处理的格式(具体是网络服务描述语言(WebServicesDescriptionLanguage),缩写为WSDL)描述的接口。其它系统以网络服务的描述指定的方式使用SOAP消息与网络服务进行交互,SOAP消息通常使用具有XML序列化的HTTP与其它网络相关标准相结合来传送。网络服务已成为现代网络的重要方面,主要用作企业相互之间以及与客户沟通的手段,网络服务允许实体交换数据而无需熟知防火墙后面对方的IT系统的情况。不同于传统的客户端/服务器模型,如网络服务器/网页系统,网络服务不为用户提供GUI。而是,网络服务通过网络中的编程接口来共享业务逻辑、数据和流程。应用之间通过接口交互,而不是用户。然后,开发人员可以将网络服务添加到GUI(如网页或可执行程序)以向用户提供特定功能。大多数网络服务使用HTTP来传输消息(如服务请求和响应)。客户端发起请求并从服务器接收响应,迄今为止,HTML5应用只能充当使用来自JavaScript的XMLHttpReq对象的客户端,但不能充当网络服务服务器。
在下文中,描述了HTML5应用和网络套接字。HTML5是对HTML(HyperTextMarkupLanguage,超文本标记语言)的更新和修订,HTML是用于网页的主要的标记语言。这样,HTML包括基本的网页构建块。虽然HTML5规范目前仍处于开发阶段,但它的一些部分已经稳定,并且存在接近完成并且现在可以使用的实现,特别是网络套接字元素的实现。具体而言,诸如微软InternetExplorerTM、MozillaFirefoxTM、谷歌ChromeTM和苹果SafariTM之类的最常见的网络浏览器的最新版本根据现有规范实现了网络套接字元素。HTML5的重要部分是脚本应用编程接口(applicationprogramminginterface,API)的规范。这些API可从由浏览器执行的脚本语言,如JavaScriptTM编程语言,进行访问。可能能够访问API的由浏览器执行的其它编程语言包括ECMA脚本标准的各种变体,如微软JScriptTM,以及其它脚本语言,如微软VBScriptTM。在本文档中,术语JavaScript将被用于表示所有此类语言,因为JavaScript是迄今为止浏览器中使用最普遍的脚本语言,并且是大多数标准文档中使用的术语。
HTML5成为浏览器事实上的标准,并且浏览器是任何OS(Windows、安卓、IOS等)中的基本应用。HTML5应用不要求安装并且更新可以即时发布,它们在提供隔离层并提供跨设备兼容性的浏览器内运行。它们可以在线或离线运行,并且完全用诸如层叠样式表(CascadingStyleSheets,CSS)、HTML和JavaScript的网络语言编写。它们的主要局限是由于安全原因并且由于它们充当用于运行任意网页代码/应用的隔离层的角色,它们无法访问操作系统的本地API。更具体而言,HTML5应用无法打开本地联网API并且来自JavaScript的所有网络通信仅通过只使用HTTP的HTMLHttpReq对象完成,并且这种事务只能从浏览器、网络套接字以及最近引入的webRTC发起。这就是说,HTML5应用不可能充当W3C(HTML5)不支持的网络协议的客户端,例如IGMP、UDP、TCP、RTSP。随着HTML5网络套接字的引入,双向通信成为可能,由于这一原因,现在的网络浏览器大多数都是客户端实体,没有在浏览器中运行网络服务器的选项,更具体而言,没有在浏览器中运行自动发现和控制(UpnP,Bonjour)设备的选项,另外,由于UPnP设备要求包括HTTP服务器、多播套接字和更多本地OSAPI,没有在浏览器中运行DLNADMR的选项。
在下文中,描述了DLNA。DLNA正在定义互操作性指南以实现消费者设备之间的数字媒体共享,数字媒体如音乐、照片和视频,消费者设备如计算机、电视机、打印机、照相机、手机和其它多媒体设备。DLNA是现在用于分享数字媒体的主要标准。DLNA使用通用即插即用(UniversalPlugandPlay,UPnP)进行媒体管理、发现和控制。UPnP定义了DLNA支持的设备类型(“服务器”、“渲染器”、“控制器”)以及用于通过网络访问媒体的机制。DLNA使用SOAP来控制GENA用于通知并且控制SSDP用于发现。数字媒体渲染器(DigitalMediaRender,DMR)是DLNA中定义的一种设备,提供若干种用于数字内容的重放和渲染(实现UPnP媒体渲染器模板)的网络服务,迄今为止尚不可能在浏览器内实现DMR。数字媒体控制器(DigitalMediaController,DMC)发现一个或多个DMS提供的内容并将该内容与一个或多个DMR的能力相匹配。DMC负责发现设备,以及创建、控制和移除DLNA设备之间的连接。
根据图13中所示的作为HTML5应用运行的网络实体(NetworkEntityrunningasaHTML5Application,NEHA)110的实施例,NEHA110用于图11中所图示的系统1100中,系统1100包括HTTP服务器140、网络实体(networkentity,NE)130以及镜像网络实体(mirrornetworkentity,MNE)120,其中MNE120是NE130的镜像实例,MNE120与NE130之间运行期望的网络协议。图11的NEHA110对应于图13的NEHA110。NEHA110包括:第一发送器1320,向HTTP服务器140发送第一请求以请求MNE120,其中第一请求指示期望的网络协议;第一接收器1310,从HTTP服务器140接收指示请求的MNE120的第一响应;通信单元1330,通过MNE120与NE130通信;以及处理逻辑1350,处理第一请求和创建第一响应。
通过利用MNE120与NE130通信,使得NEHA110能够与运行期望的网络协议的NE130通信,而无需针对NEHA110上的每个浏览器和每个操作系统(operatingsystem,OS)或每种服务类型安装本地应用或特殊插件。镜像网络实体(mirrornetworkentity,MNE)120也被称为镜像设备。
在该实施例的可能实施方式中,通信单元1330包括:第二发送器1333,向MNE120发送消息;以及第二接收器1331,从MNE120接收消息。相应地,处理逻辑1350处理从MNE120接收的消息,并创建待向MNE120发送的消息。NEHA110可以是请求网络服务的客户端实体或用于提供网络服务的服务器实体。
在该实施例的可能实施方式中,当NEHA110是用于请求第一服务的客户端实体时,NE130是提供第一服务的服务器实体,其中向MNE120发送的消息是请求第一服务的第二请求,从MNE120接收的消息是提供第一服务的第二响应,如图12中所示。图12的NEHA110、MNE120、NE130和HTTP服务器140对应于图11的NEHA110、MNE120、NE130和HTTP服务器140。
通过这样做,使得NEHA110能够作为用于请求服务的客户端实体,并充当用于HTML5不支持的任何网络协议的网络客户端设备。
在该实施例的可能实施方式中,期望的网络协议包括HTML5不支持的网络协议,具体是(InternetGroupManagementProtocol,IGMP)、互联网协议电视(InternetProtocolTelevision,IPTV)、组协议,以及文件传输协议(FileTransferProtocol,FTP)。
通过引入MNE120,使得NEHA110能够在HTML5应用中作为HTML5不支持的任何网络协议客户端运行。
在该实施例的可能实施方式中,当NEHA110是用于提供第二服务的服务器实体时,NE130是请求第二服务的客户端实体,其中从MNE120接收的消息是请求第二服务的第三请求,向MNE120发送的消息是提供第二服务的第三响应,如图12中所示。实现了NEHA110作为用于提供服务的服务器实体。
在该实施例的可能实施方式中,期望的网络协议包括HTTP、自动发现和控制网络协议,以及媒体自动发现和控制网络协议。
在该实施例的可能实施方式中,自动发现和控制网络协议包括UPnP组协议和Bonjour。通过引入MNE120,在HTML5应用中实现了自动发现和控制(UPnP、Bonjour等)功能。
在该实施例的可能实施方式中,自动发现和控制网络协议包括媒体UPnP组协议、AirPlay和DLNA协议。通过引入MNE120,在HTML5应用中实现了UPnP媒体渲染器和DLNA媒体播放器DMR功能。
在该实施例的可能实施方式中,当期望的网络协议是自动发现和控制网络协议时,NEHA110是自动发现和控制网络设备;当期望的网络协议是媒体自动发现和控制网络协议时,NEHA110是媒体自动发现和控制网络渲染器设备。
在该实施例的可能实施方式中,NEHA110还包括耦合到通信单元1330的连接建立单元1340,连接建立单元1340用于在NEHA110与MNE120之间建立持久连接,相应地,向MNE120发送和从其接收的消息通过持久连接进行传送。
在该实施例的可能实施方式中,持久连接是网络套接字持久连接,具体是HTML5网络套接字持久连接或安全链路连接。安全链路连接可以是加密的安全链路连接。网络套接字持久连接可以是双向网络套接字持久连接。
在该实施例的可能实施方式中,持久连接提供脚本语言接口,例如,JavaScript接口。
在该实施例的可能实施方式中,NEHA110包括网络浏览器210,网络浏览器210用于通过MNE120与NE130通信,例如向MNE120发送消息。网络浏览器是HTML5浏览器。
网络浏览器210包括用于向MNE120发送消息的HTML5应用。
在该实施例的可能实施方式中,NEHA110与MNE120之间运行第一网络协议。
在该实施例的可能实施方式中,第一网络协议包括期望的网络协议和私有协议。当第二请求和第二响应是在期望的网络协议中定义的消息时,以IGMP为例,当第二请求是用于多播组的加入组请求时,第二响应是加入组回复;当第二请求是离开组请求时,第二响应是离开组回复。当第二请求和第二响应是私有协议的消息时,加入组请求的格式可以是“J<地址><端口>\n”,离开组请求的格式可以是“L<地址><端口>\n“,发送文本的消息的格式可以是“S<地址><端口><消息>\n\n”。
在该实施例的可能实施方式中,NEHA110与HTTP服务器140之间运行HTTP协议,相应地,第一请求和第一响应依据HTTP协议。
在该实施例的可能实施方式中,请求的MNE120通过网络身份指示,具体是IP地址加上端口号。
在该实施例的可能实施方式中,第一服务和第二服务是网络服务。
如图11和图12中所示,提供了系统1100/1200的实施例。该系统包括图13的作为HTML5应用运行的网络实体(NetworkEntityrunningasaHTML5ApplicationNEHA,NEHA)110,系统1100/1200包括HTTP服务器140、网络实体(networkentity,NE)130和镜像网络实体(mirrornetworkentity,MNE)120,其中MNE120是NE130的镜像实例,MNE120与NE130之间运行期望的网络协议,HTTP服务器140从NEHA110接收请求MNE120的第一请求,第一请求包括MNE120与NE130之间所使用的期望的网络协议,并且HTTP服务器140向NEHA110发送指示请求的MNE120的第一响应;NEHA110通过MNE120与NE130通信;并且MNE120使用期望的网络协议与NE130通信。
在该系统实施例的可能实施方式中,当NEHA110是客户端实体时,NE130是服务器实体,MNE120在从NEHA110接收到第二请求时发送请求第一服务的第四请求;并且MNE120用于从NE接收提供第一服务的第四响应,如图12中所示。图12的NEHA110、MNE120、NE130和HTTP服务器140对应于图11的NEHA110、MNE120、NE130和HTTP服务器140。
在该系统实施例的可能实施方式中,MNE120缓存第四响应,当接收到请求第一服务并指示期望的网络协议的随后的第二请求时,MNE120基于所存储的第四响应直接对随后的第二请求作出响应。
在该系统实施例的可能实施方式中,当NEHA110是服务器实体时,NE130是客户端实体,MNE120从NE130接收用于请求第二服务的第五请求,并且MNE120用于基于从NEHA110接收的第三服务响应向NE130发送提供第二服务的第五响应,如图12中所示。
在该系统实施例的可能实施方式中,MNE120缓存第三响应,当接收到请求第一服务的随后的第五请求时,MNE120基于所存储的第三响应直接对随后的第五请求作出响应,如图12中所示。
在该系统实施例的可能实施方式中,MNE120在本地处理来自NEHA110的第二请求的一部分以及来自NE130的第五请求的一部分。
实现了MNE120充当处理第二请求的一部分的网络实体,减轻了网络实体的负载,并且减少了网络流量,相应地节省了带宽。还实现了MNE120充当NEHA以处理第五请求的一部分,减轻了NEHA的负载,并且进一步减少了网络流量,进一步节省了带宽。
在该系统实施例的可能实施方式中,MNE120使用第一网络协议与NEHA110通信,并用于当第一网络协议与期望的网络协议不同时,将消息从第一网络协议转换为期望的网络协议,或从期望的网络协议转换为第一网络协议。
在该系统实施例的可能实施方式中,转换由镜像网络实体的转换单元执行。通过具有转换单元,使得NEHA110能够与不支持HTML5应用的网络实体通信。
在可能实施方式中,转换是通过将私有网络协议的消息封装成公知的期望的网络协议来完成的,如根据期望的网络协议封装报头,反之亦然。
在该系统实施例的可能实施方式中,HTTP服务器140通过使用现有的镜像网络实体或通过设置新的镜像网络实体来确定MNE120。
图14中示出由NEHA执行的方法实施例。该方法可以由图1的NEHA110执行。该方法包括:
方框1410:创建第一请求并向HTTP服务器发送第一请求以请求MNE120,其中第一请求指示期望的网络协议;
方框1420:从HTTP服务器接收和处理指示请求的MNE120的第一响应;以及
方框1430:通过MNE120与NE通信。
在该方法实施例的可能实施方式中,通信的步骤1430包括:向MNE120发送消息;并从MNE120接收消息。
在该方法实施例的可能实施方式中,当NEHA是用于请求第一服务的客户端实体时,NE是提供第一服务的服务器实体,其中向MNE120发送的消息是请求第一服务的第二请求,从MNE120接收的消息是提供第一服务的第二响应。通信的步骤1430相应地包括:
方框1431:创建并发送请求第一服务的第二请求;以及
方框1433:接收和处理提供第一服务的第二响应。期望的网络协议包括HTML5不支持的网络协议,具体是互联网组管理协议(InternetGroupManagementProtocol,IGMP)、互联网协议电视(InternetProtocolTelevision,IPTV)、组协议,以及文件传输协议(FileTransferProtocol,FTP)。
在该方法实施例的可能实施方式中,NEHA与HTTP服务器之间运行HTTP协议,相应地,第一请求和第一响应依据HTTP协议。
在该方法实施例的可能实施方式中,请求的MNE120通过网络身份指示,具体是IP地址加上端口号。
在该方法实施例的可能实施方式中,当NEHA110是用于提供第二服务的服务器实体时,NE130是请求第二服务的客户端实体,其中从MNE120接收的消息是请求第二服务的第三请求,向MNE120发送的消息是提供第二服务的第三响应。通信的步骤1430相应地包括:
方框1435:接收和处理请求第二服务的第三请求;以及
方框1437:创建和发送提供第二服务的第三响应。
在该方法实施例的可能实施方式中,当NEHA是用于提供第二服务的服务器实体时,NE是请求第二服务的客户端实体,期望的网络协议包括HTTP、自动发现和控制网络协议,以及媒体自动发现和控制网络协议。
自动发现和控制网络协议包括UPnP组协议和Bonjour。
媒体自动发现和控制网络协议包括媒体UPnP组协议、AirPlay和DLNA协议。
当期望的网络协议是自动发现和控制网络协议时,NEHA是自动发现和控制网络设备;当期望的网络协议是媒体自动发现和控制网络协议时,NEHA是媒体自动发现和控制网络渲染器设备。
在该方法实施例的可能实施方式中,该方法还包括在NEHA与MNE120之间建立1400持久连接,相应地,向MNE120发送和从其接收的消息通过持久连接进行传送。
在该方法实施例的可能实施方式中,持久连接是网络套接字持久连接,具体是HTML5网络套接字持久连接或安全链路连接。安全链路连接可以是加密的安全链路连接。网络套接字持久连接可以是双向的网络套接字持久连接。
在该方法实施例的可能实施方式中,持久连接提供脚本语言接口,例如,JavaScript接口。
在该方法实施例的可能实施方式中,NEHA包括网络浏览器,该网络浏览器用于通过MNE120与NE通信,例如使用该网络浏览器向MNE120发送消息。
网络浏览器包括用于发送请求网络服务的第二请求,或发送第三响应的HTML5应用。
在该方法实施例的可能实施方式中,NEHA与MNE120之间运行第一网络协议。第一网络协议包括期望的网络协议和私有协议。
根据图15中所示的另一NEHA实施例,NEHA1500包括处理器1510以执行根据图14的方法实施例。
图1示出根据实施方式的图示出包括被指示为用户实体110的NEHA和被称为镜像服务实例的MNE120的系统100的框图。用户实体110根据期望的网络协议从MNE120请求112网络服务。用户实体110用于建立114至MNE120的持久连接。用户实体110包括第一方框115“页开始在浏览器中装载”以触发第二方框111的操作“在网络中使用XMLHTTPReq对象利用适当的协议初始化要求的镜像服务/设备”。第二方框111表示利用期望的网络协议请求网络服务。针对请求,也可以使用HTML语言,如用于公布请求的XMLHTTPReq对象。MNE120包括第一方框121“镜像设备充当所请求的协议中网络LAN或WAN上可用的用于要求的服务/设备的代理”,初启方框121用于根据期望的网络协议初启MNE120。MNE120包括连接使能方框123“与网络浏览器ws或wss建立网络套接字连接”,第二方框123用于建立114用户实体110与MNE120之间的持久连接。用户实体110包括第三方框113“通过网络套接字连接到镜像设备(通过ws或wss初始化网络套接字隧道)”。
在实施方式中,持久连接包括简称为“ws”的网络套接字连接,具体是HTML5网络套接字连接。在实施方式中,持久连接包括简称为“wss”的网络套接字安全连接,具体是加密的安全链路连接。在实施方式中,用户实体110包括用于发起对网络服务的请求的网络浏览器。在实施方式中,网络浏览器包括用于发起对网络服务的请求的HTML5应用。在实施方式中,MNE120用于充当通过持久连接将用户实体110连接到网络服务服务器的代理。在实施方式中,MNE120用于处理客户端实体的至少一部分请求。在实施方式中,网络服务的镜像实例包括由MNE120根据期望的网络协议发起的一组网络服务。在实施方式中,用户实体110用于建立提供脚本语言接口具体是JavaScript接口的持久连接。在实施方式中,网络实体120用于实现在下文描述的用户实体的HTML5应用中运行自动发现和控制设备,具体是以下中的一种:HTML5、UPnP、Bonjour。在实施方式中,网络实体120用于实现如下文描述的用户实体的HTML5应用中运行媒体渲染器设备,具体是UPnP媒体渲染器设备和DLNA数字媒体渲染器设备中的一种。在实施方式中,网络实体120用于实现如下文描述的用户实体的HTML5应用中运行视频客户端设备,具体是IPTV设备和IGMP设备中的一种。在实施方式中,期望的网络协议包括下文描述的以下网络协议中的一种:HTTP、非HTTP、SSDP、SOAP、GENA和IGMP。
图1图示出通用HTML5应用可以如何通过网络在网络中初始化镜像服务实例,如下所述。MNE120可以动态地通过JavaScript使用XMLHttpReq对象在网络实体上动态地启动,如图1中所示。页面开始加载115JavaScript以初始化到网络服务器的连接111,网络服务器例如网络实体120中的网络服务器,并启动网络服务器上的镜像服务,所述JavaScript然后连接113到网络套接字服务器,例如通过分别用于非加密和加密的连接的ws和wss的两种URI方案中的一种。在该阶段中,建立了用户实体的HTML5应用与网络中的网络设备之间的持久性双向连接。
图1还描述了一种用于使得HTML5应用能够运行网络服务器并充当网络服务服务器的方法和装置。此外,图1描述了一种使用相同的系统和技术在HTML5应用中运行W3C(HTML5)不支持的网络协议客户端的方法。该技术使用HTML5网络套接字和网络中的镜像服务实例。
HTML5网络套接字提供了全双工持久性单一套接字直接通信的JavaScript接口。处于基本实施例的镜像服务/设备充当代理并向网络套接字连接和从网络套接字连接传送要求的协议,并让HTML5应用内的JavaScript代码处理请求。镜像设备基本实施例是针对特定HTML5应用一起启动的一组服务以充当一个设备。处于高级实施方式的镜像服务通过缓存响应或使服务逻辑中的一些在镜像服务中实现来处理请求中的一些而无需向网络套接字隧道转发请求。
图2示出根据实施方式的图示出通用网络系统200的框图。系统200包括被指示为用户实体210的NEHA,并且MNE120220提供镜像服务实例。该图示出网络中可用的、充当代理并让HTML5应用211处理请求的网络服务223。网络浏览器210,例如上文结合图1描述的在用户实体110上运行的网络浏览器,包括HTML5应用211,以及用于初始化到网络中可用的网络服务器或网络服务的持久连接的方框“网络套接字持久连接”213。持久连接可以是通过网络230的网络套接字持久连接231。镜像服务实例220,例如上文结合图1描述的镜像网络实体120,包括用于建立到网络服务器的持久连接的方框“网络套接字持久连接”221。镜像服务实例220包括另一方框“网络上的网络服务”223,该方框形成了网络的可用于镜像服务实例220处的连接的镜像网络服务。
图3示出根据实施方式的图示出具有示例性服务的通用网络系统300的框图。系统300包括被指示为用户实体210的NEHA,并且MNE120220提供镜像服务实例。通用网络系统300可以对应于上文结合图2描述的通用网络系统200。在一个示例中,MNE120220充当代理,并让HTML5应用211处理请求,并且被实施为HTTP服务器代理323。在一个示例中,MNE120220充当代理,并让HTML5应用211处理请求,并且被实施为RTMP服务器代理325。在一个示例中,MNE120220充当代理,并让HTML5应用211处理请求,并且被实施为XMPP服务器代理327。
在一个实例中,HTTP服务器和代理服务器被用于SOAP或用于REST或用于HTTP协议上可用的任何其它CGI接口。HTTP服务器代理323提取请求参数,并将它们传送到网络套接字隧道中以供JavaScript处理。响应通过网络套接字隧道返回,然后在HTTP上被转换成要求的协议,例如SOAP、REST等。在另一示例中,RTMP服务器代理325用作镜像服务实例。RTMP服务器代理325将RTMP请求代理到隧道中,反之亦然。在图3中未示出的另一示例中,RTSP服务器代理用作镜像服务实例。RTSP服务器代理将RTSP请求代理到隧道中,反之亦然。在另一示例中,实时消息传送协议XMPP服务器代理327用作镜像服务实例。XMPP服务代理使得HTML5应用能够作为用于XMPP协议的客户端或服务器。这适用于要求HTML5中不可用的网络OSAPI的任何其它网络服务服务器或客户端。
图4示出根据实施方式的在被指示为HTML浏览器410的充当服务器实体的NEHA与被指示为镜像服务/设备420的MNE120之间的通信系统400中的流程图。图4图示出当网络服务客户端430(也称为客户端实体)向网络协议中的网络中的镜像服务420发起调用时的流程。镜像服务420在需要的情况下转换调用,并通过初始化阶段中建立的网络套接字隧道将请求代理和/或转移给HTML5应用410。HTML5应用410处理请求,生成响应,并通过连接到镜像服务420的网络套接字传回响应。镜像服务420在需要的情况下将响应转换成所述协议,并将响应发回给所述协议中的网络服务客户端430。
以下方框由系统400处理。服务客户端430向通过镜像服务IP地址指示的MNE120发出请求(431)。镜像服务420处理请求,并充当用于要求的协议的代理(421)。镜像服务420通过网络套接字隧道将请求传送给浏览器HTML浏览器5410(423)。HTML5浏览器应用利用JavaScript语言处理网络服务请求(411)。HTML5浏览器410通过网络套接字隧道向镜像服务/设备420返回响应(427)。镜像服务420将响应返回给请求方(425),即返回给服务客户端430。服务客户端430接收响应(433)。HTML5浏览器410可以在上文结合图1至图3描述的用户实体110、210上运行。镜像服务420可以在上文结合图1至图3描述的MNE120、220上运行。
图5示出在充当用于非HTTP协议的客户端实体的NEHA、MNE120,以及充当非标准HTML5网络协议(networkprotocol,NS)服务器的网络实体之间的通信系统500中的流程图。根据实施方式,NEHA、MNE120和NE被分别示出为HTML5浏览器510、镜像服务/设备520和NS服务服务器530。用于请求的客户端实体可以在HTML5应用中利用JavaScript实现,并且可以通过使用在初始化阶段中建立的网络套接字隧道从HTML5应用向镜像服务/设备520发起传送。镜像服务/设备520然后代理请求,如果需要的话将其进行转换,并将请求传送给非标准HTML5网络协议(NS)服务器530。镜像服务/设备520接收来自NS服务器协议530的响应,然后如果需要的话将其进行转换,并通过网络套接字隧道将请求传回给HTML5应用510。
以下方框由系统500处理。HTML5浏览器510在NS网络协议中向NS服务器实体530发送请求(515)。HTML5浏览器510利用JavaScript语言使用网络套接字隧道向镜像服务/设备520传送请求(511)。镜像设备520通过网络套接字隧道传送请求(523)。镜像设备520处理请求(521),充当用于要求的协议的代理。服务器530处理NS网络协议请求(531)并发送响应(533)。镜像设备520将响应返回给请求方,即HTML5浏览器510。镜像设备520通过网络套接字隧道传送响应(527)。HTML5浏览器510通过网络套接字接收响应(513),并利用JavaScript语言处理NS网络协议。
HTML5浏览器510可以在上文结合图1至图3描述的用户实体110、210上运行。镜像服务520可以在上文结合图1至图3描述的网络实体120、220上运行。NS网络协议服务器530可以在上文结合图4描述的服务客户端430上运行,例如与HTTP协议服务器一起。
图6示出系统的示例性实施方式的流程图600。该系统包括NEHA610、HTTP服务器621、充当MNE120的镜像DMR623,以及NE615。NEHA610充当服务器实体,NE615充当客户端实体。NEHA包括HTML5浏览器。HTML5浏览器包括AVCP611和DMR613。根据实施方式,浏览器610内的DLNADMR613使用SSDP、GENA、SOAP服务镜像束。DLNADMR613实现UPnP媒体渲染器模板,因此需要实现SOAP用于控制,实现SSDP用于发现,实现GENA用于事件机制,并且实现HTTP上的XML用于寻址。
图6在流程图600中示出镜像DMR设备623如何被实例化以及从发现到寻址以及到控制和随后的事件的所有操作流程。浏览器610包括音频视频控制点(audiovideocontrolpoint,AVCP)611和DRM613。DMC/AVCP615在浏览器610外部实现。HTTP服务器640和镜像DMR630安装在服务器620上。
根据图6,可以实施流程序列的以下流程序列或部分。HTTP服务器621向NEHA610的浏览器内的HTML5应用发送消息以获取网页和JSS、CSS、HTML。DMR613向HTTP服务器621发送消息来请求初启镜像实例,该消息由HTTP服务器621转发给镜像DMR623。DMR613与镜像DMR623之间建立双向网络套接字持久连接。镜像DMR623向DMC615发送消息以公告/通告新设备。DMC615请求用于新设备的DMR描述XML文件。镜像DMR623向DMR613(通过网络套接字)发送消息以获取DMR描述XML。镜像DMR623向DMC615发送DMR描述文件,DMC615提取每种服务的控制和事件URL。DMC615向镜像DMR623发送消息以激活连接管理器(connectionmanager,CM)和音频和视频传输(audioandvideotransport,AVT)服务控制URL(SOAP)。镜像DMR623向DMR613发送消息以激活CM和AVT服务控制URL(通过网络套接字)。DMC615向镜像DMR623发送GENA消息以注册DMR服务的事件触发变量。镜像DMR623向DMR613发送消息以通过持久性网络套接字传递订阅URL信息。镜像DMR623向DMC615发送GENA消息以返回订阅SID。如果DMR623的服务中的一种服务中发生变量变化,那么DMR623通过GENA通知事件消息通知DMC615注册URI上变量已经变化。
图7图示出根据实施方式的使用SSDP、GENA、SOAP服务镜像的、浏览器710内的DLNADMR711的示例性实施方式的框图。系统700可以实施上文结合图6描述的流程图600。系统700包括NEHA710、布置在网络服务器或家庭云中充当MNE120的镜像DMR720,以及充当NE的DMC/AVCP740。NEHA710充当服务器实体,NE740充当客户端实体。NEHA包括网络浏览器。NEHA710的网络浏览器包括HTML5应用711,如HTML5播放器视频标签,利用JavaScript实现的DMR713,以及网络套接字持久连接715。镜像DMR720包括通过网络730连接到网络浏览器710的网络套接字持久连接715的网络套接字持久连接721。镜像DMR720包括http服务器723,http服务器723包括SSDP代理725、SOAP代理726、GENA订阅代理727和描述XML728。DMC730可以向镜像DMR720发送控制、事件和描述消息。
UPnP设备的发现服务可以是SSDP。SSDP设备通过特定多播地址发送周期性通知消息并对通过同一多播地址发送的搜索请求进行应答。
图7示出网络中的SSDP镜像服务发送和接收多播消息并利用单播传输这些消息。通过网络套接字隧道731,MNE120720向HTML5应用713传送搜索请求以进行处理或具有向请求方返回通知消息的服务中的某一逻辑层。从HTML5应用713发送的通知消息通过网络套接字隧道731周期性传送,然后在SSDP多播地址上发送到网络。用于UPnP设备的寻址服务可以是HTTP上的XML。示出了基本实施,其中所有的通信均是通过网络套接字731隧道传送到HTML5JavaScript711。在图7中未示出的高级实施方式中,寻址服务缓存XML描述文件或一次性从HTML5应用713接收它们。UPnP设备的控制服务可以是SOAPSOAP基本上是使用http上的xml的具有额外HTTP报头的RPC。SOAP镜像服务实例代理726接收SOAP请求,收集所需的所有相关信息,并通过网络套接字隧道将其传送到HTML5应用713以进行处理和执行动作。然后,它根据针对UPnP动作要求的响应通过网络套接字隧道731返回资源,以便SOAP镜像服务实例代理726将其转换成包括相关HTTP报头的SOAP响应。UPnP中的事件机制可以是GENA,因为在网络中的镜像DMR720中,镜像GENA代理727是可用的。镜像GENA代理727处理GENA订阅请求,接收订户的URI以在事件变化时通知订户。请求通过网络套接字隧道731传送给HTML5应用713。HTML5应用713向服务订阅列表添加URI并返回订阅IDSID和订阅超时(订阅ID返回给订户控制点,在这种情况下为DMC),如图6和图7中所示。响应通过网络套接字隧道731传回,并通过镜像GENA服务发送给订户。订户在订阅超时发生后以相同的方式续订订阅。一旦DMR的服务中的一种服务中发生事件,例如DMR暂停,AVTransport服务就向订阅列表URI发送通知播放状态变为PAUSE的LasChange通知,并直接通过将XMLHttpReq对象作为HTTP客户端来完成该操作。
网络浏览器710可以在上文结合图1至图3描述的用户实体110、210上运行。镜像服务720可以在上文结合图1至图3描述的网络实体120、220上运行。
图8图示出当期望的网络协议是IGMP时系统的示例性实施方式的流程图800。该系统包括具有HTML5应用811的NEHA810、充当MNE120的镜像IGMP客户端823、HTTP服务器821诸如RUIS,以及充当NE的路由器网络实体827。NEHA810包括网络浏览器。根据实施方式,HTML5应用811使用IGMP和多播到单播服务镜像。图8图示出HTML5应用中迄今尚不可能实现的NS网络协议客户端实施。在图8中所描绘的实施方式中,有可能使用镜像IGMP客户端823和网络套接字连接。图8示出HTML5应用811如何发送和监听多播地址、基本上充当IGMP客户端。HTML5应用811可以下载到NEHA810的浏览器中,并且该应用可以针对特定多播地址初始化IGMP客户端并初始化网络套接字双向连接。新初始化的镜像IGMP客户端823可以加入确定的多播地址并开始监听该地址。当镜像IGMP客户端823接收到多播消息/流时,镜像IGMP客户端823将其转换成单播并通过建立的网络套接字隧道将其传送给HTML5应用811。每当HTML5应用811想要发送多播消息时,如图8中所示,HTML5应用811通过网络套接字隧道利用单播发送该多播消息,并且镜像IGMP客户端823将其转换成多播并将其发送到所述多播地址。
NEHA810的浏览器可以在上文结合图1至图3描述的用户实体110、210上运行。镜像IGMP客户端820可以在上文结合图1至图3描述的网络实体120、220上运行。
根据图8,可以实施流程序列的以下流程序列或部分。服务器820内的HTTP服务器821RUIS向NEHA810的浏览器内的HTML5应用811发送消息以获取网页和JS。HTML5应用811向RUIS821发送消息以请求针对特定多播地址初启IGMP镜像设备,该消息被RUIS821转发给服务器820上的镜像IGMP客户端823。HTML5应用811与镜像IGMP客户端823之间建立双向网络套接字持久连接。IGMP加入地址被镜像IGMP客户端823转发给网络实体827。网络实体827接收多播(multicast,MX)流。镜像IGMP客户端823监听多播地址825以接收MX流。镜像IGMP客户端823向HTML5应用811发送消息以将流转换成单播并通过网络套接字隧道传送该单播流。HTML5应用811通过网络套接字隧道将该消息发送到镜像IGMP客户端823,该消息被镜像IGMP客户端823转换成MX并发送到多播地址825。
图9图示出根据实施方式的具有使用镜像IPTV设备作为网络中的MNE120的HTML5应用的IPTV客户端设备的示例性实施方式的流程图。IPTV镜像设备922可以是允许HTML5应用911充当IPTV客户端的一束镜像服务。在这一解释性实施方式中,该束服务可以是镜像信道服务925、镜像转码服务927和镜像IGMP服务929。图9图示出HTML5应用911如何从HTTP服务器RUIS(RemoteUserInterfaceserver,远程用户接口服务器)921下载服务的代码和HTML表示,然后在网络中初始化镜像IPTV设备922,建立到该服务的网络套接字隧道并在视频标签中传送其可以播放何种媒体格式的能力。然后,HTML5应用911设置所请求的信道开始IPTV信道镜像服务922。镜像信道服务连接IGMP服务并传送用于特定信道的所请求的多播地址的地址。镜像IGMP服务922加入所请求的多播地址并开始监听该地址。镜像IGMP服务922向镜像转码服务传送数据(视频H.264,通过mpeg2ts),镜像转码服务在需要的情况下将其转码为请求方HTML5应用视频标签支持的流媒体协议。如果HTML5应用911指定它支持通过mpeg2ts的H.264,那么就不需要进行转码并且多播被转换为单播并且流通过先前建立的网络套接字隧道发送给HTML5应用911,HTML5应用911接收流并将视频数据传递到视频标签元素中。
浏览器910可以在上文结合图1至图3描述的用户实体110、210上运行。镜像IPTV设备922可以在上文结合图1至图3描述的网络实体120、220上运行。
图10示出根据实施方式的用于初始化NEHA与MNE120之间的持久连接的方法1000的示意图。
NEHA和MNE120可以是上文结合图1至图9描述的实体。方法1000可以包括请求1001网络服务,其中该请求包括期望的网络协议。方法1000可以包括响应于请求根据期望的网络协议初启1003网络服务的镜像实例。方法1000可以包括基于网络服务的镜像实例建立1005网络服务的请求方与网络服务之间的持久连接。
在实施方式中,请求由HTML5浏览器发起。在实施方式中,持久连接包括简称为“ws”的网络套接字连接,具体是HTML5网络套接字连接。在实施方式中,持久连接包括简称为“wss”的安全链路连接,具体是加密的安全链路连接。”在实施方式中,NEHA110包括用于发起对网络服务的请求的网络浏览器。在实施方式中,网络浏览器包括用于发起对网络服务的请求的HTML5应用。在实施方式中,网络服务的镜像实例用于充当通过持久连接将NEHA110连接到网络服务的代理。在实施方式中,网络服务的镜像实例用于处理客户端实体的至少一部分请求。在实施方式中,网络服务的镜像实例包括由MNE120根据期望的网络协议发起的一组网络服务。在实施方式中,NEHA110用于建立提供脚本语言接口特别是JavaScript接口的持久连接。在实施方式中,MNE120用于实现在下文描述的NEHA的HTML5应用中运行自动发现和控制设备,具体为以下之一:HTML5、UPnP、Bonjour。在实施方式中,MNE120用于实现如上文描述的NEHA的HTML5应用中运行媒体渲染器设备,具体是UPnP媒体渲染器设备和DLNA数字媒体渲染器设备中的一种。在实施方式中,MNE120用于实现如下文描述的NEHA的HTML5应用中运行视频客户端设备,具体是IPTV设备和IGMP设备中的一种。在实施方式中,期望的网络协议包括以下网络协议中的一种:上文描述的HTTP、非HTTP、SSDP、SOAP、GENA和IGMP,或W3C中不支持的任何其它网络协议。
在上述实施方式中,网络服务的镜像实例也被称为镜像服务。
通过阅读以上内容,所属领域的技术人员将清楚地了解,可提供多种方法、系统、记录媒体上的计算机程序及其类似者等等。
本发明还支持包含计算机可执行代码或计算机可执行指令的计算机程序产品,这些计算机可执行代码或计算机可执行指令在执行时使得至少一台计算机执行本文所述的执行及计算步骤。
通过以上启示,对于本领域技术人员来说,许多替代产品、修改及变体是显而易见的。当然,所属领域的技术人员容易意识到除本文所述的应用之外,还存在本发明的众多其它应用。虽然已参考一个或多个特定实施例描述了本发明,但所属领域的技术人员将认识到在不偏离本发明的范围的前提下,仍可对本发明作出许多改变。因此,应理解,只要是在所附权利要求书及其等效文句的范围内,可以用不同于本文具体描述的方式来实践本发明。
Claims (15)
1.一种作为HTML5应用运行的网络实体NEHA(110),其特征在于,所述NEHA(110)用于包括HTTP服务器(140)、网络实体NE(130)的系统中,其特征在于所述系统还包括镜像网络实体MNE(120),其中所述MNE(120)是所述NE(130)的镜像实例,所述MNE(120)与所述NE(130)之间运行期望的网络协议,所述NEHA(110)包括:
第一发送器(1320),用于向所述HTTP服务器(140)发送第一请求以请求所述MNE(120),其中所述第一请求指示所述期望的网络协议;
第一接收器(1310),用于从所述HTTP服务器(140)接收指示所述请求的MNE(120)的第一响应;
处理逻辑(1350),用于处理所述第一请求和创建所述第一响应;以及
通信单元(1330),用于通过所述MNE(120)与所述NE(130)通信。
2.根据权利要求1所述的NEHA(110),其特征在于,所述通信单元(1330)包括:
第二发送器(1333),用于向所述MNE(120)发送消息;以及
第二接收器(1331),用于从所述MNE(120)接收消息;
其中所述处理逻辑(1350)还用于处理从所述MNE(120)接收的所述消息,并创建向所述MNE(120)发送的所述消息。
3.根据权利要求2所述的NEHA(110),其特征在于,当所述NEHA(110)是用于请求第一服务的客户端实体时,所述NE(130)是提供所述第一服务的服务器实体,其中向所述MNE(120)发送的所述消息是用于请求所述第一服务的第二请求,从所述MNE(120)接收的所述消息是提供所述第一服务的第二响应。
4.根据权利要求3所述的NEHA(110),其特征在于,所述期望的网络协议包括HTML5不支持的网络协议,具体是互联网组管理协IGMP、互联网协议电视IPTV、组协议,以及文件传输协议FTP;
其中所述NEHA(110)与所述HTTP服务器(140)之间运行HTTP协议,相应地,所述第一请求和所述第一响应依据所述HTTP协议;
其中所述请求的MNE(120)通过网络身份指示,具体是IP地址加上端口号。
5.根据权利要求2所述的NEHA(110),其特征在于,当所述NEHA(110)是用于提供第二服务的服务器实体时,所述NE(130)是请求所述第二服务的客户端实体,其中从所述MNE(120)接收的所述消息是用于请求所述第二服务的第三请求,向所述MNE(120)发送的所述消息是提供所述第二服务的第三响应。
6.根据权利要求5所述的NEHA(110),其特征在于,所述期望的网络协议包括HTTP、自动发现和控制网络协议,以及媒体自动发现和控制网络协议。
7.根据任一前述权利要求所述的NEHA(110),其特征在于,所述NEHA(110)还包括耦合到所述通信单元(1340)的连接建立单元(1340),用于在所述NEHA(110)与所述MNE(120)之间建立持久连接,相应地,向所述MNE(120)发送和从其接收的所述消息通过所述持久连接进行传送。
8.根据任一前述权利要求所述的NEHA(110),其特征在于,所述NEHA(110)与所述MNE(120)之间运行第一网络协议。
9.根据权利要求8所述的NEHA(110),其特征在于,所述第一网络协议包括所述期望的网络协议和私有协议。
10.一种包括根据权利要求1至9中任一项所述的作为HTML5应用运行的网络实体NEHA(110)、HTTP服务器(140)、网络实体NE(130),以及镜像网络实体MNE(120)的系统,其特征在于,所述MNE(120)是所述NE(130)的镜像实例,所述MNE(120)与所述NE(130)之间运行期望的网络协议,
所述HTTP服务器(140)用于从所述NEHA(110)接收用于请求所述MNE(120)的所述第一请求,其中所述第一请求包括所述MNE(120)与所述NE(130)之间所使用的所述期望的网络协议,并且所述HTTP服务器(140)用于向所述NEHA(110)发送指示所述请求的MNE(120)的所述第一响应;
所述NEHA(110)用于通过所述MNE(120)与所述NE(130)通信;并且
所述MNE(120)用于使用所述期望的网络协议与所述NE(130)通信。
11.根据权利要求10所述的系统,其特征在于,当所述NEHA(110)是客户端实体时,所述NE(130)是服务器实体,所述MNE(120)用于在从所述NEHA(110)接收到所述第二请求时发送用于请求所述第一服务的第四请求;并且所述MNE(120)用于从所述NE(130)接收提供所述第一服务的第四响应。
12.根据权利要求11所述的系统,其特征在于,所述MNE(120)还用于缓存所述第四响应,当接收到请求所述第一服务并指示所述期望的网络协议的随后的第二请求时,所述MNE(120)用于基于所述存储的第四响应直接对所述随后的第二请求作出响应。
13.根据权利要求10所述的系统,其特征在于,当所述NEHA(110)是服务器实体时,所述NE(130)是客户端实体,所述MNE(120)用于从所述NE(130)接收用于请求所述第二服务的第五请求,并且用于基于从所述NEHA(110)接收的所述第三服务响应向所述NE(130)发送提供所述第二服务的第五响应。
14.根据权利要求13所述的系统,其特征在于,所述MNE(120)还用于缓存所述第三响应,当接收到请求所述第一服务的随后的第五请求时,所述MNE(120)用于基于所述存储的第三响应直接对所述随后的第五请求作出响应。
15.根据任一前述权利要求所述的系统,其特征在于,所述MNE(120)还用于使用所述第一网络协议与所述NEHA(110)通信,并用于当所述第一网络协议与所述期望的网络协议不同时,将所述消息从所述第一网络协议转换为所述期望的网络协议,或从所述期望的网络协议转换为所述第一网络协议。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2013/067582 WO2015024604A1 (en) | 2013-08-23 | 2013-08-23 | System and device for enabling any network functionality client or server in a html5 application |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105409183A true CN105409183A (zh) | 2016-03-16 |
CN105409183B CN105409183B (zh) | 2018-11-16 |
Family
ID=49029108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380078277.XA Active CN105409183B (zh) | 2013-08-23 | 2013-08-23 | 用于在html5应用中实现任何网络功能客户端或服务器的系统和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10382543B2 (zh) |
EP (1) | EP3017579B1 (zh) |
JP (1) | JP6242492B2 (zh) |
CN (1) | CN105409183B (zh) |
WO (1) | WO2015024604A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277612A (zh) * | 2016-04-05 | 2017-10-20 | 韩华泰科株式会社 | 用于在web浏览器上播放媒体流的方法和设备 |
CN109104590A (zh) * | 2018-09-05 | 2018-12-28 | 北京许继电气有限公司 | 轻量级可视化系统 |
CN109257344A (zh) * | 2018-09-06 | 2019-01-22 | 广州高清视信数码科技股份有限公司 | 一种基于Docker容器技术的WebRTC媒体网关及其互通方法 |
WO2019019371A1 (zh) * | 2017-07-24 | 2019-01-31 | 平安科技(深圳)有限公司 | 一种流媒体数据的传输方法、存储介质和流媒体服务器 |
CN110521182A (zh) * | 2017-04-13 | 2019-11-29 | 布鲁塔隆公司 | 协议级身份映射 |
CN113438285A (zh) * | 2021-06-11 | 2021-09-24 | 中国二十冶集团有限公司 | 一种基于私有云架构的智慧校园综合管理平台模型 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6393475B2 (ja) * | 2013-12-17 | 2018-09-19 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム |
US9591350B2 (en) * | 2015-04-10 | 2017-03-07 | Sony Corporation | Sharing web application program guide content items over home networks |
US11159603B2 (en) * | 2015-04-15 | 2021-10-26 | Hyland Switzerland Sàrl | Cross-platform module for loading across a plurality of device types |
US9934393B2 (en) * | 2015-04-21 | 2018-04-03 | Sap Se | Transparent namespace-aware mechanism for encrypted storage of data within web applications |
CN107852409A (zh) * | 2015-07-21 | 2018-03-27 | Lg 电子株式会社 | 广播信号发送装置、广播信号接收装置、广播信号发送方法以及广播信号接收方法 |
CN106686151B (zh) * | 2015-11-11 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 一种ip地址获取方法及装置 |
CN107370775B (zh) * | 2016-05-11 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种启动应用的方法和系统 |
CN107315617A (zh) * | 2017-06-30 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种自动灌装镜像的方法及装置 |
CA3088790A1 (en) * | 2018-02-15 | 2019-08-22 | Vitec, Inc. | Distribution and playback of media content |
CN110300320B (zh) | 2018-03-22 | 2022-01-21 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
US11882340B2 (en) * | 2019-07-10 | 2024-01-23 | Nippon Telegraph And Telephone Corporation | Content distribution system, unicast multicast converter, content distribution method and content distribution program |
CN113067737B (zh) * | 2021-03-30 | 2022-07-01 | 重庆邮电大学 | 一种时间敏感网络配置管理系统及方法 |
US11652890B1 (en) | 2022-07-13 | 2023-05-16 | Oxylabs, Uab | Methods and systems to maintain multiple persistent channels between proxy servers |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100306547A1 (en) * | 2009-05-28 | 2010-12-02 | Fallows John R | System and methods for providing stateless security management for web applications using non-http communications protocols |
US7921225B2 (en) * | 2000-01-31 | 2011-04-05 | Telecommunication Systems, Inc. | Routing messages in a client server environment over multiple networks |
WO2012144919A2 (en) * | 2011-04-20 | 2012-10-26 | Ibt Internet Bussiness Technologies - Informática, S.A. | Methods and systems for access to real-time full-duplex web communications platforms |
CN102893270A (zh) * | 2009-05-01 | 2013-01-23 | 卡金公司 | 企业客户端-服务器系统以及用于通过网页套接字通信的分布仿效提供网页应用支持的方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074448A1 (en) * | 2001-08-10 | 2003-04-17 | Tadashi Kinebuchi | Multimedia information system and computer program |
JP2003058496A (ja) * | 2001-08-10 | 2003-02-28 | Seiko Epson Corp | マルチメディア情報端末システム及びコンピュータプログラム |
US20070143488A1 (en) * | 2005-12-20 | 2007-06-21 | Pantalone Brett A | Virtual universal plug and play control point |
US8194681B2 (en) * | 2006-05-23 | 2012-06-05 | Core Wireless Licensing S. á.r. l. | Bridging between AD HOC local networks and internet-based peer-to-peer networks |
US7729366B2 (en) * | 2007-10-03 | 2010-06-01 | General Instrument Corporation | Method, apparatus and system for network mobility of a mobile communication device |
US20100332328A1 (en) * | 2008-10-29 | 2010-12-30 | Srinivasa Dharmaji | Browser Cache Based Ad Insertion |
US9245047B2 (en) * | 2010-12-10 | 2016-01-26 | Wyse Technology L.L.C. | Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface |
JP5895415B2 (ja) * | 2011-09-19 | 2016-03-30 | 株式会社リコー | 通信システム、通信装置、プログラム及び割当装置 |
US9372836B2 (en) * | 2012-03-30 | 2016-06-21 | Qualcomm Incorporated | HTML5 I-frame extension |
WO2013169827A1 (en) * | 2012-05-07 | 2013-11-14 | Armor5, Inc. | Enhanced document and event mirroring for accessing content |
CN104412601B (zh) * | 2012-06-29 | 2018-04-27 | 阿沃森特亨茨维尔有限责任公司 | 容纳多种不同视频压缩技术的单个kvm客户端的系统和方法 |
US9369520B2 (en) * | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
EP2912563B1 (en) * | 2012-10-23 | 2019-12-11 | Vertiv IT Systems, Inc. | System and method for accessing disk image files using html5 kvm/vmedia client running in a web browser |
KR20140103559A (ko) * | 2013-02-18 | 2014-08-27 | 한국전자통신연구원 | 웹 기반 콘텐츠 서비스 이동을 위한 객체 이동 시스템 및 방법 |
US8626912B1 (en) * | 2013-03-15 | 2014-01-07 | Extrahop Networks, Inc. | Automated passive discovery of applications |
CA2917763C (en) * | 2013-07-10 | 2021-01-12 | LeoNovus USA | Cloud computing system and method utilizing unused resources of non-dedicated devices |
JP6625318B2 (ja) * | 2013-08-29 | 2019-12-25 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法および受信方法 |
US20150193405A1 (en) * | 2014-01-07 | 2015-07-09 | Microsoft Corporation | Enhanced testing for application services |
WO2015172020A1 (en) * | 2014-05-08 | 2015-11-12 | Tru Optik Data Corp. | Tru torrent platform methods, apparatuses and media |
US10963539B2 (en) * | 2014-09-10 | 2021-03-30 | Mk Systems Usa Inc. | Interactive web application editor |
US20160099984A1 (en) * | 2014-10-03 | 2016-04-07 | Across Lab, Inc. | Method and apparatus for remote, multi-media collaboration, including archive and search capability |
US10061684B2 (en) * | 2015-07-31 | 2018-08-28 | Microsoft Technology Licensing, Llc | Enhanced service validation |
-
2013
- 2013-08-23 WO PCT/EP2013/067582 patent/WO2015024604A1/en active Application Filing
- 2013-08-23 CN CN201380078277.XA patent/CN105409183B/zh active Active
- 2013-08-23 JP JP2016535351A patent/JP6242492B2/ja active Active
- 2013-08-23 EP EP13752640.6A patent/EP3017579B1/en active Active
-
2016
- 2016-02-22 US US15/049,328 patent/US10382543B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7921225B2 (en) * | 2000-01-31 | 2011-04-05 | Telecommunication Systems, Inc. | Routing messages in a client server environment over multiple networks |
CN102893270A (zh) * | 2009-05-01 | 2013-01-23 | 卡金公司 | 企业客户端-服务器系统以及用于通过网页套接字通信的分布仿效提供网页应用支持的方法 |
US20100306547A1 (en) * | 2009-05-28 | 2010-12-02 | Fallows John R | System and methods for providing stateless security management for web applications using non-http communications protocols |
WO2012144919A2 (en) * | 2011-04-20 | 2012-10-26 | Ibt Internet Bussiness Technologies - Informática, S.A. | Methods and systems for access to real-time full-duplex web communications platforms |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277612A (zh) * | 2016-04-05 | 2017-10-20 | 韩华泰科株式会社 | 用于在web浏览器上播放媒体流的方法和设备 |
CN110521182A (zh) * | 2017-04-13 | 2019-11-29 | 布鲁塔隆公司 | 协议级身份映射 |
CN110521182B (zh) * | 2017-04-13 | 2022-02-25 | 微软技术许可有限责任公司 | 用于协议级身份映射的方法和系统 |
WO2019019371A1 (zh) * | 2017-07-24 | 2019-01-31 | 平安科技(深圳)有限公司 | 一种流媒体数据的传输方法、存储介质和流媒体服务器 |
CN109104590A (zh) * | 2018-09-05 | 2018-12-28 | 北京许继电气有限公司 | 轻量级可视化系统 |
CN109257344A (zh) * | 2018-09-06 | 2019-01-22 | 广州高清视信数码科技股份有限公司 | 一种基于Docker容器技术的WebRTC媒体网关及其互通方法 |
CN109257344B (zh) * | 2018-09-06 | 2021-01-26 | 广州高清视信数码科技股份有限公司 | 一种基于Docker容器技术的WebRTC媒体网关及其互通方法 |
CN113438285A (zh) * | 2021-06-11 | 2021-09-24 | 中国二十冶集团有限公司 | 一种基于私有云架构的智慧校园综合管理平台模型 |
Also Published As
Publication number | Publication date |
---|---|
US10382543B2 (en) | 2019-08-13 |
WO2015024604A1 (en) | 2015-02-26 |
EP3017579A1 (en) | 2016-05-11 |
EP3017579B1 (en) | 2018-05-09 |
CN105409183B (zh) | 2018-11-16 |
US20160205185A1 (en) | 2016-07-14 |
JP2016536696A (ja) | 2016-11-24 |
JP6242492B2 (ja) | 2017-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105409183A (zh) | 用于在html5应用中实现任何网络功能客户端或服务器的系统和设备 | |
JP4041118B2 (ja) | ゲートウェイ装置、ネットワークシステム、通信プログラム及び通信方法 | |
US7921194B2 (en) | Method and system for remote access to universal plug and play devices | |
US9948686B2 (en) | Method and apparatus for sharing DLNA device | |
EP2356797B1 (en) | Method for implementing ims functionality in a set top box | |
JP5916822B2 (ja) | リモートユーザインターフェースサーバとリモートユーザインターフェースクライアントとの間のインターフェースのための装置及び方法 | |
US20070189486A1 (en) | Communication apparatus, system, method and computer readable medium | |
FI124694B (en) | Improved presentation system | |
JP2010515338A (ja) | サービス発見のための方法と装置 | |
JP2006236354A (ja) | ホームネットワークのサービスフレームワーク及びその制御方法 | |
EP2237476B1 (en) | Upnp device for providing remote access service and method for same | |
US20090254671A1 (en) | Remote control of a device by a terminal | |
US10404485B2 (en) | Method and apparatus for restricting disclosure of network information during remote access service | |
US20150222451A1 (en) | APPARATUS AND METHOD FOR EXTENDING UPnP NETWORK AREA | |
KR20050078541A (ko) | 홈네트워크 디바이스 모니터링 및 제어 방법 | |
KR100758791B1 (ko) | 홈네트워크 장치 제어를 위한 프록시 장치 및 그 방법 | |
Kim et al. | Internet home network electrical appliance control on the internet with the UPnP expansion | |
KR20080112914A (ko) | 이벤트 메시지 수신 방법, 이벤트 메시지 전송 방법,피제어 장치 및 제어 포인트 | |
US20080320491A1 (en) | Method of receiving/transmitting event message, controlled device, and controlled point | |
KR100952280B1 (ko) | 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법 | |
Ogawa et al. | Transparent UPnP interactions over global network | |
KR101696795B1 (ko) | 범용 플러그 앤 플레이 네트워크 상의 서비스를 포트 포워딩을 이용하여 원격 디바이스에게 제공하기 위한 방법 및 시스템 | |
KR20050035038A (ko) | 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법 | |
KR101667049B1 (ko) | 원격 접속 서비스 시 네트워크의 정보 공개를 제한하기 위한 방법 및 장치 | |
US20120059885A1 (en) | METHOD AND APPARATUS FOR SHARING A MEMO USING UPnP TELEPHONY |
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 |