CN107431630B - 高度可扩展、容错的远程访问架构和与之连接的方法 - Google Patents

高度可扩展、容错的远程访问架构和与之连接的方法 Download PDF

Info

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
Application number
CN201680010239.4A
Other languages
English (en)
Other versions
CN107431630A (zh
Inventor
克里斯托弗·詹姆斯·加拉贝克
卡梅伦·基德尔
乔纳森·克里斯托弗·奈茨
马修·斯特于尔
克里斯托弗·詹姆斯·加勒特
凯文·格伦·罗宾逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Calgary Scientific Inc
Original Assignee
Calgary Scientific Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Calgary Scientific Inc filed Critical Calgary Scientific Inc
Publication of CN107431630A publication Critical patent/CN107431630A/zh
Application granted granted Critical
Publication of CN107431630B publication Critical patent/CN107431630B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation 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所述的客户端-服务器远程访问***,其中所述调度器基于如下准则之一来选择所述应用服务器:选择运行最少数量的服务的所述应用服务器;基于所述应用服务器是具有可用容量的运行时间最长的应用服务器来选择所述应用服务器;或基于所述应用服务器上的现有运行服务的状态来选择所述应用服务器。
CN201680010239.4A 2015-01-30 2016-01-29 高度可扩展、容错的远程访问架构和与之连接的方法 Active CN107431630B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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