美國專利 7269829 號 – 好奇怪

在 survey 專利時, 忽然找到這一篇. 如果這個有專利, 那…很多人都可能陸續被告吧!?

United States Patent 7,269,829 Smith , et al. September 11, 2007

Method and system for remote update of microprocessor code for irrigation controllers

Abstract A remote download of microprocessor code for an irrigation controller is provided. A microprocessor, on an irrigation controller, is executing program code (in volatile memory) and receives a remote download of updated program code, which it stores into non-volatile random access memory, e.g., flash memory. The microprocessor is configured to receive the updated program code, via a communication port, and to store the updated program code into the non-volatile flash memory. Optionally, the updated program code is received at multiple controllers via a global transmission on a communication bus. The microprocessor receives a communication causing it to re-start. In response to the re-start communication, the microprocessor fetches the updated program code stored in the non-volatile flash memory into the program memory RAM to replace the original program code, and begins execution of the updated program code in the program memory RAM. A device is also provided for directing the download of program code to irrigation controllers. Options provide for global download of entirely new program code, global and/or individual download of particular pages of updated program code, and global downloads to controllers grouped by communication speed.

經過 Google 翻譯後, 變成:

提供遠程灌溉控制器的微處理器代碼下載。一個灌溉控制器上的微處理器,正在執行的程序代碼(揮發性記憶體)和接收的遠程下載更新的程序代碼,它存儲到非易失性隨機存取記憶體,例如,快閃記憶體。微處理器配置為接收更新的程序代碼,通過一個通信端口,並儲存到非揮發性快閃記憶體更新的程序代碼。或者,更新的程序代碼是收到多個控制器通過全球通信總線傳輸。微處理器接收到的溝通,導致它重新啟動。在重新啟動通信,微處理器獲取更新的程序代碼存儲到程序存儲器 RAM非易失性的閃存中,以取代原程序代碼,並開始執行更新的程序代碼在程序存儲器 RAM。還提供了指導程序代碼下載到灌溉控制器的設備。選項提供全球全新的程序代碼下載,全球和/或個人下載更新的程序代碼的特定頁面,和分組通信速度控制器的全球下載。

——

這麼說來, 如果目標不是限於 "灌溉控制器", 那麼所有的網路 upgrade 不就都包含進去了.

既然這樣可以有專利, 多媒體裝置的升級也可以申請專利嗎?好奇怪的概念, 竟然還是這幾年通過的…

NaCl 小註解

有一部安潔莉娜裘莉主演的動作片 SALT 正在電視上重播, 原本我看到 SALT 就只會想到鹽, 現在又多了一個聯想. 而前陣子看到的 NaCl 則是另外一個.

NaCl 不就是鹽巴嗎?嗯, 只怪老外喜歡搞頭字語,  NaCl = Na + Cl = Native Client. 不過 NaCl 這個詞太基本了, 不用 NaCl + Native Client 幾乎 Google 不到它技術名詞的這個版本. 換言之, 不知道它原來的意思就 Google 不到, 這真是太有趣了.

NaCl 是由 Google 提出的技術, 類似 Microsoft 的 ActiveX, 使得瀏覽器 (的 Client) 能夠直接執行一些機器碼 (Native) 來加速. 大家還記得 ActiveX 有時是病毒偽裝而成的, 所以瀏覽器只得常常跳出一個視窗來問我們是否允許執行這個 ActiveX.

NaCl 的作法是採用固定長度的指令集, 比方說只用 16 或 32 bits 長度的指令, 不是這個長度的指令就不准用. 這樣一來,  短短的 b (branch) 或是其他控制流程的指令就不合 NaCl 的規則, 而無法被執行. 在 CISC 指令集中只採用類似 RISC 的指令, 當然會拖慢執行的效率. 不過據說影響不太大. 畢竟 Native 表示該電腦的機器碼, 本來就比較快. 

此外, NaCl 刻意選用記憶體區段的方法, 把 NaCl 的程式碼侷限在一塊獨立的記憶體中運行, 就像用 Visual Studio debug code 一樣, 在沙盒 (or 沙盆, 原文是sand box)中怎麼玩, 都不會影響到主記憶體的行為. 這也是防毒軟體常用的技術, 把某個有嫌疑的程式放到沙盒裡面執行看看, 如果它有不軌的行為, 就可以判斷它是病毒.

至於為何叫做 sand box 技術, 令人不得不聯想到貓咪. 貓咪只會在沙盆裡面便便, 具有隔離的效果, 哈!

[Ref]

1. http://zh.wikipedia.org/wiki/Google_Native_Client

SIMPLE 有 Simple 嗎?

今天看到一個沒見過的 spec. 叫做 SIMPLE (Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), 名字真是隨人取的啊!那麼它真的簡單嗎?

首先來解析 IM (Instant Message),  大家可能天天都在用的 MSN, QQ, Yahoo Messenger, Skype, ICQ 都是 IM. 這個即使不懂原理也知道它是什麼.

再來是 SIP (Session Initiation Protocol), SIP 和比較早的 H.323 一樣, 都是 VoIP 最主要的信令協議 (signaling protocol). 什麼是信令呢?舉例來說, 打電話時, 連接到局端就是透過信令, 接通電話是信令, 掛斷電話也是信令. 它是一些控制訊號的組合.

SIP 的特色原來是希望簡單, 所以雖然模仿 SS7 實現了許多撥號, 發話, 振鈴,…的功能, 但是只支持點對點的通訊.

說到 SS7, 不由得又回想起 15 年前讀博士班的時候, 我們在 CTI 這門課的 team project 實作了一個電話訪問程式. 它會透過電腦 + 一張卡自動播號到竹軒 (交大女生宿舍)做電話訪問. 同學搞笑說十題裡面一定要問有沒有男朋友, 結果女生幾乎都有回答這一題, 讓大家很有成就感!

Presence 顧名思義就是 "存在". SIMPLE 不只是包括 IM, 它還管對方是否存在?例如 MSN 中, 我們可以看到對方 "離開", 也可以看到對方有視訊或是麥克風設備的存在, 這些都統包在 presence 一詞當中.

那 LE 呢?我私下認為那是用來湊數的. 不然只能叫做 SIMP 不是有點遜嗎?當然是得拼個常用的單字囉! 比方說我要開個 "退職螃蟹聯誼會", 我也會取個 REtired CRabs U and I Together 之類的嘛!

[REF]

1. SIMPLE

2. 會話發起協議

3. 即時通訊

4. SS7

MAF 小檔案

MAF 這個怪怪的名詞是 multiple application framework 的縮寫. 它是由 Intel 所提出的數位家庭規格, 因此想法很像是把 PC 的 multi-tasking 觀念搬到客廳去! 我們知道傳統的 DMP、OTT、STB 都是 single task, 因此 MAF 的確有它的特色. 

MAF 的妙處在於: 雖然每個 AP 都以為自己是唯一的 AP, 透過 global scense graph library 的管理,  AP 可以各自可以放大縮小或移動位置後, 最後同時呈現在螢幕上! 

假設電視夠大的話, 畫面中將會同時有電視, 遊戲, 視訊會議, 瀏覽器….呃, 這不就是 PC 嗎? 唯一的差別是裡面沒有 Microsoft, 倒是 browser 支援了 Flash.

IPTV 公司 Netgem 號稱 MAF 是 IPTV 2.0 的解決方案. 不過根據 ETRI  (Electronics and Telecommunications Research Institute) 的定義來看, 這個說法不盡正確.

IPTV 2.0 應該隱含 mobile, take out, …任何時間地點都可以看電視的觀念. 在技術上可能需要搭配 H.264 SVC (scalable video coding), 而 MAF 只是比較有彈性的方案, 直接和 IPTV 2.0 綁在一起應該視為廣告吧!

[ref] MAF for CE

DVB-T2 小註解

乍聽之下, DVB-T2 好像是 DVB-T 的後繼版本, 多少有點向前相容吧! 並沒有, 它只向 "錢" 相容, 調變規格和 DVB-T 差了很多. 雖然平平是 OFDM + QAM, 不過 QAM 的大小和 FEC (forward error correction) 就不同了. 更別說 DVB-T2 有 rotated constellations (令人聯想到傾斜的太魯閣號列車跑比較快).

DVB-T2 使得原本只能傳一路的 HD 的頻帶, 可以傳兩路 HD 加上一路 SD. 在芬蘭, DVB-T2 可憐地只分到 2 個頻道, 但即使是這樣, 它們還是塞進了 7~8 個 HD 節目 [note], 可見通訊技術真的進步了很多.

現在來講講 DVB-T2 帶來的商業利益:

1. Free-to-air

如果一個地區的免費頻道很少, 那麼 DVB-T2 可以提供更多節目的特性, 可能會吸引人去買新的 STB. 如果當地的頻道本來就多得不像話, DVB-T2 帶來的好處是把 SD 節目全部變成 HD.

2. Pay-DTT (digital terrestiral television)

同樣是付費的電視, DVB-T2 的滲透力比較高. 因此一個新的付費服務, 放在 DTT 上會比放在 cable 或是 satellite 更有成功的機會.

採用 DVB-T2 的國家包括: UK, Italy, Sweden, Turkey, Serbia, South Africa, Russia, Ukraine.

想了解 DVB-T2 的技術摘要可以看 note2.

[note]  http://www.digitag.org/DTTResources/DVB-T2_Handbook.pdf

[note 2] http://www.enensys.com/technologies/dvb-t2-overview.html