Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Parallel Processing Framework JPPF 1.1 Supports TCP Multiplexer and JMX Monitoring

Parallel Processing Framework JPPF 1.1 Supports TCP Multiplexer and JMX Monitoring

This item in japanese

The latest version of JPPF, a java based open source parallel processing framework, includes a networking tool called TCP port multiplexer to enable JPPF work in secure firewall environments. JPPF team released the version 1.1 of the framework which also includes JMX based node monitoring and management features.

Prior to the latest version of JPPF framework, there was no easy way to integrate JPPF in secure network environments, due to the inherent design of the communication layer. JPPF requires at least 3 separate TCP/IP ports to function but many firewalled environments only allow a single port. This blocks the network communication by preventing any traffic through the unauthorized ports.

The new TCP multiplexer addresses this limitation by enabling the routing of network traffic coming from multiple ports through a single port. It is then possible to tunnel the multiplexer-to-multiplexer traffic through SSH or any other protocol that allows tunneling of TCP/IP traffic. It also routes the same traffic from a single port to multiple ones on the other side of the network.

The end result is that JPPF components will continue to work in exactly the same way, except that they will connect to local multiplexer instances, rather than to remote JPPF servers. This opens the door to the deployment of JPPF in heavily secured environments, without having to deploy a complex hardware/software infrastructure.

TCP multiplexer tool comes as a separate component from JPPF components (clients, servers, and nodes) so it can be used without any changes to the existing JPPF client code. Each multiplexer instance is deployed as a separate process.

The first version of the multiplexer, released with JPPF 1.1, provides the basic functionality which currently only works for JPPF traffic. In a subsequent version, there will be another "flavor" that will work with any TCP/IP traffic. This will allow users to interact with web servers configured with non-standard ports or to make direct EJB calls to a J2EE server behind a firewall. The future versions of TCP multiplexer will also include the ability to apply independently developed filters enabling:

  • Encryption/decryption of the data routed from multiplexer to multiplexer
  • Encapsulation within higher-level protocols, for instance to work with HTTP and SOCKS proxies

Other new features in JPPF release include the following:

  • A new node management feature was added, that enables updating a node's execution thread pool dynamically.
  • A JMX based node monitoring feature was also added. This allows the administrators to collect the statistics like the node's system and java environment details.

The node monitoring feature is used to capture the information such as the state of the JVM, system and environment variables, available CPUs, and so forth. These statistics are accessible from the JPPF administration console. Other information available from the GUI console includes the node status, task execution status (whether a task has been executed or not), number of tasks executed etc. Specific tasks can be canceled or restarted from the admin console.

The admins and developers can get a overview of what environment a node runs in, as well as useful snapshots of its state, allowing for an understanding of how the load is handled. This information is available from the JPPF monitoring console as well as through dedicated APIs.

Laurent Cohen from JPPF team said that this is a preliminary step laying the ground for a new feature in the next major version, that will enable users and admins to control when, where and how JPPF jobs will be executed. JPPF jobs will be associated with an "execution policy" that will have access to the nodes' information and provide a fine-grained definition of the conditions in which a job can be executed.

The future roadmap of JPPF project also includes some major integration work, with a focus on integration with Gigaspaces for high volume transactional enterprise applications with computation-intensive needs, and business rules engines integration. Other future integrations include Business Process Management (BPM) and Extract, Transform and Load (ETL) frameworks. Also included in the roadmap is adding the multi-agent system capabilities to JPPF grid toolkit.

Rate this Article