Decentralized and Hierarchical Discovery of Software Applications in the iShare Internet Sharing System