基于上下文对存储器的备用部分的配置的制作方法

文档序号:11864478阅读:131来源:国知局
基于上下文对存储器的备用部分的配置的制作方法与工艺

本申请一般地涉及基于上下文对存储器的备用部分的配置。



背景技术:

计算机存储器的备用区域可能被加载了过多的数据,这可能会导致在某些情况下没有足够可用的空闲存储器,这反过来又可能使计算机性能变慢。然而,如本文中认识到的那样,仍然存在下述实例:理想的是将数据加载到一个或多个备用区域中,使得可以在稍后的时间加速对数据的访问。目前还没有适当的方法来平衡上述考虑。



技术实现要素:

因此,在一个方面中,一种装置包括:处理器、能够被处理器访问的存储器以及能够被处理器访问的存储装置。该存储装置承载能够由处理器执行的指令,该指令用于:确定与装置相关联的上下文,其中,该上下文不仅基于最近使用的数据的历史记录的内容来确定。该指令还至少部分地基于该确定来配置存储器的备用部分。

在另一方面中,一种方法包括:识别当前时间参数和装置的当前位置中的一个或多个;以及响应于该识别,基于当前时间参数和该装置的当前位置中的一个或多个来将被预测为要在该装置处使用的数据加载到该装置的随机存取存储器(RAM)中。

在又一方面中,一种设备包括:第一处理器;网络适配器;以及存储装置,该存储装置承载能够由第二处理器执行的指令,该指令用于预测要由第二处理器使用的数据。至少部分地基于下述中的一个或多个来预测该数据要被使用:第二处理器能够访问的日历信息、第二处理器能够访问的电子邮件信息以及第二处理器的至少一个使用模式,其中,第二处理器的至少一个使用模式至少部分地基于第二处理器的当前位置和一天中的当前时间中至少之一。该指令还能够被执行以用于将数据加载到第二处理器 能够访问的随机存取存储器(RAM)中。第一处理器经由网络适配器通过网络来传输所述指示。

附图说明

可以参照附图来最好地理解本原理的关于其结构和操作的细节,在附图中类似的附图标记指代类似的部分,并且其中:

图1是根据本原理的示例性系统的框图;

图2是根据本原理的装置的网络的框图;

图3和图4是示出了根据本原理的示例性算法的流程图;

图5至图7是根据本原理的可以使用的示例性数据表;以及

图8是根据本原理的示例性用户界面(UI)。

具体实施方式

本公开内容一般地涉及基于装置的信息。关于本文中讨论的任何计算机系统,系统可以包括服务器部件和客户端部件,服务器部件和客户端部件通过网络连接以使得可以在客户端部件与服务器部件之间交换数据。客户端部件可以包括一个或多个计算装置,包括电视机(例如智能电视机、可联网电视机)、计算机(例如,台式计算机、膝上型计算机和平板电脑)、所谓的可变换式装置(例如,具有平板配置和膝上型配置)以及包括智能电话的其他移动装置。作为非限制性示例,这些客户端装置可以采用苹果、谷歌或微软的操作系统。可以使用Unix操作系统或类似的操作系统例如Linux。这些操作系统能够执行一个或多个浏览器,诸如由微软或谷歌或摩斯拉(Mozilla)开发的浏览器,或者能够执行能够通过网络(诸如因特网、本地内联网或虚拟专用网)访问由因特网服务器托管的网络应用程序的其他浏览器程序。

如本文中所使用的,指令指的是用于处理系统中的信息的计算机实现的步骤。指令可以以软件、固件或硬件来实现;因此,根据它们的功能性来阐述说明性的部件、块、模块、电路和步骤。

处理器可以是任何常规的通用单芯片或多芯片处理器,其能够借助于各种线(诸如地址线、数据线和控制线)以及寄存器和移位寄存器来执行 逻辑。此外,除了通用处理器之外,本文中描述的任何逻辑块、模块和电路也能够在被设计成执行本文中描述的功能的以下装置中或由以下装置来实现或执行:数字信号处理器(DSP)、现场可编程门阵列(FPGA)或其他可编程逻辑器件,诸如专用集成电路(ASIC)、分立门或晶体管逻辑、分立硬件部件或其任意组合。处理器能够由控制器或状态机或计算装置的组合来实现。

在本文中通过流程图和/或用户界面描述的任何软件和/或应用程序可以包括各种子例程、程序等。应当理解,被公开为由例如模块执行的逻辑能够被重新分配给其他软件模块和/或在单个模块中被组合在一起和/或使得能够在可共享库中得到。

逻辑当以软件实现时能够用适合的语言(例如但不限于C#或C++)来编写,并且能够被存储在计算机可读存储介质(例如,其不可以是暂态信号)上或者通过所述计算机可读存储介质传送,例如随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、致密盘只读存储器(CD-ROM)或其他光盘存储设备(例如数字多功能盘(DVD))、磁盘存储设备或包括可拆装的拇指驱动器的其他磁存储设备等。可以建立至计算机可读介质的连接。作为示例,这样的连接可以包括硬线线缆,其包括光纤、同轴线以及双绞线。这样的连接可以包括包含红外线和无线电的无线通信连接。

在一个示例中,处理器能够通过其输入线从数据存储设备(例如计算机可读存储介质)来访问信息,和/或处理器能够通过激活无线收发器以发送和接收数据来从因特网服务器无线地访问信息。数据在被接收时通常通过处理器的寄存器与天线之间的电路系统而从模拟信号被转换成数字信号,并且在被发送时从数字信号被转换成模拟信号。然后处理器通过其移位寄存器来处理数据以在输出线上输出经计算的数据,从而在装置上呈现经计算的数据。

包括在一种实施例中的部件可以以任意适当组合被用于其他实施例中。例如,本文中所描述的和/或附图中所描绘的各种部件中的任意部件都可以与其他实施例结合、互换或从其他实施例中排除。

“具有A、B和C中至少之一的系统”(同样地,“具有A、B或C中的至少之一的系统”和“具有A、B、C中的至少之一的系统”)包括只有A的系统、只有B的系统、只有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统以及/或者具有A、B和C的系统等。

“具有A、B和C中的一个或多个的系统”(同样地,“具有A、B或C中的一个或多个的系统”和“具有A、B、C中的一个或多个的系统”)包括只有A的系统、只有B的系统、只有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统以及/或者具有A、B和C的系统等。

在发明内容、具体实施方式和/或权利要求中使用术语“电路”或“电路系统”。如本领域中众所周知的,术语“电路系统”包括所有级别的可用集成,例如,从分立逻辑电路到最高级别的电路集成(例如VLSI),并且包括被编程以执行实施例的功能的可编程逻辑部件以及以指令编程以执行那些功能的通用或专用处理器。

现在具体地参照图1,其示出了信息处理系统和/或计算机系统100的示例框图。注意,在一些实施例中,系统100可以是台式计算机系统,例如Morrisville,NC(北卡罗来纳州的莫里斯维尔市)的联想(美国)股份有限公司所售的或系列的个人计算机之一,或者是工作站计算机,例如Morrisville,NC(北卡罗来纳州的莫里斯维尔市)的联想(美国)股份有限公司所售的然而,如从本文的描述中明显看出的,根据本原理的客户端装置、服务器或其他机器可以包括其他特征或包括系统100的仅一些特征。此外,系统100可以是例如游戏控制台如或

如图1所示,系统100包括所谓的芯片集110。芯片集是指被设计成一起工作的一组集成电路或芯片。芯片集通常作为单个产品被销售(例如,考虑以品牌等销售的芯片集)。

在图1的示例中,芯片集110具有特定的架构,其可以根据品牌或制造商而在一定程度上变化。芯片集110的架构包括经由例如直接管理接口或直接媒体接口(DMI)142或链路控制器144来交换信息(例如,数据、信号、命令等)的核与存储器控制组120和I/O控制器集线器150。在图1的示例中,DMI 142是芯片到芯片接口(有时称为“北桥”与“南桥”之间的链路)。

核与存储器控制组120包括经由前端总线(FSB)124来交换信息的一个或多个处理器122(例如,单核或多核等)和存储器控制器集线器126。如本文中所描述的,核与存储器控制组120的各种部件可以被集成到例如单个处理器裸片上以制造代替传统的“北桥”类型架构的芯片。

存储器控制器集线器126与存储器140接口。例如,存储器控制器集线器126可以提供对DDR SDRAM存储器(例如,DDR、DDR2、DDR3等)的支持。一般而言,存储器140是一种随机存取存储器(RAM)。其通常称为“系统存储器”。

存储器控制器集线器126还包括低压差分信号接口(LVDS)132。LVDS 132可以是用于支持显示装置192(例如,CRT、平板、投影仪、可触控显示器等)的所谓的LVDS显示接口(LDI)。块138包括可以经由LVDS接口132来支持的技术的一些示例(例如,串行数字视频、HDMI/DVI、显示端口)。存储器控制器集线器126还包括例如用于支持独立显卡136的一个或多个PCI-Express接口(PCI-E)134。利用PCI-E接口的独立显卡已成为用于加速图形端口(AGP)的替代方式。例如,存储器控制器集线器126可以包括用于外部的基于PCI-E的显卡(包括例如一个或多个GPU)的16路(x16)PCI-E端口。示例性系统可以包括用于支持图形的AGP或PCI-E。

I/O集线器控制器150包括各种接口。图1的示例包括SATA接口151、一个或多个PCI-E接口152(可选地,一个或多个传统的PCI接口)、一个或多个USB接口153、LAN接口154(更一般地,用于在处理器122的指导下通过至少一个网络(例如因特网、WAN、LAN等)进行通信的网络接口)、通用I/O接口(GPIO)155、低引脚数(LPC)接口170、电源管理接口161、时钟发生器接口162、音频接口163(例如,用于扬声器194以输出音频)、总运行成本(TCO)接口164、系统管理总线接口(例如,多主机串行计算机总线接口)165以及在图1的示例中包括BIOS 168和引导代码190的串行外围闪存/控制器接口(SPI闪存)166。关于网络连接,I/O集线器控制器150可以包括与PCI-E接口端口多路复用的集成吉比特以太网控制器线。其他网络特征可以独立于PCI-E接口而进行操作。

I/O集线器控制器150的接口提供用于与各种装置、网络等的通信。例如,SATA接口151提供用于在一个或多个驱动器180(如HDD、SDD或其组合)上读取信息、写入信息或者读取和写入信息,但在任何情况下,驱动器180被理解成为例如不可以是暂态信号的有形计算机可读存储介质。I/O集线器控制器150还可以包括支持一个或多个驱动器180的高级主机控制器接口(AHCI)。PCI-E接口152允许与装置、网络等的无线连接182。USB接口153被提供用于输入装置184,诸如键盘(KB)、鼠标 以及各种其他装置(例如,相机、电话、存储设备、媒体播放器等)。

在图1的示例中,LPC接口170提供用于一个或多个ASIC 171、可信平台模块(TPM)172、超级I/O 173、固件集线器174、BIOS支持175以及各种类型的存储器176(例如ROM 177、闪存178和非易失性RAM(NVRAM)179)的使用。关于TPM 172,该模块可以是能够被用于认证软件和硬件装置的芯片的形式。例如,TPM可以具有执行平台认证的能力并且可以被用来验证寻求访问的系统是所期望的系统。

系统100在接通电源时可以被配置成:执行存储在SPI闪存166中的用于BIOS 168的引导代码190,并且此后在一个或多个操作系统和应用程序软件(例如,存储在系统存储器140中的)的控制下处理数据。操作系统可以被存储在各个位置中的任何位置中并且例如根据BIOS 168的指令而被访问。

系统100还可以包括GPS收发器199,该GPS收发器199被配置成从至少一个卫星接收地理位置信息并且将该信息提供给处理器122。然而,应当理解,根据本原理,可以使用除了GPS接收器以外的其他合适的位置接收器来确定系统100的位置。

此外,尽管为了清晰而未示出,但是在一些实施例中,系统100可以包括:陀螺仪,其用于感测和/或测量系统100的取向并且向处理器122提供与该取向相关的输入;以及加速度计,其用于感测系统100的加速度和/或移动并且向处理器122提供与该加速度和/或移动相关的输入;音频接收器/麦克风,其用于基于例如用户向麦克风提供听得到的输入而向处理器122提供输入;以及相机,其用于采集一个或多个图像并且向处理器122提供与图像相关的输入。相机可以是热成像相机、数字相机如网络摄像头、三维(3D)相机和/或被集成到系统100中并且能够由处理器122控制以采集图片/图像和/或视频的相机。

在继续进行至图2之前,应当理解,示例性客户端装置或其他机器/计算机可以包括比图1的系统100上示出的特征更少或更多的特征。在任何情况下,基于前述内容应该至少理解的是,系统100被配置成采用本原理。

现在转到图2,图2示出了根据本原理的通过网络200例如因特网进行通信的示例性装置。应当理解,参照图2描述的每个装置可以包括上述系统100的特征、部件和/或元件中的至少一些。在任何情况下,图2示 出了笔记本电脑202、台式计算机204、可穿戴式装置206如智能手表、智能电视机(TV)208、智能电话210、平板电脑212、以及服务器214如因特网服务器,服务器214可以提供可由装置202至212访问的云存储设备。应当理解,装置202至214被配置成通过网络200相互通信以采用本原理。

参照图3,图3示出了根据本原理的可以由装置如系统100(下面称为“本装置”)采用的示例性逻辑。在框300处开始,该逻辑确定与本装置相关联的至少一个上下文,例如本装置的当前位置、一天中的当前时间、一周中的当前日、与本装置在相同网络上的附近装置、刚才在本装置处执行的操作(例如,在相同的登录时间段和/或上电时间段期间)等。

该逻辑从框300进行至框302。在框302处,该逻辑基于所识别的一个或多个上下文来识别和/或预测数据,例如将来要使用的应用程序和文件。后面将参照图4来讨论关于确定一个或多个上下文和数据的更多问题。无论如何,该逻辑从框302进行至决策菱形框304。在菱形框304处,该逻辑确定是否存在本装置可访问的足够的存储器以将在框302处识别的所有数据加载到存储器的备用和/或缓存部分或区域中。菱形框304处的肯定性确定使该逻辑移动到框306,而菱形框304处的否定性确定使该逻辑移动到框308。

然而,在描述这些框之前,应当理解的是,在菱形框304处做出的确定可以基于例如相对于存储器的总量而言至少阈值量的存储器或多于阈值量的存储器是否当前正在被本装置使用,如果阈值量的存储器正在被使用或者多于阈值量的存储器正在被使用,则基于除了正在使用的存储器以外不存在足够的存储器(如空闲存储器)来将在框302处识别的所有数据加载到备用部分中而在菱形框304处作出否定性确定。相反,如果低于阈值量的存储器当前正在被使用(或者在一些实施例中为阈值及低于阈值),则基于除了正在使用的存储器以外存在足够的存储器来将在框302处识别的所有数据加载到备用部分中而在菱形框304处作出肯定性确定。

作为对在前一段中公开的内容的补充或替代,在菱形框304处作出的确定也可以基于例如至少阈值量的存储器或多于阈值量的存储器是否空闲,使得如果阈值量的存储器空闲或者多于阈值量的存储器空闲,则基于存在足够的空闲存储器来将在框302处识别的所有数据加载到备用部分中而在菱形框304处作出肯定性确定。相反,如果低于阈值量的存储器空闲(或者在一些实施例中为阈值及低于阈值),则基于不存在足够的空闲 存储器来将在框302处识别的所有数据加载到备用部分中而在菱形框304处作出否定性确定。

同样,在对框306和框308进行描述之前,可以理解的是,参照图3公开的存储器可以是动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM),例如上述存储器140、非易失性RAM(NVRAM)如上述NVRAM 179,还有其他类型的RAM、基于闪存的存储器诸如上述闪速存储器178等。还应该理解的是,备用部分是存储器中不包括当前正在由本装置使用的数据的部分。替代地,备用部分可以包括预期由本装置使用但是当前没有被使用的数据,因此备用部分被理解为不同于存储器中正在被处理器使用的其他部分,备用部分是为硬件使用、修改而保留的部分以及/或者是空闲或可用的。

现在描述框306,响应于菱形框304处的肯定性确定而进行到框306,该逻辑可以将存储器的备用部分配置成包括在框302处识别的数据。可以从本装置可访问的存储区域例如云存储装置、硬盘驱动器(HDD)、固态驱动器(SSD)等将这些数据加载到备用部分中,此外,这些数据可以包括如文件(例如,文字处理文档、音乐文件、电子表格)、文件夹和应用程序等项目。

如果在菱形框304处作出否定性确定,则请注意,该逻辑替代地进行至框308,在框308处,该逻辑基于在框302处识别的每条、每组和/或每部分数据(为简单起见,以下称为每个“数据条”)将被使用的可能性而将这些数据条进行排序。被使用的可能性以及由此产生的排序可以基于例如每个相应的数据条在所识别的上下文中的使用频率,在所识别的上下文中排序较高的数据条被更频繁地使用(例如,在本装置的当前位置处和/或一天中的当前时间处被更频繁地使用)。作为另一示例,被使用的可能性以及由此产生的排序可以基于在日历信息(例如,与电子日历相关联的信息)中指示的即将到来的时间处使用每个相应的数据条的可能性,可以由本装置访问该日历信息以识别在即将到来的时间处相对于其他数据条更可能被访问的一个或多个数据条,否则将预测在当前位置和/或当前时间处使用这些数据条,但是可能不一定在从日历信息中得到的上下文中使用这些数据条,例如,如果用户根据日历信息来行动而不是根据用户在该位置和时间处通常会使用本装置来行动。

作为排序的另一示例,如果多个数据条被识别为在当前位置和/或一天中的当前时间处被使用,但是第一数据条被识别为更可能被使用,因为 除了在当前位置和/或一天中的当前时间被使用了阈值个先前次数以外,该逻辑还基于本装置可访问的电子邮件的内容(例如,在本装置可访问的电子邮件帐户中)来确定该第一数据条将在当前位置和/或一天中的当前时间处被使用,其中该电子邮件的内容包含在电子邮件指示的特定时间处查看和/或使用该第一数据条的请求。因此,在电子邮件中指示的时间之前,该第一数据条可以比其他数据条的排序更高。

仍然参照图3,注意,该逻辑从框308移动到框310。在框310处,该逻辑按照排序的顺序将数据条加载到存储器的备用区域中(使得排序较高的项在排序较低的项之前被加载),例如,直到达到阈值个空闲存储器为止,该逻辑在达到阈值时停止将数据条加载到存储器中,以使空闲存储器继续包括至少阈值量,以例如对本装置尚未作出的命令和/或请求保持一定水平的响应性。

同样,在框310处,如果已经达到阈值量的空闲存储器和/或低于阈值量的存储器空闲,则该逻辑可以从备用区域中移除其中的一些数据,包括移除基于上下文而加载的数据。可以基于排序来移除数据,例如如上所述的排序或者基于已经在备用部分中的数据的类似排序,使得基于所识别的一个或多个上下文,基于排序较低的项被预测为不太可能被使用而将排序较低的项在排序较高的项之前移除。此外,应当理解,例如在基于特定上下文而移除排序相对较低的一个或多个可以被使用的数据条之前,首先可以基于一个或多个上下文来移除被预测为完全不被使用的备用部分中的数据。

在一些实施例中,该逻辑可以从框310移动到框312。在框312处,在框310处从存储器的备用部分移除的至少一些数据甚至所有的数据和/或其状态信息可以被序列化和/或以其他方式保存到本装置可访问的存储装置如HDD或SSD,使得在可能时,例如当多于阈值量的空闲存储器再次可用时,这些数据可以被重新加载到备用部分中。此时,可以基于如本文中描述的排序将数据和/或状态信息重新加载到备用部分中,使得排序较高的数据首先被重新加载。

参照图4继续进行详细描述,图4示出了可以由装置如根据本原理的系统100(以下称为“本装置”)进行的示例性逻辑,该逻辑用于确定和/或识别如本文中公开的一个或多个上下文,并且基于所确定的一个或多个上下文来识别可能被使用的一个或多个数据条。因此,应当理解,图4的逻辑可以结合图3的逻辑由本装置来执行。

在框400处开始,该逻辑可以基于来自元件的输入将本装置的当前位置和/或当前移动识别为上下文,所述元件例如本装置可访问的位置接收器和本装置可访问的运动检测器(例如,加速度计)。因此,应当理解,在框400处可以基于日历信息和/或指示本装置当前正移向的位置的电子邮件信息来预测目的地。该目的地可以建立根据本原理的上下文,使得可以在到达目的地之前将被预测为要在目的地处使用的数据加载到存储器的备用区域中,使得在到达目的地时该数据已准备投入使用。

在任何情况下,该逻辑从框400移动到框402,在框402处,该逻辑可以例如通过访问来自跟踪本装置处的当前时间和当前日的时钟应用程序的信息将至少一个时间参数识别为上下文,所述时间参数例如本装置运行的一天中的当前时间、本装置运行的一周中的当前日、本装置运行的一个月中的当前日以及本装置运行的一年中的当前日(例如,假日、生日等)。该逻辑从框402移动到框404。

在框404处,该逻辑可以识别一个或多个数据条,例如在当前位置、当前时间和/或当前日被使用、访问和/或(在应用程序的情况下)发起的阈值次数的数据。这些数据条然后可以被加载到本装置的存储器的备用部分中,如在上面参照图3所描述的那样。然而,图4的逻辑可能不会在此处结束,而是可能在一些实施例中可以继续进行到框406。

在框406处,该逻辑可以将刚才——例如在距该识别阈值时间内——在本装置处执行的操作识别为上下文。这样的操作的示例包括基于来自用户的输入对文本执行复制命令、将照片下载和/或复制到本装置可访问的存储装置、对本装置和/或本装置可访问的存储区域执行搜索、执行因特网搜索以及/或者下载特定文件格式的电子邮件附件等。这些操作可以用于确定将哪些数据条加载到存储器的备用部分中,例如:基于识别到执行复制命令来确定将文字处理应用程序或因特网搜索应用程序加载到备用部分中;基于识别到将照片复制到存储区域中来确定将照片编辑应用程序加载到备用部分中;基于执行互联网搜索和/或用于该互联网搜索的关键词的上下文来确定将特定文件加载到备用部分中;以及/或者确定将可以用来访问所下载的特定文件格式的电子邮件附件的应用程序加载到备用部分中。

该逻辑然后可以从框406移动到框408,在框408处,该逻辑还可以识别先前在距所识别的操作被执行的一个或多个先前实例阈值时间内启动的一个或多个应用程序。在框408处识别的应用程序也可以被加载到备 用部分中。

在框408之后,该逻辑随后可以移动到框410。在框410处,该逻辑可以将下述识别为上下文:一个或多个日历信息、文字消息信息、电子邮件信息和/或电子邮件附件信息、当前在本装置处执行的可以与尚未执行的其他应用程序结合使用的应用程序(这些其他应用程序可以被加载到备用部分中)、云存储装置位置处的信息、与网络信息和/或附近的——如距本装置阈值距离内的——装置有关的信息(用于与附近装置进行通信和/或以其他方式进行基于附近装置的功能的应用程序可以被加载到备用部分中,例如,如果确定打印机在通信上连接至本装置,则该用于将来打印文档的打印机应用程序可以被加载到备用部分中)、与以上公开的情况不同的基于当前位置和一天中的当前时间的其他使用模式如在一天的特定时间处启动特定应用等。更进一步地,在框510处识别的用于上下文的信息还可以包括在线购物信息和/或偏好、社交网络信息如发布到用户的Facebook留言板上的数据以及用户在Facebook上“喜欢”的组织、搜索历史信息(例如,因特网搜索历史信息和/或存储装置搜索历史信息)和/或链接选择信息、呈现在本装置的显示器上并且基于执行眼球追踪而被识别为用户正在注视的信息、当前事件信息、新闻信息、趋势项信息等。

仍然参照图4,该逻辑在框410之后进行至框412,在框412处,基于在该逻辑的流程中(例如,在框410处)识别的项,该逻辑确定被用作上下文的项和/或信息与基于这些项和/或信息而可能被使用的一个或多个应用程序之间的一个或多个相关性。在一些实施例中,可以使用本装置可访问的数据表来确定相关性(例如,本地地存储在本装置的HDD上),这些数据表将某些信息与可能被使用的某些应用程序关联起来,其中,当使用本装置访问该信息时,以及/或者当用户继续使用本装置而出现行为模式时,这些数据表可以由管理员、由用户和/或由本装置来创建和/或修改。在图5至图7中示出了这样的数据表的示例。

首先描述图5,图5示出了根据本原理的示例性数据表500。数据表500包括:第一列502,即该装置被布置的位置的条目;第二列504,即在该装置被布置在相应位置处的一天中的时间的条目;以及第三列506,即在相应行中指示的相应位置和一天中的相应时间处可能使用的一个或多个应用程序。因此,在该装置确定了当前位置和一天中的当前时间中的一项或两项时,该装置可以访问数据表500(例如,该数据表500可以被存储在装置处和/或通过网络访问的另一位置处)来定位列502中对应于 当前位置的条目和/或列504中针对一天中的当前时间的条目,然后访问列506中与从列502和列504定位的一个或多个条目对应的行处的数据,以由此确定和/或识别要加载到存储器的备用区域中的一个或多个应用程序。

访问和识别可能要使用的应用程序的类似方法可以用于分别在图6中示出的表600和图7中示出的表700。然而,在描述图6和图7之前,将提供使用图5的示例。假设该装置基于GPS坐标而识别了该装置被布置的当前位置,该位置被用户指定为“家”并且照这样被指示在列502中(在示出的示例性表500中的第一行508和最后一行510中),并且还假设该装置识别了一天中的当前时间为下午8点。该逻辑可以访问表500,从列502中将第一行508和最后一行510各自的条目识别为与家的位置相关联,但随后只将最后一行510识别为与一天中的当前时间相关联,因为在最后一行510中的列504指示下午6点至10点的时间范围。因此,该装置可以找到最后一行510中的列506中的条目并且访问其中包含的信息,以识别在该位置和该时间处可能要使用的一个或多个应用程序。在这个示例中,应用程序包括Netflix应用程序、浏览器应用程序和YouTube应用程序。

现在描述图6,图6示出了根据本原理的示例性数据表600,数据表600与基于如本文所述的刚才执行的操作的上下文而可能被启动的应用程序相关。数据表600包括第一列602,即可以被识别为正在本装置处执行的操作。可以从列602认识到,这样的操作的示例包括执行复制命令、下载照片以及执行对特定音乐艺术家的音乐作品的搜索。在一个实施例中,该装置可以采用图3和/或图4的逻辑,以及/或者响应于这样的操作而访问该表600,并且至少试图在列602处定位与该操作对应的条目。然后,响应于在列602处定位到这样的条目,该装置可以访问相应条目所在行中的列604处的数据,该数据包括指示在执行相应的应用程序之后可能要使用和/或启动的一个或多个应用程序(例如,基于过去被使用并且先前输入到数据表600中的应用程序来确定),以由此基于已经执行了的操作来确定和/或识别要加载到存储器的备用区域中的一个或多个应用程序。

提供了使用图6的示例,假设该装置执行将照片从电子邮件下载到该装置的存储区域的操作。该装置可以访问数据表600并且解析列602中的条目,直到识别到列602中与被执行的操作相匹配的一个条目为止,在这 种情况下为行606处的条目。该逻辑然后可以访问行606中的列604处的可能要使用的应用程序的指示,以由此将照片编辑器应用程序识别为在执行照片下载操作之后可能要启动的应用程序,从而确定应该将照片编辑器应用程序加载到该装置的存储器的备用区域中,以用于在该操作被执行之后用户启动照片编辑器应用程序时能够相对快速地访问照片编辑器应用程序。

参照图7继续进行详细描述,图7示出了根据本原理要使用的又一示例性数据表700,该数据表700提供了可以从由装置访问的信息(例如,从以上参照图4的框410描述的日历信息、电子邮件信息、其他信息等)中识别的关键词与基于该关键词而可能使用的一个或多个相应的应用程序之间的相关性。

数据表700包括第一列702,该第一列702包含可以从由装置访问的信息中识别的至少一个关键词或关键短语的相应条目。如可以从列702认识到,这样的关键词和关键短语的示例包括“演讲者”、“听”和“您的帖子”。然后,响应于将来自被访问的信息的词或短语匹配到列702中的一个条目,该装置可以访问该相应条目所在行中的列704处的数据,该数据包括基于该关键词或关键短语(例如,基于过去的上下文和由装置识别的并且先前输入到数据表700中的实例)而可能要使用和/或启动的一个或多个应用程序的指示,以由此确定和/或识别要加载到存储器的备用区域中的一个或多个应用程序。

提供了使用图7的示例,假设从电子邮件中识别到关键词“演讲者”,该电子邮件还指示关于在特定日期、时间和地点处的即将到来的会议的信息。根据本原理的装置在先前从电子邮件中识别到该信息之后可以确定该装置在特定日期处并且在特定时间之前正在朝该位置移动。为了确定在到达目的地时将哪个应用程序放置在该装置的存储器的备用部分中以便对该应用程序进行快速访问,该逻辑可以访问数据表700并且解析列702,直到电子邮件中的一个关键词与列702中的一个条目相匹配为止。当在行706处找到针对关键词“演讲者”的匹配时,该逻辑可以转到列704、行706处的条目以将PowerPoint应用程序识别为可能要使用的应用程序。例如,用户可能将数据表配置成了将PowerPoint应用程序关联到关键词“演讲者”,因为用户被指定为演讲者的会议是用户使用PowerPoint应用程序来呈现主题的会议。

现在参照图8,图8示出了可以呈现在该装置可访问的显示器上的示 例用户界面(UI)800。UI 800可以响应于对本装置的设置进行配置以采用本原理的用户命令来呈现。示出了第一设置802,设置802提供用于确定应该将应用程序和/或其他数据加载到该装置的存储器的备用区域中的上下文的一个或多个选项,以便于在被用户请求时以及/或者该应用程序被实际上发起或启动时可以快速投入使用。设置802中示出的选项中的每个选项与相应的复选框804相关联,可以选择复选框804以在无需进一步的用户输入的情况下自动地将装置配置成使用在每个相应的选项处指示的相应的上下文作为确定将哪些应用程序或其他数据放置在备用部分中的方式。因此,在这个示例中,选项包括位置/目的地、一天中的时间/星期几、日历信息、文本/电子邮件信息、用户的社交网络页上的社交网络帖子、附近的装置/网络信息、搜索历史和新闻/趋势。在本示例中,用户仅选择了针对位置/目的地的选项。

UI 800还可以包括其他设置如设置806,设置806用于配置和/或建立要在特定位置和/或特定时间处启动应用程序的阈值次数,然后,当该装置在下一次确定该装置再次处于该特定位置和/或在该特定时间运行时,该应用程序被预加载到备用存储器中。因此,设置了数字输入框808,用户可以在数字输入框808处选择和/或输入数字以建立为阈值次数。在本实施例中,该阈值被设置成了3。

仍然参照图8,在一些实施例中,UI 800还可以包括设置810,设置810用于配置和/或建立阈值量的存储器以保持为空闲存储器,例如以上参照图3的菱形框304所述的阈值量的空闲存储器。因此,应该理解的是,即使当该装置基于上下文而确定将应用程序放置到存储器的备用部分中时,该装置仅可以在达到阈值最小量的空闲存储器之前将应用程序放置到存储器的备用部分中,并且在达到阈值最小量的空闲存储器时将不再把更多的数据和/或应用程序放置到备用部分中,以维持至少阈值量的空闲存储器。无论如何,可以从图8认识到,设置810包括数字输入框812,用户可以在数字输入框812处选择和/或输入数字来建立阈值量的空闲存储器。在本示例中,该阈值被设置成了1000兆字节。

还可以从图8认识到,UI 800还可以包括设置814,当如本文所述的那样将应用程序从该装置的存储器的备用部分移除时,设置814可以将应用程序序列化和/或存储到磁盘。因此,设置814包括了复选框816,可以选择复选框816以在无需进一步的用户输入的情况下自动地启用这样的序列。

现在可以理解的是,本原理提供对一个或多个上下文的检测,并且将所述一个或多个上下文中用户可能运行的应用程序进行预缓存,而在一些实施例中还从用户不太可能使用的应用程序释放存储器。本原理被理解为应用于备用存储器而非应用于当前使用的存储器,以例如可以基于上下文将未启动的、关闭的和/或中止的应用程序加载到备用存储器中。

在一些实施例中,可以使用和/或执行软件代理来追踪用户习惯,从而建立或识别如本文所述的一个或多个上下文。在一些实施例中,如果装置输入或识别上下文(例如,位置),并且还具有低于阈值水平的空闲存储器,则该代理可以移除占据备用存储器且被确定为在该上下文中通常不使用的应用程序(例如,在家中通常不使用Outlook,或者在工作中通常不使用Photoshop),从而增加当前空闲存储器的量并且改进系统对新命令的响应能力。此外,在一些实施例中,从备用存储器释放的数据可以被序列化到缓冲区中,以供将来潜在地被重新缓存。因此,如果该装置输入或识别某个上下文并且还具有高于阈值水平的空闲存储器,则该代理可以将适用于该上下文的序列化的被缓存的应用程序存储器加载到备用存储器区域中,该备用存储器区域包括在该上下文中用户经常使用的应用程序的池。此外,当该装置将序列化的数据加载回存储器中时,即使在当这样的数据在存储器的备用部分中的其他时间、例如周期性地,该装置仍可以对备用存储器执行检查和/或验证,以确定自从数据被加载到存储器中以后,存储装置中的被加载到存储器的备用部分中的数据是否在存储装置中已经改变,以确保例如存储装置中不存在与备用存储器中的数据相比更新版本的数据,以及/或者在该数据被加载到备用部分之后未从存储装置中删除(例如,应用程序已被卸载)。

可以基于下述事物来确定上下文:如对电子邮件帐户和电子日历的主题分析、装置活动的模式匹配(如每当新的照片被复制到装置时,用户随后启动照片编辑软件)和/或本文所述的任何事物的组合。提供简单的示例,假设用户正在将要公布于众的研究论文的稿件用电子邮件发出,并且对该电子邮件的主题分析表明距该研究论文的提交截止日期为两周。可以使用模式匹配来确定用户撰写该论文的频率和时间。基于主题分析和模式匹配,备用存储器可以在用户通常撰写该研究论文的时间期间缓存该研究论文,直到提交截止日期为止,然后由于过了提交截止日期,该活动的重要性降低,因此另一任务可能被排序为更重要,因此可能随后将用于另一任务的数据缓存在该研究论文以上或之前。

在结束之前,应当理解,尽管用于采用本原理的软件应用程序可以与装置如系统100一起出售,但是本原理适用于下述情况:将这样的应用程序通过网络如因特网从服务器下载到装置。此外,本原理适用于下述情况:将这样的应用程序包括在被出售和/或提供的计算机可读存储介质上,其中该计算机可读存储介质不是暂态信号和/或信号本身。

虽然在本文中示出并且详细描述了基于上下文来配置存储器的备用部分,但是应当理解,本申请包括的主题仅由权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1