CN104115471A - 托管的服务中的客户端带宽模拟 - Google Patents
托管的服务中的客户端带宽模拟 Download PDFInfo
- Publication number
- CN104115471A CN104115471A CN201380008950.2A CN201380008950A CN104115471A CN 104115471 A CN104115471 A CN 104115471A CN 201380008950 A CN201380008950 A CN 201380008950A CN 104115471 A CN104115471 A CN 104115471A
- Authority
- CN
- China
- Prior art keywords
- api
- session
- client
- bandwidth
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 18
- 238000004088 simulation Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000001052 transient effect Effects 0.000 claims 1
- 239000008186 active pharmaceutical agent Substances 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 230000005039 memory span Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 241000501754 Astronotus ocellatus Species 0.000 description 1
- 241000282320 Panthera leo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000859 sublimation Methods 0.000 description 1
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/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
因特网和内联网上的带宽是高度可变并且不可靠的—两种可使流传输数字媒体内容困难的属性。在虚拟化系统(例如,虚拟桌面、远程桌面、远程应用等)中,基于可用于会话主机和会话客户端的不同带宽尤其是如此。用于在虚拟化系统中模拟客户端设备的带宽的方法和系统被描述。当会话主机执行应用(例如,数字媒体应用)时,会话主机可以通过挂钩连接与数字媒体应用相关联的一个或多个API并且对该一个或多个API之上的数据进行节流来模拟会话客户端的带宽,由此诱使该应用基于会话客户端的模拟的带宽而非基于会话主机的带宽来做出带宽确定。
Description
技术领域
在此描述的方面涉及计算机系统、计算机网络以及计算机服务的虚拟化。更具体而言,在此描述的方面涉及基于在会话主机与会话客户端之间的可用带宽对通过虚拟化会话提供的服务的优化。
背景技术
传统上,个人计算机包括操作系统、应用和用户设置的组合,各自被拥有者或者管理者持续地单独管理。然而,许多组织现在使用桌面虚拟化来提供更加灵活的选项以解决它们的用户的变化的需要。在桌面虚拟化中,用户的计算环境(例如,操作系统、应用和/或用户设置)可以与用户的物理计算设备(例如,智能电话、膝上型计算机、桌面型计算机)分离。使用客户端—服务器技术,“虚拟化桌面”可以被存储在远程服务器中并被其管理,而非被存储在客户端计算设备的本地存储装置中。
存在几种不同类型的桌面虚拟化系统。作为示例,虚拟桌面基础设施(VDI)指代在驻留在服务器上的虚拟机内运行用户桌面的过程。VDI和其他基于服务器的桌面虚拟化系统可以为每个用户提供个性化桌面,同时允许集中的管理和安全性。此类系统中的服务器可以包括用于虚拟桌面镜像和系统配置信息的存储装置,以及用来提供虚拟桌面并允许用户与之互连的软件组件。例如,VDI服务器可包括用来创建并维持多个虚拟机的一个或多个管理程序(虚拟机管理器)、用来管理管理程序的软件、连接代理(connection broker)以及用来提供并管理虚拟桌面的软件。
虚拟桌面可能仍需要在客户端设备上执行的客户端应用(例如,瘦客户端)来实行或执行各种任务。该客户端转而可能受在客户端设备与客户端设备赖以进行网络和/或因特网访问的一个或多个网络之间的可用网络带宽限制。
发明内容
鉴于前述背景,以下呈现了本公开内容的简化总结以便提供对在此描述的某些方面的基本理解。这一总结不是广泛的概述,并且并非旨在标识关键或者至关重要的元素或者勾画权利要求的范围。以下总结仅仅以简化形式将各种被描述方面呈现作为在下面提供的更详细描述的前序。
为了解决上述缺点和在阅读本公开内容后将被实现的附加益处,各方面在此描述了基于对客户端设备可用的网络带宽来针对托管的服务优化客户端设备性能的新的方法和系统。因特网和内联网上的带宽是高度可变并且不可靠的—两种可以使流传输数字媒体内容困难的属性。在虚拟化系统(例如,虚拟桌面、远程桌面、远程应用等)中,基于对会话主机和会话客户端可用的不同带宽(例如,会话主机通常具有比会话客户端更高的可用带宽)尤其是如此。用于在虚拟化系统中模拟客户端设备的带宽的方法和系统在此被描述。
根据某些方面,当会话主机执行应用(例如,数字媒体应用)时,会话主机可以通过挂钩连接与数字媒体应用相关联的一个或多个API并且对该一个或多个API之上的数据进行节流来模拟会话客户端的带宽,由此诱使该应用基于会话客户端的模拟的带宽而非基于会话主机的实际带宽来做出带宽确定。
根据另一方面,方法和系统在虚拟化系统中的会话主机上挂钩连接(例如,拦截)应用编程接口(API)。挂钩可以在虚拟桌面内,并且可以进一步仅是关于在该虚拟桌面内执行的一个或多个特定进程。当API被调用时,会话主机(或者虚拟桌面)可以拦截该API调用,并且基于连接到该会话主机的会话客户端(例如,被连接到该特定虚拟桌面的会话客户端)的带宽向API返回数据。
根据某些方面,API通过针对与在会话主机上执行或者在虚拟桌面内执行的第一应用相关联的进程名称查询数据库而被确定。API可能仅在特定进程内被挂钩连接,以使得当API被在会话主机上执行的第二应用调用时,API被执行而不被挂钩拦截。被返回给被挂钩连接的API的数据可以是与其他情况下将被返回的相同的数据,然而,该数据可以基于会话客户端的带宽而被节流。应用然后可以基于对经由API返回的数据的分析来执行第一动作,例如,为视频或数字媒体流选择特定比特率。
附图说明
已经以一般术语这样描述了本公开内容的方面,现在将对附图进行参考,其不一定是被成比例绘制的,并且其中:
图1图示了其中本公开内容的方面可被实现的示例操作环境。
图2图示了根据在此描述的一个或多个例示性方面可以被使用的客户端设备。
图3图示了根据在此描述的一个或多个例示性方面可以被使用的客户端设备。
图4图示了根据在此描述的一个或多个例示性方面的系统架构。
图5示出了根据在此描述的一个或多个方面的一种模拟带宽的方法的例示性流程图。
具体实施方式
在对各种实施例的以下描述中,参考附图,其形成了本文的一部分,并且在附图中通过例示方式示出了其中在此描述的各方面可以被实践的各种实施例。将理解,其他实施例可被利用并且结构和功能修改可被做出而不脱离本公开内容的范围和精神。
如本领域技术人员在阅读以下公开内容之后将领会到的,在此描述的各种方面可被实现为方法、数据处理系统或者计算机程序产品。相应地,那些方面可以采用完全硬件实施例、完全软件实施例或者结合软件和硬件方面的实施例的形式。另外,这样的方面可以采用由一个或多个计算机可读存储介质存储的具有体现在存储介质中或者体现在存储介质上的计算机可读程序代码或者指令的计算机程序产品的形式。任何合适的计算机可读存储介质可以被利用,包括硬盘、CD-ROM、光存储设备、磁存储设备和/或其任何组合。此外,代表如在此描述的数据或事件的各种信号可以采用通过诸如金属线、光纤和/或无线传输介质(例如,空气和/或空间)之类的信号传导介质行进的电磁波的形式在源和目的地之间被传送。
图1图示了根据本公开内容的一个或多个例示性实施例的可以被使用的示例计算环境100中的通用计算设备101(例如,计算机服务器106a)的示例框图。根据一个或多个方面,通用计算设备101可以是被配置用于提供用于客户端访问设备的虚拟机的单服务器或者多服务器桌面虚拟化系统中的服务器106a。通用计算设备101可以具有用于控制服务器的整体操作的处理器103及其相关联的组件,包括随机访问存储器(RAM)105、只读存储器(ROM)107、输入/输出(I/O)模块109和存储器115。
I/O模块109可包括通用计算设备101的用户可通过其提供输入的鼠标、小键盘、触摸屏、扫描仪、光学阅读器和/或触针(或者其他输入设备),并且还可以包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形示出的视频显示设备中的一个或多个。软件可被存储在存储器115和/或其他存储装置内以向处理器103提供用于使得通用计算设备101能够执行各种功能的指令。例如,存储器115可以存储由通用计算设备101使用的软件,诸如操作系统117、应用程序119和相关联的数据库121。备选地,用于通用计算设备101的计算机可执行指令中的一些或者全部可以在硬件或固件(未示出)中被体现。
通用计算设备101可在支持到诸如终端140(也被称作客户端设备)之类的一个或多个远程计算机的连接的联网环境中操作。终端140可以是包括上面关于通用计算设备101描述的元件中的许多或者全部的个人计算机或者服务器。在图1中描绘的网络连接包括局域网(LAN)125和广域网(WAN)129,但是也可以包括其他网络。当在LAN联网环境中被使用时,通用计算设备101可以通过网络接口或者适配器123被连接到LAN 125。当在WAN联网环境中被使用时,通用计算设备101可以包括用于建立在诸如计算机网络130(例如,因特网)之类的WAN 129上的通信的调制解调器127或者其他网络接口。将领会到,所示出的网络连接是例示性的并且建立在计算机之间的通信链路的其他手段可以被使用。
通用计算设备101和/或终端140还可以是包括诸如电池、扬声器和天线(未示出)之类的各种其他组件的移动终端(例如,移动电话、智能电话、PDA、笔记本计算机等)。
本公开内容可与许多其他通用或者专用计算系统环境或配置一起使用。可以适合与本公开内容一起使用的公知的计算系统、环境和/或配置包括但不限于个人计算机、服务器计算机、手持或者膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程用户电子设备、网络PC、迷你计算机、大型计算机、包括上述系统或设备中的任何系统或设备的分布式计算环境等。
如在图1中所示,一个或多个客户端设备140可以与一个或多个服务器106a-106n(在此被统称为“服务器106”)通信。在一个实施例中,计算环境100可以包括被安装在服务器106与客户机140之间的装置。这一装置可以管理客户端/服务器连接,并且在某些情况下可以对多个后端服务器106当中的客户端连接进行负载均衡。
客户机140在某些实施例中可以被称作单个客户机140或者单组客户机140,而服务器106可以被称作单个服务器106或者单组服务器106。在一个实施例中单个客户机140与多于一个服务器106通信,而在另一实施例中单个服务器106与多于一个客户机140通信。在又一实施例中,单个客户机140与单个服务器106通信。
客户机140在某些实施例中可以通过以下术语中的任一个被引用:客户机140;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;端点节点;或者第二机器。服务器106在某些实施例中可通过以下术语中的任一个被引用:服务器,本地机器;远程机器;服务器群,主机计算设备,或者第一机器。
在一个实施例中,客户机140可以是虚拟机。该虚拟机可以是任何虚拟机,而在某些实施例中该虚拟机可以是任何由思杰系统、IBM、VMware开发的管理程序或者任何其他管理程序管理的虚拟机。在某些方面,虚拟机可以由管理程序管理,而在特定方面虚拟机可以由在服务器106上执行的管理程序或者在客户端140上执行的管理程序管理。
客户机140可以执行、操作或者以其他方式提供可以是以下各项中的任一个的应用:软件;程序;可执行指令;虚拟机;管理程序;web浏览器;基于web的客户端;客户端—服务器应用;瘦客户端计算客户端;ActiveX控件;Jave小程序;像软IP电话之类的与因特网协议语音(VoIP)通信有关的软件;用于流传输视频和/或音频的应用;用于有助于实时数据通信(例如,诸如用于在线视频游戏)的应用;HTTP客户端;FTP客户端;奥斯卡客户端;远程登录客户端;或者可执行指令的任何其他集合。其更多他实施例包括显示由在服务器106或者其他位于远程的机器上远程执行的应用生成的应用输出的客户端设备140。在这些实施例中,客户端设备140可以在应用窗口、浏览器或者其他输出窗口中显示应用输出。在一个示例中,应用是桌面,而在其他示例中应用是生成桌面的应用。桌面可以包括为其中可以集成有本地和/或远程应用的操作系统的实例提供用户界面的图形壳。如这里所使用的应用是在操作系统的实例(并且可选地还有桌面)已被加载之后执行的程序。
服务器106在某些实施例中执行使用瘦客户端或者远程显示协议来捕捉由在服务器106上执行的应用生成的显示输出并且将该应用显示输出传输到远程客户端140的远程呈现客户端或其他客户端或程序。瘦客户端或者远程显示协议可以是以下协议中的任一种:由佛罗里达州劳德代尔堡的思杰系统公司制造的独立计算架构(ICA)协议;或者由华盛顿州雷德蒙德的微软公司制造的远程桌面协议(RDP)。
计算环境可包括多于一个服务器106A-106N以使得服务器106A-106N在逻辑上被一起分组在服务器群106中。服务器群106可包括在地理上分散并且在逻辑上被一起分组在服务器群106中的服务器106,或者彼此位置邻近并且在逻辑上被一起分组在服务器群106中的服务器106。服务器群106内的地理上分散的服务器106A-106N在某些实施例中可以使用WAN、MAN、SAN或者LAN来通信,其中不同地理区域可以用以下各项为特征:不同大洲;大洲的不同区域;不同国家;不同州;不同城市;不同校园;不同房间;或者前述地理位置的任何组合。在某些实施例中,服务器群106可以作为单个实体被管理,而在其他实施例中服务器群106可以包括多个服务器群106。
在某些实施例中,服务器群106可以包括执行基本类似类型的操作系统平台(例如,由华盛顿州雷德蒙德的微软公司制造的Windows服务器、UNIX、LINUX、iOS或者LION等)的服务器106。在其他实施例中,服务器群106可以包括执行第一类型的操作系统平台的第一组服务器106,以及执行第二类型的操作系统平台的第二组服务器106。服务器群106在其他实施例中可以包括执行不同类型的操作系统平台的服务器106。
服务器106在某些实施例中可以是任何服务器类型。在其他实施例中,服务器106可以是以下服务器类型中的任何服务器类型:文件服务器;应用服务器;web服务器;代理服务器;装置;网络装置;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;SSL VPN服务器;防火墙;web服务器;应用服务器或者作为主应用服务器;执行活动目录的服务器106;或者执行提供防火墙功能、应用功能、或者负载均衡功能的应用加速程序的服务器106。在某些实施例中,服务器106可以是包括远程认证拨号用户服务的RADIUS服务器。在其中服务器106包括装置的实施例中,服务器106可以是由以下制造商中的任一个制造的设备:思杰应用联网集团;银峰系统公司;河床技术公司;F5网络公司;或者杰科网络公司。某些实施例包括接收来自客户机140的请求、将该请求转发给第二服务器106n并且用来自第二服务器106n的响应对由客户机140生成的请求进行响应的第一服务器106a。第一服务器106a可以获取对客户机140可用的应用的列举以及与托管在应用的列举内被标识出的应用的应用服务器106相关联的地址信息。第一服务器106a然后可以使用web接口来呈现对客户端的请求的响应,并且与客户端140直接通信以向客户端140提供对标识的应用的访问。
服务器106在某些实施例中可以执行以下应用中的任何一个:使用瘦客户端协议向客户端传输应用显示数据的瘦客户端应用;远程显示呈现应用;思杰系统公司的CITRIX ACCESS SUITE的任何部分,像XENAPP、XENDESKTOP、METAFRAME或者CITRIXPRESENTATION SERVER;由微软公司制造的MICROSOFTWINDOWS终端服务;或者由思杰系统公司开发的ICA客户端。另一实施例包括作为诸如以下各项的应用服务器的服务器106:提供诸如由微软公司制造的MICROSOFT EXCHANGE的邮件服务的邮件服务器;web或者因特网服务器;桌面共享服务器;协作服务器;或者任何其他类型的应用服务器。更多其他实施例包括执行以下类型的托管的服务器应用中的任一个的服务器106:由思杰在线业务公司提供的GOTOMEETING;由加利福尼亚州圣克拉拉的网讯公司提供的WEBEX;或者由微软公司提供的Microsoft Office LIVEMEETING。
客户机140在某些实施例中可以是寻求访问由服务器106提供的资源的客户端节点。在其他实施例中,服务器106可以向客户端140或者客户端节点提供对托管的资源的访问。服务器106在某些实施例中用作被配置用于与一个或多个客户端140或服务器106通信的主节点。在某些实施例中,主节点可以标识与托管所请求的应用的服务器106相关联的地址信息并将其提供给一个或多个客户端140或者服务器106。在其他实施例中,主节点可以是服务器群106、客户端140、客户端节点140的群集或者装置。
一个或多个客户端140和/或一个或多个服务器106可以通过被安装在计算环境100内的装置与机器之间的网络130来传输数据。网络130可以包括一个或多个子网络,并且可以被安装在计算环境100内包括的客户端140、服务器106、计算机器和装置的任何组合之间。在某些实施例中,网络130可以是:局域网(LAN);城域网(MAN);广域网(WAN);由位于客户机140和服务器106之间的多个子网络组成的主网络104;具有私有子网络的主公共网络130(例如,因特网);具有公共子网络的主私有网络130;或者具有私有子网络的主私有网络130。更多其他实施例包括可以是以下网络类型中的任何网络类型的网络130:点对点网络;广播网络;电信网络;数据通信网络;计算机网络;ATM(异步传送模式)网络;SONET(同步光网络)网络;SDH(同步数字体系)网络;无线网络;有线网络;或者包括无线链路的网络,其中该无线链路可以是红外信道或者卫星频带。网络130的网络拓扑在不同的实施例内可以不同,可能的网络拓扑包括:总线网络拓扑;星型网络拓扑;环形网络拓扑;基于中继器的网络拓扑;或者分层星型网络拓扑。附加实施例可以包括使用协议来在移动设备之中通信的移动电话网络的网络,其中该协议可以是以下各项中的任何一个:AMPS;TDMA;CDMA;GSM;GPRS UMTS;或者能够在移动设备之中传输数据的任何其他协议。
在图2中图示的是计算设备200的实施例,其中在图1中图示的客户机140和服务器106可以被部署作为在此例示并描述的计算设备200的任何实施例和/或在其上被执行。计算设备200内包括的是与以下组件通信的系统总线250:中央处理单元221;主存储器222;存储存储器228;输入/输出(I/O)控制器223;显示设备224;安装设备216;以及网络接口218。在一个实施例中,存储存储器228包括:操作系统、软件例程和客户端代理220。I/O控制器223在某些实施例中还被连接到键盘226和指点设备227。其他实施例可以包括与多于一个输入/输出设备230连接的I/O控制器223。
图3图示了计算设备300的一个实施例,其中在图1中图示的客户机140和服务器106可以被部署作为在此例示并描述的计算设备300的任何实施例和/或在其上被执行。计算设备300内包括的是与以下组件通信的系统总线350:网桥370和第一I/O设备330a。在另一实施例中,网桥370还与主中央处理单元321通信,其中中央处理单元321还可以与第二I/O设备330b、主存储器322和高速缓冲存储器340通信。中央处理单元321内包括的是I/O端口、存储器端口303和主处理器。
计算机器300的实施例可以包括以以下组件配置中的任何一个为特征的中央处理单元321:对从主存储单元322取回的指令进行响应和处理的逻辑电路;或者微处理器、微控制器、具有单个处理核心的中央处理单元、具有两个处理核心的中央处理单元或者具有多于一个处理核心的中央处理单元的任何组合。
尽管图3图示了包括单个中央处理单元321的计算设备300,但是在某些实施例中计算设备300可以包括一个或多个处理单元321。在这些实施例中,计算设备300可以存储并执行当被执行时指引一个或多个处理单元321同时执行指令或者同时执行单个数据片上的指令的固件或者其他可执行指令。在其他实施例中,计算设备300可以存储并执行当被执行时指引一个或多个处理单元各自执行一组指令的一部分的固件或者其他可执行指令。例如,每个处理单元321可以被指示用于执行程序的一部分或者程序内的特定模块。
在某些实施例中,处理单元321可以包括一个或多个处理核心。例如,处理单元321可以具有两个核心、四个核心、八个核心等。在一个实施例中,处理单元321可包括一个或多个并行处理核心。处理单元321的处理核心在某些实施例中可以访问作为全局地址空间的可用存储器,或者在其他实施例中,计算设备300内的存储器可以被分割并被指派给处理单元321内的特定核心。在一个实施例中,计算设备300中的一个或多个处理核心或处理器可以各自访问本地存储器。在另一实施例中,计算设备300内的存储器可以在一个或多个处理器或处理核心之间被共享,而其他存储器可以被特定处理器或者处理器的子集访问。在其中计算设备300包括多于一个处理单元的实施例中,多个处理单元可以被包括在单个集成电路(IC)中。这些多个处理器在某些实施例中可以通过可以被称作元件互连总线的内部高速总线被链接在一起。
在其中计算设备300包括一个或多个处理单元321或者包括一个或多个处理核心的处理单元321的实施例中,处理器可以同时对多个数据片执行单个指令(SIMD),或者在其他实施例中可以同时对多个数据片执行多个指令(MIMD)。在一些实施例中,计算设备100可以包括任何数目的SIMD和MIMD处理器。
计算设备300在某些实施例中可以包括图形处理器或者图形处理单元(未示出)。图形处理单元可以包括软件和硬件的任何组合,并且还可以输入图形数据和图形指令,根据所输入的数据和指令来渲染图形,以及输出所渲染的图形。在某些实施例中,图形处理单元可以被包括在处理单元321内。在其他实施例中,计算设备300可以包括一个或多个处理单元321,其中至少一个处理单元321专用于处理和渲染图形。
计算机器300的一个实施例包括经由也被称为后端总线的次级总线与高速缓冲存储器340通信的中央处理单元321,而计算机器300的另一实施例包括经由系统总线350与高速缓冲存储器通信的中央处理单元321。本地系统总线350在某些实施例中还可以被中央处理单元用来与多于一种类型的I/O设备330通信。在某些实施例中,本地系统总线350可以是以下类型的总线中的任何一个:VESA VL总线;ISA总线;EISA总线;微通道架构(MCA)总线;PCI总线;PCI-X总线;PCI-Express总线;或者NuBus(网络用户总线)。计算机器300的其他实施例包括I/O设备330,其包括与中央处理单元321通信的视频显示器224。计算机器300的更多其他版本包括经由以下连接中的任何一个而连接到I/O设备330的处理器321:超传输,快速I/O或者无限带宽。计算机器300的其他实施例包括使用本地互连总线与一个I/O设备330a通信并且使用直接连接与第二I/O设备330b通信的处理器321。
计算设备300在某些实施例中包括主存储器单元322和高速缓冲存储器340。高速缓冲存储器340可以是任何存储器类型,并且在某些实施例中可以是以下类型存储器中的任何一个:SRAM;BSRAM;或者EDRAM。其他实施例包括可以是以下类型的存储器中的任何一个的高速缓冲存储器340和主存储器单元322:静态随机访问存储器(SRAM),突发SRAM或者同步突发SRAM(BSRAM);动态随机访问存储器(DRAM);快速页面模式DRAM(FPM DRAM);增强型DRAM(EDRAM),扩展数据输出RAM(EDO RAM);扩展数据输出DRAM(EDO DRAM);突发扩展数据输出DRAM(BEDODRAM);增强型DRAM(EDRAM);同步DRAM(SDRAM);JEDEC SRAM;PC100SDRAM;双倍数据速率SDRAM(DDRSDRAM);增强型SDRAM(ESDRAM);同步链路DRAM(SLDRAM);直接Rambus DRAM(DRDRAM);铁电RAM(FRAM);或者任何其他类型的存储器。其他实施例包括可经由以下各项访问主存储器322的中央处理单元321:系统总线350;存储器端口303;或者允许处理器321访问存储器322的任何其他连接、总线或者端口。
计算设备200/300的一个实施例提供对以下安装设备216中的任何一个的支持:CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB设备、可引导介质、可引导CD、用于诸如之类的GNU/Linux发行版的可引导CD、硬盘驱动器或者适合用于安装应用或者软件的任何其他设备。应用在某些实施例中可以包括客户端代理220,或者客户端代理220的任何部分。计算设备200/300还可以包括可以是一个或多个硬盘驱动器或者独立磁盘的一个或多个冗余阵列的存储设备228;其中该存储设备被配置用于存储操作系统、软件、程序应用或者客户端代理220的至少一部分。计算设备200、300的另一实施例包括被用作存储设备228的安装设备216。
计算设备200、300还可包括用来通过包括但不限于标准电话线路、LAN或者WAN链路(例如,802.11、T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如,ISDN、帧中继、ATM、吉比特以太网、通过SONET的以太网)、无线连接或者以上的任何或者所有的某种组合的各种连接与局域网(LAN)、广域网(WAN)或者因特网以对接的网络接口218。连接还可以使用各种通信协议(例如,TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、RS232、RS485、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、CDMA、GSM、WiMax和直接异步连接)被建立。计算设备200、300的一个版本包括能够经由诸如安全套接字层(SSL)或者传输层安全(TLS)或者由思杰系统公司制造的思杰网关协议之类的任何类型和/或形式的网关或隧穿协议与附加的计算设备200’、300’通信的网络接口218。网络接口218的版本可包括以下各项中的任何一个:内建网络适配器;网络接口卡;PCMCIA网络卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或者适合用于将计算设备200、300与能够传送并执行在此描述的方法和系统的网络对接的任何其他设备。
计算设备200、300的实施例包括以下I/O设备230a-230n中的任何一个:键盘226;指点设备227;鼠标;轨迹板;光学笔;轨迹球;麦克风;绘图板;视频显示器;扬声器;喷墨打印机;激光打印机;以及染料升华打印机;或者能够执行在此描述的方法和系统的任何其他输入/输出设备。I/O控制器223在某些实施例中可以连接到多个I/O设备230a-230n以控制该一个或多个I/O设备。I/O设备230a-230n的某些实施例可以被配置用于提供存储装置或者安装介质216,而其他可以提供用于接收诸如由Twintech工业公司制造的通用串行总线(USB)闪存驱动器设备线的USB存储设备的USB接口。更多其他实施例包括可以是在系统总线250和外部通信总线之间的网桥的I/O设备230,该外部通信总线诸如是:USB总线;苹果桌面总线;RS-232串行连接;SCSI总线;火线总线;火线800总线;以太网总线;AppleTalk总线;吉比特以太网总线;异步传输模式总线;HIPPI总线;超级HIPPI总线;SerialPlus总线;SCI/LAMP总线;光纤通道总线;或者串行连接小型计算机系统接口总线。
在某些实施例中,计算机器200、300可以连接到多个显示设备224a-224n,在其他实施例中计算设备100可以连接到单个显示设备224,而在更多其他实施例中计算设备200、300连接到作为相同类型或形式的显示器的显示设备224a-224n,或者连接到作为不同类型或形式的显示设备。显示设备224a-224n的实施例可被以下各项支持和使能:一个或多个I/O设备230a-230n;I/O控制器223;I/O设备230a-230n和I/O控制器223的组合;能够支持显示设备224a-224n的硬件和软件的任何组合;用来对接、传送、连接或者以其他方式使用显示设备224a-224n的任何类型和/或形式的视频适配器、视频卡、驱动器和/或库。计算设备200、300在某些实施例中可以被配置用于使用一个或多个显示设备224A-224N,这些配置包括:具有用来对接到显示设备224A-224N的多个连接器;具有多个视频适配器,其中每个视频适配器被连接到显示设备224A-224N中的一个或多个;具有被配置用于支持多个显示设备224A-224N的操作系统;使用在计算设备200内包括的电路和软件来连接到并使用多个显示设备224A-224N;以及在主计算设备200和多个次级计算设备上执行软件以使得主计算设备200能够使用次级计算设备的显示器作为主计算设备200的显示设备224A-224N。计算设备200的更多其他实施例可以包括由多个次级计算设备提供并且经由网络连接到主计算设备200的多个显示设备224A-224N。
在某些实施例中,计算机器200可以执行任何操作系统,例如,任何基于WINDOWS的、Unix、Linux、MacOS、iOS、OS/2、PalmOS、安卓、塞班或者任何其他嵌入式操作系统、实时操作系统、开源操作系统、私有操作系统、用于移动计算设备的操作系统或者任何其他操作系统。在又一实施例中,计算机器200可以执行多个操作系统。例如,计算机器200可以执行PARALLELS或者可以执行或管理执行第一操作系统的虚拟机的另一虚拟化平台,而计算机器200执行与第一操作系统不同的第二操作系统。
计算机器200可以被体现在以下计算设备中的任何一个中:计算工作站;台式计算机;膝上型或者笔记本计算机;服务器;手持计算机;移动电话;便携式电信设备;媒体播放设备;游戏系统;移动计算设备;上网本;由苹果计算机制造的IPOD设备家族中的设备;由索尼公司制造的PLAYSTATION设备家族中的任何一个;由任天堂公司制造的任天堂设备家族中的任何一个;由微软公司制造的XBOX设备家族中的任何一个;或者具有通信能力并且具有充足的处理器能力和存储器容量来执行在此描述的方法和系统的任何其他类型和/或形式的计算、电信或媒体设备。在其他实施例中计算机器100可以是移动设备、智能电话、个人数字助理等。能够执行在此描述的方法和系统的、不管不同平台、处理器、操作系统和输入设备的任何计算设备可被使用。
另外,计算设备200可以是任何工作站、台式计算机、膝上型或者笔记本计算机、服务器、手持计算机、移动电话、数字音频播放器(iPod、iPhone、Zune、RAZR、ROKR等),或者具有通信能力并且具有充足的处理器能力和存储器容量来执行在此描述的操作的任何其他计算机或者其他形式的计算或电信设备。
图1-图3示出了例示性虚拟化系统的高级架构。如所示,桌面虚拟化系统可以是包括至少一个被配置用于向一个或多个客户端访问设备140提供虚拟桌面和/或虚拟应用的虚拟化服务器106的单服务器系统或者多服务器系统。如在此使用的,桌面指代其中可以托管和/或执行一个或多个应用的图形环境或空间。桌面可以包括为其中可以集成有本地和/或远程应用的操作系统的实例提供用户界面的图形壳。如这里所使用的应用是在操作系统的实例(并且,可选地,还有桌面)已被加载之后执行的程序。操作系统的每个实例可以是物理的(例如,每个设备一个操作系统)或者虚拟的(例如,在单个设备上运行的OS的许多实例)。每个应用可以在本地设备上被执行,或者在位于远程的设备(例如,远程的设备)上被执行。
已经在图1-图3中描述了虚拟化系统以及此类系统中可以包括的某些软件和功能的各种示例,将领会到,除了上面标识的那些之外的其他软件和硬件可以被使用。此外,以下段落提供了与基于在会话主机和会话客户端之间的可用带宽来优化托管的服务有关的各种方法和系统的附加示例。
参考图4,一个或多个外部客户端设备405a-405n可以经由一个或多个网络415、435与连接代理430通信。网络415可以包括诸如因特网之类的公共网络。网络435可以包括诸如公司LAN、WAN等受防火墙420保护的私有网络。任何其他网络也可被使用。
外部客户端设备405可以经由诸如接入网关、虚拟专用网(VPN)服务器等边缘设备425通过防火墙420通信。web服务器430可以包括用于分别与外部客户端设备405和内部客户端设备410通信的对外方面和对内方面。备选地,单个逻辑web服务器可以被适配或配置用于与所有客户端设备通信。如在此进一步描述的,web服务器430与连接代理401通信以处理对具有虚拟化资源的会话的请求。在某些方面,web服务器430和连接代理401在物理和/或逻辑上是分离的设备。在其他方面,web服务器430和连接代理401可以在物理和/或逻辑上被结合。
连接代理401可以接收来自客户端设备405、410处的用户的登录凭据(例如,经由web服务器430或者其他客户端—服务器配置),并且然后创建资源并且/或者将其指派给授权的用户,并且向授权的管理员提供管理控制台。每个资源(例如,托管的应用、托管的资源、虚拟机等)可以被一个或多个会话主机440a-440n(例如,设备101、106)托管。
当托管的桌面或托管的应用的会话主机具有高网络带宽,并且会话客户端具有更低可用带宽时,在会话主机基于对会话主机可用的更高带宽而非对会话客户端可用的更低带宽代表会话客户端执行某一动作时问题可能出现。图4图示了具有由粗线图示的高因特网带宽/管道450的会话主机440a-440n。会话客户端405a-405n可以具有由变化粗细的线图示的变化水平的带宽455-465。在这一示例中位于公司防火墙420后面的会话客户端410a-410a可以具有与会话主机440a-440n相同的因特网带宽450。就是说,公司网络435在带宽上可能受公司防火墙420外部的连接450限制,但是在其他方面具有快速以太网或吉比特以太网速度,例如,100兆比特/秒、吉比特/秒或者更快。
在一个示例中,基于web的视频内容(按需或者实时的)可以使用不同比特率被编码为多个文件或流(例如,多个H.264流)以使得视频的接收者可以基于对该接收者可用的网络带宽来选择最佳比特率。当虚拟桌面(会话主机)具有高带宽时,在该虚拟桌面上运行的带宽自适应视频播放器应用可能基于该虚拟桌面的可用带宽450取回高比特率视频。然而,如果视频将被解码并渲染处的客户端侧带宽465较低,则该比特率可能不合适(例如,视频可能必须被转码)。换句话说,尽管最初被主机设备请求,但视频的转码可能在会话客户端设备处发生。此外,会话主机设备可以基于被确定为在会话主机处可用的带宽而非基于将实际执行转码的会话客户端的带宽来选择要下载的特定比特率数据流。会话客户端因而在被与传入视频流的比特率相对的客户端的可用带宽限制时可能遭受性能问题。当会话主机代表会话客户端运行其他数据密集型应用时类似问题可能出现。
当前没有用于确定带宽的标准应用编程接口(API)或方法。每个应用通常使用其自己的一组API或者技术来确定带宽。视频应用(特别是例如华盛顿州雷德蒙德的微软公司的Windows MediaPlayer)可以独立地确定带宽并且基于当前可用带宽动态地改变视频流的比特率。Windows Media Player将这称作智能流传输。其他视频播放器或者其他高带宽应用可以使用其他技术来确定带宽。
根据一个方面,数据库121可以存储关于每个应用用来确定带宽的API的信息。例如,应用A可以使用API X和Y以例如通过经由那些API发送或者接收某已知数量的数据并且测量发送或者接收该已知数量的数据所花费的时间量来确定带宽。应用B可以使用APIZ来执行类似计算。通过使用一个或多个API,在会话主机上(或者在特定虚拟桌面内)执行的应用确定该会话主机的带宽并且基于该会话主机的带宽来做出任何后续决定(例如,要选择哪个比特率视频流的选择)。然而,对会话客户端可用的带宽可能呈现后续的未考虑到的瓶颈。因此,根据例示性实施例,会话主机(或者虚拟桌面)可以被配置用于通过挂钩连接在数据库121中标识出的一个或多个API并且基于客户端设备的带宽对带宽进行节流来模拟客户端设备的网络带宽。挂钩连接和节流可以在系统范围或者基于每个进程而被执行。
参考图5,提供了一种用于模拟客户端设备的带宽的例示性方法。最初,在步骤501中,应用在托管的会话内被启动,例如,视频播放器应用可以基于用户输入而被启动或者基于某一事件的发生或因特网链接的选择而被自动启动。在步骤503中,会话主机基于该应用的进程名称来查询数据库121。如果该进程名称不在数据库121中,则不为该进程内的任何给定API创建或者建立挂钩,并且方法跳到步骤513。如这里所使用的挂钩指代拦截API调用并且返回不是来自原来调用的API的值的实践。
如果,在步骤503中,查询返回应用用来确定带宽的一个或多个已知API,则会话主机在步骤505中针对标识的API创建新挂钩以拦截对那些API的调用。会话主机可以基于每个进程创建挂钩,由此拦截仅来自被启动的应用的API调用,同时允许其他进程仍然不受阻碍地访问API。可替代地,挂钩可以基于系统范围而被建立。
在步骤507中,会话主机等待被启动的应用调用所标识的API中的一个或多个。在步骤509中,当标识的API中的一个或多个被调用时,会话主机检查、查询或者以其他方式确定会话客户端设备的当前带宽。存在各种方式来确定客户端设备带宽,并且所使用的特定方法相对于确定带宽的能力是次要的。换句话说,如果存在可以估计或者确定客户端设备的带宽的某一方法或机制,则如何确定客户端设备的带宽不重要。在一个示例中,执行虚拟桌面的客户端/服务器软件可以包括确定在会话主机与会话客户端之间的当前带宽的软件组件或模块。在另一示例中,会话主机可以维持当会话在会话主机和会话客户端之间被最初建立时确定的已知或者估计的带宽。在另一示例中,会话主机可以向会话客户端查询,并且会话客户端可以转而例如使用任何数目的可公开获得或者访问的因特网带宽确定网站或者工具等来执行带宽确定处理。
不管客户端带宽被如何确定,会话主机在步骤511中基于所确定的会话客户端的带宽对标识的API中的一个或多个的带宽进行人工节流,由此模拟会话客户端的带宽。接下来,在步骤513中,被启动的应用基于从API返回的信息/数据做出带宽确定。如果API在步骤505中被挂钩连接,则由API返回的信息/数据是在步骤511中发生的人工节流的结果。被启动的应用因而将会将带宽确定为与所模拟的客户端设备的带宽一致。然而,如果API未被挂钩连接(因为被启动应用未被包括在数据库121中),则被启动的应用做出真正独立的带宽确定,这是因为从API返回的信息/数据不是基于人工节流来模拟客户端带宽。最后,在步骤515中,被启动的应用基于所确定的带宽做出决定、执行事件、选择输入或输出或者以其他方式执行某一动作。
在图5中图示的方法可以在不脱离在此描述的本发明的精神或范围的情况下被更改。例如,步骤可以被修改、组合或被分成进一步的子步骤,并且可以基于系统设计按照记载的顺序之外的顺序被执行。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题内容,但是将理解,在所附权利要求中定义的主题内容不一定限于上面描述的具体特征或动作。相反,上面描述的具体特征和动作被描述为实现权利要求的例示性形式。
Claims (20)
1.一种方法,包括:
在虚拟化系统中的会话主机上挂钩连接应用编程接口(API);以及
当所述API被调用时,基于所述挂钩来拦截API调用,并且基于连接到所述会话主机的会话客户端的带宽向所述API返回数据。
2.根据权利要求1所述的方法,还包括:
通过针对与在所述会话主机上执行的第一应用相关联的进程名称查询数据库来确定所述API,
其中所述API被所述第一应用调用。
3.根据权利要求2所述的方法,还包括:
在与所述第一应用相关联的进程内挂钩连接所述API;以及
当所述API被在所述会话主机上执行的第二应用调用时,执行所述API而不被所述挂钩拦截。
4.根据权利要求1所述的方法,其中基于所述会话客户端的所述带宽向所述API返回数据包括基于所述会话客户端的所述带宽来对所述API的数据带宽节流。
5.根据权利要求1所述的方法,还包括所述第一应用基于对经由所述API返回的所述数据的分析来执行第一动作。
6.根据权利要求1所述的方法,还包括所述第一应用基于经由所述API返回的所述数据来选择视频流。
7.一个或多个包括计算机可读指令的非瞬态计算机可读介质,所述计算机可读指令当被执行时通过以下步骤来在虚拟桌面会话中模拟客户端带宽:
由所述虚拟桌面会话的会话主机挂钩连接应用编程接口(API);以及
当所述API被调用时,基于所述挂钩来拦截API调用,并且基于连接到所述会话主机的会话客户端的带宽向所述API返回数据。
8.根据权利要求7所述的计算机可读介质,所述模拟所述客户端带宽还包括:
通过针对与在所述会话主机上执行的第一应用相关联的进程名称查询数据库来确定所述API,
其中所述API被所述第一应用调用。
9.根据权利要求8所述的计算机可读介质,所述模拟所述客户端带宽还包括:
在与所述第一应用相关联的进程内挂钩连接所述API;以及
当所述API被在所述会话主机上执行的第二应用调用时,执行所述API而不被所述挂钩拦截。
10.根据权利要求7所述的计算机可读介质,其中基于所述会话客户端的所述带宽向所述API返回数据包括基于所述会话客户端的所述带宽来对所述API的数据带宽节流。
11.根据权利要求7所述的计算机可读介质,所述模拟所述客户端带宽还包括:
所述第一应用基于对经由所述API返回的所述数据的分析来执行第一动作。
12.根据权利要求7所述的计算机可读介质,所述模拟所述客户端带宽还包括所述第一应用基于经由所述API返回的所述数据来选择视频流。
13.一种会话主机装置,包括:
处理器;以及
存储计算机可读指令的存储器,所述计算机可读指令当被执行时在与会话客户端相关联的虚拟桌面会话内模拟客户端带宽:
挂钩连接所述虚拟桌面会话的应用编程接口(API);以及
当所述API被调用时,基于所述挂钩来拦截API调用,并且基于连接到所述虚拟桌面的所述会话客户端的带宽向所述API返回数据。
14.根据权利要求13所述的会话主机装置,所述模拟所述客户端带宽还包括:
通过针对与在所述虚拟桌面内执行的第一应用相关联的进程名称查询在存储器内存储的数据库来确定所述API,
其中所述API被所述第一应用调用。
15.根据权利要求14所述的会话主机装置,所述模拟所述客户端带宽还包括:
在与所述第一应用相关联的所述进程内挂钩连接所述API;以及
当所述API被在所述虚拟桌面内执行的第二应用调用时,执行所述API而不被所述挂钩拦截。
16.根据权利要求13所述的会话主机装置,其中基于所述会话客户端的所述带宽向所述API返回数据包括基于所述会话客户端的所述带宽来对所述API的数据带宽节流。
17.根据权利要求13所述的会话主机装置,所述模拟所述客户端带宽还包括:
所述第一应用基于对经由所述API返回的所述数据的分析来执行第一动作。
18.根据权利要求13所述的会话主机装置,所述模拟所述客户端带宽还包括所述第一应用基于经由所述API返回的所述数据来选择视频流。
19.一种方法,包括:
在客户端设备处,建立在所述客户端设备与主机设备之间的虚拟桌面会话;
从在所述虚拟桌面会话中执行的应用内接收对第一视频流的请求;以及
以基于所述客户端设备的带宽的比特率接收所述第一视频流。
20.根据权利要求19所述的方法,还包括:
基于在所述主机设备与所述客户端设备之间的通信来确定所述客户端设备的所述带宽;以及
基于确定的所述带宽来对所述应用的API节流。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/372,705 US9294549B2 (en) | 2012-02-14 | 2012-02-14 | Client bandwidth emulation in hosted services |
US13/372,705 | 2012-02-14 | ||
PCT/US2013/025815 WO2013126245A1 (en) | 2012-02-14 | 2013-02-13 | Client bandwidth emulation in hosted services |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104115471A true CN104115471A (zh) | 2014-10-22 |
CN104115471B CN104115471B (zh) | 2017-07-04 |
Family
ID=47843385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380008950.2A Expired - Fee Related CN104115471B (zh) | 2012-02-14 | 2013-02-13 | 确定托管的服务中使用的带宽 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9294549B2 (zh) |
EP (1) | EP2815559B1 (zh) |
CN (1) | CN104115471B (zh) |
WO (1) | WO2013126245A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123984A (zh) * | 2016-11-30 | 2018-06-05 | 天津易遨在线科技有限公司 | 一种内存数据库优化服务器集群架构 |
CN110651459A (zh) * | 2017-12-21 | 2020-01-03 | 谷歌有限责任公司 | 用于验证实时交互式媒体流系统的网络损伤模拟框架 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3000339A1 (fr) * | 2012-12-20 | 2014-06-27 | France Telecom | Procede de traitement de requetes d'acces a des services de virtualisation informatique, passerelle de virtualisation et navigateur web |
US9794078B2 (en) * | 2014-03-05 | 2017-10-17 | Ricoh Company, Ltd. | Fairly adding documents to a collaborative session |
US11283866B2 (en) | 2014-07-07 | 2022-03-22 | Citrix Systems, Inc. | Providing remote access to applications through interface hooks |
US11310312B2 (en) | 2014-07-07 | 2022-04-19 | Citrix Systems, Inc. | Peer to peer remote application discovery |
US10191911B2 (en) * | 2017-05-27 | 2019-01-29 | Plesk International Gmbh | Permanent website hosting on mobile devices |
US10671286B2 (en) * | 2018-09-04 | 2020-06-02 | Toshiba Memory Corporation | System and method for managing GUI of virtual NVMe entities in NVMe over fabric appliance |
US10992744B1 (en) | 2019-08-29 | 2021-04-27 | Parallels International Gmbh | Allocation of server resources in remote-access computing environments |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040252698A1 (en) * | 2003-05-15 | 2004-12-16 | Anschutz Thomas Arnold | Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network |
US20060075123A1 (en) * | 2004-09-27 | 2006-04-06 | Citrix Systems, Inc. | System and method for managing virtual ip addresses |
US20070130306A1 (en) * | 2005-12-06 | 2007-06-07 | Gal Ofel | System and method for comparing a service level at a remote network location to a service level objective |
CN102662619A (zh) * | 2005-11-01 | 2012-09-12 | 微软公司 | 多用户终端服务加速器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60135127D1 (de) | 2000-05-24 | 2008-09-11 | Voltaire Ltd | Gefilterte kommunikation von anwendung zu anwendung |
US7475129B2 (en) * | 2003-12-12 | 2009-01-06 | International Business Machines Corporation | Estimating bandwidth of client-ISP link |
US8069226B2 (en) * | 2004-09-30 | 2011-11-29 | Citrix Systems, Inc. | System and method for data synchronization over a network using a presentation level protocol |
WO2008109641A2 (en) * | 2007-03-06 | 2008-09-12 | Anansi Networks, Inc. | System and method for spectrum management |
JP4802295B1 (ja) * | 2010-08-31 | 2011-10-26 | 株式会社スプリングソフト | ネットワークシステム及び仮想プライベート接続形成方法 |
US8955114B2 (en) * | 2011-12-14 | 2015-02-10 | Microsoft Corporation | Application monitoring through collective record and replay |
-
2012
- 2012-02-14 US US13/372,705 patent/US9294549B2/en active Active
-
2013
- 2013-02-13 WO PCT/US2013/025815 patent/WO2013126245A1/en active Application Filing
- 2013-02-13 EP EP13708268.1A patent/EP2815559B1/en active Active
- 2013-02-13 CN CN201380008950.2A patent/CN104115471B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040252698A1 (en) * | 2003-05-15 | 2004-12-16 | Anschutz Thomas Arnold | Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network |
US20060075123A1 (en) * | 2004-09-27 | 2006-04-06 | Citrix Systems, Inc. | System and method for managing virtual ip addresses |
CN102662619A (zh) * | 2005-11-01 | 2012-09-12 | 微软公司 | 多用户终端服务加速器 |
US20070130306A1 (en) * | 2005-12-06 | 2007-06-07 | Gal Ofel | System and method for comparing a service level at a remote network location to a service level objective |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123984A (zh) * | 2016-11-30 | 2018-06-05 | 天津易遨在线科技有限公司 | 一种内存数据库优化服务器集群架构 |
CN110651459A (zh) * | 2017-12-21 | 2020-01-03 | 谷歌有限责任公司 | 用于验证实时交互式媒体流系统的网络损伤模拟框架 |
CN110651459B (zh) * | 2017-12-21 | 2022-03-15 | 谷歌有限责任公司 | 用于验证实时交互式媒体流系统的网络损伤模拟框架 |
Also Published As
Publication number | Publication date |
---|---|
US9294549B2 (en) | 2016-03-22 |
CN104115471B (zh) | 2017-07-04 |
US20130212288A1 (en) | 2013-08-15 |
WO2013126245A1 (en) | 2013-08-29 |
EP2815559A1 (en) | 2014-12-24 |
EP2815559B1 (en) | 2019-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104246703B (zh) | 为云资源指定状态 | |
CN104115471A (zh) | 托管的服务中的客户端带宽模拟 | |
CN104487943B (zh) | 受信文件间接操作的方法和装置 | |
CN104956329B (zh) | 在云计算环境中的网络方案 | |
CN104067288B (zh) | 存储加密方法 | |
CN104106052B (zh) | 用于主控的服务的连接租赁 | |
CN104981776B (zh) | 对个人虚拟磁盘的系统更新 | |
CN104067231A (zh) | 使用虚拟交换代理控制网络接口 | |
US9423994B2 (en) | Hierarchical display | |
CN102272726B (zh) | 便于异构处理器池虚拟化的系统和方法 | |
CN104981783B (zh) | 在云计算环境中的动态配置 | |
CN102202049B (zh) | 用于多虚拟机设备的网络策略实现 | |
CN104106051A (zh) | 标记云计算环境中的物理资源 | |
CN102257479A (zh) | 用于优化运行至少一个进程的虚拟机的配置的系统和方法 | |
US11605033B2 (en) | Quantum computing task translation supporting multiple quantum computing technologies | |
JP7358005B2 (ja) | クラウド・サービスのためのネイティブ・コード生成 | |
US20130166622A1 (en) | Using Mobile Device Location Data with Remote Resources | |
CN104487932B (zh) | 用于远程应用和桌面的语音识别支持 | |
CN106161501A (zh) | 虚拟桌面的数据共享方法和装置 | |
CN114846480A (zh) | 支持多种量子计算技术的量子计算服务 | |
US20230169396A1 (en) | Machine learning using a hybrid serverless compute architecture | |
CN108700642B (zh) | 基于具有不确定性的用户移动数据的位置上下文推断 | |
US11704715B2 (en) | Quantum computing service supporting multiple quantum computing technologies | |
US11650869B2 (en) | Quantum computing service with local edge devices supporting multiple quantum computing technologies | |
US11805027B2 (en) | Machine learning using serverless compute architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170704 |
|
CF01 | Termination of patent right due to non-payment of annual fee |