An open source protocol from Google that is used to encode and parse text-based XML data in a binary format. Using an interface description language (IDL) to define any XML structure, the XML is compiled into a class for the C++, Java or Python programming languages. Originally used by Google for internal remote procedure calls (RPCs), Protocol Buffers were made open source in 2008. They provide a simpler binary XML method than Fast Infoset and EXI (see
binary XML).