新软件可流式传输应用程序,以节省你手机上的空间!

译文
移动开发 移动应用
我们消费多媒体内容的方式已逐渐发生了变化,提供多媒体内容的技术也发生了变化。由原来的下载变成了流式传输,音频或视频文件的远程副本通过互联网实时传输,无需在设备上存储本地副本。

【51CTO.com快译】我们消费多媒体内容的方式已逐渐发生了变化,提供多媒体内容的技术也发生了变化。由原来的下载变成了流式传输,音频或视频文件的远程副本通过互联网实时传输,无需在设备上存储本地副本。

[[323482]]

但如果流式传输也适用于移动应用程序,会怎样呢?这就是AppStreamer背后的想法,这款新程序旨在通过预测性流式传输降低应用程序的存储需求。该软件由泰国宋卡王子大学、美国普渡大学、伊利诺伊大学厄巴纳尚佩恩分校、AT&T实验室研究和乔治亚理工学院的一群研究人员共同开发而成,得到了AT&T和美国国家科学基金会的支持。

领导这项研究的普渡大学电气与计算机工程教授Saurabh Bagchi说:“我们想在设备上消费更多的内容,但是这些设备不像我们希望的那样有丰富资源。而且世界上有些地方买不起最新的智能手机,那么如何为他们提供消费内容的能力?流式传输应用程序似乎是合理的方法。”

AppStreamer假定设备没有在本地存储所有内容的空间,因此它依赖云存储或“边缘”存储,这意味着服务器的位置比较靠近网络端点(比如电信提供商的基站)。

移动游戏之类的应用程序需要资源(比如图像、视频或声音文件)时,AppStreamer会在应用程序需要资源之前从远程存储获取该资源。因此,应用程序无需将所有资源保存在本地,从而使所需的存储空间最小化。此外,用户安装应用程序时,即使该应用程序尚未完全下载,也可以立即开始使用它。

AppStreamer在移动应用程序和设备操作系统之间的那一层工作,不需要更改应用程序本身。Bagchi说:“实际上,我们甚至不需要移动应用程序的源代码。应用程序可以被视为二进制黑匣子,我们仅查看它与操作系统之间的交互。”

AppStreamer功能的关键部分是预测应用程序将需要哪些资源以及何时需要这些资源。为此,AppStreamer采用了机器学习,从离线训练阶段开始,以便特定的应用程序学习从一种状态转换到另一种状态的可能性。如果该特定状态跟随当前状态的可能性极大,软件才为该状态获取资源。

比如说,玩家们置身于移动游戏的幻想世界时,会不断地从一个岛屿进入到另一个岛屿。 Bagchi说:“机器学习这部分能够预测这一点,它知道与下一个岛屿相对应的所有资源。它不需要为世界另一端的岛屿获取资源。只有当玩家靠近该岛屿时,它才需要获取资源。”

研究团队使用第一人称射击游戏《Dead Effect 2》和基于回合制的战术角色扮演游戏《Fire Emblem Heroes》对AppStreamer进行了测试。结果表明,AppStreamer为70%的《Dead Effect 2》玩家和88%的《Fire Emblem Heroes》玩家提供了与整个游戏存储在智能手机上时同样的游戏体验。AppStreamer还将这两款游戏的存储需求降低了85%以上。

与采用机器学习的任何应用程序一样,准确性和表示性带来了挑战。Bagchi说:“预测是项棘手的任务,[就AppStreamer而言]我们要预测应用程序的行为。拥有代表不同类型游戏玩家的足够多数据以训练机器学习模型是一个挑战,因此一旦AppStreamer部署在实际环境,它就会很准确。”

Bagchi设想,AppStreamer将不仅用于移动游戏,还将用于更广泛的应用场合。正如他所说:“内存和存储方面占用大量资源,仅使用其整体功能一小部分的任何应用都适合于AppStreamer之类的技术。”

原文标题:New Software Streams Apps to Save Space on Your Phone,作者:Rina Diane Caballar

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:未丽燕 来源: 51CTO.com
相关推荐

2022-02-24 23:56:45

Web应用程序工具

2022-10-18 16:09:58

JavaScript开发Web

2023-09-25 12:18:48

2011-11-15 10:28:37

2012-04-25 22:56:10

Android

2023-07-26 16:20:36

云原生云计算

2010-03-04 16:21:15

Android Mar

2018-12-28 14:10:57

开发工具 移动应用

2020-08-25 14:03:20

应用程序屏蔽应用程序内保护网络攻击

2011-09-05 10:27:02

Sencha Touc手机应用Android

2011-11-23 10:06:32

Azure微软移动应用

2010-11-23 08:39:41

EnyowebOS 2.0WebOS

2024-02-26 00:01:01

RedisGolang应用程序

2015-03-13 16:19:17

JavaScript原生姿态应用程序

2010-07-30 14:08:51

.NET for An

2019-11-08 10:00:09

Windows手机应用程序

2022-02-23 15:33:19

前端框架开发Web

2019-09-04 09:08:22

微软WindowsWindows 10

2013-06-26 08:52:12

2020-04-16 09:43:08

容器架构开发
点赞
收藏

51CTO技术栈公众号