CN110096245A - 分布式跨平台用户界面和应用投影 - Google Patents

分布式跨平台用户界面和应用投影 Download PDF

Info

Publication number
CN110096245A
CN110096245A CN201910393707.6A CN201910393707A CN110096245A CN 110096245 A CN110096245 A CN 110096245A CN 201910393707 A CN201910393707 A CN 201910393707A CN 110096245 A CN110096245 A CN 110096245A
Authority
CN
China
Prior art keywords
application
host
target
list
various
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.)
Pending
Application number
CN201910393707.6A
Other languages
English (en)
Inventor
帕韦尔·斯坦科洛夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
A Bata Science And Technology Ltd
Original Assignee
A Bata Science And Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by A Bata Science And Technology Ltd filed Critical A Bata Science And Technology Ltd
Publication of CN110096245A publication Critical patent/CN110096245A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Telephone Function (AREA)

Abstract

描述了一种适配以向目标画布提供多媒体内容的移动设备应用。该应用包括指令集用于:建立与所述目标画布相关联的外部系统的通信链路;渲染多媒体内容供所述目标画布回放;以及通过所述通信链路向所述目标画布发送渲染的所述多媒体内容。一种适配以执行与外部系统相关联的web浏览器中基于web的应用的移动设备应用,包括指令集用于:建立与所述外部系统的通信链路;访问特定基于web的应用;以及渲染与所述特定基于web的应用相关联的内容并且向所述外部系统发送渲染的所述内容用于显示。一种适配以向用户提供多媒体内容的系统,包括:目标,适配以显示多媒体内容;主机,适配以生成多媒体内容供所述目标元件显示;以及远程服务器,适配以与所述主机元件交互来至少部分控制多媒体内容的所述显示。

Description

分布式跨平台用户界面和应用投影
本申请是国际申请PCT/US2013/072919的于2015年6月4日提交的、发明名称为“分布式跨平台用户界面和应用投影”、申请号为201380063458.5的中国国际阶段申请的分案申请。
相关申请的交叉引用
本申请要求于2013年9月30日提交的美国专利申请序列号14/042,365和于2012年年12月4日提交的美国临时专利申请序列号61/733,367的优先权。
背景技术
能够访问网络的移动设备(比如,智能手机、局域无线网络、因特网等)在社会上无处不在。这些设备可以处理、显示、和/或利用各种本地和/或基于网络的应用以其它方式与多媒体元件(比如,视频、照片、音频等)进行交互。
许多典型的系统和/或设备(例如,包括显示屏的车载系统、医疗系统、电视(TV),等)可以进行处理、呈现、和/或以其他方式与多媒体元件进行交互。这样的设备可能不访问外部网络。例如,音响主机(HU)多媒体元件能够从本地源(例如,DVD播放机连接到HU)显示多媒体元件(例如视频)。此外,如果这种元件能够访问外部网络,访问也可能会受到可供本地元件使用的软件的限制(例如,即使可以访问网络以检索(例如,地图数据)的元件也可能不提供网络浏览器)。
这样的系统和/或装置可包括有限的处理能力(尤其与移动设备相比)。此外,这些系统和/或设备可执行设备专用的软件。这样的软件可能不像普通的移动设备那样频繁的更新软件。同样地,由于在物理外壳、可用电源,通信连接等方面的限制,升级这样的系统或设备可能是不实际的或不可能的。
因此,需要一种解决方案,其能够提供一种容易更新或升级的方法,以利用移动设备的处理能力,向现有的系统提供扩展和改进的网络接入,功能性以及多媒体性能。
发明内容
一些实施方案允许外部系统或设备连接到主机设备,如智能手机,以轻松运行使用各种合适的Web技术(例如HTML5、JavaScript等脚本语言、级联样式表(CSS)等)开发的第三方应用程序和/或本地移动技术(例如,Objective-C、Java、C#等)。这样的外部系统或装置可以包括,例如,车载音响(HU)设备,医疗设备,电视,等等。一些实施例允许这些外部系统或设备使用第三方应用程序保持简单、低成本和可扩展性。
一些实施例包括一组在核心移动通信栈(或"网关"或"接口")传输和HTTP层至少构建的组件。可以利用网关的性能和灵活性,并将其扩展为具有可配置的基础设施,以允许将应用程序下载、管理和送达到已连接目标(或"客户")元件。一些实施方案可配置为支持不同应用递送和呈现选项-从直接向目标递送HTML代码到在该主机上呈现,并将已呈现的屏幕递送给目标。这样的方法可适应具有不同能力的不同设备。一些实施例提供一个通用的编程接口和基础设施,其允许开发人员可以生成能够使用不同的目标来执行的应用程序。
一些实施例的方案可以是可扩展的(可以增加新的组件和特征而不改变主要架构)、可配置的(可以针对不同配置很容易地设置组件)、以及独立于操作系统(OS)(可以在所有主流的操作系统运行)、具有带宽效率(该方案可以利用压缩、编码和/或其他适当的技术最小化带宽使用),以及可响应的(该方案可使用高效的协议以在客户端设备上创建的无缝的用户体验)。此外,该解决方案可以允许应用程序的可移植性,其中针对一个操作系统编写的应用程序可以运行在另一个操作系统或具有最小变化的客户端上。
本发明的第一示例性实施例提供移动设备应用程序,其用于将多媒体内容提供至目标画布(canvas)。该应用包括指令集,用于:建立与所述目标画布相关联的外部系统的通信链路;呈现由目标画布播放的多媒体内容;并通过该通信链路将已呈现的多媒体内容发送到该目标画布。
本发明的第二示例性实施例提供了一种移动设备应用程序,其适用于在与外部系统相关联的web浏览器中执行基于网络的应用。所述程序包括指令集,用于:建立与外部系统的通信链路;访问特定的基于网络的应用程序;以及呈现与特定的基于Web的应用程序相关联的内容并将所呈现的内容发送到外部系统以供显示。
本发明的第三示例性实施例提供系统,其适于将多媒体内容提供给用户。该系统包括:适于显示多媒体内容的目标;主机,其适于产生由所述目标进行显示的多媒体内容;以及远程服务器,其适于与所述主机进行交互,以至少部分地控制该多媒体内容的显示。
前述发明内容旨在简要介绍本发明的一些示例性实施方式的各种特征。其他实施例可以以其它特定形式实施而不脱离本发明的精神。
附图说明
本发明的新颖特征在权利要求中阐明。然而,出于解释的目的,本发明的若干实施例在以下附图中示出。
图1示出了根据一些实施例的概念性系统的示意框图。
图2示出了可以使用的系统的一些实施例的连接方案的示意性框图;
图3示出了一些实施例的主机单元的示意框图;
图4示出了一些实施例的目标元件的示意性框图;
图5示出了一些实施例使用的基于浏览器的用于向能够执行web浏览器的目标I/O元件提供服务的系统的示意框图;
图6示出了一些实施例使用的用于向能够提供多媒体内容的目标I/O元件提供服务的屏幕投影系统的示意性框图;
图7示出了一些实施方式使用的以向能够提供多媒体内容的目标I/O元件提供服务的矢量屏幕投影系统的示意性框图;
图8示出了根据一些使用硬件进行编码/编码的实施例以向能够提供多媒体内容的目标I/O元件提供优化服务的系统的示意性框图;
图9示出了包括一些实施例可以使用的各种数据元件和途径的系统的数据流图;
图10示出了一些实施例使用的以在一些实施例中管理主机应用的后端系统的示意性框图;
图11示出了一些实施例使用的以允许在至少一个主机和至少一个目标之间交互的主机侧(或"服务器侧")的过程的流程图;
图12示出了一些实施例使用的以允许至少一个主机和至少一个目标之间交互的一个目标侧(或"客户端侧")的过程的流程图;
图13示出了由一些实施例来进行从一个主机到目标发送的数据进行编码的过程的流程图;
图14示出了一些实施例所使用的用于基于当前操作条件自适应地调整各种属性以实现优化的吞吐量和质量的概念过程的流程图;
图15示出了由一些实施例来捕获和响应用户输入事件的目标侧的概念性处理的流程图;
图16示出了一些实施例使用的以捕获并响应用户输入事件的主机侧概念过程的流程图;以及
图17概念性地示出了本发明的一些实施例可以用其实现的计算机系统的示意框图。
具体实施方式
下文的详细说明是实施本发明的示例性实施例的当前想到的最佳方式。该说明不应被认为具有限制意义,而是为了说明本发明的一般原理而做出的,本发明的范围由所附的权利要求最佳限定。
各种发明特征将在下文描述,各个特征可以独立使用,也可与其它特征组合。
概括地说,本发明的实施方式通常提供一组服务器,主机元件(例如,智能电话、平板电脑等)和目标元件(例如,车载主机音响、电视、医疗设备等),可用于与配置各种适当的方式。这些组件将在下文第一节进行更加详细的描述。
在第一配置中,一些实施例可使用一个或多个目标元件来承载一个网络浏览器。这种方法可以允许web应用程序由目标元件(或"客户")在本地存储,甚至在没有任何网络连接的情况下允许使用应用程序。此外,由于应用在本地,这样的配置可允许快速响应,因此可以快速地呈现。该方法可能要求目标元件具有相对强大的硬件,以呈现该应用程序。此外,目标设备所使用的任何浏览器可能需要定期更新,以保持与不断发展的技术的兼容性。在某些情况下(例如,车载音响单元),相应的更新可能无法被到目标设备使用,和/或用户无法轻易地将其安装。
在第二配置中,移动设备可以托管并渲染应用,并且目标元件可以作为屏幕投影客户端。这种渲染可以由客户端设备使用客户端设备的屏幕分辨率离开屏幕执行。这种方法允许简单、廉价并且容易地维护目标设备,这是因为移动设备提供大部分所需的处理功率。另外,对移动设备浏览器软件的更新可以定期提供并且可以被容易地安装(或者可以自动更新)。该方法还可以允许标准技术,诸如待使用的虚拟网络计算(VNC)、标准视频编码格式等。在某些情况下,当投影屏幕(和/或其他适当数据)可以通过潜在更慢链路(例如,车载通信总线)发送时,此配置可以具有更慢的响应。
在第三配置中,移动设备可以类似地托管应用,但是可以以向量格式准备并发送数据到目标元件,该目标元件可以作为屏幕投影客户端。客户端可以维护普通资源的高速缓存,因此允许移动设备与客户端设备之间改进的渲染和减少的流量,从而提供改进的性能。这种方法允许相对简单、廉价并容易地维护目标设备,这是因为移动设备提供大部分所需的处理功率。另外,对移动设备浏览器软件的更新可以定期提供并且可以被容易地安装(或者可以自动更新)。
虽然为了简单各种配置已经被逻辑上分离,但是本领域技术人员容易理解各种配置(或“模块”)可以被组合以提供对多个模块的支持。因此,取决于主机和/或目标的能力,主机可以适当地发送全屏幕或向量命令。另外,其他技术(诸如屏播技术)还可以代替上述VNC或向量方法使用。
另一实现方式可以允许智能电话应用使用具有或不具有web视图的本机控件。主机可以准备具有客户端的大小和分辨率的离开屏幕缓冲器,并且使用该缓冲器渲染用户接口(UI)并且向用户仿真对接口的输入事件。
下面段落描述了本发明若干更详细的实施例。章节I提供了某些实施例的硬件架构的概念描述。章节II继而描述了某些实施例的概念软件架构。接下来,章节III提供了某些实施例提供的应用和策略管理的概念描述。章节IV继而描述了由某些实施例使用的各种算法。章节V继而描述了实现本发明某些实施例的概念计算机系统。
I.硬件架构
子章节I.A提供了某些实施例的系统的概念描述。子章节I.B继而描述了某些实施例的概念控制元件。最后,子章节I.C描述了某些实施例的概念目标元件。
A.系统
图1图示了某些实施例的概念系统100的示意框图。具体地,该图示出了系统元件之间的各种通信路径。如图所示,系统可以包括目标系统或设备110(其可以包括一个或多个输入/输出(I/O)元件120和通信总线130),一个或多个主机系统或设备140,一个或多个网络150,与存储170相关联的远程服务器160的集合,以及与存储190相关联的第三方服务器180的集合。
目标元件110可以是系统、设备、组件和/或能够与主机元件140通信的其他适当元件的任何集合。每个I/O元件120可以包括各种适当的组件(例如,显示器屏幕、音频输出、用户控件集合、触摸屏等)和/或能力(例如,音频视频和/或其他多媒体的编码或解码,跨一个或多个网络的通信等)。术语“目标”贯穿全文可以用于适当地指示目标元件或I/O元件集合。通信总线130可以适当地包括各种硬件和/或软件元件。这种总线可以是有线或无线,并且可以允许目标元件110、主机元件140的各种组件和/或其他组件进行通信。
在某些实施例中,目标元件110可以是交通工具(例如,汽车、飞机、公共汽车、火车、露营车(RV)等)。这种系统可以包括I/O元件120,诸如头部单元、监视器、TV、视频屏幕、音频元件(例如,扬声器、耳机插孔等)、用户接口(例如,控制按钮、触摸屏、麦克风等)、音频播放器(例如,立体声系统)和/或其他适当元件。
每个主机元件140可以是能够与目标110交互的电子系统或设备(例如,智能电话、平板设备、笔记本计算机、专用媒体播放器等)。主机140可以适当地与目标系统110中包括的一个或多个I/O元件120交互。例如,在某些实施例中,智能电话主机140可以向多个车载头部单元I/O元件120发送多媒体内容。另外,如下文参考图2所示,系统100可以适当地包括多个目标110和/或主机140。
网络150可以包括主机140(和/或目标110)可访问的一个或多个通信网络。这种网络可以包括例如蜂窝通信网络、无线网络、有线网络、网络的网络(例如,因特网)和/或其他适当的网络。这种网络可以适当地使用硬件和/或软件元件的各种适当组合进行访问。
远程服务器160可以包括能够访问网络150的一个或多个设备,并且因此与主机140进行通信。存储170可以包括远程服务器160可访问的能够存储数据和/或指令的一个或多个设备。在某些实施例中,远程服务器160可以执行适配以与主机140、目标110和/或其他适当元件执行的相关联软件通信的软件。
第三方服务器180可以包括能够访问网络150的一个或多个设备并因此与主机140通信。存储190可以包括第三方服务器180可访问的能够存储数据和/或指令的一个或多个设备。在某些实施例中,第三方服务器和/或存储190可以使用一个或多个API访问。
本领域技术人员容易理解系统100实质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同实施例可以包括不同的具体组件和/或组件之间的通信路径。在另一示例中,某些实施例可以包括比所述组件更多的组件或更少的组件(例如,某些实施例可以操作而不需要访问任何网络或服务器)。
图2图示了可以由系统100的某些实施例使用的示例连接机制200-210的示意框图。具体地,该图示出了可以使用的多个目标和多个主机配置。
如图所示,第一示例配置200可以包括与单个主机230通信的多个目标220。这种配置可以用于例如从智能电话向多个TV流传输媒体。
在第二示例中,配置210可以包括具有多个I/O元件245-265和多个主机270-280的目标240。在此示例中,第一主机270可以与多个I/O元件245-250交互(例如,通过向多个车载头部单元和/或显示器发送多媒体内容)。另一I/O元件255可以不与任何主机交互(例如,当I/O元件正运行本机应用(诸如交通工具中的导航应用)时)。第二主机275可以与单个I/O元件260交互。附加主机280和/或I/O元件265可以各自以各自适当的方式进行配置(例如,与一个I/O元件相关联的一个主机、与多个I/O元件相关联的一个主机、不具有相关联主机的I/O元件等)。
除了图2所示的示例,本领域技术人员容易理解各种其他适当机制可以适当地被使用。例如,多个主机可以与多个目标交互,其中每个目标可以包括各自能够与(或不与)主机之一交互的多个不同I/O元件。如另一示例,在某些实施例中,多个主机可以与每个I/O元件交互(例如,第一主机可以向I/O元件集传输视频数据并且第二主机可以向另一、重叠I/O元件集)。
B主机
图3图示了某些实施例的主机元件300的示意框图。具体地,该图示出了可以由主机使用的各种概念子元件和通信路径。如图所示,主机系统或设备300可以包括一个或多个处理器310、一个或多个硬件编码器320、I/O元件330的集合、一个或多个通信模块340和一个或多个存储350。这种主机元件的示例包括移动电话、智能电话、PC、平板设备、专用媒体播放器(例如,DVD播放器、蓝光播放器、CD播放器、mp3播放器等)和/或其他适当的组件集合。
每个处理器310能够使用数据和/或指令集合执行各种操作。每个硬件编码器320可以具体地适配以处理某种类型的输入(例如,来自相机的视频输入、来自麦克风的音频输入等)并且生成适当格式的数据以供另一多媒体元件使用。每个I/O元件330可以适配以从用户接收输入和/或向用户提供输出(例如,触摸屏、小键盘、鼠标和/或其他光标控制设备、显示器屏幕、扬声器、麦克风等)。每个通信模块340可以适配以使用各种适当协议(例如,蓝牙、IEEE 802.11等)与跨各种可获得路径(例如,有线连接、无线连接、网络连接等)的一个或多个其他系统和/或设备通信。每个存储350可以适配以存储数据和/或指令。各种组件310-350能够使用各种本地路径(诸如总线、网络等)彼此进行通信。
虽然主机300可以在概念上被认为是单个系统或设备,但是在某些实施例中,主机可以包括不同元件的各种组合(例如,具有外部麦克风/耳机的智能电话、具有外部扬声器的平板设备等)。这种组件可以使用各种物理元件(例如,电缆、连接器、插座等)和/或无线或虚拟元件连接。
某些实施例的主机可以包括可以通过各种适当方式利用的各种UI元件(例如,触摸屏、按钮、小键盘等)。例如,某些实施例可以允许用户使用主机提供的各种输入元件(例如,触摸屏上的控制特征、音量控制按钮等)至少部分控制目标元件。另外,诸如显示器元件的组件(例如,触摸屏、指示灯等)可以用于向用户提供信息。
本领域技术人员容易理解主机300实质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同实施例可以包括不同的具体组件和/或组件之间的通信路径。在另一示例中,某些实施例可以包括比所述组件更多的组件或更少的组件(例如,某些实施例可以不包括硬件编码器)。
C目标
图4图示了某些实施例的目标元件400的示意框图。具体地,该图示出了可以由目标使用的各种概念子元件和通信路径。如图所示,目标系统或设备400可以包括一个或多个处理器410、一个或多个硬件解码器420、UI元件430的集合、多个I/O元件440的集合、一个或多个通信模块450和一个或多个存储360。这种目标元件的示例包括TV、车载HU、显示器监视器、智能电话、PC、平板设备和/或其他适当的组件集合。
每个处理器410能够使用数据和/或指令集合执行各种操作。每个硬件解码器420可以具体地适配以处理某种类型接收的数据(例如,视频、音频等)并且生成针对各种媒体呈现元件(例如,显示器屏幕、音频输出等)优化的适当输出。每个UI元件430可以适配以从用户接收输入和/或向其发送输出(例如,触摸屏、小键盘、按钮、旋钮、鼠标和/或其他光标控制设备、显示器屏幕、扬声器、麦克风等)。每个多媒体I/O元件440可以适配以向用户提供多媒体内容(例如,视频屏幕、扬声器集等)。每个通信模块450可以适配以使用各种适当协议(例如,蓝牙、IEEE 802.11等)与跨各种可获得路径(例如,有线连接、无线连接、网络连接等)的一个或多个其他系统和/或设备进行通信。每个存储460可以适配以存储数据和/或指令。各种组件410-460能够使用各种本地路径诸如总线(例如,控域网(CAN)总线)、网络等彼此进行通信。
虽然目标400可以在概念上被认为是单个系统或设备,但在某些实施例中,目标可以包括不同元件的各种组合(例如,具有耳机插孔的显示器屏幕、具有外部扬声器的平板设备等)。这种组件可以使用各种物理元件(例如,电缆、连接器、插座等)和/或无线或虚拟元件连接。
本领域技术人员容易理解目标400实质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同实施例可以包括不同的具体组件和/或组件之间的通信路径。在另一示例中,某些实施例可以包括比所述组件更多的组件或更少的组件(例如,某些实施例可以不包括硬件解码器)。
II软件架构
子章节II.A提供了某些实施例的基于浏览器配置的概念描述。子章节II.B继而描述了某些实施例的屏幕投影实现方式。接下来,子章节II.C描述了某些实施例的向量屏幕投影实现方式。子章节II.D继而描述了由某些实施例使用的硬件编码和解码。接下来,子章节II.E描述了由某些实施例使用的概念数据流和数据元件。最后,子章节II.F描述了可以由某些实施例使用的示例协议命令集合。
A.浏览器
某些实施例可以使用能够由目标系统或设备执行的浏览器实现。在此配置中,目标浏览器可以用于渲染并执行目标I/O元件上的第三方应用。
图5图示了由某些实施例用于向能够执行web浏览器的目标I/O元件提供服务的基于浏览器的系统500的示意框图。具体地,该图示出了可以由各种系统元件使用的各种软件组件。这些软件系统可以使用上述硬件系统100实现。如图所示,目标I/O元件(或系统)120可以执行具有相关联API 515、第三方web应用520集合、命令接口530、应用管理器540和本地数据550的web浏览器主机510。主机元件140可以执行网关560。每个第三方服务器180可以提供接口570和各种第三方数据580。某些实施例的远程服务器160可以提供应用管理器590和全局应用数据595。
Web浏览器510可以是能够由目标设备执行的任何适当浏览器。API 515例如可以是基于插件(例如,JavaScript)的API,其可以允许第三方web应用以统一方式与应用管理器540和目标系统通信。API 515可以是模块化的并且可以基于由应用管理器540针对每个应用定义的安全策略。因此,API 515可以限制每个应用能够访问的元件和/或应用能够执行的操作。
每个第三方web应用520可以是适配以使用web浏览器主机510操作的应用。命令接口530可以允许目标I/O元件120与主机140提供的网关560交互,因此也允许与第三方服务器180和/或远程服务器160交互。第三方接口570可以允许网关560(因此也允许目标元件120和远程服务器160)从第三方数据580获取应用数据(和/或其他类型的数据和/或指令)。
在全文描述的各种架构中,某些实施例的网关560和/或接口530可以被用作目标(例如,HU)与主机(例如,智能电话)之间的基础通信链路。这种通信链路允许统一通信接口用于不同物理链路(例如,蓝牙、USB、WiFi、未来链路类型等)。
应用管理器540可以是管理第三方web应用520的本地执行的目标组件。这种管理可以包括经由清单文件的生命周期、软件更新和/或许可。应用管理器540可以管理本地数据550,其中第三方应用520被存储。应用管理器540可以与应用管理器服务590通信以获得最近的更新和清单变化。在某些实施例中,应用管理器540可以针对更安全的驾驶体验至少部分基于目标系统状态(例如,交通工具正在移动、停止、停车等)实施执行策略。
应用可以从远程服务器160(使用应用管理器服务器)更新。应用520可以由本地web浏览器主机510渲染,其揭示了与允许第三方应用以安全受控方式与应用管理器540和/或其他目标服务通信的API 515相关联的API库。目标可以经由命令接口530和/或网关560与因特网通信。第三方应用520可以经由网关560与相关联的web服务器通信或者经由某些实施例的应用路由器基础设施与移动设备应用通信。
应用管理器590可以向本地应用管理器540提供web服务API以查询应用清单、新应用和/或应用更新。应用管理器590可以允许客户端查询可用应用、下载应用和/或更新应用。应用管理器可以管理全局应用数据595。全局应用数据595可以包括所有可获得的第三方应用。应用可以通过类型、目标元件模型等分类。每个应用可以具有包含安全策略的相关联清单文件。
本领域技术人员容易理解系统500可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同实施例可以包括不同的具体组件。在另一示例中,某些实施例可以包括更多的组件或更少的组件。另外,系统500可以适当地使用各种特定类型的硬件组件实现。
B.屏幕投影
某些实施例可以通过目标设备实现,该目标设备实现简单远程查看器和用户输入处理器。这种配置不要求目标设备提供浏览器。
图6图示了由某些实施例用于向能够提供多媒体内容的目标I/O元件提供服务的屏幕投影系统600的示意框图。具体地,该图示出了可以由各种系统元件使用的各种软件组件。这种软件系统可以使用上述硬件系统100实现。如图所示,除了(或替代)上述参考系统500的任何组件,系统600还可以包括由目标组件120提供的查看器610和系统适配器620,以及由主机元件140提供的web浏览器主机630(与API 640相关联)、第三方650和本机应用660、应用管理器670和本地数据680。
在此配置中,目标侧可以包括命令接口530(例如,API)和能够显示主机侧上渲染的web应用的简单远程屏幕查看器610。目标元件120可以向主机140发送用户输入和/或可以通过某些实施例的网关层560接收屏幕位图。另外,目标120可以包括一个或多个系统适配器620,该系统适配器620可以适配以从外部系统获取信息(例如,交通工具信息,诸如位置、速度、交通工具状态等),并且向API 640提供所获取的信息(其可以使用web浏览器主机630执行),使得数据可以由各种第三方web应用650和/或本机应用660访问。
在主机140侧,应用管理器670和本地数据680可以用于管理第三方应用650和/或本地应用660。这种应用可以由主机上运行的web浏览器以针对目标的适当分辨率离开屏幕渲染。来自目标120的任何输入可以由网关560接收。网关还可以向目标发送渲染的屏幕。
网关560(或“移动服务器”)可以是“包裹”本机web查看组件以离开屏幕渲染其内容并且使用有效远程屏幕投影协议将其发送到命令接口530的主机组件。命令接口还可以处理来自目标的输入并且将该输入传递到web视图。移动服务器560可以生成对应于目标的屏幕分辨率的离开屏幕画布。
本领域技术人员容易理解系统600可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同实施例可以包括不同的具体组件。在另一示例中,某些实施例可以包括更多的组件或更少的组件。另外,系统600可以适当地使用各种特定类型的硬件组件实现。
C.向量屏幕投影
类似于上文描述的屏幕投影配置,某些实施例可以通过目标设备实现,该目标设备能够接收与例如缩放和计算的HTML页面相关联的向量信息而不是渲染屏幕的位图。
图7图示了由某些实施例用于向能够提供多媒体内容的目标I/O元件提供服务的向量屏幕投影系统700的示意框图。具体地,该图示出了可以由各种系统元件使用的各种软件组件。这种软件系统可以使用上述硬件系统100实现。如图所示,除了(或替代)上述参考系统500和600的任何组件,系统700可以包括专业查看器710、资源高速缓存720和移动向量服务730。
在此配置中,主机140包括浏览器630和API 640,但是主机140可以执行例如JavaScript并转换向量图形而不是一路渲染到位图。这种向量数据可以由移动向量服务730捕获,其转而使用网关560和命令接口530向目标120发送数据。类似地,本机应用660可以由主机140渲染并且个别图形用户接口元件可以由移动向量服务730捕获并发送到目标120。
目标侧可以包括专用查看器710,其显示由主机浏览器630接收的向量图形。查看器710可以在资源高速缓存720中存储常用资源,诸如图形、位图、字体等。通过此方式,较少数据可以在主机140与目标120之间的链路上发送,并且屏幕可以更快地渲染。资源高速缓存720可以是能够存储待在屏幕渲染之间重用的常用资源的本地存储。
移动向量服务器730可以是托管web浏览器引擎的主机组件。移动向量服务可以拦截由引擎一般执行的渲染操作而不是将这种操作用于位图(或屏幕),服务可以构建屏幕的向量描述并且向目标发送该描述。这种方法可以使用适配器,该适配器能够从浏览器720捕获向量数据。任何资源(诸如图像)与其ID(和/或其他适当的信息)一起发送,并且目标120可以确定当资源高速缓存720中没有可获得的资源时是否请求资源。
本领域技术人员容易理解系统700可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同实施例可以包括不同的具体组件。在另一示例中,某些实施例可以包括更多的组件或更少的组件。另外,系统700可以适当地使用各种特定类型的硬件组件实现。
D.硬件编码和解码
某些主机设备或系统和/或目标设备和/或系统可以包括各种硬件组件,诸如编码器和/或解码器,其可以由某些实施例用于执行有效多媒体处理(例如,渲染)而不加重通用处理器(和/或其他适当组件)。硬件编码和/或解码可以支持例如视频、音频、通用数据压缩和/或通信命令处理。
图8图示了某些实施例利用硬件编码和/或解码以向能够提供多媒体内容的目标I/O元件提供优化服务的系统800的示意框图。具体地,该图示出了可以由各种系统元件使用的各种软件组件。这种软件系统可以使用上述硬件系统100实现,包括系统300-400中描述的子元件。如图所示,除了(或者替代)上文参考系统500、600和700的任何组件,系统800可以包括硬件解码器接口810和硬件编码器接口820。系统800的方法例如可以与上文参考图5-7描述的各种解决方案结合(和/或替代)使用。
硬件解码器接口810可以适配以与例如硬件解码器(诸如上文参考图4描述的解码器420)交互。硬件编码器接口820可以适配以与例如硬件编码器(诸如上文参考图3描述的编码器320)交互。
在此配置中,各种渲染(和/或向量处理货其他适当操作)可以经由接口820使用专用硬件编码器执行。这种方法可以允许主机设备有效地处理所需操作同时留下与主机设备相关联的处理器空闲(或更空闲)执行其他系统操作。同样,硬件解码器可以经由接口810用于使用专用解码器硬件执行各种处理操作使得与目标元件120相关联的任何处理器空闲(或更空闲)执行其他系统操作。另外,这种硬件解码器和/或编码器可以提供相对于与非专用硬件(例如,处理器)完成的性能增强的性能(例如,增强的速度、功耗、输出质量等)。
本领域技术人员容易理解系统800可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同实施例可以包括不同的具体组件。在另一示例中,某些实施例可以包括更多的组件或更少的组件。另外,系统800可以适当地使用各种特定类型的硬件组件实现。
E.数据流
图9图示了包括可以由某些实施例使用的各种数据元件和路径的系统900的数据流图。具体地,该图示出了各种数据元件之间的各种依赖和/或参考。如图所示,系统可以包括主机910和目标920。主机910可以是上述参考例如图1和图3的任何适当系统或设备。目标可以是上述参考例如图1和图4的任何适当系统或设备。如图所示,主机910可以包括web浏览器主机925、OS主机930、一个或多个其他主机935、移动服务器940、常用资源945和网关950。目标920可以包括常用资源955、通信接口960、客户端模块965、播放器970和播放器框架975。
Web浏览器主机925可以实现浏览器托管和屏幕(即,内容)捕获。Web浏览器主机可以使用基础移动服务器940分组向目标发送内容和/或接收用户输入或命令并且在浏览器中仿真所接收的元件。
OS主机930可以是能够捕获OS屏幕的应用主机的占位符。如果需要这种组件,其可以是OS特定的。OS主机在这里被示为由某些实施例提供的框架的可扩展的指示。
除了OS主机,某些实施例可以包括其他主机935。某些主机可以是使用基础移动服务器940封装向目标发送屏幕、音频和其他内容的本机应用或移动服务。
移动服务器940可以是包括用于向目标服务远程应用的主代码的封装。移动服务器可以独立于提供内容的真实应用。可以存在不同的应用主机,诸如web浏览器主机925或OS主机930(拦截整个OS),或者可以是包括某些实施例的主机组件的任意其他应用。移动服务器940能够响应来自目标的命令、保持追踪目标会话、和/或维护与目标相关联的状态。移动服务器可以使用基础网关封装950与目标通信。
常用资源945或955可以包括具有目标、主机和/或其他资源之间常用类和代码的封装。常用资源可以包括针对消息和事件的定义。
网关950可以允许各种主机910与各种目标920之间的通信。每个目标同样可以包括能够与网关950交互以便在主机和目标之间交换数据、指令、用户输入和/或其他元件的常用接口960。
客户端模块965可以是表示某些实施例的目标的封装。客户端模块可以负责处理来自移动服务器940的事件和/或向播放器寄存器970发送渲染的命令。客户端模块965还可以从播放器970接收输入事件并且向移动服务器940构建消息。客户端模块965可以使用基础接口960经由网关950与主机910通信。
播放器970可以是基于适当应用和/或UI框架975(例如,“Qt”框架)的播放器的实现。可以适当地存在使用不同图形框架的其他播放器。播放器970可以向客户端模块965注册以接收绘图事件并向播放器970发送任何输入事件。
虽然以各自具体细节呈现了图9的数据流图,但是本领域技术人员容易理解这种系统可以通过各种不同的方式实现而不脱离本发明的原理。例如,不同的实施例可以包括不同的具体数据元件。作为另一示例,各种数据元件可以与所示不同的具体关系(例如,各种数据元件可以取决于各种其他数据元件,可以“意识”其他数据元件,可以包括对其他数据元件的参考等)。
F.示例协议命令
某些实施例可以包括允许在各种系统元件之间通信的API。该API可以由各种设备(例如,具有web浏览器的设备)可访问。通信可以基于习惯定义的消息。这种消息可以在节点(例如,主机、目标、服务器等)之间的适当通信链路(例如,蓝牙、串行线、WiFi、LAN、USB等)上承载。在某些实施例中,消息可以不被确认。在某些实施例中,节点可以响应于接收的消息生成并发送新的消息。
消息可以包括该消息中包括的协议版本。在某些实施例中,节点(例如,服务器)可以仅接受具有期望版本的传入命令。在某些实施例中,消息报头可以包括消息报头大小以允许向后协议兼容。每个消息可以包括报头和消息内容。消息报头可以如下表1所述由某些实施例实现。
表1
消息内容可以取决于消息。下面描述了用于通信的节点的各种消息。
以下表2图示了视频配置命令。命令可以由目标节点发起以通知主机支持的帧解码器以及期望的帧大小和/或格式。主机可以基于目标支持的格式选择并初始化帧编码器。继而,主机可以响应另一视频配置命令以便通知目标选定的帧编码。
表2
下面表3图示了填充矩形命令。命令可以由主机发送并且可以包括由选定编码器编码的帧。
表3
下面表4图示了设置滚动命令。当新页面打开或连接建立时,该命令可以从主机发送。此命令的目的在于通知目标网页范围。目标可以决定建立滚动条以便滚动网页。主机可能无法滚动网页并且可能需要来自目标的辅助。假设如果此命令不是从主机发送,则主机能够单独处理页面滚动是安全的。
表4
下面表5图示了滚动更新命令。此命令可以从目标和主机两者发送。当由主机发送时,则目标应当调整滚动条位置。当由目标发送时,则主机应当滚动网页到特定位置。
表5
下面表6图示了等待指示符命令。该命令可以由主机发送以通知目标某些繁重处理正在进行或者已经完成。作为响应,目标例如可以示出或隐藏等待指示符。
表6
下面表7图示了示出键盘命令。此命令可以由主机发送以通知目标文本元件已经被选择并且某些文本将被录入。作为响应,目标可以显示适当的键盘。
表7
下面表8图示了隐藏键盘命令。此命令可以由主机发送以通知目标键盘不再需要。作为响应,目标可以关闭键盘。
表8
下面表9图示了鼠标命令。此命令可以由目标发送以便通知主机目标侧的鼠标事件(或者其他相似的光标控制输入元件)。主机可以“回放”加载网页上的事件。
表9
下面表10图示了键盘命令。此命令可以由目标发送以便通知主机目标侧的键盘事件。主机将回放加载页面上的事件。
表10
下面表11图示了浏览器命令。此命令可以由目标发送以便从主机请求特定浏览器动作(例如,回到主页、回撤、向前、去往特定地址等)。
表11
下面表12图示了设置当前应用命令。此命令可以由目标发送以便请求切换到特定web应用。
表12
下面表13图示了重新连接命令。此命令可以由主机发送以通知目标主机将临时停止。作为响应,目标可以保存主机地址并且尝试尽快重新连接。
表13
下面表14图示了设置每秒帧命令。此命令可以用于取决于目标加载动态调整帧速率。当接收的帧的速率大于或小于目标能够处理的帧的速率时,该命令可以由目标发送。
表14
下面表15图示了开始音频命令。此命令可以由主机发送。该命令可以通知目标音频回放即将开始。该命令可以包括关于音频属性的信息(例如,编解码、采样速率、比特每采样等)。当此命令被目标接收时,目标应当作为响应准备音频回放。
表15
下面表16图示了停止音频命令。此命令可以由主机发送以通知目标音频回放应当停止。
表16
下面表17图示了音频数据命令。此命令可以由主机发送。该命令可以包括以先前定义的格式(例如,由开始音频命令定义)的音频数据。
表17
下面表18图示了暂停音频命令。当音频回放应当被暂停或重新开始时,此命令可以由主机向目标发送。当主机应当被暂停或重新开始发送音频数据时,此命令可以由目标向主机发送。该目标可以维护音频缓冲器。当音频缓冲器变满时,“暂停”命令可以被发送。当缓冲器几乎空时,“重新开始”命令可以被发送。
表18
本领域技术人员应当理解上述消息元件可以在各种不同实施例中以不同方式实现。例如,不同实施例可以使用不同特定消息ID。作为另一示例,不同实施例可以包括不同于上文所述的各种不同长度的参数。此外,不同实施例可以包括与所示相比各种附加消息。
III.应用管理
子章节III.A提供了某些实施例用于管理支持应用的系统的概念描述。子章节III.B继而描述了与应用管理相关联的概念数据库模式。
A.系统
图10图示了由某些实施例用于在某些实施例中管理主机应用的后端系统1000的示意框图。如图所示,系统可以包括一个或多个远程服务器1005和管理应用1010。后端系统1000可以与移动设备(例如,智能电话、平板等)上运行的主机1015通信。主机1015可以类似于例如上文参考图9的主机910。
返回图10,远程服务器1005可以提供用户访问控制(UAC)模块1020、数据库访问元件1025、存储1030、应用目录API 1035、应用管理API 1040和客户端API 1045。
UAC模块1020可以确定用户是否具有许可以获得或操纵给定资源。此模块主要由应用管理模块1040使用。例如,如果存在删除应用的请求,UAC可以基于请求中提供的用户细节检验动作是否被允许。数据库访问接口1025可以通用的以便允许不同数据库管理系统的使用。任何适当的关系数据库管理系统RDBMS可以被使用。应用管理API 1040可以向应用管理提供REST API。该API可以允许请求添加、删除和编辑应用。客户端API 1045可以提供允许服务器应用所需的信息被获得的REST API。此信息可以使用系统访问关键字进行访问。
管理应用1010可以提供应用目录管理器1050和应用管理器1055。应用管理器可以是允许用户上传、编辑或删除应用的web客户端。应用管理器可以被实现为示出应用的状态的web应用并且允许管理应用批准过程。管理应用1010可以使用允许经由远程服务器1005与后端系统1000交互的web浏览器或本机应用执行。
主机1015可以提供主机应用1060、链接至本机应用1070集合的服务器库1065和HTML应用1075集合。
后端系统1000的主要角色是提供可获得应用列表并且向主机应用1060提供基础设施以下载应用捆绑(例如,包括HTML文件、JavaScript文件、CSS、资源等的完整HTML应用)。另外,系统可以揭示针对不同web客户端的REST API,其可以用于管理应用和/或应用目录。系统用户可以具有各种API上的不同许可。
给定“管理”应用(即,经由后端系统1000管理并且能够在主机1015上运行的任何应用)可以具有许多不同形式。应用可以包括不同类型。例如,给定应用可以是一个平台上的托管HTML应用以及另一平台上的本机应用。应用可以具有不同的风格,取决于连接的目标系统类型、选择的偏好和/或其他适当的参数。应用可以具有不同模式的操作,取决于连接的目标系统和/或其中包括的I/O元件。例如,相比于低端模型,高端交通工具可以允许启用更多功能。类似地,可以存在不同的应用版本,取决于主机平台。应用的每个个别化身可以经由应用描述符定义。可以存在针对相同应用的许多不同的应用描述符。取决于连接的设备,远程服务器1005可以发送最相关的应用描述符。
某些实施例能够与主机侧上的不同应用一起工作。某些可以由远程服务器1005托管,其他可以由第三方站点托管或者是主机上的本机应用。不考虑类型,可以存在针对应用目录中存储的每个应用的描述符,其可以被传递到主机1015上的主机应用1060。支持的应用类型可以包括例如托管的HTML应用、本地HTML应用(或应用捆绑)和本机应用。
托管的HTML应用可以是远程服务器1005或一个或多个第三方web服务器上托管的HTML应用。应用可以作为URL被提供给将其在主机浏览器中渲染的主机应用1060。应用可以使用标准HTTP高速缓存机制部分或完全在主机1015上高速缓存。
本地HTML应用可以是具有应用捆绑中所有HTML、JavaScript、CSS和资源文件的HTML应用。该捆绑可以由主机应用1060从远程服务器1005下载,并且可以存储在主机1015上。应用可以被加载到移动浏览器中。该应用可以具有版本,并且如果更新的捆绑是可获得的,则主机应用1060可以下载新应用捆绑。
本机主机应用(例如,智能电话应用)可以与专用服务器库1065链接。这些应用可以使用应用标识符在远程服务器1005处注册。该方法允许用户从主页屏幕(由主机应用1060渲染)选择以使用平台特定方法切换到本机应用。这种平台特定方法可以包括例如使用应用协议URL。
每个应用可以具有许多不同的风格,取决于目标系统类型、选择的用户偏好和/或其他适当的因素。通常,风格可以要求“皮肤”改变而不需要主要功能改变,其可以经由应用模式参数控制。风格可以动态改变并且可以在主机上预加载(预高速缓存)。风格可以是主要CSS和资源改变。风格的示例是“白天/夜晚”风格,不同个人风格或不同交通工具模型风格。
应用可以基于选定的模式(例如,风格、交通工具类型等)具有不同的功能。模式可以定义例如目标类型、制造商和/或模型,其可以用于基于目标的已知能力启用和/或禁用某些功能。模式通常可以在应用开始并且不动态改变之后被设置。
给定应用可以具有不同的实现方式,取决于主机平台。例如,应用可以实现为一个移动平台上的本机应用以及针对其他平台的托管HTML应用。这可以经由应用描述符中包括的应用平台参数反映。
某些应用(诸如托管的HTML应用)可以是通用的并且要求某些小的适配以支持某些实施例的系统中的操作。这经由一个或多个适配器模块(例如,JavaScript代码)完成,当应用被加载时,其可以被主机应用注入web视图。每个适配器模块可以与给定应用描述符相关联。在某些实施例中,适配器可以与每个平台相关联。备选地,适配器可以经由代理串检测平台并且执行适当代码。
为了支持快速应用加载和离线访问,某些实施例支持本地HTML应用。这种应用可以是HTML应用、基于脚本的应用等。所有应用文件(例如,HTML、JS、CSS、资源等)可以被组合成压缩文件并且存储在远程服务器1005上。每个应用捆绑可以具有相关联的版本,其允许主机应用检测本地捆绑是否需要更新。
本领域技术人员容易理解系统1000可以在不同实施例中通过各种不同的方式实现而不脱离本发明的原理。例如,某些实施例可以包括附加模块或者更少模块。作为另一示例,各种模块可以被组合以形成单个模块和/或各种单个模块可以各自被分成子模块集合。
B.数据库模式
此数据库模式中的主要概念是管理的应用。这种应用经由下面表19图示的应用表表示。该表描述了管理的应用。这种应用可以具有名称、描述、目录、拥有者和/或其他元件。
表19
给定应用可以具有针对不同平台、目标系统模型或风格等的不同“化身”。在某些情况下,应用可以是HTML5应用,在其他情况下,应用可以是本机。这些变化经由下面表20图示的应用描述符表描述。此表描述了与应用相关联的应用描述符。应用描述符可以指特定应用捆绑、URL或AppID。
表20
应用可以被不同地部署到各种客户端系统。给定部署可以经由下面表21图示的部署描述符表定义。此表可以包括各种部署描述符。部署描述符可以定义具有相关联关键字的特定部署配置。当某些实施例的主机应用被执行(例如,使用智能电话)时,关键字可以被传递到远程服务器以获得可获得应用的列表。后端系统可以使用该关键字找到部署描述符继而获取相关联部署应用的目录。
表21
部署应用表可以定义特定应用描述符与给定部署之间的关联性。该表将应用描述符与具体部署描述符相关联。该表针对给定部署配置、模型、风格和平台使用特定图标和名称定义应当在主页屏幕中示出的应用。下面表22图示了部署应用表。
表22
经由下面表23图示的资源描述符表表示由系统存储和管理的任何资源,诸如图像、应用捆绑等。这些类型的资源通过ID由其他表参考。同样,资源与上传该资源的用户相关联,并因此仅可以用于供授权用户(例如,来自相同公司的用户、系统管理员等)查看和编辑。该表描述了由后端系统管理的资源(诸如文件)。资源可以是应用捆绑、适配器、应用图标等。每个资源可以与上传该资源的用户相关联。
表23
下面表24图示的平台表定义了系统支持的各种平台。
表24
下面表25图示的部署风格表针对给定部署配置定义了可获得的应用风格。
表25
下面表26图示的部署模式表针对给定部署配置定义了可获得的应用模式。
表26
某些实施例的后端系统能够由具有不同权限的许多不同用户使用。用户可以由下面表27图示的用户表和用户群组表管理。资源、应用和部署与用户相关联。这允许后端系统管理谁具有查看、编辑和管理应用或部署的权限。用户表可以包括关于用户的信息。用户可以与一个公司(和/或其他相似类型的实体)和一个或多个用户群组相关联。来自相同公司具有相同权限的用户能够访问由来自相同公司的不同用户创建的资源。
表27
下面表28图示的用户群组表可以定义具有常用许可权限的用户群组。
字段 类型 描述
GroupID INT (主关键字)针对条目的唯一标识符
GroupName String 群组的名称
GroupPermissions String 定义针对群组的许可规则
表28
下面表29图示的公司表可以定义公司。一个用户可以与仅一个公司相关联。此可以允许来自相同公司具有相同权限的用户能够访问由来自相同公司的其他用户创建的资源。
字段 类型 描述
CompanyID INT (主关键字)针对条目的唯一标识符
CompanyName String 公司的名称
CompanyDescription String 公司的描述
表29
本领域技术人员应当理解上述数据库模式仅出于示例的目的并且不同实施例可以使用各种不同模式实现。例如,不同实施例可以使用与表不同的结构。作为另一示例,各种不同子元件可以被不同地命名,包括在使用不同数据类型等实现的各种不同表中。IV.操作的方法
子章节IV.A提供了由某些实施例使用的各种通信协议的概念描述。子章节IV.B继而描述在某些实施例中用于优化性能的各种编码方法。接下来,子章节IV.C描述了由某些实施例执行的各种适配调整。最后,子章节IV.D描述了使用和通过目标接收的目标系统输入。下面描述的各种方法可以使用诸如上文章节I中描述的硬件元件的各种组合、诸如上文章节II中描述的软件元件的各种组合和/或其他适当元件(和/或元件的组合)实现。
A.协议
各种方法可以由某些实施例用于在目标处的远程屏幕计算、传输和播放。某些实施例提供了可扩展协议,其允许主机与目标(和/或主机与远程服务器之间)数据的有效交换。
某些实施例可以使用“无状态”实现,其中主机不知道目标的状态并且等待来自目标请求发送屏幕元件。这种实现方式的一个示例是传统VNC协议。这种方法的优势在于主机可以是更简单、消耗更少的存储器,并且能够与多个目标更容易地交互。然而,响应延迟可能是个问题,因为目标必须请求主机更新以发送数据。此外,带宽可能被消耗,因为主机“不知道”可用于目标的数据因此必须发送完整图像。
某些实施例可以使用“状态”实现方式,其中主机知道目标的状态并因此可以仅发送改变。这种方法减少了带宽要求因为只有改变被发送,并且还减少了延迟因为改变在主机处被检测之后立即发送。此方法要求主机保持至少最近信息的拷贝向目标发送。
状态实现方式可以是针对某些实施例的优选通信模式,因为状态模式主要旨在两个设备(例如,智能电话和车载HU)之间的点到点通信。然而,某些实施例的基于命令的协议还允许混合状态和无状态实现。
“组合”实现方式可以保持针对某些目标设备的状态并且与其他目标无状态地操作。这种配置可以是有用的,例如,当实现其中智能电话作为针对车载头部单元并且还针对后座娱乐显示器集合的服务器的配置时。
为了可扩展和有效,某些实施例使用基于命令的通信协议。命令可以与更新屏幕信息(例如,新的屏幕、新的视频帧、新的向量元件等)一起从主机发送到目标,或者命令可以与用户输入信息(例如,触摸屏输入、键盘或小键盘事件等)、设备信息(例如,屏幕分辨率、能力信息等)或外部系统信息(例如,GPS、CAN总线信息等)一起从目标发送。命令可以包括报头信息、属性和具有真实数据的净荷。
图11图示了由某些实施例用于允许至少一个主机与至少一个目标之间交互的主机侧(或“服务器侧”)过程1100的流程图。这种处理可以例如在某些实施例的主机应用被主机设备启动时开始。
接下来,过程1100可以建立(在1105)与目标的通信链路。这种链路可以通过各种适当的方式(例如,通过基于各种用户偏好、设置和/或选择在主机与目标之间自动转移消息集,以及/或者以其他适当的方式)建立。用于建立链路的操作可以至少部分取决于链路的类型(例如,主机与目标之间的有线连接、蓝牙连接等)。
过程继而可以从目标接收(在1110)播放器信息。这种信息可以包括例如屏幕分辨率、屏幕编码模式、帧速率、能力等。
接下来,过程可以确定(在1115)命令是否已经从目标接收。这种命令可以包括例如触摸屏幕命令、硬件按钮按压、帧速率的改变等。在某些实施例中,目标设备可以是被动设备(即,主机可以简单地向目标发送数据,无论是否接收到任何响应)。在这种情况下,操作1120可以被省略(和/或接收的任何信息可以被忽略)。
如果过程确定(在1115)没有接收到命令,则过程可以继续操作1130。备选地,如果过程确定(在1115)命令已经被接收,则过程1100继而可以处理(在1120)所接收的命令并且更新(在1125)主机状态或仿真输入事件。在某些实施例中,操作1115-1125可以被迭代执行,只要通信链路由主机和目标维护。
在确定(在1115)没有命令从目标接收之后或在更新(在1125)主机状态之后,过程可以确定(在1130)主机状态是否改变。这种改变可以包括例如要求更新的对屏幕的改变(在此可以被检测的系统上)、可用于流的新音频帧、屏幕刷新时间已经消逝(例如,当主机无法确定屏幕是否已经改变并且基于目标提供的帧速率以规律间隔发送屏幕刷新信息)等。
如果过程确定(在1130)主机状态没有改变,则过程可以结束。备选地,如果过程确定主机状态已经改变,则过程可以继而确定(在1135)是否正在使用状态信息。这种确定可以通过各种适当的方式(例如,通过查询目标以基于可获得通信链路的类型的评估、基于待向目标发送的信息的类型等确定目标的能力)进行。
如果过程确定(在1135)将使用无状态实现方式,则过程继而可以准备(在1140)具有当前信息的数据帧,并且继续操作1155。这种信息可以包括例如图形数据、向量数据等。
如果过程确定(在1135)将使用状态实现方式,则过程继而可以确定(在1145)先前信息与当前信息(例如,基于从远程服务器接收的更新数据的信息)之间的差异,并且基于差异准备数据帧。
当准备(在1140或在1150)数据帧时,过程可以编码视频帧(例如,使用H264视频编码格式)、编码音频流(例如,使用mp3格式、高级音频编码(AAC)格式等)、减少屏幕速率(例如,使用I420编码)和/或执行通用的数据压缩(例如,ZLIB压缩、LZ4压缩等)。当使用某些编码模式时,视频数据可以包括仅与先前帧的差异,因此在某些情况下可以省略操作1145。
在准备(在1140或在1150)数据帧之后,过程可以向目标发送(在1155)包括数据帧的命令然后结束。在某些实施例中,操作1130-1155可以迭代执行只要通信链路由主机和目标维护。
在某些实施例中,操作1115-1125可以与操作1130-1155并行执行。在这种实施例中,过程可以监视目标以确定是否已经接收到命令并且还监视主机状态以确定是否需要更新。
本领域技术人员容易理解过程1100本质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,过程1100的各种操作可以通过不同顺序执行。另外,各种其他操作可以适当地执行和/或各种操作可以适当地省略。过程可以作为更大宏过程的一部分执行或者被分成多个子过程。这种过程可以基于满足条件集以规律间隔继续执行和/或被适当地执行。
图12图示了由某些实施例用于允许至少一个主机与至少一个目标之间交互的过程1200的目标侧(或“客户端侧”)的流程图。这种过程可以例如当由某些实施例使用的浏览器或播放器被目标设备启动时开始。接下来,过程1200可以建立(在1210)与主机的通信链路。这种链路可以通过各种适当的方式(例如,通过基于各种用户偏好、设置和/或选择在主机与目标之间自动转移消息集,以及/或者以其他适当的方式)建立。用于建立链路的操作可以至少部分取决于链路的类型(例如,主机与目标之间的有线连接、蓝牙连接等)。
接下来,过程1200可以向主机发送(在1220)播放器信息。这种信息可以与目标设备使用的播放器相关联以向用户提供内容。该播放器信息可以包括与播放器相关联的各种属性(例如,屏幕分辨率、屏幕编码模式、帧速率、能力等)。
过程1200继而可以确定(在1230)命令已经从主机接收。这种命令可以使用各种适当格式、协议、接口等。命令可以通过通信链路接收。
如果过程确定(在1230)命令已经从主机接收,则过程1200可以通过各种适当方式处理(在1240)主机命令。例如,这种处理可以包括帧解码、向量元件的绘图、处理音频帧等。
主机命令可以包括数据帧。这种数据帧可以是未压缩的(如果压缩了),使用软件或硬件解码器(其可以在状态实现方式中应用于先前帧)解码,和/或以各种其他适当方式处理。主机命令还可以包括与应用专用命令(例如,当确定用户已经选择编辑区域时示出软件键盘的通知、可以用于生成活动应用列表并允许用户在其间选择的相关联ID和应用开始的通知)相关的信息。
过程继而可以基于主机命令更新(在1250)多媒体输出(例如,视频、音频、图形等)。在某些实施例中,操作1230-1250可以迭代执行只要通信链路由主机和目标维护。
在更新(在1250)多媒体输出之后或在确定(在1230)没有从主机接收命令之后,过程可以确定(在1260)用户输入是否已经被接收。用户输入可以通过目标元件(诸如触摸屏、硬件按钮、语音输入等)接收。用户输入可以通过通信链路接收。这种用户输入可以包括与目标设备上提供的应用或内容有关的信息。例如,用户可以按压“下一个”按键以跳至播放列表中的下一个歌曲,用户可以向目标设备上显示的应用(例如,因特网无线电应用)提供输入等。
如果过程确定(在1260)已经接收用户输入,则过程可以准备(在1270)主机命令并且向主机发送(在1280)命令。在某些实施例中,命令可以在目标编码(例如,来自麦克风的音频被编码成AAC或MP3帧)。这种命令可以通过各种适当方式格式化并且包括各种具体数据元件。这种格式化可以取决于目标或主机的属性、关于目标或主机的操作的用户偏好等。命令可以通过通信链路发送。
在向主机发送(在1280)命令之后,或在确定(在1260)没有接收到使用输入之后,过程可以结束。在某些实施例中,操作1260-1280可以迭代执行只要通信链路由主机和目标维护。
在某些实施例中,操作1230-1250可以与操作1260-1280并行执行。在这种实施例中,过程可以监视目标以确定是否已经接收到命令并且还监视主机状态以确定是否需要更新。
本领域技术人员容易理解过程1200本质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,过程1200的各种操作可以通过不同顺序执行。另外,各种其他操作可以适当地执行和/或各种操作可以适当地省略。过程可以作为更大宏过程的一部分执行或者被分成多个子过程。这种过程可以基于满足条件集以规律间隔继续执行和/或被适当地执行。
通过与上述参考图11至图12的方法类似的方式,主机和远程服务器(和/或第三方服务器)可以适当地建立通信链路和/或发送并接收数据。在这种配置中,主机和远程服务器可以通过各自发送和/或接收来自其他系统组件的数据和/或指令单独或结合地执行各种不同功能(例如,数据存储和获取、请求处理等)。
B.编码
为了完成最优吞吐量,某些实施例使用各种用于编码向目标发送的数据的编码方法。这种方法可以主要用于从主机向目标发送的屏幕数据,但是还可以用于向主机(和/或远程或第三方服务器)发送的数据。因为在某些实施例中使用了基于命令的协议,编码方法可以在命令报头中描述并且可以动态切换以适应各种性能参数(例如,可获得的带宽、应用负载等)和/或其他适当因素(例如,用户选择、与内容相关的属性等)。
图13图示了由某些实施例用于编码待从主机向目标发送的数据的过程1300的流程图。这种处理可以例如当数据变得可用于主机向目标发送时开始。
接下来,过程1300可以确定(在1305)是否执行屏幕XOR操作。这种确定可以基于各种适当参数以各种适当方法进行。如果过程确定(在1305)执行屏幕XOR,则过程继而可以执行(在1310)当前屏幕与最近屏幕之间的XOR操作并且编码改变的像素。
执行XOR操作要求状态通信模式。主机可以将每个新屏幕与最近发送的屏幕向比较以仅发送改变的像素。改变可以使用例如运行长度编码(RLE)进行编码,其中只有改变的像素被发送并且间隙(即,没有改变的像素)利用简单计数值编码。这种方法可以有用并且对于小屏幕改变非常有效。
如果过程确定(在1305)屏幕XOR不被执行,或者在执行(在1310)XOR之后,过程可以确定(在1315)是否执行下采样操作。这种确定可以基于各种适当因素通过各种适当方式进行。如果过程确定(在1315)执行下采样操作,则过程继而可以下采样(在1320)当前数据。
通常,平衡需要质量损失、转换速度与图像大小之间进行。例如,某些实施例支持的一个下采样格式是“I420”,其使用十二比特每像素并且将像素存储在YUV颜色空间中(使用由八比特二乘二子采样U平面和V平面跟随的八比特Y平面)。
如果过程确定(在1315)下采样不被执行,或者在执行(在1320)下采样之后,过程可以确定(在1325)是否执行图像编码。这种确定可以基于各种适当因素以各种适当方式进行。如果过程确定(在1325)执行图像编码操作,则过程继而可以使用标准格式编码(在1330)当前图像数据。
这种编码可以使用标准图像格式,诸如JPG或PNG。JPG可以相当紧凑,尤其具有质量损失。然而,挑战在于编码图像足够快。如果使用主机CPU完成(并且如果CPU缺少足够的处理功率),则这种方法可能对于完成二十五到三十帧每秒而言太慢。然而,如果使用专用视频硬件完成,则性能可以足够好以完成这种吞吐量。某些实施例支持以PNG、JPG和/或其他格式编码的帧或图像。
如果过程确定(在1325)图像编码没有执行,或者在执行(在1330)图像编码之后,过程可以确定(在1335)是否执行视频编码。这种确定可以基于各种适当因素以各种适当方法进行。如果过程确定(在1335)执行视频编码操作,则过程继而可以使用标准格式编码(在1340)当前图像数据。
标准视频编码格式可以提供非常好的压缩,并且可以由目标流传输并直接回放。这种视频格式的一个示例为“H.264”(或“MPEG-4”)。这种方法要求目标具有视频解码器。可以使用的另一格式是“VP8”,其提供更好的编码速度。类似于图像编码,视频编码可以使用专用视频硬件进行优化。
图像和视频编码技术可以用于产生紧凑标准的图像或视频流。实时编码可能在主机设备CPI上非常繁重,可能没有足够的CPU功率以完成足够高的帧每秒速率。对此问题的解决方案是使用通常在现代设备(例如,智能电话、平板等)上可获得的专用视频编码硬件。许多这种设备可以支持实时视频记录,其通常使用这种快速实时硬件编码。某些系统允许访问视频编码硬件和控制输入和输出的能力(例如,经由OS),从而允许某些实施例提供非常有效紧凑的远程屏幕投影分辨率。
如果过程确定(在1335)视频编码没有执行,或者在执行(在1340)视频编码之后,过程可以确定(在1345)是否压缩数据。这种确定可以基于各种适当因素以各种适当方法进行。如果过程确定(在1345)执行压缩操作,则过程继而可以压缩(在1350)当前数据。
某些实施例可以向数据应用通用压缩算法。一种此类选项是使用标准“zlib”,其提供相对好的压缩,但实际压缩过程可以非常慢并且CUP密集。另一方法是使用更快的“LZ4”压缩。某些实施例支持这两种算法,并且其他压缩类型也可以被添加并利用。
如果过程确定(在1345)压缩没有执行,或者在执行(在1350)压缩之后,过程可以向目标发送(在1355)数据然后结束。
本领域技术人员容易理解过程1300本质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,过程1300的各种操作可以通过不同顺序执行。另外,各种其他操作可以适当地执行和/或各种操作可以适当地省略。过程可以作为更大宏过程的一部分执行或者被分成多个子过程。这种过程可以基于满足条件集以规律间隔继续执行和/或被适当地执行。
C.适配调整
某些实施例的关键特征之一在于使用关于使用的数据、如何编码以及使用的图像质量的适配方法。因为使用了基于命令的协议,命令可以在飞行时改变格式、压缩、编码、帧速率、质量和/或其他属性。
图14图示了由某些实施例用于适配地调整各种属性以基于当前操作条件完成优化的吞吐量和质量的概念过程1400的流程图。在某些实施例中,这种过程可以例如当数据可用于从主机向目标发送时开始。如图所示,过程可以确定(在1410)可获得的带宽(例如,以帧每秒)。这种确定可以通过各种适当的方式(例如,通过检查先前在主机与目标之间发送的数据,通过获取指定最大带宽的系统信息等)进行。
接下来,过程可以确定(在1420)主应用渲染速率。这种确定可以通过各种适当的方法(例如,通过获取与应用相关联的性能信息,通过获取用于执行主应用的一个或多个硬件元件的性能数据等)进行。
过程继而可以至少部分基于确定的参数(例如,带宽、渲染速率和/或其他适当的性能参数)调整(在1430)帧速率。通过此方式,某些实施例可以基于确定的参数继续调整帧速率(备选地,图像质量可以被适当调整使得更小或更大数据分组被生成)。另外,目标播放器可以确定播放器能够支持的帧速率并且经由专用命令向主机报告该速率。主机继而可以将主机的帧速率设置为目标的优选帧速率与主机上可能支持的帧速率之间的最小值。通过此方式,主机将不会处理并发送比目标可以处理的帧更多的帧。
接下来,过程可以至少部分基于确定的参数调整(在1440)屏幕捕获速率。例如,如果主应用渲染被减慢,则屏幕捕获频率可以被减少。例如,当web应用被加载时,某些实施例的系统可以不需要捕获屏幕,但是可以通知目标等待。这允许主机上的CPU空闲以执行实际应用处理。
过程继而可以至少部分基于确定的参数调整(在1450)图像质量然后结束。如上所述,本发送的图像的质量在带宽更低时可以被减少。作为另一示例,更低质量图像可以散布在更高质量图像中(例如,当动画或视频生成时,主机可以每秒发送高质量图像一次并且图像的剩余部分可以以更低质量发送以减少利用的带宽)。
本领域技术人员容易理解过程1400本质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,过程1400的各种操作可以通过不同顺序执行。另外,各种其他操作可以适当地执行和/或各种操作可以适当地省略。过程可以作为更大宏过程的一部分执行或者被分成多个子过程。这种过程可以基于满足条件集以规律间隔继续执行和/或被适当地执行。
D.用户和目标系统输入
在某些实施例中,目标可以负责捕获客户端侧(例如,作为目标的车载HU)上的用户输入事件,并且向待由当前运行应用处理的远程服务器(经由主机)发送与捕获事件相关的数据。由于某些实施例的可扩展本性,可以包括现有或随后开发的用户输入硬件元件(和相关联事件)的各种类型。
触摸屏是可以用于在某些实施例中捕获用户输入事件的硬件元件的示例。任何捕获的触摸事件(例如,单个触摸事件、多触摸事件等)可以被转译给主机。硬件按钮(或按钮(诸如小键盘)的集合和/或其他适当的元件)可以被转译到应用侧(在主机、远程服务器和/或第三方服务器等)上的硬件按键事件。
键盘输入的多个模式可以由某些实施例支持。例如,键盘可以在目标侧本机渲染。当关注在于输入元件时,键盘可以被示出。这允许非常响应的UI以及前后发送的最小量数据,因为键盘直接被渲染在目标上。备选地,键盘可以由应用本身(例如,经由HTML)渲染并且以与任何其他UI元件相似的方式进行处理。
某些目标系统(例如,交通工具)可以具有特定输入特征,诸如方向盘按钮、旋钮等。这种输入可以通过硬件捕获,并且由系统适配器(例如,上文所述系统适配器620)转译成命令并向主机(和/或向远程或第三方服务器)发送。在主机和/或服务器上,命令可以被解释为通用UI命令(例如,滚动、返回等)或通过系统专用API处理。
除了用户输入,某些目标系统(例如,交通工具)具有可以由某些应用使用的其他输入源(例如,与GPS、速度等有关的传感器、CAN或其他总线信息等)。某些实施例的命令结构允许这些数据在目标、主机和服务器之间传递。这种数据可以作为广播消息使用订阅通知特征、使用请求/响应消息和/或其他适当方式进行传递。这种输入源可以由系统适配器组件处理。
图15图示了由某些实施例用于捕获并对用户输入事件作出反应的目标侧概念过程1500的流程图。在某些实施例中,这种过程可以例如在应用被目标启动时开始。如图所示,过程可以在目标处接收(在1510)用户生成的输入。过程继而可以向主机发送(在1520)所接收的输入。这种输入可以通过各种适当的方式接收、格式化、封装和/或发送,至少部分取决于目标元件、主机元件、元件之间的通信路径和/或其他适当因素的配置。
本领域技术人员容易理解过程1500本质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,过程1500的各种操作可以通过不同顺序执行。另外,各种其他操作可以适当地执行和/或各种操作可以适当地省略。过程可以作为更大宏过程的一部分执行或者被分成多个子过程。这种过程可以基于满足条件集以规律间隔继续执行和/或被适当地执行。
图16图示了由某些实施例用于捕获并对用户输入事件作出反应的主机侧概念过程1600的流程图。在某些实施例中,这种过程可以例如在应用被目标启动时开始。如图所示,过程可以从目标接收(在1510)用户生成的输入。这种用户输入可以从执行过程(诸如上文所述过程1500)的目标接收。
接下来,过程1600可以至少部分基于接收的输入生成(在1620)用户输入事件。在适当情况下,用户输入事件可以被提供给主机上当前运行的应用(例如,通过仿真主机上的事件)。
过程继而可以生成并发送(在1630)命令到远程服务器然后结束。在某些实施例中,所接收的输入可以完全由主机处理,并且没有命令可以被发送到远程服务器(反之亦然)。例如,用户输入命令可以仅由主机处理并且作为用户输入事件发送到当前活动管理的应用。
本领域技术人员容易理解过程1600本质上是概念的并且可以通过各种不同的方式实现而不脱离本发明的原理。例如,过程1600的各种操作可以通过不同顺序执行。另外,各种其他操作可以适当地执行和/或各种操作可以适当地省略。过程可以作为更大宏过程的一部分执行或者被分成多个子过程。这种过程可以基于满足条件集以规律间隔继续执行和/或被适当地执行。
除了上文参考图15至图16描述的操作,某些实施例可以使用主机、远程服务器和/或第三方服务器对从目标接收的输入作出反应。主机、远程服务器和/或第三方服务器能够分离或结合处理数据和/或指令以基于所接收的目标输入执行适当动作。例如,用户可以按压目标媒体播放器上的“下一个”按钮,其可以使得命令被发送到连接至目标的主机。主机可以接收并说明命令并且生成请求并向远程或第三方服务器发送该请求。远程服务器可以基于所接收的请求执行某些动作(例如,获取与列表中下一媒体元件相关联的数据)并且向主机提供适当响应,该主机转而可以基于接收的响应向目标发送更新的内容。
V.计算机系统
上文所述的大部分过程和模块可以被实现为被指定为非瞬态存储介质上记录的一个或多个指令集的软件过程。当这些指令由一个或多个计算元件(例如,微处理器、微控制器、数字信号处理器(DSP)、专用IC(ASIC)、现场可编程门阵列(FPGA)等)执行时,指令使得计算元件执行指令中指定动作。
图17概念上图示了本发明的某些实施例可以通过其实现的计算机系统1700的示意框图。例如,上述参考图1的系统可以使用计算机系统1700至少部分实现。作为另一示例,参考图11至图16描述的过程可以使用利用计算机系统1700执行的指令集至少部分实现。
计算机系统1700可以使用各种适当的设备实现。例如,计算机系统可以使用一个或多个个人计算机(“PC”)、服务器、移动设备(例如,智能电话)、平板设备和/或任何其他适当设备实现。各种设备可以单独工作(例如,计算机系统可以被实现为单个PC)或结合工作(例如,计算机系统的某些组件可以由移动设备提供而其他组件可以由平板设备提供)。
如图所示,计算机系统1700可以包括至少一个通信总线1705、一个或多个处理器1710、系统存储器1715、只读存储器(ROM)1720、永久存储设备1725、输入设备1730、输出设备1735、各种其他组件1740(例如,图形处理单元)和一个或多个网络接口1745。
总线1705表示计算机系统1700的元件之间的所有通信路径。这种路径可以包括有线、无线、光纤和/或其他适当的通信路径。例如,输入设备1730和/或输出设备1735可以使用无线连接协议或系统耦合至系统1700。
为了执行某些实施例的过程,处理器1710可以从组件(诸如系统存储器1715、ROM1720和永久存储设备1725)获取用于执行的指令和/或用于处理的数据。这种指令和数据可以通过总线1705传递。
系统存储器1715可以是易失性读写存储器,诸如随机访问存储器(RAM)。系统存储器可以存储处理器在运行时使用的某些指令和数据。用于实现某些实施例的指令和/或数据集可以被存储在系统存储器1715、永久存储设备1725和/或只读存储器1720中。ROM 1720可以存储可以由处理器1710和/或计算机系统的其他元件使用的静态数据和指令。
永久存储设备1725可以是读写存储器设备。永久存储设备可以是非易失性存储器单元,其在计算机系统1700关机或未供电时存储指令和数据事件。计算机系统1700可以使用可移除存储设备和/或远程存储设备1760作为永久存储设备。
输入设备1730可以使得用户能够向计算机系统通信信息和/或操纵系统的各种操作。输入设备可以包括键盘、光标控制设备、音频输入设备和/或视频输入设备。输出设备1735可以包括打印机、显示器和/或音频设备。某些或所有输入和/或输出设备可以无线或光线连接到计算机系统。
其他组件1740可以执行各种其他功能。这些功能可以包括执行特定功能(例如,图形处理、声音处理等)、提供存储、与外部系统或组件对接等。
最后,如图17所示,计算机系统1700可以通过一个或多个网络接口1745耦合至一个或多个网络1750。例如,计算机系统1700可以耦合至因特网上的web浏览器,使得在计算机系统1700上执行的web浏览器可以与web服务器交互,如同用户与在web浏览器中操作的接口交互。计算机系统1700能够通过网络接口1745和网络1750访问一个或多个远程存储1760和一个或多个外部组件1765。网络接口1745可以包括一个或多个应用程序接口(API),其可以允许计算机系统1700访问远程系统和/或存储并且还可以允许远程系统和/或存储访问计算机系统1700(或其元件)。
如本申请的本说明书和任意权利要求中使用的,术语“计算机”、“服务器”、“处理器”和“存储器”都指电子设备。这些术语排除人或人群。如本申请的本说明书和任意权利要求中使用的,术语“非瞬态存储介质”被完全限制为以电子设备可读的方式存储信息的有形、物理对象。这些术语排除任何无线或其他短暂信号。
本领域技术人员应当理解计算机系统1700的任何或所有组件可以与本发明结合使用。此外,本领域技术人员应当理解许多其他系统配置还可以与本发明或本发明的组件结合使用。
另外,虽然所示示例可以将许多单独模块图示为分离元件,但是本领域技术人员应当理解这些模块可以被组合成单个功能块或元件。本领域技术人员还应当理解单个模块可以被划分成多个模块。
当然应当理解,前述部分与本发明的示例实施例的图示细节有关并且可以进行修改而不脱离由以下权利要求书定义的原理和范围。

Claims (23)

1.一种管理投影应用的应用管理系统,该系统包括:
目标设备;
主机设备,该主机设备:
建立主机设备和目标设备之间的通信信道;
至少部分地基于目标设备检索应用列表;以及
将一个或多个应用从应用列表投影到目标设备。
2.根据权利要求1所述的应用管理系统,其中,所述应用列表包括至少一个本机应用。
3.根据权利要求1所述的应用管理系统,其中,所述应用列表包括至少一个超文本标记语言(HTML)应用。
4.根据权利要求3所述的应用管理系统,其中,所述HTML应用与应用包中的所有资源文件组合,所述应用包被下载到主机并在主机处执行。
5.根据权利要求1所述的应用管理系统,其中,所述主机设备从所述应用列表中检索与每个应用相关联的一组描述符,其中所述一组描述符至少部分地基于与所述主机设备和所述目标设备的相关性。
6.根据权利要求5所述的应用管理系统,其中,所述一组描述符包括应用平台参数,其至少部分地基于所述主机设备的属性指示应用类型。
7.根据权利要求5所述的应用管理系统,其中来自所述应用列表的至少一个应用包括与来自所述一组描述符的特定描述符相关联的适配器模块,其中所述特定描述符与特定目标平台相关联。
8.根据权利要求5所述的应用管理系统,其中来自所述应用列表的至少一个应用的功能至少部分地取决于目标设备的选择模式和能力。
9.根据权利要求5所述的应用管理系统,其中来自所述应用列表的每个应用与由所述一组描述符中的特定描述符定义的多个皮肤相关联,并且所述多个皮肤包括白天皮肤、夜间皮肤、驾驶皮肤和停止皮肤中的至少两个。
10.根据权利要求1所述的应用管理系统,还包括远程服务器,其中主机设备经由客户端应用编程接口(API)建立到远程服务器的连接。
11.根据权利要求1所述的应用管理系统,其中,所述主机设备是移动设备,并且所述目标设备包括车辆显示单元。
12.一种管理投影应用的自动方法,该方法包括:
在主机设备处建立到目标设备的通信连接;
在主机设备处检索用于投影到目标设备的可用应用的列表;以及
通过主机设备提供可用应用列表,用于从可用应用列表中选择投影应用。
13.根据权利要求12所述的自动方法,还包括在主机设备处建立到远程服务器的通信连接。
14.根据权利要求12所述的自动方法,还包括将所投影应用从主机设备投影到目标设备。
15.根据权利要求12所述的自动方法,其中所述可用应用列表包括至少一个本机应用。
16.根据权利要求12所述的自动方法,其中所述可用应用列表包括至少一个超文本标记语言(HTML)应用。
17.根据权利要求12所述的自动方法,还包括在所述主机设备处从所述可用应用列表中检索与每个应用相关联的一组描述符,其中所述一组描述符至少部分地基于与所述主机设备和所述目标设备的相关性。
18.一种管理投影应用的自动方法,该方法包括:
在服务器处建立到连接到目标设备的主机设备的通信连接;
在服务器处接收对用于投影到目标设备的可用应用列表的请求;以及
从服务器发送可用应用列表。
19.根据权利要求18所述的自动方法,其中,所述可用应用列表包括本机应用中的至少一个。
20.根据权利要求18所述的自动方法,其中,所述可用应用列表包括超文本标记语言(HTML)应用中的至少一个。
21.根据权利要求18所述的自动方法,其中来自可用应用列表的至少一个应用包括在包括至少一个超文本标记语言(HTML)文件的应用包中。
22.根据权利要求18所述的自动方法,其中,所述主机设备是移动设备,并且所述目标设备包括车辆显示单元。
23.根据权利要求18所述的自动方法,其中,所述服务器至少部分地基于所述目标设备的属性来生成所述可用应用列表。
CN201910393707.6A 2012-12-04 2013-12-03 分布式跨平台用户界面和应用投影 Pending CN110096245A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261733367P 2012-12-04 2012-12-04
US61/733,367 2012-12-04
US14/042,365 2013-09-30
US14/042,365 US10942735B2 (en) 2012-12-04 2013-09-30 Distributed cross-platform user interface and application projection
CN201380063458.5A CN104823180B (zh) 2012-12-04 2013-12-03 分布式跨平台用户界面和应用投影

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380063458.5A Division CN104823180B (zh) 2012-12-04 2013-12-03 分布式跨平台用户界面和应用投影

Publications (1)

Publication Number Publication Date
CN110096245A true CN110096245A (zh) 2019-08-06

Family

ID=50826567

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380063458.5A Active CN104823180B (zh) 2012-12-04 2013-12-03 分布式跨平台用户界面和应用投影
CN201910393707.6A Pending CN110096245A (zh) 2012-12-04 2013-12-03 分布式跨平台用户界面和应用投影

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380063458.5A Active CN104823180B (zh) 2012-12-04 2013-12-03 分布式跨平台用户界面和应用投影

Country Status (9)

Country Link
US (2) US10942735B2 (zh)
EP (1) EP2929449A4 (zh)
JP (2) JP2016511946A (zh)
KR (2) KR20200080333A (zh)
CN (2) CN104823180B (zh)
BR (1) BR112015012715A2 (zh)
CA (1) CA2892447A1 (zh)
IN (1) IN2015DN03853A (zh)
WO (1) WO2014089114A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110536075A (zh) * 2019-09-20 2019-12-03 上海掌门科技有限公司 视频生成方法和装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9306857B2 (en) * 2013-01-17 2016-04-05 Honeywell International Inc. Managing a wireless mesh network
JP6297435B2 (ja) * 2014-07-04 2018-03-20 本田技研工業株式会社 情報端末
EP3167398B1 (en) 2014-07-11 2022-08-24 HERE Global B.V. Method and apparatus for transmitting, activating, purchasing and accessing protected content and services from connected devices
CN105812813B (zh) * 2016-03-21 2019-07-12 深圳宸睿科技有限公司 一种授课视频压缩、播放方法及压缩、播放装置
US10447759B2 (en) 2016-05-27 2019-10-15 Microsoft Technology Licensing, Llc Web page accelerations for web application hosted in native mobile application
US20180063205A1 (en) * 2016-08-30 2018-03-01 Augre Mixed Reality Technologies, Llc Mixed reality collaboration
US11061668B2 (en) * 2018-08-21 2021-07-13 Xevo Inc. System and method for enabling reusable code across applications of different operating systems
US11314532B2 (en) * 2018-10-11 2022-04-26 Citrix Systems, Inc. Systems and methods for traffic optimization via system on chip of intermediary device
WO2021134069A1 (en) * 2019-12-27 2021-07-01 Abalta Technologies, Inc. Projection, control, and management of user device applications using a connected resource
CN112711459B (zh) * 2021-01-15 2022-06-28 腾讯科技(深圳)有限公司 多媒体数据处理方法、装置、设备及计算机可读存储介质
KR102603220B1 (ko) * 2021-12-01 2023-11-16 주식회사 엘지유플러스 타일 기반 멀티뷰 영상을 재생하는 방법 및 이를 위한 장치

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058040B2 (en) 2001-09-21 2006-06-06 Schmidt Dominik J Channel interference reduction
US20030218597A1 (en) * 2002-05-22 2003-11-27 Migdat Hodzic System and architecture for a wireless interactive presentation system
US20040203681A1 (en) * 2002-07-01 2004-10-14 Ross David J. Application catalog on an application server for wireless devices
US20040010622A1 (en) * 2002-07-11 2004-01-15 O'neill Thomas G. Method and system for buffering image updates in a remote application
JP2004240279A (ja) * 2003-02-07 2004-08-26 Toshiba Corp 情報処理装置および画像データ送信方法
JP2004264769A (ja) * 2003-03-04 2004-09-24 Toshiba Corp 情報処理装置およびプログラム
US7574691B2 (en) * 2003-03-17 2009-08-11 Macrovision Corporation Methods and apparatus for rendering user interfaces and display information on remote client devices
US20050071879A1 (en) * 2003-07-10 2005-03-31 University Of Florida Research Foundation, Inc. Smart space appliance control using a mobile communications device
US20050091359A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Systems and methods for projecting content from computing devices
US20050198353A1 (en) * 2004-03-05 2005-09-08 Robert Zmrzli Method and apparatus for providing dynamic network content to target devices
WO2005103881A2 (en) * 2004-04-20 2005-11-03 Shapiro Aaron M Systems and methods for improved data sharing and content transformation
US7950026B1 (en) * 2004-06-24 2011-05-24 Julian Michael Urbach Virtual application execution system and method
US7747086B1 (en) * 2005-07-28 2010-06-29 Teradici Corporation Methods and apparatus for encoding a shared drawing memory
US20060046851A1 (en) * 2004-08-24 2006-03-02 Hewlett-Packard Development Company, L.P. Remote gaming and projection
EP1871075B1 (en) 2004-12-24 2015-03-04 IZUTSU, Masahiro Mobile information communication apparatus, connection unit for mobile information communication apparatus, and external input/output unit for mobile information communication apparatus
RS50335B (sr) * 2004-12-31 2009-11-10 Miloš Cvetanović Sistem i postupak za obradu poruka i generisanje multimedijalnog sadržaja upravljan daljinski
US7606953B2 (en) * 2005-02-25 2009-10-20 Microsoft Corporation Method and system for generating context-aware content from source content associated with a computing device
US8766993B1 (en) * 2005-04-06 2014-07-01 Teradici Corporation Methods and apparatus for enabling multiple remote displays
US20060241864A1 (en) * 2005-04-22 2006-10-26 Outland Research, Llc Method and apparatus for point-and-send data transfer within an ubiquitous computing environment
US20060282855A1 (en) * 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
US20060250389A1 (en) 2005-05-09 2006-11-09 Gorelenkov Viatcheslav L Method for creating virtual reality from real three-dimensional environment
US20080201751A1 (en) * 2006-04-18 2008-08-21 Sherjil Ahmed Wireless Media Transmission Systems and Methods
US20080205389A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation Selection of transrate and transcode processes by host computer
US20080295110A1 (en) * 2007-05-23 2008-11-27 Fabrizio Muscarella Framework for Startup of Local Instance of Remote Application
WO2008156785A2 (en) * 2007-06-18 2008-12-24 Pano Logic, Inc. Remote graphics rendering across a network
US8085743B2 (en) * 2007-07-20 2011-12-27 Broadcom Corporation Method and system for enabling rendering of electronic media content via a secure ad hoc network configuration utilizing a handheld wireless communication device
US20090228862A1 (en) * 2008-03-04 2009-09-10 Anders Bertelrud Modularized integrated software development environments
US8862548B2 (en) * 2008-03-04 2014-10-14 Apple Inc. File system cloning between a target device and a host device
JP2009260818A (ja) 2008-04-18 2009-11-05 Nec Corp サーバ装置とコンテンツ配信方法とプログラム
JP2011530137A (ja) * 2008-08-04 2011-12-15 オパンガ ネットワークス インコーポレイテッド ローカルエリアネットワークにおける装置に依存する配信
WO2010062617A1 (en) * 2008-10-27 2010-06-03 Social Gaming Network Apparatuses, methods and systems for an interactive proximity display tether
US20120319927A1 (en) * 2008-12-02 2012-12-20 Nvidia Corporation Remote management of a simultaneous display of multimedia content in display devices
US8594467B2 (en) * 2008-12-19 2013-11-26 Microsoft Corporation Interactive virtual display system for ubiquitous devices
US9258402B2 (en) 2009-04-14 2016-02-09 Qualcomm Incorporated System and method for controlling mobile devices
US8392596B2 (en) * 2009-05-26 2013-03-05 Red Hat Israel, Ltd. Methods for detecting and handling video and video-like content in remote display system
US20110010629A1 (en) * 2009-07-09 2011-01-13 Ibm Corporation Selectively distributing updates of changing images to client devices
US20110093805A1 (en) * 2009-10-20 2011-04-21 Johan Hampus Ekhager Digital canvas system
US20110131520A1 (en) * 2009-12-02 2011-06-02 Osama Al-Shaykh System and method for transferring media content from a mobile device to a home network
JP2011176591A (ja) 2010-02-24 2011-09-08 Nec Corp 携帯端末を用いた無線通信システム
US8502836B2 (en) * 2010-02-26 2013-08-06 Research In Motion Limited Unified visual presenter
US20110239142A1 (en) * 2010-03-25 2011-09-29 Nokia Corporation Method and apparatus for providing content over multiple displays
US8342696B2 (en) * 2010-03-26 2013-01-01 Seiko Epson Corporation System and method for displaying remote content through multiple projectors
US20110271195A1 (en) 2010-04-30 2011-11-03 Nokia Corporation Method and apparatus for allocating content components to different hardward interfaces
US9183560B2 (en) 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US8839112B2 (en) * 2010-08-10 2014-09-16 Microsoft Corporation Cloning or extending a computer desktop on a wireless display surface
WO2012020865A1 (ko) 2010-08-13 2012-02-16 엘지전자 주식회사 이동단말기, 디스플레이 장치 및 그 제어 방법
JP5073032B2 (ja) 2010-09-27 2012-11-14 株式会社東芝 情報出力装置、情報処理システムおよび情報処理方法
WO2012044546A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Auto-waking of a suspended os in a dockable system
US8713474B2 (en) * 2010-10-05 2014-04-29 Citrix Systems, Inc. Providing user interfaces and window previews for hosted applications
WO2012048007A2 (en) * 2010-10-05 2012-04-12 Citrix Systems, Inc. Touch support for remoted applications
US8799357B2 (en) * 2010-11-08 2014-08-05 Sony Corporation Methods and systems for use in providing a remote user interface
US8589800B2 (en) * 2010-12-10 2013-11-19 Wyse Technology Inc. Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server
US9451319B2 (en) * 2010-12-17 2016-09-20 Microsoft Technology Licensing, Llc Streaming digital content with flexible remote playback
US8369893B2 (en) 2010-12-31 2013-02-05 Motorola Mobility Llc Method and system for adapting mobile device to accommodate external display
US9424018B2 (en) * 2011-03-21 2016-08-23 Microsoft Technology Licensing, Llc Filtering and promoting application store applications
US9256393B2 (en) * 2011-12-21 2016-02-09 Seiko Epson Corporation Method for remote desktop control by remote host input devices
US9210212B2 (en) * 2011-12-21 2015-12-08 Seiko Epson Corporation Method for host preview during a remote desktop session
US9454617B1 (en) * 2011-12-30 2016-09-27 hopTo Inc. Client rendering
US20140040767A1 (en) * 2012-08-03 2014-02-06 Oracle International Corporation Shared digital whiteboard
US9590753B2 (en) * 2012-09-28 2017-03-07 Sony Corporation Method and apparatus for multiple media output
US20140108585A1 (en) * 2012-10-15 2014-04-17 InVisioneer, Inc. Multimedia content management system
US9173000B2 (en) * 2013-04-12 2015-10-27 Sony Corporation Automatic discovery and mirroring of server-client remote user interface (RUI) session on a companion device and synchronously controlling both sessions using RUI on companion device
US9392315B1 (en) * 2014-02-26 2016-07-12 Amazon Technologies, Inc. Remote display graphics

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110536075A (zh) * 2019-09-20 2019-12-03 上海掌门科技有限公司 视频生成方法和装置
CN110536075B (zh) * 2019-09-20 2023-02-21 上海掌门科技有限公司 视频生成方法和装置

Also Published As

Publication number Publication date
CN104823180B (zh) 2019-05-14
WO2014089114A1 (en) 2014-06-12
KR102129154B1 (ko) 2020-07-01
KR20200080333A (ko) 2020-07-06
JP2019057921A (ja) 2019-04-11
US10942735B2 (en) 2021-03-09
CN104823180A (zh) 2015-08-05
IN2015DN03853A (zh) 2015-10-02
JP2016511946A (ja) 2016-04-21
EP2929449A4 (en) 2016-07-27
BR112015012715A2 (pt) 2017-07-11
EP2929449A1 (en) 2015-10-14
CA2892447A1 (en) 2014-06-12
US20140156734A1 (en) 2014-06-05
KR20150096440A (ko) 2015-08-24
US20210200537A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
CN104823180B (zh) 分布式跨平台用户界面和应用投影
CN105763909B (zh) 用于远程设备上自适应媒体内容清理的方法、设备和介质
CN102572606B (zh) 带有灵活的远程回放的流播的数字内容
US8595186B1 (en) System and method for building and delivering mobile widgets
US8984153B2 (en) Cloud-based device interaction
KR101496875B1 (ko) 통신 장치 상에서 콘텐츠를 검색/다운로딩하기 위한 장치 및 방법들
CN108924464B (zh) 视频文件的生成方法、装置及存储介质
CN101764726B (zh) 增强的内容共享框架
CN104462570B (zh) 网页内容获取方法及装置
AU2018204893A1 (en) Mobile dialogue system and mobile content delivery solutions
JP2015515660A (ja) ゲートウェイサーバ又はサービスを介してクラウドコンピューティングサービスストレージにアクセスする複数の媒体装置
CN101150803A (zh) 微浏览器处理网络数据的方法、微浏览器及其服务器
WO2015006023A1 (en) Multi-dimensional content platform for a network
CN105472307A (zh) 视频会议控制方法和系统
CN113018868B (zh) 云游戏登录方法、装置和系统
CN109325145A (zh) 视频缩略图的获取方法、终端及计算机可读存储介质
CN102291614A (zh) 用数字电视接收终端播放多媒体文件的方法、终端及系统
KR100749845B1 (ko) 모바일 액티브 페이지 기능을 제공하는 이동 단말 및 그의무선 인터넷 서비스 제공 방법
CN103179190A (zh) 一种图片传输方法、装置和系统
US10073688B2 (en) Method and apparatus for executing application
US20120182981A1 (en) Terminal and method for synchronization
US9088631B2 (en) Game streaming system and method of supporting the multiuser and multiplatform
US20120110130A1 (en) Method and system for playing multimedia file and computer readable medium using the method
Joveski et al. Semantic multimedia remote display for mobile thin clients
CN106210867A (zh) 一种数据分享的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40011605

Country of ref document: HK