Linux中文输入法服务器的分析和设计李培峰朱巧明钱培德(苏州大学计算机科学和技术学院,江苏苏州215006)摘要论文首先分析了设计Linux汉字输入法服务器的标准XIM协议及其处理流程.
并在此基础上介绍了一个在Linux图形环境下,基于XIM协议的中文输入法服务器ZHInput的数据结构、组成和总体构架.
最后简单描述了这个服务器和输入法之间的通信机制.
关键词输入法输入法服务器XIM协议ZHInput代码页文章编号1002—8331一(2005)33—0118—04文献标识码A中图分类号TP391.
1TheAnalysisandDesignofaChineseCharacterInputMethodServerBasedonLinuxLiPei~ngZhuQiaomingQianPeide(SchoolofComputerScienceandTechnology,SuzhouUniversity,Suzhou,Jiangsu215006)Abstract:ThispaperfirstlyanalysestheXIMprotocolwhichisusedtobuildaninputmethodserverinLinux.
Thenitintroducesthedatastructure,componentsandsystemarchitectureofaChineseInputMethodSe~erwhichisnamedbyZHInput.
Atlastitdescribesthecommunicationmechanismbetweenthese~erandtheinputmethod.
Keywords:inputmethod,inputmethodserver,XIM,ZHInput,codepages1前言对中文Linux而言.
中文输入是一个必须解决的问题.
为了实现各种文字输入的标准化,xl1R6工作组定义了XIM(XInputMethod)协议[11,用来规范在XWindow系统(如KDE和GNOME等)中的文字输入问题.
XIM协议的出现为解决xWindow环境下的文字输入问题提供了一个标准,各个输入系统的设计和开发也开始根据这个标准来实施,以支持国际化的文字输入.
目基于XIM的中文输入法服务器中比较著名的有Red—Flag的Rfinput.
RedHat的Chinput、miniChinput以及台湾香港比较流行的Xcin等.
这三个中文输入法服务器基本解决了简繁Linux平台的中文输入问题,但是也存在一些问题.
如上述服务器对XIM协议的支持不是很完善,还没有做到中文简、繁体平台的一体化等等.
而且对于某些中文输入法而言,由于其功能的复杂性,上述的输入法服务器并不能很好地实现这些输入法的全部功能.
在此背景下.
我们在分析了以上三个输入法服务器的基础上,设计了一个新的输入法服务器一ZHInput,这个服务器具有简繁一体、支持GB/BIG一5/Unieode/ISO10646等多种代码页、有大小键盘输入功能、并能更好地支持XIM协议以及具有类Windows界面等优点.
2XIM协议的分析XIM是XWindow下的符合国际化标准的输入法协议.
当应用程序和系统支持XIM,应用程序就不必考虑在不同语言环境下的输入问题,Linux可以根据环境变量Locale去寻找相应的输入法.
从而达到国际化的要求.
2.
1XIM协议的架构在XWindow文字输入体系中,主要有两种管道,如图1所示.
XClientASimpleIMXClientBXIMServerXClientC图1XIM协议架构图…其中一个管道是由XWindow系统的简单IM函数库直接提供输入功能,用户输入的字符直接显示在应用程序的窗口中.
此管道适用于英文或欧洲语系的输入.
另一种输入管道是为了处理复杂的输入需求而设计的.
这时键盘上的按键往往不足以对应某个语系的所有文字.
因此需要一个独立的输入系统从中实现按键到文字的翻译,并将翻译得到的文字传送给应用程序,这也就是亚洲语系常用的输入方式.
输入法程序与应用程序问沟通的协议称为XIM协议,使用此协议的输入法程序称之为XIMServerI1.
应用程序被称之为XIMClientI1.
2.
2XIC与IC一个XWindow的应用程序经常需要开启多个窗口.
我们把每个准备接收来自XIMServer输入的窗口称为一个XIC(XInputContext)t",它是存在于XIMClient端.
而在XIMServer端.
对于每一个请求输入的XIC,XIMServer都为它准备一个IC(InputContext)t]结构来提供服务.
作者简介:李培峰(1971一),男,汉族,博士生,主要研究方向:中文信息处理.
朱巧明(1963一),男,教授,主要研究方向:嵌入式操作系统.
钱培德(1947一),男,教授,主要研究方向:计算机中文信息处理.
1182005.
33计算机工程与应用http://www.
paper.
edu.
cnXIC可以说是XIMClient与XIMServer之间的对话窗口.
XIMClient与XIMServer通过这个窗口来互相传递信息.
比如XIMServer接收来自客户程序的键盘事件后.
从输入法的码本中查找出符合要求的汉字,再回送汉字到XIMClient端.
图2为XIC与IC在XIM结构中的关系图(图中IM是InputMethod的缩写,表示输入法).
xc·itti1xc·ent2}J…flxc·intxIctlfxIczll…lIXIclllllI\II/X事件通过XLib进入XIMServerIxserverlIMdKit的底层xIM管理J嬉IM管理模块/II\.
IIM模块lIM模块2J……IfIM模块nl图2XIC与IC在XIM结构中的关系图2.
3XIM协议的处理流程在XIM协议中,从用户输入按键,经由XIMServer处理,最后在XIMClient中出现的正确的文字.
其整个流程如图3所示.
用户键盘事件客户程序前端窗口取得x事件Xlib过滤事件.
XIC是否连接到一个XIMServeY事件发送到X1MServerIf事件发回客户程序xIMserveY是否要处理该消息XIMServer处理事件并把结果返回给XIC图3XIM协议的处理流程XIMServer与Client之间的连接方式,分为静态与动态两种方式.
如果使用静态方式.
则所有的键盘事件都会先被传送到输入法服务器后,再传送到客户程序端,不管这个键盘事件对组字工作有没有意义.
对于动态连接,输入法程序与应用程序间开始是没有联机的,只有当某个特殊的触发键按下之后,才会激活二者之间的联机,开始进行输入.
等到输入完毕后,再按一次触发键取消联机.
恢复原来的状态.
一般来说.
当输出ASCII字符时,就不需要将键盘的按键传送给XIMServer,这时可以视为静态联机方式.
当需要使用独立的XIMServer来提供复杂的输入时,考虑到程序的执行效率,通常采用动态联机的方式.
3XIC与IC的数据结构根据XIM协议,我们在设计ZHInput时,首先需要设计它的XIC和IC结构.
下面首先介绍XIC的结构,这个结构描述了每个输入法应该具备的信息.
Typedefstruct{charIMName[201;,,输入法的名称charIMLocale[101;,/用户的locale设置Ximage*IMImage;//状态栏中的输入法图标WindowIMWindow;//当前输入法窗口值(int*)Init(void);,,输入法初始化函数(int*)Fiher(int,int);//字符处理函数(int*)ClearUp(void);//输入法结束函数JInputMethod;为了使输入法服务器支持多种输入法,必须定义一个结构数组用来存放每个输入法的信息.
一个输入法必然同一个输入法名称和图标相关联,因此在结构中通过IMName数组和IM—Image指针保存输入法名称和图标.
变量IMWind0w则是XIM服务器与客户程序通讯的窗口.
当用户启动输入法服务器的时候,用户可以通过配置文件或者启动命令设置Locale的类型,这时需要将Locale的值保存起来,以便返回正确的字符串编码.
结构中的三个函数指针用来指向输入法服务器要求每个输入法实现的函数.
Init主要完成输入法的初始化工作.
Filter是输入法服务器与输入法的交互函数.
输入法通过该函数得到用户输入字符的ASCII码和扫描码.
ClearUp主要完成关闭输入法后的缓冲区清除工作.
根据XIM协议的要求,每个输入域对应一个IC结构.
下面的结构用来描述IC的信息.
Typedefstruct_IC{CARD16id;仇C的唯一ID号INT32input_style://输入风格Windowclient_win://客户程序窗口Windowfocus_win;//当前焦点窗口char*resource_name://资源名称char*resource_class://资源类型PreeditAttributespreattr;//预编辑区域属性StatusAttributessts_attr;//状态区域属性intindexlM://输入法的类型BooleanbCorner;//全,半角状态BooleanbPunc://中文,英文标点符号状态BooleanbMainShow://状态栏是否可见struct—ICnext;JIC;在输入过程中一般有多个输入实例同时存在,相应系统中也有多个IC结构同时存在,系统将所有的IC结构用链表串联起来.
在输入过程中,某个输入实例可能失去焦点,而另一个输入实例得到焦点.
这时我们需要将失去焦点输入实例的输入法类型、全/半角状态、中文/英文标点符号状态以及状态栏是否可见等信息保存起来.
当这个输入实例再次得到焦点时,系统将根据保存在IC结构中的值重新显示输人法状态栏.
4输入法服务器ZHInput的设计4.
1输入法服务器ZHInput功能ZhInput输入法服务器除了输入法服务器的基本功能外,还实现了以下几个功能:计算机工程与应用2005.
33119(1)支持GB,BIG一5,Unicode/ISO1O646等多种代码页,实现简繁一体;(2)支持大键盘和小键盘输入;(3)支持XIM协议的四种输入风格,用户可以切换输入风格:(4)支持全/半角,中文/英文标点符号;(5)支持多种常用的输入法;(6)输入界面类似Windows下的输入法.
4.
2输入法服务器ZHInput组成ZHIn~Dut主要由用户界面、事件处理、XIM协议处理、输入法与输入法服务器通信以及内码处理五个模块组成.
4.
2.
1用户界面每一个输入法必然同一个预编辑窗El(显示输入码的窗口)和候选窗口(显示候选字的窗口)相关联.
当用户在预编辑状态下输入字符时,预编辑窗口中显示用户输入的字符,候选窗口则根据用户输入的输入码显示相应的候选字.
在中文输入中,输入法还存在着全/半角、中文/英文标点等状态,用户可以在它们之间切换.
在用户界面的实现上,除了实现预编辑窗口和候选窗口外.
还将输入法的名称、全/半角以及中文/英文标点等按照一定的顺序排放在一个窗口中,称之为输入法状态窗口.
同时,ZHInput还模仿了Windows下输入法的特色,在工具栏上实现了输入法的嵌入图标,用户可以通过单击嵌入图标来调出输入法.
以上这些用户界面.
输入法可以根据ZHInput的UI接口规范调用相应的函数来实现.
当然.
输入法也可以自己实现这些函数,使得输入界面具有个性.
4.
2.
2事件处理X窗口系统是事件驱动的系统,2I-IInput主要处理以下三种事件p】:Expose事件:预编辑窗口、候选窗口以及状态窗口或窗口的一部分可能被其他窗口遮挡.
当遮挡窗口被关闭后,上述三个窗口或窗口的一部分变成可见了,系统在接收这个消息后需要重新绘制这些窗口.
ButtonPress事件:当用户需要改变输入法状态时,用户可以单击输入法状态栏中的全/半角、中文/英文标点图标.
同时用户可以按住鼠标左键拖动输入法状态栏到屏幕的任何位置.
当用户进行上述动作时,将发生该事件.
MotionNotify事件:当我们在输入法状态栏上移动鼠标时,鼠标的形状将根据鼠标的位置作相应的改变.
比如,如果鼠标处于输入法的全/半角图标时.
鼠标形状将变为手形图标.
当鼠标处于状态栏的边缘时,鼠标形状将变为拖拉图标.
当用户移动鼠标时,将发生该事件.
当客户程序从事件队列中接收到上述三个事件时,服务器将设置相应的处理函数处理这三个事件,其他事件将被丢弃.
4.
2.
3XIM协议处理XIMClient与_xIMServer通过XIM协议进行通讯.
ZHInput基本实现了XIM协议的主要内容.
XIM协议处理主要包括初始化输入法服务和协议处理两部分.
其中初始化输入法服务由函数IMOpenIM完成,其函数原形如下:IMOpenIM(dpy,IMModifiers,"Xil8n",IMServerWindow,MainWindow,120201)05.
33计算机工程与应用IM.
Se~erName,DEFAULT_IMNAME,IMLocale,DEFAULT_LOCALE,IMServerTransport,transport,IMInputStyles,input_styles,NULL);IMOpenIM将初始化输入法服务的连接,并设置一个或多个由变长参数指定的属性值.
如果成功地打开连接,函数将分配一个新的XIMS结构并返回,否则函数返回NULL.
输入法协议处理函数ZHInputProtoHandler指定了一系列的回调函数.
当输入法服务器从客户程序接收到相应的协议后,输入法服务器便会执行该协议指定的回调函数.
输入法协议处理函数原形如下:BooleanZHInputProtoHandler(XIMSirrs,IMProtocolcall—data)需要处理的常用协议有:(1)XIM—CREATEAC:该协议为当前输入域创建一个IC结构:(2)XIM—DESTROYIC:当客户程序退出时,删除输入域的IC结构:(3)XIM—SET_IC—VALUES:该协议用来设置当前IC结构的值:(4)XIM.
一_GETIC—VALUES:该协议用来获取当前IC结构的值:(5)XIM—FORWARD—EVENT:该协议用于处理按键事件;(6)XIMl_SET_IC—FOCUS:当前IC结构获得焦点;(7)XIM一_UNSETIC—FOCUS:当前IC结构失去焦点;(8)XIM—RESET_IC:将当前IC结构复位.
4.
2.
4输入法与输入法服务器通信在现实生活中,不同的用户可能会使用不同的输入法,这就要求输入法服务器能够包含多种输入法.
ZHInput和具体输入法的通信方法是:输入法与服务器之间通过预编辑缓冲区、候选字缓冲区以及选择结果缓冲区进行交互.
当用户打开某个输入法时,ZHInput调用输入法的初始化函数初始化这三个缓冲区.
当用户输入字符时,输入法服务器首先获得输入字符的ASCII码和扫描码,然后调用输入法的字符处理函数将ASCII码和扫描码传递给输入法.
输入法在得到字符的ASCII码和扫描码之后,将把字符的ASCII码保存在预编辑缓冲区中,输入法服务器根据预编辑缓冲区的内容将输入码显示在预编辑窗口中.
此方法实现起来比较简单,但是也存在缺点.
如果用户需要增加新的输入法,输入法必须实现服务器要求的所有函数,并且所有的源码必须重新编译才能生成新的可执行文件.
4.
2.
5内码处理内码处理模块提供了对中文的多个代码页的支持,包括GB2312、GBK、GB18030、BIG一5、Unicode/ISO1O646等.
从而不仅实现了各个输入法的与平台无关性,而且ZHInput自身可以运行在简体和繁体Linux环境下.
环境变量Locale对输入法服务器是至关重要的.
ZHInput通过Locale的值来设定返回字符串的代码页.
如对繁体Linux平台来说,Locale的值设置为"zhTW.
Big5".
ZHInput根据用户启动的设置或者环境变量来确定Locale的值.
输入法相关的应用程序也需要根据Locale的值来确定应用程序中与平台相关的部分,如应用程序的界面信息等.
因此需要将Locale的值保存在输入法与应用程序的共享内存中,从而使得两者的代码页一致.
各个输入法的输入码对照表中的汉字可以采用多种不同的代码页,在输入法内部,可以以该种代码页为标准进行汉字的处理.
如某个输入法采用BIG一5为代码页,则在该输入法内部就可以把BIG一5作为汉字的代码页,即使此输入法运行在简体环境下.
为了实现输入法的与平台无关性,在内码处理模块中需要有一个代码页转换子模块,这个子模块功能如图4所示(图中虚线表示无需转换),主要负责在输入法和操作系统之间进行代码页的转换工作.
如果操作系统的代码页和输入法一致,那么没有必要进行转换,否则需要该子模块进行代码的转换以便使输入法和操作系统都能接收到正确的内码.
输入图4代码页转换子模块输出代码页转换子模块的核心是以Unicode/ISO10646为输入法服务器的代码页,其它的代码页均以它为中心进行转换.
这样做的原因是GB2312/GBK/GB18030和BIG一5均与Unicode/ISO1O646在内码上存在一一对应的关系,只要构造两张转换表便可实现.
如操作系统采用GBK代码页,而输入法采用BIG一5代码页,那么两者的代码页就不一致.
相互之间无法进行正常的汉字内码交换.
所以,在输入法服务器中需要有一个内码处理模块,这个模块在接收到输入法的BIG一5内码后.
可以把它转换为Unicode,然后进行处理,处理完后,再把Unicode内码转换为GBK内码,传送给操作系统,反之也是一样.
这样,一个输入法就可以跨简繁平台了.
4-3输入法服务器总体架构图5为输入法服务器ZHInput的架构.
采用这种架构.
用户只要实现XIC数据结构中的三个函数就可以把自己的输入法添加到输入法服务器中并能在Linux中使用.
其中InputBuf是输入码缓冲区,Result是汉字内码缓冲区,分别用来存放用户输入的输入码以及输出到应用程序的汉字机内码.
客户程序从客户程序接收事件客户程序预编辑窗口预编辑字符候选字选择字符处理事件NXIM输入法服务器ZHlnput厂厂—__—]厂图5系统架构图事件处理模块输入法服务器需要处理的事件Y预编辑窗口预编辑窗口预编辑窗口4.
4输入法服务器与输入法通信接口的实现根据图5所示,ZHInput和输入法之间的接口主要是XIC定义的三个函数:Init、Fliter和CleanUp,ZHInput要求每个输入法必须实现这三个函数.
具体XIM服务器与输入法通信的流程如下:(1)XIM服务器得到用户按键的ASCII码和扫描码.
通过函数Filter()将ASCII码和扫描码传递给输入法程序:(2)XIM服务器判断Inputbuf缓冲区是否不为空以及Re—suh缓冲区是否为空,如果是,则直接跳转至下一步:否则隐藏预编辑窗口,设置bDisInput(表示是否需要显示预编辑窗口)的值为False,并跳转至(6);(3)XIM服务器判断bDisInput的值是否为True,如果是,则刷新预编辑窗口中的内容.
并跳转至下一步:否则,在IC—List链表中查找到相应的IC结构,在客户程序中为预编辑窗口定位,画出预编辑窗口,显示用户输入的字符;(4)XIM服务器判断Selhzbuf缓冲区(候选字缓冲区)是否不为空以及Result缓冲区是否为空,如果是,则跳转至下一步:否则隐藏候选字窗口,设置bDisInput的值为False,并跳转至(6);(5)XIM服务器判断bDisInput的值是否为True,如果是,则刷新候选窗口中的内容,函数返回;否则,在IC—List链表中查找到相应的IC结构,在客户程序中为候选窗口定位.
画出候选窗口,显示候选字列表,函数返回;(6)判断用户的按键信息是否为标点符号,如果是,则跳转至下一步.
否则,跳转至(8);(7)判断用户是否处于半角状态,如果是,直接跳转至下一步;否则将相应的英文标点转换为中文标点.
保存在result缓冲区中:(8)XIM服务器调用函数CommitResuh将Result缓冲区中的字符传递给客户程序,结束.
对输入法程序来说,它通过Filter()得到用户按键的ASCII码和扫描码,然后进行处理.
5结束语我们设计并开发的Linux输入法服务器ZHInput是在参考了miniChinput和Rlinput源代码的基础上.
根据XIM协议进行设计的.
在设计中,充分利用了我们多年来开发Windows和Linux下汉字输入法的经验,以及已有的对多文种的处理技术.
ZHInput目前已经集成了多个输入法.
可以应用到绝大多数的Linux平台上.
表1为ZHInput输入法服务器与现有输入法服务器主要功能的比较.
表1ZHInput与现有输入法服务器主要功能比较虽然XIM结构的输入模式目前仍然是Linux中文输入的主流,但也存在一些缺陷,如和XWindow系统结合过于紧密,不适合于嵌入Linux系统,只能以POSIX为单一的locale等.
为此,Open118N制定了IIIMF(Interuet/IntranetInputMethodFramework)旧标准,这个标准将成为未来Linux下输入的主导,(下转205页)计算机工程与应用2005.
33121互联与传输功能,打破时间与空间的限制,但也不得不设计一些防护措施,维护应用程序的正常运转.
6.
1身份验证对丁作流管理系统而言,身份验证尤为重要,对试图使用系统的用户,系统通过身份验证确定用户的使用身份与权限,对合法的用户,分配相应权限范围内的资源,而对非法用户则不准进入系统,并将界面定位于登陆页面或强制关闭浏览器.
对网络应用程序,可通过几种不同的方式达到保护web页面或目录安全的目的.
(1)IISInternet安全管理器(InternetSecurityManager);(2)基本身份验证;(3)NTLM身份验证;(4)基本表单的身份验证;(5)Web.
config配置身份验证.
在本1二作流管理系统身份验证机制的设计中,充分利用I—IS5.
5的配置,限定访问者的访问等级,考虑到特洛伊木马和邮件炸弹的可能.
删除FormPage服务器扩展和SMTP服务器组件;基于表单的身份验证与session设置结合使用,合法用户的信息记载于数据库中,提交用户信息,系统将对比用户填写的信息和数据库中的信息,符合者将赋予相应的资源,同时启动登录页面.
而对基本信息不能通过表单页面检验的用户,将不予通过,拒绝非法用户的请求.
其表单验证代码如下:6.
2数据安全数据安全主要指数据库的安全性.
为防止信息被窃取、删除和修改.
必须设置相应的保护措施.
除了在数据服务器端利用数据库本身的安全进行保护外,如SQLServer2000的认证方式设置,数据库用户限制和角色控制等,系统还增加加密防护,在用户数据信息表中,用户密码为经哈希函数处理后的密码.
由于.
NET提供SHA1和MD5两种密码算法,则在用户数据管理模块中使用系统提供的哈希算法,将用户提供的明文密码处理变为暗文形式的哈希密码.
即采用语句:FormsAuthenti—cation.
HashPasswordForStoringInConfigFile(PasswordString.
PasswordFormat),其中,PasswordString为用户提供的明文密码字符串,PasswordFormat为"SHA1"或"MD5".
防止密码被窃取后带来不必要的后果.
如果工作流管理系统需要向外界开放.
系统还必须辅以更为严谨的加密设置,如使用DES或RSA加密算法处理,以保障信息的机密性、完整性和确证性,防止信息被篡改、伪造和假冒[81.
7结束语根据一个具体的需求,基于软件工程和程序设计的思想,对基于WEB的丁作流管理系统进行分析与实现过程的阐述.
主要包括系统结构的设计,功能模块的划分与说明,关键技术的探讨.
数据库模式和安全机制进行设计.
文中探讨的系统,主要是从流程管理的角度出发,由于工作流要用于实际的环境中.
它的应用效果如何,需要一套评价方法和评价指标模块来辅助衡量工作流的实施效果,有助于流程管理者对流程的进一步改进.
需要在今后去研究和探讨.
(收稿Et期:2005年1月)参考文献1.
林慧苹,范玉顺,吴澄.
支持企业经营过程重组的工作流仿真技术研究[JJ.
信息与控制,2001;30(1):11-152.
范玉顺.
吴澄.
工作流管理技术研究与产品现状及发展趋势[J1.
计算机集成制造系统一CIMS,2000;6(1):1-73.
DavidHollingsworth.
TheWorkflowReferenceModel[R】.
DocumentNumberWfMC-TC一1003.
DocumentStatus-Issue1.
1.
19954.
曾月.
范玉顺.
基于COM和ASP技术的T作流管理系统的设计与实现[J1.
计算机工程与应用,2002;38(1):241~2445.
(美)DannyGoodman.
JavaScript宝典[M】.
北京:电子T业出版社,20026.
陈会安.
XML网页制作彻底研究[M】.
北京:中国铁道出版社,20037.
(美)StephenRSchach.
Object—OrientedandClassicalSoftwareEngi—neering[M].
北京:机械工业出版社,20038.
夏美凤,施鸿宝.
基于数据加密的网络通信系统安全模型与设计[J1.
计算机工程,2O01;27(10):117—118(上接121页)我们目前正在把ZHInput从XIM向IIIMF移植.
(收稿Et期:2005年3月)参考文献1.
VaniaJoloboff,BillMcMahon.
XWindowSystemInputMethodSpeci—fications[CP/OL].
http://www.
opencjk.
org/-yumj/chi"put/xipr0to.
html,19902.
朱巧明,李培峰.
基于Windows9x/200o/NT平台汉字输入法的设计[JJ.
小型微型计算机系统.
2000:21(11):1217~12203.
李培峰,朱巧明,钱培德.
Linux下的汉字输入法设计技术[JJ.
计算机应用.
2002;22(6):88-904.
miniChinput的源码[CP/OLJ.
http://minichinput.
sourceforge.
net/,19985.
Rfinput的源码[CP/OL].
http://www.
redflag-linux.
com/xiazai/index.
php.
20006.
HidekiHiura.
HidetoshiTajima.
Intemet—IntranetInputMethodPro—tocol(IIIMP)Speci6cationRevision3.
0[[CP/OLI].
http://www.
openil8n.
org/subgroups/im/iiimf/protocoYspec.
html,2004—07(上接158页)参考文献1.
FLeFaucheur,WLai.
RequirementsforSuppo~ofDifferentiatedServices—awareMPLSTrafficEngineering[S].
IETFRFC3564,2003—072.
JAGaray,ISGopa1.
CallPreemptioninCommunicationNetworks[C].
In:ProceedingsoftheIEEEINFOCOM02,1992;3:1043-10503.
MPeyravian.
ADKshemkalyani.
DecentralizedNetworkConnectionPreemptionAlgorithms[J].
ComputerNetworksandISDNSystems,1998;30(11):1029-10434.
JCdeOliveiraeta1.
AnewpreemptionpolicyforDiffServ-awaretrafficengineeringtominimizererouting[C].
In:ProceedingsoftheIEEEINFOCOM2002,2002;2:23-275.
FBlanchy,LMelon,GLeduc.
RoutinginaMPLSnetworkfeaturingpreemptionmechanisms[C].
In:ProceedingsoftheICT2003,2003;1:253~2606.
BSzviatovszky,ASzentesi,AJuttner.
Minimizingre—routinginMPLSnetworkswithpreemption-awareconstraint—basedrouting[J].
ComputerCommunications,2002;25:1076~10837.
|JiI.
SSampalli.
Backwardconnectionpreemptioninmulti—classQoS—awarenetworks[C1.
In:ProceedingsoftheTwelfthIEEEInterna—tionalWorkshoponQualityofService,2004:153-1578.
李震宇.
张中兆,王蕾.
MPLS网络中基于约束路由机制实现流量工程的研究『JJ.
计算机工程与应用,2004;40(8):165~167计算机工程与应用2005.
33205
百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。C3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C3机房套餐处理器内存硬盘IP数带宽线路防御价格/月套...
Hostigger 主机商在前面的文章中也有介绍过几次,这个商家运营时间是有一些年份,只不过在我们圈内好像之前出现的次数不多。最近这段时间商家有提供不限流量的VPS主机,逐渐的慢慢被人认识到。在前面的介绍到他们提供的机房还是比较多的,比如土耳其、美国等。今天看到Hostigger 商家居然改动挺大的,原来蛮好的域名居然这次连带官方域名都更换掉去掉一个G(Hostiger )。估摸着这个域名也是之前...
如今我们很多朋友做网站都比较多的采用站群模式,但是用站群模式我们很多人都知道要拆分到不同IP段。比如我们会选择不同的服务商,不同的机房,至少和我们每个服务器的IP地址差异化。于是,我们很多朋友会选择美国多IP站群VPS商家的产品。美国站群VPS主机商和我们普通的云服务器、VPS还是有区别的,比如站群服务器的IP分布情况,配置技术难度,以及我们成本是比普通的高,商家选择要靠谱的。我们在选择美国多IP...
小旋风asp服务器为你推荐
sherylsandbergLean In是一个怎样的组织5xoy.comhttp://www.5yau.com (舞与伦比),以前是这个地址,后来更新了,很长时间没玩了,谁知道现在的地址? 谢谢,www.baitu.com我看电影网www.5ken.com为什么百度就不上关键字呢baqizi.cc徐悲鸿到其中一张很美的女人体画猴山条约游猴山,观猴子莱姿蔓蕊姿蔓是什么样的牌子来的雀嘴鳝怎么饲养雀鳝鱼?窝尚公寓窝尚网到底搞什么?窝尚网真的有那么好么?www.150.com有没有免费看电影的网站?稻草寒中药艾主治什么
中文域名注册 linode代购 z.com mach 鲜果阅读 数字域名 umax120 免费cdn 33456 上海联通宽带测速 如何建立邮箱 超级服务器 申请网站 创速 杭州电信 小夜博客 register.com 百度新闻源申请 godaddy中文 symantec 更多