Intel IXA SDK ACE Programming Framework - Department of ...
Intel IXA SDK ACE Programming Framework - Department of ...
Intel IXA SDK ACE Programming Framework - Department of ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
OMS for Global Application Services<br />
Network interface <strong>ACE</strong><br />
Target T1<br />
Packet flow <strong>ACE</strong> 1<br />
Decision?<br />
Target T2<br />
Target T3<br />
<strong>ACE</strong> 2<br />
Processing<br />
Target T4<br />
The management program for an application binds and unbinds targets and <strong>ACE</strong>s<br />
using Resolver functions (ix_res_bind and ix_res_unbind) that are part <strong>of</strong> the<br />
OMS services. The <strong>IXA</strong> <strong>SDK</strong> also supplies utilities to bind <strong>ACE</strong>s and targets from the<br />
command line or from a script.<br />
The target mechanism makes the actual identities <strong>of</strong> the <strong>ACE</strong>s transparent to the<br />
action code that forwards the packets. The management part <strong>of</strong> your application can<br />
change the bindings <strong>of</strong> targets to <strong>ACE</strong>s to alter the path <strong>of</strong> packet flow, without you<br />
having to change the code in the <strong>ACE</strong>s themselves.<br />
For more information, see Chapter 5, “Controlling Packet Flow.”<br />
Communicatio<br />
n Among <strong>ACE</strong>s<br />
<strong>ACE</strong>s <strong>of</strong>ten need to communicate with one another or with a managing application<br />
for various reasons. For example:<br />
l<br />
l<br />
l<br />
<strong>ACE</strong>s can send alerts or status reports to the managing application.<br />
<strong>ACE</strong>s in a data processor module can receive control messages and data from<br />
<strong>ACE</strong>s in a control module.<br />
<strong>ACE</strong>s can send occasional packet data to other <strong>ACE</strong>s for special processing, or can<br />
exchange messages among themselves to coordinate packet processing.<br />
Because <strong>ACE</strong>s and their managing application might be running on different platforms<br />
and be written in different languages, the OMS acts as a message broker, using<br />
a remote procedure call model for object communication.<br />
<strong>ACE</strong>s and tasks communicate using a crosscall interface for remote method invocation.<br />
Remote method calls are handled through the distributed OMS, which provides<br />
marshalling and format conversion to address differences in byte order and word<br />
size between different processors.<br />
An <strong>ACE</strong> or task can act as a server or a client for remote procedure calls.<br />
l<br />
l<br />
The call server contains a crosscall object with the call method implementation.<br />
The call client makes remote calls to the call server using a crosscall reference object.<br />
12 Introduction and Overview<br />
Revision 3.3, August 2001