CN101360016B - 自动配置机器人事务回放的方法和系统 - Google Patents
自动配置机器人事务回放的方法和系统 Download PDFInfo
- Publication number
- CN101360016B CN101360016B CN2008101343997A CN200810134399A CN101360016B CN 101360016 B CN101360016 B CN 101360016B CN 2008101343997 A CN2008101343997 A CN 2008101343997A CN 200810134399 A CN200810134399 A CN 200810134399A CN 101360016 B CN101360016 B CN 101360016B
- Authority
- CN
- China
- Prior art keywords
- affairs
- script
- server
- playback
- client
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
一种自动配置机器人事务回放的方法和系统,其:访问或接收针对至少一个服务器应用的收集的性能数据,其中服务器应用能够执行与客户端设备的多个事务,并且位于已知地理场所的客户端设备在地理上与服务器分离;根据性能数据自动地确定客户端设备的用户使用了哪些事务;根据至少一个预定的选择标准来选择使用的事务;针对每个选择的事务自动地生成事务回放脚本,其使用测试信息替代该事务中用户提供的或用户唯一的信息;将每个脚本指定为从与执行所述使用的事务的客户端的场所相对应的地理场所执行;根据场所指定,将回放脚本部署至在地理上与客户端设备位于相同位置的机器人代理;以及从机器人代理处执行回放脚本,以便跨越相似的网络拓扑并在真实的情况下运用服务器应用。
Description
技术领域
本发明总体涉及一种用于对复杂的客户端-服务器事务进行仿真的系统和方法,其模拟了真实时间段期间通过实际网络拓扑从真实地理位置发起的真实事务。
背景技术
将出版物、技术或产品确定为与本发明相对的现有技术需要分析没有在此公开的某些日期和事件,鉴于此,除非特别地使用术语“现有技术”,否则申请人不承认背景技术中的记载构成现有技术。另外,背景技术部分中提供的记载是涉及或有助于理解本发明的“其他信息”。
在一般的客户端-服务器布置中提供了多种在线商业服务,其中客户端设备通过一个或多个计算机网络与一个或多个服务器系统互连。客户端设备(例如个人计算机和支持Web的蜂窝电话),通常在地理上与服务器分离,这使得在执行诸如预订飞行预约、从网上书店定制图书或访问网上银行账户的任务时,要执行客户端上和服务器处的多个软件模块,并且要使用多个网络链接,包括协议转换、纠错等等。
随着服务器上的应用程序变得越来越复杂,将来自其他程序的软件模块复用为客户端设备变得越来越可能,并且由此在客户端设备自身配置方面越来越复杂,而且,随着网络变得更加互连和先进,在这种事务的过程中越来越有可能出现问题或错误。类似地,确定每个错误的来源以便复制每个错误以及纠正每个错误变得越来越困难。
已经开发了用于实验室使用和现场使用二者的多种工具来对客户端-服务器布置中的用户事务进行仿真。然而,由于他们所采用的工具以及技术的限制,很多问题仍然是令人困惑的,当用户无法完成商业事务时,这些问题继续产生高昂的工作代价以及高昂的错失机会的代价。
发明内容
一种系统和方法,其:访问或接收针对至少一个服务器应用的收集的性能数据,其中服务器应用能够执行与客户端设备的多个事务,并且位于已知地理场所的客户端设备在地理上与服务器分离;根据性能数据自动地确定客户端设备的用户使用了哪些事务;根据至少一个预定的选择标准来选择使用的事务;针对每个选择的事务自动地生成事务回放脚本,其使用测试信息替代该事务中用户提供的或用户唯一的信息;将每个脚本指定为从与执行所使用的事务的客户端的场所相对应的地理场所执行;根据场所指定,将回放脚本部署至在地理上与客户端设备位于相同位置的机器人代理;以及从机器人代理处执行回放脚本,以便跨越相似的网络拓扑并在真实的情况下运用服务器应用。
附图说明
下面的详细描述与在此提供的附图相结合,提供了对本发明的完整公开。
图1a和图1b阐述了根据本发明的逻辑过程;
图2a和图2b示出了通用的计算平台架构以及此类计算平台架构的软件和固件的通常组织;
图3a阐述了将软件部署到客户端的逻辑过程,其中所部署的软件实现本发明和相关发明的方法以及过程;
图3b阐述了将软件集成到其他软件程序的逻辑过程,其中所集成的软件实现本发明和相关发明的方法以及过程;
图3c阐述了代表随需计算系统中的客户端来执行软件的逻辑过程,其中所执行的软件实现本发明和相关发明的方法以及过程;
图3d阐述了通过虚拟专用网络将软件部署到客户端的逻辑过程,其中部署的软件实现本发明和相关发明的方法以及过程;
图4a、图4b和图4c示出了各种可移动或固定类型的计算机可读介质、信号收发器以及并行-串行-并行信号电路;
图5在一般意义上示出了用于事务处理的服务器环境;
图6在一般意义上示出了用于事务处理的集群式服务器环境;以及
图7提供参考图6的集群节点的更多细节。
具体实施方式
对现有技术中未解决问题的认识以及本发明的概念性概述
本发明的发明人已经意识到并解决了本领域的其他人先前没有意识到的对复杂的客户端-服务器事务进行仿真问题,其模拟了真实时间段期间通过实际网络拓扑从真实地理位置发起的真实事务。基于事务的客户端-服务器布置中的现有监控代理能够被部署为远程代理,并且能够从那些远程客户端处执行事务序列,以便运用服务器或服务器应用。这不仅操作服务器和客户端的软件和硬件功能,而且还运用服务器和客户端之间存在的网络拓扑。通过客户端机器人定期地执行这些事务,允许用户和供应商验证服务质量是否满意,并检测问题。
然而,到目前为止,这些机器人事务序列是人工设计的。这要求用户或管理员根据其自身的最佳知识来确定哪些事务是最重要的,并继而了解完成该事务的每个步骤的细节。例如,为了运用在线银行交易应用的部分,希望编写机器人运用脚本的管理员必须了解的序列可以包括下列步骤:进入登录页面,输入用户名,输入密码,点击“登录”,点击“查看账户细节”,点击“按账户项目日期排序”,输入开始日期,输入结束日期等等。
本发明的发明人已经意识到,应用响应监控所收集的事务监视数据可用来:自动地确定哪些事务是最重要的或最常使用的,以及通常何时对那些事务进行访问;自动地根据所确定的最重要的事务来生成机器人脚本;自动地将脚本部署到位于代表如下客户端的地理区域的机器人代理部署:通常从这些客户端执行他们事务;以及执行那些脚本,以便以这样的方式来运用客户端-服务器布置,即最重要的事务在最合适、最实际的时间执行。一种此类应用响应监控系统是用于响应时间跟踪(“RTT”)的IBM Tivoli组合应用监控器(“ITCAM”),其中可以使用公知的应用响应监控器(“ARM”)应用编程接口(“API”)来获得事务性能数据。然而,本发明不限于通过ARM来由ITCAM实现或集成到ITCAM,相反,本发明可以结合任何适当的应用性能监控系统来使用。尽管一个实施方式使用ARM API来收集监视数据,但还存在其他备选方案。例如,公知为IBM Tivoli[TM]Web响应监控器(“WRM”)的另一组件“嗅察(sniff)”IP分组以收集该真实的用户Web业务,并将该信息写入到日志文件中。因此,本发明可以可选地读取和解释WRM日志。来自其他供应商的可选产品和工具同样可用于该功能。此外,可以可替换地采用IBM Tivoli更新版本的用于RTT的ITCAM,其被公知为用于响应时间的ITCAM v6.2(“用于RT的ITCAM”)。
适当的计算平台
鉴于本发明的至少一个实施方式结合、使用一个或多个计算平台,或者利用或通过一个或多个计算平台进行操作,而且很多设备(甚至是专用设备)实际上基于一类或另一类的计算平台,因此描述适当的计算平台、其特征以及其能力是有益的。
因此,概述计算平台的一般架构是有益的,该架构可以涵盖从高端Web或企业服务器平台到个人计算机、便携式PDA或无线电话的实现范围。
在本发明的一个实施方式中,包括先前所描述的逻辑过程的功能可以部分地或全部地由计算机(例如个人计算机)、Web服务器、Web浏览器或甚至是适当能力的便携式计算平台(例如个人数字助理(“PDA”)、支持Web的无线电话或其他类型的个人信息管理(“PIM”,)设备)所执行的软件来执行。在可选的实施方式中,本发明的一些或所有功能通过其他的逻辑形式(例如电路)来实现。
转到图2a,其给出了一种通用架构,其包括中央处理单元(21)(“CPU”),其通常包括与随机存取存储器(“RAM”)(24)以及只读存储器(“ROM”)(25)相关联的微处理器。通常,CPU(21)还具有高速缓存存储器(23)和可编程闪存ROM(26)。微处理器(22)与各种类型的CPU存储器之间的接口(227)通常称为“局部总线”,但也可以是更为通用的总线或工业标准总线。
很多计算平台还具有一个或多个存储驱动(29),例如硬盘驱动(HDD)、软盘驱动、光盘驱动(CD、CD-R、CD-RW、DVD、DVD-R等等)以及专用盘和磁带驱动(例如Iomega Zip[TM]以及jaz[TM],Addonics SuperDisk[TM]等等)。此外,一些存储驱动可以通过计算机网络进行访问。
根据计算平台的预期功能,很多计算平台具有一个或多个通信接口(21)。例如,个人计算机通常具有高速串行端口(RS-232、RS-422等等)、增强型并行端口(EPP)以及一个或多个通用串行总线(USB)端口。计算平台还可以具有例如以太网卡的局域网(LAN)接口,以及例如高性能串行总线IEEE-1394的其他高速接口。
诸如无线电话和无线网络化PDA的计算平台还可以具有带有天线的射频接口(RF)。在一些情况中,计算平台还可以具有红外数据布置(IrDA)。
计算平台通常还配备有一个或多个内部扩展槽(211),例如工业标准架构(ISA)、增强型工业标准架构(EISA)、外围组件互连(PCI)或用于添加其他硬件的专用接口槽,例如声卡、存储器板以及图形加速器。
此外,例如膝上型计算机和PDA的多个单元具有一个或多个外部扩展槽(212),允许用户能够容易地安装和移除硬件扩展设备,例如PCMCIA卡、智能媒体卡以及各种专用模块,例如可移除的硬件驱动、CD驱动和软件驱动。
通常,存储驱动(29)、通信接口(210)、内部扩展槽(211)以及外部扩展槽(212)通过标准的或工业的开放式总线架构(28)(例如ISA、EISA或PCI)与CPU(21)互连。在很多情况下,总线(28)可以经过专门设计。
计算平台通常具有一个或多个用户输入设备,例如键盘或小键盘(216)以及鼠标或指示设备(217)和/或触摸屏显示器(218)。在个人计算机的情况下,通常具有全尺寸的键盘以及鼠标或指示设备,例如轨迹球或TrackPoint[TM]。在支持Web的无线电话的情况下,简单的小键盘可以具有一个或多个功能专用键。在PDA的情况下,触摸屏(218)通常具有手写识别功能。
此外,计算平台具有麦克风(219),例如支持Web的无线电话的麦克风或个人计算机的麦克风。该麦克风可用于简单地报告音频和语音信号,并且其还可用于使用语音识别功能来输入用户选择,例如对Web站点的语音导航或自动拨打电话号码。
很多计算平台还配备有照相机设备(2100),例如静止数码相机或全运动视频数码相机。
多数计算平台还具有一个或多个用户输出设备,例如显示器(213)。该显示器(213)可以采用很多形式,包括阴极射线管(CRT)、薄膜晶体管(TFT)阵列或简单的发光二极管(LED)集合或液晶显示器(LCD)指示器。
一个或多个扬声器(214)和/或发声器(215)通常也与计算平台相关联。扬声器(214)可用于再现音频和音乐,例如无线电话的扬声器或个人计算机的扬声器。发声器(215)可以采用简单的“嘟嘟”声发射器或蜂鸣器的形式,其通常出现在诸如PDA合PIM的某些设备中。
这些用户输入和输出设备可以直接通过专用总线和/或接口与CPU(21)进行互连(28’、28”),或者他们可以通过一个或多个工业开放式总线(例如ISA、EISA、PCI等等)进行互连。该计算平台还可以具有一个或多个软件和固件(2101)程序,以实现计算平台的期望功能。
现在转到图2b,给出了该计算平台范畴内的软件和固件(2101)的通用组织。计算平台上可以具有一个或多个操作系统(OS)本机应用程序(223),例如文字处理器、电子数据表、联系人管理应用程序、地址簿、日历、电子邮件客户端、演示、财务和簿记程序。
此外,可以提供一个或多个“便携式”或独立于设备的程序(224),其可以通过例如Java[TM]脚本和程序的OS-本机平台专用解译器(225)来进行解译。
通常,计算平台还具有Web浏览器或微浏览器(226)的形式,其还可以包括对浏览器的一个或多个扩展,例如浏览器插件(227)。
计算设备通常还具有操作系统(220),例如微软Windows[TM]、UNIX、IBM OS/2、IBM AIX[TM]、开源LINUX、Apple的MACOS[TM]、或其他特定于平台的操作系统。例如PDA和无线电话的小型设备可以配备有其他形式的操作系统,例如实时操作系统(“RTOS”)或Palm Computing的PalmOS[TM]。
通常提供一组基本输入和输出功能(BIOS)和硬件设备驱动器(221),以允许操作系统(220)和程序接口与计算平台提供的专用硬件功能对接并对其进行控制。
此外,很多计算平台通常还具有一个或多个嵌入式固件程序(222),其由作为外围设备一部分的板载或“嵌入式”微处理器来执行,其中微处理器例如微控制器或硬盘驱动、通信处理器、网络接口卡或者声卡或显卡。
这样,图2a和图2b在一般意义上描述了各种计算平台的各种硬件组件、软件和固件程序,其中计算平台包括但不限于个人计算机、PDA、PIM、支持Web的电话以及其他设备例如WebTV[TM]单元。这样,现在将关注关于优选地实现为这种计算平台上的软件和固件的过程和方法的本发明的公开。本领域技术人员将很容易意识到,下面的方法和过程可以可选地部分或全部实现为硬件功能,而不脱离本发明的实质和范围。
计算机可读介质实施方式
在本发明的另一实施方式中,根据本发明的以及在这里所描述的逻辑过程被编码在一个或多个计算机可读介质之上或之中。一些计算机可读介质是只读的(例如,必须使用与最终从该媒体读取数据的设备不同的设备来对该介质进行初始编程),一些是只写的(例如,从数据编码器的角度来看,只能对该介质进行编码,而不能同时读取),或者是可读写的。还有一些其他媒体是一次写入、多次读取的。
一些介质的安装机制相对固定,而其他是可移动的,或者甚至是可发送的。当通过数据和/或计算机软件而被编码时,所有的计算机可读介质形成两种类型的系统:(a)当从驱动或读取机构上移除时,他们是存储器设备,在通过适当的电磁、电子和/或光信号激励时,其生成有用的数据驱动输出;(b)当安装在驱动或读取设备中时,他们形成计算机可访问的数据储存库系统。
图4a图示了某些计算机可读介质,其包括计算机硬盘驱动(40),硬盘驱动(40)具有一个或多个磁编码的盘片或磁盘(41),可以通过一个或多个磁头(42)对其进行读、写或者二者。这种硬盘驱动通常半永久性地安装在完整的驱动单元中,该驱动单元继而可以集成到可配置计算机系统,例如个人计算机、服务器计算机等等。
类似地,另一种形式的计算机可读介质是柔性的可移动“软盘”(43),其插入到容纳存取头的驱动中。该软盘通常包括柔性的、磁性可编码的磁盘,可以通过驱动头通过滑动盖(44)中的窗口(45)对其进行访问。
光盘(CD)(46)通常是塑料盘片,可以使用光学和/或磁光过程对其进行编码,继而通常使用光学过程来读取。一些CD是只读的(“CD-ROM”),并且在分发之前被批量制造并由读取类型的驱动来使用。其他CD是可以一次或多次写入的(例如“CD-RW”,“CD-R”)。数字多功能盘(“DVD”)是高级版本的CD,其通常包括双侧编码数据,甚至多层编码数据。像软盘一样,CD或DVD是可移动介质。
另一种常见类型的可移动介质是基于若干类型的可移动电路(例如固态)的存储器设备,例如紧凑式闪存(“CF”)(47)、安全数据(“SD”)、索尼的记忆棒、通用串行总线(“USB”)闪速驱动和“拇指驱动器(Thumbdrive)”(49)以及其他。这些设备通常是塑料外壳,包含数字存储器芯片,例如电池驱动的随机存取芯片(“RAM”)或闪速只读存储器(“FlashROM”)。在介质外部有一个或多个电子连接器(48,400)可用,其用于接合例如CF驱动槽或USB槽的连接器。使用串行数据技术来访问例如USB闪速驱动的设备,而使用并行技术来访问例如CF的其他设备。这些设备通常提供比基于盘片的介质更快的访问时间,以及提高的可靠性和降低的对机械撞击和震动的易损性。通常,与价格相当的基于盘片的介质相比,他们提供较少的存储量。
又一种类型的计算机可读介质设备是存储器模块(403),通常称之为SIMM或DIMM。类似于CF、SD和闪速驱动,这些模块包含安装在电路板(401)上的一个或多个存储器设备(402),例如动态RAM(DRAM),其中电路板(401)具有一个或多个用于与其他电路(例如个人计算机主板)进行接合或接口连接的电子连接器。这些类型的存储器模块通常并不封装入外壳中,因为他们旨在由经过训练的技术人员来安装,并且通常由较大的外壳(例如,个人计算机机架)来保护。
现在转到图4b,其示出了本发明另一实施方式选项(405),其中,通过实现了根据本发明的逻辑过程的软件、数据或者二者对计算机可读信号进行编码。图4b用于表示无线、有线、电光以及光学信令系统的功能。例如,可以按照适合通过射频(RF)以及光学信号(例如红外数据设置(IrDA))进行无线传输的方式来实现图4b所示的系统。图4b的系统还可以按照其他方式来实现,以充当USB系统的数据传送器、数据接收器或数据收发器,例如读取上面提到的USB闪速驱动的驱动,或对盘片(例如CD或硬盘驱动盘)上连续存储的数据进行存取的驱动。
通常,微处理器或微控制器(406)对去往/来自用于数据、程序或二者的存储(407)的数据进行读、写或二者。数据接口(409)(可选地包括数模转换器)与可选的协议堆栈(408)进行协作,以在系统前端(410)和微处理器(406)之间发送、接收或收发数据。该协议堆栈适用于所发送、接收或收发的信号类型。例如,在局域网(“LAN”)实施方式中,协议堆栈可以实现传输控制协议/互联网协议(“TCP/IP”)。在计算机-计算机或计算机-外设的实施方式中,协议堆栈可以实施所有或部分USB、“火线(firewire)”、RS-232、点对点协议(“PPP”)等等。
系统的前端及模拟前端适用于被调制、解调或转码的信号类型。例如,在基于RF(413)的系统中,模拟前端包括各种本地振荡器、调制器、解调器等等,其实现例如调频(FM)、调幅(AM)、调相(PM)、脉冲编码调制(PCM)等的信令格式。这种基于RF的实施方式通常包括天线(414),其用于通过开放的空中、水、地面或通过RF波导和同轴线缆来传送、接收或收发电磁信号。一些常见的开放空中传输标准是蓝牙、全球移动通信服务(GSM)、时分多址(TDMA)、高级移动电话服务(AMPS)以及无线高保真(Wi-Fi)。
在另一示例实施方式中,模拟前端可适用于通过光学接口(415),例如基于激光的光学接口(例如波分复用、SONET等等),或红外数据设置(IrDA)接口(416)来发送、接收或收发信号。类似地,模拟前端可以适用于使用线缆接口通过线缆来发送、接收或收发信号,线缆还可以包括下列实施方式:USB、以太网、LAN、双绞线、同轴线、普通老式电话服务(“POTS”)等等。
可以对所传送、接收或收发的信号以及在盘片或存储器设备上被编码的数据进行编码,以保护器免受未授权解码和使用。可以采用其他类型的编码,以允许进行检错并且在一些情况下进行纠错,例如通过添加校验位或循环冗余码(“CRC”)。还可以采用其他类型的编码,以允许将数据引导或“路由”到正确的目的地,例如基于分组和帧的协议。
图4c示出了对并行数据和串行数据进行转换的转换系统。并行数据通常直接由微处理器来使用,其格式通常为4位宽度的字节、16位宽度的字、32位宽度的双字等等。并行数据可以表示可执行或可解释软件,或者其可以表示计算机使用的数据值。为了通过例如RF或光学信道的媒体传输数据或是将数据记录在例如盘片的介质上,常常对数据进行串行化。这样,很多计算机可读介质系统包括电路、软件或二者,以执行数据串行化或重新并行化。
可以将并行数据(421)表示为在时间上校准的数据信号流,从而通过总线或者信号载波上的每个比特D0-Dn来同时传输并行数据单元(字节、字、双字等等)(422,423,424),其中数据单元的“宽度”为n-1。在一些系统中,D0用于表示最低有效位(“LSB”),而在其他系统中,其表示最高有效位(“MSB”)。通过每次发送一个比特来对数据进行串行化(421),使得每个数据单元(422、423、424)通常根据协议而一个接一个地以串行方式发送。
这样,存储在计算机存储器(407、407’)中的并行数据通常由微处理器或并行-串行转换器(425,425’)通过并行总线进行访问,并且通过串行总线(421’)进行交换(传送、接收或者收发)。通常,在存储到计算机存储器之前,接收到的串行数据被转换为并行数据。如先前所述,图4c中示出的串行总线(421’)可以是有线总线(例如USB或火线),或者是无线通信媒介(例如RF或光学信号)。
在这些方式中,可以通过根据本发明的逻辑控制将软件、数据或二者编码为一个或多个计算机可读介质来实现本发明的各种实施方式,由此得到制造产品和系统,该系统在被适当读取、接收或解码时产生可用编程指令、数据或二者的系统,包括但不限于在先前段落中描述的计算机可读介质类型。
监控事务处理系统的总体布置
鉴于本发明的通用实施方式使用事务处理客户端-服务器布置、与该布置协作并在该布置之上或之内操作,因此下面的附图基于用于响应时间跟踪的IBM Tivoli组合应用管理器(用于RTT的ITCAM)平台来提供实施方式的定义和基础。本发明的其他实施方式还可以使用用于RTT的ITCAMM的备选平台,并且使在此给出的启示适于这些备选实施方式属于本领域技术人员的技巧之内。此外,尽管在下文中描述的多数实施方式将关于使用应用响应监控(“ARM”)和/或与标准超文本传输协议(“HTTP”)一起使用的Web响应监控(“WRM”)的示例性实施方式进行阐述,但本领域技术人员将很容易地意识到,本发明范围之内的备选实施方式可以使用其他协议、监控方案以及编程语言,包括但不限于通过HTTP的Web服务、Java消息传递服务(“JMS”)、消息队列系列(“MQ”)消息、结构化查询语言(“SQL”)、Java数据库连接(“JDBC”)、远程方法调用(“RMI”)或任何其他适合的基于网络的协议。
用于RTT的ITCAM。下面给出的很多信息来自于2007年1月更新的Tivoli Composite Application Manager for Response TimeTracking Administrator’s Guide,Version 6.1,将其在此引入作为参考。
用于RTT的ITCAM在客户端设备的最终用户执行与服务器系统的事物时测量递送到该最终用户的服务等级。ITCAM监控最终用户在客户端桌面型计算机或用户接口处所体验的可获得性和响应时间。其可以与跨越多个不同环境运行的多种基于Web的应用、电子商务应用和Microsoft windows[TM]应用一起使用。在采用前文提到的IBM Tivoli[TM]Web响应监控器组件的备选实施方式中,对从真实服务器到Web服务器的真实IP业务进行监控,并将其记录为针对Web应用的真实用户事务。例如,在这种情况下,通往Web应用的每个URL都是事务。而且,如果URL具有通过GET或POST命令进行提交的表单,则还要记录客户端提供的信息,并且ITCAM管理员将定义机器人代理应当提供什么作为输入来替代真实的客户数据。例如,如果真实的客户端提供其登陆ID和密码,则将机器人脚本配置为不作为真实用户(具有真实用户ID和密码)来登录,因为下一组收集事务数据将包括与真实用户事务相关的信息以及有关机器人事务的信息。当出现某些情况时,针对自动生成的脚本可能需要其他这样的修改。
如果递送给最终用户的服务恶化,ITCAM意识到该情况,并且将该问题提示给系统管理员。
用于RTT的ITCAM通过监控在客户端桌面型计算机处发起的事务的往返行程响应时间来测量最终用户体验,并且其与IBM TivoliData Warehouse集成,因此所收集的数据可被存储以用于历史分析以及长期规划。
用于RTT的ITCAM在单服务器环境和集群环境中运行,并且监控管理员希望调查什么Web区域或什么事务、待收集的信息类型、在性能恶化的情况下告知软件何时以及如何联系管理员的阈值、以及管理员何时希望进行监控。
出于本公开的目的,“事务”将表示完成特定动作或结果的数据和命令的交换。事务可以发生在工作站和程序之间、两个工作站之间或两个程序之间。用于RTT的ITCAM在其首次与监控仪器进行联系的时间点对事务进行识别。该联系点称为“边缘”。该综合的事务分解环境示出问题事务的“路径”,分离出问题源,并且装载IBM Tivoli Monitoring Web Health Console或IBM TivoliComposite Application Management for WebSphere[TM]来识别问题,从而使监管员可以恢复良好的响应时间。“子事务”将表示总体事务中的单个步骤(例如单个页面请求)。
用于RTT的ITCAM使用“监控器”来收集信息并转发所收集的信息。监控器通常是加载到客户端系统、服务器系统或多个客户端和服务器上的软件程序。在用于RTT的ITCAM产品中有多种监控器可用,其允许管理员(a)通过机器人监控器访问商业组件的状态从而在问题发生之前意识到问题;以及(b)通过监控真实客户事务每个步骤的侦听监控器在问题发生时查明问题。
“机器人监控器”运行来自于机器人工作站的典型客户事务,并收集性能数据。该性能数据有助于确定事务是否正在按照预期那样在执行,并且暴露出Web和应用环境的问题区域。
“侦听监控器”有助于通过监控真实客户事务的每一步在问题发生的时候查明该问题。侦听监控器收集性能数据并产生有关事务性能时间的详细信息,从而对子事务的性能进行测量。
监控软件将所收集的“性能数据”写入到盘中。管理员可以指定是保存聚集数据(以保存系统资源以及查看较少的数据点)还是保存聚集数据与实例数据二者。该软件还对所收集的数据进行相关。性能数据可以作如下归类:
(a)每小时平均数据(也称为聚集数据),其对在一小时时段内检测到的所有响应时间进行平均,以提供对事务整体性能的总览;
(b)实例数据,其包括在事务每次运行时所收集的响应时间;
(c)有关故障数据的实例,其在事务超出规定阈值的情况下被自动收集;以及
(d)相关数据,其跟踪事务之间的层次关系,并将事务与嵌套的子事务关联起来。
用于RTT的ITCAM可以被部署到单服务器环境以及集群式服务器环境中。转到图5,其示出了在“单服务器”环境中执行与服务器系统(“一个服务器,多个服务器”)的事务的客户端计算机(“一个客户端,多个客户端”)的组件、网络和用户的一般布置。典型的基础设施包括:Web层(tier),其具有对应用的静态内容进行主管的若干Web服务器;以及应用层,其主管动态内容。Web层通常使用负载均衡器在Web服务器之间分布应用请求。每个Web服务器可以使用插件将针对动态内容的请求从Web服务器引导至后端应用服务器。该应用服务器为其上运行的应用提供多个服务,包括数据持久性、对后端数据库的访问、对消息传递基础设施的访问、安全性以及对既有系统的访问。
管理代理(50,42,56)跨环境运行在计算机上,并且标识可能需要监控的事务,通过规律性地运行经过调度的侦听和机器人监控器来收集性能数据,以及将所生成的事件发送给管理服务器。指示每个侦听和回放组件使用应用响应监控(“ARM”)标准来获取数据,其中应用响应监控标准例如1998年7月的Open Group’sApplication Response Management(ARM)应用编程接口(“API”),将其在此引入作为参考。
存储和转发代理(51,53)位于互联网中、“DMZ”中或者位于互联网和DMZ二者中。DMZ是专用内联网与公共互联网之间的计算机或子网络。存储和转发代理(51,53)通过以下方式对从管理代理通过防火墙到管理服务器的安全连接提供双向支持:(a)启用管理代理和管理服务器(54)之间的点对点连接;(b)允许管理代理与存储和转发代理进行交互,就像是存储和转发代理是管理服务器一样;(c)将请求和响应路由到正确目标;(d)支持安全套接字层(“SSL”)通信;以及(e)支持通过防火墙的单向通信。
管理服务器(54)通常位于企业内部联网中,并且其提供中央式管理,采用Web服务来以规则的调度间隔(称为上传间隔,例如每小时一次)与管理代理进行通信。典型的管理服务器包括以下项目:(a)用户接口(55),其提供与监视软件进行交互的方式(例如,管理员可以通过Web浏览器来访问用户接口);(b)实时报告显示,用于查看所收集的性能数据;以及(c)事件系统,其通过报告、电子邮件通知或发送到IBM Tivoli企业控制台(502)或简单网络管理协议(SNMP)的事件实时地向管理员通知所监视事务的状态。该管理服务器还提供对其他系统组件的访问,例如相关数据库管理系统(RDBMS)以及Tivoli数据仓库(TDW),以及其他公知的Tivoli产品和系统(TEP、ITM、ITSLA、TBSM)以及非Tivoli和非IBM组件。
用于RTT的ITCAM还支持连接到部署至服务器集群(例如WebSphere集群)的单个管理服务器的大量管理代理,从而提供高可用性、容错性以及提高的可扩展性。工作负载管理以及通过负载均衡器来分布请求在集群环境中提供了可伸缩性。每个服务器组件可以以任何顺次服务于来自任何管理代理的任何请求。用于RTT的ITCAM支持“水平集群化”,其包含多个物理机器(节点);并支持“垂直集群化”,其包含在同一物理机器(节点)上主管的多个应用服务器实例。转到图6,示出了集群化环境的代表,其具有多个管理代理(60)以及管理员(61)。作为“编排”层(62)一部分的部署管理器(64)提供节点配置和管理以及工作负载分布。负载均衡器(65)也是编排层(62)的一部分,其通过向各个节点分布请求而为多个应用服务器节点(67,68)提供负载均衡。一个或多个数据库系统(600)充当数据存储库,并提供会话故障支持。并且,例如为了在水平集群中提供用于安全性的用户注册,可能需要一个或多个轻量级目录访问协议(LDAP)系统(601)。
应用服务器节点(76),例如IBM WebSphere应用服务器。图7提供了集群化节点(67)例子的更多细节。节点(67)主管一个或多个服务器实例,并且IBM WebSphere应用服务器节点代理支持与部署管理器(64)的通信。超文本传输协议(HTTP)服务器,例如IBM HTTP服务器(70)为服务器实例提供负载均衡。Java消息传递服务(JMS)代理允许节点之间的通信(72),数据库客户端(73)允许对一个或多个数据库管理系统(600)的通信。
ARM及相关。在本发明的一个实施方式中,使用应用响应测量(ARM)API来捕捉事务性能数据。ARM标准描述了用于将企业应用集成为可管理实体的公共方法,并直接将企业管理工具扩展为测量ARM的应用。
ARM为商业应用提供了响应于流过网络的服务器请求而传递所发起子事务的有关信息的方法。ARM API还定义了一组用于测量应用的指令,从而可以标识重要事务的开始和停止。该信息用于计算响应次数,识别子事务,以及提供用于确定性能问题的原因的附加数据。ARM引擎是多线程应用,并且其通过IPC信道与测量ARM的应用交换数据。ARM聚集所收集的数据以生成有关的信息,并将其与其它事务相关起来。用户指定如何测量阈值。
ARM相关跨越多个进程和多个服务器而将父事务映射到它们相应的子事务。每个监控组件是测量ARM的并且生成相关符。初始根/父(或边缘)事务是仅有的没有父相关符的事务。响应跟踪器自动地将父相关符与子相关符连接起来,以便通过基础设施来跟踪已分布事务的路径,并以拓扑视图的方式对路径进行了可视化。相关可以被划分为若干类型或类别:
(a)基于路径的聚集,其基于事务的源发,基础设施中产品检测到事务的第一点;以及调用当前事务以及当前事务信息的父事务(即,在每个子事务代表不同的入口点而被调用时,对该子事务进行单独聚集);
(b)基于策略的相关符,通过该相关符,监控器可以控制被监控的事务的比例,以及针对所监控的事务收集多少信息(即,启用IBM WebSphere应用服务器中所有方法的子事务收集,而不是仅接受Servlet,EJB、JMS以及JDBC等方法的默认收集);
(c)实例和聚集性能统计,其提供附加的度量,以及对特定事务所采用路径的完整和确切的跟踪;
(d)违反阈值发起路径,其跨越执行事务的所有系统提供实例数据的动态收集;以及
(e)兄弟事务排序,其提供确定一组子事务相对于彼此的执行顺序的能力。
监视进程以下列三种方式来处理周期性的平均相关:
(a)按模式的边缘聚集,其对匹配于边缘监控器模式的所有事务进行平均;
(b)按事务名称的边缘聚集,其对匹配于监控器边缘模式的每个事务名称进行唯一地平均,也称之为“发现”,因为其发现了匹配于指定边缘模式的所有边缘;以及
(c)按根/父事务/事务的聚集,其基于使用下列属性的相关而将每个事务实例引导至特定的聚集器:原始主机UUID、根事务ID、父事务ID以及事务ID。
如前所述,称为ARM“相关符”的少量数据随同事务请求和响应一起进行传递,以便支持端对端的事务识别和跟踪。有多种机制用于将ARM相关符从一个应用传递到另一个应用,或者在应用内部传递,包括在HTTP包头中、在JMS报头中、在RMI-IIOP上下文中以及在SOAP报头中传递相关符。如果通过服务质量、STI、另一J2EE应用服务器上的J2EE探测(instrumentation)、或Rational Robot(通用窗口)来监控事务,则进入J2EE应用服务器的事务可能已经具有关联的相关符,否则相关符包含这样信息,其告知该引擎以及下游引擎不对该事务的任何事情进行监控。
本发明的逻辑过程
根据本发明的机器人事务生成和回放允许事务性客户端-服务器系统实际地(虽然是自动地)仿真最终用户体验,例如与在先图书商店、在线银行、旅游预约等的交互。
传统上,难以手动生成用于机器人回放的仿真事务,因为(1)难以知道应当监控什么软件进程,(2)记录仿真事务并将随时间对其进行更新以确保它们正在对当前应用请求进行仿真(甚至是在软件系统更新之后)是很耗时的,以及(3)难以知道放置机器人监控器以回放该事务的地理位置,难以得到世界范围的最终用户体验的准确总览。
本发明的发明人已经认识到该问题,开发了一种系统和过程,其预先分析所收集的事务监视数据,例如HTTP服务器所生成的日志文件,Web和应用服务器配置文件以及来自事务跟踪工具的监视数据,并确定最终用户访问最多的事务,如图1a所示,这是通过:
(a)基于使用频率、事务的商业价值、服务等级协议(SLA)要求的满足、包括被指定为重要的通用资源定位符(URL)的事务或其他标准,通过访问和分析服务器事务日志(101)以及可选的ARM日志和统计(102)来确定(100)监控哪些事务是重要的。
(b)在需要的情况下自动地配置(103)对目标服务器和应用进行监控的一个或多个监控代理(104),以便收集被确定为最重要的事务类型的实际事务细节,这可选地是在特定事务时段期间进行;
(c)基于所收集的事务日志(101),以及可选地基于ARM代理信息(102)、来自另一个源的WRM数据或事务数据,自动地生成(105)一个或多个仿真的事务脚本,其在被客户端机器人“回放”时将优选地使用仿真的用户账户以及密码(如果可应用的话)来执行将要监控的最重要的请求;以及
(d)部署(105)事务回放机器人以及生成的事务脚本,以在适当的地理位置以适当的调度来回放所仿真的事务,使得可以精确地评估被所监视服务器和应用(109)的最终用户体验。
在本发明的高级实施方式中,如图1b所示,通过添加以下内容对图1a中所示的过程进行补充:自动地检测(110)目标服务器和应用(109)中的改变,以及响应于改变而自动地更新该机器人仿真的事务以防止监视中断,以及可选地更新监视代理配置(100-105)。
例如,考虑将要监视的典型Apache HTTP Web服务器(例如在线书店)。此服务器生成若干日志,该日志包含事务信息,例如在一段时间内被请求的Web页面的通用资源定位符(URL)、每个请求的时间、请求客户端的互联网协议(IP)地址以及在服务请求时遇到的任何错误,如表1所示。
在此例子中,对书店网站的“children’s features(儿童特点)”页面的首次“点击”或者说页面请求是在2007年4月15号下午3:33:03从IP地址239.00.134.279处进行的,结果是该页面被成功服务。
尽管第三条目示出了对“discounts and clearances(打折和清仓)”页面的请求,但由于发生了404错误(页面未找到),该请求没有被成功递送到在IP地址987.456.333.321处的客户端。这将指示服务器侧错误(例如对该页面的尽头链接),这需要加以解决。
最后,该示例中的最后条目将到Web站点的更深链接视为对有关西班牙旅游的页面的访问。
该信息以时间顺序示出,但在实践中,其可以按照任何顺序来接收和访问,按照任何字段来排序(例如按IP地址、按时间、按所请求的URL、按结果等等来分类)。
由于在对IP地址进行分派和子网划分中采用的方法,存在确定请求客户端的大致地理位置的公知方法。其他公知的方法(例如当用户位置已知时跟踪用户会话,或者从客户端设备中获取cookie)也可用于确定地理区域、范围或位置。在一个实施方式中,使用这种方法来确定每个请求客户端的地理区域,以及可选地,来注释如下面表2所示的日志信息。
根据本发明,对该数据进行分析,以便确定例如Web应用的最常使用部分(例如具有最多请求的URL)的信息、使用的时间段以及通过IP地址或一些其它手段(例如cookie、客户端注册、用户名称等等)已知的客户端地理区域最常使用的应用部分。
例如,考虑表3中所示的扩展示例。
在此例子中,由于记录的布置和排序,很明显:一组英文页面(由URL中的“/en”来表示)在大约下午3:20的系统时间段期间被访问,并且一组日文页面(由URL中的“/jp”表示)在大约晚上10:12的系统时间段期间被访问。这极可能是由于源地理位置的不同时区。而且,从该组例子中可以看出,对西班牙旅游页面的日文访问尝试没有成功,但在该天稍早时候等同的英文访问获得了成功,这可能是由于网络困难,甚至是由于深夜、凌晨服务器维护导致的不可获得性。
此外,本发明检测URL或应用的部分何时更新或改变,这也可以从日志中进行检测,如表4中针对“自我修养”图书页面的变化所示。
根据用户选择,本发明继而标识:
(a)哪些URL的访问次数最多;
(b)哪些URL的访问最频繁;
(c)每个URL在什么时段的访问最频繁;
(d)哪些地理区域对每个URL的访问次数最多;
(e)哪些地理区域对每个URL的访问最频繁;以及
(f)可选地,哪些URL最近发生过改变或被更新。
接下来,为了捕捉对实际事务进行仿真所需的详细信息,本发明自动地确定对于已有监控代理所需的任何更新。在表3所示的例子中,可以将位于日本的监控代理配置为在下午10:00到下午11:00的时段(系统时间)期间收集事务细节,并且可以将位于美国的监控代理配置为在上午10:00至下午4:00的时段(系统时间)期间捕捉事务细节。这些改变通过远程更新监控代理的常规手段进行传播,例如通过用于RTT的ITCAM的控制手段。
在收集时段完成之后,本发明继而获取日志监控信息,并对事务进行互相比较以确定它们之间的差别,例如用户名称、密码、特定列表选择等等(例如用户提供的或用户唯一的信息)。这些差别点继而被用于从每个事务中移除“真实”信息,并且通过测试信息(例如向服务器进行了注册并且对于应用逻辑流而言合法的假用户名、假密码以及假列表选择)来替换真实信息。优选地,提示管理员示出假信息或测试例信息的插入点,并且允许管理员输入或选择将要在脚本中使用的替代信息。可替换地,在一些实施方式中,可以使用标准化的或预定的信息来替代特定信息。在任一情况中,这将得到这样事务序列:其实际上基于实际用户所采取的实际步骤,但包含非真实用户信息。
需要重点注意的是,由于本发明的自动性,所以可以简单、方便地创建针对不同拓扑的不同事务脚本。例如,如果书店的自助区在美国的华盛顿州最受欢迎,则事务脚本自动地生成并且与该地理区域相关联。但是,在线书店的该区域对于意大利的用户而言可能相对不太受欢迎(并且不访问),这些意大利用户更频繁地专注于书店的艺术历史区域。这样,将创建运用自助区域和运用艺术历史区域的脚本。
但是,在本发明的下一阶段,脚本不一定统一地分布给在远程客户端设备上运行的所有机器人代理,并且不定义将其配置为运行统一的次数。相反,将把自助区脚本分布至在华盛顿州区域的客户端上运行的机器人代理,而把艺术历史脚本分布至在意大利的客户端上运行的机器人代理。而且,将把自助脚本将配置为在被检测为来自华盛顿用户的最常使用时间段期间执行,并且类似地,将把艺术历史脚本配置为在意大利用户最常访问期间来执行。为了执行对真实事务进行接近仿真的测试,这样来定义地理场所和区域:使其包括至少一个可用机器人代理。此外,根据设备可用性、网络拓扑,安全考虑以及硬件成本,可以将一些机器人代理定义为落入两个或更多区域或场所(例如区域交叠)。
在本发明的变型中,除了对事务脚本的执行与检测到的、目标URL和应用部分的实际最大使用时段进行同步之外,还可以将脚本编程为在较少使用或最少使用的时段期间执行。这种类型的“阶段外”执行有助于在对系统的实际商业对象进行服务而言不太重要的时间来对应用进行负载测试。可替换地,可以将脚本编程为均匀地贯穿整天或整星期执行,从而创建后台测试环境。
在本发明另一变型中,当检测到目标URL的改变时,例如检测到页面或应用部分的修订时,则执行该URL的脚本被自动地禁用,以防止异常创建的错误以及潜在地触发不必要的维护纠正动作。相反,如果必要的话,执行对监控代理的重新配置过程,并且收集新的事务数据。然后,执行对新事务数据的分析,以便产生以修改后或更新后URL为目标的脚本。接下来,这些新的脚本被相应地分布(例如分布到相关地理区域),并且被启用以便恢复如前所述的测试(例如在最大使用次数,或作为后台,或作为阶段外)。针对回放而自动生成的调度、位置以及脚本优选地是自动缺省项,并且优选地,允许管理员对这些脚本进行定制,以覆盖这些缺省项中的任意一个。在一些实施方式中,允许管理员永久地覆盖缺省规则或脚本的参数。对于编码的实施方式而言,每个假设是一个规则(如任何基于规则的系统中所定义的),则管理员仅需要利用与其特定需要相匹配的一个规则来替代该规则。每个规则继而仅充当可以被定制的模版或缺省行为。
点击路径和会话跟踪实现细节
在一个可用实施方式中,使用唯一的跟踪标记(例如会话ID)来监视和跟踪最频繁的用户点击路径(会话)。这允许本发明将用户请求集合归组为共同排序的请求列表,其表示被实现为单个机器人仿真事务记录的单个商业事务。例如,可以使用WebSphere[TM]中的JSESSIONID或者使用在用于RTT的ITCAM中定义的ARM相关器来执行跟踪。
在可替换实施方式中,可以使用公知的“cookie”来创建在客户端系统上持久的唯一ID,由此允许进行会话和用户跟踪,从而达到识别所收集会话信息的目的。在本发明的其他实施方式中可以采用用于会话跟踪的其他可用技术。
打包和分布变型
自动生成的仿真事务脚本可以在将要实行的每个环境中创建,并且可替换地可以从一个环境传送到另一个环境,并且在需要的时候可以针对新的目标环境进行适当调节。这允许开发库或多种“盒外(out of the box)”可用的事务脚本,其继而将在对服务器或应用进行改变的时候自动地更新,从而使其在应用和服务器更新的时候演进到针对目标应用和服务器的定制事务运用。
基于服务的实施方式
本发明的可替换实施方式包括本发明的前述逻辑处理和功能的一些或全部,其是由随需环境中的配置软件、部署软件、下载软件、分布软件或远程服务客户端而提供。
软件开发实施方式。根据本发明的一个实施方式,服务提供商将本发明的方法和过程作为服务分布或部署给客户端的计算系统。
转到图3a,部署过程开始(3000)于确定(3001)在处理软件执行时在一个或多个服务器上是否驻留有任何程序。如果是这样,则标识(309)将包含可执行应用的服务器。用于该一个或多个服务器的处理软件经由FTP或一些其它协议或者通过使用共享文件系统来复制而直接传送到服务器存储区(310)。继而将处理软件安装到该服务器上(311)。
接下来,通过使用户访问一个或多个服务器上的处理软件来确定是否将要部署该处理软件(3002)。如果用户将要访问该处理软件服务器,则标识(3003)将要存储该处理软件的服务器地址。
在步骤(3004),通过经由电子邮件向用户发送处理软件而确定是否要部署该处理软件。对将要部署处理软件的用户集合随同用户的客户端计算机的地址一起进行标识(3005)。经由电子邮件将该处理软件发送到用户的客户端计算机中的每一个。用户继而接收到该电子邮件(305),并将处理软件从电子邮件下载到其客户端计算机上的目录(306)。用户执行将处理软件安装到其客户端计算机上的程序(312),然后退出该处理(3008)。
确定是否构建代理服务器(300)以存储该处理软件。代理服务器是位于客户端应用(例如Web浏览器)和真实服务器之间的服务器。其截取去往真实服务器的所有请求,以查看其自身是否能够实现该请求。如果不能,则其将该请求转发到真实服务器。代理服务器的两个主要优点在于提高性能和过滤请求。如果需要代理服务器,则安装代理服务器(301)。处理软件经由例如FTP的协议被发送到服务器,或者其经由文件共享直接从源文件复制到服务器文件(302)。另一实施方式是将事务发送到包含处理软件的服务器,并使该服务器处理该事务,然后接收该处理软件并将其复制到服务器的文件系统。一旦将处理软件存储在服务器,则用户继而经由其客户端计算机来访问该服务器上的处理软件并将其复制到其客户端计算机文件系统(303)。另一实施方式是使服务器自动地将处理软件复制到每个客户端,并继而在每个客户端计算机处运行该处理软件的安装程序。用户执行将该处理软件安装到其客户端计算机上的程序(312),然后退出该处理(3008)。
最后,确定是否将处理软件直接发送到用户客户端计算机上的用户目录(3006)。如果是,则标识用户目录(3007)。将处理软件直接传送到该用户的客户端计算机目录(307)。这可以以多种方式来执行,例如但不限于,共享文件系统目录,然后从发送方文件系统复制到接收方用户的文件系统,或可替换地使用传输协议,例如文件传输协议(“FTP”)。用户访问其客户端文件系统上的目录以准备安装该处理软件(308)。用户执行将该处理软件安装到其客户端计算机上的程序(312),然后退出该处理(3008)。
软件集成实施方式。根据本发明另一实施方式,服务提供商将实现在此描述的方法和处理的软件作为服务集成到其他软件应用、applet或计算系统中。
本发明的集成通常包括提供与应用、操作系统以及网络操作系统软件共存的处理软件,继而将处理软安装到处理软件将要发挥作用的环境中的客户端和服务器上。
一般而言,首要任务是标识客户端和服务器上的任何软件,包括处理软件所需的或者与处理软件结合工作的、将要在其中部署处理软件的网络操作系统。这包括这样的网络操作系统,该网络操作系统是通过添加网络特征来增强基本操作系统的软件。接下来,将标识软件应用和版本号,并且与已经经过测试与处理软件一起工作的软件应用以及版本号的列表进行比较。将通过正确的版本号对那些缺少或不匹配正确版本的软件应用进行升级。将对把指令从处理软件传递到软件应用的程序指令进行检查,以确保参数列表与处理软件所需的参数列表相匹配。反之,将对由软件程序传递给处理软件的参数进行检查,以确保参数与处理软件所需的参数相匹配。将对包括网络操作系统的客户端和服务器操作系统进行识别,并将其与已经经过测试与处理软件一起工作的操作系统、版本号以及网络软件的列表相比较。那些与被测操作系统以及版本号列表不相匹配的操作系统、版本号以及网络软件将在客户端和服务器上升级到所需水平。
在确保了将要部署处理软件处的软件是经测试与处理软件一起工作的正确版本水平之后,将处理软件安装到客户端和服务器上从而完成集成。
转到图3b,示出了根据本发明的集成处理的细节。集成开始(320)于确定是否具有将要在一个或多个服务器上执行的任何处理软件程序(321)。如果没有,则集成进行到(327)。如果有,则标识服务器地址(322)。检查该服务器以查看其是否包含包括了操作系统(OS)、应用以及网络操作系统(NOS)和它们的版本号(其已经通过处理软件进行了测试)的软件(323)。还检查服务器以确定是否有处理软件所需要的、但是缺少的任何软件(323)。
确定版本号是否与已经通过处理软件进行了测试的OS、应用以及NOS的版本号相匹配(324)。如果所有的版本号匹配,则处理继续到(327)。否则,如果一个或多个版本号不匹配,则通过正确的版本号在一个或多个服务器上对该不匹配的版本号进行更新(325)。可替换地,如果存在缺少的所需软件,则在一个或多个服务器上对其进行更新(325)。通过安装处理软件来完成服务器集成(326)。
(321)、(324)或(326)之后的步骤(327)确定是否具有将要在客户端上执行的处理软件的任何程序。如果没有处理软件程序在客户端上执行,则集成进行到(330)并且退出。如果不是这种情况,则标识客户端地址(328)。
检查客户端以查看它们是否包含包括了操作系统(OS)、应用以及网络操作系统(NOS)和它们的版本号(其已经通过处理软件进行了测试)的软件(329)。还检查客户端以确定是否存在处理软件所需要的、但是缺少的任何软件(329)。
确定版本号是否与已经通过处理软件进行了测试的OS、应用以及NOS的版本号相匹配(331)。如果所有的版本号匹配并且没有缺少的所需软件,则集成进行到(330)并且退出。
如果一个或多个版本号不匹配,则通过正确的版本号在客户端上对不匹配的版本号进行更新(332)。此外,如果存在缺少的所需软件,则在客户端上对其进行更新(332)。在客户端上安装处理软件从而完成客户端集成(333)。集成进行到(330)并且退出。
应用编程接口实施方式。在另一实施方式中,可以将本发明实现为经由应用编程接口(API)而可由其他系统和设备使用的服务或功能。一个这样的实施方式是从服务器系统向客户端系统提供服务作为Web服务。
随需计算服务环境。根据本发明另一方面,在此公开的过程和方法通过随需计算架构来提供,以由服务提供商向客户端呈递服务。
转到图3c,一般而言,实现在此公开的方法的处理软件被共享,以灵活、自动的方式同时服务于多个客户。处理软件是标准化的,几乎不需要定制,并且其是可扩展的,按照量入为出(pay-as-you-go)模式来提供随需的容量。
处理软件可以存储在可以从一个或多个服务器来访问的共享文件系统中。通过包含使用被访问服务器上的CPU单元的数据和服务器处理请求的事务来执行处理软件。CPU单元是时间单元,例如服务器中央处理器上的分、秒、小时。此外,所评估的服务器可以对需要CPU单元的其他服务器进行请求。CPU单元是代表使用量度的示例,但仅是一个示例。其他使用量度包括但不限于网络带宽、存储器使用、存储区使用、分组传输、完全事务等等。
当多个客户使用同一处理软件应用时,通过包含在事务中的参数来区分其事务,所述参数识别唯一的客户以及针对该客户的服务类型。对用于每个客户的服务的所有CPU单元和其他使用量度进行记录。当去往任意一个服务器的事务数量达到开始影响服务器性能的数量时,对其他服务器进行访问以增加容量并共享工作负载。类似地,当例如网络带宽、存储器使用、存储区使用等其他使用量度达到影响性能的容量时,添加附加的网络带宽、存储器使用、存储区使用等以共享工作负载。
将用于每个服务和客户的使用量度发送到收集服务器,对于在提供处理软件共享执行的服务器网络中的任何地方被处理的每个服务,所述收集服务器对每个客户的使用量度进行求和。将求和的使用量度单元周期性地与单位成本相乘,并且可替换地,将所得的总处理软件应用服务成本发送给客户端或在计算机所访问的Web站点上进行指示,该计算机继而向服务提供商划拨支付。
在另一实施方式中,服务提供商在银行或金融机构处直接从客户账户请求支付。
在另一实施方式中,如果服务提供商也是使用处理软件应用的客户的客户,则对服务提供商债务和服务提供商债权进行协调,以最小化支付的转移。
图3c阐述了详细的逻辑过程,其通过随需过程使得本发明可用于客户端。创建包含唯一的客户标识、所请求的服务类型以及进一步指定服务类型的任何服务参数的事务(341)。继而将事务发送到主服务器(342)。在随需环境中,主服务器最初可以是仅有的服务器,继而随着容量的消耗,其他服务器可以添加到该随需环境中。
查询随需环境中若干中央处理单元(CPU)的容量(343)。估计事务的CPU要求,继而对随需环境中的服务器可用CPU容量与事务的CPU要求进行比较,以查看在任何服务器中是否具有足够的CPU可用容量来处理该事务(344)。如果没有足够的服务器CPU可用容量,则分配附加的服务器CPU容量以处理该事务(348)。如果已经具有足够的可用CPU容量,则将该事务发送到所选服务器(345)。
在执行事务之前,对其余随需环境进行检查以确定该环境是否具有足够的可用容量来处理该事务。该环境容量包括但不限于网络带宽、处理器存储器、存储区等等(345)。如果没有足够的可用容量,则将向随需环境添加容量(347)。接下来,访问处理该事务所需的软件,将该软件加载到存储器中,然后执行该事务(349)。
记录使用量度(350)。使用量度包括在随需环境中用于处理该事务的那些功能的部分。所记录的是对例如但不限于网络带宽、处理器存储器、存储区和CPU周期之类功能的使用。对使用量度进行求和、将其与单位成本相乘,然后将其记录为对请求客户的收费(351)。
如果客户请求将随需成本张贴到Web站点(352),则张贴该成本(353)。如果客户请求通过电子邮件将随需成本发送到客户地址(354),则发送该成本(355)。如果客户请求直接从客户账户支付随需成本(356),则直接从客户账户接收支付(357)。最后一个步骤是退出随需处理。
网格或并行处理实施方式。根据本发明另一实施方式,使用多个计算机来同时处理单独的音轨,单独的音频片断或二者的结合,以产生具有较少延迟的输出。这样的并行计算方法可以使用多个离散系统(例如多个服务器、客户端或二者)来实现,或者可以实现为内部多处理任务(例如,具有并行处理能力的单个系统)。
VPN部署实施方式。根据本发明另一方面,在此描述的方法和过程可以部分地或整体地包含在软件中,可以将该软件作为服务的一部分部署到第三方,其中将第三方VPN服务作为安全部署运送工具进行提供,或者其中VPN在特定部署需要的时候随需地进行构建。
虚拟专用网络(VPN)是可用于通过不安全或不可信的网络来确保连接安全性的技术的任何组合。VPN改进了安全性并降低了操作成本。VPN采用公共网络(通常是互联网)来将远程站点或用户连接到一起。代替使用专用的真实世界的连接(例如租用线路),VPN使用通过互联网从公司个人网络路由到远程站点或雇员的“虚拟”连接。通过为了传递或执行处理软件(也即,驻留在别处的软件)而特别构造的VPN,可以将经由VPN对软件的访问提供为一种服务,其中,基于支付量,VPN的生命周期受限于部署的给定时间段或者给定数量。
可以通过远程访问或站点-站点VPN来部署、访问以及执行处理软件。当使用远程访问VPN时,经由通过第三方服务提供商的、公司专用网络和远程用户之间的安全的加密连接来部署、访问以及执行该处理软件。企业服务提供商(“ESP”)设置网络访问服务器(“NAS”)并向远程用户提供用于其计算机的桌面客户端软件。远程工作者可以拨打免费号码以经由线缆或DSL调制解调器来直接附接,以达到NAS并使用其VPN客户端软件,以便访问公司网络以及访问、下载和执行处理软件。
当使用站点-站点的VPN时,通过使用专用的设备和大规模加加密来部署、访问和执行该处理软件,其中所述大规模加密用来通过公共网络(例如互联网)来连接公司的多个固定站点。
处理软件经由隧道在VPN上传输,所述隧道是将整个分组放置到另一分组中并通过网络将其发送的过程。网络以及分组进入和退出网络的两个点(称为隧道接口)理解外部分组的协议。
转到图3d,VPN部署过程开始(360)于确定是否需要用于远程访问的VPN(361)。如果不需要,则进行到(362)。如果需要,则确定远程访问VPN是否退出(364)。
如果VPN并不退出,则VPN部署过程进行(365)以标识将要在公司专用网络和公司远程用户之间提供安全的加密连接的第三方提供商(376)。标识公司的远程用户(377)。继而第三方提供商建立网络访问服务器(“NAS”)(378),其允许远程用户拨打免费号码或经由宽带调制解调器进行附接,以访问、下载和安装桌面客户端软件用于远程访问VPN(379)。
在远程访问VPN已经建立之后或者在其先前安装的情况下,远程用户可以通过拨入NAS或经由线缆或DSL直接附接至NAS中来访问处理软件(365)。这允许登入访问处理软件的公司网(366)。经由隧穿在网络上将处理软件传输到远程用户的桌上型计算机。也即,将处理软件划分为分组,并且将包括数据和协议的每个分组放置到另一分组中(367)。当处理软件到达远程用户的桌面型计算机时,将其从分组中移除、重新组成,并继而在远程计算机用户桌上型计算机上执行(368)。
进行确定以查看是否需要用于站点到站点访问的VPN(362)。如果不需要,则进行到退出该过程(363)。否则,确定站点到站点VPN是否存在(369)。如果其确实存在,则进行到(371)。否则,安装建立站点到站点VPN所需的专用设备(370)。然后,向VPN中构建大规模加密(371)。
在站点到站点VPN已经构建之后或者如果其先前已经被建立,用户经由VPN来访问处理软件(372)。经由隧穿在网络上将处理软件传输到站点用户。也即,将处理软件划分为分组,并且将包括数据和协议的每个分组放置到另一分组中(374)。当处理软件到达远程用户的桌面型计算机时,将其从分组中移除,重新组成,并且在站点用户桌面型计算机上执行(375)。进行到退出该过程(363)。
结论
尽管已经公开了优选实施方式的特定例子和细节,但本领域技术人员将会意识到,可以在不脱离本发明的实质和范围的情况下采用实现上的变型,例如使用不同的编程方法、计算平台以及处理技术。因此,本发明的范围应当由所附权利要求来确定。
Claims (16)
1.一种进行事务处理的方法,包括:
访问或接收针对服务器的至少一个服务器应用而收集的性能数据,所述服务器应用能够执行与客户端设备之间的多个事务,所述客户端设备在地理上与所述服务器分离,每个客户端位于已知的地理场所;
根据所述性能数据自动地确定所述客户端设备的用户正在使用所述多个事务中的哪些事务;
根据至少一个预定的选择标准来选择所述使用的事务中的一个或多个;
针对每个所述选择的使用的事务自动地生成事务回放脚本,其中,每个回放脚本使用预定的测试信息来替代所述事务中用户提供的或用户唯一的信息,每个脚本被指定为从与执行所述使用的事务的客户端所位于的地理场所来执行;
根据所述场所指定,将所述回放脚本部署到在地理上与所述客户端设备位于相同位置的机器人代理的一个或多个回放机器人;以及
由所述回放机器人执行所述回放脚本,由此运用所述服务器应用。
2.根据权利要求1所述的方法,进一步包括:
监控所述服务器应用配置的变化;以及
响应于检测到所述服务器应用配置的变化,重复进行所述访问性能数据、确定使用的事务、选择事务、生成回放脚本、部署脚本以及执行脚本的步骤。
3.根据权利要求1所述的方法,在所述生成回放脚本、部署脚本和执行脚本的步骤之前,还包括以下步骤:更新一个或多个应用响应监控器,以收集针对所述使用的和选择的事务的详细事务信息。
4.根据权利要求1所述的方法,其中,所述收集的性能数据包括超文本传输协议服务器日志信息。
5.根据权利要求1所述的方法,其中,所述收集的性能数据包括应用响应监控器数据。
6.根据权利要求1所述的方法,其中,所述选择标准包括事务使用频率标准。
7.根据权利要求1所述的方法,其中,所述选择标准包括事务使用商业价值标准。
8.根据权利要求1所述的方法,其中,所述选择标准包括指定的统一资源定位符。
9.根据权利要求1所述的方法,其中,所述选择标准包括由服务水平协议支配的性能水平。
10.根据权利要求1所述的方法,其中,所述根据所述性能数据自动地确定所述客户端设备的用户正在使用所述多个事务中的哪些事务的步骤进一步包括:确定所述多个事务的峰值使用时段,并且其中,所述自动地生成事务回放脚本的步骤包括:使所述脚本能够被所述回放机器人根据与所述峰值使用时段相关的调度来执行。
11.根据权利要求10所述的方法,其中,所述调度与所述峰值使用时段相一致。
12.根据权利要求11所述的方法,其中,所述调度避免在所述峰值使用时段期间的回放。
13.一种进行事务处理的系统,包括:
输入设备,用于访问或接收针对服务器的至少一个服务器应用而收集的性能数据,所述服务器应用能够执行与客户端设备之间的多个事务,所述客户端设备在地理上与所述服务器分离,并且每个客户端设备具有已标识的地理场所;
数据分析器,被配置为根据所述性能数据自动地确定所述客户端设备的用户正在使用所述多个事务中的哪些事务;根据至少一个预定的选择标准来选择所述使用的事务中的一个或多个;以及,针对每个所述选择的使用的事务自动地生成事务回放脚本,其中,每个回放脚本使用预定的测试信息来替代所述事务中用户提供的或用户唯一的信息,
一个或多个回放机器人,其与所述客户端设备共同位于所述地理场所中;以及
脚本传送器,被配置为将所述回放脚本部署到一个或多个脚本机器人,每个脚本被传送到与一个或多个客户端设备共同位于一个地理场所的回放机器人,其中所述选择的事务从所述一个或多个客户端设备处被执行过,由此使得所述回放机器人接收和执行所述回放脚本,从所述地理场所根据所述选择的使用的事务来运用所述服务器应用。
14.根据权利要求13所述的系统,进一步包括:
应用修订监控器,其被配置为监控所述服务器应用配置的变化;以及
脚本更新器,其被配置为响应于检测到所述服务器应用配置的变化而触发所述输入设备来访问性能数据,触发所述数据分析器来确定使用的事务、选择事务、以及生成更新的回放脚本,触发所述脚本传送器来部署所述更新的脚本,由此更新由所述回放机器人执行的脚本。
15.根据权利要求13所述的系统,进一步包括监控器控制器,其被配置为:在由所述输入设备、数据分析器和脚本传送器执行所述生成回放脚本、部署脚本和执行脚本的步骤之前,更新一个或多个应用响应监控器的配置,以收集针对所述使用的和选择的事务的详细事务信息。
16.根据权利要求13所述的系统,其中,所述数据分析器被进一步配置为:确定所述事务的峰值使用时段,并生成使所述回放机器人能够根据与所述峰值使用时段相关的调度来执行的回放脚本。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/830,896 | 2007-07-31 | ||
US11/830,896 US7809525B2 (en) | 2007-07-31 | 2007-07-31 | Automatic configuration of robotic transaction playback through analysis of previously collected traffic patterns |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101360016A CN101360016A (zh) | 2009-02-04 |
CN101360016B true CN101360016B (zh) | 2011-07-20 |
Family
ID=40332362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101343997A Expired - Fee Related CN101360016B (zh) | 2007-07-31 | 2008-07-30 | 自动配置机器人事务回放的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7809525B2 (zh) |
CN (1) | CN101360016B (zh) |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583772B2 (en) | 2008-08-14 | 2013-11-12 | International Business Machines Corporation | Dynamically configurable session agent |
US8949406B2 (en) * | 2008-08-14 | 2015-02-03 | International Business Machines Corporation | Method and system for communication between a client system and a server system |
US8868533B2 (en) | 2006-06-30 | 2014-10-21 | International Business Machines Corporation | Method and apparatus for intelligent capture of document object model events |
US8196123B2 (en) * | 2007-06-26 | 2012-06-05 | Microsoft Corporation | Object model for transactional memory |
US8042055B2 (en) | 2007-08-31 | 2011-10-18 | Tealeaf Technology, Inc. | Replaying captured network interactions |
US20090177692A1 (en) * | 2008-01-04 | 2009-07-09 | Byran Christopher Chagoly | Dynamic correlation of service oriented architecture resource relationship and metrics to isolate problem sources |
US7908365B2 (en) * | 2008-01-25 | 2011-03-15 | International Business Machines Corporation | System using footprints in system log files for monitoring transaction instances in real-time network |
US7912946B2 (en) * | 2008-01-25 | 2011-03-22 | International Business Machines Corporation | Method using footprints in system log files for monitoring transaction instances in real-time network |
US9934320B2 (en) | 2009-03-31 | 2018-04-03 | International Business Machines Corporation | Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions |
US8930818B2 (en) * | 2009-03-31 | 2015-01-06 | International Business Machines Corporation | Visualization of website analytics |
US9734037B1 (en) * | 2009-09-15 | 2017-08-15 | Symantec Corporation | Mobile application sampling for performance and network behavior profiling |
US8296568B2 (en) | 2009-10-27 | 2012-10-23 | Google Inc. | Systems and methods for authenticating an electronic transaction |
CN102196535B (zh) * | 2010-03-09 | 2014-06-25 | 电信科学技术研究院 | 时间受控机器类通信接入时间的通知及更新方法及设备 |
US9009676B2 (en) * | 2010-04-02 | 2015-04-14 | International Business Machines Corporation | Common recording and replaying performance test tool for a client-server environment |
US9129238B2 (en) | 2010-05-12 | 2015-09-08 | Winshuttle, Llc | Dynamic web services work flow system and method |
US8364959B2 (en) * | 2010-05-26 | 2013-01-29 | Google Inc. | Systems and methods for using a domain-specific security sandbox to facilitate secure transactions |
US8533532B2 (en) | 2010-06-23 | 2013-09-10 | International Business Machines Corporation | System identifying and inferring web session events |
US20120054112A1 (en) * | 2010-08-30 | 2012-03-01 | Ricoh Company, Ltd. | Techniques for creating microtasks for content privacy preservation |
US20120179583A1 (en) * | 2011-01-10 | 2012-07-12 | Ivan Jensen | Electronic Commerce Platform with Staging to Production and Bundles |
CN102591753A (zh) * | 2011-01-18 | 2012-07-18 | 联想(北京)有限公司 | 一种计算机运行方法及计算机 |
CN102624762B (zh) * | 2011-01-30 | 2016-01-20 | 深圳市腾讯计算机系统有限公司 | 基于云计算提升机器人软件功能的方法和云计算服务器 |
JP6066096B2 (ja) | 2011-02-22 | 2017-01-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コンテンツのオンページ操作およびリアルタイム置換のための方法、システム、およびコンピュータ・プログラム |
WO2012136246A1 (en) * | 2011-04-04 | 2012-10-11 | Telefonaktiebolaget Lm Ericsson (Publ) | A method of and a support node for requesting registration of stationary user equipment in a cellular telecommunication system |
US8719795B2 (en) * | 2011-04-12 | 2014-05-06 | Miami International Security Exchange, Llc | System and method for automating testing of computers |
US9134961B1 (en) | 2011-05-08 | 2015-09-15 | Panaya Ltd. | Selecting a test based on connections between clusters of configuration changes and clusters of test scenario runs |
US9104815B1 (en) | 2011-05-08 | 2015-08-11 | Panaya Ltd. | Ranking runs of test scenarios based on unessential executed test steps |
US9170925B1 (en) | 2011-05-08 | 2015-10-27 | Panaya Ltd. | Generating test scenario templates from subsets of test steps utilized by different organizations |
US9311224B1 (en) | 2011-05-08 | 2016-04-12 | Panaya Ltd. | Manipulating a test based on a subset of similar divergent routes from different organizations |
US9317412B1 (en) | 2011-05-08 | 2016-04-19 | Panaya Ltd. | Selecting a configuration test based on testing data from different organizations |
US9201773B1 (en) | 2011-05-08 | 2015-12-01 | Panaya Ltd. | Generating test scenario templates based on similarity of setup files |
US9032360B1 (en) | 2011-05-08 | 2015-05-12 | Panaya Ltd. | Selecting a test scenario template based on similarity of testing profiles belonging to different organizations |
US9201776B1 (en) | 2011-05-08 | 2015-12-01 | Panaya Ltd. | Updating a test scenario template according to divergent routes |
US9092579B1 (en) | 2011-05-08 | 2015-07-28 | Panaya Ltd. | Rating popularity of clusters of runs of test scenarios based on number of different organizations |
US9201774B1 (en) | 2011-05-08 | 2015-12-01 | Panaya Ltd. | Generating test scenario templates from testing data of different organizations utilizing similar ERP modules |
US9235412B1 (en) | 2011-05-08 | 2016-01-12 | Panaya Ltd. | Identifying dependencies between configuration elements and transactions |
US9201772B1 (en) | 2011-05-08 | 2015-12-01 | Panaya Ltd. | Sharing test scenarios among organizations while protecting proprietary data |
US9348735B1 (en) | 2011-05-08 | 2016-05-24 | Panaya Ltd. | Selecting transactions based on similarity of profiles of users belonging to different organizations |
US9170809B1 (en) | 2011-05-08 | 2015-10-27 | Panaya Ltd. | Identifying transactions likely to be impacted by a configuration change |
US9239777B1 (en) | 2011-05-08 | 2016-01-19 | Panaya Ltd. | Generating test scenario templates from clusters of test steps utilized by different organizations |
US9317404B1 (en) | 2011-05-08 | 2016-04-19 | Panaya Ltd. | Generating test scenario templates from test runs collected from different organizations |
US9104811B1 (en) | 2011-05-08 | 2015-08-11 | Panaya Ltd. | Utilizing testing data collected from different organizations to generate test scenario templates that suit a user profile |
US9170926B1 (en) | 2011-05-08 | 2015-10-27 | Panaya Ltd. | Generating a configuration test based on configuration tests of other organizations |
US9201775B1 (en) | 2011-05-08 | 2015-12-01 | Panaya Ltd. | Manipulating a test scenario template based on divergent routes found in test runs from different organizations |
US9069904B1 (en) | 2011-05-08 | 2015-06-30 | Panaya Ltd. | Ranking runs of test scenarios based on number of different organizations executing a transaction |
US10061860B2 (en) * | 2011-07-29 | 2018-08-28 | Oath Inc. | Method and system for personalizing web page layout |
US9152630B1 (en) * | 2011-10-26 | 2015-10-06 | Intuit Inc. | Modified database transaction scopes during software testing |
TWI480730B (zh) * | 2011-12-30 | 2015-04-11 | Ibm | 量測一資訊設備之效能的方法與裝置 |
WO2013126826A1 (en) * | 2012-02-24 | 2013-08-29 | Winshuttle, Llc | Dynamic web services workflow system and method |
US9635094B2 (en) | 2012-10-15 | 2017-04-25 | International Business Machines Corporation | Capturing and replaying application sessions using resource files |
US9536108B2 (en) | 2012-10-23 | 2017-01-03 | International Business Machines Corporation | Method and apparatus for generating privacy profiles |
US9152872B2 (en) * | 2012-11-12 | 2015-10-06 | Accenture Global Services Limited | User experience analysis system to analyze events in a computer desktop |
US9535720B2 (en) | 2012-11-13 | 2017-01-03 | International Business Machines Corporation | System for capturing and replaying screen gestures |
US10474735B2 (en) | 2012-11-19 | 2019-11-12 | Acoustic, L.P. | Dynamic zooming of content with overlays |
US8874108B2 (en) | 2012-12-20 | 2014-10-28 | Amadeus S.A.S. | Integrating mobile devices into a fixed communication infrastructure |
US10244080B2 (en) * | 2013-03-15 | 2019-03-26 | VCE IP Holding Company LLC | Accessing multiple converged IT infrastructures |
US9559928B1 (en) * | 2013-05-03 | 2017-01-31 | Amazon Technologies, Inc. | Integrated test coverage measurement in distributed systems |
JP6102575B2 (ja) * | 2013-07-02 | 2017-03-29 | 富士通株式会社 | 性能測定方法、性能測定プログラム及び性能測定装置 |
US20150019709A1 (en) * | 2013-07-10 | 2015-01-15 | Apollo Group, Inc. | Method and apparatus for controlling initiation of multi-service transactions |
US9785454B2 (en) * | 2013-07-25 | 2017-10-10 | Login VSI B.V. | Virtual session benchmarking tool for measuring performance and/or scalability of centralized desktop environments |
US8973002B1 (en) * | 2013-09-16 | 2015-03-03 | Fmr Llc | Business rules batch processor |
US9547834B2 (en) * | 2014-01-08 | 2017-01-17 | Bank Of America Corporation | Transaction performance monitoring |
US9992090B2 (en) | 2014-01-08 | 2018-06-05 | Bank Of America Corporation | Data metrics analytics |
CN105335142B (zh) * | 2014-07-29 | 2019-03-15 | 国际商业机器公司 | 在事务处理系统中标识事务的性能瓶颈的方法和装置 |
CN104410511B (zh) * | 2014-10-27 | 2018-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种服务器管理方法及系统 |
CN104461903B (zh) * | 2014-12-26 | 2017-07-28 | 北京奇虎科技有限公司 | 基于浏览器的测试客户端的方法和装置 |
US10956299B2 (en) * | 2015-02-27 | 2021-03-23 | Commvault Systems, Inc. | Diagnosing errors in data storage and archiving in a cloud or networking environment |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
WO2017068817A1 (ja) * | 2015-10-20 | 2017-04-27 | ソニー株式会社 | 情報処理システム、および情報処理方法 |
JP6674099B2 (ja) * | 2016-06-10 | 2020-04-01 | 富士通株式会社 | 情報管理プログラム、情報管理方法、及び情報管理装置 |
US10489281B2 (en) | 2016-08-26 | 2019-11-26 | International Business Machines Corporation | Application monitoring with a decoupled monitoring tool |
US10474563B1 (en) * | 2016-12-28 | 2019-11-12 | Wells Fargo Bank, N.A. | System testing from production transactions |
US10896406B2 (en) * | 2017-02-03 | 2021-01-19 | Microsoft Technology Licensing, Llc | Insight framework for suggesting hosted service and features based on detected usage patterns and behaviors |
US11025566B2 (en) * | 2017-04-12 | 2021-06-01 | Facebook, Inc. | Techniques for intent-based search for bots |
US10489225B2 (en) | 2017-08-10 | 2019-11-26 | Bank Of America Corporation | Automatic resource dependency tracking and structure for maintenance of resource fault propagation |
CN109561121B (zh) * | 2017-09-26 | 2021-10-15 | 北京国双科技有限公司 | 监控部署的方法及装置 |
CN108304309B (zh) * | 2018-02-24 | 2021-01-01 | 中国农业银行股份有限公司 | 一种自动化对比测试数据的方法及装置 |
US10678676B2 (en) * | 2018-08-08 | 2020-06-09 | Servicenow, Inc. | Playback of captured network transactions in a simulation environment |
USD886143S1 (en) | 2018-12-14 | 2020-06-02 | Nutanix, Inc. | Display screen or portion thereof with a user interface for database time-machine |
US10817157B2 (en) | 2018-12-20 | 2020-10-27 | Nutanix, Inc. | User interface for database management services |
US11010336B2 (en) | 2018-12-27 | 2021-05-18 | Nutanix, Inc. | System and method for provisioning databases in a hyperconverged infrastructure system |
US11816066B2 (en) | 2018-12-27 | 2023-11-14 | Nutanix, Inc. | System and method for protecting databases in a hyperconverged infrastructure system |
CN112956157B (zh) * | 2019-01-29 | 2023-03-14 | 算话智能科技有限公司 | 追踪客户端设备事件的系统和方法 |
US11446818B2 (en) | 2019-10-01 | 2022-09-20 | UiPath, Inc. | Resuming robotic process automation workflows based on external triggers |
US11494566B2 (en) * | 2020-04-28 | 2022-11-08 | Avaya Management L.P. | Systems and methods for adaptive emotion based automated emails and/or chat replies |
US11604705B2 (en) | 2020-08-14 | 2023-03-14 | Nutanix, Inc. | System and method for cloning as SQL server AG databases in a hyperconverged system |
US11907167B2 (en) | 2020-08-28 | 2024-02-20 | Nutanix, Inc. | Multi-cluster database management services |
US11640340B2 (en) | 2020-10-20 | 2023-05-02 | Nutanix, Inc. | System and method for backing up highly available source databases in a hyperconverged system |
CN112491652B (zh) * | 2020-11-18 | 2023-03-24 | 国家计算机网络与信息安全管理中心 | 一种用于测试的网络流量样本处理方法及装置 |
US11604806B2 (en) | 2020-12-28 | 2023-03-14 | Nutanix, Inc. | System and method for highly available database service |
US11704225B2 (en) * | 2021-01-07 | 2023-07-18 | International Business Machines Corporation | Adaptive, speculative, agent-based workload generation |
US11892918B2 (en) | 2021-03-22 | 2024-02-06 | Nutanix, Inc. | System and method for availability group database patching |
CN113778793A (zh) * | 2021-08-23 | 2021-12-10 | 深圳价值在线信息科技股份有限公司 | 一种信息监控方法、终端设备及多服务系统 |
US11803368B2 (en) | 2021-10-01 | 2023-10-31 | Nutanix, Inc. | Network learning to control delivery of updates |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527232A (zh) * | 2002-10-16 | 2004-09-08 | �ֹ��� | 实现分布预定服务、自动供应维护和与设备无关的服务实现的方法和装置 |
US7072951B2 (en) * | 2000-10-03 | 2006-07-04 | Sun Microsystems, Inc. | HTTP transaction monitor with capacity to replay in debuggings session |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267820A1 (en) * | 1999-10-14 | 2004-12-30 | Microsoft Corporation | Method and system for recording and replaying internet transactions |
US7506047B2 (en) * | 2001-03-30 | 2009-03-17 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US7624176B2 (en) * | 2004-10-14 | 2009-11-24 | International Business Machines Corporation | Method and system for programmatically generating synthetic transactions to monitor performance and availability of a web application |
US7996515B2 (en) * | 2005-06-15 | 2011-08-09 | Bmc Software, Inc. | Network transaction discovery |
US9122715B2 (en) * | 2006-06-29 | 2015-09-01 | International Business Machines Corporation | Detecting changes in end-user transaction performance and availability caused by changes in transaction server configuration |
US7793154B2 (en) * | 2006-11-30 | 2010-09-07 | International Business Machines Corporation | Method and implementation for automating processes using data driven pre-recorded transactions |
US20090177692A1 (en) * | 2008-01-04 | 2009-07-09 | Byran Christopher Chagoly | Dynamic correlation of service oriented architecture resource relationship and metrics to isolate problem sources |
-
2007
- 2007-07-31 US US11/830,896 patent/US7809525B2/en not_active Expired - Fee Related
-
2008
- 2008-07-30 CN CN2008101343997A patent/CN101360016B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7072951B2 (en) * | 2000-10-03 | 2006-07-04 | Sun Microsystems, Inc. | HTTP transaction monitor with capacity to replay in debuggings session |
CN1527232A (zh) * | 2002-10-16 | 2004-09-08 | �ֹ��� | 实现分布预定服务、自动供应维护和与设备无关的服务实现的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101360016A (zh) | 2009-02-04 |
US7809525B2 (en) | 2010-10-05 |
US20090037914A1 (en) | 2009-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101360016B (zh) | 自动配置机器人事务回放的方法和系统 | |
US7467198B2 (en) | Architectures for netcentric computing systems | |
CN101939736B (zh) | 远程计算设备的开发富互联网应用的系统和方法 | |
US8402525B1 (en) | Web services security system and method | |
CN109559258B (zh) | 教育资源公共服务系统 | |
EP1488353B1 (en) | Recording user interaction with an application | |
JP4886845B2 (ja) | 構成可能アイテムの構成データを提供するシステム、方法、媒体、及びコンピュータ・プログラム(構成管理システムにおける重み付け決定) | |
CA2388624C (en) | Architectures for netcentric computing systems | |
US20020123966A1 (en) | System and method for administration of network financial transaction terminals | |
CN101764819A (zh) | 用于检测浏览器中间人攻击的方法和系统 | |
CN101089826A (zh) | 创建容错和自适应图形用户接口测试自动化的方法和系统 | |
CN103763117A (zh) | 服务和运营管理系统 | |
CN101099345A (zh) | 利用采样和试探在网络元件处解释应用消息 | |
US20090013085A1 (en) | Interaction-management methods and platform for client-agent interaction-related environments | |
Boyd et al. | Building Real-time Mobile Solutions with MQTT and IBM MessageSight | |
Kufel | Security event monitoring in a distributed systems environment | |
CN1953403A (zh) | 用于呈现监控报告的方法和系统 | |
US9723017B1 (en) | Method, apparatus and computer program product for detecting risky communications | |
CN101212353A (zh) | 用于数据获取和分析的系统和方法 | |
TW200427258A (en) | Common service platform and software | |
WO2019121674A1 (fr) | Systeme et procede pour configurer une infrastructure de video-surveillance | |
US7103810B2 (en) | System for the tracking of errors in a communication network enabling users to selectively bypass system error logs and make real-time responses to detected errors | |
US11558239B1 (en) | Intelligent system for network and device performance improvement | |
WO2005083571A1 (en) | A method of controlling the operation of a computing system arranged to interact with other entities | |
WO2019121676A1 (fr) | Systeme de gestion de video-surveillance |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110720 Termination date: 20150730 |
|
EXPY | Termination of patent right or utility model |