Trademarks. Third-Party Information. Jabber is a registered trademark of the Jabber Software Foundation. Acknowledgments, страница 7

As this organization grows or reallocates its resources, it can add more edge servers to the cluster or explicitly reassign clients to different edge servers.

Organization B uses a cluster of edge servers to manage the inbound traffic from clients located outside of the network. This traffic is destined for Flash Media Server applications running on the origin server. When these users try to connect to the origin server, a load balancer positioned before the cluster routes the client’s request to one of the edge servers. The edge server makes the connection to the origin server, where the application is running. The clients remain unaware of the presence of the edge servers. The origin server returns the results to the edge server, which in turn passes them to the requesting client. The edge server also stores the results in a cache, making it available to the other external clients.

In this scenario, connections to applications are distributed across the many edge servers in the cluster. If one edge server in the cluster cannot access an application, another edge in the cluster handles the connection. Applications on the origin server are never directly exposed to connection requests coming through the Internet.

This scenario describes how Organization B uses a reverse proxy to service incoming connections instead of outgoing connection, as was the case in the Organization A scenario.

Connecting to a cluster of edge servers

When edge servers are configured into a cluster, the clients probably do not know that edge servers are present and servicing their connection requests. This is a secure and desirable strategy for disguising the address of the origin server. A different scheme for connecting clients to Flash Media Server is required.

With a cluster of proxies in place, when the client attempts to connect to Flash Media Server, the call to the NetConnection.connect() method uses the User Datagram Protocol (UDP) to initiate a local broadcast of an FPAD message. The other edge servers in the network that receive the FPAD message respond to the client. The client automatically chooses the edge to connect to. The edge then makes the connection to the origin server. This brief scenario describes how a cluster of explicit proxies services outgoing connections to an origin server

Enrolling proxy servers in the cluster

Each proxy or edge in a cluster is dynamically assigned a numeric ID when it starts up. The edge broadcasts a message announcing its presence. All edges in the cluster that are currently running receive this message. Each edge responds with a message indicating its ID. The ID is assigned from a sequence of numbers: 0, 1, 2, …, N-1, where N is the number of edges allowed in the cluster.

The edge that is starting up waits for all of the responses to be received, then assigns itself the first ID not found in the sequence. When an edge server shuts down, it broadcasts a message announcing its exit from the cluster.

Accessing applications through an edge cluster

To maximize the conservation of network and bandwidth resources, Flash Media Server directs to the same edge in a cluster all clients that request a connection to an application. All the edge servers in the cluster automatically compute an affinity value based on the URI that the client wishes to connect to. When a client broadcasts an auto discovery process message to discover the available edges, an affinity value is returned in a message back to the client. After the client receives responses from all of the currently active edges in the cluster, it automatically selects the edge with the lowest affinity value to connect to.

The affinity value is dynamic; it adjusts to the increasing or decreasing workload of connection requests and distributes the workload across edges in the cluster. For instance, consider how the notion of affinity value applies in a cluster of three edges: edge0, edge1, and edge2.  As the workload on edge0 starts to peak, its connections start to spill over to edge1. Both have a computed affinity value of 1.  As edge1's load increases, its connections start to spill over to edge2. Both have a computed affinity value of 2.  As edge2's load increases, its connections start to spill over back to edge0.