用于异构多设备交互的安全用户界面分发方法与流程

文档序号:31524820发布日期:2022-09-14 13:49阅读:76来源:国知局
用于异构多设备交互的安全用户界面分发方法与流程

1.本发明涉及一种用于异构多设备交互的安全的用户界面(ui)分发方法,更具体地,涉及一种在异构平台之间分发ui的方法,该方法支持ui单元的分发,使得即使在异构平台之间,也可以实现诸如直播应用等灵活的多设备使用环境。


背景技术:

2.对于当前各种移动操作系统(os)(例如,android、ios、webos等)共存的移动环境,提出了一种将多设备用户界面(ui)分发到不同平台的方法。该方法假设主机设备和访客设备支持不同的平台。本发明的背景技术包括用于将主机设备的整个屏幕复制到访客设备的镜像技术和关于划分主机设备的屏幕并将划分的屏幕分发给访客设备的论文(异构多移动计算)。然而,这些技术仅支持整个屏幕或将屏幕分成n等份。因此,这些技术仅用于将现有的单设备使用环境移动到更大的屏幕,并且不能适当地支持多设备的灵活使用。


技术实现要素:

3.本发明旨在提供一种移动操作系统(os)安全技术,其通过支持ui单元的分发,即使在异构平台之间也能够实现诸如直播应用等灵活的多设备使用环境,并且通过考虑和预防多设备环境的安全风险因素确保安全的多面共用。
4.根据本发明的一个方面,提供了一种由计算机实现的在执行第一智能设备(下文中称为“主机设备”)的特定应用程序时通过用作主机设备的平台的程序(下文中称为“主机平台”)的操作将ui分发至第二智能设备(下文中称为“访客设备”)的方法,所述第二智能设备使用与主机平台不同的平台(下文中称为“访客平台”),该方法包括:(a)接收待发送至所述访客设备的ui的选择,(b)渲染所选的ui,以及(c)将渲染的ui的像素数据发送至所述访客设备。
5.在操作(b)之前,所述方法还可以包括:(b01)从所述访客设备接收所述访客设备的屏幕分辨率信息,并且操作(b)可以包括根据所述接收的分辨率信息执行渲染。
6.在操作(c)之后,所述方法还可以包括:(d1)从所述访客设备接收用户通过ui输入的数据和对应的ui信息;(d2)根据ui信息找到ui对象,并且调用该ui对象的输入事件处理器;(d3)根据所述分辨率信息渲染调用时进行的ui更新的ui更新帧;以及(d4)将所渲染的ui更新帧发送至所述访客设备。
7.所述操作(d3)可以包括:当在所述ui更新期间产生ui更新动画时,根据所述分辨率信息渲染ui更新动画的每一帧,并且所述操作(d4)可以包括将述渲染的ui更新动画的每一帧发送至所述访客设备。
8.所述方法可以包括,当渲染了ui更新动画的每一帧并且当前渲染的帧与之前发送的帧类似时,仅发送哈希键值而不发送帧数据。
9.根据本发明的另一方面,提供了一种由计算机实现的在执行第一智能设备(下文中称为“主机设备”)的特定应用程序时通过用作第二智能设备(下文中称为“访客设备”)的
平台的程序(下文中,称为“客户平台”)的操作以从主机设备接收ui,并且在访客设备中执行所述ui的方法,所述方法包括:(a)从所述主机设备接收渲染ui的像素数据和(b)将所述接收的ui像素数据渲染为图像。所述访客平台是与所述主机设备的平台不同类型的平台。
10.所述方法还可以包括:在操作(a)之前,(a01)将所述访客设备的屏幕分辨率信息发送至所述主机设备,并且所述操作(a)中接收的ui像素数据可以是根据所述分辨率信息渲染的数据。
11.所述方法还可以包括,在操作(b)之后,(c1)通过从所述主机设备分发和接收的所述ui接收用户的数据输入、(c2)确定所述输入是针对哪个ui对象、(c3)将用户输入数据和关于所述ui对象的信息发送至所述主机设备、(c4)从所述主机设备接收ui更新帧、以及(c5)将接收的ui更新帧渲染为图像。
12.所述操作(c4)可以包括:当所述ui更新帧为ui更新动画的帧时,将所述ui更新动画的每一帧渲染为图像。
13.所述方法可以包括:当接收到作为哈希键值的所述ui更新动画的帧时,加载并渲染先前存储的帧中与所接收的哈希键值对应的帧。
14.根据本发明的另一方面,提供了第一智能设备(下文中称为“主机设备”),其在特定应用程序运行时执行将ui分发至第二智能设备(下文中称为“访客设备”)的功能,所述主机设备包括至少一个处理器和配置为存储计算机可执行指令的至少一个存储器。存储在所述至少一个存储器中的计算机可执行指令涉及所述至少一个处理器,所述至少一个处理器(a)接收对待发送到访客设备的ui的选择、(b)渲染所选的ui、以及(c)将渲染的ui的像素数据发送至访客设备。所述主机设备使用与所述访客设备不同类型的平台。
15.根据本发明的另一方面,提供了第二智能设备(下文中称为“访客设备”),其在执行所述主机设备的特定应用程序时从第一智能设备(下文中称为“主机设备”)接收ui,并且执行所述ui,所述访客设备包括至少一个处理器和配置为存储计算机可执行指令的至少一个存储器。存储在所述至少一个存储器中的所述计算机可执行指令涉及至少一个处理器,所述至少一个处理器(a)从所述主机设备接收渲染ui的像素数据,并且(b)将接收的ui像素数据渲染为图像。所述访客设备使用与所述主机设备不同类型的平台。
16.根据本发明的另一方面,提供了一种计算机程序(下文中称为“主机平台”),其存储在非临时性存储介质中并且在第一智能设备(下文中称为“主机设备”)上运行,当执行所述主机设备的特定应用程序时,用于向第二智能设备(下文中称为“访客设备”)分发ui,所述计算机程序包括存储在所述非临时性存储介质中并且涉及处理器的指令,所述指令(a)接收对待发送至所述访客设备的ui的选择,(b)渲染所选的ui,并且(c)将渲染的ui的像素数据发送至所述访客设备。所述主机平台是与所述访客设备的平台类型不同的平台。
17.根据本发明的另一方面,提供了一种计算机程序(下文中称为“访客平台”),其存储在非临时性存储介质中并且在第二智能设备(下文中称为“访客设备”)上运行以在运行所述主机设备的特定应用程序时,从第一智能设备(下文中称为“主机设备”)接收ui,并且在所述访客设备上运行所述ui,所述计算机程序包括存储在所述非临时性存储介质中并且涉及处理器的指令,所述指令(a)从所述主机设备接收渲染的ui的像素数据,并且(b)将接收的ui像素数据渲染为图像。所述访客平台是与所述主机设备的平台类型不同的平台。
附图说明
18.通过参照附图详细说明其示例性实施方案,本发明的上述和其他目的、特征和优点对于本领域普通技术人员将变得更加显而易见,其中:
19.图1是示出了将单个应用程序的内容(活动和用户界面(ui))分发至单个设备的多个面并且在单个设备中灵活使用所分发的内容的屏幕的示例性实施方案的图。
20.图2是示出了活动单元的多面分发和ui单元的多面分发的示意图;
21.图3是示出了ui单元的多面分发的流程图;
22.图4是示出了活动单元的多面分发的流程图;
23.图5是示出了不同平台之间多设备ui分发的示意图;
24.图6是多设备ui在不同平台之间分发的顺序图;
25.图7是通过ui进行交互的顺序图;
26.图8是用于安全活动/ui分发的信任计算技术的示意图;和
27.图9是示出了用于用户特定文件访问控制的用户域隔离技术的示意图。
具体实施方式
28.下文中,将参照附图详细说明本发明的示例性实施方案。在此之前,本说明书和权利要求中使用的术语或词语不应被解释为局限于一般或字典含义,而应该基于发明人可以适当地定义术语的概念以最好地说明他或她的发明的原则,用与本发明的技术精神一致的含义和概念进行解释。因此,这里所述的实施方案和附图所示的构造仅是本发明的最优实施方案,并且不代表本发明的全部技术精神。因此,应当理解的是,在提交本技术时,各种等同物和变形例可以替代本实施方案。
29.图1是示出了将单个应用程序的内容(活动和用户界面(ui))分发至单个设备的多个面并且在单个设备中灵活使用所分发的内容的屏幕的示例性实施方案的图。
30.图1的(a)示出了现有的单面设备的情况,并且图1的(b)是将单个应用程序的内容(活动和ui)分发至单个设备的多个面并且在单个设备中灵活使用所分发的内容的屏幕的示例性实施方案。
31.图2是示出了活动单元的多面分发和ui单元的多面分发的示意图。
[0032]-用于ui单元的多面分发的新活动管理技术
[0033]
在诸如android等具有代表性的移动操作系统(os)上,移动应用程序包括多个组件的组。这里,向用户展示的移动应用组件的最大单元称为“活动”,并且每个活动包括可以与用户交互的ui元素和与之对应的功能。通常,应用程序开发者为移动应用程序的每个功能配置一个活动,并且在通过活动之间的切换来切换移动应用程序的屏幕的同时提供内容。目前,移动操作系统的活动管理器通过单个堆栈结构管理活动之间的交互,并且在屏幕上仅输出堆栈的最上面的活动。这适用于一次仅显示一个屏幕的现有单面环境,但是以下情况存在严重的限制:在多面环境中不可能同时显示两个以上屏幕。根据本发明,通过扩展活动管理器为每个面提供单独的活动堆栈。每个堆栈被配置成树状结构,用于在面之间交互,以跟踪和管理活动之间的交互,并且移动应用程序的当前活动可以在多个面上自由使用。
[0034]-用于ui单元的多面分发的ui树管理技术
[0035]
ui是应用程序组件的最小单元。ui构成各活动的屏幕并且与用户交互。ui在活动中以树结构配置以渲染各屏幕。所提出的移动操作系统支持在不同面上分发和使用各自的ui因素,为此,需要将分发到不同面的ui因素作为单独的树进行配置和管理。新提出了ui树管理器,以克服现有单个树结构的限制,并且通过将分发到多个面的ui元素作为单独的树进行管理来适当地使用每个面。但是,当将ui元素作为单独的树进行管理时,无法与用户交互或共用生命周期,因此向应用程序提供现有树的虚拟化(虚线),如图所示。
[0036]-提供用于支持多面的编程模型和api
[0037]
提供编程模型和应用程序编程接口(api)不仅可以根据用户的需要灵活地分发和使用当前在多个面上可用的现有移动应用程序,而且还可以支持应用程序开发人员在考虑多面环境的情况下设计新的应用程序。为此,在布局/清单文件中添加了一个简单的注释,用于确定应用程序设计以支持多面的活动、ui布置等,并且提供与多面应用相关的api以允许多面的动态应用。此外,只需更改布局/清单文件,就可以进行各种布局布置。因此,第三方开发者或用户可以共用各种多面应用案例,从而促进多面范例的涌现。
[0038]
图3是示出了ui单元的多面分发的流程图。
[0039]
在一个面上运行应用程序(s301),并且在使用应用程序的同时选择待分发的ui(s302)。生成包括待分发的ui的子ui树,并且向应用程序提供诸如现有ui树等的虚拟化(s303)。在另一个面上渲染生成的子ui树(s304)。当发生用户交互时,遍历虚拟化的现有ui树,并且触发交互回调(s305)。
[0040]
图4是示出了活动单元的多面分发的流程图。
[0041]
在一个面上运行应用程序(s401)。指定在使用应用程序时用于运行待分发的活动的按钮,并且当点击该按钮时,开始活动分发(s402)。将该活动分配给另一面的堆栈,并且进行渲染(s403)。
[0042]
图5是示出了不同平台之间多设备ui分发的示意图。
[0043]
根据当前各种移动操作系统(例如,android、ios、webos等)并存的移动环境,提出了一种不同平台之间多设备ui分发方法。该方法假设主机设备和访客设备支持不同的平台。本发明的背景技术包括用于将主机设备的整个屏幕复制到访客设备的镜像技术和与划分主机设备的屏幕并将划分的屏幕分发给访客设备相关的论文(异构多移动计算)。然而,这些技术仅支持整个屏幕或将屏幕分成n等份。因此,这些技术仅用于将现有的单设备使用环境移动到更大的屏幕,并且不能适当地支持多设备的灵活使用。另一方面,本发明支持ui单元的分发,从而提供了异构平台之间的ui分发技术,使得即使在异构平台之间,也可以实现诸如直播应用等灵活的多设备使用环境。
[0044]
图6是多设备ui在不同平台之间分发的顺序图。
[0045]
异构平台之间的ui分发基本上是通过ui像素数据的分发来进行的。换言之,主机设备负责所有的渲染,而访客设备只负责在屏幕上显示渲染的像素数据。在这种情况下,考虑到设备之间的分辨率差异,根据访客设备的分辨率来渲染要分发的ui。待传输的像素数据存储在远程缓冲队列中,并且主机设备中剩余的ui的像素数据存储在本地缓冲队列中。远程缓冲队列的图形缓冲区实时地发送至访客设备。将接收的ui显示在访客设备的屏幕上的代理应用程序将接收的像素数据渲染为图像并且将图像显示给用户。
[0046]
图7是通过ui进行交互的顺序图。
[0047]
根据通过ui的交互,当用户通过访客设备向分发的ui进行输入时,访客设备确定输入是针对哪个ui对象,并且将输入数据和关于ui对象的信息发送给主机设备。主机设备根据该信息找到ui对象并且调用该ui对象的输入事件处理器。根据访客设备的分辨率,通过与ui分发相同的流程渲染此时生成的ui更新动画,并且将动画的每一帧发送给访客设备。为了尽量减少数据传输,在渲染动画的过程中,以哈希(hash)结构缓存每一帧。在当前渲染的帧与之前发送的帧相似时,仅发送哈希键(hash key)值而不发送帧数据,并且访客设备在之前存储的帧中加载并显示与接收的哈希键值对应的帧。这称为“帧缓存”。
[0048]
图8是用于安全活动/ui分发的信任计算技术的示意图。
[0049]
在共用多设备的多面的过程中,用户可以使用诸如智能电视等共用设备。这样的共用设备会被多个未指定的用户访问,因此不能保证在共用设备上运行的应用程序或移动操作系统始终可靠。为此,在以下两种一般情况下,用户的个人信息可能会因共用设备而泄露。在第一种情况下,共用设备显示分发的活动/ui。例如,用户可能将社交网络服务(sns)应用程序的照片相关窗口切换到智能电视上,以与他或她的朋友一起观看sns照片。在这种情况下,当智能电视的操作系统存在恶意时,个人照片很容易在用户不知情的情况下泄露到电视外部。在第二种情况中,共用设备的应用程序通过活动/ui分发被用户的另一个设备使用。例如,用户可能使用智能电视的sns应用程序。用户可以将登录窗口带到他们的智能手机上,以安全方便地输入登录信息。当sns应用程序在文件系统中存储了前一个用户的登录信息时,另一个用户可能通过同一个sns应用程序恶意使用该登录信息。正在研究移动操作系统安全技术,该技术通过在多设备环境中考虑和防止此类安全风险因素来确保安全的多面共用。为此,正在研究以下安全技术。
[0050]
图8示出了用于安全活动/ui分发的可信计算技术。为了保护分发到共用设备的活动/ui免受恶意操作系统的侵害,需要确保活动/ui的安全输入/输出过程。为此,本文使用具有代表性的可信执行环境arm trustzone研究了一种实用的解决方案。arm trustzone是一种硬件安全技术,用于提供与正常世界(normal world)隔离的安全世界(secure world),以防止即使具有root权限的操作系统访问在安全世界中执行的程序的数据。这里,一个重要的设计问题是安全世界包括的可信计算基(tcb)维持在尽可能小的尺寸中,因为tcb的验证需要简单。然而,相关研究包括安全世界的用于所有ui渲染的所有代码堆栈和设备驱动程序。因此,增加了tcb的大小,并且在实际中,不可能验证tcb。本研究人员提出了一种设计,用于确保活动/ui的安全输入/输出,同时最小化tcb大小。该技术的关键思想是在用于活动/ui分发而发送的数据中检测与用户信息相关的ui,仅在安全世界中单独渲染ui,并且仅在安全世界中允许用于ui的用户输入。为此,用于渲染分发的活动/ui的代理应用程序被划分为用于处理用户相关数据的私有部分和用于处理其他数据的公开部分,如图8所示,并且私有部分和公开部分分别在安全世界和正常世界中执行。因此,最小化了tcb尺寸。此外,本研究人员计划通过最小化在世界之间进行切换的次数来缓解由于切换开销而导致的性能下降。
[0051]
图9是示出了用于用户特定文件访问控制的用户域隔离技术的示意图。
[0052]
根据用于用户特定文件访问控制的用户域隔离技术,在诸如android等现有的移动操作系统中,对文件系统的访问控制基本上是基于应用标识符(uid)来进行的。换言之,即使在应用程序的实际用户不同时,应用程序也仅使用一个uid进行操作。因此,当恶意用
户使用应用程序时,存储在应用程序目录中的多个用户的数据(登录信息、支付信息等)很容易被滥用。为此,在本研究中,扩展了现有的文件访问控制机制以支持用户域隔离。由于现有的机制基本上设计为在诸如内核层、操作系统层、应用层等几个层上运行,因此为了便于技术应用和向后兼容,需要尽量减小修正范围。本研究提出了一种uid复用模型,用于扩展现有机制,同时最大限度地利用现有机制。根据该模型,首先对用户进行安全认证,并且将用户特定的个人uid和应用程序目录分配给一个应用程序,如图9所示。每个目录只能由具有相应uid的应用程序访问,并且目标应用程序的uid可以更改为实际用户的uid并且在运行期间进行操作。该模型可以在不显著修改现有的基于uid执行的访问控制方法的情况下,隔离每个用户。
[0053]
根据本发明,可以提供一种移动操作系统安全技术,通过支持ui单元的分布,即使在异构平台之间也能够实现诸如直播应用等灵活的多设备使用环境,并且通过考虑和预防多设备环境的安全风险因素确保安全的多面共用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1