CN102414657A - 电子笔记本中的共享作业调度 - Google Patents

电子笔记本中的共享作业调度 Download PDF

Info

Publication number
CN102414657A
CN102414657A CN2010800200084A CN201080020008A CN102414657A CN 102414657 A CN102414657 A CN 102414657A CN 2010800200084 A CN2010800200084 A CN 2010800200084A CN 201080020008 A CN201080020008 A CN 201080020008A CN 102414657 A CN102414657 A CN 102414657A
Authority
CN
China
Prior art keywords
information
job
shared
file
notebook
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
Application number
CN2010800200084A
Other languages
English (en)
Other versions
CN102414657B (zh
Inventor
N·M·迈尔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102414657A publication Critical patent/CN102414657A/zh
Application granted granted Critical
Publication of CN102414657B publication Critical patent/CN102414657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

将作业同步到共享笔记本的体系结构消除了对用户干预的需要并保证笔记本客户机的仅一个实例执行该任务。作业跟踪组件创建和维护针对共享笔记本信息处理的作业的跟踪信息。调度组件基于跟踪信息针对共享笔记本信息同步新作业。跟踪信息可以是存储在表示电子笔记本的分级数据集合的根级别处的文件或单元。文件包括与已经处理的作业相关的性质。在处理新作业时更新各性质。作业调度包括对共享笔记本信息的全文件更新和/或增量更新。

Description

电子笔记本中的共享作业调度
背景
可以共享电子虚拟笔记本以使得多个用户可以同时地打开和编辑。存在可以受益于周期性地运行任务的共享笔记本的功能部件。这些任务或作业通常需要仅运行一次且由打开共享笔记本的仅一个客户机或机器运行。在一些情况中,使得多于一个的个人或实例试图执行相同的任务可以引起不可预测的结果或潜在损坏的数据。
利用周期性的作业运行的功能部件的示例是笔记本的HTML视图。对于不安装笔记本客户机但经由web浏览器访问笔记本的各用户,那些用户可能期望笔记本内容的只读HTML视图。为了HTML视图具有任何价值,必须周期性地(且如果存在改变则频繁地)更新视图,但仅由打开笔记本程序的一个客户机进行。另外,运行笔记本程序的哪一用户将执行作业的判决应该是自动的,且在不需要用户干预或输入的情况下就执行。
概述
以下呈现了简化概述以提供对在此描述的一些新颖的实施方式的基本理解。本概述不是广泛的概览,且它不旨在标识关键/重要的元素或者描绘其范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更详细的描述的序言。
所公开的体系结构是其中可以将任务或作业公布给共享笔记本且由仅一个笔记本客户机实例执行同步,由此消除了对用户干预的需要并保证笔记本客户机的仅一个实例执行任务的技术。
该体系结构可以包括与共享电子笔记本相关联的用于创建和维护针对共享笔记本信息处理的作业的跟踪信息的作业跟踪组件,以及用于由客户机实例基于跟踪信息针对共享笔记本信息同步新作业的调度组件。客户机实例可以是可以与共享电子笔记本交互或正在与之交互的多个客户机实例中的一个。
跟踪信息可以是存储在分级数据集合的根级别处的文件,其中分级数据集合表示电子笔记本。该文件包括与已经处理的作业相关的性质。在处理新作业时更新各性质。作业调度包括对共享笔记本信息的全文件更新和/或增量更新。
可以将该体系结构应用到支持电子笔记本的任何存储机制,且也扩展到任何数量的用户。不要求用户交互,且处理在后台发生。
为了实现前述的和相关的目标,在此结合下列的描述和附图描述某些说明性的方面。这些方面指示可以实践在此公开的原理的各种方式,且所有方面及其等效物预期是在所要求保护的本主题的范围内。当结合各图考虑时,将从下列详细描述明显看出其他优点和新颖的特征。
附图说明
图1阐释根据所公开的体系结构的计算机实现的作业调度系统。
图2阐释作业调度系统的替代的实施方式。
图3阐释用于作业调度的共享虚拟电子笔记本体系结构的示例的可视描述。
图4阐释根据所公开的体系结构的一种实施方式的全文件笔记本作业调度系统。
图5阐释根据所公开的体系结构的一种实施方式的基于单元的电子笔记本作业调度系统。
图6阐释作业调度的方法。
图7阐释图6的方法的附加的方面。
图8阐释表示用于全文件作业的作业调度和执行的状态图。
图9阐释表示用于修订作业的作业调度和执行的状态图。
图10阐释根据所公开的体系结构的可操作为执行用于电子笔记本的作业的计算系统的框图。
图11阐释用于虚拟电子笔记本作业调度和同步的计算环境的示意性框图。
详细描述
所公开的体系结构允许多个笔记本客户机在不需要客户机之间的直接通信或协调的前提下针对可共享电子笔记本运行所调度的作业。可写入的文件(也被称为跟踪信息)被定位为与可共享的笔记本相关联,且在同步到笔记本期间任何笔记本客户机可以在文件上采取受保证的原子锁。该文件可以将各性质存储到在根处的笔记本中,且使用该文件来同步各客户机实例的作业。各性质可以包括该作业的上次运行的时间(例如,UTC——协调世界时间),且可以期望其他性质。
现在对各图进行引用,其中同样的参考数字始终用来指示同样的元素。在下列描述中,出于解释的目的,陈述众多具体的细节以提供其详尽理解。然而,明显的是,可以在不需要这些具体的细节的情况下就实践各新颖的实施例。在其他实例中,以框图形式示出公知的结构和设备以促进其描述。预期覆盖落在所要求保护的本主题的精神和范围内的所有修改、等效物和替代物。
图1阐释根据所公开的体系结构的计算机实现的作业调度系统100。系统100包括与共享电子笔记本104相关联的用于创建和维护针对共享笔记本信息110处理的作业108的跟踪信息106的作业跟踪组件102。系统100可以也包括用于由客户机实例116基于跟踪信息106针对共享笔记本信息110同步新作业114的调度组件112。客户机实例116可以是可以与共享电子笔记本104交互或者正在与之交互的多个客户机实例118中的一个。
跟踪信息106可以是存储在分级数据集合的根级别处的文件,其中分级数据集合表示笔记本。该文件包括与已经处理的作业相关的性质。在处理新作业时更新各性质。在调度组件112将新作业114从客户机实例116同步到共享笔记本信息110时,客户机实例116获得关于共享笔记本信息110的原子锁。新作业可以是处理笔记本的全文件的全文件作业,或者新作业是增量作业,以使得仅处理文件的数据的一部分以供同步。
电子笔记本可以被描述为类似于文件系统中的文件和目录的文件和目录的集合。作为全文件机制,笔记本被存储为全文件。笔记本的单个部分映射到单个文件,且每当做出改变时,独立于改变的大小,作为全文件而访问该文件。全文件笔记本将笔记本部分映射到文件并将笔记本文件夹映射到目录。根目录是笔记本的顶端。在下文提供电子笔记本中的视图的示例性可视描述以及文件和目录的笔记本集合如何转换成文件系统。
处理原子文件锁,其中在不能中断的单次操作中获得对笔记本全文件的访问权。一旦获得全文件锁,就保证笔记本客户机实例是具有对全文件的独占访问权——在另一客户机拥有该锁的同时拒绝所有其他客户机实例访问。
图2阐释作业调度系统200的替代的实施方式。系统200包括经由增量更新组件202的实现促进客户机笔记本数据(作业)的增量同步。然后,作业108可以仅是从一个更新到另一更新的改变(或△改变),且不是在此描述的全文件更新。
系统200可以也包括与共享电子笔记本104相关联的用于创建和维护针对共享笔记本信息110处理的作业108(现在是增量更新)的跟踪信息106的作业跟踪组件102。系统200也包括用于由客户机实例116基于跟踪信息106针对共享笔记本信息110同步新作业114(现在是新的增量更新)的调度组件112。客户机实例116可以是可以与共享电子笔记本104交互或正在与之交互的多个客户机实例118中的一个。
如前所述,跟踪信息106可以是存储在分级数据集合的根级别处的文件,其中分级数据集合表示笔记本104。在增量实施方式中,跟踪信息106包括与已经处理的作业相关的性质。在处理新作业时,更新跟踪信息106的性质。
对于用户做出的每一改变,各作业是对能够增量的服务器的文件而不是全文件的增量更新(也被称为修订)。例如,如果改变文本文档中的一个字母并保存到协作服务器,则在全文件实现中需要上载整个文本文档。相反,增量兼容的服务器仅接受描述所做出的(各)改变的数据的小的分组。客户机不使用在全文件实现中描述的原子文件锁。
使用修订来描述在做出小的文档编辑时代替全文件而被发送的改变的分组。当被分组在一起时,单元的所有修订构成页面或部分。单元是看上去是独立的一部分文档。例如,作为单元的最小单元可以是页面,而不是其中最小单元是一节(该节是文件)的全文件笔记本。
换句话说,作业调度系统200包括与共享电子笔记本104相关联的用于创建和维护针对共享笔记本信息110处理的作业的跟踪信息106的作业跟踪组件102。将跟踪信息106存储在表示笔记本104的分级数据集合的根级别处,且跟踪信息106包括与已经处理的作业相关的性质。系统200也包括用于基于跟踪信息106将新作业114从客户机实例116同步到共享笔记本信息110的调度组件112,跟踪信息106包括新作业114的上次运行的时间信息。
新作业114可以是全文件作业,且在调度组件112将全文件作业同步到共享笔记本信息110时,客户机实例116获得关于共享笔记本信息110的文件锁。调度组件112将随机额外时间添加到新作业114以减少各客户机实例在并发作业执行的尝试。
系统200还可以包括用于接收作为对共享笔记本信息110的增量更新的新作业114的增量更新组件202。新作业是仅与经改变的数据相关的改变的分组。
图3阐释用于作业调度的共享虚拟电子笔记本体系结构的示例的可视描述300。虚拟的电子笔记本包括正如文件系统中的文件和目录一样的文件和目录的集合。全文件笔记本将笔记本部分映射到文件并将笔记本文件夹映射到目录。根目录是笔记本的顶端。可视描述300示出笔记本用户界面视图302的一个示例,以及视图302如何转换成下面的文件系统304中的文件和文件夹。视图302示出包括工作笔记本的笔记本,工作笔记本包括会议记录、项目A、项目B、研究和文件夹。文件夹扩展为包括被命名为旅行、计划和杂项的笔记本文件。
仅出于描述性的目的,在根级别包括作为系统文件列表的job_token(作业_令牌)文件的跟踪信息。所公开的体系结构将文件放置在存储各性质的笔记本的根级别处。job_token文件被用来同步作业,并且也被用来跟踪作为性质的该作业的上次运行的时间(例如,UTC)和所期望的任何其他性质。
对于全文件实现,在同步发生时,客户机实例将不间断的原子文件锁放置在job_token文件上。一旦获得,就保证客户机实例具有独占访问权。
所公开的体系结构给多个笔记本客户机提供不需要在各客户机之间的直接通信或协调的前提下就针对共享笔记本运行所调度的作业的能力。
图4阐释根据所公开的体系结构的一种实施方式的全文件笔记本作业调度系统400。系统400包括通过基于客户机的操作系统402操作以与共享笔记本104交互的笔记本客户机实例116。
共享笔记本104被表示成包括两个部分文件404,尽管可以采用其他文件和文件夹。另外,可以在共享笔记本文件404的根级别处创建、存储和维护跟踪信息文件406(被表示成job_token文件)。正如所阐释的,在文件服务器408上存储和维护共享笔记本104,文件服务器408可以例如是任何LDAP(轻量级目录访问协议)文件服务器。
图5阐释根据所公开的体系结构的一种实施方式的基于单元的电子笔记本作业调度系统500。系统500包括笔记本客户机实例116从增量更新组件202操作到基于客户机的操作系统402以与文件服务器408上的共享笔记本104交互。
在这里,共享笔记本104被表示成包括两个部分单元502,尽管可以采用其他单元。另外,可以在共享笔记本单元502的根级别处创建、存储和维护跟踪信息单元504(被表示成job_token单元)。正如所阐释的,在文件服务器408上存储和维护共享笔记本104,文件服务器408可以例如是任何LDAP(轻量级目录访问协议)文件服务器。
在此包括的是表示用于执行所公开的体系结构的新颖方面的示例性方法论的一组流图。尽管出于简化解释的目的将在此例如以流图或流程图的形式示出的一个或多种方法论示出和描述为一系列动作,但应理解和明白,各方法论不受各动作的次序限制,这是因为根据其的一些动作可以以与在此示出和描述的次序不同的次序发生或者与其他动作同时发生。例如,本领域中的技术人员应理解和明白,可以替代地将方法论可以表示成例如在状态图中的一系列相关的状态或事件。此外,对于新颖的实现,并不要求方法论中所阐释的所有动作。
图6阐释作业调度的方法。在600,创建和维护针对共享笔记本信息处理的作业的跟踪信息。在602,调度作业以同步到共享笔记本信息。在608,基于跟踪信息将所调度的作业同步到共享笔记本信息。
图7阐释图6的方法的附加方面。在700,将跟踪信息存储成在文件服务器的共享笔记本信息的根级别处的数据。在702,调度全文件作业以将全文件同步到共享笔记本信息。在704,调度修订作业以将部分更新同步到共享笔记本信息。在706,提交依赖于先前修订的对跟踪信息的采取锁修订。在708,在执行作业之前等待预定义的时限。在710,访问跟踪信息以获得上次运行作业的时间信息。
图8阐释表示用于全文件作业的作业调度和执行的状态图800。在802,读取job_token文件形式的跟踪信息以处理作业。从服务器源位置读取该文件,且如果存在任何先前已处理的作业则获取上次执行的作业的时间。在804,将随机额外时间添加到作业的调度。回忆上次执行的作业(或使用默认值)且添加该随机额外时间。这是为了减轻或防止客户机尝试在相同的时间执行作业。在806,进入后台等待状态,等待任何作业时间超过预定义的时限。执行最终匹配用于处理作业的时间的倒数计时。这允许各作业在不同的时刻或以不同的频率运行(例如,一个作业以每小时一次,且另一作业以每日一次)。
如果作业时间到了,则流转到下一状态808,其中在笔记本的根处对job_token文件采取文件锁。如果锁采取失败,则流回到802。如果锁采取成功,则从服务器检索job_token文件的另一副本。这是因为另一作业已经获得锁并且获得了新的跟踪信息。在810,从job_token文件获取上次运行作业的时间,以确保在获取锁时作业不运行。如果自从上次作业运行以来没有过去足够的时间,则释放锁且流回到802。
如果作业还没有运行,则流是从810到812以执行作业。如果作业执行成功,则流转到814以更新job_token文件。如果作业执行失败,则流是从812到816以中止作业。在作业执行成功或失败的任一情况中,流转到818以释放关于job_token文件的锁。然后,流从818回到804重启和添加随机额外时间。
图9阐释表示修订作业的作业调度和执行的状态图900。在902,从文件服务器的共享笔记本请求所有job_token单元修订。在这些修订中将是上次作业的时间以及任何其他客户机是否拥有关于该单元的当前的锁。从服务器源位置读取该文件,且如果存在任何先前已处理的作业则获取上次执行的作业的时间。在904,将随机额外时间添加到作业的调度。回忆上次执行的作业(或使用默认值)且添加该随机额外时间。这是为了防止客户机尝试在相同的时间执行作业。在906,进入后台等待状态,等待任何作业时间超过预定义的时限。执行最终匹配用于处理作业的时间的倒数计时。这允许各作业在不同的时刻或以不同的频率运行(例如,一个作业以每小时一次,且另一作业以每日一次)。
如果作业的时间到了,则流转到下一状态908,以提交依赖于先前修订的采取锁修订。这确保如果该单元中的最新修订改变(这通常意味着另一客户机已经采取锁),则该当前采取锁将失败。如果锁采取失败,则流回到902。如果锁采取成功,在流是从908到910,其中从服务器获得所有单元修订的副本。在910,从job_token单元获得上次运行作业的时间,以确保在获取锁时作业不运行。如果自从上次作业运行以来没有过去足够的时间,则释放锁且流是从910回到902。
如果到了作业执行的时间,则流是从910到912以执行作业。如果作业执行成功,则流转到914以更新job_token单元性质。通过提交该性质的新修订来在job_token单元中更新作业运行的时间。如果作业执行失败,则流是从912到916以中止作业。在作业执行成功或失败的任一情况中,流转到918以通过提交释放锁修订释放job_token单元上的锁。然后,流是从918回到904重启和添加随机额外时间。
尽管相对于某些图将向用户显示信息的某些方式示出和描述为屏幕截图,但相关领域中的技术人员应认识到,可以采用各种其他替代物。通常在此可互换地使用术语“屏幕”、“屏幕截图”、“网页”、“文档”和“页面”。作为显示器描述、图形用户界面或通过在屏幕(例如,无论是个人计算机、PDA、移动电话或其他合适的设备)上描述信息的其他方法存储和/或传送页面或屏幕,其中将要显示在页面上的布局和信息或内容存储在存储器、数据库或另一存储设施中。
如本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,可以是硬件、硬件或软件的组合、软件或执行中的软件。例如,组件可以是但不限于,在处理器上运行的进程、处理器、硬盘驱动器、多个存储驱动器(光学的、固态的和/或磁存储介质的)、对象、可执行程序、运行的线程、程序和/或计算机。作为阐释,运行在服务器上的应用程序或该服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机上和/或在两个或更多个计算机之间分布。在此可以使用词“示例性”来意指用作示例、实例或阐释。在此描述为“示例性”的任何方面或设计并不必定应被解释成比其他方面或设计更优选或有益。
现在参见图10,阐释根据所公开的体系结构的可操作为执行电子笔记本的作业的计算系统1000的框图。为了为其各种方面提供附加的上下文,图10和下列讨论旨在提供其中可以实现各种方面的合适的计算系统1000的简要、一般的描述。尽管上面的描述是在可以在一个或多个计算机上运行的计算机可执行指令的一般上下文中,但本领域中的技术人员应认识到,也可以与其他程序模块组合实现新颖的实施方式和/或将其实现为硬件和软件的组合。
用于实现各种方面的计算系统1000包括具有处理单元1004、系统存储器1006和系统总线1008的计算机1002。处理单元1004可以是各种商业上可获得的处理器中的任何处理器,例如单处理器、多处理器、单核心单元和多核心单元。此外,本领域中的技术人员应明白,可以借助于其他计算机系统配置实践各新颖方法,其他计算机系统配置包括小型计算机、大型计算机以及个人计算机(例如,台式计算机、膝上型计算机等等)、手持式计算设备、基于微处理器的或可编程的消费性电子设备等等,每一种计算系统配置都操作上耦合到一个或多个关联的设备。
系统存储器1006可以包括易失性(VOL)存储器1010(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)1012(例如,ROM、EPROM、EEPROM等等)。基本输入/输出系统(BIOS)可以被存储在非易失性存储器1012中,且包括例如在启动期间促进在计算机1002内的组件之间的数据和信号的传输的基本例程。易失性存储器1010可以也包括用于高速缓存数据的诸如静态RAM等的高速RAM。
系统总线1008为包括但不限于存储器子系统1006的系统组件提供到处理单元1004的接口。系统总线1008可以是若干类型的总线结构中的任何,这些总线结构可以使用各种商业上可获得的总线体系结构中的任何来进一步互连到存储器总线(带有或不带有存储器控制器)和外围设备总线(例如,PCI、PCIe、AGP、LPC等等)。
计算机1002还包括存储子系统1014和用于将存储子系统1014连接到系统总线1008和其他所期望的计算机组件的存储接口1016。例如,存储子系统1014可以包括硬盘驱动器(HDD)、软磁盘驱动器(FDD)和/或光盘存储驱动器(例如,CD-ROM驱动器DVD驱动器)中的一个或多个。例如,存储接口1016可以包括诸如EIDE、ATA、SATA和IEEE 1394等的接口技术。
可以将一个或多个程序和数据存储在存储器子系统1006、可移动存储器子系统1018(例如,闪速驱动器形式的技术)和/或存储子系统1014(例如,光、磁、固态)中,这些程序和数据包括操作系统1020、一个或多个应用程序程序1022其他程序模块1024和程序数据1026。
在计算机1002是基于客户机的机器的情况下,例如,一个或多个应用程序程序1022、其他程序模块1024和程序数据1026可以包括图1的客户机实例118、作业108和新作业114、图2的增量更新组件202、图3的视图302、图4的操作系统403和图6-图9的流图和状态图中阐释的步骤中的一个或多个。
在计算机1002是基于服务器的机器的情况下,例如,一个或多个应用程序程序1022、其他程序模块1024和程序数据1026可以包括图1的作业跟踪组件102、跟踪信息106、调度组件112、作业108、新作业114、共享电子笔记本104和共享笔记本信息110、图3的文件系统304、图4的文件服务器408、共享笔记本文件404和跟踪信息文件406、图5的共享笔记本文件502和跟踪信息单元504和图6-图9的流图和状态图中阐释的步骤中的一个或多个。
一般地,程序包括执行特定的任务或实现特定的抽象数据类型的例程、方法、数据结构、其他软件组件等等。例如,也可以将操作系统1020、应用程序1022、模块1024和/或数据1026的全部或部分高速缓存在诸如易失性存储器1010等的存储器中。所公开的架构可以用各种市场上可购得的操作系统或操作系统的组合(例如,作为虚拟机)来实施。
存储子系统1014和存储器子系统(1006和1018)充当用于数据、数据结构、计算机可执行指令等等的易失性和非易失性存储的计算机可读介质。计算机可读介质可以是可由计算机1002访问的任何可用的介质且包括易失性介质和非易失性介质、可移动介质和不可移动介质。对于计算机1002,该介质以任何合适的数字格式容纳数据的存储。本领域中的技术人员应明白,可以采用用于存储计算机可执行指令以执行所公开的体系结构的各新颖方法的其他类型的计算机可读介质,例如zip驱动器、磁带、闪速存储器卡、盒式磁带等等。
用户可以使用诸如键盘和鼠标等的外部用户输入设备1028与计算机1002、程序和数据交互。其他外部用户输入设备1028可以包括话筒、IR(红外)遥控器、操纵杆、游戏垫、照相机识别系统、触笔、触摸屏、手势系统(例如,眼睛移动、头移动、等等)和/或类似物。例如,在计算机1002是便携式计算机的场合,用户可以使用诸如触摸板、话筒、键盘等等的板载用户输入设备1030与计算机1002、程序和数据交互。这些和其他输入设备通过输入/输出(I/O)设备接口1032经由系统总线1008连接到处理单元1004,但是可以由诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等等的其他接口连接。I/O设备接口1032也促进诸如打印机、音频设备、照相机设备等等的输出外围设备1034的使用,例如声卡和/或板载音频处理能力。
一个或多个图形接口1036(通常也被称为图形处理单元(GPU))在计算机1002和外部显示器1038(例如,LCD、等离子体)和/或板载显示器1040(例如,用于便携式计算机)之间提供图形和视频信号。图形接口1036可以也是被制造成计算机系统板的一部分。
计算机1002可以使用经由有线/无线通信子系统1042到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,IP)中操作。其他计算机可以包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他普通网络节点,且通常包括相对于计算机1002描述的元素中的许多或全部。逻辑连接可以包括到局域网(LAN)、广域网(WAN)、热点等等的有线/无线连接。LAN和WAN联网环境在办公室和公司中是常见的,且促进诸如内联网等的企业范围的计算机网络,所有这些网络可以连接到诸如因特网等的全球通信网络。
在被用于联网环境时,计算机1002经由有线/无线通信子系统1042(例如,网络接口适配器、板载收发器子系统等等)连接到网络以与有线/无线网络、有线/无线打印机、有线/无线输入设备1044等等通信。计算机1002可以包括调制解调器或具有用于在网络上建立通信的其他装置。在联网环境中,可以将与计算机1002有关的程序和数据存储在与分布式系统相关联的远程存储器/存储设备中。应明白,所示出的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他装置。
计算机1002可操作为使用诸如IEEE 802.xx标准族等的射频技术与有线/无线设备或实体通信,各有线/无线设备或实体诸如操作上被放置在与例如打印机、扫描仪、台式计算机和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件装置或与无线可探测标签相关联的位置(例如,公用电话亭、报亭、休息室)和电话的无线通信(例如,IEEE 802.11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi(或无线保真度)、WiMax和蓝牙TM无线技术。因而,通信可以是如同在至少两个设备之间的常规网络或简单地自组织通信一样的预定义结构。Wi-Fi网络使用被称为IEEE 802.11x(a,b,g等等)的射频技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可以用来将计算机连接到彼此、连接到因特网和连接到有线网络(有线网络使用IEEE 802.3相关介质和功能)。
也可以在分布式计算环境中实践所阐释的各方面,分布式计算环境中,某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和/或远程存储和/或存储器系统。
现在参见图11,阐释用于虚拟电子笔记本作业调度和同步的计算环境1100的示意性框图。环境1100包括一个或多个客户机1102。客户机1102可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,客户机1102可以容纳cookie和/或关联上下文信息。
环境1100也包括一个或多个服务器1104。服务器1104也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,通过采用该体系结构,服务器1104可以容纳执行变换的线程。在客户机1102和服务器1104之间的一种可能的通信可以是以适于在两个或更多个计算机进程之间传送的数据分组的形式。例如,数据分组可以包括cookie和/或关联上下文信息。环境1100包括可以被用来促进在客户机1102和服务器1104之间的通信的通信框架1106(例如,诸如因特网等的全球通信网络)。
可以经由有线(包括光纤)和/或无线技术促进通信。客户机1102操作上被连接到可以被用来存储客户机1102的本地信息(例如,cookie和/或关联上下文信息)的一个或多个客户机数据存储1108。类似地,服务器1104操作上被连接到可以被用来存储服务器1104的本地信息的一个或多个服务器数据存储1110。
以上已经描述的内容包括所公开的体系结构的示例。当然,不可能描述各组件和/或方法论的每一可想象的组合,但本领域中的普通技术人员可以认识到,许多进一步组合和排列是可能的。因此,本新颖体系结构旨在包含落在所附权利要求的精神和范围内的所有这样的变更、修改和变更。此外,在术语“包括(include)”被用于详细描述或权利要求的范围内,这样的术语旨在是以类似于术语“包括(comprise)”的方式包括在内,如同当“包括(comprise)”在权利要求中被用作过渡词时所解释的那样。

Claims (15)

1.一种计算机实现的作业调度系统(100),包括:
用于创建和维护针对共享笔记本信息处理的作业的跟踪信息的与共享电子笔记本相关联的作业跟踪组件(102);以及
用于由客户机实例基于所述跟踪信息针对所述共享笔记本信息同步新作业的调度组件(112)。
2.如权利要求1所述的系统,其特征在于,所述跟踪信息是被存储在数据集合中的文件,所述数据集合表示所述笔记本,且所述文件包括与已经处理的作业相关的性质。
3.如权利要求1所述的系统,其特征在于,在所述调度组件将所述新作业从所述客户机实例同步到所述共享笔记本信息时,所述客户机实例获得关于所述共享笔记本信息的原子锁。
4.如权利要求1所述的系统,其特征在于,所述新作业是全文件作业或增量作业。
5.如权利要求1所述的系统,其特征在于,进一步包括用于接收作为对所述共享笔记本信息的增量更新的所述新作业的增量更新组件。
6.如权利要求5所述的系统,其特征在于,用于所述增量更新的所述新作业是仅与已改变的数据相关的改变的分组。
7.如权利要求1所述的系统,其特征在于,所述跟踪信息包括所述新作业的上次运行的时间信息。
8.如权利要求1所述的系统,其特征在于,所述调度组件将随机额外时间添加到所述新作业以减少由多个客户机在并发作业执行的尝试。
9.一种作业调度的计算机实现的方法,包括:
创建和维护针对共享笔记本信息处理的作业的跟踪信息(600);
调度作业以同步到所述共享笔记本信息(602);以及
基于所述跟踪信息将所调度的作业同步到所述共享笔记本信息(604)。
10.如权利要求9所述的方法,其特征在于,进一步包括将所述跟踪信息存储成在文件服务器的所述共享笔记本信息的根级别处的数据。
11.如权利要求9所述的方法,其特征在于,进一步包括调度全文件作业以将全文件同步到所述共享笔记本信息。
12.如权利要求9所述的方法,其特征在于,进一步包括调度修订作业以将部分更新同步到所述共享笔记本信息。
13.如权利要求9所述的方法,其特征在于,进一步包括提交依赖于先前修订的关于所述跟踪信息的采取锁修订。
14.如权利要求9所述的方法,其特征在于,进一步包括在执行所述作业之前等待预定义的时限。
15.如权利要求9所述的方法,其特征在于,进一步包括访问所述跟踪信息以获得上次运行作业的时间信息。
CN201080020008.4A 2009-05-01 2010-04-30 电子笔记本中的共享作业调度系统及方法 Active CN102414657B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/433,907 2009-05-01
US12/433,907 US9665413B2 (en) 2009-05-01 2009-05-01 Shared job scheduling in electronic notebook
PCT/US2010/033235 WO2010127286A2 (en) 2009-05-01 2010-04-30 Shared job scheduling in electronic notebook

Publications (2)

Publication Number Publication Date
CN102414657A true CN102414657A (zh) 2012-04-11
CN102414657B CN102414657B (zh) 2014-12-24

Family

ID=43031392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080020008.4A Active CN102414657B (zh) 2009-05-01 2010-04-30 电子笔记本中的共享作业调度系统及方法

Country Status (14)

Country Link
US (1) US9665413B2 (zh)
EP (1) EP2425327A4 (zh)
JP (1) JP5744846B2 (zh)
KR (1) KR101660072B1 (zh)
CN (1) CN102414657B (zh)
AU (1) AU2010242832B2 (zh)
BR (1) BRPI1011218A2 (zh)
CA (1) CA2757073C (zh)
IL (1) IL215416A (zh)
MX (1) MX2011011344A (zh)
RU (1) RU2546326C2 (zh)
TW (1) TWI522936B (zh)
WO (1) WO2010127286A2 (zh)
ZA (1) ZA201106948B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031109A (zh) * 2019-11-29 2020-04-17 广西电网有限责任公司防城港供电局 一种网络安全设备备份及同步管理的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529884B2 (en) 2012-01-19 2016-12-27 Microsoft Technology Licensing, Llc Usage based synchronization of note-taking application features
US9158559B2 (en) * 2012-01-27 2015-10-13 Microsoft Technology Licensing, Llc Roaming of note-taking application features
US8843587B2 (en) * 2012-02-07 2014-09-23 Microsoft Corporation Retrieving availability information from published calendars
US9870295B2 (en) * 2014-07-18 2018-01-16 General Electric Company Automation of workflow creation and failure recovery
JP6074396B2 (ja) * 2014-09-26 2017-02-01 富士フイルム株式会社 レイアウト作成システム、サーバ、クライアント、レイアウト作成方法、プログラムおよび記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174180A1 (en) * 2001-03-16 2002-11-21 Novell, Inc. Client-server model for synchronization of files
CN1804836A (zh) * 2005-01-14 2006-07-19 微软公司 用于同步对共享对象的多个用户修订的方法和系统
US20090024673A1 (en) * 2007-07-06 2009-01-22 Salesforce.Com Inc. System and method for tracking documents in an on-demand service

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0318935A (ja) * 1989-06-15 1991-01-28 Hitachi Ltd データリストに対するアクセスの直列化方式
JP2703498B2 (ja) * 1993-04-30 1998-01-26 インターナショナル・ビジネス・マシーンズ・コーポレイション バージョン化オブジェクトに対するロッキング機構
JP3516049B2 (ja) 1995-03-17 2004-04-05 富士通株式会社 バッチジョブ制御システム
US6668073B1 (en) 1998-11-12 2003-12-23 The University Of British Columbia Anthropomorphic film phantom for three-dimensional dosimetry
JP3915331B2 (ja) 1999-08-10 2007-05-16 富士ゼロックス株式会社 共有ドキュメントの編集装置及び編集方法
US6687257B1 (en) 1999-08-12 2004-02-03 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing
US6625258B1 (en) 1999-12-27 2003-09-23 Nortel Networks Ltd System and method for providing unified communication services support
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US7249314B2 (en) 2000-08-21 2007-07-24 Thoughtslinger Corporation Simultaneous multi-user document editing system
US7239689B2 (en) 2000-11-16 2007-07-03 C.D.C. S.R.L. Apparatus and method for integrating phone communications and data transmission on LANs and for automatically selecting lowest-prices carrier and connection mode
US20020124057A1 (en) 2001-03-05 2002-09-05 Diego Besprosvan Unified communications system
CN1301475C (zh) 2001-08-13 2007-02-21 鸿富锦精密工业(深圳)有限公司 用于无线设备的主动资料复制方法
US20030172185A1 (en) 2002-03-07 2003-09-11 Rockwell Electronic Commerce Technologies, L.L.C. Method and system for adding text data to data communication sessions
JP2004054799A (ja) 2002-07-23 2004-02-19 Katsuyoshi Nagashima ネットワーク電子手帳およびスケジュール予約方法
US7206776B2 (en) 2002-08-15 2007-04-17 Microsoft Corporation Priority differentiated subtree locking
US7584114B2 (en) 2003-01-22 2009-09-01 International Business Machines Corporation System and method for integrating projects events with personal calendar and scheduling clients
US7343432B1 (en) * 2003-09-19 2008-03-11 Emc Corporation Message based global distributed locks with automatic expiration for indicating that said locks is expired
US8019779B2 (en) 2004-05-04 2011-09-13 International Business Machines Corporation Efficient locking protocol for sub-document concurrency control using prefix encoded node identifiers in XML databases
US8141076B2 (en) 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
RU2295752C1 (ru) 2006-03-20 2007-03-20 Закрытое акционерное общество "1С Акционерное общество" Способ управления синхронизацией обновлений программного обеспечения
US20070255833A1 (en) 2006-04-27 2007-11-01 Infosys Technologies, Ltd. System and methods for managing resources in grid computing
US20080184241A1 (en) 2007-01-30 2008-07-31 Microsoft Corporation Techniques for automated balancing of tasks across multiple computers
US20080288501A1 (en) 2007-05-14 2008-11-20 Michael Bender Integrating Database Functionality with Workload Schedulers
US7933952B2 (en) 2007-06-29 2011-04-26 Microsoft Corporation Collaborative document authoring
US8544014B2 (en) 2007-07-24 2013-09-24 Microsoft Corporation Scheduling threads in multi-core systems
US9436927B2 (en) * 2008-03-14 2016-09-06 Microsoft Technology Licensing, Llc Web-based multiuser collaboration
US7899883B2 (en) * 2008-06-13 2011-03-01 Microsoft Corporation Merging versions of documents using multiple masters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174180A1 (en) * 2001-03-16 2002-11-21 Novell, Inc. Client-server model for synchronization of files
CN1804836A (zh) * 2005-01-14 2006-07-19 微软公司 用于同步对共享对象的多个用户修订的方法和系统
US20090024673A1 (en) * 2007-07-06 2009-01-22 Salesforce.Com Inc. System and method for tracking documents in an on-demand service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031109A (zh) * 2019-11-29 2020-04-17 广西电网有限责任公司防城港供电局 一种网络安全设备备份及同步管理的方法
CN111031109B (zh) * 2019-11-29 2022-12-06 广西电网有限责任公司防城港供电局 一种网络安全设备备份及同步管理的方法

Also Published As

Publication number Publication date
JP5744846B2 (ja) 2015-07-08
RU2011144132A (ru) 2013-05-10
WO2010127286A3 (en) 2011-01-20
RU2546326C2 (ru) 2015-04-10
AU2010242832A1 (en) 2011-10-20
JP2012525656A (ja) 2012-10-22
WO2010127286A2 (en) 2010-11-04
TWI522936B (zh) 2016-02-21
CA2757073C (en) 2016-09-20
CN102414657B (zh) 2014-12-24
US20100281484A1 (en) 2010-11-04
BRPI1011218A2 (pt) 2016-03-15
TW201040855A (en) 2010-11-16
EP2425327A2 (en) 2012-03-07
US9665413B2 (en) 2017-05-30
KR101660072B1 (ko) 2016-09-26
IL215416A (en) 2016-12-29
AU2010242832B2 (en) 2014-05-08
MX2011011344A (es) 2011-11-18
ZA201106948B (en) 2012-11-28
KR20120017414A (ko) 2012-02-28
CA2757073A1 (en) 2010-11-04
EP2425327A4 (en) 2013-04-03
IL215416A0 (en) 2011-12-29

Similar Documents

Publication Publication Date Title
CN102142024B (zh) 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退
CN102362277B (zh) 用于应用的可共享的分发的词典
CN102414657B (zh) 电子笔记本中的共享作业调度系统及方法
CN102567799A (zh) 文档内的版本历史
CN102622397A (zh) 微博基础结构中的散列标签管理
US11355231B2 (en) Scalable and traceable healthcare analytics management
Huang AppACTS: Mobile app automated compatibility testing service
CN102937909A (zh) 一种部署和更新Linux系统的方法
CN109117141A (zh) 简化编程的方法、装置、电子设备、计算机可读存储介质
CN101326512A (zh) 自动的设备博客创建
CN101911010A (zh) Javascript网格中的异步多级撤消支持
CN1741532A (zh) 智能网框架装置
CN111200595B (zh) 一种访问容器的权限管理方法、装置和电子设备
CN100585558C (zh) 用于提供和恢复数据的方法和装置
CN103617077A (zh) 智能型云端化移转的方法与系统
CN113253991A (zh) 任务可视化处理方法及装置、电子设备、存储介质
US11842116B2 (en) Screen data generating system, screen data generating method, and program
US11967418B2 (en) Scalable and traceable healthcare analytics management
CN113220507B (zh) 双主控系统的版本一致性检验方法及装置
CN202650006U (zh) 一种点阵字库在线更新系统
CN111414232B (zh) 虚拟机模板数据处理方法及装置
US20140113259A1 (en) System and Method for Reliable, Adaptive, and Objective Skills Based Testing
CN202662000U (zh) 一种渲染农场节点虚拟化部署装置
Robinson et al. An introduction to developing GitLab/Jacamar runner analyst centric workflows at Sandia
CN110990668A (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.