Jetnet
From Wikipedia, the free encyclopedia
Jetnet is the proprietary protocol that Paradigm R&D Corporation Ltd. (P:rd) products use to communicate with each other.
Contents |
[edit] Overview
Jetnet is a UDP/IP-based protocol that uses port 6543 by default. Jetnet is used by all P:rd products including TAPS, NODE and Converse. Jetnet was created to enable an application to operate in a distributed fashion across a homogeneous network of machines. Jetnet messages are XDR-encoded to enable this. Ports exist for MS Windows, HP-UX, AIX and Solaris.
At the centre of a Jetnet-based system is the Despatch Manager (DM). This is the single point through which the various elements communicate and as such is a single point of failure for a Jetnet-based system. On startup, elements register the list of messages that they can respond to with the DM. The DM has built-in capability to queue and resend messages in the event of a failures, but the elements also need to be able to handle the case where they send a message but never receive a response. A Jetnet API exists to allow developers to create Jetnet-enabled applications.
Jetnet messages take two main forms:
- Requests: An element effectively asks a question by sending a message to the DM and the DM forwards it, in a round-robin fashion onto the next element that can handle that Request. A Request may or may not require a Response.
- Responses: An element responds to a Request and the DM forwards the response back.
[edit] Advantages
- Jetnet works best when the workload to be achieved can be spread amongst a network of machines without caring who does what i.e. logically independent tasks.
- Jetnet is lightweight (in terms of its memory footprint) and CPU utilisation. The Jetnet code is designed (in a similar way to many grid-type applications) to make use of spare CPU cycles on machines.
[edit] Disadvantages
- Jetnet works less well when two specific elements need to communicate with each other. In this case, the DM is superfluous and is simply proxying messages.
- Jetnet also works less well when a single element is the focus of a lot of messages. In this case, it again is really just a proxy and it makes more sense for the elements to communicate directly.
[edit] Uses in P:rd products
- TAPS uses Jetnet to distribute the processing of large data sets such as telephone call detail records (CDRs). Each element is allocated a set of call records to enrich and rate.
- NODE uses Jetnet to distribute the creation of reports, such as customer telephone bills (each processing element is allocated a group of bills to produce).
- CONVERSE uses Jetnet to distribute the real time collection and communication with a network element such as a switch (commonly used for Least Cost Routing and CDR collection).