CN102968437A - 外部服务应用的发现方法 - Google Patents

外部服务应用的发现方法 Download PDF

Info

Publication number
CN102968437A
CN102968437A CN2012103644213A CN201210364421A CN102968437A CN 102968437 A CN102968437 A CN 102968437A CN 2012103644213 A CN2012103644213 A CN 2012103644213A CN 201210364421 A CN201210364421 A CN 201210364421A CN 102968437 A CN102968437 A CN 102968437A
Authority
CN
China
Prior art keywords
main frame
action
service
document
service 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.)
Granted
Application number
CN2012103644213A
Other languages
English (en)
Other versions
CN102968437B (zh
Inventor
M·J·鲁伦
M·T·菲尔兹
C·V·汉森
Y·彭
M·C·拉姆塞
N·M·西蒙斯
A·V·沃匹洛夫
K·J·小尤哈斯
R·A·马雷诺
T·克拉夫特
C·布劳萨德
D·明
C·D·肖
S·S·卡珀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/284,543 external-priority patent/US9578114B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102968437A publication Critical patent/CN102968437A/zh
Application granted granted Critical
Publication of CN102968437B publication Critical patent/CN102968437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及外部应用服务的发现方法。将主机与运行服务应用的外部应用服务器相连接的外部服务应用发现过程,该服务应用允许客户计算设备的用户经由web浏览器与文件一起工作。主机违反外部应用服务器的功能,并用作其中产生客户计算设备与外部应用服务器间的交互的平台。开发接口协议(共享通信协议)允许主机将指令从客户计算设备传递到外部应用服务器。通过外部服务应用发现过程,外部应用服务器描述了服务应用向主机提供的功能。主机基于开发平台接口的实现级和主机所理解的外部服务应用发现过程的约定,选择性地使得服务应用所提供的功能对用户可用。

Description

外部服务应用的发现方法
技术领域
本发明涉及服务应用,尤其是服务应用的发现方法。
背景技术
企业通常出于不同的目的维护被存储在不同地方的各种类型的文档。在许多情况下,根据各种不同的软件应用和存储系统来创建和存储这种文档。例如,可使用文字处理应用、电子表格应用、演示应用、注释应用、图形设计应用、摄影应用等来生成文档。可经由各种存储系统来存储所生成的文档,包括用于存储各种类型的文档的一个或多个内容服务器、用于存储文档作为电子邮件项(电子邮件)附件的服务器、用于存储文档作为会议附件的存储系统、用于存储文档作为主要或顾客数据的附件的顾客关系管理(CRM)系统、用于存储文档以供日常使用的通用文档存储、和/或存储文档以供专门非常规定的需求的专用文档存储(例如,来自Documentum公司的)。
访问这些各种类型的文档并与之一同工作通常要求用于每种文档类型的适当的软件对用户可用。典型的企业场景构想了需要访问文档或与之一同工作的每个人将使适当的软件本地地安装在他们日常使用的计算设备上。当每个人可访问同一组且同一版本的应用时,这是可行的方法。然而,在许多情形中,当多个用户可能仅偶尔使用给定的软件应用时,企业可能不将给定的软件应用加载到用户的计算设备上。补救这种问题的一种方法是将文档转换成可容易地查看但不容易编辑的“已发布”格式。提供对各种文档类型的访问而无需本地安装必要的软件包的另一种方法是在内容服务器内固有地提供查看和编辑功能,或提供内容服务器与专用系统间的直接集成以便查看和编辑所支持的文档;然而,企业通常不愿将这种功能与他们的内容服务器进行集成,害怕附加功能的这种集成可能降低类似的关键任务使用的处理容量和能力、增加停机时间、和/或使得对他们的内容服务器的管理变得复杂。此外,向专用系统投入的资源(例如,时间,精力,以及与费用相关联的开发、采购和部署)不太可能转移到另一个平台。
本发明正是对于这些和其它考虑事项而做出的。
发明内容
提供该发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
根据各实施例,外部服务应用发现过程将一个或多个主机与一个或多个服务应用相连接,该服务应用允许客户计算设备的用户经由通用客户机应用(即,web浏览器)来与文件一同工作。开发平台接口(共享通信协议)允许主机与外部应用服务器通信,无论主机的本地通信协议是什么。通过开放平台接口的约定所描述的外部服务应用发现过程,外部应用服务器描述了服务应用所提供的功能以及如何调用该功能。主机基于开发平台接口的实现级和主机所理解的外部服务应用发现过程的约定,选择性地使得服务应用所提供的功能对用户可用。
与外部应用服务器的集成是主机通过被称为发现的过程来实现的责任,主机在该过程期间得知外部应用服务器所支持的功能。在发现之前,不要求主机具有关于外部应用服务器的可用性或功能的任何知识。为了参加对外部应用服务器的发现,主机必须理解开放平台接口以及与该开放平台接口相关联的发现约定。主机的行为基于外部应用服务器的可用性和功能而改变。
外部服务应用发现过程是由主机通过提供发现数据源的位置来发起,该发现数据源包含描述外部应用服务器的功能的信息。该发现数据由外部应用服务器来维护,并作为响应或在发现文档中被提供给主机。在获得发现数据的位置之后,主机向发现数据源发出发现请求。发现数据源一旦接收到发现请求就提供包含了发现数据的响应,该发现数据描述由外部应用服务器支持的功能(即,外部应用服务器的属性)。发现数据根据开放平台接口的约定来格式化,并且包含由该约定指定的信息。主机消费由发现数据源返回的发现数据。在消费了发现数据之后,主机为相关联的文件类型存储关于服务应用所支持的动作的信息。在完成外部服务应用发现过程之后,主机的行为变为集成该主机所支持的服务应用的被公告的功能。
附图说明
通过参考下面的具体实施方式、所附的权利要求书和附图,本发明的进一步的特征、各方面和益处将变得更好理解,其中各元素不会缩放以更清晰地示出细节,在若干视图中,相同的附图标记指示相同的元素,并且其中:
图1示出企业网络的框图,该企业网络包括主机和用于实践外部服务应用发现过程的一个实施例的外部应用服务器;
图2示出主机与外部应用服务器之间的外部应用服务发现过程的流程图;
图3是可用来实施本发明的各实施例的计算设备的简化框图;
图4A和4B是可用来实施本发明的各实施例的移动计算设备的简化框图;以及
图5是可在其中实施本发明的各实施例的分布式计算系统的简化框图。
具体实施方式
用于将主机与外部应用服务器进行连接的外部服务应用发现过程在本文被描述并在附图中被示出。外部服务应用发现过程将一个或多个主机与一个或多个服务应用进行连接,该服务应用允许客户计算设备的用户经由与主机通信的通用客户机应用来与网络上的文件一同工作。开发平台接口(其是一种共享通信协议)允许外部应用服务器与主机交互,无论主机的本地通信协议是什么。通过开放平台接口的约定所描述的外部服务应用发现过程,外部应用服务器描述了服务应用所提供的功能以及如何调用该功能。主机基于开发平台接口的实现级和主机所理解的外部服务应用发现过程的约定,选择性地使得服务应用所提供的功能对用户可用。
图1示出包括一个或多个主机102和一个或多个外部应用服务器104的示例性企业网络100的一个实施例。用户106从客户计算设备110使用web浏览器108来访问主机102。主机102最一般地是将文档存储在文档存储系统126中并为用户106管理许可的内容服务器。一般而言,主机102运行主机应用112,该主机应用提供处理主机102的普通功能的主机用户界面114。主机102的普通功能中的至少一些包括向用户106提供对已存储的文档116的访问,该文档116被包含在内容存储126中并且旨在使用支持的应用来被查看和/或编辑。主机102还提供使外部应用服务器104的服务对用户106可用的通用平台。外部应用服务器104提供基于浏览器的web应用,该web应用允许用户106与通过主机可用的文档进行交互。开放平台接口定义并指导主机102与外部应用服务器104之间的文档操作。主机102还实现从外部应用服务器接收通信的端点120。虽然主机102初始化包括外部应用服务器104的服务的场景,但主机102不调用外部应用服务器104。相反,外部应用服务器104展示所支持的功能,以使用回调来针对所支持的文档类型进行操作。
外部应用服务器104运行一个或多个基于web的服务应用118,该服务应用118使用户106能够访问、查看、编辑以及任选地执行针对内容(即,文件或文档)的其他操作,并且从客户计算设备110通过网络执行文件夹(即,目录)管理,而不要求本地安装与特定文档类型一同工作所需的适当的应用。外部应用服务器104的操作和输出不是调用外部应用服务器104的功能的主机102所专用的。每个服务应用118一般作为外部应用服务器104上的服务来运行。外部应用服务器104使用开放平台接口和开放平台接口的约定集合来与主机102集成。外部应用服务器104提供与所选文件类型的文档一同工作的必要操作和功能。外部应用服务器104是主机不可知的。换言之,外部应用服务器104的操作和/或输出不是便于访问外部应用服务器104的服务的主机102所专用的。处理各种文档类型的服务应用118的示例包括用于与文字处理文档、电子表格、演示和注释一起工作的标准(即,本地安装的)应用的在线(即,基于web的)伙伴。
每个服务应用118所提供的操作通常专用与所选文件类型或与文件夹管理有关。外部应用服务器104所提供的核心操作是查看和编辑文档。在各个实施例中,服务应用118提供一个或多个附加操作,包括但不限于,重新格式化文档以供在移动设备上查看、创建新文档、转换文档、嵌入文档、以及从外部应用服务器104的角度来广播文档,广播和嵌入是特定的交互式用户流。在广播的情况中,外部应用服务器104在多个客户计算设备110上显示文档,并在一个实施例中跟踪在多个客户计算设备110的每个处被查看的当前页面。主机102管理文档上传、广播发起、和富客户端入口点。在广播操作的另一个实施例中,页面跟踪由主机102来处理。
通过一个或多个服务应用入口URL来访问每个服务应用118所支持的操作。每个服务应用入口URL用作用于针对特定文档类型的特定操作的外部应用服务器104的入口点。一般而言,每个服务应用入口URL包括外部应用服务器的地址,并指定任务(例如,使用电子表格应用的嵌入式编辑)、与该任务相关联的所需数据,即文档的元数据URL和授权访问的访问令牌、以及该任务专用的任意可选的参数。当用户106选择用于文档的一个操作时,主机102针对用户所选择的文档生成用于该操作的服务应用入口URL。具体而言,外部应用主页122生成与服务应用118一起使用的URL参数。外部应用主页122所生成的参数包括但不限于访问令牌和源URL。源URL是服务应用118用来访问主机端点120和文档的URL。访问令牌是对用户/对象对来说唯一的令牌,主机端点120使用该用户/对象对来认证用户106并授权对文档和/或服务应用118的访问。在各个实施例中,基于用户标识符、时间戳和文档标识符来计算访问令牌,并用主机102已知的(例如,存储在主机配置数据库中的)密码来加密该访问令牌。
通过主机102提供的包装器来处理服务应用入口点。主机102提供的包装器是一个框架或环境,该框架或环境显示外部应用服务器104的输出,并接受来自允许用户106使用服务应用118提供的功能来与文档交互的客户计算设备110的输入。在一个实施例中,包装器包括外部应用主页122和/或应用帧124。作为示例,主机102生成的外部应用主页122的一个实施例是将全部服务应用页面托管在web页面容器中的单个页面,诸如使用逐条边的布局的内联帧(iFrame)。外部应用主页122本身不具有用户界面。外部应用主页的替换实现可包括用于上面所描述的用户界面或替代的其他网页容器和布局。
嵌入信息的量可能导致长且麻烦的服务应用入口URL。另外,包括将到期的访问令牌使得服务应用入口URL变得脆弱。包装器通过提供对书签和链接共享的支持来补偿服务应用入口URL的麻烦且脆弱的本质。换言之,外部应用主页的URL是可作书签且可共享的。应用帧124指向服务应用入口URL,并且外部应用主页122任选地呈现主机框架和导航控件。
外部应用服务器104的背景任务是通过与用户交互操作相类似的方式来实现的,但利用客户计算设备110显示的浏览器所显示的页中的隐藏帧来导航到服务应用入口URL并加载脚本、小程序、或其他指令集(例如,JavaScript),该指令集驱动任务、提供重试逻辑、并允许通过导航父帧来通知最终状态。在一个实施例中,背景任务用于主机定向的文档转换。
当服务应用执行文件级操作时,它使用开放平台接口向主机端点120进行请求。主机端点120是web服务,该web服务理解使用开放平台接口所作的请求。主机端点120的各个实施例被实现作为基于REST的web服务。在一些实施例中,与主机端点120的通信是通过安全传输协议(例如,HTTPS)来独占地处理的,以便保护认证令牌和文件内容。在一个实施例中,通过将主机端点web服务的位置追加到主机URL来创建主机端点URL。
外部应用服务器104提供访问、编辑、查看和以其他方式操纵或与各种文档类型一起工作的必要功能。在所描述的实施例中,外部应用服务器104不包括与网络访问相关联的复杂度和开销、用户认证、文件存储、网络和文件安全、以及通常由网络中的其他服务器来处理且通常专用于特定企业的其他管理任务。忽略这些特征并使外部应用服务器聚焦于通过开放平台接口来处理文档操作允许外部应用服务器104被用于各种各样的企业网络场景。应当理解,如此处所描述的执行并且承担通常由企业网络上的其他服务器来处理的额外角色和责任的外部应用服务器104落入本发明的范围和精神。
主机102是能够使用通用客户端应用(诸如web浏览器)通过网络来访问的在线服务器应用。外部应用服务器104所提供的服务由主机102来消费,并且对客户计算设备110可用。当附连于外部应用服务器104时,主机102变为知晓外部应用服务器104所支持的每个服务应用118和功能。合适的主机系统的示例包括但不限于允许基于web的访问的邮件系统(例如,MicrosoftExchange
Figure BDA00002195079900061
)、统一通信系统(例如,IBM Lotus
Figure BDA00002195079900062
Microsoft
Figure BDA00002195079900063
Figure BDA00002195079900064
)、和内容和/或文档管理系统(例如,IBM Lotus
Figure BDA00002195079900065
和Microsoft
Figure BDA00002195079900066
)。
主机102具有便于客户计算设备110与外部应用服务器104之间的交互的多种责任。主机102存储用户的数据并初始化包括外部应用服务器104的场景。主机102实现用于显示每个服务应用118所主控的用户界面页面的包装器。另外,主机102实现并展示用于从外部应用服务器104接收通信的主机端点120。主机端点120是web服务,该web服务理解使用开放平台接口所作的请求。主机102还通过使用开放平台接口作出的请求来提供用于服务应用118的文件操作。主机102的其他责任包括在用户级处理对文档的访问控制以及用于外部应用服务器104的许可实施。在一个实施例中,主机102通过生成将到期的访问令牌(即,授权元件)来处理访问控制,该访问令牌被传递给外部应用服务器104以对所请求的操作进行授权。
与外部应用服务器的集成是主机通过被称为发现的过程来实现的另一个责任,主机在该过程期间得知外部应用服务器所支持的功能。在发现之前,不要求主机具有关于外部应用服务器的可用性或功能的任何知识。必要的仅仅是主机理解外部应用服务器所使用的开放平台接口。主机的行为基于外部应用服务器的可用性和功能而改变。
开放平台接口的配置、功能、实现级以及主机102对该开放平台接口的约定的遵守确定了对终端用户可用的外部应用服务器的功能。如果主机不能完全实现开放平台接口或不满足外部应用服务器的某个功能的要求,则该功能对用户不可用。具体而言,如果主机不公开对具体功能的支持,则服务应用抑制需要不受支持的功能的任意特征。例如,当主机不能保存文件的已更新副本时,服务应用不应当允许用户编辑文档。此外,对访问被连接的服务应用的管理控制是通过主机的配置任选地可用的。
主机管理外部应用服务器所提供的服务应用的许可。主机在其检查用户对文件的准许的同时检查许可。为了对文档执行所选操作,用户必须具有对文件执行操作的适当的准许以及使用相关联的服务应用的有效许可这二者。主机向外部应用服务器报告准许和许可检查的结果。另外,主机任选地检查以查看对服务应用所支持的特定文档类型的访问是否经由在主机中配置的管理控制被阻止。主机无法保存或检索被阻止的文档类型。
在各个实施例中,主机响应于点击与服务应用相关联的文件类型,在调用默认动作之前检查许可。如果用户不具有与默认点击操作相关联的服务应用的适当的许可,则该主机不会尝试执行命令(即,调用操作)。在其他实施例中,主机不会尝试执行用户缺少其适当的准许的命令或针对被阻止的文档类型的命令。
在各个实施例中,主机还在生成用于访问外部应用服务器提供的功能的动态用户界面控件(诸如,上下文菜单)时检查许可。动态用户界面控件通常为用户提供可用于该文档类型的操作列表。如果用户不具有与用于文档类型的操作相关联的服务应用的适当的许可,则该主机不在动态用户界面控件中显示命令。在其他实施例中,动态用户界面控件不示出用户缺少其适当的准许的命令或与被阻止的文档类型有关的命令。
在各个实施例中,诸如查看操作之类的基本功能在没有许可的情况下是可用的,而诸如编辑和转换操作的高级功能则需要许可。在一个实施例中,逐个用户或逐个机器地许可对服务应用的使用。在另一个实施例中,对服务应用的使用受到可用并发许可的数量的限制。在涉及多个服务应用的又一个实施例中,单个许可应用于使用单个外部应用服务器所提供的全部服务应用。在另一个实施例中,需要用于每个服务应用的许可。
如前所述,主机是内容服务器,该主机在该内容服务器中提供文档存储。在替换的实施例中,主机被配置成提供对在主机外部存储(例如,存储在网络文件系统中或在附连于网络的存储设备上)的文档的访问。在替换的实施例中,外部应用服务器被配置成请求存储在任意可访问的内容服务器或文件存储系统中的文档,该文件存储系统接受并理解用开发平台接口作出的文件操作请求。
web服务器提供对主机和服务应用的在线访问。当外部应用服务器具有对web服务器的独占访问时,它是最具响应性的。由对web服务器的共享使用导致的通信滞后更有可能使体验对终端用户来说不那么积极。共享的web服务器在某些情况下是可以接受的,其中共享该web服务器的其他应用具有低带宽要求、不经常被访问、和/或传送少量的数据。在一个实施例中,主机和/或外部应用服务器使用独立web服务器的服务。在另一个实施例中,外部应用服务器集成了web服务器。在又一个实施例中,主机集成了由外部应用服务器使用的web服务器。
用于主机与外部应用服务器之间的通信的开放平台接口允许与文档交互,并使用访问令牌作为授权/认证机制。
开放平台接口既是可扩展的,又提供对跨版本的接口通信的支持。开放平台接口的基本数据传输机制方便了跨平台的通信。在各个实施例中,虽然应当认识到其他人类和/或机器可读数据交换格式落入本发明的范围和精神,但基本数据是在JavaScript Object Notation(JSON)主体中来传送的。开放平台接口还遵守诸如Windows Communication Foundation(WCF)的一些应用边界接口所使用的“忽略你不预期的(ignore what you weren’t expecting)”和“使用你正预期但未得到的数据的默认值(use default values for data you were expecting butdidn’t get)”的面向服务的体系结构原则。开放平台接口所使用的“默认值必然带来可接受的行为”的语义有助于维持高度跨版本的世界中的功能。该语义在SkyDrive、Hotmail以及外部应用服务器的生产和集成环境间维持功能时尤其有用。
开放平台接口的主要可扩展性机制是通过功能集(例如,Cobalt、CoAuth、锁定、更新)的声明、实现和消费。核心开放平台接口仅包含用于获得与文档相关联的元数据的方法、以及用于获得文档数据的方法。主机支持的全部其他方法在文档元数据内被声明,并作为被支持的功能集列表来返回。每个功能集由串来声明,并承诺实现开放平台接口所支持的方法集合。开放接口定义了功能集的名称以及功能集承诺的相关联的方法。主机可用于实现的功能集受限于开放平台接口的约定。换言之,开放平台接口不提供尝试发现与简单对象访问协议(SOAP)元数据交换所提供的相类似的完全通用方法的机制。开放平台接口通过声明新的功能集来轻松地扩展。
为了提供对服务应用的访问,主机102必须了解外部应用服务器104所提供的可用性和功能。外部服务应用发现过程允许主机102了解可用的外部应用服务器,而不需要管理员手动地配置该主机102。在外部服务应用发现过程期间,主机102了解外部应用服务器104所支持的文件格式和开放平台接口动词。
图2示出将主机102与外部应用服务器104进行连接的外部服务应用发现过程200的流程图。外部服务应用发现过程200是由主机通过提供发现数据源202的位置来发起,该发现数据源202包含描述外部应用服务器104的功能的信息。在所示的实施例中,发现数据被包含在由外部应用服务器104维护的发现配置文档中,并且发现数据源202是由发现URL(例如,域名)定址的外部应用服务器104的发现端点。在所示的实施例中,主机102经由主机的配置用户界面204来接受外部应用服务器位置,并生成发现URL206。在一个实施例中,发现端点202具有相对于外部应用服务器104的位置的固定位置,并且主机102通过将发现端点202的位置(例如,相对路径)追加到外部应用服务器104的位置来生成发现URL。在另一个实施例中,管理员必须指定完整的发现URL 206。或者,由主机消费的发现数据不由服务应用服务器来提供。相反,发现数据源202是由管理员提供的文件(即,发现配置文档),而向主机102提供的发现数据源202的位置是该文件的位置。
在获得发现URL之后,主机102向发现端点202发出发现请求208。在一个实施例中,发现请求208是针对发现URL的HTTP GET请求。发现端点202为主机102提供与发现服务210连接的能力。发现服务210一接收到发现请求208就响应以包含发现数据214的发现响应消息212,该发现数据214描述由在外部应用服务器上运行的服务应用提供的功能。发现数据214根据开放平台接口的约定来格式化,并且包含由该约定指定的信息。在一个实施例中,发现响应消息212在消息主体中不包含任何HTML。相反,主体包含以主机理解的XML格式描述的发现数据。在各个实施例中,发现数据包含诸如服务应用的标识符、对服务应用的描述、文件扩展名、与该文件扩展名相关联的操作(即动作)、主机的任意开放平台接口实现要求(例如,功能集)、负责处理操作的服务应用的位置、和/或与该文件扩展名相关联的文档的mime类型等信息。
主机102消费由发现服务210返回的发现数据214。在消费了发现数据214之后,主机102为主机配置存储216中相关联的文件类型存储关于由服务应用支持的动作的信息(即,注册服务应用)。在完成外部服务应用发现过程200之后,主机的行为变为集成服务应用的被支持的功能。
发现数据内容和结构由开放平台接口来指定。用于发现的核心数据包括动作标识符、与该动作相关联的文件类型、和用于调用该动作的源URL。任选的发现数据包括服务应用标识符、对主机支持动作的要求、文件夹/目录标识符、网络区域标识符、默认点击行为、目标扩展标识符、和证明标识符。动作标识符由开放平台接口的约定来定义,并且定义了针对特定文件类型而允许的操作。动作标识符的示例包括查看、编辑、编辑新的、移动查看、移动处理程序、嵌入查看、呈现(呈现广播)、加入(加入广播)、转换。文件类型描述向其应用动作的文件的类型。在一个实施例中,文件类型由文件扩展名来指定。源URL指定用于确定外部应用服务器的绝对URL的输入数据,该外部应用服务器执行用于匹配文件类型的动作。服务应用标识符是用于标识了服务应用的支持应用(例如,“Microsoft Excel Web App”)的人和机器可读标识符(例如,串值)。网络区域标识符描述了在从特定的网络区域调用时用于动作的特定参数(例如,源URL)。服务应用标识符和网络区域标识符用于对文件类型/操作对进行分组,并且提供了在主机配置用户界面中呈现可用的服务应用的有意义的方式。文件夹/目录标识符为特定动作与文件类型一起使用或代替文件类型来标识该动作的对象。默认点击行为指定在用户选择由服务应用支持的文件类型而不通过用户界面选择具体动作时由主机调用的动作。目标扩展标识符指定用于转换动作的目标文件的文件类型。在一个实施例中,目标扩展标识符由文件扩展名来指定。
注册将每个服务应用118所支持的文件类型、外部应用服务器104对每种被支持的文件类型所支持的操作、和外部应用服务器中用于调用用于每种被支持的文件类型的操作的计算设备的URL相关联。换言之,当主机102连接到外部应用服务器104时,该外部应用服务器104将成对的文件类型和操作的列表与用于调用用于该文件类型的操作的URL一起返回。URL中需要的参数由开放平台接口来定义。
在发现期间,主机基于此时其所理解的约定来选择利用或忽略各个动作。在一个实施例中,主机102在注册成对的文件类型和操作之前,验证它支持对操作的要求。如果主机102不支持该操作和/或不满足主控要求,则不注册成对的文件类型和操作。具体而言,在一些实施例中,主机使用“要求”属性,其指定用于滤除主机无法支持的动作的开放平台接口实现要求。换言之,如果主机不识别或不理解“要求”属性值中列出的全部字段,或选择不支持开放平台接口的约定,则主机不注册(即实现)成对的文件类型和操作,并且不向用户提供该功能。
源URL使用生成与每个动作相关联的有效服务应用入口URL的参数。对于动作,服务应用入口URL参数由开放平台接口中的约定来指定。某些参数是必需的,而其他参数是任选的。在一个示例性实施例中,必需的参数由方括号(“[”和“]”)来界定,而任选的参数由尖括号(“<”和“>”)来界定。如果主机不理解一个必需的参数,则主机不注册动作。相反,如果不理解可选的参数,则主机可以选择注册动作。在此情形中,与可选参数相关联的功能被简单地丢失,但是主机仍然能够提供与主机理解的功能一样多的动作。这个行为提供了不同版本的开放平台接口间的跨版本兼容性的基础。即使对服务应用服务器的升级提供了新的功能,但主机能继续与升级后的服务应用服务器一起工作。主机简单地继续提供对它理解的功能的支持,并忽略它不理解的任何功能。任选参数的示例包括用户界面的语言、对象的用户界面的语言、是否嵌入演示帧、是否允许演示参与者独立地切换幻灯片、以及是否示出幻灯片的缩略图。
主机通常可以从各个网络区域访问。通常通过其在网络内部还是外部以及是否使用传输层安全来描述网络区域。为了全面描述外部应用服务器对主机的功能,发现数据的一个实施例通过网络区域标识符来描述用于一个或多个可能的区域配置的文件类型/操作对。例如,为了与可通过外联网(例如,因特网)和内联网(例如,企业局域网)来访问的主机一起工作,发现数据的一个实施例使用用于内部使用的服务应用URL以及用于外部使用的服务应用URL来描述每个文件类型/操作对。类似的,发现数据的一个实施例使用用于与开放网络协议(例如,HTTP)一起使用的服务应用URL以及容纳允许使用安全和不安全网络协议来访问的主机的安全网络协议(例如,HTTPS)来描述文件类型/操作对。发现数据的另一个实施例使用用于内部/外部和安全/不安全使用(例如,内部-http、外部-http、内部-https、外部-https)的每种组合的服务应用URL来描述每个文件类型/操作对。在一些实施例中,当主机未被配置用于安全网络时,发现约定提供对较低安全区域的后退位置。换言之,如果主机未被配置一个安全网络协议,则使用对应的开放网络协议来更改和注册被指定为使用安全网络协议的服务应用URL。由此,使得服务应用服务器的功能对用户可用,但缺少安全网络协议的好处。
出于简明,外部服务应用发现过程的一个实施例默认将服务应用与在主机中配置的全部区域相关联,并将主机端点允许列表设置成允许全部区域。对服务应用与各个区域间的集成的管理控制通过某些主机可用。在各个实施例中,在服务应用服务器级(即,启用或禁用服务应用服务器所提供的全部服务应用)或在服务应用级(即,选择性地启用或禁用服务应用)禁用集成。当禁用与服务应用服务器/服务应用的集成时,主机不在动态用户界面控件中列出操作或不尝试执行命令。
任选地,被提供给主机的发现数据包括服务应用服务器专用的密码密钥信息。该密码密钥信息为主机提供通过其验证请求实际上是由服务应用服务器作出的机制。当请求到达主机端点时,主机任选地使用该密码密钥信息来确认请求的密码签名。如果该密码签名不能被确认,则主机忽略该请求。
在各个实施例中,主机在外部服务应用发现过程期间实现差错检查。在一个实施例中,如果发现URL是残缺的,则主机生成通知。在另一个实施例中,如果外部应用服务器未响应或无法被定位,则主机生成通知。在又一个实施例中,如果发现响应是残缺的,则主机生成通知。在另一个实施例中,在冲突的情况下(即,如果外部应用服务器尝试注册已经被注册的文件类型),主机生成通知并且不注册服务应用。
在一个实施例中,发现仅在由管理员发起时发生,因此主机和服务应用服务器不会自动地知晓对方的被支持功能的任何变化。在替换的实施例中,一旦主机和服务应用服务器被连接,发现过程就提供用于更新被支持功能的自动化机制。在自动化的发现更新过程的各个实施例中,在周期性的基础上(例如,经调度的轮询)或实时地(例如,推送通知)提供更新。此外,自动化的发现更新过程的各个实施例是在主机侧(例如,周期性地重复发现过程)或服务应用服务器侧(例如,发现服务向主机通知变化)实现的。
对外部应用服务器的包含提供了与主机无关的文档处理服务。这消除了添加新的组件或者在实质上修改支持外部应用服务器的工作主机的配置的需求。通过不修改操作或不向工作主机添加新的组件,将违反工作配置或需要主机大量停机时间的可能最小化。这还允许外部应用服务器被升级、修改、添加或移除,而不需要重新配置主机。这是尤其有益的,因为文档处理应用的新的版本和更新往往比对像主机的核心服务的更新发生的频繁得多。换言之,将企业从仅为了利用对现有文档处理应用的改进、为了添加新开发的或新要求的文档处理应用、或为了移除过时的或被弃用的文档处理应用就修改主机的停机、风险和负担中解脱出来。
本文描述的实施例和功能可经由许多计算系统来操作,诸如上面参考图1所描述的主机102、和外部应用服务器104、和客户机设备110,包括有线和无线计算系统、移动计算系统(如移动电话、图形输入板或平板型计算机、膝上型计算机等)。此外,本文所述的实施例和功能可在分布式系统上操作(如基于云的计算系统),其中应用功能、存储器、数据存储和检索、以及各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类型的用户界面和信息可经板载计算设备显示器或经与一个或多个计算设备相关联的远程显示单元被显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类型的用户界面和信息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算系统的交互包括:键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。图3到5以及相关描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于图3到5所示出和讨论的设备和系统是用于示例的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。
图3是示出可用来实施本发明的各实施例的计算设备300的示例物理组件的框图。下面描述的计算设备组件可适合于上面描述的计算设备,例如主机102、外部应用服务器104、和客户计算设备110。在基本配置中,计算设备300可包括至少一个处理单元302和系统存储器304。取决于计算设备的配置和类型,系统存储器304可包括但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存、或任何组合。系统存储器304可包括操作系统305和一个或多个编程模块306,该编程模块306适合于运行诸如客户机应用(例如,用户代理/web浏览器108)或服务器应用(例如,主机应用112或服务应用118)的应用320。操作系统305例如可适合于控制计算设备300的操作。此外,本发明的实施例可结合图形库、其他操作系统、或任何其他应用程序来实践,并且不限于任何特定应用或系统。该基本配置在图3中由虚线308内的那些组件示出。
计算设备300可具有附加特征或功能。例如,计算设备300还可包括附加数据存储设备(可移动和/或不可移动),诸如例如,磁盘、光盘、或磁带。这些附加存储在图3中由可移动存储309和不可移动存储310示出。
如上所述,可在系统存储器304中存储包括操作系统305在内的多个程序模块和数据文件。当在处理单元302上执行时,编程模块306可执行各个过程,包括例如,外部服务应用发现过程200的各步骤中的一个或多个。上述过程是一个示例,且处理单元302可执行其他过程。根据本发明的实施例可使用的其他编程模块可包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。
一般而言,根据本发明的实施例,程序模块可包括可执行特定任务或可实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的实施例可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的实施例还可在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
此外,本发明的实施例可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实践。例如,可以通过片上系统(SOC)来实施本发明的各实施例,其中,可以将图3中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,服务器应用320或客户机应用322的功能可以通过在单个集成电路(芯片)上集成有计算设备300的其它组件的应用专用逻辑来实现。本发明的实施例还可使用能够执行诸如例如,AND(与)、OR(或)和NOT(非)的逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的实施例可在通用计算机或任何其他电路或系统中实践。
例如,本发明的实施例可被实现为计算机过程(方法)、计算系统、或诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是计算机系统可读并对用于执行计算机过程的指令的计算机程序编码的计算机存储介质。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器304、可移动存储309和不可移动存储310都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或者可用于存储信息且可由计算设备300访问的任何其他介质。任何这样的计算机存储介质可以是设备300的一部分。计算设备300还可具有输入设备312,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括输出设备314,诸如显示器、扬声器、打印机等。上述设备是示例,并且可使用其他设备。
本文所使用的术语计算机可读介质还可包括通信介质。通信媒介可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。计算设备300可包括允许与其他计算设备318通信的通信连接316。合适的通信连接316的示例包括但不限于RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行或串行端口、以及适用于与适用的计算机可读介质一起使用的其他连接。
图4A和4B示出可用来实施本发明的各实施例的合适的移动计算环境,例如移动电话400、智能电话、平板个人计算机、膝上型计算机等。参考图4A,示出了用于实现各实施例的示例移动计算设备400。在基本配置中,移动计算设备400是具有输入元件和输出元件两者的手持式计算机。输入元件可包括允许用户将信息输入到移动计算设备400中的触摸屏显示器405和输入按钮410。移动计算设备400还可结合允许进一步的用户输入的可选的侧面输入元件415。可选的侧面输入元件415可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备400可结合更多或更少的输入元件。例如,在某些实施例中,显示器405可以不是触摸屏。在又一替代实施例中,移动计算设备是便携式电话系统,如具有显示器405和输入按钮410的蜂窝电话。移动计算设备400还可包括可选的小键盘435。可选的小键盘435可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。
移动计算设备400结合输出元件,如可显示图形用户界面(GUI)的显示器405。其他输出元件包括LED光420和扬声器425。另外,移动计算设备400可包含振动模块(未示出),该振动模块使得移动计算设备400振动以将事件通知给用户。在又一实施例中,移动计算设备400可结合耳机插孔(未示出),用于提供提供输出信号的另一手段。
尽管此处组合移动计算设备400来描述,但在替代实施例中,本发明还可组合任何数量的计算机系统来被使用,如在台式环境中、膝上型或笔记本计算机系统、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机等。本发明的实施例也可在分布式计算环境中实践,其中任务由分布式计算环境中通过通信网络链接的远程处理设备来执行;程序可位于本机和远程存储器存储设备中。总而言之,具有多个环境传感器、向用户提供通知的多个输出元件和多个通知事件类型的任何计算机系统可结合本发明的实施例。
图4B是示出在一个实施例中使用的诸如图4A中所示的计算设备之类的移动计算设备的组件的框图。即,移动计算设备400可结合系统402以实现某些实施例。例如,系统402可被用于实现可运行与台式或笔记本计算机的应用类似的一个或多个应用的“智能电话”,这些应用例如浏览器、电子邮件、日程安排、即时消息收发、以及媒体播放器应用。在某些实施例中,系统402被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序466可被加载到存储器462中并在操作系统464上或与操作系统464相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序等等。系统402还包括存储器462内的非易失性存储468。非易失性存储468可被用于存储在系统402断电时不会丢失的持久信息。应用466可使用信息并将信息存储在非易失性存储468中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留在系统402上并被编程为与驻留在主机计算机上的对应同步应用进行交互,以保持存储在非易失性存储468中的信息与存储在主机计算机上的对应信息相同步。如应被理解的,其他应用可被加载到存储器462中且在设备400上运行,包括此处描述的各种客户机和服务器应用。
系统402具有可被实现为一个或多个电池的电源470。电源470还可包括外部功率源,如补充电池或对电池重新充电的AC适配器或加电对接托架。
系统402还可包括执行发射和接收无线电频率通信的功能的无线电472。无线电472通过通信运营商或服务供应商来方便系统402与“外部世界”之间的无线连接。来往无线电472的传输是在操作系统464的控制下进行的。换言之,无线电472接收的通信可通过操作系统464传播到应用程序466,反之亦然。
无线电472允许系统402例如通过网络与其他计算设备通信。无线电472是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制之类的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传送介质。术语已调制数据信号摂是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。如此处所使用的术语“计算机可读介质”包括存储介质和通信介质两者。
系统402的这个实施例被示为具有两种类型的通知输出设备:可用于提供视觉通知的发光二极管(LED)420和可用于与扬声器425一起使用来提供音频通知的音频接口474。这些设备可直接耦合到电源470,使得当被激活时,即使为了节省电池功率而可能关闭处理器460和其它组件,它们也保留一段由通知机制指示的保持通电时间。LED 420可被编程来无限地保持通电,直到用户采取行动指示该设备的通电状态。音频接口474用于向用户提供听觉信号并从用户接收听觉信号。例如,除被耦合到扬声器425以外,音频接口474还可被耦合到话筒以接收听觉输入,诸如便于电话对话。根据各本发明的各实施例,话筒也可充当音频传感器来便于对通知的控制,如下文将描述的。系统402可进一步包括允许板载相机430的操作来记录静止图像、视频流等的视频接口476。
移动计算设备实现系统402可具有附加特征或功能。例如,设备还可包括附加数据存储设备(可移动的/或不可移动的),诸如磁盘、光盘或磁带。这些另外的存储在图4B中由存储468示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
设备400生成或捕捉的且经系统402存储的数据/信息可如上所述本地存储在设备400上,或数据可被存储在可由设备通过无线电472或通过设备400和与设备400相关联的一分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经设备400、经无线电472或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图5示出用于向一个或多个客户机设备提供如上所述的浏览器应用108、主机应用112、和/或服务应用118的系统体系结构。与主机应用112和/或服务应用118相关联地开放、交互或编辑的内容可被存储在不同通信信道或其他存储类型中。例如,可使用目录服务522、web门户524、邮箱服务526、即时消息通信存储528以及社交联网站点530来存储各种文档。如上所述,主机应用112和/或服务应用118可使用用于允许数据利用的这些类型的系统等中的任一个。服务器520可为客户机提供主机应用112和/或服务应用118。作为一个示例,服务器520可以是通过web来提供主机应用112和/或服务应用118的web服务器。服务器520可通过网络515向客户机提供web上的主机应用112和/或服务应用118。可访问主机102的客户机的示例包括计算设备300,计算设备可包括任何通用个人计算机110a、平板计算设备110b和/或诸如智能电话的移动计算设备110c。这些设备中的任一个可从存储516中获得内容。
以上参考例如根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作示图描述了本发明的实施例。框中所注明的各功能/动作可按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可基本同时执行,或者这些框有时可按相反的次序执行。
尽管已描述了本发明的特定实施例,但也可能存在其他实施例。此外,虽然本发明的实施例被描述为与存储在存储器和其他存储介质中的数据相关联,但是数据还可被存储在其他类型的计算机可读介质上或从其读取,诸如辅助存储设备(像硬盘、软盘、或CD-ROM)、来自因特网的载波、或其他形式的RAM或ROM。此外,所公开的方法的各步骤可以任何方式修改,包括通过对各步骤重新排序和/或插入或删除步骤,而不背离本发明。
在各种实施例中,用于在构成本发明的计算设备之间进行通信的网络的类型包括但不限于互联网、内联网、广域网(WAN)、局域网(LAN)、以及虚拟专用网络(VPN)。在本申请中,网络包括企业网络和客户机计算设备用来访问企业网络的网络(即客户机网络)。在一个实施例中,客户机网络是企业网络的一部分。在另一实施例中,客户机网络是通过外部可用的入口点(如网关、远程访问协议、或公共或专用互联网地址)来访问企业网络的一分开的网络。
本申请中提供的一个或多个实施例的描述和说明不旨在以任何方式限制或约束如权利要求所要求保护的发明范围。本申请中提供的实施例、示例和细节被认为是足以传达所有权,且使得他人能够制作并使用所要求保护的发明的最佳模式。所要求保护的发明不应被理解为限制于本申请中所提供的任何实施例、示例或细节。不管是以组合的方式还是分开的方式示出和描述,各种特征(结构上的和方法逻辑上的)旨在被选择性地包括或忽略,以产生具有特定的特征集的实施例。在被提供本申请的描述和说明的情况下,本领域的技术人员能够想象到落在所要求保护的发明的更宽泛方面以及本申请中所具体化的一般发明概念的精神内的替代实施例并不背离该更宽泛的范围。

Claims (10)

1.一种主机发现外部应用服务器的方法,所述外部应用服务器运行允许用户与所选文件类型的文档交互的服务应用,所述方法包括以下步骤:
从所述主机发起对关于服务应用服务器的信息的发现请求;
在所述主机接收发现响应,所述发现响应描述一动作,当所述主机支持所述动作时,所述动作可用来由所述服务应用对所述所选文件类型执行;
在所述主机处解析所述发现响应以了解所述动作;以及
当所述主机支持所述动作时,注册所述动作与所述所选文件类型之间的关联。
2.如权利要求1所述的方法,其特征在于,所述动作至少包括与所述动作相关联的动作标识符、与所述动作相关联的文件类型标识符、和运行所述服务应用的所述服务应用服务器的地址。
3.如权利要求2所述的方法,其特征在于,解析所述发现响应的步骤还包括当所述主机不理解所述动作标识符时确定所述主机不支持所述动作的步骤。
4.如权利要求2所述的方法,其特征在于,所述动作还包括与所述动作相关联的要求参数,所述要求参数指定所述主机为了支持所述动作所必需的功能集。
5.如权利要求4所述的方法,其特征在于,解析所述发现响应的步骤还包括当所述主机缺少所述功能集中指定的至少一个功能时确定所述主机不支持所述动作的步骤。
6.如权利要求2所述的方法,其特征在于,所述信息还包括以下各项中的至少一个:与所述动作相关联的服务应用标识符,与所述动作相关联的网络区域标识符,与所述动作相关联的文件夹/目录标识符,以及与所述动作相关联的目标文件类型标识符。
7.如权利要求1所述的方法,其特征在于,所述证明标识符是所述服务应用服务器已知的、且与所述服务应用服务器已知的私钥相关联的公钥。
8.如权利要求1所述的方法,其特征在于,发起发现请求的步骤还包括指定所述发现请求的发现源的步骤,从包括发现服务和由文件位置标识的文件的组中选择所述发现源,所述发现服务具有由统一资源定位符指定的端点。
9.一种允许主机计算机了解运行软件程序的服务器的方法,所述软件程序允许用户通过web浏览器与文档一起工作,所述方法包括以下步骤:
在主机计算机处,询问关于运行软件程序的服务器的信息,所述软件程序允许用户与文档一起工作,
在主机计算机处,接收描述所述软件程序允许所述用户与所述文档一起工作的方式的信息,所述信息指定了与所述文档一起工作的方式的名称、与所述文档一起工作的方式所支持的文件类型、以及当由用户选择时使所述软件程序知道以使用与所述文档一起工作的方式的地址;
在所述主机计算机处,读完所述信息以了解所述软件程序允许所述用户与所述文档一起工作的方式;
在所述主机计算机处,确定所述主机计算机是否识别与所述文档一起工作的方式的名称;以及
在所述主机计算机处,将所述主机计算机配置成当所述主机计算机识别所述名称时,将所述文件类型和所述地址与同所述文档一起工作的方式相关联。
10.一种用于主机发现外部应用服务器的方法,所述外部应用服务器运行允许用户与所选文件类型的文档交互的服务应用,所述方法包括以下步骤:
定义由开放平台接口理解并支持的已知动作标识符集合,所述开放平台接口由所述主机来实现;
从所述主机发起对关于服务应用服务器的信息的发现请求;
在所述主机处接收发现响应,所述发现响应描述了可由所述服务应用针对所述所选文件类型来执行的动作以及与所述服务应用服务器相关联的证明标识符,所述动作包括与所述动作相关联的动作标识符、与所述动作相关联的文件类型标识符、运行所述服务应用的所述服务应用服务器的地址、与所述动作相关联的要求参数,所述要求参数指定了所述主机执行所述动作所必需的功能集;
在所述主机处解析所述响应以了解所述动作;
当所述主机不支持所述动作时忽略所述动作,因为所述主机缺少所述功能集中指定的至少一个功能、或者所述动作标识符与来自所述已知动作标识符集合中的任一个已知动作标识符不匹配;以及
当所述主机支持所述动作时,注册所述动作与所述文件类型之间的关联。
CN201210364421.3A 2011-09-27 2012-09-26 外部服务应用的发现方法 Active CN102968437B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161539975P 2011-09-27 2011-09-27
US61/539,975 2011-09-27
US13/284,543 2011-10-28
US13/284,543 US9578114B2 (en) 2011-09-27 2011-10-28 External service application discovery method

Publications (2)

Publication Number Publication Date
CN102968437A true CN102968437A (zh) 2013-03-13
CN102968437B CN102968437B (zh) 2016-12-07

Family

ID=47798577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210364421.3A Active CN102968437B (zh) 2011-09-27 2012-09-26 外部服务应用的发现方法

Country Status (1)

Country Link
CN (1) CN102968437B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105308559A (zh) * 2013-03-15 2016-02-03 微软技术许可有限责任公司 动态配置对于动作统一资源标识符的用户体验
CN105429807A (zh) * 2015-12-29 2016-03-23 Tcl集团股份有限公司 局域网资源的访问方法及装置
CN106575305A (zh) * 2014-09-24 2017-04-19 甲骨文国际公司 反向代理服务器内的服务
CN109565518A (zh) * 2016-07-29 2019-04-02 微软技术许可有限责任公司 可互换的内容取回

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1225479A (zh) * 1997-11-21 1999-08-11 国际商业机器公司 基于请求者类型的网页的定制
US20030084045A1 (en) * 2001-11-01 2003-05-01 Flying Wireless, Inc. Systems and protocols for remote file access
US20050125529A1 (en) * 2003-11-24 2005-06-09 Brockway Tad D. Seamless discovery of workstation-installed remote applications from an extranet
CN1853167A (zh) * 2003-09-17 2006-10-25 捷讯研究有限公司 具有可扩展预配置的动态内容处理的系统和方法
US20090150417A1 (en) * 2007-12-05 2009-06-11 Box.Net, Inc. Methods and systems for open source collaboration in an application service provider environment
US20110151840A1 (en) * 2009-12-22 2011-06-23 Michelle Gong Enhanced service discovery mechanism in wireless communication system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1225479A (zh) * 1997-11-21 1999-08-11 国际商业机器公司 基于请求者类型的网页的定制
US20030084045A1 (en) * 2001-11-01 2003-05-01 Flying Wireless, Inc. Systems and protocols for remote file access
CN1853167A (zh) * 2003-09-17 2006-10-25 捷讯研究有限公司 具有可扩展预配置的动态内容处理的系统和方法
US20050125529A1 (en) * 2003-11-24 2005-06-09 Brockway Tad D. Seamless discovery of workstation-installed remote applications from an extranet
US20090150417A1 (en) * 2007-12-05 2009-06-11 Box.Net, Inc. Methods and systems for open source collaboration in an application service provider environment
US20110151840A1 (en) * 2009-12-22 2011-06-23 Michelle Gong Enhanced service discovery mechanism in wireless communication system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105308559A (zh) * 2013-03-15 2016-02-03 微软技术许可有限责任公司 动态配置对于动作统一资源标识符的用户体验
CN106575305A (zh) * 2014-09-24 2017-04-19 甲骨文国际公司 反向代理服务器内的服务
CN106575305B (zh) * 2014-09-24 2020-09-25 甲骨文国际公司 反向代理服务器内的服务
CN105429807A (zh) * 2015-12-29 2016-03-23 Tcl集团股份有限公司 局域网资源的访问方法及装置
CN105429807B (zh) * 2015-12-29 2019-11-29 Tcl集团股份有限公司 局域网资源的访问方法及装置
CN109565518A (zh) * 2016-07-29 2019-04-02 微软技术许可有限责任公司 可互换的内容取回
CN109565518B (zh) * 2016-07-29 2021-08-17 微软技术许可有限责任公司 用于可互换的内容取回的方法和系统

Also Published As

Publication number Publication date
CN102968437B (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
EP2761489B1 (en) External service application discovery method
CA2808275C (en) Distributed computing services platform
US10693708B2 (en) Defining configurable characteristics of a product and associating configuration with enterprise resources
TWI598750B (zh) 利用特徵的多重編輯器或多數版本之合作之方法及用於紀錄相關指令的電腦可讀儲存媒介
CN107836007B (zh) 发现并发布api信息
CN105793840A (zh) 在撰写电子邮件的同时文件预览和许可
AU2001268674A1 (en) Distributed computing services platform
US9195840B2 (en) Application-specific file type generation and use
US20120260195A1 (en) System and method to create a collaborative web-based multimedia contextual dialogue
KR100919606B1 (ko) 분산 컴퓨팅 서비스 플랫폼
BR112015017709B1 (pt) Método para interfaces de programação de aplicação para curação de conteúdo
CN104662537A (zh) 用于固态和非对称访问的集成数据保留策略
CN102902934A (zh) 主机不可知集成和互操作系统
CN109565518A (zh) 可互换的内容取回
CN104081384A (zh) 用于为在线文档提供计算web服务的系统和方法
CN117874375A (zh) 基于云的文档的许可管理
CN102968437A (zh) 外部服务应用的发现方法
CN109313589B (zh) 实现与外部功能的交互
KR101633060B1 (ko) 전화번호를 통하여 클라우드 서버에 접속하여 가족 앨범을 이용할 수 있도록 하는 가족 앨범서비스 제공방법
CN107111635B (zh) 内容传递方法
Debaty et al. Integrating the physical world with the web to enable context-enhanced services
CN102930368A (zh) 容错外部应用服务器
CN105659556A (zh) 通过转换框架控件的认证控件的自动化生产

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1181137

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

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

Effective date of registration: 20150722

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1181137

Country of ref document: HK