The practical success of pervasive services running in mobile wireless networks and devices relies on their ability to provide effective and efficient offloading support, so as to satisfy the increasing demand for mobile devices to run heavier applications (e.g. those running on desktop PCs). Offloading is an effective mechanism for leveraging the severity of resource constrained mobile devices by migrating some computing load to nearby resource-rich surrogates (e.g. desktop PCs, servers) on home networks or their extension. This paper proposes a light-weight and efficient offloading middleware, which provides runtime offloading services for resource constrained mobile devices. The middleware considers multiple types of resources (i.e. memory, CPU and bandwidth) and carries out application partitioning and partition offloading in an adaptive and efficient manner. The corresponding algorithms are presented. The evaluation outcomes indicate the effectiveness and efficiency of this service offloading solution.