监视和跟踪应用使用情况的制作方法

文档序号:6339724阅读:611来源:国知局

专利名称::监视和跟踪应用使用情况的制作方法
技术领域
:本发明的实施方式涉及监视和跟踪应用使用情况。更具体地,涉及用于监视和跟踪应用使用情况的计算机实现的方法、计算机程序产品和计算机系统。
背景技术
:使用目前可用的软件工具,经常难于以标准和自动的方式监视和跟踪应用的使用情况。此外,计算机网络和应用安全性要求可能限制开发支持有效跟踪应用情况使用的工具。由于全球化,可能特别期望应用使用情况的监视和跟踪。信息技术的全球化和迅速发展支持曾经在一个组织中本地执行的任务在其他位置以及可能由其他组织来执行。组织经常期望使任务在劳动力较为成本有效的地区执行,和/或利用另一组织的专长和/或专业性。此外,对于组织而言,关注于其核心业务而对与其核心业务不相关的任务外包给其他组织是有益的。外包,特别是业务过程外包(BPO),可以理解为描述这样的情况,即客户组织将特定的任务集合加诸于第三方或者实体。第三方或者实体可以是独立组织或者附属组织。第三方可以位于另一国家,或者靠近客户组织的位置。业务过程外包的一个示例是为汽车和/或机器工具制造商提供信息技术(IT)服务的第三方组织。这些IT服务的范围可以从提供连锁管理到制造过程控制。这些IT服务中的某些可以在一个国家执行,而其他IT服务可以在不同的国家执行。外包环境(特别地,BPO环境)可以理解为包括对象、过程和情境,其限定了第三方如何执行客户组织的任务。BPO环境的细化可以包括信息系统配置需求,访问控制需求或者为了安全性目的而施加的限制。BPO环境中的对象可以包括设备,诸如具有特定软件和/或硬件配置的计算机。对于客户组织而言,期望的是部分地限定用于第三方的BPO环境,以便在客户组织内降低风险和保持职能。由此,第三方可能需要在其控制之外的限制下进行操作。可向外包环境中的用户、用户计算机和/或服务器计算机施加一个或多个技术限制。可能期望将外包环境中的计算机的通信约束在一个局域网(LAN),或者将外包环境中的计算机的通信约束在显式标识的计算机集合。外包环境中的网络连通性可以被限制于涉及执行特定任务集合的用户和计算机。还可能期望限制用户对计算机的访问和/或限制计算机之间允许的交互。用于监视和跟踪应用使用情况的现有技术方案可能针对特定的应用和过程而定制。换言之,每个应用可能需要集成到应用源代码中的独立的监视和跟踪方案。而且,现有技术方案可以捕获所监视应用的事务性数据。由此,现有技术方案可以是一组应用或者每个应的前端。前端可以与应用的代码交互,以便确定应用是如何使用的。由此,现有技术方案可能需要针对每个应用编写独立的监视和跟踪工具,并且可能还需要访问应用的源代码,并且可与每个应用的应用编程接口(API)交互。换言之,现有技术方案可能需要每个应用的专用跟踪工具。此类方案可能需要大量的程序开发工作,并且可能由于访问应用源代码而违反安全标准;由此,实现监视和跟踪方案在技术上常常是不可行的。
发明内容根据一个方面,提供一种监视和跟踪应用使用情况的计算机实现的方法。该方法包括在第一间隔期间获得第一图形用户界面(GUI)中的活跃窗口的第一标识符。此外,该方法包括在该第一间隔期间确定第一用户是否已经提供第一输入的第一指示,以及存储该第一标识符和该第一指示。根据另一方面,提供一种监视和跟踪应用使用情况的计算机实现的方法。该方法包括在第一间隔期间,确定第一用户是否已经提供第一输入的第一指示。该方法还包括在该第一间隔期间获得第一图形用户界面(GUI)中的活跃窗口的第一标识符。该方法还包括选择性地存储该第一标识符和该第一指示。在第一实施方式中,选择性地存储包括当第一标识符不同于最近存储的标识符时,或者当第一指示不同于最近存储的指示时,或者当没有先前存储的标识符并且没有先前存储的指示时存储该第一标识符和该第一指示。最近存储的标识符可以理解为在最近存储的标识符之后和第一标识符之前没有存储标识符的情况下先前存储的标识符。最近存储的指示可类似地理解。在第二实施方式中,选择性地存储包括当第一标识符不同于最近存储的标识符时,或者当没有先前存储的标识符时存储第一标识符和第一指示。该方法可被实现用以跟踪单个应用或者多个应用的使用情况。间隔可以理解为指定的(预定的或者可预定的)时段。间隔可以约为5秒钟、10秒钟或者15秒钟。在某些情况下,10分钟或者15分钟的间隔可能是适当的。根据应用和/或如何使用应用,其他间隔也可能是适当的。监视和跟踪应用使用情况可以包括确定是否在使用特定的应用,或者确定是否在使用未授权的应用,或者没有使用应用。而且,对应用使用情况的监视和跟踪可以包括汇总应用使用情况,使得汇总可以容易地读取和理解。对应用使用情况的监视和跟踪可以使用跟踪工具来实现。在某些实施方式中,选择性地存储第一标识符和第一指示包括将第一标识符和第一指示保存在第一数据集中,例如保存在第一数据表单中。相应地,该方法还可以包括在第二间隔期间,获得第二⑶I中的活跃窗口的第二标识符。具体地,第二⑶I可以不同于第一⑶I。而且,该方法可以包括在第二间隔期间,确定第二用户是否已经提供第二输入的第二指示。该方法还可以包括将第二标识符和第二指示保存在第二数据集中,例如保存在第二数据表单中。此外,该方法可以包括向第三数据集(例如,第三数据表单)拷贝第一数据集(特别地,第一数据表单)的数据和第二数据集(特别地,第二数据表单)的数据。在某些情况下,向第三数据表单拷贝第一数据表单的数据和第二数据表单的数据包括向第三数据表单拷贝第一数据表单的所有数据和第二数据表单的所有数据。数据表单可以理解为工作表单。换言之,数据表单可以是制表所显示的单元的阵列,其中每个单元可以被认为是用于保持数据元素的框。由此,表格、工作表单或者数据表单可以理解为多个单元或者字段的电子表示,它们一起构成了包含行和列的网格。表格可以在应用程序内显示,诸如MicrosoftExceKExcel是微软公司的商标)。第一⑶I可以是第一计算机的⑶I,并且第二⑶I可以是不同于第一计算机的第二计算机的⑶I。此外,第一数据表单、第二数据表单以及第三数据表单可以位于不同于第一计算机和第二计算机的第三计算机的共享文件夹中。而且,该共享文件夹是从第一GUI和第二⑶I可访问的。在某些情况下,第一数据表单、第二数据表单或者这两个数据表单可以例如经由电子邮件或某些其他适当的网络协议向中央位置传输。可选地,传输的数据表单可以使用规则或者宏来处理。规则可以合并来自数据表单的信息,以生成报告,诸如汇总报告。这可以具有使其用户易于处理数据表单的效果。由此,第一计算机和第二计算机可以是用户计算机。特别地,在BPO环境中,每个用户计算机可能只接受作为对源自该用户计算机的请求的响应而接收的网络通信,并且用户计算机不接受源自另一计算机的网络通信。例如,这可被理解为表示用户计算机仅在以下情况下接受来自另一计算机的传输控制协议(TCP)或用户数据报协议(UDP)分组,即这些分组被确定为是对该用户计算机发送的TCP或UDP分组的响应。而且,第三计算机可以是服务器计算机。在这种情况下,共享文件夹可以存储在服务器计算机上。而且,共享文件夹可以包含第一数据表单、第二数据表单和/或第三数据表单,并且共享文件夹是用户计算机可访问的。在外包环境中,服务器计算机可以接受源自其他计算机的通信。在某些实施方式中,第一数据表单位于第一计算机上,第二数据表单位于第二计算机上,并且第三数据表单位于第三计算机上。由此,向第三数据表单拷贝第一数据表单的数据和第二数据表单的数据还包括打开从第一计算机向第三计算机的连接,并且向第三计算机拷贝第一数据表单;以及打开从第二计算机向第三计算机的另一连接,以及向第三计算机拷贝第二数据表单。第一间隔和第二间隔可以重叠。换言之,第一间隔覆盖的时段与第二间隔覆盖的时段可以在一定程度上或者完全一致。选择性地存储第一标识符和第一指示可以包括将第一标识符和第一指示保存在第一数据集中,例如保存在第一数据表单中。相应地,该方法还可以包括在第二间隔期间,确定第一用户是否已经提供第二输入的第二指示。该方法还可以包括在第二间隔期间,获得GUI中的活跃窗口的第二标识符。该方法还可以包括当第二标识符不同于第一标识符时,或者当第二指示不同于第一指示时,存储第二标识符和第二指示。标识符和指示的组合可以称为输入状态。由此,此实施方式可以具有降低存储需求的效果,因为只有在第二输入状态不同于最近输入状态(这此例中,是第一输入状态)时才存储第二输入状态。该方法还可以包括向第二计算机传输第一数据表单,使用宏来处理第一数据表单,以及将来自第一数据表单的信息与来自一个或多个其他数据表单的信息合并,以生成报告。处理也可以使用规则或者类似的编程工具来执行。此外,可以实现针对第一数据表单和/或第二数据表单的保护。此保护可以实现这样的结果,即保护第一数据表单的数据和第二数据表单的数据不被未授权用户访问。由6此,该保护可以防止第一计算机的用户访问第一数据表单的数据。确定第一指示可以包括验证第一用户是否已经使用键盘和/或导航设备或诸如指点设备(如,鼠标)的任何输入设备提供了第一输入。类似地,确定第二指示可以包括:验证第二用户是否已经使用键盘和/或诸如鼠标等指点设备提供了第二输入。在某些实施方式中,第一标识符和第一指示可以不显示在第一⑶I中。由此,跟踪工具可以在后台运行,并且跟踪工具的执行对于用户来说可以是透明的。而且,可以不访问应用的接口。换言之,可以在不访问被监视和跟踪的任何应用的API的情况下,执行对应用使用情况的监视和跟踪。由此,跟踪工具不充当任何应用的前端。由此,对应用的监视和跟踪可以通过各种非本地计算机来执行,特别是在向外包环境中的用户、用户计算机和/或服务器计算机施加技术限制的情况下。而且,第一⑶I中的活跃窗口的第一标识符可以标识与第二⑶I中的活跃窗口的第二标识符不同的应用。由此,可以使用跟踪工具来监视和跟踪不同的应用。跟踪工具可以可操作以监视和跟踪新的或其他的应用,而无需任何附加的开发工作。例如,第一计算机可以运行MicrosoftWord,并且第二计算机可以运行MicrosoftExcel。所使用的一个或多个术语可能是其相应所有者的商标。在某些实施方式中,方法步骤可以借助于宏来实现。换言之,方法步骤可以使用应用代码的VisualBasic的单位来实现。根据又一方面,提供一种计算机程序产品,特别地,其有形地包含在计算机可读介质上,作为信号和/或作为数据流而被包含。该计算机程序产品包括计算机可读指令,当其在计算机系统上加载和执行时,致使计算机系统执行根据上述监视和跟踪应用使用情况的计算机实现的方法的操作。根据另一方面,提供一种用于监视和跟踪应用使用情况的计算机系统。该系统可以包括第一计算机,其包括配置用于显示第一活跃窗口的第一图形用户界面(GUI),配置用于限定第一间隔的第一定时器,以及第一输入设备。第一计算机可操作用于在第一间隔期间,确定第一用户是否已经向第一输入设备提供第一输入的第一指示。第一计算机还可操作用于在第一间隔期间,获得第一活跃窗口的第一标识符,以及选择性地存储该第一标识符和第一指示。根据另一方面,提供一种用于监视和跟踪应用使用情况的计算机系统。该系统可以包括第一计算机,其包括配置用于显示第一活跃窗口的第一图形用户界面(GUI)。相应地,第一计算机包括配置用于限定第一间隔的第一定时器,以及第一输入设备。第一计算机可操作用于在第一间隔期间,获得第一活跃窗口的第一标识符。第一计算机还可操作用于在第一间隔期间,确定第一用户是否已经向第一输入设备提供了第一输入的第一指示,以及存储第一标识符和第一指示。在某些实施方式中,该计算机系统还包括第二计算机;特别地,第二计算机可以不同于第一计算机。相应地,第二计算机包括配置用于显示第二活跃窗口的第二图形用户界面(⑶I)。第二计算机包括配置用于限定第二间隔的第二定时器,以及第二输入设备。该计算机系统还包括第三计算机。此外,第二计算机可操作用于在第二间隔期间,获得第二活跃窗口的第二标识符。第二计算机还可操作以在第二间隔期间,确定第二用户是否已经向第二输入设备提供了第二输入的第二指示,以及存储第二标识符和第二指示。相应地,第一计算机还可操作用于通过将第一标识符和第一指示保存在第一数据表单中,存储第一标识符和第一指示。此外,第二计算机还可以操作用于通过将第二标识符和第二指示保存在第二数据表单中,存储第二标识符和第二指示。而且,第三计算机可操作用于向第三数据表单中拷贝第一数据表单的数据和第二数据表单的数据。而且,可能存在这样的情况必须在BPO环境中没有管理员访问的情况下,执行对计算机程序的安装和运行。这可以理解为表示安装和运行跟踪工具不需要对用户计算机和/或服务器计算机(即,第一计算机、第二计算机和/或第三计算机)的管理员访问。此外,在BPO环境中,可能的情况是计算机程序(例如,跟踪工具)只有在以下情况下才能安装在用户计算机上,即计算机程序的安装不改变用户计算机注册表。这些和其他方面可以具有多个优点。一个优点可以是跟踪工具需要最小化安装。换言之,跟踪工具易于安装。在MicrosoftWindows环境的上下文中,跟踪工具的安装不需要注册表改变,或者对用户计算机的管理员访问(Windows是微软公司的商标)。而且,跟踪工具不需要专用服务器。另一优点可以是跟踪工具可以在技术限制和/或要求(特别地,其被应用于外包环境)下操作。例如,在某些实施方式中,跟踪工具不需要打开用户计算机(例如,第一计算机或者第二计算机)上的TCP/IP端口以支持对应用使用情况的监视和跟踪。打开计算机上的TCP/IP端口可以理解为允许外部应用(即,另一计算机上的应用)发起向该计算机的通信。该跟踪工具的附加优点可以是跟踪工具在无需为了操作而访问因特网的情况下工作。由此,可以保持组织的网络范围的完整性,和/或可以实现高安全级别。管理员访问可以理解为对计算机系统的超级用户或者特权访问。在特定操作系统的上下文中,管理员访问可以理解为访问MicrosoftWindows环境中的管理员账户,MicrosoftWindows环境中的管理员群组的成员,或者访问Unix环境中的根账户。在本文中,MicrosoftWindows用于表示微软的Windows操作系统的新版本,诸如MicrosoftWindowsXP>MicrosoftWindowsVista或者MicrosoftWindows7。注册表或者计算机的注册表可以理解为中央数据库,其包含用于启动、配置和/或定制计算机系统的信息。注册表可以与微软的Windows操作系统的新版本相关联。本说明书中描述的主题可以实现为方法或者设备,其形式可以是一个或多个计算机程序产品。本说明书中描述的主题可以实现在机器可读介质中,其中该介质具体化在一个或多个信息载体中,诸如CD-R0M、DVD_R0M、数据信号、半导体存储器或者硬盘。这种计算机程序产品可以致使数据处理装置执行本说明书中描述的一个或多个操作。此外,本说明书描述的主题还可以实现为系统,该系统包括处理器以及耦合至该处理器的存储器。存储器可以编码一个或多个程序,以致使处理器执行本说明书中描述的一个或多个方法。本说明书中描述的其他主题可以使用各种机器来实现。而且,本说明书中描述的主题可以使用各种编程语言和工具来实现,包括应用VisualBasic(VBA)或者VisualBasic。—个或多个实现的细节在下面的所附示例性描述和附图中记载。通过描述、附图以及权利要求,其他特征将是易见的。图1示出了如何安装和使用跟踪工具的流程图。图2示出了描绘从首次激活跟踪工具时到关闭该工具时可以执行的步骤的流程图。图3绘出了一个示例性数据表单,其示出了跟踪工具的未加工数据输出。图4绘出了汇总跟踪工具的未加工数据输出的示例性报告数据。图5示出了另一示例性数据表单,其示出了跟踪工具的未加工数据输出。图6示出了关于图5输出的部分报告。图7示出了可以用来生成报告的公式。图8示出了可以基于来自多个跟踪工具的跟踪数据而生成的汇总报告。图9示出了示例性计算机系统的示意图。具体实施例方式在下文中,将参考附图给出示例的详细描述。应当理解,可以做出对示例的各种修改。特别地,可以对一个示例的元件进行组合并且用于其他示例以形成新的示例。图1示出为了安装和使用用于监视和跟踪应用使用情况的工具(也称为跟踪工具)所执行的步骤的流程图。跟踪工具可以理解为记录或者存储描述计算机系统上其他计算机程序的使用情况的数据的计算机程序。例如,跟踪工具可以记录计算机程序或者应用被使用了多久和/或是否向计算机系统提供输入的有关信息。在一些实施方式中,跟踪工具可以记录描述用户所操作的个人计算机上的应用的使用情况的信息。在步骤101,跟踪工具可以是向用户发送的电子邮件的附件,或者可以存储在共享文件夹中。共享文件夹中的项或者文件可以使用MicrosoftWindows环境中支持的文件共享协议(例如,因特网文件系统和/或服务器消息块)被共享。其他文件共享协议和其他操作系统也是可能的。在步骤103,可以向用户计算机下载或者提供跟踪工具,并且将其配置为在用户登录时运行或者开始运行。例如,在MicrosoftWindows计算机上,可以将跟踪工具在文件系统上的位置的快捷方式添加到启动(Martup)文件夹中。在步骤105,用户可以登录用户计算机。在步骤107,根据图1的示例,监视和跟踪应用使用情况开始。当用户在109退出时,跟踪工具自动地保存跟踪数据,并且跟踪工具关闭。有益地,跟踪工具可以在后台执行,并且对跟踪数据的访问可以是受限的。另外,跟踪工具的执行对用户而言可以是透明的。备选地,只有表格应用的普通工作表单可以是用户可见的。在一个示例中,透明性可能是有益的,因为如果用户知道用户计算机上的应用使用情况正在被监视和跟踪,用户可能会变得不舒服。步骤101到109可以针对多个计算机而重复。图2示出了描绘从首次激活跟踪工具到关闭该工具时执行的步骤的流程图。在步骤201,用户登录用户计算机。用户计算机也可以称为第一计算机和/或第二计算机。用户登录之后,在步骤203,跟踪工具可以自动地打开并且开始跟踪。在步骤203之后,可以重复步骤205到219,直到执行步骤221。步骤205到219的重复可以导致存储对用户计算机上执行的工作进行跟踪的数据。存储的数据还可以用于针对用户计算机上执行的任何过程进行科学时间和动作研究。另外,存储的数据可以用来基于用户所使用的窗口流来监视活动流,以便执行统计分析和实现过程改进。另外,存储的数据使得可以通过用户打开的窗口查看过程流来监视过程质量。存储的数据还可以用来基于用户输入的程度间接地跟踪用户计算机的处理器使用率。在步骤205,新间隔(例如,第一间隔或者第二间隔)可以开始。在此上下文中,每个间隔可以理解为指定(预定或者可预定)的、有限时段,例如5秒。可能有益的是,可以根据所监视的应用和/或所执行的过程来改变间隔。由此,在某些情况下,5秒的间隔可能是适当的,而在其他情况下,大约10分钟的间隔可能是合适的。其他间隔也是可能的。在一些实现中,可以通过与用户计算机的系统定时器的交互来确定间隔。系统定时器的使用可以具有以下优点,即增加创建错误输入(也即,创建使得特定应用看似正被活跃使用的第二程序)的难度。这是因为,第二程序也可能需要对系统定时器的重复访问。跟踪工具可以检测对系统定时器的重复访问,并且对其做出反应。在步骤207,跟踪工具可以确定用户是否已经提供输入的指示。步骤207可以这样实现检查用户是否借助于键盘和/或导航设备提供了任何输入,特别地,自从最近的输入检查起是否已经提供了指点设备(诸如,鼠标)和/或键盘输入。换言之,可以调用一个或多个函数以确定自从最近的输入检查起按键(例如,键盘键和/或鼠标按钮)是否被按压。在特定示例中,可以针对每个按键调用函数(例如,作为循环的一部分),以确定该按键自从其最后一次被查询起是否被按压。备选地,函数可以确定按键在一段时间期间是否被按压。该一个或多个函数可以包括WindowsAPI函数,诸如GetAsyncKeyState()。还可以(或者备选地)检查诸如扫描仪、网络连接、⑶-ROM驱动器和/或盘驱动器的其他外部设备的活动,或者确定用户是否与这些设备进行了交互(即,向其提供输入)。提供输入可以理解为向计算机给予信息,例如,通过敲击键盘或者插入CD。由此,确定用户是否提供输入可以包括确定用户是否在一段时间期间提供了输入。因此,间隔长度的增加也可以增加针对输入进行的时段。步骤207可以是用于确定用户是否提供输入的指示的快速、有效的方式。在步骤209,确定步骤207的输入检查的结果是否与最近输入检查的结果相同。如果步骤207的输入检查的结果与最近输入检查的结果相同,则在步骤209之后执行步骤205。如果步骤207的输入检查的结果与先前输入检查的结果不同,则在步骤209之后执行步骤211。步骤209的执行可以具有如下效果,即降低存储在捕获工作表单中的数据量,特别是在与针对每个间隔而存储输入检查的结果这一情形相比较时。在第一间隔的特例中,不存在先前输入检查,所以可以在步骤209之后执行步骤211。备选地,在第一间隔的情况下,可以跳过步骤209,并且可以在步骤207之后执行步骤211。根据图2所绘的示例,在步骤211,向捕获工作表单粘贴当前日期和时间。捕获工作表单也可以称为工作表单或者数据表单。另外,在步骤213,可以向捕获工作表单粘贴活跃窗口的名称。活跃窗口的名称也可以称为活跃窗口的标题或者标识符。活跃窗口也可以称为前景窗口。活跃窗口可以理解为用户当前用来进行工作的窗口,例如通过借助于诸如键盘和/或指点设备向该窗口提供输入来进行工作。活跃窗口的名称可以理解为窗口的标题栏的文本。备选地,如果活跃窗口是控件,则活跃窗口的名称可以是该控件的文本。在MicrosoftWindows的上下文中,可10以通过与Windows应用编程接口(API)函数交互来获得活跃窗口的名称。更具体地,可以使用WindowsAPI函数GetForegroundWindow()和GetWindowText()来获得活跃窗口的名称。备选机制也是可能的。步骤213可以是用于获得当前活跃窗口的名称的快速、有效的方式,例如,通过向捕获工作表单拷贝活跃窗口的名称。而且,步骤207到213中的一个或多个可以至少部分地并行执行,这可以进一步提高效率。另外,可以提供功能性,使得可以在步骤207到213正在执行时执行其他系统功能。在步骤215,可以对指示进行评估。如果提供了输入,则在步骤217,跟踪工具可以将“工作中”粘贴在捕获工作表单中的活跃窗口的名称之后。也可以粘贴某些其他适合的文本,以登记自从最近的输入检查起进行了工作。如果没有提供输入,则在步骤219,跟踪工具可以将“空闲”粘贴在捕获工作表单中的活跃窗口的名称之后。也可以粘贴某些其他适合的文本,以登记自从最近的输入检查起没有进行工作。可以使用工作表单锁定来保护捕获工作表单中存储(即,粘贴或者拷贝)的数据。存储的数据可以包括活跃窗口的标识符以及用户是否提供输入的指示。保护捕获工作表单中存储的数据可以包括锁定单元、隐藏单元和/或锁定捕获工作表单。在MicrosoftExcel的具体示例中,保护存储的数据还可以包括将捕获工作表单指定为“隐藏”或者“非常隐藏”在步骤209、217或者219之后,根据情境,可以在新间隔开始处再次执行步骤205。跟踪工具可以自动地执行上述粘贴和拷贝操作。在步骤221,用户可以退出用户计算机。根据示例,在步骤221,将步骤205到219期间存储的数据自动保存到例如数据表单中,并且关闭跟踪工具。由此,数据可以在步骤205到219中被存储在RAM中,并且在步骤221被写入文件。备选地,步骤205到219中存储的数据可以在相应的步骤中被写入文件,并且该文件可以在步骤221中被关闭。在一些实施方式中,步骤201到221由多个用户计算机执行,例如至少由第一计算机和第二计算机执行。第一计算机和第二计算机可以分别至少包括第一⑶I和第二⑶I。步骤221中创建的文件可以存储在不同于第一计算机和第二计算机的第三计算机的共享文件夹中。共享文件夹是经由服务器消息块(SMB)等文件共享协议可访问的。第三计算机也可以称为服务器计算机。在第一示例中,在步骤221,可以执行宏,以便向第三计算机创建的一个数据表单中拷贝由第一计算机创建的数据表单的数据以及由第二计算机创建的数据表单的数据。在本说明书的上下文中,宏可以理解为计算机代码的单元,或者更具体地,VBA代码的单元。可以对第三计算机创建的数据表单进行分析,并且可以执行数据比较。向服务器计算机上的一个数据表单中编译来自多个用户计算机的数据表单的数据,这可以具有廉价和易于实现的优点。另外,向一个表格中编译多个表格可以利用已有的用户专长,因为很多用户受到过使用表格的培训,而较少用户受到过使用数据库的培训。备选地,在第二示例中,可以将步骤221中创建的每个文件存储到相应的用户计算机上。可以向特定用户传输每个存储的文件,例如经由电子邮件或者另一应用协议。继而可以对所传输的文件进行处理,可以使用规则或者宏来进行处理。更具体地,可以经由电子邮件接收每个捕获工作表单,并且使用规则将其存储在特定文件夹中。宏可以打开文件夹中的每封电子邮件,并且将工作表单保存至共享文件夹。结合图2描述的方法还可以具有不会浪费带宽的优点,因为从用户计算机到服务器计算机仅仅传输了最少的需要数据。换言之,可以减少和/或优化网络上的数据业务。使用宏来实现图2的方法可以具有遵从某些组织的安全策略的优点,即使在这些安全策略不允许使用VisualBasic或者其他编程语言的情况下也是如此。另外,利用跟踪工具来监视和跟踪应用使用情况可以比手动方法更加可靠。图3绘出了示出跟踪工具的未加工数据输出的示例性数据表单。该数据表单也可以称为捕获工作表单或者工作表单。根据绘出的示例,数据列301可以包括例如在步骤207中插入的当前日期和时间。窗口名称列303可以包括例如在步骤209中插入的活跃窗口的名称。另外,输入列305(输入列305也可以称为输入状态列)可以包括自从最近的用户输入检查起是否接收了用户输入的指示。根据此示例,在接收了用户输入的情况下,可以在输入列305的单元中出现“工作中”;而在没有接收用户输入的情况下,可以在输入列305的单元中出现“空闲”。可以按照不同的方式(诸如,以不同的颜色)强调或者标记不同的指示。时段列307可以指示间隔的持续时间,即步骤205到217的第一次执行与步骤205到217的第二次执行之间的时段。图4绘出了对图3中绘出的数据以及未示出的其他未加工数据进行汇总的示例性报告数据。窗口标题列401表示来自窗口名称列303的活跃窗口的名称。窗口标题列401还可以包括标识总时间量的行。输入登记列403可以包括在步骤215到217中向捕获工作表单中粘贴的文本。总时间列405可以提供空闲时间总和407、工作时间总和409以及总时间条目411。空闲时间总和407可以是窗口标题列401中列出的窗口名称为活跃窗口时没有接收到输入的间隔的总和。工作时间总和409可以是窗口标题列401中列出的窗口名称为活跃窗口时接收到了输入的间隔的总和。总时间条目411可以是空闲时间总和407和工作时间总和409的和。对于标识总时间量的行(例如总时间条目411行)而言,输入登记列403可以为空。图4中绘出的汇总可以称为枢纽表(pivottable)。对根据图2的步骤存储的未加工数据进行汇总的其他方法也是可能的。可以使用多个个人计算机上可用的软件(诸如,Microsoftffindows和MicrosoftExcel)实现跟踪工具可能是有益的。与其他方法相比,这可以获得成本的降低。另夕卜,可以减少用户培训时间,因为跟踪工具的报告可以使用已有的表格应用(诸如MicrosoftExcel)来查看。跟踪工具可以使报告和数据收集能够易于集中,并且还可以促进标准化使用率度量的使用。来自跟踪工具的报告还可以用于降低操作成本,并且可以获得增加的生产率、较好的预测以及改善的服务递送。报告还可以提供对过程执行在不同用户间的变化的可视性,并且促进最佳实践的共享。监视和跟踪应用使用情况还可以增强对非生产性活动的理解,并且提供具有较少歧义的较好控制。与图3类似,图5示出了另一示例性数据表单,其示出了跟踪工具的未加工数据输出。与图3中绘出的输出相比,图5中绘出的输出按照不同的方式设置格式。特别地,图5将例如“工作中”或者“空闲”的输入(或者输入状态)与窗口名称进行了结合。图6示出了基于特定输出的报告,其中特定输出可以包括图5的输出。报告行601指示MicrosoftInternetExplorer在37分钟38秒中是活跃窗口。报告行603指示MicrosoftInternetExplorer在37分钟38秒以外的17分钟46秒中是空闲的。由此,虽然InternetExplorer超过37分钟是活跃窗口,但是超过17分钟没有接收输入。图6的报告示出了针对其他应用(例如,MicrosoftExcel和MicrosoftOutlook)的类似信息。特别地,可以针对每个活跃窗口单独报告工作时间和空闲时间。图7示出了可以用于生成图6的报告的公式。可以使用表格应用(诸如MicrosoftExcel)来实现该公式。与图7相关联的步骤可以与图2的步骤221共同执行或者作为其一部分执行。在某些情况下,跟踪工具将接收信号以便在工作时间(例如,一天)结束时关闭用户。响应于接收到该信号,跟踪工具可以使用图7中绘出的公式来计算图6的报告。可以向用户发送未加工数据和/或报告(即,跟踪数据),这可以借助于电子邮件。在发送跟踪数据之后,可以删除例如图3和图5中绘出的未加工数据。根据此示例,存在10个用户使用跟踪工具。每个用户可以关闭跟踪工具,导致向服务器发送电子邮件。每个电子邮件可以包括对应于50个用户之一的跟踪数据。电子邮件可以存储在服务器上的文件夹中,并且跟踪数据可以保存在中央位置,可能是结合图2提及的共享文件夹。图8示出了可以基于来自多个跟踪工具的跟踪数据而生成的汇总报告。该汇总报告可以用于分析,以确定团队效率和生产率的水平。图9示出了用于实现本发明的方面的示例性系统,包括形式上为传统计算环境520(例如,个人计算机,也称为用户计算机)的通用计算设备。传统计算环境包括处理单元522,系统存储器524,以及系统总线526。系统总线耦合各种系统部件,包括将系统存储器524耦合至处理单元522。处理单元522可以通过访问系统存储器524执行算术、逻辑和/或控制操作。系统存储器524可以存储信息和/或指令,以供与处理单元522结合使用。系统存储器524可以包括易失性和非易失性存储器,诸如随机访问存储器(RAM)528和制度存储器(ROM)530。ROM530中可以存储基本输入/输出系统(BIOS),其包含有助于在诸如启动期间在个人计算机520内的元件之间传送信息的基本例程。系统总线526可以是多种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线以及使用各种总线架构中任何一种的局部总线。个人计算机520还可以包括硬盘驱动532,用于从硬盘(未示出)进行读取以及向其进行写入;以及外部盘驱动534,用于从可拆卸盘536进行读取或向其进行写入。可拆卸盘可以是用于磁盘驱动器的磁盘,或者用于光盘驱动的光盘,诸如CDROM。硬盘驱动532和外部盘驱动534分别由硬盘驱动接口538和外部盘驱动接口540连接至系统总线526。驱动及其关联的计算机可读介质提供计算机可读指令、数据结构、程序模块和个人计算机520的其他数据的非易失性存储。数据结构可以包括用于如上所述的监视和跟踪应用使用情况的方法的实现的有关数据。有关数据可以组织在数据库汇总,例如关系数据库或者对象数据库。尽管在此描述的示例性环境采用了硬盘(未示出)和外部盘536,但是本领域的技术人员应当理解,在示例性操作环境中还可以使用可以存储计算机可访问的数据的其他类型计算机可读介质,诸如磁带、闪存卡、数字视频盘、随机访问存储器、只读存储器等。硬盘、外部盘536、ROM530或RAM528上可以存储多个程序模块,包括操作系统(未示出)、一个或多个应用程序544、其他程序模块(未示出)以及程序数据546。应用程序包括图1到图8中描绘的至少部分功能。如下所述,用户可以通过诸如键盘548和鼠标550的输入设备向个人计算机520输入命令和信息。其他输入设备(未示出)可以包括麦克风(或者其他传感器)、操纵杆、游戏盘、扫描仪等。这些以及其他输入设备可以通过耦合至系统总线526的串行端口接口552连接至处理单元522,或者可由诸如并行端口接口554、游戏端口或者通用串行总线(USB)的其他端口收集。此外,可以使用打印机556来打印信息。打印机556和其他并行输入/输出设备可以通过并行端口接口554连接至处理单元552。监视器558或者其他类型的显示设备也可以经由诸如视频输入/输出560的接口连接至系统总线526。除了监视器之外,计算环境520可以包括其他外围输出设备(未示出),诸如扬声器或者其他听觉输出。计算环境520可以与诸如计算机、电话(有线或无线)、个人数字助理、电视机等其他电子设备通信。为了通信,计算机环境520可以使用与一个或多个电子设备的连接在联网环境中操作。图9示出了与远程计算机562联网的计算机环境。远程计算机562可以是另一计算环境,诸如服务器计算机、路由器、网络PC、端设备或者其他常见的网络节点,并且可以包括上文关于计算环境520描述的多个或全部元件。图9中绘出的逻辑连接包括局域网(LAN)564以及广域网(WAN)566。这种联网环境在办公室、企业级计算机网络、内联网以及因特网中是普遍的,并且可以特别地加密。当在LAN联网环境中使用时,计算环境520可以通过网络1/0568连接至LAN564。当在WAN联网环境中使用时,计算环境520可以包括调制解调器570或者用于在WAN566上建立通信的其他工具。调制解调器570可以在计算环境520内部或者外部,其经由串行端口接口552连接至系统总线526。在联网环境中,关于计算环境520描述的程序模块或其部分可以存储在驻留于或可由远程计算机562访问的远程存储器存储设备中。此外,与监视和跟踪应用使用情况有关的其他数据(上文描述)可以驻留于远程计算机562,或者经由远程计算机562可访问。将会理解,示出的网络连接是示例性的,并且可以使用在电子设备之间建立通信的其他手段。上文描述的计算系统仅仅是可以用来实现监视和跟踪应用使用情况的方法的计算系统类型的一个示例。权利要求1.一种监视和跟踪应用使用情况的计算机实现的方法,所述方法包括在第一间隔期间,确定(207)第一用户是否已经提供第一输入的第一指示;在所述第一间隔期间,获得第一图形用户界面GUI中的活跃窗口的第一标识符;以及选择性地存储所述第一标识符(21和所述第一指示017、219)。2.如权利要求1所述的方法,其中选择性地存储包括当所述第一标识符不同于最近存储的标识符时,或者当所述第一指示不同于最近存储的指示时,或者当没有先前存储的标识符并且没有先前存储的指示时存储所述第一标识符和所述第一指示。3.如权利要求1或2所述的方法,其中选择性地存储所述第一标识符和所述第一指示包括将所述第一标识符和所述第一指示保存在第一数据集中,诸如第一数据表单。4.如权利要求3所述的方法,还包括在第二间隔期间,确定第二用户是否已经提供第二输入的第二指示;在所述第二间隔期间,获得第二GUI中的活跃窗口的第二标识符;将所述第二标识符和所述第二指示保存在第二数据集中,例如第二数据表单;以及向例如第三数据表单的第三数据集拷贝所述第一数据集的数据和所述第二数据集的数据。5.如权利要求4所述的方法,其中所述第一数据表单位于第一计算机上,所述第二数据表单位于第二计算机上,并且所述第三数据表单位于第三计算机上;以及其中向所述第三数据表单拷贝所述第一数据表单的数据和所述第二数据表单的数据进一步包括打开从所述第一计算机向所述第三计算机的连接,并且向所述第三计算机拷贝所述第一数据表单;以及打开从所述第二计算机向所述第三计算机的另一连接,并且向所述第三计算机拷贝所述第二数据表单。6.如权利要求3的方法,还包括在第二间隔期间,确定所述第一用户是否已经提供第二输入的第二指示;在所述第二间隔期间,获得所述GUI中的活跃窗口的第二标识符;当所述第二标识符不同于所述第一标识符时,或者当所述第二指示不同于所述第一指示时存储所述第二标识符和所述第二指示。7.如权利要求3或6所述的方法,还包括向第二计算机传输所述第一数据表单;使用宏来处理所述第一数据表单;将来自所述第一数据表单的信息与来自一个或多个其他数据表单的信息进行合并,以生成报告。8.如任一在前权利要求所述的方法,其中所述第一间隔和所述第二间隔重叠。9.如任一在前权利要求所述的方法,其中实现针对所述第一数据表单的保护;由此保护所述第一数据表单的数据不被未授权用户访问。10.如任一在前权利要求所述的方法,其中确定所述第一指示包括验证所述第一用户是否已经使用键盘和/或导航设备和/或诸如鼠标的指点设备提供了所述第一输入。11.如任一在前权利要求所述的方法,其中所述第一标识符和所述第一指示不在所述第一⑶I中显示。12.如任一在前权利要求所述的方法,其中所述应用的接口未被访问。13.一种计算机程序产品,包括计算机可读指令,当所述指令在计算机系统上加载和执行时,使所述计算机系统执行根据任一在前权利要求所述的方法的操作。14.一种用于监视和跟踪应用使用情况的计算机系统,所述系统包括第一计算机,包括配置用于显示第一活跃窗口的第一图形用户界面⑶I;配置用于限定第一间隔的第一定时器;以及第一输入设备;其中所述第一计算机可操作用于在所述第一间隔期间,确定(207)第一用户是否已经向所述第一输入设备提供第一输入的第一指示;在所述第一间隔期间,获得所述第一活跃窗口的第一标识符,以及选择性地存储所述第一标识符(21和所述第一指示017、219)。15.如权利要求14所述的计算机系统,其中所述系统配置为可操作用于执行如权利要求6-12任一项所述的方法。全文摘要本发明的实施方式涉及监视和跟踪应用使用情况。具体地,描述涉及用于监视和跟踪应用使用情况的计算机实现的方法、计算机程序产品和计算机系统。该方法包括在第一间隔期间确定第一用户是否已经提供第一输入的第一指示。该方法还包括在第一间隔期间获得第一图形用户界面(GUI)中的活跃窗口的第一标识符,以及选择性地存储该第一标识符和该第一指示。为此目的,可以在第一图形用户界面运行的计算机上实现特定的跟踪工具。文档编号G06F21/00GK102096625SQ201010602850公开日2011年6月15日申请日期2010年12月15日优先权日2009年12月15日发明者T·穆克霍帕德哈雅,V·G·马德哈瓦申请人:埃森哲环球服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1