CN112789616A - 私有数据交换 - Google Patents

私有数据交换 Download PDF

Info

Publication number
CN112789616A
CN112789616A CN202080003969.8A CN202080003969A CN112789616A CN 112789616 A CN112789616 A CN 112789616A CN 202080003969 A CN202080003969 A CN 202080003969A CN 112789616 A CN112789616 A CN 112789616A
Authority
CN
China
Prior art keywords
data
list
data exchange
exchange
access
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.)
Pending
Application number
CN202080003969.8A
Other languages
English (en)
Inventor
沛祺·约翰斯顿·朱
本诺特·戴奇维勒
马修·格利克曼
克里斯蒂安·克雷纳尔曼
普拉桑纳·克里希南
贾斯汀·朗塞斯
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.)
Snowflake Inc
Original Assignee
Snowflake Computing Inc
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 Snowflake Computing Inc filed Critical Snowflake Computing Inc
Publication of CN112789616A publication Critical patent/CN112789616A/zh
Pending legal-status Critical Current

Links

Images

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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Abstract

描述了提供私有数据交换。示例计算机实现的方法可以包括由云计算服务代表实体提供数据交换。数据交换可以包括由一个或更多个数据提供者提供的几个数据列表。数据列表引用存储在与云计算服务相关联的数据存储平台中的一个或更多个数据集。该方法还可以包括指定数据交换的数据交换管理员账户。数据交换管理员账户可以与实体相关联,并且能够:同意和拒绝来自数据消费者的访问数据交换的请求;以及同意和拒绝来自数据提供者的在数据交换上发布数据列表的请求。

Description

私有数据交换
相关申请
本申请要求2020年1月17日提交的美国专利申请号16/746,673的利益,该申请要求2019年9月12日提交的美国临时专利申请号62/899,571的优先权,这两个申请的全部内容特此通过引用并入本文。
技术领域
本公开涉及管理数据存储和计算资源的资源管理系统和方法。
背景
数据库广泛用于计算应用中的数据存储和访问。数据库可以包括一个或更多个表,该表包括或引用可以使用查询来读取、修改或删除的数据。数据库可以用于存储和/或访问个人信息或其它敏感信息。可以通过加密和/或以加密形式存储数据来提供对数据库数据的安全存储和访问,以防止未授权的访问。在一些情况下,可能需要数据共享以让其他方针对一组数据执行查询。
附图简述
通过参考以下结合附图的描述,可以最好地理解所描述的实施例及其优点。这些附图决不限制本领域技术人员可以对所描述的实施例进行的形式和细节上的任何改变,而不脱离所描述的实施例的精神和范围。
图1A是描绘其中可以实现本文公开的方法的示例计算环境的框图。
图1B是示出示例虚拟仓库(warehouse)的框图。
图2是根据本发明的实施例的可用于实现公共或私有数据交换的数据的示意性框图。
图3是根据本发明的实施例的用于实现数据交换的组件的示意性框图。
图4A是根据本发明的实施例的用于在数据交换中的实体之间控制数据共享的方法的过程流程图。
图4B是示出根据本发明的实施例的用于实现数据的私有共享的数据的图。
图4C是示出根据本发明的实施例的用于实现数据的私有共享的安全视图的图。
图5是根据本发明的实施例的用于在数据交换中的实体之间公共共享数据的方法的过程流程图。
图6是根据本发明的实施例的用于在数据交换中执行双向共享的方法的过程流程图。
图7是根据本发明的实施例的用于在数据交换中提供丰富的数据的方法的过程流程图。
图8是示出其中数据提供者可以经由云计算服务共享数据的网络环境的框图。
图9是根据本发明的实施例的示例私有数据交换。
图10是示出来自私有数据交换的共享数据的示例安全视图的图。
图11是示出两个私有数据交换之间的数据列表的示例隧穿的图。
图12是示出根据本发明的一些实施例的示例数据查询和递送服务的图。
图13A和图13B是示出用于提供私有数据交换的示例方法的框图。
图14是根据一些实施例的可以执行本文所述的一个或更多个操作的示例计算设备的框图。
详细描述
数据提供者经常拥有难以共享的数据资产。数据资产可以是另一实体感兴趣的数据。例如,一家大型在线零售公司可能拥有数据集,该数据集包括过去十年中数百万顾客(customer)的购买习惯。该数据集可能很大。如果在线零售商希望与另一实体共享该数据的全部或部分,则在线零售商可能需要使用旧的且缓慢的方法来传送数据,诸如文件传送协议(FTP),或甚至将数据复制到物理介质上,并且然后将物理介质邮寄到另一个实体。这有几个缺点。首先,它很慢。复制兆兆字节(terabytes)或千万亿字节(petabytes)的数据可能需要几天的时间。其次,一旦传递了数据,共享者就无法控制数据发生了什么。接收方可以更改数据,进行复制或与其他方共享。再次,唯一有兴趣以此类方式访问如此大数据集的实体是大型公司,该公司可以负担得起传送和处理数据的复杂后勤工作,以及此类麻烦的数据传送的高昂价格。因此,较小的实体(例如,“夫妻店”)或甚至更小,更灵活的,以云为中心的初创公司通常因价格太高而无法访问该数据,即使该数据对其业务而言可能是有价值的。这可能是因为原始数据资产通常过于宽松,并且充满了潜在的敏感数据,无法直接出售给其它公司。数据拥有者必须先进行数据清理、取消标识、聚合、连接和其它形式的数据充实,然后才能与另一方共享。这既费时又昂贵。最后,由于上述原因,传统的数据共享方法不允许可扩展的共享,因此很难与许多实体共享数据资产。传统的共享方法还会给所有访问最近更新的数据的各方带来时延和延迟。
私有数据交换可以允许数据提供者更容易和安全地与其它实体共享其数据资产。私有数据交换可以使用数据提供者的商标,并且数据提供者可以控制谁可以访问它。私有数据交换只能用于内部使用,或也可以向顾客、合作伙伴、供应商或其他人开放。数据提供者可以控制列出哪些数据资产,以及控制谁可以访问哪些数据集。这允许无缝的方式来发现和共享数据提供者的组织内及其业务伙伴的数据。
私有数据交换可以通过诸如SNOWFLAKE的云计算服务来促进,并且允许数据提供者在私有在线市场中以其自己的品牌直接从其自己的在线域(例如,网站)提供数据资产。私有数据交换可以为实体提供集中式,受管理的集线器,以列出内部或外部共享的数据资产,激发数据协作以及维护数据治理和审核访问。通过私有数据交换,数据提供者能够共享数据而无需在公司之间复制数据。数据提供者可以邀请其他实体查看其数据列表,控制哪些数据列表出现在其私有在线市场中,控制谁可以访问数据列表以及其他人如何可与连接到该列表的数据资产进行交互。可以将其视为“围墙花园”市场,在该市场中,进入花园的游客必须得到批准,并且某些列表的访问可能受到限制。
例如,公司A可以是一家消费者数据公司,该消费者数据公司已经收集并分析了数个不同类别中数百万个人的消费习惯。他们的数据集可以包括以下类别的数据:在线购物、视频流、电力消耗、汽车使用、互联网使用、服装购买、移动应用购买、俱乐部会员资格和在线订阅服务。公司A可能希望向其他实体提供这些数据集(或这些数据集的子集或派生产品)。例如,新的服装品牌可能希望访问与消费者服装购买和在线购物习惯有关的数据集。公司A可以支持其网站上的页面,该页面是或功能基本上类似于私有数据交换,其中数据消费者(例如,新服装品牌)可以直接从公司A浏览、探索、发现、访问并有可能购买数据集。此外,公司A可以控制:谁可以进入私有数据交换,可以查看特定列表的实体,实体可以关于列表采取的动作(例如,仅查看),以及任何其它合适的动作。另外,数据提供者可以将其自己的数据与来自例如公共数据交换的其它数据集组合,并使用组合的数据创建新列表。
私有数据交换可以是发现、组合、清理和丰富数据以使其更可获利的合适场所。大型公司在私有数据交换中可能会聚合其各个分支和部门的数据,这可能对另一家公司是有价值的。此外,私有生态系统数据交换的参与者可以一起工作,以将其数据集连接在一起,共同创建他们当中任何一方都无法单独生产的有用数据产品。一旦创建了这些连接的数据集,它们就可以在公共或私有数据交换上被列出。
本文描述的系统和方法使用新的数据处理平台提供了灵活且可扩展的数据仓库。在一些实施例中,所描述的系统和方法利用支持基于云的存储资源,计算资源等的云基础设施。示例的基于云的存储资源以低成本提供了按需可用的大量存储容量。此外,这些基于云的存储资源可能是容错的并且高度可扩展,这在私有数据存储系统中实现可能会很昂贵。示例的基于云的计算资源是按需可用的,并且可以基于资源的实际使用水平来定价。通常,以快速方式动态部署、重新配置和停用(decommission)云基础设施。
在所描述的系统和方法中,数据存储系统利用基于SQL(结构化查询语言)的关系数据库。然而,这些系统和方法适用于使用任何数据存储架构和使用任何语言在数据存储和检索平台内存储和检索数据的任何类型的数据库以及任何类型的数据存储和检索平台。本文描述的系统和方法还提供了多租户(multi-tenant)系统,该多租户系统支持隔离不同顾客/客户端(client)之间以及同一顾客/客户端内的不同用户之间的计算资源和数据。
图1A是其中可以实现本文公开的系统和方法的示例计算环境100的框图。特别地,可以实现云计算平台110,诸如AMAZON WEB SERVICESTM(AWS)、MICROSOFT AZURETM、GOOGLECLOUDTM等。如本领域中已知的,云计算平台110提供可以被获取(购买)或租赁并被配置为执行应用和存储数据的计算资源和存储资源。
云计算平台110可以托管云计算服务112,该云计算服务112促进数据在云计算平台110上的存储(例如,数据管理和访问)和分析功能(例如,SQL查询、分析)以及其它计算能力(例如,云计算平台110的用户之间的安全数据共享)。云计算平台110可以包括三层架构:数据存储设备140,查询处理130和云服务120。
数据存储设备140可以促进将数据存储在一个或更多个云数据库141中的云计算平台110上。数据存储设备140可以使用诸如AMAZON S3的存储服务在云计算平台110上存储数据和查询结果。在特定实施例中,为了将数据加载到云计算平台110中,可以将数据表水平划分成大的,不可变的文件,该文件可以类似于传统数据库系统中的块或页面。在每个文件内,每个属性或列的值被分组在一起,并使用有时被称为混合列式(hybrid columnar)的方案进行压缩。每个表都有一个表头,表头中除了其它元数据外,还包含文件内每一列的偏移。
除了存储表数据之外,数据存储设备140还有助于存储由查询操作(例如,连接)生成的临时数据以及包含在大查询结果中的数据。这可以允许系统计算大型查询而不会出现内存不足或磁盘不足的错误。通过该方式存储查询结果可以简化查询处理,因为它不需要传统数据库系统中的服务器端光标。
查询处理130可以处理在虚拟机的弹性集群(在本文中称为虚拟仓库或数据仓库)内的查询执行。因此,查询处理130可以包括一个或更多个虚拟仓库131,虚拟仓库131在本文中也可以称为数据仓库。虚拟仓库131可以是在云计算平台110上运行的一个或更多个虚拟机。虚拟仓库131可以是可以根据需要在任何时候创建、破坏或调整大小的计算资源。该功能可以创建“弹性”虚拟仓库,该虚拟仓库可以根据用户的需求进行扩展、收缩或关闭。扩展虚拟仓库涉及生成到虚拟仓库131的一个或更多个计算节点132。收缩虚拟仓库涉及从虚拟仓库131删除一个或更多个计算节点132。更多计算节点132可以导致更快的计算时间。例如,在具有四个节点的系统上花费15个小时进行的数据加载在具有32个节点的系统上可能仅花费2个小时。
云服务120可以是协调云计算服务110上的活动的服务的集合。这些服务将云计算服务110的所有不同组件捆绑在一起,以便处理从登录到查询分发的用户请求。云服务120可以对由云计算服务110从云计算平台110提供的计算实例进行操作。云服务120可以包括管理虚拟仓库、查询、交易、数据交换的服务以及与这些服务相关联的元数据(诸如数据库模式、访问控制信息、加密密钥和使用情况统计信息)的集合。云服务120可以包括但不限于认证(authentication)引擎121、基础设施管理器122、优化器123、交换管理器124、安全125引擎和元数据存储设备126。
图1B是示出示例虚拟仓库131的框图。交换管理器124可以使用例如私有数据交换来促进数据提供者与数据消费者之间的数据共享。例如,云计算服务112可以管理数据库108的存储和访问。数据库108可以包括用于不同用户(例如不同的企业或个人)的用户数据150的各种实例。用户数据可以包括该用户存储和访问的数据的用户数据库152。用户数据库152可以受到访问控制,使得在向云计算服务112认证之后,仅允许数据的所有者改变和访问数据库112。例如,可以对数据进行加密,使得只能使用数据所有者拥有的解密信息对它进行解密。使用交换管理器124,可以根据本文公开的方法以受控的方式与其他用户共享来自用户数据库152的受到这些访问控制的特定数据。特别地,用户可以指定共享154,如上所述,该共享154可以以不受控制的方式在公共或私有数据交换中共享,或者以受控制的方式与特定的其他用户共享。“共享”封装了共享数据库中的数据所需的所有信息。共享可至少包括三段信息:(1)授予同意(grant)访问一个或更多个数据库和包含要共享的对象的架构的特权,(2)授予同意访问特定对象(例如表、安全视图和安全UDF)的特权,以及(3)与数据库及其对象共享的消费者账户。共享数据时,不会在用户之间复制或传送数据。共享是通过云计算服务110的云服务120完成的。
当数据提供者在数据提供者的账户中创建数据库共享并同意访问特定对象(例如表、安全视图和安全用户定义函数(UDF))时,可以执行共享数据。然后可以使用共享中提供的信息创建只读数据库。可以由数据提供者控制对该数据库的访问。
然后,共享数据可用于处理SQL查询,该SQL查询可能包括连接、聚合或其它分析。在一些情况下,数据提供者可以定义共享,使得允许关于共享数据执行“安全连接”。可以执行安全连接,使得可以关于共享数据执行分析,但是实际共享数据不能被数据消费者(例如,共享的接收方)访问。可以如2019年3月18日提交的美国申请序列号16/368,339中所述执行安全连接。
诸如膝上型计算机、台式计算机、移动电话、平板计算机、云托管的计算机、云托管的无服务器进程或其它计算进程或设备的用户设备101-104可用于通过诸如互联网或专用网络的网络105访问虚拟仓库131或云服务120。
在下面的描述中,将动作归因于用户,特别是消费者和提供者。应当理解此类动作是关于由此类用户操作的设备101-104执行的。例如,对用户的通知可以被理解为是发送到设备101-104的通知,来自用户的输入或指令可以被理解是通过用户的设备101-104被接收,并且用户与界面的交互应被理解为是与用户设备101-104上的界面的交互。另外,应将归因于用户(消费者或提供者)的数据库操作(连接、聚合、分析等)理解为包括云计算服务110响应于来自该用户的指令执行此类动作。
图2是根据本发明的实施例的可用于实现公共或私有数据交换的数据的示意性框图。交换管理器124可以关于一些或全部所示的交换数据200进行操作,交换数据200可以存储在执行交换管理器124的平台(例如,云计算平台110)上或一些其它位置处。交换数据200可以包括描述由第一用户(“提供者”)共享的数据的多个列表202。列表202可以是私有数据交换中或公共数据交换中的列表。对于公共数据交换和私有数据交换二者,列表的访问控制、管理和监管都可能相似。
列表202可以包括描述共享数据的元数据204。元数据204可以包括以下一些或全部信息:共享数据的共享者的标识符、与共享者相关联的URL、共享的名称、表的名称、共享数据所属的类别、共享数据的更新频率、表的目录、每个表中的列数和行数,以及列名。元数据204还可以包括帮助用户使用数据的示例。此类示例可以包括样本表(其包括示例表的行和列的样本)、可以针对该表运行的示例查询、示例表的示例视图、基于表数据的示例可视化(例如,图表、仪表板)。元数据204中包括的其它信息可以是供商业智能工具使用的元数据、表中包含的数据的文本描述、与表相关联以促进搜索的关键字、指向与共享数据有关的文档的链接(例如URL),以及指示共享数据的更新频率的刷新间隔和数据的最后更新日期。
列表202可以包括访问控制206,该访问控制206可以被配置为任何合适的访问配置。例如,访问控制206可以指示共享数据可不受限制地可用于私有交换的任何成员(如本文中其它地方所使用的“任何共享”)。访问控制206可以指定被允许访问数据和/或查看列表的用户类别(特定组或组织的成员)。访问控制206可以指定“点对点”共享(参见图4的讨论),其中用户可以请求访问,但是仅在提供者的批准下才被允许访问。访问控制206可以指定用户的一组用户标识符,该组用户标识符被排除在能够访问列表202所引用的数据之外。
注意,一些列表202可能被用户发现而没有进一步的认证或访问许可,而实际访问仅在后续的认证步骤之后才允许(参见图4和图6的讨论)。访问控制206可以指定列表202仅可由特定用户或特定类别的用户发现。
还应注意,列表202的默认功能是共享所引用的数据不可由消费者导出。可替代地,访问控制206可以指定不允许这样做。例如,访问控制206可以指定可以关于共享数据执行安全操作(如安全连接和下面所讨论的安全功能),使得不允许查看和导出共享数据。
在一些实施例中,一旦关于列表202认证了用户,则对该用户的引用(例如,该用户在虚拟仓库131中的账户的用户标识符)被添加到访问控制206,使得该用户随后将无需进一步认证就可以访问列表202引用的数据。
列表202可以定义一个或更多个过滤器208。例如,过滤器208可以定义在浏览目录220时可以查看对列表202的引用的用户的特定用户标识符214。过滤器208可以定义在浏览目录220时可以查看对列表202的引用的用户类别(特定行业的用户、与特定公司或组织相关联的用户、特定地理区域或国家内的用户)。以该方式,可以由交换管理器124使用相同的组件来实现私有交换。在一些实施例中,被排除访问列表202(即,将列表202添加到被排除用户的消费共享156)中的被排除用户在浏览目录220时仍可以被允许查看列表的表示,并且可以进一步被允许请求访问列表202,如下所述。可以在呈现给列表202的提供者的界面中列出由此类被排除的用户和其他用户访问列表的请求。列表202的提供者然后可以查看访问列表的需求并选择扩展过滤器208以对排除的用户或排除的用户类别(例如,排除的地理区域或国家的用户)许可访问权。
过滤器208可以进一步定义用户可以查看哪些数据。特别地,过滤器208可以指示选择列表202以添加到该用户的消费共享156的用户被允许访问该列表所引用的但仅仅是过滤版本的数据,该过滤版本仅包括与该用户的标识符214相关联、与该用户的组织相关联或特定于用户的某个其它分类的数据。在一些实施例中,私有交换是通过邀请进行的:在传递接受从提供者接收到的邀请后,由提供者邀请以查看私有交换的列表202的用户被允许通过交换管理器124进行私有交换。
在一些实施例中,列表202可以被寻址到单个用户。因此,对列表202的引用可以被添加到用户可查看的一组“待定共享”。然后,在用户将批准传递给交换管理器124后,可以将列表202添加到用户的一组共享。
列表202可以进一步包括使用数据210。例如,云计算服务112可以实现积分系统,其中积分由用户购买,并且每次用户运行查询,存储数据或使用云计算服务112实现的其它服务时都将消费积分。因此,使用数据210可以记录通过访问共享数据而消耗的积分。使用数据210可以包括其它数据,诸如查询次数、针对共享数据执行的多种类型中的每种类型的聚合次数,或其它使用统计信息。在一些实施例中,用于用户的列表202或多个列表202的使用数据以共享数据库的形式(即,交换管理器124将对包括使用数据的数据库的引用添加到用户的消费共享)被提供给用户。
列表202还可以包括热图(heat map)211,该热图211可以表示用户在该特定列表上单击的地理位置。云计算服务110可以使用热图来做出复制决定或关于列表的其它决定。例如,私有数据交换可以显示包含美国乔治亚州的天气数据的列表。热图211可以指示加利福尼亚的许多用户正在选择该列表以了解乔治亚州的天气。鉴于该信息,云计算服务110可以复制该列表,并使该列表在数据库(该数据库的服务器物理上位于美国西部)中可用,使得加利福尼亚州的消费者可以访问该数据。在一些实施例中,实体可以将其数据存储在位于美国西部的服务器上。特定列表可能对消费者非常受欢迎。云计算服务110可以复制该数据并将其存储在位于美国东部的服务器中,使得中西部和东海岸的消费者也可以访问该数据。
列表202还可以包括一个或更多个标签213。标签213可以促进更简单地共享包含在一个或更多个列表中的数据。例如,一家大型公司可具有人力资源(HR)列表,其中包含内部员工在私有数据交换上的HR数据。HR数据可以包含十种类型的HR数据(例如,员工编号、选择的健康保险、当前的退休计划、职称等)。公司中的100个人(例如,HR部门的每个人)都可以访问HR列表。HR部门的管理层可能希望添加第十一种类型的HR数据(例如,员工股票期权计划)。并非手动将其添加到HR列表中并同意100个人中的每一人访问该新数据,管理层可以将HR标签简单地应用于新数据集,并且该HR标签可以用于将数据分类为HR数据,将其与HR列表一起列出,并同意100个人访问以查看新数据集。
列表202还可以包括版本元数据215。版本元数据215可以提供跟踪数据集如何改变的方式。这可以帮助确保一个实体正在查看的数据不会过早改变。例如,如果公司拥有原始数据集,并且然后发布该数据集的更新版本,则更新可能会干扰另一用户对该数据集的处理,因为该更新可能具有不同的格式、新列以及可能与接收方用户的当前处理机制不兼容的其它改变。为了对此进行补救,云计算服务112可以使用版本元数据215来跟踪版本更新。云计算服务112可以确保每个数据消费者访问数据的相同版本,直到他们接受不会干扰数据集的当前处理的更新版本为止。
交换数据200可以进一步包括用户记录212。用户记录212可以包括识别与用户记录212相关联的用户的数据,例如,在服务数据库128中具有用户数据150并且由虚拟仓库131管理的用户的标识符(例如,仓库标识符)。
用户记录212可以列出与用户相关联的共享,例如,由用户创建的引用列表202。用户记录212可以列出用户消费的共享,例如由另一个用户创建并已根据本文描述的方法与用户的账户相关联的引用列表202。例如,列表202可以具有标识符,该标识符将用于在用户记录212的共享或消费共享中引用它。
交换数据200可以进一步包括目录220。目录220可以包括所有可用列表202的列表,并且可以包括来自元数据204的数据的索引,以便于根据本文描述的方法进行浏览和搜索。在一些实施例中,列表202以JavaScript对象符号(JSON)对象的形式存储在目录中。
注意,在不同的云计算平台上存在虚拟仓库131的多个实例的情况下,虚拟仓库131的一个实例的目录220可以在一个或更多个其它云计算平台110上存储来自其它实例的列表或对列表的引用。因此,每个列表202可以是全局唯一的(例如,跨虚拟仓库131的所有实例被分配了全局唯一的标识符)。例如,虚拟仓库131的实例可以同步其目录220的副本,使得每个副本指示可从虚拟仓库131的所有实例获得的列表202。在一些实例中,列表202的提供者可以指定它只能在指定的一个或更多个计算平台110上可用。
在一些实施例中,目录220在互联网上可用,使得其可由诸如BING或GOOGLE的搜索引擎搜索。该目录可能受搜索引擎优化(SEO)算法支配,以提高其可见性。潜在的消费者因此可以从任何网络浏览器浏览目录220。交换管理器124可以公开链接到每个列表202的统一资源定位符(URL)。该URL可以是可搜索的,可以在由交换管理器124实现的任何界面之外共享。例如,列表202的提供者可以发布其列表202的URL,以便促进其列表202及其品牌的使用。
图3示出交换管理器124中可以包括的各种组件300-310。创建模块300可以提供用于创建列表202的界面。例如,虚拟仓库131的网页界面使用户设备101-104上的用户能够选择数据,例如用户的用户数据150中的特定表,用于共享并输入定义一些或全部元数据204、访问控制206和过滤器208的值。在一些实施例中,创建可以由用户通过在云计算平台110上执行并通过用户设备101-104上的网页界面访问的SQL解释器中的SQL命令来执行。
确认模块302可以在尝试创建列表202时确认由提供者提供的信息。注意,在一些实施例中,归因于确认模块302的动作可以由人回顾提供者提供的信息来执行。在其它实施例中,这些动作是自动执行的。确认模块302可以执行或促进人类操作员执行各种功能。这些功能可以包括:验证元数据204与其引用的共享数据一致;验证元数据204引用的共享数据不是盗版数据、个人识别信息(PII)、个人健康信息(PHI)或不希望共享或非法的其它数据。确认模块302还可以促进验证是否已经在阈值时间段内(例如,在最近的二十四小时内)更新了数据。确认模块302还可以促进验证数据不是静态的或者不能从其它静态公共源获得。确认模块302还可以促进验证数据不仅是样本(例如,数据足够完整以至于是有用的)。例如,地理上受限制的数据可能是不希望的,而在其他方面没有限制的数据的聚合可以仍然是有用的。
交换管理器124可以包括搜索模块304。搜索模块304可以实现可由用户在用户设备101-104上访问的网页界面,以便关于目录220中的元数据调用对搜索字符串的搜索,接收对搜索的响应,并选择对搜索结果中列表202的引用,以将其添加到执行该搜索的用户的用户记录212的消费共享156中。在一些实施例中,搜索可以由用户通过在云计算平台102上执行并通过用户设备101-104上的网页界面访问的SQL解释器中的SQL命令来执行。例如,可以通过针对下面讨论的SQL引擎310内的目录220的SQL查询来执行搜索共享。
搜索模块304可以进一步实现推荐算法。例如,推荐算法可以基于用户的消费共享156中或先前在用户的消费共享中的其它列表来为用户推荐其它列表202。推荐可以基于逻辑相似性:一种天气数据来源导致第二天气数据来源的推荐。可以基于不同点进行推荐:一个列表用于一个域(地理区域、技术领域等)中的数据,结果导致不同域(不同地理区域、相关技术领域等)中的列表,以便于用户分析的完整覆盖。
交换管理器124可以包括访问管理模块306。如上所述,用户可以添加列表202。这可能需要关于列表202的提供者的认证。一旦列表202被添加到用户的用户记录212的消费共享156,用户可以(a)每次访问列表202引用的数据时都需要认证,或者(b)一旦添加了列表202就自动认证并被允许访问数据。访问管理模块306可以管理对用户的消费共享156中的数据的后续访问的自动认证,以便提供对共享数据的无缝访问,就好像它是该用户的用户数据150的一部分一样。为此,访问管理模块306可以访问列表202的访问控制206、证书、令牌或其它认证材料,以便在执行对共享数据的访问时对用户进行认证。
交换管理器124可以包括连接模块308。连接模块308管理由用户的消费共享156引用的共享数据(即来自不同提供者的共享数据)彼此以及与用户拥有的数据的用户数据库152的集成。特别地,连接模块308可以管理关于这些各种数据源的查询和其它计算功能的执行,使得它们的访问对用户是透明的。连接模块308可以进一步管理数据的访问以对共享数据实施限制,例如使得可以执行分析并显示分析结果,而不会将基础数据暴露给数据消费者(其中该限制由列表202的访问控制206指示)。
交换管理器124可进一步包括标准查询语言(SQL)引擎310,该SQL引擎310被编程为从用户接收查询并关于查询所引用的数据执行查询,该数据可以包括用户的消费共享156和用户拥有的用户数据112。SQL引擎310可以执行本领域中已知的任何查询处理功能。SQL引擎310可以另外地或可替代地包括本领域中已知的任何其它数据库管理工具或数据分析工具。SQL引擎310可以定义在云计算平台102上执行的网页界面,通过该网页界面输入SQL查询并呈现对SQL查询的响应。
参考图4A,所示的方法400可以由交换管理器124执行,以便实现第一用户(“提供者402”)和第二用户(“消费者404”)之间的点对点共享。
方法400可以包括提供者输入406元数据。这可以包括提供者的设备101-104上的用户将元数据输入到由交换管理器124提供的网页中的表格的字段中。在一些实施例中,可以通过SQL引擎310使用SQL命令来输入406元数据。元数据项可以包括以上关于列表202的元数据204所讨论的那些中的一些或全部。步骤406可以包括接收用于列表202的其它数据,诸如访问控制206和定义过滤器208的参数。
提供者402然后可以在设备101-104上调用表格和输入数据的提交。交换管理器124然后可以验证408元数据并确认410由元数据引用的数据。这可以包括执行归因于确认模块302的一些或全部动作。如果元数据和共享数据没有被成功验证408和确认410,则交换管理器124可以诸如借助于通过网络界面的通知来通知提供者402,在步骤406通过该界面提交元数据。
如果没有成功验证408和确认410元数据和共享数据,则交换管理器124可以诸如通过在步骤406通过其提交元数据的网络界面来通知提供者402。
交换管理器124可以进一步创建412包括在步骤406提交的数据的列表202,并且可以进一步在目录220中创建条目。例如,元数据中的关键字、描述性文本和其它信息项可以被索引以便于搜索。
注意,步骤406-412可以借助于提供给提供者402的界面来执行。此类界面可以包括任何合适的特征,包括用于输入数据的元素(例如,元素204-210),以及用于生成数据列表的元素。另外,该界面可以包括用于发布数据列表的元素,或不发布(unpublish)数据列表以使该列表对于至少一些其他用户是不可查看的元素。该界面还可以包括用于更新数据列表的版本或回滚到列表或与列表相关联的元数据的先前版本的元素。该界面还可以包括添加数据列表或将成员添加到数据交换的待定请求的列表。该界面还可以包括与访问给定列表的数据消费者有关的数量和其它非识别信息的指示,以及该列表的数据消费者对该列表所引用的数据的使用模式的表示。
然后,充当消费者404的另一用户可以浏览414目录。这可能包括访问提供目录搜索界面的可公开访问的网页。该网页可以在虚拟仓库131的外部,即可以由未登录虚拟仓库131的用户访问。在其它实施例中,只有登录到虚拟仓库131的用户才能够访问搜索界面。如上所述,可以使用对引用目录220的SQL引擎310的查询来执行目录220的浏览。例如,用户设备101-104可以具有到SQL引擎310的基于网络的界面,通过该界面针对目录220的查询由消费者404输入并被发送到SQL引擎310。
响应于消费者的浏览活动,交换管理器124可以显示目录并关于该目录执行416搜索,以识别具有与消费者404提交的查询或搜索字符串相对应的元数据的列表202。执行该搜索的方式可以根据本领域中已知的任何搜索算法。在SQL查询的情况下,可以根据本领域中已知的用于处理SQL查询的任何方法来处理查询。
交换管理器124可以将搜索字符串或SQL查询的结果返回给消费者404的设备101-104,诸如以对根据搜索算法或处理SQL查询所识别的列表202的引用列表的形式。该列表可以包括元数据项或消费者404可以选择以调用元数据显示的链接。特别地,列表202的元数据204的任何项可以显示在列表中或通过列表中与搜索记录202相对应的条目链接。
注意,图4A中引用的交换可以是私有交换或公共交换。特别地,在浏览414期间显示和搜索416并且消费者404可以查看的那些列表202可以限于具有过滤器208的那些列表,该过滤器208指示该列表202可以被消费者404、消费者的组织或消费者404所属的某个其它分类查看。在交换是公开的情况下,则在一些实施例中,消费者404不需要满足任何过滤标准。
方法400可以包括消费者404请求418访问与列表202相对应的数据。例如,通过在消费者404的设备101-104上选择列表中的条目,这调用到交换管理器124的请求的传输,以将与该条目相对应的列表202添加到消费者404的用户记录212中的消费共享156中。
在所示的示例中,所选条目的列表202具有访问控制206。因此,交换管理器124可以将请求连同消费者404的标识符一起转发420至提供者402。消费者404和提供者402然后可以交互,以执行以下两者之一或两者:(a)关于提供者402认证(登录)424消费者404;以及(b)处理424用于访问列表202所引用的数据的支付。该交互可以根据任何登录或认证或本领域已知的方法。同样地,可以实现用于处理各方之间的支付的任何方法。在一些实施例中,由于在访问提供者的共享数据时消费者404消耗的积分,数据仓库模块可以向提供者402提供折扣。积分可以是由用户购买的使用单位,该积分然后响应于消费者404所使用的虚拟仓库131的服务(例如,对由虚拟仓库131托管的数据执行的查询和其它分析)而被消费。交互可以直接在消费者404和提供者402的设备126之间进行,或可以通过交换管理器124执行。在一些实施例中,交换管理器124使用访问控制信息206来认证消费者404,使得不需要与提供者402的交互。同样,列表202可以定义支付条款,使得交换管理器124无需与提供者402交互就可以处理支付。一旦提供者402确定消费者404被认证并被授权访问列表202所引用的数据,则提供者402可以向交换管理器124通知426消费者404可以访问列表202所引用的数据。作为响应,交换管理器124将对列表202的引用添加428到消费者404的用户记录212中的已消费共享156。
注意,在一些情况下,列表202没有列出特定数据,而是引用了特定的云服务120,例如服务的品牌名称或公司名称。因此,访问列表202的请求是访问发出请求的消费者的用户数据150的请求。因此,步骤422、424、426包括关于认证引擎121对消费者404进行认证,使得云服务120可以验证消费者404的身份,并向交换管理器124通知哪些数据要与消费者404共享,并且指示消费者404被授权访问该数据。
在一些实施例中,这可以使用“单点登入(single sign on)”方法来实现,其中消费者404关于云服务120进行一次认证(登录),并且然后使该消费者404能够访问服务数据库158中的消费者404数据。例如,交换管理器124可以在消费者404的设备101-104上向云服务120呈现界面。消费者404将认证信息(用户名和密码、证书、令牌等)输入到界面中,并且该信息被转发到云服务120的认证引擎121。认证信息处理认证信息,并且,如果该信息对应于用户账户,则向交换管理器124通知消费者404关于该用户账户而被认证。然后,交换管理器124可以识别该用户账户的用户数据150,并创建引用该数据的数据库。然后,对该数据库的引用将被添加到消费者404的消费共享156。
在一些实施例中,关于虚拟仓库131的用户认证足以关于云服务120认证用户,使得鉴于消费者404的先前认证,省略了步骤422、424。例如,消费者404可以将虚拟仓库131指示给云服务120以被授权验证消费者404的身份。
在一些实施例中,交换管理器124使用访问控制信息206来认证消费者404,使得不需要与提供者402的交互。同样地,列表202可以定义支付条款,使得交换管理器124处理支付而无需与提供者402的交互。因此,在此类实施例中,步骤422由交换管理器124执行并且步骤426被省略。一旦消费者404被认证和/或被提供所需的支付,则交换管理器124然后执行步骤428。
在一些实施例中,将列表202添加到消费者404的消费共享中可以进一步包括:从消费者404接收对呈现给消费者404的条款的认同。在一些实施例中,在消费者404已经根据本文所述的方法400或其它方法添加了列表202之后,由提供者402改变协议的条款的情况下,交换管理器124可能要求消费者404同意改变的条款,然后再允许其继续访问列表202引用的数据。
由列表202添加428数据引用可以包括创建引用数据的数据库。然后可以将对该数据库的引用添加到消费共享156,并且然后可以将该数据库用于处理引用共享记录所引用的数据的查询。添加428数据可以包括添加根据过滤器208过滤的数据。例如,列表202所引用并且与消费者404、消费者404的组织或消费者404的某个其它分类相关联的数据(例如,数据的过滤视图)。
在一些实施例中,将列表202添加到用户记录212可以包括改变列表202的访问控制206以引用消费者404的身份数据214,使得访问列表202所引用的数据的尝试将由交换管理器124允许并执行。
消费者404然后可以通过消费者的设备101-104将查询输入432到SQL引擎310。该查询可以引用在步骤428处添加的列表202中引用的数据以及在用户数据库152和消费共享156中引用的其它数据。然后,SQL引擎310使用在步骤428处创建的数据库处理430查询,并将结果返回给消费者404,或者创建视图,实例化视图或用户可以访问或分析的其它数据。如上所述,由查询操作的消费共享的数据可能先前已被过滤以仅包括与消费者404有关的数据。因此,将相同列表202添加到其消费共享156的不同消费者404将会看到列表202所引用的数据库的不同版本。
参考图4B,在一些实施例中,可以使用所示的数据结构来实现根据消费者404身份的数据的私有共享和数据的过滤。例如,提供者402的服务数据库158可以包括顾客映射434,该顾客映射434包括由提供者402提供的服务(例如,由服务器的云服务120实现的服务)的用户的顾客标识符436的条目,以及作为用于采用认证界面120进行认证的标识符的顾客标识符436的条目。顾客映射434可以将每个顾客标识符436映射到仓库标识符438,即用户用于向虚拟仓库131进行认证的用户标识符,使得同一用户对应于两个标识符436、438。可以通过如上所述认证(例如,上述单点登入方法)来执行标识符436和438之间的映射。
顾客映射434可进一步包括对权利表442的引用440,该权利表442可以是多个权利表442中的一个权利表。每个权利表442定义可以采用映射到其的顾客ID 436访问提供者402的一个或更多个表444中的哪个表。权利表442可以进一步定义可以采用顾客ID 436访问的表444的列。权利表442可进一步基于可采用顾客ID 436来访问的表444的一个或更多个过滤标准来定义行或行的类型。权利表442可以进一步定义可采用顾客ID 436来访问的表444的模式。
因此,表444的列表202可以指定如由顾客映射434定义的那样执行对数据表444的访问。例如,参考图4C,当消费者404请求为根据顾客映射为其定义访问的数据库添加列表202时,交换管理器124可以根据映射到消费者404的仓库标识符438的顾客标识符436和权利表442来创建安全视图446。安全视图可以通过执行根据顾客标识符436过滤的,在权利表442中指定的数据库的数据表444(或如在权利表442中指定的数据的一部分)的内部连接而生成,使得连接结果仅包括特定顾客标识符436的数据,并且仅包括在权利表442中指定的数据库的那些部分(表444和/或表444的部分)。生成安全视图的方式可以如2018年8月6日提交和题为“SECURE DATA SHARING IN A MULTI-TENANT DATABASE”的美国申请序列号16/055,824以及2019年1月7日提交和题为“SECURE DATA SHARING IN A MULTI-TENANTDATABASE”的美国申请序列号16/241,463中所述。
图5示出用于共享数据的替代方法500,该替代方法500可以在消费者请求418添加对公共或私有交换的所有用户可用的列表202时执行。在该情况下,交换管理器124将对列表202的引用添加428到消费者404的消费共享156,并且省略认证或支付步骤。可以如上所述执行步骤428,除了不执行对访问控制206的改变之外。同样,如上所述,可以关于共享数据执行步骤430和432。图5的交换可以是上面关于图4所述的公共交换或私有交换。图5示出如果列表202是可查看的情况(即,如上所述,过滤标准允许消费者404查看),消费者404可以将列表202添加到消费者404的消费共享156中,而无需进一步的认证或支付。
注意,当根据本文公开的任何方法将列表202添加到用户的消费共享156中时,当列表202所引用的数据被更新时,交换管理器124可以向消费者通知列表202。
参考图6,在一些实施例中,方法600可以包括消费者404从交换管理器124浏览目录并如针对本文所述(例如参见图4A和图5)的其它方法所描述的那样选择列表202,关于列表所引用的数据(“共享数据”)以及用户数据库112中的附加数据(“用户数据”)的双向共享。注意,在一些实施例中,提供者402的列表202不引用任何特定数据(例如,特定表或数据库),而是关于消费者404提供的数据提供执行服务。因此,在此类情况下,如下所述,“共享数据”可以理解为用“所提供的服务”代替。
响应于该请求,交换管理器124关于消费者404和提供者402实现604共享数据的点对点共享。这可以如以上关于图4A所描述地执行,例如包括对消费者404的认证,并且可能过滤共享数据以仅包括与消费者404相关联的数据,如上所述。交换管理器124可以进一步如关于图4A所述关于提供者402实现用户数据的点对点共享,除了:(a)消费者404充当提供者,而提供者402充当用户数据的消费者,并且用户的数据被添加到提供者402的消费共享156中,并且(b)消费者404无需创建用于用户数据的列表202,并且用户数据也无需在目录220中列出。
在步骤606之后,消费者404或提供者402都可以访问共享数据和用户数据。然后,可以针对这两者运行查询,连接它们,对连接的数据执行聚合,或关于多个数据库执行本领域已知的任何其它动作。
在一些实施例中,双向共享可以包括或由消费者404请求包括,提供者402还连接608共享数据和用户数据以获得连接数据,并且采用将连接数据的引用添加612到消费者404的消费共享156的请求(交换管理器124所做),将连接数据的引用返回610给交换管理器124。
因此,消费者404现在将有权访问连接的数据。步骤608可以进一步包括在连接之前或之后对用户数据和共享数据执行其它动作(聚合、分析)。虚拟仓库131可以响应于来自消费者404的这样做的请求来执行步骤608。
连接结果可以是(a)作为连接结果的新数据库,或者(b)定义共享数据和用户数据的连接的连接数据库视图。来自步骤608(连接,聚合,分析等)的结果可以可替代地被添加到在步骤606、608处执行的原始共享,例如,定义在步骤608处执行的操作的视图(实体化或非实体化)。虚拟仓库131也可以响应于来自消费者404或提供者402的这样做的请求而独立于在步骤602处所做出的请求,来执行步骤608-612。
在许多情况下,有许多消费者404尝试关于提供者402执行双向共享,并且这些消费者404可能关于其用户数据寻求双向共享,该用户数据可能采用许多不同的格式(模式),该格式(模式)可能与提供者402的共享数据所使用的模式不同。因此,步骤608可以包括变换步骤。变换步骤将用户数据的源模式映射到共享数据的目标模式。该变换可以是由人类操作员提供的静态变换。该变换可以根据将源模式的列标签映射到目标模式的对应列标签的算法。该算法可以包括被训练以执行变换的机器学习或人工智能模型。例如,多个训练数据条目可以由人类注释者指定,每个条目都包括作为输入的源模式,而作为输出的包括源模式和目标模式之间的映射。然后,这些条目可用于训练机器学习或人工智能算法,以输出到给定输入源模式的目标模式的映射。
添加到消费者404和提供者402所消费的共享的数据然后可以分别由消费者404和提供者402操作,诸如通过针对数据执行查询,聚合数据,分析数据或执行本文描述为关于添加到用户的消费共享156的共享执行的任何其它动作。
在特定实施例中,如上所述,数据提供者可以通过实现双向方式的数据的安全交换来改善其与商业伙伴的关系。传统的双向数据共享方法很难实现,并且经由API、FTP或公司之间的文件传送只能共享非常有限的数据集。这通常会带来巨大的成本、费用、数据时延,并且甚至带来一些安全风险。
数据提供者可以替代地托管私有数据交换,并邀请其顾客和合作伙伴参与交换。顾客和合作伙伴可以例如以安全视图访问数据,并且他们也可以在另一个方向中推送数据。这可能是将数据共享回主机,也可能是列出数据,使得生态系统的其他参与者也可以安全地共享数据。也可以包括来自公共数据交换、其它私有交换或来自其它外部来源的数据。
每个大型公司取决于其他公司及其顾客。双向共享数据不仅可以在公司之间进行,也可以在外部各方之间进行,这可以使丰富的协作数据生态系统得以发展,其中使公司集团可以围绕数据一起工作。他们可以安全地发现、合并和丰富数据资产,以帮助服务共同顾客或在彼此之间建立新的合作伙伴关系。这些关系中的一些关系甚至可能导致向围墙花园生态系统的其他参与者出售数据、跨数据的安全视图或功能的机会。
参考图7,如本文所述的共享和消费数据的方法使得能够丰富数据并将该丰富的数据返回到交换。例如,提供者A可以以与本文描述的其它方法相同的方式请求702与交换共享数据(共享1)。交换管理器124验证、确认并将共享1添加704到目录220。
然后,第二提供者B可以浏览目录220并将共享1添加706到其消费共享156。提供者B可以对共享数据执行708操作,诸如将其与其它数据连接,执行聚合,和/或执行关于共享1的其它分析,导致修改的数据(共享2)。然后,提供者B可以请求710与本文所述的交换来共享共享2。注意,步骤708的连接可以包括连接任何数量的数据库,诸如基于任何数量的其他用户的任何数量的列表的任何数量的共享。因此,可以将许多用户的步骤702-710的迭代视为一种层次结构,其中,基于来自大量列表202的数据,将多个用户的大量列表202缩小为较小数量的列表202。
交换管理器124验证、确认并将共享2添加712到目录220。随着提供者A、提供者B或不同的提供者添加共享2,基于它生成修改的数据,并且以相同的方式将结果添加回目录,可以关于共享2重复714该过程。以该方式,可以使用户获得丰富的数据和分析生态系统。根据方法700的共享可以是根据本文公开的方法的任何共享、点对点共享、私有交换共享或双向交换共享。
在实施例中,提供者可以关于基于列表202的列表202执行步骤708和710。例如,提供者B使用提供者A的列表L1来创建列表L2,提供者C使用该列表L2来创建列表L3,提供者A使用该列表L3来定义列表L1。此类流程可以包括任何数量的步骤。这在一些情况(使得鉴于从L1派生L3,不允许将列表L1修改为引用L3)下可能是不可取的。在其它情况下,如果刷新每个列表引用的数据时存在时间延迟,则允许此类循环。例如,L1可以引用L3,前提是L3直到刷新L1之后的某个时间才会被刷新,并且因此循环引用不会无限期地导致L1和L3的连续更新。本公开还考虑了非循环流,使得列表L1不受其他提供者对列表L1的使用影响。
在步骤712(共享2)处创建的列表可以(a)包括在步骤708之后剩余的,来自共享1的数据副本,并如根据步骤708修改,或者(b)包括视图,该视图引用共享1(例如,数据库,其根据本文公开的方法基于共享1的列表202创建),并定义在步骤708处执行的操作,而没有包括来自共享1或从共享1派生的实际数据。因此,如上所述的层次结构可以是视图的层次结构,这些视图引用根据方法700创建的视图的列表202或根据本文公开的任何方法来自一个或更多个提供者的数据的列表202中的一个或二者。
在本文公开的方法中,公开了用于创建共享(列表202)和用于添加共享的方法。以类似的方式,消费者404可以指示交换管理器124删除添加的共享。提供者402可以指示交换管理器124停止共享某些列表202。在一些实施例中,这可以伴随有避免干扰那些列表202的消费者404的动作。诸如通过通知这些消费者404并仅在通知后的指定时间段之后或在所有消费者404从其消费共享156中删除对列表202的引用之后,才停止共享列表202。
用例
在第一用例中,公司根据上述方法实现私有交换。特别地,公司的列表202仅由与公司相关联的消费者404(员工、管理人员、投资者等)可查看。同样,仅允许与公司相关联的人员添加列表202。当将列表202添加到消耗共享156时,可以基于添加该列表的消费者的身份,即与该消费者在公司中的角色有关的数据来对其进行过滤。
在第二用例中,提供者402为尚未成为虚拟仓库131用户的消费者404创建读取器账户或读取器/写入器账户。该账户可与该消费者的账户数据相关联(请参见以上讨论的图4B的消费者映射)。然后,消费者404可以登录到该账户,并且然后访问提供者的列表以访问由提供者402管理的消费者数据404(例如,参见图4A的讨论)。
在第五用例中,消费者404添加私有的共享(例如,由于消费者404的身份,根据上述方法可访问),以及公共的共享。然后,消费者404可以将这些共享连接,并用于处理查询。
在第六用例中,可以基于订阅(例如,每月)共享列表202,或者可以基于每个查询的价格或信用提升乘数来访问列表202。因此,交换管理器124可以管理支付和访问的处理,使得消费者404被允许访问受定价模型支配的数据(订阅、每个查询等)。
在第七用例中,交换管理器124实现可用于处理私有数据的安全功能和安全机器学习模型(训练和评分二者),使得允许消费者404使用该功能或机器学习模型的结果,但无权访问由该功能或机器学习模型处理的原始数据。同样,不允许共享数据的消费者导出共享数据。尽管如此,允许消费者对共享数据执行分析功能。例如,可以实现以下安全功能以使得以安全方式查看顾客购物数据:
选择6139作为input_item,ss_item_sk作为basket_Item,从udf_demo.public.sales中对baskets计数(不同的ss_ticket_number),其中ss_ticket_numberin(select ss_ticket_number from udf_demo.public.sales where ss_item_sk=6139)group by ss_item_sk order by 3desc,2;
在第八用例中,交换管理器124可以将一个或更多个消费者404对列表202的使用统计信息(例如查询、使用的积分、扫描的表、命中的表等)提供给列表的提供者402。
在第九用例中,本文公开的系统和方法用于特定于行业的应用。例如:
1.网络安全(Cybersecurity)
a.允许共享风险矢量、不良行为者、IP白名单/黑名单、正在进行的实时攻击、已知的好/坏电子邮件程序等
2.医疗保健
a.安全共享患者信息,包括费用信息和结果信息,以及其它类型的信息
b.保护多医院数据库,使患者可以将信息共享给多个提供者(例如,如果患者A居住在加利福尼亚州并度假去佛罗里达州,受伤并且在急诊室接受治疗,则佛罗里达州的医院也许能够从不同的医院和提供者访问患者A的记录)。
根据本文公开的系统和方法,其它行业也可以从数据的私有或公共共享中受益。诸如金融服务业、电信业、媒体和广告业、政府机构、军队和情报机构。
在第十用例中,第一用户为第二用户提供营销服务,因此,第二用户与第一用户共享顾客列表。第一用户向第二用户共享关于营销活动的数据,诸如活动元数据、当前用户事件(特定用户的会话开始/结束,特定用户的购买等)。这可以使用图6的双向共享来实现。可以连接该数据(来自第一用户的顾客列表+顾客事件),以便更好地了解特定用户或一组用户的事件。如上所述,可以在不创建副本或传送数据的情况下执行数据交换-每个用户访问共享数据的相同副本。由于没有数据传送,因此在发生顾客事件时可以几乎实时地访问数据。
图8是示出其中数据提供者可以经由云计算服务共享数据的网络环境的框图。数据提供者810可以使用云计算服务112将一个或更多个数据集820上传到云存储设备中。然后,这些数据集可以由一个或更多个数据消费者101-104查看。数据提供者810能够使用本文讨论的方法和系统使用云计算服务112来控制、监视和增加其数据的安全性。在特定实施例中,数据提供者810可以使用由云计算服务112提供的功能、方法和系统在其自己的在线域上实现私有数据交换。数据提供者810可以是任何数据提供者,诸如例如零售公司、政府机构、民意调查机构、非营利组织等。数据消费者101-104可以在数据提供者810的内部或在数据提供者810的外部。在数据提供者内部的数据消费者可以是数据提供者810的员工。数据提供者可以是自行车共享公司,该公司以每天、每月、每年或基于旅行的费用提供自行车。自行车共享公司可以收集有关其用户的数据,诸如基本的人口统计信息以及骑乘信息,包括骑乘日期、骑乘时间和骑乘持续时间。该信息可以经由云计算服务112可用于自行车共享公司的员工。
数据提供者810、私有数据交换812(如由云计算服务112实现的)和数据消费者之间的交互可以如下。数据提供者可以使用数据集820创建一个或更多个列表811。列表可以用于任何合适的数据。例如,消费者数据公司可以创建被称为“视频流”的列表,其包含与大量用户的视频流习惯有关的数据。数据提供者可以设定与谁可以查看列表811,谁可以访问列表811中的数据有关的列表策略821,或者任何其它合适的策略。上面参考图2讨论了此类列表策略。然后,数据提供者810可以在步骤813处提交给私有交换812。私有数据交换812可以被嵌入在数据提供者810的网络域内。例如,如果消费者数据公司的网络域是www.entityA.com,则可以在www.entityA.com/privatedataexchange处找到私有数据交换。如果列表符合由云计算服务112确定的一个或更多个规则,则私有数据交换812可以接收列表并在步骤814处批准它。然后,私有数据交换812可以至少部分地根据在步骤821中设定的列表策略在815处设置访问控制。私有数据交换812然后可以在步骤816处邀请成员。成员可以是数据消费者801。数据消费者801可以在步骤817处接受邀请,并且然后可以在818处开始消费数据。数据消费的类型可以取决于在815处建立的访问控制。例如,数据消费者可以仅读取数据或共享数据。作为另一个示例,数据消费者能够根据访问控制对数据进行上述读取或共享操作的任何组合。通常,数据共享不涉及更改共享数据。
在一些实施例中,数据消费者801可以通过在浏览器中直接导航到私有数据交换812,或者通过点击用于私有数据交换812的广告,或者通过任何其它合适的机制,来独立地访问私有数据交换812。也可以经由定制或其它代码通过经由API访问列表和其它信息来呈现私有数据交换。如果数据消费者801希望访问列表内的数据并且该列表尚未普遍可用或者数据消费者801尚未具有访问权限,则数据消费者801可需要在步骤820处请求访问。数据提供者可以在822处批准或者拒绝请求。如果批准,则私有数据交换可以在823处同意访问列表。然后,用户可以开始消费如上所述的数据。
在特定实施例中,一个或更多个数据交换管理员账户可以由云计算服务112指定。数据交换管理员账户可以是与数据交换相关联的账户,该账户通过将成员指定为数据提供者810或数据消费者801来促进私有数据交换成员的管理。数据交换管理员账户可以通过使得选择哪些成员可以看到给定列表来促进对列表可见性的控制。数据交换管理员账户还可以具有其它功能,诸如在将列表发布到私有数据交换上之前批准列表,跟踪列表中的每个列表的使用情况或任何其它合适的管理功能。在一些实施例中,数据交换所有者、数据提供者和数据交换管理员账户是同一实体的一部分;在一些实施例中,它们是分开的实体。数据提供者可以创建列表,可以对列表下面的数据测试样本查询,可以设定列表访问权限,同意访问列表请求,并跟踪列表中每个列表和列表下面的数据的使用情况。在一些实施例中,数据交换管理员账户可以代替数据提供者来同意或拒绝列表请求(例如,发布请求或访问请求)。数据消费者801可以访问私有数据交换并浏览可显示为图块(tile)的可见列表。为了消费列表下面的数据,消费者可以立即访问数据,或可以请求访问数据。
图9是根据本发明的实施例的示例私有数据交换900。私有数据交换900可以是数据消费者在导航到网络上的私有数据交换时看到的东西。例如,数据消费者可以在其浏览器中输入www.entityA.com/privatedataexchange。如本文所讨论的,“实体A数据交换”可以是由云计算服务112促进并且被嵌入到实体A自己的网络域或应用中的私有数据交换,或者可以经由API来访问。私有数据交换900可以包括用于不同数据集的几个列表,例如列表A-L。列表A-L在本文中也可以被称为数据目录,其可以允许私有数据交换的访问者查看私有数据交换中的所有可用列表。这些列表可以由实体A内部的管理员账户放置。以该方式提供数据目录可能有助于将众包内容(crowdsourced content)、数据质量以及适当级别的集中控制和协调的优势相结合,这可以克服使其他企业数据分类方法(例如索引和爬网(crawling)系统)的采用减慢的挑战。它允许整个企业中的用户提供数据,使用其它组中的数据以及将数据连接在一起以创建丰富的数据产品,以供内部使用以及潜在地用于外部获利。
作为示例而非限制,实体A可以是已经收集并分析了多个不同类别中的数百万人的消费习惯的数据收集公司。他们的数据集可以包括以下类别的数据:在线购物、视频流、电力消耗、汽车使用、互联网使用、服装购买、移动应用购买、俱乐部会员资格和在线订阅服务。这些数据集的每一个数据集可以对应于不同的列表。例如,列表A可以用于在线购物数据,列表B可以用于视频流数据,列表C可以用于电力消耗数据,依此类推。注意,数据可能会匿名,使得不会透露个人身份。位于行915下面的列表可以对应于实体A可以在其私有数据交换上允许的第三方列表。此类列表可以由其它数据提供者生成,并且在被添加到私有数据交换900之前,可能要经过实体A的批准。数据消费者可以单击并查看受以上参考图2、4和8讨论的各种访问控制和策略支配的任何列表。
在特定实施例中,如参考图8所讨论的,数据提供者可以邀请成员访问其私有数据交换。一类成员可以是数据提供者的物理和数字供应链供应商。例如,数据提供者可以在其库存级别或供应商提供的物品消费方面与供应商共享数据,因此他们可以更好地满足数据提供者的需求。另外,数字数据提供者可以将数据直接提供到其私有数据交换中,以使其立即可用于内部企业数据并与之连接,从而为双方节省了传输、存储和加载数据的成本。
一些公司,诸如对冲基金和营销机构,从许多外部来源引入数据。一些对冲基金每年评估数百种潜在数据集。私有数据交换不仅可以用于连接已购买的数据,还可以用于评估新数据资产。例如,对冲基金可以让潜在的数据供应商在其私有交换上列出其数据,而该基金可以在他们是唯一顾客的私有数据存储中探索和“购物”数据。如参考图11所讨论的,此类内部数据存储还可以“隧穿(tunnel)”来自公共数据交换(例如,SNOWFLAKE公共数据交换)的数据资产。
作为另一个示例,公司的营销数据的现有提供者可以列出其顾客可以经由试用自己的私有交换使用的一些附加数据集,并且如果顾客发现它们有用,则供应商可以立即通过同一交换提供完全访问权限。这些安排可以带来更大的数据深度,双向和更新鲜的数据,以及对数据和实物商品的供应商及其顾客之间关系的更大信任和透明度。
图10是示出来自私有数据交换的共享数据的示例安全视图的图。当数据消费者1020希望访问列表(例如,列表H)中的数据时,云计算服务112可以促进经由共享数据的安全视图1010的访问。共享数据的安全视图1010可以包括元数据1015,该元数据1015包括本文参考图2讨论的元数据和访问控制。这可以使数据提供者能够共享数据而不会暴露基础表或内部细节。这使数据更加私有和安全。通过共享数据的安全视图1010,视图定义和细节仅对授权用户可见。
在私有数据交换中,可以在同一实体内以及不同实体之间共享数据。另外,数据共享可以是单向、双向或多向的。这导致了共享数据的五个主要用例:双向实体间、双向实体内、单向实体间、单向实体内和多向多实体。双向实体间数据共享的示例可以是从投资组合公司到母公司以及投资组合公司之间的数据共享。双向实体内数据共享的示例可以是从大型公司总部到该公司内不同业务部门的数据共享,并且也可以是从业务部门到总部的数据共享。单向实体间数据共享的示例可以是与许多不同实体共享数据但不从那些实体接收数据的大型数据提供者(例如,国家气象服务)。单向实体内的示例可以是一家大型公司,该公司向其相应的业务部门提供数据,但不从那些业务部门接收数据。在特定实施例中,数据可以共享为特定数据的“点对点共享”或“任何共享”。特定数据的点对点共享可以包括母公司和特定投资组合公司之间的私有数据交换共享。任何共享可以包括从母公司到公共交换上或私有交换内的众多数据消费者的私有数据交换共享。
在特定实施例中,云计算服务112可以为作为要在私有数据交换上共享的数据的所有者的实体生成私有数据交换。云计算服务112可以指定私有数据交换的一个或更多个管理员账户。这些管理员账户可以控制私有数据交换相对于其他用户的访问权限。例如,管理员账户可以促进将另一个用户账户添加到私有数据交换中,并将该账户指定为数据提供者、数据消费者、交换管理员或这些的组合。
在特定实施例中,交换管理员账户可以促进控制私有数据交换的查看和访问权限。查看权限可以包括可以在私有数据交换中查看列表的实体的列表。访问权限可以包括在选择特定列表之后可以访问数据的实体列表。例如,公司可以发布私有数据交换900,并且可以包括几个列表,列表A至列表L。这些列表中的每一个列表可以包括它们自己的单独的查看和访问权限。例如,列表A可以包括有权查看私有数据交换900上的列表的实体的第一列表和有权访问列表的实体的第二列表。查看列表可能只是看该列表存在于私有数据交换上。访问列表可以是选择列表并访问该列表的基础数据。访问可以包括查看基础数据,操纵该数据或两者。对于不希望某些用户甚至知道私有数据交换中存在某个列表的数据提供者,控制查看权限可能很有用。因此,当对特定列表没有查看权限的用户访问私有数据交换时,该用户甚至不会在交换上看到该列表。
在特定实施例中,可以通过应用程序接口(API)来提供上述讨论的查看和访问权限。交换目录可以是查询,并且可以经由API进行更新。这可以允许数据提供者在其自己的应用或网站上向访问的任何人显示列表。当用户想要访问或请求对数据的访问时,该用户然后可以采用云计算服务112创建账户并获得访问。在一些实施例中,可以在用户请求访问列表中的数据时调用URL。这可以允许与外部请求批准工作流程集成。例如,如果用户发出访问请求,则可以访问和激活数据提供者的外部请求批准工作流程。然后,外部请求批准工作流程可以正常操作以执行外部请求批准过程。在一些实施例中,列表可以不列出,这意味着该列表存在但在数据交换上不可见。为了访问未列出的列表,消费者可以在浏览器中输入全局URL。对于每个列表,这可能需要一个唯一的URL。
在特定实施例中,当为数据提供者创建新的私有数据交换时,云计算服务112可以指定数据交换管理员账户,并且还可以生成关于私有数据交换的以下元数据:私有数据交换的名称(必须是唯一的)、显示名称、徽标、私有数据交换的简短描述以及是否需要交换管理员账户的批准才能发布的指示(例如Admin_Approval_for_Publishing)。这可能是对/错的陈述。如果交换管理员账户需要在发布之前批准提交给私有数据交换的列表,则可以将其设定为真。如果交换管理员账户不需要提供此类批准,则可以将其设定为假。在该情况下,提供者可以直接发布数据。如果交换管理员账户将Admin_Approval_for_Publishing设定为真,则交换管理员账户能够看到列表的清单,并选择要预览和批准/拒绝的列表。私有数据交换的所有者可以是为私有数据交换付费的账户。该元数据信息可以存储为交换对象的一部分。与私有数据交换相关联地存储的还有向交换所提供数据的用户和账户、交换的消费者以及交换管理员。
在特定实施例中,交换管理员账户可以通过以任何合适的方式邀请成员(例如,数据提供者和数据消费者)来将成员添加到私有数据交换。例如,通过邀请云计算服务112上的用户账户,或者通过向用户的电子邮件账户地址发送电子邮件。当交换管理员账户将成员添加到私有数据交换时,交换管理员账户还可以指定成员类型:交换管理员、提供者或消费者。交换管理员账户能够从私有数据交换中添加和删除成员,以及编辑与私有数据交换相关联的元数据。对于每个用户,交换管理员账户可以指定该用户是否是交换管理员、数据提供者和数据消费者。下表总结了与每种类型的账户相关联的权限。
表1:与每种类型的私有数据交换账户相关联的权限
Figure BDA0002897542200000311
Figure BDA0002897542200000321
在一些实施例中,如果交换管理员账户删除成员或仅将成员的类型从提供者改变为消费者,则由该成员发布的现有列表可能会从交换中变成未发布。另外,该成员添加到交换的现有共享不再被视为私有数据交换的一部分。该成员发布的列表可以被存档,并且不再对任何人(包括成员)在UI中可见。如果已被删除的相同成员(云计算服务112上的相同账户)再次成为提供者,则云计算服务112可以取消存档。
在一些实施例中,交换管理员账户能够指定类别列表以及编辑现有列表。类别可具有与之关联的图标,并且交换管理员账户能够指定该图标以及类别名称。
当成员成为数据提供者时,可能会生成提供者简档,其中包括徽标、提供者的描述以及提供者网站的URL。在提交列表时,提供者可以执行以下操作:选择哪个私有数据交换来发布数据(例如,可能存在许多私有交换,并且提供者可能需要选择这些交换的子集,其可以是一个或更多个),并设定有关新列表的元数据。元数据可以包括列表标题、列表类型(例如,标准或个性化)、列表描述、一个或更多个使用示例(例如,标题和样本查询)、列表类别(可以将其输入为自由格式文本)、列表的更新频率、支持电子邮件/URL和文档链接。提供者还可以设定列表的访问权限。提供者可以允许交换管理员账户控制列表的可见性,或者提供者可以自己保留该控制。提供者还可以将共享与列表相关联。对于标准共享,列表可能与零个或更多个共享相关联。提供者可以通过UI或SQL将共享与列表相关联。对于个性化共享,当提供者响应于请求提供共享时,提供者可以将该共享与列表相关联。当提供者希望发布列表时,取决于私有数据交换的发布规则,列表可能首先需要交换管理员的批准。
图11是示出在公共数据交换和私有数据交换之间的数据列表的示例隧穿的图。可替代地,数据可以在两个公共数据交换之间或在两个私有数据交换之间隧穿,或者从一个公共交换隧穿到多个私有交换,或以任何其它合适的组合来隧穿。在一些实施例中,实体可能希望在其私有数据交换上提供公开列出的数据列表。例如,实体B可能希望在其自己的私有数据交换1000上包括公共数据交换1100的列表F。可以将列表F下面的数据从公共数据交换1100隧穿到私有数据交换1000。在特定实施例中,数据可以在两个私有数据交换之间隧穿。有时,第一数据提供者可能希望允许第二数据提供者在第二数据提供者的私有数据交换上列出属于第一数据提供者的数据。数据列表的隧穿可以允许两个数据提供者提供相同的列表。例如,实体A和实体B可能具有业务协议,以在其每个私有数据交换上共享列表F。列表F可能是实体A的财产,但是实体B可能也具有在其私有数据交换上提供它的许可证。在该情况下,两个标题为“列表F”的列表都将指向存储在云计算平台110中的相同数据集。隧道1015是示出可以在两个或更多个数据交换1100和1000之间安全且轻松地共享列表F的表示。在隧穿中没有数据被复制或传送。相反,每个列表都包含指向本文讨论的列表F引用的数据的指针。
在特定实施例中,可以在私有数据交换和公共数据交换之间完成隧道链接,反之亦然。例如,数据交换1100可以是公共数据交换。实体B可以经由隧道1015在其自己的私有数据交换1000上使用在公共数据交换1100上列出的列表。在一些实施例中,可以将数据列表从一个数据交换隧穿到另一数据交换,并且然后可以将基础数据与另一数据集连接,并且然后可以从组合的数据集生成新列表。作为示例而非限制,第一数据集可以在私有数据交换上列出,该私有数据交换包括最近五年的NBA球员投篮统计数据。可以在不同的数据交换上列出第二数据集,该数据交换包括相同时间跨度上的天气数据。这两个数据集可以连接,并在私有或公共数据交换中作为新列表列出。然后,数据消费者可以根据本文讨论的查看和访问控制来访问该数据集,以了解天气可能如何影响球员的投篮命中率。另外,如果数据在公共数据交换(例如,由云计算服务112托管的数据交换)上列出,则该数据可以被隧穿到私有数据交换。
在一些实施例中,数据集的隧穿可用于创建公共或私有的“全行业(industry-wide)”数据交换。许多不同的实体可能会将数据集隧穿到“大型生态系统数据交换”。如果私有生态系统的数据交换真正崛起,则它可能会变得如此庞大和有影响力,从而可能成为整个行业进行数据交换、协作和货币化的标准场所。每个行业可能有一个或两个“大型生态系统数据交换”的空间。一旦任何一个交换获得了巨大的吸引力,它就有可能成为该行业的“去向”。如果一个行业中出现了多于一个的可行交换,则它们相应的主人可以决定在他们的交换之间合作并“跨隧道”交易一些(但可能不是全部)资产,以达到临界质量。
虽然行业联盟可以通过隧穿主持此类交换,但每个行业中的一个或两个大型参与者很有可能会快速而广泛地引导生态系统私有数据交换,以成为其行业的实际数据交换。这为希望成为其行业数据方面主要参与者的公司提供了巨大的动力,使其可以尽快建立内部数据交换,并且然后迅速向其供应商、顾客和合作伙伴开放。
图12是示出根据本发明一些实施例的示例数据查询和递送服务1200的图。数据查询和递送服务1200示出了数据提供者能够共享数据的四种方式。第一种方式是通过数据交换900。数据交换900可以是公共数据交换或私有数据交换。数据提供者1210可以根据本文参考图2、4和8描述的方法和系统列出1211数据交换上的数据。数据消费者1220可以如本文所讨论的通过接受来自数据提供者的邀请或如本文参考图8所讨论的通过请求1212访问列表来访问列表中的数据。共享数据的第二种方式可以是在1213处直接共享数据。这可以是如参考图4所讨论的点对点共享,或者可以是使用本文讨论的安全数据共享方法实现的任何其它合适类型的共享。注意,数据提供者1210和数据消费者1220二者都是云计算服务112的用户。如果数据提供者1210希望与非用户1230共享数据,则这可以作为与读取器账户1215a或与读取器账户/写入器账户1215b共享数据的第三种方式。这里,非用户可能需要具有读取器账户,但可能不必是云计算服务112的实际用户。读取器账户可以允许非用户1230查看数据,但对该数据不做任何其它处理。最后,共享数据的第四种方式是经由文件拖放到云存储设备1214。这里,数据提供者1210可以复制数据集1216,并且可以允许另一个非用户1230具有数据集1216。共享数据的该方式可能不允许数据提供者1210保留对数据集的控制。因此,使用第四种方式,非用户1230能够查看、操纵和重新共享数据。
图13是示出用于提供私有数据交换的示例方法1300A的框图。通常,方法1300可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,处理设备、电路、专用逻辑、可编程逻辑、微码、设备的硬件、集成电路等)、软件(例如,在处理设备上运行或执行的指令)或其组合。例如,处理逻辑可以被实现为交换管理器124。方法1300可以在步骤1310处开始,其中处理逻辑代表实体提供数据交换。数据交换可以包括由一个或更多个数据提供者提供的多个数据列表。数据列表可以引用存储在与云计算服务相关联的数据存储平台中的一个或更多个数据集。在步骤1320处,处理逻辑可以指定数据交换的数据交换管理员账户,其中,数据交换管理员账户与实体相关联,并且能够:(1)同意和拒绝来自数据消费者的访问数据交换的请求;(2)同意和拒绝来自数据提供者的在数据交换上发布数据列表的请求。在步骤1330处,处理逻辑可以从数据提供者接收在数据交换上发布数据列表的请求。数据提供者可以是本文讨论的任何合适的数据提供者。在步骤1340处,处理逻辑可以将请求路由到数据交换管理员账户。这可能是因为与云计算服务112相关联的处理逻辑可能无法决定数据提供者是否可以在数据交换上发布数据列表。该决定可以保留给数据交换管理员账户,数据交换管理员账户要么是私有数据交换的所有者,要么与私有数据交换的所有者相关联。
在步骤1350处,处理逻辑可以从数据交换管理员账户接收批准发布数据列表的请求的授权指示。在步骤1360处,处理逻辑可以在数据交换上发布数据列表。发布数据列表可以允许至少一个数据消费者查看或访问数据交换内的数据列表。在实施例中,查看数据列表可以允许数据消费者查看列表引用的数据。在实施例中,访问数据列表可以允许数据消费者查看列表引用的数据并对该数据运行查询。数据交换管理员账户能够指定发布的数据列表是仅可查看的,还是可查看的和可访问的,以及哪些数据消费者仅可以查看该数据列表以及哪些数据消费者可以查看和访问该数据列表。在实施例中,可访问性可能意味着数据消费者可以针对数据列表所引用的数据运行查询。
图13B是示出用于提供私有数据交换的示例方法1300B的框图。方法1300B可以是1300A的扩展,也可以是独立方法。方法1300B可以由与执行方法1300A的处理逻辑相同的处理逻辑来执行。方法1300B可以在步骤1302处开始,其中处理逻辑从用户接收访问数据交换的请求,其中该用户先前未被批准访问数据交换。在步骤1304处,处理逻辑将请求路由到数据交换管理员账户。在步骤1306处,处理逻辑从数据交换管理员账户接收批准访问数据交换的请求的授权指示。在步骤1308处,处理逻辑同意用户访问数据交换。在实施例中,同意用户访问数据交换可以包括使用户能够针对由第一数据列表引用的数据而不是针对第二数据列表进行查看并运行查询。例如,可以使用户能够针对由列表A引用的数据而不是针对由列表B引用的数据进行查看并运行查询。
图14是根据一些实施例的可以执行本文描述的一个或更多个操作的示例计算设备1400的框图。计算设备1400可以在公共或专用网络中连接到LAN、内部网、外部网和/或互联网中的其它计算设备。该计算设备可以在客户端-服务器网络环境中以服务器机器的能力操作或在对等网络环境中以客户端的能力操作。该计算设备可以由个人计算机(PC)、机顶盒(STB)、服务器、网络路由器、交换机或网桥或能够执行指定该机器要采取的动作的指令集(顺序或以其它方式)的任何机器提供。此外,尽管仅示出了单个计算设备,但是术语“计算设备”也应被认为包括单独地或共同地执行一组(或多组)指令以执行本文所讨论的方法的计算设备的任何集合。
示例计算设备1400可以包括处理设备(例如,通用处理器、PLD等)1402、主存储器1404(例如,同步动态随机存取存储器(DRAM)、只读存储器(ROM))、静态存储器1406(例如,闪存和数据存储设备1418),它们可以经由总线1430彼此通信。
处理设备1402可以由一个或更多个通用处理设备提供,诸如微处理器、中央处理单元等。在说明性示例中,处理设备1402可以包括复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实现其它指令集的处理器或实现指令集的组合的处理器。处理设备1402还可以包括一个或更多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。根据本公开的一个或更多个方面,处理设备1402可以被配置为执行本文描述的操作,以执行本文讨论的操作和步骤。在一个实施例中,处理设备1402表示图1的云计算平台110。在另一实施例中,处理设备1402表示客户端设备(例如,客户端设备101-104)的处理设备。
计算设备1400可以进一步包括可以与网络1420通信的网络界面设备1408。计算设备1400还可以包括视频显示单元1410(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备1412(例如键盘)、光标控制设备1414(例如鼠标)和声音信号生成设备1416(例如扬声器)。在一个实施例中,视频显示单元1410、字母数字输入设备1412和光标控制设备1414可以组合成单个组件或设备(例如,LCD触摸屏)。
数据存储设备1418可以包括计算机可读存储介质1428,根据本公开的一个或更多个方面,可以在该计算机可读存储介质1428上存储一组或更多组指令,例如,用于执行本文所述的操作的指令。在由也构成计算机可读介质的计算设备1400、主存储器1404和处理设备1402执行私有数据交换指令1426期间,私有数据交换指令1426也可以全部或至少部分地驻留在主存储器1404内和/或处理设备1402内。指令可以进一步经由网络界面设备1408通过网络1420发送或接收。
虽然在说明性示例中将计算机可读存储介质1428示为单个介质,但是术语“计算机可读存储介质”应被理解为包括存储一组或更多组指令的单个介质或多个介质(例如,集中式或分布式数据库和/或关联的缓存和服务器)。术语“计算机可读存储介质”也应被理解为包括能够存储、编码或携带一组指令以由机器执行并且使机器执行本文描述的方法的任何介质。因此,术语“计算机可读存储介质”应被认为包括但不限于固态存储器、光学介质和磁性介质。
除非另有明确说明,否则诸如“接收”、“路由”、“同意”、“确定”、“发布”、“提供”、“指定”、“编码”等的术语是指由计算设备执行或实现的动作和过程,该动作和过程将表示为计算设备的寄存器和存储器内的物理(电子)量的数据操纵和转换为类似表示为计算设备存储器或寄存器或其它此类信息存储、传输或显示设备内的物理量的其它数据。此外,如本文中所使用的,术语“第一”、“第二”、“第三”、“第四”等是指用于区分不同元件的标签,并且不一定具有根据它们的数字名称的序数含义。
本文描述的示例还涉及用于执行本文描述的操作的装置。该装置可以被特殊地构造用于所需目的,或者可以包括由存储在计算设备中的计算机程序选择性地编程的通用计算设备。此类计算机程序可以被存储在计算机可读的非暂态存储介质中。
本文描述的方法和说明性示例与任何特定计算机或其它装置不是固有地相关。可以根据本文描述的教导来使用各种通用系统,或者可以证明构造更专用的装置以执行所需的方法步骤是方便的。如上面的描述中所示,各种这些系统的所需结构将出现。
以上描述旨在是说明性的,而不是限制性的。尽管已经参考特定的说明性示例描述了本公开,但是将认识到,本公开不限于所描述的示例。本公开的范围应参考所附权利要求书以及权利要求书所赋予的等效物的全部范围来确定。
如本文中所使用的,单数形式“一(a)”、“一个(an)”和“该(the)”也意图包括复数形式,除非上下文另外明确指出。将进一步理解的是,当在本文中使用时,术语“包括了(comprises)”、“包括(comprising)”、“包含了(includes)”和/或“包含(including)”指定存在所述特征、整数、步骤、操作、元素和/或组件,但不排除一个或更多个其它特征、整数、步骤、操作、元素、组件和/或其组的存在或添加。因此,本文所使用的术语仅出于描述特定实施例的目的,而无意于进行限制。
还应注意,在某些替代实现中,提到的功能/动作可能不按照图中提到的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个图实际上可以基本上同时执行,或者有时可以以相反的顺序执行。
尽管以特定顺序描述了方法操作,但是应该理解,可以在所描述的操作之间执行其它操作,可以调节所描述的操作,使得它们在稍微不同的时间发生,或者所描述的操作可以分布在允许以与处理相关联的各种间隔处发生处理操作的系统中。
各种单元、电路或其它组件可以被描述或要求为“被配置为”或“可配置为”执行一个或多个任务。在此类上下文中,短语“被配置为”或“可配置为”用于通过指示单元/电路/组件包括在操作期间执行一个或多个任务的结构(例如,电路)来表示结构。这样,即使当指定的单元/电路/组件当前不工作(例如,未接通)时,也可以说该单元/电路/组件被配置为执行任务,或者可以配置为执行任务。与“被配置为”或“可配置为”语言一起使用的单元/电路/组件包括硬件-例如,电路、存储可执行以实现操作的程序指令的存储器等。声明某个单元/电路/组件“被配置为”执行一个或更多个任务,或者“可配置为”执行一个或更多个任务,显然不旨在针对该单元/电路/组件调用35U.S.C.112,第六段。另外,“被配置为”或“可配置为”可包括由软件和/或固件(例如,FPGA或执行软件的通用处理器)操纵来以能够执行有争议任务的方式操作的通用结构(例如,通用电路)。“被配置为”还可包括使制造过程(例如,半导体制造设施)适应于制造适于实现或执行一个或更多个任务的设备(例如,集成电路)。明确表示“可配置为”不适用于空白介质、未编程的处理器或未编程的通用计算机、或未编程的可编程逻辑设备、可编程门阵列或其它未编程的设备,除非伴随有赋予未编程设备被配置为执行所公开的功能的能力的编程的介质。
可以利用一种或更多种计算机可用或计算机可读介质的任何组合。例如,计算机可读介质可以包括便携式计算机磁盘、硬盘、随机存取存储器(RAM)设备、只读存储器(ROM)设备、可擦可编程只读存储器(EPROM或闪存)设备、便携式光盘只读存储器(CDROM)、光学存储设备和磁性存储设备中的一种或更多种。可以以一种或多更种编程语言的任何组合来编写用于执行本公开的操作的计算机程序代码。可以将此类代码从源代码编译为适合于将在其上执行代码的设备或计算机的计算机可读汇编语言或机器代码。
实施例也可以在云计算环境中实现。在本说明书和以下权利要求中,“云计算”可以被定义为用于使得能够对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池进行普遍、方便、按需的网络访问的模型,其可以快速配置(包括经由虚拟化)并以最小的管理工作量或服务提供商交互来发布(released),并且然后相应地进行扩展。云模型可以由各种特征(例如,按需自助服务、广泛的网络访问、资源池化(resource pooling)、快速弹性和可衡量的服务)、服务模型(例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础架构即服务(“IaaS”))以及部署模型(例如,私有云、社区云、公共云和混合云)组成。
附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示代码的模块、段或部分,其包括用于实现指定的逻辑功能的一个或更多个可执行指令。还应注意,框图或流程图的每个框以及框图或流程图中的框的组合,可以通过执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指导计算机或其它可编程数据处理装置以特定方式运行,使得存储在计算机可读介质中的指令产生包括指令装置的制品,该指令装置实现在流程图和/或一个或更多个流程图框中指定的功能/动作。
出于解释的目的,已经参考特定实施例描述了前述描述。然而,以上说明性讨论并非旨在穷举或将本发明限制为所公开的精确形式。鉴于以上教导,许多修改和变化是可能的。选择和描述这些实施例是为了最好地解释实施例的原理及其实际应用,从而使本领域的其他技术人员能够最好地利用实施例以及如可以适合于预期的特定用途的各种修改。因此,本实施例应被认为是说明性的而不是限制性的,并且本发明不限于本文给出的细节,而是可以在所附权利要求的范围和等效物内进行修改。

Claims (27)

1.一种方法,包括:
由云计算服务代表实体提供数据交换,所述数据交换包括由一个或更多个数据提供者提供的多个数据列表,所述数据列表引用存储在与所述云计算服务相关联的数据存储平台中的一个或更多个数据集;以及
指定所述数据交换的数据交换管理员账户,其中,所述数据交换管理员账户与所述实体相关联,并被配置为执行以下至少一项:
同意和拒绝来自数据消费者的访问所述数据交换的请求;或
同意和拒绝来自数据提供者的在所述数据交换上发布数据列表的请求。
2.根据权利要求1所述的方法,进一步包括:
从所述一个或更多个数据提供者中的一个数据提供者接收在所述数据交换上发布数据列表的请求;
将所述请求路由到所述数据交换管理员账户;
从所述数据交换管理员账户接收批准发布所述数据列表的所述请求的授权指示;以及
在所述数据交换上发布所述数据列表。
3.根据权利要求2所述的方法,其中,发布所述数据列表包括允许至少一个数据消费者查看所述数据交换内的所述数据列表。
4.根据权利要求1所述的方法,其中,所述实体是所述一个或更多个数据提供者中的一个数据提供者。
5.根据权利要求1所述的方法,其中,访问所述数据交换包括查看由特定数据列表引用的所述一个或更多个数据集内的数据或在所述一个或更多个数据集上运行查询。
6.根据权利要求1所述的方法,其中,同意或拒绝来自数据消费者的访问所述数据交换的请求包括:同意特定用户访问数据列表的第一子集;以及拒绝所述特定用户访问数据列表的第二子集。
7.根据权利要求1所述的方法,进一步包括:
从用户接收访问所述数据交换的请求,其中,所述用户先前未被批准访问所述数据交换;
将所述请求路由到所述数据交换管理员账户;
从所述数据交换管理员账户接收批准访问所述数据交换的所述请求的授权指示;以及
同意所述用户访问所述数据交换。
8.根据权利要求7所述的方法,其中,同意所述用户访问所述数据交换包括:使所述用户能够针对由第一数据列表引用的数据而不是针对第二数据列表进行查看并运行查询。
9.根据权利要求1所述的方法,其中,所述数据交换能够由所述云计算服务管理,并且能够在与所述实体相关联的在线资源内显示,其中,所述在线资源是在线网络域或互连网络应用中的一种。
10.一种系统,包括:
处理设备,所述处理设备用于:
通过云计算服务代表实体提供数据交换,所述数据交换包括由一个或更多个数据提供者提供的多个数据列表,所述数据列表引用存储在与所述云计算服务相关联的数据存储平台中的一个或更多个数据集;以及
指定所述数据交换的数据交换管理员账户,其中,所述数据交换管理员账户与所述实体相关联,并被配置为执行以下至少一项:
同意和拒绝来自数据消费者的访问所述数据交换的请求;或
同意和拒绝来自数据提供者的在所述数据交换上发布数据列表的请求。
11.根据权利要求10所述的系统,其中,所述处理设备进一步用于:
从所述一个或更多个数据提供者中的一个数据提供者接收在所述数据交换上发布数据列表的请求;
将所述请求路由到所述数据交换管理员账户;
从所述数据交换管理员账户接收批准发布所述数据列表的所述请求的授权指示;以及
在所述数据交换上发布所述数据列表。
12.根据权利要求11所述的系统,其中,为了发布所述数据列表,所述处理设备允许至少一个数据消费者查看所述数据交换内的所述数据列表。
13.根据权利要求10所述的系统,其中,所述实体是所述一个或更多个数据提供者中的一个数据提供者。
14.根据权利要求10所述的系统,其中,为了访问所述数据交换,所述处理设备使得能够查看由特定数据列表引用的一个或更多个数据集内的数据,或能够在所述一个或更多个数据集上运行查询。
15.根据权利要求10所述的系统,其中,为了同意和拒绝来自数据消费者的访问所述数据交换的请求,所述处理设备同意特定用户访问数据列表的第一子集,以及拒绝所述特定用户访问数据列表的第二子集。
16.根据权利要求10所述的系统,其中,所述处理设备进一步用于:
从用户接收访问所述数据交换的请求,其中,所述用户先前未被批准访问所述数据交换;
将所述请求路由到所述数据交换管理员账户;
从所述数据交换管理员账户接收批准访问所述数据交换的所述请求的授权指示;以及
同意所述用户访问所述数据交换。
17.根据权利要求16所述的系统,其中,为了同意所述用户访问所述数据交换,所述处理设备使所述用户能够针对由第一数据列表引用的数据而不是针对第二数据列表进行查看并运行查询。
18.根据权利要求10所述的系统,其中,所述数据交换能够由所述云计算服务管理,并且能够在与所述实体相关联的在线资源内显示,其中,所述在线资源是在线网络域或互连网络应用中的一种。
19.一种非暂态计算机可读介质,其上存储有指令,所述指令在由处理设备执行时使处理设备:
通过云计算服务代表实体提供数据交换,所述数据交换包括由一个或更多个数据提供者提供的多个数据列表,所述数据列表引用存储在与所述云计算服务相关联的数据存储平台中的一个或更多个数据集;以及
由所述处理设备指定所述数据交换的数据交换管理员账户,其中,所述数据交换管理员账户与所述实体相关联,并被配置为执行以下至少一项:
同意和拒绝来自数据消费者的访问所述数据交换的请求;或
同意和拒绝来自数据提供者的在所述数据交换上发布数据列表的请求。
20.根据权利要求19所述的非暂态计算机可读存储介质,其中,所述指令进一步使所述处理设备:
从所述一个或更多个数据提供者中的一个数据提供者接收在所述数据交换上发布数据列表的请求;
将所述请求路由到所述数据交换管理员账户;
从所述数据交换管理员账户接收批准发布所述数据列表的所述请求的授权指示;以及
在所述数据交换上发布所述数据列表。
21.根据权利要求20所述的非暂态计算机可读存储介质,其中,为了发布所述数据列表,所述处理设备使至少一个数据消费者能够查看所述数据交换内的所述数据列表。
22.根据权利要求19所述的非暂态计算机可读存储介质,其中,所述实体是所述一个或更多个数据提供者中的一个数据提供者。
23.根据权利要求19所述的非暂态计算机可读存储介质,其中,为了访问所述数据交换,所述处理设备使所述数据消费者能够查看由特定数据列表引用的所述一个或更多个数据集内的数据,或在所述一个或更多个数据集上运行查询。
24.根据权利要求19所述的非暂态计算机可读存储介质,其中,为了同意和拒绝来自数据消费者的访问所述数据交换的请求,所述处理设备同意特定用户访问数据列表的第一子集,但是拒绝所述特定用户访问数据列表的第二子集。
25.根据权利要求19所述的非暂态计算机可读存储介质,其中,所述指令进一步使所述处理设备:
从用户接收访问所述数据交换的请求,其中,所述用户先前未被批准访问所述数据交换;
将所述请求路由到所述数据交换管理员账户;
从所述数据交换管理员账户接收批准访问所述数据交换的所述请求的授权指示;以及
同意所述用户访问所述数据交换。
26.根据权利要求25所述的非暂态计算机可读存储介质,其中,为了同意所述用户访问所述数据交换,所述处理设备使所述用户能够针对由第一数据列表引用的数据而不是针对第二数据列表进行查看并运行查询。
27.根据权利要求19所述的非暂态计算机可读存储介质,其中,所述数据交换能够由所述云计算服务管理,并且能够在与所述实体相关联的在线资源内显示,其中,所述在线资源是在线网络域或互连网络应用中的一种。
CN202080003969.8A 2019-09-12 2020-07-23 私有数据交换 Pending CN112789616A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962899571P 2019-09-12 2019-09-12
US62/899,571 2019-09-12
US16/746,673 2020-01-17
US16/746,673 US11334604B2 (en) 2019-09-12 2020-01-17 Private data exchange
PCT/US2020/043337 WO2021050165A1 (en) 2019-09-12 2020-07-23 Private data exchange

Publications (1)

Publication Number Publication Date
CN112789616A true CN112789616A (zh) 2021-05-11

Family

ID=74865823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080003969.8A Pending CN112789616A (zh) 2019-09-12 2020-07-23 私有数据交换

Country Status (4)

Country Link
US (2) US11334604B2 (zh)
EP (1) EP4028921A4 (zh)
CN (1) CN112789616A (zh)
WO (1) WO2021050165A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116127507A (zh) * 2022-12-27 2023-05-16 北京菱云科技有限公司 一种多方零拷贝的车辆数字档案构建方法及系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022005914A1 (en) * 2020-06-29 2022-01-06 Illumina, Inc. Temporary cloud provider credentials via secure discovery framework
US11496483B1 (en) * 2021-10-22 2022-11-08 Akoya LLC Systems and methods for managing tokens and filtering data to control data access
US11641357B1 (en) * 2021-10-22 2023-05-02 Akoya LLC Systems and methods for managing tokens and filtering data to control data access
US11373000B1 (en) 2021-10-22 2022-06-28 Akoya LLC Systems and methods for managing tokens and filtering data to control data access
US11379614B1 (en) 2021-10-22 2022-07-05 Akoya LLC Systems and methods for managing tokens and filtering data to control data access
US11379617B1 (en) 2021-10-22 2022-07-05 Akoya LLC Systems and methods for managing tokens and filtering data to control data access

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120323750A1 (en) * 2011-06-14 2012-12-20 Microsoft Corporation Data custodian and curation system
CN104054321A (zh) * 2012-01-17 2014-09-17 普罗克西伊姆有限公司 针对云服务的安全管理
US20160127454A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Interconnection platform for real-time configuration and management of a cloud-based services exchange
US20160275160A1 (en) * 2014-02-19 2016-09-22 Snowflake Computing, Inc. Cloning catalog objects
US20170041296A1 (en) * 2015-08-05 2017-02-09 Intralinks, Inc. Systems and methods of secure data exchange
US20180124067A1 (en) * 2016-10-28 2018-05-03 International Business Machines Corporation Data access management
US20180196955A1 (en) * 2017-01-10 2018-07-12 Snowflake Computing, Inc. Data sharing in a multi-tenant database system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978787A (en) 1997-02-28 1999-11-02 Oracle Corporation Report server caching
US6732100B1 (en) 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US7783665B1 (en) 2002-03-27 2010-08-24 Parallels Holdings, Ltd. Effective file-sharing among virtual environments
US7945652B2 (en) 2002-08-06 2011-05-17 Sheng (Ted) Tai Tsao Display multi-layers list item in web-browser with supporting of concurrent multi-users
US8832055B1 (en) 2005-06-16 2014-09-09 Gere Dev. Applications, LLC Auto-refinement of search results based on monitored search activities of users
US20060047780A1 (en) 2005-11-08 2006-03-02 Gregory Patnude Method and apparatus for web-based, schema-driven application-server and client-interface package using a generalized, data-object format and asynchronous communication methods without the use of a markup language.
US8560456B2 (en) 2005-12-02 2013-10-15 Credigy Technologies, Inc. System and method for an anonymous exchange of private data
US20070162377A1 (en) 2005-12-23 2007-07-12 Credigy Technologies, Inc. System and method for an online exchange of private data
US8010567B2 (en) * 2007-06-08 2011-08-30 GM Global Technology Operations LLC Federated ontology index to enterprise knowledge
US8577835B2 (en) 2007-06-28 2013-11-05 Salesforce.Com, Inc. Method and system for sharing data between subscribers of a multi-tenant database service
US20100280959A1 (en) * 2009-05-01 2010-11-04 Darrel Stone Real-time sourcing of service providers
US8452726B2 (en) 2010-06-04 2013-05-28 Salesforce.Com, Inc. Sharing information between tenants of a multi-tenant database
US8931036B1 (en) 2010-12-22 2015-01-06 Sprint Communications Company L.P. Transformation of extensible markup language documents for web services customization
US8806519B2 (en) * 2011-10-31 2014-08-12 Google Inc. Method to evaluate the geographic popularity of geographically located user-generated content items
US9374374B2 (en) 2012-06-19 2016-06-21 SecureMySocial, Inc. Systems and methods for securing social media for users and businesses and rewarding for enhancing security
WO2014018900A1 (en) 2012-07-26 2014-01-30 Experian Marketing Solutions, Inc. Systems and methods of aggregating consumer information
US9275245B2 (en) * 2013-03-15 2016-03-01 Airwatch Llc Data access sharing
US20140280492A1 (en) 2013-03-15 2014-09-18 Grant Chieh-Hsiang Yang Method and System for Distributing Data among a Multi-Tenant service with a Shared Userbase
US9354782B2 (en) 2013-05-15 2016-05-31 Alex Gorod Social exposure management system and method
EP3080742A4 (en) * 2013-12-11 2017-08-30 Intralinks, Inc. Customizable secure data exchange environment
KR102306506B1 (ko) * 2014-09-08 2021-09-30 써모다이나믹 디자인 엘엘씨 커스터마이징 가능한 데이터 관리 시스템
US9723090B2 (en) 2014-09-30 2017-08-01 Anthony Tan Digital certification analyzer temporary external secured storage system tools
US10581858B2 (en) 2015-04-01 2020-03-03 Datto, Inc. Network attached storage (NAS) apparatus having reversible privacy settings for logical storage area shares, and methods of configuring same
US9774586B1 (en) 2015-08-31 2017-09-26 EMC IP Holding Company LLC Dynamic authorization of users in a multi-tenant environment using tenant authorization profiles
US20170126686A1 (en) 2015-11-03 2017-05-04 WikiEye EAD System and Method for Managed Access to Electronic Content
US10372934B2 (en) 2016-07-21 2019-08-06 Salesforce.Com, Inc. Access controlled queries against user data in a datastore
US10701094B2 (en) 2017-06-22 2020-06-30 Oracle International Corporation Techniques for monitoring privileged users and detecting anomalous activities in a computing environment
US10264026B2 (en) 2017-07-24 2019-04-16 Cyberark Software Ltd. Providing privileged access to non-privileged accounts
US10642857B2 (en) 2018-03-19 2020-05-05 Fast Technologies, Inc. Construction and use of a virtual index server
US20200311031A1 (en) * 2019-03-25 2020-10-01 China Electronics Technology Group Corporation Information Science Academy User Environment, Multi-user Collaborative Data Governance Method and Computer-Readable Storage Medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120323750A1 (en) * 2011-06-14 2012-12-20 Microsoft Corporation Data custodian and curation system
CN104054321A (zh) * 2012-01-17 2014-09-17 普罗克西伊姆有限公司 针对云服务的安全管理
US20160275160A1 (en) * 2014-02-19 2016-09-22 Snowflake Computing, Inc. Cloning catalog objects
US20160127454A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Interconnection platform for real-time configuration and management of a cloud-based services exchange
US20170041296A1 (en) * 2015-08-05 2017-02-09 Intralinks, Inc. Systems and methods of secure data exchange
US20180124067A1 (en) * 2016-10-28 2018-05-03 International Business Machines Corporation Data access management
US20180196955A1 (en) * 2017-01-10 2018-07-12 Snowflake Computing, Inc. Data sharing in a multi-tenant database system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116127507A (zh) * 2022-12-27 2023-05-16 北京菱云科技有限公司 一种多方零拷贝的车辆数字档案构建方法及系统
CN116127507B (zh) * 2022-12-27 2024-04-26 北京菱云科技有限公司 一种多方零拷贝的车辆数字档案构建方法及系统

Also Published As

Publication number Publication date
US20220277029A1 (en) 2022-09-01
EP4028921A4 (en) 2023-10-04
EP4028921A1 (en) 2022-07-20
WO2021050165A1 (en) 2021-03-18
US11334604B2 (en) 2022-05-17
US20210081439A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
CN115023921B (zh) 用于全局数据共享的系统和方法
US11810089B2 (en) Data exchange-based platform
US11637836B2 (en) Managing version sharing in a data exchange
US11334604B2 (en) Private data exchange
CN115269527A (zh) 向客户共享数据共享度量
CN112424766A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhu Peiji

Inventor after: Bennett Dachville

Inventor after: Matthew Glickman

Inventor after: Christian cranalman

Inventor after: Prasenna Krishnan

Inventor after: Justin lances

Inventor before: Peiqi Johnston Zhu

Inventor before: Bennett Dachville

Inventor before: Matthew Glickman

Inventor before: Christian cranalman

Inventor before: Prasenna Krishnan

Inventor before: Justin lances

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Montana

Applicant after: SNOWFLAKE COMPUTING Inc.

Address before: California, USA

Applicant before: SNOWFLAKE COMPUTING Inc.

CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: U.S.A.

Address after: Montana

Applicant after: Snowflake Co.

Address before: Montana

Applicant before: SNOWFLAKE COMPUTING Inc.

Country or region before: U.S.A.