CN116569538A - 经由中央网络网格的服务到服务通信和认证 - Google Patents

经由中央网络网格的服务到服务通信和认证 Download PDF

Info

Publication number
CN116569538A
CN116569538A CN202180075736.3A CN202180075736A CN116569538A CN 116569538 A CN116569538 A CN 116569538A CN 202180075736 A CN202180075736 A CN 202180075736A CN 116569538 A CN116569538 A CN 116569538A
Authority
CN
China
Prior art keywords
service
containers
request
access
information associated
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
Application number
CN202180075736.3A
Other languages
English (en)
Inventor
N·A·亚拉尔
A·德里迪
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.)
Genentech Inc
Original Assignee
Genentech Inc
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 Genentech Inc filed Critical Genentech Inc
Publication of CN116569538A publication Critical patent/CN116569538A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及用于经由网络网格的服务到服务通信和认证的技术。特别地,各方面涉及:在网络网格处接收针对第一服务的服务请求,以及获得与所述第一服务相关联的信息。所述信息包括封装所述第一服务的第一容器组的位置。所述网络网格使用所述第一容器组的所述位置来检索特定于所述第一容器组的安全规则。所述网络网格基于所述第一容器组的所述安全规则来将所述服务请求转发给所述第一服务,并且获得来自所述第一服务的所述服务请求的结果。所述结果包括:根据针对封装所述第一服务的所述第一容器组的安全规则和针对封装所述第二服务的第二容器组的安全规则从第二服务获得的子结果。

Description

经由中央网络网格的服务到服务通信和认证
优先权要求
本申请要求于2020年11月10日提交的美国临时申请号63/111,997的权益和优先权,该美国临时申请据此出于所有目的通过引用以其整体并入本文。
技术领域
本公开涉及数字和个性化保健,并且特别地涉及用于在分布式计算环境中经由集中式网络网格(centralized network mesh)进行服务到服务通信和认证的技术。
背景技术
在保健领域,正在开发数据驱动的技术解决方案,以进一步实现个性化保健,同时降低成本。随着保健领域转向个性化医疗服务和解决方案的按需部署系统,保健提供者正在寻求开发人员帮助通过自动化和简化软件部署和服务管理过程来更快地创新解决方案。为了支持保健提供者和服务,开发人员已将分布式计算环境(例如,云计算)视为保健信息技术基础结构标准。云计算具有许多益处,诸如灵活性、成本和能源节约、资源共享和快速部署。例如,云计算能够提供支持各种服务模型(例如,分析即服务(AaaS))内的软件部署和服务管理过程所需的复杂基础结构,这可以有助于促进不同保健提供者之间的通信、协作和协调。云计算还可以帮助保健行业创造更高的经济价值。例如,云计算可以提供快速、灵活、可缩放并具有成本效益的基础结构和应用程序。云计算还可以帮助存储、管理、保护、共享和归档电子健康记录(EHR)、实验室信息系统、药物信息系统和医学图像。
虽然分布式计算环境(诸如云计算)为保健提供者提供了许多益处,但它们的功能与传统存储或信息共享解决方案不同,并且因此形成了它们自己独特的隐私和安全性挑战。云上数据的集中化引起了个人和保健提供者的许多安全性和隐私关切。这种数据的集中化为攻击者提供了一站式机会来窃取数据和拦截动态数据,并且将数据所有权转移给云服务提供者;因此,个人和保健提供者失去了对敏感数据的一些控制。因此,安全性、隐私、效率和可缩放性关切阻碍了云技术的广泛采用。例如,因为用户通过互联网连接来访问数据,所以政府法规(例如,健康保险流通与责任法案(HIPAA)、“良好实践”质量指南和法规(GxP)和通用数据保护法规(GDPR)合规性成为了保健提供者寻求云解决方案以支持软件部署和服务管理过程所面临的独特挑战。因此,需要改进合规的软件部署平台,其被构建以确保受保护的保健信息的机密性、可用性和完整性。
发明内容
在一些实施例中,提供了一种计算机实现的方法,其包括:在网络网格处接收针对第一服务的服务请求;由网络网格从高速缓存或服务注册表获得与第一服务相关联的信息,其中信息包括:包括第一服务的第一容器组(pod)的标识,以及第一容器组在第一分布式计算环境内的位置;由网络网格使用第一容器组的位置来检索针对第一容器组的安全规则,其中安全规则限定:(i)针对第一服务的唯一地址标识符,以及(ii)第一服务被授权与其通信和对其进行访问的服务;由网络网格使用针对第一服务的唯一地址标识符将服务请求转发给第一服务;由网络网格接收来自第一服务的对于与第二服务通信和对第二服务进行访问的访问请求,其中访问请求包括特定于第二服务的安全密钥;由网络网格从高速缓存或服务注册表获得与第二服务相关联的信息,其中信息包括:包括第二服务的第二容器组的标识,以及第二容器组在第一分布式计算环境或第二分布式计算环境内的位置;以及由网络网格使用第二容器组的位置来检索针对第二容器组的安全规则,其中安全规则限定:(i)针对第二服务的唯一地址标识符,以及(ii)第二服务被授权与其通信和对其进行访问的服务;基于针对第一容器组的安全规则和针对第二容器组的安全规则,由网络网格使用针对第二服务的唯一地址标识符将来自第一服务的访问请求转发给第二服务;由网络网格接收来自第一服务的服务请求的最终结果,其中最终结果包括从第二服务获得的子结果;以及由网络网格输出服务请求的最终结果。
在一些实施例中,获得与第一服务或第二服务相关联的信息包括:确定与第一服务或第二服务相关联的信息是否能够从高速缓存获得;当与第一服务或第二服务相关联的信息能够从高速缓存获得时,从高速缓存获得与第一服务或第二服务相关联的信息;当与第一服务或第二服务相关联的信息不能从高速缓存获得时,从注册表获得与第一服务或第二服务相关联的信息;以及响应于从注册表获得与第一服务或第二服务相关联的信息,将与第一服务或第二服务相关联的信息存储在高速缓存中以用于后续请求。
在一些实施例中,安全密钥通过第一服务从保管库(vault)获得,并且第一服务将安全密钥嵌入到访问请求中。
在一些实施例中,来自第一服务的访问请求进一步包括:第二服务的对于代表第一服务执行一个或多个操作和/或获取服务的请求。
在一些实施例中,第二服务代表第一服务执行该一个或多个操作和/或获取服务;并且基于该一个或多个操作的执行和/或服务的获取来生成子结果。
在一些实施例中,在代表第一服务执行该一个或多个操作和/或获取服务之前,第二服务校验安全密钥。
在一些实施例中,第二容器组位于第二分布式计算环境内,该第二分布式计算环境不同于第一分布式计算环境。
在一些实施例中,针对第一容器组的安全规则进一步限定:(i)可用于第一服务的多个实例,以及(ii)哪些实例可用于处理服务请求,并且其中将服务请求转发给第一服务包括:基于针对第一容器组的安全规则来确定可用于处理服务请求的实例;以及将服务请求转发给第一服务的实例中的至少一者。
在一些实施例中,将来自第一服务的访问请求转发给第二服务包括:确定针对第一容器组的安全规则是否将第二服务限定为第一服务被授权与其通信和对其进行访问的服务;确定针对第二容器组的安全规则是否将第一服务限定为第二服务被授权从其接收通信和允许其访问的服务;以及当第二服务为第一服务被授权与其通信和对其进行访问的服务,并且第一服务为第二服务被授权从其接收通信和允许其访问的服务时,将来自第一服务的访问请求转发给第二服务。
在一些实施例中,针对第二容器组的安全规则进一步限定:(i)可用于第二服务的多个实例,以及(ii)哪些实例可用于处理访问请求,并且其中将来自第一服务的访问请求转发给第二服务进一步包括:基于针对第二容器组的安全规则来确定可用于处理访问请求的实例;以及将访问请求转发给第二服务的实例中的至少一者。
在一些实施例中,第一服务包括被部署到一个或多个集群上的一个或多个程序,该一个或多个程序被打包为第一分布式计算环境上的第一容器或第一组容器,并且第一容器或第一组容器被打包为第一容器组,该第一容器组为表示在该一个或多个集群上运行的该一个或多个程序的较高级别结构;并且第二服务包括被部署到一个或多个集群上的一个或多个程序,该一个或多个程序被打包为第一分布式计算环境或第二分布式计算环境上的第二容器或第二组容器,并且第二容器或第二组容器被打包为第二容器组,该第二容器组为表示在该一个或多个集群上运行的该一个或多个程序的较高级别结构。
本公开的一些实施例包括一种系统,其包括一个或多个数据处理器。在一些实施例中,该系统包括包含指令的非暂时性计算机可读存储介质,该指令当在该一个或多个数据处理器上被执行时使该一个或多个数据处理器执行本文公开的一种或多种方法的部分或全部和/或一种或多种过程的部分或全部。本公开的一些实施例包括一种有形地体现在非暂时性机器可读存储介质中的计算机程序产品,其包含指令,该指令被配置为使一个或多个数据处理器执行本文公开的一种或多种方法的部分或全部和/或一种或多种过程的部分或全部。
已采用的术语和表达被用作描述性而非限制性的术语,并且在使用这些术语和表达时,无意排除所示出和描述的特征或其部分的任何等同物,但是应当认识到,在所要求保护的本发明的范围内,各种修改是可能的。因此,应当理解,尽管已通过实施例和任选特征具体地公开了所要求保护的本发明,但是本领域技术人员可以采用本文所公开的概念的修改和变化,并且认为这样的修改和变化在由所附权利要求限定的本发明范围内。
附图说明
结合附图描述本公开:
图1描绘了根据各种实施例的用于提供数据驱动技术解决方案的数字健康平台的图;
图2描绘了根据各种实施例的安全系统的图;
图3描绘了泳道图,其示出了根据各种实施例的用于数字健康平台中的服务到服务通信和认证的过程;并且
图4描绘了流程图,其示出了根据各种实施例的用于经由集中式网络网格环境的服务到服务通信和认证的过程。
在附图中,相似的部件和/或特征可以具有相同的参考标号。此外,可通过在参考标号后面加上破折号和区分相似部位的第二标号来区分相同类型的各种部位。如果说明书中仅使用第一参考标号,则该描述适用于任何一个具有相同的第一参考标号的相似部位,而与第二参考标号无关。
具体实施方式
I.概述
本公开描述了用于分布式计算环境中经由集中式网络网格的服务到服务通信和认证的技术。更具体地,本公开的实施例提供了一种网络网格,该网络网格提供了容器组级联网,以使得服务可以以安全的方式跨多种类型的分布式计算环境来彼此通信。网络网格和容器组级联网保持服务和资源之间的隔离,使得更容易保持对数据存储位置、谁可以访问什么数据、服务或用户在给定时间能够消费什么资源的控制,并且确保正确的服务和资源始终具有正确的访问权限,无论服务或资源在何处运行或存储。
云计算提供了机遇和挑战。与许多其他信息技术解决方案一样,云具有各种安全问题和关切。因为云计算通常在开放和共享的环境中工作,所以其经常容易受到数据丢失、盗窃和恶意攻击的威胁。薄弱的云安全性是阻碍云计算在保健行业中全面普及的重要问题之一。保健专业人员有很多理由不信任云计算,例如,他们无法放弃对他们的医疗记录的控制。组织和云提供者通常将他们的数据存储在位于不同地理位置的不同数据中心中。这代表了一个独特的优势,因为云上的数据存储将是冗余的,并且在不可抗力的情况下,不同的数据中心将有助于从灾难中恢复。另一方面,这一同样的优势也会带来安全性挑战,因为存储在不同位置的数据更容易被盗和丢失。此外,存储在不同位置的数据及其安全性将受到各种国际、地区和地方法规的管控。一般来讲,存在与云计算的使用相关联的许多安全风险,例如,无法分离虚拟用户、身份盗用、特权滥用和不良加密都是这些安全风险中的一部分。
为了解决这些限制和问题,本公开中用于服务到服务通信和认证的技术利用受到通信规则和安全密钥管控的容器组级联网。在数字化和个性化保健环境中,通常存在彼此交互的多个伙伴,并且这些交互需要以安全的方式受到控制,以保持服务和资源之间的隔离和可追溯性。服务为可以由一个或多个伙伴提供的任何服务(例如,保健相关服务,诸如数据分析或作为医疗设备的软件)。资源通常为支持服务的硬件和软件资源(例如,存储和处理单元);然而,应当理解,在某些情况下,资源还可包括数据、算法、模型等(例如,存储在数据存储中的保健相关数据)。为了以安全的方式控制这些交互,提供了容器组级安全规则,其限定允许哪些服务彼此通信以及允许这些服务访问哪些资源。此外,提供了安全密钥(例如,公钥/私钥对),其允许服务获得访问其他服务或资源的权限。这种两层方法由集中式网络网格来促进,该集中式网络网格有权限访问容器组级安全规则和每项服务在一个或多个分布式计算环境中的位置,以便保持服务和资源之间的隔离和可追溯性。例如,当网络网格接收到针对服务的调用时,网络网格基于容器组级安全规则和有关服务位置的信息来将调用路由到适当的服务,并且该服务能够获得经由网络网格访问使用该一个或多个安全密钥和代管(proxy)调用的其他服务和资源的权限,以执行用于提供服务的各种操作。
本公开的一个例示性实施例涉及一种方法,该方法包括:在网络网格处接收来自用户的针对第一服务的服务请求;以及由网络网格从高速缓存或服务注册表获得与第一服务相关联的信息。该信息包括:包括第一服务的第一容器组的标识,以及第一容器组在第一分布式计算环境内的位置。该方法进一步包括:由网络网格使用第一容器组的位置来检索针对第一容器组的安全规则。安全规则限定:(i)针对第一服务的唯一地址标识符,以及(ii)第一服务被授权与其通信和对其进行访问的服务。该方法进一步包括:由网络网格使用针对第一服务的唯一地址标识符将服务请求转发给第一服务;以及由网络网格接收来自第一服务的对于与第二服务通信和对第二服务进行访问的访问请求。访问请求包括特定于第二服务的安全密钥。该方法进一步包括:由网络网格从高速缓存或服务注册表获得与第二服务相关联的信息。该信息包括:包括第二服务的第二容器组的标识,以及第二容器组在第一分布式计算环境或第二分布式计算环境内的位置。该方法进一步包括:由网络网格使用第二容器组的位置来检索针对第二容器组的安全规则。安全规则限定:(i)针对第二服务的唯一地址标识符,以及(ii)第二服务被授权与其通信和对其进行访问的服务。该方法进一步包括:基于针对第一容器组的安全规则和针对第二容器组的安全规则,由网络网格使用针对第二服务的唯一地址标识符将来自第一服务的访问请求转发给第二服务;以及由网络网格接收来自第一服务的服务请求的最终结果。最终结果包括从第二服务获得的子结果。该方法进一步包括:由网络网格将服务请求的最终结果转发给用户。
II.数字健康平台
图1描绘了根据各种实施例的用于提供数据驱动技术解决方案的数字健康平台100的简化图。在示出的实施例中,数字健康平台100包括客户端计算设备105,该客户端计算设备经由包括网络网关120和网络网格125的网络115耦合到基于云的基础结构110。基础结构110适于:使用由云服务提供者140(例如,分布式计算环境)使用各种硬件和云基础结构(例如,私有云或预置云基础结构和公共云基础结构)在放置环(placement ring)135内供应的资源,来执行服务容器组130内的服务或软件应用程序。这些服务或软件应用程序可以作为基于网络的服务或云服务(诸如在AaaS或SaaS模型下)被提供给客户端计算设备105的用户。若干提供者提供云服务,诸如Amazon、Google和Oracle。术语云服务通常用于指代以下服务:该服务可由服务提供者(诸如保健提供者或政府监管实体)的系统(例如,基础结构110)按需并经由通信网络(诸如互联网)提供给用户。因此,消费者可以自行享用由服务提供者提供的云服务,而无需购买单独的许可、支持或支持服务的硬件和软件资源。例如,云服务提供者的系统可以托管该一个或多个程序,并且用户可以经由互联网按需使用该一个或多个程序,而无需用户购买用于执行该一个或多个程序的基础结构资源。云服务被设计为提供对应用程序、资源和服务的简单、可缩放的访问权限。
在一些情况下,操作客户端计算设备105的用户(例如,软件或服务消费者)利用一个或多个客户端应用程序来消费由基础结构110的各种部件145提供的软件产品、服务或系统。在其他情况下,操作客户端计算设备105的用户(例如,开发者)利用一个或多个客户端应用程序来上传针对要由基础结构110的各种部件145提供的软件产品、服务或系统的源代码。部件145包括可以由一个或多个处理器、硬件部件或它们的组合执行的软件部件。应当理解,各种不同的系统配置是可能的,其可以不同于针对数字健康平台100所示出的那些。因此,图1所示的实施例为用于实现数字健康平台的分布式计算环境的一个示例,并且不旨在是限制性的。
客户端计算设备105包括各种类型的计算系统,诸如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息传送设备、传感器或其他感测设备等。这些计算设备可以运行各种类型和版本的软件应用程序和操作系统(例如,MicrosoftApple/>或类UNIX操作系统、Linux或类Linux操作系统,诸如Google ChromeTMOS),包括各种移动操作系统(例如,Microsoft Windows/>Windows/>AndroidTMPalm/>)。便携式手持设备可包括:蜂窝电话、智能手机(例如,)、平板电脑(例如,/>)、个人数字助理(PDA)等。可穿戴设备可包括:FitbitVersaTM智能手表、虚拟现实(VR)或增强现实(AR)系统(诸如magic leap/>HTC/>)以及其他设备。游戏系统可包括:各种手持游戏设备、互联网支持的游戏设备(例如,带或不带/>手势输入设备、Sony/>系统、由/>提供的各种游戏系统等的Microsoft/>游戏控制台)等。客户端设备105可以能够执行各种不同的应用程序(诸如各种互联网相关app、通信应用程序(例如,电子邮件应用程序、短消息服务(SMS)应用程序)),并且可以使用各种通信协议。
网络115为本领域技术人员熟悉的任何类型的网络,其可以支持使用各种可用协议中的任一者的数据通信,包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络架构)、IPX(互联网分组交换)、等。仅作为示例,网络115可以为局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、互联网、虚拟网络、虚拟私有网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外线网络、无线网络(例如,在电气和电子协会(IEEE)1002.11协议集、/>和/或任何其他无线协议中的任一者下运行的网络)和/或这些和/或其他网络的任何组合。
网络网关120为网络节点,该网络节点在以相同或不同协议工作的两个或更多个网络115之间形成安全通道。网络网关120可以使用以下技术中的一者或多者来提供网络安全:用于监测传入和传出网络流量的防火墙、用以提供私有安全通信信道的虚拟私有网络、用于识别网络内的安全缺陷的安全扫描、用于认证和授权服务的访问管理器等。网络网关120使用路由器和管理对各种软件产品、服务或系统的访问(例如,使用服务订阅商业模型)的服务连接器来路由网络流量。网络网格125是本地网络拓扑结构,其中基础结构110(例如,网桥、交换机和其他基础结构设备)直接、动态地和非分层地连接到尽可能多的其他节点,并且相互合作以高效地在设备和节点之间路由数据。网络网格125使用以下技术中的一者或多者来管理连接:负载平衡、产品、服务或系统发现、网络访问、路由和对等、流量镜像等。网络115、网络网关120和网络网格125组合工作以管理从基础结构110流入或流出的所有数据。
部件145包括:一个或多个通用计算机、专用服务器计算机(作为示例,包括PC(个人计算机)服务器、专用服务器、中型服务器、大型计算机、机架安装式服务器(rack-mounted server)等)、服务器场、服务器集群或任何其他适当的布置和/或组合计算机或系统,它们单独地或组合地工作,以通过网络115向客户端计算设备105提供资源、数据、服务或程序。部件145可以进一步包括:运行虚拟操作系统的一个或多个虚拟机,或涉及虚拟化的其他计算架构,诸如可以被虚拟化以保持虚拟存储设备的一个或多个灵活的逻辑存储设备库。在各种实施例中,部件145适于运行提供本公开中描述的功能性的一项或多项服务或软件应用程序。
部件145还包括一个或多个数据储存库。在各种实施例中,这些数据储存库可以用于存储数据和其他信息。例如,数据存储库中的一者或多者可以用于存储用于提供数据驱动技术解决方案(诸如作为医疗设备的软件(SAMD))的信息,以及存储用于校验和部署源代码以实现数据驱动技术解决方案的信息。数据存储库可以驻留在各种位置。例如,由部件使用的数据储存库可以为部件本地的,或者可以远离部件并且经由基于网络的或专用的连接来与部件通信。数据存储库可以为不同的类型。在某些实施例中,由部件使用的数据存储库可以为数据库,例如,集中式数据库、分布式数据库、NoSQL数据库、关系数据库等。这些数据库中的一者或多者可以适于响应于SQL格式的命令而启用存储、更新以及检索往来于数据库的数据。在某些实施例中,数据储存库中的一者或多者也可以由应用程序使用以存储应用程序数据。由应用程序使用的数据存储库可以为不同的类型,诸如,例如,键值存储储存库、对象存储储存库或受文件系统支持的通用存储储存库。
部件145还包括适于运行提供本公开中描述的功能性的一个或多个程序(诸如服务或软件应用程序(例如,作为基于网络的或云服务提供的服务或软件应用程序,或用于实现持续集成和持续部署(CI/CD)系统的应用程序))的计算节点。每个节点为任选地在节点集群内被实现的单个机器的表示。单个机器可以为物理机器(例如,数据中心中的服务器)或被托管在云提供者(诸如Amazon Web ServicesTM(AWS))上的虚拟机,其具有一组一组可被利用的CPU和RAM资源。在集群中,节点将它们的资源汇集在一起以形成更强大的机器。当该一个或多个程序被部署到集群上时,集群智能地进行处置,从而将工作分配给各个节点。如果添加或移除任何节点,则集群可以根据需要转移工作。对于该一个或多个程序或基础结构110,哪些单独的机器正在实际运行代码并不重要。
被部署到一个或多个集群上的该一个或多个程序被打包为容器。容器是被广泛接受的标准,并且可以限定各种图像以用于在基础结构110上部署该一个或多个程序。容器化允许基础结构110创建自足式执行环境。任何程序及其所有依赖关系都可以捆绑成单个文件,并且随后在基础结构110上被共享。创建容器可以以编程方式来完成,从而允许强大的全自动化CI/CD管道被用于校验代码以及在基础结构110上部署代码。这些容器被包裹到被称为容器组130的较高级别结构中。同一容器组130中的容器可以共享相同的资源和本地网络。在一些情况下,容器可以与同一容器组130中的其他容器通信,如同它们在同一机器上一样,同时与其他容器保持一定程度的隔离。容器组130用作基础结构110中的复制单元。如果程序或资源因处理而变得不堪重负并且单个容器组130实例无法承载负载,则基础结构110可以被配置为在必要时将容器组130的新副本部署到集群。即使当未处于重负载之下时,也可能有益的是,使容器组130的多个副本在生产系统中在任何时间运行,以允许负载平衡和故障抵抗。在由该一个或多个云服务提供者140提供的云基础结构系统上供应容器组130的该一个或多个实例。
由该一个或多个云服务提供者140提供的云基础结构系统包括用于促进以下的供应的基础结构资源:支持由基础结构110提供的各种云服务的容器组130的该一个或多个实例。为了促进这些资源的高效利用以供应容器组130的该一个或多个实例,资源可以被捆绑成资源或资源模块的集合(也被称为“放置环135”或“有状态环(stateful ring)135”)。每个资源模块或放置环135可包括一种或多种类型的资源的预先集成和优化的组合。在某些示例中,可以为不同类型的云服务预先供应不同的放置环135。例如,可以为SAMD服务供应第一组放置环135;可以为数据分析服务供应第二组放置环135,其可包括与第一组放置环135中的放置环135不同的资源组合;等等。对于一些云服务,为供应服务而分配的资源可以在服务之间被共享。
数字健康平台100进一步包括一个或多个内核150。内核150适于在由该一个或多个云服务提供者140提供的每个云基础结构系统上运行。内核150为集群管理器,其跨整个数字健康平台100提供跨分布式应用程序或框架的资源分配和隔离。内核150为该一个或多个程序提供应用程序编程接口(API),用于编排服务和软件,包括资源管理和调度。内核150的架构包括:用于运行任务的代理(agent)节点、用于向代理节点发送任务的主节点、用于选举以及用于查找主节点地址的动物园管理员(zookeeper)、以及用以与主节点协调以将任务调度到代理节点上的框架。
数字健康平台100进一步包括CI/CD系统155。CI/CD系统155在云基础结构系统内被实现,并且允许数字健康平台100频繁地更新、测试和递送针对软件产品、服务或系统的源代码内的变化。如本文详细讨论的,在保健行业,存在软件必须遵守的关于数据安全性(例如,数据完整性和数据隐私)的政府法规。在CI/CD系统155中,这些政策法规可以被包含在代码中,从而允许自动地跟踪、校验和重新配置合规性。在SAMD的示例中,数据存储位置、服务器访问控制和活动日志可以被包含在源代码中,使得用户数据可以在软件的整个使用过程中得到保护和管理。在持续集成期间,还可以包括加密和密码保护操作。在持续递送期间,安全和监测工具可以用于跟踪用户活动以及检测可能导致安全威胁的错误。
CI/CD系统155也可以用于供应机器学习模型。机器-学习模型最初使用数据集来被训练,但随着时间的推移,模型可能漂移或者数据可能发生变化,导致需要更新的机器学习模型。如果机器学习模型在软件应用程序内运行,则与软件应用程序相关联的代码可包括针对何时应重新训练机器学习模型的触发器。例如,代码可包括用于以下的指令:当新训练数据可用时,或者当机器学习模型的性能被确定为低于阈值时,以预限定时间间隔重新训练机器学习模型。此外,软件开发人员可以基于监测生产环境中的机器学习模型的性能,或者基于针对模型优化的估计的改善,来在测试环境中探索模型架构和超参数中的变化。当确定机器学习模型被确定为满足性能要求时,CI/CD系统155允许轻松构建、测试和部署到生产环境。
III.安全系统
图2描绘了根据各种实施例的安全系统200(包括相对于图1所述的网络网关120、网络网格125和容器组130)的简化图,该安全系统用于分布式计算环境205中经由集中式网络网格的服务到服务通信和认证。尽管仅示出了单个分布式计算环境,但应理解,可以在数字健康平台内实现多个分布式计算环境,并且每个分布式计算环境将具有其自己的一组部件,如图2所示。在示出的实施例中,安全系统200包括:一个或多个客户端应用程序210(例如,其本身由人类行为者(诸如患者和/或服务消费者)来操纵的设备中的应用程序/软件模块);域名系统(DNS)215;网关220;网络网格225;公共代理230;和私有代理235。公共代理230向用户210提供公共服务。私有代理235包括服务容器组240、保管库245和保管库网关250,它们一起工作来提供私有服务。
客户端应用程序210由用户操作以消费由数字健康平台提供的软件产品、服务或系统。客户端应用程序210可以通过经由分布式计算环境连接器和DNS 215的与数字健康平台的通信(例如,发送请求)来消费软件产品、服务或系统。DNS 215为存储IP地址和其他数据的分层分布式数据库,并且允许通过名称来查找IP地址以将调用转发到IP地址。例如,当来自用户的请求被数字健康平台接收到时,分布式计算环境连接器识别能够满足请求的分布式计算环境,将请求和能够满足请求的分布式计算环境转发给DNS 215,DNS 215查找与分布式计算环境相关联的IP地址和其他数据,并且将请求转发到相关联的分布式计算环境(例如,分布式计算环境205)的网关(例如,网关220)的网关端点。
一旦连接到网关端点,则客户端应用程序210可以参与与授权者(例如,访问管理系统)的通信,以访问会话中的一项或多项服务。为了例示的目的,如本文所述的“会话”包括为用户提供对一项或多项服务的访问权限的会话或访问会话。本文公开的会话可以被称为例如SSO会话、认证会话或为用户提供访问权限的任何其他类型的会话。服务可包括但不限于通过文件、网页、电子内容、文档、网页内容、计算资源或应用程序来提供的访问权限和功能。例如,数字健康平台可包括可访问的服务,诸如软件产品、云服务或系统。可以使用应用程序来对服务进行请求和访问。例如,应用程序可以基于识别所请求服务的URL来请求访问来自服务服务器的服务。如本文所用,当动作被某物“触发”或“基于”某物时,这意味着该动作被触发或至少部分地基于某物的至少一部分。服务可以由一个或多个计算机系统(例如,分布式计算系统)来存储和/或管理。分布式计算系统可以在经由客户端应用程序210对用户进行认证时促进或控制对一项或多项服务的访问。
为了使服务中的一项服务能够被客户端计算设备处的客户端应用程序210访问,请求用户进行认证以建立会话(例如,SSO会话),该会话经由客户端应用程序210为用户提供对服务的访问权限。客户端计算设备通过从授权者请求访问权限来启动身份认证过程。认证过程可包括:客户端计算设备显示一个或多个GUI以接收用户的凭证信息,并且向授权者提交针对认证的请求。认证是基于验证用户的用于针对请求访问的服务所限定的认证的凭证信息来建立的。在尝试访问服务时,用户操作应用程序(例如,客户端应用程序210的一部分或单独的应用程序),该应用程序经由授权者来管理对用户帐户的访问。例如,应用程序可以为可以呈现GUI的访问管理应用程序。使用应用程序和/或客户端应用程序210,用户请求访问一项或多项服务、参与认证并请求修改认证级别。
通过网关220来接收用户的客户端计算设备与授权者之间的通信。网关220支持访问管理服务。例如,SSO网关可以实现一个或多个访问代理,以平衡和/或处置来自客户端应用程序210和授权者的请求。客户端计算设备可以向/从代理发送/接收一个或多个通信,以促进由客户端计算设备对一项或多项服务的访问。授权者可以向/从代理发送/接收一个或多个通信,以促进由客户端计算设备对一项或多项服务的访问。基于凭证信息的成功认证,服务可以供客户端应用程序210访问。在接收凭证信息时,授权者验证所请求的服务是否为需要凭证才能访问的受保护服务。授权者确定对服务的访问是否受到保护。在确定服务未受保护时,授权者授予对服务(例如,公共服务)的访问权限。在确定对服务的访问受到保护时,授权者基于凭证信息经由客户端应用程序210来确定用户的认证。具体地,授权者收集针对一个或多个级别和/或一个或多个认证因素的凭证信息,并且授权者可以验证凭证信息是否匹配以下凭证信息:该凭证信息经注册以使得用户能够经由客户端应用程序210来访问服务。在确定用户的认证时,授权者可以基于许可给用户的访问权限来确定用户是否被授权访问服务。授权者可以向客户端计算设备发送通信,以指示关于是否许可用户访问服务的用户授权。然后,在确定用户经过认证并且任选地被授权访问服务时,服务被启用为用户经由客户端应用程序210可访问的服务。
一旦服务被启用为可供客户端应用程序210访问的服务,则网关220将请求转发给网络网格225。网络网格225为内置于分布式计算环境中的专用层,其管理服务级的通信和联网关切(例如,各种服务如何彼此共享数据)。在理想情况下,服务之间的通信越少越好。然而,并不总是可能避免的,因为服务通常依赖彼此来完成操作。在此类情况下,网络网格225通过以下操作来管理和保护服务之间的通信:(i)使用授权者来认证用户与各种服务之间的后续请求或交互,(ii)任选地加密服务之间的通信,以及(iii)强制执行安全规则或策略(例如,针对同一容器组内的服务之间的通信以及针对不同容器组内的服务之间的通信的容器组级安全规则)。为了促进这些操作,网络网格225包括路由器和适于拦截对服务的调用和服务之间的调用的一个或多个代管,并且被配置有用于控制和路由对服务的调用和服务之间的调用的安全规则或策略。除管理和保护服务之间的通信之外,网络网格225还可提供对服务发现和负载平衡的支持。例如,网络网格225可以从容器组端点检索对应的服务实例库。网络网格225然后将请求发送或路由到特定服务实例,从而记录结果的延迟和响应类型。网络网格225可以基于不同因素来选择最有可能返回快速响应的实例,包括针对最近请求的观察到的延迟。
公共代理230适于提供一项或多项公共服务。尽管这些服务被指定为公共的,但这并不一定意味着对于访问公共服务不需要认证/授权。在一些情况下,对于访问公共服务可能需要认证和/或授权的一个或多个级别或因素。网络网格225管理和保护客户端应用程序210与公共代理230之间的通信。在一些情况下,这包括:在强制执行安全规则或策略的同时,使用授权者对用户与各种公共服务之间的请求或交互进行认证,并且将调用路由到由公共代理230提供的服务以及在这些服务之间路由调用。
私有代理235适于提供包含在服务容器组240内的一个或多个私有服务(例如,具有第一容器组的第一服务以及第二容器组内的第二服务)。网络网格225管理和保护客户端应用程序210和私有代理235之间的通信。在一些情况下,这包括:在强制执行安全规则或策略的同时,将调用路由到由私有代理235提供的服务以及在这些服务之间路由调用。私有代理235利用保管库245和保管库网关250来管理和存储安全密钥或访问密钥,每个服务使用该安全密钥或该访问密钥来与其他服务通信以及对其他服务进行访问。保管库网关250为在服务与保管库245之间形成安全通道的网络节点。保管库网关250可以使用以下技术中的一者或多者来提供保管库网络安全性:用于监测传入和传出网络流量的防火墙、用以提供私有安全通信信道的虚拟私有网络、用于识别网络内的安全漏洞的安全扫描、用于认证和授权服务的访问管理器等。保管库网关250使用路由器和服务连接器来路由保管库流量,该服务连接器管理对保管库和各种秘密(即,安全或访问密钥)的访问。
保管库245管理和存储安全密钥或访问密钥。安全密钥为针对服务与另一服务通信并获得对另一服务的访问权限的短期凭证。安全密钥可以用于签署对另一服务的编程请求(例如,另一服务的应用程序编程接口)。安全密钥由访问标识符和秘密访问密钥组成。与用户名和密码一样,服务必须将访问标识符和秘密访问密钥两者一起使用来认证访问请求。可以使用存储在数据存储中的一个或多个规则或策略(“策略”)来管理安全密钥以控制对服务的访问。策略限定了可以被每项服务访问的其他服务。例如,管理员可以仅允许某些服务被特定服务访问,以便保持服务之间的隔离和/或数据隐私。保管库245基于该一个或多个策略来确定哪些服务获得用于访问其他服务的哪些安全密钥。
IV.用于在数字健康平台上部署服务的技术
图3和图4示出了用于经由集中式网络网格的服务到服务通信和认证的过程和操作。各个实施例可以被描述为过程,该过程被描绘为流程图、流程简图、数据流程图、结构图或框图。尽管流程图可将操作描述为顺序过程,但许多操作也可以并行或同时执行。另外,操作的顺序可以重新布置。流程在其操作完成时终止,但可能具有图中未包括的附加步骤。一个过程可对应于一种方法、一个函数、一个程序、一个子例程、一个子程序等等。当一个过程对应一个函数时,其终止可以对应于该函数返回到调用函数或主函数。
图3和图4中描绘的过程和/或操作可以在由一个或多个处理单元(例如,处理器核)、硬件或它们的组合执行的软件(例如,代码、指令、程序)中被实现。该软件可以存储在存储器中(例如,在存储设备上、在非暂时性计算机可读存储介质上)。图3和图4中的特定系列的处理步骤不旨在受到限制。根据替代性实施例,也可以执行其他顺序的步骤。例如,在替代性实施例中,上文概述的步骤可以以不同的次序来执行。此外,图3和图4所示的各个步骤可包括多个子步骤,该多个子步骤可以以如适合于各个步骤的各种顺序来执行。此外,可以取决于特定应用来添加或移除额外的步骤。本领域普通技术人员将认识到许多变化、修改和替代。
图3示出了用于数字健康平台中的服务到服务通信和认证的过程300。流程图300中描绘的过程可以通过图1和图2中描绘的架构、系统和技术来实现。
在步骤305处,网络网格接收服务请求(例如,来自用户的针对访问服务(诸如服务A)的请求)。网络网格通过确定网络网格是否熟悉服务来解决请求。可以通过确定网络网格是否在高速缓存中具有关于服务的任何数据来做出该确定。高速缓存为存储数据(例如关于各种服务的信息)的硬件或软件部件,使得可以更快地服务于针对该数据的未来请求。存储在高速缓存中的数据可以为针对服务的较早请求的结果或存储在别处的数据的副本。当网络网格在高速缓存中具有关于服务的数据时,网络网格从高速缓存获得数据。数据包括:包括服务(例如,服务A)的一个或多个容器组(例如,容器组A)的标识,以及该一个或多个容器组在分布式计算环境内的位置。位置可包括:运行该一个或多个容器组的特定分布式计算环境、节点、节点集群、节点或集群的实例或它们的组合。数据通知网络网格哪些容器组正在封装服务(例如,管控服务),以及如何联系封装服务的容器组(例如,分布式计算环境内的容器组的IP地址)。
在步骤310处,当网络网格在高速缓存中没有关于服务的数据时,网络网格联系数据注册表以获得关于服务的数据。数据注册表为存储有关在数字健康平台上运行的所有服务(例如,多个分布式计算环境)的数据的单一事实点(a single point of truth)。与高速缓存一样,数据通知网络网格哪些容器组正在封装服务(例如,管控服务),以及如何联系封装服务的容器组(例如,分布式计算环境内的容器组的IP地址)。网络网格从注册表检索到的数据可以被存储在高速缓存内,用于下游处理和未来请求。
在步骤315处,网络网格基于从高速缓存或注册表获得的数据来与封装服务的该一个或多个容器组(例如,容器组A)通信。通信包括来自网络网格的针对该一个或多个容器组的安全规则的请求。安全规则限定:(i)针对服务的唯一地址标识符,以及(ii)该服务被授权与其通信和对其进行访问的服务。例如,针对容器组A的安全规则限定:针对服务A的唯一地址标识符,以及服务A被授权与其通信和对其进行访问的服务。当每个容器组被创建时,每个容器组被指派规则或策略,该规则或该策略管控:由每个容器组封装的服务可以与其通信和对其进行访问的其他容器组或服务。规则或策略可以由管理员(诸如数字健康平台的管理员)来编写。此外,当被创建时,每个服务被指派唯一地址标识符地址。该地址与服务的生命周期相关,并且当服务为活动时不会改变。网络网格和容器组经由唯一地址标识符与服务通信,并且与服务的该通信可以受到规则或策略管控,并被自动地负载平衡到封装服务的容器组的实例。
在步骤320处,从该一个或多个容器组(例如,容器组A)检索到针对该一个或多个容器组的安全规则。该一个或多个容器组接收来自网络网格的针对安全规则的请求,从数据存储设备获得安全规则,并且将安全规则转发给网络网格。
在步骤325处,基于安全规则,服务请求被转发给服务(例如,服务A)。例如,网络网格使用针对服务的唯一地址标识符来与资源通信,并且将资源请求转发给该资源。在一些情况下,网络网格使用唯一地址标识符和与服务相关联的代管来与服务通信,并且将服务请求转发给该服务。然后,该代管可以用于与关于服务请求的服务的任何后续通信。
在步骤330处,服务接收并处理服务请求。处理包括:服务执行一个或多个程序操作,以便满足服务请求。例如,对于服务请求,服务可以执行用于提供服务的一个或多个操作,诸如医疗数据的收集、医疗数据的转变、医疗数据的通信等。在一些情况下,作为满足服务请求的一部分,服务可能需要与其他容器组(例如,容器组B)上的其他服务进行通信以及对该其他服务进行访问(例如,从单独的数据存储设备(诸如服务B)检索数据)。在此类实例中,在步骤335处,服务与保管库连接,以获得用于与另一容器组上的另一服务通信以及对该另一服务进行访问的私密密钥。
在步骤335处,保管库与服务连接,并且使用存储在数据存储中的一个或多个规则或策略来控制对另一服务的访问。例如,在与服务连接时,基于该一个或多个策略,保管库确定服务是否被授权与另一服务通信以及对该另一服务进行访问。当基于该一个或多个策略服务被授权与另一服务通信以及对该另一服务进行访问时,保管库检索用于另一服务的安全密钥,并且在步骤340处将安全密钥转发给服务。当基于该一个或多个策略服务未被授权与另一服务通信以及访问该另一服务时,保管库通知服务其未被授权与另一服务通信以及对该另一服务进行访问。
在步骤345处,当服务被授权与另一服务通信以及对该另一服务进行访问时,服务接收用于另一服务的安全密钥,并且将安全密钥嵌入针对另一服务的访问请求中。例如,服务可以生成访问请求,该访问请求请求另一服务执行一个或多个程序操作,以便帮助满足服务请求。可以使用安全密钥来签署访问请求。
在步骤350处,服务与网络网格传送访问请求。在一些情况下,服务经由与服务相关联的代管与网络网格传送访问请求。服务将访问请求传送到网络网格,因为(i)服务没有针对服务的唯一地址标识符,以及(ii)允许网络网格保持对所有服务到服务通信的控制和安全性。
在步骤355处,网络网格接收并处理来自服务的访问请求。对访问请求的处理类似于相对于步骤305至325描述的对服务请求的处理(图3中未示出)。
在步骤360处,基于针对与服务相关联的容器组(例如,容器组A)的安全规则以及针对与另一服务相关联的容器组(例如,容器组B)的安全规则,网络网格将来自该服务的访问请求转发给该另一服务。在一些情况下,网络网格经由与服务相关联的代管将来自服务的访问请求转发给另一服务。转发包括:网络网格确定针对容器组(例如,容器组A)的安全规则是否将另一服务(例如,服务B)限定为服务(例如,服务A)被授权与其通信和对其进行访问的服务,以及确定针对另一容器组(例如,容器组B)的安全规则是否将服务(例如,服务A)限定为另一服务(例如,服务B)被授权从其接收通信和允许对其进行访问的服务。当另一服务(例如,服务B)为服务(例如,服务A)被授权与其通信和对其进行访问的服务,并且服务(例如,服务A)为另一服务(例如,服务B)被授权从其接收通信和允许对其进行访问的服务时,将来自该服务的访问请求转发给该另一服务。
在步骤365处,另一服务从网络网格接收访问请求,并且校验安全密钥。当安全密钥为无效时,另一服务直接向服务通知无效安全密钥。当安全密钥为有效时,另一服务处理访问请求。处理包括:另一服务执行该一个或多个程序操作,以便帮助满足服务请求。例如,对于服务请求,服务可以执行用于提供服务的一个或多个操作,诸如医疗数据的收集、医疗数据的转变、医疗数据的通信等。
在步骤370处,另一服务将处理访问请求的结果直接传送回该服务。在一些情况下,另一服务经由与服务相关联的代管将访问请求的结果传送给该服务。
在步骤375处,服务接收访问请求的结果,并且将访问请求的结果与服务处理服务请求的结果相结合,以生成针对服务请求的最终结果。然后,服务可以将服务请求的最终结果输出到联网网格,联网网格继而将服务请求的最终结果例如经由网络网关传送给用户。
图4示出了用于经由集中式网络网格的服务到服务通信和认证的过程400。在步骤405处,网络网格接收例如来自用户的针对第一服务的服务请求。在一些情况下,服务请求为针对服务的请求,并且该第一服务为第一服务。第一服务可包括被部署到一个或多个集群上的一个或多个程序,该一个或多个程序被打包为第一分布式计算环境上的第一容器或第一组容器,并且第一容器或第一组容器可以被打包为第一容器组,该第一容器组为表示在该一个或多个集群上运行的该一个或多个程序的较高级别结构。
在步骤410处,网络网格从高速缓存或服务注册表获得与第一服务相关联的信息。该信息包括:包括第一服务的第一容器组的标识,以及第一容器组在第一分布式计算环境内的位置。获取信息可包括:(i)确定与第一服务相关联的信息是否能够从高速缓存获得;(ii)当与第一服务相关联的信息能够从高速缓存获得时,从高速缓存获得与第一服务相关联的信息;(iii)当与第一服务相关联的信息不能从高速缓存获得时,从注册表获得与第一服务相关联的信息;以及(iv)响应于从注册表获得与第一服务相关联的信息,将与第一服务相关联的信息存储在高速缓存中以用于后续请求。
在步骤415处,网络网格使用第一容器组的位置来检索针对第一容器组的安全规则。安全规则限定:(i)针对第一服务的唯一地址标识符,以及(ii)第一服务被授权与其通信和对其进行访问的服务。在一些情况下,安全规则进一步限定:(iii)可用于第一服务的多个实例,以及(iv)哪些实例可用于处理服务请求。
在步骤420处,网络网格基于针对第一容器组的安全规则来将服务请求转发给第一服务。转发包括:(i)基于针对第一容器组的安全规则来确定可用于处理服务请求的实例,以及(ii)使用针对第一服务的唯一地址标识符,将服务请求转发给第一服务的实例中的至少一者。
在步骤425处,网络网格从第一服务接收访问请求以与第二服务通信并对第二服务进行访问。第二服务可包括被部署到一个或多个集群上的一个或多个程序,该一个或多个程序被打包为第一分布式计算环境或第二分布式计算环境上的第二容器或第二组容器,并且第二容器或第二组容器可以被打包为第二容器组,该第二容器组为表示在该一个或多个集群上运行的该一个或多个程序的较高级别结构。访问请求包括特定于第二服务的安全密钥。安全密钥通过第一服务从保管库获得,并且第一服务将安全密钥嵌入到访问请求中。访问请求还可包括以下请求:第二服务代表第一服务执行一个或多个操作和/或获取服务。在一些情况下,访问请求为针对服务的请求,并且该第二服务为第二服务。
在步骤430处,网络网格从高速缓存或服务注册表获得与第二服务相关联的信息。该信息包括:包括第二服务的第二容器组的标识,以及第二容器组在第一分布式计算环境或第二分布式计算环境内的位置。在一些情况下,第二容器组位于第二分布式计算环境内,该第二分布式计算环境不同于第一分布式计算环境。获取信息可包括:(i)确定与第二服务相关联的信息是否能够从高速缓存获得;(ii)当与第二服务相关联的信息能够从高速缓存获得时,从高速缓存获得与第二服务相关联的信息;(iii)当与第二服务相关联的信息不能从高速缓存获得时,从注册表获得与第二服务相关联的信息;以及(iv)响应于从注册表获得与第二服务相关联的信息,将与第二服务相关联的信息存储在高速缓存中以用于后续请求。
在步骤435处,网络网格使用第二容器组的位置来检索针对第二容器组的安全规则。安全规则限定:(i)针对第二服务的唯一地址标识符,以及(ii)第二服务被授权与其通信和对其进行访问的服务。在一些情况下,安全规则进一步限定:(iii)可用于第二服务的多个实例,以及(iv)哪些实例可用于处理服务请求。
在步骤440处,网络网格基于针对第一容器组的安全规则和针对第二容器组的安全规则来将服务请求转发给第二服务。转发包括:(i)确定针对第二容器组的安全规则是否将第二服务限定为第一服务被授权与其通信和对其进行访问的服务;(ii)确定针对第二容器组的安全规则是否将第一服务限定为第二服务被授权从其接收通信和允许其访问的服务;(iii)以及当第二服务为第一服务被授权与其通信和对其进行访问的服务,并且第一服务为第二服务被授权从其接收通信和允许对其进行访问的服务时,使用针对第二服务的唯一地址标识符将来自第一服务的访问请求转发给第二服务。在一些情况下,转发进一步包括:(iv)基于针对第二容器组的安全规则来确定可用于处理访问请求的实例,以及使用针对第二服务的唯一地址标识符将访问请求转发给第二服务的实例中的至少一者。第二服务可以代表第一服务执行该一个或多个操作和/或获取服务,并且可以基于该一个或多个操作的执行和/或服务的获取来生成子结果。在代表第一服务执行该一个或多个操作和/或获取服务之前,第二服务可以校验安全密钥。
在步骤445处,网络网格接收来自第一服务的服务请求的最终结果。最终结果包括从第二服务获得的子结果。
在步骤450处,网络网格输出服务请求的最终结果,并且在一些情况下将最终结果例如传送给用户。
V.其他注意事项
本公开的一些实施例包括一种系统,其包括一个或多个数据处理器。在一些实施例中,该系统包括包含指令的非暂时性计算机可读存储介质,该指令当在该一个或多个数据处理器上被执行时使该一个或多个数据处理器执行本文公开的一种或多种方法的部分或全部和/或一种或多种过程的部分或全部。本公开的一些实施例包括一种有形地体现在非暂时性机器可读存储介质中的计算机程序产品,其包含指令,该指令被配置为使一个或多个数据处理器执行本文公开的一种或多种方法的部分或全部和/或一种或多种过程的部分或全部。
已采用的术语和表达被用作描述性而非限制性的术语,并且在使用这些术语和表达时,无意排除所示出和描述的特征或其部分的任何等同物,但是应当认识到,在所要求保护的本发明的范围内,各种修改是可能的。因此,应当理解,尽管已通过实施例和任选特征具体地公开了所要求保护的本发明,但是本领域技术人员可以采用本文所公开的概念的修改和变化,并且认为这样的修改和变化在由所附权利要求限定的本发明范围内。
随后的描述仅提供优选的示例性实施例,并且不旨在限制本公开的范围、适用性或配置。相反,优选示例性实施例的随后描述将为本领域技术人员提供用于实现各种实施例的可行描述。应当理解,在不脱离所附权利要求中阐述的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
在以下描述中给出具体细节以提供对实施例的透彻理解。然而,应当理解,可以在没有这些具体细节的情况下实践实施例。例如,电路、系统、网络、过程和其他组件可以以框图形式显示为部件,以免在不必要的细节中混淆实施例。在其他情况下,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构和技术以避免混淆实施例。

Claims (33)

1.一种计算机实现的方法,其包括:
在网络网格处接收针对第一服务的服务请求;
由所述网络网格从高速缓存或服务注册表获得与所述第一服务相关联的信息,其中所述信息包括:包括所述第一服务的第一容器组的标识,以及所述第一容器组在第一分布式计算环境内的位置;
由所述网络网格使用所述第一容器组的所述位置来检索针对所述第一容器组的安全规则,其中所述安全规则限定:(i)针对所述第一服务的唯一地址标识符,以及(ii)所述第一服务被授权与其通信和对其进行访问的服务;
由所述网络网格使用针对所述第一服务的所述唯一地址标识符将所述服务请求转发给所述第一服务;
由所述网络网格接收来自所述第一服务的访问请求以与第二服务通信并对第二服务进行访问,其中所述访问请求包括特定于所述第二服务的安全密钥;
由所述网络网格从所述高速缓存或所述服务注册表获得与所述第二服务相关联的信息,其中所述信息包括:包括所述第二服务的第二容器组的标识,以及所述第二容器组在所述第一分布式计算环境或第二分布式计算环境内的位置;以及
由所述网络网格使用所述第二容器组的所述位置来检索针对所述第二容器组的安全规则,其中所述安全规则限定:(i)针对所述第二服务的唯一地址标识符,以及(ii)所述第二服务被授权与其通信和对其进行访问的服务;
基于针对所述第一容器组的所述安全规则和针对所述第二容器组的所述安全规则,由所述网络网格使用针对所述第二服务的所述唯一地址标识符将来自所述第一服务的所述访问请求转发给所述第二服务;
由所述网络网格接收来自所述第一服务的所述服务请求的最终结果,其中所述最终结果包括从所述第二服务获得的子结果;以及
由所述网络网格输出所述服务请求的所述最终结果。
2.根据权利要求1所述的计算机实现的方法,其中获得与所述第一服务或所述第二服务相关联的所述信息包括:
确定与所述第一服务或所述第二服务相关联的所述信息是否从所述高速缓存可获得;
当与所述第一服务或所述第二服务相关联的所述信息从所述高速缓存可获得时,从所述高速缓存获得与所述第一服务或所述第二服务相关联的所述信息;
当与所述第一服务或所述第二服务相关联的所述信息从所述高速缓存不可获得时,从所述注册表获得与所述第一服务或所述第二服务相关联的所述信息;以及
响应于从所述注册表获得与所述第一服务或所述第二服务相关联的所述信息,将与所述第一服务或所述第二服务相关联的所述信息存储在所述高速缓存中以用于后续请求。
3.根据权利要求1或2所述的计算机实现的方法,其中所述安全密钥通过所述第一服务从保管库获得,并且所述第一服务将所述安全密钥嵌入到所述访问请求中。
4.根据权利要求3所述的计算机实现的方法,其中来自所述第一服务的所述访问请求进一步包括:所述第二服务的对代表所述第一服务执行一个或多个操作和/或获取服务的请求。
5.根据权利要求4所述的计算机实现的方法,其中所述第二服务代表所述第一服务执行所述一个或多个操作和/或获取所述服务;并且基于所述一个或多个操作的执行和/或所述服务的获取来生成所述子结果。
6.根据权利要求5所述的计算机实现的方法,其中在代表所述第一服务执行所述一个或多个操作和/或获取所述服务之前,所述第二服务校验所述安全密钥。
7.根据权利要求1至6中任一项所述的计算机实现的方法,其中所述第二容器组位于所述第二分布式计算环境内,所述第二分布式计算环境不同于所述第一分布式计算环境。
8.根据权利要求1至7中任一项所述的计算机实现的方法,其中针对所述第一容器组的所述安全规则进一步限定:(i)可用于所述第一服务的多个实例,以及(ii)哪些实例可用于处理所述服务请求,并且其中将所述服务请求转发给所述第一服务包括:
基于针对所述第一容器组的所述安全规则来确定可用于处理所述服务请求的所述实例;以及
将所述服务请求转发给所述第一服务的所述实例中的至少一者。
9.根据权利要求1至8中任一项所述的计算机实现的方法,其中将来自所述第一服务的所述访问请求转发给所述第二服务包括:
确定针对所述第一容器组的所述安全规则是否将所述第二服务限定为所述第一服务被授权与其通信和对其进行访问的服务;
确定针对所述第二容器组的所述安全规则是否将所述第一服务限定为所述第二服务被授权从其接收通信和允许对其进行访问的服务;
以及当所述第二服务为所述第一服务被授权与其通信和对其进行访问的服务,并且所述第一服务为所述第二服务被授权从其接收通信和允许对其进行访问的服务时,将来自所述第一服务的所述访问请求转发给所述第二服务。
10.根据权利要求9所述的计算机实现的方法,其中针对所述第二容器组的所述安全规则进一步限定:(i)可用于所述第二服务的多个实例,以及(ii)哪些实例可用于处理所述访问请求,并且其中将来自所述第一服务的所述访问请求转发给所述第二服务进一步包括:
基于针对所述第二容器组的所述安全规则来确定可用于处理所述访问请求的所述实例;以及
将所述访问请求转发给所述第二服务的所述实例中的至少一者。
11.根据权利要求1至10中任一项所述的计算机实现的方法,其中:
所述第一服务包括被部署到一个或多个集群上的一个或多个程序,所述一个或多个程序被打包为所述第一分布式计算环境上的第一容器或第一组容器,并且所述第一容器或所述第一组容器被打包为所述第一容器组,所述第一容器组为表示在所述一个或多个集群上运行的所述一个或多个程序的较高级别结构;并且
所述第二服务包括被部署到一个或多个集群上的一个或多个程序,所述一个或多个程序被打包为所述第一分布式计算环境或第二分布式计算环境上的第二容器或第二组容器,并且所述第二容器或所述第二组容器被打包为所述第二容器组,所述第二容器组为表示在所述一个或多个集群上运行的所述一个或多个程序的较高级别结构。
12.一种系统,其包括:
网络网格的一个或多个数据处理器;以及
非暂时性计算机可读存储介质,其包含指令,所述指令当在所述一个或多个数据处理器上被执行时,使所述一个或多个数据处理器执行包括以下的动作:
接收针对第一服务的服务请求
从高速缓存或服务注册表获得与所述第一服务相关联的信息,其中所述信息包括:包括所述第一服务的第一容器组的标识,以及所述第一容器组在第一分布式计算环境内的位置;
使用所述第一容器组的所述位置来检索针对所述第一容器组的安全规则,其中所述安全规则限定:(i)针对所述第一服务的唯一地址标识符,以及(ii)所述第一服务被授权与其通信和对其进行访问的服务;
使用针对所述第一服务的所述唯一地址标识符将所述服务请求转发给所述第一服务;
接收来自所述第一服务的访问请求以与第二服务通信并对第二服务进行访问,其中所述访问请求包括特定于所述第二服务的安全密钥;
从所述高速缓存或所述服务注册表获得与所述第二服务相关联的信息,其中所述信息包括:包括所述第二服务的第二容器组的标识,以及所述第二容器组在所述第一分布式计算环境或第二分布式计算环境内的位置;以及
使用所述第二容器组的所述位置来检索针对所述第二容器组的安全规则,其中所述安全规则限定:(i)针对所述第二服务的唯一地址标识符,以及(ii)所述第二服务被授权与其通信和对其进行访问的服务;
基于针对所述第一容器组的所述安全规则和针对所述第二容器组的所述安全规则,使用针对所述第二服务的所述唯一地址标识符将来自所述第一服务的所述访问请求转发给所述第二服务;
接收来自所述第一服务的所述服务请求的最终结果,其中所述最终结果包括从所述第二服务获得的子结果;以及
输出所述服务请求的所述最终结果。
13.根据权利要求12所述的系统,其中获得与所述第一服务或所述第二服务相关联的所述信息包括:
确定与所述第一服务或所述第二服务相关联的所述信息是否从所述高速缓存可获得;
当与所述第一服务或所述第二服务相关联的所述信息从所述高速缓存可获得时,从所述高速缓存获得与所述第一服务或所述第二服务相关联的所述信息;
当与所述第一服务或所述第二服务相关联的所述信息从所述高速缓存不可获得时,从所述注册表获得与所述第一服务或所述第二服务相关联的所述信息;以及
响应于从所述注册表获得与所述第一服务或所述第二服务相关联的所述信息,将与所述第一服务或所述第二服务相关联的所述信息存储在所述高速缓存中以用于后续请求。
14.根据权利要求12或13所述的系统,其中所述安全密钥通过所述第一服务从保管库获得,并且所述第一服务将所述安全密钥嵌入到所述访问请求中。
15.根据权利要求14所述的系统,其中来自所述第一服务的所述访问请求进一步包括:所述第二服务的对代表所述第一服务执行一个或多个操作和/或获取服务的请求。
16.根据权利要求15所述的系统,其中所述第二服务代表所述第一服务执行所述一个或多个操作和/或获取所述服务;并且基于所述一个或多个操作的执行和/或所述服务的获取来生成所述子结果。
17.根据权利要求16所述的系统,其中在代表所述第一服务执行所述一个或多个操作和/或获取所述服务之前,所述第二服务校验所述安全密钥。
18.根据权利要求12至17中任一项所述的系统,其中所述第二容器组位于所述第二分布式计算环境内,所述第二分布式计算环境不同于所述第一分布式计算环境。
19.根据权利要求12至18中任一项所述的系统,其中针对所述第一容器组的所述安全规则进一步限定:(i)可用于所述第一服务的多个实例,以及(ii)哪些实例可用于处理所述服务请求,并且其中将所述服务请求转发给所述第一服务包括:
基于针对所述第一容器组的所述安全规则来确定可用于处理所述服务请求的所述实例;以及
将所述服务请求转发给所述第一服务的所述实例中的至少一者。
20.根据权利要求12至19中任一项所述的系统,其中将来自所述第一服务的所述访问请求转发给所述第二服务包括:
确定针对所述第一容器组的所述安全规则是否将所述第二服务限定为所述第一服务被授权与其通信和对其进行访问的服务;
确定针对所述第二容器组的所述安全规则是否将所述第一服务限定为所述第二服务被授权从其接收通信和允许对其进行访问的服务;
以及当所述第二服务为所述第一服务被授权与其通信和对其进行访问的服务,并且所述第一服务为所述第二服务被授权从其接收通信和允许对其进行访问的服务时,将来自所述第一服务的所述访问请求转发给所述第二服务。
21.根据权利要求20所述的系统,其中针对所述第二容器组的所述安全规则进一步限定:(i)可用于所述第二服务的多个实例,以及(ii)哪些实例可用于处理所述访问请求,并且其中将来自所述第一服务的所述访问请求转发给所述第二服务进一步包括:
基于针对所述第二容器组的所述安全规则来确定可用于处理所述访问请求的所述实例;以及
将所述访问请求转发给所述第二服务的所述实例中的至少一者。
22.根据权利要求12至21中任一项所述的系统,其中:
所述第一服务包括被部署到一个或多个集群上的一个或多个程序,所述一个或多个程序被打包为所述第一分布式计算环境上的第一容器或第一组容器,并且所述第一容器或所述第一组容器被打包为所述第一容器组,所述第一容器组为表示在所述一个或多个集群上运行的所述一个或多个程序的较高级别结构;并且
所述第二服务包括被部署到一个或多个集群上的一个或多个程序,所述一个或多个程序被打包为所述第一分布式计算环境或第二分布式计算环境上的第二容器或第二组容器,并且所述第二容器或所述第二组容器被打包为所述第二容器组,所述第二容器组为表示在所述一个或多个集群上运行的所述一个或多个程序的较高级别结构。
23.一种有形地体现在非暂时性机器可读存储介质中的计算机程序产品,其包括指令,所述指令被配置为使网络网格的一个或多个数据处理器执行包括以下的动作:
接收针对第一服务的服务请求;
从高速缓存或服务注册表获得与所述第一服务相关联的信息,其中所述信息包括:包括所述第一服务的第一容器组的标识,以及所述第一容器组在第一分布式计算环境内的位置;
使用所述第一容器组的所述位置来检索针对所述第一容器组的安全规则,其中所述安全规则限定:(i)针对所述第一服务的唯一地址标识符,以及(ii)所述第一服务被授权与其通信和对其进行访问的服务;
使用针对所述第一服务的所述唯一地址标识符将所述服务请求转发给所述第一服务;
接收来自所述第一服务的访问请求以与第二服务通信并对第二服务进行访问,其中所述访问请求包括特定于所述第二服务的安全密钥;
从所述高速缓存或所述服务注册表获得与所述第二服务相关联的信息,其中所述信息包括:包括所述第二服务的第二容器组的标识,以及所述第二容器组在所述第一分布式计算环境或第二分布式计算环境内的位置;以及
使用所述第二容器组的所述位置来检索针对所述第二容器组的安全规则,其中所述安全规则限定:(i)针对所述第二服务的唯一地址标识符,以及(ii)所述第二服务被授权与其通信和对其进行访问的服务;
基于针对所述第一容器组的所述安全规则和针对所述第二容器组的所述安全规则,使用针对所述第二服务的所述唯一地址标识符将来自所述第一服务的所述访问请求转发给所述第二服务;
接收来自所述第一服务的所述服务请求的最终结果,其中所述最终结果包括从所述第二服务获得的子结果;以及
输出所述服务请求的所述最终结果。
24.根据权利要求23所述的计算机程序产品,其中获得与所述第一服务或所述第二服务相关联的所述信息包括:
确定与所述第一服务或所述第二服务相关联的所述信息是否从所述高速缓存可获得;
当与所述第一服务或所述第二服务相关联的所述信息从所述高速缓存可获得时,从所述高速缓存获得与所述第一服务或所述第二服务相关联的所述信息;
当与所述第一服务或所述第二服务相关联的所述信息从所述高速缓存不可获得时,从所述注册表获得与所述第一服务或所述第二服务相关联的所述信息;以及
响应于从所述注册表获得与所述第一服务或所述第二服务相关联的所述信息,将与所述第一服务或所述第二服务相关联的所述信息存储在所述高速缓存中以用于后续请求。
25.根据权利要求23或24所述的计算机程序产品,其中所述安全密钥通过所述第一服务从保管库获得,并且所述第一服务将所述安全密钥嵌入到所述访问请求中。
26.根据权利要求25所述的计算机程序产品,其中来自所述第一服务的所述访问请求进一步包括:所述第二服务的对代表所述第一服务执行一个或多个操作和/或获取服务的请求。
27.根据权利要求26所述的计算机程序产品,其中所述第二服务代表所述第一服务执行所述一个或多个操作和/或获取所述服务;并且基于所述一个或多个操作的执行和/或所述服务的获取来生成所述子结果。
28.根据权利要求27所述的计算机程序产品,其中在代表所述第一服务执行所述一个或多个操作和/或获取所述服务之前,所述第二服务校验所述安全密钥。
29.根据权利要求23至28中任一项所述的计算机程序产品,其中所述第二容器组位于所述第二分布式计算环境内,所述第二分布式计算环境不同于所述第一分布式计算环境。
30.根据权利要求23至29中任一项所述的计算机程序产品,其中针对所述第一容器组的所述安全规则进一步限定:(i)可用于所述第一服务的多个实例,以及(ii)哪些实例可用于处理所述服务请求,并且其中将所述服务请求转发给所述第一服务包括:
基于针对所述第一容器组的所述安全规则来确定可用于处理所述服务请求的所述实例;以及
将所述服务请求转发给所述第一服务的所述实例中的至少一者。
31.根据权利要求23至30中任一项所述的计算机程序产品,其中将来自所述第一服务的所述访问请求转发给所述第二服务包括:
确定针对所述第一容器组的所述安全规则是否将所述第二服务限定为所述第一服务被授权与其通信和对其进行访问的服务;
确定针对所述第二容器组的所述安全规则是否将所述第一服务限定为所述第二服务被授权从其接收通信和允许对其进行访问的服务;
以及当所述第二服务为所述第一服务被授权与其通信和对其进行访问的服务,并且所述第一服务为所述第二服务被授权从其接收通信和允许对其进行访问的服务时,将来自所述第一服务的所述访问请求转发给所述第二服务。
32.根据权利要求31所述的计算机程序产品,其中针对所述第二容器组的所述安全规则进一步限定:(i)可用于所述第二服务的多个实例,以及(ii)哪些实例可用于处理所述访问请求,并且其中将来自所述第一服务的所述访问请求转发给所述第二服务进一步包括:
基于针对所述第二容器组的所述安全规则来确定可用于处理所述访问请求的所述实例;以及
将所述访问请求转发给所述第二服务的所述实例中的至少一者。
33.根据权利要求23至32中任一项所述的计算机程序产品,其中:
所述第一服务包括被部署到一个或多个集群上的一个或多个程序,所述一个或多个程序被打包为所述第一分布式计算环境上的第一容器或第一组容器,并且所述第一容器或所述第一组容器被打包为所述第一容器组,所述第一容器组为表示在所述一个或多个集群上运行的所述一个或多个程序的较高级别结构;并且
所述第二服务包括被部署到一个或多个集群上的一个或多个程序,所述一个或多个程序被打包为所述第一分布式计算环境或第二分布式计算环境上的第二容器或第二组容器,并且所述第二容器或所述第二组容器被打包为所述第二容器组,所述第二容器组为表示在所述一个或多个集群上运行的所述一个或多个程序的较高级别结构。
CN202180075736.3A 2020-11-10 2021-11-08 经由中央网络网格的服务到服务通信和认证 Pending CN116569538A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063111997P 2020-11-10 2020-11-10
US63/111,997 2020-11-10
PCT/US2021/058402 WO2022103681A1 (en) 2020-11-10 2021-11-08 Service to service communication and authentication via a central network mesh

Publications (1)

Publication Number Publication Date
CN116569538A true CN116569538A (zh) 2023-08-08

Family

ID=78822325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180075736.3A Pending CN116569538A (zh) 2020-11-10 2021-11-08 经由中央网络网格的服务到服务通信和认证

Country Status (6)

Country Link
US (1) US20240129306A1 (zh)
EP (1) EP4245024A1 (zh)
JP (1) JP2023551382A (zh)
KR (1) KR20230101868A (zh)
CN (1) CN116569538A (zh)
WO (1) WO2022103681A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11057393B2 (en) * 2018-03-02 2021-07-06 Cloudentity, Inc. Microservice architecture for identity and access management
US10805213B2 (en) * 2018-11-19 2020-10-13 International Business Machines Corporation Controlling data communication between microservices
US10986150B2 (en) * 2019-03-01 2021-04-20 Netskope, Inc. Load balancing in a dynamic scalable services mesh

Also Published As

Publication number Publication date
WO2022103681A1 (en) 2022-05-19
US20240129306A1 (en) 2024-04-18
EP4245024A1 (en) 2023-09-20
KR20230101868A (ko) 2023-07-06
JP2023551382A (ja) 2023-12-08

Similar Documents

Publication Publication Date Title
CN106575305B (zh) 反向代理服务器内的服务
EP3391616B1 (en) Device management with tunneling
US10171455B2 (en) Protection of application passwords using a secure proxy
US9124569B2 (en) User authentication in a cloud environment
US9424429B1 (en) Account management services for load balancers
US20150264014A1 (en) Secure scalable multi-tenant application delivery system and associated method
US10116642B2 (en) Identity management over multiple identity providers
JP2018533141A (ja) エンドユーザによって起動されるアクセスサーバ真正性チェック
IL228003A (en) Application system and method
US10484433B2 (en) Virtual communication endpoint services
EP3815329B1 (en) Registration of the same domain with different cloud services networks
US20200358602A1 (en) Systems and methods for securing offline data
US11586721B1 (en) Secure remote access of computing resources
US11477187B2 (en) API key access authorization
WO2016014370A1 (en) Establishing secure computing devices for virtualization and administration
Rahman et al. Blockchain-enabled SLA compliance for crowdsourced edge-based network function virtualization
US20240129306A1 (en) Service to service communication and authentication via a central network mesh
US10567387B1 (en) Systems and methods for managing computing device access to local area computer networks
US11914696B1 (en) Quorum-based access control management
US20220407692A1 (en) Multiple device collaboration authentication
JEEVAN et al. Mobile Cloud Computing Service Models: A User-Centric Approach

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