Arkamatrix idea - an in-depth look on what is Arkamatrix

Visit developers section

Some time ago we’ve been facing a stunning launch of a revolutionary technology called “Peer-to-Peer”. There is no need to specifically notice that this technology paved the way for the next step for the data sharing industry, allowing many people to share the resources in the nearly easiest way possible.

Despite all the bells and whistles the modern P2P systems now have, there is always one question to ask – what kind of resources do they allow for share? Music – this was the first bird on the new breath, then the scope has broadened to files, or in some cases narrowed down to pictures only. But now let’s just think of one simple fact – each P2P network that comes into play, has its own name, its own bells and whistles, and most important, it does have its own network. So when users which are using P2P network “A” for sharing e.g. music notice a P2P network “B” which allows sharing e.g. pictures, they need to join this new network too, keeping 2 client side programs on the PC, and having to wait until this network “B” gains enough userbase to become usable in its direct purpose – to provide a searchable database of certain resources. Then if a P2P network “C”, which allows sharing e.g. game character files gets launched, the whole process of “install-wait_until_grown-use” is happening back again.

Now we can imagine there is ONE P2P network which can share any kind of resources. It utilizes a certain client software, which supports plugins – the plugins are to be responsible for actual sharing the resources. This means that once the client software is installed on all PCs, it only takes to develop a plugin to make the huge network being able to provide circulation of the new resource. The core idea is that each plugin is responsible for sharing one single kind of resource.

Why developing a plugin instead of a new application? Here is why:

  1. Each new plugin released for that network is immediately settled on the whole userbase, and is able to utilize all the P2P network power gained to date.

  2. Programmer doesn’t need to care about network related function calls, interfacing to other peers etc. Main program provides a number of API calls for plugin to use. To request another peer for sharing a resource, plugin asks main program to contact a certain peer. Main program performs all the tasks necessary to reach the target peer – then target peer’s main program routes the request to the plugin of the same kind. So plugins are communicating through the means of the main program API calls, having no need to hassle about direct network communication.

  3. There can also be network-passive plugins, which don’t necessarily share resources. Several plugins installed on the same peer can communicate with each other too. E.g. a chat plugin which allows users to exchange text messages, can utilize a network-passive plugin that offers PGP encryption. Or, file exchange plugin can make use of a network-passive MP3 compression plugin, to compress music files before sending them, or use a anti-virus checking plugin to check every incoming file for viruses. Even more – a file exchange plugin can also make use of the chat plugin, which is not network-passive (as it shares a certain resource), to allow users to chat before/after exchanging files. Possibilities are endless and are only limited by the fantasy of the developers.

  4. Distributing a plugin is much easier than distributing a whole application – at least in terms of file size. An average plugin can be 300 to 500 Kb, while most P2P client program installations usually weigh several megabytes, and every new beta release urges users to download the new version fully. In case of plugins, each plugin author decides when to release a new version of the plugin – so the application is updated when user wants, and how user wants.

  5. Finally, this approach is much more alike the way Internet was developing itself. The current state of P2P applications looks more like tens of different incompatible Ethernet flavours hanging around – with this situation in place, Internet would never appear at all, since it would never be possible to connect networks which are using different standards. But once TCP/IP and Ethernet have become industry standards, it was a matter of time to connect all subnetworks into one big network we now know as Internet. I think using this approach in terms of P2P networking would allow to unite the resource sharing tasks around the globe.

We truly believe Arkamatrix ideas are worth thinking and implementing. And I welcome everybody who is interested in modern communications technologies to join us in this unbelievably wonderful research.

Artyom Kamshilin a.k.a. "arkamax" and Arkamatrix team

 

 


Copyright © 2002,2003 Artyom Kamshilin.

Design by Melamori. All rights reserved.