对于网络和本地因特网协议业务的综合监测的利记博彩app

文档序号:7963543阅读:200来源:国知局
专利名称:对于网络和本地因特网协议业务的综合监测的利记博彩app
技术领域
一般来说,本发明涉及数据通信。更具体来说,本发明涉及对于网络和本地因特网协议(IP)业务的综合监测。
背景技术
在当前的计算环境中,许多应用程序、如基于因特网的服务器应用程序涉及多个进程,其中一部分在相同的计算机上运行,其中一部分在不同的计算机上运行。不管它们在什么位置运行,这些进程采用IP协议相互通信。例如,H.323电视会议多点控制单元(MCU)服务器进程可创建与相同本地计算机上运行的万维网服务器的传输控制协议(TCP)连接。
有时希望调试这类应用程序。一种有用的工具是传统的包嗅探器,它记录进入和退出计算机的所有原始IP包。但是,这类包嗅探器无法监测相同计算机上的进程之间的进程间IP连接。

发明内容
一般来说,在一个方面,本发明以一种装置为特色,其中包括通信函数监测模块,其中包含用于检测一个或多个应用程序所产生的通信函数调用的通信函数调用检测模块以及向业务监测模块发送描述通信函数调用中的一个或多个的信息的通信函数调用报告模块;以及包监测模块,其中包含检测由网络接口硬件驱动程序为一个或多个应用程序处理的包的包检测模块以及向业务监测模块发送描述包中的一个或多个的信息的包报告模块。
一些实施例包括通信函数调用过滤器模块,用来选择通信函数调用中的一个或多个。一些实施例包括包过滤器模块,用来选择包中的一个或多个。一些实施例包括业务监测模块。在一些实施例中,通信函数调用检测模块包括与Microsoft Windows Winsock模块通信的动态链接库模块,Microsoft Windows Winsock模块与一个或多个应用程序通信;以及与网络接口硬件驱动程序通信的网络协议驱动程序。
一般来说,在另一个方面,本发明以一种方法为特色,它包括检测一个或多个应用程序所产生的通信函数调用;向业务监测模块发送描述通信函数调用中的一个或多个的信息;检测由网络接口硬件驱动程序为一个或多个应用程序处理的包;以及向业务监测模块发送描述包中的一个或多个的信息。
一些实施例包括选择通信函数调用中的一个或多个。一些实施例包括选择包中的一个或多个。一些实施例包括选择通信函数调用中的一个或多个。在一些实施例中,根据预定义通信函数调用过滤标准来选择通信函数调用中的一个或多个,此外,该方法还包括根据用户输入来建立通信函数调用过滤标准。一些实施例包括选择包中的一个或多个。在一些实施例中,包中的一个或多个根据预定义包过滤标准来选择,该方法还包括根据用户输入来建立包过滤标准。一些实施例包括用于执行该方法的计算机程序。一些实施例包括执行该方法的装置。
一般来说,在又一个方面,本发明以一种方法为特色,它包括接收包含一个或多个应用程序所产生的通信函数调用的描述的第一报告;接收包含由网络接口硬件驱动程序为一个或多个应用程序处理的一个或多个包的描述的第二报告;以及根据通信函数调用的描述中的一个或多个以及一个或多个包的描述中的一个或多个来产生通信状态报告。
一些实施例包括选择第一报告中的通信函数调用的描述中的一个或多个。一些实施例包括选择第二报告中描述的包的描述中的一个或多个。一些实施例包括向用户呈现网络状态报告。一些实施例包括根据用户输入来配置通信函数调用过滤器模块和包过滤器模块。一些实施例包括用于执行该方法的计算机程序。一些实施例包括执行该方法的装置。
一般来说,在另一个方面,本发明以一种装置为特色,所述装置包括用于监测通信函数的部件,其中包括用于检测一个或多个应用程序所产生的通信函数调用的通信函数调用检测部件以及用于向业务监测模块发送描述通信函数调用中的一个或多个的信息的通信函数调用报告部件;以及用于监测包的部件,其中包括用于检测由网络接口硬件驱动程序为一个或多个应用程序处理的包的包检测模块部件以及用于向业务监测模块发送描述包中的一个或多个的信息的包报告部件。
一些实施例包括用于选择通信函数调用中的一个或多个的通信函数调用过滤器部件。一些实施例包括用于选择包中一个或多个的包过滤器模块部件。一些实施例包括业务监测模块。
一个或多个实现的详细情况在附图及以下描述中阐明。通过说明、附图及权利要求书,其它特征会变得明显。


图1说明如Microsoft Windows之类的操作系统的传统软件栈。
图2说明根据一个优选实施例的综合监测系统。
图3说明根据一个优选实施例的图2的通信函数调用监测模块的详细情况。
图4说明根据一个优选实施例的图2的包监测模块的详细情况。
图5说明根据一个优选实施例的图2的业务监测模块的详细情况。
图6说明根据一个优选实施例的用于图2的软件栈的方法。
图7说明根据一个优选实施例的用于图2的业务监测模块的方法。
本说明中使用的每个参考标号的前导数字表示在其中第一次出现该参考标号的附图的编号。
具体实施例方式
本发明的实施例提供对于网络和本地因特网协议(IP)业务的综合监测。本发明的实施例不仅监测不同计算机上运行的进程之间的通信,而且还监测同一个计算机上运行的进程之间的通信。虽然参照Microsoft Windows操作系统来描述本发明的实施例,但是,在阅读本说明之后,相关领域的技术人员将非常清楚,其它实施例能够与其它操作系统配合工作。
图1说明如Microsoft Windows之类的操作系统的传统软件栈102。软件栈102包括与通信应用程序编程接口(API)106、如MicrosoftWinsock通信的一个或多个应用程序104,通信应用程序编程接口(API)106与网络协议驱动程序108、如传输控制协议/因特网协议(TCP/IP)驱动程序进行通信,网络协议驱动程序108与网络接口硬件驱动程序110、如网络接口卡(NIC)驱动程序进行通信,网络接口硬件驱动程序110与网络接口硬件112、如网络接口卡(NIC)进行通信。
图2说明根据一个优选实施例的综合监测系统200。综合监测系统200包括软件栈202和业务监测模块204。软件栈202和业务监测模块204可驻留在不同的计算机上或者驻留在同一个计算机上。
软件栈202与图1的软件栈102相似,但包括共同组成通信监测模块的两个附加模块通信函数调用监测模块206和包监测模块208。模块206和208分别经由链路210和212与业务监测模块204通信,下面进行详细描述。
图3说明根据一个优选实施例的通信函数调用监测模块206的详细情况。通信函数调用监测模块206包括检测应用程序104所产生的通信函数调用的通信函数调用检测模块302以及向业务监测模块204发送描述通信函数调用中的一个或多个的信息的通信函数调用报告模块304。函数调用监测模块206可选地包括通信函数调用过滤器模块306来选择通信函数调用检测模块302所检测的、要包含在通信函数调用报告模块304所发送的报告中的通信函数调用中的一个或多个。
图4说明根据一个优选实施例的包监测模块208的详细情况。包监测模块208包括包检测模块402来检测由网络接口硬件驱动程序110为应用程序104处理的包(即,检测为应用程序104所发送或接收的包)。包监测模块208还包括包报告模块404,以便向业务监测模块204发送描述包中一个或多个的信息。包监测模块208可选地包括包过滤器模块406,以便选择包检测模块402所检测的、要包含在包报告模块404所发送的报告中的包中的一个或多个。
图5说明根据一个优选实施例的业务监测模块204的详细情况。业务监测模块204包括通信函数调用监测接口模块502,从通信函数调用监测模块206的通信函数调用报告模块304接收包含应用程序104所产生的通信函数调用的描述的报告;以及包监测接口模块504,从包监测模块208的包报告模块404接收包含由网络接口硬件驱动程序110为应用程序104处理的包的描述的报告。业务监测模块204还包括业务分析模块506,以便根据通信函数调用的描述以及一个或多个包的描述来产生网络状态报告、告警等。业务监测模块204可选地包括用户接口模块508,以便向用户呈现网络状态报告等。
业务监测模块204可选地包括通信函数调用过滤器模块510和包过滤器模块512中的任一个或者它们两者。通信函数调用过滤器模块510选择通信函数调用的描述中的一个或多个,供产生网络状态报告时进行分析。类似地,包过滤器模块512选择包的描述中的一个或多个,供产生网络状态报告时进行分析。在包括通信函数调用过滤器模块510和包过滤器模块512中的任一个或者它们两者的实施例中,用户接口模块508允许用户配置过滤器510和512。
图6说明根据一个优选实施例的用于软件栈202的方法600。在包括可选通信函数调用过滤器模块306和可选包过滤器模块406中的一个或者两者的实施例中,方法600可选地包括例如根据可经由业务监测模块204的用户接口模块508提供的用户输入来配置过滤器306和406中的一个或两个(步骤602)。在函数调用过滤器模块306的情况中,配置包括选择应当向业务监测模块204报告哪些通信函数调用。在可选包过滤器模块406的情况中,配置包括选择应当向业务监测模块204报告哪些包。
通信函数调用检测模块302检测应用程序104所产生的通信函数调用(步骤604)。通信函数调用包括应用程序104对通信API 106进行的、以便进行和中断通信连接、发送和接收包等的函数调用。在Microsoft Windows环境中,通信函数调用监测模块206实现为Winsock2,它挂接采用Winsock2分层服务提供商(LSP)机制附加到Winsock2标准套接字函数调用的动态链接库(DLL)。在其它环境中,可使用其它实现。根据这些实施例,当基于套接字的应用程序104进行Winsock2套接字函数调用(例如bind()、connect()、accept()、send()/sendto()、recv()/recvfrom()等)时,LSP DLL的对应函数被调用。LSP DLL可检查和/或修改传递给它的函数的任何数据。
在采用可选通信函数调用过滤器模块306的实施例中,过滤器模块306选择要向业务监测模块204报告的通信函数调用中的一个或多个(步骤606)。
通信函数调用报告模块304经由链路210向业务监测模块204发送描述通信函数调用的信息(步骤608)。在Microsoft Windows环境中,链路210优选地采用Microsoft Named Pipe机制来实现,但也可采用任何进程间通信机制。在其它环境中,可使用其它实现。
包检测模块402检测由网络接口硬件驱动程序110为应用程序104处理的包(步骤610)。由此,对于由模块402所在的计算机所发送或者所接收的每个包调用包检测模块402。在Microsoft Windows环境中,包检测模块402优选地提供到接收应用程序104所发送的包的网络协议驱动程序108的微型端口接口,以及提供到接收发送给应用程序104的包的网络接口硬件驱动程序110的协议接口。在其它环境中,可使用其它实现。
在采用可选包过滤器模块406的实施例中,过滤器模块406根据可由用户配置的预定义包过滤标准来选择要向业务监测模块204报告的包中的一个或多个(步骤612)。例如,包过滤标准可能只选择与特定TCP或UDP端口关联的那些包、只有与诸如SYN、SYN+ACK、FIN+ACK、RST之类的特定TCP事件关联的那些包。包报告模块404向业务监测模块204发送描述包的信息(步骤614)。
图7说明根据一个优选实施例的用于业务监测模块204的方法700。在包括可选通信函数调用过滤器模块510和可选包过滤器模块512中的一个或者两者的实施例中,方法600可选地包括例如根据可经由用户接口模块508提供的用户输入来配置过滤器510和512中的一个或两个(步骤702)。在函数调用过滤器模块510的情况中,配置包括选择通信函数调用监测模块206所报告的哪些通信函数调用应当由业务监测模块204进行分析。在可选包过滤器模块406的情况中,配置包括选择包监测模块208所报告的哪些包应当由业务监测模块204进行分析。通信函数调用过滤器模块510和可选包过滤器模块512所采用的过滤标准可按照以上所述用于通信函数调用过滤器模块306和包过滤器模块406。
通信函数调用监测接口模块502从通信函数调用监测模块206的通信函数调用报告模块304接收包含应用程序104所产生的通信函数调用的描述的报告(步骤704)。
包监测接口模块504从包监测模块208的包报告模块404接收包含由网络接口硬件驱动程序110为应用程序104处理的包的描述的报告(步骤706)。
在采用可选通信函数调用过滤器模块510的实施例中,过滤器模块510选择用于分析的所报告通信函数调用中的一个或多个(步骤708)。在采用可选包过滤器模块512的实施例中,过滤器模块512选择用于分析的所报告包中的一个或多个(步骤710)。
业务分析模块506根据通信函数调用的描述以及一个或多个包的描述来产生通信状态报告、告警等(步骤712)。用户接口模块508可选地向用户呈现通信状态报告(步骤714)。
业务分析模块506可采用任何种类的分析,例如用于调试或性能目的。例如,业务分析模块可检测次序打乱的包、包重传等。
作为另一个实例,业务分析模块506可监测网络协议驱动程序108的缓冲状态。例如,当应用程序104与网络交换TCP/IP数据时,网络协议驱动程序108缓冲数据,直到它被接收(例如对于输入数据由应用程序104接收,以及对于输出数据由网络接口硬件驱动程序110接收)为止。这种缓冲普遍提高性能和吞吐量,如相关领域众所周知的那样。但是,当缓冲的数据变大时,它的等待时间增加。对于诸如电视会议数据之类的实时数据,这种等待时间不利地影响了用户的交互体验。通过分析应用程序104的send()、sendto()、recv()以及recvfrom()通信函数调用以及具有PSH标志集的包,业务分析模块506可确定所缓冲数据的量。
作为另一个实例,业务监测模块204可报告由应用程序104向不同计算机上的应用程序进行的TCP连接的建立。通信函数调用监测模块206报告来自应用程序104的connect()函数调用。包监测模块208报告所得TCP握手包。通信函数调用监测模块206则报告connect()函数调用的返回状态。
作为另一个实例,业务监测模块204可报告由一个应用程序104或进程向同一个计算机上的另一个应用程序104或进程进行的TCP连接的建立。通信函数调用监测模块206报告具有作为目标地址的计算机的IP地址的connect()函数调用,随后报告connect()函数调用的返回状态。由于这种进程间连接没有涉及另一个计算机,因此,包监测模块208没有要报告的包。
本发明的实施例在H.323电视会议应用中特别有用。根据这些实施例的通信监测模块可结合到H.323客户机和服务器中,用于调试连通性问题,例如在H.323客户机处于网络或本地防火墙之后的情况中。在与远程桌面协议、如虚拟网络计算(VNC)结合使用时,本发明的实施例允许技术人员远程监测和矫正客户机连通性问题。另外,本发明的实施例可检查客户机注册表设置、如Microsoft InternetExplorer Proxy Server设置,以便确保正确的客户机软件设置。
在H.323电视会议服务器侧,本发明的实施例可为每个单独的客户机连接跟踪网络性能。当服务器与其它本地应用程序和进程、如万维网服务器或本地数据库服务器结合时,本发明的实施例可监测应用程序和进程之间的通信。另外,客户机连通性问题可通过这些多服务器应用程序和进程来跟踪。
本发明的实施例可在数字电子电路中、或在计算机硬件、固件、软件中或者在它们的组合中实现。本发明的装置可通过有形地包含在机器可读存储装置中供可编程处理器运行的计算机程序产品来实现;本发明的方法步骤可由运行指令程序以便通过对输入数据进行操作并产生输出来执行本发明的功能的可编程处理器来执行。本发明可有利地通过在可编程系统中可执行的一个或多个计算机程序来实现,可编程系统包括经过耦合以接收来自数据存储系统的数据和指令并向其发送数据和指令的至少一个可编程处理器、至少一个输入装置以及至少一个输出装置。各计算机程序可用高级过程或面向对象的编程语言来实现,或者根据需要通过汇编或机器语言来实现;以及在任何情况下,语言可能是经过编译或解释的语言。适当的处理器作为实例包括通用以及专用微处理器。一般来说,处理器将接收来自只读存储器和/或随机存取存储器的指令及数据。一般来说,计算机包括用于存储数据文件的一个或多个大容量存储装置;这类装置包括诸如内部硬盘和可移动盘等的磁盘、磁光盘以及光盘。适合有形地包含计算机程序指令和数据的存储装置包括所有形式的非易失性存储器,作为实例,包括诸如EPROM、EEPROM和闪速存储装置之类的半导体存储装置;诸如内部硬盘和可移动盘之类的磁盘;磁光盘;以及CD-ROM盘。上述任一种可通过ASIC(专用集成电路)进行补充或者与其结合。用于实现本发明的实施例的计算机程序指令还可在适当的载波上传送。
已经描述了本发明的多种实现。然而,大家会理解,可进行各种修改,而没有背离本发明的精神和范围。因此,其它实现在以下权利要求的范围内。
权利要求
1.一种装置,包括通信函数监测模块,包括通信函数调用检测模块,检测一个或多个应用程序所产生的通信函数调用,和通信函数调用报告模块,向业务监测模块发送描述所述通信函数调用中的一个或多个的信息;以及包监测模块,包括包检测模块,检测由网络接口硬件驱动程序为所述一个或多个应用程序处理的包,和包报告模块,向所述业务监测模块发送描述所述包中的一个或多个的信息。
2.如权利要求1所述的装置,其特征在于,还包括通信函数调用过滤器模块,用来选择所述通信函数调用中的一个或多个。
3.如权利要求1所述的装置,其特征在于,还包括包过滤器模块,用来选择所述包中的一个或多个。
4.如权利要求1所述的装置,其特征在于,还包括所述业务监测模块。
5.如权利要求1所述的装置,其特征在于,所述通信函数调用检测模块包括与以下各项通信的动态链接库模块Microsoft Windows Winsock模块,它与所述一个或多个应用程序通信,以及网络协议驱动程序,它与所述网络接口硬件驱动程序通信。
6.一种方法,包括检测一个或多个应用程序所产生的通信函数调用;向业务监测模块发送描述所述通信函数调用中的一个或多个的信息;检测由网络接口硬件驱动程序为所述一个或多个应用程序处理的包;以及向所述业务监测模块发送描述所述包中的一个或多个的信息。
7.如权利要求6所述的方法,其特征在于,还包括选择所述通信函数调用中的一个或多个。
8.如权利要求7所述的方法,其特征在于,所述通信函数调用中的一个或多个根据预定义的通信函数调用过滤标准来选择,还包括根据用户输入来建立所述通信函数调用过滤标准。
9.如权利要求6所述的方法,其特征在于,还包括选择所述包中的一个或多个。
10.如权利要求9所述的方法,其特征在于,所述包中的一个或多个根据预定义的包过滤标准来选择,还包括根据用户输入来建立所述包过滤标准。
11.一种媒介或波形,包含指令程序,所述指令程序在被执行时,适合使指令执行装置执行权利要求6的方法。
12.一种配置成执行权利要求6的方法的装置。
13.一种方法,包括接收包含一个或多个应用程序所产生的通信函数调用的描述的第一报告;接收包含由网络接口硬件驱动程序为所述一个或多个应用程序处理的一个或多个包的描述的第二报告;以及根据所述通信函数调用的描述中的一个或多个以及所述一个或多个包的描述中的一个或多个来产生通信状态报告。
14.如权利要求13所述的方法,其特征在于,还包括选择所述第一报告中的所述通信函数调用的描述中的一个或多个。
15.如权利要求13所述的方法,其特征在于,还包括选择所述第二报告中描述的所述包的描述中的一个或多个。
16.如权利要求13所述的方法,其特征在于,还包括向用户呈现所述网络状态报告。
17.如权利要求13所述的方法,其特征在于,根据用户输入来配置所述通信函数调用过滤器模块和所述包过滤器模块。
18.一种媒介或波形,包含指令程序,所述指令程序在被执行时,适合使指令执行装置执行权利要求13的方法。
19.一种配置成执行权利要求13的方法的装置。
全文摘要
一种装置包括通信函数监测模块,包含检测一个或多个应用程序所产生的通信函数调用的通信函数调用检测模块和向业务监测模块发送描述通信函数调用中一个或多个的信息的通信函数调用报告模块;以及包监测模块,包含检测由网络接口硬件驱动程序为一个或多个应用程序处理的包的包检测模块和向业务监测模块发送描述包中一个或多个的信息的包报告模块。这种装置的功能性及变型还通过方法和计算机程序来体现。
文档编号H04L12/26GK1881911SQ200610092698
公开日2006年12月20日 申请日期2006年6月16日 优先权日2005年6月17日
发明者严伟东 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1