专利名称:基于计算机活动的生产率测量方法和系统的制作方法
技术领域:
本发明涉及一种软硬件相结合的在计算机上测量用户工作效率的方法。
背景技术:
计算机已经不仅仅是很多研究、开发以及日常工作所不可缺少的工具,它也是个人生活中购物,阅读新闻、看电视、收发电子邮件等要用到的工具。因此,了解雇员们在计算机上干些什么已经变成了非常重要的问题。现在很多公司已经部署了用来记录雇员们在网上冲浪和收发电子邮件等活动的监测系统。这类监测工具可以显示某位雇员在因特网和电子邮件上花费了多少时间,可以用来对过多的花费时间于个人目的的现象给出警示。但是这类工具不能测量出雇员在他所从事的工作项目或者日常工作上的生产率,例如他在编写程序或者起草文件方面花了多少时间。雇主们更加关心的是雇员们的生产率。
也有一些被称为“侦探软件”的工具可以用来记录用户的所有活动,例如每一次击键动作、鼠标的点击、对因特网的访问、以及电子邮件方面的通信活动。由于这种记录包含了所有的活动,它当然也包含了雇员在他所从事的工作项目或者日常工作(与工作有关的活动)上的活动,因而可以从中推导出某种生产率的测量数据。但是,要从中梳理出哪些是与工作有关的,哪些是与工作无关的,并进一步识别哪些是与某项具体工作项目有关的,即使并非不可能,也是非常耗费时间的。
不仅如此,这类“侦探软件”大多是用来记录用户的活动以及某些涉及因特网和电子邮件方面的操作,它们往往不包含与生产活动有关的关键性信息,诸如该用户创建了多少文件、哪些文件,他在每个文件上花费了多少时间。一般说来,这类软件是秘密地运行的,用户无权过问哪些活动是被记录的。这对雇员的隐私是一种强烈的侵犯,对于公司的文化也是有害的。
本发明是在面向工程项目的计算机活动的基础上来测量生产率的。大多数在计算机上进行的工程项目或者日常工作总是会建立或者修改某些文件,或者与某一服务器交互关联,诸如建立一些文档型文件,程序语言文件,与某数据库服务器交互关联以传输数据项或对客户进行支持,等等。这种非侵犯性的,面向工程项目的方法将仅对与某一组文件以及文件目录有关的计算机活动,或者与工程项目有关的网络通信有关的计算机活动进行监控和记录。
已经有一些现成的工具可以用来对计算机中与某些文件或网络通信有关的活动进行记录。例如,用一种“文件监控工具”来记录对一组文件或文件目录的访问情况;用一种“网络监控工具”来记录对某些服务器的访问情况。但是,这些工具都有一些缺点,使得无法依靠它们来进行生产率的测量。首先,与用户活动有关的某些重要的生产率特征值没有办法单独从系统的活动情况中推导出来。例如,文件系统的活动可能仅意味着把一些数据块写进某一文件中,其中并没有包含用户花了多少时间来建立这些数据块的信息,而正是这些信息是很重要的生产率特征值。其次,这些工具不能区分系统的哪些活动是由于用户的操作所导致,哪些是由程序自动引起的。例如,文件监控工具可以把对该文件的每一次的读或写,乃至是哪一个程序执行了这些读或写记录下来,但是无法指明这些读或写是否由于用户在键盘或鼠标上的操作所产生。用户完全可以启动一个程序,让它自动而且周期性地读写某些文件,从而产出一个虚假的高生产率测量数据,而实际上他早已离开了这台计算机或者上网冲浪去了。第三,这些工具也不能禁止用户径直去窜改所记录下来的数据。
通常的情况是,雇员们愿意显示出高的生产率,还希望他所进行的与项目或日常工作有关的所有活动均被记入。而雇主们则希望所记入的活动是真正为公司或日常工作所进行的活动,而不是那些为私人目的而进行的活动。例如,如果将某一文件目录指定为某工程项目的一部分,并且认为与此目录下的所有文件相关的活动都被记入生产率测量范围;那么,完全可以想象到,可能有一些雇员会在此目录下建立一些其内容与工程项目无关的个人文件。防止这种作假行为的一个方法是,把文件中的部份或全部内容记录下来,或者与此文件有关的用户活动记录下来,以供将来审核。这一记录内容以供将来审核的功能往往足以吓阻雇员弄虚作假,同时还能保护知识产权,因为所记录的内容可作为所有权的证明。
虽然生产率测量含有某些公共的特征值,例如在工作上花费的时间长短,用户活动的数据率,所建立的文件的数量等等,但是,更加精确而完备的测量将与工作的性质以及希望得出什么结果有关。因此,生产率测量系统应该允许雇主去定义或者选择一些能够从计算机活动中推导出来的生产率特征值。
出于保护隐私和安全的目的,雇主会希望将测量的数据保护起夹,防止他人窥视或窜改。
发明内容
本专利的申请人没有见到或阅读过任何具有上述特点的能够测量人们在计算机上的生产率的方法或系统。因此,本发明的目的之一就是建立一种系统,该系统能够在某工程项目所定义的范围之内从用户所进行的与此项目有关的活动的基础上测量生产率。和有可能侵犯用户隐私的那些秘密监测用户活动的侦探软件不同,本发明允许用户或管理者规定工程项目和日常工作的范围,并且约定就在这一范围内记录所进行的活动,并在此基础上导出生产率。
本发明的另外一个目的是要保证测量的结果是真实的,而且只能由部署此系统的管理人员来观察和处理。
本发明还有一个目的就是允许管理人员来定义或选择根据与工程项目有关的活动所导出的生产率特征值。还有的另一个目的是能将工作内容,比如文件内容和用户的具体操作内容记录下来以防备弄虚作假并保护知识产权。
在一种优选实施例中,本发明向管理人员提供了一种方法和系统,用来定义与某工程项目或者日常工作相关的若干计算机实体,并且可以按照用户所做的与这些计算机实体相关的操作活动来推导出一些生产率特征值。所谓的“计算机实体”可以是一组文件或者文件目录,也可以是与某些服务器相连的通信信道。本发明允许管理人员针对具体的计算机实体来定义生产率特征值。其中,一个特别的生产率特征值是记录计算机实体以及有关的用户活动的内容,以保护知识产权并防止弄虚作假。在本发明中,生产率特征值的测量结果可用公钥加密,使得只有拥有相应私钥的管理人员能够观察和处理它们。
在所述优选实施例中,在要对其生产率进行测量的计算机上,输入一规范。这规范含有若干计算机实体的标识名、生产率特征值的定义、以及公钥。在收到这些规范后,生产率测量系统就会记录与所述的计算机实体有关的系统活动,记录与计算机相连的外围设备上的用户的活动;判定这些用户活动和系统活动之间的关联,并进而判定用户活动和所述的计算机实体的关联。该测量系统将从与所述的计算机实体互相关联的系统活动和用户活动中推导出所述的生产率特征值,再用公钥对之进行加密。加密后的生产率特征值将被包含在生产率测量结果中,并存入文件或者通过网络发送出去。
在所述优选实施例中,所述的由用户控制的计算机外围设备可以是键盘、鼠标、触摸屏、笔、游戏控制杆、麦克风或者与计算机相连的电话。用户在他所控制的外围设备上所产生的活动表明了该用户正在操作计算机。判定系统活动和用户在外围设备上的操作活动之间的关联是非常重要的,因为只有这样才能确定这些系统活动是直接或者间接地由用户产生,而不是在没有用户的参与下由系统或其它程序自动地产生的。而且,判定上述关联还有助于区分与项目有关的用户活动和与项目无关的用户活动,使得生产率能够在项目所定义的范围之内的活动中测定。在某些情况下,有时系统活动可能不会在用户活动之后的一段时间内产生,这时可以直接地判定用户活动和所述计算机实体之间的关联。使用的判定方法可以与具体的应用程序有关而有所不同。
对于很多应用程序来说,上述关联可以在进程、线程、或者窗口关系的基础上建立。“进程”是计算机内正在运行中的一个程序,而“线程”则表示“进程”内部可以独立运行的一组函数,一个“进程”可以含有多个“线程”;而一个“窗口”则是用来和用户进行交互的一个图形界面,一个“线程”或“进程”可能拥有多个窗口。以进程关系为例,如果产生某系统活动的进程和收到用户活动的进程是同一个,就可以判定这一项系统活动就是由此用户活动所产生的。另外,如果产生某系统活动的进程在和收到用户活动的进程进行通信,也可以判定这一项系统活动是由此用户活动间接产生的。以窗口关系为例,如果产生某系统活动的窗口和收到用户活动的窗口是同一个,就可以判定这一项系统活动就是由此用户活动所产生的。不管是哪种情况,都将这一用户活动与该系统活动关联起来。例如,某进程收到了来自键盘的一些击键,而此进程正在向某一文件写入数据,那就可以判定向文件写入数据的这一活动是和击键动作相关联的。如果某一进程含有多个线程或窗口,那么在判定时可能就要利用线程或窗口来判定关联的关系,方法和讨论上述进程关系时的方法相似,但可以利用到不同的信息。在判断关联关系时,可以用到“时段”条件;就是说,为了将某系统活动和用户活动关联起来,两者应该发生在同一时段之内。“时段”的长短与应用程序的性质有关,可以动态地加以设定。“时段”条件的应用可以防止有人利用程序在做了某些初始的用户输入以后自动地产生某些活动而产生的虚假关联。进程、线程、窗口关联也可以用来直接判定用户活动和计算机实体之间的关联。例如,若在某一窗口中打开了一个文件,并且用户在此窗口中键入信息,那么可以判定,这一击键动作是和此文件相关联的。一旦建立了关联,该测量系统就可以从与所述计算机实体互相关联的系统和用户活动中推导出所定义的生产率特征值。
在所述优选实施例中,所述的计算机实体可以是一组文件或文件目录,也可以是具有某一特定服务器地址或特定网络协议的通信信道,或者是两者的一些组合。对于在计算机上进行的大多数工程项目或者日常工作来说,工作的结果就是建立或修改某些文件或文件目录,或者与某些服务器进行交互。例如,在软件编程工作中,所做的工作就是建立或修改用计算机语言书写的文件;对于订单录入或者客户支持来说,所做的工作就是与一个或多个服务器进行交互联系;对于工业设计来说,所做的工作可能包括建立文件和与服务器交互。于是,上述的计算机实体可以用来规定一个或多个项目的范围,并且在此范围内记录计算机活动并推导出生产率特征值。
有关生产率特征值的定义规定了应该从相关联的系统与用户活动以及计算机实体中推导出哪些特征值。一个生产率特征值规定了活动或者计算机实体的一个特征。例如,生产率特征值可以是时间的长短、用户活动的数据率、也可以是某一活动或者计算机实体的内容记录。所有这些特征值对于测量某些项目的生产率来说可能都是重要的。对于一组计算机实体,可以规定多个生产率特征值。
对测量到的生产率特征值用公钥加密,以此保证除了拥有相应私钥的管理人员以外,其他个人或团体不能窥视或篡改它们。
在一种实施例中,包含有计算机实体的标识名、生产率特征值的定义和公钥的规范可以通过一个电子文件来提供。而这一电子文件又可以包含一数字签名,该数字签可由某一数字证书证实,而且该数字证书可以含有所述的公钥。这样,生产率测量系统便可以对规范的数字签名和数字证书加以验证,以确保该规范的真实性和权威性。把规范用数字证书加以数字签名,可以保证其他人无法修改此规范,并确证规范的作者的名称的真实性。在另外一些实施例中,可以省略一些规范条款。例如,生产率特征值的定义可以略去,而生产率测量系统将自动地采用一套默认的生产率特征值的定义。而在其它一些实施例中,可以加入新的规范条款。例如,可以加入提供系统使用的用来判定系统活动和用户活动之间以及用户活动和计算机实体之间的关联的一些规则或参数。在所述优选实施例中,加密后的测量结果将含有部份或全部规范的内容,这样,负责对测量结果进行处理的系统就可以将所测得的生产率特征值与规范的内容进行对比验证。在另外一种实施例中,为了确认用户已经认可了测量结果,还可以利用用户私钥对测得的生产率特征值产生一个或者多个数字签名。而用户的公钥则可以通过用户的数字证书提供,这样用来处理测量结果的系统就可以对用户的签名进行验证。
图1A是按照本发明的一种实施例所画出的生产率测量系统的框图。
图1B示出了一台计算机的某些关键部件。
图2A,图2B,以及图2C显示了如何规定一组计算机实体的三个例子。
图3是显示图1A中活动记录模块的框图。
图4利用进程关系显示了图1A中活动关联模块的流程。
图5显示了在判定活动关联时动态地设定时间段的一个例子。
图6显示了生产率特征值定义的一个例子。
图7是一个框图,它显示了图1A中按照图5的生产率特征值定义作出的某一范例性的特征值推导模块的流程。
图8是一个框图,它显示了按照本发明一实施例作出的对生产率测量结果进行处理的系统的流程。
正如在查看这些图时会看到的,在大部分情况下,如果某一模块未加变动地出现在多个图形中,它就在这些图中用同一个数字或字母组成的附图标记加以标注。
具体实施例方式
在图1A所示的优选实施例中,生产率测量系统102在计算机100上运行,以测量在计算机100上的用户的生产率。如图1B所示,计算机100包括一台处理器150用来运行软件程序,内存152用来存储软件程序和数据,还有一或多台受用户控制的外围设备160,诸如键盘154和用来接受用户输入的鼠标156。请参看图1A,其中生产率测量系统102用一组模块来实现接口模块104,活动记录模块106,活动关联模块108,生产率特征值推导模块110,以及加密模块112。接口模块104收到规范后将它保存在内存114中。规范包含了一些计算机实体116的标识名,一些系统和用户活动关联规则118,一些生产率特征值定义120,以及公钥122(公钥可以由另外的数字证书提供)。活动记录模块106从内存114读取到计算机实体的标识名,然后对系统中与指定的计算机实体相关的硬件和软件的系统活动加以记录,并从中过滤出与指定的计算机实体关联的系统活动。活动记录模块106同时还记录了发生在与计算机相连的任何用户控制的外围设备中的用户活动。有关系统活动和用户活动的记录被送往活动关联模块108,后者将利用关联规则118来确定用户活动与系统活动的关联性,以及用户活动与任何所述计算机实体的关联性。那些与所述计算机实体相关联的用户活动和系统活动将被提交给特征值推导模块110,后者将从中推导出指定的生产率特征值120。然后,加密模块112就利用公钥122对生产率特征值加密。加密后的生产率特征值124被并入生产率测量结果中,并被写入文件或者通过网络被传送到另外一台计算机。
在本发明中,图1A中的那些计算机实体的标识名可能包括一组文件或文件目录,也可能是与某一特定的服务器地址组或某一特定的网络协议相连的一组通信信道。这些计算机实体的标识名规定了某一项目或者日常工作的范围,并在此范围内进行活动的记录和生产率的测量。图2A,图2B和图2C给出了如何指定计算机实体的标识名的三个例子。图2A指出了两个文件目录标识名“\work\webdesign_project\*”和“\work\searchengine_project\*”。其中,“*”是一个通配符,意思是这一目录下的任何文件或者子目录。图2B指出一个通信信道和一个文件目录的标识名,该通信信道是用服务器地址“100.10.20.30”和名为“order_processing”的程序来标识的;文件目录是“\work\order_data\*”。图2C表示了与地址为“100.10.20.0”的服务器子网和网络协议“telnet”相连的任何通信信道。
请参看图3,图1A中的活动记录模块106包含了一个活动“钩子”控制器300和一个系统和用户活动过滤器302。活动钩子控制器300根据所指定的计算机实体安装了一或多个系统活动钩子304,还在计算机中与用户外围设备相关的系统中安装了一或多个用户活动钩子316。所谓“钩子”是指安装在计算机的系统软件或硬件的某部件中用来记录该部件中所进行的活动的一个软件模块。例如,由于图2A中的标识名指定了两个文件目录,活动钩子控制器300将安装一个系统文件钩子306以记录文件系统中进行的活动;由于图2B中的标识名指定了一个通信信道和一个文件目录,活动钩子控制器300将安装一个网络钩子308以记录网络系统中进行的活动;并安装一个文件系统钩子306以记录文件系统中进行的活动。活动钩子控制器300还可以安装一个窗口消息钩子310和一个进程间通信活动钩子312,以记录窗口之间和进程之间的通信活动,这些活动可能在在图1A所示的活动关联模块108中被用到。参看图3,系统和用户活动过滤器302接收到活动钩子控制器300记录到的系统和用户活动,并把所有的用户活动传送出去,但是对于系统活动,则只把与图1A中指定的计算机实体相关的系统活动传送出去。值得注意,大多数系统和用户活动均含有一些参数,它们直接或者间接地标识了与这些活动相关联的计算机实体,以及产生或接受这些活动的进程。例如,一项文件系统活动将含有与该活动相关的文件名以及产生该活动的进程或线程标识名。有些活动可能不含有标识接收或产生该活动的进程(或者线程、窗口)的参数,但是这一标识名是可以从当前的操作环境中推导出来的。例如,在键盘上的一次击键可能未指明应当接受这一击键信息的进程的标识名是什么,但是计算机的操作系统总是会把这一击键信息送给当前的前台活动程序;因此接收进程的标识名可以从当前的前台活动程序标识名导出。
然后,系统和用户活动就被传递给图1A中的活动关联模块108。如上在描述活动记录模块106中所指出的,过滤后的系统活动是与指定的计算机实体相关联的。活动关联模块108将判定这些系统活动是否与任何用户活动有关联,以及判定那些用户活动与指定的计算机实体有关联。如果系统活动是在某一时间区段内由用户活动所直接或间接地产生,那么这一系统活动是与用户活动有关联的。用来判定是否有关联的规则与应用程序的种类和计算机实体有关,在本发明中,可以视不同情况而采用不同的规则。关联规则可以内建在生产率测量系统之中,也可以作为输入的规范的内容来提供。在一种优选实施例中,生产率测量系统中拥有内建在该系统中的一组关联规则,然后又允许输入的规范来从中选择所使用的关联规则,如图1A所示。对于大多数应用程序和计算机实体来说,关联规则可以在进程、线程或者窗口的关系上建立。图4显示了图1A中活动关联模块108的一种流程图实现,其中利用了进程的关系来判定系统活动和用户活动之间的关联。从图4可以看到,用户活动被保存在活动缓冲区400中。对于每一系统活动,发出或者接受系统活动的进程(在图中标为进程Id(A))的标识名是在步骤402从系统活动的参数中提取的。例如,对于一个“读文件”的系统活动来说,所取得的是读此文件的进程的Id。在步骤404中,在系统活动之前或之后的时间区段Tw内发生的用户活动是从用户活动缓冲区400中提取的,而接收此用户活动的进程(在图中标记为进程Id(B))是在步骤406中提取的。例如,对于用户的一次“击键”活动,所取得的是接收该“击键”的进程的Id。在步骤408中,对进程Id(A)和进程Id(B)进行比较。如果进程Id(A)和进程Id(B)相同,就决定将系统活动和用户活动关联起来,而这一对相互关联的系统活动和用户活动将被传递给图1A中的特征值推导模块。如果进程Id(A)和进程Id(B)不相同,就在步骤410中进一步判定进程(A)和进程(B)是否在直接或间接地相互通信。进程间通信关系是否存在,如前面关于活动记录模块的描述中提到的,可以通过图3中窗口消息“钩子”310以及进程间通信“钩子”312所记录的系统活动来判断。如果进程(A)在直接或间接地和进程(B)相互通信,该系统活动就可认为是和该用户活动有关联的,并且把这两个活动都传递给图1A中的特征值推导模块110。对于时间区段Tw中所发生的每一个用户活动,重复进行步骤404到410。如果在时间区段Tw中没有发现系统活动和任一用户活动之间的关联,就将此系统活动标记为“非用户所产生的(系统活动)”。
时间区段Tw的长度和应用软件有关,可以动态地设定。图5是一个例子,其中显示对于一个“文字编辑应用程序”,Tw的长度被动态地设定。“字编辑器”通常接收一连串的用户击键,然后根据用户的指令或者编辑器的定时自动保存功能的要求将所得数据存入文件中。在这种情况下,用户活动就是用户的击键动作,而系统活动就是“将数据写入文件”。参看图5,有三组系统活动500,502,504代表了“由编辑器把数据写入文件”,“还有一系列的用户活动506代表用户的击键。时间区段的长度被设置为连续两次的系统活动之间的时间间隔,分别用TW-1 510和TW-2 512来表示。对于第二组系统活动502,图1A中的活动关联模块108将取得发生在时间区段TW-1 510的用户活动系列506,并决定系统活动502是与用户活动506关联的。对于第三组系统活动504,图1A中的活动关联模块108将发现在时间区段TW-2 512中没有用户活动,因而决定系统活动504是“非用户所控制的”。
由于已知系统活动是与计算机实体相关联的,系统活动和用户活动之间的关联也就意味着用户活动和计算机实体的关联。在有些应用中,某些用户活动和系统活动之间的关联可能无法在某个时间区段内决定,这时可能需要直接地来判定这些用户活动是否与给定的计算机实体相关联。例如,在字编辑器的例子中,如果“定期自动保存功能”被关闭,那么可能在很长一段时间内只有用户在击键,而编辑器没有在此期间进行数据保存的动作。在用户打入“保存”命令之前,编辑器一直把用户的击键所代表的信息保存在机器内部的缓冲区中。在此期间。编辑器可能不产生指向文件的任何的文件系统活动,这时仍旧需要判定用户的击键是否与文件相关联。在此情况下,窗口、线程、或者进程的关系可以用来判断是否有关联。以文字编辑器窗口为例,如果用户击键所输入的编辑器窗口是为某文件打开的,就可以判定这些击键动作与该文件相关联。当计算机实体是某个网络通信信道,而系统活动就是网络通信活动时,也可以应用类似的关系来判定关联的存在。
参看图1A,特征值推导模块110从相互关联的系统和用户活动中推导出生产率特征值。依据项目、应用程序、计算机实体以及系统和用户活动的性质不同,生产率特征值可以采用不同的定义。每一生产率特征值代表活动以及计算机实体的某一特征。例如,“时间长短”这一特征值代表了用户在指定的计算机实体上工作了多少时间;“用户输入数据率”特征值代表了用户在规定的时间内打入了多少数据;而“实体记录”特征值代表了用户工作成果内容的记录和证明。从同一组活动和计算机实体出发,可以推导出多种特征值。在优选实施例中,生产率特征值的定义可以放在规范中,如图1A中数据块120所示。图6表示了一个例子,规范中含有三个生产率特征值“时间长短”,“用户输入数据率”,和“文件记录”的定义。图7表示了用来推导图6中所规定的这三个生产率特征值的流图。参考图7,步骤700提取各个系统和用户活动的时间戳;步骤702从时间戳推导出时间间隔(长短);步骤704根据用户活动数据量和时间间隔推导出用户输入数据率;步骤706则对修改过的文件中变动的内容产生文件记录。步骤702,704,706分别产生了三个特征值集合时间间隔、用户输入数据率、和文件记录。一个文件的记录可以是整个文件或者部分文件的压缩或非压缩形式。为通信信道产生的记录可以是在程序与服务器之间所传送的数据或者部分数据的压缩或者非压缩形式。作为生产率测量的一部分,这些记录可以作为用户所完成的工作的一个证明。此外,所产生的每一个生产率特征值可以包含若干参数,这些参数可以是相关计算机实体的标识名、程序的标识名、以及测量该生产率特征值的时间间隔。
由图1A中特征值推导模块110所产生的生产率特征值随后由图1A中加密模块112进行加密。加密模块利用公钥122来加密。基于公钥的加密算法是众所周知的,可以从许多出版物中找到。加密后的生产率特征值124被包含在生产率测量结果之中,并且可以保存在文件中,或者通过网络传送给其他计算机以供处理或观察。
在一种优选实施例中,生产率测量结果还包含了规范所指定的计算机实体的标识名和公钥,而且其中的计算机实体的标识名也是用公钥进行了加密的。其中的公钥使处理系统得以识别相应的私钥,而其中的计算机实体标识名则使处理系统能够识别出相关联的项目,并且将每一测量到的生产率特征值与相应的计算机实体对应起来。生产率测量结果被显示在图8的数据块802中。
图8表示了某生产率测量结果处理系统800的流图。参看图8,在步骤806中,系统根据生产率测量结果802中包含的公钥122提取相配对的私钥810,在步骤808中将已加密的计算机实体标识名和生产率特征值进行解密,并且在步骤812中识别出与计算机实体相关联的工程项目,然后处理和显示相关的工程项目和计算机实体的标识名以及所测量的生产率特征值。
在另外一种优选实施例中,图1A中接口模块104所收到的含有计算机实体标识名和公钥的规范可以以嵌入在某数字证书中的电子文件的形式来提供。数字证书是由认证权威机构(CA)签署的一种电子文件。数字证书的使用保证了规范和拥有公钥的管理者是被确证过的。在这一实施例中,生产率测量系统还含有一数字证书验证模块,用来对输入的数字证书和数字签名进行验证。关于数字验证技术的详细情况可以在很多公开出版物上找到。
在另外一种实施例中,图8中的生产率测量结果802可以用其生产率被测量的用户的私钥进行数字签名。与之配对的用户公钥可以在一份用户数字证书中提供。在这一实施例中,图1中的生产率测量系统将含有一个“签名产生模块”,用来依据用户的私钥在测量结果上加入用户签名。并且,图8中生产率测量结果处理系统的流程图800将包含一个“利用用户的公钥来验证用户签名”的步骤。用用户的私钥对测量结果进行数字签名可以证实这些结果是从该用户得到的。关于数字签名和数字证书的详细资料可以在很多公开出版物上找到。
在另外一种实施例中,生产率测量结果可以被通过网络信道传送到另一台计算机去,而生产率特征值的加密可以在网络信道中完成。例如,如果网络信道是一种TCP/IP连接,那么,可以使用公钥和“安全套接层(SSL)协议” 对TCP/IP连接进行加密。SSL在基于因特网的交互活动中已被广泛使用。
只要不背离本发明的精神或其中心特性,本发明也可以按其它特定形式来实现。这里所介绍的实施例在所有方面应该认为是示意性而不是强制性的,本发明的范围将由以下所附的权利要求申明部分,而不是由前面的描述来指明,因而与这些权利要求申明的意义和范围等效的任何变化均被包含在本发明中。
权利要求
1.一种在一台计算机上测量用户在某一工作项目的生产率的方法,该方法包括如下步骤将规范送入所述计算机,所述规范包含一组计算机实体的标识名,每一所述计算机实体标识名与一项所述的项目相关;记录与任一所述的计算机实体相关联的系统活动;记录在与所述计算机相连的任何用户操纵的外部设备上的用户活动;判定所述用户活动与所述系统活动的关联;从相关的用户与系统活动中测量出一组生产率特征值;其中所述的一组计算机实体包括以下的任一种至少一个文件;至少一个文件目录,用于标识在所述文件目录下的任何文件;至少一条网络信道;所述的系统活动包含下列的任一项打开文件;向文件中写入数据;从文件中读出数据;删除文件;关闭文件;将文件重新命名;拷贝文件;接受网络信道链接请求;发出网络信道链接请求;向网络信道写入数据;从网络信道读出数据;关闭网络信道;所述的用户操纵的外围设备包含下列的任一设备键盘;鼠标;笔;游戏控制器;触摸屏;电话设备;麦克风;无线控制设备;与所述的计算机相连的计算机设备;所述的用户活动包含下列的任一项键盘的击键;鼠标的移动和点击;用笔画线;游戏控制器的点击和移动;在屏幕上的触摸;电话声音输入;麦克风声音输入。
2.如权利要求1所述的方法,在所述的计算机上存在一含有公钥的数字证书,所述的方法进一步包含利用所述的公钥对所测量的一组生产率特征值进行加密。
3.如权利要求2所述的方法,所述的规范以含有数字签名的电子文件的形式提供,所述的方法进一步包含对所述的数字证书和数字签名进行验证。
4.如权利要求2所述的方法,所述的利用公钥对生产率特征值进行加密的步骤进一步包含将所述的生产率特征值通过网络信道发送出去;利用所述公钥对所述的网络信道进行加密。
5.如权利要求1所述的方法,所述的一组计算机实体包含一组网络信道,而所述的系统活动包含网络信道的通信活动,所述的一组网络信道包含以下的任意一项TCP/IP信道;UDP/IP信道;ATM信道;Ethernet信道;帧中继信道;电话信道;无线通信信道。
6.如权利要求1所述的方法,所述的规范含有一组生产率特征值定义,所述的特征值定义被用在所述的测量一组生产率特征值的步骤中,所述的特征值定义包含以下条款的任意组合时间间隔;开始与结束时间;用户活动数据率;送入的字节数量;所存取的数据库记录的数量;所建立的数据库记录的数量;所创建的文件的数量;所修改的文件的数量;一个文件的内容记录;计算机活动的记录;一个文件的拷贝;一个文件中某些部分的拷贝;一个文件的压缩形式的拷贝;一个文件的某些部分的压缩形式的拷贝;通过通信信道发送的一个数据块的记录。
7.如权利要求1所述的方法,所述的判定用户活动与系统活动之间的关联的步骤包含以下诸项中至少一项判定产生某系统活动的进程是否与收到某用户活动的进程为同一进程;判定产生某系统活动的进程是否与收到某用户活动的进程在进行通信;判定产生某一系统活动的线程是否与收到某用户活动的线程为同一线程;判定产生某系统活动的线程是否与收到某用户活动的线程在进行通信;判定产生某系统活动的窗口是否与收到某用户活动的窗口为同一窗口;包含产生某系统活动的窗口是否与收到某用户活动的窗口在进行通信;判定用户活动与所述的一组计算机实体中某一者之间的关联性。
8.一种在一台计算机上测量用户在至少一个工作项目的生产率的系统,所述系统包含一个用于接收规范的接口模块,所述规范中含有一组计算机实体的标识名,所述的一组计算机实体中的每一个与所述的某一个项目有关;一个活动记录模块,用于记录与所述的任一个计算机实体相关联的系统活动、和记录在用户所操纵的并与所述的计算机相连的任一外围设备中产生的用户活动;一个活动关联模块,用于判定所述的某一用户活动与所述的某一系统活动是否相关联;一个生产率推导模块,用于从相关联的所述的用户与系统活动中测量一组生产率特征值;其中所述的一组计算机实体包含下列的任意一项至少一个文件;至少一个文件目录以标示在此目录下的任何文件;至少一条网络信道;所述的系统活动包含下列的任意一项打开文件;向文件中写入数据;从文件中读出数据;删除文件;关闭文件;将文件重新命名;拷贝文件;接受网络信道链接请求;发出网络信道链接请求;向网络信道写入数据;从网络信道读出数据;关闭网络信道;所述的用户操纵的外围设备包含下列任一设备键盘;鼠标;光笔;游戏控制器;触摸屏;电话设备;麦克风;无线控制设备;与所述的计算机相连的计算机设备;所说的用户活动包含下列的任意一项键盘的击键;鼠标的移动和点击;用笔画线;游戏控制器的点击和移动;在屏幕上的触摸;电话声音输入;麦克风声音输入。
9.如权利要求8所述的系统,存在一含有公钥的数字证书,所述的系统还包含一个加密模块,用于利用所述的公钥对所测量的生产率特征值进行加密。
10.如权利要求9所述的系统,所述的规范以含有数字签名的电子文件的形式提供,所述的系统还包含一个数字证书模块,用于验证所述的数字证书和数字签名。
11.如权利要求8所述的系统,所述的规范含有一组生产率特征值定义,所述的生产率推导模块利用所述的生产率特征值定义测量生产率特征值,所述的生产率特征值定义包含以下诸项的任意组合时间间隔;开始和结束时刻;用户活动数据率;被送入的字节数;存取的数据库记录数;创建的数据库记录数;创建的文件数;被修改的文件数;有关某一文件的记录;有关计算机活动的记录;某一文件的拷贝;某一文件中某些部分的拷贝;某一文件的压缩形式的拷贝;某一文件中某些部分的压缩形式的拷贝;通过某通信信道发送的数据块的记录。
12.如权利要求8所述的系统,所述的活动关联模块包含判定以下诸项中至少一项产生某系统活动的进程是否与收到某用户活动的进程为同一进程;产生某系统活动的进程是否与收到某用户活动的进程在进行通信;产生某系统活动的线程是否与收到某用户活动的线程为同一线程;产生某系统活动的线程是否与收到某用户活动的线程在进行通信;产生某系统活动的窗口是否与收到某用户活动的窗口为同一窗口;产生某系统活动的窗口是否与收到某用户活动的窗口在进行通信。
全文摘要
本发明公开了在一台计算机上测量用户在某一工作项目上的生产率的系统及方法。所述的系统及方法允许管理者或用户对工作项目的范围加以定义,并且在这一范围之内记录计算机活动和测量各种生产率特征值。所述方法包含以下步骤(1)接收一份定义工作项目的规范,该规范中含有一组计算机实体的标识名,所述计算机实体可以包含一组文件,或文件目录,或网络通信信道,或它们的各种组合;(2)记录与任一所述计算机实体相关的系统活动,以及记录在与所述计算机相连的、用户操纵的任何外围设备上的用户活动;(3)判定所述用户活动与所述系统活动之间的关联;(4)从相互关联的用户活动和系统活动中测量出一组生产率特征值;(5)用某一公钥将所述的生产率特征值进行加密。
文档编号G06F11/34GK1512343SQ200310101338
公开日2004年7月14日 申请日期2003年10月15日 优先权日2002年10月15日
发明者黄泽镇 申请人:黄泽镇