previous next

Chapter 7: Proxy Routing and Redundant Proxies

Helix Universal Proxy can use other Helix Universal Proxys to route media requests between the Helix Universal Server and RealOne Players. For networks that handle Internet-bound requests with strict rules, you can configure Helix Universal Proxy to route requests for material originating from certain Helix Universal Servers through other Helix Universal Proxys. In addition, you can configure your network to deliver media consistently using more than one Helix Universal Proxy in case one network path should become disabled. This chapter explains how to set up proxy routing, and how to configure redundant proxies.

Proxy Routing

Proxy routing, sometimes known as chaining or parent/child, allows you to route Helix Universal Proxy requests through other Helix Universal Proxys.

The proxy routing feature instructs Helix Universal Proxy to look at the address of the requested material, and to send it either to a specific Helix Universal Proxy, or to send it directly to the Helix Universal Server that hosts the content.

The main Helix Universal Proxy which handles requests bound for the Internet is called the parent Helix Universal Proxy; the Helix Universal Proxys located closest to the clients are called child Helix Universal Proxys.

Typical uses for this feature include routing all requests for locally-served material directly to the Helix Universal Server, and forwarding all other requests through a gateway Helix Universal Proxy.

Notes on Deploying This Feature

A parent Helix Universal Proxy can also stream content to clients while simultaneously streaming data to a child Helix Universal Proxy. While it is technically possible for a child Helix Universal Proxy to also act as a parent Helix Universal Proxy, RealNetworks does not recommend this configuration due to the compounding of network and application latency.

Warning! This feature is designed specifically for enterprise scenarios in which subnet traffic is routed through proxy software. Proxy routing is not recommended for use in any other scenarios, as the increased latency and administrative overhead are appropriate only to controlled network situations.

Rules for Routing

Each child Helix Universal Proxy directs its streams to other Helix Universal Proxys by use of rules.

Rules are sorted in the order in which they appear in Helix Administrator. Therefore, it makes sense to put the rules which affect the most requests later in the list. Put the most specific rules first.

Use an asterisk (*) to indicate a wildcard section. There are some conditions for using the wildcard:

Proxy Routing and Helix Universal Proxy Features

This section describes how proxy routing works with three of Helix Universal Proxy's features.

Pass-through

The pass-through feature under proxy routing works like this:

  1. The client requests a stream through the child Helix Universal Proxy. The child Helix Universal Proxy forwards the request to the parent Helix Universal Proxy outside the subnet. The parent Helix Universal Proxy makes the request of the origin Helix Universal Server, which sends the data to the parent Helix Universal Proxy.
  2. The child Helix Universal Proxy streams the request to the client.

The parent Helix Universal Proxy maintains the control connection to the origin Helix Universal Server; the child Helix Universal Proxy doesn't contact the origin Helix Universal Server directly.

Caching

With caching, the parent Helix Universal Proxy always forwards the requested media to the child Helix Universal Proxy; at the same time it stores the cache data itself. If a client requests the same data directly from the parent Helix Universal Proxy, that Helix Universal Proxy must still contact the origin Helix Universal Server before sending its cache. This prevents the parent Helix Universal Proxy cache from sending data that's out of date.

Each Helix Universal Proxy in proxy routing caches the requested media as it forwards the cache data to either another Helix Universal Proxy or to a client.

Caching under proxy routing works like this:

  1. The client requests an on-demand stream, through the child Helix Universal Proxy. The child Helix Universal Proxy proxies the request and sends it to the parent Helix Universal Proxy outside the subnet. The parent Helix Universal Proxy makes the request of the origin Helix Universal Server. The origin server sends the data to the parent Helix Universal Proxy.
  2. The parent Helix Universal Proxy caches the data and streams the request to the child Helix Universal Proxy.
  3. The child Helix Universal Proxy caches the data and streams the request to the client.

Notice that the parent Helix Universal Proxy fills its cache with the data.

How Caching Works With Helix Universal Proxy Routing

Pull Splitting

The following steps describe proxy routing with the pull splitting feature:

  1. The client requests a stream, through the child Helix Universal Proxy. The child Helix Universal Proxy proxies the request and sends it to the parent Helix Universal Proxy outside the subnet. The parent Helix Universal Proxy makes the request of the Helix Universal Server acting as the origin transmitter. Then, the server sends the data to the parent Helix Universal Proxy.
  2. The child Helix Universal Proxy streams the data to the client.
  3. The second client to request the same material from the child Helix Universal Proxy receives a split stream.

Notice that the splitting happens at the child level. A control connection is maintained with the origin transmitter, by way of the parent Helix Universal Proxy. Splitting does not happen at the parent Helix Universal Proxy; if a client connects to the parent Helix Universal Proxy and requests the same stream, the parent Helix Universal Proxy must proxy the request to the origin transmitter in the usual manner and splits that stream.

Customizing Proxy Routing Settings

When adjusting the proxy routing settings, you make changes to the child Helix Universal Proxy only. You do not need to make any changes to the parent Helix Universal Proxy.

To set up proxy routing:

  1. In Helix Administrator, click Proxy Setup. Click Proxy Routing.
  2. In the Routing Rules area, click the "+" icon.
  3. A generic rule name appears.

  4. In the Edit Rule URL box, type the rule information you want this child Helix Universal Proxy to use.
  5. Click Edit.
  6. If this rule points involves a parent Helix Universal Proxy (rather than simply allowing all requests that fit the rule to pass directly to an origin Helix Universal Server), use the following steps:
    1. From the Use Parent Proxy list, select Yes.
    2. In the Parent Name box, type the host name or the IP address of the parent Helix Universal Proxy where the client's request should be directed.
    3. In the Parent RTSP Port box, type the port number of the parent Helix Universal Proxy to which requests for RTSP should be directed.
    4. Match the parent Helix Universal Proxy's value for RTSP Port (usually 554).

    5. In the Parent PNA Port box, type the port number of the parent Helix Universal Proxy to which requests for PNA should be directed.
    6. Match the parent Helix Universal Proxy's value for PNA Proxy Port, usually 1090.

    7. In the Parent MEI Port box, type the port number of the parent Helix Universal Proxy to which cache requests should be directed.
    8. Match the parent Helix Universal Proxy's value for MEI Port, usually 7878.

  7. Repeat Step 2 through Step 5 for each rule that you will be adding.
  8. If you didn't add the rules in the order described in "Rules for Routing", reorder them using the up and down buttons located next to the Routing Table box.
  9. Click Apply.

Working With Redundant Proxies

The redundant proxies feature enables you to add another level of redundancy to the delivery of your streaming media content. If an RTSP connection between RealOne Player and Helix Universal Proxy breaks, RealOne Player attempts to reconnect to the same Helix Universal Proxy.

However, if you have identified an alternate proxy, RealOne Player attempts to connect to the alternate proxy instead. You can have any number of alternate proxies defined. Alternate proxies work with both on-demand and live broadcasts.

Understanding Redundant Proxies

The redundant proxy feature enables real-time failover protection during both live and on-demand streaming media sessions for your clients. During the initial setup of the RTSP control channel, Helix Universal Proxy sends a list of alternate proxies for RealOne Player to use should there be a disconnection during playback. The disconnection can be the result of a failed network connection or a failed Helix Universal Proxy. When RealOne Player realizes the failure, it uses the alternate list provided by the primary Helix Universal Proxy to connect to an alternate Helix Universal Proxy. In the case where Helix Universal Proxy has provided multiple alternates, RealOne Player makes a random selection. The following illustration depicts a RealOne Player connecting to an alternate Helix Universal Proxy, after a failure of the primary.

Redundant Proxies

Redundant Proxies

Setting Up Redundant Proxies

Setting up the redundant proxy feature requires that you identify alternates available to the primary Helix Universal Proxy. As a rule, alternates should be comparable to the primary Helix Universal Proxy:

To setup an alternate proxy:

  1. In Helix Administrator, click Proxy Setup. Click Redundant Proxies.
  2. In the Alternate Proxies box, click the "+" icon. A generic Description and Port appear. You can edit either value. Port must be the RTSP port for the alternate proxy. The description can be anything you like.
  3. In the Host box, enter the host name or IP address of the alternate proxy.
  4. Click Apply.


RealNetworks, Inc. © 2002 RealNetworks, Inc. All rights reserved.
For more information, visit RealNetworks
Click here if the Table of Contents frame is not visible at the left side of your screen.
previous next