Home    
 
Products Solutions Developers Nirvana Nirvana documentation Nirvana examples Nirvana FAQ Nirvana Archive Matrix Partners Download Company Contact
 
 

Welcome to the developers portal for

home > developers > nirvana
Nirvana is the fastest, most complete, most reliable, most scalable and most flexible real-time message oriented middleware solutoin. Designed and built from the ground up to extend the reach of existing technologies, Nirvana overcomes the integration related problems associated with extending your systems out to clients and partners. Nirvana delivers this functionality across J2ME and J2EE environments.

Nirvana guarantees message delivery regardless of network type or requirements - from public to private to wireless. Nirvana is the only messaging product available today which can do this without the use of a web server or modifications to firewall policy. Nirvana is secure, platform independent and has the capability to store messages for replay on demand.

Latest Features

Nirvana 4.0 brings message oriented middleware to a new level featuring enhanced scalability through the use of NIO, singnificant performance gains through new and improved fanout algorithms for both standalone and clustered environments as well much more. For a full list of new features please see below.

Performance and Scalability

Nirvana 4.0 provides vast scalability in terms of the number of client connections which can be supported by a single server, whilst still managing to maintain a small resource footprint on the host machine. This is achieved through the use of Java's NIO (non-blocking IO) for all client connections including SSL.

NIO

The use of NIO has removed the limits imposed by standard blocking IO. The consequent reduction in the number of threads required in order to support large numbers of clients and enhance event fanout algorithms enables Nirvana to deliver an unprecedented number of messages per second within low latency limits to very large numbers of clients.

Reduced Bandwidth Requirement

Nirvana 4.0 message payloads have been further optimized to reduce network usage and to reduce the demand on the operating system. This has been coupled with improved client / server communications to reduce the bandwidth requirements thereby improving performance by reducing the processing required at client and the server endpoints.

JMS Engine

The Nirvana realm server now supports a JMS style event fanout for topics. The principle differences between this fanout mechanism and the default fanout used with a Nirvana 3 realm is that events are held in memory (NON_PERSISTENT) or written to disk (PERSISTENT) only when there are known durable subscriptions for the topic in question. For all other scenarios, once an event is delivered it is not stored, and for those situations where there a no consumers to the topic, events are once again discarded. This not only enables the event delivery to be extremely fast, but also reduces the overhead in memory used as well as disk storage space.

Transient Channel Type

As well as the JMS style fanout engine, Nirvana 4.0 also introduces a new channel type called TRANSIENT, where no event is ever written to memory or disk, and is simply discarded once it has been delivered to the consumers.

Server Startup Time

The server will now delay loading of topics and queues until it receives the first request from a client to consumer from the topic / queue. This reduces the start time of the realm server and reduces the memory usage on the realm by only loading required topics and queues until they are required.

WebExpress - Streaming Javascript with AJAX/Comet

Nirvana 4's plugin architecture now provides support for asynchronous publish subscribe in Javascript. Extending the concepts of Ajax and specifically Comet Nirvana can now stream realtime data into live web pages.

Clustering

Nirvana 4.0 features improvements to our clustering capability. Clustering allows a group of Nirvana realms to replicate channels and queues between them irrespective of realm server location. The Nirvana 4.0 cluster maintains the state for all objects across all realms within the cluster. For example popping an event from a clustered queue will ensure that it is popped from the same queue on every clustered instance of the queue.

Master Selection

In Nirvana 4.0 new algorithms have been included which ensure that the selection of cluster master is based on which as the most up to date state. This ensures that clusters reform quickly and without any data loss even after a complete cluster shutdown.

Inter-Realm Communications

The inter realm communication between cluster nodes has been optimized for performance and modified for high availability. Nirvana 4.0 performance has improved dramatically for non transactional event processing, with much faster throughput rates being achievable. As well as this, any guaranteed delivery (transactional publishing, transactional queue consumers and durable subscriptions) have also been modified to ensure cluster state is maintained across all nodes given any disaster scenarios where nodes within the cluster are offline or unavailable.

Cluster Formation

Cluster formation has been enhanced to decrease the time taken to form a cluster after a full restart, as well as reformation of the cluster once quorum is lost or the master goes offline and a new master is elected. As well as this, the recovery of the stores, both user and hidden system stores has been optimized in order to dramatically reduce the time taken for nodes to go from offline to recovery and then to slave states. This in turn improves the time taken for clients to failover between cluster nodes and maintain a continuous stream of operation.

For more information on clustering, please see the clustering white paper

Peer to Peer

P2P now utilizes nirvana queue based communication to improve message performance between p2p clients.

Proxy Connect

The Nirvana http(s) client driver now supports the ability to perform a proxy connect directly to an ssl based socket interface. The new protocol (called nhpsc) means that when you are using a proxy that supports proxy connect, the client will connect to the proxy via http(s) and the proxy will make a direct ssl socket connection to a Nirvana interface, thus providing much better performance over the persistent socket connection.

Last Event Marker

The Nirvana client API now supports the concept of asynchronously subscribing to a topic with the ability to determine when the last event in the topic has been consumed. This functionality helps when the topic in question has a finite set of data (or a data set that does not change rapidly over time), and you need to consume the data asynchronously for better performance.

Server Administration

The Enterprise Manager administration application has undergone a look and feel change to make the task of managing Nirvana Realms easier.

In addition a new realm panel that shows the status of all thread pools and scheduled tasks within the realm has been added . This panel is useful in assisting with runtime performance analyis . Each Nirvana server thread pool is available for modification to the needs of the host system and application profile. This is made available through the Enterprise Manager configuration section.

Finally the Enteprise manager application now supports the ability to save and reload realm server connection data in profiles. These profiles allow administrators to group servers and instantly establish communications with them through loading a profile.

Previous Releases

For a list of previous features added to version 3.0 of Nirvana, which are also available in version 4.0, please click here.

For a list of previous features added to version 2.0 of Nirvana, which are also available in version 3.0, please click here.

 
 

 

 
   
© 2001-2008 my-channels.com. (Terms of Use)