CN104704485B - 一种在第二位置查看第一浏览器的内容的方法 - Google Patents

一种在第二位置查看第一浏览器的内容的方法 Download PDF

Info

Publication number
CN104704485B
CN104704485B CN201380048550.4A CN201380048550A CN104704485B CN 104704485 B CN104704485 B CN 104704485B CN 201380048550 A CN201380048550 A CN 201380048550A CN 104704485 B CN104704485 B CN 104704485B
Authority
CN
China
Prior art keywords
browser
collaborative browse
visitor
session
content
Prior art date
Application number
CN201380048550.4A
Other languages
English (en)
Other versions
CN104704485A (zh
Inventor
黛比·门德斯
艾德·哈德贝克
里奇·贝克
克劳迪奥·托普尔希克
Original Assignee
格兰斯电讯网络有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201261673629P priority Critical
Priority to US61/673,629 priority
Priority to US201361776016P priority
Priority to US61/776,016 priority
Application filed by 格兰斯电讯网络有限公司 filed Critical 格兰斯电讯网络有限公司
Priority to PCT/US2013/049615 priority patent/WO2014014695A1/en
Publication of CN104704485A publication Critical patent/CN104704485A/zh
Application granted granted Critical
Publication of CN104704485B publication Critical patent/CN104704485B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/01Customer relationship, e.g. warranty
    • G06Q30/016Customer service, i.e. after purchase service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Real-time or near real-time messaging, e.g. instant messaging [IM] interacting with other applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements or protocols for real-time communications
    • H04L65/40Services or applications
    • H04L65/403Arrangements for multiparty communication, e.g. conference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/02Network-specific arrangements or communication protocols supporting networked applications involving the use of web-based technology, e.g. hyper text transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/14Network-specific arrangements or communication protocols supporting networked applications for session management
    • H04L67/141Network-specific arrangements or communication protocols supporting networked applications for session management provided for setup of an application session

Abstract

一种协同浏览服务使用JavaScript来允许显示在用户浏览器的网页被远程查看。对网页的更新呈现在HTML中并转发到协同浏览会话上。在掩蔽要素列表中规定了不应当可见的网页方面,从而防止JavaScript将这些要素的内容传输至协同浏览会话上。在远程位置查看该网页的人员可以选择对象,以使得这些对象在用户浏览器内突出显示。同样地,查看网页的人员可通过选择对象并在该对象内输入信息来操控对象。对网页的更新进行收集和汇集,使得仅将最新的更新转发给协同浏览会话。不对DOM产生影响的更新例如悬停状态也被传输至会话。

Description

一种在第二位置查看第一浏览器的内容的方法
[0001] 相关申请的交叉参考
[0002] 本申请要求于2013年3月11日提交的美国临时专利申请No. 61/776,017和2012年7 月19日提交的美国临时专利申请No. 61/673729的优先权,上述申请的其全部内容通过引用 并入本文。
[0003] 版权声明
[0004] 本专利文献的部分公开内容包含受版权保护的题材。版权所有者不反对任何人以 本专利文献或专利公开呈交于专利商标局的文档或记录中的确切形式来进行静电复制,但 将保留其他任何方面的一切版权。
技术领域
[0005] 本领域涉及通信会话,更具体地,涉及一种用于将协同浏览与其他形式的信息共 享进行集成的方法和装置。
背景技术
[0006] 凭借网站销售和其他客户互动的公司往往为客户提供支持,由此,如果访问者在 浏览网站时出现困难,那么他能够与例如客户服务代理的现实人进行交互。代理可使用基 于文本的通信会话(聊天会话)或使用基于语音的通信会话(电话呼叫)与访问者进行交互。
[0007] 例如,由银行运营的网站包括那种相连于帮助服务的链接,以允许潜在客户与客 户服务代表进行聊天或者交谈从而获取有关其帐户可用功能的更详细信息。当客户点击帮 助按钮时,启动聊天会话或语音会话,这将促成客户代表与客户相连通。输入聊天会话中的 消息在客户和客户代表之间中继,或者代理和客户进行实时会话,这使得客户能够说明问 题并获得代理的协助。
[0008] 当访问者在访问或使用网站的特定方面出现麻烦时,代理可尝试指导客户如何克 服困难。不幸的是,代理所提供协助的能力在此情况下受到该代表无法看到客户所看的网 站的阻碍。因此,从代理的角度来看,为代理提供能看到访问者所看到内容的能力将是有利 的。
发明内容
[0009] 这里,提供了如下发明内容和在本申请末尾阐述的摘要,以介绍在下面具体实施 方式中所讨论的一些概念。发明内容和摘要部分并不全面,并且不旨在勾勒下面提出的权 利要求所阐述的受保护主题范围。
[0010] 协同浏览服务允许卖方的客户服务代理看到客户正在查看的网页。在确切知道客 户所看到的内容的情况下,代理随后以更好的角度来提供有益的援助。通过在代理的视图 中掩蔽客户的敏感数据来加强隐私,由此使得代理能够在不取得访问客户私人数据的情况 下提供援助。在一个实施例中,诸如JavaScript的ECMAScript用于向代理镜像访问者的浏 览器状态。
[0011]掩蔽字段列表(以及潜在div和网页)用于防止访问者发送与意图包含敏感数据的 字段相关联的信息,从而防止信息从访问者浏览器泄露。例如,可通过将HTML输入要素保存 在代理端但访问者输入至该输入要素中的内容或状态不会传递给代理的方式,来对该HTML 要素实施字段的掩蔽。
[0012]网页视图取决于(a)由HTML要素的层次结构代表的当前文档对象模型(DOM)以及 ⑹例如鼠标位置、滚球偏移量、悬停和焦点状态的状态信息。为了使代理那端的视图与访 问者那端的视图同步,将页面的初始DOM树以及对其的任何后续改动都转发给代理,但同时 移除〈script〉标签。这不必要求代理具有同步式本地状态信息(例如,网络跟踪器cookies、 浏览器本地存储器)就能允许代理看到访问者所看的内容,但如果代理方浏览器要运行与 访问者浏览器相同的脚本时就需要所述同步式本地状态信息。另外,对不影响文档对象模 型(DOM)的变化(例如,与悬停状态有关的变化)分别进行检测并将其转发给代理,以使得代 理能够模拟浏览器状态。
[0013] 通过代理所能获得的信息,可以多种形式建立协同浏览会话。示例性信息系统包 括聊天软件、点击通话客户关系管理软件(其中访问者提供其电话号码以便代理进行电话 回拨)以及其他软件系统。
[0014] 协同浏览会话可结合于其他形式的互动信息共享会话(包括屏幕共享会话),以使 得代理在与访问者互动的同时能够利用额外的通信形式。还可以在传统电话或第三方聊天 会话中通过口头交流或输入参与者之一点击网页上的对象时出现的代码的方式来建立会 话。
附图说明
[0015] 本发明的各个方面将在所附权利要求书中具体指出。本发明由下面附图中的示例 示出,其中相同要素以相同的附图标号表示。以下附图公开了本发明的各种实施例,这仅为 说明性目的而不意在限制本发明的范围。为清楚起见,每个附图中并未对所有的部件进行 标记。在附图中:
[0016] 图1和2是示出了协同浏览式客户支持系统的参与者之间的信息流的功能性框图;
[0017] 图3-17示出了能将与访问者相关联的协同浏览会话连接至由代理定位的网站的 方法;
[0018] 图18示出了协同浏览与社交媒体集成的示例;
[0019] 图19-20示出了由代理向访问者突出显示信息的示例性方法;
[0020] 图21是示出了用于确定增量更新的示例性过程的流程图;和
[0021] 图22-28示出了将屏幕共享会话与协同浏览进行集成的示例性方法。
具体实施方式
[0022] 详细说明
[0023] 下面的详细描述阐述了许多具体细节,以提供对本发明的一个或多个实施例的全 面理解。然而,本领域的技术人员应当理解,本发明无需这些具体细节就可以实施。在其他 实例中,为了不对本发明造成混淆,没有对公知的方法、过程、部件、协议、算法和电路进行 详细描述。
[0024] 定义
[0025] 客户:签订了协同浏览服务的协同浏览服务客户。示例性客户为图1的卖方(例如, 拥有卖方网站16的公司)。
[0026] 网站:由协同浏览所支持的客户所拥有的网站。
[0027] 团体ID:分配给每个将进行协同浏览的客户网站的唯一 ID。
[0028] 访问者:导航至该网站的任何人。
[0029] 代理:支持访问者在网站上开展各种任务(例如,完成购买)的代表人员。
[0030] 掩蔽字段:在窗口中或网站上的应当从视图中遮蔽且对代理不可见的输入字段。 例如,掩蔽字段可包含含有例如访问者信用卡号码的敏感数据。
[0031] 掩蔽对象:在访问者的网络浏览器上从代理的输入中掩蔽掉的输入字段。例如,掩 蔽对象可包括字段、窗口、div、页面、链接、按钮,以及需要保持在访问者控制之下的其他对 象。不允许代理输入、修改或点击在远端控制中运行的掩蔽对象。
[0032] CServer:运营协同浏览会话的安全服务器,其接受来自访问者的会话更新并将其 转发给代理。
[0033] 协同浏览网络服务器:对由访问者和代理访问的协同浏览会话进行控制的网络服 务器。协同浏览网络服务器可以与Cserver搭配或者可以是网络上的独立实体。
[0034] 协同浏览概述
[0035] 图1示出了协同浏览场景的网络图,其中访问者浏览器10中的内容在代理浏览器 12中是可见的。在图1所示的实施例中,访问者浏览器从卖方网站16获得页面14。箭头1示出 从网站至访问者的网页下载。协同浏览服务18通过从访问者浏览器向代理网页浏览器12 (箭头3)中继网页更新(箭头2)来协助协同浏览会话。为了使访问者浏览器10能提供这些更 新,将脚本20 (在一个实施例中是JavaScript)从卖方网站(箭头4)或从协同浏览服务(箭头 5)下载至访问者浏览器。备选地,JavaScript可保留作为访问者浏览器中的插件。为了实现 隐私,如下面将更详细讨论的那样,将掩蔽要素列表22下载到访问者浏览器中。类似于脚本 那样,掩蔽要素列表可从卖方网站下载(箭头6),或者可从协同浏览服务下载(箭头7)。掩蔽 要素列表向脚本指示出哪些要素(例如,DOM的此类要素)不应在协同浏览会话上传输。代理 浏览器也可从协同浏览服务下载(箭头8)页面24,其中访问者浏览器内容的视图将在协同 浏览会话期间显示。
[0036] 尽管在将要描述的实施例中,脚本20描述为是使用JavaScript来实施的,但是也 可以使用其他形式的脚本语言。例如,JavaScript是ECMA-262规范中由ECM国际制定的脚 本语言标准的实施方式。该标准的其他实施形式包括JScript和ActionScr ipt。因此,尽管 将要描述的实施例中使用了 JavaScript,但是本发明并不局限于这个特定实施形式,也可 以使用其它形式的脚本。
[0037] 协同浏览方案使代理能够看到访问者当前正在访问的网页(卖方网站)。由于协同 浏览会话仅取决于在网页浏览会话期间下载的JavaScript,因此不要求访问者手动安装任 何软件或插件或者解除任何安全警告对话框以便让代理看到访问者浏览器。同样,由于 JavaScript是由卖方网站所提供的网页的一部分,因此JavaScript将不会延用到任何其他 网页,这意味着代理将不能看到来自其他网站的任何页面或访问者桌面上的任何其他页 面。
[0038] 如下面更详细描述的那样,协同浏览方案使得代理能够准确看到访问者正在查看 的内容。例如,如果该网页对访问者是不完全可见,则代理将仅能看到该网页可见的部分。 这种视图将随着访问者滚动页面或调整页面大小而自动更新。在访问者打开多个选项卡的 情况下,代理仅能够看到具有焦点的选项卡,以便代理看到访问者正在查看的内容。代理还 可以看到访问者的鼠标指针的位置,这允许代理知道,在与网页交互的同时访问者关注那 里。如果代理的浏览器是代理的计算机上的活动窗口,那么该代理也能够看到访问者一端 目前关注哪些输入字段。如果访问者打开选择框,那么该选择框也会在代理那端开放。
[0039] 为了使代理能够以可视方式与访问者进行交互,允许该代理在代理浏览器12上点 击网页的特定要素或区域。当代理人这样执行时,相应的要素将同时在代理浏览器和访问 者浏览器中突出可见,从而使得代理可将访问者的注意力引导至网页的特定部分。例如,突 出可以采取用围绕特定要素绘制框的形式,或者是能在视觉上区分这些要素的一些其它方 式。优选地,在代理按住其鼠标按钮的同时这种突出对访问者是可见的。释放后几秒钟内或 者其他指定的短期时间内,不需要代理的进一步行动,突出就会自动消失或消退。
[0040] 任选地,代理能够提供对访问者浏览器10的输入。例如,代理能够将信息输入到访 问者浏览器10上所显示的网页14的选定要素中,改变下拉列表的设置,选择单选按钮或复 选框,或者与页面上的输入要素进行互动。取决于实施方式,代理能够代表客户来点击按钮 或链接。
[0041] 为了保护访问者的敏感数据(例如,访问者的指定信用卡号码和其它敏感数据), 将包含例如信用卡号码的敏感数据的格式字段或网页区域从视图中掩蔽掉,以便不向代理 提供敏感数据。由于数据从未离开访问者浏览器,因此协同浏览服务将永远不会访问访问 者敏感数据或与该数据进行交互。访问者端的掩蔽数据相应地不需要访问者将敏感数据发 送到网络上或者放弃对敏感数据的控制,从而使得该数据永远不会离开访问者的控制。
[0042] 任选地,掩蔽字段可被访问者识别以使得访问者能够知道哪些字段被掩蔽而哪些 字段未被掩蔽。提供此性质的指示(例如以绿色框框出要掩蔽的字段)可以为访问者提供安 全感,使其知道这些字段中的信息对代理是不可见的并且不会离开访问者浏览器。
[0043]由于以下描述的协同浏览服务基于JavaScript而不是例如Flash、Java或 Silverlight的那种所有网络浏览器均不支持的平台,因此协同浏览服务能够为代理提供 查看访问者浏览器的能力,即使是在访问者使用移动设备(例如,智能手机或平板电脑)来 访问网站的情况下。同样,协同浏览方案也适用于PC/Mac苹果机。同样地,上传访问者DOM和 状态信息(相比于仅发送访问者页面URL来说)使得在访问者访问卖方网站的同时能够在任 意点开启协同浏览会话,而不需要访问者重新创建他/她的浏览器状态。最后,由于卖方网 站的唯一变化是包含了脚本,因此协同浏览服务使代理能够在少数改变或不改变卖方网站 的情况下为客户提供基于协同浏览的支持。
[0044] 实施方案
[0045] 根据实施例,协同浏览服务取决于经卖方同意而插入到卖方网站的脚本标签。当 访问者加载卖方网页时,此JavaScript (例如cobrowse. js)可从网站传递至访问者,或者可 直接从协同浏览服务传递至访问者。一旦协同浏览会话已开始,此JavaScript会促使访问 者浏览器从访问者向协同浏览服务上传卖方网页HTML以及其他数据。相应地,协同浏览服 务将这种数据表示为网页来供代理查看。
[0046] 备选地,不让JavaScript (例如cobrowse, js)从网站加载到访问者,而是手动地将 JavaScript代码安装为浏览器插件。具有插件的优点是,不需要是特定的网站,并且相应地 允许人员对尚未被修改为包括协同浏览脚本的网站进行协同浏览。具体来说,无论人员 (“领导者”)访问的是什么网站,包含在插件中的JavaScript都将使浏览器状态转发给协同 浏览服务。这例如在领导者想要与其他的“追随者”分享他们的网络经验的情况下可能是有 用的,因此所有人可以享受在视觉上跟随领导者进行网上(例如,与社交购物有关的网页) 冲浪的社会经验。
[0047] 在一些实例中,卖方网站可能已经具有其他现有的JavaScript,例如来自聊天工 具或点击通话功能的JavaScript。在卖方的许可下,该现有的JavaScript可用于调用 cobrowse, js脚本。这种做法的好处是,卖方可以在根本不对卖方网站进行修改的情况下来 试用或部署协同浏览方案。
[0048] 在一个实施例中,如果协同浏览会话已经启动,那么a)在协同浏览会话启动时刻, 或者b)当从卖方网站的页面完成加载时,JavaScript (在本示例中为cobrowse, js)执行以 下内容:
[0049] 1.获取掩蔽要素的描述符。掩蔽要素的描述符可动态地从运行的服务器中(通过 AJAX或的WebSockets)来检索,或可作为JavaScript变量嵌入到cobrowse, js文件中:
Figure CN104704485BD00131
[0050]
[0051]
[0052] 2.周期性地进行:
[0053] a.克隆文件头要素,如果页面上还没有指定库标签,那么将表示任意相关的URL库 的〈base〉标签插入到网页上,移除脚本标签记并将所克隆的层次结构呈现为HTML。如果页 面上已经指定了〈base〉标签,但是在它前面存在具有相关URL的〈link〉标签,那么将这些〈 link>URL转换为绝对URL。备选地,添加〈base〉标签以及移除脚本标签可以在服务器端上由 协同浏览服务来执行。将这些任务卸载到访问者浏览器上也可以使协同浏览会话服务器处 理更多的会话。
[0054] b.克隆文档body要素,移除脚本标签和隐藏输入,以虚拟数据替换掩蔽要素的值, 并将克隆的层次结构呈现为HTML。许多页包含一个或多个带有会话状态信息的隐藏输入, 所述会话状态信息不会在视觉上影响页面。如果访问者端上绘制有姿态示意(gesture),那 么由于在代理侧上再描绘姿态示意是多余的,因此cobrowse, js也会将姿态要素移除。备选 地,脚本标签的移除可以在服务器端上由协同浏览服务来执行。将这些任务卸载到访问者 浏览器也可以使协同浏览会话服务器处理更多的会话。
[0055] c.遍历所有的用户输入对象(文本字段、单选按钮、复选框、下拉列表),并收集用 户的任何数据输入。还可以收集画布对象的当前状态。
[0056] d.检测访问者鼠标位置。
[0057] e .检测访问者滚球偏移量。
[0058] f.检测访问者浏览器的尺寸。
[0059] g.检测页面上的哪个要素具有焦点。
[0060] h.检测是否有任何选择框打开。
[0061] i.将上述所有内容(如果改变)发送至协同浏览服务。数据可经由XMLHTTPRequest 或XDomainRequest (AJAX)、WebSockets或者跨域通信的一些其他手段来发送。这个步骤中 的数据发送可以在传输之前进行编码和/或压缩。任选地,如果仅数据的一部分发生了变 化,则可以仅发送变化部分。
[0062] 注意,(a)至⑹是周期性重复的,这是因为运行在访问者浏览器中的JavaScript 可对DOM进行修改。
[0063] 另外,在上述(a)和(b)中将脚本从上传至协同浏览服务的HTML中移除,从而使得 当脚本下载给代理时其不运行。如果脚本修改了客户浏览器中的文件要素层次结构,那么 层次结构的变化将经由协同浏览服务反映给代理,以使得脚本不需要直接在代理浏览器中 运行。
[0064] Cobrowse. j s可由卖方或协同浏览服务主管。这由图1中的箭头4和5来表示。同样, 由访问者获得的掩蔽要素列表可从卖方网站(箭头6)或从协同浏览服务(箭头7)中检索。由 于掩蔽要素列表针对网站是特定的,因此应当由网站/为网站创建掩蔽要素列表,以指定出 网站样式表中不应被传送到协同浏览会话上的要素列表。在一个实施例中,掩蔽要素列表 包括网站的层叠样式表(CSS)的选择器列表。该列表被提供给访问者以保护访问者的私人 信息。在一个实施例中,为每个网站创建列表,但是也可以针对那种协同浏览器服务性将会 在上面实施协同浏览会话的每一网站页面来制作唯一的列表。
[0065] 可通过允许管理员或其他人在视觉上识别卖方网站的要素并点击管理用户界面 (例如,工具提示)来指定该可视要素是否应当被掩蔽以保护敏感信息或者不需要被掩蔽, 来实施对待掩蔽要素的选择。一旦管理员已经选择出待掩蔽的要素,则基于该输入创建 MaskedElements描述符。管理用户界面可在cobrowse · js中实现,或可由卖方提供的软件来 实现,以使卖方来选择网站中要掩蔽的与协同浏览会话有关的字段。为了保护此列表,卖方 需要在对卖方MaskedElements描述符进行修改之前进行登录或以其他方式进行验证。
[0066] 尽管使用掩蔽要素列表能够无需修改网站就对一组要素进行掩蔽,但也可以创建 掩蔽字段定义,其将自动促使那些具有任意定义的属性的对象被掩蔽。例如,给定了掩蔽字 段定义* [co-browse hide = true],然后,例如co_browse_hide= “true”的属性可用于识别 网站上的应当被掩蔽的要素。
[0067] 差异更新
[0068] 通常,运行在网络页面上的JavaScript响应于各种事件(例如,页面加载、定时器 或用户操作)会修改页面的D0M。典型的示例是旋转图像marquis (其中以规则时间间隔改变 所显示图像),或者是弹出菜单(其通常隐藏,但响应于用户点击而变为可见)。
[0069] 为了提高效率,访问者保存整个DOM树的快照,并寻找差异。在可能的情况下,访问 者JavaScript向页面发送关于增量改动的信息,以避免重新上传整个页面HTML。当代理第 一次查看该页面时,代理JavaScript从CServer下载初始的页面HTML,然后应用从初始上传 页面开始的任何增量更新。一旦代理正在查看网页,那么随着经由Cserver从访问者接收新 的增量,任何新的增量变动都被立即推送给该代理。
[0070] 通常,相同要素会在访问者端上反复变化。如果Cserver要存储所有这些由访问者 报告的变化的话,那么当代理第一次连接到会话时该代理将接收到涉及屏幕的相同部位可 能导致那个屏幕部分的闪烁的一套更新。同样地,如果代理检索访问者所跳转到的新页面 的时刻与代理页面连接到Cserver以检索对页面的后续更新的时刻之间存在延迟,那么在 由于后续更新施加至代理视图而导致屏幕部分闪烁的同时,可将访问者屏幕的多个变化转 发至代理。
[0071] 因此,在实施例中,访问者累积所有的差异,并转发自完整页面已发送开始的累积 差异。为了产生累积差异集合,访问者的JavaScript丢弃已由DOM的其他改变所覆写的无关 的变化。
[0072] 差异更新的类型
[0073] 目前,存在三类由访问者检测到的增量差异:属性差异(ATTR diff)、内容差异 (CONTENT diff)和HTML差异(HTML diff)。
[0074] 属性差异
[0075] 属性差异表明要素的属性集合发生变化。可以添加、修改或删除属性。ATTRdiff指 定新的属性集合。任选地,ATTRdiff可以更精细粒度来指定对那些属性进行添加、修改或删 除。
[0076] ATTRdiff的JSON表示的示例为:
Figure CN104704485BD00151
[0083] 在本示例中,“diff”表示增量差异的类型,“path”表示通向属性已改变的要素的 CSS路径,而“data”表示要素的当前属性集合。为了处理ATTR diff,代理的JavaScript移除 了要素的所有现存属性并采用ATTR diff中所指定的所有属性。
[0084] 内容差异
[0085] 内容差异表明要素的文本内容发生变化。要素必须仅含有文本节点而不包含要 素。CONTENT diff的JSON表示的示例为:
Figure CN104704485BD00152
[0092] 在CONTENT差异的示例中,“data”表示要素的新文本内容。为了处理CONTENTdiff, 代理的JavaScript将要素现存的文本内容替换为CONTENT diff中所指定的当前文本内容。
[0093] HTML 差异
[0094] 如果数目、类型或子节点的值发生变化则适用第三类差异,S卩HTML diffdTML diff的JSON表示的示例为:
[0095] {
Figure CN104704485BD00161
[0100] 其中,“data”是由#anid识别要素内的当前HTML标记。目前,当检测到HTMLdiff时, 访问者的JavaScript会发送新的完全更新。备选地,一些HTML diff可作为差异更新来被处 理。
[0101] 累积差异
[0102] 随着DOM发生变化,访问者向Cserver发送这些变化的JSON表示。Cserver将增量变 化转发给已接收到访问者页面并与Cserver具有开放式WebSocket连接的任何代理。为了确 保尚未检索到访问者页面或尚未与Cserver建立WebSocket连接的任何代理都能得到整组 的变化,Cserver必须存储自访问者首次发送页面起出现的累积差异集合。通常情况下,如 在marquis的示例中,网页DOM进行多次改变。在发生这种情况时,Cserver可通过要应用的 增量的任意长列表来终止。代理加入会话将需要下载并采用这个长列表。这可能表现欠佳 并可能导致代理视图的闪烁。相同的页面要素通常每次以相同的方式来变化(例如,<img> 标签的“src”属性会在一系列图像中旋转),这导致针对同一要素的一序列ATTR diff。为防 止增量DOM变化的积累,访问者的JavaScript不仅会发送最新的增量变化,而且还会发送合 并的累积变化(累积差异)的集合。如果相同的要素具有适用于它的相同的改变类型,那么 最新变化将覆盖累积差异中的旧变化。
[0103] 例如,
Figure CN104704485BD00162
[0115]将合并到单个累积差异中:
Figure CN104704485BD00163
[0121]在将累积差异收集并合并在访问者端的实施例中,当代理查看网页时,查看器将 检索并显示初始的页面HTML。然后,查看器通过WebSocket连接来检索当前的累积差异集 合,然后将这些差异应用于视图。随着增量的差异从访问者端到来,通过WebSocket连接来 接收后续的所有增量差异。
[0122] 另一种实施方案是将增量差异合并到服务器端。这将不需要访问者上传具有每次 DOM变化的全套累积差异,但却增大了CServer的负载量。
[0123] DOM树差异算法
[0124] 访问者的JavaScr ipt存储了每次向Cserver发送更新的DOM树的副本。当发送新的 更新时,访问者的JavaScript将当前DOM树与发送的具有前一更新的DOM树进行比较,计算 ATTR diff、C0NTENT diff和HTML diff的集合。图21 示出了比较算法Diff(eleml,elem2)。 注意,图21所示的Diff ()算法是递归方法,其初始由分别作为eleml和elem2的先前DOM树 和当前DOM树的文件要素根调用。
[0125] 在HTML文件中,HTML要素可以既包含要素又包含文本子节点。要素是嵌套式HTML 要素,其相应可包含其他节点或要素,而文本子节点则包含文本跨距。如果要素不包含其他 要素(并仅有一个或零个文本节点)的话,那么文本节点中的文本变化可以由CONTENT diff 来表示。如果要素即包含要素又包含文本节点的话,那么任何文本节点中的文本变化都将 由母要素的HTML变化来表示。
[0126] 如图21所示,比较算法Diff (eleml,elem2) (2100)开始于通过检查来确定是否存 在ATTR diff,从而确定要素1的属性是否与要素2的属性不相匹配(2102)。如果属性上存在 差异,那么该算法用要素2的属性创建ATTR diff。
[0127] 该算法下一步比较子要素的数量和类型(2104)。如果子要素不同,则算法将用要 素2的内部HTML来添加HTML diff (2106)。此时,算法已经检测到了HTML差异并相应停止递 归(2108),并且转发更新后的HTML。
[0128] 如果子要素的数量和类型被确定为相同(2104),则该算法将确定是否存在零个子 要素(2110)。如果不存在子要素,则该节点为纯文本节点。该算法因此将对要素1的文本内 容和要素2的文本内容(2112)进行比较。如果这两个要素的文本相同,则这两个要素之间没 有差异,算法将停止递归(2114)。如果这两个要素之间存在差异,则算法将用要素2的文本 内容创建CONTENT diff (2116)。
[0129] 如果存在多于零个的子要素(2110),则该算法将比较每个子节点的数量、类型以 及节点值(nodeValue) (2118)。如果这些值不同,那么算法将用要素2的内部HTML添加HTML diff (2106)。此时,算法已经检测到了HTML差异并相应停止递归(2108),并且转发更新后的 HTML0
[0130] 如果算法未检测到HTML差异(2118),那么它针对要素1和要素2的每一对相应子要 素进行递归(2120),以寻找DOM树中更低级要素的变化。通过这种方式,对整个DOM树进行递 归以寻找DOM的增量更新,该增量更新可用来创建用于转发至协同浏览会话的更新。
[0131] iFrame 要素
[0132] 访问者的网页可能包含引用了客户网站上的另一页面的iframe要素(框架要素)。 当访问者的Cobrowse . js将页面呈现为HTML时,iframe要素将呈现为〈iframe src = ” 1;1^1]1111'1”/>。1;1^1116页面的内容不包括在内。然而,&amp;3131'0¥86.]_8的单独副本却如同客户网 站上的所有其他协同浏览网页那样地包含在iframe源页面中。当iframe页面进行加载时, iframe中的Cobrowse · js将if rame页面数据作为主会话的“子会话”而上传给协同浏览服 务。iframe中的鼠标的位置、姿态、输入、滚球位置、鼠标点击等都如同主会话那样上传至 Cserver0
[0133] 当上传网页HTML时,访问者用iframe子会话的URL来替代iframe src属性。在代理 端,iframe将检索子会话视图。代理iframe视图也将包含代理查看器JavaScript (agent viewer JavaScript) CobrowseViewer · js的额外拷贝,这将基于来自Cserver的更新而持续 地更新视图。
[0134] 代理视图
[0135] 代理此时使用标准网络浏览器或者可能使用以插件或一些其他手段强化的网络 浏览器(用于提高性能)来登录到协同浏览服务中。代理浏览器请求客户页面的代理视图。 提供给代理的页面包含与客户浏览器(如图1所示)具有相同尺寸的iframedframe src URL通过〈script〉标签引用嵌入在其中的“cobrowseviewer. js”,来检索由协同浏览服务使 用的具有客户发送的头部HTML和主体HTML的页面。如果访问者滚动了页面,那么协同浏览 服务会将<div>插入到已经相对于页面左上角偏移了滚球偏移量的页面中。div具有标识符 “glance_scroll”并且iframe src URL包括相对部分“#glance_scroll”,由此使得当页面 加载到框架中时页面会立即偏移,以使得<div>位于框架的左上角。这种做法使得无需等待 网页上的JavaScr ipt来滚动代理视图,代理视图就能立即定位在正确的滚球偏移量处。 [0136] Cobrowseviewer. js运行在代理浏览器上,并且定期地从协同浏览服务检索增量 DOM变化、滚秋偏移量、鼠标位置、浏览器尺寸、要素焦点、选择框状态以及输入字段值。如果 存在可用于网页HTML的完整更新,那么协同浏览服务还将通知代理。Cobrowseviewer. js执 行以下操作:
[0137] 1.如果存在用于网页册11^的完整更新,贝忙〇131'0¥86¥丨6¥61'.」8刷新整个框架以利 用当前HTML获得新的视图。(备选地,该页面可使用更新后的头部HTML和主体HTML自己进行 重建)
[0138] 2.否则,cobrowseviewer · js:
[0139] a.将任何的增量变化应用到DOM;
[0140] b.将窗口(该窗口在iframe内)滚动至与客户的浏览器窗口相同的偏移处;
[0141] c.在与客户的鼠标光标相同的坐标处显示图像以代表客户鼠标;和
[0142] d.将输入字段的值设置为指定值;
[0M3] e.如果代理浏览器的窗口是桌面上的活动窗口,则将焦点设置到访问者的焦点要 素;
[0144] f.如果访问者打开了选择框,则在代理视图中打开相同的选择框。
[0145] 姿态示意
[0146] 在一个实施例中,代理所采取的行动被cobrowseviewer. js捕获并传送给协同浏 览服务。相应地,协同浏览服务向访问者中继所捕捉的输入,以突出网站的方面或者采取其 他行动与显示在对访问者浏览器I 〇上的网站14相连。
[0147]图19-20示出了实施例中的示例,其中当代理在网站的代理视图要素上进行点击 时,在代理浏览器和访问者浏览器10中会出现周围相应要素绘制的方框。在图19-20所示的 实施例中,图19示出了代理视图。在本示例中,代理点击了 “First name”下的空白字段,这 使得该字段在代理视图中被突出。具体来说,这导致代理视图中出现了包围要素的橙色圆 角矩形1900。
[0148] 图20示出了当代理点击了 “First name”字段时访问者的网站视图。具体地,如图 20所示,当代理点击此对象时,所述服务指示访问者视图来绘制围绕访问者浏览器中的相 应要素的矩形2000。在一个实施例中,绘制在访问者视图中的矩形涂为红色。访问者DOM的 矩形变化不会发送到Cserver作为增量更新。
[0149] 尽管在本示例中当代理点击在要素上时绘制出了红色框,也可以使用在视觉上对 要素引起注意的其他方式。例如,针对框可采用不同颜色,或者可将固体半透明颜色叠加在 要素上以突出该要素。任选地,随着代理在代理视图上方移动他/她的光标,可在代理视图 中的要素周围绘制半透明框架,以使得代理在选择将被突出显示的要素之前知道该要素的 尺寸。
[0150] 当代理选定要素以便向查看者浏览器突出显示该要素时,该要素可在访问者浏览 器上在不定的时间段里保持突出。在本实施例中,如果代理点击另一要素,则将突出从第一 要素上移除,并围绕第二要素来绘制突出。备选地,两个要素可同时突出显示。同样地,如果 代理再次点击被突出显示的要素,则将突出从该要素上移除。任选地,取代使突出保持不定 时长的做法,突出可在一段时间后消失或淡去。例如,代理可以点击要素,以使要素向访问 者突出显示,然后突出可以在几秒钟后消失。要素保持突出显示的持续时间可取决于代理 点击要素的次数,例如,一次点击=3秒,两次点击=10秒,三次点击=不定时长。取决于具 体的实现,许多种变化均是可以的。
[0151] 代理的姿态示意(gesture)依赖于明确地识别并访问网页上的要素的能力。在本 实施例中,当代理点击要素以进行姿态示意时,JavaScript产生能唯一识别要素的CSS选择 器。随后,访问者端的JavaScript使用标准JavaScript方法能够通过CSS选择器来访问要 素。网页上的一些要素具有唯一的ID,并且可简单地被例如“#s〇meid ”的选择器所识别。然 而,许多要素不具有ID,并且必须通过经由DOM的路径来描述。以下算法用来产生唯一的CSS 选择器:沿着要素的层次结构向上,从目标要素开始,在层次结构的每一级得到CSS选择器 的一部分,例如是ID或是第η类选择器。当完成后,将个体CSS选择器与CSS>子操作符相结 合。
[0152] 在每一级产生CCS选择器部分的算法为:
[0153] •获取要素的ID (如果具有的话),并通过转义特定字符或将它们转换为Unicode 转义序列来将所述ID转换为有效的CSS ID。
[0154] •如果ID唯一地识别其直接母系内的要素,那么这一级别的CSS选择器部分为# theid〇
[0155] •如果ID唯一地识别整个文件中的要素,则退出。该要素的ID作为路径的唯一起 点。
[0156] •如果要素是文件主体,那么CSS选择器部分则就简单地是“body”。退出;该主体 是路径的起点。
[0157] •否则,确定该要素在其相同类型的同族要素列表中的索引位置η。这一等级的 CSS选择器部分则是标签:nth-〇f-type (η)
[0158] 下面提供唯一的CSS选择器的几个示例:
[0159] · Sauniqueid
[0160] · body>table:nth-〇f-type (I)>tbody:nth-〇f-type (I)>tr:nth-〇f-type(I) > td: nth-〇f-type (2)
[0161] · #content>div:nth-〇f-type (I)>form:nth-〇f-type (I)>table:nth-〇f-type (I) >tbody :nth-〇f-type (I)
[0162] 代理还可(经过或不经过访问者的许可)进行远程控制。在这种模式下,代理的指 针位置(与访问者的指针不同)可显示给访问者。代理也可以向字段中输入值,从而向访问 者浏览器栏的字段中输入数据,并且还可以点击链接、按钮等。Cobrowseviewer. js捕捉按 键敲击并将输入传送给访问者浏览器。访问者浏览器捕获相关字段中的输入,以使代理能 够将数据输入到该网站的字段中。通过在协同浏览会话期间让代理能够控制访问者浏览 器,使得代理能够通过导航网站来为客户提供直接援助。
[0163] 为了防止代理在访问者浏览器中采取特定动作,在一个实施例中,针对该网站定 义了能防止代理向指定的表格、div、页面等输入数据的掩蔽对象列表。同样,掩蔽对象列表 将阻止代理点击某些链接或按钮,例如基于点击通过式许可协议的“I agree”按钮。此外, 代理被限制在特定的页面,并且不能从其他网站来远程控制网页。
[0164] 反向协同浏览
[0165] 在另一种场景中,代理可发起与访问者的协同浏览会话。在这种情况下,代理可打 开浏览器,导航至网页的特定部分,然后启动与访问者的协同浏览会话。例如,访问者在网 页上出现麻烦。访问者联系客户支持。代理并非要告诉访问者去哪里,而是定位到正确的网 站,并启动了协同浏览会话(使用cobrowse . js)。协同浏览查看器JavaScript (即, cobrowseviewer. js)通话聊天而传送至访问者,从而促使访问者端上的用于将访问者连接 至网站的选项卡或新的浏览器打开。然后,代理可驱动该浏览器或允许访问者来控制该浏 览器。
[0166] 悬停状态
[0167] 如果访问者允许其鼠标指针在卖方网页的要素上方保留给定的时间段,那么浏览 器可将这个动作解释为“悬停”。网页可设计为根据是否处于“悬停”状态来将不同类型的属 性应用于要素。某些形式的悬停造成DOM的变化,这将反映给代理。例如,JavaScript “onmouseover”可用于指定根据悬停所应当实现的效果类型。当“onmouseover”事件发生时 (例如,要显示子菜单),这将导致DOM的变化,并且正常的协同浏览DOM更新会将该变化反映 给代理。然而,其他形式的悬停则不会导致DOM变化。例如,CSS样式可定义为,当访问者的指 针悬停在要素上时,将显示与要素相关的选项菜单。这允许在网页中动态地提供附加信息, 而不需要访问者点击链接,从而在页面之间移动。
[0168]与此相关的问题是,悬停状态不会影响D0M,因此简单地通过保持代理DOM与访问 者同步,就能使得视觉上的变化不会反映在代理端上。由于无法对代理的实际鼠标指针进 行定位以匹配访问者的鼠标位置,因此相同的悬停状态不会发生在代理端上,并且代理将 不会看到基于访问者的悬停状态所显示出的网站各方面。如果访问者端的脚本修改了访问 者浏览器中的文件要素层次结构,那么层次结构的变化将通过如上所述的协同浏览服务反 映给代理。然而,悬停状态不会改变层次结构,并因此对代理是不可见的。
[0169]因此,实例中的情况是,通过代理无法看到的悬停状态事件,可以向访问者提供网 站的特征。当代理正试图通过网站来帮助访问者时,这种无法看到访问者所看内容的做法 会产生问题。
[0170] 根据实施例,为卖方网站提供支持的代理配备有以CSS选择器形式的针对网站的 可悬停要素列表。该可悬停要素列表可被定义一次,并且可供为卖方网站提供支持的所有 代理使用。类似于定义掩蔽要素列表的方法,可以通过许多方式来创建可悬停要素列表。在 协同浏览网站中一起检索可悬停要素列表与掩蔽字段定义。为在代理端复制悬停状态,对 访问者的鼠标位置进行监控并将该位置用于选择性地重新创建代理端的悬停状态。下面对 一种实现方法进行更详细的描述。
[0171] 使用样式表单来定义网站的外观。样式表单定义了应用于要素和要素类别的样 式。一个可定义的方面是对要素/类别的悬停状态进行定义,即,当访问者将光标悬停在要 素上方时会发生什么。例如,网站可例如通过下表I中所列举的如下代码来指定当用户将鼠 标悬停在一级菜单选项卡上时会出现二级菜单:
[0172] 表I
Figure CN104704485BD00211
[0174] 代理的主机实际鼠标位置不会跟随访问者鼠标。因此,代理浏览器不会检测到“悬 停”状态,由此代理端上不会显示二级菜单。有几种方法可以为代理解决这个问题。例如,针 对光标自身下方的要素,访问者的JavaScript可以调用getComputedStyle 〇并将其发送 给代理的浏览器,由此让代理将这种计算方式应用到代理端的相同要素上。但是,除非是不 仅针对光标下的要素而且还针对所包含的所有要素来调用getComputedStyle,否则在嵌套 式悬停要素的情况下这将不起作用。
[0175] 需要使客户网站所依赖的两个配置片段就位:S卩,悬停样式:1) “可悬停”要素列 表,和2)仅应用于代理视图的代理CSS样式集合。例如,可创建工具来扫描网站的样式表单 并产生在在网站上可悬停的要素列表。
[0176] 可悬停要素是那种当鼠标悬停在它上方而具有适用于它(或者它的同族或子族之 一)的样式的要素。可悬停要素通常可由任何有效的CSS选择器来指定标签名和ID或着类 另IJ。可悬停要素可基于每个用户来定义。表II示出了如何为可悬停要素指定网站样式定义 的示例:
[0177] 表Π
[0178]
Figure CN104704485BD00221
[0179] 在本示例中,“可悬停”将是:
[0180] · #divl
[0181] . #div2
[0182] * .cl
[0183] · hl.c3
[0184] 下表III中示出了那些包括在代理样式表单中的对应代理样式:
[0185] 表III
Figure CN104704485BD00222
[0187]为了使悬停状态复制到代理端,访问者端处的JavaScript观察访问者端的鼠标位 置并查看鼠标位置是否定位于任何“可悬停”要素上方。如果是,则代理需要对代理视图中 的对应要素应用一种(或多种)悬停样式。访问者的JavaScript发送供代理应用的样式列 表。此列表中的每个条目包括:
[0188] csspath:通向已被悬停的要素的CSS路径。CSS路径是使用上述算法来指定的。 [0189] classname:应用于被悬停要素的样式名称。样式名称是基于用于识别要素的CSS 选择器来生成的。在上面的示例中,如果对要素匹配选择器#divl进行悬停,则样式名称将 是“(1;^1_110¥61'”。如果对要素匹配选择器.(31进行悬停,则样式名称将为(31_110¥61'。对于一 些网站而言,这种技术可能不够,可能需要扩展这种命名惯例或者允许管理员来指定应当 与特定选择器相关的样式名称。
[0190] 代理循环访问这个列表,找到被csspath所识别的各个要素,并且对其应用指定的 classnamm,产生了与应用于访问者端上的悬停状态样式相同的视觉效果。
[0191] 当访问者悬停在要素上时,该动作被检测到,并将命令转发给代理以通知代理悬 停状态已被触发。通过向访问者传递可悬停“CSS选择器”列表,以及让访问者浏览器确定所 悬停的事项是否与选择器匹配,可以让JavaScript向代理传递指令,以使代理能够在代理 端重新创建悬停状态。
[0192] 协同浏览服务
[0193] 协同浏览服务允许一个或多个客户服务代理实时地查看访问者对网站的网页浏 览活动。还可以开发协同浏览服务的其它用途,况且协同浏览服务可以使用在人员想要实 时地查看访问者对特定网页的网页浏览活动的任何情况中。因此,尽管所提供的示例是代 理能够看到访问者所看的内容,但是本发明不局限于此特定用途。
[0194] 在本文所描述的实施例中,除了例如信用卡号码或密码的指定掩蔽字段的内容不 能看到外,代理在其浏览器中确切地看到了访问者所看的内容。同样,由其他网站提供的动 态内容如广告,其为来自卖方网站以外的其它网站上的内容,这对代理是可见的,但代理可 能不会获得与访问者相同的广告。
[0195] 在一个实施例中,协同浏览服务实现了能确保安全性并提高协同浏览会话的集成 度的几种机制。协同浏览网站具有例如登录和账户管理系统的到位的安全措施,这使得网 站本身能对抗攻击。
[0196] 体系结构概览
[0197] 图2示出了示例性协同浏览服务的示例性体系结构概览。协同浏览服务依赖于嵌 入在客户网站中的<script>标签,该标签引用了宿主于协同浏览网络服务器的JavaScript 文件。就该文件的目的来说,访问者端的这个JavaScript文件将称为Cobrowse, js。也可以 对JavaScript使用其他名称。
[0198] 当协同浏览会话开始时,Cobrowse. js向协同网络服务器发送StartCobrowse请求 (图2中的箭头DXobrowse.js从访问者100向协同浏览网络服务器110传递客户团体ID,并 接收唯一的会话ID、Cserver任务、掩蔽字段及可悬停选择器列表。
[0199] 在一个实施例中,会话ID包括三部分:1)客户团体ID,2)会话密钥,和3)用于唯一 性的随机数。还可以根据实施例来传递其他参数。
[0200] Cobrowse, js在浏览器会话cookie中存储会话ID和掩蔽字段集合,并开始将会话 数据上传到指定CServer 120中(图2中的箭头2) XServer相应地向协同浏览网络服务器递 送消息(图2中的箭头3),从而在数据库中记录下会话已开始的事实。
[0201] 要求将团体ID和会话密钥都结合到会话中。一旦登录,可根据代理的协同浏览组 成员来确定团体ID。例如,代理将提供对一个或多个客户网站的支持。当访问者位于客户网 站时下载到访问者端的JavaScript包含当会话开启时由客户上传至协同浏览网络服务器 (箭头1)的客户团体。这使得协同浏览网络服务器能够得知哪些客户与特定的协同浏览会 话相关联。在代理为多个客户提供支持的情况下,该代理可向协同浏览服务器提供客户团 体ID,以选择与所支持客户中的一个客户相关联的协同浏览会话(图2中的箭头4)。
[0202] 针对会话密钥,有几种方式可将其指定在代理端上。会话密钥可以是随机分配的 字符串,或者可能是与访问者相关联的一些信息片段,例如用户ID或跟踪Cookie ID。代理 可手动输入会话密钥,或者可自动从CRM记录器的数据中为代理提取该会话密钥。下面阐述 示例性连接方案的附加细节。
[0203] 无论通过哪种方式,结果都是,代理将浏览器窗口打开至与协同浏览会话相关联 的URL,例如:
[0204] https://www.cobrowse.net/cobrowse/AgentView.aspx?SessionKey=Ssnkey如 果没有登录,则会提示代理进行登录,然后重新引导回到代理视图。
[0205] AgentView. aspx通过代理团体ID和会话密钥在数据库中查找会话,并将代理重新 引导至能产生会话中的代理视图的合适的Cserver上。代理视图包括嵌入式JavaScript文 档,即CobrowseViewer. js,该文档经由HTTP和WebSockets与CServer通信(图2中的箭头5)。
[0206] CServer仅向代理浏览器发送用于浏览会话的HTML标记。被会话HTML引用的资源 (例如,图像或样式表单)由代理直接从客户(或第三方)网站上下载。
[0207] 安全事项
[0208] 协同浏览服务收集并传送潜在的敏感访问者浏览信息,并因此将安全性设计为最 高优先级。协同浏览架构处理以下安全事项:
[0209] 安全代理视图
[0210] 当代理视图加入会议时,网络服务器基于代理协同浏览团体来查找会话以及所提 供的会话密钥。如果找到匹配的会话,则网络服务器返回会话ID,该会话ID中签署了保密的 “服务器密钥”。服务器密钥是仅为CServer和网络服务器知道的256位的数字;CServer每60 秒产生新的服务器密钥,并与网络服务器安全共享。当代理被重新引导至CServer以查看会 话时,CServer会验证会话ID上的签名,如果签名有效则仅允许代理加入。这种方法保证了 仅在a)代理得到网络服务器验证和b)代理是该会话所关联的团队中的成员时,查看会话的 请求才会被允许。
[0211] 一旦代理参与了会话,安全(标示为仅用于HTTPS)会话cookie用于保持代理的会 话。代理会话cookie包含用仅CServer知道的密钥来签署的会话ID。CServer密钥是在运行 中生成的,并且不会在任何地方保留。
[0212] 当WebSocket连接首次建立时,该WebSocket连接从代理端传递代理会话cookie 值。如果请求中包括有效的代理会话cookie值,那么CServer仅接受与给定会话的 WebSocket 连接。
[0213] 在请求中不附带有效的代理会话cookie的情况下,CServer不会提供浏览会话数 据。这保证了只有以指定公司注册的协同浏览提供商账户的那些代理才能查看由那家公司 网站的访问者开启的会话。
[0214]安全数据传输
[0215] 使用HTTPS或安全WebSockets进行所有通信的做法确保了将所有数据安全地传输 到身份已被认证的服务器中。这包括:
[0216] •从协同浏览网络服务器将协同浏览javascript下载至访问者浏览器
[0217] · cobrowse, js和协同浏览网络服务器之间的通信
[0218] · cobrowse · js和CServer之间的通信
[0219] · CServer和协同浏览网络服务器之间的通信
[0220] •将会话数据和代理的JavaScript下载至代理浏览器
[0221] · AgentView. js和CServer之间的通信(如果访问者网页是安全的)
[0222] •从客户网站将访问者会话资源下载至代理浏览器(如果访问者网页是安全的)
[0223] JavaScript一体化
[0224] 使用来自协同浏览网络服务器的HTTPS,从协同浏览网络服务器将访问者 JavaScript下载到客户站点(S卩,客户向访问者提供JavaScript的位置)C3HTTPS确保了脚本 本身来自于合法来源。客户的责任是,确保协同浏览的JavaScript通过HTTPS嵌入到其网站 中,甚至是非安全网页。为了鼓励这一点,协同浏览网络服务器将不会通过HTTP来提供访问 者端JavaScript,由此在测试过程中应当检测到任何想通过HTTP访问JavaScript的企图。
[0225] 掩蔽字段
[0226] 由于掩蔽字段存储在协同浏览网络服务器的安全数据库中并且要经由与协同浏 览网络服务器相连的安全连接而被检索,因此掩蔽字段定义不能被篡改。备选地,掩蔽字段 定义可以如上所述地由客户来存储,并由客户来为访问者提供。掩蔽字段的内容从未泄露 出访问者的浏览器,由此使得这种数据无法在传输过程中被拦截,甚至无法由具有合法会 话cookie的代理从CServer来访问。
[0227] 掩蔽对象
[0228] 由于掩蔽对象存储在协同浏览网络服务器的安全数据库中并且要经由与协同浏 览网络服务器相连的安全连接而被检索,因此掩蔽对象定义不能被篡改。备选地,掩蔽对象 定义可以如上所述地由客户来存储,并由客户来为访问者提供。代理被阻止对掩蔽对象提 供输入,从而防止代理对包括在掩蔽对象列表中的访问者浏览器的各方面进行控制。备选 地,可以使用可控对象列表来指定访问者浏览器中可控制的那些对象,从而默认地将那些 不包括在可控对象列表中的对象自动视为掩蔽对象,且不能从代理接收输入。
[0229] 安全的 CServer
[0230] 每个协同浏览服务器120是运行其自身的本地防火墙的独立Unix服务器。防火墙 配置为仅允许从安全端口 443上传入的通信量。CServer上的任何文档或数据库都不保留会 话数据。尽管图2示出了独立于协同浏览服务器120而实现的协同浏览网络服务器,但是其 他实现方式可以将协同浏览网络服务器110的功能性方面与协同浏览服务器120相结合。
[0231] 无针对代理限制
[0232] 需要注意,只要两个代理均具有同一团体的帐户,就没有特定保护来防止一个代 理查看本来意图针对另一代理的会话。即使当随机会话密钥是通过电话在访问者与代理之 间私下交换的,也不会保护该密钥不被窥探,这是因为当访问者导航至客户网站中的不安 全页面时,该密钥会存储在以非加密方式上传的不安全cookie中。在另一实施例中,可以实 现能使代理查看协同浏览会话的其他限制。
[0233] 针对采用内容分发网络的网站的代理HTTP
[0234] 如果代理会话严格使用HTTPS来访问访问者会话数据,那么代理浏览器将使用 HTTPS来请求例如图像和样式表单的所有资源。有些网站实施方案,特别是使用内容分发网 络的网站,不能通过HTTPS来提供所有的资源。
[0235] 为了解决这个问题,协同浏览服务可任选地配置为允许代理协议遵循访问者协 议,以便当访问者导航至HTTP页面时,代理也是如此,反之亦然。代理端上保持有两个单独 的会话cookie,S卩,用于查看HTTPS页面的安全cookie以及用于查看HTTPS页面的非安全 cookie。尽管非安全cookie提供了最低的安全水平,但是代理会话不会免于通信量探查。备 选地,代理服务可用于让代理能够查看此种情况下访问者正在观看的内容。
[0236] 协同浏览连接方案
[0237] 有许多方法能将代理连接到正确的协同浏览会话上。给定网站可能在任何一个时 间点上都拥有成百上千的访问者。如果协同浏览JavaScript的下载与加载网页相关,那么 针对每个访问者都将存在协同浏览会话。与特定访问者一起工作的给定代理需要选择正确 的协同浏览会话,以使得该代理能够随着其特定客户的阅历而看到网站的状态。
[0238] 因此,有必要让代理能够识别访问者并能正确地识别哪个协同浏览会话与所识别 的访问者相关联。可供代理这么执行的特定机制将取决于特定的网站实现方案,以及代理 正在使用哪些其他类型软件(例如,客户关系管理软件)。
[0239] 代理可以使用由第三方或任选地由协同浏览服务提供的聊天服务与客户进行交 互。同样地,代理可以具有运行在其工作站上的客户关系管理软件,以供该代理对客户及其 他接触点保持跟踪。为了促进代理和访问者之间的交互,通常有利的是,利用其他那些与访 问者的接触点来帮助识别协同浏览服务中与客户相关联的、该代理所要参与的协同浏览会 话。
[0240] 图3示出了当访问者需要帮助(或者代理或自动规则感知到访问者可能需要援助) 时如何发起协同浏览会话的示例。在图3所示的示例中,代理和访问者通过语音呼叫一起交 谈或参与到聊天中,并且网站具有能让访问者发起协同浏览会话的按钮300。具体地,如果 访问者点击按钮300以发起会话(图3A),弹出框310将向访问者提供随机的会话ID 315 (号 码或字母)。访问者在电话上向代理口头给出号码或者将号码键入到聊天中。然后,代理将 该号码提供至协同浏览网络服务器,其中该号码使得协同浏览网络服务器能够将代理连接 到正确的协同浏览会话上。
[0241] 图4示出了一种备选的滑块或标签,其中网站上布置有不显眼的按钮400并且访问 者使用该按钮来发起协同浏览会话。访问者可以点击帮助按钮400来寻求帮助,或者代理可 以指导访问者找到该按钮并点击它。点击该按钮将开启协同浏览会话,并显示如图5所示的 弹出框500。弹出框500与图3所示的弹出框310相同或相似。然后,访问者可向代理文本式输 入代码或者告诉代理代码。该代码可通过协同浏览服务来产生或者在访问者浏览器中产 生。除非访问者端和代理侧均得到另一种标识符,否则在任一种情况下,这与会话相关并且 需要从访问者传送给代理。
[0242] 图6示出了当代理通过协同浏览服务所提供的界面加入协同浏览会话中时该代理 的屏幕。如图6所示,当代理想加入协同浏览会话时,代理会点击他们计算机上将显示图6所 示的弹出框的图标。然后,代理输入由访问者提供的号码(参见图3B和图5),以加入会话。如 图6所示,弹出框包括字段600,其中代理可以将会话密钥键入该字段中以使该代理加入与 访问者的协同浏览会话。
[0243] 图7示出了另一种将号码键入弹出框的备选方案。具体地,在图7中协同浏览服务 界面向代理提供了该代理可加入的协同浏览会话(该代理凭借许可、技能设置或一些其他 标准所要访问的协同浏览会话)的列表。代理从列表中选择协同浏览会话或者在搜索字段 700中键入会话密钥或其他信息,以更迅速地从一组可获得的协同浏览会话中定位正确的 协同浏览会话。
[0244] 在另一实施例中,代替向访问者提供标识符然后再要求访问者向代理提供标识符 的做法,提出让访问者输入可用于让代理找到访问者的协同浏览会话的识别信息。例如,如 图8所示,当访问者点击标签以发起协同浏览会话时,该标签可给出指示访问者输入识别信 息的提示800以及供访问者输入识别信息的字段810。代理询问访问者的名称,并通过将访 问者的名称键入类似于框600 (参见图6)的框中来用该名称选择会话,或者用该名称从当前 的会话列表(见图7)中搜索协同浏览会话。尽管图8所示的示例要求用户输入他们的名称, 但是也可使用其他的客户信息来代替,例如客户的位置、帐户ID、电子邮件地址或可在访问 者网络会话内容中获得的其他信息。
[0245] 代理可以运行客户关系管理(CRM)软件,例如可从Salesforce™获得的CRM软件。代 理还可以使用CRM软件来定位协同浏览会话。图9示出了 CRM软件界面的一部分的屏幕截图。 如图9所示,代理使用由访问者提供的信息可在CRM系统内手动地找到领导者人或联系人。 备选地,当访问者将信息输入到字段810时,如果CRM系统中存在访问者的记录,那么领导 者/联系人屏幕/页面可以提醒代理领导者/联系人在网站上和/或请求帮助。
[0246] 图9示出了当代理键入访问者名称时的CRM软件界面的示例。具体地,在该图中代 理将请求访问者名称,然后在搜索字段900中键入该访问者名称。如图10所示,CRM软件将填 充与搜索相匹配的联系人和/或领导者列表1000。代理可从该列表(例如,Vera Visitor)中 选择条目之一,以提取出CRM系统内该访问者的联系记录。
[0247] 图11示出了所选访问者的联系记录的示例。如图11所示,联系记录包括供代理点 击以加入与访问者的协同浏览会话的按钮1100。还提供了屏幕共享按钮1110,以使代理用 屏幕共享会话来与访问者联络,从而使代理能够将信息显示回给访问者。通过CRM记录来加 入协同浏览会话的做法使得CRM系统能够在其他联系数据的背景下跟踪协同浏览会话,从 而能够根据协同浏览会话信息建立分析。
[0248] 任选地,CRM系统可以自动创建新的联系记录或针对新访问者的其他CRM记录。CRM 系统与屏幕共享系统间的集成实施方案更详细地记载于2012年9月23日提交的名为 “Integrating Screen Sharing Sessions with Customer Relationship Management”的 美国专利No. 13/624,951中,其全部内容通过引入并入本文。在该引用专利中,使用一种机 制来使得CRM系统能够检测屏幕共享会话的发起并能够对屏幕共享服务轮询有关屏幕共享 会话的信息,例如屏幕共享会话的时长和关于屏幕共享会参与者的信息。类似机制可用于 使得CRM系统能够捕捉协同浏览会话。具体地,CRM系统可以确定已经选择出代理来参于协 同浏览会话。稍后,CRM系统可以轮询协同浏览服务器以获得关于协同浏览会话的详细内 容,例如协同浏览会话的时长、协同浏览会话的参与者、在协同浏览会话期间所访问的页面 以及协同浏览服务可获得的任何其他信息。同样地,出于培训以及审计的目的,可以对协同 浏览会话进行记录。
[0249] 图12示出了另一示例,其中CRM软件具有能显示网站的访问者列表的单独标签。在 本实施例中,CRM系统从CRM记录提取信息和附加字段,并以列表的形式呈现可获得的协同 浏览会话。可例如通过突出显示正请求帮助的访问者和/或将这些访问者分选至顶部来对 列表进行优化。例如,如图12所示,提供了网站的访问者列表1200。其中一个访问者1202被 列为匿名,这是因为CRM系统不具有关于该访问者的任何信息和/或该访问者没有向网站提 供标识信息。
[0250] —些网站提供的聊天式(基于文本的)客户支持。访问者习惯了被问询提供与开启 聊天会话有关的识别信息。有关开启聊天所发生的初始信息收集将在本文中称为预聊调 查。
[0251] 能识别协同浏览会话并将其链接于聊天会话的特定方式取决于协同浏览服务与 聊天服务之间的集成水平。如果聊天与协同浏览服务之间进行整合,来自预聊调查的信息 可用于执行对匹配协同浏览会话的查找。图13A和13B示出了预聊调查窗口的示例,其中当 访问者选择经由聊天会话来进行客户服务时该预聊调查窗口可用于从访问者收集信息。
[0252] 如图14A和14B所示,代理会看到聊天应用程序中的访问者信息,并采用与图9-12 相关的上述机制,代理可使用该访问者信息来查找协同浏览会话。如果不使用预聊调查来 收集访问者名称或其他识别信息,那么这种信息可以在聊天会话期间由代理收集,并用于 定位与访问者相关联的协同浏览会话。
[0253] 图15A和15B示出了当聊天和CRM系统与协同浏览服务集成在一起时可使用的示例 性CRM界面。如图15A所示,当代理与访问者进行聊天会话时会自动显示针对访问者的联系 记录。在本实施例中,CRM记录包括能将代理连接到与访问者相关联的协同浏览会话的协同 浏览按钮1500。图15也示出了有关访问者的代理状态信息,例如访问者已处在网站1510的 时间量以及访问者在网站1520中所位于的页面。这允许代理知道访问者所处于的交易,以 便代理能更好地了解访问者可能会遇到问题。
[0254] 图15B示出了当访问者在网站中未被CRM系统追踪时的代理屏幕。如图15B所示,如 果代理想加入与访问者的协同浏览会话,那么该代理被提示输入例如协同浏览密钥(参见 图3B)、访问者名称等鉴别信息。
[0255] 图16示出了 CRM系统与聊天系统之间未进行集成但CRM系统的确知道可获得的协 同浏览会话的情形。如16所示,代理可使用预聊调查所提供的信息或聊天会话过程中所得 到的信息在CRM系统中查找针对访问者的联系记录。在图16所示的示例中,访问者位置 (Denver)用于搜索现存的协同浏览会话列表。备选地,代理也可以使用访问者名称或其他 标识信息来搜索潜在的匹配协同浏览会话。
[0256] 图17示出了用于聊天服务的示例性代理屏幕。如图17所示,代理具有能通过聊天 代理屏幕中的按钮1700来加入协同浏览会话的能力。聊天服务提供这种代理视图,以使得 代理无需要求访问者做任何操作就能在聊天会话中与访问者交互。在图17所示的实施例 中,代理可点击按钮1700来自动加入与参与到聊天会话中的访问者相关联的协同浏览会话 中。代理不需要访问者操作就能发起协同浏览会话。任选地,代理可以为访问者提供参与协 同浏览会话的机会,并向访问者提供接受协同浏览会话的能力。
[0257] 在一个实施例中,为了使聊天服务能跟踪访问者到达某网站,聊天服务将包括该 网站上的脚本。本聊天服务脚本将促使访问者浏览器定期地轮询聊天服务,以确定是否出 现了状态改变。例如,聊天服务中的规则会促使聊天服务为网站提供用于询问访问者是否 愿意发起聊天会话的弹出框或覆盖框。
[0258] 聊天服务具有将附加的脚本插入到访问者浏览器中的能力。根据实施例,通过聊 天服务将协同浏览脚本下载到访问者端,以便能够发起协同浏览会话。协同浏览脚本可基 于聊天服务的规则来进行下载,例如:用户随时可以将选择的条目列入到购物车中,或者聊 天代理何时可以选择协同浏览按钮来开启与访问者的协同浏览会话。可以使用多种方法来 触发协同浏览脚本的下载,从而向访问者提供协同浏览脚本。任选地,将由协同浏览服务器 用来识别所述协同浏览会话的信息(例如,访问者ID或会话ID)可以包括在被下载到访问者 端的协同浏览脚本中。因此,聊天服务不需要开启聊天会话就可以将协同浏览脚本下载至 访问者。
[°259] 在另一实施例中,当访问者开启聊天会话时JavaScript (例如,cobrowse, js)被下 载并安装到访问者浏览器中。在本实施例中,JavaScript包含指示访问者浏览器轮询具有 识别值的会话状态服务器的指令。会话状态服务器可以是聊天服务服务器、协同浏览服务 器或网络上的另一服务器。在一个实施例中,识别值唯一与代理和访问者间的聊天会话相 关联。
[0260] 如果代理点击协同浏览按钮1700,则代理协同浏览器将发起协同浏览会话,以创 建与识别值相关联的状态。这将导致在轮询服务器端的服务器会话状态发生改变,以便表 明协同浏览会话已经开启并将识别出那个主管协同浏览会话的正确的CServer。当访问者 浏览器检测到协同浏览会话已经开启时,它会向CServer发送将转发给代理的浏览器状态。 这能够使代理看到访问者浏览器的视图。等到访问者与会话相连为止,代理再连接到会话 中以开始接收数据。
[0261] 由于JavaScript被下载到与聊天服务所提供的脚本有关的访问者那里,因此不需 要访问者采取任何进一步行动(即,访问者不需要点击按钮以表明他们希望代理能够看到 其浏览器),协同浏览JavaScript就会促使访问者浏览器对代理可见。为了保护访问者的信 息安全性,下载到聊天会话中的JavaScript还包括掩蔽项目列表,以防止与掩蔽字段相关 联的敏感信息被转发给协同浏览会话中的代理。
[0262] 尽管上文描述与基于通信会话的聊天有关,但是可以出现与基于语音的通信会话 有关的类似协同浏览会话定位法和加入法。具体地,如果访问者点击按钮(例如,“点击呼 口按钮)以发起电话呼叫,并输入了电话号码,那么代理可以使用访问者所提供的标识信 息来定位并任选地发起与访问者的协同浏览会话。
[0263] 轮询最小化
[0264] 某些情况下,当事人可能希望通过通信会话来交流,例如,协同浏览会话、屏幕共 享会话、IP语音会话或者网络会议会话。当一方当事人开启会话另一方当事人却未得知该 会话的情况下,需要向另一方当事人提供信息以使其能够加入该会话。如上所述,多种类型 的通信会话可能会遭遇这种问题。尽管将提出与协同浏览相关的示例性解决方案,但是类 似的解决方案也可以利用其他形式的通信会话。
[0265]例如,如上面所指出的,代理可以发起与访问者的协同浏览会话,然后让访问者加 入协同浏览会话,以便代理能够查看访问者浏览器。在这种情况中,代理可以发起协同浏览 会话,以便代理能够查看访问者浏览器上正显示的内容。然而,访问者不知道代理已发起了 协同浏览会话,因此访问者端的JavaScript不知道要开始转发有关访问者浏览器内容的信 息。
[0266] 在这种情况下,访问者端的JavaScript可以定期地轮询连接服务器,以确定代理 是否已经发起协同浏览会话。对协同浏览网络服务器的连续轮询能够使协同浏览网络服务 器周期性地通知访问者代理是否已经发起协同浏览会话,以使JavaScript得知主管会话的 服务器的身份,并使访问者端的JavaScr ipt开始向协同浏览会话转发更新。
[0267]然而,对于协同浏览网络服务器而言,使用连续轮询(或快速轮询)是资源密集性 的。例如,如果协同浏览网络服务器隶属于几个网站,每个网站都拥有数以千计的访问者, 即使每位访问者每秒只轮询连接网络服务器一次,那么就算仅处理没有待定协同浏览会话 的访问者的状态更新,协同浏览网络服务器每秒仍然需要处理成千上万的交易。
[0268]随着网站的可识别访问者的数量增加,让访问者JavaScr ipt连续轮询的可用的协 同浏览会话是不成比例的。尽管访问者轮询协同浏览网络服务器的快速性可能会下降,但 是这在代理选择协同浏览会话的时刻与代理首次开始从访问者接收数据的时刻之间引入 了潜在的时间滞后。
[0269] 有几种方法来解决这个问题。例如,如上面所指出的,访问者可以点击与协同浏览 服务器相关联的网站中的指定按钮或其他功能(例如,网站上所包括的按钮)。这使得访问 者能够轮询协同浏览网络服务器,但这不限于网站具有与协同浏览服务相关联的特征的情 况。
[0270] 根据实施例,协同浏览JavaScript包括轮询模块以确定是否已经发起协同浏览会 话,其中该轮询模块用来捕捉用户的特定操作并将这些操作解读为轮询协同浏览网络服务 器的触发条件。当用户执行特定操作时才让访问者轮询协同浏览的网络服务器的做法降低 了访问者轮询协同浏览网络服务器的频率,这相应降低了协同浏览网络服务器必须处理的 轮询交易。
[0271] 例如,假设访问者位于某网站中,并且正在得到代理帮助。在这种情况下,该代理 点击按钮或其他功能以发起协同浏览会话。为了使访问者对该协同浏览会话进行轮询并相 应使访问者能够找到该协同浏览会话,代理可以指示访问者在网站上采取不寻常的动作, 例如,左击或右点击网站的空白区域、摇动其移动设备、让其鼠标转三圈、选择特定字母或 其他字符,或采取任何其他不寻常的动作。访问者端的JavaScript配置为能查找由代理指 定的指定动作。当JavaScr ipt检测到指定动作时,它促使轮询触发模块向协同浏览网络服 务器发送轮询。协同浏览网络服务器从轮询中接收一些识别信息片段(例如,访问者令牌、 访问者ID或其它值),并搜索与该值相关联的协同浏览会话。如上面所指出的,代理在这种 方案中得知了访问者,并因此当代理人开启协同浏览会话时能够指定访问者令牌、访问者 ID或其它值。协同浏览网络服务器使用访问者令牌、访问者ID或其它值来寻找由该代理开 启的协同浏览会话,并向访问者提供识别信息(例如,处理该会话的CServer的身份)。然后, 访问者开始将数据发送到协同浏览会话中,以便代理能够查看显示在访问者浏览器上的网 页。
[0272] 通过举例的方式,假定访问者登录到网站上,例如登陆到零售商购物车、银行网 站,以及服务性、游戏性或使用普通通用登录的软件(诸如,Facebook或Google)。访问者和 代理通过聊天或电话来通信,该代理因此得知了访问者的身份。代理可在代理数据库(例 如,CRM系统)中找到该访问者,并获得访问者的唯一令牌数据。备选地,令牌可在访问者联 系代理以发起会话通信时创建。在任何情况下,代理和访问者均具有相同的令牌。代理发起 能向协同浏览服务指定所述令牌的协同浏览会话。针对与令牌相关联的协同浏览会话的存 在性,访问者执行“不寻常”动作以促使JavaScript来轮询协同浏览服务。协同浏览服务将 轮询与待定的会话相匹配,以将代理和访问者连接到该通信会话(在本实施例中为协同浏 览会话)中。
[0273] 可检测到的不寻常事件有许多类型。例如,在具有运动传感器的移动设备或其他 设备上,浏览器中的JavaScript可使用〇6¥;[06101:;[01^¥611丨8来检测摇动事件,这是!^111^5工 作草案的一部分。不存在具体的“摇动”事件,而是将摇动定义为由DeviceMotionEvents所 报告的运动模式。同样地,不必所有的浏览器都支持该事件并且不必都以相同方式来处理 坐标,而是根据摇动事件能够导致JavaScript来轮询协同浏览网络服务器的方案来决定 的。在这种方案中,与访问者交谈或聊天的代理将指示访问者摇动他们的电话/其他设备。 当访问者摇动他们的电话时,运行于访问者设备上的JavaScript将轮询协同浏览网络服务 器,以使访问者对代理可见。
[0274] 在另一实施例中,访问者和代理甚至不必在摇动事件之前相互通信。在本实施例 中,协同浏览JavaScript运行在访问者浏览器中,但协同浏览JavaScript尚未向协同浏览 网络服务器发起连接(轮询)。协同浏览会话是针对每个可识别的访问者而发起的,但是代 理与协同浏览会话不相关联。然而,已经指示访问者:可在网站上获得帮助,并且访问者可 以摇动他们的电话来征得帮助。当访问者摇动他们的电话/设备时,JavaScript检测到摇动 事件并发起与协同浏览网络服务器的连接。这使得访问者能够加入协同浏览会话,并且对 网站提供支持的代理能够收到访问者想要帮助的通知。代理被连接到协同浏览会话,并且 能看到访问者正在观看的内容。访问者针对网站而被识别,并且这种识别用于还能使访问 者和代理使用本文所述的其他方法之一来通过语音或聊天交互。
[0275] 除摇动事件以外的其他突发事件同样可以被捕捉。示例性突发事件(其可由协同 浏览JavaScript捕捉并作为来向协同浏览网络服务器发送连接请求的触发条件)包括单击 或双击(或者在触敏屏上单敲或双敲)网页中不带链接的区域。例如,可以指示访问者点击/ 双击网站的空白部分。当这种情况发生时,运行于浏览器的JavaScript将捕捉该事件,并解 读该事件以引起向协同浏览网络服务器发送的轮询。
[0276] 另一种突发事件可以是在触敏屏上的捏合运动(pinching motion),其随后伴随 张开运动。这可指示用户捏合(以使网页缩小),然后张开(以使网页放大)。在例如一秒钟之 内的指定时段内的这两个动作可以用作触发条件。
[0277] 另一个突发事件可以是绕圈旋转鼠标。在触敏屏上,当用户触摸屏幕并在屏幕上 绘制一系列圆、在屏幕上绘制特定字母、做出对角扫掠动作或者执行那些在正常跳转网站 时很少使用的特定手势时,屏幕上的类似手势都可以被捕捉。
[0278] 可以预期,当访问者无意图发起协同浏览会话时也可能偶尔执行异常动作。然而, 如果用作触发条件的动作足够不寻常的话,那么相比于让网站的所有访问者定期地轮询协 同浏览会话的可用性,转发到协同浏览网络服务器的连接请求的数目将显著减少。
[0279] 社交媒体
[0280] 例如Facebook的社交媒体网站允许用户分享诸如图片、文本和其他感兴趣的更新 等内容。每人具有馈送器(feed),这是他们添加到其个人页面的项目的运行更新。根据实施 例,可以将协同浏览会话的接入链路发布到个人馈送器上,这将允许其他访问其链接的人 能够将访问者和参与者加入到与访问者的协同浏览会话中。为方便起见,实施方案将以社 交媒体网站是Facebook™的方式来进行描述,但是这里所描述的概念也可以用于其他社交 媒体网站。这实现了许多社交应用,例如社交购物,其中用户在从网络获得的网站上进行购 物时彼此进行协同浏览。
[0281] 在一个实施例中,用户将Facebook应用程序安装在他们的Facebook配置文件中, 这能够将协同浏览会话添加到他们的Facebook馈送器中。当用户遇到可实现协同浏览的网 站(该网站包含协同浏览JavaScript)时,或者当用户具有包含协同浏览JavaScript的插件 时,可以向用户提供选项卡以在其Facebook馈送器上发布协同浏览链接。协同浏览链路包 含指向能主管协同浏览会话以及会话标识符(其可用于在协同浏览服务器中识别协同浏览 会话)的协同浏览服务器的指针。当好友点击协同浏览链接时,启动以上述与代理有关的方 式来运行的浏览器窗口,以使Facebook好友加入协同浏览会话中。其他好友(追随者)也可 以加入并关注(该领导者)。如果领导者实现了远程控制,那么追随者可以轮流控制领导者 浏览器的去向。
[0282] 图18示出了社交媒体网站中发布到馈送器的示例性发布。如图18所示,发布1800 包括通向协同浏览会话的链接1810,该链接可被任何访问该发布的人使用以加入与馈送器 所有者相关联的协同浏览会话中。例如,某人正在购物并想得到有关时尚的建议,那么该人 可以向其Facebook馈送器发布协同浏览邀请,从而在他/她买衣服的同时邀请其好友与其 进行协同浏览。尽管图18中所示的协同浏览链路1810被发布到馈送器上,但是备选地可以 通过文本消息或电子邮件来将协同浏览链路1810发送给个人或目标团体,以允许那些个人 接收所述链路进而加入协同浏览会话中或者在将来的某个时刻加入预定的协同浏览会话 中。
[0283] 在另一实施例中,在网站上对网站的访问者进行识别,并将其与Facebook好友列 表、Outlook联系人或另一已知熟人列表进行比较。然后,访问者提示他们的Facebook好友 或Outlook联系人之一在同时访问该网站,并且提供与熟人启动协同浏览会话的机会。
[0284] 作为另一示例,网站的访问者可被邀请加入到同样在该网站上的其他用户中,从 而与这些用户进行协同浏览以实现共同浏览。
[0285] 在又一示例中,每当某人把项目放入其购物车中时都可以发起协同浏览会话。在 访问者离开网站之后协同浏览会话还可以保留,并且可以向用户发送带有协同浏览邀请的 电子邮件或文本消息以供用户返回该网站或返回该用户在该网站内驻留的最后页面。
[0286] 在另一实施例中,整合有Facebook的网站的访问者可以配备针对同样位于该网站 上的好友的侧边栏列表(好友是指其Facebook好友)。如果用户点击其好友中的一员(或者 是要加入与其好友的协同浏览会话的选项),则可以向该访问者提供与其好友的协同浏览 会话(例如,通过“点击查看我的浏览链接”选项来发起Facebook聊天)。
[0287] 协同浏览与屏幕共享集成
[0288] —些情况下,将从屏幕共享所得到的益处与协同浏览相整合将是有利的。例如,当 代理正在查看与访问者的协同浏览会话时,期望向该访问者提供该代理实况视频馈送。同 样地,代理可能希望将其从与代理的计算机相连的另一设备上获得的视频馈送提供给访问 者,该视频馈送例如是来自于相连的平板电脑、智能电话、文档摄像机等的屏幕的实况视 频。根据实施例,将为了发起协同浏览会话而在访问者与代理之间完成的连接作为杠杆,以 便将两个参与者连接到屏幕共享会话中,其中来自代理的内容经由该屏幕共享会话而提供 给访问者。
[0289] 通过提供将屏幕共享会话合并到协同浏览会话的能力,使得当访问者向网站相关 的代理发起聊天会话或致电时,产生了不断升级的互动体验。以与客户间的聊天会话/电话 为开端,支持可升级到协同浏览会话,这使代理能看到网站访问者的网站视图。然后,代理 可以使用屏幕共享技术来为访问者提供实况内容,该内容是基于访问者在网站中的位置而 为访问者选择的。例如,为了使访问者与代理间具有真人连接,因此可以向访问者提供代理 的实时视图,例如网站内的小插图或者图3A和3B中的浮动标签300的区域310。代理的实况 馈送可以由照相机捕捉并通过屏幕共享软件提供给访问者,从而显示给访问者。随着代理 和访问者之间的交互的继续,代理可以选择其他内容来提供给访问者。这种附件内容可以 是代理运行在其屏幕上、通过屏幕共享会话分享给访问者的演示,或者可以选择的另一实 况视频馈送。
[0290] 如上所述,代理借助于协同浏览会话具有看到访问者的网络浏览器的能力。然而, 由于访问者没有运行屏幕共享软件,代理就不具有看到访问者屏幕上所出现的其他事物的 天生能力。为了使代理能够看到提供给访问者的内容,在一个实施例中,代理会自动作为参 与者而加入一个或多个屏幕共享会话中。这允许代理不仅是内容(即,正显示在屏幕共享会 话中的内容)的来源,也是该内容的消费者。例如在代理的实况视频正通过屏幕共享会提供 给话访问者的情况中,这是有用的。通过让代理以访问者身份参与到屏幕共享会话中,可以 向代理提供正由访问者提供的视频演示,从而使代理确切知道访问者正在观看的内容。
[0291] 屏幕共享与协同浏览集成在许多场合下都是有用的,这包括销售、客户支持、技术 支持等。屏幕共享可以使用AJAX查看器,这记载于2011年9月22日提交的名为“Method and Apparatus for Facilitating Participation in a Remote Viewing Session”的美国专 利No. 13/239,757中,其全部内容通过引用并入本文。
[0292] 使用这种组合的一个优点是,无需访问者下载并安装任何软件就能启动双向网络 会议。具体来说就是,协同浏览不需要访问者端的任何下载或Java/闪存/Si I verl i ght或插 件。正如其价值性,AJAX查看器屏幕共享技术无需访问者端的任何下载就能让代理向访问 者展示事物。因此,不同于那种两个参与者均需要安装软件的传统双向网络会议,这样的组 合无需访问者端的任何下载就让代理进行查看并显示。此外,由于它不依赖于可能不被特 定浏览器所支持的Java或Flash,因此它可以用于包括移动设备的任何现代浏览器。
[0293] 尽管提供了将协同浏览会话升级至屏幕共享会话的示例,但是相反的顺序也是可 以的。在本实施例中,代理启动与访问者的屏幕共享会话。例如,访问者和代理可以经由聊 天会话或语音进行通信,并且该代理可以启动屏幕共享会话以使访问者获得由代理提供的 内容。在屏幕共享会话的过程中,为了让代理看到显示在访问者浏览器上的内容,对询访问 者进行询问。然后,访问者可以利用上述的任何连接方法来发起协同浏览会话,以向代理回 显目前正显示在访问者浏览器上的内容。这使得,完全不需要访问者下载并安装任何软件、 插件等,正在帮助访问者的代理既能够通过屏幕共享会话向访问者显示信息,又能够通过 协同浏览会话来查看访问者的屏幕。
[0294] 如上所述,在一个实施例中,代理可以通过打开位于层叠在访问者浏览器页面顶 部的div中的屏幕共享查看器来向访问者显示信息,并促使该网站的另一部分或代理屏幕 上的其他任何事物都在屏幕共享查看器中可见。
[0295] 图22示出了根据实施例的协同浏览代理视图2200的示例性屏幕截图。如图22所 示,代理视图包括协同浏览代理视图标头(header) 2220中的图标2210。协同浏览代理视图 2200还包括显示了访问者浏览器内容的字段2230。
[0296] 图23示出了当代理点击图标2210时所产生的弹出框2310。如图23所示,弹出框 2310包括选项菜单,其中包括允许代理显示代理屏幕的选项2320和允许代理查看访问者屏 幕的选项2330。图24示出了如果代理选择了显示代理屏幕的选项2320时访问者的视图,并 且图25-27示出了如果代理选择了查看访问者屏幕的选项2330时的一序列视图。
[0297] 图24显示了如果代理选择了显示代理屏幕的选项2320时的访问者视图。如图24所 示,当代理发起屏幕共享会话并选择要显示代理屏幕的内容时,代理屏幕2400的视图将覆 盖在访问者的浏览会话的顶部2410。代理屏幕的视图可包含来自代理所需的任何资源的信 息。因此,代理可选择以包括代理屏幕的视图、视频源(例如所连接设备的QuickTime视频 源)、来自所连接相机的图像,或者其他任何可获得的视频流。尽管未在图24中示出,通过选 择“显示代理视图”的选项,为该代理配备对话框,其中通过所述对话框,允许代理选择将要 通过屏幕共享会话提供给访问者的视频源。尽管代理屏幕的视图呈现在位于访问者页面顶 部的div中,但是屏幕共享视图并未包含在代理的协同浏览查看器中,以避免代理看到自己 屏幕上的图像的混淆情况。
[0298] 图25-27示出了如果代理选择要发起屏幕共享会话(在图23中的按钮2330,在该会 话期间访问者屏幕将对代理显示),在访问者端出现的一序列视图。在一个实施例中,开启 屏幕共享会话需要利用屏幕共享软件来捕获访问者屏幕。可用于此目的的示例性屏幕共享 软件可从Glance Networks购得,但本发明并不限于使用Glance Networks的屏幕共享软件 的实施方案。
[0299] 屏幕共享软件可能需要进行安装。因此,如图25所示,如果访问者没有安装屏幕共 享软件,那么为访问者配备能提示访问者下载屏幕共享软件客户端的对话框2500。如果访 问者点击链接2510,则开始下载启动屏幕共享软件客户端。如果访问者已下载过屏幕共享 软件客户端,那么图25所示的步骤是没有必要的,可以跳过。
[0300] 图26示出了一旦屏幕共享软件客户端已下载到访问者端上访问者屏幕的视图,以 及何时开启能向代理显示访问者屏幕的屏幕共享会话。如图26所示,对访问者提示通知 2600,该通知表明代理已开启屏幕共享会话并使访问者可以允许屏幕共享会话2610或者拒 绝屏幕共享会话2620。如果访问者点击“decline (拒绝)”2620,则屏幕共享会话终止。如果 访问者点击“accept (接受)”2610,则屏幕共享会话发起,并且访问者屏幕将被捕捉并传输 给代理以供代理查看。
[0301] 图27示出了在访问者点击“accept”2610的情况下屏幕共享会话已开启(其中代理 正在查看访问者屏幕)时的访问者自身屏幕的视图。如图27所示,彩色边框2700布置在访问 者屏幕周围,以向访问者表明他/她正在与代理分享显示器上所显示的那些内容。还提供了 供访问者控制屏幕共享会话的对话框2710。例如,在对话框2710的方框2720中为访问者提 供了例如允许代理远程控制访问者计算机的选项、代理停止远程控制的选项、结束屏幕共 孚会话的选项等。
[0302] 图28示出了当显示访问者屏幕的屏幕共享会话已开启时代理端的访问者屏幕的 视图。如图28所示,代理能够看到与访问者所能看到的内容相同的访问者屏幕内容。不像协 同浏览会话过程那样地仅简单看到访问者浏览器的内容,使用屏幕共享会话使得访问者看 到有关访问者计算机的更多方面,这包括除了访问者浏览器以外的显示方面。此外,由于屏 幕共享软件实现了远程控制(其中观看屏幕共享软件的人员能够直接操作主机计算机),使 得代理通过使用屏幕共享会话不但可以看到访问者屏幕而且还可以控制访问者计算机的 操作。如上所述,代理进行的远程控制是由访问者授予的特权,因此在屏幕共享会话期间的 任何点上访问者都具有恢复其对计算机的控制的选项。
[0303] 秘密协同浏览
[0304] 可以不让访问者知道就让JavaScr ipt自动运行协同浏览会话。这能够使正监控网 站的人员可以观察访问者如何使用该网站来确定哪些链接难以找到以及该站点的那些方 面可能引起混淆。同样,网站监控器或那些监控网站的代理可以查看访问者的协同浏览会 话,以确定特定访问者正在网站上观看什么内容,并在需要时选择与访问者主动进行联系。
[0305] 在一个实施例中,例如聊天服务的服务会随着访问者访问网站而跟踪访问者。在 本实施例中,聊天服务(例如,Live Person)对具有唯一标识号码(密钥键)的访问者进行标 示。代理配备有访问者列表以及对这些访问者进行标示的密钥。针对是否有任何开启的会 话与该密钥相关联,从网站下载的JavaScript (S卩,cobrowse, js)促使访问者浏览器来轮询 服务器。
[0306] 如果代理决定参与到与访问者的协同浏览会话中,那么代理从列表选择访问者或 者指示代理系统上的软件发起与密钥相关联的协同浏览会话。然后,该密钥被传递给协同 浏览服务器,该服务器会通知轮询服务器已经发起与该密钥相关联的协同浏览会话。
[0307] 当访问者轮询轮询服务器时,轮询服务器将向访问者返回正值,这将导致 cobrowse, js向协同浏览服务器提供协同浏览会话的浏览器状态。代理等待直到访问者连 接到协同浏览会话,然后代理进行连接。
[0308] 在本实施例中,访问者不采取任何行动来向代理传递信息。相反,跟踪服务器(在 本实例中是LivePerson)向访问者分配跟踪值(密钥)并将该密钥提供给代理。由网站提供 的JavaScript用于促使访问者浏览器来轮询与密钥相关联的会话,并且类似地协同浏览 JavaScript用于促使访问者的网络浏览器参与到协同浏览会话中。访问者不需要做任何操 作来参与到协同浏览会话中,访问者也可能不知道他们浏览会话过程中在其浏览器中看到 的内容也会被与该网站相关联的代理所看到。这具有使得代理无需用户执行任何操作就能 开启会话的进一步优点,即无需用户点击网站上的特定标签或其他功能。同样,针对营销情 报、培训、执法以及其他目的,该服务还可以对会话进行录制。
[0309] 本文所述的方法可以实现为能以控制逻辑来执行的软件,其例如包含在例如为计 算机的电子设备的CPU中。本文所述的功能可以实现为存储在非暂时性有形计算机可读介 质中的程序指令集合。当以这种方式实现时,该计算机程序包括一组指令,当该组指令由计 算机运行时其促使计算机执行能实施上述功能的方法。可编程逻辑可以暂时或永久地安装 在非暂时性有形计算机可读介质中,例如只读存储器芯片、计算机存储器、磁盘或其他存储 介质。除了以软件来实现之外,本文所述的逻辑可利用分立部件、集成电路、与可编程逻辑 设备(诸如,现场可编程门阵列(FPGA)或微处理器)结合使用的可编程逻辑,或者包括它们 任意组合的任何其他设备来体现。所有此类实施例旨在落入本发明的范围之内。
[0310]可以在本发明的精神和范围之内可以进行对本说明书所描述以及附图中所示出 的实施例的各种变化和修改。因此,意在指出,包含在上述说明中以及示出在附图中的所有 内容应当以说明性而非限制性意义来解释。

Claims (78)

1. 一种在第二位置查看第一浏览器的内容的方法,包括: 使待提供的协同浏览脚本连同待加载到所述第一浏览器中的网页一起运行,其中所述 协同浏览脚本配置为能使对所述第一浏览器的内容的更新呈现在所述第一浏览器端的 HTML中并能将所述更新转发给协同浏览服务,以使得所述第一浏览器的内容再现于所述第 二位置处; 使掩蔽要素列表与所述协同浏览脚本一起提供,其中所述掩蔽要素列表在所述第二位 置处识别哪些内容在所述第一浏览器外部为不可见的网页要素;所述掩蔽要素列表用于防 止访问者发送与意图包含敏感数据的字段相关联的信息; 通过协同浏览服务从所述第一浏览器接收更新;和 将所述更新转发至所述第二位置, 其中,在所述第二位置处接收的更新包含加载到所述第一浏览器中的所有网页要素的 信息,其中包括至少一些所述掩蔽要素,并且其中所述掩蔽要素的内容在从所述更新接收 到的信息中是无法辨别的,掩蔽要素的内容未从第一位置传输到第二位置。
2. 根据权利要求1所述的方法,其中,所述第一浏览器中所显示的内容由文档对象模型 DOM来描述。
3. 根据权利要求1所述的方法,其中,从网络服务器将所述网页提供给所述浏览器,其 中所述协同浏览脚本由网络服务器来提供。
4. 根据权利要求1所述的方法,其中,从网络服务器将所述网页提供给所述浏览器,其 中所述协同浏览脚本由协同浏览服务来提供。
5. 根据权利要求1所述的方法,其中,如果所述网页在所述第一浏览器中不完全可见, 那么在所述第二位置处仅有所述网页在所述第一浏览器中可见的相同部分是可见的。
6. 根据权利要求5所述的方法,其中,当所述第一浏览器滚动或所述第一浏览器调整尺 寸时,所述第二位置处的网页视图自动进行更新。
7. 根据权利要求5所述的方法,其中,如果所述第一浏览器打开多个选项卡,那么所述 第二位置仅能够看到所述选项卡中的一个选项卡,由此使得所述第一浏览器中具有焦点的 那个选项卡在所述第二位置是可见的。
8. 根据权利要求1所述的方法,其中,来自所述第一浏览器的更新包括鼠标指针在所述 第一浏览器中的位置,并且其中向所述第二位置转发所述更新的做法包括:向所述第二位 置转发所述鼠标指针的位置,以使得所述第一浏览器的鼠标位置能够复制在所述第二位置 上。
9. 根据权利要求1所述的方法,其中,如果显示在所述第一浏览器上的网页包括多个输 入字段,那么来自所述第一浏览器的更新则包括关于所述多个输入字段中的一个字段当前 在所述第一浏览器中是否具有焦点的指示。
10. 根据权利要求1所述的方法,其中,所述第一浏览器的用户在网页上所采取的动作 被反映为来自所述第一浏览器的更新。
11. 根据权利要求10所述的方法,其中,所述在网页上所采取的动作包括:由用户点击 项目以选择所述网页上的对象。
12. 根据权利要求1所述的方法,其中,协同浏览脚本JavaScript促使所述第一浏览器 向所述协同浏览服务上传来自所述第一浏览器的包括网页HTML的数据;并且,其中所述协 同浏览服务将此数据呈现为能在所述第二位置进行查看的网页。
13. 根据权利要求12所述的方法,其中,所述JavaScript是浏览器插件。
14. 根据权利要求1所述的方法,其中,通过所述协同浏览服务从所述第一浏览器接收 更新的步骤以及向所述第二位置转发所述更新的步骤均发生在由所述协同浏览服务主管 的协同浏览会话中。
15. 根据权利要求14所述的方法,其中,一旦所述第二位置已加入会话,那么至少一个 会话cookie用来维持所述协同浏览会话。
16. 根据权利要求15所述的方法,其中,所述至少一个会话cookie是安全会话cookie, 其包含要用所述协同浏览服务已知的密钥来签署的会话ID。
17. 根据权利要求15所述的方法,其中,所述至少一个会话cookie包括用于查看与所述 协同浏览会话相关联的HTTP页面的安全cookie以及用于查看与所述协同浏览会话相关联 的HTTP页面的非安全cookie。
18. 根据权利要求14所述的方法,还包括记录所述协同浏览会话。
19. 根据权利要求1所述的方法,其中,从所述第一浏览器接收更新的步骤包括:在用户 将信息输入到所述第一浏览器中时从所述第一浏览器接收输入的步骤,转发所述更新的步 骤包括:向所述第二位置转发所述用户输入。
20. 根据权利要求19所述的方法,其中,用户输入包括:由用户选择按钮、选择复选框, 或者将至少键击输入到可选字段中。
21. —种在第二位置查看第一浏览器的内容的方法,包括: 使待提供的协同浏览脚本连同待加载到所述第一浏览器中的网页一起运行,其中所述 协同浏览脚本配置为能使对所述第一浏览器的内容的更新呈现在所述第一浏览器端的 HTML中并能将所述更新转发至第二位置,以使得所述第一浏览器的内容再现于所述第二位 置处; 选择与所述第二位置处再现的内容相关联的对象,其中,掩蔽对象列表与所述协同浏 览脚本一起提供,其中所述掩蔽对象列表在所述第二位置处识别那些内容在所述第一浏览 器外部为不可见的对象,所述掩蔽对象列表用于防止访问者发送与意图包含敏感数据的字 段相关联的信息,掩蔽对象的内容未从第一位置传输到第二位置;和 使所选择的对象在所述第一浏览器端被可视地识别。
22. 根据权利要求21所述的方法,其中,使所选择的对象在所述第一浏览器端被可视地 识别的做法包括:使所述第一浏览器的网页中的对应对象突出显示。
23. 根据权利要求21所述的方法,还包括在第二位置处对所选择的对象进行可视识别。
24. 根据权利要求23所述的方法,还包括在所述第一浏览器端停止对所选择的对象进 行可视识别。
25. 根据权利要求24所述的方法,其中,在预定时段之后自动停止所选择的对象被可视 识别的步骤。
26. 根据权利要求24所述的方法,其中,当在所述第二位置处选择第二对象时停止所选 择的对象被可视识别的步骤。
27. 根据权利要求24所述的方法,其中,当在所述第二位置处第二次选择所述对象时停 止所选择的对象被可视识别的步骤。
28. 根据权利要求23所述的方法,其中,使所选择的对象在第二位置处被可视地识别的 做法包括:在所述第一浏览器端和所述第二位置处共同绘制围绕所述对象的视觉可区分 框。
29. 根据权利要求21所述的方法,其中,选择与所述第二位置处再现的内容相关联的对 象的做法使运行在所述第二位置上的脚本产生能唯一识别出所述对象的CSS选择器;所述 方法还包括将所述CSS选择器传递给所述第一浏览器端的JavaScript的步骤。
30. —种在第二位置选择性地不让特定内容在第一浏览器的外部可见的方法,包括: 使待提供的协同浏览脚本连同待加载到所述第一浏览器中的网页一起运行,其中所述 协同浏览脚本配置为能使对所述第一浏览器的内容的更新呈现在所述第一浏览器端的 HTML中并能将所述更新转发给协同浏览服务,以使得所述第一浏览器的内容再现于所述第 二位置处; 使掩蔽要素列表与所述协同浏览脚本一起提供,其中所述掩蔽要素列表在第二位置处 识别哪些内容在所述第一浏览器外部为不可见的网页要素,所述掩蔽要素列表用于防止访 问者发送与意图包含敏感数据的字段相关联的信息,掩蔽要素的内容未从第一位置传输到 第二位置。
31. 根据权利要求30所述的方法,还包括在所述第二位置接收来自所述第一浏览器的 更新。
32. 根据权利要求31所述的方法,其中,在所述第二位置处接收的更新包含加载到所述 第一浏览器中的所有网页要素的信息,其中包括至少一些所述掩蔽要素,并且其中所述掩 蔽要素的内容在从所述更新接收到的信息中是无法辨别的。
33. 根据权利要求31所述的方法,其中,所述掩蔽要素的内容不通过协同浏览脚本传 输,从而使得所述掩蔽要素的内容不离开所述第一浏览器。
34. 根据权利要求30所述的方法,还包括在所述第一浏览器中识别所述掩蔽要素,以通 知所述第一浏览器的用户:包括在这些字段中的信息不会在网络上传输。
35. —种从第二位置选择性地启用对第一浏览器的远程控制的方法,包括: 使待提供的协同浏览脚本连同待加载到所述第一浏览器中的网页一起运行,其中所述 协同浏览脚本配置为能使对所述第一浏览器的内容的更新呈现在所述第一浏览器端的 HTML中并能将所述更新转发给协同浏览服务,以使得所述第一浏览器的内容再现于所述第 二位置处; 从所述第一浏览器接收更新;和 捕捉所述第二位置处的用户输入,并将来自所述第二位置的所述用户输入作为输入转 发给所述第一浏览器,从而控制所述第一浏览器的操作, 其中,掩蔽对象列表连同所述协同浏览脚本一起提供,其中所述掩蔽对象列表识别那 些不能被所述第二位置的用户输入所控制的网页对象;所述掩蔽对象列表用于防止访问者 发送与意图包含敏感数据的字段相关联的信息,掩蔽对象的内容未从第一位置传输到第二 位置。
36. 根据权利要求35所述的方法,其中,所述第二位置处的用户输入包括键盘敲击、鼠 标移动和鼠标点击。
37. 根据权利要求35所述的方法,其中,所述掩蔽对象列表指定了所述网页的表格、div 和页面。
38. 根据权利要求35所述的方法,其中,所述掩蔽对象列表防止所述第二位置处的用户 点击所述网页上的链接或按钮。
39. 根据权利要求35所述的方法,还包括通过所述第一浏览器捕捉来自所述第二位置 的输入来作为所述第一浏览器的相关字段中的输入,从而为所述第二位置提供对所述第一 浏览器的操作方面的直接控制。
40. —种将信息从第二位置提供到第一浏览器中的方法,包括: 使待提供的协同浏览脚本连同待加载到所述第一浏览器中的网页一起运行,其中所述 协同浏览脚本配置为能使对所述第一浏览器的内容的更新呈现在所述第一浏览器端的 HTML中并能将所述更新转发给协同浏览服务,以使得所述第一浏览器的内容再现于所述第 二位置处; 开启协同浏览会话,其中将描述网页视图的更新提供并显示在所述第二位置上,其中, 掩蔽要素列表与所述协同浏览脚本一起提供,所述掩蔽要素列表在所述第二位置处识别那 些内容在所述第一浏览器外部为不可见的网页要素,所述掩蔽要素列表用于防止访问者发 送与意图包含敏感数据的字段相关联的信息,掩蔽要素的内容未从第一位置传输到第二位 置;和 由第二位置处的用户发起屏幕共享会话,从而将信息从所述第二位置提供到所述第一 浏览器中。
41. 根据权利要求40所述的方法,其中,提供到所述第一浏览器中的信息提供在所述第 一浏览器内的窗口中。
42. 根据权利要求41所述的方法,其中,从所述第二位置提供到所述第一浏览器中的信 息是与所述第二位置相关联的计算机显示器的视图。
43. 根据权利要求41所述的方法,其中,从所述第二位置提供到所述第一浏览器中的信 息是来自所述第二位置的相机的实况视频。
44. 根据权利要求41所述的方法,其中,从所述第二位置提供到所述第一浏览器中的信 息是来自连接在所述第二位置的视频源的实况视频。
45. 根据权利要求40所述的方法,其中,提供到所述第一浏览器中的信息是针对下载屏 幕共享软件的提示,其中所述屏幕共享软件用于捕捉那些显示在能查看所述第一浏览器的 显示器上的信息。
46. 根据权利要求40所述的方法,其中,提供到所述第一浏览器中的信息是用于在与所 述第一浏览器相关联的第一计算机上运行屏幕共享客户端以发起屏幕共享会话的呼叫,其 中在屏幕共享会话上,捕捉与所述第一计算机相关联的显示器上所显示的信息并将其传输 至所述第二位置。
47. 根据权利要求46所述的方法,还包括由所述第二位置自动启用对所述屏幕共享会 话的远程控制的步骤。
48. —种从第一浏览器向第二位置提供信息的方法,包括: 使待提供的协同浏览脚本连同待加载到所述第一浏览器中的网页一起运行,其中所述 协同浏览脚本配置为能使对所述第一浏览器的内容的更新呈现在所述第一浏览器端的 HTML中并能将所述更新转发给协同浏览服务,以使得所述第一浏览器的内容再现于所述第 二位置处; 检测对所述第一浏览器所显示的网页的更新,并将所述更新转发给所述第二位置,其 中,所述更新包含加载到所述第一浏览器中的所有网页要素的信息,其中包括至少一些掩 蔽要素,并且其中所述掩蔽要素的内容在从所述更新接收到的信息中是无法辨别的,所述 掩蔽要素为与意图包含敏感数据的字段相关联的信息,掩蔽要素的内容未从第一位置传输 到第二位置;和 检测在网页中的可悬停要素上方的鼠标位置;和 将悬停动作的指示转发给所述第二位置。
49. 根据权利要求48所述的方法,其中,可悬停要素是当鼠标悬停在它上方时而具有适 用于它或它的同族或子族的样式的要素。
50. 根据权利要求48所述的方法,还包括由所述第一浏览器将可悬停要素上方的鼠标 位置解读为被悬停要素上的悬停动作的步骤;以及,由所述第一浏览器确定:第二位置浏览 器中的代理JavaScript应当将何种样式属性应用于所述可悬停要素,以在代理端上模拟悬 停。
51. 根据权利要求49所述的方法,其中,如果被悬停要素上方的悬停动作不影响文档对 象模型DOM定义所述网页的结构,那么所述方法还包括向所述第二位置转发所述被悬停要 素的身份。
52. 根据权利要求48所述的方法,还包括为所述第二位置提供可悬停要素列表的步骤。
53. 根据权利要求52所述的方法,其中,所述可悬停要素列表是针对网站的CSS选择器。
54. 根据权利要求53所述的方法,其中,所述可悬停要素列表与要应用到所述第二位置 的网站视图的CSS样式集合相关联。
55. 根据权利要求52所述的方法,其中,从有助所述第一浏览器与所述第二位置之间的 信息交换的协同浏览服务中检索所述可悬停要素列表。
56. 根据权利要求55所述的方法,其中,通过监控所述第一浏览器端的鼠标位置来复制 所述第一浏览器的悬停状态,并在所述第二位置选择性地重新创建所述悬停状态。
57. 根据权利要求56所述的方法,其中,所述第二位置不运行来自网页的脚本,而是显 示从所述第一浏览器接收的HTML,并且其中所述第二位置不能检测与所述第一浏览器的鼠 标位置相关联的悬停状态。
58. —种从第一浏览器向第二位置提供信息的方法,包括: 接收协同浏览脚本,所述协同浏览脚本配置为连同要加载到所述第一浏览器中的网页 一起运行,其中所述协同浏览脚本能使对所述第一浏览器的内容的更新呈现在所述第一浏 览器端的HTML中并能将所述更新转发给协同浏览服务,以使得所述第一浏览器的内容再现 于所述第二位置处; 产生包含所述第一浏览器在第一时间点上的完整视图的完整更新,其中,所述更新包 含加载到所述第一浏览器中的所有网页要素的信息,其中包括至少一些掩蔽要素,并且其 中所述掩蔽要素的内容在从所述更新接收到的信息中是无法辨别的,所述掩蔽要素为与意 图包含敏感数据的字段相关联的信息,掩蔽要素的内容未从第一位置传输到第二位置; 检测与所述网页相关联的文档对象模型DOM的变化;和 基于DOM的变化来产生更新。
59. 根据权利要求58所述的方法,其中,所述更新是自产生所述完整更新的步骤开始基 于所有变化的累积更新。
60. 根据权利要求59所述的方法,其中,与给定对象相关的DOM的连续变化将导致连续 累积更新的产生,从而使得在任何时间点针对所述给定对象存在至多一个更新。
61. 根据权利要求59所述的方法,其中,产生更新的步骤包括:评估DOM中的要素的连续 实例之间的差异,并对DOM中的每个要素进行递归。
62. 根据权利要求61所述的方法,其中,评估DOM中的要素的连续实例之间的差异的步 骤包括以下步骤: 确定所述要素的属性是否已改变;和 确定所述要素的子列表是否已改变。
63. 根据权利要求62所述的方法,其中,如果所述要素的子列表发生变化,那么所述方 法还包括将HTML差异要素添加到该更新版要素中含有HTML的更新中的步骤。
64. 根据权利要求63所述的方法,其中,如果所述子列表包含零个子要素,那么所述方 法包括确定所述要素的文本是否已改变的步骤。
65. 根据权利要求64所述的方法,其中,如果所述要素的文本已改变,那么该方法还包 括将CONTENT内容差异要素添加到该更新版要素中含有文本的更新中的步骤。
66. 根据权利要求63所述的方法,其中,如果所述子列表包含一个或多个子要素,那么 所述方法包括比较每个子节点的数量、类型和节点值的步骤。
67. 根据权利要求66所述的方法,其中,如果在所述一个或多个子节点的数量、类型和 节点值中检测到差异,那么所述方法还包括将HTML差异要素添加到该更新版要素中含有 HTML的更新中的步骤。
68. —种能使用户加入到与网站的访问者相关联的协同浏览会话的方法,所述方法包 括: 由浏览器采用配置为在第一浏览器中运行的协同浏览脚本来发起协同浏览会话,其中 所述协同浏览脚本配置为能使对所述第一浏览器的内容的更新呈现在所述第一浏览器端 的HTML中并能将所述更新转发给协同浏览服务,以使得所述第一浏览器的内容再现于第二 位置处; 提供针对所述协同浏览会话的协同浏览访问链接,所述链接通过所述协同浏览服务可 用于连接到所述协同浏览会话, 其中,掩蔽要素列表与所述协同浏览脚本一起提供,所述掩蔽要素列表在所述第二位 置处识别哪些内容在所述第一浏览器外部为不可见的网页要素,所述掩蔽要素列表用于防 止访问者发送与意图包含敏感数据的字段相关联的信息,掩蔽要素的内容未从第一位置传 输到第二位置。
69. 根据权利要求68所述的方法,其中,提供链接的步骤包括:将针对所述协同浏览会 话的协同浏览访问链接发布到社交媒体系统的网站上。
70. 根据权利要求69所述的方法,其中,将针对所述协同浏览会话的协同浏览访问链接 发布到与所述社交媒体系统的访问者相关联的馈送器。
71. 根据权利要求68所述的方法,其中,发起协同浏览会话的步骤包括:由所述访问者 选择网页上的协同浏览按钮,以发起对所述协同浏览脚本的下载和运行。
72. 根据权利要求71所述的方法,其中,无需所述访问者采取进一步行动,就能执行提 供链接的步骤。
73. 根据权利要求69所述的方法,还包括通知访问者其在所述社交媒体系统内的联系 人也出现在所述社交媒体系统的网站上的步骤,且其中提供针对协同浏览会话的协同浏览 访问链接的步骤包括:向同样出现在所述社交媒体系统的网站上的所述访问者在所述社交 媒体系统内的联系人传输所述协同浏览访问链接。
74. 根据权利要求68所述的方法,其中,针对协同浏览会话的所述协同浏览访问链接包 含会话标识符和关于主管所述协同浏览会话的所述协同浏览服务器的信息。
75. 根据权利要求68所述的方法,其中,提供针对协同浏览会话的所述协同浏览访问链 接的步骤包括:通过即时消息或电子邮件来传输针对协同浏览会话的所述协同浏览访问链 接。
76. —种从第二位置查看正显示在用户浏览器上的浏览会话内容的方法,所述方法包 括: 当用户进入网站时,无需得知用户就能自动启动协同浏览会话; 使第二用户从远程位置加入所述协同浏览会话,从而无需通知用户就能监控用户对所 述网站的使用, 其中,掩蔽要素列表与协同浏览脚本一起提供,所述掩蔽要素列表在所述第二位置处 识别那些内容在所述用户浏览器外部为不可见的网页要素,所述掩蔽要素列表用于防止访 问者发送与意图包含敏感数据的字段相关联的信息,掩蔽要素的内容未从第一位置传输到 第二位置。
77. 根据权利要求76所述的方法,其中,启动协同浏览会话的步骤包括:使所述用户浏 览器定期地轮询连接服务器,以确定是否已发起所述协同浏览会话。
78. 根据权利要求77所述的方法,其中,使第二用户加入协同浏览会话的步骤包括:向 所述连接服务器发送指令,以指示所述连接服务器来通知访问者JavaScr ipt开始传输描述 了用户浏览器的内容的更新。
CN201380048550.4A 2012-07-19 2013-07-08 一种在第二位置查看第一浏览器的内容的方法 CN104704485B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US201261673629P true 2012-07-19 2012-07-19
US61/673,629 2012-07-19
US201361776016P true 2013-03-11 2013-03-11
US61/776,016 2013-03-11
PCT/US2013/049615 WO2014014695A1 (en) 2012-07-19 2013-07-08 Integrating co-browsing with other forms of information sharing

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810448764.5A CN108763334A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成
CN201810450548.4A CN108629041A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成
CN201810450760.0A CN108647331A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN201810448764.5A Division CN108763334A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成
CN201810450760.0A Division CN108647331A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成
CN201810450548.4A Division CN108629041A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成

Publications (2)

Publication Number Publication Date
CN104704485A CN104704485A (zh) 2015-06-10
CN104704485B true CN104704485B (zh) 2018-11-30

Family

ID=49949175

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201810450760.0A CN108647331A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成
CN201380048550.4A CN104704485B (zh) 2012-07-19 2013-07-08 一种在第二位置查看第一浏览器的内容的方法
CN201810448764.5A CN108763334A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成
CN201810450548.4A CN108629041A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201810450760.0A CN108647331A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201810448764.5A CN108763334A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成
CN201810450548.4A CN108629041A (zh) 2012-07-19 2013-07-08 协同浏览与其他形式的信息共享的集成

Country Status (6)

Country Link
US (4) US9736214B2 (zh)
EP (1) EP2875443A4 (zh)
KR (4) KR102197248B1 (zh)
CN (4) CN108647331A (zh)
AU (5) AU2013290566B2 (zh)
WO (1) WO2014014695A1 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129346B1 (en) 2008-03-25 2018-11-13 Egain Corporation Analyzing navigation with a webpage
US8682977B1 (en) 2008-03-25 2014-03-25 Egain Communications Corporation Communication associated with a webpage
US9123019B1 (en) * 2008-03-25 2015-09-01 Egain Communications Corporation Method, web browser and system for co-browsing online content
US9874990B2 (en) 2012-02-10 2018-01-23 Oracle International Corporation System and method of concurrent unobstructed co-browsing and chat messaging
US10067730B2 (en) * 2012-07-10 2018-09-04 Recursive Labs, Inc. Systems and methods for enabling replay of internet co-browsing
US9256691B2 (en) * 2012-07-10 2016-02-09 Recursive Labs, Inc. Systems and methods for enabling Internet co-browsing experience for multiple users
US20160212184A1 (en) * 2012-09-05 2016-07-21 Hbr Labs Llc Platform and method for real-time synchronized co-browsing of web pages
US9224113B2 (en) * 2012-11-30 2015-12-29 Bank Of America Corporation Preparing preliminary transaction work for a mobile banking customer
US9613011B2 (en) * 2012-12-20 2017-04-04 Cable Television Laboratories, Inc. Cross-reference of shared browser applications
US20140280095A1 (en) * 2013-03-15 2014-09-18 Nevada Funding Group Inc. Systems, methods and apparatus for rating and filtering online content
WO2015002979A1 (en) * 2013-07-01 2015-01-08 24/7 Customer, Inc. Method and apparatus for effecting web page access in a plurality of media applications
US10038748B2 (en) * 2013-08-30 2018-07-31 Egain Corporation Method and system for multi-domain co-browsing in a C2C co-browse architecture through co-browsing functionality provided in a browser extension on a host
US10650187B2 (en) * 2013-10-11 2020-05-12 Adobe Inc. Visual path resolution in a context separated authoring environment of a REST- and component-based content management system
US20150244814A1 (en) * 2014-02-24 2015-08-27 Oracle International Corporation Adaptive co-browsing
US9361469B2 (en) * 2014-03-26 2016-06-07 Amazon Technologies, Inc. Electronic communication with secure screen sharing of sensitive information
EP3136656B1 (en) * 2014-05-23 2020-07-15 Huawei Technologies Co., Ltd. Information sharing method and device
WO2015179817A1 (en) * 2014-05-23 2015-11-26 Osix Corporation Computer-implemented methods, computer readable media, and systems for initiating co-use of applications
KR102086731B1 (ko) * 2014-06-25 2020-04-14 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
JP6458326B2 (ja) * 2014-08-28 2019-01-30 株式会社C−Grip 受付装置、受付システム、受付方法、及びプログラム
US10841425B1 (en) * 2014-09-16 2020-11-17 United Services Automobile Association Systems and methods for electronically predicting future customer interactions
US9740672B2 (en) 2014-10-24 2017-08-22 POWr Inc. Systems and methods for dynamic, real time management of cross-domain web plugin content
US9967399B2 (en) 2014-12-19 2018-05-08 Oracle International Corporation Co-browsing preview of queued customer contacts
US10348895B2 (en) * 2015-02-13 2019-07-09 Avaya Inc. Prediction of contact center interactions
IL237986D0 (en) * 2015-03-26 2015-11-30 Yaron Peretz A method and system for broadcasting surfing activities
US10291722B1 (en) * 2015-04-30 2019-05-14 Glance Networks, Inc. Method and apparatus for implementing co-browsing between domains
KR101681462B1 (ko) * 2015-05-28 2016-12-02 알서포트 주식회사 브라우저 및 개별 통신로 의사플러그인을 이용한 정보처리 방법
CN106294522B (zh) * 2015-06-23 2019-10-01 阿里巴巴集团控股有限公司 用于动态展示画面的方法及装置
CN106326734A (zh) * 2015-06-30 2017-01-11 阿里巴巴集团控股有限公司 一种检测敏感信息的方法和设备
US10069973B2 (en) * 2015-08-25 2018-09-04 Avaya Inc. Agent-initiated automated co-browse
US10671337B2 (en) 2015-09-25 2020-06-02 Oracle International Corporation Automatic sizing of agent's screen for html co-browsing applications
CN106570045B (zh) * 2015-10-13 2020-12-08 腾讯科技(深圳)有限公司 一种数据操作控制方法及其系统、用户终端
US9658817B2 (en) * 2015-10-15 2017-05-23 Optim Corporation Screen sharing terminal, method of screen sharing, and program for screen sharing terminal
US20180167426A1 (en) * 2015-10-29 2018-06-14 CrankWheel ehf. Multiplatform Screen Sharing Solution for Software Demonstration
CN106936808B (zh) * 2015-12-31 2021-01-26 中兴通讯股份有限公司 Http流媒体传输方法及装置
KR101833939B1 (ko) * 2016-03-18 2018-03-05 김경훈 전화번호 연동되는 소셜 네트워크 서비스 시스템
US9824075B1 (en) * 2016-03-31 2017-11-21 Google Inc. System and method for interaction coverage
US10102306B2 (en) 2016-05-03 2018-10-16 International Business Machines Corporation Patching base document object model (DOM) with DOM-differentials to generate high fidelity replay of webpage user interactions
US10698647B2 (en) * 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US20180181286A1 (en) * 2016-12-23 2018-06-28 24/7 Customer, Inc. Method and apparatus for facilitating user chat interactions
US10404688B2 (en) 2017-01-31 2019-09-03 Glance Networks, Inc. Method and apparatus for enabling co-browsing of third party websites
US9965648B1 (en) 2017-04-06 2018-05-08 International Business Machines Corporation Automatic masking of sensitive data
US10038788B1 (en) 2017-05-09 2018-07-31 Oracle International Corporation Self-learning adaptive routing system
JP6825492B2 (ja) * 2017-05-31 2021-02-03 株式会社Jvcケンウッド プログラム、情報処理装置、表示方法
US10521106B2 (en) 2017-06-27 2019-12-31 International Business Machines Corporation Smart element filtering method via gestures
CN107784162A (zh) * 2017-09-27 2018-03-09 深圳拎得清软件有限公司 基于网页的bim模型共享方法及其系统
US10586071B2 (en) * 2017-11-24 2020-03-10 International Business Machines Corporation Safeguarding confidential information during a screen share session
CN108063863B (zh) * 2017-11-29 2020-06-19 南京白下高新技术产业园区投资发展有限责任公司 一种信息浏览方法、终端、服务器和计算机可读存储介质
US10897432B2 (en) * 2017-12-04 2021-01-19 Microsoft Technology Licensing, Llc Chat-enabled messaging
US20190171772A1 (en) * 2017-12-04 2019-06-06 Avaya Inc. System and method of supporting non-event related information in a co-browsing session
US10482148B2 (en) * 2017-12-06 2019-11-19 Capital One Services, Llc Systems and methods for co-browsing
CN108683651B (zh) * 2018-05-04 2021-02-19 浪潮云信息技术股份公司 一种单点登录方法、服务端及系统
US10757258B1 (en) 2018-05-12 2020-08-25 Glance Networks, Inc. Visual engagement using automatically dynamically selected visualization mediums
US10698743B2 (en) * 2018-06-21 2020-06-30 Paypal, Inc. Shared application interface data through a device-to-device communication session
US20190394255A1 (en) * 2018-06-25 2019-12-26 Citrix Systems, Inc. Intermediated retrieval of networked content
KR102141484B1 (ko) * 2018-07-06 2020-08-05 안성국 소셜 네트워크 서비스를 이용한 개인 판매몰 자동 생성 방법 및 시스템
US10657191B2 (en) * 2018-07-27 2020-05-19 Voconomy, Inc. Method and system for secure remote interaction
US20200159818A1 (en) * 2018-11-21 2020-05-21 Glance Networks, Inc. Method and Apparatus for Accessing Proprietary Resources on a Co-Browse Session
US10474416B1 (en) * 2019-01-03 2019-11-12 Capital One Services, Llc System to facilitate interaction during a collaborative screen sharing session
US10764439B1 (en) * 2019-04-01 2020-09-01 Avaya Inc. Auto learning system for active co-browse sessions
CN110019279B (zh) * 2019-04-11 2020-12-04 北京字节跳动网络技术有限公司 在线文档的协同更新方法、装置、设备及存储介质
WO2021041700A1 (en) * 2019-08-28 2021-03-04 FullStory, Inc. Protecting user privacy in user interface data collection for native applications
CN112163838A (zh) * 2020-10-01 2021-01-01 曹春华 基于大数据和云计算的信息处理方法及电子商务协同平台

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107443A (en) 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
WO1995035535A1 (en) 1994-06-17 1995-12-28 Intel Corporation Apparatus and method for application sharing in a graphic user interface
JP2957938B2 (ja) 1995-03-31 1999-10-06 ミツビシ・エレクトリック・インフォメイション・テクノロジー・センター・アメリカ・インコーポレイテッド ウインドウ制御システム
JP3501556B2 (ja) 1995-06-19 2004-03-02 キヤノン株式会社 ウィンドウ共有システム及びウィンドウ共有システムの制御方法
US7263526B1 (en) * 1996-10-30 2007-08-28 Avaya Technology Corp. Method and apparatus for embedding chat functions in a web page
US7219072B1 (en) * 1999-06-01 2007-05-15 International Business Machines Corporation Method and system for co-browsing in electronic commerce
US7266613B1 (en) 2000-08-09 2007-09-04 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
GB2368226B (en) * 2000-10-17 2004-08-25 Hewlett Packard Co Helper entity for comuunication session
US7922493B1 (en) * 2000-11-30 2011-04-12 Oracle International Corporation Methods and systems for training sales representatives and conducting online sales calls
ITRM20010032A1 (it) * 2001-01-24 2002-07-24 Fabrizio Giacomelli Metodo di spostamento di un puntatore grafico su un'area di lavoro diuno schermo di un elaboratore.
US8190670B2 (en) 2001-04-16 2012-05-29 Microsoft Corporation Web site cobrowsing
US7188143B2 (en) * 2001-07-06 2007-03-06 Yahoo! Inc. Messenger-controlled applications in an instant messaging environment
US7370269B1 (en) * 2001-08-31 2008-05-06 Oracle International Corporation System and method for real-time annotation of a co-browsed document
US7149776B1 (en) * 2001-08-31 2006-12-12 Oracle International Corp. System and method for real-time co-browsing
US20030097448A1 (en) * 2001-11-21 2003-05-22 Menezes Francisco Jose Server control of hypertext transfer protocol client
US7095842B2 (en) * 2001-12-03 2006-08-22 International Business Machines Corporation Enabling caller controlled hold queue position adjustment
CN1324504C (zh) 2002-04-22 2007-07-04 普莱斯威尔股份有限公司 应用程序共享安全
US7287054B2 (en) * 2002-05-31 2007-10-23 Microsoft Corporation Systems and methods for shared browsing among a plurality of online co-users
US20040128342A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation System and method for providing multi-modal interactive streaming media applications
US7631256B2 (en) 2003-05-16 2009-12-08 Fujifilm Corporation Web page display system, and image server and method of controlling the same
US20050086344A1 (en) * 2003-10-15 2005-04-21 Eaxis, Inc. Method and system for unrestricted, symmetric remote scripting
US8051178B2 (en) * 2003-11-05 2011-11-01 Benefits Technologies, L.L.C. Apparatus and method for remotely sharing information and providing remote interactive assistance via a communications network
US20050102156A1 (en) * 2003-11-07 2005-05-12 Ebl Technology Holdings, Ltd. System and method for managing information in a group participant purchasing environment
US10156959B2 (en) * 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US20060010392A1 (en) 2004-06-08 2006-01-12 Noel Vicki E Desktop sharing method and system
US7440419B2 (en) 2005-01-27 2008-10-21 International Business Machines Corporation Methods for detecting nagling on a TCP network connection
US7526531B2 (en) 2005-01-27 2009-04-28 International Business Machines Corporation Methods for detecting outbound nagling on a TCP network connection
US8914726B2 (en) * 2005-08-20 2014-12-16 Riverbed Technology, Inc. Visualizing a complex network based on a set of objects of interest
US20070282623A1 (en) * 2006-04-24 2007-12-06 Jon Dattorro Process for protecting children from online predators
US20090019367A1 (en) 2006-05-12 2009-01-15 Convenos, Llc Apparatus, system, method, and computer program product for collaboration via one or more networks
US20070294626A1 (en) 2006-06-15 2007-12-20 Microsoft Corporation Controlling application sharing
US9621559B2 (en) * 2006-06-19 2017-04-11 Bomgar Corporation Network apparatus for secure remote access and control
US20080052377A1 (en) * 2006-07-11 2008-02-28 Robert Light Web-Based User-Dependent Customer Service Interaction with Co-Browsing
US7933955B2 (en) 2006-07-11 2011-04-26 Igor Khalatian One-click universal screen sharing
US7707161B2 (en) * 2006-07-18 2010-04-27 Vulcan Labs Llc Method and system for creating a concept-object database
US20080059961A1 (en) * 2006-08-31 2008-03-06 Microsoft Corporation Output of Help Elements that Correspond to Selectable Portions of Content
US8738703B2 (en) 2006-10-17 2014-05-27 Citrix Systems, Inc. Systems and methods for providing online collaborative support
US7941755B2 (en) 2007-04-19 2011-05-10 Art Technology Group, Inc. Method and apparatus for web page co-browsing
KR20090006559A (ko) * 2007-07-12 2009-01-15 한국전자통신연구원 공동 웹브라우징 방법 및 장치
US20090037517A1 (en) * 2007-08-02 2009-02-05 Randall Wayne Frei Method and system to share content between web clients
US8413058B1 (en) * 2007-08-21 2013-04-02 United Services Automobile Association (Usaa) Systems and methods for click-to-callback
US20100306642A1 (en) * 2007-11-23 2010-12-02 Koninklijke Philips Electronics N.V. Co-browsing (java) scripted html documents
US8849914B2 (en) * 2007-12-20 2014-09-30 The Vanguard Group, Inc. System and method for synchronized co-browsing by users in different web sessions
US8682977B1 (en) * 2008-03-25 2014-03-25 Egain Communications Corporation Communication associated with a webpage
US9123019B1 (en) * 2008-03-25 2015-09-01 Egain Communications Corporation Method, web browser and system for co-browsing online content
US8843816B2 (en) * 2008-04-25 2014-09-23 Microsoft Corporation Document collaboration by transforming and reflecting a document object model
US8887063B2 (en) 2008-05-21 2014-11-11 Smart Technologies Ulc Desktop sharing method and system
US20100037153A1 (en) * 2008-08-06 2010-02-11 Rogers Jarrod C Chat and web page integration method and system
US8225348B2 (en) * 2008-09-12 2012-07-17 At&T Intellectual Property I, L.P. Moderated interactive media sessions
US20100082747A1 (en) 2008-09-29 2010-04-01 College Of William & Mary Real-time collaborative browsing
US8924863B2 (en) 2008-09-30 2014-12-30 Lenovo (Singapore) Pte. Ltd. Collaborative web navigation using document object model (DOM) based document references
US20100123665A1 (en) 2008-11-14 2010-05-20 Jorgen Birkler Displays for Mobile Devices that Detect User Inputs Using Touch and Tracking of User Input Objects
US20100131868A1 (en) * 2008-11-26 2010-05-27 Cisco Technology, Inc. Limitedly sharing application windows in application sharing sessions
US8831203B2 (en) * 2008-12-23 2014-09-09 Genesys Telecommunications Laboratories, Inc. System and methods for tracking unresolved customer involvement with a service organization and automatically formulating a dynamic service solution
US20100167715A1 (en) * 2008-12-31 2010-07-01 Motorola, Inc. Method and Apparatus for Social Networking in a Communication Network
US20100218105A1 (en) 2009-02-26 2010-08-26 Sergey Perov Method of browsing and a computer program therefor
US8966374B1 (en) 2009-03-30 2015-02-24 Glance Networks, Inc. Method and apparatus for enabling participants to assume control over a presentation in a remote viewing session
US20100250756A1 (en) * 2009-03-31 2010-09-30 Morris Robert P Methods, Systems, And Computer Program Products For Establishing A Shared Browsing Session Between A User Of A Web Browser With A User Of Another Web Browser
US20100257451A1 (en) * 2009-04-05 2010-10-07 Hbr Labs Inc. System and method for synchronizing collaborative web applications
US8751628B2 (en) * 2009-05-05 2014-06-10 Suboti, Llc System and method for processing user interface events
US20110119352A1 (en) 2009-11-16 2011-05-19 Parrotview, Inc. Method of mutual browsing and computer program therefor
US9177298B2 (en) * 2009-12-15 2015-11-03 International Business Machines Corporation Abbreviated user interface for instant messaging to minimize active window focus changes
US9535651B2 (en) * 2009-12-18 2017-01-03 Oracle International Corporation Co-browsing systems and methods
US20110173589A1 (en) * 2010-01-13 2011-07-14 Microsoft Corporation Cross-Browser Interactivity Testing
US20110197124A1 (en) * 2010-02-05 2011-08-11 Bryan Eli Garaventa Automatic Creation And Management Of Dynamic Content
DE102010008301A1 (de) * 2010-02-17 2011-08-18 Siemens Enterprise Communications GmbH & Co. KG, 81379 Verfahren zur Aufnahme und Übertragung von Bewegungsinformation
EP2572350A1 (en) 2010-05-18 2013-03-27 Qualcomm Mems Technologies, Inc. System and method for choosing display modes
US8527591B2 (en) * 2010-05-20 2013-09-03 Actual Works, Inc. Method and apparatus for the implementation of a real-time, sharable browsing experience on a guest device
US8261198B2 (en) * 2010-06-30 2012-09-04 International Business Machines Corporation Automatic co-browsing invitations
US9292247B2 (en) * 2010-06-30 2016-03-22 International Business Machines Corporation Co-browsing a page including clippable and non-clippable portions
EP2625624B1 (en) 2010-10-08 2017-11-29 Lumi Technologies Limited Distribution of content and behavior to disparate platforms
US20120266082A1 (en) 2010-11-17 2012-10-18 Paul Webber Email client landscape display transition
US20120185784A1 (en) * 2011-01-13 2012-07-19 Charles Katz Method Of Providing Co-browsing Functionality Within A Standard Browser
US9367635B2 (en) * 2011-02-12 2016-06-14 International Business Machines Corporation Contact center co-browsing for a mobile device
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
US9063637B2 (en) 2011-09-23 2015-06-23 Microsoft Technology Licensing, Llc Altering a view of a document on a display of a computing device
US20130086615A1 (en) * 2011-10-03 2013-04-04 SocialEyes, Inc. Concurrent real-time communication with media contextualized activity sharing
US8976955B2 (en) * 2011-11-28 2015-03-10 Nice-Systems Ltd. System and method for tracking web interactions with real time analytics
US20130151372A1 (en) * 2011-12-08 2013-06-13 Ebay Inc. Item exchange using location information
US9166882B1 (en) * 2011-12-13 2015-10-20 Amazon Technologies, Inc. Remote browsing session management
US9874990B2 (en) * 2012-02-10 2018-01-23 Oracle International Corporation System and method of concurrent unobstructed co-browsing and chat messaging
US8930457B2 (en) 2012-06-19 2015-01-06 International Business Machines Corporation Proximity initiated co-browsing sessions
US9256691B2 (en) * 2012-07-10 2016-02-09 Recursive Labs, Inc. Systems and methods for enabling Internet co-browsing experience for multiple users
US8935410B2 (en) * 2012-08-17 2015-01-13 International Business Machines Corporation Cobrowsing macros

Also Published As

Publication number Publication date
US9736214B2 (en) 2017-08-15
CN108763334A (zh) 2018-11-06
US9736213B2 (en) 2017-08-15
AU2018201108B2 (en) 2019-01-03
AU2018201119A1 (en) 2018-03-08
AU2013290566A1 (en) 2015-02-05
CN104704485A (zh) 2015-06-10
AU2018201119B2 (en) 2019-01-03
AU2013290566B2 (en) 2018-03-08
US20150149558A1 (en) 2015-05-28
KR20180080338A (ko) 2018-07-11
KR20180079455A (ko) 2018-07-10
AU2018201097B2 (en) 2019-03-14
US10033791B2 (en) 2018-07-24
US20150149645A1 (en) 2015-05-28
AU2018201108A1 (en) 2018-03-08
CN108647331A (zh) 2018-10-12
KR20180079454A (ko) 2018-07-10
AU2018201109B2 (en) 2019-01-03
WO2014014695A1 (en) 2014-01-23
KR20150043344A (ko) 2015-04-22
US20150149557A1 (en) 2015-05-28
EP2875443A4 (en) 2016-05-18
CN108629041A (zh) 2018-10-09
US20150149916A1 (en) 2015-05-28
AU2018201097A1 (en) 2018-03-08
AU2018201109A1 (en) 2018-03-08
KR102122002B1 (ko) 2020-06-12
KR102197248B1 (ko) 2020-12-31
EP2875443A1 (en) 2015-05-27

Similar Documents

Publication Publication Date Title
US20180373796A1 (en) Identify contextual connect-able connections
US10026108B2 (en) Systems, devices, and methods for sharing content
US20180034899A1 (en) Aggregating Plug-In Requests for Improved Client Performance
US20190052701A1 (en) System, method and platform for user content sharing with location-based external content integration
US9483448B2 (en) Method and apparatus for the implementation of a real-time, sharable browsing experience on a host device
US10559042B2 (en) Capturing information regarding an interaction to a database
KR101829782B1 (ko) 소셜 네트워킹을 통한 텔레비전 및 비디오 프로그래밍 공유
US20200259911A1 (en) Contextual connection invitations
US9530160B2 (en) System and method for an affinity capture, user feedback and affinity analysis
US9253520B2 (en) Video capture, processing and distribution system
US9185145B2 (en) Method and apparatus for the implementation of a real-time, sharable browsing experience on a guest device
US10855760B2 (en) Systems and methods for synchronizing content and information on multiple computing devices
US9992287B2 (en) Token-activated, federated access to social network information
CN105518653B (zh) 链接关联分析系统和方法
US20150347785A1 (en) Social network routing
US20180351892A1 (en) Systems and methods for associating social media systems and web pages
US8769017B2 (en) Collaborative web browsing system having document object model element interaction detection
US8996654B2 (en) Aggregator with managed content
US9134875B2 (en) Enhancing public opinion gathering and dissemination
US10387857B2 (en) Apparatus and method for processing a multimedia commerce service
CN103078894B (zh) 用于共享在线存储中保存的项目的方法和设备
US8549073B2 (en) Cross social network data aggregation
CN104011721B (zh) 协作搜索
US9531803B2 (en) Content sharing interface for sharing content in social networks
US10319022B2 (en) Apparatus and method for processing a multimedia commerce service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant