Единственный известный мне инструмент, который предоставляет разумный набор функций и архитектуры, - это проект OpenSync: http://www.opensync.org/
Хотя это не выглядит слишком активным, что вызывает сожаление. Это может предложить хорошую модель для проблемы, которую вы пытаетесь решить (что, в зависимости от данных, может быть трудным). Удачи.