ubQL, a Language for Programming Distributed Query Systems (Extended Abstract) Arnaud Sahuguet and Val Tannen ubQL is a distributed query language for programming large-scale distributed query systems such as resource sharing systems. The language is obtained by adding a small set of mobile process primitives (communication channels, migration operators, etc.) on top of any traditional query language. Queries are encapsulated into processes and can migrate between sites thus enabling cooperation. An important methodological device is the separation of the installation (including migration) of query processes from the distributed execution of the queries. In this paper, we give an overview of ubQL, show how to encode widely used distributed query patterns such as chaining, recruiting, query/data/hybrid shipping, etc., and evaluate some language-based rewrite strategies for the installation of ubQL queries that use only partial and distributed knowledge of execution costs.