NODEZILLA 1.0

NODEZILLA Grid Network – April 12 – Nodezilla is a secured, distributed and fault tolerant routing system (aka Grid Network). It’s main purpose is to serve as a link for distributed services built on top of it (like File Sharing, chat, efficient video multicasting streaming, secured file store …). Nodezilla provides cache features; any server may create a local replica of any data object. These local replicas provide faster access and robustness to network partitions. They also reduce network congestion by localizing access traffic. It is assumed that any server in the infrastructure may crash, leak information, or become compromised, therefore to ensure data protection redundancy and cryptographic techniques are used.


What is Nodezilla ?


Nodezilla is a secured, distributed and fault tolerant routing system (aka Grid Network). It’s main purpose is to serve as a link for distributed services built on top of it (like File Sharing, chat, efficient video multicasting streaming, secured file store …). Nodezilla provides cache features; any server may create a local replica of any data object. These local replicas provide faster access and robustness to network partitions. They also reduce network congestion by localizing access traffic. It is assumed that any server in the infrastructure may crash, leak information, or become compromised, therefore to ensure data protection redundancy and cryptographic techniques are used.
What are Nodezilla Nodes ?


Nodezilla nodes form a decentralized, self-organizing and fault-tolerant overlay network within the Internet. Nodezilla provides efficient request routing, deterministic object location, and load balancing in an application-independent manner. Furthermore, Nodezilla nodes provide mechanisms that support and facilitate application-specific object replication, caching, and fault recovery.
What services does Nodezilla provide


The first service built on top of Nodezilla’s distributed routing is the now very popular File Share service, allowing people to share files with other users. One of the main advantage provided by Nodezilla over classical decentralized P2P networks, is the introduction of Persistant file Sharing, where a file is still available to download even if the original “sharer” goes offline, making popular content available 100% of the time at 100% of the client bandwidth, see below for details. More distributed services are planned in the future.
Introducing persistant sharing


Persistant sharing is the ability to share a file and makes it persist (i.e. available to other users) even after the sharing node disappears from the network (or the file disappears from the original node). The way File Sharing Service is implemented over Nodezilla’s distributed router also allows to download at very high rate (theoretically), as all parts pertaining to the requested file come from numerous nodes, no easy bandwidth bottleneck should popup. To achieve this the Nodezilla Network needs of course some room to store the persistent files, this room will be found in a space provided by each Nodezilla user (like 30MB by node). This storage place will be used to store blocks of persistent files.
How does NPFS work ?


In Nodezilla’s Persistent File Share Service (NPFS from now on) a file is not made persistent as soon as it is made shared, it’s only when this file has been downloaded several times (i.e. gains some popularity) that the persistent process starts. The file is split into blocks, which are encoded using an information dispersal algorithm. Blocks are then disseminated all around the nodes, the more download they are the more nodes will cache blocks. The blocks will be cached in the storage size made available to the whole network by each user, i.e. on a 20 Meg storage size you can store around 78 blocks of 128K. This cache will be managed by the NPFS and will hold blocks of popular files. When the original sharer goes offline (or the file disappears from the original node), all blocks or at least enough of them should be available from other Nodezilla nodes to reconstruct the original file. Over time, the least popular files will see their cache rate decrease to finally completly disapear, making space available for other blocks.
What about free-loaders ?


A free loader is a person who downloads files from other people, but does not share files (i.e. doesn’t contribute back to the network content). They consume bandwith and CPU power selfishly, and that is Bad. To try to reduce the impact of freeloaders, the NPFS introduce the notion of credits. A minimum amount of credits is required to download a given file. The credits available are determined by the disk space you give to the NPFS to store cached blocks, the running time of your node and some other things. This way a “regular” user will have no problem to download whatever he wants, and free loaders will give some room to cache making them effectively share files (even if its not their files) through the cached blocks.
Anonymity and cryptography


Cryptography is a very important part of Nodezilla’s router and services. From communication between nodes (through TLS) to object identifcation and signatures, all important data is encrypted and signed using current algorithms (no home made weak crypto algorithms). Cryptographic certificates are used all over Nodezilla, more details in the Nodezilla Architecture Document. Anonymity is also an important thing, no user names, no identifiers, no file names. Someone spying the network can’t tell what you’re doing on the Nodezilla network. A node can’t know what files are downloaded from him (it is only capable of recognizing blocks and not the file to which they belong) and a node can’t know which nodes share a file.
Faults tolerance


The Nodezilla distributed routing allows for failsafe operations, it means in plain english that requests should never fail because of node failure. This directly implies that Nodezilla is a totally decentralized system (no master servers), and that all requests will be served at any given time (that doesn’t mean for instance that all files will be available (not-so-popular files will disappear), but that a request to an existing file will always be served whatever the network state is). The Nodezilla Object Store is secured in such a way which prevents a pirate from hijacking a file and providing false content or answer for a given file (effectively preventing DoS attack for files).
Target audience


This is the first release of Nodezilla and of the NPFS, it’s targeted at power users quite fluent at P2P world, network configurations and having a box running nearly all day long. During the initial test phase beginners should not use Nodezilla as it may be quite complicated to understand compared to other currently simpler p2p products available. The Nodezilla node will be available for win32 plaforms and Linux. The Nodezilla client is written in Java and should run on all platforms supporting J2RE 1.4 or later. The client will connect through network to a running node, making the remote operation of a node possible.


http://membres.lycos.fr/nodezilla/






advanced options







VyprVPN Personal VPN lets you browse securely