Archive for March, 2008
For the first timers - Druvaa inSync is a Fast Enterprise Laptop Sync solution mainly targeted at LAN/WAN based backups for mobile workforce and cross office backup consolidation.
inSync Details - http://www.druvaa.com/products/insync.html
inSync Features - http://www.druvaa.com/products/insync_features.html
Druvaa inSync 2.0 is being targeted as a complete laptop data sync protection solution.
Feature Set
a) Server Side
- Performance improvements - Improved sync algorithm (based on xdelta-3).
- Continuous Data Protection - Date/time based “from the past” restore.
- Network Profiles - admin configures network profiles with -
- IP addresses
- Network Type LAN/WAN/Auto (to optimize on backup packet sizes)
- On-wire compression levels
- Pluggable Storage Architecture - to make way for storage engines like encrypted, compressed, single instance, Amazon S3
- Single Instance Store - powerful block level de-duplication/single instancing.
- Storage Profiles - admin configures storage profiles with storage engine and capacity
- User Profiles - binds network and storage profiles with user profiles/groups. A totally flexible way of choosing which user syncs using which network and what storage type.
- Remote Data Deletion/Encryption - Theft protection
- Live Reports - Statistic, Graphs and email Alerts.
b) Client Side
- Bandwidth QoS - Choose backup bandwidth cap by percentage not value.
- Search backed-up files - allow users to search files in backup by names
- Auto restore/heal - automatically “heal” the laptop by restoring all files to default location
- Live Console - View live logs and backup activity
.
Feedback Suggestion
Druvaa inSync team would like to hear your feedback/suggestions -
- Whats your take on planed features ?
- Anything we missed or you would like to suggest ?
March 24th, 2008
Recovery Point Objective (RPO) and Recovey Time Objective (RTO) are one of the most important parameters of a disaster recovery or data protection plan. These objectives guide the enterprises to choose a optimal data backup (rather restore) plan.
RPO - Recovery Point Objective (wikipedia)
“Recovery Point Objective (RPO) describes the amount of data lost measured in time. Example: If the last available good copy of data upon an outage was from 18 hours ago, then the RPO would be 18 hours.”
In other words if the answer to question - “Up to what point in time could the data be recovered ?“.
RTO - Recovery Time Objectives (wikipedia)
“The Recovery Time Objective (RTO) is the duration of time and a service level within which a business process must be restored after a disaster in order to avoid unacceptable consequences associated with a break in continuity.
…
It should be noted that the RTO attaches to the business process and not the resources required to support the process.”
In another words its the answer to question - “How much time did you take to recovery after notification of business process disruption ?“
The RTO/RPO and the results of the Business Impact Analysis (BIA) in its entirety provide the basis for identifying and analyzing viable strategies for inclusion in the business continuity plan. Viable strategy options would include any which would enable resumption of a business process in a time frame at or near the RTO/RPO. This would include alternate or manual workaround procedures and would not necessarily require computer systems to meet the objectives.
There is always a gap between the actuals (RTA/RPA) and objectives introduced by various manual and automated steps to bring the business application up. These actuals can only be exposed by disaster and business disruption rehearsals.
Some Examples -
Traditional Backups
In traditional tape backups, if your backup plan takes 2 hours for a scheduled backup at 0600 hours and 1800 hours, then a primary site failure at 1400 hrs would leave you with an option to restore from 0600 hrs backup which means RPA of 8 hours and 2 hours RTA.
Continuous Replication
Replication provides higher RPO guarantees as the target system contains the mirrored image of the source. The RPA values depend upon how fast the changes are applied and if the replication is synchronous or asynchronous. RPO is dependent on the fact that how soon can the data on target/replicated site be made available to the application.
Druvaa Replicator
Druvaa Replicator is Continuous Data Protection and Replication (CDP-R) product which near-synchronously and non-disruptively replicates changes on prodhuction sever to target site and provides point-in-time snapshots for instant data access.
The partial synchronous replication ensures that the data is written to a local or remote cache (caching server) before it application can write locally. This ensures up to 5 sec RPO guarantees . CDP technology (still beta) enables up to 1024 snapshots (beta) at that target storage which helps the admin to access current or any past point-in-time consistent image of data instantly, ensuring under 2 sec RTO.
More Information - http://www.druvaa.com/products/replicator/
March 22nd, 2008
March 12, 2008
Targeted at Small Office Home Office (SOHO) segment, Druvaa today announced Free (of Cost and Support) 25 full-feature inSync ver 1.x licesenses. - http://www.druvaa.com/products/insync_evaluate.html
To avail the licenses the user needs to download hand deploy inSync Server and register at the website. Druvaa would never charge any money for released licenses.
The announcement also coincides with Druvaa inSync release 1.1.3 which adds open-file/locked-file support which is particularly very useful for Microsoft Outlook 2003/2007 backup. ( GA would be available shortly at - download link)
Druvaa also undertakes opensource, startup and educational initiatives. Take a look at - http://www.druvaa.com/services/initiatives.html
About Druvaa inSync
Druvaa inSync is a Enterprise Laptop Backup solution targeted at mobile users and cross-office backups. Its ability to make optimum use of available bandwidth to securely sync critical PC data over LAN/internet, make its a truly unique offering.
About Druvaa
Formed in 2007, Druvaa Software is a leading provider of Continuous Data Protection and Disaster Recovery solutions. Since inception Druvaa has released two products - Druvaa Replicator (Continuous Data Protection and Disaster Recovery) and Druvaa inSync (Enterprise Laptop Backup). Druvaa is angel funded by Indian Angel Network (IAN) and Accord Internation (HK).
About Druvaa - http://www.druvaa.com/about/
About Products - http://www.druvaa.com/products/
March 12th, 2008
March 6, 2008
A nice article covered by Prasanna from Rediff.com. This interview was taken in early January 2008 when IAN announced its funding, just before the Proto.in 2008 event.
http://www.rediff.com/getahead/2008/mar/03druvaa.htm
It covers our entrepreneurial journey in good spirit
Things i didn’t like -
1. I missed the interview
2.They cut my T-shirt print. (It said, “Keep staring, i might do a trick” )
Cheers team Druvaa !!
March 6th, 2008
Python is a powerful languauge for encoding configuration information for a software program. Especially the dictionary contruct and the ability to nest data structures allows to encode complex configuration parameters. Also storing the configuration as a text file allows for easier debugging and manual editing of the configuration. For example, the unix passwd file can be encoded as a dictionary with the user name as the key. Each entry in the dictionary would be another dictionary with name, uid, etc. as keys or it could be a tuple with fixed positions for name, uid, etc.
Offcourse since python is not designed to be used for encoding configuration, it does not directly provide routines to load and save configuration files written as python scripts. Saving the configuration file is fairly simple as the str method cleanly converts any python data structure to a string that can be directly written to a file. Note that for a string type configuration parameter, you need to explicitely add quotes while writing to the file. The python code to save a configuration file myconfig.cfg would look like
follows:
f = open(”/path/to/myconfig.cfg”, “w”)
f.write(”some_config_param = “)
f.write(str(some_config_param))
f.write(”\n”)
Loading a configuration file written as python data structures and then accessing the configuration information seemlessly is slightly more complex. Using the imp module is one possible way to load the configuration file. The imp module provides two functions, find_module to search for a module using the standard heuristics and load_module to load the file found by find_module and return a module object. The return values of find_module are to be passed to load_module as parameters. Once the module object is available, one can access the configurtion information through its attributes. There are couple of issues with using the imp module.
- The file needs to have a .py extension since findmodule searches files with only certain extentions and guesses the type of the file from the extension. This can be worked around by opening the config file instead of using find_module and passing the open file to load_module.
- The load_module method compiles the file as a .pyc file before importing it. That leaves a unrequired file behind. The compiled file is used by load_module if it is newer than the config file. In case of a race between two threads, one saving the config file and the other one loading it, the compiled file could get a timestamp same as the config file but with the old contents. Any further load_module calls load from the compiled file and hence, load the old config data.
The execfile function is a better way to load a configuration file. Again, the execfile method is not intended for loading python data structures. It’s primary use is to run an independent piece of python code. But the function allows us to specify the global and local dictionaries as parameters. Also, the effects of the executed code are reflected in the parameters. The python code to load a configuration file myconfig.cfg would look like follows:
configuration_globals = {}
configuration_locals = {}
execfile(”/path/to/myconfig.cfg”, configuration_globals, configuration_locals)
some_config_param = configuration_locals["some_config_param"]
Happy programming!
March 6th, 2008
Hi,
Team Druvaa was selected as presenters at Proto.in 2008 FE for the product - Druvaa inSync.
It was a great event with major focus on Indian entrepreneur ecosystem and innovation. Druvaa inSync got a good response, and helped us to understand the target audience better.
Product Presentation -
Pictures -

More Pictures - http://www.flickr.com/photos/protoin/sets/72157603817064023/
Other finalists - http://blog.proto.in/2008/01/20/protoin-jan08-finalists-web/
Jaspreet
March 6th, 2008