A file transfer system includes peer devices, including an index creating
device and at least one requesting peer device. The index creating device
creates an index of stored files that can be requested by peer devices.
The index creating device evaluates communications requests from the peer
devices and accepts communications requests in accordance with user
defined criteria. The index creating device communicates with a
requesting peer device when the communications request from the
requesting peer device has been accepted, and also stores the index,
which is linked to an identification. The requesting peer device requests
files that are listed in the index linked to the identification. The
requesting peer device also creates the file request, which includes a
list of the selected files and the identification, transmits the file
request to the index creating device, and receives the requested files
listed in the index.