Mobile middleware is middleware designed to address specific challenges faced by mobile applications running on wireless links that may be slow, intermittent or have high latency. Mobile middleware performs functions such as protocol optimization, data synchronization and data compression.