Continuous Game Content Provision
今天看到 Nintendo 跟 Google 合作的遊戲安藤ケンサク, 雖然看不太懂遊戲的進行方式, 但是從少量 blogs 跟 forums 的簡短說明, 大致上可以知道跟 Search Engine 的 Search Keywords 有關, 利用 Google 在 Search Engine 上所累積的統計資料來產生新型態的 Q/A 遊戲, 最大的特點是問題的答案可能會隨著時間改變 -- 因為 Google Search Engine 所累積的資料也在變動中.
緊接著又在 JustineTV 看到人家在玩暴雨殺機 ( Heavy Rain ), OMG, 我真的脫離新遊戲太久 這遊戲的畫面真棒, 運鏡跟電影拍攝手法好像. 剛好看到玩家操縱的角色在房間裡探索, 看起來應該是遊戲初期, 中間有一度打開電視, 看到跟案件劇情相關的新聞報導, 然後把電視關掉.
這在一般追線索的解謎遊戲中常常看到類似的橋段, 但是今天我卻忍不住再想, 如果再打開電視一次會怎樣 ?
遊戲的 NPC 或裝置 ( 包含電視 ), 通常都是有固定集合的對話或是資料, 為了避免太死板, 又會循環或亂數出現這些對話. 但從安藤ケンサク的例子, 是否我們可以開始考慮跳脫這樣的限制, 讓遊戲更加跟已經有的 Online Data 作結合 ?
例如上面的開電視, 如果遊戲本身把該電視跟 Youtube 或其他 Onlive Vedio Service 作結合, 就可能在重開時看到其他的新聞, 這樣似乎也會很有趣 :)
晚上8:00 | 標籤: cloud computing, service oriented computing, software game | 0 Comments
Cloud Computing Bibliography for Software Engineering
All bibliography articles were made available online before 2010-04-10.
This survey covers only representative Conferences and Journals in software engineering and cloud computing domain. All articles were retrieved by keyword "cloud computing". Surprisingly, literature directly related to "cloud computing" and "software engineering" is still rare.
J. Cappos et al. developed a cloud computing education environment "Seattle" [1][14] (Thanks to Ivan). Unfortunately I did not find further information about "Seattle". On the other hand, Eucalyptus is used in E. Caron et al. work [11]. Maybe Eucalyptus will be a good start for cloud computing practice for those who have no resources accessing Amazon S3/EC2, or limited by Google GAE.
E. M. Maximilien et al. [2][3] revealed a part of IBM's directions to the cloud computing. The idea to build cloud-agnostic middleware is definitely not new. Is not Hardware-Server-PHP-MySQL-PHPWebsite similar to this solution ? Of course the scale is totally different, but the middleware idea is basically the same.
Some considerable statement can be found in ACM roundtable series on cloud computing [6]. For example, G. Ramleth, CIO of Bechtel, said : "This is not a technology game but a change-management game."
L.-J. Zhang et al. tried to pull cloud computing back to connect with service-oriented computing / SOA [7]. Some other related work can be found in International Conference on Cloud Computing ( IEEEXplorer link here ).
Althoug the data service is one of the ealiest applications in service-oriented computing and cloud computing, there seems still much to do in this field [8][9]. Same as the study of cloud computing in the end user living environment [4][12]. Is that cloud computing the game of IT companies ? Or the users will be forced to involve in the cloud computing ? To this issue, A. Lenk et al. [13] organized the cloud stack and adds an extra layer : Human-as-a-Service (HuaaS) which is not general mentioned in other studies. Unfortunately, no further discussion is made.
Bibliography
[1] J. Cappos, I. Beschastnikh, A. Krishnamurthy, and T. Anderson, "Seattle: A Platform for Educational Cloud Computing," SIGCSE, pp.111-115, Mar. 2009
[2] E. M. Maximilien, A. Ranadahu, R. Engehausen, and L. C. Anderson, "Toward Cloud-Agnostic Middlewares," OOPSLA, pp.619-625, 2009
[3] E. M. Maximilien, A. Ranadahu, R. Engehausen, and L. C. Anderson, "IBM Altocumulus: Across-Cloud Middleware and Platform," OOPSLA, pp.805-806, 2009
[4] C. Ragusa, F. Longo, and A. Puliafito, "Experiencing with the Cloud over gLite," Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing, pp.53-60, 2009
[5] J. S. Rellermeyer, M. Duller, and G. Alonso, "Engineering the Cloud from Software Modules," Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing, pp.32-37, 2009
[6] M. Creeger, "CTO Roundtable: Cloud Computing," CACM, vol.52, no.8, pp.50-56, Aug. 2009
[7] L.-J. Zhang and Q. Zhou, "CCOA: Cloud Computing Open Architecture," ICWS, pp.607-616, 2009
[8] M. Vrable, S. Savage, and G. M. Voelker, "Cumulus: Filesystem Backup to the Cloud," ACM Transactions on Storage, vol.5, no.4, article 14, Dec. 2009
[9] R. Agrawal et al. "The Clarement Report on Database Research," CACM, vol.52, no.6, pp.56-65, June 2009
[11] E. Caron, F. Desprez, and D. Loureiro, "Cloud Computing Resource Management through a Grid Middleware: A Case Study with DIET and Eucalyptus", International Conference on Cloud Computing, pp.151-154, 2009
[12] K. Kumar and Y.-H. Lu, "Cloud Computing for Mobile Users: Can Offloading Computation Save Energy ?" IEEE Computer, preprint, Mar 2010
[13] A. Lenk, M. Klems, J. Nimis. S. Tai, and T. Sandholm, "What's Inside the Cloud ? An Architectural Map of the Cloud Landscape," Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing, pp.23-31, 2009
[14] Seattle, https://seattle.cs.washington.edu/html/
上午8:29 | 標籤: cloud computing | 2 Comments
Will CloudAV, the AntiVirus Cloud Works ?
( 修改一下發表時間以及Title 進行實驗 )
根據 Computer World 的一篇報導 : Researchers look to cloud computing to fight malware, 密西根大學的幾位學者 ( Jon Oberheide, Evan Cooke, and Farnam Jahanian ) 嘗試利用不同的 AntiVirus Softwares 利用 Cloud Computing 概念結合來防範 malware, 所打著的算盤當然是截長補短, 讓 virus 或是 malware 需要克服更多的難關. 這跟趨勢最近在講的 Cloud Computing 應用 ( 前幾期的財訊在訪問趨勢某人時有提到比較多, 不過內容同樣不甚具體 ), 應該是不同的方向.
這項計畫稱為 CloudAV ( 應該是 Cloud AntiVirus 之意吧 ? ), 相關網站在這, 同時有電子論文可以抓取. ( 以下圖片均取用自 [1] ) 基本上可疑的 File 會傳送到 ClondAV 所提供的 Network Service 作檢驗, 這跟早期的網路掃毒類似.
看起來最終的決定是採用類似 Voting 的機制, 透過許多 AntiVirus 的結果, 決定是否該 File 是有問題的.
我在去年修 Embedded Middleware 作 Final Project 時有提過類似但不相同的想法 ( 我要集合的不是 AntiVirus Softwares ), 最終是卡在系統本身的 Security 問題, 以及 Privacy 問題. 針對 Privacy 問題, 在 [1] 中 Section 3.1 花了一小段說明, 但是也不算正面回答, 只是透過把 CloudAV 的應用環境作限制, 來降低 Privacy 的影響.
除了 Privacy 之外, 對於 CloudAV 是否能成功, 我還有另一個商業上的疑慮, 雖然 Paper [1] 內有談論了實驗本身所使用的 Software 的 License 問題, 但是在商業應用上不知道是否防毒軟體大廠會同意這樣的使用方式, 或是願意加入這樣的服務團體. 這裡就牽涉到商業利益的問題, 也可能給防毒效益不好的公司帶來更大的壓力.
不過, 往好的方面想, CloudAV 可以克服以往我們幾乎無法在一套系統內裝設兩套防毒軟體的效能問題, 以及 Mobile Device 不方便把資源用來跑 AntiVirus Software 的問題, 同時又能帶來更好更可靠的服務, 只要防毒軟體大廠願意進行類似的合作, 那麼就良性競爭以及防毒技術的進步來說應該是正面的. 這樣的 AntiVirus Cloud 似乎也跟我之前認為 Cloud Computing 會帶來軟體產業的二次分工相關.
References
[1] Jon Oberheide, Evan Cooke, and Farnam Jahanian, "CloudAV: N-Version Antivirus in the Network Cloud," Proc. of the 17th USENIX Security Symposium, July 2008
清晨6:30 | 標籤: cloud computing, Embedded System, security | 2 Comments
The Connected OS and Midori from Microsoft
Microsoft 在 Windows 7 之後的繼任者已浮現雛型 ?
Ray Ozzie, CTO of MS, 在最近 MS 的年度 Financial Analyst Meeting 會議中提到 (原始內容在 MS.com 上面有刊載) :
We believe in a future, again, in many ways analogous to Xbox LIVE, in which Windows Live acts as a strategic extension to both Windows on the PC and Windows Mobile on the phone. You can think of this as the connected OS, Windows beyond the level of a single device or PC. How the OS connects to services and how it synchronizes with other devices are key. Your PC's config settings, your apps and their settings, your files and folders, are transparently synchronized across a mesh of PCs and other devices by Windows.再加上最近查詢度很高的 Midori OS, 讓人不把這兩者想在一起都難 :p
但我相信 Ray Ozzie 真正要說的 Key 應該還是對於 Resources 的管理與需求, 而不是單純的 Service Connection 以及 Device Synchronization. 恐龍本一開始就把 OS 的目的跟主要工作寫得很清楚了, 只是在未來 -- 也許是 Cloud Computing 的未來 -- Resource 的型態也許會跟現行的 Computer Resource 會有很大的差異, 例如 Memory Service Resource, Computing Service Resource 之類的, 同時可能會再異化出更多的 Resource 種類出來, 與單純在硬體上的 CPU/Memory Resource 搶奪大不相同.
但對於 Operating System 的需要以及定義, 我想基本上還是相同的.
清晨6:38 | 標籤: cloud computing, operating system | 0 Comments
Defining Operational Scalability
Wayne Fenton, Director of Architecture at eBay Inc., 在 JAOO 2007 上給了一個 Talk : Operational Scalability in the Next Generation Web World (連結內有側錄影片 + Slides), 雖然影片長達 48 分鐘, 不過內容其實很簡短, 雖然提到很多次 eBay, 但是其實內容是獨立的, 有認真上 Fault Tolerance 的人應該都很容易聽懂內容, 因為都是基本的概念.
事實上我沒有真的找到對於 Operational Scalability 較為嚴格的定義, 看看幾個從不同網頁 Copy 下來的 :
From SOA Magazine [1] :
Operational scalability is the ability of a service-oriented solution architecture to establish and maintain highly efficient and adaptive, cost effective day-to-day operations as the solution grows and scales with time. It is also represents the ability of the architecture itself to be efficiently re-factored to accommodate change and dynamic business requirements.
From Rajith’s Column [2] :
Operational scalability is a software problem and you need to think about operational concerns right from the beginning. Pay attention to,與 Rajith 類似的說法在 CoverPages 的一篇 Sybase 新聞中也可以看到, 不過搞不太清楚算是甚麼, 比較像是文宣, 就不納入參考.
- Logging metrics, Monitoring.
- Controlling/updating/tuning live apps without disrupting traffic.
Leticia Duboc 的 PhD Work [3][4] 認為 Scalability 基本上不容易也不適合有一個通用的定義, 需要視乎不同的系統以及面對不同的 Stakeholder 而異. 因此他們也建立了一個 Scalability Framework, 在不同的情況下去 Initiate 此 Framework, 定義不同的 Scaling Dimensions, Independent Variable, Dependent Variable, 以及 Evaluation Standard ( Scalability Claim ).
We define scalability as a quality of software systems characterized by the causal impact that scaling aspects of the system environment and design have on certain measured system qualities as these aspects are varied over expected operational ranges.(以下圖片引用自 [4])

這樣我差不多可以稍稍做出結論. 基本上可以說有 Operational Scalability 這東西, 也可以說沒有. 在 [1][2] 中基本上是在特定的觀點下, 面對特定的 Stakeholder 去定義 Operational Scalability, 而其中 [1] 又更偏向一般性的 Scalability 敘述. 而在 Wayne Fenton 的 Talk 中事實上提到了許多不同的 Stakeholders, 不僅僅是一般的 Customers 而已. 因此他的 Operational Scalability 與其說是以 Stakeholders 作區分, 不如說是以 Operational Reliable Service 為中心思想, 並且放在Community 多變的 Web Service Context 下作說明.
Operational 指的是 Service 本身是必須持續運作的, 你幾乎不能考慮停止這項 Service, 必須隨時 Ready for Use, 概念同於古老的 Non-Stop System 概念. 而 Reliable 指的是 Service 可能會更新 Features, 但是不能夠因為新的 Features 而造成不可逆的改變. 這兩項在新時代的 Web Service 上更顯關鍵. 我們很容易有了想法, 很快的成立網站提供服務, 但是隨之而來的使用者人潮跟對於新功能的需求非常難以預料, 這跟過去 Software 面對的情況有顯著不同, Community 的形成之快是超乎預料的, 但是 Community 的衰落之快也同樣難以預期.
而 Operational Scalability 在此情況下, 我認為其實就是針對 Community Change 的 System Scalability.
References
[1] Ted Barbusinski, "SOA Engineering Focal Points," The SOA Magazine, Issue XIX, June 2008
[2] Rajith Attapattu, "Scaling your system - What I learnt from Dan Pritchett’s (eBay) talk"
[3] Leticia Duboc, David S. Rosenblum, and Tony Wicks, "A Framework for Modelling and Analysis of Software Systems Scalability," Proceedings of the 28th international conference on Software engineering, pp. 949 - 952, 2006 ( Syposium Presentation )
[4] Leticia Duboc, David S. Rosenblum, and Tony Wicks, "A Framework for Characterization and Analysis of Software Systems Scalability," in Proceeding of the The 6th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE '07
中午12:36 | 標籤: cloud computing, Noun Explanation, software quality, web engineering | 0 Comments
Something about Cloud Computing : 軟體產業的二次分工 ?
RWW 上的一篇文章 : Reaching for the Sky Through The Compute Clouds, 我覺得寫的不錯, 算是從一個容易理解的角度說明 Cloud Computing. 同時他提出 Google Data Cloud 的例子來輔助他畫出的 Clouds 概念圖增加不少說服力. ( 不過 You vs Them 段落之後感覺有點混亂, 不是很能同意 )
其中請注意到底下回應中, Avner Algom 的回應 ( No.15 ). 為了紀錄方便, 完整轉錄 (稍加編排) 如下 :
It is to remember that without the convergence of grid, virtualization and SOA concepts, the cloud implementation cannot be done. In fact, the Cloud Computing concept is a Grid based business model that provides utility Computing services and/or SaaS services目前來說, 我傾向認同這樣的歷史觀點, Cloud Computing 並非技術面上的突破, 而是技術面上的成熟代表. 然而, 僅僅是相關技術的成熟, 有必要 Google 大張旗鼓的推廣此概念嗎 ? 僅僅是為了對於顧客的商業包裝, 推廣相關技術到一般人面前嗎 ?
Terminology Synch:
- Grid provides the Service-Oriented Infrastructure Virtualization (SOIV) that enables IT scalability and flexibility
- Service Orientation - Service-orientation is a design paradigm that specifies the creation of automation logic in the form of services. It is applied as a strategic goal in developing a service-oriented architecture (SOA).
- Virtualization - a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources.
- Utility Computing – Pay-per-Use for network based Compute and Storage services
- Software as a Service (SaaS) - Pay-per-Use for network based software applications’ services
我覺得除了把 Cloud 跟過往 Network 上的雲狀圖示作聯結之外, 是否應該想想取用 "Cloud" 這個字所隱含的意義呢 ?
在 Webster's Dictionary 上可以查到下面的解釋 ( 只取較為相關的部份 )
1. Any collection of particles (e.g., smoke or dust) or gases that is visible.
2. A visible mass of water or ice particles suspended at a considerable altitude.
3. Out of touch with reality; "his head was in the clouds".
然後我們又知道, Cloud 的形狀, 大小, 高度, 都會因為各種氣候條件而有所不同, 如果再結合 RWW 文章中的這張圖, ( 引用自 RWW, 由 Alex Iskold 繪製 )
霎時卻讓我想到了, Cloud Computing 從軟體工業的角度來說, 或許代表的是軟體產業的二次分工.
第一次分工是著重於軟體製造業的分工, 從 System Design, Software Analysis & Design, 到 Implementation, Testing 的分工. 這在目前世界軟體產業已經是普遍的模式, Global Software Engineering 也早已被討論多時.
而我所指的軟體產業的二次分工, 則是軟體服務業的分工.
上圖中的各種 Cloud 都可以被視為是一群提供相關服務的業者 ( 服務提供者, 未必是真實人類 ) 所組成, 但是與單純的 Service Group 不同的是, 在此 Cloud 內的 Particles ( 服務提供者 ), 必須遵守同樣的 Protocol 規範, 包含 Interface, Quality 等等, 因此對於採用該 Cloud 服務的顧客而言, 面對的是整個 Cloud, 而非單一個服務提供者.
這個觀點相信也與 RWW 的該篇文章(特別是 You vs Them 段落), 以及網路上的許多文章應該是相容, 只是從產業改變的觀點來說.
不過必須再加說明的是, 我不認為此分工模式會導致軟體服務創意被壓縮. 事實上, 這種分工模式是一個把餅做大的分工模式, 而不是為了要做出很多不同口味的餅. 在此情況下, 最大的得利者會是開發出新口味大餅的業者, 其次則是某種口味大餅做的最好賣得最好的業者, 最後則是勉強作一種口味的大餅可以餬口的業者. 而 Google 跟其他在推 Cloud Computing 的業者這當然是前兩者 :)
上午9:30 | 標籤: cloud computing, service oriented computing | 1 Comments