请参照图1,图1所示为根据本发明的网络会议系统会议群内若干用户间连接的结构示意图。图中是以A、B、C、D、E五个用户为例。图1所示会议群内诸用户间是以链式结构进行连接。如图1所示,用户B与用户A和C直接连接,用户C与用户B和D直接连接,用户D与用户C和E直接连接,用户A及用户E为末端用户,故仅分别与用户B和D直接连接。
根据本发明,会议群内诸用户A、B、C、D、E间进行传输时毋需在统一的协议下进行。如图1中,用户A和B间是以协议W进行通信传输,用户B和C间是以协议X进行通信传输,用户C和D间是以协议Y进行通信传输,用户D和E间是以协议Z进行通信传输。换言之,本发明的网络会议系统内,相邻用户间传输所使用的协议可不同于其他相邻用户间传输时所使用的协议。此外,“相邻用户”一词,是指链式结构下相邻之意,而非实体上的相邻。
目前诸协议中属TCP/IP、Novell公司的SPX、Microsoft公司的NetBEUI最为普遍,另外以调制解调器拨接者也相当普及,故图1所示的协议W、X、Y、Z可为TCP/IP、SPX、NetBUIE。调制解调器拨接等中之任一。
再者,图1所示会议群内诸用户是以链式结构进行连接,然这种链式结构仅为诸多连接方式中语音传输效率较佳的一种。因此,也可以采用单一用户A同时连接用户B、C、D、E等多点连接结构来实现,但此时用户A主机需具备较高的处理能力,以及网络需具有足够的频带宽度的前提。
请参照图2,所示为用户端2的结构示意图,此用户2可以是图1所示用户A、B、C、D、E中任一个。此用户端2包括:通信应用软件模组20、多协议共用接口22、以及网络接口24。若根据国际标准组织所制订的OSI(开方系统互连)模式区分,通信应用软件20属OSI模式的应用层,多协议共用接口22是应OSI模式的展现层和对话层,网络接口模组24属OSI模式的传输层、网络层以及数据链接层。通信应用软件模组20、多协议共用接口22、以及网络接口24是按上层至底层的顺序连接而得的。
网络接口24为多种协定模组的组合,在程序初始化时,网络接口24会自动检测当前系统,获得当前可用协定列表,同时将相应的协议模组安装存储。如图2中所示,便是在程序初始化后,网络接口24内安装有一TCP/IP协议模组241、SPX协议模组242、NetNEUI协议模组243以及调制解调器拨接模组244等。每一协议模组241、242、243、244各自独立操作,支持某一特定协议的基本控制与传输数据的输入/输出。在网络接口24亦负责将用户2经由一网络1连接其他用户。
多协议共用接口22是藉由若干插槽对网络接口进行管理,当用户2经由网络1每新增一个通信对象时,即由多协议共用接口22自动分配一个相对应的插槽值,并确认每一插槽值的唯一性。即如图2所示,多协议共用接口22以插槽221对应于网络接口24的TCP/IP协议模组241,以插槽222对应于网络接口24的SPX协议模组242,以插槽223对应于网络接口24的NetNEUI协议模组243,以插槽224对应于网络接口24的调制解调器拨接模组244。插槽的作用是支持不同的通信协议,例如数据的可靠分发、保持信息顺序、以及保持信息介面等。
另外,多协议共用接口22为每一插槽分配一个相应的缓冲区,如图2所示,以插槽221对应于缓冲区226,以插槽222对应于缓冲器227,以插槽223对应于缓冲器228,以插槽224对应于缓冲器229。这些缓冲区226、227、228、229至少有两种功能:一可快速撷取下层(网络接口24)的数据,以避免下层缓冲区溢出而导致传输阻塞的问题;二为上层(通信应用软件)的读取提供统一的接口。
再请参照图2,所有已分配的插槽221、222、223、224和相应的缓冲区226、227、228、229是以统一的用户信息列表225进行管理。此用户信息列表225的基本单位是用户节点,每一用户节点对应一组插槽口和缓冲区。而每一节点记录着包括合法标志、当前状态字、插槽值、缓冲区入口、用户名、不同协议地址、以及当前协议等信息,表一所列即为上述诸信息与其用户的对照表。
表一
信息名称 |
用途 |
节点合法标志 |
标注该节点是否为一合法节点 |
节点模式标志 |
标注该节点为主呼叫方或是被呼叫方 |
节点当前状态字 |
存储该点当前状态(呼叫、连接、切断等) |
插槽值 |
存储与该节点对应的插槽值 |
缓冲区结构入口 |
存储该节点对应缓冲区结构的入口地址 |
编码方式 |
表示该节点的语音编码方法 |
用户信息结构入口 |
存储该节点对应用户信息结构的入口地址 |
连接次数计数器 |
存储尝试连接的次数 |
连接速率 |
存储连接的最高速率 |
当前所用协议 |
该节点当前所使用的协议 |
下一节点入口 |
存储下一节点的入口地址 |
表一中,节点合法标志的作用是表示该节点数据是否有效。若该标志设定为“非法”,则该节点其余的数据均被认定无效。此节点合法标志提供了较灵活的列表管理选择方式。
编码方式信息的作用是为特定的软件提供特定服务,诸如在互联网通话的应用中,此信息记录着对于语音数据的编码方式。
连接次数计数器信息的作用是记录尝试连接的次数。为免于不使用时占用系统资源,系统中可提供一监听程序。在监呼程序监听到呼叫请求时,便自我关闭并开启主程序,由于此一过程需时较长,所以呼叫方需连续发送数个呼叫信号,而第一个呼叫信号是用来触发监听程序,然后可能有呼叫无效的情况。当后续呼叫成功时,表示主程序已开启,便可正式连接。连接次数计数器便是计数此一连接次数。
连接速率信息的作用是提供下层网络接口24对当前最高速连接速率的设定。由于多协议共用接口22为能实现支持多种协议,可能同时存在着不同的传送速率,但为能确保对于上层应用层20的统一性,必须能处理上层应用层20所提供任意大小的数据包;但是,另一方面,在传送语音数据时,又必须确保这些数据的连续性。
因此,根据本发明在传送数据包时,是以动态打包的方式进行的,亦即传送端对语音数据先行打包,并在频宽所容许的范围内,将非语音数据(诸如文字、图形等数据)拆成较小的数据包接在语音数据后传送;而接收端接收到此“混合”数据包后,先将语音数据传给上层进行处理,其他非语音数据则先予以暂存,待整个非语音数据集满后,再通知上层读取。图3(a)至(c)所示即为三种可能的数据包括结构,如图3(a)所示的数据包仅包含语音数据,图3(b)所示的数据包包含有语音数据和部分非语音数据,而图3(c)所示的数据包仅包含有非语音数据。因此,藉由动态打包的方式,能确保语音数据得以连接传送,另外,能充分利用既有的传输频宽传送数据。
据此,下层网络接口24内各协议模组的传输动作,将根据当前最高速率来调整传送打包的大小,确保语音等即时数据的连续性与有效性。
下一节点入口信息记录下一个用户信息的入口地址,多协议共用接口藉由此下一信息连接各节点,方便对用户信息列表进行查询和管理。
而表1内缓冲区结构入口对应的缓冲区结构列表详列于表二中。
表二
名称 |
用途 |
读取位置 |
记录当前的读取地址 |
写入地址 |
记录当前的写入地址 |
缓冲区入口地址 |
存储相应缓冲区入口地址 |
而表一中用户信息结构入口所对应的用户信息结构则示一表三中。
表三
名称 |
用途 |
用户名 |
记录用户姓名 |
别名 |
记录用户别名 |
扩展名 |
记录用户扩展名 |
IP地址 |
记录用户的IP地址 |
SPX地址 |
记录用户的SPX地址 |
NetBEUI用户名 |
记录用户的NetBEUI用户名 |
支持协议 |
记录当前用户所支持的协议 |
此用户信息结构主要是记录用户信息,供伺服器(将于下文详述)查询之用,并便于对远端用户的选取操作。
简言之,多协议共用接口22通过插槽查询相应节点,再根据该节点所使用的协议,以不同的控制和数据交换方式与相对应的底层协议模组进行控制和数据交换。故从传送的角度来说,用户将需要传送的数据经由上层通信应用软件20传送至多协议共用接口22,由多协议共用接口22对数据进行打包处理后,分发给各底层协议模组241~244进行处理后,在网络1传送。若为接收,各底层协议模组241~244负责处理网络1传来的数据,再送至多协议共用接口22对所收到的数据进行处理,产生统一格式的数据,送给上层通信应用软件进行打印、显示、存储或播放等操作。由于多协议共用接口22以插接口形式为上层的应用层22提供统一的控制和数据交换,故上层的应用层与所用的通信协议无关,只需藉由不同的插槽进行统一操作即可。
然而,上述网络会议系统会议群内若干用户间连接结构(不论是链式连接或是多点连接),均是基于用户-伺服器的方式实现。请参照图4,图4所示为实现链式连接或是多点连接结构的用户-伺服器整体系统方块图。
图4中,伺服器4用以对网络1进行管理,此伺服器4包括:主控制模组40、用户列表42、多协议共用接口44、以及网络接口46等,其中,多协议共用接口44与网络接口46的结构及作用与用户2的相同,故在此不再赘述。至于主控制模组40的两大作用,一为响应客户端注册、注销、以及更新申请,另一功能是管理用户列表。用户列表42的节点结构即如表四所示。
表四
参数名称 |
用途 |
用户信息 |
记录相关用户信息 |
状态标志 |
记录该节点当前状态 |
位置字 |
记录当前节点在列表的位置 |
以下对伺服器2与用户端间进行连接伺服器4、用户注册、呼叫远端用户、定时更新等操作分述如下。譬如,图4所示的网络2是以三个用户A、B、C为例,其中,用户A适合与伺服器4进行连接,而用户B和C则已与伺服器4建立连线。
(1)连接伺服器:当用户A欲连接伺服器4,则多协议共用接口22在初始化阶段先查询本地伺服器4;若尝试失败或本地无伺服器列表,则发送广播信号申请伺服器信息。伺服器4接收到广播信号后,即将伺服器信息发送至用户A,而用户A收到伺服器4信息后,再次尝试连接伺服器4。
(2)用户注册:一旦用户A连接伺服器4成功后,多协议共用接口22即向伺服器4发送包括用户名、所支持协议、地址信息等本地用户信息。而伺服器4收到用户信息后,即将其写入用户列表42内以备查询,完成用户注册程序。
(3)呼叫远端用户:假若用户B的上层模组20需要连接网络2内其他用户时,首先向伺服器4申请用户列表42。然后根据本地所支持的协定与用户列表42中诸用户所支持的协议交集筛选,获得可呼叫用户清单,供用户B远取呼叫所欲连接的用户。接着,若呼叫操作发现存在多种协议时,则多协议共用接口22依序尝试以本地所支持的各种所支持协议进行连接,直至成功为止。
(4)定时更新:以用户C为例。用户C已与伺服器4建立连线,并每隔一段既定时间间隔,会以多协议共用接口22向伺服器4注册,伺服器4收到注册信息后,即更新用户列表中用户C的记录,表示用户C尚处于连接状态。若伺服器4长时间未收到某一用户的注册信息的话,则自动将该用户自用户列表内清除,藉以确保在线用户列表即时正确性。
据此,通过此伺服器-用户间的协调操作,本地用户毋需了解被呼叫对象所使用的具体协议,仅通过伺服器4上所呼叫用户的用户名,即可连接远端用户,简化软件使用上的复杂程度。
请参照图5,图5所示为根据本发明一用户尝试以多种协议连接另一用户的流程图。图5中是以用户能支持TCP/IP、SPX、NetBEUI等三种协议为例。首先,在步骤50进行初始化,意即对本机端所支持的TCP/IP、SPX、NetBEUI等三种协议在程序初始化时,经图2所示的网络接口24自动检测当前系统可用协议,并将相应的TCP/IP、SPX、NetBEUI协议模组安装存储。
然后,在步骤51~56依序尝试以TCP/IP、SPX、NetBEUI等三种协议进行连接,倘若均连接失败,则进行步骤57通知上层20连接尝试失败。若在步骤52、54或56得到尝试以TCP/IP、SPX、NetBEUI等三种协议中之一进行连接成功,则直接到步骤58分配新的缓冲区(诸如图2所示标号226~229中之一),再在步骤59建立新的插槽(诸如图2所示标号221~224中之一),分配唯一的插槽值。接着,进行步骤60,将节点合法标志、节点模式标志、节点当前状态字、插槽值、缓冲区结构入口、连接速率、当前所用协议、下一节点入口等连接信息,加入用户信息列表335内,然后,在步骤61通知上层20连接成功。
综上所述,根据本发明的网络会议系统,不仅可支持TCP/IP、SPX、NetBEUI等多种协议,也支持调制解调器拨接,故可覆盖企业内部网络、互联网和拨接网络等系统的应用。此外,仅以用户列表选取所欲呼叫的接收端,大幅提高呼叫的效率和增加用户使用的方便性。再者,可以支持各种协议的语音通信,实现语音、文字、以及图像的同步传输,并以链式结构实现会议群内每一用户均可同时进行语音通信。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟习此技术者,在不脱离本发明的精神和范围内,当可作更动和修饰,因此本发明的保护范围应由所附权利要求书来限定。