Welcome to the Smart Buffer Project's Home Page!

New challenging deployment scenarios are accommodating portable devices with limited and heterogeneous capabilities that roam among wireless access localities during service provisioning. That calls for novel middlewares not only to support different forms of mobility and connectivity in wired-wireless integrated networks, but also to provide runtime service personalization based on client characteristics, preferences, and location. The paper adopts mobile proxies that work at the wired-wireless network edges, close to their limited wireless clients, to support their personalized access to continuous services such as audio/video streaming. In particular, the paper focuses on how to predict client handover between IEEE 802.11 cells in a portable way, only by exploiting RSSI monitoring data and with no need of external global positioning systems. Handover prediction permits i) to migrate mobile proxies in advance to the wireless cells where mobile clients are going to reconnect, and ii) to dynamically and proactively adapt the size of proxy- and client-side buffers to avoid streaming interruptions with minimum usage of proxy and client memory. Experimental results show that our prediction-based adaptive buffering significantly reduces the proxy and client buffer size required to maintain streaming continuity and imposes a very limited overhead.

A detailed description of each buffering-layer, proxy and client, is available through links on the left ("Proxy side buffering" and "Client side buffering").


Figure 1. Smart Buffer middleware general architecture.

To better understand the general architecture figure 1 recapitulates the middleware general architecture, showing each its component. Orange element depicts a generic server, blue elements the proxy and green elements the wireless client. Circle elements are active (processes, threads) and rectangle elements are passive (e.g. buffers). Doted rows represents the data flow, e.g. a Video-on-Demand stream. Handover Predictor element resides on the client, collects RSSI sample from Physical Device, performs predictions and, finally, notifies predicted location to Proxy and Client Buffer Manager. Client Buffer Manager just changes buffer size and Proxy Buffer Manager changes buffer size and triggers proxy migrations.