律師這種職業(yè)能藉由爭辯對(duì)法條的不同見解而拿到報(bào)酬,可惜工程師沒這么幸運(yùn)──如果有技術(shù)規(guī)格寫得不清不楚,產(chǎn)品設(shè)計(jì)師最后還可能會(huì)因?yàn)樽龀隽隋e(cuò)誤的詮釋而付出慘痛代價(jià)。

以上是筆者最近與產(chǎn)業(yè)組織Thread Group主席Grant Erickson交談后領(lǐng)悟到的心得;Thread在不久前宣布,已經(jīng)有分別來自于ARM、NXP Semiconductors、OpenThread與Silicon Labs的四種軟件堆棧(software stack)成功完成了互操作性測試,成為首批能取得Thread Certified Components認(rèn)證的軟件堆棧。

Thread Group將這個(gè)進(jìn)展視為重要里程碑,因?yàn)樵摻M織不只是透過針對(duì)單一參考實(shí)作(reference implementations)進(jìn)行量測,來驗(yàn)證Thread 1.1規(guī)格的一致性(該組織已經(jīng)在去年11月開始進(jìn)行驗(yàn)證,當(dāng)時(shí)他們公布了Thread 1.1規(guī)格的第一版硬件參考測試平臺(tái)與測試框架)。

這一次,Thread Group表示,該組織藉由以包含上述四種軟件堆棧的混合網(wǎng)絡(luò)(blended network)來測試每個(gè)裝置的規(guī)格一致性,又向前邁進(jìn)一步;Thread Group設(shè)定的遠(yuǎn)大目標(biāo)是實(shí)現(xiàn)“真正的連網(wǎng)裝置生態(tài)系統(tǒng)多供貨商選項(xiàng)”。

我請(qǐng)Erickson解釋為何這是一件大事,他說明了如果沒有該組織最新采取的這些額外驗(yàn)證步驟,可能會(huì)發(fā)生什么樣的錯(cuò)誤;他舉例指出,開發(fā)符合Thread Group新規(guī)格的物聯(lián)網(wǎng)(IoT)裝置設(shè)計(jì)工程師,就算確定他從頭到尾都有遵循規(guī)格,并不能保證他的產(chǎn)品具備互操作性。

物聯(lián)網(wǎng)裝置突然無法與其他裝置通訊、甚至無法鏈接網(wǎng)絡(luò)的情況并不罕見;同樣的,該裝置可能經(jīng)歷周期性故障或是丟失封包…這種情況為什么會(huì)發(fā)生?

Erickson解釋,技術(shù)規(guī)格可能是經(jīng)過擔(dān)保(under-written)的,這并不一定很罕見,特別是當(dāng)技術(shù)規(guī)格很新的時(shí)候,產(chǎn)業(yè)組織會(huì)隨著時(shí)間定期更新規(guī)格;在推出最新的Thread 1.1規(guī)格時(shí),立即的問題就是如何確保用戶在Thread認(rèn)證產(chǎn)品上有更一致的使用體驗(yàn)。

但采用相同芯片與軟件堆棧的Thread產(chǎn)品或許可以互通,但它們可能無法順利與其他采用不同芯片與軟件堆棧的Thread認(rèn)證產(chǎn)品共同運(yùn)作。

Erickson表示,互操作性問題通常導(dǎo)因于對(duì)規(guī)格的的不同詮釋:“舉例來說,規(guī)格可能載明要遵循三個(gè)步驟,但是并沒有標(biāo)示這三個(gè)步驟的優(yōu)先級(jí);”或許實(shí)際產(chǎn)品的變異性在處理上并不是什么大問題,例如Wi-Fi產(chǎn)品:“你只要將產(chǎn)品重新啟動(dòng),就能讓它聯(lián)機(jī)。”

但相較之下,物聯(lián)網(wǎng)裝置必須在一個(gè)電池壽命是關(guān)鍵所在的、條件不那么寬松的環(huán)境中運(yùn)作:“你無法承擔(dān)重新啟動(dòng)裝置所消耗的電池電量;”Erickson將物聯(lián)網(wǎng)形容為一種要求更為嚴(yán)格的任務(wù)關(guān)鍵網(wǎng)絡(luò),并認(rèn)為Thread Group正在提供更強(qiáng)固的Thread 1.1認(rèn)證計(jì)劃。

在被問到這次還有其他哪些新訊息(與去年秋天發(fā)布第一版1.1規(guī)格相較)時(shí),Erickson指出了由Nest Labs/Google所開發(fā)之OpenThread的加入:“我們的第一個(gè)計(jì)劃只涵蓋三種軟件堆棧,”分別來自ARM、NXP與Silicon Labs:“但現(xiàn)在有四種。”

那Thread 1.1與Thread 1.0 (符合此規(guī)格的產(chǎn)品并未商用)在基本上到底有什么不同?Erickson表示:“1.1規(guī)格有兩項(xiàng)主要功能,包括應(yīng)用導(dǎo)向的頻道靈活性(application-directed channel agility),以及密鑰變換(key change)。”

Erickson 解釋,Thread 1.1產(chǎn)品具備偵測空域中干擾的能力,并會(huì)自動(dòng)Thread網(wǎng)絡(luò)內(nèi)的凈空頻道,不須用戶干預(yù);類似的,當(dāng)出現(xiàn)安全性威脅,Thread的應(yīng)用層能重設(shè)一個(gè)主密鑰(master key),并驅(qū)動(dòng)網(wǎng)絡(luò)中新一輪的旋轉(zhuǎn)密鑰(rotating keys),使得黑名單(black list)的取得或是移除某個(gè)連網(wǎng)裝置更容易。

而Ericson總結(jié)指出,Thread Group及其成員:“在提供互操作性──不只是規(guī)格一致性──方面已經(jīng)超越了大多數(shù)的技術(shù)聯(lián)盟,這將為終端用戶帶來更佳的產(chǎn)品體驗(yàn);”現(xiàn)在Thread Group的成員已經(jīng)可以提交零組件以及產(chǎn)品進(jìn)行測試與Thread認(rèn)證,而他也承諾,幾星期之后Thread 1.1規(guī)格就會(huì)向大眾公開。