ネットワーク制御 の Protocol Buffersに関する解説。

株式会社 日立ソリューションズ

HITACHI Inspire the Next

  • ホーム
  • ソリューション・商品
  • 事例紹介
  • セミナー・展示会
  • ビジネスコラム
  • 企業情報
  • お問い合わせ

Protocol Buffers

Protocol Buffersとは

Protocol Buffers(プロトコルバッファー)はインタフェース定義言語(IDL)で構造を定義したシリアライズフォーマットであり、Googleにより開発されている。オリジナルのGoogle実装C++、Java、およびPythonによるものであり、フリーソフトウェアとしてオープンソースライセンスで公開されている。 Various other language implementationsまた、他の実装が利用可能かもしくは開発中である。

Protocol Buffersのデザインの目的はシンプルさとパフォーマンスである。とりわけ、XMLより高速になるようデザインされている(しかしながらこれを確認する公的な再現可能な比較データは存在しないのでは)


Protocol BuffersはGoogleではデータの保存や構造化されたあらゆる種類の情報の交換で用いられている。Protocol Buffersサーバーはカスタマイズされたremote procedure call (RPC)に基づいており、Googleにおける全てのマシン間通信で実際に用いられている。

Protocol Buffersは既にあるサービス向けへの明確なRPCスタックを含まない部分を除いてFacebookによるThriftプロトコルに非常に似ている。Protocol Buffersはオープンソースであり、RPCスタックはこれらのギャップを埋めるために生まれてきた。

データ構造およびサービスはプロトコル定義ファイル(Proto Definition file (.proto))でデザインされ、protocプログラムによりコンパイルされる。このコンパイル作業により目的のサービスに適合するコードが生成される。例として、「example.proto」は「example.pb.cc」および「example.pb.h」を生成し、この中には「example.proto」で定義されたメッセージおよびサービスのためのC++クラスが定義されている。


Protocol Buffersによりあらゆる種類のフォーマットをシリアライズすることができるようになる。公式にサポートされた実装では完全なリフレクションインターフェイスが利用可能であり、XMLやJSONと同じくらい容易にシリアライズ機構を整備することができる。

Protocol Buffersの主な目的としてはネットワークの通信を円滑にすることではあるが、そのシンプルさおよび高速さによりC++クラスおよび構造体を用いたデータ保持からの有力な置き換えとなっている。

ページトップへ戻る


GIS・地理情報システム

豊富な構築実績とノウハウから生まれたエンタープライズ型地理情報システム、GeoMation。

ファイアウォール

ファイアウォール

Palo Altoは、アプリケーションを識別しポリシー制御を実現する次世代型ファイアウォールです。


ページトップへ戻る

話題の用語

クラウドコンピューティング

WWW用語辞典

クラウドコンピューティングとは、コンピュータサービスの利用者が ...

続きを読む 続きを読む

Active Directory

企業情報システム用語辞典

ActiveDirectory(アクティブディレクトリ)とは、Microsoft社が提供するディレクト...

続きを読む 続きを読む

ページトップへ戻る