雨果巴拉:行业北极星Vision Pro过度设计不适合市场

Meta专利分享Quest系统更新后同时兼容旧版本App软件

查看引用/信息源请点击:映维网Nweon

向后兼容性

映维网Nweon 2024年03月27日)对于希望继续体验旧软件版本功能的用户而言,向后兼容性非常重要。按照惯例,应用程序会更新到当前版本,删除或替换以前版本的部分内容。另外,更新后的应用程序通常只与运行时平台的最新版本兼容,完全消除了对运行时平台以前版本支持的旧软件版本的访问。

在名为“Managing updates for an artificial reality system in cross-version and cross-platform environments”的专利申请中,Meta就介绍了一种相关的解决方案。

Meta表示,发明介绍的实现在XR系统中特别有用,因为有大量可用的体验,并且希望保持对跨平台旧体验的访问。由于应用程序和运行时更新可能很频繁,因此当其中一个更新时,用户对旧体验的访问将丢失。发明介绍的实现允许向后兼容多个版本的应用程序,无缝地改进了XR系统执行传统系统不可能执行的各种应用程序的能力。

另外,特定实现可以逐步淘汰和卸载随着时间的推移而不再使用的运行时版本,在新版本可用时释放存储空间,同时依然允许访问仍在使用的旧体验。

图4是示出了用于采用发明技术的系统中的组件400。中介420可以包括在硬件410和专用组件430之间进行资源中介的组件。例如,中介420可以包括操作系统、服务、驱动程序、BIOS、控制器电路或其他硬件或软件系统。

专用组件430可以包括配置为在跨版本和跨平台环境中执行管理人工现实系统更新操作的软件或硬件。专用组件430可包括运行时版本管理器434、XR体验管理器436、元数据检索模块438、运行时版本选择器440、XR体验加载器442,以及可用于提供用户界面、传输数据和控制专用组件的组件和API。

运行时版本管理器434可以管理存储在存储内存418中的XR运行时的多个版本。每个版本的XR运行时都可以指定一组数据包。当执行某个版本的XR运行时时,运行时版本管理器434可以动态地选择和加载执行XR体验所需的一组数据包。

XR体验管理器436可以管理来自应用程序的XR体验,例如,存储在存储内存418中或通过1/O 416从网络接收。XR体验管理器436可以在应用程序中接收XR体验请求。

元数据检索模块438可以访问与请求的XR体验相关的元数据。元数据可以在多个版本的XR运行时中指定一组与XR体验兼容的版本。在特定实现中,元数据可以由具有XR经验的开发者定义。在其他情况下,可以根据对XR体验特性的分析自动生成元数据。

运行时版本选择器440可以选择XR运行时的版本。XR体验加载器442可以通过访问为所选XR运行时版本指定的一组数据包中的脚本和资产,使用所选XR运行时版本执行应用程序,从而加载XR体验。

图5的流程图说明了用于管理跨版本和跨平台环境中XR系统更新的过程500。

在502,进程500可以存储多个版本的XR运行时。在一个实施例中,进程500可以获得XR运行时的更新版本,并安装XR运行时的更新版本,而无需卸载多个已存储的XR运行时版本。例如,更新到新版本的运行时可以包括存储该运行时的包,并指定哪些现有包和新包对应于运行时版本。

因此,进程500可以构建一个XR运行时版本库,可以在其中添加XR运行时的新版本,而不会影响以前的XR运行时版本。因此,可以保留旧版本的XR运行时,并可用于加载可能与最新版本的XR运行时不兼容的体验。

在504,进程500可以在应用程序中接收XR体验的请求。XR体验可以是这里描述的XR系统可执行的任何体验。与在特定版本的XR运行时上执行应用程序相关的数据包可以远程存储,并在请求XR体验时推送到用户设备。

在506,响应XR体验请求的进程500可以访问与XR体验相关的元数据。元数据可以在人工现实运行时的多个存储版本中指定一组与XR体验兼容的版本。

在508,进程500可以选择XR运行时的一个版本。所选的XR运行时版本不一定是XR运行时的最新版本,可以是未被较新版本替换或卸载的XR运行时的先前版本。

在510,进程500可以通过使用选定版本的人工现实运行时执行应用程序,通过访问为选定版本的XR运行时指定的数据包集中的脚本和资源来加载XR体验。

在一个实施例中,进程500可以接收来自多个计算设备的多个XR体验请求,例如用于多人XR体验。在这样的实现中,进程500可以从请求的计算设备获取指示XR运行时可用版本的数据,并从该数据确定所有计算设备可用版本中至少有一个重叠版本。

图7A是选择运行时的最新支持版本的示例性概念图。

XR设备752可以请求XR体验710。XR体验710可以与元数据712相关联,元数据712可以识别一组与XR体验710兼容的运行时版本。在本例中,运行时版本范围在1.0.1到1.1.2之间。运行时版本选择器740可以获得元数据712并访问多版本运行时库704。

多版本运行时库704可以包括多个运行时版本708A-708F。在本例中,运行时版本选择器740可以选择多版本运行时库704中可用且与XR体验710兼容的最新运行时版本,本例为runtime_version_1.1.2 708E。运行时版本选择器740可以进一步为XR体验710提供runtime_version_1.1.2 708E,以便在XR设备752加载XR体验710。

图7B说明了选择运行时的最新版本的示例性系统700B,所述运行时版本向后兼容XR体验的运行时的支持版本。

在某些情况下,可能希望使用可用的较新运行时版本来加载XR体验710,即便XR体验710可能与该运行时版本不显式兼容。但是,如果较新的运行时版本向后兼容与XR体验710兼容的运行时集合中的某个运行时版本,则系统700B仍然可以使用较新的运行时版本加载XR体验710,而不会出现兼容性问题。

系统700B可以包括XR设备752、运行时版本选择器740和多版本运行时库704。运行时版本选择器740可以类似于图4中的运行时版本选择器440。XR设备752可以请求XR体验710。在本例中,运行时版本范围在1.0.1到1.1.2之间。运行时版本选择器740可以接收元数据712并访问多版本运行时库704。

多版本运行时库704可以包括多个运行时版本708A-708F。在本例中,运行时版本选择器740可以选择与XR体验710向后兼容的多版本运行时库704中可用的最新版本的运行时。在这种情况下,运行untime_version_1.1.3 708F(它与运行时版本1.1.0到1.1.2向后兼容),并提供运行untime_version_1.1.3 708F到XR体验710,以便在XR设备752加载XR体验710。

图8说明了选择运行时的最新支持重叠版本的示例性系统800。系统800可以接收来自多个计算设备的多个XR体验请求,例如用于多人XR体验。在这样的实现中,系统800可以从请求的计算设备获取指示XR运行时可用版本的数据,并从数据确定所有计算设备可用版本中至少有一个重叠版本。然后,系统800可以选择XR运行时的一个版本。

XR体验810与元数据812相关联。元数据812可以指定计算设备802A-B希望加载的体验,以及与该体验兼容的运行时集。运行时版本选择器840可以获得元数据812以及计算设备802A和计算设备802B可用的运行时集。

运行时版本选择器840可以类似于图4中的运行时版本选择器440。运行时版本选择器840可以选择计算设备802A和802B可用的最新运行时版本。在这种情况下,运行时版本选择器840可以选择runtime_version_1.0.3。运行时版本选择器840可以在计算设备802A和计算设备802B调用runtime_version_1.0.3来加载XR体验810。

图9的概念图说明了选择和推送运行时的最新支持版本的示例性系统900。在多人XR体验中,同时考虑到一个或多个请求计算设备可能没有与XR体验兼容的XR运行时版本,并且/或者两个或更多请求计算设备可能没有任何重叠的版本。例如在这样的实现中,系统900可以选择与XR体验兼容的XR运行时的最新版本,并将所选版本推送到没有存储该版本的计算设备。

系统900包括计算设备902A和计算设备902B,它们分别与两个试图加载XR体验910的用户相关联。可以设想,加载XR体验910所需的组件可以本地存储在计算设备902A-B,也可以通过网络存储在服务上,或者一些组件可以本地存储而其他组件存储在服务器。系统900包括运行时版本选择器940,其可类似于图4中的运行时版本选择器440。

计算设备902A和计算设备902B可以具有本地安装的多个运行时版本。具体来说,计算设备902A可以访问runtime_version_1.0.1、runtime_version_1.0.2和runtime_version_1.0.3。计算设备902B可以访问“runtime_version_1.0.2”、“runtime_version_1.0.3”和“runtime_version_1.0.4”。

XR体验910与元数据912相关联。元数据912可以指定计算设备802A-B希望加载的体验,以及与该体验兼容的运行时集。运行时版本选择器940可以获得元数据912以及计算设备902A和计算设备902B可用的运行时版本集。

在这种情况下,计算设备902A和计算设备902B没有任何重叠的运行时。因此,运行时版本选择器940可以选择在计算设备902A和计算设备902B中的至少一个可用的与XR体验810兼容的运行时的最新版本。在本例中,运行untime_version_1.0.4。

运行时版本选择器940可以访问多版本运行时库904获取runtime_version_1.0.4,并将runtime_version_1.0.4推送到计算设备902A,以便计算设备902A加载XR体验910。运行时版本选择器940可以在计算设备902B上调用runtime_version_1.0.4,以便在计算设备902B上加载XR体验910。

相关专利Meta Patent | Managing updates for an artificial reality system in cross-version and cross-platform environments

名为“Managing updates for an artificial reality system in cross-version and cross-platform environments”的Meta专利申请最初在2022年8月提交,并在日前由美国专利商标局公布。

本文链接https://news.nweon.com/119346
转载须知:转载摘编需注明来源映维网并保留本文链接
素材版权:除额外说明,文章所用图片、视频均来自文章关联个人、企业实体等提供
QQ交流群苹果Vision  |  Meta Quest  |  微软HoloLens  |  AR/VR开发者  |  映维粉丝读者

您可能还喜欢...

资讯