Sep 29 2008
Traditional support are engines offer users downloading files from one (sometimes two or more) central servers, that keep all the files. This approach has several drawbacks:
- Server traffic is very expensive. No network provider offers unlimited bandwidth with serious loads. Sooner or later your users use all free traffic, included into your hosting plan and you begin to pay money. As time goes on and your product becomes popular on the market, your users download more and more. And you pay for traffic more and more. Or, you start to limit your users. Download not more than X gigabytes per month…. Not more than Y files per day. This makes your customers boring.
- Server needs to be high-end. To serve your customers well and to sustain heavy load, your server must be a high-performance PC. Such servers are usually expensive.
- Slow download speed. Servers usually connected to network via 100MBit ethernet. This gives a potential maximum bandwidth from a single server of about 10Megabytes per second. But if you have 100 users simultaneously downloading from the same server, maximum speed per each user will be about 100Kilobytes per second at full server load
Mirelle was created to deal with all these drawbacks…
Mirelle makes traffic flow like in one big local secured network. Each customer is a peer on this network. Server is also a peer there.
When a new file appears on Mirelle, first customer starts to download it from server peer. Second customer downloads file from first customer and from server at the same time. Third customer downloads file from first two customers and the server. And so on and so on…
Each file is shared by small blocks. Sharing is started immediately after first block is downloaded (in a couple of seconds after starting download depending on user network speed).
Each client chooses a random block to share or download. This ensurers all blocks are shared on Mirelle with the same speed.
To download files from support area any modern torrent client can be used, that supports compact and no_peer_id modes. In earlier versions of Mirelle we tied it to uTorrent client, which was recently acquired by Bittorrent company itself and is now the most lightweight and functional Bittorrent client.
Comparing Mirelle to traditional support area one can say, that Mirelle is a torrent-addon to traditional support because users still can download files from server (with admin-controlled speed) plus they share files using torrent technology.
- Zero administration. To add a new file to Mirelle just upload it to FTP. That is really all you need to do. Mirelle will take care of the rest.
- SpeedAdvisor technology integrated. By tuning Mirelle settings you can enforce your own traffic policy on users to have them share enough files to keep high download speed at user side. Or, for example, to keep server load low in case you have mid-end or low-end server.
- SpeedAssistants available. Using SpeedAssistants your users always know which files they can download at high speeds and which files they can use to raise their ratio, making more and more files seeded by users on support.
- SecurityInspector technology integrated. By extending Mirelle you can easily add new security rules to system
- File Browser extensibility. By extending Mirelle you can add new custom columns to file browser, showing, for example, language pack contents for certain file types, file description for another, etc.
- Easy skinning. Mirelle user interface is based on extensive use of HTML templates. To completely change appearence of pages, you just need to modify ONE HTML file. No need to know PHP for that.
- Internationalization. There is no much text to localize in Mirelle. But even that small amount of text can be translated to any language due to Unicode support.
- Secured database. Mirelle was developed with security in mind. That’s why no customer secret serial numbers are kept in database. All information is hashed making it useless to hack the server to get a database of valid dongle serial numbers.
- Highly customizable. Over 60 settings are available for tuning via cetralized settings control file
To run Mirelle you need to have webserver with the following capabilities:
- PHP 5.x (latest stable version is recommended)
- PDO_MySQL extension enabled in PHP (should be enabled in PHP 5.1.x and above by default)
- PEAR PHP library (generally installed on any webserver)
- MySQL 5.x (latest stable version is recommended)
Mirelle extensively uses all latest PHP and MySQL technologies and that’s why it requires latest versions of appropriate products.
To get the best performance when running Mirelle we recommend to our customers to have the following:
- APC PHP extension installed. APC will greatly speed up PHP code execution on your server lowering server load.
- Apache 2.x running in mpm_worker mode. Latest WHM/CPanel has an option to run Apache 2.x on production servers in mpm_worker mode. This will also lower server load.
An example of working support area based on Mirelle is Sarunasoftware Support Area, a support area of famous UFS/HWK box with more than hundred thousand customers