2010年1月25日星期一

框計算是什麼? What is box computing?



Cloud Computing (雲端運算)是已經被大家喊到出汁的名詞, 百度大概是要跟雲端運算互別苗頭, 百度CEO李彦宏在2009年8月提出了Box Computing (框計算), 這個到底是什麼東西呢 ...

根據百度的框計算資料:
框計算為用戶提供基於網際網路的一站式服務,是一種最簡單可依賴的網際網路需求交互模式,用戶只要在框中輸入服務需求,系統就能明確識別這種需求,並將該需求分配給最優的應用或內容資源提供商處理,最終返回給用戶相匹配的結果

框計算的實現過程:
1、 首先,用戶的任意一個需求被提交到“框”里;
2、 經過一系列復雜的需求分析,包括語義分析、行為分析、和智能人機交互技術分析,和海量計算,用戶的需求被分發給框後台的某個或某幾個應用所響應;
3、 框背後的應用平臺是開放的,框計算平臺提供了大量即插即用的介面,各種應用可以主動與框計算平臺對接,使自己有機會來響應框所收集到的需求。
再由資料中如下的架構圖來看:



只能說中國對於技術概念的描述, 還真是...難懂

「框計算」這個名詞是硬生生被瞎扯出來的; 李彦宏所謂的「框」就是指網友在搜尋資料輸入資料的那個框, 也就是「輸入框」; 也就是當你在輸入框中輸入問題, 這個系統就會給你所需要的答案;

也就是不要給我搜尋的資料, 而是給我答案 (這個不是在Google, Bing都已經在做的嗎?)

比如你輸入 「我應該在幾歲結婚」, 然後系統就會告訴你應該如何如何 ... (當然這個例子是筆者特別瞎扯的), 所以把整個架構用「框計算」來描述, 有些讓人搞得滿頭霧水, 這個框怎麼會計算呢?

筆者來來回回從去年看完後, 到今年再拿出來看 ... 終於搞懂框計算是要說什麼; 其實百度CEO李彦宏所說的「框計算」就是雲端運算的一部份, 大概是為了噱頭而搞出一個什麼「框計算Box Computing」 ... 這個名詞主要是刻意要讓人肅然起敬的啦 ... 或者故意讓人搞不清楚的 (你有雲計算;咱有框計算 ... 厲害吧)

為什麼說「框計算」就是雲端運算的一部份呢? 或者根本跟雲端運算就是一個樣呢?

李彦宏就是希望百度搞出一個核心架構, 這個架構可以接受外界接進來提供服務, 當外界提供的服務夠多, 能夠解答的範圍就更廣, 能夠回答的正確性就更高, 而這些外界的服務會影響最後的答案 ... 很像Web Services吧!

就軟結構來說, 「框計算」應該就是服務導向架構的Web Services; 就硬結構來說, 「框計算」應該就跟雲端運算一樣; 也可以說「框計算」就是不同功能目的的「雲端運算」

而上面所說的百度核心架構就是阿拉丁計畫, 近期的樣貌就是百度搜索開放平台, 當然百度搜索開放平台還沒能真正做到框計算的功能, 僅在於資料的提供

百度框計算就是指網友在搜尋引擎輸入問題後即時獲得所需要的答案, 這個答案的背後就是由許多提供服務的來源所回應

只是百度所說的「開放接口」會多開放? 如果「開放接口」會影響最後的答案, 以中國的「開放」程度, 能夠符合「開放接口」要求的服務不知道能夠有幾個?

百度框計算是否真的能夠如所說的神奇? 還是只是服務導向計算的簡易版? 還是只是雲端計算的中國分身? 目前尚很難定論, 只能持續觀察看看百度的後續服務來判斷了...

標籤: , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年11月6日星期五

CLOUD 與 SOA



什麼是雲端運算(Cloud Computing)? 什麼是SOA(Service-Oriented Architecture)? 雲端運算跟網格運算(Grid Computing)又有何關係? 這些跟Web Services又有何關聯? 這麼多東西到底在說些什麼趨勢?

ZDNET的文章"李開復看雲端服務市場:值得投資", 到底投資在雲端運算是啥意思?

李開復先生說: 雲端服務市場的商機很大,是網際網路與軟體等兩個產業的加總 ... 其實應該說跟「網際網路」、「軟體」、「硬體」、「內容」、「服務」都有關係

也就是說雲端服務市場的商機在於利用「網際網路」架構下, 如何透過先進的「軟體」、「硬體」組合把「內容」提供給客戶的「服務」, 所以只要投資在這個架構下的環節中都深具未來性

在CNET的這篇文章"Cloud Computing 雲端運算"指出:
其實 cloud computing 在概念上跟 grid computing 並沒有非常嚴格的區隔或是很大的不同,兩者均可看成是 distributed computing (分散式運算) 衍伸出來的概念。

大致上對於一般人來說, 沒太大問題, 但是就技術人員來說, 中間有些觀點可以再釐清

IBM的文章"Cloud computing versus grid computing"說到:
To get cloud computing to work, you need three things: thin clients (or clients with a thick-thin switch), grid computing, and utility computing. Grid computing links disparate computers to form one large infrastructure, harnessing unused resources. Utility computing is paying for what you use on shared servers like you pay for a public utility (such as electricity, gas, and so on).

所以說Grid Computing是Cloud Computing的一環似乎比較適當, 也就是說你可以認為Google或Amazon提供的Web Services是Cloud Computing, 但不能說他們提供的是Grid Computing, 因為只是part-of

雲端運算(Cloud Computing)的定義應該是什麼呢? 這個Cloud其實就是指Internet, 也就是一個特定功能的Internet Computing, 因此雲端運算(Cloud Computing)的定義是:

凡是透過網際網路提供應用服務,讓使用者透過瀏覽器就能使用,不需要了解伺服器在哪裡,內部如何運作,都被稱為雲端運算的服務,背後的技術也概稱為雲端運算

這個定義是由"各方跟進Google推廣雲端服務,但定義不同"而來, 算是比較白話易懂的定義

但是如果你問: 那我在網路上架了一個論壇服務, 算不算"雲端服務"? 當然不算是, 也許背後是雲端服務的hosting, 但論壇服務本身不是"雲端服務"

所以以上的白話定義有必要再說明清楚

凡是透過網際網路提供應用服務,而這個服務架構應用了Grid Computing、Utility Computing、SOA等概念,讓使用者透過瀏覽器就能使用,不需要了解伺服器在哪裡,內部如何運作,都被稱為雲端運算的服務,背後的技術也概稱為雲端運算


所以雲端運算(Cloud Computing)必須使用特定的架構才算, 而非以上的白話定義下的內容

所以我們只需要再瞭解Grid Computing、Utility Computing、SOA, 就可以瞭解雲端運算(Cloud Computing)

雲端運算(Cloud Computing)要服務廣大的用戶, 需要超強的軟硬體跟服務的規劃, Grid Computing使用internet protocol將硬體串起來, 讓這些硬體資源可以共同或個別處理要求, 這些資源是distributed(分散的)、clustered(叢集的)、scalable(可擴展的)、multi-tasked(多工的)、collaborative(協同的)... 也就是在Grid Computing架構中的個體可以單獨工作, 也可以一起做一件事情

但光是Grid Computing是不夠的, 你還需要utility computing(公用運算)讓這個服務可以計費及方便簡單使用, 真正讓使用者能夠plug-n-play(隨插即用)

除此之外, 使用者需要的服務千變萬化, 系統不能硬梆梆的使用傳統的程式概念來建立, 因此必須以服務(Service)觀點來切割成最適當的服務片段, 如某甲需要的是A+B+C, 但是某乙需要的是C+D+E, 但某丙需要的是D+E+part-of-A ... 這時A就必須變成A1, A2 ... 讓某丙也能滿足, SOA(Service Oriented Architecture服務導向架構)就如堆積木般的架起了整個服務

SOA也如Grid Computing只是一個架構概念, 其中可以實現SOA的就是Web Services, 其他方式還有COBRA, DCOM ...等, 礙於篇幅, SOA的內容我們另文再說了

所以使用UDDI/WSDL/XML/SOAP等技術的Web Servies就是SOA的其一型態, 也是目前大多被採用的型態, 其他的COBRA/DCOM也都支援相容性

所以Grid Computing、Utility Computing、SOA這些概念就形成了Cloud Computing

因此常看到有人說Cloud Computing已經取代SOA, 或取代了Web Services, 或取代了Grid Computing ... 都是只見樹而不見林, 在Cloud這朵大雲之下, 你可以使用各種不同的技術, 但是都是類似的概念

Cloud Computing到底長得如何? 我們的資料在Cloud下安全嗎? CNN記者John D. Sutter也有同樣的疑問, 這篇"A trip into the secret, online 'cloud'"就說明了目前企業大多都不太願意公開Cloud Computing的真正樣貌, 連CNN記者都被Amazon與Google拒絕參觀, 最後只有IBM願意 ... 因文章太長, 實在沒功夫去翻譯

以上整理了相關的資料, 如有錯誤, 希望可以多多討論交流 ...

標籤: , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2009年8月20日星期四

Programmable Web : 程控網路


網路的技術在近兩年飛快進展, 許多搞技術的人可能都有些不太適應, 因為需要學習的實在太多了, 當然一般使用者就更困擾了, 因為層出不窮的新名詞, 已經弄得大家如鴨子聽雷一般 ... 昨天Google又在部落格提到了Programmable Web, 這個又是啥東東?

其實這個Programmable Web也不是什麼新玩意, 跟我們之前提到的Functional Web有類似之處, 跟Mashup(混搭)有些關聯, 其背後就是Web Services、Cloud Computing、SOA ... 等技術

Programmable字面意思是: 程控的,可編程序的,可程式化的

這個Programmable最明顯的例子就是最近常見的山寨手機, 以往要開發新手機都需要較久的時間來發展prototype(原型機), 現在可以在同一機構上透過可以程式化的技術, 快速的推出不同功能的手機, 這個背後就必須「模組化」、「規格化」, 與Programmable Web也有類似的趨勢

Google在"Towards a programmable web: PubSubHubbub for Google Alerts"文章中, 說到 :

A programmable web enables one application to be extended by another to create new applications that people haven't imagined before.
Programmable Web使得應用程式被另外的應用程式來擴展成以前沒想過的新應用程式

並且Programmable Web不是Mashup, 根據Google的說法, Mashup只是把不同的資料來源抓在一起形成新的形態(例如iGoogle), Google的CEO Eric Schmidt也說:

Web 3.0 will be "applications that are pieced together" - with the characteristics that the apps are relatively small, the data is in the cloud, the apps can run on any device (PC or mobile), the apps are very fast and very customizable, and are distributed virally (social networks, email, etc).

(來源: Eric Schmidt defines web3.0)

所以Google所說的Programmable Web, 就是以Web Services/Cloud Computing為技術的網路程式概念

如地震災情為例, 如果我們有即時衛星空照監控, 將空照傳遞給影像分析模組, 當發現地形、橋樑等物件發生較大的變動時, 自動啟動通知到救災中心, 並且自動通知所有相關應該處理的人員, 那麼就不需要人工回報災情

Google的PubSubHubbub protocol就是透過WebHook來進行幾乎即時的一連串行動, Google Alerts, Google FeedBurner, Google Reader, Google Blogger都是透過這個來進行運作

在Programmable Web下有哪些技術呢? 就是HTTP/URI/XML-RPC/WSDL/WADL/SOAP, 其實就是Web Services, 他的Infrastructure就是Cloud Computing/SOA

談了半天看似不同的東西, 其實大家在談的是同樣一件事情, 就是透過「模組化」、「規格化」來串聯應用程式, 讓串聯起來的應用程式互相自動溝通, 這樣的串聯溝通最後可能就會發展成預想不到的境界...就像當初發展Internet一樣, 誰也沒想到網網相聯後會變成現在的樣子

相關資料:
Programmableweb.com


標籤: , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院

2008年5月28日星期三

近期語意技術探討(一)


(圖片來源:http://gridinoc.name)

2008年可以說是語意技術發燒的一年, 並且近年來不管是研究單位或是新創公司, 對於語意相關技術的重視與投資可謂不遺餘力, IEEE Intelligent Systems也在今年初刊登了不少關於語意技術的文章, 我們來看看到底語意已經發展到什麼程度 ...

語意技術對於一般使用者是感覺不到的, 您並不知道到底哪個東西應用了語意技術, 頂多您會覺得電腦好像變聰明了, 但是如果運用得不好, 您可能會覺得怎麼電腦這麼笨, 電腦的聰明與愚蠢就完全取決於到底是否正確的運用Semantic Technology(語意技術)、Artifical Intelligence(人工智慧)、Nature Language Processing(自然語言處理)、Ontology(本體論)...等等

在W3C的網站就舉了幾個語意技術的使用案例

例如其中BT(英國電訊)的案例, 根據Forrester研究顯示排名前3500的大公司, 花費在整合的費用是$6.3 million並且其中的31%花在整合外部公司, 而電信類的公司花在整合外部公司的比例高達70%

BT就將Semantic運用在SOA(Service-Oriented-Architecture)上, 讓他們的外部夥伴使用Internet與BT的B2B Gateway聯接, 輕易的自行處理作業支援相關運作, 如此一來減輕了支援成本, 也加速了作業效率

這個技術使用SOA來將整個系統分成Presentation Tier、Service Tier、Data Tier, 透過Service Tier的Semantic Broker去抓取異質系統的資料, 然後呈現在外部公司的系統上或是瀏覽軟體上, 如此一來BT本身的不同系統整合起來了, 外部公司使用各種不同系統也都可以順利的透過這個B2B Gateway來整合

在目前語意技術的運用上, 幾乎離不開Web2.0與SOA, 就其中Markup與Mashup的特性來發揮, Markup讓資料可以分析、交換(如XML、RDF、RuleML), 而Mashup可以讓服務混搭, 因此幾乎所有的技術都繞著Markup與Mashup走, Semantic/Web2.0/SOA幾乎就是Internet三位一體的趨勢

目前在歐洲的語意研究上, 以Neon-ProjectSEKTDIP為主, 各自都發展許多不同的語意技術與工具, 下次再仔細說明囉 ...



標籤: , , , , , , , ,

繼續閱讀:台灣搜尋引擎優化與行銷研究院