Open challenges in ubiquitous and net-centric computing middleware