一种具备动态特征的WWW建立方法
技术领域
本发明属于大规模分布式技术在互联网上的应用。其中主要涉及的技术包括互联网域名技术、互联网超链接技术、互联网事件驱动技术、互联网多播技术和互联网交互技术。这些技术的综合运用形成了静态WWW技术。本发明试图对静态WWW技术作出改进。
背景技术
WWW【1】或者说静态WWW是当前互联网能够得到广泛应用的核心技术。它通过直观的域名和文字形式表示出远程信息基本意义,从而引导用户去访问相应数据。这种直观的域名和文字所表示的远程信息通常叫作超链接【2】。从用户角度看,访问过程只需通过简洁的点击超链接就可以完成,大大减轻了非技术人员即普通用户使用互联网的代价。同时,WWW也通过超链接为互联网数据之间建立有效的知识体系起到了支持作用。在基于WWW的互联网上任何数据都具备一个唯一的超链接,而数据本身在多数情况下都不是孤立存在的,而是和其他本地或者远程数据之间也通过超链接的形式联系起来。由此形成了互联网数据之间特有的知识体系。这个知识体系将全球范围内的人和数据联系起来,再结合其简单的访问形式,为人类的知识共享作出了重要贡献。
WWW涉及的主要技术包括互联网域名技术、互联网超链接技术、互联网非事件驱动技术、互联网多播技术和互联网交互技术。
互联网域名技术指的是为互联网上任何可访问数据提供一个以自然语言形式出现的名称,并且这个名称和相应的数据一一对应。这保证了在互联网上进行数据访问过程中能够以直观的形式进行,降低了访问互联网的学习代价,使互联网从少数专业人员才能操纵的复杂***转化为普通用户就可以使用的大型信息***。域名技术主要是依赖于中心式注册机制来实现的。由于全球范围内域名数量庞大,同时用户访问互联网的每个请求都要依赖于中心注册机制,这大大加重了中心注册机制的负担。为此,这个机制要通过集群技术【3】来保证***的性能。域名技术实际上是一种资源发现的技术,即如何在互联网上找到域名所对应的服务器。当前这个注册机制把域名和互联网服务器访问地址一一对应起来,简化了服务器的发现代价。但这个机制并不是一个完善的机制,因为用户访问互联网最终需要得到的是数据而不是服务器地址。当数据在互联网服务器发布之后会逐渐备份到客户端乃至其他互联网服务器上,如果域名机制能够把域名和可能的被访问数据以及相应服务器对应起来,那么在域名和服务器之间就会形成一对多的情况,这会大大降低原始互联网服务器的访问压力。另外,由于中心分布式结构产生的弊病,即使在使用集群技术时也会造成某些域名查询请求由于域名服务压力过大而得不到响应。这时候,即使某些互联网服务器本身工作正常,用户的访问请求也得不到满足。最后,同样是为了防止***规模任意扩大,这个域名注册机制对域名注册有严格的要求。这限制了互联网***的快速发展。如果能够提供一种相对容易的域名注册机制,这会使得参与互联网活动的用户大大增加,从而提高互联网的数据以及其他资源的丰富程度。
互联网超链接指的是数据之间通过基于域名的地址***而形成的覆盖所有互联网服务器的抽象数据网络。其本质是在互联网大量异质数据之间建立的基于HTTP【4】的数据请求;而这些请求都是面向最终互联网用户的。原始的超链接都是由数据发布者根据HTML【5】的规定以特定的语法形式把数据加入互联网数据当中。有些超链接是互联网服务器自动生成的,即所谓动态超链接,但其生成规则也都是数据发布者事先规定好的。所谓互联网超链接技术就是一种互联网客户端访问互联网数据的方式,而这种方式是以强制客户端主动请求互联网服务器来获取数据以及相应的变更情况为特征的。互联网超链接技术的使用使互联网访问具备两个明显特点,即智能性和静态性。智能性出现的原因是由于超链接是数据发布者即人根据自己对数据的理解而建立的数据间关系。这个性质为普通用户访问互联网起到了有效的引导作用,即用户可以沿着超链接方便地获取所有相关连的数据。但不足之处所有互联网数据都以静态形式表现出来。这里的静态形式有特殊的定义,即无论是数据本身还是数据相关的变化情况在用户没有主动通过超链接访问的情况下是不会从互联网服务器传送到互联网客户端的,因此称之为静态WWW。
静态WWW的产生和当前互联网非事件驱动技术有紧密关系。通常一个高效率***都是基于事件驱动机制【6】来运行的,即只有在所需要关注事件发生的情况下,才会有计算资源被使用来响应该事件。这对计算资源的节省起到关键作用。静态WWW没有采用事件驱动机制,而是所谓投票机制【7】,即为保证需要关注的事件发生后能够及时响应必须周期性的访问事件源。这种并不高效的运行方式是多种因素制衡的结果,例如有限的互联网地址资源、互联网安全因素、互联网带宽瓶颈、互联网无状态传输协议【4】、当前互联网过分简单的多播机制【4】以及互联网中心式分布结构【7】等。由于互联网地址资源是有限的,不可能为每个计算节点都分配一个可访问的互联网地址,因而造成有些互联网节点没有真正的地址,处于事件源的计算节点无法主动访问该节点。这样,只有为该节点临时分配一个共享地址。这造成了事件机制无法正常实施。其次,基于安全考虑,局域网内的计算节点通常会被防火墙保护起来,这种保护一般的做法是禁止局域网外部的计算节点主动访问内部计算节点。这也造成事件机制无法实施。再次,由于互联网带宽是当前互联网应用的主要瓶颈。作为互联网服务器,为节省有限带宽从而支持尽可能多的互联网客户端访问,一般会在客户端不再和服务器交流一段时间后关闭连接,使节省出来的带宽和连接插口【8】能为新的客户端服务。此时,作为客户端只能采取投票机制来获得服务器端事件的状态,即周期性发送探测数据。只要这个周期长短设置得合适,也能做到即时事件驱动和对服务器压力最小化。但如果互联网客户端具备真实的互联网地址,并且允许互联网服务器端适时关闭连接,也可以考虑不采用客户端投票机制来完成事件驱动,而是在事件发生后由服务器端主动和互联网客户端建立连接并通知事件状态。但实际上互联网服务器没有这样设计。这和支持当前互联网传输和运行的HTTP协议是一种无状态协议有关系。第四,当前互联网是基于中心式的分布结构。这种结构的特征导致计算资源来自于少数互联网服务器,即计算资源总是处在相对有限的情况下,尤其是连接插口和带宽。服务器资源相对有限带来对事件驱动机制的另外一个影响是HTTP协议的无状态特征。因为要保存客户端状态,必然要占用服务器计算资源。这种无状态HTTP协议必然导致服务器端对客户端需求的不了解,也无法甄别事件即时通知不同客户端。当然,在计算资源相对富余的服务器上,可以对HTTP协议进行改造,使它成为一个有状态的协议,但由于事件驱动需要诸多因素的保障,导致当前互联网的非事件驱动特征。最后,互联网客户端在访问互联网服务器的时候具有对有限数据集中访问的特点,或者说互联网客户端所关注的事件也相对集中,如果由服务器端主动通知客户端,需要一个适当的多播机制来帮助。而现在互联网***中没有支持服务器端至客户端的有效多播机制,致使客户端通过投票机制代替事件驱动成为必然。总之,当前互联网的非事件驱动机制也是适应互联网应用具体需求而产生的合理结果。虽然如此,它导致了当前互联网必然以静态WWW为基本特征的结果,即数据只能在互联网客户端主动请求的情况下才能从服务器端以数量有限的方式(轻量级)传输到客户端;任何客户端可能感兴趣的变化,都不能即时得到通知,更不可能即时获得相应数据。
WWW的广泛应用和当前互联网交互技术密不可分。基于WWW的互联网应用实际上主要是为普通的最终用户不是为专业人员而设计的。从应用层来看,当前互联网的实质是大量以客户端形式工作的计算节点通过HTTP协议同相对少量以服务器形式工作的计算节点之间的交互***,并且这些节点之间组成了一种特殊的二分拓扑结构【9】,如图1所示。所谓的二分拓扑结构指的是一个作为客户端的计算节点和其他作为客户端的计算节点之间没有直接联系,必须通过作为服务器的计算节点帮助才可以间接连接;而作为服务器的计算节点之间也不存在直接连接,只能通过客户端才能建立间接连接。在这个二分拓扑结构中,WWW技术对保持互联网计算节点之间的沟通起到了决定作用。从互联网客户端角度看,WWW的表现形式就是分布在基于HTML网页中的超链接。这些超链接实质上就是从当前互联网客户端指向互联网服务器的数据请求。这是当前互联网上直接连接的唯一形式,即客户/服务器模式【7】。互联网服务器之间的间接联系也是借助WWW技术来完成的。在当前互联网***中,虽然互联网服务器之间的联系需求是存在的,但它们之间并没有直接联系,即服务器互相之间直接进行基于HTTP协议的请求和回应是不存在的。但这并不是说服务器之间的数据不能共享和交互。这种数据的交互完全是通过互联网客户端来间接完成的。互联网客户端首先基于WWW技术获得一个互联网服务器上的数据,再通过WWW技术将修改或者复制的数据发布到另外一个服务器上并以超链接的形式表现出来,从而实现了服务器之间的数据共享或者间接连接。在客户端上,这个过程可以由用户直接完成,也可以是机器参与进行,但互联网客户端和互联网服务器之间建立连接是必须的。另一方面,互联网客户端之间联系更是互联网重要需求之一。但这个联系也是通过WWW建立起来的间接联系。当一个互联网客户端需要和另外一个互联网客户端联系时,如共享数据或聊天,其相关数据会通过WWW技术在一个互联网服务器上发布并以超链接的形式表现出来,另外一个客户端可以通过投票机制及时获得相关数据或者通过访问相关互联网服务器获得该客户端的数据。总之,WWW技术是当前互联网计算节点之间保持联系所必须的。然而,这种联系形式存在诸多不足。第一,这种形式不是真正的互联网。当前互联网特殊二分拓扑结构的形成和互联网早期状况有直接关系,是对当时计算环境的适应,具有其合理的一面。虽然如此,随着计算技术以及互联网技术的发展,它的弊端越来越明显。它违背了互联网的原始追求,即所有参与互联网计算的节点可以相互直接连接。当前这种基于二分拓扑结构而导致直接连接和间接连接共存的方式并不是互联网唯一的选择。第二,数据共享是建立在一对一传输的基础上,严重影响了互联网***的性能。在当前互联网中,任何数据传输只发生在一对一两个计算节点之间,或者说任意两个传输连接之间不会有任何关系。这也不是一个合理的方案。尤其是作为互联网服务器来说,极端情况下同样的数据要完整并发传输给所有需要该数据的互联网客户端。这种方式的形成也和当前互联网二分拓扑结构有关系。由于在服务器之间和客户端之间不存在直接联系,任何一个数据传输连接只能寻求其他服务器和客户端的协助。有一种情况例外,即客户端在获得服务器传输数据同时,把数据再传输到其他服务器上,从而有利于分担当前服务器的压力,使其他客户端可以得到别的数据源。但由于这种模式存在两个传输通道,每个通道都会形成瓶颈,对并发数据传输改进不大。当并发度不高时,这种模式意义也不大。通常一种变通的方式是人为地增加服务器之间的联系,即布置更多的服务器并在其中进行数据复制,来分担对少数服务器形成的压力。然而,在这些服务器之间的关系完全和WWW技术没有任何关系,必须专门设计。这实际上是对互联网严格二分拓扑结构的改进。一对一传输还有另外一个意义,即数据必须从头至尾完全由一个连接来完成,即使有大量并发客户端或者互相配合的多个服务器存在。这是由于基于HTTP传输协议的WWW技术造成的;只有改进这个传输协议才有可能使传输更有效地进行,即数据可以从多个服务器甚至多个客户端同时获得。这其实需要对当前WWW技术的重大改进,打破其二分拓扑结构的基础。第三,互联网应用也是建立在一对一的基础上,制约了互联网应用的发展。互联网本质上是要达到数据资源、服务资源以及智力资源的最大化共享,从而也最大化促进新资源的产生。基于这个原始目的,互联网上的用户必须方便地沟通。这种交互当然会形成比二分拓扑结构复杂得多的交互体系。为了达到这个目的,当前基于WWW技术的互联网必须做到在其二分拓扑结构上模拟更复杂的拓扑结构并形成各种各样的应用来满足用户交互的需求。在这个模拟过程中付出的代价便是计算资源。作为二分拓扑结构重要一极的服务器是提供这种计算资源的唯一选择。这大大增加了互联网服务的成本。当交互变得更复杂,需求资源更多的时候,服务器的模拟过程所需资源也更多,甚至不堪重负。
最后,需要强调的是基于静态WWW在互联网上形成了一个复杂网络【10】***。所谓复杂网络***是自然界乃至人类社会中普遍存在的一种事物之间拓扑结构。从互联网这个具体领域来看,这是一个类似于人类社会的一个***:每个网站构成了这个拓扑结构的节点;节点之间存在着相互联系;最终形成复杂网络结构。静态WWW是对上述复杂网络的体现之一:域名是这个拓扑结构中的节点,域名之间的超链接构成了它们之间的相互联系。这个复杂网络***的特点如下。首先,每一个域名代表的服务器相对稳定。这是由于具备域名的服务器通常是数据和服务的提供者;为了稳定地服务于潜在的客户端,必定要尽量保证服务器的正常运行。其次,域名之间的联系(即超链接)如上所述并不代表被关联的域名之间有直接存在的物理连接或者相互作用。从前面对互联网二分拓扑结构可以得到上述结论。因此,域名之间的联系纯粹是一个逻辑上的概念。第三,这个拓扑结构中存在失效的联系。这个现象是由于当前互联网不具备事件驱动机制而造成的。这些逻辑上的联系(超链接)是由网页作者手工添加的;但互联网本身是不断变化的***,一个超链接对应的数据或服务是具备生命周期的。由于没有事件驱动机制的支持,相应的变化便无法反映到使用此超链接所有非本地域名对应的服务器网页上。第四,可利用的智力资源有限。复杂网络***最重要的特点是体现了驱动这种拓扑结构形成的特征。对于和社会体系相关的复杂网络来说,驱动其形成的力量是智力资源。当前互联网基于静态WWW形成的复杂网络本质上是互联网数据或服务发布者通过智力判断形成的相互之间关系,即具备智力资源。但这样的智力资源仅仅以单一形式的超链接表现出来,使得对智力资源的利用受到限制。当前成功利用超链接的方法就是PageRank算法【11】。
简言之,当前WWW技术为简化互联网的使用和数据有效共享作出了重大贡献。但由于其所建立的基础存在不足,限制了互联网回归其本来面目以及相关应用的发展,最重要的问题在于对智力资源的利用严重受到限制。
发明内容
本发明属于大规模分布式技术在互联网上的应用,其中主要涉及的技术包括互联网域名技术、互联网超链接技术、互联网事件驱动技术、互联网多播技术和互联网交互技术。本发明的目的在于建立新的动态WWW,并通过新的超链接将相关数据联系起来,从而在这个机制上完善普通用户使用互联网的方式,使用户能够在更新的互联网***中,在智力资源充分支持下高效全面发布和获取高质量多种形式的数据。
本发明是通过以下技术手段实现发明目的的:
第一步,建立基于全体互联网计算设备的域名机制。
1.域名机制的范围扩大到所有参与互联网计算的节点,互联网上任何计算节点都具备了被访问能力或者提供数据或服务的能力。
具体实现步骤如下:
1)布置域名服务器,采用稳定环境下的集群技术【3】维护域名***;
2)计算设备通过TCP连接访问布置好的域名服务器进行注册;
3)通过基于TCP的NAT穿透技术【12】实现互联网上任意两台计算设备之间的TCP连接;
4)借助步骤3使计算设备间建立连接,实现任意两个互联网上的计算设备通过域名建立通信;
5)计算设备建立TCP连接后,通过基本TCP/IP编程技术【8】为其提供更灵活的通信机制,完善计算设备之间的通信方式。
2.为计算节点自由组合形成的群落提供域名。
具体实现步骤如下:
1)任意一个用户建立一个群落域名,并通过***提供的广播手段,通知***中当前计算节点以及域名服务器;域名服务器对这个域名予以注册;当前不处于***中的计算节点可以在登录时获得这个新建群落域名;
2)建立群落域名的用户通常熟悉这个域名代表知识领域或者具备这方面的资源。群落域名创建者可以利用***提供的各种多播手段在群落中发布数据以及其他服务;
3)其他用户在得知新群落域名后,会根据自身兴趣进入群落;在获得群落创建者发布的数据后,用户会根据兴趣决定是否接收、选择还是拒绝。
3.建立由智力资源控制的广泛域名机制。
具体实现步骤如下:
1)为每个连接于互联网的计算设备分配域名;
2)赋予用户控制具有域名的计算设备参与任何计算的权限;
3)在用户控制下的计算设备在获取数据和服务过程中,与其他用户控制的计算设备会形成相互之间关联,构成复杂网络。
第二步,为新域名机制定义超链接使得域名之间形成基于数据的关联。
具体实现步骤如下:
1.用户控制的计算设备在获得域名后,可以利用域名来表示放置于本计算设备上的数据以及服务,该表示方法采用域名和文件路径组合的方式,形成超链接;
2.在***中建立强伸缩性的多播机制【13】,对高质量数据和服务有兴趣的所有计算设备组成计算集群,并在这个集群中共享各自的计算资源;
3.允许用户使用超链接使被发布数据之间建立关联;
4.当发布含有基于超链接的引用数据时,对被发布数据感兴趣的用户在获得非引用数据的同时,也获得引用数据;这些数据的获得是通过步骤2中的多播机制来实现;
5.用户使用数据与数据多播形成异步。
第三步,建立基于动态WWW的数据地址描述。
具体实现步骤如下:
1.建立基于重量级数据传输协议;
2.完善对重量级数据的描述;重量级数据是由基本数据单元组成,每个数据单元包括数据描述、数据交互、数据展示以及数据四部分;每个单元表达固定含义;多个这样的单元按照特定层次关系组成一个完整的意义表达;
3.由传输协议、域名以及重量级数据文件名组成动态WWW数据地址描述。
第四步,依据动态WWW数据地址层次形成的顺序进行传输。
具体实现步骤如下:
1.建立流网传输协议,解决重量级时序不敏感数据的多播、重量级时序敏感数据的多播、重量级轻量级数据混合时的调度策略以及流网对象之间的调度策略等问题;
2.群落的形成和建立;
3.按照用户指定的顺序以流网传输协议的方式,在获得群落内部计算节点的前提下进行多播,最终形成基于动态WWW地址之间的关系在群落中的传输。
第五步,建立基于动态WWW域名的自由直接交互方式。
具体实现步骤如下:
1.实现一对一轻量级数据交互,任意两个计算节点通过域名建立TCP连接完成;
2.实现一对一重量级数据交互,采用增加额外服务器进行协助的方式来解决;
3.实现一对多轻量级数据交互,采用增加额外服务器进行协助的方式来进行统一的可靠性维护;
4.实现一对多重量级数据交互,采用流网传输协议来完成;
5.实现多对一轻量级数据交互,通过转化为多个一对一轻量级交互来解决;
6.实现多对一重量级数据交互,采用增加额外服务器进行协助的方式来解决;当众多发布节点数据相同时,转化为一对多重量级数据交互;当众多发布节点数据彼此不同时,转化为多个一对一重量级交互;
7.实现多对多轻量级数据交互,利用多个多对一轻量级数据交互的方法来实现;
8.实现多对多重量级数据交互,当数据彼此相同时,可利用流网传输协议完成;当数据彼此不同时,增加额外服务器,投入更多的计算资源来完成。
第六步,建立基于动态WWW的复杂网络***。
具体实现步骤如下:
1.赋予用户基于社会因素和自身意愿在***中进行交互的权限;
2.利用流网传输协议辅助节点之间的交互;
3.计算节点之间自由交互,它们之间的关系完全决定于它们之间的社会属性或者说智力属性;这是智力资源的表现形式;因为***规模大,所有节点都由具备独立判断能力的用户控制,导致智力资源的丰富。
本发明的积极效果为:
动态WWW建立在完全不同于当前互联网的应用层之上。在路由以及集群技术的支持下,计算资源以及社会资源都大大增加。动态WWW充分利用了这些资源,使得互联网用户在访问、发布、搜索以及观看等主要功能上完全展现出全新的面貌,更好地满足了用户在互联网功能、性能以及智能上的要求,是应用层上下一代互联网的核心发明。
附图说明
图1、静态WWW二分拓扑结构;
图2.、动态WWW自由联通结构;
图3.、动态WWW域名机制。
具体实施方式
第一步,建立基于全体互联网计算设备的域名机制。
1.域名机制的范围扩大到所有参与互联网计算的节点,互联网上任何计算节点都具备了被访问能力或者说提供数据或服务的能力。本发明以动态WWW命名的原因在于它具备基本WWW的能力,同时对这个机制进行了有效改进。改进之一便是扩大了域名机制覆盖的范围。当前的域名机制只能赋予提供数据或者服务的互联网服务器一个有含义的名称,即域名。域名降低了用户访问互联网的学习代价。在本发明中,域名机制的范围扩大到所有参与互联网计算的节点,不仅仅是互联网服务器。这样的改变意味着互联网上任何计算节点都具备了被访问能力或者说提供数据或服务的能力。当前快速发展的计算技术以及大量用户参与导致每个计算节点都有可能贡献数据并且索取数据,使得互联网上不存在只以单独角色出现的服务器和客户端。新的域名机制使互联网规模大大扩张,远远高于当前互联网所容纳的计算节点。为此,本发明也提出了相对于当前域名机制更简便的注册方法:只要具备与互联网建立连接的计算节点,就可以在没有人为干预的情况下获得一个在整个互联网上的有效域名。一个开放的域名注册机制不会对用户注册请求有除了安全因素外的任何限制。在当前互联网中,只有有限的互联网服务器才具备有含义的域名;大部分计算节点只处于访问者的位置,没有域名。随着通信技术以及计算技术的进步,大部分互联网计算节点都拥有大量数据资源、服务以及计算资源,具备被访问能力,并且利用这些条件会改变当前互联网通过有限计算资源模拟复杂网络行为的困境。在大部分计算节点具备被访问能力后,就必须为其分配一个域名来屏蔽有限互联网地址以及动态互联网地址带给计算节点带来的非唯一性,使其通过一个固定域名和互联网上其他节点进行交互。通常域名注册***以及域名管理***和传统互联网的做法没有区别,只是在分配域名时不需要任何人为参与。另外,对于互联网上一些不可访问的节点要通过TCP或者UDP穿透技术来建立其和其他互联网计算节点之间的交互。在这个基础上,任何一个节点在进入***时,都要和域名管理机制联系,取得新域名或者通报自身状态。通常建议用户一直使用同一域名进入***,因为这个域名机制不仅仅是帮助用户和其他计算节点联系,还是用户在动态WWW获得计算资源和智力资源的基础。由于所有计算节点都具备了唯一域名,必须采用适当的集群技术来维护这个域名***。这个域名***是基于中心式结构的注册机制,它对集群的效率有高要求。这个技术现在已经成熟,可以参考相关材料。具体实现步骤如下。
1)布置域名服务器,采用稳定环境下的集群技术维护域名***。由于本发明中所有计算节点都具有各自的域名,导致域名规模增大;需要使用在稳定环境下的集群技术,保证域名服务器能够高效工作。
2)计算设备通过TCP连接访问布置好的域名服务器进行注册。用户可以根据自身意愿选择域名;在没有域名重复的情况下,此域名可以在整个***中立即生效。
3)通过基于TCP的NAT穿透技术实现互联网上任意两台计算设备之间的TCP连接。
4)借助步骤3使计算设备间建立连接,实现任意两个互联网上的计算设备通过域名建立通信。每个进入***的计算设备当需要和另一个已知域名的计算设备建立通信关系时,需要从域名服务器上通过域名获得该设备当前唯一对应的互联网地址,然后借助步骤3与这个设备建立连接。
5)完善计算设备之间的通信方式。为了适应互联网各种应用,在互联网上任意两台计算设备可以建立TCP连接后,为其提供更灵活的通信机制,如字符串发送、文件发送、字节发送和对象发送等。这些数据交换方式为上层建立更复杂的应用提供了基础。上述工作都可以通过基本TCP/IP编程技术来实现。
2.为计算节点自由组合形成的群落提供域名。除了上述为每个计算节点分配一个域名以外,在动态WWW还存在一种特别的域名,即群落域名。这个域名通常包含众多计算节点,即一个群落域名中包含多个普通域名。形成群落域名的原因是直接的,即事实上在这样的大规模互联网***中存在众多经常保持合作的计算节点构成的群落。在运行时,这样的群落从普通用户角度看可以当作一个有具体含义的互联网资源集合。用户可以根据其含义并结合自身的兴趣加入这个集合;当然,必要时用户也可以随时退出这个集合或者在这个集合中保持不同的状态,如活跃或者休眠等。更为开放的是,每个用户还可以根据自身意愿建立这样的集合,并召集其他用户加入达到逐步扩大集合规模的目的。为这样的集合分配一个统一域名,即群落域名。在实际环境中,任意一个节点可以同时处于多个群落域名所代表的资源集合中;并且,群落域名之间会形成层次结构,而非简单的线性结构。这其实体现了动态WWW域名***实际上是由众多域名形成的知识体系;这个知识体系是计算资源和智力资源的统一体。需要着重强调的是,与静态WWW域名注册需要人为审批不同,在动态WWW中无论是计算节点的域名还是群落域名,都是用户可以任意注册并获得的。具体实现步骤如下。
1)任意一个用户建立一个群落域名,并通过***提供的广播手段,通知***中当前计算节点以及域名服务器。域名服务器对这个域名予以注册;当前不处于***中的计算节点可以在登录时获得这个新建群落域名。用户在建立这个新群落域名时,需要考虑新域名和现有域名之间的关系,把新域名放置于恰当的位置,形成反映域名之间关系的层次结构。
2)建立群落域名的用户通常熟悉这个域名代表知识领域或者具备这方面的资源。群落域名创建者可以利用***提供的各种多播手段在群落中发布数据以及其他服务。
3)其他用户在得知新群落域名后,会根据自身兴趣进入群落。在获得群落创建者发布的数据后,用户会根据兴趣决定是否接收、选择还是拒绝。当用户所发布数据和服务受欢迎时,群落规模会逐渐扩大;反之,则逐渐缩小甚至消失。
3.建立由智力资源控制的广泛域名机制。互联网上的智力资源指的是互联网中人通过计算设备对互联网施加的行为以及由此形成的人之间的相互关系。传统的域名机制本质上和动态WWW的域名机制有相同之处,也是为被智力资源控制的计算设备赋予一个域名。在这个域名的支持下,互联网计算资源之间形成了性质不同的互联网服务器;而其性质由控制服务器的智力资源决定。进一步,这些互联网服务器之间并不是彼此孤立存在的:它们之间由超链接作为中介,会形成复杂网络。上述两点在本质上与动态WWW是相同的。不同之处在于动态WWW的域名机制是更加广泛的域名机制。这里“广泛”的含义指的是动态WWW域名机制覆盖所有互联网计算节点,并为这些计算节点的交互建立了更高效的平台,同时形成了更大规模的复杂网络。关于复杂网络的详细解释可参见后面的阐述。可以这么说,动态WWW是对互联网原始诉求的充分实现,是对互联网应用的有效完善。总而言之,这个广泛域名机制实质上是通过计算节点和一个用户即人的直接绑定实现对互联网智力资源的充分利用。具体实现步骤如下。
1)为每个连接于互联网的计算设备分配域名。这个工作前面已经完成。
2)赋予用户控制具有域名的计算设备参与任何计算的权限。用户在进入本***后,可以根据自身意愿在获取各种数据和服务过程中使自己控制的计算资源参与相关计算;任何不能满足用户需求的计算不能无偿占用用户计算资源。
3)在用户控制下的计算设备在获取数据和服务过程中,与其他用户控制的计算设备会形成相互之间关联。由于这些关联完全是在用户根据自身意愿以及其他社会因素形成的,所有这些计算设备之间的关联就构成了复杂网络。
第二步,为新域名机制定义超链接,使得域名之间形成基于数据的关联。在静态WWW中,超链接指的是域名之间的数据关联。这个数据关联在静态WWW当中实质上是基于HTTP协议的远程数据请求;通常这个远程请求是由域名与通信方式(HTTP协议为主)的组合形式来表达。在动态WWW中,不存在这种基于远程数据请求的超链接,原因是动态WWW数据交互主要是一种基于重量级数据的多播机制:一旦一个计算节点上的数据需要和其他计算节点上的数据建立关系,其数据就会借助这个多播机制传输到相关计算节点;无需被动等待被用户或者计算节点发出请求后才完成数据传输。还有一点需要指出的是,静态WWW中域名的数据关联即使导致最终的数据交互,被请求的数据并不是在相关域名所指代的服务器之间传输,而是被传输到发出请求的客户端。可以这样认为,静态WWW中的超链接只是表示域名之间存在有意义相关的数据,但不表示在两个域名之间有直接数据交互;但通过客户端形成间接数据交互是可能的。在动态WWW中则不同,由于根本不存在纯粹的客户端,域名之间的数据关联除了表示数据在含义上相关外,还表示出了域名之间的数据交互关系;并且这个数据交互或者已经发生或者正在进行,不是处于被动等待的相对静止状态。在动态WWW中,当一个用户在通过自己控制的计算节点组织数据并为其他节点提供数据服务时,除了处于本地的数据外,还可以使用超链接关联其他节点上的数据。在发布此数据时,不仅本地数据,各个被关联节点的数据也会被传输到访问者、搜索者以及观看者控制的计算节点上;即使发布者本地节点也会因为这些超链接而获得相关数据。这种机制使数据在意义相关的条件下,直接复制到各个关联节点上,从而使远程数据请求迅速转化为本地数据请求或者接近本地请求,大大提高用户访问效率并加速知识融合。总之,在动态WWW中不存在当前互联网中超链接指向的待请求数据;即使从展示层看有超链接存在,其实质也完全不同了。本质上,动态WWW超链接体现的是计算节点的控制者之间通过特定数据建立的关联特征。通过这种超链接组成的网络,不但可以高效地获得数据,更重要的是可以获得与数据紧密相关的域名;而域名实质就是控制计算节点的人。由于人是数据的智力本源,动态WWW中的超链接要比静态WWW拥有更多可利用的智力资源。数据在人的关系驱动下大量复制实现了数据和人的高度吻合,实现了互联网的本质诉求。比较而言,静态WWW只是在计算模型落后状态下对理想互联网的一种近似模拟,而非真正互联网的本身。具体实现步骤如下:
1.用户控制的计算设备在获得域名后,可以利用域名来表示放置于本计算设备上的数据以及服务。该表示方法采用域名和文件路径组合的方式,形成超链接。由于计算设备可以通过域名在互联网上进行发布、访问和搜索等行为,超链接就成了可以被发布、被访问以及被搜索的数据或服务在互联网上的指代。
2.在***中建立强伸缩性的多播机制,对高质量数据和服务有兴趣的所有计算设备组成计算集群,并在这个集群中共享各自的计算资源。伸缩性指的是***适应规模变动的能力。强伸缩性的***可以在***规模发生大变动时保持***稳定;反之,则被称弱伸缩性***。本***中每个节点可以在满足自身需求的前提下贡献自身控制的计算设备资源。利用这个特性,使对高质量数据和服务有兴趣的所有计算设备组成计算集群,并在这个集群中共享各自的计算资源;从而使得计算集群在规模增加时,仍然由于计算资源总量的增加保持***性能稳定甚至提高。
3.允许用户使用超链接使被发布数据之间建立关联。用户在发布数据之前需要对被发布数据进行创作;在创作的数据中可以通过超链接对本地计算设备以及其他计算设备上的数据进行引用。
4.当发布含有基于超链接的引用数据时,对被发布数据感兴趣的用户在获得非引用数据的同时,也获得引用数据(即超链接数据);这些数据的获得只有先后次序上的差别,而没有性质上的差别。这些数据的获得都是通过步骤2中的多播机制来实现的。本质上,所有数据都是由超链接表示的。多播机制工作时,只是按照特定次序进行。这个次序与超链接之间的层次结构有关;可以采用深度优先【14】,也可以采用广度优先【14】。总之,基于本发明的超链接数据都能够性能稳定地多播至相关计算节点,无需等待用户请求。
5.用户使用数据与数据多播形成异步。当用户接收数据时,不需要关心数据本身的多播机制。由于多播机制性能稳定,除非用户需要接受其他数据,多播将不会停止。这时用户对数据的使用与数据多播没有同步关系,即它们之间是异步关系。当用户使用数据时,由于多播机制的效率有保证,数据已经事先保存于本地;这使得用户使用数据的效率提高,即实现了远程请求向本地请求的转化。
第三步,建立基于动态WWW的数据地址描述。与静态WWW类似,动态WWW中的超链接最终也是指向具体数据。这构成了互联网数据地址描述的基本格式,即通信协议、域名和数据三者的组合。在动态WWW中,通信协议统一使用流式互联网通信协议(关于这个协议可参见本人相关专利)。域名机制则采取前面所述的方式。而数据描述是一种基于重量级异质数据的表达形式。这种数据形式将不同性质的数据组合在一起表示特定的意义。这种形式从本质上看与当前互联网基于HTML格式的数据是一致的。不同之处在于动态WWW中允许传输重量级数据。上述三者构成动态WWW的数据地址描述,在形式上与静态WWW互联网超链接一致。虽然如此,基于动态WWW的数据地址在数据交互方式上与静态WWW完全不同。如前所述,静态WWW数据地址意味着等待用户或者计算设备发出远程请求从而实现数据交互。而在动态WWW当中,数据地址意味着远程数据的本地化:当用户或者计算设备发出请求时,数据已经处于本地或者正在传向本地。具体实现步骤如下。
1.建立基于重量级数据传输协议。这个协议实质是一种多播机制;前面已经提到。
2.完善对重量级数据的描述。重量级数据是由基本数据单元组成的;每个数据单元包括数据描述、数据交互、数据展示以及数据四部分;每个单元表达固定含义;多个这样的单元按照特定层次关系组成一个完整的意义表达。
3.由传输协议、域名以及重量级数据文件名(含文件路径)组成动态WWW数据地址描述。
第四步,依据动态WWW数据地址层次形成的顺序进行传输。无论采用哪种方式创建动态WWW超链接,最终都会导致数据以流网协议规定的方式在互联网中进行传输。对于任何动态WWW支持下的数据来说,数据都表现为动态WWW数据地址的组合:其中本地数据以发布者控制的域名结合相应的数据描述;远程数据则以相应远程域名以及数据描述组成;这些数据地址以本地数据为起始节点,形成层次结构。另外,通信协议也是数据地址的一部分;上述两种数据还包括相同的传输协议。在动态WWW所处的互联网环境中,数据传输是针对群落【10】来进行的。所谓群落指的是由众多用户通过控制其计算节点基于共同兴趣而形成的计算集群。它既是一个计算***,也是一个具有社会属性的群体。当群落中包含数据源节点在内的任何一个节点接收被发布数据时,数据源节点所拥有的数据会首先被传输;在没有用户特别要求的条件下,将从本地数据开始以广度遍历次序进行传输。如果用户对发布顺序有特别规定,传输将按照用户要求的顺序进行传输。由于数据之间的层次关联可能是多重甚至是涵盖范围大,传输会一直进行下去,直至数据源节点用户或者接收用户人为终止才结束。这样的机制在动态WWW普遍存在,无论是在发布、访问、搜索还是观看当中,动态WWW都对这些功能起到了重要支持作用。具体实现步骤如下:
1.建立流网传输协议。流网传输协议主要解决了重量级时序不敏感数据的多播、重量实现敏感数据的多播、重量级轻量级数据混合时的调度策略以及流网对象之间的调度策略等问题。
2.群落的形成和建立。前面提到了群落的建立过程;群落的成立与否最终决定于其中创建人以及其他加入者发布的数据质量。
3.按照用户指定的顺序以流网传输协议的方式,在获得群落内部计算节点的前提下进行多播。多播过程中,由于流网协议对于超链接数据除了顺序差异外等同看待,最终形成基于动态WWW地址之间的关系在群落中的传输。
第五步,建立基于动态WWW域名的自由直接交互方式。本发明打破了通过二分拓扑结构模拟任意两点之间自由联通的落后模式,参见图2。基于二分拓扑结构的互联网本质上是孤立的一对一方式。所谓孤立的一对一方式指的是节点在传输以及具体应用中无法相互协作的运行机制。任何更复杂的交互方式,如一对多、多对一以及多对多都只能通过投入更多计算资源来模拟实现。而在动态WWW的新域名机制下,任何规模的一对多、多对一和多对多交互都可以顺利完成。每个计算节点只需通过域名就可以和任何节点建立连接并形成各种适当的多播拓扑结构,无需额外计算资源进行模拟支持。需要强调一点,动态WWW的情况下,一对一的交互大多只能是轻量级的,这是受制于当前互联网***带宽和底层路由的限制,而不是动态WWW域名机制本身的不足。通常在实际应该中,可以通过人为布置计算资源来弥补小规模交互性能上的缺陷。随着互联网网络层技术的进步,基于动态WWW的自由交互方式性能会更高,轻量级的一对一方式也会逐步得到改进。具体实现步骤如下。
1.实现一对一轻量级数据交互。这个目的容易实现。只要前面提到的任意两个计算节点通过域名建立TCP连接完成,这个目的就达到了。
2.实现一对一重量级数据交互。这个目标在当前互联网环境实现是困难的,尤其是要保证高效的前提下。在动态WWW环境下,可以采用增加额外服务器进行协助的方式来解决。
3.实现一对多轻量级数据交互。这个目标纯粹从效率角度考虑是容易实现的。但考虑到可靠性问题,需要采用增加额外服务器进行协助的方式来进行统一的可靠性维护。由于动态WWW强调重量级数据传输,轻量级数据的传输可以利用重量级传输形成的高效拓扑结构来进行;而不必另行建立其他独立多播拓扑结构。
4.实现一对多重量级数据交互。采用流网传输协议来完成。
5.实现多对一轻量级数据交互。这个目标的实现可以通过把此问题转化为多个一对一轻量级交互即可。需要注意的是,当并发度过大时,应该采取调度策略保证性能以及可靠性。
6.实现多对一重量级数据交互。当众多发布节点数据相同时,这个问题可转化为一对多重量级数据交互。当众多发布节点数据彼此不同时,问题转化为多个一对一重量级交互。这个问题采用增加额外服务器进行协助的方式来解决。
7.实现多对多轻量级数据交互。利用多个多对一轻量级数据交互的方法来实现。
8.实现多对多重量级数据交互。这个问题也是与不同节点上数据相同程度有关。当数据彼此相同时,可利用流网传输协议完成;当数据彼此不同时,增加额外服务器,投入更多的计算资源来完成。
第六步,建立基于动态WWW的复杂网络***。通过事实上域名与人的等价以及超链接在群落关系下的复制,基于动态WWW就形成了一个复杂网络***,参见图3。与基于静态WWW形成的复杂网络不同,这个复杂网络的节点是人控制的计算节点,边或关联是它们之间的数据交互(动态WWW的超链接)。它的具体特点可以归纳如下。第一,基于动态WWW形成的复杂网络规模要远大于静态WWW形成的复杂网络。这个结论的获得是直接的:所有和互联网建立连接的计算设备都可以在动态WWW中获得域名并成为复杂网络中的一个节点。与此对应的是,在静态WWW中只有少数节点才可以拥有这样的域名。第二,基于动态WWW复杂网络的节点表现出高异质性。这里的高异质性指的是从复杂网络的贡献和动态性两个方面来衡量。从贡献的角度看,少数节点对整个复杂网络资源的贡献要大大超过大部分节点,而成为超级节点;其余大部分节点贡献有限,属于普通节点。这个现象对于所有复杂网络来说都是一致的。相对于静态WWW驱动的复杂网络来说,动态WWW对应的复杂网络节点动态性强,即大部分节点在互联网中参与的计算会不断变化,同时会相对频繁进入***和离开***。第三,基于动态WWW复杂网络任意两个节点之间的联系是直接数据交互而非处于等待状态的远程数据请求。所谓直接数据交互实际上是由于动态WWW超链接引发的远程数据本地化。这种情形在静态WWW是不存在的。本质原因是动态WWW打破了当前互联网二分拓扑结构而产生的新结果。第四,在动态WWW中不存在不一致的超链接。由于动态WWW超链接的建立是数据交互,并且这种数据交互或者已经完成或者处于活跃状态,不存在静态WWW中超链接由于数据失效或者修改而出现的不一致。第五,动态WWW驱动的复杂网络中可利用的智力资源要远远多于静态WWW。由于改变了互联网二分拓扑结构,动态WWW无需耗费计算资源模拟复杂的交互过程,相对于静态WWW其中的计算资源大大增加。同时,由于每个节点实际上是人在互联网中社会体系中的映射,人类行为的多样化正好能够直接反映在动态WWW中;这些行为实际就是智力资源的直接体现;所有相关行为都可以构成智力资源的利用。这种情况使得动态WWW中会表现更高的性能、更多的功能以及更强的智能。具体实现步骤如下。
1.赋予用户基于社会因素和自身意愿在***中进行交互的权限。自由交互是保证复杂网络形成的唯一原因。
2.利用流网传输协议辅助节点之间的交互。由于流网协议的强伸缩性,保证了动态WWW的大规模。需要说明的是,在复杂网络的***中,数据的交互或者以轻量级为主,或者以一对多或者极少对多重量级数据的形式出现。这减轻了***应付交互方面的投入。
3.由于计算节点之间自由交互,它们之间的关系完全决定于它们之间的社会属性或者说智力属性。这些关系本身就是智力资源的表现形式。同时因为***规模大,所有节点都由具备独立判断能力的用户控制,导致智力资源的丰富。
具体实施案例
下面给出本发明的具体实施案例。以下描述均为对本发明内容的说明与解释,是为帮助理解本发明之技术内容,而非对本发明的任何限制;任何采用等同替代的技术手段实施本发明的方案均属于本发明权利要求保护范围内。
实施例一,通过动态WWW对数据发布进行支持。
互联网最基本的功能就是发布数据或者服务。在动态WWW支持下,发布由静态WWW中简单放置于服务器被动等待访问变成了直接传送到***控制的计算节点上。这是发布的真正含义;也可以说在动态WWW才具有发布,而静态WWW没有发布。实现真正发布的关键是获得***。这得益于动态WWW驱动形成的复杂网络***。在这个拓扑结构中具有一个关键属性,即聚合性;这就是说,大规模计算节点形成的复杂网络中存在着不同的群落。这些群落是依赖对互联网数据的共同兴趣而形成的:不同意义数据形成各自相应群落。这为发布者提供了最适合的环境:只要在特定群落中进行发布就可以获得期望的发布效果。这恰恰是对动态WWW中智力资源的利用;或者说动态WWW能够为发布者提供发布可能面对的用户群。这个用户群的发现在动态WWW中也是简单的。发布者只要根据群落域名就可以找到自己相应的用户群。一种可能出现的情况是,发布者没有在已有群落域名找到适当的用户群。这时动态WWW可以允许用户自己建立一个群落,并获得相应的群落域名。当然,这个群落必须允许其他节点加入以形成规模。之后,发布者就可以针对这个群落域名进行发布了。还有重要一点,在动态WWW进行发布,发布者可以及时获得发布效果的统计。根据此结果,发布者可以了解自己发布的数据是受到欢迎还是抵制。由此,发布者可以决定发布是否继续进行、改进或者采取其他回应措施。
实施例二,利用动态WWW对数据搜索进行支持。
实质上,动态WWW也可以理解成在互联网上一种人类智能活动通过数据交互在普通域名和群落域名之间而保留下来的历史记录。普通域名和群落域名是数据的源头、中转或者目的地。随着域名之间数据交互的强弱变化,动态WWW超链接描述了数据在域名间的生成、演化和消失。当一个用户在这样的历史记录上搜索数据时,根据动态WWW进行寻找其实就是根据用户以往在互联网上的交互记录进行寻找。这符合具有社会网络性质的规律。这时,动态超链接就是寻找数据的路径;沿着这些路径可以与相关域名代表的计算节点和群落相遇,从而使搜索是在有智能意义的范围内展开。
实施例三,利用动态WWW对数据访问进行支持。
需要指出的是,访问和发布是一个事物的两个方面。发布是访问的前提,访问是发布的目的。当发布开始后,用户才有访问的可能性;没有用户持续的访问,发布也会失去意义。在静态WWW中,由于不存在真正的发布,使得用户获得数据的方式只有通过主动访问。在动态WWW中,访问只是获得数据的一种方式。进一步,访问在动态WWW中以两种形式出现:分别是针对域名和群落名来进行。用户可以通过一个域名访问一个具体计算节点,也可以通过一个群落名来访问整个群落中正在发布的数据。
实施例四,利用动态WWW对数据观看进行支持。
观看本质上是在动态WWW中获得数据或者服务的一种形式之一。之所以在动态WWW中存在观看,是由于动态WWW的特性决定的。从前面的论述可以认识到,在动态WWW中任何超链接表达的是数据在域名间正在进行交互或者已经交互后形成的关联。当用户与某个域名或者群落域名建立了相对固定的超链接关系后,即使不主动进行任何操作,都会获得超链接对应的计算节点或者计算群落中的数据。对最终用户来说,就是观看的效果。可以说,观看只存在于动态WWW当中,在静态WWW是不存在的。当然,观看者本身也不是完全处于被动状态。这也可以在动态WWW的支持下予以解决。观看者可以通过删除、暂时拒绝或者重建超链接关系,就可以改变观看当前状态,从而获得更佳的观看效果。
参考文献:
【1】Tim Berners-Lee,Robert Cailliau;World Wide Web:Proposal for a HyperText Project,http://www.w3.org/Proposal.html,November 12,1990
【2】Tim Berners-Lee;Making a Server,http://www.w3.org/Provider/ServerWriter.html
【3】Renu Tewari;Architecture and Algorithms for Scalable Wide-Area Information System,PhD Dissertation,University of Texas at Austin,1998
【4】Hypertext Transfer Protocol;http://www.w3.org/Protocols/
【5】HTML 4.0Specification;http://www.w3.org/TR/REC-html40-971218/
【6】Bacon J.Bates,J.Hayton,R.Moody;Using Events to Build Distributed Applications, the 2nd International Workshop on Services in Distributed and Networked Environment,1995, Page(s):148-155
【7】Satyanarayanan M.,Mullender S.;Distributed Systems,an Advanced Course,2ndEdition,Wokingham:ACM Press/Addison-Wesley,1989
【8】Douglas E.Comer;Internetworking with TCP/IP-Principles,Protocols and Architecture,ISBN 86-7991-142-9
【9】Douglas B.West;Introduction to Graph Theory,Prentice Hall,2nd Edition, September,2000,ISBN-10:0130144002
【10】Newman M E J.;The Structure and Function of Complex Networks,SIAM Review, 2003,45,Page(s):167-256
【11】Sergey Brin,Lawrence Page;The Anatomy of a Large-Scale Hypertextual Web Search Engine,Proceedings of the Seventh International Conference on World Wide Web 7, Page(s):107-117
【12】Rosenberg J.,et al;STUN-Simple Traversal of User Datagram Protocol(UDP) Through Network Address Translators(NATs);RFC 3489,March 2003
【13】Obraczka,K.;Multicast Transport Protocols:a Survey and Taxonomy, Communication Magazine,IEEE,Volume 36,Issue 1,Jan.1998Page(s):94-102
【14】Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest;Introduction toAlgorithms,MIT Press,2nd Edition,ISBN-10:0262032937