CN110740118B - 与合作伙伴站点发起会话的协议 - Google Patents

与合作伙伴站点发起会话的协议 Download PDF

Info

Publication number
CN110740118B
CN110740118B CN201910143486.7A CN201910143486A CN110740118B CN 110740118 B CN110740118 B CN 110740118B CN 201910143486 A CN201910143486 A CN 201910143486A CN 110740118 B CN110740118 B CN 110740118B
Authority
CN
China
Prior art keywords
service provider
session
service
provider system
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.)
Active
Application number
CN201910143486.7A
Other languages
English (en)
Other versions
CN110740118A (zh
Inventor
A·K·马什特
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.)
Adobe Inc
Original Assignee
Adobe Systems 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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN110740118A publication Critical patent/CN110740118A/zh
Application granted granted Critical
Publication of CN110740118B publication Critical patent/CN110740118B/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
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • 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/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开的实施例涉及与合作伙伴站点发起会话的协议。描述了在数字媒体环境中发起与合作伙伴站点的会话的协议。根据这种改进的协议来发起合作伙伴站点会话的系统减少了与利用常规协议的常规系统相关的敏感信息的暴露。根据改进的协议,发起合作伙伴站点会话以从相应服务提供者系统获得功能的系统在本地安全上下文中创建隐藏存储区域(例如内嵌框架)。然后,系统使用该隐藏存储区域来存储会话信息‑其可以包括敏感的个人标识信息‑而不是使用相应服务提供者系统的存储装置。通过避免由服务提供者系统进行存储的敏感信息的传送,系统不会暴露该敏感信息。因此,该系统减少了用于恶意获取该信息的许多机会。

Description

与合作伙伴站点发起会话的协议
技术领域
本公开的实施例涉及计算系统跨网络向其他计算设备提供服务,更具体地,涉及计算系统使用与合作伙伴(partner)站点发起会话的协议跨网络向其他计算设备提供服务。
背景技术
计算技术的进步使得计算系统能够跨诸如因特网的网络向其他计算设备提供服务。通过示例,这些进步使得服务提供者系统能够跨网络向客户端设备提供各种服务。由这些服务提供者系统提供的各种服务是多种多样的,并且还在不断增长。在某种程度上,这使得用户能够以看似无限数目的方式与他们的设备进行交互。这些各种服务的示例包括社交网络服务、内容提供服务(例如股票内容、流视频、流音频等)、内容创建和编辑服务、云存储服务、工作效率套件服务、游戏服务、基于位置的服务、健身追踪服务、金融服务、家庭自动化服务等。
在一些情况下,可以一起提供这些服务提供者系统的服务。例如,一个社交网络服务可以经由用户界面提供对另一个社交网络服务的服务的访问,云存储服务可以经由用户界面提供对工作效率套件服务的服务的访问(例如对由云存储服务维持的数据文件执行操作),等等。通常,实现这种组合服务的提供的服务提供者系统被称为“合作伙伴”。为了提供这样的组合服务,对应的服务提供者系统建立合作伙伴站点会话,这实现用于以组合的方式提供相应服务的交互。这些合作伙伴站点会话的发起通常由用于发起合作伙伴站点会话的协议控制。然而,用于发起合作伙伴站点会话的常规系统根据常规协议来这样做,该常规协议使得敏感信息(例如个人标识信息)在整个发起期间的各个点处被暴露。相应地,当提供来自多个服务提供者系统的组合服务时,这些常规系统无法适当地保护敏感信息。
发明内容
描述了一种用于发起与合作伙伴站点的会话并克服这些问题的协议。根据这种改进的协议发起合作伙伴站点会话的系统减少了与利用常规协议的常规系统相关的敏感信息的暴露。根据改进的协议,发起合作伙伴站点会话以从相应服务提供者系统获得功能的系统在本地安全性上下文中创建隐藏存储区域(例如内嵌框架(iframe))。然后,系统使用该隐藏存储区域来存储会话信息-其可以包括敏感的个人标识信息-而不是使用相应服务提供者系统的存储装置。通过避免由服务提供者系统进行存储的敏感信息的传送,系统不会暴露敏感信息。因此,该系统减少了用于恶意获取该信息的许多机会。
本发明内容以简化的形式介绍了一些概念,这些概念将在下面的具体实施方式中进一步被描述。如此,本发明内容不旨在标识所要求保护的主题内容的必要特征,也不旨在用于辅助确定所要求保护的主题内容的范围。
附图说明
参考附图描述了详细描述。
图1是可操作以采用本文所描述的技术的示例实现中的环境的图示。
图2描绘了其中由客户端设备呈现的用户界面包括针对使用与合作伙伴站点发起的会话而被浮现的功能的工具的示例实现。
图3描绘了根据用于与合作伙伴站点安全地发起会话的协议的数据流的示例实现。
图4描绘了根据用于发起与合作伙伴站点的会话的常规协议的数据流的不同示例。
图5描绘了示例实现中的程序,其中使用这些服务提供者之间的集成会话来提供与多个服务提供者系统相关联的功能,并且其中根据安全会话发起协议来发起集成会话。
图6A和图6B描绘了示例实现中的程序,其中根据安全会话发起协议来控制用于在多个服务提供者之间发起会话的数据处理。
图7图示了包括示例设备的各种组件的示例系统,该示例设备可以被实现为参考图1-6B所描述和/或利用的任何类型的计算设备,以实现本文所描述的技术的实施例。
具体实施方式
概览
计算技术的进步使得计算系统(例如服务提供者)能够跨网络向其他计算设备(例如客户端设备)提供服务。实际上,由这些服务提供者系统提供的各种服务是多种多样的并且持续增长,这使得用户能够以看似无限数目的方式与他们的设备进行交互。在一些情况下,可以一起提供这些服务提供者系统的服务。为了一起工作,对应的服务提供者系统建立合作伙伴站点会话,这使得提供者之间的交互能够以组合的方式提供相应的服务。然而,用于发起合作伙伴站点会话的常规系统根据涉及在整个发起期间的各个点处暴露敏感信息的协议来这样做。相应地,当提供来自多个服务提供者系统的组合服务时,这些常规系统无法适当地保护敏感信息。
描述了一种用于发起与合作伙伴站点的会话并克服这些问题的改进协议。从广义上讲,该协议结合合作伙伴站点会话来控制应用和服务提供者系统之间的交互,其中应用用于以组合方式提供多个服务提供者的服务,并且服务提供者系统应要求提供至少一个这些服务。
与常规协议相比,本文所描述的改进的协议指示应用,其接收对涉及多个服务提供者系统之间的交互的功能的请求,以通过创建隐藏存储区域(例如,内嵌框架)并使用在该隐藏存储区域中被存储的会话信息启动功能来发起合作伙伴会话。因此,该协议使应用能够发起合作伙伴会话,而无需通过存储提供者系统来传送会话信息以进行存储。为了以这种方式发起合作伙伴会话,协议最初指示应用收集会话信息,该会话信息描述应用浮现多个服务提供者的功能的上下文。取决于功能,该会话信息可以包括关于要执行所请求的功能的文件名和位置、用于从服务提供者系统访问数据的用户帐户信息(例如用户名和访问凭证)、指示由服务提供者系统提供的服务状态的状态信息(例如,计算机游戏中的状态、脚本信息、当前和/或先前被呈现给用户的内容)、设备标识信息等。相应地,所收集的一些信息可能是个人标识或其他敏感信息。根据所描述的技术,改进的协议还指示应用在应用的安全性上下文中创建隐藏存储区域以进行存储该会话信息。根据协议,应用然后使用来自隐藏存储区域的信息在应用的安全性上下文中提供所请求的服务。
如下面更详细讨论的,该协议还指示服务提供者系统支持由应用对隐藏存储区域的创建。例如,协议指示服务提供者使用提供者的诸如硬件、计算时间等的资源来配置隐藏存储区域的各方面。在一个或多个实现中,协议指示服务提供者系统通过与应用通信来配置方面,这种通信包括内嵌框架、超文本标记语言(HTML)和用于启动合作伙伴会话的JavaScript。在应用根据协议在安全性上下文中创建隐藏存储区域之后,该协议进一步指示服务提供者系统在应用的安全性上下文内提供所请求的功能。服务提供者系统根据协议使用为正被发起的合作伙伴会话生成的抽象的非个人标识会话标识符来执行此操作。通过利用该抽象信息,提供所请求的功能而不将敏感信息传送给服务提供者。
当根据改进的协议发起合作伙伴会话时,在应用的安全上下文之外传送敏感信息的通信较少。结果,改进的协议涉及较少暴露潜在敏感信息。通过限制暴露潜在敏感信息的次数,改进的协议减少了针对恶意获得该信息的机会。因此,改进的协议比用于发起合作伙伴站点会话的常规协议更安全。
在以下讨论中,首先描述可以采用本文所描述的技术的示例环境。然后描述示例实现细节和程序,其可以在示例环境以及其他环境中被执行。因此,示例程序的执行不限于示例环境,并且示例环境不限于示例程序的执行。
示例环境
图1是示例实现中的数字媒体环境100的图示,该数字媒体环境100可操作以采用协议来发起与合作伙伴站点的会话,如本文所述。所图示的环境100包括服务提供者系统102、合作伙伴服务提供者系统104和客户端设备106。服务提供者系统102和合作伙伴服务提供者系统104两者包括服务管理器模块108。服务提供者系统102、合作伙伴服务提供者系统104和客户端设备106经由网络110彼此通信地耦合。
可用于实现服务提供者系统102、合作伙伴服务提供者系统104和客户端设备106的计算设备可以以各种方式被配置。例如,计算设备可以被配置为台式计算机、膝上型计算机、移动设备(例如假设诸如平板电脑或移动电话的手持式配置)等。因此,计算设备的范围可以从具有大量存储器和处理器资源的完整资源设备(例如个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如移动设备)。附加地,计算设备可以代表多个不同设备,诸如由企业用来“在云上”执行操作的多个服务器,如关于图7进一步描述的。
如上所述,服务提供者系统102和合作伙伴服务提供者系统104被图示为包括服务管理器模块108,该服务管理器模块108至少部分地以这些系统的硬件来实现,以提供经由网络110可访问的服务。例如,服务管理器模块108可以通过具有通信模块114的客户端设备106的应用112公开网站、基于网络(网络)的应用、基于网络的服务或者经由网络110可访问的其他功能。根据所描述的技术,服务管理器模块108表示提供多个服务提供者的相应服务的功能,诸如来自服务提供者系统102的一个或多个服务(例如查看、创建、操纵、打印和管理图像文件)与来自合作伙伴服务提供者系统104的一个或多个服务(例如云存储)的组合。
通信模块114可以以各种方式来配置,以通过网络110从服务提供者系统102和合作伙伴服务提供者系统104获得数据。通信模块114采用该数据来使得客户端设备106的用户能够与所图示的服务提供者系统通信以获得与各个服务相对应的信息,例如当服务提供者系统提供云存储服务时所维持的计算机文件数据、用于在服务提供者系统提供内容编辑服务时执行内容编辑操作的数据等。此外,通信模块114采用该数据与多个服务提供者通信以一致地提供相应服务的组合。
在此上下文中,应用112利用通信模块114的功能。通过示例,应用112通过采用通信模块114来浮现服务提供者系统102和合作伙伴服务提供者系统104的服务。在一个或多个实现中,应用112包括呈现用户界面(例如图形用户界面、语音控制的用户界面等)的功能,客户端设备106的用户经由该功能进行交互以使用服务提供者系统102和合作伙伴服务提供者系统104的服务。例如,为了实现这种交互,应用112可以被配置为浏览器或其他支持网络的应用。无论特定实现如何,应用112都利用通信模块114的功能,通过根据关于图3详细描述的协议在它们之间发起会话来提供服务提供者系统102和合作伙伴服务提供者系统104的组合服务。
为了提供各种服务,服务提供者系统102包括由静态服务116、动态服务118和存储服务120表示的功能,其用存储器122图示。广义地说,静态服务116表示使用平面文件网站来递送服务提供者系统102的服务的功能。例如,对于静态服务116,在服务器侧没有使用可编程逻辑。然而,静态服务116能够利用能够在客户端设备106处在客户端侧运行的脚本(例如JavaScript)来服务数字内容(例如网页)。相比之下,动态服务118表示诸如通过暴露可调用的应用编程接口(API)功能并响应根据接收的API调用进行的调用来进行服务提供者系统102到用户服务器端逻辑的功能。存储服务120表示服务提供者系统102存储信息的功能,诸如结合提供一个或多个服务使用的个人标识信息(PII)。通过示例,服务提供者系统102可以结合提供一个或多个服务来使用用户名和一个或多个cookie(储存在用户本地终端上的数据)。存储服务120表示至少临时地将该信息存储在存储装置122中的功能。然而,与常规技术相比,下面所描述的改进的协议使得服务提供者系统102和合作伙伴服务提供者系统104能够以不使用存储服务120的功能的方式来提供集成服务。
通过遵守上文和下文所描述的协议,应用112在不利用存储服务120并且还不利用存储装置122的情况下发起服务提供者系统102与合作伙伴服务提供者系统104之间的会话。部分原因在于为了避免存储服务120的使用,所描述的协议减少了可以与常规技术相关的恶意获得PII的机会。这是因为根据所描述的协议,例如没有通过存储装置122中的存储服务120远程存储这样的PII。此外,如下面进一步描述的,应用112通过根据所描述的协议来发起集成功能会话来避免从客户端设备106传送PII。
在考虑了示例环境之后,现在考虑根据一个或多个实现的用于发起与合作伙伴站点的会话的协议的技术的一些示例细节的讨论。
与合作伙伴站点发起会话的协议
图2描绘了实现的示例200,其中经由客户端设备呈现的用户界面包括针对使用与合作伙伴站点发起的会话而被浮现的功能的工具。所示示例200包括来自图1的服务提供者系统102、合作伙伴服务提供者系统104和客户端设备106。所示示例200还包括客户端设备106的用户202的手。用户202的手被描绘与用户界面204交互,其经由客户端设备106的显示设备而被显示。
根据所描述的技术,由多个服务提供者系统(合作伙伴服务提供者系统104和服务提供者系统102)提供的功能被浮现以供客户端设备106的用户202使用。在该特定示例中,合作伙伴服务提供者系统104和服务提供者系统102的功能经由用户界面204被浮现。参考图1,用户界面204可以对应于应用112,例如,用户界面204可以基于应用112所执行的指令而被生成和显示。
为了清楚起见,所示示例200描绘了提供云存储服务的合作伙伴服务提供者系统104、和在用户界面204中用标记“ACME”表示的提供内容创建服务和股票内容服务的服务提供者系统102。然而,应当理解,在不脱离本文所描述的技术的精神或范围的情况下,合作伙伴服务提供者系统104和服务提供者系统102可以提供不同的服务,诸如游戏服务、工作效率套件服务、地图服务、基于位置的服务、健身追踪服务、健康服务、家庭自动化服务、社交网络服务、金融服务等。因此,具有用于访问来自服务提供者系统102和至少所描绘的合作伙伴服务提供者系统104的服务组合的功能的用户界面可以以与根据所描述的技术所示的方式不同的方式来配置。
在任何情况下,所示示例200表示用户202经由用户接口204进行选择以使用服务提供者系统102的服务与由合作伙伴服务提供者系统104提供的服务的场景。响应于该选择,服务提供者系统102的服务部分地通过根据改进的会话发起协议来发起合作伙伴站点会话来提供,其细节关于图3被描述。
关于继续示例200,从合作伙伴服务提供者系统104和服务提供者系统102向用户界面204描绘箭头。从合作伙伴服务提供者系统104到用户界面204的箭头表示云存储服务206的提供。在此上下文中,描绘了用户界面204,其包括基于云的文件目录208的可选表示,诸如“目录A”、“目录B”、“目录C”、“目录E”、以及“目录F”。还描绘了用户界面204,其包括云维持的数字图像210的可选表示,例如“文件1.jpg”、“文件3.jpg”、“文件4.jpg”、“文件5.jpg”和“File6.jpg'。文件选择指示212指示由用户202选择名为“文件3.jpg”的云维持的数字图像210的可选表示。在一个或多个实现中,文件选择指示212指示进一步操作的焦点是关于名为“File 3.jpg”的云维持的数字图像210的可选表示。
从服务提供者系统102到用户界面204的箭头表示经由用户界面204的内容创建服务214和股票内容服务216的可用性-如针对云存储服务206所配置的。换言之,该箭头指示服务提供者系统102能够提供内容创建服务214和股票内容服务216,以及由合作伙伴服务提供者系统104提供云存储服务206。尽管所图示的示例200表示在服务提供者系统102提供这两种服务的场景中,服务提供者系统102可以提供不同数目的服务(例如一个或多于两个),其可与合作伙伴服务提供者系统104的(多个)服务相关地获得。
在一个或多个实现中,响应于通过用户界面204导航中包括或可由通过用户界面204导航访问的工具的选择来提供服务提供者系统102的服务。在此上下文中,所示示例200包括功能选择指示218,其指示用户202选择与内容创建服务214相对应的用户界面204的工具。通过示例,该工具的选择可以使得服务提供者系统102能够提供内容创建服务(例如数字图像编辑),以用于与由合作伙伴服务提供者系统104提供的服务有关地使用,诸如与所选择的云维持的数字图像210相关的内容创建服务。为了与合作伙伴服务提供者系统104的服务一致地提供服务提供者系统102的服务,应用112根据如下所述的改进的协议发起合作伙伴站点会话。
图3描绘了根据用于与合作伙伴站点安全地发起会话的协议的数据流的示例300实现。与发起合作伙伴站点会话的常规技术相比,该协议提高了与发起合作伙伴站点会话相关的信息处理的安全性。此外,该协议仅利用客户端设备106处的信息存储,而不利用服务提供者系统102的存储装置(例如存储装置122)。
图示的左侧包括指向下方的箭头,其指示相对于所描述的数据流的时间流逝。为此,在图的顶部被描绘的事件发生在图的底部被描绘的事件之前的时间点。此外,在另一事件之上的位置处被描绘的事件发生在另一事件之前的时间点。附加地,横跨垂直长度的散列条各自对应于大致从条的顶部开始并大致在条的底部结束的时间跨度。随着时间的推移,所示示例300中的实体以所描绘的改进的方式进行交互以发起合作伙伴站点会话,例如以与合作伙伴服务提供者系统104的服务一致地提供服务提供者系统102的服务。
所示示例300包括来自图1的应用112、静态服务116和动态服务118。所示示例300还包括用户302,其可以对应于用户202或客户端设备106的任何其他用户。在该示例中,将应用112视为网络浏览器、支持网络的应用或能够通过网络110与服务提供者交互的其他类似类型的应用。关于图3描述的该协议可以被认为是指示不同实体(例如应用112、静态服务116和动态服务118)的指令集,以执行由所示数据流指示的动作。
最初,用户302提供启动服务请求304,并且应用112接收指示启动服务请求304的数据。在图2的上下文中,启动服务请求304对应于用户202对功能选择指示218所指示的“ACME内容创建服务”工具的选择。该选择可以对应于经由客户端设备106的支持触摸的显示器所提供的并且接近所显示的工具的触摸输入。实际上,触摸输入仅是一个示例,并且可以接收其他输入以启动服务请求,诸如语音命令、手写笔输入、姿势检测(例如挥动一个或多个手或利用脚的动作)、键盘和/或鼠标输入等等。无论如何,客户端设备106生成指示用户输入的数据,该数据有效地向应用112提供启动服务请求304。
响应于启动服务请求304的接收,协议指示应用112发起网络会话306,其指示在应用112和服务提供者系统102之间的一段时间内的交互。
响应于启动服务请求304的接收,该协议还指示应用112收集用于启动所请求的服务的信息,生成发起数据308,并传送发起数据308以供动态服务118接收。作为生成的一部分,应用112包含为启动所请求的服务而收集的信息。在一个或多个实现中,协议指示应用将发起数据308配置为POST请求,其包括描述启动服务请求304和用户302的信息。一般而言,POST请求更安全并因此导致更大信息的隐私,而不是请求的标题或包络。这是因为未记录POST请求的内容,但可能会记录请求的标题或包络。因此,发起数据308可以被配置为描述用户302的初始意图的POST请求(例如根据启动服务请求304),描述用户302(例如用于标识经认证的用户的用户名、用于唯一标识未经身份验证的用户的临时标识符等)、位置信息等。在任何情况下,被包括在发起数据308中的一些信息可以是敏感信息,例如个人标识信息(PII)。对发起数据308使用POST请求有助于限制PII的暴露。
响应于发起数据308的接收,协议指示动态服务118生成会话标识符(“会话id”),以唯一地标识服务提供者系统102与合作伙伴服务提供者系统104之间的合作伙伴站点会话。在会话启动数据生成310的所示示例300中表示该会话id的生成。动态服务会话312表示动态服务118的资源(例如硬件、计算时间等)被利用来生成会话id的时间跨度。
作为动态服务会话312的一部分,协议还指示动态服务118生成会话启动数据314并传送会话启动数据314以供应用112接收。根据协议,动态服务118至少部分地通过包含所生成的会话id并且包含被包括在发起数据308中的至少一些信息(例如,描述要经由会话被暴露的功能的信息、用户标识符等),来生成会话启动数据314。在一个或多个实现中,协议指示动态服务118生成会话启动数据314作为具有会话id和从发起数据308提取的信息的超文本标记语言(HTML)。
响应于会话启动数据314的接收,协议指示应用112发起与应用112的安全上下文中的隐藏存储区域的静态服务116的建立。换言之,该隐藏存储区域例如使用被分配给应用112的存储装置“在”应用112中被创建。该建立的发起由会话存储建立316表示。在一个或多个实现中,会话存储建立316表示存储在数据进一步被传递给合作伙伴服务提供者系统104之前由应用112传递的数据的代码的一部分,合作伙伴服务提供者系统104经由应用112浮现“其余”的功能,例如与请求调用伙伴站点会话协议的内容创建服务相比的云存储服务功能。
隐藏存储区域的一个示例是内嵌框架。在这样的场景中,协议指示应用112在应用112的上下文中创建内嵌框架,其中内嵌框架的建立涉及与静态服务116的交互。在使用内嵌框架作为隐藏存储的上下文中,客户端设备106的本地的帧由应用112创建,并且不使用服务提供者系统的存储装置,例如通过存储服务120的服务提供者系统102的存储装置122。尽管使用内嵌框架作为示例,但是在不脱离本文所描述的技术的精神或范围的情况下,可以利用能够存储用于合作伙伴站点会话(例如PII、所请求的服务等)的交互信息的其他机制。通常,隐藏存储区域是用于支持安全的上下文间通信的单独安全性和存储上下文的存储机制。
响应于发起会话存储建立316的请求的接收,协议指示静态服务116生成和配置会话存储318,应用112使用该会话存储318来启动合作伙伴站点会话。第一静态服务会话320表示第一时间跨度,在该第一时间跨度期间利用静态服务116的资源(例如硬件、计算时间等)来配置会话存储318。第一静态服务会话320还表示静态服务116根据协议将会话存储318传送到应用112的操作。会话存储器318的这种配置和通信可以被称为“分配”会话存储318到应用112。在一个或多个实现中,协议指示静态服务116将会话存储318配置为包括用于启动合作伙伴站点会话的内嵌框架、超文本标记语言(HTML)和JavaScript中的一个或多个。会话存储318可以包括根据所描述的技术在第一静态服务会话320期间配置的更多或不同的信息。
响应于会话存储318的接收,协议指示应用112在应用112的安全性上下文中创建隐藏存储区域(例如内嵌框架)。应用112使用配置的会话存储318来这样做。根据协议,应用112还将发起数据308存储在所创建的隐藏存储区域中。这些操作由发起数据存储322表示。除了发起数据308之外,隐藏存储区域还可以被用来存储会话启动数据314所包括的会话id。在一个或多个实现中,协议指示应用112通过利用安全的跨源通信,例如通过使用'postMessage'功能,使用会话存储318来存储发起数据308。
响应于发起数据存储322,协议指示应用112生成并传送上下文内启动请求324。上下文内启动请求324表示根据服务提供者系统102的安全性上下文中的协议请求启动合作伙伴站点会话的数据。通过示例,上下文内启动请求324表示启动合作伙伴服务提供者系统104的网站的版本的请求,其中用户界面被配置有服务提供者系统102的功能。上下文内请求324还用作通知,其中可以根据在合作伙伴服务提供者系统104和服务提供者系统102的服务之间在应用112级别的协议安全地传递诸如会话标识符(“会话id”)的抽象的非个人标识信息。抽象的非个人标识信息会话id的这种传递使得上下文内请求324能够基于会话id被配置有在发起数据存储322期间所存储的对应的发起数据308。总之,用于上下文内启动的会话发起数据308根据协议被存储在应用112上的本地安全子上下文中而不是被存储在云服务上。因此,该协议进一步最小化了发起数据308相对于采用涉及在云服务上存储会话发起数据的常规协议的系统的暴露。
基于对上下文内启动请求324的接收,协议指示静态服务116向应用112提供上下文内服务326。上下文内服务326表示服务提供者系统102的代码,以根据作为合作伙伴站点会话的一部分的协议提供服务提供者系统102的相应功能,其中可能由会话标识符(“会话id”)从初始数据存储中检索个人标识信息。例如,在图2的上下文中,上下文内服务326提供用于内容创建功能的代码,诸如对由合作伙伴服务提供者系统104维持的云维持的数字图像210执行内容编辑。第二静态服务会话328表示第二时间跨度,在该时间跨度期间利用静态服务116的资源(例如硬件、计算时间等)。特别地,根据协议利用这些资源来提供用于在激活所请求的功能的情况下浮现应用112的用户界面的代码。在提供上下文内服务326之前,不激活与所请求的服务相对应的功能以供使用,例如,应用112不能够执行与所请求的功能相关联的操作(例如内容编辑操作),直到接收到上下文内服务326。在一个或多个实现中,由静态服务116根据协议提供的上下文内服务326包括静态HTML、级联样式表(CSS)和JavaScript中的至少一个。在不脱离所描述的技术的精神或范围的情况下,静态服务116可以以不同的方式配置上下文内服务326以用于提供给应用112。
在此上下文中,考虑数据驱动的服务提供330。根据所描述的系统,数据驱动的服务提供330表示由应用112执行以及在应用112的安全性上下文中的操作,以根据使用合作伙伴服务提供者系统104的服务和服务提供者系统102的服务的协议来操作数据。在继续示例中,数据驱动服务提供330表示由应用112执行的编辑数字内容文件的操作,其中数字内容文件使用合作伙伴服务提供者系统104的云存储服务206来维持,并使用服务提供者系统102的内容编辑工具进行编辑。如上所述,这只是根据协议可以经由合作伙伴站点会话来提供的功能的一个示例。实际上,可以根据所描述的技术经由合作伙伴站点会话提供其他功能。
基于数据驱动的服务提供330,协议指示应用112生成服务配置的用户界面332(“服务配置的UI 332”)。应用112使服务配置的UI 332被呈现,诸如用于经由与客户端设备106相关联的显示设备进行显示、用于经由与客户端设备106相关联的一个或多个扬声器进行可听输出、用于显示为虚拟和/或增强现实内容等。在任何情况下,服务配置的UI 332使得用户302能够与客户端设备106交互以利用所请求的功能。例如在图2的上下文中,服务配置的UI 332可以包括内容编辑工具、内容编辑工作空间等,其使得用户302能够提供编辑输入以编辑由合作伙伴服务提供者系统104的云存储服务维持的数字内容。
与常规系统相比,图3的上述协议不涉及与服务提供者系统102的存储服务120或存储装置122的通信和/或其使用。如上所述,这消除了服务提供者系统102对潜在敏感信息的通信和存储。该协议相对于常规合作伙伴站点会话发起协议的另一个改进是:改进的协议是基于请求的,使得不会给服务提供者系统102的计算资源带来负担,直到提出针对服务的请求(经由启动服务请求304)。关于图3讨论的改进的协议也是异步的,允许服务提供者系统102的服务在计算资源变得可用时而不是同步地生成和递送所示信息。
广义地说,改进的协议涉及较少的通信,其中潜在敏感信息在应用112的安全上下文之外被传送。结果,改进的协议涉及较少的潜在敏感信息的暴露。通过限制暴露潜在敏感信息的次数,改进的协议减少了针对恶意获得该信息的机会。因此,改进的协议比用于发起合作伙伴站点会话的常规协议更安全。作为常规协议的示例,考虑图4。
图4描绘了根据常规协议的数据流的示例400实现,以发起与合作伙伴站点的会话。与图3的上述协议相比,由常规系统实现的以下常规协议包括更多通信,并且还从客户端设备传送潜在敏感信息,以便在服务提供者系统处进行远程存储。与关于图3所描述的改进的协议相比,常规协议的这些特性使得它更容易受到攻击以用于获取敏感信息。
所示示例400的左侧包括指向下方的箭头,其指示相对于下面所描述的数据流的时间流逝。
所示示例400包括用户402、应用404、静态服务406、动态服务408和存储服务410。在该示例中,应用404可以在客户端设备上被执行。此外,静态服务406、动态服务408和存储服务410可以被服务提供者系统包括或以其他方式可访问。应用404可以被配置为通过诸如网络110的网络传送或以其他方式访问所示服务。
根据常规协议,用户402提供启动服务请求412,并且应用404接收指示启动服务请求412的数据。广义地说,启动服务请求412可以包括与启动服务请求304类似的信息,例如指示用户已经选择经由用户界面启动服务的数据,该用户界面将需要至少两个服务提供者系统的服务之间的交互。
响应于启动服务请求412的接收,应用404发起网络会话414,其表示在应用404与对应于静态服务406、动态服务408和存储服务410的服务提供者系统之间的时间跨度内的交互。响应于启动服务请求412的接收,应用404还收集用于启动所请求服务的信息,生成发起数据416,并传送发起数据416以供动态服务408接收。作为生成的一部分,应用404包含所收集的信息以启动所请求的服务。与发起数据308相同,发起数据416可以被配置为POST请求,其包括描述启动服务请求412和用户402的信息。相应地,被包括在发起数据416中的一些信息可以是敏感信息,例如,个人标识信息(PII)。
响应于发起数据416的接收,动态服务408生成会话标识符(“会话id”)以唯一地标识用于所示示例400的合作伙伴服务的合作伙伴站点会话。会话id的生成通过会话启动数据生成418在所示示例400中被表示。
与图3中所示的改进的协议不同,所示示例400的常规协议包括动态服务408与存储服务410的交互。特别地,常规协议指示动态服务408向存储服务410传送发起数据416以用于存储。在420处描绘了到存储服务410的这种通信。注意,改进的协议不会导致在420处所示的数据到存储服务410的这种通信。如上所述,改进的协议相反地指示会话发起数据308被存储用于在应用112上的本地安全子上下文中而不是在云服务上的上下文内启动。这进一步最小化了发起数据308相对于存储会话发起数据的系统的暴露,如关于图4所讨论的。
第一动态服务会话422表示第一时间跨度,在该第一时间跨度期间动态服务408的资源被用来生成会话id以及将发起数据416传送到存储服务410。作为第一动态服务会话422的一部分,常规协议还指示动态服务408生成会话启动统一资源定位符(URL)数据424。动态服务408至少部分地通过将所生成的会话id包含到URL(例如重定向URL)中来生成会话启动URL数据424。相应地,常规协议将会话id暴露为URL的一部分。具有URL中的会话id的这种常规配置与会话启动数据314形成对比。如上所述,根据改进的协议,会话启动数据314可以被配置为具有发起数据308和会话id中的至少一些的HTML。
响应于接收会话启动URL数据424,常规协议指示应用404生成用于与静态服务406通信的上下文内启动请求426。这也与改进的协议形成对比,该协议涉及在上下文内启动请求324的通信之前在应用112的安全性上下文中的隐藏存储区域的创建。继续所示示例400,静态服务406将上下文内服务428提供给应用404。静态服务会话430表示时间跨度,在该时间跨度期间利用静态服务406的资源来提供用于在激活所请求的功能的情况下浮现应用404的用户界面的代码。
此外,与改进的协议相比,常规协议涉及应用404和动态服务408之间的第二交互。如图3所示,改进的协议限于应用112和动态服务118之间交互的单个会话。常规协议的该第二交互包括从应用404到动态服务408的会话发起数据请求432的通信。在至少一些常规方案中,会话发起数据请求432表示获取发起数据416的请求。通过示例,会话发起数据请求432包括会话id,其可以由存储服务410用于根据常规协议在存储中查找发起数据416。为此,根据常规协议的会话发起数据请求432的通信导致会话id的暴露,诸如对潜在的恶意攻击以用于获得PII。
所示示例400的常规协议还包括动态服务408和存储服务410之间的第二交互,其在434处被图示。根据常规协议,动态服务408将发起数据请求436传送到存储服务410。基于发起数据请求436的接收,存储服务410通过会话id查找发起数据416。如434处所示,存储服务410根据常规协议将定位的发起数据416传送回动态服务408。在434处的发起数据416的通信表示由于常规协议而导致的潜在敏感信息的另一次暴露。第二动态服务会话438表示第二时间跨度,在该第二时间跨度期间根据常规协议利用动态服务408的资源,例如用于从存储中获取发起数据416。通过比较,改进的协议不包括第二动态服务会话438,并且也不包括动态服务和存储服务之间的交互以获取发起数据。在任何情况下,常规协议指示动态服务408将发起数据416传送到应用404,作为第二动态服务会话438的一部分。
响应于发起数据416的接收,应用404可以利用会话存储来存储发起数据416。该存储操作由发起数据存储440表示。一旦应用404执行发起数据存储440,应用404就可以执行数据驱动的服务提供442。数据驱动的服务提供442表示由应用404执行的操作-在应用404的安全性上下文中-以使用合作伙伴服务提供者的服务来操纵数据。此外,应用404使得服务配置的用户界面444呈现给用户402。
广义地说,用户302、402的用户体验可以是类似的。换言之,由用户302、402和用于提供合作伙伴会话服务的用户界面做出的用户选择可以是类似的。然而,用于向用户302、402递送那些用户体验的协议是不同的。例如通过根据改进的协议发起的合作伙伴服务会话来递送合作伙伴服务,与用户402的信息由应用404、静态服务406、动态服务408和存储服务410处理相比,应用112、静态服务116和动态服务118更安全地处理与用户302相关联的潜在敏感信息。这是由于关于图3中所讨论的改进的协议与常规协议之间的所说明和描述的差异,其示例关于图4被讨论。
已经讨论了针对用于发起与合作伙伴站点的会话的协议的技术的示例细节,现在考虑用于说明该技术的附加方面的一些示例程序。
示例程序
本节描述了在一个或多个实现中用于发起与合作伙伴站点的会话的协议的示例程序。程序的各方面可以用硬件、固件或软件或其组合来实现。这些程序被示为一组框,其指定由一个或多个设备执行的操作,并且不必限于为了执行各个框的操作而示出的顺序。在至少一些实现中,程序由适当配置的设备执行,诸如利用通信模块114的图1的客户端设备106。
图5描绘了示例程序500,其中使用这些服务提供者之间的集成会话来提供与多个服务提供者系统相关联的功能,并且其中根据安全会话发起协议来发起集成会话。
经由用户界面接收请求用于涉及多个服务提供者系统之间的交互的功能(框502)。通过示例,经由用户界面204接收用户输入,请求涉及服务提供者系统102和合作伙伴服务提供者系统104之间的交互的功能。这种用户输入由功能选择指示218指示,其指示对与服务提供者系统102的功能(例如内容创建功能)相对应的工具的选择,其与合作伙伴服务提供者系统104的功能(例如存储的数据文件)相关地可用。如上文和下文所讨论的,其他功能可以涉及多个服务提供者系统之间的交互,并且用作发起合作伙伴会话的基础。
与提供所请求的功能的多个服务提供者系统的服务提供者系统发起合作伙伴会话(框504)。根据本文所讨论的原理,根据安全会话发起协议来发起合作伙伴会话,并且安全会话发起协议用于发起合作伙伴会话而不传送会话信息以供服务提供者系统存储。通过示例,应用112发起与服务提供者系统102的合作伙伴会话以提供在框502处接收的请求所请求的功能。应用112根据关于图3讨论的协议发起该合作伙伴会话,其不涉及应用112传送会话信息以供服务提供者系统102存储,例如它不涉及与存储服务120的通信或存储装置122中的会话信息的存储。如上所述,图3的协议不同于利用与合作伙伴站点会话的发起相关的服务提供者系统的存储的常规的会话发起协议。
基于会话信息来配置用户界面,以实现响应于合作伙伴会话的发起而对所请求的功能的使用(框506)。通过示例,应用112基于会话信息来配置用户界面204以实现所请求的功能的使用。特别地,应用112响应于在框504处合作伙伴会话的发起来以这种方式配置用户界面204。然后,应用112引起经配置的用户界面的输出,例如服务配置的UI 332的输出。
图6A和6B描绘了示例程序600,其中根据安全会话发起协议来控制用于在多个服务提供者之间发起会话的数据处理。
响应于涉及多个服务提供者系统之间的交互的针对功能的请求,生成描述该请求的上下文的发起数据(框602)。根据本文所讨论的原理,发起数据描述了所请求的功能、请求功能的用户的属性、经由其请求功能的应用的属性、与请求相关联的一个或多个设备的属性等等。响应于启动服务请求304,例如应用112生成发起数据308。在一个或多个实现中,应用112从不同的源收集描述上下文的信息,例如客户端设备106的本地存储、应用建立、客户端设备106的操作系统等。
将发起数据传送到提供所请求功能的服务提供者系统(框604)。然而,根据本文所讨论的原理,服务提供者系统的存储服务及其相关联的存储不用于存储任何发起数据。通过示例,应用112将发起数据308传送到服务提供者系统102的动态服务118。
从服务提供者系统接收会话启动数据(框606)。根据本文所讨论的原理,会话启动数据包括基于发起数据而被生成的、并且唯一地标识涉及服务提供者系统的合作伙伴会话的标识符。通过示例,应用112从动态服务118接收会话启动数据314。在一个或多个实现中,会话启动数据314包括标识符(例如会话id),该标识符由动态服务118基于发起数据308生成并且唯一地标识正被创建以集成服务提供者系统102和合作伙伴服务提供者系统104的功能的合作伙伴会话。
会话存储请求被传送到服务提供者系统(框608)。会话存储请求请求实现隐藏存储区域的创建以供与合作伙伴会话结合使用的信息。通过示例,应用112将会话存储建立316传送到服务提供者系统102的静态服务116。
响应于从服务提供者系统接收到信息,在本地安全性上下文中创建隐藏存储区域(框610)。通过示例,应用112从服务提供者系统102的静态服务116接收会话存储318。响应于接收到会话存储318,应用112在应用112的安全性上下文中创建隐藏的存储区域。如上所述,应用112在应用112的安全上下文中将隐藏存储区域创建为内嵌框架。程序600在图6A至图6B的'A'处继续。发起数据被存储在隐藏存储区域中(框612)。通过示例,应用112将发起数据308存储在框610处所创建的隐藏存储区域中。
启动请求被传送到服务提供者系统(框614)。根据本文所讨论的原理,启动请求请求代码,该代码实现所请求的功能作为合作伙伴会话的一部分的提供。通过示例,应用将上下文内启动请求324传送到服务提供者系统102的静态服务116。从服务提供者系统接收实现所请求功能的提供的代码(框616)。通过示例,应用112从服务提供者系统102的静态服务116接收上下文内服务326。
使用代码并基于被存储在隐藏存储区域中的发起数据来配置用户界面(框618)。通过示例,应用112使用作为上下文内服务326的一部分而被接收的代码并基于发起数据308来配置用于经由客户端设备106输出的用户界面。服务配置的UI 332是诸如由应用112配置的用户界面的示例。这种配置可以包括由应用112执行的操作中的至少一个作为数据驱动服务提供330的一部分。
经由客户端设备呈现用户界面(框620)。根据本文所讨论的原理,用户界面包括一个或多个工具,其实现结合合作伙伴会话对所请求的功能的使用。通过示例,应用112经由与客户端设备106相关联的输出机制来输出服务配置的UI 332。这样的输出机制可以包括但不限于显示设备、扬声器、外围设备、虚拟和/或增强现实设备等。
已经根据一个或多个实现描述了示例程序,现在考虑可以被用来实现本文所描述的各种技术的示例系统和设备。
示例系统和设备
图7图示了总体上在700处的示例系统,其包括示例计算设备702,该示例计算设备702表示可以实现本文所描述的各种技术的一个或多个计算系统和/或设备。这通过包括服务管理器模块108和通信模块114来说明。例如,计算设备702可以是:服务提供者的服务器、与客户端相关联的设备(例如客户端设备)、片上系统和/或任何其他合适的计算设备或计算系统。
如图所示的示例计算设备702包括处理系统704、一个或多个计算机可读介质706、以及彼此通信地耦合的一个或多个I/O接口708。虽然未被示出,但是计算设备702还可以包括系统总线或其他数据和命令传输系统,其将各种组件彼此耦合。系统总线可以包括任何一个总线结构或不同总线结构的组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何总线架构的处理器或本地总线。还构想了各种其他示例,诸如控制和数据线。
处理系统704表示使用硬件执行一个或多个操作的功能。相应地,处理系统704被图示为包括可以被配置为处理器、功能块等的硬件元件710。这可以包括:在硬件中实现为专用集成电路或使用一个或多个半导体形成的其他逻辑器件。硬件元件710不受形成它们的材料或其中所采用的处理机构的限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如电子集成电路(IC))。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读存储介质706被图示为包括存储器/存储装置712。存储器/存储装置712表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置组件712可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置组件712可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如闪存、可移除硬盘驱动器、光盘等)。计算机可读介质706可以以各种其他方式配置,如下面进一步描述的。
(多个)输入/输出接口708表示允许用户向计算设备702输入命令和信息、并且还允许使用各种输入/输出设备将信息呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪、触摸功能(例如被配置成检测物理触摸的电容或其他传感器)、相机(例如,其可以采用可见的或诸如红外频率的不可见的波长将移动标识为不涉及触摸的姿势)等等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备702可以以下面进一步描述的各种方式来配置以支持用户交互。
本文可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。本文所使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或其组合。本文所描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种商业计算平台上实现。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以包括可以由计算设备702访问的各种介质。通过示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以指代与仅仅信号传输、载波或信号本身相比,实现信息的持久和/或非瞬态存储的介质和/或设备。因此,计算机可读存储介质指的是非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移除和不可移除介质的硬件和/或以适于诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据的信息的存储的方法或技术实现的存储设备。计算机可读存储介质的示例可以包括但不限于:RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或适于存储所需信息并且可以由计算机访问的其他存储设备、有形介质或制品。
“计算机可读信号介质”可以指信号承载介质,其被配置为诸如经由网络将指令发送到计算设备702的硬件。信号介质通常可以体现计算机可读指令、数据结构、程序模块或已调制的数据信号中的其他数据,诸如载波、数据信号或其他传输机制。信号介质还包括任何信息递送介质。术语“已调制的数据信号”表示以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。通过示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其他无线介质的无线介质。
如前所述,硬件元件710和计算机可读介质706表示以硬件形式实现的模块、可编程设备逻辑和/或固定设备逻辑,其可以在一些实施例中用于实现本文所描述的技术至少一些方面,诸如执行一个或多个指令。硬件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅或其他硬件中的其他实现。在此上下文中,硬件可以作为处理设备操作,该处理设备执行由指令限定的程序任务,和/或作为逻辑操作,该逻辑由硬件实现,以及作为被用来存储用于执行的指令的硬件操作,例如先前描述的计算机可读存储介质。
还可以采用前述的组合来实现本文所描述的各种技术。相应地,软件、硬件或可执行模块可以被实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件710体现的一个或多个指令和/或逻辑。计算设备702可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。相应地,由计算设备702作为软件可执行的模块的实现可以至少部分地以硬件实现,例如通过计算机可读存储介质和/或处理系统704的硬件元件710的使用。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备702和/或处理系统704)可执行/可操作,以实现本文所描述的技术、模块和示例。
本文所描述的技术可以由计算设备702的各种配置支持,并且不限于本文所描述的技术的特定示例。该功能还可以全部或部分地通过分布式系统的使用来实现,诸如经由如下所述的平台716在“云”714上实现。
云714包括和/或代表用于资源718的平台716。平台716抽象出云714的硬件(例如服务器)和软件资源的底层功能。资源718可以包括应用和/或在远离计算设备702的服务器上执行计算机处理时可以被使用的数据。资源718还可以包括通过因特网和/或通过诸如蜂窝或Wi-Fi网络的订户网络提供的服务。
平台716可以抽象出资源和功能以将计算设备702与其他计算设备连接。平台716还可以用于抽象出资源扩展以提供对应的规模级别以满足经由平台716实现的对资源718的需求。相应地,在互连的设备实施例中,本文所描述的功能的实现可以分布在整个系统700中。例如,功能可以部分地在计算设备702上实现,也可以经由抽象出云714的功能的平台716来实现。
结论
尽管已经用结构特征和/或方法动作专用的语言描述了本发明,但是应该理解,所附权利要求中限定的本发明不必限于所描述的具体特征或动作。相反,公开了具体特征和动作作为实现所要求保护的发明的示例形式。

Claims (20)

1.一种由至少一个计算设备实现的方法,所述方法被用在数字媒体环境中,为了减少与提供来自多个服务提供者系统的组合服务有关的敏感信息的暴露,所述方法包括:
经由应用来接收针对功能的请求,所述功能涉及多个服务提供者系统之间的交互;
发起与提供所请求的所述功能的服务提供者系统的合作伙伴会话,所述发起包括:
收集描述所请求的所述功能的上下文的会话信息;
使用由提供所请求的所述功能的所述服务提供者系统分配给所述应用的存储来创建所述应用本地的隐藏存储区域;以及
将所述会话信息中的至少一些会话信息存储在所述隐藏存储区域中;以及
响应于所述发起,使用来自所述隐藏存储区域的所述会话信息来浮现所请求的所述功能,
所述方法还包括:
从提供所请求的所述功能的所述服务提供者系统接收与所述合作伙伴会话相关联的非个人标识会话标识符;以及
使用所述会话标识符与提供所请求的所述功能的所述服务提供者系统通信以获得所分配的所述存储。
2.根据权利要求1所述的方法,其中所述会话信息包括个人标识信息。
3.根据权利要求1所述的方法,其中所述会话信息包括以下各项中的至少一项:
与所请求的所述功能被提供相关的文件名;
已命名文件的文件位置;
用户帐户信息;
指示由所述多个服务提供者系统提供的服务状态的状态信息;或
设备标识信息。
4.根据权利要求1所述的方法,其中所述应用是所述至少一个计算设备的浏览器应用。
5.根据权利要求1所述的方法,还包括:
使用所述会话标识符与提供所请求的所述功能的所述服务提供者系统通信以接收所请求的所述功能。
6.根据权利要求1所述的方法,其中所述隐藏存储区域包括内嵌框架。
7.根据权利要求1所述的方法,还包括:在所述应用内本地请求启动所请求的所述功能,所述启动在所述隐藏存储区域被创建之后被请求。
8.根据权利要求1所述的方法,还包括经由用户界面并在所述应用内本地浮现所请求的所述功能以供使用。
9.根据权利要求1所述的方法,其中所述至少一些会话信息被存储在所述隐藏存储区域中,以代替存储与提供所请求的所述功能的所述服务提供者系统的会话信息。
10.根据权利要求1所述的方法,其中所述发起还包括:
向提供所请求的所述功能的所述服务提供者系统传送描述所述上下文的所述会话信息的部分;以及
从提供所请求的所述功能的所述服务提供者系统接收会话标识符,所述会话标识符唯一地标识所述合作伙伴会话并且至少部分地基于会话信息的所述部分而被生成。
11.根据权利要求1所述的方法,还包括:通过与提供所请求的所述功能的所述服务提供者系统的静态服务和动态服务通信并且在没有涉及提供所请求的所述功能的所述服务提供者系统的存储服务的任何通信的情况下,创建所述隐藏存储区域。
12.一种计算系统,包括:
至少一个处理器;以及
存储器,其上存储有计算机可读指令,所述计算机可读指令由所述至少一个处理器可执行以实现应用,以通过执行包括以下各项的操作来提供来自多个不同服务提供者系统的组合服务:
收集会话信息,所述会话信息描述涉及多个服务提供者系统之间的交互的所请求的功能的上下文;
获得由提供所请求的所述功能的服务提供者系统分配给所述应用的存储,所分配的所述存储是通过使用基于所述会话信息而被生成的非个人标识会话标识符与提供所请求的所述功能的所述服务提供者系统通信而被获得的;
使用所分配的所述存储来创建所述应用本地的隐藏存储区域;
将所述会话信息的至少一些会话信息存储在所述隐藏存储区域中;以及
部分地基于在所述隐藏存储区域中被存储的所述会话信息,从所述应用本地浮现所请求的所述功能。
13.根据权利要求12所述的系统,其中所述隐藏存储区域包括用于支持安全的上下文间通信的分离安全性和存储上下文的存储机制。
14.根据权利要求12所述的系统,其中所述组合服务被提供而不传送所述会话信息,以由提供所请求的所述功能的所述服务提供者系统进行存储。
15.根据权利要求12所述的系统,其中所分配的所述存储是通过与提供所请求的所述功能的所述服务提供者系统的静态服务和动态服务通信并且在没有涉及提供所请求的所述功能的所述服务提供者系统的存储服务的任何通信的情况下被获得的。
16.根据权利要求12所述的系统,其中所述至少一些会话信息被存储在所述隐藏存储区域中,以代替存储与提供所请求的所述功能的所述服务提供者系统的会话信息。
17.根据权利要求12所述的系统,其中所述操作还包括:
输出用户界面以呈现用于所述多个服务提供者系统的功能的提供的至少一个工具;以及
经由相应的工具来接收对所请求的所述功能的请求。
18.一种由服务提供者系统的计算设备实现的方法,所述方法被用在数字媒体环境中,为了减少与提供来自多个服务提供者系统的组合服务有关的敏感信息的暴露,所述方法包括:
从客户端设备接收描述针对功能的请求的上下文的信息,所述功能涉及与至少一个其他服务提供者系统的交互;
发起与所述客户端设备的合作伙伴会话以用于所请求的所述功能的提供,所述发起包括:
基于所接收的所述信息来生成抽象会话标识符;
向所述客户端设备传送所述抽象会话标识符;以及
基于所述抽象会话标识符向所述客户端设备分配存储,所分配的所述存储被配置用于所述客户端设备的应用本地的隐藏存储区域的创建,以及所述隐藏存储区域由所述应用可使用,以用于来自所述应用本地的所请求的所述功能的提供。
19.根据权利要求18所述的方法,其中向所述客户端设备分配所述存储包括传送以下各项中至少一项:
内嵌框架,被配置为用作所述隐藏存储区域;
超文本标记语言(HTML),用于从所述应用本地启动所请求的所述功能;或
脚本,用于从所述应用本地启动所请求的所述功能。
20.根据权利要求18所述的方法,其中所述存储被分配给所述客户端设备,而不使用所述服务提供者系统的存储服务来存储所接收的所述信息。
CN201910143486.7A 2018-07-19 2019-02-26 与合作伙伴站点发起会话的协议 Active CN110740118B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/040,479 US10826998B2 (en) 2018-07-19 2018-07-19 Protocol to initiate session with partner site
US16/040,479 2018-07-19

Publications (2)

Publication Number Publication Date
CN110740118A CN110740118A (zh) 2020-01-31
CN110740118B true CN110740118B (zh) 2022-08-12

Family

ID=66380238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910143486.7A Active CN110740118B (zh) 2018-07-19 2019-02-26 与合作伙伴站点发起会话的协议

Country Status (5)

Country Link
US (2) US10826998B2 (zh)
CN (1) CN110740118B (zh)
AU (1) AU2019201785B2 (zh)
DE (1) DE102019001658A1 (zh)
GB (1) GB2575703B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10826998B2 (en) 2018-07-19 2020-11-03 Adobe Inc. Protocol to initiate session with partner site
US20220100835A1 (en) 2020-02-05 2022-03-31 Quantum Digital Solutions Corporation Systems and methods for controlling a digital ecosystem using digital genomic data sets
AU2022216269A1 (en) 2021-02-04 2023-08-10 Quantum Digital Solutions Corporation Cyphergenics-based ecosystem security platforms

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545818A (zh) * 2001-07-20 2004-11-10 �׹��Ĺ��ʹ�˾ 独特的多信道协议上的多模式会话支持
CN1870539A (zh) * 2005-04-29 2006-11-29 三星电子株式会社 管理用户会话发起协议终端的地址信息的方法和服务器
CN101443749A (zh) * 2005-12-08 2009-05-27 北方电讯网络有限公司 会话启动协议(sip)多播管理方法
CN101465826A (zh) * 2008-12-16 2009-06-24 第三地带信息技术(深圳)有限公司 网络会话服务系统及方法
CN102474432A (zh) * 2009-08-21 2012-05-23 阿瓦雅公司 社交网络虚拟专用网络
CN102664909A (zh) * 2011-01-28 2012-09-12 微软公司 通过用户标识符重新建立推送通知信道
CN106716921A (zh) * 2014-09-29 2017-05-24 微软技术许可有限责任公司 会话历史范围控制

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060293984A1 (en) * 2005-06-27 2006-12-28 Wealth Management Systems, Inc. Rollover solutions
US7941562B2 (en) * 2006-03-30 2011-05-10 Red Aril, Inc. Network device for monitoring and modifying network traffic between an end user and a content provider
KR101581674B1 (ko) * 2009-05-15 2015-12-31 삼성전자주식회사 통합메시징 서비스 시스템에서 사용자의 요청에 따라 컨버세이션을 저장하기 위한 방법 및 그 시스템
WO2012123727A1 (en) * 2011-03-11 2012-09-20 Callsign, Inc Personal identity control
US8347322B1 (en) * 2011-03-31 2013-01-01 Zynga Inc. Social network application programming interface
US10135776B1 (en) * 2011-03-31 2018-11-20 Zynga Inc. Cross platform social networking messaging system
US20130074158A1 (en) * 2011-09-20 2013-03-21 Nokia Corporation Method and apparatus for domain-based data security
GB2496107C (en) * 2011-10-26 2022-07-27 Cliquecloud Ltd A method and apparatus for preventing unwanted code execution
US9489356B2 (en) * 2012-05-07 2016-11-08 Digital Guardian, Inc. Enhanced document and event mirroring for accessing internet content
WO2014123394A1 (ko) * 2013-02-07 2014-08-14 엘지전자(주) 복수개의 디바이스를 포함하는 네트워크 상에서 디바이스 간 세션을 제어하는 방법 및 장치
US9148468B1 (en) * 2013-03-13 2015-09-29 Google Inc. Distributing shared content
US9319451B2 (en) * 2013-07-15 2016-04-19 Google Inc. Systems and methods for selecting an accounting technique for interactions with electronic content
US11157944B2 (en) * 2013-09-13 2021-10-26 Liveramp, Inc. Partner encoding of anonymous links to protect consumer privacy
US10990686B2 (en) 2013-09-13 2021-04-27 Liveramp, Inc. Anonymous links to protect consumer privacy
US8893294B1 (en) * 2014-01-21 2014-11-18 Shape Security, Inc. Flexible caching
US10587696B2 (en) * 2016-07-06 2020-03-10 Nasdaq, Inc. Systems and methods for monitoring cross-domain applications in web environments
US11050832B2 (en) * 2017-03-29 2021-06-29 Citrix Systems, Inc. Maintaining a session across multiple web applications
US10778668B2 (en) * 2017-06-02 2020-09-15 Dell Products L.P. HTTP session validation module
US10693972B2 (en) * 2017-08-25 2020-06-23 Salesforce.Com, Inc. Secure cross-domain session storage
US10826998B2 (en) 2018-07-19 2020-11-03 Adobe Inc. Protocol to initiate session with partner site

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545818A (zh) * 2001-07-20 2004-11-10 �׹��Ĺ��ʹ�˾ 独特的多信道协议上的多模式会话支持
CN1870539A (zh) * 2005-04-29 2006-11-29 三星电子株式会社 管理用户会话发起协议终端的地址信息的方法和服务器
CN101443749A (zh) * 2005-12-08 2009-05-27 北方电讯网络有限公司 会话启动协议(sip)多播管理方法
CN101465826A (zh) * 2008-12-16 2009-06-24 第三地带信息技术(深圳)有限公司 网络会话服务系统及方法
CN102474432A (zh) * 2009-08-21 2012-05-23 阿瓦雅公司 社交网络虚拟专用网络
CN102664909A (zh) * 2011-01-28 2012-09-12 微软公司 通过用户标识符重新建立推送通知信道
CN106716921A (zh) * 2014-09-29 2017-05-24 微软技术许可有限责任公司 会话历史范围控制

Also Published As

Publication number Publication date
US20200028916A1 (en) 2020-01-23
US11316931B2 (en) 2022-04-26
GB201903407D0 (en) 2019-04-24
GB2575703A (en) 2020-01-22
DE102019001658A1 (de) 2020-01-23
GB2575703B (en) 2020-09-23
AU2019201785B2 (en) 2021-08-12
US20210029203A1 (en) 2021-01-28
AU2019201785A1 (en) 2020-02-06
US10826998B2 (en) 2020-11-03
CN110740118A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
US11172042B2 (en) Platform-independent application publishing to a front-end interface by encapsulating published content in a web container
US10389698B1 (en) Technique for facilitating auto login to a website
US9552338B2 (en) Mechanisms to compose, execute, save, and retrieve hyperlink pipelines in web browsers
US20240037208A1 (en) Determining authentication sub-flow and client authentication based on tests transmitted to server-side software
US11316931B2 (en) Protocol to initiate session with partner site
US10579442B2 (en) Inversion-of-control component service models for virtual environments
US11611633B2 (en) Systems and methods for platform-independent application publishing to a front-end interface
US10367890B2 (en) Maintain single session with a single application across multiple clients
EP3614643B1 (en) Oauth2 saml token service
US9531703B2 (en) Single sign-on via application or browser
JP6877343B2 (ja) 非構造化メッセージの処理
US10452413B2 (en) System and method for navigating web-based application programs
AU2018390863B2 (en) Computer system and method for extracting dynamic content from websites
JP4807411B2 (ja) 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム
RU2610266C2 (ru) Способ и система предоставления доступа к файлу для веб-ресурса
US10659560B2 (en) Mobile device display preference
JP5881756B2 (ja) 情報提供装置、情報提供システム、情報提供プログラムおよび情報提供方法
JP2004220318A (ja) 情報処理装置及びこれに用いるプログラム

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