10. ? PIOLINK, Inc. SDN No.1
MD-SAL
? ??
Binding-Independent
Consumers
Binding-Aware
Consumers
Binding-Aware
Providers
Binding-Independent
providers
Binding-Aware Broker
Binding Independent
Broker
BI Data
Repository
Binding
Generator
Schema Repository
Consumer
Controller SAL
Provider
11. ? PIOLINK, Inc. SDN No.1
MD-SAL
? Components
?? ??
Binding YANG schema? ?? ??? Java interface, class, contract
Provider Application? ???? ??
Consumer Provider?? ?? ???(API, model)? ??
BA(Binding-Aware) Data? API? ?? ??? Binding? ??
BI(Binding-Independent) ??? Binding? ???? ?? data? API call? ?? DOM(Document
Object Model)? ??
BA Broker Consumer? Provider? ???? data? service? ???? ?? ??
BI Broker Provider? Consumer?? RPC, notification, data? ??
Binding Generator BI ???? data mappers? binding interface? ??
Schema Repository YANG-Java? ?? ??? ???? BA API? BI API call? ?? ???
BI Data Repository ?? data? ?? ?? ???? BI infrastructure? ?? ??
12. ? PIOLINK, Inc. SDN No.1
MD-SAL
? BA Broker ??(Notification Hub)
Application
BA Provider BI Provider
Application
Controller SAL
Provider
onNotification(example)
onNotification(example)Notify(example)
Binding-Aware Broker
Binding-Independent
Broker
Notify(example)
13. ? PIOLINK, Inc. SDN No.1
MD-SAL
? BA Broker ??(RPC Routing)
Application
BA Provider BI Provider
Application
Controller SAL
Provider
Module.example()
RPC(example)return
Binding-Aware Broker
Binding-Independent
Broker
RPC(example)
Module.example()
return
return
return
?? ???
Binding? ??
BA -> BA
BA -> BI
14. ? PIOLINK, Inc. SDN No.1
MD-SAL
? BI Broker ??(Notification Hub)
Notification Consumer
Notification Producer Notification Consumer
Binding-Independent Broker
Application
Controller SAL
Provider
onNotification(example)
onNotification(example)Notify(example)
15. ? PIOLINK, Inc. SDN No.1
MD-SAL
? BI Broker ??(RPC Routing)
Application
Provider with RPC(example)
Provider without
functionality
Binding-Independent Broker
Application
Controller SAL
Provider
RPC(example)
RPC(example)
return
return
16. ? PIOLINK, Inc. SDN No.1
MD-SAL
? Example(OpenFlow : add flow)
RESTCONF
OpenFlow Plugin
Application
Controller SAL
Provider
Binding-Aware Broker
Binding-Independent
Broker
OpenFlow Switch
add_flow()
RPC(add_flow)
RPC(add_flow)
return
return
return
OpenFlow Library
Data Plane
Forwarding Rules Manager
returnGET : add_flow
*??? ??
Flow? ??
?? API
17. ? PIOLINK, Inc. SDN No.1
??
? http://www.opendaylight.org
? https://wiki.opendaylight.org/
? https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-
SAL:MD-SAL_Document_Review:Architecture#Background
? rfc6020(YANG)