星期六, 四月 28, 2007

[nothing]无题之一/S.A.C.

电子脑、义体化和器官贩卖

笑脸男人事件

AI、Human Emotion和塔奇科马

人类解放阵线

Ghost in Shell

Stand alone Complex


ps:同样是wikipedia,差别却这么大

星期五, 四月 27, 2007

[读书]基金 金融学 投资

从封闭式基金到开放式基金
共同基金的十年,60年代
再到对冲基金,索罗斯,英镑狙击战,东南亚金融危机
再到风险投资VC,天使投资人
再到私募基金PE (PE)

美国人就是强啊。
Haha,最近很是看了一些金融方面的故事,非常有意思。突然有点感慨

也许作为一名程序员,也许成为像为 对冲基金建模 是一个终极挑战 因为这不光像OS,Compiler,distributed system,open source仅仅是一个智力上的挑战 还需要应对各种偶然情况,因为谁也不知道明天央行就会加息。
更为要命的是,如果你犯了错误,金融杠杆会把你的哪怕是小错误放大,也许瞬间就是数以千万亿的$就会不翼而飞。
对于想索罗斯这样的大鳄,价值还会要乘上几十倍。

连两位诺贝尔奖的经济学家发起的长期资本管理公司都会倒闭。

我想这个也是为什么会有私募基金的出现,还是要投资于实业,而不是资本的游戏。

不过“登堂窥奥,幸何如之”,这样的机会在我们看来也许是可遇而不可求吧!

星期日, 四月 22, 2007

[web2.0随想]再谈商业模式

预备 开火 瞄准


最近一段,对华尔街的历史和金融比较感兴趣,也很是看了几本书。比如华尔街的肉,虽然作者不嫌粗鄙,倒也放映了一些情况。 感觉上自从科技股成为华尔街的新宠儿以后,传统意义上的投资银行有了很大的改变,虽然很多人,特别是来自投行内部的人,对此颇有微言。说是什么不注重基本面啊,只想着上市圈钱啊,完全不考虑投资人的利益啊等等。投资银行在这个过程中的名声似乎很不好,包括那些我们看来久负盛名的企业,比如Netscape yahoo AOL都有莫名奇妙的内幕。整个过程就是老的华尔街的精英和互联网新贵的游戏。

最终导致了互联网泡沫的破碎。有一个流传很久的笑话就是“预备,开火,瞄准”,投资界到处都是这种快枪手。说到底,还是赚不到真金白银。

互联网的这种性质,表明了他是面向所有网民的,至少也是特定的人群。比如说有宠物的人,想找工作的人。能够使得信息的传播和交流的代价很小,但是也有另一个问题,用户的切换费用很低,baidu说只需要几秒钟。所以taobao以前收费失败了,虽然现在它又开始了尝试。

这一切说明了什么问题,我觉得,是互联网企业所面对的客户群使得他们能够赚到钱特别难。因为以前没有Internet,我们还不是照样过了。说到底,还是只是一个辅助的工具,虽然现在的生态早已经改变,但是还没有到网络化生存的地步。当然,SNS这个趋势现在大家都看到了。我本人也一直对此深信不疑。

长尾和商业模式


赚钱难说明了商业模式的问题,而Internet一开始就是作为获取信息的手段,这个可以参见google的使命。于是互联网企业很容易的就可以被定位于New Media,事实上它也的确是。所以和那些Old Media一样,google也卖起了广告。说到这里,想起来02年03年看到的一些报告,说google是多么的特立独行,虽然一直在烧钱,可是流量也一直在增长,而且更酷的是google好像完全没有要改变的意思,还有一个记得李开复到我们学校去宣讲的时候,他很骄傲说google有多么的不同,不向华尔街屈服,直到找到一个合适的商业模式。google的坚持固然值得尊敬,但是我猜想没有特别合适的模式应该也是一个很重要的原因。

再后来,就是如日中天的Long Tail出世,大众如梦初醒,知道了还有Niche市场,发觉Internet是个绝佳的分类聚合器。可以满足我们个人的需要。

但是Long Tail应该不是对所有的商品都有用,在诸如读书,听歌,看电影的方面,每个人的口味可能可以很不一样,Pay per click这种模式可以很好。但是就像上一片文章我讲的那样,对于品牌,大众有的时候还是需要信心的。Pay per click却把这一层剥离了。我个人觉得长尾不是对所有的产品都有用,在大众消费品,比如洗发水、洗衣粉、饮料,甚至汽车等等。技术含量不高,同时同质化比较严重的领域,还是需要品牌效应的。(其实应该说,很多领域都不适合Long Tail)

想要说的...


所以这个问题大家也看到,也在不停的尝试,互联网视频广告模式的创新。我们看到对于切切实实的创新。有的时候,其实我在想,商业模式的创新也许有的时候比技术上的创新要更重要一点。这个也是我在这篇文章中想要说的意思。

自从互联网泡沫以来,生态改变了。投资者和市场要求更加苛刻,在把热钱烧光以前,你必须要找到一个赚钱的模式。不过我还是认为这一切才刚刚开始,市场已经找到了一个gold mine,应该还有下一个,然后又是一个,直到所有的Internet企业都不用再“预备开枪瞄准”,这样大家的日子都要好过一点。:-)

普遍的认为,Internet可以提高生产率,人们也知道通过长尾我们可以得到什么。今天看方兴东的演讲:说"一个是盈利模式,主要是娱乐化为主,我们总结为目前的互联网最能挣钱的,一个是挣穷人钱,一个是挣没有钱的人钱,就是小孩的钱,另外一个就是挣无聊人的钱"等等。其实在我看来,这也可以作为Internet上面钱难赚的旁证。而显然的一点,是以方博士在内的大多数,特别是中国的互联网企业家,还在以长尾理论为基础。

星期五, 四月 13, 2007

[web2.0随想]google和Media,商业模式

核心竞争力

google的核心竞争力是什么?一般说来有两个:
  • PageRank算法,这个应该算google赖以发家的基础,说起来虽然思想不复杂,但是想做到

    50,000 万个变量和 20亿个词汇这样,的确不是一件容易的事情。别的不说,光是时间的积累就是非常巨大的优势

  • PageRank是软件方面的,自然另一个方面就是硬件方面。一般被称作google cluster,其中的技术又有GFS, Cluster scheduling, Lock service,MapReduce和BigTable,还有一个视频可以参考,google的官网也有一些paper,e文够好的话也可以看看。

硬件的技术显然要更难一点。而且硬件的投入也是非常大的,google好像一直也没有放弃对数据中心的建设。同时在google扁平的产品研发的基础就是这个非常好的平台,顺便八卦一下,据说google的团队人员都很少,google reader号称有9个,算是非常多的了

Pay Per Click

说完了这两点就完了?但是且慢,上面说的只是好的产品的基础,好的技术却不一定能赚钱。难怪《The Search》这本书中提到pay per click发明者比尔·格罗斯一直愤愤不平,好的商业模式的确是一个关键,Adwords、google关键词的拍卖技术,也就是所谓的second best策略。所以google才会把70%的力气放在search和Adwords上面。不过,奇怪的是google居然对他的拍卖技术隐藏,知道3位学术界人士捅传以后,才授意自己的顾问经济学家出来接受采访。充分说明了商业模式的确也是google的核心。

是啊,真金白银才是重要的,在上一波里面,不正是的因为赚不到钱,概念公司就死了,除非想google这个概念的却很大,很需要的公司。所以google的使命和信条,从这个意思上看也很虚伪,因为他本来就是一家公众公司,用户就是所有人,可以用脚投票,而且切换的代价也就是2秒钟。但是商业模式对一个公司的影响到底有多大呢?

New Media

前面说了那么多的废话,作了那么多铺垫,现在是进入正题的时候了。在The search这本书中说搜索是通向世界的兴趣和欲望的窗口, 是的,在computer前没有人知道你是一条狗,你可以做任何你想做的事。那么根据google的商业模式,我们是不是可以说google是一家媒体Media公司呢?虽然,google也会根据所以人的欲望来调整他的结果,但是google主要地目的却是找到YOU,然后把YOU需要的广告push给你。haha,这个不正是老的Media公司做的事情吗,电视为什么可以免费看,有广告呗。

传媒学我也不太懂,好像广告的作用有两个,让你知道他,让你持续的知道他。这也是我们知道一个品牌,相信一个品牌的途径。所以Adids才会赞助球队,我们才有免费的球赛看。社会的收入在这个层面也作了一次再分配。这个道理我记得是在多年以前我看《读书》上面一片文章中讲为什么5毛钱成本的方便面最后要买1.5的道理时知道的。

google,哈哈,新媒体New Media,它完全不管那一套,按照你的需要找到广告,谁愿意出钱谁就会得到机会,如果你的产品不好,同时又愿意出钱,那也不要紧,还有校正的方法second best,长此以往,顾客得到的还是最好的。但是,这个真的是这样的么?

限制

google的商业模式决定了他必然是现在这个样子。

但是人真的会让机器控制我们的一切吗?我们真的会对机器说出我们所有的秘密吗?这里有个我们以前当作是笑话的东东,SB,但是你会这样做吗,我猜多半不会。那么,google得到的是我们什么样的欲望,善良的欲望,正常的欲望。

  • 所以我觉得google最大的问题就是他把人只是当作一个人来看,没有发现和利用人的社会性。我想,这个也许就是就是Social Network相对于google的发展和进步之处。社会性中间,我们不需要你来主动告诉我们你是什么人,我们会发现你是什么人。这也是为什么在网络中,在Social Network中人们更加真实。每个Web service提供和发现你的一个方面,这样你就立体了,最后你想否认也是不可以的了。不过,显然这需要一个积累的过程,现在才不过刚刚开始。
  • google我以为另一个方面的弱点上面也已经提到了。google现在的广告系统把广告的持续作用消除了,没有地方可以用的上了。但是,广告不光是精确的,定量的,我们还需要广告给我们打来信心。想一想,如果你一个月没有看到Nike的广告,你肯定会想,这家公司肯定出问题了。Media在很大程度上承担着塑造社会心理的作用。(呵呵,这个命题好像是Gost in shell第二部的主题哦)

但是,google把这个剥掉了,这个虽然是世界变平的结果,但是商业模式不允许google这么做。那么这个要怎么办呢?也许,古老的口口相传的力量可以让我们相信一个品牌,毕竟,千百年来我们都是利用这这种力量。而这一点,也恰恰是Social Network的长处,因为SN就是要Internet上面重新建立一个社会,是一种生活态度,生活方式的转变。

但是,这样的后果显然是深远的。Ecosystem已经改变了。最起码,我们现在看英超要钱了。

结论

商业模式对于一个企业至关重要,所以google的首页做的要简单,因为google只需要影响YOU,帮你找到你要的,然后离开。而SN网站的就希望你留的久一点比较好。

不过一切都不重要,将来要怎样发展,谁都不知道。谁是对的,谁是错的?

星期日, 四月 01, 2007

[web2.0随想]3G和网络ID

3G


3G终于开始了,在做了很多年之后,据说就在2G之后不久就开始了,到今天也有20年了。电信设备商的意见是



3G只是2G的平滑演进,而缺少什么3G的killer APP让3G迅速的普及开来。只是因为供应商厌倦了,服务提供商厌倦了,用户也厌倦了,才需要3G来替代2G。
是不是给大部分的人的感觉是3G很可能是骗钱,或者说在原有基础上一点一点改进,也许有一天就发生了质变。

Wimax


在Wimax的开发中间,好像他们把VoIP,IPTV都是作为很重要的feature,(应该和规范对应的起来)似乎这种多媒体应用应该是killer APP。
也许对媒体的确是我们需要的,但是我想3G/4G最重要的在于网络带宽的增加,网络带宽的增加就意味着应用的可能。尤其是对于Internet的全面兼容,那么现在Internet上面的应用就可以无缝的迁移到移动平台上来。而Internet上以Ajax的Rich client正是方兴未艾。

Internet生态系统


Internet Ecosystem早就发生了深刻的改变,今天的我们一直在发挥“uploading”的力量,无数contributer在create不计其数的micro-content,而且正如时代杂志说得,“不知疲倦”。
事实上,所产生的内容是如此的丰富,那些过去被视为核心竞争力的数据都不在视为商业机密,而是开放出来,希望有人能够帮助企业从中发掘出下一座金矿。

3G能...


也许3G/4G也许最重要的是对于生活方式,生活态度的改变,特别是对于socinal network,或者诸如Second Lift之类属于我们的网络ID的营造。
网络生活已经是人们是一种生活形态,也许最终会发展到就会像攻壳机动队、黑客帝国中间那样,成为人们除却日常生活以外的第二形态。
我个人的想法不如那些Fans的那样激进,仍然认为网络生活形态只是一种补充。
还有一个重要的,也特别有趣的是趋势是网络上的ID更加真实,很多人正在努力建立自己的网络声誉
而这样一个设备的到来也就会显得顺应潮流,时机也是再好不过。我们拥有了随时随地交互的可能,摆脱了PC和电缆的束缚。势必是对于网络ID的营造更加热衷。

结语


也许这是一个分水岭,也许什么都不会发生,但是最重要的,最终用户想要的从来就不是你要给他的,而且用户想要的你最后还是要给他们。

星期六, 三月 31, 2007

[nothing]just for myself

blog虽然有时效性,不过既然是just for myself
倒也无所谓了

在这个特殊的日子里
只有两个公司还记得我

星期五, 三月 30, 2007

[web2.0随想]Myspace,yahoo和谢文 VS 社会化网络和网络化生存

Twitter流不流行和它的商业模式没有关系,我想它现在考虑的问题是流量(PV),有了流量和用户,就一定能够赚到钱,如果你自己赚不到钱(VC会告诉你怎么赚钱,当然,还有VC的几大恶,这个本来就是斗争与合作的问题),如果VC也帮你赚不到钱,那么不要紧,你还可以选择把它卖给google,yahoo, AOL, Amzon, ebay
新闻集团,维亚康姆……
排着队的买家,多着呢。

现在Myspace的Alex排名好像已经是第二了,仅次于yahoo了。但是google,yahoo,Myspace的区别在哪里?google的search策略显然是抓住了一个”billion $”的市场,所以本质上我觉得google是一家media公司。
但是Myspace显然不太一样,而且Myspace的成功地基础是什么?前一段时间Myspace禁用Widget引起了轩然大波,看看这里
利益共享式的广告是MySpace等社会化媒体的盈利之道
还有早些时候的Youtube案例分析:Widget营销时代到来
我们可以看到Youtube的成功中间非常重要的一条就是利用Widget在Myspace上面,所以我想要看到Myspace的价值在什么地方,也就是所谓的social network的价值在什么地方。

Web Services的本质是什么?每一个个体(每个提供service的网站)对于本体(这个世界)的不同认识,怎么样才能做到网络化生存,或者说网络的AI如何实现,Matrix怎样才能到来。这些Web Services是必不可少的,要想让硅晶文明拥有对于和炭晶文明的高度,现在应该说是不太可能的,AI的发展历史证明了这是令人失望的。所以还是需要炭晶的参与。利用人的力量来补充网络,正是这类Social network的最大价值之所在,当然这也是让social network更好为人服务。清楚一点说,Mashup反映的就是这种趋势,
当前互联网的汇聚(Mashup)和API趋势
Web 3.0: 当web网站成为web服务

Myspace也表达了这种趋势,人们到Myspace上来,也许最重要的目的是看看别人共享在Youtube上面的视频,flickr上面的photo,或者是del.icio.us上面的收藏,也许还有以后的Twitter上面的别人在做什么
所以social network的成功你不能够单单看一个Website做什么,也不能看它的盈利能力怎么样,social network的成功必然是Internet的成功,Myspace的做法是自私的,也不可能持久。虽然,不可否认,现在它的确占领一个不能再好的高地

Myspace这样的巨头将来必然需要把蛋糕在做大,然后再分钱给所有的contributer,因为其他人也许不像Youtube那么顺利,而且可以做到抛开Myspace。但是这个市场才刚刚起步,没有other player肯定蛋糕不会做大。
也许未来Ecosystem更有可能的你中有我,我中有你。世界虽然复杂,我们却只想用我们自己的眼睛去看。也许Myspace一家不可能满足所有人的expect,可能的情况是会有很多的中心,各色人等混迹于不同的网络阶层。这样也和真实世界的图景更加吻合。

好了,说了这么多。我们可以回头来看看google yahoo Myspace的问题。Google抓住了search,(search本质是什么,毫无疑问代表了网络上的个人,改天有时间再讲这个)而且看起来地位无法撼动。Xunlei,哈哈,老流氓的作品。不考虑也罢。Social network整体毫无疑问可以和google抗衡,现在最大最成功也就是Myspace。那么yahoo呢?可以看作是两者的混合体,tag就是yahoo的基础,他正在做的事情就是社会化search,不过,这个事情的难度如此之大。以至于yahoo还没有发现下一座金矿。

也许,在我看来yahoo的那个“花生酱宣言”是失败,莫名奇妙的宣言。同时,我也终于明白了谢文对yahoo中国的试图社区化的改造努力,也许yahoo的社区化才是一个正确的方向。Alex排名第一,对于用户友好,不像google那么锋芒毕露。
因为search上google的优势如此明显,yahoo虽然还在跟进,同时甘于老二的位置。同时插手的领域如此之多,说是门户但是和中国的sina明显不一样。yahoo资源异常丰富,但是不知道如何整合。花生酱宣言明白无误地反映yahoo自身的真实状况。虽然我不知道yahoo要如何转型,也许谢文的社区化是一个方向。

谢文的思考对于我对social network,网络化生存的认识有着无可比拟的启发意义。超前太多通常都不是很好的事情。我也相信现在能够理解谢文的人不会很多。

星期四, 三月 29, 2007

[web2.0随想]我们不但要说,说出来还要有人听

Twitter现在好像是一个话题
昨天晚上我刚好和nifeng讨论了类似的话题,这种基于“人”的应用前景无量。每个人都有表达的需要,特别是这种sparkle

当然也许我们的想法更好。简单的说就是RSS reader client, 可以收集other blog的评论,然后做到以人为基础的聚类。

以前大家认为blog相对于门户就是一个进步了,体现了个人的意义,提供了micro-content,发挥了“uploading”的力量。但是维护一个blog是困难的,尤其是一个拥有“network reputation”的blog的成本和门槛是相当高的,口口声声“互联网的草根”的那些哥们姐们其实还是“网络精英”,怎么样使“世界变得更平”,让更多的人参与进来,本来就是现在的一个趋势,体现对人的关怀,使个人的生活更加网络穴居化,用网络来展现更真实的personality

也许基于话题,热点的讨论是一个比较好的方式。其实现在blog世界里面的同质化非常严重,采用良好的聚类算法可以看到这个世界的social特性。而且每个人是不同的,也就是说他的blog可能关注与几个方面,只是有所侧重的方面。但是表达的愿望永远存在。所以现在很多人都有几个洞穴,同时还有大量存在的“心情日记”。怎样才能做到以“you”为中心。这个方案中应该可以做到。也就是说至少三重:第一话题热点,基于社会化的应用,social network,第二还是社会化的应用,你所关注的别人的blog,第三自然就是基于你自己的应用。只能说,花样不要太多!



另外Twitter表明客户端是需要的,尤其是和phone的Interface。这点我倒是没有考虑到。我们只是考虑http link和STMP services了



在另,其实现在这篇片语只字正是产生它的内在推动力,我希望拥有的服务,别人提供给我们的服务。



三:应该说这个sparkle也更接近于blog的本意,现在的blog变成了另一个世界。



Ref link:
Twitter引发博客圈争论:信息泛滥成最大问题


Thank very much for nifeng, without him, brainstorm will not success. So please give you comments.

星期三, 三月 28, 2007

[web2.0随想]Another Online Video Deal

呵呵,CDN network终于大有作为了
在看到Youtube的时候我还在想,pplive, ppstream为什么不做这样的事?在google宣布以16.5亿买下Youtube的时候,我马上觉得已经结束了。Huge Beast来了,现在这个已经不会有任何机会了。Player已经变成了新老media巨头。
其实在没有正式上班以前,我还没有意识到这种小的视频的流行程度。毫无疑问,这种现象早已经流行很久了,不过在Internet不那么流行,带宽不那么大的时候,是email实现了这种功能了。当然也包括photo,文字也有,相对来说就是比较少了。由此可见各种媒介对人的影响程度。
毫无疑问,从文字link广告之后,一定会出现图片广告,视频广告。而且这应该是下一个”billion $”的市场。
也许pplive的访问量还是非常高,用户的平均在线时间也很长,但是pplive们已经沦落为类似于在线听歌的工具,应该说大多数的用户都不是所谓的“优质客户”,和qq的情况类似,qq呢,还有个cooperation在里面,用户忠诚度还是要高很多的。这种客户是 所谓的墙头草,转换的代价低而且非常可能。不过如果能做到qq那样,显然也还略有前途。
下一步怎么办,和市场的领先者合作,显然是一个最后的策略。
web->desktop
Desktop->web这应该使一个趋势,
在我看来,Youtube还少一个client(虽然说是Flash player)。高度符合定制需求的,可惜pplive,ppstream这种产品的同质化非常严重,进入的门槛也不高。也许能像douban那样一直为客户考虑才是应对之道,当然这是WEB2.0的本质所在。
还有一个可能的策略是作为CDN分发内容,可惜BT和emule已经非常好了,而且看起来BT似乎已经被招安了。

星期五, 十二月 09, 2005

[p2p研究笔记]随笔之一

做研究要发展趋势
p2p200是IEEE举办的关于p2p计算的会议,2005年的Topics如下

Security in P2P Systems

Trust and Reputation


Accountability


Applications


Overlay System Monitoring


Agents


Overlay Super Computers


Middleware


Overlay Architectures


Network Management


Wireless


Protocols


Collaboration


Supernodes


Grids


Clusters


Object Location and Retrieval


Storage Systems


e-Commerce




仔细看一下,就会明白现在p2p研究者们都在关心什么样的问题,其一是安全,这是很好理解的,在p2p环境下:分布式而且个体之间的差异特别巨大;其二是overlay虚拟网,这是p2p环境中特有的一个词;其三是路由和查询;其四是应用;最后可以勉强算一个是标准化——协议。

其实在结合它的program来看一下,就更明了了。(注:program应该相当于会议的主题发言和成果展示)

然而有趣的另一个p2p方面比较有权威的会议 ITPTS'06,下面的是明年的call for paper征稿范围

  • peer-to-peer applications and services
  • peer-to-peer systems and infrastructures
  • peer-to-peer algorithms
  • security in peer-to-peer systems
  • robustness in peer-to-peer systems
  • anonymity and anti-censorship
  • performance of peer-to-peer systems
  • workload characterization for peer-to-peer systems
  • experience with deployed peer-to-peer systems
  • incentives for peer-to-peer systems
  • network and infrastructure support for overlays
  • application of peer-to-peer design to novel contexts

  • 这是今年(05)的call for paper的征稿范围:


    peer-to-peer applications and services
    peer-to-peer systems and infrastructures
    peer-to-peer algorithms
    security in peer-to-peer systems
    robustness in peer-to-peer systems
    anonymity and anti-censorship
    performance of peer-to-peer systems
    workload characterization for peer-to-peer systems
    experience with deployed peer-to-peer systems

    还有IPTPS'05的program
    一个很鲜明的感觉就是ITPTS对p2p本身的关注程度更高,仅仅p2p系统他就涉及到 安全性、健壮性、匿名性和去中心化、性能、负载 而且可以注意的是06年比05划分的更细了。至于看05的program(06年的还没有)就可以清楚的知道应该朝哪个方向去看paper了。

    BTW:这两个会议虽然都很好,但是私心认为ITPTS要更好一些,且不说比较牛的文章几乎都在在ITPTS上面,看看发表的范围就明了,p2p2005中间还包含有Grid和Agent,这些可是我们lab中大家日常bs的对象(请你仔细的想一下,有什么Grid项目是成功的?有什么不能和Agent挂上钩?)

    附带着有结论2个:


    • p2p2005是IEEE举办的,应该是官方举办的会议,可是他却并不是最关注于p2p系统的实现,相反地关注的都是一些宏大的主题,都是一些激动人心地、时尚的关键字。比如grid/agent/ Middleware/ super computers/ supernodes/ Clusters /Wireless/ e-Commence/也许做学术的都有这种通病,我的东东可以解决一切,包容一切,你说的我都不能没有,你没有的我还有。看到别人好的就拿过来,往往为一件小事就可以相互bs,吵得不可开交。
      其实,我们大家天天都看到中国现在学术如何如何的腐败,但是国外的情况呢?依我个人的世界,觉得真正有创造力的头脑少的很,有那么多的人都在从事学术,他不要毕业么,不要发paper么?那怎么办么,第一就是制造概念,然后拼命拔高,拼命形式化,拼命抽象,最后都万道归一了。然后再互相吹捧,使其大旗不倒。所以说如果尖酸刻薄点说:Agent就是学术腐败(就像安然是自由世界里的经济腐败一样)。不过说清楚,我并不是bs Agent,最多我只不过会说Agent不是CS而已。




    • 学以致用的观点我觉得应该是我们CSer应该时刻铭记的观点,且不说抱负良心,计算机就是一门工程学科;这一点要向相信有许多人坚持着,这如ITPTS和Apache

    [DHT算法]Chord概述(1)

    Chord项目是MIT的p2p研究项目,并且是受NSF资助的IRIS project(Infrastructure for Resilient Internet Systems)的一部分,而整个IRIS project就是以DHT为基础的,好像拿到了NSF很多钱,大约是2000w吧。
    在分布式系统中,资源的查找是个很重要也很棘手的问题,一般的说来主要有两种方式

    • 一种采用集中式的查找,有一个索引服务器,p2p的开山鼻祖Napster就是这种这种方式,还有诸如LDAP,都是这种方式的代表。这种方式虽然查找起来方便,但是容易受攻击,目录服务器垮了这个系统也就不行了。这显然不能满足p2p的技术要求(但是在其他的distributed系统中,如grid中却可以应用的很好),p2p是针对于一般用户的,它的准入策略不能太严格,在开始的情况下,只能假定所有人都是善意的。

    • 另一种查找方式就是分散式的查找。在Napster因法律问题而受到打压以后,研究人员开始明白仅仅文件时分散是不够的,p2p就是要完全的decentrlized/去中心化,但是怎么解决查找的问题,很自然的一个思路就是采取一种“洪泛”的策略,我把我要查找的信息告诉所有我知道的邻居,他们告诉他们知道的下一家,这样递归的查找下去,最终肯定可以找到所需要的资源。采用这种方式最主要的有Gnutella和Freenet,为了采用目录服务器p2p system(Napster)相区分开,一般把以Gnutella/Freenet为代表的p2p system称之为第二代p2p system,而把Napster等称为第一代p2p system。
      这种分散式的查找方式虽然更加符合p2p的初始精神,Decentrlized,Anonymity,Robustness。但是采用“洪泛”的一个显然的弱点是网络里的流量会以指数级的方式迅速增长,这样这种p2p system的参与peer不能太多,否则网络将会因为拥赛而垮掉。但是很不幸,p2p面对可以说就是草根,如果得不到用户,那么它还有什么意义呢?


    行文至此,p2p系统3年前面临的困境要怎样解决呢?Napster方式肯定不适合,首先就不符合p2p的精神,甚至不能真正称之为一个p2p system。
    那么对第二代的p2p system能做什么,自然是改造。控制拥塞是网络里面的老课题,也有很多经验和成熟的技术可用,只是应用环境变了。事实上,现在这种结构p2p system研究者的热点也是集中在这里:怎么样在保证通讯质量的同时,尽量减少通讯量。

    好了,终于轮到DHT和Chord出场了。Creativity!在对原有系统修修补补的同时,另外一些研究者确在思考全新的解决方案。既然集中式和分散式各有优缺点,而且看起来它们之间还是互不的,那么能不能把它们结合起来呢 ?既不完全分散也不完全集中。把所有索引信息,分别存放在很多节点之上,但是这又不能和那种多级索引一样,虽然分散了索引,但是仍然有顶级节点,一旦最上面的索引服务器垮掉,整个系统还是垮了。所以最好还是平面结构,而不要是层次式结构。在一个平面上,能购查找的算法,大家能想到什么?哈希表,也许你已经想到了。而这也正是Chord研究者们所想到的,DHT的全称Distributed Hashing Table,分布式哈希表。从这个名称似乎已经隐约可见端倪了,它的思想正是上面所提到的那样。不过为了哈希表放到不同的节点之上,还是做了很精心的设计的,Chord的设计也是非常巧妙的。
    p2p的研究到此似乎也就走出了困境,而各种DHT算法也在Chord之后如雨后春笋般的发展起来了。由于基于DHT的p2p system和以前的p2p system之间的一个显著的区别是为了保证各个节点能够hash到另外的节点。所有节点的ID必须是预先规定的。因此被称为structured p2p system,有结构的p2p系统。把以前洪泛的p2p 系统称为unstructured p2p system,无结构的p2p系统。

    毫无疑问,DHT是killer级的算法/技术。而使DHT深入人心的正是Chord,看Chord的文章,似乎在他们之前还有类似的想法(Plaxton,CAN),但是也许Plaxton的作者自己都没有太清楚的认识到他们想法的意义。Chord却明确了DHT作为p2p system的基础的地位。

    我自己以为,p2p研究正是在此以后,才获得了非凡的理论意义和基础。以前的p2p思想要么不成熟,要么依附于其他的CS分支。p2p研究正式成为CS科学家和应用者都认可的分布式系统。

    星期四, 十二月 08, 2005

    [读书笔记]CoralCDN的工作原理(翻译+重组)

    tag: p2p dht cdn CoralCDN

    因为朋友要写开题报告,托我看看CoralCDN的论文,我觉得既然看了,就不如看的仔细点。于是有了这片文章。

    Coralcdn是一种p2p方式的web内容分发网络(content delivery network),不过也有人叫它content distributed network,他的特点和使用方法就不说了,想要了解的google一下就ok了。下面我希望能够简单清楚介绍一下coralcdn的工作机制。当然看原始的论文会更清楚一点,而且网站上面还有一个ppt。

    Coral的Indexing机制

    coralcdn底层的DHT网络被称之为coral,coral使用一种扩展的DHT方式
    Indexing机制,DSHT(distributed sloppy hash table),声称较好的解决了DHT overlay中的locality的问题。不同于经典的DHT方式,coral首先对所有overlay中的node的网络状况进行一个评估, 然后按照RTT的时间代价自然划分为几个等级(coral里称之为按照网络的diameter划分),默认的是3级,L2(<20ms),L1(<60ms),L0(剩余的所有节点)。完整的NodeID的节点空间仍然是由SHA-1生成的160bit,但是查找和放置的时候,不是在整个NodeID空间上查找,而是优先在L2上的节点进行DHT查找,L2 层中找不到合适的节点再去L1层中查找,最后才是L0层。这样做的显然是考虑了locality,但是查找的次数应该对于一般DHT方式的查找次数。所以具体孰优孰劣还是要看实验数据,但是从直观感觉上还是coral要节省时间一点。不过DHT只需要维护一个DHT空间,而coral则需要维护三个,显然在节点加入或离去的时候,系统地自平衡代价也要大一点的。(不知道coral的作者们又没有考虑这个问题,:))

    coral的组成部分


    coral的主要组成部分有两个:Coral DNS Server——dnssrv;Coral Httpproxy——CoralProxy

    dnssrv

    在client查找coralize URL 的时候,dnssrv返回Proxy的IP地址,这些proxies都是在一个合适的cluster(就是前面说的L2、了L1、L0层)之中,同时确保来自于相同client的DNS请求不会离开这个cluster。下面我们就来看看Coral怎样实现。
    所谓的coralize的URL就是加上.nyud.net:8090,但是这实际上是为了方便而采取的一个缩写,完整的应该是.http.L2.L1.L0.nuycd.net,每一个dnssrv都是解析这个域名的nameserver。同时Coral假设dnssrv的了Locality就是WebBrowser的Locality。在每次请求中,dnssrv返回两个数据集,对于IP的proxy地址集,对于name's domain的nameserver。而且client和dnssrv之间的RTT如果在level-i层,那么dnssrv只返回那些在同一个level上Coral node的地址。对于proxy,返回的短的TTL,对于L2、L1是30s,L0是60s。dnssrv同时会在获得DNS授权的数据中查找,并把client锁定到合适的cluster上面。并且给这些nameserver一个比较长的TTL(1h)。对那些长于L1时间的client,dnssrv返回的是域L0.nyucd.net的nameserver,长于L0时间的client,dnssrv返回的是域L1.L0.nyucd.net的nameserver。

    Coral Http Proxy

    Coral设计主要是考虑低延迟、高系统吞吐以及对于源服务器的负载减轻。类似于freenet走过必留痕迹的策略,每个CoralProxy都尽可能的“拉”网页来,如果client请求的URL不再本地cache 中,则他们就会在Coral中查找(Coral的底层就是扩展kademlia), 然后再DSHT中插入一个references,告知系统自己有这个cache,保存的时间为20s,如果这个proxy完整的得到了文件,就会告知系统他会保存这个更长的时间(比如1h)。

    Coral的存贮方式:Sloppy Storage

    据称这种方式减少了hot-spot和tree saturation现象。在本来的kad中,key和node之间的关系是对应的,在插入时,有两个阶段,第一个阶段叫“forward”(相当于正常的kad插入),需要在node处于full或者loaded状态下需要做相应的调整。对一个node如果一个key存储了l(=4)就被称为full;

    在一分钟之内如果一个node上的一个key被请求bata(=12)次,则称nodeloaded。

    这时,就需要把key/value放在更远的node上。




    第二个阶段“reverse”,根据“forward”阶段的结果client试图插入value到最远的节点,如果“forward”这个操作失败,那client就会稍微回退一点(文章中叫做pops stack),把这个值放到次远的节点上(参见上图)。

    取回值的操作其实就是插入操作的逆向操作,这里就不再赘述。


    Coral中的层次式的操作

    这个在前面已经叙述了,这里在解析清楚几个概念再加一张图。Cluster就是Coral中的层次,其中每一对节点之间平均的RTT要小于一个阚值,就可以成为同在一层(Cluster)中。层次式的查找和插入的意思首先在RTT小的Cluster中进行,如果失败,则转入下一层中。参见下图。



    为了实现这种层次式的操作方式,每次Coral RPC都需要返回发送者的Cluster的信息。

    好了到这里,基本上的内容都差不多了。最后想提一下CoralCDN的代码量。Coral是14,000行C++写成的,dnssrv2,000行,HttpProxy4,000行代码。看起来还是很复杂的:)