CN114342341A - 在虚拟工作空间环境中的客户端设备之间共享资源 - Google Patents
在虚拟工作空间环境中的客户端设备之间共享资源 Download PDFInfo
- Publication number
- CN114342341A CN114342341A CN202180002472.9A CN202180002472A CN114342341A CN 114342341 A CN114342341 A CN 114342341A CN 202180002472 A CN202180002472 A CN 202180002472A CN 114342341 A CN114342341 A CN 114342341A
- Authority
- CN
- China
- Prior art keywords
- resource
- client device
- resources
- list
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims description 8
- 229940124447 delivery agent Drugs 0.000 claims 4
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000013475 authorization Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
用于在虚拟计算环境中的客户端设备之间共享资源的系统和方法。公开了一种方法,该方法包括以下步骤:从第一客户端设备接收针对可用资源列表的请求,该可用资源列表包括以下资源:所述资源本地连接至其它客户端设备,并且所述资源无法经由虚拟计算环境内的企业服务而对所述第一客户端设备可用;向第一客户端设备提供可用资源列表;从第一客户端设备接收对可用资源列表内包括的资源的选择;向连接至选定资源的第二客户端设备提供推送通知,以与选定资源建立连接;以及向第一客户端设备提供经由所建立的连接到选定资源的访问。
Description
背景技术
企业计算平台(其通常是经由云系统、虚拟网络、服务器等部署的)允许用户从客户端设备通过网络利用和共享服务和特色功能。例如,在虚拟工作空间环境中,用户可以与在其客户端设备上显现的但实际上正在服务器上的别处运行的虚拟工作空间交互。
发明内容
本公开的各方面提供了一种用于在虚拟计算环境中的客户端设备之间共享本地连接的资源的系统和方法。
本公开的第一方面提供了一种利用计算设备实现的在虚拟计算环境中共享资源的方法。所述方法包括以下步骤:由计算系统从第一客户端设备接收请求,该请求是针对可用资源列表的,其中,该可用资源列表包括以下资源:所述资源被本地连接至至少一个其它客户端设备,并且所述资源无法经由虚拟计算环境内的企业服务而对所述第一客户端设备可用。所述方法还包括以下步骤:由计算系统向第一客户端设备提供可用资源列表,该可用资源列表包括可用资源中的至少一个资源的标识符(ID)和元数据。而且,所述方法包括以下步骤:由计算系统从第一客户端设备接收对可用资源列表内包括的资源的选择;以及由计算系统,向连接至选定资源的第二客户端设备提供推送通知,以与选定资源建立连接。
本公开的第二方面提供了一种提供在虚拟计算环境中共享资源的计算设备。该设备包括存储器以及连接至该存储器的处理器,该处理器被配置成实现处理。该处理包括:存储与资源集相关联的信息,该信息包括资源集中的各个资源的标识符(ID)和元数据,其中,各个资源皆被本地连接至客户端设备,并且各个资源无法经由虚拟计算环境内的企业服务而对其它客户端设备可用。该处理还包括:从第一客户端设备接收针对可用资源列表的请求;向第一客户端设备提供可用资源列表,该可用资源列表包括可用资源中的各个资源的ID和元数据;以及从第一客户端设备接收来自可用资源列表的选定资源,其中,该选定资源连接至第二客户端设备。该处理还包括:向第二客户端设备推送通知,以与选定资源建立连接。
本公开的例示性方面被设计成解决本文所描述的问题和/或未讨论的其它问题。
附图说明
根据下面结合附图对本公开的各个方面的详细描述,将更容易理解本公开的这些和其它特征,附图描绘了本公开的各种实施方式,其中:
图1描绘了根据例示性实施方式的虚拟计算环境。
图2描绘了根据例示性实施方式的用于在虚拟计算环境内注册和取消注册资源的图。
图3描绘了根据例示性实施方式的用于远程访问虚拟计算环境内的资源的图。
图4描绘了根据例示性实施方式的资源共享架构。
图5描绘了根据例示性实施方式的另选资源共享架构。
图6A和图6B描绘了根据例示性实施方式的设备共享和推送通知处理的流程图。
图7描绘了根据例示性实施方式的网络架构。
图8描绘了根据例示性实施方式的云系统。
图9描绘了根据例示性实施方式的计算系统。
附图仅旨在描绘本公开的典型方面,因此不应被认为是限制本公开的范围。
具体实施方式
本公开的实施方式提供了在不利用资源服务器的情况下与虚拟计算环境中的其它客户端设备共享连接至客户端设备的本地资源的技术解决方案。在过去,在客户端设备之间共享诸如打印机的资源需要打印机由诸如通用打印服务器(UPS)、复杂桌面交付控制器(desktop delivery controller(DDC))和/或其它策略的企业服务来进行管理。因此,不可能共享本地(例如,直接)连接至客户端设备的诸如打印机、传真等的资源,除非该资源是由企业服务管理的。该资源仅可以经由该资源所连接到的客户端设备或者从连接至该客户端设备的虚拟桌面代理(VDA)会话以本地方式来访问。
本实施方式提供了用于向例如位于云中的工作空间(WS)资源服务器注册被本地连接至一组客户端设备的资源的方法。WS资源服务器还被配置成,从客户端设备的用户接收针对当前可用资源列表的请求。此后,可以在第一客户端上的本地连接的资源与第二客户端之间建立连接。各个客户端皆包括客户端侧(CS)服务,该CS服务可以例如经由虚拟桌面代理(VDA)会话、WebSocket连接等)来管理与WS资源服务的接口。
出于本公开的目的,“本地资源”通常包括:可被客户端设备容易访问或者可从客户端设备容易访问但在没有传统企业服务(诸如身份认证器、网关、工作空间应用、旧版通用打印服务器等)的情况下无法被访问的任何资源(包括基于网络的资源)。本地资源可以使用诸如USB、蓝牙、WiFi等的连接而被连接至客户端设备。
图1描绘了根据例示性实施方式的具有虚拟计算环境的计算基础架构100。在这种情况下,例如运行MS等的服务器桌面104包括一组虚拟桌面代理(VDA)122,该VDA向一组客户端设备(例如,膝上型电脑、智能设备等)提供远程虚拟访问该服务器桌面104。例如,可以将服务器桌面104实现为本地部署(on-premises)系统或者经由云102来实现。在所示示例中,将服务器桌面104实现为本地部署系统并且经由云连接器120和交付控制器118与云102交互,该服务器桌面提供对工作空间(WS)资源服务器110的访问。
在所示示例中,将两个客户端设备106、108配置成远程访问服务器桌面104。第一客户端设备106包括运行客户端侧(CS)资源服务134的工作空间(WS)应用130(例如,由从美国佛罗里达州劳德代尔堡的Citrix Systems商业可获的工作空间提供的),并且经由VDA会话128连接至服务器桌面104。类似地,第二客户端设备108包括运行CS资源服务138的WS应用140,并且经由VDA会话142连接至服务器桌面104。
在这种情况下,已经在未使用企业服务的情况下,例如经由通用串行总线(USB)连接,将资源124(诸如打印机、扫描仪、传真、外围设备等)连接至客户端设备106。在过去的实现中,资源124仅通过本地客户端设备106可用,即,在没有诸如打印服务器的企业服务的情况下,远程客户端设备108的用户无法访问资源124。本方法允许第二客户端设备108利用以下项来访问第一客户端设备106上的资源124:(1)分别安装在客户端设备106、108上的客户端侧(CS)资源服务134、138;以及(2)在云102中实现的WS资源服务器110。在一些实施方式中,可以分别将客户端侧(CS)资源服务134、138安装为工作空间(WS)应用130、140的部分。
在一个例示性实施方式中,WS资源服务器110通过虚拟通道基础架构(诸如CitrixHDX(High Definition Experience(高清体验))协议)以完整会话或轻量级无头(headless)会话来与CS资源服务134、138进行通信。无头会话利用诸如Citrix独立计算架构(Independent Computing Architecture(ICA))的协议,在无需直接用户启动并且没有用户可见的伪像的情况下,该协议被自动且静默地建立为后台操作。这样的基础架构在客户端设备上呈现工作空间的虚拟版本,并且例如可以:(1)检查屏幕活动、应用命令、端点设备以及网络和服务器能力,以即时确定何时何地呈现应用或桌面活动;(2)提供数据压缩;以及(3)使用诸如重复数据删除(deduplication)的技术优化网络流量。在轻量级无头会话中,例如,会话是在不呈现图形用户界面或者资源124利用所不需要的任何附加虚拟通道(诸如音频、多媒体、客户端驱动器映射、剪贴板映射等)的情况下运行的。
CS资源服务134、138经由主动会话(例如,使用HDX VDA会话、无头VDA会话或某一其它协议),使用关联的WS应用130、140来与WS资源服务器110进行通信。由CS资源服务134、138执行的例示性功能包括:捕获由资源124生成的资源连接和断开连接事件(例如“即插即用”事件),以及将设备元数据转发至WS资源服务器110,以实现将资源124注册在云102中。CS资源服务134、138还允许用户设定访问权限,以向其它用户或设备授权访问资源124。然后将这些权限转发至WS资源服务器110或者管理访问控制的另一服务器。CS资源服务134、138还可以向WS资源服务器110发送枚举请求,以列出用户可用的所有资源以及关联的资源细节。CS资源服务134、138另外可以监听从远程客户端设备访问本地连接的资源124的任何传入请求,并且在从WS资源服务器110认证和检查请求者的访问权限之后向请求者授予访问权限。
在一个例示性实施方式中,当将新资源124连接至客户端设备106时,WS资源服务器110将新客户端侧资源124例如注册在资源数据库(DB)112中。在一个实施方式中,当连接新资源124时,WS资源服务器110接收资源元数据并生成资源ID。WS资源服务器110维护资源DB 112中的资源ID列表,其包括关联的资源元数据。
响应于用户请求,在验证用户的访问权限之后,WS资源服务器110将生成该用户可用的所有客户端侧资源124的列表。WS资源服务器110例如可以与授权服务114(该授权服务114可以是也可以不是WS资源服务器110的部分)联系,以认证该用户并基于授权策略向该用户授权,例如,使用目录服务(诸如Microsoft的Active Directory)。一旦生成所述列表,WS资源服务器110就将资源元数据共享给请求CS资源服务138。元数据例如可以包括:资源类型、名称、模型、驱动程序版本;在Windows上的{类GUID、实例GUID};在Linux上的{产品ID、产品版本};设备MAC地址;客户名称;等。在一些示例实施方式中,可以在VDA会话(例如,VDA会话142)内触发用户请求。在其它示例实施方式中,用户请求可以从客户端设备(例如,在客户端设备108的WS应用140处)进行触发,然后经由VDA会话142中继至WS资源服务器110。
图2参照图1描绘了示出例示性资源注册处理200和例示性资源断开连接处理202的流程图。在资源注册处理200期间,用户将资源124连接至客户端设备106,这将导致资源124生成事件(诸如“即插即用”事件),该事件然后将由在WS应用130上运行的CS资源服务134进行处理。然后,经由虚拟通道(例如,通过使用活动的完整或无头HDX VDA会话128的HDX)传送该事件。接下来,WS应用130经由云连接器120向WS资源服务器110进行注册调用。WS应用130还发送资源元数据以及该请求。
在例示性实施方式中,在注册处理期间,当检测到设备时,CS资源服务134将资源元数据(即,设备信息)发送给WS资源服务器110,该资源元数据例如可以包括:接口调用GUID、句柄、类型、名称、模型、产品ID、产品版本、驱动程序信息、IP地址等。WS资源服务器110然后向CS资源服务134发送回资源ID,该资源ID被用于后续事件。
因此,响应于所接收到的请求,WS资源服务器110验证该资源元数据(例如,检查复制等),它可以包括评估资源类型、资源驱动程序、资源IP地址(内部/外部)等。接下来,WS资源服务器110生成资源ID,将该资源ID指派给资源元数据,以及将该资源ID发送给WS应用130和CS资源服务134,这使得跟踪资源124。
在资源断开连接处理202(例如,从客户端设备106拔掉资源124)期间,并且例如,生成“即插即用”断开连接事件。在WS应用130上运行的CS资源服务134捕获该事件并向WS资源服务器110转发请求以及资源ID,以将该资源在资源数据库112中标记为不活动。
图3参照图1描绘了例示性资源访问处理。在该示例中,客户端设备108上的WS应用140的用户提供用户凭证并请求可用资源列表。在WS应用140上运行的CS资源服务138经由云连接器120向WS资源服务器110发送请求。接下来,WS资源服务器110调用认证服务114以验证用户的凭证。可以使用任何认证处理,诸如活动目录(Active Directory(AD))集成(例如,AD数据库中的查找)、Microsoft Azure AD、与任何第三方身份提供者(IDP)集成等。另外,使用云连接器,可以将授权与本地AD账户(例如,如果客户企业已经支持该AD账户)进行集成。
一旦用户被授权,WS资源服务器110就基于用户的授权和关联的策略,来确定该用户可用的资源列表。然后,WS资源服务器110经由WS应用140向用户发送可用资源列表。用户选择想要访问的资源124,并将请求发送给WS资源服务器110。然后,WS资源服务器110向客户端设备106发送推送通知,以唤醒连接至资源124的WS应用130/VDA会话128。推送通知服务116可以被并入WS资源服务器110或者独立于该WS资源服务器。一旦接收到推送通知,用户就可以经由资源元数据信息直接访问资源124。在例示性VDA实施方式中,HDX管理资源124所需的任何数据,诸如打印数据。在这种情况下,利用HDX打印虚拟通道将本地资源124作为虚拟打印机映射到会话中。
来自WS资源服务器110的推送通知首先被发送给作为WS资源服务器110的部分的或者由第三方提供的推送通知服务116。然后,将该通知转发给客户端设备106的操作系统,该操作系统将该通知转发给WS应用130。然后,将该通知转发给CS资源服务134,该CS资源服务向资源124发出唤醒或连接信号。
应注意,推送通知是一种理想的方法,因为它们利用高效的本机平台功能(例如,Windows、Apple、Android等采用推送通知以及相应的云推送通知服务)。然而,可以另选地利用现有的活动连接来发送通知,例如,活动的WS应用130到WS资源服务器110的WebSocket连接,或者活动的WS应用130到VDA的HDX连接(例如,活动的VDA会话128)。
对于性能和可用性,可以经由推送通知来唤醒客户端侧资源124,该推送通知是通过WS资源服务器110经由WS应用130触发的(该WS应用130维护客户端设备106上的已连接资源的映射)。初始地,在向WS资源服务器110进行资源注册时,WS应用130还可以向推送通知服务116进行注册并获得设备令牌,该设备令牌与资源信息一起被发送给WS资源服务器110。在该实施方式中,在拥有资源124的客户端设备106上运行的WS应用130不需要维护活动资源会话128。在该事件中,另一客户端设备请求使用资源124,WS资源服务器110将可用资源ID和元数据发送至客户端设备106。在选择资源之后,将针对该资源的请求发送至WS资源服务器110。WS资源服务器110使用先前接收到的客户端设备106的设备令牌来发送推送通知。
该推送通知唤醒连接至资源124的WS应用130。在接收到唤醒请求时,WS应用130接着启用资源会话132,然后能够接收与资源通信的请求。如果会话已经存在(例如,来自在先请求),则利用该会话。如果会话不存在,那么可以创建新的无头资源会话。
参照图4以及图6A和图6B,进一步描述在资源共享环境220中使用推送通知服务。如图6A的流程图所示(参照图4和图1),在S1,WS应用130向推送通知服务(PNS)230注册,诸如窗口通知服务、Android PNS、Apple PNS等。在S2,WS应用130运行客户端侧资源服务134并与VDA 228建立活动远程会话。在S3,WS应用130例如经由VDA主机代理236或者直接地向WS资源服务222(例如,运行于WS资源服务器110上)发送例如秘密ID、密钥、设备令牌、设备类型等。
在S4,应注意,VDA 228可以具有启用的会话拖延(lingering),并且在S5,另一用户向WS资源服务222发出请求以访问资源124。在S6,WS资源服务222生成通知,并且在S7,准备用于分派的通知,例如,利用密钥加密通知上下文并且添加设备令牌、密钥ID、元数据等。在S8,WS服务222将通知发送给VDA主机代理236。在S9,确定WS应用130是否具有活动的连接。
如果不存在活动的连接,则在S10,WS资源服务222基于设备类型通知推送通知提供商232,经由PNS分派通知。然后,在S11,PNS 230向目标设备(即,连接至资源124的客户端设备106)中继静默通知。在S12,目标设备(即,客户端设备106)接收WS应用130的推送通知,并且在S13,目标设备OS代理227向WS应用130中继通知。然后,在S14,客户端侧资源服务134从WS应用130接收通知,并且在S15,解密该通知。在S16,客户端侧资源服务134唤醒资源124/与该资源重新连接。
如果在S9存在活动的连接,那么在S17,例如通过HDX连接器或者诸如WebSocket的其它协议来分派唤醒通知。然后,在S14,该处理继续,其中,客户端侧资源服务134从WS应用130接收通知。下面,该处理利用图6B继续。
在另选实施方式中,不是使用WS应用和诸如HDX的虚拟通道协议来提供通信路径,而是可以代替地利用诸如WebSocket的技术。WebSocket是一种计算机通信协议,通过单个TCP连接提供全双工通信通道。该方法将去除对CS资源服务134、138(图1)连接至VDA或运行无头HDX会话的需要。WebSocket将允许与WS资源服务器110的双向通信并且共享设备元数据。可以经由推送通知来唤醒资源,如先前所描述的。另选地,可以使用现有的活动WebSocket连接来唤醒资源,如先前所描述的。在一个实现中,CS资源服务134、138可以维护打开的WebSocket并且监听来自WS资源服务器110的传入数据。在其中CS资源服务138维护永久WebSocket连接的实施方式中,不需要涉及WS应用。在涉及本机平台集成的推送通知(例如,Apple推送通知服务(APS)、Windows推送通知服务(WPS)等)的实施方式中,可以向WS应用注册,以接收推送通知并将这些通知向CS资源服务138中继。
图5描绘了不利用HDX的架构250。代替地,经由WS资源服务器110的资源共享利用直接对等式(P2P)连接252(例如,WebSocket、TCP、UDP、HTTPS等)或者P2P间接连接。如上提到,可以利用计算设备(例如,WS资源服务器110)建立WebSocket连接。尽可能利用第一设备106与第二设备108之间的P2P直接连接。另选地,可以利用P2P间接连接,例如,利用来自第一设备与第二设备之间的会话穿透利用网络地址转换(Session Traversal Utilitiesfor Network Address Translation(STUN))/使用中继穿透网络地址转换(TraversalUsing Relays around Network Address Translation(TURN))服务器254的帮助。
返回至图6B,对设备共享处理进一步描述并从图6A的连接器A继续。在S18,确定是否可经由P2P方法到达所请求的机器(例如,客户端设备106或客户端设备108)。如果可到达所请求的机器,则在S19,客户端侧资源服务经由直接地址或者经由间接(例如,STUN/TURN)服务器建立连接,并且在S20,提供对所共享的资源的访问。如果在S18,经由P2P无法到达所请求的机器,则在S21,确定是否使用HDX协议。如果使用HDX协议,则在S23,WS应用充当中继器并且通过HDX建立连接,并且在S20访问所共享的资源。如果未使用HDX协议,则在S22,WS应用充当中继器并且经由WeSocket建立连接,并且在S20访问所共享的资源。
参照图7,描绘了适于实现企业计算平台的例示性网络环境400。网络环境400可以包括经由一个或更多个网络404(1)至404(n)(被通称为网络404)与一个或更多个服务器406(1)至406(n)(也被通称为远程机器406或服务器406)进行通信的一个或更多个客户端402(1)至402(n)(也被通称为本地机器402或客户端402)。在一些实施方式中,客户端402可以经由一个或更多个装置(appliance)410(1)至410(n)(被通称为装置410或网关410)与服务器406进行通信。
尽管图7所示的实施方式示出了客户端402与服务器406之间的一个或更多个网络404,但是在其它的实施方式中,客户端402和服务器406可以处于同一网络404上。各种网络404可以是相同类型的网络或不同类型的网络。例如,在一些实施方式中,网络404(1)可以是诸如局域网(LAN)或公司内联网的私有网络,而网络404(2)和/或网络404(n)可以是诸如广域网(WAN)或互联网的公共网络。在其它的实施方式中,网络404(1)和网络404(N)均可以是私有网络。网络404可以采用一种或更多种类型的物理网络和/或网络拓扑,诸如有线和/或无线网络,并且可以采用一个或更多个通信传输协议,诸如传输控制协议(TCP)、互联网协议(IP)、用户数据报协议(UDP)或其它类似协议。
如图7所示,可以将一个或更多个装置410定位在网络环境400的各种点处或者各种通信路径中。例如,可以将装置410(1)部署在两个网络404(1)与404(2)之间,并且装置410可以彼此进行通信以结合地工作,例如加速客户端402与服务器406之间的网络流量。在其它的实施方式中,可以将装置410定位于网络404上。例如,可以将装置410实现为客户端402和/或服务器406中的一者的部分。在实施方式中,可以将装置410实现为网络设备,诸如由劳德代尔堡FL的Citrix Systems公司销售的Citrix networking(以前的)产品。
如图7所示,一个或更多个服务器406可以运行为服务器集群408。服务器集群408中的服务器406可以进行逻辑分组,并且可以使客户端402和/或其它服务器406在地理上共处一地(例如,共同部署)或者在地理上分散(例如,基于云)。在实施方式中,服务器集群408代表客户端402中一个或更多个客户端执行一个或更多个应用(例如,作为应用服务器),但是其它用途是可以的,诸如文件服务器、网关服务器、代理服务器或其它类似的服务器用途。客户端402可以在服务器406上寻求访问经托管的应用。
如图7所示,在一些实施方式中,装置410可以包括一个或更多个附加装置(诸如WAN优化装置412(1)至412(n)(被通称为WAN优化装置412))被替换成该附加装置或者与该附加装置进行通信。例如,WAN优化装置412可以加速、缓存、压缩或以其它方式优化或改善网络流量(诸如去往和/或来自WAN连接的流量)的性能、运行、流控制或特征质量,诸如优化广域文件特征(WAF)、加速服务器消息块(SMB)或通用互联网文件系统(CIFS)。在一些实施方式中,装置412可以是性能增强代理或WAN优化控制器。在一个实施方式中,可以将装置412实现为由劳德代尔堡FL的Citrix Systems公司销售的Citrix SD-WAN产品。
在所描述的实施方式中,可以将客户端402、服务器406以及装置410和412部署为任何类型和形式的计算设备和/或在此类计算设备上执行,诸如能够通过至少一个网络进行通信并且执行本文所描述的操作的任何台式计算机、膝上型计算机或移动设备。例如,客户端402、服务器406和/或装置410和412皆可以对应于一个计算机、多个计算机或者分布式计算机网络,诸如图9所示的计算系统300。
参照图8,描绘了云计算环境500,其也可以被称为云环境、云计算或云网络。云计算环境500可以向多个用户或租户提供所共享的计算服务和/或资源的交付。例如,所共享的资源和服务可以包括但不限于,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机、数据库、软件、硬件、分析以及智能。
在云计算环境500中,一个或更多个客户端402a至402n(诸如上述那些)与云网络504进行通信。云网络504可以包括后端平台,例如,服务器、存储装置、服务器集群或数据中心。用户或客户端402a至402n可以对应于单个组织/租户或多个组织/租户。更特别地,在一个示例实现中,云计算环境500可以提供服务单个组织(例如,企业云)的私有云。在另一示例中,云计算环境500可以提供服务多个组织/租户的社区或公共云。
在一些实施方式中,可以利用网关装置或服务来提供对云计算资源和虚拟会话的访问。举例来说,可以将由Citrix System公司提供Citrix Gateway部署在本地或公共云上,以向用户提供安全访问和单点登录虚拟应用、SaaS应用以及Web应用。而且,为了保护用户免受web威胁,可以使用诸如Citrix Secure Web Gateway的网关。Citrix Secure WebGateway使用基于云的服务和本地缓存来检查URL信誉和类别。
仍在另一些实施方式中,云计算环境500可以提供混合云,该混合云是公共云和私有云的组合。公共云可以包括针对客户402a至402n或企业/租户的、由第三方维护的公共服务器。可以将该服务器在远程地理位置非现场地或者以其它方式进行定位。
云计算环境500可以通过多租户环境或多租户模型经由客户端402a至402n来提供服务多个用户的资源池,该多租户环境或多租户模型具有响应于相应环境内的不同需求而动态指派和重新指派的不同的物理和虚拟资源。多租户环境可以包括可以提供单个软件实例、应用或软件应用来服务多个用户的系统或架构。在一些实施方式中,云计算环境500可以按需提供自我服务,以单方面跨网络为多个客户端402a至402n提供计算能力(例如,服务器时间、网络存储)。举例来说,可以通过诸如Citrix Provisioning Services(CitrixPVS)的系统来提供供应服务。Citrix PVS是一种软件流技术,其通过所共享的桌面图像向多个虚拟桌面端点交付补丁、更新以及其它配置信息。云计算环境500可以提供弹性,以响应于来自一个或更多个客户端402的不同需求而进行动态缩放(scale out or scale)。在一些实施方式中,云计算环境500可以包括或提供监测服务,以监测、控制和/或生成与所提供的共享的服务和资源相对应的报告。
在一些实施方式中,云计算环境500例如可以提供基于云的不同类型的云计算服务的交付,诸如软件即服务(SaaS)508、平台即服务(PaaS)512、基础架构即服务(IaaS)516以及桌面即服务(DaaS)520。IaaS可以指的是用户租用在指定时段期间需要的基础架构资源的使用。IaaS提供商可以提供存储、联网、服务器或者来自大型池的虚拟化资源,从而可使用户通过根据需要访问更多资源来快速按比例增加。Iaa的示例包括:由华盛顿西雅图的Amazon.com公司提供的AMAZON WEB SERVICES、由圣安东尼奥市德克萨斯州的RackspaceUS公司提供的RACKSPACE CLOUD、由加利福尼亚山景城的Google公司提供的Google计算引擎、或者由加利福尼亚圣巴巴拉市的RightScale公司提供的RIGHTSCALE。
PaaS提供商可以提供由IaaS提供的功能,例如包括:存储、联网、服务器或虚拟化,以及额外的资源,举例来说,如操作系统、中间件或运行时资源。PaaS的示例包括:由华盛顿雷德蒙的Microsoft公司提供的WINDOWS AZURE、由Google公司提供的Google应用引擎以及由加利福尼亚旧金山的Heroku公司提供的HEROKU。
SaaS提供商可以提供PaaS所提供的资源,包括:存储、联网、服务器、虚拟化、操作系统、中间件或运行时资源。在一些实施方式中,SaaS提供商可以提供额外的资源,例如包括数据和应用资源。SaaS的示例包括:由Google公司提供的GOOGLE应用、由加利福尼亚旧金山的Salesforce.com公司提供的SALESFORCE、或者由Microsoft公司提供的OFFICE 365。SaaS的示例还可以包括数据存储提供商,例如,来自Citrix Systems的Citrix ShareFile、由加利福尼亚旧金山的Dropbox公司提供的DROPBOX、由Microsoft公司提供的MicrosoftSKYDRIVE、由Google公司提供的Google Drive、或者由加利福尼亚州库珀蒂诺的Apple公司提供的Apple ICLOUD。
与SaaS类似,DaaS(也被称为托管桌面服务)是虚拟桌面基础架构(VDI)的形式,其中虚拟桌面会话通常是作为云服务与虚拟桌面上使用的应用一起交付的。来自CitrixSystems的Citrix Cloud是DaaS交付平台的一个示例。DaaS交付平台例如可以托管于公共云计算基础架构上,诸如来自华盛顿雷德蒙的Microsoft公司的AZURE CLOUD(本文中被称为“Azure”),或者由西雅图华盛顿的Amazon.com公司提供的AMAZON WEB SERVICES(本文中被称为“AWS”)。在Citrix Cloud的情况下,可以将Citrix工作空间应用用作将应用、文件以及桌面集合在一起的单个入口点(无论是本地部署还是在云中)以提供统一的体验。
所描述的解决方案的要素可以在计算系统(诸如图9所示的计算系统)中具体实施,其中,计算机300可以包括一个或更多个处理器302、易失性存储器304(例如,RAM)、非易失性存储器308(例如,一个或更多个硬盘驱动器(HDD)或者其它磁或光学存储介质、一个或更多个固态驱动器(SSD)(诸如闪存驱动器或其它固态存储介质)、一个或更多个混合磁性和固态驱动器、和/或一个或更多个虚拟存储卷(volume)(诸如云存储),或者此类物理存储卷和虚拟存储卷或其阵列的组合)、用户接口(GUI)310、一个或更多个通信接口306以及通信总线312。用户接口310可以包括图形用户接口(GUI)320(例如,触摸屏、显示器等)和一个或更多个输入/输出(I/O)设备322(例如,鼠标器、键盘等)。非易失性存储器308存储操作系统314、一个或更多个应用316以及数据318,使得例如操作系统314和/或应用316的计算机指令由易失性存储器304之外的处理器302来执行。可以使用GUI 320的输入设备输入数据或者从I/O设备322接收数据。计算机300的各种部件可以经由通信总线312进行通信。图9所示的计算机300仅作为示例被示出为客户端、服务器和/或装置,并且可以通过任何计算或处理环境以及利用可以具有能够如本文所述运行的适合的硬件和/软件的任何类型的机器或机器集合来实现。
处理器302可以由执行一个或更多个计算机程序以执行所述系统的功能的一个或更多个可编程处理器来实现。如本文所使用的,术语“处理器”描述了执行功能、操作或操作序列的电子电路。功能、操作或操作序列可以被硬编码到电子电路中或者通过被保持在存储器设备中的指令进行软编码。“处理器”可以执行使用数字值或者使用模拟信号来执行功能、操作或操作序列。在一些实施方式中,“处理器”可以在一个或更多个专用集成电路(ASIC)、微处理器、数字信号处理器、微控制器、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、多核处理器或具有关联的存储器的通用计算机中具体实施。“处理器”可以是模拟的、数字的或混合的信号。在一些实施方式中,“处理器”可以是一个或更多个物理处理器或者一个或更多个“虚拟”(例如,远程定位或“云”)处理器。
通信接口306可以包括一个或更多个接口,以使得计算机300能够通过多种有线和/或无线或蜂窝连接来访问计算机网络,诸如LAN、WAN或互联网。
在所描述的实施方式中,第一计算设备300可以代表客户端计算设备(例如,客户端)的用户执行应用;可以执行虚拟机,该虚拟机提供诸如托管桌面会话的执行会话,在该会话内,代表用户或客户端计算设备(例如,客户端)执行应用;可以执行终端服务会话,以提供托管桌面环境;或者可以提供访问计算环境,该计算环境包括以下项中的一个或更多个:一个或更多个应用、一个或更多个桌面应用、以及其中可以执行一个或更多个应用的一个或更多个桌面会话。
前述附图示出了与根据本公开的多个实施方式相关联的处理中的一些处理。在这点上,各个附图或附图的流程图内的框表示与所描述的方法的实施方式相关联的处理。还应注意,在一些另选实现中,附图或框中提到的动作可以出现在图中所提到的次序之外,或者例如根据所涉及的动作,事实上可以大致同时或者以逆序执行。而且,本领域普通技术人员将认识到,可以添加描述该处理的附加框。
本领域技术人员通过阅读以下公开应意识到,可以将本文所描述的各个方面具体实施为系统、设备、方法或计算机程序产品(例如,具有用于执行所提到的操作或步骤的计算机可执行指令的非暂时性计算机可读介质)。因此,那些方面可以采取完全硬件实施方式、完全软件实施方式或者组合软件和硬件方面的实施方式的形式。而且,这些方面可以采取由一个或更多个计算机可读存储介质存储的计算机程序产品的形式,该计算机可读存储介质具有在该存储介质之中或之上具体实施的计算机可读程序代码或指令。可以利用任何合适的计算机可读存储介质,包括:硬盘、CD-ROM、光存储设备、磁存储设备和/或其任何组合。
本文所使用的术语仅是用来描述特定的实施方式,并非旨在限制本公开。如本文所使用的,除非上下文另外明确指示,否则单数形式的描述旨在包括复数形式。还应理解,术语“包括(comprise和/或comprising)”当在本文中使用时,指定存在规定特征、要件、步骤、操作、要素和/或组件,而非排除存在或增加一个或更多个其它的特征、要件、步骤、操作、要素、组件和/或这些的组合。“可选”或“可选地”是指后续描述的事件或情况可能发生也可能不发生,并且该描述包括在事件发生的情况下的实例以及在事件未发生的情况下的实例。
如贯穿本说明书和权利要求所使用的近似语言可以被应用于修改可以允许改变的任何定量表示,而不会导致与它相关的基本功能的变化。因此,由诸如“约”、“近似”以及“大致”的一个或多个术语修改的值不限于所指定的精确值。在至少一些情况下,近似语言可以对应于用于测量所述值的仪器的精度。在这里并且贯穿本说明书和权利要求,可以组合和/或互换范围限制,除非上下文或语言另外指示,否则这样的范围被标识并包括其中所包含的所有子范围。如应用于范围的特定值的“近似”适用于两个值,而且除非另外根据测量该值的仪器的精度,否则可以指示所陈述的值的+/-10%。
所附权利要求中的所有装置或步骤加功能部件的对应结构、材料、行为以及等同物旨在包括用于结合具体要求保护的其它要求保护的部件来执行功能的任何结构、材料或行为。已经出于例示和描述的目的,呈现了本公开的描述,但并非旨在排它或按所公开的形式对本公开进行限制。在不脱离本公开的范围和精神的情况下,许多修改和变型对于本领域普通技术人员将是显而易见的。选择并描述所述实施方式,以便最佳地说明本公开的实践应用以及实践应用,并且使得本领域普通技术人员能够针对具有如适于预期特定用途的各种修改例的各种实施方式来理解本公开。
Claims (20)
1.一种方法,所述方法包括以下步骤:
由计算设备从第一客户端设备接收请求,该请求是针对可用资源列表的,其中,所述可用资源列表包括以下资源:所述资源本地连接至至少一个其它客户端设备,并且所述资源无法经由虚拟计算环境内的企业服务而对所述第一客户端设备可用;
由所述计算设备向所述第一客户端设备提供所述可用资源列表,所述可用资源列表包括可用资源中的至少一个资源的标识符(ID)和元数据;
由所述计算设备从所述第一客户端设备接收对所述可用资源列表内包括的连接至第二客户端设备的选定资源的选择;以及
由所述计算设备向所述第二客户端设备提供推送通知,以与所述选定资源建立连接。
2.根据权利要求1所述的方法,所述方法还包括以下步骤:
响应于所述推送通知,经由在所述第二客户端设备上运行客户端侧资源服务的工作空间应用,来与所述选定资源建立虚拟交付代理(VDA)会话;以及
经由所述计算设备向所述第一客户端设备提供经由所述VDA会话到所述选定资源的访问。
3.根据权利要求1所述的方法,所述方法还包括以下步骤:
响应于所述推送通知,建立在所述第二客户端设备上作为后台操作运行的虚拟交付代理(VDA)会话;以及
经由所述计算设备向所述第一客户端设备提供经由所述VDA会话到所述选定资源的访问。
4.根据权利要求1所述的方法,其中,所述第一客户端设备通过VDA会话连接至所述计算设备。
5.根据权利要求1所述的方法,所述方法还包括以下步骤:
响应于所述通知,在所述计算设备与连接至所述选定资源的所述第二客户端设备之间建立WebSocket连接和对等式(P2P)连接中的至少一者;以及
向所述第一客户端设备提供经由所述WebSocket连接或P2P连接到所述选定资源的访问。
6.根据权利要求1所述的方法,其中,针对所述可用资源列表的所述请求还包括所述第一客户端设备的用户的认证信息,所述方法还包括以下步骤:基于所述认证信息对所述第一客户端设备的所述用户进行认证。
7.根据权利要求6所述的方法,其中,所述计算设备确定一组用户对所述资源集的访问权限。
8.根据权利要求7所述的方法,所述方法还包括以下步骤:基于对所述第一客户端设备的所述用户的认证以及对所述资源集的所述访问权限,由所述计算设备向所述第一客户端设备提供所述可用资源列表。
9.根据权利要求1所述的方法,所述方法还包括以下步骤:
检测资源与客户端设备的新的本地连接;
向资源数据库注册新连接的资源;以及
将所述新连接的资源添加至对所述第一客户端设备可用的所述资源列表。
10.根据权利要求1所述的方法,所述方法还包括以下步骤:
检测到指定资源与客户端设备断开连接;
向所述计算设备通知所述断开连接;以及
从所述可用资源列表停用所述指定资源。
11.一种计算设备,所述计算设备包括:
存储器;以及
处理器,所述处理器联接至所述存储器并且被配置为:
存储与资源集相关联的信息,所述信息包括所述资源集中的各个资源的标识符(ID)和元数据,其中,各个资源被本地连接至客户端设备,并且各个资源无法经由虚拟计算环境内的企业服务而对其它客户端设备可用;
从第一客户端设备接收针对可用资源列表的请求;
向所述第一客户端设备提供所述可用资源列表,所述可用资源列表包括可用资源中的各个资源的所述ID和元数据;
从所述第一客户端设备接收来自所述可用资源列表的选定资源,其中,所述选定资源连接至第二客户端设备;
向所述第二客户端设备推送通知,以与所述选定资源建立连接。
12.根据权利要求11所述的计算设备,还包括:
响应于所述通知,经由在所述第二客户端设备上运行客户端侧资源服务的工作空间应用,来与所述选定资源建立虚拟交付代理(VDA)会话;以及
向所述第一客户端设备提供经由所述VDA会话到所述选定资源的访问。
13.根据权利要求11所述的计算设备,还包括:
响应于所述推送通知,与所述选定资源建立在所述第二客户端设备上作为后台操作运行的虚拟交付代理(VDA)会话;以及
向所述第一客户端设备提供经由所述VDA会话到所述选定资源的访问。
14.根据权利要求11所述的计算设备,其中,所述第一客户端设备通过VDA会话连接至所述工作空间资源服务器。
15.根据权利要求11所述的计算设备,还包括:
响应于所述通知,在所述工作空间资源服务器与连接至所述选定资源的所述第二客户端设备之间建立WebSocket连接和对等式(P2P)连接中的至少一者;以及
由所述第一客户端设备经由所述WebSocket连接或所述P2P连接访问所述选定资源。
16.根据权利要求11所述的计算设备,还包括:
基于来自所述第一客户端设备的与针对可用资源的所述请求一起包括的认证信息,来对所述第一客户端设备的所述用户进行认证。
17.根据权利要求16所述的计算设备,还包括:确定一组用户对所述资源集的访问权限。
18.根据权利要求17所述的计算设备,还包括:基于对所述第一客户端设备的所述用户的认证以及对所述资源集的所述访问权限,向所述第一客户端设备提供所述可用资源列表。
19.根据权利要求11所述的计算设备,还包括:
检测资源与客户端设备的新连接;
在资源数据库中注册新连接的资源;以及
将所述新连接的资源添加至对所述第一客户端设备可用的所述资源列表。
20.根据权利要求11所述的计算设备,还包括:
检测到指定资源与客户端设备断开连接;
向所述工作空间资源服务器通知所述断开连接;以及
从所述可用资源列表停用所述指定资源。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/942,037 US11212237B1 (en) | 2020-07-29 | 2020-07-29 | Sharing resources between client devices in a virtual workspace environment |
US16/942,037 | 2020-07-29 | ||
PCT/US2021/042156 WO2022026232A1 (en) | 2020-07-29 | 2021-07-19 | Sharing resources between client devices in a virtual workspace environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114342341A true CN114342341A (zh) | 2022-04-12 |
Family
ID=79296089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180002472.9A Pending CN114342341A (zh) | 2020-07-29 | 2021-07-19 | 在虚拟工作空间环境中的客户端设备之间共享资源 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2022538200A (zh) |
CN (1) | CN114342341A (zh) |
AU (1) | AU2021215265B1 (zh) |
CA (1) | CA3135722C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116015852A (zh) * | 2022-12-26 | 2023-04-25 | 国网江苏省电力有限公司扬州供电分公司 | 一种基于国家电网信息的虚拟云桌面安全管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120176639A1 (en) * | 2011-01-10 | 2012-07-12 | Hon Hai Precision Industry Co., Ltd. | Internet printing system and method |
CN104704448A (zh) * | 2012-08-31 | 2015-06-10 | 思杰系统有限公司 | 本地和远程计算环境之间的反向无缝集成 |
CN106797385A (zh) * | 2014-10-08 | 2017-05-31 | 微软技术许可有限责任公司 | 资源需求的客户端协助履行 |
US20200076902A1 (en) * | 2018-08-28 | 2020-03-05 | Citrix Systems, Inc. | Accessing Resources in a Remote Access or Cloud-Based Network Environment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9860064B2 (en) * | 2016-03-07 | 2018-01-02 | Citrix Systems, Inc. | Encrypted password transport across untrusted cloud network |
-
2021
- 2021-07-19 CA CA3135722A patent/CA3135722C/en active Active
- 2021-07-19 CN CN202180002472.9A patent/CN114342341A/zh active Pending
- 2021-07-19 JP JP2021557682A patent/JP2022538200A/ja active Pending
- 2021-07-19 AU AU2021215265A patent/AU2021215265B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120176639A1 (en) * | 2011-01-10 | 2012-07-12 | Hon Hai Precision Industry Co., Ltd. | Internet printing system and method |
CN104704448A (zh) * | 2012-08-31 | 2015-06-10 | 思杰系统有限公司 | 本地和远程计算环境之间的反向无缝集成 |
CN106797385A (zh) * | 2014-10-08 | 2017-05-31 | 微软技术许可有限责任公司 | 资源需求的客户端协助履行 |
US20200076902A1 (en) * | 2018-08-28 | 2020-03-05 | Citrix Systems, Inc. | Accessing Resources in a Remote Access or Cloud-Based Network Environment |
Also Published As
Publication number | Publication date |
---|---|
AU2021215265B1 (en) | 2022-01-27 |
CA3135722A1 (en) | 2022-01-11 |
CA3135722C (en) | 2022-05-17 |
JP2022538200A (ja) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544344B2 (en) | Remote web browsing service | |
US11184833B2 (en) | Bandwidth sharing amongst trusted peers | |
US11334529B2 (en) | Recommending files for file sharing system | |
US20220038519A1 (en) | Perhipheral device sharing over peer-to-peer connection | |
WO2023102872A1 (en) | Systems and methods for computing resource provisioning | |
US20210019285A1 (en) | File download using deduplication techniques | |
CA3135722C (en) | Sharing resources between client devices in a virtual workspace environment | |
JP7092432B2 (ja) | プライベートネットワークへのDaaS(Desktop as a Service )セッションのためのダイレクトルーティングを提供するコンピュータシステムおよび関連する方法 | |
US11539783B1 (en) | Efficient downloading of files to multiple users in proximity of one another | |
US11683381B2 (en) | System and related methods providing channel switching between appliances | |
US11212237B1 (en) | Sharing resources between client devices in a virtual workspace environment | |
US11630682B2 (en) | Remoting user credential information to a remote browser | |
KR20220027060A (ko) | DaaS 시스템 | |
US11889000B2 (en) | Shared device secure access | |
US11792133B2 (en) | Systems and methods for performing header protection in distributed systems | |
US20230319128A1 (en) | Uploading files via distributed devices | |
US11146521B1 (en) | Email platform with automated contact save | |
US20230344895A1 (en) | Systems and methods for downloading files | |
US20230300135A1 (en) | Generation of multiple limited-scope access tokens | |
WO2024045000A1 (en) | Application-based clipboard isolation and sharing | |
US20230362231A1 (en) | Optimizing data storage across multiple content repositories | |
US20220405245A1 (en) | User-based access to content of files | |
CN113302588A (zh) | 搜索SaaS虚拟应用 |
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 |