File Sharing application

Home Forums PeerfactSim Forum File Sharing application

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
  • #889

    I am trying to build a file sharing application which uses Chord as
    overlay. I tried following the getting started documentation but
    not relate much.

    I am trying to implement a distribution of a single file which is to
    be downloaded by all the peers and once they have the file, the peer
    is responsible to publish it whenever it joins the ring.

    Would appreciate if someone could help me or guide me with this.




    I am trying to understand your approach.
    So one single node in the network should publish a file and this file
    should be downloaded by all other nodes.

    For that, follow the download procedure on
    and download
    and the two other network files.

    Unzip and install everything according the video in the getting
    started section.

    No the relevant parts:
    – A filesharing application is already implemented, so you could use
    Chord and the corresponding filesharing application.
    – The corresponding config file to start the simulator is here: ..-/
    – For example you could start: FSChord-1000_Peers.xml
    – in the corresponding action file, it is written, what should happen
    in the simulation: config/application-filesharing2/filesharing2-

    Currently it is written:
    Ecuador 1m FilesharingApplication:join
    Ukraine 2m-5m FilesharingApplication:join
    Denmark 6m-20m FilesharingApplication:join
    Brazil 21m-30m FilesharingApplication:join
    Poland 31m-40m FilesharingApplication:join
    Malaysia 41m-50m FilesharingApplication:join
    France 51m-60m FilesharingApplication:join

    Malaysia 100m-120m FilesharingApplication:publishResourcesFromSet
    files2 20
    France 100m-120m FilesharingApplication:publishResourcesFromSet files1
    France 121m FilesharingApplication:lookupResourceFromSetPeriodically
    files2 10m
    Malaysia 121m FilesharingApplication:lookupResourceFromSetPeriodically
    files1 10m

    So there are 20 files in the set files1 and 20 files in the set
    In your case you seem only to want one single file: 20 -> 1
    And this single file should be published by one single node (instead
    of here, all nodes in Malaysia)
    So you have to create one single node as well, or a group in the
    config file that contains only one node.

    Once you run the simulation with the config file, your results should

    Best regards,


    Appreciate your help. It solves the problem of sharing just one file.

    The other thing that I am trying to implement is isolating File
    sharing application only for Chord. The current file sharing
    application integrates all the available overlay. I have trouble with
    the file publishing part.



    Is there any way to define the size of the files

    Matthias Feldotto


    yes of course you can define the size of the files. Therefore look in one configuration file in the part ResourceSpace/ResourceSet, there you can set the size as attribute and also the file distribution.

    To your question about different overlays: I didn’t get your problem. In the simulator only the configured overlays are used. So you can use only the Chord overlay.



    Thanks Matthias.

    Finally am able to get more understanding of the simulation. There are
    two things which I am having trouble with.

    1. When I import and build the project, I have like 500 warnings and
    when i compile, I get exception errorr and the simulation stops.

    2. I was trying to code file sharing application on chord overlay,
    similar to KBRdummyapplication, but i have trouble with the publish
    part. I am guessing that I am able to create join and leave.

    Appreciate you guys helping.


    Matthias Feldotto

    Regarding to your two points:

    There are still many warnings in the code, at the moment we are working on a version with a better code style and less warnings; but nevertheless they make no problems during simulation. To your exception: I cannot help you without knowing more details …
    I don’t know where your problem is. Please be a little more concrete. As further hint: you find also a full working file sharing application (filesharing2) in the code.



    Like always this forum has helped me answer many of my questions.

    The simulation does not work when I implement it from Eclipse but the
    good part is it works when I run it using terminal.

    My question this time is related to configuration file.

    1. Is there a way to define same group ids (for instance UnitedStates)
    with different # of nodes and properties.

    2. In configuration file, what should I be modifying to give the size
    of the files in Mb or Kb.

    3.. Does the file sharing application in the simulator, simulates the
    complete file sharing method.

    4.. Is there a way to check if all the nodes have received the files.


    Matthias Feldotto

    sorry, for the late answer, but now you can find a new version of the simulator at

    Regarding to your questions:
    1. several groups in the same location are now possible with the tags “id” (identifier) and “groupId” (location).
    2. You can define the size in the ResourceSet (compare existing configurations for the filesharing2 application)
    3. The filesharing application simulates filesharing with stores and lookups, I do not know what you mean with “the comlete filesharing method”.
    4. The successful lookup or store is notified by the analyzers.

    Furthermore, there will be an extension to the existing filesharing application in the next release which makes handling more easy.


Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.

Comments are closed.