1. A method for forming and rearranging a bandwidth sharing ad hoc network, comprising: providing a computer infrastructure being operable to establish the bandwidth sharing ad hoc network between a bandwidth borrower and at least one bandwidth lender of bandwidth by broadcasting and tabulating a table with lender and borrower information, and to select the at least one bandwidth lender for the bandwidth sharing ad hoc network based on pertinent information of the at least one bandwidth lender which matches criteria, wherein the bandwidth sharing ad hoc network is a communication network amongst a mobile computing device of the at least one bandwidth lender and a mobile computing device of the bandwidth borrower, in which the at least one bandwidth lender selectively lends bandwidth to the bandwidth borrower for downloading data or uploading data.