Re: An opes usage question.
Alex Rousskov <[email protected]>
| Newsgroups | gmane.ietf.opes |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 9 Mar 2004, John G. Waclawsky wrote: > Let's assume a pool of proxies at a stage (of the pipeline) are all > measuring content bytes and amassing billing information. The > traffic flows from the content servers are being distributed over > the pool of billing proxies in a particular stage by a load > balancer. The reason to identify a billing proxy individually is > simply because that is where a particular flow's billing information > is located. Even though all the proxies are doing the same thing, > monitoring the content passing by and billing by the byte, they will > be working with different content on a flow by flow basis. So what > they do in the case of each flow will be different and each flow > will have a different bill. I agree that each proxy behind a load balancer works on different flows and, hence, keeps different information. However, I argue that a good protocol (and a compliant load balancer) will hide that fact from outside observers. The load balancer will provide mapping between its trace entry/ID and particular proxy in the pool. The outside observers will only see an opaque ID and will not care that it maps to one of the pooled proxies. Please see below for an example. > If we change the number of bytes at an adaptation stage down stream > from the billing proxies how do we get the information about the > adaptation change back to the correct billing proxy. Let me sketch a solution: 1) billing-proxy-i inserts its ID "B-i" into the trace 2) load balancer replaces "B-i" with "LB-1/i" in the trace the tracing protocol requires that the optional information in the ID (stuff "after the slash") is forwarded but does not affect ID comparison and protocol-level addressing 3) if an adaptation proxy wants to send an update about the current flow it is adapting, it talks directly to the load balancer, using the "LB-1/i" ID supplied by that load balancer 4) upon receiving a notification from an adaptation proxy, the load balancer converts "LB-1/i" ID to "B-i" and forwards the notification to billing-proxy-i Note that neither the billing proxy nor the adaptation proxy know that they are talking to a load balancer. Each of them, perceives the load balancer as a "standard" OPES proxy, just like they are themselves. Only the load balancer knows about the address translation (to use a forbidden expression; but it is fine to do address translation on this level, we are not talking about IP NATs here, of course, more like URNs). Does this clarify my take on the problem? Thanks, Alex.