Selected article

Social networking seems like an obvious application for an IM system. However, adding a web chat feature, even though, very valuable, is not all that can be done to improve social interactions on your service.

You are here

Cloud Backup Services

By admin on May 28, 2014

One of the most visible and marketed technologies in the past few years are cloud services. The combined convenience of an always online service with the flexibility to connect from any place with internet connection has proven to be extremely popular. There are several companies offering cloud services, one in particular being file backup and synchronization.
Files or hard drive backups are relatively easy. You just send your files over the network to a remote storage. However, that has a few disadvantages as backups can be large, time consuming, and are only as current as the time of backup.
File synchronization, on the other hand, is a much more difficult task. Consideration has to be made to all devices that can or will connect to the resource. When a file is modified with one device, any cloud software has to figure out which version is the latest and which one requires updates, not to mention resolving potential conflicts. Another consideration is that file synchronization needs two way traffic to send synchronization data, and file pushes to each device. Not only that, but all communication needs to operate through firewalls, NATs, and other network security seamlessly while staying secure from end to end. All this needs to happen without input from the user.
With all that in mind, to conduct these sorts of operations we need to set a few requirements for it to work. Firstly, all connected devices need to be online-capable, and be able to report presence information whenever they are online. These devices need to be capable of both pushing and downloading file data and exchanging file metadata to ensure they are up to date.
Although this set of requirements is a tall order, it does sound a lot like the XMPP! In fact, the protocol is a perfect match for the above problems. Let’s break down the requirements:

Online availability – YES all devices on an XMPP server are online and connected.

Presence Information – YES presence information is a core feature of XMPP technology and is by default used by all connected users.

Data Push – YES XMPP is a push-based instant communication platform, so files and metadata can be synchronized without extra specialization.

Firewall and NAT traversal – YES The central XMPP server can act as a data transfer proxy which effectively solves many problems when users are operating behind a NAT.

Security – YES the XMPP protocol was designed with security in mind with multiple authentication options, stream and data encryption, and storage encryption.

Yes, this kind of service based on Tigase XMPP server exists! Already in production and available to users, this service not only matches the likes of other commercial options, but improves on them. Firstly, Tigase’s file synchronization is hosted on your home server, not a third party invisible-to-you location ‘someplace’ on the web. Secondly, you have control over security options and authentication to be as strict or open as you need. And lastly, due to Tigase’s efficiency in code and design, it operates under a small footprint and can be at home on almost any server system without the need for expensive hardware upgrades.