CN109564517A - 将被本地删除的内容留存在存储服务处 - Google Patents

将被本地删除的内容留存在存储服务处 Download PDF

Info

Publication number
CN109564517A
CN109564517A CN201780048706.7A CN201780048706A CN109564517A CN 109564517 A CN109564517 A CN 109564517A CN 201780048706 A CN201780048706 A CN 201780048706A CN 109564517 A CN109564517 A CN 109564517A
Authority
CN
China
Prior art keywords
content
equipment
storage service
locally
deleted
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.)
Granted
Application number
CN201780048706.7A
Other languages
English (en)
Other versions
CN109564517B (zh
Inventor
J·D·罗德里格斯
S·贝利
A·蔡斯勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202111612194.7A priority Critical patent/CN114265639B/zh
Publication of CN109564517A publication Critical patent/CN109564517A/zh
Application granted granted Critical
Publication of CN109564517B publication Critical patent/CN109564517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了用于跨多个设备来存储和/或共享内容的基于云的存储服务,其中,内容在设备与该存储服务之间被定期同步。常规地,如果本地存储的内容从设备被删除,则该删除将被传播至存储服务以使得该内容不仅从存储服务被删除,还从该内容被本地存储且与存储服务同步的任何其他设备被删除。实施例针对被本地删除的内容在存储服务处的留存,以防止在设备上本地存储的内容的意外或恶意删除进一步使得该内容从存储服务和/或多个其他设备被全局删除。例如,存储服务可以被配置为接收在设备上本地存储的内容,检测对设备上的内容的删除,并且在该存储服务处留存该内容。

Description

将被本地删除的内容留存在存储服务处
背景技术
云存储提供方越来越多地被用于跨多个客户端存储和/或共享内容,其中云存储提供方具有在客户端之间自动地同步内容的引擎。然而,频繁地收到云服务提供方经由客户端上的非故意动作而意外地删除云端文件的抱怨。例如,使得其计算设备上的文件同步至云端的用户可能在本地存储空间用尽、抹除该计算设备、和/或将该计算设备给另一个人的情况下本地删除计算设备上的文件。由于文件被同步至云端,所以该删除被传播至云端,这进一步导致该删除被复制到其他客户端。不幸的是,该用户可能不想要将该删除传播至云端和其他客户端。此外,攻击者可能通过删除本地存储的文件并且将其复制到云端和其他设备来对该弱点加以利用。
发明内容
提供了该发明内容以用简化的形式引入在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在排他地标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
实施例涉及对本地删除的内容在存储服务处的留存,以防止对内容的意外或恶意的本地删除使得该内容跨包括该内容的存储服务和/或多个其他设备被全局删除。例如,存储服务可以被配置为接收在设备上本地存储的内容,检测对设备上的内容的删除,并且在该存储服务处留存该内容。
这些和其他特征和优点将通过阅读以下的详细描述以及回顾相关联的附图而是显而易见的。所要理解的是,之前的一般描述和以下的详细描述两者都是解释性的而不限制所要求保护的方面。
附图说明
图1包括其中可以实现用于留存本地删除的内容的系统的示例网络环境;
图2包括概念图,其示出了用于响应于对来自设备的内容的本地删除而在将该内容留存在存储服务处的示例过程;
图3A-B包括被提供以使得本地删除的内容能够在存储服务处被留存的示例配置选项;
图4A-B包括响应于设备上的内容的本地删除而提供的示例通知;
图5包括用于响应于设备上的内容的本地删除来确定是留存还是删除存储服务处的内容的流程;
图6是其中可以实现根据实施例的系统的网络化环境;
图7是可以用于将本地删除的内容留存在存储服务处的示例通用计算设备的框图;
图8示出了用于将本地删除的内容留存在存储服务处的方法的逻辑流程图;和
图9示出了根据实施例的用于选择将本地删除的内容留存在存储服务处的方法的逻辑流程图。
具体实施方式
如上文简要描述的,实施例涉及将本地删除的内容留存在存储服务处,以防止意外或非法的内容删除使得该内容跨包括该内容的存储服务和/或多个其他设备而被全局删除。例如,存储服务可以被配置为通过同步动作来接收在设备上本地存储的内容。该存储服务可以被配置为检测对设备上的内容的删除,并且将该内容留存在该存储服务处。一旦该内容被留存,该存储服务就可以防止所留存的内容在存储服务处与设备处的内容被同步时被下载并且被本地存储在该设备上。然而,响应于确定所留存的内容已经被修改,该存储服务可以被配置为使得经修改的内容在该存储设备和该设备处的内容被同步时能够被下载并且本地存储在该设备上。
在以下的详细描述中,对形成了本文的一部分的并且其中通过具体实施例或示例的方式示出的附图进行了参考。可以组合这些方面,可以利用其他方面,并且可以在不脱离本公开的精神和范围的情况下进行结构改变。因此,以下的详细描述不被认为是限制性意义,并且本发明的范围是由所附权利要求及其等同物来限定的。
尽管将在结合在个人计算机上的操作系统上运行的应用程序而执行的程序模块的通用上下文中描述实施例,但本领域的技术人员将理解的是,也可以结合其他程序模块来实现这些方面。
通常而言,程序模块包括例程、程序、组件、数据结构、以及执行特定的任务或实现特定的抽象数据类型的其他类型的结构。此外,本领域技术人员将理解的是,可以利用包括手持设备、多处理器系统、基于微处理器的或可编程的消费性电子产品、微型计算机、大型计算机、以及类似的计算设备在内的其他计算机系统配置来实践实施例。还可以在其中由通过通信网络所链接的远程处理设备来执行任务的分布式计算环境中实现实施例。在分布式计算环境中,程序模块既可以位于本地存储器存储设备中,也可以位于远程存储器存储设备中。
可以将一些实施例实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是这样一种计算机存储介质,其能够由计算机系统读取并且对包括用于使得计算机或计算机系统执行示例过程的指令的计算机程序进行编码。所述计算机可读存储介质是计算机可读存储器设备。计算机可读存储介质可以例如是经由以下中的一个或多个来实现的:易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘、压缩盘、和类似的硬件介质。
在该说明书通篇中,术语“平台”可以是用于将本地删除的内容留存在存储服务处的软件和硬件组件的组合。平台的示例包括但不限于:在多个服务器上执行的托管的服务、在单个计算设备上执行的应用、以及类似的系统。术语“服务器”通常是指通常在网络化环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视为网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。在下文中提供了关于这些技术和示例操作的更多的细节。
图1包括其中可以实现用于留存本地删除的内容的系统的示例网络环境。
如在图100中所示,示例系统可以包括托管基于云的存储服务114的数据中心112,所述存储服务114被配置为为能够跨多个设备和用户被访问的内容提供存储并且支持对其的共享。数据中心112可以包括被配置为执行存储服务114的一个或多个处理服务器116,此外还有其他组件。在一些实施例中,处理服务器116中的至少一个可操作以执行存储服务114的留存模块118,其中,该留存模块118可以与存储服务114集成以防止对来自设备102的内容的意外或非法本地删除使得该内容跨存储服务114和/或多个其他设备(例如,设备122、126)而被全局删除。在其他实施例中,该功能可以固有地存在于存储服务114自身之内。数据中心112还可以包括一个或多个存储服务器120,其被配置为管理一个或多个数据存储,所述一个或多个数据存储包括与存储服务114和/或留存模块118所留存的内容相关联的数据。如在本文中所描述的,存储服务114和/或留存模块118可以被实现为软件、硬件、或者其组合。
在一些实施例中,存储服务114可以被配置为与各种应用进行互操作以将在用户相关联的设备上本地存储的文件与在存储服务114处远程存储的相同文件进行同步。例如,如示图100中所示,用户104可以通过设备102执行应用的瘦版本(例如,web浏览器)或厚版本(例如,本地安装的客户端应用),存储设备114可以利用其而被配置为通过诸如网络110之类的一个或多个网络集成或协作。应用106可以是由存储服务所托管的应用,例如,同步客户端。设备102可以包括台式计算机、膝上型计算机、平板计算机、车载计算机、智能电话、或可穿戴计算设备,此外还有其他类似设备。通信接口可以通过网络110促进存储服务114与应用106之间的通信。
在示例实施例中,存储服务114可以被配置为接收存储在设备102的本地存储108上的内容。例如,所接收的内容可以被远程存储在存储服务器120内的存储服务114处。可以执行存储在设备102的本地存储108上的内容与远程存储在存储服务114处的内容之间的定期同步,以确保内容的最新版本得以在每个位置处被存储和/或共享。在一些示例中,设备102的可选择特征和/或包含内容的文件夹的可选择特征可以是本地删除的内容在存储服务114处的留存。在一个实施例中,可以通过应用106的用户体验向用户104提供配置选项以使能对这样的特征的选择(参见图3A-B)。例如,用户104可以选择在特定设备(例如,设备102)上或者在特定文件夹内被本地删除的内容仅从设备102或该文件夹中被移除,而不从存储服务114中移除。响应于该用户选择,存储服务114可以被配置为将设备102或该文件夹分别标记为仅本地删除设备或仅本地删除文件夹。在一些实施例中,存储服务114还可以被配置为跟踪该内容在设备102或该文件夹被标记时的版本。
存储服务114可以被配置为检测内容从设备102的本地存储108的删除。响应于检测到该本地删除,存储服务114可以被配置为将该内容留存在存储服务114处,例如,所留存的内容可以被存储在存储服务器120中,或者被存储在其他第三方存储服务中。在一个实施例中,一旦内容被留存,存储服务114就可以防止所留存的内容在存储服务114处与设备102的本地存储108处的内容被同步时被下载并且被本地存储在该设备上。除此之外和/或可替代地,应用106可以对已经从设备102删除的内容进行跟踪,以阻止先前删除的内容(例如,所留存的内容)在同步期间被设备102下载以便存储在设备102的本地数据存储108处。然而,响应于确定所留存的内容已经被修改,存储服务114和/或应用106可以被配置为使得经修改的内容能够在存储服务114和设备102的本地存储108处的内容被定期同步时被下载并且被本地存储在设备102上。例如,存储服务114可以在确定所留存的内容已经被修改之后从存储服务器120取回所留存的内容,以使得经修改的内容可以在下一次内容同步期间从存储服务114被下载并且被存储在设备102的本地存储上。
在另一个示例实施例中,用户104可能没有选择将本地删除的内容留存在存储服务114处作为设备102和/或文件夹的特征,并且因此设备102和/或该文件夹可以不在存储服务114处被标记为仅本地删除设备或仅本地删除文件夹。因此,删除选项可以响应于用户删除设备102上的内容而通过应用106的用户体验被提供给用户104。所述删除选项可以包括从设备102的本地存储108删除内容,删除与用户104相关联的其他设备122上本地存储的内容,以及删除在存储服务114处远程存储的内容。存储服务114因此接着可以被配置为基于所选择的删除选项来留存内容。在一些场景中,用户104可以与一个或多个其他用户124共享内容,并且该内容也可以被本地存储在与其他用户124相关联的另外的设备126上。作为一种实际效果,如果用户104选择删除在存储服务114处远程存储的内容,则该内容也将在下一次同步过程期间从与其他用户124相关联的另外设备126被本地删除,而这可能是不是用户104所意图的效果。由此,可以向用户104提供提示和/或警告以确保用户104知晓从存储设备114删除内容的效果。接着,该内容可以基于用户104所选择的删除选项而被留存在存储服务114处。
另外地,用户104可以通过应用106的用户体验而被提供以将设备102配置为主设备的选项。如果设备2是主设备,并且本地存储的内容从该主设备被删除,则存储服务114可以在检测到该删除之后自动地删除本地存储在主设备(设备102)处以及远程存储在存储服务114处的内容。再一次,作为实际效果,如果用户104将设备102配置为主设备并且继续删除本地存储在该主设备处的内容,则该内容在下一次同步过程期间也将从与其他用户124相关联的另外的设备126被本地删除。由此,可以向用户104提供提示和/或警告以确保用户104知晓将设备102配置为主设备的效果。在一种示例场景中,用户104可以选择选项以将他的台式计算机配置为主设备,因为与他在他的诸如移动电话或平板电脑之类的移动设备上相比,用户104不太可能在他的台式机上作出意外删除,这是由于用户104何时以及如何与每个设备进行交互的性质所致的。
已经从服务器(例如,被配置为执行存储服务的处理服务器116)的角度示出了在本文中所描述的一些动作和/或过程,然而,相同的动作可以类似地由客户端(例如,应用106)及其他实体所执行。另外地,已经从客户端的角度阐述了在本文中所描述的一些动作和/或过程,然而,相同的动作可以类似地由服务器来执行。
常规地,一些基于云的存储服务和/或提供方可以提供选择性同步功能,其使得用户能够每设备地选择哪个内容要被向上同步至存储服务或者向下同步至设备。然而,当所选择的诸如文件之类的内容在用户设备上被本地删除时,该文件也可以从基于云的存储服务被删除。例如,该文件可以被放入回收站并且在特定时段后被永久删除。因此,如果用户执行意外删除或者应用在用户不知晓的情况下代表他们删除了数据,则存储服务仍然将会永久删除该数据。作为结果,数据将在下一次同步过程期间进一步在与该用户相关联的任何其他设备和/或与本地存储该内容的与其他用户相关联的另外的设备上被删除,从而导致全局删除。如在图1中所描述的,实施例涉及基于云的存储服务的特征,该服务使得内容能够从某个设备和/或文件夹被删除而并不从存储服务和/或包括该内容的其他设备被删除,以保护用户免受他们自己的意外执行或者攻击方非法执行的删除的影响。可以通过使得用户能够选择用于将本地删除的内容留存在存储服务处的特征和/或有关内容留存的删除选项来丰富用户交互性,这也会通过确保不会有意外或非法删除导致非预期的全局删除而增强可靠性。另外地,当内容从设备被本地删除时,留存在存储服务处的内容就不再被同步至该设备,以由于有所减少的设备至服务器通信而减少了处理器和存储器使用以及带宽使用。然而,如果留存在存储服务处的内容被修改,则经修改的内容可以被再次同步至设备以增强了用户的交互性和可靠性。
如在本文中所描述的实施例解决了人类无法管理的来自于基于软件的服务所创建的大规模操作的需求。在本文中所描述的动作/操作不仅是对计算机的使用,而且还涉及被用作服务的软件的直接结果的系统的结果,所述服务是结合大量设备和用户在客户端设备本地并且在基于云的存储服务处远程地存储和/或共享内容而提供的。
图2示出了用于响应于从设备对内容的本地删除而将该内容留存在存储服务处的示例过程。如在图200中所示,基于云的存储服务202可以被配置为将内容存储在与存储服务202和/或第三方存储服务相关联的远程数据存储204中。在一些实施例中,存储服务202可以被配置为与在设备208上执行的同步客户端206集成并协作,以使得能够通过一个或多个网络212来在设备208的本地数据存储210处存储的内容与在远程数据204处存储的内容之间进行定期同步。例如,内容可以从存储服务202被下载以被存储在设备208的本地数据存储210处,和/或来自设备208的内容可以基于一个或多个规则而被上传至存储服务202并且被存储在远程数据存储204中。在一些示例中,所述规则可以由与设备208相关联的用户来定义。在其他示例中,诸如公司或组织处的信息技术管理者之类的管理员218可以出于安全、数据管理、和数据发现等的目的来定义规则。同步可以确保最新的内容被本地存储在设备208处并且被远程存储在存储服务202处。
另外地,存储服务202可以包括留存模块216。留存模块216可以被配置为防止存储在设备208的本地数据存储210中的内容的意外或非法删除导致该内容从存储服务202的远程数据存储204被删除。在一个实施例中,内容在存储服务202处的留存可以是设备208的特征和/或包含该内容的文件夹的特征,所述特征可以由与设备208相关联的用户或者管理员214所选择或启用。例如,管理员214可以选择文件夹的被删除内容以仅从设备208的本地数据存储210被移除,而不从存储服务202的远程数据存储204被移除。例如,管理员214可以通过与存储服务202相关联的管理入口来选择该特征。响应于管理员的选择,留存模块216可以将该文件夹标记为仅本地删除文件夹。
在一种示例场景中,一组团队成员可以致力于一个项目。与该项目相关联的所有内容已经被存储服务202接收,并且被存储在存储服务202的远程数据存储204处的在所有分组成员间共享的文件夹中。设备208例如可以与该分组的成员相关联。除了能够通过存储服务202来访问该文件夹之外,该成员例如还可以使得该文件夹被存储在设备208的本地数据存储210处,从而他可以在不需要到网络212的有线和/或无线连接的情况下容易地访问文档。然而,例如,该成员可以完成了该项目中他的部分,并且可以将该文件夹或者该文件夹内的各种内容从设备208上的本地数据存储210删除以节省本地存储空间。常规地,因为该文件夹被同步至存储服务202,所以该删除将被传播至存储服务202,这将使得该文件夹和/或该文件夹内的内容也从存储服务202的远程数据存储204被删除。作为结果,对该文件夹和/或该文件夹内的内容的删除将被传播至与该成员相关联的任何其他设备或者甚至该分组中将该文件夹本地存储并且与存储服务202同步的其他成员,从而导致全局删除。然而,通过将该文件夹标记为仅本地删除文件夹,留存模块216可以被配置为防止这样非预期的大规模删除。例如,留存模块216可以检测文件夹从设备208上的本地数据存储210的删除。响应于检测到该删除,留存模块216可以基于该标记将该文件夹标识为仅本地删除文件夹,并且将该文件夹的内容留存在存储服务202的远程数据存储204处。
在一个实施例中,一旦内容被留存,则存储服务202就可以防止所留存的内容在同步期间被设备208下载以便存储在该设备的本地数据存储210处。另外地和/或可替代地,同步客户端206可以跟踪已经从设备208删除的内容,并且阻止先前被删除的内容(例如,所留存的内容)在同步期间被设备208下载以便存储在该设备的本地数据存储210处。响应于确定所留存的内容已经在存储服务202处例如被其他团队成员所修改,存储服务202和/或同步客户端206可以被配置为使得经修改的内容能够在同步期间由设备208下载以便存储在该设备的本地数据存储210处。这可以是能够由用户或管理员214选择的另一种类型的特征和/或选项。
图3A-B包括被提供以使得本地删除的内容能够留存在存储服务处的示例配置选项。存储服务可以被配置为接收在设备上本地存储的内容以便远程存储,并且可以在该设备上本地存储的内容和存储服务处远程存储的内容之间执行定期同步。在一些示例中,设备的可选择特征和/或包含该内容的可选择特征可以使得设备上的内容被删除之后能够将该内容留存在存储服务处。如在图300A和300B中所示的配置选项可以通过与存储相关联的应用(例如,在设备上执行的同步客户端)的用户体验而被提供给该设备的用户以使得能够选择这样的特征。
如在图3A的示图300A中所示,可以提供第一设备配置选项302。第一设备配置选项302可以被显示为对话框、通知窗口、和/或窗格等,并且包括主指令304和提示306,后跟两个可能的选择(“是”310和“否”312)。如所示出的,主指令304可以询问用户是否想要将设备配置为仅本地删除设备。提示306可以描述将设备配置为仅本地删除设备的效果和/或目的。例如,提示306可以指示如果设备被配置为仅本地删除设备,则从该设备本地删除的任何内容都将不会导致该内容在存储服务或者包括该内容的其他设备处被删除(也就是说,该内容将被留存在存储服务处)。提示306还可以包括去往有关这些效果和/或目的的更加详细的信息的链接308。用户可以响应于主指令304而选择“是”310或“否”312之一。如果用户选择了“是”310并且接着选择了“OK”命令316,则该设备将被配置为仅本地删除设备。作为结果,存储服务可以将该设备在存储服务处标记为仅本地删除设备,以使得该设备上的任何本地删除的内容都响应于对该删除的检测而被留存在该存储服务处。如果用户不希望配置该设备,则该用户可以选择“取消”命令控件320。如果配置被取消,则该设备将不会被标记为仅本地删除设备,并且删除选项可以响应于对内容的本地删除而被呈现给用户,如结合以下的图4A-B所描述的。如果用户选择了“否”312并且接着选择了“OK”命令316(如第一用户选择314和第二用户选择318所示出的),则可以提供第二设备配置选项322。
第二设备配置选项322可以被显示为对话框、通知窗口、和/或窗格等,并且包括主指令324和提示326,后跟两个可能的选择(“是”330和“否”332)。如所示出的,主指令324可以询问用户是否想要将该设备配置为主设备。提示326可以描述将设备配置为主设备的效果和/或目的。例如,提示326可以指示如果该设备被配置为主设备,则从该设备本地删除的任何内容都将在存储服务处被自动删除(也就是说,内容将不会被留存在存储服务处),并且因此将从包括该内容的该用户其他设备或者其他用户的设备被删除。提示326还可以包括去往有关这些效果和/或目的的更加详细的信息的链接328。用户可以响应于主指令324而选择“是”330或“否”332。如果用户选择了“是”330并且接着选择了“OK”命令336(如第三用户选择334和第四用户选择338所示出的),则该设备将被配置为主设备。作为结果,存储服务可以将该设备在存储服务处标记为主设备,以使得从该设备被删除的本地存储在该设备上的任何内容都在存储服务处被自动删除(或不被留存)。如果用户不希望配置该设备,则该用户可以选择“取消”命令控件340。如果配置被取消,则该设备将不会被标记为主设备。
如图3B的示图300B中所示,除设备配置选项之外和/或可替代地,可以提供文件夹配置选项350。在一个实施例中,文件夹配置选项350例如可以响应于新文件夹在设备上往来于存储服务的上传和/或下载而被提供。文件夹配置选项350可以被显示为对话框、通知窗口、和/或窗格等,并且包括检测到的动作352、主指令354、和提示356,后跟两个可能的选择(“是”360和“否”362)。如所示出的,例如,检测到的动作352可以包括设备的本地存储文件夹的删除被首次上传至存储服务。主指令354可以询问用户是否想要将该文件夹配置为仅本地删除文件夹。提示356可以描述将文件夹配置为仅本地删除文件夹的效果和/或目的。例如,提示356可以指示如果文件夹被配置为仅本地删除设备,则从该文件夹本地删除的任何内容都将不会导致该内容在存储服务或者包括该内容的其他设备处被删除(也就是说,该内容将被留存在存储服务处)。提示356还可以包括去往有关这些效果和/或目的的更详细信息的链接358。用户可以响应于主指令354而选择“是”360或“否”362。如果用户选择了“是”360并且接着选择了“OK”命令366(如第一用户选择364和第二用户选择368所示出的),则该文件夹将被配置为仅本地删除文件夹。作为结果,存储服务可以将该文件夹在存储服务处标记为仅本地删除文件夹,以使得该文件夹上的任何本地删除内容都响应于对该删除的检测而被留存在该存储服务处。如果用户不希望配置该文件夹,则该用户可以选择“取消”命令控件370。如果配置被取消,则该文件夹将不会被标记为仅本地删除文件夹,并且内容在其被本地删除的情况下不会在存储服务处被留存。相反,删除选项可以响应于内容的本地删除而被呈现给用户,如结合以下的图4A-B所描述的。
图4A-B包括响应于内容从设备的本地删除而提供的示例通知。如先前所讨论的,基于云的存储服务可以被提供以存储可以跨多个设备和用户被访问的内容并且使得该内容能够共享。例如,存储服务被配置为接收在设备上本地存储的内容以便远程存储在服务处。可以通过在设备上执行的同步客户端来执行在该设备上本地存储的内容和在存储服务处远程存储的内容之间的定期同步,以确保该内容的最新版本在每个位置被存储和/或共享。该存储服务可以被配置为检测该内容从设备的删除。如先前所讨论的,如果设备的用户还没有选择将本地删除的内容留存在存储服务处作为设备的特征和/或作为包含该内容的文件夹的特征,则该设备和/或文件夹都不会在存储服务处被标记为仅本地删除设备和/或仅本地删除文件夹。如果存储服务没有响应于对删除的检测而识别到标签,则存储服务和/或同步客户端可以被配置为通过与该同步客户端相关联的用户界面来提供一个或多个删除选项。接着,该存储服务可以被配置为基于所选择的(多个)删除选项而留存内容。
如在图4A的图400A中所示,针对内容的删除选项可以作为通知402而通过用户界面提供。通知402可以包括用于提供针对通知402为何被提供的上下文的检测到的动作404,以及用于建议用户在所呈现的一个或多个删除选项408中进行一个或多个选择的主指令406。例如,检测到的动作404可以是对特定文件的删除。主指令406可以建议用户针对特定文件在删除选项408中进行选择。删除选项408可以包括删除存储在当前设备上的文件410,删除存储在与用户相关联的选择设备上的文件412,删除存储在与用户相关联的所有设备上的文件414,以及删除存储在存储服务416处的文件416。删除选项408能够经由按钮、开关、和/或其他类似的图形控件来选择。用户可以选择418删除选项408(例如,删除存储在当前设备上的文件410)中的一个或多个,并且选择“OK”命令控件420。如果用户不再希望删除该文件,则用户可以选择“取消”命令控件422。
响应于对“OK”命令控件420的用户选择424,可以通过与同步客户端相关联的用户界面来显示另一个通知450,如图4B的图400B所示。通知450可以包括用于确认用户所选择的先前删除选项的提示452以及主指令454,主指令454用于提供在所删除的文件在存储服务处之后经修改的情况下将其下载至当前设备的用户选项。用于下载的选项可以包括“是”456或“否”458。所呈现的选项456、458可以经由按钮、开关、和/或其他类似图形控件来选择。用户可以选择460所呈现的选项456、458之一(例如,“是”456),并且选择466“完成”命令控件462。如果用户不再希望删除该文件,则用户可以选择“取消”命令控件464。
基于在图4A-B中所示出的选择,响应于检测到当前设备上的文件的删除,存储服务可以被配置为留存远程存储在存储服务处的文件。一旦该内容被留存,存储服务和/或同步客户端就可以防止所留存的文件在同步期间被下载并且本地存储在当前设备上。然而,响应于确定所留存文件已经被该用户或其他用户所修改,存储服务和/或同步客户端可以被配置为使得经修改的文件能够被下载并且本地存储在当前设备上。
图5包括用于响应于检测到内容从设备的本地删除而确定在存储服务处留存还是删除内容的流程。
如示图500中所示出的,存储服务可以接收本地存储在设备上的内容502。可以通过在该设备上执行的同步客户端来执行本地存储在该设备上的内容和远程存储在该存储服务处的内容之间的定期同步,以例如确保该内容的最新版本在每个位置处被存储和/或共享。在一些示例中,该设备的可选择特征和/或包含该内容的文件夹的特征可以是该内容在存储服务处的留存。例如,用户或管理员可以选择从设备或文件夹所删除的内容仅是从该设备被移除,而不从存储服务被移除。该特征选择可以使得存储服务将该设备或文件夹分别标记为仅本地删除设备或仅本地删除文件夹。在另外的示例中,用户或管理员还可以被使能将设备指定为主设备,以使得在内容的删除通过主设备进行时不将该内容留存在存储服务处。
存储服务可以检测内容从设备的删除504。响应于检测,存储服务可以识别该设备或包含该内容的文件夹是否被标记为仅本地删除506。如果存储服务识别出该设备或文件夹被标记为仅本地删除508,则该存储服务可以被配置为将该内容留存在存储服务处510。如果该存储服务识别出该设备或文件夹没有被标记为仅本地删除512,则该存储服务可以确定该设备是否被配置为主设备514。如果该设备没有被配置为主设备516,则该存储服务默认地可以至少临时将该内容留存在存储服务处510。在一些实施例中,如上文结合图4A-B所描述的,可以向用户提供删除选项,其中留存可以是基于所选择的(多个)删除选项的。如果该设备被配置为主设备518,则该存储服务可以被配置为删除存储服务处的该内容520。有效地,该内容在存储服务处的删除接着还可以导致对本地存储在与该用户相关联和/或与其他用户相关联的其他设备上并且与该存储服务同步的内容被删除。
利用具体的组件、数据类型、和配置示出了图1至5中的示例场景和方案。实施例不限于根据这些示例性配置的系统。将被本地删除的内容留存在存储服务处可以在采用较少或额外的系统、服务、应用、引擎和用户体验配置的环境中实现。此外,图1至5中所示出的示例系统、服务、应用、模块和通知可以使用在本文中所描述的原理利用其他数值以相似方式来实施。
图6是其中可以实现根据实施例的系统的联网环境。如示图600中所示出的,除了本地安装的应用(例如,应用106或同步客户端206)之外,留存模块(例如,留存模块118或216)也可以结合托管应用和服务(例如,存储服务114)而被采用,所述托管应用和服务可以经由在一个或多个服务器606或个体服务器608上执行的软件来实现。托管服务或应用可以通过(多个)网络610与诸如手持计算机601、台式计算机602、膝上型计算机603、智能电话604、平板计算机(或板式)605(客户端设备)之类的个体计算设备进行通信并且控制呈现给用户的用户界面。
客户端设备601-605被用来访问由托管的服务或应用所提供的功能。服务器606或服务器608中的一个或多个可以被用来提供如上文所讨论的各种服务。相关数据可以被存储在一个或多个数据存储(例如,数据存储614)中,所述数据存储可以由服务器606中的任何一个或者由数据库服务器612来管理。
网络610可以包括服务器、客户端、互联网服务提供商、和通信介质的任何拓扑。根据实施例的系统可以具有静态或动态拓扑。网络610可以包括诸如企业网络之类的安全网络,诸如无线开放网络、或互联网之类的非安全网络。网络610还可以协调通过其他网络(例如,公共交换电话网络(PSTN)或蜂窝网络)的通信。此外,网络610可以包括短距离无线网络,例如蓝牙和类似网络。网络610提供在本文中所描述的节点之间的通信。作为示例而非限制,网络610可以包括无线介质,例如声音介质、RF介质、红外介质、和其他无线介质。
可以采用计算设备、应用、引擎、数据源、和数据分配系统的许多其他配置来将本地删除的内容留存在存储服务处。此外,在图6中所讨论的联网环境仅是出于说明的目的。实施例不限于示例应用、引擎、和过程。
图7是示例通用计算设备的框图,其可以用于将本地删除的内容留存在存储服务处。
例如,计算设备700可以用作服务器、台式计算机、便携式计算机、智能电话、专用计算机、或类似设备。在示例基本配置702中,计算设备700可以包括处理器704和系统存储器706。存储器总线708可用于在处理器704与系统存储器706之间进行通信。可以在图7中由内部虚线内的那些组件示出了基本配置702。
根据期望的配置,处理器704可以具有任何类型,包括但不限于:微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)、或其任何组合。处理器704可以包括一个以上层级的高速缓存,例如层级高速缓存存储器712、一个或多个处理器核心714、和寄存器716。示例处理器核心714可以(每个)包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP核心)、或其任何组合。示例存储器控制器718还可以与处理器704一起使用,或者在一些实现中,示例存储器控制器718可以是处理器704的内部部件。
根据期望配置,系统存储器706可以具有任何类型,包括但不限于易失性存储器(例如RAM)、非易失性存储器(例如ROM、闪速存储器等)、或其任何组合。系统存储器706可以包括操作系统720、文档处理应用722、以及程序数据724。协同数据库服务722可以包括留存模块726,其可以是存储服务722的集成模块。存储服务722和/或留存模块726可以被配置为在存储服务722处接收在设备中本地存储的内容、检测对设备上的内容的删除、以及将该内容留存在存储服务处。程序数据724可以包括进程数据728等,例如在本文中所描述的在存储服务722处留存的内容。
计算设备700可以具有额外的特征或功能,以及用于促进基本配置702与任何期望的设备和接口之间的通信的额外的接口。例如,总线/接口控制器730可以用于促进基本配置702经由存储接口总线734与一个或多个数据存储设备732之间的通信。数据存储设备732可以是一个或多个可移动存储设备736、不可移动存储设备738、或其组合。可移动存储设备和不可移动存储设备的示例可以包括:磁盘设备(例如,软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(例如,压缩盘(CD)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)、以及磁带驱动器等。示例计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。
系统存储器706、可移动存储设备736、和不可移动存储设备738可以是计算机存储介质的示例。计算机存储介质可以包括但不限于:RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)、固态驱动器、或其他光存储、盒式磁带、磁带、磁盘存储设备或其他磁存储设备、或者可用于存储期望的信息并且可以由计算设备700来访问的任何其他介质。任何这样的计算机存储介质可以是计算设备700的一部分。
计算设备700还可以包括用于促进经由总线/接口控制器730从各种接口设备(例如,一个或多个输出设备742、一个或多个外围接口744、以及一个或多个通信设备746)到基本配置702的通信的接口总线740。输出设备742中的一些输出设备可以包括图形处理单元748和音频处理单元750,它们可以被配置为经由一个或多个A/V端口752而与诸如显示器或扬声器之类的各种外部设备进行通信。一个或多个示例外围接口744可以包括串行接口控制器754或并行接口控制器756,它们可以被配置为经由一个或多个I/O端口758来与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其他外围设备(例如,打印机、扫描仪等)之类的外围设备进行通信。一个或多个通信设备746可以包括网络控制器760,其可以被布置为促进经由一个或多个通信端口764在网络通信链路上与一个或多个其他计算设备762的通信。一个或多个其他计算设备762可以包括服务器、计算设备、和类似设备。
网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块、或经调制的数据信号(例如载波或其他传输机制)中的其他数据来实施,并且可以包括任何信息传递介质。“经调制的数据信号”可以是具有经调制的数据信号的特征集合中的一个或多个特征的信号,或者以关于将信息在信号中进行编码的方式而改变。作为示例而非限制,通信介质可以包括有线介质(例如,有线网络或直接有线连接)和无线介质(例如,声学、射频(RF)、微波、红外(IR)和其他无线介质)。如在本文中所使用的术语计算机可读介质可以包括存储介质和通信介质两者。
可以将计算设备700实现为包括以上功能中的任何一种功能的通用或专用服务器、大型计算机、或类似的计算机的一部分。还可以将计算设备700实现为个人计算机,其包括膝上型计算机和非膝上型计算机配置两者。
示例实施例还可以包括用于将被本地删除的内容留存在存储服务处的方法。这些方法可以以包括在本文中所描述的结构在内的任何数量的方式来实现。一种这样的方式可以是通过在本公开中所描述类型的设备的机器操作。另一种可选的方式可以是针对结合执行一些操作的一个或多个人类操作者而将被执行的方法的独立操作中的一个或多个操作。这些人类操作者无需彼此处于同一位置,但每个操作者可以与执行程序的一部分的机器在一起。在其他示例中,人类交互可以例如通过可以是机器自动化的预先选择的标准而是自动化的。
图8示出了根据实施例的用于将被本地删除的内容留存在存储服务处的方法的逻辑流程图。
过程800可以在计算设备、服务器或其他系统上实现。一种示例系统可以包括服务器,该服务器包括用于促进存储服务与一个或多个设备、存储器以及一个或多个处理器之间的通信的通信接口。所述处理器可以结合所述存储器而被配置为:执行所提供的存储服务以使能跨多个设备和用户对内容进行存储和/或共享。该存储服务还可以被配置为留存被本地删除的内容以防止在设备上本地存储的内容的意外或非法删除导致该内容跨存储服务和/或其他设备被全局删除。
过程800以操作810开始,其中存储服务可以接收在设备上本地存储的内容。可以通过在该设备上执行的同步客户端来执行本地存储在该设备上的内容与远程存储在该存储服务处的内容之间的定期同步,以例如确保该内容的最新版本在每个位置处被存储和/或共享。在一些实施例中,该设备的可选择特征和/或包含该内容的文件夹的特征可以是将该内容留存在存储服务处。例如,该设备的用户或管理员可以选择从设备或文件夹删除的内容仅是从该设备被移除,而不从存储服务被移除。该特征选择可以使得存储服务将该设备或文件夹分别标记为仅本地删除设备或仅本地删除文件夹。在另外的示例中,用户或管理员还可以被使能将设备指定为主设备,以使得在内容的删除通过主设备进行时不将该内容留存在存储服务处。在操作820处,该存储服务可以检测内容从设备的删除。
在操作830处,该存储服务可以将该内容留存在存储服务处。在一个实施例中,该存储服务可以在识别出该设备和/或文件夹在该存储服务处被标记为仅本地删除之后自动地将该内容留存在该存储服务处。在另一个实施例中,用户或管理员可以还没有选择将被本地删除的内容留存在存储服务处作为该设备和/或文件夹的特征,并且因此该设备和/或文件夹可以没有在存储服务处被标记为仅本地删除。因此,该存储服务可以响应于检测到对该设备上的内容的删除而向用户提供删除选项。所述删除选项可以作为响应而通过同步客户端的用户界面被提供给用户,并且可以包括从设备的本地存储删除内容,删除在与用户相关联的其他设备上本地存储的内容,以及删除在存储服务处远程存储的内容。该存储服务可以基于所选择的删除选项来留存内容。可替代地,该存储服务可以基于该设备的另一种配置来留存内容。例如,如果在其上检测到内容删除的设备被配置为主设备,则该内容可以不被留存在存储服务处。一旦内容被留存,存储服务就可以防止所留存的内容在存储服务处的内容与设备处的内容进行同步时被下载并且被本地存储在该设备上。
在操作840处,响应于确定所留存的内容已经被修改,该存储服务可选地可以使得经修改的内容能够在存储服务处的内容与设备处的内容进行同步时被下载并且被本地存储在该设备上。
在过程800中所包括的操作是出于说明的目的的。对被本地删除的内容的留存可以通过具有更少或额外步骤的类似处理来实现,以及以使用在本文中所描述的原理的操作的不同顺序来实现。在本文中所描述的操作可以由在一个或多个计算设备上操作的一个或多个处理器、一个或多个处理器核心、专用处理设备、和/或通用处理器等来执行。
图9示出了根据实施例的用于选择将被本地删除的内容留存在存储服务处的方法的逻辑流程图。
过程900可以在计算设备、服务器或其他系统上实现。一种示例系统可以包括与用户相关联的客户端设备。该客户端设备可以包括显示器,用于促进该客户端设备与存储服务之间的通信的通信接口,以及一个或多个处理器。所述处理器可以被配置为结合所述存储器而使得用户能够选择将被本地删除的内容留存在存储服务处,从而防止本地存储的内容的意外或非法删除导致该内容被全局删除。
过程900以操作910开始,其中处理器可以通过显示器呈现用于将从客户端设备本地删除的内容留存在存储服务处的可选择特征。例如,客户端设备的可选择特征和/或包含内容的文件夹的可选择特征可以被呈现给用户。在操作920处,可以检测该内容从该客户端设备的删除。
响应于检测到该删除,可以基于用于将从客户端设备本地删除的内容留存在存储服务处的特征是否被选择来执行操作930或操作940。在操作930处,如果用于将从客户端设备本地删除的内容留存在存储服务处的特征被选择,则该处理器可以可选地阻止被留存在存储服务处的被本地删除的内容在该存储服务处的内容与客户端设备处的内容进行同步时被下载并且本地存储在该客户端设备上。
在操作940处,如果用于将从客户端设备本地删除的内容留存在存储服务处的特征没有被选择,则该处理器可以通过显示器呈现针对该内容的一个或多个删除选项,并且使得针对该内容的至少一个删除选项能够被选择。内容可以基于所选择的删除选项而被留存在存储服务处。
在过程900中所包括的操作是出于说明的目的的。对被本地删除的内容的留存可以通过具有更少或额外步骤的类似处理来实现,以及以使用在本文中所描述的原理的操作的不同顺序来实现。在本文中所描述的操作可以由在一个或多个计算设备上操作的一个或多个处理器、一个或多个处理器核心、专用处理设备、和/或通用处理器等来执行。
根据一些实施例,可以提供一种用于将从客户端设备本地删除的内容留存在存储服务处的装置,包括用于接收在设备上本地存储的内容的装置,用于提供用于将被本地删除的内容留存在存储服务处的可选择特征以被显示的装置,其中该可选择特征是该设备和包含该内容的文件夹中的一个或多个的可选择特征,以及用于响应于检测到对该特征的选择而在存储服务处将该设备和文件夹中的一个或多个与仅本地删除标签相关联的装置。该装置还可以包括用于检测对设备上的内容的删除的装置,以及用于基于对与所述设备和所述文件夹中的所述一个或多个相关联的所述仅本地删除标签的识别,自动地将所述内容留存在所述存储服务处的装置。
根据一些示例,提供了用于将被本地删除的内容留存在存储服务处的方法。示例方法可以包括:接收在设备上本地存储的内容;提供用于将被本地删除的内容留存在存储服务处的可选择特征以被显示,其中,所述可选择特征是所述设备和包含所述内容的文件夹中的一个或多个的可选择特征;以及响应于检测到对所述特征的选择,在所述存储服务处将所述设备和所述文件夹中的所述一个或多个与仅本地删除标签相关联。所述方法还可以包括:检测对所述设备上的所述内容的删除;以及基于对与所述设备和所述文件夹中的所述一个或多个相关联的所述仅本地删除标签的识别,自动地将所述内容留存在所述存储服务处。
在其他示例中,如果所述特征没有被选择并且检测到对所述设备上的所述内容的所述删除,则提供针对所述内容的删除选项以被显示。所述内容可以基于所选择的删除选项而被留存在所述存储服务处。所述删除选项包括:删除在该设备上本地存储的内容,删除在与用户相关联的其他设备上本地存储的内容,和/或删除在存储服务处远程存储的内容。
在另外的示例中,可以防止所留存的内容在该存储服务处的内容与设备处的内容进行同步时被下载并且被本地存储在该设备上。响应于确定所留存设备已经被修改,可以使得经修改的内容能够在存储服务处的内容与设备处的内容进行同步时被下载并且被本地存储在该设备上。可以使得用户能够将该设备配置为主设备。响应于检测到对在主设备上本地存储的内容的删除,该内容可以在存储服务处被自动删除。
根据其他实施例,可以描述用于执行存储服务的服务器,所述存储服务被配置为将被本地删除的内容留存在存储服务处。一种示例服务器可以包括被配置为促进该存储服务处的内容与设备之间的通信的通信接口,被配置为存储指令的存储器,以及耦合至该存储器的一个或多个处理器。所述处理器结合存储在该存储器中的指令可以被配置为在该存储服务器处接收在设备上本地存储的内容,并且提供用于将被本地删除的内容留存在存储服务处的可选择特征以被显示,其中,该可选择特征是该设备和包含该内容的文件夹中的一个或多个的可选择特征,并且响应于检测到该特征的选择而在存储服务处将该设备和该文件夹中的所述一个或多个与仅本地删除标签相关联。该处理器还可以被配置为检测对设备上的内容的删除,并且基于识别出与该设备和文件夹中的一个或多个相关联的仅本地删除标签而在存储服务处自动留存该内容。
在其他实施例中,响应于确定该特征没有被选择,可以提供针对该内容的删除选项以被显示,其中,该内容可以基于所选择的删除选项而被留存在该存储服务处。在该设备和/或文件夹被标记时可以跟踪该内容的版本。可以提供用于使得该内容的经修改版本能够在该存储服务处的内容与设备处的内容进行同步时被下载并且被本地存储在该设备上的选项以被显示。
根据一些示例,描述了一种具有存储在其上的指令的计算机可读存储器设备,所述指令用于将被本地删除的内容留存在存储服务处。示例指令可以包括:接收在设备上本地存储的内容;提供用于将被本地删除的内容留存在存储服务处的可选择特征以被显示,其中,所述可选择特征是所述设备和包含所述内容的文件夹中的一个或多个的可选择特征;检测对所述设备上的所述内容的删除。如果所述特征被选择,则所述指令可以包括响应于对所述特征的所述选择的检测,基于对与所述设备和所述文件夹中的所述一个或多个相关联的仅本地删除标签的识别,自动地将所述内容留存在所述存储服务处。如果所述特征没有被选择,则所述指令可以包括:提供针对所述内容的删除选项以被显示;并且基于所选择的删除选项中的一个或多个而将所述内容留存在所述存储服务处。
在其他示例中,删除选项可以包括:删除在与用户相关联的设备上本地存储的内容,删除在与用户相关联的其他设备上本地存储的内容,以及删除在存储服务处远程存储的内容。可以提供用于将该客户端设备配置为主设备的选项以被显示,并且该内容可以响应于检测到在主设备上本地存储的内容的删除而自动地在存储服务处被删除。可以防止所留存的内容在该存储服务处的内容与该设备处的内容进行同步时被下载并且被本地存储在该设备上。可以提供用于使得该内容的经修改版本能够在该存储服务处的内容与设备处的内容进行同步时被下载并且被本地存储在该设备上的选项以被显示。
以上的说明书、示例、和数据提供对实施例的组成的制造和使用的完整描述。尽管已经用特定于结构特性和/或方法动作的语言描述了本主题,但应当理解的是,在所附权利要求中定义的主题不一定限于在上文中所描述的具体特征或动作。相反,在上文中所描述的具体特性和动作是作为实现权利要求和实施例的示例形式而公开的。

Claims (10)

1.一种用于将被本地删除的内容留存在存储服务处的方法,所述方法包括:
接收在设备上本地存储的内容;
提供用于将被本地删除的内容留存在所述存储服务处的可选择特征以被显示,其中,所述可选择特征是所述设备和包含所述内容的文件夹中的一个或多个的可选择特征;
响应于检测到对所述特征的选择,在所述存储服务处将所述设备和所述文件夹中的所述一个或多个与仅本地删除标签相关联;
检测对所述设备上的所述内容的删除;以及
基于对与所述设备和所述文件夹中的所述一个或多个相关联的所述仅本地删除标签的识别,自动地将所述内容留存在所述存储服务处。
2.根据权利要求1所述的方法,还包括:
如果所述特征没有被选择并且检测到对所述设备上的所述内容的所述删除,则提供针对所述内容的删除选项以被显示;以及
基于所选择的删除选项中的一个或多个而将所述内容留存在所述存储服务处。
3.根据权利要求1所述的方法,其中,自动地将所述内容留存在所述存储服务处还包括:
防止所留存的内容在所述存储服务处的内容与所述设备处的内容进行同步时被下载并且被本地存储在所述设备上。
4.根据权利要求1所述的方法,还包括:
响应于确定所留存的内容已经被修改,使得经修改的内容能够在所述存储服务处的内容与所述设备处的内容进行同步时被下载并且被本地存储在所述设备上。
5.根据权利要求1所述的方法,还包括:
使得用户能够将所述设备配置为主设备。
6.一种用于执行存储服务的服务器,所述存储服务被配置为将被本地删除的内容留存在所述存储服务处,所述服务器包括:
通信接口,其被配置为促进所述存储服务与设备之间的通信;
存储器,其被配置为存储指令;以及
耦合至所述存储器的一个或多个处理器,所述一个或多个处理器结合在所述存储器中存储的所述指令而被配置为:
在所述存储服务处接收在所述设备上本地存储的内容;
提供用于将被本地删除的内容留存在所述存储服务处的可选择特征以被显示,其中,所述可选择特征是所述设备和包含所述内容的文件夹中的一个或多个的可选择特征;
响应于检测到对所述特征的选择,在所述存储服务处将所述设备和所述文件夹中的所述一个或多个与仅本地删除标签相关联;
检测对所述设备上的所述内容的删除;以及
基于对与所述设备和所述文件夹中的所述一个或多个相关联的所述仅本地删除标签的识别,自动地将所述内容留存在所述存储服务处。
7.根据权利要求6所述的服务器,其中,所述一个或多个处理器还被配置为:
响应于确定所述特征没有被选择,提供针对所述内容的删除选项以被显示;以及
基于所选择的删除选项中的一个或多个而将所述内容留存在所述存储服务处。
8.根据权利要求6所述的服务器,其中,所述一个或多个处理器还被配置为:
提供用于使得所述内容的经修改的版本能够在所述存储服务处的内容与所述设备处的内容进行同步时被下载并且被本地存储在所述设备上的选项以被显示。
9.一种具有存储在其上的指令的计算机可读存储器设备,所述指令用于将被本地删除的内容留存在存储服务处,所述指令包括:
接收在设备上本地存储的内容;
提供用于将被本地删除的内容留存在所述存储服务处的可选择特征以被显示,其中,所述可选择特征是所述设备和包含所述内容的文件夹中的一个或多个的可选择特征;
检测对所述设备上的所述内容的删除;以及
如果所述特征被选择,则响应于对所述特征的所述选择的检测,基于对与所述设备和所述文件夹中的所述一个或多个相关联的仅本地删除标签的识别,自动地将所述内容留存在所述存储服务处;否则
如果所述特征没有被选择:
提供针对所述内容的删除选项以被显示;以及
基于所选择的删除选项中的一个或多个而将所述内容留存在所述存储服务处。
10.根据权利要求9所述的计算机可读存储器设备,其中,所述指令还包括:
提供用于将所述客户端设备配置为主设备的选项以被显示;以及
响应于检测到对本地存储在所述主设备上的内容的删除,自动地在所述存储服务处删除所述内容。
CN201780048706.7A 2016-08-03 2017-07-26 将被本地删除的内容留存在存储服务处的方法和服务器 Active CN109564517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111612194.7A CN114265639B (zh) 2016-08-03 2017-07-26 将被本地删除的内容留存在存储服务处

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/226,966 US10719408B2 (en) 2016-08-03 2016-08-03 Retain locally deleted content at storage service
US15/226,966 2016-08-03
US15/240,004 US10719409B2 (en) 2016-08-03 2016-08-18 Retainment of locally deleted content at storage service by client device
US15/240,004 2016-08-18
PCT/US2017/043821 WO2018026585A1 (en) 2016-08-03 2017-07-26 Retain locally deleted content at storage service

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111612194.7A Division CN114265639B (zh) 2016-08-03 2017-07-26 将被本地删除的内容留存在存储服务处

Publications (2)

Publication Number Publication Date
CN109564517A true CN109564517A (zh) 2019-04-02
CN109564517B CN109564517B (zh) 2022-01-11

Family

ID=61069423

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780048706.7A Active CN109564517B (zh) 2016-08-03 2017-07-26 将被本地删除的内容留存在存储服务处的方法和服务器
CN202111612194.7A Active CN114265639B (zh) 2016-08-03 2017-07-26 将被本地删除的内容留存在存储服务处

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111612194.7A Active CN114265639B (zh) 2016-08-03 2017-07-26 将被本地删除的内容留存在存储服务处

Country Status (4)

Country Link
US (2) US10719408B2 (zh)
EP (1) EP3494470B1 (zh)
CN (2) CN109564517B (zh)
WO (1) WO2018026585A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10614042B2 (en) 2016-08-08 2020-04-07 Microsoft Technology Licensing, Llc Detection of bulk operations associated with remotely stored content
US10616210B2 (en) 2016-08-19 2020-04-07 Microsoft Technology Licensing, Llc Protection feature for data stored at storage service
US11200205B2 (en) * 2020-01-31 2021-12-14 EMC IP Holding Company LLC Displaying an alert and options when deleting a file that is associated with a sequence of files
US11199948B2 (en) 2020-01-31 2021-12-14 EMC IP Holding Company LLC Displaying a sequence and files associated with the sequence having a missing file

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1886741A (zh) * 2003-11-27 2006-12-27 皇家飞利浦电子股份有限公司 用于保持识别数据以允许恢复媒体内容的存储系统
US7231598B1 (en) * 2003-09-18 2007-06-12 Microsoft Corporation User interface for editing documents containing markup language
CN102946411A (zh) * 2012-10-15 2013-02-27 北京奇虎科技有限公司 网络同步系统
CN102957717A (zh) * 2011-08-23 2013-03-06 崔春明 一种云备份服务的本地缓存设备
US20140095727A1 (en) * 2010-09-24 2014-04-03 Amazon Technologies, Inc. Cloud-based device interaction
US20140297586A1 (en) * 2013-03-27 2014-10-02 Pantech Co., Ltd. Device and method for cloud file management
CN104519078A (zh) * 2013-09-26 2015-04-15 中国电信股份有限公司 实现云存储的方法与装置

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2244626A1 (en) 1998-07-31 2000-01-31 Kom Inc. A hardware and software system
US7363330B1 (en) 1999-06-07 2008-04-22 Symantec Corporation Work monitor with file synchronization
US6505214B1 (en) 1999-09-28 2003-01-07 Microsoft Corporation Selective information synchronization based on implicit user designation
US7143092B1 (en) 1999-12-14 2006-11-28 Samsung Electronics Co., Ltd. Data synchronization system and method of operation
US7962950B2 (en) 2001-06-29 2011-06-14 Hewlett-Packard Development Company, L.P. System and method for file system mandatory access control
US20040068523A1 (en) 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
US7155460B2 (en) 2003-03-18 2006-12-26 Network Appliance, Inc. Write-once-read-many storage system and method for implementing the same
WO2005031585A1 (ja) * 2003-09-29 2005-04-07 Sony Corporation サービス利用装置
US7499904B2 (en) 2003-11-25 2009-03-03 Microsoft Corporation System and method for client mastered replication of local files
US8291160B2 (en) 2005-02-17 2012-10-16 Overland Storage, Inc. Tape library emulation with automatic configuration and data retention
JP2008538835A (ja) 2005-04-25 2008-11-06 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ファイルを復元する装置、方法及びシステム
US20100030819A1 (en) 2006-10-10 2010-02-04 Allgo Embedded Systems Private Limited Method, system and apparatus to seamlessly manage and access files across multiple devices
US8769275B2 (en) 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method
US8918863B1 (en) 2006-12-21 2014-12-23 Symantec Corporation Method and apparatus for monitoring source data that is a target of a backup service to detect malicious attacks and human errors
US20080228578A1 (en) * 2007-01-25 2008-09-18 Governing Dynamics, Llc Digital rights management and data license management
US9123204B2 (en) 2007-02-27 2015-09-01 Igt Secure smart card operations
US20080270480A1 (en) * 2007-04-26 2008-10-30 Hanes David H Method and system of deleting files from a remote server
CA2707246C (en) 2009-07-07 2015-12-29 Certusview Technologies, Llc Automatic assessment of a productivity and/or a competence of a locate technician with respect to a locate and marking operation
US8380916B2 (en) 2009-06-04 2013-02-19 Micron Technology, Inc. Control of page access in memory
US20140019497A1 (en) 2010-02-22 2014-01-16 Asaf CIDON Modification of files within a cloud computing environment
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US8453215B1 (en) 2010-10-25 2013-05-28 Go Daddy Operating Company, LLC Suggesting access permission changes to lock a website
US8769642B1 (en) 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
US8504532B2 (en) 2011-06-10 2013-08-06 Infosys Limited System and method for deletion of data in a remote computing platform
US8850516B1 (en) 2011-06-22 2014-09-30 Emc Corporation Virtual private cloud that provides enterprise grade functionality and compliance
US9053338B2 (en) 2011-09-20 2015-06-09 Mckesson Financial Holdings Methods, apparatuses, and computer program products for exception handling
US8682868B2 (en) * 2011-12-02 2014-03-25 International Business Machines Corporation Removal of data remanence in deduplicated storage clouds
US9380110B2 (en) 2011-12-09 2016-06-28 Google Technology Holdings LLC Adaptive data synchronization based on data plan or network usage
US9449183B2 (en) 2012-01-28 2016-09-20 Jianqing Wu Secure file drawer and safe
US9153449B2 (en) 2012-03-19 2015-10-06 Lam Research Corporation Electroless gap fill
US20130311597A1 (en) * 2012-05-16 2013-11-21 Apple Inc. Locally backed cloud-based storage
JP6074926B2 (ja) * 2012-07-05 2017-02-08 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
US9424432B2 (en) 2012-09-20 2016-08-23 Nasdaq, Inc. Systems and methods for secure and persistent retention of sensitive information
US9037825B1 (en) 2012-11-20 2015-05-19 Amazon Technologies, Inc. Write horizon data management
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9104687B2 (en) 2012-12-20 2015-08-11 Dropbox, Inc. System and method for preventing duplicate uploads of modified photos in a synchronized content management system
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9934241B2 (en) 2013-03-05 2018-04-03 Hightail, Inc. System and method for cloud-based read-only folder synchronization
US20140259005A1 (en) 2013-03-08 2014-09-11 Air Computing, Inc. Systems and methods for managing files in a cloud-based computing environment
US20140279498A1 (en) 2013-03-12 2014-09-18 Bank Of America Corporation Secure Identity Element
US8856256B1 (en) 2013-03-13 2014-10-07 CoralTree Inc. System and method for file sharing and updating
US10209904B2 (en) 2013-04-09 2019-02-19 EMC IP Holding Company LLC Multiprocessor system with independent direct access to bulk solid state memory resources
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US9325571B2 (en) 2013-05-28 2016-04-26 Dropbox, Inc. Access permissions for shared content
US9378370B2 (en) * 2013-06-17 2016-06-28 Microsoft Technology Licensing, Llc Scanning files for inappropriate content during synchronization
GB2517483B (en) 2013-08-22 2015-07-22 F Secure Corp Detecting file encrypting malware
US9679266B2 (en) 2014-02-28 2017-06-13 Red Hat, Inc. Systems and methods for intelligent batch processing of business events
US10819861B2 (en) 2014-04-28 2020-10-27 Tangoe Us, Inc. Real-time usage detection of software applications
US10387451B2 (en) 2014-05-30 2019-08-20 Apple Inc. Synchronization system for multiple client devices
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US10380076B2 (en) 2014-07-21 2019-08-13 Egnyte, Inc. System and method for policy based synchronization of remote and local file systems
US9870359B2 (en) 2014-08-07 2018-01-16 Software Ag System and method for dynamic document retention
US9632713B2 (en) 2014-12-03 2017-04-25 Commvault Systems, Inc. Secondary storage editor
US10163075B2 (en) 2015-03-13 2018-12-25 Paypal, Inc. Bulk event scheduling
US9961030B2 (en) * 2015-06-24 2018-05-01 Private Giant Method and system for sender-controlled messaging and content sharing
US9912752B1 (en) 2015-06-29 2018-03-06 Amazon Technologies, Inc. Retention-based data management in a network-based data store
US9699205B2 (en) 2015-08-31 2017-07-04 Splunk Inc. Network security system
CN105072135B (zh) 2015-09-02 2018-11-30 中国地质大学(武汉) 一种云文件共享的授权鉴权方法及系统
US9401959B1 (en) * 2015-12-18 2016-07-26 Dropbox, Inc. Network folder resynchronization
US20170228675A1 (en) 2016-02-10 2017-08-10 International Business Machines Corporation Evaluating a content item retention period
US10614042B2 (en) 2016-08-08 2020-04-07 Microsoft Technology Licensing, Llc Detection of bulk operations associated with remotely stored content
US10616210B2 (en) 2016-08-19 2020-04-07 Microsoft Technology Licensing, Llc Protection feature for data stored at storage service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231598B1 (en) * 2003-09-18 2007-06-12 Microsoft Corporation User interface for editing documents containing markup language
CN1886741A (zh) * 2003-11-27 2006-12-27 皇家飞利浦电子股份有限公司 用于保持识别数据以允许恢复媒体内容的存储系统
US20140095727A1 (en) * 2010-09-24 2014-04-03 Amazon Technologies, Inc. Cloud-based device interaction
CN102957717A (zh) * 2011-08-23 2013-03-06 崔春明 一种云备份服务的本地缓存设备
CN102946411A (zh) * 2012-10-15 2013-02-27 北京奇虎科技有限公司 网络同步系统
US20140297586A1 (en) * 2013-03-27 2014-10-02 Pantech Co., Ltd. Device and method for cloud file management
CN104519078A (zh) * 2013-09-26 2015-04-15 中国电信股份有限公司 实现云存储的方法与装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ORIANA RIVA: "Policy Expressivity in the Anzere Personal Cloud", 《ACM》 *
UENUGOPALAN RAMASUBRAMANIANI: "Cimbiosys:A Platform for Content一based Partial Replication", 《USENIX,HTTPS://WWW.USENIX.ORG/LEGACY/EVENTS/NSDI09/TECH/FULL_PAPERS/RAMASUBRAMANIAN/RAMASUBRAMANIAN_HTML/INDEX.HTML》 *

Also Published As

Publication number Publication date
WO2018026585A1 (en) 2018-02-08
US10719408B2 (en) 2020-07-21
US10719409B2 (en) 2020-07-21
EP3494470A1 (en) 2019-06-12
CN114265639A (zh) 2022-04-01
US20180039551A1 (en) 2018-02-08
EP3494470B1 (en) 2023-10-11
CN109564517B (zh) 2022-01-11
US20180039686A1 (en) 2018-02-08
CN114265639B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
US9348563B1 (en) Bi-directional editing between visual screen designer and source code
CN108205467A (zh) 重复动作的智能辅助
US8578285B2 (en) Methods, apparatus and systems for providing secure information via multiple authorized channels to authenticated users and user devices
US20230221829A1 (en) Real-time geospatial collaboration system
US11385788B2 (en) Sharing a file with a single contact
US10185549B2 (en) Updating live system with static changes
US20170039220A1 (en) File path modification based management
CN109564517A (zh) 将被本地删除的内容留存在存储服务处
US10135867B2 (en) Dynamically updated computing environments for detecting and capturing unauthorized computer activities
CN109117425A (zh) 管理被存储为组件和打包文件的数字资产
CN111930521A (zh) 用于部署应用的方法、装置、电子设备及可读存储介质
CN106796684A (zh) 从时间线创建日历事件
CN105183495B (zh) 跨操作系统域来协调活动视图
US10721084B2 (en) Providing a private mode in asynchronous collaboration for a synchronous collaboration environment
US10678413B2 (en) Application for auto deletion of images
CN109565522A (zh) 检测与远程存储的内容相关联的批量操作
US10671373B1 (en) Mechanism for automatically incorporating software code changes into proper channels
CN107533425A (zh) 跨平台命令可扩展性
US9667469B2 (en) Colony application
US9900391B2 (en) Automated orchestration of infrastructure service blocks in hosted services
US9372669B2 (en) Multiple architecture viewpoints in single unified modeling language (UML) model
CN114238462A (zh) 功能界面配置方法、装置、计算机设备和存储介质
CN113656095A (zh) 配置数据的处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant