TWI813742B - 在網路路由環境中的非同步物件管理機制 - Google Patents

在網路路由環境中的非同步物件管理機制 Download PDF

Info

Publication number
TWI813742B
TWI813742B TW108130064A TW108130064A TWI813742B TW I813742 B TWI813742 B TW I813742B TW 108130064 A TW108130064 A TW 108130064A TW 108130064 A TW108130064 A TW 108130064A TW I813742 B TWI813742 B TW I813742B
Authority
TW
Taiwan
Prior art keywords
objects
asynchronous object
object manager
dependencies
asynchronous
Prior art date
Application number
TW108130064A
Other languages
English (en)
Other versions
TW202026896A (zh
Inventor
納林納許 派
卡揚尼 拉賈拉曼
維克朗 瑞谷庫瑪
Original Assignee
美商阿爾克斯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商阿爾克斯股份有限公司 filed Critical 美商阿爾克斯股份有限公司
Publication of TW202026896A publication Critical patent/TW202026896A/zh
Application granted granted Critical
Publication of TWI813742B publication Critical patent/TWI813742B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • H04L12/2879Access multiplexer, e.g. DSLAM characterised by the network type on the uplink side, i.e. towards the service provider network
    • H04L12/2881IP/Ethernet DSLAM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L2012/4629LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing 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)
  • 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)
  • Inspection Of Paper Currency And Valuable Securities (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用以卸載網路資料至資料儲存空間(datastore)的系統、方法以及設備。系統包含路由晶片硬體以及與該路由晶片硬體通訊的非同步物件管理者。非同步物件管理者被配置用以執行儲存於非暫時性(non-transitory)電腦可讀取媒體中的指令。指令包含以非同步方式接收自一個或者多個產生者的複數個物件。指令也可包含從複數個物件的兩個或者多個物件中識別出一個或者多個依存關係。指令也包含依據所述一個或者多個依存關係重新排序所述的複數個物件。指令也包含確認所述的一個或者多個依存關係是否已解決。指令也包含回呼應用程式並且提供所述複數個物件中的一個或者多個物件給該應用程式,藉以針對所述的一個或者多個依存關係是否已解決進行回應。

Description

在網路路由環境中的非同步物件管理機制
本申請案涉及運算網路(computing networks)的技術,特別是涉及在網路環境中解決資訊修復衝突(information recovery conflicts)的技術方案。
網路運算(Network computing)是一種透過網路藉由多台電腦或者節點一起協同工作及彼此溝通協調的方法。目前存在有所謂的廣域網路以及區域網路的型態。兩者都允許電腦彼此間的內部相互連接。區域網路通常用於像是家中、公司、學校等等較小、較為區域化的網路。廣域網路則涵蓋像是城市較大區域甚至可以允許分屬於不同國家的電腦彼此連接。區域網路一般會比廣域網路來得快速且安全,但廣域網路可以提供廣泛的連接。區域網路通常會由負責佈署的組織來擁有、負責控制及管理,而廣域網路則通常需要兩個或更多的組成的區域網路透過公眾的Internet或者電信供應商所建立的專屬連接來進行連接。
區域和廣域網路允許電腦之間彼此連接以及傳送資料和其他資訊。兩者之間,必須要有一種方法來決定一條路徑好讓資料可以從一台運算個體(compute instance)快速傳送至另一台運算個體。這就是所謂的路由(routing)。路由就是為一個網路或者兩個或者多個網路之間的流量選擇一條路徑的過程。此路由選擇過程通常是藉由維護有可通往不同網路目的地之路由表中的路由紀錄來直接轉發,路由表可以由管理者來指定,或者透過觀察網路流量來學習,或者藉由路由協定的協助來建立。
部分網路路由操作包含傳送由不同產生者所產生的資訊物件(information objects)。這些物件可能會需要以特定的順序來傳送,如此負責接收的應用程式才能適當的處理這些物件。然而,當有多個不同的產生者時,要能夠用正確的順序來傳送這些物件就是個挑戰。具體的說,在分散式網路作業系統(distributed network operating system, NOS)中,轉發資訊物件就是由多個產生者所產生的。這些轉發物件往往是相互關聯,而程序流程上應該要考量到這些依存關係。這些物件應該以有序的方式被協調的以程式化程序放入基礎的資料平台中。一種傳統的方式就是讓不同產生者彼此同步,然後將這些物件推入正確的序列以經過多個不同的產生者。這種方式存在有許多缺陷。這種方式導致緊密約束了跨程序間狀態同步的問題,也容易創造出一個太過緊密結合的分散式網路作業系統。太過緊密的同步會產生許多問題,尤其當網路作業系統是分散跨越不同機器或者當網路作業系統的元件是在雲端網路環境中***作的時候。
有鑑於前述內容,在此揭露可用於改善網路運算相關操作以及可用於在網路環境中提供非同步物件管理者接收和紀錄資訊物件的系統、方法和設備。
本發明揭露一種系統,包含:路由晶片硬體;以及非同步物件管理者,與路由晶片硬體進行通訊,並且被配置用以執行儲存於非暫時性電腦可讀取儲存媒體中的複數個指令,所述複數個指令包含:非同步的接收來自一個或者多個產生者的複數個物件;對所述複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別;依據所述一個或者多個依存關係來重新排序所述的複數個物件;確認是否解決所述的一個或者多個依存關係;以及回呼應用程式並且將所述複數個物件中的一個或者多個提供給應用程式,作為對所述確認是否解決所述的一個或者多個依存關係的部分進行回應。
本發明更揭露一個或者多個處理器,可以配置用以執行儲存於非暫時性電腦可讀取儲存媒體中的複數個指令,所述複數個指令包含:非同步的接收來自一個或者多個產生者的複數個物件;對所述複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別;依據所述一個或者多個依存關係來重新排序所述的複數個物件;確認是否解決所述的一個或者多個依存關係;以及回呼應用程式並且將所述複數個物件中的一個或者多個提供給應用程式,作為對所述確認是否解決所述的一個或者多個依存關係的部分進行回應。
本發明同時揭露一種在一網路環境中卸載資料儲存的方法,該方法包含以下步驟:非同步的接收來自一個或者多個產生者的複數個物件;對所述複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別;依據所述一個或者多個依存關係來重新排序所述的複數個物件;確認是否解決所述的一個或者多個依存關係;以及回呼應用程式並且將所述複數個物件中的一個或者多個提供給應用程式,作為對所述確認是否解決所述的一個或者多個依存關係的部分進行回應。
本申請案主張2018年8月23日所提交申請之美國臨時專利申請案第62/722,003號專利名稱為“資料庫系統、方法及設備”的國際優先權,其整體內容將被引用至本文,包含但不限於後文中所具體指出的部分,被引用的部分將包含以下例外情況:即當前述被引用申請案中的任何內容有出現與本申請案不一致的情況時,將以本申請案的內容取代前述被引用申請案的內容。
以下所揭露的,是用以改善在網路運算環境中資訊路由的系統、方法和設備。揭露中的一個實施例是有一非同步物件管理者(asynchronous object manager)被設置用以追蹤不同控制計畫資訊的生命週期。此非同步物件管理者可以被佈署於網路路由環境並且可以被包含在用以對網路設備(例如:交換器或者路由器)進行控制操作的軟體堆疊中。
在一個電腦網路環境中,例如像是交換器或者路由器的網路設備可能被用來從一個目的地傳送資訊到一個最終目的地。在一個實施例中,一個資料封包和一個訊息可能是在第一個位置(例如:一台在使用者家中的電腦)被產生。這個資料封包和訊息可以是透過與網路瀏覽器溝通並且向可透過Internet進行存取的遠端伺服器請求資訊或由遠端伺服器提供資訊的使用者來產生。在一個例子中,這個資料封包和訊息可以是該使用者對連結至Internet的網頁上可存取之表格所輸入的資訊。這個資料封包和訊息可能是需要被傳送至在地理位置上距離該使用者電腦非常遙遠的遠端伺服器。在使用者家中的路由器和遠端伺服器之間非常有可能無法直接的進行溝通。因此,這個資料封包和訊息必須透過“跳躍”(hopping)至不同網路設備的方式直到抵達遠端伺服器的最終目的地。該使用者家中的路由器就必須決定一條路徑(route)用來透過多個不同連接到Internet的設備來傳送這個資料封包和訊息直到抵達遠端伺服器的最終目的地。
如何決定從第一個位置到一個最終目的地之最佳路徑並且轉發資料封包和訊息至下一個目的地的程序,是一個像是交換器和路由器的網路設備所執行的最重要功能。以下所揭露的,就是用以改善在網路運算環境中資訊路由的系統、方法和設備。揭露的其中一個實施例是被包含在執行於交換器或是路由器的路由晶片硬體中的軟體堆疊中。軟體堆疊中的一部份就是接下來所討論的非同步物件管理者。非同步物件管理者在網路路由環境中帶來許多的優點。首先,由於是透過非同步物件管理者所執行的操作,訊息的產生者不再需要彼此對話就可以傳送由非同步物件管理者所組織而成的訊息。再者,非同步物件管理者提供方法用以描述不同物件之間的關係(relationships)與依存關係(dependencies)。再者,在非同步物件管理者中有一個狀態機(state machine)可以允許在發送命令(order)給軟體堆疊中的不同部分時等待所有需要的物件都抵達。
在一個實施例中,非同步物件管理者是軟體並且負責管理像是交換器或是路由器之網路設備的路由晶片硬體。值得注意的是,非同步物件管理者可以不用更改軟體語言就可以被用於路由器或者交換器中。在一個實施例中,結合其他軟體堆疊的非同步物件管理者可以被用於將交換器轉為路由器,反之亦然。
非同步物件管理者經由電腦網路收集資訊並且以可以被路由晶片硬體程式化的形式來消化這些資訊。非同步物件管理者使得路由晶片硬體的封包轉發功能被執行。非同步物件管理者是執行於網路設備中軟體堆疊的最底層。非同步物件管理者負責與底層的路由晶片硬體溝通以及與應用程式介面(application program interfaces,APIs)溝通。
非同步物件管理者可以與資料配階層(data plan adaptation layer, DPAL)一起結合運作。DPAL可能有多個客戶端並且可能需要等待來自不同客戶端的不同資訊片段。除非所有的物件都被安排好有特定的順序,否則DPAL將無法執行其功能。在一個實施例中,非同步物件管理者最主要的任務是將所有物件重新排序以便讓DPAL可以處理。非同步物件管理者可以被用於DPAL的範圍之外並且可以被以類似虛擬私人網路軟體(VPN software)的方式應用來在網路頂端的第三層(layer3 network)建構分層的網段,以及用於其他。
在一個實施例中,非同步物件管理者是一個狀態機。此時非同步物件管理者被設計用以在預先定義參數的條件內建立某些狀態。非同步物件管理者可以被配置用以重新安排攜有程式化資訊的訊息而非管理資訊封包。在一個例子中,非同步物件管理者被配置用以告知底層的路由晶片硬體,例如:間期A(interphase A)必須被轉換至間期B(interphase B),以及類似等等。
在一個實施例中,非同步物件管理者與DPAL通訊並且提供DPAL可以將訊息從第一個位置傳送至最終目的地的路徑。在一個例子中,DPAL可以從多個通訊管道(communication channels)來接收訊息。DPAL可向非同步物件管理者查詢並且要求給予一個傳送訊息的路徑。非同步物件管理者產生路徑,紀錄路徑,並且將該路徑提供給DPAL。非同步物件管理者獨特之處在於其描述了不同物件之間的關係。建立於非同步物件管理者內的狀態機可以允許非同步物件管理者在發出路徑給DPAL之前等待所有物件都抵達,或者可以允許對任何物件進行改變。非同步物件管理者消除了物件產生者彼此通訊的需求。
為了能更進一步了解相關揭露內容,將針對諸多的網路運算設備和協定提供說明解釋。
BGP實體(BGP instance)是指在網路中用以路由資訊的設備。BGP實體可以採路由反射裝置(route reflector appliance)的形式存在。BGP實體可以執行於交換器、路由器或是交換器上的BGP通話者(BGP speakers)。在高階時,BGP實體將所有為了前置(prefix)所學習的路徑傳送給最佳路徑控制者。最佳路徑控制者則從這些路徑中回應一組最佳路徑。最佳路徑控制者被允許可以修改路徑中任何的“下一跳躍”(next-hop)以及屬性。一旦最佳路徑被接收到,BGP實體將會更新本地端的路由資訊表(Routing Information Base, RIB)並且向其周邊的鄰居通告該最佳路徑。
交換器,可以選擇性的視為是一台建立網路的交換集線器、橋接集線器或是MAC(Media Access Control)橋接器。大部分內部網路都使用交換器在建築物或者校園內連接電腦、印表機、電話、相機、電燈以及伺服器。交換器提供如同控制者的服務用以讓網路設備彼此間可以進行有效率的溝通。交換器透過封包交換用以接收、處理以及轉發資料給目的地設備來將電腦網路上的設備連接起來。一台網路交換器就如同一台多埠的網路橋接器,使用硬體位址在開放式通訊系統互連參考模型(Open Systems Interconnection model)的資料連結層(第二層)中處理和轉發資料。有些交換器可以透過額外附加的路由功能而在網路層(第三層)中處理資料。這些交換器就是一般所熟知的第三層交換器(layer-3 switches)或是多層交換器(multilayer switches)。
路由器連接網路。交換器和路由器執行類似的功能,但各自在網路中有不同獨特的功能。路由器是用於在電腦網路中轉發資料封包的網路設備。路由器在Internet上執行流量導向的功能。透過Internet傳送的資料,例如:網頁、電子郵件或是其他形式的資訊,都是以資料封包的形式進行傳送的。封包通常是透過建構為互聯網絡的網路(例如:Internet)的一個路由器傳送至另一個路由器直到封包抵達目的地節點。路由器通常連接來自於不同網路的兩條或者更多的數據線(data lines)。當一個資料封包從其中一條數據線來時,路由器會讀取封包中的網路位址資訊來決定其最終的目的地。然後,使用路由器中的路由表或者路由策略(routing policy)的資訊,由路由器將封包導向其旅程中的下一個網路。BGP通話者就是一種可支援邊界閘道通訊協定(Border Gateway Protocol)的路由器。
路由表或者路由資訊表是儲存在路由器或者網路中電腦的資料表,列出到特別網路目的地的路由(routes)。在某些例子中,路由表包含路由的指標(metrics)像是:距離、權重以及其他等等。路由表中包含有路由器中所儲存其周圍網路拓樸的資訊。路由表的建構則是路由協定最主要的目標。靜態路由(Static routes)是透過非自動方式建立於路由表中的項目並且是固定的而非是根據某些網路拓樸發現程序所獲得的結果。路由表可以包含至少三個資訊欄位,包括:網路ID欄位、指標以及下一個跳點(next hop)。網路ID是目的地子網域(the destination subnet)。指標是透過將要被傳送的封包所取得的路徑(path)的路由指標。路由將會向具有最低指標的閘道方向前進。下一個跳點是將要被傳送的封包在前往最終目的地路途中的下一站的位址。路由表可能更包含路由服務的品質、與路由相關之過濾條件列表的鏈結、乙太網路卡介面以及其他等等。
為了達到描述路由表觀念的目的,路由表將被模擬為傳遞單一封包的圖表(map)。路由表與使用圖表來傳遞單一封包至其最終目的地相當類似。當一個節點需要在網路上傳送資料給另一個節點,此節點就必須先知道要將資料傳送到哪裡。如果此節點無法直接與目的地的節點連接,此節點就必須沿著抵達目的地節點之正確路徑上的其他節點傳送資料。大部分的節點不需要嘗試去找出有那些路由是有效的。取而代之的,一個節點會傳送一個IP封包給區域網路中的閘道,然後就可以決定如何找到將資料傳送到正確目的地的路由。每個閘道將會需要去持續追蹤傳送資料的不同封包所走的路徑,為此閘道使用路由表。路由表是個持續追蹤路徑的資料庫,像是一個圖表(map),並且使用這些路徑來決定透過哪條路徑來轉發流量。閘道也可以將路由表中的內容分享給來請求這些資訊的其他節點。
對於逐跳式(hop-by-hop)的路由,每一個路由表對於所有可以抵達的目的地都會列出沿著通往目的地之路徑的下一個設備的位址,例如:下一個跳點。假設所有路由表都是一致的,則將封包中繼(relaying)至其目的地的下一個跳點的演算法將足以傳送資料到網路中的任何地方。逐跳式的方式是IP互聯網絡層與開放式通訊系統互連參考模型的特徵之一。
開放式通訊系統互連參考模型是一個概念式模型,其不需要考慮運算系統(computing system)底層內部結構和技術就可以將其通訊功能特徵化和標準化。開放式通訊系統互連參考模型的目標是各種通訊系統之間可以基於標準通訊協定具有互通性(interoperability)。開放式通訊系統互連參考模型將一個通訊系統區分為多個抽象層(abstraction layers)。每一層都為上一層提供服務,本身則接收來自下一層的服務。例如:在網路中提供無錯通訊(error-free communications)的某一層負責提供上一層應用程式所需的路徑,當該層呼叫其更低階的下一層傳送和接收構成那條路徑之內容的封包時。在相同層的兩個實體(instances)被以可視化方式呈現如同在該層中兩者透過水平連線加以連接。通訊協定則允許一個在某一主機的個體可以與相同層中另一主機的相關個體進行互動。服務的定義,例如:OSI模型,抽象的來說就是描述透過(N-1)層提供(N)層的功能,其中N就是在本地主機中***作之協定中的一層。
路由控制是一種網路管理,目的在於改進Internet的連接以及減少頻寬成本以及整體互聯網絡的操作。部分路由控制服務是包括一套的硬體加軟體的產品和服務,其可以共同運作來提升整體Internet的效能和微調(finetune)在最少成本下使用可得到的Internet頻寬。當網路或者自治系統(autonomous system)是從多個提供者找到Internet頻寬,那麼路由控制就會成功。路由控制可以協助挑選到資料傳送的最佳路徑。
部分網路通訊系統規模很大,屬於企業等級的網路具有數千個處理節點(processing nodes)。這數千個處理節點自多個Internet服務提供者(Internet Service Providers, ISPs)分享頻寬並且能夠處理重要的Internet流量。這樣的系統非常複雜並且必須被適當的設置能夠達到可接受的Internet效能。如果系統無法被適當配置來進行最佳的資料傳送,Internet的存取速度將降低,而系統將遭遇到高度頻寬損耗和流量。為了解決這個問題,一系列的服務被用來移除或者減少這些問題點。這一系列的服務就是所謂的路由控制。
一種路由控制機制的實施例是由硬體和軟體所組成的。此路由控制機制透過與Internet服務提供者的連接監控所有傳出的流量。此路由控制機制協助挑選最佳的路徑來進行有效率的資料傳送。此路由控制機制可以計算所有網路服務提供者的效能和效率並且選出在所應用的領域中具有最佳表現的Internet服務提供者。路由控制設備可以依據成本、效能和頻寬等定義好的參數來被加以配置。
一種習知用以決定最佳資料傳送路徑的演算法被稱為邊界閘道通訊協定(BGP)。BGP是一種提供Internet上自治系統路由資訊的路徑-向量協定(path-vector protocol)。當BGP被配置不正確,就可能導致中斷可用性和安全性的問題。再者,修改過的BGP路由資訊將允許攻擊者將大量的流量在抵達原本預定的目的地前轉而朝向某些特定的路由器去。BGP最佳路徑演算法可以被實現用來決定最佳的路徑並且建置在IP路由表(Internet Protocol routing table)中用於流量轉發。BGP路由器可以被配置用以接收抵達相同目的地的多條路徑。
BGP最佳路徑演算法會先指定一條第一合法路徑作為目前的最佳路徑。BGP最佳路徑演算法再將此最佳路徑與列表中的下一條路徑相比較直到完成列表中所有合法路徑的比較。列表中提供了用來決定最佳路徑的規則。例如:列表中可能包括標示著具有最高權重的首選路徑、不具有本地偏好的首選路徑、經由網路或者整合BGP在本地起源的首選路徑、最短首選路徑、具有最低多出口鑑別屬性(multi-exit discriminator)首選路徑以及等等首選路徑的指標。BGP最佳路徑的挑選過程是可以被客製化的。
從BGP路由的前後文(context)來看,每一個路由領域(routing domain)都被稱為一個自治系統(autonomous system ,AS)。BGP透過Internet協助選擇一條路由來連接兩個路由領域。BGP通常會選擇經過最少自治系統的路徑,稱之為最短AS路徑。在一個實施例中,一旦BGP運作時,路由器將會從BGP的鄰居(可能是ISPs)提取Internet路由列表。BGP接著將會檢查路由列表來找出最短AS路徑。這些路由可能被輸入路由器的路由表中。一般來說,路由器將選擇到AS的最短路徑。BGP則使用路徑屬性(path attributes)來決定如何將流量路由到特定網路。
為了促進對所揭露內容之原理的理解,參考編號(reference)將自現在起被使用於圖式所描述的實施例中並且也將使用特定的語言來進行描述。需理解的是,並沒有限定揭露範圍的意圖。只要是熟悉相關技術領域並且能夠掌握本揭露內容的人士,有任何對於這裡所描述之發明特徵的選擇或者進一步修改,以及有任何對於這裡所描述之揭露原理的額外應用,都應該被視為是在本揭露所保護主張的範圍內。
在追蹤網路運算環境中物件生命週期的結構、系統和方法被揭露與描述之前,應當理解本揭露並非限定於揭露中的特定結構、組態、處理步驟以及材料,因為這些結構、組態、處理步驟以及材料可以有所變化。並且應當理解,這裡所採用的用語(terminology)只是為了描述特定實施例而且並非意圖限制,因為本揭露的範圍將只被限於所附的專利範圍和其對等(equivalents)範圍。
在描述和主張本揭露之標的(subject matter)時,接下來的術語將根據以下的定義被使用。
需注意的是,當在說明書和所附專利範圍的使用時,除非前後文有另外清楚規定否則單數形式的“一”(a)、“一”(an)以及“該”(the)涵蓋複數指稱對象。
如使用到,“包含”(comprising)、“包含”(including)、“包含”(containing)、“其特徵在於”(characterized by)以及在文法上對等的詞彙,表示包含性(inclusive)或者開放式詞彙且不排除額外、未引用的元件或者方法步驟。
如使用到,“由…組成”(consisting of)以及在文法上對等的詞組,表示排除在專利範圍中沒有明確指定的任何元件或者步驟。
如使用到,“基本上由…組成”(consisting essentially of)以及在文法上對等的詞組,表示將專利範圍的範圍限制在指定的材料或者步驟以及那些不會實質上影響到所主張保護之揭露內容之基本以及新穎特徵的材料或者步驟。
現在請參考圖式,「第1圖」說明用以連接設備至Internet的系統100。系統100包含透過交換器106連接的多個區域網路160。區域網路160中的每一個都可以透過路由器162經由公眾Internet彼此連接。在「第1圖」中所說明的範例系統100,有兩個區域網路160。然而,應當理解可能會有許多區域網路160透過公眾Internet彼此連接。每個區域網路160包含透過交換器106彼此連接的多個運算設備108。運算設備108可以包含,例如是:桌上型電腦、筆記型電腦、印表機、伺服器以及等等。區域網路160可以透過路由器162經由公眾Internet與其他網路進行通訊。路由器162將多個網路彼此連接。路由器162連接至Internet服務提供者102。Internet服務提供者102更連接到一個或者多個網路服務提供者104。網路服務提供者104如「第1圖」中所示與其他本地網路服務提供者104相互通訊。
交換器106透過封包交換的方式來接收、處理和轉發資料至目的地設備藉以連接區域網路160中的設備。交換器106可以被配置為,例如:自電腦接收準備要提供給印表機的資料。交換器106可以接收資料、處理資料並且傳送資料給印表機。交換器106可以是第一層的交換器(layer-1 switch)、第二層的交換器(layer-2 switch)、 第三層的交換器(layer-3 switch)、第層的交換器(layer-4 switch) 、第七層的交換器(layer-7 switch)以及等等。第一層的網路設備僅負責傳送資料但不負責管理任何經過的流量。第一層網路設備的例子像是:乙太網路集線器(Ethernet hub)。第二層的網路設備是在資料連結層(第二層)使用硬體位址來處理和轉發資料的多埠設備。第三層的交換器可以執行部分或者全部一般路由器的功能。然而,某些網路交換器僅被限制支援單一型態的實體網路,通常是乙太網路,而路由器則可能在不同的埠上可以支援多種的實體網路型態。
路由器162是用以在電腦網路之間轉發資料封包的網路設備。如「第1圖」所示範的系統100,其中路由器162用於在區域網路160之間轉發資料封包。然而,路由器162未必被應用於區域網路160之間的資料封包轉發,而可能被用於在廣域網路之間轉發資料封包以及等等。路由器162在Internet上執行流量導向的功能。路由器162可以具有不同型態實體層連接的介面(interfaces),例如:銅纜線、光纖或者無線傳輸。路由器162可以支援不同網路層傳輸標準。每一個網路介面被用以使資料封包得以被從一個傳輸系統轉發至另一個傳輸系統。路由器162可以被用於連接兩個或者多個電腦設備的邏輯群組(logical groups),即所謂的子網域,每一個子網域都有不同的網路前置(network prefix)。路由器162在企業中可以提供連結性,在企業與Internet之間,或在如「第1圖」所示的Internet服務提供者的網路。某些路由器162被配置用以互聯不同的Internet服務提供者或者用於大企業網路。較小的路由器162一般是提供家庭或者辦公室網路與Internet之間的連結性。如「第1圖」所示的路由器162可以表示任何適合網路傳輸的路由器,例如是:邊界路由器(edge router)、用戶邊界路由器(subscriber edge router)、提供者間的邊界路由器(inter-provider border router)、核心路由器(core router),或是Internet骨幹、埠轉發、語音/資料/傳真/視訊處理路由器以及等等。
Internet服務提供者(ISP)102是提供存取、使用或者參與Internet服務的組織。ISP102可能具有不同形式的組織型態,例如是:商業型、社區擁有型、非營利型或者私有型。ISP102所提供的Internet服務包含:Internet存取、Internet中轉(Internet transit)、網域名稱註冊、虛擬主機(web hosting)、分佈式互聯網交流系統服務(Usenet service)以及代管服務(colocation)。「第1圖」所示的ISP 102可以表示任何適合的ISP,例如是:託管ISP(hosting ISPs)、中轉ISP(transit ISPs)、虛擬ISP、免費ISP、無線ISP以及等等。
網路服務提供者(NSP) 104是透過直接提供對Internet骨幹存取給Internet服務提供者藉以提供頻寬或網路存取的組織。NSP104可以提供對網路存取點(network access points, NAPs)的存取。NSP 104有時被視為是骨幹提供者或Internet提供者。NSP 104可以包含電信公司(telecommunication companies)、資料載體業者(data carriers)、無線通訊提供者、Internet服務提供者以及提供高速Internet存取的有線電視營運商。NSP 104也可以包含訊息技術公司(information technology companies)。
應當理解的是「第1圖」所示的系統100只是個範例,並且實際上可以有不同的組態設置以及系統可以被創建用以在網路和運算設備之間傳送資料。因為在網路形成過程中有許多客製化能力的內容,因此有需要在如何於電腦間或者網路間決定傳送資料之最佳路徑的部份創造更大的客製化能力。鑒於如上所述,本揭露主要是提出可以將最佳路徑運算卸載至外部設備,以至於產生非常適合特定電腦群組或是特定企業可以在決定最佳路徑演算法上具有更大的客製化能力的系統、方法和設備。
「第2圖」是包含有A、B以及C三種類型物件之物件結構200於一種所揭露之非同步物件管理者管理環境下的示意圖。A、B以及C三種類型之物件實體(object instances)分別以鍵值(keys)作為識別。物件類型A以鍵值A1表示。物件類型B則以鍵值B1以及B2表示。物件類型C則以鍵值C1以及C2表示。箭頭表示物件之間的依存關係。具有鍵值A1的物件類型A依賴於具有鍵值B1以及B2的兩個物件類型B。具有鍵值B1的物件類型B則依賴於具有鍵值C1的物件類型C。具有鍵值B2的物件類型B則依賴於具有鍵值C2的物件類型C。
在一個實施例子中,假設物件類型A以及物件類型B是由一個產生者所產生,而物件類型C則是由另一個產生者所產生。這些物件的資訊可以依照C然後B然後A的順序被程式化(programmed)至資料計畫(data plan)中。然而,因為產生者非同步的推送這些物件,以至於這些物件可能會不依照順序抵達。
所揭露的非同步物件管理者可以用來解決上述實施範例中所描述的順序需求(ordering requirement)。在一個實施例中,不論物件是以何種順序被接收到都會被增加到非同步物件管理者中。非同步物件管理者會偵測一個被給予之物件的依存關係是否被解決了。為了決定依存關係是否被解決了,非同步物件管理者會回呼(calls back)應用程式所提供的回調功能(callback)並且傳送物件以及其應用程式狀態以執行進一步動作。
在實施範例中,物件抵達的實際序列順序為B(B1)、A(A1)、B(B2)、C(C1)以及C(C2)。如「第3圖」所示。非同步物件管理者重新排序這個序列(sequence)並且以適當的順序啟動應用程式的回調功能。在不同的實施中物件可能會有不同的順序。在一個例子中物件的順序是:C(C1)、C(C2)、B(B1)、B(B2)、A(A1)。如「第4圖」所示。同樣的,來自產生者的刪除序列(deletion sequence)可能是:C(C1)、C(C2)、B(B1)、B(B2)、A(A1)。非同步物件管理者會將刪除序列重新排序為:A(A1)、B(B1)、B(B2)、C(C1)、C(C2)。如「第5圖」所示。
在非同步物件管理者的系統空間中可以依據識別物件的唯一鍵值(unique key)來定義其依存關係。依存關係可以指明(indicate)子物件所採用之父物件的鍵值。舉例來說,一個路由物件可能具有一個“nexthopID”的欄位並且欄位中的“nexthopID”就是NextHop物件的鍵值。當一個路由物件被加入至非同步物件管理者時,一個依存關係列表(dependency list)就會加入“nexthopID”。這就可以做為路由物件依賴NextHop物件的唯一識別。
「第6圖」是透過BGP實體610來協助通訊的示意圖。在一個實施例中,BGP實體610在本地端有一個資料儲存空間(datastore)602用於儲存系統的相關資訊。資料儲存空間602可能是儲存有一個或者多個路由器或者交換器之最佳路徑資訊的資料庫。資料儲存空間602可能儲存更多系統狀態資訊,例如是:CPU使用率、溫度、風扇速度,以及周邊設備的狀態資訊,例如:LED或者其他設備。資料儲存空間602可能儲存各種對於監控代理(monitoring agent)有用的資訊。資料儲存空間602的資訊可以流出(streamed out)給其他想要這些資訊的控制器或者設備。資料儲存空間602可能包含一份資料庫索引以及包含多個資料庫主機。每一個資料庫主機都包含一個處理器以及快取記憶體。在「第6圖」的示範實施例中,資料儲存空間602包含資料庫主機1、資料庫主機2、資料庫主機3以及等等一直到資料庫主機N。
資料儲存空間602與產生者604、產生者消費者606以及消費者608進行通訊。產生者604是一個產生消費者606消費之資訊的過程。轉發資訊表(forwarding information base, FIB)710產生路由和下一個跳點。FIB710所產生的下一個跳點與介面管理者(interface manager)所產生的介面具有依存關係。
「第7圖」是網路設備702的示意圖。網路設備702可以是交換器106或者路由器112。網路設備702包含一個或者多個硬體704、非同步物件管理者706、資料計畫配階層(DPAL)708、轉發資訊表(FIB)710、路由資訊表(RIB)712、組態代理714以及邊界閘道通訊協定(BGP)716。應當可以理解的是網路設備702可以包含沒有在此描述到的額外元件。
網路設備702的軟體部分可以被包含於「第4圖」所示的軟體堆疊414中。軟體堆疊414與硬體一起工作執行對網路設備702的操作,例如:交換器或者路由器。在一個實施例中,網路設備702的軟體部分並非位於本地的BGP實體610內而是在被卸載(offloaded)至雲端儲存空間。軟體堆疊414可以被卸載到雲端儲存空間並且複製於本地的網路設備702上。
在一個實施例中,非同步物件管理者706提供一個或者多個應用程式介面(APIs)用以追蹤不同控制計畫資訊(如同「第2圖」至「第5圖」中所示的物件)。非同步物件管理者706更進一步追蹤物件之間的依存關係。非同步物件管理者706位於最底層用以協助來自不同產生者非同步外流下來的序列(sequence)以及順序(order)資訊。
在一個實施例中,非同步物件管理者706實現了一個狀態機用以重新排序物件。在一個實施例中,如果來自不同產生者的物件沒有依照需求的順序抵達,狀態機會阻止依賴物件(dependent objects)創建或者更新,直到其父物件被創建為止。同樣地,狀態機會阻止物件刪除直到其依賴物件被更新或者刪除。非同步物件管理者706使用類似於圖形的資料結構來組織物件,並且可以遞迴地(recursively)對在依存關係圖形中上或者下的物件之創建、更新以及/或者刪除激起漣漪(ripple)般的效果。請見「第2圖」至「第5圖」。
非同步物件管理者706包含具有描述性語言(declarative language)的框架。描述性語言表達了不同類型物件之間的依存關係。描述性語言可以被用於定義不同物件類型的基模(schemas)。更進一步,描述性語言可以與構成物件鍵值的屬性以及其他用以識別物件依存關係的屬性一起被使用。在一個實施例中,在基模被定義後,代碼生成者(code generator)可以執行用以產生不同物件的代碼。產生的代碼涵蓋用以建構代表物件、增加或者刪除物件的APIs、自動生成用以提取鍵值以及依賴鍵值之代碼或者物件狀態觀察APIs的一種或者多種程式語言。
更進一步在一個實施例中,非同步物件管理者706的框架使得透過在資料層(data plane)程式化過程允許多執行緒(threads)實現在最底層的多執行緒架構變為可行的。工作分配(work distribution)可以透過許多不同方法來完成。其中一種方法包含使得每個執行緒對一個或者多個資料層設備(一般是ASIC晶片)的資料層程式化的注意管理。這個方法很簡單,因為來自產生者的工作會均勻分配於一個或者多個工作者執行緒(worker threads)。再者,每個工作者執行緒都具有非同步物件管理者706框架的實體用以掌握來自產生者的資訊以及用以替被指派的設備進行程式化(program)。
另一個方法包含使得每一個執行緒替相同設備上所選的一組資料層表(data plane tables)執行程式化。這個方法包含更多並且需要將工作者執行緒映射(mapping)到一個或者多個特徵物件(feature objects)。分配者執行緒(distributor thread)負責將特徵物件分配至對應的工作者執行緒中。在此,物件之間的關係可能是跨執行緒的。非同步物件管理者706可能需要擴展能力(extended capabilities)用以追蹤跨執行緒的物件依存關係。同步是透過執行緒之間訊息傳遞來達成的。非同步物件管理者706能夠確保物件只能夠被刪除一次並且在其他執行緒中沒有依賴被刪除物件的其他物件。
轉發資訊表(FIB)710可以替代的被視為是轉發表(forwarding table)。FIB710被配置用以識別那些輸入介面應該轉發物件的正確輸出網路介面。FIB710是一個動態表用以映射MAC位址至各埠(ports)。
路由資訊表(RIB)712可以替代的被視為是路由表(routing table)。RIB是儲存在網路設備702中的資料表用以列出到特別網路目的地的路由,以及在某些例子用以列出與路由相關的指標(距離)。RIB712包含網路設備702周圍網路拓樸的資訊。路由表的建構是如同BGP 716這種路由協定的主要目標。
「第8圖」是設備810之節點804與儲存於雲端網路828之控制器邏輯812間通訊的系統800示意圖。控制器邏輯812包含用以操作非同步物件管理者706的邏輯。設備810可以是所述的交換器106或者是路由器162。節點804包含一個組態代理806以及一個監控/遙測代理808。設備810包含一個資料儲存空間802。資料儲存空間802可以被儲存於本地的節點804,也可以被儲存於設備810並且可以被多個節點存取,也可以被卸載至雲端儲存或者可以被儲存於外部供多個設備802存取。組態代理806接收控制器邏輯812形式的指令。控制器邏輯812被儲存於雲端網路中基於雲端的儲存並且可以透過網路被設備810存取。組態代理806提供指令給監控/遙測代理808。監控/遙測代理808自資料儲存空間802接收資訊。資料儲存空間802包含來自多個應用程式的資訊,例如如圖中所示的:應用程式1、應用程式2一直到應用程式N。
「第9圖」是一個多節點資料儲存空間的架構900示意圖。範例中的架構900如圖所示包含兩個分散的區塊:節點1以及結點N。應當理解的是,在配合揭露中不同實施例以及實現時可能會有任意數量的節點。節點1包含一個複製者代理(duplicator agent)910與提供節點N之重複者代理(replicator agent)904通訊的內部織網(internal fabric)926進行通訊。節點1的組態代理906與包含資料儲存空間902之控制器邏輯912的雲端928網路進行通訊。每一個節點都包含一份複製的資料儲存空間902。資料儲存空間902的資訊可以被多個應用程式例如:應用程式1、應用程式2一直到應用程式N所存取以及使用。節點N的監控/遙測代理908與資料儲存空間902以及雲端928網路進行通訊。節點1的組態代理906可以與節點N的監控/遙測代理908透過雲端928網路進行通訊。
「第10圖」是非同步接收與重新排序要傳送給網路設備之資料的方法1000示意方塊圖。方法1000可以由一個本文所述的非同步物件管理者706或者任何適合的運算設備來執行。
方法1000開始是由一個運算設備非同步的接收來自一個或者多個產生者的複數個物件(步驟1002)。這些物件可以包含,例如是:路由、下一個跳點、等價多路徑群組(equal-cost multipath groups)、介面、存取控制清單(Access Control List, ACL)、ACEs、服務品質類別(QoS classes)、子介面、虛擬區域網路以及等等。方法1000接著由運算設備對複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別(步驟1004)。方法1000接著由運算設備依據所述一個或者多個依存關係來重新排序所述的複數個物件(步驟1006)。方法1000接著由運算設備確認是否解決所述的一個或者多個依存關係(步驟1008)。方法1000包含回呼一個應用程式並且將複數個物件中的一個或者多個提供給該應用程式,作為對確認所述的一個或者多個依存關係已經解決的回應(步驟1010)。
「第11圖」是改善網路設備操作之方法1100的示意方塊圖。方法1100可以由一個本文所述的非同步物件管理者706或者任何適合的運算設備來執行。
方法1100開始由一個運算設備儲存網路設備已知之複數個路由的狀態(步驟1102)。方法1100包含接收第一路由屬於離線的指標(步驟1104)。方法1100接著由運算設備識別出與該第一路由相關的第一間期鏈結(interphase link)(步驟1106)。方法1100接著由運算設備識別出與該第一路由相關的一個替代間期鏈結(步驟1108)。此識別可以經由執行用以決定兩個位置(locations)之間最佳路徑的BGP演算法來執行。方法1100接著由運算設備(步驟1110)提供指標給網路設備的路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非第一間期鏈結(步驟1110)。
請參考「第12圖」,是描述作為範例之運算設備1200的方塊圖。運算設備1200可以被用來執行不同程序,例如在揭露中所討論的。在一個實施例,運算設備1200具有執行非同步物件管理者功能的作用並且可以執行一個或者多個應用程式。運算設備1200可以是非常多樣之運算設備中的任何一種,例如是:桌上型電腦、內嵌式電腦(in-dash computer)、車輛控制系統(vehicle control system)、筆記型電腦、伺服器電腦、掌上型電腦、平板電腦以及等等。
運算設備1200包含全部耦接(coupled to)至匯流排1212的一個或者多個處理器1202、一個或多個記憶體設備1204、一個或者多個介面1206、一個或多個大量儲存設備(mass storage device)1208、一個或者多個輸入/輸出設備1210以及一個顯示設備1230。處理器1202包含一個或者多個處理器或者控制器用以執行儲存在記憶體設備1204以及/或者大量儲存設備1208中的指令。處理器1202可能包含各種不同類型的電腦可讀取媒體,例如是:快取記憶體。
記憶體設備1204包含不同的電腦可讀取媒體,例如是:揮發性記憶體(如:隨機存取記憶體1214)以及/或者非揮發性記憶體(如:唯讀記憶體1216)。記憶體設備1204也可以包含可重複錄寫唯讀記憶體(rewritable ROM),例如:快閃記憶體。
大量儲存設備1208包含各種不同的電腦可讀取媒體,例如:磁帶、磁條、光碟、固態記憶體(如:快閃記憶體)以及等等。如「第12圖」中所示,較特別的大量儲存設備是一個硬碟1224。各種不同的驅動器(drives)可以被包含於大量儲存設備1208藉以能夠自不同電腦可讀取媒體讀取以及/或者寫至不同電腦可讀取媒體。大量儲存設備1208包含可移除媒體(removable media)1226以及/或者非可移除媒體(non-removable media)。
輸入/輸出設備1210包含可以允許資料以及/或者其他資訊被輸入至運算設備1200或者輸出自運算設備1200的各種不同設備。範例中的輸入/輸出設備1210包含游標控制設備、鍵盤、小鍵盤(keypads)、麥克風、螢幕或者其他顯示設備、喇叭、印表機、網路介面卡、數據機以及等等。
顯示設備1230包含可以顯示資訊給運算設備1200之一個或者多個使用者的任何類型設備。範例中的顯示設備1230包含螢幕、顯示終端、視訊投影設備(video projection device)以及等等。
介面1206包含允許運算設備1200與其他系統、設備或者運算環境互動的各種不同介面。範例中的介面1206可以包含任意數量的不同網路介面1220,例如連接區域網路、廣域網路、無線網路以及Internet的介面。其他介面包含使用者介面1218以及周邊設備介面1222。介面1206可以包含一個或者多個使用者介面元件1218。介面1206可以包含一個或者多個周邊介面,例如是給印表機、指向設備(滑鼠、觸控板或其他熟悉該項技術領域者目前已知或者之後發現的任何適合使用者介面)、鍵盤以及等等所使用的介面。
匯流排1212可以允許處理器1202、記憶體設備1204、介面1206、大量儲存設備1208以及輸入/輸出設備1210彼此進行通訊以及與匯流排1212耦接的其他設備或者元件相互通訊。匯流排1212代表幾種匯流排結構中的一種或者多種,例如:系統匯流排、PCI匯流排、IEEE匯流排、USB匯流排以及等等。
為了說明的目的,程式以及其他可執行程式元件會以個別的區塊來表示,雖然可以理解的是這些程式或者元件可能在不同時間點會存在(reside)於運算設備1200的不同儲存元件中並且被處理器1202執行。可以選擇的是,本揭露所述的系統和程序可以用硬體,或者硬體、軟體以及/或者韌體組合的方式來實現。例如:一個或者多個特殊應用積體電路(application specific integrated circuits, ASIC)可以被程式化用以執行本揭露中所述的一個或者多個系統以及程序。
基於說明和描述的目的已經給出了前面的陳述內容。但並非意圖想要將本揭露窮舉或者限制於所揭露的精確形式中。透過以上的教示,許多的更改和變化是可能的。再者,應該可以知道的是任何或者所有前面所提及的可選擇實現方式都可以透過任何組合方式被用於需要形成本揭露其他額外混合實現方式。
再者,雖然揭露中描述以及說明到特定的實現方式,但並非用以限制於所述的特定形式或者部件的安排。本揭露的範圍要視所附之專利範圍來加以定義,如果可能的話應涵蓋任何未來提交於此或者不同申請案的專利範圍以及其對等範圍。
範例,以下的例子涉及到其他更多實施例。
例子1是一個系統。系統包含路由晶片硬體以及與該路由晶片硬體通訊的非同步物件管理者。非同步物件管理者被配置用以執行儲存於非暫時性(non-transitory)電腦可讀取媒體中的指令。指令包含以非同步方式接收自一個或者多個產生者的複數個物件。指令也可包含從複數個物件的兩個或者多個物件中識別出一個或者多個依存關係。指令也包含依據所述一個或者多個依存關係重新排序所述的複數個物件。指令也包含確認所述的一個或者多個依存關係是否已解決。指令也包含回呼應用程式並且提供所述複數個物件中的一個或者多個物件給該應用程式,藉以針對所述的一個或者多個依存關係是否已解決進行回應。
例子2是如同例子1的系統,其中非同步物件部分(asynchronous object matter)更包含一個狀態機。
例子3是例子1-2中的任何一個系統,其中非同步物件部分是在軟體堆疊的最底層用以對網路設備進行管理操作。
例子4是例子1-3中的任何一個系統,其中一個或者多個產生者包含應用程式、程序、執行緒或者功能函數中的一個或者多個。
例子5是例子1-4中的任何一個系統,其中指令更包含提供訊息給路由晶片硬體用以指示第一路由需要透過第一間期鏈結來處理。
例子6是例子1-5中的任何一個系統,更包含與非同步物件管理者以及路由晶片硬體進行通訊的資料計畫配階層,其中非同步物件管理者的指令更包含從DPAL接收一個訊息用以建立一個可以將訊息由第一個位置傳送至最終目的地的路由;產生訊息所需的路由;以及提供所述路由給DPAL。
例子7是例子1-6中的任何一個系統,其中指令更包含儲存非同步物件管理者已知的複數個路由的狀態;接收第一條路由屬於離線的指標;識別出與該第一條路由相關的第一間期鏈結;識別出與該第一路由相關的一個替代間期鏈結;提供指標給網路設備的路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非第一間期鏈結。
例子8是例子1-7中的任何一個系統,其中非同步物件管理者提供第一產生者一種可以提供訊息給非同步物件管理者的方法,藉以取代直接向下一個跳點的第二產生者提供訊息。
例子9是例子1-8中的任何一個系統,其中非同步物件管理者是相容於交換器或者路由器上的操作。
例子10是例子1-9中的任何一個系統,其中指令更包含從所述一個或者多個產生者處接收複數個物件的刪除序列(deletion sequence);以及依據所述一個或者多個依存關係來重新排序該刪除序列。
例子11是配置用以執行儲存於非暫時性電腦可讀取儲存媒體之指令的一個或者多個處理器。指令包含非同步的自一個或者多個產生者接收複數個物件。指令包含對複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別。指令包含依據所述一個或者多個依存關係來重新排序所述的複數個物件。指令包含確認是否解決所述的一個或者多個依存關係。指令包含回呼一個應用程式並且將複數個物件中的一個或者多個提供給該應用程式,作為對確認所述的一個或者多個依存關係已經解決的回應。
例子12是例子11中的一個或者多個處理器,其中指令更包含提供訊息給路由晶片硬體用以指示第一路由需要透過第一間期鏈結來處理。
例子13是例子11-12中任一的一個或者多個處理器,其中指令更包含儲存非同步物件管理者已知的複數個路由的狀態;接收第一條路由屬於離線的指標;識別出與該第一條路由相關的第一間期鏈結;識別出與該第一路由相關的一個替代間期鏈結;提供指標給網路設備的路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非第一間期鏈結。
例子14是例子11-13中任一的一個或者多個處理器,其中指令更包含提供第一產生者一種可以提供訊息給非同步物件管理者的方法,藉以取代直接向下一個跳點的第二產生者提供訊息。
例子15是例子11-14中任一的一個或者多個處理器,其中用於一個或者多個處理器之指令是相容於交換器或者路由器上的操作。
例子16是一個方法,該方法包含以非同步方式接收自一個或者多個產生者的複數個物件。該方法包含從複數個物件的兩個或者多個物件中識別出一個或者多個依存關係。該方法包含依據所述一個或者多個依存關係重新排序所述的複數個物件。該方法包含確認所述的一個或者多個依存關係是否已解決。該方法包含回呼應用程式並且提供所述複數個物件中的一個或者多個物件給該應用程式,藉以針對所述的一個或者多個依存關係是否已解決進行回應。
例子17是例子16中的一種方法,更包含提供訊息給路由晶片硬體用以指示第一路由需要透過第一間期鏈結來處理。
例子18是例子16-17中的任何一種方法,其中非同步物件管理部分更包含一個狀態機並且是在軟體堆疊的最底層用以對網路設備進行管理操作。
例子19是例子16-18中的任何一種方法,更包含儲存非同步物件管理者已知的複數個路由的狀態;接收第一條路由屬於離線的指標;識別出與該第一條路由相關的第一間期鏈結;識別出與該第一路由相關的一個替代間期鏈結;提供指標給網路設備的路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非第一間期鏈結。
例子20是例子16-19中的任何一種方法,更包含從所述一個或者多個產生者處接收複數個物件的刪除序列(deletion sequence);以及依據所述一個或者多個依存關係來重新排序該刪除序列。
應當理解的是,前述的安排、例子以及實施例的任何特徵都可以被組合於包含從任何揭露之安排、例子以及實施例中所擷取之組合特徵的單一實施例中。
可以理解的是本揭露中所述的各種不同特徵都對相關的領域提供了顯著的優點和進步。以下的專利範圍是那些特徵中的部分示範。
在前面揭露中的詳細說明,為了簡化揭露內容會將揭露中不同的特徵組合在單一個實施例中說明。這樣的揭露方法不應被解釋為是為了要反映出一種意圖,就是所主張保護的揭露內容是比每一個專利範圍中所明確提及的需要更多特徵的意圖。相反的,發明進步的部分就在於少於前述單一揭露實施例中的所有特徵。
應當理解的是前述的安排只是基於對申請案揭露原則的說明。許多修改以及選擇性安排都可以被熟悉相關技術領域的人士在不脫離揭露的精神和範圍下來進行設計,並且所附專利範圍應當涵蓋這些修改和安排。
因此,雖然揭露已經透過圖式表示並且透過以上特殊和詳細的描述,對於相關技術領域人士來說可以顯而易見的是,在不脫離所述的原則和闡述的觀念下,是可以進行許多的修改,包括但不限於尺寸、材料、形狀、形式、功能以及操作、組裝和使用方式上的變化。 和本文闡述的概念。
再者,在適當情況下,本揭露所描述的功能可以由以下的一個或者多個來執行:硬體、軟體、韌體、數位元件或者類比元件。例如:一個或者多個特殊應用積體電路或者現場可程式化邏輯閘陣列(field programmable gate arrays, FPGA)可以被程式化用以執行本揭露中所述的一個或者多個系統以及程序。某些用語被使用於全文描述以及以下的專利範圍,用以表示特定系統元件。熟悉相關技術領域人士應當理解,元件可以使用不同的名稱來指稱。本文並非意圖在具有相同功能而使用不同名稱的元件中作區別。
基於說明和描述的目的已經給出了前面的陳述內容。但並非意圖想要將本揭露窮舉或者限制於所揭露的精確形式中。透過以上的教示,許多的更改和變化是可能的。再者,應該可以知道的是任何或者所有前面所提及的可選擇實現方式都可以透過任何組合方式被用於需要形成本揭露其他額外混合實現方式。
再者,雖然揭露中描述以及說明到特定的實現方式,但並非用以限制於所述的特定形式或者部件的安排。本揭露的範圍要視所附之專利範圍來加以定義,如果可能的話應涵蓋任何未來提交於此或者不同申請案的專利範圍以及其對等範圍。
100:系統 102:Internet服務提供者 104:網路服務提供者 106:交換器 108:運算設備 110:區域網路 160:區域網路 162:路由器 200:物件結構 414:軟體堆疊 610:BGP實體 602:資料儲存空間 604:產生者 606:產生者消費者 608:消費者 702:網路設備 704:硬體 706:非同步物件管理者 708:資料計畫配階層 710:轉發資訊表 712:路由資訊表 714:組態代理 716:邊界閘道通訊協定 800:系統 802:資料儲存空間 804:節點 806:組態代理 808:監控/遙測代理 810:設備 812:控制器邏輯 828:雲端網路 900:架構 902:資料儲存空間 904:重複者代理 906:組態代理 908:監控/遙測代理 910:複製者代理 912:控制器邏輯 926:內部織網 928:雲端網路 1000:方法 1100:方法 1200:運算設備 1202:處理器 1204:記憶體設備 1206:介面 1208:大量儲存設備 1210:輸入/輸出設備 1212:匯流排 1214:隨機存取記憶體 1216:唯讀記憶體 1218:使用者介面 1220:網路介面 1222:周邊設備介面 1224:硬碟 1226:可移除媒體 1230:顯示設備 步驟1002:非同步的接收來自一個或者多個產生者的複數個物件 步驟1004:對複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別 步驟1006:依據所述一個或者多個依存關係來重新排序所述的複數個物件 步驟1008:確認是否解決所述的一個或者多個依存關係 步驟1010:回呼一個應用程式並且將複數個物件中的一個或者多個提供給該應用程式,作為對確認所述的一個或者多個依存關係已經解決的回應 步驟1102:儲存網路設備已知之複數個路由的狀態 步驟1104:接收第一條路由屬於離線的指標 步驟1106:識別出與該第一條路由相關的第一間期鏈結 步驟1108:識別出與該第一路由相關的一個替代間期鏈結 步驟1110:提供指標給網路設備的路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非第一間期鏈結
參照以下各圖式,描述了本申請案揭露中包含但不加以限定的各種實施態樣,除非有特別說明,否則在不同的圖式中相同的元件符號編號將代表相同的元件。透過接下來的描述和圖式,將有助於理解本申請案揭露中的優點所在: 第1圖是透過Internet進行溝通之網路設備系統的示意圖。 第2圖是可透過非同步物件管理者進行管理之具有多個依存關係的物件階層結構的示意圖。 第3圖是具有非同步接收物件順序範例的示意圖。 第4圖是具有對非同步物件管理者接收物件重新排序範例的示意圖。 第5圖是具有對刪除序列重新排序範例的示意圖。 第6圖是透過網路設備促進溝通的示意圖。 第7圖是具有硬體和用以提供硬體操作指令之軟體堆疊的網路設備範例的示意圖。 第8圖是可將設備之控制器邏輯卸載至雲端網路之系統的示意圖。 第9圖是多節點資料儲存空間的架構示意圖。 第10圖是具有接收和重新排序透過電腦網路傳送之物件的方法流程示意圖。 第11圖是具有改善網路運算環境中網路設備操作的方法流程示意圖。 第12圖是具有描述運算設備中各個組成元件範例的示意圖。
702:網路設備
704:硬體
706:非同步物件管理者
708:資料計畫配階層
710:轉發資訊表
712:路由資訊表
714:組態代理
716:邊界閘道通訊協定

Claims (20)

  1. 一種非同步物件管理的系統,包含:一路由晶片硬體;以及一非同步物件管理者,與所述路由晶片硬體進行通訊,並且可配置用以執行儲存於一非暫時性電腦可讀取儲存媒體中的複數個指令,該非同步物件管理者是在一軟體堆疊的一最底層用以對一網路設備進行管理操作,所述複數個指令包含:非同步的接收來自一個或者多個產生者的複數個物件,所述複數個物件是被由該非同步物件管理者所提供的一個或者多個應用程式介面所接收;對所述複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別,用來識別所述複數個物件中每一物件的所述一個或者多個依存關係是依據可以在該非同步物件管理者的一系統空間中識別所述每一物件的一唯一鍵值來進行定義;依據所述一個或者多個依存關係來重新排序所述的複數個物件;確認是否解決所述的一個或者多個依存關係;以及回呼一應用程式並且將所述複數個物件中的一個或者多個提供給該應用程式,作為對所述確認是否解決所述的一個或者多個依存關係的部分進行回應。
  2. 如申請專利範圍第1項之非同步物件管理的系統,其中該非同步物件管理者更包含一狀態機。
  3. 如申請專利範圍第1項之非同步物件管理的系統,其中該非同步物件管理者是在一軟體堆疊的最底層用以對一網路設備進行管理操作。
  4. 如申請專利範圍第1項之非同步物件管理的系統,其中所述的一個或者多個產生者包含應用程式、程序、執行緒或者功能函數中的一個或者多個。
  5. 如申請專利範圍第1項之非同步物件管理的系統,其中所述複數個指令更包含提供一訊息給該路由晶片硬體用以指示一第一路由需要透過一第一間期鏈結來處理。
  6. 如申請專利範圍第1項之非同步物件管理的系統,其中更包含一資料計畫配階層可以與該非同步物件管理者以及該路由晶片硬體進行通訊,並且其中該非同步物件管理者中所述複數個指令更包含:自該資料計畫配階層接收一訊息,用以建立一路由,該路由可以將一另一訊息由第一個位置傳送至最終目的地;產生該另一訊息所需的該路由;以及提供所述路由給該資料計畫配階層。
  7. 如申請專利範圍第1項之非同步物件管理的系統,其中所述複數個指令更包含:儲存該非同步物件管理者已知的複數個路由的一狀態;接收一第一路由屬於離線的一指標;識別出與該第一路由相關的一第一間期鏈結;識別出與該第一路由相關的一替代間期鏈結;以及 提供一另一指標給該路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非該第一間期鏈結。
  8. 如申請專利範圍第1項之非同步物件管理的系統,其中該非同步物件管理者提供一方法用以使一第一產生者可以提供一訊息給該非同步物件管理者,藉以取代直接向一下一個跳點的一第二產生者提供一訊息。
  9. 如申請專利範圍第1項之非同步物件管理的系統,其中該非同步物件管理者是相容於在一交換器或者一路由器上的操作。
  10. 如申請專利範圍第1項之非同步物件管理的系統,其中所述複數個指令更包含:從所述一個或者多個產生者處接收所述複數個物件的一刪除序列;以及依據所述一個或者多個依存關係來重新排序該刪除序列。
  11. 一種配置用以執行儲存於一非暫時性電腦可讀取儲存媒體中複數個指令的處理器,所述複數個指令包含:透過一非同步物件管理者非同步的接收來自一個或者多個產生者的複數個物件,該非同步物件管理者是在一軟體堆疊的一最底層用以對一網路設備進行管理操作,並且所述複數個物件是被由該非同步物件管理者所提供的一個或者多個應用程式介面所接收;透過該非同步物件管理者對所述複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別; 透過該非同步物件管理者依據所述一個或者多個依存關係來重新排序所述的複數個物件,用來識別所述複數個物件中每一物件的所述一個或者多個依存關係是依據可以在該非同步物件管理者的一系統空間中識別所述每一物件的一唯一鍵值來進行定義;確認是否解決所述的一個或者多個依存關係;以及回呼一應用程式並且將所述複數個物件中的一個或者多個提供給該應用程式,作為對所述確認是否解決所述的一個或者多個依存關係的部分進行回應。
  12. 如申請專利範圍第11項之處理器,其中所述複數個指令更包含提供一訊息給一路由晶片硬體用以指示一第一路由需要透過一第一間期鏈結來處理。
  13. 如申請專利範圍第11項之處理器,其中所述複數個指令更包含:儲存該非同步物件管理者已知的複數個路由的一狀態;接收一第一路由屬於離線的一指標;識別出與該第一路由相關的一第一間期鏈結;識別出與該第一路由相關的一替代間期鏈結;以及提供一另一指標給一路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非該第一間期鏈結。
  14. 如申請專利範圍第11項之處理器,其中所述複數個指令更包含提供一方法用以使一第一產生者可以提供一訊息給該非同步物件管理者,藉以取代直接向一下一個跳點的一第二產生者提供一訊息。
  15. 如申請專利範圍第11項之處理器,其中提供給所述一個或者多個處理器的所述複數個指令是相容於在一交換器或者一路由器上的操作。
  16. 一種在一網路環境中卸載資料儲存的方法,該方法包含以下步驟:透過一非同步物件管理者非同步的接收來自一個或者多個產生者的複數個物件,該非同步物件管理者是在一軟體堆疊的一最底層用以對一網路設備進行管理操作,並且所述複數個物件是被由該非同步物件管理者所提供的一個或者多個應用程式介面所接收;對所述複數個物件中的兩個或者多個物件之間的一個或者多個依存關係進行識別;依據所述一個或者多個依存關係來重新排序所述的複數個物件,用來識別所述複數個物件中每一物件的所述一個或者多個依存關係是依據可以在該非同步物件管理者的一系統空間中識別所述每一物件的一唯一鍵值來進行定義;確認是否解決所述的一個或者多個依存關係;以及回呼一應用程式並且將所述複數個物件中的一個或者多個提供給該應用程式,作為對所述確認是否解決所述的一個或者多個依存關係的部分進行回應。
  17. 如申請專利範圍第16項之在一網路環境中卸載資料儲存的方法,更包含提供一訊息給一路由晶片硬體用以指示一第一路由需要透過一第一間期鏈結來處理的步驟。
  18. 如申請專利範圍第16項之在一網路環境中卸載資料儲存的方法,其中該非同步物件管理者更包含一狀態機並且是在一軟體堆疊的最底層用以對一網路設備進行管理操作。
  19. 如申請專利範圍第16項之在一網路環境中卸載資料儲存的方法,更包含以下步驟:儲存該非同步物件管理者已知的複數個路由的一狀態;接收一第一路由屬於離線的一指標;識別出與該第一路由相關的一第一間期鏈結;識別出與該第一路由相關的一替代間期鏈結;以及提供一另一指標給與該非同步物件管理者溝通的一路由晶片硬體,說明該第一路由應該與該替代間期鏈結進行處理而非該第一間期鏈結。
  20. 如申請專利範圍第16項之在一網路環境中卸載資料儲存的方法,更包含以下步驟:從所述一個或者多個產生者處接收所述複數個物件的一刪除序列;以及依據所述一個或者多個依存關係來重新排序該刪除序列。
TW108130064A 2018-08-23 2019-08-22 在網路路由環境中的非同步物件管理機制 TWI813742B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862722003P 2018-08-23 2018-08-23
US62/722,003 2018-08-23

Publications (2)

Publication Number Publication Date
TW202026896A TW202026896A (zh) 2020-07-16
TWI813742B true TWI813742B (zh) 2023-09-01

Family

ID=69583257

Family Applications (8)

Application Number Title Priority Date Filing Date
TW108130068A TWI819072B (zh) 2018-08-23 2019-08-22 在網路運算環境中用於避免環路衝突的系統、非暫態電腦可讀取儲存媒體及電腦實現方法
TW108130070A TWI821373B (zh) 2018-08-23 2019-08-22 網路運算環境中的第一跳轉閘道的冗餘機制系統
TW108130067A TWI803687B (zh) 2018-08-23 2019-08-22 用於路由最佳化的系統及其方法
TW112127202A TW202344019A (zh) 2018-08-23 2019-08-22 具有主機確定學習及本地化路由與橋接整合的主機路由覆蓋機制的系統
TW108130069A TWI813744B (zh) 2018-08-23 2019-08-22 具有主機確定學習及本地化路由與橋接整合的主機路由覆蓋機制系統
TW108130065A TWI813743B (zh) 2018-08-23 2019-08-22 在網路路由環境中的獨立資料儲存空間
TW112138138A TW202404318A (zh) 2018-08-23 2019-08-22 網路運算環境中使用位址解析協定的第一跳轉閘道的冗餘機制系統
TW108130064A TWI813742B (zh) 2018-08-23 2019-08-22 在網路路由環境中的非同步物件管理機制

Family Applications Before (7)

Application Number Title Priority Date Filing Date
TW108130068A TWI819072B (zh) 2018-08-23 2019-08-22 在網路運算環境中用於避免環路衝突的系統、非暫態電腦可讀取儲存媒體及電腦實現方法
TW108130070A TWI821373B (zh) 2018-08-23 2019-08-22 網路運算環境中的第一跳轉閘道的冗餘機制系統
TW108130067A TWI803687B (zh) 2018-08-23 2019-08-22 用於路由最佳化的系統及其方法
TW112127202A TW202344019A (zh) 2018-08-23 2019-08-22 具有主機確定學習及本地化路由與橋接整合的主機路由覆蓋機制的系統
TW108130069A TWI813744B (zh) 2018-08-23 2019-08-22 具有主機確定學習及本地化路由與橋接整合的主機路由覆蓋機制系統
TW108130065A TWI813743B (zh) 2018-08-23 2019-08-22 在網路路由環境中的獨立資料儲存空間
TW112138138A TW202404318A (zh) 2018-08-23 2019-08-22 網路運算環境中使用位址解析協定的第一跳轉閘道的冗餘機制系統

Country Status (8)

Country Link
US (17) US11212215B2 (zh)
EP (7) EP3841487A4 (zh)
JP (7) JP7448537B2 (zh)
KR (7) KR20210064217A (zh)
CN (8) CN112840625B (zh)
CA (7) CA3109950A1 (zh)
TW (8) TWI819072B (zh)
WO (7) WO2020041729A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
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
US11409711B2 (en) 2019-12-03 2022-08-09 Western Digital Technologies, Inc. Barriers for dependent operations among sharded data stores
US11567899B2 (en) * 2019-12-03 2023-01-31 Western Digital Technologies, Inc. Managing dependent delete operations among 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
EP4152702A4 (en) * 2020-06-08 2023-11-15 Huawei Technologies Co., Ltd. METHOD, APPARATUS AND APPARATUS FOR PROCESSING TAX MESSAGES IN A COLLECTIVE COMMUNICATIONS SYSTEM AND SYSTEM
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
US11290330B1 (en) 2020-10-30 2022-03-29 Nutanix, Inc. Reconciliation of the edge state in a telemetry platform
US11700178B2 (en) 2020-10-30 2023-07-11 Nutanix, Inc. System and method for managing clusters in an edge network
US11374807B2 (en) 2020-10-30 2022-06-28 Nutanix, Inc. Handling dynamic command execution in hybrid cloud environments
CN114697250A (zh) * 2020-12-31 2022-07-01 华为技术有限公司 一种路由方法及相关设备
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 大陸商達發科技(蘇州)有限公司 向量包處理轉發方法
CN114297109B (zh) * 2021-12-28 2024-05-24 中汽创智科技有限公司 一种基于订阅发布模式的数据处理方法、装置、电子设备及存储介质
US11765065B1 (en) 2022-03-23 2023-09-19 Nutanix, Inc. System and method for scalable telemetry
US11841856B2 (en) * 2022-03-24 2023-12-12 Visa International Service Association System, method, and computer program product for efficiently joining time-series data tables
US20230308389A1 (en) * 2022-03-24 2023-09-28 Cisco Technology, Inc. Inter-compatible forwarding modes in network fabric overlays
TWI802481B (zh) * 2022-08-04 2023-05-11 中華電信股份有限公司 配置路由器的任播標籤的電子裝置及方法
CN115396365B (zh) * 2022-10-26 2023-04-07 中国人民解放军军事科学院***工程研究院 一种规模无关的快速路由收敛方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201030551A (en) * 2008-10-22 2010-08-16 Ibm Security methodology to prevent user from compromising throughput in a highly threaded network on a chip processor
US8060533B1 (en) * 2011-07-07 2011-11-15 Google Inc. Panel-based management of data objects from a plurality of data sources
US20140366037A1 (en) * 2013-06-07 2014-12-11 International Business Machines Corporation Planning Execution of Tasks with Dependency Resolution
TW201614476A (en) * 2014-06-02 2016-04-16 Micron Technology Inc Systems and methods for reordering packet transmissions in a scalable memory system protocol

Family Cites Families (196)

* Cited by examiner, † Cited by third party
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スイッチネットワークシステム
WO1998023080A2 (en) * 1996-11-18 1998-05-28 Mci Worldcom, Inc. A communication system architecture
GB2345162A (en) * 1998-12-24 2000-06-28 Ibm Publish and subscribe data processing with distribution agents configured to support certain streams
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
US6434568B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
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
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
WO2002086712A1 (en) * 2001-04-20 2002-10-31 Egenera, Inc. Virtual networking system and method 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
US7801857B2 (en) * 2003-12-19 2010-09-21 Solace Systems, Inc. Implicit routing in content based networks
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
JP2008527538A (ja) 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド メッセージング・システム内のキャッシング・エンジン
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
US7801912B2 (en) * 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
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
US7693813B1 (en) * 2007-03-30 2010-04-06 Google Inc. Index server architecture using tiered and sharded phrase posting lists
WO2008144927A1 (en) 2007-06-01 2008-12-04 Nortel Networks Limited Distributed connection establishment and restoration
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 富士通株式会社 ラベルスイッチングネットワークにおける通信装置
KR20100107479A (ko) * 2008-01-02 2010-10-05 샌디스크 아이엘 엘티디 직접적인 사용자 액세스를 갖는 저장 장치
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
US20100128638A1 (en) * 2008-11-20 2010-05-27 Sap Ag Hierarchical shortest path first network routing protocol
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
US9098562B2 (en) * 2009-03-30 2015-08-04 The Boeing Company Computer architectures using shared storage
EP2254046B1 (en) 2009-05-18 2014-07-30 Amadeus S.A.S. A method and system for managing the order of messages
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across 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 杭州华三通信技术有限公司 一种实现快速路径切换的方法和装置
CN101848236A (zh) * 2010-05-06 2010-09-29 北京邮电大学 具有分布式网络架构的实时数据分发***及其工作方法
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
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
US9485300B2 (en) * 2012-03-13 2016-11-01 Yahoo! Inc. Publish-subscribe platform for cloud file distribution
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)
US20140081685A1 (en) * 2012-09-17 2014-03-20 Salesforce.com. inc. Computer implemented methods and apparatus for universal task management
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
US9348638B2 (en) * 2013-01-17 2016-05-24 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
KR20140101607A (ko) * 2013-02-12 2014-08-20 삼성테크윈 주식회사 데이터 배포 서비스의 데이터베이스 관리 시스템 및 방법
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 新华三技术有限公司 实现主机路由可达的方法和装置
JP2016517596A (ja) * 2013-03-15 2016-06-16 セールスフォース ドット コム インコーポレイティッド パブリッシャ及び情報フィードを介してレコードとインタラクトするためのシステム及び方法
US20140317616A1 (en) 2013-04-23 2014-10-23 Thomas P. Chu Cloud computing resource management
US9460474B2 (en) * 2013-05-03 2016-10-04 Salesforce.Com, Inc. Providing access to a private resource in an enterprise social networking system
US9118633B2 (en) * 2013-06-18 2015-08-25 International Business Machines Corporation Topic protection policy for publish-subscribe messaging system
US9369383B2 (en) 2013-07-02 2016-06-14 Arista Networks, Inc. Method and system for overlay routing with VXLAN
US9892177B2 (en) * 2013-07-11 2018-02-13 Salesforce.Com, Inc. Systems and methods for interacting with external content objects
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
US9900366B2 (en) * 2013-09-17 2018-02-20 Amazon Technologies, Inc. Email webclient notification queuing
US9330155B1 (en) * 2013-09-30 2016-05-03 Emc Corporation Unified management of sync and async replication for block and file objects
US9544185B1 (en) * 2013-11-05 2017-01-10 Cisco Technology, Inc. Hardware based fast convergence for network failures
US9876711B2 (en) * 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
IN2013CH05044A (zh) * 2013-11-08 2015-05-29 Huawei Technologies India Pvt Ltd
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
US9264347B2 (en) 2013-12-27 2016-02-16 Dell Products L.P. N-node virtual link trunking (VLT) systems control plane
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
EP3629529B1 (en) * 2014-03-27 2022-08-31 Nicira Inc. Ingress ecmp in virtual distributed routing environment
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
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
CN104486124B (zh) * 2014-12-19 2018-09-04 盛科网络(苏州)有限公司 使用逻辑端口实现多***链路聚合的装置及方法
US10545987B2 (en) * 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
DE102015100208A1 (de) 2015-01-09 2016-07-14 Leonhard Kurz Stiftung & Co. Kg Verfahren zur Herstellung eines Verbundartikels sowie ein Verbundartikel
US10129180B2 (en) * 2015-01-30 2018-11-13 Nicira, Inc. Transit logical switch within logical router
US9965541B2 (en) * 2015-02-24 2018-05-08 Salesforce.Com, Inc. Interest groups based on network feed items
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
US10084891B2 (en) * 2016-06-22 2018-09-25 RtBrick Inc. Method to build a modular distributed network device using microservices architecture
US20170373973A1 (en) * 2016-06-27 2017-12-28 Juniper Networks, Inc. Signaling ip address mobility in ethernet virtual private networks
WO2018009205A1 (en) 2016-07-08 2018-01-11 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
US10193805B2 (en) * 2016-09-08 2019-01-29 Futurewei Technologies, Inc. User oriented IoT data discovery and retrieval in ICN networks
US10671764B2 (en) * 2016-09-15 2020-06-02 Nuts Holdings, Llc NUTS: eNcrypted Userdata Transit and Storage
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
US10645181B2 (en) * 2016-12-12 2020-05-05 Sap Se Meta broker for publish-subscribe-based messaging
US10044605B2 (en) * 2016-12-23 2018-08-07 Juniper Networks, Inc. Apparatus, system, and method for distributing routing-protocol information in clos fabrics
US11284300B2 (en) * 2016-12-30 2022-03-22 Comcast Cable Communications, Llc Efficiently managing network traffic
US11290324B2 (en) 2016-12-30 2022-03-29 Intel Corporation Blockchains for securing IoT devices
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201030551A (en) * 2008-10-22 2010-08-16 Ibm Security methodology to prevent user from compromising throughput in a highly threaded network on a chip processor
US8060533B1 (en) * 2011-07-07 2011-11-15 Google Inc. Panel-based management of data objects from a plurality of data sources
US20140366037A1 (en) * 2013-06-07 2014-12-11 International Business Machines Corporation Planning Execution of Tasks with Dependency Resolution
TW201614476A (en) * 2014-06-02 2016-04-16 Micron Technology Inc Systems and methods for reordering packet transmissions in a scalable memory system protocol

Also Published As

Publication number Publication date
EP3841485A1 (en) 2021-06-30
JP7461354B2 (ja) 2024-04-03
CN112840333B (zh) 2023-12-29
US11140070B2 (en) 2021-10-05
US11675637B2 (en) 2023-06-13
EP3841733A4 (en) 2022-06-22
CA3109950A1 (en) 2020-02-27
US11212215B2 (en) 2021-12-28
WO2020041666A1 (en) 2020-02-27
US20220075672A1 (en) 2022-03-10
US20230236908A1 (en) 2023-07-27
JP2021535697A (ja) 2021-12-16
EP3841471A4 (en) 2022-06-29
WO2020041681A1 (en) 2020-02-27
US20200068014A1 (en) 2020-02-27
JP7427671B2 (ja) 2024-02-05
CN112840332A (zh) 2021-05-25
CN112840604B (zh) 2022-12-23
US11693716B2 (en) 2023-07-04
JP7475349B2 (ja) 2024-04-26
EP3841733A1 (en) 2021-06-30
EP3841483A1 (en) 2021-06-30
KR20210060484A (ko) 2021-05-26
US20200067830A1 (en) 2020-02-27
CN112840322A (zh) 2021-05-25
TW202026901A (zh) 2020-07-16
US20210390000A1 (en) 2021-12-16
CA3109923A1 (en) 2020-02-27
KR20210059727A (ko) 2021-05-25
TWI813744B (zh) 2023-09-01
US20220075673A1 (en) 2022-03-10
US20200067823A1 (en) 2020-02-27
CA3109941A1 (en) 2020-02-27
CN112840333A (zh) 2021-05-25
US11972306B2 (en) 2024-04-30
US11134006B2 (en) 2021-09-28
US20200067822A1 (en) 2020-02-27
TWI819072B (zh) 2023-10-21
TWI821373B (zh) 2023-11-11
US20200067812A1 (en) 2020-02-27
TWI813743B (zh) 2023-09-01
KR20210064217A (ko) 2021-06-02
CN112840332B (zh) 2024-06-25
TWI803687B (zh) 2023-06-01
CA3109939A1 (en) 2020-02-27
TW202034737A (zh) 2020-09-16
CN117914767A (zh) 2024-04-19
TW202026873A (zh) 2020-07-16
CA3109948A1 (en) 2020-02-27
CA3109935A1 (en) 2020-02-27
EP3841471A1 (en) 2021-06-30
JP7461355B2 (ja) 2024-04-03
WO2020041699A1 (en) 2020-02-27
CN112840606A (zh) 2021-05-25
EP3841487A4 (en) 2022-05-11
US20240152410A1 (en) 2024-05-09
WO2020041742A1 (en) 2020-02-27
EP3841709A1 (en) 2021-06-30
US20230367658A1 (en) 2023-11-16
WO2020041674A1 (en) 2020-02-27
WO2020041729A1 (en) 2020-02-27
KR20210060483A (ko) 2021-05-26
US20240193015A1 (en) 2024-06-13
US20240086263A1 (en) 2024-03-14
KR20210059724A (ko) 2021-05-25
JP2021535696A (ja) 2021-12-16
CN112840605B (zh) 2023-10-17
CN112840322B (zh) 2024-06-04
JP7465878B2 (ja) 2024-04-11
US11206208B2 (en) 2021-12-21
TW202017340A (zh) 2020-05-01
US20220091910A1 (en) 2022-03-24
TW202026896A (zh) 2020-07-16
US11861419B2 (en) 2024-01-02
CN112840605A (zh) 2021-05-25
TW202034662A (zh) 2020-09-16
US20200065317A1 (en) 2020-02-27
EP3841709A4 (en) 2022-06-15
EP3841711A4 (en) 2022-06-15
EP3841487A1 (en) 2021-06-30
KR20210063343A (ko) 2021-06-01
KR20210059728A (ko) 2021-05-25
EP3841485A4 (en) 2022-06-29
CN112840606B (zh) 2023-08-08
JP2021535693A (ja) 2021-12-16
US11868824B2 (en) 2024-01-09
JP7427672B2 (ja) 2024-02-05
CN112840625B (zh) 2024-02-20
JP7448537B2 (ja) 2024-03-12
TW202037220A (zh) 2020-10-01
WO2020041727A1 (en) 2020-02-27
EP3841483A4 (en) 2022-06-29
CN112840604A (zh) 2021-05-25
TW202404318A (zh) 2024-01-16
US11941460B2 (en) 2024-03-26
EP3841711A1 (en) 2021-06-30
JP2021535695A (ja) 2021-12-16
CA3109946A1 (en) 2020-02-27
US20210406101A1 (en) 2021-12-30
JP2021535524A (ja) 2021-12-16
CN112840625A (zh) 2021-05-25
TW202344019A (zh) 2023-11-01
JP2021535694A (ja) 2021-12-16
US11221893B2 (en) 2022-01-11
JP2021535698A (ja) 2021-12-16
US20200065141A1 (en) 2020-02-27
US12020089B2 (en) 2024-06-25

Similar Documents

Publication Publication Date Title
TWI813742B (zh) 在網路路由環境中的非同步物件管理機制
US8804745B1 (en) Virtualization mapping
CN108400922B (zh) 虚拟局域网络配置***与方法及其计算机可读存储介质
TWI839379B (zh) 在網路路由環境中的單節點和多節點資料儲存空間架構
US20240056359A1 (en) Automated Scaling Of Network Topologies Using Unique Identifiers
JP2002026970A (ja) 経路制御システム