Я бы посоветовал вам пересмотреть буфер протокола Google. Существует множество реализаций с открытым исходным кодом для всех основных платформ, включая C ++ / Java / Python, опубликованную самим Google.
Как уже упоминал Джон Скит (Jon Skeet), спецификация PB не определяет модель RPC, но очень просто определить собственный RPC с использованием PB.
Кроме того, вы можете взглянуть на ASN.1. Существует множество приложений, использующих ASN.1.