An XMLbased System Architecture for IXAIA Intercommunication Peter

An XML-based System Architecture for IXA/IA Intercommunication Peter D. Ungsunan Tsinghua University

Background Greater availability of network processors allowing us to use larger groups of processors n Distributed and heterogeneous systems n Use of XML to share data in applications n Increased use of open source software for portability and flexibility n

Overview n Creating an XML framework ¨ to facilitate implementation of distributed network mechanisms Across platforms n Using open standards and software n ¨ To allow higher level applications to easily interact with networking functions

Goals Create a middleware framework for an IXA/IA media distribution application and for future distributed networking applications n Facilitate testing and implementation of distributed network applications and mechanisms n Support both IA and IXA architectures n

System Architecture n Has the following components ¨ Hardware ¨ Software ¨ Protocol ¨ Algorithms/Mechanisms

Hardware n Management LAN Segment ¨ Suitable for multi-homed network processors ¨ We assume that the management segment will be secured ¨ Isolated management segment as an out-ofband control channel Secure n Redundant n

Out-of-band Management LAN

Software Architecture n Linux OS (ie. Montavista, Red Hat 9) ¨ Standard n C libraries (ie. pthread, sockets) Application Components ¨ Application Code ¨ Intel IXA SDK ¨ XML Encoder ¨ XML Parser (ie. Expat)

Software Architecture Communication between IA server and IXP 2350: IA media server monitors CPU load, application state, etc. , periodically, and sends an XML message to IXP 2350’s server port IXP 2350’s server thread receives message, parses and updates the global variables for the application to access

Software Architecture Communication between IXP 2350 s: - To send a message, the application on IXP 2350 calls an API call that encodes the message into XML and sends the XML to the destination server thread. This is parsed and processed at the remote server thread.

Protocols n XML/ NETCONF-like ¨ Configuration Data ¨ Control commands n Over TCP/IP Sockets ¨ TCP connection oriented n For large message size, and reliable transport n Slower than UDP n Unencrypted

Related Work n NETCONF IETF Working Group n n n Configuration Data For initial configuration and updates Protocol Messages ¨ XML based n Hierarchal n Cross-platform ¨ Several Encapsulations ¨ IETF Draft Work in Progress n http: //www. ops. ietf. org/netconf/

Application Mechanisms n Load Distribution ¨ Feedback n n Mechanism CPU Load Failover

Load Distribution Programs on IA media servers send information updates in XML to server thread on IXP 2350 Server thread parses the XML and updates the applications’ global state variables for use by the main application

Failover Algorithm n At Primary IXP 2350 ¨ Start up and load configuration locally ¨ Connect and synchronize configuration with secondary IXP 2350 ¨ While running { n Send updates/keepalives to secondary } ¨ Upon failure, send cutover command to secondary

Failover Algorithm n At Secondary IXP 2350 ¨ Start up and load local Configuration ¨ Load Configuration from Primary IXP 2350 ¨ Start server thread and listen for updates from IXP 2350 ¨ If cutover command received or failure detected, then notify application to become active

Conclusion n n Combination of open XML technologies can be used to enhance IA/IXA intercommunication By combining these technologies, we can create more powerful network applications Middleware can help applications on the IA platform influence networking functions on the IXA platform Network Processors make a good testbed for emerging protocols such as NETCONF and testing complex mechanisms

Thank you Questions? Suggestions?
- Slides: 18