1 / 25

CCDM: central controller-based device management with distributed script engines.

CCDM: central controller-based device management with distributed script engines. Akihiro Sugiyama Hideya Ochiai Hiroshi Esaki The University of Tokyo / NICT 2009-07-23. Outline. Background CCDM Architecture and System Design Implementation Demonstration Discussion Conclusion.

rasul
Download Presentation

CCDM: central controller-based device management with distributed script engines.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CCDM: central controller-based device management with distributed script engines. Akihiro Sugiyama Hideya Ochiai Hiroshi Esaki The University of Tokyo / NICT 2009-07-23

  2. Outline • Background • CCDM Architecture and System Design • Implementation • Demonstration • Discussion • Conclusion

  3. Background • Programming and Data Processing in IP-based Facility Networking • Approach 1: Data Centralization ○Programmability ×Fault tolerance, Computing capacity • Approach 2: Distributed Programming ×Programmability ○Fault tolerance, Scale-out computing capacity • CCDM: Centralized Programming and Distributed Computing in IP-based Facility networking 3F 2F 1F Operator

  4. << Scenario Description >>Centralized Programming 7 put Programmer AVG get get get 1 1 1 Program Time TCP/IP TCP/IP get 2 GW GW put 6 MAX get Field-bus A Field-bus B 3 gt 5 8 get 20 4 put 1 2 3 4 6 8 7 Sensors and Actuators

  5. << Scenario Description >>Distributed Computing Program Deploy 20 AVG MAX GW GW gt Field-bus A Field-bus B 5 1 2 3 4 6 8 7

  6. Outline • Background • CCDM Architecture and System Design • Implementation • Demonstration • Discussion • Conclusion

  7. CCDM Architecture Programmer Resource Information (Present) Programming Program Controller Compile Resource Information (Gather) Deploy (or Execute) Resource Information (Extract) Runtime Object GW GW GW GW Field-Bus

  8. Programming by OperatorsHow do operators program?? Switch Light Light Light hot Display cold plus if + divide Comp (gteq) / 4 20 Temperature Actuators Sensors Software Logic

  9. Implementation of Software Logic <OUTPUT name=”X”> <if> <gteq> <divide> <plus> <INPUT name=”A” /> <INPUT name=”B” /> <INPUT name=”C” /> <INPUT name=”D” /> </plus> <int>4</int> </divide> <double>20</double> </gteq> <text>hot</text> <text>cold</text> </if> </OUTPUT> hot X cold A plus if B + divide Comp (gteq) C / D 4 20 Ladder-Software Logic

  10. Implementation byLISP-based XML Script <plus> <int>3</int> <int>5</int> </plus> <while> <lt>...</lt> ... </while> <progn> <setq name=“mysocket”> <dgSocket> <text>203.178.135.72</text> <int>13572</int> </dgSocket> </setq> <dgSend> <getq name=“mysocket” /> <getq name=“myarray” /> </dgSend> <dgClose> <getq name=“mysocket” /> </dgClose> </progn> 3+5 <if> <eq> <getq name=“x” /> <int>6</int> </eq> <text>IPv6</text> <text>Unknown</text> </if> if (x==6) { return “IPv6”; }else{ return “Unknown”; }

  11. The Structure of the Programming Language CCDMScript CCDMScript chunk A chunk A INPUT X Readable Device POST channel C (e.g., Temperature) CATCH OUTPUT Y Writable Device chunk B chunk B (e.g., Buzzer) Message Channel INPUT / OUTPUT

  12. << The Structure of a Script >>Message Channel <CCDMScript> <chunk name=”A”> ... <POST channel=”C”> ... </POST> </chunk> <chunk name=”B”> ... <CATCH channel=”C” /> ... </chunk> ... </CCDMScript> CCDMScript chunk A POST channel C CATCH chunk B

  13. << The Structure of a Script >>INPUT / OUTPUT Interfaces <CCDMScript> <chunk name=”A”> ... <INPUT name=”X” /> ... </chunk> <chunk name=”B”> <OUTPUT name=”Y”> ... </OUTPUT> ... </chunk> ... </CCDMScript> CCDMScript Readable Device chunk A INPUT X OUTPUT Y Writable Device chunk B

  14. Compile Process CCDMScript Executable Code for GW0 chunk A INPUT POST Compile Device driver socket channel C CATCH TCP/IP OUTPUT chunk B socket Device driver Executable Code for GW1 Resouce Information

  15. Resource Information IP Address Other Information IP Address Other Information Port Range Port Range Device List Device List I/F Name Device Driver I/F Name Device Driver A ........... A’ ........... B ........... B’ ........... C ........... C’ ........... D ........... D’ ........... Resource Information from GW0 Resource Information from GW1

  16. Outline • Background • CCDM Architecture and System Design • Implementation • Demonstration • Discussion • Conclusion

  17. Implementation • Core System: Java - 84 classes • Interpreter • Compiler • Deployment Tools • Devices • {Buzzer, 3 Color LED, 7 Segment LED, Rotary SW, CDS} on PICNIC • Weather Sensor (WM918) on Armadillo • Dot Matrix Display on Armadillo

  18. Outline • Background • CCDM Architecture and System Design • Implementation • Demonstration • Discussion • Conclusion

  19. Demonstration Head Quarter CCDM Controller Armadillo Switch Weather Sensor Armadillo Display Switch Switch Switch Ethernet Ethernet Ethernet CCDM GW CCDM GW CCDM GW PICNIC PICNIC PICNIC PICNIC PICNIC PIO PIO PIO PIO PIO LED SW LED SW CDS LED LED SW CDS LED Buzzer Buzzer Buzzer Room 1 Room 2 Room 3

  20. Demonstration (Compile and Deploy) Head Quarter Program CCDM Controller Compile Armadillo Exec Code Exec Code Switch Weather Sensor Exec Code Armadillo Deploy Deploy Deploy Display Switch Switch Switch Exec Code Ethernet Exec Code Exec Code Ethernet Ethernet CCDM GW CCDM GW CCDM GW PICNIC PICNIC PICNIC PICNIC PICNIC PIO PIO PIO PIO PIO LED SW LED SW CDS LED LED SW CDS LED Buzzer Buzzer Buzzer Room 1 Room 2 Room 3

  21. Demonstration (Dataflow and Fault Tolerance) Head Quarter Program CCDM Controller Armadillo Switch Weather Sensor Armadillo Display Switch Switch Switch Exec Code Ethernet Exec Code Exec Code Ethernet Ethernet CCDM GW CCDM GW CCDM GW PICNIC PICNIC PICNIC PICNIC PICNIC PIO PIO PIO PIO PIO LED SW LED SW CDS LED LED SW CDS LED Buzzer Buzzer Buzzer Room 1 Room 2 Room 3

  22. Outline • Background • CCDM Architecture and System Design • Implementation • Demonstration • Discussion • Conclusion

  23. Discussion • Programming and Compiler • Static resource information × Dynamic optimization, resource management • Toward Facility Operating System • Dynamic resource management • Access control • Sensor networking as a database • Sensor networking as a network

  24. Conclusion • Centralized Programming and Distributed Computing for IP-Based Facility Networking • CCDM Design using LISP-based XML Script • Facility Networking can be discussed in terms of Resource Management and Programming • Open Issues • Debug, Dynamic optimization • Multi-operator case: Mutual exclusion, Access control

More Related