CN105453061B - 便于对移动计算设备的动态存储管理的机制 - Google Patents
便于对移动计算设备的动态存储管理的机制 Download PDFInfo
- Publication number
- CN105453061B CN105453061B CN201380078731.1A CN201380078731A CN105453061B CN 105453061 B CN105453061 B CN 105453061B CN 201380078731 A CN201380078731 A CN 201380078731A CN 105453061 B CN105453061 B CN 105453061B
- Authority
- CN
- China
- Prior art keywords
- computing device
- content
- context
- logic
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/171—Portable consumer electronics, e.g. mobile phone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
根据一个实施例描述了一种便于对移动计算设备的动态存储管理的机制。如在本文中描述的实施例中的方法,包括:检测与计算设备以及与计算设备相关联的用户相关的上下文感知数据;监测在所述计算设备的本地存储设备处的可用空间;以及基于上下文感知数据和对空间的监测的结果,动态地分配在本地存储设备处的空间的部分。动态分配可以包括,通过将第二内容从本地存储设备移动到一个或多个远程存储设备,将空间的第一部分提供给第一内容。
Description
技术领域
本文中描述的实施例在总体上涉及计算机编程。更具体地,实施例涉及一种便于对移动计算设备的动态存储管理的机制。
背景技术
尽管在计算设备(例如,移动计算设备)的科技方面的进步,并且甚至伴随着云端计算的引入,然而对于大多数计算设备尤其是移动设备而言,存储管理仍然是手动过程。移动设备由于设计的缘故具有较小的存储空间,而且,尽管大多数用户会更喜欢让云端存储器来携带大部分的内容,然而一旦他们丢失连接(例如,当智能手机被置于飞行模式下或处在拥塞区域中时,等等)就立即失去任何对云端存储的内容的访问。这是因为如今的存储管理技术是静态的,而且它们缺乏智能和效率。
附图说明
在附图的各图示中,以示例方式而不是以限制方式对实施例进行说明,其中同样的附图标记指代的是相似的元素。
图1示出了根据一个实施例的在计算设备采用的、便于对计算设备的动态存储管理的机制。
图2示出了根据一个实施例的便于对计算设备的动态存储管理的机制。
图3示出了根据一个实施例的便于对计算设备的动态存储管理的方法。
图4示出了根据一个实施例的适合于实现本公开的实施例的计算机系统。
具体实施方式
在下面的说明书中,阐述了许多具体细节。然而,如本文中所述的实施例,可以在没有这些具体细节的情况下实践。在其它实例中,并未详细示出公知的电路、结构和技术,这是为了避免使得对本说明书的理解变得模糊。
实施例提供了对在计算设备(例如,移动计算设备诸如智能手机、平板电脑等)处的存储设备的动态且高效的管理,这是基于任意数量的因素,诸如总的本地存储空间、可用的本地存储空间、以及各种上下文矢量,诸如用户与计算设备的当前的以及先前的互动、位置、一天中的时刻、一周中的天、用户的活动,等等。此外,利用上述因素,实施例提供随着在云端的可以特定于计算设备、一个或多个应用、特定上下文、服务等等的弹性的量和类型的存储而动态扩大。实施例进一步提供了动态的且上下文感知的方式来对本地地驻留在用户的移动设备上的用户的应用和其它内容(例如,照片、音乐等)进行更新,以便于对在移动设备上的有限的本地存储的优化使用。
例如且在一个实施例中,可以使用和视情况而应用各种上下文感知、位置感知、可预测性、连接性、接近度、以及位置管理技术(例如,的通用连接框架(CCF))、蓝牙、蓝牙低功耗(BLE)或蓝牙智能、WiFi接近度、无线射频识别(RFID)、地理围栏、基于位置的服务(LBS)、虚拟专用网(VPN)等),并且基于例如:用户和/或设备的活动和行为、用户和/或设备的活动和行为的历史、活动/行为的改变的性质和频率、设备类型(例如,智能手机相对于非智能手机,台式计算机相对于膝上计算机,等等)、在设备之间的接近度/距离(例如,几英尺相对于几千英里,等等)等等。应当注意的是,实施例不限于任何特定的技术或解决方案。还应当注意,对特定的名称或术语诸如“通用连接框架”、“CCF”、“蓝牙”等等的使用,不应被读解为将实施例限制于在产品中或者在本文以外的文献中带有这样的标记的软件或设备。
图1示出了根据一个实施例的在计算设备100采用的、便于对计算设备的动态存储管理的机制110。计算设备100充当便于对计算设备进行动态存储管理(“存储管理机制”)的主机机器。计算设备100可以包括移动计算设备,例如,手机,包括智能手机(例如,的Research in 的等等)、个人数字助理(PDA)、平板电脑(例如,的的等等)、膝上计算机(如笔记本、上网本、UltrabookTM等)、电子阅读器(例如,的Barnes and的等等)等等。计算设备100还可以包括机顶盒(例如,基于互联网的有线电视机顶盒,等等),以及更大的计算设备,例如台式计算机、服务器计算机,等等。
计算设备100包括操作系统(OS)106,其充当在计算机设备100的任何硬件或物理资源与用户之间的接口。计算设备100还包括一个或多个处理器102、存储器设备104、网络设备、驱动程序等,以及输入/输出(I/O)源108,诸如触摸屏、触摸板、触摸垫、虚拟或常规键盘、虚拟或常规鼠标,等等。应当注意的是,如“计算设备”、“节点”、“计算节点”、“主机”、“服务器”、“存储器服务器”、“机器”、“设备”、“计算设备”、“计算机”、“计算系统”等术语,可以在本文档通篇中可互换地使用。
图2示出了根据一个实施例的便于对计算设备的动态存储管理的机制110。在一个实施例中,存储管理机制110包括多个部件,诸如接收/鉴别逻辑(reception/authentication logic)202,上下文感知数据管理逻辑204、远程存储逻辑208,以及通信/兼容性逻辑210。存储管理机制110可以由诸如图1的计算设备100的主机机器来主管,并且经由诸如网络220(例如,云端网络,互联网,等等)的一个或多个网络与诸如远程存储设备280的一个或多个存储设备以及诸如计算设备230(例如,诸如智能手机、平板电脑等移动计算设备)的一个或多个计算设备相通信。
计算设备230可以采用具有一个或多个部件的动态存储管理应用240,所述一个或多个部件例如上下文感知检测和管理逻辑242、可预测性逻辑244,冲突解决逻辑245,存储分配逻辑246,通信逻辑248,以及用户接口249。计算设备230可以包括本地存储设备250并且能够经由诸如接近度网络(proximity network)(例如,蓝牙、BLE或蓝牙智能、WiFi接近度,RFID等等)和/或网络220等的一个或多个网络访问一个或多个远程存储设备,诸如远程设备存储270。计算设备230也能够通过网络220并且经由存储管理机制110访问其它远程存储设备例如远程云端存储设备280。在一个实施例中,远程设备存储270可以包括独立存储设备,或是另一个计算设备(例如台式计算机,膝上计算机,平板电脑,智能手机,等等)的一部分,该计算设备可以是属于计算设备230的用户的。可以预见的是,在一些实施例中,任意数量和类型的基于云端的远程存储可以被采用,并且被安排为直接地或间接地与计算设备230相通信;还可以预见的是,实施例不限于所示出的单个远程云端存储设备280。相似地,任意数量和类型的基于设备的存储设备(例如远程设备存储270),以及计算设备(例如计算设备230),可以被采用并且被安排为彼此通信。
在一个实施例中,接收/鉴别逻辑202可以接收来自计算设备230的请求使用远程存储设备280的请求,以及能够由存储管理机制110的各个部件204-210执行的其它任务。一旦接收到该请求,就由接收/鉴别逻辑202使用任意数量和类型的鉴别技术和数据(例如用户识别(用户ID),密码,秘密问题,公有/私有密钥,加密,互联网协议(IP)地址等等)对计算设备230和/或其用户进行鉴别。一旦鉴别过程完成,则可以将存储管理机制110和存储管理应用240付诸通信和同步,使用任意数量和类型的同步技术。在一些实施例中,计算设备230可以与远程云端存储设备280和/或远程设备存储270进行直接通信(通过例如互联网协议(IP)通信),以在计算设备230和远程存储设备270、280之间直接传送数据。
计算设备230可以包括智能手机,其具有在本地存储设备250处存储的任意数量和类型的应用(例如,新闻应用,社交网络应用,游戏等)和其它内容(例如,照片,视频,音乐等)。可以预见的是,如果用户不对所述内容中的一些做出妥协(例如,删除照片、音乐、应用等)来在本地存储设备250中腾出空间,本地存储设备250的有限的量可能不足以保有全部所述内容。在一些实施例中,计算设备230的用户可以选择将任意的量和类型的内容经由网络220备份到远程云端存储设备280。实现这一点可以通过,例如,将来自存储管理应用240的存储分配逻辑246的请求引导到存储管理逻辑202的接收/鉴别逻辑202。然而,如前所述,计算设备230可以与远程存储270、280直接通信,并且另外,计算设备230对于每一种类型的远程存储270、280可以利用不同的鉴别机制。在经允许和正确授权后,然后可将该请求继续转发到远程存储逻辑208,远程存储逻辑208通过网络220从本地存储设备250中导入特定内容并且将其继续转发以使其存储在远程云端存储设备280处。
备份的内容然后可以由设备/内容管理逻辑204来管理。例如,设备/内容管理逻辑204可以管理和跟踪各种不同设备,包括与存储管理机制110相通信的计算设备230,以及它们各自的存储在远程云端存储设备280处的内容。相似地,上下文感知数据管理逻辑206可以管理并跟踪与设备、设备的用户、以及备份的内容相关的上下文感知数据。例如,在将有选择性的内容在远程云端存储设备280处进行备份的事务完成之后或者作为该事务的一部分,在一个实施例中,然后就可以将存储管理机制110和存储管理应用240同步,以使得与在远程云端存储设备280处备份的内容相关的任何数据(例如上下文感知数据)也可以通过上下文感知数据管理逻辑206在存储管理机制110处进行接收和管理。
在一个实施例中,上下文感知检测和管理逻辑(上下文感知逻辑)242可用于检测和定义计算设备230的设备使用的上下文。例如,得出上下文或定义上下文可以基于任意数量的因素,例如:用户定义的上下文集合(例如,从周一到周五从上午9点到下午5点不使用应用,在星期日夜晚编辑照片/视频文件,等等),如由上下文感知逻辑242所检测到的自动检测的上下文集合(例如,在工作日晚10点之后、在周末午夜之后,减少电话活动;在晚间增加阅读活动;等等),在到达机场之后增加对电子书应用(例如,iBook,等等)的使用,等等。可以预见的是,上下文可以与任意数量和类型的用户和/或设备活动相关联,其范围可从永久到惯常到频繁到偶尔,等等。
此外,因为文件移动和管理的性质在逻辑上包括一些耗时的操作(例如,通信,诸如来回拷贝数据等等),所以可预测性逻辑244可以用于在上下文发生之前预测上下文,以使得一些耗时任务可以被有效率地并且可预测地事先执行。例如,当在机场登上航班之前或甚至当用户向机场进发时(例如,如通过GPS路线、日历条目、例行旅行等等来预测/确定的),可以预测该用户很可能在短时间段内丢失连接,并且因此可以在用户丢失连接之前执行某些耗时任务(例如,取回电子图书馆以便在飞行期间阅读书籍,等等)。在一个实施例中,可预测性逻辑244可以跟踪每个上下文及其频率,并且可预测性逻辑244可以使用此信息以及其它相关数据来预测用户/设备行为。由可预测性逻辑244进行的用户/设备行为预测然后可以由存储分配逻辑246使用以相应地用于对存储空间进行分配或请求分配。例如,如由用户所定义的(以及通过用户接口249输入的)或如通过上下文感知逻辑242检测和得出的,已知用户在工作日的工作小时期间访问新闻和/或工作相关应用,但在这些小时期间不对社交网络应用或游戏中的任一进行访问。相似地,再一次,如由用户所定义的(以及通过用户接口249输入的)或如通过上下文感知逻辑242检测和得出的,已知用户在晚间(例如当与家人一起在家时)访问各种社交网络应用和游戏,但不对新闻和/或工作相关应用中的任一进行访问。
在一个实施例中,如果该行为或偏好信息不是由用户提供的,则上下文感知逻辑242可以适应性地学习该用户的行为以及计算设备230的相应使用,这然后被可预测性逻辑244用来预测设备使用从而便于存储分配逻辑246来相应地分配存储设备。例如,在工作小时期间,社交网络应用和游戏可通过接近度网络260移动到远程设备存储270,或通过网络220备份到远程云端存储设备280。相似地,在晚间小时期间,社交网络应用和游戏可以存储在本地存储设备250处,在本地存储设备250中新闻和工作相关应用可被移动到远程设备存储270和/或远程云端存储设备280。
该模式和可预测性可以持续直到用户改变偏好(例如明确地通过将假定或模式改写)为止,或直到检测到在用户/设备行为中的改变并且将其定义为由上下文感知逻辑242所进行的改变为止。例如,用户可能习惯性地在每个工作日夜晚在晚10点去睡觉(例如,将计算设备230关闭)或者在每个工作日上午10点定期地出席商务会议(例如,将计算设备230安排为飞行模式),但即使这些可靠地可预测的模式也是可以改变的,在例如用户去度假、生病、换工作等情况下。改变中的一些(例如去度假或者生病)可能是临时的,导致对存储分配的临时修改(例如,在度假中用户可能想要整天能够访问社交网络应用,等等),但某些其它改变可能是较持久的,例如换工作。例如,在新工作中,用户可能在下午2点而不是上午10点参加定期会议,而在行为中的该改变可能是由用户通过用户接口249提供的或是由上下文感知逻辑242检测到的,随着时间而被解释并且随后由可预测性逻辑244预测到,并且然后由存储分配逻辑246使用来将存储器适当地分配给计算设备230的各个应用和内容。此外,例如,用户可以使用用户接口249来一次改变多个设定,例如,当用户在度假中,即使在正常的工作小时期间,上下文也可能和周末相似,且此行为可以相应地归类,允许用户改变上下文并且一次影响多个策略。
在一些实施例中,在两个或更多个应用之间的任何冲突(例如,两个不同的应用对在计算设备230上待访问和使用的空间进行竞争),可报告给冲突解决逻辑245并且由它进行解决。在一个实施例中,用户可以选择通过用户接口249来定义并且提供冲突解决策略,其然后被存储在本地存储设备250处并且由上下文感知逻辑240来对所有未来的冲突解决方案进行管理。用户可以将该冲突解决策略定义为“家庭时间在工作之上”则在家庭时间期间将不接收或执行与工作相关的活动(诸如工作邮件)等等,但若为“工作在正常休闲/游戏时间之上”则为与工作相关的电话呼叫、通知、电子邮件等等将游戏中断。例如,如果存在这样的冲突:其中,当用户的基于公司的应用(例如,电子邮件)企图将多封电子邮件本地下载在本地存储设备250处,同时用户正在听音乐,其中音乐应用已经在本地存储设备250处缓存了多首歌,使用冲突解决策略,如果用户在“家庭时间”期间听音乐,则电子邮件将会不得不等待家庭时间结束,但如果是“休闲/游戏时间”,则电子邮件可以中断音乐直到电子邮件已被下载为止。
在另一个实施例中,在缺少用户定义的冲突解决策略的情况下,冲突解决逻辑245可以使用其它因素,例如有冲突的内容的类型、用户位置、或甚至用户反馈等等,来充当决胜因素(tie-breaker)。例如,默认地,工作优先于音乐,因此,使用上面的例子,可允许电子邮件被下载。此外,冲突解决逻辑245可以基于其它因素(例如用户的位置、一天中的时间,等等)来自动地并且动态地进行某些调整。例如,在家庭时间期间或当用户在度假中时,冲突解决逻辑245可以允许在请求存储分配逻辑246将本地存储设备分配给工作电子邮件的下载之前将多首歌(例如,5首歌、10首歌,等等)进行缓存。此外,冲突解决逻辑245可以自动地并且动态地将最高优先级或决胜因素分配给某些紧急的或非常重要的应用/内容,例如医院、警察、火警、孩子的学校,等等。
在一个实施例中,对由本地存储设备250提供的有限空间的使用被充分地优化,这是通过动态地并且智能地将某些应用或内容临时地移动到一个或多个任意数量和类型的远程存储设备(例如远程设备存储270和/或远程云端存储设备280),以基于上下文感知数据、冲突解决策略等释放在本地存储设备250处的本地存储以用于其它应用。可以预见的是,对远程存储270、280的访问可以基于如下而被分配或获得:(1)内容或应用(例如,新闻内容(例如,纽约时报、华尔街日报,等等)基于使用在工作日在早5点被下载在本地存储设备250处,但是然后,一旦用户已经阅读了它,或当用户到达办公室,或在一天中的一个特定时刻(例如,上午11点),等等,就被自动删除),等等;(2)上下文(例如,存储优先级可以随着用户的移动而动态地改变,例如当用户在校园时可以将优先的远程存储设备切换到与企业服务器相关联的存储设备,当用户在班车上时切换到远程设备存储270,当在工作中时切换到用于工作相关应用和内容的工作服务器),等等;以及(3)按照服务(例如,从获取新闻、电子邮件等等,无论哪个应用使用它),等等。
在一个实施例中,通信逻辑248可以用于便于在计算设备230与存储管理机制100、远程设备存储270、以及任意数量和类型的其它计算设备、应用、数据库、远程存储设备等等之间的连接或通信。在一个实施例中,设备/内容管理204和上下文感知数据管理206可以有助于管理上下文感知数据、冲突解决数据、以及其它相关数据(例如与计算设备230及其用户相关的任何数据),等等,并且可以辅助存储管理应用240和/或直接参与各种过程,例如管理和分配存储设备、解决冲突、解释行为和上下文、便于通信,等等。
通信/兼容性逻辑210可用于便于在各个不同计算设备之间的动态通信和兼容性,同时确保与变化的科技、参数、协议、标准等等的兼容性,各个不同计算设备例如:图1的主机机器100、计算设备230(例如,移动计算设备)等等;数据库和存储设备,例如远程云端存储设备280和远程设备存储270;网络,例如网络220(例如,云端网络、互联网,等等)以及接近度网络260(蓝牙、BLE、WiFi接近度,等等),等等;软件应用/网站(例如,社交网络网站,例如等等,商业应用、游戏和其它娱乐应用等等);编程语言,等等。
可以预见的是,可以向存储管理机制110与存储管理应用240添加和/或从中移除任意数量和类型的组件,以便于各种实施例,包括添加、移除和/或增强某些特征。为使存储管理机制110和存储管理应用240简洁、清楚和易于理解起见,许多标准的和/或已知的部件(例如属于计算设备的那些)不在此示出或讨论。可以预见的是,如本文中所描述的实施例不限于任何特定的技术、拓扑结构、系统、架构和/或标准,并且足够动态以便于采纳和适应任何未来的改变。
图3示出了根据一个实施例的便于对计算设备的动态存储管理的方法300。方法300可以由处理逻辑执行,处理逻辑可以包括:硬件(例如,电路、专用逻辑、可编程逻辑,等等)、软件(例如在处理设备上运行的指令)、或硬件和软件的组合。在一个实施例中,方法300可由图2的存储管理机制110和/或存储管理应用240来执行。
方法300可以在方框302、304和306中任意一个或多个处开始。例如,用户定义的和用户输入的数据偏好(例如,上下文、应用优先级、冲突策略,等等)在方框302被上传到计算设备(例如,客户端计算设备,诸如移动计算设备等)。在方框304,对设备检测到的上下文感知数据(例如,学习到的上下文,使用行为、用户简况、策略、优先次序,等等)进行参考。在方框306,对计算设备的本地存储设备的磁盘空间进行监测。在方框308,对数据/因素进行处理,数据/因素例如:用户提供的偏好、磁盘检测(disk-detected)的上下文感知数据、以及与所监测的本地磁盘空间相关的数据,以确定针对其它应用和/或内容的当前的和未来的存储分配。
在方框310,关于在本地存储设备处是否有充足可用的磁盘空间用来为正由用户请求将要在计算设备处访问的其它应用和/或内容供应当前的和/或未来的存储分配而做出判定。如果有充足量的磁盘空间可用,则该过程在方框312处结束。如果没有,则在方框314,经处理的因素(例如,用户提供的偏好、磁盘检测的上下文感知数据、以及所监控的本地磁盘空间)被估算(例如,某些因素被分配以比其它因素更高的权重,例如与工作相关的应用/内容在工作小时期间被更高地加权,等等),以使得可以达到适当且高效的存储分配。在方框316,基于估算,一个或多个应用和/或特定内容被选择/选定并且被请求以被移除到和/或接收自一个或多个远程存储设备,例如:在云端网络上与服务器计算机相关联的基于云端的远程存储设备,和/或在接近度网络上与另一个计算设备(例如,移动计算设备)相关联的基于设备的存储设备,等等。在方框318,所选择的应用/内容被移除到和/或接收自所述一个或多个远程存储设备。所述过程在方框312结束。
图4示出了计算系统400的一个实施例。计算系统400表示一系列计算设备和电子设备(有线的或无线的),包括例如台式计算系统、膝上计算系统、蜂窝电话、个人数字助理(PDA)(包括使能蜂窝的PDA)、机顶盒、智能手机、平板电脑,等等。可替代的计算系统可以包括更多的、更少的和/或不同的部件。计算设备400可以相同于、相似于或包括:采用了图1的存储管理机制110的主机机器100,和/或采用了图2的存储管理应用240的客户端计算设备250。
计算系统400包括:总线405(或链路、互连或另外类型的通信设备或接口以通信信息)以及可处理信息的处理器410,其耦合到总线405。虽然计算系统400被示为具有单个处理器,电子系统400还可以包括多个处理器和/或协同处理器,例如中央处理器、图形处理器以及物理处理器等中的一种或多种。计算系统400还可以包括与总线405耦合的随机存取存储器(RAM)或其它动态存储设备420(称为主存储器),并且可以存储信息以及可由处理器410执行的指令。主存储器420也可用于在由处理器410执行指令期间存储临时变量或其它中间信息。
计算系统400还可以包括与总线405耦合的只读存储器(ROM)和/或其它存储设备430,其可存储静态信息和用于处理器410的指令。数据存储设备440可以耦合到总线405以存储信息和指令。数据存储设备440,例如磁盘或光盘以及对应的驱动器,可以耦合到计算系统400。
计算系统400还可以经由总线405耦合到显示设备450,例如阴极射线管(CRT)、液晶显示器(LCD)或有机发光二极管(OLED)阵列,来将信息显示给用户。用户输入设备460,包括字母数字键和其它键,可以耦合到总线405,以将信息和命令选择(command selections)传送到处理器410。另一种类型的用户输入设备460是光标控制器470,例如,鼠标、轨迹球、触摸屏、触摸垫、或光标方向键,以将方向信息和命令选择传送到处理器410,并且控制显示器450上的光标移动。计算系统400的摄像头和麦克风阵列490可以耦合到总线405以观察手势、记录音频和视频,以及接收和发送视频和音频命令。
计算系统400还可以包括(一个或多个)网络接口480,以提供对网络的访问,网络例如:局域网(LAN)、广域网(WAN)、城域网(MAN)、个域网(PAN)、蓝牙、云端网络、移动网络(例如,第三代(3G)等等)、内联网、互联网,等等。(一个或多个)网络接口480可以包括,例如,具有天线485的无线网络接口,天线485可表示一个或多个天线。(一个或多个)网络接口480还可以包括例如用于通过网络电缆487与远程设备通信的有线网络接口,网络电缆可以是例如:以太网电缆,同轴电缆,光纤电缆,串行电缆或并行电缆。
(一个或多个)网络接口480可以提供到LAN的访问,例如通过遵照IEEE802.1b和/或IEEE802.1g标准;和/或无线网络接口可以提供对个域网的访问,例如通过遵照蓝牙标准。其它无线网络接口和/或协议,包括所述标准的先前的和后续的版本,也可以被支持。
作为对经由无线LAN标准进行的通信的补充或替代,(一个或多个)网络接口480可以使用例如时分多址(TDMA)协议、全球移动通信系统(GSM)协议、码分多址(CDMA)协议,和/或其它类型的无线通信协议,来提供无线通信。
(一个或多个)网络接口480可以包括一个或多个通信接口,例如调制解调器、网络接口卡、或其它众所周知的接口设备(例如那些用于耦合到以太网的),令牌环,或其它类型的有线或无线的物理附件,这是为了提供通信网络以支持例如LAN或WAN。以此方式,也可将计算机系统经由常规网络基础设施(包括例如内联网或互联网)耦合到多个外围设备、客户端、控制面、控制台或服务器。
应当意识到,与上文所描述的例子相比更少地或更多地配备的系统可能是对于某些实施方式为优选的。因此,计算系统400的配置可以从实施方式到实施方式有所不同,取决于诸多因素,例如,价格约束、性能要求、技术进步或其它情形。电子设备或计算机系统400的例子可以包括但不限于:移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上计算机、笔记本电脑、手持式计算机、平板电脑、服务器、服务器阵列或服务器群、网服务器、网络服务器、互联网服务器、工作站、小型计算机、大型计算机、超级计算机、网络装置、网装置、分布式计算系统、多处理器系统、基于处理器的系统、消费性电子产品、可编程消费性电子产品、电视、数字电视、机顶盒、无线接入点、基站、订户站、移动订户中心、无线电网络控制器、路由器、集线器、网关、桥接器、交换机、机器,或上述各项的组合。
实施例可作为下列任一项或其组合来实施:一个或多个使用母板互连的微芯片或集成电路、硬连线逻辑、由存储器设备存储并且由微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。术语“逻辑(logic)”可以包括,以示例的方式,软件或硬件和/或软件和硬件的组合。
实施例可以被提供,例如作为计算机程序产品,其可以包括一个或多个机器可读介质,在其上存储有机器可执行指令,所述指令当被一个或多个机器(例如,计算机、计算机网络或其它电子设备)执行时,可使得所述一个或多个机器根据本文中描述的实施例来执行操作。机器可读介质可以包括但不限于:软盘、光盘、CD-ROM(压缩盘只读存储器)、以及磁光盘、ROM、RAM、EPROM(可擦除可编程只读存储器)、EEPROM的(电可擦可编程只读存储器)、磁卡或光卡、闪速存储器,或其它类型的适于存储机器可执行指令的媒体/机器可读介质。
此外,实施例可以作为计算机程序产品被下载,其中该程序可以经由通信链路(例如,调制解调器和/或网络连接)借助于被实现为载波或其它传播介质和/或被载波或其它传播介质调制的一个或多个数据信号从远程计算机(例如,服务器)传递到发出请求的计算机(例如,客户端)。
对“一个实施例”、“一实施例”、“示例实施例”、“各种实施例”等的引用,表示该(一个或多个)如此描述的实施例可以包括特定的特征、结构或特性,但并不是每个实施例都必须包括所述的特定的特征、结构或特性。此外,一些实施例可以包括一些、全部或不包括针对其它实施例所描述的特征。
在下面的说明书和权利要求书中,可以使用术语“耦合”以及其派生词。“耦合”用于指代两个或多个元件彼此协作或交互,但是它们可以具有也可以不具有在它们之间介于中间的物理部件或电气部件。
如权利要求中所用的,除非另有指定,否则对用来描述公共元素的序数形容词“第一”、“第二”和“第三”等的使用仅表示正在提及的是相似元件的不同实例,并不是想要暗示如此描述的元素必须处于给定次序,无论是在时间上、在空间上、在排序上还是以任何其它形式。
下面的段落和/或例子涉及进一步的实施例或例子。在例子中的细节可以在一个或多个实施例中任何地方使用。不同的实施例或例子中的各种不同的特征可以以有些特征被包括且其它被排除的方式来以各种不同方式结合,以适应各种各样的应用。一些实施例涉及一种方法,所述方法包括:检测与计算设备以及与计算设备相关联的用户相关的上下文感知数据;监测在计算设备的本地存储设备处的可用空间;以及基于上下文感知数据和对空间的监测的结果,动态地分配在本地存储设备处的空间的部分,其中动态分配包括通过将第二内容从本地存储设备移动到一个或多个远程存储设备来将空间的第一部分提供给第一内容。
实施例或例子包括上述方法中任一方法,基于所检测的上下文感知数据来确定一个或多个上下文;并且估算以下项中的一个或多个上下文:所检测的上下文感知数据、用户提供的上下文、以及所述计算设备或所述用户的改变的活动;并且基于所述估算来预测第一计算设备的使用行为,并且其中,所述动态分配还是基于所预测的使用行为的。
实施例或例子包括上述方法中任一方法,其中,所述一个或多个远程存储设备包括耦合到服务器计算设备的、基于云端的远程存储设备,其中所述第二内容通过网络被移动到所述基于云端的远程存储设备,所述网络包括云端网络,以及其中所述一个或多个远程存储设备包括耦合到客户端计算设备的、基于设备的远程存储设备,其中所述第二内容通过接近度网络被移动到所述基于设备的远程存储设备,所述接近度网络包括蓝牙连接。
实施例或例子包括上述方法中任一方法,还包括基于缺省冲突解决策略或用户提供的冲突解决策略来解决在所述第一内容和所述第二内容之间的冲突,其中所述用户提供的冲突解决策略保持在所述缺省冲突解决策略之上的优先级,其中所述第一内容和所述第二内容包括需要存储的以下项中的一项或多项:软件应用、照片、视频、文本文件、音乐文件以及一个或多个数据文件。
一些实施例涉及一种方法,包括:在服务器计算设备处,接收将内容从客户端计算设备的本地存储设备移动到与服务器计算设备耦合的远程云端存储设备的请求;审查(review)与所述客户端计算设备相关的上下文感知数据;以及基于所述上下文感知数据来将所述内容存储在所述远程云端存储设备处。
实施例或例子包括上述方法中任一方法,还包括在将所述上下文感知数据提供给所述上下文感知数据管理逻辑之前,提取与所述客户端计算设备相关的上下文感知数据。
实施例或例子包括上述方法中任一方法,还包括:通过网络将与存储在所述远程云端存储设备处的内容相关的通知传送到所述客户端计算设备,其中所述网络包括云端网络;以及响应于取回请求,对来自所述远程云端存储设备的内容进行取回,其中所取回的内容被传送回到在所述客户端计算设备处的本地存储设备。
另一个实施例或例子包括一种装置,用于执行根据上文提及的任一方法的操作。
在另一个实施例或例子中,一种装置包括用于执行根据上文提及的任一方法的操作的单元。
在又一个实施例或例子中,一种计算装置被安排用于执行根据上文提及的任一方法的操作。
在一个实施例或例子中,一种系统包括用于执行根据上文提及的任一方法的操作的机制。
在又一个实施例或例子中,至少一个机器可读存储介质包括多个指令,响应于所述指令在计算设备上被执行而使得该计算设备执行根据上文提及的任一方法的操作。
在又一个实施例或例子中,至少一个非暂时性的或有形的机器可读存储介质包括多个指令,响应于所述指令在计算设备上被执行而使得所述计算设备执行根据上文提及的任一方法的操作。
一些实施例涉及一种装置,包括:上下文感知检测和管理逻辑,用于检测与计算设备以及与所述计算设备相关联的用户相关的上下文感知数据;以及存储分配逻辑,用于监测在所述计算设备的本地存储设备处的可用空间,其中所述存储分配逻辑还用于,基于所述上下文感知数据和对所述空间的所述监测的结果,动态地分配在所述本地存储设备处的空间的部分,其中所述动态分配包括,通过将第二内容从所述本地存储设备移动到一个或多个远程存储设备,将所述空间的第一部分提供给第一内容。
实施例或例子包括上述装置,还包括可预测性逻辑,用来估算以下项中的一项或多项:所检测的上下文感知数据、用户提供的上下文、以及所述计算设备或所述用户的改变的活动,其中所述可预测性逻辑还用于基于所述估算来预测第一计算设备的未来的使用行为。
实施例或例子包括上述装置,其中所述动态分配还是基于所预测的使用行为的。
实施例或例子包括上述装置,其中所述一个或多个远程存储设备包括耦合到服务器计算设备的、基于云端的远程存储设备,其中所述第二内容通过网络被移动到所述基于云端的远程存储设备,所述网络包括云端网络。
实施例或例子包括上述装置,其中所述一个或多个远程存储设备包括耦合到所述装置的、基于设备的远程存储设备,其中所述第二内容通过接近度网络被移动到所述基于设备的远程存储设备,所述接近度网络包括蓝牙连接。
实施例或例子包括上述装置,还包括冲突解决逻辑,用于基于缺省冲突解决策略或用户提供的冲突解决策略来解决在所述第一内容和所述第二内容之间的冲突,其中所述用户提供的冲突解决策略保持在所述缺省冲突解决策略之上的优先级。
实施例或例子包括上述装置,其中所述第一内容和所述第二内容包括需要存储的以下项中的一项或多项:软件应用、照片、视频、文本文件、音乐文件、以及一个或多个数据文件。
一些实施例涉及一种装置,包括:接收/鉴别逻辑,用于在所述装置处接收将内容从客户端计算设备的本地存储设备移动到与服务器计算设备耦合的远程云端存储设备的请求;上下文感知数据管理逻辑,用于审查与所述客户端计算设备相关的上下文感知数据;以及远程存储逻辑,用于基于所述上下文感知数据来将所述内容存储在所述远程云端存储设备处。
实施例或例子包括上述装置,还包括设备/上下文管理逻辑,用于在将所述上下文感知数据提供给所述上下文感知数据管理逻辑之前,提取与所述客户端计算设备相关的上下文感知数据。
实施例或例子包括上述装置,还包括通信/兼容性逻辑,用于通过网络将与存储在所述远程云端存储设备或所述本地存储设备处的内容相关的通知传送到所述客户端计算设备,其中所述网络包括云端网络。
实施例或例子包括上述装置,其中,所述远程存储逻辑还用于,响应于取回请求,基于使用和可预测性,对来自所述远程云端存储设备的内容进行取回,其中所取回的内容被传送回到在所述客户端计算设备处的本地存储设备。
一些实施例涉及一种系统,包括:一种计算设备,具有用于存储指令的存储器,以及一个处理设备,用于执行指令,所述计算设备还具有用于执行一个或多个操作的机制,所述一个或多个操作包括:检测与计算设备以及与所述计算设备相关联的用户相关的上下文感知数据;监测在所述计算设备的本地存储设备处的可用空间;以及基于所述上下文感知数据和对所述空间的所述监测的结果,动态地分配在所述本地存储设备处的空间的部分,其中所述动态分配包括,通过将第二内容从所述本地存储设备移动到一个或多个远程存储设备,将所述空间的第一部分提供给第一内容。
实施例或例子包括上述系统,其中所述一个或多个操作还包括:估算以下项中的一项或多项:所检测的上下文感知数据、用户提供的上下文、以及所述计算设备或所述用户的改变的活动;并且基于所述估算来预测所述第一计算设备的使用行为。
实施例或例子包括上述系统,其中所述动态分配还是基于所预测的使用行为的。
实施例或例子包括上述系统,其中,所述一个或多个远程存储设备包括耦合到服务器计算设备的、基于云端的远程存储设备,其中所述第二内容通过网络被移动到所述基于云端的远程存储设备,所述网络包括云端网络。
实施例或例子包括上述系统,其中,所述一个或多个远程存储设备包括耦合到客户端计算设备的、基于设备的远程存储设备,其中所述第二内容通过接近度网络被移动到所述基于设备的远程存储设备,所述接近度网络包括蓝牙连接。
实施例或例子包括上述系统,其中,所述一个或多个操作还包括基于缺省冲突解决策略或用户提供的冲突解决策略来解决在所述第一内容和所述第二内容之间的冲突,其中所述用户提供的冲突解决策略保持在所述缺省冲突解决策略之上的优先级。
实施例或例子包括上述系统,其中,所述第一内容和所述第二内容包括需要存储的以下项中的一项或多项:软件应用、照片、视频、文本文件、音乐文件以及一个或多个数据文件。
一些实施例涉及一种系统,包括一种计算设备,具有用于存储指令的存储器,以及一个处理设备,用于执行指令,所述计算设备还具有用于执行一个或多个操作的机制,所述一个或多个操作包括:在服务器计算设备处接收将内容从客户端计算设备的本地存储设备移动到与服务器计算设备耦合的远程云端存储设备的请求;审查与所述客户端计算设备相关的上下文感知数据;以及基于所述上下文感知数据来将所述内容存储在所述远程云端存储设备处。
实施例或例子包括上述系统,其中,所述一个或多个操作还包括:在将所述上下文感知数据提供给所述上下文感知数据管理逻辑之前,提取与所述客户端计算设备相关的上下文感知数据。
实施例或例子包括上述系统,其中,所述一个或多个操作还包括:通过网络将与存储在所述远程云端存储设备的内容相关的通知传送到所述客户端计算设备,其中所述网络包括云端网络。
实施例或例子包括上述系统,其中,所述一个或多个操作还包括:响应于取回请求,对来自所述远程云端存储设备的所述内容进行取回,其中,所取回的内容被传送回到在所述客户端计算设备处的所述本地存储设备。
附图和前述说明给出了实施例的例子。本领域技术人员将意识到,所描述的元素中的一个或多个完全可以被合并到单个功能元素中。可替代地,某些元素可以被拆分成多个功能元素。可以将来自一个实施例的元素添加到另一个实施例中。例如,在本文中描述的过程的顺序可以改变,并且不限于本文中所描述的方式。此外,无需以所示的顺序来实施任何流程图的行动;也并不是所有行动都一定需要被执行。此外,那些行动不依赖于其它行动,可以与其它行动并行地执行。实施例的范围绝不是要被这些特定例子限定。很多变型,无论在说明书中明确给出还是没有给出,例如在结构、尺寸以及材料的使用等方面的不同是可能的。实施例的范围至少与由所附权利要求给出的范围一样宽广。
Claims (25)
1.一种便于动态存储管理的装置,包括:
上下文感知检测和管理逻辑,其用于检测与计算设备以及关联于所述计算设备的用户相关的上下文感知数据;以及
存储分配逻辑,其用于监测在所述计算设备的本地存储设备处的可用空间,其中,所述存储分配逻辑还用于基于所述上下文感知数据和对所述空间的所述监测的结果来动态地分配在所述本地存储设备处的所述空间的部分,其中,所述动态分配包括通过将第二内容从所述本地存储设备移动到一个或多个远程存储设备来将所述空间的第一部分提供给第一内容。
2.根据权利要求1所述的装置,还包括可预测性逻辑,其用于估算以下项中的一项或多项:所检测的上下文感知数据、用户提供的上下文、以及所述计算设备或所述用户的改变的活动,其中,所述可预测性逻辑还用于基于所述估算来预测第一计算设备的未来的使用行为。
3.根据权利要求1或2所述的装置,其中,所述动态分配还是基于所预测的使用行为的。
4.根据权利要求1所述的装置,其中,所述一个或多个远程存储设备包括耦合到服务器计算设备的、基于云端的远程存储设备,其中,所述第二内容是通过网络被移动到所述基于云端的远程存储设备的,所述网络包括云端网络。
5.根据权利要求1所述的装置,其中,所述一个或多个远程存储设备包括耦合到所述装置的、基于设备的远程存储设备,其中,所述第二内容是通过接近度网络被移动到所述基于设备的远程存储设备的,所述接近度网络包括蓝牙连接。
6.根据权利要求1所述的装置,还包括冲突解决逻辑,其用于基于缺省冲突解决策略或用户提供的冲突解决策略来解决在所述第一内容和所述第二内容之间的冲突,其中,所述用户提供的冲突解决策略保持在所述缺省冲突解决策略之上的优先级。
7.根据权利要求1或6所述的装置,其中,所述第一内容和所述第二内容包括需要存储的以下项中的一项或多项:软件应用、照片、视频、文本文件、音乐文件、以及一个或多个数据文件。
8.一种便于动态存储管理的装置,包括:
接收/鉴别逻辑,其用于在所述装置处接收将内容从客户端计算设备的本地存储设备移动到与服务器计算设备耦合的远程云端存储设备的请求;
上下文感知数据管理逻辑,其用于审查与所述客户端计算设备相关的上下文感知数据;以及
远程存储逻辑,其用于基于所述上下文感知数据来将所述内容存储在所述远程云端存储设备处。
9.根据权利要求8所述的装置,还包括设备/上下文管理逻辑,其用于在将所述上下文感知数据提供给所述上下文感知数据管理逻辑之前,提取与所述客户端计算设备相关的所述上下文感知数据。
10.根据权利要求8所述的装置,还包括通信/兼容性逻辑,其用于通过网络将与存储在所述远程云端存储设备或所述本地存储设备处的所述内容相关的通知传送到所述客户端计算设备,其中,所述网络包括云端网络。
11.根据权利要求8所述的装置,其中,所述远程存储逻辑还用于,响应于取回请求,基于使用和可预测性,对来自所述远程云端存储设备的所述内容进行取回,其中,所取回的内容被传送回到在所述客户端计算设备处的所述本地存储设备。
12.一种便于动态存储管理的方法,包括:
检测与计算设备以及关联于所述计算设备的用户相关的上下文感知数据;
监测在所述计算设备的本地存储设备处的可用空间;以及
基于所述上下文感知数据和对所述空间的所述监测的结果,动态地分配在所述本地存储设备处的所述空间的部分,其中,所述动态分配包括通过将第二内容从所述本地存储设备移动到一个或多个远程存储设备来将所述空间的第一部分提供给第一内容。
13.根据权利要求12所述的方法,还包括:
基于所检测的上下文感知数据来确定一个或多个上下文;以及
估算以下项中的一个或多个上下文:所检测的上下文感知数据、用户提供的上下文、以及所述计算设备或所述用户的改变的活动;并且基于所述估算来预测第一计算设备的使用行为,以及
其中,所述动态分配还是基于所预测的使用行为的。
14.根据权利要求12所述的方法,其中,所述一个或多个远程存储设备包括耦合到服务器计算设备的、基于云端的远程存储设备,其中,所述第二内容是通过网络被移动到所述基于云端的远程存储设备的,所述网络包括云端网络,以及
其中,所述一个或多个远程存储设备包括耦合到客户端计算设备的、基于设备的远程存储设备,其中,所述第二内容是通过接近度网络被移动到所述基于设备的远程存储设备的,所述接近度网络包括蓝牙连接。
15.根据权利要求12所述的方法,还包括,基于缺省冲突解决策略或用户提供的冲突解决策略来解决在所述第一内容和所述第二内容之间的冲突,其中,所述用户提供的冲突解决策略保持在所述缺省冲突解决策略之上的优先级,
其中,所述第一内容和所述第二内容包括需要存储的以下项中的一项或多项:软件应用、照片、视频、文本文件、音乐文件、以及一个或多个数据文件。
16.一种便于动态存储管理的方法,包括:
在服务器计算设备处接收将内容从客户端计算设备的本地存储设备移动到与所述服务器计算设备耦合的远程云端存储设备的请求;
审查与所述客户端计算设备相关的上下文感知数据;以及
基于所述上下文感知数据来将所述内容存储在所述远程云端存储设备处。
17.根据权利要求16所述的方法,还包括,在将所述上下文感知数据提供给所述上下文感知数据管理逻辑之前,提取与所述客户端计算设备相关的所述上下文感知数据。
18.根据权利要求16所述的方法,还包括:
通过网络将与存储在所述远程云端存储设备处的所述内容相关的通知传送到所述客户端计算设备,其中,所述网络包括云端网络;以及
响应于取回请求,对来自所述远程云端存储设备的所述内容进行取回,其中,所取回的内容被传送回到在所述客户端计算设备处的所述本地存储设备。
19.包括多个指令的至少一种机器可读介质,响应于所述指令在计算设备上被执行而使得所述计算设备执行根据权利要求12至15中任一项所述的方法。
20.包括多个指令的至少一种机器可读介质,响应于所述指令在计算设备上被执行而使得所述计算设备执行根据权利要求16至18中任一项所述的方法。
21.一种便于动态存储管理的系统,包括用于执行根据权利要求12至15中任一项所述的方法的机制。
22.一种便于动态存储管理的系统,包括用于执行根据权利要求16至18中任一项所述的方法的机制。
23.一种便于动态存储管理的装置,包括:
存储器,其用于存储指令;以及
处理器,其耦合到所述存储器,其中,所述指令当被所述处理器执行时,使得所述处理器执行根据权利要求12至15中任一项所述的方法。
24.一种便于动态存储管理的装置,包括:
存储器,其用于存储指令;以及
处理器,其耦合到所述存储器,其中,所述指令当被所述处理器执行时,使得所述处理器执行根据权利要求16至18中任一项所述的方法。
25.一种计算设备,被安排以用于执行根据权利要求12至15中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/058023 WO2015034483A1 (en) | 2013-09-04 | 2013-09-04 | Mechanism for facilitating dynamic storage management for mobile computing devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105453061A CN105453061A (zh) | 2016-03-30 |
CN105453061B true CN105453061B (zh) | 2018-09-18 |
Family
ID=52628786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380078731.1A Active CN105453061B (zh) | 2013-09-04 | 2013-09-04 | 便于对移动计算设备的动态存储管理的机制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11394775B2 (zh) |
EP (1) | EP3042291A4 (zh) |
JP (1) | JP6259920B2 (zh) |
CN (1) | CN105453061B (zh) |
WO (1) | WO2015034483A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9648128B2 (en) * | 2014-02-24 | 2017-05-09 | International Business Machines Corporation | Dynamic ad hoc cloud based memory management for mobile devices |
JP6256624B2 (ja) * | 2014-09-19 | 2018-01-10 | 日本電気株式会社 | 情報処理装置及び協調分散保存システム |
FR3038753B1 (fr) * | 2015-07-09 | 2018-05-18 | Bull Sas | Procede de synchronisation automatique de donnees depuis un appareil numerique vers un espace de stockage de donnees distant via un reseau de telecommunication mobile |
WO2017041239A1 (zh) * | 2015-09-08 | 2017-03-16 | 余青山 | 基于地理位置在一定距离范围内搜索新闻 |
US10645188B1 (en) * | 2017-12-14 | 2020-05-05 | Amazon Technologies, Inc. | System for preparing a device for offline or low-bandwidth use |
KR20200135529A (ko) | 2018-06-07 | 2020-12-02 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 인터미턴트 네트워크에서 클라이언트 장치들에 걸쳐 저장을 관리하기 위한 로컬 서버 |
BR112020021766A2 (pt) | 2018-06-07 | 2021-01-26 | Hewlett-Packard Development Company, L.P. | servidores locais para gerenciar uma rede intermitente |
BR112020021747A2 (pt) | 2018-06-07 | 2021-01-26 | Hewlett-Packard Development Company, L.P. | servidores locais para gerenciar configurações de proxy em redes intermitentes |
US10948593B2 (en) * | 2018-06-22 | 2021-03-16 | Citrix Systems, Inc. | System for determining distance between fixed and mobile endpoints and related methods |
US20200159835A1 (en) * | 2018-11-16 | 2020-05-21 | International Business Machines Corporation | Methods and systems for managing content storage |
CN112437192B (zh) * | 2019-08-23 | 2023-12-22 | 西安中兴新软件有限责任公司 | 应用软件的运行方法、装置、电子设备、计算机可读介质 |
US11868800B1 (en) * | 2020-06-17 | 2024-01-09 | Egnyte, Inc. | System and method for enhancing content collaboration by conflict detection and resolution in a hybrid cloud cache |
CN115220642A (zh) * | 2021-04-16 | 2022-10-21 | 戴尔产品有限公司 | 预测存储阵列容量 |
US11928346B2 (en) | 2021-10-05 | 2024-03-12 | International Business Machines Corporation | Storage optimization based on references |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069309B1 (en) * | 2006-06-29 | 2011-11-29 | Emc Corporation | Servicing memory in response to system failure |
CN102917012A (zh) * | 2011-09-09 | 2013-02-06 | 微软公司 | 存储与通信去重复 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263334A (ja) * | 1995-03-27 | 1996-10-11 | Toshiba Corp | 外部記憶制御方法及び外部記憶制御装置 |
US6748467B2 (en) | 2001-01-30 | 2004-06-08 | Hitachi, Ltd. | High speed data transfer between mainframe storage systems |
US6947935B1 (en) * | 2001-04-04 | 2005-09-20 | Microsoft Corporation | Training, inference and user interface for guiding the caching of media content on local stores |
US6922754B2 (en) * | 2002-12-09 | 2005-07-26 | Infabric Technologies, Inc. | Data-aware data flow manager |
US7716651B2 (en) * | 2005-01-26 | 2010-05-11 | Microsoft Corporation | System and method for a context-awareness platform |
JP5165837B2 (ja) * | 2005-06-15 | 2013-03-21 | シャープ株式会社 | 電子的情報の一時蓄積装置、コンピュータプログラム、及び記録媒体 |
US20110010518A1 (en) * | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
US8626136B2 (en) * | 2006-06-29 | 2014-01-07 | Microsoft Corporation | Architecture for user- and context-specific prefetching and caching of information on portable devices |
US8112755B2 (en) * | 2006-06-30 | 2012-02-07 | Microsoft Corporation | Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources |
US20080091613A1 (en) * | 2006-09-28 | 2008-04-17 | Microsoft Corporation | Rights management in a cloud |
WO2011005251A1 (en) * | 2009-07-07 | 2011-01-13 | Hewlett-Packard Development Company, L.P. | Network-extended data storage for mobile applications |
FR2960077A1 (fr) * | 2010-05-11 | 2011-11-18 | Alcatel Lucent | Dispositif de gestion dynamique d'applications telechargeables, pour un equipement de communication |
US8799395B2 (en) * | 2010-11-22 | 2014-08-05 | Deluxe Media Inc. | Methods and systems of dynamically managing content for use by a media playback device |
US8732784B2 (en) * | 2010-12-07 | 2014-05-20 | At&T Intellectual Property I, L.P. | Hierarchical storage management for data |
US8606878B2 (en) | 2011-02-28 | 2013-12-10 | Red Hat, Inc. | Systems and methods for de-populating cloud data store |
US9563555B2 (en) * | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
WO2012154670A1 (en) | 2011-05-09 | 2012-11-15 | Google Inc. | Unified file display |
WO2013065084A1 (en) | 2011-11-01 | 2013-05-10 | Hitachi, Ltd. | Information system and method for managing data |
KR101765996B1 (ko) * | 2012-02-16 | 2017-08-07 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 클라우드-기반 스토리지로의 로컬 액세스 |
US8700666B2 (en) * | 2012-02-21 | 2014-04-15 | Comcast Cable Communications, Llc | Moveable storage |
US9071923B2 (en) * | 2012-12-20 | 2015-06-30 | Cellco Partnership | Automatic archiving of an application on a mobile device |
US9414222B1 (en) * | 2013-03-12 | 2016-08-09 | Amazon Technologies, Inc. | Predictive caching devices, systems and methods |
US9826054B2 (en) * | 2013-06-21 | 2017-11-21 | Kofax International Switzerland Sarl | System and methods of pre-fetching content in one or more repositories |
US9588897B2 (en) * | 2013-07-19 | 2017-03-07 | Samsung Electronics Co., Ltd. | Adaptive application caching for mobile devices |
-
2013
- 2013-09-04 CN CN201380078731.1A patent/CN105453061B/zh active Active
- 2013-09-04 WO PCT/US2013/058023 patent/WO2015034483A1/en active Application Filing
- 2013-09-04 US US14/129,927 patent/US11394775B2/en active Active
- 2013-09-04 EP EP13893126.6A patent/EP3042291A4/en not_active Ceased
- 2013-09-04 JP JP2016540856A patent/JP6259920B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069309B1 (en) * | 2006-06-29 | 2011-11-29 | Emc Corporation | Servicing memory in response to system failure |
CN102917012A (zh) * | 2011-09-09 | 2013-02-06 | 微软公司 | 存储与通信去重复 |
Also Published As
Publication number | Publication date |
---|---|
EP3042291A4 (en) | 2017-07-26 |
JP2016536707A (ja) | 2016-11-24 |
US11394775B2 (en) | 2022-07-19 |
JP6259920B2 (ja) | 2018-01-10 |
CN105453061A (zh) | 2016-03-30 |
US20160226972A1 (en) | 2016-08-04 |
EP3042291A1 (en) | 2016-07-13 |
WO2015034483A1 (en) | 2015-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105453061B (zh) | 便于对移动计算设备的动态存储管理的机制 | |
AU2015374061B2 (en) | Permitted assignment user interface | |
EP2972934B1 (en) | Device resource management based on contextual planning | |
US20150095268A1 (en) | Intelligent multi-user task planning | |
US20180101822A1 (en) | Cloud-based broker service for digital assistants | |
US10162874B2 (en) | Related table notifications | |
EP2916276A1 (en) | System including a data repository and a data importing component | |
CN110073384A (zh) | 用于用户生活事件的个性化自适应任务框架 | |
US20170039488A1 (en) | System and method for a taxi sharing bridge system | |
JP6906736B2 (ja) | ユーザのToDoリストに対する通知を提供する方法、コンピュータプログラムおよびシステム | |
US10572904B2 (en) | Micro circadian rhythms driven dynamic product offering adjustment | |
CN106104626B (zh) | 基于分析的数字内容的更新 | |
US20200175610A1 (en) | Cognitive collaboration | |
CN106537346A (zh) | 针对实时供应的动态更新流 | |
US20210158304A1 (en) | Enhanced views and notifications of location and calendar information | |
Huang et al. | A Simulation‐Based Approach of QoS‐Aware Service Selection in Mobile Edge Computing | |
US9998865B2 (en) | Method for performing distributed geographic event processing and geographic event processing system | |
CN103685219B (zh) | 终端设备及其数据通信方法 | |
JP6912865B2 (ja) | タスクトラッキング方法、コンピュータプログラム、およびシステム | |
CN110688676A (zh) | 一种用户信息可见性控制方法、装置、设备和储存介质 | |
US20180018638A1 (en) | Method, system, and non-transitory computer-readable recording medium for supporting schedule management | |
CN111095321A (zh) | 基于从一个或多个托管日历中获得的调度计划建立和拆除云环境的方法 | |
Jayasundara et al. | A decision support system for day-to-day shopping travel scheduling | |
JP6697279B2 (ja) | 判定プログラム、判定装置、判定システム、及び判定方法 | |
Halang et al. | Towards a user-centred planning algorithm for automated scheduling in mobile calendar systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |