SlideShare a Scribd company logo
1 of 32
Download to read offline
19	
  Feb.	
  2015	
  
河野 美也(Miya	
  Kohno,	
  miya.kohno@gmail.com)	
  
「宣言的プログラミング」と
SDNのひとつの形態	

ネットワークプログラマビリティ勉強会 #3	

http://network-programmability.connpass.com/
自己紹介	

•  河野	
 美也(こうの	
 みや)	
  
•  元ソフトウェア開発者でした	
  
- Programming	
  style議論が好きでした	
 
•  その後はネットワークエンジニア	
  
- Protocol	
  	
  
- Network	
  Architecture	
 
•  Official	
  Blog	
  
- hEp://gblogs.cisco.com/jp/author/miyakohno/	
  
•  TwiEer	
  
@mkohno	
  
Agenda	

•  Network領域におけるプログラミングパラダイム試論
•  宣言的プログラミング
•  SDNのひとつの形態
•  Open	
  Daylight	
  -­‐-­‐	
  BGP-­‐LS/PCEPとMD-­‐SAL	
  
Network Programmabilityとは何か	

•  Neutron	

I E T F	

	

•  NETCONF/YANG	
  
•  I2RS	
  
•  FORCES	
  
•  + あらゆるネットワークプロトコル!	
  
Network	
  Engineerによる
プログラミング、
オーケストレーション
Network	
  Device	
  (Virtual,	
  Physical)	
  の
プログラミング
Network領域における
Programming Paradigmの傾向 (仮説)	

•  ImperaYveよりもDeclara've	
  
 (ImperaYve	
  –	
  命令的、DeclaraYve	
  –	
  宣言的)	
  
	
  
•  ProcedureよりもModel	
  driven	
  
 (Procedure	
  –	
  手続き型、Model	
  driven	
  –	
  モデル駆動型)	
  
•  WaterfallよりもAgile開発手法
Declarative Programming
(宣言的プログラミング)とは	

Wikipedia(英語版)によると、	
  
「ImperaYveでないProgramming	
  Style	
  (キリッ)	
  」	
  
	
  
その他の定義としては、	
  
•  A	
  program	
  that	
  describes	
  what	
  computaYon	
  should	
  be	
  performed	
  and	
  not	
  how	
  
to	
  compute	
  it	
  
  方法(how)	
  ではなく、何(what)をすべきかを記述	
  
	
  
•  Any	
  programming	
  language	
  that	
  lacks	
  side	
  effects	
  (or	
  more	
  specifically,	
  is	
  
referenYally	
  transparent)	
  
  副作用の無いこと(厳密には、参照透過であること)	
  
	
  
•  A	
  language	
  with	
  a	
  clear	
  correspondence	
  to	
  mathemaYcal	
  logic	
  
  数理と対応している言語のこと	
  
http://en.wikipedia.org/wiki/Declarative_programming	

広く緩い定義から狭く厳密な定義まであるらしい...。
ひとまず、あまり厳密性は気にしないでおく…。
Declarative Programming
(宣言的プログラミング)とは	

http://karari.tumblr.com/post/61067682037/clojure	

「1から10までの全ての整数を足す」	
  
ImperaYveなコード	
  
var s = 0;!
for(var n=1; n=10; n++)!
{!
s = s + n; !
}!
console.log(s);!
//55!
DeclaraYveなコード	
  
(- (range 1 11)!
(reduce +)!
(println)!
)!
//55!
Flowchart	
  !	
   Model	
  !!	
  
n	
  =	
  10	
  ?	
  	
  
•  足す	
  
•  nを増加させる	
  
1	
  ...	
  10	
  
1から10という範囲の	

整数の集合	

総計
Declarative Programming
(宣言的プログラミング)とは	

参照透過性(ReferenYal	
  Transparency)、冪等性(Idempotence)とは何か	
  
参照透過性(ReferenYal	
  Transparency)	
  
	
  
文脈に依らず、式の値はその構成要素だけによって決まる。	
  
同じ条件を与えると、必ず同じ値が返る。	
  
(外部変数、とかを使ってはいけない。)	
  
冪等性(Idempotence)	
  
	
  
ある操作を一度行っても複数回行っても結果が変わらないことを表す概念
(例えば、n++;は冪等でない。冪等性が保証できないと、Ymeout	
  -­‐	
  retry等
の場合に結果が変わってしまう)	
  
à	
  ネットワークコンピューティング、並列処理には重要	
  
Idempotence (冪等性)	

group{'sysadmin':!
!ensure=present!
}!
# First Puppet Run!
notice: /Group[sysadmin]/ensure: created!
notice: Finished catalog run in 0.08 seconds!
!
# Second Puppet Run!
notice: Finished catalog run in 0.03 seconds!
Puppetの例	
  
「存在する」という
望む状態を記述する	
  
既に「存在する」ので
二度目は実行されない	
  
同じことをShell	
  Script(ImperaYve)で書こうとすると、条件分岐が増える	
  
if[`getentgroupsysadmin|awk-F:'{print$1}'`==]!
!then!
! !groupaddsysadmin!
fi!
Declarative Programming
(宣言的プログラミング)とは	

[長所]	
  
•  並列処理への親和性	
  
•  不測の事態への対処、頑健性	
  
•  複雑性への対処、スケール性	
  
•  再利用性、保守性	
  
[制約]	
  
•  チューリング不完全	
  
•  ドメイン・スコープを制限する必要あり	
  
•  細部まで明示的に規定することができない	
  
“What”を合意	
   モデル	
   冪等性	
  
チューリング完全性について	

•  「チューリング完全」とは	
  
	
  
-  アルゴリズムに還元できるものは全て記述できること	
  
	
  
-  多くのプログラム言語(C,	
  Java,	
  Perl,	
  PHP,	
  Python..)は  
チューリング完全である	
  
•  DeclaraYve(宣言的)方法は、チューリング不完全	
  
-  “how”を記述でなく、”what”を合意	
  
  -­‐-­‐	
  アルゴリズムの万能性、柔軟性は放棄する	
  
	
  
-  用途をある程度制限することによりモデルを具現化	
  
  e.g.	
  SQL,	
  HTML,	
  JSON,	
  YANG..	
  
Declarative Programming
(宣言的プログラミング)とは	

ImperaYve	
   DeclaraYve	
  
プログラミン
グ言語	
  
手続き型	
   函数型	
  
Domain	
  Specific	
  
Language	
  
Network	
  
Control	
  
Openflow	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  OVS	
   DB	
  
NETCONF/RESTCONF	
  
Control	
  Plane	
  Protocols	
  
	
  
OrchestraYon/
AutomaYon	
  
Workflow	
   Model-­‐driven	
  
構成管理	
   Script	
  
	
  
Puppet	
  
CFEngine	
  
OVSDB	
  
Transport	
  
Assurance	
  
OrchestraYon	
  
Control	
  
Infrastructure	
  
•  Physical	
  
•  Virtual	
  
virtual	
   physical	
  
Service	
  
ApplicaYon	
  
Forwarding	
  Plane	
  
(Distributed)	
  Control	
  Plane	
  
(Centralized)	
  Control	
  Plane	
  
Domain	
  OrchestraYon	
  
Service	
  OrchestraYon	
  
Service,	
  ApplicaYon	
  
Network Programmabilityにおける階層性	

様々な形態の	
  
Programmability	
  
•  Model	
  Driven	
  SAL(Service	
  AdaptaYon	
  Layer)の追加	
  
•  多種のSouthbound	
  Protocol	
  (BGP-­‐LS,	
  PCEP..)	
  
•  仮想・物理デバイスへの対応	
  
(例) OpenDaylight Controller Architecture	

http://www.opendaylight.org/	

DeclaraYve	
  
ImperaYve	
  
•  NFVO	
  (NFV	
  Service	
  Orchestrator)	
  	
  
•  VNFM	
  (VNF	
  Manager)	
  
•  VIM	
  (Virtual	
  Infrastructure	
  Manager)	
  –	
  Openstack,	
  etc.	
  
(例) ETSI NFV Orchestration Architecture	

Imperative	

BSS	
  
EMS1	
  
VirtualizaYon	
  Layer	
  
VNFM	
  
VIM	
  
Virtual	
  
CompuYng	
  
Virtual	
  
Storage	
  
Virtual	
  
Networ
k	
  
NFVO	
  
NFVI	
  
NFV	
  
Management	
  
and	
  
OrchestraYon	
  
(Mano)	
  
CompuYng	
  
Hardware	
  
Storage	
  
Hardware	
  
Network	
  
Hardware	
  
VNF1	
   VNF2	
   VNF3	
  
Tail-­‐f	
  NCS	
  EMS1	
   EMS1	
  
OSS	
  
SID	
  
Workflow	
  
Script	
  
YANG	
  Model	
  
VNF,	
  VNFM	
  
	
  Interface	
  DefiniYons	
  
YANG	
  Model	
  
Service	
  DefiniYons	
  
Declarative
Imperative vs Declarative	

•  チューリング完全性、きめ細かい制御が必要	
  
 à	
  ImperaYve	
  
•  不確実性の高い(*)環境	
  
   à	
  DeclaraYve	
  
	
  
(*)不確実性を高める要因	
  
•  地理的・論理的な距離	
  
•  スケーリング	
  
•  複数、多様なコンポーネント(物理・仮想)	
  
•  並列、分散、マルチエージェント型システム	
  
(Appendix) コンピューティング領域における
Programming Paradigm	

オブジェクト指向	
  
Object	
  Oriented	
  
手続き型	
  
Procedural	
  
宣言的、函数型	
  
DeclaraYve,	
  
FuncYonal	
  
対立	
  ?!	
  
•  原理的に相容れないところがある	
  
•  しかし用途が違えば要求も違うのであまり原理主義にならずに..	
  
ImperaYve	
  
DeclaraYve	
  
(Appendix) Cloud Management領域における
Imperative vs Declarative議論	

hEp://docs.oasis-­‐open.org/tosca/TOSCA/v1.0/
cs01/TOSCA-­‐v1.0-­‐cs01.pdf	
  
Proceedings	
  of	
  the	
  IEEE	
  InternaYonal	
  Conference	
  on	
  Cloud	
  
Engineering	
  (IEEE	
  IC2E	
  2014)}	
  March	
  2014,	
  p87-­‐96,	
  DOI	
  10.1109/IC2E.
2014.56	
  
(Appendix – さらに蛇足) 人間と機械の関係	

ImperaYveなパラダイム	
  
•  プログラムを書く人間が全てを知っている	
  
	
  
DeclaraYveなパラダイム	
  
•  Network	
  centric	
  compuYng	
  
-­‐-­‐	
  ネットワークを介して機械が機械をプログラムする	
  
	
  
•  人間が予め全てを掌握している訳ではない	
  
-­‐-­‐	
  deep	
  learning,	
  agent-­‐based	
  system	
  
Agenda	

•  Network領域におけるプログラミングパラダイム試論
•  宣言的プログラミング
•  SDNのひとつの形態
•  Open	
  Daylight	
  -­‐-­‐	
  BGP-­‐LS/PCEPとMD-­‐SAL	
  
Network Engineerにとってのネットワーク?!	

Network	
  Engineers	
  
Image	
  source	
  :	
  
	
  hEp://www.dreamsYme.com/royalty-­‐free-­‐stock-­‐images-­‐3d-­‐white-­‐people-­‐system-­‐administrator-­‐image28585969,	
  	
  
hEp://www.sudarshansowech.com/chnt3.htm	
  
node	
  
link	
  
•  自分のendpoint情報を表明	
  
•  あとはよしなにつながる	
  
GW	
  
•  IP	
  addr/subnet	
  
•  vlan	
  
•  port	
  
外部ネットワーク	
  
内部ネットワーク	
   Security	
  
Server	
  Engineers	
  
•  ネットワークはノードとリンク
から構成される	
  
•  トポロジー重要、帯域重要	
  
•  Cost,	
  Delay,	
  JiEer..	
  
BGP−LSとPCEP - Network EngineerのためのSDN	

R5	
  
R6	
  
R7	
  
R3	
  
R4	
  
R1	
  
R2	
  
SDN	
  Controller	
  
Programming	
  CollecIon	
  
NB	
  interface	
  
PCEP	
  BGP-­‐LS,	
  
etc	
  
CongesYon!	
  
TE	
  path	
  (Traffic	
  Engineering	
  Path)の
パス計算、設定	
  Topology、帯域、	
  
使用率などの収集	
  
•  自律分散性は維持	
  
•  SLAを満たすパスをつくる	
  
•  要求されるQoSに応じて
パスを分ける	
  
•  TCP	
  MD5	
  Signature	
  OpYon	
  (rfc2385)は分離され、別プロジェクトになった	
  
	
  	
  	
  	
  	
  	
  	
   -­‐	
  BGP,	
  PCEPともにover	
  TCPで動作する	
  
	
  
•  SDNi(SDN	
  interface)とは、SDN	
  Controller間の連携(例えば、複数のコントーラに
跨がるBandwidth	
  On	
  Demandなど)を実現するインタフェース	
  
-­‐	
  BGPの実装を必要とする	
  
OpenDaylightにおけるBGP-LS, PCEPの実装	

http://www.opendaylight.org/
BGP-LSによるトポロジーの学習	

https://wiki.opendaylight.org/images/e/e3/
Os2014-md-sal-tutorial.pdf
PCEPによるPath(Tunnel)設定	

https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide	

R5	
  
R6	
  
R7	
  
R3	
  
R4	
  
R1	
  
R2	
  
SDN	
  Controller	
  
Programming	
  CollecIon	
  
NB	
  interface	
  
PCEP	
  BGP-­‐LS,	
  etc	
  
•  draw-­‐iex-­‐pce-­‐stateful-­‐pce-­‐02	
  and	
  draw-­‐crabbe-­‐iniYated-­‐00	
  
•  draw-­‐iex-­‐pce-­‐stateful-­‐pce-­‐07,	
  draw-­‐iex-­‐pce-­‐pce-­‐iniYated-­‐lsp-­‐00	
  
•  draw-­‐sivabalan-­‐pce-­‐segment-­‐rouYng-­‐02	
  
Create	
   node,	
  name,	
  
arguments,	
  endpoints-­‐obj,	
  
ero,	
  lsp	
  
Update	
   node,	
  name,	
  
arguments,	
  operaYonal,	
  
ero,	
  lsp	
  
Remove	
   node,	
  name	
  
(Appendix: Segment Routing)	

	
  
Controller	
  
	
  
	
  DC	
  
Cross	
  Domain	
  
OrchestraYon	
  
IPv4/IPv6	
  
MPLS	
  
Network	
  
DC	
  	
  	
  
Controller	
  
Segment	
  
RouIng	
  
One	
  Collector	
  
APIs	
  
MPLS	
   Segment	
  RouIng	
  
Control	
  Plane	
  
転送情報配布	
  
LDPやRSVPによ
りLabelを配布	
  
IGPにより	
  
Segment	
  IDを配布	
  
	
  
Traffic	
  
Engineering	
  
RSVP	
  TE	
  signaling
を使用	
  
ヘッダスタックを
使用	
  
ProtecIon	
   RSVP	
  TE	
  FRR	
  
IP	
  FRR(LFA)も可能
だがトポロジー
制約があった。	
  
Topology-­‐
Independent	
  FRR	
  
•  RSVP,LDPは不要	
  
•  NWにおけるステート(RSVP	
  state)の排除	
  
•  ApplicaYon,	
  OrchestraYonとの連携	
  
-  Request	
  (RPC)とNoYficaYonの受付け	
  
-  Modelデータのためのデータストレージ	
  
Model Driven SAL	

http://www.opendaylight.org/	

AD-­‐SAL	
   MD-­‐SAL	
  
•  ネットワークとその属性、ネットワーク機器をモデル化	
  
•  Service/ApplicaYon(North	
  Bound)とProctocol	
  Plug-­‐in(South	
  Boundのマッピング	
  
Model-Driven SAL	

28	
  
	
  
module	
  topology-­‐tunnel-­‐pcep-­‐programming	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  yang-­‐version	
  1;	
  
	
  	
  	
  	
  	
  	
  	
  	
  namespace	
  urn:opendaylight:params:xml:ns:yang:topology:tunnel:pcep:programming;	
  
	
  	
  	
  	
  	
  	
  	
  	
  prefix	
  ttpp;	
  
	
  
	
  	
  	
  	
  import	
  pcep-­‐types	
  {	
  prefix	
  pcep;	
  revision-­‐date	
  2013-­‐10-­‐05;	
  }	
  
	
  	
  	
  	
  import	
  topology-­‐tunnel-­‐programming	
  {	
  prefix	
  ttp;	
  revision-­‐date	
  2013-­‐09-­‐30;	
  }	
  
	
  	
  	
  	
  import	
  topology-­‐tunnel-­‐p2p	
  {	
  prefix	
  p2p;	
  revision-­‐date	
  2013-­‐08-­‐19;	
  }	
  
	
  	
  	
  	
  import	
  topology-­‐tunnel-­‐pcep	
  {	
  prefix	
  ptp;	
  revision-­‐date	
  2013-­‐08-­‐20;	
  }	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  organization	
  Cisco	
  Systems,	
  Inc.;	
  
	
  	
  	
  	
  	
  	
  	
  	
  contact	
  Robert	
  Varga	
  rovarga@cisco.com;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  description	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  This	
  module	
  contains	
  the	
  programming	
  extensions	
  for	
  tunnel	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  topologies.	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Copyright	
  (c)2013	
  Cisco	
  Systems,	
  Inc.	
  All	
  rights	
  reserved.	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  This	
  program	
  and	
  the	
  accompanying	
  materials	
  are	
  made	
  available	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  under	
  the	
  terms	
  of	
  the	
  Eclipse	
  Public	
  License	
  v1.0	
  which	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  accompanies	
  this	
  distribution,	
  and	
  is	
  available	
  at	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  http://www.eclipse.org/legal/epl-­‐v10.html;	
  
	
  
	
  	
  	
  	
  rpc	
  pcep-­‐create-­‐p2p-­‐tunnel	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  input	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:create-­‐p2p-­‐tunnel-­‐input;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  output	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:create-­‐p2p-­‐tunnel-­‐output;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  rpc	
  pcep-­‐destroy-­‐tunnel	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  input	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:destroy-­‐tunnel-­‐input;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  output	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:destroy-­‐tunnel-­‐output;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  rpc	
  pcep-­‐update-­‐tunnel	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  input	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:base-­‐tunnel-­‐input;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  output	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:base-­‐tunnel-­‐output;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }!
}!
Yang	
  
Tools	
  
Plugin	
   Plugin	
  
Model	
   topology-tunnel-pcep-programming.yang	

APIs	
  
Model-Driven SAL	

•  ApplicaYonはNorth	
  Bound	
  Interfaceによりモデルとその情報にアクセスする	
  
Why Model?	

•  Modelとは、システムの機能、構造、ふるまいの表現(*)	
  
(*)	
  Architectural	
  Board	
  	
  ORMSC,	
  “Model	
  Driven	
  Architecture”,	
  July	
  2001	
  
•  Modelのメリット	
  
•  宣言的	
  
  Howを指示ではなくWhatを合意	
  
•  共通言語	
  
 多様で異なる{技術|プラットフォーム|組織}	
  間での共通性	
  
•  ポータビリティ、保守性	
  
  モデルからモデルへの変換	
  
•  頑健性、スケール	
  
•  不確実性への対処	
  
まとめ	

•  Network領域におけるプログラミングパラダイム試論
•  宣言的プログラミング
•  SDNのひとつの形態
•  Open	
  Daylight	
  -­‐-­‐	
  BGP-­‐LS/PCEPとMD-­‐SAL	
  
複雑・多様・不確実性に対処するために	
  
•  DeclaraYve	
  Programming	
  
宣言的プログラミング	
  
•  Model	
  Driven	
 
モデル駆動型	
  
Thank you !

More Related Content

What's hot

DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月VirtualTech Japan Inc.
 
Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015Nachi Ueno
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...Tomoya Hibi
 
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介Takeshi Take
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...VirtualTech Japan Inc.
 
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会Tomoya Hibi
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
Mk state in-programming-01
Mk state in-programming-01Mk state in-programming-01
Mk state in-programming-01Miya Kohno
 
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...Juniper Networks (日本)
 
ネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリット
ネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリットネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリット
ネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリットMidokura
 
今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?
今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?
今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?Brocade
 
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 

What's hot (20)

DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
 
Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
 
NFVについて
NFVについてNFVについて
NFVについて
 
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
NFVアプリケーションをOpenStack上で動かす為に - OpenStack最新情報セミナー 2017年7月
 
Mk state in-programming-01
Mk state in-programming-01Mk state in-programming-01
Mk state in-programming-01
 
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
 
ネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリット
ネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリットネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリット
ネットワーク仮想化ソフトウェアMidoNet ユースケースとユーザメリット
 
今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?
今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?
今、本当に“オープン”が必要なそのワケ ブロケードが考えるNFVの今、SDNへの未来とは?
 
Juniper Festa @ Interop Tokyo 2017
Juniper Festa @ Interop Tokyo 2017Juniper Festa @ Interop Tokyo 2017
Juniper Festa @ Interop Tokyo 2017
 
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
 
Lagopus Router
Lagopus RouterLagopus Router
Lagopus Router
 

Viewers also liked

『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月 『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
Elastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackElastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackMats Kindahl
 
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月 Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月
OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月
OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 
Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介npsg
 
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...VirtualTech Japan Inc.
 
MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月
MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月
MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
NTTデータ様講演 OpenStack最新情報セミナー 2014年6月
NTTデータ様講演 OpenStack最新情報セミナー 2014年6月NTTデータ様講演 OpenStack最新情報セミナー 2014年6月
NTTデータ様講演 OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2VirtualTech Japan Inc.
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月VirtualTech Japan Inc.
 
OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門VirtualTech Japan Inc.
 
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月VirtualTech Japan Inc.
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...
『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...
『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...VirtualTech Japan Inc.
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 

Viewers also liked (20)

『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月 『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
 
Elastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackElastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStack
 
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月 Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
 
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
 
OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書
 
OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月
OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月
OpenStack運用管理最前線 - OpenStack最新情報セミナー 2014年12月
 
Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介Webアプリケーションによる電源管理システムのご紹介
Webアプリケーションによる電源管理システムのご紹介
 
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
 
MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月
MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月
MidoNet Trouble Shooting – OpenStack最新情報セミナー 2015年4月
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
NTTデータ様講演 OpenStack最新情報セミナー 2014年6月
NTTデータ様講演 OpenStack最新情報セミナー 2014年6月NTTデータ様講演 OpenStack最新情報セミナー 2014年6月
NTTデータ様講演 OpenStack最新情報セミナー 2014年6月
 
OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
 
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
 
OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門
 
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月
明日から試せる!ソフトウエアベースストレージ「ScaleIO」のご紹介 - OpenStack最新情報セミナー 2015年9月
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月使ってわかった!現場担当者が語るOpenStack運用管理の課題  - OpenStack最新情報セミナー 2015年2月
使ってわかった!現場担当者が語るOpenStack運用管理の課題 - OpenStack最新情報セミナー 2015年2月
 
『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...
『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...
『OpenStackの導入事例/検証事例のご紹介』 NTTドコモ様 検証事例:OpenStack Summit 2014 Paris 講演「Design ...
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 

Similar to 「宣言的プログラミング」とSDNのひとつの形態

試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShiftEtsuji Nakai
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesTaiki
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-Takashi Sogabe
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityMiya Kohno
 
OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告Mitsuhiro SHIGEMATSU
 
Scala + Finagleの魅力
Scala + Finagleの魅力Scala + Finagleの魅力
Scala + Finagleの魅力Kota Mizushima
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewallM Hagiwara
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Takashi Sogabe
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコードYukihiko SAWANOBORI
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Developers Summit
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理Motonori Shindo
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Yoshiyuki Nakamura
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入Juniper Networks (日本)
 
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)Hajime Tazaki
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
Klab expert camp 成果発表
Klab expert camp 成果発表Klab expert camp 成果発表
Klab expert camp 成果発表teruyaono1
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれMasataka MIZUNO
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2Dell TechCenter Japan
 

Similar to 「宣言的プログラミング」とSDNのひとつの形態 (20)

試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionality
 
OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告
 
Scala + Finagleの魅力
Scala + Finagleの魅力Scala + Finagleの魅力
Scala + Finagleの魅力
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコード
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
 
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Klab expert camp 成果発表
Klab expert camp 成果発表Klab expert camp 成果発表
Klab expert camp 成果発表
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 

More from npsg

Telemetry事始め
Telemetry事始めTelemetry事始め
Telemetry事始めnpsg
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたnpsg
 
Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析npsg
 
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMXAPI イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMXnpsg
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視npsg
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいnpsg
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 
ネットワークプログラマビリティ勉強会 目的と方針(暫定)
ネットワークプログラマビリティ勉強会 目的と方針(暫定)ネットワークプログラマビリティ勉強会 目的と方針(暫定)
ネットワークプログラマビリティ勉強会 目的と方針(暫定)npsg
 
CDP Indicator
CDP IndicatorCDP Indicator
CDP Indicatornpsg
 
IxVM on CML
IxVM on CMLIxVM on CML
IxVM on CMLnpsg
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 

More from npsg (12)

Telemetry事始め
Telemetry事始めTelemetry事始め
Telemetry事始め
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析
 
API イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMXAPI イントロダクション APIC-EM, Prime Infrastructure & CMX
API イントロダクション APIC-EM, Prime Infrastructure & CMX
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
ネットワークプログラマビリティ勉強会 目的と方針(暫定)
ネットワークプログラマビリティ勉強会 目的と方針(暫定)ネットワークプログラマビリティ勉強会 目的と方針(暫定)
ネットワークプログラマビリティ勉強会 目的と方針(暫定)
 
CDP Indicator
CDP IndicatorCDP Indicator
CDP Indicator
 
IxVM on CML
IxVM on CMLIxVM on CML
IxVM on CML
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (10)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

「宣言的プログラミング」とSDNのひとつの形態

  • 1. 19  Feb.  2015   河野 美也(Miya  Kohno,  miya.kohno@gmail.com)   「宣言的プログラミング」と SDNのひとつの形態 ネットワークプログラマビリティ勉強会 #3 http://network-programmability.connpass.com/
  • 2. 自己紹介 •  河野 美也(こうの みや)   •  元ソフトウェア開発者でした   - Programming  style議論が好きでした •  その後はネットワークエンジニア   - Protocol     - Network  Architecture •  Official  Blog   - hEp://gblogs.cisco.com/jp/author/miyakohno/   •  TwiEer   @mkohno  
  • 3. Agenda •  Network領域におけるプログラミングパラダイム試論 •  宣言的プログラミング •  SDNのひとつの形態 •  Open  Daylight  -­‐-­‐  BGP-­‐LS/PCEPとMD-­‐SAL  
  • 4. Network Programmabilityとは何か •  Neutron I E T F •  NETCONF/YANG   •  I2RS   •  FORCES   •  + あらゆるネットワークプロトコル!   Network  Engineerによる プログラミング、 オーケストレーション Network  Device  (Virtual,  Physical)  の プログラミング
  • 5. Network領域における Programming Paradigmの傾向 (仮説) •  ImperaYveよりもDeclara've    (ImperaYve  –  命令的、DeclaraYve  –  宣言的)     •  ProcedureよりもModel  driven    (Procedure  –  手続き型、Model  driven  –  モデル駆動型)   •  WaterfallよりもAgile開発手法
  • 6. Declarative Programming (宣言的プログラミング)とは Wikipedia(英語版)によると、   「ImperaYveでないProgramming  Style  (キリッ)  」     その他の定義としては、   •  A  program  that  describes  what  computaYon  should  be  performed  and  not  how   to  compute  it     方法(how)  ではなく、何(what)をすべきかを記述     •  Any  programming  language  that  lacks  side  effects  (or  more  specifically,  is   referenYally  transparent)     副作用の無いこと(厳密には、参照透過であること)     •  A  language  with  a  clear  correspondence  to  mathemaYcal  logic     数理と対応している言語のこと   http://en.wikipedia.org/wiki/Declarative_programming 広く緩い定義から狭く厳密な定義まであるらしい...。 ひとまず、あまり厳密性は気にしないでおく…。
  • 7. Declarative Programming (宣言的プログラミング)とは http://karari.tumblr.com/post/61067682037/clojure 「1から10までの全ての整数を足す」   ImperaYveなコード   var s = 0;! for(var n=1; n=10; n++)! {! s = s + n; ! }! console.log(s);! //55! DeclaraYveなコード   (- (range 1 11)! (reduce +)! (println)! )! //55! Flowchart  !   Model  !!   n  =  10  ?     •  足す   •  nを増加させる   1  ...  10   1から10という範囲の 整数の集合 総計
  • 8. Declarative Programming (宣言的プログラミング)とは 参照透過性(ReferenYal  Transparency)、冪等性(Idempotence)とは何か   参照透過性(ReferenYal  Transparency)     文脈に依らず、式の値はその構成要素だけによって決まる。   同じ条件を与えると、必ず同じ値が返る。   (外部変数、とかを使ってはいけない。)   冪等性(Idempotence)     ある操作を一度行っても複数回行っても結果が変わらないことを表す概念 (例えば、n++;は冪等でない。冪等性が保証できないと、Ymeout  -­‐  retry等 の場合に結果が変わってしまう)   à  ネットワークコンピューティング、並列処理には重要  
  • 9. Idempotence (冪等性) group{'sysadmin':! !ensure=present! }! # First Puppet Run! notice: /Group[sysadmin]/ensure: created! notice: Finished catalog run in 0.08 seconds! ! # Second Puppet Run! notice: Finished catalog run in 0.03 seconds! Puppetの例   「存在する」という 望む状態を記述する   既に「存在する」ので 二度目は実行されない   同じことをShell  Script(ImperaYve)で書こうとすると、条件分岐が増える   if[`getentgroupsysadmin|awk-F:'{print$1}'`==]! !then! ! !groupaddsysadmin! fi!
  • 10. Declarative Programming (宣言的プログラミング)とは [長所]   •  並列処理への親和性   •  不測の事態への対処、頑健性   •  複雑性への対処、スケール性   •  再利用性、保守性   [制約]   •  チューリング不完全   •  ドメイン・スコープを制限する必要あり   •  細部まで明示的に規定することができない   “What”を合意   モデル   冪等性  
  • 11. チューリング完全性について •  「チューリング完全」とは     -  アルゴリズムに還元できるものは全て記述できること     -  多くのプログラム言語(C,  Java,  Perl,  PHP,  Python..)は   チューリング完全である   •  DeclaraYve(宣言的)方法は、チューリング不完全   -  “how”を記述でなく、”what”を合意     -­‐-­‐  アルゴリズムの万能性、柔軟性は放棄する     -  用途をある程度制限することによりモデルを具現化     e.g.  SQL,  HTML,  JSON,  YANG..  
  • 12. Declarative Programming (宣言的プログラミング)とは ImperaYve   DeclaraYve   プログラミン グ言語   手続き型   函数型   Domain  Specific   Language   Network   Control   Openflow                            OVS   DB   NETCONF/RESTCONF   Control  Plane  Protocols     OrchestraYon/ AutomaYon   Workflow   Model-­‐driven   構成管理   Script     Puppet   CFEngine   OVSDB  
  • 13. Transport   Assurance   OrchestraYon   Control   Infrastructure   •  Physical   •  Virtual   virtual   physical   Service   ApplicaYon   Forwarding  Plane   (Distributed)  Control  Plane   (Centralized)  Control  Plane   Domain  OrchestraYon   Service  OrchestraYon   Service,  ApplicaYon   Network Programmabilityにおける階層性 様々な形態の   Programmability  
  • 14. •  Model  Driven  SAL(Service  AdaptaYon  Layer)の追加   •  多種のSouthbound  Protocol  (BGP-­‐LS,  PCEP..)   •  仮想・物理デバイスへの対応   (例) OpenDaylight Controller Architecture http://www.opendaylight.org/ DeclaraYve   ImperaYve  
  • 15. •  NFVO  (NFV  Service  Orchestrator)     •  VNFM  (VNF  Manager)   •  VIM  (Virtual  Infrastructure  Manager)  –  Openstack,  etc.   (例) ETSI NFV Orchestration Architecture Imperative BSS   EMS1   VirtualizaYon  Layer   VNFM   VIM   Virtual   CompuYng   Virtual   Storage   Virtual   Networ k   NFVO   NFVI   NFV   Management   and   OrchestraYon   (Mano)   CompuYng   Hardware   Storage   Hardware   Network   Hardware   VNF1   VNF2   VNF3   Tail-­‐f  NCS  EMS1   EMS1   OSS   SID   Workflow   Script   YANG  Model   VNF,  VNFM    Interface  DefiniYons   YANG  Model   Service  DefiniYons   Declarative
  • 16. Imperative vs Declarative •  チューリング完全性、きめ細かい制御が必要    à  ImperaYve   •  不確実性の高い(*)環境      à  DeclaraYve     (*)不確実性を高める要因   •  地理的・論理的な距離   •  スケーリング   •  複数、多様なコンポーネント(物理・仮想)   •  並列、分散、マルチエージェント型システム  
  • 17. (Appendix) コンピューティング領域における Programming Paradigm オブジェクト指向   Object  Oriented   手続き型   Procedural   宣言的、函数型   DeclaraYve,   FuncYonal   対立  ?!   •  原理的に相容れないところがある   •  しかし用途が違えば要求も違うのであまり原理主義にならずに..   ImperaYve   DeclaraYve  
  • 18. (Appendix) Cloud Management領域における Imperative vs Declarative議論 hEp://docs.oasis-­‐open.org/tosca/TOSCA/v1.0/ cs01/TOSCA-­‐v1.0-­‐cs01.pdf   Proceedings  of  the  IEEE  InternaYonal  Conference  on  Cloud   Engineering  (IEEE  IC2E  2014)}  March  2014,  p87-­‐96,  DOI  10.1109/IC2E. 2014.56  
  • 19. (Appendix – さらに蛇足) 人間と機械の関係 ImperaYveなパラダイム   •  プログラムを書く人間が全てを知っている     DeclaraYveなパラダイム   •  Network  centric  compuYng   -­‐-­‐  ネットワークを介して機械が機械をプログラムする     •  人間が予め全てを掌握している訳ではない   -­‐-­‐  deep  learning,  agent-­‐based  system  
  • 20. Agenda •  Network領域におけるプログラミングパラダイム試論 •  宣言的プログラミング •  SDNのひとつの形態 •  Open  Daylight  -­‐-­‐  BGP-­‐LS/PCEPとMD-­‐SAL  
  • 21. Network Engineerにとってのネットワーク?! Network  Engineers   Image  source  :    hEp://www.dreamsYme.com/royalty-­‐free-­‐stock-­‐images-­‐3d-­‐white-­‐people-­‐system-­‐administrator-­‐image28585969,     hEp://www.sudarshansowech.com/chnt3.htm   node   link   •  自分のendpoint情報を表明   •  あとはよしなにつながる   GW   •  IP  addr/subnet   •  vlan   •  port   外部ネットワーク   内部ネットワーク   Security   Server  Engineers   •  ネットワークはノードとリンク から構成される   •  トポロジー重要、帯域重要   •  Cost,  Delay,  JiEer..  
  • 22. BGP−LSとPCEP - Network EngineerのためのSDN R5   R6   R7   R3   R4   R1   R2   SDN  Controller   Programming  CollecIon   NB  interface   PCEP  BGP-­‐LS,   etc   CongesYon!   TE  path  (Traffic  Engineering  Path)の パス計算、設定  Topology、帯域、   使用率などの収集   •  自律分散性は維持   •  SLAを満たすパスをつくる   •  要求されるQoSに応じて パスを分ける  
  • 23. •  TCP  MD5  Signature  OpYon  (rfc2385)は分離され、別プロジェクトになった                 -­‐  BGP,  PCEPともにover  TCPで動作する     •  SDNi(SDN  interface)とは、SDN  Controller間の連携(例えば、複数のコントーラに 跨がるBandwidth  On  Demandなど)を実現するインタフェース   -­‐  BGPの実装を必要とする   OpenDaylightにおけるBGP-LS, PCEPの実装 http://www.opendaylight.org/
  • 25. PCEPによるPath(Tunnel)設定 https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide R5   R6   R7   R3   R4   R1   R2   SDN  Controller   Programming  CollecIon   NB  interface   PCEP  BGP-­‐LS,  etc   •  draw-­‐iex-­‐pce-­‐stateful-­‐pce-­‐02  and  draw-­‐crabbe-­‐iniYated-­‐00   •  draw-­‐iex-­‐pce-­‐stateful-­‐pce-­‐07,  draw-­‐iex-­‐pce-­‐pce-­‐iniYated-­‐lsp-­‐00   •  draw-­‐sivabalan-­‐pce-­‐segment-­‐rouYng-­‐02   Create   node,  name,   arguments,  endpoints-­‐obj,   ero,  lsp   Update   node,  name,   arguments,  operaYonal,   ero,  lsp   Remove   node,  name  
  • 26. (Appendix: Segment Routing)   Controller      DC   Cross  Domain   OrchestraYon   IPv4/IPv6   MPLS   Network   DC       Controller   Segment   RouIng   One  Collector   APIs   MPLS   Segment  RouIng   Control  Plane   転送情報配布   LDPやRSVPによ りLabelを配布   IGPにより   Segment  IDを配布     Traffic   Engineering   RSVP  TE  signaling を使用   ヘッダスタックを 使用   ProtecIon   RSVP  TE  FRR   IP  FRR(LFA)も可能 だがトポロジー 制約があった。   Topology-­‐ Independent  FRR   •  RSVP,LDPは不要   •  NWにおけるステート(RSVP  state)の排除   •  ApplicaYon,  OrchestraYonとの連携  
  • 27. -  Request  (RPC)とNoYficaYonの受付け   -  Modelデータのためのデータストレージ   Model Driven SAL http://www.opendaylight.org/ AD-­‐SAL   MD-­‐SAL   •  ネットワークとその属性、ネットワーク機器をモデル化   •  Service/ApplicaYon(North  Bound)とProctocol  Plug-­‐in(South  Boundのマッピング  
  • 28. Model-Driven SAL 28     module  topology-­‐tunnel-­‐pcep-­‐programming  {                  yang-­‐version  1;                  namespace  urn:opendaylight:params:xml:ns:yang:topology:tunnel:pcep:programming;                  prefix  ttpp;            import  pcep-­‐types  {  prefix  pcep;  revision-­‐date  2013-­‐10-­‐05;  }          import  topology-­‐tunnel-­‐programming  {  prefix  ttp;  revision-­‐date  2013-­‐09-­‐30;  }          import  topology-­‐tunnel-­‐p2p  {  prefix  p2p;  revision-­‐date  2013-­‐08-­‐19;  }          import  topology-­‐tunnel-­‐pcep  {  prefix  ptp;  revision-­‐date  2013-­‐08-­‐20;  }                    organization  Cisco  Systems,  Inc.;                  contact  Robert  Varga  rovarga@cisco.com;                    description                                  This  module  contains  the  programming  extensions  for  tunnel                                  topologies.                                    Copyright  (c)2013  Cisco  Systems,  Inc.  All  rights  reserved.                                    This  program  and  the  accompanying  materials  are  made  available                                  under  the  terms  of  the  Eclipse  Public  License  v1.0  which                                  accompanies  this  distribution,  and  is  available  at                                  http://www.eclipse.org/legal/epl-­‐v10.html;            rpc  pcep-­‐create-­‐p2p-­‐tunnel  {                  input  {                          uses  ttp:create-­‐p2p-­‐tunnel-­‐input;                            uses  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;                          uses  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;                  }                  output  {                          uses  ttp:create-­‐p2p-­‐tunnel-­‐output;                  }          }          rpc  pcep-­‐destroy-­‐tunnel  {                  input  {                          uses  ttp:destroy-­‐tunnel-­‐input;                  }                  output  {                          uses  ttp:destroy-­‐tunnel-­‐output;                  }          }          rpc  pcep-­‐update-­‐tunnel  {                  input  {                          uses  ttp:base-­‐tunnel-­‐input;                            uses  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;                          uses  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;                  }                  output  {                          uses  ttp:base-­‐tunnel-­‐output;                  }          }! }! Yang   Tools   Plugin   Plugin   Model   topology-tunnel-pcep-programming.yang APIs  
  • 29. Model-Driven SAL •  ApplicaYonはNorth  Bound  Interfaceによりモデルとその情報にアクセスする  
  • 30. Why Model? •  Modelとは、システムの機能、構造、ふるまいの表現(*)   (*)  Architectural  Board    ORMSC,  “Model  Driven  Architecture”,  July  2001   •  Modelのメリット   •  宣言的     Howを指示ではなくWhatを合意   •  共通言語    多様で異なる{技術|プラットフォーム|組織}  間での共通性   •  ポータビリティ、保守性     モデルからモデルへの変換   •  頑健性、スケール   •  不確実性への対処  
  • 31. まとめ •  Network領域におけるプログラミングパラダイム試論 •  宣言的プログラミング •  SDNのひとつの形態 •  Open  Daylight  -­‐-­‐  BGP-­‐LS/PCEPとMD-­‐SAL   複雑・多様・不確実性に対処するために   •  DeclaraYve  Programming   宣言的プログラミング   •  Model  Driven モデル駆動型