# What is $R_\min$ in this formulat for optimal buffer size?

I read a question from my recitation about optimal buffer size. As solution there is a furmula for calculating the optimal buffer size; I'm not sure about one of its parameters. The formula is

$\quad \operatorname{Buffer}_{\text{optimal}} = \frac{\operatorname{Buffer}_{\text{current}}}{1-\frac{R_{\text{app}}}{R_{\min}}}$

Where

• $\operatorname{Buffer}_{\text{optimal}}$ is the optimal buffer size we want to calculate.
• $\operatorname{Buffer}_{\text{current}}$ is the current buffer size.
• $R_{\text{app}}$ is the rate the application reads data from the buffer at.
• $R_{\min}$ -- this is the one I'm not sure about.

The example problem is this:

Alice connects to web server and downloads a file of 12KB size from the server. There is a router between them. The transmission rate between Alice and router is 400,000B/s and the transmission rate between router and server is 1MB/s. Buffer size in the router is 4KB, and buffer size in Alice is 3KB. The rate the application reads from Alice buffer with is 100KBps. Calculate the optimal buffer size for Alice as a fuction of router buffer size and free space at the buffer.

So as described in the solution, according to the above formula the solution is

$\qquad \operatorname{Buffer}_{\text{optimal}} = \frac{3*10^3}{1-\frac{10^5}{4*10^5}}$

So what $R_{\min}$ could be ?

• Have you asked your teachers? It may be the minimal transissmison rate on the path between Alice and the server, though. I don't see how the solution fulfills the part with "function of [...[ free space at the buffer". – Raphael Jan 31 '13 at 14:06

$R_{min}$ is the "Writing Rate in Application Buffer" (from router in your example).
This formula makes sense for different conditions like $R_{app}=R_{min}$. In this case the buffer size should be infinite (very large buffer) and it is intuitively correct. $R_{app} >R_{min}$ makes the size negative which shows that buffering does not help while the reading data is very faster than buffering data in user side.