Designed to securely re-serve streaming media, Helix Universal Proxy delivers an impressive array of media to the broadest range of media players. This chapter introduces you to Helix Universal Proxy concepts and features.
Helix Universal Proxy is software you install on a network or ISP gateway that gathers and handles client requests for media streamed from Helix Universal Server. Helix Universal Proxy reduces network traffic by eliminating redundant requests for streaming media.
The proxy provides four main benefits:
Helix Universal Proxy can proxy every media type that the origin Helix Universal Server can serve. Helix Universal Server streams on-demand clips and broadcasts live events in more media formats than any other media server. Depending on its license type, Helix Universal Server can serve the file formats listed below. Although not exhaustive, the following list represents the major media formats available with Helix Universal Server and Helix Universal Proxy, which can deliver additional formats through plug-ins created by third-party developers.
Working with Helix Universal Server, Helix Universal Proxy can deliver the same media formats on any platform, including Windows and many UNIX variants. This allows you to stream any supported format using the operating system of your choice. Helix Universal Proxys running on different operating systems are completely interoperable, allowing you to place multiple proxies and servers in a heterogeneous network environment.
The specific versions of media formats and media players supported by Helix Universal Server and Helix Universal Proxy are subject to change. Check http://www.realnetworks.com/resources for the latest information.
The first step in the process happens when clients, such as RealOne Player or Windows Media Player request streamed media files through Helix Universal Proxy.
Helix Universal Proxy forwards the requests on behalf of clients to the Helix Universal Server where the requested streamed media files are stored (called the "origin Helix Universal Server").
Helix Universal Server verifies the file's existence, and that the clients are authorized through IP addresses or content authentication. If the server denies the request, it does not stream the requested file; Helix Universal Proxy complies with the denial. Clients receive an applicable error message.
This initial transaction, in which Helix Universal Server examines and authorizes individual client requests, is called an "accounting connection", as shown in the following diagram.
Depending on the nature of the streaming media, Helix Universal Proxy uses different features to deliver the content to the client.
If the stream is live, Helix Universal Proxy replicates the live stream for each client requesting the stream. The origin Helix Universal Server sends only a single stream to Helix Universal Proxy.
If the live stream is not available for replicating, Helix Universal Proxy makes a separate data request to the Helix Universal Server for each client. This is known as the pass-through feature, as shown in "Pass-through Mode (for Live and On-Demand Streams)".
If the stream is on-demand, Helix Universal Proxy first tries to fill the request from the media cache.
If the content is not yet stored in the cache, Helix Universal Proxy will pull the content from the origin Helix Universal Server, simultaneously serving the client and filling the cache.
If the stream is on-demand, and the clip is not cachable, Helix Universal Proxy delivers media by the pass-through feature. The proxy passes a data stream for each client that requested it, as shown in the following diagram.
A media cache file lowers network traffic by reducing the number of connections to the origin of the requested material, and improves quality by distributing the streaming content closer to the user. Clients receive improved quality of service because media streams travel a shorter distance from the cache to clients, reducing the possibility of network congestion, latency or packet loss.
Helix Universal Proxy has three different ways of sending clips to clients. Helix Universal Proxy automatically chooses the most efficient feature possible, based on the type of content requested and the network configuration. The three methods are:
In addition, you can configure pull splitting to transmit to clients using multicast. Regardless of the feature in use, Helix Universal Proxy always opens an accounting connection between the client and the origin Helix Universal Server.
This is Helix Universal Proxy's simplest method of operation. In addition to the usual accounting connection opened between the client and the origin Helix Universal Server, Helix Universal Proxy creates a data connection for each client. No bandwidth conservation is realized.
Pull splitting conserves bandwidth for live material by replicating a single live stream from an origin Helix Universal Server. The first time a client requests a particular stream, Helix Universal Proxy contacts the origin server on the client's behalf and then sends the stream to the client. The second client to request the same live stream will receive it directly from Helix Universal Proxy, and Helix Universal Proxy will not have to obtain another stream from the origin Helix Universal Server.
The advantage to the client is that the material is delivered from a nearby Helix Universal Proxy. As long as the quality of reception for the single split channel between Helix Universal Proxy and the origin Helix Universal Server is sustained, clients will receive a high-quality live stream as well.
Additionally, Helix Universal Proxy can deliver a live, pull-split stream using multicast, if available on the network.
Cache software stores on-demand content from origin Helix Universal Servers. Since cached files are securely stored and cannot be accessed directly, Helix Universal Proxy interfaces with the cache to redistribute the stored media to clients.
When caching is enabled, the media cache acquires and stores media files requested by the first client. When a second client makes a request for a stream, Helix Universal Proxy checks with the cache to see if a stored version is already present. To ensure that the stored version is the most up-to-date version available, Helix Universal Proxy checks with the origin Helix Universal Server to see if a newer version exists. After determining that the stored copy is the latest version, Helix Universal Proxy streams the stored copy to the second client, and to subsequent clients that request the same material.
On-demand material streamed by RealSystem Server 7.0 or later can be cached. Otherwise, they are delivered by the pass-through feature. Live material is handled in the most efficient mode suitablepull splitting or pass- through.
Should the media in the cache become impaired in some way, the stream halts and clients receive an error message. If the accounting connection between the client and the origin Helix Universal Server is interrupted, Helix Universal Proxy terminates the stream, and the client receives an error message.
If an origin Helix Universal Server has been configured to prevent caching, Helix Universal Proxy will use the pass-through feature to deliver content to clients, without caching the media. When Helix Universal Server is installed, all its streams are cachable by default. Since Helix Universal Servers can save on bandwidth costs if caching is allowed, operators are encouraged to leave all content cachable.
The following table outlines the configuration requirements for each aspect of Helix Universal Proxy operation. In addition, Helix Universal Proxy can be configured to use multicasting (where available) for those live clips delivered in pull splitting mode. For more information, see Chapter 8, "Multicasting".
Helix Universal Proxy contains additional features that make it easy to configure, administer, and maintain.
Helix Administrator is a secure HTML-based interface for customizing Helix Universal Proxy features. You can access the Administrator with a Java-enabled browser anywhere on your network. The latest version of your Web browser is recommended for browsing Helix Administrator. Refer to "Using Helix Administrator" for more information. Additionally, see Chapter 4, "Proxy Setup" for instructions on customizing Helix Universal Proxy.
| Tip: In this guide, "Helix Administrator" with an uppercase "A" refers to this HTML-based tool, whereas "RealNetworks administrator" with a lowercase "a" refers to the person who configures and runs Helix Universal Proxy. |
Changes you make using Helix Administrator are stored in the Helix Universal Proxy configuration file. This text file is based on XML (Extensible Markup Language) that you can edit directly. Because the structure of this file is complex, Helix Administrator is the recommended tool for making changes. Appendix A discusses the configuration file.
To limit the amount of bandwidth used by Helix Universal Proxy, several features allow you to restrict the number of requests or amount of bandwidth it uses. Clients that attempt to contact Helix Universal Servers after Helix Universal Proxy's limits have been reached, receive an error message.
| For More Information: See Chapter 9, "Bandwidth Management". |
For organizations that use strict rules to regulate network traffic, proxy routing allows you to further control streaming media traffic. With this feature, you can configure Helix Universal Proxy to direct its clients' requests to yet another Helix Universal Proxy, thereby conserving bandwidth across the WAN.
| For More Information: See Chapter 7, "Proxy Routing and Redundant Proxies". |
Helix Administrator includes a Monitor which dynamically displays the status of your Helix Universal Proxy.
| For More Information: Refer to Chapter 12, "Proxy Monitor". |
Helix Universal Proxy records information in the access log about all clips it has served. Errors are noted in the error log. You can also design your own custom logs based on proxy activity.
Access logs are similar in format to Helix Universal Server logs, but include additional information about the address of the origin Helix Universal Server and the Helix Universal Proxy operational mode (pull splitting, caching, and so on). Helix Universal Proxy error logs use the same format as Helix Universal Server error logs. Content and format of custom logs depend on your instructions to Helix Universal Proxy.
Log files on the origin Helix Universal Server show that a Helix Universal Proxy is in use in addition to client data.
| For More Information: Access and error log information is described in depth in Chapter 13, "Access and Error Logs". Refer to Chapter 14, "Custom Logging" to learn how to implement that feature. |
In order for Helix Universal Proxy to fill requests for media, you will need to arrange for clients (such as RealOne Player and Windows Media Player) to send their requests to Helix Universal Proxy.
There are two ways you can do this:
This section describes what happens on the origin Helix Universal Server when Helix Universal Proxy forwards a client request.
| For More Information: If you plan to manage both Helix Universal Proxy and Helix Universal Server, also refer to the section "Administering Both Helix Universal Proxy and Helix Universal Server". |
Each time it receives a request, Helix Universal Server determines whether it can allow a particular client to receive streams, based on the number of available streams and bandwidth. In addition, Helix Universal Server can be configured to require a user name and password for certain material. If the requested material requires a password, the user will be prompted for the password. In this case, Helix Universal Server does not begin streaming until it receives the correct password.
Only after Helix Universal Server has authorized the client's request will Helix Universal Server begin streaming. Restrictions imposed by the origin Helix Universal Server's administrator on client access are always honored by Helix Universal Proxy. The same is true when a cache is in useHelix Universal Proxy waits for Helix Universal Server approval of each request before streaming it from the cache.
An origin Helix Universal Server may deny a request for the following reasons:
The client receives a message if it is denied access for any reason.
The origin Helix Universal Server can differentiate whether a request was made using Helix Universal Proxy or made directly by any client. Information about quality of service is logged in the access log, just as it is for any other type of connection. Information about quality of service comes from the accounting connection.
Helix Universal Proxy only streams media from the cache after opening an accounting connection to the origin Helix Universal Server. If the accounting connection cannot be established, or if it is disrupted, proxy will not stream from the cache to the client.
Helix Universal Proxy cannot cache content which an origin Helix Universal Server administrator has configured as non-cacheable. Instead, it will use pass-through mode to deliver the material to the client.
Under the following circumstances, Helix Universal Proxy will be unable to conserve bandwidth:
In all cases, however, using Helix Universal Proxy on your network serves to collect all streaming media traffic at a single point, so that you can better monitor activity and maintain security.
Helix Universal Proxy handles client requests and proxies Helix Universal Server streams by using the Real Time Streaming Protocol (RTSP), an Internet standard control protocol for streaming multimedia, and PNA, the RealNetworks legacy protocol. Additionally, Helix Universal Proxy can use MMS to stream Windows Media. Although Helix Universal Server can stream through HTTP, Helix Universal Proxy is not an HTTP protocol proxy and thus does not handle any streaming media requests made through HTTP between clients and an origin Helix Universal Server.
Helix Universal Proxy works with connecting clients such as RealOne Player and Windows Media Player to determine the best transport to use for a given stream: IP multicast (for live broadcasts), or UDP and TCP (for both live and on-demand content).
Data types streamed by Helix Universal Server and Helix Universal Proxy use two primary packet formats: RDT, a proprietary packet format native to RealNetworks, and RTP, an Internet standard data type packet format.
The following table outlines the protocols, transports, and packet formats supported by Helix Universal Proxy.
| For More Information: For details on the control transports and data packet transports allowed on each port, see Chapter 6, "Firewalls". |
|
|
© 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. |