多平台移动装置和其它计算装置以及方法_2

文档序号:9672520阅读:来源:国知局
的又一些另外的相关方面提供例如如上所述的计算装置,其中由寄载窗口子系统加载的一个或多个缓冲器是虚拟帧缓冲器。
[0059]根据本发明的另外的相关方面,10代理(关于其的触摸或其它输入数据从例如如上所述的计算装置的用户输入装置被接收到)通过检查代表该应用的图形窗口是否在虚拟前景中和/或在前述一个或多个缓冲器中是活动的来确定相应的寄载软件应用是否在一个或多个寄载运行时间环境中是活动的。
[0060]根据本发明的又一些另外的相关方面,10代理(关于其的触摸或其它输入数据从例如如上所述的计算装置的用户输入装置被接收到)在被带到前景和/或变成活动的时执行一个或多个等待,直到确定相应的寄载软件应用在一个或多个寄载运行时间环境中是活动的为止。
[0061]本发明的又一些其它方面提供例如如上所述的计算装置,其中结合用于在一个或多个寄载运行时间环境下执行的相应的寄载软件应用的安装,第一本机软件应用安装所述10代理用于在一个或多个本机运行时间环境下执行。
[0062]本发明的相关方面提供例如如上所述的计算装置,即移动计算装置,例如作为非限制性的例子,智能电话、平板计算机、机顶盒、所连接的电视机、车辆内信息娱乐系统或飞机上的娱乐系统。
[0063]本发明的另外的相关方面提供例如如上所述的计算装置,其中寄载操作系统是基于Linux的操作系统,例如作为非限制性的例子,基于Android的操作系统。在本发明的又一些另外的相关方面中,寄载和本机操作系统是基于Linux的操作系统的不同变体。以及在本发明的又一些另外的相关方面中,寄载和本机操作系统是基于Android的操作系统的不同变体。
[0064]在多操作系统移动装置和其它计算装置中的寄载应用的通知和回复改写
[0065]本发明的另外的方面提供计算装置,其支持在多个操作系统下的应用的执行并为在那些操作系统中的非本机操作系统上执行的应用改写用户通知和回复。
[0066]根据本发明的这些方面,提供了例如上面描述的类型的计算装置,其包括耦合到硬件接口(至少包括显示器和相关联的视频帧缓冲器)并执行包括一个或多个本机运行时间环境的本机操作系统的中央处理单元,本机软件应用在本机运行时间环境内执行,其中每个这样的本机软件应用具有用于在本机操作系统下执行的指令。在一个或多个本机运行时间环境内执行的第一本机软件应用(“ACL”)定义一个或多个寄载运行时间环境,寄载软件应用在寄载运行时间环境内执行。每个这样的寄载软件应用具有用于在不同于本机操作系统的寄载操作系统下执行的指令。
[0067]—个或多个本机运行时间环境包括与本机软件应用通信耦合并整理由它们产生的通知用于经由硬件接口向用户呈现的公共本机通知子系统。
[0068]—个或多个寄载运行时间环境包括与寄载软件应用通信耦合并整理由它们产生的通知用于经由硬件接口向用户呈现的公共寄载通知子系统。寄载通知子系统包括用于在寄载操作系统下执行的指令并在一个或多个寄载运行时间环境内在中央处理单元上执行。本机通知子系统包括用于在本机操作系统下执行的指令并在一个或多个本机运行时间环境内在中央处理单元上执行。
[0069]多个寄载通知子系统(每个包括用于在寄载操作系统下执行的指令)在一个或多个寄载运行时间环境内在中央处理单元上执行。那些应用中的一个或多个产生用于呈现给装置的用户的通知并将那些通知传输到寄载通知子系统,寄载通知子系统与改写从一个或多个寄载软件应用接收的通知的改写层通信耦合并将它们传输到本机寄载通知子系统,该本机寄载通知子系统将来自寄载软件应用的通知呈现在硬件接口上。
[0070]本发明的相关方面提供例如如上所述的计算装置,其中改写层包括寄载部件和本机部件,寄载部件包括用于在寄载操作系统下执行的指令并在一个或多个寄载运行时间环境内在中央处理单元上执行,而本机部件包括用于在本机操作系统下执行的指令并在一个或多个本机运行时间环境内在中央处理单元上执行。
[0071]本发明的另外的相关方面提供例如如上所述的计算装置,其中改写层的寄载部件经由第一进程间通信(IPC)协议与在一个或多个寄载运行时间环境内执行的寄载软件应用通信,且其中改写层的本机部件经由第二 IPC协议与在一个或多个本机运行时间环境内执行的本机软件应用通信。
[0072]本发明的另外的相关方面提供例如如上所述的计算装置,其中多个寄载软件应用中的第一寄载软件应用和第一本机软件应用一起实现代表第一寄载软件应用的执行的图形窗口在计算装置的显示器上的呈现。本机操作系统和一个或多个本机运行时间环境中的至少一个将代表本机软件应用的执行的图形窗口带到显示器的前景,(i)本机软件应用产生用于由本机通知子系统呈现的通知,以及(i i)用户对通知做出响应,从而使本机软件应用在一个或多个本机运行时间环境内变成“活动的”。根据本发明的这些方面,第一本机软件应用例如在被带到前景和/或变成活动的时实现在一个或多个寄载运行时间环境内使第一寄载软件应用变成活动的,好像它被带到它们中的前景一样。
[0073]根据本发明的另外的相关方面,例如如上所述的计算装置包括在寄载运行时间执行环境内执行的事件处理机,且第一寄载应用与事件处理机通信耦合。第一本机软件应用通过将相应的触摸或其它输入数据传输到事件处理机而对来自输入装置的触摸或其它用户输入做出响应,事件处理机向第一寄载应用通知该触摸或其它输入数据,例如从而使它在一个或多个寄载运行时间环境内变成活动的。
[0074]本发明的另外的相关方面提供例如如上所述的计算装置,其中转换层通过将从一个或多个寄载软件应用接收的通知转换成由一个或多个本机运行时间环境经由用户界面可呈现的格式来改写通知。本发明的相关方面提供这样的装置,其中转换层通过将从一个或多个寄载软件应用接收的通知转换成由一个或多个本机运行时间环境经由显示器可呈现的格式来改写通知。
[0075]本发明的又一些其它方面提供例如如上所述的计算装置,其中转换层通过将通知的参数映射到一个或多个本机运行时间环境的相应参数来改写从一个或多个寄载软件应用接收的通知。
[0076]本发明的又一些其它方面提供例如如上所述的计算装置,其中转换层通过向第一本机软件应用登记消息并将包括对所登记的消息的引用而不是消息本身的通知发送到本机通知子系统来基于用户与通知的交互改写从一个或多个寄载软件应用接收的包括要传送的消息的通知。
[0077]本发明的相关方面提供例如如上所述的计算装置,其中第一本机软件应用通过实现将包括所引用的已登记消息的回复消息传送到第一寄载软件应用而对从本机通知子系统接收到包括这样的前述引用的返回消息做出响应。
【附图说明】
[0078]通过参考附图可得到对本发明的更彻底理解,其中:
[0079]图1A、1B和1C描绘体现本发明的类型的计算装置;
[0080]图2描绘在图1的装置中执行的类型的本机操作系统;
[0081]图3描绘由本机软件应用定义的一个或多个寄载运行时间环境,用于在图1的装置中执行寄载软件应用;
[0082]图4描绘在基于用户与在本机运行时间环境中执行的示例性寄载软件应用的启动代理的交互来启动该寄载软件应用、经由该寄载软件应用的10代理显示代表该寄载软件应用的操作的应用窗口并将用户输入从该代理传输回到寄载应用时部件的交互。
[0083]图5是示出根据本发明的实施方式的在寄载应用运行时间环境和本机应用运行时间环境中的任务操作以及在寄载应用任务和代理任务之间的一对一对应性的框图;
[0084]图6是示出根据图8的任务切换方法的在本机应用运行时间环境中的代理任务和寄载应用运行时间环境的复杂任务模型和虚拟帧缓冲器之间的关系的框图;
[0085]图7是示出根据本发明的实施方式的发生在图5的装置的寄载应用运行时间环境和本机应用运行时间环境中的任务切换方法的流程图;
[0086]图8描绘在根据本发明的系统中的寄载运行时间环境和本机运行时间环境的通知子系统的交互;
[0087]图9描绘在根据本发明的系统中的通知转换功能;以及
[0088]图10、11和12是描绘在根据本发明的系统中的通知转换的流程图。
【具体实施方式】
[0089]体系结构
[0090]图1A描绘了体现本发明的类型的计算装置10。所示装置10包括在市场中商售的类型的通常提供的计算装置的类型的中央处理单元(CPU)、输入/输出(I/O)、存储器(RAM)和非易失性存储(MEM)子部分,其所有都根据本文中的教导而相适应。在所示实施方式中,装置10包括移动计算装置,例如智能电话或平板计算机,然而在其它实施方式中,它可包括其它计算装置,其可以是移动的或非移动的,例如机顶盒、所连接的电视机、车辆内信息娱乐系统或飞机上的娱乐系统,仅举几个例子。
[0091]装置10可以用本领域中已知的传统方式(根据本文中的教导而相适应)永久地、间歇地或以其他方式连接到一个或多个其它计算装置、服务器或能够通过在此由“云”12描绘的网络进行数字通信(未示出)的其它设备,该网络可包括互联网、城域网、广域网、局域网、卫星网络、蜂窝、点对点网络和/或前述网络的一个或多个的组合。
[0092]装置10的CPU (例如结合1/0、RAM和/或MEM子部分)执行在市场上商售的类型的本机操作系统14,其根据本文中的教导而相适应。这样的操作系统的例子包括Meego、Tizen、Android、WebOS和Linux操作系统,仅举几个例子。更一般地和/或此外,本机操作系统14可以是基于Linux的操作系统,例如作为非限制性的例子,基于Android的操作系统。
[0093]本机运行时间环境
[0094]图2描绘在图1的所示装置10上执行的类型的本机操作系统14。
[0095]参考该附图,本机操作系统14定义本领域中已知的类型的一个或多个本机运行时间环境16 (其根据本文中的教导而相适应),在该本机运行时间环境16内执行本领域中已知的类型的本机软件应用(其根据本文中的教导而相适应)一一即具有用于在本机操作系统下执行的指令的应用。这样的应用在附图中被标记为15、18和46-52。如在这里和本文的其它地方使用的,术语“应用”和“app”可互换地被使用。
[0096]根据本机操作系统14及其在装置10上的实现的细节,本机运行时间环境16可包括一个或多个虚拟机或采取其他方式,如在本领域中惯用的(其根据本文中的教导而相适应)。所示的本机运行时间环境16包括一一作为非限制性的例子一一应用资源18和运行时间库20,都是本领域中已知的类型,其根据本文中的教导而相适应。该运行时间环境16还包括本领域中已知的类型的内核24,其根据本文中的教导而相适应。
[0097]内核24 (或在可选实施方式的运行时间环境中提供的可选功能)以本领域中已知的常规方式尤其用作在CPU 12 (和更典型地,在其上执行的本机运行时间环境16内执行的本机应用)和与装置10成一整体或附接到装置10的硬件装置24-30之间的接口,其根据本文中的教导而相适应。这包括显示器/触摸屏24和以本领域中已知的常规方式驱动其上的显示器的帧缓冲器26,其根据本文中的教导而相适应。这还可包括键盘、轨迹球、触摸棒、其它用户输入装置和/或本领域中已知的类型的其它集成或外围装置,其作为非限制性的例子。在接下来的讨论中,显示器/触摸屏24、帧缓冲器26和支持在装置10和它的用户之间的交互的其它集成或外围装置被称为“硬件接口”,而不考虑它们是否包括硬件、软件或其组合(更一般地是这种情况)。
[0098]在一个或多个本机运行时间环境16内执行的在这里被称为一一没有限制的意图一一 “应用控制层”或“ACL”的本机软件应用18定义一个或多个寄载运行时间环境,其中,寄载软件应用在该寄载运行时间环境内执行。每个这样的寄载软件应用具有用于在不同于本机操作系统的寄载操作系统下执行的指令。
[0099]本机软件应用46-52是寄载软件应用34、36的代理,其给它们(寄载软件应用)提供对本机操作系统14和本机运行时间环境16的资源以及装置10的硬件资源的访问。
[0100]特别地,在所示实施方式中,在寄载运行时间环境32中执行的每个寄载软件应用具有在本机运行时间环境16中执行的两个相应代理:启动代理和10代理。在这里,寄载软件应用34的代理是启动代理46和10代理50。寄载软件应用36的代理是启动代理48和10代理52。虽然启动和10代理在所示实施方式中都被使用,但在其它实施方式中,寄载软件应用可具有只有一种类型(例如10或启动)的相应代理或其它情况。例如,在其它实施方式中,可为每个寄载应用提供更多的代理,且然而在又一些其它实施方式中,多个这样的代理的功能可组合到单个代理中一一所有这些都不偏离其精神。
[0101]寄载运行时间环境
[0102]寄载操作系统可以是例如基于Linux的操作系统,例如作为非限制性的例子,基于Android的操作系统。本机操作系统14可同样是例如基于Linux和/或基于Android的操作系统,虽然具有与寄载操作系统的“风味(flavor)”不同的“风味”。作为本机操作系统14包括前面提到的Tizen、WebOS、Linux操作系统之一(其根据本文中的教导而相适应)的更具体的例子,作为非限制性的例子,寄载操作系统可包括商业上可获得的Android操作系统的“风味”(其根据本文中的教导而相适应),再次作为非限制性的例子。
[0103]图3描绘根据本发明的由用于执行装置10中的寄载软件应用34、36的本机软件应用18(或ACL)定义的一个或多个寄载运行时间环境32。所示寄载运行时间环境32具有本领域中已知的类型(其根据本文中的教导而相适应),具有用于在寄载操作系统下执行的指令的软件应用(即寄载软件应用)在寄载运行时间环境32内被构建并预期被执行。
[0104]根据寄载操作系统的类型及其在运行时间环境32内的实现细节,寄载运行时间环境32可包括一个或多个虚拟机或采取其他方式,如在本领域中惯用的(其根据本文中的教导而相适应)。所示的寄载运行时间环境32预期用于执行基于Android的软件应用34、36 (虽然其它实施方式预期用于执行为其它操作系统设计和构建的应用),且包括一一作为非限制性的例子一一资源框架38、虚拟机(VM) 40、事件处理机42和运行时间库44,这些都作为非限制性的例子且都具有本领域中已知的类型,其根据本文中的教导而相适应。
[0105]所示的运行时间环境32在运行本领域中已知类型的被保护内核空间中的操作的意义上不包括内核本身(如可能通常被包括在例如基于Linux/An droid的操作系统的运行时间环境中的内核)。相反,一些这样的操作(例如可能通常被包括在例如基于Linux/Android的操作系统的内核中的操作)在用户空间中被执行。
[0106]作为例子,那些内核空间操作被资源框架38、虚拟机(VM)40、事件处理机42、运行时间库44和/或运行时间环境32的其它部件依赖来将图形加载到框架缓冲器用于呈现在显示器上。不是在寄载运行时间环境32的内核中执行,在所示实施方式中,那些操作被提升到用户空间并用来将这样的图形加载到“虚拟”框架缓冲器54,其(如下面讨论的)被本机运行时间环境16和在那里执行的应用(特别是1/0代理应用50、52)共享。
[0107]通过将操作以及更为广泛的寄载软件应用34、36的执行所需的功能转移到本机操作系统14及其运行时间环境16,避免了其它这样的内核-空间操作的执行,上述寄载软件应用34、36否则将在运行时间环境32内且具体地例如由其内核执行。
[0108]例如由资源框架34、虚拟机(VM) 36、事件处理机42、运行时间库44和/或运行时间环境32的其它部件来实现在所示实施方式中的这样的转移。该资源框架34、虚拟机(VM) 36、事件处理机42、运行时间库44和/或运行时间环境32的其它部件与寄载软件应用34、36的本机软件应用代理46-52 (在运行时间环境16中执行)通信和/或否则依赖于寄载软件应用34、36的本机软件应用代理46-52 (在运行时间环境16中执行)来执行这样的功能或其等效功能。
[0109]可以通过接下来的和在本文其它地方的讨论获得对前述内容的进一步认识。
[0110]本机和寄载软件应用安装
[0111]本机软件应用例如15和18安装(当用户指示或其它方式)在装置10上,且更具体地,用于在本机运行时间环境16内以本领域的用于在操作系统14的类型的操作系统内安装应用的常规方式执行。这样的安装一般涉及寄载操作系统14和执行对0S 14常规的类型的“安装者”应用(未示出)运行时间环境16的协作行动,且一般包括从应用包文件(例如从开发商站点或以其他方式下载的应用包文件)解包待安装的应用的可执行文件、图标文件、其它支持文件等以及再次以本领域中已知的常规方式将它们存储到装置10上的静态存储器(MEM)中的指定位置。
[0112]寄载软件应用34、36在ACL 18的控制下被安装(基于用户指示或以其它方式)用于在寄载运行时间环境32下执行。为此目的,ACL 18可利用对寄载操作系统常规的类型的安装者应用(即使被修改),以从应用包文件将待安装的应用的可执行文件、图标文件、其它支持文件等
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1