Academic
Publications
Dexferizer: A service for data transfer optimization
Dexferizer: A service for data transfer optimization  
BibTex | RIS | RefWorks Download
We present an approach to optimizing the transfer of data objects within a user’s collection of computers and personal devices, subject to a variety of user-defined quality metrics such as cost, power consumption, and latency. By abstracting object transfer as a high-level service, and employing declarative networking techniques to cast object transfer as a constrained optimization problem, we show how to transparently exploit techniques as diverse as swarming and multi-hop transfer through virtual machines. Using a data replication system as a driving application, we demonstrate that our approach can easily accommodate flexible policies not easily implemented with existing solutions, and can thereby result in savings in time, power, bandwidth, or other costs. I. Introduction This paper presents an approach to optimizing the transfer of data objects within a user’s collection of computation devices, subject to a variety of user-defined quality metrics such as cost, power consumption, and latency. We use techniques from declarative networking together with application-defined policies to select appropriate transfer mechanisms and schedules. Our goal is to evaluate the extent to which intelligent policybased routing decisions, combined with a choice of different transport mechanisms, can outperform simple approaches such as centralized, cloud-based storage for a user’s personal data. We are not the first group to propose a decentralized ensemble of personal devices (both physical and virtual) as an alternative to entrusting one’s data to a large application provider; our focus here is on how to best use what connectivity exists between a user’s computing hardware to manage their data. In our target scenario, a user runs a personal replication system (along the lines of Cimbiosys [1] or Perspective [2] on a small (about 10 nodes) collection of devices such as phones, tablets, laptops, home PCs, and virtual machines and associated storage rented from cloud providers such as Amazon. The user generates new data items, by taking photos and videos, downloading music and documents. The challenge is to transfer these objects between devices, satisfying user requirements for replication, availability, and privacy, while optimizing other user objectives such as latency, power consumption, and bandwidth cost for expensive links. Items in such an ensemble can vary in size from a few kilobytes up to a few gigabytes, and these items have varying synchronization and replication priorities. The problem is complicated by the limited resources on some nodes (such as phones), and the dynamic nature of connectivity. In this paper, we present Dexferizer, a declarative transfer optimization service. Dexferizer employs a declarative approach whereby high-level requests are made on a transfer service, which schedules data transmission and late-binds the mechanism used for transferring an object, the paths taken by the data through the network, and the origin nodes of the data itself. Furthermore, clients of the system write transfer policies in order to constrain how objects are transferred (such as avoiding public links or intermediate nodes, or transferring only at certain times). They also choose the metrics to be optimized for in planning the transfer (such as monetary cost, latency, etc.), and relative importance of particular object types from a transfer perspective. The contributions of the paper are as follows: Firstly, we present declarative techniques to represent and reason about networks and optimize transfers using a constraint logic programming (CLP) approach. Secondly, we present an expressive and extensible grammar for declarative transfer policies. Finally, we show potential for bandwidth, time, cost, and power savings from late-binding transfers and incorporating user-selected transfer policies into the optimization process. In the next section, we present the background work we build upon in our system, and then in Section III further motivate the problem using concrete scenarios. In Section IV, we present our model and general approach, and Section V presents the design decisions in the implementation of our research prototype. Our evaluation is present in Section VI, and we conclude and discuss future work in Section VII.
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.