CN103765420A - 用于在应用的后台对动作进行同步的系统和方法 - Google Patents
用于在应用的后台对动作进行同步的系统和方法 Download PDFInfo
- Publication number
- CN103765420A CN103765420A CN201280042062.8A CN201280042062A CN103765420A CN 103765420 A CN103765420 A CN 103765420A CN 201280042062 A CN201280042062 A CN 201280042062A CN 103765420 A CN103765420 A CN 103765420A
- Authority
- CN
- China
- Prior art keywords
- webpage
- action
- database
- application
- background page
- 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
- 230000009471 action Effects 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims description 43
- 238000013515 script Methods 0.000 claims abstract description 96
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims 8
- 238000003860 storage Methods 0.000 description 15
- 230000001360 synchronised effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 244000144992 flock Species 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000682 scanning probe acoustic microscopy Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
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
-
- 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/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
后台页面脚本在设备上运行。多个网页在该设备上运行。向后台页面脚本注册多个网页。在数据库中缓存多个网页中的一个网页所生成的动作。响应于确定设备处于在线状态以及不再注册多个网页中的一个网页,后台页面脚本从数据库取回动作并发送动作。
Description
相关申请的交叉引用
本申请要求于2012年5月3日递交的美国申请13,463,131和于2011年8月31日递交的美国临时申请No.61/529,646的优先权,其全文均通过引用的方式并入本文中。
技术领域
本说明书大体上涉及用于在应用的后台对动作进行同步的系统、方法和装置,更具体地,涉及用于在返回在线状态时在web应用的后台对动作进行同步的系统、方法和装置。
背景技术
当处于具有受限或断断续续的互联网接入的区域中时,现有系统向访问web应用的用户提供有限的功能或者不向用户提供功能。例如,在现有的电子邮件(email)应用中,当访问电子邮件应用的设备具有断断续续的互联网接入或不能接入互联网时,在设备重新获得对互联网的接入之前,只有极少的功能或者没有功能可用。
在未连接到互联网时,访问电子邮件应用的一些设备可以提供在收件箱中缓存的电子邮件消息的静态显示。例如,使用设备的用户可以看见电子邮件的主题或者先前在该设备与互联网断开之前所发送的电子邮件的缓存部分。然而,电子邮件消息的主题的显示是静态的,并且在用户重新连接到互联网之前,向用户提供极少的功能。此外,现有系统就在设备与电子邮件服务器之间同步数据而言具有有限的能力。
发明内容
根据实施例,向在设备上运行的后台页面脚本注册在所述设备上运行的多个网页。在数据库中缓存所述多个网页中的一个网页所生成的动作。响应于确定所述设备处于在线状态以及不再注册所述多个网页中的所述一个网页:所述后台页面脚本从所述数据库取回所述动作,并且所述后台页面脚本发送所述动作。
在一个实施例中,所述后台页面脚本向主机服务器发送所述动作。
在一个实施例中,响应于对所述动作的成功发送的确认的接收,从所述数据库中移除所述动作。
在一个实施例中,所述多个网页中的所述一个网页在所述数据库中缓存第二动作。所述多个网页中的所述一个网页发送所述第二动作。所述多个网页中的所述一个网页从所述数据库中移除所述第二动作。在一个实施例中,所述多个网页中的所述一个网页向所述后台页面脚本发送不再注册的请求。
在一个实施例中,响应于对所述第二动作的成功发送的第二确认的接收,发生从所述数据库中移除所述第二动作。在一个实施例中,响应于接收到用户关闭所述多个网页中的所述一个网页的请求,发送所述不再注册的请求。
在一个实施例中,在所述数据库中锁定所述动作。
在一个实施例中,所述多个网页中每一个与以下各项中的至少一项相关联:电子邮件应用、web文档处理应用、多媒体播放器应用、社交媒体网络应用、电子数据表应用、呈现应用、游戏应用、图像编辑应用和视频编辑应用。
根据实施例,设备经由互联网访问应用。所述设备运行与所述应用相关联的后台页面脚本。在后台页面中注册与所述应用相关联的第一网页和与所述应用相关联的第二网页。当设备处于离线状态时,在数据库中存储所述第一网页所生成的第一动作和所述第二网页所生成的第二动作。确定所述第一网页和所述第二网页被关闭。向所述后台页面注销所述第一网页和所述第二网页。所述后台页面脚本从所述数据库取回所述第一动作和所述第二动作。经由所述互联网向服务器发送所述第一动作和所述第二动作。
通过参考以下详细描述和附图,本公开的这些和其他优点将对本领域普通技术人员是显而易见的。
附图说明
图1示出了根据实施例可以用于在应用的后台对动作进行同步的通信系统100;
图2示出了根据实施例的设备的功能组件;
图3示出了根据实施例的主机服务器的功能组件;
图4示出了根据实施例应用在浏览器上运行的显示;
图5是示出了根据实施例使用后台页面脚本的方法的流程图;
图6示出了根据实施例在浏览器上运行的应用的显示;
图7示出了根据实施例包括分页式网页的应用的显示;
图8是示出了根据实施例用于对动作进行同步的方法的流程图;以及
图9示出了可以用于实现本发明的计算机的组件。
具体实施方式
图1示出了根据实施例可以用于在应用的后台对动作进行同步的通信系统100。通信系统100包括网络102、主机服务器101和设备103。通信系统100可以包括多于一个设备。在一个实施例中,通信系统100可以包括多于一个主机服务器或其他服务器。
在图1的示例性实施例中,网络102是互联网。在其他实施例中,网络102可以包括多个不同类型的网络(例如,内联网、局域网(LAN)、广域网(WAN)、无线网络、基于光纤通道的存储区域网络(SAN)或以太网)中的一个或更多个。可以使用其他网络。备选地,网络102可以包括不同类型的网络的组合。
通信系统100还包括主机服务器101。在一个实施例中,主机服务器101可以管理(host)设备103可以访问的web应用。在备选实施例中,web应用可以由任意其他服务器管理。在一个实施例中,主机服务器101可以提供对一个或更多个网页的访问,从而提供对web应用的访问。例如,如图3和图6所示,主机服务器101可以管理显示网页611和612的应用316。网页611和612可以备选地被称为前台页面。设备103可以访问可以使用例如传统的web浏览器查看的万维网页面,例如网页611和612。
设备103可以是使用户能够访问应用316的任意设备。设备103可以通过直接(有线)链路或无线地与网络102相连。设备103可以具有用于显示信息的显示屏(未示出)。例如,设备103可以是个人计算机、膝上型计算机、工作站、大型计算机、诸如无线电话等的移动通信设备、个人数字助理、蜂窝设备、膝上型计算机、上网本、平板电脑设备、电子书阅读器等。可以使用其他设备。
图2示出了根据实施例的设备103的功能组件。设备103包括浏览器201和显示器202。浏览器201可以是用于经由例如互联网访问万维网站点的传统web浏览器。显示器202可以显示软件应用、网页、文档、文本、图像、视频、多媒体和其他信息。
设备103还包括存储器203,存储器203包括数据库204。数据库204可以用于在设备103上本地存储或缓存项目。在一个实施例中,数据库204可以是结构化查询语言(SQL)数据库或SQLite数据库。设备103包括处理器205。
图3示出了根据实施例的主机服务器101的功能组件。主机服务器101包括处理器302和存储器303。主机服务器101可以包括图3中未示出的其他组件。存储器303存储应用316。在备选实施例中,应用316可以存储在存储器303和主机服务器101的外部。
假定用户使用设备103来访问应用316,可以向该用户提供应用的显示。现在假定应用是web应用,例如web电子邮件应用、web文档处理应用、多媒体播放器应用、社交媒体网络应用、电子数据表应用、呈现应用、游戏应用、图像编辑应用、视频编辑应用或从设备向服务器传送动作的任意其他应用。如果用户希望访问web应用,则用户可以在设备103上的显示器上点击针对该应用的图标、键入与该web应用相关联的统一资源定位符(URL)或以其他方式访问该应用。该应用打开并可以经由网页(例如图6中的网页611)查看。在一个实施例中,网页可以提供web应用的显示。
在另一实施例中,应用可以在设备103上以及在主机服务器101上运行,并且当用户访问网页时,用户可以使用该应用,如图4所示。图4示出了根据实施例应用在浏览器上运行的显示。例如,设备103包括运行应用316的浏览器201。在该示例中,应用316可以是与在主机服务器101上运行的应用相同的应用。备选地,应用316可以与在主机服务器101上运行的应用不同。在一个实施例中,应用316可以在浏览器201上运行。在该实施例中,主机服务器101可以远程存储与仅在设备103上运行的应用316相关联的数据。
图5是示出了根据实施例使用后台页面脚本的方法的流程图。在步骤5002处,向在设备上运行的后台页面脚本注册在该设备上运行的多个网页。如图6所示,在图1中的设备103上运行的后台页面脚本614注册在设备103上运行的多个网页(例如,网页611和网页612)。通过图6中所示的箭头示出了后台页面脚本614与多个网页(例如,网页611和网页612)之间的通信。在一个实施例中,多种通信方法包括直接功能呼叫、发布消息、web意图(web intents)、利用共享存储设备的公布/通知机制等。
在图6和图7所示的实施例中,假定使用设备103的用户正在使用应用316。应用316可以是web电子邮件应用。当用户运行应用316时,图6所示的后台页面脚本614也运行。在一个实施例中,对于一个应用可以仅使用一个后台页面脚本,并且如果该应用的多个实例正在运行,则可以仅需要单个后台页面脚本。后台页面脚本614还管理网页注册器,并在其中注册打开的应用316的每一个网页。后台页面脚本614可以对用户不可见。后台页面脚本614可以维护活动页面的计数器,并保持跟踪活动页面。应用316可以与后台页面脚本614进行通信,以向后台页面脚本614通知网页何时打开(因此可以向后台页面脚本614注册该网页)以及网页何时关闭(因此可以向后台页面脚本614注销该网页)。以此方式,当网页关闭时,该计数器递减。在一个实施例中,后台页面脚本614等待直到该计数器减小至零为止(例如当没有网页打开时)才发送动作,如下所述。
用户可以打开与应用316相关联的多个网页(例如,网页611和网页612)。例如,如果用户正在阅读电子邮件,则网页611可以向用户提供电子邮件消息的显示。用户可以打开新网页612,新网页612可以提供用户正在编写的新电子邮件消息的显示。因此,用户可以利用每一个窗口来运行单独的任务,例如,一个窗口用于执行阅读电子邮件的任务,而另一窗口用于执行写电子邮件的任务。在一个实施例中,用户可以利用一个或更多个窗口来执行相同的任务,或者一个或更多个窗口可以用于执行多个任务。
在一个实施例中,应用316可以是正在主机服务器101上运行的web应用。因此,在图6和图7中,示出了应用或向使用设备103的用户图形地显示所运行的应用的网页的显示。
多个任务
在图7所示的实施例中,应用716包括分页式网页702。在一个实施例中,应用716可以是web电子邮件应用。分页式网页702包括网页711-A和网页711-B。在图7所示的实施例中,选择网页711-B(例如通过点击或选择网页711-B的区域、通过使用鼠标、键盘、其他输入设备、通过使用具有触摸屏功能的设备进行触摸、通过使用语音命令等),因此显示网页711-B的内容。网页711-B包括:可以包括地址栏或其他信息的区域702、可以包括收件箱的显示的区域704、可以包括聊天记录的区域708以及可以包括图像、视频或其他多媒体的区域706。网页711-A可以包括与网页711-B类似的项目,或者每一个窗口可以是另一窗口的精确复制。在与上文关于图6所描述的实施例类似的实施例中,用户可以使用网页711-A来写电子邮件消息并且执行一个任务集合,同时使用网页711-B以使用与网页711-A中的任务相同或不同的任务中的一个或更多个。在一个实施例中,网页711-A中所呈现的一些或所有任务可以与网页711-B中所呈现的任务不同。
在一个实施例中,一个用户可以使用网页711-A来登录电子邮件账户,而相同用户或另一用户可以使用网页711-B来登录另一电子邮件账户。
现在假定用户正坐在汽车的乘客座位上旅行。用户正在使用上网本并希望使用应用716来查看并执行与电子邮件账户相关联的任务。当用户打开、进入或以其他方式访问应用716中的网页711-B时,向后台页面脚本714注册网页711-B。在一个实施例中,后台页面脚本714在应用716的后台运行并可以对用户不可见。类似地,当用户打开另一分页式网页711-A或应用716中的任意其他网页时,向后台页面脚本714注册网页711-A。类似地,在图6所示的实施例中,如果用户打开网页611或网页612,则向在应用316的后台运行的后台页面脚本614注册网页611或网页612中的每一个。
在步骤5004处,在数据库中缓存多个网页中的一个网页所生成的动作。在数据库204中缓存多个网页(图6中的网页611和网页612或图7中的网页711-A和网页711-B)中的一个网页所生成的动作。在一个实施例中,动作可以是命令和/或变更,例如保存、删除、标记为重要、选作垃圾信息、移动到另一文件夹、发送、转发、下载、用星号标记、共享、编辑、添加附件/图像/链接/媒体等。
在注册、登录或以其他方式访问电子邮件账户之后,可以向用户呈现示出多个任务的显示。该用户可以例如查看区域704中的电子邮件收件箱;区域708中的聊天记录和区域706中的图像、视频等。当汽车在地下隧道中行进时,用户可能暂时丢失互联网接入(例如由于较差的接收信号)并进入离线状态。允许用户继续点击收件箱中的电子邮件并在聊天记录中键入与其好友的聊天消息,而不是与应用716断开。即使当汽车在地下隧道中行进时互联网连接断断续续或丢失,用户仍会能够在应用716中查看、访问或草拟电子邮件。在一个实施例中,对与电子邮件账户相关联的项目进行本地拷贝,并在网页711-B上向用户显示。也即是说,在设备103的存储器203中本地存储与电子邮件地址相关联的电子邮件消息、聊天消息等。可以在数据库204中或在另一存储元件(图2中未示出)中存储与电子邮件地址相关联的消息等。
在另一实施例中,现在假定用户设备在延长的时间段内处于离线状态。例如,假定用户正在不提供无线互联网接入的飞机上使用他/她的移动电话、膝上型计算机、上网本等。用户可以键入针对地址簿中存储的电子邮件联系人的电子邮件消息。即使当设备在延长的时间段内处于离线状态,用户也能够在电子邮件程序中键入电子邮件。该电子邮件被本地存储在数据库204中(或图2中未示出的另一存储元件中)。
在数据库204中缓存用户所发出的所有动作或命令。例如(在图7中),假定用户希望删除区域704中的收件箱中显示的电子邮件消息、在区域708中显示的聊天记录内键入与朋友的聊天消息并将区域706中显示的视频转发给另一朋友。当用户发出这些动作时,在数据库204中缓存每一个动作,使得在向主机服务器101成功地发送动作之前,可以对其进行保存。
现在假定用户已经完成对电子邮件账户的访问。然后,用户将通过点击“x”712来关闭网页711-B。类似地,用户可以通过点击“x”713来关闭网页711-A。在一个实施例中,用户可以通过发出键盘命令、语音命令、通过点击触发网页的关闭的备选元件、通过触摸网页的使其关闭的区域(如果用户正在使用具有触摸屏功能的设备的话)或通过其他方式来关闭网页。
在一个实施例中,用户可以关闭应用716或执行可以触发网页的关闭的另一任务。一旦网页关闭,后台页面脚本714就对其进行注销。在重新建立互联网连接之前,动作保持缓存在数据库204中。
当设备103能够经由网络102与主机服务器101重新连接时,向主机服务器101发送数据库204中所缓存的动作。在一个实施例中,后台页面脚本714可以使设备103周期性地ping主机服务器101,以确定是否可以进行连接以及设备103是否处于在线状态。在另一实施例中,可以使用其他方式来确定设备103何时重新获得对互联网的接入并且然后可以建立与主机服务器101的连接。
在步骤5006和步骤5008处,响应于确定设备处于在线状态并且不再注册多个网页中的一个网页:后台页面脚本从数据库取回动作。响应于确定设备103处于在线状态并且不再注册网页711-B,后台页面脚本714从数据库204取回动作。
因此,后台页面脚本714从数据库204取回动作。在步骤5010处,后台页面脚本发送动作。后台页面脚本714经由网络102向主机服务器101发送动作。在一个实施例中,后台页面脚本714在取回动作并尝试将它们发送到主机服务器101之前,可以等待预定时间。例如,后台页面脚本714可以等待几毫秒、一分钟或根本不等待,以确定设备103是否回到在线状态。
动作可以与网页相关联,并可以基于网页被分离。动作还可以基于用户被分离。例如,第一用户可以对网页执行可以与第二用户所执行的动作不同的动作。
在当网页711-B关闭时尝试发送动作时,网页711-B被识别并仅发送属于网页711-B的动作。在一个实施例中,如果多个网页打开,则在发送动作之前关闭所有多个网页。当所有多个网页关闭时,可以发送所有动作,而不需要知道动作与各个网页的关联。也即是说,可以发送所有动作,而不需要知道哪个动作与哪个网页相关联。
在一个实施例中,设备103返回在线状态可以被称为上线事件(online event)。具体而言,当设备103从离线状态切换到在线状态时,上线事件发生。在上线事件期间,设备103可以与主机服务器101重新同步。当设备103从在线状态切换到离线状态时,下线事件(offlineevent)发生。
动作的聚集(batching)
后台页面脚本714可以向主机服务器101发送数据库204中存储的动作或命令。在一个实施例中,后台页面脚本714可以在向主机服务器101进行发送之前将多个动作聚集在一起。在另一实施例中,后台页面脚本714可以在发送之前仅将相关动作聚集在一起。例如,可以将与电子邮件相关联的所有动作聚集在一起,可以将与聊天记录相关联的所有动作聚集在一起等。在另一实施例中,可以捆绑所有动作并同时对其进行发送。在另一实施例中,可以预先确定有效载荷的大小,并发送与可以在预定大小内传送的一样多的动作。
在一个实施例中,可以以动作如何被置于队列中的顺序(例如以先进先出的方式)对动作进行发送。在其他实施例中,可以以先进后出、后进后出、后进先出或任意其他方式进行排队。
当主机服务器101接收到动作时,主机服务器101应用期望的动作。例如,如果主机服务器101所接收的动作指示删除消息,则主机服务器101删除该消息。当用户再次访问电子邮件时,该消息被删除并且不再显示在电子邮件收件箱中。
在一个实施例中,在后台页面脚本发起动作的发送之前,必须关闭与应用相关联的所有网页和/或向后台页面脚本注销所有网页。例如,当一些应用网页打开时,后台页面脚本可能不能与主机服务器同步动作,这是因为具有重复动作的风险增加。因此,为了避免可能对主机服务器造成额外负担的主机服务器进行的重复资料删除(deduping),后台页面脚本等待直到所有网页关闭。在主机服务器上进行重复资料删除可能是复杂的,这是因为由于下线行为,重复动作可能每隔几小时和/或几天发送。
如果向每一个动作指派唯一的标识,则重复资料删除是可能的。因此,唯一的标识可以用于确保去除重复动作并正确地进行同步。例如,每当在网页上执行动作时,向该动作指派唯一标识。当下一动作发生时,必须获得下一个唯一标识,其中,下一个唯一标识与另一唯一标识不同。因此,所有网页必须与相同的指派代理或指派源(例如主机服务器101)进行通信,以获得唯一标识。然后,主机服务器将接收具有唯一标识的动作。唯一标识指派代理必须以先进先出的实现方式来维护和指派标识。在仅一个设备与主机服务器101进行通信并且该设备是唯一一个被给予执行动作的许可的设备的实施例中,唯一标识可以备选地由设备中所包含的或与设备进行通信的数据库提供。
在一个实施例中,基于网页将动作排列在一起。例如,网页711-A可以具有需要应用的多个动作,并且网页711-B可以具有需要应用的另外多个动作。针对网页711-A的多个相应动作和针对网页711-B的多个相应动作可以相互分离地存储。在成功地发送队列中存储的动作之后,可以从该队列中移除动作的本地拷贝。在一个实施例中,响应于对动作的成功发送的确认的接收,后台页面脚本从数据库中移除该动作。例如,当向主机服务器101成功地发送动作时(即当设备103处于在线状态时),主机服务器101可以发送确认的接收。然后,可以从数据库204中移除该动作。因此,在设备103(以及任意其他设备)与主机服务器101之间对动作进行同步。
在一个实施例中,在一个或更多个网页关闭之后,后台页面脚本向服务器101发送在数据库204中存储的与所关闭的页面相关联的动作。如果在此发送期间,使用设备103的用户发出用于重新打开网页711-B或打开与应用716相关联的另一网页的命令,则后台页面脚本714可以向用户通知其处于忙碌状态。在一个实施例中,后台页面脚本714可以在完成向主机服务器101发送动作之前忽略对打开另一网页或重新打开网页的请求和/或延迟加载网页。在一个实施例中,后台页面脚本714可以在发送完成之前锁定应用和网页。例如,可以向用户提供文本消息框,该文本消息框显示“你的动作正在发送,请稍等片刻。”备选地,可以在发送期间向用户显示诸如沙漏等的图标。在一个实施例中,后台页面脚本714与前台页面之间的双向握手可以向后台请求加载排队的动作的许可。前台页面可以发送用于请求许可的消息。在此期间,在等待响应时,可以显示旋转亮圈或沙漏(如果必要的话)。在接收到许可之后,后台页面脚本714可以在能够安全地加载动作时发送消息。
在一个实施例中,如果动作的发送不成功(例如接收信号发生中断),则后台页面脚本714预先考虑失败的动作,并向主机服务器101重传失败的动作。
当已经向主机服务器101发送动作并且设备103保持处于在线状态时,后台页面脚本714然后停止控制动作的发送。也即是说,当设备103返回在线时,网页可以维护其自己的内部动作队列,并直接向主机服务器101发送动作,而无需后台页面脚本714的介入。在一个实施例中,多个网页中的一个网页(例如网页711-B)在数据库204中缓存第二动作,(向主机服务器101)发送该第二动作并通过多个网页中的所述一个网页从数据库214中移除该第二动作。在一个实施例中,当设备103处于在线状态时,网页可以维护其自己的内部动作队列,并且向保存在所有网页中发生的所有动作的通用队列(其可以由后台页面脚本714访问)添加动作。在一个实施例中,在对网页注册时,后台页面脚本714对计数器进行递增。
在一个实施例中,响应于对第二动作的成功发送的第二确认的接收,发生从数据库204中移除该第二动作。主机服务器101发送该接收。
在一个实施例中,多个网页中的所述一个网页向后台页面脚本发送不再注册的请求。例如,用户可以关闭网页711-A,因此网页711-A向后台页面脚本714发送不再注册(或注销)的请求。因此,发送该不再注册的请求响应于接收到用户关闭多个网页中的所述一个网页的请求。
当处于在线状态时,在发送动作队列之后,可以从相应的网页队列以及通用队列中移除这些动作。然而,如果在完全发送动作队列之前设备103离线,则后台页面脚本714取得控制,如上所述。
在一个实施例中,多个网页中的每一个与以下各项中的至少一项相关联:电子邮件应用;web文档处理应用;多媒体播放器应用;社交媒体网络应用;电子数据表应用;呈现应用;游戏应用;图像编辑应用和视频编辑应用。
在一个实施例中,定期地重新加载或更新后台页面脚本714,使得在设备103处保持后台页面脚本的最新版本。当在后台页面脚本714中发生更新时,然后必须向后台页面脚本714重新注册所有网页(例如网页711-A和711-B等)。后台页面脚本714可以为上次加载后台页面脚本714写时间戳。然后,所有网页(例如前台页面)可以查看时间戳以确定需要重新注册。前台页面可以监视共享存储设备中的时间戳,并且如果时间戳的值改变则进行重新注册。例如,通过使用HTML(超文本标记语言)5LocalStorage,后台页面脚本714可以每当加载时执行window.localStorage.backgroundLoaded=now();。前台页面可以监听属性“backgroundLoaded”上的LocalStorage改变事件,并且每当该值改变时,进行重新注册。
在一个实施例中,数据库204可以锁定动作以防止重复发送相同动作。
在一个实施例中,后台页面脚本可以管理所有动作的同步,不论设备是处于在线状态还是处于离线状态。因此,后台页面脚本将管理所有动作的发送。在本实施例中,后台页面脚本必须始终运行。
图8是根据实施例用于对动作进行同步的方法的流程图。如图8所示,在网页中生成多个动作。因此,当显示网页的设备回到在线状态时,必须与主机服务器同步多个动作。
在步骤8002处,设备经由互联网访问应用。例如,设备103经由互联网(即网络102)访问应用316。
在步骤8004处,设备运行与应用相关联的后台页面脚本。设备103运行与应用316相关联的后台页面脚本614。后台页面脚本614可以在应用316的后台运行,如图6所示。
在步骤8006处,在后台页面中注册与该应用相关联的第一网页和与该应用相关联的第二网页。在后台页面脚本614中注册与应用316相关联的第一网页611和与应用316相关联的第二网页612。
在步骤8008处,当设备处于离线状态时,在数据库中存储第一网页所生成的第一动作和第二网页所生成的第二动作。当设备103处于离线状态时,在数据库204中存储第一网页611所生成的第一动作和第二网页612所生成的第二动作。例如,当设备103处于离线状态时,使用设备103的用户可以希望在网页611中标记重要电子邮件(例如第一动作)并在网页612中删除垃圾电子邮件(例如第二动作)。相应的命令或动作被存储在数据库204中。
在步骤8010处,确定第一网页和第二网页被关闭。(例如由后台页面脚本614)确定第一网页611和第二网页612被关闭。例如,当完成电子邮件应用时,用户可以关闭网页。
在步骤8012处,向后台页面注销第一网页和第二网页。在第一网页611和第二网页612被关闭之后,后台页面脚本614可以以上述方式注销第一网页611和第二网页612。因此,后台页面脚本614中的计数器递减,并确定与应用316相关联的所有网页都关闭。
在步骤8014处,后台页面脚本从数据库取回第一动作和第二动作。后台页面脚本614从数据库204取回第一动作和第二动作。可以以先进先出的方式对第一动作和第二动作进行排队。此外,第一动作和第二动作可以分别包括针对每一个相应网页的聚集动作。设备103可以确定设备103已经返回在线状态。
在步骤8016处,经由互联网向服务器发送第一动作和第二动作。经由互联网(即网络102)向主机服务器101发送第一动作和第二动作。后台页面脚本614可以向主机服务器101发送从数据库204取回的第一动作和第二动作。
在各种实施例中,可以以与所述或所示的特定顺序不同的顺序来执行本文所述的方法步骤(包括图5和图8中所述的方法步骤)。在其他实施例中,可以提供其他步骤或者可以从所述方法中消除步骤。
本文所述的系统、装置和方法可以使用数字电路或使用一个或更多个计算机(其使用公知的计算机处理器、存储单元、存储设备、计算机软件和其他组件)实现。一般而言,计算机包括用于执行指令的处理器和用于存储指令和数据的一个或更多个存储器。计算机还可以包括或耦合到一个或更多个大容量存储设备(例如,一个或更多个磁盘、内部硬盘和可拆卸磁盘、磁光盘、光盘等)。
本文所述的系统、装置和方法可以使用以客户端-服务器关系操作的计算机来实现。一般而言,在这种系统中,客户端计算机远离服务器计算机,并经由网络进行交互。客户端-服务器关系可以由在相应客户端计算机和服务器计算机上运行的计算机程序来定义和控制。
可以在基于网络的云计算系统中使用本文所述的系统、装置和方法。在这种基于网络的云计算系统中,与网络相连的服务器或另一处理器经由网络与一个或更多个客户端计算机进行通信。客户端计算机可以经由例如驻留在该客户端计算机上并在该客户端计算机上操作的网络浏览器应用与服务器进行通信。客户端计算机可以在服务器上存储数据,并经由网络访问数据。客户端计算机可以经由网络向服务器发送对数据的请求或对在线服务的请求。服务器可以执行所请求的服务,并向客户端计算机提供数据。服务器还可以发送适合于使客户端计算机执行指定功能(例如执行计算、在屏幕上显示指定数据等)的数据。例如,服务器可以发送适合于使客户端计算机执行本文所述的方法步骤中的一个或更多个方法步骤(包括图5和图8的步骤中的一个或更多个步骤)的请求。本文所述方法的特定步骤(包括图5和图8的步骤中的一个或更多个步骤)可以由基于网络的云计算系统中的服务器或另一处理器运行。本文所述的方法的特定步骤(包括图5和图8的步骤中的一个或更多个步骤)可以由基于网络的云计算系统中的客户端计算机执行。本文所述的方法的步骤(包括图5和图8的步骤中的一个或更多个步骤)可以由基于网络的云计算系统中的服务器和/或客户端计算机以任意组合运行。
可以使用计算机程序产品来实现本文所述的系统、装置和方法,该计算机程序产品有形地具体实现在信息载体(例如非瞬时机器可读存储设备)中以由可编程处理器执行;并且可以使用可以由这种处理器执行的一个或更多个计算机程序来执行本文所述的方法步骤(包括图5和图8的步骤中的一个或更多个步骤)。计算机程序是可以直接地或间接地在计算机中使用以执行特定活动或引起特定结果的计算机程序指令的集合。可以以任意形式的编程语言(包括编译性语言或解释性语言)来写计算机程序,并且可以以任意形式(包括作为独立程序或作为模块、组件、子例程或适合于在计算环境中使用的其他单元)部署计算机程序。
图9中示出了可以用于实现本文所述的系统、装置和方法的示例性计算机的高层次框图。计算机900包括与数据存储设备902和存储器903可操作地耦合的处理器901。处理器901通过执行定义这些操作的计算机程序指令来控制计算机900的整体操作。计算机程序指令可以存储在数据存储设备902或其他计算机可读介质中,并可以在期望执行该计算机程序指令时被加载到存储器903中。因此,图5和图8的方法步骤可以由在存储器903和/或数据存储设备902中存储的计算机程序指令来定义并由执行计算机程序指令的处理器901来控制。例如,计算机程序指令可以实现为由本领域技术人员编程以执行图5和图8的方法步骤所定义的算法的计算机可执行代码。因此,通过执行计算机程序指令,处理器901执行图5和图8的方法步骤所定义的算法。计算机900还包括用于经由网络与其他设备进行通信的一个或更多个网络接口904。计算机900还包括能够实现与计算机900的用户交互的一个或更多个输入/输出设备905(例如显示器、键盘、鼠标、扬声器、按钮等)。
处理器901可以包括通用微处理器和专用微处理器,并且可以是计算机900的单个处理器或多个处理器之一。处理器901可以包括例如一个或更多个中央处理单元(CPU)。处理器901、数据存储设备902和/或存储器903可以包括以下各项、由以下各项补充或者并入到以下各项中:一个或多个专用集成电路(ASIC)和/或一个或多个现场可编程门阵列(FPGA)。
数据存储设备902和存储器903均包括有形非瞬时计算机可读存储介质。数据存储设备902和存储器903均可以包括高速随机存取存储器,例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率同步动态随机存取存储器(DDR RAM)或其他随机存取固态存储设备,并可以包括非易失性存储器,例如,一个或更多个磁盘存储设备(例如内部硬盘和可拆卸磁盘)、磁光盘存储设备、光盘存储设备、闪存设备、半导体存储设备(例如,可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM))、压缩光盘只读存储器(CD-ROM)、数字多功能光盘只读存储器(DVD-ROM)盘或其他非易失性固态存储设备。
输入/输出设备905可以包括外围设备(例如,打印机、扫描仪、显示屏等)。例如,输入/输出设备905可以包括:用于向用户显示信息的显示设备(例如,阴极射线管(CRT)监视器或液晶显示器(LCD)监视器)、键盘和用户可以使用以向计算机900提供输入的定点设备(例如鼠标或轨迹球)。
可以使用计算机(例如计算机900)来实现本文所讨论的系统和装置(包括设备103、主机服务器101、浏览器201、显示器202、存储器203、数据库204、处理器205、处理器302、存储器303和应用316)中的任意一个或全部。
本领域技术人员将认识到,实际计算机或计算机系统的实现也可以具有其他结构并可以包含其他组件,并且图9是这种计算机的组件中的一些组件的高层次表示以用于说明的目的。
前面的详细描述应被理解为在每一个方面都是说明性和示例性的,而不是限制性的,并且本文公开的本发明的范围不应根据详细描述来确定,而是如根据专利法准许的全部范围所解释的根据权利要求来确定。将理解的是,本文所示和描述的实施例仅说明本发明的原理并且本领域技术人员可以在不偏离本发明的范围和精神的情况下执行多个修改。本领域技术人员可以在不偏离本发明的范围和精神的情况下实现多个其他特征组合。
Claims (20)
1.一种方法,包括:
向在设备上运行的后台页面脚本注册在所述设备上运行的多个网页;
在数据库中缓存所述多个网页中的一个网页所生成的动作;以及
响应于确定所述设备处于在线状态以及不再注册所述多个网页中的所述一个网页:
所述后台页面脚本从所述数据库取回所述动作;以及
所述后台页面脚本发送所述动作。
2.根据权利要求1所述的方法,还包括:
所述后台页面脚本向主机服务器发送所述动作。
3.根据权利要求1所述的方法,还包括:
所述后台页面脚本响应于对所述动作的成功发送的确认的接收,从所述数据库中移除所述动作。
4.根据权利要求3所述的方法,还包括:
所述多个网页中的所述一个网页在所述数据库中缓存第二动作;
所述多个网页中的所述一个网页发送所述第二动作;以及
所述多个网页中的所述一个网页从所述数据库中移除所述第二动作。
5.根据权利要求4所述的方法,还包括:
所述多个网页中的所述一个网页向所述后台页面脚本发送不再注册的请求。
6.根据权利要求4所述的方法,其中,响应于对所述第二动作的成功发送的第二确认的接收,发生从所述数据库中移除所述第二动作。
7.根据权利要求5所述的方法,还包括:
响应于接收到用户关闭所述多个网页中的所述一个网页的请求,发送所述不再注册的请求。
8.根据权利要求1所述的方法,还包括:
在所述数据库中锁定所述动作。
9.一种存储有计算机程序指令的非瞬时性计算机可读介质,当在处理器上执行所述计算机程序指令时,所述计算机程序指令使所述处理器执行包括以下步骤的方法:
向在设备上运行的后台页面脚本注册在所述设备上运行的多个网页;
在数据库中缓存所述多个网页中的一个网页所生成的动作;以及
响应于确定所述设备处于在线状态以及不再注册所述多个网页中的所述一个网页:
所述后台页面脚本从所述数据库取回所述动作;以及
所述后台页面脚本发送所述动作。
10.根据权利要求9所述的非瞬时性计算机可读介质,还包括定义以下步骤的指令:
所述后台页面脚本向主机服务器发送所述动作。
11.根据权利要求9所述的非瞬时性计算机可读介质,还包括定义以下步骤的指令:
所述后台页面脚本响应于对所述动作的成功发送的确认的接收,从所述数据库中移除所述动作。
12.根据权利要求11所述的非瞬时性计算机可读介质,还包括定义以下步骤的指令:
所述多个网页中的所述一个网页在所述数据库中缓存第二动作;
所述多个网页中的所述一个网页发送所述第二动作;以及
所述多个网页中的所述一个网页从所述数据库中移除所述第二动作。
13.根据权利要求12所述的非瞬时性计算机可读介质,还包括定义以下步骤的指令:
所述多个网页中的所述一个网页向所述后台页面脚本发送不再注册的请求。
14.根据权利要求12所述的非瞬时性计算机可读介质,其中,响应于对所述第二动作的成功发送的第二确认的接收,发生从所述数据库中移除所述第二动作。
15.根据权利要求13所述的非瞬时性计算机可读介质,其中,响应于接收到用户关闭所述多个网页中的所述一个网页的请求,发送所述不再注册的请求。
16.根据权利要求9所述的非瞬时性计算机可读介质,还包括定义以下步骤的指令:
在所述数据库中锁定所述动作。
17.一种方法,包括:
设备经由互联网访问应用;
所述设备运行与所述应用相关联的后台页面脚本;
在后台页面中注册与所述应用相关联的第一网页和与所述应用相关联的第二网页;
当所述设备处于离线状态时,在数据库中存储所述第一网页所生成的第一动作和所述第二网页所生成的第二动作;
确定所述第一网页和所述第二网页被关闭;
向所述后台页面注销所述第一网页和所述第二网页;
所述后台页面脚本从所述数据库取回所述第一动作和所述第二动作;以及
经由所述互联网向服务器发送所述第一动作和所述第二动作。
18.根据权利要求17所述的方法,还包括:
所述后台页面脚本响应于来自所述服务器的对所述第一动作和所述第二动作的成功发送的确认的接收,从所述数据库中移除所述第一动作和所述第二动作。
19.根据权利要求17所述的方法,其中,所述注销响应于接收到不再注册所述第一网页和所述第二网页的请求。
20.根据权利要求17所述的方法,其中,所述第一网页和所述第二网页中至少一个与以下各项中的至少一项相关联:
电子邮件应用;
web文档处理应用;
多媒体播放器应用;
社交媒体网络应用;
电子数据表应用;
呈现应用;
游戏应用;
图像编辑应用;以及
视频编辑应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710960402.XA CN107741977B (zh) | 2011-08-31 | 2012-08-17 | 用于在应用的后台对动作进行同步的系统和方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161529646P | 2011-08-31 | 2011-08-31 | |
US61/529,646 | 2011-08-31 | ||
US13/463,131 US8554729B2 (en) | 2011-08-31 | 2012-05-03 | System and method for synchronization of actions in the background of an application |
US13/463,131 | 2012-05-03 | ||
PCT/US2012/051335 WO2013032736A1 (en) | 2011-08-31 | 2012-08-17 | System and method for synchronization of actions in the background of an application |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710960402.XA Division CN107741977B (zh) | 2011-08-31 | 2012-08-17 | 用于在应用的后台对动作进行同步的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103765420A true CN103765420A (zh) | 2014-04-30 |
CN103765420B CN103765420B (zh) | 2017-11-07 |
Family
ID=47745111
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710960402.XA Active CN107741977B (zh) | 2011-08-31 | 2012-08-17 | 用于在应用的后台对动作进行同步的系统和方法 |
CN201280042062.8A Active CN103765420B (zh) | 2011-08-31 | 2012-08-17 | 用于在应用的后台对动作进行同步的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710960402.XA Active CN107741977B (zh) | 2011-08-31 | 2012-08-17 | 用于在应用的后台对动作进行同步的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8554729B2 (zh) |
EP (1) | EP2751718B1 (zh) |
CN (2) | CN107741977B (zh) |
DE (1) | DE202012013479U1 (zh) |
WO (1) | WO2013032736A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333588A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 一种网页计时的方法及装置 |
CN107066611A (zh) * | 2017-05-04 | 2017-08-18 | 浙江路港互通信息技术有限公司 | 页面返回装置与方法 |
CN109471990A (zh) * | 2018-11-15 | 2019-03-15 | 用友网络科技股份有限公司 | 一种数据处理方法及数据处理装置 |
CN109710582A (zh) * | 2018-12-13 | 2019-05-03 | 创新科存储技术有限公司 | 一种共享目录管理方法和装置 |
Families Citing this family (152)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US20120204114A1 (en) * | 2011-02-08 | 2012-08-09 | Oscix, Llc | Mobile application framework |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
SG190505A1 (en) * | 2011-11-24 | 2013-06-28 | Chikka Pte Ltd | System and method for detecting broadband service and a charging mechanism for same |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
TWI511513B (zh) * | 2012-11-14 | 2015-12-01 | Wistron Corp | 用於網路系統之偵測方法及其相關裝置 |
CN113470641B (zh) | 2013-02-07 | 2023-12-15 | 苹果公司 | 数字助理的语音触发器 |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US10735496B2 (en) | 2013-04-01 | 2020-08-04 | Autodesk, Inc. | Server side video screen capture |
CN104216794A (zh) * | 2013-06-04 | 2014-12-17 | 北大方正集团有限公司 | 用于稿件编辑的灾备方法和装置 |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
AU2014278592B2 (en) | 2013-06-09 | 2017-09-07 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
KR101749009B1 (ko) | 2013-08-06 | 2017-06-19 | 애플 인크. | 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화 |
CN104346158B (zh) * | 2013-08-09 | 2017-11-21 | 华为终端(东莞)有限公司 | 一种处理级联页面的方法和用户设备 |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US10067652B2 (en) * | 2013-12-24 | 2018-09-04 | Dropbox, Inc. | Providing access to a cloud based content management system on a mobile device |
US9544373B2 (en) | 2013-12-24 | 2017-01-10 | Dropbox, Inc. | Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9966065B2 (en) * | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
CN110020268B (zh) * | 2017-07-28 | 2022-04-12 | 北京国双科技有限公司 | 页面返回方法及装置 |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
GB201818892D0 (en) * | 2018-11-20 | 2019-01-02 | Ve Global Uk Ltd | Initiating a software application in dependence detection of closure of multiple web pages associated with the software application |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11043220B1 (en) | 2020-05-11 | 2021-06-22 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6034621A (en) * | 1997-11-18 | 2000-03-07 | Lucent Technologies, Inc. | Wireless remote synchronization of data between PC and PDA |
US20030217152A1 (en) * | 2002-05-15 | 2003-11-20 | Adc Dsl Systems, Inc. | Resource sharing with database synchronization |
US20050210081A1 (en) * | 2004-03-18 | 2005-09-22 | Alcatel | Data synchronization method |
US20070060123A1 (en) * | 2003-06-27 | 2007-03-15 | Oracle International Corporation | Roaming Across Different Access Mechanisms and Network Technologies |
CN101470773A (zh) * | 2007-12-25 | 2009-07-01 | 山东易通商业经纪有限公司 | 一种基于web浏览器的网页游戏系统实现方法 |
US20100257230A1 (en) * | 2009-04-03 | 2010-10-07 | Kroeger Robert J | Architectural pattern for persistent web application design |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035332A (en) * | 1997-10-06 | 2000-03-07 | Ncr Corporation | Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants |
US7487455B2 (en) | 2004-04-19 | 2009-02-03 | Yahoo! Inc. | Techniques for simultaneously displaying a background page and an interactive content page in an application window |
US7418213B2 (en) * | 2004-08-12 | 2008-08-26 | Finisar Corporation | Transimpedance amplifier with integrated filtering and reduced parasitic capacitance |
US20090094332A1 (en) | 2004-09-02 | 2009-04-09 | Zimbra, Inc. | System and method for enabling offline use of email through a browser interface |
US8195746B2 (en) * | 2005-03-11 | 2012-06-05 | International Business Machines Corporation | Automatic off-line availability for document content linked in electronic mail messages |
US7814234B2 (en) * | 2006-10-30 | 2010-10-12 | Microsoft Corporation | Offline execution of web based applications |
US20090259744A1 (en) * | 2008-04-14 | 2009-10-15 | Kolke Daniel J | System and Method for Running a Web-Based Application while Offline |
US7831673B1 (en) | 2007-10-31 | 2010-11-09 | Google Inc. | Methods and systems for processing offline chat messages |
US20090132556A1 (en) * | 2007-11-16 | 2009-05-21 | Nitin Gupta | Offline operations for online applications |
US9003059B2 (en) | 2008-03-31 | 2015-04-07 | Microsoft Technology Licensing, Llc | Running applications in an online or offline mode based on the availability of the connection to the remote web server |
US20120151368A1 (en) * | 2010-12-10 | 2012-06-14 | Mitel Networks Corporation | Application operating environment for mobile computing devices |
-
2012
- 2012-05-03 US US13/463,131 patent/US8554729B2/en active Active
- 2012-08-17 CN CN201710960402.XA patent/CN107741977B/zh active Active
- 2012-08-17 WO PCT/US2012/051335 patent/WO2013032736A1/en active Application Filing
- 2012-08-17 DE DE202012013479.5U patent/DE202012013479U1/de not_active Expired - Lifetime
- 2012-08-17 EP EP12754145.6A patent/EP2751718B1/en active Active
- 2012-08-17 CN CN201280042062.8A patent/CN103765420B/zh active Active
-
2013
- 2013-09-06 US US14/020,166 patent/US9015117B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6034621A (en) * | 1997-11-18 | 2000-03-07 | Lucent Technologies, Inc. | Wireless remote synchronization of data between PC and PDA |
US20030217152A1 (en) * | 2002-05-15 | 2003-11-20 | Adc Dsl Systems, Inc. | Resource sharing with database synchronization |
US20070060123A1 (en) * | 2003-06-27 | 2007-03-15 | Oracle International Corporation | Roaming Across Different Access Mechanisms and Network Technologies |
US20050210081A1 (en) * | 2004-03-18 | 2005-09-22 | Alcatel | Data synchronization method |
CN101470773A (zh) * | 2007-12-25 | 2009-07-01 | 山东易通商业经纪有限公司 | 一种基于web浏览器的网页游戏系统实现方法 |
US20100257230A1 (en) * | 2009-04-03 | 2010-10-07 | Kroeger Robert J | Architectural pattern for persistent web application design |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333588A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 一种网页计时的方法及装置 |
CN104333588B (zh) * | 2014-10-31 | 2017-11-03 | 北京奇安信科技有限公司 | 一种网页计时的方法及装置 |
CN107066611A (zh) * | 2017-05-04 | 2017-08-18 | 浙江路港互通信息技术有限公司 | 页面返回装置与方法 |
CN107066611B (zh) * | 2017-05-04 | 2020-05-15 | 浙江数链科技有限公司 | 页面返回装置与方法 |
CN109471990A (zh) * | 2018-11-15 | 2019-03-15 | 用友网络科技股份有限公司 | 一种数据处理方法及数据处理装置 |
CN109710582A (zh) * | 2018-12-13 | 2019-05-03 | 创新科存储技术有限公司 | 一种共享目录管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20140074778A1 (en) | 2014-03-13 |
US8554729B2 (en) | 2013-10-08 |
DE202012013479U1 (de) | 2017-02-06 |
WO2013032736A1 (en) | 2013-03-07 |
CN103765420B (zh) | 2017-11-07 |
US20130054550A1 (en) | 2013-02-28 |
EP2751718A1 (en) | 2014-07-09 |
EP2751718B1 (en) | 2019-02-13 |
US9015117B2 (en) | 2015-04-21 |
CN107741977B (zh) | 2021-08-03 |
CN107741977A (zh) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103765420A (zh) | 用于在应用的后台对动作进行同步的系统和方法 | |
US10824981B2 (en) | Transaction orchestration for microservice | |
US9432455B2 (en) | Synchronizing events between mobile devices and servers | |
US9983766B2 (en) | Flip-through format to view notification and related items | |
NL2008778C2 (en) | Zero-click sharing of application context across devices. | |
US20090247134A1 (en) | Synchronizing communications and data between mobile devices and servers | |
CN103765419A (zh) | 用于在主机文档服务中提供离线访问的系统和方法 | |
DE102012207695A1 (de) | Übertragung des Anwendungsstatus über verschiedene Vorrichtungen hinweg | |
US20140068632A1 (en) | Disabling the self-referential appearance of a mobile application in an intent via a background registration | |
DE202012004620U1 (de) | Client-Vorrichtung zur Übertragung des Anwendungszustandes über verschiedene Vorrichtungen hinweg mit Kontrollpunkten | |
US20180203839A1 (en) | Fast page loading in hybrid applications | |
AU2016386053B2 (en) | Client-side activity monitoring | |
US20200151279A1 (en) | Web application architecture for information management | |
US20160127428A1 (en) | Data Collaboration in an Enterprise Environment | |
EP3821344B1 (en) | Use of cache for content validation and error remediation | |
US11200287B2 (en) | Global address list | |
US11068306B2 (en) | Re-using data structures beyond the life of an in-memory processing session | |
US20130036374A1 (en) | Method and apparatus for providing a banner on a website | |
US9049174B2 (en) | Maintaining sessions in a smart thin client server | |
US10366140B2 (en) | Method for replaying user activity by rebuilding a webpage capturing content at each web event | |
US11422668B1 (en) | Seamless application updates | |
US11196578B2 (en) | Distributed multi-tenant, multi-service server-side artifact caching | |
CN116303513A (zh) | 一种分布式平台的数据加载方法、装置及介质 | |
Garagnon et al. | Collaboration in Lively |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |