CN112840322A - 网络路由环境中的单节点和多节点数据存储库架构 - Google Patents
网络路由环境中的单节点和多节点数据存储库架构 Download PDFInfo
- Publication number
- CN112840322A CN112840322A CN201980054509.5A CN201980054509A CN112840322A CN 112840322 A CN112840322 A CN 112840322A CN 201980054509 A CN201980054509 A CN 201980054509A CN 112840322 A CN112840322 A CN 112840322A
- Authority
- CN
- China
- Prior art keywords
- data
- data store
- store
- index server
- subscriber
- 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 description 37
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000002085 persistent effect Effects 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 10
- 239000011232 storage material Substances 0.000 claims description 10
- 230000006855 networking Effects 0.000 claims description 8
- 239000003795 chemical substances by application Substances 0.000 description 48
- 238000010586 diagram Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 21
- 238000012544 monitoring process Methods 0.000 description 17
- 238000005192 partition Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000008520 organization Effects 0.000 description 9
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 238000013499 data model Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- 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
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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
-
- 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/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/2878—Access multiplexer, e.g. DSLAM
- H04L12/2879—Access multiplexer, e.g. DSLAM characterised by the network type on the uplink side, i.e. towards the service provider network
- H04L12/2881—IP/Ethernet DSLAM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L2012/4629—LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Inspection Of Paper Currency And Valuable Securities (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
用于将网络数据卸除到数据存储库的系统、方法和装置。该系统包括单个联网装置中的数据存储库节点的多个实例,数据存储库节点的多个实例中的每一个包括:数据存储库;发布者,其独立于数据存储库,用于向数据存储库发布数据;订户,其独立于数据存储库,用于从数据存储库接收信息;复制器代理,其被配置为作为发布者或订户连接到数据存储库;以及持续存储代理,其被配置为作为发布者或订户连接到数据存储库。
Description
相关申请的交叉引用
本申请要求于2018年8月23日提交的申请序列号为62/722,003、名称为“数据库系统方法和装置(DATABASE SYSTEMS METHODS AND DEVICES)”的美国临时专利申请的优先权,该申请通过引用整体并入本文,包括但不限于下文中具体出现的那些部分,通过引用进行的并入存在以下例外:在上面所引用的申请的任何部分与本申请不一致的情况下,本申请替代上述申请。
技术领域
本公开涉及计算网络,且特别地,涉及用于网络路由应用的数据存储。
背景技术
网络计算是多台计算机或节点一起工作并通过网络彼此通信的一种方式。存在广域网络(WAN)和局域网络(LAN)。广域网络和局域网络两者都允许计算机之间的互连性。局域网络通常用于可在家庭、企业、学校等使用的更小、更本地化的网络。广域网络覆盖诸如城市的更大的区域,甚至可允许不同国家的计算机进行连接。局域网络通常比广域网络更快、更安全,但广域网络能够实现广泛的连接性。局域网络通常由部署该局域网络的组织内部拥有、控制和管理,而广域网络通常需要两个或多个局域网络通过公共因特网或通过电信提供商建立的专用连接进行连接来组成。
局域网络和广域网络使计算机能够彼此连接,并且传送数据和其他信息。对于局域网络和广域网络两者,必须存在一种方法来确定数据从一个计算实例传递到另一个计算实例的路径。将这称为路由。路由是为网络中或多个网络之间或跨多个网络的流量选择路径的过程。路由过程通常基于路由表来定向转发,该路由表保存通向各个网络目的地的路由记录。路由表可由管理员指定,可通过观察网络流量来了解,也可借助路由协议来构建。
较小的网络可使用手动配置的路由表来确定信息应该如何从一台计算机传到另一台计算机。路由表可包括“最佳路径”列表,该列表指示始发计算机和最终目的地计算机之间最有效或最理想的路径。较大的网络(包括连接到公共因特网的网络)可能依赖于复杂的拓扑,该拓扑可能会快速变化,因此手动构建路由表是不可行的。动态路由试图通过基于路由协议携带的信息自动构建路由表来解决这个问题。动态路由使网络能够近乎自主地避免网络故障和阻塞。存在多种路由协议,这些路由协议提供用于确定联网装置之间的最佳路径的规则或指令。动态路由协议和算法的示例包括路由信息协议(Routing InformationProtocol,RIP)、开放式最短路径优先(Open Shortest Path First,OSPF)、增强型内部网关路由协议(Enhanced Interior Gateway routing Protocol,EIGRP)和边界网关协议(Border Gateway Protocol,BGP)。
在某些情况下,路径选择涉及将路由开销(routing metric)应用于多个路由,以选择或预测最佳路由。大多数路由算法一次只使用一个网络路径。多路径路由技术允许使用多个备选路径。在计算机网络中,路由算法可用于预测两个计算实例之间的最佳路径。该路由算法可基于多个因素,例如带宽、网络延迟、跳迁计数(hop count)、路径成本、负载、最大传送单位、可靠性和通信成本。路由表存储最佳路径的列表。拓扑数据库可存储最佳路径的列表,并且可进一步存储附加信息。
在一些网络中,路由的复杂性在于没有单个实体(entity)负责选择最佳路径。相反,在选择最佳路径或单个路径的事件部分时涉及多个实体。在因特网上的计算机联网的环境中,将因特网划分为自治系统(AS),诸如因特网服务提供商(ISP)。每个自治系统控制涉及其网络的路由。自治系统级路径是基于边界网关协议(BGP)而选择的。每个自治系统级路径包括一系列自治系统,信息包通过这些自治系统从一个计算实例传到另一个计算实例。每个自治系统可具有多个路径以供选择,这些路径由相邻的自治系统提供。
在传统的网络计算环境中,由发布装置(publishing device)向多个订户装置(subscriber device)发布最佳路径确定和其他数据。然而,这对发布装置来说在计算上可能较为昂贵。另外,该系统对系统崩溃和系统故障提供的保护很少。因此,期望的是改进对联网信息的存储。
鉴于前述内容,本公开提出将网络数据卸除到独立的数据存储空间的系统、方法和装置。
附图说明
参照以下附图描述本发明的非限制性和非穷举性实施方案,其中除非另有说明否则相同的附图标记在各个示图中指代相同的部分。针对下面的描述和附图,将更好地理解本公开的优点,其中:
图1是通过因特网通信的联网装置的系统的示意图;
图2是示出数据如何分层存储在数据存储库中的示意图;
图3是示出如何将联网信息从单个装置上的各种应用中卸除和存储在数据存储库中的示意图;
图4是示出如何将网络装置上的联网信息存储在相同装置上本地实施的数据存储库中的示意图;
图5是示出如何将联网信息的存储卸除到在远程装置上其它地方处实施的数据存储库中的示意图;
图6是生产者、生产者消费者和消费者之间利用数据存储库进行通信的示意图;
图7是示出如何在跨单个联网装置的多节点间实施数据存储库的示意图;
图8是示出由被卸除到云端计算网络的远程控制器控制的多个装置的示意图;
图9是基于云端的数据存储库的实施例的示意图;
图10是用于将装置的控制器逻辑卸除到云端网络的系统的示意图;
图11是用于将多节点装置的控制器逻辑卸除到基于云端的控制器的系统的示意图;
图12是基于进程间通信(IPC)的数据存储库的示意图;
图13是数据存储库的索引服务器的示意图;
图14是数据存储库的主机服务器的示意图;
图15是用于将数据发布到数据存储库并将所发布的数据提供给订户装置的处理流程的示意图;
图16是数据存储库中存储的数据的存储结构的示意图;
图17是数据储存库接收和发布数据的方法的示意性流程图;
图18是管理多节点数据储存库的方法的示意性流程图;并且
图19是示出示例性计算装置的组件的示意图。
具体实施方式
本文公开了用于在网络路由环境中部署的单节点和多节点数据存储库架构的系统、方法和装置。在网络路由的某些实例中,期望将路由信息存储在能够一次将信息快速发布到多个位置的数据存储库(datastore)中。本文公开了用于提供与诸如路由器或交换机的盒子并行的、用于存储网络和路由信息的数据存储库的系统、方法和装置。在实施例中,将网络状态卸除到数据存储库,而不是在盒子内进行本地存储。
在实施例中,数据存储库是由单个发布-订阅(PUBSUB)实体来服务的单个数据库。数据存储库可在多个计算节点上实施和存储。每个计算节点可利用自身独立计算处理实体和资源来用作处理实体。多节点可交互工作并且充当单个计算实体或装置(例如,具有多个线路卡的网络装置)。单个计算装置中的多节点仍然可实施单个数据存储库,但是可能在每个节点上运行数据存储组件的单独副本,并且在它们自身内部进行交互,以使数据存储库对于在多个计算节点中的任意一个上运行的任何客户端而言都看起来像数据存储库。
本公开的实施例包括单节点和多节点数据库架构。可在网络路由环境的联网装置中部署数据存储库架构。在实施例中,在联网装置中使用单节点数据存储库架构。该单节点数据存储库架构包括数据存储库节点的一个实例。在单节点数据存储库架构中,可实施一个或多个单独的服务器来提供生产者和消费者之间的数据流,并且托管分布式的数据存储库。整个单节点数据库可按独立的数据集进行分区。托管服务器进程可专用于一个或多个独立的数据集。在实施例中,部署单个数据库索引服务器来维护托管服务器以及由托管服务器中的每一个进行托管的相应数据集的映射。
在可选实施例中,可在网络路由环境的联网装置中部署多节点数据存储库架构。该多节点数据存储库架构包括数据存储库节点的多个实例。在实施例中,该多节点数据存储库架构包括网络装置的所有节点,可实施这些节点来维护数据集的映射以及跨数据库的所有数据存储库节点间的生产者和消费者的相应列表。消费者可经由数据存储库客户端连接到数据库索引服务器,以注册和订阅特定数据集中的感兴趣内容。生产者可经由数据存储库客户端连接到数据库索引服务器,以更新数据库索引,从而通知对特定数据集的新的以及后续的改变或删除。数据库索引服务器可分配适当的数据库主机服务器来存储特定的数据集,并且通知生产者。生产者可进一步连接到特定的主机服务器,以发布数据对象的添加、修改和/或删除。该数据库索引服务器可将该添加、修改和/或删除通知消费者。在实施例中,数据库索引服务器可连接到特定的生产者,以下载由生产者所产生的适当的数据改变集。
数据存储库和数据库都用于存储信息。然而,这两种类型的存储架构之间存在一些差异。数据存储库可存储结构化和非结构化数据,而数据库通常仅存储结构化数据。例如,数据存储库可存储诸如表的结构化数据,还可存储诸如图像、视频、电子邮件、各种文档格式等的非结构化数据。数据库存储结构化数据,这些数据通常以具有以行和列组织的许多单元格的表格式组织。数据库通常由数据库管理系统(DBMS)管理,该数据库管理系统被配置为分析和查询数据库中的信息。本文所讨论的数据存储库的实施例使用单节点数据库或多节点数据库来存储信息。数据存储库的实施例包括数据库索引服务器和数据库主机服务器310,用于对数据库数据执行查询和更新。
如本文所讨论的,单节点数据存储库架构包括单节点,该单节点包括数据存储库。多节点数据存储库架构包括多节点,每个节点实施各种数据存储库服务器的单独副本,这些数据存储库服务器相互协作,以跨网络装置中的所有节点来实施单个数据存储库。在多节点数据存储库架构内的所有节点上运行的数据存储库服务器的多个副本可彼此通信,使得在一个节点上产生的数据可由另一节点上运行的消费者应用从本地数据库主机服务器获得,而不必每次都从运行生产者应用并且原本就已经存储相应数据的节点上运行的数据库服务器获取该数据。这促进了更快的数据传送。单个装置中的多个计算节点可实施数据存储库的单独的实例,但每个节点可部署一组数据存储库服务器,这些服务器相互作用,使得该装置看起来像具有单个数据存储库。当生产者和消费者在相同节点上时,来自生产者的数据被直接传递给消费者,而不需要先将该数据发送到任何其他的计算节点。
可部署本公开的实施例以用于在包括单节点数据存储库架构或多节点数据存储库架构的联网装置中存储网络路由信息。单节点数据存储库架构包括单个数据存储库。多节点数据存储库架构包括跨多节点的多个数据存储库。该数据存储库提供了远程托管数据的灵活性,而不是本地托管在诸如路由器或交换机的联网装置上。在实施例中,将数据存储库配置为存储联网装置的一个或多个路由表。该数据存储库可针对运行联网装置外部的应用提供处理和存储资源。数据存储库提供了在网络路由环境中垂直和水平扩展以增加存储和处理资源的能力。在实施例中,数据存储库在联网装置外部托管数据,并且被配置为将数据划分成多个分区。这些分区可被可彼此通信的多个存储装置进行托管。
在实施例中,数据存储库可由诸如路由器和交换机的多个联网装置访问。如本文所讨论的,如果网络装置运行或存储由边界网关协议(BGP)确定的路径,则可将联网装置称为BGP实例。BGP用于确定将数据从起点传输到目的地点的最佳路径。在实施例中,联网装置中的每一个可读取数据存储库中的信息,以识别传输数据使得该数据到达其最终目的地的最佳路径。在实施例中,联网装置中的每一个在运行时存储其自身状态,并且传输其状态以在数据存储库中进行复制。该数据存储库可连接到多个联网装置,并且存储多个联网装置中的每一个的所有状态。因此,可以任何合适的格式将联网装置中的每一个的状态卸除到数据存储库中。在实施例中,数据存储库在运行时实时从多个联网装置接收状态信息。该数据存储库可被进一步配置为从多个联网装置接收所存储的状态信息的快照(snapshot)。
在实施例中,数据存储用利用户定义的存储结构来进行组织。存储结构可包括利用基于JSON(JavaScript对象符号(JavaScript Object Notation))的模式定义的层次(hierarchy)和组织。数据存储库可支持较宽范围的数据结构类型,并且在需要产生时支持新的数据结构类型。
在实施例中,数据存储库通过利用发布-订阅基础架构来提供对存储器诊断的支持。在软件架构中,发布-订阅是一种消息模式,其中发布者(在本文所讨论的上下文中可被称为“生产者”)间接向订户发送消息,而不直接向订户发送消息。相反,发布者在订户不知道的情况下将消息分类。同样,订户可表达对一个或多个类感兴趣,并且只接收感兴趣消息。在发布-订阅消息传递模式中,消息由发布者“发布”,然后由所有合适的订户接收。数据存储库可针对需要由其自身或其他应用托管的发布服务的任何应用来利用发布-订阅基础架构。
在实施例中,可通过连接的客户端账户或联网装置来搜索或查询数据存储库。该数据存储库可使用表索引来返回对定制搜索的响应。该数据存储库支持跨多个数据分区来存储数据。基于本地存储在数据存储库上的元数据,可跨多个数据分区来定位数据。
为了进一步理解本公开,将为许多联网计算装置和协议提供一些解释。
BGP实例是在网络中路由信息的装置。BGP实例可采取路由反射器装置的形式。BGP实例可在交换机、路由器或交换机上的BGP发言者上运行。在实施例中,该BGP实例将针对前缀所学习的所有路径发送到最佳路径控制器。最佳路径控制器利用这些路径之中的一组最佳路径来进行响应。允许该最佳路径控制器修改任何路径的下一跳迁和属性。一旦收到最佳路径,BGP实例就更新本地路由信息库(RIB),并且向邻居通告该最佳路径。
交换机(可选地,可称为交换集线器、桥接集线器或MAC网桥)创建网络。大多数内部网络使用交换机来连接建筑物或校园中的计算机、打印机、电话、摄像机、灯和服务器。交换机用作控制器,使联网装置能够高效地彼此通信。交换机通过使用包交换(packetswitching)来接收、处理数据并且将数据转发到目的地装置,从而连接计算机网络上的装置。网络交换机是一种多端口网桥,其使用硬件地址以在开放系统互连(OSI)模型的数据链路层(第2层)处理和转发数据。一些交换机还可通过另外并入路由功能来在网络层(第3层)处理数据。这种交换机通常称为第3层交换机或多层交换机。
路由器连接网络。交换机和路由器执行类似的功能,但在网络中各自具有不同的功能。路由器是在计算机网络之间转发数据包的网络装置。路由器在因特网上执行流量引导功能。通过因特网发送的数据(诸如网页、电子邮件或其他形式的信息)以数据包的形式发送。包通常通过构成互联网络(例如,因特网)的网络从一个路由器转发到另一个路由器,直到该数据包到达目的地节点。路由器连接到来自不同网络的两条或多条数据线。当数据包从线中的一条进入时,路由器读取包中的网络地址信息,以确定最终目的地。然后,路由器使用路由器的路由表或路由策略中的信息,将包引导到其行程中的下一网络。BGP发言者是启用了边界网关协议(BGP)的路由器。
路由表或路由信息库(RIB)是存储在路由器或联网计算机中的数据表,列出了通向特定网络目的地的路由。在某些情况下,路由表包括对路由的开销,诸如距离、权重等。该路由表包括关于紧邻存储该路由表的路由器的网络拓扑的信息。路由表的构建是路由协议的主要目标。静态路由是通过非自动方式在路由表中创建的条目,并且条目是固定的,而不是某些网络拓扑发现过程的结果。路由表可包括至少三个信息字段,包括用于网络ID、开销和下一跳迁的字段。该网络ID是目的地子网。该开销是包发送路径的路由开销。该路由将指向开销最低的网关。下一跳迁是包在到达最终目的地的途中将发送到的下一站的地址。路由表可进一步包括与路由相关联的服务质量、通向与路由相关联的过滤标准列表的链路、用于以太网卡的接口等。
为了说明路由表的概念,可将路由表类比为使用地图来递送包裹。路由表类似于使用地图来将包裹递送到最终目的地。当节点需要向网络上的另一节点发送数据时,该节点首先必须知道将数据发送到哪里。如果该节点不能直接连接到目的地节点,则该节点必须沿着通向目的地节点的正确路由将数据发送到其他节点。大多数节点不会试图找出哪些路由可能有效。相反,节点将向LAN中的网关发送IP包,然后该网关决定如何将数据路由到正确的目的地。每个网关都需要跟踪以哪种方式递送各个包,为此该网关使用路由表。路由表是数据库,该数据库像地图一样跟踪路径,并且使用这些路径来确定流量的前进方向。网关还可以与请求信息的其他节点共享路由表的内容。
对于逐跳迁(hop-by-hop)路由,每个路由表都会对所有可到达的目的地列出沿着通往该目的地的路径的下一装置的地址,即下一跳迁。假设路由表是一致的,那么将包中继到目的地的下一跳迁的算法就足以在网络中的任何地方递送数据。逐跳迁是IP互联网络层和开放系统互连(OSI)模型的特征。
开放系统互连(OSI)模型是一种概念模型,其表征和标准化计算系统的通信功能,而不考虑其底层内部结构和技术。OSI模型的目标是不同通信系统与标准通信协议的互操作性。OSI模型将通信系统划分为抽象层。该层服务于其上方的层,并且被其下方的层服务。例如,通过网络提供无错通信的层提供了其上方的应用所需的路径,同时调用下一较低层来发送和接收构成该路径内容的包。将相同层中的两个实例可视化为通过该层中的水平连接进行连接。通信协议使一台主机中的实体能够与另一台主机中相同层的相应实体进行交互。像OSI模型一样,服务定义抽象地描述由(N-1)层向(N)层提供的功能,其中N是在本地主机中运行的协议层中的一个。
路由控制是一类网络管理,旨在改进因特网连接性,并且降低带宽成本和整体互联网络操作性。一些路由控制服务包括一套基于硬件和基于软件的产品和服务,这些产品和服务一起作用以提高整体因特网性能,并且以最低的成本微调对可用因特网带宽的使用。在网络或自治系统正从多个提供商获取因特网带宽的情况下,路由控制可能成功。路由控制可帮助选择数据传输的最佳路径。
一些网络通信系统是具有数千个处理节点的大型企业级网络。数千个处理节点共享来自多个因特网服务提供商(ISP)的带宽,并且可处理大量的因特网流量。这种系统可能非常复杂,并且必须正确地进行配置才能获得可接受的因特网性能。如果未正确配置系统来进行最佳数据传输,因特网访问速度可能会降低,并且系统可能会经历高带宽消耗和高流量。为了解决这个问题,可实施一组服务来消除或减少这些担忧。这组服务可称为路由控制。
路由控制机制的实施例包括硬件和软件。路由控制机制通过其与因特网服务提供商(ISP)的连接来监测所有传出的流量。路由控制机制帮助选择用于有效传输数据的最佳路径。路由控制机制可计算所有ISP的性能和效率,并且仅选择在适用区域中表现最佳的ISP。路由控制装置可根据与成本、性能和带宽相关的已定义参数进行配置。
用于确定数据传输的最佳路径的已知算法称为边界网关协议(BGP)。BGP是一种路径矢量协议,其为因特网上的自治系统提供路由信息。当BGP配置不正确时,可能导致严重的可用性和安全性问题。此外,修改后的BGP路由信息可允许攻击者重定向大块流量,从而使流量在到达预期目的地之前先传到特定路由器。可实施BGP最佳路径算法来确定安装在因特网协议(IP)路由表中用于流量转发的最佳路径。BGP路由器可被配置为接收到相同目的地的多个路径。
BGP最佳路径算法分配第一有效路径作为当前最佳路径。BGP最佳路径算法将该最佳路径与列表中的下一路径进行比较,直到BGP到达有效路径列表的末尾。该列表提供了用于确定最佳路径的规则。例如,该列表可包括以下指示:优选的是具有最高权重的路径,优选的是没有本地优先级的路径,优选的是通过网络或聚合BGP在本地发起的路径,优选的是最短路径,优选的是具有最低多出口鉴别器的路径等。可定制BGP最佳路径选择过程。
在BGP路由的背景下,每个路由域(routing domain)称为自治系统(AS)。BGP帮助选择通过因特网连接两个路由域的路径。BGP通常选择经过最少自治系统的路由,称为最短AS路径。在实施例中,一旦启用了BGP,路由器将从可能是ISP的BGP邻居获取因特网路由的列表。然后,BGP将仔细检查该列表,以找到具有最短AS路径的路由。这些路由可被输入到路由器的路由表中。通常,路由器会选择到AS的最短路径。BGP使用路径属性来确定如何将流量路由到特定网络。
为了促进对根据本公开的原理的理解,现将参照附图中示出的实施例,并且将使用特定的语言来描述这些实施例。然而,应当理解,这并不意味着对本公开范围的限制。对于处于相关领域并且拥有本公开的技术人员而言将正常想到的,对本文所示的发明性特征的任何改变和进一步修改以及如本文所示的本公开的原理的任何附加应用都被认为处于所要求保护的公开的范围内。
在公开和描述用于在网络计算环境中提供数据库的结构、系统和方法之前,应当理解,本公开不限于本文所公开的特定结构、配置、处理步骤和材料,如这样的结构、配置、处理步骤和材料可能存在不同。还应当理解,因为本公开的范围将仅由所附权利要求及其等同方案限制,所以本文所采用的术语仅用于描述特定实施例的目的,并且不旨在进行限制。
在描述和要求保护本公开的主题时,将根据以下阐述的定义使用以下术语。
必须注意的是,除非上下文另有明确规定,否则如在本说明书和所附权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数指示物。
如本文所使用的,术语“包括”、“包含”、“含有”、“特征在于”及其语法等同物是包括性的或开放式的术语,并且不排除附加的、未引用的要素或方法步骤。
如本文所使用的,短语“由……组成”及其语法等同物排除了权利要求中未指定的任何要素或步骤。
如本文所使用的,短语“基本上由……组成”及其语法等同物将权利要求的范围限制为特定的材料或步骤,以及那些实质上不影响所要求保护的公开的基础和新颖的特征或特性的材料或步骤。
现在参照附图,图1示出了用于将装置连接到因特网的系统100的示意图。系统100包括由交换机106连接的多个局域网络160。多个局域网络160中的每一个都可在公共因特网上经由路由器162彼此连接。在图1所示的示例性系统100中,存在两个局域网络160。然而,应当理解,可能存在许多局域网络160在公共因特网上彼此连接。每个局域网络160包括经由交换机106彼此连接的多个计算装置108。多个计算装置108可包括例如台式计算机、膝上型计算机、打印机、服务器等。局域网络160可经由路由器162在公共因特网上与其他网络通信。路由器162将多个网络彼此连接。路由器162连接到因特网服务提供商102。因特网服务提供商102连接到一个或多个网络服务提供商104。如图1所示,网络服务提供商104与其他本地网络服务提供商104通信
交换机106通过使用包交换来接收、处理数据并且将数据转发到目的地装置,从而连接局域网络160中的装置。交换机106可被配置为例如从计算机接收去往打印机的数据。交换机106可接收数据,处理数据,并且将数据发送到打印机。交换机106可以是第1层交换机、第2层交换机、第3层交换机、第4层交换机、第7层交换机等。第1层网络装置传送数据,但不管理通过其的任何流量。第1层网络装置的一个示例是以太网集线器。第2层网络装置是多端口装置,其使用硬件地址在数据链路层(第2层)处理和转发数据。第3层交换机可执行通常由路由器执行的部分或全部功能。但是,一些网络交换机仅限于支持单一类型的物理网络,通常是以太网,而路由器可能在不同的端口上支持不同类型的物理网络。
路由器162是在计算机网络之间转发数据包的网络装置。在图1所示的示例性系统100中,路由器162在局域网络160之间转发数据包。然而,路由器162不必应用于在局域网络160之间转发数据包,而是可用于在广域网络之间转发数据包等。路由器162在因特网上执行流量引导功能。路由器162可具有用于诸如铜缆、光纤或无线传输的不同类型的物理层连接的接口。路由器162可支持不同的网络层传输标准。每个网络接口用于将数据包从一个传输系统转发到另一个传输系统。路由器162也可用于连接被称为子网的两台或多台计算机装置逻辑组,每个逻辑组具有不同的网络前缀。如图1所示,路由器162可提供企业内部、在企业和因特网之间或者在因特网服务提供商的网络之间的连接性。一些路由器162被配置为互连各种因特网服务提供商,或者可在大型企业网络中使用。较小的路由器162通常为家庭和办公室网络提供到因特网的连接性。图1中所示的路由器162可表示诸如以下的用于网络传输的任何合适的路由器:边缘路由器、订户边缘路由器、提供商间边界路由器、核心路由器、因特网骨干网、端口转发、语音/数据/传真/视频处理路由器等。
因特网服务提供商(ISP)102是为访问、使用或参与因特网提供服务的组织。ISP102可以各种形式组织,例如,商业性、社区所有性、非营利性或私有性。ISP 102通常提供的因特网服务包括因特网接入、因特网传输、域名注册、网站托管、Usenet服务和主机托管。图1所示的ISP 102可代表任何合适的ISP,例如,托管ISP、中转ISP、虚拟ISP、免费ISP、无线ISP等。
网络服务提供商(NSP)104是通过向因特网服务提供商提供直接的因特网骨干网接入来提供带宽或网络接入的组织。网络服务提供商可提供对网络接入点(NAP)的访问。网络服务提供商104有时称为骨干提供商或因特网提供商。网络服务提供商104可包括电信公司、数据运营商、无线通信提供商、因特网服务提供商和提供高速因特网接入的有线电视运营商。网络服务提供商104也可包括信息技术公司。
应当理解,图1所示的系统100仅是示例性的,并且可针对在网络和计算装置之间传输数据创建许多不同的配置和系统。因为在网络形成中存在大量的可定制性,所以期望在确定计算机之间或网络之间传输数据的最佳路径时创建更大的可定制性。鉴于前述内容,本文公开了用于将最佳路径计算卸除到外部装置以在确定非常适合于特定计算机组或特定企业的最佳路径算法时实现更大的可定制性的系统、方法和装置。
图2示出在数据存储库200中存储的数据的逻辑布局以及用于访问数据存储库200中的数据的寻址机制。该寻址机制包括数据库URL 212、表URL 214和对象URL 216。数据存储库200可被实施为提供增强的灵活性的发布-订阅(“PUBSUB”或“Pub/Sub”)数据库的基于客户端/服务器的模型。数据存储库200可利用数据库主机服务器在生产者与订户之间提供两跳迁数据路径。主机服务器310可被插入在生产者与订户之间。
数据存储库200包括数据库目录树202,其包括中间节点204和叶节点206。叶节点206与数据库内容树208中存储的表210通信。如图2所示,表210存储诸如对象1、对象2和对象3的多个对象的信息。叶节点206可经由数据库URL 212访问。数据库URL 212可被提供给客户端账户,用于访问叶节点206。类似地,表210可经由表URL 214访问,并且对象可经由对象URL 216访问。
在实施例中,数据存储库200进一步包括主机库(host library),该主机库允许应用充当由应用产生的数据的数据存储库主机服务器310。如果数据集被托管和嵌入在主机服务器上,并且由托管应用产生,则可避免生产者与主机服务器之间另外的进程间通信(IPC)跳迁。在实施例中,数据存储库210可通过将数据库主机与生产者装置相结合来提供从生产者到订户的一个跳迁直接数据路径。
数据可存储在分层数据库目录树202中。数据库目录树202可允许数据的万用订阅(wildcard subscription)。万用订阅可以是临时的(ad hoc)、非预期的、一次性(one-off)的或其他单个事件,例如,订户向发布者请求数据。数据的万用订阅可跨越由多于一个的生产者装置产生的数据集。可选地,万用订阅可跨越由多于一个的生产者装置产生的数据集。可选地,万用订阅可跨多个数据库主机服务器310托管。当被适当分区时,万用订阅通过在生产者与订户之间提供多个并行数据路径来提供有效的水平扩展,其中生产者装置包括数据库主机。
本文所讨论的数据存储库的一个优点是生产者不需要自己维护为每个订户提供服务的开销。相反,可将开销卸除到一个或潜在地多个主机服务器310。
本文所讨论的数据存储库的另一个优点是,由单个生产者产生的整个数据集可使用适当的数据分区而被划分成子集。可根据需要将数据分区分配给不同的数据库主机服务器310。这种分区允许在生产者与订户之间创建并行数据路径,同时允许水平扩展。例如,多个数据库主机服务器310可各自在生产者与订户之间创建并行数据路径。此外,数据存储库200服务器组件可在单独的服务器集群上托管,以帮助将处理开销卸除到其他装置。
在实施例中,本文所讨论的数据存储库为运行时诊断和系统监测提供支持。例如,数据存储库可使用数据存储库的发布-订阅基础架构从所有数据存储库客户端收集诊断信息。
图3是用于将最佳路径计算和路由的存储卸除到数据存储库302的系统300的示意图。该系统包括与多个应用R1、R2、R3、Rn通信的数据存储库302。数据存储库302包括与元数据306通信的索引服务器304。元数据306提供了特定数据位于共享磁盘存储装置312内何处的指示。共享磁盘存储装置312包括多个数据存储装置312a、312b、312c、312n。索引服务器304与处理平台308通信,并且处理平台308可访问共享磁盘存储装置312。索引服务器304被配置为向处理平台308提供特定数据位于共享磁盘存储装置312中何处的指示。索引服务器304基于元数据306做出该确定。数据存储库302包括与处理平台308通信的主机服务器310。主机服务器310使处理平台308能够通过更新、添加或删除共享磁盘存储装置312中的信息来对共享磁盘存储装置312进行写入。处理平台308可包括多个主机,每个主机包括处理器和高速缓存存储装置。每个主机可被配置为在共享磁盘存储装置312中读取和写入信息。
图4示出信息被卸除到数据存储库302并且数据存储库302位于交换机或路由器的本地的实施例。交换机或路由器进一步包括硬件416和软件栈414。硬件416提供物理连接,使得能够在计算机或网络之间传输数据包。软件栈414包括由处理器或硬件416实施的指令,用于确定最佳路径并沿着到其目的地装置的最佳路径转发数据包。
图5示出系统500的实施例,其中信息被卸除到数据存储库302,并且数据存储库302可通过云端网络514进行访问。在实施例中,数据存储库302是可由多个联网装置R1、R2、R3、Rn访问的基于云端的数据库。
图6是数据存储库中生产者、生产者消费者以及消费者之间的通信的示意图。在实施例中,存在联网装置本地的数据存储库602,其存储系统的相关信息。数据存储库602可以是存储用于一个或多个路由器或交换机的最佳路径信息的数据库。数据存储库602可进一步存储诸如CPU利用率、温度、风扇速度的系统状态信息,以及诸如LED的外围装置或其他装置的状态信息。数据存储库602可存储对监测代理可能有用的各种信息。数据存储库602中的信息可被流出到可能需要这种信息的另一个控制器或装置。数据存储库602可包括数据库索引,并且可包括多个主机。多个主机中的每一个可包括处理器和高速缓存存储器。在图6所示的示例性实施例中,数据存储库602包括数据库主机1、数据库主机2、数据库主机3至数据库主机n。
数据存储库602与生产者604、生产者消费者606和消费者608通信。生产者604是创建数据和将数据添加到数据存储库602的实体。消费者608是读取数据存储库602中的数据的实体。生产者消费者606是可以产生数据集并读取数据存储库中的数据集的实体。在实施例中,生产者消费者606可产生数据存储库602中的第一数据集,并且可读取数据存储库602中的第二数据集。该数据包括例如状态更新、计算结果、状态信息等。
图7是数据存储库的实施例的示意图。图7所示的数据存储库示出数据存储库的单个装置中的多节点的数据库集群。可将数据存储库实施为发布-订阅数据存储库。数据存储库包括被示出为离散块的两个节点。在图7所示的示例性实施方案中,该数据存储库包括节点A和节点N。节点中的每一个包括由内部组织726连接的相同组件。节点各自包括与数据存储库客户端通信的生产者704a、704n,与数据存储库客户端通信的生产者消费者706a、706n以及与数据存储库客户端通信的消费者708a、708n。节点中的每一个包括用于存储状态信息的本地数据存储库702a、702n。本地数据存储库702a、702n包括数据库索引以及多个数据库主机,例如,DB主机1、DB主机2、DB主机3、DB主机n。本地数据存储库702a、702n与复制器代理(replicator agent)712a、712n进行通信。复制器代理712a、712n与数据存储库客户端714a、714n通信,并且包括复制器逻辑(replicator logic)716a、716n。持续存储代理(persistent storage agent)718a、718n与数据存储库客户端720a、720n通信,并且具有用于存储数据的持续存储装置(persistent storage)722a、722n。持续存储代理718a、718n与磁盘存储装置724a、724n通信以存储数据。复制器代理712a、712n与内部组织726通信,用于在节点A和节点N以及也可连接到内部组织726的任何其他节点之间共享数据存储库信息。
当使用图7所示的单节点架构时,可实施一个或多个单独的数据库主机服务器,以提供生产者和消费者之间的数据流,并且托管分布式数据存储库。可将整个数据库划分成独立的数据集。托管服务器进程可专用于一个或多个独立的集。可部署单个数据库索引服务器来维护托管服务器与其所托管的相应数据集的映射。
在实施例中,消费者708a、708n可通过数据存储库客户端连接到数据库索引服务器(参见304)。数据库客户端可连接到数据库索引服务器304,以注册和订阅特定数据集中的感兴趣内容。生产者704a、704n可通过数据存储库客户端连接到数据库索引服务器304,以接收关于使用哪个托管服务器的信息,并且进一步接收关于数据库的更新。生产者704a、704n可连接到特定的托管服务器,并且发布添加、修改、删除和数据对象。数据库索引服务器304可向消费者708a、708n通知新的、修改的和/或删除的对象,并且消费者708a、708n可连接到适当的托管服务器以下载由生产者704a、704n产生的数据集。
单独的数据存储库复制器代理712a、712n可连接到数据存储库702a、702n,作为同时充当消费者和生产者的数据存储库客户端。复制器代理712a、712n用于协助将数据库复制到相同装置中的其他节点以及从相同装置中的其他节点复制数据库。复制器代理712a、712n可充当本地节点上产生的所有数据对象的消费者,以及充当远程节点上产生的所有数据对象的生产者。
单独的持续存储代理718a、718n可作为生产者和消费者两者而连接到数据存储库702a、702n,并且帮助将数据对象存储和恢复到诸如持续存储装置722a、722n或磁盘724a、724n的持续存储器存储装置。
随着数据库大小的增加,可能会部署更多的服务器来平衡负载分布。可将数据库划分成独立的分区,允许每个服务器托管分区的子集。
图8是示出由被卸除到云端计算网络的远程控制器逻辑812控制的多个装置的示意图。包括装置1、装置2和装置N的每个装置都包括一个或多个节点,即节点1、节点2和节点N。在图8所示的实施例中,示出了三个单独的装置,但是应当理解,在不脱离本公开的范围的情况下,可存在任意数量的装置和节点。每个装置包括经由云端网络814从控制器逻辑812接收通信的配置代理(configuration agent)806。每个装置包括经由云端网络814向控制器逻辑812提供数据的监测和遥测代理(monitoring and telemetry agent)808。每个装置包括数据存储库802和与数据存储库802通信的一个或多个应用。
装置和节点是单独的,并且每个都包括自身的数据存储库。装置和节点之间不存在数据存储库复制。装置和节点分别从它们各自的监测和遥测代理808发送数据。控制器逻辑812基于来自多个装置和节点的组合数据执行处理,并且基于处理的结果来发送每个节点配置更新。
图9是云端中托管的数据存储库的多节点架构的数据库集群的实施例的示意图。数据存储库902与来自多个装置的生产者904a、904n、生产者消费者906a、906n和消费者908a、908n通信。在图9所示的示例性实施方案中,数据存储库902与来自两个单独装置的生产者、生产者消费者和消费者通信。如图所示,数据存储库902包括数据库索引和多个数据库主机,例如,数据库主机1、数据库主机2、数据库主机3至数据库主机n。在各个实施例中,数据存储库902可具有任意数量的数据库主机。数据存储库902与持续存储代理918通信。持续存储代理918与数据存储库客户端920通信,并且包括持续存储装置922。持续存储代理918将信息存储在磁盘存储装置924中。可通过SSL或类似机制来保护(认证和加密)生产者904a、904n与数据库索引、至N的数据库主机之间的所有通信信道。这维护了组件之间交换数据的隐私性。
数据存储库902和持续存储代理918可被卸除到云端网络928,以被存储在基于云端的存储装置中。数据存储库902和存储在磁盘存储装置924中的数据可由多个不同的装置访问。数据存储库902可经由数据存储库URL的方式被客户端账户访问。数据存储库902可跨一个或多个云端网络928以跨基于云端的存储装置的一个或多个部署进行存储。数据存储库902可在多个地理位置进行访问。数据存储库902也可被本地存储在联网装置中,或者可单独地存储在基于云端的存储装置中。
图10是装置1010的节点1004与存储在云端网络1028中的控制器逻辑1012之间的通信的系统1000的示意图。装置1010可以是本文所讨论的交换机106或路由器162。节点1004包括配置代理1006和监测/遥测代理1008。装置1010包括数据存储库1002。数据存储库1002可与节点1004一起在本地存储,可存储在装置1010中并可由多节点访问,可被卸除到云端存储装置,或者可被存储在外部并可由多个装置1002访问。配置代理1006接收控制器逻辑1012形式的指令。控制器逻辑1012存储在云端网络上的基于云端的存储装置中,并且可由装置1010通过网络访问。配置代理1006向监测/遥测代理1008提供指令。监测/遥测代理1008从数据存储库1002接收信息。如图所示,数据存储库1002可包括用于诸如应用1、应用2至应用N的多个应用的信息。可使用SSL或类似的机制来保护(认证和加密)配置代理1006与控制器逻辑1012之间以及监测和遥测代理1008与控制器逻辑1012之间的所有通信信道,以维护组件之间交换的数据的隐私性。
配置代理1006负责管理联网装置上的配置。配置代理1105通常提供命令行接口或NETCONF或RESTCONF或一些其他接口来配置和供应联网装置。配置代理1006可通知在该联网装置上运行的诸如BGP或路由信息库(RIB)的特定应用的配置改变。配置代理1006提供了一种机制,其中这些应用可读取配置并相应地动作。
监测和遥测代理1008订阅数据存储库中的改变,并且通过连接将这些变化传输到诸如控制器的外部实体。控制器从多个装置接收遥测数据,并且可跨装置执行一些分析,并且推送回配置更新以优化跨装置的操作。为了便于说明,遥测可以是类似的简单网络管理协议(SNMP),但不是周期性轮询,监视和遥测代理1008将更新推送到外部监测装置。
控制器逻辑1012也可被可选地称为控制器。控制器逻辑1012管理多个装置。控制器逻辑1012将配置更新推送到多个装置,并且经由从监测和遥测代理1108接收的更新来从多个装置接收状态信息。控制器逻辑1012可对来自多个装置的路由数据执行诸如最佳路径计算的分析,并且将适当的结果推送回每个装置。与每个装置在本地执行其自身最佳路径计算相比,这样可提供改进的整体网络性能。
应用是基于数据存储库1002中的数据执行操作的程序或服务。示例性应用包括边界网关协议(BGP)、中间系统到中间系统(ISIS)、路由信息库(RIB)、开放式最短路径优先(OSPF)等。
图11是用于将多节点装置的控制器逻辑卸除到基于云端的控制器的系统的示意图。示例性架构1100包括被示为离散块节点1和节点N的两个节点。应当理解,可能存在适合于本公开的不同实施例和实施方案的任意数量的节点。节点1包括与内部组织1126通信的复制器代理1104,内部组织1126提供与节点N的复制器代理1104的通信。复制器代理1104负责维护数据存储库的不同实例之间的数据一致。复制器代理1104出于冗余或群集的目的而将一个数据存储库中的改变复制到另一个数据存储库。节点1的配置代理1106与云端1128网络通信,云端1128网络包括用于数据存储库1102的控制器逻辑1112。节点中的每一个包括数据存储库1102的副本。数据存储库1102中的信息可被诸如应用1、应用2至应用N的多个应用访问和使用。节点N的监测和遥测代理1108与数据存储库1102和云端1128网络通信。节点1的配置代理1106可经由云端1128网络与节点N的监测和遥测代理1108通信。
图12是数据存储库1202的直接进程间通信(IPC)模型的示意图。以虚线表示进程间通信信道。虚线(IPC)和实线之间的区别在于:IPC连接绕过了数据存储库。IPC连接将数据存储库客户端直接彼此连接,因此比经由数据存储库进行的实线少一跳迁。如图所示,IPC信道存在于生产者1204、生产者消费者1206和消费者1208的数据存储库客户端与复制器代理1210的数据存储库客户端1214和持续存储代理1218的数据存储库客户端1220之间。包括节点1和节点N的节点中的每一个维护其自身的数据存储库1202。每个节点包括一个或多个生产者1204、生产者消费者1206和消费者1208。每个节点包括复制器代理1210,复制器代理1210包括数据存储库客户端1214和复制器逻辑1216。每个节点包括持续存储代理1218,持续存储代理1218包括数据存储库客户端1220以及将存储卸除到磁盘1224存储装置的持续存储装置1222。
图13是数据存储库的索引服务器304的示意图。数据存储库的实施例可包括索引服务器304和主机服务器310。在单节点和多节点实施例中,索引服务器304可与数据存储库结合使用。索引服务器304包括主机服务器数据库1304,其存储主机服务器信息1306。索引服务器304包括客户端服务器连接至数据库1308,其有助于客户端服务器连接1310。索引服务器304包括数据分区数据库1312,其包括数据分区信息1314。索引服务器120包括数据订阅数据库1316,其包括数据订阅信息1318。
索引服务器304管理数据存储库操作和查询。索引服务器304知道什么信息被锚定到数据存储库中的哪个主机装置上。数据存储库包括多个主机装置,每个主机装置用作执行平台中的执行节点。每个主机装置可包括一个或多个处理器,以及高速缓存存储器。索引服务器304可读取元数据,以确定什么信息已经被本地存储在多个主机中的每一个中的高速缓存存储器中。索引服务器304被配置为对数据存储库中的多个主机实例中的每一个执行负载平衡操作。
图14是数据存储库的主机服务器310的示意图。在单节点或多节点架构中,主机服务器可与数据存储库结合使用。主机服务器310有助于索引服务器连接1404到客户端服务器连接1410,使得客户端可访问和查询数据存储库。主机服务器310有助于客户端数据库连接1406以产生到数据存储库1408的客户端服务器连接。主机服务器310包括数据订阅数据库1412,其有助于订户连接1414访问数据分区信息1416。主机服务器310包括数据分区数据库1418,其包括数据订阅信息1420。
在联网装置和数据存储库之间建立初始连接之后,主机服务器310提供到数据存储库内的数据的连接。初始连接可由索引服务器304建立。主机服务器310提供数据在数据服务器中的位置的指示。主机服务器310允许对数据存储库中存储的数据的写入。
图15是在发布-订阅数据储存库中的数据操作的处理流程1500的示意图。处理流程1500可由数据存储库1502、发布者装置1504和订户装置1506来实施。发布者装置1504和订户装置1506中的每一个都可以是BGP实例和/或诸如路由器或交换机的联网装置。发布者装置1504和订户装置1506可包括一些本地存储装置,并且可被配置为将大量数据卸除到数据存储库1502。数据存储库1502的至少一部分的副本可被本地存储在发布者装置1504和/或订户装置中。数据存储库1502可被存储在基于云端的存储装置中,并且可由发布者装置1504和/或订户装置1506经由网络连接访问。
在处理流程1500中,发布者装置1504确定待存储的数据,并且在1508处,在本地存储该数据。该数据可包括例如装置的状态信息,例如CPU利用率、温度、风扇速度、外围装置的状态等。装置的状态信息可对于监测代理较为有用,并且可被流传送到需要这种信息的其他控制器或装置。该数据可包括最佳路径信息,该最佳路径信息指示将数据从第一位置传输到最终目的地所需的跳迁。最佳路径信息可由装置根据BGP而本地确定。最佳路径信息可由最佳路径控制器来确定。最佳路径信息可被发布到数据存储库,使得所有订户装置可检索到该最佳路径信息。
在处理流程中,在1510处,发布者装置1504将数据发布到数据存储库1502。在1512处,数据存储库1502存储数据,并且使该数据可用。订户装置1506可从数据存储库1502接收指示数据可用的通知。在1514处,订户装置1506请求数据。数据存储库1502查询数据存储库1502内存储的数据,以向订户装置1506提供响应。在1516处,订户装置1506接收数据。
在实施例中,数据由发布者装置1504和/或数据存储库1502和/或订户装置1506加密。数据存储库1502可对数据进行加密,并且将加密的数据提供给订户装置1506。数据存储库1502可执行认证,以确保订户装置1506具有读取数据的许可。
处理流程1500和数据存储库1502在网络计算环境中的使用实现了许多益处。数据存储库1502用作外部数据库,存储装置的复制数据。数据存储库1502可位于装置外部。数据存储库1502可接收连接到数据存储库1502的所有装置的指示,并且可接收和请求与数据存储库1502的通信。这实现了许多益处。数据存储库1502可用作知道连接到数据存储库1502的所有装置的状态的中央代理。数据存储库1502可进一步用作中央代理,该中央代理知道在与数据存储库1502通信的每个装置上正在运行什么类型的软件以及该软件是什么版本。
存储在数据存储库1502中的数据可在崩溃的情况下用于重启操作。如果一个或多个装置由于间歇性故障或回归(regression)而发生故障,则可检索数据存储库1502中的数据来恢复操作,就如从未发生故障一样。数据存储库1502用作数据存储库1502网络中的装置中的每一个的备份。
数据存储库1502中的信息可一次提供给多个订户装置1506。这实现了许多益处,并且防止发布者装置1504因来自订户装置1506的服务信息请求而被积压。例如,计算机网络可包括许多装置,并且这些装置可共享最佳路径信息。在该示例中,计算机网络包括三个装置,装置1、装置2和装置3。在实施方案中,装置1和装置2各自需要来自装置3的信息。如果装置3必须对这些请求作出响应,则处理和存储资源装置3可由于服务请求而注销。然而,如果计算机网络包括数据存储库1502,装置3可改为向数据存储库1502发布信息,数据存储库1502可存储该信息,并且数据存储库1502可处置对来自其他装置的数据的任何请求。这释放了装置中的每一个的处理和存储器资源,以用于执行更高优先级的操作,以确保数据传输在整个计算机网络和外部计算机网络中平稳操作。
图16是存储关于数据库内容的元数据的存储结构1600的示意图。存储结构1600提供了如本文所讨论的在数据存储库中的数据存储的示例性实施例。数据存储库可经由JSON(JavaScript对象符号)数据模式定义标准来采用用户定义的数据模型。该数据模型可针对分层系统中的表、对象和属性提供结构。例如,数据存储库可允许任何应用,包括第三方应用,以定义基于JSON的数据模型,并且使用API(应用程序接口)来产生和订阅遵循相同的基于JSON的数据模型的数据。
图16所示的存储结构1600包括用于数据库中所有表类型1606和数据库中所有对象类型1604的数据库元数据1602。如图16所示,所有表类型1606的数据库元数据1602包括表定义,例如,表定义1、表定义2至表定义n。表定义可由表索引1608来定义。数据库元数据1052可包括每个表定义的表索引,诸如表索引1、表索引2至表索引n。表索引中的每一个可包括属性定义,诸如属性定义1、属性定义2至属性定义n。所有对象类型1604的数据库元数据1602可包括数据库中每个对象的对象定义,诸如对象定义1、对象定义2至对象定义n。对象定义可进一步与所有属性类型1610的数据库元数据1602相关联。
在实施例中,数据存储库存储结构由用户定义的模式指定。用户定义的模式可以由JSON或任何其他合适的语言来指定。在这样的实施例中,可完全定制数据存储库,以提供对属性的包括数组和子对象的多种数据类型的内置支持。此外,该实施例对使用索引机制来对表下的对象进行索引提供支持。在实施例中,数据存储库可以JSON/XML格式进行存储,这可有助于将数据封装在REST(表示状态传送:Representation State Transfer)和遥测接口中。REST和遥测接口可有助于监测远程计算实体的分析,以确定数据库的效率。数据存储库的数据模式定义可允许从REST/NETCONF接口以符合已经为数据定义的数据模式的方式提供数据。
图17是将对数据的存储从联网装置卸除到数据存储库的方法1700的示意性框图。方法1700可由本文所讨论的数据存储库或任何合适的计算装置来执行。方法1700可由如本文所讨论的数据存储库的主机服务器310和/或索引服务器304来执行。
方法1700包括:在1702处,由网络计算环境中的数据存储库从发布者装置接收数据,其中该数据存储库独立于发布者装置。方法1700包括:在1704处,根据数据库模式将数据划分成一个或多个数据库分区。方法1700包括:在1706处,跨处理平台中的多个主机可访问的多个共享存储装置中的一个或多个来存储数据。方法1700包括:在1708处,从订户装置接收对数据的请求,其中数据存储库独立于订户装置。方法1700包括:在1710处,向订户装置提供数据。
图18是管理联网装置的一个或多个数据存储库的方法1800的示意性框图。方法1800可由如本文所讨论的索引服务器304或由其他合适的计算装置来执行。
方法1800开始,并且在1802处,计算装置维护(maintain)数据库索引,该数据库索引包括联网装置的数据存储库中的数据集的映射。方法1800继续,并且在1804处,计算装置维护数据存储库中的数据集中的每一个的发布者和订户列表。方法1800继续,并且在1806处,计算装置响应于接收到数据存储库中的数据集中的一个或多个已被修改的通知而更新数据库索引。方法1800继续,并且在1808处,计算装置响应于从订户接收到指示期望订阅特定数据集的通知而更新发布者和订户列表。
现在参照图19,示出了示例性计算装置1900的框图。计算装置1900可用于执行各种过程,例如本文所讨论的那些过程。在一个实施例中,计算装置1900可用作数据存储库,包括索引服务器304和/或主机服务器310。计算装置1900可执行本文所讨论的各种监测功能,并且可执行一个或多个应用程序,诸如本文所描述的应用程序或功能。计算装置1900可以是诸如以下的多种计算装置中的任意一种:台式计算机、仪表板内计算机、车辆控制系统、笔记本电脑、服务器计算机、手持电脑、平板电脑等。
计算装置1900包括一个或多个处理器1902、一个或多个存储器装置1904、一个或多个接口1906、一个或多个大容量存储装置1908、一个或多个输入/输出(I/O)装置1902和显示装置1930,所有这些都联接到总线1912。处理器1902包括执行存储器装置1904和/或大容量存储装置1908中存储的指令的一个或多个处理器或控制器。处理器1902还可包括各种类型的计算机可读介质,诸如,高速缓存存储器。
存储器装置1904包括各种计算机可读介质,诸如易失性存储器(例如,随机存取存储器(RAM)1914)和/或非易失性存储器(例如,只读存储器(ROM)1916)。存储器装置1904还可包括可重写ROM,诸如,闪速存储器。
大容量存储装置1908包括各种计算机可读介质,诸如磁带、磁盘、光盘、固态存储器(例如,闪速存储器)等。如图19所示,特定的大容量存储装置是硬盘驱动器1924。各种驱动器也可被包括在大容量存储装置1908中,以实现对各种计算机可读介质的读取和/或写入。大容量存储装置1908包括可移动介质1926和/或不可移动介质。
输入/输出(I/O)装置1902包括允许数据和/或其他信息被输入到计算装置1900或从计算装置1900检索出的各种装置。示例性I/O装置1902包括光标控制装置、键盘、小键盘、麦克风、监视器或其他显示装置、扬声器、打印机、网络接口卡、调制解调器等。
显示装置1930包括能够向计算装置1900的一个或多个用户显示信息的任何类型的装置。显示装置1930的示例包括监视器、显示终端、视频投影装置等。
接口1906包括允许计算装置1900与其他系统、装置或计算环境交互的各种接口。示例性接口1906可包括任意数量的不同网络接口1920,诸如,通向局域网络(LAN)、广域网络(WAN)、无线网络和因特网的接口。其他接口包括用户接口1918和外围装置接口1922。接口1906还可包括一个或多个用户接口元件1918。接口1906还可包括一个或多个外围接口,诸如用于打印机、定点装置(鼠标、跟踪板或本领域普通技术人员现在已知或以后将发现的任何合适的用户接口)、键盘等的接口。
总线1912允许处理器1902、存储器装置1904、接口1906、大容量存储装置1908和I/O装置1902以及联接到总线1912的其他装置或组件彼此通信。总线1912代表若干种类型的总线结构中的一种或多种,诸如,系统总线、PCI总线、IEEE总线、USB总线等。
为了说明的目的,程序和其他可执行程序组件在本文中被示为离散的块,尽管可以理解,这样的程序和组件可在不同的时间驻留在计算装置1900的不同存储组件中,并且由处理器1902执行。可选地,本文所描述的系统和过程可以硬件或者硬件、软件和/或固件的组合来实施。例如,一个或多个专用集成电路(ASIC)可进行编程来执行本文所描述的一个或多个系统和过程。
出于说明与描述的目的已经给出了前面的描述。并不旨在穷举或将本公开限制到所公开的精确形式。根据上述教导,可以进行许多修改和变化。此外,应当注意,任何或所有前述可选实施方案可以任何所期望的组合来使用,以形成本公开的附加的混合实施方案。
此外,尽管已经描述和示出了本公开的具体实施方案,但是本公开不限于如此描述和示出的部件的具体形式或布置。本公开的范围将由所附权利要求、此处和不同申请中提交的任何将来的权利要求(如果存在)以及其等同方案来限定。
示例
下面的示例涉及进一步的实施例。
示例1是一种系统。该系统包括单个联网装置中的数据存储库节点的多个实例,数据存储库节点的多个实例中的每一个包括:数据存储库;发布者,其独立于数据存储库,用于向数据存储库发布数据;订户,其独立于数据存储库,用于从数据存储库接收信息;复制器代理,其被配置为作为发布者或订户连接到数据存储库;以及持续存储代理,其被配置为作为发布者或订户连接到数据存储库。
示例2是根据示例1中的系统,其中复制器代理被配置为通过以下方式从相同的单个联网装置中的数据存储库节点的其他实例复制数据库数据:作为数据存储库节点的本地实例上产生的数据对象的代理发布者(acting publisher)而连接到数据存储库;并且作为在数据存储库节点的远程实例上产生的数据对象的代理消费者(acting consumer)而连接到数据存储库。
示例3是根据示例1至2中任一示例的系统,其中持续存储代理被配置为将数据对象存储到持续数据存储装置。
示例4是根据示例1至3中任一示例的系统,其中持续数据存储装置包括共同存储多个数据集的多个共享存储装置,其中多个共享存储装置中的每一个可由主机服务器中的每个实例访问。
示例5是根据示例1至4中任一示例的系统,其进一步包括索引服务器的单个实例,该索引服务器被配置为:维护包括数据存储库中的数据集的映射的数据库索引;以及维护数据存储库中的数据集中的每一个的发布者和订户列表。
示例6是根据示例1至5中任一示例的系统,其中索引服务器被配置为从订户接收订阅特定数据集的通知。
示例7是根据示例1至6中任一示例的系统,其中索引服务器被配置为从发布者接收更新数据库索引的通知以反映对数据存储库中的数据集中的一个或多个的更新。
示例8是根据示例1至7中任一示例的系统,其中数据存储库节点的多个实例中的每一个进一步包括:索引服务器,其用于从多个订户装置接收数据处理请求;元数据,其可由索引服务器访问;主机服务器,其与数据存储库通信;以及多个共享存储装置,其在数据存储库中共同存储多个数据集。
示例9是根据示例1至8中任一示例的系统,其进一步包括控制器逻辑,其被卸除到基于云端的存储装置,其中该控制器逻辑可由数据存储库节点的多个实例中的每一个访问。
示例10是根据示例1至9中任一示例的系统,其中联网装置是交换机或路由器。
示例11是数据存储库的索引服务器,该索引服务器包括一个或多个处理器,该一个或多个处理器可配置为执行非暂时性计算机可读存储介质中存储的指令,该指令包括:维护包括数据存储库中的数据集的映射的数据库索引;维护数据存储库中的数据集中的每一个的发布者和订户列表;响应于接收数据存储库中的数据集中的一个或多个已被修改的通知而更新数据库索引;以及响应于从订户接收指示期望订阅特定数据集的通知而更新数据库索引。
示例12是根据示例11中的索引服务器,其中索引服务器是管理单个联网装置中的数据存储库的多个实例的索引服务器的单个实例。
示例13是根据示例11至12中任一示例的索引服务器,其中指令进一步包括从基于云端的存储装置中检索控制器逻辑。
示例14是根据示例11至13中任一示例的索引服务器,其中指令进一步包括从复制器代理接收消息,该复制器代理被配置为将数据存储库中的数据集复制到位于单个联网装置中的数据存储库的其他实例以及从位于单个联网装置中的数据存储库的其他实例复制数据集,其中该复制器代理可作为发布者或订户与索引服务器交互。
示例15是根据示例11至14中任一示例的索引服务器,其中指令进一步包括从被配置为将数据对象存储在持续数据存储装置中的持续存储代理接收消息,其中该持续存储代理可作为发布者或订户与索引服务器交互。
示例16是一种管理数据存储库的多节点架构的方法,该方法包括:维护包括数据存储库中的数据集的映射的数据库索引;维护数据存储库中的数据集中的每一个的发布者和订户列表;响应于接收数据存储库中的数据集中的一个或多个已被修改的通知而更新数据库索引;以及响应于从订户接收指示期望订阅特定数据集的通知而更新数据库索引。
示例17是根据示例11至16中任一示例的方法,其中该方法由索引服务器执行,并且索引服务器是管理单个联网装置中的数据存储库的多个实例的索引服务器的单个实例。
示例18是根据示例11至17中任一示例的方法,其进一步包括从基于云端的存储装置中检索控制器逻辑。
示例19是根据示例11至18中任一示例的方法,其进一步包括从复制器代理接收消息,该复制器代理被配置为将数据存储库中的数据集复制到位于单个联网装置中的数据存储库的其他实例以及从位于单个联网装置中的数据存储库的其他实例复制数据集,其中该复制器代理可作为发布者或订户与索引服务器交互。
示例20是根据示例11至19中任一示例的方法,其进一步包括从被配置为在持续数据存储装置中存储数据对象的持续存储代理接收消息,其中该持续存储代理可作为发布者或订户与索引服务器交互。
应当理解,上述布置、示例和实施例的任何特征可在单个实施例中进行组合,该单个实施例包括取自任何所公开的布置、示例和实施例的特征的组合。
应当理解,本文所公开的各种特征在本领域中提供了显著的优点和进步。随附的权利要求是这些特征中的一些的示例。
在本公开的前述具体实施方式中,出于简化本公开的目的,将本公开的各种特征组合在单个实施例中。本公开的方法不应被解释为反映所要求保护的公开内容需要比每个权利要求中明确陈述的更多的特征的意图。相反,创造性的方面少于单个前述公开的实施例的所有特征。
应当理解,上述布置仅是对本公开原理的应用说明。在不脱离本公开的精神和范围的情况下,本领域技术人员可以设计出许多修改方案和替代布置,并且所附权利要求旨在涵盖这些修改和布置。
因此,尽管已经在附图中示出了本公开,并且在上面详细描述了本公开,但是对于本领域普通技术人员来说显而易见的是,在不脱离本文所阐述的原理和概念的情况下,可以进行许多修改,包括但不限于大小、材料、形状、形式、功能和操作方式、组装和使用的变化。
此外,在适当的情况下,本文所描述的功能可以在硬件、软件、固件、数字组件或模拟组件中的一个或多个中执行。例如,可对一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)进行编程以执行本文所描述的一个或多个系统和过程。在下面的描述和权利要求中使用了特定术语来指代特定的系统组件。如本领域技术人员将理解的,可通过不同的名称来指代组件。本文件无意区分名称不同但功能相同的组件。
出于说明与描述的目的已经给出了前面的描述。并不旨在穷举或将本公开限制到所公开的精确形式。根据上述教导,可以进行许多修改和变化。此外,应当注意,任何或所有前述可选实施方案可以任何所期望的组合来使用,以形成本公开的附加的混合实施方案。
此外,尽管已经描述和示出了本公开的具体实施方案,但是本公开不限于如此描述和示出的部件的具体形式或布置。本公开的范围将由所附权利要求、此处和不同申请中提交的任何将来的权利要求以及其等同方案来限定。
Claims (20)
1.一种系统,其包括:
单个联网装置中的数据存储库节点的多个实例,所述数据存储库节点的多个实例中的每一个包括:
数据存储库;
发布者,其独立于所述数据存储库,用于向所述数据存储库发布数据;
订户,其独立于所述数据存储库,用于从所述数据存储库接收信息;
复制器代理,其被配置为作为发布者或订户连接到所述数据存储库;以及
持续存储代理,其被配置为作为所述发布者或订户连接到所述数据存储库。
2.根据权利要求1所述的系统,其中所述复制器代理被配置为通过以下方式从相同的单个联网装置中的所述数据存储库节点的其他实例复制数据库数据:
作为在所述数据存储库节点的本地实例上产生的数据对象的代理发布者而连接到所述数据存储库;以及
作为所述数据存储库节点的远程实例上产生的数据对象的代理消费者而连接到所述数据存储库。
3.根据权利要求1所述的系统,其中所述持续存储代理被配置为将数据对象存储到持续数据存储装置。
4.根据权利要求3所述的系统,其中所述持续数据存储装置包括共同存储多个数据集的多个共享存储装置,其中所述多个共享存储装置中的每一个能够由主机服务器的每个实例访问。
5.根据权利要求1所述的系统,其进一步包括用于管理所述数据存储库节点的多个实例的索引服务器的单个实例,所述索引服务器被配置为:
维护包括所述数据存储库中的数据集的映射的数据库索引;并且
维护所述数据存储库中的数据集中的每一个的发布者和订户列表。
6.根据权利要求5所述的系统,其中所述索引服务器被配置为从订户接收订阅特定数据集的通知。
7.根据权利要求5所述的系统,其中所述索引服务器被配置为从所述发布者接收更新所述数据库索引的通知以反映对所述数据存储库中的一个或多个所述数据集的更新。
8.根据权利要求1所述的系统,其中所述数据存储库节点的所述多个实例中的每一个进一步包括:
索引服务器,其用于从多个订户装置接收数据处理请求;
元数据,其能够由所述索引服务器访问;
主机服务器,其与所述数据存储库通信;以及
多个共享存储装置,其在所述数据存储库中共同存储多个数据集。
9.根据权利要求1所述的系统,其进一步包括控制器逻辑,其被卸除到基于云端的存储装置,其中所述控制器逻辑能够由所述数据存储库节点的所述多个实例中的每一个访问。
10.根据权利要求1所述的系统,其中所述联网装置是交换机或路由器。
11.一种数据存储库的索引服务器,所述索引服务器包括一个或多个处理器,所述一个或多个处理器能够配置为执行非暂时性计算机可读存储介质中存储的指令,所述指令包括:
维护包括所述数据存储库中的数据集的映射的数据库索引;
维护所述数据存储库中的数据集中的每一个的发布者和订户列表;
响应于接收所述数据存储库中的所述数据集中的一个或多个已被修改的通知而更新所述数据库索引;以及
响应于从订户接收指示期望订阅特定数据集的通知而更新所述发布者和订户列表。
12.根据权利要求11所述的索引服务器,其中所述索引服务器是管理单个联网装置中的所述数据存储库的多个实例的索引服务器的单个实例。
13.根据权利要求11所述的索引服务器,其中所述指令进一步包括从基于云端的存储装置中检索控制器逻辑。
14.根据权利要求11所述的索引服务器,其中所述指令进一步包括从复制器代理接收消息,所述复制器代理被配置为将所述数据存储库中的数据集复制到位于单个联网装置中的所述数据存储库的其他实例以及从位于所述单个联网装置中的所述数据存储库的其他实例复制数据集,其中所述复制器代理能够作为发布者或订户与所述索引服务器进行交互。
15.根据权利要求11所述的索引服务器,其中所述指令进一步包括从被配置为将数据对象存储在持续数据存储装置中的持续存储代理接收消息,其中所述持续存储代理能够作为发布者或订户与所述索引服务器进行交互。
16.一种管理数据存储库的多节点架构的方法,所述方法包括:
维护包括所述数据存储库中的数据集的映射的数据库索引;
维护所述数据存储库中的数据集中的每一个的发布者和订户列表;
响应于接收所述数据存储库中的所述数据集中的一个或多个已被修改的通知而更新所述数据库索引;以及
响应于从订户接收指示期望订阅特定数据集的通知而更新所述发布者和订户列表。
17.根据权利要求16所述的方法,其中所述方法由索引服务器执行,并且所述索引服务器是在管理单个联网装置中的所述数据存储库的多个实例的索引服务器的单个实例。
18.根据权利要求16所述的方法,其进一步包括从基于云端的存储装置中检索控制器逻辑。
19.根据权利要求16所述的方法,其进一步包括从复制器代理接收消息,所述复制器代理被配置为将所述数据存储库中的数据集复制到位于单个联网装置中的所述数据存储库的其他实例以及从位于所述单个联网装置中的所述数据存储库的其他实例复制数据集,其中所述复制器代理能够作为发布者或订户与所述索引服务器进行交互。
20.根据权利要求16所述的方法,其进一步包括从被配置为将数据对象存储在持续数据存储装置中的持续存储代理接收消息,其中所述持续存储代理能够作为发布者或订户与所述索引服务器进行交互。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862722003P | 2018-08-23 | 2018-08-23 | |
US62/722,003 | 2018-08-23 | ||
PCT/US2019/047873 WO2020041681A1 (en) | 2018-08-23 | 2019-08-23 | Single node and multiple node datastore architecture in a network routing environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112840322A true CN112840322A (zh) | 2021-05-25 |
Family
ID=69583257
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980054500.4A Active CN112840606B (zh) | 2018-08-23 | 2019-08-23 | 网络路由环境中的异步对象管理器 |
CN201980054510.8A Active CN112840604B (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的环路冲突避免 |
CN201980054509.5A Pending CN112840322A (zh) | 2018-08-23 | 2019-08-23 | 网络路由环境中的单节点和多节点数据存储库架构 |
CN202410093783.6A Pending CN117914767A (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的第一跳迁网关冗余 |
CN201980054740.4A Active CN112840625B (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的第一跳迁网关冗余 |
CN201980054521.6A Active CN112840333B (zh) | 2018-08-23 | 2019-08-23 | 具有确定性主机学习以及本地化集成的路由和桥接的主机路由覆盖 |
CN201980054483.4A Pending CN112840332A (zh) | 2018-08-23 | 2019-08-23 | 网络路由环境中的独立数据存储区 |
CN201980054518.4A Active CN112840605B (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的路由优化 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980054500.4A Active CN112840606B (zh) | 2018-08-23 | 2019-08-23 | 网络路由环境中的异步对象管理器 |
CN201980054510.8A Active CN112840604B (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的环路冲突避免 |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410093783.6A Pending CN117914767A (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的第一跳迁网关冗余 |
CN201980054740.4A Active CN112840625B (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的第一跳迁网关冗余 |
CN201980054521.6A Active CN112840333B (zh) | 2018-08-23 | 2019-08-23 | 具有确定性主机学习以及本地化集成的路由和桥接的主机路由覆盖 |
CN201980054483.4A Pending CN112840332A (zh) | 2018-08-23 | 2019-08-23 | 网络路由环境中的独立数据存储区 |
CN201980054518.4A Active CN112840605B (zh) | 2018-08-23 | 2019-08-23 | 网络计算环境中的路由优化 |
Country Status (8)
Country | Link |
---|---|
US (16) | US11206208B2 (zh) |
EP (7) | EP3841709A4 (zh) |
JP (7) | JP7461355B2 (zh) |
KR (7) | KR20210059727A (zh) |
CN (8) | CN112840606B (zh) |
CA (7) | CA3109950A1 (zh) |
TW (8) | TW202344019A (zh) |
WO (7) | WO2020041742A1 (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10951463B2 (en) * | 2019-03-27 | 2021-03-16 | Cisco Technology, Inc. | BGP aggregation in Clos networks |
US11799722B2 (en) | 2019-03-28 | 2023-10-24 | Harmonic, Inc. | Support for a scalable and highly available (HA) service platform |
US11368553B1 (en) * | 2019-03-28 | 2022-06-21 | Harmonic, Inc. | Support for a scalable and high availability (HA) virtual cable modem termination system (VCMTS) |
US11656992B2 (en) | 2019-05-03 | 2023-05-23 | Western Digital Technologies, Inc. | Distributed cache with in-network prefetch |
US11240355B2 (en) | 2019-05-17 | 2022-02-01 | Arista Networks, Inc. | Platform agnostic abstraction for forwarding equivalence classes with hierarchy |
US11228459B2 (en) * | 2019-10-25 | 2022-01-18 | Dell Products L.P. | Anycast address configuration for extended local area networks |
US11567899B2 (en) * | 2019-12-03 | 2023-01-31 | Western Digital Technologies, Inc. | Managing dependent delete operations among data stores |
US11409711B2 (en) | 2019-12-03 | 2022-08-09 | Western Digital Technologies, Inc. | Barriers for dependent operations among sharded data stores |
US11477643B2 (en) * | 2020-02-12 | 2022-10-18 | Charter Communications Operating, Llc | Systems and methods for access point device recovery using mobile devices |
US11757771B2 (en) * | 2020-05-25 | 2023-09-12 | Airbus Defence And Space Sas | Method for routing packets in a communication network having a variable and predictable topology |
WO2021249023A1 (zh) * | 2020-06-08 | 2021-12-16 | 华为技术有限公司 | 集合通信系统中控制报文处理方法、装置、设备及系统 |
US11924083B2 (en) | 2020-06-16 | 2024-03-05 | Cisco Technology, Inc. | Multiple network interfacing |
CN113810275B (zh) * | 2020-06-17 | 2023-08-04 | 华为技术有限公司 | 发送报文的方法及设备 |
CN111800327B (zh) * | 2020-06-19 | 2021-11-26 | 浪潮思科网络科技有限公司 | Vxlan网络的流量分担方法、设备 |
US11765250B2 (en) * | 2020-06-26 | 2023-09-19 | Western Digital Technologies, Inc. | Devices and methods for managing network traffic for a distributed cache |
US11675706B2 (en) | 2020-06-30 | 2023-06-13 | Western Digital Technologies, Inc. | Devices and methods for failure detection and recovery for a distributed cache |
US11323392B1 (en) * | 2020-07-17 | 2022-05-03 | Juniper Networks, Inc. | Managing split-brain scenario in multi-homed environment |
US11456941B2 (en) * | 2020-07-24 | 2022-09-27 | Nvidia Corporation | Extensible network traffic engineering platform for increasing network resiliency in cloud applications |
US11736417B2 (en) | 2020-08-17 | 2023-08-22 | Western Digital Technologies, Inc. | Devices and methods for network message sequencing |
US11575594B2 (en) * | 2020-09-10 | 2023-02-07 | Mellanox Technologies, Ltd. | Deadlock-free rerouting for resolving local link failures using detour paths |
CN112187636B (zh) * | 2020-09-22 | 2022-08-16 | 锐捷网络股份有限公司 | Ecmp路由的存储方法及装置 |
US11418433B2 (en) * | 2020-10-13 | 2022-08-16 | Realtek Singapore Private Limited | Control method for spanning tree protocol of easymesh network and related system |
US11411911B2 (en) | 2020-10-26 | 2022-08-09 | Mellanox Technologies, Ltd. | Routing across multiple subnetworks using address mapping |
US11700178B2 (en) | 2020-10-30 | 2023-07-11 | Nutanix, Inc. | System and method for managing clusters in an edge network |
US11290330B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Reconciliation of the edge state in a telemetry platform |
US11223516B1 (en) | 2020-10-30 | 2022-01-11 | Nutanix, Inc. | Smart collection and processing in telemetry system |
US11431619B2 (en) | 2021-01-27 | 2022-08-30 | Cisco Technology, Inc. | Hierarchical ECMP control plane for dense topologies |
US11716277B2 (en) | 2021-02-11 | 2023-08-01 | Cisco Technology, Inc. | Integrated routing and bridging route reduction in ethernet virtual private network |
CN113364661B (zh) * | 2021-06-11 | 2022-06-03 | 中国电信股份有限公司 | 综合组网方法、装置、电子设备及计算机可读介质 |
US11575541B1 (en) * | 2021-06-15 | 2023-02-07 | Juniper Networks, Inc. | Mapping of virtual routing and forwarding (VRF) instances using ethernet virtual private network (EVPN) instances |
US11870682B2 (en) | 2021-06-22 | 2024-01-09 | Mellanox Technologies, Ltd. | Deadlock-free local rerouting for handling multiple local link failures in hierarchical network topologies |
US11700201B2 (en) * | 2021-07-26 | 2023-07-11 | Arista Networks, Inc. | Mechanism to enforce consistent next hops in a multi-tier network |
US11765103B2 (en) | 2021-12-01 | 2023-09-19 | Mellanox Technologies, Ltd. | Large-scale network with high port utilization |
TWI789169B (zh) * | 2021-12-21 | 2023-01-01 | 大陸商達發科技(蘇州)有限公司 | 向量包處理轉發方法 |
CN114297109A (zh) * | 2021-12-28 | 2022-04-08 | 中汽创智科技有限公司 | 一种基于订阅发布模式的数据处理方法、装置、电子设备及存储介质 |
US11765065B1 (en) | 2022-03-23 | 2023-09-19 | Nutanix, Inc. | System and method for scalable telemetry |
WO2023182990A1 (en) * | 2022-03-24 | 2023-09-28 | Visa International Service Association | System, method, and computer program product for efficiently joining time-series data tables |
TWI802481B (zh) * | 2022-08-04 | 2023-05-11 | 中華電信股份有限公司 | 配置路由器的任播標籤的電子裝置及方法 |
CN115396365B (zh) * | 2022-10-26 | 2023-04-07 | 中国人民解放军军事科学院系统工程研究院 | 一种规模无关的快速路由收敛方法 |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2279845A1 (en) * | 1996-11-18 | 1998-05-28 | Mci Worldcom, Inc. | A communication system architecture |
GB9828683D0 (en) * | 1998-12-24 | 1999-02-17 | Ibm | Publish & subscribe data processing with distribution agents configured to support certain streams |
WO2001016668A2 (en) * | 1999-08-31 | 2001-03-08 | Accenture Llp | A system, method and article of manufacture for a refreshable proxy pool in a communication environment |
US6434568B1 (en) * | 1999-08-31 | 2002-08-13 | Accenture Llp | Information services patterns in a netcentric environment |
US20030014483A1 (en) * | 2001-04-13 | 2003-01-16 | Stevenson Daniel C. | Dynamic networked content distribution |
US6681232B1 (en) * | 2000-06-07 | 2004-01-20 | Yipes Enterprise Services, Inc. | Operations and provisioning systems for service level management in an extended-area data communications network |
WO2005060157A1 (en) * | 2003-12-19 | 2005-06-30 | Solace Systems, Inc. | Implicit routing in content based networks |
WO2007079303A2 (en) * | 2005-12-29 | 2007-07-12 | Amazon Technologies, Inc. | Method and apparatus for a distributed file storage and indexing service |
US20100125574A1 (en) * | 2008-11-20 | 2010-05-20 | Sap Ag | Stream sharing for event data within an enterprise network |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
CN101960426A (zh) * | 2008-01-02 | 2011-01-26 | 桑迪士克以色列有限公司 | 具有直接用户访问的存储装置 |
US20140081685A1 (en) * | 2012-09-17 | 2014-03-20 | Salesforce.com. inc. | Computer implemented methods and apparatus for universal task management |
CN103984694A (zh) * | 2013-02-12 | 2014-08-13 | 三星泰科威株式会社 | 用于在数据分发服务中管理数据库的系统和方法 |
WO2014144796A1 (en) * | 2013-03-15 | 2014-09-18 | Salesforce.Com, Inc. | Systems and methods for interacting with records via a publisher and an information feed |
US20140330732A1 (en) * | 2013-05-03 | 2014-11-06 | Salesforce.Com, Inc. | Providing access to a private resource in an enterprise social networking system |
US20150019480A1 (en) * | 2013-07-11 | 2015-01-15 | Salesforce.Com, Inc. | Systems and methods for interacting with external content objects |
CN105556502A (zh) * | 2013-09-17 | 2016-05-04 | 亚马逊技术有限公司 | 电子邮件网络客户端通知排队 |
CN105683929A (zh) * | 2013-11-08 | 2016-06-15 | 华为技术有限公司 | 用于数据库和存储器感知路由器的方法和设备 |
US20160246869A1 (en) * | 2015-02-24 | 2016-08-25 | Salesforce.Com, Inc. | Interest groups based on network feed items |
US20170109369A1 (en) * | 2012-03-13 | 2017-04-20 | Yahoo! Inc. | Publish-subscribe platform for cloud file distribution |
US9652483B1 (en) * | 2007-03-30 | 2017-05-16 | Google Inc. | Index server architecture using tiered and sharded phrase posting lists |
US20170374180A1 (en) * | 2016-06-22 | 2017-12-28 | RtBrick Inc. | Method to build a modular distributed network device using microservices architecture |
US20180069791A1 (en) * | 2016-09-08 | 2018-03-08 | Futurewei Technologies, Inc. | USER ORIENTED IoT DATA DISCOVERY AND RETRIEVAL IN ICN NETWORKS |
US20180167476A1 (en) * | 2016-12-12 | 2018-06-14 | Sap Se | Meta broker for publish-subscribe-based messaging |
Family Cites Families (176)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5873076A (en) * | 1995-09-15 | 1999-02-16 | Infonautics Corporation | Architecture for processing search queries, retrieving documents identified thereby, and method for using same |
JPH10190733A (ja) * | 1996-12-25 | 1998-07-21 | Hitachi Ltd | Ipスイッチ、該ipスイッチに用いるインターフェース回路及びatmスイッチ、及びipスイッチネットワークシステム |
JP2000305453A (ja) | 1999-04-21 | 2000-11-02 | Nec Corp | 暗号化装置,復号装置,および暗号化・復号装置 |
US6879594B1 (en) | 1999-06-07 | 2005-04-12 | Nortel Networks Limited | System and method for loop avoidance in multi-protocol label switching |
US7274869B1 (en) | 1999-11-29 | 2007-09-25 | Nokia Networks Oy | System and method for providing destination-to-source protection switch setup in optical network topologies |
FI109753B (fi) * | 2000-01-14 | 2002-09-30 | Nokia Corp | Tietoliikennejärjestelmä, jolla on parannettu vikasieto |
EP1388057A4 (en) * | 2001-04-20 | 2009-07-01 | Egenera Inc | VIRTUAL NETWORKING SYSTEM AND PROCESS IN A PROCESSING SYSTEM |
DE10127880A1 (de) | 2001-06-11 | 2002-12-12 | Philips Corp Intellectual Pty | Dynamisches Netzwerk und Routing-Verfahren für ein dynamisches Netzwerk |
US7333487B2 (en) * | 2001-07-16 | 2008-02-19 | International Business Machines Corporation | Methods and apparatus for updating subsource addressing multicast routing records in a communications network |
US7406537B2 (en) | 2002-11-26 | 2008-07-29 | Progress Software Corporation | Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes |
JP2003204332A (ja) | 2002-01-07 | 2003-07-18 | Canon Inc | ネットワークデバイス管理システム及びその制御方法 |
US7162524B2 (en) * | 2002-06-21 | 2007-01-09 | International Business Machines Corporation | Gapless delivery and durable subscriptions in a content-based publish/subscribe system |
US7593320B1 (en) | 2004-04-30 | 2009-09-22 | Marvell International, Ltd. | Failover scheme for stackable network switches |
GB0427798D0 (en) * | 2004-12-18 | 2005-01-19 | Ibm | Publish/subscribe messaging system |
AU2005322833A1 (en) | 2005-01-06 | 2006-07-13 | Tervela, Inc. | A caching engine in a messaging system |
US8064467B2 (en) | 2005-02-04 | 2011-11-22 | Level 3 Communications, Llc | Systems and methods for network routing in a multiple backbone network architecture |
GB0506059D0 (en) * | 2005-03-24 | 2005-05-04 | Ibm | Methods and apparatus for switching between data streams |
US7823170B2 (en) | 2005-08-31 | 2010-10-26 | Sap Ag | Queued asynchronous remote function call dependency management |
KR100694296B1 (ko) | 2005-11-08 | 2007-03-14 | 한국전자통신연구원 | 가상 인터페이스 기반의 2 계층 멀티캐스트 스위칭 및 3계층 멀티캐스트 라우팅 동시 제공 시스템 및 그 방법 |
US9686183B2 (en) * | 2005-12-06 | 2017-06-20 | Zarbaña Digital Fund Llc | Digital object routing based on a service request |
US20070168420A1 (en) * | 2005-12-30 | 2007-07-19 | Morris Robert P | Method and apparatus for providing customized subscription data |
CN101395592A (zh) * | 2006-03-03 | 2009-03-25 | 美国唯美安视国际有限公司 | 基于电影工作室的网络分发系统与方法 |
US7945813B1 (en) * | 2006-12-16 | 2011-05-17 | United Services Automobile Association (Usaa) | Automated delayed message redelivery |
EP2109965B1 (en) | 2007-02-02 | 2015-04-08 | Groupe Des Ecoles Des Telecommunications (GET) Institut National Des Telecommunications (INT) | Autonomic network node system |
US8259720B2 (en) * | 2007-02-02 | 2012-09-04 | Cisco Technology, Inc. | Triple-tier anycast addressing |
CN101682518B (zh) | 2007-06-01 | 2013-01-16 | 北方电讯网络有限公司 | 分布式连接建立和恢复 |
US7769888B2 (en) | 2007-06-15 | 2010-08-03 | Silver Spring Networks, Inc. | Method and system for providing network and routing protocols for utility services |
US20110004913A1 (en) | 2007-07-31 | 2011-01-06 | Symbol Technologies, Inc. | Architecture for seamless enforcement of security policies when roaming across ip subnets in ieee 802.11 wireless networks |
JP4729119B2 (ja) | 2007-10-25 | 2011-07-20 | 富士通株式会社 | ラベルスイッチングネットワークにおける通信装置 |
JP2009224866A (ja) | 2008-03-13 | 2009-10-01 | Nec Corp | スタック構成の障害検出装置、障害検出システム、障害検出方法及びプログラム |
JP2009278261A (ja) * | 2008-05-13 | 2009-11-26 | Toshiba Corp | 情報処理装置および通信制御方法 |
US8121032B2 (en) | 2008-05-30 | 2012-02-21 | Cisco Technology, Inc. | Efficient convergence of grouped VPN prefixes |
US8839387B2 (en) | 2009-01-28 | 2014-09-16 | Headwater Partners I Llc | Roaming services network and overlay networks |
US20100061366A1 (en) * | 2008-09-08 | 2010-03-11 | Verizon Corporate Services Group Inc. | Method and apparatus for link sharing among logical routers |
US8756656B1 (en) * | 2008-09-30 | 2014-06-17 | Symantec Corporation | Systems and methods for creating and synchronizing security metadata within synchronized-data networks |
US8108908B2 (en) * | 2008-10-22 | 2012-01-31 | International Business Machines Corporation | Security methodology to prevent user from compromising throughput in a highly threaded network on a chip processor |
US7856024B1 (en) * | 2008-12-12 | 2010-12-21 | Tellabs San Jose, Inc. | Method and apparatus for integrating routing and bridging functions |
US8166187B2 (en) * | 2009-01-28 | 2012-04-24 | Cisco Technology, Inc. | Distributed IP gateway based on sharing a MAC address and IP address concurrently between a first network switching device and a second network switching device |
US9165154B2 (en) | 2009-02-16 | 2015-10-20 | Microsoft Technology Licensing, Llc | Trusted cloud computing and services framework |
US8171337B2 (en) * | 2009-03-30 | 2012-05-01 | The Boeing Company | Computer architectures using shared storage |
ES2520941T3 (es) * | 2009-05-18 | 2014-11-12 | Amadeus S.A.S. | Método y sistema para gestionar el orden de mensajes |
US20100332401A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites |
US9036504B1 (en) | 2009-12-07 | 2015-05-19 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to associate network addresses with computing nodes |
CN102201964B (zh) * | 2010-03-22 | 2014-02-05 | 杭州华三通信技术有限公司 | 一种实现快速路径切换的方法和装置 |
US9253016B2 (en) * | 2010-11-02 | 2016-02-02 | International Business Machines Corporation | Management of a data network of a computing environment |
CN102137173B (zh) * | 2010-12-27 | 2014-09-03 | 华为技术有限公司 | 路由信息发布方法、设备及虚拟专用网系统 |
JP5812612B2 (ja) | 2011-01-19 | 2015-11-17 | 沖電気工業株式会社 | 通信制御装置及びプログラム、並びに、通信システム |
US8988984B2 (en) * | 2011-02-04 | 2015-03-24 | Cisco Technology, Inc. | Designated forwarder election for VPLS with BGP-based MAC learning |
US8953590B1 (en) * | 2011-03-23 | 2015-02-10 | Juniper Networks, Inc. | Layer two virtual private network having control plane address learning supporting multi-homed customer networks |
US9270572B2 (en) | 2011-05-02 | 2016-02-23 | Brocade Communications Systems Inc. | Layer-3 support in TRILL networks |
US9100213B1 (en) * | 2011-06-08 | 2015-08-04 | Juniper Networks, Inc. | Synchronizing VPLS gateway MAC addresses |
US8060533B1 (en) * | 2011-07-07 | 2011-11-15 | Google Inc. | Panel-based management of data objects from a plurality of data sources |
US8804490B2 (en) | 2011-07-29 | 2014-08-12 | Telefonaktiebolaget L M Ericsson (Publ) | Controller placement for fast failover in the split architecture |
US9330154B2 (en) | 2011-08-22 | 2016-05-03 | Sybase, Inc. | Multicast database replication |
US8717888B2 (en) * | 2011-10-18 | 2014-05-06 | Cisco Technology, Inc. | Optimizations for N-way gateway load balancing in fabric path switching networks |
US9935781B2 (en) | 2012-01-20 | 2018-04-03 | Arris Enterprises Llc | Managing a large network using a single point of configuration |
JP5873597B2 (ja) | 2012-03-27 | 2016-03-01 | アルカテル−ルーセント | 仮想ファブリックリンク障害復旧のためのシステムおよび方法 |
US9071541B2 (en) | 2012-04-25 | 2015-06-30 | Juniper Networks, Inc. | Path weighted equal-cost multipath |
US8755377B2 (en) * | 2012-06-06 | 2014-06-17 | Juniper Networks, Inc. | Facilitating operation of one or more virtual networks |
US9191139B1 (en) * | 2012-06-12 | 2015-11-17 | Google Inc. | Systems and methods for reducing the computational resources for centralized control in a network |
US8989049B2 (en) * | 2012-06-15 | 2015-03-24 | Cisco Technology, Inc. | System and method for virtual portchannel load balancing in a trill network |
US8855117B2 (en) | 2012-08-08 | 2014-10-07 | Cisco Technology, Inc. | Scalable media access control protocol synchronization techniques for fabric extender based emulated switch deployments |
TWI445356B (zh) * | 2012-08-13 | 2014-07-11 | Chunghwa Telecom Co Ltd | 寬頻網路媒體封包最佳傳遞路徑選擇系統 |
US9331940B2 (en) * | 2012-08-28 | 2016-05-03 | Alcatel Lucent | System and method providing distributed virtual routing and switching (DVRS) |
US9008095B2 (en) | 2012-10-02 | 2015-04-14 | Cisco Technology, Inc. | System and method for hardware-based learning of internet protocol addresses in a network environment |
US8948181B2 (en) * | 2012-10-23 | 2015-02-03 | Cisco Technology, Inc. | System and method for optimizing next-hop table space in a dual-homed network environment |
US9055000B1 (en) * | 2012-12-17 | 2015-06-09 | Juniper Networks, Inc. | Distributed network subnet |
US9250954B2 (en) * | 2013-01-17 | 2016-02-02 | Xockets, Inc. | Offload processor modules for connection to system memory, and corresponding methods and systems |
US9594718B2 (en) | 2013-01-24 | 2017-03-14 | Qualcomm Innovation Center, Inc. | Hardware accelerated communications over a chip-to-chip interface |
US9253035B2 (en) | 2013-02-21 | 2016-02-02 | International Business Machines Corporation | Reducing switch state size in flow-based networks |
US9137119B2 (en) | 2013-03-07 | 2015-09-15 | Cisco Technology, Inc. | Efficient handling of multi-destination traffic in an internet protocol fabric data center |
CN104052666B (zh) * | 2013-03-14 | 2018-05-11 | 新华三技术有限公司 | 实现主机路由可达的方法和装置 |
US20140317616A1 (en) * | 2013-04-23 | 2014-10-23 | Thomas P. Chu | Cloud computing resource management |
ITMI20130942A1 (it) * | 2013-06-07 | 2014-12-08 | Ibm | Pianificazione dell'esecuzione di attivita' con risoluzione di dipendenze |
US9118633B2 (en) * | 2013-06-18 | 2015-08-25 | International Business Machines Corporation | Topic protection policy for publish-subscribe messaging system |
US9749231B2 (en) * | 2013-07-02 | 2017-08-29 | Arista Networks, Inc. | Method and system for overlay routing with VXLAN on bare metal servers |
US9282033B2 (en) * | 2013-08-06 | 2016-03-08 | Cisco Technology, Inc. | Intelligent handling of virtual machine mobility in large data center environments |
US9426060B2 (en) | 2013-08-07 | 2016-08-23 | International Business Machines Corporation | Software defined network (SDN) switch clusters having layer-3 distributed router functionality |
US9559951B1 (en) * | 2013-08-29 | 2017-01-31 | Cisco Technology, Inc. | Providing intra-subnet and inter-subnet data center connectivity |
US9330155B1 (en) * | 2013-09-30 | 2016-05-03 | Emc Corporation | Unified management of sync and async replication for block and file objects |
US9686180B2 (en) * | 2013-11-05 | 2017-06-20 | Cisco Technology, Inc. | Managing routing information for tunnel endpoints in overlay networks |
US9544185B1 (en) * | 2013-11-05 | 2017-01-10 | Cisco Technology, Inc. | Hardware based fast convergence for network failures |
US10635644B2 (en) * | 2013-11-11 | 2020-04-28 | Amazon Technologies, Inc. | Partition-based data stream processing framework |
US9503358B2 (en) * | 2013-12-05 | 2016-11-22 | Palo Alto Research Center Incorporated | Distance-based routing in an information-centric network |
US9300528B2 (en) * | 2013-12-13 | 2016-03-29 | International Business Machines Corporation | Trill network with multipath redundancy |
US9288105B2 (en) * | 2013-12-27 | 2016-03-15 | Dell Products L.P. | N-node virtual link trunking (VLT) systems fault management |
US10425294B2 (en) | 2014-01-06 | 2019-09-24 | Cisco Technology, Inc. | Distributed and learning machine-based approach to gathering localized network dynamics |
US9727625B2 (en) * | 2014-01-16 | 2017-08-08 | International Business Machines Corporation | Parallel transaction messages for database replication |
US9558000B2 (en) * | 2014-02-06 | 2017-01-31 | Optimum Semiconductor Technologies, Inc. | Multithreading using an ordered list of hardware contexts |
US9225597B2 (en) | 2014-03-14 | 2015-12-29 | Nicira, Inc. | Managed gateways peering with external router to attract ingress packets |
US9647926B2 (en) * | 2014-03-17 | 2017-05-09 | Telefonaktiebolaget L M Ericsson (Publ) | Procedure to identify multi-homed prefixes for IS-IS LFA |
US9391876B2 (en) * | 2014-03-18 | 2016-07-12 | Telefonaktiebolaget L M Ericsson (Publ) | Better alternate paths for multi homed IS-IS prefixes |
CN106576075B (zh) * | 2014-03-27 | 2021-01-26 | Nicira股份有限公司 | 在网络虚拟化基础设施上操作逻辑网络的方法和系统 |
US9912577B2 (en) * | 2014-04-17 | 2018-03-06 | Cisco Technology, Inc. | Segment routing—egress peer engineering (SP-EPE) |
US9485115B2 (en) | 2014-04-23 | 2016-11-01 | Cisco Technology, Inc. | System and method for enabling conversational learning in a network environment |
US9823864B2 (en) * | 2014-06-02 | 2017-11-21 | Micron Technology, Inc. | Systems and methods for throttling packet transmission in a scalable memory system protocol |
US20150355946A1 (en) * | 2014-06-10 | 2015-12-10 | Dan-Chyi Kang | “Systems of System” and method for Virtualization and Cloud Computing System |
US9237078B1 (en) | 2014-06-26 | 2016-01-12 | Cisco Technology, Inc. | Path validation in segment routing networks |
US9313044B2 (en) * | 2014-07-17 | 2016-04-12 | Cisco Technology, Inc. | Multiple mobility domains with VLAN translation in a multi-tenant network environment |
US9699067B2 (en) | 2014-07-22 | 2017-07-04 | Mellanox Technologies, Ltd. | Dragonfly plus: communication over bipartite node groups connected by a mesh network |
US20160065498A1 (en) | 2014-08-26 | 2016-03-03 | rift.IO, Inc. | Distributed transaction subsystem |
US10826977B2 (en) * | 2014-09-25 | 2020-11-03 | Oracle International Corporation | System and method for supporting asynchronous request/response in a network environment |
US10116493B2 (en) * | 2014-11-21 | 2018-10-30 | Cisco Technology, Inc. | Recovering from virtual port channel peer failure |
US10545987B2 (en) * | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
CN104486124B (zh) * | 2014-12-19 | 2018-09-04 | 盛科网络(苏州)有限公司 | 使用逻辑端口实现多系统链路聚合的装置及方法 |
DE102015100208A1 (de) | 2015-01-09 | 2016-07-14 | Leonhard Kurz Stiftung & Co. Kg | Verfahren zur Herstellung eines Verbundartikels sowie ein Verbundartikel |
US10079779B2 (en) * | 2015-01-30 | 2018-09-18 | Nicira, Inc. | Implementing logical router uplinks |
US10491546B2 (en) * | 2015-02-25 | 2019-11-26 | At&T Intellectual Property I, L.P. | Provider edge router system and provider edge router system controller for hybrid virtualization of provider edge router functions |
US10116464B2 (en) * | 2015-03-18 | 2018-10-30 | Juniper Networks, Inc. | EVPN inter-subnet multicast forwarding |
US10142171B2 (en) | 2015-04-01 | 2018-11-27 | Nokia Of America Corporation | Selective configuration of packet engine for cable service flows |
JP6453154B2 (ja) | 2015-04-30 | 2019-01-16 | 日本電信電話株式会社 | ネットワーク管理システム及びネットワーク管理方法 |
US9787575B2 (en) * | 2015-05-28 | 2017-10-10 | Arista Networks, Inc. | Method and system for programming equal-cost multi-path routes on network devices |
US10210115B2 (en) * | 2015-06-02 | 2019-02-19 | Box, Inc. | System for handling event messages for file collaboration |
US10572509B2 (en) * | 2015-07-27 | 2020-02-25 | Cisco Technology, Inc. | Scalable spine nodes with partial replication of routing information in a network environment |
CN105007224B (zh) * | 2015-07-28 | 2018-06-15 | 清华大学 | 一种sdn网络和ip网络互联通信系统、通信方法 |
US10009277B2 (en) | 2015-08-04 | 2018-06-26 | Mellanox Technologies Tlv Ltd. | Backward congestion notification in layer-3 networks |
US9781037B2 (en) * | 2015-09-15 | 2017-10-03 | Cisco Technology, Inc. | Method and apparatus for advanced statistics collection |
US10505802B2 (en) * | 2015-11-02 | 2019-12-10 | Cisco Technology, Inc. | Adaptive subscriber-driven resource allocation for push-based monitoring |
CN105553849B (zh) * | 2015-11-26 | 2019-05-17 | 北京邮电大学 | 一种传统ip网络与sptn网络互通方法与系统 |
US9813286B2 (en) * | 2015-11-26 | 2017-11-07 | Industrial Technology Research Institute | Method for virtual local area network fail-over management, system therefor and apparatus therewith |
US9985867B2 (en) * | 2015-12-11 | 2018-05-29 | Cisco Technology, Inc. | Optimizing EVPN for data centers with redundant top-of-rack deployments |
US10237163B2 (en) * | 2015-12-30 | 2019-03-19 | Juniper Networks, Inc. | Static route advertisement |
US10397108B2 (en) * | 2016-01-25 | 2019-08-27 | Futurewei Technologies, Inc. | Service function chaining across multiple subnetworks |
US20170222943A1 (en) | 2016-01-29 | 2017-08-03 | Mediatek Inc. | Method and apparatus for reordering |
US10187290B2 (en) * | 2016-03-24 | 2019-01-22 | Juniper Networks, Inc. | Method, system, and apparatus for preventing tromboning in inter-subnet traffic within data center architectures |
US10454766B2 (en) * | 2016-04-21 | 2019-10-22 | Super Micro Computer, Inc. | Automatic configuration of a network switch in a multi-chassis link aggregation group |
US20170315882A1 (en) * | 2016-04-29 | 2017-11-02 | Netapp, Inc. | Protected write-back cache transaction replication |
US10454877B2 (en) * | 2016-04-29 | 2019-10-22 | Cisco Technology, Inc. | Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks |
CN107347032B (zh) * | 2016-05-05 | 2019-09-10 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
US10756945B2 (en) | 2016-05-11 | 2020-08-25 | Cisco Technology, Inc. | Virtualized network management protocols |
US9838314B1 (en) * | 2016-05-16 | 2017-12-05 | Cisco Technology, Inc. | Contextual service mobility in an enterprise fabric network environment |
US10785299B2 (en) * | 2016-06-08 | 2020-09-22 | Nutanix, Inc. | Generating cloud-hosted storage objects from observed data access patterns |
US10645631B2 (en) * | 2016-06-09 | 2020-05-05 | Qualcomm Incorporated | Device detection in mixed static and mobile device networks |
US20170373973A1 (en) * | 2016-06-27 | 2017-12-28 | Juniper Networks, Inc. | Signaling ip address mobility in ethernet virtual private networks |
US10686626B2 (en) | 2016-07-08 | 2020-06-16 | Intel Corporation | Intelligent gateway configuration for internet-of-things networks |
US10291434B2 (en) * | 2016-07-26 | 2019-05-14 | Avago Technologies International Sales Pte. Limited | Multi-destination packet forwarding for a multi-homed device in a virtual network |
US10153988B2 (en) * | 2016-08-10 | 2018-12-11 | Arista Networks, Inc. | Load balancing on multi-chip network switch without full bi-section bandwidth |
JP6514158B2 (ja) | 2016-08-22 | 2019-05-15 | 日本電信電話株式会社 | 経路伝搬システム、および、経路伝搬方法 |
US10419340B2 (en) * | 2016-08-29 | 2019-09-17 | Vmware, Inc. | Stateful connection optimization over stretched networks using specific prefix routes |
CN107800625B (zh) * | 2016-08-30 | 2020-07-07 | 新华三技术有限公司 | 一种报文转发方法及装置 |
US10454758B2 (en) * | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
BR112019003128A2 (pt) * | 2016-09-15 | 2019-05-21 | Nuts Holdings, Llc | trânsito e armazenamento de dados de usuário criptografados |
US10552429B2 (en) | 2016-11-02 | 2020-02-04 | Microsoft Technology Licensing, Llc | Discovery of data assets using metadata |
CN108075969B (zh) | 2016-11-17 | 2020-01-03 | 新华三技术有限公司 | 报文转发方法和装置 |
US10491698B2 (en) | 2016-12-08 | 2019-11-26 | International Business Machines Corporation | Dynamic distribution of persistent data |
US10044605B2 (en) * | 2016-12-23 | 2018-08-07 | Juniper Networks, Inc. | Apparatus, system, and method for distributing routing-protocol information in clos fabrics |
CN110050474A (zh) | 2016-12-30 | 2019-07-23 | 英特尔公司 | 用于物联网网络中的复合对象的子对象的类型命名和区块链 |
US11284300B2 (en) * | 2016-12-30 | 2022-03-22 | Comcast Cable Communications, Llc | Efficiently managing network traffic |
CN106878065B (zh) * | 2017-01-18 | 2021-06-11 | 新华三技术有限公司 | 一种分布式聚合系统的配置方法及装置 |
US10397097B2 (en) | 2017-01-18 | 2019-08-27 | Futurewei Technologies, Inc. | Weighted next hop selection at a router using an equal cost multipath process |
CN106878166B (zh) * | 2017-01-22 | 2020-04-03 | 新华三技术有限公司 | 路由通告方法及装置 |
US10966070B2 (en) * | 2017-01-30 | 2021-03-30 | Veniam, Inc. | Systems and methods for managing data with heterogeneous multi-paths and multi-networks in an internet of moving things |
US10334055B2 (en) | 2017-02-01 | 2019-06-25 | International Business Machines Corporation | Communication layer with dynamic multi-session management |
US10200274B1 (en) * | 2017-02-17 | 2019-02-05 | Juniper Networks, Inc. | Enhanced traffic flow in software-defined networking controller-based architecture |
US10333836B2 (en) * | 2017-04-13 | 2019-06-25 | Cisco Technology, Inc. | Convergence for EVPN multi-homed networks |
US10530873B1 (en) * | 2017-04-28 | 2020-01-07 | Cisco Technology, Inc. | Techniques for optimizing EVPN-IRB for IPv6-enabled data centers with top-of-rack deployments |
US10659352B2 (en) | 2017-05-31 | 2020-05-19 | Juniper Networks, Inc. | Signaling private context forwarding tables for a private forwarding layer |
US10931530B1 (en) | 2017-06-26 | 2021-02-23 | Amazon Technologies, Inc. | Managing routing resources of a network |
US11074300B1 (en) | 2017-07-03 | 2021-07-27 | Palantir Technologies Inc. | Techniques for visualizing dependencies in a data analytics system |
CN107547402B (zh) * | 2017-07-19 | 2020-04-03 | 新华三技术有限公司 | 一种转发表生成方法和装置 |
US10452726B2 (en) * | 2017-09-07 | 2019-10-22 | Futurewei Technologies, Inc. | In-network semantic mashup for an information-centric networking (ICN) network |
US10644931B2 (en) * | 2017-09-15 | 2020-05-05 | Walmart Apollo, Llc | Event ordering framework in distributed asynchronous systems |
US10721651B2 (en) | 2017-09-29 | 2020-07-21 | Arista Networks, Inc. | Method and system for steering bidirectional network traffic to a same service device |
US10382346B2 (en) | 2017-10-24 | 2019-08-13 | Cisco Technology, Inc. | Method and device for offloading processing of data flows |
US10652308B2 (en) * | 2017-11-08 | 2020-05-12 | International Business Machines Corporation | Cognitive storage management for a mobile computing device |
US10469921B2 (en) | 2017-11-10 | 2019-11-05 | Juniper Networks, Inc. | Data center packet optical transport failure protection |
US10831670B2 (en) * | 2017-11-22 | 2020-11-10 | Blackberry Limited | Method and system for low latency data management |
CN108173902A (zh) * | 2017-11-29 | 2018-06-15 | 清华大学 | 数据传输、发布及订阅方法和装置 |
US20190182202A1 (en) * | 2017-12-12 | 2019-06-13 | Nokia Solutions And Networks Oy | System and method for route optimization in a multichasiss link aggregation configuration |
US10880112B2 (en) * | 2017-12-31 | 2020-12-29 | Arista Networks, Inc. | Multicast traffic in a virtual extensible local area network (VXLAN) |
US20190207844A1 (en) * | 2018-01-03 | 2019-07-04 | Hewlett Packard Enterprise Development Lp | Determining routing decisions in a software-defined wide area network |
US10785145B2 (en) | 2018-02-19 | 2020-09-22 | Arista Networks, Inc. | System and method of flow aware resilient ECMP |
US10608921B2 (en) * | 2018-04-19 | 2020-03-31 | Cisco Technology, Inc. | Routing in fat tree networks using negative disaggregation advertisements |
US11258853B2 (en) * | 2018-05-04 | 2022-02-22 | EMC IP Holding Company, LLC | Storage management system and method |
US10574566B2 (en) * | 2018-05-25 | 2020-02-25 | Juniper Networks, Inc. | Reducing or eliminating routing microloops in networks having a CLOS topology, such as data center CLOS networks employing the exterior border gateway protocol (EBGP) for example |
US10826823B2 (en) | 2018-07-31 | 2020-11-03 | Facebook, Inc. | Centralized label-based software defined network |
-
2019
- 2019-08-22 TW TW112127202A patent/TW202344019A/zh unknown
- 2019-08-22 TW TW108130069A patent/TWI813744B/zh active
- 2019-08-22 TW TW108130065A patent/TWI813743B/zh active
- 2019-08-22 TW TW108130067A patent/TWI803687B/zh active
- 2019-08-22 TW TW108130068A patent/TWI819072B/zh active
- 2019-08-22 TW TW108130064A patent/TWI813742B/zh active
- 2019-08-22 TW TW108130070A patent/TWI821373B/zh active
- 2019-08-22 TW TW112138138A patent/TW202404318A/zh unknown
- 2019-08-23 WO PCT/US2019/047970 patent/WO2020041742A1/en unknown
- 2019-08-23 EP EP19851479.6A patent/EP3841709A4/en active Pending
- 2019-08-23 CN CN201980054500.4A patent/CN112840606B/zh active Active
- 2019-08-23 US US16/549,731 patent/US11206208B2/en active Active
- 2019-08-23 WO PCT/US2019/047844 patent/WO2020041666A1/en unknown
- 2019-08-23 CA CA3109950A patent/CA3109950A1/en active Pending
- 2019-08-23 US US16/549,752 patent/US11134006B2/en active Active
- 2019-08-23 CA CA3109941A patent/CA3109941A1/en active Pending
- 2019-08-23 CN CN201980054510.8A patent/CN112840604B/zh active Active
- 2019-08-23 CA CA3109935A patent/CA3109935A1/en active Pending
- 2019-08-23 CA CA3109946A patent/CA3109946A1/en active Pending
- 2019-08-23 CA CA3109923A patent/CA3109923A1/en active Pending
- 2019-08-23 CN CN201980054509.5A patent/CN112840322A/zh active Pending
- 2019-08-23 EP EP19853164.2A patent/EP3841733A4/en active Pending
- 2019-08-23 WO PCT/US2019/047873 patent/WO2020041681A1/en unknown
- 2019-08-23 JP JP2021533404A patent/JP7461355B2/ja active Active
- 2019-08-23 JP JP2021533401A patent/JP7427672B2/ja active Active
- 2019-08-23 KR KR1020217008635A patent/KR20210059727A/ko active Search and Examination
- 2019-08-23 US US16/549,315 patent/US11140070B2/en active Active
- 2019-08-23 KR KR1020217008454A patent/KR20210060483A/ko unknown
- 2019-08-23 EP EP19852798.8A patent/EP3841487A4/en active Pending
- 2019-08-23 KR KR1020217008634A patent/KR20210063343A/ko active Search and Examination
- 2019-08-23 JP JP2021533403A patent/JP7465878B2/ja active Active
- 2019-08-23 JP JP2021533397A patent/JP7448537B2/ja active Active
- 2019-08-23 CA CA3109948A patent/CA3109948A1/en active Pending
- 2019-08-23 CN CN202410093783.6A patent/CN117914767A/zh active Pending
- 2019-08-23 CN CN201980054740.4A patent/CN112840625B/zh active Active
- 2019-08-23 CA CA3109939A patent/CA3109939A1/en active Pending
- 2019-08-23 EP EP19852187.4A patent/EP3841483A4/en active Pending
- 2019-08-23 WO PCT/US2019/047948 patent/WO2020041729A1/en unknown
- 2019-08-23 EP EP19852313.6A patent/EP3841471A4/en active Pending
- 2019-08-23 JP JP2021533396A patent/JP7461354B2/ja active Active
- 2019-08-23 EP EP19851627.0A patent/EP3841711A4/en active Pending
- 2019-08-23 KR KR1020217008637A patent/KR20210064217A/ko active Search and Examination
- 2019-08-23 CN CN201980054521.6A patent/CN112840333B/zh active Active
- 2019-08-23 US US16/549,852 patent/US20200067812A1/en active Pending
- 2019-08-23 CN CN201980054483.4A patent/CN112840332A/zh active Pending
- 2019-08-23 US US16/549,215 patent/US11221893B2/en active Active
- 2019-08-23 CN CN201980054518.4A patent/CN112840605B/zh active Active
- 2019-08-23 US US16/549,439 patent/US11212215B2/en active Active
- 2019-08-23 KR KR1020217008456A patent/KR20210059724A/ko unknown
- 2019-08-23 JP JP2021533406A patent/JP7475349B2/ja active Active
- 2019-08-23 JP JP2021533395A patent/JP7427671B2/ja active Active
- 2019-08-23 KR KR1020217008636A patent/KR20210059728A/ko unknown
- 2019-08-23 WO PCT/US2019/047857 patent/WO2020041674A1/en unknown
- 2019-08-23 US US16/549,369 patent/US11868824B2/en active Active
- 2019-08-23 WO PCT/US2019/047946 patent/WO2020041727A1/en unknown
- 2019-08-23 WO PCT/US2019/047902 patent/WO2020041699A1/en unknown
- 2019-08-23 KR KR1020217008455A patent/KR20210060484A/ko unknown
- 2019-08-23 EP EP19852312.8A patent/EP3841485A4/en active Pending
-
2021
- 2021-08-27 US US17/459,505 patent/US20210390000A1/en not_active Abandoned
- 2021-09-08 US US17/469,609 patent/US11693716B2/en active Active
- 2021-11-16 US US17/527,890 patent/US11675637B2/en active Active
- 2021-11-18 US US17/530,163 patent/US11972306B2/en active Active
- 2021-12-01 US US17/539,893 patent/US11861419B2/en active Active
-
2023
- 2023-04-05 US US18/296,149 patent/US11941460B2/en active Active
- 2023-05-23 US US18/322,340 patent/US20230367658A1/en active Pending
- 2023-11-21 US US18/516,173 patent/US20240086263A1/en active Pending
- 2023-11-29 US US18/523,295 patent/US20240152410A1/en active Pending
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2279845A1 (en) * | 1996-11-18 | 1998-05-28 | Mci Worldcom, Inc. | A communication system architecture |
GB9828683D0 (en) * | 1998-12-24 | 1999-02-17 | Ibm | Publish & subscribe data processing with distribution agents configured to support certain streams |
WO2001016668A2 (en) * | 1999-08-31 | 2001-03-08 | Accenture Llp | A system, method and article of manufacture for a refreshable proxy pool in a communication environment |
US6434568B1 (en) * | 1999-08-31 | 2002-08-13 | Accenture Llp | Information services patterns in a netcentric environment |
US6681232B1 (en) * | 2000-06-07 | 2004-01-20 | Yipes Enterprise Services, Inc. | Operations and provisioning systems for service level management in an extended-area data communications network |
US20030014483A1 (en) * | 2001-04-13 | 2003-01-16 | Stevenson Daniel C. | Dynamic networked content distribution |
WO2005060157A1 (en) * | 2003-12-19 | 2005-06-30 | Solace Systems, Inc. | Implicit routing in content based networks |
WO2007079303A2 (en) * | 2005-12-29 | 2007-07-12 | Amazon Technologies, Inc. | Method and apparatus for a distributed file storage and indexing service |
US9652483B1 (en) * | 2007-03-30 | 2017-05-16 | Google Inc. | Index server architecture using tiered and sharded phrase posting lists |
CN101960426A (zh) * | 2008-01-02 | 2011-01-26 | 桑迪士克以色列有限公司 | 具有直接用户访问的存储装置 |
US20100125574A1 (en) * | 2008-11-20 | 2010-05-20 | Sap Ag | Stream sharing for event data within an enterprise network |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
US20170109369A1 (en) * | 2012-03-13 | 2017-04-20 | Yahoo! Inc. | Publish-subscribe platform for cloud file distribution |
US20140081685A1 (en) * | 2012-09-17 | 2014-03-20 | Salesforce.com. inc. | Computer implemented methods and apparatus for universal task management |
CN103984694A (zh) * | 2013-02-12 | 2014-08-13 | 三星泰科威株式会社 | 用于在数据分发服务中管理数据库的系统和方法 |
WO2014144796A1 (en) * | 2013-03-15 | 2014-09-18 | Salesforce.Com, Inc. | Systems and methods for interacting with records via a publisher and an information feed |
US20140330732A1 (en) * | 2013-05-03 | 2014-11-06 | Salesforce.Com, Inc. | Providing access to a private resource in an enterprise social networking system |
US20150019480A1 (en) * | 2013-07-11 | 2015-01-15 | Salesforce.Com, Inc. | Systems and methods for interacting with external content objects |
CN105556502A (zh) * | 2013-09-17 | 2016-05-04 | 亚马逊技术有限公司 | 电子邮件网络客户端通知排队 |
CN105683929A (zh) * | 2013-11-08 | 2016-06-15 | 华为技术有限公司 | 用于数据库和存储器感知路由器的方法和设备 |
US20160246869A1 (en) * | 2015-02-24 | 2016-08-25 | Salesforce.Com, Inc. | Interest groups based on network feed items |
US20170374180A1 (en) * | 2016-06-22 | 2017-12-28 | RtBrick Inc. | Method to build a modular distributed network device using microservices architecture |
US20180069791A1 (en) * | 2016-09-08 | 2018-03-08 | Futurewei Technologies, Inc. | USER ORIENTED IoT DATA DISCOVERY AND RETRIEVAL IN ICN NETWORKS |
US20180167476A1 (en) * | 2016-12-12 | 2018-06-14 | Sap Se | Meta broker for publish-subscribe-based messaging |
Non-Patent Citations (4)
Title |
---|
T. ZHONG, K. A. DOSHI, X. TANG, T. LOU, Z. LU AND H. LI: "On mixing high-speed updates and in-memory queries: A big-data architecture for real-time analytics", 《2013 IEEE INTERNATIONAL CONFERENCE ON BIG DATA》 * |
Z. LIAO, R. ZHANG, S. HE, D. ZENG, J. WANG AND H. -J. KIM: "Deep Learning-Based Data Storage for Low Latency in Data Center Networks", 《IEEE ACCESS》 * |
宋二凤: "基于MB、MQ的订阅发布的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
汪锦岭: "面向Internet的发布/订阅系统的关键技术研究", 《中国博士学位论文全文数据库》 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868824B2 (en) | Single node and multiple node datastore architecture in a network routing environment | |
USRE49943E1 (en) | System and method for a context layer switch | |
EP2323346B1 (en) | Adaptive multi-interface use for content networking | |
CN109644160B (zh) | 通过分类在icn中进行名称解析和制作者选择的混合方法 | |
TWI839379B (zh) | 在網路路由環境中的單節點和多節點資料儲存空間架構 | |
CN114521323A (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 |