CN110999260A - 在基于代理的网络通信中的控制数据的传输 - Google Patents
在基于代理的网络通信中的控制数据的传输 Download PDFInfo
- Publication number
- CN110999260A CN110999260A CN201780094259.9A CN201780094259A CN110999260A CN 110999260 A CN110999260 A CN 110999260A CN 201780094259 A CN201780094259 A CN 201780094259A CN 110999260 A CN110999260 A CN 110999260A
- Authority
- CN
- China
- Prior art keywords
- request
- control data
- web
- response
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及用于控制客户端设备的技术。这些技术可以包括:从客户端设备接收对web资源的请求;生成与客户端设备的一个或更多个功能相关联的控制数据;以及向客户端设备传送包括web资源和控制数据的响应,以控制客户端设备的一个或更多个功能。
Description
背景
计算设备的远程控制通常需要使用新的或附加的通信能力来承载控制数据。例如,计算设备(例如,计算机、智能电话等)可以被配置成提供一组功能。这些功能可以由在计算设备上运行的软件应用来提供,和/或由计算设备的硬件组件来提供。可以基于与配置主题相关联的控制数据来执行配置。控制数据可以是例如软件补丁、提供给软件应用的一组参数、存储在硬件寄存器内的一组值等。
在数据网络中,计算设备可以在远程配置过程中接收来自另一设备(例如,服务器)的控制数据。为了启动配置过程,计算设备确定待更新或添加的目标功能,以及目标功能的控制数据。计算设备随后可以(例如,基于传输控制协议(TCP))与服务器建立客户端-服务器通信信道,随后经由通信信道向服务器传送对控制数据的请求。服务器可以处理该请求,并且经由通信信道向计算设备传送包括所请求的控制数据的响应。计算设备随后验证该响应包括所请求的控制数据,并随后基于控制数据更新目标功能。
这种安排有许多缺点。例如,通信信道的管理、以及用于获取控制数据的请求和响应增加了配置过程的复杂性,并且需要更多的计算资源。此外,这些请求和响应的传送还会消耗相当大的网络带宽,并给网络基础设施造成额外负担。
概述
本公开涉及用于控制客户端设备的技术。更具体地,在本公开的某些方面,提供了一种计算机实现的控制方法。该方法可以包括从客户端设备接收对web资源的第一请求;基于第一请求生成第二请求;向web服务器传送对web资源的第二请求;生成与客户端设备的一个或更多个功能相关联的控制数据;从web服务器接收包括web资源的第一响应;生成包括控制数据和web资源的第二响应;以及将第二响应传送到客户端设备,以控制客户端设备的一个或更多个功能。
计算机实现的方法的某些实施例可以由服务器代理来执行。在一些实施例中,客户端设备可以包括应用(app)和本地代理;并且第一请求可以由本地代理基于由应用接收的web访问请求来生成。
根据本公开的某些实施例,第一请求和第二请求可以是HTTP请求;第一响应和第二响应可以是HTTP响应;并且控制数据可以被包括在第二响应的一个或更多个头部中。
根据本公开的某些实施例,一个或更多个功能可以与应用相关联。在一些实施例中,控制数据可以包括信息,该信息包括下列各项中的至少一项:用于在应用上显示网页的配置、用于使用应用执行搜索的配置、或者应用的用户界面配置。
根据本公开的某些实施例,一个或更多个功能可以与本地代理相关联。在一些实施例中,第一请求可以是通过在本地代理和服务器代理之间建立的第一TCP连接从本地代理接收到的;控制数据可以控制本地代理,以与web服务器建立第二TCP连接,并通过第二TCP连接向web服务器传送第三请求。在一些实施例中,控制数据可以控制应用以提供可激活的界面元素;控制数据可以控制本地代理以建立第二TCP连接,并基于检测到可激活的界面元素被激活,传送第三请求。
根据某些实施例,可以基于第一请求生成控制数据。在一些实施例中,可以用签名对控制数据进行加密。
根据本公开的某些实施例,提供了一种系统。该系统可以包括一个或更多个处理器;以及存储指令的非暂态计算机可读介质,当指令被一个或更多个处理器执行时,使得一个或更多个处理器执行下列操作,这些操作包括:从客户端设备接收对web资源的第一请求;基于第一请求生成第二请求;向web服务器传送对web资源的第二请求;生成与客户端设备的一个或更多个功能相关联的控制数据;从web服务器接收包括web资源的第一响应;生成包括控制数据和web资源的第二响应;以及将第二响应传送到客户端设备,以控制客户端设备的一个或更多个功能。
根据本公开的某些实施例,该系统可以是服务器代理的一部分。客户端设备可以包括应用和本地代理;并且第一请求可以由本地代理基于由应用接收的web访问请求来生成。
根据本公开的某些实施例,第一请求和第二请求可以是HTTP请求;第一响应和第二响应可以是HTTP响应;并且控制数据可以被包括在第二响应的一个或更多个头部中。
根据本公开的某些实施例,一个或更多个功能可以与应用相关联。在一些实施例中,控制数据可以包括信息,该信息包括下列各项中的至少一项:用于在应用上显示网页的配置、用于使用应用执行搜索的配置、或者应用的用户界面配置。
根据本公开的某些实施例,一个或更多个功能可以与本地代理相关联。在一些实施例中,第一请求可以是通过在本地代理和服务器代理之间建立的第一TCP连接从本地代理接收到的;控制数据可以控制本地代理,以与web服务器建立第二TCP连接,并通过第二TCP连接向web服务器传送第三请求。在一些实施例中,控制数据可以控制应用以提供可激活的界面元素;控制数据可以控制本地代理以建立第二TCP连接,并基于检测到可激活的界面元素被激活,传送第三请求。
根据本公开的某些实施例,可以基于第一请求生成控制数据。
在本公开的某些实施例中,提供了一种非暂态计算机可读存储介质。非暂态计算机可读存储介质可以存储可由一个或更多个处理器执行的多个指令。当多个指令被一个或更多个处理器执行时,可以使得一个或更多个处理器:从客户端设备接收对web资源的第一请求;基于第一请求生成第二请求;向web服务器传送对web资源的第二请求;生成与客户端设备的一个或更多个功能相关联的控制数据;从web服务器接收包括web资源的第一响应;生成包括控制数据和web资源的第二响应;以及将第二响应传送到客户端设备,以控制客户端设备的一个或更多个功能。
在本公开的某些方面,提供了一种计算机实现的控制方法。该计算机实现的控制方法可以包括:从客户端设备接收对web资源的第一请求;基于第一请求生成第二请求;向web服务器传送对web资源的第二请求;生成与客户端设备的一个或更多个功能相关联的控制数据;从web服务器接收包括web资源的第一响应;生成包括控制数据和web资源的第二响应;以及将第二响应传送到客户端设备,以控制客户端设备的一个或更多个功能。
计算机实现的方法的某些实施例可以由服务器代理来执行。在一些实施例中,客户端设备可以包括应用和本地代理;并且第一请求可以由本地代理基于由应用接收的web访问请求来生成。在一些实施例中,一个或更多个功能可以与应用相关联。在一些实施例中,一个或更多个功能可以与本地代理相关联。
根据本公开的某些实施例,第一请求和第二请求可以是HTTP请求;第二响应和第二响应可以是HTTP响应;并且控制数据可以被包括在第二响应的一个或更多个头部中。
根据本公开的某些实施例,一个或更多个功能可以与应用相关联。可选地,控制数据包括信息,该信息包括下列各项中的至少一项:用于在应用上显示网页的配置、用于使用应用执行搜索的配置、或者应用的用户界面配置。
根据本公开的某些实施例,一个或更多个功能可以与本地代理相关联。可选地,第一请求是通过在本地代理和服务器代理之间建立的第一TCP连接从本地代理接收到的,并且控制数据可以控制本地代理,以与web服务器建立第二TCP连接,并通过第二TCP连接向web服务器传送第三请求。可选地,控制数据可以控制应用以提供可激活的界面元素,并且控制数据可以控制本地代理以建立第二TCP连接,并基于检测到可激活的界面元素被激活,传送第三请求。
根据本公开的某些实施例,可以基于第一请求生成控制数据。在一些实施例中,可以用签名对控制数据进行加密。
根据本公开的某些实施例,提供了一种系统。该系统可以包括一个或更多个处理器;以及存储指令的非暂态计算机可读介质,当指令被一个或更多个处理器执行时,使得一个或更多个处理器执行下列操作,这些操作包括:从客户端设备接收对web资源的第一请求;基于第一请求生成第二请求;向web服务器传送对web资源的第二请求;生成与客户端设备的一个或更多个功能相关联的控制数据;从web服务器接收包括web资源的第一响应;生成包括控制数据和web资源的第二响应;以及将第二响应传送到客户端设备,以控制客户端设备的一个或更多个功能。
根据本公开的某些实施例,该系统可以是服务器代理的一部分。客户端设备可以包括应用和本地代理;并且第一请求可以由本地代理基于由应用接收的web访问请求来生成。
根据本公开的某些实施例,第一请求和第二请求可以是HTTP请求;第一响应和第二响应可以是HTTP响应;并且控制数据可以被包括在第二响应的一个或更多个头部中。
根据本公开的某些实施例,一个或更多个功能可以与应用相关联。可选地,控制数据可以包括信息,该信息包括下列各项中的至少一项:用于在应用上显示网页的配置、用于使用应用执行搜索的配置、或者应用的用户界面配置。
根据本公开的某些实施例,一个或更多个功能可以与本地代理相关联。可选地,第一请求可以是通过在本地代理和服务器代理之间建立的第一TCP连接从本地代理接收到的;控制数据可以控制本地代理,以与web服务器建立第二TCP连接,并通过第二TCP连接向web服务器传送第三请求。可选地,控制数据可以控制应用以提供可激活的界面元素;控制数据可以控制本地代理以建立第二TCP连接,并基于检测到可激活的界面元素被激活,传送第三请求。
根据本公开的某些实施例,可以基于第一请求生成控制数据。
根据某些实施例,一个或更多个计算机可读非暂态存储介质可以体现软件,该软件在被执行时可操作来执行根据所公开的实施例的方法。
根据某些实施例,系统可以包括:一个或更多个处理器;以及耦合到处理器并包括可由处理器执行的指令的至少一个存储器,处理器在执行指令时可操作来执行根据所公开的实施例的方法。
根据某些实施例,当优选地包括计算机可读非暂态存储介质的计算机程序产品在数据处理系统上被执行时,可操作来执行根据所公开的实施例的方法。
附图简述
下面参考以下附图详细描述说明性实施例:
图1示出了对安装在计算设备上的软件应用进行配置的示例;
图2是根据本公开的某些方面的数据网络系统的简化框图;
图3是根据本公开的某些方面的包括控制数据的HTTP响应的示例的简化框图;
图4是根据本公开的某些方面,将配置映射到不同控制数据值的示例映射表的简化框图;
图5是根据本公开的某些方面的用于传送控制数据的服务器代理的示例的简化框图;
图6是示出根据本公开的某些方面的用于向客户端设备提供控制数据的示例方法的简化流程图;以及
图7是用于实现本文公开的一些示例的示例计算系统的简化框图。
详细描述
一、计算设备的远程配置
计算设备(例如,计算机、智能电话等)可以被配置成提供一组功能。这些功能可以由安装在计算设备上的软件应用来提供,和/或由计算设备的硬件组件来提供。
图1示出了对在计算设备上运行的软件应用进行配置的示例。如图1所示,计算设备100运行被标记为“MY_APP”的软件应用(“app”)。该应用提供用于接收输入并且用于输出信息的界面102。在图1所示的示例中,该应用可以提供web浏览功能,为此,界面102包括文本框104、可激活元素106以及输出界面108,文本框104用于输入网址,可激活元素106用于触发传送指向文本框104中的网址的web访问请求,以及输出界面108用于显示与网址相关联的内容。内容还可以包括一个或更多个可激活元素(例如,通用资源链接(URL)110和111),用于触发传送web访问请求。界面102还可以显示其他信息,包括例如版本信息112。
计算设备100可以通过配置过程来接收控制数据,以更新应用的各个方面。例如,如图1所示,可以更新应用的版本,以包括搜索功能,为此提供可激活的搜索元素114。应用的web浏览功能也可以被更新。例如,可以提供作为更新的结果的导航元素116。此外,应用(或计算设备100的其他方面)也可以被更新以提供不同的web浏览功能、显示不同的内容等。例如,如图1所示,应用可以被配置为实现可变访问策略。作为策略的一部分,该应用可以提供对零费率(zero-rated)web服务的访问。这种零费率web服务可以允许用户(通过应用)在一定限制下访问互联网。例如,在访问次数达到上限(cap)之前,访问可以是可用的,这会触发配置过程。在配置过程之后,应用可以停止提供对零费率web服务的访问,并显示指示免费访问已经结束的页面。
计算设备100可以接收来自服务器的控制数据。当前,计算设备可以通过(例如,基于TCP)与服务器建立例如基于TCP包的通信信道来发起控制数据的传送。计算设备随后经由通信信道向服务器传送包括对控制数据的请求的TCP包。服务器可以处理该请求,并且经由通信信道向计算设备传送包括所请求的控制数据的TCP包。虽然计算设备可以通过这种安排来接收所请求的控制数据,但是,通信信道的管理、以及用于获取控制数据的请求和响应增加了配置过程的复杂性,并且需要更多的计算资源。此外,这些请求和响应的传送还会消耗相当大的网络带宽,并给网络基础设施造成额外负担。
本文公开了用于远程配置计算设备的技术,该技术利用在计算设备和服务器之间的现有通信来向计算设备提供控制数据。服务器可以包括服务器代理,该服务器代理作为在计算设备和某些web资源(例如,web内容,其可以包括文档文件、媒体文件等)的主机之间的中介来进行操作。计算设备可以与服务器建立TCP通信信道。计算设备可以通过TCP通信信道向服务器传送web访问请求(例如,超文本传输协议(HTTP)请求),以用于请求web资源。基于web访问请求,服务器也可以经由TCP通信信道将包含所请求的web资源的web访问响应(例如,HTTP响应)传送回计算设备。服务器还将控制数据作为web访问响应的一部分,传送给计算设备。
服务器可以被配置成在各种环境下向计算设备传送控制数据。例如,返回参考图1,服务器可以由一个或更多个外部事件触发,以将“MY_APP”应用更新到不同版本。外部事件可以包括例如定时器到期(例如,服务器被配置为在某个时间点更新应用)、接收来自另一个服务器的应用的更新补丁等。在受到外部事件触发后,服务器代理可以监控由待更新的应用传送的web访问请求。当这样的web访问请求(例如,来自计算设备100、经由TCP通信信道)被接收到时,服务器可以在web访问响应中包括所请求的web资源(例如,web内容)以及控制数据。随后,服务器可以经由传送web访问请求的同一TCP通信信道,将包括控制数据的web访问响应传送到计算设备100。
服务器还可以基于其他信息来确定待传送的控制数据,所述其他信息包括例如web访问请求所请求的web资源。例如,如以上参考图1所讨论的,计算设备100可以与服务器通信,以实现可变访问策略。计算设备100可以提供对零费率web服务的访问(例如,对新闻内容的免费访问),随后当满足某些条件时,改变对web服务的访问。例如,当已经达到指向网站“XYZnews.com”上托管的内容的web访问请求的预定数量时,可以停止对新闻内容的免费访问。服务器可以跟踪从计算设备100接收的这种web访问请求的数量,并且当达到该预定数量时,向计算设备100传送控制数据,以拒绝对内容的访问。参考图1的示例,用户可以激活URL 110(或其他可激活元素),以访问与“美国新闻(US News)”相关联的内容。对于URL110的选择可以使计算设备向服务器传送HTTP请求。在接收到HTTP请求之后,服务器可以确定从计算设备100接收的这样的请求的数量已经达到极限。服务器可以在待传送给计算设备100的HTTP响应中包括所请求的内容(或其他内容)。然而,服务器可以在HTTP响应中包括控制数据,该控制数据改变界面102的其中一些元素,以拒绝用户对所请求内容的访问。例如,如图1所示,当呈现所请求的内容时,控制数据可以使得输出界面108显示不透明层。控制数据还可以使得输出界面108显示消息118,以指示访问受到拒绝,并且提供到订阅页面的链接120,用户可以从该订阅页面订阅基于付费的web服务。
利用所公开的技术,计算设备(例如,计算设备100)可以使用相同的通信信道来接收控制数据和所请求的web资源,而不是建立单独的通信信道来接收控制数据。此外,通过使得同样包括所请求资源的web访问响应包括控制数据,使得该控制数据作为web访问响应的一部分,计算设备不需要处理与web访问响应分离的额外响应以接收控制数据。所有这些都可以简化计算设备和服务器的操作,并减少由控制数据传送引起的网络流量,从而更有效地利用计算资源和web资源。
此外,所公开的技术还使得服务器能够单方面将控制数据推送到计算设备,而不需要计算设备传送除了常规web访问请求之外的对控制数据的特定请求。因此,在多个计算设备之中,应用的更新可以以更加统一且同步的方式来被执行(尤其是对于具有内置web浏览功能(例如,网络视图(WebView))的应用,这些应用不断传送web访问请求并接收web访问响应)。
二、数据网络系统
图2是根据本公开的某些方面的数据网络系统200的简化框图。数据网络系统200可以包括通过通信网络206连接到客户端设备204的web服务器202,通信网络206可以包括使用诸如以太网、IEEE 802.11、全球微波接入互操作性(WiMAX)、3G、4G、5G、码分多址(CDMA)、数字用户线路(DSL)等技术的通信链路。web服务器(多个web服务器)可以提供一组web资源。例如,web服务器202可以为网页以及其他内容(诸如XML等)提供服务。用户可以向web服务器202发送请求,以上传和/或检索在web服务器202上托管的信息(例如,web内容、图像、视频、帖子等)。web服务器202还可以提供其他web资源(包括例如接收消息和路由消息)。消息可以包括例如即时消息、排队的消息(例如,电子邮件)、文本消息、短消息服务(SMS)消息或者使用任何其他合适的消息传送技术发送的消息。
客户端设备204可以对应于用户,并且可以包括处理器、存储器(具有易失性存储器和/或非易失性存储驱动器)、输入接口和输出接口或者本领域已知的其他硬件或软件。客户端设备204可以包括应用208。应用208可以包括与图1中描述的应用相似的元素。例如,应用208可以提供web浏览能力,并且可以包括用于输入网址的输入界面(例如,图1的文本框104)和用于输出web内容的输出界面(例如,图1的输出界面108)。为了提供web浏览能力,应用208还可以基于在输入界面处接收的网址生成web访问请求,并将web访问请求传送到web服务器202,以请求某些web资源(例如,web内容)。应用208还可以处理包括所请求的web资源的web访问响应,从web访问响应中提取web资源,并将web资源提供给输出界面。此外,如上所讨论,应用208还可以提取web访问响应中所包括的控制数据,并基于控制数据来更新应用的一个或更多个元素。
客户端设备204还可以包括本地代理210,该本地代理210可以是软件应用。本地代理210可以确定将应用208生成的web访问请求路由到哪里。在第一运行模式中,本地代理210可以向web服务器202传送web访问请求。本地代理210可以与web服务器202建立通信信道220。本地代理210可以经由通信信道220向web服务器202传送由应用208生成的web访问请求221。本地代理210还可以经由通信信道220从web服务器202接收web访问响应222。本地代理210可以向应用208提供web访问响应222,应用208可以提取该响应中所包括的web资源(例如,web内容),并将web资源提供给输出界面。在一些实施例中,通信信道220可以是TCP通信信道,而web访问请求221可以是HTTP请求,并且web访问响应222可以是HTTP响应。
在第二运行模式中,本地代理210还可以向服务器代理212传送web访问请求。服务器代理212可以是具有处理器和存储器的计算设备。如图2所示,服务器代理212可以是通信网络206的一部分,或者是web服务器202的一部分。服务器代理212可以代表应用208向web服务器202请求web资源。在这种情况下,本地代理210可以与服务器代理212建立通信信道224,服务器代理212也与web服务器202建立通信信道226。本地代理210可以经由通信信道224向服务器代理212传送由应用208生成的web访问请求230。服务器代理212可以基于web访问请求230生成web访问请求232(例如,用于请求与web访问请求230所请求的web资源相同的web资源),并且经由通信信道226向web服务器202传送web访问请求232。服务器代理212还可以经由通信信道226从web服务器接收包括所请求的web资源的web访问响应234。服务器代理212可以基于web访问响应234生成web访问响应236(例如,通过包括在web访问响应234中所包括的web资源),并将web访问响应236传送到本地代理210。本地代理210还可以向应用208提供web访问响应236,应用208可以提取该响应中所包括的web资源(例如,web内容),并将web资源提供给输出界面。在一些实施例中,通信信道224和226可以是TCP通信信道。web访问请求230和232可以是HTTP请求,而web访问响应234和236可以是HTTP响应。
服务器代理212可以充当在web服务器202和客户端设备204之间的中介。服务器代理212可以通过向本地代理210传送控制数据来控制客户端设备204对由web服务器202托管的web资源的访问,以基于控制数据来指示本地代理210执行第一运行模式或第二运行模式。例如,参考图1的示例,用户可以尝试通过应用208访问基于零的web服务(zero-basedweb service),应用208生成web访问请求230。基于对基于零的web服务的访问请求,本地代理210可以在第二模式下运行,并且向服务器代理212传送web访问请求230,服务器代理212可以跟踪来自应用208的与基于零的web服务相关联的web访问请求的数量。如果web访问请求的数量没有超过阈值,那么服务器代理212可以代表应用208(例如,通过传送web访问请求232)请求web资源。在服务器代理212从web服务器202接收到所请求的web资源之后,服务器代理212可以向本地代理210传送包括所请求的web资源的web访问响应(例如,web访问响应236)。另一方面,如果与基于零的web服务相关联的web访问请求的数量已经达到阈值,那么服务器代理212可以向本地代理210传送作为web访问响应236的一部分的控制数据,然后本地代理210将控制数据(和web访问响应236)转发给应用208。控制数据可以更新应用208的界面(例如,网页的呈现、显示消息等)以防止用户通过应用208访问所请求的web资源。
此外,如果用户已经订阅了基于付费的web服务,则服务器代理212还可以通过传送控制数据以指导本地代理210在第一模式下运行(即,直接与web服务器202通信),来准许客户端设备204对web服务器202上托管的web资源进行不同程度的访问(例如,无限制访问)。服务器代理212可以检测订阅活动(例如,通过检测由对于订阅链接120的选择而引起的web访问请求),以确定用户已经订阅了基于付费的web服务。基于该确定,服务器代理212可以向本地代理210传送控制数据,以使其与web服务器202建立通信信道220。本地代理210随后可以在无需经过服务器代理212的情况下向web服务器202传送后续的web访问请求,以准许用户运行应用208来对web服务器202上托管的web资源进行无限制的访问。
三、控制数据
图3是根据本公开的某些方面的包括控制数据的HTTP响应300的示例的简化框图。HTTP响应300可以由例如图2的服务器代理212生成。服务器代理212可以向客户端设备204传送HTTP响应300,以控制例如应用208和/或本地代理210的一些方面。虽然这里为了说明的目的描述了HTTP,但是在可选的实施例中,可以使用其他协议和通信技术。回到图3,HTTP响应300可以是例如图2的web访问响应236。如图3所示,HTTP响应300包括起始行310、头部320和主体330。起始行310可以包括例如HTTP版本信息312、状态码314和原因短语(reasonphase)316。HTTP版本信息312提供了该消息所关联的HTTP协议的版本。在图3的示例中,HTTP响应300与HTTP版本1.0相关联。状态码314和原因短语316可以提供处理导致HTTP响应300的在先HTTP请求的状态。在图3的示例中,状态码314和原因短语316的组合可以指示处理成功。主体330包括该在先的HTTP请求所请求的web资源,并且可以包括例如文档、图像数据、媒体数据等。
头部320可以包括一个或更多个头部,包括头部322和头部324。头部322和头部324中的每一个头部可以包括名称字符串和值。在图3的示例中,头部322包括名称字符串“App-ID”和值“MY_APP”,而头部324包括名称字符串“App-Action”和值“Code_0”。根据本公开的某些方面,控制数据可以作为名称字符串和值的组合,插入头部320中。可以基于控制数据的预定语义和结构来确定名称字符串和值的组合。在图3的示例中,头部322和头部324都可以是控制数据的一部分。例如,头部322的“App-ID”名称字符串可以指示该头部322携带将要由控制数据进行配置的应用的标识符(“MY_APP”)。此外,头部324的“App-Action”名称字符串可以指示头部324携带代码,该代码指示应用的哪个元素将要更新,以及将进行什么更新。
当接收到包括头部320的HTTP响应300时,应用208可以基于控制数据的相同预定语义和结构来处理头部322和头部324。例如,应用208可以识别头部322的“App-ID”名称字符串,并提取值“MY_APP”,并将提取的值与应用208的标识符进行比较,以确定HTTP响应300是否包含该应用的或其他应用的控制数据。此外,应用208还可以识别头部324的“App-Action”名称字符串,并基于值“Code_0”确定配置更新。
图4是根据本公开的某些方面,将配置映射到不同控制数据值的示例映射表400的简化框图。可以将映射表400存储在服务器代理212和应用208中,或者可以由服务器代理212和应用208两者访问映射表400。在图4的示例中,一组值“Code_0”、“Code_1”和“Code_2”中的每一个值都与应用元素和配置设置相关联。配置设置可以包括例如用于在应用上显示网页的配置、用于使用应用执行搜索的配置或者应用的用户界面配置。例如,“Code_0”和“Code_1”都与应用208的搜索元素(例如,图1的搜索元素114)的操作相关联,而“Code_2”与应用208的输出界面(例如,图1的输出界面108)的操作相关联。此外,“Code_0”、“Code_1”和“Code_2”中的每一个都可以代表不同的配置设置。例如,在接收到“Code_0”时,应用208可以显示用于接收搜索查询的搜索输入文本框。此外,在接收到“Code_1”时,应用208可以将搜索查询指向“DOODLE”搜索引擎。此外,在接收到“Code_2”时,应用208可以在输出界面108中显示不透明层(例如,用于防止用户读取界面中呈现的web内容)。
服务器代理212还可以参考映射表400,基于前述触发事件来确定待写入头部324的值。例如,如果服务器代理212接收到使应用208显示搜索输入文本框的指令,则服务器代理212可以将“Code_0”包括在待传送到应用208的HTTP响应头部中。此外,如果服务器代理212接收到使应用208将搜索查询定向到“DOODLE”搜索引擎的指令,则服务器代理212可以将“Code_1”包括在HTTP响应头部中。此外,如果服务器代理212确定拒绝应用208对在HTTP响应中所包括的web资源进行访问,则服务器代理212可以将“Code_2”包括在HTTP响应头部中。
四、用于提供控制数据的系统和方法
图5是根据本公开的某些方面的用于传送控制数据的服务器代理500的示例的简化框图。服务器代理500可以是图2的服务器代理212。服务器代理500可以包括一个或更多个处理器502、网络接口卡(NIC)504和计算机可读介质520,计算机可读介质520存储服务器侧接口模块530、客户端侧接口模块540、访问请求模块550、访问响应模块560和控制数据生成模块570。服务器代理500还可以包括控制数据映射储存器580。
处理器502可以包括任何合适的处理设备或这类设备的任何组合。示例性处理器可以包括一个或更多个微处理器,它们一起工作以实现期望的功能。处理器可以包括中央处理单元(CPU),该CPU包括至少一个高速数据处理器,该高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序组件。
NIC 504可以提供从服务器代理500经由一个或更多个通信网络(包括局域网(LAN)、广域网(WAN)(例如,互联网)和各种无线电信网络)到其他设备(例如,客户端设备、服务器等)的通信接口。NIC 504可以包括以太网卡、异步传输模式NIC、令牌环NIC、无线网络接口控制器(WNIC)、无线网络适配器等。NIC 504可以便于向社交网络系统传送和接收输入内容。
计算机可读介质520可以是能够存储电子数据的任何合适的一个或多个设备。计算机可读介质可以由一个或更多个存储设备(包括工作存储器(working memory),其可以包括随机存取存储器(RAM)或只读存储器(ROM)设备)来实现。存储设备的示例可以包括存储器芯片、磁盘驱动器等。这类存储器设备可以使用任何合适的电、光和/或磁操作模式来进行操作。计算机可读介质520可以包括存储可由一个或更多个处理器502执行的多个指令的非暂态计算机可读存储介质。当由一个或更多个处理器502执行时,多个指令可以使得一个或更多个处理器502执行本文描述的任何方法。多个指令可以包括对应于服务器侧接口模块530的指令、对应于客户端侧接口模块540的指令、对应于访问请求模块550的指令、对应于访问响应模块560的指令和对应于控制数据生成模块570的指令,并且在运行期间被加载到计算机可读介质520中。
服务器侧接口模块530可以提供在另一服务器(例如,web服务器202、订阅服务器等)和服务器代理500的其他组件之间的接口。服务器侧接口模块530可以包括用于生成待传送到另一服务器的web访问请求(例如,图2的web访问请求232)的逻辑,以及用于处理从另一服务器接收的web访问响应(例如,图2的web访问响应234)的逻辑。如下文将更详细讨论的,服务器侧接口模块530可以接收来自访问请求模块550的指令,以生成web访问请求。服务器侧接口模块530还可以接收来自另一服务器的web访问响应,并将接收到的web访问响应转发给访问响应模块560进行处理。在服务器代理500和服务器经由通信网络(例如,以太网)连接的情况下,服务器侧接口模块530可以经由NIC 504向服务器传送web访问请求,并经由NIC 504接收来自服务器的web访问响应。
客户端侧接口模块540可以提供在客户端设备(例如,图1的计算设备100、图2的客户端设备204等)和服务器代理500的其他组件之间的接口。服务器侧接口模块540可以包括用于处理从客户端设备接收到的web访问请求(例如,图2的web访问请求230)的逻辑,以及用于生成待传送到客户端设备的web访问响应(例如,图2的web访问响应236)的逻辑。如下文更详细讨论的,客户端侧接口模块540可以从访问响应模块560和控制数据生成模块570接收指令,以生成web访问响应。客户端侧接口模块540还可以接收来自客户端设备的web访问请求,并将接收到的web访问请求转发给访问请求模块550进行处理。客户端侧接口模块540还可以经由NIC 504向客户端设备传送web访问响应,并经由NIC 504接收来自客户端设备的web访问请求。
访问请求模块550可以处理(经由客户端侧接口模块540)从客户端设备接收的web访问请求,并且向服务器侧接口模块530提供指令以将web访问请求传送到另一服务器。访问请求模块550可以通过例如提取标识所请求的web资源的信息(例如,通用资源标识符(URI)或在HTTP请求中所包含的部分URI)来处理web访问请求。如上所讨论,访问请求模块550可以累积指向特定web资源的web访问请求的数量,以实施可变访问策略。如果基于访问策略,准许客户端设备访问所请求的web资源,则访问请求模块550还可以基于接收到的web访问请求来生成第二web访问请求(例如,通过包括从接收到的web访问请求中提取的URI或部分URI)。访问请求模块550随后可以指示服务器侧接口模块530将第二web访问请求传送到目标服务器,以代表客户端设备请求web资源。
访问响应模块560可以处理(经由服务器侧接口模块530)从另一服务器接收的web访问响应,并且向客户端侧接口模块540提供指令以向客户端设备传送web访问响应。访问响应模块560可以通过例如提取在响应中所包括的web资源(例如,HTTP响应的主体)和其他配置信息(例如,HTTP响应的起始行)来处理web访问响应。访问响应模块560还可以接收来自控制数据生成模块的控制数据,并生成访问响应以包括所提取的web资源和控制数据。例如,访问响应模块560可以生成作为HTTP响应的第二web访问响应,其中,起始行包含所提取的配置信息,头部包含控制数据,并且主体包含所提取的web资源。访问响应模块560随后可以指示客户端侧接口模块540如上所述地向客户端设备传送第二web访问响应,以控制/配置客户端设备的一个或更多个功能。
控制数据生成模块570可以确定控制数据被包括在待传送到客户端设备的web访问响应中。控制数据生成模块570可以包括触发模块(图5中未示出),以检测用于生成控制数据的一个或更多个触发事件。触发事件可以包括例如来自另一服务器的推送软件更新的指令、web访问请求(例如,用于零费率web服务)的数量达到阈值等。控制数据生成模块570还可以基于触发事件来确定要在客户端设备处实现的配置。例如,如上所讨论,为了阻止对所请求的web资源的访问,控制数据生成模块570可以对客户端设备的web浏览应用的输出界面的操作进行配置。此外,为了准许无限制访问,控制数据生成模块570可以对客户端设备的本地代理的操作进行配置,使得本地代理将后续的web访问请求引导到web服务器而不是服务器代理。控制数据生成模块570还可以参考控制数据映射表(例如,图4的映射表400),以基于所确定的配置来确定在待传送到客户端设备的web访问响应中所包括的控制数据,并将控制数据提供给访问响应模块560。
在一些实施例中,控制数据生成模块570还可以对控制数据进行加密,并将加密的控制数据提供给访问响应模块560。例如,控制数据生成模块570可以从映射表400中获得控制数据值(例如,“Code_0”),并基于控制数据值生成哈希值(hash value)。控制数据生成模块570还可以生成密钥(例如,HMAC密钥),然后使用密钥对控制数据进行加密以生成签名。标识符可以与客户端设备相关联,或者与在客户端设备和服务器代理之间的TCP通信信道(例如,会话ID)相关联。控制数据生成模块570可以包括哈希值以及在web访问请求中的加密的控制数据。客户端设备在接收到web访问请求和web访问请求中所包括的加密的控制数据时,可以用HMAC密钥对控制数据进行解密,基于解密的控制数据来计算哈希值,并将该哈希值与在web访问请求中所包括的哈希值进行比较。如果两个哈希值匹配,则客户端设备可以确定控制数据来自可信源,并且根据控制数据值将配置应用于应用和/或本地代理。
控制数据映射储存器580可以包括一个或更多个映射表(例如,图4的映射表400),该映射表将控制数据映射到不同配置。控制数据生成模块570可以访问控制数据映射储存器580,以如上所述地获得用于控制数据生成的映射表。
图6是示出根据本公开的某些方面的用于向客户端设备提供控制数据的示例方法600的简化流程图。该方法可以由例如图2的服务器代理212和图5的服务器代理500来执行。
在602,系统可以从客户端设备(例如,图1的计算设备100、图2的客户端设备204等)接收对web资源的第一请求。第一请求可以是包括web资源的URI或部分URI的HTTP请求,而web资源可以是例如在web服务器(例如,图2的web服务器202)上托管的web内容。
在604,系统可以基于第一请求生成第二请求。第二请求可以是包括在第一请求中所包括的URI(或部分URI)的HTTP请求。系统可以基于确定客户端设备被准许访问所请求的web资源,来生成第二请求。随后在606,系统将第二请求传送到web服务器。
在608,系统可以生成与客户端设备的一个或更多个功能相关联的控制数据。一个或更多个功能可以包括例如输出界面的操作、传送后续web访问请求的目的地(例如,是将后续web访问请求传送到服务器代理还是传送到web服务器)等。可以基于对于外部事件(例如从另一服务器接收软件补丁、订阅事务的完成等)的检测来生成控制数据。基于外部事件,系统可以确定要应用于客户端设备的各个组件(例如,应用208、本地代理210等)的一组配置。系统可以参考控制数据映射表(例如,图4的映射表400)并基于该组配置来确定控制数据。
在610,系统可以从web服务器接收包括所请求的web资源的第一响应。第一响应可以是HTTP响应。
在612,系统可以生成包括控制数据和web资源的第二响应。第二响应可以是HTTP响应,具有根据控制数据生成的一个或更多个头部。控制数据也可以被加密。
在614,系统可以向客户端设备传送第二响应,以控制客户端设备的一个或更多个功能。例如,基于在第二响应中所包括的控制数据,客户端设备可以显示不透明层,以拒绝用户对web内容的访问、向web服务器而不是服务器代理传送后续的web访问请求等。
五、示例计算系统
图7示出了计算系统的框图的示例。图7所示的计算系统可以用于实现本文描述的任何计算设备(例如,图1的计算设备100、图2的客户端设备204和服务器代理212以及图5的服务器代理500等),以代替或补充所提供的描述。在该示例中,计算系统700包括处理器710、总线720、存储装置730、存储器740、随机存取存储器(RAM)742、只读存储器(ROM)744、文件系统750、用户输入设备760、输出设备770、网络接口780和通信网络790。在本示例中,用户输入设备760通常体现为计算机鼠标、轨迹球、触控板、操纵杆、无线遥控器、绘图板、语音命令系统、眼睛跟踪系统等。用户输入设备760通常允许用户通过诸如点击按钮等命令来选择出现在输出设备770上的对象、图标、文本等。输出设备770可以包括与计算设备、虚拟现实环境、投影系统、扬声器等相关联的屏幕。
网络接口780的示例通常包括以太网卡、调制解调器(电话、卫星、电缆、综合业务数字网(ISDN))、异步数字用户线路(DSL)单元、接口、通用串行总线(USB)接口等。例如,网络接口780可以耦合到通信网络790、总线等。在其他实施例中,网络接口780可以物理地集成在处理器710上,可以是软件程序(诸如软数字用户线路(DSL)等)。网络接口780可以对应于图5的NIC 504。
在各种示例中,计算系统700通常包括相似的计算机组件,诸如处理器710和存储器740设备(诸如RAM 742、ROM 744)、文件系统750和互连上述组件的系统总线720。处理器710可以对应于图5的处理器502。存储器740可以存储例如图5的服务器侧模块530、客户端侧接口模块540、访问请求模块550、访问响应模块560和控制数据生成模块570。这些模块可以由处理器710执行,以执行本文描述的任何方法。
RAM 742和ROM 744是被配置成存储诸如本公开的实施例的数据(包括可执行计算机代码、人类可读代码等)的有形非暂态介质的示例。其他类型的有形介质包括软盘、可移动硬盘、光存储介质(诸如,CD-ROM、DVD和条形码)、半导体存储器(诸如闪存)、需备用电池的易失性存储器(battery-backed volatile memory)、联网存储设备等。
在各种示例中,计算系统700还可以包括能够通过网络(例如超文本传输协议(HTTP)、传输控制协议/互联网协议(TCP/IP)、实时流传送协议(RTP/RTSP)等)进行通信的软件。在本公开的可选实施例中,也可以使用其他通信软件和传输协议,例如网际分组交换(IPX)、用户数据报协议(UDP)等。
在涉及方法、系统和存储介质的所附权利要求中具体公开了实施例,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统或计算机程序产品)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
虽然已经描述了特定实施例,但是各种修改、变更、替代结构和等同物是可能的。实施例不限于在某些特定数据处理环境中进行操作,而是可以在多个数据处理环境中自由地操作。另外,虽然已经使用特定系列的事务和步骤描述了某些实施例,但是对于本领域技术人员来说,显然这并不旨在进行限制。虽然一些流程图将操作描述为顺序过程,但是许多操作可以并行或并发地被执行。另外,可以重新安排操作的顺序。过程可能有图中未包括的附加步骤。上述实施例的各种特征和方面可以单独或联合地被使用。
此外,应当注意,各个示例可以被描述为过程,该过程被描绘为流程图、流程示意图、数据流示意图、结构图或框图。虽然流程图可以将操作描述为顺序过程,但是许多操作可以并行或并发地被执行。另外,可以重新安排操作的顺序。当过程的操作完成时,该过程就终止了,但是该过程可能有图中没有包括的附加步骤。过程可以对应于方法、函数、过程、子例程、子程序等。当过程对应于函数时,它的终止可以对应于该函数返回到调用函数或主函数。
术语“机器可读存储介质”或“计算机可读存储介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、包含或承载指令(多个指令)和/或数据的各种其他介质。机器可读存储介质或计算机可读存储介质可以包括其中可以存储数据的非暂态介质,并且不包括无线或通过有线连接进行传播的载波和/或暂态电子信号。非暂态介质的示例可以包括但不限于磁盘或磁带、诸如光盘(CD)或数字多功能盘(DVD)的光存储介质、闪存、存储器或存储器设备。计算机程序产品可以包括代码和/或机器可执行指令,其可以代表过程、函数、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序语句的任意组合。
此外,示例可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任意组合来实现。当以软件、固件、中间件或微代码的方式实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在机器可读介质中。一个或更多个处理器可以执行软件、固件、中间件、微代码、程序代码或代码段,以执行必要的任务。
可以以各种配置来提供在一些附图中描绘的系统。在一些示例中,系统可以被配置为分布式系统,其中,系统的一个或更多个组件分布在一个或更多个网络中,诸如在云计算系统中。
当组件被描述为“被配置成”执行某些操作时,可以通过下列项来完成这种配置:例如,设计电子电路或其他硬件来执行操作、通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程来执行操作、或者它们的任意组合。
此外,虽然已经使用硬件和软件的特定组合描述了某些实施例,但是应该认识到,硬件和软件的其他组合也是可能的。某些实施例可以仅以硬件的方式实现,或者仅以软件的方式实现,或者使用它们的组合来实现。在一个示例中,软件可以被实现为包含计算机程序代码或指令的计算机程序产品,所述计算机程序代码或指令可由一个或更多个处理器执行,用于执行本公开中描述的任何或所有步骤、操作或过程,其中计算机程序可以存储在非暂态计算机可读介质上。本文描述的各种过程可以在相同的处理器上实现,或者在任何组合中的不同的处理器上实现。
在设备、系统、组件或模块被描述为被配置为执行某些操作或功能的情况下,可以通过下列项来完成这种配置:例如,通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作(诸如通过执行计算机指令或代码)、或者通过被编程为执行存储在非暂态存储介质上的代码或指令的处理器或核、或者通过它们的任意组合。多个过程可以使用各种技术(包括但不限于用于进程间通信的传统技术)进行通信,并且不同的成对的过程可以使用不同的技术,或者相同的成对的过程可以在不同的时间使用不同的技术。
在本公开中给出了具体细节,以提供对实施例的透彻理解。然而,可以在没有这些具体细节的情况下实施实施例。例如,为了避免模糊实施例,众所周知的电路、过程、算法、结构和技术被示出,而没有不必要的细节。本描述仅提供示例性实施例,并不旨在限制其他实施例的范围、适用性或配置。相反,实施例的前述描述将为本领域技术人员提供用于实现各种实施例的可行的描述(enabling description)。可以对元素的功能和布置进行各种改变。
因此,应当从说明性意义上而非从限制性意义上来考虑说明书和附图。然而,显而易见的是,在不脱离权利要求中阐述的更广泛的精神和范围的情况下,可以对其进行添加、删减、删除以及其他修改和改变。因此,虽然已经描述了特定的实施例,但是这些实施例并不旨在进行限制。各种修改和等同物都在所附权利要求的范围内。
Claims (34)
1.一种计算机实现的控制方法,包括:
从客户端设备接收对web资源的第一请求;
基于所述第一请求生成第二请求;
向web服务器传送对所述web资源的所述第二请求;
生成与所述客户端设备的一个或更多个功能相关联的控制数据;
从所述web服务器接收包括所述web资源的第一响应;
生成包括所述控制数据和所述web资源的第二响应;和
将所述第二响应传送到所述客户端设备,以控制所述客户端设备的一个或更多个功能。
2.根据权利要求1所述的方法,其中:
所述方法由服务器代理执行;
所述客户端设备包括应用和本地代理;和
所述第一请求由所述本地代理基于由所述应用接收的web访问请求来生成。
3.根据权利要求2所述的方法,其中:
所述第一请求和所述第二请求是HTTP请求;
所述第一响应和所述第二响应是HTTP响应;和
所述控制数据被包含在所述第二响应的一个或更多个头部中。
4.根据权利要求2所述的方法,其中,所述一个或更多个功能与所述应用相关联。
5.根据权利要求4所述的方法,其中,所述控制数据包括信息,所述信息包括下列各项中的至少一项:用于在所述应用上显示网页的配置、用于使用所述应用来执行搜索的配置、或所述应用的用户界面配置。
6.根据权利要求2所述的方法,其中,所述一个或更多个功能与所述本地代理相关联。
7.根据权利要求6所述的方法,其中,所述第一请求是通过在所述本地代理和所述服务器代理之间建立的第一TCP连接从所述本地代理接收到的;
其中,所述控制数据控制所述本地代理,以与所述web服务器建立第二TCP连接,并通过所述第二TCP连接向所述web服务器传送第三请求。
8.根据权利要求7所述的方法,其中,所述控制数据控制所述应用以提供可激活的界面元素;
其中,所述控制数据控制所述本地代理以建立所述第二TCP连接,并基于检测到所述可激活的界面元素被激活,传送所述第三请求。
9.根据权利要求1所述的方法,其中,所述控制数据是基于所述第一请求生成的。
10.根据权利要求1所述的方法,其中,用签名对所述控制数据进行加密。
11.一种系统,包括:
一个或更多个处理器;以及
存储指令的非暂态计算机可读介质,当所述指令被所述一个或更多个处理器执行时,使得所述一个或更多个处理器执行下列操作,所述操作包括:
从客户端设备接收对web资源的第一请求;
基于所述第一请求生成第二请求;
向web服务器传送对所述web资源的所述第二请求;
生成与所述客户端设备的一个或更多个功能相关联的控制数据;
从所述web服务器接收包括所述web资源的第一响应;
生成包括所述控制数据和所述web资源的第二响应;和
将所述第二响应传送到所述客户端设备,以控制所述客户端设备的一个或更多个功能。
12.根据权利要求11所述的系统,其中:
所述系统是服务器代理的一部分;
所述客户端设备包括应用和本地代理;和
所述第一请求由所述本地代理基于由所述应用接收的web访问请求来生成。
13.根据权利要求12所述的系统,其中:
所述第一请求和所述第二请求是HTTP请求;
所述第一响应和所述第二响应是HTTP响应;和
所述控制数据被包含在所述第二响应的一个或更多个头部中。
14.根据权利要求12所述的系统,其中,所述一个或更多个功能与所述应用相关联。
15.根据权利要求14所述的系统,其中,所述控制数据包括信息,所述信息包括下列各项中的至少一项:用于在所述应用上显示网页的配置、用于使用所述应用来执行搜索的配置、或所述应用的用户界面配置。
16.根据权利要求12所述的系统,其中,所述一个或更多个功能与所述本地代理相关联。
17.根据权利要求16所述的系统,其中,所述第一请求是通过在所述本地代理和所述服务器代理之间建立的第一TCP连接从所述本地代理接收到的;
其中,所述控制数据控制所述本地代理,以与所述web服务器建立第二TCP连接,并通过所述第二TCP连接向所述web服务器传送第三请求。
18.根据权利要求17所述的系统,其中,所述控制数据控制所述应用以提供可激活的界面元素;
其中,所述控制数据控制所述本地代理以建立所述第二TCP连接,并基于检测到所述可激活的界面元素被激活,传送所述第三请求。
19.根据权利要求11所述的系统,其中,所述控制数据是基于所述第一请求生成的。
20.一种非暂态计算机可读存储介质,其存储能够由一个或更多个处理器执行的多个指令,当所述多个指令由所述一个或更多个处理器执行时,使得所述一个或更多个处理器:
从客户端设备接收对web资源的第一请求;
基于所述第一请求生成第二请求;
向web服务器传送对所述web资源的第二请求;
生成与所述客户端设备的一个或更多个功能相关联的控制数据;
从所述web服务器接收包括所述web资源的第一响应;
生成包括所述控制数据和所述web资源的第二响应;和
将所述第二响应传送到所述客户端设备,以控制所述客户端设备的一个或更多个功能。
21.一种计算机实现的控制方法,包括:
从客户端设备接收对web资源的第一请求;
基于所述第一请求生成第二请求;
向web服务器传送对所述web资源的所述第二请求;
生成与所述客户端设备的一个或更多个功能相关联的控制数据;
从所述web服务器接收包括所述web资源的第一响应;
生成包括所述控制数据和所述web资源的第二响应;和
将所述第二响应传送到所述客户端设备,以控制所述客户端设备的一个或更多个功能。
22.根据权利要求21所述的方法,其中:
所述方法由服务器代理执行;
所述客户端设备包括应用和本地代理;和
所述第一请求由所述本地代理基于由所述应用接收的web访问请求来生成。
23.根据权利要求22所述的方法,其中:
所述第一请求和所述第二请求是HTTP请求;
所述第一响应和所述第二响应是HTTP响应;和
所述控制数据被包含在所述第二响应的一个或更多个头部中。
24.根据权利要求22或23所述的方法,其中,所述一个或更多个功能与所述应用相关联;
可选地,其中,所述控制数据包括信息,所述信息包括下列各项中的至少一项:用于在所述应用上显示网页的配置、用于使用所述应用执行搜索的配置、或者所述应用的用户界面配置。
25.根据权利要求22至24中的任意一项所述的方法,其中,所述一个或更多个功能与所述本地代理相关联;
可选地,其中,所述第一请求是通过在所述本地代理和所述服务器代理之间建立的第一TCP连接从所述本地代理接收到的;
其中,所述控制数据控制所述本地代理,以与所述web服务器建立第二TCP连接,并通过所述第二TCP连接向所述web服务器传送第三请求;和/或
可选地,其中,所述控制数据控制所述应用以提供可激活的界面元素;
其中,所述控制数据控制所述本地代理以建立所述第二TCP连接,并基于检测到所述可激活的界面元素被激活,传送所述第三请求。
26.根据权利要求21至25中的任意一项所述的方法,其中,所述控制数据是基于所述第一请求生成的。
27.根据权利要求21至26中的任意一项所述的方法,其中,用签名对所述控制数据进行加密。
28.一种系统,包括:
一个或更多个处理器;以及
存储指令的非暂态计算机可读介质,当所述指令被所述一个或更多个处理器执行时,使得所述一个或更多个处理器执行下列操作,所述操作包括:
从客户端设备接收对web资源的第一请求;
基于所述第一请求生成第二请求;
向web服务器传送对所述web资源的所述第二请求;
生成与所述客户端设备的一个或更多个功能相关联的控制数据;
从所述web服务器接收包括所述web资源的第一响应;
生成包括所述控制数据和所述web资源的第二响应;和
将所述第二响应传送到所述客户端设备,以控制所述客户端设备的一个或更多个功能。
29.根据权利要求28所述的系统,其中:
所述系统是服务器代理的一部分;
所述客户端设备包括应用和本地代理;和
所述第一请求由所述本地代理基于由所述应用接收的web访问请求来生成。
30.根据权利要求29所述的系统,其中:
所述第一请求和所述第二请求是HTTP请求;
所述第一响应和所述第二响应是HTTP响应;和
所述控制数据被包含在所述第二响应的一个或更多个头部中。
31.根据权利要求29或30所述的系统,其中,所述一个或更多个功能与所述应用相关联;
可选地,其中,所述控制数据包括信息,所述信息包括下列各项中的至少一项:用于在所述应用上显示网页的配置、用于使用所述应用执行搜索的配置、或者所述应用的用户界面配置。
32.根据权利要求29至31中的任意一项所述的系统,其中,所述一个或更多个功能与所述本地代理相关联;
可选地,其中,所述第一请求是通过在所述本地代理和所述服务器代理之间建立的第一TCP连接从所述本地代理接收到的;
其中,所述控制数据控制所述本地代理,以与所述web服务器建立第二TCP连接,并通过所述第二TCP连接向所述web服务器传送第三请求;和/或
可选地,其中,所述控制数据控制所述应用以提供可激活的界面元素;
其中,所述控制数据控制所述本地代理以建立所述第二TCP连接,并基于检测到所述可激活的界面元素被激活,传送所述第三请求。
33.根据权利要求28至32中的任意一项所述的系统,其中,所述控制数据是基于所述第一请求生成的。
34.一种非暂态计算机可读存储介质,其存储能够由一个或更多个处理器执行的多个指令,当所述多个指令由所述一个或更多个处理器执行时,使得所述一个或更多个处理器:
从客户端设备接收对web资源的第一请求;
基于所述第一请求生成第二请求;
向web服务器传送对所述web资源的第二请求;
生成与所述客户端设备的一个或更多个功能相关联的控制数据;
从所述web服务器接收包括所述web资源的第一响应;
生成第二响应,所述第二响应包括所述控制数据和所述web资源;和
将所述第二响应传送到所述客户端设备,以控制所述客户端设备的一个或更多个功能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/658,326 US11025724B2 (en) | 2017-07-24 | 2017-07-24 | Transport of control data in proxy-based network communications |
US15/658,326 | 2017-07-24 | ||
PCT/US2017/043787 WO2019022723A1 (en) | 2017-07-24 | 2017-07-25 | TRANSPORTING CONTROL DATA IN NETWORK COMMUNICATIONS BASED ON A REPRESENTATIVE |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110999260A true CN110999260A (zh) | 2020-04-10 |
CN110999260B CN110999260B (zh) | 2022-07-22 |
Family
ID=65023333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780094259.9A Active CN110999260B (zh) | 2017-07-24 | 2017-07-25 | 在基于代理的网络通信中的控制数据的传输 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11025724B2 (zh) |
JP (1) | JP7018498B2 (zh) |
KR (1) | KR102308269B1 (zh) |
CN (1) | CN110999260B (zh) |
WO (1) | WO2019022723A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US10789642B2 (en) | 2014-05-30 | 2020-09-29 | Apple Inc. | Family accounts for an online content storage sharing service |
US9875346B2 (en) | 2015-02-06 | 2018-01-23 | Apple Inc. | Setting and terminating restricted mode operation on electronic devices |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US11025724B2 (en) * | 2017-07-24 | 2021-06-01 | Facebook, Inc. | Transport of control data in proxy-based network communications |
EP4184896A1 (en) | 2017-08-28 | 2023-05-24 | Bright Data Ltd. | Content fetching through intermediate device |
US10872024B2 (en) * | 2018-05-08 | 2020-12-22 | Apple Inc. | User interfaces for controlling or presenting device usage on an electronic device |
EP4053717A3 (en) * | 2019-02-25 | 2022-10-26 | Bright Data Ltd. | System and method for url fetching retry mechanism |
WO2020202135A2 (en) | 2019-04-02 | 2020-10-08 | Luminati Networks Ltd. | System and method for managing non-direct url fetching service |
KR102609732B1 (ko) * | 2021-11-16 | 2023-12-05 | 주식회사 카카오엔터프라이즈 | Api 게이트웨이 및 그의 동작 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809020A (zh) * | 2005-01-20 | 2006-07-26 | 中兴通讯股份有限公司 | 一种快速响应的集中式接纳控制系统及控制方法 |
WO2006112662A1 (en) * | 2005-04-19 | 2006-10-26 | Lg Electronics Inc. | Method and apparatus for making devices on a local network remotely-accessible |
US20070245409A1 (en) * | 2006-04-12 | 2007-10-18 | James Harris | Systems and Methods for Providing Levels of Access and Action Control Via an SSL VPN Appliance |
WO2012018748A1 (en) * | 2010-08-05 | 2012-02-09 | Citrix Systems, Inc. | Systems and methods for cookie proxy management across cores in a multi-core system |
CN103620576A (zh) * | 2010-11-01 | 2014-03-05 | 七网络公司 | 适用于移动应用程序行为和网络条件的缓存 |
EP3018580A1 (en) * | 2014-11-06 | 2016-05-11 | Alcatel Lucent | Cache server and method for serving and caching web resources |
CN105659654A (zh) * | 2013-06-11 | 2016-06-08 | 七网络有限责任公司 | 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法 |
CN112364274A (zh) * | 2020-10-28 | 2021-02-12 | 北京中科网威信息技术有限公司 | Web站点访问加速方法及装置 |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5673322A (en) * | 1996-03-22 | 1997-09-30 | Bell Communications Research, Inc. | System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks |
JP3307894B2 (ja) * | 1999-06-22 | 2002-07-24 | 三菱電機株式会社 | 通信方法 |
US6684257B1 (en) * | 1999-10-15 | 2004-01-27 | International Business Machines Corporation | Systems, methods and computer program products for validating web content tailored for display within pervasive computing devices |
JP2002007288A (ja) | 2000-06-21 | 2002-01-11 | Ntt Communications Kk | 否認防止情報管理方法、その装置及びプログラム記録媒体 |
US6895444B1 (en) * | 2000-09-15 | 2005-05-17 | Motorola, Inc. | Service framework with local proxy for representing remote services |
US7076244B2 (en) * | 2001-07-23 | 2006-07-11 | Research In Motion Limited | System and method for pushing information to a mobile device |
US7383339B1 (en) * | 2002-07-31 | 2008-06-03 | Aol Llc, A Delaware Limited Liability Company | Local proxy server for establishing device controls |
US8468578B1 (en) * | 2002-12-30 | 2013-06-18 | Aol Inc. | Establishing access controls in a premise-based environment |
JP2005182364A (ja) | 2003-12-18 | 2005-07-07 | Canon Software Inc | Www中継サーバおよび情報閲覧時間計測方法およびプログラムおよび記録媒体 |
JP4160092B2 (ja) * | 2004-03-09 | 2008-10-01 | ケイティーフリーテル カンパニー リミテッド | パケットデータ課金細分化方法及びそのシステム |
US7523145B2 (en) * | 2004-04-22 | 2009-04-21 | Opentv, Inc. | System for managing data in a distributed computing system |
US20050271207A1 (en) * | 2004-06-05 | 2005-12-08 | Helmut Frey | Method and system for chaotic digital signature, encryption, and authentication |
US20070061488A1 (en) * | 2004-09-20 | 2007-03-15 | Trilibis Inc. | System and method for flexible user interfaces |
US20060200566A1 (en) * | 2005-03-07 | 2006-09-07 | Ziebarth Wayne W | Software proxy for securing web application business logic |
US7594003B2 (en) * | 2005-08-02 | 2009-09-22 | Aol Llc | Client/server web application architectures for offline usage, data structures, and related methods |
US9306975B2 (en) * | 2006-09-19 | 2016-04-05 | The Invention Science Fund I, Llc | Transmitting aggregated information arising from appnet information |
US8539329B2 (en) * | 2006-11-01 | 2013-09-17 | Bloxx Limited | Methods and systems for web site categorization and filtering |
US7756903B2 (en) * | 2006-12-12 | 2010-07-13 | Yahoo! Inc. | Configuring a search engine results page with environment-specific information |
WO2009055458A1 (en) * | 2007-10-27 | 2009-04-30 | Research In Motion Limited | Content disposition system and method for processing message content in a distributed environment |
US8839403B2 (en) * | 2007-12-31 | 2014-09-16 | Sandisk Il Ltd. | Local proxy system and method |
US8543667B2 (en) * | 2008-01-14 | 2013-09-24 | Akamai Technologies, Inc. | Policy-based content insertion |
KR100967337B1 (ko) | 2008-08-20 | 2010-07-05 | 주식회사 컴퍼니원헌드레드 | 프록시 서버를 이용한 이동통신 단말기의 웹 브라우저 시스템 |
US20100057830A1 (en) * | 2008-08-26 | 2010-03-04 | Nokia Corporation | Controlling Client-Server Communications |
US8621065B1 (en) * | 2008-10-23 | 2013-12-31 | Amazon Technologies, Inc. | Dynamic blocking of suspicious electronic submissions |
US20100153568A1 (en) * | 2008-12-16 | 2010-06-17 | Nokia Corporation | Methods, apparatuses, and computer program products for providing a local proxy for accessing web services |
JP5294885B2 (ja) | 2009-01-07 | 2013-09-18 | 株式会社日立製作所 | サービス中継装置、サービス中継方法、この方法を実行するためのプログラム |
JP5458977B2 (ja) | 2010-03-10 | 2014-04-02 | 富士通株式会社 | 中継処理方法、プログラム及び装置 |
US10263958B2 (en) * | 2010-03-18 | 2019-04-16 | Nominum, Inc. | Internet mediation |
EP2599280A2 (en) | 2010-07-26 | 2013-06-05 | Seven Networks, Inc. | Mobile application traffic optimization |
US9276979B2 (en) * | 2010-09-01 | 2016-03-01 | Vuclip (Singapore) Pte. Ltd. | System and methods for resilient media streaming |
JP5811708B2 (ja) | 2010-09-30 | 2015-11-11 | ブラザー工業株式会社 | 画像処理システム、画像処理方法、中継装置、及び、中継プログラム。 |
US8824370B2 (en) * | 2010-12-16 | 2014-09-02 | Openet Telecom Ltd. | Methods, systems and devices for dynamic context-based routing |
US8799470B2 (en) * | 2011-03-11 | 2014-08-05 | Qualcomm Incorporated | System and method using a client-local proxy-server to access a device having an assigned network address |
US20130031601A1 (en) * | 2011-07-27 | 2013-01-31 | Ross Bott | Parental control of mobile content on a mobile device |
US8813092B2 (en) * | 2011-10-12 | 2014-08-19 | Raytheon Company | CORBA embedded inter-orb protocol (EIOP) |
FI125252B (en) | 2011-12-07 | 2015-08-14 | Arm Finland Oy | Procedure, device and system for managing web services |
US8977704B2 (en) * | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
US20140207911A1 (en) * | 2013-01-22 | 2014-07-24 | James Kosmach | System and method for embedding multimedia controls and indications in a webpage |
US10120847B2 (en) * | 2012-01-27 | 2018-11-06 | Usablenet Inc. | Methods for transforming requests for web content and devices thereof |
GB2511562B (en) * | 2012-03-02 | 2015-08-12 | Seven Networks Inc | Providing data to a mobile application accessible at a mobile device via different network connections without interruption and mobile device which hands over |
WO2013190545A1 (en) * | 2012-06-17 | 2013-12-27 | Skycure Ltd | Access control system for a mobile device |
WO2014062921A1 (en) * | 2012-10-19 | 2014-04-24 | Interdigital Patent Holdings, Inc. | Multi-hypothesis rate adaptation for http streaming |
US9374436B2 (en) | 2012-12-13 | 2016-06-21 | Qualcomm Incorporated | Loading a re-directed web page on a web browser of a client device in a communications system |
US20140173111A1 (en) * | 2012-12-19 | 2014-06-19 | Netzero Wireless, Inc. | Data usage management systems and methods |
US10075554B2 (en) * | 2012-12-20 | 2018-09-11 | Facebook, Inc. | Detecting mobile device attributes |
US9213845B1 (en) * | 2013-03-08 | 2015-12-15 | Amazon Technologies, Inc. | Content access control across multiple media devices |
US10282401B2 (en) * | 2013-03-13 | 2019-05-07 | Usablenet Inc. | Methods for processing cascading style sheets and devices thereof |
US9787687B2 (en) * | 2013-04-10 | 2017-10-10 | Spotify Ab | Systems and methods for efficient and secure temporary anonymous access to media content |
US20150019686A1 (en) * | 2013-07-12 | 2015-01-15 | Seven Networks, Inc. | Distributed caching systems with configurable extended caching optimization |
US9065765B2 (en) * | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US9654580B2 (en) * | 2013-10-08 | 2017-05-16 | Microsoft Technology Licensing, Llc | Proxy-based web application monitoring through script instrumentation |
US9697189B2 (en) * | 2013-11-15 | 2017-07-04 | Instart Logic, Inc. | Partial website optimization for a web publisher |
US9351254B2 (en) * | 2014-01-22 | 2016-05-24 | Seven Networks, Llc | Method for power saving in mobile devices by optimizing wakelocks |
US20150249852A1 (en) * | 2014-02-28 | 2015-09-03 | United Video Properties, Inc. | Systems and methods for crowd-sourced media access control |
US9380342B2 (en) * | 2014-02-28 | 2016-06-28 | Rovi Guides, Inc. | Systems and methods for control of media access based on crowd-sourced access control data and user-attributes |
US9391995B2 (en) * | 2014-09-30 | 2016-07-12 | Airwatch Llc | Remote processing of mobile applications |
US9342617B1 (en) * | 2015-05-19 | 2016-05-17 | Parrable, Inc. | Unique identifiers for browsers |
US9747434B1 (en) * | 2015-09-17 | 2017-08-29 | EMC IP Holding Company LLC | Authenticating with an external device by providing a message having message fields arranged in a particular message field order |
US20170302619A1 (en) * | 2016-04-19 | 2017-10-19 | Virtual Network Element, Inc. | System and Method for Automating Protocol Implementation in a Diameter Wireless Network |
US20190141013A1 (en) * | 2016-06-02 | 2019-05-09 | Adjesty Sofware Ltd. | Method and system for informational content quality verification |
US10277701B2 (en) * | 2016-07-08 | 2019-04-30 | Facebook, Inc. | Methods and Systems for Rewriting Scripts to Direct Requests |
US10402181B2 (en) * | 2016-07-18 | 2019-09-03 | Airwatch Llc | Generating and optimizing deployment configurations for enrolled devices |
US10282172B2 (en) * | 2016-09-12 | 2019-05-07 | Adobe Inc. | Authoring and deploying television apps and pages in a content management system |
US10853887B2 (en) * | 2016-09-27 | 2020-12-01 | Adobe Inc. | Determination of paywall metrics |
US10367784B2 (en) * | 2016-09-30 | 2019-07-30 | Palo Alto Networks, Inc. | Detection of compromised credentials as a network service |
US10542459B2 (en) * | 2017-03-17 | 2020-01-21 | Verizon Patent And Licensing Inc. | Systems and methods for accessing multiple application servers via a service capability exposure function |
US11025724B2 (en) * | 2017-07-24 | 2021-06-01 | Facebook, Inc. | Transport of control data in proxy-based network communications |
US11062050B2 (en) * | 2017-11-24 | 2021-07-13 | Elsi Inc | Devices, systems, and methods for securely storing and managing sensitive information |
US11088994B2 (en) * | 2017-12-01 | 2021-08-10 | Twingate Inc. | Local interception of traffic to a remote forward proxy |
-
2017
- 2017-07-24 US US15/658,326 patent/US11025724B2/en active Active
- 2017-07-25 CN CN201780094259.9A patent/CN110999260B/zh active Active
- 2017-07-25 WO PCT/US2017/043787 patent/WO2019022723A1/en active Application Filing
- 2017-07-25 KR KR1020207004400A patent/KR102308269B1/ko active IP Right Grant
- 2017-07-25 JP JP2020503261A patent/JP7018498B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809020A (zh) * | 2005-01-20 | 2006-07-26 | 中兴通讯股份有限公司 | 一种快速响应的集中式接纳控制系统及控制方法 |
WO2006112662A1 (en) * | 2005-04-19 | 2006-10-26 | Lg Electronics Inc. | Method and apparatus for making devices on a local network remotely-accessible |
US20070245409A1 (en) * | 2006-04-12 | 2007-10-18 | James Harris | Systems and Methods for Providing Levels of Access and Action Control Via an SSL VPN Appliance |
WO2012018748A1 (en) * | 2010-08-05 | 2012-02-09 | Citrix Systems, Inc. | Systems and methods for cookie proxy management across cores in a multi-core system |
CN103620576A (zh) * | 2010-11-01 | 2014-03-05 | 七网络公司 | 适用于移动应用程序行为和网络条件的缓存 |
CN105659654A (zh) * | 2013-06-11 | 2016-06-08 | 七网络有限责任公司 | 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法 |
EP3018580A1 (en) * | 2014-11-06 | 2016-05-11 | Alcatel Lucent | Cache server and method for serving and caching web resources |
CN112364274A (zh) * | 2020-10-28 | 2021-02-12 | 北京中科网威信息技术有限公司 | Web站点访问加速方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190028548A1 (en) | 2019-01-24 |
JP7018498B2 (ja) | 2022-02-10 |
US11025724B2 (en) | 2021-06-01 |
JP2020529655A (ja) | 2020-10-08 |
WO2019022723A1 (en) | 2019-01-31 |
KR20200023485A (ko) | 2020-03-04 |
KR102308269B1 (ko) | 2021-10-06 |
CN110999260B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110999260B (zh) | 在基于代理的网络通信中的控制数据的传输 | |
US10587544B2 (en) | Message processing method, processing server, terminal, and storage medium | |
US9706371B2 (en) | Push notification middleware | |
CN106716404B (zh) | 计算机子网内的代理服务器 | |
CN107105001B (zh) | 在电子设备之间传送状态的系统 | |
JP2017529793A5 (zh) | ||
US10034057B2 (en) | Message processing method, device, gateway, STB and IPTV | |
US20130046816A1 (en) | Method for Flow Control and Reliable Communication In A Collaborative Environment | |
CN109951546B (zh) | 基于智能合约的事务请求处理方法、装置、设备和介质 | |
TW201347469A (zh) | 透過閘道器伺服器或服務以存取雲端運算服務儲存的多媒體裝置 | |
US10021195B2 (en) | Cross-device synchronization system for account-level information | |
CN110769009B (zh) | 用户身份认证方法及系统 | |
WO2015192582A1 (zh) | 虚拟桌面登录验证方法和装置 | |
EP3417367B1 (en) | Implementing a storage system using a personal user device and a data distribution device | |
US9614900B1 (en) | Multi-process architecture for a split browser | |
US10892912B2 (en) | Optimization of network data transfers over a wide area network | |
US9763082B2 (en) | Optimizing setup for wireless devices | |
EP3435629B1 (en) | Transport of control data in proxy-based network communications | |
CN111786932A (zh) | 账号登录方法、装置、电子设备及计算机存储介质 | |
WO2022211849A1 (en) | Method and apparatus for configuring 5g application servers in connected uplink-to-downlink streaming | |
US11720291B2 (en) | Methods and systems for accessing remotely stored files using virtual applications | |
WO2021231064A1 (en) | Modification of application-provided turn servers | |
US20240031358A1 (en) | System and method for providing a web based rdp service through a zero trust cloud environment | |
Singh et al. | An efficient device to device RPC framework using DBUS and KDBus | |
CN114615085A (zh) | 一种通信方法、装置、设备和存储介质 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan platform Co. Address before: California, USA Applicant before: Facebook, Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |