Multicasting in the Cloud: What You Need to Know
March 20, 2017 / Sonja Schweigert
What Is Multicasting?
There are a variety of ways to send information across a network. The most commonly found technique, known as unicasting, occurs when one sender sends a message to a single recipient. Broadcasting, perhaps the most well-known technique, refers to the transmission of information from a single sender to all other hosts on the network.
Unlike unicasting and broadcasting, multicasting involves a different set of potential senders and receivers. With multicasting, information is sent by one or more senders to a particular group of receivers. This receiver group may include all hosts on the network, none of the hosts, or any combination in between.
Receivers form themselves into groups and the network arranges delivery. When information is sent via multicasting, a single transmission is split up between the intended recipients.
Because it is well-suited for a group of clients all requesting access to the same data, multicasting is ideal for streaming media such as television, movies and radio, as well as video conferences and webinars (though these are frequently unicast because multicast isn’t always available in the public internet). Additionally, multicasting can be used any time the same data, such as news articles and stock quotes, needs to be sent to a select group of subscribers.
Though the public cloud does not support multicast, financial institutions build high-spec internal networks that support it.
Multicast is the transmission method of choice for them to send time-sensitive information quickly. It also scales easily to hundreds or thousands of receivers. Because of this, multicasting has been principally used for sending and receiving financial data such as stock quotes.
The Financial Use Case for Multicasting
Typically, a stock exchange like Nasdaq or the New York Stock Exchange uses multicasting to send information about buying and selling stocks internally as well as to investment banks distributed in various geographical locations. Interested parties then initiate a transaction with the stock exchange via unicasting, which causes the stock price to update and results in another update pushed out to subscribers, which will come back to the multicast network.
Reuters Market Data System (RMDS) is a platform provided by media and information company Thomson Reuters for market data applications. RMDS is explicitly intended to manage data from stock exchanges and other financial sources and transmit it to end users such as banks and other businesses.
The advantages of RMDS include a high-throughput, low-latency platform that can integrate and unify a variety of data sources within a single application programming interface (API). RMDS competitors include TIBCO Rendezvous, which enables software to communicate across different hardware and programming languages, and Wombat, a software solution for rapid transmission of financial data and messages.
Financial services customers must have disaster recovery (DR) environments in order to service their customers and make payments when they experience an outage in their datacenter. And obviously, if they run software using multicast, then their DR environment must support multicast. However, if they would like to take their system to the cloud, they have a problem because multicast is not supported by any cloud providers. Weave Net solves this problem for those who wish to create cloud-hosted disaster recovery systems.
In 2016, the ISE became the first regulated exchange to institute cloud-based disaster recovery. It uses Weaveworks’ Weave Net for its multicast feature. Their ISE multicast proxy sends market data across data centers, so information can be cleanly transferred from one center to another in the event of a disaster. Additionally, since these disaster recovery systems are cloud-hosted, it means data centers can be transferred miles away with minimal latency to further secure this information.
Why RMDS and Multicasting Are a Perfect Fit
As mentioned above, there are a number of alternatives to multicasting when sending information over a network. These include the previously mentioned unicasting and broadcasting.
Each method has their own pros and cons, suiting different situations. When it comes to the RMDS platform, multicasting is the obvious choice.
For one, alternatives like unicasting do not scale well when confronted with the technical needs of platforms such as RMDS. Because unicasting involves sending data on a one-to-one basis, it is extremely inefficient for sending messages to multiple receivers since the data has to be replicated for each additional receiver.
Neither is broadcasting well-suited for use with RMDS. It is necessarily limited in scope because it can only send to recipients who are within the broadcast domain. In addition, broadcasting may be seen as wasteful when used to send information that not every host needs.
Multicasting, by contrast, fits perfectly into the intended use of RMDS: sending messages to a select group of receivers. The publisher-subscriber model means that only those hosts who opt in should receive information from the publisher, a requirement that’s made easy via multicasting.
Weave Net’s Multicast Solution
Despite the abundant use cases for multicasting, it is not readily available in the cloud. All of the major cloud providers, such as Amazon Web Services, Microsoft Azure, and Google Cloud Platform, don’t have built-in hardware support for multicasting.
Weave Net provides full multicast support for both contained and uncontained applications. It is the only solution that allows the use of multicast under cloud provider restrictions. This allows you to run your application using multicasting anywhere, including the aforementioned cloud platforms, without native multicast support. Weave Net is easy to configure and deploy, making it simple to give your multicast applications the benefits of public cloud services.
Original outline for reference:
Keywords to include throughout the post (no keyword stuffing, just as a point of reference): multicasting, data distribution service, DDS
- What is a data distribution service?
- When is it useful? Any industries that concern the IoT such as financial trading (this is the most common use case, though it is also useful for some government agencies). Any situation where specific information needs to be transmitted to a specific receiver.
- What is multicasting? And what components make up multicasting?
- Why are DDS systems and multicasting a perfect fit?
- Downsides to unicast and broadcast in favor of multicasting
- Financial use case for multicasting on a distributed system: finance. This is what stock exchanges use to send ticker information
- Bringing in third party tools: Multicasting isn’t native to AWS, Azure, GCP and other platforms. But Weave Net has multicasting. Why that matters.