CN107431630B - 高度可扩展、容错的远程访问架构和与之连接的方法 - Google Patents
高度可扩展、容错的远程访问架构和与之连接的方法 Download PDFInfo
- Publication number
- CN107431630B CN107431630B CN201680010239.4A CN201680010239A CN107431630B CN 107431630 B CN107431630 B CN 107431630B CN 201680010239 A CN201680010239 A CN 201680010239A CN 107431630 B CN107431630 B CN 107431630B
- Authority
- CN
- China
- Prior art keywords
- client
- service
- url
- application server
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012546 transfer Methods 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 2
- 238000013468 resource allocation Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000412611 Consul Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- 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/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- 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/562—Brokering 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Power Engineering (AREA)
Abstract
用于客户端‑服务器远程访问***中提供对服务的远程访问的***和方法。所述方法包括由调度器选择托管所述服务的应用服务器,所述选择是根据所述客户端‑服务器远程访问***中的资源利用率来执行的。创建会话统一资源***(URL),所述会话URL包含唯一地识别所述服务且用于由客户端建立对所述服务的所述远程访问的URL有效负载。所述***可以包括可在资源URL处访问的代理服务器。所述代理服务器从客户端接收连接到所述服务的请求。认证组件根据所述资源URL的有效负载对所述请求进行认证。服务管理器在所述客户端与所述会话URL处连接的所述服务之间建立会话。
Description
相关申请的交叉引用
本申请要求2015年1月30日提交的且题为“高度可扩展、容错的远程访问构架和与之连接的方法(Highly Scalable,Fault Tolerant Remote Access Architecture andMethod of Connecting Thereto)”的美国临时专利申请号62/109,914的优先权,该临时专利申请的公开内容特此通过引用全部并入本文。
背景技术
由于宽带和无线网络访问的增长以及可用性,无所不在的对服务的远程访问变得***板计算设备、膝上型/笔记本/桌上型计算机等)来连接到范围广泛的不同远程服务。远程服务器可以通过多种网络在远程服务和客户端设备之间传送包含数据或其他信息的消息,这些网络包括3G、4G和LTE移动数据网络、如WiFi和WiMax的无线网络、有线网络等。
既定此类增长的情况下,存在远程访问服务器可能无法提供足够的可扩展性来服务于数量巨大的客户端设备的并行用户的情况。此外,存在如需求高以及组件故障的多种情形,此时远程访问服务器可能崩溃,从而使得用户与之连接中断。
发明内容
本文公开的是用于客户端-服务器远程访问***中提供对服务的远程访问的***和方法。根据本公开的一个方面,公开一种用于客户端-服务器远程访问***中提供对服务的远程访问的方法。所述方法包括由调度器选择托管所述服务的应用服务器,所述选择是根据所述客户端-服务器远程访问***中的资源利用率来执行的;以及创建会话URL,所述会话URL包含唯一地识别所述服务且用于由客户端建立对所述服务的远程访问的URL有效负载。
根据本公开的其他方面,公开一种用于提供对服务的访问的客户端-服务器远程访问***。该***包括在资源统一资源***(URL)处可访问的代理服务器。所述代理服务器从客户端接收连接到所述服务的请求。认证组件根据所述资源URL的有效负载对所述请求进行认证。调度器,其根据所述客户端-服务器远程访问***处的资源利用率来选择托管所述服务的应用服务器。所述调度器创建会话URL,所述会话URL包含用于在所述客户端与所述服务之间建立会话的所述有效负载。服务管理器根据经认证的请求在所述客户端与所述会话URL处连接的所述服务之间建立所述会话,以便在所述客户端与所述服务之间传送应用数据和状态信息。
根据又一些方面,公开一种用于客户端-服务器远程访问***中实现对服务的远程访问的方法。所述方法包括由调度器选择托管所述服务的应用服务器,所述选择是根据所述客户端-服务器远程访问***中的资源利用率来执行的;将App ID与所述服务关联;由所述调度器创建会话统一资源***(URL),所述会话URL包含所述App ID作为有效负载,所述会话URL识别所述应用服务器托管的所述服务;以及使得所述服务在所述会话URL处可用于客户端。
在检视下文附图和详细描述时,其他***、方法、特征和/或优点对于本领域技术人员来说将是显而易见的或可以变得显而易见。所有此类附加***、方法、特征和/或优点理应包含在本说明书内且受到所附权利要求书的保护。
附图说明
附图中的组件未必相对于彼此成比例。所有视图中,相似的参考符号指代对应的部分。
图1图示用于提供对服务的远程访问的示例性环境;
图2图示操作流程,其图示在图1的示例性环境内,客户端设备使用资源URL做出请求以及使用会话URL连接到应用以及与应用断开连接;
图3图示调用流程图,其图示在执行图2的操作流程时在组件之间传送的消息序列;
图4图示用于创建协作URL以在协作器和/或客户端之间建立协作会话的操作流程;
图5A、图5B和图5C图示仪表板呈现的示例性用户界面;以及
图6图示了示例性计算设备。
具体实施方式
除非另外定义,否则本文使用的所有技术和科学术语具有与本领域一般技术人员所共识的相同含义。在实施或测试本公开时可以使用与本文描述的方法和材料相似或等效的方法和材料。虽然将描述多种实现用于提供高度可扩展、容错的远程访问架构和方法以用于将客户端连接到该远程访问架构提供的被远程访问的应用和服务,但是本领域技术人员应明了,这些实现不限于此。
以上文概述作为简介,现在参考图1,其图示提供对服务的远程访问的示例架构100。如图1所示,客户端设备102a/102b/102c可以执行相应的客户端软件开发工具(SDK)104a/104b/104c以及相应的客户端远程访问应用105a/105b/105c。客户端设备102a/102b/102c可以是可通过通信网络125连接到一个或多个代理服务器113a/113b/113c的无线手持设备,例如IPHONE、基于ANDROID的设备、平板设备或桌上型/笔记本个人计算机。
客户端SDK 104a/104b/104c与相应的客户端远程访问应用105a/105b/105c关联且调适成从其连接的远程访问和应用服务器103a/103b接收显示信息。客户端远程访问应用105a/105b/105c可以是在客户端设备102a/102b/102c处提供用户界面以显示来自所连接的一个或多个服务(如一个或多个应用115a/115b/115c)的信息的例如Web浏览器、专用应用等。术语“应用”和“服务”在本文中是可互换使用的,并且是指通过网络交付到客户端设备的程序或一组程序。示例应用包括但不限于医疗影像应用、CAD应用、地震仪应用、协作式白板应用或其他。
通信网络125可以是3G、4G和/或LTE移动数据网络、如WiFi和WiMax的无线网络或有线网络等。通过通信网络125的连接可以是超文本传输协议(HTTP)、WebSocket协议(WSS)或TCP/IP网络支持的任何其他协议。
代理服务器113a/113b/113c可以是能够处理相对数量巨大的同时请求(例如,数千至数百万同时请求)的HTTP服务器和反向代理服务器。在一种实现中,代理服务器113a/113b/113c在与远程访问和应用服务器103a/103b分开的节点(例如,服务器计算设备)上执行且通过通信连接126与之进行通信连接。通信连接126可以是比通信连接125更高容量的连接。代理服务器113a/113b/113c还可以根据远程访问和应用服务器103a/103b的负荷、计算成本、地理位置或其他因素来提供架构100内的扩展。示例代理服务器113a/113b/113c是可从Nginx有限公司(加州旧金山)购得的nginx。
远程访问和应用服务器103a/103b可以包括服务管理器111a/111b、应用服务器114a/114b和一个或多个应用(服务)115a/115b/115c。在架构100中,服务管理器111a/111b负责停止和启动特定远程访问和应用服务器103a/103b上的应用115a/115b/115c。应用服务器114a/114b提供连接编组。应用服务器114a/114b可以包括提供从客户端设备102a/102b/102c至应用115a/115b/115c的显示信息以及提供从应用115a/115b/115c至客户端设备115a/115b/115c的服务器SDK 116a/116b。远程访问和应用服务器103a/103b的示例是可从Calgary Scientific有限公司(加拿大卡尔加里阿尔伯塔)购得的PUREWEB。
可以提供认证组件124以便对架构100内的用户和应用115a/115b/115c进行认证。根据架构100提供的安全性模型,在获得认证组件124认证和获准访问之前,应用115a/115b/115c互不信任。认证组件124可以使用基于令牌的认证方案来提供其服务。例如,一旦获得认证,则可以将受限的统一资源***(URL)映射到用户。
仪表板127为***管理员提供启动应用服务器的实例以及配置架构100中的组件的能力。图5A、图5B和图5C中示出仪表板呈现的示例性用户界面,其示出用于启动架构100内的组件的用户界面(图5A)、服务信息(图5B)和应用服务器与服务管理器信息(图5C)。虽然未示出,但是仪表板127还可以报告有关集群120的性能的度量。
例如,可以提供调度器130来管理如应用服务器103a/103b或集群120中的其他节点的资源的利用率。调度器130可以实现一个或多个选择试探以确定哪个应用服务器103a/103b要服务于远程访问连接请求。一个示例试探是选择正在运行最少数量的服务的应用服务器(即,最轻负荷试探)。另一个示例试探是选择具有可用容量的最长运行应用服务器(即,最旧且有容量试探)。此示例试探尝试将更多的服务加载到更少更旧的应用服务器上,使得最近创建的应用服务器变得空闲且可能被关机。又一个示例试探从应用115a/115b/115c的状态性进行考虑,并根据现有运行的应用(例如,应用115a/115b/115c中的一者)的状态来选择应用服务器。例如,应用115a/115b/115c可能已被应用服务器排成队列,使得可用于接收来自特定客户端102a/102b/102c的连接。一旦连接,则特定客户端102a/102b/102c保持连接或将重新连接到同一个应用115a/115b/115c。这种试探可以用于其中应用115a/115b/115c在本质上是图形的环境中。根据上文,调度器130可以实时地创建会话URL和关联的有效负载(例如,唯一地识别该应用/服务的App ID)以将客户端设备102a/102b/102c的用户指引到由特定应用服务器(例如114a)托管的服务(例如115a)。下文参考图3提供此特征的详情。
编排器131可以根据负荷、硬件容量(例如,CPU、GPU、存储器)、联网要求、成本、地理位置或其他度量来启动和停止远程访问和应用服务器103a/103b。调度器130可以在与企业、云服务提供商(例如,亚马逊Web服务)或其他实体相关联的防火墙134后将应用服务器103a/103b部署为集群120。集群化使得多个远程访问和应用服务器103a/103b能够提供高可用性、负荷平衡和/或并行处理。在一些实现中,应用服务器103a/103b可以是响应于从编排器131接收的启动命令由多个映像创建的基于云的实例。例如,可能存在与每个应用115(或多个应用)关联的预先构建的映像,以使该映像能够在实例化为云环境中的实例时被加载到应用服务器上。
编排器131可以人工或自动地操作。当人工操作时,用户使用(与开发人员关联的客户端及设备上的)命令行界面远程连接到编排器131,并将正在使用的应用服务器加电或断电。当自动操作时,编排器131可以从调度器130接收有关集群120内的当前资源分配的信息。如果集群120内或特定应用服务器103a或103b上的资源利用率高,则编排器131可以自动地启动一个或多个新的应用服务器实例来满足需求。相似地,如果集群120内或特定应用服务器103a或103b上的利用率低,则编排器131可以自动地停止现存的应用服务器实例。
再者,编排器131可以(在资源允许的情况下在另外的节点或同一个节点上)部署附加的代理服务器113a/113b/113c以处理向集群120中的远程访问和应用服务器103a/103b的连接。备选地,可以在另外的或与其他远程访问和应用服务器103a/103b相同的节点上部署附加的远程访问和应用服务器103a/103b。
服务发现和配置组件132可以在集群120内提供发现服务。服务发现和配置组件132调适成确定应用115a/115b/115c可能需要哪个资源并且使应用115a/115b/115c可供远程客户端102a/102b/102c。例如,服务发现和配置组件132可以提供域名服务(DNS)用于将来自代理服务器113a/113b/113c的请求路由到应用115a/115b/115c。服务发现和配置组件132的示例是可从HashiCorp公司购得的Consul。
可以提供API Edge 128以与仪表板127和其他外部组件对接以便从集群120中的组件,如调度器130以及服务发现和配置组件132,接收信息或向其提供信息。
在一些实现中,集群120、代理服务器113a/113b/113c、认证组件124或仪表板127中的一个或多个组件可以被部署在云基础设施,如但不限于,亚马逊Web服务(AWS)内。图6中示出客户端设备102a/102b/102c和远程访问和应用服务器103a/103b的示例。再有,架构100内的组件的其中一个或多个可以部署为微服务以增强架构100的可扩展性和容错。由此,架构100提供其中数量巨大的客户端可以通过网络远程访问应用的高度可扩展、容错的架构。
参考图2和图3,图示有操作流程图和调用流程图,其图示架构100中的组件之间发送的示例消息流和序列。
参考图2,在202处,在客户端与代理服务器之间执行握手操作。握手操作可以需要将JavaScript文件从例如代理服务器113a下载到客户端102a,这些JavaScript文件作为客户端远程访问应用105a利用客户端102a的浏览器来执行。如图3所示,流程1和2大致示出与202处执行的操作关联的调用流程。客户端SDK 104a/104b/104c连接到代理服务器113a/113b/113c,并且使用例如HTTP GET方法,接收与应用115a/115b/115c关联的资源URL和参数。这些参数可以包括应用名称和客户端识别符(流程1)。代理服务器113a/113b/113c将例如作为客户端远程访问应用105a/105b/105c执行的JavaScript返回到客户端SDK 104a/104b/104c(流程2)。
在204处,调度服务。例如,使用流程1中传递的应用名称,调度器130可以请求服务管理器111a启动应用115a以实现与资源URL关联的客户端请求。图3中的流程3和4大致示出与204处执行的操作关联的调用流程。客户端SDK 104a/104b/104c从与要使用的应用115a/115b/115c关联的应用服务器114a/114b的调度器130获取集群地址(流程3)。调度器130将该集群地址返回到客户端SDK 104a/104b/104c(流程4)。
在206处,启动作为该资源URL的目标的应用。调度器130检查应用服务器114a上的资源利用率,并且根据负荷等,联系服务管理器111a来启动应用115a。图3中的流程5至14大致示出与206处执行的操作关联的调用流程。客户端SDK 104a/104b/104c连接到位于资源URL处的代理服务器113a/113b/113c(例如,流程5中,/remote/app)。例如,客户端SDK104a/104b/104c可以连接到代理服务器113a/113b/113c,并使用HTTP POST方法连同包含有关例如用户或客户端设备102a/102b/102c的认证信息的有效负载来发送请求。
认证信息被提供到认证组件124以确定用户或客户端102a/102b/102c是否获授权(或仍有权)访问应用115a/115b/115c(流程6)。如果认证通过,则认证组件124向调度器130发出请求(流程7),然后调度器130联系应用服务器114a/114b(流程8)以确定应用115a/115b/115c执行所在的远程访问和应用服务器103a/103b上的负荷。远程访问和应用服务器103a/103b的服务管理器111a/111b作出该确定(流程9),以及如果负荷超出阈值量或应用115a/115b/115c未在运行,则调度器130向服务管理器111a/111b(流程10)发送启动消息以启动应用115a/115b/115c(流程11)。例如,服务管理器111a使用App ID连接到并启动应用115a。服务管理器111a建立与应用115a关联的“会话”,然后将该会话视为“客户端设备可以远程连接的“成队列的服务”。可以通过唯一应用名称(对于一种类型的可远程访问的应用)和/或对于成队列的服务连接是唯一的App ID来知悉该成队列的服务。
接下来,应用115a/115b/115c开始启动过程,正如上文描述,并且使用例如TCP连接消息连接到应用服务器114a/114b(流程12)。应用115a/115b/115c提供识别信息(例如,App ID、应用名称和服务器实例识别符、服务管理器识别符),该识别信息被传递到调度器130(流程13)。调度器130然后将该识别信息传送到客户端SDK 104a/104b/104c(流程14)。
返回到图2,在208处,创建会话URL,以使应用服务器处有服务可用。认证组件124创建会话以及应用服务器114a将会话URL返回到客户端SDK 104。图3中的流程15至18大致示出与208处执行的操作关联的调用流程。使用上文提到的参数,客户端SDK 104a/104b/104c可以使用例如HTTP POST方法连同这些参数来向代理服务器113a/113b/113c发出请求(流程15),该代理服务器将请求传递到认证组件124(流程16)以便再次确定客户端设备102a/102b/102c是否获授权访问这些参数识别的应用115a/115b/115c。如果通过认证,则认证组件124向应用服务器114a/114b发送CreateSession消息(流程17)。应用服务器114a/114b将应用115a/115b/115c的位置连同会话cookie一起返回到客户端SDK 104a/104b/104c(流程18)。由此,创建会话,并且客户端SDK连接服务准备就绪。
在210处,客户端与应用互动。图3中的流程19至22大致示出与210处执行的操作关联的调用流程。客户端设备102a可以使用App ID连接到成队列的服务的特定实例(即,应用115a)。客户端SDK 104a使用会话URL连接到应用115a,该会话URL包含用于客户端102a的认证的有效负载。一旦连接了客户端102a,则应用115a升级到“主动服务”。另外的客户端可以使用唯一App ID来连接到主动服务,从而连接的客户端可以与主动服务一起协作,下文对此描述详情。具体地,客户端设备(例如,102a)可以在协作会话中与其他客户端设备(例如,102b和/或102c)协作。例如,协作器122a/122b/122c可以在协作会话中与客户端设备102a/102b/102c一起工作以共享例如应用115a/115b/115c。协作器122a/122b/122c和客户端设备102a/102b/102c可以使用例如通过共享的应用状态和消息传递来共享如应用115a的资源或数据。参考图4描述协作的附加详情。
图3中的流程19至22大致示出与210处执行的操作关联的调用流程。使用会话URL中的位置信息和参数,客户端SDK 104a/104b/104c例如作为HTTP POST方法向代理服务器113a/113b/113c发送请求(流程19),该请求再次被传递到认证组件124(流程20)。如果认证通过,则认证组件124向应用服务器114a/114b传送AttachClient消息(流程21)以在远程访问会话中将应用115a/115b/115c在通信上连接到客户端设备102a/102b/102c。应用115a/115b/115c现在通过例如Web Socket连接在通信上连接到客户端SDK 104a/104b/104c(流程22),该Web Socket连接是在应用服务器114a/114b与客户端设备102a/102b/102c之间经由代理服务器113a/113b/113c形成的,如图1中所示。由此,可以在应用115a/115b/115c与客户端设备102a/102b/102c之间传送映像数据、应用状态信息或与远程会话关联的其他数据。
可以在远程会话期间,在状态模型中传送应用状态信息,且所述应用状态信息是有关被远程访问的应用115a/115b/115c的信息和/或有关客户端设备102a/102b/102c或者可以参与协作会话的多个客户端设备102a/102b/102c的会话信息。具体来说,状态模型可以包含对应用状态的更改,并且可以在应用服务器114a/114b与客户端设备102a/102b/102c之间传送,或如果一个以上客户端设备102a/102b/102c参与协作会话中,则可以在多个客户端设备102a/102b/102c之间传送。状态模型可以由例如可扩展标记语言(XML)文档来表示。应该理解,还可以使用状态模型的其他表示。
在图2中,在212处,客户端与应用断开连接。客户端SDK 104a向应用服务器114a发送停止消息,这样与服务管理器111a断开连接,并且关闭客户端102a与应用115a之间的连接。图3中的流程23至28大致示出与212处执行的操作关联的调用流程。当处于客户端设备102a/102b/102c处的用户想要结束远程会话并与应用115a/115b/115c断开连接时,可以使用例如web socket关闭或HTTP DELETE方法来发出请求,该请求被传送到代理服务器113a/113b/113c(流程23),代理服务器将该请求作为认证请求传递到认证组件124(流程24)。一旦通过认证,则向应用服务器114a/114b传送停止消息(流程图25),然后应用服务器向应用115a/115b/115c传送TCP断开连接(流程26)和TCP关闭(流程27)消息。应用服务器114a/114b然后向客户端SDK 104a/104b/104c发送断开连接消息,从而结束与应用115a/115b/115c的会话。应用服务器114a/114b然后向客户端SDK 104a/104b/104c发送断开连接消息,从而结束与应用115a/115b/115c的会话(流程28)。
虽然上文操作和调用流程图提供在架构100内将客户端设备102a/102b/102c与远程应用115a/115b/115c连接以及断开连接的示例流程,但是本领域一般技术人员将联想到其他变化和调用流程。
图4图示用于在本公开的架构100中发起协作会话的示例操作流程400。在402处,客户端从客户端DSK请求协作URL。例如,客户端102a处的用户可以从客户端SDK 104a请求协作URL以使其他协作器122a/122b/122c或客户端102b/102c能够连接到该协作会话,由此每一方均可以协作地与例如应用115a互动。在404处,建构协作URL,其识别执行应被共享的应用所在的应用服务器。例如,协作URL可以由认证服务124以使之唯一地识别代理服务器113a后的应用服务器114a的方式来建构。
在406处,将协作URL返回到请求客户端。在408处,在请求客户端(例如,102a)处的用户可以将该协作URL转发到协作器122a/122b/122c或客户端102b/102c的其中一个或多个。在410处,协作器或其他客户端使用该协作URL连接到协作会话。在412处,服务发现配置组件将该协作URL解析至应用服务器114a。服务发现和配置组件132可以使用DNS来执行位置服务。在414处,协作器加入该协作会话,使得它们各自与应用115a互动。
由此,操作流程400提供一种使得多个用户能够以协作方式与架构100内执行的应用进行互动的方法。
图6示出其中可以实现多个示例实施例和方面的示例性计算环境。该计算***环境仅是适合的计算环境的一个示例,且并非意在暗示有关使用或功能性范围的任何限制。
可以使用多种其他通用或专用计算***环境或配置。可适于使用的众所周知的计算***、环境和/或配置的示例包括但不限于,个人计算机、服务器、手持或膝上型装置、多处理器***、基于微处理器的***、网络个人计算机(PC)、微计算机、主机计算机、嵌入式***、包括上文的***和设备中任一个的分布式计算环境等。
可以使用计算机可执行指令,如计算机正在执行的程序模块。一般,程序模块包括,执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、组件、数据结构等。可以使用分布式计算环境,其中任务由经由通信网络或其他数据传输介质链接的远程处理设备来执行。在分布式计算环境中,程序模块和其他数据可以同时位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图6,用于实现本文描述的多个方面的示例性***包括计算设备,如计算设备600。在其最基本的配置中,计算设备600通常包括至少一个处理单元602和存储器604。根据计算设备的具体配置和类型,存储器604可以是易失性的(如随机存取存储器(RAM))、非易失性的(如只读存储器(ROM))、闪存等)或二者的某种组合。图6中以虚线606图示了这种最基本的配置。
计算设备600可以具有附加的特征或功能性。例如,计算设备600可以包括附加的存储装置(可移除和/或不可移除),包括但不限于,磁盘或光盘或磁带。图6中通过可移除存储装置608和不可移除存储装置610来图示此类附加的存储装置。
计算设备600通常包括多种有形计算机可读介质。计算机可读介质可以是能被设备600访问的任何可用有形介质,并且同时包括易失性和非易失性介质、可移除和不可移除介质。
有形计算机存储介质包括以任何方法或技术实现用于存储如计算机可读指令、数据结构、程序模块或其他数据的信息的易失性和非易失性、可移除和不可移除介质。存储器604、可移除存储装置608和不可移除存储装置610是计算机存储介质的全部示例。有形计算机存储介质包括但不限于,RAM、ROM、电可擦写程序只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能光盘(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或能够用于存储期望的信息且能够被计算设备600访问的任何其他介质。任何此类计算机存储介质均可以是计算设备600的一部分。
计算设备600可以包括使该设备能够与其他设备通信的通信连接612。计算设备600还可以具有输入设备614,如键盘、鼠标、笔、语音输入设备、触控输入设备等。还可以包括输出设备616,如显示器、扬声器、打印机等。所有这些设备均是本领域中众所周知的,并且本文无需详细论述。
应该理解,本文描述的多种技术可以结合硬件或软件来实现,在适合的情况下结合此二者的组合来实现。由此,当前公开的标的物或其某些方面或部分的方法和装置可以采取包含在有形介质中的程序代码(即,指令)的形式,这些有形介质诸如软盘、CD-ROM、硬盘或任何机器可读存储介质,其中该程序代码被加载到如计算机的机器中,该机器成为用于实施当前公开的标的物的装置。在可编程计算机上的程序代码执行的情况中,计算装置一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入装置和至少一个输出装置。一个或多个程序可以实现或利用结合当前公开的标的物描述的过程,例如通过利用应用编程接口(API)、可重复使用控件等。此类程序可以采用高级过程或面向对象的编程语言来实现以与计算机***通信。但是,如果期望的话,还可以采用汇编或机器语言来实现这些程序。在任何情况中,该语言可以是编译或解译的语言,并且可以与硬件实现进行组合。
虽然本发明的标的物是利用具体到结构特征和/或方法操作的语言来描述的,但是应理解所附要求权利书中定义的标的物未必限于上文描述的具体特征或操作。相反,上文描述的具体特征和操作是作为实现权利要求书的示例形式来公开的。
Claims (18)
1.一种用于客户端-服务器远程访问***中提供对服务的远程访问的方法,其包括:
在与资源统一资源***(URL)关联的代理服务器处接收请求以对客户端进行认证;
由调度器选择托管所述服务的应用服务器,所述选择是根据所述客户端-服务器远程访问***中的资源利用率来执行的;
实时地创建会话URL,所述会话URL包含唯一地识别所述服务且用于由所述客户端建立对所述服务的所述远程访问的URL有效负载;以及
使用所述会话URL和所述URL有效负载在所述客户端和所述服务之间建立会话,以在所述客户端和所述服务之间通信应用数据。
2.根据权利要求1所述的方法,其还包括创建所述资源URL,所述资源URL在选择所述应用服务器之前被提供到用于请求连接到所述服务的所述客户端。
3.根据权利要求1所述的方法,其中唯一地识别所述服务的所述URL有效负载是AppID。
4.根据权利要求1所述的方法,其还包括提供认证组件,所述认证组件根据所述资源URL的有效负载认证所述请求,以建立所述客户端与所述服务之间以及所述客户端-服务器远程访问***中的服务之间的信任。
5.根据权利要求4所述的方法,其还包括:
由所述认证组件向所述客户端提供协作URL;
在所述代理服务器处使用所述协作URL从第二客户端接收第二请求;以及
将所述第二客户端加入到所述会话中。
6.根据权利要求5所述的方法,其中所述协作URL识别所述选择的应用服务器并对所述第二客户端进行认证。
7.根据权利要求4所述的方法,其中所述会话URL映射到与所述客户端关联的用户。
8.根据权利要求1所述的方法,其还包括使用调度器来管理所述客户端-服务器远程访问***内的资源利用率。
9.根据权利要求8所述的方法,其中所述调度器基于所述应用服务器运行最少数量的服务来选择所述应用服务器。
10.根据权利要求8所述的方法,其中所述调度器基于所述应用服务器是具有可用容量的运行时间最长的应用服务器来选择所述应用服务器。
11.根据权利要求8所述的方法,其中所述调度器基于所述应用服务器上的现有运行服务的状态来选择所述应用服务器。
12.根据权利要求8所述的方法,其还包括提供编排器,所述编排器根据负荷、硬件容量、联网需求、成本或地理位置中的一者来启动和停止所述客户端-服务器远程访问***内的应用服务器。
13.根据权利要求12所述的方法,其还包括从所述调度器向所述编排器提供接收有关当前资源分配的信息以便基于需求自动启动或停止所述应用服务器。
14.一种用于提供对服务的访问的客户端-服务器远程访问***,其包括:
可在资源统一资源***(URL)处访问的代理服务器,所述代理服务器从客户端接收连接到所述服务的请求;
根据所述资源URL的有效负载对来自所述客户端的所述请求进行认证的认证组件;
根据所述客户端-服务器远程访问***处的资源利用率选择托管所述服务的应用服务器的调度器,所述应用服务器实时地创建会话URL,所述会话URL包含用于在所述客户端与所述服务之间建立会话的所述有效负载;以及
服务管理器,所述服务管理器根据所述经认证的请求在所述客户端与所述会话URL处连接的所述服务之间建立所述会话,以便在所述客户端与所述服务之间传送应用数据和状态信息。
15.根据权利要求14所述的客户端-服务器远程访问***,其中使用所述调度器来管理所述客户端-服务器远程访问***内的资源利用率,且其中所述调度器基于所述应用服务器运行最少数量的服务来选择所述应用服务器或基于所述应用服务器是具有可用容量的运行时间最长的应用服务器来选择所述应用服务器,或基于所述应用服务器上的现有运行服务的状态来选择所述应用服务器。
16.根据权利要求14所述的客户端-服务器远程访问***,其还包括:
由所述认证组件向所述客户端提供协作URL,所述协作URL包含要识别所述应用服务器的有效负载参数;
在所述代理服务器处使用所述协作URL从第二客户端接收第二请求;以及
将所述第二客户端加入到所述会话中。
17.根据权利要求16所述的客户端-服务器远程访问***,其中所述协作URL识别所述应用服务器并对所述第二客户端进行认证。
18.根据权利要求14所述的客户端-服务器远程访问***,其中所述调度器基于如下准则之一来选择所述应用服务器:选择运行最少数量的服务的所述应用服务器;基于所述应用服务器是具有可用容量的运行时间最长的应用服务器来选择所述应用服务器;或基于所述应用服务器上的现有运行服务的状态来选择所述应用服务器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562109914P | 2015-01-30 | 2015-01-30 | |
US62/109,914 | 2015-01-30 | ||
PCT/IB2016/000277 WO2016120730A1 (en) | 2015-01-30 | 2016-01-29 | Highly scalable, fault tolerant remote access architecture and method of connecting thereto |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107431630A CN107431630A (zh) | 2017-12-01 |
CN107431630B true CN107431630B (zh) | 2021-06-25 |
Family
ID=56542533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680010239.4A Active CN107431630B (zh) | 2015-01-30 | 2016-01-29 | 高度可扩展、容错的远程访问架构和与之连接的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11310348B2 (zh) |
EP (1) | EP3251286B1 (zh) |
JP (1) | JP2018512084A (zh) |
KR (1) | KR20170110612A (zh) |
CN (1) | CN107431630B (zh) |
AU (1) | AU2016210974A1 (zh) |
CA (1) | CA2974204A1 (zh) |
WO (1) | WO2016120730A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017505473A (ja) | 2013-11-29 | 2017-02-16 | カルガリー サイエンティフィック インコーポレイテッド | クライアントサーバリモートアクセスシステムにおけるクライアントの非管理サービスへの接続の提供方法 |
CN109154887A (zh) * | 2016-05-23 | 2019-01-04 | W·特纳 | 包括用户接口、服务层和配备有操作***内核的核心层的超融合*** |
US10044836B2 (en) * | 2016-12-19 | 2018-08-07 | Palantir Technologies Inc. | Conducting investigations under limited connectivity |
US10574736B2 (en) * | 2017-01-09 | 2020-02-25 | International Business Machines Corporation | Local microservice development for remote deployment |
US10812614B2 (en) * | 2017-12-20 | 2020-10-20 | Citrix Systems, Inc. | Intermediated retrieval of networked content |
CN110022279B (zh) * | 2018-01-08 | 2021-11-26 | 普天信息技术有限公司 | 一种微服务***中认证鉴权的方法和*** |
US10931774B2 (en) * | 2019-01-17 | 2021-02-23 | Servicenow, Inc. | Discovery and service mapping of application programming interface proxies |
US11016784B2 (en) | 2019-03-08 | 2021-05-25 | Palantir Technologies Inc. | Systems and methods for automated deployment and adaptation of configuration files at computing devices |
US11263201B2 (en) * | 2019-04-12 | 2022-03-01 | Servicenow, Inc. | Interface for supporting integration with cloud-based service providers |
CN111831425A (zh) * | 2019-04-18 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及设备 |
US11425176B2 (en) * | 2020-10-13 | 2022-08-23 | Zoom Video Communications, Inc. | Transmitting conference application content during a network conference |
US11936696B2 (en) | 2020-10-13 | 2024-03-19 | Zoom Video Communications, Inc. | Sharing a screen shot of a conference application during a network conference |
US11050802B1 (en) | 2020-10-13 | 2021-06-29 | Zoom Video Communications, Inc. | System and methods for running conference applications before, during, and after a network conference |
US11363079B2 (en) | 2020-10-13 | 2022-06-14 | Zoom Video Communications, Inc. | For recording conference application activity associated with a network conference |
CN114363221B (zh) * | 2021-12-29 | 2024-05-03 | 武汉烽火信息集成技术有限公司 | 一种基于微服务***的心跳检测方法、存储介质、电子设备及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6175869B1 (en) * | 1998-04-08 | 2001-01-16 | Lucent Technologies Inc. | Client-side techniques for web server allocation |
CN101236553A (zh) * | 2007-02-02 | 2008-08-06 | 国家人口计生委科学技术研究所 | 网页信息协同浏览***及方法 |
CN102571742A (zh) * | 2010-09-30 | 2012-07-11 | 瑞科网信科技有限公司 | 基于服务器负载状态均衡服务器的***和方法 |
CN103782541A (zh) * | 2011-08-15 | 2014-05-07 | 卡尔加里科学公司 | 非侵入性远程访问应用程序 |
CN103997526A (zh) * | 2014-05-21 | 2014-08-20 | 中国科学院计算技术研究所 | 一种可扩展负载均衡***和方法 |
CN104054301A (zh) * | 2011-11-11 | 2014-09-17 | 卡尔加里科学公司 | 远程访问应用框架中的会话传递和挂起 |
CN104067569A (zh) * | 2011-10-24 | 2014-09-24 | A10网络股份有限公司 | 组合无状态和有状态服务器负载平衡的方法 |
Family Cites Families (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1310133C (en) | 1988-06-30 | 1992-11-10 | Thomas R. Edel | Method of simultaneously entering data into overlapped windows |
US4975690A (en) | 1988-11-07 | 1990-12-04 | Ibm Corporation | Method for concurrent data entry and manipulation in multiple applications |
US6076733A (en) | 1993-11-24 | 2000-06-20 | Metrologic Instruments, Inc. | Web-based system and method for enabling a viewer to access and display HTML-encoded documents located on the world wide web (WWW) by reading URL-encoded bar code symbols printed on a web-based information resource guide |
GB2273797A (en) | 1992-12-22 | 1994-06-29 | Ibm | Distributed data processing system |
US5345550A (en) | 1992-12-23 | 1994-09-06 | International Business Machines Corporation | User-modifiable popup menus for object oriented behavior |
JP3481296B2 (ja) | 1993-04-12 | 2003-12-22 | ヒューレット・パッカード・カンパニー | グラフィックスクリーン上の項目の選択方法 |
DE4417588A1 (de) | 1993-08-30 | 1995-03-02 | Hewlett Packard Co | Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung |
US5844553A (en) | 1993-08-30 | 1998-12-01 | Hewlett-Packard Company | Mechanism to control and use window events among applications in concurrent computing |
CA2180899A1 (en) | 1995-07-12 | 1997-01-13 | Yasuaki Honda | Synchronous updating of sub objects in a three dimensional virtual reality space sharing system and method therefore |
US5956486A (en) | 1995-12-20 | 1999-09-21 | Hickman; Paul Lawrence | Method and apparatus for monitoring multiple electronic mail systems |
US6343313B1 (en) | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US5870759A (en) | 1996-10-09 | 1999-02-09 | Oracle Corporation | System for synchronizing data between computers using a before-image of data |
US5978842A (en) | 1997-01-14 | 1999-11-02 | Netmind Technologies, Inc. | Distributed-client change-detection tool with change-detection augmented by multiple clients |
US6141698A (en) | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
US6253228B1 (en) | 1997-03-31 | 2001-06-26 | Apple Computer, Inc. | Method and apparatus for updating and synchronizing information between a client and a server |
US6061689A (en) | 1997-05-06 | 2000-05-09 | International Business Machines Corporation | Object aggregation representation of relational database rows having nontraditional datatypes |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
CA2207746A1 (en) | 1997-06-13 | 1998-12-13 | Ironside Technologies Inc | Method of manipulating software components through a network with enhanced performance and reduced network traffic |
US6453334B1 (en) | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US6470386B1 (en) * | 1997-09-26 | 2002-10-22 | Worldcom, Inc. | Integrated proxy interface for web based telecommunications management tools |
US6075531A (en) | 1997-12-15 | 2000-06-13 | International Business Machines Corporation | Computer system and method of manipulating multiple graphical user interface components on a computer display with a proximity pointer |
JP3569122B2 (ja) * | 1998-01-22 | 2004-09-22 | 富士通株式会社 | セッション管理システム、サービス提供サーバ、セッション管理サーバ、セッション管理方法及び記録媒体 |
US6185598B1 (en) * | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US6453356B1 (en) | 1998-04-15 | 2002-09-17 | Adc Telecommunications, Inc. | Data exchange system and method |
US6988271B2 (en) | 1998-10-02 | 2006-01-17 | Microsoft Corporation | Heavyweight and lightweight instrumentation |
US7069227B1 (en) | 1999-02-05 | 2006-06-27 | Zansor Systems, Llc | Healthcare information network |
US6938096B1 (en) * | 1999-04-12 | 2005-08-30 | Softricity, Inc. | Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port |
US6976077B1 (en) | 1999-07-06 | 2005-12-13 | Microsoft Corporation | Automatic and transparent synchronization of server-side state information with a client application |
US6601233B1 (en) | 1999-07-30 | 2003-07-29 | Accenture Llp | Business components framework |
AU7342500A (en) | 1999-08-31 | 2001-03-26 | Accenture Llp | A system, method and article of manufacture for a legacy wrapper in a communication services patterns environment |
US7181686B1 (en) | 1999-10-29 | 2007-02-20 | International Business Machines Corporation | Selecting screens in a GUI using events generated by a set of view controllers |
US20020007284A1 (en) | 1999-12-01 | 2002-01-17 | Schurenberg Kurt B. | System and method for implementing a global master patient index |
AU2001242027A1 (en) | 2000-03-08 | 2001-09-17 | Marbles, Inc. | Remote operation of real-time graphical applications |
US20030208472A1 (en) | 2000-04-11 | 2003-11-06 | Pham Peter Manh | Method and apparatus for transparent keyword-based hyperlink |
US7343310B1 (en) | 2000-04-28 | 2008-03-11 | Travelers Property Casualty Corp. | System and method for providing web-based user interface to legacy, personal-lines insurance applications |
US6792607B1 (en) | 2000-05-18 | 2004-09-14 | Microsoft Corporation | Databinding using server-side control objects |
US8463912B2 (en) | 2000-05-23 | 2013-06-11 | Media Farm, Inc. | Remote displays in mobile communication networks |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7349967B2 (en) | 2000-07-21 | 2008-03-25 | Samsung Electronics Co., Ltd. | Architecture for home network on world wide web with private-public IP address/URL mapping |
JP2002055870A (ja) | 2000-08-15 | 2002-02-20 | Fuji Xerox Co Ltd | データ提供装置、データ取得装置及びデータ処理システム |
US7350151B1 (en) | 2000-09-14 | 2008-03-25 | Ui Evolution, Inc. | Display state and/or cell based user interface provision method and apparatus |
US6931661B2 (en) | 2000-10-19 | 2005-08-16 | Motorola, Inc. | Dynamic image provisioning |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US6918113B2 (en) | 2000-11-06 | 2005-07-12 | Endeavors Technology, Inc. | Client installation and execution system for streamed applications |
US6947761B2 (en) | 2000-11-22 | 2005-09-20 | Leap Wireless International Inc. | Method and system for improving the efficiency of state information transfer over a wireless communications network |
US7574493B2 (en) | 2000-11-22 | 2009-08-11 | Cricket Communications, Inc. | Method and system for improving the efficiency of state information transfer over a wireless communications network |
US7065568B2 (en) | 2000-11-30 | 2006-06-20 | Microsoft Corporation | System and method for managing states and user context over stateless protocols |
US7451196B1 (en) | 2000-12-15 | 2008-11-11 | Stream Theory, Inc. | Method and system for executing a software application in a virtual environment |
JP4579409B2 (ja) | 2000-12-27 | 2010-11-10 | キヤノン株式会社 | 双眼振れ補正装置および双眼光学機器 |
AU2002251205A1 (en) | 2001-03-30 | 2002-10-15 | British Telecommunications Public Limited Company | Multi-modal interface |
US7890517B2 (en) | 2001-05-15 | 2011-02-15 | Metatomix, Inc. | Appliance for enterprise information integration and enterprise resource interoperability platform and methods |
US7882497B2 (en) | 2001-05-17 | 2011-02-01 | Attachmate Corporation | Symbiotic computer application and system and method for generation and presentation of same |
US7802183B1 (en) | 2001-05-17 | 2010-09-21 | Essin Daniel J | Electronic record management system |
US7320131B1 (en) | 2001-06-06 | 2008-01-15 | Cisco Technology, Inc. | Methods and apparatus for selecting a server to process a request |
US7073059B2 (en) | 2001-06-08 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Secure machine platform that interfaces to operating systems and customized control programs |
US6996805B2 (en) | 2001-06-28 | 2006-02-07 | Microsoft Corporation | Methods and systems of testing software, and methods and systems of modeling user behavior |
GB0117077D0 (en) | 2001-07-13 | 2001-09-05 | Univ Strathclyde | A generic object-based resource-sharing interface for distance co-working |
US7379977B2 (en) | 2001-07-24 | 2008-05-27 | Steve Walrath | System and method for display of multiple electronic pages |
ATE374971T1 (de) | 2001-08-24 | 2007-10-15 | Intel Corp | Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zur unterstützung von bestehenden unterbrechungen |
US20030120762A1 (en) | 2001-08-28 | 2003-06-26 | Clickmarks, Inc. | System, method and computer program product for pattern replay using state recognition |
US20030065738A1 (en) | 2001-10-01 | 2003-04-03 | Thumb Logic, Inc. | Wireless information systems and methods |
US7167893B1 (en) | 2001-10-03 | 2007-01-23 | Bellsouth Intellectual Property Corp. | Methods and systems for processing a plurality of errors |
US7155521B2 (en) | 2001-10-09 | 2006-12-26 | Nokia Corporation | Starting a session in a synchronization system |
CN1591404A (zh) | 2001-11-09 | 2005-03-09 | 无锡永中科技有限公司 | 多版本数据处理*** |
US7149761B2 (en) | 2001-11-13 | 2006-12-12 | Tadpole Technology Plc | System and method for managing the synchronization of replicated version-managed databases |
US20030120324A1 (en) | 2001-12-26 | 2003-06-26 | Osborn Brett A. | System and method for remote programming of a medical device |
US7246063B2 (en) | 2002-02-15 | 2007-07-17 | Sap Aktiengesellschaft | Adapting a user interface for voice control |
US20030163514A1 (en) | 2002-02-22 | 2003-08-28 | Brandfact, Inc. | Methods and systems for integrating dynamic polling mechanisms into software applications |
US7831292B2 (en) | 2002-03-06 | 2010-11-09 | Mako Surgical Corp. | Guidance system and method for surgical procedures with improved feedback |
US20030184584A1 (en) | 2002-03-29 | 2003-10-02 | Thomas Vachuska | User interface framework for integrating user interface elements of independent software components |
US6721871B2 (en) | 2002-04-02 | 2004-04-13 | Nokia Corporation | Method and apparatus for synchronizing data stores with respect to changes in folders |
US7720910B2 (en) | 2002-07-26 | 2010-05-18 | International Business Machines Corporation | Interactive filtering electronic messages received from a publication/subscription service |
US7085758B2 (en) | 2002-08-22 | 2006-08-01 | International Business Machines Corporation | Database enabled messaging facility |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
CA2406569C (en) | 2002-10-04 | 2011-03-22 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display |
TWI220713B (en) | 2002-10-04 | 2004-09-01 | Hon Hai Prec Ind Co Ltd | System and method for synchronizing documents between multi-nodes |
US7542471B2 (en) | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
EP1422901A1 (en) | 2002-11-22 | 2004-05-26 | Sun Microsystems, Inc. | Client driven synchronization of file and folder content in web publishing |
GB0228279D0 (en) | 2002-12-04 | 2003-01-08 | Ibm | A synchronization method |
US7774831B2 (en) | 2002-12-24 | 2010-08-10 | International Business Machines Corporation | Methods and apparatus for processing markup language messages in a network |
US7801964B2 (en) | 2003-02-14 | 2010-09-21 | Whale Communications Ltd. | System and method for providing conditional access to server-based applications from remote access devices |
US7213228B2 (en) | 2003-03-17 | 2007-05-01 | Macrovision Corporation | Methods and apparatus for implementing a remote application over a network |
JP2004287758A (ja) | 2003-03-20 | 2004-10-14 | Nec Corp | Webアプリケーション統合方法/プログラム/記録媒体、ポータルサーバ |
US20040243919A1 (en) | 2003-04-04 | 2004-12-02 | David Darian Muresan | Synchronized processing of views and drawing tools in a multiple document interface application |
DE10315418B3 (de) | 2003-04-04 | 2004-07-22 | Thyssenkrupp Automotive Ag | Verfahren zur thermomechanischen Behandlung von Stahl |
US7418711B1 (en) | 2003-04-28 | 2008-08-26 | Sprint Communications Company L.P. | Messaging bridge that facilitates communication with a mainframe environment |
US7930214B2 (en) | 2003-05-05 | 2011-04-19 | Intel Corporation | Management and arbitration of mobile service discovery |
US20040225960A1 (en) | 2003-05-09 | 2004-11-11 | Microsoft Corporation | System for hosting graphical layout/presentation objects |
US7526410B2 (en) | 2003-07-03 | 2009-04-28 | Microsoft Corporation | Remote computer graphics performance testing |
JP2005031807A (ja) | 2003-07-08 | 2005-02-03 | Toshiba Corp | データ処理システムにおけるデータ更新方法及びデータ処理システム |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
CA2438362C (en) | 2003-08-26 | 2011-05-31 | John William Comeau | A method and system for synchronizing a client user interface with server backend |
US7647370B1 (en) | 2003-10-24 | 2010-01-12 | Verizon Data Services Llc | Screen scraping interface |
US7975239B2 (en) | 2003-12-17 | 2011-07-05 | Palo Alto Research Center Incorporated | System and method for providing metadata interaction and visualization with task-related objects |
US7706399B2 (en) | 2003-12-19 | 2010-04-27 | Intel Corporation | Polling in wireless networks |
US7966572B2 (en) | 2004-02-20 | 2011-06-21 | Microsoft Corporation | User interface transition |
US7653900B2 (en) | 2004-04-22 | 2010-01-26 | Blue Coat Systems, Inc. | System and method for remote application process control |
US20060036770A1 (en) | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System for factoring synchronization strategies from multimodal programming model runtimes |
US7240162B2 (en) | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
US20060101397A1 (en) | 2004-10-29 | 2006-05-11 | Microsoft Corporation | Pseudo-random test case generator for XML APIs |
JP2008527468A (ja) | 2004-11-13 | 2008-07-24 | ストリーム セオリー,インコーポレイテッド | ハイブリッド・ローカル/リモート・ストリーミング |
US7613830B2 (en) | 2004-12-10 | 2009-11-03 | Microsoft Corporation | Reliably transferring queued application messages |
US20060236328A1 (en) | 2004-12-10 | 2006-10-19 | Siemens Medical Solutions Usa, Inc. | Integrated graphical user interface server for use with multiple client applications |
US7627138B2 (en) | 2005-01-03 | 2009-12-01 | Orb Networks, Inc. | System and method for remotely monitoring and/or viewing images from a camera or video device |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
CN100492382C (zh) | 2005-04-12 | 2009-05-27 | 国际商业机器公司 | 基于服务器/客户机的无缝游戏世界***及其方法 |
US7921078B2 (en) | 2005-04-20 | 2011-04-05 | Sony Online Entertainment Llc | System for negotiated differential compression |
US7406568B2 (en) | 2005-06-20 | 2008-07-29 | Intel Corporation | Buffer allocation for split data messages |
US7552187B2 (en) | 2005-06-22 | 2009-06-23 | Tele Atlas North America, Inc. | System and method for automatically executing corresponding operations on multiple maps, windows, documents, and/or databases |
US7636899B2 (en) | 2005-07-12 | 2009-12-22 | Siemens Medical Solutions Health Services Corporation | Multiple application and multiple monitor user interface image format selection system for medical and other applications |
GB0514492D0 (en) | 2005-07-14 | 2005-08-17 | Ntnu Technology Transfer As | Secure media streaming |
US20110157196A1 (en) | 2005-08-16 | 2011-06-30 | Exent Technologies, Ltd. | Remote gaming features |
US7719982B2 (en) | 2005-08-31 | 2010-05-18 | Intel Corporation | Switching device utilizing flow-control management |
US8527563B2 (en) | 2005-09-12 | 2013-09-03 | Microsoft Corporation | Remoting redirection layer for graphics device interface |
US7698691B2 (en) | 2005-09-20 | 2010-04-13 | Microsoft Corporation | Server application state |
JP2007084744A (ja) | 2005-09-26 | 2007-04-05 | Sekisui Plastics Co Ltd | スチレン系樹脂発泡性粒子とその製造方法及びスチレン系樹脂発泡成形体 |
US8024290B2 (en) | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US20070120763A1 (en) | 2005-11-23 | 2007-05-31 | Lode De Paepe | Display system for viewing multiple video signals |
US7596540B2 (en) | 2005-12-01 | 2009-09-29 | Exent Technologies, Ltd. | System, method and computer program product for dynamically enhancing an application executing on a computing device |
US7703039B2 (en) | 2005-12-08 | 2010-04-20 | Adobe Systems Incorporated | Methods and apparatus for displaying information |
US8125931B2 (en) * | 2006-01-10 | 2012-02-28 | Utbk, Inc. | Systems and methods to provide availability indication |
US8769127B2 (en) | 2006-02-10 | 2014-07-01 | Northrop Grumman Systems Corporation | Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT) |
US7685131B2 (en) | 2006-02-28 | 2010-03-23 | International Business Machines Corporation | Web services database cluster architecture |
US20070208718A1 (en) | 2006-03-03 | 2007-09-06 | Sasha Javid | Method for providing web-based program guide for multimedia content |
US8719816B2 (en) | 2006-03-14 | 2014-05-06 | University Of Utah Research Foundation | Extendable framework for distributed applications and data |
RU2295752C1 (ru) | 2006-03-20 | 2007-03-20 | Закрытое акционерное общество "1С Акционерное общество" | Способ управления синхронизацией обновлений программного обеспечения |
US7620901B2 (en) | 2006-03-21 | 2009-11-17 | Microsoft Corporation | Simultaneous input across multiple applications |
US20070244990A1 (en) | 2006-04-03 | 2007-10-18 | National Instruments Corporation | Web browser graph user interface element with rich interactive capabilities |
JP4675816B2 (ja) * | 2006-04-07 | 2011-04-27 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末及びリスト表示方法 |
US7650444B2 (en) | 2006-09-28 | 2010-01-19 | Digi International, Inc. | Systems and methods for remotely managing an application-specific display device |
JP4822343B2 (ja) | 2006-10-13 | 2011-11-24 | 株式会社国際電気通信基礎技術研究所 | 負荷を制御可能な通信装置およびそれを備えた通信ネットワーク |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
US7774356B2 (en) | 2006-12-04 | 2010-08-10 | Sap Ag | Method and apparatus for application state synchronization |
US20080146194A1 (en) | 2006-12-15 | 2008-06-19 | Yahoo! Inc. | Automatic data back up and account creation |
US7831919B1 (en) | 2006-12-18 | 2010-11-09 | Symantec Corporation | Generic web service frontend |
US8374673B2 (en) | 2007-01-25 | 2013-02-12 | Warsaw Orthopedic, Inc. | Integrated surgical navigational and neuromonitoring system having automated surgical assistance and control |
US8924512B2 (en) | 2007-06-15 | 2014-12-30 | Microsoft Corporation | Extensible remote display infrastructure with dynamic virtual channels |
EP2028813A1 (en) | 2007-07-02 | 2009-02-25 | British Telecmmunications public limited campany | Method of synchronizing intermittently connected mobile terminals |
US8387000B2 (en) | 2007-07-12 | 2013-02-26 | The Mathworks, Inc. | Continuous time mode-driven simulations in a graphical modeling environment |
US8127233B2 (en) | 2007-09-24 | 2012-02-28 | Microsoft Corporation | Remote user interface updates using difference and motion encoding |
US8484626B2 (en) | 2007-09-28 | 2013-07-09 | Verizon Patent And Licensing Inc. | Generic XML screen scraping |
US7886050B2 (en) | 2007-10-05 | 2011-02-08 | Citrix Systems, Inc. | Systems and methods for monitoring components of a remote access server farm |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
US8606952B2 (en) | 2008-01-15 | 2013-12-10 | International Business Machines Corporation | Method and system for optimizing bandwidth usage in remote visualization |
US20090209239A1 (en) | 2008-02-18 | 2009-08-20 | Movidilo S.L. | Self-service application platform for wireless devices |
US8473851B2 (en) | 2008-02-27 | 2013-06-25 | Cisco Technology, Inc. | Multi-party virtual desktop |
US8154996B2 (en) | 2008-09-11 | 2012-04-10 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with multi-staged queues |
US8595371B2 (en) | 2008-09-19 | 2013-11-26 | Samsung Electronics Co., Ltd. | Sending a remote user interface |
BRPI0921978A2 (pt) | 2008-11-26 | 2019-01-15 | Calgary Scient Inc | método de fornecimento de acesso remoto a estado de programa de aplicativo e meios de armazenamento. |
US7835309B2 (en) | 2008-12-16 | 2010-11-16 | Microsoft Corporation | Multiplexed communication for duplex applications |
US8473571B2 (en) | 2009-01-08 | 2013-06-25 | Microsoft Corporation | Synchronizing presentation states between multiple applications |
US10055105B2 (en) | 2009-02-03 | 2018-08-21 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
EP2394210A4 (en) | 2009-02-03 | 2012-08-08 | Calgary Scient Inc | METHOD AND SYSTEM FOR INTERACTION WITH SEVERAL APPLICATIONS ON A SINGLE USER INTERFACE |
US8676926B2 (en) | 2009-04-15 | 2014-03-18 | Wyse Technology L.L.C. | System and method for handling remote drawing commands |
JP4723010B2 (ja) | 2009-04-21 | 2011-07-13 | 株式会社デジタル | サーバ装置、サーバ・クライアントシステム、サーバプログラムおよびそれを記録した記録媒体 |
US9459936B2 (en) | 2009-05-01 | 2016-10-04 | Kaazing Corporation | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications |
US8356252B2 (en) | 2009-09-02 | 2013-01-15 | Synchronoss Technologies, Inc. | System and method for providing a computer display form layout |
US20120154633A1 (en) | 2009-12-04 | 2012-06-21 | Rodriguez Tony F | Linked Data Methods and Systems |
US8577904B2 (en) | 2009-12-07 | 2013-11-05 | International Business Machines Corporation | Composite copy and paste for composite user interfaces |
US8453225B2 (en) * | 2009-12-23 | 2013-05-28 | Citrix Systems, Inc. | Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on |
US9055064B2 (en) * | 2009-12-28 | 2015-06-09 | Citrix Systems, Inc. | Systems and methods for a VPN ICA proxy on a multi-core system |
US9274821B2 (en) | 2010-01-27 | 2016-03-01 | Vmware, Inc. | Independent access to virtual machine desktop content |
US20110213830A1 (en) | 2010-02-26 | 2011-09-01 | Lopez Kermit D | Cloud-based intellectual property and legal docketing system and method with data management modules |
US8514749B2 (en) | 2010-03-10 | 2013-08-20 | Microsoft Corporation | Routing requests for duplex applications |
US20110252152A1 (en) | 2010-04-09 | 2011-10-13 | Marcus Sherry | Reliable messaging system and method |
US8667054B2 (en) | 2010-07-12 | 2014-03-04 | Opus Medicus, Inc. | Systems and methods for networked, in-context, composed, high resolution image viewing |
US8577960B2 (en) | 2010-07-29 | 2013-11-05 | Sap Ag | Providing status information for components in a distributed landscape |
US8533103B1 (en) * | 2010-09-14 | 2013-09-10 | Amazon Technologies, Inc. | Maintaining latency guarantees for shared resources |
US8713474B2 (en) | 2010-10-05 | 2014-04-29 | Citrix Systems, Inc. | Providing user interfaces and window previews for hosted applications |
KR101763595B1 (ko) | 2010-11-16 | 2017-08-01 | 엘지전자 주식회사 | 모니터링 서비스를 위한 데이터를 처리하는 네트워크 tv의 제어 방법 및 상기 네트워크 tv |
US8473577B2 (en) | 2010-10-13 | 2013-06-25 | Google Inc. | Continuous application execution between multiple devices |
US8607158B2 (en) | 2010-12-09 | 2013-12-10 | International Business Machines Corporation | Content presentation in remote monitoring sessions for information technology systems |
EP2663068A1 (en) * | 2011-01-07 | 2013-11-13 | Yamaha Corporation | Information-providing system, portable terminal device, server, and program |
US9210213B2 (en) | 2011-03-03 | 2015-12-08 | Citrix Systems, Inc. | Reverse seamless integration between local and remote computing environments |
US8866701B2 (en) | 2011-03-03 | 2014-10-21 | Citrix Systems, Inc. | Transparent user interface integration between local and remote computing environments |
US9424052B2 (en) | 2011-03-21 | 2016-08-23 | Amazon Technologies, Inc. | Remotely emulating computing devices |
CA2734860A1 (en) | 2011-03-21 | 2012-09-21 | Calgary Scientific Inc. | Method and system for providing a state model of an application program |
CN103503407B (zh) * | 2011-04-28 | 2016-10-12 | 交互数字专利控股公司 | 用于多sso技术的sso框架 |
US8676938B2 (en) | 2011-06-28 | 2014-03-18 | Numecent Holdings, Inc. | Local streaming proxy server |
US8572178B1 (en) | 2011-07-01 | 2013-10-29 | Amazon Technologies, Inc. | Executing applications in remotely emulated computing devices |
US9720747B2 (en) | 2011-08-15 | 2017-08-01 | Calgary Scientific Inc. | Method for flow control and reliable communication in a collaborative environment |
US9549045B2 (en) | 2011-08-29 | 2017-01-17 | Vmware, Inc. | Sharing remote sessions of a user interface and/or graphics of a computer |
US9565156B2 (en) | 2011-09-19 | 2017-02-07 | Microsoft Technology Licensing, Llc | Remote access to a mobile communication device over a wireless local area network (WLAN) |
US8732805B2 (en) * | 2011-09-30 | 2014-05-20 | Oracle International Corporation | Re-authentication in secure web service conversations |
US8854397B2 (en) | 2011-12-13 | 2014-10-07 | Facebook, Inc. | Photo selection for mobile devices |
US20130159062A1 (en) | 2011-12-14 | 2013-06-20 | Sap Ag | Process-driven composite application architecture |
KR101383905B1 (ko) * | 2011-12-19 | 2014-04-17 | 주식회사 솔박스 | 해시 함수 결과를 이용한 서버 부하 분산 처리 방법 및 그 장치 |
US9386057B2 (en) | 2012-01-18 | 2016-07-05 | Numecent Holdings, Inc. | Application streaming and execution system for localized clients |
WO2013128284A1 (en) | 2012-03-02 | 2013-09-06 | Calgary Scientific Inc. | Remote control of an application using dynamic-linked library (dll) injection |
US20130290408A1 (en) | 2012-04-11 | 2013-10-31 | Calgary Scientific Inc. | Remoting graphical components through a tiered remote access architecture |
US9729673B2 (en) | 2012-06-21 | 2017-08-08 | Calgary Scientific Inc. | Method and system for providing synchronized views of multiple applications for display on a remote computing device |
CN102821413A (zh) | 2012-07-31 | 2012-12-12 | 华为技术有限公司 | 传输数据的方法和网络侧设备 |
US8910239B2 (en) | 2012-10-15 | 2014-12-09 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US9270674B2 (en) | 2013-03-29 | 2016-02-23 | Citrix Systems, Inc. | Validating the identity of a mobile application for mobile application management |
JP2017505473A (ja) | 2013-11-29 | 2017-02-16 | カルガリー サイエンティフィック インコーポレイテッド | クライアントサーバリモートアクセスシステムにおけるクライアントの非管理サービスへの接続の提供方法 |
US10924554B2 (en) | 2014-05-05 | 2021-02-16 | Citrix Systems, Inc. | Application customization |
US10015264B2 (en) | 2015-01-30 | 2018-07-03 | Calgary Scientific Inc. | Generalized proxy architecture to provide remote access to an application framework |
-
2016
- 2016-01-29 KR KR1020177021565A patent/KR20170110612A/ko unknown
- 2016-01-29 JP JP2017540185A patent/JP2018512084A/ja active Pending
- 2016-01-29 EP EP16742846.5A patent/EP3251286B1/en active Active
- 2016-01-29 CA CA2974204A patent/CA2974204A1/en active Pending
- 2016-01-29 WO PCT/IB2016/000277 patent/WO2016120730A1/en active Application Filing
- 2016-01-29 AU AU2016210974A patent/AU2016210974A1/en not_active Abandoned
- 2016-01-29 CN CN201680010239.4A patent/CN107431630B/zh active Active
- 2016-01-29 US US15/011,183 patent/US11310348B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6175869B1 (en) * | 1998-04-08 | 2001-01-16 | Lucent Technologies Inc. | Client-side techniques for web server allocation |
CN101236553A (zh) * | 2007-02-02 | 2008-08-06 | 国家人口计生委科学技术研究所 | 网页信息协同浏览***及方法 |
CN102571742A (zh) * | 2010-09-30 | 2012-07-11 | 瑞科网信科技有限公司 | 基于服务器负载状态均衡服务器的***和方法 |
CN103782541A (zh) * | 2011-08-15 | 2014-05-07 | 卡尔加里科学公司 | 非侵入性远程访问应用程序 |
CN104067569A (zh) * | 2011-10-24 | 2014-09-24 | A10网络股份有限公司 | 组合无状态和有状态服务器负载平衡的方法 |
CN104054301A (zh) * | 2011-11-11 | 2014-09-17 | 卡尔加里科学公司 | 远程访问应用框架中的会话传递和挂起 |
CN103997526A (zh) * | 2014-05-21 | 2014-08-20 | 中国科学院计算技术研究所 | 一种可扩展负载均衡***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2974204A1 (en) | 2016-08-04 |
EP3251286B1 (en) | 2019-10-02 |
US11310348B2 (en) | 2022-04-19 |
KR20170110612A (ko) | 2017-10-11 |
WO2016120730A1 (en) | 2016-08-04 |
AU2016210974A1 (en) | 2017-07-27 |
CN107431630A (zh) | 2017-12-01 |
JP2018512084A (ja) | 2018-05-10 |
EP3251286A1 (en) | 2017-12-06 |
EP3251286A4 (en) | 2018-08-22 |
US20160226871A1 (en) | 2016-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107431630B (zh) | 高度可扩展、容错的远程访问架构和与之连接的方法 | |
US20190068390A1 (en) | Collaborative access to virtual desktops | |
US9774658B2 (en) | Orchestration framework for connected devices | |
US8555339B2 (en) | Identifying guests in web meetings | |
EP3056993A1 (en) | Enabling an on-premises resource to be exposed to a public cloud application securely and seamlessly | |
US20150163179A1 (en) | Execution of a workflow that involves applications or services of data centers | |
US9313189B2 (en) | Automatic management of secure connections | |
US20130232470A1 (en) | Launching an application stack on a cloud platform environment | |
WO2013040917A1 (zh) | 虚拟桌面实现***及其使用方法 | |
Flores et al. | Towards mobile cloud applications: offloading resource‐intensive tasks to hybrid clouds | |
US20160105472A1 (en) | Seamless Switching Between Computing Devices During an Online Meeting | |
US20170237699A1 (en) | Systems and methods for migrating mailbox data from systems with limited or restricted remote access | |
Johansson et al. | RabbitMQ Essentials: Build distributed and scalable applications with message queuing using RabbitMQ | |
US10291607B1 (en) | Providing real-time events to applications | |
US20190098107A1 (en) | Geographic location based user computing asset provisioning in distributed computing systems | |
CN112288404A (zh) | 一种会议管理方法、装置、电子设备及存储介质 | |
US10536506B2 (en) | Webpage analytics and control | |
CN112134779A (zh) | 网络信息处理方法、装置、***、客户端和可读存储介质 | |
JP2018513460A (ja) | 制限されたサービスインスタンスへのアクセスを要求する方法およびシステム | |
WO2013036099A1 (en) | System and method for rich internet application session transfer | |
US20140019838A1 (en) | Method and system for communicating between client pages | |
US20240007340A1 (en) | Executing on-demand workloads initiated from cloud services in a software-defined data center | |
Mayol Ramis | Design and implementation of a bidirectional, secure and real time communication between Windows Phone 8 App and Windows Store App. | |
Panarello et al. | Costs of a federated and hybrid cloud environment aimed at MapReduce video transcoding | |
Panarello et al. | A Federated System for MapReduce-Based Video Transcoding to Face the Future Massive Video-Selfie Sharing Trend |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |