CN107431708A - 资源之间的会话转移 - Google Patents

资源之间的会话转移 Download PDF

Info

Publication number
CN107431708A
CN107431708A CN201680019248.XA CN201680019248A CN107431708A CN 107431708 A CN107431708 A CN 107431708A CN 201680019248 A CN201680019248 A CN 201680019248A CN 107431708 A CN107431708 A CN 107431708A
Authority
CN
China
Prior art keywords
session
resource
communication
page
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680019248.XA
Other languages
English (en)
Other versions
CN107431708B (zh
Inventor
A·哈尤迪诺夫
S·奥索博夫
A·波特拉
H·A·P·伊兰
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 CN107431708A publication Critical patent/CN107431708A/zh
Application granted granted Critical
Publication of CN107431708B publication Critical patent/CN107431708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/14Session management
    • H04L67/148Migration or transfer of sessions
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • 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/1083In-session procedures
    • 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/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

描述了针对资源之间的会话转移的技术,其中针对通信会话的会话数据在不同的基于网络的资源之间被转移,以使得在资源之间发生导航时通信会话能够继续。在一种方法中,采用经授权的资源可访问的共享会话存储来促进会话数据的转移。嵌入在由浏览器(或其他通信模块)呈现的不同资源的页面中的代码操作以将通信会话的会话数据存储在共享存储中。当在不同的页面之间发生导航时,确定对不同资源利用共享会话存储的授权,并且跨经授权的资源的页面重载而维持活跃的通信会话。这涉及取回存储在共享会话存储中的会话数据,并且将所取回的会话数据传递至通信服务以在导航发生之后重新连接至通信会话。

Description

资源之间的会话转移
背景技术
用户越来越依赖基于网络的资源以用于进行包括在线会议、屏幕分享、视频聊天、消息传送、以及另外的经由互联网的协作在内的商业和个人通信。一些基于网络的资源结合底层功能通过服务来实现通信会话。例如,作为网络服务提供的文档编辑应用可以包含使得用户关于编辑文档进行协作并且参与即时消息传送、视频聊天、屏幕共享、和其他通信会话的内置功能。传统上,支持通信会话集成的应用和网络服务以个体为基础和/或使用不同的服务和技术来这样做。因此,通信会话限于用于建立会话的特定应用,并且当在分别的基于网络的资源之间发生导航时发生断开。为了跨不同的基于网络的资源来进行协作,每当用户切换到不同的基于网络的资源时,用户被迫建立新的会话。因此,现有技术提供了用于跨资源继续通信会话的有限能力,并且涉及相当多的人工准备来建立会话。
发明内容
描述了针对资源之间的会话转移的技术,其中针对通信会话的会话数据在不同的基于网络的资源之间被转移,以使得在资源之间发生导航时通信会话能够继续。在一种方法中,采用经授权的资源可访问的共享会话存储来促进会话数据的转移。嵌入在由浏览器(或其他通信模块)呈现的不同资源的页面中的代码操作以将通信会话的会话数据存储在共享存储中。当在不同的页面之间发生导航时,确定对不同资源利用共享会话存储的授权,并且跨经授权的资源的页面重载而维持活跃的通信会话。这涉及取回存储在共享会话存储中的会话数据,并且将所取回的会话数据传递至通信服务以在导航发生之后重新连接至通信会话。
提供本发明内容以用简化的形式引入在以下的具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或主要特征,也不旨在用来帮助确定所要求保护的主题的范围。
附图说明
参考附图描述了具体实施方式。在图中,附图标记的最左边的数字标识了该附图标记第一次出现所在的图。在描述和图中的不同的实例中使用的相同的附图标记可以指代相似或相同的项。在附图中所表示的实体可以指示一个或多个实体,并且因此在以下讨论中可以互换地引用实体的单数或复数形式。
图1是用于采用针对资源之间的会话转移的技术的示例操作环境的示图。
图2描绘了根据一个或多个实现的示出了当发生跨资源的导航时继续会话的细节的示例场景。
图3是描绘了根据一个或多个实现的针对资源之间的会话转移的通信流中的示例操作的图。
图4是描绘了根据一个或多个实现的用于在客户端设备处转移通信会话的示例过程的流程图。
图5是描绘了根据一个或多个实现的用于促进资源之间的通信会话的转移的服务的示例过程的流程图。
图6示出了具有可以用于实现在本文中所描述的技术的方面的设备和组件的示例系统。
具体实施方式
概述
传统上,支持通信会话集成的应用和网络服务以个体为基础和/或使用不同的服务和技术来这样做。因此,现有技术提供了用于跨资源继续通信会话的有限的能力,并且当用户与不同的资源进行交互时可能需要相当多的人工准备来建立个体的会话。
描述了针对资源之间的会话转移的技术,其中,通信会话的会话数据在不同的基于网络的资源之间被转移,以使得通信会话在资源之间发生导航时能够继续。在一种方法中,采用经授权的资源可访问的共享会话存储来促进会话数据的转移。嵌入在由浏览器(或其他通信模块)呈现的不同资源的页面中的代码操作以将通信会话的会话数据存储在共享存储中。当在不同的页面之间发生导航时,确定不同资源利用共享会话存储的授权,并且跨经授权的资源的页面重载而维持活跃的通信会话。这涉及取回存储在共享会话存储中的会话数据,并且将所取回的会话数据传递至通信服务以在导航发生之后重新连接至通信会话。
在本文中所描述的针对资源之间的会话转移的技术提供了跨不同资源(例如,与应用套件的不同的网络应用相关联的页面)的通信会话的无缝转移和继续。共享会话存储用于使得受信任的资源能够交换会话数据并且维持会话,即使针对经由分别的且不同的页面、域、和/或提供方所提供的资源也是如此。例如,当切换到电子邮件应用以查阅相关的通信或拉起另一文档时,与多个参与者在使用文档编辑器应用时进行协作的项目的文档有关的正在进行的聊天被自动转移并且继续。由于用户不需要每当用户导航以访问不同的页面和/或资源时手动地建立不同的会话,因此该过程是高效的并且不会显著地中断正在进行的协作。额外地,当用户不能够在不同资源之间进行导航的同时继续现有的会话时,由于建立新的会话的事务发生较不频繁,因此网络业务被减少。
在以下的讨论中,首先描述了可以采用在本文中所描述的技术的示例环境。接着,描述了可以在示例环境以及其他环境中实现的示例细节和过程。因此,示例细节和过程不限于示例环境,并且示例环境不限于示例细节和过程。最后,讨论了可以被采用以实现在本文中所描述的技术的方面的示例系统和系统的组件。
示例环境
图1是用于采用了在本文中所描述的技术的示例实现中的环境100的示图。所示出的环境100包括经由网络108通信地耦合的客户端设备102、其他客户端设备104、以及服务提供方106。客户端设备102、其他客户端设备104、以及服务提供方106可以由一个或多个计算设备来实现,并且还可以表示一个或多个实体。
计算设备可以以多种方式来配置。例如,计算设备可以被配置为能够通过网络108进行通信的计算机,例如台式计算机、移动站、娱乐家电、通信地耦合至显示设备的机顶盒、无线电话、游戏控制台等。因此,计算设备的范围可以从具有大量存储器和处理器资源的完整资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持游戏控制台)。额外地,尽管在一些实例中示出了单个计算设备,但计算设备可以表示多个不同的设备,例如,通过商业利用以执行操作的服务提供方106的多个服务器等。在下文中关于图10描述了合适于实现在本文中所描述的技术的计算系统和设备的另外的示例。
尽管网络108被示出为互联网,但所述网络可以采用宽泛的多种配置。例如,网络108可以包括广域网(WAN)、局域网(LAN)、无线网络、公共电话网络、内联网、对等网络等。此外,尽管示出了单个网络108,但网络108可以被配置为包括多个网络。
客户端设备102还被示出为包括操作系统110。操作系统110被配置为将底层设备的底层功能抽象至在客户端设备102上执行的应用112。例如,操作系统110可以抽象处理、存储器、网络、和/或显示功能以使得应用112能够在不知道底层功能“如何”实现的情况下被写。例如,应用112可以将数据提供至操作系统110,以供显示设备在不理解将如何执行该呈现的情况下如所示出的那样呈现和显示。通常与客户端设备相关联的多种应用112被构想为包括但不限于:集成了多个办公室生产力模块的生产力套件、网络浏览器、游戏、多媒体播放器、文字处理器、电子表格程序、照片管理器等。
客户端设备102和其他客户端设备104各自被示出为包括通信模块114。通信模块表示经由网络108实现各种类型的通信的功能。通信模块的示例包括用于访问网络内容的浏览器、语音通信应用(例如,VoIP客户端)、视频通信应用、即时消息传送应用、内容共享应用及其组合。例如,通信模块114使得不同的通信模态能够被组合以提供多种通信场景。这包括但不限于实现用于网络浏览、用户在线指示、视频通信、在线协作和会议体验、即时消息传送(IM)、以及语音通话的集成功能。此外,通信模块可以用于访问在线资源(例如,内容和服务)、浏览网页和网站、建立与服务提供方和其他客户端的通信连接等。在至少一些实现中,通信模块114表示本地地部署和安装在客户端设备上的应用。额外地或可替代地,通信模块114可以全部或部分地被实现为经由网络浏览器(例如,网络应用)访问和执行的远程应用、使用对等技术的来自提供方的远程服务等。
根据在本文中所描述的技术,通信模块114可以用于在端点之间(例如,在服务提供方与一个或多个客户端之间和/或直接地在客户端之间)建立通信会话116。例如,通信会话116可以使得各种消息、媒体流(例如,音频/视频)、内容等能够在如图1所示的端点之间进行交换。在一个或多个实现中,通信会话116表示使用通信模块114发生的基于网络的实时通信,通信模块114可以被配置为网络浏览器、基于云的网络应用、客户端应用、或另外的应用。
除了使能通信会话116之外,通信模块114用于实现用于进行网络浏览以搜索、定位、访问、下载、呈现、以及以其他方式与资源页面118进行交互的功能。资源页面118表示通常通过网络从提供方可获得以由网络浏览器来呈现的各种文档和页面。资源页面118还可以包括本地文件和资源。资源页面118表示使用XML、HTML、脚本、样式表、图像等来配置的标记语言文档。
额外地,通信模块114可以包括或利用会话转移模块120,其被配置为实现如在本文中所描述的针对资源之间的会话转移的技术的方面。例如,会话转移模块120表示用于获得和存储与会话存储122中的通信会话114有关的数据的功能。如在本文中详细讨论的,会话转移模块120和会话存储122提供了这样的机制,其用于在经授权的资源之间转移会话数据,并且由此当发生对不同的资源的导航时继续对应的通信会话。如图所示的会话存储122表示可以用于安全地存储和控制对会话相关数据的访问的本地存储。另外地或可替代地,会话存储122可以被配置为与客户端设备102和/或用户帐户相关联的远程存储。可以采用远程存储方法来支持向用户帐户认证的不同设备之间的通信会话的漫游。例如,用户在一些交互场景中可以想要在膝上型计算机与移动电话设备之间转移会话。
会话转移模块120可以以任何合适的方式来实现。例如,会话转移模块120可以被实现为另一应用的组件,例如是浏览器或其他通信模块114的集成的组件。另外地或可替代地,会话转移模块120可以被提供为各种应用112可以利用以如在本文中所描述的那样转移通信会话116的独立的模块。在另一示例方法中,会话转移模块120表示由嵌入在资源页面118内的代码/脚本所实现的功能。例如,页面的指定容器或框架可以被配置为实现关于会话转移模块120所描述的功能。
如在图1中所描绘的服务提供方106包括用于管理可以通过网络108可获得的各种资源124的功能。例如,服务提供方106可以经由网页(例如,资源页面118)或通过网络进行通信的其他用户界面来提供各种资源124,以用于由一个或多个客户端经由网络浏览器或其他客户端应用来输出。服务提供方106被配置为管理对资源124的访问、资源的性能、以及用于提供资源124的用户界面的配置等。服务提供方106可以表示用于提供各种资源124的一个或多个服务器设备。
通常而言,由服务提供方106可访问的资源124可以包括通常由一个或多个提供方通过网络可获得的服务和/或内容的任何合适的组合。服务的一些示例包括但不限于搜索服务、电子邮件服务、即时消息传送服务、在线生产力套件、以及用于控制客户端对资源124的访问的认证服务。内容可以包括文本、多媒体流、文档、应用文件、照片、音频/视频文件动画、图像、网页、网络应用、设备应用、用于由浏览器或其他客户端应用显示的内容等的各种组合。可以由相同的服务提供方、由一个或多个服务、和/或经由多个不同的服务提供方来提供各种不同的资源124和服务。
在图1中表示的额外的示例资源124包括资源套件126、通信服务128、以及验证服务130。资源套件126表示相关资源的分组,例如由提供方封装在一起的网络应用的分组。通常而言,资源套件126中的不同资源提供分别的和不同的功能,并且是经由不同的域和页面提供的。然而,该套件可以作为分组来销售,并且提供方使能作为分包对多个资源进行组合访问和/或订阅。套件可以将与常见分类相关的服务和功能进行分组,所述常见分类例如商业/办公生产力套件、桌面应用套件、图像编辑套件、游戏套件、开发者套件等。套件的具体示例包括但不限于Office 365和Google DocsTM
通信服务128表示用于执行对通信会话116的管理以及客户端设备102与其他客户端设备104之间交互的各种任务的服务。例如,通信服务128可以用于管理针对客户端的通信会话116的启动、调节、以及终止。通信服务128可以集成以下中的一个或多个的功能:VoIP通话、在线会面和会议、屏幕共享、统一通信和协作(UC&C)服务、即时消息传送、视频聊天等。通信服务128还可以被实现为或者被连接至与公共开关电话网络(“PSTN”)进行通信的专用分支交换机(PBX),以实现客户端终端与其他设备之间的语音通信。
与会话相结合,通信服务128还生成定义会话并使得客户端能够连接至会话的会话数据132。作为建立通信会话的一部分,通信服务128将各种会话数据132传送至客户端以促进由浏览器或其他通信模块114对会话的建立。因此,会话数据132表示用于经由通信服务114建立通信会话的各种参数,包括但不限于以下中的一个或多个:用户标识符、会话标识符、针对通信会话的客户端端点的标识、会话URL、或会话安全凭证。
验证服务130表示用于针对在资源之间共享会话数据132来验证资源的功能。在一个或多个实现中,验证服务130被配置为定义并强制针对会话转移的信任策略。例如,验证服务130可以包括被配置为在资源之间对经授权和未经授权以访问共享会话存储122的资源进行区分的信任列表134。由信任列表134所反映的授权可以在个体的基础上与资源相关联。额外地,授权可以是特定于客户端设备的和/或特定于用户帐户的。信任列表134可以以各种方式被配置为指示资源之间的区别。在一种方法中,信任列表134被配置为标识经授权的资源的白名单。可替代地,信任列表134可以被配置为指示没有被授权并且因此被阻止访问共享会话存储122的资源的阻止列表。信任列表134还可以被配置为数据库,该数据库被暴露给客户端以使能查找对应的资源的授权。
通常而言,验证资源涉及针对信任列表134来检查资源以确定对访问会话存储的对应的授权。在一个或多个实现中,验证服务130可以被配置为将完整的信任列表134供应给客户端设备以例如通过会话转移模块120的操作来在客户端处实现授权确定。在另一方法中,客户端可以将关于资源的查询发送至验证服务130,验证服务130响应于该查询而将关于对应的授权的指示提供回客户端。关于以下附图描述了与资源之间的会话转移的这些和其他方面有关的额外细节。
在已经考虑了前述示例环境之后,现在考虑根据一个或多个实现的一些另外的细节、示例、和过程的讨论。
示例会话转移细节
为了进一步示出可以采用以在资源之间转移会话的技术,现在考虑对在图2-图5中描绘的一些示例细节、场景、和过程的讨论。通常而言,可以在该文档稍后描述的示例过程的上下文中采用关于上文和下文中的示例描述的功能、特征、和概念。此外,关于该文档中的不同附图和示例描述的功能、特征、和概念可以彼此互换,并且不限于特定附图或过程的上下文中的实现。此外,与本文中的不同的代表性操作、过程、和个体的附图相关联的框可以一起被应用和/或以不同的方式被组合。因此,关于本文中的不同示例环境、设备、组件、和过程描述的个体的功能、特征、和概念可以以任何合适的组合来使用,并且不限于由在本说明书中枚举的示例所表示的特定组合。
示例场景
图2在200处概括地描绘了示例场景,该示例场景示出了根据一个或多个实现的当发生跨资源的导航时继续会话的细节。在所描绘的示例中,视图“A”示出了其中呈现第一资源的网络应用页面202的通信模块114的示例界面。在该示例中,资源124被表示为作为如前所述的资源套件126的一部分从服务提供方106可获得的电子表格应用。网络应用页面202可以使用合适的通信模块114(例如,浏览器)从服务提供方106通过网络来访问。网络应用页面202额外地被配置为支持与应用的底层应用功能相结合的通信会话功能。例如,聊天会话(或其他通信会话116)可以通过通信服务128从电子表格应用的网络应用页面202内直接发起,如在图2中由聊天会话元素203所表示的。
示例网络应用页面202额外地包括用于支持以在本文中所描述的方式在资源之间转移会话的功能。特别地,网络应用页面202可以被配置为包括嵌入式脚本/代码,其用于发起和/或执行关于会话转移模块120在本文中所描述的操作。这样的操作可以包括但不限于通过与通信服务128的交互来获得会话数据132、当适当时将会话数据存储在会话存储122中、在页面被加载/重载时访问会话存储122以获得会话数据、利用会话数据来连接/重新连接至与通信服务128的现有活动的会话等。操作还可以包括访问并利用信任列表134或相似的信任断定以确定针对存储在会话存储122中的会话数据132的资源124的授权。因此,脚本/代码用于实行对会话数据的存储和转移,以用于使用共享会话存储来转移通信会话。
在图2的示例中,会话转移模块120的功能是经由网络应用页面202的框架204实现的。框架204表示被配置为访问来自与该页面的域不同的外部源的内容的页面内合适的元素或容器。换句话说,该页面的主要内容和框架的内容的源与不同的域、网站、和/或URL相对应。根据在本文中所描述的技术,框架204可以是实现用于会话转移的操作的隐藏框架(例如,不可见的页面元素),所述操作包括用于获得会话数据和信任列表、建立会话连接、验证资源等的与一个或多个服务的交互。框架204可以是不能由外部代码修改的沙盒部分。如在本文中所描述的框架可以包括内联框架(例如,内嵌框架),所述内联框架被配置为使能将来自外部源的内容包括在页面中。页面的不同部分可以与不同的内嵌框架相对应。例如,主页面内容、聊天会话、以及会话转移模块可以经由针对页面的不同的对应内嵌框架来实现。也考虑框架的其他配置。
当页面(例如,示例网络应用页面202)被加载时,会话转移模块120操作以访问会话存储122从而获得针对活动会话的会话数据(如果可获得)。接着,网络应用页面202可以被连接至现有会话。例如,正在进行的聊天会话的消息可以经由聊天会话元素203而被暴露。以该方式,支持跨不同资源的协作的页面的通信功能被配置为当合适的会话数据可用时继续活动会话。
额外地,当通信会话经由页面被初始建立时,会话转移模块120操作以通过与服务的交互来获得对应的会话数据132,并且经由会话存储132来存储会话数据。会话数据132的存储可以依赖于根据由信任列表134或以其他方式指定的授权的资源验证来执行。验证可以防止不受信任的资源劫持会话,并且还可以避免存储不支持会话转移的资源的数据。
当在受信任的资源之间发生导航时,采用来自会话存储120的会话数据132来维持通信会话跨受信任的资源的连续性。例如,视图“B”示出了在从视图A导航以访问不同资源之后的通信模块114的界面。特别地,呈现针对不同资源的网络应用页面206。在这里,资源124被表示为电子邮件应用,所述电子邮件应用可以作为资源套件的一部分与电子表格应用一起被包括。当然,电子邮件应用可以可替代地是从同一提供方或者甚至从支持在上文中和在下文中所描述的技术的不同的提供方处可获得的独立的资源。
与视图A中的页面一样,视图B的网络应用页面206被配置为支持通信会话功能,并且也包括用于支持以在本文中所描述的方式在资源之间转移会话的功能。因此,示例网络应用页面206包括聊天会话元素207和相应的框架208。当网络应用页面206被加载时,经由该框架实现的会话转移模块120操作以验证针对会话转移的页面。这可以通过以在本文中所描述的各种方式访问、参考、和/或查询信任列表134来发生。只要电子邮件应用被授权使用会话存储122,则会话转移模块120取回会话数据122。与会话数据122一同包括的设定参数用于将网络应用页面206连接至活跃会话。这进而使得聊天会话元素207的配置经由视图A的页面来加载参与的聊天会话,并且由此能够经由视图B的网络应用页面206来继续聊天会话。
示例通信流
在前述示例环境和场景的上下文中,图3描绘了具有以使得客户端能够跨不同资源继续通信会话的方式在客户端/浏览器与一个或多个服务之间进行的通信流的图。通信流可以利用先前所描述的系统、组件、和设备来实现。在通信流中所描绘的示例操作的方面可以以硬件、固件、或软件、或其组合来实现。这些操作被示出为指定由一个或多个设备执行的动作的一组框,并且不一定限于用于执行所述操作的所示出的特定顺序。
客户端请求第一应用(即,应用“A”)的页面(框302)。可以响应于经由浏览器或其他通信模块执行导航以访问从一个或多个服务提供方可获得的资源的用户输入而形成所述请求。服务提供方可以提供将资源暴露给客户端并且控制对资源的访问的各种服务。响应于该请求,一个或多个服务操作以认证客户端并处理该请求(框304)。例如,认证服务可以验证在请求中供应的凭证以确定对客户端访问资源的授权。资源管理器可以处理该请求并将该请求路由到合适的服务以供处理。如果客户端被成功认证,则应用A的页面被配置并且被传送至客户端(框306)。接着,客户端呈现应用A的页面(框308)以使能与应用的对应功能进行交互。
应用A可以支持如在本文中所描述的用于协作的集成功能。可以调用功能(例如,聊天元素、屏幕共享窗口、VOIP通话元素、或另一类型的协作的元素)以发起会话(框310)。这可以涉及将会话创建请求发送至通信服务128,以使得在与相应的端点客户端设备相关联的指定参与者之间创建对应的会话。
响应于会话创建请求,通信服务创建会话(框312)。一旦会话被创建,则通信服务可以操作以将会话数据132和/或信任列表134传送至与会话的参与者相关联的一个或多个客户端(框314)。
例如,可以创建各种会话数据132,所述会话数据132定义会话并且包括设定参数以使得客户端能够连接至会话和/或配置页面的元素支持通信会话。通信服务114还可以与验证服务130进行交互或者以其他方式利用验证服务130来获得信任列表134或指示资源的授权的其他相似的数据从而将会话从一个转移至另一个。另外地或可替代地,当页面被配置和/或被加载以暴露信任列表以供客户端使用时,可以调用验证服务130。客户端能够访问并下载信任列表、与验证服务130进行交互以关于资源进行查询、或者以其他方式确定哪些资源被授权和哪些没有被授权使用共享会话存储。
继续示例中的客户端使用由服务所供应的数据经由应用A的页面来激活会话功能(框316)。例如,功能(例如,聊天元素)基于由通信服务返回的会话数据132而被配置为连接至对应的会话、接收会话的通信/消息、以及呈现会话消息的视图。因此,用户能够通过与应用A集成的协作的内置特征来结合应用A的底层功能参与通信会话(聊天、共享等)。
额外地,客户端执行用于促进将会话/会话数据转移到其他资源的操作。特别地,客户端验证应用A并将会话数据存储在共享会话存储中(框318)。如前所述,验证可以经由验证服务130和/或由验证服务130所供应的信任列表134而发生。在这里,在将数据写至共享会话存储之前执行检查以确保应用A被授权这样做。在应用A没有被授权的情况下,可以阻止存储并且因此客户端不能够将当前会话转移至另一资源。假设应用A被授权,则会话数据被包括在共享会话存储中,并且接着当在资源之间发生导航时可访问以由其他经授权的资源来使用。
随后,用户可以选择与不同的资源进行交互,并且经由浏览器提供输入以使得导航以访问资源。例如,对至不同资源(例如,应用B)的链接的选择可以由浏览器来检测。这使得客户端请求与应用B对应的页面(框320)。响应于该请求,一个或多个服务可以再次操作以认证客户端并处理该请求(框322)。如果客户端被成功认证,则应用B的页面被配置并且被传送至客户端(框324)。接着,应用B的页面由客户端来呈现(框326)。这样做有效地将应用A与会话断开,这是因为客户端/浏览器不被引导至不同的资源,即应用B。然而,可以利用已经被存储的会话数据132来通过将客户端经由应用B的页面重新连接至会话来继续会话。
为此,客户端验证应用B并从共享会话存储取回会话数据(框328)。再一次,验证可以经由验证服务130和/或由验证服务130所供应的信任列表134而发生,如前所述。在这里,执行检查以确保应用B是被授权使用来自共享存储的所存储的会话数据的受信任的资源。在应用B不受信任的情况下,数据是不可访问的,在该情况下会话被中断并且经由应用B的页面的进一步协作将需要发起新的会话。假设应用B是受信任的,则会话数据从共享会话存储中被取回并且用于经由应用B的页面来恢复会话功能。例如,客户端可以形成使用从会话数据中所提取的设定参数的会话连接请求,所述设定参数例如会话ID、会话URL、以及其他合适的数据。会话连接请求被传送至通信服务128,通信服务128使得通信服务经由应用B的页面将客户端重新连接至会话。接着,针对该会话的业务和消息被引导至应用的页面,并且特别地被引导至与页面集成的通信功能,例如聊天窗口、共享屏幕视图、VOIP呼叫元素等。
应当注意的是,在针对新资源的页面被加载时,以该方式在资源之间切换会话的过程迅速发生。由此,从参与者的角度来看,正在进行的协作中几乎没有或没有明显的中断。额外地,当在不同客户端处发生转移过程期间,连接至会话的远程参与者的端点客户端保持连接至会话。一旦恢复连接,服务就进行将业务/消息传送至正确的资源/端点,而不改变或中断端点客户端连接。关于以下额外的过程来讨论进一步的细节。
示例过程
以下讨论描述了可以利用先前所描述的系统和设备来实现的技术。可以以硬件、固件或软件、或其组合来实现过程中的每个过程的方面。这些过程被示出为指定由一个或多个设备执行的操作的一组框,并且不一定限于用于由相应的框来执行操作的所示出的顺序。在以下讨论的部分中,可以参考图1的环境100和图2-图3的实例。例如,过程的方面可以由适当地配置的计算设备(例如,包括或以其他方式使用通信模块114和/或会话转移模块120的客户端设备)来执行。过程的方面也可以由一个或多个服务器设备(例如,与被配置为提供各种资源124的服务提供方106相关联的服务器)来执行。
图4是描绘了根据一个或多个实现在客户端设备处转移通信会话的示例过程400的流程图。加载与从服务提供方可获得的第一应用相关联的页面(框402)。例如,如先前所讨论的,通信模块114可以用于访问从服务提供方106可获得的各种资源124并且与从服务提供方106可获得的各种资源124进行交互。通信模块114可以被配置为用于获得和呈现与资源相关联的资源页面118的浏览器或其他合适的应用。资源可以包括资源套件126以及其他页面、内容、和服务。资源中的至少一些资源可以集成通信功能以支持协作以及应用功能,例如聊天、即时消息传送、屏幕共享、协作文档编辑、评论等。
结合所加载的页面在多个客户端之间发起通信会话(框404)。例如,与第一应用相关联的通信功能可以被调用以经由通信服务128来建立作为参与者之间的会话。接着,经由嵌入在页面内的代码来获得会话的会话数据(框406),并且将会话数据存储在被暴露以用于由经授权的资源使用的共享会话存储中(框408)。
例如,会话转移模块120可以如在本文中所描述的那样操作以获得由客户端参与的协作会话的会话数据。通常而言,会话数据包括用于经由通信服务设定通信会话的参数,所述参数包括以下中的一个或多个:用户标识符、会话标识符、针对通信会话的客户端端点的标识、会话URL、或会话安全凭证。可以以各种方式来配置会话数据。例如,可以以从服务传送至与会话相关联的不同端点的二进制大对象(BLOB)的形式来创建会话数据。BLOB可以被加密以用于安全通信。在另一种方法中,会话数据可以经由被提供至端点的链路、数字令牌、凭证、或cookie是可访问的,以使能从对应的数据库和/或存储位置取回会话数据。
为了在不同资源之间交换数据,会话转移模块120利用被暴露给不同的受信任的资源的共享会话存储122。会话转移模块120可以由嵌入在资源页面内的代码来实现。在一个示例中,所述代码是经由被配置为访问来自与该页面的域不同的外部源的内容的页面的框架而实现的。这样的框架的一个示例是内联框架或内嵌框架。内嵌框架内的代码实现了用于获得、存储、和使用会话数据并且利用会话存储122以在资源之间交换所述会话数据的操作。
在一种方法中,经共享的会话存储是经由与客户端设备相关联的本地存储来实现的。在该情况下,针对会话的转移的处理在本地发生,并且因此使服务器客户端往返最小化(例如,减少的网络业务)。另外地或可替代地,共享会话存储可以经由远程存储来实现,该远程存储使得会话数据能够在向被授权访问远程存储的帐户认证的不同设备之间漫游。在一个或多个实现中,基于计算设备向与会话数据相关联的用户帐户的认证来控制对存储在共享会话存储中的会话数据的访问。在该情况下,只要在使用不同资源时客户端登录到同一用户帐户,就允许资源之间的转移。如果与用于存储数据的用户帐户不同的用户帐户是活跃的,则转移受限。
在导航到至与第二应用相关联的分别的页面之后,将通信会话转移至所述分别的页面(框410)。如在本文中所述,在被配置为实现转移的所定义的一组受信任的资源之间转移会话/会话数据。这样的资源(其示例包括示例过程的第一应用和第二应用)支持协作功能以及与由所述应用通过经由通信服务设定的通信会话所提供的应用功能。另外,资源被包括在被授权使用共享会话存储的一组受信任的资源中。在一个或多个实现中,不同资源被包括在由服务提供方所提供的多个资源的套件中。然而,本文讨论的技术还可以应用于分别的资源和来自不同的提供方的资源。不同的资源可以是经由针对不同资源分别的且有区别的不同的域和对应的页面来实现的。由此,由通信模块/浏览器施加的安全限制由于允许这样的事务的安全暴露而阻止直接继续跨不同域的会话。使用在本文中所描述的共享会话存储提供了用于安稳且安全地实现跨不同域的受信任的资源的会话转移的机制。
为了实行转移,将分别的页面验证为被授权经由嵌入在分别的页面内的代码来使用共享会话存储的资源(框412)。所述验证可以涉及确定分别的页面是否被包括在指定被授权使用共享会话存储的受信任的资源的信任列表中。不受信任的资源被阻止使用共享存储,并且由此转移过程是安全的。
假设分别的页面是受信任的,则会话数据从共享会话存储中被取回(框414),并且使用从共享会话存储中取回的会话数据将分别的页面连接至通信会话(框416)。分别的页面的连接涉及从会话数据中提取用于会话的合适的参数。在一种方法中,数据可能在一段时间之后过期,因此可以进行检查以确保该会话不是过时的。如果存在由参数指示的活跃的会话,则连接至会话的请求使用参数而形成并且被传送至通信服务。作为响应,通信服务操作以通过第二应用将客户端重新连接至会话。例如,通信服务更新会话的端点以与第二应用而不是第一应用相对应。接着,会话的消息/业务被重新引导至第二应用,这使得会话能够继续。在资源之间的转移的过渡期期间发生会话的消息和其他交换的情况下,通信服务对这些消息进行排队,并且在重新连接后发送经排队的消息以进行追赶。
图5是描绘了根据一个或多个实现的用于促进资源之间的通信会话的转移的服务的示例过程500的流程图。客户端设备被认证以访问从一个或多个服务提供方可获得的资源的套件(框502)。例如,服务提供方106可以包括认证服务或者利用认证服务来验证客户端凭证(例如,用户名/密码)以控制对各种资源的访问。特别地,认证服务使用各种协议来实现认证序列以确定正在寻求对资源的访问的用户是声称它们将被访问和/或被授权访问所述资源的人。可以被利用的示例认证协议包括但不限于:Kerberos、活动目录联合服务(ADFS)、以及主机标识协议(HIP)等。认证服务针对作为用户账户数据的一部分而与账户相关联地维持的凭证(例如,用户ID、密码、密钥、共享的秘密等)来验证所断定的凭证。当认证成功(例如,客户端“是他们所声称的对象”)时,认证服务可以发布令牌(例如,TGT、加密的二进制大文件、cookies、和/或其他合适的登录凭证)以使能访问对应的资源。
单个认证可以与一个或多个资源124相对应,这使得通过“单个登录”对单个帐户的认证可以提供对个体的资源、来自多个服务提供方106的资源、和/或从服务提供方106可获得的资源的整个套件的访问。因此,在成功验证凭证之后,客户端登录到用户帐户,并且因此可以被给予对针对账户授权的资源124的访问。如果认证服务不能验证凭证,则拒绝对资源的访问、输出重新尝试验证的提示等。
响应于针对访问与套件的第一资源相关联的页面的请求,该页面被传送以用于由客户端设备来输出,该页面包括用于使用对不同资源可访问的共享会话存储而在不同资源之间转移通信会话的功能(框504)。例如,客户端可以在成功认证之后使用浏览器或其他通信模块114来与各种资源进行交互并且在各种资源之间进行导航。服务提供方106可以接收并且处理针对由客户端结合交互所传送的资源的请求。当获得了针对特定资源和/或页面的请求时,服务提供方106提供足以使浏览器能够呈现该页面的数据。根据在本文中所描述的技术,资源套件126内的资源和/或从服务提供方可获得的其他资源被配置有用于支持通信会话的内置功能。额外地,页面被配置为包括或利用会话转移模块120或类似的功能以支持用于在不同的受信任的资源之间转移会话/会话数据的技术。
创建通信会话以使用由与参与者相关联的客户端设备所执行的相应的通信模块来在参与者之间实现结合第一资源的在线协作(框506)。接着,将通信会话的会话数据发送至客户端设备以使得经由用于转移通信会话的功能将会话数据存储在共享会话存储中(框508)。例如,用户可以与内置到第一资源的页面的功能进行交互以发起或加入通信会话。用于在与多个端点相关联的端点之间建立通信会话的请求被形成并且被传送至通信服务128以使得创建会话。响应于这样的请求,通信服务128操作以创建会话并生成对应的会话数据132,例如会话ID、端点ID、会话链接、和其他设定参数。通信服务128将会话数据132传送至客户端设备以使得端点能够建立和连接至会话。通信服务128可以额外地将指示被授权访问共享会话存储的资源的信任列表134供应给客户端设备。信任列表可以由客户端设备使用以在资源之间转移会话数据之前验证资源。信任列表134可以与会话数据132一同被传送或者经由在不同时间发生的分别的交互来传送。
如所述的,会话数据132和信任列表134可以通过与嵌入在资源页面内的代码(例如,经由与页面相关联的内嵌框架或其他合适的内容容器实现的会话转移模块120)的交互而被传送至客户端。嵌入的代码操作以将会话数据存储在指定的会话存储(本地的或远程的)中,从而促进如在本文中所描述的资源之间的转移。因此,经由内嵌框架或其他方式嵌入在页面中的代码用于实行对会话数据的存储和转移,以用于使用合适的共享会话存储来转移通信会话。
响应于对访问与第二资源相关联的不同的页面的请求,传送不同的页面以用于由客户端设备输出,所述不同的页面包括用于转移通信会话的相应的功能(框510)。在这里,对访问不同的页面的导航使得服务提供足以使能由客户端输出合适的页面的数据。第二资源的页面还被配置为经由通信会话和资源之间的转移来支持协作。应当注意的是,由于浏览器不再被引导至第一资源,因此对访问与第二资源相关联的不同的页面的导航可以使得第一资源与通信会话断开。因此,当不同的页面被加载时,浏览器执行以重新连接至会话。在一个或多个实现中,页面内的代码(例如,会话转移模块)被调用以使用信任列表将资源验证为受信任的,并且如果在会话存储122中可获得,则取回活跃的会话的会话数据。
如果现有的会话是可获得的,则试用对应的会话数据来形成用于经由与第二资源相关联的不同的页面而重新连接至会话的请求。该请求被传送至服务以使的由服务进行操作以重新建立连接。特别地,从与第二资源相关联的不同的页面接收到会话连接请求,该请求包括通过不同的页面的相应功能从共享会话存储中取回的通信会话的会话数据(框512)。接着,客户端设备根据连接请求中供应的会话数据而重新连接至通信会话,从而继续与第二资源相结合的在线协作(框514)。例如,通信服务128处理会话连接请求,并且重新配置端点以对应于与第二资源相关联的页面。以该方式,客户端经由第二资源而重新连接至会话,并且正在进行的协作会话能够继续而几乎没有或没有明显的中断。
在已经考虑了一些示例过程之后,现在考虑可以用于实现在本文中在一个或多个实现中所描述的技术的方面的示例系统和设备的讨论。
示例系统和设备
图6在600处概括地示出了示例系统,其包括表示可以实现在本文中所描述的各种技术的一个或多个计算系统和/或设备的示例计算设备602。计算设备602可以是例如服务提供方的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统、和/或任何其他合适的计算设备或计算系统。
如图所示的示例计算设备602包括彼此通信地耦合的处理系统604、一个或多个计算机可读介质606、以及一个或多个I/O接口608。尽管未示出,但计算设备602还可以包括将各种组件彼此耦合的系统总线或其他数据和命令转移系统。系统总线可以包括不同总线结构中的任何一个或组合,例如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用多种总线架构中的任何一个的处理器或本地总线。还考虑了多种其他示例,例如控制和数据线路。
处理系统604表示用于使用硬件来执行一个或多个操作的功能。由此,处理系统604被示出为包括可被配置为处理器、功能块等的硬件元件610。这可以包括作为应用专用集成电路或使用一个或多个半导体形成的其他逻辑器件的硬件实现。硬件元件610不受形成该硬件元件的材料或其中采用的处理机制的限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))组成。在这种上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质606被示出为包括存储器/存储612。存储器/存储612表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储612可以包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如,只读存储器(ROM)、闪速存储器、光盘、磁盘等)。存储器/存储612可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪速存储器、可移动硬盘驱动器、光盘等)。计算机可读介质606可以以如在下文中进一步描述的多种其他方式来配置。
输入/输出接口608表示用于允许用户将命令和信息输入计算设备602,并且还允许使用各种输入/输出设备将信息呈现给用户和/或设备的其他组件的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容式传感器或其他传感器)、相机(例如,采用可见或诸如红外频率之类的不可见的波长来检测不涉及触摸的运动,例如姿势)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备602可以以如下进一步描述的多种方式来配置以支持用户交互。
可以在本文中在软件、硬件元件、或程序模块的一般上下文中描述各种技术。通常而言,这样的模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、单元、组件、数据结构等。在本文中所使用的术语“模块”、“功能”、和“组件”通常表示软件、固件、硬件、或其组合。在本文中所描述的技术的特征是与平台无关的,这表示该技术可以在具有多种处理器的多种商业计算平台上实现。
可以将所描述的模块和技术的实现存储在一些形式的计算机可读介质上或者跨一些形式的计算机可读介质而发送。计算机可读介质可以包括能够由计算设备602访问的多种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“通信介质”。
“计算机可读存储介质”是指与仅信号传输、载波、或信号本身相比能够存储信息的介质和/或设备。因此,计算机可读存储介质不包括信号承载介质或信号本身。计算机可读存储介质包括以合适于存储信息(例如,计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其他数据)的方法或技术来实现的硬件,例如易失性和非易失性、可移动和不可移动的介质和/或存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、硬盘、盒式磁带、磁带、磁盘存储或其他磁存储设备、或其他存储设备、有形介质或合适于存储所期望的信息并且能够由计算机访问的制品。
“通信介质”可以是指被配置为例如经由网络将指令发送至计算设备602的硬件的信号承载介质。通信介质通常可以实施计算机可读指令、数据结构、程序模块、或调制的数据信号(例如载波、数据信号、或其他传输机制)中的其他数据。信号介质还包括任何信息传递介质。术语“经调制的数据信号”表示具有以将信息编码在信号中的方式来设置或改变的其特征中的一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如声学、RF、红外、和其他无线介质)。
如前所述,硬件元件610和计算机可读介质606代表以硬件形式实现的指令、模块、可编程设备逻辑和/或固定的设备逻辑,其可以在一些实施例中被采用以实现在本文中所描述的技术中的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、以及硅或其他硬件设备中的其他实现。在该上下文中,硬件元件可以运行为执行由指令、模块、和/或逻辑所定义的程序任务的处理设备,所述指令、模块和/或逻辑由被使用以存储指令以用于执行的硬件元件以及硬件设备(例如,之前所描述的计算机可读存储介质)来实施。
可以采用前述内容的组合来实现在本文中所描述的各种技术和模块。由此,包括应用112、通信模块114、会话转移模块120、通信服务128、和其他程序模块的软件、硬件、或程序模块可被实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件610实施的一个或多个指令和/或逻辑。计算设备602可以被配置为实现与软件和/或硬件模块相对应的特定的指令和/或功能。由此,能够由计算设备602作为软件执行的模块的实现可以至少部分地以硬件(例如,通过对处理系统的计算机可读存储介质和/或硬件元件610的使用)来完成。指令和/或功能可以由制品(例如,一个或多个计算设备602和/或处理系统604)执行/操作以实现在本文中所描述的技术、模块、和示例。
如在图6中进一步示出的,当在个人计算机(PC)、电视设备、和/或移动设备上运行应用时,示例系统600支持针对无缝的用户体验的普遍的环境。对于当在利用应用程序、玩可视游戏、观看视频等的过程中从一个设备转移到下一个时的普通的用户体验而言,服务和应用在所有三种环境中大体相似地运行。
在示例系统600中,多个设备通过中央计算设备被互连。中央计算设备可以对于多个设备来说是本地的或者可以远程于多个设备。在一个实施例中,中央计算设备可以是通过网络、互联网、或其他数据通信链路连接至多个设备的一个或多个服务器计算机的云。
在一个实施例中,该互连架构支持待跨多个设备而被传递以向多个设备的用户提供共同和无缝的体验的功能。多个设备中的每个都可以具有不同的物理要求和能力,并且中央计算设备使用平台以使能够将既针对该设备定制并且还对所有设备共同的体验传递至设备。在一个实施例中,创建了一类目标设备,并且针对一般类型的设备来定制体验。可以由设备的物理特征、使用类型、或者其他共同的特性来定义设备的类。
在各种实现中,计算设备602可以假设多种不同的配置,例如,以供计算机614、移动616、以及电视618使用。这些配置中的每个都包括可以具有一般不同结构和能力的设备,并且因此计算设备602可以根据不同的设备类中的一个或多个而被配置。例如,计算设备602可以被实现为设备的计算机614类,该类包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备602还可以被实现为设备的移动616类,该类包括移动设备,例如,移动电话、便携式音乐播放机、便携式游戏设备、平板计算机、可穿戴设备、多屏幕计算机等。计算设备602还可以被实现为设备的电视618类,其包括具有或连接至随意查看环境中的通常较大的屏幕的设备的。这些设备包括电视、机顶盒、游戏控制器等。
在本文中所描述的技术可以由计算设备602的这些各种配置来支持,并且不限于在本文中所描述的技术的具体示例。这通过在计算设备602上包括通信模块114而被示出。通信模块114和其他模块的功能也可以通过使用分布式系统(例如,如在下文中所描述的通过经由平台622的“云”620)全部或部分地被实现。
云620包括和/或代表资源624的平台622。平台622提取了云620的硬件(例如,服务器)和软件资源的基础功能。资源624可以包括当在远程于计算设备602的服务器上执行计算机处理时可以被使用的应用和/或数据。资源624还可以包括通过互联网和/或通过订阅者网络(例如,蜂窝或Wi-Fi网络)提供的服务。
平台622可以提取资源和功能以将计算设备602与其他计算设备进行连接。平台622还可以用来提取资源的放缩,以对针对经由平台622所实现的资源624的所遇到的需求而提供对应的放缩等级。从而,在经互连的设备实施例中,在本文中所描述的功能的实现可以遍布系统1100而分布。例如,功能可以被部分地在计算设备602上被实现,以及经由提取云620的功能的平台622而被实现。
示例实现
在本文中所描述的技术的示例实现包括但不限于以下示例中的一个或多个示例的一个或任何组合:
示例1。一种通过经由计算设备执行的通信模块实现的方法,包括:加载与从服务提供方能够获得的第一应用相关联的页面;结合所加载的页面发起多个客户端之间的通信会话;经由嵌入在所述页面中的代码来获得所述通信会话的会话数据;将所述会话数据存储在被暴露以用于由经授权的资源使用的共享会话存储中;在导航至与第二应用相关联的分别的页面之后,通过以下方式将所述通信会话转移至所述分别的页面:将所述分别的页面验证为被授权经由嵌入在所述分别的页面中的代码来使用所述共享会话存储的资源;从所述共享会话存储取回所述会话数据;并且使用从所述共享会话存储取回的所述会话数据经由所述分别的页面而连接至所述通信会话。
示例2。如本部分1中的示例中的任何一个或多个所述的方法,其中,所述通信模块包括浏览器应用。
示例3。如本部分中的示例中的任何一个或多个所述的方法,其中,嵌入在所述页面中的所述代码是经由被配置为对来自与所述页面的域不同的外部源的内容进行访问的所述页面的框架实现的。
示例4。如本部分中的示例中的任何一个或多个所述的方法,其中,所述会话数据包括用于经由通信服务设定所述通信会话的参数,所述参数包括以下中的一个或多个:用户标识符、会话标识符、所述通信会话的客户端端点的标识、会话URL、或者会话安全凭证。
示例5。如本部分中的示例中的任何一个或多个所述的方法,其中,所述第一应用和所述第二应用两者都:支持协作功能以及与由所述应用通过经由通信服务设定的通信会话而提供的应用功能;并且被包括在被授权使用所述共享会话存储的一组受信任的资源中。
示例6。如本部分中的示例中的任何一个或多个所述的方法,其中,所述共享会话存储是经由与所述计算设备相关联的本地存储来实现的。
示例7。如本部分中的示例中的任何一个或多个所述的方法,其中,所述共享会话存储是经由远程存储来实现的,这使得所述会话数据能够在向被授权访问所述远程存储的帐户认证的不同的设备之间漫游。
示例8。如本部分中的示例中的任何一个或多个所述的方法,其中,验证所述分别的页面包括确定所述分别的页面是否被包括在指定被授权使用所述共享会话存储的受信任的资源的信任列表中。
示例9。如本部分中的示例中的任何一个或多个所述的方法,其中,转移所述通信会话包括基于所述计算设备对与所述会话数据相关联的用户帐户的认证来控制对存储在所述共享会话存储中的所述会话数据的访问。
示例10。如本部分中的示例中的任何一个或多个所述的方法,其中,所述第一应用和所述第二应用被包括在由所述服务提供方所提供的多个资源的套件中,所述多个资源是经由针对不同的资源分别的且有区别的不同的域和对应的页面而实现的。
示例11。如本部分中的示例中的任何一个或多个所述的方法,其中,所述通信会话包括基于网络的实时通信会话,所述基于网络的实时通信会话支持经由通过与参与者相关联的客户端设备执行的相应的通信模块而在所述参与者之间交换实时音频和视频流。
示例12。如本部分中的示例中的任何一个或多个所述的方法,其中,所述通信会话包括即时消息传送会话,所述即时消息传送会话支持经由通过与参与者相关联的客户端设备执行的相应的通信模块而在所述参与者之间交换即时消息。
示例13。一种计算设备,包括:处理系统;存储设备,其被配置为实现共享会话存储以促进经由通信服务设定的通信会话的会话数据的在不同资源之间的转移;以及存储指令的一个或多个计算机可读介质,所述指令当由所述处理系统执行时,实现被配置为执行包括以下操作的通信模块:将结合经由通过所述通信模块所呈现的不同资源的页面参与的通信会话而获得的会话数据存储在所述共享会话存储中;响应于与不同资源相关联的不同的页面之间的导航:确定对所述不同资源利用所述共享会话存储的授权;并且当所述导航在经授权的资源之间发生时,通过以下方式来维持跨针对所述经授权的资源的对应的页面重载活跃的通信会话:从所述共享会话存储取回所述通信会话的会话数据;并且将所取回的会话数据传递至所述通信服务以在导航发生之后重新连接至所述通信会话。
示例14。本部分中的示例中的任何一个或多个的计算设备,其中,确定所述授权包括针对被配置为在被授权和没有被授权访问所述共享会话存储的资源之间进行区分的信任列表来检查资源。
示例15。本部分中的示例中的任何一个或多个的计算设备,其中,所述通信模块被配置为通过调用嵌入在所述不同资源的页面的内嵌框架中的会话转移模块来执行所述操作。
示例16。本部分中的示例中的任何一个或多个的计算设备,还包括当所述导航涉及没有被授权的一个或多个资源时,允许发生与通信会话断开。
示例17。一种计算系统,包括:具有一个或多个硬件设备的处理系统;一个或多个模块,所述一个或多个模块当由所述处理系统执行时,使得所述计算系统执行以下操作,包括:对客户端设备访问从一个或多个服务提供方可获得的资源的套件进行认证;响应于针对访问与所述套件的第一资源相关联的页面的请求,传送所述页面以由所述客户端设备输出,所述页面包括用于使用不同资源可访问的共享会话存储在所述不同资源之间转移通信会话的功能;创建通信会话以使用由与参与者相关联的客户端设备执行的相应的通信模块来实现与所述参与者之间的所述第一资源相结合的在线协作;经由用于转移通信会话的所述功能将所述通信会话的会话数据发送至所述客户端设备,以使得所述会话数据存储在所述共享会话存储中;响应于访问与第二资源相关联的不同的页面的请求,传送所述不同的页面以用于由客户端设备输出,所述不同的页面包括用于转移通信会话的相应的功能;从与所述第二资源相关联的所述不同的页面接收会话连接请求,所述请求包括由所述不同的页面的所述相应的功能从所述共享会话存储取回的所述通信会话的会话数据;并且根据在所述连接请求中供应的所述会话数据,将所述客户端设备重新连接至所述通信会话,以继续与所述第二资源相结合的所述在线协作。
示例18。如本部分中的示例中的任何一个或多个所述的计算系统,其中,用于转移被包括在所述页面和所述不同的页面中的通信会话的功能包括嵌入在所述页面的内嵌框架中的代码使用所述共享会话存储实行对通信会话的会话数据的存储和转移。
示例19。如本部分中的示例中的任何一个或多个所述的计算系统,其中,导航以访问与所述第二资源相关联的所述不同的页面的使得所述第一资源与所述通信会话断开。
示例20。如本部分中的示例中的任何一个或多个所述的计算系统,其中,所述操作还包括给所述客户端设备供应指示被授权访问所述共享会话存储的资源的信任列表,所述信任列表能够由所述客户端设备使用以当在所述资源之间转移会话数据之前验证所述资源。
结论
尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解的是,在所附权利要求中所限定的主题不一定限于所描述的具体特征或动作。相反,具体特征和动作是作为实现所要求保护的主题的示例形式公开的。

Claims (15)

1.一种通过经由计算设备执行的通信模块实现的方法,包括:
加载与从服务提供方能够获得的第一应用相关联的页面;
结合所加载的页面发起多个客户端之间的通信会话;
经由嵌入在所述页面中的代码来获得所述通信会话的会话数据;
将所述会话数据存储在被暴露以用于由经授权的资源使用的共享会话存储中;
在导航至与第二应用相关联的分别的页面之后,通过以下方式将所述通信会话转移至所述分别的页面:
将所述分别的页面验证为被授权经由嵌入在所述分别的页面中的代码来使用所述共享会话存储的资源;
从所述共享会话存储取回所述会话数据;并且
使用从所述共享会话存储取回的所述会话数据经由所述分别的页面而连接至所述通信会话。
2.根据权利要求1所述的方法,其中,嵌入在所述页面中的所述代码是经由被配置为对来自与所述页面的域不同的外部源的内容进行访问的所述页面的框架实现的。
3.根据权利要求1所述的方法,其中,所述会话数据包括用于经由通信服务而设定所述通信会话的参数,所述参数包括以下中的一个或多个:用户标识符、会话标识符、所述通信会话的客户端端点的标识、会话URL、或者会话安全凭证。
4.根据权利要求1所述的方法,其中,所述第一应用和所述第二应用两者都:
支持协作功能以及由所述应用通过经由通信服务设定的通信会话而提供的应用功能;并且
被包括在被授权使用所述共享会话存储的一组受信任的资源中。
5.根据权利要求1所述的方法,其中,所述共享会话存储是经由与所述计算设备相关联的本地存储来实现的。
6.根据权利要求1所述的方法,其中,所述共享会话存储是经由远程存储来实现的,这使得所述会话数据能够在向被授权访问所述远程存储的帐户认证的不同的设备之间漫游。
7.根据权利要求1所述的方法,其中,验证所述分别的页面包括确定所述分别的页面是否被包括在指定被授权使用所述共享会话存储的受信任的资源的信任列表中。
8.根据权利要求1所述的方法,其中,转移所述通信会话包括基于所述计算设备对与所述会话数据相关联的用户帐户的认证来控制对存储在所述共享会话存储中的所述会话数据的访问。
9.根据权利要求1所述的方法,其中,所述第一应用和所述第二应用被包括在由所述服务提供方所提供的多个资源的套件中,所述多个资源是经由针对不同的资源分别的且有区别的不同的域和对应的页面而实现的。
10.根据权利要求1所述的方法,其中,所述通信会话包括基于网络的实时通信会话,所述基于网络的实时通信会话支持经由通过与参与者相关联的客户端设备执行的相应的通信模块而在所述参与者之间交换实时音频和视频流。
11.根据权利要求1所述的方法,其中,所述通信会话包括即时消息传送会话,所述即时消息传送会话支持经由通过与参与者相关联的客户端设备执行的相应的通信模块而在所述参与者之间交换即时消息。
12.一种计算设备,包括:
处理系统;
存储设备,其被配置为实现共享会话存储以促进用于经由通信服务设定的通信会话的会话数据的在不同资源之间的转移;以及
存储指令的一个或多个计算机可读介质,所述指令当由所述处理系统执行时,实现被配置为执行包括以下操作的通信模块:
将结合经由通过所述通信模块所呈现的不同资源的页面参与的通信会话而获得的会话数据存储在所述共享会话存储中;
响应于与不同资源相关联的不同的页面之间的导航:
确定对所述不同资源利用所述共享会话存储的授权;并且
当所述导航在经授权的资源之间发生时,通过以下方式来维持跨针对所述经授权的资源的对应的页面重载活跃的通信会话:
从所述共享会话存储取回所述通信会话的会话数据;并且
将所取回的会话数据传递至所述通信服务以在导航发生之后重新连接至所述通信会话。
13.根据权利要求12所述的计算设备,其中,确定所述授权包括针对被配置为在被授权和没有被授权访问所述共享会话存储的资源之间进行区分的信任列表来检查资源。
14.根据权利要求12所述的计算设备,其中,所述通信模块被配置为通过调用嵌入在所述不同资源的页面的内嵌框架中的会话转移模块来执行所述操作。
15.根据权利要求12所述的计算设备,还包括当所述导航涉及没有被授权的一个或多个资源时,允许发生与通信会话断开。
CN201680019248.XA 2015-03-31 2016-03-29 资源之间的会话转移 Active CN107431708B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/675,089 2015-03-31
US14/675,089 US10491685B2 (en) 2015-03-31 2015-03-31 Session transfer between resources
PCT/US2016/024602 WO2016160747A1 (en) 2015-03-31 2016-03-29 Session transfer between resources

Publications (2)

Publication Number Publication Date
CN107431708A true CN107431708A (zh) 2017-12-01
CN107431708B CN107431708B (zh) 2020-09-22

Family

ID=55750467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680019248.XA Active CN107431708B (zh) 2015-03-31 2016-03-29 资源之间的会话转移

Country Status (4)

Country Link
US (2) US10491685B2 (zh)
EP (1) EP3257001A1 (zh)
CN (1) CN107431708B (zh)
WO (1) WO2016160747A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502871A (zh) * 2018-05-17 2019-11-26 迪士尼企业公司 关联域内权利资格转移的调解
CN111682951A (zh) * 2020-04-17 2020-09-18 深圳传音控股股份有限公司 集群活动会话分享装置、方法及计算机可读存储介质
CN111699483A (zh) * 2018-01-16 2020-09-22 谷歌有限责任公司 提供助理深度链接以实行第三方对话会话转移的系统、方法和装置
CN111800479A (zh) * 2020-06-15 2020-10-20 广州海颐信息安全技术有限公司 特权会话微隔离及共享的方法及装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10491685B2 (en) * 2015-03-31 2019-11-26 Microsoft Technology Licensing, Llc Session transfer between resources
US9942202B2 (en) * 2015-09-08 2018-04-10 Microsoft Technology Licensing, Llc Trust status of a communication session
US10686887B2 (en) * 2016-08-31 2020-06-16 Sap Se Accessing resources hosted on different domains
US10200481B2 (en) * 2016-09-30 2019-02-05 The Toronto-Dominion Bank System and method for processing an interaction request
US10181114B2 (en) 2016-09-30 2019-01-15 The Toronto-Dominion Bank System and method for generating an interaction request
CN107733989A (zh) * 2017-09-18 2018-02-23 上海斐讯数据通信技术有限公司 一种当前页面之间数据信息传递的方法及系统
US10878019B2 (en) * 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
US10979235B2 (en) * 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US11196779B2 (en) * 2018-05-30 2021-12-07 T-Mobile Usa, Inc. Transfer of a communications session to another user equipment
US11019178B1 (en) * 2019-01-07 2021-05-25 West Corporation Deployment router based on channel traffic
US11549532B1 (en) 2019-09-06 2023-01-10 Battelle Memorial Institute Assemblies, riveted assemblies, methods for affixing substrates, and methods for mixing materials to form a metallurgical bond
US11537735B2 (en) * 2020-09-30 2022-12-27 EMC IP Holding Company LLC Trusted enterprise data assets via data confidence fabrics
CN113139123B (zh) * 2021-04-14 2024-06-21 北京达佳互联信息技术有限公司 资源推荐方法、装置、服务端以及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138122A1 (en) * 2003-12-22 2005-06-23 International Business Machines Corporation Method and system for session sharing
CN1774707A (zh) * 2003-05-22 2006-05-17 思科技术公司 对等动态网页共享
EP1779265A1 (en) * 2004-07-28 2007-05-02 Abb Research Ltd. Method of communicating between web applications and local client application while maintaining remote user session
CN101510877A (zh) * 2009-02-25 2009-08-19 中国网络通信集团公司 单点登录方法和系统、通信装置
US20130212286A1 (en) * 2012-02-14 2013-08-15 Avaya Inc. Communication session cloning using barcodes
CN103368752A (zh) * 2009-03-30 2013-10-23 阿瓦雅公司 用于持续多媒体会议服务的系统和方法
CN103685427A (zh) * 2012-09-25 2014-03-26 新奥特(北京)视频技术有限公司 一种基于云平台网络的缓存方法
CN104202342A (zh) * 2014-09-26 2014-12-10 携程计算机技术(上海)有限公司 可视化语音通话系统及通话方法
CN104468599A (zh) * 2014-12-18 2015-03-25 浪潮(北京)电子信息产业有限公司 一种实现多应用间会话共享的方法和系统

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564246B1 (en) 1999-02-02 2003-05-13 International Business Machines Corporation Shared and independent views of shared workspace for real-time collaboration
US6976094B1 (en) * 2000-05-09 2005-12-13 Nortel Networks Limited Automated web browser synchronization by using session initiation protocol during a real-time session
US6871213B1 (en) 2000-10-11 2005-03-22 Kana Software, Inc. System and method for web co-navigation with dynamic content including incorporation of business rule into web document
US20030163691A1 (en) * 2002-02-28 2003-08-28 Johnson Ted Christian System and method for authenticating sessions and other transactions
US20040049673A1 (en) * 2002-09-05 2004-03-11 Docomo Communications Laboratories Usa, Inc. Apparatus and method for a personal cookie repository service for cookie management among multiple devices
US20040085366A1 (en) * 2002-10-30 2004-05-06 Foster Ward Scott Method for maintaining state information in a browser session across multiple web sites
US8527636B2 (en) * 2002-12-02 2013-09-03 Sap Aktiengesellschaft Session-return enabling stateful web applications
JP4203657B2 (ja) 2004-02-27 2009-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム
US7356694B2 (en) * 2004-03-10 2008-04-08 American Express Travel Related Services Company, Inc. Security session authentication system and method
US20050273714A1 (en) 2004-05-21 2005-12-08 Bea Systems, Inc. Systems and methods for an embedded collaboration client
US7505482B2 (en) * 2004-11-15 2009-03-17 At&T Intellectual Property I, L.P. Application services infrastructure for next generation networks
US7467349B1 (en) * 2004-12-15 2008-12-16 Amazon Technologies, Inc. Method and system for displaying a hyperlink at multiple levels of prominence based on user interaction
US7502821B2 (en) * 2004-12-16 2009-03-10 Sap Ag Enhanced internet session management protocol
US7483899B2 (en) 2005-01-11 2009-01-27 International Business Machines Corporation Conversation persistence in real-time collaboration system
US8024566B2 (en) * 2005-04-29 2011-09-20 Sap Ag Persistent storage implementations for session data within a multi-tiered enterprise network
US7945621B2 (en) 2005-06-29 2011-05-17 Webex Communications, Inc. Methods and apparatuses for recording and viewing a collaboration session
US20070157304A1 (en) * 2006-01-05 2007-07-05 International Business Machines Corporation Method, apparatus and computer program product for automatic cookie synchronization between distinct web browsers
EP1979840B1 (en) * 2006-01-31 2014-04-23 Speed-trap.com Ltd. Website monitoring and cookie setting
GB0601939D0 (en) * 2006-01-31 2006-03-15 Speed Trap Com Ltd Website monitoring and cookie setting
US9497247B2 (en) * 2006-03-06 2016-11-15 Ca, Inc. Transferring session state information between two or more web-based applications of a server system
US9112897B2 (en) * 2006-03-30 2015-08-18 Advanced Network Technology Laboratories Pte Ltd. System and method for securing a network session
US7861176B2 (en) 2006-04-13 2010-12-28 Touchcommerce, Inc. Methods and systems for providing online chat
US8250082B2 (en) * 2006-06-23 2012-08-21 Microsoft Corporation Cross domain communication
US8458775B2 (en) * 2006-08-11 2013-06-04 Microsoft Corporation Multiuser web service sign-in client side components
US7747688B2 (en) 2007-02-07 2010-06-29 International Business Machines Corporation System and method for managing group interaction session states
US9059986B2 (en) * 2007-04-04 2015-06-16 Motorola Solutions, Inc. Method and apparatus to facilitate using a federation-based benefit to facilitate communications mobility
US20090055908A1 (en) * 2007-08-21 2009-02-26 Narae Enterprises, Inc. Apparatus and method for accessing user cookies between network domains
EP2204065B1 (en) * 2007-08-23 2013-07-17 Research In Motion Limited System and method for managing a circuit switched call using alternative signaling at successful session set-up
US20090158163A1 (en) 2007-12-17 2009-06-18 Slingpage, Inc. System and method to facilitate social browsing
US20090172565A1 (en) * 2007-12-26 2009-07-02 John Clarke Jackson Systems, Devices, and Methods for Sharing Content
CN101540734A (zh) * 2008-03-21 2009-09-23 阿里巴巴集团控股有限公司 一种跨域名Cookie访问方法、系统及设备
US9507651B2 (en) * 2008-04-28 2016-11-29 Microsoft Technology Licensing, Llc Techniques to modify a document using a latent transfer surface
CA2665451C (en) * 2008-05-12 2012-07-10 Research In Motion Limited System and method for dynamic plug-in activation in a web browser
US8166100B2 (en) * 2008-08-28 2012-04-24 Avg Technologies Cz, S.R.O. Cross site, cross domain session sharing without database replication
CN101686245B (zh) * 2008-09-28 2014-06-11 国际商业机器公司 用于隔离超文本传输协议会话的方法和系统
US8788949B2 (en) * 2008-10-28 2014-07-22 Google Inc. Provisioning instant communications for a community of users
US10977693B2 (en) * 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9171284B2 (en) * 2009-03-02 2015-10-27 Microsoft Technology Licensing, Llc Techniques to restore communications sessions for applications having conversation and meeting environments
US20100306066A1 (en) * 2009-06-02 2010-12-02 Meebo, Inc. Techniques for displaying an advertisement across multiple pages
US8718241B2 (en) * 2010-05-07 2014-05-06 Salesforce.Com, Inc. Methods and apparatus for interfacing with a phone system in an on-demand service environment
US8438289B1 (en) * 2010-06-07 2013-05-07 Google Inc. Cross-domain communications with a shared worker application
US8626865B1 (en) * 2010-06-07 2014-01-07 Google Inc. Shared worker application
EP3734449B1 (en) * 2010-06-18 2023-07-12 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US8484569B2 (en) 2010-06-30 2013-07-09 International Business Machines Corporation Saving and restoring collaborative applications in context
US9697050B2 (en) * 2010-12-22 2017-07-04 Sap Se System and method for scaling for a large number of concurrent users
US8751469B2 (en) * 2010-12-22 2014-06-10 Sap Ag System and method for scaling for a large number of concurrent users
CN102546570B (zh) * 2010-12-31 2014-12-24 国际商业机器公司 用于单点登录的处理方法和系统
US20120210243A1 (en) 2011-02-11 2012-08-16 Gavin Andrew Ross Uhma Web co-navigation
GB2488790A (en) * 2011-03-07 2012-09-12 Celebrus Technologies Ltd A method of controlling web page behaviour on a web enabled device
US9337999B2 (en) * 2011-04-01 2016-05-10 Intel Corporation Application usage continuum across platforms
US9037963B1 (en) * 2011-04-22 2015-05-19 Amazon Technologies, Inc. Secure cross-domain web browser communications
US8856259B2 (en) * 2011-05-20 2014-10-07 International Business Machines Corporation Multi-domain co-browsing utilizing localized state management
US9417759B1 (en) * 2011-06-27 2016-08-16 Google Inc. Synchronizing data across multiple browser tabs or windows
US20160004410A1 (en) * 2011-06-27 2016-01-07 Google Inc. Processing Cursor Movements for Predictive Fetching
US8423650B2 (en) * 2011-06-30 2013-04-16 International Business Machines Corporation Transferring session data between network applications
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US8707026B2 (en) * 2011-07-13 2014-04-22 International Business Machines Corporation Apparatus for certificate-based cookie security
US9215096B2 (en) * 2011-08-26 2015-12-15 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing communication between network domains in a service cloud
US9344505B1 (en) * 2011-09-20 2016-05-17 Amazon Technologies, Inc. Transferring cookie data to another domain
US9313100B1 (en) * 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US8621091B1 (en) * 2011-12-15 2013-12-31 Google Inc. System and method for synchronizing settings and state information for a browser component
EP2815570A4 (en) * 2012-02-13 2015-11-11 Tata Comm VIDEO SESSION MANAGER AND METHOD FOR ENABLING AND MANAGING VIDEO CALLING AND TELEPRESENCE COMMUNICATION SESSIONS THROUGH MULTIPLE DOMAINS
US9722972B2 (en) * 2012-02-26 2017-08-01 Oracle International Corporation Methods and apparatuses for secure communication
US9009853B2 (en) * 2012-03-07 2015-04-14 Microsoft Technology Licensing, Llc Communication between web applications
US8788617B2 (en) * 2012-03-15 2014-07-22 Verizon Patent And Licensing Inc. Cookies stored in a cloud computing environment
US9503683B2 (en) * 2012-03-27 2016-11-22 Google Inc. Providing users access to applications during video communications
US20150172228A1 (en) * 2012-04-17 2015-06-18 George Zalepa Method and system for communicating information over a network
US20130311286A1 (en) * 2012-05-17 2013-11-21 Engauge Innovations, LLC. Systems and methods for facilitating determination of marketing information for online consumers based on a location characteristic of the online consumer
US20130318056A1 (en) * 2012-05-23 2013-11-28 Sap Ag Lightweight Integrity Protection for Web Storage-Driven Content Caching
US9578111B2 (en) * 2012-06-08 2017-02-21 International Business Machines Corporation Enabling different client contexts to share session information
US10827011B2 (en) * 2012-07-19 2020-11-03 Glance Networks, Inc. Presence enhanced co-browsing customer support
US8694784B1 (en) * 2012-10-09 2014-04-08 Sap Ag Secure client-side key storage for web applications
US9239878B2 (en) * 2012-12-19 2016-01-19 Amazon Technologies, Inc. Interactivity analyses of web resources based on reload events
US9712593B2 (en) * 2013-02-04 2017-07-18 Oracle International Corporation Javascript API for WebRTC
US9483571B2 (en) * 2013-03-04 2016-11-01 International Business Machines Corporation Persisting the state of visual control elements in uniform resource locator (URL)-generated web pages
US9130944B2 (en) * 2013-03-13 2015-09-08 Futurewei Technologies, Inc. Mechanism and protocol to authorize bilateral sessions between websites based on open authorization
US9647991B2 (en) * 2013-03-15 2017-05-09 Adobe Systems Incorporated Secure cloud-based clipboard for touch devices
US9467495B2 (en) * 2013-03-15 2016-10-11 Adobe Systems Incorporated Transferring assets via a server-based clipboard
US20140289419A1 (en) * 2013-03-22 2014-09-25 Salesforce.Com, Inc. System, method and computer program product for transferring a website state across user devices using a cookie
US11050851B2 (en) * 2013-04-30 2021-06-29 Adobe Inc. Drag-and-drop clipboard for HTML documents
US9419942B1 (en) * 2013-06-05 2016-08-16 Palo Alto Networks, Inc. Destination domain extraction for secure protocols
US9787945B2 (en) * 2013-06-26 2017-10-10 Touchcast LLC System and method for interactive video conferencing
US9225515B2 (en) * 2013-09-13 2015-12-29 Sap Portals Israel Ltd Shared portal context session
US9462068B2 (en) * 2013-09-16 2016-10-04 International Business Machines Corporation Cross-domain inactivity tracking for integrated web applications
US9544293B2 (en) * 2013-09-20 2017-01-10 Oracle International Corporation Global unified session identifier across multiple data centers
EP3055773B1 (en) * 2013-10-10 2018-12-19 Intel Corporation Anomaly detection on web client
US8745390B1 (en) * 2013-11-13 2014-06-03 Google Inc. Mutual authentication and key exchange for inter-application communication
FR3013541B1 (fr) * 2013-11-19 2021-02-19 Oberthur Technologies Procede et dispositif pour la connexion a un service distant
US9529572B1 (en) * 2013-12-20 2016-12-27 Emc Corporation Composable application session parameters
US10769644B2 (en) * 2014-03-11 2020-09-08 Adobe Inc. Cross-domain identity service
US11023917B2 (en) * 2014-04-16 2021-06-01 Retailmenot, Inc. Time period distribution of offer codes
US20150348071A1 (en) * 2014-05-27 2015-12-03 Iperceptions Inc Server and method for generating predictive patterns for website analysis
GB2529377A (en) * 2014-05-29 2016-02-24 Livestax Ltd Communication between frames of a web browser
US9426152B2 (en) * 2014-07-08 2016-08-23 International Business Machines Corporation Secure transfer of web application client persistent state information into a new domain
WO2016022693A1 (en) * 2014-08-05 2016-02-11 Moxie Software, Inc. Systems and methods for client-side contextual engagement
CN107078921A (zh) * 2014-09-16 2017-08-18 云端吉尼斯公司 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统
US9705864B2 (en) * 2014-12-10 2017-07-11 Futurewei Technologies, Inc. Media session resumption in web session restoration
US10346186B2 (en) * 2014-12-11 2019-07-09 Rohan Kalyanpur System and method for simulating internet browsing system for user without graphical user interface
US10063594B2 (en) * 2014-12-16 2018-08-28 OPSWAT, Inc. Network access control with compliance policy check
EP3251319B1 (en) * 2015-01-27 2019-11-20 Telefonaktiebolaget LM Ericsson (publ) Correlated personalization of multiple communication services
US9948727B2 (en) * 2015-02-05 2018-04-17 Lenovo (Singapore) Pte. Ltd. Securely transferring session information
US10491685B2 (en) * 2015-03-31 2019-11-26 Microsoft Technology Licensing, Llc Session transfer between resources
US10419307B2 (en) * 2015-04-30 2019-09-17 The Nielsen Company (Us), Llc Methods and apparatus to coordinate receipt of monitoring information
US10291722B1 (en) * 2015-04-30 2019-05-14 Glance Networks, Inc. Method and apparatus for implementing co-browsing between domains
US20160330164A1 (en) * 2015-05-06 2016-11-10 NextPlane, Inc. System and Method of Federating a Cloud-Based Communications Service with a Unified Communications System
US10142174B2 (en) * 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
CN106598972B (zh) * 2015-10-14 2020-05-08 阿里巴巴集团控股有限公司 一种信息显示方法、装置及智能终端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774707A (zh) * 2003-05-22 2006-05-17 思科技术公司 对等动态网页共享
US20050138122A1 (en) * 2003-12-22 2005-06-23 International Business Machines Corporation Method and system for session sharing
EP1779265A1 (en) * 2004-07-28 2007-05-02 Abb Research Ltd. Method of communicating between web applications and local client application while maintaining remote user session
CN101510877A (zh) * 2009-02-25 2009-08-19 中国网络通信集团公司 单点登录方法和系统、通信装置
CN103368752A (zh) * 2009-03-30 2013-10-23 阿瓦雅公司 用于持续多媒体会议服务的系统和方法
US20130212286A1 (en) * 2012-02-14 2013-08-15 Avaya Inc. Communication session cloning using barcodes
CN103685427A (zh) * 2012-09-25 2014-03-26 新奥特(北京)视频技术有限公司 一种基于云平台网络的缓存方法
CN104202342A (zh) * 2014-09-26 2014-12-10 携程计算机技术(上海)有限公司 可视化语音通话系统及通话方法
CN104468599A (zh) * 2014-12-18 2015-03-25 浪潮(北京)电子信息产业有限公司 一种实现多应用间会话共享的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SERGEY MASKALIK: "Cross Domain Communication And Data Storage With localStorage And postMessage", 《CROSS DOMAIN COMMUNICATION AND DATA STORAGE WITH LOCALSTORAGE AND POSTMESSAGE》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111699483A (zh) * 2018-01-16 2020-09-22 谷歌有限责任公司 提供助理深度链接以实行第三方对话会话转移的系统、方法和装置
CN111699483B (zh) * 2018-01-16 2024-04-09 谷歌有限责任公司 提供助理深度链接以实行第三方对话会话转移的系统、方法和装置
CN110502871A (zh) * 2018-05-17 2019-11-26 迪士尼企业公司 关联域内权利资格转移的调解
CN110502871B (zh) * 2018-05-17 2024-03-15 迪士尼企业公司 关联域内权利资格转移的调解
CN111682951A (zh) * 2020-04-17 2020-09-18 深圳传音控股股份有限公司 集群活动会话分享装置、方法及计算机可读存储介质
CN111800479A (zh) * 2020-06-15 2020-10-20 广州海颐信息安全技术有限公司 特权会话微隔离及共享的方法及装置

Also Published As

Publication number Publication date
WO2016160747A1 (en) 2016-10-06
US10491685B2 (en) 2019-11-26
US20160294954A1 (en) 2016-10-06
EP3257001A1 (en) 2017-12-20
US20200053168A1 (en) 2020-02-13
CN107431708B (zh) 2020-09-22
US11159626B2 (en) 2021-10-26

Similar Documents

Publication Publication Date Title
CN107431708A (zh) 资源之间的会话转移
CN105659558B (zh) 计算机实现的方法、授权服务器以及计算机可读存储器
CN104838630B (zh) 基于策略的应用程序管理
US20190173745A1 (en) Proximity and Context Aware Mobile Workspaces in Enterprise Systems
CN102984199B (zh) 资源访问授权
CN102467723B (zh) 用于在查看型社交网络中向用户提供推荐的系统和方法
CN107534672A (zh) 用于作为网络服务的客户端应用的持久统一资源定位符(url)
KR102005458B1 (ko) 공유되는 아이템 계정 선택 기법
US9344522B2 (en) Systems and methods for widget rendering and sharing on a personal electronic device
CN105900467B (zh) 离线内容共享
US10187388B2 (en) System and method for managing electronic interactions based on defined relationships
CN105917351B (zh) 媒体流信任显示
US10148495B1 (en) Remote configuration of wireless devices
US9888074B1 (en) Method, web browser and system for co-browsing online content
CN105659557A (zh) 用于单点登录的基于网络的接口集成
JP2014531650A (ja) グループ・オプトイン・リンク
CN107077436A (zh) 向主机设备计算环境借出目标设备资源
JP2011133951A (ja) 認証状態継承システム
US20210014237A1 (en) Meeting Join for Meeting Device
US11736611B2 (en) Visual engagement using automatically dynamically selected visualization mediums
CN106164917A (zh) 用于远程会话的用户特定应用激活
JP6583543B2 (ja) 情報送信システム、情報送信方法、及びプログラム
WO2017094774A1 (ja) 制御システム、通信制御方法、及びプログラム
US9774571B2 (en) Automatic provisioning of meeting room device
JP2017097652A (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