A Mobile Computing Middleware for Location- and Context-Aware Internet Data Services