| <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1076.4px" preserveAspectRatio="none" style="width:1831px;height:1076px;background:#FFFFFF;" version="1.1" viewBox="0 0 1831 1076" width="1831.2px" zoomAndPan="magnify"><defs><filter height="300%" id="f1lk1jg05qkyqm" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.4"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.8" dy="4.8" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#DDDDDD" height="1063.1812" style="stroke:#A80036;stroke-width:1.2;" width="471" x="676.8" y="7.2"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacing" textLength="140.4" x="842.1" y="21.6803">Device Registry</text><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="864.6375" style="stroke:#A80036;stroke-width:1.2;" width="12" x="271.8" y="129.4313"/><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="34.9594" style="stroke:#A80036;stroke-width:1.2;" width="12" x="717" y="216.15"/><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="34.9594" style="stroke:#A80036;stroke-width:1.2;" width="12" x="866.4" y="948.3094"/><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="271.275" style="stroke:#A80036;stroke-width:1.2;" width="12" x="1077" y="337.8281"/><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="506.9625" style="stroke:#000000;stroke-width:2.4;" width="1654.8" x="156" y="355.8281"/><rect fill="#FFFFFF" height="191.3625" style="stroke:none;stroke-width:1.2;" width="1654.8" x="156" y="618.7031"/><rect fill="#FFFFFF" height="52.725" style="stroke:none;stroke-width:1.2;" width="1654.8" x="156" y="810.0656"/><line style="stroke:#A80036;stroke-width:1.2;stroke-dasharray:5.0,5.0;" x1="45.6" x2="45.6" y1="92.0719" y2="1004.8688"/><line style="stroke:#A80036;stroke-width:1.2;stroke-dasharray:5.0,5.0;" x1="277.2" x2="277.2" y1="92.0719" y2="1004.8688"/><line style="stroke:#A80036;stroke-width:1.2;stroke-dasharray:5.0,5.0;" x1="722.4" x2="722.4" y1="92.0719" y2="1004.8688"/><line style="stroke:#A80036;stroke-width:1.2;stroke-dasharray:5.0,5.0;" x1="872.4" x2="872.4" y1="92.0719" y2="1004.8688"/><line style="stroke:#A80036;stroke-width:1.2;stroke-dasharray:5.0,5.0;" x1="1083" x2="1083" y1="92.0719" y2="1004.8688"/><line style="stroke:#A80036;stroke-width:1.2;stroke-dasharray:5.0,5.0;" x1="1704" x2="1704" y1="92.0719" y2="1004.8688"/><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="36.3562" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="75.6" x="6" y="49.7156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="58.8" x="14.4" y="73.7098">Device</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="36.3562" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="75.6" x="6" y="1003.6687"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="58.8" x="14.4" y="1027.6629">Device</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="36.3562" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="214.8" x="168" y="49.7156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="198" x="176.4" y="73.7098">Hono Protocol Adapter</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="36.3562" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="214.8" x="168" y="1003.6687"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="198" x="176.4" y="1027.6629">Hono Protocol Adapter</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="55.9125" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="78" x="681.6" y="30.1594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="61.2" x="690" y="54.1535">Tenant</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="27.6" x="706.8" y="73.7098">API</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="55.9125" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="78" x="681.6" y="1003.6687"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="61.2" x="690" y="1027.6629">Tenant</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="27.6" x="706.8" y="1047.2191">API</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="55.9125" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="187.2" x="776.4" y="30.1594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="170.4" x="784.8" y="54.1535">Device Registration</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="27.6" x="856.2" y="73.7098">API</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="55.9125" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="187.2" x="776.4" y="1003.6687"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="170.4" x="784.8" y="1027.6629">Device Registration</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="27.6" x="856.2" y="1047.2191">API</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="55.9125" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="115.2" x="1023" y="30.1594"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="98.4" x="1031.4" y="54.1535">Credentials</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="27.6" x="1066.8" y="73.7098">API</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="55.9125" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="115.2" x="1023" y="1003.6687"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="98.4" x="1031.4" y="1027.6629">Credentials</text><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="27.6" x="1066.8" y="1047.2191">API</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="36.3562" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="183.6" x="1610.4" y="49.7156"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="166.8" x="1618.8" y="73.7098">Messaging Network</text><rect fill="#FEFECE" filter="url(#f1lk1jg05qkyqm)" height="36.3562" style="stroke:#A80036;stroke-width:1.7999999999999998;" width="183.6" x="1610.4" y="1003.6687"/><text fill="#000000" font-family="sans-serif" font-size="16.8" lengthAdjust="spacing" textLength="166.8" x="1618.8" y="1027.6629">Messaging Network</text><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="864.6375" style="stroke:#A80036;stroke-width:1.2;" width="12" x="271.8" y="129.4313"/><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="34.9594" style="stroke:#A80036;stroke-width:1.2;" width="12" x="717" y="216.15"/><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="34.9594" style="stroke:#A80036;stroke-width:1.2;" width="12" x="866.4" y="948.3094"/><rect fill="#FFFFFF" filter="url(#f1lk1jg05qkyqm)" height="271.275" style="stroke:#A80036;stroke-width:1.2;" width="12" x="1077" y="337.8281"/><polygon fill="#A80036" points="257.4,124.6313,269.4,129.4313,257.4,134.2313,262.2,129.4313" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="46.2" x2="264.6" y1="129.4313" y2="129.4313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="202.8" x="54.6" y="123.3521">connect(X.509 Client Cert)</text><rect fill="#EEEEEE" filter="url(#f1lk1jg05qkyqm)" height="3.6" style="stroke:#EEEEEE;stroke-width:1.2;" width="1822.8" x="0" y="163.7109"/><line style="stroke:#000000;stroke-width:1.2;" x1="0" x2="1822.8" y1="163.7109" y2="163.7109"/><line style="stroke:#000000;stroke-width:1.2;" x1="0" x2="1822.8" y1="167.3109" y2="167.3109"/><rect fill="#EEEEEE" filter="url(#f1lk1jg05qkyqm)" height="27.7594" style="stroke:#000000;stroke-width:2.4;" width="147.6" x="837.6" y="151.0313"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacing" textLength="124.8" x="844.8" y="170.3115">Query Tenant</text><polygon fill="#A80036" points="702.6,211.35,714.6,216.15,702.6,220.95,707.4,216.15" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="283.8" x2="709.8" y1="216.15" y2="216.15"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="410.4" x="292.2" y="210.0709">transfer(subject: "get", body: {"subject-dn": $caDN})</text><polygon fill="#A80036" points="297,246.3094,285,251.1094,297,255.9094,292.2,251.1094" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="289.8" x2="721.8" y1="251.1094" y2="251.1094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="339.6" x="304.2" y="245.0303">transfer(status: "200", ..., body: tenant info)</text><rect fill="#EEEEEE" filter="url(#f1lk1jg05qkyqm)" height="3.6" style="stroke:#EEEEEE;stroke-width:1.2;" width="1822.8" x="0" y="285.3891"/><line style="stroke:#000000;stroke-width:1.2;" x1="0" x2="1822.8" y1="285.3891" y2="285.3891"/><line style="stroke:#000000;stroke-width:1.2;" x1="0" x2="1822.8" y1="288.9891" y2="288.9891"/><rect fill="#EEEEEE" filter="url(#f1lk1jg05qkyqm)" height="27.7594" style="stroke:#000000;stroke-width:2.4;" width="184.8" x="819" y="272.7094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacing" textLength="162" x="826.2" y="291.9896">Query Credentials</text><polygon fill="#A80036" points="1062.6,333.0281,1074.6,337.8281,1062.6,342.6281,1067.4,337.8281" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="283.8" x2="1069.8" y1="337.8281" y2="337.8281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="770.4" x="292.2" y="331.749">transfer(subject: "get", body: {"type": "x509-cert", "auth-id": $subjectDN, "client-certificate": $cert})</text><path d="M156,355.8281 L235.2,355.8281 L235.2,364.2281 L223.2,376.2281 L156,376.2281 L156,355.8281 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.2;"/><rect fill="none" height="506.9625" style="stroke:#000000;stroke-width:2.4;" width="1654.8" x="156" y="355.8281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacing" textLength="25.2" x="174" y="371.5084">alt</text><text fill="#000000" font-family="sans-serif" font-size="13.2" font-weight="bold" lengthAdjust="spacing" textLength="190.8" x="253.2" y="370.4807">[Credentials not found]</text><line style="stroke:#A80036;stroke-width:1.2;" x1="1089" x2="1139.4" y1="419.9063" y2="419.9063"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1139.4" x2="1139.4" y1="419.9063" y2="435.5062"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1090.2" x2="1139.4" y1="435.5062" y2="435.5062"/><polygon fill="#A80036" points="1102.2,430.7063,1090.2,435.5062,1102.2,440.3063,1097.4,435.5062" style="stroke:#A80036;stroke-width:1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="284.4" x="1097.4" y="395.6678">Create a new device registration and</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="236.4" x="1102.2" y="413.8271">update credentials information</text><path d="M712.8,393.2672 L712.8,423.2672 L1065.6,423.2672 L1065.6,405.2672 L1053.6,393.2672 L712.8,393.2672 " fill="#FBFB77" filter="url(#f1lk1jg05qkyqm)" style="stroke:#A80036;stroke-width:1.2;"/><path d="M1053.6,393.2672 L1053.6,405.2672 L1065.6,405.2672 L1053.6,393.2672 " fill="#FBFB77" style="stroke:#A80036;stroke-width:1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="327.6" x="720" y="413.7475">If device Registry does not find credentials</text><polygon fill="#A80036" points="1690.2,465.6656,1702.2,470.4656,1690.2,475.2656,1695,470.4656" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1089" x2="1697.4" y1="470.4656" y2="470.4656"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="456" x="1097.4" y="464.3865">transfer("event/TENANT", hono_registration_status="NEW")</text><polygon fill="#A80036" points="1102.2,500.625,1090.2,505.425,1102.2,510.225,1097.4,505.425" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1095" x2="1703.4" y1="505.425" y2="505.425"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="100.8" x="1109.4" y="499.3459">acknowledge</text><line style="stroke:#A80036;stroke-width:1.2;" x1="1089" x2="1139.4" y1="558.5437" y2="558.5437"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1139.4" x2="1139.4" y1="558.5437" y2="574.1438"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1090.2" x2="1139.4" y1="574.1438" y2="574.1438"/><polygon fill="#A80036" points="1102.2,569.3438,1090.2,574.1438,1102.2,578.9438,1097.4,574.1438" style="stroke:#A80036;stroke-width:1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="592.8" x="1097.4" y="534.3053">Update device registration indicating that the Device Provisioning Notification</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="109.2" x="1102.2" y="552.4646">has been sent</text><polygon fill="#A80036" points="297,604.3031,285,609.1031,297,613.9031,292.2,609.1031" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="289.8" x2="1081.8" y1="609.1031" y2="609.1031"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="349.2" x="304.2" y="603.024">transfer(status: "201", body: credentials info)</text><line style="stroke:#000000;stroke-width:1.2;stroke-dasharray:2.0,2.0;" x1="156" x2="1810.8" y1="619.9031" y2="619.9031"/><text fill="#000000" font-family="sans-serif" font-size="13.2" font-weight="bold" lengthAdjust="spacing" textLength="556.8" x="162" y="632.1557">[Credentials found but device provisioning notification not sent yet]</text><polygon fill="#A80036" points="1690.2,657.0281,1702.2,661.8281,1690.2,666.6281,1695,661.8281" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1083" x2="1697.4" y1="661.8281" y2="661.8281"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="456" x="1091.4" y="655.749">transfer("event/TENANT", hono_registration_status="NEW")</text><polygon fill="#A80036" points="1096.2,691.9875,1084.2,696.7875,1096.2,701.5875,1091.4,696.7875" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1089" x2="1703.4" y1="696.7875" y2="696.7875"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="100.8" x="1103.4" y="690.7084">acknowledge</text><line style="stroke:#A80036;stroke-width:1.2;" x1="1083" x2="1133.4" y1="749.9063" y2="749.9063"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1133.4" x2="1133.4" y1="749.9063" y2="765.5063"/><line style="stroke:#A80036;stroke-width:1.2;" x1="1084.2" x2="1133.4" y1="765.5063" y2="765.5063"/><polygon fill="#A80036" points="1096.2,760.7063,1084.2,765.5063,1096.2,770.3063,1091.4,765.5063" style="stroke:#A80036;stroke-width:1.2;"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="592.8" x="1091.4" y="725.6678">Update device registration indicating that the Device Provisioning Notification</text><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="109.2" x="1096.2" y="743.8271">has been sent</text><polygon fill="#A80036" points="297,795.6656,285,800.4656,297,805.2656,292.2,800.4656" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="289.8" x2="1081.8" y1="800.4656" y2="800.4656"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="349.2" x="304.2" y="794.3865">transfer(status: "200", body: credentials info)</text><line style="stroke:#000000;stroke-width:1.2;stroke-dasharray:2.0,2.0;" x1="156" x2="1810.8" y1="811.2656" y2="811.2656"/><text fill="#000000" font-family="sans-serif" font-size="13.2" font-weight="bold" lengthAdjust="spacing" textLength="43.2" x="162" y="823.5182">[Else]</text><polygon fill="#A80036" points="297,848.3906,285,853.1906,297,857.9906,292.2,853.1906" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="289.8" x2="1081.8" y1="853.1906" y2="853.1906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="349.2" x="304.2" y="847.1115">transfer(status: "200", body: credentials info)</text><rect fill="#EEEEEE" filter="url(#f1lk1jg05qkyqm)" height="3.6" style="stroke:#EEEEEE;stroke-width:1.2;" width="1822.8" x="0" y="895.8703"/><line style="stroke:#000000;stroke-width:1.2;" x1="0" x2="1822.8" y1="895.8703" y2="895.8703"/><line style="stroke:#000000;stroke-width:1.2;" x1="0" x2="1822.8" y1="899.4703" y2="899.4703"/><rect fill="#EEEEEE" filter="url(#f1lk1jg05qkyqm)" height="27.7594" style="stroke:#000000;stroke-width:2.4;" width="312" x="755.4" y="883.1906"/><text fill="#000000" font-family="sans-serif" font-size="15.6" font-weight="bold" lengthAdjust="spacing" textLength="289.2" x="762.6" y="902.4709">Query Registration Information</text><polygon fill="#A80036" points="852,943.5094,864,948.3094,852,953.1094,856.8,948.3094" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="283.8" x2="859.2" y1="948.3094" y2="948.3094"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="278.4" x="292.2" y="942.2303">transfer(subject: "assert", device-id)</text><polygon fill="#A80036" points="297,978.4688,285,983.2688,297,988.0687,292.2,983.2688" style="stroke:#A80036;stroke-width:1.2;"/><line style="stroke:#A80036;stroke-width:1.2;" x1="289.8" x2="871.2" y1="983.2688" y2="983.2688"/><text fill="#000000" font-family="sans-serif" font-size="15.6" lengthAdjust="spacing" textLength="396" x="304.2" y="977.1896">transfer(status: "200", ..., body: registration status)</text><!--MD5=[6e16c34eab088cada8da0d82206bdfd9] |