Caplin Liberator
Caplin's financial Internet hub and the world's best Web streaming server
Caplin Liberator is a financial Internet hub that delivers trade messages and market data to and from subscribers over any network, tunnelling automatically through proxy servers and firewalls. As the result of many years of intensive development and optimisation, Caplin Liberator is the world's best streaming server for Web applications.
Overview
Caplin Liberator provides a complete connectivity and subscription management system for streaming market data and trade messages over intranets, extranets and the Internet. It is capable of handling tens of thousands of concurrent users at high message rates with low, deterministic latency. It handles HTTP, HTTPS and RTTP traffic and features a high performance publishing engine capable of delivering more than a million updates per second from a single server.
Client applications communicate with Caplin Liberator via Caplin StreamLink, enabling them to send and receive data updates and trade messages in real time with very low latency. Caplin Liberator in turn uses the DataSource protocol to exchange data and trade messages with other server-side processes, including components of Caplin Xaqua such as Caplin Transformer and with DataSource adapters that act as gateways to other systems. These other systems can include a bank's own pricing or permissioning system, a DBMS or a market data system such as RMDS.
User permissioning and usage monitoring can be carried out in a variety of ways, for example using Caplin's XML Auth module, which enables programmers to use XML to create their own permissioning structures and control the entitlement to objects held on Caplin Liberator.
Caplin Liberator supports many data types, including text, logical records, containers and binary objects.
If you're considering evaluating Caplin Liberator for a commercial financial application, please contact us, since we're happy to discuss your requirements to ensure you have the correct components for your evaluation when you're ready to start.
If what you need is a high-performance, low-latency bi-directional streaming web server, Caplin Liberator is the best.
High performance, low latency
Caplin Liberator is the fastest web streaming server available, with the lowest average latency. But while average latency is a good indicator of overall performance, worst latency is the most critical measure - the time it takes for the slowest message to be delivered. If you are comparing products, you will find that other vendors publish their average latency or their 99th percentile latency - but rarely the 100th percentile.
In our tests (simulating up to 4,500 users each receiving 50 messages/second) Caplin Liberator's worst latency is 25x better than its most widely adopted competitor. And Caplin Liberator scales to support many more users - the competitive product failed at 2,000 users. Remember that where latency is concerned, smaller is better (click on graph to enlarge):
Note that these tests were conducted under laboratory conditions on a local network. Actual latencies achieved by these products in a deployed installation using the Internet will, of course, be greater.
Vital Statistics
Each configuration is different, but here are some examples of the kind of performance that Caplin Liberator can achieve:
- A single instance of Caplin Liberator can support up to 4,500 users each receiving 50 messages per second, with an average latency of less than 6ms.
- A single instance of Caplin Liberator can support more than 20,000 users each receiving 10 messages per second, with an average latency of less than 3ms.
- A single instance of Caplin liberator can support up to 100,000 clients each receiving 1 message per second with an average latency of less than 7ms.
Flexible and configurable
We've spent more than a decade building Caplin Liberator to scale, to be resilient and handle fail-over and to manage variable Internet connection times; Caplin Liberator also tunnels through routers and firewalls without needing them to be reconfigured, and works with the widest variety of client applications. It's highly configurable so that you can establish the best performance for your application - whether you're looking at handling thousands of messages per second, mixing pricing and trading messages, or simply looking to send a small number of messages from a single server to 100,000 users in the shortest possible time. Caplin Liberator can manage all of these situations.
Caplin Liberator connects (via Caplin Streamlink) with applications built in C, C++, .NET and Java, connects to Apple iOS to enable iPhone and iPad apps, connects to Microsoft Excel applications, and of course Caplin Liberator supports applications written in javascript, Microsoft Silverlight or Adobe Flex/Flash, that run in a web browser.
A major client, one of the world's largest banks, in its own tests, determined that no competitive product performed as well, or scaled as well, as Caplin Liberator - so it bought an enterprise license and now uses it to distribute real-time data across its whole operation, both internally and over the Internet. It is not alone; we have testimonials from other clients who say the same thing.
But don't take our word, or even our customers' word, for it. Try it for yourself - contact us to arrange a full test in your own environment - entirely free of obligation. We will advise on how to configure Caplin Liberator to best meet your specific needs, and we're confident of the result.
Why does Liberator perform so well?
Liberator has been designed from its original conception to receive high message rates and fan out delivery to large numbers of subscribed clients.There are a number of reasons why Liberator does this so well:
- Liberator is implemented in C. This allows for low-level optimizations and predictable execution times.
- Liberator is optimised for the UNIX operating system, and uses its low-level event libraries and real-time internals effectively.
- Liberator's internals are written with speed as a priority for its main data-paths. It is not over-engineered with excessive levels of abstraction.
- RTTP, the protocol used between Liberator and clients, is efficient and not wasteful of bandwidth. This can make a huge difference to server scalability and performance as both the number of users and data rates increase.
- Liberator allows message handling and delivery to be controlled by configuration, allowing choices on trade-offs between latency, number of users and message rate to be made.
- Over the course of more than 10 years, Liberator has been continuously optimised for financial markets messaging and data by a highly-capable engineering team, driven by demanding real-world finance usage scenarios across multiple asset classes.
