CN104094252A - 在文档中的软件应用分发 - Google Patents
在文档中的软件应用分发 Download PDFInfo
- Publication number
- CN104094252A CN104094252A CN201380007342.XA CN201380007342A CN104094252A CN 104094252 A CN104094252 A CN 104094252A CN 201380007342 A CN201380007342 A CN 201380007342A CN 104094252 A CN104094252 A CN 104094252A
- Authority
- CN
- China
- Prior art keywords
- unit
- web plug
- web
- plug
- application
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Abstract
在此描述了用于分发文档内的基于web的软件应用扩展的概念和技术。根据在此所述的一些概念和技术,拥有基于web的软件应用扩展或具有到基于web的软件应用扩展的试用访问的用户可以将它们加入到文档中。随后,用户可以将包含所述基于web的软件应用扩展的文档分发给其它用户,这些用户可以被许可或可以没有被许可使用所述基于web的软件应用扩展。文档可以以任意分发文件的方式被分发。当用户接收到包含基于web的软件应用扩展的文档时,所述用户可以获得对所述基于web的软件应用扩展的试用权利或在不需要访问虚拟市场的情况下购买所述基于web的软件应用扩展。
Description
背景
近些年,软件产业开始经历从在诸如CD和DVD之类的物理介质上的软件应用分发向通过方便从因特网下载软件的服务的软件应用分发的转变。通常通过基于Web的市场和/或通过安装在终端用户计算机或其它计算设备(例如智能电话)上的独立的市场应用来访问软件下载服务。这些市场通常根据类别来组织可用的应用,提供搜索功能,并且一些还提供了下载应用的试用版本的选项。
市场生态系统为开发者提供了一种简单的方式来分发他们的应用、保持他们的应用的最新并可能到达数百万终端用户。这些好处是以市场内的受限分发或通过到市场内的应用的链接为代价。虽然,开发者可以在他们的网站上或在因特网的别处提供直接下载链接,但是这种分发策略不具有市场方案的好处,特别是,市场经历了大容量的每日流量。
本文所做出的本公开正是关于这些和其他考虑事项而提出的。
发明内容
在此描述了用于分发文档内的基于web的软件应用扩展的概念和技术。根据在此所述的概念和技术,拥有基于web的软件应用扩展或具有到基于web的软件应用扩展的试用访问或免费访问的用户可以将它们加入到文档中。随后,用户可以将包含所述基于web的软件应用扩展的文档分发给其它用户,这些用户可以被许可或可以没有被许可使用所述基于web的软件应用扩展。文档可以以任意分发文件的方式被分发。当用户接收到包含基于web的软件应用扩展的文档时,所述用户可以获得对所述基于web的软件应用扩展的试用权利或在不需要访问虚拟市场的情况下购买所述基于web的软件应用扩展。
根据一个方面,一种通过文档分发软件应用扩展的方法包括获取软件应用扩展,创建包含特定状态的软件应用扩展的文档,所述特定状态在文档中被标识为配置数据,保存包含所述软件应用扩展的文档,并将所述文档分发到一个或多个计算机系统。随后计算机系统中的一个或多个将所述文档中的软件应用扩展重新分发给其它设备。
根据另一个方面,一种用于分发web插件的方法包括获取web插件,创建文档,将web插件和标识所述web插件在该文档中的特定状态的配置数据一起插入到文档中,并保存包含清单文件或对清单文件的引用的文档,所述清单文件描述web插件服务器的位置,所述web插件服务器被配置为提供web插件的web内容以及允许web插件被用户设备查看的web插件的静态快照,所述用户设备被配置有查看器应用以方便对web插件的查看但不编辑web插件。所述方法还包括将包含所述web插件的文档分发给一个或多个用户设备。
根据又另一个方面,一种分发基于web的软件应用扩展的方法包括获取由用户设备分发的web插件并确定用户是否具有该web插件的权利。所述方法还包括响应于确定所述用户具有该web插件的权利,根据该权利提供该web插件以供使用。该方法还包括:响应于确定所述用户不具有该web插件的权利,为用户呈现试用或购买该web插件的选项。所述方法还包括响应于获得对所述选项之一的选择,发送权利请求给市场服务器计算机,从所述市场服务器计算机获取指示根据所选的选项的web插件的权利的权利条款的权利响应,并根据所述权利提供web插件以供使用。所述方法还包括创建文档、将web插件插入到文档中、保存包含所述web插件的文档并将包含所述web插件的文档分发给一个或多个其它用户设备。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的选择的概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图简述
图1是示出用于在此呈现的各实施例的示例性操作环境的图表。
图2是示出用于实现在此呈现的各实施例的另一示例性操作环境的图表。
图3-6是示出根据说明性实施例用于分发文档内的web插件的各种方法的各方面的流程图。
图7A-7H是示出根据说明性实施例的加入web插件并在应用用户界面内获得web插件的权利的各方面的用户界面图表。
图8A和8B是示出根据说明性实施例的用于升级传统应用的方法的各方面的流程图。
图9A-9J是示出根据说明性实施例升级传统应用的各方面的用户界面图表。
图10是示出根据说明性实施例的被配置为显示在此所述的用于在基于触摸的与web插件的交互中使用的各种用户界面的平板设备的图表。
图11是示出能够实现在此呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
图12是示出能够实现本文呈现的各实施例的各方面的分布式计算环境的图示。
图13是示出能够实现本文呈现的各实施例的各方面的计算设备体系结构的计算机体系结构图。
具体实施方式
下面的详细描述是针对用于分发文档内的基于web的软件应用扩展的概念和技术。这些基于web的软件应用扩展提供了一种用于生产性应用(例如被包括在诸如可从华盛顿州雷蒙德的微软公司获得的MICROSOFT OFFICE之类的生产性应用套装内的那些生产性应用)的新的可扩展性模型。这种新的可扩展性模型允许web应用开发者的广泛的受众以容易地创建通过web内容来扩展生产性应用的功能的基于web的解决方案。虽然,下面的详细描述聚焦于扩展生产性应用的功能,但基于web的软件应用扩展可以被用于扩展其它应用的功能性,例如多媒体应用、照片应用、设计应用、视频游戏应用等等。
基于web的软件应用扩展在此通常被称为“web插件”。web插件在应用内提供了包含网页的区域。web插件提供了新的和交互的内容类型和功能。类似于网页,web插件可以使用标准的web技术来构建,例如但不局限于,超文本标记语言(“HTML”)、Javascript、代表性状态转移(“REST”)。与现有的诸如用于应用的插件和visual basic(“VBA”)的可扩展技术相比较,web插件允许单个代码库在多个环境上运行,所述环境包括富客户机应用、移动电话应用、平板应用和被配置为在各种个人计算机(“PC”)的操作系统(例如可从华盛顿州雷蒙德的微软公司获得的MICROSOFT WINDOWS以及从加利福尼亚州库珀蒂诺市的苹果计算机公司获得的APPLE MAC OS)上运行的应用。终端用户可以从虚拟市场或从协作平台网站(例如使用可从华盛顿州雷蒙德的微软公司获得的MICROSOFT SHAREPOINT开发的网站)中获得具有独立扩展或文档模板方案或应用的子组件形式的web插件。
web插件可以被配置为完成或提供网页可以完成或提供的任何事。例如,web插件可以提供交互式用户界面(“UI”)、通过动态HTML(“DHTML”)和/或Javascript定制逻辑、利用诸如JQuery的Javascript框架、通过HTTP/AJAX连接到REST/Web服务和/或主存在ADOBE FLASH(可从加利福尼亚州圣何塞市的Adobe Systems获得)、MICROSOFT SILVERLIGHT(可从华盛顿州雷蒙德的微软公司获得)或开发富基于web的应用和内容的其它应用框架中提供的控件。除了在文档中提供网页的功能之外,web插件还可以通过Javascript库与主存应用进行交互,所述Javascript库提供了用于读取和写入文档以及处理关键应用和诸如选择改变之类用户事件的应用可编程接口(“APIs”)。
在一些实施例中,web插件包括对能够提供网页和/或web服务的web服务器的引用和其描述。对web服务器的引用和其描述在此被称为web插件清单,或简称为清单。网页和/或web服务可以通过web插件被加入到文档或应用中,如下将更加详细描述地那样。
提供了方便用户浏览、搜索可用清单并从可用清单选择的虚拟市场。一个或多个web服务器也可被用于为web插件出力。在一些实施例中,web服务器是下载诸如HTML和/或Javascript文件之类的文件的主机。在一些实施例中,web服务器提供了一组连接到包括服务器侧逻辑的富后端的web服务。
为便于说明和描述,在此使用的web插件有时统一地指清单和web服务器提供下述一个或多个项的能力:(1)一个或多个HTML文件;(2)一个或多个Javascript文件;以及(3)一个或多个访问将值加入到文档或应用中的服务器侧功能和内容的web服务。或者,web插件可以是指清单和web服务器根据任意其它web技术或web技术的任意组合来提供一个或多个文件以及一个或多个访问将值加入到文档或应用中的服务器侧功能和内容的web服务的能力。
在在此所述的一些实施例中,web插件可以被嵌入在诸如字处理文档、电子表格文档、演示文档、电子邮件等等之类的文档中。在一些实施例中,web插件被称作内容web插件。内容web插件允许网页或其部分作为可以在文档的内容上或之后被内联示出、包装的嵌入式内容来成为文档的部分。内容web插件可以允许诸如视频播放器和照片库之类的嵌入式媒体场景作为文档的部分以及通用外部内容能力。
在在此所述的一些实施例中,web插件提供了在更大的画布上浮现web内容的能力,这样,允许富控制面板和处理上下文场景。在这些实施例中,web插件被称作后台web插件。
在在此所述的一些实施例中,web插件在任务窗格中提供了web内容。在一些实施例中,任务窗格在此被用于描述应用用户界面内的可停驻对话窗口。任务窗格web插件允许下述场景:在其中用户从查看针对他们当前正在工作的文档的补充信息中受益,这增强了他们执行工作的能力。该信息可以涉及文档中的数据,例如有关商业顾客的附加联系信息或可以例如通过字典或百科全书提供额外的指导。任务窗格web插件还可以通过允许用户执行动作和提交记录给其它系统和服务来扩展应用能力,因此减少对多应用上下文的需求并改善应用或应用套装的使用和益处。
在在此所公开的一些实施例中,web插件允许用户选择文档的一部分(例如电子表格内的单元格或字处理文档中的句子)并通过上下文菜单来访问可以基于所述选择提供信息或功能的一个或多个web插件。在这些实施例中,web插件被称作浮动web插件。浮动web插件可以是过渡的。换句话说,浮动web插件可以在用户点击或与文档的其它方式交互之后消失。
浮动web插件和任务窗格插件在此可以被称为文档外web插件。其它类型的文档外web插件包括带状条web插件、菜单web插件、工具栏插件、状态栏插件、弹出菜单插件或单独应用。
在一些实施例中,拥有web插件或对web插件具有试用访问的用户可以将它们插入到文档。在一些实施例中,任何用户都可以插入web插件,但在使用该web插件时可能被强迫有某种形式的广告出现。在一些实施例中,用户能够插入web插件以供降级方式使用。例如,用户可能仅能够插入加水印的图像,或可能能够唤醒功能来在受限的数据集上执行计算。在该实例中的试用可以被用于提供限制时间的免费方式来访问web插件的完整功能。在一些实施例中,web插件被免费提供。在任意情况下,用户随后可以将含有该web插件的文档分发给其它用户,所述其它用户可能被或可能没有被许可使用(如果适用的话)该web插件。文档可以以任意分发文件的方式被分发。当用户接收到含有web插件的文档时,该用户可以获得该web插件的试用权利或在不需要访问虚拟市场的情况下购买该web插件。
在在此所公开的一些实施例中,web插件可以是上下文的。在这些实施例中,web插件被配置为基于在文档或电子邮件中包括的内容自动出现。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体实施方式或示例的附图。现在参考附图(贯穿若干附图中,相同的标号表示相同的元素),将提出用于在文档中分发基于web的软件应用扩展的计算系统、计算机可读存储介质和计算机实现的方法的各方面。
现在参考图1,将描述用于本文所呈现的各实施例的一个操作环境100的各方面。图1中示出的操作环境100包括操作在网络104上或与网络104通信的用户设备A102A。所述用户设备A102A可以是个人计算机(“PC”)、桌面工作站、膝上型计算机、平板计算机、笔记本计算机、个人数字助理(PDA)、电子书阅读器、游戏控制台、机顶盒、消费电子设备、服务器计算机或任意其它类型的被配置为执行在此所述的分发文档内的基于web的软件应用扩展的各种操作的计算设备。网络104可以是互联网、因特网、内联网或外联网。可以通过一个或多个有线或无线接入网络(未示出)来提供对网络104的接入,如本领域的技术人员将理解的。
用户设备A102A被配置为与web插件和市场服务器计算机106通信以获得在用户设备A102A上执行的一个或多个应用的web插件,如在此将更详细描述的。用户设备A102A还被配置为将一个或多个web插件分发给一个或多个其它用户设备,在所示的实施例中,这些其它用户设备包括用户设备B102B和用户设备N102N。用户设备A102A可以另外地或替换地从用户设备B102B和/或用户设备N102N来获得一个或多个应用的web插件。所述用户设备B102B和用户设备N102N可以是个人计算机(“PC”)、桌面工作站、膝上型计算机、平板计算机、笔记本计算机、个人数字助理(PDA)、电子书阅读器、游戏控制台、机顶盒、消费电子设备、服务器计算机或任意其它类型的被配置为执行在此所述的各种操作的计算设备。
用户设备A102A被配置为执行操作系统108和一个或多个应用程序,例如在所示的实施例中,市场应用110、web浏览器应用112、web插件开发应用114、分发应用116、web插件启用应用118、web插件查看器应用120和/或一个或多个其它应用(未示出)。在一些实施例中,两个或多个上述应用110、112、114、116、118、120被组合在单个应用程序中。在一些实施例中,web插件启用应用118包括由市场应用110、web浏览器应用112、web插件开发应用114、分发应用116和/或web插件查看器应用所提供的一个或多个特征。操作系统108是用于控制用户设备A102A的操作的计算机程序。应用程序是被配置成在操作系统108之上执行以提供如本文所述的各种功能的可执行程序。
虽然,应用110、112、114、116、118、120被示出为被主存在用户设备A102A上,但这些应用中的一个或多个可以被实现为在万维网(“Web”)上操作的一个或多个网站或在一个或多个网站内的一个或多个网页。在一些实施例中,这些应用中的一个或多个可在由用户设备A102A通过web浏览器应用112可访问的web插件和市场服务器计算机106和/或一个或多个其它服务器上实现。而且,虽然用户设备A102A被示为包括应用110、112、114、116、118、120,在一些实现中,用户设备A102A包括这些应用中的一个或多个,但不是如在所示实施例中的这些应用的全部。因此,所示实施例不应该被解释为限定了必须包括所示应用110、112、114、116、118、120的全部的设备。
市场应用110是一种用户通过其可以访问虚拟市场以获得诸如由web插件和市场服务器计算机106所主存的应用和web插件之类的市场内容的应用程序。在一些实施例中,市场应用110是安装在用户设备A102A上的市场客户机应用,它提供了一种图形用户界面(“GUI”),通过所述图形用户界面,用户可以浏览市场内容、搜索市场内容、下载市场内容、管理市场内容、创建并管理用户账户、读取对市场内容的评论以及其它方式与web插件和市场服务器计算机106进行交互。虽然,所述市场应用110被示为是与应用112、114、116、118、120一起驻留在用户设备A102A上,但应该理解的是:在一些实现中,用户设备A102A仅包括市场应用110或市场应用110和应用112、114、116、118、120中的一个或多个,而不是所有这些应用。
web浏览器应用112是一种应用程序,用户能够通过该应用程序经由网络104访问Web上的信息资源。在一些实施例中,web浏览器应用112允许用户访问由web插件和市场服务器计算机106主存或为其主存的市场网站。市场网站可以提供基于web的GUI,用户可通过其来浏览市场内容、搜索市场内容、下载市场内容、管理市场内容、创建并管理用户账户、读取对市场内容的评论以及其它方式与web插件和市场服务器计算机106进行交互。虽然,所述web浏览器应用112被示为是与应用110、114、116、118、120一起驻留在用户设备A102A上,但应该理解的是:在一些实现中,用户设备A102A仅包括web浏览器应用112或web浏览器应用112和应用110、114、116、118、120中的一个或多个,而不是所有这些应用。
Web插件开发应用114是一种通过其用户可以开发web插件的应用程序。在一些实施例中,web插件开发应用114是或者包括一种开发环境,在其中,可以使用诸如(但不限于)HTML、Javascript和REST之类的web技术来构建web插件。在一些实施例中,web插件开发应用114包括方便将web插件提交给web插件和市场服务器计算机106以包括在由该web插件和市场服务器计算机106所提供的虚拟市场内的功能。在其它实施例中,市场应用110提供了这种功能。虽然,所述web插件开发应用114被示为是与应用110、112、116、118、120一起驻留在用户设备A102A上,但应该理解的是:在一些实现中,用户设备A102A仅包括web插件开发应用114或web插件开发应用114和应用110、112、116、118、120中的一个或多个,而不是所有这些应用。
分发应用116是一种通过其用户可以将含有web插件的文档分发给用户设备B102B、用户设备N102N和/或其它用户设备(未示出)的应用程序。在一些实施例中,分发应用116是一种电子邮件应用,例如可从华盛顿州雷蒙德的微软公司获得的MICROSOFT OUTLOOK,通过所述电子邮件应用,用户可以创建一个电子邮件、将含有web插件的文档附加给该电子邮件,并将该电子邮件发送给与所述一个或多个用户相关联的一个或多个电子邮件地址。在一些实施例中,分发应用116是一种通过其用户可以共享含有web插件的文档的文件共享应用。可以构想文件共享应用可以或可以不要求口令或其它认证凭证来下载含有web插件的文档。在一些实施例中,分发应用116是媒体应用。在一些实施例中,分发应用116被包括在另一个应用中,并且至少部分地被提供用于在其它应用内分发web插件,所述其它应用可以或可以不被配置为利用该web插件。在一些实施例中,分发应用116是可通过web浏览器应用112访问的web应用。虽然,所述分发应用116被示为是与应用110、112、114、118、120一起驻留在用户设备A102A上,但应该理解的是:在一些实现中,用户设备A102A仅包括分发应用116或分发应用116和应用110、114、118、120中的一个或多个,而不是所有这些应用。
Web插件启用应用118是一种被配置为方便将一个或多个web插件合并到文档中的应用程序。在一些实施例中,web插件启用应用118是一种例如但不局限于字处理应用、电子表格应用、演示应用、绘图应用、照片应用、设计应用、视频游戏应用、音乐应用、视频应用或协作应用之类的应用。在一些实施例中,web插件启用应用是可从华盛顿州雷蒙德的微软公司获得的MICROSOFT WORD,可从华盛顿州雷蒙德的微软公司获得的MICROSOFTEXCEL,可从华盛顿州雷蒙德的微软公司获得的MICROSOFT POWERPOINT,可从华盛顿州雷蒙德的微软公司获得的MICROSOFT VISIO,或可从华盛顿州雷蒙德的微软公司获得的MICROSOFT SHAREPOINT。或者,所述web插件启用应用118可以是支持web插件的任意其它应用。虽然,所述web插件启用应用118被示为是与应用110、112、114、116、120一起驻留在用户设备A102A上,但应该理解的是:在一些实现中,用户设备A102A仅包括web插件启用应用118或web插件启用应用118和应用110、112、114、116、120中的一个或多个,而不是所有这些应用。
在一些实施例中,web浏览器应用112为方便对web应用的访问而被配置为提供如上所述的web插件启用应用118的相同或类似的功能。
web插件查看器应用120是一种方便用户查看文档中的web插件但不具有修改所述web插件的能力的应用程序。在一些实施例中,web插件查看器应用120是在已经启用web插件功能之前的web插件启用应用118的较旧的版本。在一些实施例中,web插件查看器应用120是一种例如但不局限于字处理应用、电子表格应用、演示应用、绘图应用、照片应用、设计应用、视频游戏应用、音乐应用、视频应用、文件查看器应用或协作应用之类的应用。如将在此更加详细描述地,在一些实施例中,web插件查看器应用120可升级到较新的版本,该版本被配置为以类似于或如同web插件启用应用118的能力来方便地将一个或多个web插件合并到文档中。虽然,所述web插件查看器应用120被示为是与应用110、112、114、116、118一起驻留在用户设备A102A上,但应该理解的是:在一些实现中,用户设备A102A仅包括web插件查看器应用120或web插件查看器应用120和应用110、112、114、116、118中的一个或多个,而不是所有这些应用。
虽然web插件启用应用118和web插件查看器应用120被示为驻留在用户设备A102A中,但应该理解:在一些实现中,在给定时间仅web插件启用应用118或web插件查看器应用120驻留在用户设备A 102A中。
用户设备A102A被示为正与文档数据存储122、模板数据存储124、web插件数据存储126以及权利数据存储128通信。文档数据存储122、模板数据存储124、web插件数据存储126和/或权利数据存储128可以被存储在用户设备A102A的存储器(未示出)中,或可从可以位于用户设备A102A本地或远程的外部源来访问。在一些实施例中,组合两个或更多个数据存储122、124、126、128。
文档数据存储122被配置为存储诸如但不限于字处理文档、电子表格文档、演示文档、绘图文档、协作文档和/或由web插件启用应用118和/或web插件查看器应用120所创建的或为其创建的其它文档之类的文档。存储在文档数据存储122中的文档可以具有嵌入在其中或附加到其的一个或多个web插件。存储在文档数据存储122中的文档可以由web插件启用应用118和/或web插件查看器应用120来打开。利用后者,文档可以或可以不包括如果文档通过web插件启用应用118被打开时将被提供的相同功能。在一些实施例中,如在此将更加详细描述地,web插件查看器应用120可升级为web插件启用应用118或类似的应用,以便一个或多个web插件可以被编辑或以其它方式交互。存储在数据存储122中的文档可以包括新的或空白文档;在用户设备A102A上创建的文档;从网站、电子邮件附件、文件共享应用和/或另一个计算机或设备(例如web插件和市场服务器计算机106、用户设备B102B或用户设备N102N)下载到用户设备A102A的文档;和/或从外部存储器设备(例如闪存驱动器、CD、DVD或其它物理介质)传送到用户设备A102A的文档。
模板数据存储124被配置为存储用于方便文档(例如但不局限于字处理文档、电子表格文档、演示文档、绘图文档和协作文档)创建的文档模板。如在此所用,模板可以是文档的样式向导。例如,字处理文档模板可以包括,但不局限于,包括、格式化、样式、模板型文本、页眉、页脚、宏、字典、工具条和/或自动文本记录。存储在文档模板数据存储124中的文档模板可以具有嵌入在其中或附加到其的一个或多个web插件。在这些实施例中,含有一个或多个web插件的文档模板可以有效地成为一种功能性的但不需要web插件启用应用118的应用。
存储在文档模板数据存储124中的文档模板可以由web插件启用应用118和/或web插件查看器应用120来打开。利用后者,文档模板可以或可以不包括如果文档通过web插件启用应用被打开时将被提供的相同功能。在一些实施例中,如在此将更加详细描述地,web插件查看器应用120可升级为web插件启用应用118或类似的应用,以便一个或多个web插件和/或文档模板的其它特征可以被编辑或以其它方式交互。存储在文档模板数据存储124中的文档模板可以包括新的或空白文档模板;在用户设备A102A上创建的文档模板;从网站、电子邮件附件、文件共享应用和/或另一个计算机或设备(例如web插件和市场服务器计算机106、用户设备B102B或用户设备N102N)下载到用户设备A102A的文档模板;和/或从外部存储器设备(例如闪存驱动器、CD、DVD或其它物理介质)传送到用户设备A102A的文档模板。
web插件数据存储126可以被配置为存储web插件。具体而言,web插件数据存储126被配置为存储web插件清单。每个web插件清单包括对一个或多个web服务器(例如由web插件和市场服务器计算机106主存或为其主存的一个或多个web服务器)的引用和其描述,如下将更加详细描述地。存储在web插件数据存储126中的web插件清单可以包括在用户设备A102A上创建的清单;从网站、电子邮件附件、文档、文件共享应用和/或另一个计算机或设备(例如web插件和市场服务器计算机106、用户设备B102B或用户设备N102N)下载到用户设备A102A的清单;和/或从外部存储器设备(例如闪存驱动器、CD、DVD或其它物理介质)传送到用户设备A102A的清单。
权利数据存储128被配置为存储诸如存储在web插件数据存储126中的web插件之类的web插件的权利。权利可以包括免费权利、试用权利和购买权利。免费权利可以被配置为提供完整或减少的功能。试用权利允许用户通过对使用web插件的一个或多个限制来访问该web插件。这些限制包括,但不局限于,时间限制、使用限制、功能限制或其某种组合。在一些实施例中,在试用权利到期之后,可以向用户提供购买该web插件的选项。购买权利可以包括多个等级,例如基础和高级。高级购买权利可以在基础购买权利所提供的权利之上或以外提供额外的功能。购买权利可以是基于订阅的。而且,权利可以被配置为自动续订。
时间限制可被用于限制在试用权利到期之前可以使用web插件的时间量。在一些实施例中,时间限制是累积的,这样,使用web插件的时间被累加直到达到时间期限,在这时,所述试用权利可以到期。在一些实施例中,时间限制在达到时间期限之后被重置。在这些实施例中,如果用户购买了web插件,则对该web插件和/或被应用了该web插件的文档的任意改变可以被重置或保存。在一些实施例中,时间限制与功能限制和/或用户限制相组合。
使用限制可被用于限制在试用权利到期之前web插件可被使用的次数。使用限制可以被用于将web插件的使用限制到某个用户数目。例如,可以为一组用户获得web插件的试用权利,但使用限制可以将最大的用户数目限制到给定的三个用户。在一些实施例中,每个使用具有时间期限或与之相关联的其它时间限制。在一些实施例中,使用限制与时间限制和/或功能限制相组合。
功能限制可被用于限制web插件的功能。例如,功能限制可以限制web插件的功能为可被查看和打印但不可编辑。其他功能限制也是可构想的。在一些实施例中,功能限制与时间限制和/或使用限制相组合。
在一些实施例中,可以向用户提供优惠码、代金券或一些其它用户通过其可以从虚拟市场选择一个或多个免费web插件的机制。用户可以通过购买诸如web插件启用应用118之类的web插件启用应用;通过web插件启用应用118的试用版本;或借助推广来获取这样的机制。
web插件和市场服务器计算机106可以被配置为执行服务器操作系统130以及一个或多个应用程序,例如在所示的实施例中的市场服务器应用132、web插件服务器应用134、交易管理应用136、权利管理应用138和/或一个或多个其它应用(未示出)。服务器操作系统130是一种用于控制web插件和市场服务器计算机106的操作的计算机程序。应用程序是被配置成在服务器操作系统130之上执行以提供如本文所述的各种功能的可执行程序。
虽然应用132、134、136和138被示为被主存在web插件和市场服务器计算机106上,但在一些实施例中,这些应用中的每个驻留在不同的服务器(未示出)或分布在多个服务器上。在一些实现中,应用132、134、136和138的一些其它组合驻留在web插件和市场服务器计算机106和/或一个或多个不同的服务器(未示出)上。因此,所示实施例不应该被解释为限定了必须包括所示应用132、134、136、138的全部的服务器。
市场服务器应用132是被配置为提供虚拟市场的基础架构的服务器应用程序,通过所述虚拟市场,可以下载和购买web插件(且具体而言是web插件清单)。在一些实施例中,市场服务器应用132提供了方便用户和开发者账户的创建和管理的账户创建和管理工具。在一些实施例中,市场服务器应用132被配置为与用户账户数据存储140通信以存储用户账户和相关联的用户信息,例如用户名、口令和/或其它认证凭证、名字、电子邮件地址、邮寄地址、电话号码、用户偏好、支付账户信息、喜好等等。市场服务器应用132还可以被配置为与开发者账户数据存储142通信以存储开发者账户和相关联的开发者信息,所述信息可以包括类似于如上所述的用户信息的信息,并且可以另外地或替换地包括开发者专用信息,例如如名字那样进行交易(doing business as name)、部署在市场上的有效web插件、待处理web插件、收入存款账户信息等等。虽然市场服务器应用132被示出为与应用134、136、138一起被驻留在web插件和市场服务器计算机106上,但应该理解:在一些实现中,web插件和市场服务器计算机106仅包括市场服务器应用132或市场服务器应用132和所述应用134、136、138中的一个或多个,而不是这些应用的全部。
在一些实施例中,市场服务器应用132至少部分方便了web插件的批准过程,通过该过程,web插件开发者可以提交web插件以包括在虚拟市场中,并接收该web插件是否被接受的指示。在一些实施例中,市场服务器应用132方便了web插件更新的提交和web插件的描述和web插件的管理。在一些实施例中,上述功能的一些或全部被包括在单独的市场开发者门户应用(未示出),该市场开发者门户应用可以在web插件和市场服务器计算机106和/或一个或多个其它服务器计算机(也未示出)上操作。
在一些实施例中,市场服务器应用132是一种被配置为将与虚拟市场相关联的网站内容传递给用户设备A102A的服务器应用程序。具体地,市场服务器应用132可以主存网站或其一部分,可以从用户设备A102A接收对该网站的网页的请求,并且可以响应于此将所述网页传递给用户设备A102A。在一些实施例中,市场服务器应用132提供了市场应用110的基于web的版本,这样,可以从具有因特网连接的任意计算机或设备访问该市场,以取代必须安装在其上的市场应用110。
web插件服务器应用134被配置为通过提供下述一个或多个项启用一个或多个web插件的特征:(1)一个或多个HTML文件;(2)一个或多个Javascript文件;以及(3)一个或多个访问将值加入到文档或应用中的服务器侧功能和内容的web服务。虽然web插件服务器应用134被示出为与应用132、136、138一起被驻留在web插件和市场服务器计算机106上,但应该理解:在一些实现中,web插件和市场服务器计算机106仅包括web插件服务器应用134或web插件服务器应用134和所述应用132、136、138中的一个或多个,而不是这些应用的全部。
交易应用136是一种被配置为管理在web插件和市场服务器计算机106和其它设备(例如用户设备A102A)之间的交易的服务器应用程序。在一些实施例中,交易应用136被配置为处理市场内容的支付、在适当时候发起退款、和/或向开发者提供通过在虚拟市场中销售该开发者的应用和/或web插件所赚得的收入的报酬。在一些实施例中,交易应用136被配置为接受在虚拟市场内可使用的且在别处可以或不可以使用的专用货币。在一些实施例中,交易应用136与一个多个信用卡公司计算机、银行计算机或其它金融机构通信以处理支付并执行如上所述的其它操作。虽然交易应用136被示出为与应用132、134、138一起被驻留在web插件和市场服务器计算机106上,但应该理解:在一些实现中,web插件和市场服务器计算机106仅包括交易应用136或交易应用136和所述应用132、134、138中的一个或多个,而不是这些应用的全部。
权利管理应用138是一种被配置为管理虚拟市场的用户的权利的服务器应用程序。在所示出的实施例中,web插件和市场服务器计算机106被配置为从用户设备A102A、用户设备B102B以及用户设备N102N接收权利请求,并响应于此提供权利响应。具体地,一旦接收到权利请求,权利管理应用138可以更新与该权利请求相关联的用户的权利记录以指示针对特定web插件的与该用户相关联的权利。在一些实施例中,权利管理应用138处理限制并指令已经将权利发送到其处的用户设备A102A或其它设备一旦试用权利到期就提示用户购买权利。权利管理应用138被配置为执行在此所述的其它权利管理操作。虽然权利管理应用138被示出为与应用132、134、136一起被驻留在web插件和市场服务器计算机106上,但应该理解:在一些实现中,web插件和市场服务器计算机106仅包括权利管理应用138或权利管理应用138和所述应用132、134、136中的一个或多个,而不是这些应用的全部。
web插件和市场服务器计算机106被示为正与用户账户数据存储140、开发者账户数据存储142、权利数据存储144以及web插件数据存储146通信。用户账户数据存储140、开发者账户数据存储142、权利数据存储144以及web插件数据存储146可被存储在web插件和市场服务器计算机106的存储器(未示出)中或可从对web插件和市场服务器计算机106而言是本地的或远程的外部源访问。在一些实施例中,组合两个或更多个数据存储140、142、144、146。
权利数据存储144被配置为存储诸如存储在web插件数据存储146中的web插件之类的web插件的权利。权利可以包括免费权利、试用权利和购买权利。免费权利可以被配置为提供完整或减少的功能。试用权利允许用户通过对使用web插件的一个或多个限制来访问该web插件。这些限制包括,但不局限于,时间限制、使用限制、功能限制或其某种组合。在一些实施例中,在试用权利到期之后,可以向用户提供购买该web插件的选项。购买权利可以包括多个等级,例如基础和高级。高级购买权利可以在基础购买权利所提供的权利之上或以外提供额外的功能。在一些实施例中,权利数据存储144被配置为存储权利条款。
时间限制可被用于限制在试用权利到期之前可以使用web插件的时间量。在一些实施例中,时间限制是累积的,这样,使用web插件的时间被累加直到达到时间期限,在这时,所述试用权利可以到期。在一些实施例中,时间限制在达到时间期限之后被重置。在这些实施例中,如果用户购买了web插件,则对该web插件和/或被应用了该web插件的文档的任意改变可以被重置或保存。在一些实施例中,时间限制与功能限制和/或用户限制相组合。
使用限制可被用于限制在试用权利到期之前使用web插件可被使用的次数。使用限制可以被用于将web插件的使用限制到某个用户数目。例如,可以为一组用户获得web插件的试用权利,但用户限制可以将最大的用户数目限制到给定的三个用户。在一些实施例中,每个使用具有时间期限或与之相关联的其它时间限制。在一些实施例中,使用限制与时间限制和/或功能限制相组合。
功能限制可被用于限制web插件的功能。例如,功能限制可以限制web插件的功能为可被查看和打印但不可编辑。其他功能限制也是可构想的。在一些实施例中,功能限制与时间限制和/或使用限制相组合。
web插件数据存储146可以被配置为存储web插件。具体而言,web插件数据存储146可以被配置为存储web插件清单。每个web插件清单包括对一个或多个web服务器(例如web插件服务器应用134和/或其它web服务器(未示出))的引用和其描述。存储在web插件数据存储146中的web插件可以包括在用户设备A102A上创建的并被上传到web插件和市场服务器计算机106以包括在虚拟市场中的web插件;从诸如开发者之类的其它源上传的web插件;从网站、电子邮件附件、文档、文件共享应用和/或另一计算机或设备下载的web插件;和/或从外部存储器设备(例如闪存驱动器、CD、DVD或其它物理介质)传送到web插件和市场服务器计算机106的web插件。
虽然市场服务器应用132、web插件服务器应用134、交易管理应用136以及权利管理应用138被示出为在web插件和市场服务器计算机106上工作,可以构想这些应用以某种组合分开地或一起工作在一个或多个其它服务器计算机(未示出)上。在一些实施例中,可以组合市场服务器应用132、web插件服务器应用134、交易管理应用136以及权利管理应用138中的两个或更多个。
在所示出的实施例中,用户设备A102被配置为从web插件和市场服务器计算机106下载web插件148并将web插件148分发给用户设备B102B以及用户设备N102N。每个用户设备被配置为生成并发送权利请求150A给web插件和市场服务器计算机106并响应于此从web插件和市场服务器计算机106接收权利响应150B,如下将更加详细描述地。
应该理解,操作环境100的一些实现包括多个网络104、多个web插件和市场服务器计算机106、多个文档数据存储122、多个模板数据存储124、多个web插件数据存储126、多个权利数据存储128、多个用户账户数据存储140、多个开发者账户数据存储142、多个权利数据存储144和/或多个web插件数据存储146。应该理解多个操作系统108、多个市场应用110、多个web浏览器应用112、多个web插件开发应用114、多个分发应用116、多个web插件启用应用118和/或多个web插件查看器应用120可以由用户设备A102A或一个或多个其它用户设备(例如用户设备B102B、用户设备N102N或其它设备(未示出))来使用。应该理解,多个服务器操作系统130、多个市场服务器应用132、多个web插件服务器应用134、多个交易应用136和/或多个权利管理应用可以由web插件和市场服务器计算机106和/或一个或多个其它服务器计算机(未示出)来使用。因此,除非另外指出,否则所示实施例应该被理解为说明性的,并且不应该被解释为以任何方式构成限制。
现在转向图2,将描述根据说明性实施例的用于分发web插件的操作环境200的各方面。在图2中示出的操作环境200包括web插件和市场服务器计算机106、用户设备A102A、用户设备B102B、用户设备N102N,每个都通过网络104进行通信。在所示的实施例中,web插件和市场服务器计算机106将web插件202发送给用户设备A102A,用户设备A102A进而将web插件202分发给用户设备N102N,用户设备N102N随后将web插件202分发给用户设备B102B。
如在web插件和市场服务器计算机106中所示,web插件202包括清单204和web内容206。web内容206可以包括来自由web服务器(例如web插件服务器应用134(在图1中示出)或一个或多个其它web服务器(未示出))提供的网页和/或web服务处的数据。在一些实施例中,清单204是指向web内容206的可扩展标记语言(“XML”)清单文件。在一些实施例中,清单204指定web插件202的唯一身份以及其与诸如web插件启用应用118之类的应用的期望的整合行为。例如,清单204可以指定在其处可访问web内容206的统一资源定位符(“URL”),如何示出web插件202(例如在任务窗格内或作为嵌入内容示出),web插件202支持的应用以及数据访问的要求,以及web插件202的其它细节。
在所示的实施例中,用户设备A 102A包括web插件启用应用118,它被配置为呈现文档210。基于清单204中包括的细节,并基于web插件202的配置数据211,web插件202可以被web插件启用应用118用于将web内容206作为内容web插件212和/或任务窗格web插件214呈现在文档210内。诸如上述那些的其它类型的web插件可以替换地或另外在文档210中表示。
配置数据211提供了关于web插件202的配置的细节。例如,如果内容web插件212向你示出在12个月的时间段上公司在欧洲的销售的细目分类,配置数据211可以包含用户想要执行哪个查询,例如区域=欧洲(region=Europe)、日期_范围=365天(date_range=365days),以及(b)认证信息,例如访问公司账户的用户名和口令。或者,配置数据211可包含对诸如用户名和口令之类的认证信息的请求,所述请求可以在web插件202呈现之前或期间呈现给用户。在一些实施例中,在没有认证信息的情况下,web插件202的至少一部分是可查看的。在这些实施例中,可以向用户要求认证信息以使用和/或编辑web插件202。在一些实施例中,配置数据211包括元数据。
除了清单和web内容206之外,配置数据211也来自web插件和市场服务器计算机106处。这些仅仅是配置数据211可能包含的内容的示例,并且可构想其它配置数据。另一个示例是将文档中的配置数据211(例如一定范围的单元格)绑定到将对其采取动作(例如在该范围的单元格上运行统计分析)的web服务的能力。配置数据211可以与内容web插件(例如所示出的内容web插件212)、任务窗格web插件(例如任务窗格web插件214)或另一类型的web插件,例如如上所述的web插件,相关联。
在所示出的实施例中,用户设备A102A将文档210内的web插件202分发给用户设备N102N。具体而言,用户设备A102A将清单204或对清单204的引用、配置数据211以及在接收者不能运行web插件202(例如传统应用)或在接收者选择不运行web插件202(例如接收者不能相信该web插件202)的情况下web插件202应该如何出现的静态快照(未示出)。示例包括但不局限于:网页或将被示出的其它web内容的屏幕截图,或一般将由web插件202保持更新的数字的和/或其它数据的静态快照。
在一些实施例中,web插件202的静态快照被存储在文档中,并且这样,不要求访问外部web服务器来示出该web插件202的特征。在一些实施例中,通过执行web插件202所提供的信息的公布或执行web插件202的结果的公布被作为静态快照以静态形式表示,无需提供修改web插件202所关联的文档的能力。在这些实施例中,用户可以避免将至少部分利用所述web插件202创建的他们的工作展示出来。
在所示出的实施例中,用户设备N102N包括web插件启用应用216,出于解释的目的,它被如同web插件启用应用118那样配置。web插件启用应用216被配置为呈现所述文档210。在所示出的实施例中,从用户设备A102A接收的web插件202是内容web插件212,并且这样,内容web插件212被显示在文档210中。替换地或另外地,可以从用户设备A102A接收任务窗格web插件214和/或一些其它web插件(未示出)。在所示出的实施例中,用户设备N102N将文档210内的web插件202分发给用户设备B102B。
在所示出的实施例中,用户设备B102B包括web插件启用应用220,出于解释的目的,它被如同web插件启用应用118那样配置。web插件启用应用220被配置为呈现所述文档210。在所示出的实施例中,从用户设备N102N接收的web插件202是内容web插件212,并且这样,内容web插件212被显示在文档210中。替换地或另外地,可以从用户设备N102N接收任务窗格web插件214或一些其它web插件(未示出)。
现在转向图3,将描述根据说明性实施例的用于分发文档内的web插件的方法300的各方面。应该理解,不一定按任何特定次序来呈现本文公开的方法的操作,并且以替换次序来执行一些或全部操作是可能的且是构想了的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
还应该理解,所示方法可以在任何时候结束并且不必各自完整地执行。这些方法的部分或全部操作和/或基本等效的操作可通过执行计算机存储介质上所包括的计算机可读指令来执行,如在下文中所定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于处理器的可编程消费电子产品、其组合等等。
因此,应该理解,此处所述的逻辑操作被实现为(1)一系列计算机实现的动作或运行于计算系统上的程序模块,和/或(2)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,此处描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
方法300将参考图1和2来进行描述。方法300在操作302处开始,其中用户设备A102A从web插件和市场服务器计算机106获取web插件(例如web插件148或web插件202)。或者,在一些实施例中,用户设备A102A从诸如用户设备B102B、用户设备N102N、网站或任意其它源之类的另一设备处接收web插件。在一些实施例中,使用web插件开发应用114来在用户设备A102A上创建web插件。在一些实施例中,用户设备A102A获取模板中的web插件,所述模板包含包括了该web插件的文档。所述模板可以被用于创建文档。
虽然操作302提及正被接收的web插件,应该理解在此使用web插件是为了便于解释。具体而言,在操作302中获取的内容可以是清单(例如清单204)或对清单的引用、配置数据(例如配置数据211)以及在接收者不能运行web插件(例如传统应用)或在接收者选择不运行web插件(例如接收者不能相信该web插件)的情况下web插件应该如何出现的静态快照(未示出)。在一些实施例中,对清单的引用是统一资源定位符(“URL”)。在一些实施例中,清单被保存在与清单文件所指向的web插件数据服务器(例如web插件数据服务器应用134)不同的位置(例如web插件数据存储146)中。
从操作302,方法300行进到操作304,其中,用户设备A102A使用web插件启用应用118来创建并保存包含web插件的文档(例如文档210)。文档的创建可以包括创建仅包含该web插件的文档。换句话说,除了该web插件外,该文档本身可以是空白的。或者,该文档可以包含除了该web插件之外的内容。保存步骤可以包括将web插件的动态性质转换成静态快照。这具有确保与web插件查看器应用(例如web插件查看器应用120)更广泛的兼容性的优点,而不是仅仅与能够运行/编辑web插件的应用(例如web插件启用应用118)兼容。
从操作304,方法300行进到操作306,其中,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。然后,方法300行进到操作308,在此处方法300结束。
现在转向图4,将描述根据说明性实施例的用于分发文档内的经修改的web插件的方法400的各方面。方法400将参考图1和2来进行描述。方法400开始并行进至操作402处,其中用户设备A102A从web插件和市场服务器计算机106获取web插件(例如web插件148或web插件202)。或者,在一些实施例中,用户设备A102A从诸如用户设备B102B、用户设备N102N、网站或任意其它源之类的另一设备处接收web插件。在一些实施例中,使用web插件开发应用114来在用户设备A102A上创建web插件。在一些实施例中,用户设备A102A接收模板中的web插件,所述模板包含包括了该web插件的文档。所述模板可以被用于创建文档。
虽然操作402提及正被获取的web插件,应该理解在此使用web插件是为了便于解释。具体而言,在操作402中获取的内容可以是清单(例如清单204)或对清单的引用、配置数据(例如配置数据211)以及在接收者不能运行web插件(例如传统应用)或在接收者选择不运行web插件(例如接收者不能相信该web插件)的情况下web插件应该如何出现的静态快照(未示出)。
从操作402,方法400行进到操作404,其中,用户设备A102A接收用户输入并根据所述用户输入使用web插件启用应用118和/或web插件开发应用114来修改该web插件。而且,在操作404处,web插件的修改创建了配置数据,所述配置数据与web插件清单或对其的引用一起被嵌入到文档中。方法400随后行进到操作406,其中,用户设备A102A使用web插件启用应用118来创建并保存包含web插件的文档(例如文档210)。文档的创建可以包括创建仅包含修改的web插件的文档。换句话说,除了该web插件外,该文档本身可以是空白的。或者,该文档可以包含除了该web插件之外的内容。保存步骤可以包括将web插件的动态性质转换成静态快照。这具有确保与web插件查看器应用(例如web插件查看器应用120)更广泛的兼容性的优点,而不是仅仅与能够运行/编辑web插件的应用(例如web插件启用应用118)兼容。
方法400随后行进到操作408,其中,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。然后,方法400行进到操作410,在此处方法400结束。
现在转向图5,将描述根据说明性实施例的用于分发文档内的web插件的方法500的各方面。方法500将参考图1和2来进行描述。方法500开始并行进至操作502,其中用户设备A102A获取包含web插件(例如web插件148或web插件202)的文档(例如文档210)。从操作502,方法500行进至操作504,其中用户设备A102A使用web插件启用应用118打开该文档。方法500随后行进至操作506,其中用户设备A102A确定操作用户设备A102A的用户是否具有用于文档内包含的web插件的权利。
在一些实施例中,web插件启用应用118查询权利数据存储128以确定该用户是否具有用于web插件的权利。在一些实施例中,web插件启用应用118查询web插件和市场服务器计算机106以确定该用户是否具有用于web插件的权利。在这些实施例中,权利管理应用138接收查询并询问权利数据存储144以确定该用户是否具有用于web插件的权利。
在一些实施例中,用户使用对于web插件和市场服务器计算机106已知的身份来登录到web插件启用应用118。权利管理应用138在权利数据存储144中查找用户的权利以验证该用户被授权。在其它实施例中,用户不登录到web插件启用应用118,但看见直接登录到web插件和市场服务器计算机106的提示。在又一个其它实施例中,单独的用户(被称为购买者)可以通过权利交易过程来获取多用户权利,所述多用户权利被保存到用户的内联网环境(例如由诸如可从华盛顿州雷蒙德的微软公司获得的MICROSOFT SHAREPOINT之类的协作软件所提供的协作环境)内的中央服务器。这样,作为通过web插件和市场服务器计算机106获取权利的替代或补充,设备102A的用户可以通过登录到他们的内联网并从SHAREPOINT获取权利来接收权利。在一些实施例中,可以为一组用户购买web插件的权利并将其加载到SHAREPOINT服务器的目录。随后,在运行时,从SHAREPOINT服务器提供web插件清单,从而允许用户在不将他们自己暴露给任意的开发者变化的情况下使用web插件。
如果,在操作506处,用户设备A102A确定该用户具有用于web插件的权利,则方法500行进至操作508,其中用户设备A102A使用web插件启用应用118来呈现具有启用的web插件的文档。方法500随后行进到操作510,其中,用户设备A102A使用web插件启用应用118来保存包含web插件的文档。而且,在操作510处,还保存配置数据并将其与web插件清单或对其的引用一起嵌入到文档内。保存步骤可以包括将web插件的动态性质转换成静态快照。这具有确保与web插件查看器应用(例如web插件查看器应用120)更广泛的兼容性的优点,而不是仅仅与能够运行/编辑web插件的应用(例如web插件启用应用118)兼容。方法500随后行进到操作512,其中,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。然后,方法500行进到操作514,在此处方法500结束。
如果,在操作506处,用户设备A102A确定该用户不具有用于web插件的权利,则方法500行进至操作516,其中用户设备A102A向用户呈现试用或购买该web插件的选项。该选项可以被显示在文档中的web插件内或由web插件启用应用118显示。在一些实施例中,所述web插件是免费的,但为了执行它可能要求用户接受使用条款和条件。在这些实施例中,不同的选项或提示可以被显示在文档中的web插件内或由web插件启用应用118显示以在向用户提供该web插件的免费权利之前询问该用户是否接受所述条款和条件。
从操作516,方法500行进至操作518,其中,用户设备A102A确定是否接收了对试用选项或购买选项的选择。如果,在操作518,用户设备A102A确定试用选项或购买选项被选择,则方法500行进至操作520,其中用户设备A102A向web插件和市场服务器计算机106发送权利请求。依据选择的是试用选项还是购买选项,该权利请求包括对web插件的试用权利或购买权利的请求。响应于接收到权利请求,web插件和市场服务器应用106,且具体而言,权利管理应用118更新用户设备A102A的用户的用户账户以根据所选的选项包括一权利。如果选择了购买选项,交易应用136可以要么通过记录的支付账户要么通过向用户提示从用户设备A102A键入支付细节来安排对权利的支付。权利的条款是从权利数据存储144处获得。从操作520,方法500行进至操作522,其中,用户设备A102A从web插件和市场服务器计算机106A接收权利响应。权利响应包括从权利数据存储144获得的权利的条款。方法500随后行进到操作508,其中,用户设备A102A使用web插件启用应用118来呈现具有启用的web插件的文档。在操作510,用户设备A102A使用web插件启用应用118来保存包含web插件的文档。而且,在操作510处,还保存配置数据并将其与web插件清单或对其的引用一起嵌入到文档内。保存步骤可以包括将web插件的动态性质转换成静态快照。这具有确保与web插件查看器应用(例如web插件查看器应用120)更广泛的兼容性的优点,而不是仅仅与能够运行/编辑web插件的应用(例如web插件启用应用118)兼容。
从操作510处,方法500随后行进到操作512,其中,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。然后,方法500行进到操作514,在此处方法500结束。
如果,在操作518,用户设备A 102A确定既没有选择试用选项也没有选择购买选项,则方法500行进至操作524,其中用户设备A102A使用web插件启用应用118呈现没有正被启用的web插件的文档。在这样的情况下,静态快照可以被用于取代实况工作的web插件。方法500随后行进到操作508,其中,用户设备A102A使用web插件启用应用118来呈现具有启用的web插件的文档。在操作510,用户设备A102A使用web插件启用应用118来保存包含web插件的文档。方法500随后行进到操作512,其中,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。方法500从操作512行进至操作514,在此处方法500结束。
应该理解,web插件可以独立于在其中包含了web插件的文档来迭代。这样,与作者最初创建文档时相比,在用户打开该文档时所述文档可以更好。
现在转向图6,将描述根据说明性实施例的用于分发文档内的web插件的方法600的各方面。方法600将参考图1和2来进行描述。方法600开始并行进至操作602,其中用户设备A102A接收用于使用web插件启用应用118对插入到文档(例如文档210)中的web插件(例如web插件148或web插件202)的选择。响应于接收所述选择,在操作604处,用户设备A102A确定操作用户设备A102A的用户是否具有用于文档内包含的web插件的权利。
在一些实施例中,web插件启用应用118查询权利数据存储128以确定该用户是否具有用于该web插件的权利。在一些实施例中,web插件启用应用118查询web插件和市场服务器计算机106以确定该用户是否具有用于web插件的权利。在这些实施例中,权利管理应用118接收查询并询问权利数据存储144以确定该用户是否具有用于web插件的权利。
在一些实施例中,用户使用对于web插件和市场服务器计算机106已知的身份来登录到web插件启用应用118。权利管理应用138在权利数据存储144中查找用户的权利以验证该用户被授权。在其它实施例中,用户不登录到web插件启用应用118,但看见直接登录到web插件和市场服务器计算机106的提示。在又一个其它实施例中,单独的用户(被称为购买者)可以通过权利交易过程来获取多用户权利,所述多用户权利被保存到用户内联网环境(例如由诸如可从华盛顿州雷蒙德的微软公司获得的MICROSOFT SHAREPOINT之类的协作软件所提供的协作环境)内的中央服务器。这样,作为通过web插件和市场服务器计算机106获得权利的替代或补充,设备102A的用户可以通过登录到他们的内联网并从SHAREPOINT获取权利来接收权利。
如果在操作604处,用户设备A102A确定用户具有用于web插件的权利,方法600行进至操作606,其中web插件被启用并插入到文档中。方法606随后从操作606行进到操作608,其中,用户设备A102A使用web插件启用应用118来呈现具有启用的web插件的文档。方法600随后行进到操作610,其中,用户设备A102A使用web插件启用应用118来保存包含web插件的文档。而且,在操作610处,还保存配置数据并将其与web插件清单或对其的引用一起嵌入到文档内。保存步骤可以包括将web插件的动态性质转换成静态快照。这具有确保与web插件查看器应用(例如web插件查看器应用120)更广泛的兼容性的优点,而不是仅仅与能够运行/编辑web插件的应用(例如web插件启用应用118)兼容。在操作612处,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。方法600从操作612行进至操作614,在此处方法600结束。
如果,在操作604处,用户设备A102A确定该用户不具有用于web插件的权利,则方法600行进至操作616,其中用户设备A102A使用web插件启用应用118向用户呈现试用或购买该web插件的选项。在一些实施例中,所述web插件是免费的,但为了执行它可能要求用户接受使用条款和条件。在这些实施例中,不同的选项或提示可以被显示在文档中的web插件内或由web插件启用应用118显示以在向用户提供该web插件的免费权利之前询问该用户是否接受所述条款和条件。
随后,方法600从操作616行进至操作618,其中,用户设备A102A确定是否接收了对试用选项或购买选项的选择。如果,在操作618,用户设备A102A确定试用选项或购买选项被选择,则方法600行进至操作620,其中用户设备A102A向web插件和市场服务器计算机106发送权利请求。依据选择的是试用选项还是购买选项,该权利请求包括对web插件的试用权利或购买权利的请求。在一些实施例中,不仅当前的web插件被购买,而且在同一文档或模板中的一个或多个其它web插件也被购买。响应于接收到权利请求,web插件和市场服务器应用106,且具体而言,权利管理应用118更新用户设备A102A的用户的用户账户以根据所选的选项包括权利。权利的条款是从权利数据存储144处获得。
方法600从操作620行进至操作622,其中,用户设备A102A从web插件和市场服务器计算机106A接收权利响应。权利响应包括从权利数据存储144获得的权利的条款。方法600随后行进到操作606,其中,用户设备A102A使用web插件启用应用118来将web插件的启用版本插入到文档中。方法606随后从操作606行进到操作608,其中,用户设备A102A使用web插件启用应用118来呈现具有启用的web插件的文档。方法600随后行进到操作610,其中,用户设备A102A使用web插件启用应用118来保存包含web插件的文档。而且,在操作610处,还保存配置数据并将其与web插件清单或对其的引用一起嵌入到文档内。保存步骤可以包括将web插件的动态性质转换成静态快照。这具有确保与web插件查看器应用(例如web插件查看器应用120)更广泛的兼容性的优点,而不是仅仅与能够运行/编辑web插件的应用(例如web插件启用应用118)兼容。
在操作612处,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。然后,方法600行进到操作614,在此处方法600结束。
如果,在操作618,用户设备A102A确定既没有选择试用选项也没有选择购买选项,则方法600行进至操作624,其中用户设备A102A使用web插件启用应用118在没有启用web插件的情况下将该web插件插入到文档中。在一些实施例中,web插件被插入并可被查看但不能被编辑。在一些实施例中,web插件被插入并可被查看和打印。在任何情况下,方法600随后行进到操作626,其中,用户设备A102A使用web插件启用应用118来呈现没有正被启用的web插件的文档。方法600随后从操作608行进到操作610,其中,用户设备A102A使用web插件启用应用118来保存包含web插件的文档。而且,在操作610处,还保存配置数据并将其与web插件清单或对其的引用一起嵌入到文档内。保存步骤可以包括将web插件的动态性质转换成静态快照。这具有确保与web插件查看器应用(例如web插件查看器应用120)更广泛的兼容性的优点,而不是仅仅与能够运行/编辑web插件的应用(例如web插件启用应用118)兼容。
方法600随后行进到操作612,其中,用户设备A102A使用分发应用116将含有web插件的文档分发给一个或多个其它设备,例如用户设备B102B和/或用户设备N102N。因此,即使web插件并没有为用户设备A102A的用户启用,该web插件还是可以被分发给其它设备,通过其其它用户可以访问该web插件并且如果他们还没有具有其权利的话可以试用或购买该web插件。然后,方法600行进到操作614,在此处方法600结束。
现在转向图7A-7H,将描述根据各种说明性实施例的示出用于web插件启用应用(例如web插件启用应用118)的用户界面的各方面的用户界面图表。首先参考图7A,示出了根据在此所揭示的一个实现的由web插件启用应用所提供的说明性用户界面700。所示用户界面700包括带状条(ribbon)界面702。带状条界面702是包括置于选项卡栏704中的选项卡上的一组工具栏的用户界面。在所示出的实施例中,带状条界面702的选项卡栏704包括文件、主页、插入、选项卡4和选项卡5的选项卡。同样,在所示实施例中,插入选项卡已经被选择,而与可用于插入的各种内容相关联的各种工具栏被示出在带状条界面主体706中。带状条界面主体706中的各所示工具栏各自包括该工具栏所提供的特性的类型的代表性图标708。这些工具栏中的一些包括展开按钮710,选择展开按钮使得用于插入的可用内容被显示给用户。在所示实施例中,带状条界面主体706包括web插件插入工具栏712。可以构想替代的和/或附加的选项卡和/或工具栏,并且所述选项卡和/或工具栏可基于用户在web插件启用应用内执行的任务的类型而改变。带状条界面702可由用户定制,以包括特定的选项卡和/或选项卡内的工具栏。
所示的用户界面700示出web插件插入工具栏712已经被选择,因此,显示了web插件选择界面714。所示web插件选择界面714包括多个web插件图标716A、716B、716N,每个图标与一个特定的web插件相关联。web插件插入工具栏712还包括配置选项718和查找更多选项720。当被选择时,配置选项718可以为选中的web插件(例如在所示实施例中的web插件1716A)提供配置选项。所述配置选项可以包括诸如字体、颜色、突出(emphasis)等等之类的设计选项。配置选项可以包括与web插件相关的任意其它选项。查找更多选项720可以提供到市场应用110和/或到市场网站的链接,所述市场网站由web插件和市场服务器计算机106主存或为其主存。
现在转向图7B,示出已经选择了web插件工具栏712的用户界面700。所示的web插件选择界面714现在包括本地部分722和市场部分724。本地部分722包括表示被本地存储在用户界面700正在其上操作的设备上或计算机上的web插件的图标在一些实施例中,本地部分722包括对用户可用的所有的web插件,包括由设备或计算机的用户购买的那些web插件以及通过试用权利可用的那些web插件。在所示的实施例中,本地部分722包括本地web插件图标726以及试用web插件图标728。市场部分724包括表示从虚拟市场(例如由web插件和市场服务器计算机106提供或为其提供的虚拟市场)可获得的web插件的图标。在所示实施例中,市场部分724包括市场插件图标730A-730D。
所示的web插件选择界面714还包括购买选项按钮732和试用选项按钮734。对购买选项按钮732的选择启动了购买并下载所选择的web插件的交易并下载。对试用选项按钮734的选择启动了下载具有试用权利的所选web插件的交易。
现在转向图7C,示出已经选择了web插件工具栏712的用户界面700。在所示实施例中,已经选择了试用选项按钮734。响应于试用选项按钮734正被选择,下载与所选择的市场web插件图标730C相关联的web插件的试用版本。图7D示出了下载状态界面736,它包括用于指示下载状态的下载状态栏738以及用于取消所述下载的取消按钮740。
现在转向图7E,示出已经选择了web插件工具栏712的用户界面700。在所示出的实施例中,web插件选择界面714包括表示在图7D中下载的web插件的所下载的试用版本的本地试用web插件图标742。如所示,已经选择了本地试用web插件图标742。响应于本地试用web插件图标742正被选择,在用户界面700的右手侧上显示任务窗格web插件744。所示的任务窗格web插件744将基于web的百科全书加入到用户界面700中。任务窗格web插件744可替换地或另外地包括可在网页中显示的任意其它信息,这些信息的一些示例将在下面进一步描述。构想了用户可以在用户界面700内的其它地方存放任务窗格web插件744。
现在转向图7F,示出已经选择了web插件工具栏712的用户界面700。在所示的实施例中,在用户界面700的右手侧上再次显示任务窗格web插件744,并且已经选择了试用web插件图标728。响应于试用web插件图标728正被选择,在用户界面700的右手侧上显示第二任务窗格web插件746。所示的第二任务窗格web插件746将视频搜索功能加入到用户界面700中。特别地,所示的第二任务窗格web插件746包括搜索栏748,在其中用户可以输入一个或多个搜索术语,搜索结果部分720,在其中可以显示搜索术语的一个或多个搜索结果,以及相关视频部分752,在其中可以显示一个或多个相关视频。构想了用户可以在用户界面700内的其它地方存放任务窗格web插件744。
现在转向图7G,示出已经选择了web插件工具栏712的用户界面700。在所示实施例中,已经选择了本地web插件图标726。响应于本地web插件图标726正被选择,显示嵌入在文档中的内容web插件754。在所示的实施例中,内容web插件754是包括多个图片756A-756C的图片库,每个图片可被用户选择以插入到文档中。内容web插件754还包括配置图标758,当被选择时,它提供了内容web插件754的配置选项。说明性的配置选项包括但不局限于:一次显示多个图片、图片的源以及如果图片账户(例如在线图片存储账户)是一个或多个图片的源时该图片账户的用户账户信息。
现在转向图7H,示出了内联内容web插件760。在所示的实施例中,内联内容web插件760是包括多个图片756A-756C的图片库,每个图片可被用户选择以插入到文档中。
现在转向图8A和8B,将描述根据说明性实施例的用于将web插件查看器应用(例如web插件查看器应用120)升级到web插件启用应用(例如web插件启用应用118)的方法800的各方面。虽然,方法800是在文档模板的上下文中描述的,但方法800可等效地应用于文档。
方法800开始并行进至操作802,其中用户界面设备A102A下载模板。方法800从操作802行进至操作804,其中用户界面设备A102A使用web插件启用应用120打开该模板。方法800随后行进至操作806,其中用户界面设备A102A接收试图编辑该模板的编辑输入。或者,用户界面设备A102A可以接收操纵或使用模板或文档包含的一个或多个web插件的尝试。响应于编辑输入,方法行进至操作808,其中用户界面设备A102A向用户呈现模板仅可使用应用的专用版本编辑以及web插件查看器应用120将需要被升级以使得模板可被编辑的通知。随后,方法800行进至操作810,其中用户设备A102A向用户呈现试用或购买web插件启用应用118的选项。
或者,在一些实施例中,在用户尝试编辑之前示出的静态快照在支持编辑web插件的应用内与仅支持查看web插件的应用内相比是不同。在后者中,例如无所不在的水印可以被用于告知用户web插件是试用版本(即包括试用权利)并且点击或以其他方式选择升级按钮或其它用户界面元素来将web查看器升级到web插件编辑器。
现在转向图8B,方法800行进至操作812,其中,用户设备A102A确定是否接收了对试用选项或购买选项的选择。如果,在操作812,用户设备A102A确定试用选项或购买选项被选择,则方法800行进至操作814,其中用户设备A102A向web插件和市场服务器计算机106发送权利请求。依据选择的是试用选项还是购买选项,该权利请求包括对web插件启用应用118的试用权利或购买权利的请求。响应于接收到权利请求,web插件和市场服务器应用106,且具体而言,权利管理应用118更新用户设备A102A的用户的用户账户以根据所选的选项包括一个权利。如果选择了购买选项,交易应用136可以要么通过记录的支付账户要么通过向用户提示从用户设备A102A键入支付细节来安排对权利的支付。权利的条款是从权利数据存储144处获得。
应该理解,虽然web插件和市场服务器计算机106在上面的描述中是通过虚拟市场销售各个web插件和可编辑web插件的应用(例如web插件启用应用118),但可以使用不同的软件分发模型来分发web插件和可编辑web插件的应用的分发。例如,可以将web插件启用应用具体化到某种形式的物理介质(例如一个或多个DVD)上以供购买,或者可作为来自电子零售商的可下载应用来提供。
方法800从操作814行进至操作816,其中,用户设备A102A从web插件和市场服务器计算机106A接收权利响应。权利响应包括从权利数据存储获得的权利的条款。在一些实施例中,权利数据存储被配置为包括web插件启用应用的权利。在一些实施例中,权利数据存储是权利数据存储144。在这些实施例中,权利数据存储144被配置为存储web插件启用应用和web插件的权利。方法800随后行进至操作818,其中用户设备A102A下载并安装web插件启用应用118。在其它实现中,用户设备A102A从权利服务器接收经更新的许可证,并且web插件查看器应用120随后在功能上作为web插件启用应用118工作。换句话说,web插件启用应用118和web插件查看器应用120这两者是同一应用程序,并且仅仅许可状态定义了所述应用程序以何种模式工作。在操作820,用户设备A102A使用web插件启用应用118允许模板被编辑。然后,方法800行进到操作822,在此处方法800结束。
如果,在操作812,用户设备A102A确定既没有选择试用选项也没有选择购买选项,则方法800行进至操作824,其中用户设备A102A使用web插件查看器应用120以保护所述模板不被编辑。方法800从操作824行进至操作822,在此处方法800结束。
在一些实施例中,如果用户购买了web插件启用应用,该用户在无需必须单独地购买web插件的情况下接收针对文档或模板中的web插件的权利。在一些实施例中,向创建了web插件的开发者支付来自web插件启用应用的销售收入的佣金。
在一些实施例中,web插件启用应用和web插件查看器应用是同一二进制代码,但许可状态定义了用户是可以编辑还是仅仅查看web插件。换句话说,在web插件查看器应用和web插件启用应用的二进制代码可以是相同的但该二进制代码的许可状态可以定义用户访问哪些特征的情况下,用户可以为web插件查看器应用支付$2,而为允许编辑web插件的web插件启用应用支付$200。
转向图9A-9J,示出了在图7A中引入的用户界面700。用户界面700的基本布局与如上所述的用户界面的布局相同。在所示的实施例中,用户界面700特别针对仅用于说明的目的而非限制的演示应用。所示出的用户界面700包括演示画布900,通过其用户可以插入内容创建演示,例如MICROSOFTPOWERPOINT演示。所示出的用户界面700还包括演示选择选项902,对其的选择触发了要显示在用户界面700中的文档下拉菜单904,如在图9B中所示。在所示实施例中,已经选择新的演示选项906。响应于新的演示选项906正被选择,显示新的演示界面908,如在图9C中所示。新的演示界面908包括新的演示类型菜单910,通过其可以选择各种类型的演示。在所示的实施例中,已经从新的演示类型菜单910中选择了在线模板选项912。响应于在线模板选项912正被选择,显示模板搜索栏914。模板搜索栏914方便了通过一个或多个搜索术语来搜索模板。在所示的实施例中,用户已经搜索了“酷模板(COOLTEMPLATE)”并且显示了匹配这些搜索术语的多个搜索结果916A、916B、916C。
转向图9D,已经选择了搜索结果916A,并且响应于此,在用户界面700中显示模板细节界面918。所示的模板细节界面918包括模板名字段920、模板源字段922、下载大小字段924、排名字段926、下载选项按钮928以及取消选项按钮930。转向图9E,已经选择了下载选项按钮928。响应于下载选项按钮928正被选择,将与搜索结果916A相关联的模板下载到用户设备A102A。
现在转向图9F,与搜索结果916A相关联的模板已经被下载到用户设备A102A。在所示实施例中,模板在选项卡栏704中创建模板选项卡932。而且,模板选项卡932已经被选择,并且作为响应,用试用按钮934、购买按钮936、多个模板教学视频938A-938C以及共享模板按钮940来填充带状条界面主体706。也如在所示的实施例中所示,模板与web插件查看器应用120不兼容,并且因此,用户界面700包括升级通知942,该升级通知通知用户在模板中包括的图表944可用特定应用版本(例如web插件启用应用118)编辑并提供试用或购买该特定应用版本的选项。
现在转向图9G,用户已经选择了图表944的一部分946。然而,图表944不能用web插件查看器应用120编辑,因此用户决定尝试经升级的应用来编辑图表944,如在图9H中所示。随后如在图9I中所示,下载经升级的应用。一旦被下载和安装,该经升级的应用显示可编辑图表948,如图9J所示。
现在转到图10,示出了具有触摸启用的web插件1002的说明性平板设备1000。平板设备1000可利用下面参考图13在本文中描述的计算设备体系结构的全部或一部分。在所示的实施例中,触摸启用的web插件1002包括多个图片1004A-1004C,每个图片可以是通过单或多触摸手势插入到文档中的选择。任意上述web插件可以触摸为中心的格式来体现,以便部署在诸如所示的平板设备1000和/或触摸启用智能电话之类的触摸启用设备上。
图11示出能够执行在此所述的用于分发文档内的基于web的软件应用扩展等等的软件组件的设备的说明性计算机体系结构1100。由此,图11所示的计算机体系结构1100示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、和/或膝上型计算机的体系结构。计算机体系结构1100可用于执行本文所呈现的软件组件的任何方面。
在一些实施例中,根据计算机体系结构1100来配置用户设备A102A、用户设备B102B、用户设备N102N和/或web插件和市场服务器计算机106。这样,为了描述方便,用户设备A102A和web插件和市场服务器计算机106的软件组件在计算机体系结构1100内被一起被示出。然而,应该理解,这些软件组件可以或者可能在按照客户端/服务器配置的分开的计算机中实现,或者作为在用户设备A102A和web插件和市场服务器计算机106中的一个或两者上执行的独立的软件组件。用户设备B102B和用户设备N102N也可以包括类似的软件组件。还应该理解,虽然没有示出上述参考图1所述的数据存储122、124、126、128、140、142、144、146,数据存储122、124、126、128、140、142、144、146中的一个或多个也可以被包括在计算机体系结构1100中,和/或计算机体系结构1100可以与数据存储122、124、126、128、140、142、144、146中的一个或多个通信。
图11所示的计算机体系结构1100包括中央处理单元1102(“CPU”)、包括随机存取存储器1106(“RAM”)和只读存储器(“ROM”)1108的系统存储器1104、以及将存储器1104耦合至CPU1102的系统总线1110。基本输入/输出系统被存储在ROM1108中,该系统包含帮助诸如在启动期间计算机体系结构1100中的元件之间传递信息的基本例程。计算机体系结构1100还包括用于存储操作系统108和服务器操作系统130、以及一个或多个应用程序(包括但不限于:市场应用110、web浏览器应用112、web插件开发应用114、分发应用116、web插件启用应用118、web插件查看器应用120、市场服务器应用132、web插件服务器应用134、交易管理应用136以及权利管理应用138)的大容量存储设备1112。
大容量存储设备1112通过连接至总线1110的大容量存储控制器(未示出)连接至CPU1102。大容量存储设备1112及其相关联的计算机可读介质为计算机体系结构1100提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构1100访问的任何可用计算机存储介质或通信介质。
通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机体系结构1100访问的任何其他介质。为了权利要求书的目的,短语“计算机存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质本身。
根据各实施例,计算机架构1100可以使用通过网络104和/或另一网络(未示出)到远程计算机的逻辑连接来在联网环境中操作。计算机体系结构1100可以通过连接至总线1114的网络接口单元1110来连接到网络104。应当理解,网络接口单元1114还可用于连接到其他类型的网络和远程计算机系统。计算机体系结构1100还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器1116,这些设备包括键盘、鼠标、或电子指示笔(在图11中未示出)。类似地,输入/输出控制器1116可提供到显示屏、打印机、或者其他类型的输出设备(在图11中也未示出)的输出。
应当理解,本文所描述的软件组件在被加载到CPU1102中并被执行时可以将CPU1102和总体计算机体系结构1100从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU1102可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地,CPU1102可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机进行操作。这些计算机可执行指令可以通过指定CPU1102如何在各状态之间转换来变换CPU1102,由此变换了构成CPU1102的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可包括更改给定磁性介质内的特定位置的磁性特征。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在计算机体系结构1100中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,计算机体系结构1100可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可以构想的是,计算机架构1100可以不包括图11所示的全部组件,可以包括未在图11中明确示出的其它组件,或者可利用完全不同于图11所示的架构。
图12示出能够执行在此所述的用于分发文档内的基于web的软件应用扩展等等的软件组件的说明性分布式计算环境1200。由此,图12所示的分布式计算环境1200可用于执行本文中所呈现的软件组件的任何方面。例如,分布式计算环境1200可以被用于执行市场应用110、web浏览器应用112、web插件开发应用114、分发应用116、web插件启用应用118、web插件查看器应用120、市场服务器应用132、web插件服务器应用134、交易管理应用136、权利管理应用138和/或在此所述的其它软件组件的各方面。
根据各种实现,分布式计算环境1200包括在网络1204上操作、与该网络通信、或者作为该网络的一部分的计算环境1202。网络1204可以是上面参考图1描述的网络104或可包括网络104。网络1204还可包括各种接入网络。一个或多个客户端设备1206A-1206N(在下文中统称和/或通称为“客户端1206”)可经由网络1204和/或其他连接(在图12中未示出)与计算环境1202通信。在所示的实施例中,客户机1206包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备1206A;板式或平板计算设备(“平板计算设备”)1206B;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备1206C;服务器计算机1206D;和/或其他设备1206N。应当理解,任意数量的客户机1206可与计算环境1202通信。在本文中参考图11和13示出并描述客户机1206的两个示例计算体系结构。应当理解,所示客户端1206以及本文中示出和描述的计算体系结构是说明性的,并且不应被解释为以任何方式进行限制。
在所示的实施例中,计算环境1202包括应用服务器1208、数据存储1210、以及一个或多个网络接口1212。根据各种实现,应用服务器1208的功能可由作为网络1204一部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器1208可主存各种服务、虚拟机、门户、和/或其他资源。在所示的实施例中,应用服务器1208主存一个或多个虚拟机1214以供主存应用或其他功能。根据各种实现,虚拟机1214主存用于提供在此所述的在文档中分发基于web的软件应用扩展等等的功能的一个或多个应用和/或软件模块。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。应用服务器1208还主存或提供对一个或多个web门户、链接页面、网站、和/或其他信息(“web门户”)1216的访问。
根据各种实现,应用服务器1208还包括一个或多个邮箱服务1218以及一个或多个消息收发服务1220。邮箱服务1218可包括电子邮件(“email”)服务。邮箱服务1218还可包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务1220可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
应用服务器1208还可包括一个或多个社交网络服务1222。社交网络服务1222可包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务,用于评论或显示对文章、产品、博客、或其他资源的兴趣的服务,和/或其他服务。在一些实施例中,社交网络服务1222可包括脸谱(FACEBOOK)社交网络服务、LINKEDIN专业人士网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事网络服务等,或者可由这些服务提供。在其他实施例中,社交网络服务1222可由其他服务、站点、和/或可明确或可不明确地称为社交网络供应商的供应商提供。例如,一些网站允许用户在各种活动和/或情境(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
社交网络服务1222还可包括评论、博客、和/或微博服务。这些服务的示例包括但不限于YELP评论服务、KUDZU审阅服务、OFFICETALK企业微博服务、TWITTER消息收发服务、GOOGLE+服务、和/或其他服务。应当理解,以上服务列表并非穷尽性的,并且为了简洁起见在本文中未提及多种附加和/或替换社交网络服务1222。由此,以上实施例是说明性的,并且不应被解释为以任何方式进行限制。
如图12所示,应用服务器1208还可主存其他服务、应用、门户、和/或其他资源(“其他资源”)1224。其他资源1224可包括但不限于演示应用程序。由此,应当理解,计算环境1202可提供本文中所公开的通过各种邮箱、消息收发、社交网络、和/或其他服务或资源提供的概念和技术的集成。
如以上所提及的,计算环境1202可包括数据存储1210。根据各种实现,数据存储1210的功能由在网络1204上操作的或者与该网络通信的一个或多个数据库提供。数据存储1210的功能也可由被配置成主存用于计算环境1202的数据的一个或多个服务器计算机提供。数据存储1210可以包括、主存或提供一个或多个实际或虚拟数据存储1226A-1226N(下文统称和/或一般地称为“数据存储1226”)。数据存储1226被配置成主存由应用服务器1208使用或创建的数据和/或其他数据。虽然并未在图12中示出,数据存储1226还可以主存或存储web插件、模板、文档、权利、用户账户、开发者账户等等。
计算环境1202可与网络接口1212通信或由该网络接口访问。网络接口1212可包括各种类型的网络硬件和软件,以支持包括但不限于客户机1206和应用服务器1208的两个或更多个计算设备之间的通信。应当理解,网络接口单元1212还可用于连接到其他类型的网络和计算机系统。
应当理解,本文中所描述的分布式计算环境1200可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文中所公开的概念和技术的各种实现,分布式计算环境1200向客户机1206提供本文中所描述的软件功能作为服务。应当理解,客户机1206可包括实际或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话、和/或其他设备。这样,在此所述的概念和技术的各种实施例允许被配置为访问分布式计算环境1200的任意设备利用在此所述的用于分发文档内的基于web的软件应用扩展等等的功能。
现在转至图13,能够执行在此所述的用于分发文档内的基于web的软件应用扩展等等的各种软件组件的计算设备的说明性计算设备体系结构1300。在一些实施例中,用户设备A102A、用户设备B102B、用户设备N102N和/或web插件和市场服务器计算机106使用体系结构1300或其某种变型。计算设备体系架构1300可适用于部分地由于形状因数、无线连接、和/或电池供电操作而便于移动计算的计算设备。在一些实施例中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。计算设备体系结构1300可适用于图12所示的客户端1306中的任一个。此外,计算设备体系结构1300的多个方面可适用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携计算机、以及上网本计算机)、服务器计算机、以及诸如参考图11所描述的其他计算机系统。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于利用触摸屏或一些其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
图13所示的计算设备体系架构1300包括处理器1302、存储器组件1304、网络连接组件1306、传感器组件1308、输入/输出组件1310、以及功率组件1312。在所示的实施例中,处理器1302与存储器组件1304、网络连接组件1306、传感器组件1308、输入/输出(“I/O”)组件1310、以及电源组件1312通信。虽然在图13所示的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些实施例中,这些组件被安排成经由一条或多条总线(未示出)通信。
处理器1302包括中央处理单元(“CPU”),该CPU被配置成处理数据、执行一个或多个应用程序的计算机可执行指令、并且与计算设备体系结构1300的其他组件通信以执行本文中所描述的各种功能。处理器1302可用于执行本文中所描述的软件组件的多个方面,特别是至少部分地利用启用触摸的输入的那些方面。
在一些实施例中,处理器1302包括被配置成加速由CPU执行的操作的图形处理单元(“GPU”),这些操作包括但不限于通过执行通用科学和/或工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如,720P、1080P、以及更高分辨率)、视频游戏、三维(“3D”)建模应用等)而执行的操作。在一些实施例中,处理器1302被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
在一些实施例中,处理器1302连同在下文中所描述的其他组件中的一个或多个为片上系统(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器1302、GPU、网络连接组件1306中的一个或多个、以及传感器组件1308中的一个或多个。在一些实施例中,可部分地利用层叠封装(“PoP”)集成电路封装技术来制造处理器1302。处理器1302可以是单核或多核处理器。
处理器1302可根据可从英国剑桥市ARM HOLDINGS许可购得的ARM体系结构来创建。替换地,处理器1302可根据诸如可从美国加利福尼亚州芒廷维尤市英特尔公司购得的x86体系结构以及其他体系结构来创建。在一些实施例中,处理器1302是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
存储器组件1304包括随机存取存储器(“RAM”)1314、只读存储器(“ROM”)1316、集成存储器(“集成存储”)1318、以及可移动存储存储器(“可移动存储”)1320。在一些实施例中,RAM 1314或其一部分、ROM1316或其一部分、和/或RAM1314和ROM1316的某一组合可集成在处理器1302中。在一些实施例中,ROM1316被配置成存储固件、操作系统或其一部分(例如,操作系统内核)、和/或从集成存储1318和/或可移动存储1320加载操作系统内核的引导装入器(bootloader)。
集成存储1318可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储1318可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器1302以及本文中所描述的其他组件。由此,集成存储1318集成在计算设备中。集成存储1318被配置成存储操作系统或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
可移动存储1320可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些实施例中,提供可移动存储1320来代替集成存储1318。在其他实施例中,提供可移动存储1320作为附加的任选存储。在一些实施例中,将可移动存储1320与集成存储1318逻辑地组合以使得总可用存储作为总的经组合的存储能力可用。在一些实施例中,向用户显示集成存储1318和可移动存储1320的总的经组合的能力,而不是集成存储1318和可移动存储1320的分开的存储能力。
可移动存储1320被配置成插入通过其插入和紧固可移动存储1320以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储1320可与诸如处理器1302之类的计算设备其他组件通信。可移动存储1320可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或通用SIM(“USIM))、私有格式等。”
可以理解,存储器组件1304的一个或多个可存储操作系统。根据各个实施例,操作系统包括但不限于来自SYMBIAN有限公司的SYMBIAN OS、来自美国华盛顿州雷蒙德市微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市惠普(Hewlett-Packard)公司的PALM WEBOS、来自加拿大安大略省沃特卢市的运动研究有限公司(Research IN Motion Limited)的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的IOS、以及来自美国加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。可构想其他操作系统。
网络连接组件1306包括无线广域网组件(“WWAN组件”)1322、无线局域网组件(“WLAN组件”)1324、以及无线个域网组件(“WPAN组件”)1326。网络连接组件1306便于与网络104或另一网络的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然仅示出了网络104,但是网络连接组件1306可便于与多个网络的同时通信。例如,网络连接组件1306可便于经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。
网络104可以是WWAN或可包括WWAN,诸如利用一种或多种移动电信技术经由WWAN组件1322向利用计算设备体系结构1300的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)系统、CDMA2000、通用移动电信系统(“UMTS”)、长期演进(“LTE”)、以及微波接入全球互通(“WiMax)。”此外,网络104可利用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空分多址(“SDMA)等。”可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA(“HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络104可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络104可被配置成调适成根据未来的生成技术提供语音和/或数据通信。
在一些实施例中,WWAN组件1322被配置成提供到网络104的双模、多模连接。例如,WWAN组件1322可被配置成提供到网络104的连接,其中网络104经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WWAN组件1322可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WWAN组件1322可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络104可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如IEEE802.11a、802.11b、802.11g、802.11n、和/或未来的802.11标准(在此被称为WI-FI))而操作的WLAN。还可构想802.11标准草案。在一些实施例中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些实施例中,用作WI-FI热点的一个或多个无线WI-FI接入点是与WWAN连接的另一计算设备。WLAN组件1324被配置成经由WI-FI接入点连接到网络104。可经由加密技术来确保这些连接,这些加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP)等。”
网络104可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些实施例中,WPAN组件1326被配置成便于经由WPAN与诸如外围设备、计算机、或者其他计算设备之类的其他设备的通信。
传感器组件1308包括磁力计1328、环境光传感器1330、邻近传感器1332、加速度计1334、陀螺仪1336、以及全球定位系统传感器(“GPS传感器”)1338。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备体系结构1300中。
磁力计1328被配置成测量磁场的强度和方向。在一些实施例中,磁力计1328提供对存储在存储器组件1304之一内的罗盘应用程序的测量以向用户提供包括基本方向、北、南、东和西的基准帧中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计1328所获取的测量值的其他用途。
环境光传感器1330被配置成测量环境光。在一些实施例中,环境光传感器1330提供对存储在一个存储器组件1304内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器1330所获取的测量值的其他用途。
邻近传感器1332被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些实施例中,邻近传感器1332检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件1304之一内的应用程序,该存储器组件利用邻近信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近传感器1332检测到的接近度的其他用途。
加速度计1334被配置成测量准确的加速。在一些实施例中,来自加速度计1334的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计1334接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些实施例中,将来自加速度计1334的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速或检测下降。可构想加速度计1334的其他用途。
陀螺仪1336被配置成测量和维持定向。在一些实施例中,来自陀螺仪1336的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪1336可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些实施例中,应用程序利用来自陀螺仪1336和加速度计1334的输出来增强对应用程序的一些功能的控制。可构想陀螺仪1336的其他用途。
GPS传感器1338被配置成接收来自GPS卫星的信号,以供在计算位置时使用。GPS传感器1338计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器1338计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的方向、或者从目的地到该位置的方向。此外,GPS传感器1338可用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器1338可在获取位置方位时利用网络连接组件1306中的一个或多个来辅助GPS传感器1338获取经由WI-FI、WIMAX、和/或蜂窝三角测量技术而生成的位置信息。GPS传感器1338还可用于辅助GPS(“A-GPS”)系统中。
I/O组件1310包括显示器1340、触摸屏1342、数据I/O接口组件(“数据I/O”)1344、音频I/O接口组件(“音频I/O”)1346、视频I/O接口组件(“视频I/O”)1348、以及相机1350。在一些实施例中,显示器1340和触摸屏1342组合。在一些实施例中,数据I/O组件1344、音频I/O组件1346、以及视频I/O组件1348中的两个或更多个组合。I/O组件1310可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括构建到处理器1302中的处理功能。
显示器1340是被配置成呈现视觉形式的信息的输出设备。具体而言,显示器1340可呈现GUI元素、web插件界面、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些实施例中,显示器1340是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些实施例中,显示器1340是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
触摸屏1342是被配置成检测触摸的存在和位置的输入设备。触摸屏1342可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可利用任何其他触摸屏技术。在一些实施例中,触摸屏1342结合到显示器1340的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器1340上所呈现的对象或其他信息交互。在其他实施例中,触摸屏1342是结合到不包括显示器1340的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器1340的顶部的触摸屏以及与显示器1340相对的表面上的触摸垫。
在一些实施例中,触摸屏1342是单点触摸触摸屏。在其他实施例中,触摸屏1342是多点触摸触摸屏。在一些实施例中,触摸屏1342被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为姿势。现在将描述若干姿势。应当理解,这些姿势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏1342一起使用。这样,开发者可以创建专用于特定应用程序和/或专门的web创建的手势。
在一些实施例中,触摸屏1342支持轻叩姿势,其中用户在显示器1340上所呈现的项目上轻叩触摸屏1342一次。出于各种原因,可使用轻叩姿势,这些原因包括但不限于打开或启动用户轻叩的任何事物。在一些实施例中,触摸屏1342支持双轻叩姿势,其中用户在显示器1340上所呈现的项目上轻叩触摸屏1342两次。出于各种原因,可使用双轻叩姿势,这些原因包括但不限于分多级放大或缩小。在一些实施例中,触摸屏1342支持轻叩并保持姿势,其中用户轻叩触摸屏1342并维持接触达至少预定义时间。出于各种原因,可使用轻叩并保持姿势,这些原因包括但不限于打开上下文特定的菜单。
在一些实施例中,触摸屏1342支持平移姿势,其中用户将手指放置在触摸屏1342上并维持与触摸屏1342的接触,同时在触摸屏1342上移动手指。出于各种原因,可使用平移姿势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移姿势。在一些实施例中,触摸屏1342支持轻拂姿势,其中用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂姿势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些实施例中,触摸屏1342支持收窄和张开姿势,其中用户在触摸屏1342上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用收窄和张开姿势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏1342交互。如此,以上姿势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
数据I/O接口组件1344被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些实施例中,例如出于同步操作的目的,数据I/O接口组件1344包括被配置成提供计算设备和计算机系统之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些实施例中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
音频I/O接口组件1346被配置成向计算设备提供音频输入和/或输出能力。在一些实施例中,音频I/O接口组件1344包括被配置成收集音频信号的话筒。在一些实施例中,音频I/O接口组件1344包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些实施例中,音频I/O接口组件1346包括用于输出音频信号的扬声器。在一些实施例中,音频I/O接口组件1344包括光学音频电缆输出。
视频I/O接口组件1348被配置成向计算设备提供视频输入和/或输出能力。在一些实施例中,视频I/O接口组件1348包括被配置成接收视频作为来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些实施例中,视频I/O接口组件1348包括高清晰度多媒体接口(“HDMI”)、小型HDMI、微型HDMI、显示器端口、或者到输入/输出视频内容的专有连接器。在一些实施例中,视频I/O接口组件1348或其一部分与音频I/O接口组件1346或其一部分组合。
相机1350可被配置成捕捉静止图像和/或视频。相机1350可利用电荷耦合设备(“CCD”)或互补金属氧化物半导体(“CMOS)图像传感器来捕捉图像。”在一些实施例中,相机1350包括在低光环境中辅助拍摄图片的闪光灯。相机1350的设置可被实现为硬件或软件按钮。
虽然未示出,但是还可在计算设备体系结构1300中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
所示的功率组件1312包括可连接到电池量表(gauge)1354的一个或多个电池1352。电池1352可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池1352可由一个或多个电池单元制成。
电池量表1354可被配置成测量电池参数,诸如电流、电压、以及温度。在一些实施例中,电池量具1354被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些实施例中,电池量具1354向应用程序提供测量值,该应用程序被配置成利用这些测量值将有用的电源管理数据呈现给用户。电源管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
电源组件1312还可包括电源连接器,该电源连接器可与上述I/O组件1310中的一个或多个组合。电源组件1312可经由电源I/O组件1342与外部电源系统或充电装备进行对接。
根据上述内容,应该理解已经在此描述了用于分发文档内的基于web的软件应用扩展的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。
Claims (10)
1.一种用于通过文档来分发软件应用扩展的计算机实现的方法,该计算机实现的方法包括执行计算机实现的操作,这些操作用于:
获取所述软件应用扩展;
创建包含特定状态的软件应用扩展的文档,所述特定状态在所述文档中被标识为配置数据;
保存含有所述软件应用扩展和所述配置数据的文档;以及
将所述文档分发给一个或多个计算机系统。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述软件应用扩展包括描述web插件服务器位置的清单文件或对所述清单文件的引用,并且所述软件应用扩展是内容web插件,所述内容web插件被配置为允许从所述web插件服务器检索到的网页或其一部分作为嵌入的内容成为所述文档或另一文档的部分。
3.如权利要求1所述的计算机实现的方法,其特征在于,所述软件应用扩展包括描述web插件服务器位置的清单文件或对所述清单文件的引用,并且所述软件应用扩展是被配置为允许从所述文档的外部访问网页或其一部分的文档外web插件,所述文档外web插件包括任务窗格web插件、浮动web插件、带状条web插件、菜单web插件、工具栏插件、状态栏插件、弹出菜单插件或单独的应用。
4.如权利要求1所述的计算机实现的方法,其特征在于,还包括保存所述文档,从而创建所述软件应用扩展的快照,所述快照允许在被配置有查看器应用的一个或多个所述计算机系统处查看所述软件应用扩展,所述查看器应用方便了查看软件应用扩展但不编辑软件应用扩展,并且其中将所述文档分发给所述一个或多个计算机系统包括将所述文档分发给所述一个或多个计算机系统,所述计算机系统中的一个或多个由未经许可的用户操作,所述未经许可的用户不具有使用所述软件应用扩展的权利。
5.如权利要求4所述的计算机实现的方法,其特征在于,还包括方便所述未经许可的用户获取所述软件应用扩展的试用权利、购买权利或免费权利以使用所述软件应用扩展。
6.一种用于通过文档来分发web插件的计算机实现的方法,该计算机实现的方法包括执行计算机实现的操作,这些操作用于:
获取web插件;
创建文档;
将所述web插件插入到所述文档中;
保存包含下述项的所述文档:
清单文件或对所述清单文件的引用,所述清单文件描述了被配置为提供所述web插件的web内容的web插件服务器的位置,
所述web插件的静态快照,所述静态快照允许在被配置有查看器应用的用户设备处查看所述web插件,所述查看器应用方便了查看web插件但不编辑web插件,以及
标识在所述文档中的所述web插件的特定状态的配置数据;以及
将包含所述清单文件、所述配置数据和所述静态快照的所述文档分发给一个或多个用户设备。
7.如权利要求6所述的计算机实现的方法,其特征在于,接收所述web插件包括下述项之一:
从市场服务器计算机获取所述web插件;
从所述web插件的网站或web服务处下载web内容;
从另一用户设备接收所述web插件;或
接收另一文档中的所述web插件。
8.如权利要求6所述的计算机实现的方法,其特征在于,创建所述文档包括基于文档模板创建文档,所述文档模板包含所述web插件,并且将所述web插件插入到所述文档包括使用在所述文档模板中包含的web插件。
9.一种其上存储有计算机可读指令的计算机存储介质,所述指令在由计算机执行时致使所述计算机:
接收由用户设备分发的web插件;
确定用户是否具有所述web插件的权利;
响应于确定所述用户具有所述web插件的权利,根据所述权利提供所述web插件以供使用;
响应于确定所述用户不具有所述web插件的权利,为所述用户呈现试用或购买所述web插件的选项;
响应于接收对所述选项之一的选择,发送权利请求给web插件和市场服务器计算机,从所述web插件和市场服务器计算机接收权利响应,所述权利响应根据所选的选项指示了所述web插件的权利的权利条款,并根据所述权利提供所述web插件以供使用;
创建文档;
将所述web插件插入到所述文档中;
保存包含所述web插件的所述文档;以及
将包含所述web插件的所述文档分发给一个或多个其它用户设备。
10.如权利要求9所述的计算机存储介质,其特征在于,当被所述计算机执行时,所述指令使得所述计算机将所述web插件插入到所述文档包括当被所述计算机执行时,指令使得所述计算机执行:
将内容web插件嵌入到所述文档;或
将任务窗格插件附加给所述文档,使得被配置为打开所述文档的应用识别所述任务窗格并将所述任务窗格插入到所述应用的用户界面。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/360,809 | 2012-01-30 | ||
US13/360,809 US20130198606A1 (en) | 2012-01-30 | 2012-01-30 | Software application distribution in documents |
PCT/US2013/022613 WO2013116046A1 (en) | 2012-01-30 | 2013-01-23 | Software application distribution in documents |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104094252A true CN104094252A (zh) | 2014-10-08 |
Family
ID=48871422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380007342.XA Pending CN104094252A (zh) | 2012-01-30 | 2013-01-23 | 在文档中的软件应用分发 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20130198606A1 (zh) |
EP (1) | EP2810187A4 (zh) |
CN (1) | CN104094252A (zh) |
WO (1) | WO2013116046A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016150386A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
CN106598661A (zh) * | 2016-12-08 | 2017-04-26 | 上海众人网络安全技术有限公司 | 一种动态更新插件的方法及系统 |
CN107430520A (zh) * | 2015-03-30 | 2017-12-01 | 微软技术许可有限责任公司 | 用于应用插件的增强的预览技术 |
CN109358911A (zh) * | 2018-09-29 | 2019-02-19 | 福建星网智慧软件有限公司 | 一种分布式系统动态集成web应用的方法及系统 |
CN110168588A (zh) * | 2017-01-05 | 2019-08-23 | 微软技术许可有限责任公司 | 基于位置、使用模式以及内容来识别文档 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732697B2 (en) | 2010-08-04 | 2014-05-20 | Premkumar Jonnala | System, method and apparatus for managing applications on a device |
US9336137B2 (en) | 2011-09-02 | 2016-05-10 | Google Inc. | System and method for performing data management in a collaborative development environment |
US20150199318A1 (en) * | 2011-09-02 | 2015-07-16 | Micah Lemonik | System and Method for Using a Third-Party Add-On in a Collaborative On-Line Software Development Environment |
US20150199222A1 (en) * | 2011-09-02 | 2015-07-16 | John Day-Richter | System and Method for Managing Remote Procedure Calls Relating to a Third Party Software Application |
US20150199317A1 (en) * | 2011-09-02 | 2015-07-16 | Micah Lemonik | System and Method for Using a Third-Party Add-On to Manipulate a Document in a Collaborative Online Software Development Environment |
US8738706B1 (en) | 2011-11-16 | 2014-05-27 | Google Inc. | Systems and methods for collaborative document editing |
US20140108971A1 (en) * | 2012-08-31 | 2014-04-17 | Salesforce.Com.Inc. | Application builder |
CN103049320B (zh) | 2012-12-17 | 2016-05-04 | 广州市动景计算机科技有限公司 | 在浏览器中启动外部应用程序的方法和装置 |
US9886712B2 (en) | 2013-03-13 | 2018-02-06 | APPDIRECT, Inc. | Indirect and direct delivery of applications |
CN103500171A (zh) * | 2013-09-04 | 2014-01-08 | 苏州荣越网络技术有限公司 | 一种文档空间共享系统 |
US11188209B2 (en) * | 2014-04-02 | 2021-11-30 | Microsoft Technology Licensing, Llc | Progressive functionality access for content insertion and modification |
US10242069B2 (en) | 2015-03-13 | 2019-03-26 | Microsoft Technology Licensing, Llc | Enhanced template curating |
CN104866313A (zh) * | 2015-05-22 | 2015-08-26 | 国云科技股份有限公司 | 一种通用的jsp上传文件的方法 |
USD764514S1 (en) * | 2015-06-09 | 2016-08-23 | Teletracking Technologies, Inc. | Display screen with graphical user interface |
US9753788B2 (en) * | 2015-07-06 | 2017-09-05 | Microsoft Technology Licensing, Llc | Extensibility of engines in computing systems |
US10169592B2 (en) * | 2015-10-13 | 2019-01-01 | International Business Machines Corporation | Security systems GUI application framework |
US11010540B2 (en) * | 2016-06-23 | 2021-05-18 | Microsoft Technology Licensing, Llc | Productivity applications with views of social network group features |
US10955994B2 (en) * | 2017-06-02 | 2021-03-23 | Apple Inc. | User interfaces for downloading applications on an electronic device |
US10867128B2 (en) * | 2017-09-12 | 2020-12-15 | Microsoft Technology Licensing, Llc | Intelligently updating a collaboration site or template |
WO2019133170A1 (en) * | 2017-12-29 | 2019-07-04 | Cognant Llc | System and method for providing software applications |
US11822637B2 (en) * | 2018-10-18 | 2023-11-21 | Oracle International Corporation | Adaptive authentication in spreadsheet interface integrated with web service |
CN110764836B (zh) | 2019-09-18 | 2024-02-09 | 华为技术有限公司 | 插件实现的方法和插件实现的系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708709A (en) * | 1995-12-08 | 1998-01-13 | Sun Microsystems, Inc. | System and method for managing try-and-buy usage of application programs |
CN1312923A (zh) * | 1998-07-14 | 2001-09-12 | 麻省理工学院 | 利用嵌入内容分布式幻影服务器的全局文档主系统 |
CN1826752A (zh) * | 2003-07-21 | 2006-08-30 | 七月系统有限公司 | 移动环境的应用权限管理 |
CN101303650A (zh) * | 2008-07-09 | 2008-11-12 | 腾讯科技(深圳)有限公司 | 一种软件平台的功能扩展方法及功能扩展系统 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000054053A (ko) * | 2000-05-19 | 2000-09-05 | 유인오 | 인터넷 문자형 광고와 연계된 확대 배너 광고 기법 |
JP3889234B2 (ja) * | 2001-03-27 | 2007-03-07 | シャープ株式会社 | トライアル管理システム、プログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7089248B1 (en) * | 2002-11-04 | 2006-08-08 | Adobe Systems Incorporated | Group file delivery including user-defined metadata |
US8224750B1 (en) * | 2003-10-07 | 2012-07-17 | Microsoft Corporation | Method and system for upgrading licenses to installed software |
US20050229104A1 (en) * | 2004-04-09 | 2005-10-13 | Microsoft Corporation | Add-on management |
US8453065B2 (en) * | 2004-06-25 | 2013-05-28 | Apple Inc. | Preview and installation of user interface elements in a display environment |
US7707498B2 (en) * | 2004-09-30 | 2010-04-27 | Microsoft Corporation | Specific type content manager in an electronic document |
US7617229B2 (en) * | 2004-12-20 | 2009-11-10 | Microsoft Corporation | Management and use of data in a computer-generated document |
US7886290B2 (en) * | 2005-06-16 | 2011-02-08 | Microsoft Corporation | Cross version and cross product user interface |
US7525996B2 (en) * | 2005-06-28 | 2009-04-28 | Adobe Systems Incorporated | Intelligent access within a document package |
US7715586B2 (en) * | 2005-08-11 | 2010-05-11 | Qurio Holdings, Inc | Real-time recommendation of album templates for online photosharing |
US7743336B2 (en) * | 2005-10-27 | 2010-06-22 | Apple Inc. | Widget security |
US7484180B2 (en) * | 2005-11-07 | 2009-01-27 | Microsoft Corporation | Getting started experience |
US8725729B2 (en) * | 2006-04-03 | 2014-05-13 | Steven G. Lisa | System, methods and applications for embedded internet searching and result display |
CN101490676B (zh) * | 2006-05-10 | 2014-07-30 | 谷歌公司 | Web笔记本工具 |
US20130124370A1 (en) * | 2007-02-07 | 2013-05-16 | Kenneth B. Moore | Workflow integration and presentation management |
AR067297A1 (es) * | 2007-03-28 | 2009-10-07 | Avery Dennison Corp | Interfaz de usuario de tipo cinta para un programa de aplicacion |
US20080307308A1 (en) * | 2007-06-08 | 2008-12-11 | Apple Inc. | Creating Web Clips |
US8244593B2 (en) * | 2007-11-20 | 2012-08-14 | Pure Verticals, Inc. | Method and system for monetizing content |
US8850339B2 (en) * | 2008-01-29 | 2014-09-30 | Adobe Systems Incorporated | Secure content-specific application user interface components |
US20100299183A1 (en) * | 2009-05-20 | 2010-11-25 | Robb Fujioka | Device and Method for Creating, Distributing, Managing and Monetizing Widgets Including Streaming |
US9269059B2 (en) * | 2008-03-25 | 2016-02-23 | Qualcomm Incorporated | Apparatus and methods for transport optimization for widget content delivery |
US9720554B2 (en) * | 2008-07-23 | 2017-08-01 | Robert J. Frohwein | Method and apparatus to operate different widgets from a single widget controller |
US8407576B1 (en) * | 2008-09-02 | 2013-03-26 | Sitscape, Inc. | Situational web-based dashboard |
US20100070930A1 (en) * | 2008-09-04 | 2010-03-18 | Gilles Thibault | Business document system |
US8984390B2 (en) * | 2008-09-15 | 2015-03-17 | Palantir Technologies, Inc. | One-click sharing for screenshots and related documents |
US20100161713A1 (en) * | 2008-12-18 | 2010-06-24 | Sap Agdietmar-Hopp-Allee | Method and system for personalizing a desktop widget |
US20100179949A1 (en) * | 2009-01-15 | 2010-07-15 | Safar Samir H | Method and system for an internet browser add-on providng simultaneous multiple interactive websites on one internet browser window |
WO2011150289A1 (en) * | 2010-05-26 | 2011-12-01 | Todotornot Ventures Pty. Ltd. | End user viewable web element |
TW201214263A (en) * | 2010-09-29 | 2012-04-01 | Hon Hai Prec Ind Co Ltd | System and method for adding widget on Android |
US20120173346A1 (en) * | 2011-01-03 | 2012-07-05 | Chad Steelberg | Apparatus, system and method for multi-party web publishing and dynamic plug-ins for same |
US8639778B2 (en) * | 2011-02-01 | 2014-01-28 | Ebay Inc. | Commerce applications: data handshake between an on-line service and a third-party partner |
US8751800B1 (en) * | 2011-12-12 | 2014-06-10 | Google Inc. | DRM provider interoperability |
US8732278B2 (en) * | 2011-12-21 | 2014-05-20 | Cbs Interactive, Inc. | Fantasy open platform environment |
-
2012
- 2012-01-30 US US13/360,809 patent/US20130198606A1/en not_active Abandoned
- 2012-02-07 US US13/367,587 patent/US20130198733A1/en not_active Abandoned
-
2013
- 2013-01-23 EP EP13744264.6A patent/EP2810187A4/en not_active Withdrawn
- 2013-01-23 WO PCT/US2013/022613 patent/WO2013116046A1/en active Application Filing
- 2013-01-23 CN CN201380007342.XA patent/CN104094252A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708709A (en) * | 1995-12-08 | 1998-01-13 | Sun Microsystems, Inc. | System and method for managing try-and-buy usage of application programs |
CN1312923A (zh) * | 1998-07-14 | 2001-09-12 | 麻省理工学院 | 利用嵌入内容分布式幻影服务器的全局文档主系统 |
CN1826752A (zh) * | 2003-07-21 | 2006-08-30 | 七月系统有限公司 | 移动环境的应用权限管理 |
CN101303650A (zh) * | 2008-07-09 | 2008-11-12 | 腾讯科技(深圳)有限公司 | 一种软件平台的功能扩展方法及功能扩展系统 |
Non-Patent Citations (2)
Title |
---|
RHONDA BREON等: ""Microsoft Office 97 Executable Content Security Risks and Countermeasures"", 《URL:HTTP://M.NSA.GOV/IA/_FILES/APP/ARCHIVED/OFF97_EC_SECURITY.PDF》 * |
段春红: ""基于SCORM的网络课程教学设计模板研发"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016150386A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 界面处理方法、装置及系统 |
CN107430520A (zh) * | 2015-03-30 | 2017-12-01 | 微软技术许可有限责任公司 | 用于应用插件的增强的预览技术 |
US11030385B2 (en) | 2015-03-30 | 2021-06-08 | Microsoft Technology Licensing, Llc | Enhanced preview technology for application add-ins |
CN106598661A (zh) * | 2016-12-08 | 2017-04-26 | 上海众人网络安全技术有限公司 | 一种动态更新插件的方法及系统 |
CN110168588A (zh) * | 2017-01-05 | 2019-08-23 | 微软技术许可有限责任公司 | 基于位置、使用模式以及内容来识别文档 |
CN110168588B (zh) * | 2017-01-05 | 2023-10-20 | 微软技术许可有限责任公司 | 基于位置、使用模式以及内容来识别文档 |
CN109358911A (zh) * | 2018-09-29 | 2019-02-19 | 福建星网智慧软件有限公司 | 一种分布式系统动态集成web应用的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2013116046A1 (en) | 2013-08-08 |
US20130198733A1 (en) | 2013-08-01 |
EP2810187A1 (en) | 2014-12-10 |
EP2810187A4 (en) | 2015-08-19 |
US20130198606A1 (en) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104094252A (zh) | 在文档中的软件应用分发 | |
US10416851B2 (en) | Electronic publishing mechanisms | |
US20130326499A1 (en) | Automatically installing and removing recommended applications | |
US9892141B2 (en) | Extensibility of collectable data structures | |
KR102019967B1 (ko) | 사용자 단말 장치, 디스플레이 장치, 서버 및 그 제어 방법 | |
US9454349B2 (en) | User interface placeholders for application extensions | |
US20140122298A1 (en) | Mobile Information Tool System and Method | |
US10719498B2 (en) | Enhanced management capabilities for collectable data structures | |
CN102982440A (zh) | 聚集和呈现任务 | |
CN104350493A (zh) | 将数据变换成可消费的内容 | |
CN104471564A (zh) | 在将数据变换成可消费内容时创建变型 | |
US20170109142A1 (en) | System and method to build a mobile application | |
CN103608770A (zh) | 用于演示文稿应用的嵌入式web查看器 | |
CN104067215A (zh) | 呈现数据驱动表单 | |
US20190089606A1 (en) | System, method and apparatus for managing services and applications | |
Nicol | Mobile strategy: How your company can win by embracing mobile technologies | |
CN113287138A (zh) | 用于对电子内容的可执行注释的可扩展框架 | |
CN103257997A (zh) | 为视频及其他媒体内容启用复制和粘贴功能 | |
US11481467B2 (en) | System and method for management and delivery of shoppable content data | |
US20180096415A1 (en) | Guided Communication Using Wrap Packages of Cards | |
US20220121809A1 (en) | Method, system and apparatus for generating, editing, and deploying native mobile apps and utilizing deep learning for instant digital conversion | |
US9967365B2 (en) | Information management software and method | |
US20140136943A1 (en) | Rendering web content within documents | |
CN105074754B (zh) | 用于应用内软件购买的根据市场进行价格区分 | |
Daniel | IOS 5 Essentials: Harness IOS 5's New Powerful Features to Create Stunning Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150729 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150729 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141008 |
|
RJ01 | Rejection of invention patent application after publication |