CN116528220A - 用于移动应用程序的实时远程控制的方法和系统 - Google Patents

用于移动应用程序的实时远程控制的方法和系统 Download PDF

Info

Publication number
CN116528220A
CN116528220A CN202310496145.4A CN202310496145A CN116528220A CN 116528220 A CN116528220 A CN 116528220A CN 202310496145 A CN202310496145 A CN 202310496145A CN 116528220 A CN116528220 A CN 116528220A
Authority
CN
China
Prior art keywords
event
network device
terminal device
data
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310496145.4A
Other languages
English (en)
Inventor
雷托·斯图贝尔
克里斯蒂安·图姆
斯蒂芬·西多夫
约西·莱文
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.)
LivePerson Inc
Original Assignee
LivePerson Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LivePerson Inc filed Critical LivePerson Inc
Publication of CN116528220A publication Critical patent/CN116528220A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Abstract

本发明涉及用于移动应用程序的实时远程控制的方法和系统。该方法包括:在网络设备和终端设备之间建立通信会话,其中,通信会话与通信服务器相关联,并且网络设备与应用程序相关联;基于应用程序的事件监听器代码来促进网络设备和终端设备之间的通信,事件监听器代码可执行以检测在终端设备处的一个或多个事件并生成与检测到的事件相对应的事件数据;实时地接收所生成的事件数据;基于所接收的事件数据在网络设备处实时动态地生成一个或多个合成事件,其中,动态地生成一个或多个合成事件包括复制检测到的事件中的一个或多个事件;以及发送合成事件,其中,当在网络设备处接收到合成事件时,网络设备基于合成事件执行一个或多个动作。

Description

用于移动应用程序的实时远程控制的方法和系统
本申请是申请日为2017年8月11日、申请号为“201780063704.5”、发明名称为“用于移动应用程序的实时远程控制的系统和方法”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求2016年8月14日提交的美国临时申请No.62/374,892的优先权,上述申请的公开内容通过引用整体并入本文以用于所有的目的。
技术领域
本发明大体上涉及促进客户和代理之间的实时通信会话。更具体地,提供了在通信会话过程中远程地控制移动应用程序的技术。
背景技术
使用数字消息传送作为通信的手段是普遍的。此外,移动应用程序越来越多地结合消息传送功能。但是,消息传送功能可能受到限制。例如,每当客户面临移动应用程序的问题时,由于缺乏共享的视觉上下文,仅消息传送功能可能不足以充分解决问题。
发明内容
在一些实施方式中,提供了一种计算机实现的方法。该计算机实现的方法可以包括在通信服务器处建立网络设备和终端设备之间的通信会话。所述网络设备可以被配置为执行移动应用程序。例如,所述移动应用程序可以包括处于初始状态的输入元素。在一些实例中,所述移动应用程序可以由终端设备远程地控制。此外,该方法可以包括在通信会话过程中接收数据流。所述数据流可以包括内容数据。例如,所述内容数据可以包括由移动应用程序呈现的对象。所述对象可以对应于所述输入元素。所述方法可以包括在所述通信会话过程中发送所述数据流。可以在终端设备处接收所述数据流。所述内容数据可以显示在终端设备上。所述方法还可以包括检测与所述内容数据相关联的输入事件。可以基于检测到的所述输入事件生成控制数据。然后可以发送所述控制数据。可以在所述网络设备处接收所述控制数据。例如,所述控制数据可以修改所述移动应用程序中所包含的所述输入元素的初始状态。
在一些实施方式中,提供了另一种计算机实现的方法。所述计算机实现的方法可以包括在网络设备处识别与移动应用程序相关联的输入元素。所述输入元素可以被配置为基于交互接收输入数据。所述方法可以包括确定与所述输入元素相对应的输入边界。例如,所述输入边界可以是用于接收所述输入数据的区域。此外,所述方法可以包括执行所述移动应用程序。执行所述移动应用程序可以包括显示处于初始状态的所述输入元素。所述移动应用程序可以由终端设备远程地控制。所述方法还可以包括接收与在所述终端设备处的选择相对应的输入。所述选择可以与选择数据相关联,并且所述选择数据可以用于识别与所述移动应用程序相关联的位置。所述方法可以包括确定所述选择数据是否对应于所述输入元素。确定所述选择数据是否对应于所述输入元素可以包括将所述选择数据与所述输入边界进行比较。此外,所述方法可以包括当所述选择数据对应于所述输入元素时确定与所述输入元素相关联的动作。然后可以执行所述动作。
在一些实施方式中,提供了另一种计算机实现的方法。所述计算机实现的方法可以包括在网络设备处执行移动应用程序,所述移动应用程序包括处于初始状态的输入元素。所述移动应用程序可以由终端设备远程地控制。所述方法还可以包括生成数据流。所述数据流可以包括内容数据,所述内容数据可以包括由所述移动应用程序呈现的对象。例如,所述对象可以对应于所述输入元素。所述方法可以包括发送所述数据流。可以在所述终端设备处接收所述数据流。所述内容数据可以显示在所述终端设备上。此外,所述方法可以包括接收与所述对象相关联的控制数据、确定所述控制数据是否对应于所述输入元素、以及当所述控制数据对应于所述输入元素时修改所述输入元素的初始状态。修改所述输入元素的初始状态可以包括将所述初始状态改变为后续状态。
本发明的实施方式还可以包括一种系统。所述系统可以包括一个或多个处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令当在所述一个或多个数据处理器上执行时,使得所述一个或多个数据处理器执行包括以上和本文所描述的任何计算机实现的方法的操作。
本发明的实施方式还可以包括有形地实现在非暂时性机器可读存储介质中的计算机程序产品,所述非暂时性机器可读存储介质包含指令,所述指令被配置为使数据处理装置执行包括以上和本文所描述的任何计算机实现的方法的操作。
附图说明
结合附图对本发明进行描述:
图1示出了网络交互系统的实施方式的框图;
图2示出了网络交互系统的另一实施方式的框图;
图3A-图3C示出了包括连接管理系统的网络交互系统的其它实施方式的框图;
图4示出了连接组件的操作的协议栈映射的表示;
图5表示根据一实施方式的多设备通信交换系统;
图6示出了连接管理系统的实施方式的框图;
图7示出了用于移动应用程序的实时远程控制的交互环境的表示;
图8示出了用于在网络设备处复制输入事件的过程的泳道图;
图9示出了用于在网络设备处复制输入事件的另一过程的泳道图;
图10示出了用于远程地控制移动应用程序的过程的流程图;
图11示出了用于在网络设备处复制输入事件的过程的流程图;以及
图12示出了用于远程地控制移动应用程序的另一过程的流程图。
在附图中,类似的组件和/或特征可以具有相同的附图标记。此外,可以通过由短划线跟随附图标记和区分相似组件的第二附图标记来区分相同类型的各种组件。只要在说明书中使用了第一附图标记,则该描述适用于具有相同第一附图标记的类似组件中的任一者,而不管第二附图标记如何。
具体实施方式
随后的描述仅提供了(一个或多个)实施方式的优选示例,并且不旨在限制本发明的范围、适用性或配置。而是,随后对(一个或多个)实施方式的优选示例的描述将为本领域技术人员提供用于实现实施方式的优选示例的使能描述。应当理解,在不脱离所附权利要求中阐述的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
图1示出了实现并支持本文描述的某些实施方式和特征的网络交互系统100的实施方式的框图。某些实施方式涉及在网络设备105(其可以由用户110操作)和终端设备115(其可以由代理120操作)之间建立连接通道。在某些实施方式中,网络交互系统100可以包括与客户端125相关联的客户端设备130。
在某些实施方式中,用户110可以是浏览网站或访问由远程服务器140提供的在线服务的个人。客户端125可以是提供、操作或运行网站或在线服务的实体、或由这样的实体雇用或分配的用于执行如本文描述的客户端125可实现的任务的个人。代理120可以是个人,诸如负责向用户110提供关于网站或在线服务的支持或信息(例如,关于在网上商店可获得的产品的信息)的支持代理或销售助理。在大量的代理中,代理的子集可以适合于为特定客户端125提供支持或信息。代理120可以隶属于客户端125或不隶属于客户端125。每个代理均可以与一个或多个客户端125相关联。在一些非限制性示例中,用户110可以是从个人计算设备在网上商店买东西的个人,客户端125可以为在网上销售产品的公司,并且代理120可以是公司雇用的销售助理。在各种实施方式中,用户110、客户端125和代理120可以是其他个人或实体。
尽管图1仅示出了单个网络设备105、终端设备115和客户端设备130,但是交互系统100可以包括(一种或多种)这些类型的设备中的每一种的多个或许多(例如,数十、数百或数千个)设备。类似地,尽管图1仅示出了单个用户110、代理120和客户端125,但是交互系统100可以包括(一种或多种)这种实体中的每一者的多个或许多实体。因此,可能有必要确定选择哪个终端设备与给定的网络设备通信。更复杂的情况是,远程服务器140还可以被配置为接收网络设备通信和进行响应以选择网络设备通信。
连接管理系统150可以促进通信的策略路由。通信可以包括具有内容的消息(例如,基于来自实体的输入(诸如打字或口头输入)来定义)。通信还可以包括:附加数据,诸如关于发送设备的数据(例如,IP地址、账户标识符、设备类型和/或操作系统);目的地址;客户端的标识符;网页的标识符或网页元素(例如,当生成通信或以其它方式与通信相关联时所访问的网页或网页元素)或在线历史数据;时间(一天中的时间和/或日期);和/或目的地址。其它信息可以包含在通信中。在一些实例中,连接管理系统150将整个通信路由至另一设备。在一些实例中,连接管理系统150修改通信或生成新的通信(例如,基于初始通信)。新的或修改后的通信可以包括消息(或其处理的版本)、至少一些(或全部)附加数据(例如,关于发送设备、网页或在线历史和/或时间)和/或由连接管理系统150标识的其它数据(例如,与特定账户标识符或设备相关联的账户数据)。新的或修改后的通信还可以包括其它信息。
策略路由促进(strategic-routing facilitation)的一部分可以包括在网络设备105和一个或多个终端设备115之间建立、更新和使用一个或多个连接通道。例如,在接收到来自网络设备105的通信时,连接管理系统150可以首先估计通信对应于哪个客户端(如果有的话)。在标识客户端时,连接管理系统150可以标识与客户端相关联的用于与网络设备105通信的终端设备115。在一些实例中,该标识可以包括评估多个代理(或专家或代表)中的每一个的简况,所述多个代理中的每个代理(例如,代理120)与终端设备(例如,终端设备115)相关联。评估可以涉及网络设备消息中的内容。终端设备115的标识可以包括例如在2010年3月17日提交的美国申请号12/725,799中描述的技术,其通过引用整体并入本文以用于所有的目的。
在一些实例中,连接管理系统150可以确定在网络设备105和与客户端(或远程服务器140)相关联的终端设备之间是否建立了任何连接通道,并且如果是,则确定是否将这种通道用于交换包括该通信的一系列通信。
在选择与网络设备105通信的终端设备115时,连接管理系统150可以在网络设备105和终端设备115之间建立连接通道。在一些实例中,连接管理系统150可以向所选择的终端设备115发送消息。该消息可以请求接受所建议的分配以与网络设备105通信或者确定已经产生这种分配。该消息可以包括关于网络设备105的信息(例如,IP地址、设备类型和/或操作系统)、关于相关联的用户110的信息(例如,所说的语言、与客户端交互的持续时间、技能水平、情绪和/或主题偏好)、接收的通信、用于生成通信并向网络设备105发送该通信的代码(例如,可点击的超链接)、和/或用于生成通信并向网络设备105发送该通信的指令。
在一个实例中,网络设备105和终端设备115之间的通信可以通过连接管理系统150路由。这种配置可以允许连接管理系统150监控通信交换并且检测(例如,如基于规则所定义的)问题(例如任一设备的无响应或延长的延迟)。此外,这种配置可以促进通信的选择性或完整存储,其可以稍后用于例如评估通信交换的质量和/或支持学习更新或生成路由规则,以便推进特定的后续通信目标。
在一些实施方式中,连接管理系统150可以实时监控通信交换并且基于实时通信执行自动化动作(例如,基于规则的动作)。例如,当连接管理系统150确定通信涉及特定产品时,连接管理系统150可以自动地向终端设备115发送包含关于产品的附加信息的附加消息(例如,库存产品的数量、支持与产品相关的文档的链接、或关于产品或类似产品的其它信息)。
在一个实例中,指定的终端设备115可以与网络设备105通信而不通过连接管理系统150中继通信。设备105、115中的一者或两者可以(或可以不)向连接管理系统150报告特定的通信度量或内容,以便促进通信监控和/或数据存储。
如上所述,连接管理系统150可以将选择的通信路由至远程服务器140。远程服务器140可以被配置为以预定的方式提供信息。例如,远程服务器140可以响应于通信访问所定义的要发送的一个或多个文本段落、语音记录和/或文件。远程服务器140可以基于例如对所接收的通信的分析(例如,语义分析或映射分析)来选择特定的文本段落、记录或文件。
可以基于至少部分地由一个或多个客户端设备130定义或提供的规则和/或数据来执行在连接管理系统150处执行的路由和/或其它确定或处理。例如,客户端设备130可以发送标识代理优先级、终端设备类型、和/或主题/技能匹配性的通信。作为另一示例,客户端设备130可以标识一个或多个权重以应用于可能影响路由确定(routingdetermination)的各种变量(例如,语言兼容性、预测的响应时间、设备类型和能力、和/或终端设备负载平衡性)。应当理解,将与客户端相关联的哪些终端设备和/或代理可以是动态的。来自客户端设备130和/或终端设备115的通信可以提供指示将给定终端设备和/或代理作为与客户端相关联的一个终端设备和/或代理添加或移除的信息。例如,客户端设备130可以发送具有IP地址以及指示的通信,所述指示为关于是否要从标识与客户端相关联的终端设备的列表中添加或移除具有该地址的终端设备。
每个通信(例如,设备之间、设备和连接管理系统150之间、远程服务器140和连接管理系统150之间、或远程服务器140和设备之间的通信)可以在一个或多个网络170上发生。开放或封闭的网络的任何组合可以包括在所述一个或多个网络170中。合适的网络的示例包括因特网、个人区域网、局域网(LAN)、广域网(WAN)或无线局域网(WLAN)。其它网络也可能是合适的。所述一个或多个网络170可以完全并入内联网、外联网、或内联网和外联网的组合内,或者可以包括内联网、外联网或内联网和外联网的组合。在一些实例中,所述一个或多个网络170中的网络包括短程通信通道,例如蓝牙或蓝牙低功耗通道。在一实施方式中,两个或更多个系统和/或设备之间的通信可以通过安全通信协议来实现,所述安全通信协议例如安全套接层(secure sockets layer,SSL)或传输层安全(transport layersecurity,TLS)协议。此外,数据和/或交易细节可以基于任何方便的、已知的或待开发的方式加密,例如但不限于数据加密标准(Data Encryption Standard,DES)、三重DES、Rivest-Shamir-Adleman加密(RSA)、河豚(Blowfish)加密、高级加密标准(Advanced EncryptionStandard,AES)、CAST-128、CAST-256、解相关快速密码(Decorrelated Fast Cipher,DFC)、微型加密算法(TEA)、扩展TEA(eXtended TEA,XTEA),校正块TEA(Corrected Block TEA,XXTEA)和/或RC5等。
网络设备105、终端设备115和/或客户端设备130可以包括例如便携式电子设备(例如,智能电话、平板电脑、笔记本电脑或智能可穿戴设备)或非便携式电子设备(例如,一个或多个台式计算机、智能家电、服务器和/或处理器)。连接管理系统150可以与网络、终端设备和客户端设备分开设置,或者可以是一个或多个这些设备的一部分(例如,通过在设备上安装应用程序)。远程服务器140可以与每个设备和连接管理系统150分开设置,和/或可以是另一设备或系统的一部分。尽管图1中将每个设备、服务器和系统作为单个设备示出,但是将理解,可以替代地使用多个设备。例如,一组网络设备可以用于从单个用户发送各种通信,或者远程服务器140可以包括服务器堆栈。
通信服务器180可以包括一个或多个服务器,该一个或多个服务器被配置为在网络设备105和终端设备115之间建立通信会话。此外,通信服务器180可以与本文图7中所描述的通信服务器710相同。此外,通信服务器180可以是在通信会话过程中网络设备105和终端设备115通过其实时地交换数据(例如,消息、媒体流、屏幕截图、事件数据等)的服务器。在一些实例中,通信服务器180、网络设备105和终端设备115中的任何一者可以至少部分地执行过程800至1200中的每个过程。在一些实例中,连接管理系统150还可以执行过程800至1200中的每个过程的至少一部分。
可以在所描绘的设备、系统或服务器上安装和/或执行软件代理或应用程序。在一个实例中,软件代理或应用程序被配置为使得所描绘的各种元件可以以互补的方式起作用。例如,设备上的软件代理可以被配置为收集关于设备使用的数据并将其发送至单独的连接管理系统,并且该单独的连接管理系统上的软件应用程序可以被配置为接收和处理该数据。
图2示出了网络交互系统200的另一实施方式的框图。总体上,图2示出了被配置并布置成使得网络设备205能够与一个或多个终端设备215通信的各种组件。所描绘的实例包括包含在三个局域网235中的九个终端设备215。
在一些实例中,来自网络设备205的通信包括至少部分地或完全指示哪个终端设备将接收通信的目的数据(例如,目的IP地址)。网络交互系统200可以包括可以处理所述目的数据并促进适当的路由的一个或多个互联网连接组件240和/或一个或多个内联网连接组件255。
每个互联网连接组件245可以连接至多个网络235,并且可以安装有多个网卡(例如,每个网卡连接至不同的网络)。例如,互联网连接组件245可以连接至广域网270(例如,因特网)和一个或多个局域网235。在所描绘的实例中,为了将通信从网络设备205发送至任何终端设备,在所描绘的系统中,通信必须由多个互联网连接组件245处理。
当互联网连接组件245接收通信(或对应于通信的一组数据包)时,互联网连接组件245可以确定将通信传递至与目的地相关联的网络的路由的至少一部分。可以使用例如路由表(例如,存储在路由器处)来确定路由,该路由表可以包括基于传入的消息(例如,来自另一路由器或来自另一设备)生成的或学到的预定义的一个或多个路由。
互联网连接组件245的示例包括路由器260和网关265。互联网连接组件245(例如,网关265)可以被配置为在网络系统或协议之间进行转换。例如,网关265可以促进传输控制协议/互联网协议(Transmission Control Protocol,TCP/Internet Protocol,IP)设备和互联网分组交换/序列分组交换(Internetwork Packet Exchange,IPX/Sequenced PacketExchange,SPX)设备之间的通信。
在局域网235处接收到通信时,仍可能需要执行进一步的路由。这种内联网路由可以经由内联网连接组件255(例如交换机280或集线器285)来执行。每个内联网连接组件255可以(例如,无线地或有线地,诸如通过以太网线缆)连接至多个终端设备215。集线器285可以被配置为向与其连接的每个设备重复所接收的所有通信。然后,每个终端设备可以评估每个通信以确定该终端设备是否为目的设备或者是否要忽略该通信。交换机280可以被配置为选择性地将通信仅导向至目的终端设备。
在一些实例中,局域网235可以被划分为多个段(segment),每个段可以与独立的防火墙、安全规则和网络协议相关联。可以在一个、多个或所有段中的每个段中提供内联网连接组件255以促进段内路由。桥接器280可以被配置为跨段275路由通信。
为了跨网络或在网络内适当地路由通信,各种组件分析通信中的目的数据。例如,这种数据可以指示通信将被路由至哪个网络、通信将被路由至网络内的哪个设备或终端设备要处理(相对于忽略)哪些通信。然而,在一些实例中,不能立即明白哪个终端设备(或甚至是哪个网络)将参与来自网络设备的通信。
为了说明,可以配置一组终端设备以便提供类似类型的响应通信。因此,可以预期来自网络设备的通信中的查询可以以类似的方式被响应,而不管通信被路由至哪个网络设备。尽管该假设在高水平上可能是真的,但是与终端设备相关的各种细节可以产生与其它设备相比有利的特定路由。例如,上述组中的终端设备可以关于(例如)支持哪些通信通道、与网络设备的地理和/或网络接近度、和/或相关代理的特征(例如,知识库、经验、所说的语言、可用性、一般人格或情绪等)而彼此不同。因此,选择路由可以促进更快的响应,该更快的响应更准确地和/或完整地响应于网络设备通信。复杂的是,将网络设备映射至终端设备的静态路由可能无法解释通信主题、通道类型、代理可用性等的变化。
图3A-图3C示出了包括连接管理系统的网络交互系统300a-300c的其它实施方式的框图。为了简单起见,所描绘的系统300a-300c中的每一个系统仅示出了2个局域网235,但是可以理解的是,可以扩展实施方式以扩展局域网的数量。系统300a-300c中的每个系统包括连接管理系统350,该连接管理系统可以标识哪个终端设备将与网络设备205通信、可以建立并管理(例如,维护或关闭)连接通道、可以确定是否以及何时在交换中重新路由通信等。因此,连接管理系统350可以被配置为动态地并且实时地评估通信、代理可用性、终端设备或代理的能力等,以便影响路由确定。
在图3A中,连接管理系统350与网络设备205以及远程服务器340中的每者相关联(例如,连接管理系统350a与网络设备205相关联,并且连接管理系统350b与远程服务器340相关联)。例如,连接管理系统350a和/或连接管理系统350b可以分别作为应用程序安装或存储在网络设备205和远程服务器340中的每者上。(一个或多个)应用程序的执行可以促进例如网络设备205和远程服务器340之间的通信,以标识被选择参与的与网络设备205进行通信交换的终端设备215。可以基于本文公开的一个或多个因素(例如,可用性、通信的主题/详细水平与代理或终端设备的知识库之间的匹配度、预测的延迟、通道类型可用性等)进行标识。
客户端设备330可以提供指示如何进行路由确定的客户端数据。例如,这种数据可以包括:关于特定特征如何被加权或匹配的指示或约束或偏差(例如,与负载平衡或预测的响应延迟有关)。客户端数据还可以包括与何时建立(或关闭)通信通道或者何时将通信重新路由至不同的网络设备有关的规范。客户端数据可用于定义各种特定于客户端的规则,例如用于通信路由的规则等。
在远程服务器340上运行的连接管理系统350b可以监控与终端设备有关(例如,与给定的客户端有关)的各种度量,例如支持哪些通信通道、与网络设备的地理和/或网络接近度、与终端设备的通信延迟和/或稳定性、终端设备的类型、终端设备的能力、终端设备(或代理)是否在先已经与给定的网络设备(或用户)通信和/或与代理相关联的特征(例如,知识库、经验、所说的语言、可用性、一般人格或情绪等)。因此,可以使通信管理系统350b能够选择路由以促进更快的响应,该更快的响应基于度量更准确地和/或完整地响应于网络设备通信。
在图3A所描绘的示例中,网络设备205和远程服务器340之间的通信交换可以促进目的地址的早期识别。然后,网络设备205可以使用该目的地址来指导后续通信。例如,网络设备205可以向远程服务器340发送初始通信(例如,经由一个或多个互联网连接和广域网),并且远程服务器340可以识别一个或多个相应的客户端。然后,远程服务器340可以识别与所述一个或多个相应的客户端相关联的一组终端设备,并收集对于那些终端设备的度量。可以(例如,通过远程服务器340)评估这些度量以便选择参与通信交换的终端设备,并且可以将与该终端设备有关的信息(例如,IP地址)发送至网络设备205。在一些实施方式中,远程服务器340可以连续地或周期性地收集和评估对于各种终端设备的度量并将评估结果存储在数据存储器中。在这种实施方式中,在识别与所述一个或多个相应的客户端相关联的一组终端设备时,远程服务器340可以从数据存储器访问存储的评估结果,并且基于存储的评估结果选择终端设备来参与通信交换。
在图3B中,连接管理系统350可以被配置为用作中继和/或目的地址。因此,例如,一组网络设备205可以发送通信,每个通信将连接管理系统350标识为目的地。连接管理系统350可以接收各个通信,并且可以同时监控一组终端设备(例如,以便生成对于每个终端设备的度量)。基于监控和规则,连接管理系统350可以识别其可以中继各个通信的终端设备215。根据该实施方式,终端设备通信可以类似地指向一致的目的地(例如,连接管理系统350的目的地),以用于进一步中继,或者终端设备可以开始直接与相应的网络设备通信。这些实施方式可以促进有效路由和全面的通信监控。
图3C中描绘的实施方式类似于图3B中的实施方式。然而,在一些实施方式中,连接管理系统350直接连接至内联网组件(例如,终端设备、内联网连接或其它)。
应当理解,图3A-图3C的许多变型是预期的。例如,连接管理系统350可以与连接组件(例如,互联网连接组件245或内联网连接组件255)相关联,使得对应于连接管理系统350(或其一部分)的应用程序安装在该组件上。例如,可以独立地执行应用程序或通过与类似或补充的一个或多个应用程序(例如,在一个或多个其它组件、网络设备或远程服务器上执行的应用程序)通信来执行应用程序。
图4示出了连接组件的操作的协议栈映射400的表示。更具体地,图4标识了在开放系统交互(Open Systems Interaction,OSI)模型中的对应于各种连接组件的操作层。
OSI模型可以包括多个逻辑层402-414。这些层以有序堆叠布置,使得层402-412中的每个层服务较高水平,而层404-414中的每个层由较低层服务。OSI模型包括物理层402。物理层402可以定义参数物理通信(例如,电、光或电磁通信)。物理层402还定义连接管理协议,例如建立和关闭连接的协议。物理层402还可以定义流控制协议和传输模式。
链路层404可以管理节点到节点(node-to-node)的通信。链路层404可以检测并纠正错误(例如,物理层402中的传输错误)以及管理访问许可。链路层404可以包括媒体访问控制(media access control,MAC)层和逻辑链路控制(logical link control,LLC)层。
网络层406可以协调跨同一网络中的节点的(例如,作为数据报的)传输数据(例如,具有可变长度的传输数据)。网络层406可以将逻辑网络地址转换为物理机器地址。
传输层408可以管理发送和接收质量。传输层408可以提供用于传输数据的协议,例如传输控制协议(TCP)。传输层408可以执行数据包的分割/重组以用于传输,并且可以检测并解释在层402-406中发生的传输错误。会话层410可以发起、维护和终止本地和远程应用程序之间的连接。会话可以用作远程过程交互的一部分。表示层412可以基于已知由应用程序或网络层接受的数据类型来加密、解密和格式化数据。
应用层414可以与控制或管理通信的软件应用程序进行交互。通过这样的应用程序,应用层414可以(例如)识别目的地、本地资源状态或可用性和/或通信内容或格式。各个层402-414可以执行可用并适用的其它功能。
内联网连接组件422被示出在物理层402中操作,内联网连接组件424被示出在链路层404中操作。更具体地,集线器可以在物理层中操作,使得可以关于通信的接收和发送来控制操作。由于集线器缺乏处理通信或过滤数据的能力,因此集线器几乎没有能力在更高水平操作。同时,交换机可以在链路层404中操作,因为交换机能够基于地址(例如,MAC地址)过滤通信帧。
同时,互联网连接组件426、428被示出在更高水平(例如,层406-414)上操作。例如,路由器可以基于地址(例如,IP地址)过滤通信数据包。路由器可以根据地址将数据包转发至特定端口,以便将数据包指引至适当的网络。网关可以在网络层及其以上操作,执行类似的过滤和指引以及数据的进一步转换(例如,跨协议或架构)。
在各种实施方式中,连接管理系统450可以与各个层中的一个、多个、全部或任何层进行交互和/或在各个层中的一个、多个、全部或任何层上操作。例如,连接管理系统450可以与集线器交互,以便动态地调整集线器与哪些终端设备通信。作为另一示例,连接管理系统450可以与桥接器、交换机、路由器或网关进行通信,以便影响该组件选择哪个终端设备作为目的地址(例如,MAC、逻辑或物理地址)。作为另外的示例,连接管理系统450可以监控、控制或指引传输层408上的数据包的分段、会话层410上的会话持续时间、和/或表示层412上的加密和/或压缩。在一些实施方式中,连接管理系统450可以通过与在特定层上操作的设备(例如,在链路层404上操作的交换机)进行交换通信(例如,发送命令至该设备)、通过以特定的方式路由或修改现有通信(例如,在网络设备和终端设备之间的通信)、和/或通过基于现有通信生成包含特定信息(例如,新目的地址)的新通信来与各个层进行交互。因此,连接管理系统450可以通过与各种设备的交互和/或通过影响在各种协议栈层的操作来影响通信路由和通道建立(或维护或终止)。
图5表示根据一实施方式的多设备通信交换系统500。系统500包括网络设备505,该网络设备被配置为在各种类型的通信通道上与各种类型的终端设备通信。
在所描绘的实例中,网络设备505可以通过蜂窝网络(例如,经由基站510)发送通信。通信可以被路由至操作网络515。操作网络515可以包括连接管理系统520,该连接管理系统接收通信并识别哪个终端设备将响应于该通信。这种确定可以取决于识别该通信所属的客户端(例如,基于指示客户端的内容分析或用户输入)并确定与该客户端相关联的一个或多个终端设备中的每个终端设备的一个或多个度量。例如,在图5中,终端设备530a-530c的每个集群可以对应于不同的客户端。终端设备可以在地理上共同定位或分散。可以基于存储的或学习的数据和/或(例如,基于可用性的)实时监控来确定所述度量。
连接管理系统520可以经由一个或多个路由器525或其它互联网连接组件或内联网连接组件与各种终端设备进行通信。连接管理系统520可以在一个或多个数据存储器处收集、分析和/或存储来自(或关于)通信、终端设备操作、客户端规则、和/或与用户相关联的动作(例如,在线活动、账户数据、购买历史等)的数据。这种数据可能影响通信路由。
值得注意的是,还可以使用各种其它设备来影响通信路由和/或处理。例如,在所描绘的实例中,连接管理系统520还连接至网络服务器540。因此,连接管理系统540可以检索感兴趣的数据,例如技术产品细节、新闻、当前产品供应、当前或预测的天气等。
网络设备505还可以连接至网络服务器(例如,包括流网络服务器545)。在一些实例中,与这种服务器的通信提供了发起与连接管理系统520的通信交换的初始选项。例如,网络设备505可以检测到在访问特定网页时通信机会是可获得的并且这种选项可以被呈现。
通信系统500的一个或多个元件也可以连接至社交网络服务器550。社交网络服务器550可以聚合从各种用户设备接收的数据。因此,例如,连接管理系统520可以能够估计针对给定主题的一般(或用户特定)情绪或估计给定用户或用户类别的一般行为。
图6示出了连接管理系统600的实施方式的框图。消息接收器接口605可以接收消息。在一些实例中,例如,可以接收消息作为由源设备(例如,与连接管理系统600分开设置或在同一外壳内)发送的通信的一部分,所述源设备例如网络设备或终端设备。在一些实例中,通信可以是一系列通信的一部分或通信交换,其可以包括在两个设备(例如,网络设备和终端设备)之间路由的一系列消息或消息交换。该消息或通信交换可以是设备之间的交互的一部分和/或可以定义设备之间的交互。通信通道或操作通道可以包括用于促进设备之间的路由和通信交换的一个或多个协议(例如,路由协议、任务分配协议和/或寻址协议)。
在一些实例中,消息可以包括基于在本地或远程用户接口处接收的输入生成的消息。例如,消息可以包括基于按钮或键选择或记录的语音信号生成的消息。在一实例中,该消息包括自动生成的消息,例如在检测到网络设备正在呈现特定的应用页面或网页或者已经提供特定输入命令(例如,键序列)时生成的消息。该消息可以包括指令或请求,例如用于发起通信交换的指令或请求。
在一些实例中,消息可以包括客户端的标识符或与客户端的标识符相关联。例如,消息可以明确标识客户端(或与客户端相关联的设备);该消息可以包括与客户端相关联的网页或应用页面,或和与客户端相关联的网页或应用页面相关联;该消息可以包括与客户端相关联的目的地址,或与客户端相关联的目的地址相关联;或者该消息可以包括项目(例如,产品)的标识或与客户端相关联的服务(例如,通过客户端提出出售的服务、已经通过客户端出售的服务或者客户端提供的服务),或与项目(例如,产品)的标识或与客户端相关联的服务相关联。为了说明,网络设备可以呈现特定客户端的应用页面,该应用页面可以提供将通信发送至代理的选项。在接收到与消息对应的用户输入时,可以生成包含该消息和特定客户端的标识符的通信。
处理引擎610可以处理所接收的通信和/或消息。处理可以包括例如提取特定的一个或多个数据元素(例如,消息、客户端标识符、网络设备标识符、账户标识符等)。处理可以包括转换格式或通信类型(例如,以与特定设备类型、操作系统、通信通道类型、协议和/或网络兼容)。
消息评估引擎615可以评估(例如,提取或接收的)消息。评估可以包括识别例如消息的一个或多个类别或标签。类别或标签类型的示例可以包括(例如)主题、情绪、复杂性和紧急性。分类和给消息加标签之间的不同可以在于类别可以是有限的(例如,根据预定义的一组类别选项),而标签可以是开放的。主题可以包括例如产品、服务、技术问题、使用问题、投诉、退款请求或购买请求。例如,可以基于消息的语义分析(例如,通过识别关键字、句子结构、重复的词、标点符号和/或非文章(non-article)词)、用户输入(例如,已经选择了一个或多个类别)、和/或与消息相关的统计值(例如,键入速度和/或响应延迟)来确定类别或标签。
在一些实例中,消息评估引擎615可以确定对于消息的度量。度量可以包括例如多个字符、单词、大写字母、全部大写的单词或特定字符或标点符号的实例(例如,感叹号、问号和/或句号)。度量可以包括比率,例如以感叹号(或问号)结尾的句子的一部分、全部大写的单词的一部分等。
消息评估引擎615可以在消息数据存储器620中存储消息、消息度量和/或消息统计值。每个消息还可以与其它数据(例如,元数据)相关联地存储,所述其它数据诸如标识对应的源设备、目的设备、网络设备、终端设备、客户端、一个或多个类别、一个或多个阶段和/或与消息相关的统计值的数据。连接管理系统600的各种组件(例如,消息评估引擎615和/或交互管理引擎625)可以查询消息数据存储器620以检索查询响应消息、消息度量和/或消息统计值。
交互管理引擎625可以确定将通信路由至哪个设备以及接收设备和发送设备将如何通信。这些确定中的每个确定可以取决于例如特定的网络设备(或与特定用户相关联的任何网络设备)是否先前已与一组终端设备中的终端设备(例如,与连接管理系统600相关联的任何终端设备、或与一个或多个特定客户端相关联的任何终端设备)进行通信。
在一些实例中,当网络设备(或与正常用户或账户相关联的其它网络设备)在先已经与给定的终端设备(例如,关于与客户端有关的事项)进行通信时,通信路由通常可偏向于该同一终端设备。可能影响路由的其它因素可以包括,例如,与在先通信有关的推断或标识的用户或代理情绪;当前通信的主题(例如,以及与在先通信的主题和/或与一个或多个终端设备或代理相关联的知识库有关的程度);终端设备(或相应的代理)是否可用;和/或终端设备的预测响应延迟。这些因素可以绝对地或相对于与其它终端设备相对应的类似度量来考虑。重新路由规则(例如,客户端特定的或一般的规则)可以指示如何评估和加权这些因素以确定是否放弃代理一致性。
当网络设备(或与同一用户或账户相关联的其它网络设备)在先未与给定的终端设备(例如,关于与客户端有关的事项)进行通信时,可以基于诸如以下的因素执行终端设备的选择:例如,各种代理的知识库与通信主题对应的程度、各种代理在给定时间和/或通道类型上的可用性、(例如,与客户端相关联的)终端设备的类型和/或能力、用户和代理之间的语言匹配度、和/或个性分析。在一实例中,规则可以标识如何确定对诸如这些的一个或多个因素的子分数以及分配给每个分数的权重。通过组合(例如,求和)加权子分数,可以确定每个代理的分数。然后可以通过比较终端设备的分数(例如,选择高分数或最高分数)来进行终端设备的选择。
关于确定设备如何通信,交互管理引擎625可以(例如)确定终端设备是否通过(例如)电子邮件、在线聊天、SMS消息、语音呼叫、视频聊天等来响应通信。可以基于以下项来选择通信类型:例如,通信类型优先级列表(例如,至少部分地由客户端或用户来定义)、先前从网络设备接收的通信的类型(例如,以便促进一致性)、接收的消息的复杂性、网络设备的能力、和/或一个或多个终端设备的可用性。显然,一些通信类型将导致实时通信(例如,期望快速消息响应的情况),而其它通信类型可能导致异步通信(例如,消息之间的延迟(例如,几分钟或几小时)是可接受的)。
此外,交互管理引擎625可以确定是否应该建立、使用或终止两个设备之间的连续通道。可以构造连续通道,以便促进从网络设备到指定终端设备的未来通信的路由。即使经过消息系列(例如,数天、数周或数月),这种偏向也会持续。在一些实例中,连续通道的表示(例如,标识代理)可以包括在网络设备上待呈现的呈现中。以这种方式,用户可以理解该通信将被一致地路由以便提高效率。
在一实例中,可以使用本文描述的一个或多个因素和规则(例如,包括所述一个或多个因素中的每个的权重)来生成分数,以确定对应于给定的网络设备和终端设备的连接分数。该连接分数可以与整体匹配度或特定于给定的通信或通信系列的匹配度有关。因此,例如,该分数可以反映预测给定终端设备适合于对网络设备通信进行响应的程度。在一些实例中,分数分析可以用于标识将路由给定通信的每个终端设备以及是否建立、使用或终止连接通道。当分数分析用于处理路由决策和通道决策两者时,可以以相同、类似或不同的方式来确定与每个决策相关的分数。
因此,例如,将理解,根据分数是预测长期匹配的强度还是响应特定消息查询的强度,可以考虑不同因素。例如,在前一种实例中,对总体时间表和时间区域的考虑可能是重要的,而在后一种实例中,立即可用性可能有更高的权重。可以针对单个网络设备/终端设备组合来确定分数,或者可以确定多个分数,每个分数的特征在于给定网络设备和一不同的终端设备之间的匹配度。
为了说明,可以评估用于潜在通信路由的与客户端相关联的一组的三个终端设备。可以为每个设备生成与特定通信的匹配度有关的分数。前两个终端设备中的每个终端设备可以在先已经与已传输该通信的网络设备通信。来自网络设备的输入可以已经表示对与第一设备的(一个或多个)通信的交互感到满意。因此,第一设备、第二设备和第三设备的(根据规则计算的)过往交互子分数(past-interact sub-score)可以分别是10、5和0。(负满意度输入可以产生负的子分数。)可以确定仅第三终端设备是立即可用的。可以预测第二终端设备将在15分钟内可用于响应,但是第一终端设备将在第二天之前不可用于响应。因此,第一设备、第二设备和第三设备的快速响应子分数(fast-response sub-score)可以是1、3和10。最后,可以估计(与终端设备相关联的)代理了解通信中的主题的程度。可以确定与第三终端设备相关联的代理比与其它两个设备相关联的代理更了解,从而得到的子分数为3、4和9。在该示例中,规则不包括加权或归一化参数(虽然,在其它实例中,规则可以包括加权或归一化参数),从而得到的分数为14、11和19。因此,规则可以指示消息将被路由至具有最高分数的设备,即第三终端设备。如果到特定终端设备的路由不成功,则可以将消息路由至具有次高分数的设备,依此类推。
可以将分数与一个或多个绝对阈值或相对阈值进行比较。例如,可以将一组终端设备的分数相互比较以确定高分,从而选择通信可以被路由至的终端设备。作为另一示例,可以将分数(例如,高分数)与一个或多个绝对阈值进行比较,以确定是否建立与终端设备的连续通道。用于建立连续通道的总阈值可以(但不必须)高于用于在给定的一系列消息中一致地路由通信的阈值。总阈值和用于确定是否一致地路由通信的阈值之间的这种差异可能是因为考虑到通道的扩展效用,强匹配在连续通道环境中是重要的。在一些实施方式中,用于使用连续通道的总阈值可以(但不必须)低于用于建立连续通道的阈值和/或用于在给定的一系列消息中一致地路由通信的阈值。
交互管理引擎625可以在各种上下文中与账户引擎630交互。例如,账户引擎630可以在账户数据存储器635中查找网络设备或终端设备的标识符,以识别与该设备相对应的账户。此外,账户引擎630可以维护关于先前通信交换的数据(例如,时间、涉及的(一个或多个)其它设备、通道类型、解决阶段、(一个或多个)主题和/或相关联的客户端标识符)、连接通道(例如,对于一个或多个客户端中的每个客户端,指示:是否有任何通道存在、与每个通道相关联的终端设备、建立时间、使用频率、上次使用的日期、任何通道约束和/或支持的通信类型)、用户或代理偏好或约束(例如,关于终端设备选择、响应延迟、终端设备一致性、代理专业知识、和/或通信类型偏好或约束)、和/或用户或代理特征(例如,年龄、所说的或优选的(一种或多种)语言、地理位置、兴趣等)。
此外,交互管理引擎625可以向账户引擎630提醒各种连接通道(connection-channel)动作,使得可以更新账户数据存储器635以反映当前通道数据。例如,在建立通道时,交互管理引擎625可以通知账户引擎630的建立,并且识别网络设备、终端设备、账户和客户端中的一者或多者。(在一些实例中)账户引擎635可以随后通知用户该通道的存在,使得该用户可以意识到代理一致性是有用的。
交互管理引擎625还可以与客户端映射引擎640交互,客户端映射引擎640可以将通信映射至一个或多个客户端(和/或相关联的品牌(brand))。在一些实例中,从网络设备本身接收的通信包括对应于客户端的标识符(例如,客户端、产品、服务器、网页或应用页面的标识符)。该标识符可以作为消息的一部分(例如,可以检测哪个客户端映射引擎640)而被包含或作为包含消息的通信中的其它数据而被包含。然后,客户端映射引擎640可以在客户端数据存储器645中查找该标识符,以检索关于客户端和/或客户端的标识符的附加数据。
在一些实例中,消息可能不特别对应于任何客户端。例如,消息可以包括一般查询。客户端映射引擎640可以例如对消息执行语义分析、识别一个或多个关键字并且标识与(一个或多个)关键字相关联的一个或多个客户端。在一些实例中,标识单个客户端。在一些实例中,标识出多个客户端。然后可以经由网络设备呈现每个客户端的标识,使得用户可以选择要与之(例如,经由相关联的终端设备)通信的客户端。
客户端数据存储器645可以包括与客户端相关联的一个或多个终端设备(和/或代理)的标识。终端路由引擎650可以检索或收集与一个、多个或所有的这种终端设备(和/或代理)中的每个终端设备(和/或代理)有关的数据,以便影响路由确定。例如,终端路由引擎650可以维护终端数据存储器655,终端数据存储器655可以存储诸如终端设备的设备类型、操作系统、通信类型(communication-type)能力、安装的应用程序附件、地理位置和/或标识符(例如,IP地址)的信息。信息还可以包括代理信息,诸如经验水平、职位、技能水平、知识库(例如,代理了解的各种主题和/或对于各种主题的知识水平)、个性度量、工作时长、所说的(一种或多种)语言和/或人口统计信息。某些信息可以动态地更新。例如,基于(例如)来自终端设备的通信(例如,标识该设备是否处于睡眠状态、是否关闭/开启、是否空闲/活动,或标识是否在一段时间内已收到输入)、通信路由(例如,指示终端设备是否参与通信交换或被分配为通信交换的一部分)、或者来自网络设备或终端设备的指示通信交换已经结束或开始的通信,可以动态地更新指示终端设备是否可用的信息。
应当理解,在各种上下文中,参与一个或多个通信交换不一定表示终端设备不可用于参与另一通信交换。例如通信类型(例如,消息、电子邮件、聊天、电话)、客户端标识的或用户标识的目标响应时间、和/或系统负载(例如,通常是或关于用户)的各种因素可能影响终端设备可参与多少交换。
当交互管理引擎625已经标识了参与通信交换或连接通道的终端设备时,交互管理引擎625可以通知终端路由引擎650,终端路由引擎650可以从终端数据存储器655检索关于该终端设备的任何相关数据,诸如目的地址(例如IP地址)、设备类型、协议等。然后,(在一些实例中)处理引擎610可以修改该包含消息的通信或者生成新的通信(包含消息)以便具有特定的格式、遵守特定的协议等。在一些实例中,新的或修改后的消息可以包括附加数据,例如对应于网络设备的账户数据、消息记录和/或客户端数据。
然后,消息发送器接口660可以将该通信发送至终端设备。该发送可以包括例如通向容纳在单独外壳内的设备的有线或无线发送。终端设备可以包括在相同或不同的网络(例如,局域网)中的作为连接管理系统600的终端设备。因此,将通信发送至终端设备可以包括将通信发送至互联网连接组件或内联网连接组件。
将理解,连接管理系统600可以包括通信服务器180。例如,连接管理系统600可以启用远程控制能力,以用于在网络设备和终端设备之间的通信会话过程中控制在移动设备上运行的移动应用程序。将理解,连接管理系统600可以使用通信服务器180、网络设备105和/或终端设备115来执行如本文所述的过程800至1200中的任何一个过程。
图7示出了用于实时远程控制移动应用程序的交互环境700的表示。交互环境700可以包括网络设备705、通信服务器710和终端设备715。此外,交互环境700可以促进对正在网络设备705上运行的移动应用程序的远程控制。例如,终端设备715可以远程地控制正在网络设备705上运行的移动应用程序。在一些示例中,移动应用程序(例如,本机移动应用程序)可以包括可执行的代码(存储在移动设备中或在一个或多个外部服务器处),可以使用网络设备705(例如,智能手机)的操作系统来执行该代码。在一些示例中,移动应用程序可以包括混合移动应用程序,该混合移动应用程序包括(在移动设备处生成并存储的)本机用户界面(UI)组件,但该混合移动应用程序是以解释语言(例如,使用基于Web的编码语言)来编写的。本发明不限于本机移动应用程序或混合应用程序,因此,可以在本文描述的方法中使用任何类型的移动应用程序。
网络设备705和终端设备715每者均可以包括例如便携式电子设备(例如,智能电话、平板电脑、笔记本电脑或智能可穿戴设备)或非便携式电子设备(例如,一个或多个台式计算机、智能家电、服务器和/或处理器)。此外,网络设备705可以是与终端设备715不同的设备。尽管图7示出了为智能电话的网络设备705和为台式计算机的终端设备715,但将理解的是,网络设备705和终端设备715中的每者可以是任何便携式电子设备或非便携式电子设备。
在一些实例中,网络设备705可以由用户(例如客户)操作,并且终端设备715可以由代理操作。当在网络设备处接收到与移动应用程序的选择相对应的输入时,可以执行存储在网络设备705上的该移动应用程序。例如,用户可以在表示移动应用程序的图标的位置处轻敲或触摸网络设备705的屏幕,并且可以执行移动应用程序。执行移动应用程序可以包括在网络设备705上启动或运行该应用程序。此外,移动应用程序可以包括存储在网络设备705上的程序代码。该程序代码可以包括可以嵌入该程序代码的代码(例如,软件开发工具包(SDK))的一部分。嵌入在移动应用程序中的SDK可以包括用于执行任务的指令或一组操作,该指令或一组操作使得终端设备(例如,终端设备715)能够远程地控制在网络设备(例如,网络设备705)上执行的移动应用程序。例如,程序代码在执行时可以启动移动应用程序并且可以执行图7-图12中描述的过程。在一些实例中,当移动应用程序的执行开始时,可以建立网络设备705和终端设备715之间的通信会话。例如,可以在网络设备705处接收输入,该输入对应于通过移动应用程序呈现的按钮的选择(例如,触摸或轻敲)。轻敲或触摸按钮可以使得与终端设备(例如,终端设备715)建立通信会话。通信会话可以促进在网络设备705上执行的移动应用程序的实时屏幕共享。例如,实时屏幕共享可以包括网络设备705和终端设备715之间的双向交互。在一些实例中,通信会话还可以包括语音通道或视频通道。例如,用户和代理可以在语音通道或视频通道上彼此通信。用于建立通信会话的示例方法在下面进一步详细地描述。
此外,终端设备715可以由代理操作。在一些实例中,代理可以使用在终端设备715上运行的浏览器访问网站。例如,该网站可以包括在终端设备715的浏览器上运行的控制台。代理可以使用浏览器登录该控制台。在允许代理获取对控制台或包含在控制台中的网络应用程序的访问权之前,可以使用一个或多个登录凭证(例如,用户名、密码等)来验证代理的身份。控制台的示例可以包括平台(该平台包括一个或多个API(应用程序编程接口))、包括一个或多个功能的仪表板、在能够建立或加入通信会话的网页浏览器上运行的网络托管(web-hosted)应用程序(而不需要下载插件)、以及合适的其它界面。此外,控制台可以包括可以执行的一个或多个网络应用程序或功能。该网络应用程序或功能可以在浏览器、通信服务器710、本地服务器、远程服务器或合适的其它计算设备上执行。例如,所述一个或多个网络应用程序可以建立通信会话,该通信会话用于通过移动应用程序呈现的屏幕的实时屏幕共享。在该示例中,终端设备715可以显示由在网络设备705上运行的移动应用程序呈现的屏幕。此外,操作终端设备715的代理可以控制通过(例如,使用控制台中包含的网络应用程序)建立的通信通道在网络设备705上运行的移动应用程序的各个方面(例如,输入元素)。
有利地,当移动应用程序在网络设备705上执行时,操作网络设备705的用户不需要下载任何插件或附加软件来加入或建立通信会话并且与操作终端设备715的代理共享网络设备705的屏幕。移动应用程序的程序代码包括一组操作(例如,SDK),该操作可以建立、管理和终止网络设备705与终端设备715之间的实时的屏幕共享通信会话。作为非限制性的示例,在网络设备705上执行的移动应用程序可以接收与在网络设备705的屏幕上显示的图标的选择(例如,轻敲、双轻敲、触摸、选择、点击)相对应的输入。一旦选择,该图标就可以启动移动应用程序。然后,该移动应用程序可以在网络设备705的屏幕上呈现一个或多个页面。在一些实例中,该一个或多个页面可以包括按钮,当该按钮被选择时,可以发起与操作终端设备(例如,终端设备715)的代理的通信会话。在该示例中,通信会话可以使代理能够实时地查看并控制在网络设备705上呈现的屏幕。此外,可以建立通信会话,而无需用户或代理下载任何附加插件或代码来实现网络设备的实时屏幕共享。例如,在网络设备705上执行的移动应用程序的程序代码可以包括使用户能够加入通信会话的代码(例如,SDK)的一部分。类似地,代理可以邀请用户加入通信会话以进行实时屏幕共享,而无需下载任何附加插件或代码来实现该实时屏幕共享。例如,在终端设备715的浏览器处执行(或由浏览器访问)的网络应用程序可以包括可以建立、管理或终止通信会话的功能或一组操作。
此外,作为优势,在通信会话过程中用户和代理两者都可以同时执行动作(例如,输入事件),而无需手动地将控制移交至另一者。例如,用户可以在(在网络设备705上执行的)移动应用程序内执行手动动作(例如,在文本输入框中键入文本)。监控用户的动作,以及捕获、传输并且在终端设备715上显示移动应用程序的显示屏幕的改变(例如,键入字母、放大、缩小、滚动等)。例如,可以在终端设备715上实时再现在网络设备705上执行的移动应用程序的显示屏幕的图像。此外,代理可以对图像执行动作(例如,点击),并且可以在在网络设备705处执行的移动应用程序中实时地捕获、传输和复制代理的动作。
在网络设备705处执行的移动应用程序可以由实体或客户端(例如,公司)开发。移动应用程序的程序代码可以包括实现或支持通信会话的代码(例如,库、操作、指令、进程等)的一部分,该通信会话用于在网络设备705处执行的移动应用程序的实时屏幕共享和协作浏览。例如,移动应用程序可以包括SDK,并且该SDK可以包括内置在移动应用程序中的用以在通信会话过程中支持实时远程控制能力的移动代码库。该SDK可以为移动应用程序添加功能,例如屏幕共享、远程应用程序控制、语音传输和视频传输。例如,SDK可以在Android或iOS操作系统上运行。将理解,SDK也可以在其它操作系统上运行。
作为另一示例,远程应用程序控制可以是代理远程地控制在网络设备705上执行的移动应用程序而无需在代理的物理位置处访问特定移动应用程序或网络设备的能力。远程控制的示例可以包括通过复制输入事件(例如,触摸、点击、滚动等)和文本输入(例如,键入)来控制网络设备705处的触觉的用户输入动作。此外,操作终端设备715的代理可以(或可以不)与实体或客户端相关联。通过终端设备715的浏览器访问的控制台、网站或网络应用程序可以(或可以不)与实体或客户端相关联。例如,移动应用程序可以由一实体管理或操作,并且控制台、网站或网络应用程序可以由另一实体管理或操作。
通信服务器710可以包括一个或多个服务器,该一个或多个服务器被配置为在网络设备705和终端设备715之间建立通信会话。此外,通信服务器710可以与通信服务器180相同。例如,通信服务器710可以是在通信会话过程中网络设备705和终端设备715通过其交换数据(例如,消息、媒体流、屏幕截图、事件数据等)的服务器。
在一些实例中,为了在网络设备705和终端设备715之间建立通信会话,终端设备715可以向网络设备705发送邀请消息。例如,终端设备715可以在通信服务器710上创建特定通信会话。创建特定通信会话可以包括定义通信会话的功能和设置。此外,通信服务器710可以发出针对由终端设备715创建的特定通信会话的邀请。然后终端设备715可以在邀请消息中将邀请发送至网络设备705。例如,邀请消息可以包括表示对加入该特定通信会话的请求的数据。在一些实例中,可以使用消息传送服务(例如,文本消息、异步消息传送服务器、聊天消息等)将邀请消息发送至网络设备705。如果通信服务器710接收到来自网络设备705的接受消息,则网络设备705可以加入在通信服务器710上创建的特定会话。例如,通信会话可以以网络设备705和终端设备715之间的握手开始。在一些实例中,通信会话可以是实时通信会话,该实时通信会话使得终端设备715能够远程控制在网络设备705上运行(例如,执行)的应用程序。有利地,如果操作网络设备705的用户正在经历在网络设备705上执行的移动应用程序的问题,则可以使用通信服务器710建立通信会话,这允许终端设备715与网络设备705的用户协作地操纵该移动应用程序。
在一些实例中,终端设备715可以从应用程序服务器(例如,与嵌入到在网络设备705上执行的应用程序中的SDK进行通信的服务器)请求服务标识符。在一些实例中,所述服务标识符可以是数据的任何字母数字串,并且可以使用任何通信手段被发送至网络设备705。例如,可以使用文本消息、电子邮件、通过电话呼叫、聊天消息、IP语音呼叫和合适的其它通信手段将服务标识符发送至网络设备705。此外,网络设备705可以从应用程序服务器获得服务标识符。网络设备705可以使用该服务标识符从通信服务器710请求通信会话。在接受所述请求之后,可以建立终端设备715和网络设备705之间的通信会话。在一些实例中,在网络设备705上执行的移动应用程序可以接收与(在网络设备705上执行的应用程序内的)按钮的选择(例如,点击、轻敲、触摸)相对应的输入。在选择按钮之后,网络设备可以自动地连接至可用的终端设备,并且可以开始网络设备和终端设备之间的实时通信会话。
参考图7的示例性说明,当执行时,移动应用程序可以包括在网络设备705上显示的一个或多个页面。将理解,移动应用程序可以在网络设备705上呈现任意数量的页面。例如,移动应用程序可以呈现显示页720,该显示页可以包括输入元素725、730和735。显示页720可以是包括任何数量的输入元素的页面,或者是根本没有输入元素的页面。此外,显示页720可以包括背景图像、前景图像或任何(一个或多个)其它图像的任意组合。在一些实例中,显示页720可以是交互式的,因为显示页720可以响应由操作网络设备705的用户提供的交互或输入。例如,显示页720可以由操作网络设备705的用户滚动(例如,向上、向下、侧向)、放大、缩小或进行任何合适的其它交互。
输入元素可以是被配置为接收输入数据的用户界面元素。输入元素的示例可以包括按钮、单选按钮、开关、下拉菜单、分段控件、文本输入框、文本区域、滚动元素(例如,启动滚动特征的箭头)、以及合适的其它输入元素。输入元素可以处于初始状态(例如,未被选择的按钮、空文本输入框、未选择或已选择的单选按钮等)。输入元素还可以基于与操作网络设备705的用户的交互来接收输入数据。例如,文本输入框可以基于由用户在显示在网络设备705上的键盘上执行的键击(或键轻敲)来接收字符字母(例如,输入数据)。此外,输入元素可以与定义的动作和/或定义的输入边界相关联。与输入元素相关联的定义的动作和输入边界可以被编码至移动应用程序中并且可以由网络设备705的操作系统访问。定义的动作的示例可以包括切换单选按钮、选择文本输入框、将字符输入文本输入框、删除文本输入框中的字符、选择按钮、滚动显示屏幕以及合适的其它的动作。特定的输入元素可以与编码在移动应用程序中的特定的定义动作(defined action)相关联。此外,输入边界可以是用于接收输入数据(例如,键击、按钮或单选按钮的选择等)的区域。此外,输入边界可以是任何形状(例如,矩形、圆形、椭圆形、正方形等)。例如,用于文本输入框的输入边界可以包括可以键入文本的框的区域。
在一些实例中,移动应用程序可以包括内容捕获引擎765。例如,内容捕获引擎765可以被配置为连续捕获与移动应用程序相关的内容数据。内容数据的示例可以包括:在网络设备705的屏幕上显示的屏幕截图、图像、视频数据、内容、媒体等;在网络设备705的相机处捕获的视频数据;在网络设备705的麦克风处捕获的音频数据;表示输入事件(例如,轻敲、滑动、点击等)的数据,元数据(例如,与屏幕截图、图像、视频、表示输入事件的数据等相关联的元数据);以及合适的其它内容。作为非限制性的示例,在通信会话过程中,移动应用程序可以周期性地(例如,每毫秒、每秒、每几秒、每分钟等)捕获由在网络设备705上执行的移动应用程序所呈现的屏幕的屏幕截图。然后,移动应用程序可以生成包含内容数据的数据流。作为非限制性的示例,WebRTC(网络实时通信)协议可以用于编码(例如,下采样)内容数据并且生成用于通过通信服务器710发送至终端设备715的数据流。将理解,可以使用其它协议来对内容数据进行编码并且将包含该内容数据的数据流发送至终端设备715。在通信会话过程中,编码数据流(encoded data stream)可以从网络设备705发送至通信服务器710。然后,通信服务器710可以在通信会话过程中将该编码数据流发送至终端设备715,以促进与通信会话相关联的实时屏幕共享和远程控制能力。从网络设备发送的数据流可以包括通信会话、网络设备、终端设备的标识符、或与通信会话相关联的其它标识参数。
有利地,数据流包括内容数据(例如,移动应用程序的连续屏幕截图),并且事件监听器分别检测在代理的界面和/或移动应用程序处执行的输入事件。使用事件监听器使得代理能够以对网络和处理资源的通信通道施加最小负担的方式远程地控制在用户的移动设备上运行的移动应用程序。使用事件监听器可以增强终端设备和网络设备之间的实时通信的速度和可靠性。例如,可以改进用户的移动设备的操作,因为事件复制器复制由在代理的设备上操作的事件监听器检测到的事件。因为处理了一组特定的输入事件(例如,点击或轻敲)并且过滤掉了其它事件(例如,代理的光标移动),所以从代理设备发送至用户的设备的数据(例如,检测的点击的坐标)可以最少化,以便减少在用户的设备处经历的处理负荷。此外,输入事件(例如,点击,但不是光标的移动)从代理的设备发送至用户的移动设备,并且该最少量的数据减少了在通信会话过程中在用户的移动设备处经历的延迟。
当终端设备715接收到编码数据流时,终端设备715可以从该数据流中提取内容数据并显示(或输出)该内容数据。在一些实例中,终端设备715可以显示内容740。例如,内容740可以包括由在网络设备705上执行的移动应用程序呈现的屏幕的实时(例如,当前)视频。内容740可以基于在网络设备705处由内容捕获引擎765捕获的内容数据。在持续的基础上(例如,连续地)接收数据流。这样,当修改显示页720时(例如,通过向下滚动),显示页720的修改实时地表示在终端设备715上的内容740中。作为另一示例,包含在数据流中的内容数据可以包括在网络设备705的麦克风处捕获的音频数据。在该示例中,内容740可以在终端设备715处输出。此外,在该示例中,输出内容740可以包括使用终端设备715的扬声器将音频数据转换为声音,而不是如图7所示显示内容740。
事件监听器755可以包括执行功能的可执行的代码或一组操作。在一些实例中,可以在在终端设备上运行的网络浏览器处运行事件监听器755,并且在其它实例中,可以在通信服务器710处运行事件监听器755。此外,事件监听器755可以检测由代理在终端处执行的输入事件。输入事件的示例可以包括鼠标点击(单击或双击)、轻敲、双轻敲、触摸、滑动、滚动、多点触摸、施加在终端设备上并且在终端设备的运动传感器或陀螺仪处检测到的特定移动或手势、以及其它合适的输入事件。作为非限制性的示例,如果代理选择(例如,点击)内容740的位置,则可以通过事件监听器755检测到该选择(例如,点击)。
参考图7中的示例性说明,指针(pointer)745可以根据终端设备715的鼠标设备(未示出)检测到的移动而移动。例如,代理可以操作鼠标设备以围绕终端设备715的屏幕移动指针745。在任何时间,代理可以手动地执行点击750,该点击可以作为在终端设备715上运行的网络浏览器处的输入事件由事件监听器755检测。当事件监听器755检测到该在终端设备715的网络浏览器处的输入事件时,事件监听器755可以生成与检测到的该输入事件相对应的选择数据。例如,当事件监听器755检测到点击750时,事件监听器755可以确定点击750发生的位置的坐标(例如,x坐标和y坐标)。该坐标可以包含在由事件监听器755生成的选择数据中。选择数据的其它示例可以包括与点击750的处理相关联的元数据(例如,点击的时间、点击的持续时间、点击是单击还是双击等)、点击是点击左键还是点击右键、以及其它合适的数据。在事件监听器755检测到输入事件之后,事件监听器755可以生成与在终端设备715处执行的选择相关联的选择数据,然后将所述选择数据发送至通信服务器710。通信服务器710可以接收该选择数据并将该选择数据发送至网络设备705。
在一些实例中,当在网络设备705处接收到选择数据时,网络设备705可以复制(在终端设备715处检测到的)输入事件。例如,移动应用程序可以包括事件复制器760。事件复制器760可以包括执行复制输入事件的功能的可执行的代码或一组操作。此外,事件复制器760可以通过嵌入在移动应用程序中的SDK运行。在一些实例中,事件复制器760可以检索在网络设备705处接收到的选择数据,并且执行复制输入事件的功能,就像输入事件已经在网络设备705处发生一样。例如,如果选择数据包括点击750的位置的一组坐标,那么事件复制器760可以网络设备705上复制点击750,就像操作网络设备705的用户手动地执行点击750一样。在该示例中,由于点击750基于包含在选择数据中的坐标组,因此事件复制器760可以在网络设备705的相同屏幕位置处复制点击750。该组坐标可以被转换为网络设备的屏幕尺寸,网络设备可以具有与终端设备不同的屏幕尺寸。
事件复制器760可以根据网络设备705的操作系统而使用不同的过程来复制检测到的输入事件。对于支持在应用程序编程水平上调度合成事件(例如,复制事件)的操作系统,可以使用以编程方式生成合成事件来在网络设备705上复制输入事件,以复制远程生成的输入事件(例如,在终端设备715处生成的点击750)。图8进一步描述了用于在支持调度合成事件的操作系统上复制远程生成的事件的过程。例如,Android操作系统支持调度在远程设备上生成的合成事件。在一些实例中,合成事件对于这些操作系统(例如,Android)是可信的,并且合成事件触发相同的定义动作,就像操作网络设备705的用户已经执行输入事件(例如,轻敲或点击)一样。
对于不支持调度合成事件的操作系统,该操作系统可能不信任远程生成的输入事件。在不支持调度合成事件(例如,远程生成的鼠标点击)的情况下,可以不在网络设备705处复制在终端设备715处生成的输入事件。例如,iOS平台和操作系统不支持调度合成事件。然而,根据本发明的实施方式,图9描述了用于在网络设备705处模仿或复制远程生成的事件的过程,以在通信会话过程中实现远程控制能力。
在一些实例中,导航在网络设备705上执行的移动应用程序的用户可以发起与操作终端设备715的代理的通信会话的建立。在通信会话过程中,终端设备715可以远程控制在网络设备705上执行的移动应用程序。然而,隐私是主要关注点,因为代理可以查看在网络设备705上运行的移动应用程序的实时视频或图像。根据本发明的实施方式,移动应用程序可以掩藏包含敏感信息的输入元素,从而代理无法查看输入区域中包含的该敏感信息。
在一些实例中,可以在移动应用程序的程序代码中将一个或多个输入元素标记为敏感数据字段。例如,移动应用程序的程序代码可以包括与特定输入区域相关联的标志代码或元数据。与输入区域相关联的标志代码或元数据的存在可以指示该输入区域被配置为接收敏感数据(例如,用户的年薪、社会保险号等)。作为另一示例,可以通过使用由SDK提供的输入元素(例如,文本输入框)的插入类来掩藏移动应用中所包含的输入元素。此外,当移动应用程序正在执行时,移动应用程序可以监控该移动应用程序的由操作网络设备705的用户正在查看的页面。移动应用程序的每个页面可以与一个或多个输入元素的层级相关联。例如,如果移动应用程序包括两个不同的页面,则第一页面可以与包含在该第一页面上的第一输入元素的层级相关联,而第二页面可以与包含在该第二页面上的第二输入元素的层级相关联。在该示例中,如果第二页面包含预先标记的敏感输入元素,并且如果当前正在网络设备705上查看第二页面,则SDK可以确定正在查看该敏感输入元素。在一些实例中,移动应用程序中所包含的SDK可以监控正在查看的页面,以确定正在查看敏感输入元素的发生。
继续上述示例,当查看第二页面时,内容捕获引擎(例如,内容捕获引擎765)捕获第二页面的内容。例如,内容捕获引擎可以捕获第二页的屏幕截图。此外,SDK可以识别出已经捕获敏感输入元素的屏幕截图,因此,在该屏幕截图被下采样并发送至通信服务器之前,SDK可以执行用于掩藏该敏感输入元素的隐私协议。例如,该隐私协议可以在捕获的屏幕截图上搜索敏感输入元素,并确定该敏感输入元素的位置和边界(例如,输入元素的角(corner)的坐标)。此外,隐私协议使用所确定的位置和边界来确定要掩藏哪些区域。例如,隐私协议可以包含绘制算法,该绘制算法将敏感输入元素的边界内的每个像素替换成替换颜色或图案(例如,导致敏感输入元素所在的黑色矩形的黑色像素)。然后可以(例如,使用WebRTC协议)对具有掩藏区域的屏幕截图进行编码,使得当在终端设备715上再现作为内容740的屏幕截图时,再现的屏幕截图包括该掩藏区域。因此,防止代理查看包含在敏感输入元素中的原始数据,然而,当用户正在查看移动应用程序的页面时不阻挡该敏感输入元素。在一些示例中,隐私协议可以是用于保护用户和代理之间的通信的一组指令。例如,隐私协议可以被配置为掩藏移动应用程序中呈现的输入元素中所包含的敏感数据。作为另一示例,隐私协议可以被配置为显示输入元素,但是防止代理操纵包含在显示的输入元素中的任何内容数据。
将理解,在通信会话过程中,隐私协议还可以限制对移动应用程序的实时屏幕共享。例如,通信会话只能在执行移动应用程序时促进网络设备屏幕的实时屏幕共享。当移动应用程序终止(例如,关闭应用程序)时,通信会话停止,并且代理不再能够查看网络设备的实时屏幕内容。此外,如果移动应用程序仍在执行,但作为后台进程,则代理将仅看到黑色像素作为内容740。当移动应用程序不再在后台运行时,代理可以再次看到网络设备的实时屏幕内容。此外,隐私协议在被执行时可以将实时屏幕共享限制为:仅包含在移动应用程序中的所有页面的页面子集。还将理解,隐私协议可以防止对移动应用程序中的某些输入元素的输入(“读取”和“写入”两者)。例如,如果标记了特定(例如,与指示阻止读取和写入功能的标记代码相关联)的输入元素,则将阻止代理控制该特定输入元素。例如,将阻止代理选择该输入元素和输入文本字符。
在一些实例中,未授权设备(例如,黑客设备)可能寻求获得对通信会话的远程控制能力。通信服务器可以存储通信会话、网络设备、终端设备等的标识符。如果通信服务器确定未知设备(例如,没有相应的标识符的设备)已加入通信会话,则该通信服务器可以终止通信会话或从通信会话中踢出该未知设备。在一些实例中,如果操作网络设备的用户确定未授权设备已获得对通信会话的远程控制能力(例如,黑客正在远程控制在网络设备上执行的移动应用程序),则通信会话可容易地被终止。例如,用户可以简单地选择“主页”按钮(例如,或网络设备上填入主菜单的任何按钮)来终止通信会话。在其它实例中,用户可以重启网络设备,或终止移动应用程序以终止或结束通信会话(并且因此终止与通信会话相关联的远程控制能力)。
将理解,视频通道和语音通道可以并入网络设备705和终端设备715之间的通信会话中。例如,如果视频通道能力被并入用于实时屏幕共享的通信通道中,则可以在网络设备和终端设备中的每者上显示覆盖(overlay)元素。例如,覆盖元素可以包括视频馈送。在该示例中,网络设备将包含在移动应用程序上显示的覆盖元素,并且终端设备将包含在网络浏览器或网络应用程序上显示的覆盖元素。网络设备的内容捕获引擎将不捕获在移动应用程序的屏幕上显示的覆盖元素,以便避免捕获代理的屏幕截图。此外,通过防止覆盖元素被内容捕获引擎捕获,可以减少所传输的数据流的带宽。还将理解,嵌入在网络设备上执行的移动应用程序中的SDK还可以包括事件监听器,并且终端设备可以包括事件复制器。例如,如果用户轻敲移动应用程序内的不对应于输入元素的屏幕区域,则可以在SDK的事件监听器处检测到用户的轻敲并且在终端设备处视觉地复制(例如,通过在短时间内显示的圆圈来复制)。这允许代理视觉地确定用户在移动应用程序上轻敲哪里。
在一些示例中,代理可以在当前未运行移动应用程序时(例如,在待机模式下)通知用户的移动设备。当用户接受初始音频呼叫时,代理可以执行若干类型的附加邀请中的一种或多种。例如,代理可以继续在音频呼叫中与用户通话,代理可以发送用于音频-视频通信会话的邀请(在这种情况下,如果用户接受,则用户可以与之代理通话并在视觉上看到代理,反之亦然),和/或代理可以发送用于音频呼叫和可控通信会话(controllablecommunication session)的邀请,在可控通信会话中代理可以远程控制在移动设备上运行的移动应用程序。当代理呼叫时移动应用程序当前未运行时,移动应用程序可以配置为在移动设备上显示推送通知,使得当选择推送通知消息时,移动应用程序可以开始在移动设备上运行。在一些示例中,选择推送通知消息可以自动地引起可控通信会话的发起。在一些示例中,当用户选择显示在移动设备的屏幕上的推送通知消息时,例如,可以从用户请求附加信息(例如,姓名、电话号码、许可和合适的其它信息)。在一些示例中,可以不呈现推送通知,而是可以在用户的移动设备上自动地发起可控通信会话。
在一些示例中,当代理与用户通信时,通信可以逐步升级至各种水平。例如,用户可能正在聊天会话中与代理通信(例如,用户可能正在使用用户的台式电脑或用户的移动设备)。如果用户请求附加的帮助,则代理可以直接从代理的界面呼叫用户的移动电话。当用户的移动设备接收到代理的音频呼叫时,音频呼叫可以使推送通知呈现在移动设备上。例如,推送通知可以指示选择该推送通知可以发起音频呼叫、音频/视频呼叫、和/或可控通信会话,在可控通信会话中代理可以远程地控制用户对移动应用程序的使用。如果发起音频/视频呼叫,则代理和用户可以视觉地进行通信。例如,代理的界面可以显示在移动设备上的用户相机的视频馈送。作为另一示例,用户可以提供与代理共享移动设备的后置摄像头的许可。通信会话可以提升至另一类型的通信。继续上面的示例,代理可以在音频/视频呼叫过程中向移动设备发送加入可控通信会话的邀请。在用户的移动设备上,可以向用户呈现通知,这使得用户能够接受加入可控通信会话的邀请。在接受之后,例如,内容捕获引擎开始捕获用户的移动设备(其正在执行移动应用程序)的屏幕截图,并且事件复制器开始复制在代理的设备处检测到的任何事件。除了从用户的移动设备接收的视频馈送之外或代替从用户的移动设备接收的视频馈送,可以在代理的界面上显示移动应用程序的屏幕的内容。在该示例中,所述多个水平包括音频呼叫、音频/视频呼叫、以及可控通信会话。
将理解,操作终端设备的代理可以由机器人脚本而不是由人控制。例如,用户可以与由计算机程序(例如,机器人代理)控制的代理进行通信,并且该代理被配置为重放在先记录的指令集(例如,预定义的文本元素、视频、插图等)以向用户视觉地说明如何在移动应用程序中执行某些步骤。在一些示例中,人类代理可以将可控通信会话移交给机器人代理,然后该机器人代理可以在通信会话过程中执行预先记录的一组响应和/或视频。在一些示例中,人类代理可以在任何时间重新得到对可控通信会话的控制,或者机器人代理可以被配置为自动地将对可控通信会话的控制(例如,用户的移动设备的移动应用程序由代理远程地控制的情况)交回给人类代理。在这些示例中,机器人代理可以与人类代理组合工作。
还将理解,当(在可控通信会话的过程中)移动应用程序正在用户的移动设备上运行时,可以通过在(文本框内的)输入区域的像素边界内(要么由代理远程地要么由用户直接地)点击来选择显示的输入元素。然而,选择输入元素不限于在输入元素的像素边界内(例如,在文本框内)点击或轻敲。可以以其它的方式选择输入元素,例如,通过实现与每个输入元素相关联的唯一标识符。例如,以编程方式,代理可以使用与输入元素相关联的标识符来识别输入元素,然后发送代理打算在输入元素中填充的内容。在该示例中,如果与用户通信的代理是机器人代理,则机器人代理不需要分析用户屏幕的屏幕截图来(例如,通过点击)选择输入元素,而是机器人代理可以使用输入元素的标识符(例如,“用户_名称”)来识别输入元素。此外,在该示例中,机器人代理不需要检测屏幕上的输入元素的位置,而是,机器人代理被配置为访问输入元素的标识符并且可以使用该输入元素的标识符来选择输入元素。当用户的移动设备接收到表示由机器人代理选择的输入元素的数据时,移动应用程序然后将通过参考从机器人代理接收的标识符来选择输入元素。移动应用程序已经访问过所选输入元素的像素边界,因此,机器人代理不需要发送用于输入事件(例如,点击)的坐标,而是机器人代理可以发送所选输入元素的标识符和要在输入元素中填充的内容。
虽然以上描述包括显示区域掩藏以掩藏包含敏感信息的输入元素,但是另一安全措施可以包括呈现输入元素而不掩藏输入元素的内容,但是防止操纵包含在输入元素中的内容数据。例如,用户可以将文本输入至输入元素中,但代理不能,而输入元素不会从代理的视图中被掩藏。
图8示出了用于在支持调度合成事件的操作系统中复制输入事件的过程800的泳道图。过程800可以包括网络设备(例如,网络设备705)、通信服务器(例如,通信服务器710)和终端设备(例如,终端设备715)之间的交互。此外,可以执行过程800以接收(在终端设备处远程生成的)输入事件并且在网络设备处复制该输入事件。在过程800中,网络设备的操作系统可以支持合成事件(例如,在另一设备处生成的输入事件)的复制。例如,过程800中涉及的网络设备可以正在运行Android操作系统。
过程800在框802处开始,在框802中,通信服务器在与用户相关联的网络设备和与代理相关联的终端设备之间建立通信会话。在一些实例中,可以响应于由网络设备上的移动应用程序所呈现的按钮的选择来建立通信会话。例如,在移动应用程序中按钮的(例如,由用户的)选择可以使得建立通信会话。将理解,可以使用(本文描述的)其它方法来发起通信会话。
在一些实例中,可以使用在通信服务器处生成并存储的会话标识符来建立通信会话。例如,用户可以使用网络设备来检索会话标识符。在由终端设备请求时,用户可以提供会话标识符,该会话标识符在被接受时可以发起通信会话的建立。会话标识符可以是由用户手动地或由网络设备自动地提供的字母数字字符串。在一些实例中,代理和用户可以例如使用消息传送服务器来交换消息。可以使用异步通信(例如,消息之间的几分钟、几小时或几天的延迟是可接受的情况)来交换消息。例如,异步交换可以包括与即时消息传送或聊天不同的(例如,通过应用、基于网络的消息/收件箱系统或电子邮件进行的)电子消息交换。异步交换可以包括以这样的方式传送消息:发送的消息存储在消息队列或收件箱中,直到目的设备(例如,网络设备、终端设备或消息的接收者)请求呈现该消息或正在访问与所述队列或收件箱相对应的网页或应用页面。在该示例中,网络设备和终端设备之间的异步通信中的消息之一可以包括加入通信会话的邀请。用户可以接受或拒绝包含在该消息中的邀请。在接受该邀请时,可以在网络设备和终端设备之间建立通信会话。
在一些实例中,代理和用户之间的消息传送会话可以被认为是异步消息交换,其中交互以不规则的间隔在参与者之间发生。消息传送对话可以帮助向遇到移动应用程序问题的用户提供上下文或附加信息。然而,在一些实例中,消息传送对话提供有限的问题解决方案。在这些实例中,可以将用户和代理之间的消息传送对话升级成通信会话,以用于(具有同时的远程控制能力的)实时屏幕共享。例如,当代理将邀请消息发送至用户时,可以发起通信。代理可以在通信会话中选择其建议实现的一组功能。例如,功能可以包括远程应用程序控制、实时屏幕共享、视频和语音传输、以及其它合适的功能。用户可以接受或拒绝该组功能。在一些实例中,功能可以是强制性的,并且如果用户不接受,则不会建立通信会话。在其它实例中,功能可以是可选的,使得如果用户拒绝,仍然建立实时通信会话。此外,在通信会话过程中的任何时间可以调整或修改上述功能。将理解,这些功能可以包括双向语音或视频传输、单边语音或视频传输、施加在网络设备的摄像机馈送上的增强现实以及其它合适的功能的任何组合。
在一些实例中,如果通信会话意外终止,则移动应用程序可以包括重新建立终止的通信会话或者将网络设备与同一终端设备重新连接的功能。例如,当通信会话终止时,用户可以重启在网络设备上执行的移动应用程序。当重启时,移动应用程序可以呈现重新建立通信会话的选项。当在网络设备处接收到对该选项的接受时,可以重新建立通信会话。重新建立通信会话可以包括通知同一终端设备已经重启在网络设备上执行的移动应用程序。此外,同一终端设备(例如,同一代理)可以重新加入通信会话并且继续对移动应用程序的远程控制。有利地,当通信已经终止时,终端设备可以不再查看在网络设备上显示或捕获的实时内容。
根据本发明的实施方式,可以包括安全特征,以确保已经加入重新建立的通信会话的计算设备是先前参与通信会话终止之前的通信的同一终端设备。例如,通信服务器可以存储通信会话的标识符以及网络设备和终端设备的设备标识符。通信会话的标识符可以从所有的其它通信会话唯一地标识一通信会话。如果加入重新建立的通信会话的终端设备与在意外终止之前的通信会话中最初包括的终端设备不同,则通信服务器可以标识出加入重新建立的通信会话的终端设备具有与初始终端设备不同的设备标识符。然后,通信会话可以通知网络设备加入了重新建立的通信会话的终端设备与初始终端设备不同。该通知可以使操作网络设备的用户能够终止通信或等待直到初始终端设备加入所述重新建立的通信会话并阻止新加入的终端设备。在一些实例中,当通信会话建立时,移动应用程序可以确定终端设备的设备标识符(例如,MAC地址)。如果在通信会话过程中的任何时间,终端设备的设备标识符与初始设备的标识符不同,则可以通知网络设备并向网络设备提供终止通信会话或等待初始终端设备重新加入通信会话的选项。
在框804处,在通信会话过程中,网络设备可以捕获由移动应用程序呈现的内容,并且网络设备可以将捕获的内容作为数据流中的内容数据发送。网络设备可以将内容数据发送至通信服务器,然后通信服务器可以将内容数据发送至终端设备。内容数据的示例可以包括由移动应用程序呈现的图像或图像的一部分、周期性地捕获的在网络设备上呈现的移动应用程序的当前状态的屏幕截图、移动应用程序的页面当前呈现的视频数据或视频帧、音频数据、或与由移动应用程序正在呈现的当前页面相关联的元数据、以及合适的其它内容数据。在移动应用程序正在执行时可以连续地捕获内容数据。一旦应用程序关闭(例如,终止)或变为后台进程,则可以暂停内容数据(例如,屏幕截图)的定期捕获。当移动应用程序恢复时,则移动应用程序可以继续周期性地捕获该移动应用程序的屏幕的屏幕截图。
在框806处,终端设备可以从通信服务器接收内容数据。例如,内容数据可以包含在发送至终端设备的数据流中。在该示例中,可以通过对连续捕获的移动应用程序的屏幕截图进行编码来生成数据流。仅作为非限制性的示例,可以使用WebRTC协议来实现捕获的屏幕截图的编码。可以使用其它的实时通信协议来对内容数据进行编码。一旦已在终端设备处接收到数据流,就可以将数据流永久地或临时地存储在终端设备中。此外,可以从数据流中提取内容数据,然后可以处理该内容数据。
在框808处,可以在终端设备处显示内容数据。例如,当内容数据是移动应用程序的界面的视频帧时,终端设备可以在该终端设备的屏幕上显示实时视频帧。在该示例中,终端设备可以显示最新接收的视频帧。当在终端设备处接收到新的视频帧时,可以在终端设备上显示该新的视频帧。当显示一连串的视频帧时,视频帧的连续性模拟成视频。例如,如图7中所示,内容740可以是移动应用程序的屏幕截图。此外,可以利用最新捕获的屏幕截图连续地更新内容740,从而使得终端设备能够像移动应用程序呈现在网络设备上一样实时地显示该移动应用程序。
在框810处,在终端设备的网络浏览器上运行的事件监听器可以监听(例如,检测)在终端设备处执行的输入事件。例如,事件监听器可以检测代理是否已经选择(例如,轻敲、双轻敲、点击、双击、滑动等)终端设备上显示的内容数据的任何区域。在该示例中,如果终端设备显示在网络设备上呈现的界面的实时视频帧,则事件监听器可以检测代理是否已经选择(例如,点击)所显示的视频帧的任何区域(例如,代理是否点击内容740的任何区域)。
在框812处,终端设备可以基于检测到的输入事件生成选择数据,然后发送该选择数据。终端设备可以在通信会话过程中将选择数据发送至通信服务器,然后通信服务器可以将该选择数据转发至网络设备。选择数据可以与在终端设备处的选择相关联。例如,选择数据可以包括输入事件的一组坐标。在该示例中,如果输入事件是在终端设备处检测到的在内容740上的鼠标指针的点击,则可以确定所述点击的坐标。此外,点击的坐标可以包含在选择数据中。选择数据可以不限于输入事件的坐标,而是可以包括其它数据,例如与在终端设备处检测到的选择相关联的元数据。
在框814处,网络设备可以在通信会话过程中(通过通信服务器)接收选择数据。在一些实例中,选择数据可以包括在终端设备处的选择的坐标和输入事件的类型。输入事件的类型的示例可以包括点击、滑动、轻敲、双轻敲和合适的其它类型的输入事件。在框816处,执行移动应用程序的网络设备可以确定选择数据所包含的输入事件类型是否是已知的(例如,预定义的)。例如,移动应用程序可以被配置为复制某些类型的输入事件。如果输入事件不是预定义的类型,则可以丢弃所检测到的输入事件,并且过程800可以继续至框822(框816处的“否”),在框822处过程800结束。确定包含在选择数据中的输入事件类型是否是预定义类型可以包括将输入事件类型的标识符与预定义输入事件类型的列表进行比较。例如,输入事件类型可以与标识符相关联,并且预定义输入事件类型的列表可以是网络设备的操作系统可访问的。在该示例中,网络设备可以检索预定义输入事件类型的列表,并将接收到的输入事件类型与该列表进行比较。在一些实例中,预定义输入事件类型的列表可以包含在移动应用程序的程序代码中。此外,作为示例,预定义输入事件类型的列表可以包括移动应用程序的一个或多个页面中所包含的所有的各种类型的输入元素类型的列表。例如,移动应用程序可以包含一个页面,该页面包含单选按钮输入元素、文本输入框输入元素和下拉菜单输入元素。在该示例中,预定义的已知输入元素类型的列表可以包括单选按钮输入元素类型、文本输入框输入元素类型和下拉菜单输入元素类型的列表。如果输入元素类型是已知的(例如,在框816处的“是”),则过程800继续至框818。
在框818处,移动应用程序可以基于选择数据生成合成事件。在一些实例中,合成事件可以包括在远程设备(例如,终端设备)处生成并在本地设备(例如,网络设备)处复制的输入事件。例如,如果代理在内容740的区域内点击,则可以将该点击作为输入事件进行检测。该输入事件可以作为合成事件在网络设备处被复制,因为该输入事件是在远离所述网络设备的终端设备处生成的。此外,合成事件可以包括在网络设备处执行的输入事件,该输入事件不基于操作网络事件的用户的交互。而是,在网络设备处执行的输入事件基于在终端设备处检测到的远程生成的输入事件。在一些实例中,输入事件可以包括序列化的数据结构,并且可以使用网络套接字作为传输协议从终端设备发送至网络设备。
生成合成事件可以包括匹配所接收的输入事件的移动事件结构,以及利用所提供的事件数据(例如,触摸位置)填充事件结构。例如,如果包含在选择数据中的输入事件与单选按钮的选择相对应,则该输入事件可以包括与单选按钮相对应的事件结构。此外,选择数据还可以包括与输入事件对应的事件数据。例如,事件数据可以包括在终端设备处的选择的位置。在该示例中,事件数据可以包括在终端设备处的触摸位置或点击位置的坐标。当网络设备接收到输入事件时,嵌入在移动应用程序中的SDK可以生成与所接收的输入元素的事件结构相匹配的事件结构(例如,与单选按钮相对应的事件结构)。此外,嵌入在移动应用程序中的SDK可以用与所接收的输入元素相关联的事件数据(例如,触摸位置)来填充所生成的事件结构。通过生成与所接收的输入元素相匹配的事件结构,并且通过用所接收的输入元素的事件数据填充所生成的事件结构,可以在网络设备处基于在终端设备处检测到的输入事件生成合成事件。在框820处,可以将所生成的包含事件数据(例如,触摸位置)的事件结构发送至网络设备的操作系统。因为过程800中的网络设备的操作系统(例如,Android)支持合成事件(即以编程方式创建的事件)的调度,因此可以以这样的方式来复制远程生成的输入事件:使得该操作系统自动地执行与输入事件相关联的所有后续步骤(默认动作),就好像其对于实际用户输入(例如,由用户在屏幕上轻敲)一样。例如,如果输入事件是在终端设备715处对内容740上的位置的选择,则可以通过在网络设备处创建与在终端设备处生成的输入事件匹配的合成事件来在网络设备705处远程地执行该选择。
图9是用于在不支持调度合成事件的操作系统中复制输入事件的过程900的泳道图。过程900可以包括网络设备(例如,网络设备705)、通信服务器(例如,通信服务器710)和终端设备(例如,终端设备715)之间的交互。此外,可以执行过程900以接收(在终端设备处远程生成的)输入事件并且在网络设备处(例如,使用事件复制器760)复制该输入事件。然而,过程900中的网络设备的操作系统不支持合成事件(例如,在另一设备处生成的输入事件)的调度。在一些实例中,不支持调度合成事件的操作系统被限制提供对移动生成的输入事件的编程访问,并因此,不直接支持在远程设备处生成的事件的复制。例如,不支持调度合成事件的操作系统,并且因此不直接支持复制合成事件的操作系统是iOS操作系统。执行过程900以模拟远程生成的输入事件,以在通信会话过程中启用远程控制功能。此外,过程900的框902到914类似于过程800的框802到814,因此,这里省略对框902到914的描述。
在框916处,正在网络设备上运行的移动应用程序可以执行搜索算法以寻找由该移动应用程序呈现的当前页面的目标输入元素。目标输入元素可以是对应于远程生成的输入事件的输入元素。例如,该搜索算法用于寻找满足一个或多个规则的(在移动应用程序的当前页面上显示的所有输入元素中的)第一输入元素。所述一个或多个规则的示例可以包括:用于确定输入元素是否对于嵌入在移动应用程序中的SDK已知(例如,在本发明中的如上所述的预定义输入元素)的操作、用于确定输入事件的坐标是否在移动应用程序的当前页面上所显示的输入元素的边界内的操作、用于确定所寻找的输入元素(例如,目标输入元素)是否能够并且准备好接收输入的操作、以及合适的其它规则。如果在移动应用程序的当前页面上显示的输入元素满足任何规则或所述一个或多个规则的任何组合,则该输入元素可以是所述目标输入元素。
在一些实例中,搜索算法可以包括用于在由网络设备上的移动应用程序呈现的当前页面上定位目标输入元素的一个或多个操作。例如,所述一个或多个操作可以包括接收远程生成的输入事件和该输入事件的相关联的事件数据(例如,触摸或点击位置)。在该示例中,在网络设备处接收的选择数据(例如,在框914处)可以包括远程生成的输入事件和相关联的事件数据。此外,所述一个或多个操作可以包括确定由终端设备处的代理执行的点击的位置坐标(例如,P=事件x,事件y)。然后可以设置根元素。例如,根元素可以包括当前正在网络设备上查看的移动应用程序的特定页面。设置根元素可以对应于标识当前正在网络设备处查看的特定页面。根元素可以有一个或多个子元素。例如,子元素可以是由移动应用程序呈现的特定页面上的输入元素。作为另一示例,由于根元素可以对应于移动应用程序的特定页面,因此子元素可以对应于包含在该特定页面上的输入元素。
此外,所述一个或多个操作可以包括将点击位置的坐标(例如,P=事件x,事件y)和与根元素相关联的每个子元素的输入边界进行比较。例如,嵌入在移动应用程序中的SDK可以迭代地对根元素的每个子元素确定点击位置的坐标是否与该子元素的输入边界相交。在该示例中,SDK可以标识根元素,然后检索表示每个子元素的输入边界的数据。然后,SDK可以将点击位置的坐标与检索到的每个输入边界进行比较。在一些实例中,当输入元素是矩形的形状时,表示输入边界的数据可以包括位于矩形的左上角的像素位置和位于矩形的右下角的像素位置。
在框918处,移动应用程序可以确定是否找到目标输入元素。找到目标输入元素可以对应于确定点击位置的坐标与输入元素的输入边界相交(例如,点击位置在输入边界的区域内)。当已经找到目标输入元素时(例如,从框918出来的“是”),则过程900继续至框920,在框920中确定与目标输入元素相关联的定义动作。每个输入元素可以具有相关联的动作和输入边界。与输入元素相关联的动作的示例可以包括:选择按钮、切换状态开关(已检查与未检查)、分段控制、在文本输入框或文本区域中添加或删除字符、触发滚动元素、以及合适的其它动作。当已经识别目标输入元素时,移动应用程序中包含的SDK可以检索与目标输入元素的类型相对应的事件的定义动作。在框922处,可以由移动应用程序执行所述定义的动作。例如,执行所述定义的动作可以模拟移动输入事件的过程(例如,在网络设备(而不是终端设备)处本地执行的输入事件),使得可以在网络设备处无缝地复制在终端设备处生成的输入事件,以控制移动应用程序的输入元素。当尚未找到目标输入时(例如,从框918出来的“否”),则过程900继续至框924,在框924中过程900结束。
在一些实例中,某些输入元素(例如文本输入框或文本区域)支持复杂的输入操作(例如,复制、粘贴、多字符删除、换行等)。将理解,过程900还可以支持这些复杂的操作。在这些实例中,过程900可以促进输入元素的动态复制或按需复制,以便根据需要在终端设备上动态地复制输入元素。例如,如果(例如,在框920处)确定目标输入元素是文本输入框,则网络设备可以通知终端设备:目标输入元素是文本输入框。此外,网络设备还可以将文本输入框的当前内容与通知消息一起或分开地发送至终端设备。当终端设备接收到通知消息和文本输入框的当前内容时,终端设备可以生成要在实时屏幕截图图像之上显示的覆盖元素(例如,覆盖元素将显示在内容740之上)。在一些实例中,可以生成覆盖元素,使得该覆盖元素位于内容740的对应于文本输入框的图像部分的之上。因为内容740包括图像或视频数据并且是平的(flat)非结构化数据,所以代理通常不能将文本键入文本输入框。然而,在终端设备处生成的覆盖元素(例如,由网络应用程序或网络浏览器生成)可以显示在内容740的将对应于文本输入框的图像部分之上,并且可以被配置为接收来自代理的文本数据。例如,覆盖元素可以包括代理可以键入字符字母的文本框。
在一些实例中,使用通信服务器将由代理键入的每个字母发送回网络设备。在其它实例中,当代理已经完成文本输入时,整个文本串被发送至网络设备。当网络设备接收到来自终端设备的输入字符或字符串时,移动应用程序更新文本输入框的输入值,从而文本输入框填充由代理修改的更新文本。在一些实例中,由代理在终端设备处输入到覆盖元素中的文本可以附至包含在文本输入框中的原始文本。在这些实例中,文本输入框的定义动作可以是填充文本输入框的输入值中所包含的文本。例如,与文本输入框相关联的输入值可以是在移动应用程序的程序代码中编码的待填充的原始文本。当代理在覆盖元素中键入时,代理可以添加字母、删除最初包含在文本输入框中的文本的字母、在文本输入框内移动光标的位置、高亮显示文本、更改文本的格式方面(粗体、斜体、下划线等)以及对文本进行其它合适的修改。
图10示出了用于远程控制移动应用程序的过程1000的流程图。在一些实例中,过程1000可以由通信服务器(例如,通信服务器180、710)执行。过程1000还可以至少部分地由网络设备(例如,网络设备105、705)或终端设备(例如,终端设备115、715)来执行。作为示例,可以执行过程1000以使终端设备能够远程地控制在网络设备(远离终端设备)上执行的移动应用程序。此外,过程1000还可以在网络设备和终端设备之间建立通信会话,使得由网络设备上的移动应用程序呈现的内容可以与终端设备实时共享。
网络设备可以被配置为执行可以发起通信会话的移动应用程序。移动应用程序可以由终端设备远程地控制。此外,移动应用程序可以包括或呈现处于初始状态的输入元素。在一些实例中,输入元素的初始状态可以是移动应用程序执行时的输入元素的状态。输入元素的初始状态的示例可以是空文本输入框、具有初始的一组字符的文本输入框(例如,“在此处输入文本”)、未被选择的单选按钮等。
过程1000在框1005处开始,在框1005处通信服务器在网络设备和终端设备之间建立通信会话。可以使用本文描述的任何方法来建立该通信会话。例如,如上所述,网络设备可以从(例如,与移动应用程序相关联的)应用程序服务器请求服务标识符。然后,网络设备可以与通信服务器交换该服务标识符以用于加入通信会话的邀请。
在一些实例中,可以将用于实时内容共享的通信会话建立为现有通信会话的一部分。例如,可以在网络设备和终端设备之间建立用于异步消息交换的通信会话。异步交换可以包括,例如,与即时消息传送或聊天不同的(例如,通过应用、基于网络的消息/收件箱系统、或电子邮件的)电子消息交换。异步交换可以包括以这样的方式传送消息:发送的消息存储在消息队列或收件箱中,直到目的设备请求呈现该消息或正在访问与所述队列或收件箱相对应的网页或应用页面。
作为网络设备和终端设备之间的异步消息交换的一部分,终端设备可以在给网络设备的发出消息中包含邀请。该邀请可以包含数据,当该数据在网络设备处被接受时导致现有通信会话提升。提升现有通信会话可以包括建立附加通信会话作为现有通信会话的一部分。例如,附加通信会话可以呈现为在移动应用程序上或在网络设备上显示的附加窗口。作为另一示例,可以将现有异步通信会话转换为附加通信会话。在该示例中,附加通信会话可以呈现在与异步通信会话相同的窗口中。此外,在网络设备的屏幕上呈现的内容(当移动应用程序正在执行时)可以显示在附加通信会话的窗口中。
在一些实例中,还可以使用与网络设备相关联的另一设备来建立附加通信会话。例如,可以在终端设备和由用户操作的台式计算机之间建立异步消息交换。在该示例中,终端设备可以发送包含加入附加通信会话的邀请的异步消息,该异步消息用于由移动应用程序呈现的内容的实时屏幕共享。在一些实例中,用户可以使用与该用户相关联的智能手机或平板设备来接受邀请。在其它实例中,用户可以使用台式计算机接受邀请并且使用用户的智能手机接受通信会话。可以在终端设备和与用户相关联的智能手机或平板设备之间建立附加通信会话。例如,由在智能手机上执行的移动应用程序呈现的内容或在智能手机处捕获的内容(例如,音频或视频信号)可以在终端设备上实时显示。将理解,在通信会话过程中切换设备(例如,从台式计算机到智能手机)可以维持代理和用户之间的聊天消息的状态。例如,如果用户从台式计算机切换至到用户的移动设备,则用户将能够被接入与代理的对话中的相同位置。还将理解,为了确定和评估移动设备的诊断的目的,代理可以远程地控制移动设备和/或在移动设备上运行的移动应用程序。
在框1010处,通信服务器可以在通信会话过程中接收数据流。可以从网络设备接收数据流。在一些实例中,可以使用实时通信协议生成数据流。作为非限制性的示例,可以使用WebRTC协议来对在网络设备处捕获的内容的视频帧进行编码。例如,WebRTC协议可以用于对由在网络设备上执行的移动应用程序呈现的屏幕的捕获的视频帧序列进行下采样。可以处理下采样的视频帧以在网络设备处生成数据流。
在一些实例中,数据流可包括在网络设备处捕获的内容数据。内容数据可以包括由网络设备处的内容捕获引擎捕获的任何数据。在一些实例中,内容数据可以包括当移动应用程序正在执行时在网络设备处捕获的任何数据。内容数据的示例可以包括:由移动应用程序呈现的页面的图像或屏幕截图、由移动应用程序呈现的视频的视频帧、由网络设备的相机捕获的视频馈送的视频数据(例如,视频帧)、由网络设备的麦克风捕获的音频信号的音频数据、以及合适的其它媒体流或内容数据。
例如,内容数据可以包含由移动应用程序呈现的对象。在一些实例中,对象可以是在网络设备处捕获的图像(或屏幕截图)的一部分。例如,包含在内容数据中的对象可以与移动应用程序中所包含的输入元素相对应。在该示例中,当处于初始状态的输入元素是空文本输入框时,该对象可以是屏幕截图的表示该空文本输入框的部分。此外,在该示例中,对象可以包括屏幕截图的包含文本输入框的空文本框的部分。例如,在这种情况下,对象不是输入元素,而是屏幕截图的表示输入元素的图像部分。将理解,在终端设备处接收的数据流可以是由在网络设备上执行的移动应用程序所呈现的内容的视觉反馈数据(例如,在网络设备处捕获的视频的视频帧)。在终端设备处接收的视觉反馈数据不包括移动应用程序的结构(例如,页面上的输入元素的类型的数量),而是仅包括该结构的图像。在这种情况下,移动应用程序的结构包括在移动应用程序的页面上呈现的输入元素的层级。此外,在终端设备处接收的数据流可以包含或可以不包含标识正在网络设备上运行的操作系统的任何信息。有利地,本发明中所陈述的实施方式使终端设备能够控制在网络设备上执行的移动应用程序,而不管在网络设备上运行的操作系统如何。
在框1015处,通信服务器可以在通信会话过程中发送数据流(在框1010处接收的数据流)。在一些实例中,数据流可以被发送至终端设备。当在终端设备处接收到数据流时,可以在终端设备处显示或输出包含在该数据流中的内容数据。例如,该内容数据可以包括由移动应用程序呈现的内容的(接连捕获的)视频帧。在该示例中,当在终端设备处接收到内容数据时,可以在终端设备的屏幕上显示视频帧。因此,由在网络设备上执行的移动应用程序所呈现的内容的实时视频可以显示在终端设备的屏幕上用于由代理进行查看。在一些实例中,内容数据可包括在网络设备处捕获的内容。例如,内容数据可以包括在网络设备的麦克风处捕获的音频。在该示例中,内容数据包含在数据流中,并且当在终端设备处接收到该数据流时,终端设备可以输出该内容数据(例如,输出音频信号)。
在框1020处,可以检测输入事件。在一些实例中,输入事件可以由在终端设备上运行的网络浏览器来检测。例如,网络浏览器可以检测到在终端设备处生成了输入事件(例如,代理点击了鼠标按钮)。作为另一示例,网络浏览器可以接收与显示内容(例如,内容740)上的选择(例如,点击事件、轻敲事件、滑动事件等)相对应的输入。在其它的实例中,通信服务器可以接收表示在终端设备处生成的输入事件的数据(例如,表示发生点击事件的数据)。此外,通信服务器然后可以检测到所接收的数据与在终端设备处执行的输入事件相对应。可以与内容数据相关联地检测输入事件。例如,输入事件可以是点击事件,使得输入与显示内容上的该点击事件(例如,在内容740内检测到的点击事件)相对应。在一些实例中,输入事件可以由移动应用程序的事件监听器检测(例如,在用户轻敲不是由移动应用程序呈现的页面上的输入元素的位置的情况下)。
在框1025处,通信服务器可以基于检测到的输入生成控制数据。例如,检测到的输入事件的坐标(例如,在终端设备处检测到的点击事件或轻敲事件的坐标)可以包含在控制数据中。在控制数据中可以包含其它信息,例如,与检测到的输入相关联的元数据、检测到的输入事件的时间、输入事件的类型(例如,点击、轻敲、滑动)、要接收控制数据的网络设备的(一个或多个)标识符、在其上检测到输入事件的终端设备的(一个或多个)标识符、以及合适的其它信息。
在框1030处,通信服务器可以将控制数据发送至网络设备。例如,通信服务器可以确定接收控制数据的目的地的身份。在一些实例中,通信会话可以具有相应的标识符。通信会话的标识符还可以标识通信会话中涉及的网络设备和终端设备。通信服务器可以从与接收到或检测到的输入事件相关联的元数据中提取该标识符。通信服务器可以使用该提取出的标识符生成控制数据并确定控制数据的目的地。当在网络设备处接收到控制数据时,控制数据可以修改移动应用程序中包括的输入元素的初始状态。例如,当在网络设备处接收到控制数据时,移动应用程序可以处理该控制数据。在该示例中,嵌入在网络设备中的SDK可以触发事件复制器(例如,事件复制器760),以复制检测到的输入事件。使用控制数据来复制检测到的输入事件可以包括上述过程800和900中的任意过程。此外,修改由移动应用程序所呈现的输入元素的初始状态也可以包括上述过程800和900中的任意过程。将理解,可以在终端设备处生成控制数据。
图11示出了用于在网络设备处复制输入事件的过程的流程图。过程1100可以由网络设备执行。此外,可以针对不支持合成事件的调度的操作系统(例如,iOS)执行过程1100以在网络设备处(例如,使用事件复制器760)复制远程生成的输入事件。过程1100在框1105处开始,在框1105中,网络设备可以识别在网络设备上存储的移动应用程序中所包含的输入元素。例如,移动应用程序的程序代码可以包括识别输入元素的代码的一部分。程序代码可以包括识别多个输入元素的代码。输入元素可以被配置为基于交互来接收输入数据。例如,输入元素可以是文本输入框,该文本输入框被配置为基于与网络设备上所呈现的键盘上的字母的选择相对应的输入来接收文本字符。
在框1110处,可以确定与输入元素相对应的输入边界。输入边界可以是在移动应用程序的页面上呈现的用于接收与特定输入元素相关联的输入数据的区域。例如,如果移动应用程序中包含的输入元素是文本输入框,则该文本输入框的输入边界可以是可以输入文本字符的文本框。在该示例中,输入边界可以由文本框左上角的像素的位置和文本框右下角的像素的位置表示。可以通过移动应用程序呈现多个输入元素。
在框1115处,可以在网络设备处执行移动应用程序。运行网络设备可以包括在网络设备上启动应用程序。此外,执行移动应用程序可以包括显示在初始状态下的输入元素。例如,网络设备可以接收与网络设备上显示的图标的选择相对应的输入。选择图标可以启动在网络设备上的移动应用程序。当启动移动应用程序时,移动应用程序可以在网络设备的屏幕上呈现多个页面的页面。此外,移动应用程序的页面可以包括输入元素(例如,用于输入文本的文本输入框)。在一些实例中,显示处于初始状态的输入元素可以包括用该输入元素的初始输入值或在先的任何输入值来显示该输入元素。例如,输入元素的初始状态可以对应于未选择的单选按钮、未选择的按钮、空文本输入框、具有文本(例如,预先填充的文本或来自如在移动应用程序的程序代码中编码的初始输入值的文本)的文本输入框、以及合适的其它初始状态。此外,移动应用程序可以由终端设备远程地控制。
在框1120处,网络设备可以接收与终端设备处的选择相对应的输入。例如,当终端设备接收到与在所显示的内容区域(例如,内容740)上的输入事件(例如,点击事件)相对应的输入时,可以检测到该输入事件。此外,终端设备可以使用网络套接字将该输入事件发送至通信服务器。通信服务器可以将检测到的该输入事件发送或中继至网络设备。可以在网络设备处接收检测到的该输入事件作为输入。此外,接收的输入与在终端设备处检测到的选择(例如,点击事件)相对应。
在一些实例中,在终端设备处的选择(例如,点击事件)可以与选择数据相关联。选择数据可以包括与在终端设备处检测到的选择(例如,点击事件)相关联的任何数据或元数据。选择数据的示例可以包括:在终端设备处检测到的选择的像素坐标(例如,在内容740上由代理执行的点击的位置的坐标)、与选择相关联的并且由代理的网络浏览器上运行的事件监听器检测到的数据或元数据、与点击事件的处理(例如,点击750、点击的时间、点击的持续时间、点击或轻敲是单击/单轻敲还是双击/双轻敲或点击-拖动操作等)相关联的数据或元数据、点击是点击左键还是点击右键、以及合适的其它数据。将理解,在终端设备处检测到的输入事件可以是任何输入事件并且不限于点击。例如,终端设备处的输入事件还可以是滑动、轻敲、点击拖动操作、多点触摸、与终端设备相关联的可穿戴计算设备的手势以及类似输入事件。在一些实例中,选择数据可以用于识别与移动应用程序相关联的位置。例如,如果选择数据包括在终端设备处检测到的输入事件的坐标(例如,由代理在内容740上执行的点击的坐标),则当选择数据在网络设备处被接收到时,可以用于识别输入事件在网络设备的屏幕上的位置(例如,与移动应用程序相关联的输入事件的位置)。
例如,如果在终端设备处检测到的输入事件是在终端设备的屏幕上的位置(x,y)处的点击,则选择数据可以包括位置坐标。当网络设备接收到选择数据时,该网络设备可以在该网络设备上的相应位置处复制远程生成的点击。例如,网络设备可以在对应于位置(x,y)的位置处复制所述点击。将理解,可以基于每个设备的屏幕的尺寸将终端设备的位置(x,y)变换或转换成网络设备上的对应位置(x’,y’)。例如,如果网络设备具有与终端设备不同的屏幕尺寸或取向,则可以将选择数据中所包含的位置(x,y)变换为网络设备上的对应位置(x’,y’)。在一些实例中,当接收到选择数据时,网络设备可以执行位置(x,y)的变换。在其它的实例中,通信服务器或终端设备可以执行坐标的变换。
在框1125处,嵌入在网络设备中的SDK可以确定选择数据是否与输入元素相对应。确定选择数据是否与输入元素相对应可以包括识别移动应用程序的根元素(例如,当前页面)并且迭代地检查每个子元素(例如,在当前页面上呈现的输入元素),以确定所述选择的坐标是否在子元素的输入边界内。例如,根元素可以是在网络设备处接收到输入事件时的移动应用程序的当前页面或(一个或多个)特定页面。根元素可以具有子元素的关联层级。例如,根元素的子元素可以是包含在与该根元素相对应的页面上的输入元素。此外,确定选择数据是否与输入元素相对应可以包括将选择数据与输入边界进行比较。例如,对于每个子元素,嵌入在移动应用程序中的SDK可以确定选择数据的坐标是否与子元素的输入边界相交。SDK可以检索子元素的输入边界并且比较位置以确定坐标是否在该输入边界内。
在框1130处,当选择数据与输入元素相对应时,嵌入在移动应用程序中的SDK可以确定与该输入元素相关联的动作。例如,当嵌入在移动应用程序中的SDK确定输入事件的坐标与特定子元素的输入边界相交时,与该子元素相对应的该输入元素成为目标输入元素。目标输入元素可以是与在终端设备处检测到的输入事件相对应的输入元素。例如,如果查看内容740的代理在内容740的与文本输入框的图像相对应的位置上点击,则目标输入元素将是与文本输入框相对应的输入元素。SDK可以检索与目标输入元素相关联的定义动作。例如,每个输入元素可以具有在移动应用程序的程序代码中定义的关联动作。定义动作可以基于输入元素的类型。例如,用于单选按钮的动作可以是在未选择和选择之间切换单选按钮的选择;用于文本元素的动作可以是填充输入值中所包含的文本,所述输入值定义将包含在文本框中的文本;用于下拉菜单的动作可以是显示下拉列表中所包括的项目;用于与按钮的动作可以是该按钮的选择,用于表示滚动箭头的按钮的动作可以是滚动屏幕等。可以将用于特定输入元素的动作编码在移动应用程序的程序代码中。嵌入在移动应用程序中的SDK可以检索与目标输入元素相关联的动作。在框1135处,可以执行检索到的用于目标输入元素的动作。
图12示出了用于远程控制移动应用程序的另一过程的流程图。过程1200可以由网络设备执行。此外,可以执行过程1200以使在网络设备上执行的移动应用程序能够由终端设备远程地控制。此外,过程1200还可以在网络设备和终端设备之间建立通信会话,使得通过移动应用程序在网络设备上呈现的内容可以与终端设备实时共享,并且使得终端设备可以远程地控制移动应用程序。
过程1200在框1205处开始,其中,网络设备执行移动应用程序。在一些实例中,移动应用程序可以包括处于初始状态的输入元素。移动应用程序可以包括嵌入式SDK,该嵌入式SDK使终端设备能够远程地实时控制移动应用程序。当网络设备接收到与网络设备上显示的图标的选择相对应的输入时,可以执行移动应用程序。例如,输入元素的初始状态可以是移动应用程序启动时输入元素的状态(例如,选择的、未选择的、空的文本输入框等)。初始状态也可以是输入元素的最新状态或输入元素的任何在先状态。(例如,当移动应用程序接收到与启动通信会话的按钮的选择相对应的输入时)在移动应用程序已经执行之后,可以建立允许终端设备接收由移动应用程序呈现的实时内容的通信会话。
在框1210处,嵌入在移动应用程序中的SDK可以生成包含由移动应用程序呈现的内容(例如,内容数据)的数据流。例如,内容数据可以是由移动应用程序在网络设备上呈现的图像、视频帧或一个或多个页面的屏幕截图。作为另一示例,当内容数据包括图像或屏幕截图时,图像或屏幕截图可以包括由移动应用程序呈现的对象。对象可以是与输入元素相对应的图像或屏幕截图的一部分。例如,如果输入元素是单选按钮,则对象可以对应于包括该单选按钮的屏幕截图的像素。此外,生成数据流可以包括将WebRTC协议应用于内容数据,以实时生成包括该内容数据的数据流。将理解,可以使用其它的实时通信协议。此外,将理解对捕获的内容数据的任何变换(例如,视频帧的大小的变换)。
在框1215处,网络设备可以在通信会话过程中将数据流发送至通信服务器。通信服务器可以将接收的数据流发送或转发至终端设备。在一些实例中,网络设备可以将通信会话的标识符包含在数据流中,使得通信服务器可以确定哪些设备正在作为通信会话的一部分进行通信。例如,标识符还可以标识哪个网络设备和哪个终端设备已加入通信会话。当通信服务器接收到数据流时,通信服务器可以提取标识符并确定向哪个终端设备发送该数据流。此外,当通信服务器从终端设备接收到检测到的输入事件时,通信服务器可以提取包含在输入事件中或与输入事件相关联的标识符,以确定哪个网络设备将接收该输入事件。此外,当在终端设备处接收到数据流时,可以在终端设备处显示包含在该数据流中的内容数据。例如,终端设备可以在该终端设备上显示视频帧,使得通过移动应用程序所呈现的内容的实时视频可以由操作终端设备的代理查看。
在框1220处,网络设备可以接收控制数据。例如,控制数据可以与对象相关联。当通信服务器从终端设备接收到与检测到的输入事件相关联的事件数据时,通信服务器可以生成控制数据。在一些实例中,控制数据可以包括通信会话的标识符或网络设备和终端设备的标识符(例如,设备标识符)。控制数据可以包括与在终端设备处的选择相关联的选择数据。例如,在终端设备处的选择可以是检测到的例如在终端设备处执行的点击、轻敲或滑动。此外,在终端设备处的选择可以与对象相关联,因为选择可以在与输入元素相对应的对象位置(例如,与输入元素相对应的屏幕截图部分、图像部分或视频部分)处。
在框1225处,嵌入在移动应用程序中的SDK可以确定控制数据是否与输入元素相对应。例如,SDK可以从(在从控制数据提取的选择数据中所包含的)坐标来识别输入事件的位置。此外,SDK可以识别根元素(例如,由移动应用程序所呈现的当前页面),并且对于每个子元素(例如,在当前页面上呈现的输入元素),确定所述选择的坐标是否在子元素的输入边界内。如果坐标包含在输入边界内,则该子元素可以是目标输入元素。如果坐标未包含在任何子元素的输入边界内,则可以结束该过程。
在框1230处,当SDK识别出目标输入元素时,SDK可以修改该输入元素的初始状态。在一些实例中,修改输入元素的初始状态可以包括将初始状态改变为后续状态。例如,修改文本输入框的初始状态可以包括添加从终端设备接收的一个或多个字符作为该文本输入框的输入值并在文本框中填充所添加的字符。在该示例中,文本框的输入值可以是文本框的、针对文本输入框在移动应用程序代码的程序代码中编码的内容。可以基于从终端设备接收到的字符来更新输入值,以允许终端设备远程地控制由移动应用程序所呈现的文本输入框的内容。作为另一示例,修改未选择的单选按钮的初始状态可以包括将单选按钮切换成选择状态。此外,在一些实例中,修改输入元素的初始状态可以包括执行上述过程800或900。例如,修改输入元素的初始状态可以包括在输入元素的位置处复制输入事件。
在以上描述中给出了具体细节以提供对实施方式的透彻理解。然而,应当理解,可以在没有这些具体细节的情况下实践这些实施方式。例如,电路可以显示为框图,以免以不必要的细节模糊实施方式。在其它的实例中,公知的电路、过程、算法、结构和技术可以示出为没有不必要的细节,以避免模糊实施方式。
可以以各种方式完成上述技术、块、步骤和手段的实现。例如,这些技术、块、步骤和手段可以以硬件、软件或硬件和软件的组合来实现。对于硬件实现,可以在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、设计为执行上述功能的其它电子单元、和/或它们的组合内实现处理单元。
同样地,值得注意的是实施方式的部分可以被描述为过程,该过程被描绘为流程图、作业图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。此外,可以重新布置操作的顺序。过程在其操作完成时终止,但可以有附加的未包括在图中的步骤。过程可以与方法、函数、程序、子例程、子程序等相对应。当过程与函数相对应时,其终止与函数返回至调用函数或主函数相对应。
此外,实施方式可以通过硬件、软件、脚本语言、固件、中间件、微代码、硬件描述语言、和/或他们的任何组合来实现。当以软件、固件、中间件、脚本语言和/或微代码实现时,执行必要任务的程序代码或代码段可以存储在诸如存储介质的机器可读介质中。代码段或机器可执行指令可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、脚本、类,或指令、数据结构的任何组合,和/或程序声明。代码段可以通过传递和/或接收信息、数据、参数(argument或parameter)、和/或存储器内容而联接至另一代码段或硬件电路。信息、参数(argument或parameter)、数据等可以通过任何合适的方式传递、转发或传输,所述方式包括存储器共享、消息传送、票据传递、网络传输等。
对于固件和/或软件实现,可以利用执行本文描述的功能的模块(例如,程序、函数等)来实现方法。有形地体现指令的任何机器可读介质可用于实现本文描述的方法。例如,软件代码可以存储在存储器中。存储器可以在处理器内或处理器外部实现。如本文所使用的,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它的存储介质,并且不限于任何特定类型的存储器或任何数量的存储器、或者上面存储有存储器的介质的类型。
此外,如本文中所公开的,术语“存储介质”、“存储器(storage或memory)”可以表示用于存储数据的一个或多个存储器,包括只读存储器(ROM)、随机存取存储器(RAM),磁性RAM、核心存储器、磁盘存储介质、光学存储介质、闪存设备和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包括但不限于便携式或固定式存储设备、光学存储设备、无线通道、和/或能够存储包含或携带(一个或多个)指令和/或数据的各种其它存储介质。
虽然以上已结合特定装置和方法描述了本发明的原理,但是应该清楚地理解,该描述仅通过示例的方式进行,而不是作为对本发明的范围的限制。

Claims (36)

1.一种计算机实现的方法,包括:
在网络设备和终端设备之间建立通信会话,其中,所述通信会话与通信服务器相关联,并且所述网络设备与应用程序相关联;
基于所述应用程序的事件监听器代码来促进所述网络设备和所述终端设备之间的通信,所述事件监听器代码可执行以检测在所述终端设备处的一个或多个事件并生成与检测到的事件相对应的事件数据;
实时地接收所生成的所述事件数据;
基于所接收的所述事件数据在所述网络设备处实时动态地生成一个或多个合成事件,其中,动态地生成所述一个或多个合成事件包括复制所述检测到的事件中的一个或多个检测到的事件;以及
发送合成事件,其中,当在所述网络设备处接收到所述合成事件时,所述网络设备基于所述合成事件执行一个或多个动作。
2.根据权利要求1所述的方法,其中,促进所述网络设备和所述终端设备之间的通信包括促进内容数据从所述网络设备到所述终端设备的传输,并且,所述检测到的事件对应于所述内容数据。
3.根据权利要求1所述的方法,其中,所述事件监听器代码还可执行以过滤所生成的所述事件数据,以减少发送到所述网络设备的数据量。
4.根据权利要求1所述的方法,其中,所生成的所述事件数据与所述终端设备的显示器内的位置相关联。
5.根据权利要求4所述的方法,其中,所述检测到的事件指示与所述显示器内的所述位置相关联的一个或多个选择。
6.根据权利要求1所述的方法,其中,所生成的所述事件数据与关于所述终端设备的显示器内的一个或多个选择的元数据相关联。
7.根据权利要求6所述的方法,其中,所述元数据指示所述检测到的事件中的一个或多个检测到的事件的类型。
8.根据权利要求1所述的方法,还包括:
识别所述检测到的事件中的一个或多个检测到的事件的类型,其中,生成所述合成事件基于所识别的所述一个或多个检测到的事件的类型。
9.根据权利要求8所述的方法,其中,所述一个或多个检测到的事件的类型被识别为一个或多个预定义类型。
10.根据权利要求8所述的方法,还包括:
将所识别的类型的标识符与预定义事件类型的列表进行比较。
11.根据权利要求1所述的方法,其中,生成所述合成事件包括:
将所述事件中的一个或多个事件与事件结构相匹配;以及
用所接收的所述事件数据填充匹配的事件结构。
12.根据权利要求1所述的方法,其中,与所述合成事件相关联的所述事件数据包括在所述网络设备处的输入元素和与所述输入元素相关联的位置。
13.一种系统,包括:
通信接口,所述通信接口:
在网络设备和终端设备之间建立通信会话,其中,所述通信会话与通信服务器相关联,并且所述网络设备与应用程序相关联;
基于所述应用程序的事件监听器代码来促进所述网络设备和所述终端设备之间的通信,所述事件监听器代码可执行以检测在所述终端设备处的一个或多个事件并生成与检测到的事件相对应的事件数据;以及
实时地接收所生成的所述事件数据;
处理器,所述处理器执行存储在存储器中的指令,其中,所述处理器执行所述指令以基于所接收的所述事件数据在所述网络设备处实时动态地生成一个或多个合成事件,其中,动态地生成所述合成事件包括复制所述检测到的事件中的一个或多个检测到的事件;以及
其中,所述通信接口还发送合成事件,其中,当在所述网络设备处接收到所述合成事件时,所述网络设备基于所述合成事件执行一个或多个动作。
14.根据权利要求13所述的系统,其中,所述通信接口通过以下来促进所述网络设备和所述终端设备之间的通信:促进内容数据从所述网络设备到所述终端设备的传输,并且,所述检测到的事件对应于所述内容数据。
15.根据权利要求13所述的系统,其中,所述事件监听器代码还可执行以过滤所生成的所述事件数据,以减少发送到所述网络设备的数据量。
16.根据权利要求13所述的系统,其中,所生成的所述事件数据与所述终端设备的显示器内的位置相关联。
17.根据权利要求16所述的系统,其中,所述检测到的事件指示与所述显示器内的所述位置相关联的一个或多个选择。
18.根据权利要求13所述的系统,其中,所生成的所述事件数据与关于所述终端设备的显示器内的一个或多个选择的元数据相关联。
19.根据权利要求18所述的系统,其中,所述元数据指示所述检测到的事件中的一个或多个检测到的事件的类型。
20.根据权利要求13所述的系统,所述处理器执行另外的指令以:
识别所述检测到的事件中的一个或多个检测到的事件的类型,其中,生成所述合成事件基于所识别的所述一个或多个检测到的事件的类型。
21.根据权利要求20所述的系统,其中,所述一个或多个检测到的事件的类型被识别为一个或多个预定义类型。
22.根据权利要求20所述的系统,所述处理器执行另外的指令以:
将所识别的类型的标识符与预定义事件类型的列表进行比较。
23.根据权利要求13所述的系统,其中,所述处理器通过以下来生成所述合成事件:
将所述事件中的一个或多个事件与事件结构相匹配;以及
用所接收的所述事件数据填充匹配的事件结构。
24.根据权利要求13所述的系统,其中,与所述合成事件相关联的所述事件数据包括在所述网络设备处的输入元素和与所述输入元素相关联的位置。
25.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上包含能够由处理器执行以执行以下方法的程序,所述方法包括:
在网络设备和终端设备之间建立通信会话,其中,所述通信会话与通信服务器相关联,并且所述网络设备与应用程序相关联;
基于所述应用程序的事件监听器代码来促进所述网络设备和所述终端设备之间的通信,所述事件监听器代码可执行以检测在所述终端设备处的一个或多个事件并生成与检测到的事件相对应的事件数据;
实时地接收所生成的所述事件数据;
基于所接收的所述事件数据在所述网络设备处实时动态地生成一个或多个合成事件,其中,动态地生成所述合成事件包括复制所述检测到的事件中的一个或多个检测到的事件;以及
发送合成事件,其中,当在所述网络设备处接收到所述合成事件时,所述网络设备基于所述合成事件执行一个或多个动作。
26.根据权利要求25所述的非暂时性计算机可读存储介质,其中,促进所述网络设备和所述终端设备之间的通信包括促进内容数据从所述网络设备到所述终端设备的传输,并且,所述检测到的事件对应于所述内容数据。
27.根据权利要求25所述的非暂时性计算机可读存储介质,其中,所述事件监听器代码还可执行以过滤所生成的所述事件数据,以减少发送到所述网络设备的数据量。
28.根据权利要求25所述的非暂时性计算机可读存储介质,其中,所生成的所述事件数据与所述终端设备的显示器内的位置相关联。
29.根据权利要求28所述的非暂时性计算机可读存储介质,其中,所述检测到的事件指示与所述显示器内的所述位置相关联的一个或多个选择。
30.根据权利要求25所述的非暂时性计算机可读存储介质,其中,所生成的所述事件数据与关于所述终端设备的显示器内的一个或多个选择的元数据相关联。
31.根据权利要求30所述的非暂时性计算机可读存储介质,其中,所述元数据指示所述检测到的事件中的一个或多个检测到的事件的类型。
32.根据权利要求25所述的非暂时性计算机可读存储介质,其中,所述方法还包括:
识别所述检测到的事件中的一个或多个检测到的事件的类型,其中,生成所述合成事件基于所识别的所述一个或多个检测到的事件的类型。
33.根据权利要求32所述的非暂时性计算机可读存储介质,其中,所述一个或多个检测到的事件的类型被识别为一个或多个预定义类型。
34.根据权利要求32所述的非暂时性计算机可读存储介质,其中,所述方法还包括:
将所识别的类型的标识符与预定义事件类型的列表进行比较。
35.根据权利要求25所述的非暂时性计算机可读存储介质,其中,生成所述合成事件包括:
将所述事件中的一个或多个事件与事件结构相匹配;以及
用所接收的所述事件数据填充匹配的事件结构。
36.根据权利要求25所述的非暂时性计算机可读存储介质,其中,与所述合成事件相关联的所述事件数据包括在所述网络设备处的输入元素和与所述输入元素相关联的位置。
CN202310496145.4A 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的方法和系统 Pending CN116528220A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662374892P 2016-08-14 2016-08-14
US62/374,892 2016-08-14
PCT/US2017/046550 WO2018034989A1 (en) 2016-08-14 2017-08-11 Systems and methods for real-time remote control of mobile applications
CN201780063704.5A CN109844717B (zh) 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的系统和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780063704.5A Division CN109844717B (zh) 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的系统和方法

Publications (1)

Publication Number Publication Date
CN116528220A true CN116528220A (zh) 2023-08-01

Family

ID=59762040

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201780063704.5A Active CN109844717B (zh) 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的系统和方法
CN202310496348.3A Pending CN116521299A (zh) 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的方法和装置
CN202310496145.4A Pending CN116528220A (zh) 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的方法和系统

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201780063704.5A Active CN109844717B (zh) 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的系统和方法
CN202310496348.3A Pending CN116521299A (zh) 2016-08-14 2017-08-11 用于移动应用程序的实时远程控制的方法和装置

Country Status (7)

Country Link
US (4) US10278065B2 (zh)
EP (2) EP3497560B1 (zh)
JP (3) JP6983887B2 (zh)
CN (3) CN109844717B (zh)
AU (3) AU2017312875B2 (zh)
CA (1) CA3033743A1 (zh)
WO (1) WO2018034989A1 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738732B2 (en) 2005-09-14 2014-05-27 Liveperson, Inc. System and method for performing follow up based on user interactions
US9432468B2 (en) 2005-09-14 2016-08-30 Liveperson, Inc. System and method for design and dynamic generation of a web page
US8762313B2 (en) 2008-07-25 2014-06-24 Liveperson, Inc. Method and system for creating a predictive model for targeting web-page to a surfer
US8805844B2 (en) 2008-08-04 2014-08-12 Liveperson, Inc. Expert search
US9892417B2 (en) 2008-10-29 2018-02-13 Liveperson, Inc. System and method for applying tracing tools for network locations
US8918465B2 (en) 2010-12-14 2014-12-23 Liveperson, Inc. Authentication of service requests initiated from a social networking site
US9350598B2 (en) 2010-12-14 2016-05-24 Liveperson, Inc. Authentication of service requests using a communications initiation feature
US8805941B2 (en) 2012-03-06 2014-08-12 Liveperson, Inc. Occasionally-connected computing interface
US9563336B2 (en) 2012-04-26 2017-02-07 Liveperson, Inc. Dynamic user interface customization
US9672196B2 (en) 2012-05-15 2017-06-06 Liveperson, Inc. Methods and systems for presenting specialized content using campaign metrics
CA2988120A1 (en) 2015-06-02 2016-12-08 Liveperson, Inc. Dynamic communication routing based on consistency weighting and routing rules
US10075482B2 (en) * 2015-09-25 2018-09-11 International Business Machines Corporation Multiplexed, multimodal conferencing
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10725761B2 (en) * 2016-06-10 2020-07-28 Apple Inc. Providing updated application data for previewing applications on a display
CA3033743A1 (en) 2016-08-14 2018-02-22 Liveperson, Inc. Systems and methods for real-time remote control of mobile applications
FR3057080A1 (fr) * 2016-09-30 2018-04-06 Orange Procede de restitution d'une pluralite de messages echanges avec un agent conversationnel
US11055152B1 (en) * 2018-01-09 2021-07-06 Amdocs Development Limited System, method, and computer program for performing user interface synchronization
JP6678703B2 (ja) * 2018-07-18 2020-04-08 株式会社ニューメディア 制御システム、制御方法、サーバ及び制御プログラム
EP3608855A1 (en) * 2018-08-08 2020-02-12 Atos Syntel, Inc. Workflow analyzer system and methods
US11373001B2 (en) 2018-10-09 2022-06-28 GlassBox Ltd. Screen capturing and masking system and method
US10395648B1 (en) 2019-02-06 2019-08-27 Capital One Services, Llc Analysis of a topic in a communication relative to a characteristic of the communication
CN109922471A (zh) * 2019-02-15 2019-06-21 广州供电局有限公司 应用数据远程删除方法、装置、计算机设备和存储介质
US11429734B2 (en) * 2019-07-22 2022-08-30 Microsoft Technology Licensing, Llc Protection of sensitive data fields in webpages
CN113556261B (zh) * 2020-04-26 2024-02-13 阿里巴巴集团控股有限公司 数据通信方法、装置、电子设备及计算机可读存储介质
CN111857914B (zh) * 2020-07-06 2021-10-01 上海意略明数字科技股份有限公司 终端上的应用程序操作信息获取方法及装置、存储介质、终端
CN112363405A (zh) * 2020-11-09 2021-02-12 深圳康佳电子科技有限公司 一种智能家居联动控制方法、智能终端、存储介质
CN113433860A (zh) * 2021-06-25 2021-09-24 山东齐鲁数通科技有限公司 一种桌面远程控制方法及系统
US11822785B2 (en) * 2021-07-12 2023-11-21 Salesforce, Inc. Managing application focus transitions
WO2023022717A1 (en) * 2021-08-19 2023-02-23 Hewlett-Packard Development Company, L.P. Adjustments of remote access applications based on workloads
CN113938510A (zh) * 2021-09-29 2022-01-14 青岛海信移动通信技术股份有限公司 一种终端设备和终端控制方法
US20230214240A1 (en) * 2022-01-03 2023-07-06 Dynatrace Llc Method And System For Event Based, Privacy Aware Capturing Of Partial Screen Changes For Devices With restricted Resources
CN115167969B (zh) * 2022-09-07 2022-12-23 平安银行股份有限公司 基于云端的远程协同方法及装置

Family Cites Families (635)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4107443A (en) 1976-12-30 1978-08-15 General Electric Company Process for purifying impure diphenols
US6289319B1 (en) 1984-05-24 2001-09-11 Lawrence B. Lockwood Automatic business and financial transaction processing system
US4953085A (en) 1987-04-15 1990-08-28 Proprietary Financial Products, Inc. System for the operation of a financial account
US5107443A (en) * 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
JPH03180968A (ja) 1989-12-08 1991-08-06 Hitachi Ltd データベース検索方法およびこれを用いる書式付き文書出力方法
GB9024820D0 (en) 1990-11-15 1991-01-02 Davies Michael J Pharmaceutical compositions
US7051273B1 (en) 1990-11-30 2006-05-23 Microsoft Corporation Customizing forms in an electronic mail system utilizing custom field behaviors and user defined operations
US5596493A (en) 1991-04-19 1997-01-21 Meiji Milk Products Co., Ltd. Method for classifying sale amount characteristics, method for predicting sale volume, method for ordering for restocking, system for classifying sale amount characteristics and system for ordering for restocking
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
EP0555027B1 (en) 1992-02-04 1999-09-15 Ricoh Company, Ltd Information processing apparatus and method utilising useful additional information packet
US5774882A (en) 1992-03-12 1998-06-30 Keen; Regina D. Credit approval system
US5528490A (en) 1992-04-10 1996-06-18 Charles E. Hill & Associates, Inc. Electronic catalog system and method
EP0569171A1 (en) 1992-05-08 1993-11-10 Moore Business Forms, Inc. Method and apparatus for printing photographs on documents
US6292786B1 (en) 1992-05-19 2001-09-18 Incentech, Inc. Method and system for generating incentives based on substantially real-time product purchase information
US5819226A (en) 1992-09-08 1998-10-06 Hnc Software Inc. Fraud detection using predictive modeling
US5289371A (en) 1992-09-11 1994-02-22 Memorylink, Inc. System and method for routing data and communications
US6196970B1 (en) 1999-03-22 2001-03-06 Stephen J. Brown Research data collection and analysis
NZ250926A (en) 1993-02-23 1996-11-26 Moore Business Forms Inc Relational database: product, consumer and transactional data for retail shopping targeting
US6052447A (en) 1993-05-28 2000-04-18 Sprint Communications Company L.P. Method and apparatus for aggregating customer information for a telecommunications system
US5794207A (en) 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
CN1132565A (zh) 1993-08-27 1996-10-02 杰弗里·A·诺里斯 闭环金融事务处理方法和装置
US5940811A (en) 1993-08-27 1999-08-17 Affinity Technology Group, Inc. Closed loop financial transaction method and apparatus
US5583763A (en) 1993-09-09 1996-12-10 Mni Interactive Method and apparatus for recommending selections based on preferences in a multi-user system
ES2138649T3 (es) 1993-09-22 2000-01-16 Teknekron Infoswitch Corp Monitorizacion de sistemas de telecomunicaciones.
US5530793A (en) 1993-09-24 1996-06-25 Eastman Kodak Company System for custom imprinting a variety of articles with images obtained from a variety of different sources
US5517405A (en) 1993-10-14 1996-05-14 Aetna Life And Casualty Company Expert system for providing interactive assistance in solving problems such as health care management
US5611052A (en) 1993-11-01 1997-03-11 The Golden 1 Credit Union Lender direct credit evaluation and loan processing system
US5930776A (en) 1993-11-01 1999-07-27 The Golden 1 Credit Union Lender direct credit evaluation and loan processing system
US5581702A (en) 1993-12-20 1996-12-03 Intel Corporation Computer conferencing system for selectively linking and unlinking private page with public page by selectively activating linked mode and non-linked mode for each participant
JP3614880B2 (ja) 1993-12-30 2005-01-26 オリンパス株式会社 デジタルカメラ
EP0674283A3 (en) 1994-03-24 1996-03-27 At & T Global Inf Solution Order and download computerized repository resources.
US5799151A (en) 1994-04-04 1998-08-25 Hoffer; Steven M. Interactive electronic trade network and user interface
US5636346A (en) 1994-05-09 1997-06-03 The Electronic Address, Inc. Method and system for selectively targeting advertisements and programming
US5704029A (en) 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form
US5590038A (en) 1994-06-20 1996-12-31 Pitroda; Satyan G. Universal electronic transaction card including receipt storage and system and methods of conducting electronic transactions
US20060284378A1 (en) 2002-05-20 2006-12-21 Shuffle Master, Inc. Poker game with blind bet and player selectable play wager
US5563805A (en) 1994-08-16 1996-10-08 International Business Machines Corporation Multimedia context-sensitive real-time-help mechanism for use in a data processing system
GB9416673D0 (en) 1994-08-17 1994-10-12 Reuters Ltd Data exchange filtering system
US5765142A (en) 1994-08-18 1998-06-09 Creatacard Method and apparatus for the development and implementation of an interactive customer service system that is dynamically responsive to change in marketing decisions and environments
US5592378A (en) 1994-08-19 1997-01-07 Andersen Consulting Llp Computerized order entry system and method
US5797133A (en) 1994-08-31 1998-08-18 Strategic Solutions Group, Inc Method for automatically determining the approval status of a potential borrower
US6222919B1 (en) 1994-09-12 2001-04-24 Rockwell International Corporation Method and system for routing incoming telephone calls to available agents based on agent skills
US5826241A (en) 1994-09-16 1998-10-20 First Virtual Holdings Incorporated Computerized system for making payments and authenticating transactions over the internet
US5594791A (en) 1994-10-05 1997-01-14 Inventions, Inc. Method and apparatus for providing result-oriented customer service
JP3543395B2 (ja) 1994-11-17 2004-07-14 株式会社日立製作所 サービス提供および利用方法
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5850518A (en) 1994-12-12 1998-12-15 Northrup; Charles J. Access-method-independent exchange
US5857079A (en) 1994-12-23 1999-01-05 Lucent Technologies Inc. Smart card for automatic financial records
US5732400A (en) 1995-01-04 1998-03-24 Citibank N.A. System and method for a risk-based purchase of goods
US5668953A (en) 1995-02-22 1997-09-16 Sloo; Marshall Allan Method and apparatus for handling a complaint
US5696907A (en) 1995-02-27 1997-12-09 General Electric Company System and method for performing risk and credit analysis of financial service applications
JPH08235260A (ja) 1995-03-01 1996-09-13 Fujitsu Ltd マルチメディア通信システム
US5727163A (en) 1995-03-30 1998-03-10 Amazon.Com, Inc. Secure method for communicating credit card data when placing an order on a non-secure network
US6463149B1 (en) 1995-04-10 2002-10-08 Edify Corporation Web page synchronization system and method
CA2173304C (en) 1995-04-21 2003-04-29 Anthony J. Dezonno Method and system for establishing voice communications using a computer network
EP0740450B1 (en) 1995-04-24 2006-06-14 International Business Machines Corporation Method and apparatus for skill-based routing in a call center
US5774883A (en) 1995-05-25 1998-06-30 Andersen; Lloyd R. Method for selecting a seller's most profitable financing program
US5774869A (en) 1995-06-06 1998-06-30 Interactive Media Works, Llc Method for providing sponsor paid internet access and simultaneous sponsor promotion
US5806043A (en) 1995-06-06 1998-09-08 Interactive Media Works, L.L.C. Method for providing customer on-line support via prepaid internet access
US5866889A (en) 1995-06-07 1999-02-02 Citibank, N.A. Integrated full service consumer banking system and system and method for opening an account
US5664115A (en) 1995-06-07 1997-09-02 Fraser; Richard Interactive computer system to match buyers and sellers of real estate, businesses and other property using the internet
US5819236A (en) 1995-06-12 1998-10-06 Carreker-Antinori, Inc. System and method for providing advance notification of potential presentment returns due to account restrictions
US5678002A (en) 1995-07-18 1997-10-14 Microsoft Corporation System and method for providing automated customer support
US5826244A (en) 1995-08-23 1998-10-20 Xerox Corporation Method and system for providing a document service over a computer network using an automated brokered auction
US5710887A (en) 1995-08-29 1998-01-20 Broadvision Computer system and method for electronic commerce
US5784568A (en) 1995-08-31 1998-07-21 Intel Corporation Multi-party audio chat system which allows individual user utterances to be staged separately to render received utterances in order
US5850517A (en) 1995-08-31 1998-12-15 Oracle Corporation Communication link for client-server having agent which sends plurality of requests independent of client and receives information from the server independent of the server
US5878403A (en) 1995-09-12 1999-03-02 Cmsi Computer implemented automated credit application analysis and decision routing system
US5812769A (en) 1995-09-20 1998-09-22 Infonautics Corporation Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators
US5694163A (en) 1995-09-28 1997-12-02 Intel Corporation Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program
US5572643A (en) 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US6249795B1 (en) 1995-10-27 2001-06-19 At&T Corp. Personalizing the display of changes to records in an on-line repository
US6067525A (en) 1995-10-30 2000-05-23 Clear With Computers Integrated computerized sales force automation system
US5715402A (en) 1995-11-09 1998-02-03 Spot Metals Online Method and system for matching sellers and buyers of spot metals
US5838682A (en) 1995-11-28 1998-11-17 Bell Atlantic Network Services, Inc. Method and apparatus for establishing communications with a remote node on a switched network based on hypertext dialing information received from a packet network
US6088686A (en) 1995-12-12 2000-07-11 Citibank, N.A. System and method to performing on-line credit reviews and approvals
US5774870A (en) 1995-12-14 1998-06-30 Netcentives, Inc. Fully integrated, on-line interactive frequency and award redemption program
US5761640A (en) 1995-12-18 1998-06-02 Nynex Science & Technology, Inc. Name and address processor
US5918014A (en) 1995-12-27 1999-06-29 Athenium, L.L.C. Automated collaborative filtering in world wide web advertising
US5793365A (en) 1996-01-02 1998-08-11 Sun Microsystems, Inc. System and method providing a computer user interface enabling access to distributed workgroup members
US6119101A (en) 1996-01-17 2000-09-12 Personal Agents, Inc. Intelligent agents for electronic commerce
US5745654A (en) 1996-02-13 1998-04-28 Hnc Software, Inc. Fast explanations of scored observations
US5758328A (en) 1996-02-22 1998-05-26 Giovannoli; Joseph Computerized quotation system and method
US5838910A (en) 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5815663A (en) 1996-03-15 1998-09-29 The Robert G. Uomini And Louise B. Bidwell Trust Distributed posting system using an indirect reference protocol
US6044360A (en) 1996-04-16 2000-03-28 Picciallo; Michael J. Third party credit card
US6014645A (en) 1996-04-19 2000-01-11 Block Financial Corporation Real-time financial card application system
US5761647A (en) 1996-05-24 1998-06-02 Harrah's Operating Company, Inc. National customer recognition system and method
US20030195846A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US5987434A (en) 1996-06-10 1999-11-16 Libman; Richard Marc Apparatus and method for transacting marketing and sales of financial products
DE69728178T2 (de) * 1996-06-18 2005-03-10 ONTRACK Data International, Inc., Eden Prairie Vorrichtung und verfahren zur fernen datenrückgewinnung
US5862330A (en) 1996-07-16 1999-01-19 Lucent Technologies Inc. Technique for obtaining and exchanging information on wolrd wide web
US5760771A (en) 1996-07-17 1998-06-02 At & T Corp System and method for providing structured tours of hypertext files
US5956693A (en) 1996-07-19 1999-09-21 Geerlings; Huib Computer system for merchant communication to customers
US6021403A (en) 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US5862223A (en) 1996-07-24 1999-01-19 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically-assisted commercial network system designed to facilitate and support expert-based commerce
US5805159A (en) 1996-08-22 1998-09-08 International Business Machines Corporation Mobile client computer interdependent display data fields
US5819291A (en) 1996-08-23 1998-10-06 General Electric Company Matching new customer records to existing customer records in a large business database using hash key
US5907677A (en) 1996-08-23 1999-05-25 Ecall Inc. Method for establishing anonymous communication links
US6016504A (en) 1996-08-28 2000-01-18 Infospace.Com, Inc. Method and system for tracking the purchase of a product and services over the Internet
US6240396B1 (en) 1996-09-04 2001-05-29 Priceline.Com Incorporated Conditional purchase offer management system for event tickets
US6510418B1 (en) 1996-09-04 2003-01-21 Priceline.Com Incorporated Method and apparatus for detecting and deterring the submission of similar offers in a commerce system
US5958014A (en) 1996-09-24 1999-09-28 Intervoice Limited Partnership System and method for establishing a real-time agent pool between computer systems
US5764916A (en) 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US5963625A (en) 1996-09-30 1999-10-05 At&T Corp Method for providing called service provider control of caller access to pay services
US5966699A (en) 1996-10-11 1999-10-12 Zandi; Richard System and method for conducting loan auction over computer network
KR100230455B1 (ko) 1996-10-21 1999-11-15 윤종용 경영관리 자동화 시스템의 회계처리장치 및 방법
US5974446A (en) 1996-10-24 1999-10-26 Academy Of Applied Science Internet based distance learning system for communicating between server and clients wherein clients communicate with each other or with teacher using different communication techniques via common user interface
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6603487B1 (en) 1996-10-31 2003-08-05 International Business Machines Corporation System for electronically developing and processing a document
US5796393A (en) 1996-11-08 1998-08-18 Compuserve Incorporated System for intergrating an on-line service community with a foreign service
US5828839A (en) 1996-11-14 1998-10-27 Interactive Broadcaster Services Corp. Computer network chat room based on channel broadcast in real time
US6202155B1 (en) 1996-11-22 2001-03-13 Ubiq Incorporated Virtual card personalization system
US6014644A (en) 1996-11-22 2000-01-11 Pp International, Inc. Centrally coordinated communication systems with multiple broadcast data objects and response tracking
US6134533A (en) 1996-11-25 2000-10-17 Shell; Allyn M. Multi-level marketing computer network server
US5950179A (en) 1996-12-03 1999-09-07 Providian Financial Corporation Method and system for issuing a secured credit card
US5916302A (en) 1996-12-06 1999-06-29 International Business Machines Corporation Multimedia conferencing using parallel networks
US6131095A (en) 1996-12-11 2000-10-10 Hewlett-Packard Company Method of accessing a target entity over a communications network
ATE355662T1 (de) 1997-01-06 2006-03-15 Bellsouth Intellect Pty Corp Methode und system zur netzwerkverwendungserfassung
US6052730A (en) 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US5903641A (en) 1997-01-28 1999-05-11 Lucent Technologies Inc. Automatic dynamic changing of agents' call-handling assignments
US6473787B2 (en) 1997-02-06 2002-10-29 Genesys Telecommunications Laboratories, Inc. System for routing electronic mails
US6044146A (en) 1998-02-17 2000-03-28 Genesys Telecommunications Laboratories, Inc. Method and apparatus for call distribution and override with priority
US5819029A (en) 1997-02-20 1998-10-06 Brittan Communications International Corp. Third party verification system and method
US6597377B1 (en) 1997-02-25 2003-07-22 International Business Machines Corporation Web links objects
US5970478A (en) 1997-03-12 1999-10-19 Walker Asset Management Limited Partnership Method, apparatus, and program for customizing credit accounts
US6134318A (en) 1997-03-19 2000-10-17 At&T Corp System and method for telemarketing through a hypertext network
US6064987A (en) 1997-03-21 2000-05-16 Walker Digital, Llc Method and apparatus for providing and processing installment plans at a terminal
US5796952A (en) 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5945989A (en) 1997-03-25 1999-08-31 Premiere Communications, Inc. Method and apparatus for adding and altering content on websites
US6892226B1 (en) 1997-03-27 2005-05-10 Intel Corporation System for delivery of dynamic content to a client device
US6028601A (en) 1997-04-01 2000-02-22 Apple Computer, Inc. FAQ link creation between user's questions and answers
US5943478A (en) 1997-04-04 1999-08-24 Flash Communications, Inc. System for immediate popup messaging across the internet
US5832465A (en) 1997-04-07 1998-11-03 General Electric Company Method for building a self-learning evidential reasoning system
US6853984B1 (en) 1997-04-08 2005-02-08 Propay U.S.A., Inc. Method and apparatus for credit card processing via facsimile
US5895454A (en) 1997-04-17 1999-04-20 Harrington; Juliette Integrated interface for vendor/product oriented internet websites
JP3634556B2 (ja) 1997-05-12 2005-03-30 キヤノン株式会社 画像処理方法及びそのシステム
US20010013009A1 (en) 1997-05-20 2001-08-09 Daniel R. Greening System and method for computer-based marketing
US6119103A (en) 1997-05-27 2000-09-12 Visa International Service Association Financial risk prediction systems and methods therefor
US6085195A (en) 1998-06-02 2000-07-04 Xstasis, Llc Internet photo booth
US20010011262A1 (en) 1997-06-03 2001-08-02 Timothy Hoyt Photo kiosk for transmitting a photographic image
US5991740A (en) 1997-06-10 1999-11-23 Messer; Stephen Dale Data processing system for integrated tracking and management of commerce related activities on a public access network
US5949044A (en) 1997-06-13 1999-09-07 Walker Asset Management Limited Partnership Method and apparatus for funds and credit line transfers
US7039599B2 (en) 1997-06-16 2006-05-02 Doubleclick Inc. Method and apparatus for automatic placement of advertising
US6029141A (en) 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system
US20010054064A1 (en) 1997-07-02 2001-12-20 Pallipuram V. Kannan Method system and computer program product for providing customer service over the world-wide web
US6018774A (en) 1997-07-03 2000-01-25 Yobaby Productions, Llc Method and system for creating messages including image information
US6014647A (en) 1997-07-08 2000-01-11 Nizzari; Marcia M. Customer interaction tracking
AU8899398A (en) 1997-08-13 1999-03-08 Citicorp Development Center, Inc. Personal banking machine
US7376603B1 (en) 1997-08-19 2008-05-20 Fair Isaac Corporation Method and system for evaluating customers of a financial institution using customer relationship value tags
US6112190A (en) 1997-08-19 2000-08-29 Citibank, N.A. Method and system for commercial credit analysis
US5940812A (en) 1997-08-19 1999-08-17 Loanmarket Resources, L.L.C. Apparatus and method for automatically matching a best available loan to a potential borrower via global telecommunications network
US6026370A (en) 1997-08-28 2000-02-15 Catalina Marketing International, Inc. Method and apparatus for generating purchase incentive mailing based on prior purchase history
US20010056405A1 (en) 1997-09-11 2001-12-27 Muyres Matthew R. Behavior tracking and user profiling system
US5995947A (en) 1997-09-12 1999-11-30 Imx Mortgage Exchange Interactive mortgage and loan information and real-time trading system
US6272506B1 (en) 1997-09-12 2001-08-07 Doxis, Llc Computerized verification form processing system and method
US5960411A (en) 1997-09-12 1999-09-28 Amazon.Com, Inc. Method and system for placing a purchase order via a communications network
US6000832A (en) 1997-09-24 1999-12-14 Microsoft Corporation Electronic online commerce card with customer generated transaction proxy number for online transactions
AU4449797A (en) 1997-09-29 1999-04-23 Fujun Bi A multi-element confidence matching system and the method therefor
JP4077909B2 (ja) 1997-10-03 2008-04-23 富士通株式会社 帳票処理装置
US20020083167A1 (en) 1997-10-06 2002-06-27 Thomas J. Costigan Communications system and method
US5970475A (en) 1997-10-10 1999-10-19 Intelisys Electronic Commerce, Llc Electronic procurement system and method for trading partners
US6009410A (en) 1997-10-16 1999-12-28 At&T Corporation Method and system for presenting customized advertising to a user on the world wide web
US6055510A (en) 1997-10-24 2000-04-25 At&T Corp. Method for performing targeted marketing over a large computer network
US6925441B1 (en) 1997-10-27 2005-08-02 Marketswitch Corp. System and method of targeted marketing
US6131087A (en) 1997-11-05 2000-10-10 The Planning Solutions Group, Inc. Method for automatically identifying, matching, and near-matching buyers and sellers in electronic market transactions
US6134532A (en) 1997-11-14 2000-10-17 Aptex Software, Inc. System and method for optimal adaptive matching of users to most relevant entity and information in real-time
US6076100A (en) 1997-11-17 2000-06-13 Microsoft Corporation Server-side chat monitor
US6493447B1 (en) 1997-11-21 2002-12-10 Mci Communications Corporation Contact server for call center for syncronizing simultaneous telephone calls and TCP/IP communications
US6085126A (en) 1997-11-21 2000-07-04 St. Paul Stamp Works, Inc. System and method for preparing custom designs for multiple types of imprintable media
US6058428A (en) 1997-12-05 2000-05-02 Pictra, Inc. Method and apparatus for transferring digital images on a network
US6084585A (en) 1998-07-29 2000-07-04 International Business Machines Corp. System for directly accessing fields on electronic forms
US6195426B1 (en) 1997-12-11 2001-02-27 At&T Corp. Service providing customized information to queuing customers
US6049784A (en) 1997-12-16 2000-04-11 Capital One Financial Corporation Method for creating and managing a lease agreement
US6804659B1 (en) 2000-01-14 2004-10-12 Ricoh Company Ltd. Content based web advertising
US6202053B1 (en) 1998-01-23 2001-03-13 First Usa Bank, Na Method and apparatus for generating segmentation scorecards for evaluating credit risk of bank card applicants
CA2228331C (en) 1998-01-30 2002-01-15 Ibm Canada Limited-Ibm Canada Limitee A token-based deadline enforcement system for electronic document submission
GB9801978D0 (en) 1998-01-30 1998-03-25 Orbital Technologies Limited Information systems
US5943416A (en) 1998-02-17 1999-08-24 Genesys Telecommunications Laboratories, Inc. Automated survey control routine in a call center environment
US6449358B1 (en) 1998-02-17 2002-09-10 Genesys Telecommunications Laboratories, Inc. Method for predicting and managing call load by determining the optimum frequency of outbound call generation during an out-bound calling campaign from a call center
JPH11232330A (ja) 1998-02-18 1999-08-27 Hitachi Ltd マーケティングシステム
US6144991A (en) 1998-02-19 2000-11-07 Telcordia Technologies, Inc. System and method for managing interactions between users in a browser-based telecommunications network
US6381640B1 (en) 1998-09-11 2002-04-30 Genesys Telecommunications Laboratories, Inc. Method and apparatus for automated personalization and presentation of workload assignments to agents within a multimedia communication center
US6346952B1 (en) 1999-12-01 2002-02-12 Genesys Telecommunications Laboratories, Inc. Method and apparatus for summarizing previous threads in a communication-center chat session
US6535492B2 (en) 1999-12-01 2003-03-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for assigning agent-led chat sessions hosted by a communication center to available agents based on message load and agent skill-set
US6138139A (en) 1998-10-29 2000-10-24 Genesys Telecommunications Laboraties, Inc. Method and apparatus for supporting diverse interaction paths within a multimedia communication center
US6170011B1 (en) 1998-09-11 2001-01-02 Genesys Telecommunications Laboratories, Inc. Method and apparatus for determining and initiating interaction directionality within a multimedia communication center
US6167395A (en) 1998-09-11 2000-12-26 Genesys Telecommunications Laboratories, Inc Method and apparatus for creating specialized multimedia threads in a multimedia communication center
GB9803819D0 (en) 1998-02-24 1998-04-22 Philips Electronics Nv Context sensitive web communications
US20020059095A1 (en) 1998-02-26 2002-05-16 Cook Rachael Linette System and method for generating, capturing, and managing customer lead information over a computer network
US6199079B1 (en) 1998-03-09 2001-03-06 Junglee Corporation Method and system for automatically filling forms in an integrated network based transaction environment
US6618746B2 (en) 1998-03-30 2003-09-09 Markettools, Inc. Survey communication across a network
US6230121B1 (en) 1998-03-30 2001-05-08 International Business Machines Corporation Measurement and validation of interaction and communication
US6192380B1 (en) 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6173053B1 (en) 1998-04-09 2001-01-09 Avaya Technology Corp. Optimizing call-center performance by using predictive data to distribute calls among agents
US6078892A (en) 1998-04-09 2000-06-20 International Business Machines Corporation Method for customer lead selection and optimization
US6134530A (en) 1998-04-17 2000-10-17 Andersen Consulting Llp Rule based routing system and method for a virtual sales and service center
US6192319B1 (en) 1998-04-24 2001-02-20 Cfi Group Statistical impact analysis computer system
US6385594B1 (en) 1998-05-08 2002-05-07 Lendingtree, Inc. Method and computer network for co-ordinating a loan over the internet
US6061658A (en) 1998-05-14 2000-05-09 International Business Machines Corporation Prospective customer selection using customer and market reference data
US6185543B1 (en) 1998-05-15 2001-02-06 Marketswitch Corp. Method and apparatus for determining loan prepayment scores
US6182050B1 (en) 1998-05-28 2001-01-30 Acceleration Software International Corporation Advertisements distributed on-line using target criteria screening with method for maintaining end user privacy
US6311169B2 (en) 1998-06-11 2001-10-30 Consumer Credit Associates, Inc. On-line consumer credit data reporting system
US6505176B2 (en) 1998-06-12 2003-01-07 First American Credit Management Solutions, Inc. Workflow management system for an automated credit application system
US6029890A (en) 1998-06-22 2000-02-29 Austin; Frank User-Specified credit card system
US6615189B1 (en) 1998-06-22 2003-09-02 Bank One, Delaware, National Association Debit purchasing of stored value card for use by and/or delivery to others
US6349290B1 (en) 1998-06-30 2002-02-19 Citibank, N.A. Automated system and method for customized and personalized presentation of products and services of a financial institution
US6070149A (en) 1998-07-02 2000-05-30 Activepoint Ltd. Virtual sales personnel
US6327574B1 (en) 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
WO2000008802A2 (en) 1998-08-03 2000-02-17 Doubleclick Inc. Network for distribution of re-targeted advertising
US7194436B2 (en) 1998-08-10 2007-03-20 Ford Motor Company Method and system for internet based financial auto credit application
US6438526B1 (en) 1998-09-09 2002-08-20 Frederick T. Dykes System and method for transmitting and processing loan data
US6317722B1 (en) 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6338066B1 (en) 1998-09-25 2002-01-08 International Business Machines Corporation Surfaid predictor: web-based system for predicting surfer behavior
US6920434B1 (en) 1998-09-28 2005-07-19 Genesis Three Corporation Computerized system and method for establishing a loan participation network
US6236975B1 (en) 1998-09-29 2001-05-22 Ignite Sales, Inc. System and method for profiling customers for targeted marketing
US6449646B1 (en) 1998-10-13 2002-09-10 Aspect Communications Corporation Method and apparatus for allocating mixed transaction type messages to resources via an integrated queuing mechanism
US6285983B1 (en) 1998-10-21 2001-09-04 Lend Lease Corporation Ltd. Marketing systems and methods that preserve consumer privacy
US6189003B1 (en) 1998-10-23 2001-02-13 Wynwyn.Com Inc. Online business directory with predefined search template for facilitating the matching of buyers to qualified sellers
US7742966B2 (en) 1998-10-24 2010-06-22 Marketcore.Com, Inc. Efficient market for financial products
US8010422B1 (en) 1998-11-03 2011-08-30 Nextcard, Llc On-line balance transfers
US6567791B2 (en) 1998-11-03 2003-05-20 Nextcard, Inc. Method and apparatus for a verifiable on line rejection of an application for credit
US6405181B2 (en) 1998-11-03 2002-06-11 Nextcard, Inc. Method and apparatus for real time on line credit approval
US6718313B1 (en) 1998-11-03 2004-04-06 Next Card, Inc. Integrating live chat into an online credit card application
US6324524B1 (en) 1998-11-03 2001-11-27 Nextcard, Inc. Method and apparatus for an account level offer of credit and real time balance transfer
US20050004864A1 (en) 2000-06-15 2005-01-06 Nextcard Inc. Implementing a counter offer for an on line credit card application
US6766302B2 (en) 1998-11-09 2004-07-20 Joseph Bach Method and apparatus for advertisement
WO2000028453A1 (en) 1998-11-09 2000-05-18 E-Fin, Llc Computer-driven information management system for selectively matching credit applicants with money lenders through a global communications network
US6134548A (en) 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
US6141653A (en) 1998-11-16 2000-10-31 Tradeaccess Inc System for interative, multivariate negotiations over a network
US6298348B1 (en) 1998-12-03 2001-10-02 Expanse Networks, Inc. Consumer profiling system
JP4218099B2 (ja) 1998-12-03 2009-02-04 ソニー株式会社 データベース、顧客情報検索方法及び顧客情報検索装置
US6266774B1 (en) 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
US6665395B1 (en) 1998-12-11 2003-12-16 Avaya Technology Corp. Automatic call distribution system using computer network-based communication
US6055573A (en) 1998-12-30 2000-04-25 Supermarkets Online, Inc. Communicating with a computer based on an updated purchase behavior classification of a particular consumer
US6851115B1 (en) 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US6466970B1 (en) 1999-01-27 2002-10-15 International Business Machines Corporation System and method for collecting and analyzing information about content requested in a network (World Wide Web) environment
US6925442B1 (en) 1999-01-29 2005-08-02 Elijahu Shapira Method and apparatus for evaluating vistors to a web server
JP2000242392A (ja) 1999-02-12 2000-09-08 Dbm Korea:Kk 動的な情報ディスプレイのためのコンピュータシステム及びその方法
US6334110B1 (en) 1999-03-10 2001-12-25 Ncr Corporation System and method for analyzing customer transactions and interactions
US6223165B1 (en) 1999-03-22 2001-04-24 Keen.Com, Incorporated Method and apparatus to connect consumer to expert
US6741995B1 (en) 1999-03-23 2004-05-25 Metaedge Corporation Method for dynamically creating a profile
US6519628B1 (en) 1999-03-24 2003-02-11 Live Person, Inc. Method and system for customer service using a packet switched network
US6907566B1 (en) 1999-04-02 2005-06-14 Overture Services, Inc. Method and system for optimum placement of advertisements on a webpage
US6836768B1 (en) 1999-04-27 2004-12-28 Surfnotes Method and apparatus for improved information representation
US6430539B1 (en) 1999-05-06 2002-08-06 Hnc Software Predictive modeling of consumer financial behavior
US6571234B1 (en) 1999-05-11 2003-05-27 Prophet Financial Systems, Inc. System and method for managing online message board
US6721713B1 (en) 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US7523191B1 (en) 2000-06-02 2009-04-21 Yahoo! Inc. System and method for monitoring user interaction with web pages
US6393479B1 (en) 1999-06-04 2002-05-21 Webside Story, Inc. Internet website traffic flow analysis
US7350139B1 (en) 2000-06-16 2008-03-25 American Express Travel Related Services Company, Inc. System and method for utilizing a drag and drop technique to complete electronic forms
US20020026351A1 (en) 1999-06-30 2002-02-28 Thomas E. Coleman Method and system for delivery of targeted commercial messages
US7628730B1 (en) 1999-07-08 2009-12-08 Icon Ip, Inc. Methods and systems for controlling an exercise apparatus using a USB compatible portable remote device
US6510427B1 (en) 1999-07-19 2003-01-21 Ameritech Corporation Customer feedback acquisition and processing system
US6965868B1 (en) 1999-08-03 2005-11-15 Michael David Bednarek System and method for promoting commerce, including sales agent assisted commerce, in a networked economy
US7945468B1 (en) 1999-08-20 2011-05-17 Frontline Technologies, Inc. Notification of employees via pass code accessed web pages
US6356909B1 (en) 1999-08-23 2002-03-12 Proposal Technologies Network, Inc. Web based system for managing request for proposal and responses
US6771766B1 (en) 1999-08-31 2004-08-03 Verizon Services Corp. Methods and apparatus for providing live agent assistance
US6892347B1 (en) 1999-09-16 2005-05-10 Customersat.Com, Inc. Techniques for monitoring user activities at a web site and for initiating an action when the user exits from the web site
US6839680B1 (en) 1999-09-30 2005-01-04 Fujitsu Limited Internet profiling
US20020010608A1 (en) 1999-10-08 2002-01-24 Scott Faber System for provding services in real-time overthe internet
US7346604B1 (en) 1999-10-15 2008-03-18 Hewlett-Packard Development Company, L.P. Method for ranking hypertext search results by analysis of hyperlinks from expert documents and keyword scope
US6993557B1 (en) 1999-10-25 2006-01-31 Broadon Communications Corp. Creation of customized web pages for use in a system of dynamic trading of knowledge, goods and services
GB9925289D0 (en) 1999-10-27 1999-12-29 Ibm Method and means for adjusting the timing of user-activity-dependent changes of operational state of an apparatus
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6850896B1 (en) 1999-10-28 2005-02-01 Market-Touch Corporation Method and system for managing and providing sales data using world wide web
AU1459401A (en) 1999-11-05 2001-06-06 Knowitall, Inc. Apparatus and method for selective routing of users to experts over a network ofcomputers
US6954783B1 (en) 1999-11-12 2005-10-11 Bmc Software, Inc. System and method of mediating a web page
US20010032244A1 (en) 1999-11-15 2001-10-18 Neustel Michael S. Internet based help system
GB9927371D0 (en) 1999-11-20 2000-01-19 Ncr Int Inc Processing database entries to provide predictions of future data values
US6606744B1 (en) 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US6671818B1 (en) 1999-11-22 2003-12-30 Accenture Llp Problem isolation through translating and filtering events into a standard object format in a network based supply chain
US20030004760A1 (en) 1999-12-03 2003-01-02 Schiff Martin R. Systems and methods of on-line booking of cruises
US20030036949A1 (en) 1999-12-10 2003-02-20 Karim Kaddeche Method and system for targeting internet advertisements and messages by geographic location
US20010032140A1 (en) 1999-12-14 2001-10-18 Hoffman Roger P. Virtual sales agent
US20020029188A1 (en) 1999-12-20 2002-03-07 Schmid Stephen J. Method and apparatus to facilitate competitive financing activities among myriad lenders on behalf of one borrower
US6622131B1 (en) 1999-12-23 2003-09-16 Rategenius, Inc. Method and system for auctioning loans through a computing system
US6760429B1 (en) 1999-12-23 2004-07-06 Nortel Networks Limited Web based agent backed system that provides streaming multimedia support
US20010054041A1 (en) 1999-12-29 2001-12-20 Lan Chang System and method for registering or searching in multiple relationship-searching hosts
US7003476B1 (en) 1999-12-29 2006-02-21 General Electric Capital Corporation Methods and systems for defining targeted marketing campaigns using embedded models and historical data
US6965865B2 (en) 1999-12-30 2005-11-15 Bank One Delaware N.A. System and method for integrated customer management
WO2001054388A1 (en) 2000-01-07 2001-07-26 Ineto, Inc. Customer communication service system
US6571236B1 (en) 2000-01-10 2003-05-27 General Electric Company Method and apparatus for problem diagnosis and solution
US20020004735A1 (en) 2000-01-18 2002-01-10 William Gross System and method for ranking items
US20010034689A1 (en) 2000-01-21 2001-10-25 Heilman Theodore A. Method and system of negotiating a transaction over a network
US20010027436A1 (en) 2000-02-09 2001-10-04 Tenembaum Samuel Sergio On-line market environment (OLME)
US6691159B1 (en) 2000-02-24 2004-02-10 General Electric Company Web-based method and system for providing assistance to computer users
US6889250B2 (en) 2000-03-01 2005-05-03 Amazon.Com, Inc. Method and system for information exchange between users of different web pages
US8280773B2 (en) 2000-03-13 2012-10-02 Intellions, Inc. Method and apparatus for internet customer retention
WO2001071572A2 (en) 2000-03-22 2001-09-27 Sidestep, Inc. Method and apparatus for dynamic information connection engine
AU2001250936A1 (en) 2000-03-22 2001-10-03 America To Go Llc Methods and apparatus for on-line ordering
JP2001265906A (ja) 2000-03-23 2001-09-28 Nec Corp オンラインリアルタイムモニタシステムおよびオンラインリアルタイムモニタビジネス方法
US20020023051A1 (en) 2000-03-31 2002-02-21 Kunzle Adrian E. System and method for recommending financial products to a customer based on customer needs and preferences
US6549919B2 (en) 2000-04-03 2003-04-15 Lucent Technologies Inc. Method and apparatus for updating records in a database system based on an improved model of time-dependent behavior
CA2405526A1 (en) 2000-04-03 2001-10-11 Anthony V. Pugliese, Iii System and method for displaying and selling goods and services
US6865593B1 (en) 2000-04-12 2005-03-08 Webcollege, Inc. Dynamic integration of web sites
GB2361335B (en) 2000-04-14 2003-05-07 Friendspace Inc Communications arrangement
AUPQ694700A0 (en) 2000-04-17 2000-05-11 Facilitate Systems Pty Ltd Method of advertising on the internet
US6981028B1 (en) 2000-04-28 2005-12-27 Obongo, Inc. Method and system of implementing recorded data for automating internet interactions
US20030233425A1 (en) 2000-05-04 2003-12-18 Lyons Barry C. Method and system for personal portal screen
AU6500401A (en) 2000-05-26 2001-12-11 Abova Method and system for internet sampling
US7076443B1 (en) 2000-05-31 2006-07-11 International Business Machines Corporation System and technique for automatically associating related advertisements to individual search results items of a search result set
US20080021816A1 (en) 2000-06-15 2008-01-24 Nextcard, Llc Integrating Live Chat Into an Online Credit Card Application
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
AU2001270054A1 (en) 2000-06-22 2002-01-02 Advisorteam.Com, Inc. Method and system for determining personal characteristics of an individual or group
US7080321B2 (en) 2000-06-23 2006-07-18 Aspect Software, Inc. Dynamic help option for internet customers
US6829585B1 (en) 2000-07-06 2004-12-07 General Electric Company Web-based method and system for indicating expert availability
US6662215B1 (en) 2000-07-10 2003-12-09 I Novation Inc. System and method for content optimization
US6826594B1 (en) 2000-07-15 2004-11-30 Commission Junction Method and system for remote content management of a designated portion of a web page
US20020035486A1 (en) 2000-07-21 2002-03-21 Huyn Nam Q. Computerized clinical questionnaire with dynamically presented questions
US7337127B1 (en) 2000-08-24 2008-02-26 Facecake Marketing Technologies, Inc. Targeted marketing system and method
US20020161651A1 (en) 2000-08-29 2002-10-31 Procter & Gamble System and methods for tracking consumers in a store environment
US7155508B2 (en) 2000-09-01 2006-12-26 Yodlee.Com, Inc. Target information generation and ad server
US7266510B1 (en) 2000-09-01 2007-09-04 International Business Machines Corporation Method for graphically representing clickstream data of a shopping session on a network with a parallel coordinate system
US6622138B1 (en) 2000-09-06 2003-09-16 Oracle International Corporation Method and apparatus for optimizing computation of OLAP ranking functions
US6950983B1 (en) 2000-09-07 2005-09-27 International Business Machines Corporation System and method for populating HTML forms using relational database agents
US20020038230A1 (en) 2000-09-25 2002-03-28 Li-Wen Chen User interface and method for analyzing customer behavior based upon event attributes
US7181492B2 (en) 2000-10-17 2007-02-20 Concerto Software, Inc. Transfer of an internet chat session between servers
GB2368226B (en) 2000-10-17 2004-08-25 Hewlett Packard Co Helper entity for comuunication session
CA2424588A1 (en) 2000-10-18 2002-04-25 Steve Shaya Intelligent performance-based product recommendation system
US6904408B1 (en) 2000-10-19 2005-06-07 Mccarthy John Bionet method, system and personalized web content manager responsive to browser viewers' psychological preferences, behavioral responses and physiological stress indicators
GB0025911D0 (en) 2000-10-23 2000-12-06 Amacis Ltd Classified on-line chat
US8868448B2 (en) 2000-10-26 2014-10-21 Liveperson, Inc. Systems and methods to facilitate selling of products and services
US20060015390A1 (en) 2000-10-26 2006-01-19 Vikas Rijsinghani System and method for identifying and approaching browsers most likely to transact business based upon real-time data mining
US9819561B2 (en) 2000-10-26 2017-11-14 Liveperson, Inc. System and methods for facilitating object assignments
AU2002241786B2 (en) 2000-11-02 2007-03-22 Webtrends, Inc. System and method for generating and reporting cookie values at a client node
US7287000B2 (en) 2000-11-15 2007-10-23 Jda Software Group, Inc. Configurable pricing optimization system
US20020103920A1 (en) 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
US20020111847A1 (en) 2000-12-08 2002-08-15 Word Of Net, Inc. System and method for calculating a marketing appearance frequency measurement
US20020083095A1 (en) 2000-12-13 2002-06-27 Wu Jackie Zhanhong System and methods for integration of a Web site with a repository server
US6792102B2 (en) 2000-12-29 2004-09-14 Intel Corporation Matching routed call to agent workstation
US7242760B2 (en) 2000-12-29 2007-07-10 Intel Corporation Automatic detecting when an agent is available
US20030028415A1 (en) 2001-01-19 2003-02-06 Pavilion Technologies, Inc. E-commerce system using modeling of inducements to customers
US20020107728A1 (en) 2001-02-06 2002-08-08 Catalina Marketing International, Inc. Targeted communications based on promotional response
US20020111850A1 (en) 2001-02-12 2002-08-15 Chevron Oronite Company Llc System and method for new product clearance and development
US7464045B2 (en) 2001-02-14 2008-12-09 The Workplace Helpline, Llc Method and apparatus for managing workplace services and products
US20020123926A1 (en) 2001-03-01 2002-09-05 Bushold Thomas R. System and method for implementing a loyalty program incorporating on-line and off-line transactions
US7552080B1 (en) 2001-03-09 2009-06-23 Nextcard, Llc Customized credit offer strategy based on terms specified by an applicant
US7454714B2 (en) 2001-03-30 2008-11-18 Aol Llc, A Delaware Limited Liability Company Visually distinguishing menu items
US7499948B2 (en) 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
US20020167539A1 (en) 2001-04-27 2002-11-14 International Business Machines Corporation Portal server enabling joint exploration of the internet with an expert
US7650381B2 (en) 2001-04-30 2010-01-19 Emerson Electric Co. Network based system design of custom products with live agent support
JP4953518B2 (ja) * 2001-05-14 2012-06-13 ケープレックス・インク オブジェクト指向技術を用いた情報共有方法及び装置
US20030004781A1 (en) 2001-06-18 2003-01-02 Mallon Kenneth P. Method and system for predicting aggregate behavior using on-line interest data
GB0116516D0 (en) 2001-07-06 2001-08-29 Pace Micro Tech Plc Television system
US20030014304A1 (en) 2001-07-10 2003-01-16 Avenue A, Inc. Method of analyzing internet advertising effects
CN1395383A (zh) 2001-07-10 2003-02-05 颜森辉 智能型全方位专家管理系统
US7953219B2 (en) 2001-07-19 2011-05-31 Nice Systems, Ltd. Method apparatus and system for capturing and analyzing interaction based content
US7188085B2 (en) 2001-07-20 2007-03-06 International Business Machines Corporation Method and system for delivering encrypted content with associated geographical-based advertisements
US20030023754A1 (en) 2001-07-27 2003-01-30 Matthias Eichstadt Method and system for adding real-time, interactive functionality to a web-page
US7526439B2 (en) 2001-08-06 2009-04-28 Proficient Systems, Incorporated Systems and methods to facilitate selling of products and services
US20030061091A1 (en) 2001-09-25 2003-03-27 Amaratunga Mohan Mark Systems and methods for making prediction on energy consumption of energy-consuming systems or sites
US20030080995A1 (en) 2001-10-12 2003-05-01 United Virtualities, Inc. Contextually adaptive web browser
KR20030032676A (ko) 2001-10-19 2003-04-26 인터내셔널 비지네스 머신즈 코포레이션 웹브라우저 및/또는 윈도우 탐색기의 일정부분에 광고창을표시하는 광고방법 및 시스템
US6865267B2 (en) 2001-11-27 2005-03-08 Rockwell Electronic Commerce Corp. Method and system for routing transactions in an automatic call distribution system based on non-voice dialog agent skill set
US20040034567A1 (en) 2001-11-28 2004-02-19 Gravett Antony Hugh On-line transactions and system therefore
US7219098B2 (en) 2002-01-14 2007-05-15 International Business Machines Corporation System and method for processing data in a distributed architecture
US20030140037A1 (en) 2002-01-23 2003-07-24 Kenneth Deh-Lee Dynamic knowledge expert retrieval system
US20030177096A1 (en) 2002-02-14 2003-09-18 Trent, John T. Mapped website system and method
US20030221163A1 (en) 2002-02-22 2003-11-27 Nec Laboratories America, Inc. Using web structure for classifying and describing web pages
US20030167195A1 (en) 2002-03-01 2003-09-04 Fernandes Carlos Nicholas System and method for prioritization of website visitors to provide proactive and selective sales and customer service online
US10296919B2 (en) 2002-03-07 2019-05-21 Comscore, Inc. System and method of a click event data collection platform
US8965998B1 (en) 2002-03-19 2015-02-24 Amazon Technologies, Inc. Adaptive learning methods for selecting web page components for inclusion in web pages
US7346606B2 (en) 2003-06-30 2008-03-18 Google, Inc. Rendering advertisements with documents having one or more topics using user topic interest
US7203909B1 (en) 2002-04-04 2007-04-10 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US7743044B1 (en) 2002-05-28 2010-06-22 Hewlett-Packard Development Company, L.P. Distributed information retrieval in peer-to-peer networks
US7370002B2 (en) 2002-06-05 2008-05-06 Microsoft Corporation Modifying advertisement scores based on advertisement response probabilities
US7251648B2 (en) 2002-06-28 2007-07-31 Microsoft Corporation Automatically ranking answers to database queries
JP2004054533A (ja) 2002-07-19 2004-02-19 Nippon Telegr & Teleph Corp <Ntt> 案内情報提供システム、案内情報提供方法、案内情報提供プログラム及びそのプログラムを記録した記録媒体
US20030149581A1 (en) 2002-08-28 2003-08-07 Imran Chaudhri Method and system for providing intelligent network content delivery
JP2004177936A (ja) 2002-09-02 2004-06-24 Hiromitsu Takayama 広告配信方法、広告配信システム、広告配信サーバ、クライアント端末
US7085682B1 (en) 2002-09-18 2006-08-01 Doubleclick Inc. System and method for analyzing website activity
US7865498B2 (en) 2002-09-23 2011-01-04 Worldwide Broadcast Network, Inc. Broadcast network platform system
US7716322B2 (en) 2002-09-23 2010-05-11 Alcatel-Lucent Usa Inc. Automatic exploration and testing of dynamic Web sites
US8086559B2 (en) 2002-09-24 2011-12-27 Google, Inc. Serving content-relevant advertisements with client-side device support
US7487248B2 (en) 2002-10-08 2009-02-03 Brian Moran Method and system for transferring a computer session between devices
US7136788B2 (en) 2002-10-15 2006-11-14 The Boeing Company Optimized parametric modeling system and method
US7065532B2 (en) 2002-10-31 2006-06-20 International Business Machines Corporation System and method for evaluating information aggregates by visualizing associated categories
US7123974B1 (en) 2002-11-19 2006-10-17 Rockwell Software Inc. System and methodology providing audit recording and tracking in real time industrial controller environment
US7200614B2 (en) 2002-11-27 2007-04-03 Accenture Global Services Gmbh Dual information system for contact center users
US7296230B2 (en) 2002-11-29 2007-11-13 Nippon Telegraph And Telephone Corporation Linked contents browsing support device, linked contents continuous browsing support device, and method and program therefor, and recording medium therewith
CA2511445A1 (en) 2002-12-21 2004-07-08 Sos Methods for providing technical support over networks
AU2003300404A1 (en) 2002-12-27 2004-07-29 Payscale, Inc. A surveying apparatus and method for compensation reports
US7725562B2 (en) 2002-12-31 2010-05-25 International Business Machines Corporation Method and system for user enrollment of user attribute storage in a federated environment
CA2537229C (en) 2003-05-14 2012-10-16 Collaborative Sciences And Technology, Inc. Persistent portal
US7647344B2 (en) 2003-05-29 2010-01-12 Experian Marketing Solutions, Inc. System, method and software for providing persistent entity identification and linking entity information in an integrated data repository
KR101030203B1 (ko) 2003-06-05 2011-04-22 인터트러스트 테크놀로지즈 코포레이션 P2p 서비스 편성을 위한 상호운용 시스템 및 방법
US7689432B2 (en) 2003-06-06 2010-03-30 Hayley Logistics Llc System and method for influencing recommender system & advertising based on programmed policies
KR100958924B1 (ko) 2003-06-19 2010-05-19 주식회사 케이티 발신자 정보를 이용한 망 정보 제공 시스템 및 그 방법
US8155974B2 (en) 2003-06-30 2012-04-10 At&T Intellectual Property I, L.P. Methods and systems for obtaining profile information from individuals using automation
US20050044149A1 (en) 2003-07-21 2005-02-24 Ufollowup, Llc. System and methodology for facilitating the sale of goods and services
US20050033641A1 (en) 2003-08-05 2005-02-10 Vikas Jha System, method and computer program product for presenting directed advertising to a user via a network
US7310612B2 (en) 2003-08-13 2007-12-18 Amazon.Com, Inc. Personalized selection and display of user-supplied content to enhance browsing of electronic catalogs
US8706551B2 (en) 2003-09-04 2014-04-22 Google Inc. Systems and methods for determining user actions
US20050086328A1 (en) * 2003-10-17 2005-04-21 Landram Fredrick J. Self configuring mobile device and system
US7379890B2 (en) 2003-10-17 2008-05-27 Makor Issues And Rights Ltd. System and method for profit maximization in retail industry
US20050091254A1 (en) 2003-10-23 2005-04-28 Stabb Charles W. Shell browser preview display
US20050096997A1 (en) 2003-10-31 2005-05-05 Vivek Jain Targeting shoppers in an online shopping environment
US7506260B2 (en) 2003-10-31 2009-03-17 Yahoo! Inc. Method and system of providing browser functionality through a browser button
US20050097089A1 (en) 2003-11-05 2005-05-05 Tom Nielsen Persistent user interface for providing navigational functionality
US20050132205A1 (en) 2003-12-12 2005-06-16 International Business Machines Corporation Apparatus, methods and computer programs for identifying matching resources within a data processing network
US7296026B2 (en) 2003-12-15 2007-11-13 J2 Global Communications Method and apparatus for automatically performing an online content distribution campaign
KR100446640B1 (ko) 2003-12-16 2004-09-04 주식회사 아이리스이십일 유무선 네트워크를 이용한 실시간 지식정보 검색 시스템과실시간 지식정보 검색방법 및 이에 대한 지식정보의등록관리 방법
US20050198212A1 (en) 2003-12-16 2005-09-08 Alex Zilberfayn Interactive forms processing system and method
US20050138115A1 (en) 2003-12-23 2005-06-23 Luis Llamas Real time mobile skill set information system
US7243109B2 (en) 2004-01-20 2007-07-10 Xerox Corporation Scheme for creating a ranked subject matter expert index
US20050183003A1 (en) 2004-02-17 2005-08-18 Checkpoint Software Technologies Ltd. Automatic proxy form filing
US8086492B2 (en) 2004-03-23 2011-12-27 Douglas Ashbaugh Frame-based network advertising and exchange therefor
US7689924B1 (en) 2004-03-26 2010-03-30 Google Inc. Link annotation for keyboard navigation
US8380655B2 (en) 2004-04-02 2013-02-19 Xpertuniverse, Inc. Management of expert resources using seeker profiles
US20050234761A1 (en) 2004-04-16 2005-10-20 Pinto Stephen K Predictive model development
US7562058B2 (en) 2004-04-16 2009-07-14 Fortelligent, Inc. Predictive model management using a re-entrant process
US7966391B2 (en) * 2004-05-11 2011-06-21 Todd J. Anderson Systems, apparatus and methods for managing networking devices
US7552365B1 (en) 2004-05-26 2009-06-23 Amazon Technologies, Inc. Web site system with automated processes for detecting failure events and for selecting failure events for which to request user feedback
US8477331B2 (en) 2004-05-27 2013-07-02 Property Publications Pte Ltd. Apparatus and method for creating an electronic version of printed matter
US7403973B2 (en) 2004-05-28 2008-07-22 Oracle International Corporation Managing devices and messages for users during a messaging session
US7313575B2 (en) 2004-06-14 2007-12-25 Hewlett-Packard Development Company, L.P. Data services handler
KR20050010487A (ko) 2004-06-28 2005-01-27 오성일 온라인 상에서의 학습정보 제공 방법
US8302164B2 (en) 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
WO2006011819A1 (en) 2004-07-30 2006-02-02 Eurekster, Inc. Adaptive search engine
US20060026237A1 (en) 2004-07-30 2006-02-02 Wang Richard G Method and system for instant message using HTTP URL technology
US20060041476A1 (en) 2004-08-17 2006-02-23 Zhiliang Zheng System and method for providing an expert platform
JP4633728B2 (ja) * 2004-08-19 2011-02-16 シンクプラス リミテッド 販売支援システム
CA2577841A1 (en) 2004-08-19 2006-03-02 Claria Corporation Method and apparatus for responding to end-user request for information
US7424363B2 (en) 2004-08-20 2008-09-09 Robert Bosch Corporation Method and system for adaptive navigation using a driver's route knowledge
US7865457B2 (en) 2004-08-25 2011-01-04 International Business Machines Corporation Knowledge management system automatically allocating expert resources
US20060059124A1 (en) 2004-09-16 2006-03-16 Sudhir Krishna S Central access to remotely located information
US7730010B2 (en) 2004-09-20 2010-06-01 Microsoft Corporation Method, system, and apparatus for maintaining user privacy in a knowledge interchange system
US7734503B2 (en) 2004-09-29 2010-06-08 Google, Inc. Managing on-line advertising using metrics such as return on investment and/or profit
US20060106788A1 (en) 2004-10-29 2006-05-18 Microsoft Corporation Computer-implemented system and method for providing authoritative answers to a general information search
US20060122850A1 (en) 2004-12-06 2006-06-08 Ward Mateo D Real-time Professional Services Facilitator system and method
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
WO2009021198A1 (en) 2007-08-08 2009-02-12 Baynote, Inc. Method and apparatus for context-based content recommendation
US20070206086A1 (en) 2005-01-14 2007-09-06 Experticity, Inc. On-line expert provision system and method
US7499903B2 (en) 2005-01-24 2009-03-03 Nevin James B Semantic to non-semantic routing for locating a live expert
US20060168509A1 (en) 2005-01-27 2006-07-27 International Business Machines Corporation System and method to map favorite values for specific values during electronic form filling
WO2006081680A1 (en) 2005-02-07 2006-08-10 Adzilla, Inc. Method and system of targeting content
US8538768B2 (en) 2005-02-16 2013-09-17 Ingenio Llc Methods and apparatuses for delivery of advice to mobile/wireless devices
US20090049192A1 (en) 2005-03-22 2009-02-19 Feeva Technology Inc. Systems and methods of network operation and information processing, including use of unique/anonymous identifiers throughout all stages of information processing and delivery
US7532890B2 (en) 2005-04-01 2009-05-12 Rockliffe Systems Content-based notification and user-transparent pull operation for simulated push transmission of wireless email
US9572189B2 (en) * 2005-04-20 2017-02-14 Contact At Once!, Llc. System and method for analyzing messages and initiating communication sessions
US20060253319A1 (en) 2005-05-04 2006-11-09 Microsoft Corporation Mechanism for allocating advertisements of varying intervals
US7877679B2 (en) 2005-05-04 2011-01-25 Amadesa Ltd. System and method for generating a user profile from layers based on prior user response
US8131861B2 (en) 2005-05-20 2012-03-06 Webtrends, Inc. Method for cross-domain tracking of web site traffic
US20060277477A1 (en) 2005-06-02 2006-12-07 Christenson Mark G K System and method for generating enhanced depiction of electronic files such as web files
US7904520B2 (en) 2005-06-09 2011-03-08 Trueffect, Inc. First party advertisement serving
US10510043B2 (en) 2005-06-13 2019-12-17 Skyword Inc. Computer method and apparatus for targeting advertising
US20060288087A1 (en) 2005-06-17 2006-12-21 Jiehyeong Sun Web-based method and system for providing content-driven service to internet users
US20060293950A1 (en) 2005-06-28 2006-12-28 Microsoft Corporation Automatic ad placement
US7975019B1 (en) 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic supplementation of rendered web pages with content supplied by a separate source
US7975020B1 (en) 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic updating of rendered web pages with supplemental content
US9558498B2 (en) 2005-07-29 2017-01-31 Excalibur Ip, Llc System and method for advertisement management
US20070027901A1 (en) 2005-08-01 2007-02-01 John Chan Method and System for Developing and Managing A Computer-Based Marketing Campaign
US9105028B2 (en) 2005-08-10 2015-08-11 Compete, Inc. Monitoring clickstream behavior of viewers of online advertisements and search results
US20070073585A1 (en) 2005-08-13 2007-03-29 Adstreams Roi, Inc. Systems, methods, and computer program products for enabling an advertiser to measure user viewing of and response to advertisements
US9432468B2 (en) 2005-09-14 2016-08-30 Liveperson, Inc. System and method for design and dynamic generation of a web page
US20120173373A1 (en) 2005-09-14 2012-07-05 Adam Soroca System for retrieving mobile communication facility user data from a plurality of providers
US8738732B2 (en) 2005-09-14 2014-05-27 Liveperson, Inc. System and method for performing follow up based on user interactions
US20070100653A1 (en) 2005-11-01 2007-05-03 Jorey Ramer Mobile website analyzer
US8311888B2 (en) 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US8843481B1 (en) 2005-09-30 2014-09-23 Yongyong Xu System and method of forming action based virtual communities and related search mechanisms
US7895193B2 (en) 2005-09-30 2011-02-22 Microsoft Corporation Arbitration of specialized content using search results
US20070116239A1 (en) 2005-10-11 2007-05-24 Yaniv Jacobi Method and system for providing telephone communications between a website visitor and a live agent
US20070116238A1 (en) 2005-10-11 2007-05-24 Yaniv Jacobi Method and system for on-line trading
US7734632B2 (en) 2005-10-28 2010-06-08 Disney Enterprises, Inc. System and method for targeted ad delivery
US8914301B2 (en) 2005-10-28 2014-12-16 Joyce A. Book Method and apparatus for dynamic ad creation
US20090063645A1 (en) 2005-11-30 2009-03-05 Qwest Communications Internatinal Inc. System and method for supporting messaging using a set top box
US7818340B1 (en) 2005-12-01 2010-10-19 Peter Warren Computer-implemented method and system for enabling network communication using sponsored chat links
US8732186B2 (en) 2005-12-01 2014-05-20 Peter Warren Computer-implemented method and system for enabling communication between networked users based on common characteristics
US7711607B2 (en) 2005-12-30 2010-05-04 Sap Ag Method and system for deploying a business application
US7930681B2 (en) 2005-12-30 2011-04-19 Sap Ag Service and application management in information technology systems
US8584002B2 (en) 2006-01-09 2013-11-12 Apple Inc. Automatic sub-template selection based on content
US20070185751A1 (en) 2006-01-11 2007-08-09 Dempers Ramon J Drug life cycle management system
US9336333B2 (en) 2006-02-13 2016-05-10 Linkedin Corporation Searching and reference checking within social networks
US20090119173A1 (en) 2006-02-28 2009-05-07 Buzzlogic, Inc. System and Method For Advertisement Targeting of Conversations in Social Media
CN101401422B (zh) 2006-03-08 2011-09-07 黄金富 个性化区域化商业电视广告的方法和系统
US20070239527A1 (en) 2006-03-17 2007-10-11 Adteractive, Inc. Network-based advertising trading platform and method
US8504575B2 (en) 2006-03-29 2013-08-06 Yahoo! Inc. Behavioral targeting system
US7904448B2 (en) 2006-03-29 2011-03-08 Yahoo! Inc. Incremental update of long-term and short-term user profile scores in a behavioral targeting system
US20070233902A1 (en) 2006-03-30 2007-10-04 Alan Trefler User interface methods and apparatus for rules processing
US7861176B2 (en) 2006-04-13 2010-12-28 Touchcommerce, Inc. Methods and systems for providing online chat
US20070256003A1 (en) 2006-04-24 2007-11-01 Seth Wagoner Platform for the interactive contextual augmentation of the web
EP1850284A1 (en) 2006-04-27 2007-10-31 Unigate Technologies ApS A computer system for automatically matching the requirements from a customer with the capabilites of a supplier
JP4767817B2 (ja) 2006-05-02 2011-09-07 株式会社ソニー・コンピュータエンタテインメント 通信システム、通信装置、通信プログラム、通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体
US20070265873A1 (en) 2006-05-11 2007-11-15 Sheth Urvashi Method and system for online customer relationship management
US8065666B2 (en) 2006-06-02 2011-11-22 Rockwell Automation Technologies, Inc. Change management methodologies for industrial automation and information systems
US8386509B1 (en) 2006-06-30 2013-02-26 Amazon Technologies, Inc. Method and system for associating search keywords with interest spaces
US7660815B1 (en) 2006-06-30 2010-02-09 Amazon Technologies, Inc. Method and system for occurrence frequency-based scaling of navigation path weights among online content sources
US20080006732A1 (en) 2006-07-10 2008-01-10 Autoliv Asp, Inc. Differential dual spool retractor seat belt system with motor actuator
US10181135B2 (en) 2006-07-18 2019-01-15 At&T Intellectual Property I, L.P. Method and apparatus for presenting advertisements
US20080033941A1 (en) 2006-08-07 2008-02-07 Dale Parrish Verfied network identity with authenticated biographical information
US8719047B2 (en) 2008-06-17 2014-05-06 American Well Corporation Patient directed integration of remotely stored medical information with a brokerage system
US7590550B2 (en) 2006-09-08 2009-09-15 American Well Inc. Connecting consumers with service providers
WO2008062445A2 (en) 2006-09-14 2008-05-29 Bhavin Turakhia Method for tracking user behavior and to display advertisements
US20080184129A1 (en) 2006-09-25 2008-07-31 David Cancel Presenting website analytics associated with a toolbar
GB2435730B (en) 2006-11-02 2008-02-20 Cvon Innovations Ltd Interactive communications system
KR20080046310A (ko) 2006-11-22 2008-05-27 김현수 채팅 서버 및 채팅 서비스 제공 방법
US7734717B2 (en) 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US20080147486A1 (en) 2006-12-18 2008-06-19 Lehigh University Prediction method and system
US8787555B2 (en) 2006-12-19 2014-07-22 Telethrive, Inc. Process for obtaining expert advice on-demand
US8660899B2 (en) 2006-12-19 2014-02-25 Yahoo! Inc. Transferring behavioral profiles anonymously across domains for behavioral targeting
US8166026B1 (en) 2006-12-26 2012-04-24 uAffect.org LLC User-centric, user-weighted method and apparatus for improving relevance and analysis of information sharing and searching
US20080201436A1 (en) 2007-02-20 2008-08-21 Gideon Gartner Enhanced information system and method
US20080215541A1 (en) 2007-03-01 2008-09-04 Microsoft Corporation Techniques for searching web forums
US8693659B2 (en) 2007-03-09 2014-04-08 Fonality, Inc. System and method for centralized presence management of local and remote users
US20080262897A1 (en) 2007-04-17 2008-10-23 Embarq Holdings Company, Llc System and method for geographic location of customer services
US7693902B2 (en) 2007-05-02 2010-04-06 Yahoo! Inc. Enabling clustered search processing via text messaging
KR20080097751A (ko) 2007-05-03 2008-11-06 주식회사 파랑피시 검색 정보에 대응하는 실시간 상담원 추천 시스템 및 그방법
US7827128B1 (en) 2007-05-11 2010-11-02 Aol Advertising Inc. System identification, estimation, and prediction of advertising-related data
KR20090003048A (ko) 2007-05-17 2009-01-09 (주)팍스인슈 인터넷 검색 시 상품정보를 전달하고 씨티아이를 통하여실시간으로 고객과 상품판매업체를 전화 연결하는 능동적콜서비스 시스템 및 방법
US8266127B2 (en) 2007-05-31 2012-09-11 Red Hat, Inc. Systems and methods for directed forums
US20080319778A1 (en) 2007-06-22 2008-12-25 Fatdoor, Inc. Neighborhood bartering in a geo-spatial network
US20090006179A1 (en) 2007-06-26 2009-01-01 Ebay Inc. Economic optimization for product search relevancy
US20090006622A1 (en) 2007-06-27 2009-01-01 William Doerr Ultimate client development system
US8214486B2 (en) 2007-07-13 2012-07-03 Front Porch, Inc. Method and apparatus for internet traffic monitoring by third parties using monitoring implements
US8321359B2 (en) 2007-07-24 2012-11-27 Hiconversion, Inc. Method and apparatus for real-time website optimization
US8149711B2 (en) * 2007-07-25 2012-04-03 Silicon Image, Inc. Data stream control for network devices
US20110041168A1 (en) 2007-08-14 2011-02-17 Alan Murray Systems and methods for targeting online advertisements using data derived from social networks
US20090055267A1 (en) 2007-08-23 2009-02-26 Robert Roker Internet advertising brokerage apparatus, systems, and methods
WO2009029940A1 (en) 2007-08-30 2009-03-05 Channel Intelligence, Inc. Online marketing payment monitoring method and system
US20090099904A1 (en) 2007-08-31 2009-04-16 Numeric Analytics, L.L.C. Method of Optimizing Internet Advertising
US8131281B1 (en) * 2007-09-12 2012-03-06 Oceans' Edge, Inc. Mobile device monitoring and control system
US20090076887A1 (en) 2007-09-16 2009-03-19 Nova Spivack System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment
US20090132368A1 (en) 2007-10-19 2009-05-21 Paul Cotter Systems and Methods for Providing Personalized Advertisement
WO2009059199A2 (en) 2007-11-02 2009-05-07 Hunch Inc. Interactive machine learning advice facility
US7941557B2 (en) 2007-11-28 2011-05-10 Yahoo! Inc. Dynamical routing for text messaging
WO2009082381A1 (en) 2007-12-20 2009-07-02 Hewlett-Packard Development Company, L.P. Incorporating development tools in system for deploying computer based process on shared infrastructure
US8244498B2 (en) 2007-12-21 2012-08-14 Mks Instruments, Inc. Hierarchically organizing data using a partial least squares analysis (PLS-trees)
JP4156660B1 (ja) * 2008-01-25 2008-09-24 Sky株式会社 リモート制御システム
US20090192845A1 (en) * 2008-01-30 2009-07-30 Microsoft Corporation Integrated real time collaboration experiences with online workspace
WO2009097652A1 (en) * 2008-02-07 2009-08-13 Signostics Pty Ltd Remote display for medical scanning apparatus
WO2009100460A1 (en) 2008-02-07 2009-08-13 Epic Advertising, Inc. Systems and methods for measuring the effectiveness of advertising
US20090210405A1 (en) 2008-02-15 2009-08-20 Ortega Kerry A Method, system, and apparatus for providing advice to users
US8392580B2 (en) 2008-02-20 2013-03-05 Research In Motion Limited Methods and systems for facilitating transfer of sessions between user devices
US20160292324A1 (en) * 2008-02-25 2016-10-06 Sas Institute Inc. Systems and methods for predicting performance
US20100211579A1 (en) 2009-02-17 2010-08-19 Robb Fujioka System and Method For Providing Expert Search In A Modular Computing System
US8660539B2 (en) 2008-04-30 2014-02-25 Intertrust Technologies Corporation Data collection and targeted advertising systems and methods
US7966564B2 (en) 2008-05-08 2011-06-21 Adchemy, Inc. Web page server process using visitor context and page features to select optimized web pages for display
US20090287534A1 (en) 2008-05-14 2009-11-19 Shang Qing Guo System and method for providing contemporaneous product information and sales support for retail customers
US20090307003A1 (en) 2008-05-16 2009-12-10 Daniel Benyamin Social advertisement network
US8413042B2 (en) 2008-06-30 2013-04-02 International Business Machines Corporation Referrer-based website personalization
US8762313B2 (en) 2008-07-25 2014-06-24 Liveperson, Inc. Method and system for creating a predictive model for targeting web-page to a surfer
US8799200B2 (en) 2008-07-25 2014-08-05 Liveperson, Inc. Method and system for creating a predictive model for targeting webpage to a surfer
US8805844B2 (en) 2008-08-04 2014-08-12 Liveperson, Inc. Expert search
US20100063879A1 (en) 2008-09-05 2010-03-11 Yellowpages.Com Llc Systems and Methods to Selectively Provide Information Based on User Interest
US8321906B2 (en) 2008-09-11 2012-11-27 At&T Intellectual Property I, Lp Method and system for a transcoder
US20100106552A1 (en) 2008-10-27 2010-04-29 International Business Machines Corporation On-demand access to technical skills
US9892417B2 (en) 2008-10-29 2018-02-13 Liveperson, Inc. System and method for applying tracing tools for network locations
US20100205024A1 (en) 2008-10-29 2010-08-12 Haggai Shachar System and method for applying in-depth data mining tools for participating websites
EP2184909B1 (en) 2008-11-11 2017-01-11 Onmobile Global Limited Method and system for updating social networking site with ring back tone information
US8713157B2 (en) 2008-11-14 2014-04-29 Interpret, Llc System for collecting computer application usage data of targeted application programs executed on a plurality of client devices
JP2010128877A (ja) 2008-11-28 2010-06-10 Hitachi Ltd ウェブシステムおよび処理記録収集方法
US8255403B2 (en) 2008-12-30 2012-08-28 Expanse Networks, Inc. Pangenetic web satisfaction prediction system
BRPI0924542A2 (pt) 2009-03-03 2015-06-30 Google Inc Método e sistema para fornecimento de publicidade para usuários de rede social
US8185544B2 (en) 2009-04-08 2012-05-22 Google Inc. Generating improved document classification data using historical search results
WO2010119379A1 (en) 2009-04-15 2010-10-21 Imagini Holdings Limited A method and system for providing customized content using emotional preference
US20100281008A1 (en) 2009-04-29 2010-11-04 Digital River, Inc. Universal Tracking Agent System and Method
US20100306043A1 (en) 2009-05-26 2010-12-02 Robert Taaffe Lindsay Measuring Impact Of Online Advertising Campaigns
CN101572607B (zh) 2009-06-12 2011-11-09 阿里巴巴集团控股有限公司 一种社会化网络中处理认证请求消息的方法及装置
US20110004888A1 (en) * 2009-07-06 2011-01-06 Sudharshan Srinivasan Screen sharing method with selective access to both data and logic of a shared application using a helper application
US20110010629A1 (en) * 2009-07-09 2011-01-13 Ibm Corporation Selectively distributing updates of changing images to client devices
US8751586B2 (en) 2009-08-28 2014-06-10 Go Daddy Operating Company, LLC Domain name control based social website account authentication
FR2950214A1 (fr) 2009-09-14 2011-03-18 Alcatel Lucent Procede de demande de verification de donnees profil utilisateur d’un site de reseau social.
US8266098B2 (en) 2009-11-18 2012-09-11 International Business Machines Corporation Ranking expert responses and finding experts based on rank
US20110131077A1 (en) 2009-12-01 2011-06-02 Microsoft Corporation Context-Aware Recommendation Module Using Multiple Models
US8935614B2 (en) 2009-12-08 2015-01-13 At&T Intellectual Property I, L.P. Method and apparatus for navigating a video program via a transcript of spoken dialog
WO2011072048A2 (en) 2009-12-08 2011-06-16 Adxpose, Inc. Methods for capturing and reporting metrics regarding ad placement
US20110246255A1 (en) 2009-12-11 2011-10-06 James Gilbert System and method for advancing marketing opportunities to sales
US8386340B1 (en) 2009-12-21 2013-02-26 Amazon Technologies, Inc. Establishing communication based on item interest
US20110161792A1 (en) 2009-12-31 2011-06-30 Edward Florence Producing interactive documents
US8943145B1 (en) 2010-02-08 2015-01-27 Intuit Inc. Customer support via social network
US20110208822A1 (en) 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
JP5941903B2 (ja) 2010-04-07 2016-06-29 ライブパーソン, インコーポレイテッド カスタマイズされたウェブコンテンツおよびアプリケーションを動的にイネーブルにするためのシステムおよび方法
US20110258039A1 (en) 2010-04-14 2011-10-20 Microsoft Corporation Evaluating preferences of users engaging with advertisements
US8621005B2 (en) 2010-04-28 2013-12-31 Ttb Technologies, Llc Computer-based methods and systems for arranging meetings between users and methods and systems for verifying background information of users
US20110320715A1 (en) 2010-06-23 2011-12-29 Microsoft Corporation Identifying trending content items using content item histograms
US8674223B2 (en) 2010-07-13 2014-03-18 John Martin Horan High speed data cable with impedance correction
US20120036200A1 (en) 2010-08-09 2012-02-09 Bank Of America Corporation Social media engagement system
US8423409B2 (en) 2010-09-02 2013-04-16 Yahoo! Inc. System and method for monetizing user-generated web content
US20120066345A1 (en) 2010-09-14 2012-03-15 Cyril Rayan Emergency communications platform
US20120130918A1 (en) 2010-11-18 2012-05-24 Noam Gordon System and Method for Complaint Submission and Management
US9576276B2 (en) 2010-11-29 2017-02-21 International Business Machines Corporation Context-informed summarization of communications
US8918465B2 (en) 2010-12-14 2014-12-23 Liveperson, Inc. Authentication of service requests initiated from a social networking site
US9350598B2 (en) 2010-12-14 2016-05-24 Liveperson, Inc. Authentication of service requests using a communications initiation feature
US8806054B1 (en) 2010-12-15 2014-08-12 Amazon Technologies, Inc. Sending application input commands over a network
US8447820B1 (en) * 2011-01-28 2013-05-21 Decision Lens, Inc. Data and event synchronization across distributed user interface modules
US8761377B2 (en) 2011-02-01 2014-06-24 Cisco Technology, Inc. Routing contact center interactions
US20120259891A1 (en) 2011-04-11 2012-10-11 David Edoja Method, system and program for analytics data delivering
CN102143235B (zh) * 2011-04-12 2017-03-08 张�林 对触摸屏终端提供远程服务的方法及系统
US9342817B2 (en) * 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US10564791B2 (en) * 2011-07-21 2020-02-18 Nokia Technologies Oy Method and apparatus for triggering a remote data entry interface
US9289686B2 (en) 2011-07-28 2016-03-22 Zynga Inc. Method and system for matchmaking connections within a gaming social network
US8832210B2 (en) 2011-08-30 2014-09-09 Oracle International Corporation Online monitoring for customer service
US20150082345A1 (en) * 2011-09-29 2015-03-19 Avvasi Inc. System for generating enhanced advertizements and methods for use therewith
US20130117380A1 (en) 2011-11-03 2013-05-09 Ebay Inc. Dynamic content generation in email messages
US9047476B2 (en) 2011-11-07 2015-06-02 At&T Intellectual Property I, L.P. Browser-based secure desktop applications for open computing platforms
US8589393B2 (en) 2011-11-08 2013-11-19 Google Inc. Methods and apparatus for discovery of attributes using a social mobile application
US20130132194A1 (en) 2011-11-17 2013-05-23 Giridhar Rajaram Targeting advertisements to users of a social networking system based on events
US20130204859A1 (en) 2012-02-06 2013-08-08 Microsoft Corporation Providing temporal bias for search-result-webpage items
US8943002B2 (en) 2012-02-10 2015-01-27 Liveperson, Inc. Analytics driven engagement
US8805941B2 (en) 2012-03-06 2014-08-12 Liveperson, Inc. Occasionally-connected computing interface
JP6051549B2 (ja) * 2012-03-16 2016-12-27 株式会社リコー 通信制御システム、制御装置、プログラムおよび電子情報ボード
JP5994313B2 (ja) * 2012-03-21 2016-09-21 株式会社リコー 情報提供装置、伝送システムおよびプログラム
US9275342B2 (en) 2012-04-09 2016-03-01 24/7 Customer, Inc. Method and apparatus for intent modeling and prediction
KR101899548B1 (ko) * 2012-04-16 2018-09-17 삼성전자 주식회사 휴대단말에서 피드 정보 수집 방법 및 장치
US20130275862A1 (en) 2012-04-16 2013-10-17 Hosni I. Adra System and Method for Providing a Product-Based Chat Session
US9563336B2 (en) 2012-04-26 2017-02-07 Liveperson, Inc. Dynamic user interface customization
US9672196B2 (en) 2012-05-15 2017-06-06 Liveperson, Inc. Methods and systems for presenting specialized content using campaign metrics
US9344519B2 (en) 2012-06-14 2016-05-17 Discourse Analytics, Inc. Receiving and correlation of user choices to facilitate recommendations for peer-to-peer connections
US20140058721A1 (en) 2012-08-24 2014-02-27 Avaya Inc. Real time statistics for contact center mood analysis method and apparatus
IL221685A0 (en) 2012-08-29 2012-12-31 Google Inc Predicting content performance with interest data
US8824998B2 (en) 2012-09-28 2014-09-02 Intel Corporation Mechanism for facilitating dynamically prioritized control of calls over a network
EP3422236B1 (en) * 2012-10-10 2022-06-01 Citrix Systems, Inc. Policy-based application management
JP6097679B2 (ja) * 2013-02-28 2017-03-15 エルジー アプラス コーポレーション 端末間機能共有方法及びその端末
US20140278795A1 (en) 2013-03-13 2014-09-18 Subramaniam Satyamoorthy Systems and methods to predict purchasing behavior
WO2014157889A1 (en) * 2013-03-25 2014-10-02 Samsung Electronics Co., Ltd. Method and apparatus for improving quality of experience in sharing screen among devices, and recording medium thereof
JP5632035B2 (ja) * 2013-03-29 2014-11-26 沖電気工業株式会社 遠隔作業支援システム及び遠隔作業支援プログラム
US20150101003A1 (en) * 2013-06-18 2015-04-09 Global Invacom Limited Data transmission apparatus, system and method
JP6155906B2 (ja) * 2013-07-01 2017-07-05 株式会社リコー 情報処理装置、第2の情報処理装置、通信端末、通信システム、プログラム
US20130326375A1 (en) 2013-08-07 2013-12-05 Liveperson, Inc. Method and System for Engaging Real-Time-Human Interaction into Media Presented Online
US9247066B1 (en) 2013-08-22 2016-01-26 West Corporation User input drivent short message service (SMS) applications
US9218494B2 (en) * 2013-10-16 2015-12-22 Citrix Systems, Inc. Secure client drive mapping and file storage system for mobile device management type security
US11042898B2 (en) 2014-03-18 2021-06-22 Staples, Inc. Clickstream purchase prediction using Hidden Markov Models
JP2015184827A (ja) * 2014-03-20 2015-10-22 エヌ・ティ・ティ・コムウェア株式会社 ブラウジング共有サーバ、ブラウジング共有システム、ブラウジング共有方法、ブラウジング共有プログラム
US9361469B2 (en) * 2014-03-26 2016-06-07 Amazon Technologies, Inc. Electronic communication with secure screen sharing of sensitive information
US11386442B2 (en) 2014-03-31 2022-07-12 Liveperson, Inc. Online behavioral predictor
US9256761B1 (en) 2014-08-18 2016-02-09 Yp Llc Data storage service for personalization system
CN104394191B (zh) * 2014-10-22 2016-09-14 腾讯科技(深圳)有限公司 远程控制移动终端的方法、控制终端及系统
US10134058B2 (en) 2014-10-27 2018-11-20 Amobee, Inc. Methods and apparatus for identifying unique users for on-line advertising
CN104376266B (zh) * 2014-11-21 2017-09-15 工业和信息化部电信研究院 应用软件安全级别的确定方法及装置
JP6212533B2 (ja) * 2015-12-28 2017-10-11 株式会社オプティム 画面共有システム、画面共有方法、および画面共有プログラム
CN105578313B (zh) * 2016-01-06 2019-07-12 上海斐讯数据通信技术有限公司 远程控制方法,系统,远控执行方法,系统及移动终端
CA3051125C (en) * 2016-02-04 2023-05-23 TEN DIGIT Communications LLC Intermediary device for data message network routing and enhancement in a contact center environment
US10606367B2 (en) * 2016-07-11 2020-03-31 Light Wave Technology Inc. Command relay device, system and method for providing remote assistance/remote control
CA3033743A1 (en) 2016-08-14 2018-02-22 Liveperson, Inc. Systems and methods for real-time remote control of mobile applications

Also Published As

Publication number Publication date
US11363452B2 (en) 2022-06-14
AU2021257903A1 (en) 2021-11-18
US10785641B2 (en) 2020-09-22
US20210029535A1 (en) 2021-01-28
CN109844717B (zh) 2023-05-23
JP6983887B2 (ja) 2021-12-17
EP3497560B1 (en) 2022-11-02
AU2017312875A1 (en) 2019-02-28
US20220360976A1 (en) 2022-11-10
WO2018034989A1 (en) 2018-02-22
US20180049023A1 (en) 2018-02-15
US20190342749A1 (en) 2019-11-07
JP2021170354A (ja) 2021-10-28
JP7263442B2 (ja) 2023-04-24
US11825555B2 (en) 2023-11-21
AU2021257903B2 (en) 2022-12-08
CN109844717A (zh) 2019-06-04
US10278065B2 (en) 2019-04-30
EP3497560A1 (en) 2019-06-19
JP2023098999A (ja) 2023-07-11
JP2019525371A (ja) 2019-09-05
AU2023200054A1 (en) 2023-02-09
AU2017312875B2 (en) 2021-09-16
EP4130998A1 (en) 2023-02-08
CA3033743A1 (en) 2018-02-22
CN116521299A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
CN109844717B (zh) 用于移动应用程序的实时远程控制的系统和方法
AU2023201954B2 (en) Dynamic code management
KR102197248B1 (ko) 다른 형태의 정보 공유를 통한 코브라우징의 통합
US20160234276A1 (en) System, method, and logic for managing content in a virtual meeting

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