Probably the best way is via `boost::serialization` (but we have to give more careful consideration to Google Protocol Buffer). Some resources to check: * http://www.parashift.com/c++-faq-lite/serialization.html * http://www.ibm.com/developerworks/aix/library/au-boostserialization/index.html?ca=drs- * http://code.google.com/intl/it/apis/protocolbuffers/docs/cpptutorial.html