CN110546607B - 电子表格应用程序对远程微服务的基于凭据的主动发现 - Google Patents

电子表格应用程序对远程微服务的基于凭据的主动发现 Download PDF

Info

Publication number
CN110546607B
CN110546607B CN201880023383.0A CN201880023383A CN110546607B CN 110546607 B CN110546607 B CN 110546607B CN 201880023383 A CN201880023383 A CN 201880023383A CN 110546607 B CN110546607 B CN 110546607B
Authority
CN
China
Prior art keywords
spreadsheet application
credential information
microservice
list
cloud
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.)
Active
Application number
CN201880023383.0A
Other languages
English (en)
Other versions
CN110546607A (zh
Inventor
C·A·奥特罗
E·S·德拉兹
C·J·格罗斯
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 Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110546607A publication Critical patent/CN110546607A/zh
Application granted granted Critical
Publication of CN110546607B publication Critical patent/CN110546607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

在本文中所描述的技术促进由电子表格应用程序(例如Microsoft
Figure DDA0002222582810000011
)主动地发现远程微服务。在一种实施方式中,公开了一种操作电子表格应用程序以基于凭据信息主动地发现远程微服务的方法。所述方法包括:响应于检测到微服务更新事件而识别与所述电子表格应用程序的用户相关联的凭据信息,以及基于所述凭据信息通过云服务平台主动地发现可用于所述电子表格应用程序的所述用户的一个或多个微服务。所述方法还包括留存包括基于所述凭据可用于所述电子表格应用程序的所述用户的所述一个或多个微服务的列表。

Description

电子表格应用程序对远程微服务的基于凭据的主动发现
背景技术
电子表格应用程序,诸如,例如Microsoft
Figure BDA0002222582790000012
被广泛用在许多领域中,并且对于在当前商务和计算环境中分析数据越来越重要。例如,数据分析师主要使用客户端侧电子表格应用程序作为工具来执行电子表格任务,包括但不限于:对数据进行整理和传输、产生图表、执行复杂计算等。类似地,数据科学团队定期地利用基于云的分析平台(或云服务),诸如,例如
Figure BDA0002222582790000013
Machine Learning(AzureML),来生成并且执行数据科学模型。例如,数据科学团队开发了微服务,例如,web服务或算法,其是经由基于云的分析平台来访问和执行的。
遗憾的是,这些微服务不容易被试图受益于所述数据科学团队的工作的数据分析师获得或发现。此外,即使所述微服务是可发现的,但是使所述微服务可获得会是极其困难的,因为每项个体微服务都必须个体地通过端口输出(或重新编码)为原生电子表格功能。
总体而言,在本文中关于一些先前或相关系统以及其相关联的限制的示例旨在为例示性而非排他性的。在阅读下文后,现有或先前系统的其他限制对于本领域技术人员将是显而易见的。
发明内容
在本文中所讨论的示例涉及由电子表格应用程序,例如由Microsoft
Figure BDA0002222582790000011
来主动地发现远程微服务。在一种实施方式中,公开了一种操作电子表格应用程序以基于凭据信息主动地发现远程微服务的方法。所述方法包括:响应于检测到微服务更新事件而识别与电子表格应用程序的用户相关联的凭据信息;以及基于所述凭据信息通过云服务平台来主动地发现可用于所述电子表格应用程序的用户的一个或多个微服务。所述方法还包括留存包括基于所述凭据可用于所述电子表格应用程序的用户的一个或多个微服务的列表。
本发明的实施例还包括一种计算机可读存储介质,所述计算机可读存储介质包含使一个或多个处理器执行在本文中所描述的方法、所述方法的变型以及其他操作的指令集。
尽管公开了多个实施例,但是根据示出并描述了本发明的例示性实施例的以下具体实施方式,本发明的其他实施例对于本领域技术人员将变得显而易见。如将认识到的,本发明能够在各方面做出修改,所有修改均不背离本发明的范围。因此,附图和具体实施方式将被视为在实质上是例示性的而非限制性的。
提供本发明内容是为了以简化形式介绍一系列概念,在下文的技术公开中进一步描述了这些概念。可以理解的是,本发明内容并非意图识别所要求保护的主题的关键特征或必要特征,也并不意图用于限制所要求保护的主题的范围。
附图说明
为了描述能够获得上述和其他优点以及特征的方式,阐述了更具体的描述并且将通过参考附图中示出的其具体示例来呈现。理解到这些附图仅描绘了典型示例,并且因此不被视为是对本公开范围的限制,因此将通过使用附图以另外的特定性和细节来描述和解释实施方式。
图1描绘了框图,所述框图示出了根据一些实施例的用于对远程微服务的基于凭据的主动发现的示例操作性架构。
图2描绘了根据一些实施例的电子表格应用程序的示例组件。
图3描绘了根据一些实施例的云服务平台的示例组件。
图4描绘了序列图,所述序列图图示了根据一些实施例的示例操作性架构的组件的示例操作。
图5描绘了流程图,所述流程图图示了根据一些实施例的用于基于凭据信息主动地发现远程微服务的电子表格应用程序的示例操作。
图6描绘了流程图,所述流程图图示了根据一些实施例的基于由电子表格应用程序提供的凭据信息提供电子表格应用程序的用户可用的微服务列表的云服务的示例操作。
图7是框图,所述框图图示了适合实施在本文中所公开的技术的计算系统,包括在附图中图示并且在下文的技术公开中所讨论的任何应用程序、架构、元件、过程以及操作性情形和序列。
具体实施方式
在下文中详细讨论了各示例。尽管讨论的是具体实施方式,但是应当理解,这仅仅是出于说明目的而进行的。相关领域的技术人员将认识到,在不背离本公开的主题的主旨和范围的情况下,可以使用其他组件和配置。实施方式可以是机器实施的方法、计算设备或计算机可读介质。
本技术的各实施例总体涉及主动地发现远程微服务作为电子表格应用程序中的原生功能。更具体而言,所述技术描述了一种客户端侧电子表格应用程序,其能够使用与电子表格应用程序的用户或电子表格应用程序自身相关联的访问权,从基于云的分析平台(或云服务),例如Azure Machine Learning,来访问例如微服务的功能。
在一些实施例中,电子表格应用程序向基于云的分析平台(或云服务平台)传送用户的凭据或者从用户的凭据推导出的凭据信息。所述基于云的分析平台使用所述凭据信息来识别可用于所述用户的微服务(或功能)并且提供电子表格应用程序。
基于云的分析平台然后为电子表格应用程序提供关于可用于向所述用户暴露的可用微服务(或功能)的信息。
如在本文中所讨论的,能够从基于云的分析平台管理访问权限。例如,来自包括数据科学家或分析师的多学科团队的数据科学家能够生成微服务(例如,算法)并且基于用户凭据向其他团队成员(包括分析师和其他数据科学家)许可或者以其他方式分配访问权限。然后,所述微服务能够由电子表格应用程序基于与那些应用程序的用户相关联的对应凭据信息来主动地发现。
由在本文中所讨论的技术实现的至少一个技术效果是多学科团队动态地受益于彼此的工作的能力。更具体而言,所述技术通过动态地发现可用于数据科学家并且对数据科学家有用的算法而在数据科学家与分析师之间搭建桥梁,从而解决了现有技术的问题。
在以下说明中,出于解释的目的,阐述了许多具体细节以便提供对本技术的实施例的透彻理解。然而,对于本领域技术人员将显而易见的是,本技术的实施例可以在没有这些具体细节中的一些具体细节的情况下实施。尽管为了方便起见参考电子表格应用程序对远程微服务的基于凭据的主动发现来描述本技术的实施例,本技术的实施例同样适用于各种其他应用程序,例如定位器械。
本文介绍的技术能够被实现为专用硬件(例如,电路)、利用软件和/或固件适当编程的可编程电路或者专用电路与可编程电路的组合。从而,实施例可以包括在其上存储有指令的机器可读介质,所述指令可以用于对计算机(或其他电子设备)进行编程以执行过程。机器可读介质可以包括但不限于:软盘、光盘、紧致盘只读存储器(CD-ROM)、磁光盘、ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁卡或光卡、闪存存储器或者适于存储电子指令的其他类型介质/机器可读介质。
短语“在一些实施例中”、“根据一些实施例”、“在所示的实施例中”、“在其他实施例中”等通常意指该短语之后的特定特征、结构或特性被包括在本技术的至少一种实施方式中,并且可以被包括在超过一种实施方式中。另外,这样的短语未必指代相同的实施例或不同的实施例。
图1描绘了框图,所述框图图示了根据一些实施例的用于对远程微服务的基于凭据的主动发现的示例操作性架构100。更具体而言,图1的示例图示了电子表格应用程序115用于基于凭据信息获得可用于用户的微服务的列示或列表151的操作,所述用户例如是电子表格应用程序115的用户A。示例操作性架构100包括客户端设备110、云服务平台150和数据科学团队120。云服务平台150包括凭据存储容器152和微服务存储容器154。云服务平台150执行云服务155。包括更少或额外组件的备选配置是可能的。
如在图1的示例中所示的,在具有电子表格应用程序115的客户端设备110上打开工作簿117。电子表格应用程序115能够包括在客户端设备110上运行的GUI(图形用户界面)的功能,所述客户端设备例如是PC、移动电话设备、web服务器或者其他应用服务器。这样的系统可以在支持基于云的微服务作为电子表格应用程序115之内的原生功能的上下文中采用一个或多个虚拟机、容器或者任何其他类型的虚拟计算资源,图7的计算系统701是其代表。电子表格应用程序115包括存储容器116。如在本文中所讨论的,存储容器116被配置为存储或留存可用于用户(例如,电子表格应用程序115的用户A)的微服务的列表151。
云服务平台150执行云服务155。云服务平台150代表被配置为方便电子表格应用程序基于与所述电子表格应用程序的用户相关联的凭据信息主动地发现微服务(例如,web服务或算法)的任何云服务或服务的集合。例如,云服务平台150能够是方便微服务的生成、访问和执行的基于云的分析平台,诸如,例如
Figure BDA0002222582790000052
Machine Learning(AzureML)。其他基于云的平台也是可能的。在操作中,云服务平台150的用户,例如,数据科学团队的成员,能够使用云服务平台150来开发、访问和执行微服务。所述微服务均能够具有相关联的访问权限,所述访问权限被存储在凭据存储容器152中。所述访问权限能够由例如数据科学团队120的成员分配到每个微服务,允许数据科学团队120的成员向团队的其他成员,例如向其他数据科学家以及不同团队的其他用户,例如数据分析师,来提供访问权。操作电子表格应用程序115的数据分析师,例如用户A,然后能够请求并且随后访问列表151。
云服务平台150可以包括服务器计算机、刀片服务器、机架服务器以及适合于执行服务或服务集合并且用于与服务的用户进行交互的任何其他类型的计算系统(或者其集合)。云服务平台150能够包括在PC、移动电话设备、web服务器或者甚至其他应用服务器上运行的GUI(图形用户界面)。这样的系统可以在支持服务或服务集合(例如分析平台)的上下文中采用一个或多个虚拟机、容器或者任何其他类型的虚拟计算资源,图7的计算系统701是其代表。
如在图1的示例中所示的,数据科学团队120包括成员用户B、C和D,每个成员用户分别操作对应的客户端系统110B、110C和110D。要意识到,数据科学团队120能够包括任意数量的成员,例如,多于或少于在图1的示例中所示的三个成员。数据科学团队120的成员,例如用户B、用户C和用户D,能够利用云服务平台150,例如,基于云的分析平台,诸如例如
Figure BDA0002222582790000051
Machine Learning(AzureML),来生成和执行数据科学模块。
在操作中,数据科学团队120的成员,例如用户C,在运行于云服务平台150上的云服务155上开发包括至少一个微服务(例如,web服务或算法)的数据科学模型。如在本文中所讨论的,创建微服务的数据科学团队的成员还能够提供针对微服务的访问权限。能够从云服务155,例如从基于云的分析平台,来管理所述访问权限。例如,数据科学团队120的成员能够基于用户凭据向包括数据分析师和其他数据科学家的其他用户(其他团队和非团队成员)许可或者以其他方式分配访问权限。
如在图1的示例中所示的,数据科学团队120的创建微服务的成员,例如用户C,也能够提供访问权限信息,许可例如数据分析师的用户A对微服务的访问权。在一些实施例中,云服务155然后向数据科学团队120的成员,例如用户C,提供已经在云服务平台150上成功创建并且留存微服务的确认。
一旦被留存,就能够基于与电子表格应用程序115的用户(例如,用户A)相关联的凭据信息由电子表格应用程序115主动地发现所述微服务。开始,发现过程包括由电子表格应用程序115监测微服务更新事件的发生(步骤3)。如在本文中所讨论的,所述微服务更新事件可以包括电子表格应用程序的启动、空闲事件、电子表格应用程序在阈值时段内发生的连续操作或者通过电子表格的用户的人工干预等。
响应于检测到微服务更新事件,电子表格应用程序识别用于向云服务155提供的凭据信息(步骤4)。如在本文中所讨论的,所述凭据信息能够与电子表格应用程序的用户(例如,用户A)相关联,或者在一些情况下,与电子表格应用程序自身相关联。电子表格应用程序115然后基于所述凭据信息通过云服务平台150开始对电子表格应用程序115的用户可用的一个或多个微服务进行主动发现。发现过程能够包括请求可用于用户A的微服务(步骤5)。在一些实施例中,电子表格应用程序115首先使用凭据信息执行认证流程。例如,所述认证流程能够包括发送针对认证的请求以及响应性地接收访问令牌。在一些实施例中,云服务平台150执行认证;然而,其他认证平台或引擎(未示出)也是可能的。
接下来,响应于对用户可用的微服务的请求,云服务155使用凭据信息来识别用户基于凭据信息具有访问权的微服务。云服务155生成包含可用微服务的列表151并且向电子表格应用程序115提供该列表151(步骤6)。最后,所述电子表格应用程序在存储容器116中留存列表151(步骤7)。
图2描绘了根据一些实施例的电子表格应用程序200的示例组件。电子表格应用程序200能够是图1的电子表格应用程序115,但是备选的配置是可能的。参考图2所描述的组件、模块和/或引擎所代表的功能能够逐个地或者以其任意组合部分或完全地以硬件、软件或者以硬件与软件的组合来实施。
如在图2的示例中所图示的,电子表格应用程序200包括微服务更新组件210、凭据识别组件220、认证组件230、发现组件240以及能够包括列表251的存储容器组件216。列表251基于凭据信息,例如用户凭据或者某种其他凭据信息,来识别电子表格应用程序200的用户可用的微服务(过往发现)。列表251可以是图1的列表151,但是备选的配置是可能的。其他系统、数据库和/或组件也是可能的。在一些实施例中,能够忽略一些或全部组件。
微服务更新组件210被配置为确定何时更新可用的微服务或者检测微服务更新事件。如在本文中所讨论的,微服务更新事件能够包括电子表格应用程序的启动、空闲事件、电子表格应用程序在阈值时段内发生的连续操作或者通过电子表格用户的人工干预等。
凭据识别组件220被配置为识别与电子表格应用程序的用户相关联的凭据信息。在一些实施例中,响应于检测到微服务更新事件而发生识别,然而,该过程能够在各种时间发生。如在本文中所讨论的,所述凭据信息能够与电子表格应用程序的用户(例如,图1的用户A)相关联,或者在一些情况下与电子表格应用程序自身相关联。在一些实施例中,所述凭据信息能够包括云服务账户凭据。例如,所述凭据信息能够包括针对AzureML云服务的Managed Service Account(MSA)/Azure Active Directory(AAD)。凭据信息的其他示例或形式也是可能的。
认证组件230被配置为使用所述凭据信息来执行认证流程。例如,所述认证流程能够包括发送针对认证的请求以及响应性地接收访问令牌。参考图4更详细地示出和讨论了示例认证。
发现组件240被配置为基于所述凭据信息通过云服务平台主动地发现对电子表格应用程序的用户可用的一个或多个微服务。所述发现能够包括在存储容器216中接收并且留存可用微服务的列表251。存储容器216能够是图1的存储容器116,但是备选的配置是可能的。
图3描绘了根据一些实施例的云服务平台300的示例组件。云服务平台300能够是图1的云服务平台150,但是备选的配置是可能的。参考图3所描述的组件、模块和/或引擎所代表的功能能够个体地或者以其任意组合部分或完全地以硬件、软件或者以硬件与软件的组合来实施。
如在图3的示例中所图示的,所述云服务平台包括活动目录310、资源管理器320、凭据存储容器352以及微服务存储容器354。其他系统、数据库和/或组件也是可能的。在一些实施例中,可以忽略一些或全部组件。
活动目录310与凭据存储容器352接口连接。如在图3的示例中所示的,凭据存储容器352包括识别与对应凭据信息相关联的云服务账户的表格353。类似地,微服务存储容器354包括识别针对每个云服务账户可用的微服务的表格355。如在本文中所讨论的,用户,例如用户A,能够具有云服务平台300中的多个账户。因此,当利用电子表格应用程序的凭据(例如,Office凭据)访问云服务平台300时,所述系统可以识别与用户相关联的超过一个云服务账户。例如,如在图3的示例中所示的,云服务账户#A和#B两者都与凭据cred.#001相关联。
资源管理器320与微服务存储容器354接口连接。如在图3的示例中所示的,每个云服务账户都能够包括可用于云服务账户的用户的微服务。例如,云服务账户#A与微服务MS#2、#10和#12相关联。如在本文中所讨论的,在一些实施例中,向电子表格应用程序提供的微服务的列表包括经由超过一个云服务账户可用于用户的微服务。
图4描绘了序列图400,其图示了根据一些实施例的示例操作性架构100的组件的示例操作。如在图4的示例中所示的,序列图400包括:电子表格应用程序,例如,电子表格应用程序115;以及电子表格应用程序的各种组件,例如云服务平台300的活动目录310和资源管理器320。如在本文中所讨论的,云服务平台300能够包括额外的或更少的组件。
一开始,电子表格应用程序115识别与电子表格应用程序的用户相关联的凭据信息。所述电子表格应用程序然后能够生成包括凭据信息的认证请求,并且发送所述认证请求以递送到云服务平台300的活动目录310以供认证。活动目录310执行对用户的认证流程。当用户被认证时,如在图4的示例中所示的,活动目录310为电子表格应用程序提供认证令牌。如果用户没有被认证,则不为所述电子表格应用程序提供令牌,并且所述电子表格应用程序不能够如在在本文中所讨论的主动地发现云服务平台中可用于用户的微服务。
所述电子表格应用程序接收令牌并且作为响应而生成针对可用微服务的请求。所述电子表格应用程序然后发送所述请求以递送到云服务平台300的资源管理器320。如在本文中所讨论的,所述请求包括凭据信息和接收到的访问令牌。资源管理器320接收所述请求、处理所述令牌以确保所述请求是有效的、并且基于所述凭据信息来生成可用微服务的列表。最后,电子表格应用程序115接收可用于所述电子表格应用程序的用户的一个或多个微服务的列表并且在存储器中留存该所述列表。
图5描绘了流程图,所述流程图图示了根据一些实施例的用于基于凭据信息主动地发现远程微服务的电子表格应用程序的示例操作500。示例操作500可以在各实施例中由电子表格应用程序(诸如例如图1的电子表格应用程序115)或者一个或多个处理器、扩展件、模块、引擎、组件或者与其相关联的工具来执行。
一开始,所述电子表格应用程序监测微服务更新事件的发生(步骤501)。所述微服务更新事件是触发动态地获取或发现可用于电子表格应用程序的用户的远程微服务的事件。如在本文中所讨论的,所述微服务更新事件能够是电子表格应用程序最近在客户端设备上被启动的指示。备选地或另外地,能够因为空闲事件、电子表格应用程序在阈值时段内的连续操作或者通过人工用户的干预等而触发所述微服务更新事件。
所述电子表格应用程序然后确定微服务更新事件是否已被检测到(步骤503)。如果未检测到,则流程返回到监测。否则,所述电子表格应用程序识别凭据信息,例如,与电子表格应用程序的用户相关联的用户凭据或者某种其他凭据信息(步骤505)。如在本文中所讨论的,例如而非限制,所述凭据信息能够包括云服务账户凭据。例如,所述凭据信息能够包括针对AzureML云服务的Managed Service Account(MSA)/Azure Active Directory(AAD)。
然后,所述电子表格应用程序使用所述凭据信息来执行认证流程(步骤507)。如在本文中所讨论的,所述认证流程能够包括生成和发送认证请求以供递送到云服务平台。所述请求能够包括凭据信息。响应于发送所述请求,当针对认证的请求被授权时,所述电子表格应用程序接收访问令牌。
然后,所述电子表格应用程序基于凭据信息通过云服务平台主动地发现可用于所述电子表格应用程序的用户的一个或多个微服务(步骤509)。发现过程能够包括生成并且向云服务平台发送针对可用微服务的请求。如在本文中所讨论的,所述请求能够包括访问令牌和/或凭据信息。响应于发送针对可用微服务的请求,所述电子表格应用程序接收列表,例如列表151,其包括可用于所述电子表格应用程序的用户的一个或多个微服务。
最后,所述电子表格应用程序留存可用于所述电子表格应用程序的用户的一个或多个微服务的列表(步骤511)。
图6描绘了流程图,所述流程图图示了根据一些实施例的基于由电子表格应用程序提供的凭据信息来提供电子表格应用程序的用户可用的微服务列表的云服务的示例操作600。在各实施例中可以由云服务(诸如,例如图1的云服务155)或者一个或多个处理器、扩展件、模块、引擎、组件或者与其相关联的工具来执行示例操作600。
一开始,所述云服务接收针对可用于电子表格应用程序的用户的一个或多个微服务的请求(步骤601)。响应于接收到所述请求,所述云服务识别与凭据信息相关联的一个或多个云服务账户(步骤603)。如在本文中所讨论的,所述云服务可以识别与用户凭据相关联的超过一个云服务账户。一旦识别了与凭据信息相关联的云服务账户,然后所述云服务就识别与云服务账户相关联的一个或多个微服务(605)。最后,所述云服务基于凭据信息生成包括可用的一个或多个微服务的列表,并且将所述列表提供给电子表格应用程序。
图7图示了计算系统701,计算系统701是在其中可以实施在本文中所公开的各种应用程序、服务、方案以及过程的任意系统或系统集合的代表。例如,计算系统701可以包括服务器计算机、刀片服务器、机架服务器以及适合于执行在本文中所描述的增强的协作操作的任何其他类型计算系统(或者其集合)。这样的系统可以在支持增强的分组协作上下文中采用一个或多个虚拟机、容器或者任何其他类型的虚拟计算资源。
计算系统701可以被实施为单个装置、系统或设备,或者可以以分布式方式实施为多个装置、系统或设备。计算系统701包括但不限于:处理系统702、存储系统703、软件705、通信接口系统707以及用户接口系统709。处理系统702与存储系统703、通信接口系统707以及任选的用户接口系统709操作性地耦合。
处理系统702从存储系统703加载并且执行软件705。当由处理系统702执行以在基于多租户云的内容和协作环境中部署基于范围的证书时,软件705指示处理系统702如在本文中所描述地至少针对各种过程、操作情形以及在前述实施方式中讨论的序列来操作。计算系统701可以任选地包括为了简洁而没有讨论的额外设备、特征或功能。
仍然参考图7,处理系统702可以包括微处理器以及从存储系统703取回并且执行软件705的其他电路。处理系统702可以在单个处理设备内实施,但是也可以跨协作执行程序指令的多个处理设备或子系统分布。处理系统702的示例包括通用中央处理单元、专用处理器和逻辑器件,以及任何其他类型的处理设备、其组合或变型。
存储系统703可以包括由处理系统702可读并且能够存储软件705的任何计算机可读存储介质。存储系统703可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存存储器、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储器或其他磁性存储设备或者任何其他适当的存储介质。在任何情况下,计算机可读存储介质都不是传播的信号。
除了计算机可读存储介质之外,在一些实施方式中,存储系统703还可以包括计算机可读通信介质,在所述计算机可读通信介质上可以向内或向外传输软件705的至少一些。存储系统703可以被实施为单个存储设备,但是也可以跨共同定位或相对于彼此分布的多个存储设备或子系统来实施。存储系统703可以包括额外的元件,诸如能够与处理系统702或可能的其他系统通信的控制器。
软件705可以以程序指令来实施,并且除其他功能之外,当由处理系统702执行时可以指示处理系统702如相对于在本文中图示的各种操作情形、序列和过程所描述地操作。例如,软件705可以包括用于指示所述系统执行参考图2-5所描述的过程的程序指令。
具体而言,所述程序指令可以包括协作或者以其他方式交互以执行在本文中所描述的各种过程和操作情形的各种组件或模块。各种组件或模块可以以经编译或解读的指令来体现,或者以指令的某种其他变型或组合来体现。可以通过同步或异步方式、串行地或并行地、在单线程环境中或多线程环境中、或者根据任何其他适当的执行范式、变型或组合来执行各种组件或模块。软件705可以包括额外的过程、程序或组件,诸如操作系统软件、虚拟机软件或应用程序软件。软件705还可以包括能由处理系统702执行的固件或者某种其他形式的机器可读处理指令。
通常,软件705当被加载到处理系统702中并执行时可以将适当的装置、系统或设备(计算系统701作为代表)整体从通用计算系统转变成专用计算系统。实际上,在存储系统703上编写软件可以转变存储系统703的物理结构。在本说明书的不同实施方式中,物理结构的具体转换可以取决于各种因素。这样的因素的示例可以包括但不限于:用于实施存储系统703的存储介质的技术以及计算机存储介质是被表征为主要存储装置还是被表征辅助存储装置以及其他因素。
例如,如果所述计算机可读存储介质被实施为基于半导体的存储器,软件705可以当在半导体存储器中编写程序指令时,诸如通过转变晶体管、电容器或构成半导体存储器的其他离散电路元件的状态,来转变半导体存储器的物理状态。相对于磁性或光学介质可以进行类似的转变。在不背离本说明书的范围的情况下,物理介质的其他转换也是可能的,其中,提供前述示例仅仅为了方便本讨论。
通信接口系统707可以包括允许通过通信网络(未示出)与其他计算系统(未示出)通信的通信连接和设备。共同允许系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、RF电路、收发器以及其他通信电路。所述连接和设备可以通过通信介质通信以与其他计算系统或系统网络通信,所述通信介质诸如是金属、玻璃、空气或者任何其他适当的通信介质。前述介质、连接和设备是众所周知的,而不需要在这里详细讨论。
用户接口系统709可以包括键盘、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测用户进行的非触摸手势和其他运动的运动输入设备以及能够从用户接收用户输入的其他类似的输入设备和相关联的处理元件。诸如显示器、扬声器、触觉设备的输出设备以及其他类型的输出设备也可以被包括在用户接口系统709中。在一些情况下,输入和输出设备可以被组合在单个设备中,诸如能够显示图像并接收触摸手势的显示器。前述用户输入和输出设备是现有技术中众所周知的,并且不需要在这里详细讨论。在一些情况下,当计算系统701被实施为诸如例如刀片服务器、机架服务器或者任何其他类型计算服务器系统(或其集合)的一个或多个服务器计算机时,可以省略用户接口系统709。
用户接口系统709还可以包括能由处理系统702执行以支持上文所描述的各种用户输入和输出设备的关联的用户接口软件。独立地或者彼此并与其他硬件和软件元件结合,用户接口软件和用户接口设备可以支持图形用户接口、天然用户接口或者可以呈现通往生产应用程序的用户接口的任何其他类型的用户接口。
计算系统701与其他计算系统(未示出)之间的通信可以通过一个或多个通信网络或网络并且根据各种通信协议、协议的组合或者其变型来进行。示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义的网络、数据中心总线、计算底板或者任何其他类型的网络、网络的组合或者其变型。前述通信网络和协议是众所周知的,并且不需要在这里详细讨论。在交换数据、内容或者任何其他类型信息的前述任何示例中,信息的交换可以根据各种公知数据传输协议的任何协议而发生。
在附图中提供的功能框图、操作情形和序列以及流程图表示用于执行本公开的各新颖方面的示范性系统、环境和方法。尽管出于解释简单的目的,在本文中所包括的方法可以是功能图、操作情形或序列或流程图的形式,并且可以被描述为一系列动作,但是要理解和意识到,所述方法不受动作次序的限制,因为一些动作可以根据动作次序发生、以与在本文中所示和所描述的动作次序不同的次序发生和/或与其他动作同时发生。例如,本领域技术人员将理解和意识到,一种方法可以被备选地表示为诸如在状态图中的一系列交互相关的状态或事件。此外,对于新颖的实施方式而言,可能不需要方法中所示的所有动作。
在本文中所包括的描述和附图描绘了具体实施方式,以教导本领域技术人员如何做出并利用最佳选项。出于教导发明原理的目的,一些常规方面已经被简化或省略。本领域技术人员将意识到落在本发明范围之内的这些实施方式的变型。本领域技术人员将意识到,能够通过各种方式组合上文所描述的特征以形成多种实施方式。因此,本发明并不限于上文所描述的具体实施方式,而是仅受权利要求以及其等价物的限制。
从前述公开可以意识到某些发明方面,以下为其各种示例。
示例1:一种操作电子表格应用程序以基于凭据信息主动地发现远程微服务的方法,所述方法包括响应于检测到微服务更新事件而识别与所述电子表格应用程序的用户相关联的所述凭据信息。所述方法还包括:基于所述凭据信息通过云服务平台来主动地发现可用于所述电子表格应用程序的所述用户的一个或多个微服务,并且留存包括基于所述凭据信息可用于所述电子表格应用程序的所述用户的所述一个或多个微服务的列表。
示例2:根据示例1所述的方法,还包括监测所述微服务更新事件的发生。
示例3:根据示例1-2所述的方法,其中,所述微服务更新事件包括所述电子表格应用程序的启动。
示例4:根据示例1-3所述的方法,其中,所述微服务更新事件包括以下中的一项或多项:空闲事件、所述电子表格应用程序在阈值时段内的连续操作或者所述用户的人工干预。
示例5:根据示例1-4所述的方法,还包括使用所述凭据信息来执行认证流程。
示例6:根据示例1-5所述的方法,其中,执行所述认证流程包括:生成包括所述凭据信息的针对认证的请求,发送所述请求以递送到所述云服务平台,以及响应于发送所述请求而当针对认证的所述请求被授权时接收访问令牌。
示例7:根据示例1-6所述的方法,其中,针对认证的所述请求是由所述云服务平台的认证子服务来执行的。
示例8:根据示例1-7所述的方法,其中,主动地发现所述一个或多个微服务包括生成针对可用微服务的请求以递送到所述云服务平台,其中,所述请求包括所述访问令牌。所述方法还包括接收包括可用于所述电子表格应用程序的所述用户的所述一个或多个微服务的所述列表。
示例9:根据示例1-8所述的方法,其中,所述凭据信息与所述云服务平台内的多个账户相关联,并且所述列表包括针对所述云服务平台内的所述多个账户中的每个账户可用于所述用户的微服务。
示例10:一种基于凭据信息从电子表格应用程序主动地发现基于云的微服务的方法,所述方法包括检测微服务更新事件并且响应于所述微服务更新事件而识别所述凭据信息。所述凭据信息与电子表格应用程序的用户相关联。所述方法还包括:响应于检测到所述微服务更新事件,而向云服务平台的资源管理器组件发送针对基于所述凭据信息可用于所述电子表格应用程序的所述用户的一个或多个微服务的列表的请求;并且一旦可用于所述电子表格应用程序的所述用户的一个或多个微服务的所述列表被接收到,就在存储器中留存所述列表。
示例11:根据示例10所述的方法,还包括监测所述微服务更新事件的发生。
示例12:根据示例10-11所述的方法,其中,所述微服务更新事件包括以下中的一项或多项:所述电子表格应用程序的启动、空闲事件、所述电子表格应用程序在阈值时段内的连续操作或者所述用户的人工干预。
示例13:根据示例10-12所述的方法,还包括使用所述凭据信息来执行认证流程。
示例14:根据示例10-13所述的方法,其中,执行所述认证流程包括:生成包括所述凭据信息的针对认证的请求,发送所述请求以递送到所述云服务平台,以及响应于发送所述请求而当针对认证的所述请求被授权时接收访问令牌。
示例15:根据示例10-14所述的方法,其中,针对所述认证的请求是由所述云服务平台的认证子服务来执行的。
示例16:根据示例10-15所述的方法,其中,针对基于所述凭据信息可用于所述电子表格应用程序的所述用户的一个或多个微服务的所述列表的所述请求包括所述访问令牌。
示例17:根据示例10-16所述的方法,其中,所述凭据信息与所述云服务平台内的多个账户相关联,并且所述列表包括针对所述云服务平台内的所述多个账户中的每个账户可用于所述用户的微服务。
示例18:一种装置,包括一个或多个计算机可读存储介质以及存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令当由处理系统执行时指示所述处理系统至少响应于检测到微服务更新事件而识别与电子表格应用程序的用户相关联的凭据信息。所述指令当由所述处理系统执行时还指示处理系统:基于所述凭据信息通过云服务平台主动地发现可用于所述电子表格应用程序的所述用户的一个或多个微服务,并且留存包括基于所述凭据信息可用于所述电子表格应用程序的所述用户的所述一个或多个微服务的列表。
示例19:根据示例18所述的设备,其中,所述程序指令当由所述处理系统执行时还指示处理系统至少使用所述凭据信息来执行认证流程,其中,为了执行所述认证流程,所述程序指令还指示所述处理系统:至少生成包括所述凭据信息的针对认证的请求,发送所述请求以递送到所述云服务平台,并且当针对认证的所述请求被授权时接收访问令牌。
示例20:根据示例18-19所述的设备,其中,为了主动地发现所述一个或多个微服务,所述程序指令当由所述处理系统执行时还指示所述处理系统:生成针对可用微服务的请求以递送到所述云服务平台,并且接收包括可用于所述电子表格应用程序的所述用户的所述一个或多个微服务的所述列表。所述请求包括所述访问令牌。

Claims (12)

1.一种基于与云服务平台的账户相关联的凭据信息来从电子表格应用程序中主动地发现基于云的微服务的方法,所述方法包括:
响应于检测到微服务更新事件:
识别所述凭据信息;
向所述云服务平台发送包括所述凭据信息的请求;
响应于对所述请求的成功授权,接收与所述账户相关联的访问令牌;以及
响应于对包括所述凭据信息和所述访问令牌的附加请求的成功授权,获得包括可用于所述账户的至少一个微服务的列表;以及
响应于获得所述列表,将所述列表留存在存储器中。
2.根据权利要求1所述的方法,还包括:
监测所述微服务更新事件的发生。
3.根据权利要求1所述的方法,其中,所述微服务更新事件包括所述电子表格应用程序的启动。
4.根据权利要求1所述的方法,其中,所述微服务更新事件包括以下中的一项或多项:空闲事件、所述电子表格应用程序在阈值时段内的连续操作或者人工干预。
5.根据权利要求1所述的方法,其中,获得所述列表包括:
生成所述附加请求;
向所述云服务平台发送所述附加请求;以及
响应于对所述附加请求的成功授权而接收所述列表。
6.根据权利要求1所述的方法,其中,对所述请求的成功授权是由所述云服务平台的认证子服务来执行的。
7.根据权利要求1所述的方法,其中,所述云服务平台的账户包括所述云服务平台内的多个账户,并且所述列表包括针对所述云服务平台内的所述多个账户中的每个账户可用的微服务。
8.一种用于从电子表格应用程序中主动地发现基于云的微服务的非暂时性计算机可读存储介质,其上存储有程序指令,所述程序指令当由处理系统执行时指导所述处理系统:
响应于检测到微服务更新事件:
识别凭据信息;
向云服务平台发送包括所述凭据信息的请求;
响应于对包括所述凭据信息的所述请求的成功授权,获得与所述云服务平台的至少一个账户相关联的访问令牌;
向所述云服务平台发送包括所述凭据信息和所述访问令牌的附加请求;
响应于对所述附加请求的成功授权,接收包括至少一个微服务的列表;以及
将所述列表留存在存储器中。
9.根据权利要求8所述的非暂时性计算机可读存储介质,其中,所述微服务更新事件包括以下中的一项或多项:所述电子表格应用程序的启动、空闲事件、所述电子表格应用程序在阈值时段内的连续操作或者人工干预。
10.根据权利要求8所述的非暂时性计算机可读存储介质,其中,为了接收所述列表,所述程序指令当由处理系统执行时指导所述处理系统:
生成所述附加请求;
向所述云服务平台发送所述附加请求;以及
响应于对所述附加请求的成功授权而接收所述列表。
11.根据权利要求8所述的非暂时性计算机可读存储介质,其中,所述云服务平台的账户包括所述云服务平台内的多个账户,并且所述列表包括针对所述云服务平台内的所述多个账户中的每个账户可用的微服务。
12.一种用于从电子表格应用程序中主动地发现基于云的微服务的装置,包括:
一个或多个计算机可读存储介质;以及
存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令当由处理系统执行时指示所述处理系统至少:
响应于检测到微服务更新事件:
识别凭据信息;
向云服务平台发送包括所述凭据信息的请求;
响应于对所述请求的成功授权,获得与所述云服务平台的至少一个账户相关联的访问令牌;
向所述云服务平台发送包括所述凭据信息和所述访问令牌的附加请求;
响应于对所述附加请求的成功授权,接收包括至少一个微服务的列表;以及
将所述列表留存在存储器中。
CN201880023383.0A 2017-04-07 2018-03-29 电子表格应用程序对远程微服务的基于凭据的主动发现 Active CN110546607B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/481,865 2017-04-07
US15/481,865 US10791105B2 (en) 2017-04-07 2017-04-07 Credential-based proactive discovery of remote micro-services by spreadsheet applications
PCT/US2018/024985 WO2018187129A1 (en) 2017-04-07 2018-03-29 Credential-based proactive discovery of remote micro-services by spreadsheet applications

Publications (2)

Publication Number Publication Date
CN110546607A CN110546607A (zh) 2019-12-06
CN110546607B true CN110546607B (zh) 2022-09-27

Family

ID=62063175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880023383.0A Active CN110546607B (zh) 2017-04-07 2018-03-29 电子表格应用程序对远程微服务的基于凭据的主动发现

Country Status (4)

Country Link
US (1) US10791105B2 (zh)
EP (1) EP3607440B1 (zh)
CN (1) CN110546607B (zh)
WO (1) WO2018187129A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10791105B2 (en) * 2017-04-07 2020-09-29 Microsoft Technology Licensing, Llc Credential-based proactive discovery of remote micro-services by spreadsheet applications
US10862979B2 (en) 2017-04-07 2020-12-08 Microsoft Technology Licensing, Llc Techniques for supporting remote micro-services as native functions in spreadsheet applications
CN109359449B (zh) * 2018-10-17 2020-10-30 苏州浪潮智能科技有限公司 一种基于微服务的鉴权方法、装置、服务器及存储介质
US11005718B2 (en) * 2018-11-29 2021-05-11 International Business Machines Corporation Determining capabilities of cognitive entities in a distributed network based on application of cognitive protocols
US10764244B1 (en) * 2019-06-12 2020-09-01 Cisco Technology, Inc. Systems and methods providing a multi-cloud microservices gateway using a sidecar proxy
US11367089B2 (en) * 2020-03-16 2022-06-21 Nice Ltd Genuineness of customer feedback
US11223522B1 (en) * 2021-01-15 2022-01-11 Dell Products L.P. Context-based intelligent re-initiation of microservices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002057932A1 (en) * 2001-01-16 2002-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
CN103246530A (zh) * 2012-01-17 2013-08-14 微软公司 客户端扩展的安装和管理
CN110546607A (zh) * 2017-04-07 2019-12-06 微软技术许可有限责任公司 电子表格应用程序对远程微服务的基于凭据的主动发现

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080078B1 (en) * 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US8151116B2 (en) * 2006-06-09 2012-04-03 Brigham Young University Multi-channel user authentication apparatus system and method
US8839271B2 (en) * 2006-10-11 2014-09-16 International Business Machines Corporation Call stack sampling to obtain information for analyzing idle states in a data processing system
US8788928B2 (en) 2009-07-15 2014-07-22 Clandscale, Inc. System and methodology for development of stream processing applications utilizing spreadsheet interface
US8713584B2 (en) * 2009-08-13 2014-04-29 Google Inc. Event-triggered server-side macros
US8578289B2 (en) 2010-01-28 2013-11-05 Ebay Inc. Application module for managing jobs asynchronously
US8504530B2 (en) 2010-06-26 2013-08-06 Asibo Inc. Global information management system and method
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9367530B2 (en) 2011-01-21 2016-06-14 Jive Software Distributed document co-authoring and processing
US9330080B2 (en) 2011-06-27 2016-05-03 Sap Se Methods and systems to facilitate providing spreadsheet and database data to users via a social network
US9965151B2 (en) 2011-09-09 2018-05-08 Cloudon Ltd. Systems and methods for graphical user interface interaction with cloud-based applications
US9606629B2 (en) 2011-09-09 2017-03-28 Cloudon Ltd. Systems and methods for gesture interaction with cloud-based applications
US9886189B2 (en) 2011-09-09 2018-02-06 Cloudon Ltd. Systems and methods for object-based interaction with cloud-based applications
US20140053234A1 (en) * 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US20130124957A1 (en) 2011-11-11 2013-05-16 Microsoft Corporation Structured modeling of data in a spreadsheet
US9164997B2 (en) 2012-01-19 2015-10-20 Microsoft Technology Licensing, Llc Recognizing cloud content
US8914516B2 (en) 2012-05-08 2014-12-16 Fmr Llc Providing an integrated suite of cloud-based, hosted and internal applications
US20140136937A1 (en) * 2012-11-09 2014-05-15 Microsoft Corporation Providing and procuring worksheet functions through an online marketplace
US9465586B2 (en) 2013-02-27 2016-10-11 Google Inc. Third party application scriptability
US9344508B2 (en) * 2013-03-13 2016-05-17 International Business Machines Corporation Dynamically launching inter-dependent applications based on user behavior
JP2015022120A (ja) * 2013-07-18 2015-02-02 株式会社ジャパンディスプレイ 表示素子及びその製造方法
US20150121462A1 (en) * 2013-10-24 2015-04-30 Google Inc. Identity application programming interface
US9256590B2 (en) 2013-12-17 2016-02-09 Microsoft Technology Licensing, Llc Formula and function generation and use in electronic spreadsheets
US9317674B2 (en) * 2014-02-07 2016-04-19 Bank Of America Corporation User authentication based on fob/indicia scan
US9477833B2 (en) * 2014-09-22 2016-10-25 Symantec Corporation Systems and methods for updating possession factor credentials
US20160085738A1 (en) 2014-09-24 2016-03-24 Microsoft Technology Licensing, Llc Cloud-Based Parallel Computation Using Actor Modules
TW201612831A (en) 2014-09-25 2016-04-01 Univ Chien Hsin Sci & Tech Marketing planning financial system featuring cloud statements generation
US10791097B2 (en) * 2016-04-14 2020-09-29 Sophos Limited Portable encryption format
US10521286B2 (en) 2017-03-23 2019-12-31 Rathinasabapathy Arumugam System and method for interoperable cloud DSL to orchestrate multiple cloud platforms and services
US10862979B2 (en) * 2017-04-07 2020-12-08 Microsoft Technology Licensing, Llc Techniques for supporting remote micro-services as native functions in spreadsheet applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002057932A1 (en) * 2001-01-16 2002-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
CN103246530A (zh) * 2012-01-17 2013-08-14 微软公司 客户端扩展的安装和管理
CN110546607A (zh) * 2017-04-07 2019-12-06 微软技术许可有限责任公司 电子表格应用程序对远程微服务的基于凭据的主动发现

Also Published As

Publication number Publication date
CN110546607A (zh) 2019-12-06
US10791105B2 (en) 2020-09-29
EP3607440B1 (en) 2023-03-08
WO2018187129A1 (en) 2018-10-11
US20180295118A1 (en) 2018-10-11
EP3607440A1 (en) 2020-02-12

Similar Documents

Publication Publication Date Title
CN110546607B (zh) 电子表格应用程序对远程微服务的基于凭据的主动发现
US10862979B2 (en) Techniques for supporting remote micro-services as native functions in spreadsheet applications
JP6828014B2 (ja) 1つまたは複数の署名デバイスに通信可能に接続されたローカルコンピューヒング装置によって実行されるコンピュータ実装方法
CN108370379B (zh) 带有隧道的设备管理方法和系统
WO2018149292A1 (zh) 一种对象聚类方法和装置
EP3917106A1 (en) Method and apparatus for providing authentication session sharing
US10956667B2 (en) Operational transformations proxy for thin clients
US9219710B2 (en) Seamless authentication with proxy servers
KR20150064063A (ko) 컴퓨팅 장치의 보안 식별 및 보안 식별 방법
EP3197132B1 (en) User-specific roaming settings
EP3494664B1 (en) Scope-based certificate deployment
CN113010224B (zh) 前端微服务化方法、装置、计算机设备和存储介质
US20190108163A1 (en) Database expansion system, equipment, and method of expanding database
CN109905431A (zh) 消息处理方法及系统、存储介质、电子设备
US20210096979A1 (en) Client automated transaction testing portal
US10628174B2 (en) Transfer of control of configuration sources
US10970200B2 (en) Test result triage for a failed code validation
US9325500B2 (en) Providing support for multiple authentication chains
CN107657155B (zh) 用于鉴定用户操作权限的方法和装置
JP6736748B2 (ja) 認証を実行するコンピュータ可読記録媒体、システム、及び方法
CN105743890B (zh) 权限信息生成方法和装置
US20140019516A1 (en) Hybrid application environments
CN112491940B (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
CN111092949B (zh) 用于注册设备的方法及装置
US11757976B2 (en) Unified application management for heterogeneous application delivery

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant