CAMS: Context-Aware Middleware and Services