CN1159858A - 规模可以改变的分布式计算环境 - Google Patents

规模可以改变的分布式计算环境 Download PDF

Info

Publication number
CN1159858A
CN1159858A CN95195435A CN95195435A CN1159858A CN 1159858 A CN1159858 A CN 1159858A CN 95195435 A CN95195435 A CN 95195435A CN 95195435 A CN95195435 A CN 95195435A CN 1159858 A CN1159858 A CN 1159858A
Authority
CN
China
Prior art keywords
node
children
message
parents
role
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN95195435A
Other languages
English (en)
Inventor
丹尼尔·P·格雷格森
戴维·R·法雷利
苏尼尔·S·盖顿迪
拉廷蒂·P·阿胡贾
克里什·罗摩克里希纳恩
穆罕默德·沙菲克
扬·F·沃利斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peerlogic Inc
Original Assignee
Peerlogic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peerlogic Inc filed Critical Peerlogic Inc
Publication of CN1159858A publication Critical patent/CN1159858A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1305Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13107Control equipment for a part of the connection, distributed control, co-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13141Hunting for free outlet, circuit or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13204Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13353Routing table, map memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13383Hierarchy of switches, main and subexchange, e.g. satellite exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13388Saturation signaling systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及分布式计算系统,更具体地涉及规模可变的分布计算环境的体系结构与实现,它提供单一网络或互联网络上独立操作的节点之间的通信,它可以是同种的也可以是异种的。本发明为一动态、对称、分布式、实时、对等层对对等层系统,包括共同构成一棵逻辑树的任意数目的相同(语义上等价)的实例,即核。这些核通过网络的自配置与自维护逻辑视图在运行时呈现统一与相符的性能。各核位于具有一个或多外与之关联的资源的网络节点上。这些核动态实时地相互定位以构成与维护一个支持实际上不受限制的数目的独立运行的核层次结构。本系统维护其网络的逻辑视图与用户开发的程序资源而与传送协议的数目与组合及物理拓扑的基层混合无关。系统的通信服务利用动态桥接在可能不共用公共传送协议栈的端节点之间通信,从而允许位于不同的栈上的应用自动与透明地互相通信。

Description

规模可以改变的分布式计算环境
本发明涉及分布式计算系统,更具体地针对一种使便于在单一网络或互连网络上的独立操作节点之间进行通信的同类型或不同类型的规模可以改变的分布式计算环境的体系结构与实现。
在当今的商业环境中,由于兼并与收购、全球化及与客户、供应商与金融机构的实时通信的需求的变迁与发展,联合结构正在快速重组。此外,在建立与保持竞争优势方面,对信息的快速访问及对信息的快速处理的要求已成为关键性的。这便要求以全新的方式来配置联合数据及处理这些数据的计算机程序;以分布方式而不是集中的整体的方式。
对于分布式计算,程序与数据是逻辑地定位的,从而对于与它们交互作用的用户,它们能被就近处理。理论上,通过减少通信开销及利用个人、集体与部门计算资源的未充分利用的处理能力而使公司更可靠与有效地工作。通过将工作负荷分布在许多计算机上,能为给定的个人、工作组或目的优化信息处理资源。这一方法允许分布与复制数据与进程,从而在系统的需要增加时更容易保持性能与可靠性。提高粒度及规模可变性这一特征还提供涉及软件可重复利用的重大优点,即同一部分可在若干不同应用中使用,从而降低开发及维护时间与成本。
由于这些需求,存在着面向全体企事业单位的虚拟计算的趋势,其中网络的全部资源对用户呈现为本地驻留在他或她的桌面计算机或终端上的。传统的整体式集中联合信息处理模型正在向分布式细粒方法让步。这一向虚拟动态企业计算的转变要求采用分布式体系结构来实现对任务关键的核心系统,在分布式体系结构中本地化计算资源(程序单元与数据)是用虚拟网络无缝地互相链接的。
然而,在当今的联合信息系统中,独立的应用通常存在在互不协作的不同环境中。企业面对着连接不兼容的系统同时在广阔的地理区域上保持不同操作系统与网络协议的数目不断增长的任务。团体合并与兼并又在兴起,对将已装设的不同网络集成为一个单一的全企事业网的需求不是一次而是多次地提出。再者,许多公司已成为全球实体而它们的信息系统现在必须在多个时区上工作,而要求这些系统是“与时间无关的”。再者,随着这些公司本身的动态转变,支持它们的商业操作的信息系统也是如此。从而,联合计算环境必须是“开放的”,即它必须充分灵活以便容易地迁移到新的标准同时保持完整性及对其现有的“遗产”系统与数据的访问。遗产系统通常依靠静态表的使用来保持与连网的资源的接触。这些系统不支持动态恢复并且不能容易地将其规模扩展成在全体企业上展开的,因为在不断变化的环境中维护这些表需要极高的开销。
在现有系统中,为了使连网的一个资源发现另一资源的存在,两者都必须是“活的”。随着连网的资源总数的膨胀,具有一个与时间无关的资源发现机构并借此使网络自动地在新资源成为可利用时知道它们便变得极为重要。
现有系统还受到由任何节点能担任的诸如机器、区域、组群、地域、网络等角色或层次级的固定数据目的可获得性的限制。这一限制在合并或汇集两个或更多具有不同层次结构的现有网络时产生严重的问题。此外,在先有技术系统中,如果一个节点担任多种角色,这些角色之间的关系是规定的。这便是,为了在级1(如机器)与级3(如组群管理员)上工作,该节点还必须担任级2的功能(如区域管理员)。这一限制能严重地降低系统性能与恢复。
诸如实时通知、报文排队、远程过程调用、进程间通信以及广播/发布与预定等解决与建立坚固的高效全体企业计算环境相关的问题的原有努力至多只表示部分解决方案。因为真正的分布式计算必须有对等层对对等层通信(由于主进程故障必定导致从进程故障),实现企业计算目标的基于客户服务器的方法只代表次最佳解决方案。利用静态表的现有对等层对对等层系统并不允许动态恢复,并在规模可变性及维护上存在严重问题。
本发明为一种动态的、对称的、分布式、实时、对等层对对等层系统,包括共同构成一个逻辑树的任意数目的相同(语义上等价的)实例,即核。这些核在通过一个自配置及自维护的网络逻辑视图的运行时间上呈现统一的与相符的性能。各核位于具有一种或多种与之关联的资源的网络节点上。这些核动态地实时互相定位以构成与维护支持虚拟的无限数量的独立运行的核的分层结构。本系统不管传送协议的数目与组合及物理拓扑的底层混合始终保持其网络的逻辑视图及用户开发的程序资源。本系统的通信服务利用动态范围桥接在不能共享公共的传送协议栈的端节点之间通信,借此允许位于不同栈上的应用自动与透明地互相通信。
本系统设计成支持包含话音、声音、静止与活动图象、大型文件传送、传统的事务处理及诸如“群件”(“groupware”)应用所需要的任何人对任何人会议在内的一切形式的数字化通信。本系统还设计成在任何类型的网络协议与媒体上操作其中包含ISDN、X.25、TCP/IP、SNA、APPC、ATM等。在所有情况中,本系统提供基层媒体的高百分比,通常为60-95%,的理论传输容量,即带宽。
当新资源参加(或重新参加)网络时,位于各节点上的核并从而连接在该节点上的各种资源便自动与立即成为使用本系统的所有应用可以访问的。任何节点在使用的管理层(诸如区域管理员、地域管理员、网络管理员等)内所担任的的角色是任意的,即任何节点都可在层内担任一种或多种角色,并且担任一种角色既不要求也不排除担任任何其它角色。再者,角色根据网络的要求,即在一个或多个节点进入或离开网络时,动态地改变。从而,单个的核动态地互相定位及协商相关节点在管理网络层中所扮演的角色,而不考虑它们的物理位置。此外,任何节点可以担任的可能角色或级别的数目是不受限制的,并可根据网络环境的具体要求选择。
通过参阅下面结合附图的较佳实施例的详细描述将会更好更全面地理解本发明的上述与其它特征与优点,其中:
图1为展示按照本发明的分布式计算系统的图。
图2为图1的系统中的节点之一的详细框图。
图3为展示按照本发明的核的结构的框图。
图4为本发明的PIPES逻辑网络(PLN)的流程图。
图5为按照本发明的子女注册过程的流程图。
图6为按照本发明的双亲注册过程的流程图。
图7为展示按照本发明的不同节点之间的注册通信的图。
图8为按照本发明的角色调用过程的流程图。
图9为展示按照本发明的不同节点之间的角色调用通信的图。
图10为按照本发明的子女监视过程的流程图。
图11为按照本发明的双亲监视过程的流程图。
图12为展示按照本发明的不同节点之间的“心博”监视通信的图。
图13为按照本发明的选举进程的流程图。
图14为展示按照本发明的不同节点之间的选举通信的图。
图15为按照本发明的注销进程的流程图。
图16为展示按照本发明的不同节点之间的注销通信的图。
图17为展示关于本发明的资源的活动的图。
图18为按照本发明的“增加资源”进程的流程图。
图19为按照本发明的“寻找资源”进程的流程图。
图20为本发明的区域管理员节点上的“寻找资源”进程的流程图。
图21为按照本发明在区域管理员以上级别上的“寻找资源”进程的流程图。
图22为在本发明的区域管理员节点上的“持续寻找”进程的流程图。
图23为按照本发明在区域管员以上级别上的“持续寻找”进程的流程图。
图24为本发明的区域管理员节点上的“清除持续寻找”进程的流程图。
图25为按照本发明在区域管理员以上级别上的“清除持续寻找”进程的流程图。
图26为按照本发明的在区域管理员故障时的“资源恢复”进程的流程图。
图27为按照本发明在另一管理节点故障时的“资源恢复”进程的流程图。
图28为按照本发明的“清除资源”进程的流程图。
图29A展示本发明的上下文桥接的组成部分。
图29B为说明上下文桥接在不同协议之间通信中的使用的实例。
图30为展示按照本发明的上下文桥接路由进程的流程图。
图31为按照本发明的“路由发现”进程的流程图。
图32为按照本发明的“路由证实”进程的流程图。
图33为按照本发明的“路由广告”进程的流程图。
图34为展示本发明的PIPES逻辑网络中的级别数目改变中执行的步骤的流程图。
图1示出按照本发明的分布式计算系统100。本申请的受让人的系统100的实现称作PIPES平台(“PIPES”)。在系统100中,两个节点,节点1(示出为框1)与节点2(示出为框2),通过一条网络连接线(示出为线27)通信。对于熟悉本技术的人员显而易见连接在网络27上的节点数目不限于两个。
这些节点的结构基本上是相同的。从而只详细描述了节点之一,诸如节点1。三个应用,应用A(示出为框2)、应用B(示出为框3)及应用C(示出为框4),在节点1上运行。这些应用通常是由应用开发者编写以在PIPES上运行的。PIPES软件包含用于与应用A-C通信的一具PIPES应用程序员界面(“PAPI”)(示出为框6)。PAPI6通过进程间通信(IPC)功能调用(示出为框7)发送报文给在节点1上执行的单个PIPES核(示出为框9)。核9通过传送装置驱动器TD1(示出为框11)、TD2(示出为框12)与TD3(示出为框13)在网络27上发送与接收报文。
类似地,节点2具有三个应用在其上运行,应用X(示出为框15)、应用Y(示出为框16)与应用Z(示出为框17),并通过PAPI(示出为框18)与IPC(示出为框19)与在节点2上运行的一个单个PIPES核(示出为框21)通信。节点2支持三种不同的网络协议,从而包含三个传送驱动器TD3(示出为框24)、TD4(示出为框25)及TD5(示出为框26)。
例如,如果节点1上的应用A要求与节点2上的应用Z通信,便从应用A通过PAPI6、IPC7及核9发出一则报文。核9利用其传送驱动器TD3在网络27上将报文发送到节点2上的传送驱动器TD3。然后将报文传递给节点2上的核21、IPC19、PAPI18并最终到应用Z。
PIPES还提供其所有部件使用的通用服务。网络管理服务(示出为框10与20)提供PIPES网络管理代理人(未示出)的访问来监视核的网络与系统级计数器、属性及统计。通用服务(示出为框8与22)提供核9与21对操作系统服务的一个通用界面,这些服务中包含散列、b树、地址处理、缓冲器管理、排队管理、登录、定时器及任务调度。依赖于系统的服务(示出为框5与23),提供对节点上的操作系统、平台、环境与传送专用的服务。通用服务(示出为框8与22)利用这些服务在给定的操作系统或平台环境内实现通用服务。
图2示出系统100的节点1内的PIPES内部结构的更详细的框图。PIPES结构分成三个不同的层:界面层(示出为框28)、核心层(示出为框29)与传送层(示出为框30)。界面层28处理来自与应答正在通过PAPI6访问PIPES环境的应用的查询。界面层28是以链接在访问核9的各应用(诸如应用A-C)的库实施的。核心层29向正的访问PIPES的应用提供程序资源与通信管理服务,允许不共用一个传送协议栈的端节点之间的通信。传送层30包含节点1支持的网络协议的传送装置驱动器11、12与13。各传送驱动器提供从核9对其它供应商提供的网络传送协议,诸如TCP/IP、SNA、IPX或DLC,的访问。传送层30为给定的传送规定处理给定的平台上的传送专用的API发布。
图3示出核9的内部结构。该9包含一个API界面(示出为框31),这是对图2的PAPI6的界面。API界面31处理来自界面层28的请求并返回对这些请求的应答。它识别应用的优先级并根据这一优先级排队应用的报文。API界面31还处理来自资源层(示出为框32)及对话服务(示出为框35)的应答,并确定这些应答的路由到适当的应用上。
资源层32登记PIPES逻辑网络(“PLN”)层(示出为框33)内的应用的资源,提供寻找PIPES内其它PAPI资源的能力,以及处理网络内资源的注销。此外,资源层32实现“坚持寻找”能力,它启动尚未登记在PLN33中的资源的定位。
PLN33维护PIPES内的节点的逻辑的层次关系来强加一个动态管理框架。PLN33处理管理员选举,作为物理网络故障的后果的管理层次的透明重建。PLN33利用“心博”报文系统来监视网络内节点的状态及识别网络故障,这一层还处理请求及返回应答给资源层32与确认的数据报服务(“AKDG”,示出为框34)。
AKDG34在故障时用重新发送来为用户提供最大努力的数据报服务。AKDG34通过无线报文传送服务(CLMS)36与对话服务35处理报文发送与接收。
对话服务35为用户分配、管理与重新分配对话。对话管理包括按顺序发送与接收用户发送的数据、保证对话的安全使用及在面向连接的报文传送服务(COMS)流协议上保持报文语义。对话服务35还在PAPI应用拥有的对话上多信道广播PAPI应用报文。对话服务35与COMS37交互作用来满足来自AKDG34与API界面31的请求。
CLMS36传送没有投送保证的数据。它也与上下文桥接层38交互作用来满足来自AKDG34的请求。
COMS37管理对话服务35打开的连接。COMS37提供高性能数据传送,包括为用户分段与重组报文。COMS37根据连接端点之间的接力段的最大报文长度修正报文长度。
上下文桥接层38通过在多个网络传送上执行动态传送协议映射将PAPI应用与基层网络隔绝,从而即使在端对端协议不同时也能启动数据传送。
传送驱动器界面(示出为框39)处理传送专用驱动器与CLMS36及COMS37层之间的通信。这一界面中包含所有传送驱动器的通用公共码。PLN层
PLN33是系统管理员强加在一组执行核的机器上的一种分层结构。这些核在运行时间统一形成一个带管理该层次结构的给定的级的动态选举的管理员的分层网络。PLN各空间分成五个不同的级:正常、区域、组群、地域及网络。起动时所有核都具有正常特权。它们取决于它们在网络中的配置及诸如已担任的角色的数目等实时考虑而担任管理角色。从而,将管理功能平均分布在成员核中间,而导致更好的性能与较快的恢复。应理解级的数目不限于5种,本系统中能实现任何数目的级,如下面说明的。
在PLN33中,网络管理员与区域管理员之间的各种管理员(诸如地域管理员与组群管理员)所扮演的主要角色基本上是相同的:保持与其双亲及子女的通信,以及确定资源层32通信量的路由。除了这些功能之外,网络管理员与区域管理员之间的任何管理员(诸如地域或组群)还提供坚持寻找源高速缓冲存储服务,如下面结合图22与23描述的。除了上述这些功能之外,区域管理员还提供其子女广告的资源的高速缓冲存储服务,其子女中包括该区域管理员的各空间中的所有核。因此,区域管理员对于PLN33的有秩序的工作起决定性作用,PLN是通过在分层结构中任何其他角色之前填补区域管理员角色的基础上建立起来的。通过系统设定,任何核都能成为区域管理员。
如图4中所示,PLN建立与维护算法包括五个主进程:注册(示出为框100)、角色调用(示出为框200)、监视(示出为框300)、选举(示出为框400)、及注销(示出为框500)。在这一说明中,为了能够适当抽象而采用下述名词。PLN33中的级数是用Minlevel与Maxlevel定义的。具有正常特权的核是配置在Minlevel上而不在管理员级上的。反之作为网络管理员的一个核是配置在Maxlevel上并具有成为网络的根的潜力。配置参数Max Status在该核能成为管理员的最高级别上施加一个上限。级n上的核称作级n+1上其双亲的子女,假定这两个核在级n以上具有相同的名。注册
图5与6描述在PLN33中的子女与双亲节点上执行的注册过程。注册是子女核用双亲核来定位与登记的进程。图7说明在节点N7(示出为圆圈37并称作核N7)中的核运行该注册进程来进入网络的注册进程的假想执行期间核之间所传递的报文。
一个核通过运行注册进程来定位其双亲核而进入网络。子女核首先进入等待时段(步骤101),在其中该子女收听网络上其它注册广播(步骤102)。如果在等待时段中接收到注册广播(步骤103),子女核便读取报文。报文中的信息足以使该子女确定其双亲与兄弟姐妹的身份。如果报文的始发者为兄弟姐妹(步骤104),为了防止注册广播淹没网络,子女核修改其等待时段间隔(步骤105)。如果报文的始发者为双亲(步骤106),该子女核便发送一个注册请求给双亲(步骤107)并等待确认。如果未接收到注册广播,子女核继续收听注册广播直到等待时段结束为止(步骤108)。等待时段结束时,子女核在网络上发送一个注册广播(步骤109)。
图7中,核N7通过发送一则注册广播报文(用虚线a表示)到节点N1中的核(用圆圈31表示并称作核N1)、节点N2中的核(用圆圈32表示并称作核N2)、节点N3中的核(用圆圈33表示并称作核N3)、节点4中的核(用圆圈34表示并称作核N4)、节点N5中的核(用圆圈35表示并称作核N5)及节点N6中的核(用圆圈36表示并称作核N6)来试图注册到PIPES网络上。该子女核等待一个规定的时间来接收注册确认(步骤110)。
所有的核都在网络上收听注册广播报文(步骤116)。如果接收到一则注册广播(步骤117),双亲核判定发送该报文的核是否为其子女(步骤118)。如果始发核不是其子女,双亲核继续收听注册广播(步骤116)。然而,如果始发核是其子女,双亲检验该核是否为双重子女(步骤11)。如果是双重子女,双亲通知其双重子女角色冲突(步骤120)。如果否,双亲便发送一个注册确认给其子女核(步骤121)。
图7中,双亲核N4收到核N7的注册广播报文a,并发送一则用线b表示的注册确认报文给核N7。
如果接收到注册确认(步骤110),子女核便发送一个注册证实给发送注册确认的第一个双亲核(步骤114)。子女核忽略它可能收到的任何其它注册确认。发送了注册证实给其双亲之后,该子女核便开始与其新双亲的监视进程(步骤115)。如果双亲核收到注册证实(步骤122),双亲核便登记该子女(步骤123)并开始与其新子女的监视进程(步骤124)。如果双亲核未收到来自子女的注册证实(步骤122),双亲核便继续收听注册广播(步骤116)。
图7中,接收到双亲核N4的注册确认b之后,子女核N7便发送一个用线C表示的注册证实报文给核N4并开始与其双亲核N4的监视进程。
如果没有双亲核发送注册确认给子女,除非已经超过了再试阈值(步骤111),子女核再一次开始注册进程(步骤101)。如果已经超过了再试阈值,子女检验其Max Status设定值(步骤112)。如果子女的Max Status大于Minlevel,该子女便开始角色调用进程来担任其自己的双亲的角色。否则,子女核再一次进入注册等待周期(步骤101)。角色调用
角色调用是一个核用来查询网络以寻找出名空间层次结构中的空缺的过程。该过程由已配置了具有大于Minlevel的Max Status的所有的核执行的。角色调用过程由核在启动时及随后在其名空间中存在管理空缺时调用。角色调用算法设计成使同时参加角色调用进程的核的数目最小,减少全网络广播以及同一空缺的潜在竞争者之间的可能冲突。
角色调用过程示出在图8中。想要参加角色调用的一个核通过一个强制的等待时段(步骤201)。等待时段是该核已经担任的角色的数目、该核是否一个活跃的上下文桥接及该核的当前状态的函数。还将一个随机等待间隔加在公式上。
在等待时段中,核收听来自其它核的角色调用(步骤202)。如果收到相同层次级的角色调用广播(步骤203),该核便放弃角色调用过程(步骤204)。如果未收到角色调用广播,该核继续收听角色调用广播(步骤202)直到等待时段结束(步骤205)。等待时段结束时,核在网络上发送其本身的色色调用广播(步骤206)。广播报文中包含所请求的角色调用的层次级。发送了角色调用广播之后,该核起动一个定时器(步骤207)并在网络上收听角争调用广播(步骤208)。作为请求的角色调用的名空间的管理员的核将用点对点角色调用确认报文来应答。如果发动角色调用的核收到这一确认(步骤209),该核将放弃角色调用过程(步骤204)。如果发动角色调用的核接收到同一层次级的另一个角色调用广播(步骤210),该核读取这一报文。如果报文的始发者具有更高的凭证(步骤211),该核将放弃角色调用过程(步骤204)。特定的核的凭证为该核已担任角色的数目、该核是否是一个活跃的上下文桥接及该核的当前状态的函数。在暂停时段结束时(步骤212),该核便担任它请求角色调用的空缺管理角色(步骤213)。
图9描述角色调用过程的一个实例。用圆圈44表示的核N4由于物理连接问题而成为从网络上孤立的。用圆圈47表示的核N7作为与其双亲N4的监视进程(下面详细描述)的结果检测到核N4的缺席。核N7进入强制等待时段并收听网络上的角色调用广播通信量。如果用圆圈45表示的核N5已在核N7之前起动了其角色调用进程,核N7在收到用虚线i表示的核N5的角色调用广播报文之后便中止其角色调用。然而,假定核N7先启动其角色调用,在角色调用等待时段结束时核N7发送出用虚线n表示的广播报文。
如果核N5在核N7已经这样做之后发出其自己的角色调用广播报文,核N7将其凭证与核N5的比较。如果核N5的凭证较高,核N7放弃角色调用而核N5担任由核N4的消失留下空缺的管理角色。如果核N7的凭证较高,核N5放弃角色调用而核N7在暂停时段结束时担任核N4的空缺管理角色。
如果N4重新出现在网络上并接收到了核N5的广播报文i或核N7的广播报文h,核N4便用发送一则用线j表示的确认报文给核N5或用线k表示的确认报文给核N7。如果核N4未重新出现在网络上,核N5与核N7继续它们的角色要求进程。监视
图10与11描述子女与双亲监视进程,它用于互相保持接触。
双亲具有设定在所有它的子女的最低心博间隔上的本身的“心博”定时器。在监视进程开始时,双亲初始复位其心博定时器(步骤312)并收听来自其子女的心博报文(步骤313)。与其双亲参加监视进程的子女首先发送一个心博报文到其双亲(步骤301)并等待确认。如果双亲收到心博报文(步骤314),双亲将发送一个心博确认给该子女(步骤315)并在其子女表中检验该子女(步骤316)。确认报文中包含一个心博偏移值以在其子女间散布心博间隔。如果该子女收到心博确认(步骤302),该子女便修正其心博间隔(步骤306)并进入等待时段(步骤307)。如果在这一时间上收到心博确认(步骤304),则该子女修正其心博间隔(步骤306)并进入等待时段(步骤307)。如果该子女仍未收到心博确认,该子女假定它已成为孤儿而起动注册进程(步骤305)。
当双亲的心博定时器到时时(步骤317),该双亲在其子女表中检验缺少的心博报文(步骤318)。如果双亲检测到缺少的心博,该双亲发送心博报文给该缺失的子女(步骤319)。如果该双亲没有收到来自缺失的子女的心博确认(步骤320),该双亲便注销这一子女(步骤321)。
在其等待时段中(步骤307),子女收听来自其双亲的心博报文(步骤308)。如果子女收到心博报文(步骤309),该子女发送一个心博确认给其双亲(步骤310),修正其心博间隔(步骤306)并再度进入等待时段(步骤307)。等待时段结束时(步骤311),子女再一次起动监视进程(步骤301)。
图12示出在监视进程中双亲与子女之间传递的周期性报到报文或“心博”。图12中,核N3与N4(分别用圆圈53与54表示)为核N2(用圆圈52表示)的子女。核N2又依次为核N1(用圆圈51表示)的子女。报文d1至d3表示从子女到双亲的心博报文,而报文e1至e3表示双亲到子女的心博确认。报文f1于f3表示从双亲到子女的心博报文,而报文g1至g3表示从子女到双亲的心博确认。选举
发生角色冲突时,PIPES核进行分布式选举(图13)来确定获胜者。当在基层物理连接中存在导致网络分裂的问题时,两个或更多管理员可能要求同一名空间上的管理职能。名空间中的冲突主要是通过上述角色要求或注册广播之一检测到的。当一个核检测到名空间冲突时,它将通知负责人,后者便执行选举进程。新的参加者可以参加已在进行中的选举。因为选举完全是分布式的,各核独立地进行选举并得出结果。
当一个核检测到角色冲突或接收角色冲突的通知时,该核便通过启动选举定时器及打开选举数据库来起动选举进程(步骤401)。该核存储到目前为止已知的选举参加者,并向各参加者发送选举请求(步骤402)。这一报文中包括所有已知的参加选举的核。然后该核收听网络上的任何选举通信量(步骤403)。如果该核收到包含已知参加者的表的选举应答(步骤404),该核便将任何新的选举参加者存储在数据库中并发送给各人一个选举请求(步骤402)。如果收到另一选举请求(步骤405),该核发送一个选举应答给始发者(步骤406),更新选举数据库,并发送选举请求给新参加者(步骤402)。在选举定时器到时时(步骤407),该核查询其选举数据库来确定获胜者(步骤408)。一次选举的获胜者取决于各参加的核已担任的角色的数目、参加的核是否活跃的上下文桥接及各核的当前状态。如果该核是选举的获胜者(步骤409),该核便发送选举结果报文给所有选举参加者(步骤410)。如果该核选举失败,该核便辞去其作为管理员的职位(步骤411),将它们的新双亲通知其所有子女。所有选举参加者验证选举结果并最终关闭它们的选择数据库(步骤412)。
图14说明选举进程的一个实例。假定核A与B(分别用圆61与62表示)已独立检测到角色冲突。核A将发送一个选举请求报文(箭头L)给核B。这一报文中将包含核A已知的参加者,在这一点上正好是核A与B。当核B收到这一报文时,核B将一个选举应答报文发送给核A(箭头m)。此后,核C检测到与核B的角色冲突。这时核C将发送一个选举请求报文(箭头n)给核B。核B将用新加入的核C更新其选举数据库并送回一个选举应答报文(箭头o)给核C。这一报文中将包含这一点上核B已知的选举参加者,即核A、B与C。当C收到这一报文时,它检测到新的竞争对手核A,更新其选举数据库,并发送一个选举请求报文(箭头p)给核A。在这一点上,核A将知道新的竞争对手(从其观察),用核C的赁证更新其数据库,并回答核C的请求(箭头q)。以相同的方式,当只知核A的核D进入选举时,它将立即知道核B与C。注销
注销(图15与16)为核用来从其双亲注销的过程。注销可以作为核关闭逻辑的一部分或作为辞去作为层次的特定级别的管理员的结果来启动。一个子女核(示出为图16中的核N2)发送一个注销请求(用箭头x表示)给其双亲,在图16中示出为核N1(步骤501)。当双亲收到来自其子女的注销请求时(步骤506),它便发送一个注销确认(图16中示出为箭头y)给该子女(步骤507)并注销该子女(步骤508)。如果该子女为管理员(步骤503),该子女将发送报文(在图16中用报文Z1至Z3表示)通知其所有子女(即图16中的核N3、N4与N5)它不再是它们的双亲(步骤504)。此外,双亲核将通过指定它在其子女上执行的选举进程的获胜者而在其子女中指定一个接班人(步骤505)。资源层
资源层(图3中框32)负责管理分布在整个PIPES网络层次上的所有资源。资源是使网络上其它节点上执行的其它PIPES应用可以利用的一个PIPES的功能子集。可将PIPES资源想象为严格定义的服务元素,其中当将一个或多个元素作为整体考虑时,它们便组合成一个完整的服务。
图17描述PIPES中的资源的生命周期。一个资源通过增加资源进程(框600)进入网络。为了利用一个资源所提供的服务,应用必须执行寻找资源进程(框700)来确定其在PIPES地址空间内的位置。例如,在执行寻找查询及得到一个可利用的资源的地址之后,应用可以通过对话服务35试图建立与该资源的对话。
如果在应用执行寻找查询时不能得到资源,该应用可替代执行坚持寻找查询,它在一个符合搜索标准的资源通过增加资源进程进入网络时将会立即通知应用资源的可利用性。在这一情况中,PIPES的区域管理员保持高速缓冲存储未决的坚持寻找查询以便立即响应这一查询。如果通过物理网络故障一个区域管理员要从PIPES层次的其余部分上断开,便利用恢复机制(框800)在接替断开的管理员的职责的新的区域管理员上重建坚持寻找高速缓冲存储器。
在其网络上的生命期间,可利用资源向网络上的应用提供服务。如果拥有该资源的应用将该资源从网络上取走,资源层便执行消除资源进程(框900)。增加资源进程
图18说明用来将应用的资源引导进PLN33中的增加资源进程。资源的始发节点首先检验其本地资源数据库来判定带有相同名称的资源是否已经存在(步骤601)。如果是存在这一资源,始发节点返回一个出错给用户应用(步骤602)。如果不存在该资源,始发节点在其本地数据库中为该资源增加一个项目(步骤603)。然后该资源检验其坚持寻找查询高速缓冲存储器来判定正在该节点上执行的应用是否正在等待资源(步骤604)。如果新资源与坚持寻找高速缓产中存储器中的任何搜索标准匹配,则始发节点将新资源的属性发送给启动坚持寻找查询的始发用户的应用(步骤605)。这时始发节点从高速缓冲存储器中消除搜索标准与新资源匹配的坚持寻找查询(步骤606)。如果新消除的坚持寻找查询的范围大于机器级(步骤607)则始发节上点发送一个清除坚持寻找查询到其双亲节点(步骤608)。在坚持寻找处理结束时,或者如果没有新资源匹配的坚持寻找查询,始发节点发送一个增加资源请求到其双亲区域管理员(步骤609)。
如果区域管理员收到来自其子女之一的一个增加资源请求(步骤610),该区域管理员便将该资源增加到其本身的独立资源高速缓冲存储器中(步骤611)。然后区域管理员检验其本身的坚持寻找高速缓冲存储器来判定这一新资源是否与高速缓冲存储器中任何查询标准匹配(步骤612)。如果是,区域管理员发送这一资源的属性给始发坚持寻找查询的节点(步骤613)并从其坚持寻找高速缓冲存储器中清除该查询(步骤614)如果查询范围大于区域级(步骤615),则区域管理员发送一个清除支持寻找查询给其双亲组群管理员(步骤616)。寻找资源进程
在PLN33内搜索资源的应用可为它发送给PIPES核的寻找查询指定三种不同选择之一:寻找、寻找下一个或坚持寻找。寻找查询将在本地机器上开始搜索资源,如果在机器级上找不到资源便移到区域级上,以此类推直到PIPES网络层次。如果在一个特定级上找到资源,便将该资源的属性发送到请求资源的应用。如果应用稍后发布寻找下在个查询,便从PIPES层次内前一搜索停止处继续搜索。
如果用户发布一个坚持寻找查询,始发节点首先将其转换成正常寻找查询,它象任何其它寻找查询一样通过网络。如果将任何资源返回给该用户,则寻找查询不在网络内继续进行;然而如果在PIPES层次内未找到资源,则将坚持寻找查询存储在PIPES层次内的区域管理员的坚持寻找高速缓冲存储器中。
图19描述在始发节点上执行的寻找资源进程。如果启动了寻找或坚持寻找查询,始发节点便清除用作缓冲器的资源高速缓冲存储器来存储满足该查询的搜索标准的资源属性(步骤701)。由于寻找查询是完全由该查询的始发者调整的,而且在任何中间节点上不维护状态,各查询数据包必须携带充分的信息使中间节点能进行它们的搜索。最重要的信息中的一些为始发节点在网络内的位置、始发节点要求的最大匹配数(Max Matches)、已返回给始发节点的当前匹配数(Curr Matches)、搜索范围(Scope)、最后进行搜索的级别(Level)、以及在该级别是最后搜索的状态(Level Status)。当以寻找查询或坚持寻找查询开始搜索时,始发节点初始化这些变量中的一些以在机器级上开始搜索(步骤702)。由于寻找下一个查询是设计成在前一搜索停止处开始下一个搜索的,寻找下一个查询导致始发节点跳过这些初始化步骤。
始发节点将Curr Matches与Max Matches进行比较来判定用户是否已收到它所要求的最大数目的匹配(步骤703)。如果Curr Matches不等于Max Matches(Curr Matches永远不能超过Max Matches),则始发节点检验其资源来判明是否还有任何更多的可利用资源可以返回给该用户(步骤704)。由于虽然分布式寻找查询可能返回一个以上的资源给始发节点,但始发节点是一次一个地返回资源给用户的,所以在本地高速缓冲存储器中可能剩有资源。如果在本地高速缓冲存储器中剩有资源,始发节点将第一个资源返回给用户(步骤705)。如果资源高速缓冲存储器是空的,始发节点检验Level Status来判定最后搜索停止的地方(步骤707)。如果在该级别上没有可利用的资源,便将Level Status设置成EOF(即寻找结束)。如果Level Status为EOF,始发节点将Curr Level增加一而在层次的下一级上继续搜索(步骤710)。如果Level Status不是EOF,始发节点检验Curr Level来判定在开始分布式搜索之前是否先在本地机器上开始搜索(步骤708)。如果Curr Level设定为机器,始发节点搜索其本地资源数据库来判明本地资源是否有可能与搜壳标准匹配(步骤709)。如果得到一个本地资源,始发节点将到Max Matches资源的属性复制到查询的资源高速缓冲存储器中,并将Curr Matches设定为找到与复制进高速缓冲存储器中的匹配数(步骤706)。然后始发节点将高速缓冲存储器中的第一个资源返回给请求资料的用户(步骤705)。如果未找到本地资源,始发节点将Level Status设定为EOF(步骤711),然后将Currlevel增加一,在下一级上继续搜索(步骤707)。
如果Currlevel超过了Maxlevel(步骤712)或Scoep(步骤716),则搜索或者已通过整个PIPES层次工作过或者超过了原始查询的范围。从而,如果符合了这些条件之一,搜索便完成了。如果否,始发节点将寻找查询发送给其双亲,区域管理员,以开始分布式搜索(步骤713)。如果在应答中返回了资源属性(步骤714),始发节点复制这些资源属性到查询的资源高速缓冲存储器中(步骤718)并返回第一个给用户(步骤717)。如果搜索不成功地结束,始发节点检验Curr Matches来判明是否已将任何资源返回给用户(步骤715)。如果Curr Matches大于零,则用户已收到其全部资源,而始发节点返回一个EOF给用户(步骤723)。如果Curr Matches为零,并且在网络上未找到资源,如果用户已指定了坚持寻找查询,始发节点分发一个坚持寻找查询(步骤719)。这是为了跟踪坚持寻找查询的资源而必须将该查询加到该节点上的未决坚持寻找查询表中(步骤720)。如果存在着本地机器上的一个资源有可能与查询的搜索标准匹配(步骤721),始发节点将查询加到其坚持寻找高速缓冲存储器中(步骤722),它是用来跟踪搜索标准的,以便在满足这些标准的资源加入PIPES中时便立即将它们返回。如果查询范围大于机器级(步骤724),则将坚持寻找查询送至区域管理员(步骤725)。
图20与21说明资源层如何在整个PLN33中确定寻找查询的路由。图20示出在区域管理员级上执行的进程。当区域管理员收到一个寻找查询时(步骤726),区域管理员检验Currlevel来确定请求搜索的级(步骤727)。如果Currlevel小于区域(步骤728),则如果区域管理员错误接收该查询而返回一个出错给发送寻找查询的节点(步骤729)。如果Currlevel大于区域(步骤728),则如果区域管理员从其子女之一接收该寻找查询(步骤731),便将该寻找查询转交给其双亲(步骤732)。从而,区域管理员只是向上传递寻找查询,因为搜索应在层次的较高级别上继续。如果搜索应在这一级上继续,区域管理员分析搜索标准来判定在本区域中是否有资源能满足这些标准(步骤730)。如果否,区域管理员返回寻找查询给发送者(步骤738)。此外,如果Curr Matches已经等于Max Matches(步骤733),区域管理员也将寻找查询返回给发送者(步骤738)。否则,区域管理员搜索其资源数据库寻找始发节点可见的匹配(步骤734)。增加资源到PIPES的用户能指定哪些应用能利用其服务,或其在PIPES内的“能见度”。如果找到可见的匹配,便将最多的Max Matches资源属性复制到寻找查询(步骤735)。如果找到比Max Matches多的资源(步骤737),区域管理员将Level Status设定为OK(步骤739),从而在下一次发布寻找下一个查询时能在这一级上继续搜索。否则,区域管理员将Level Status设定为EOF来通知始发节点在这一级上得不到更多的资源(步骤736)。最后,区域管理员将寻找查询返回给发送者(步骤738)。
高于PLN层次中区域管理员的管理级上的寻找查询进程(图21)类似于区域管理员级上的,只是不出现搜索,因为只有机器与区域管理员拥有资源数据库。图21中步骤740至747与图20中步骤726至733相同。在各种情况中,节点判定搜索应在这一级还是较高级上继续。在这一情况中,在这一级上的搜索包含依次将寻找查询转交给管理员的各个子女。如果还有未曾见到寻找查询的子女(步骤748),管理员将寻找查询发送给下一子女(步骤749)。当没有剩下子女时,管理员将Level Status设定为EOF(步骤751)并返回寻找查询给发送者(步骤750)。
图22与23说明在整个网络上增加一个坚持寻找查询的进程,而图24与26描述用来从网络上消除一个坚持寻找查询的类似的“清除”进程。图22中,区域管理员节点处理在PLN33上收到的一个坚持寻找查询(步骤752)。首先,如果区域管理员收到来自其子女之一的查询(步骤753),便将该查询加在其未决坚持寻找的源表上(步骤754)。如果这一区域中的一个资源能满足坚持寻找查询的搜索标准(步骤755),区域管理员便将该查询加入其坚持寻找高速缓冲存储器。如果查询的范围大于区域级(步骤757),区域管理员将坚持寻找查询发送给其双亲(步骤758)。类似地,在图23中,在高于区域的级上的管理员收到一个坚持寻找查询(步骤759)。如果发送者是该管理员的子女之一(步骤760),管理员便将查询加在其未决支持寻找的源表上(步骤761)。如果这一级是在查询中指定的搜索标准之内(步骤762),管理员将查询转交给其子女(除外发送该查询的子女)(步骤763)。如果查询的范围大于这一级(步骤764),则管理员将坚持寻找查询发送给其双亲(步骤765)。
通过从未决坚持寻找的源表中清除它们(步骤768与775)及从区域管理员的坚持寻找高速缓冲存储器中清除它们(步骤770)来“清除”坚持寻找查询的类似进程示出在图24与25中。坚持寻找恢复进程
由于有关分布式坚持寻找查询的重要信息保存在区域管理员节点上,而在其它管理节点上范围较小,当这些节点之一破环或从PLN层次的其它部分上断开时必须使用恢复进程。图26与27表示当区域管理员(图26)或另一管理节点(图27)关闭时用来提供恢复的进程。
当一台机器注册到用选举进程选择的其新的双亲区域管理员上时,该子女机器将其未决坚持寻找的源表发送给其新双亲(步骤800)。新区域管理员接收这一表(步骤801)并利用从其子女接收的信息更新其自己的未决坚持寻找源表(步骤802)。然后新区域管理员发送一个添加高速缓冲存储器请求给其双亲(步骤803)。其它管理员收到这一请求(步骤805)并将其发送给未决坚持寻找的管理员的源表中的其所有子女(步骤806)。如果发送者是该管理员的子女(步骤807),该管理员在PLN层次中将请求向上送到其双亲(步骤808)。最终,PLN33中的其它区域管理员接收到该添加高速缓冲存储器请求(步骤809),如果新区域管理员的坚持寻找高速缓冲存储器中有一个查询(步骤810),接收的区域管理员用来自其坚持寻找高速缓冲存储器的匹配查询来回答该新区域管理员(步骤811)。然后新区域管理员用来自PLN33中的其它区域管理员的回答来更新其自身的坚持寻找高速缓冲存储器(步骤804)。
图27描述当区域管理员以外的管理员关闭时出现的情况。新管理员的子女发送它们的未决坚持寻找源表给该新管理员(步骤812)。新管理员接收这些表(步骤813)并用其子女发送的信息更新其未决支持寻找表(步骤814)。如果任何查询的范围高于这一级(步骤815),将这些查询在PLN层次中向上发送到新管理员的双亲(步骤816)。新管理员的双亲用从其新子女获得的信息验证其未决坚持寻找源表(步骤817)。清除资源进程
当一个应用从PLN层次中撤出其资源时,资源层33便执行图28中所示的清除资源进程。资源的始发节点首先进行检验来查明该资源是否存在在其资源数据库中(步骤901)。如果该资源存在,始发节点从数据库中清除该资源(步骤903)。并发送清除资源请求给其双亲区域管理员(步骤904)。如果否,始发节点返回一个出错给用户(步骤902)。区域管理员接收该清除资源请求(步骤905)并从其区域管理员资源高速缓冲存储器中清除该资源(步骤906)。上下文桥接层
图29A说明上下文桥接层38的组成部分。上下文桥接层的主要功能为将协议数据单元(“PDU”)的路由从源节点确定到目的节点的路由进程(框1000)。源节点与目的节点可共用一个可确定路由的协议。可确定路由的协议定义为为了到达其目的地允许单独从目的地地址作出关于必须向何处发送PDU的决定的一种协议。源节点只是将PDU传送给可确定路由的协议,而由可确定路由的协议自己去通过分折目的地地址确定如何将PDU送到目的地。从而,不必要知道用来将PDU从源转送到目的地的中间节点。在PIPES内,TCP/IP与SNA为可确定路由协议,而IPX、Net Bios与DLC则不是可确定路由协议。
如果源节点与目的节点共用一个不可确定路由协议或者如果源与目的地根本不共用任何协议,则必须用中间节点来“桥接”源与目的节点。在本例中,路由进程利用路由信息数据库(“RIDB”,示出为框1400)来确定如何确定PDU从源到目的地的路由。RIDB中包含将PDU的路由确定到一个不可确定路由协议或源节点不支持的协议上所必需的信息。RIDB中包含两个高速缓冲存储器:用于不可确定路由协议的一个源路由高速缓冲存储器(框1401),及用于不同类协议桥接的一个下一跳跃路由高速缓冲存储器(框1402)。源路由高速缓冲存储器通过路由发现进程(框1100)繁延并通过路由证实进程(框1200)证实。下一跳跃路由高速缓冲存储器通过路由广告进程(框1300)繁延。
图29B示出能有利地利用本发明的上下文桥接的系统1600。上下文桥接可用来确定由使用不同级别的协议的节点生成的包的路由,如在国际标准化组织(“ISO”)参考模型中所定义的。例如,系统1600包含分别采用SNA(APPC)与DLC协议的两个节点1610与1630。这两种协议在不同的ISO级上:SNA在表示级上而DLC则在数据链路级上。为了确定通过网络1640从节点1610到节点1630的包的路由,必须使用包含能桥接SNA(APPC)与DLC协议的上下文桥接的节点1620。从而,首先通过路径1642将节点1610生成的包的路由确定到节点1620上,然后通过路径1643将该包的路由确定到节点1630上。
类似地,如果希望将节点1610生成的报文的路由确定到采用UDP协议(ISO传送级上)的节点1650上,则必须使用包含能桥接SNA与UDP协议的上下文桥接的节点1660。从而,首先将节点1610生成的包的路由通过路径1645确定到节点1660上,然后将包的路由通过路径1646确定到节点1650上。路由进程
图30描述上下文桥接路由进程的流程图。当源节点的上下文桥接层接收要送到给定的目的节点的PDU时,源节点观察目的地址来判定目的地是否具有可确定路由协议(步骤1001)。
如果目的地具有可确定路由协议,源节点判定它是否支持与目的地相同的可确定路由协议(步骤1002)。如果源与目的地共用同一可确定路由协议,源便利用共用的可确定路由协议的传送驱动器发送PDU到目的地(步骤1003)。如果源与目的地不共用同一可确定路由协议,源便在其RIDB下一跳跃路由高速缓冲存储器中搜索到达目的地的路由(步骤1004)。然后源节点检验判明RIDB中是否存在一条路由(步骤1006)。如果找到路由,源节点将PDU发送到在RIDB中找到的路由指定的中间节点(步骤1007)。如果未找到路由,源返回一个出错说明不能到达目的地(步骤1009)。
如果目的地具有不可确定路由协议,源在其RIDB源路由高速缓冲存储器中搜索到达目的地的路由(步骤1005)。然后源节点检验判明RIDB中是否存在路由(步骤1008)。如果找到路由,源节点将PDU发送到在RIDB中找到的路由所指定的中间节点(步骤1007)。如果未找到路由,源执行路由发现进程来寻找到达目的地的路由(步骤1011)。然后源节点确认路由发现进程是否找到了路由(步骤1012)。如果路由发现找到了路由,源节点更新其RIDB源路由高速缓冲存储器(步骤1010),并将PDU发送到该路由指定的中间节点(步骤1007)。如果未找到路由,源节点返回出错说明目的地不能到达(步骤1009)。路由发现进程
图31描述用到达个别目的地的源路由来更新RIDB源路由高速缓冲存储器时使用的路由发现进程。在需要寻找到达具有不可确定路由协议的目的地的路由时,源节点起动路由发现进程。首先,源节点发送一个路由发现包给所有它具有关于它们的信息的活跃上下文桥接(步骤1101)。一个节点如果支持一个以上的协议便是一个活跃的上下文桥接;该节点作为在该节点上找到的协议之间的桥工作。网络中的所有节点通过路由广告进程找出活跃的上下文桥接。
收到源节点的路由发现包的上下文桥接首先判定它是否回答包(步骤1107)。如果它是回答包,中间节点利用回答包中指定的路由将该包转送回源节点(步骤1112)。如果不是回答包,接收该路由发现包的节点将其本身的地址插入包中(步骤1108)。然后该节点检验判明它是否该包的最终目的地(步骤1109)。如果该节点是该包的最终目的地,端节点便将包的类型改变成回答(步骤1111),并利用路由发现包中指定的路由将包转送回源(步骤1112)。如果接收节点不是目的地,中间节点将包转送给它所连接的所有上下文桥接,但除外它原先从其接收该包的上下文桥接(步骤1110)。
源节点正在等待是否能收到回答(步骤1102)。如果在指定的时间段内收不到回答,源便返回一个出错说明不能到达目的地(步骤1103)。如果收到回答,源节点检验是否已经有到达目的地的一条有效路由(步骤1104)。如果已有有效路由,源便丢弃回答包(步骤1105)。否则,源节点用回答包中指定的路由更新其RIDB源路由高速缓冲存储器(步骤1106)。路由证实进程
图32示出用来检验包含在RIDB源路由高速缓冲存储器中的路由的有效性的路由证实进程。源节点发送一个路由证实包给其RIDB源路由高速缓冲存储器中尚未标记为有效的所有目的节点(步骤1201)。然后该源设定一个定时器(步骤1202)并收听证实回答(步骤1203)。
端节点也收听路由证实包(步骤1209)并检验是否收到证实包(步骤1210)。如果在指定的时间段内收不到证实包,端节点继续收听路由证实包(步骤1209)。如果收到证实包,端节点证实路由证实包中指定的路由(步骤1211)并将该包返回给发送者(步骤1212)。
源节点检验判明是否已收到证实回答(步骤1204)。如果收到证实回答,源节点便在RIDB源路由高速缓冲存储器中将到达目的地的源路由标记为有效(步骤1205)。如果未收到证实回答,源节点检验定时器(步骤1206)。如果定时器尚未到时,源节点继续收听证实回答(步骤1203)。如果定时器到时,且如果再试阈值尚未超过(步骤1207),则源节点复位定时器(步骤1202)。如果再试阈值已经超过,源节点便从RIDB源路由高速缓冲存储器中清除无效的源路由(步骤1208)。路由广告进程
图33示出在每一个上下文桥接与端节点上周期性执行的路由广告进程。各上下文桥接周期性地发送称作路由广告包(“RAP”)的广播报文(步骤1301),及各端节点收听RAP广播(步骤1305)。RAP中最好包含以下信息:上下文桥接能处理的协议及所需的跳跃数。然后所有上下文桥接及端节点等待到收到RAP广播为止(步骤1302与1306)。如果收到RAP广播,接收广播的节点通过将RAP广播与其RIDB下一跳跃路由高速缓冲存储器进行比较而判定路由信息中有无变化(步骤1303与1307)。如果需要改变,接收节点便更新其RIDB下一跳跃路由高速缓冲存储器(步骤1304与1308)。不受限制的级
在本发明的较佳实施例中,PLN层次的级数是不受限制的。图34示出系统100的开发人员(系统开发者)、应用开发者及最终用户为实现大于省缺级数(诸如5)的级数而最好采取的步骤。在编译PIPES核心部分及PAPI库代码时设定某一实现的最大级数。如果希望在它们的PIPES中具有更大的灵活性及层次中更多的级数,则必须定制PIPES核心部分与PAPI库。
系统开发者改变硬编码在软件的标题文件中的Minlevel与Maxlevel参数(步骤1501)。重新编译PAPI库(步骤1502)及PIPES核心部分(步骤1503),并将新的PAPI库与PIPES核心部分分发给应用开发者(步骤1504)。
应用开发者从系统开发者接收这些部分(步骤1505)并对他们自己的PIPES应用进行任何必要的修改(步骤1506)。然后应用开发者与新的PAPI库一起重新编译自己的PIPES应用(步骤1507)并分发新的PIPES应用及PIPES核心部分给最终用户(步骤1508)。
最终用户从应用开发者接收这些部分(步骤1509)并将它们装在PLN中所有节点上(步骤1510)。对其PIPES配置进行任何必要的修改之后(步骤1511),最终用户通过加载PIPES核心部分(步骤1512)及PIPES应用(步骤1513)而最终重新启动系统。在这一点上,最终用户便能实现PLN层次中所要求的级数。
虽然已经用当前认为的较佳实施例描述了本发明,应理解所附的权利要求书不局限于公开的实施例,正好相反,它们旨在覆盖保持本发明的任何新颖特征与优点的修改、变化与等价配置。

Claims (23)

1、一种用于在包含多个节点的一个网络的节点中独立地执行软件成分的方法,该方法包括下述步骤:
在网络中生成节点的角色的逻辑层次,其中任何节点都能担任一种或多种角色,角色的担任既不要求也不排除任何其它角色的担任;以及
在网络的配置有变化时协商节点的角色。
2、权利要求1的方法,其中具有管理角色的一个节点离开网络及其余节点中至少一个参加确定哪一个节点担任该管理角色的协商进程,协商步骤进一步包括由参加的节点执行的下述步骤:
广播表明参加的节点有兴趣担任该管理角色的报文;
在广播步骤之后收听网络上的报文;以及
如果在网络上没有表明另一节点担任该管理角色更称职的报文,便担任该管理角色。
3、权利要求1的方法,还包括由参加的节点执行的下述步骤:
在所述广播步骤之前,收听其他参加节点发送的报文一个指定的时间段;以及
当报文表明至少有一个参加节点担任该管理角色更称职时便退出该进程。
4、权利要求1的方法,其中至少两个冲突的节点要求同一管理角色及冲突的节点中至少一个参加确定担任管理角色的节点的进程,协商步骤进一步包括由各参加节点执行的下述步骤:
建立一个包含所有参加该进程的已知节点的名的数据库;
发送选举报文给含在数据库中的节点,选举报文中包含对发送节点已知的关于参加节点的信息;
接收来自其它参加节点的选举报文;
用包含在收到的选举报文中的信息更新数据库;以及
根据包含在更新后的数据库中的信息,确定哪一个参加节点担任该管理角色。
5、权利要求1的方法,其中节点之一为一双亲节点,该方法还包括在一个节点进入网络时搜索一双亲节点的步骤。
6、权利要求5的方法,其中的搜索步骤进一步包括由进入的节点执行的下述步骤:
收听报文一个指定的时间段;
如果收到报文,根据收到的报文确定进入节点的双亲;
如果在指定的时间段用完时未找到双亲,便广播用于搜索其双亲的一个报文;
收听对广播的报文的应答及判定应答中任何一个是否发自其双亲;
收不到应答时担任其自身的双亲的角色。
7、权利要求1的方法,其中的节点之一为一双亲节点,该方法还包括在其进入网络时登记一个子女的步骤。
8、权利要求7的方法,其中所述登记步骤进一步包括:
收听由进入节点发送的报文;
判定报文之一是否由一个子女节点还是由一个双重子女节点所发送;
如果检测到一个双重子女节点,通知该双重子女节点角色冲突;
如果检测到一个子女节点,发送一个确认报文给该子女节点。
9、权利要求1的方法,其中的节点之一为一双亲及其余节点之一为一子女,所述方法还包括监视双亲与子女的状态的步骤。
10、权利要求9的方法,其中该监视步骤进一步包括下述步骤:
在指定的是时间间隔上在双亲与子女之间交换状态报文;
当在一个预定的时间段内该子女收不到来自双亲的状态报文时,搜索一个新的双亲节点。
11、权利要求9的方法,还包括在一预定的时间段内双亲收不到来自该子女的状态报文时注销该子的女步骤。
12、权利要求1的方法,其中该逻辑层次包含任意数目的级。
13、权利要求12的方法,其中的级数是可变的。
14、权利要求1的方法,其中网络中节点的角色是可以随网络的要求变化的。
15、一种用于在互连数字网上的多个节点的规模可变的系统中寻找节点请求的资源的方法,各节点与一个或多个资源相关联,各资源具有它可被其它节点利用的活跃状态及不能利用的不活跃状态,该方法包括下述步骤:
自动识别通过从不活跃状态切换到活跃状态而参加网络的资源;以及
自动通知请求者所请求的资源已成为可以利用。
16、权利要求15的方法,其中所述多个节点中至少一个包含一个高速缓冲存储器用手存储一张资源请求表,所述方法还包括在高速缓冲存储器中存储资源请求的步骤。
17、权利要求16的方法,还包括当一个资源成为活跃并满足请求时从高速缓冲存储器中清除一个请求的步骤。
18、权利要求15的方法,其中所述多个节点是配置在至少两级中的,及其中第一级中的节点包含关于出现在第二级中的节点中的资源的信息。
19、权利要求18的方法,其中第一级中的多个节点包含用于存储资源请求表的高速缓冲存储器,所述方法还包括在高速缓冲存储器中存储资源请求的步骤。
20、权利要求19的方法,还包括在一个资源成为活跃且满足请求时从高速缓冲存储器中清除一个请求的步骤。
21、权利要求18的方法,其中该第一级为双亲级而该第二级为子女级,双亲级中的各节点与子女级中的一个或多个节点关联,而子女级中的各节点与双亲级中的一个节点关联。
22、一种用于能够在不同级上的具有不同通信协议的节点之间发送包的上下文桥接中确定路由路径方法,该上下文桥接是在包含多个节点的不同种类网络中的许多上下文桥接之一,该方法包括下述步骤:
建立一张上下文桥接及表中各上下文桥接处理的通信协议的表;
收听通过其它上下文桥接通知各接收者该广播上下文桥接所处理的通信协议而被周期性广播的路由信息包;以及
用包含在收到的路由信息包中的信息更新数据库。
23、一种利用上下文桥接将包的路由从一个源节点确定到一个目的节点上的方法,源节点的路由协议与目的节点的路由协议在不同的级上,该上下文桥接是包含多个节点的不同种类网中的许多上下文桥接之一,该方法包括下述步骤:
判定目的节点是否有可确定路由协议;
利用包含上下文桥接的地址的源路由将包的路由从源确定到目的地上,如果目的地没有可确定路由协议,地址是通过源发送一个路由发现包且目的地回答该发现包而被发现的;以及
如果目的地具有可确定路由协议,便通过至少一个包含可确定路由协议的上下文桥接确定该包的路由。
CN95195435A 1994-08-19 1995-08-18 规模可以改变的分布式计算环境 Pending CN1159858A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/293,073 1994-08-19
US08/293,073 US5526358A (en) 1994-08-19 1994-08-19 Node management in scalable distributed computing enviroment

Publications (1)

Publication Number Publication Date
CN1159858A true CN1159858A (zh) 1997-09-17

Family

ID=23127543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95195435A Pending CN1159858A (zh) 1994-08-19 1995-08-18 规模可以改变的分布式计算环境

Country Status (8)

Country Link
US (5) US5526358A (zh)
EP (1) EP0776502A2 (zh)
JP (1) JPH09511115A (zh)
CN (1) CN1159858A (zh)
AU (1) AU3944995A (zh)
BR (1) BR9508731A (zh)
CA (1) CA2197324A1 (zh)
WO (1) WO1996007257A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300687C (zh) * 2003-11-18 2007-02-14 国际商业机器公司 用于验证环境状态的系统
CN100380382C (zh) * 2002-02-19 2008-04-09 西门子公司 用于工业自动化系统的工程方法和工程系统
CN100386986C (zh) * 2006-03-10 2008-05-07 清华大学 数据网格系统中数据副本的混合定位方法
CN100397342C (zh) * 2002-02-19 2008-06-25 西门子公司 尤其是为mes系统产生软件应用程序的方法
CN103262064A (zh) * 2010-12-16 2013-08-21 Et国际有限公司 分布式计算体系结构

Families Citing this family (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863441A (ja) * 1994-08-26 1996-03-08 Hitachi Ltd 並列システムの運用方法
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US5784612A (en) * 1995-05-03 1998-07-21 International Business Machines Corporation Configuration and unconfiguration of distributed computing environment components
US5771353A (en) * 1995-11-13 1998-06-23 Motorola Inc. System having virtual session manager used sessionless-oriented protocol to communicate with user device via wireless channel and session-oriented protocol to communicate with host server
JPH09245007A (ja) * 1996-03-11 1997-09-19 Toshiba Corp 情報処理装置及び情報処理方法
US6385203B2 (en) 1996-03-29 2002-05-07 Cisco Technology, Inc. Communication server apparatus and method
US5668857A (en) * 1996-03-29 1997-09-16 Netspeed, Inc. Communication server apparatus and method
US5754790A (en) * 1996-05-01 1998-05-19 3Com Corporation Apparatus and method for selecting improved routing paths in an autonomous system of computer networks
US6400681B1 (en) * 1996-06-20 2002-06-04 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
US7146230B2 (en) * 1996-08-23 2006-12-05 Fieldbus Foundation Integrated fieldbus data server architecture
US6424872B1 (en) 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system
US20040194101A1 (en) * 1997-08-21 2004-09-30 Glanzer David A. Flexible function blocks
US5805594A (en) * 1996-08-23 1998-09-08 International Business Machines Corporation Activation sequence for a network router
US5778058A (en) * 1996-10-07 1998-07-07 Timeplex, Inc. Method of adding a new PBX and new PBX port to an existing PBX network
US5909550A (en) * 1996-10-16 1999-06-01 Cisco Technology, Inc. Correlation technique for use in managing application-specific and protocol-specific resources of heterogeneous integrated computer network
US6044080A (en) * 1996-11-19 2000-03-28 Pluris, Inc. Scalable parallel packet router
US7024449B1 (en) * 1996-11-29 2006-04-04 Ellis Iii Frampton E Global network computers
US6732141B2 (en) 1996-11-29 2004-05-04 Frampton Erroll Ellis Commercial distributed processing by personal computers over the internet
US7506020B2 (en) * 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US7035906B1 (en) 1996-11-29 2006-04-25 Ellis Iii Frampton E Global network computers
US7926097B2 (en) * 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US20050180095A1 (en) * 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US6725250B1 (en) 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US7805756B2 (en) * 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US7634529B2 (en) * 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US6167428A (en) * 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US5848145A (en) * 1996-12-20 1998-12-08 Lucent Technologies Inc. Automatic learning of network routing using random routes
US6058423A (en) 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network
US5930264A (en) * 1997-02-06 1999-07-27 Telefonaktiebolaget L M Ericsson (Publ) Inter-node signaling for protocol initialization within a communications network
US6163599A (en) * 1997-03-20 2000-12-19 Cisco Technology, Inc. Communication server apparatus and method
US6151325A (en) * 1997-03-31 2000-11-21 Cisco Technology, Inc. Method and apparatus for high-capacity circuit switching with an ATM second stage switch
US6934249B1 (en) 1997-04-01 2005-08-23 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
WO1998053578A1 (en) * 1997-05-23 1998-11-26 The Trustees Of Columbia University In The City Of New York Method and system for providing multimedia service in an atm communications network
US6122276A (en) * 1997-06-30 2000-09-19 Cisco Technology, Inc. Communications gateway mapping internet address to logical-unit name
US6311228B1 (en) * 1997-08-06 2001-10-30 Microsoft Corporation Method and architecture for simplified communications with HID devices
US6999824B2 (en) * 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6128662A (en) * 1997-08-29 2000-10-03 Cisco Technology, Inc. Display-model mapping for TN3270 client
US6049833A (en) 1997-08-29 2000-04-11 Cisco Technology, Inc. Mapping SNA session flow control to TCP flow control
US6366644B1 (en) 1997-09-15 2002-04-02 Cisco Technology, Inc. Loop integrity test device and method for digital subscriber line (XDSL) communication
US6252878B1 (en) 1997-10-30 2001-06-26 Cisco Technology, Inc. Switched architecture access server
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6647508B2 (en) 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6216132B1 (en) 1997-11-20 2001-04-10 International Business Machines Corporation Method and system for matching consumers to events
US5918910A (en) * 1997-12-19 1999-07-06 Ncr Corporation Product tracking system and method
ES2546173T3 (es) 1998-03-13 2015-09-21 Canon Kabushiki Kaisha Aparato y procedimiento para el procesamiento de la información
US6278728B1 (en) 1998-03-18 2001-08-21 Cisco Technology, Inc. Remote XDSL transceiver unit and method of operation
US6529932B1 (en) 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US6205498B1 (en) 1998-04-01 2001-03-20 Microsoft Corporation Method and system for message transfer session management
US6446206B1 (en) 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
US6678726B1 (en) * 1998-04-02 2004-01-13 Microsoft Corporation Method and apparatus for automatically determining topology information for a computer within a message queuing network
US6639897B1 (en) * 1998-04-22 2003-10-28 Nippon Telegraph And Telephone Corporation Communication network of linked nodes for selecting the shortest available route
US6049834A (en) * 1998-05-08 2000-04-11 Cisco Technology, Inc. Layer 3 switch unicast protocol
US6772350B1 (en) 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US6247109B1 (en) 1998-06-10 2001-06-12 Compaq Computer Corp. Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
US6848108B1 (en) * 1998-06-30 2005-01-25 Microsoft Corporation Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network
US6256634B1 (en) 1998-06-30 2001-07-03 Microsoft Corporation Method and system for purging tombstones for deleted data items in a replicated database
US6202089B1 (en) 1998-06-30 2001-03-13 Microsoft Corporation Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process
US6275912B1 (en) 1998-06-30 2001-08-14 Microsoft Corporation Method and system for storing data items to a storage device
US6535520B1 (en) 1998-08-14 2003-03-18 Cisco Technology, Inc. System and method of operation for managing data communication between physical layer devices and ATM layer devices
US6269096B1 (en) 1998-08-14 2001-07-31 Cisco Technology, Inc. Receive and transmit blocks for asynchronous transfer mode (ATM) cell delineation
US6381245B1 (en) 1998-09-04 2002-04-30 Cisco Technology, Inc. Method and apparatus for generating parity for communication between a physical layer device and an ATM layer device
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6700872B1 (en) 1998-12-11 2004-03-02 Cisco Technology, Inc. Method and system for testing a utopia network element
US6834302B1 (en) * 1998-12-31 2004-12-21 Nortel Networks Limited Dynamic topology notification extensions for the domain name system
US6535511B1 (en) 1999-01-07 2003-03-18 Cisco Technology, Inc. Method and system for identifying embedded addressing information in a packet for translation between disparate addressing systems
US6453357B1 (en) 1999-01-07 2002-09-17 Cisco Technology, Inc. Method and system for processing fragments and their out-of-order delivery during address translation
US6449655B1 (en) 1999-01-08 2002-09-10 Cisco Technology, Inc. Method and apparatus for communication between network devices operating at different frequencies
US6633574B1 (en) * 1999-03-17 2003-10-14 Loytec Electronics Gmbh Dynamic wait acknowledge for network protocol
US6889254B1 (en) 1999-03-30 2005-05-03 International Business Machines Corporation Scalable merge technique for information retrieval across a distributed network
US6393423B1 (en) 1999-04-08 2002-05-21 James Francis Goedken Apparatus and methods for electronic information exchange
US7085763B2 (en) * 1999-04-27 2006-08-01 Canon Kabushiki Kaisha Device search system
US6983291B1 (en) * 1999-05-21 2006-01-03 International Business Machines Corporation Incremental maintenance of aggregated and join summary tables
JP3740320B2 (ja) * 1999-05-31 2006-02-01 キヤノン株式会社 デバイス検索システム及びデバイス検索方法
US6460082B1 (en) * 1999-06-17 2002-10-01 International Business Machines Corporation Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers
US6957254B1 (en) * 1999-10-21 2005-10-18 Sun Microsystems, Inc Method and apparatus for reaching agreement between nodes in a distributed system
US6412002B1 (en) * 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6751200B1 (en) * 1999-12-06 2004-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Route discovery based piconet forming
US6775781B1 (en) * 1999-12-13 2004-08-10 Microsoft Corporation Administrative security systems and methods
US7310629B1 (en) 1999-12-15 2007-12-18 Napster, Inc. Method and apparatus for controlling file sharing of multimedia files over a fluid, de-centralized network
US6366907B1 (en) 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US6742023B1 (en) 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US6834208B2 (en) * 1999-12-30 2004-12-21 Microsoft Corporation Method and apparatus for providing distributed control of a home automation and control system
US6990379B2 (en) * 1999-12-30 2006-01-24 Microsoft Corporation Method and apparatus for providing a dynamic resource role model for subscriber-requester based protocols in a home automation and control system
US6823223B2 (en) * 1999-12-30 2004-11-23 Microsoft Corporation Method and apparatus for providing distributed scene programming of a home automation and control system
US7000007B1 (en) 2000-01-13 2006-02-14 Valenti Mark E System and method for internet broadcast searching
EP1257376B1 (en) 2000-02-10 2004-01-21 Tetronics Limited Plasma arc reactor for the production of fine powders
GB0004845D0 (en) 2000-02-29 2000-04-19 Tetronics Ltd A method and apparatus for packaging ultra fine powders into containers
US6728715B1 (en) 2000-03-30 2004-04-27 International Business Machines Corporation Method and system for matching consumers to events employing content-based multicast routing using approximate groups
KR100776068B1 (ko) 2000-04-10 2007-11-15 테트로닉스 엘티디 트윈 플라즈마 토치 장치
EP1307822A2 (en) * 2000-05-25 2003-05-07 Transacttools, Inc. A method, system and apparatus for establishing, monitoring, and managing connectivity for communication among heterogeneous systems
CA2412816C (en) * 2000-06-19 2012-01-17 P.C. Krause And Associates, Inc. Distributed simulation
US20050240286A1 (en) * 2000-06-21 2005-10-27 Glanzer David A Block-oriented control system on high speed ethernet
AU2001271665A1 (en) * 2000-06-29 2002-01-14 Dynamic Networks, Inc. Method and system for producing an electronic business network
US7089301B1 (en) 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
FR2814883A1 (fr) * 2000-10-03 2002-04-05 Canon Kk Procede et dispositif de declaration et de modification de fonctionnalite d'un noeud dans un reseau de communication
FR2815213B1 (fr) * 2000-10-05 2004-09-24 Cit Alcatel Equipement de telecommunication permettant la migration du controle d'appel
US7203741B2 (en) 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
US6978300B1 (en) 2000-10-19 2005-12-20 International Business Machines Corporation Method and apparatus to perform fabric management
US6941350B1 (en) * 2000-10-19 2005-09-06 International Business Machines Corporation Method and apparatus for reliably choosing a master network manager during initialization of a network computing system
US7113995B1 (en) 2000-10-19 2006-09-26 International Business Machines Corporation Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system
US7099955B1 (en) 2000-10-19 2006-08-29 International Business Machines Corporation End node partitioning using LMC for a system area network
US7636772B1 (en) 2000-10-19 2009-12-22 International Business Machines Corporation Method and apparatus for dynamic retention of system area network management information in non-volatile store
US6990528B1 (en) 2000-10-19 2006-01-24 International Business Machines Corporation System area network of end-to-end context via reliable datagram domains
US7003559B1 (en) * 2000-10-23 2006-02-21 Hewlett-Packard Development Company, L.P. System and method for determining probable network paths between nodes in a network topology
US20020073257A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Transferring foreign protocols across a system area network
US7337473B2 (en) * 2000-12-15 2008-02-26 International Business Machines Corporation Method and system for network management with adaptive monitoring and discovery of computer systems based on user login
US7275100B2 (en) * 2001-01-12 2007-09-25 Hitachi, Ltd. Failure notification method and system using remote mirroring for clustering systems
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7035911B2 (en) 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US6891805B2 (en) * 2001-02-06 2005-05-10 Telephonics Corporation Communications system
EP1233318A1 (de) * 2001-02-16 2002-08-21 Abb Research Ltd. Softwarekomponente für ein verteiltes Kontrollsystem
US7142527B2 (en) * 2001-02-28 2006-11-28 Nokia Inc. System and method for transmission scheduling using network membership information and neighborhood information
US20020184361A1 (en) * 2001-05-16 2002-12-05 Guy Eden System and method for discovering available network components
US6590868B2 (en) * 2001-06-02 2003-07-08 Redback Networks Inc. Method and apparatus for restart communication between network elements
US6954817B2 (en) * 2001-10-01 2005-10-11 International Business Machines Corporation Providing at least one peer connection between a plurality of coupling facilities to couple the plurality of coupling facilities
US6920494B2 (en) 2001-10-05 2005-07-19 International Business Machines Corporation Storage area network methods and apparatus with virtual SAN recognition
US6785760B2 (en) 2001-10-19 2004-08-31 International Business Machines Corporation Performance of a PCI-X to infiniband bridge
US6964047B2 (en) * 2001-12-20 2005-11-08 Lucent Technologies Inc. Method and apparatus for a fast process monitor suitable for a high availability system
ATE345015T1 (de) * 2002-02-12 2006-11-15 Cit Alcatel Verfahren zur bestimmung einer aktiven oder passiven rollenzuteilung für ein netzelementsteuerungsmittel
US20030158941A1 (en) * 2002-02-15 2003-08-21 Exanet, Inc. Apparatus, method and computer software for real-time network configuration
US20030185369A1 (en) * 2002-03-29 2003-10-02 Oliver Neal C. Telephone conference bridge provided via a plurality of computer telephony resource algorithms
US7116643B2 (en) * 2002-04-30 2006-10-03 Motorola, Inc. Method and system for data in a collection and route discovery communication network
US7702786B2 (en) * 2002-08-09 2010-04-20 International Business Machines Corporation Taking a resource offline in a storage network
JP3865668B2 (ja) * 2002-08-29 2007-01-10 富士通株式会社 移動通信ネットワークシステム
EP1556996A2 (en) * 2002-10-29 2005-07-27 BRITISH TELECOMMUNICATIONS public limited company Method and apparatus for network management
US20040088361A1 (en) * 2002-11-06 2004-05-06 Stuart Statman Method and system for distributing information to services via a node hierarchy
US8028093B2 (en) 2002-12-11 2011-09-27 Broadcom Corporation Media processing system supporting adaptive digital media parameters based on end-user viewing capabilities
US8799366B2 (en) * 2002-12-11 2014-08-05 Broadcom Corporation Migration of stored media through a media exchange network
WO2004075582A1 (en) * 2003-02-21 2004-09-02 Nortel Networks Limited Data communication apparatus and method for establishing a codec-bypass connection
GB2400200A (en) * 2003-04-05 2004-10-06 Hewlett Packard Development Co Use of nodes to monitor or manage peer to peer network
GB0308708D0 (en) * 2003-04-15 2003-05-21 British Telecomm A computer system
CN1802612B (zh) 2003-04-17 2010-12-01 菲尔德巴士基金 用于在面向块的安全相关开放控制系统中操作的装置
FI20030796A0 (fi) 2003-05-27 2003-05-27 Nokia Corp Tiedonkeruu tietokoneklusterissa
JP4129473B2 (ja) * 2003-05-27 2008-08-06 ノキア コーポレイション コンピュータクラスタにおけるデータ収集
US7546313B1 (en) * 2003-06-17 2009-06-09 Novell, Inc. Method and framework for using XML files to modify network resource configurations
US20050010386A1 (en) * 2003-06-30 2005-01-13 Mvalent, Inc. Method and system for dynamically modeling resources
US7463612B2 (en) * 2003-10-30 2008-12-09 Motorola, Inc. Method and apparatus for route discovery within a communication system
US8726278B1 (en) 2004-07-21 2014-05-13 The Mathworks, Inc. Methods and system for registering callbacks and distributing tasks to technical computing works
US7502745B1 (en) * 2004-07-21 2009-03-10 The Mathworks, Inc. Interfaces to a job manager in distributed computing environments
US8027265B2 (en) * 2004-03-19 2011-09-27 Genband Us Llc Providing a capability list of a predefined format in a communications network
US7990865B2 (en) * 2004-03-19 2011-08-02 Genband Us Llc Communicating processing capabilities along a communications path
JP4390104B2 (ja) * 2004-04-16 2009-12-24 株式会社デンソー 内燃機関のノック判定装置
US7908313B2 (en) * 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
KR20070055590A (ko) * 2004-09-13 2007-05-30 코닌클리케 필립스 일렉트로닉스 엔.브이. 분산된 저장 시스템을 관리하는 방법
US20060146829A1 (en) * 2005-01-04 2006-07-06 Omron Corporation Network system, nodes connected thereto and data communication method using same
US7616590B2 (en) * 2005-07-28 2009-11-10 The Boeing Company Distributed tempero-spatial query service
US8731542B2 (en) 2005-08-11 2014-05-20 Seven Networks International Oy Dynamic adjustment of keep-alive message intervals in a mobile network
KR100718097B1 (ko) * 2005-10-25 2007-05-16 삼성전자주식회사 개인영역 무선네트워크에서의 주소 관리 방법 및 경로 설정방법
US8635348B2 (en) * 2005-12-07 2014-01-21 Intel Corporation Switch fabric service hosting
US8676357B2 (en) * 2005-12-20 2014-03-18 Fieldbus Foundation System and method for implementing an extended safety instrumented system
US7489977B2 (en) * 2005-12-20 2009-02-10 Fieldbus Foundation System and method for implementing time synchronization monitoring and detection in a safety instrumented system
EP2080124A4 (en) * 2006-07-09 2013-10-16 Microsoft Amalgamated Company Iii SYSTEMS AND METHODS FOR MANAGING NETWORKS
CN101622711B (zh) 2006-12-28 2012-07-18 杰恩邦德公司 用于无声插入描述符(sid)转换的方法、系统
US20080195430A1 (en) * 2007-02-12 2008-08-14 Yahoo! Inc. Data quality measurement for etl processes
US20080222634A1 (en) * 2007-03-06 2008-09-11 Yahoo! Inc. Parallel processing for etl processes
WO2008115221A2 (en) 2007-03-20 2008-09-25 Thomson Licensing Hierarchically clustered p2p streaming system
US7689648B2 (en) 2007-06-27 2010-03-30 Microsoft Corporation Dynamic peer network extension bridge
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US20090302588A1 (en) * 2008-06-05 2009-12-10 Autoliv Asp, Inc. Systems and methods for airbag tether release
JP5293426B2 (ja) * 2009-06-09 2013-09-18 ソニー株式会社 通信方法、情報処理装置、およびプログラム
US8908541B2 (en) 2009-08-04 2014-12-09 Genband Us Llc Methods, systems, and computer readable media for intelligent optimization of digital signal processor (DSP) resource utilization in a media gateway
US10354302B2 (en) * 2009-08-23 2019-07-16 Joreida Eugenia Torres Methods and devices for providing fashion advice
US9300522B2 (en) * 2009-12-23 2016-03-29 International Business Machines Corporation Information technology asset management
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
US9348661B2 (en) * 2010-03-11 2016-05-24 International Business Machines Corporation Assigning a unique identifier to a communicator
US9448850B2 (en) * 2010-03-11 2016-09-20 International Business Machines Corporation Discovering a resource in a distributed computing system
US20110225297A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Controlling Access To A Resource In A Distributed Computing System With A Distributed Access Request Queue
US8621446B2 (en) * 2010-04-29 2013-12-31 International Business Machines Corporation Compiling software for a hierarchical distributed processing system
US20110320381A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Business driven combination of service oriented architecture implementations
US8712353B2 (en) 2010-07-29 2014-04-29 Intel Mobile Communications Technology GmbH Radio communication devices, information providers, methods for controlling a radio communication device and methods for controlling an information provider
US8521109B2 (en) 2010-07-29 2013-08-27 Intel Mobile Communications GmbH Radio communication devices, information providers, methods for controlling a radio communication device and methods for controlling an information provider
US8645543B2 (en) 2010-10-13 2014-02-04 International Business Machines Corporation Managing and reconciling information technology assets in a configuration database
JP6086871B2 (ja) 2010-12-30 2017-03-01 ピーラップ リミテッド コンピュータネットワークによるデータ通信をキャッシュする方法及びシステム
EP3518504B1 (en) 2010-12-30 2020-09-16 Peerapp, Ltd. Methods and systems for transmission of data over computer networks
CN102833289B (zh) * 2011-06-16 2016-02-17 浙江速腾电子有限公司 一种分布式云计算资源组织和任务分配方法
WO2013005684A1 (ja) * 2011-07-01 2013-01-10 日本電気株式会社 オブジェクト配置装置、オブジェクト配置方法及びプログラム
US8577610B2 (en) 2011-12-21 2013-11-05 Telenav Inc. Navigation system with point of interest harvesting mechanism and method of operation thereof
CN112039822B (zh) * 2019-06-03 2022-08-02 本无链科技(深圳)有限公司 一种基于WebRTC构建实时区块链网络的方法及系统
CN112214694B (zh) * 2019-07-10 2023-03-14 浙江宇视科技有限公司 可见节点查询方法及装置、终端设备及可读存储介质
JP7328907B2 (ja) * 2020-01-31 2023-08-17 株式会社日立製作所 制御システム、制御方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800488A (en) * 1985-11-12 1989-01-24 American Telephone And Telegraph Company, At&T Bell Laboratories Method of propagating resource information in a computer network
US5088032A (en) * 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
US5214646A (en) * 1990-01-31 1993-05-25 Amnon Yacoby System and method for interconnecting local area networks
US5301303A (en) * 1990-04-23 1994-04-05 Chipcom Corporation Communication system concentrator configurable to different access methods
US5222242A (en) * 1990-09-28 1993-06-22 International Business Machines Corp. System for locating a node containing a requested resource and for selectively verifying the presence of the resource at the node
US5280480A (en) * 1991-02-21 1994-01-18 International Business Machines Corporation Source routing transparent bridge
JPH0540151A (ja) * 1991-08-06 1993-02-19 Hokuriku Nippon Denki Software Kk スキヤン経路故障診断法
IL99923A0 (en) * 1991-10-31 1992-08-18 Ibm Israel Method of operating a computer in a network
US5323394A (en) * 1992-04-07 1994-06-21 Digital Equipment Corporation Selecting optimal routes in source routing bridging without exponential flooding of explorer packets
US5251213A (en) * 1992-05-12 1993-10-05 Microcom Systems, Inc. Multiport source routing token ring bridge apparatus
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks
US5289460A (en) * 1992-07-31 1994-02-22 International Business Machines Corp. Maintenance of message distribution trees in a communications network
US5365523A (en) * 1992-11-16 1994-11-15 International Business Machines Corporation Forming and maintaining access groups at the lan/wan interface
EP0598969B1 (en) * 1992-11-27 1999-02-10 International Business Machines Corporation Inter-domain multicast routing
US5430728A (en) * 1992-12-10 1995-07-04 Northern Telecom Limited Single-route broadcast for LAN interconnection
US5426637A (en) * 1992-12-14 1995-06-20 International Business Machines Corporation Methods and apparatus for interconnecting local area networks with wide area backbone networks
JPH07118717B2 (ja) * 1993-01-05 1995-12-18 日本電気株式会社 マルチプロトコル対応のパケット網構成方法
JP2576762B2 (ja) * 1993-06-30 1997-01-29 日本電気株式会社 リング網のノード間情報収集方式
US5432789A (en) * 1994-05-03 1995-07-11 Synoptics Communications, Inc. Use of a single central transmit and receive mechanism for automatic topology determination of multiple networks

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100380382C (zh) * 2002-02-19 2008-04-09 西门子公司 用于工业自动化系统的工程方法和工程系统
CN100397342C (zh) * 2002-02-19 2008-06-25 西门子公司 尤其是为mes系统产生软件应用程序的方法
CN1300687C (zh) * 2003-11-18 2007-02-14 国际商业机器公司 用于验证环境状态的系统
CN100386986C (zh) * 2006-03-10 2008-05-07 清华大学 数据网格系统中数据副本的混合定位方法
CN103262064A (zh) * 2010-12-16 2013-08-21 Et国际有限公司 分布式计算体系结构
US10620988B2 (en) 2010-12-16 2020-04-14 Et International, Inc. Distributed computing architecture

Also Published As

Publication number Publication date
US5699351A (en) 1997-12-16
WO1996007257A2 (en) 1996-03-07
EP0776502A2 (en) 1997-06-04
JPH09511115A (ja) 1997-11-04
CA2197324A1 (en) 1996-03-07
BR9508731A (pt) 1998-12-15
WO1996007257A3 (en) 1996-09-19
US5612957A (en) 1997-03-18
US5778185A (en) 1998-07-07
AU3944995A (en) 1996-03-22
US5526358A (en) 1996-06-11
US5793968A (en) 1998-08-11

Similar Documents

Publication Publication Date Title
CN1159858A (zh) 规模可以改变的分布式计算环境
CN101461190B (zh) 管理计算节点间的通信
US7899934B2 (en) Handling un-partitioning of a computer network
CN1207674C (zh) 在分布式计算环境中进行拓扑传播的方法和系统
US7292585B1 (en) System and method for storing and utilizing routing information in a computer network
US7177950B2 (en) Synchronization and recovery of peers in a peer to peer environment
JP4588704B2 (ja) 自己管理仲介情報フロー
JP4772854B2 (ja) 計算機システムの構成管理方法、計算機システム及び構成管理プログラム
CN1264091C (zh) 分布式高速缓存同步协议
US7404006B1 (en) Publishing a network address in a computer network
CN1330834A (zh) 分布式处理系统中的智能存根或企业javatm豆模块
CN1483162A (zh) 用于对请求进行集中和负载均衡的系统和方法
US20020178265A1 (en) Methods systems and computer program products for source address selection
CN1969267A (zh) 用户级栈
CN104205756A (zh) 并发进程执行
CN1503942A (zh) 包含准备操作的群集计算机系统中的资源动作
CN1552020A (zh) 用于在集群式消息传递服务器中在节点故障以及网络划分期间确保操作的方法
CN1879357A (zh) 无服务器和无交换机因特网协议电话系统和方法
WO2003058462A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
CN1284094C (zh) 一种构建分布式并行调度网络服务器系统的方法
CN1258728C (zh) 全分布式的保护信息处理系统实时数据库的应用方法及其网络系统
CN112583875B (zh) 一种资产扫描方法及装置
Bouteiller et al. Correlated set coordination in fault tolerant message logging protocols for many‐core clusters
CN1595890A (zh) 与预订通知服务的虚拟连接
CA2519731A1 (en) Mediator-based recovery mechanism for multi-agent system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1002785

Country of ref document: HK