CN110192190A - 划分存储 - Google Patents

划分存储 Download PDF

Info

Publication number
CN110192190A
CN110192190A CN201880007491.9A CN201880007491A CN110192190A CN 110192190 A CN110192190 A CN 110192190A CN 201880007491 A CN201880007491 A CN 201880007491A CN 110192190 A CN110192190 A CN 110192190A
Authority
CN
China
Prior art keywords
party
resource
storage region
master instance
user
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
CN201880007491.9A
Other languages
English (en)
Other versions
CN110192190B (zh
Inventor
A·马克索德
O·弗莱德博格
B·夸尔海姆
R·奥克
O·H·布鲁
H·索尔海姆
V·克努森
K·贝里斯特兰德
S·胡尔特
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
Publication of CN110192190A publication Critical patent/CN110192190A/zh
Application granted granted Critical
Publication of CN110192190B publication Critical patent/CN110192190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/273Asynchronous replication or reconciliation
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种服务器系统,包括用于包括第一方和第二方的多个相应方中的每一方的物理上分离的存储区域,以及用于管理存储的管理器功能单元。例如,存储区域中的一些存储区域可以在不同的服务器单元中,也可以位于不同的地理位置。这些存储区域中的至少一些存储区域中的每一个存储区域存储相应方的一个或多个数据资源的主实例。管理器功能单元被配置为:响应于第二方与第一方的所述资源中的一个资源形成关系,在第二方的相应存储区域中建立第一方的所述资源中的所述一个资源的辅助副本。此外,当主实例通过更改进行更新时,管理器功能单元将主副本中的更改传播到第二方的存储区域中的辅助副本。

Description

划分存储
背景技术
随着全球用户和应用程序数量的增长,越来越需要越来越多的数据存储来存储各种各样的资源。例如,这些资源可以包括:诸如电子表格、文字处理文档、幻灯片演示、图像、视频等等之类的文件;诸如电子邮件、IM聊天记录等等之类的存储的通信历史记录;诸如联系方式、社交媒体简档等等之类的用户个人资料信息;和/或诸如网站、文档共享站点等等之类的站点。这些资源可以源自于安装在用户终端上和/或在线托管的各种应用程序,比如文字处理应用程序、电子表格应用程序、社交媒体应用程序、文件共享应用程序等等。
在线存储越来越流行。使用在线存储,可以将资源在线地存储在“云”上,这意味着将资源存储在可通过互联网访问的服务器系统上,该服务器系统通常包括在一个以上数据中心和/或地理位置中实现的多个服务器单元。用于通过诸如互联网之类的网络进行分布式存储和处理的技术在本领域中是公知的。
众所周知,用户可以将他们自己的资源提供给其他用户,例如同一组织(例如,公司)内的用户。例如,这可以允许一个或多个其他用户查看资源、订阅资源更新、或者甚至修改资源。
发明内容
但是,现有系统不能很好地进行扩展。在传统系统中,在与拥有给定资源(例如,文件、站点等)的用户相关联的单个存储位置中,存储该资源的单个主副本。如果该资源可供一个或多个其他用户查看、修改等等,则所有用户访问相同的集中式主副本。为了扩展这样的系统以使资源可用于更多的用户,必须升级存储资源的服务器单元的处理资源,例如通过升级CPU或添加更多RAM。
另一方面,在本公开内容中,当第一用户的资源(例如,文件等)可用于第二其他用户时,将该资源复制到第二用户的存储位置(或者更一般地,这可以应用于第一方和第二方的存储区域,其中每一方可以是个人用户或一组用户,比如组织内的一个团队)。
因此,根据本文所公开的一个方面,提供了一种服务器系统,该服务器系统包括用于包括第一方和第二方的多个相应方中的每一方的物理上分离的存储区域,该服务器系统还包括用于管理存储的管理器功能单元。例如,存储区域中的一些存储区域(例如,第一方和第二方的存储区域)可以在具有单独壳体或者甚至在不同地理位置的单独服务器单元中实现。这些存储区域中的至少一些存储区域中的每一个存储区域存储相应方的一个或多个数据资源的主实例。管理器功能单元被配置为:响应于第二方与第一方的所述资源中的一个资源形成关系,在第二方的相应存储区域中建立第一方的所述资源中的所述一个资源的辅助副本。此外,当主实例通过更改进行更新时,管理器功能单元将主副本中的更改传播到第二方的存储区域中的辅助副本。
通过在第二用户的存储位置中复制第一用户的资源,这意味着为了扩展系统,只需要增加更多的具有传统处理能力的服务器单元,而不需要升级给定单元的处理能力。因此,所公开的系统有利地平衡了增加的冗余度以提高可扩展性。
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是用于限制本发明的保护范围。也不是将本发明限制于解决本文所陈述的缺点中的任何一个或全部的实施方式。
附图说明
为了有助于本公开内容的理解以及说明实施例如何付诸于实施,通过示例的方式来参考附图,其中:
图1是存储系统的示意性框图,
图2是存储系统的逻辑和物理模型的示意性视图,
图3是用户和资源之间的示例性关系的示意性视图,
图4示意性地示出了用户和资源之间的关系的图,以及
图5示意性地示出了对图4的图的划分。
具体实施方式
图1示出了根据本公开内容的实施例的服务器系统。该服务器系统包括多个服务器单元104,每个服务器单元104例如是服务器机架上的不同模块(单独的外壳),或者位于不同的房间或数据中心。服务器单元104中的一些或全部甚至可以位于不同的地理位置,其包括位于不同城镇、城市、县、州、国家甚至大陆的可能性。每个服务器单元包括由一个或多个存储器设备形成的相应存储器105,这些存储器设备可以包括例如一个或多个磁存储器设备(例如,一个或多个硬盘驱动器)和/或一个或多个电子存储器设备(例如,一个或多个固态驱动器(SSD))、或者任何这种存储器设备的组合。通过示例的方式,在图1中仅示出了三个服务器单元104i、104ii、104iii和它们各自的存储器105i、105ii、105iii,但是应当理解,实际上可以在系统中包括更多的存储器。
服务器单元104通过适当的分组交换网络101(例如,诸如通常称为互联网的广域互联网络或者专用内联网)联网在一起。网络可以通过任何适当的有线和/或无线通信介质或媒体(例如,互联网的有线基础设施、和/或诸如无线蜂窝网络、无线局域网等等之类的一个或多个无线网络)来实现。通过实现的任何方式,网络101使服务器单元104能够一起操作以经由网络101向用户103提供可从其各自的用户终端102访问的分布式存储系统。每个用户终端102可以采用任何适合于经由有线或无线连接来访问网络101的形式,例如,桌面型计算机、膝上型计算机、平板设备、智能手机、智能手表或一副智能眼镜(不同的用户终端并不必采用相同的形式)。在图1中以举例说明的方式示出了两个特定用户103a(第一用户,Alice)和103b(第二用户,Bob)和它们各自的用户终端102a、102b,但是应当理解,该系统可以服务于许多用户103,这些用户103从许多相应的用户终端102访问系统。
举例而言,服务器系统可以被布置为向作为系统提供者的客户或“租户”的多个组织提供存储服务。
还参考图4,服务器系统存储数据资源201,其中每个数据资源可以包括数字信息的任何项或集合(例如,文件、存储的通信、用户简档信息或某种类型的站点)。文件的例子包括文字处理文档、电子表格、幻灯片、图像、视频等等。存储的通信的例子包括电子邮件或IM(即时消息)聊天历史记录。用户简档信息的例子包括联系人详细信息(例如,“联系人卡片”)和社交媒体简档。站点的例子包括文档共享站点、网站和协作站点。在本文引用资源的任何地方,这可以指代任何上述资源或其它资源(并且不同的资源不需要全部具有相同的类型)。
服务器单元104的存储器105存储各种用户103的资源201(例如,文件、电子邮件等),其中用户可以使这些存储的资源可用于组织内的其他用户以使他们能够执行某种动作或某些动作,例如查看或修改他们有权访问的资源。在用户访问某个资源的情况下,可以将用户描述为与该资源具有关系,其中该关系可以根据允许用户执行什么动作(例如,查看、修改)和/或用户与资源联系的方式(例如,与用户共享、用户周围的趋势等等)来限定。服务器系统维护组织中用户和资源之间的所有关系的图。该图还记录了关系的质量,即用户与资源相关的方式(由用户查看、由用户修改、与用户共享、在用户周围的趋势等等)。
该图由管理器功能单元106来维护。根据本文所公开的实施例,管理器功能单元106以分布式功能的形式实现,即,管理器功能单元106i、106ii、106iii的相应实例运行在服务器单元104i、104ii、104iii中的每一个之上。管理器功能单元106的每个实例采用存储在相应服务器单元104的存储器105的一部分上的软件的形式,并且被布置为在相应服务器单元104的相应处理装置(没有示出)上运行(该处理装置包括一个或多个微处理器,每个微处理器具有一个或多个核)。另外,还应当注意,不排除集中式管理器功能单元的可能性。
在图3中,示意性地示出了图关系的一些例子。图3中的顶部图示出了基本关系的例子,其中基本关系是从一个对象到另一个对象的直接导航。也就是说,该关系定义了用户103如何与所讨论的资源201相关,例如用户103已经相对于资源201执行的动作(例如,该资源最后被该用户修改的事实)和/或用户103与资源201联系的方式(例如,另一个用户与该用户共享)。这种关系的另一个例子是用户103订阅了给定资源201的时间。在这种情况下,用户103向管理器功能单元106进行注册,以每当指定资源201被另一个用户更新时接收通知,并且管理器功能单元106在发生这种更新时自动提供通知。
图3中的中间图示出了丰富关系的例子。丰富的关系是通过元数据补充的关系,其可以连接到一个或多个对象。元数据可以例如定义用户103相对于资源201执行特定动作(活动)的时间,例如该用户最后修改它的时间。
图3中的底部图示出了“洞察力”的例子。洞察力是由管理器功能单元106的智能层自动创建的推断的丰富关系。推断关系的例子是趋势。当管理器功能单元106检测到与所讨论的用户103相关联的一个或多个预定义其他用户关于给定资源201执行了超过阈值数量的预定义动作时,发生趋势。例如,预定义的用户可以是目标用户103的联系人,或者是同一组(例如,组织内的相同部门或相同兴趣组)中的用户。例如,如果用户的联系人或者某个指定组中的其他用户已经查看了给定资源201(例如,文件)超过X次,则将该资源声明为围绕该用户的趋势。
管理器功能单元106在图中维护所有这些信息,在创建或改变关系时更新这些信息。
如果要将该图实现为单个组织范围的图,那么为了扩展具有许多用户的大型系统,该图只能通过增加更强大的硬件(例如,更强大的CPU、更多的RAM等)来增长。取而代之的,当前公开的系统通过跨多个每用户邮箱划分和部分复制该图的一部分来提供解决方案,从而允许通过进一步增加服务器单元而不是升级给定单元的计算能力来扩展该图大小。
该图在概念上是整个组织的全局互连图(“租用权”)。但是,根据目前公开的技术,它还被划分成具有个性化视图的个人的、特定于用户站点的图。
再次参考图1在一个或多个服务器单元104的存储器中向每个用户103分配他/她自己的主分区107或“分片”。该分区包括相应用户的个人邮箱。此外,将该图划分为用于每个用户103的图的个人视图501(参见图5),该图的这种片段连同相应用户103通过该图的片段501相关的资源201存储在该用户的相应邮箱107中。在两个用户与同一资源201相关的情况下,将该资源复制到其中一个用户的邮箱中。资源201的主副本存储在拥有数据的用户的邮箱中,辅助副本存储在图中与具有资源201具有关系的每个其他用户103的邮箱中。
因此,诸如图4中所示的租户范围的图(其示出了许多用户、文件、其它项和用户对对象的动作)被分割成邮箱(“分片”),如图5中所示。
邮箱107中的每一个邮箱是在物理上分离的相应存储器区域上实现的。任意两个给定用户102a、102b的邮箱107a、107b可以在不同服务器单元104i、104ii的存储器105i、105ii中实现,这些存储器可以在同一数据中心的不同的可移动和可替换的物理模块中、或者在不同的数据中心中、或者甚至在不同的地理区域(如不同的城镇、城市、县、州或国家或者甚至大陆)。各个服务器单元104经由网络101联网在一起并且由分布式管理器功能单元106控制,以便一起工作来提供本文所描述的功能。有时,任何两个给定用户的邮箱可能碰巧发生在同一服务器单元的存储器105的不同物理区域中,但这些邮箱仍然保持图的不同视图501以及在存储器的不同区域中维持相应资源201的不同副本。
无论在何处实现邮箱107a、107b,管理器功能单元106都被配置为在用户邮箱107的每一个邮箱中建立对于一个以上用户103来说共同(在图中)的任何资源(文件、电子邮件等)的相应副本。
拥有资源的用户的邮箱中的副本被视为主副本或者同义地“主要”副本。所有者可以例如是资源的作者或者首先将资源引入系统的用户。在实施例中,管理器功能单元106配置有一个或多个所有权规则的集合,以用于规定谁是给定资源的所有者201,以及要存储每个资源的主(即,主要)实例的地方(即,哪个用户的邮箱107或“分片”)。稍后将更详细地讨论这些所有权规则的示例。
将任何其他用户的邮箱107中的副本视作为辅助副本。当任何这样的其他用户希望访问资源(例如,查看资源)时,他们在他们自己的邮箱107中查看该副本。如果对资源有任何后续修改,则对主副本进行修改,并且管理器106被配置为随后自动地将该修改传播到连接到图的主副本的每个辅助副本。
与本公开内容相比而言,在传统系统中,将存在任何给定资源的仅仅一个主实例,由此,如果使其可用于其他用户,则所有用户将访问相同的单个主副本。这将遇到类似于上面所描述的可扩展性问题。但是,利用图的相应片段501和各个资源201的副本在每个相应用户103的不同邮箱107上复制,每个邮箱可以在任何服务器单元上实现,以模块化方式在服务器单元104之间移动。因此,为了扩展系统以适应图中的更多连接,提供商可以根据需要简单地添加更多的服务器单元104,并且在服务器单元104之间重新分配不同用户103的邮箱107。
优选地,给定用户103的邮箱107位于与该相应用户103处于相同地理区域的服务器单元104上。如果管理器功能单元106被通知或检测到(例如,来自新IP地址的持久使用)用户103已经移回到新的地理位置,则它可以相应地将邮箱107迁移到该新地理区域内的新地理位置。因为邮箱107都是模块化的,因此这可以容易地实现。
每个邮箱中的每个副本还可以包括记录资源的一个或多个属性的元数据(即,“标签”或标记),例如,其限定相应用户和资源之间的关系、和/或资源的某种绝对属性(例如,上次被任何用户修改的属性)。将限定该关系的元数据存储为关于该关系的直接对象的属性。当创建辅助副本时,可以在辅助副本中复制来自主副本的一些(但不一定是全部)元数据;并且当修改主副本时,可以将元数据中的任何相应更改中的一些(但不一定是全部)传播到辅助副本/副本集。稍后将参照图2更详细地描述这一点。
主副本可以包括用于规定允许哪些其他用户或用户组访问资源的列表。即,并非所有用户都必须获得给定资源201的辅助副本:管理器功能单元106可以被配置为查询该列表以判断给定的其他用户是否有权连接到图中的该资源并且获得他/她的邮箱中的辅助副本。
在实施例中,将图限制于给定的组织(例如,公司),使得组织之外的用户不能与组织内的用户的资源形成关系,也不能获得对组织内的用户的资源的访问。这有利地允许服务器系统的提供商向多个组织提供存储服务,而不在组织之间公开潜在的敏感信息。例如,如果提供商向两个竞争对手的可乐公司提供存储服务,那么这两个公司将希望保持他们的数据彼此牢固地保密。但是,并不排除在其它实施例中该图可以跨度多个组织或者甚至对所有用户是全局的。
在术语上,应当注意,在本文中使用的术语“副本”是同一文档或其它此类资源的多个实例之一。“主副本”或“主要副本”不一定必需意味着主实例或主要实例是从某个其它原件复制或重复的副本。主/主要副本可以是原始实例,也可以源自于存储在其它地方的原始实例(不是图系统的一部分),使得主副本是图中的主控者但不是最终的原始副本,并且可以例如包含刚从原始实例中提取的文本或其它内容,或者可以包括指向原始实例的内容的链接。但是,“辅助”确实意味着辅助副本是从主副本(主要副本)生成的。
还应当注意,虽然本文根据个人用户103描述了实施例,但是一个、一些或所有邮箱(以及资源201的副本和存储在其中的图501的片段)实际上可以是特定用户组(例如,组织中的某个团队)的邮箱。因此,诸如群组对话、协作文档或协作工作站点之类的组数据可以存储在组邮箱中,可以与其他用户或其他组共享这样的组内容。无论在本说明书中何处引用用户,用户通常都可以是由单个用户或规定的用户组所组成的任何一方。
此外,在本文的描述中使用术语“邮箱”并不意味着将资源201限制于是电子邮件或者任何其它形式的邮件。如上所述,其主副本和辅助副本存储在各个用户的邮箱107中的资源201,可以采用诸如文件、通信、站点、和/或用户简档信息之类的各种形式中的任何一种。
在实施例中,管理器功能单元106使用电子邮件作为用于将主副本中的更改传播到辅助副本的介质,和/或作为用于将数据从一个用户的存储区域107发送到另一个用户的存储区域以便根据主副本创建辅助副本的介质。这并不意味着最终用户103接收电子邮件,而是管理器功能单元106“在后台”使用电子邮件。例如,考虑在第二服务器单元104ii上根据第一服务器单元104a上的第一用户103a的邮箱107a中的主副本,将资源的辅助副本创建到第二用户103b的邮箱107b中,或者将修改从主副本到传播辅助副本。第一服务器单元104i上的管理器功能单元106i的实例向第二服务器单元104ii上的实例106ii发送电子邮件,该电子邮件包含用于制作辅助副本或者用于传播更改的数据,管理器功能单元的接收实例106ii拦截该电子邮件并对其进行操作,而不实际向最终用户103b将该电子邮件呈现为接收邮箱107ii的所接收电子邮件。因此在实施例中,图被分割成电子邮件邮箱以使其能够通过电子邮件平台来实现。电子邮件平台提供了用于通过异步消息传递来维护辅助副本的持久消息队列。
但是,这并不是限制性的,在其它实施例中,可以使用其它通信介质,例如,用于传播辅助副本和修改的专有协议。为避免疑义起见,在本说明书中引用邮箱的任何地方,其可以等同地替换为诸如“存储区域”、“用户区域”、“存储隔间”等等之类的替代术语。根据本文所引入的术语,其也可以称为“分片”。
无论通过什么介质来传播更改,管理器功能单元106都实现用于确定对资源201进行掌控的位置的所有权规则、以及用于建立和维护辅助副本的规则。
所有权规则规定了哪个用户103是每个给定资源201的所有者,因此其邮箱107存储主副本。在实施例中,所公开的服务器系统(其包括管理器功能单元106和它维护的图)被配置为与由服务器系统的提供者操作的底层文件系统一起工作,和/或与第三方操作的伙伴文件系统一起工作或者类似情形。例如,这些可以包括云存储服务、文件共享服务或站点、协作文档共享站点等等。替代地或另外地,服务器系统可以被配置为与用户的用户终端102中的一个或多个中的每一个上的本地文件系统一起工作。通过管理器功能单元106被配置为将用户的本地或在线文件库、帐户和/或站点等中的资源映射到用户103的邮箱107中的主实例上,来实现所有权规则,从而创建将全局图中的节点和关系一致地映射到邮箱107(或者更一般地,存储区域或“分片”)。
例如,给定用户103可以具有文件库,该文件库包括本地存储在他/她的计算机上或者在线存储在云存储服务上的一个或多个文件夹。所有权规则可以规定:该文件库中的任何和所有文件、或者该文件库中的一个或多个所选文件夹,将其主实例存储在该用户103的邮箱107中。访问这些文件中的任何文件的任何其他用户103,将在他/她的邮箱107中维护辅助副本。再举一个例子,给定用户103可以具有包括一个或多个文件夹的在线文件共享帐户。这些规则可以规定:该文件共享帐户中的任何和所有文件、或者该文件共享帐户中的一个或多个所选文件夹,将其主实例存储在该用户103的邮箱107中。再次,访问这些文件中的文件的任何其他用户103,将在他/她的邮箱107中维护辅助副本。再举一个例子,给定用户103可以在包括一个或多个文件夹的站点的在线协作工作空间上具有帐户,这些规则可以规定:用户的工作空间、站点或站点集合中的任何和所有文件、或者该工作空间、站点或多个集合中的一个或多个所选文件夹,由该用户拥有,因此在该用户的邮箱中具有其主副本。通常,这种所有权规则可以适用于任何资源库(例如,文件库、文件集合、站点、站点集合、工作空间等等)。
应当注意,在本文提及所有权或所有权规则或类似情况时,这并不一定意味着用户是任何其它意义上的所有者,而意味着他或她是将主副本存储在他/她的邮箱(即,存储区域)107中的用户。例如,它并不一定意味着用户是版权所有者。或者,例如,某些资源或库等等在法律意义上由组织拥有,而不是由一个用户拥有。此外,如上所述,本文关于单个用户描述的任何内容也可以涉及一组用户。因此,对于一些资源201,即使在将主副本存储在单个用户的邮箱中的意义上,资源201也不归单个用户拥有,而是资源201可以存储在“属于”多个用户(例如,组织内的某个团队或者甚至整个组织)的邮箱中。对于这些库,系统可以创建“仲裁邮箱”(即,并非特定地由任何用户拥有的邮箱),可以将每个库(以某个级别)确定性地映射到一个这样的邮箱中。
除了所有权规则之外,管理器功能单元106还应用一个或多个其它规则来创建和维护辅助副本。所有权规则和/或其它规则可以被配置为有利于性能和/或位置。对于位置,根据简单规则,使“正确”对象在本地可用。例如,根据管理器功能单元106实现的一个优选规则,给定用户103访问过的每个资源201都在他/她的各自邮箱107中。在实施例中,被认为是用户103“周围趋势”的资源201,也可以包括在他/她的各自邮箱107中。可以基于活动订阅机制来生成趋势资源。例如,用户获得他/她工作最多的40个人的所有活动,并且当本地认为感兴趣时,在用户的邮箱107中对相关项目进行复制(建立的辅助副本)。
图2示出了从在线存储库映射到邮箱的系统的逻辑模型和物理模型。顶部图显示了逻辑模型,底部图显示了物理模型。图2还示出了在邮箱107之间共享和同步的属性的例子,以及相比而言,特定于给定用户的邮箱的个人属性。
图2通过参考涉及第一用户103a(Alice)和第二用户(Bob)的例子来说明这些概念,第一用户103a(Alice)具有在第一服务器单元104i上实例化的相应邮箱107a,第二用户Bob具有碰巧在第二服务器单元104ii上实例化的单独的相应邮箱107b。在所示出的例子中,存在三个资源:第一文件201A(“文件A”)、第二文件201B(“文件B”)和第三文件201C(“文件C”)。应当理解的是,实际上,邮箱107在事实上可以存储比这更多的资源,并且还可能存在涉及更多用户的许多更多关系的更复杂的网络。此外,资源也不仅限于文件。仅通过示例的方式,给出了两个用户和三个文件的这个特定示例。
文件A和文件B属于Alice。因此,文件A和文件B中的每一个的主(主要)副本201AI、201AII各自存储在Alice的邮箱107a中。文件C属于Bob,因此主(主要)副本201CI存储在Bob的邮箱107b中。在某个时间点,Alice已经与文件B连接,例如Alice与Bob共享文件B,或者Bob因为订阅而接收到关于文件B的通知(例如,因为它是趋势、或者因为Bob订阅了来自Alice的所有内容、或者搜索了来自Alice的内容等等)。作为响应,管理器功能单元106自动地在Bob的邮箱107b中创建文件B的辅助副本。
类似地,在某个时间点,Alice已经接触了文件C、Bob的文件。同样,这可能是例如因为Bob与Alice共享文件C,或者因为Alice已向Bob通知其内容的订阅,或者作为搜索查询的结果等等。作为响应,管理器功能单元106在Alice的邮箱107a中自动地创建文件C的辅助副本。
应当注意,在实施例中,系统允许除了所有者之外的另一个用户修改资源201,例如,尽管他/她不是作者,但要对文件进行更改。在该情况下,其他用户修改主副本201I(即,所有者的副本),然后管理器功能单元106将修改传播回到其他用户的邮箱107。因此,如果Alice创作或发布了文件B,Bob可以编辑它,在这种情况下,他编辑Alice的邮箱107a中的主副本201B,然后将编辑结果传播回他自己的邮箱107b上的他的辅助副本。但是,当Bob查看文件B时,他从他自己的邮箱107b查看本地辅助副本。
在进一步的实施例中,任何给定资源的主副本201I和辅助副本201II中的一个或两个可以是绝对副本。也就是说,文件的实际数据内容显式地(即,直接地)存储在相应的邮箱107本身中(而不是以链接的形式进行存储)。但是,另一种可能性是任何给定资源的主副本201I和辅助副本201II中的一个或两个可以是“浅(shallow)”副本。浅副本是以链接形式存储在相应邮箱107中的副本,该链接链接到存储在其它地方(例如,在服务器系统外部(如第三方服务器))的资源的实际数据内容。因此,应当注意,如本文所使用的术语“副本”并不一定是指资源的实际数据内容的完整复制,还可以指代以链接形式存储的副本。在一个特定的例子中,可以将主副本201I中的一个、一些或全部存储为绝对副本,可以将相应的辅助副本存储为链接到绝对主副本的浅副本。再举一个例子,主副本中的一个、一些或全部本身可以是链接到如存储在别处(例如,在线文件系统)的相应资源的内容的浅副本。例如,主副本链接到的最终源可以是底层在线云文件系统或者由服务器系统的提供商运行的文件共享服务、或者第三方文件共享或云存储服务。
无论资源201的内容是以绝对项还是以浅副本进行存储,主副本2011和辅助副本201II中的每一个都包括元数据。
元数据至少包括元数据202的第一部分,其可以称为连接元数据。该元数据202指定该副本是主副本(即,主要副本)还是辅助副本,如果它是主副本,则存在哪些辅助副本(如果有的话),或者如果它是辅助副本,则哪个是主副本。例如,前者可以根据哪个用户103具有辅助副本(如果有的话)来指定,后者可以根据哪个用户103拥有主副本来指定。无论资源的内容是以绝对项还是以浅层形式进行存储,元数据始终优选地以绝对项(即,直接地/显式地)存储在相应邮箱107本身上(即,不以链接的形式)。
元数据还可以包括公共元数据203,公共元数据203在相同资源201的所有主实例和辅助实例201I、201II中是共同的。一个例子是任何用户对资源201进行修改的最后时间或日期、修改资源201的最后一个用户的标识、资源201的标题和/或文件大小。无论副本所在的邮箱107是什么,该信息都是相同的。因此,可以以绝对项或浅层形式来存储该元数据。
替代地或另外地,元数据可以包括个人元数据204(个人的,即它是特定于特定用户的,而不一定是私人的)。一个例子是特定用户103对资源201进行修改的最后时间或日期,其中该特定用户103的邮箱107存储所讨论的特定副本(因此,在文件B的辅助副本的情况下,Bob最后一次修改的时间)。这样的元数据特定于副本存储在其邮箱107中的个人用户103。因此,无论资源的内容是以绝对项还是以浅层形式进行存储,该元数据优选地始终以绝对项(即,直接地/显式地)存储在相应邮箱107本身上(即,不以链接的形式)。
在图2中,仅针对文件B(201BII)的辅助副本,示出了用于元数据202、203、204的不同部分的附图标记,但应当理解的是,在每个文件或资源的每个实例中可以存在类似的元数据。
由于在同一资源201的不同实例之间共享一些元数据,而一些元数据特定于特定副本201I、201II,因此管理器功能单元被配置为在建立辅助副本201II时不同地处理两种不同类别的元数据,并且还在将修改从主副本201I传播到辅助副本201II时不同地处理这两种不同类别的元数据。
也就是说,当管理器功能单元106从所有者的邮箱107中复制资源201的主副本201I、复制到其他用户103的邮箱中时,管理器功能单元仅复制共同元数据203(即,在给定资源201的不同实例201I、201II之间共同的元数据)。连接元数据202和个人元数据204将是特定于特定辅助副本201II的,因此管理器功能单元106将替代地针对当前正在创建的特定辅助副本201II来创建这些元数据元素的专用值。
此外,当管理器功能单元106传播来自所有者的邮箱107的资源201的主副本201I的修改(其传播到其他用户103的邮箱107)时,则管理器功能单元106仅传播对公共元数据203(即,再次在给定资源201的不同实例201I、201II中共同的元数据)的修改。由于连接元数据202和个人元数据204特定于每个特定辅助副本201II,因此管理器功能单元106在传播更改时,将不会在辅助副本201II中覆盖这些元数据值的值。
举例而言,考虑图2中所示的文件B,其中Alice是所有者,而Bob具有辅助副本201BII。指示资源最后被修改的时间的元数据203(全局)对于主副本201BI和辅助副本201BII是共同的。当文件B在12月3日被修改时(例如,由Alice进行修改),通过图将该公共数据的这个新值传播到包括Bob的辅助副本201BII的所有辅助副本。另一方面,指示Alice最后专门地访问该资源的时间的元数据204仅与Alice自己的邮箱107a本地相关,具体指示Bob上次访问该资源的该元数据204的对应值仅与Bob自己的邮箱107b相关。因此,当文件B被例如Alice修改时,不将该更改传播到Bob的邮箱107b。或者,如果Bob修改了文件b,则在主副本上的Alice的个人元数据204中,没有修改个人最后修改的值。
应当理解的是,仅通过示例的方式描述了上述实施例。
更一般地,根据本文所公开的一个方面,提供了一种服务器系统,该服务器系统包括:用于包括第一方和第二方的多个相应方中的每一方的物理上分离的存储区域,所述存储区域中的至少一些存储区域中的每一个存储区域存储所述相应方的一个或多个数据资源的主实例;管理器功能单元,其被配置为执行以下操作:响应于所述第二方与所述第一方的所述资源中的一个资源形成关系,在所述第二方的所述相应存储区域中建立所述第一方的所述资源中的所述一个资源的辅助副本;当所述主实例通过更改进行更新时,将所述主实例中的所述更改传播到所述第二方的存储区域中的所述辅助副本。
在实施例中,至少包括所述第一方和所述第二方的所述相应存储区域的所述分离的存储区域中的至少一些存储区域可以在单独的壳体、机架、房间、建筑物或地理位置中的单独服务器单元上实现。
在实施例中,所述管理器功能单元可以以分布式形式实现,所述分布式形式包括所述管理器功能单元在所述服务器单元中的每个服务器单元处的相应实例。
在实施例中,所述管理器功能单元可以被配置为通过电子邮件实现所述服务器单元之间的所述传播,以及在接收到所述电子邮件时拦截所述电子邮件,使得不向所述第二用户呈现所述电子邮件,而是用于自动更新所述辅助副本。
在实施例中,所述管理器功能单元还可以被配置为:如果所述第二方修改所述第一用户的所述资源中的所述一个资源以产生所述更改,则所述管理器功能单元实现对所述第一方的所述存储区域中的所述主实例的所述更改,并且将所述更改传播到所述第二方的所述存储区域中的所述辅助副本,并且将所述更改传播到各方中的与所述资源中的所述一个资源具有关系的任何其他方的所述存储区域中的辅助副本。
在实施例中,所述辅助副本可以以针对所述资源的链接的形式存储在所述第二方的所述存储区域中。替代地,所述辅助副本可以作为包括所述主实例的所述内容的复制的绝对副本而存储在所述存储区域上。
在实施例中,所述主实例可以以针对其他地方存储的所述资源的链接的形式存储在所述第一方的所述存储区域中。替代地,所述主实例可以是包括存储在所述第一方的所述存储区域上的所述资源的所述内容的绝对实例。
在实施例中,所述资源中的每个资源包括资源类型的集合中的任何一个资源类型,所述资源类型的集合包括以下中的任何两个或更多:文件、存储的通信、站点、和/或用户简档信息。
在实施例中,所述关系的所述形成可以包括:查看所述资源、修改所述资源、订阅所述资源、或围绕所述第二用户的资源趋势。
在实施例中,所述资源可以包括来自多种应用程序类型的集合中的资源,所述应用程序类型的集合包括以下中的任何两个或更多:文字处理应用程序、电子表格应用程序、幻灯片应用程序、日历应用程序、电子邮件客户端、IM客户端、社交媒体应用程序、和/或文件共享应用程序。
在实施例中,包括所述第一方和多个其他方的多个所述各方中的每一方的所述存储区域可以存储该方自己各自资源中的一个或多个资源的主实例,其中所述各方的相应一个或多个其他方与该资源具有关系,所述管理器功能单元将相应的一个或多个辅助副本存储在相应其他方的所述存储区域中;所述管理器功能单元可以被配置为将对所述主实例中的任何主实例的更改传播到相应的辅助副本中的每一个辅助副本;所述管理器功能单元可以被配置为维护各方和所述资源之间的关系的图,并且使用所述图来执行所述传播。
在实施例中,所述管理器功能单元可以被配置为应用一个或多个映射规则来确定所述资源中的哪一个或多个资源将所述主实例存储在所述各方中的哪一方的存储区域上,所述一个或多个规则包括以下中的任何一个或多个:来自所述相应方的文件库的所有文件、或者所述文件库的所选一个或多个文件夹内的所有文件,将所述主实例存储在所述相应方的所述存储区域中;来自所述相应方的云存储帐户的所有文件、或者所述云存储帐户的所选一个或多个文件夹内的所有文件,将所述主实例存储在所述相应方的所述存储区域中;来自所述相应方的在线文件共享帐户的所有文件、或者所述文件共享帐户的所选一个或多个文件夹内的所有文件,将所述主实例存储在所述相应方的所述相应存储区域中;来自所述相应方的在线站点或站点集合的所有资源、或者所述站点或多个站点内的所选部门内的所有资源,将所述主实例存储在所述相应方的所述存储区域上;和/或来自所述相应方的在线协作工作空间的所有文档、或者所述协作工作空间的所选子空间内的所有资源,将所述主实例存储在所述相应方的所述存储区域上。
在实施例中,可以将各方和资源之间的所述关系或关系集约束到给定的组织内。
在实施例中,至少包括所述第一方和/或所述第二方的所述各方中的一方、一些方或所有方中的每一个,可以是单个用户。在实施例中,至少包括所述第一方和/或所述第二方的所述各方中的一方、一些方或所有方中的每一个可以是一组用户。
根据本文所公开的另一个方面,提供了一种操作服务器系统的方法,该方法包括:为包括第一方和第二方的多个相应方中的每一方提供物理上分离的存储区域;在所述存储区域中的至少一些存储区域中的每一个存储区域上,存储所述相应方的一个或多个数据资源的主实例;响应于所述第二方与所述第一方的所述资源中的一个资源形成关系,在所述第二方的所述相应存储区域中建立所述第一方的所述资源中的所述一个资源的辅助副本;当所述主实例通过更改进行更新时,自动将所述主副本中的所述更改传播到所述第二方的存储区域中的所述辅助副本。
在实施例中,该方法可以包括与上述系统特征中的任何一项相对应的操作。
在另外的实施例中,所述分离的存储区域中的至少一些存储区域可以在单独的壳体中的单独服务器单元上实现,该方法还包括:通过添加所述服务器单元的额外一个或多个,来扩展所述服务器系统以适应更多的所述方。
在实施例中,该方法还可以包括:当所述第一方或所述第二方移动到不同的地理位置时,将所述存储区域迁移到相对应的地理区域。
一旦给出本公开内容,本文所公开的技术的其它应用和变型对于本领域普通技术人员而言将变得显而易见。本公开内容的保护范围不受上述实施例的限制,而是仅由所附权利要求进行界定。

Claims (15)

1.一种服务器系统,其包括
用于包括第一方和第二方的多个相应方中的每一方的物理上分离的存储区域,所述存储区域中的至少一些存储区域中的每一个存储区域存储所述相应方的一个或多个数据资源的主实例;以及
管理器功能单元,其被配置为执行以下操作:
响应于所述第二方与所述第一方的所述资源中的一个资源形成关系,在所述第二方的相应存储区域中建立所述第一方的所述资源中的所述一个资源的辅助副本;以及
当所述资源中的所述一个资源的所述主实例通过更改进行更新时,将所述主实例中的所述更改传播到所述第二方的存储区域中的所述辅助副本。
2.根据权利要求1所述的服务器系统,其中,至少包括所述第一方和所述第二方的所述相应存储区域的所述分离的存储区域中的至少一些存储区域是在单独的壳体、机架、房间、建筑物或地理位置中的单独服务器单元上实现的。
3.根据权利要求2所述的服务器系统,其中,所述管理器功能单元以分布式形式实现,所述分布式形式包括所述管理器功能单元在所述服务器单元中的每个服务器单元处的相应实例。
4.根据权利要求2或3所述的服务器系统,其中,所述管理器功能单元被配置为通过电子邮件实现所述服务器单元之间的所述传播,以及在接收到所述电子邮件时拦截所述电子邮件,使得不向所述第二方呈现所述电子邮件,而是用于自动更新所述辅助副本。
5.根据前述权利要求中的任何一项所述的服务器系统,其中,所述管理器功能单元还被配置为:如果所述第二方修改所述第一方的所述资源中的所述一个资源以产生所述更改,则所述管理器功能单元实现对所述第一方的所述存储区域中的所述主实例的所述更改,并且将所述更改传播到所述第二方的所述存储区域中的所述辅助副本,并且将所述更改传播到各方中的与所述资源中的所述一个资源具有关系的任何其他方的所述存储区域中的辅助副本。
6.根据前述权利要求中的任何一项所述的服务器系统,其中,所述辅助副本以针对所述资源的链接的形式存储在所述第二方的所述存储区域中。
7.根据权利要求1至5中的任何一项所述的服务器系统,其中,所述辅助副本作为包括所述主实例的所述内容的复制的绝对副本而存储在所述存储区域上。
8.根据前述权利要求中的任何一项所述的服务器系统,其中,所述主实例以针对其他地方存储的所述资源的链接的形式存储在所述第一方的所述存储区域中。
9.根据权利要求1至7中的任何一项所述的服务器系统,其中,所述主实例是包括存储在所述第一方的所述存储区域上的所述资源的所述内容的绝对实例。
10.根据前述权利要求中的任何一项所述的服务器系统,其中,所述资源中的每个资源包括资源类型的集合中的任何一个资源类型,所述资源类型的集合包括以下中的任何两个或更多:文件、存储的通信、站点、和/或用户简档信息。
11.根据前述权利要求中的任何一项所述的服务器系统,其中,所述关系的所述形成包括:查看所述资源、修改所述资源、订阅所述资源、或围绕所述第二方的资源趋势。
12.根据前述权利要求中的任何一项所述的服务器系统,其中,所述资源包括来自多种应用程序类型的集合中的资源,所述应用程序类型的集合包括以下中的任何两个或更多:文字处理应用程序、电子表格应用程序、幻灯片应用程序、日历应用程序、电子邮件客户端、IM客户端、社交媒体应用程序、和/或文件共享应用程序。
13.根据前述权利要求中的任何一项所述的服务器系统,其中:
包括所述第一方和多个其他方的多个所述各方中的每一方的所述存储区域存储所述方自己各自资源中的一个或多个资源的主实例,其中所述各方的相应一个或多个其他方与所述资源具有关系,所述管理器功能单元将相应的一个或多个辅助副本存储在相应其他方的所述存储区域中;
所述管理器功能单元被配置为将对所述主实例中的任何主实例的更改传播到相应的辅助副本中的每一个辅助副本;以及
所述管理器功能单元被配置为维护各方和所述资源之间的所述关系的图,并且使用所述图来执行所述传播。
14.根据权利要求13所述的服务器系统,其中,所述管理器功能单元被配置为应用一个或多个映射规则来确定所述资源中的哪一个或多个资源将所述主实例存储在所述各方中的哪一方的存储区域上,所述一个或多个规则包括以下中的任何一个或多个:
来自所述相应方的文件库的所有文件、或者所述文件库的所选一个或多个文件夹内的所有文件,将所述主实例存储在所述相应方的所述存储区域中;
来自所述相应方的云存储帐户的所有文件、或者所述云存储帐户的所选一个或多个文件夹内的所有文件,将所述主实例存储在所述相应方的所述存储区域中;
来自所述相应方的在线文件共享帐户的所有文件、或者所述文件共享帐户的所选一个或多个文件夹内的所有文件,将所述主实例存储在所述相应方的所述相应存储区域中;
来自所述相应方的在线站点或站点集合的所有资源、或者所述站点或多个站点内的所选部门内的所有资源,将所述主实例存储在所述相应方的所述存储区域上;和/或
来自所述相应方的在线协作工作空间的所有文档、或者所述协作工作空间的所选子空间内的所有资源,将所述主实例存储在所述相应方的所述存储区域上。
15.一种操作服务器系统的方法,所述方法包括:
为包括第一方和第二方的多个相应方中的每一方提供物理上分离的存储区域;
在所述存储区域中的至少一些存储区域中的每一个存储区域上,存储所述相应方的一个或多个数据资源的主实例;
响应于所述第二方与所述第一方的所述资源中的一个资源形成关系,在所述第二方的相应存储区域中建立所述第一方的所述资源中的所述一个资源的辅助副本;以及
当所述资源中的所述一个资源的所述主实例通过更改进行更新时,自动将所述主副本中的所述更改传播到所述第二方的存储区域中的所述辅助副本。
CN201880007491.9A 2017-01-18 2018-01-13 划分存储 Active CN110192190B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/409,447 US10542088B2 (en) 2017-01-18 2017-01-18 Modifying data resources within party-partitioned storage areas
US15/409,447 2017-01-18
PCT/US2018/013677 WO2018136341A1 (en) 2017-01-18 2018-01-13 Partitioning storage

Publications (2)

Publication Number Publication Date
CN110192190A true CN110192190A (zh) 2019-08-30
CN110192190B CN110192190B (zh) 2023-07-14

Family

ID=61157313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880007491.9A Active CN110192190B (zh) 2017-01-18 2018-01-13 划分存储

Country Status (4)

Country Link
US (1) US10542088B2 (zh)
EP (1) EP3571604A1 (zh)
CN (1) CN110192190B (zh)
WO (1) WO2018136341A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838819B2 (en) 2017-01-18 2020-11-17 Microsoft Technology Licensing, Llc Including personal relationship metadata within duplicated resources shared across partitioned storage
US10536465B2 (en) 2017-01-18 2020-01-14 Microsoft Technology Licensing, Llc Security for accessing stored resources
KR20230073299A (ko) * 2020-09-30 2023-05-25 구글 엘엘씨 대화 그래프를 사용하여 웨어러블 디바이스의 콘텐츠 디스플레이 관리
US11863615B2 (en) 2022-03-18 2024-01-02 T-Mobile Usa, Inc. Content management systems providing zero recovery time objective

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022396A (zh) * 2007-03-15 2007-08-22 上海交通大学 网格数据副本管理系统
US7263537B1 (en) * 2004-02-09 2007-08-28 Unisys Corporation System and method for creating multiple QUIESCE database copies at a single server
CN101042767A (zh) * 2006-02-28 2007-09-26 国际商业机器公司 web服务数据库群集体系结构及其方法
US20080208963A1 (en) * 2006-10-19 2008-08-28 Aviv Eyal Online File Sharing
US20130346414A1 (en) * 2012-06-21 2013-12-26 General Instrument Corporation Correlation Engine and Method for Granular Meta-Content Having Arbitrary Non-Uniform Granularity
EP2690540A1 (en) * 2012-07-24 2014-01-29 Dassault Systèmes A computer-implemented method for optimising the design of a product
US20150120745A1 (en) * 2013-10-28 2015-04-30 Yahoo! Inc. Dynamic database indexes for entity attribute value stores
WO2016153676A1 (en) * 2015-03-23 2016-09-29 Dropbox, Inc. Shared folder backed integrated workspaces

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US7849140B2 (en) 2002-08-29 2010-12-07 Oracle America, Inc. Peer-to-peer email messaging
US20040068523A1 (en) 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
US20050044246A1 (en) * 2003-08-06 2005-02-24 Konica Minolta Business Technologies, Inc. Data management server, data management method and computer program
WO2006053019A2 (en) 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US7647346B2 (en) 2005-03-29 2010-01-12 Microsoft Corporation Automatic rules-based device synchronization
CA2506303A1 (en) * 2005-04-14 2005-09-15 Rajesh Kapur Method for validating system changes safely by use of a replicated system as a system testbed
US9135304B2 (en) * 2005-12-02 2015-09-15 Salesforce.Com, Inc. Methods and systems for optimizing text searches over structured data in a multi-tenant environment
US8244745B2 (en) 2005-12-29 2012-08-14 Nextlabs, Inc. Analyzing usage information of an information management system
US8849858B2 (en) 2005-12-29 2014-09-30 Nextlabs, Inc. Analyzing activity data of an information management system
CN101529419B (zh) 2006-10-17 2013-05-01 慷孚系统公司 用于对内容进行离线索引和对存储的数据进行分类的方法和系统
US20080228771A1 (en) 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
AU2008200752B2 (en) * 2007-03-29 2010-10-28 Aristocrat Technologies Australia Pty Limited A storage method for a gaming machine
US8396838B2 (en) 2007-10-17 2013-03-12 Commvault Systems, Inc. Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US8595381B2 (en) 2007-10-31 2013-11-26 Caseware International Inc. Hierarchical file synchronization method, software and devices
WO2009076755A1 (en) 2007-12-17 2009-06-25 Ramius Corporation Social networking site and system
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US8099463B2 (en) 2008-07-16 2012-01-17 Yahoo! Inc. Method and apparatus for sharing concurrent ad hoc web content between users visiting the same web pages
US8473607B2 (en) 2008-09-02 2013-06-25 Belarc, Inc. System and method for software usage discovery
WO2010037201A1 (en) 2008-09-30 2010-04-08 Wicksoft Corporation System and method for secure management of mobile user access to enterprise network resources
JP2010197359A (ja) 2009-02-27 2010-09-09 Hamamatsu Photonics Kk 信号波形測定装置及び測定方法
US20150294377A1 (en) 2009-05-30 2015-10-15 Edmond K. Chow Trust network effect
US8990725B2 (en) 2009-09-11 2015-03-24 Global Graphics Software Limited System and method for processes enabled by metadata associated with documents within a binder file
US8479103B2 (en) 2009-09-15 2013-07-02 International Business Machines Corporation Visualization of real-time social data informatics
US8527496B2 (en) 2010-02-11 2013-09-03 Facebook, Inc. Real time content searching in social network
US8250145B2 (en) 2010-04-21 2012-08-21 Facebook, Inc. Personalizing a web page outside of a social networking system with content from the social networking system
US8826407B2 (en) 2010-11-24 2014-09-02 Skai, Inc. System and method for access control and identity management
US8819236B2 (en) 2010-12-16 2014-08-26 Microsoft Corporation Resource optimization for online services
US8438364B2 (en) 2010-12-30 2013-05-07 Facebook Inc. Distributed cache for graph data
US9128768B2 (en) 2011-01-27 2015-09-08 Microsoft Technology Licensing, LCC Cloud based master data management
US8510379B2 (en) 2011-02-23 2013-08-13 Rockmelt, Inc. Display of content interaction data in a browser
US9396242B2 (en) 2011-04-11 2016-07-19 Salesforce.Com, Inc. Multi-master data replication in a distributed multi-tenant system
WO2012142158A2 (en) 2011-04-11 2012-10-18 Credibility Corp. Visualization tools for reviewing credibility and stateful hierarchical access to credibility
US9002790B2 (en) 2011-09-14 2015-04-07 Google Inc. Hosted storage locking
US9179171B2 (en) 2011-11-30 2015-11-03 Verizon Patent And Licensing Inc. Content recommendation for a unified catalog
US9721039B2 (en) 2011-12-16 2017-08-01 Palo Alto Research Center Incorporated Generating a relationship visualization for nonhomogeneous entities
US8922579B2 (en) 2012-03-05 2014-12-30 Microsoft Corporation Deterministic visual indication of user data context
US8990263B2 (en) * 2012-03-15 2015-03-24 International Business Machines Corporation Policy-based management of storage functions in data replication environments
US9286327B2 (en) 2012-03-30 2016-03-15 Commvault Systems, Inc. Data storage recovery automation
US9148429B2 (en) 2012-04-23 2015-09-29 Google Inc. Controlling access by web applications to resources on servers
US9779260B1 (en) 2012-06-11 2017-10-03 Dell Software Inc. Aggregation and classification of secure data
KR101860058B1 (ko) * 2012-11-27 2018-05-24 네이버 주식회사 온라인 스타 팬미팅을 위한 시스템 및 방법
US9367646B2 (en) 2013-03-14 2016-06-14 Appsense Limited Document and user metadata storage
US9424330B2 (en) 2013-03-15 2016-08-23 Tactile, Inc. Database sharding by shard levels
US20150033149A1 (en) 2013-07-23 2015-01-29 Saleforce.com, inc. Recording and playback of screen sharing sessions in an information networking environment
WO2015048538A1 (en) 2013-09-26 2015-04-02 Twitter, Inc. Method and system for distributed processing in a messaging platform
US9590914B2 (en) 2013-11-05 2017-03-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
CA2899996C (en) 2013-12-11 2020-04-14 Intralinks, Inc. Customizable secure data exchange environment
US10685037B2 (en) 2013-12-18 2020-06-16 Amazon Technology, Inc. Volume cohorts in object-redundant storage systems
US9219736B1 (en) 2013-12-20 2015-12-22 Google Inc. Application programming interface for rendering personalized related content to third party applications
US9652554B2 (en) 2013-12-26 2017-05-16 Facebook, Inc. Systems and methods for adding users to a networked computer system
US9390281B2 (en) 2013-12-30 2016-07-12 Open Invention Network, Llc Protecting data in insecure cloud storage
US20150215390A1 (en) * 2014-01-30 2015-07-30 Crytek Gmbh Apparatus and Method for Multi-User Editing of Computer-Generated Content
US9594734B2 (en) 2014-02-27 2017-03-14 International Business Machines Corporation Meta tag ownership and control
CN103825950B (zh) * 2014-02-28 2018-12-07 惠州Tcl移动通信有限公司 一种基于云平台同步联系人的方法及系统
US9390159B2 (en) 2014-03-10 2016-07-12 Zephyr Health, Inc. Database architecture for storing multi-structured data
US9633026B2 (en) 2014-03-13 2017-04-25 Commvault Systems, Inc. Systems and methods for protecting email data
US9823978B2 (en) 2014-04-16 2017-11-21 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US10296263B2 (en) 2014-04-30 2019-05-21 International Business Machines Corporation Dispersed bloom filter for determining presence of an object
US9836587B2 (en) 2014-05-20 2017-12-05 2236008 Ontario Inc. System and method for granting permission for a machine action
US9760446B2 (en) 2014-06-11 2017-09-12 Micron Technology, Inc. Conveying value of implementing an integrated data management and protection system
US20160019224A1 (en) 2014-07-18 2016-01-21 Commvault Systems, Inc. File system content archiving based on third-party application archiving rules and metadata
US9722958B2 (en) 2014-07-18 2017-08-01 International Business Machines Corporation Recommendation of a location resource based on recipient access
US9977810B2 (en) 2014-08-21 2018-05-22 Dropbox, Inc. Multi-user search system with methodology for personal searching
US9940377B1 (en) * 2014-09-16 2018-04-10 Amazon Technologies, Inc. Instant copies of storage volumes
US9405928B2 (en) 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
CN104361034A (zh) 2014-10-27 2015-02-18 浪潮(北京)电子信息产业有限公司 一种云存储的文件管理方法及装置
WO2016106752A1 (zh) 2014-12-31 2016-07-07 深圳大学 一种共享数据的访问控制方法、装置及系统
US9838348B2 (en) 2014-12-31 2017-12-05 Yahoo Holdings, Inc. Electronic message search system and method
US20160191508A1 (en) 2014-12-31 2016-06-30 Nexenta Systems, Inc. Methods and Systems for Block Sharding of Objects Stored in Distributed Storage System
US9588849B2 (en) 2015-01-20 2017-03-07 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US10146702B2 (en) 2015-03-09 2018-12-04 Intel Corporation Memcached systems having local caches
US9990506B1 (en) 2015-03-30 2018-06-05 Quest Software Inc. Systems and methods of securing network-accessible peripheral devices
US9842218B1 (en) 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
US9842220B1 (en) 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
US9984330B2 (en) 2015-04-10 2018-05-29 Microsoft Technology Licensing, Llc. Predictive trending of digital entities
US10382426B2 (en) 2015-07-02 2019-08-13 Adobe Inc. Authentication context transfer for accessing computing resources via single sign-on with single use access tokens
US10033702B2 (en) 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
US9686263B2 (en) 2015-08-14 2017-06-20 Quixey, Inc. Search result relevance based on user account information
US10192065B2 (en) 2015-08-31 2019-01-29 Commvault Systems, Inc. Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system
US9378303B1 (en) 2015-09-18 2016-06-28 Linkedin Corporation Representing compound relationships in a graph database
US9378241B1 (en) 2015-09-18 2016-06-28 Linkedin Corporation Concatenated queries based on graph-query results
US9847994B1 (en) 2015-09-30 2017-12-19 Surfdash System and method for providing a secure network
US10749854B2 (en) 2015-11-12 2020-08-18 Microsoft Technology Licensing, Llc Single sign-on identity management between local and remote systems
US9954684B2 (en) 2016-02-29 2018-04-24 PreVeil LLC Secure sharing
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10346762B2 (en) 2016-12-21 2019-07-09 Ca, Inc. Collaborative data analytics application
US10838819B2 (en) 2017-01-18 2020-11-17 Microsoft Technology Licensing, Llc Including personal relationship metadata within duplicated resources shared across partitioned storage
US10536465B2 (en) 2017-01-18 2020-01-14 Microsoft Technology Licensing, Llc Security for accessing stored resources

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263537B1 (en) * 2004-02-09 2007-08-28 Unisys Corporation System and method for creating multiple QUIESCE database copies at a single server
CN101042767A (zh) * 2006-02-28 2007-09-26 国际商业机器公司 web服务数据库群集体系结构及其方法
US20080208963A1 (en) * 2006-10-19 2008-08-28 Aviv Eyal Online File Sharing
CN101022396A (zh) * 2007-03-15 2007-08-22 上海交通大学 网格数据副本管理系统
US20130346414A1 (en) * 2012-06-21 2013-12-26 General Instrument Corporation Correlation Engine and Method for Granular Meta-Content Having Arbitrary Non-Uniform Granularity
EP2690540A1 (en) * 2012-07-24 2014-01-29 Dassault Systèmes A computer-implemented method for optimising the design of a product
US20150120745A1 (en) * 2013-10-28 2015-04-30 Yahoo! Inc. Dynamic database indexes for entity attribute value stores
WO2016153676A1 (en) * 2015-03-23 2016-09-29 Dropbox, Inc. Shared folder backed integrated workspaces

Also Published As

Publication number Publication date
CN110192190B (zh) 2023-07-14
EP3571604A1 (en) 2019-11-27
US10542088B2 (en) 2020-01-21
WO2018136341A1 (en) 2018-07-26
US20180205792A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
US9213988B2 (en) Electronic commerce infrastructure system
CA2474752C (en) Data replication based upon a non-destructive data model
Battiston et al. Layered social influence promotes multiculturality in the Axelrod model
US8600852B2 (en) Electronic sales system
CN110192198B (zh) 访问存储的资源的安全性
US8700506B2 (en) Distributed commerce system
CN110192190A (zh) 划分存储
US11675666B2 (en) Including metadata in data resources
US10855637B2 (en) Architecture for large data management in communication applications through multiple mailboxes
CN102567820A (zh) 动态新闻发布和管理系统
EP2056248A1 (en) Electronic commerce system
Björk Document Management–a key IT technology for the construction industry
Roussaki et al. Optimising context data dissemination and storage in distributed pervasive computing systems
US12019684B2 (en) Application programming interface arranged to interface with a plurality of data sources
Brézillon et al. A context approach of social networks
Du et al. Integrated and flexible data management for cloud social network service platform on campus
US20180203869A1 (en) Application Programming Interface
Stäber et al. Interoperability challenges and solutions in automotive collaborative product development
Rakhimov et al. Maximal Injective Real W∗‐Subalgebras of Tensor Products of Real W∗‐Algebras
Hale et al. Architectural requirements for integrating group decision support systems into the daily managerial experience
Miao To be or not to be: Public libraries and the global knowledge revolution
張介耀 Web service-driven framework for maintaining global version consistency in distributed enterprise portal
Trigg et al. S. Bødker, M. Kyng, and K. Schmidt (eds.). Proceedings of the Sixth European Conference on Computer-Supported Cooperative Work, 12-16 September 1999, Copenhagen, Denmark 1999 Kluwer Academic Publishers. 331
Del Bianco et al. A Web-based infrastructure for the management of semantic meta-data

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