Peer-to-Peer (P2P) computing is a recent hot topic in the areas of networking and distributed systems. Work on P2P computing was triggered by a number of ad-hoc systems that made the concept popular. Later, academic research e orts started to investigate P2P computing issues based on scientific principles. Some of that research produced a number of structured P2P systems that were collectively referred to by the term "Distributed Hash Tables" (DHTs). However, the research occurred in a diversified way leading to the appearance of similar concepts yet lacking a common perspective. In this thesis we present a number of papers representing our reseach results in in the area of DHT systems as the state-of-theart P2P systems. The contribution of this thesis is threefold. (i) We present the principle of distributed k-ary search (DKS) and argue that it serves as a framework for most of the recent P2P systems known as DHTs. That is, given the DKS framework, understanding existing DHT systems is done simply by seeing how they are instances of that framework. (ii) We argue that by perceiving systems as instances of the DKS framework, one can optimize some of them. We illustrate that by applying the framework to the Chord system, one of the most established DHT systems. (iii) We show how the DKS framework helps in the design of P2P algorithms by two examples: (a) A broadcast algorithm that takes advantage of the distributed k-ary search tree (b) The DKS(n; k; f) system which is a system designed from the beginning on the principles of distributed k-ary search.