CN100454818C - 分配用于多方应用层会话的资格信息 - Google Patents

分配用于多方应用层会话的资格信息 Download PDF

Info

Publication number
CN100454818C
CN100454818C CNB2004100351362A CN200410035136A CN100454818C CN 100454818 C CN100454818 C CN 100454818C CN B2004100351362 A CNB2004100351362 A CN B2004100351362A CN 200410035136 A CN200410035136 A CN 200410035136A CN 100454818 C CN100454818 C CN 100454818C
Authority
CN
China
Prior art keywords
computer system
link
action
state records
party
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.)
Expired - Fee Related
Application number
CNB2004100351362A
Other languages
English (en)
Other versions
CN1540921A (zh
Inventor
J·A·泰罗
W·钟
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1540921A publication Critical patent/CN1540921A/zh
Application granted granted Critical
Publication of CN100454818C publication Critical patent/CN100454818C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L19/00Joints in which sealing surfaces are pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts
    • F16L19/06Joints in which sealing surfaces are pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts in which radial clamping is obtained by wedging action on non-deformed pipe ends
    • F16L19/061Joints in which sealing surfaces are pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts in which radial clamping is obtained by wedging action on non-deformed pipe ends a pressure ring being arranged between the clamping ring and the threaded member or the connecting member
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L33/00Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses
    • F16L33/22Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses with means not mentioned in the preceding groups for gripping the hose between inner and outer parts
    • F16L33/223Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses with means not mentioned in the preceding groups for gripping the hose between inner and outer parts the sealing surfaces being pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts
    • F16L33/224Arrangements for connecting hoses to rigid members; Rigid hose connectors, i.e. single members engaging both hoses with means not mentioned in the preceding groups for gripping the hose between inner and outer parts the sealing surfaces being pressed together by means of a member, e.g. a swivel nut, screwed on or into one of the joint parts a clamping ring being arranged between the threaded member and the connecting member
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Abstract

参与计算机系统参与多方会议会话的资格信息通过和一个或多个相邻计算机系统间歇地交换链路数据库而被分配。链路数据库包括一个或多个链路状态记录,每个链路状态记录标识参与计算机系统和被逻辑地链接到参与计算机系统上的相邻计算机系统的列表。当新的计算机系统加入或参与计算机系统离开多方会话时,这个加入或离开的变化被反映到相应的相邻计算机系统的链路数据库中。当相邻计算机系统交换链路数据库时,变化最终被传播到所有参与计算机系统。因此,参与计算机系统连续地过渡到稳定状态,稳定状态中每个参与计算机系统知道其他参与计算机系统和与其他参与计算机系统有关的逻辑链路。

Description

分配用于多方应用层会话的资格信息
发明的技术领域
本发明涉及计算机网络,尤其涉及分配用于多方应用层会话的资格信息。
背景和相关领域
计算机网络通过使得一个计算机或设备(在下文中两者都被称为“计算系统”)使用电子报文经由网络与另一个计算系统通信来增强我们通信和访问信息的能力。当在计算系统之间传输电子报文时,电子报文常常经过对电子报文中的数据执行操作的协议栈(如,分组化、路由、流量程控制)。开放系统互连(0SI)模型是用于完成协议栈的连网框架的一个例子。
开放系统互连模型将用于将电子报文传输的操作分开为7个不同“层”中,每层被指定来完成数据传输进程中的某些操作。虽然协议栈能潜在地实现每层,但是许多协议栈仅仅实现用于通过网络传输数据的选择性的层。当数据从计算系统处发出时,它在应用层处始发并被向下传递到中间低层,然后到网络上。当数据从网络处被接收时它进入物理层并被向上传递至中间高层,然后最终到达应用层。应用层,是最高层,负责支持应用和终端用户处理,例如,电子会议软件。
协议栈的低层的功能一般从应用层中被抽取出来。即,应用层数据通过低层被传输至应用层和从应用层传输来,而不需要向应用层暴露其低层的功能。抽取可以使它对于不同计算系统处的许多应用层进程来说好象应用层进程是直接被相互连接的(当事实上在相应的协议栈中的低层将数据作为在应用层进程之间传输的数据来处理)。因此,在两个应用层进程之间的通信可被看作逻辑连接而不管使通信容易的底层物理网络。
通常,当计算系统要相互通信时,计算系统先建立通信会话。这可包括在多个不同计算系统处的应用层进程建立多方应用层会话,例如,多方会议会话。为建立多方会议会话,在每个计算系统处的会议应用程序相互逻辑地连接起来。逻辑连接一般导致计算系统被配置成逻辑层次结构的结构,如,T.120会议会话。
被逻辑连接的会议应用然后选择控制计算系统作为逻辑层次结构的根。逻辑层次结构中的其他计算系统可以是叶计算系统(在逻辑层次结构中没有其他计算系统在它们下面的计算系统)或中间计算系统(在逻辑层次结构中根计算系统和叶计算系统之间的计算系统)。控制计算系统使得在逻辑层次结构中其他计算系统之间的会议数据的传输容易。每个中间和叶计算系统维持用于向根计算系统发送会议数据和从根计算系统接收会议数据的(与逻辑连接相关的)链路信息。同样地,控制计算系统维持用于向中间计算系统和叶计算系统发送会议数据和从中间计算系统和叶计算系统接收会议数据的链路信息。
一般而言,会议数据在逻辑层次结构的一个分支中的中间或叶计算系统处始发。中间或叶计算系统沿逻辑层次结构向上将会议数据传输到控制计算系统。控制计算系统然后沿逻辑层次结构向下将会议数据传输到逻辑层次结构中的所有中间和叶计算系统。因此,在一般的会议会话期间,所有会议数据流过控制计算系统。
然而,逻辑层次结构的一个分支中的中间或叶计算系统一般不直接与逻辑层次结构的任何其他分支中的中间或叶计算系统通信。因此,逻辑层次结构的一个分支中的中间和叶计算系统即使有的话也极少需要维持用于逻辑层次结构的其他分支中的中间和叶计算系统的链路信息。因为所有会议数据流过控制计算系统,中间或叶计算系统的故障不影响向包括失效计算系统的相应分支以外的计算系统的会议数据的传输。因此,当中间或叶计算系统失效时,会议数据仍可向其他分支中的计算系统传输。
在逻辑层次结构中不幸的是,控制根计算系统的故障可在多方会议会话的会议数据的传输上有显著不良影响。当控制根计算系统失效时,逻辑层次结构中的其他计算系统过渡到选举模式。在选举模式期间,会议数据的传输被挂起,而其他计算系统试图选举出新的控制根计算系统。
一般被实现来选举出新的根控制计算系统的选举算法可以相当复杂,并且需要几秒的数量级来完成。因为在选举期间没有数据被传输,在选举算法执行期间用户体验被显著降级。也可能是其他计算系统起初就不同意将被选举为根控制计算系统的计算系统。所以,选举算法可被执行许多次,持续直至合适的选举结果达成。这可以加长选举处理并进一步使用户体验降级。还有,也可能是合适的选举结果没有达成(如,选举算法不能自动选举出新的控制计算系统)。因此,需要系统管理员的技能来重置多方会议会话和/或选择新的控制根计算系统。
当多方会议会话的计算系统在选举模式中时,也可防止另外的计算系统加入多方会议会话。可给予在选举模式期间试图加入多方会议会话的用户计算系统一个多方会议会话不存在的假指示。这可以导致即使多方会议会话已建立并且会议数据随后继续被传输(一旦新控制根计算系统被选举出来),用户终止进一步连接至多方会议会话的努力的结果。因此用于分配多方应用层会话的资格信息的系统、方法、计算程序产品,以及数据结构是有利的。
发明的概述
本领域当前情况的上述问题由本发明的原理来克服,发明针对用于分配多方应用层会话的资格信息的方法、系统、计算机程序产品、以及数据结构。多方应用层会话,如,多方会议会话,包括许多参与计算机系统。多个不同网络技术(如,以太网、令牌环、802.11等)可将不同参与计算机系统物理地连接至多方会议会话上。在每个参与计算机系统处的会议应用被相互逻辑地链路起来(如,会议应用链路被从物理连接中抽取),导致一逻辑图,如,层次结构的树。可能是一个参与计算机系统处的会议应用被逻辑地链接到多个其他参与计算机系统处的会议应用。
通过向参与多方会议会话的邀请计算机系统发送一个问候报文,加入计算机系统可试图加入多方会议会话(或向多方会议会话表示它仍是激活的)。邀请计算机系统接收问候报文并且更新邀请方链路数据库以指明邀请计算机系统被逻辑地链接到加入计算机系统。邀请方计算机系统向加入计算机系统发送更新的邀请方链路数据库。更新的邀请方链路数据库至少包括指明邀请计算机系统被逻辑地链路至加入计算机系统的邀请方链路状态记录。当邀请计算机系统已参与多方会议会话时,邀请方链路数据库可包括其他参与计算机系统的链路状态记录。
链路状态记录至少包括计算机系统标识符、时间标记以及相邻计算机系统的逻辑链路的列表。因此,当加入计算机系统加入多方会议会话时,加入计算机系统可接收包括其他参与计算机系统和连接其他参与计算机系统的逻辑链路的链路数据库。因此,当一个参与计算机系统失效时,其他参与计算机系统可更容易地从失效中恢复,并且多方会议会话可继续而不明显降低用户体验。
加入计算机系统接收更新的邀请方的链路数据库,并且用来自于邀请方链路数据库的链路状态记录潜在地更新加入方链路数据库。更新加入方链路数据库可包括将加入方链路数据库中的时间标记和接收到的邀请方链路数据库中的时间标记相比较。当接收到的邀请方链路数据库中的链路状态记录是最新的,加入方链路数据库可被来自于接收到的邀请方链路数据库中的链路状态记录更新。当加入方链路数据库没有参与计算机系统的链路状态记录时,来自于接收到的邀请方链路数据库的相应的链路状态记录被用来更新加入方链路数据库。
合适时,加入计算机系统也插入(或更新)加入方链路数据库中的加入方链路状态记录以表示加入计算机系统被逻辑地链接到邀请计算机系统。加入计算机系统向邀请计算机系统发送加入方链路状态记录。邀请计算机系统可向其他参与计算机系统转发接收方链路状态记录(还有更新的邀请方链路数据库)。因此,参与计算机系统连续地向稳定状态过渡,稳定状态中每个参与计算机系统知道其他参与计算机系统和与其他参与计算机系统相关的逻辑链路。
在一些实施例中,修复计算机系统检测到链路数据不再从相邻计算机系统处(如,被表示为被逻辑地链接到修复方链路状态记录中的修复计算机系统的参与计算机系统)被接收。因此,修复计算机系统将相邻计算机系统从相邻计算机系统(如,被包含在修复方链路状态记录中的)的修复计算机系统列表中删除,并且将相邻计算机系统链路状态记录从修复方链路数据库中删除。根据修复方链路数据库中的链路数据,修复计算机系统标识逻辑上不能达到的参与计算机系统的列表。为了修复多方会议会话,修复计算机系统试图加入至少一个逻辑上不能达到的参与计算机系统。
发明的其他特征和优点将在随后描述中被公布,阅读描述或从发明的实践中,部分的其他特征和优点将显而易见。通过后附权利要求书中特别指出的方法和组合,可实现和获得发明的特征和优点。阅读下列描述和后附权利要求书,将更清楚本发明的这些和其他特征,或通过下文中所公布的发明的实践来了解本发明的这些和其他特征。
附图概述
为了描述可获得上述和发明的其他优点和特征的方式,将通过参照附图中所说明的发明的特定实施例来描绘以上简述的发明的更特定的描述。要理解的是,这些附图仅仅描绘了发明的典型实施例,并且不因此被认为是发明范围的限制,通过附图的使用将更具体和详细描述和解释发明,图中:
图1说明了用于本发明原理的合适的操作环境。
图2A说明了依据本发明的原理的使得便于加入多方会议会话的网络结构的例子。
图2B说明了依据本发明的原理的使得便于修复多方会议会话的网络结构的例子。
图3说明了用于加入多方会议会话的方法的举例的流程图。
图4说明了用于修复多方会议会话的方法的举例的流程图。
较佳实施方式的详细描述
本发明的原理提供了分发用于多方应用层会话的资格信息。在多方会议会话中的参与计算机系统间歇地向其他参与计算机系统发送心跳报文来验证先前在参与计算机系统之间建立的逻辑链路。同样地,加入计算机系统可向参与计算机系统发送问候报文(实际上是将加入计算机系统介绍给邀请计算机系统的心跳报文)以试图加入多方会议会话。为响应接收到问候报文,参与计算机系统向发送问候报文的计算机系统(参与的或加入的)返回一个或多个链路状态记录。发送问候报文的计算机系统可使用返回的一个或多个链路状态记录来更新参与计算机系统的链路数据库。每个链路状态记录包括标识参与计算机系统的计算机系统标识符、时间标记、以及参与计算机系统的相邻计算机系统的列表。
在一些实施方式中,修复计算机系统检测到链路数据不再从相邻计算机系统处被接收(如,没有链路状态记录被接收以响应心跳报文)。为响应检测到链路数据不再被接收,修复计算机系统将与相邻计算机系统有关的链路数据从修复方链路数据库中删除。加入计算机系统试图通过连接至至少一个逻辑上不能达到的参与计算机系统来修复多方会议会话。当逻辑链路被建立时,修复方数据库可被传播到其他参与计算机系统。因此,参与计算机系统连续地过渡到稳定状态,在稳定状态中每个参与计算机系统知道其他参与计算机系统之间的逻辑链路。
本发明范围中的实施例包括用于携带或具有存储在其上的计算机可执行指令或数据结构的计算机可读媒体。这样的计算机可读媒体可以是任何可获得的媒体,媒体可被通用或专用计算机系统访问。作为例子,而非限制,这样的计算机可读媒体可包括诸如RAM、ROM、EPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备的物理存储媒体,或任何其他以计算机可执行指令、计算机可读指令或数据结构的形式存在的被用来携带或存储所需程序码装置的,以及可被通用或专用计算机系统访问的媒体。
当信息经由网络或其他通信连接(或者是硬连线的、无线的,或者是硬连线的或无线的组合)被传输或提供给计算机系统时,该连接可被适当地看作是计算机可读媒体。因此,任何这样的连接被适当地称作计算机可读媒体。上述的组合也应被包括在计算机可读媒体的范围内。计算机可执行或计算机可读指令包括,例如,使得通用计算机系统或专用计算机系统完成某些功能或功能组的指令和数据。计算机可执行或计算机可读指令可以是,例如,二进制、诸如汇编语言的中间格式指令,或甚至源码。
“计算机系统”被定义为一个或多个软件模块、一个或多个硬件模块、或其组合,它们共同工作来完成电子数据上的操作。例如,计算机系统的定义包括个人计算机的硬件组件、以及软件模块,如个人计算机的操作系统。模块的物理布局不重要。计算机系统可包括经由网络耦合的一个或多个计算机。同样地,计算机系统可包括单个物理设备(如,移动电话或个人数字助理PDA),其中内部模块(如存储器和处理机)一起工作来完成对电子数据的操作。
“逻辑通信链路”被定义为使得在两个诸如计算机系统或模块的实体之间的电子数据的传输成为可能的任何通信路径。两个实体之间的通信路径的实际物理表示不重要并且可随时间改变,如,当路由路径被改变时。逻辑通信链路可包括系统总线的部分、局域网、广域网、因特网,及其组合,或便于电子数据的传输的任何其他路径的部分。逻辑通信链路被定义成包括硬连线链路、无线链路、或硬连线链路和无线链路的组合。逻辑通信链路也可包括为使得数据部分对于实现本发明原理的组件来说是可访问的、对部分数据调整或格式化的软件或硬件模块(如代理服务系统、路由器、网关等等)。
“模式”被定义为在多个计算机系统之间的共享词汇的表示,它使得多个计算机系统能够根据所表达的共享词汇来处理文档。例如,可扩展标记语言(“XML”)模式可定义和描述使用由XML模式语言的模式构造的一类XML文档。这些模式构造可被用来约束和文档化数据类型、元素以其内容、属性及其数值、实体及其内容、以及标注的含义、使用以及关系,如在XML文档中使用的。因此,可访问XML模式的任何计算机系统可依据XML模式处理XML文档。还有,可访问XML模式的任何计算机系统可编辑或修改被也可访问XML模式的其他计算机系统使用的XML文档。
模式被定义成包括“文档类型定义”(“DTD”),如,以“.dtd”扩展名结尾的DTD文件。模式也可被定义成包括万维网协会(“W3C”)XML模式,如,以“.xsd”扩展名结尾的XML模式文件。然而,用于特定DTD或XML模式的实际文件扩展名是不重要的。模式可被用来实际定义包括逻辑、二进制、八进制、十进制、十六进制、整数、浮点、字符、字符串、用户定义数据类型的任何数据类型,以及用来定义数据结构的这些数据类型的组合。XML元素、属性、以及属性值可由在模式中定义的数据类型来表达。“基于模式”指的是由模式定义的和/或依据模式的。
“链路数据”一般被定义成包括,而非限制,与至多方会议会话中的其他计算机系统的计算机系统链路有关的信息。链路数据被定义成包括链路数据库、链路状态记录、计算机系统标识符、时间标记、以及相邻列表。链路数据也可被定义成包括描述由计算机系统标识符标识的计算机系统的元数据。
本领域的熟练技术人员会理解,发明可在具有许多类型计算机系统配置的网络计算环境中被实践,包括路由器、网关、防火墙、代理服务系统、个人计算机、膝上型个人计算机、手持式设备、多处理机系统、基于微处理机或可编程消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机等等。发明也可在分布式系统环境中被实践,其中本地和远程计算机系统,都通过网络被链接的(或者通过硬连线链路、无线链路,或者通过硬连线链路和无线链路的组合),完成任务。在分布式系统环境中程序模块可位于本地和远程存储器存储设备中。
图1和下列讨论旨在提供合适计算环境的简要的、一般的描述,发明可在此环境中被实现。尽管没有要求,用由计算机系统执行的计算机可执行指令,如程序模块,的一般内容来描述发明。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,这些完成特定任务或实现特定的抽象数据类型。计算机可执行指令、相关的数据结构、以及程序模块表示用于执行在此文中公布的方法的动作的程序码装置的例子。
根据图1,用于发明原理的合适的操作环境包括以计算机系统100形式存在的通用计算机系统。计算机系统100可以是,例如,用来完成在此文中公布的操作的个人计算机。
计算机系统100包括从输入装置如键盘、话筒或鼠标器接收信息的用户输入接口170。输入装置可以与用户输入接口170耦合在一起,从而使得能够输入信息。输入装置可以根据预编程数据或输入装置的用户操作,通过某一耦合来传递信息。
计算机系统100包括向外部视频显示设备提供视频输出信号的视频输出接口150。计算机系统100可以和视频显示设备,如彩色或单色计算机监视器,整体地放置在一起或分开。为了接收所提供的视频输出信号,视频显示设备可被耦合到视频输出接口150。
相似地,计算机100系统包括向外部音频输出设备提供音频输出信号的音频输出接口130。计算机系统100也可和音频显示设备,包括扬声器或其他能发射声音数据的设备,整体地放置在一起或分开。为了接收所提供的音频输出信号,音频系统也可被耦合到音频输出接口130。
计算机系统100包括处理单元120,它考虑复杂的和灵活的通用处理能力。处理单元120执行被设计来完成计算机系统100特征的,包括本发明特征的,计算机可执行指令。处理单元120被耦合到系统总线110上,系统总线也互连各种各样其他系统组件,包括系统存储器140。
系统存储器140一般表示种类繁多的易失和/或非易失存储器,并且也可包括以前所讨论的存储器类型。然而,计算机系统100中所用的特定类型的存储器对本发明来说是不重要的。包含一个或多个程序模块的程序码装置可被存储在系统存储器140中。一个或多个程序模块可包括操作系统141、一个或多个应用程序142、其他程序模块143以及程序数据144。
计算机系统100也包括用于从磁硬盘139读取或写入的磁硬盘驱动器127。磁硬盘驱动器127通过大容量存储器接口160被连接至系统总线110。磁硬盘驱动器127和磁硬盘139向计算机系统100提供计算机可执行指令、数据结构、程序模块和其他数据的非易失存储。例如,磁硬盘139可存储一个或多个包括操作系统144、应用程序142、其他程序模块143以及程序数据144的程序模块。
计算机系统100可连接至网络,如,办公室范围网或企业范围网、内联网、和/或因特网。计算机系统100经由这样的网络可与外部源,如,远程计算机系统和/或远程数据库,交换数据。
计算机系统100包括网络接口180,通过该接口计算机系统100从外部源接收数据,和/或向外部源发送数据。如图1所示,网络接口180使得经由逻辑通信链路182和远程计算机系统183的数据交换容易。逻辑通信链路182表示网络的部分,并且远程计算机系统183代表网络的节点。例如,远程计算机系统183可以是试图加入计算机系统100的加入计算机系统。另一方面,远程计算机系统183可以是计算机系统100试图加入的邀请计算机系统。
同样地,计算机系统100包括串行口接口190,通过该接口计算机系统100从外部源接收数据,和/或向外部源发送数据。串行口接口190经由逻辑通信链路159被耦合到调制解调器191,通过逻辑通信链路159计算机系统100从外部源接收数据,和/或向外部源发送数据。如图1所示,串行口接口190和调制解调器191使得经由逻辑通信链路192和远程计算机系统193的数据交换容易。逻辑通信链路192表示网络的一部分,并且远程计算机系统193代表网络的一个节点。例如,远程计算机系统193可以是试图加入计算机系统100的加入计算机系统。另一方面,远程计算机系统193可以是计算机系统100试图加入的邀请计算机系统。
虽然图1表示用于本发明的合适的操作环境,本发明原理可在能够完成本发明原理的任何系统中被使用,必要时具有适当的修改。图1所示的环境仅仅是说明性的,并且决不表示种类繁多的环境的甚至一小部分,本发明原理可在此环境中被实现。
依据本发明,链路数据处理模块、以及相关数据,包括链路数据库、链路状态记录、计算机系统标识符、时间标记、相邻列表、元数据、以及模式,可被存储在与计算机系统100相关的任何计算机可读媒体上并被从与计算机100相关的任何计算机可读媒体中访问。例如,部分这样的模块和部分相关程序数据可被包含在操作系统141、应用程序142、程序模块143和/或程序数据144中,用于在系统存储器140中的存储。
当大容量存储设备,如,磁硬盘139,被耦合到计算机系统100上时,这样的模块和相关程序数据也可被存储到大容量存储设备上。在联网的环境中,有关计算机系统100的描述的程序模块,或其部分,可被存储在远程存储器存储设备中,例如,与远程计算机系统183和/或远程计算机系统193有关的系统存储器、和/或大容量存储设备。这样的模块的执行可被在如前所述的分布式环境中完成。
图2说明了举例的多方会议会话200的网络结构。为了清楚,多方会议会话200被表示为逻辑图。逻辑图表示将参与多方会议会话200的参与计算机系统之间的基础物理连接抽取。还有,尽管没有清楚地描述,参与计算机系统之间的基础物理连接可以是实际任何网络技术的连接(如,令牌环、以太网、IEEE802.11、数字用户线(“DSL”)、异步传送模式(“ATM”)、综合业务数字网(“ISDN”)、以及电缆数据服务接口规范(“DOCSIS”))。每个参与计算机系统可被物理地、不同地连接至多方会议会话200。
参与多方会议会话200的是计算机系统202、203、204、207和208(在下文中称为“参与计算机系统”)。参与计算机系统通过相应的逻辑通信链路211至214以及相应的逻辑通信链路216至219(在下文中简称为“链路”)被链接。在多方会议会话200中描述的每条链路与始发计算机系统和目标计算机系统相联系。没有箭头的链路的一端表明链路的起始端,而有箭头的链路的一端表明链路的终止端。例如,链路216在计算机系统203处始发,并且在计算机系统207处终止。
有可能的是在参与计算机系统之间的基础物理连接根据数据流的方向变化。因此计算机系统可以被多重链接以表示数据流的不同方向。例如,用于从计算机系统203到计算机系统202的数据路径的基础物理连接(链路212)与从计算机系统202到计算机系统203的数据路径的基础物理连接(链路211)可以是不同的。在多方会议会话200中的每个参与计算机系统可包括包含一个或多个链路状态记录的链路数据库以及处理包含在和/或来自于链路状态数据库的链路数据的链路数据处理模块。链路数据可包括表明计算机系统是多方应用层会话的成员以及是多方应用层会话的成员的计算机系统如何被连接的资格控制信息。
多方会议会话200可以是实时会议会话。因此,会议数据、如,音频和视频数据,可以在参与计算机系统之间被传输。会议数据的传输可以发生使得在每个参与计算机系统处的会议参与者可听到和/或看见所有其他会议参与者在干什么。例如,会议数据可被一个参与计算机系统处的会议应用检测到,并且被传输到其他参与计算机系统处的相应的会议应用用于在其他参与计算机系统处重现。
参与计算机系统可不时地向其他参与计算机系统发送心跳报文以验证以前建立的链路仍然存在。为响应接收到心跳报文,发送参与计算机系统可向接收参与计算机系统发送一发送方链路数据库。接收参与计算机系统将发送方链路数据中的时间标记(或版本数字)与接收方链路数据中的时间标记(或版本数字)相比较。当比较的结果是合适的话,接收计算机系统用来自于发送方链路数据库的链路状态记录来更新接收方链路数据库。因此,参与计算机系统连续地向稳定状态过渡,在稳定状态中每个参与计算机系统知道其他参与计算机系统以及与其他计算机系统有关的所有链路。
链路数据库可包括每个参与计算机系统的链路状态记录。例如,表1逻辑地表示用于多方会议会话200中的参与计算机系统的链路数据库的例子:
  计算机系统   版本   相邻
  202   4   203
  203   3   202,204,207
  204   1   203
  207   5   203,208
  208   1   207
表1
由表1表示的链路数据库可以是在加入计算机系统206试图加入多方会议会话200之前,多方会议会话200中每个参与计算机系统处的链路数据库(如链路数据库238)。表1的每行表示参与计算机系统的链路状态记录。例如,计算机系统207的行表明版本数字“5”以及计算机系统207具有至计算机系统203(链路217)和至计算机系统208的链路(链路218)。
链路状态记录可以是用来维持参与计算机系统的链路数据的数据结构。例如,参与多方会议会话200的每个参与计算机系统可以与相应的链路状态记录联系起来。链路状态记录实际上可以是具有任何格式。然而,下列是表示链路状态记录的举例的链路数据结构:
1.Link_State_Record
2.{
3.       Computer System Identifier Field,
4.       Computer System Metadata Field,
5.       Neighbour List Field,
6.       Timestamp Field,
7.}
举例的链路数据结构的行3是表示标识参与计算机系统的计算机系统标识符的“计算机系统标识符字段”。计算机系统标识符值可包括,例如,网络地址(如,互连网协议(“IP”)地址)或统一资源标识符(“URI”)(如,统一资源定位器“URL”))。举例的链路数据结构的行4是表示用来描述行3中标识的参与计算机系统的元数据的“计算机系统元数据字段”。元数据值可包括,例如,用于引用在行3中标识的参与计算机系统的描述性名字。
举例的链路数据结构的行5是表示用于行3中标识的参与计算机系统的相邻计算机系统列表。相邻列表值可包括,例如,标识被连接到行3中标识的参与计算机系统的其他参与计算机系统的多个计算机系统标识符。举例的链路数据结构的行6是表示行3中标识的参与计算机系统生成举例的链路数据结构的时间。时间标记值可包括,例如,绝对时间值(如12;05PM)、差分时间值(如5分钟)、版本数字(如1、2、3等)、或索引值。索引值实际上可以是任何数据类型,如,串、字符、整型、浮点、或甚至用户定义的数据类型。
有可能的是参与多方会议会话200的计算机系统公布一个或多个可被加入计算机系统用来试图加入多方会议会话200的入口点(如,计算机系统地址和路由信息)。例如,计算机系统208可公布可被用来连接至计算机系统208的相关IP地址。还有,根据与计算机系统208相关的网络组件,计算机系统208可公布至计算机系统208的合适路由数据的路由信息。入口点和路由信息可被公布在位于处理链路数据的应用层(如会议应用)之下的协议栈的低层(如,网络层和/或传输层)。因此,在参与计算机系统交换链路数据以建立逻辑链路之前,低层连接数据(如,网络层数据和/或传输层数据)可被计算机系统交换。计算机系统可通过发送和接收低层协议(如,IP,传输控制协议(“TCP”)、用户数据报协议(“UDP”)等等)的电子报文(如,分组、帧等等)来交换低层连接数据。
低层连接数据的交换可包括参与计算机系统和请求加入多方会议会话200的加入计算机系统交换安全信息。安全信息可包括用于验证参与计算机系统以及验证加入计算机系统的公钥。例如,群公钥可被提供给加入计算机系统来验证参与计算机系统。加入计算机系统公钥、名称、以及会话标识符可用群公钥来签名。群公钥签名使得参与计算机系统能够加入计算机系统试图加入多方会议会话200时对它验证和授权。在一些实施方式中,邀请计算机系统的公钥被用来签名加入计算机系统公钥、名字、以及会话标识符。
图3说明了用于加入多方会议会话的方法300的流程图。方法300将关于图2A中描绘的计算机系统来描述。
方法300包括发送问候报文的动作(动作301)。动作301可包括加入计算机系统向邀请计算机系统发送问候报文。例如,如图2A所述,加入计算机系统206向计算机系统208发送问候报文222。问候报文实际上是向参与多方应用层会话的计算机系统介绍未被连接的加入计算机系统的心跳报文。例如,问候报文222可向计算机系统208介绍加入计算机系统206,并且可包括加入多方会议会话200的请求。方法300包括接收问候报文的动作(动作305)。动作305可包括邀请计算机系统接收来自于加入计算机系统的问候报文。例如,如图2A所述,计算机系统208接收来自于加入计算机系统206的问候报文222。
方法300包括更新邀请方链路数据库的动作(动作306)。动作306可包括更新邀请方链路数据库以表明邀请计算机系统被链接到加入计算机系统上。邀请方链路数据库可被更新以响应接收到问候报文。例如,为响应接收到问候报文222,链路数据处理模块248可更新链路数据库238以表明计算机系统208被链接至加入计算机系统206。
更新链路数据库238可包括将计算机系统标识符值增加到合适的相邻列表上(如,包含在与计算机系统208对应的链路状态记录中的相邻列表)以表明加入计算机系统206是计算机系统208的一个相邻。更新链路状态记录也可包括改变时间标记字段的时间标记值,如,通过增加版本数字,以表明链路状态记录被改变。在一些实施方式中,参与计算机系统仅仅被允许更新具有标识参与计算机系统的计算机系统标识符字段值的链路状态记录。因此,当链路状态记录在另一个参与计算机系统处被接收时,包含在链路状态记录中的链路数据是准确的将有更多的机会。
方法300包括发送更新的邀请方链路数据库的动作(动作307)。动作307可包括邀请计算机系统向加入计算机系统发送更新的邀请方链路数据库。邀请方链路数据库至少包括表明邀请计算机系统被链接至加入计算机系统的链路状态记录。例如,计算机系统208在更新了链路数据库238之后向计算机系统206发送链路数据库238以表明计算机系统208被链接至加入计算机系统206上。在一些实施方式中,同步报文被用来传输来自于更新的链路数据库的数据。
应该理解的是本发明不限制于使用任何特定传输协议和格式的报文传输。然而,可用来完成本发明原理的举例的协议被称为简单对象访问协议(“SOAP”)。来自于链路数据库238的链路数据可被包括在SOAP报文中,SOAP报文使用任何数量的低层协议,如,超文本传输协议(“HTTP”)或直接因特网报文封装作为传输。下列表示包含在SOAP包封的报头和/或本体中的以表示包括来自于链路数据库238的链路数据的同步报文的第一个举例的XML指令。
1.<Sync from=“soap://address_208”interval=“3”>
2.  <Node uri=“soap://address_202”name=“Node 202”version=“4”>
3.     <Link uri=“soap://address_203”>
4.  </Node>
5.  <Node uri=“soap://address_203”name=“Node 203”version=“3”>
6.      <Link uri=“soap://address_202”>
7.      <Link uri=“soap://address_204”>
8.      <Link uri=“soap://address_207”>
9.  </Node>
10. <Node uri=“soap://address_204”name=“Node 204”version=“1”>
11.     <Link uri=“soap://address_203”>
12. </Node>
13. <Node uri=“soap://address_207”name=“Node 207”version=“5”>
14.     <Link uri=“soap://address_203”>
15.     <Link uri=“soap://address_208”>
16. </Node>
17. <Node uri=“soap://address_208”name=“Node 208”version=“1”>
18.     <Link uri=“soap://address_207”>
19. </Node>
20. </Sync>
第一个举例的XML指令中的元素(如,在<Sync>和</Sync>之间)可包括一个或多个自由格式的XML文件。同样地,第一个举例的XML指令中的元素可包括依据加入多方会议会话200的计算机系统可访问的XML模式所定义的一个或多个XML文档。当模式(如,XML模式)被用来约束数据结构(如,XML数据结构)中的数据类型的含义时,定义链路数据如何被表示将有更大的灵活性。
第一个举例的XML指令表示加入多方会议会话200的计算机系统的链路状态记录。第一个举例的XML指令的第一行表明所包含的链路状态记录被从计算机系统208处发送(由所包含的URI表明),并且接收链路状态记录的计算机系统(如,加入计算机系统206)应在因特网信息包搜寻协议间隔3中应答。因特网信息包搜寻协议间隔可以是任何单位,如,毫秒、秒或分钟。在基于因特网信息包搜寻协议间隔的特定门限内计算机系统208不能接收来自于接收计算机系统的响应是链路数据不再从接收计算机系统处被接收的一种指示。
每个链路状态记录(如,在行2-4、行5-9、行10-12、行13-16以及行17-19)由相应的“节点”标记(如,在<Node>和(/Node>之间)表示。一定数目的名值对可被用来表示包含在链路状态记录中的链路数据。例如,行13处的名值对表示“uri”属性和“soap://address_207”的相应的uri属性值。值soap://address_207是标识计算机系统207的统一资源标识符(“URI”)(如,在计算机系统标识符字段中所表示的)。因此,将被发送至计算机系统207的链路数据可被发送到URIsoap://address_207。行13处的另一个名值对表示Node 207”“name”属性和”相应的名字属性值。值Node207是计算机系统207的描述名(如,在计算机系统元数据字段中所表示的)。因此,当涉及计算机系统207时,描述名Node 207可被使用。
行13处的另一个名值对表示“version”属性和相应的版本属性值“5”。值5是计算机系统207的链路状态记录的版本(如,在时间标记字段中所表示的)。当计算机系统更新相应的链路状态记录时,计算机系统可改变版本属性值(如,通过增加版本属性值)来区分更新链路状态记录和以前的链路状态记录。因此,当计算机系统接收更新的链路数据,如,链路数据库238时,接收计算机系统可将当前链路状态记录的版本数字和接收到的链路状态记录的版本数字相比较以决定最新的链路状态记录。当链路数据库238中的链路状态记录比接收计算机系统处的链路状态更加新时,接收计算机系统处的链路数据库被更新以将最新链路状态记录包括在内。
行14表示从计算机系统207至计算机系统203的链路(链路217),行14处的名值对表示“uri”属性和相应的uri属性值“soap://address_203”。因此,为了向计算机系统203发送链路数据,计算机系统207可向URI soap://address_203发送链路数据。行15表示从计算机系统207至计算机系统208的链路(链路218),行15处的名值对表示“uri”属性和相应的uri属性值“soap://address_208”。因此,为了向计算机系统208发送链路数据,计算机系统207可向URIsoap://address_208发送链路数据。行14和15可在相邻列表字段中被共同表示。
其他节点标记的属性以及属性值(在行2-4、行5-9、行10-12、以及行17-19处)表示相应参与计算机系统202、203、204和208的类似的链路数据。在一些实施方式中,第一个举例的XML指令被包含在SOAP包封的报头中,而应用数据(如,会议数据)被包含在SOAP包封的本体部分中。因此,链路数据的更新可以是和会议数据一起传输而不需要生成单独的电子报文。
在一些实施方式中,问候报文(如,与在动作301和305中使用的相似)或其他心跳报文采用同步报文的形式。因此,在试图加入多方应用层会话或重新建立与多方应用层会话的连接时,加入计算机系统或参与计算机系统可向邀请计算机系统或其他参与计算机系统提供链路状态数据。接收以同步报文形式存在的问候或心跳报文的计算机系统可更新相应的链路数据库以将包含在同步报文中链路状态数据包括在内。当加入计算机系统已经和其他计算机系统连接时(如,当两个多方应用层会话将被相互连接时),这可以特别有利。
在一些其他实施方式中,问候报文或其他心跳报文是不包括任何节点标记的SOAP报文。下列表示可被包括在SOAP的报头和/或本体内的以表示问候或心跳报文的第二个举例的指令:
1.   <Sync from=“soap://address_204”interval=“2”>
2.   </Sync>
在第二个举例的XML指令中的同步标记中所表示的数据可以与包括链路状态数据(如,一个或多个节点标记)的同步报文(如在第一个举例的XML指令)中所表示的数据是同样的格式。因此,同样的模式可用来约束问候报文、心跳报文、以及同步报文中的数据类型的含义。这促进了问候报文、心跳报文以及同步报文的有效处理。行1处,第二个举例的XML指令表明(由所包括的URI)它们被从计算机系统204处发送并且接收第二个举例的XML指令的计算机系统应在因特网信息包搜寻协议间隔2内应答。
回到图3,方法300包括接收邀请方链路数据库的动作(动作302)。动作302包括加入计算机系统接收来自于邀请计算机系统的邀请方链路数据库。例如,加入计算机系统206可接收来自于计算机系统208的链路数据库。
方法300包括更新加入方链路数据库的动作(动作303)。动作303可包括更新加入方链路数据库以至少表明加入计算机系统被链接到邀请计算机系统。例如,链路数据处理模块246可更新链路数据库236以将表明加入计算机系统206被链接到计算机系统208的链路状态记录据包括在内。依据合适的时间标记值,链路数据处理模块236也可更新链路数据库236以将来自于链路数据库238的其他链路状态记录包括在内。因此,加入计算机系统206知道多方会议会话200中的其他参与计算机系统以及它们相应的链路。
方法300包括发送更新的加入方链路状态记录的动作(动作304)。动作304可包括加入计算机系统向邀请计算机系统发送更新的加入方链路状态记录。加入方链路状态记录可向邀请计算机系统表明加入计算机系统被链接到邀请计算机系统。例如,加入计算机系统206可向计算机系统208发送链路状态记录224。链路状态记录224可向计算机系统208表明加入计算机系统206被链接至计算机系统208。
方法300包括接收加入方链路状态记录的动作(动作308)。动作308可包括邀请计算机系统接收来自于加入计算机系统的加入方链路状态记录。例如,计算机系统208可接收来自于加入计算机系统206的链路状态记录224。链路处理模块248可更新链路数据库238以将链路状态记录224包括在内。加入计算机系统206现在被看作是参与计算机系统。
计算机系统208然后可向其他链路的参与计算机系统(如计算机系统207)发送更新的链路数据库238。这些其他计算机系统然后向多方会议会话200中的其他参与计算机系统(如计算机系统203、202和204)进一步传播(如,通过传输合适的同步报文)更新的链路数据库238。所以,在一个参与计算机系统处的链路数据中的变化最终漫流到其他参与计算机系统处。因此,多方会议会话200连续地过渡到稳定状态使得每个参与计算机系统知道其他参与计算机系统以及与其他参与计算机系统有关的相应的链路。
参与计算机系统可不时地试图重新加入多方会议会话200或向多方会议会话200中的其他计算机系统提供存活性。因此,方法300可在两个参与计算机系统之间被重复。在一些实施方式中,发送计算机系统向接收计算机系统发送发送方同步报文,或,如果没有发送方链路数据更新,则向接收计算机系统发送发送方心跳报文。发送计算机系统也向接收计算机系统表明发送方答复门限值。心跳报文可包括标识参与计算机系统的URI和因特网信息包搜寻协议间隔。
接收方计算机系统接收发送方同步报文或发送方心跳报文,并且通过向发送计算机系统发送接收方同步报文或,如果没有接收方链路数据更新,则发送接收方心跳报文来响应。接收方计算机系统也向发送计算机系统表明接收方答复门限值。当发送计算机系统在发送方答复门限值内接收接收方同步报文或心跳报文时,发送计算机系统将接收计算机系统看作是“存活的”。同样,发送计算机系统通过再次发送发送方同步报文或发送方心跳报文(以及表明另一个发送方答复门限值)以响应接收方同步报文或心跳报文。当接收计算机系统在接收方答复门限值内接收发送方同步报文或发送方心跳报文时,接收计算机系统将发送计算机系统看作是“存活的”。
多方会议会话中的每个参与计算机系统可以相同的方式与其他参与计算机系统交换同步报文和心跳报文。例如,计算机系统203可与计算机系统202、204和207的每个交换包含链路数据的同步报文。因此,在一个参与计算机系统处更新的链路数据被传播到(如通过传输合适的同步报文)其他参与计算机系统。例如,表明加入计算机系统206已加入多方会议会话200的链路数据被从计算机系统208处传播至计算机系统207,至计算机系统203等等。所以,在多方会议会话的任何期间,在参与计算机系统之间可能有一个或多个同步报文以及一个或多个心跳报文在被传输。
有可能的是,在多方会议会话的期间,参与计算机系统离开多方会议会话或失效,或参与计算机系统之间的链路失效。任何这些事件可导致一个参与计算机系统不能接收来自于其他参与计算机系统的链路数据(如在特定的门限内),图2B说明了在计算机系统207失效后的多方会议会话200。用虚线描述计算机系统207以展示来自于计算机系统207的链路数据没有在计算机系统203和208(先前相邻计算机系统)处被接收。同样,在图2B中描述的是连接加入计算机系统206和计算机系统208的链路235和236。这表明加入计算机系统206是参与计算机系统。
图4是用于修复多方会议会话的方法400的流程图。方法400将关于图2B中描绘的计算机系统来描述。方法400包括检测链路数据不再从相邻计算机系统处被接收到的动作(动作401)。动作401可包括修复检测到链路数据不再从相邻计算机系统处被接收的计算机系统。例如,在图2B中计算机系统203和计算机系统208都可检测到链路数据不再从计算机系统207(计算机系统203和计算机系统208的相邻列表中的计算机系统)处被接收到。当答复计时器期满时,可得到检测链路数据不再被接收的结果。例如,计算机系统203可向计算机系统207发送下列第二个举例的XML指令:
1.   <Sync from=“soap://address_203”interval=“4”>
2.   .
3.   .
4.   </Sync>
第二个举例的XML指令的行1表明第二个举例的XML指令被从与计算机系统203有关的URI处发送。行1还表明由行2-4垂直省略号表示的一个或多个链路状态记录有“4”的答复间隔。当计算机系统203在由答复间隔来计算的指定的门限内没有接收到来自于计算机系统207的答复时,计算机系统203检测到来自于计算机系统207的链路数据没有被接收到。指定的门限可以是,例如,答复间隔与两的乘积。这使得一个间隔用于第二个举例的XML指令的从计算机系统203传播到计算机系统207,一个间隔用于答复链路数据(例,链路数据库)从计算机系统207传播到计算机系统203。
方法400包括将相邻计算机系统从相邻计算机系统的修复计算机系统的列表中删除的动作(动作402)。方法400也包括将相邻计算机系统的链路状态记录从修复方链路数据库中删除的动作(动作403)。例如,当链路处理模块243检测到链路数据不再从计算机系统207处被接收时,链路处理模块243可更新链路数据库233以删除对计算机系统207的引用。同样地,当链路处理模块248检测到链路数据不再从计算机系统207处被接收时,链路处理模块248可更新链路数据库238以删除对计算机系统207的引用。因此,在计算机系统207失效后,合适更新的链路数据库233和238可由表2表示:
  计算机系统   版本   相邻
  202   6   203
  203   7   202,204
  204   3   203
  206   9   208
  208   2   206
方法400包括依据修复方链路数据库中的链路状态记录标识逻辑上不能达到的计算机系统的列表的动作(动作404)。如图2B所述,在计算机系统207失效后,加入计算机系统206和计算机系统208不再被链接到计算机系统203。因此,计算机系统203可将计算机系统206和208标识为逻辑上不能达到的。同样地,计算机系统208可将计算机系统202、203和204标识为逻辑上不能达到的。
方法400包括试图加入至少一个逻辑上不能达到的计算机系统的动作(动作405)。例如,计算机系统203可向计算机系统208发送问候报文,计算机系统208可用链路数据库238应答,并且计算机系统203还可用链路数据库233(所有由链路数据244共同表示)应答。因此,链路数据库233和238可相继被更新以表明计算机系统203和计算机系统208是相邻。来自于链路数据库236和238的更新的链路数据然后可被传播到多方会议会话200中的其他参与计算机系统。
在一些实施方式中,修复计算机系统试图建立至多条逻辑上不能达到的计算机系统或甚至每条逻辑上不能达到的计算机系统的链路。在图2B中,计算机系统203可试图建立至计算机系统208和加入计算机系统206的链路。同样地,计算机系统203可试图建立至计算机系统202、计算机系统203和计算机系统204的链路。在加入先前逻辑上不能达到的计算机系统之后,在先前逻辑上不能达到的计算机系统处的链路数据可表明与其他逻辑上不能达到计算机系统的连接性。所以,尽管参与计算机系统可试图建立至每个逻辑上不能达到的计算机系统的链路,通过参与计算机系统加入其他先前逻辑上不能达到的计算机系统,一些逻辑上不能达到的计算机系统可变成可达到的。当逻辑上不能达到的计算机系统变成可达到的时,参与计算机系统可避免试图加入逻辑上不能达到的计算机系统(因为链路数据将被从其他加入的计算机系统传播到参与计算机系统)。这可导致在多方会议会话200中的参与计算机系统之间的链路的“Web”的结果。
依据下列举例的XML模式,由多方会议会话200中的参与计算机系统交换的链路数据可被定义为:
    1. <?xml version=”1.0”encoding=”utf-8”?>
    2.<xs:schema id=”MembershipSync”
    xmlns:xs=http://www.w3.org/2001/XMLschema>
    3.
    4.<xs:element name=”Sync”type=”SyncType”/>
    5.
    6.  <xs:complexType name=”SyncType”>
    7.  <xs:sequence>
    8.    <xs:element name=”Node”type=”NodeType”/>
    9.        minOccurs=”0”
    10.       maxOccurs=”unbounded”/>
    11.  </xs:sequence>
    12.  <xs:arrtibute
name=”from”type=”xs:anyURI”use=”required”/>
    13.  <xs:arrtibute name=”interval”type=”xs:short”
    14. </xs:complexType>
    15.
    16. <xs:complexType name=”NodeType”>
    17. <xs:sequence>
    18.   <xs:element name=”Link”type=”LinkType”
    19.     minOccurs=”0”
    20.       maxOccurs=”unbounded”/>
    21. </xs:sequence>
    22. <xs:arrtibute
name=”uri”type=”xs:anyURI”use=”required”/>
    23. <xs:arrtibute
name=”name”type=”xs:string”use=”required”/>
    24. </xs:complexType>
    25.
    26. <xs:complexType name=”LinkType”>
    27. <xs:arrtibute
name=”uri”type=”xs:anyURI”use=”required”/>
    28. </xs:complexType>
    29.
    30. </xs:schema>
行6-14定义“SyncType”数据类型的“Sync“元素。特别是,行7-11定义了SyncType数据类型以将“NodeType”数据类型的零个或多个“Node”元素包括在内,行12定义了SyncType数据类型以将URI数据类型的“from”属性包括在内,以及行13定义了SyncType数据类型以将短整型数据类型的“interval”属性包括在内。
行16-24还定义NodeType数据类型。特别是,行17-21定义了NodeType数据类型以将“LinkType”数据类型的零个或多个“Link”元素包括在内,行22定义了NodeType数据类型以将URI数据类型的“uri”属性包括在内,以及行23定义了NodeType数据类型以将串数据类型的“name”属性包括在内。
行26-28还定义LinkType数据类型。特别是,行27定义了LinkType数据类型以将URI数据类型的uri属性包括在内。
多方会议会话200中的每个参与计算机系统可访问举例的XML模式。因此,多方会议会话200中所包括的每个计算机系统可依据举例的XML模式处理链路数据。
本发明可在其他特定形式中体现而不脱离其精神和必要特性。所描述的实施方式从所有方面考虑都仅仅是说明性的及非限制性的。本发明的范围由后附权利要求书指明,而不是以上描述。所有改变,在权利要求书的等效技术方案的含义和范围之内的,也可包括在发明的范围内。

Claims (30)

1.在至少包括邀请计算机系统的多方应用层会话中,邀请计算机系统可联网连接到加入计算机系统使得加入计算机系统和邀请计算机系统可通过传输电子报文来通信,一种用于在加入计算机系统处的加入方应用层进程加入多方应用层会话的方法,其特征在于,该方法包括:
向邀请计算机系统发送问候报文的动作;
接收来自于邀请计算机系统的邀请方链路数据库的动作,邀请方链路数据库包括指示了邀请计算机系统被逻辑地链接到加入计算机系统的邀请方链路状态记录;
更新加入方链路数据库以至少表明响应接收邀请方链路数据库,加入计算机系统被逻辑地链路至邀请计算机系统的动作;以及
向邀请计算机系统发送更新的加入方链路状态记录的动作,更新的加入方链路状态记录表示了加入计算机系统被逻辑地链路至邀请计算机系统。
2.如权利要求1所述的方法,其特征在于,它还包括:
在协议栈中位于加入方应用层进程之下的加入方低协议层,在发送问候报文之前接收来自于相应的邀请方低协议层的安全信息的动作,安全信息用于结和多方应用层会话进行验证。
3.如权利要求1所述的方法,其特征在于,它还包括:
在协议栈中位于加入方应用层进程之下的加入方低协议层,在发送问候报文之前接收来自于相应的邀请方低协议层的进入点的动作,进入点用于连接至邀请方计算机系统以交换低层连接数据。
4.如权利要求1所述的方法,其特征在于,发送问候报文的动作包括发送包含一个或多个链路状态记录的同步报文的动作。
5.如权利要求1所述的方法,其特征在于,接收邀请方链路数据库的动作包括接收一个或多个链路状态记录的动作,每个链路状态记录表明参与多方应用层会话的计算机系统之间的一条或多条逻辑链路。
6.如权利要求1所述的方法,其特征在于,接收邀请方链路数据库的动作包括接收依据模式定义的基于模式的邀请方链路数据库的动作,其中模式被定义为在多个计算机系统之间共享词汇的表示。
7.如权利要求6所述的方法,其特征在于,接收基于模式的邀请方链路数据库的动作包括接收依据XML模式定义的XML指令的动作。
8.如权利要求1所述的方法,其特征在于,更新加入方链路数据库的动作包括将邀请方计算机系统添加到加入计算机系统的相邻列表中的动作。
9.如权利要求1所述的方法,其特征在于,更新加入方链路数据库的动作包括用从邀请计算机系统接收到的链路状态记录的更新版本代替加入链路数据库中的链路状态记录的当前版本的动作。
10.如权利要求1所述的方法,其特征在于,向邀请计算机系统发送更新的加入方链路状态记录的动作包括发送依据模式定义的基于模式的链路状态记录的动作,其中模式被定义为在多个计算机系统之间共享词汇的表示。
11.如权利要求10所述的方法,其特征在于,发送基于模式的链路状态记录的动作包括发送依据XML模式定义的XML链路状态记录的动作。
12.如权利要求1所述的方法,其特征在于,在加入方计算机系统发送问候报文之前,加入计算机系统和邀请计算机系统都是多方应用层会话中的参与计算机系统。
13.如权利要求1所述的方法,其特征在于,多方应用层会话是多方会议会话。
14.在包括至少一个邀请计算机系统的多方应用层会话中,邀请计算机系统可联网连接到加入计算机系统使得加入计算机系统和邀请计算机系统可通过传输电子报文来通信,一种用于在邀请计算机系统处的邀请方应用层邀请加入计算机系统加入多方应用层会话的方法,其特征在于,该方法包括:
接收来自于加入计算机系统的问候报文的动作;
更新邀请方链路数据库以表明响应接收问候报文,邀请计算机系统被逻辑地链路至加入计算机的动作;
向加入计算机系统发送更新的邀请方链路数据库的动作,更新的邀请方链路数据库包括至少一个表明邀请计算机系统被逻辑地链路至加入计算机系统的邀请方链路状态记录;以及
接收来自于加入计算机系统的加入方链路状态记录的动作,加入方链路状态记录表明邀请计算机系统被逻辑地链路至加入计算机系统。
15.如权利要求14所述的方法,其特征在于,它还包括:
在协议栈中位于邀请方应用层进程之下的邀请方低协议层,在接收问候报文之前向相应的加入方低协议层发送安全信息的动作,安全信息用于结合多方应用层会话进行验证。
16.如权利要求14所述的方法,其特征在于,它还包括:
在协议栈中位于邀请方应用层进程之下的邀请方低协议层,在接收问候报文之前向相应的加入方低协议层公布进入点的动作,所述进入点用于连接至加入方计算机系统以交换低层连接数据。
17.如权利要求14所述的方法,其特征在于,接收来自于加入计算机系统的问候报文的动作包括在指定的阈值内接收问候报文的动作,该指定的阈值从先前发送至加入计算机系统的答复间隔中被计算出来。
18.如权利要求14所述的方法,其特征在于,接收来自于加入计算机系统的问候报文的动作包括接收包含一个或多个链路状态记录的同步报文的动作。
19.如权利要求14所述的方法,其特征在于,更新邀请方链路数据库的动作包括将加入计算机系统添加到与邀请计算机系统相对应的相邻列表中的动作。
20.如权利要求14所述的方法,其特征在于,向加入计算机系统发送更新的邀请方链路数据库的动作包括发送一个或多个链路状态记录的动作,每个链路状态记录表明多方应用层会话的计算机系统之间的一条或多条逻辑链路。
21.如权利要求14所述的方法,其特征在于,向加入计算机系统发送更新的邀请方链路数据库的动作包括发送依据模式定义的基于模式的邀请方链路数据库的动作,其中模式被定义为在多个计算机系统之间共享词汇的表示。
22.如权利要求14所述的方法,其特征在于,发送基于模式的邀请方链路数据库的动作包括发送依据XML模式定义的XML指令的动作。
23.如权利要求14所述的方法,其特征在于,接收加入方链路状态记录的动作包括接收依据模式定义的基于模式的链路状态记录的动作,其中模式被定义为在多个计算机系统之间共享词汇的表示。
24.如权利要求23所述的方法,其特征在于,接收基于模式的链路状态记录的动作包括接收依据XML模式定义的XML链路状态记录的动作。
25.如权利要求14所述的方法,其特征在于,它还包括:
进一步更新邀请方链路数据库以将加入方链路状态记录包括在内的动作。
26.如权利要求25所述的方法,其特征在于,它还包括:
向包含在邀请计算机系统的相邻列表中的至少一个计算机系统发送进一步更新的邀请方链路数据库使得加入方链路状态记录被传播到参与多方应用层会话的其他计算机系统的动作。
27.如权利要求14所述的方法,其特征在于,在邀请方计算机系统接收到问候报文之前,邀请计算机系统和接收计算机系统都是多方应用层会话中的参与计算机系统。
28.如权利要求14所述的方法,其特征在于,多方应用层会话是多方会议会话。
29.在多方应用层会话中使用的计算机系统,包括至少一个邀请计算机系统,邀请计算机系统可网络连接至加入计算机系统使得加入计算机系统和邀请计算机系统可通过传输电子报文来通信,所述计算机系统用于完成在加入计算机系统处的加入方应用层进程加入多方应用层会话,其特征在于,所述计算机系统包括:
用于向邀请计算机系统发送问候报文的装置;
用于接收来自于邀请计算机系统的邀请方链路数据库的装置,邀请方链路数据库包括表明邀请计算机系统被逻辑地链接到加入计算机系统的邀请方链路状态记录;
用于更新加入方链路数据库以至少表明响应接收邀请方链路数据库,加入计算机系统被逻辑地链接到邀请计算机系统的装置;以及
用于向邀请计算机系统发送更新的加入方链路状态记录的装置,更新的加入方链路状态记录表明加入计算机系统被逻辑地链路至邀请计算机系统。
30.在多方应用层会话中使用的计算机系统,包括至少一个邀请计算机系统,邀请计算机系统可网络连接至加入计算机系统使得加入计算机系统和邀请计算机系统可通过传输电子报文来通信,所述计算机系统用于完成在邀请计算机系统处的邀请方应用层进程邀请加入计算机系统加入多方应用层会话,其特征在于,所述计算机系统包括:
用于接收来自于加入计算机系统的问候报文的装置;
用于更新邀请方链路数据库以表明响应接收问候报文,邀请计算机系统被逻辑地链路至加入计算机系统的装置;
用于向加入计算机系统发送更新的邀请方链路数据库的装置,更新邀请方链路数据库至少包括表明邀请计算机系统被逻辑地链接到加入计算机系统的邀请方链路状态记录;以及
用于接收来自于加入计算机系统的加入方链路状态记录的装置,加入方链路状态记录表明加入计算机系统被逻辑地链接到邀请计算机系统。
CNB2004100351362A 2003-04-22 2004-04-22 分配用于多方应用层会话的资格信息 Expired - Fee Related CN100454818C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/420,986 US8103753B2 (en) 2003-04-22 2003-04-22 Distributing membership information for multi-party application layer sessions
US10/420,986 2003-04-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN200810184324XA Division CN101431426B (zh) 2003-04-22 2004-04-22 分配用于多方应用层会话的资格信息

Publications (2)

Publication Number Publication Date
CN1540921A CN1540921A (zh) 2004-10-27
CN100454818C true CN100454818C (zh) 2009-01-21

Family

ID=32962418

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200810184324XA Expired - Fee Related CN101431426B (zh) 2003-04-22 2004-04-22 分配用于多方应用层会话的资格信息
CNB2004100351362A Expired - Fee Related CN100454818C (zh) 2003-04-22 2004-04-22 分配用于多方应用层会话的资格信息

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200810184324XA Expired - Fee Related CN101431426B (zh) 2003-04-22 2004-04-22 分配用于多方应用层会话的资格信息

Country Status (7)

Country Link
US (1) US8103753B2 (zh)
EP (2) EP1562351B1 (zh)
JP (1) JP4494852B2 (zh)
KR (1) KR20040091589A (zh)
CN (2) CN101431426B (zh)
AT (2) ATE350856T1 (zh)
DE (2) DE602004004601T2 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844733B2 (en) * 2003-12-19 2010-11-30 Solace Systems, Inc. Content router with multiple forwarding elements instantiated on hardware entities
US7512125B2 (en) * 2003-12-19 2009-03-31 Solace Systems, Inc. Coding of routing protocol messages in markup language
US7617300B2 (en) * 2004-03-12 2009-11-10 Microsoft Corporation Node matching in a dynamic, decentralized environment
US7701341B2 (en) * 2004-09-01 2010-04-20 Microsoft Corporation Device service provider interface
US7557707B2 (en) * 2004-09-01 2009-07-07 Microsoft Corporation RFID enabled information systems utilizing a business application
US8098158B2 (en) * 2004-09-01 2012-01-17 Microsoft Corporation RFID server internals design
US7944355B2 (en) * 2004-09-01 2011-05-17 Microsoft Corporation Security techniques in the RFID framework
US8217756B2 (en) * 2004-09-01 2012-07-10 Microsoft Corporation Rule-based filtering and alerting
US7295116B2 (en) * 2004-09-01 2007-11-13 Microsoft Corporation Architecture, programming model and API'S
US7204409B2 (en) * 2004-09-01 2007-04-17 Microsoft Corporation Reader application markup language schema
CN100596075C (zh) * 2005-03-31 2010-03-24 株式会社日立制作所 利用广播组播服务实现多方会议服务的方法和设备
US7899170B2 (en) * 2005-04-28 2011-03-01 Apple Inc. Multi-participant conference setup
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US7756747B2 (en) * 2006-03-10 2010-07-13 Microsoft Corporation RFID business process-decoupling of design and deployment time activities
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US7868738B2 (en) * 2006-06-15 2011-01-11 Microsoft Corporation Device simulator framework for an RFID infrastructure
US7956724B2 (en) * 2006-06-15 2011-06-07 Microsoft Corporation Support for reliable end to end messaging of tags in an RFID infrastructure
US7675418B2 (en) * 2006-06-15 2010-03-09 Microsoft Corporation Synchronous command model for RFID-enabling applications
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US7593970B2 (en) * 2006-09-08 2009-09-22 Honda Motor Co., Ltd. Data receiving system, data broadcasting system, data receiving method and data broadcasting method
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
GB2460896A (en) * 2008-06-18 2009-12-23 Skype Ltd Indicating the participation status of members in a conference or group communication event
GB2460897A (en) 2008-06-18 2009-12-23 Skype Ltd Authorising and adding a user to a conference event by determining if a set up request received from the user is associated with the conference event
US20200202274A1 (en) 2018-12-21 2020-06-25 Capital One Services, Llc Systems and methods for maintaining contract adherence
US11308282B2 (en) 2018-12-21 2022-04-19 Capital One Services, Llc Systems and methods for determining document compatibility

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1137715A (zh) * 1995-05-26 1996-12-11 美国电报电话Ipm公司 多媒体通信会议呼叫的选择参与
US20020105917A1 (en) * 2001-02-02 2002-08-08 Rafi Rabipour Method and apparatus for packet-based media communication

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805578A (en) * 1995-10-27 1998-09-08 International Business Machines Corporation Automatic reconfiguration of multipoint communication channels
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US6856627B2 (en) * 1999-01-15 2005-02-15 Cisco Technology, Inc. Method for routing information over a network
US6530032B1 (en) * 1999-09-23 2003-03-04 Nortel Networks Limited Network fault recovery method and apparatus
US6578086B1 (en) * 1999-09-27 2003-06-10 Nortel Networks Limited Dynamically managing the topology of a data network
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
US7321932B1 (en) * 2000-08-15 2008-01-22 Nortel Networks Limited System, device, and method for managing connection establishment and related services in an optical communication system
US7310335B1 (en) * 2000-09-06 2007-12-18 Nokia Networks Multicast routing in ad-hoc networks
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols
US7120681B2 (en) * 2001-01-30 2006-10-10 International Business Machines Corporation Cluster control in network systems
WO2002087175A1 (fr) * 2001-04-19 2002-10-31 Fujitsu Limited Procede et appareil de restauration/protection
US7171476B2 (en) * 2001-04-20 2007-01-30 Motorola, Inc. Protocol and structure for self-organizing network
JP2002335283A (ja) * 2001-05-11 2002-11-22 Hitachi Software Eng Co Ltd 同報通信方法およびシステム
CN1392717A (zh) * 2001-06-14 2003-01-22 英保达股份有限公司 多通道语音会议装置及方法
CN1394068A (zh) * 2001-06-29 2003-01-29 康鹏 实现电话-电脑-电话的网络电话
US7254111B2 (en) * 2001-10-05 2007-08-07 Samsung Electronics Co., Ltd. Routing coordination protocol for a massively parallel router architecture
AU2003237454A1 (en) * 2002-06-06 2003-12-22 Motorola, Inc., A Corporation Of The State Of Delaware Protocol and structure for mobile nodes in a self-organizing communication network
US7613772B2 (en) * 2002-07-25 2009-11-03 Colligo Networks, Inc. Method for context based discovery and filtering of portable collaborative networks
KR100433556B1 (ko) * 2002-08-08 2004-05-31 삼성전자주식회사 애드혹 네트워크상의 링크 상태 동기화 방법, 장치 및데이터구조
US7248579B1 (en) * 2002-10-15 2007-07-24 Cisco Technology, Inc. System and method for providing a link state database (LSDB) snapshot for neighbor synchronization
US8036139B2 (en) * 2002-10-28 2011-10-11 Cisco Technology, Inc. Internal BGP downloader
US7546380B2 (en) * 2002-10-28 2009-06-09 Cisco Technology, Inc. RPF multi-party reliable transport
US7596625B2 (en) * 2003-01-27 2009-09-29 Microsoft Corporation Peer-to-peer grouping interfaces and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1137715A (zh) * 1995-05-26 1996-12-11 美国电报电话Ipm公司 多媒体通信会议呼叫的选择参与
US20020105917A1 (en) * 2001-02-02 2002-08-08 Rafi Rabipour Method and apparatus for packet-based media communication

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
会话发起协议SIP的分析和研究. 沈波,张顺颐,沈苏彬,全文,数据通信. 2001
会话发起协议SIP的分析和研究. 沈波,张顺颐,沈苏彬,全文,数据通信. 2001 *

Also Published As

Publication number Publication date
EP1471711A3 (en) 2005-07-13
EP1562351B1 (en) 2007-01-03
CN101431426B (zh) 2011-01-26
ATE350856T1 (de) 2007-01-15
US8103753B2 (en) 2012-01-24
CN1540921A (zh) 2004-10-27
JP4494852B2 (ja) 2010-06-30
DE602004004060T2 (de) 2007-06-06
DE602004004601T2 (de) 2007-11-08
DE602004004601D1 (de) 2007-03-22
EP1471711A2 (en) 2004-10-27
EP1562351A3 (en) 2005-10-05
EP1471711B1 (en) 2007-02-07
US20040215667A1 (en) 2004-10-28
EP1562351A2 (en) 2005-08-10
DE602004004060D1 (de) 2007-02-15
KR20040091589A (ko) 2004-10-28
ATE353517T1 (de) 2007-02-15
JP2004328731A (ja) 2004-11-18
CN101431426A (zh) 2009-05-13

Similar Documents

Publication Publication Date Title
CN100454818C (zh) 分配用于多方应用层会话的资格信息
CN100483385C (zh) 实体接入方法、系统以及在对等环境中通知用户的方法
US7543023B2 (en) Service support framework for peer to peer applications
CN101346634B (zh) 用于通信网络中的网守的系统和方法
US20060212582A1 (en) Architecture for building a peer to peer messaging platform
US20060212592A1 (en) APIS to build peer to peer messaging applications
CN102017589A (zh) 在pstn上的个人数据端口以及具有虚拟房间和对象的在线家庭
CN101352002A (zh) 使用可缩放对等组来优化通信
CN106375458A (zh) 服务调用系统、方法及装置
CN101472242A (zh) 一种业务聚合系统和方法
CN107547822A (zh) 视频会话方法及装置
CN108833578A (zh) 基于fifo命名管道进行双工通信的方法及相关设备
KR100752351B1 (ko) 쌍방향 데이터 및 음성 송수신이 가능한 통신매체를 이용한실시간 답변 시스템 및 제공 방법
CN101390345A (zh) 信息通信系统、信息收集方法、节点设备和记录介质
CN108040000A (zh) 一种信息传送方法及设备
Terashima Intelligent Communication Systems: Toward Constructing Human Friendly Communication Environment
CN100355313C (zh) 一种防止终端用户非法漫游的方法
CN110888935A (zh) 一种基于区块链的数据交易方法
CN104639465B (zh) 一种多播报文的处理方法和设备
Zhang The internet media in China
CN114785801A (zh) 一种动态构建分布式隐私网络拓扑的p2p引擎
CN114866422A (zh) 安全data sharing的安全多方计算系统和方法
CN117834770A (zh) 号码标记达成共识的方法、装置、电子设备及存储介质
Novak et al. Re-routing multicast connections: a distributed approach
Antunes SmartAd: Advertisement System for Next Generation Networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090121

Termination date: 20130422