24
BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based Workshop 19 January, 2001 Santa Clara, CA

BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

Embed Size (px)

Citation preview

Page 1: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

A Plug-in Transport with Dissimilar ORBs and a Connectionless Network

Nathan ScandellaBoeing Phantom Works

OMG Embedded Object-Based Workshop

19 January, 2001

Santa Clara, CA

Page 2: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Plug-in Transports for CORBA

• Introduction to DARPA/Air Force Project

• Design Motivators

– system architecture

– description of our transport

• CORBA Solution

• How to Plug In a Transport

• Lessons Learned

– recommendations for RT CORBA

Page 3: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

WSOA Introduction

• Case Study - DARPA/Air Force sponsored flight demonstration project

• Weapons System Open Architecture (WSOA)

• Standards-based middleware desired

• Secure tactical datalink available between aircraft

punch line:

• TAO and ORBexpress real-time ORBs chosen

• Datalink transport plugged-in to ORBs

Page 4: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Commercial Satellite / GBS

Virtual Data Archive• IPL Provides Target Imagery• Generates Mission Preview• Injects Time Critical Tactical

Data into Broadcast

Airborne C2 Node• Collaborates for Target

Validation• Retasks Enroute Strike• Net Meeting with

Warrior to replan route

Warrior•“Browser” Requests for Target and

Imagery data• Net Meeting with C2 Node for Target

Review and Mission Replan•“Browser” Requests for Mission

Rehearsal• Pulls Imagery and Rehearsal Data• Previews Updated Mission Enroute

JTIDS RF Net• Browser Requests• Low Volume Imagery• Backbone for Tactical “Net Meeting”

• Broadcast of Time Critical Data

WSOA Project Concept

C2 = Command & Control (e.g. AWACS)

Page 5: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

F-15C2

Server-sidedelegate

IDL

CollaborationClient

IDL

Client-sidedelegate

CollaborationMgmt Task

Shared Display Task

Shared DisplayData

Collaboration Server

ORBexpress RT CORBA BUS TAO

VTF

ATO Server

IPL

VTF ServerDisplay

ATOData

WSOA Software Architecture

IPL Server

VTF “Server”

“Client”

Page 6: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

F-15C2

Server-sidedelegate

IDL

CollaborationClient

IDL

Client-sidedelegate

CollaborationMgmt Task

Shared Display Task

Shared DisplayData

Collaboration Server

ORBexpress RT CORBA BUS TAO

VTF

ATO Server

IPL

VTF ServerDisplay

ATOData

WSOA Software Architecture

IPL Server

VTF

Page 7: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Link 16 Transport

• Time Division Multiple Access (TDMA)

• Nodeless

• Message and Transmission Encryption

• Frequency Hopping

• UHF, LX Band

• Line of Sight

Mil-Std-6016 Tactical Digital Information Link - Joint Tactical Information Distribution System (JTIDS)

Page 8: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Link 16 Transport

• Secure RF broadcast network

– no connections!

• Reliable delivery, error detection and correction

• Most messages are content specific, except JTIDS free text message

– this message used to transmit secure digital voice data

– compressed imagery not tolerant of transmission errors

• Free text (~byte stream) effective data rate < 16kbps

• “Transport” is really a network application

– GIOP could be tunneled thru JTIDS messages, though

Page 9: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

• message sequence number

• subaddress – ala TCP “port”

– currently, no host identifier

• message status – start, during, end

• message byte count

• overhead– approx. 4 bytes per (GIOP) message + 2 bytes for

each 54 bytes of (GIOP) message length

• compatible with other free text data applications

Free Text Message Transport Layer

headerGIOP ...

1

2

3

“link16://00041:12”

Page 10: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Aside: Why Else to Replace TCP/IP?

From OIS, CORBA Programming with ORBexpress in Ada 95

Page 11: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

CORBA Implementation - Inline Bridge

Client Application

TAO

Transport interface

Connectionlessdatalink

messaging

ORBexpress

“Server”

Transport interface

Connectionlessdatalink

messaging

Socket simulation or

ORB API (pluggable protocols)

Which API?

Which API?

Page 12: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

CORBA Implementation - Inline Bridge

Client Application

TAO

Transport interface

Connectionlessdatalink

messaging

ORBexpress

Delegateor

Proxy Server

Transport interface

Connectionlessdatalink

messaging

IIOP/TCP(sockets)

ServerApplication

Java ORB

IIOP/TCP(sockets)

Socket simulation or

ORB API (pluggable protocols)

Which API?

Which API?

the delegate sits on a “firewall” and uses two transports concurrently!

Page 13: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

CORBA Implementation - Transport

IIOP

Native ORB transport

Plug-intransport

From OIS, CORBA Programming with ORBexpress in Ada 95

• Pluggable transport protocol between TAO and ORBexpress RT

• Each ORB has unique transport interface

• Future CORBA specification should standardize this

Page 14: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

CORBA Implementation - Inline Bridge

– CORBA recommended method for inline bridging

– in CORBA spec in the future?

– uses GIOP

– clean integration into ORB

– multiple transports OK

– simple high level API for ORBexpressRT

– experience with this method

– standard network interface for other network apps

– uses IIOP (GIOP over ~TCP)

– requires namespace resolution for using real IPC sockets AND socket emulation

– may have complex system calls to emulate true POSIX sockets

– experience with this method

Which Network API?

Socket APIORB Pluggable Protocol

Page 15: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Client-Side Delegate

TAOORB

Network Transport Interface

Link-16 s/w

JTIDS h/w

Application Client

1: getImage(ref )

2: getImage(ref )

OIS ORB

Network Transport

Interface

Link-16 s/w

JTIDS h/w

Server-side Delegate

Imagery Server

8: callbackFreeText(GIOPmsg)4: sendMsg(GIOPmsg )

3: write(address, GIOPmsg)

18: listen(address, GIOPmsg)

5: sendFreeText (GIOPmsg)7: recvFreeText(data) 6: xmitFreeText (bits)

15: xmitFreeText (bits)

9: listen(address, GIOPmsg)

10: getImage(ref )

11: getImage(ref )

12: write(address, GIOPmsg)

13: sendMsg(GIOPmsg )

14: sendFreeText (GIOPmsg)16: recvFreeText(data)

17: callbackFreeText(GIOPmsg)

CORBA Implementation

C2 F-15EClient-Server Request for Imagery

* AMI not shown

Page 16: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

GIOP Transport Requirements

• Connection-oriented

• Reliable

• Stream-based

• Notification of connection-loss

• Connection-initiation model

• Wrap Link-16 addressing info into

transport messages.

• Transport includes orderly delivery.

• Implemented by free text transport

layer.

• Asynchronous messaging used to avoid

timeouts.

• Dummy connect() call implemented.

IOR strings used.

Requirement Comments

From OIS, CORBA Programming with ORBexpress in Ada 95

Page 17: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Plug-in Transport Framework

classes to implement

TAOClientClass

Diagram

from Kuhns et al., The Design and Performance of a PluggableProtocols Framework for Real-time Distributed Object ComputingMiddleware

Page 18: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Plug-in Transport Framework

classes to implement

TAOServerClass

Diagram

from Kuhns et al., The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object ComputingMiddleware

Page 19: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

WSOA Server Side Architecture

Program LayerL

ink

11

Lin

k 1

6

Lin

k 4

Wea

pon

s

Tra

cker

AT

Os

Etc

.

Tactical Services (datalink interface)

Human Machine Interface (HMI)

Executive Services

COTS/GOTSUNIX

CompatibleApplications

Ada Run Time System

Operating System (UNIX)

Hardware (Compaq Alpha)

COTS LAN

IJ

MS

ES

M

Existing Command and Control Architecture

Mission Computer Program

Page 20: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

WSOA Server Delegate Architecture

WSOA Server Application

Java Run Time

Operating System (UNIX)

COTS LAN

Hardware (Compaq Alpha)

Java Class Libraries

ORB

Database (VTF, ATO, IPL) Mgmt

Collaboration Server

C2 Display

Program Layer

SharedDisplay

Task

Detailed WSOA CORBA Architecture

Mission Computer Program

ORBLin

k 1

1

Lin

k 1

6

Lin

k 4

Wea

pon

s

Tra

cker

AT

Os

Human Machine Interface (HMI)

Executive Services

Ada Run Time System

Operating System (UNIX)

COTS LAN

IJM

S

ES

M

Etc

.Del

egat

e

Program Layer

Hardware (Compaq Alpha)

Etc

.

Tactical Services (DI xport)

COTS/GOTSUNIX

CompatibleApplications

Page 21: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Concurrency Model - C2 (Server)

Process

Data, Events

intRA-process communication

IIOP NFS

Data,Events

Mission Computer Program (Ada)Mission Computer Program (Ada)

Library orsubroutines

Tactical CoreTactical Core

Thread

Link 16 ProcessingLink 16 Processing

Delegate (Ada) Delegate (Ada)

Transport(DatalinkInterface)

Transport(DatalinkInterface)

ORBexpressORBexpress

Free textxmit/recv

Free textxmit/recv

WSOA Server(Java)

WSOA Server(Java)

Collab &ImageryServer

Collab &ImageryServer

imagerydb

databasemanager

databasemanager

Serverside

delegate

Serverside

delegate

Page 22: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Concurrency Model - Client/Server

Asynchronous Callback AMI Programming Model

OISORB

ImageryServer

BOA-1: getImage (in imageName, out image)

BOA-2: getImage(in imageName, out image)

Server Interface

Request Interface

Server-Side Delegate

Client-Side Delegate

Application Client

Image Manager

ECS-3: sendc_getImage (ImageManager *, in imageName, out image)

ECS-4: getTile (in imageName, out image)

Server Interface

Server Interface

Notify Interface

POA-1: getImage (in image)

ECS-1: getImage (in imageName, out image)

ECS-2: getImage (in imageName)

C2

F-15E

client’s local version of imagery server

async return keepsclient middleware

from blockingwith our Link 16

transport

TAOORB

Page 23: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Integration Issues and Lessons Learned

• Full performance data and results

available late 2001

º two way interoperability verified

• Separate transport mapping for each

ORB

° my OE mapping layer:

~ 500 SLOC so far

• ProfileId Tags must match

• _IOP Profiles not standard

º TAO flexible enough to match

º recommend standardizing on OE’s

UIOP profile

module IIOP{ // IDL struct Version{ char major; char minor; }; struct ProfileBody{ Version iiop_version; string host; unsigned short port; sequence object_key; };};

standard profile for

IIOP

Page 24: BBN Technologies a part of A Plug-in Transport with Dissimilar ORBs and a Connectionless Network Nathan Scandella Boeing Phantom Works OMG Embedded Object-Based

BBN Technologies a part of

Integration Issues and Lessons Learned

• Simple IDL interfaces work well

– don’t push on all sides of the

envelope at once!

• A RT CORBA standard for plug-in

transports would be extremely

valuable

• Pluggable Protocol Services, too?

– we built our own COS Name Service

wrapper

module WSOA{ typedef string token; typedef sequence <octet> rawImageData;

exception INVALID_TOKEN { string explanation; };

interface ClientImage { rawImageData getImage (in token imageID) raises (INVALID_TOKEN); };};