CN104106066A - 用于查看和操纵在时间参考点处的产物的系统 - Google Patents
用于查看和操纵在时间参考点处的产物的系统 Download PDFInfo
- Publication number
- CN104106066A CN104106066A CN201380008803.5A CN201380008803A CN104106066A CN 104106066 A CN104106066 A CN 104106066A CN 201380008803 A CN201380008803 A CN 201380008803A CN 104106066 A CN104106066 A CN 104106066A
- Authority
- CN
- China
- Prior art keywords
- product
- draft
- drafts
- trackability
- time reference
- 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.)
- Granted
Links
- 230000002123 temporal effect Effects 0.000 title abstract 2
- 238000000034 method Methods 0.000 claims description 54
- 230000009471 action Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 16
- 238000013459 approach Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 239000000047 product Substances 0.000 description 248
- 230000006870 function Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 7
- 230000005055 memory storage Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- IUVCFHHAEHNCFT-INIZCTEOSA-N 2-[(1s)-1-[4-amino-3-(3-fluoro-4-propan-2-yloxyphenyl)pyrazolo[3,4-d]pyrimidin-1-yl]ethyl]-6-fluoro-3-(3-fluorophenyl)chromen-4-one Chemical compound C1=C(F)C(OC(C)C)=CC=C1C(C1=C(N)N=CN=C11)=NN1[C@@H](C)C1=C(C=2C=C(F)C=CC=2)C(=O)C2=CC(F)=CC=C2O1 IUVCFHHAEHNCFT-INIZCTEOSA-N 0.000 description 1
- 240000004859 Gamochaeta purpurea Species 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000013066 combination product Substances 0.000 description 1
- 229940127555 combination product Drugs 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- XGVXKJKTISMIOW-ZDUSSCGKSA-N simurosertib Chemical compound N1N=CC(C=2SC=3C(=O)NC(=NC=3C=2)[C@H]2N3CCC(CC3)C2)=C1C XGVXKJKTISMIOW-ZDUSSCGKSA-N 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
Abstract
在一个方面中,一种用于查看和操纵在时间参考点处的产物的系统可以包括:与多个产物中的每一个相关联的一个或多个产物草案,所述一个或多个产物草案中的每一个表示相关联的产物在一时间点处的状态、以及命令堆栈中的将所述每一个产物草案的父代变换成所述每一个产物草案的一个或多个命令。多个可追溯性链接和可追溯性顶点表示多个产物的所述一个或多个产物草案之间的联系,其中可追溯性链接包括多个产物中的一产物的产物草案和多个产物中的另一产物的产物草案之间的边缘,多个产物中的一产物的所述产物草案和多个产物中的另一产物的产物草案形成可追溯性顶点。
Description
技术领域
本申请一般涉及计算机和计算机应用,并且更特别地涉及操纵在时间参考点处的产物。
背景技术
知识通常跨越一组数字产物或文件(诸如文本文件、图像、二进制文件、源代码、专有应用文件等)被捕捉和碎片化。在捕捉或创建这种知识的过程中,所述一组数字产物中的各产物之间的隐含关系被创建和/或假定。为了理解或查看知识在给定时间的状态,人们必须经常在捕捉的产物在当时存在时检查捕捉的产物的全部或许多。
知识的类型及其捕捉产物可以变化很大。示例包括:在文字处理文档、电子数据表、图像、图表等中捕捉的人类可理解的知识;在源代码、二进制文件、配置文件等中捕捉的可执行“知识”;在分布式事务系统中捕捉的分布式事务知识;在构成流程的各种系统和服务中捕捉的业务流程知识;在并行/多线程程序的运行中捕捉的进程/线程知识。
存在捕捉并使各种类型的知识相关的系统。这种系统的示例包括依赖关系管理系统、版本控制系统、内容管理系统。这些系统仅捕捉在指定的点处的产物状态(例如经由版本、里程碑、提交点);而并非捕捉将产物从状态N变换到状态N+1的动作/变更的集合。产物之间的导航和关系是围绕产物在指定的点处的状态而组织的并且被局限于产物在指定的点处的状态。
如果指定的点(例如版本、里程碑、提交点)对于给定的时间点而言不存在,则在该给定的时间点查看一组相关产物的状态是不可能的。在本领域的当前状态中,用户不能够访问一组产物在时刻Y存在时的状态,和/或不能够从所述产物在时刻Y的状态开始创建所述产物的新状态,其中Y并不是现在、并且在时刻Y的状态并没有通过版本、里程碑、提交点或由已知方法捕捉的另一种这样的指定点而被明确地捕捉。这种无能为力呈现出协同知识创建和发现、分布式和/或并行系统的调试、法务知识发现等中的限制因素。
此外,在本领域的当前状态中,产物必须处于这些系统的单个实例/安装的控制下,以便使它们彼此相关且因此重新创建捕捉的/碎片化的知识。在一个或多个产物完全存在于系统的层级结构外部的情况下,产物之间的关系不能被捕捉或导航。
发明内容
在一个方面中,一种用于查看和操纵在时间参考点处的产物的系统可以包括:与多个产物中的每一个相关联的一个或多个产物草案。产物草案中的每一个可以表示相关联的产物在一时间点处的状态、以及命令堆栈中的将产物草案的父代变换成该产物草案的一个或多个命令。多个可追溯性链接和可追溯性顶点可以表示产物草案之间的联系。可追溯性链接可以包括多个产物中的一产物的产物草案和多个产物中的另一产物的产物草案之间的边缘。多个产物中的一产物的产物草案和多个产物中的另一产物的产物草案可以形成可追溯性顶点。模块可操作以在处理器上执行并经由多个可追溯性链接从参考时间点导航通过多个产物中的一个或多个产物。
在一个方面中,一种用于查看和操纵在时间参考点处的产物的方法可以包括:接收编辑第一产物的命令。该方法还可以包括:将时间戳添加到命令中。该方法还可以包括:将命令存储在命令堆栈中。该方法还可以包括:存储第一产物的当前状态和命令堆栈作为产物草案。该方法还可以包括:响应于检测到命令是访问第二产物的动作,创建所述产物草案和与所述第二产物相关联的第二产物草案之间的可追溯性链接。
还可以提供一种计算机可读存储介质,其存储可由机器执行的指令程序以执行在此描述的一个或多个方法。
在下面参考附图详细描述另外的特征以及各种实施例的结构和操作。在附图中,相同的附图标记指示相同或功能类似的元件。
附图说明
图1A-1B示出在一个实施例中本公开的系统和方法的使用情况。
图2是示出在一个实施例中本公开的系统的组件的系统图。
图3示出在本公开一个实施例中发送命令给TCS的示例。
图4示出在本公开一个实施例中创建产物草案的示例。
图5示出在本公开一个实施例中用于创建可追溯性链接的示例序列流。
图6示出说明在本公开一个实施例中用户可以查看不同产物的状态的情景的示例序列流。
图7示出在本公开一个实施例中可以实现时间控制系统的示例计算机或处理系统的示意图。
具体实施方式
在一个实施例中本公开提供了一种系统和方法,用于查看和操纵在先前的时间点存在时的产物领域中的产物。例如,查看产物x在时间y时的状态的用户(其中用户是人类或自动化系统)可以选择查看处于时间y时的状态的由系统的用户查看的其他产物。用户可以可选地对于一个或多个产物向前分支出新路径,其中产物的新分支的起始状态是产物在时间y的状态。用户可以遍历产物草案图,其中产物草案通过可追溯性链接被连接,使得查看产物x的状态会使用户能够查看处于去往产物x的每个连接被创建的时间点的状态的连接到x的所有产物。
一般地,产物指在项目或作业中使用或创建的组件或条目。产物可以是数字产物,例如信息技术系统中的组件或条目(诸如文件、图像、二进制文件、源代码、专有应用文件等),其可以存储在存储器装置中并可经由计算机处理器访问。因此感兴趣的产物领域可以是计算系统。本申请的系统和方法还可以适用于可以用状态和转变描述并且可以映射到计算系统的任何其他类型的系统(例如机械或化学系统)的计算说明。那些系统中的组件可以描述或表示为数字产物。本公开的系统和方法尤其提供了用于数字产物的时间撤销和/或执行机制。
图1A-1B示出在一个实施例中本公开的系统和方法的使用情况。在102处,用户编辑第一产物。在104处,每个编辑动作将加有时间戳的命令添加到第一产物的可重放/可倒回的命令堆栈中。命令堆栈包括改变该产物的一个或多个命令。在106处,可以向用户给予使用例如标记、标签或其他要素将第一产物状态指派为草案的选项。草案指产物在一时间点处的状态,并且如用户指定的那样保存。例如,第一产物草案可以从第一产物创建,并且将第一产物变换成第一产物草案的一组命令可以保存在命令堆栈中。对第一产物的后续访问可以是对第一产物的第一产物草案中的一个或多个的访问。
在108处,第一产物由其他的一个或多个产物使用或重新使用。在一个实施例中,本公开的系统检测这种使用,并且作为响应在110处创建例如从第一产物草案(源)到另一产物的草案(目标)的可追溯性链接。在一个实施例中,可追溯性链接被创建成去往当该链接被创建时正在被查看、使用、访问和/或引用的草案。如果例如源和目标在编辑器中打开、并且剪切和粘贴或另一类似操作被执行,则打开的版本是源;如果例如第一产物没有在编辑器或查看器中被全部查看/使用,而是例如在使用户能够看到所存在的产物的浏览器应用/查看器等中的产物列表上,则源将是在所述浏览器内选择的任何草案。这种浏览器可以明确地示出每个产物的所有草案的列表并且用户可以明确挑选草案,或者浏览器可以示出产物的列表并规定假设,诸如“最近的草案”、“最后查看的草案”等。系统也可以在用户一边没有作出任何明确动作本身的情况下自动检测另一产物的使用。例如,如果用户将文本键入到使用户能够编写可执行业务逻辑的工具中、并且用户键入单词“客户”(其中“客户”已经在业务本体中被定义),则业务逻辑可以被自动检测为目标、并且本体中的“客户”实体或本体本身可以被检测为源;在该情况下,由逻辑编写工具当前利用的本体的草案将是被指定为源的草案。
作为另一个示例,在一个实施例中本公开的系统可以从一个或多个产物检测第一产物的访问或使用。示例可以是电子表格应用程序从电子文字处理应用文档拷贝数据到电子表格文档。在该示例中,可追溯性链接在与电子表格应用程序文档相关联的产物草案和与文字处理应用文档相关联的产物草案之间创建。在112处,第一产物草案(源)和第二产物草案(目标)之间的可追溯性链接也可以直接由用户创建。
在114处,例如,在自从可追溯性链接被创建的时间点以来,一个或多个产物已经被编辑/改变之后的某个稍后的时间点处,用户使用功能可见性(affordance,例如时间线、堆栈、树等)导航到第一产物的草案。功能可见性指用户借以执行各种动作的手段。在一个实施例中本公开的功能可见性可以包括但不限于:应用程序接口(API),其是由交互工具以及自动化系统使用从而访问和/或操纵产物草案的编程装置;产物查看器、程序或模块,用于显示产物草案的状态使得其可以由用户感知到;编辑器,其是借以改变产物的状态并从而创建命令和/或产物草案的程序或模块;导航工具,其是诸如时间线、数据树等之类的实用工具,用于到达和/或选择产物草案或两个草案之间的草案命令堆栈中的点,从而选择其作为时间参考点,经由可追溯性链接到达可追溯性顶点。可追溯性顶点指具有可追溯性链接的产物或产物草案。
在116处,例如在某个稍后的时间点处,用户选择第一产物的草案或两个草案之间的命令堆栈中的点,作为用于其他产物的时间参考点。时间参考点指由用户选择的时间点,使得由用户打开、编辑和/或访问的任何产物将被呈现为在该时间点时的样子。在本公开的一个实施例中,该状态通过在该参考时刻创建的产物草案、或者通过在时间上接近参考时间的草案上播放/倒回产物的命令堆栈来捕捉,以便到达产物在参考时间的状态。
在118处,本公开的系统确定例如由用户查看或迄今为止由用户查看的其他产物,以示出处于在时间参考点时或接近时间参考点时的状态的那些其他产物。
在120处,确定由系统的用户当前查看和/或操纵的一个或多个其他产物的状态是否在时间参考点被所述其他产物的草案(例如草案y)表示,并且如果这样,则在一个实施例中本公开的系统在122处示出所述草案(y)。这可以通过遍历与指示时间参考点的选定草案相关联的可追溯性链接、并找出可追溯性链接的目标顶点来执行。目标顶点将是所述一个或多个其他产物。
在124处,确定时间参考点是否在一个或多个其他产物的两个草案之间,并且如果这样,则在一个实施例中本公开的系统在126处选择其他产物的在时间上最接近时间参考点的草案,并且例如通过重放/倒回其他产物的命令堆栈来将其他产物的状态滚动到时间参考点。如果被选为参考点的时间点在其他产物的草案的时间戳之后、但是在其他产物的随后草案的时间戳之前、并且存在着在两个草案之间的命令堆栈中的命令,则时间参考点将处于两个草案之间。在本公开的一个实施例中,如果在参考点处不存在另一产物的草案,则步骤124和126被执行。在时间参考点处不存在另一产物的草案的情况下,可以如下所述采取几个不同的步骤。
如果时间参考点比其他产物的第一个草案更早,则下述中的一个或多个可以被执行:对于其他产物,什么都不显示,并且向用户通知其他产物在该时间不存在;显示其他产物的最早草案,但是向用户警告该最早草案并非来自于与参考点相同的时间,并且突出地显示其草案所来自的时间;继续显示先前示出的其他产物的草案,并且向用户通知产物在时间参考处还不存在。
如果时间参考点比另一产物的最近草案的时间戳更迟,则在一个实施例中本公开的方法可以显示另一产物的最近草案,因为其是针对该时间点的当前草案。
对于参考点在其他产物的两个草案之间的情况,考虑产物的命令和草案的以下序列,其中各自具有时间戳:草案1(DRAFT1)、c1、c2、c2、c4、草案2、c5、c6、c7、c8、c9、c10、c11、c12、c13、草案3。虽然“最接近”的精确定义将取决于命令的性质而变化,但是由于人们可以想象一些命令在除了时间之外的一些其他维度(实现成本、复杂度等)中会比另一些命令更消耗时间和/或更昂贵,所以为了该示例的目的,假设所有命令的时间和成本都相同这样的简单化的世界(在实际的实现中,并非所有的命令都是相等物并且“接近”的定义可以是应用所特定的)。假设参考点在c7和c8之间。由于c7距离草案2有3个命令,而c8距离草案3有6个命令,所以人们可以从草案2开始,然后执行命令c5、c6和c7从而达到被认为“最接近”参考点的状态并显示该状态。
在一个实施例中本公开的系统包括功能可见性,其使用户能够在128处选择和/或查看与例如由系统选择的草案不同的产物草案。在一个实施例中本公开的方法使用户能够理解和控制产物如何随着时间独立地且相对于彼此演变。考虑用户选择产物1的草案X作为时间参考点、并且其具有到产物2的草案Y的链接的示例,所以系统显示草案Y。在该点处,用户可能想要例如看看产物2的草案Y-1和/或草案Y+1以便更好地理解其在可追溯性链接创建之前和之后的演变。用户可以使用例如允许在产物2的不同草案之间导航的时间线小插件(widget)来做到这一点。
在130处,向用户给予编辑不是产物的草案树中的最近草案的草案的选项,以在产物的草案树中创建新分支,其中产物的新分支的起始状态是从其中创建新分支的草案中的产物状态。
在132处,可以使用使得能够遍历产物草案曲线图(artifact draftgraph)的功能可见性,而使用户能够导航到处于第一产物草案(源)的可追溯性曲线图中的(目标)产物,其中产物草案曲线图中的边缘是可追溯性链接。
在134处,用户可以查看可追溯性链接被创建去往的(目标)产物的草案、和/或表示在当前时间参考点处的状态的(目标)产物的草案。
在图1A-1B中,步骤102、104和106示出产物草案和命令堆栈如何被创建的示例。步骤108、110和112示出可追溯性链接如何在不同的产物或产物草案之间被创建的示例。步骤114示出用户如何查看产物和相关联的命令堆栈。步骤116、118、120、122、124、126和128示出被链接到所选草案的其他草案如何在用户可选择的时间参考点或接近该时间参考点处被查看。步骤130示出用户如何查看和编辑草案并在草案树中创建新分支的示例。步骤132和134示出用户如何基于可追溯性链接导航通过不同草案。应该理解的是,那些步骤不必全都一起执行、或者不必以所示的该顺序顺次执行。
本公开的系统也可以被称为“时间控制系统”或TCS。图2是示出在一个实施例中本公开的系统的组件的系统图。TCS服务器202可以包括用于数字产物草案204和可追溯性链接和顶点206的永久存储器(存储装置),并且提供用于创建、访问和管理数字产物草案(包括命令)204和可追溯性链接206的TCS服务208。
产物草案指产物在一时间点处的状态。命令堆栈包括自从该草案的初始创建以来被发布从而将其初始内容/状态变换成当前内容/状态的一个或多个命令。草案可以被指定为“完成”或“可编辑”。例如,草案可以是可编辑的,直到用户明确密封(seal)它们或系统密封它们以保持产物领域的逻辑完整性。例如,如果多于一个的子草案已经从该草案被创建,则系统可能会想要密封草案而不是允许其被进一步编辑(这会触发产物的草案树中的复杂连锁效应,从而可能导致树的不一致状态)。完成的草案是不再被编辑的草案。然而,人们可以基于它创建新的子草案。草案的可编辑版本保持产物的目前状态以及将产物父代的状态变换成可编辑草案所捕捉的状态的命令堆栈。当草案被“密封”时,其从“可编辑”被改变为“完成”。在本公开的一个实施例中,一旦子草案从完成的草案被创建,在没有发生子草案的删除或断开的情况下,完成的草案不能恢复到可编辑状态。
多于一个的产物草案可以与一个产物相关联地被创建和保持。这些多个草案可以在概念上类似于具有版本控制系统中的多个代码分支。数据库/永久存储器中的给定草案经由其唯一的草案标识符(ID)而被唯一地识别。草案所属于的产物也具有唯一的ID,并且该产物的唯一ID与草案一起存储。因此,在本公开的一个实施例中,产物和相关联的草案可以例如根据它们唯一的ID来记录,由此所有相关的查询可以得到执行。
可追溯性链接206表示两个产物之间的内容生产者-消费者关系。该关系可以通过诸如剪切和粘贴之类的一次动作、诸如事件的激发/处理之类的周期性动作、或者诸如能量的供给/消费之类的连续动作而具体化。可追溯性链接表示两个产物之间的限定链接。那些可追溯性链接的源和目标可以是特定产物(在特定时间点处)的特定草案。可追溯性顶点206是在可追溯性链接的末端处的生产者或消费者。顶点识别产物草案,并且也可以识别进入到被识别产物的命令堆栈中的偏移。
本公开中的用户可以是查看和/或访问和/或操纵产物的一个或多个人或自动化系统。TCS服务208可以包括一个或多个应用程序和接口,其允许用户212或诸如另一计算机程序或系统之类的自动化系统214创建、访问和管理产物草案204和可追溯性链接206。
功能可见性指用户借以执行各种动作的模块或程序等。功能可见性可以包括但不限于:
-TCS API:由交互工具以及自动化系统使用从而访问和/或操纵产物草案的编程装置。
-产物查看器:用于显示产物草案的状态使得其可以由人类感知的装置。由查看器显示的产物草案可以由在另一功能可见性中做出的选择确定,其中另一功能可见性确定时间参考点。
-编辑器:用户借以更改产物的状态并从而创建命令和/或产物草案的装置。
-导航:诸如时间线、树等的装置,以便例如:
○到达和/或选择产物草案或两个草案之间的草案命令堆栈中的点。
○选择时间参考点。
○经由可追溯性链接到达可追溯性顶点。
TCS工具和/或TCS使能工具可以包括组合成单个用户接口的多个功能可见性,例如由用户使用以与TCS服务器202和/或TCS服务208交互的工具。例如,TCS使能工具210可以是文本编辑器、图形编辑器、包括(例如作为插件)允许与TCS服务208和/或TCS服务器202通过接口连接的TCS功能性的其他程序。例如TCS使能文本编辑器或文字处理应用可以自动确定TCS产物正被编辑,并创建用于与产物相关联的命令堆栈的一个或多个命令,并呈现将产物指派为产物草案的选项。
图3示出在本公开一个实施例中发送命令给TCS的示例。自动化系统314可以发送命令给修改或改变产物的TCS服务308。同样,用户可以例如使用TCS使能工具310上的用于对产物做出改变的功能可见性,来手动执行命令生成动作。TCS使能工具可以将命令生成动作变换成发送给TCS服务208从而对产物做出改变的命令。改变后的产物可以被保存或存储为产物草案304,并且包括被应用从而将草案的初始状态变换成其当前状态的命令(例如c1、c2、c3、c4、c5,…)。
图4示出在本公开一个实施例中创建产物草案的示例。自动化系统414可以发送创建产物的草案的请求给TCS服务408。同样,用户可以例如使用TCS使能工具410上的功能可见性来手动请求创建草案。TCS使能工具410发送创建草案的请求给TCS服务408。TCS服务408和TCS服务器402基于该请求而创建产物草案。该请求可以包括诸如产物标识符和草案标识符之类的输入。在本公开的一个实施例中创建的产物可以存储在TCS服务器402中。
不同的产物草案404、406可以被创建,其包括被应用于先前的产物状态的不同的命令组。以这种方式,产物草案的分支可以被创建。作为示例,考虑具有两级年假政策、且在整个国家有办事处的公司:每个员工得到总计15天的带薪假,外加每在该公司工作满5年会有5天额外假。对于该15天带薪假,它们中的7天是对于整个国家设定的,而其余的8天在每个地区经理的控制下,从而当所有的员工都休假时分配固定的天数,或者允许员工按照他们认为合适的方式使用那8天。全国休假政策文档可以是概述上述政策的初始产物。对于国家中的每个地区,地区经理创建添加更多信息的地区子草案,规定在地区控制下的8天将如何被分配。该地区政策可以随年份不同而改变,并且因此子草案可以随着时间而改变。
图5示出例如在图1中的条目108处引用的用于创建可追溯性链接的示例序列流。用户502可以使用TCS使能工具506从产物1的草案x(A1.Dx)拷贝内容到产物2的草案y(A2.Dy)(504)。TCS使能工具506在508处可以向TCS服务510通知从A2.Dy(目标)到A1.Dx(源)的可追溯性链接(TL1)的添加。TCS服务510将可追溯性链接插入到数据库514(例如在图5中被称为TCS-DB)中。可追溯性链接可以包括源产物ID、目标产物ID、源草案ID、目标草案ID的值(例如如图所示的A1.ID、A2.ID、A1.Dx.ID、A2.Dy.ID)。数据库(例如TCS-DB)可以充当用于TCS服务器的永久存储器,并且提供跨越在其内存储的数据的查询能力。
图6示出说明用户可以查看不同产物的状态的情景的示例序列流。该序列流示出打开在其间具有可追溯性链接的两个产物,选择一个产物的较早草案作为时间参考点,并且打开另一产物的对应草案。用户可以在602处经由TCS使能工具打开产物1的最近草案,这会在604处触发TCS使能工具从TCS服务得到A1.latest内容。TCS服务作为响应在606处例如通过查询(例如从ARTIFACT_ID=A1.ID且DRAFT_ID=A1.latest.ID的产物草案中选择ARTIFACT_CONTENT)而从数据库(例如TCS-DB)检索A1.latest内容。TCS-DB在608处将查询的内容返回到TCS服务。TCS服务在610处将内容返回到TCS使能工具。类似地,用户在612处打开产物2的最近草案会触发TCS使能工具在614处从TCS服务得到产物2的最近草案(A2.latest),TCS服务进而在616处例如通过查询(例如从ARTIFACT_ID=A2.ID且DRAFT_ID=latest.ID的产物草案中选择ARTIFACT_CONTENT)而从数据库检索内容。TCS-DB在618处将A2.latest内容返回到TCS服务,TCS服务在620处将该内容返回到TCS使能工具。
用户可以使用功能可见性(例如以图形呈现给用户的时间线)而去往产物1(A1)的较早草案,这例如会触发在622处打开该较早草案A1.latest-n(产物1的草案latest-n)。TCS使能工具在624处从TCS服务检索该草案的内容即A1.latest-n内容。在626处,TCS服务例如通过查询(例如从ARTIFACT_ID=A1.ID且DRAFT_ID=latest-n.ID的产物草案中选择ARTIFACT_CONTENT)而从数据库(例如TCS-DB)得到内容。在628处,TCS-DB将A1.latest-n内容返回到TCS服务。在630处,TCS服务将A1.latest-n内容返回到TCS使能工具。
用户可以设定A1.latest-n作为时间参考点。在632处,用户将时间参考点设定为A1.latest-n.CreationTime。TCS使能工具可以在634处经由TCS服务检查A1.latest-n和A2之间的可追溯性链接。TCS服务在636处查询TCS-DB以检索在该时间参考点处链接的其他产物的草案。示例查询可以是“从(源产物ID=A1.ID且目标产物ID=A2且源草案ID=latest-n.ID)或者(源产物ID=A12.ID且目标产物ID=A1且目标草案ID=latest-n.ID)的可追溯性链接中选择*”。结果,被链接到用户选择的时间参考点的其他产物在638处被返回到TCS服务,然后在640处被返回到TCS使能工具。利用工具的用户然后可以访问和/或查看被链接到用户选择的时间参考点的其他草案。
在640处,工具已经接收A1和A2之间的可追溯性链接的列表。附图示出选择框(“alt”即可选项)。第一选择—“不存在可追溯性链接”—表示在A1和A2之间不存在链接。在该情况下,可以向用户通知没有对应的草案,并且序列结束。第二选择—“存在至少一个可追溯性链接”—表示在A1和A2之间存在链接,所以工具经历步骤642-652以显示与由用户选择的时间参考点(即A1.latest-n.CreationTime)对应的A2的草案(A2.latest-k)。应注意的是,A2.latest-k中的“k”和A1.latest-n中的“n”的值不必相等;例如,可以是:A2自从时间参考点以来已经具有7个草案(k=7),而A1已经具有15个草案(n=15)。
通过从一个产物的角度选择时间参考点,用户可以查看另一产物在相同或基本上相同的时间点的状态。如上所讨论,本公开的方法可以基于例如情景的不同组合来识别所述另一产物的状态。例如考虑两个产物是A和B,并且存在以B作为源且以A作为目标的可追溯性链接。以下不同的算法可以基于在找出链接的顶点过程中的情景来利用:
-用户选择A的草案作为参考点,并且其与B的草案对应。在该情景中,对于B,不需要命令堆栈播放/倒回。
-用户选择A的草案作为参考点,并且其不与B的草案对应。在该情景中,对于B,可能需要命令堆栈播放/倒回。
-用户选择A的两个草案之间的点,即A的历史中的两个草案之间的命令堆栈中的某处,并且其与B的草案对应。在该情景中,对于B,不需要命令堆栈播放/倒回。
-用户选择A的两个草案之间的点,即A的历史中的两个草案之间的命令堆栈中的某处,并且其与B的草案不对应。在该情景中,对于B,可能需要命令堆栈播放/倒回。
作为用于本公开的系统和/或方法的示例使用情景,考虑示例公司(公司A)。公司A是在数字媒体的所有方面(音乐标签、压缩盘(CD)生产和分销、数字音乐销售、移动新闻应用、电子装置、家庭娱乐系统等)中都有子公司的大型跨国公司。公司A具有把来自所有子公司的关于其客户的数据汇集到一起的数据仓库。公司A把该数据用于跨越其不同生产线的销售和市场营销。作为其电子商务基础设施的一部分,公司A具有机会识别服务(OIS,Opportunity Identifier Service),其使用商业规则和预测性分析学的组合来处理公司A的数据仓库中的信息,从而当客户访问其网站时识别增销/交叉销售机会。
公司A的用于运营决策的发展过程(诸如在OIS中捕捉的那些过程)按如下方式工作:
-企业所有者在文本公文(text prose)中陈述要求;
-经营分析人员与企业所有者一起工作以创建捕捉业务逻辑的决策模型,包括业务词汇表、规则、所需数据和分析学的使用;
-IT把实现产物连接到决策模型的每个方面(可执行规则、分析模型、运营数据等);
-决策被部署。
作为示例,考虑与作为公司A的分销团队的一部分的人员B一起工作的OIS团队领导(人员A),从而将工具包(rootkit)添加到公司A销售的每个CD和移动应用中。该工具包被用于收集关于客户常去什么网站的更多信息,以便改进在公司A的网站上的OIS机会识别的质量。包含商业级文本公文的文档被写入以描述什么新信息将从由工具包收集的数据中被捕捉到OIS数据库中,以及数据应当如何被用于识别机会的说明。
在本公开的系统中,文档是在TCS使能文本编辑器中创建/编辑的新产物。每当用户添加、删除或编辑单词时,该动作由编辑器发送给TCS作为在TCS中被添加到该文档的当前草案的命令堆栈中的命令。在本公开的一个实施例中,粘贴到在TCS使能文本编辑器中编辑的文档中会创建可追溯性链接,其以该文档作为消费者,并且该链接指向粘贴所发生于的文本的偏移+长度。从文档中拷贝会创建可追溯性链接,其以该文档作为生产者,并且该链接指向被拷贝的偏移+长度。在本公开一个实施例中TCS使能编辑器与TCS通信从而共同地创建可追溯性链接。每个不同类型的TCS使能客户端(不管是编辑器、构建系统还是别的装置)可以独自确定什么构成命令以及什么构成新草案。
接着,OIS决策模型被编辑以添加各种元素到模型中。模型的编辑会在本公开的系统中触发从而添加命令到TCS中的决策模型的当前草案的命令堆栈中。例如,定义可以被添加到与模型相关联的词汇表中。词汇表的每个编辑被发送给TCS作为词汇表的当前草案的命令堆栈中的命令。一旦新词汇表术语被添加,用户可能想要将其指定为词汇表的新草案。OIS决策模型也可以被编辑以便当引用工具包数据时添加包含使用这些术语的业务规则的新的子决策。每当子决策或规则被添加或编辑时,决策模型编辑器发送新命令以使其被添加到TCS中的决策模型的当前草案的命令堆栈中。OIS决策模型可以进一步被编辑以添加请求给分析模型从而确定给定的增销或交叉销售的成功概率。这些概率在业务规则中被使用。在本公开的一个实施例中,如果特定模型被发现/引用,则可以在该点创建可追溯性链接,其以决策模型作为消费者并且以分析模型作为生产者。在本公开的一个实施例中,如果仅存在需要基于什么变量集确定什么概率的描述,则还不创建链接。
公司A的IT部门然后可以更新OIS数据库(DB)模式,以包括文本公文中描述的列。在本公开的一个实施例中模式编辑器是有TCS能力的,并且因此每个编辑会发送命令给TCS以使其被添加到当前草案的命令堆栈中。在编辑完成之后,用户可以指定它作为新的草案。
公司A的IT部门也可以例如用新的分析模型更新OIS分析库,所述新的分析模型使用新的列来确定客户将接受给定报价的概率。在本公开的一个实施例中,每个分析模型可以是其自身的产物,并且分析库可以是复合产物,可能是从一组分析模型创建的二进制文件。在本公开一个实施例中,对模型的编辑会在其草案的命令堆栈上创建命令,并且库的构建(创建或对其进行的添加)也会创建库的新草案。
公司A的IT部门也可以将决策模型的分析引用连接到新的分析模型。这可经由对决策模型的编辑来实现,对决策模型的编辑可以创建决策模型产物的命令堆栈上的新命令,并且也可以创建新草案。
OIS采用可执行决策模型、分析模型、新数据库模式来更新,并且因此开始使用由工具包收集的数据以识别新的机会。如果构建系统有TCS能力,则新的构建物被视为应用/服务库的新草案,并且库从其中被构建出来的源的添加/更新被视为命令。
在稍后的点处,OIS团队领导(例如人员A)决定改写该文档中的商业级文本公文的描述该新OIS特征的功能的那一部分。作为响应,TCS使能文本编辑器(其由人员A使用以改写文本公文)发送命令和草案给TCS。在编辑公文之后,人员A使用公文、决策模型、商业词汇表、数据库列和分析模型变量名称之间的可追溯性链接,以快速找出并改变也可能需要改写的任何措辞或名称。例如,人员A可以使用功能可见性(诸如树)来查看经由可追溯性链接连接到该文档的产物的曲线图(graph),并经由链接导航到使用人员A已经在该文档中改变的语言/名称的那些产物中的精确位置。在本公开的一个实施例中,每个产物在其相应的TCS使能编辑器中打开。人员A编辑产物从而创建一系列命令以及每个产物的最终的新草案,并且根据需要部署/传播新草案。
在公司A决定去除工具包并且返回到在工具包被集成到OIS决策模型中之前的OIS决策模型的情况下,可以通过选择来自人员A作出改变之前的日子的OIS决策模型的草案、并将其设定为时间参考点,来使用TCS和TCS使能系统和工具。以这种方式,公司A能够立即识别在日期上早于与人员A的想法相关的改变的OIS决策模型、OIS构建物(OIS build)、分析库和数据库模式的草案,重新构建没有任何工具包特征的OIS。在本公开的一个实施例中,功能可见性(诸如时间线)可以被用于导航到在人员A的改变之前存在的OIS决策模型的草案,并设定决策模型的该草案作为时间参考点。TCS工具或诸如工具栏上的按钮之类的用户接口元素可以被用于执行这种动作。另一功能可见性(诸如树)可以被用于选择具有去往/来自决策模型的可追溯性链接的所有产物,将它们全都滚动返回到时间参考点,并且重新构建和重新部署OIS。
采用本公开的系统和方法,人们可以取消在产物上采取的动作过程。对应的撤销动作可以通过在产物领域中滚动回到先前时间而例如一次性地在不同产物(例如两个文字处理文档,三个电子表格文档,以及维基(wiki))上执行。例如当产物y的草案x在时间z创建时,产物的可追溯性链接还保持相关性的历史和源-目标关系的存在。相关联的产物可以在给定的时间参考点处被跟踪。本公开的系统和方法还提供了使用户能够将整个产物领域转变成在给定时间参考点处的状态的能力。
已知的版本控制系统在其将产物一起分组成标签/版本/快照方面是严格分层的;不必创建跨越整个包围层次结构的标签/版本/快照就能交互地查看和操纵在时间参考点处的所有产物的能力是不存在的。不必创建跨越整个包围层次结构的标签/版本/快照就能在连接的产物之间导航并查看在该连接时它们的状态的能力是不存在的。
当一组产物共同定位在一个系统中或分布在不同系统中时,在一个实施例中本公开的系统可以很好地工作。例如,系统可以被用作DVCS(分布式版本控制系统)。在一个实施例中本公开的系统能解决关于分布式补偿或回滚的检查定点问题。在一个实施例中本公开的系统能提供用于调试并行/多线程应用的时间机器,能提供关于时间的撤销功能。在一个实施例中本公开的系统使用户能够跨越时间(例如基于时间参考点)移动通过产物领域。在一个实施例中本公开的系统和方法可以结合现有的版本控制等系统来利用。
图7示出可以在本公开一个实施例中实施时间控制系统的示例计算机或处理系统的示意图。计算机系统仅是合适的处理系统的一个示例,并且并非旨在暗示关于在此描述的方法实施例的用途或功能的范围的任何限制。示出的处理系统可以采用许多其他通用或专用计算系统环境或配置来操作。可能适合于与图7中示出的处理系统一起使用的众所周知的计算系统、环境和/或配置的示例可以包括但不限于:个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子装置、网络PC、小型计算机系统、大型计算机系统和包括任何以上系统或装置等的分布式云计算环境。
计算机系统可以在诸如由计算机系统执行的程序模块的计算机系统可执行指令的一般上下文中描述。一般地,程序模块可以包括例程、程序、对象、组件、逻辑、数据结构等,其执行特定任务或实现特定的抽象数据类型。计算机系统可以在任务由通过通信网络连接的远程处理设备执行的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储器存储装置的本地和远程计算机系统存储介质两者中。
计算机系统的组件可以包括但不限于一个或多个处理器或处理单元12、系统存储器16以及把包括系统存储器16的各种系统组件耦合到处理器12的总线14。处理器12可以包括执行在此描述的时间控制服务方法的时间控制模块10。模块10可以被编程到处理器12的集成电路中,或者从存储器16、存储装置18或网络24或其组合被加载。
总线14可以代表一个或多个任何类型的总线结构,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用任何各种总线架构的处理器或局部总线。借助于示例而不是限制的方式,这种架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线。
计算机系统可以包括各种计算机系统可读介质。这种介质可以是可由计算机系统访问的任何可用介质,并且其可以包括易失性和非易失性介质,可移除和不可移除介质。
系统存储器16可以包括采取易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)和/或高速缓冲存储器等。计算机系统还可以包括其他可移除/不可移除、易失性/非易失性计算机系统存储介质。仅借助于示例,存储系统18可以被提供用于从不可移除、非易失性磁介质(例如,“硬盘驱动器”)读取和向其写入。虽然没有示出,但是可以提供用于从可移除、非易失性磁盘(例如“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其他光学介质的可移除非易失性光盘读取或向其写入的光盘驱动器。在这些实例中,各自可以通过一个或多个数据媒体接口连接到总线14。
计算机系统还可以与以下装置通信:一个或多个外部装置26,诸如键盘、指点装置、显示器28等;使用户能够与计算机系统交互的一个或多个装置;和/或使计算机系统能够与一个或多个其他计算装置通信的任何装置(例如网卡、调制解调器等)。这种通信可以通过输入/输出(I/O)接口20发生。
此外,计算机系统可以经由网络适配器22与诸如局域网(LAN)、一般广域网(WAN)和/或公共网络(例如因特网)的一个或多个网络24通信。如所描绘的,网络适配器22经由总线14与计算机系统的其他组件通信。应该理解的是,虽然没有示出,但是其他硬件和/或软件组件可以与计算机系统结合使用。示例包括但不限于:微代码、装置驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据档案存储系统等。
所属领域的技术人员将理解的是,本发明的各个方面可以实施为系统、方法或计算机程序产品。因此,本发明的各个方面可以采取以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或软件和硬件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以采取用一个或多个计算机可读介质实施的计算机程序产品的形式,该计算机可读介质上包含有计算机可读程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的适当组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读程序代码。这种传播的信号可以采用各种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言(诸如Java、Smalltalk、C++等),还包括常规的过程式程序设计语言(诸如“C”程序设计语言或类似的程序设计语言)、脚本语言(诸如Perl、VBS或类似语言)和/或函数式语言(诸如Lisp和ML以及面向逻辑的语言如Prolog)。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令可以使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品。
计算机程序指令还可以加载到计算机、其它可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其它可编程装置或其他设备上被执行以产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的处理。
附图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意的是,在有些替代性实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
计算机程序产品可以包括使本文所描述的方法能够实现的所有相应特征,并且当在计算机系统中加载时能够执行这些方法。在本上下文中计算机程序、软件程序、程序或软件意味着一组指令的以任何语言、代码或符号表示的任何表达,所述一组指令旨在或者直接地或者在下述的一者或两者之后使具有信息处理能力的系统执行特定的功能:(a)转换成另一种语言、代码或符号;和/或(b)以不同材料形式再现。
在此所用的术语仅用于描述特定实施例的目的,且并非旨在限制本发明的。如在此所使用的,单数形式的“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解的是,当在本说明书中使用时术语“包括”和/或“包含”指的是所陈述的特征、整数、步骤、操作、元件和/或组件的存在,而并不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或附加。
下面的权利要求中的所有装置或步骤加功能元件(如果有的话)的对应结构、材料、动作和等同物旨在包括与具体要求保护的其他元件结合的用于执行功能的任何结构、材料或动作。本发明的描述已经被提供用于说明和描述的目的,而并非旨在是无遗漏的或限制于所公开的形式的发明。在不背离本发明范围和精神的情况下,对于那些本领域的普通技术人员,许多修改和变化将是明显的。实施例被选择和描述是为了最好地解释本发明的原理和实际应用,并且使本领域的其他技术人员能够理解具有适合于特定预期用途的各种修改的各种实施例的发明。
本发明的各个方面可以体现为在计算机或机器可用或可读介质中体现的程序、软件或计算机指令,当在计算机、处理器和/或机器上执行时其使计算机或机器执行方法步骤。还提供了可由机器读取的程序存储装置,其有形地包含指令程序,该指令程序可由机器执行从而执行在本公开中描述的各种功能和方法。
本公开的系统和方法可以被实现并且在通用计算机或专用计算机系统上运行。可在本申请中使用的术语“计算机系统”和“计算机网络”可以包括固定和/或便携式计算机硬件、软件、外围设备和存储装置的各种组合。计算机系统可以包括联网或以其他方式连接以协作执行的多个独立组件,或者可以包括一个或多个独立的组件。本申请的计算机系统的硬件和软件组件可以包括诸如台式机、膝上型计算机和/或服务器的固定和便携式装置,并且可以被包括在诸如台式机、膝上型计算机和/或服务器的固定和便携式装置内。模块可以是装置、软件、程序或系统的实现一些“功能”的组件,其可以体现为软件、硬件、固件、电子电路等。
以上描述的实施例是说明性示例,并且不应当被解释为本发明局限于这些特定实施例。因此,各种变化和修改可以由本领域技术人员实现,而不背离在所附权利要求中定义的本发明的精神或范围。
Claims (23)
1.一种用于查看和操纵在时间参考点处的产物的系统,包括:
与多个产物中的每一个相关联的一个或多个产物草案,所述一个或多个产物草案中的每一个表示相关联的产物在一时间点处的状态、以及命令堆栈中的将所述每一个产物草案的父代变换成所述每一个产物草案的一个或多个命令;
多个可追溯性链接和可追溯性顶点,其表示所述多个产物的所述一个或多个产物草案之间的联系,其中可追溯性链接包括所述多个产物中的一产物的产物草案和所述多个产物中的另一产物的产物草案之间的边缘,所述多个产物中的一产物的所述产物草案和所述多个产物中的另一产物的产物草案形成可追溯性顶点;
处理器;以及
模块,其可操作以在所述处理器上执行,并且经由所述多个可追溯性链接从参考时间点导航通过所述多个产物的所述一个或多个产物。
2.如权利要求1所述的系统,还包括:存储所述一个或多个产物草案以及所述多个可追溯性链接和可追溯性顶点的服务器。
3.如权利要求1所述的系统,其中所述模块还可操作以:创建所述一个或多个产物草案以及所述多个可追溯性链接和可追溯性顶点。
4.如权利要求1所述的系统,其中响应于在所述多个产物中的一产物的所述产物草案上执行的、访问所述多个产物中的另一产物的所述产物草案的动作,自动地创建所述可追溯性链接和可追溯性顶点。
5.如权利要求1所述的系统,其中所述模块包括:使用户能够选择所述时间参考点以及呈现所述产物草案的视图的用户接口。
6.如权利要求5所述的系统,其中所述模块还经由所述用户接口呈现从所述时间参考点开始导航的所述产物草案。
7.如权利要求1所述的系统,其中所述模块还可操作以:基于接收到的命令来修改所述一个或多个产物草案。
8.如权利要求1所述的系统,其中所述模块还包括:应用接口,经由所述应用接口接收用于操纵所述一个或多个产物草案的一个或多个命令。
9.如权利要求1所述的系统,其中所述模块还可操作以:通过从不是最新近的草案的产物草案创建新产物草案来创建产物草案的新分支,其中产物草案的新分支的起始状态是从其中创建所述新分支的草案中的产物状态。
10.一种用于查看和操纵在时间参考点处的产物的方法,包括:
接收编辑第一产物的命令;
向所述命令添加时间戳;
将所述命令存储在命令堆栈中;
存储所述第一产物的当前状态和所述命令堆栈作为产物草案;以及
响应于检测到所述命令是访问第二产物的动作,创建所述产物草案和与所述第二产物相关联的第二产物草案之间的可追溯性链接。
11.如权利要求10所述的方法,还包括:将所述第一产物的当前状态指派为新产物草案。
12.如权利要求10所述的方法,其中对多个产物重复所述步骤,以及其中对所述多个产物中的每一个生成多个产物草案和相关联的多个可追溯性链接。
13.如权利要求12所述的方法,还包括:
接收选定的产物草案,所述选定的产物草案表示时间参考点;
搜索所述可追溯性链接和可追溯性顶点,以找出链接到所述选定的产物草案的一个或多个其他产物草案;
如果所述一个或多个其他产物草案具有与所述时间参考点对应的时间戳,则呈现所述选定的产物草案和所述一个或多个其他产物草案。
14.如权利要求13所述的方法,还包括:
如果所述一个或多个其他产物草案不具有与所述时间参考点对应的时间戳,
从与所述一个或多个其他产物草案相关联的命令堆栈中选择具有最接近所述时间参考点的时间戳的命令点;
从所述命令点倒回或重放所述命令堆栈中的一个或多个命令,以生成所述一个或多个其他产物的状态;以及
呈现所述一个或多个其他产物的所生成的状态。
15.如权利要求12所述的方法,还包括:
接收所述命令堆栈中的在两个产物草案之间的点,所述命令堆栈中的点表示时间参考点;
从所述两个产物草案中选择在时间上最接近所述命令堆栈中的点的产物草案;
搜索所述可追溯性链接和可追溯性顶点以找出链接到所选择的产物草案的其他一个或多个其他产物草案;
如果所述其他一个或多个其他产物草案具有与所述时间参考点对应的时间戳,则呈现所述其他一个或多个其他产物草案;以及如果所述其他一个或多个其他产物草案不具有与所述时间参考点对应的时间戳,
从与所述一个或多个其他产物草案相关联的命令堆栈中选择具有最接近所述时间参考点的时间戳的命令点;
从所述命令点倒回或重放所述命令堆栈中的一个或多个命令,以生成与所述命令堆栈中的在两个产物草案之间的点相关的所述一个或多个其他产物的状态;以及
呈现所述一个或多个其他产物的所生成的状态。
16.如权利要求12所述的方法,还包括:
编辑不是与产物相关联的最新近的产物草案的产物草案;以及
从编辑后的产物草案开始创建产物草案的新分支。
17.一种存储指令程序的计算机可读存储介质,所述指令程序能够由机器执行从而执行用于查看和操纵在时间参考点处的产物的方法,所述方法包括:
接收编辑第一产物的命令;
向所述命令添加时间戳;
将所述命令存储在命令堆栈中;
存储所述第一产物的当前状态和所述命令堆栈作为产物草案;以及
响应于检测到所述命令是访问第二产物的动作,创建所述产物草案和与所述第二产物相关联的第二产物草案之间的可追溯性链接。
18.如权利要求17所述的计算机可读存储介质,还包括:将所述第一产物的当前状态指派为新产物草案。
19.如权利要求17所述的计算机可读存储介质,其中对多个产物重复所述步骤,以及其中对所述多个产物中的每一个生成多个产物草案和相关联的多个可追溯性链接。
20.如权利要求19所述的计算机可读存储介质,还包括:
接收选定的产物草案,所述选定的产物草案表示时间参考点;
搜索所述可追溯性链接和可追溯性顶点,以找出链接到所述选定的产物草案的其他一个或多个其他产物草案;以及
如果所述一个或多个其他产物草案存在,则呈现所述选定的产物草案和在相同的时间参考点时的一个或多个其他产物草案。
21.如权利要求20所述的计算机可读存储介质,还包括:
如果所述一个或多个其他产物草案不具有与所述时间参考点对应的时间戳,
从与所述一个或多个其他产物草案相关联的命令堆栈中选择具有最接近所述时间参考点的时间戳的命令点;
从所述命令点倒回或重放所述命令堆栈中的一个或多个命令,以生成所述一个或多个其他产物的状态;以及
呈现所述一个或多个其他产物的所生成的状态。
22.如权利要求19所述的计算机可读存储介质,还包括:
接收所述命令堆栈中的在两个产物草案之间的点,所述命令堆栈中的点表示时间参考点;
从所述两个产物草案中选择在时间上最接近所述命令堆栈中的点的产物草案;
搜索所述可追溯性链接和可追溯性顶点以找出链接到所选择的产物草案的其他一个或多个其他产物草案;
如果所述其他一个或多个其他产物草案具有与所述时间参考点对应的时间戳,则呈现所述其他一个或多个其他产物草案;以及如果所述其他一个或多个其他产物草案不具有与所述时间参考点对应的时间戳,
从与所述一个或多个其他产物草案相关联的命令堆栈中选择具有最接近所述时间参考点的时间戳的命令点;
从所述命令点倒回或重放所述命令堆栈中的一个或多个命令,以生成与所述命令堆栈中的在两个产物草案之间的点相关的所述一个或多个其他产物的状态;以及
呈现所述一个或多个其他产物的所生成的状态。
23.如权利要求19所述的计算机可读存储介质,还包括:
编辑不是与产物相关联的最新近的产物草案的产物草案;以及
从编辑后的产物草案开始创建产物草案的新分支。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/369,955 US9311623B2 (en) | 2012-02-09 | 2012-02-09 | System to view and manipulate artifacts at a temporal reference point |
US13/369,955 | 2012-02-09 | ||
PCT/US2013/023578 WO2013119416A1 (en) | 2012-02-09 | 2013-01-29 | A system to view and manipulate artifacts at a temporal reference point |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104106066A true CN104106066A (zh) | 2014-10-15 |
CN104106066B CN104106066B (zh) | 2018-07-17 |
Family
ID=48946693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380008803.5A Expired - Fee Related CN104106066B (zh) | 2012-02-09 | 2013-01-29 | 用于查看和操纵在时间参考点处的产物的系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9311623B2 (zh) |
CN (1) | CN104106066B (zh) |
DE (1) | DE112013000916T5 (zh) |
GB (1) | GB2514950A (zh) |
WO (1) | WO2013119416A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092636B2 (en) | 2008-11-18 | 2015-07-28 | Workshare Technology, Inc. | Methods and systems for exact data match filtering |
US11030163B2 (en) * | 2011-11-29 | 2021-06-08 | Workshare, Ltd. | System for tracking and displaying changes in a set of related electronic documents |
US10025759B2 (en) | 2010-11-29 | 2018-07-17 | Workshare Technology, Inc. | Methods and systems for monitoring documents exchanged over email applications |
US10783326B2 (en) | 2013-03-14 | 2020-09-22 | Workshare, Ltd. | System for tracking changes in a collaborative document editing environment |
US10853319B2 (en) | 2010-11-29 | 2020-12-01 | Workshare Ltd. | System and method for display of document comparisons on a remote device |
US10574729B2 (en) | 2011-06-08 | 2020-02-25 | Workshare Ltd. | System and method for cross platform document sharing |
US10963584B2 (en) | 2011-06-08 | 2021-03-30 | Workshare Ltd. | Method and system for collaborative editing of a remotely stored document |
US9170990B2 (en) | 2013-03-14 | 2015-10-27 | Workshare Limited | Method and system for document retrieval with selective document comparison |
US10880359B2 (en) | 2011-12-21 | 2020-12-29 | Workshare, Ltd. | System and method for cross platform document sharing |
US9613340B2 (en) | 2011-06-14 | 2017-04-04 | Workshare Ltd. | Method and system for shared document approval |
US9092572B2 (en) * | 2012-03-26 | 2015-07-28 | Verizon Patent And Licensing Inc. | Development life cycle management tool for set-top box widgets |
US11567907B2 (en) | 2013-03-14 | 2023-01-31 | Workshare, Ltd. | Method and system for comparing document versions encoded in a hierarchical representation |
US10911492B2 (en) | 2013-07-25 | 2021-02-02 | Workshare Ltd. | System and method for securing documents prior to transmission |
CN105095320B (zh) * | 2014-05-23 | 2019-04-19 | 邓寅生 | 基于关系叠加组合的文档的标识、关联、搜索及展现的系统 |
CN105095319B (zh) * | 2014-05-23 | 2019-04-19 | 邓寅生 | 基于时间序列化的文档的标识、关联、搜索及展现的系统 |
US11182551B2 (en) | 2014-12-29 | 2021-11-23 | Workshare Ltd. | System and method for determining document version geneology |
US11763013B2 (en) | 2015-08-07 | 2023-09-19 | Workshare, Ltd. | Transaction document management system and method |
US20210019704A1 (en) * | 2019-07-16 | 2021-01-21 | International Business Machines Corporation | Interactive knowledge base for project information navigation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115547A1 (en) * | 2001-11-21 | 2003-06-19 | Toshikazu Ohwada | Document processing apparatus |
US20080177782A1 (en) * | 2007-01-10 | 2008-07-24 | Pado Metaware Ab | Method and system for facilitating the production of documents |
US7814367B1 (en) * | 2004-11-12 | 2010-10-12 | Double-Take Software Canada, Inc. | Method and system for time addressable storage |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558413A (en) | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
EP0451371B1 (en) * | 1990-04-13 | 1997-11-26 | Koninklijke Philips Electronics N.V. | A method for organizing and accessing product describing data pertaining to an engineering process |
CA2045907C (en) * | 1991-06-28 | 1998-12-15 | Gerald B. Anderson | A method for storing and retrieving annotations and redactions in final form documents |
CA2137492C (en) * | 1994-12-07 | 1998-07-28 | Lenny Kwok-Ming Hon | System for and method of providing delta-versioning of the contents of pcte file objects |
US5850554A (en) | 1995-12-29 | 1998-12-15 | Intel Corporation | Compiler tool set for efficiently generating and easily managing multiple program versions of different types |
US6457004B1 (en) * | 1997-07-03 | 2002-09-24 | Hitachi, Ltd. | Document retrieval assisting method, system and service using closely displayed areas for titles and topics |
US5897636A (en) * | 1996-07-11 | 1999-04-27 | Tandem Corporation Incorporated | Distributed object computer system with hierarchical name space versioning |
US6092091A (en) * | 1996-09-13 | 2000-07-18 | Kabushiki Kaisha Toshiba | Device and method for filtering information, device and method for monitoring updated document information and information storage medium used in same devices |
US6134552A (en) * | 1997-10-07 | 2000-10-17 | Sap Aktiengesellschaft | Knowledge provider with logical hyperlinks |
US6385627B1 (en) * | 1997-11-24 | 2002-05-07 | International Business Machines Corporation | Method, apparatus and computer program product for providing document user role indication |
US6195796B1 (en) | 1998-10-21 | 2001-02-27 | Wildseed, Ltd. | User centric source control |
US6904454B2 (en) | 2001-03-21 | 2005-06-07 | Nokia Corporation | Method and apparatus for content repository with versioning and data modeling |
US20020188638A1 (en) * | 2001-06-08 | 2002-12-12 | Walter Hamscher | Document negotiation |
US9460414B2 (en) * | 2001-08-28 | 2016-10-04 | Eugene M. Lee | Computer assisted and/or implemented process and system for annotating and/or linking documents and data, optionally in an intellectual property management system |
EP1481346B1 (en) | 2002-02-04 | 2012-10-10 | Cataphora, Inc. | A method and apparatus to visually present discussions for data mining purposes |
KR100636909B1 (ko) * | 2002-11-14 | 2006-10-19 | 엘지전자 주식회사 | 확장성 표기 언어 기반의 전자문서 버전 매김 및 버전을이용한 갱신 문서 제공 방법 |
US7207034B2 (en) | 2003-06-23 | 2007-04-17 | Microsoft Corporation | Undo infrastructure |
US7600225B2 (en) * | 2003-07-21 | 2009-10-06 | Microsoft Corporation | System and method for intra-package delta compression of data |
EP1562111B1 (en) | 2004-02-03 | 2017-04-26 | Sap Se | A context modeller for modelling a context representation and a method of modelling a context representation |
GB2413655A (en) * | 2004-04-30 | 2005-11-02 | Hewlett Packard Development Co | Method and system for updating hierarchical data structures |
US20060161576A1 (en) | 2005-01-18 | 2006-07-20 | Barrs John W | Method and apparatus for dimensional data versioning and recovery management |
US20070106520A1 (en) | 2005-10-11 | 2007-05-10 | Akkiraju Ramakalyani T | System and method for conducting dependency analysis of business components |
US20070106982A1 (en) | 2005-11-04 | 2007-05-10 | International Business Machines Corporation | Method, apparatus, and computer program product for model based traceability |
US7447707B2 (en) * | 2005-12-16 | 2008-11-04 | Microsoft Corporation | Automatic schema discovery for electronic data interchange (EDI) at runtime |
CA2641592A1 (en) * | 2006-02-06 | 2007-08-16 | Informatica Corporation | Creating and managing xml schema version transformations |
US7644111B2 (en) * | 2006-05-02 | 2010-01-05 | Microsoft Corporation | Framework for content representation and delivery |
US20080005194A1 (en) * | 2006-05-05 | 2008-01-03 | Lockheed Martin Corporation | System and method for immutably cataloging and storing electronic assets in a large scale computer system |
US7853566B2 (en) * | 2006-08-04 | 2010-12-14 | Apple Inc. | Navigation of electronic backups |
US7954048B2 (en) * | 2006-09-21 | 2011-05-31 | International Business Machines Corporation | Content management via configuration set relationships in a content management system |
US7945122B2 (en) | 2006-09-27 | 2011-05-17 | International Business Machines Corporation | Method, system, and program product for processing an electronic document |
US8793577B2 (en) | 2007-01-11 | 2014-07-29 | Koninklijke Philips N.V. | Method and apparatus for providing an undo/redo mechanism |
US7900142B2 (en) * | 2007-01-15 | 2011-03-01 | Microsoft Corporation | Selective undo of editing operations performed on data objects |
US7853611B2 (en) | 2007-02-26 | 2010-12-14 | International Business Machines Corporation | System and method for deriving a hierarchical event based database having action triggers based on inferred probabilities |
US20090024590A1 (en) * | 2007-03-15 | 2009-01-22 | Sturge Timothy | User contributed knowledge database |
US20090024915A1 (en) | 2007-04-27 | 2009-01-22 | Bea Systems, Inc. | Web based application constructor using objects as pages |
US20090031239A1 (en) * | 2007-07-17 | 2009-01-29 | Gridiron Software Inc. | Asset browser for computing environment |
US20090049108A1 (en) * | 2007-07-17 | 2009-02-19 | Gridiron Software Inc. | Method and apparatus for workflow versioning |
US8856088B2 (en) | 2008-04-01 | 2014-10-07 | Microsoft Corporation | Application-managed file versioning |
US8429194B2 (en) * | 2008-09-15 | 2013-04-23 | Palantir Technologies, Inc. | Document-based workflows |
US8504979B2 (en) | 2009-03-06 | 2013-08-06 | Concurrent Technologies Corporation | Application framework for reactive information propagation and planning for lifelike exercises |
US8312058B2 (en) | 2009-09-01 | 2012-11-13 | International Business Machines Corporation | Method of providing element dossiers that include elements from nonadjacent lifecycle phases |
US8341175B2 (en) | 2009-09-16 | 2012-12-25 | Microsoft Corporation | Automatically finding contextually related items of a task |
US20110107246A1 (en) | 2009-11-03 | 2011-05-05 | Schlumberger Technology Corporation | Undo/redo operations for multi-object data |
-
2012
- 2012-02-09 US US13/369,955 patent/US9311623B2/en not_active Expired - Fee Related
- 2012-09-12 US US13/612,015 patent/US9311624B2/en not_active Expired - Fee Related
-
2013
- 2013-01-29 GB GB1415319.1A patent/GB2514950A/en not_active Withdrawn
- 2013-01-29 DE DE112013000916.1T patent/DE112013000916T5/de active Pending
- 2013-01-29 WO PCT/US2013/023578 patent/WO2013119416A1/en active Application Filing
- 2013-01-29 CN CN201380008803.5A patent/CN104106066B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115547A1 (en) * | 2001-11-21 | 2003-06-19 | Toshikazu Ohwada | Document processing apparatus |
US7814367B1 (en) * | 2004-11-12 | 2010-10-12 | Double-Take Software Canada, Inc. | Method and system for time addressable storage |
US20080177782A1 (en) * | 2007-01-10 | 2008-07-24 | Pado Metaware Ab | Method and system for facilitating the production of documents |
Also Published As
Publication number | Publication date |
---|---|
WO2013119416A1 (en) | 2013-08-15 |
GB2514950A (en) | 2014-12-10 |
US9311624B2 (en) | 2016-04-12 |
DE112013000916T5 (de) | 2014-10-23 |
US20130212473A1 (en) | 2013-08-15 |
CN104106066B (zh) | 2018-07-17 |
US20130212472A1 (en) | 2013-08-15 |
US9311623B2 (en) | 2016-04-12 |
GB201415319D0 (en) | 2014-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104106066A (zh) | 用于查看和操纵在时间参考点处的产物的系统 | |
US10740429B2 (en) | Apparatus and method for acquiring, managing, sharing, monitoring, analyzing and publishing web-based time series data | |
Sherman | Business intelligence guidebook: From data integration to analytics | |
US8340995B2 (en) | Method and system of using artifacts to identify elements of a component business model | |
US7613713B2 (en) | Data ecosystem awareness | |
US7565613B2 (en) | User interface incorporating data ecosystem awareness | |
CN102385483B (zh) | 基于上下文的用户接口、搜索和导航 | |
KR101033446B1 (ko) | 데이터 통합 시스템의 사용자 인터페이스 | |
CN104412227B (zh) | 基于查询的软件系统设计表示 | |
CN103186836B (zh) | 具有元素关系指示的业务智能控制面板组装系统和方法 | |
US10733562B2 (en) | Method, device, system of model-driven engineering of efficient industrial automation process and business process modeling with BPMN using native computation of XML schemas and objects | |
US20050289524A1 (en) | Systems and methods for software based on business concepts | |
CN103678452B (zh) | 可视化以及与业务对象的分析的整合 | |
US20130204874A1 (en) | Hyper Adapter and Method for Accessing Documents in a Document Base | |
US20150142726A1 (en) | System and Method for Decision Driven Business Performance Management | |
US11175934B2 (en) | Method of defining and performing dynamic user-computer interaction, computer guided navigation, and application integration for any procedure, instructions, instructional manual, or fillable form | |
US7672969B1 (en) | Context based configuration management system | |
US7512451B2 (en) | System and method for interactive process management | |
Poorkiany et al. | Capturing, structuring and accessing design rationale in integrated product design and manufacturing processes | |
US20110246535A1 (en) | Apparatus and Method for Constructing Data Applications in an Unstructured Data Environment | |
US9704168B2 (en) | Method and system for implementing profiles for an enterprise business application | |
CN105956087A (zh) | 数据及代码版本管理系统及方法 | |
Gonzalez-Lopez et al. | Integration of business process architectures within enterprise architecture approaches: a literature review | |
Molina et al. | An MDE modeling framework for measurable goal‐oriented requirements | |
WO2016131014A1 (en) | User interface and platform for data visualization and analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
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: 20180717 |