Pervasive computing middleware: current trends and emerging challenges