CN101110020B - 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统 - Google Patents

维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统 Download PDF

Info

Publication number
CN101110020B
CN101110020B CN2006101077241A CN200610107724A CN101110020B CN 101110020 B CN101110020 B CN 101110020B CN 2006101077241 A CN2006101077241 A CN 2006101077241A CN 200610107724 A CN200610107724 A CN 200610107724A CN 101110020 B CN101110020 B CN 101110020B
Authority
CN
China
Prior art keywords
originality
information
edit object
relevant
information relevant
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
Application number
CN2006101077241A
Other languages
English (en)
Other versions
CN101110020A (zh
Inventor
罗琳
田忠
B·黑尔伯恩
P·马尔金
郝大明
H·奥舍尔
S·里奇
J·威甘德
D·汤姆森
叶航军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2006101077241A priority Critical patent/CN101110020B/zh
Priority to US11/780,583 priority patent/US7769787B2/en
Publication of CN101110020A publication Critical patent/CN101110020A/zh
Application granted granted Critical
Publication of CN101110020B publication Critical patent/CN101110020B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

提供了一种用于维护关于可编辑对象内的元素的与原创性有关的信息的方法和系统,所述方法包括:确定已在所述可编辑对象内编辑了元素;识别关于所述元素的与原创性有关的信息;以及维护关于所述与原创性有关的信息和所述元素之间的关联。所述元素可被任意细化。可根据用于在所述可编辑对象内编辑所述元素的方法自动地确定所述与原创性有关的信息,或由用户手动输入所述与原创性有关的信息。可将与原创性有关的信息嵌入在可编辑对象内,或存储在附件文件内,或存储在储存库中以便于查询和检索。还可以对与原创性有关的信息和元素之间的关联进行数字签名,以便确保与原创性有关的信息和元素以及可编辑对象之间的关联及其内容的完整性和一致性。并且在将来重用该元素时保持所述与原创性有关的信息和所述元素之间的关联。

Description

维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统 
技术领域
本发明涉及数据处理领域,并且更具体地,涉及用于维护关于可编辑对象中的元素的与原创性有关的信息。 
背景技术
随着开发者间的合作在各种项目的开发中变得越来越重要并且不可缺少,迫切需要克服阻碍人们以有效的方式共享和重用他们已创建的东西的障碍。 
在开放源码计划中,为了促进技术进步,开发者可以将他们的程序代码贡献给公众,允许任何人出于研究或商业目的免费地加入、修改和分发他们的代码。虽然开放源码计划已经获得了相当大的成功,但它具有其自己的缺点,这些缺点已经阻碍了它的进一步发展。首先,使用开放源码总是带有代码污染的高度风险,其形式既有由于疏忽而产生的缺陷(bug)也有故意制造的病毒或蠕虫。尤其是当一段代码在其初始创建之后已在不同的时间由不同的人修改过多轮时,难以识别谁应对代码的特定部分负责,并且代码污染的风险更大了。其次,由于在这种开放源码的所有权混乱状态中开发者的身份未被维护,并且因此在由他们创建的代码的生命期内不可被识别,所以他们缺乏共享其代码的动机。再次,在这种情况下,一段代码一旦被创建和提交,就脱离了其创建者的控制,并且可能受到任何人做出的任何修改。因此,由最初的创建者进行代码维护(校正、精化、增强等)是不可能的。 
在企业内的软件开发环境中,当团队成员试图在单个项目内或跨项目共享其代码时,他们将遇到类似的问题。即,缺乏识别代码的创建者的有 效机制增大了代码污染的风险,模糊了责任,增加了代码维护的难度,并且使得开发者不愿共享其代码和使用来自其他开发者的代码。另外,在当今的软件开发项目中,开发者通常被要求在生产阶段结束时签署“原创性声明”(certificate of originality,COO),来声明软件代码的哪些部分是其自己创建的,而哪些部分来自开放源码或某些其他来源;并且由于缺少有效的和可靠的机制维护和跟踪关于代码段的与原创性有关的信息,该过程常常需要1-2个月来完成,这既麻烦又代价高昂。另外,在人力资产或知识资产的转移过程中,关于代码段的未被适当维护的来源信息容易被丢失。 
在程序源代码中嵌入注释可以部分地解决上面的问题;然而,其缺点也是非常明显的。嵌入注释不是专为维护关于源代码的与原创性有关的信息而设计的机制。另外,是否在代码段内嵌入注释,以及注释包括什么完全由开发者自己任意确定。在近来关于开发者对嵌入注释的态度的一项调查中,多半的受调查者的反应是他们觉得在编写代码时加入注释是麻烦的,并且在很多时候宁愿忽略嵌入注释,即使它对于代码的将来维护会是方便的。在软件项目的合作开发中,少数开发者不愿嵌入注释将使得嵌入注释作为维护与原创性有关的信息的机制在很大程度上成为无用的。显然,嵌入注释难以成为维护关于源代码的与原创性有关的信息的有效的或灵活的方法。 
SCM(软件配置管理或源控制)工具可以在软件项目的开发中的签入/签出过程中记录开发者和修订,但是它仍不能解决上面的问题,因为它仅在以项目为中心的生命期中维护代码。当代码离开给定的SCM并且在某个新的项目中被重用时,新的团队难以仅从代码的快照检索到相应的与原创性有关的信息。另外,SCM工具具有仅通过签入/签出记录与原创性有关的信息的限制。即,它仅跟踪作为整体的文档的各版本,而不是关于该文档内的每个元素的与原创性有关的信息。例如,当程序员A在编辑过程中复制程序员B的代码并且然后签入时,SCM工具仅记录A的名称而不是B的名称。 
在多媒体文件(例如,Web页面,音频或视频)的开发中,也迫切需要维护关于文件内的各种元素的与原创性有关的信息,从而可以确定,例如,文件是否包含或者被禁止(例如,非法复制的音乐)或者被限制(例如,在访问权到期后,使用有商标的标识(trademarked logo))访问的任何内容。没有这种机制,人们将不愿共享其拥有的文件或数据元素,或他们可能不经意地侵犯其他人的版权、商标或其他权利。 
在现有技术中,还没有针对维护关于程序代码文件或其他文件内的元素的与原创性有关的信息的方法或装置。 
文件系统(例如Windows XP中包括的文件系统)跟踪数据何时被增加和修改,以及由谁增加和修改,但是仅涉及谁增加/修改该数据,而不是谁创建或谁拥有该数据。 
字处理软件,诸如微软公司的Word具有审阅跟踪功能,其可以记录对文档中的文本的修改(添加,删除),但是它仅记录文档的编辑者和与编辑者相关的信息,而不是针对维护关于文档的元素的与原创性有关的信息,即,它仅关心谁编辑了该文档,而不是谁最初创建了该文档的各元素,并且因此对该文档的元素负责并且对该文档的元素拥有权利。因此,当当前的编辑者从另一个文档复制并粘贴一段文本时,将与复制并粘贴的文本段相关联地记录该编辑者的名字而不是该另一个文档的创建者的名字。 
鉴于上述论述,明显需要一种针对维护关于可编辑对象内的元素的与原创性有关的信息的方法和系统。 
发明内容
本发明的目的是通过提供用于在可编辑对象(例如,程序代码、多媒体文件、数据库等)内的元素的整个生命期内正确跟踪和维护关于元素的与原创性有关的信息的方法和系统,减少重用元素的风险,便于进行元素重用和维护,确保开发过程符合诸如开放源码使用和管理策略,以及便于进行项目管理诸如COO。 
本发明的核心思想包括将与元素的原创性有关的信息,所述与原创性 有关的信息可以包括但不限于创建者、所有者、导入者、来源、编辑方法、访问权、原创性声明(比如使用权),以及和有关的日期和时间信息等与该元素永久地关联在一起,并且在该元素的将来重用和传播中保持该相关联的与原创性有关的信息,可见上述与原创性有关的信息并不仅限于与原始创作(者)相关的信息,而是可以为该元素的重用和传播过程中产生的任何相关信息。这样可以确保该与原创性有关的信息以及其相关联的元素的完整性和不可抵赖性。并且由于可以部分地使用所述元素,与原创性有关的信息和元素之间的关联可被任意细化。 
在本发明的一个发明,提供了一种用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,包括以下步骤:确定已在所述可编辑对象内编辑了元素;识别关于所述元素的与原创性有关的信息;以及维护关于所述元素的与原创性有关的信息和所述元素之间的关联。 
优选地,与原创性有关的信息包括所述元素的创建者和以下各项中的一个或多个:所述元素的所有者;所述元素的导入者;所述元素的原创性;所述元素的编辑方法;所述元素的访问权;所述元素的使用权;和有关的日期和时间信息。 
优选地确定已在所述可编辑对象内编辑了元素的步骤还包括确定在所述可编辑对象内编辑所述元素的方法,其中在所述可编辑对象内编辑所述元素的方法包括以下各项中的任何一个:由编辑所述可编辑对象的用户输入所述元素;删除已有元素;修改已有元素;导入;引用;继承;和可编辑对象的存储版本的直接操纵。 
优选地所述导入包括复制或剪切并且粘贴、插入以及附加中的任何一个。 
优选地识别关于所述元素的与原创性有关的信息的步骤包括以下各项中的一个或多个:根据在所述可编辑对象内编辑所述元素的方法,自动地识别关于所述元素的与原创性有关的信息;以及从编辑所述可编辑对象的用户处交互地获得关于所述元素的与原创性有关的信息。 
优选地自动地识别关于所述元素的与原创性有关的信息的步骤包括:在通过导入、引用或继承在所述可编辑对象内编辑所述元素的情况下,通过提取已经与所述元素相关联的与原创性有关的信息,并且添加编辑所述可编辑对象的用户的用户信息作为导入者信息以及导入操作信息,获得关于所述可编辑对象内的所述元素的与原创性有关的信息;以及在通过来自编辑所述可编辑对象的用户的输入、删除已有元素、修改已有元素或对所述可编辑对象的存储版本直接操纵,在所述可编辑对象内编辑所述元素的情况下,从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息。
优选地,在已经通过删除已有元素,在所述可编辑对象内编辑所述元素的情况下,所述可编辑对象内的已有元素是通过添加与已有元素相同但是带有负号的新元素来删除的,并且所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括从编辑所述可编辑对象的用户的用户信息和删除操作信息中获得关于带有负号的所述新元素的与原创性有关的信息;以及在已经通过修改已有元素,在所述可编辑对象内编辑所述元素的情况下,所述可编辑对象内的已有元素是通过以上述方式删除所述已有元素,并且然后添加带有修改的新元素来修改的,并且所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括从编辑所述可编辑对象的用户的用户信息和修改操作信息中获得关于带有负号的所述新元素和带有修改的所述新元素的与原创性有关的信息。 
作为另一种选择,在已经通过删除已有元素,编辑所述可编辑对象内的所述元素的情况下,所述可编辑对象内的已有元素是通过将所述已有元素标记为被删除来删除的,并且所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括从编辑所述可编辑对象的用户的用户信息和所述删除操作信息中获得关于所述被删除元素的与原创性有关的信息;以及在已经通过修改已有元素,在所述可编辑对象内编辑所述元素的情况下,所述可编辑对象内的已有元素是通过删除所述已有元素的部分内容和/或在所述已有元素中添加部分 内容来修改的,并且所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括将所述删除和/或添加的已有元素的部分内容视为新删除和/或添加的元素,并且以上面提出的在通过删除已有元素编辑所述可编辑对象内的元素的情况中的方式,获得关于这些新删除元素的与原创性有关的信息,和/或以上面提出的通过来自编辑所述可编辑对象的用户的输入来编辑所述可编辑对象内的元素的情况中的方式,获得关于这些新添加元素的与原创性有关的信息。 
优选地,维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括将所述与原创性有关的信息嵌入在同一个可编辑对象内,或将与原创性有关的信息存储在附加的文件内。 
优选地,维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括以与所述元素相关联的方式将所述与原创性有关的信息存储在储存库(比如数据库)中,所述储存库可被配置为由不同的可编辑对象共享,并且可被配置为可对元素和相关联的与原创性有关的信息进行查询。以与所述元素相关联的方式是指将与原创性有关的信息以及相关联的所述元素同时存储在储存库中,或者是在与原创性有关的信息被单独的存储在储存库中,而与之对应的元素被存储在其它储存库中,或者其它任何存储空间内时,保持与原创性有关的信息与对应元素的相关性,否则,在日后的查询过程中,无法了解与原创性有关的信息与对应元素的对应关系。 
优选地,维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括“跨越”所述元素和所述与原创性有关的信息之间的关联进行数字签名。 
优选地,维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括“跨越”所述元素和所述与原创性有关的信息以及所述可编辑对象之间的关联进行数字签名。 
优选地,用于维护关于可编辑对象内的元素的与原创性有关的信息的方法还包括认证编辑所述可编辑对象的用户。 
优选地,维护关于所述元素的与原创性有关的信息和所述元素之间的 关联的步骤包括当将来重用所述元素时,保持关于所述元素的与原创性有关的信息和所述元素之间的关联。 
优选地,所述可编辑对象是计算机程序代码,并且所述元素是行、函数、结构、过程、子程序和由用户指定的一段代码中的任何一个。 
优选地,所述可编辑对象是多媒体文件和数据库中的任何一个,并且所述元素是其自然组件或由用户指定的其任何部分。 
在本发明的另一个方面,提供了一种呈现由上述的任何方法维护的关于可编辑对象内的元素的与原创性有关的信息的方法,包括:在用户界面内呈现所述可编辑对象内的元素;检索与所述元素相关联地维护的关于所述元素的与原创性有关的信息;以及在所述用户界面内与所述元素相关联地呈现所述与原创性有关的信息。 
在本发明的另一个方面,提供了一种根据可编辑对象内的元素的由以上方法维护的与原创性有关的信息来确定该元素与策略的符合性的方法,包括:设置关于该可编辑对象的元素的基于与原创性有关的信息的策略;接收关于该元素与该策略的符合性的查询;检索关于该元素的与该元素相关联地维护的与原创性有关的信息;根据该元素的与原创性有关的信息确定该元素与该策略的符合性;以及返回指示该元素与该策略符合或不符合的确定结果。 
在本发明的另一个方面,提供了一种用于第一用户向第二用户提供上面提到的所述储存库的方法。 
在本发明的另一个方面,提供了一种用于第一用户给第二用户提供对于其数据被存储在上面提到的所述储存库内的可编辑对象的原创性声明的方法。 
在本发明的另一个方面,提供了一种用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,包括:编辑事件监视器,用于确定已在所述可编辑对象内编辑了元素;与原创性有关的信息收集器,用于识别关于所述元素的与原创性有关的信息;以及与原创性有关的信息记录器,用于记录与所述元素相关联的与原创性有关的信息。 
优选地,所述与原创性有关的信息包括所述元素的创建者和以下各项中的一个或多个:所述元素的所有者;所述元素的导入者;所述元素的来源;所述元素的编辑方法;所述元素的访问权;所述元素的使用权;和有关的日期和时间信息。 
优选地,所述编辑事件监视器还包括用于确定在所述可编辑对象内编辑所述元素的方法的装置,其中所述在所述可编辑对象内编辑所述元素的方法包括以下各项中的任何一个:由编辑所述可编辑对象的用户输入所述元素;删除已有元素;修改已有元素;导入;引用;继承;和可编辑对象的存储版本的直接操纵。 
优选地,所述与原创性有关的信息收集器还包括:与原创性有关的信息分析器,其用于根据在所述可编辑对象内编辑所述元素的方法,自动地识别关于所述元素的与原创性有关的信息;和手动输入信息收集器,其用于从编辑所述可编辑对象的用户处交互地获得关于所述元素的与原创性有关的信息。 
优选地,与原创性有关的信息分析器被配置为用于:在通过导入、引用或继承在所述可编辑对象内编辑所述元素的情况下,通过提取已经与所述元素相关联的与原创性有关的信息,并且添加编辑所述可编辑对象的用户的用户信息作为导入者信息以及导入操作信息,获得关于所述可编辑对象内的所述元素的与原创性有关的信息;以及在通过来自编辑所述可编辑对象的用户的输入、删除已有元素、修改已有元素或对所述可编辑对象的存储版本直接操纵,在所述可编辑对象内编辑所述元素的情况下,从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息。 
优选地,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统还包括用于编辑所述可编辑对象的编辑器,其中所述编辑器被配置为通过添加与已有元素相同但是带有负号的新元素,来删除所述可编辑对象内的已有元素,并且被配置为通过以上述方式删除所述已有元素,并且然后添加带有修改的新元素,来修改所述可编辑对象内的已有元素;并且其中所述与原创性有关的信息分析器被配置为用于,当所述编辑器通过添加与已有元素相同但是带有负号的新元素,来删除所述可编辑对象内的已有元素时,从编辑所述可编辑对象的用户的用户信息和删除操作信息中获得关于带有负号的所述新元素的与原创性有关的信息;以及当编辑器通过以上述方式删除所述已有元素,并且然后添加带有修改的新元素,来修改所述可编辑对象内的已有元素时,从编辑所述可编辑对象的用户的用户信息和修改操作信息中获得关于带有负号的所述新元素和带有修改的所述新元素的与原创性有关的信息。 
作为另一种选择,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统还包括用于编辑所述可编辑对象的编辑器,其中所述编辑器被配置为通过将已有元素标记为被删除,来删除所述可编辑对象内的已有元素,并且被配置为通过删除所述已有元素的部分内容和/或在所述已有元素中添加部分内容,来修改所述可编辑对象内的已有元素;并且其中所述与原创性有关的信息分析器被配置为用于,当编辑器通过将所述已有元素标记为被删除,来删除所述已有元素时,从编辑所述可编辑对象的用户的用户信息和所述删除操作信息中获得关于所述被删除元素的与原创性有关的信息;以及当编辑器通过删除所述已有元素的部分内容和/或在所述已有元素中添加部分内容,来修改所述已有元素时,将所述删除和/或添加的已有元素的部分内容视为新删除和/或添加的元素,并且以在上面的方式获得关于这些新删除和/或添加的元素的与原创性有关的信息。 
优选地,所述与原创性有关的信息记录器被配置为将所述与原创性有关的信息嵌入在同一个可编辑对象内,或将所述与原创性有关的信息存储在附加的文件内。 
优选地,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统还包括储存库(比如数据库),所述与原创性有关的信息被以与所述元素相关联的方式存储在该储存库中,并且所述储存库可被配置为由不同的可编辑对象共享,并且可被配置为可对元素和相关联的与原创性有关的信息进行查询。以与所述元素相关联的方式是指将与原创性有关的信息以及相关联的所述元素同时存储在储存库中,或者是在与原创性有关的信息被单独的存储在储存库中,而与之对应的元素可以被存储在其它储存库中,或者其它任何存储空间内时,保持与原创性有关的信息与对应元素的相关性,否则,在日后的查询过程中,无法了解与原创性有关的信息与对应元素的对应关系。 
优选地,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统还包括签名模块,其用于“跨越”所述元素和所述与原创性有关的信息之间的关联进行数字签名,和/或用于“跨越”所述元素和所述与原创性有关的信息以及所述可编辑对象之间的关联进行数字签名。 
优选地,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统还包括认证模块,其用于认证编辑所述可编辑对象的用户。 
优选地,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统还被配置为当将来重用所述元素时,保持关于所述元素的与原创性有关的信息和所述元素之间的关联。 
优选地,所述可编辑对象是计算机程序代码,并且所述元素是行、函数、结构、过程、子程序和由用户指定的一段代码中的任何一个。 
优选地,所述可编辑对象是多媒体文件和数据库中的任何一个,并且所述元素是其自然组件或由用户指定的其任何部分。 
在本发明的另一个方面,提供了一种用于呈现由任何方法维护的关于可编辑对象内的元素的与原创性有关的信息的装置,包括:元素呈现模块,其用于在用户界面内呈现所述可编辑对象内的元素;与原创性有关的信息检索模块,用于检索与所述元素相关联地维护的关于所述元素的与原创性有关的信息;以及与原创性有关的信息呈现模块,其用于在所述用户界面内与所述元素相关联地呈现所述与原创性有关的信息。 
在本发明的另一个方面,提供了一种用于根据可编辑对象内的元素的由以上方法维护的与原创性有关的信息来确定该元素与策略的符合性的装置,包括:策略设置模块,其用于设置关于该可编辑对象的元素的基于与原创性有关的信息的策略;查询接收模块,其用于接收关于该元素与该策 略的符合性的查询;与原创性有关的信息检索模块,其用于检索关于该元素的与该元素相关联地维护的与原创性有关的信息;符合性确定模块,其用于根据该元素的与原创性有关的信息确定该元素与该策略的符合性;以及确定结果返回模块,其用于返回指示该元素与该策略符合或不符合的确定结果。 
在本发明的另一个方面,提供了一种机器可读存储装置,具有存储在其上的计算机程序,所述计算机程序具有多个可由机器执行以使得所述机器执行上面方法中的任何一个的步骤的代码段。 
使用本发明,开发者不仅可以快速地找到元素的所有者并且寻求协助或确保不受污染,而且可以减轻对第三方知识产权的误用。 
附图说明
当结合附图进行阅读时,通过参考对本发明的优选实施例的以下详细描述,本领域的技术人员可以更好地理解本发明的各种优点、特征和特点;然而应当理解,本发明不限于附图中所示的精确的布置和手段。 
图1A是根据本发明的一优选实施例,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统的示意性方框图; 
图1B是根据本发明的进一步实施例,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统的示意性方框图; 
图2是示出了根据本发明的优选实施例,用于维护关于可编辑对象内的元素的与原创性有关的信息的方法的示意性流程图; 
图3是根据本发明的另一个方面,用于呈现关于可编辑对象内的元素的与原创性有关的信息的装置的示意性方框图; 
图4是根据本发明的另一个方面,用于呈现关于可编辑对象内的元素的与原创性有关的信息的方法的示意性流程图; 
图5是根据本发明的进一步的方面,用于确定可编辑对象内的元素与策略的符合性的装置的示意性方框图; 
图6是根据本发明的进一步的方面,用于确定可编辑对象内的元素与 策略的符合性的方法的示意性流程图; 
图7是一计算机系统的示意性方框图,其中可以实现根据本发明的优选实施例的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法和系统;以及 
图8是一个网络环境的示意性方框图,其中可以实现根据本发明的优选实施例的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法和系统。 
具体实施方式
本发明涉及用于维护关于可编辑对象内的元素的与原创性有关的信息的方法和系统。在下面的描述中,提出了若干特定细节以便提供对本发明的目前的优选实施例的更彻底的描述。然而对于本领域的技术人员来说,显然可以实现本发明,而不使用某些这些特定细节,和/或对所述细节进行各种修改。在某些情况下,未详细描述某些已知的特征,从而不会遮掩本发明的更相关的和发明性的方面,然而,应理解,这些被忽略的已知的特征对于实现本发明来说可能是必需的。 
现在参考图1A,示出了根据本发明的优选实施例,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统100。如图所示,系统100包括编辑事件监视器103,用于确定在可编辑对象中已编辑了一元素;与原创性有关的信息收集器104,用于识别关于元素的与原创性有关的信息;和与原创性有关的信息记录器105,用于记录与元素相关联的与原创性有关的信息。 
在本发明的进一步实施例中,编辑事件监视器103还包括用于确定在可编辑对象内对元素进行编辑的方法的装置113。 
在本发明的进一步的实施例中,与原创性有关的信息收集器104还包括与原创性有关的信息分析器114,用于根据在可编辑对象内对元素进行编辑的方法,自动地识别与原创性有关的信息;和手动输入信息收集器124,用于从用户处交互地获得与原创性有关的信息。 
图1B示出了根据本发明的进一步的实施例,用于维护关于可编辑对象内的元素的与原创性有关的信息的系统100。如图所示,在本发明的进一步的实施例中,除了编辑事件监视器103,与原创性有关的信息收集器104和与原创性有关的信息记录器105之外,系统100还可包括用于编辑可编辑对象的编辑器102,用于对编辑该可编辑对象的用户进行认证的认证模块101,用于对该元素以及相关联的与原创性有关的信息进行数字签名的签名模块106,以及用于存储该与原创性有关的信息和相关联的元素的储存库107。 
在系统100的上述组件中,编辑器102可以是在软件开发环境或多媒体文件创作和编辑环境或其他环境中使用的标准的编辑器,诸如EclipseJava Editor,或特别适合于实施本发明的编辑器。编辑器102具有用于与用户交互的用户界面(未示出,并且在本发明的范围之外),所述交互包括从用户处接收编辑操作,并且显示被编辑的对象的内容以及关于该对象的元素的与原创性有关的信息和在编辑处理中产生其他相关信息。 
认证模块101、编辑事件监视器103、与原创性有关的信息收集器104、与原创性有关的信息记录器105和鉴名模块106可以或是编辑器102的集成部分,或是与编辑器102连接的单独的模块,例如,插件。 
储存库107可以在与编辑器102相同的计算机系统内,或优选地,在网络环境中的服务器中或连接于服务器的独立的存储设备中,并且因此可在不同计算机系统的不同用户间共享。 
注意,在本发明的某些实施例中系统100中可以缺少上述的某些组件,而不会脱离本发明的范围和精神。 
在本上下文中,可编辑的对象指可被编辑的任意对象,并且由各种部分(此处被称为元素)构成,诸如计算机程序代码、多媒体文件或数据库等。因此,本发明适用于计算机程序开发环境、多媒体文件创作和编辑环境或数据库创建和维护环境等。对于计算机程序开发环境,程序代码文件的元素可以是一行代码、一个函数、一个结构、一个过程、一个子程序或由用户预先配置或动态指定的任何一段代码。对于多媒体文件创作和编辑 环境,可编辑的多媒体文件的元素可以是可由用户添加、删除或修改的多媒体文件的任何离散的部分,诸如文本、图形、音乐数据等。在本上下文中,多媒体文件包括文本文档、网页、视频文件、音频文件、图形文件和严格意义上的多媒体文件。而对于数据库创建和维护环境,数据库元素可以是数据库的各级别的构成元素,诸如记录、表等。在本发明中,将被收集并维护与原创性有关的信息的可编辑对象的元素可以是细化的,即,可由用户任意地预先配置或动态地指定可编辑对象的元素。以这种方式,可以记录和维护由不同作者创建的或来自不同来源的、可编辑对象的不同部分的不同的与原创性有关的信息。 
在本上下文中,与原创性有关的信息指关于可编辑对象的元素的这样的信息,其涉及所述元素的最初创建和后续的使用以及转移,并因此与相关方的责任和权利有关。关于元素的与原创性有关的信息包括元素创建者即谁最初编写了该元素(作者)以及以下各项中的一个或多个:元素的所有者,即,谁拥有该元素,因为某些时候,该创建者的雇主而不是创建者自己拥有该元素的知识产权;元素的导入者,即,谁在编辑过程中将该元素加入到可编辑的对象中;元素的来源,即,该元素来自何处(例如,对于计算机程序,该程序代码的任何部分是否来自于开放源码,该元素是否来自某专利或标准);该元素的编辑方法,即,该元素是如何被编辑的(例如,剪切并粘贴,作为文件复制,键入);对该元素的访问权,例如,对于多媒体文件,该文件是否包含其访问或者被禁止(例如,非法复制的音乐)或者被限制(例如,在访问权到期后,使用有商标的标识)的任何内容;对该元素的使用权(例如,“用户XYZ可以使用给定的元素5次,”或“用户XYZ可以使用该元素直到2010年10月20日/”);以及与该元素的创建、使用等有关的日期和时间信息。 
下面将结合如图2所示的根据本发明的优选实施例的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,详细描述系统100的操作以及其各种组件。然而,应指出,本发明的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法也可在具有与系统100的组件不同的 组件的系统中实现,只要本发明的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法的各步骤得到执行即可。为了易于说明,主要结合来自程序开发环境的例子给出下面的描述,然而应当理解,本发明的系统和方法同样适用于其他环境,诸如多媒体文件创作和编辑环境以及数据库创建和维护环境。 
如图2中所示,在开始之后,过程进到步骤201,在此用户通过认证模块101登录编辑器102,以便将自己连接到被编辑的对象,例如,某计算机程序代码;在不需要验证编辑对象的用户的身份的本发明实施例中,可以该过程可以没有认证步骤。有许多执行认证的标准方法,诸如用户/口令、Kerberos、Needham-Schroeder、PKI等,这些方法是本领域的技术人员公知的,因而此处不再描述。在认证之后,当用户按照需要对程序代码执行编辑操作时,在步骤202,编辑事件监视器103监视编辑操作,确定一元素已被编辑,诸如一行已被加入程序代码,并且通过元素编辑方法确定装置113确定该行被加入程序代码的方法,诸如键入文本,复制或剪切并粘贴等。 
在本发明中,有各种可用于编辑可编辑对象内的元素的方法,这些方法取决于被编辑的对象的类型,但是可以一般地分为两类:在正被编辑的对象中最初创建或编辑元素的那些方法,以及将已创建的元素从外部源引入正被编辑的对象的那些方法。第一类编辑方法包括:由编辑对象的用户通过用户输入设备输入元素,诸如在程序开发过程中通过键盘在程序代码文件中键入新的一行,以指示笔在图形文件中绘制图像,或通过附加到计算机系统上的麦克风或数字摄相机在多媒体文件中记录新的一段音频或视频,等等;由编辑对象的用户删除或修改可编辑对象内已有的元素,此处的术语修改应理解为修改可编辑对象的内容或者修改可编辑对象的格式;以及可编辑对象的存储版本的直接操纵等,例如以位级别编辑器修改包含可编辑对象的磁盘文件。第二类编辑方法包括从外部源导入元素,诸如从另一个程序开发项目的文件向一程序代码文件中复制或剪切并粘贴一段代码,从因特网向多媒体文件中复制或剪切并粘贴或插入图像,在多媒体文 件中附加图像文件、音频或视频文件等;引用,例如从计算机程序到Java库的引用,从歌曲内的一节对人或地点的引用,或从文档链接到一外部对象;以及继承,例如,使用作为已有Java类的扩展的Java类。 
一个现有的问题是,因为可编辑对象的元素可能被多个作者编辑,如果以前的作者添加的元素被后来的作者删除,则该元素以及其与原创性有关的信息将会丢失;并且如果以前的作者添加的元素被后来的作者修改,则该元素将丢失其与以前的作者和以前的与原创性有关的信息的关联。这样,不能跟踪可编辑对象的编辑历史。为了解决该问题,在本发明的第一个实施例中,编辑器102被适应于采用单调编辑方法,在该方法中,以程序代码为例,如果添加新行,则简单地添加该行,并如下所述记录与原创性有关的信息;如果删除一行,则保持该行和其以前的与原创性有关的信息不动,并且添加与要删除的行相同但是带有负号的新行以便抵消原始行,并且如下所述记录与该新行相关联的与原创性有关的信息;而如果对一行的某些部分进行修改,则该操作将被视为两个相继的操作:首先,以上述方式删除要修改的行,然后添加具有修改的新行,并且如下所述记录与该新行相关联的与原创性有关的信息。注意,可以根据可编辑对象的性质和用户的需求定义所述的行。以这种单调编辑方法,所有的编辑操作,包括删除和修改,将被视为一种添加。以这种方式,可以在可编辑对象的整个生命期内维护其编辑历史,没有作者能够消除任何其他作者的编辑和信息,并且清楚地维护了谁对可编辑对象的哪些部分负责的信息。 
在本发明的第二个实施例中,编辑器102被配置为通过将元素标记为被删除,删除可编辑对象中的已有元素,其中将以下面方式获得和维护被删除元素的与原创性有关的信息,并且编辑器102还被配置为通过删除元素的某些部分和/或向元素中添加某些其他部分,修改可编辑对象中的已有元素,其中这些删除的和/或添加的元素部分将被视为新删除和/或添加的元素,并且以下面描述的方式获得和维护它们的与原创性有关的信息。 
返回图2,在步骤202中确定已向程序代码添加了一行,并且确定了用于将该行添加到程序代码中的方法之后,编辑事件监视器102触发与原 创性有关的信息收集器104,并且在步骤203,与原创性有关的信息收集器104识别关于该行的与原创性有关的信息。具体地,与原创性有关的信息收集器104内的与原创性有关的信息分析器114基于由编辑事件监视器103确定的编辑可编辑对象中的元素的方法,自动地确定关于该元素的与原创性有关的信息,并且将该信息提供给后续步骤。如果编辑事件监视器103确定作者键入了某新代码行,则与原创性有关的信息分析器114将把该新代码行记录为由当前作者创建,并且从被从计算机系统检索到的用户信息中获得关于该代码行的与原创性有关的信息,其中认证步骤201已确保了用户信息的真实性。在本发明的第一个实施例中,如果作者删除或修改代码行,则与原创性有关的信息分析器114将保持原始行和其与原创性有关的信息不动,将带有负号的新添加的行和带有修改的新添加的行记录为由当前作者创建,并且从被从计算机系统检索到的用户信息以及删除或修改操作信息(例如,操作类型,操作时间等)中获得关于新添加的行的与原创性有关的信息。在本发明的第二个实施例中,如果作者删除或修改代码行,则与原创性有关的信息分析器114将保持原始行的与原创性有关的信息不动,并且将新删除的代码行或者删除或添加的代码行部分视为由当前作者创建的新元素,并且从被从计算机系统检索到的用户信息以及删除或添加操作信息中获得关于这些新元素的与原创性有关的信息。如果作者直接修改可编辑对象的存储版本,与原创性有关的信息分析器114也将把修改部分记录为由当前作者创建,并且从计算机系统检索到的用户信息以及修改操作信息中获得关于修改部分的与原创性有关的信息。 
在另一方面,如果编辑事件监视器103确定作者从另一作者的代码中复制或剪切并粘贴了某些行,或通过插入、附加、引用或继承将元素添加到可编辑对象内,并且这些行或元素已具有相关联的与原创性有关的信息,则与原创性有关的信息分析器114将自动地从这些代码行或元素本身获得与原创性有关的信息,并且简单地添加当前作者的信息作为导入者信息和添加导入操作信息,例如,从以前根据本发明开发的并且从而具有相关联的与原创性有关的信息的代码行或元素获得与原创性有关的信息,或从 DTD引用的作者标签中获得与原创性有关的信息,或从元素的Java父类内的版权指示符中获得与原创性有关的信息,或通过识别元素内的商标标识或专有内容获得与原创性有关的信息。 
此外,当前作者还可以通过手动输入信息收集器124手动地输入附加的与原创性有关的信息,例如,其是否在某些许可条款下复制了部分开放源码,或其是否使用了来自某些专利或标准的某些思想,或者对于该元素的访问权或使用权。作者认为有益于代码行的维护的任何信息均可被作为附加的与原创性有关的信息输入。 
接着,在步骤204,维护在步骤203中由与原创性有关的信息收集器203识别出的与原创性有关的信息和所述元素之间的关联。该步骤包括与原创性有关的信息记录器105将关于所述元素的与原创性有关的信息嵌入同一个可编辑对象,在该情况下,可以将与原创性有关的信息周期地归档,并且仅在可编辑对象中留下到该档案的链接,以防止可编辑对象的大小增长得过大;或者与原创性有关的信息记录器105在附加的文件中存储与所述元素相关联的与原创性有关的信息。可替代地或附加地,与原创性有关的信息记录器105还可以将与原创性有关的信息和相关联的元素存储在储存库中,该储存库可以由不同的可编辑对象和用户共享,并且可以在该储存库中查询所述元素以及相关联的与原创性有关的信息,包括查询给定元素的任何和全部已知的与原创性有关的信息,或查询具有给定的与原创性有关的信息的任何和全部元素。在计算机程序开发环境中,还可由对程序代码进行版本管理的同一SCM对与原创性有关的信息进行版本管理。 
在本发明的优选实施例中,根据公司的策略,作者可以选择是否对元素以及相关联的与原创性有关的信息进行数字签名,以便确保元素及其和与原创性有关的信息的关联的完整性和不可抵赖性(non-repudiation)。数字签名应当“跨越”元素以及与原创性有关的信息之间的关联,即,签名应当包括该关联的数据一即,元素和与原创性有关的信息—的某种表现(rendering),例如校验和,从而可以验证该关联(即,给定的元素和与原创性有关的信息事实上是关联在一起的),以及元素的内容和与原创性 有关的信息的内容两者。这样,如果所述元素被擅自窜改,而未经编辑系统记录,比如有人以其它方式打开所述对象,而非以本发明所描述的方式打开所述对象进行编辑(比如,通过其它编辑器打开),则与原创性有关的信息可能无法被记录下来,这时数字签名技术可以保证对当前的窜改者或日后的对象访问者提出警告,以告知该对象可能被窜改,而未经记录与原创性有关的信息。本发明将使得日后的项目管理COO更加简单,因为一旦发现有元素被窜改,该原创性声明中的内容可能不被采信。 
以这种方式,当在其他项目中重用该元素时,相应的与原创性有关的信息将伴随着它,从而可由以后的用户使用该与原创性有关的信息,并且仍被保持在新开发的可编辑对象内。因此,在元素重用过程中确保了与原创性有关的信息的一致性。 
在某些情况下,不仅需要确保元素和其与原创性有关的信息之间的关联,而且还要确保元素和其与原创性有关的信息以及整个可编辑对象间的关联。例如,在计算机程序开发中,在导入者将一段代码导入当前文档内并且出现了某个错误之后,不仅需要知道谁创建了该段代码,并且还要知道谁将该段代码导入该文档。因此,在本发明的进一步的实施例中,例如,导入者可以选择“跨越”被导入元素和与原创性有关的信息(包括导入者和导入操作信息)以及整个文档或被导入元素的上下文之间的关联进行数字签名,以便确保元素及其和与原创性有关的信息的关联以及其与整个文档的关联的完整性和不可抵赖性。 
在本发明的另一个方面,还提供了一种呈现由本发明的上述方法维护的关于可编辑对象内的元素的与原创性有关的信息的装置和方法。如图3中所示,根据本发明的一个实施例的用于呈现关于可编辑对象内的元素的与原创性有关的信息的装置300包括可编辑对象接收模块301(其是可选的),用于接收带有与原创性有关的信息的可编辑对象305;元素呈现模块302,用于在用户界面306内呈现出元素;与原创性有关的信息检索模块303,用于检索与元素相关联地维护的关于所述元素的与原创性有关的信息;以及与原创性有关的信息呈现模块304,用于在用户界面306内呈 现与元素相关联的与原创性有关的信息。 
应注意,用于呈现关于可编辑对象内的元素的与原创性有关的信息的装置300可与用于维护关于可编辑对象内的元素的与原创性有关的信息的系统100集成在一起,在该情况下,装置300的某些组件,尤其是可编辑对象接收模块301和元素呈现模块302,优选地对于装置300和系统100两者是共用的,例如,作为编辑器102的集成组件,并且在该情况下,装置300被用于本发明的维护可编辑对象内的元素的与原创性有关的信息的过程中,并且实际上构成本发明的系统100的一种呈现装置;或者,装置300可以是独立的装置,其被特别地用于呈现已由本发明的系统100维护的关于可编辑对象内的元素的与原创性有关的信息。 
下面将结合图4中所示的本发明的用于呈现关于可编辑对象内的元素的与原创性有关的信息的方法描述装置300以及其各个组件的操作。然而,应指出,本发明的用于呈现关于可编辑对象内的元素的与原创性有关的信息的方法也可在具有与装置300的组件不同的组件的装置中实现,只要本发明的用于呈现关于可编辑对象内的元素的与原创性有关的信息的方法的各步骤得到执行即可。 
如所示出的,在步骤401(其是可选的),可编辑对象接收模块301接收带有相关联的与原创性有关的信息的可编辑对象305,该与原创性有关的信息是以上述的根据本发明的实施例的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法维护的,并且被存储在相同的可编辑对象内,或是附加的文件内。然后,在步骤402,元素呈现模块302在用户界面306内呈现出由可编辑对象接收模块301接收的可编辑对象305中的元素。并且在步骤403,与原创性有关的信息检索模块303从可编辑对象305或该附加的文件中检索被与该元素相关联地维护的关于该元素的与原创性有关的信息,并且将该与原创性有关的信息传递给与原创性有关的信息呈现模块304。最后,在步骤404,与原创性有关的信息呈现模块304与已呈现出的元素相关联地在用户界面306内呈现该与原创性有关的信息。可以用本领域的技术人员知道的任何方法呈现与原创性有关的信息, 诸如,当用户点击元素时,填充与原创性有关的信息的列表,或通过在元素呈现窗口旁边的另一个窗口内显示与原创性有关的信息等。 
在本发明的再一方面,还提供了用于根据可编辑对象内的元素的如上述本发明的方法所维护的与原创性有关的信息来确定该元素与策略的符合性的装置和方法。如图5所示,根据本发明的实施例的用于确定可编辑对象内的元素与策略的符合性的装置500包括:策略设置模块501,其用于设置关于可编辑对象内的元素的、基于与原创性有关的信息的策略;查询接收模块502,其用于接收对于可编辑对象内的元素与预定策略的符合性的查询;与原创性有关的信息检索模块503,其用于检索与元素相关联地维护的与原创性有关的信息;符合性确定模块504,其用于根据元素的与原创性有关的信息确定该元素与策略的符合性;以及确定结果返回模块505,其用于返回指示元素与策略符合或不符合的确定结果。 
应指出,本发明的用于确定可编辑对象内的元素与策略的符合性的装置500可以与本发明的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统100集成在一起,并且在这种情况下,装置500被用于本发明的维护关于可编辑对象内的元素与原创性有关的信息的过程,并优选地用于可编辑对象编辑环境中,以便确保要添加到可编辑对象的元素符合策略;或者,装置500可以是独立的装置,被特别用于确定可编辑对象内的元素与预定策略的符合性。 
下面将联系图6所示的根据本发明的实施例的用于根据关于可编辑对象内的元素的与原创性有关的信息确定该元素与策略的符合性的方法来描述装置500及其各组件的操作。然而,应指出,本发明的用于根据关于可编辑对象内的元素的与原创性有关的信息确定该元素与策略的符合性的方法也可在具有与装置500不同的组件的装置中实现,只要本发明的用于根据关于可编辑对象内的元素的与原创性有关的信息确定该元素与策略的符合性的方法中的各步骤得到执行即可。 
如图所示,在步骤601,用户通过策略设置模块501设置关于可编辑对象内的元素的基于与原创性有关的信息的策略。该策略可以是由用户设 置的基于与原创性有关的信息的限制,例如,“没有来自开放源码的代码”。此后,在步骤602,查询接收模块502接收对于可编辑对象内的元素与策略的符合性的查询。该查询可以是由用户显性输入的,或是基于配置自动提出的,例如每当一元素被添加到可编辑对象时提出的。该查询可以是关于可编辑对象内的特定元素的符合性,或者可以是关于可编辑对象中一些或全部元素的符合性,或者可以是关于来自多个对象的、在如前所述的储存库中与其与原创性有关的信息相联系地维护的一些或全部元素的符合性。然后,在步骤603,根据该查询,与原创性有关的信息检索模块503从该可编辑对象305或附加的文件中检索与元素相关联地维护的与原创性有关的信息,并将该与原创性有关的信息传递给符合性确定模块504。在步骤604,符合性确定模块504通过将该元素的与原创性有关的信息与从策略设置模块获得的策略相比较来确定该元素与该策略的符合性。最后,在步骤605,确定结果返回模块505返回指示元素与策略符合或不符合的确定结果。例如,在集成的编辑环境中,如果在可编辑对象中正在编辑的元素违反了一个或多个限制,则编辑器提交通知/警告,从而避免不经意侵犯第三方的知识产权,或冒其他风险。 
本发明还可被实现为这样的方法,其中第一用户向第二用户提供如上所述存储着元素以及相应的与原创性有关的信息的储存库,从而第二用户可以查询并检索元素和相应的与原创性有关的信息;或可被实现为这样的方法,其中第一用户给第二用户提供对于其数据被存储在储存库内的可编辑对象的原创性声明。 
本发明还可被实现为这样的方法,一种检索由本发明中的任何一个方法维护的关于可编辑对象内的元素的与原创性有关的信息的方法,包括:确定待检索的可编辑对象内的元素的检索范围;获取检索条件;检索与所述元素相关联地维护的关于所述元素的与原创性有关的信息;返回所述检索结果。比如某一用户想要查询在某一程序代码中是否包含由某一特定作者所输入的代码,则根据检索条件“特定作者”,对与该段代码与原创性有关的信息进行检索。检索后可以将相关信息返回给用户,所述检索结果 可以包括(但不限于),由该“特定作者”输入的代码段等等。其中的确定步骤,即可以是确定一篇完整的可编辑对象作为检索范围,也可以是确定若干篇完整的可编辑对象作为检索范围,同时还可以是确定某一存储区域内的所有可编辑对象作为检索范围,或者也可以是确定一篇可编辑对象中的一个或多个元素作为检索范围。本领域的普通技术人员理解,尽管未在图中示出,本发明还包含与上述方法所对应的装置产品。 
上面已经详细描述了根据本发明的实施例的维护关于可编辑对象内的元素的与原创性有关的信息的系统和方法,呈现关于可编辑对象内的元素的与原创性有关的信息的装置和方法,根据可编辑对象内的元素的与原创性有关的信息来确定该元素与策略的符合性的装置和方法,以及与存储元素和与原创性有关的信息的储存库相关的方法,应当理解,仅出于示例的目的给出了所述系统的各个组件以及所述装置和该方法的步骤,因而不应被认为是将本发明限制为给出的精确形式。例如,本发明的系统和装置的某些组件可以不是离散的组件,而是可以组合在一起,或可以被进一步分离,并且它们的相互关系可以是不同的,只要实现了由这些组件执行的功能即可。类似地,本发明的方法的步骤可以有不同的顺序,可以忽略某些步骤,可以增加某些新步骤,而不脱离本发明的基本特性和原理。 
本领域的技术人员将理解,可以使用根据本公开的教导被编程的、常规的通用或专用数字计算机或一个或多个微处理器实现本发明的一个实施例。如本领域的技术人员所理解的,可由熟练的程序员基于本公开的教导,容易地准备适当的软件编码。同样如本领域的技术人员易于理解的,还可以通过集成电路的准备或通过互连常规组件电路的适当网络实现本发明。 
本发明的一个实施例包括计算机程序产品,其是具有存储于其中的指令的存储介质,可以使用所述指令对计算机进行编程,以便执行此处给出的任何特征。该存储介质可以包括,但不限于,任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微驱动器、和光磁光盘,ROM,RAM,EPROM,EEPROM,DRAM,VRAM,闪速存储器设备,磁或光卡,纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的介质或设 备。 
图5示出了优选地可以实现本发明的通用计算机系统700。然而,仅出于示例的目的提供了示出的计算机系统700。可以用可以包含更多,更少或不同的组件的其他适合的硬件体系结构或环境实现本发明。如所示出的,系统700包括中央处理器单元(CPU)701、主存储器702、输入/输出控制器703、高速缓冲存储器704、用户接口设备705(例如,键盘、鼠标、麦克风、照相机等)、存储介质706、显示屏707、通信接口708(例如,网卡、调制解调器、或综合服务数字网络(ISDN)卡等)、和系统时钟(在图7中未示出)。系统710中可以包括一个或多个输入/输出设备,诸如打印或扫描设备。双向系统总线709提供了用于在这些系统组件之间通信的机构。该系统本身可以通过通信接口708与其他系统通信。还可以使用无线链路。在任何这种实现中,通信接口708可以发送和接收承载表示各种类型的信息的数字数据流的电子的、电磁的或光的信号。 
在这种计算机系统内,存储介质706一般具有存储在其中的指令的软件模块,所述软件模块当被装入存储器702并且由处理器701执行时,使得计算机系统执行本发明的方法的各步骤,因此当被执行时,这些软件模块与通用的硬件组件诸如计算机系统的CPU701、存储器702、用户接口设备705和显示屏707等结合,形成本发明的系统和装置的组件。 
图8示出了可以在其中实现本发明的客户机/服务器环境。这是企业中典型的团队工作环境,其中每个开发者工作于其自己的客户计算机700处,可以在客户计算机700中实现本发明的方法、系统和装置或其一部分,并且客户计算机700可以通过服务器计算机801彼此通信。根据本发明的实施例的用于存储元素和相关的与原创性有关的信息的储存库107可以位于连接到服务器计算机801的存储介质内,从而开发者可以方便地共享他们的对象。 
出于说明和描述的目的提供了本发明的优选实施例的上述描述。该描述不旨在是无穷尽性的或将本发明限制为公开的精确形式。对于本领域的技术人员而言许多修改和变形是明显的。选择并且描述这些实施例以便最 好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员可以理解本发明以及适合于构想出的特定使用的具有各种修改的各种实施例。本发明的范围应由下面的权利要求及其等同物定义。 

Claims (36)

1.一种用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,包括下面的步骤:
确定元素已被在所述可编辑对象内编辑,所述确定步骤进一步包括确定在所述可编辑对象内编辑所述元素的方法;
识别关于所述元素的与原创性有关的信息,其中所述与原创性有关的信息包括所述元素的创建者,并且所述识别步骤进一步包括根据在所述可编辑对象内编辑所述元素的方法,自动地识别关于所述元素的与原创性有关的信息,其中所述元素的创建者为最初编写该元素的作者;以及
维护关于所述元素的与原创性有关的信息和所述元素之间的关联。
2.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述与原创性有关的信息还包括以下各项中的一个或多个:
所述元素的所有者;
所述元素的导入者;
所述元素的来源;
所述元素的编辑方法;
所述元素的访问权;
所述元素的原创性声明;以及
有关的日期和时间信息。
3.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中在所述可编辑对象内编辑所述元素的方法包括以下各项中的任何一个:
由编辑所述可编辑对象的用户输入所述元素;
删除已有元素;
修改已有元素;
导入;
引用;
继承;以及
对可编辑对象的存储版本的直接操纵。
4.如权利要求3的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述导入包括复制或剪切并且粘贴、插入以及附加中的任何一个。
5.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述识别关于所述元素的与原创性有关的信息的步骤还包括:
从编辑所述可编辑对象的用户处交互地获得关于所述元素的与原创性有关的信息。
6.如权利要求5的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述自动地识别关于所述元素的与原创性有关的信息的步骤包括:
在已经通过导入、引用或继承在所述可编辑对象内编辑所述元素的情况下,通过提取已经与所述元素相关联的与原创性有关的信息,并且添加编辑所述可编辑对象的用户的用户信息作为导入者信息以及导入操作信息,来获得关于所述可编辑对象内的所述元素的与原创性有关的信息;以及
在已经通过来自编辑所述可编辑对象的用户的输入、删除已有元素、修改已有元素或对所述可编辑对象的存储版本直接操纵,在所述可编辑对象内编辑所述元素的情况下,从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息。
7.如权利要求6的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中:
在已经通过删除已有元素在所述可编辑对象内编辑所述元素的情况下,
所述可编辑对象内的已有元素是通过添加与已有元素相同但是带有负号的新元素而被删除的,并且
所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括从编辑所述可编辑对象的用户的用户信息和删除操作信息中获得关于带有负号的所述新元素的与原创性有关的信息;以及
在已经通过修改已有元素在所述可编辑对象内编辑所述元素的情况下,
所述可编辑对象内的已有元素是通过以上述方式删除所述已有元素并且然后添加带有修改的新元素来修改的,并且
所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括从编辑所述可编辑对象的用户的用户信息和修改操作信息中获得关于带有负号的所述新元素和带有修改的所述新元素的与原创性有关的信息。
8.如权利要求6的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中:
在已经通过删除已有元素在所述可编辑对象内编辑所述元素的情况下,
所述可编辑对象内的已有元素是通过将所述已有元素标记为被删除来删除的,并且
所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括从编辑所述可编辑对象的用户的用户信息和删除操作信息中获得关于被删除元素的与原创性有关的信息;以及
在已经通过修改已有元素在所述可编辑对象内编辑所述元素的情况下,
所述可编辑对象内的已有元素是通过删除所述已有元素的部分内容和/或在所述已有元素中添加部分内容来修改的,并且
所述从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息的步骤包括将所述删除和/或添加的已有元素的部分视为新删除和/或添加的元素,并且以上述通过删除已有元素编辑所述可编辑对象内的元素的方式,获得关于这些新删除元素的与原创性有关的信息,和/或以权利要求6中提出的通过编辑所述可编辑对象的用户的输入编辑所述可编辑对象内的元素以获得关于这些新添加元素的与原创性有关的信息。
9.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括将所述与原创性有关的信息嵌入在同一个可编辑对象内,或将与原创性有关的信息存储在附加的文件内。
10.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括以与所述元素相关联的方式将所述与原创性有关的信息存储在储存库中,所述储存库可被配置为由不同的可编辑对象共享,并且可被配置为可对元素和相关联的与原创性有关的信息进行查询。
11.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括跨越所述元素和所述与原创性有关的信息之间的关联进行数字签名。
12.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括跨越所述元素和所述与原创性有关的信息以及所述可编辑对象之间的关联进行数字签名。
13.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,还包括认证编辑所述可编辑对象的用户。
14.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述维护关于所述元素的与原创性有关的信息和所述元素之间的关联的步骤包括当将来重用所述元素时,保持关于所述元素的与原创性有关的信息和所述元素之间的关联。
15.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述可编辑对象是计算机程序代码,并且所述元素是行、函数、结构、过程、子程序和由用户指定的一段代码中的任何一个。
16.如权利要求1的用于维护关于可编辑对象内的元素的与原创性有关的信息的方法,其中所述可编辑对象是多媒体文件和数据库中的任何一个,并且所述元素是其自然组件或由用户指定的其任何部分。
17.一种检索由权利要求1-16中的任何一个的方法维护的关于可编辑对象内的元素的与原创性有关的信息的方法,包括:
确定待检索的可编辑对象内的元素的检索范围;
获取检索条件;
检索与所述元素相关联地维护的关于所述元素的与原创性有关的信息;
返回所述检索的结果。
18.一种呈现由权利要求1-16中的任何一个的方法维护的关于可编辑对象内的元素的与原创性有关的信息的方法,包括:
在用户界面内呈现所述可编辑对象内的元素;
检索与所述元素相关联地维护的关于所述元素的与原创性有关的信息;和
在所述用户界面内与所述元素相关联地呈现所述与原创性有关的信息。
19.一种根据权利要求1-16中的任何一个方法所维护的关于可编辑对象内的元素的与原创性有关的信息来确定该元素与策略的符合性的方法,包括:
接收关于该元素与预定策略的符合性的查询;
检索与该元素相关联地维护的关于该元素的与原创性有关的信息;
根据该元素的与原创性有关的信息确定该元素与该策略的符合性;以及
返回指示该元素与该策略符合或不符合的结果。
20.一种用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,包括:
编辑事件监视器,用于确定已在所述可编辑对象内编辑了元素,所述编辑事件监视器还包括用于确定在所述可编辑对象内编辑所述元素的方法的装置;
与原创性有关的信息收集器,用于识别关于所述元素的与原创性有关的信息,其中所述与原创性有关的信息包括所述元素的创建者,并且所述与原创性有关的信息收集器进一步包括与原创性有关的信息分析器,所述与原创性有关的信息分析器进一步用于根据在所述可编辑对象内编辑所述元素的方法,自动地识别关于所述元素的与原创性有关的信息,其中所述元素的创建者为最初编写该元素的作者;以及
与原创性有关的信息记录器,用于记录与所述元素相关联的与原创性有关的信息。
21.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,其中所述与原创性有关的信息还包括以下各项中的一个或多个:
所述元素的所有者;
所述元素的导入者;
所述元素的来源;
所述元素的编辑方法;
所述元素的原创性声明;
所述元素的使用权;以及
有关的日期和时间信息。
22.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,其中在所述可编辑对象内编辑所述元素的方法包括以下各项中的任何一个:
由编辑所述可编辑对象的用户输入所述元素;
删除已有元素;
修改已有元素;
导入;
引用;
继承;以及
对可编辑对象的存储版本的直接操纵。
23.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,其中所述与原创性有关的信息收集器还包括:
手动输入信息收集器,用于从编辑所述可编辑对象的用户处交互地获得关于所述元素的与原创性有关的信息。
24.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,其中所述与原创性有关的信息分析器被配置为用于:
在已经通过导入、引用或继承在所述可编辑对象内编辑所述元素的情况下,通过提取已经与所述元素相关联的与原创性有关的信息,并且添加编辑所述可编辑对象的用户的用户信息作为导入者信息以及导入操作信息,来获得关于所述可编辑对象内的所述元素的与原创性有关的信息;以及
在已经通过来自编辑所述可编辑对象的用户的输入、删除已有元素、修改已有元素或对所述可编辑对象的存储版本的直接操纵,在所述可编辑对象内编辑所述元素的情况下,从编辑所述可编辑对象的用户的用户信息和编辑操作信息中获得关于所述元素的与原创性有关的信息。
25.如权利要求24的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,还包括用于编辑所述可编辑对象的编辑器,其中所述编辑器被配置为通过添加与已有元素相同但是带有负号的新元素,来删除所述可编辑对象内的已有元素,并且被配置为通过以上述方式删除所述已有元素,并且然后添加带有修改的新元素,来修改所述可编辑对象内的已有元素;以及
其中所述与原创性有关的信息分析器被配置为用于,
在所述编辑器已经通过添加与已有元素相同但是带有负号的新元素,在所述可编辑对象内删除已有元素的情况下,从编辑所述可编辑对象的用户的用户信息和删除操作信息中获得关于带有负号的所述新元素的与原创性有关的信息;并且
在所述编辑器通过以上述方式删除所述已有元素,并且然后添加带有修改的新元素,来在所述可编辑对象内修改已有元素的情况下,从编辑所述可编辑对象的用户的用户信息和修改操作信息中获得关于带有负号的所述新元素和带有修改的所述新元素的与原创性有关的信息。
26.如权利要求24的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,还包括用于编辑所述可编辑对象的编辑器,其中所述编辑器被配置为通过将已有元素标记为被删除,来删除所述可编辑对象内的已有元素,并且被配置为通过删除所述已有元素的部分内容和/或在所述已有元素中添加部分内容,来修改所述可编辑对象内的已有元素;以及
其中所述与原创性有关的信息分析器被配置为用于,
当编辑器已经通过将所述已有元素标记为被删除,来删除所述已有元素时,从编辑所述可编辑对象的用户的用户信息和删除操作信息中获得关于被删除元素的与原创性有关的信息;并且
当编辑器已经通过删除所述已有元素的部分内容和/或在所述已有元素中添加部分内容,来修改所述已有元素时,将所述删除和/或添加的已有元素的部分内容视为新删除和/或添加的元素,并且以上述通过删除已有元素来编辑所述可编辑对象内的元素的方式,获得关于这些新删除元素的与原创性有关的信息,和/或通过编辑所述可编辑对象的用户的输入来编辑所述可编辑对象内的元素以获得关于这些新添加元素的与原创性有关的信息。
27.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,其中所述与原创性有关的信息记录器被配置为将所述与原创性有关的信息嵌入在同一个可编辑对象内,或将所述与原创性有关的信息存储在附加的文件内。
28.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,还包括储存库,所述与原创性有关的信息被以与所述元素相关联的方式存储在该储存库中,并且所述储存库可被配置为由不同的可编辑对象共享,并且可被配置为可对元素和相关联的与原创性有关的信息进行查询。
29.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,还包括签名模块,其用于跨越所述元素和所述与原创性有关的信息之间的关联进行数字签名,和/或用于跨越所述元素和所述与原创性有关的信息以及所述可编辑对象之间的关联进行数字签名。
30.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,还包括认证模块,其用于认证编辑所述可编辑对象的用户。
31.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,还被配置为当将来重用所述元素时,保持关于所述元素的与原创性有关的信息和所述元素之间的关联。
32.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,其中所述可编辑对象是计算机程序代码,并且所述元素是行、函数、结构、过程、子程序和由用户指定的一段代码中的任何一个。
33.如权利要求20的用于维护关于可编辑对象内的元素的与原创性有关的信息的系统,其中所述可编辑对象是多媒体文件和数据库中的任何一个,并且所述元素是其自然组件或由用户指定的其任何部分。
34.一种检索由权利要求1-16中的任何一个的方法维护的关于可编辑对象内的元素的与原创性有关的信息的装置,包括:
确定模块,用于确定待检索的可编辑对象内的元素的检索范围;
获取模块,用于获取检索条件;
检索模块,用于检索与所述元素相关联地维护的关于所述元素的与原创性有关的信息;
返回模块,用于返回所述检索的结果。
35.一种用于呈现由权利要求1-16中的任何一个的方法维护的关于可编辑对象内的元素的与原创性有关的信息的装置,包括:
元素呈现模块,其用于在用户界面内呈现所述可编辑对象内的元素;
与原创性有关的信息检索模块,其用于检索与所述元素相关联地维护的关于所述元素的与原创性有关的信息;以及
与原创性有关的信息呈现模块,其用于在所述用户界面内与所述元素相关联地呈现所述与原创性有关的信息。
36.一种用于根据权利要求1-16中的任何一个方法所维护的关于可编辑对象内的元素的与原创性有关的信息来确定该元素与策略的符合性的装置,包括:
查询接收模块,其用于接收关于该元素与预定策略的符合性的查询;
与原创性有关的信息检索模块,其用于检索与该元素相关联地维护的关于该元素的与原创性有关的信息;
符合性确定模块,其用于根据该元素的与原创性有关的信息确定该元素与该策略的符合性;以及
确定结果返回模块,其用于返回指示该元素与该策略符合或不符合的结果。
CN2006101077241A 2006-07-21 2006-07-21 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统 Expired - Fee Related CN101110020B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2006101077241A CN101110020B (zh) 2006-07-21 2006-07-21 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统
US11/780,583 US7769787B2 (en) 2006-07-21 2007-07-20 Method and system for maintaining originality-related information about elements in an editable object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101077241A CN101110020B (zh) 2006-07-21 2006-07-21 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统

Publications (2)

Publication Number Publication Date
CN101110020A CN101110020A (zh) 2008-01-23
CN101110020B true CN101110020B (zh) 2011-01-26

Family

ID=38972639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101077241A Expired - Fee Related CN101110020B (zh) 2006-07-21 2006-07-21 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统

Country Status (2)

Country Link
US (1) US7769787B2 (zh)
CN (1) CN101110020B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473893B2 (en) * 2008-09-30 2013-06-25 Accurev, Inc. Integration of external software analysis processes with software configuration management applications
US9292276B1 (en) 2004-07-19 2016-03-22 Micro Focus (IP) Development Limited Method and system for utilizing change packages
US8548967B1 (en) 2007-12-12 2013-10-01 Accurev, Inc. System for visual query and manipulation of configuration management records
US8341590B1 (en) 2007-12-12 2012-12-25 Accurev, Inc. System for relating workflow status to code component status in a software project
US8667465B2 (en) * 2008-03-31 2014-03-04 Accurev, Inc. System for estimating a software product release time from version information
US8589878B2 (en) * 2007-10-22 2013-11-19 Microsoft Corporation Heuristics for determining source code ownership
US20090193392A1 (en) * 2008-01-29 2009-07-30 Michael David Downen Dynamic intermediate language modification and replacement
US8171458B2 (en) * 2008-10-10 2012-05-01 International Business Machines Corporation Method for source-related risk detection and alert generation
US8635591B2 (en) * 2008-12-18 2014-01-21 International Business Machines Corporation Embedding software developer comments in source code of computer programs
US20100223469A1 (en) * 2009-02-27 2010-09-02 International Business Machines Corporation Method, System and Computer Program Product for Certifying Software Origination
US8122274B2 (en) * 2009-02-27 2012-02-21 International Business Machines Corporation Method, system and computer program product for certifying a timestamp of a data processing system
CN101739340B (zh) * 2009-12-17 2012-06-06 金蝶软件(中国)有限公司 一种脚本文件的验证方法和装置
FR2962826B1 (fr) 2010-07-13 2012-12-28 Eads Defence & Security Sys Supervision de la securite d'un systeme informatique
US8719239B2 (en) * 2010-07-16 2014-05-06 International Business Machines Corporation Displaying changes to versioned files
US9015118B2 (en) 2011-07-15 2015-04-21 International Business Machines Corporation Determining and presenting provenance and lineage for content in a content management system
US9384193B2 (en) 2011-07-15 2016-07-05 International Business Machines Corporation Use and enforcement of provenance and lineage constraints
US9286334B2 (en) 2011-07-15 2016-03-15 International Business Machines Corporation Versioning of metadata, including presentation of provenance and lineage for versioned metadata
US9418065B2 (en) 2012-01-26 2016-08-16 International Business Machines Corporation Tracking changes related to a collection of documents
US11429651B2 (en) 2013-03-14 2022-08-30 International Business Machines Corporation Document provenance scoring based on changes between document versions
US20150193521A1 (en) * 2014-01-09 2015-07-09 Google Inc. Methods for Generating an Activity Stream
US11210362B2 (en) 2014-05-31 2021-12-28 International Business Machines Corporation Script logging for markup language elements
CN105447016B (zh) * 2014-08-18 2018-09-14 北大方正集团有限公司 一种组件的快速搜索及重用的办法
CN107861712A (zh) * 2016-09-26 2018-03-30 平安科技(深圳)有限公司 开发日志的生成方法及系统
CN107026841B (zh) * 2016-11-24 2021-07-30 创新先进技术有限公司 在网络中发布作品的方法和装置
CN106651996B (zh) * 2016-12-20 2020-04-07 广州视源电子科技股份有限公司 文稿编辑工具中元素层级的管理方法及装置
CN107229529A (zh) * 2017-06-23 2017-10-03 广州神马移动信息科技有限公司 页面内容版权信息管理方法、装置、计算设备及存储介质
CN111259218B (zh) * 2020-01-09 2020-10-27 中国搜索信息科技股份有限公司 一种原创新闻信息识别方法
CN113448328B (zh) * 2020-03-27 2024-09-24 北京京东乾石科技有限公司 车辆导航定位方法、车辆以及存储介质
CN117251143B (zh) * 2023-11-14 2024-02-06 武汉万云网络科技有限公司 一种应用系统、构建方法及其可视化开发工具的实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574898A (en) * 1993-01-08 1996-11-12 Atria Software, Inc. Dynamic software version auditor which monitors a process to provide a list of objects that are accessed
US6009427A (en) * 1996-08-02 1999-12-28 Hewlett Packard Company Method and apparatus for distributed control of a database

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535392A (en) 1992-06-26 1996-07-09 Digital Equipment Corporation Using hint generation to cause portions of object files to remain the same
US6091896A (en) 1995-12-22 2000-07-18 Hewlett-Packard Company Debugging optimized code using data change points
GB9604987D0 (en) * 1996-03-08 1996-05-08 Ibm Data management system and method for replicated data
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
GB9825102D0 (en) 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US6698013B1 (en) 2000-10-04 2004-02-24 Mintaka Technology Group Real time monitoring system for tracking and documenting changes made by programmer's during maintenance or development of computer readable code on a line by line basis and/or by point of focus
US7330830B1 (en) * 2000-10-25 2008-02-12 Thomson Financial Inc. Distributed commerce system
US20030120593A1 (en) * 2001-08-15 2003-06-26 Visa U.S.A. Method and system for delivering multiple services electronically to customers via a centralized portal architecture
US20040177343A1 (en) 2002-11-04 2004-09-09 Mcvoy Lawrence W. Method and apparatus for understanding and resolving conflicts in a merge
US7707564B2 (en) 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
US7584458B2 (en) 2003-10-02 2009-09-01 Microsoft Corporation Source code annotation language
JP4368184B2 (ja) * 2003-11-19 2009-11-18 株式会社日立製作所 ブラックリストによる緊急アクセス遮断装置
US7788638B2 (en) * 2003-11-21 2010-08-31 Citigroup Global Markets Inc. Method and system for data file processing
US7409675B2 (en) 2004-02-27 2008-08-05 Microsoft Corporation Code rewriting
US20050216528A1 (en) * 2004-03-12 2005-09-29 Onfolio, Inc. Sharing collection-file contents
US7614040B2 (en) 2004-05-22 2009-11-03 Bea Systems, Inc. System and method for efficiently analyzing and building interdependent resources in a software project
US8707251B2 (en) 2004-06-07 2014-04-22 International Business Machines Corporation Buffered viewing of electronic documents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574898A (en) * 1993-01-08 1996-11-12 Atria Software, Inc. Dynamic software version auditor which monitors a process to provide a list of objects that are accessed
US6009427A (en) * 1996-08-02 1999-12-28 Hewlett Packard Company Method and apparatus for distributed control of a database

Also Published As

Publication number Publication date
US7769787B2 (en) 2010-08-03
US20080021922A1 (en) 2008-01-24
CN101110020A (zh) 2008-01-23

Similar Documents

Publication Publication Date Title
CN101110020B (zh) 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统
CN110602248B (zh) 异常行为信息的识别方法、系统、装置、设备及介质
CN108292231B (zh) 从数据生成应用的方法和系统
CN1754166B (zh) 文档集内容空间的导航
CN112241506B (zh) 用户行为的回溯方法、装置、设备及系统
CN111868768A (zh) 用于资产管理的访问受控分布式账本系统
CN103348341A (zh) 用于在用户界面的帮助下为数字样本编译唯一的样本代码的用户友好的方法和系统
CN104798066A (zh) 检测编辑之间的关系并且对编辑的子集有所行动
US20070174762A1 (en) Personal web page annotation system
US20050108174A1 (en) Copy detection for digitally-formatted works
CN102804202B (zh) 内容网格搜索
CN102637188A (zh) 用于web应用的可扩展模板管道
CN105335511A (zh) 网页的访问方法及装置
US11418592B2 (en) Uploading user and system data from a source location to a destination location
CN104520834A (zh) 用于向第三方应用端到端地暴露原生数据类型的导出的表示的系统和方法
CN104205099A (zh) 用于集中式问题跟踪的方法和系统
US10586295B2 (en) Updateable electronic digital assets will or trust method and systems with real time access for updated designated will or trust elements
US20230109369A1 (en) First copyright holder authentication system using blockchain, and method therefor
CN103150339A (zh) 产品说明书的提供方法、系统及母书服务器
CN114139503A (zh) 文档内容处理方法、装置、设备及存储介质
US10261941B2 (en) Digital aging system and method for operating same
US9690795B1 (en) Data repository configured for facilitating point in time retrieval of content
JP6015546B2 (ja) 情報処理装置、情報処理方法、プログラム
CN112215015A (zh) 翻译文本修订方法、装置、计算机设备和存储介质
CN111931037A (zh) 一种朗读作品推荐方法、装置、设备及存储介质

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110126

Termination date: 20200721