CN110121726A - 最相关的首先日历事件同步 - Google Patents
最相关的首先日历事件同步 Download PDFInfo
- Publication number
- CN110121726A CN110121726A CN201780081356.4A CN201780081356A CN110121726A CN 110121726 A CN110121726 A CN 110121726A CN 201780081356 A CN201780081356 A CN 201780081356A CN 110121726 A CN110121726 A CN 110121726A
- Authority
- CN
- China
- Prior art keywords
- event
- synchronous
- synchronization request
- time frame
- repository
- 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
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 34
- 238000013480 data collection Methods 0.000 claims description 5
- 230000004043 responsiveness Effects 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000032258 transport Effects 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06314—Calendaring for a resource
-
- 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
-
- 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/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
为了在本地日历与主日历同步期间提高用户设备的响应性,主日历将首先相对于当前时间向用户设备提供最相关的事件。因此,使用户设备能够向用户显示那些最相关的事件。
Description
背景技术
当同步日历应用程序以使得多个设备的日历应用程序中显示的事件包括等效事件时,用户经常遇到处理滞后,尤其是当要同步的事件的数量很大时。除了对用户造成烦扰之外,这种处理滞后通常会阻止用户访问日历应用程序或其它应用程序,直到同步完成为止;使用户长时间盯着日历中的空白当前时间框直到该时间框被填充为止,或者锁定设备以处理同步操作。
发明内容
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是旨在帮助确定本发明的保护范围。
本文讨论了用于为电子日历服务提供改进的同步操作的系统和方法,其具有提供相关事件数据的减少的等待时间以及针对正在同步的设备的减少的锁定。在一个方面,将这些改进作为用于同步日历上的事件的API(应用程序接口)提供,其将首先向用户返回最相关的事件(例如,通过在日历的其余部分之前同步第一个月的数据)。通过首先提供最相关的事件,提供了更佳的用户体验,这是因为应用程序不必在向用户显示日历之前等待加载整个事件集。利用这种改进,日历应用程序将自动查询并且首先返回当前时间框中发生的事件,然后是当前时间框之后的任何事件以及之前的任何事件。这允许客户端首先获得通常最感兴趣的信息,而不必在日历界面可用之前等待整个同步完成;使日历应用程序能够异步地开始显示第一时间框的数据,同时在后台继续进行同步,从而提供更具响应性的用户体验。
示例实现成计算机进程、计算系统或诸如设备、计算机程序产品或计算机可读介质之类的制品。根据一个方面,该计算机程序产品是计算机系统可读的计算机存储介质,其对包括有用于执行计算机进程的指令的计算机程序进行编码。
在下面的附图和描述中阐述了一个或多个方面的细节。通过阅读以下详细描述并查看相关的附图,其它特征和优点将变得显而易见。应当理解,以下的详细描述仅仅是解释性的,而不是对权利要求的限制。
附图说明
包含在本公开内容中并构成本公开内容的一部分的附图示出了各个方面。在附图中:
图1是示出可以实现本公开内容的示例性操作环境;
图2是示出用于从主存储库的角度同步日历的示例性方法中所涉及的通常阶段的流程图;
图3是示出用于从用户设备的角度同步日历的示例性方法中所涉及的通常阶段的流程图;
图4是示出计算设备的示例性物理部件的框图;
图5A和图5B是一种移动计算设备的框图;以及
图6是一种分布式计算系统的框图。
具体实施方式
下面的详细描述参照附图。在可以时,在附图和下面的描述中使用相同的附图标记来指代相同或者类似的元素。虽然描述了一些示例,但针对其的修改、调整和其它实现方式也是可能的。例如,可以对附图中所示出的组成部分进行替代、增加或者修改,可以通过对所公开的方法进行替代、重新排序或者增加阶段来修改本文所描述的方法。因此,以下的详细描述并非是对本发明进行限制,相反,本发明的适当保护范围由所附权利要求书进行界定。示例可以采用硬件实施方式、或整个软件实施方式、或者组合软件和硬件方面的实施方式。因此,下面的详细描述不应采用限制性的意义。
图1是可以实现本公开内容的示例性操作环境100。如图所示,用户设备110运行将事件存储在本地存储库130中的日历应用程序120。用户设备110与主存储库140通信,主存储库140存储将通过日历应用程序120同步到本地存储库130以供日历应用程序使用的事件。日历应用程序120向主存储库140发送同步请求,主存储库140首先返回它包含的对于最相关时间框的事件的一个子集,从而使日历应用程序120能够在该时间框中显示这些事件,并且作为后台进程将其它时间框同步到用户设备110。虽然本文给出的例子主要使用一个月的时间框,但应当理解,本公开内容也设想其它持续时间(例如,一周、三十天、一季度)的时间框。
用户设备110和主存储库140说明了多种多样的计算系统,其包括但不限于桌面型计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板设备或平板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器或者可编程消费电子产品、微型计算机、打印机和大型计算机。关于图4到图6更详细地讨论了这些计算系统的硬件。
虽然出于说明性目的而将用户设备110和主存储库140示出为彼此远离,但应当注意,将这些设备中的一个或多个本地托管到另一个示出的设备的若干配置是可能的,每个示出的设备可以表示该设备的多个实例。本领域普通技术人员熟悉的各种服务器和中介可以位于图1所示的组件系统之间,以对这些系统之间的通信进行路由,没有示出这些系统以免分散本公开内容的新颖方面。
日历应用程序120为各种用户提供跨各种时间框的事件,其包括会议、约会、联系信息(例如,地址簿)、可用性共享和提醒。例如,个人用户可以将与个人相关的事件加载到日历应用程序120中以跟踪这些事件何时发生。在另一个例子中,一个多个用户的家庭可以将与个体(或几个)家庭成员相关的事件加载到日历应用程序120中,以跟踪彼此发生的事件。为了说明起见,如果Alice在她的日历上的周一晚上要进行足球练习,如果Bob在他的日历的星期二早上要进行游泳练习,除了Alice和Bob之外,Alice和Bob的父母可以查看他们的日历以便协调家庭活动,同时仍然分离不同个体的事件。日历应用程序120的例子包括但不限于(可从华盛顿州雷蒙德市的微软公司获得)、GOOGLE CALENDARTM(可从加利福尼亚州山景城的Alphabet公司获得)或CALENDAR(可从加利福尼亚州库比蒂诺的Apple公司获得)。在各个方面,日历应用程序120可以包括电子邮件应用程序或生产力套件(或者包括在电子邮件应用程序或生产力套件中)。
由日历应用程序120呈现给用户的事件存储在本地存储库130中。在各个方面,例如当第一次为给定用户激活用户设备110时,本地存储库130可能不包含给定用户的事件。用户能够通过日历应用程序120手动地将事件添加到本地存储库130,但是还可以通过主存储库140和本地存储库130之间的日历应用程序120请求日历信息的同步,以便可用于向用户呈现的事件在多个用户设备110之间是一致的。例如,用户可以在办公室中在桌面计算机(第一用户设备110)上工作时检查个人日历,在旅行时通过移动设备(第二用户设备110)检查相同的个人日历。在一些方面,主存储库140由中央服务器(例如,云日历服务、企业服务)托管,或者给定的用户设备110被指定为使其本地存储库130充当主存储库140(例如,家庭个人计算机充当为几个智能电话用户设备110的主存储库140)。
为了使在不同用户设备110上可用的事件数据保持一致,在主存储库140和每个用户设备110的本地存储库130之间同步数据。针对在主存储库140中不存在的事件(或者其更新),将事件数据从用户设备110上载到主存储库140。类似地,针对在本地存储库130中不存在的事件(或者其更新),将事件数据从主存储库140下载到用户设备110。在主存储库140上为用户设备110维护同步令牌150,以跟踪用户设备110已经与主存储库140同步的最后时间以及其已接收到的事件数据。
响应于从用户设备110接收到同步请求,主存储库140根据同步令牌150,确定先前已经同步了哪些事件以及仍然需要同步哪些事件。
本公开内容描述了用于用户设备110和主存储库140在同步日历时,改进处理大量事件数据的传输的功能的系统和方法。这些大量事件数据的传输可以在初始同步请求或稍后的同步请求期间发生,并且由于正在处理的数据量而可能使用户设备110处于锁定的风险中。
如本文所描述的,当给定用户设备110的本地存储库130先前未与其正在同步到的给定主存储库140同步时,发生初始同步请求。在初始同步期间的各个方面,本地存储库可以不包含事件或者已经本地添加到用户设备110的事件的数据,其中这些事件或数据尚未传送到给定的主存储库140。应当理解的是,响应于初始同步请求,可能在主存储库140和本地存储库130之间传送大量的事件数据,例如,可以在主存储库140中为给定的用户存储几年的事件数据。显而易见的,非初始同步(特别是自先前同步以来发生很长时间时)也可能造成锁定用户设备110的风险,因此也根据本公开内容进行处理以改善用户设备110和主存储库140的功能,而不管在本地存储库130和主存储库140之间实际传输的数据量。
为了处理潜在的大日历同步并且仍然向用户提供日历的当前时间框的响应视图(例如,在初始同步或者最后执行的同步之后很长一段时间发生的同步),可以执行用于同步日历的示例方法200和300(分别在图2和图3中示出)。首先从主存储库140向用户设备110提供在最相关的时间框内发生的事件,以使用户设备110能够在日历应用程序120中向用户显示这些事件,然后在针对在该时间框之外发生的不太相关的事件,对日历的其余部分进行同步。
在某些方面,时间框是基于进行同步请求的当前时间,并且首先同步在时间上更接近(在未来或过去)当前时间发生的事件,稍后同步在更远的时间发生的事件。在另外的方面,可以将时间框加权到过去、未来、或者相对于当天均匀地加权到过去和未来。例如,未来加权的30天时间框可以返回从当天起在未来20天发生的事件、在当天发生的事件、以及从当天起在过去9天发生的事件。相比而言,过去加权的30天时间框可以返回从当天起在过去20天发生的事件、在当天发生的事件、以及从当天起在过去9天发生的事件。
如图1中所示,在主存储库140中为用户存储几年的事件,基于当前时间将这些事件同步到用户设备110上的本地存储库130。例如,如果用户要在2017年9月请求同步,则首先返回在2017年9月发生的事件的事件数据集以在日历应用程序120中显示。在接收到这些2017年9月事件数据之后,主存储库140可以根据一个或多个方案来提供剩余的事件数据。在各个方面,这些方案包括但不限于:根据事件的预定时间按时间正向顺序或按时间反向顺序提供、根据事件存储在主存储库140中的时间按正向时间顺序或按反向时间顺序提供、基于与当前时间框的邻近性(例如,在提供2017年9月的事件数据之后,提供2017年8月和2017年10月的事件数据)。
图2是示出用于从主存储库140的角度同步日历的示例性方法中所涉及的通常阶段的流程图。方法200开始于操作210,其中在操作210处,主存储库140从用户设备110接收对日历的同步请求。该同步请求包括请求事件的用户的凭证,并且指定在给定时间接收的事件项的数量(例如,返回可用事件项中的多达n项)。在各个方面,同步请求是非窗口化的;用户设备110没有指定请求事件所处的时间窗口。例如,窗口化同步请求可以指定“返回用户Z在时间X和时间Y之间发生的所有事件”,而非窗口化请求可以指定“返回用户Z的所有事件”,并且进行自动处理以首先返回最相关(关于当前日期)事件。
在决定220处,确定该请求是否包括有效的同步令牌150。当在请求中未包括同步令牌150时(例如,使用初始同步请求时(其中同步令牌150是用户设备110不可用的),或者当用户设备110省略同步令牌150时),方法200将转到操作230处。在各个方面,可以确定忽略请求中包括的同步令牌150或者将其视为无效,并且当同步令牌150满足到期日期时,转到操作230处。针对用户设备110的初始同步以及稍后的同步(其可能包括存储在本地存储库130中的事件与主存储库140中的事件之间的大量差异),方法200首先向用户设备110提供与提供的最相关事件的增量同步。例如,如果用户将不经常地同步用户设备110上的日历(例如,每年一次),则当将同步令牌150视作为有效时,为了满足自上次更新以来事件中的间隔所需要的事件数据量可能导致用户查看最近事件时发生延迟。但是,响应于确定同步请求包括有效的同步令牌150,方法200转到操作270处。
在操作230处,主存储库140识别并且加载当前时间框的日历视图。当前时间框是基于接收到同步请求的当前时间的。在各个方面,当前时间框的长度可以变化,并且相对于过去或未来对当前时间框进行加权的方式也可以根据主存储库140的设置而变化。在第一例子中,当前时间框可以指定要返回当前月内的所有事件。在第二例子中,当前时间框指定在当前日期之前x天和在当前日期之前y天发生的事件(以及将在当前日期发生的那些事件),其中x和y可以相对于彼此变化,以提供在当前日期之后或之前发生的更多事件。例如,对于四周时间框,在当前日期之前一周发生的事件和在当前日期之后三周发生的事件包括该时间框;对该时间框进行未来加权。在过去加权的四周时间框的相反示例中,在当前日期之后一周发生的事件和在当前日期之前三周发生的事件包括该时间框。在另一个例子中,可以根据在过去或将来发现的事件的数量对时间框进行加权,例如,返回在当前时间之前发生的x个事件和在当前时间之后发生的y个事件,其中x和y可以相对于彼此进行加权以应用于应用各种过去/未来加权。
方法200转到操作240处,其中在操作240,基于在当前时间框中发现的事件来填充对同步请求的响应。在各个方面,用户设备110或主储存库140可以指定响应于同步请求而要返回的事件的数量的上限的请求数量。例如,用户设备110可以在同步请求中指定一次只能返回n个事件。在各个方面,如果当前时间框内的事件的数量小于请求数量,则将来自当前时间框之外的事件包括在第一响应中。在其它方面,即使事件的数量小于请求数量,也可以将第一响应限制于在当前时间框内发生的事件。在当前时间框内的事件的数量超过请求数量的方面,在第一响应中提供多达请求数量的多个事件(其可以是“硬”或“软”限制),并且生成同步令牌150,其指示将对当前时间框内的剩余事件进行优先次序排序,以在用于同步用户设备110上的日历的后续响应中进行传输。
在操作250处,为用户帐户和用户设备110生成同步令牌150。应当理解的是,给定用户可以使用一个以上的用户设备110(例如,移动设备和桌面设备),一个以上的用户可以使用给定的用户设备110(例如,共享工作站),因此同步令牌150与用户(其日历正在进行同步)和用户设备110(正在将日历同步到其之上)相关联。
同步令牌150标记同步操作停止的位置,以便后续同步请求可以从先前的同步请求恢复。例如,当用户具有存储在主存储库140中的一百个事件并且请求数量是针对六十个事件时,在同步过程停止的第一次响应之后,同步令牌150进行标记,使得可以将剩余的四十个事件识别为仍然与本地存储库130未同步。在一些方面,同步令牌150使用时间戳(对于事件发生)或者指向最后同步的事件或下一个未同步的事件,以使主存储库140从它停止的地方恢复同步过程。在另一个例子中,当来自主存储库140的所有事件都包括在响应中时,生成同步令牌150,使得下次接收到同步请求时,仅向用户设备110发送对用户日历的更改(添加、重新安排等等);减少需要发送的数据量。
转到操作260处,对同步请求的响应和同步令牌150是由主存储库140向用户设备110发送的。方法200可以在操作260之后结束,或者响应于从用户设备110接收到继续同步请求而返回到操作210进行继续,其中该继续同步请求包括同步令牌150并且请求未包括在先前响应中的事件。
响应于确定同步请求包括有效的同步令牌150(例如,其是继续同步请求),方法200从决定220转到操作270处,以根据同步令牌150识别未发送的事件。在各个方面,当发生在当前时间框内的事件尚未完全发送到用户设备110时,对当前时间框期间发生的事件进行优先次序排序以便识别和包括在继续响应中。在当前时间框期间发生的事件已经完全发送到用户设备110的方面,可以根据剩余事件的预定时间、剩余事件添加到主储存库140的时间、或者剩余事件的预定时间与当前时间框的时间接近度(例如,在时间上与最相关事件最接近的事件)、以及其它识别方案,来管理事件标识
在操作280处,基于在操作270中发现的事件来填充继续同步的响应。由于主存储库140允许根据请求数量进行分段同步,所以继续响应可以是通过多轮请求和响应来同步主存储库140与本地存储库130的一系列继续响应中的一个继续响应。
转到操作290处,根据继续响应中包括的事件来更新同步令牌150,以首先向用户设备110提供最相关的事件,从而使主存储库140能够响应后续同步请求来为用户恢复与用户设备110的同步。
图3是示出用于从用户设备110的角度同步日历的示例性方法300中所涉及的通常阶段的流程图。方法300开始于操作310,其中在操作310处,从用户设备110向主存储库140发送同步请求。该同步请求标识其事件日历将与主存储库140同步的用户设备110和用户。在各个方面,该同步请求还包括请求数量(其指定响应于同步请求要返回的事件的数量的上限),而在其它方面,系统定义的数量用于该请求数量。在一些方面,用户设备110可以向主存储库140发送本地存储库130中的任何事件,例如,在请求日历同步之前由用户手动添加到本地存储库130的事件。在同步请求不是初始同步请求的其它方面,同步请求可以包括来自先前同步的同步令牌150。
在操作320处,用户设备110接收基于当前时间的、在被认为与用户最相关的时间框期间发生的多达请求数量的事件的数据集以及同步令牌150。在操作330处,在日历应用程序120中将这些接收到的最相关事件显示给用户,并且在决定340处,确定同步令牌150是否指示主存储库140上存在需要与本地存储库130进行同步的更多事件。
当在决定340处确定同步令牌150指示同步已完成并且本地存储库130与主存储库140共享同一组事件时,方法300可以结束。类似地,在从主存储库140接收到一个或多个响应之后,方法300可以结束并且从操作310或操作350处恢复(例如,当用户设备110失去与主存储库140的连接或者用户过早地中止同步过程时)。
响应于同步令牌150指示存储在主存储库140上的其它事件尚未发送到本地存储库130并且进行存储,方法300转到操作350处。在操作350处,向主存储库140发送包括同步令牌150的继续同步请求。继续同步请求通过包括同步令牌150来从先前的同步请求继续同步过程,同步令牌150可由主存储库140解释以确定:尚未从针对给定用户和用户设备110的事件数据集中发送的那些事件将在下一个请求/响应对中进行发送。该继续请求不需要指定请求事件数据的时间窗口;根据各方面,同步请求是非窗口化的。
响应于发送了继续同步请求,用户设备110在操作360处接收继续响应,其包括来自主存储库140的其它事件数据和更新的同步令牌150。将这些事件存储在本地存储库130中,并且在事件数据包括在当前时间框期间针对最相关事件发生的其它事件的方面,在日历应用120中显示该事件数据。用户设备110将接收到的事件数据添加到本地存储库130,并且在所接收的事件来自当前时间框之外的一些方面,用户设备110将存储这些事件作为不需要进一步用户交互的后台进程进行处理。随后,方法300返回到决定340处,以确定更新的同步令牌150是否指示需要另外的继续。
虽然在程序模块的通常背景下描述了实施方式,其中这些程序模块结合在计算机上的操作系统上运行的应用程序来执行,但本领域普通技术人员应当认识到,各方面还可以结合其它程序模块来实现。通常,程序模块包括例行程序、程序、组件、数据结构、以及执行特定任务或者实现特定的抽象数据类型的其它类型的结构。
本文描述的方面和功能可以经由多种多样的计算系统来操作,其中这些计算系统包括但不限于:桌面型计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板设备或者平板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器的或者可编程消费电子、微型计算机和大型计算机。
此外,根据一个方面,本文描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存贮和检索以及各种处理功能可以彼此之间通过分布式计算网络(例如,互联网或者内联网)来远程操作。根据一个方面,可以经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元,来显示用户界面和各种类型的信息。例如,可以在将用户界面和各种类型的信息所投影到的墙壁表面上,显示用户界面和各种类型的信息并进行交互。与可以实现实施方式的多种多样的计算系统进行的交互,包括:键击输入、触摸屏输入、语音或者其它音频输入、手势输入(当相关联的计算设备装备有用于捕捉和解释用户手势的检测(例如,摄像头)功能,以控制该计算设备的功能时)等等。
图4到图6以及相关联的描述提供了可以实现本发明的示例的各种操作环境的讨论。但是,参照图4到图6所示出和讨论的设备和系统只是用于举例和说明目的,而不是对本文所描述的可以用于实现各方面的众多数量的计算设备配置进行限制。
图4是示出可以实现本公开内容的示例的计算设备400的物理部件(即,硬件)的框图。在基本配置中,计算设备400包括至少一个处理单元402和系统存储器404。根据一个方面,根据计算设备的配置和类型,系统存储器404包括但不限于:易失性存储(如,随机存取存储器)、非易失性存储(如,只读存储器)、闪存或者这些存储器的任意组合。根据一个方面,系统存储器404包括操作系统405和适合于运行软件应用450的一个或多个程序模块406。根据一个方面,软件应用程序450包括用于实现事件数据同步的处理的API,如本文所描述的。例如,操作系统405适合于对计算设备400的操作进行控制。此外,各方面结合图形库、其它操作系统或者任何其它应用程序来实现,并且不受限于任何特定的应用或系统。在图4中,通过位于虚线408之内的那些部件来示出该基本配置。根据一个方面,计算设备400具有另外的特征或功能。例如,计算设备400包括另外的数据存储设备(可移动和/或不可移动),比如磁盘、光盘或磁带。在图4中通过移动存储设备409和非移动存储设备410的方式,来示出这种另外的存贮设备。
如上所述,根据一个方面,在系统存储器404中,存储多个程序模块和数据文件。当在处理单元402上执行时,程序模块406执行包括但不限于图2中所示出的方法200的阶段中的一个或多个的处理。根据一个方面,根据示例使用的其它程序模块,包括诸如电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片呈现应用、绘图或计算机辅助应用程序等等之类的应用。
根据一个方面,计算设备400具有诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等等之类的一个或多个输入设备412。根据一个方面,还包括诸如显示器、扬声器、打印机等等之类的输出设备414。前述的设备只是示例性的,可以使用其它设备。根据一个方面,计算设备400包括允许与其它计算设备418进行通信的一个或多个通信连接416。适当通信连接416的例子包括但不限于:射频(RF)发射机、接收机和/或收发机电路;通用串行总线(USB)、并口和/或串口。
如本文所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质包括利用存储信息(如,计算机可读指令、数据结构或程序模块)的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。系统存储器404、可移动存储设备409和不可移动存储设备410都是计算机存储介质的例子(即,存储器存贮)。根据一个方面,计算机存储介质包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字通用光盘(DVD)或其它光存储技术、盒式磁带、磁带、磁盘存储或其它磁存储设备、或者可以用于存储信息并能由计算设备400进行存取的任何其它制品。根据一个方面,任何这种计算机存储介质是计算设备400的一部分。计算机存储介质不包括载波波形或者其它传播的数据信号。
根据一个方面,通信介质通过计算机可读指令、数据结构、程序模块、或者调制的数据信号(如,载波波形或其它传输机制)中的其它数据来体现,并包括任何信息传送介质。根据一个方面,术语“调制的数据信号”描述具有一个或多个特性,以关于将信息编码在该信号之中的方式来进行设置或者改变这些特性的信号。举例而言,但非做出限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声波、射频(RF)、红外线和其它无线介质之类的无线介质。
图5A和图5B示出了可以使用其来实现各方面的移动计算设备500(例如,移动电话、智能电话、平板个人计算机、膝上型计算机等等)。参见图5A,该图示出了用于实现这些方面的移动计算设备500的一个例子。在基本配置中,移动计算设备500是具有输入单元和输出单元的手持计算机。通常,移动计算设备500包括显示器505和用于允许用户向该移动计算设备500输入信息的一个或多个输入按键510。根据一个方面,移动计算设备500的显示器505也可以充当为输入设备(例如,触摸屏显示器)。如果包括的话,可选的侧输入单元515也允许另外的用户输入。根据一个方面,侧输入单元515是旋转开关、按键或者任何其它类型的手工输入单元。在替代的示例中,移动计算设备500合并更多或更少的输入单元。例如,在一些例子中,显示器505可以不是触摸屏。在替代的例子中,移动计算设备500是便携式电话系统,例如,蜂窝电话。根据一个方面,移动计算设备500包括可选的键盘535。根据一个方面,可选的键盘535是物理键盘。根据另一个方面,可选的键盘535是在触摸屏显示器上生成的“软”键盘。在各个方面,输出单元包括用于显示图形用户界面(GUI)的显示器505、视觉指示器520(例如,发光二极管)和/或音频换能器525(例如,扬声器)。在一些例子中,移动计算设备500合并振动换能器,以向用户提供触觉反馈。在另一个例子中,移动计算设备500合并输入和/或输出端口,例如,音频输入(如,麦克风插孔)、音频输出(如,耳机插孔)和视频输出(如,HDMI端口),以向外部设备发送信号或者从外部设备接收信号。在另一个例子中,移动计算设备500合并外围设备端口540,例如,音频输入(如,麦克风插孔)、音频输出(如,耳机插孔)和视频输出(如,HDMI端口),以向外部设备发送信号或者从外部设备接收信号。
图5B是示出移动计算设备的一个例子的架构的框图。也就是说,移动计算设备500合并系统(即,架构)502来实现一些例子。在一个例子中,将系统502实现成能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些例子中,将系统502集成为计算设备,例如,集成的个人数字助理(PDA)和无线电话。
根据一个方面,一个或多个应用程序550装载到存储器562中,在操作系统564上运行或者关联操作系统564来运行。这些应用程序的例子包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息程序等等。根据一个方面,被配置为实现事件数据同步的处理的API(如本文所描述的)装载到应用程序550中。系统502还包括位于存储器562中的非易失性存贮区域568。非易失性存贮区域568用于存储当系统502关闭时,不应当丢失的持久信息。应用程序550可以使用非易失性存贮区域568中的信息,在非易失性存贮区域568中存储信息(例如,电子邮件或者电子邮件应用所使用的其它消息等等)。此外,同步应用(没有示出)也位于系统502上,并被编程为与位于主机计算机上的相应同步应用进行交互,以保持非易失性存贮区域568中存储的信息与主机计算机处存储的相应信息相同步。应当理解的是,其它应用也可以装载到存储器562中,并运行在移动计算设备500上。
根据一个方面,系统502具有电源570,其中电源570实现成一个或多个电池。根据一个方面,电源570还包括外部电源,例如,AC适配器或者对电池进行补充或充电的供电对接支座。
根据一个方面,系统502包括用于执行发送和接收无线电频率通信的无线电装置572。无线电装置572有助于经由通信载波或服务提供商,实现系统502和“外部世界”之间的无线连接。在操作系统564的控制之下,进行去往和来自无线电装置572的传输。换言之,可以经由操作系统564将无线电装置572接收的通信传播到应用程序550,反之亦然。
根据一个方面,使用视觉指示器520来提供视觉通知,和/或使用音频接口574来经由音频换能器525来产生可听见的通知。在所示出的例子中,视觉指示器520是发光二极管(LED),音频换能器525是扬声器。这些设备可以直接地耦合到电源570,使得当被激活时,它们仍保持通知机制所指示的持续时间(即使处理器560和其它部件关闭以节省电池电量)。可以对LED进行编程以无限期地保持开启,直到用户采取动作来指示该设备的开机状态为止。音频接口574用于向用户提供可听见的信号和从用户接收可听见的信号。例如,除了耦合到音频换能器525之外,音频接口574还可以耦合到麦克风以接收可听见的输入,例如以便促进电话会话。根据一个方面,系统502还可以包括视频接口576,后者实现板载摄像头530的操作以记录静止图像、视频流等等。
根据一个方面,实现系统502的移动计算设备500具有另外的特征或功能。例如,该移动计算设备500包括诸如磁盘、光盘或磁带之类的其它数据存储设备(可移动和/或不可移动)。在图5B中,通过非易失性存贮区域568的方式来示出这种另外的存贮。
根据一个方面,由移动计算设备500生成或捕捉并经由系统502来存储的数据/信息,本地地存储在移动计算设备500上(如上所述)。根据另一个方面,该数据存储在任意数量的存储介质上,其中该设备可以经由无线电装置572或者经由移动计算设备500和与该移动计算设备500相关联的单独计算设备(例如,诸如互联网的分布式计算网络中的服务器计算机)之间的有线连接来访问该任意数量的存储介质。应当理解的是,移动计算设备500可以经由无线电装置572或者经由分布式计算网络,来访问该数据/信息。类似地,根据一个方面,根据公知的数据/信息传送和存储方式(其包括电子邮件和协作式数据/信息共享系统),在计算设备之间进行容易地传送该数据/信息以进行存储和使用。
图6示出了用于同步日历的系统(如上所述)的架构的一个例子。利用日历应用程序120进行内容开发、与日历应用程序120进行交互、或者与日历应用程序120进行关联地编辑,以便存储在不同的通信信道或其它存储类型中。例如,可以使用目录服务622、web门户624、邮箱服务626、瞬时消息存储628或社交网络站点630来存储各种事件数据。当同步日历时,日历应用程序120用于使用这些类型的系统等等中的任何一种,如本文所描述的。根据一个方面,服务器620向客户端605a、b、c提供用于日历同步的API。举一个例子,服务器620是通过网络640,在web上向客户端605提供主存储库140的web服务器。举例而言,该客户端计算设备实现并体现在在个人计算机605a、平板计算设备605b或移动计算设备605c(例如,智能电话)或者其它计算设备中。客户端计算设备的这些示例中的任何一个可以从存储616获得内容。
例如,上面参照根据本发明的方面的方法、系统和计算机程序产品的框图和/或操作说明,来描述实施方式。这些方框中所述的功能/动作可以按不同于任何流程图所示的次序来出现。例如,根据所涉及的功能/动作,连续示出的两个框可以事实上基本同时地执行,或者这些框有时可以以相反顺序来执行。
本申请中提供的一个或多个例子的描述和说明,并非是旨在以任何方式来限制或者限定所要求的本发明的保护范围。本申请中提供的方面、例子和细节被认为足以传达拥有所主张的本发明,并使他人能够制造和使用所主张的本发明的最佳模式。实施方式不应被解释为限于本申请中提供的任何方面、例子或者细节。不管是以组合方式还是单独地进行示出和描述,各种特征(包括结构和方法)旨在进行选择性地包括或者省略,以产生具有一组特定特征的例子。在提供本申请的描述和说明之后,本领域普通技术人员可以预想落入本申请所体现的更广泛方面的发明构思的精神之内的变型、修改和替代例子,而不脱离本发明的更广泛的保护范围。
Claims (15)
1.一种用于同步日历的方法,包括:
在主存储库处从用户设备接收同步请求,所述同步请求指定用户和请求数量;
确定所述同步请求是否包括有效的同步令牌;
响应于确定所述同步请求不包括有效的同步令牌:
识别当前时间框;
识别在所述当前时间框期间发生的存储在所述主存储库中的事件;
使用识别的多达所述请求数量的所述事件来填充响应;
创建同步令牌,所述同步令牌标识日历同步的完成状态;以及
从所述主存储库向所述用户设备发送所述响应和所述同步令牌。
2.根据权利要求1所述的方法,还包括:响应于确定所述同步请求确实包括所述有效的同步令牌:
根据所述同步令牌,识别存储在所述主存储库中的未同步事件;
使用多达填充数量的所述未同步事件来填充继续响应;
更新所述同步令牌以基于所述继续响应来识别所述日历同步的所述完成状态;以及
从所述主存储库向所述用户设备发送所述继续响应和所述更新的同步令牌。
3.根据权利要求2所述的方法,其中,所述继续响应是从所述用户设备接收的用于根据所述请求数量进行分段同步的一系列继续响应中的一个继续响应。
4.根据权利要求2所述的方法,其中,所述继续响应是根据调度所述未同步事件发生的时间,来按时间顺序用存储在所述主存储库中的所述未同步事件来填充的。
5.根据权利要求2所述的方法,其中,所述继续响应是根据所述未同步事件存储到所述主存储库的时间,来按时间顺序用存储在所述主存储库中的所述未同步事件来填充的。
6.根据权利要求2所述的方法,其中,所述时间框是未来加权的,其中,更大数量的所述时间框指定在当前日期之后发生的事件的时间,并且更小数量的所述时间框指定在所述当前日期之前发生的事件的时间。
7.根据权利要求2所述的方法,其中,所述时间框是过去加权的,其中,更大数量的所述时间框指定在当前日期之前发生的事件的时间,并且更小数量的所述时间框指定在所述当前日期之后发生的事件的时间。
8.根据权利要求2所述的方法,其中,如果在所述当前时间框期间发生的存储在所述主存储库中的所述事件的数量大于所述请求数量,则识别在所述当前时间框期间发生的存储在所述主存储库中的事件并且将其包括在所述继续响应中。
9.根据权利要求1所述的方法,其中,如果在所述当前时间框期间发生的存储在所述主存储库中的所述事件的数量小于所述请求数量,则识别在所述当前时间框之外发生的存储在所述主存储库中的事件并且将其包括在所述响应中以满足所述请求数量。
10.一种用于同步日历的方法,包括:
从用户设备向日历事件的主存储库发送第一同步请求,以将所述用户设备上的日历事件的本地存储库同步到所述主存储库;
响应于发送所述第一同步请求,从所述主存储库接收第一事件数据集和同步令牌;
将所述第一事件数据集添加到所述本地存储库;
在所述用户设备的日历应用程序中显示所述第一事件数据集;
基于所述同步令牌,确定是否发送继续同步请求;以及
响应于确定要发送所述继续同步请求:
从所述用户设备向所述主存储库发送包括所述同步令牌的所述继续同步请求;以及
响应于发送所述继续同步请求,接收继续事件数据集和更新的同步令牌;以及
将所述继续事件数据集添加到所述存储库。
11.根据权利要求10所述的方法,其中,所述第一同步请求和所述继续同步请求是非窗口化的。
12.根据权利要求10所述的方法,其中,所述主存储库根据包括在所述同步令牌中的到期日期使所述同步令牌到期。
13.根据权利要求10所述的方法,其中,发送所述继续同步请求、接收所述继续事件数据集、以及将所述继续事件数据集添加到所述本地存储库是作为所述用户设备上的后台进程来运行的。
14.根据权利要求10所述的方法,其中,所述第一事件数据集包括在相对于所述当前日期的时间框内发生的事件,并且所述继续事件数据集包括在所述时间框之外发生的事件。
15.一种包括用于同步日历的指令的计算机可读存储设备,当所述指令由处理器执行时,包括执行以下操作:
在主存储库处从用户设备接收同步请求,所述同步请求指定用户和请求数量;
确定所述同步请求是否包括有效的同步令牌;
响应于确定所述同步请求不包括有效的同步令牌:
识别当前时间框;
识别在所述当前时间框期间发生的存储在所述主存储库中的事件;
使用识别的多达所述请求数量的所述事件来填充响应;
创建同步令牌,所述同步令牌标识日历同步的完成状态;以及
从所述主存储库向所述用户设备发送所述响应和所述同步令牌;响应于确定所述同步请求确实包括所述有效的同步令牌:
根据所述同步令牌,识别存储在所述主存储库中的未同步事件;
使用多达填充数量的所述未同步事件来填充继续响应;
更新所述同步令牌以基于所述继续响应来识别所述日历同步的所述完成状态;以及
从所述主存储库向所述用户设备发送所述继续响应和所述更新的同步令牌。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/396,018 US10489423B2 (en) | 2016-12-30 | 2016-12-30 | Most-relevant-first calendar event synchronization |
US15/396,018 | 2016-12-30 | ||
PCT/US2017/068061 WO2018125771A1 (en) | 2016-12-30 | 2017-12-22 | Most-relevant-first calendar event synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110121726A true CN110121726A (zh) | 2019-08-13 |
CN110121726B CN110121726B (zh) | 2023-10-24 |
Family
ID=60997566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780081356.4A Active CN110121726B (zh) | 2016-12-30 | 2017-12-22 | 最相关的首先日历事件同步 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10489423B2 (zh) |
EP (1) | EP3535719A1 (zh) |
CN (1) | CN110121726B (zh) |
WO (1) | WO2018125771A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185258A (zh) * | 2020-08-25 | 2022-03-15 | Oppo(重庆)智能科技有限公司 | 表盘的显示方法、智能手表及非易失性计算机可读存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868494B1 (en) * | 2018-11-26 | 2024-01-09 | Amazon Technologies, Inc. | Synchronization of access management tags between databases |
US11410257B2 (en) * | 2019-01-08 | 2022-08-09 | Rauland-Borg Corporation | Message boards |
US11226983B2 (en) * | 2019-06-18 | 2022-01-18 | Microsoft Technology Licensing, Llc | Sub-scope synchronization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090325512A1 (en) * | 2008-06-30 | 2009-12-31 | Nokia Corporation | Transmission of delay tolerant data |
US20140156597A1 (en) * | 2012-12-05 | 2014-06-05 | Microsoft Corporation | Recurring calendar item master and instance synchronization |
US20150120662A1 (en) * | 2013-10-29 | 2015-04-30 | Microsoft Corporation | Synchronizing event history for multiple clients |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
WO2002044977A1 (en) | 2000-11-30 | 2002-06-06 | Netscape Communications Corporation | Javascript calendar application for internet web browser |
US20030041076A1 (en) | 2001-03-14 | 2003-02-27 | Lucovsky Mark H. | Schema-based services for identity-based access to calendar data |
FI114417B (fi) | 2001-06-15 | 2004-10-15 | Nokia Corp | Datan valitseminen synkronointia varten |
US20060058953A1 (en) | 2004-09-07 | 2006-03-16 | Cooper Clive W | System and method of wireless downloads of map and geographic based data to portable computing devices |
US20070299972A1 (en) | 2005-08-12 | 2007-12-27 | Consilient Technologies Corporation | Relay of enterprise messaging system events among client devices and one or more enterprise messaging systems |
IL182029A (en) | 2007-03-19 | 2014-06-30 | Emoze Ltd | A method and system for synchronizing and updating e-mail and managing personal information |
US8849909B2 (en) * | 2007-07-06 | 2014-09-30 | Yahoo! Inc. | Real-time asynchronous event aggregation systems |
US8135769B2 (en) | 2008-06-06 | 2012-03-13 | Apple Inc. | Synchronization improvements |
US9367599B2 (en) | 2008-10-21 | 2016-06-14 | Google Inc. | Search based specification for data synchronization |
US8838461B2 (en) | 2008-12-19 | 2014-09-16 | Qualcomm Incorporated | Access and management of cross-platform calendars |
US8478721B2 (en) | 2010-02-22 | 2013-07-02 | Sybase, Inc. | Synchronization of recurring time-scheduled data objects between incompatible databases |
EP2866460A4 (en) * | 2012-06-22 | 2016-03-09 | Sony Corp | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND FINISHING DEVICE |
US9460141B1 (en) * | 2012-09-14 | 2016-10-04 | Google Inc. | Automatic expiring of cached data |
-
2016
- 2016-12-30 US US15/396,018 patent/US10489423B2/en active Active
-
2017
- 2017-12-22 WO PCT/US2017/068061 patent/WO2018125771A1/en unknown
- 2017-12-22 EP EP17830080.2A patent/EP3535719A1/en active Pending
- 2017-12-22 CN CN201780081356.4A patent/CN110121726B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090325512A1 (en) * | 2008-06-30 | 2009-12-31 | Nokia Corporation | Transmission of delay tolerant data |
US20140156597A1 (en) * | 2012-12-05 | 2014-06-05 | Microsoft Corporation | Recurring calendar item master and instance synchronization |
US20150120662A1 (en) * | 2013-10-29 | 2015-04-30 | Microsoft Corporation | Synchronizing event history for multiple clients |
CN105745902A (zh) * | 2013-10-29 | 2016-07-06 | 微软技术许可有限责任公司 | 同步多个客户端的事件历史 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185258A (zh) * | 2020-08-25 | 2022-03-15 | Oppo(重庆)智能科技有限公司 | 表盘的显示方法、智能手表及非易失性计算机可读存储介质 |
CN114185258B (zh) * | 2020-08-25 | 2023-10-17 | Oppo(重庆)智能科技有限公司 | 表盘的显示方法、智能手表及非易失性计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3535719A1 (en) | 2019-09-11 |
CN110121726B (zh) | 2023-10-24 |
US10489423B2 (en) | 2019-11-26 |
US20180189372A1 (en) | 2018-07-05 |
WO2018125771A1 (en) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105378624B (zh) | 在交互出现于白板上时显示交互 | |
CN105431807B (zh) | 在导航日历的同时显示生活事件 | |
US10917613B1 (en) | Virtual object placement in augmented reality environments | |
CN102567496B (zh) | 会议上下文的书签 | |
CN110121726A (zh) | 最相关的首先日历事件同步 | |
CN102982401A (zh) | 多用户和多设备协作 | |
CN103023961A (zh) | 经由墙型计算设备的工作空间协作 | |
CN108431797A (zh) | 电子文档的存储器节约的版本控制 | |
CN105593848B (zh) | 在协作式环境中对共享电子文档的更新 | |
EP2890088B1 (en) | Method for displaying schedule reminding information, terminal device and cloud server | |
CN109219824A (zh) | 利用用户访问权限来自动共享文档 | |
US10778734B1 (en) | Systems and methods for initiating processing actions utilizing automatically generated data of a group-based communication system | |
Saquib et al. | Sensei: sensing educational interaction | |
CN105378817A (zh) | 将外部动态内容合并到白板中 | |
CN107533670A (zh) | 数字实体的预测热门 | |
KR20140115320A (ko) | 모임 문건 및 노트의 노트북 기반 축적 기법 | |
CN104067557A (zh) | 用于会议协作的资源的自动化供应 | |
CN106062794A (zh) | 显示和导航隐式和显式企业人员关系 | |
CN109416644A (zh) | 用于虚拟机实时迁移的系统和方法 | |
CN110168539A (zh) | 混合应用中的快速页面加载 | |
CN108028857A (zh) | 智能通知 | |
CN110337632A (zh) | 提供对电子消息附件的访问 | |
CN109643540A (zh) | 用于人工智能语音演进的系统和方法 | |
US11218556B2 (en) | Method, apparatus, user device and server for displaying personal homepage | |
CN104104766A (zh) | 终端设备、服务器及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |