CN110875849B - 光学通信系统 - Google Patents
光学通信系统 Download PDFInfo
- Publication number
- CN110875849B CN110875849B CN201910811014.4A CN201910811014A CN110875849B CN 110875849 B CN110875849 B CN 110875849B CN 201910811014 A CN201910811014 A CN 201910811014A CN 110875849 B CN110875849 B CN 110875849B
- Authority
- CN
- China
- Prior art keywords
- network element
- idl
- network
- rpc
- precompiled
- 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.)
- Active
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 55
- 230000006854 communication Effects 0.000 title claims abstract description 54
- 238000004891 communication Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 claims description 60
- 230000015654 memory Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 3
- 239000000344 soap Substances 0.000 abstract 1
- 238000011161 development Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 108010046315 IDL Lipoproteins Proteins 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002688 persistence Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- HTRJZMPLPYYXIN-UHFFFAOYSA-N 2-acetamido-3-[[4-[(2-acetamido-2-carboxyethyl)sulfanylcarbothioylamino]phenyl]carbamothioylsulfanyl]propanoic acid Chemical compound CC(=O)NC(C(O)=O)CSC(=S)NC1=CC=C(NC(=S)SCC(NC(C)=O)C(O)=O)C=C1 HTRJZMPLPYYXIN-UHFFFAOYSA-N 0.000 description 1
- 201000005625 Neuroleptic malignant syndrome Diseases 0.000 description 1
- 108091027981 Response element Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000899 pressurised-fluid extraction Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- 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/547—Remote procedure calls [RPC]; Web services
-
- 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/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0233—Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- 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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Optical Communication System (AREA)
Abstract
公开了一种光学通信系统。本公开的实施例包括包含中央管理器网关的RPC体系架构,该中央管理器网关具有面向客户端侧,该侧允许经由诸如SOAP和REST的web服务协议的客户端访问。中央管理器网关还包括面向服务器侧,该侧可以与多个网络元件通信,每个网络元件实现公共IDL体系架构和RPC管理器实例。每个网络元件,具体是其RPC管理器实例,可以与其它RPC管理器实例通信以“学习”系统的网络拓扑并维护拓扑数据库以便暴露命名服务,例如CORBA命名服务。网络元件可以选举一个主元件,而其它元件保持为从属元件。中央管理器网关可以自动定位主网络元件并将客户端请求转发给主网络元件以进行服务。
Description
技术领域
本申请一般而言涉及利用远程过程调用(RPC)接口的通信系统,更具体而言,涉及用于在web服务和基于IDL的RPC服务之间进行接口的系统和方法以及使用该系统和方法的光学通信系统。
背景技术
随着互联网及其相关技术的发展,web应用和服务在软件行业中变得越来越流行和重要。在web技术中,代表性状态转移(REST)已成为最普遍和快速发展的技术之一。对提供RESTful API以适应定制的客户端用户界面开发和集成的软件的需求日益增长。现在,大多数开发语言都包含用于构建RESTful web服务的框架。
但是,许多现有实现方案利用在互联网初期开发的公共对象请求代理体系架构(Common Object Request Broker Architecture,CORBA)。CORBA是由对象管理组(ObjectManagement Group)定义的软件标准,许多系统采用该标准进行跨平台通信,以最大化不同编程语言的优势和管理分布式的网络元件服务(Network Element Services,NES)。例如,考虑C++开发,原生C++开发环境不具有对图形用户界面(GUI)的原生支持,因此C++需要其它开发语言来支持GUI开发(例如JAVA)。同样,CORBA使用接口定义语言(IDL)来规范呈现给不同实现方案(例如,C、C++、Java、Pascal、Python、Ruby)的接口和对象,使得开发人员不需要“重新发明轮子”并开发跨平台的通信软件,并且通过扩展,节省了与开发此类软件系统相关联的成本和时间。CORBA提供了一种定义明确的跨平台通信的方式,其中访问位于对象级别,大部分底层客户端-服务器通信代码对开发人员是隐藏的。同样,CORBA具有命名服务,其为开发人员提供了一种使用逻辑名称注册和查找对象引用的简单方法。
但是,由于不小的挑战,CORBA仍然是一种不切实际的向前走的解决方案。例如,CORBA体系架构中的客户端和服务器都需要在运行时使用相同的IDL以确保兼容性。IDL之间的不匹配可能导致客户端和服务器之间的通信完全崩溃。这使得CORBA实现方案相对脆弱,因为即使是对暴露的函数/方法的微小的更改和升级也需要服务器和所有客户端之间的同步,这可能是不切实际的。此外,许多现有解决方案利用一些适当的CORBA元素,这些元素不仅需要CORBA本身的知识,还需要核心服务的变化性质的知识。这种专有知识可能需要大量培训,并且会不幸地导致对遗留CORBA软件服务进行全面、彻底的重新开发,而不是重用其它的工作软件。
发明内容
公开了一种网络管理系统,包括:存储器;控制器,用于:接收来自远程计算设备的用户请求,所述用户请求包括至少一个网络元件地址和要在所述至少一个网络元件地址上执行的操作的标识符;提取所述至少一个网络元件地址和要在所述至少一个网络元件地址上执行的所述操作的标识符;从所述存储器中选择与所述至少一个网络元件地址相关联的预编译的接口描述语言(IDL)适配器;基于所选择的预编译的IDL适配器选择用于满足所述用户请求的至少一个远程过程调用(RPC)函数;通过向与所述至少一个网络元件地址相关联的一个或多个网络元件发送至少一个基于IDL的消息来执行所述至少一个RPC函数;以及基于来自执行的所述至少一个RPC函数的响应,向远程计算设备发送响应消息,所述响应消息与所述用户请求的格式相同。
附图说明
应该参考以下具体实施方式,并且具体实施方式应该结合以下各图来阅读,其中相同的标号表示相同的部分:
图1是CORBA客户端和服务器的通信体系架构的简化框图。
图2是与本公开一致的光学通信系统的一个示例性实施例的简化框图。
图3是适于在图2的光学通信系统中使用的网络管理系统(NMS)的示例性实施例的简化框图。
图4是在图2的光学通信系统使用的远程过程调用(RPC)体系架构的示例性实施例的简化框图。
图5示出了在图4的RPC体系架构中使用的示例网络元件地址格式。
图6示出了与本公开的方面一致的接口描述语言(IDL)继承模型的简化框图。
图7示出了根据本公开的实施例的用于基于IDL的事件消息的示例通信。
图8A-8D共同示出了根据本公开的实施例的用于在光学通信系统内服务RPC请求的示例方法。
具体实施方式
如以上所讨论的,基于CORBA的实现方案仍然在许多部署的软件应用中使用,但是与现在广泛使用的基于web的技术相比,该技术仍然是开发和维护的挑战。但是,创建保留工作组件和现有基于CORBA的系统的遗留支持的新软件系统的问题仍然是一个挑战,因为在尝试混合CORBA和现代基于web的实现方案时仍存在许多技术挑战。
现有的CORBA开发过程包括以明文定义IDL。IDL语言包括类似于其它编译/解释语言的语法和格式,并定义方法、自变量和各种参数。然后明文IDL被编译以生成所需语言(例如,C++或Java)的适配器。生成的适配器也可以被称为预编译的IDL适配器,其可以在给定程序的运行时(执行)期间被实例化。如图1所示,CORBA客户端和服务器应用然后基于其关联的适配器在客户端和服务器之间形成1:1的关系。直接在客户端和服务器之间进行请求,并通过使用对象请求代理基于这些请求返回响应。
不幸的是,CORBA是在互联网处于其早期并且安全性不是主要问题的时候开发的。CORBA本身并未实现安全方案,并且CORBA接口会带来很大的安全风险。CORBA接口的粗暴暴露是对整个软件系统的潜在威胁,因为CORBA在接口级别没有安全检查,这使得服务器暴露在互联网上,并且容易成为攻击者的目标。
对底层IDL的升级和微小更改也对使用CORBA构成了重大挑战。例如,客户端和服务器二者必须具有匹配的IDL,因此任何更改都需要使用更新后的IDL重新编译客户端和服务器代码以进行同步。这种级别的同步可能是不切实际的,因为处理客户端和服务器代码的不同团队通常会有大量开发人员,他们可以以一定的速率实现更改,这使得完全的客户端/服务器IDL兼容性几乎不可能。此外,甚至软件工程师对现有CORBA实现方案的重用也常常被避免,因为CORBA的安全风险、过时知识和刚性可能超过使用现代技术(诸如简单对象访问协议(SOAP)和REST)重新开发代码的负面影响。已经提出了一些用于经由现代web服务(例如,REST、SOAP)暴露CORBA接口以允许重用CORBA的方法。但是,这些方法仍然需要大量的开发时间和经验,因为必须开发中间件和CORBA接口之间的通信处理。
因此,根据实施例,公开了用于将基于IDL的RPC体系架构(例如,CORBA)与web服务方法(诸如SOAP和REST之类)接口的技术。具体而言,本公开的实施例包括RPC体系架构,该RPC体系架构包括中央管理器网关,该中央管理器网关具有面向客户端侧,该面向客户端侧允许经由web服务协议(诸如SOAP和REST之类)的客户端访问。中央管理器网关还包括面向服务器侧,该面向服务器侧可以与多个网络元件通信,每个网络元件实现公共IDL体系架构和RPC管理器实例。每个网络元件,特别是它们的RPC管理器实例,可以与其它RPC管理器实例通信以“学习”系统的网络拓扑并维护拓扑数据库以便暴露命名服务,例如CORBA命名服务。网络元件可以选择一个主元件,而其它元件保持为从属元件。中央管理器网关可以自动定位主网络元件并将客户端请求转发给主网络元件。进而,主网络元件可以转换web服务请求并执行一个或多个IDL方法来满足请求。然后,主网络元件可以将对执行的IDL方法的响应转换成(一个或多个)web服务消息,并且取决于期望的配置,将这些web服务消息例如通过作为代理操作的中央管理器网关发送回始发的客户端或者直接发送回该客户端。REST实现无状态体系架构,因此web服务不支持跨REST API调用的数据消息的持久性。中央管理器网关可以管理和促进这种持久性,从而维护CORBA基础设施/服务的完整性,同时还支持REST web服务消息。
在本公开的一个特定的非限制性示例实施例中,公开了一种IDL框架,其允许生成多个Java适配器。Java适配器中的第一适配器包含为基于CORBA的C++系统定义的使得能够编译和进行一般CORBA通信的IDL定义,并且Java适配器中的第二适配器包括提供运行时服务的定义。运行时服务可以由例如抽头(stub)定义提供,抽头定义可以由应用程序员覆盖或以其它方式扩展,以实现特定于给定应用的逻辑。然后,RESTful服务可以实现该多个适配器以提供符合IDL要求(例如CORBA)的REST服务,并且还向最终用户提供定制和集成特定于应用的逻辑的方法。为了提供客户端侧的服务,还可以生成基于IDL的图形用户界面(GUI)库。GUI、各种适配器和其它相关组件可以与客户端和服务器软件一起重用和编译,以最大化代码重用(但是服务器不一定呈现GUI)。在REST服务器的上下文中,多个适配器可以是打包的库,并且其中定义和实现的方法可以被直接调用并与集成开发环境支持的其它特征一起被打包。
因此,本公开提供了优于粗暴暴露基于IDL的服务的现有系统或由于重新设计和开发暴露基于IDL的服务(诸如CORBA)的预先存在的应用而阻止代码重用的其它方案的许多优点。例如,利用本文公开的RPC体系架构开发的应用可以利用现有的CORBA服务,同时还提供具有高水平定制和代码重用的快速开发和可扩展框架。此外,诸如SOAP和REST之类的现代服务可以是面向客户端的,以提供安全且易于开发的客户端访问。因此,本文公开的RPC体系架构通过维护遗留代码应用(例如,与现有CORBA服务完全兼容)而改进了计算机服务器系统,从而消除了为设计新的客户端应用而需要遗留知识、增强了安全性以及将诸如CORBA之类的遗留RPC技术与诸如SOAP和REST之类的web服务体系架构透明地桥接的能力。此外,与本公开一致的RPC体系架构允许客户端和基于IDL的服务(例如,CORBA)之间的1:N关系,这超越了如以上关于图1所讨论的通常在客户端和服务器之间施加1:1关系的限制。
转到各图,图2示出了与本公开一致的光学通信系统200。光学通信系统200以高度简化的形式示出,以便于描述而不是进行限制。光学通信系统200可以被实现为水下光学通信系统,其中元件中的至少一部分位于海平面以下。此外,光学通信系统200可以被实现为能够经由多个信道波长进行传送的波分复用(WDM)系统。如图所示,光学通信系统200包括在多个线缆登陆站(即,线缆登陆站202-1、202-2和202-3)之间延伸的光学传输路径203。
如图所示,光学通信200包括被集体地示为210的光纤线缆,光纤线缆跨越相对大的地理距离(例如,数十、数百或数千公里)。因此,水下光网络可以包括例如沿着海床布置或者布置在海基平台上的多个“湿”光学组件。但是,线缆段在这方面不一定受限制,并且光学通信系统200可以至少部分地包括一些长度的陆基光纤段。虽然本文公开的示例和场景涉及线缆登陆站或者说CLS,但是本公开在这方面没有限制。例如,本文公开的技术同样适用于位于光学通信系统内的任何站,包括例如网络操作中心(NOC)和远程操作位置(ROP),这只是举几个例子。
继续,光学传输路径203包括包含一个或多个光纤对的至少一个光缆210。光学传输路径203包括多个光学组件,包括中继器218-1、218-2和一个或多个分支单元,例如,BU225。BU可以包括可重新编程的光学插/分复用器(ROADM)或其它合适的光学滤波器/组件(例如,其可以包括用于远程监视和控制的电路系统),用于从分支路径(例如,分支路径214)发送和接收信道波长。每个线缆登陆站可以包括元件管理系统(EMS),用于提供对各种光学组件的访问以及用于向系统内的命令/响应元件(CRE)提供接口。图2中所示的每个光学组件也可以被称为网络元件,每个网络元件允许远程访问以用于配置、监视和维护目的。为此,术语网络元件是指光学通信系统200中包括使得能够通过有线或无线连接进行远程、基于网络的通信的电路系统和/或软件的任何组件,例如,BU、ROADM、光学中继器、NMS、EMS、LME、PFE。
线缆登陆站202-1至202-3中的每一个可以沿着海岸或在平台上布置。线缆登陆站202-1至202-3中的每一个可以包括线路端接装备(LTE),诸如信道线卡(未示出)、电力馈送装备(PFE)212-1等。PFE 212-1可以被配置为沿着光学传输路径203提供恒定电压或恒定电流。
如进一步所示,第一线缆登陆站202-1包括NMS 204-1、EMS 206-1和LME 208-1。NMS 204-1可以被实现为参考图3进一步详细讨论的NMS 304。每个NMS可以被配置为与N个EMS系统通信。每个EMS系统可以被配置为与光学组件通信,光学组件诸如是中继器和在给定线缆登陆站本地或以其它方式与给定线缆登陆站相邻的其它元件。LME装备可以用于执行高损耗环回(HLLB)或其它测量以确保标称性能并检测沿着光学传输路径203的故障,例如,线缆断裂。
可选地,多于一个的线缆登陆站可以包括类似组件用于冗余和容错,以及用于网络元件的本地管理。例如,第二线缆登陆站202-2可以包括NMS 204-2、EMS 206-2和LME208-2。如下面进一步讨论的,NMS组件204-1、204-2中的每一个可以共同形成单个NMS系统304,由此用户可以例如经由图形用户界面(GUI)或经由API直接登录到任何NMS组件中,并使请求得到服务。在这个示例中,NMS组件之一可以作为主元件操作,由此从属NMS系统代理或以其它方式将请求转发给主元件以进行处理。在主NMS离线的情况下,光学通信系统200可以被配置为自动将从属NMS切换到主元件角色。
图3示出了与本公开一致的示例网络管理系统(NMS)体系架构304。为了清楚而非限制,NMS体系架构304以高度简化的形式示出。NMS体系架构304可以以不同的配置实现,包括例如多个NMS服务器、EMS服务器、LME等,以共同提供NMS体系架构304。以这种方式,组件可以分布在多个线缆登陆站(例如,图2的CLS 202-1、...、CLS 202-3)当中,以提供冗余、容错并为NMS体系架构200的用户提供多个接入点。因此,NMS 204可以共同地实现为单个NMS服务器,例如,NMS 204-1,或者可以包括如图2所示的多个NMS系统,例如,NMS 204-1、204-2。
如进一步所示,NMS 304包括多个相关联的组件,包括控制器305、存储器307、系统资源数据库312、安全管理器320和用户界面324。NMS 304可以用硬件(例如,电路系统)、软件、公共/私有云或其组合来实现。在实施例中,NMS 304可以至少部分地被实现为存储在存储器307中的多个非瞬态指令,这些指令可以由控制器305(其也可以被称为NMS控制器)执行以执行NMS处理,例如,图8A-8D的处理800。如本文一般引用的控制器可以被实现为处理器(例如,x86处理器或虚拟计算机)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其它合适的处理设备/电路系统。
用户界面324可以包括图形用户界面(GUI)组件和/或API组件,以接收和处理来自用户(例如,用户429(图4))的请求。在实施例中,用户界面的API可以实现REST体系架构。在另一个实施例中,用户界面324的API可以实现CORBA体系架构。安全管理器320可以被配置为基于用户的相关联特权和访问权限来确保从用户接收到的请求301是允许的。
NMS 204可以包括存储在存储器307中的系统资源数据库312。例如,系统资源数据库312可以分布在包括多个NMS和EMS的多个组件中,并且图3中所示的实施例不旨在进行限制。例如,每个线缆登陆站可以包括EMS,其存储代表每个相关联的光学组件(其也可以被称为网络元件)的数据,相关联的光学组件包括例如线卡、PFE、中继器、LME、均衡器、计算机服务器和分支单元。然后,NMS 203可以利用来自每个线缆登陆站的EMS数据来集体地和逻辑地形成系统资源表312,但是数据可以物理地分布在不同的线缆登陆站。系统资源数据库312可以包括结构化查询语言(SQL)数据库、平面文件(例如,唯一通用标记语言(XML))、存储器中(in-memory)数据结构或其任何组合。
图4示出了图示与本公开的实施例一致的远程过程调用(RPC)的一个示例体系架构400的框图。如图所示,客户端侧包括可以利用客户端407与中央管理器网关401通信的用户429。客户端407可以包括远程计算设备,诸如膝上型电脑、台式计算机、服务器计算机或具有控制器/处理器、存储器、用户界面的智能电话等。中央管理器网关401也可以被称为RPC网关401。注意的是,中央管理器网关401可以由网络元件之一、网络元件406-1或由光学通信系统200的不同服务器计算机实例化。客户端407可以包括REST客户端,或其它合适的客户端方法,诸如SOAP。客户端407可以利用web服务对象库,例如REST框架,其允许通信服务的运行时实例化和动态变化。与基于IDL的协议相比,web服务允许在协议级别进行更改,而不会破坏客户端-服务器兼容性。因此,web服务对象库可以以任何数量的编程语言开发,诸如,例如,C、C++、Java、Ruby、C#、VB.NET、Lua、Python或任何其它合适的编程语言。
在服务器侧组件的上下文中,RPC体系架构400包括中央管理器网关401和可由主网络元件实现的远程过程调用(RPC)管理器405。如图所示,网络元件406-1到406-N中的每一个可以包括用于执行RPC管理器405的实例的电路系统和/或软件。实例化RPC管理器405的那些网络元件也可以被称为网络元件管理器。网络元件406-1至406-N中的每一个可以被实现为NMS服务器,诸如上面参考图3讨论的NMS服务器304。但是,每个网络元件406-1至406-N可以被实现为其它类型的系统,包括机架式计算机服务器。在任何情况下,每个网络元件406-1至406-N可以包括多条指令,这些指令在由相关联的处理器/控制器执行时使得执行RPC管理器进程的本地实例。网络元件可以通过彼此通信和例如经由投票或者简单地通过首先在线的任何网络元件来选择主元件从而选举“主”元件。如图4所示,网络元件406-1是主元件并且因此托管RPC管理器405,客户端407可以通过中央管理器网关401访问RPC管理器405。
RPC管理器405的每个实例可以包括多个组件,包括协议无关接口409和请求代理411。协议无关接口409可以包括N个解析器模块,用于服务经由REST或其它期望的协议的请求。解析器模块可以允许解析请求、确定请求是否有效(例如,没有格式错误)、请求是否被允许(例如,通过使用安全管理器320),以及确定请求的要求是什么。请求代理411可以包括通用中央管理器IDL解析器,下面将参考图6更详细地讨论该解析器。例如,IDL解析器可以利用从CORBA IDL输出的预编译的IDL,也称为适配器。在这个示例中,请求代理411可以提供CORBA命名服务414。CORBA命名服务414允许其它CORBA服务器应用使用逻辑名称来通告对象引用。因此,客户端407可以通过要求RPC管理器405经由命名服务414查找名称来按照本地逻辑名称请求要执行的操作。
例如,如图5所示,网络元件B 406-2和网络元件C 406-3可以基于网络元件地址501在光学通信系统200内被唯一地识别。网络元件地址501可以包括字符串,该字符串遵循允许每个线缆登陆站具有多个相关联网络元件的方案。但是,可以使用其它命名方案,并且图5中示出的示例不旨在进行限制。每个网络元件地址可以包括实体类型/实体ID对的预定的序列,其传达网络元件和子组件在线缆站内的层级并且唯一地识别每个实体。例如,双TLA网络元件在其线缆和光纤对范围内被唯一地识别,诸如“Cable.1/FP.1/DTLA.1”。
如图5中进一步所示,网络元件地址501可以识别线缆登陆站标识符502、光纤对标识符503、元件类型ID 504和元件ID 505中的至少一个或多个。此外,网络元件地址可以包括子组件ID,例如,子组件ID 506。因此,可以为每个网络元件分配可以向命名服务414注册的网络元件地址。注意的是,即使在主网络元件(例如,图4中所示的网络元件A 406-1)执行名称查找以用于服务请求的目的时,其它网络元件(例如,网络元件406-2至406-N)也可以在选择新的主网络元件(例如,由于故障、线缆断开、断电等)的情况下接收注册以更新和同步其本地名称服务。
返回图4,RPC管理器405的每个实例可以从光学通信系统200内的其它网络元件接收注册消息。注册数据可以存储在拓扑表412中以供命名服务414使用。注册数据可以包括IP地址(IPv4、IPv6等)、主机名、设备类型和其它网络元件特性。在一些情况下,每个网络元件的拓扑表412可以存储在相关联的系统资源数据库312中(图3)。在实施例中,拓扑表412定义每个网络元件及其子组件的分层对象模型,其中每个组件被表示为具有属性的实体,并且子实体表示子组件。然后,每个实体可以由其网络元件地址唯一地识别,并且可以包括全名属性以提供用户友好的名称,诸如“A.FP1.DTLA1”,如上面关于图5所讨论的。RPC管理器405的每个实例可以支持通用IDL getTopology()方法来检索拓扑快照。拓扑改变事件(例如,CORBA事件)可以作为属性值变化而从每个网络元件/实体发送,使得每个RPC管理器405可以保持同步的拓扑数据模型(参见图7)。
在操作中,客户端407发送请求消息408。请求消息408可以用例如诸如SOAP或REST之类的web服务协议进行格式化。因此,请求消息408可以被准确地描述为具有自描述格式,其中信息模式可以从消息本身导出。例如,JSON以这种方式自我描述,其允许相对容易的解析和消息适应性。作为对照,诸如CORBA的基于IDL的方案要求IDL理解消息的模式。请求消息408可以识别至少一个网络元件和要执行的操作。网络元件可以由网络元件地址识别,例如图5中所示的网络元件地址501。操作可以包括获得所请求的期望网络元件的属性/数据(诸如配置参数、日志数据、正常运行时间、状态等)的GET操作。操作还可以包括用于改变特定属性/数据的SET操作。
中央管理器网关401可以接收请求消息408。然后,中央管理器网关401可以确定当前主网络元件以处理该请求。例如,如图4所示,网络元件A 406-1正作为主网络元件操作。因此,中央管理器网关401定位网络元件A 406-1并将请求消息408转发给它。然后,网络元件A 406-1可以接收请求消息408并对其进行处理。
网络元件A 406-1,更具体地是RPC管理器405,可以利用协议无关接口409来解析请求消息408,以例如使用HTTP解析器模块来提取网络元件地址和期望的操作。在确定所请求的网络元件存在以及管理所需的任何持久性之前或之后,网络元件A 406-1可以(例如,使用安全管理器320)执行认证以确定所请求的操作是否被授权,同时保留REST接口的无状态属性。RPC管理器405可以查询拓扑表412以确定所提取的网络元件地址是否在系统中是已知的。在网络元件地址未知的情况下,RPC管理器405可以发送NAK消息,例如诸如HTTPNOT_FOUND(404)之类的HTTP错误代码。如果在拓扑表412内找到该网络元件(并且请求被授权),则RPC管理器405确定是否可以经由本地数据(诸如存储在拓扑表412中的信息/属性)来执行请求消息408的操作。例如,诸如状态和正常运行时间的一些请求可以被服务,而不必使用CORBA消息传送与远程网络元件通信。一些这样的示例包括获得网络元件(例如LME)下的子组件列表(例如LME端口、LME交换机位置)并检索网络元件的属性和子组件属性,诸如操作状态、故障的LED状态和/或库存信息,包括(例如电路板型号和物理位置等)。
在不能使用本地数据执行所请求的操作的情况下,RPC管理器405可以利用请求代理411与和所提取的网络元件地址相关联的网络元件进行通信。这种通信可以包括使用基于IDL的消息传送方案来发送例如符合CORBA协议的消息422。例如,请求代理411可以具有与系统中的每个网络元件相关联的预编译的IDL实例(或适配器)。因此,请求代理411可以从IDL存储库413检索预编译的IDL,以使用与目标网络元件兼容的IDL来实例化客户端。如前面所讨论的,在基于CORBA的客户端-服务器通信中,客户端的IDL必须与服务器的IDL相匹配。因此,IDL存储库413可以包含预编译的IDL适配器库,每个预编译的IDL适配器与一个或多个网络元件对应。然后,请求代理411可以至少部分地基于所提取的网络元件地址和所请求的操作将请求消息408转换成等效的基于IDL的消息。此外,请求代理411然后可以使用与和所提取的网络元件地址相关联的网络元件对应的IDL来识别要执行的一个或多个远程过程调用。例如,所请求的操作可以是检索特定配置设置,并且IDL可以定义可以用于满足所请求的操作的远程过程调用GET_PARAMETER()。然后,请求代理411可以将消息422发送到与网络元件地址相关联的网络元件。
在一个示例场景中,请求代理411可以使用一个或多个预编译的IDL适配器来识别要执行的两个或更多个远程过程调用,以便满足请求消息408。例如,一些请求可能需要与两个或更多个网络元件通信,诸如对日志数据、状态等的请求。在另一个示例中,一些请求可能需要在网络元件上调用两个或更多个不同的远程过程调用。例如,对诸如错误计数、功率电平和重发计数之类的多个测量值的请求可能需要使用消息传送422调用多个远程过程调用来满足由RPC管理器405从用户429接收的一个请求。因此,一个请求消息408可以通过调用/执行两个或更多个网络元件的一个或多个远程过程调用来使消息422与这两个或更多个网络元件通信。
因此,与本公开一致的RPC体系架构400允许客户端407与多个基于IDL的服务器实例(即网络元件406-1至406-N)之间的1:N关系。在CORBA的上下文中,这种1:N关系超越了该体系架构的局限性,因为CORBA限于1:1的直接客户端-服务器通信流(参见上面讨论的图1)。
图6示出了与本公开的方面一致的一个示例IDL继承模型600。如图所示,IDL继承模型600包括通用中央管理器基础IDL 601、web服务602(例如,REST服务器)、RPC管理器基础IDL 603、RPC管理器A IDL 604和RPC管理器B IDL 605。通用中央管理器IDL 601定义对所有服务器组件公共的接口。Web服务602,可以由RPC管理器406(图4)实例化以处理用户请求,例如REST请求、SOAP请求,并且可以实现通用中央管理器基础IDL,以便将请求转换成等效的远程过程调用,如上面关于图4所讨论的。
同样,RPC管理器基础IDL 603可以定义对每个网络元件公共的接口,诸如,例如,远程过程调用,以获取状态信息、操作参数、诊断信息等。RPC管理器A IDL 604和RPC管理器B IDL 605还可以定义特定于一种或多种类型的网络元件的接口。例如,RPC管理器A IDL604可以定义特定于线路监视装备(LME)的接口,并且RPC管理器B IDL 605可以定义特定于光学中继器设备的接口。因此,网络元件(例如,网络元件406-1至406-3)可以导出特定于其设备类型的IDL,以确保适当的接口可用于服务请求。在另一个示例中,RPC管理器A IDL604和RPC管理器B IDL 605可以定义可以在运行时动态设置的“抽头”或占位符函数,以允许用户定制与每个预定占位符函数相关联的逻辑。因此,每个客户端/服务器实例可以加载两个或更多个预编译的IDL适配器,即,至少定义公共/默认方法和函数以例如经由CORBA进行通信的第一IDL适配器,以及具有抽头/占位符函数以允许暴露的RPC操作的运行时定制的第二IDL适配器。
图7示出了与本公开的实施例一致的示例事件通信流程。如图所示,网络元件B406-2发送基于IDL的事件消息702。例如,基于IDL的事件消息702可以与CORBA协议一致。作为用于RPC管理目的的主元件操作的网络元件A 406-1接收基于IDL的事件消息702。网络元件A 406-1通过实例化RPC管理器405将基于ID的事件702转换成web服务消息703。Web服务消息703至少包括网络元件地址和事件类型的标识符。然后,网络元件A 406-1将web服务消息703发送到客户端407。
图8A-8D共同提供了用于通过实施上面公开的方面和实施例的RPC体系架构来服务请求的一个示例处理800。处理800可以表现为多条机器可读指令,当这些指令作为RPC管理器或中央管理器网关实例操作时可以由NMS 304的控制器305(图3)执行。
在动作802中,中央管理器网关401服务器从客户端(例如,客户端407(图4))接收web服务请求。例如,web服务请求可以采用例如符合REST或SOAP的格式。Web服务请求可以包括一个或多个目标网络元件地址和要在(一个或多个)目标网络元件上执行的操作的标识符。在动作804中,中央管理器网关401识别哪个网络元件正在作为主元件操作。在不存在主网络元件的情况下,在动作808中,中央管理器网关401发送否定确认(NAK)消息,例如HTTP错误代码。NAK消息可以与在动作802中接收的请求相同的格式发送,例如REST、JSON等。另一方面,在动作806中,中央管理器网关401将web服务请求转发/发送到主RPC管理器,例如,如图4所示的网络元件A 406-1。
在动作810中,主RPC管理器接收转发的web服务请求。在动作812中,主RPC管理器例如使用HTTP解析器模块从接收到的web服务请求中提取目标网络元件地址和操作。网络元件地址格式可以与上面参考图5所示和所述的格式一致。在动作814中,主RPC管理器确定是否存在与所提取的目标网络元件地址相关联的网络元件。这可以包括,例如,查询拓扑表412以确定所提取的目标网络元件地址是否已知。如果存在目标网络元件地址,则处理继续到动作818,否则,处理继续到动作816并且主RPC管理器将NAK消息发送回客户端。可以以与在动作802中接收到的请求相同的格式发送NAK消息。
在动作818中,主RPC管理器确定是否可以利用本地数据来服务请求。如前面所讨论的,诸如正常运行时间、状态等的一些信息可以存储在拓扑表412中或以其它方式存储在存储器307中。因此,可以利用存储在本地数据中的属性/特性来服务请求。如果本地数据满足请求,则主RPC管理器从本地数据中检索信息并生成响应消息。在动作822中,主RPC管理器以与在动作802中接收到的请求相同的格式将所生成的响应消息发送到客户端,例如,以JSON、XML或其它REST/SOAP兼容格式。
在动作824中,主RPC管理器可以选择并实例化与和所提取的目标网络元件地址相关联的目标网络元件对应的预编译的IDL适配器(或简称适配器)。动作824可以包括主RPC管理器在IDL存储库413上查询/执行查找以识别将允许RPC管理器与目标网络元件通信的IDL。如上面关于图6所讨论的,多个网络元件可以与相同的RPC管理器IDL相关联。因此,RPC管理器可以简单地基于目标网络元件的已知类型来检索预编译的IDL适配器。替代地或附加地,IDL存储库413可以将每个网络元件与特定的预编译的IDL适配器相关联,例如,1:1关系。因此,主RPC管理器可以基于IDL存储库413中的目标网络元件与其对应的IDL之间的关联来确定要使用的预编译的IDL适配器。
在任何情况下,并且继续到动作826,主RPC管理器可以基于在动作824中实例化/选择的预编译的IDL适配器来识别要在目标网络元件上调用的一个或多个远程过程调用(例如,函数/方法)。在动作828中,主RPC管理器针对目标网络元件执行一个或多个识别出的远程过程调用。在动作830中,主RPC管理器从被执行的(一个或多个)远程过程调用接收响应,并基于这些响应以在动作802中从客户端接收到的请求相同的格式(例如,XML/JSON)生成响应消息。在动作832中,例如,通过中央管理器网关401路由生成的响应消息或者直接将生成的响应消息发送到客户端,主RPC管理器将生成的响应消息发送到客户端。
根据本公开的方面,公开了一种网络管理系统。该网络管理系统包括存储器、控制器,用于从远程计算设备接收用户请求,该用户请求包括至少一个网络元件地址和要在该至少一个网络元件地址上执行的操作的标识符;提取该至少一个网络元件地址和要在该至少一个网络元件地址上执行的操作的标识符;从存储器中选择与该至少一个网络元件地址相关联的预编译的接口描述语言(IDL)适配器;基于所选择的预编译的IDL适配器选择用于满足用户请求的至少一个远程过程调用(RPC)函数;通过向与该至少一个网络元件相关联的一个或多个网络元件发送至少一个基于IDL的消息来执行该至少一个RPC函数;以及基于来自执行的至少一个RPC函数的响应向远程计算设备发送响应消息,该响应消息与用户请求的格式相同。
根据本公开的另一方面,公开了一种用于服务远程过程调用请求的计算机实现的方法。该计算机实现的方法包括以下动作:由控制器从远程计算设备接收用户请求,该用户请求包括自描述消息,该自描述消息包括至少一个网络元件地址和要在该至少一个网络元件地址上执行的操作的标识符;由控制器提取至少一个网络元件地址和要在该至少一个网络元件地址上执行的操作的标识符;由控制器从存储器中选择与该至少一个网络元件地址相关联的预编译的接口描述语言(IDL)适配器;由控制器基于所选择的预编译的IDL适配器选择用于满足用户请求的至少一个远程过程调用(RPC)函数;由控制器通过向与该至少一个网络元件地址相关联的一个或多个网络元件发送至少一个基于IDL的消息来执行该至少一个RPC函数;以及由控制器基于来自执行的至少一个RPC函数的响应向远程计算设备发送响应消息,该响应消息与用户请求的格式相同。
根据本公开的又一方面,公开了一种光学通信系统。该光学通信系统包括在多个线缆登陆站之间延伸的光学通信路径,该多个线缆登陆站中的每一个与沿着光学通信路径布置的多个网络元件中的一个或多个网络元件相关联,该系统包括:RPC网关服务器,RPC网关服务器用于接收用户请求,该用户请求包括自描述消息,该自描述消息包括操作的标识符和要在其上执行该操作的至少一个网络元件的标识符;识别作为主网络元件操作的网络元件;以及向识别出的主网络元件发送第一消息,第一消息使主网络元件选择与和该至少一个网络元件的标识符相关联的网络元件对应的预编译的接口描述语言(IDL)适配器;以及使主网络元件基于所选择的IDL适配器和操作向网络元件发送至少一个消息。
可以使用控制器、处理器和/或其它可编程设备来实现本文描述的方法的实施例。为此,本文描述的方法可以在其上存储有指令的有形非瞬态计算机可读介质上实现,当指令由一个或多个处理器执行时,执行所述方法。
因此,例如,NMS 304可以包括存储指令(例如,在固件或软件中)以执行本文描述的操作的存储介质。存储介质可以包括任何类型的有形介质,例如,任何类型的盘,包括软盘、光盘、紧凑盘只读存储器(CD-ROM)、紧凑盘可重写盘(CD-RW)和磁光盘、诸如只读存储器(ROM)的半导体器件、诸如动态和静态RAM的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁卡或光卡、或适用于存储电子指令的任何类型的介质。
本领域技术人员将认识到的是,本文的任何框图表示实施本公开的原理的说明性电路系统的概念视图。类似地,应该认识到的是,任何框图、流程图、流图、状态转换图、伪代码等表示可以基本上在计算机可读介质中表示并且因此由计算机或处理器执行的各种处理,无论是否是明确地示出了这种计算机或处理器。软件模块或简单地隐含为软件的模块在本文中可以被表示为流程图元素或指示处理步骤和/或文本描述的执行的其它元素的任何组合。这样的模块可以由明确地或隐含地示出的硬件来执行。
可以通过使用专用硬件以及与适当软件相关联的能够执行软件的硬件来提供图中所示的、包括被标记为“处理器”的任何功能块的各种元素的功能。这些功能可以由单个专用处理器、单个共享处理器,或多个单独的处理器(其中一些处理器可以被共享)提供。此外,术语“处理器”的明确使用不应被解释为专指能够执行软件的硬件,并且可以隐含地包括但不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储装置。也可以包括其它常规的和/或定制的硬件。
除非另有说明,否则词语“基本上”的使用可以被解释为包括如本领域普通技术人员所理解的其精确关系、条件、布置、朝向和/或其它特性以及偏差,其程度是这种偏差对公开的方法和系统没有实质性的影响。在整个本公开中,使用冠词“一”和/或“一个”和/或“该”来修饰名词可以被理解为是为了方便起见并且除非另有说明,否则要包括所修饰名词的一个或多于一个。术语“包括”、“包含”和“具有”意图是包含性的,并且意味着可能存在除所列元素之外的其它元素。
虽然已经相对于其特定实施例描述了方法和系统,但是它们不限于此。显然,在上述教导的启发性,许多修改和变化都可能变得清楚。本领域技术人员可以对本文描述和图示的部分的细节、材料和布置进行许多其它改变。
已经出于说明和描述的目的呈现了示例实施例的前述描述。其并非意图穷举或将本公开限制于所公开的精确形式。在本公开的启发下,许多修改和变化都是可能的。意图是本公开的范围不受该详细描述的限制,而是受所附权利要求的限制。
Claims (15)
1.一种网络管理系统,包括:
存储器;
控制器,用于:
接收来自远程计算设备的用户请求,所述用户请求包括至少一个网络元件地址和要在所述至少一个网络元件地址上执行的操作的标识符;
提取所述至少一个网络元件地址和要在所述至少一个网络元件地址上执行的所述操作的标识符;
从所述存储器中选择与所述至少一个网络元件地址相关联的预编译的接口描述语言(IDL)适配器;
基于所选择的预编译的IDL适配器选择用于满足所述用户请求的至少一个远程过程调用(RPC)函数;
通过向与所述至少一个网络元件地址相关联的一个或多个网络元件发送至少一个基于IDL的消息来执行所述至少一个RPC函数;以及
基于来自执行的所述至少一个RPC函数的响应,向远程计算设备发送响应消息,所述响应消息与所述用户请求的格式相同。
2.如权利要求1所述的网络管理系统,其中,所述用户请求是符合简单对象访问协议(SOAP)标准或代表性状态转移(REST)标准的自描述消息。
3.如权利要求1所述的网络管理系统,其中,所述至少一个RPC函数是基于公共对象请求代理体系架构(CORBA)体系架构执行的。
4.如权利要求1所述的网络管理系统,其中,所述至少一个网络元件地址包括线缆登陆站的标识符、元件类型、元件标识符(ID)和/或子组件ID中的至少一个。
5.如权利要求4所述的网络管理系统,其中,所述存储器还包括存储在其中的拓扑表,并且其中所述拓扑表包括多个网络元件地址,每个网络元件地址与光学通信系统内的不同网络元件对应。
6.如权利要求1所述的网络管理系统,其中,所述存储器还包括存储在其中的IDL适配器表,并且其中所述IDL适配器表包括多个预编译的IDL适配器,所述预编译的IDL适配器中的每一个与光学通信系统内的一个或多个网络元件相关联。
7.如权利要求6所述的网络管理系统,其中,从所述存储器中选择与所述至少一个网络元件地址相关联的预编译的接口描述语言(IDL)适配器包括:在所述IDL适配器表上执行查找。
8.如权利要求1所述的网络管理系统,其中,从所述存储器中选择与所述至少一个网络元件地址相关联的预编译的接口描述语言(IDL)适配器包括:识别至少第一预编译的IDL适配器和第二预编译的IDL适配器,所述第一预编译的IDL适配器包括用于通用的基于IDL的通信的方法,并且所述第二预编译的IDL适配器为运行时可扩展性定义抽头接口以向网络元件提供定制的逻辑。
9.如权利要求1所述的网络管理系统,其在水下光学通信系统中实现,所述水下光学通信系统具有在至少第一线缆登陆站和第二线缆登陆站之间延伸的通信路径。
10.一种用于对远程过程调用请求进行服务的计算机实现的方法,所述方法包括:
由控制器从远程计算设备接收用户请求,所述用户请求包括自描述消息,所述自描述消息包括至少一个网络元件地址和要在所述至少一个网络元件地址上执行的操作的标识符;
由控制器提取所述至少一个网络元件地址和要在所述至少一个网络元件地址上执行的所述操作的标识符;
由控制器从存储器中选择与所述至少一个网络元件地址相关联的预编译的接口描述语言(IDL)适配器;
由控制器基于所选择的预编译的IDL适配器选择用于满足所述用户请求的至少一个远程过程调用(RPC)函数;
由控制器通过向与所述至少一个网络元件地址相关联的一个或多个网络元件发送至少一个基于IDL的消息来执行所述至少一个RPC函数;以及
由控制器基于来自执行的所述至少一个RPC函数的响应向远程计算设备发送响应消息,所述响应消息与所述用户请求的格式相同。
11.如权利要求10所述的方法,其中,从所述存储器中选择与所述至少一个网络元件地址相关联的预编译的IDL适配器包括:在IDL适配器表上执行查找,所述IDL适配器表包括网络元件和预编译的IDL适配器之间的多个关联。
12.一种光学通信系统,包括在多个线缆登陆站之间延伸的光学通信路径,所述多个线缆登陆站中的每个线缆登陆站与沿着所述光学通信路径布置的多个网络元件中的一个或多个网络元件相关联,所述系统包括:
RPC网关服务器,所述RPC网关服务器用于:
接收用户请求,所述用户请求包括自描述消息,所述自描述消息包括操作的标识符和要在其上执行所述操作的至少一个网络元件的标识符;
识别作为主网络元件操作的网络元件;以及
向识别出的主网络元件发送第一消息,所述第一消息使所述主网络元件选择与和所述至少一个网络元件的标识符相关联的网络元件对应的预编译的接口描述语言(IDL)适配器,并且使所述主网络元件基于所选择的IDL适配器和所述操作向所述网络元件发送至少一个消息。
13.如权利要求12所述的光学通信系统,其中,发送到识别出的主网络元件的所述第一消息被配置为使识别出的主网络元件经由公共对象请求代理体系架构(CORBA)与和所述至少一个网络元件的标识符相关联的所述网络元件通信。
14.如权利要求12所述的光学通信系统,其中,所述RPC网关服务器在网络管理服务器(NMS)内实现,所述网络管理服务器被配置为管理所述光学通信系统中的所述多个网络元件。
15.如权利要求12所述的光学通信系统,其中,与所述至少一个网络元件的标识符相关联的所述网络元件包括分支单元(BU)、网络管理系统、可重新编程的光学插/分复用器(ROADM)、中继器、电力馈送装备(PFE)或线路监视装备(LME)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310949472.0A CN116915829A (zh) | 2018-08-31 | 2019-08-30 | 光学通信系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/120,185 | 2018-08-31 | ||
US16/120,185 US10652077B2 (en) | 2018-08-31 | 2018-08-31 | Techniques for interfacing between web services and interface description language (IDL)-based remote procedure call (RPC) services and an optical communication system implementing same |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310949472.0A Division CN116915829A (zh) | 2018-08-31 | 2019-08-30 | 光学通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110875849A CN110875849A (zh) | 2020-03-10 |
CN110875849B true CN110875849B (zh) | 2023-08-15 |
Family
ID=67988850
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910811014.4A Active CN110875849B (zh) | 2018-08-31 | 2019-08-30 | 光学通信系统 |
CN202310949472.0A Pending CN116915829A (zh) | 2018-08-31 | 2019-08-30 | 光学通信系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310949472.0A Pending CN116915829A (zh) | 2018-08-31 | 2019-08-30 | 光学通信系统 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10652077B2 (zh) |
EP (1) | EP3617885A1 (zh) |
JP (2) | JP7418996B2 (zh) |
CN (2) | CN110875849B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977007B2 (en) * | 2018-12-05 | 2021-04-13 | Electronics And Telecommunications Research Institute | Apparatus and method for executing function |
CN113515392B (zh) * | 2021-05-17 | 2024-02-09 | 腾讯科技(深圳)有限公司 | Rpc调用方法、装置、设备及存储介质 |
CN113765805B (zh) * | 2021-08-31 | 2023-10-20 | 上海完美时空软件有限公司 | 基于调用的通信方法、装置、存储介质及设备 |
US20230176934A1 (en) * | 2022-09-12 | 2023-06-08 | Intel Corporation | Object linearization for communications |
CN116743833B (zh) * | 2023-08-16 | 2023-11-03 | 雄安国创中心科技有限公司 | 增强终端与服务通讯能力和网络控制能力的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040523A (zh) * | 2011-08-04 | 2014-09-10 | 韦斯技术有限公司 | 促成基于网络过程调用的使用的客户端-服务器通讯系统与方法 |
CN104980510A (zh) * | 2015-06-17 | 2015-10-14 | 中国人民解放军国防科学技术大学 | 一种corba分布式应用的透明集群化的方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682534A (en) * | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
US5920718A (en) * | 1997-03-21 | 1999-07-06 | The Boeing Company | Method and apparatus for creating executable code for object-oriented objects having finite state machine |
DE69733543T2 (de) * | 1997-04-14 | 2006-05-11 | Alcatel | Verfahren zum Anbieten von wenigstens einem Dienst an Fernmeldenetzbenutzern |
US6219835B1 (en) * | 1998-10-15 | 2001-04-17 | International Business Machines Corporation | Multi-language DCE remote procedure call |
US6728788B1 (en) * | 1999-12-16 | 2004-04-27 | International Business Machines Corporation | Method and system for converting a remote procedure call to a local procedure call when the service is on the same device as the calling client |
US6950935B1 (en) * | 2000-04-21 | 2005-09-27 | Sun Microsystems, Inc. | Pluggable authentication modules for telecommunications management network |
CA2329891A1 (en) * | 2000-12-29 | 2002-06-29 | Subsecond Technology Inc. | Method and apparatus for remote database maintenance and access |
US7424549B2 (en) * | 2001-04-09 | 2008-09-09 | Objective Interface Systems, Inc. | System, method, and article of manufacture for using a replaceable component to select a replaceable quality of service capable network communication channel component |
US20020156930A1 (en) * | 2001-04-24 | 2002-10-24 | Velasquez Alan S. | System, method, and article of manufacture for facilitating communication between an IMS process and CORBA process |
US20030009543A1 (en) * | 2001-04-30 | 2003-01-09 | Ankur Gupta | Network management system and computer-based methods for network management |
US7054951B1 (en) * | 2001-07-02 | 2006-05-30 | Cisco Technology, Inc. | Plug and play node addition in a dual ring topology network using locally significant ring identifiers for determining routing decisions |
US6757899B2 (en) * | 2001-10-11 | 2004-06-29 | Harris Corporation | Dynamic CORBA gateway for CORBA and non-CORBA clients and services |
US20050022208A1 (en) | 2003-07-24 | 2005-01-27 | Bolar Daniel Roy | Corba gateway |
US7849199B2 (en) * | 2005-07-14 | 2010-12-07 | Yahoo ! Inc. | Content router |
EP2088506A1 (en) | 2008-02-06 | 2009-08-12 | Software AG | Method and system for calling services from a remote client |
US20100106977A1 (en) * | 2008-10-24 | 2010-04-29 | Jan Patrik Persson | Method and Apparatus for Secure Software Platform Access |
EP2259551A1 (en) * | 2009-06-05 | 2010-12-08 | Software AG | Gateway server system comprising a gateway server for making SOAP/XML-based web services accessible to RPC clients |
US8462621B2 (en) * | 2009-07-27 | 2013-06-11 | At&T Intellectual Property I, L.P. | Systems and methods of multicast reconfiguration using cross-layer information |
US9015672B2 (en) * | 2012-01-31 | 2015-04-21 | The United States Of America As Represented By The Secretary Of The Navy | Interface simulator for test rig in data distribution service |
US9392053B2 (en) * | 2014-02-21 | 2016-07-12 | Dell Products L.P. | Generic transcoding service with library attachment |
CN103902283B (zh) * | 2014-03-03 | 2017-04-19 | 华东师范大学 | 在corba中利用模型转换实现实时异步通信的方法 |
US20150287766A1 (en) * | 2014-04-02 | 2015-10-08 | Tae-Chan Kim | Unit pixel of an image sensor and image sensor including the same |
US10977007B2 (en) * | 2018-12-05 | 2021-04-13 | Electronics And Telecommunications Research Institute | Apparatus and method for executing function |
-
2018
- 2018-08-31 US US16/120,185 patent/US10652077B2/en active Active
-
2019
- 2019-08-27 EP EP19193833.1A patent/EP3617885A1/en active Pending
- 2019-08-30 CN CN201910811014.4A patent/CN110875849B/zh active Active
- 2019-08-30 CN CN202310949472.0A patent/CN116915829A/zh active Pending
- 2019-08-30 JP JP2019157549A patent/JP7418996B2/ja active Active
-
2020
- 2020-04-08 US US16/842,963 patent/US11240095B2/en active Active
-
2021
- 2021-12-23 US US17/560,416 patent/US11552838B2/en active Active
-
2024
- 2024-01-10 JP JP2024002038A patent/JP2024055885A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040523A (zh) * | 2011-08-04 | 2014-09-10 | 韦斯技术有限公司 | 促成基于网络过程调用的使用的客户端-服务器通讯系统与方法 |
CN104980510A (zh) * | 2015-06-17 | 2015-10-14 | 中国人民解放军国防科学技术大学 | 一种corba分布式应用的透明集群化的方法 |
Non-Patent Citations (1)
Title |
---|
靳亚楠 ; .CORBA技术在传输综合网管系统中的应用.光盘技术.2005,(第07期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
JP2024055885A (ja) | 2024-04-19 |
US11552838B2 (en) | 2023-01-10 |
US20220116259A1 (en) | 2022-04-14 |
US10652077B2 (en) | 2020-05-12 |
EP3617885A1 (en) | 2020-03-04 |
JP2020042809A (ja) | 2020-03-19 |
US11240095B2 (en) | 2022-02-01 |
CN110875849A (zh) | 2020-03-10 |
CN116915829A (zh) | 2023-10-20 |
US20200235982A1 (en) | 2020-07-23 |
US20200076672A1 (en) | 2020-03-05 |
JP7418996B2 (ja) | 2024-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110875849B (zh) | 光学通信系统 | |
US20190036972A1 (en) | Inter-domain replication of service information | |
US7992132B2 (en) | Server side application integration framework | |
US8713177B2 (en) | Remote management of networked systems using secure modular platform | |
CN111416736B (zh) | 网络设备的配置管理方法、装置、计算设备及存储介质 | |
US7356562B2 (en) | Dynamic generator for fast-client static proxy from service interface definition document | |
US20110040814A1 (en) | System and Method of Accessing Resources in a Computer Network | |
CN114422350B (zh) | 一种公共云容器实例创建方法 | |
EP3938907A1 (en) | Methods, systems, and computer readable media for data translation using a representational state transfer (rest) application programming interface (api) | |
US7657635B2 (en) | Method and apparatus for converting network management protocol to markup language | |
CN115379010B (zh) | 一种容器网络构建方法、装置、设备及存储介质 | |
US11354491B1 (en) | Systems and methods for improved data modeling and translation | |
CN114938396A (zh) | 服务调用请求的路由方法、创建服务的方法及装置 | |
CN113448655B (zh) | C标准动态库的调用方法与装置 | |
WO2024169385A1 (zh) | 一种集群部署方法、装置、设备、介质及产品 | |
US7925788B2 (en) | Systems and methods for universal protocol for case management systems | |
CN112799795B (zh) | 业务实现方法、进程管理方法、装置、设备及存储介质 | |
US7007094B1 (en) | Object oriented communications system over the internet | |
US20150149606A1 (en) | Managed object manipulation | |
US20040088395A1 (en) | Method for probing a server | |
CN116319570A (zh) | 多集群的分布式负载均衡方法、系统、装置、设备及介质 | |
US12119987B1 (en) | Layer-specific modifications to network communications according to configurable rules at a proxy | |
KR101888792B1 (ko) | 데이터 통신 방법 및 이를 포함하는 시스템 | |
CN118055163A (zh) | 服务调用方法、装置、电子设备及可读存储介质 | |
CN112988385A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |