CN116940936A - 对跨数据存储区域的链接的父记录和子记录的异步复制 - Google Patents
对跨数据存储区域的链接的父记录和子记录的异步复制 Download PDFInfo
- Publication number
- CN116940936A CN116940936A CN202280018179.6A CN202280018179A CN116940936A CN 116940936 A CN116940936 A CN 116940936A CN 202280018179 A CN202280018179 A CN 202280018179A CN 116940936 A CN116940936 A CN 116940936A
- Authority
- CN
- China
- Prior art keywords
- record
- data storage
- storage area
- copied
- parent
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 471
- 230000010076 replication Effects 0.000 title claims abstract description 159
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000004891 communication Methods 0.000 claims description 75
- 230000004044 response Effects 0.000 claims description 61
- 230000015654 memory Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000003362 replicative effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 238000013442 quality metrics Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6227—Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在一些示例中公开了用于对跨数据存储位置的分层记录的高效异步复制的方法、系统和机器可读介质。也描述了用于有效地更新复制记录的方法和系统。在一些示例中,也公开了对分层记录中与基于网络的会议(例如,媒体)相关的数据的经改进的存储、复制和分发。针对会议(例如,媒体)的一个或多个组件的数据可以被存储在子记录(被称为组件记录)中。所述基于网络的会议可以由具有到会议组件记录(子记录)的链接的父记录来描述,并且在一些示例中是会议组件记录(子记录)的描述。
Description
技术领域
实施例涉及对分层(hierarchical)数据的复制。一些实施例涉及对分层数据的高效复制。一些实施例涉及对复制数据的高效更新。一些实施例涉及对基于网络的会议数据和媒体的存储和复制。
背景技术
数据可以跨一个或多个数据存储位置或区域中的一个或多个存储设备被复制。可以出于各种原因来执行复制。例如,复制可以通过在不同位置中存储多个数据副本来增强数据可用性。如果所述位置中的一个位置变得不可用或者丢失数据,则数据在另一位置仍然是可用的。在一些其他示例中,隐私法可能要求将在一个位置生成的数据复制到另一位置。在又一些示例中,迁移数据以便创建数据的备份副本,以防主副本丢失或损坏。
附图说明
在不一定按比例绘制的附图中,相似的数字可以描述不同视图中的相似组件。具有不同字母后缀的相似数字可以表示相似组件的不同实例。附图以举例的方式而非限制的方式大致图示了在本文档中所讨论的各种实施例。
图1图示了根据本公开的一些示例的父记录和对应子记录的示意图。
图2图示了根据本公开的一些示例的复制子记录的数据复制系统的示意图。
图3图示了根据本公开的一些示例的复制父记录的数据复制系统的示意图。
图4图示了根据本公开的一些示例的复制器的方法的流程图。
图5图示了根据本公开的一些示例的复制器的另一方法的流程图。
图6图示了根据本公开的一些示例的父记录的示意图,所述父记录具有到其他父记录的链接。
图7图示了根据本公开的一些示例的更新父记录和/或子记录的方法的流程图。
图8图示了根据本公开的一些示例的复制分层记录的父记录的方法的流程图。
图9图示了根据本公开的一些示例的引起对第一记录的复制的操作方法的流程图。
图10图示了根据本公开的一些示例的引起对第一记录的复制的操作方法的流程图。
图11图示了根据本公开的一些示例的复制分层记录的子记录的方法的流程图。
图12图示了根据本公开的一些示例的复制分层记录的子记录的方法的流程图。
图13图示了根据本公开的一些示例向复制的分层记录传播更新的方法的流程图。
图14图示了根据本公开的一些示例的复制器的逻辑图。
图15图示了根据本公开的一些示例的使用复制的基于网络的会议的媒体传送系统。
图16图示了根据本公开的一些示例的基于媒体需求而复制基于网络的会议记录的方法的流程图。
图17图示了用于处理针对媒体项目或基于网络的会议的其他记录的请求的方法的流程图。
图18是图示了在其上可以实现一个或多个实施例的机器的示例的框图。
具体实施方式
记录可以是平面结构的,其中它们不具有到也需要被复制的其他对象的链接或引用。在其他示例中,记录可以是分层的,其中它们具有到需要被复制的其他记录的链接。分层结构可以是父子分层结构,其中父记录包括对多个子记录的引用,这些子记录可以与父记录不同。在一些示例中,分层记录中的父记录也可以包括到其子记录的本地副本的链接,以便容易地定位子记录。
对平面结构记录的复制可以是简单的,因为这些记录一旦可用,就可以通过将其复制到另一存储设备来立即复制。在某些情况下,诸如在记录中所存储的数据量非常大时,平面结构记录可能不合适。在一些示例中,分层记录可以是更可管理的,因为每个片段可以被个体地复制。
另一方面,当要复制的记录是分层的时,对于高效复制可能存在复杂性。例如,为了更容易地找到分层记录的片段,记录可以具有到其他片段的链接。例如,父记录可以具有到子记录的本地副本的链接。复杂性来自于,考虑到父记录和子记录可能乱序到达的可能性,难以恰当地更新父记录中到子记录的链接。例如,父记录可能在子记录变得可用之前变得首先可用于复制。当子记录随后被复制时,被复制的父记录需要更新其到子记录的链接。这产生了簿记问题,因为系统然后需要定期地检查以确定子记录是否已经被复制。类似地,如果子记录首先被复制,那么一旦父记录最终被复制以更新父记录中的链接,系统就需要有方法跟踪子记录的位置。
现有技术的解决方案通常延迟对分层记录的复制,直到数据中心接收到所有相关联的记录。对于父记录可能具有数百或数千条对应的子记录并且系统可能具有数千条记录需要处理的情况,在开始复制之前等待接收所有记录在时间和计算资源方面都是巨大的成本。例如,可能需要额外的存储器资源来存储和管理等待复制的数千条记录。一旦记录可用,这样的系统也可能引起突发的处理和网络流量,因为系统会尝试一次处理数千条记录并且发送它们以供复制。这可能对网络和计算资源造成压力。
此外,在记录可能在未来日期被更新的情况下,一旦这些记录被复制,它们就可能被复制到许多不同的数据存储区域。如果这些记录中的一条记录发生了更改,则这些更改需要被复制到所有其他区域。查找受影响的区域和执行此复制的成本可能与原始复制一样高昂。
在一些示例中公开了用于跨数据存储位置来高效异步复制分层记录的方法、系统和机器可读介质。在所公开的系统的一些示例中,子记录可以在它们被接收到时被复制,而无需等待父记录被接收到,并且也无需等待其他子记录被接收到。在所公开的系统的其他示例中,父记录和子记录都可以在他们被接收到时被复制。这提供了对分层记录的更快复制。也描述了用于高效地更新复制的记录的方法和系统。
在一些示例中也公开了对分层记录中与基于网络的会议(例如,媒体)相关的数据的经改进的存储、复制和分发。针对会议(例如,媒体)的一个或多个分量的数据可以被存储在子记录(被称为分量记录)中。基于网络的会议可以由具有到会议分量记录(子记录)的链接的父记录来描述,以及在一些示例中是会议分量记录(子记录)的描述。会议对象可以指向子记录的本地和/或复制的副本。如所述的,子记录可以是或者包括媒体对象,并且在一些示例中,子记录可以基于针对媒体对象的需求被复制到一个或多个位置。通过将媒体复制到接近针对媒体的需求的位置,这提供了对会议媒体的更高效传送。使用分层记录来存储会议信息是更有效率的,因为会议的片段可以被存储在不同的位置并且被单独地处理。这也使得系统能够举办更大型的基于网络的会议。
如在本文中所使用的,分层记录可以包括父记录以及父记录的一个或多个子记录。复制器系统可以在父记录和子记录到达时对其进行异步处理。在接收到父记录或子记录时,复制器可以自动地识别父记录与子记录之间的关系。例如,在接收到父记录时,复制器系统可以识别父记录中标识子记录的元数据。在一些示例中,子记录也可以具有将其链接到父记录的信息(例如,父标识符)。
在一些示例中,系统的复制策略可以指定是否将父记录复制到子记录被复制到的每个数据存储区域。在一些示例中,复制策略也可以指定是否基于子记录与同层子记录的关系来交叉复制子记录。亦即,被复制到第一区域的第一子记录以及同层子记录是否也被复制到第一区域可以由复制策略来指定(其可以考虑同层记录中的信息连同第一子记录被复制的事实)。
在一些示例中,在接收到关于子记录可用于复制的通知时,子记录可以被立刻复制,而不管其他子记录或父记录的复制的状态如何。复制器系统可以利用子记录中的复制信息和复制策略来确定是否将子记录复制到一个或多个不同的数据存储区域。示例性复制信息可以包括与记录相关联的用户的地理位置(例如,记录可以描述用户的用户设备与媒体服务器之间的媒体连接)、针对记录中所存储的媒体的需求等。然后,子记录可以被复制到一个或多个不同的数据存储区域,而无需等待其他子记录或父记录。可以在为一个或多个不同的数据存储区域服务的索引中创建条目,记录复制的子记录的标识符。当父记录被复制时,该索引记录可以被用于稍后更新父记录内到子记录的链接。
在接收到关于父记录可用于复制的通知时,如果父记录要被复制到子记录被复制到的每个数据存储区域,则系统使用父记录内的子记录的元数据,结合复制策略,来确定每条子记录被复制到或者要被复制到哪些数据存储区域。需要注意的是,父记录可以在对所有子记录的复制之前、期间或之后变成准备好进行复制。如前所述,在一些示例中,系统在复制父记录之前等待直到所有子记录被复制为止。为了确定是否所有子记录已经被复制,复制器可以使用每个子记录的独有标识符(从父记录中的元数据获得的)来查询为每个子记录要被复制到的数据存储区域提供服务的索引。如果对于特定数据存储区域,索引返回了针对子记录的独有标识符的结果,则系统可以确定子记录被成功地复制到该数据存储区域。
如果所有子记录都已经被复制到所有数据存储区域,则制作父记录的副本,并且将所述副本复制到每个数据存储区域。父记录的副本可以具有标识子记录的本地位置的字段。这些字段可以基于从索引中返回的结果在副本中被更新,以指向复制的位置。如果未复制子记录,则对父记录的复制可能被延迟指定的时间量。在子记录全部被交叉复制到(同层子记录被复制到的)每个数据存储区域的示例中,一旦父记录准备好进行复制,系统就可以启动对尚未被复制到每个特定数据存储区域的其他子记录的复制。在一些示例中,一个或多个父记录副本可以具有描述复制一个或多个父记录和/或子记录的副本被复制的每个位置的信息,以容易地确定记录在整个存储系统中被定位在何处。
如所述的,在一些示例中,如果子记录尚未被完全复制,则复制器可以针对可变的间隔将对父文档的处理排队,以允许对子文档的复制。例如,针对初始等待时段,间隔可以被设置为较短时间量,并且然后增加每个后续等待时段,直到父记录被复制。在一些示例中,间隔计时器可以基于子记录的数量来设置。例如,间隔计时器越长,子记录就越多。在最后的间隔之后,复制器可以确定子记录丢失,并且发起对父记录的复制。
在其他示例中,不是等待每条子记录被复制,而是可以立即将父记录复制到每个数据存储区域。例如,系统可以基于对父记录内的子信息的分析和复制策略,来确定要复制父记录的数据存储区域。在这些示例中,子记录可以包括父记录的独有标识符。一旦父记录被复制,在接收到后续子记录时,复制系统可以将子记录复制到第二数据存储区域。作为对子记录的复制的一部分,可以检查服务第二数据存储区域的索引,以查看是否存在父标识符。如果存在父标识符,则其指示父记录已经被复制。如果父记录已经被复制,则可以更新在所复制的父记录中的到子记录的链接。如果父标识符不存在,则其指示父记录尚未被复制,并且因此无需进一步的动作。
该系统通过独立于父记录的复制、使用父记录中的元数据和数据索引异步复制子记录的技术方案,解决了对分层数据记录的高效复制的技术问题。在一些示例中,父记录也可以独立于子记录进行异步复制。所公开的技术通过绕过由等待整个分层记录变得可用所引起的常规延迟,允许对分层记录的大型集合的更高效复制。这也节省了存储器,否则这些存储器将用于缓存这些记录或者在等待记录完成时用于保存状态信息。此外,在一些示例中,通过在接收到整个分层记录之前不延迟对记录的复制,复制系统能够在计算资源可用时的方便时间(其可能仍然是在接收到整个分层记录之前)安排对记录的复制。另外,通过允许在记录到达复制系统时进行复制,网络和处理器的使用可以随着时间的推移分散开来,而不是突发性的。这改善了数据存储区域之间的计算机网络的运行,以及降低了在复制系统上所需的峰值处理能力量。
另外,所公开的使用分层记录来存储关于基于网络的会议的数据和来自基于网络的会议的媒体的技术允许增加对在这些会议中的参与,而无需另外地要求计算能力的大幅增加以处理这些会议。此外,通过利用以上复制方案,存储媒体的记录可以被复制到一个或多个数据存储区域,这些区域的计算资源靠近更接近于针对该媒体的需求的(地理或网络)位置。这允许以更快的方式、更少的延迟来传送该媒体。这也减少了网络流量,因为其允许更直接的路由。
图1图示了根据本公开的一些示例的父记录105和对应子记录120的示意图。父记录105可以是针对一个或多个子记录(诸如子记录120)的父记录。父记录105可以具有一组一个或多个父数据字段110。例如,如果父记录105是基于网络的会议的记录,则父数据字段110可以包括诸如以下项的字段:会议标识符;开始时间;结束时间;在会议之前、会议期间和会议之后共享的到媒体的链接(或副本);到作为会议的记录的媒体的链接;媒体的副本;通信质量的度量等。在一些示例中,父数据字段110可以包括独有地标识父记录105的父标识符。每个父记录可以具有一组一个或多个子元数据结构112A、112B-112N。子元数据结构可以包括子标识符114、子记录版本标识符116、链接到子记录的本地副本的子链接118(存储父记录的数据存储区域的本地),以及子复制信息121,子复制信息121可以与复制策略一起用于确定是否应当复制子记录以及应当将子记录复制到何处。子复制信息121是用于单独地确定或者结合其他信息(诸如复制策略)来确定是否复制子记录和/或将子记录复制到何处的任意信息。在一些示例中,子复制信息121可以是位置,诸如与子记录相关联的用户的位置。在其他示例中,子复制信息121可以是与针对媒体的地理需求相关的媒体信息(例如,哪些地理区域正在或者可能请求子记录内的媒体)。在一些示例中,需求可以是过去的需求;在其他示例中,需求可以是基于出席会议或者与会议相关联的用户的位置的预期需求。例如,如果阈值数量的会议成员位于特定位置,则会议的一个或多个媒体文件可以被复制到所述位置。
在一些示例中,在分层记录是针对基于网络的会议的情况下,每个子记录可以包括关于每个参与者与提供会议的媒体服务器的连接的信息。例如,如果在会议中存在二十个参与者,则将有一个父记录和二十个子记录。在这些示例中,子复制信息可以是由针对会议的子记录所描述的用户的位置。
子记录120可以包括与子元数据结构112A-112N相同的字段,具有与父记录105中的对应条目相同的值。例如,子标识符字段122、子版本标识符124和子复制信息126。另外,子记录120可以具有子数据字段132。在基于网络的会议的示例中,子数据字段132可以识别端点标识符(例如,客户端和媒体处理器),可以存储或者包括会议的质量度量、媒体、到媒体的链接等。在父记录105和子记录120两者均能够被异步地复制的示例中,子记录120也可以具有识别或者可以用于识别父记录105的父信息130,诸如父记录的独有标识符。
图2图示了根据本公开的一些示例的、复制子记录的数据复制系统的示意图200。子记录210被创建并且被存储在第一数据存储区域(区域A)的数据存储215中。复制器220识别准备好进行复制的子记录210。例如,复制器220可以针对新记录来监控数据存储区域A215,或者数据存储设备或另一过程可以向复制器220通知子记录210的创建。然后,复制器220根据复制信息(例如,子复制信息128)和复制策略217来确定是否需要复制该记录以及复制到哪些数据存储区域。在图2的示例中,复制器220确定要将该记录复制到数据存储区域B。
复制器220可以使得子记录210被复制到数据存储区域B中的数据存储230,而无需首先接收父记录或者完整的记录集,包括同层记录(如果有的话)。数据存储230可以包括一个或多个数据存储设备。复制器220也使得被存储在数据存储区域B的数据存储230中的子记录210的副本在索引240中进行索引。例如,子标识符可以被用作索引中的查找值。子标识符可以跨整个数据存储系统是全局独有的。
如在本文中所使用的,数据存储区域包括一个或多个逻辑上分组的数据中心中的一个或多个数据存储设备或集群。在一些示例中,逻辑分组可以基于地理位置(例如,诸如北美、欧洲、南美、亚洲等的地理区域),或者基于数据中心或者其组件在网络结构中的物理或逻辑位置。复制器220可以位于数据存储区域A、数据存储区域B,复制器220的功能可以在数据存储区域A和数据存储区域B处执行,或者可以完全位于不同的区域。在一些示例中,图2的一个或多个组件可以是云平台的边缘服务器。
图3图示了根据本公开的一些示例的复制父记录的数据复制系统的示意图300。在图3的示例中,父记录被复制到与任何子记录相同的数据存储区域。在图3中,系统在复制父记录之前也等待子记录被复制。父记录310可以被创建并且可以被存储在第一数据存储区域的数据存储中(例如,数据存储区域A 215的数据存储)。复制器220可以识别出父记录310可用于复制。例如,复制器220可以针对新记录来监控数据存储区域A 215的数据存储。在其他示例中,数据存储区域A 215的数据存储或者一些其他过程可以向复制器220发送通知。
复制器220可以读取父记录310,并且特别是读取子元数据(诸如子元数据结构112A-112N),以确定是否需要复制所述子记录中的任何子记录。如果需要复制所述子记录中的任何子记录,则复制器220可以确定父记录(和所有子记录)也需要被复制到不同的数据存储区域。亦即,父记录可以被复制到子记录正在或者需要被复制到的相同数据存储区域。复制器220可以首先通过使用父记录310的子元数据中的子标识符确定索引240中是否存在记录,来确定是否已经复制了所有子记录。如果子记录尚未被全部复制,则父记录310的复制可以在队列330中排队。索引240可以服务于一个或多个数据存储区域。如所示的,索引240可以服务于数据存储区域B。
一旦复制了所有子记录,就会创建父记录310的副本315并且更新子链接(例如,子链接118),以指向由索引240所指示的数据存储区域B的数据存储230中的每个子记录的副本。一旦到子记录的链接被更新,复制器220就使得父记录的副本315被复制到数据存储区域B的数据存储230,并且将其索引到索引240。
复制器220可以处于数据存储区域A或数据存储区域B。在一些示例中,复制器220的功能可以在数据存储区域A和数据存储区域B处执行。
在图3的示例中,父记录具有三个子记录,子记录x、y和z。在子记录各自(从原始数据存储区域)被复制到不同的数据存储区域(例如,第一数据存储区域和第二数据存储区域)的示例中,如果复制器220识别出第一子记录被复制到第一数据存储区域,并且第二子记录被复制到第二数据存储区域,则复制器220可以发起将第二子记录复制到第一数据存储区域,以及将第二子记录复制到第一数据存储区域。这可以发生在父记录被复制时。在其他示例中,被复制到其他区域的子记录可以不被交叉复制。亦即,被复制到第一数据存储区域的第一子记录可以不被复制到第二数据存储区域,而被复制到第二数据存储区域的第二子记录可以不被复制到第一数据存储区域。仍在其他示例中,子记录是否被交叉复制可以基于复制策略217来确定。在一些示例中,可以更新父记录310的一个或多个副本,以跟踪父记录和/或一个或多个(或全部)子记录已经被复制到的所有位置。
复制策略217可以是一个或多个规则的集合,其可以利用复制信息(诸如子复制信息121),以及在一些示例中的其他信息,来确定是否要复制记录,以及如果要复制记录,则要将记录复制到哪些数据存储区域。示例性复制策略217可以从记录中的一个或多个子记录读取复制信息(例如,子复制信息128),并且根据该信息来确定是否应当复制记录以及应当将所述记录复制到何处。例如,该复制信息可以包括计算设备的位置,所述计算设备是由记录所描述的基于网络的会议的一部分。复制策略可以指定将记录复制到为该位置提供服务的数据存储区域。复制策略可以使用来自单个子记录或多个子记录的复制信息。在一些示例中,复制信息可以基于一个或多个法律法规,诸如通用数据保护条例(GDPR)、健康保险可携性和责任法案(HIPAA)等等。在一些示例中,复制策略可以限制复制,使得原本可以被复制的记录可能由于复制策略(诸如基于法律义务诸如GDPR的复制策略)而不被复制。
仍在其他示例中,复制信息可以包括被存储在记录内的媒体的地理需求信息。例如,实际地理需求、预期需求等等。例如,用户在基于网络的会议内的位置可以用于确定可能具有对所存储的媒体的大量访问(或者在会议结束后贡献额外的存储的媒体——诸如用于会议后跟进)的数据存储区域。亦即,复制信息可以具有会议参与者的位置信息,并且复制策略可以应用一个或多个阈值(例如,如果针对特定区域的用户数量超过阈值数,则记录被复制到该区域);或者可以将记录复制到具有最多用户数量的x个区域(例如,具有最多用户的x个区域)。在其他示例中,复制信息可以是基于地理区域的媒体的实际访问次数的计数。复制策略可以将记录复制到访问记录最多的一个或多个区域。亦即,如果记录被特定区域内的用户访问超过指定的阈值次数,则该记录被复制到所述区域。在其他示例中,可以基于访问记录最多的用户所在的位置,将记录复制到前x数量个区域。
如所述的,在一些示例中,如果子记录尚未被全部复制,则父记录的复制可以在队列330中排队。系统将定期地从队列中提取父记录,并且检查以查看是否所有子记录都已经被复制。一旦子记录已经全部被复制,则父记录就被复制,并且父记录的复制副本中的到子记录的链接被更新。计时器可以用于确定何时检查队列中的父记录,以确定子记录是否全部被复制。计时器可以被指定并且可以被设置为在每次检查父记录并且系统确定子记录尚未被复制时长度逐渐增加的计时器。例如,第一次可以被设置为一分钟,第二次检查可以是十分钟,第三次检查可以是三十分钟,并且第四次检查可以是六十分钟。在特定阈值数量的检查时,如果子记录尚未未被复制,则系统可以宣布错误并且放弃或采取一些其他动作。
在其他示例中,如果子记录尚未被全部复制,则父记录仍然可以被复制到数据存储区域B的数据存储230。父记录的标识符可以被插入到索引240中。在这些示例中,并且返回到图2,在复制子记录时,复制器220(其可以存在于数据存储区域A、B或者一些其他区域处)可以针对父标识符来检查索引240(其可以存在于子记录210中)。如果复制器220找到父记录,则复制器220可以使用索引来找到数据存储区域B中的复制副本,并且将子链接更新至数据存储区域B中的复制的子记录的位置。一旦复制了所有子记录,父记录中针对所有要被复制的子记录的链接都将被更新。如果复制器220没有找到父标识符,则意味着父记录尚未被复制,并且一旦复制器220复制了父记录,则链接就将被更新。以这种方式,当父记录和子记录进入时,无论父记录在先、在中间还是在子记录之后,父记录和子记录两者都可以被复制。
现在转到图4,示出了根据本公开的一些示例的复制器的方法400的流程图。当复制器在操作410处创建并且识别子记录时,复制器在操作420处确定是否复制所述记录。在一些示例中,该确定是使用复制策略和子记录的一个或多个字段(诸如复制信息(诸如位置信息))来做出的。在子记录是基于网络的会议的分量记录的示例中,复制信息可以是会议的用户端点的位置的记录(例如,基于用户所使用的设备的IP地址映射到位置或者基于设备中的GPS接收机等等)。如果确定是不复制子记录,则流程结束。其他示例性复制信息可以包括媒体需求信息。
否则,如果要复制子记录,则在操作430处,复制器可以使得子记录被存储在由操作420确定的一个或多个数据存储区域的一个或多个数据存储设备中。使得子记录被复制可以包括将子记录发送到在记录要被复制的数据存储区域处执行的复制器。在其他示例中,使得子记录被复制可以包括向在记录要被复制的数据存储区域处执行的复制器发送通知。然后,在记录要被复制的数据存储区域处执行的复制器可以检索记录(例如,从发送通知的数据存储区域)。
在操作435处,利用原始和/或复制的副本的条目来更新一个或多个索引。在一些示例中,索引可以索引在单个存储区域中的数据。在这些示例中,可以在操作435处更新子记录被复制到的每个数据存储区域的每个索引。在其他示例中,单个索引可以索引针对多个数据存储区域的数据。在这些示例中,可以针对所有复制的副本来更新单个索引。仍在其他示例中,多个索引可以各自索引针对所有数据存储区域的数据。系统可以在操作435处确定哪些索引为子记录被复制到的区域提供服务,并且在那些索引中适当地索引子记录。在一些示例中,更新索引是通过向索引以消息发送索引过程来进行的。在其他示例中,索引过程可以通过扫描数据存储区域上的一个或多个数据存储设备来自动地确定子记录已经被添加。
当在操作415处父记录准备好由复制器复制时,然后复制器在操作425处决定是否复制父记录。复制可以基于复制策略并且基于父记录和/或一个或多个子记录中的一个或多个字段(例如,所述子记录的复制信息)做出。在一些示例中,父记录可以被复制到相同的数据存储区域作为一个或多个子记录。如果不复制父记录,则流程可以结束。如果要复制父记录,则在操作445处做出关于是否所有子记录已经被复制的确定。可以基于确定要复制到该存储区域的所有子记录在该子记录假定要被复制到的数据存储区域中具有相关联的索引条目,来做出该确定。如果没有,则系统可以对父记录的复制进行排队,直到所有子记录都被复制或者直到计时器到期。如果计时器到期,则系统可以重置计时器(但是设置更大的值),并且等待额外的间隔。这种情况可以针对数个计时器值发生指定次数,直到系统放弃并且将丢失的子记录标记为丢失,或者触发对尚未被复制的子记录的手动复制。
在操作455处,针对父记录要被复制到的每个位置,创建父记录的副本。可以更新针对父记录内的每个子记录的元数据,以指向每个子记录的本地副本(例如,图1的子链接118)。在操作460处,可以使得父记录的副本被存储到远程数据存储区域的数据存储设备中。如关于子记录所述的,可以通过向远程数据存储区域发送父记录来使得父记录被复制,或者可以通过向远程数据存储区域发送指示记录已经准备好进行复制的通知来使得父记录被复制。
现在转到图5,示出了根据本公开的一些示例的复制器的另一方法500的流程图。方法500允许异步复制父记录和子记录,而不是如在图4中等待复制所有子记录。当子记录在操作510处被识别为准备好由复制器进行复制时,复制器在操作520处确定是否复制所述记录。在一些示例中,该确定是使用复制策略和子记录的一个或多个字段(诸如复制信息(诸如位置信息))做出的。在子记录是基于网络的会议的分量记录的示例中,复制信息可以是会议参与者的位置的记录(例如,基于由用户所使用的设备的IP地址或者基于设备中的GPS接收机等等)。如果确定是不复制子记录,则流程结束。
否则,如果要复制子记录,则在操作530处,复制器可以使得子记录被存储在由操作520确定的一个或多个数据存储区域的一个或多个数据存储设备中。使得子记录被复制可以包括将子记录发送到在记录要被复制的数据存储区域处执行的复制器。在其他示例中,使得子记录被复制可以包括向在记录要被复制的数据存储区域处执行的复制器发送通知。然后,在记录要被复制的数据存储区域处执行的复制器可以检索记录(例如,从发送通知的数据存储区域)。
在操作535处,利用针对复制的副本的条目来更新一个或多个索引。在一些示例中,索引可以索引单个数据存储区域中的数据。在这些示例中,可以在操作535处更新子记录被存储在其中的每个数据存储区域的每个索引。在其他示例中,单个索引可以索引针对多个数据存储区域的数据。在这些示例中,可以针对所有复制的副本来更新单个索引。仍在其他示例中,多个索引可以各自索引针对所有数据存储区域的数据。系统可以在操作535处确定哪些索引为子记录被复制到的区域提供服务,并且在那些索引中适当地索引所述子记录。
在操作537处,复制器过程可以确定父记录是否已经被复制到在操作520处识别的一个或多个目标数据存储区域。例如,通过利用被存储在子记录内的父记录的标识符,以及查询远程数据存储区域的索引,以确定索引内是否存在标识符。如果父记录已经被复制,则在操作539处,可以更新父记录被复制的目标数据存储区域中存储的父记录的副本,以更改到那些目标数据存储区域中的子记录的本地副本的链接。如果父记录未被复制,则流程可以结束。
当父记录在操作515处被识别为准备好由复制器进行复制时,然后复制器在操作525处决定是否复制父记录。复制可以基于复制策略以及基于父记录和/或子记录中的一个或多个字段(例如,复制信息)来做出。例如,复制策略可以是将数据复制到对父记录内的复制信息所指示的位置、或者一个或多个子元数据记录中的复制信息所指示的位置提供服务的数据存储区域。如所述的,在一些示例中,父记录可被复制到子记录被复制到的每个数据存储区域。
如果父记录将不被复制,则流程可以结束。如果父记录将被复制,则在操作545处做出关于是否已经复制了任何子记录的确定。该确定可以基于以下做出:确定子记录是否在子记录被假定复制到的数据存储区域中具有相关联的索引条目。如果没有,则系统可以进行到操作560。
在操作555处,针对父记录要被复制到的每个位置,创建父记录的副本。针对父记录内的已经被复制的子记录的元数据可以被更新,以指向每个子记录的本地副本。在操作560处,可以使得父记录的副本被存储到远程数据存储区域的数据存储设备中。如关于子记录所述的,可以通过向远程数据存储区域发送父记录来使得父记录被复制,或者可以通过向远程数据存储区域发送指示记录准备好进行复制的通知来使得父记录被复制。
在一些示例中,父记录和/或子记录中的一个或多个可能需要在复制后被更新。例如,针对父记录和/或子记录的一个或多个字段中的数据可能会发生更改。在其他示例中,可以添加额外的子记录。这样的更改可能需要被复制到父数据结构和/或子数据结构的其他副本中。在这些示例中,可以异步地复制所述更改。例如,经更新的父记录和/或子记录可以如前所述进行复制。除了旧记录,可以存储更新的记录,或者更新的记录可以取代旧记录。
仍在其他示例中,为了更高效地更新记录,父记录可以具有到其他数据存储区域的其他数据存储设备内的其他父记录的链接。这允许复制器在识别到记录的更改时快速地定位其他记录,以更新那些记录。
图6图示了根据本公开的一些示例的父记录的示意图600,该父记录具有到其他父记录的链接。与其他示例一样,父记录具有提供子记录在数据存储区域内的位置的元数据。例如,被存储在数据区域A 605的数据存储设备上的父记录610可以具有被存储在数据存储区域B 615的数据存储设备上的、从数据存储区域A 605复制的父记录副本612。父记录610可以具有针对每个子记录的元数据,包括指向每个子记录的本地(例如,在同一数据存储区域内)位置的子定位器。例如,子记录X定位器620可以指向子记录X 630所在的、数据存储区域A中的一个或多个数据存储设备上的一个或多个位置。类似地,子记录Y定位器622可以指向子记录Y 632所在的、数据存储区域A中的一个或多个数据存储设备上的一个或多个位置。最后,子记录Z定位器624可以指向子记录Z 634所在的、数据存储区域A中的一个或多个数据存储设备上的一个或多个位置。
类似地,被存储在数据存储区域B 615的一个或多个存储设备上的父记录副本612可以具有描述一个或多个子文档的元数据。例如,子记录X定位器636可以指向子记录X 652所在的、数据存储区域B中的一个或多个数据存储设备上的一个或多个位置。类似地,子记录Y定位器638可以指向子记录X 654所在的、数据存储区域B中的一个或多个数据存储设备上的一个或多个位置。最后,子记录Z定位器640可以指向子记录Z656所在的、数据存储区域B中的一个或多个数据存储设备上的一个或多个位置。
在一些示例中,如果在数据存储区域A 605或数据存储区域B 615处检测到对父记录副本612的更改,则复制器(其可以在数据存储区域中的任一或两个处)可以结合数据复制策略个体地检查父记录中的子元数据,以确定父记录副本612和子记录630、632和634被复制到哪些数据存储区域。然后,复制器可以将任何更改复制到那些数据存储区域。
在其他示例中,当父记录被复制到另一数据存储区域时,可以在父记录(包括原始父记录)的一个或多个副本内创建到具有复制的副本的每个数据存储区域的链接。例如,父记录610以及父记录副本612可以具有到复制副本定位器626和650中彼此的链接。这使得在数据存储区域A 605或数据存储区域B 615处接收到的更新能够被快速地复制到其他数据存储区域,而无需调查子记录的元数据。复制副本定位器626可以包含到一个或多个数据存储区域中的父记录的每个副本的链接。在图6中,存在两个副本——原始父记录610以及父记录副本612,并且因此,复制副本定位器626指向父记录副本612,而复制副本定位器650指向父记录610。在其他示例中,在存在两个以上的副本的情况下,可以在父记录的每个副本内存储多个复制副本定位器,每个复制副本定位器指向不同数据存储区域中的不同副本。因此,如果存在父记录的三个副本,则在每个父记录中可能存在两个复制副本定位器。第一复制副本定位器指向第一副本,第二复制副本定位器指向第二副本。
图7图示了根据本公开的一些示例的更新父记录和/或子记录的方法700的流程图。在操作705处,如果接收到对子记录的更新,则可以在操作710处识别对应的父记录。例如,通过识别记录中的子标识符并且搜索具有含有相匹配的子标识符的元数据的父记录。在其他示例中,子记录可以具有父标识符。仍在其他示例中,在操作710处没有找到父记录,并且流程直接进行到操作720。父记录可以具有关于记录被复制到的其他数据存储区域的信息。
如果在操作715处接收到对父记录的更新,或者一旦识别出对应的父记录(或者跳过操作710),则被存储在本地区域中的记录将在操作720处被更新。类似地,对于子记录,一旦父记录被更新,本地子记录就可以在操作720处被更新。无论记录是父记录还是子记录,操作720、730和745都适用。在操作730处,复制器可以识别是否有其他记录存储在任何其他数据存储区域中。如所述的,这可以通过识别父记录中到这些其他记录的链接来执行。在其他示例中,复制器可以检查子记录的元数据,并且基于复制策略来评估数据是否被复制以及复制到哪些区域。如果没有复制的记录,则方法700可以终止。如果有其他复制的记录,则可以在操作745处使得对其他副本做出更新。例如,通过向数据存储区域发送请求更新的消息(其可以包括更新)。
图8图示了根据本公开的一些示例的复制分层记录的父记录的方法800的流程图。在操作805处,系统可以接收关于第一记录可用于复制的指示。例如,系统可以从另一设备或组件(例如,通过网络)接收记录,或者可以接收关于已经创建记录的指示,并且然后复制器可以检索记录或记录的一部分(例如,元数据)。在操作810处,复制器可以确定第一记录是否包括第二记录(诸如子记录)的描述。亦即,复制器可以确定该记录是否是分层记录的父记录。第二记录的描述可以包括元数据,元数据包括子复制信息,诸如位置数据和标识第二记录的记录标识符。第二记录可以是第一记录的子记录。
如果在操作815处,第一记录不包括对一个或多个第二记录的描述,则流程可以终止。如果在操作815处,第一记录包括对一个或多个第二记录的描述,则在操作820处,系统可以基于复制策略和第一记录中的第二记录的描述中的复制信息(例如,地理位置数据)来确定是否将第一记录复制到数据存储区域。
如果在操作825处,第一记录没有被复制,则方法800可以终止。如果在操作830处,第一记录要被复制,则系统可以使得第一记录被复制到数据存储区域。在一些示例中,方法800在数据存储区域或第二数据存储区域中执行。
图9图示了根据本公开的一些示例使得第一记录复制到数据存储区域的操作的方法900的流程图。方法900可以是图8中操作830的一种示例性方法。在操作925处,复制器可以确定数据存储区域的索引是否指示数据存储区域已经具有第二记录。如果没有,则系统可以等待指定的时间量。如果在操作930处,数据存储区域已经具有第二记录,则在操作935处,系统确定第二记录已经被复制。在操作940处,系统可以在第一记录的副本中更新第二记录的描述,以指向第二记录在数据存储区域中的位置。在操作945,复制器可以使得第一记录的副本被存储在数据存储区域的数据存储设备中。
图10图示了根据本公开的一些示例的使得第一记录复制到数据存储区域的操作的方法1000的流程图。方法1000可以是图8的操作830的一种示例性实现。图10与图9的不同之处在于:子记录可以包括父记录的标识符,并且父记录可以独立于子记录被复制。一旦父记录被复制,父记录中到子记录的链接就可以被更新。在操作1025处,复制器可以确定数据存储区域的索引是否指示数据存储区域已经具有第二记录(例如,子记录)。如果没有,则方法流程可以进行到操作1045。如果在操作1030处,数据存储区域已经具有第二记录,则在操作1035处系统确定第二记录已经被复制。在操作1040处,系统可以在第一记录的副本中更新第二记录的描述,以指向第二记录在数据存储区域中的位置。在操作1045处,复制器可以使得第一记录的副本被存储在数据存储区域的数据存储设备中。如前所述,图8-图10可以通过数据存储区域、第二数据存储区域或者部分在数据存储区域或第二数据存储区域处执行。
图11图示了根据本公开的一些示例的复制分层记录的子记录的方法1100的流程图。在操作1105处,系统可以接收关于子记录可用于复制的指示。例如,系统可以从另一设备或组件接收记录(例如,通过网络),或者可以接收关于记录被创建的指示,并且然后复制器可以检索记录或记录的一部分(例如,元数据)。
在操作1110处,系统可以确定是否要复制子记录,并且如果是的话,则复制器确定子记录要被复制到的数据存储区域。这可以使用复制策略和子数据结构中的子复制信息来完成。如果不复制子记录,则方法1100可以终止。如果要复制子记录,则在操作1130处,复制器可以使得子记录被复制到所指示的(一个或多个)数据存储区域。例如,通过将记录复制到(一个或多个)数据存储区域的一个或多个数据存储设备。在其他示例中,复制器可以通知(一个或多个)数据存储区域的一个或多个分量复制记录。在操作1120处,复制器可以使得索引针对(一个或多个)数据存储区域的记录的索引被更新,以索引记录的复制副本。
图12图示了根据本公开的一些示例的复制分层记录的子记录的方法1200的流程图。图12允许将父记录与子记录分开复制,并且包括额外检查以查看父记录是否被复制,并且如果是,则更新父记录的复制副本。在操作1205处,系统可以接收关于子记录可用于复制的指示。例如,系统可以从另一设备或组件(例如,通过网络)接收记录,或者可以接收关于记录被创建的指示,并且然后复制器可以检索记录或者记录的一部分(例如,元数据)。在一些示例中,作为操作1205的一部分,为了确定记录是子记录,系统可以确定记录包括对父记录的描述(例如,父记录的标识符或者指示这是子记录的一些其他指示符)。
在操作1210处,系统可以确定是否要复制子记录,并且如果是,则复制器确定子记录要被复制到的(一个或多个)数据存储区域。这可以使用复制策略和子数据结构中的子复制信息来完成。如果不复制子记录,则方法1200可以终止。如果要复制子记录,则在操作1230处,复制器可以使得子记录被复制到所指示的(一个或多个)数据存储区域。例如,通过将记录复制到(一个或多个)数据存储区域的一个或多个数据存储设备。在其他示例中,复制器可以通知(一个或多个)数据存储区域的一个或多个分量复制记录。在操作1235处,复制器可以使得针对(一个或多个)数据存储区域的索引被更新,以索引记录的复制副本。
在操作1240处,复制器可以确定父记录是否已经被复制。例如,通过使用(一个或多个)数据存储区域的索引和父记录的标识符。父记录的标识符可以被存储在子记录中,或者可以通过搜索具有标识子记录的元数据的对应父记录来查找。如果索引中没有针对父记录的记录,则父记录尚未被复制,并且流程可以终止。如果有针对父记录的记录,则首先复制父记录,并且在操作1245处,复制器可以使得存储在(一个或多个)数据存储区域中的父记录的复制副本利用子记录在(一个或多个)数据存储区域中的位置进行更新。图11和图12可以通过数据存储区域、第二数据存储区域或者部分地在数据存储区域或第二数据存储区域处执行。
在一些示例中,如果未复制所有的子记录,则在子记录之前复制父记录可能导致问题。亦即,复制的父记录中到尚未被复制的子记录的链接可能不正确。在一些示例中,在复制父记录之前,(一个或多个)数据存储区域中尚未存在的所有子记录可以被设置为指示尚未被复制的值。在一些示例中,也可以启动计时器。在复制最后的子记录时——其可以通过检查以查看所有子链接是否具有有效值来确定,可以重置所述计时器。如果计时器到期,则系统可以行动以发起对未复制的子记录的复制或者宣布错误状况。
在一些示例中,并非同一父记录的所有子记录都被复制到所有数据存储区域。亦即,如果父记录具有两条子记录,并且复制策略规定第一子记录要被复制到第一数据存储区域,并且第二子记录要被复制到第二数据存储区域,则父记录可以被复制到第一数据存储区域和第二数据存储区域两者。第一子记录可以被复制到第一数据存储区域,但是不被复制到第二数据存储区域,以及第二子记录可以被复制到第二数据存储区域,但是不被复制到第一数据存储区域。在其他示例中,其他组合是可能的(例如,第一子记录可以被复制到这两个区域,但是第二子记录不是)。为了处理这些情况,在父数据结构中没有到子记录的本地副本的有效链接可能不产生错误状况,而是正常的。仍在其他示例中,在这些情况下,特殊值可以指示特定子记录故意不被复制。
图13图示了根据本公开的一些示例的用于向复制的分层记录传播更新的方法1300的流程图。在操作1305处,复制器可以接收更新指示。更新可以指定对记录(父记录或子记录)的一个或多个更改,或者可以是替换旧记录的新记录。在操作1310处,系统可以更新记录的本地副本(如果其尚未被更新的话)。在操作1315处,系统可以确定记录是否被复制到一个或多个其他数据存储区域。如果记录是子记录,则这可以基于子记录中的子复制信息来确定。在由于同层记录的子复制信息而导致子记录被复制到其他数据存储区域的示例中,复制器可以通过以下操作来确定其他数据存储区域:定位父记录,并且然后使用父记录的子元数据和复制策略来确定所有复制位置。对于父记录,复制策略和复制位置可以用于确定复制位置。在其他示例中,可以使用到其他复制副本的链接(例如,图6的复制副本定位器626和650)。例如,可以确定子记录的父记录,并且父记录可以具有到子记录的链接。如果没有复制,则方法1300可以结束。在操作1320处,可以更新在操作1315处识别的复制副本。
某些地理区域的某些法规可以允许个体访问或者删除描述他们或他们的活动的数据。例如,欧盟的通用数据保护条例(GDPR)。在本文中所描述的数据结构允许跨一个或多个数据存储区域容易地追踪数据。在一些示例中,父记录数据字段(例如,父数据字段110)可以具有一个或多个用户的独有标识符。在一些示例中,在子记录是用户特定的情况下,子元数据结构112A可以具有用户标识符,以便于访问。当用户希望查看关于他们的数据时,用户的标识符被用于选择与所述用户相对应的父记录。父记录中的子元数据和复制策略可以用于容易地找到父记录以及其子记录都被复制到的数据存储区域。然后,可以从数据存储区域获取该数据以供查看、修改或删除。
在基于网络的会议的情况下,父记录105可以在父数据字段110中存储所有参与者的标识符。相反,或者另外地,在其他示例中,每个分量(子)元数据结构112A可以具有作为元数据的一部分的、该分量的参与者的标识符(例如,到会议的实时通信分量的媒体服务器的连接)。因此,复制器能够通过搜索父记录(父数据字段或子元数据,或者这两者),找到与特定用户标识符相关联的父记录。一旦定位了父记录,父记录的、到子记录的链接可以用于查找所有位置中的所有子记录。
当分层记录表示基于网络的会议时,这些通信(例如,基于网络的会议)可以被视为对象。例如,父记录可以是组对象,诸如会议对象,而子结构可以是会议的分量,诸如媒体(诸如在会议之前、会议期间和会议之后共享的媒体;和/或会议的音频、视频或音视频)、用户与媒体服务器之间针对会议中的每个参与者的连接(会话记录)等等。如所述的,父文档和/或子文档可以存储关于会议的元数据,诸如质量度量等等。另外地或者替代该元数据,共享的文档、视频(包括参与者的那些捕捉到的)、笔记、虚拟白板绘图、聊天会话和其他会议媒体可以被存储在分层记录内。例如,在父记录、子记录或者父记录和/或子记录的组合内。例如,参与者的音频可以被存储在子记录内。类似地,共享文档等等可被存储在父对象中或在每个子文档内。
分层结构的使用连同在本文中所描述的复制方案可以促进参与者之间的共享和协作,同时仍符合隐私法。例如,其允许跨不同的数据存储区域复制具有共享媒体的记录,从而用户可以快速地访问这些记录,因为共享媒体可以被存储在本地数据存储区域中。如所述的,包括媒体的记录可以被复制到对查看或播放该媒体有高需求或预计有高需求的地理区域。尽管如此,以快速并且高效的方式更新、定位和修改记录的能力允许更容易地遵守隐私法规。此外,通过使用所公开的技术更高效地复制分层记录,这些记录可以在对计算资源影响较小的情况下遵守数据隐私法规。在一些示例中,复制策略可以指定禁止、要求或者允许复制到一个或多个数据存储区域的一个或多个隐私法规。
图14图示了根据本公开的一些示例的复制器的逻辑图。复制器1400可以是复制器220的示例,并且可以执行图2-图13的流程和方法。复制器1400可以具有策略评估器组件1410,策略评估器组件1410可以确定可适用的复制策略(例如,从复制策略的列表中)。系统可以具有多个复制策略,这些策略具有适用性规则,这些规则可以指定复制策略适用于哪些数据结构。在其他示例中,适用性规则也可以在评估特定策略是否适用时考虑子复制信息。一个或多个复制策略可以具有一个或多个标准,基于子复制信息和/或其他信息来确定是否要复制记录以及在何处复制。复制规则可以指定,假定所有子记录、某些子记录的子复制信息或者其他信息在父记录或子记录中,是复制所有子记录,还是仅复制某些子记录。如所述的,子复制信息可以是地理位置或媒体使用数据。
在一些示例中,复制规则可以被实现为“if-then-else”语句,所述语句将父记录和/或子记录内存储的子复制信息和/或其他数据的值与值进行比较。例如,“if<子记录在子复制信息中具有位置X>then<仅复制该子记录到位置X的数据存储区域”。举另一示例,“if<子记录在子复制信息中具有位置X>then<将子记录和父记录复制到位置X的数据存储区域”。再举另一示例:“<子记录在子复制信息中具有位置X>then<将父记录和所有子记录复制到位置X的数据存储区域>”。通过使用指令(诸如指令1824)配置处理器,使用处理器(诸如处理器1802)可以实现该策略。
索引查询组件1415可以查询服务数据存储区域的索引,以确定索引中是否存在一个或多个记录,并且也可以将一个或多个记录插入到一个或多个索引中,作为复制一个或多个记录的结果以在一个或多个数据存储区域的数据存储中记录复制记录的存在。索引查询组件1415可以实现一个或多个应用编程接口(API),以查询索引。例如,结构化查询语言(SQL)、简单对象访问协议(SOAP)等等。索引查询组件1415可以通过使用指令(诸如指令1824)配置处理器,由处理器(诸如处理器1802)来实现。索引查询组件1415可以使用网络接口(诸如网络接口设备1820)与索引通信。
记录拷贝器1420可以在复制器的工作存储器(例如,主存储器1504)和/或存储设备(例如,驱动单元1516)中创建父记录和/或子记录的一个或多个副本,以供复制。记录修改器1430可以更新父记录的副本中的子记录的位置,以指向副本将要(或者已经)被复制的数据存储区域内的本地副本。记录修改器可以通过使用指令(诸如指令1824)配置处理器,由处理器(诸如处理器1802)来实现。
存储组件1425可以使得在一个或多个数据存储区域处存储记录的一个或多个副本。在一些示例中,这可以是复制器所在的数据存储区域处的存储。在其他示例中,这可以是在远离复制器所在之处的数据存储区域处的存储。这可以使用一个或多个应用编程接口(API)来实现。例如,结构化查询语言(SQL)、简单对象访问协议(SOAP)等等。记录拷贝器1420可以通过使用指令(诸如指令1824)配置处理器由处理器(诸如处理器1802)来实现。记录拷贝器1420可以使用网络接口(诸如网络接口设备1820)与索引通信。
如前所述,系统可以复制记录,从而将存储在那些记录内的媒体存储在更接近于针对媒体的需求的地理或逻辑网络位置。媒体可以包括基于网络的会议的记录;在会议之前、会议期间或会议之后在参与者之间共享的项或文件;会议的转录本;与会议相关联的聊天会话等等。在一些示例中,会议对象可以存储到一个或多个子记录的链接,这些子记录具有来自会议的媒体项。在一些示例中,会议对象可被存储在一个存储区域中,并且具有到拥有子记录的一个或多个其他存储区域的链接。亦即,父记录可以不连同子记录一起被复制。在一些示例中,基于网络的会议的子记录可以被称为分量记录,并且可以存储媒体、关于会议期间用户设备与媒体服务器之间的连接的信息和度量等等。
图15图示了根据本公开的一些示例的使用复制的基于网络的会议的媒体传送系统1500。通信服务1505可以提供一个或多个基于网络的会议。基于网络的会议是在多个用户之间通过网络的协作,其中包括实时通信,以及可以包括会议前和会议后通信、规划和媒体共享。实时通信方面允许实时(或近乎实时)音频和/或视频通信,以及文件共享和文本消息传送、实时聊天、屏幕共享、白板共享等等。
通信服务1505可以管理基于网络的会议的一个或多个方面,包括实时通信方面、会议前、会议后和其他方面。媒体服务器实例(诸如媒体服务器实例A 1525和媒体服务器实例B 1530)可以是针对一个或多个设备(诸如参与者计算设备1550和参与者计算设备1572)的端点,用于基于网络的会议的实时通信方面。媒体服务器实例可以相互通信,以提供参与者计算设备(诸如参与者计算设备1572和1550)之间的实时通信以及文件共享、屏幕共享和其他特征。
记录创建器1527可以创建基于网络的会议的一个或多个记录。例如,会议对象记录1545以及一个或多个分量记录,诸如分量记录A 1535和分量记录B 1540。例如,可以创建与媒体服务器实例的连接相对应的分量记录,其记录关于会话的信息,诸如呼叫度量、呼叫质量等等。另外,媒体可被存储在分量记录内。例如,媒体文件A可以被存储在分量记录A1535内。
根据本公开的一些示例,复制器1520可以是复制器1400的示例。复制器1520可以将一个或多个记录复制到一个或多个数据存储区域的数据存储,诸如数据存储区域B1510的数据存储1560或者数据存储区域A 1515的数据存储1565。媒体需求确定器1532可以确定针对基于网络的会议的媒体的需求。所述需求可以是实际需求——亦即,访问或者试图访问特定媒体项的数量。所述需求可以是预测的需求。预测的需求可以基于被授权访问媒体的用户数量以及其位置。记录创建者1527可以使用媒体需求在各种分量记录和/或会议对象记录中设置复制信息。
数据存储区域A 1515和数据存储区域B 1510可以为一个或多个地理或逻辑网络区域提供服务,这些区域包括参与者计算设备1572、1550,以及其他用户计算设备1570、1517和1555。参与者计算设备1572、1550是基于网络的会议的实时通信部分的参与者。用户计算设备1570、1517和1555可以不是实时通信部分的参与者,但是可以以其他方式被授权访问关于基于网络的会议的媒体和信息。
如在图15中所示的,记录1535、1540和1545全部被复制到数据存储区域A 1515。在一些示例中,这可能是由于针对数据存储区域A中的媒体的预测需求。例如,存在被授权访问基于网络的会议的媒体的三个计算设备(1572、1517和1570),而在数据存储区域B 1510中仅有两个设备。
当访问媒体A时,计算设备1570、1517和1572可以从数据存储区域A 1515的数据存储1565访问媒体。在一些示例中,设备首先请求来自通信服务1505的媒体。在这些示例中,通信服务1505可以从被存储在通信服务1505的会议对象记录1545中确定媒体被复制到计算设备1570、1572和1517本地的数据存储区域。然后,通信服务1505可以指示这些设备从数据存储1565获取媒体。
对于其他数据存储区域中的设备,诸如设备1555,通信服务1505可以指示它们从通信服务1505或者从数据存储区域A 1515中的数据存储1565获取媒体。例如,系统可以被配置使得某些数据存储区域可以从其他数据存储区域或通信服务获取媒体。在其他示例中,如果通信服务器繁忙(例如,服务负载超过阈值),通信服务1505可以将没有媒体被复制到它的特定数据存储区域内的设备重定向到不同的数据存储区域中的数据存储设备。仍在其他示例中,系统可以随机地选择是从通信服务还是从复制了媒体的不同的数据存储区域获取媒体。随着时间的推移,系统可以通过观察文件传输速度,了解访问媒体的最快方式——是通过通信服务,还是通过不同的数据存储区域,以及在何种条件下。例如,在第一时间,通信服务可能最快,但是在其他情况下,不同的数据存储区域可能最快。
图16图示了根据本公开的一些示例的基于媒体需求而复制基于网络的会议记录的方法1600的流程图。在操作1605处,系统(例如,通信服务)可以针对基于网络的会议的第一分量创建第一记录。在操作1610处,系统(例如,通信服务)可以针对基于网络的会议的第二分量创建第二记录。第一记录和第二记录可以是描述在一个或多个设备与媒体服务器之间的连接信息的记录;可以描述或包括媒体;和/或类似内容。
在操作1615处,系统(例如,通信服务)可以创建会议对象记录,包括到第一记录和第二记录的链接。在操作1620,系统可以基于复制策略和被存储在第一记录内的第一媒体项的地理使用数据,来确定第一记录是否要被复制到第一数据存储区域。在一些示例中,记录可以是媒体文件,而不是单独的记录。
在一些示例中,复制策略可以基于地理使用数据指定向哪些数据存储区域复制第一记录。例如,复制策略可以指定基于实际使用情况将记录复制到前三个地理区域。在其他示例中,复制策略可以指定将记录复制到在线会议的实时通信分量的参与者数量最多的三个数据存储区域。仍在其他示例中,复制策略可以指定将记录复制到被授权访问媒体项的用户数量最多的三个数据存储区域。
如果不复制第一记录,则流程进行到操作1630。如果要复制第一记录,则在操作1625处使得第一记录被复制到第一数据存储区域上的数据存储。例如,通过将第一记录发送到第一数据存储区域上的复制器或者向第一数据存储区域上的复制器发送通知。
在操作1630处,系统可以基于复制策略和第二媒体项的地理使用数据来确定第二记录是否要被复制到第二数据存储区域。在一些示例中,复制策略可以基于地理使用数据来指定将第一记录复制到哪些数据存储区域。例如,复制策略基于实际使用情况来指定将记录复制到前三个地理区域。在其他示例中,复制策略可以指定将记录复制到在线会议的实时通信分量的参与者数量最多的三个数据存储区域。仍在其他示例中,复制策略可以指定将记录复制到被授权访问媒体项的用户数量最多的三个数据存储区域。第一和第二数据存储区域可以不同。亦即,基于网络的会议的一些媒体可以被复制到不同的区域。
如果不复制第二记录,则流程进行到操作1640。如果要复制第二记录,则在操作1635,第二记录可以被复制到第二区域(例如,以与第一记录相同或类似的方式复制到第一数据存储区域)。
在一些示例中,会议对象记录也被复制到第一和/或第二数据存储区域。是否复制会议对象记录可以由复制策略或设计选择来确定。原始会议对象记录和/或复制的会议对象记录可以存储关于与特定会议相关联的记录被复制到何处的信息。
在操作1640处,可以更新被存储在基于网络的通信服务的会议对象记录,以存储到第一记录和/或第二记录的复制副本(取决于哪些记录被复制)的链接。基于网络的通信服务或者可以路由针对基于网络的会议的媒体的请求的另一设备可以使用该记录来确定所请求的媒体的来源,如在图17中所描述的。如所示的,基于网络的通信服务路由针对媒体的请求并且存储基于网络的会议的原始记录,但是在其他示例中,其他组件也可以执行这些任务。
尽管所公开的示例利用了媒体使用信息,但是得益于本公开的本领域的一个普通技术人员将理解也可以利用其他记录的其他使用信息,诸如呼叫统计,而且本方法和系统并不限于媒体和媒体需求,而是可以应用于任意类型的数据。另外,在图16的示例中,父记录或组记录可以被复制或不被复制到子记录的一个或多个位置。此外,父记录可以具有到所有子记录的位置的链接。
图17图示了用于处理针对媒体项或者基于网络的会议的其他记录的请求的方法1700的流程图。在操作1705处,系统可以接收(例如,在基于网络的服务处)针对第一媒体项的请求。在一些示例中,基于网络的服务可以对请求进行验证。在操作1710处,系统可以确定请求媒体的用户设备的位置。例如,通过将用户设备的互联网协议地址映射到位置。在操作1715处,系统可以从会议对象记录中确定具有所复制的媒体的与用户接近的数据存储区域。在操作1720处,系统可以使得媒体从在操作1715中识别的数据存储区域被传送给用户。在一些示例中,基于网络的会议服务可以向用户设备发送链接,并且然后,用户设备可以使用所述链接来下载媒体;在其他示例中,基于网络的会议服务可以指示在操作1715处所选择的数据存储区域向用户设备发送媒体。
在一些示例中,在媒体被复制到多个数据存储区域的情况下,每个用户可以基于其用户凭证或者基于系统负载被引导至不同的区域以获得媒体。亦即,在同一位置的一些用户可以根据系统负载和/或系统配置的任一项或组合被引导至不同的数据存储区域。
图18图示了示例性机器1800的框图,在该机器上可以执行在本文中所讨论的任意一种或多种技术(例如,方法学)。在另外的实施例中,机器1800可以作为独立设备运行,或者可以与其他机器连接(例如,联网)。在联网部署中,机器1800可以以服务器机器、客户端机器或者这两者的身份在服务器-客户端网络环境中运行。举例而言,机器1800可以作为对等机器在端对端(P2P)(或者其他分布式)网络环境中起作用。机器1800可以被配置为创建和/或存储父记录(例如,诸如父记录105、310、610、612)、子记录(120、315、630、632、634、652、654、656)等。机器1800可以实现复制器、索引、数据存储等。例如,复制器220、索引240、针对数据存储区域A 215的数据存储、针对数据存储区域B 230的数据存储、队列330等。机器1800可以实现在图1-图17中所示的数据流、方法、系统、设备和任意组件。
机器1800的形式可以是个人计算机(PC)、平板电脑、机顶盒(STB)、个人数字助理(PDA)、移动电话、智能电话、网络设备、网络路由器、服务器、交换机或网桥,或能够执行指定要被机器采取的动作的指令(顺序或者其他方式)的任何机器。此外,尽管仅图示了单个机器,但是术语“机器”还应当被视为包括单独地或联合地执行一组(或多组)指令以执行在本文中所讨论的任何一种或多种方法的任何机器集合,诸如云计算、软件即服务(SaaS)、其他计算机集群配置。
在本文中所描述的示例可以包括或可以在逻辑或数个组件、模块或机制上操作。模块是能够执行指定操作的有形实体(例如,硬件),且可以以一定方式被配置或安排。举例而言,电路可以作为模块以指定方式被安排(例如,内部或相对于外部实体(如其他电路))。举例而言,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或一个或多个硬件处理器的全部或部分可以通过固件或软件(例如,指令、应用部分或应用)被配置为模块,用于执行指定的操作。举例而言,软件可以驻留在机器可读介质上。举例而言,软件在被模块的底层硬件执行时,使硬件执行指定的操作。
因此,术语“模块”被理解为涵盖有形实体、该实体是物理构造的、专门配置的(例如,硬连线的)、或临时(例如,短暂地)配置的(例如,编程的),以便以指定的方式运行或执行本文所述的任何操作的部分或全部。考虑在其中临时配置模块的示例,每个模块在任何一个时刻无需被实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,通用硬件处理器在不同时间可被配置为分别不同的模块。软件可以相应地配置硬件处理器,例如,在一个时刻构成特定模块,而在不同的时刻构成不同的模块。
机器(例如,计算机系统)1800可以包括硬件处理器1802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器内核或其任意组合)、主存储器1804和静态存储器1806,其部分或全部可以通过互连(例如,总线)1808相互通信。机器1800可以还包括显示单元1810、字母数字输入设备1812(例如,键盘)和用户界面(UI)导航设备1814(例如,鼠标)。举例而言,显示单元1810、输入设备1812和UI导航设备1814可以是触摸屏显示器。机器1800可以额外包括存储设备(例如,驱动单元)1816、信号生成设备1818(例如,扬声器)、网络接口设备1820和一个或多个传感器1821,例如全球定位系统(GPS)传感器、指南针、加速计或其他传感器。机器1800可以包括输出控制器1828,例如串行(例如,通用串行总线(USB))、并行或其他有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一个或多个外围设备(例如,打印机、读卡器等)通信或控制它们。
存储设备1816可以包括机器可读介质1822,其上存储有一组或多组数据结构或指令1824(例如,软件),这些数据结构或指令体现或由本文所述的任何一种或多种技术或功能使用。指令1824在由机器1800执行期间也可以完全或至少部分位于主存储器1804、静态存储器1806或硬件处理器1802内。举例而言,硬件处理器1802、主存储器1804、静态存储器1806或存储设备1816中的一个或任意组合可以构成机器可读介质。
尽管机器可读介质1822被说明为单个介质,但术语“机器可读介质”可以包括单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的缓存和服务器),被配置为存储一个或多个指令1824。
术语“机器可读介质”可以包括能够存储、编码或携带由机器1800执行的指令并使机器1800执行本公开的任何一种或多种技术的任何介质,或者能够存储、编码或携带由这些指令使用或与这些指令相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的具体示例可以包括:非易失性存储器,例如半导体存储器件(例如,电可编程只读存储器(EPROM))、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光片;随机存取存储器(RAM);固态驱动(SSD);以及CD-ROM和DVD-ROM磁盘。在一些示例中,机器可读介质可以包括非暂时性机器可读介质。在一些示例中,机器可读介质可以包括不是暂时传播信号的机器可读介质。
指令1824可以进一步经由网络接口设备1820使用传输介质在通信网络1826上发送或接收。机器1800可以利用数个传输协议(例如,帧中继、互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任一协议与一个或多个其他机器通信。示例性通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络以及无线数据网络(例如,电气和电子工程师协会(IEEE)802.11系列标准(称为)、IEEE802.16系列标准(称为)、IEEE802.15.4系列标准、长期演进(LTE)系列标准、通用移动电信系统(UMTS)系列标准、端对端(P2P)网络以及其他项)。举例而言,网络接口设备1820可以包括一个或多个物理插孔(例如以太网、同轴或电话插孔)或者一个或多个天线,以连接到通信网络1826。举例而言,网络接口设备1820可以包括多个天线,以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。在一些示例中,网络接口设备1820可以使用多用户MIMO技术进行无线通信。
其他附注和示例
示例1是一种用于对跨数据存储区域的分层相关记录的异步数据复制的设备,所述设备包括:处理器;存储器,其存储指令,所述指令当由所述处理器运行时,使得所述设备执行包括以下的操作:接收关于第一记录可用于复制的指示;确定所述第一记录是否包括第二记录的描述,所述第二记录的描述包括针对所述第二记录的复制信息和标识所述第二记录的记录标识符,所述第二记录是所述第一记录的子记录;响应于确定所述第一记录包括所述第二记录的描述:基于复制策略和所述第二记录的描述中的所述复制信息,来确定所述第一记录是否要被复制到数据存储区域;以及响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域,所述复制包括:确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目;响应于确定所述索引包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到数据存储区域;响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第一记录的副本中更新所述第二记录的描述,以指向所述第二记录在所述数据存储区域中的位置,所述位置被存储在所述索引中;以及使得所述第一记录的副本被存储在所述数据存储区域的数据存储中。
在示例2中,示例1的主题包括,其中,所述第二记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识所述通信会话的会话标识符,并且其中,所述第一记录是描述基于网络的会议的组记录。
在示例3中,示例2的主题包括,其中,所述第二记录包括在所述基于网络的会议期间共享的媒体。
在示例4中,示例1-3的主题包括,其中,所述操作还包括:接收关于所述第二记录可用于复制的指示,所述第二记录包括复制信息和记录标识符;从所述复制信息和所述复制策略确定是否将所述第二记录复制到所述数据存储区域;以及响应于确定要将所述第二记录复制到所述数据存储区域,使得所述第二记录被存储在所述数据存储区域的数据存储中,以及利用所述记录标识符和所述位置来更新所述索引。
在示例5中,示例4的主题包括,其中,所述操作还包括:确定所述第一记录是否包括第三记录的描述,所述描述包括复制信息和标识所述第三记录的记录标识符;响应于确定所述第一记录包括所述第三记录的描述,作为所述复制的一部分:确定所述数据存储区域的索引是否包含具有与第三记录的第二记录标识符相匹配的字段的第二条目;响应于确定所述索引包含具有与所述第三记录的第二记录标识符相匹配的字段的第二条目,确定所述第三记录已经被复制到所述数据存储区域;响应于确定所述第三记录已经被复制到所述第二数据存储区域,在所述第二记录的副本中更新所述第三记录的描述以指向所述第三记录在所述第二数据存储区域中的第二位置,所述第二位置被存储在所述索引中;并且其中,独立地执行对所述第二记录和所述第三记录的复制。
在示例6中,示例1-5的主题包括,其中,所述操作还包括:响应于确定所述索引不包含具有与所述第二记录的记录标识符相匹配的字段的条目,等待预先指定的时间量;并且其中,确定所述数据存储区域的索引是否包含与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域,在所述第一记录的副本中更新所述第二记录的描述以指向所述第二记录在所述数据存储区域中的位置,所述位置被存储在所述索引中,以及使得所述第一记录的副本要被存储在所述数据存储区域的数据存储中在已经经过了预先指定的时间量之后执行。
在示例7中,示例1-6的主题包括,其中,所述第二记录的复制信息包括与第二记录相关联的用户所在的地理区域。
示例8是一种对跨数据存储区域的分层相关记录的异步数据复制的方法,所述方法包括:接收关于第一记录可用于复制的指示;确定所述第一记录是否包括第二记录的描述,所述第二记录的描述包括针对所述第二记录的复制信息和标识所述第二记录的记录标识符,所述第二记录是所述第一记录的子记录;响应于确定所述第一记录包括所述第二记录的描述:基于复制策略和所述第二记录的描述中的复制信息,来确定是否要将所述第一记录复制到数据存储区域;以及响应于确定要将所述第一记录复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域,所述复制包括:确定所述数据存储区域的索引是否包含具有与所述第二记录的所述记录标识符相匹配的字段的条目;响应于确定所述索引包含具有与所述第二记录的所述记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域;响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第一记录的副本中更新所述第二记录的描述以指向所述第二记录在所述数据存储区域中的位置,所述位置被存储在所述索引中;以及使得所述第一记录的副本被存储在所述数据存储区域的数据存储中。
在示例9中,示例8的主题包括,其中,所述第二记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识所述通信会话的会话标识符,并且其中,所述第一记录是描述基于网络的会议的组记录。
在示例10中,示例9的主题包括,其中,所述第二记录包括在所述基于网络的会议期间共享的媒体。
在示例11中,示例8-10的主题包括:接收关于所述第二记录可用于复制的指示,所述第二记录包括复制信息和记录标识符;根据所述复制信息和所述复制策略来确定是否将所述第二记录复制到所述数据存储区域;以及响应于确定要将所述第二记录复制到所述数据存储区域,使得所述第二记录被存储在所述数据存储区域的数据存储中,以及利用所述记录标识符和所述位置来更新所述索引。
在示例12中,示例11的主题包括:确定所述第一记录是否包括第三记录的描述,所述描述包括复制信息和标识所述第三记录的记录标识符;响应于确定所述第一记录包括所述第三记录的描述,作为所述复制的一部分:确定所述数据存储区域的索引是否包含具有与所述第三记录的第二记录标识符相匹配的字段的第二条目;响应于确定所述索引包含具有与所述第三记录的所述第二记录标识符相匹配的字段的第二条目,确定所述第三记录已经被复制到所述数据存储区域;响应于确定所述第三记录已经被复制到所述第二数据存储区域,在所述第二记录的副本中更新所述第三记录的描述以指向所述第三记录在所述第二数据存储区域中的第二位置,所述第二位置被存储在所述索引中;并且其中,所述第二记录和所述第三记录的复制是独立执行的。
在示例13中,示例8-12的主题包括,响应于确定所述索引不包含具有与所述第二记录的记录标识符相匹配的字段的条目,等待预先指定的时间量;并且其中,确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域,在所述第一记录的副本中更新所述第二记录的描述以指向所述第二记录在所述数据存储区域中的位置,所述位置被存储在所述索引中,以及使得所述第一记录的副本被存储在所述数据存储区域的数据存储中在已经经过了所述预先指定的时间量之后执行。
在示例14中,示例8-13的主题包括,其中,所述第二记录的复制信息包括与所述第二记录相关联的用户所在的地理区域。
示例15是一种机器可读介质,其存储用于对跨数据存储区域的分层相关记录的异步数据复制的指令,所述指令当由机器运行时使得所述机器执行包括以下的操作:接收关于第一记录可用于复制的指示;确定所述第一记录是否包括第二记录的描述,所述第二记录的描述包括针对所述第二记录的复制信息和标识所述第二记录的记录标识符,所述第二记录是所述第一记录的子记录;响应于确定所述第一记录包括所述第二记录的描述:基于复制策略和所述第二记录的描述中的复制信息,来确定所述第一记录是否要被复制到数据存储区域;以及响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域,所述复制包括:确定所述数据存储区域的索引是否包含具有与所述第二记录的所述记录标识符相匹配的字段的条目;响应于确定所述索引包含具有与所述第二记录的记录标识符相匹配的字段的条目,来确定所述第二记录已经被复制到所述数据存储区域;响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第一记录的副本中更新对所述第二记录的描述以指向所述第二记录在所述数据存储区域中的位置,所述位置被存储在所述索引中;以及使得所述第一记录的副本被存储到所述数据存储区域的数据存储中。
在示例16中,示例15的主题包括,其中,所述第二记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识所述通信会话的会话标识符,并且其中,所述第一记录是描述基于网络的会议的组记录。
在示例17中,示例16的主题包括,其中,所述第二记录包括在所述基于网络的会议期间共享的媒体。
在示例18中,示例15-17的主题包括,其中,所述操作还包括:接收关于所述第二记录可用于复制的指示,所述第二记录包括复制信息和记录标识符;根据所述复制信息和所述复制策略来确定是否将所述第二记录复制到所述数据存储区域;以及响应于确定将所述第二记录复制到所述数据存储区域,使得所述第二记录要被存储在所述数据存储区域的数据存储中,以及利用所述记录标识符和所述位置来更新所述索引。
在示例19中,示例18的主题包括,其中,所述操作还包括:确定所述第一记录是否包括第三记录的描述,所述描述包括复制信息和标识所述第三记录的记录标识符;响应于确定所述第一记录包括所述第三记录的描述,作为所述复制的一部分:确定所述数据存储区域的索引是否包含具有与所述第三记录的第二记录标识符相匹配的字段的第二条目;响应于确定所述索引包含具有与所述第三记录的第二记录标识符相匹配的字段的第二条目,确定所述第三记录已经被复制到所述数据存储区域;响应于确定所述第三记录已经被复制到所述第二数据存储区域,在所述第二记录的副本中更新所述第三记录的描述以指向所述第三记录在所述第二数据存储区域中的第二位置,所述第二位置被存储在所述索引中;并且其中,所述第二记录和所述第三记录的复制是独立执行的。
在示例20中,示例15-19的主题包括,其中,所述操作还包括:响应于确定所述索引不包含具有与所述第二记录的记录标识符相匹配的字段的条目,等待预先指定的时间量;并且其中,确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域,在所述第一记录的副本中更新所述第二记录的描述以指向所述第二记录所述在数据存储区域中的位置,所述位置被存储在所述索引中,以及使得所述第一记录的副本被存储在数据存储区域的数据存储中在已经经过了所述预先指定的时间量之后执行。
在示例21中,示例15-20的主题包括,其中,所述第二记录的复制信息包括与所述第二记录相关联的用户所在的地理区域。
示例22是一种对跨数据存储区域的分层相关记录的异步数据复制的设备,所述设备包括:用于接收关于第一记录可用于复制的指示的单元;用于确定所述第一记录是否包括第二记录的描述的单元,所述第二记录的描述包括针对所述第二记录的复制信息和标识所述第二记录的记录标识符,所述第二记录是所述第一记录的子记录;响应于确定所述第一记录包括所述第二记录的描述:用于基于复制策略和所述第二记录的描述中的复制信息来确定所述第一记录是否要被复制到数据存储区域的单元;以及响应于确定所述第一记录要被复制到所述数据存储区域,用于使得所述第一记录被复制到所述数据存储区域的单元,所述复制包括:确定所述第二数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目;响应于确定所述索引包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述第二数据存储区域;响应于确定所述第二记录已经被复制到所述第二数据存储区域,在所述第一记录的副本中更新所述第二记录的描述以指向所述第二记录所述在第二数据存储区域中的位置,所述位置被存储在所述索引中;以及使得所述第一记录的副本被存储在所述第二数据存储区域的数据存储中。
在示例23中,示例22的主题包括,其中,所述第二记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识所述通信会话的会话标识符,并且其中,所述第一记录是描述基于网络的会议的组记录。
在示例24中,示例23的主题包括,其中,所述第二记录包括在所述基于网络的会议期间共享的媒体。
在示例25中,示例22-24的主题包括,用于接收关于所述第二记录可用于复制的指示的单元,所述第二记录包括复制信息和记录标识符;用于根据所述复制信息和复制策略来确定是否将所述第二记录复制到所述数据存储区域的单元;以及响应于确定所述第二记录要被复制到所述数据存储区域,用于使得所述第二记录被存储在所述数据存储区域的数据存储中,以及利用所述记录标识符和所述位置来更新所述索引的单元。
在示例26中,示例25的主题包括:用于确定所述第一记录是否包括第三记录的描述的单元,所述描述包括复制信息和标识所述第三记录的记录标识符;响应于确定所述第一记录包括所述第三记录的描述,作为所述复制的一部分,用于以下操作的单元:确定所述数据存储区域的索引是否包含具有与所述第三记录的第二记录标识符相匹配的字段的第二条目;响应于确定所述索引包含具有与所述第三记录的所述第二记录标识符相匹配的字段的第二条目,确定所述第三记录已经被复制到所述数据存储区域;响应于确定所述第三记录已经被复制到所述第二数据存储区域,在所述第二记录的副本中更新所述第三记录的描述以指向所述第三记录在所述第二数据存储区域中的第二位置,所述第二位置存储在所述索引中;并且其中,所述第二记录和所述第三记录的复制是独立执行的。
在示例27中,示例22-26的主题包括,响应于确定所述索引不包含具有所述与第二记录的记录标识符相匹配的字段的条目,用于等待预先指定的时间量的单元;并且其中,确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到数据存储区域,在第一记录的副本中更新所述第二记录的描述以指向所述第二记录在所述数据存储区域中的位置,所述位置被存储在所述索引中,以及使得所述第一记录的副本被存储在所述数据存储区域的数据存储中在已经经过了预先指定的时间量之后执行。
在示例28中,示例22-27的主题包括,其中,所述第二记录的复制信息包括与所述第二记录相关联的用户所在的地理区域。
示例29是一种用于对跨数据存储区域的分层相关记录的异步数据复制的设备,所述设备包括:处理器;存储器,其存储指令,所述指令当由所述处理器运行时,使得所述设备执行包括以下的操作:接收关于第一记录可用于复制的指示,所述第一记录包括与所述第一记录相关联的复制信息;确定所述第一记录是否包括第二记录的描述,所述第二记录是所述第一记录的父记录;基于复制策略和所述第一记录中的复制信息来确定所述第一记录是否要被复制到数据存储区域;响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目;响应于确定所述索引包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域;以及响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第二记录的描述中更新指向所述第一记录在所述数据存储区域中的位置的指针。
在示例30中,示例29的主题包括,其中,所述第一记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识基于网络的会议的组标识符,并且其中,所述第二记录是描述所述基于网络的会议的组记录。
在示例31中,示例30的主题包括,其中,所述第一记录包括在所述基于网络的会议期间共享的媒体。
在示例32中,示例29-31的主题包括,其中,所述复制信息是用户的地理位置。
在示例33中,示例29-32的主题包括,其中,所述操作还包括:接收关于第三记录可用的第二指示,所述第三记录包括与所述第三记录相关联的复制信息;确定所述第三记录是否包括第四记录的描述,所述第四记录是所述第三记录的父记录;基于复制策略和所述第三记录中的复制信息来确定所述第三记录是否要被复制到所述数据存储区域;响应于确定所述第三记录要被复制到所述数据存储区域,使得所述第三记录被复制到所述数据存储区域;确定所述第二数据存储区域的索引是否包含具有与所述第四记录的记录标识符相匹配的字段的条目;以及响应于确定所述索引不包含具有与所述第四记录的记录标识符相匹配的字段的条目,确定所述第四记录尚未被复制到所述数据存储区域。
在示例34中,示例29-33的主题包括,其中,关于所述第一记录可用的指示包括关于所述第一记录被创建、修改、完成或者准备好进行复制的指示。
在示例35中,示例29-34的主题包括,其中,所述第二记录的描述包括所述第二记录的标识符。
在示例36中,示例29-35的主题包括,基于复制策略来确定第三记录不被复制到所述数据存储区域。
在示例37中,示例36的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例38是一种对跨数据存储区域的分层相关记录的异步数据复制的方法,所述方法包括:接收关于第一记录可用于复制的指示,所述第一记录包括与所述第一记录相关联的复制信息;确定所述第一记录是否包括第二记录的描述,所述第二记录是所述第一记录的父记录;基于复制策略和所述第一记录中的复制信息来确定所述第一记录是否要被复制到数据存储区域;响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目;响应于确定所述索引包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域;以及响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第二记录的描述中更新指向所述第一记录在所述数据存储区域中的位置的指针。
在示例39中,示例38的主题包括,其中,所述第一记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识基于网络的会议的组标识符,并且其中,所述第二记录是描述所述基于网络的会议的组记录。
在示例40中,示例39的主题包括,其中,所述第一记录包括在所述基于网络的会议期间共享的媒体。
在示例41中,示例38-40的主题包括,其中,所述复制信息是用户的地理位置。
在示例42中,示例38-41的主题包括:接收关于第三记录可用的第二指示,所述第三记录包括与所述第三记录相关联的复制信息;确定所述第三记录是否包括第四记录的描述,所述第四记录是所述第三记录的父记录;基于复制策略和所述第三记录中的复制信息来确定所述第三记录是否要被复制到所述数据存储区域;响应于确定所述第三记录要被复制到所述数据存储区域,使得所述第三记录被复制到所述数据存储区域;确定所述第二数据存储区域的索引是否包含具有与所述第四记录的记录标识符相匹配的字段的条目;以及响应于确定所述索引不包含具有与所述第四记录的记录标识符相匹配的字段的条目,确定所述第四记录尚未被复制到所述数据存储区域。
在示例43中,示例38-42的主题包括,其中,关于所述第一记录可用的指示包括关于所述第一记录被创建、修改、完成或者准备好进行复制的指示。
在示例44中,示例38-43的主题包括,其中,所述第二记录的描述包括所述第二记录的标识符。
在示例45中,示例38-44的主题包括,基于复制策略来确定第三记录不被复制到所述数据存储区域。
在示例46中,示例45的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例47是一种机器可读介质,其存储用于对跨数据存储区域的分层相关记录的异步数据复制的指令,所述指令当由机器运行时,使得所述机器执行包括以下的操作:接收关于第一记录可用于复制的指示,所述第一记录包括与所述第一记录相关联的复制信息;确定所述第一记录是否包括第二记录的描述,所述第二记录是所述第一记录的父记录;基于复制策略和所述第一记录中的复制信息来确定所述第一记录是否要被复制到数据存储区域;响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目;响应于确定所述索引包含具有与所述第二记录的记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域;以及响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第二记录的描述中更新指向所述第一记录在所述数据存储区域中的位置的指针。
在示例48中,示例47的主题包括,其中,所述第一记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识基于网络的会议的组标识符,并且其中,所述第二记录是描述所述基于网络的会议的组记录。
在示例49中,示例48的主题包括,其中,所述第一记录包括在所述基于网络的会议期间共享的媒体。
在示例50中,示例47-49的主题包括,其中,所述复制信息是用户的地理位置。
在示例51中,示例47-50的主题包括,其中,所述操作还包括:接收关于第三记录可用的第二指示,所述第三记录包括与所述第三记录相关联的复制信息;确定所述第三记录是否包括第四记录的描述,所述第四记录是所述第三记录的父记录;基于复制策略和所述第三记录中的复制信息来确定所述第三记录是否要被复制到所述数据存储区域;响应于确定所述第三记录要被复制到所述数据存储区域,使得所述第三记录被复制到所述数据存储区域;确定所述第二数据存储区域的索引是否包含具有与所述第四记录的所述记录标识符相匹配的字段的条目;以及响应于确定所述索引不包含具有与所述第四记录的记录标识符相匹配的字段的条目,确定所述第四记录尚未被复制到所述数据存储区域。
在示例52中,示例47-51的主题包括,其中,关于所述第一记录可用的指示包括关于所述第一记录被创建、修改、完成或者准备好进行复制的指示。
在示例53中,示例47-52的主题包括,其中,所述第二记录的描述包括所述第二记录的标识符。
在示例54中,示例47-53的主题包括,基于复制策略来确定第三记录不被复制到所述数据存储区域。
在示例55中,示例54的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例56是一种用于对跨数据存储区域的分层相关记录的异步数据复制的设备,所述设备包括:用于接收关于第一记录可用于复制的指示的单元,所述第一记录包括与所述第一记录相关联的复制信息;用于确定所述第一记录是否包括第二记录的描述的单元,所述第二记录是所述第一记录的父记录;用于基于复制策略和所述第一记录中的复制信息来确定所述第一记录是否要被复制到数据存储区域的单元;响应于确定所述第一记录要被复制到所述数据存储区域,用于使得所述第一记录被复制到所述数据存储区域的单元;用于确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目的单元;响应于确定所述索引包含具有与所述第二记录的记录标识符相匹配的字段的条目,用于确定所述第二记录已经被复制到所述数据存储区域的单元;以及响应于确定所述第二记录已经被复制到所述数据存储区域,用于在所述第二记录的描述中更新指向所述第一记录在所述数据存储区域中的位置的指针的单元。
在示例57中,示例56的主题包括,其中,所述第一记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识基于网络的会议的组标识符,并且其中,所述第二记录是描述所述基于网络的会议的组记录。
在示例58中,示例57的主题包括,其中,所述第一记录包括在所述基于网络的会议期间共享的媒体。
在示例59中,示例56-58的主题包括,其中,所述复制信息是用户的地理位置。
在示例60中,示例56-59的主题包括,其中,所述设备还包括:用于接收关于第三记录可用的第二指示的单元,所述第三记录包括与所述第三记录相关联的复制信息;用于确定所述第三记录是否包括第四记录的描述的单元,所述第四记录是所述第三记录的父记录;用于基于复制策略和所述第三记录中的复制信息来确定所述第三记录是否要被复制到所述数据存储区域的单元;响应于确定所述第三记录要被复制到所述数据存储区域,用于使得所述第三记录被复制到所述数据存储区域的单元;用于确定所述第二数据存储区域的索引是否包含具有与所述第四记录的记录标识符相匹配的字段的条目的单元;以及响应于确定所述索引不包含具有与所述第四记录的记录标识符相匹配的字段的条目,用于确定所述第四记录尚未被复制到所述数据存储区域的单元。
在示例61中,示例56-60的主题包括,其中,关于所述第一记录可用的指示包括关于所述第一记录被创建、修改、完成或者准备好进行复制的指示。
在示例62中,示例56-61的主题包括,其中,所述第二记录的描述包括所述第二记录的标识符。
在示例63中,示例56-62的主题包括,用于基于复制策略来确定第三记录不被复制到所述数据存储区域的单元。
在示例64中,示例63的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例65是一种用于分发基于网络的会议内容的设备,所述设备包括:处理器;存储器,所述存储器存储指令,所述指令当由所述处理器运行时,使得所述设备执行包括以下的操作:创建描述基于网络的会议的第一分量并且包括所述基于网络的会议的第一媒体项的第一记录;创建描述所述基于网络的会议的第二分量并且包括所述基于网络的会议的第二媒体项的第二记录;创建会议对象记录,所述会议对象记录包括到所述第一记录和所述第二记录的链接以及关于所述第一媒体项和所述第二媒体项的信息;基于复制策略和所述第一媒体项的地理使用数据来确定所述第一记录是否要被复制到数据存储区域,所述地理使用数据被存储在所述第一记录的复制信息中,所述地理使用数据描述针对特定数据存储区域的所述第一媒体项的实际或预测需求;响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;基于所述复制策略和存储在所述第二记录的复制信息中的所述第二媒体项的地理使用数据来确定所述第二记录要被复制到第二数据存储区域;响应于确定所述第二记录要被复制到所述第二数据存储区域,使得所述第二记录被复制到所述第二数据存储区域;以及在所述会议对象记录内存储到复制的第一记录和第二记录的链接。
在示例66中,示例65的主题包括,其中,所述操作还包括:在基于网络的会议服务处接收来自第一用户针对所述第一媒体项的请求;确定所述第一用户位于所述数据存储区域所服务的区域内;从所述会议对象记录中确定具有复制的媒体的、与用户最近的数据存储区域,所述最近的数据存储区域是所述数据存储区域;以及使得从所述数据存储区域向所述第一用户传输所述第一媒体项。
在示例67中,示例65-66的主题包括,其中,所述地理使用数据是所述基于网络的会议的参与者计算设备的地理位置。
在示例68中,示例65-67的主题包括,其中,所述地理使用数据是对所述第一媒体项和所述第二媒体项的地理需求。
在示例69中,示例65-68的主题包括,其中,所述媒体包括所述基于网络的会议的第一参与者与第二参与者之间的对话的音频。
在示例70中,示例65-69的主题包括,其中,所述媒体包括在所述基于网络的会议期间共享的文件。
在示例71中,示例65-70的主题包括,其中,所述第一记录被存储在所述数据存储区域中的边缘服务器上。
在示例72中,示例65-71的主题包括,其中,所述操作还包括:基于复制策略来确定所述第二记录不被复制到所述数据存储区域。
在示例73中,示例72的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例74是一种用于分发基于网络的会议的内容的方法,所述方法包括:创建描述基于网络的会议的第一分量并且包括所述基于网络的会议的第一媒体项的第一记录;创建描述所述基于网络的会议的第二分量并且包括所述基于网络的会议的第二媒体项的第二记录;创建会议对象记录,所述会议对象记录包括到所述第一记录和所述第二记录的链接以及关于所述第一媒体项和所述第二媒体项的信息;基于复制策略和所述第一媒体项的地理使用数据来确定所述第一记录是否要被复制到数据存储区域,所述地理使用数据被存储在所述第一记录的复制信息中,所述地理使用数据描述针对特定数据存储区域的所述第一媒体项的实际或预测需求;响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;基于所述复制策略和被存储在所述第二记录的复制信息中的所述第二媒体项的地理使用数据来确定所述第二记录要被复制到第二数据存储区域;响应于确定所述第二记录要被复制到所述第二数据存储区域,使得所述第二记录被复制到所述第二数据存储区域;以及在所述会议对象记录内存储到所复制的第一记录和第二记录的链接。
在示例75中,示例74的主题包括:在基于网络的会议服务处从第一用户接收针对所述第一媒体项的请求;确定所述第一用户位于所述数据存储区域所服务的区域内;从所述会议对象记录确定具有所复制的媒体的、与用户最近的数据存储区域,所述最近的数据存储区域是所述数据存储区域;以及使得从所述数据存储区域向所述第一用户传输所述第一媒体项。
在示例76中,示例74-75的主题包括,其中,所述地理使用数据是所述基于网络的会议的参与者计算设备的地理位置。
在示例77中,示例74-76的主题包括,其中,所述地理使用数据是针对所述第一媒体项和所述第二媒体项的地理需求。
在示例78中,示例74-77的主题包括,其中,所述媒体包括所述基于网络的会议的第一参与者与第二参与者之间的对话的音频。
在示例79中,示例74-78的主题包括,其中,所述媒体包括在所述基于网络的会议期间共享的文件。
在示例80中,示例74-79的主题包括,其中,所述第一记录被存储在所述数据存储区域中的边缘服务器上。
在示例81中,示例74-80的主题包括,基于复制策略来确定所述第二记录不被复制到所述数据存储区域。
在示例82中,示例81的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例83是一种存储用于分发基于网络的会议的内容的指令的机器可读介质,所述指令当由机器运行时,使得所述机器执行包括以下的操作:创建描述基于网络的会议的第一分量并且包括所述基于网络的会议的第一媒体项的第一记录;创建描述所述基于网络的会议的第二分量并且包括所述基于网络的会议的第二媒体项的第二记录;创建会议对象记录,所述会议对象记录包括到所述第一记录和所述第二记录的链接以及关于所述第一媒体项和所述第二媒体项的信息;基于复制策略和所述第一媒体项的地理使用数据来确定所述第一记录是否要被复制到数据存储区域,所述地理使用数据被存储在所述第一记录的复制信息中,所述地理使用数据描述针对特定数据存储区域的所述第一媒体项的实际或预测需求;响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;基于所述复制策略和被存储在所述第二记录的复制信息中的所述第二媒体项的地理使用数据来确定所述第二记录要被复制到第二数据存储区域;响应于确定所述第二记录要被复制到所述第二数据存储区域,使得所述第二记录被复制到所述第二数据存储区域;以及在所述会议对象记录内存储到所复制的第一记录和第二记录的链接。
在示例84中,示例83的主题包括,其中,所述操作还包括:在基于网络的会议服务处接收来自第一用户的针对所述第一媒体项的请求;确定所述第一用户位于所述数据存储区域所服务的区域内;从所述会议对象记录中确定具有所复制的媒体的与用户最近的数据存储区域,所述最近的数据存储区域是所述数据存储区域;以及使得从所述数据存储区域向所述第一用户传输所述第一媒体项。
在示例85中,示例83-84的主题包括,其中,所述地理使用数据是所述基于网络的会议的参与者计算设备的地理位置。
在示例86中,示例83-85的主题包括,其中,所述地理使用数据是针对所述第一媒体项和所述第二媒体项的地理需求。
在示例87中,示例83-86的主题包括,其中,所述媒体包括所述基于网络的会议的第一参与者与第二参与者之间的对话的音频。
在示例88中,示例83-87的主题包括,其中,所述媒体包括在所述基于网络的会议期间共享的文件。
在示例89中,示例83-88的主题包括,其中,所述第一记录被存储在所述数据存储区域中的边缘服务器上。
在示例90中,示例83-89的主题包括,其中,所述操作还包括:基于复制策略来确定所述第二记录不被复制到所述数据存储区域。
在示例91中,示例90的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例92是一种用于分发基于网络的会议的内容的设备,所述设备包括:用于创建描述基于网络的会议的第一分量并且包括所述基于网络的会议的第一媒体项的第一记录的单元;用于创建描述所述基于网络的会议的第二分量并且包括所述基于网络的会议的第二媒体项的第二记录的单元;用于创建会议对象记录的单元,所述会议对象记录包括到所述第一记录和所述第二记录的链接以及关于所述第一媒体项和所述第二媒体项的信息;用于基于复制策略和所述第一媒体项的地理使用数据来确定所述第一记录是否要被复制到数据存储区域的单元,所述地理使用数据被存储在所述第一记录的复制信息中,所述地理使用数据描述针对特定数据存储区域的所述第一媒体项的实际或预测需求;用于响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域的单元;用于基于所述复制策略和被存储在所述第二记录的复制信息中的所述第二媒体项的地理使用数据来确定所述第二记录要被复制到第二数据存储区域的单元;响应于确定所述第二记录要被复制到所述第二数据存储区域,用于使得所述第二记录被复制到所述第二数据存储区域的单元;以及用于在所述会议对象记录内存储到所复制的第一记录和第二记录的链接的单元。
在示例93中,示例92的主题包括:用于在基于网络的会议服务处从第一用户接收针对所述第一媒体项的请求的单元;用于确定所述第一用户位于所述数据存储区域所服务的区域内的单元;用于从所述会议对象记录中确定具有所复制的媒体的与用户最近的数据存储区域的单元,所述最近的数据存储区域是所述数据存储区域;以及用于使得从所述数据存储区域向所述第一用户传输所述第一媒体项的单元。
在示例94中,示例92-93的主题包括,其中,所述地理使用数据是所述基于网络的会议的参与者计算设备的地理位置。
在示例95中,示例92-94的主题包括,其中,所述地理使用数据是针对所述第一媒体项和所述第二媒体项的地理需求。
在示例96中,示例92-95的主题包括,其中,所述媒体包括所述基于网络的会议的第一参与者与第二参与者之间的对话的音频。
在示例97中,示例92-96的主题包括,其中,所述媒体包括在所述基于网络的会议期间共享的文件。
在示例98中,示例92-97的主题包括,其中,所述第一记录被存储在所述数据存储区域中的边缘服务器上。
在示例99中,示例92-98的主题包括,基于复制策略来确定所述第二记录不被复制到所述数据存储区域。
在示例100中,示例99的主题包括,其中,所述复制策略包括基于隐私法的复制策略。
示例101是包括指令的至少一种机器可读介质,所述指令当由处理电路运行时使得所述处理电路执行操作以实现示例1-100中的任意示例。
示例102是一种包括用于实现示例1-100中的任意示例的单元的装置。
示例103是一种实现示例1-100中的任意示例的系统。
示例104是一种实现示例1-100中的任意示例的方法。
Claims (15)
1.一种用于对跨数据存储区域的分层相关记录的异步数据复制的设备,所述设备包括:
处理器;
存储器,其存储指令,所述指令当由所述处理器运行时,使得所述设备执行包括以下的操作:
接收第一记录可用于复制的指示,所述第一记录包括与所述第一记录相关联的复制信息;
确定所述第一记录是否包括第二记录的描述,所述第二记录是所述第一记录的父记录;
基于复制策略和所述第一记录中的所述复制信息来确定所述第一记录是否要被复制到数据存储区域;
响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;
确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目;
响应于确定所述索引包含具有与所述第二记录的所述记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域;以及
响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第二记录的描述中更新指向所述第一记录在所述数据存储区域中的位置的指针。
2.根据权利要求1所述的设备,其中,所述第一记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识基于网络的会议的组标识符,并且其中,所述第二记录是描述所述基于网络的会议的组记录。
3.根据权利要求2所述的设备,其中,所述第一记录包括在所述基于网络的会议期间共享的媒体。
4.根据权利要求1所述的设备,其中,所述复制信息是用户的地理位置。
5.根据权利要求1所述的设备,其中,所述操作还包括:
接收第三记录可用的第二指示,所述第三记录包括与所述第三记录相关联的复制信息;
确定所述第三记录是否包括第四记录的描述,所述第四记录是所述第三记录的父记录;
基于复制策略和所述第三记录中的所述复制信息来确定所述第三记录是否要被复制到所述数据存储区域;
响应于确定所述第三记录要被复制到所述数据存储区域,使得所述第三记录被复制到所述数据存储区域;
确定所述第二数据存储区域的索引是否包含具有与所述第四记录的所述记录标识符相匹配的字段的条目;以及
响应于确定所述索引不包含具有与所述第四记录的所述记录标识符相匹配的字段的条目,确定所述第四记录尚未被复制到所述数据存储区域。
6.根据权利要求1所述的设备,其中,所述第一记录可用的指示包括所述第一记录被创建、修改、完成或者准备好进行复制的指示。
7.根据权利要求1所述的设备,其中,所述第二记录的描述包括所述第二记录的标识符。
8.根据权利要求1所述的设备,还包括基于复制策略来确定第三记录不被复制到所述数据存储区域。
9.根据权利要求8所述的设备,其中,所述复制策略包括基于隐私法的复制策略。
10.一种对跨数据存储区域的分层相关记录的异步数据复制方法,所述方法包括:
接收第一记录可用于复制的指示,所述第一记录包括与所述第一记录相关联的复制信息;
确定所述第一记录是否包括第二记录的描述,所述第二记录是所述第一记录的父记录;
基于复制策略和所述第一记录中的所述复制信息来确定所述第一记录是否要被复制到数据存储区域;
响应于确定所述第一记录要被复制到所述数据存储区域,使得所述第一记录被复制到所述数据存储区域;
确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目;
响应于确定所述索引包含具有与所述第二记录的所述记录标识符相匹配的字段的条目,确定所述第二记录已经被复制到所述数据存储区域;以及
响应于确定所述第二记录已经被复制到所述数据存储区域,在所述第二记录的描述中更新指向所述第一记录在所述数据存储区域中的位置的指针。
11.根据权利要求10所述的方法,其中,所述第一记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识基于网络的会议的组标识符,并且其中,所述第二记录是描述所述基于网络的会议的组记录。
12.根据权利要求11所述的方法,其中,所述第一记录包括在所述基于网络的会议期间共享的媒体。
13.一种用于对跨数据存储区域的分层相关记录的异步数据复制的设备,所述设备包括:
用于接收第一记录可用于复制的指示的单元,所述第一记录包括与所述第一记录相关联的复制信息;
用于确定所述第一记录是否包括第二记录的描述的单元,所述第二记录是所述第一记录的父记录;
用于基于复制策略和所述第一记录中的所述复制信息来确定所述第一记录是否要被复制到数据存储区域的单元;
用于响应于确定所述第一记录要被复制到所述数据存储区域而使得所述第一记录被复制到所述数据存储区域的单元;
用于确定所述数据存储区域的索引是否包含具有与所述第二记录的记录标识符相匹配的字段的条目的单元;
用于响应于确定所述索引包含具有与所述第二记录的所述记录标识符相匹配的字段的条目而确定所述第二记录已经被复制到所述数据存储区域的单元;以及
用于响应于确定所述第二记录已经被复制到所述数据存储区域而在所述第二记录的描述中更新指向所述第一记录在所述数据存储区域中的位置的指针的单元。
14.根据权利要求13所述的设备,其中,所述第一记录是描述通信应用与通信服务的媒体控制器之间的通信的会话记录,并且其中,所述记录标识符是标识基于网络的会议的组标识符,并且其中,所述第二记录是描述所述基于网络的会议的组记录。
15.根据权利要求14所述的设备,其中,所述第一记录包括在所述基于网络的会议期间共享的媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/189,814 US11604810B2 (en) | 2021-03-02 | 2021-03-02 | Asynchronous replication of linked parent and child records across data storage regions |
US17/189,814 | 2021-03-02 | ||
PCT/US2022/017123 WO2022187008A1 (en) | 2021-03-02 | 2022-02-20 | Asynchronous replication of linked parent and child records across data storage regions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116940936A true CN116940936A (zh) | 2023-10-24 |
Family
ID=81384616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280018179.6A Pending CN116940936A (zh) | 2021-03-02 | 2022-02-20 | 对跨数据存储区域的链接的父记录和子记录的异步复制 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11604810B2 (zh) |
EP (1) | EP4302203A1 (zh) |
CN (1) | CN116940936A (zh) |
WO (1) | WO2022187008A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599294B2 (en) | 2021-03-02 | 2023-03-07 | Microsoft Technology Licensing, Llc | Media storage for online meetings in edge network storage |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812773A (en) | 1996-07-12 | 1998-09-22 | Microsoft Corporation | System and method for the distribution of hierarchically structured data |
US6629129B1 (en) | 1999-06-16 | 2003-09-30 | Microsoft Corporation | Shared virtual meeting services among computer applications |
US20040193952A1 (en) | 2003-03-27 | 2004-09-30 | Charumathy Narayanan | Consistency unit replication in application-defined systems |
US7689602B1 (en) | 2005-07-20 | 2010-03-30 | Bakbone Software, Inc. | Method of creating hierarchical indices for a distributed object system |
US7660852B2 (en) * | 2006-04-21 | 2010-02-09 | Microsoft Corporation | Meeting structures and global unique identifiers |
US8301593B2 (en) | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US7949640B2 (en) | 2008-10-31 | 2011-05-24 | Gravic, Inc. | Referential integrity, consistency, and completeness loading of databases |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US9754005B2 (en) | 2012-06-18 | 2017-09-05 | Actifio, Inc. | System and method for incrementally backing up out-of-band data |
US9367626B2 (en) | 2012-07-23 | 2016-06-14 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for implementing a topical-based highlights filter |
US11627173B2 (en) | 2013-03-14 | 2023-04-11 | Comcast Cable Communications, Llc | Custom content insertion for user groups |
US9781253B2 (en) | 2013-03-15 | 2017-10-03 | Genesys Telecommunications Laboratories, Inc. | System and method for geo-location based media recording for a contact center |
US20150200786A1 (en) | 2014-01-16 | 2015-07-16 | Microsoft Corporation | Accessing and Configuring Meeting Attributes |
US9830333B1 (en) | 2014-06-27 | 2017-11-28 | Amazon Technologies, Inc. | Deterministic data replication with conflict resolution |
US10585943B2 (en) * | 2015-11-24 | 2020-03-10 | Cisco Technology, Inc. | Network-wide, location-independent object identifiers for high-performance distributed graph databases |
US10395220B2 (en) | 2016-04-20 | 2019-08-27 | International Business Machines Corporation | Auto-generation of actions of a collaborative meeting |
US10671639B1 (en) | 2017-03-30 | 2020-06-02 | Amazon Technologies, Inc. | Selectively replicating changes to hierarchial data structures |
WO2019089774A1 (en) | 2017-10-31 | 2019-05-09 | Jordan Simons | Distributed multi-ledger gambling architecture |
US11599294B2 (en) | 2021-03-02 | 2023-03-07 | Microsoft Technology Licensing, Llc | Media storage for online meetings in edge network storage |
US20220284042A1 (en) | 2021-03-02 | 2022-09-08 | Microsoft Technology Licensing, Llc | Replication of parent record having linked child records that were previously replicated asynchronously across data storage regions |
-
2021
- 2021-03-02 US US17/189,814 patent/US11604810B2/en active Active
-
2022
- 2022-02-20 WO PCT/US2022/017123 patent/WO2022187008A1/en active Application Filing
- 2022-02-20 EP EP22718341.5A patent/EP4302203A1/en active Pending
- 2022-02-20 CN CN202280018179.6A patent/CN116940936A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11604810B2 (en) | 2023-03-14 |
WO2022187008A1 (en) | 2022-09-09 |
US20220284039A1 (en) | 2022-09-08 |
EP4302203A1 (en) | 2024-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220284042A1 (en) | Replication of parent record having linked child records that were previously replicated asynchronously across data storage regions | |
US10959089B2 (en) | Data management microservice in a microservice domain | |
US7334001B2 (en) | Method and system for data collection for alert delivery | |
US9870374B2 (en) | Replicating data across data centers | |
CN108683668B (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
CN115344548B (zh) | 预测存储服务 | |
US8095495B2 (en) | Exchange of syncronization data and metadata | |
EP3491808B1 (en) | Interchangeable retrieval of content | |
US11818209B2 (en) | State management and object storage in a distributed cloud computing network | |
US10698890B2 (en) | Dual overlay query processing | |
JP2004326478A (ja) | 記憶装置システム及び管理プログラム | |
CN105868231A (zh) | 缓存数据的更新方法及装置 | |
US20200153889A1 (en) | Method for uploading and downloading file, and server for executing the same | |
US10992972B1 (en) | Automatic identification of impermissable account sharing | |
JP2017520845A (ja) | データ書込み操作用のファイルの識別 | |
US11048668B2 (en) | Sensitive data management | |
US11537681B2 (en) | Verifying status of resources linked to communications and notifying interested parties of status changes | |
CN116940936A (zh) | 对跨数据存储区域的链接的父记录和子记录的异步复制 | |
CN117043760A (zh) | 针对边缘网络存储中的在线会议的媒体存储 | |
US9286055B1 (en) | System, method, and computer program for aggregating fragments of data objects from a plurality of devices | |
CN104580276B (zh) | 信息推送方法、装置、系统及信息接入装置 | |
CN112738153B (zh) | 业务系统中的网关选择方法、系统、装置、服务器及介质 | |
CN115361440B (zh) | 多Kubernetes集群的端点资源的更新方法、更新装置及电子设备 | |
CN116126785A (zh) | 文件的获取方法以及装置、系统、存储介质、电子设备 | |
JP2008129981A (ja) | 接続先決定サーバ及び負荷分散方法 |
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 |