CN113302588A - 搜索SaaS虚拟应用 - Google Patents

搜索SaaS虚拟应用 Download PDF

Info

Publication number
CN113302588A
CN113302588A CN201980079351.7A CN201980079351A CN113302588A CN 113302588 A CN113302588 A CN 113302588A CN 201980079351 A CN201980079351 A CN 201980079351A CN 113302588 A CN113302588 A CN 113302588A
Authority
CN
China
Prior art keywords
search
virtual application
application
response
virtual
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
Application number
CN201980079351.7A
Other languages
English (en)
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems 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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN113302588A publication Critical patent/CN113302588A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • 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
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

公开了用于搜索SaaS虚拟应用的方法和系统。一种方法包括接收用于虚拟应用的搜索的搜索词的集合,所述虚拟应用的搜索能够在无需在计算装置上打开所述虚拟应用的情况下执行。搜索请求被提供给所述虚拟应用的源,所述请求包括针对所述虚拟应用的搜索词的集合。至少一个响应被基于所述搜索词的集合从所述虚拟应用的所述源接收。搜索结果列表被提供给所述计算装置,以使得能够从可经由所述计算装置访问的多个其它虚拟应用中选择所述虚拟应用,所述搜索结果列表包括所接收的至少一个响应。

Description

搜索SaaS虚拟应用
背景技术
个人计算机包括操作系统、应用(application)和用户设置的组合,这些操作系统、应用和用户设置各自由所有者或管理员持续地单独管理。然而,许多组织现在正在使用应用虚拟化和/或桌面虚拟化来提供更灵活的选项,以满足其用户的不断变化的需求。例如,在桌面虚拟化中,用户的计算环境可以与用户的物理客户端计算装置分离。在应用虚拟化中,应用可以由远程服务器管理并在远程服务器上执行,并且可以通过在客户端计算装置上打开对应的虚拟应用来由用户访问。
Web应用是远程供应和提供应用的另一种方法。用于软件许可和交付的Web应用方法的一个示例是软件即服务(SaaS)。SaaS是一种软件交付方法,通过该方法,可以远程托管软件应用,并以订阅的形式将软件应用提供给用户。SaaS应用可以通过在客户端计算装置上打开对应的SaaS虚拟应用来访问。
发明内容
本公开的第一方面涉及一种用于搜索应用的方法。该方法包括接收用于虚拟应用的搜索的搜索词的集合,所述虚拟应用的搜索能够在无需在计算装置上打开所述虚拟应用的情况下执行。搜索请求被提供给所述虚拟应用的源,所述请求包括针对所述虚拟应用的搜索词的集合。至少一个响应被基于所述搜索词的集合从所述虚拟应用的所述源接收。搜索结果列表被提供给所述计算装置,以使得能够从可经由所述计算装置访问的多个其它虚拟应用中选择所述虚拟应用,所述搜索结果列表包括所接收的至少一个响应。
本公开的第二方面涉及一种计算装置,所述计算装置包括存储器和联接到所述存储器的处理器,所述处理器被配置成执行用于搜索应用的方法。该方法包括接收用于虚拟应用的搜索的搜索词的集合,所述虚拟应用的搜索能够在无需在计算装置上打开所述虚拟应用的情况下执行。搜索请求被提供给所述虚拟应用的源,所述请求包括针对所述虚拟应用的搜索词的集合。至少一个响应被基于所述搜索词的集合从所述虚拟应用的所述源接收。搜索结果列表被提供给所述计算装置,以使得能够从可经由所述计算装置访问的多个其它虚拟应用中选择所述虚拟应用,所述搜索结果列表包括所接收的至少一个响应。
本公开的第三方面涉及一种存储在计算机可读存储介质上的计算机程序产品,当由计算系统执行所述计算机程序产品时,所述计算机程序产品执行用于搜索应用的方法。该方法包括接收用于虚拟应用的搜索的搜索词的集合,所述虚拟应用的搜索能够在无需在计算装置上打开所述虚拟应用的情况下执行。搜索请求被提供给所述虚拟应用的源,所述请求包括针对所述虚拟应用的搜索词的集合。至少一个响应被基于所述搜索词的集合从所述虚拟应用的所述源接收。搜索结果列表被提供给所述计算装置,以使得能够从可经由所述计算装置访问的多个其它虚拟应用中选择所述虚拟应用,所述搜索结果列表包括所接收的至少一个响应。
在某些方面,所述虚拟应用可以是软件即服务(SaaS)虚拟应用。
在某些方面,所述搜索请求可以包括所述虚拟应用的配置信息,所述配置信息包括:所述虚拟应用的名称;所述虚拟应用的所述源的位置;所述搜索请求和所述至少一个响应的格式;以及用于所述搜索请求和所述至少一个响应的通信协议。
在某些方面,所述虚拟应用的所述配置信息可以包括:所述搜索请求的认证属性;以及在所述搜索请求需要认证的情况下的认证方法。
在某些方面,所述搜索结果列表被提供给用户;并且响应于用户对所述搜索结果列表中的项的选择,打开与所选择的项相对应的所述虚拟应用。
在某些方面,响应于对所述项的选择,所述用户被直接带到所述虚拟应用中的内容的源页面。
在某些方面,所述搜索请求被提供给公共虚拟应用;并且所述搜索请求被从所述公共虚拟应用转发到所述虚拟应用的所述源。
在某些方面,在所述公共应用处接收所述至少一个响应;并且所述公共应用将所述至少一个响应转发到所述计算机装置。
在某些方面,用户的单点登录(SSO)令牌被发送到所述公共虚拟应用;并且所述用户被使用所述用户的所述SSO令牌利用所述公共虚拟应用进行认证。
附图说明
通过结合描述本公开的各种实施方式的附图对本公开的各个方面的以下详细描述,将更容易理解本公开的这些和其它特征。
图1A是根据实施方式的网络环境的框图。
图1B是根据实施方式的用于经由设备(appliance)将计算环境从服务器交付到客户端的网络环境的框图。
图1C是根据实施方式的计算装置的框图。
图2是根据实施方式的用于处理客户端与服务器之间的通信的设备的框图。
图3是根据实施方式的虚拟化环境的框图。
图4示出了根据实施方式的用于搜索SaaS虚拟应用的系统。
图5示出了根据实施方式的用于可搜索SaaS虚拟应用的例示性配置信息。
图6示出了根据实施方式的用于搜索SaaS虚拟应用的方法的数据流图。
图7示出了根据实施方式的用于搜索SaaS虚拟应用的方法的泳道图。
图8示出了根据其它实施方式的用于搜索SaaS虚拟应用的系统。
图9示出了根据其它实施方式的用于搜索SaaS虚拟应用的方法的数据流图。
图10示出了根据其它实施方式的用于搜索SaaS虚拟应用的方法的泳道图。
附图旨在仅示出本公开的典型方面,因此不应视为限制本公开的范围。在附图中,相同的附图标记表示附图之间的相同要素。
具体实施方式
客户端应用提供对桌面、数据、装置和应用的访问,包括本地应用和虚拟应用(例如,软件即系统(SaaS)应用、Web应用、移动应用等)。经由此类客户端应用访问的虚拟应用中的数据搜索通常限于共享文件和虚拟应用的名称。
SaaS应用通常包括它们自己的搜索功能。为了在SaaS虚拟应用中搜索特定数据,要求用户首先启动SaaS虚拟应用,然后使用SaaS虚拟应用的搜索功能执行搜索。在用户需要在多个不同的SaaS虚拟应用中搜索数据的情况下,要求用户启动多个SaaS虚拟应用并在多个SaaS虚拟应用的每个SaaS虚拟应用中执行单独的搜索。在不同的SAAS应用之间进行搜索可能会导致用户受挫,并减少用户对此类应用的采用。例如,使用现有技术,用户需要停止使用一个应用并启动另一应用来访问存储在其中的数据,这既耗时又效率低下。此外,在用户执行任务时启动应用会分散注意力,并进一步降低效率,诸如浪费时间或返工。在用户可能需要从几个此类应用访问数据的企业环境中,尤其如此。
本公开的各方面涉及用于在SaaS虚拟应用中执行数据搜索的系统和方法。可以使用SaaS虚拟应用的搜索功能来执行数据搜索,而不必在每个单独的SaaS虚拟应用中启动和执行搜索。因此,本文所述的技术和方法通过使用客户端和/或SAAS应用消除或以其它方式显著减少了用户的注意力分散和/或效率低下,因为用户不再需要单独启动虚拟应用以搜索和/或访问包含在其中的数据。
为了阅读下面的各个实施方式的描述,本说明书各节的以下描述可能是有帮助的:
A节描述了可以用于实践本文描述的实施方式的网络和计算环境;
B节描述了用于向远程用户交付计算环境的系统和方法的实施方式;
C节描述了用于虚拟化应用交付控制器的系统和方法的实施方式;以及
D节描述了根据各种实施方式的用于搜索SaaS虚拟应用的系统和方法。
A.网络和计算环境
参照图1A,示出了例示性网络环境100。网络环境100可以包括经由一个或更多个网络104(1)-104(n)(通常被称为网络104)与一个或更多个服务器106(1)-106(n)(通常也被称为服务器106或远程机器106)通信的一个或更多个客户端102(1)-102(n)(通常也被称为本地机器102或客户端102)。在一些实施方式中,客户端102可以经由一个或更多个设备110(1)-110(n)(通常被称为设备110或网关110)与服务器106通信。
尽管图1A中示出的实施方式示出了客户端102与服务器106之间的一个或更多个网络104,但是客户端102和服务器106可以在同一网络104上。各种网络104可以是相同类型的网络或不同类型的网络。例如,在一些实施方式中,网络104中的一个或多个网络可以是诸如局域网(LAN)或公司内联网的专用网络,而一个或更多个其它网络104可以是诸如广域网(WAN)或互联网的公共网络。在其它实施方式中,网络104中的一个或更多个网络可以是公共网络,而一个或更多个其它网络104可以是专用网络。网络104可以采用一种或更多种类型的物理网络和/或网络拓扑,诸如有线网络和/或无线网络,并且可以采用一种或更多种通信传输协议,诸如传输控制协议(TCP)、互联网协议(IP)、用户数据报协议(UDP)或其它类似协议。
一个或更多个设备110可以位于网络环境100的各个点或各个通信路径中。例如,设备110(1)可以被部署在两个网络104(1)与104(2)之间。设备110可以彼此通信以协同工作,例如,以加速客户端102与服务器106之间的网络业务。在其它实施方式中,设备110可以位于网络104上。例如,设备110可以被实现成客户端102和/或服务器106中的一者的一部分。在一实施方式中,设备110可以被实现成诸如思杰(Citrix)网络产品之类的网络装置,包括例如由佛罗里达州劳德代尔堡FL的思杰系统公司(Citrix Systems,Inc.)出售的思杰ADC和思杰网关。
一个或更多个服务器106可以用作服务器群112。服务器群112的服务器106可以被在逻辑上分组,并且可以与客户端102和/或其它服务器106在地理位置上共处一处(例如,在本地(on premises))或在地理位置上分散(例如,基于云)。在一实施方式中,服务器群112可以代表一个或更多个客户端102(例如,作为应用服务器)执行诸如应用的一个或更多个服务,尽管其它用途也是可能的,诸如文件服务器、网关服务器、代理服务器或其它类似服务器的用途。客户端102可以寻求对一个或更多个服务器106上的托管应用的访问。
在一些实施方式中,设备110可以包括一个或更多个另外的设备、由一个或更多个另外的设备替换或与一个或更多个另外的设备(诸如WAN优化设备114(1)-114(n),通常被称为WAN优化设备114)通信。例如,WAN优化设备114可以加速、缓存、压缩或以其它方式优化或改进网络业务(诸如去往和/或来自WAN连接的业务)的性能、操作、流控制或服务质量,诸如优化广域文件服务(WAFS)、加速服务器消息块(SMB)或公用互联网文件系统(CIFS)。在一些实施方式中,设备114可以是性能增强代理或WAN优化控制器。
参照图1B,示出了用于在客户端102上交付和/或操作计算网络环境的示例网络环境。如图1B所示,服务器106可以包括用于将计算环境、应用和/或数据文件交付给一个或更多个客户端102的应用交付系统120。服务器106可以访问其它服务器,例如提供支持将计算网络环境(例如,计算环境、应用和/或数据文件)交付给一个或更多个客户端102的特定功能的服务器。客户端102可以包括客户端代理132和计算环境134。计算环境134可以执行或操作对数据文件138进行访问、处理或使用的应用136。可以经由设备110和/或服务器106将计算环境134、应用136和/或数据文件138交付到客户端102。
设备110可以例如通过应用交付系统120加速将计算环境134的全部或一部分交付给客户端102。设备110还可以提供服务器106的负载均衡以处理来自客户端102的请求,充当代理或访问服务器以提供对一个或多个服务器106的访问,提供安全性和/或充当客户端102与服务器106之间的防火墙,提供域名服务(DNS)解析、提供一个或多个虚拟服务器或虚拟互联网协议服务器、和/或提供从客户端102到服务器106的安全虚拟专用网络(VPN)连接(诸如安全套接字层(SSL)VPN连接)、和/或提供加密和解密操作。
应用交付系统120可以基于策略引擎140所应用的认证和授权策略,以远程或其它方式将计算环境134交付给用户(例如,客户端102)。远程用户可以从任何与网络连接的装置(例如,客户端102)获得计算环境并访问服务器存储的应用和数据文件。例如,设备110可以从服务器106请求应用136’和数据文件138’。响应于该请求,应用交付系统120和/或服务器106可以例如经由在客户端102上的计算环境134中操作的应用流、或经由远程显示协议或经由基于远程或基于服务器的计算以其它方式将应用136’和数据文件138’交付至客户端102。在一个实施方式中,应用交付系统120可以由思杰系统公司实现成思杰工作空间套件TM的任何部分,诸如思杰虚拟应用和桌面。
策略引擎140可以控制和管理对应用的访问以及应用的执行和交付。例如,策略引擎140可以确定用户或客户端102可以访问哪些应用和/或应如何将应用交付给用户或客户端102(诸如经由基于服务器的计算、流式传输或在本地将应用交付给客户端102以进行本地执行)。例如,在工作中,客户端102可以请求执行应用(例如,应用136’),并且服务器106的应用交付系统120例如基于从客户端102接收的证书和由策略引擎140应用的与证书关联的用户策略来确定如何执行应用136’。例如,应用交付系统120可以使客户端102能够接收通过在服务器106上执行应用而生成的应用输出数据,可以使客户端102能够在从服务器106接收到应用之后在本地执行该应用,可以经由网络104将应用流传输到客户端102,或者可以访问另一服务器以执行应用功能的至少一部分。例如,在一些实施方式中,该应用可以是代表客户端102在服务器106上执行的基于服务器或基于远程的应用。服务器106可以使用瘦客户端或远程显示协议(诸如,佛罗里达州劳德代尔堡FL的思杰系统公司的独立计算架构(ICA)协议)将输出显示到客户端102。该应用可以是与实时数据通信相关的任何应用,诸如用于流传输图形、流传输视频和/或音频或其它数据的应用、远程桌面或工作区或托管服务或应用的交付,例如基础架构即服务(IaaS)、工作空间即服务(WaaS)、软件即服务(SaaS)或平台即服务(PaaS)。
一个或更多个服务器106可以包括性能监测服务或代理142。在一些实施方式中,可以采用一个或更多个专用服务器106来执行性能监测。可以使用数据收集、聚集、分析、管理和报告例如通过软件、硬件或其组合来执行性能监测。性能监测可以包括用于对客户端102(例如,客户端代理132)、服务器106(例如,代理142)或设备110和/或114(未示出的代理)执行监测、测量和数据收集活动的一个或更多个代理。通常,性能监测代理142对装置的任何应用和/或用户透明地(例如,在后台)执行。在一些实施方式中,性能监测代理142包括佛罗里达州劳德代尔堡FL的思杰系统公司的被称为思杰分析(Citrix Analytics)的任何产品实施方式。
在所描述的实施方式中,客户端102、服务器106以及设备110和114可以被部署成任何类型和形式的计算装置和/或在任何类型和形式的计算装置上执行,诸如能够通过至少一个网络进行通信并执行本文所述的操作的任何台式计算机、膝上型计算机或移动装置。例如,客户端102、服务器106和/或设备110和114可各自对应于一个计算装置、多个计算装置或诸如图1C所示的计算装置150之类的分布式计算装置的网络。
如图1C所示,计算装置150可以包括一个或更多个处理器152、易失性存储器154(例如,RAM)、非易失性存储器156(例如,一个或更多个硬盘驱动器(HDD)或其它磁性或光学存储介质、一个或更多个固态驱动器(SSD)(诸如闪存驱动器或其它固态存储介质)、一个或更多个混合磁性和固态驱动器和/或一个或更多个虚拟存储卷(诸如云存储或此类物理存储卷和虚拟存储卷或其阵列的组合))。计算装置150可以进一步包括用户接口158、通信接口160和通信总线162。用户接口158可以包括图形用户界面(GUI)164(例如,触摸屏、显示器等)和一个或更多个输入/输出(I/O)装置166(例如,鼠标、键盘等)。非易失性存储器156存储操作系统168、一个或更多个应用170和数据172,使得例如处理器152从易失性存储器154中执行操作系统168和/或应用170的计算机指令。数据可以使用GUI 164的输入装置输入或从I/O装置166接收。计算装置150的各个元件可以经由通信总线162进行通信。图1C中的计算装置150仅作为示例示出,因为客户端102、服务器106和/或设备110和114可以由任何计算或处理环境以及可以由具有能够如本文所述进行操作的合适的硬件和/或软件的任何类型的机器或机器集合来实现。
处理器152可以由执行一个或更多个计算机程序以执行系统功能的一个或更多个可编程处理器来实现。如本文所使用的,术语“处理器”描述了执行功能、操作或操作序列的电子电路。功能、操作或操作序列可以被硬编码到电子电路中,或通过保存在存储装置中的指令的方式被软编码。“处理器”可以使用数字值或使用模拟信号来执行功能、操作或操作序列。在一些实施方式中,“处理器”可以体现在一个或更多个专用集成电路(ASIC)、微处理器、数字信号处理器、微控制器、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、多核处理器或具有关联的存储器的通用计算机中。“处理器”可以是模拟、数字或混合信号。在一些实施方式中,“处理器”可以是一个或更多个物理处理器或一个或更多个“虚拟”(例如,远程定位的或“云”)处理器。
通信接口160可以包括一个或更多个接口,以使计算装置150能够通过各种有线和/或无线或蜂窝连接来访问诸如LAN、WAN或互联网之类的计算机网络。
在所描述的实施方式中,计算装置150可以代表客户端计算装置(例如,客户端102)的用户执行应用,可以执行虚拟机(该虚拟机提供执行会话(诸如托管的桌面会话),在该执行会话内,应用代表用户或客户端计算装置(例如,客户端102)执行),可以执行终端服务会话以提供托管的桌面环境,和/或可以提供对包括一个或更多个以下项的计算环境的访问:一个或更多个应用、一个或更多个桌面应用以及可以执行一个或更多个应用的一个或更多个桌面会话。
B.设备架构
图2示出了设备110的示例实施方式。如本文所述,设备110可以被实现成服务器、网关、路由器、交换机、网桥或其它类型的计算或网络装置。如图2所示,设备110的实施方式可以包括硬件层200和软件层202,软件层202被划分成用户空间204和内核空间206。硬件层200提供执行用户空间204和内核空间206内的程序和服务的硬件元件,并允许用户空间204和内核空间206内的程序和服务在相对于设备110的内部和外部传输数据。硬件层200可以包括用于执行软件程序和服务的一个或更多个处理器210、210’、用于存储软件和数据的存储器212、用于通过网络发送和接收数据的网络端口214以及用于加密和解密数据(诸如与通过网络发送和接收的数据的安全套接字层(SSL)或传输层安全性(TLS)处理有关的数据)的加密处理器216。
设备110的操作系统将可用系统存储器分配、管理或以其它方式分离到用户空间204和内核空间206。内核空间206被保留用于运行内核230,包括任何装置驱动器、内核扩展或其它与内核相关的软件。内核空间206还可以包括与缓存管理器232协同工作的多个网络服务或进程。设备110可以包括一个或更多个网络堆栈233(诸如基于TCP/IP的堆栈),用于与客户端102、服务器106、网络104和/或其它设备110或114通信。各个网络堆栈233可以包括用于对一个或更多个网络分组进行排队以供设备110传输的缓冲器235。
内核空间206可以包括缓存管理器232、加密引擎234、策略引擎236、压缩引擎238和分组引擎240。在设备110的操作系统的核心地址空间中运行一个或更多个进程(例如,缓存管理器232、加密引擎234、策略引擎236、压缩引擎238和/或分组引擎240),这可以减少去往和来自存储器的数据事务的数量和/或在内核模式与用户模式之间的上下文切换。缓存管理器232可以复制存储在其它地方的原始数据或先前计算、生成或传输的数据,以减少数据的访问时间。在一些实施方式中,缓存存储器可以是设备110的存储器212中的数据对象,或者可以是具有比存储器212更快的访问时间的物理存储器。
策略引擎236可以包括统计引擎或其它配置机制,以允许用户识别、指定、定义或配置缓存策略以及访问、控制和管理设备100所缓存的对象、数据或内容并定义或配置设备110执行的安全性、网络业务、网络访问、压缩或其它功能。
加密引擎234可以处理任何与安全有关的协议,诸如SSL或TLS。例如,加密引擎234可以对经由设备110传输的网络分组或其任何部分进行加密和解密,例如可以在客户端102、服务器106和/或其它设备110或114之间设立或建立SSL、TLS或其它安全连接。在一些实施方式中,加密引擎234可以使用隧道协议来在客户端102与服务器106之间提供VPN。加密引擎234可以与加密处理器216通信。压缩引擎238在客户端102与服务器106之间和/或在一个或更多个设备110之间双向地压缩网络分组。
分组引擎240可以管理由设备110经由网络堆栈234接收和发送的分组的内核级处理,以经由网络端口214发送和接收网络分组。分组引擎240可以与加密引擎234、缓存管理器232、策略引擎236和压缩引擎238协同操作,例如以执行加密/解密、业务管理,诸如请求级内容切换和请求级缓存重定向以及数据的压缩和解压缩。
用户空间204是由用户模式应用或以其它方式在用户模式下运行的程序使用的存储区域或操作系统的一部分。用户模式应用可能无法直接访问内核空间206,而是使用服务调用以访问内核服务。用户空间204可以包括图形用户界面(GUI)250,命令行界面(CLI)252、壳服务254,健康监测器256和系统守护(daemon)服务258。GUI 250和CLI 252使系统管理员或其它用户能够与设备110交互并控制设备110的操作,诸如经由设备110的操作系统。壳服务254包括程序、服务、任务、进程或可执行指令,以支持用户经由GUI 250和/或CLI252与设备110的交互。
健康监测器256监测、检查、报告并例如通过监测设备110的活动确保网络系统正常运行并且确保用户正在通过网络接收请求的内容。在一些实施方式中,健康监测器256拦截并检查经由设备110传递的任何网络业务。例如,健康监测器256可以与加密引擎234、缓存管理器232、策略引擎236、压缩引擎238、分组引擎240、系统守护服务258和壳服务254中的一者或更多者接口连接以确定设备110的任何部分的情况、状态、运行状况或健康。此外,健康监测器256可以确定程序、进程、服务或任务是否处于活动状态并且当前正在运行,检查由任何程序、进程、服务或任务提供的状态、错误或历史日志,以确定设备110的任何部分的任何状况、状态或错误。此外,健康监测器256可以测量和监测在设备110上执行的任何应用、程序、进程、服务、任务或线程的性能。
系统守护服务258是持续运行或在后台运行并处理设备110接收到的定期服务请求的程序。在一些实施方式中,系统守护服务258可以适当地将请求转发到其它程序或处理,诸如另一守护服务258。
如本文所述,各个客户端102可以包括客户端代理132,客户端代理132用于经由网络104建立和交换与设备110和/或服务器106的通信。客户端102可能已经安装和/或执行与网络104通信的一个或更多个应用。客户端代理132可以拦截来自由一个或更多个应用使用的网络堆栈的网络通信。
C.用于提供虚拟化应用交付控制器的系统和方法
现在参照图3,示出了虚拟化环境300的框图。虚拟化环境300中的虚拟化计算设备302包括虚拟化层304、管理程序层306和硬件层308。管理程序层306包括至少一个管理程序(或虚拟化管理器)320,其通过在虚拟化层304中执行的至少一个虚拟机(VM)330(例如,VM330中的一个VM)分配和管理对硬件层308(例如,物理处理器322和物理盘324)中的多个物理资源的访问。各个VM 330可以包括诸如虚拟处理器332和/或虚拟盘342的分配的虚拟资源以及诸如虚拟存储器和虚拟网络接口的虚拟资源。在一些实施方式中,VM 330中的至少一个VM可以包括与管理程序320通信并用于执行用于在计算装置302上管理和配置其它VM(例如访客操作系统340a)的应用的控制操作系统(例如340)。
通常,管理程序320可以以模拟可访问物理装置的操作系统的任何方式向VM330的操作系统提供虚拟资源。因此,管理程序320可以被用来仿真虚拟硬件、划分物理硬件、虚拟化物理硬件以及执行提供对计算环境的访问的虚拟机。
管理程序320可以创建一个或更多个VM 330,在该一个或更多个VM 330中执行操作系统(例如,控制操作系统340和/或访客操作系统340a)。例如,管理程序320加载虚拟机镜像以创建VM 330以执行操作系统。管理程序320可以向VM 330呈现硬件层308的抽象,和/或可以控制如何向VM 330呈现硬件层308的物理能力。例如,管理程序320可以管理跨多个物理计算装置分布的资源池。
在一些实施方式中,VM 330(例如,执行控制操作系统340的VM)可以例如通过管理VM的执行和/或终止和/或管理VM的虚拟资源的分配来管理和配置其它VM 330。在各种实施方式中,VM可以经由例如一个或更多个应用编程接口(API)、共享存储器和/或其它技术与管理程序320和/或其它VM通信。
通常,VM 330可以向计算装置302的用户提供对虚拟化计算环境300内的资源的访问,例如,一个或更多个程序、应用、文档、文件、桌面和/或计算环境或其它资源。在一些实施方式中,VM 330可以被实现成完全虚拟化的VM,其不知道它们是虚拟机(例如,硬件虚拟机或HVM)。在其它实施方式中,VM可以意识到它是虚拟机,和/或VM可以被实现成半虚拟(PV)VM。
尽管在图3中示出为包括单个计算装置302,但是虚拟化环境300可以在至少一个物理主机执行虚拟机的系统中包括多个联网装置。可以在任何计算装置(诸如客户端102、服务器106或设备110)上的虚拟化环境300中另外或替代地实现设备110。虚拟设备可以提供关于可用性、性能、健康监测、缓存和压缩、连接复用和池化和/或安全处理的功能(例如,防火墙、VPN、加密/解密等),类似于关于设备110所描述的。
在一些实施方式中,服务器可以例如在多核处理系统的各种核和/或多处理器装置的各种处理器上执行多个虚拟机330。例如,尽管本文中通常示为“处理器”,但是一个或更多个处理器可以被实现成单核或多核处理器,以提供多线程、并行架构和/或多核架构。此外,代替(或除了)以物理处理器/核心的形式实现的功能之外,可以在客户端102、服务器106或设备110上的虚拟化环境(例如300)中实现这样的功能,使得可以跨多个装置(诸如,计算装置的集群、服务器群或计算装置的网络等)实现该功能。各种处理器/核心可以使用多种接口技术彼此接口连接或通信,诸如核心到核心消息传递、共享内存、内核API等。
D.用于搜索SaaS虚拟应用的系统和方法
图4示出了根据实施方式的用于搜索SaaS虚拟应用的系统。在图4中,客户端应用400(例如,思杰工作区)在网络环境100中的客户端102上运行。客户端应用400提供包括多个可搜索SaaS虚拟应用404(在本文中也称为SaaS虚拟应用404)的统一接口402(以下被称为接口402)。对应于可搜索SaaS虚拟应用404的源SaaS应用406安装在一个或更多个服务器106(图4中仅示出一个服务器)上。源SaaS应用406可以被“发布”,即,源SaaS应用406在服务器106上运行、消耗服务器资源并(例如,经由一个或更多个网络104)将屏幕更新以及键盘和鼠标命令从服务器106传输到客户端102上的客户端应用400。对于客户端102的用户408,看起来他们好像正在使用在客户端102上运行的源SaaS应用406;虚拟化对于用户408是透明的。可搜索SaaS虚拟应用404可以例如经由客户端102上的客户端应用400的接口402被打开(例如,被启动)。
客户端应用400可以包括/访问基于网络或文件的配置应用410。管理员412(和/或用户408)可以访问和使用配置应用410来定义可搜索SaaS虚拟应用404的列表414(以下被称为搜索列表414)。搜索列表414中的可搜索SaaS虚拟应用404包括与在何处以及如何在可搜索SaaS虚拟应用404中搜索数据有关的相应配置信息416。
根据实施方式,基于搜索列表414中包括的配置信息416,提供了后台搜索代理服务418(通常也被称为搜索代理418),以在搜索列表414中包括的可搜索SaaS虚拟应用404中执行数据搜索。例如,当用户408使用客户端应用400中的搜索词的集合(例如关键字)420执行数据搜索时,客户端应用400将搜索词的集合420提供给搜索代理418,搜索代理418执行后台搜索过程,该后台搜索过程包括:向与搜索列表414中包括的可搜索SaaS虚拟应用404相对应的源SaaS应用406发送搜索请求422;从源SaaS应用406接收搜索响应424;将接收到的搜索响应424合并到搜索结果列表426中以及将搜索结果列表426提供给用户408。后台搜索过程在用户408不必打开搜索列表414中的任何可搜索SaaS虚拟应用404的情况下被执行。搜索请求422可以经由客户端102发送到源SaaS应用406,或者可以由搜索代理418直接发送到源SaaS应用406。
搜索代理418可以作为客户端应用400的一部分、作为客户端102上、服务器106上的单独程序或以任何其它合适的方式来提供。根据实施方式,搜索代理418在后台执行(例如,作为守护程序和/或类似程序),并响应于用户408在客户端应用400中的数据搜索来执行上述后台搜索过程。
图5示出了根据实施方式的用于搜索列表414中的可搜索SaaS虚拟应用404的例示性配置信息416。如图所示,可搜索SaaS虚拟应用404的搜索列表414中的配置信息416可以包括例如:
A)可搜索SaaS虚拟应用404的名称430;
B)请求在与可搜索SaaS虚拟应用404相对应的源SaaS应用406中的搜索的位置432(例如,通用资源定位符(URL));
C)搜索请求422的请求格式434;
D)搜索响应424的响应格式436;
E)用于搜索请求422和搜索响应424的通信协议438(例如,超文本传输协议(HTTP)或安全超文本传输协议(HTTPS)、GET或POST);
F)用于搜索请求422的认证属性440(例如,需要认证/不需要认证);以及
G)在需要认证的情况下的认证方法442。
下面提供了名为“Citrix Support and Services”的可搜索SaaS虚拟应用404的配置信息416的示例(以可扩展标记语言(XML)表示):
Figure BDA0003093643280000141
在以上示例中,可以看出:
A)可搜索SaaS虚拟应用404的名称430是“Citrix Support and Services”;
B)请求在与可搜索SaaS虚拟应用404相对应的源SaaS应用406中的搜索的位置(例如,URL)432是“support.citrix.com/search/api/v1/search/gcs/all”;
C)搜索请求422的请求格式434为“q=[KEY_WORDS]&startIndex=1”;
D)搜索响应424的响应格式436为“JSON”(JavaScript Object Notation);
E)搜索请求422和搜索响应424的通信协议438为“HTTPS”;
E)搜索请求422的认证属性440为“NO”;以及
F)认证方法442是“NA”(不适用),因为不需要认证。
在图6中示出了根据实施方式的用于搜索SaaS虚拟应用404的方法的数据流程图,参照图4和图5对其进行描述。如图所示,当用户408在客户端应用400中执行搜索时,客户端应用400将搜索词420以及用户408的任何必要的认证信息(例如,用户名、密码)发送给搜索代理418。作为响应,搜索代理418获得(例如,从存储器获得)并检查搜索列表414(以及其中的配置信息216),并且对于搜索列表414中的可搜索SaaS虚拟应用404,搜索代理418针对可搜索SaaS虚拟应用404对用户408进行认证(如有必要),按照搜索列表414中的配置信息416中列出的格式构建搜索请求422,并使用在搜索列表414中的配置信息216中列出的通信协议438将搜索请求422发送到对应源SaaS应用406的搜索位置432。
根据实施方式,搜索代理418从源SaaS应用406接收针对所发送的搜索请求422的搜索响应424。当已经接收到搜索响应424时,搜索代理418解析接收到的搜索响应424,将搜索响应424中的数据整合到搜索结果列表426中,并将搜索结果列表426发送回客户端应用400。搜索响应424的整合可以包括,例如,按照每个搜索词匹配水平、用户历史偏好和/或任何其它合适的标准对搜索响应424中的数据进行过滤/加权。在其它实施方式中,搜索代理418可以设置用于接收搜索响应424的时间段,并且在搜索结果列表426中仅包括在该时间段内接收的搜索响应424的数据。
客户端应用400经由接口402向用户408显示搜索结果列表426。用户408可以选择搜索结果列表426中的项。作为响应,客户端应用400打开与所选择的项相关联的可搜索SaaS虚拟应用404,并将用户408引导到包含所选择的搜索结果的可搜索SaaS虚拟应用404中的页面/屏幕。
扩展以上示例,当用户408在客户端应用400中搜索搜索词420“桌面锁”时,客户端应用400将搜索词420“桌面锁”发送给搜索代理418。作为响应,搜索代理418为搜索列表414中包括的可搜索SaaS虚拟应用404构建不同的搜索请求422,并将搜索请求422发送到对应的源SaaS应用406。例如,对于在位置432“support.citrix.com/search/api/v1/search/gcs/all”处的名为“Citrix Support and Services”的源SaaS应用406,搜索请求422可以如下所示:
“https://support.citrix.com/search/api/v1/search/gcs/all?q=desktop%20lock&startInd ex=1”。
搜索代理418针对搜索词420“桌面锁定”的搜索请求422接收到的搜索响应424的示例如下:
Figure BDA0003093643280000151
Figure BDA0003093643280000161
搜索代理418可以将搜索响应424合并到以下搜索结果列表426中,然后将其发送回客户端应用400:
Figure BDA0003093643280000162
在图7中示出了用于从客户端应用400、搜索代理418和源SaaS应用406的角度搜索SaaS虚拟应用404的方法的泳道图。客户端应用400执行的过程以字母指示符“A”表示,搜索代理418执行的过程以字母指示符“B”表示,并且源SaaS应用406执行的过程以字母指示符“C”表示。
在过程A10中,客户端应用400将用户408输入的搜索词420(例如,使用客户端应用400的搜索功能)(和用户408的认证信息一起(如果有必要的话))提供给搜索代理418。在过程B12中,搜索代理418检查搜索列表414,并且在过程B14中,根据搜索列表414中的配置信息416中列出的格式,为搜索列表414中的可搜索SaaS虚拟应用404构建搜索请求422。在过程B16,搜索代理418利用搜索列表414中需要认证的可搜索SaaS虚拟应用404对用户408进行认证(如有必要)。在B18,搜索代理418向与搜索列表414中列出的可搜索SaaS虚拟应用404相对应的源SaaS应用406发送搜索请求422。
在过程C20,从搜索代理418接收到搜索请求422的源SaaS应用406基于搜索词420执行搜索,并且在过程C22,将搜索响应424发送回搜索代理418。在过程B24,搜索代理418从源SaaS应用406接收针对发送的搜索请求422的搜索响应424。在过程B26,在接收到搜索响应424之后,搜索代理418将接收到的搜索响应424合并到搜索结果列表426中,在过程B28中,该搜索结果列表426由搜索代理418提供给客户端应用400和用户408。在过程A30,用户408接收搜索结果列表426。如从图7所示的泳道图可以看出的,搜索过程在用户408不必打开搜索列表414中的任何可搜索SaaS虚拟应用404的情况下在后台执行。
根据其它实施方式,如图8所示,可以为上述过程提供认证(例如,单点登录(SSO))。搜索代理418不是直接与源SaaS应用406交互,而是与公共SaaS虚拟应用450通信,该公共SaaS虚拟应用450可以响应于用户408在客户端应用400中执行搜索而被预先打开或打开(例如,通过搜索代理418或客户端应用400打开)。公共SaaS虚拟应用450可以包括例如能够执行以下步骤的任何SaaS虚拟应用:执行SSO用户认证;将搜索请求422从搜索代理418传输到源SaaS应用406以及将搜索响应424从源SaaS应用406传输回搜索代理418。公共SaaS虚拟应用450可以与可搜索SaaS虚拟应用404分离,或者可以包括可搜索SaaS虚拟应用404中的一个可搜索SaaS虚拟应用。
在图9中描绘了根据实施方式的用于利用SSO认证来搜索SaaS虚拟应用404的方法的数据流程图,参照图5和图8对其进行描述。如图所示,当用户408在客户端应用400中发起搜索时,客户端应用400将搜索词的集合420与用户408的SSO令牌(token)452一起发送给搜索代理418。搜索代理418使用用户408的SSO令牌452经由公共SaaS虚拟应用450来对用户408进行认证,搜索代理418利用所有可搜索的SaaS虚拟应用404来对用户408进行认证。
在成功认证用户408之后,搜索代理418检查搜索列表414(和配置信息216),并且针对搜索列表414中的可搜索SaaS虚拟应用404,搜索代理418按照搜索列表414中的配置信息416中列出的格式构建搜索请求422。然后,对于在搜索列表414中的可搜索SaaS虚拟应用404,搜索代理418引导公共SaaS应用450使用搜索列表414中的配置信息216中列出的通信协议438将搜索请求422发送到对应的源SaaS应用406的搜索位置432。
公共SaaS虚拟应用450从源SaaS应用406接收搜索响应424,并将搜索响应424转发给搜索代理418。当已经接收到搜索响应424时,搜索代理418解析接收到的搜索响应424,将搜索响应424中的数据整合到搜索结果列表426中,并将搜索结果列表426发送回客户端应用400。搜索响应424的整合可以包括,例如,按照每个搜索词匹配水平、用户历史偏好和/或任何其它合适的标准对搜索响应424中的数据进行过滤/加权。在其它实施方式中,搜索代理418可以不等待接收针对所有发送的搜索请求422的搜索响应424。例如,搜索代理418可以设置用于接收搜索响应424的时间段,并且在搜索结果列表426中仅包括在该时间段内接收的搜索响应424的数据。
客户端应用400经由接口402向用户408显示搜索结果列表426。用户408可以选择搜索结果列表426中的项。作为响应,客户端应用400打开与所选择的项相关联的可搜索SaaS虚拟应用404,并将用户408引导到包含所选择的搜索结果的可搜索SaaS虚拟应用404中的页面/屏幕。
在图10中示出了用于从客户端应用400、搜索代理418、公共SaaS虚拟应用450和源SaaS应用406的角度搜索SaaS虚拟应用404的方法的泳道图。客户端应用400执行的过程以字母指示符“D”表示,搜索代理418执行的过程以字母指示符“E”表示,公共SaaS虚拟应用450执行的过程以字母指示符“F”表示,并且源SaaS应用406执行的过程以字母指示符“G”表示。
在过程D10中,客户端应用400使用客户端应用400的搜索功能将用户408输入的搜索词420与用户408的SSO令牌452一起提供给搜索代理418。在过程E12,搜索代理418将用户408的SSO令牌452发送到公共SaaS虚拟应用450。在过程F14,公共SaaS虚拟应用450使用SSO令牌452对用户408进行认证。
在过程E16中,在用户408被认证后,搜索代理418检查搜索列表414,并且在过程E18中,根据搜索列表414中的配置信息416中列出的格式,为搜索列表414中的可搜索SaaS虚拟应用404构建搜索请求422。在过程E20,搜索代理418将搜索请求422发送到公共SaaS虚拟应用450,在过程F22,该公共SaaS虚拟应用450将搜索请求422转发到对应的源SaaS应用406。
在过程G24,从公共SaaS虚拟应用450接收到搜索请求422的源SaaS应用406对搜索词420执行搜索,并在过程G26,将搜索响应424发送回公共SaaS虚拟应用450。在过程F28,公共SaaS虚拟应用450将搜索响应424转发到搜索代理418。
在过程E30,搜索代理418(经由公用SaaS虚拟应用450)从源SaaS应用406接收针对所有发送的搜索请求422的搜索响应424。在过程E32,在接收到搜索响应424之后,搜索代理418将接收到的搜索响应424合并到搜索结果列表426中,在过程E34中,该搜索结果列表426由搜索代理418提供给用户408。在过程D36,用户408从搜索代理418接收搜索结果列表426。再次,如从图10所示的泳道图可以看出的,搜索过程在用户408不必打开搜索列表414中的任何可搜索SaaS虚拟应用404的情况下在后台执行。
前述附图示出了根据本公开的多个实施方式的相关联的一些处理。就这一点而言,附图流程图内的各个附图或框代表与所描述的方法的实施方式相关联的过程。还应注意,在一些另选实现方式中,取决于所涉及的动作,附图或框中所示的动作可以不按图中所示的顺序发生,或者例如实际上可以基本上同时或以相反的顺序执行。而且,本领域普通技术人员将认识到,可以添加描述处理的附加框。
如本领域的技术人员在阅读以下公开内容后将认识到的,本文描述的各个方面可以体现成装置、方法或计算机程序产品(例如,具有用于执行所述操作或步骤的计算机可执行指令的非暂时性计算机可读介质)。因此,那些方面可以采取完全硬件实施方式、完全软件实施方式或者结合软件和硬件方面的实施方式的形式。此外,这些方面可以采取计算机程序产品的形式,该计算机程序产品由一个或更多个计算机可读存储介质存储,该一个或更多个计算机可读存储介质具有体现在该存储介质之中或之上的计算机可读程序代码或指令。可以利用任何合适的计算机可读存储介质,包括硬盘、CD-ROM、光学存储装置、磁性存储装置和/或其任何组合。
本文所使用的术语仅是出于描述特定实施方式的目的,并不旨在限制本公开。如本文所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外明确指出。还将理解,术语“包括(comprises)”和/或“包括(comprising)”在本说明书中使用时,指定存在所述特征、整数、步骤、操作、元件和/或组件,但是不排除存在或附加有一个或更多个其它特征、整数、步骤、操作、元件、组件和/或其组。“可选的”或“任选地”是指随后描述的事件或情况可能会或可能不会发生,并且该描述包括事件发生的实例和事件没有发生的实例。
如本文在整个说明书和权利要求书中所使用的,近似语言可以用于修饰可以定量变化的任何定量表示,而不会导致与之相关的基本功能发生变化。因此,由诸如“大约”、“近似”和“大致”的术语或多个术语修饰的值不限于所指定的精确值。在至少一些情况下,近似语言可以对应于用于测量该值的仪器的精度。在此以及整个说明书和权利要求书中,可以组合和/或互换范围限制,除非上下文或语言另有指示,否则这种范围被识别并且包括其中包含的所有子范围。应用于范围的特定值的“近似”适用于两个值,除非另外取决于测量该值的仪器的精度,否则可能表示所述值的+/-10%。
所附权利要求书中的所有装置或步骤加功能元件的对应结构、材料、作用和等同物旨在包括用于与具体要求保护的其它要求保护的元件组合地执行功能的任何结构、材料或作用。已经出于例示和描述的目的给出了本公开的描述,但是其并不旨在是穷举的或将本公开限于所公开的形式。在不脱离本公开的范围和精神的情况下,许多修改和变型对于本领域普通技术人员将是显而易见的。实施方式被选择和描述以便最好地解释本公开的原理和实际应用,并使本领域的其它普通技术人员能够理解本公开的各种实施方式,这些实施方式具有适于所设想的特定用途的各种修改。

Claims (20)

1.一种用于搜索应用的方法,所述方法包括以下步骤:
接收用于虚拟应用的搜索的搜索词的集合,所述虚拟应用的搜索能够在无需在计算装置上打开所述虚拟应用的情况下执行;
将搜索请求提供给所述虚拟应用的源,所述请求包括针对所述虚拟应用的所述搜索词的集合;
基于所述搜索词的集合,从所述虚拟应用的所述源接收至少一个响应;以及
将搜索结果列表提供给所述计算装置,以使得能够从能经由所述计算装置访问的多个其它虚拟应用中选择所述虚拟应用,所述搜索结果列表包括所接收的至少一个响应。
2.根据权利要求1所述的方法,其中,所述虚拟应用包括软件即服务SaaS虚拟应用。
3.根据权利要求1所述的方法,其中,所述搜索请求进一步包括所述虚拟应用的配置信息,所述配置信息包括:
所述虚拟应用的名称;
所述虚拟应用的所述源的位置;
所述搜索请求和所述至少一个响应的格式;以及
用于所述搜索请求和所述至少一个响应的通信协议。
4.根据权利要求3所述的方法,其中,所述虚拟应用的所述配置信息进一步包括:
所述搜索请求的认证属性;以及
在所述搜索请求需要认证的情况下的认证方法。
5.根据权利要求1所述的方法,所述方法进一步包括以下步骤:
将所述搜索结果列表提供给用户;以及
响应于用户对所述搜索结果列表中的项的选择,打开与所选择的项相对应的所述虚拟应用。
6.根据权利要求5所述的方法,所述方法进一步包括:响应于对所述项的选择,将所述用户直接带到所述虚拟应用中的内容的源页面。
7.根据权利要求1所述的方法,其中,将搜索请求提供给所述虚拟应用的源的步骤进一步包括:
将所述搜索请求提供给公共虚拟应用;以及
将所述搜索请求从所述公共虚拟应用转发到所述虚拟应用的所述源。
8.根据权利要求7所述的方法,其中,从所述虚拟应用的所述源接收至少一个响应的步骤进一步包括:
在所述公共应用处接收所述至少一个响应;以及
将所述至少一个响应从所述公共虚拟应用转发到所述计算机装置。
9.根据权利要求7所述的方法,所述方法进一步包括以下步骤:
将用户的单点登录SSO令牌发送到所述公共虚拟应用;以及
使用所述用户的所述SSO令牌利用所述公共虚拟应用对所述用户进行认证。
10.一种计算装置,所述计算装置包括:
存储器;
处理器,所述处理器联接至所述存储器,并且被配置成执行用于搜索应用的方法,所述方法包括以下步骤:
接收用于虚拟应用的搜索的搜索词的集合,所述虚拟应用的搜索能够在无需在计算装置上打开所述虚拟应用的情况下执行;
将搜索请求提供给所述虚拟应用的源,所述请求包括针对所述虚拟应用的所述搜索词的集合;
基于所述搜索词的集合,从所述虚拟应用的所述源接收至少一个响应;以及
将搜索结果列表提供给所述计算装置,以使得能够从能经由所述计算装置访问的多个其它虚拟应用中选择所述虚拟应用,所述搜索结果列表包括所接收的至少一个响应。
11.根据权利要求10所述的计算装置,其中,所述虚拟应用包括软件即服务SaaS虚拟应用。
12.根据权利要求10所述的计算装置,其中,所述搜索请求进一步包括所述虚拟应用的配置信息,所述配置信息包括:
所述虚拟应用的名称;
所述虚拟应用的所述源的位置;
所述搜索请求和所述至少一个响应的格式;以及
用于所述搜索请求和所述至少一个响应的通信协议。
13.根据权利要求12所述的计算装置,其中,所述虚拟应用的所述配置信息进一步包括:
所述搜索请求的认证属性;以及
在所述搜索请求需要认证的情况下的认证方法。
14.根据权利要求10所述的计算装置,其中,由所述处理器执行的所述方法进一步包括以下步骤:
将所述搜索结果列表提供给用户;以及
响应于用户对所述搜索结果列表中的项的选择,打开与所选择的项相对应的所述虚拟应用。
15.根据权利要求14所述的计算装置,由所述处理器执行的所述方法进一步包括:响应于对所述项的选择,将所述用户直接带到所述虚拟应用中的内容的源页面。
16.根据权利要求10所述的计算装置,其中,将搜索请求提供给所述虚拟应用的源的步骤进一步包括:
将所述搜索请求提供给公共虚拟应用;以及
将所述搜索请求从所述公共虚拟应用转发到所述虚拟应用的所述源。
17.根据权利要求16所述的计算装置,其中,从所述虚拟应用的所述源接收至少一个响应的步骤进一步包括:
在所述公共应用处接收所述至少一个响应;以及
将所述至少一个响应从所述公共虚拟应用转发到所述计算机装置。
18.根据权利要求17所述的计算装置,其中,由所述处理器执行的所述方法进一步包括以下步骤:
将用户的单点登录SSO令牌发送到所述公共虚拟应用;以及
使用所述用户的所述SSO令牌利用所述公共虚拟应用对所述用户进行认证。
19.一种存储在计算机可读存储介质上的计算机程序产品,当由计算系统执行所述计算机程序产品时,所述计算机程序产品执行用于搜索应用的方法,所述方法包括以下步骤:
接收用于虚拟应用的搜索的搜索词的集合,所述虚拟应用的搜索能够在无需在计算装置上打开所述虚拟应用的情况下执行;
将搜索请求提供给所述虚拟应用的源,所述请求包括针对所述虚拟应用的所述搜索词的集合;
基于所述搜索词的集合,从所述虚拟应用的所述源接收至少一个响应;以及
将搜索结果列表提供给所述计算装置,以使得能够从能经由所述计算装置访问的多个其它虚拟应用中选择所述虚拟应用,所述搜索结果列表包括所接收的至少一个响应。
20.根据权利要求19所述的计算机程序产品,其中,所述方法进一步包括:
将所述搜索结果列表提供给用户;以及
响应于用户对所述搜索结果列表中的项的选择,打开与所选择的项相对应的所述虚拟应用。
CN201980079351.7A 2019-07-04 2019-07-04 搜索SaaS虚拟应用 Pending CN113302588A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/094717 WO2021000321A1 (en) 2019-07-04 2019-07-04 SEARCHING SaaS VIRTUAL APPLICATIONS

Publications (1)

Publication Number Publication Date
CN113302588A true CN113302588A (zh) 2021-08-24

Family

ID=74065717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980079351.7A Pending CN113302588A (zh) 2019-07-04 2019-07-04 搜索SaaS虚拟应用

Country Status (6)

Country Link
US (1) US11693913B2 (zh)
EP (1) EP3994572A4 (zh)
CN (1) CN113302588A (zh)
AU (1) AU2019453130A1 (zh)
CA (1) CA3113915A1 (zh)
WO (1) WO2021000321A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494964B1 (en) * 2009-02-06 2013-07-23 Symantec Corporation Software as a service via virtualization
CN103793279A (zh) * 2013-10-10 2014-05-14 中国电子设备系统工程公司研究所 一种融合应用虚拟化和桌面虚拟化的虚拟化方法
US20150186533A1 (en) * 2013-12-31 2015-07-02 Quixey, Inc. Application Search Using Device Capabilities
US20150286680A1 (en) * 2013-01-30 2015-10-08 Quixey, Inc. Performing application search based on entities
US20150319174A1 (en) * 2014-04-30 2015-11-05 Citrix Systems, Inc. Enterprise System Authentication and Authorization via Gateway
US20160366036A1 (en) * 2014-10-09 2016-12-15 Splunk Inc. Control Interface for Dynamic Substitution of Service Monitoring Dashboard Source Data
US20170118186A1 (en) * 2015-10-27 2017-04-27 Airwatch Llc Searching content associated with multiple applications
US20180083944A1 (en) * 2016-09-16 2018-03-22 Oracle International Corporation Preserving LDAP Hierarchy in a SCIM Directory Using Special Marker Groups

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141933B2 (en) * 2009-02-24 2015-09-22 Sap Se Method and system for generating a personalized report with reusable parameters
US9635580B2 (en) * 2013-10-08 2017-04-25 Alef Mobitech Inc. Systems and methods for providing mobility aspects to applications in the cloud
US10623929B1 (en) * 2016-08-11 2020-04-14 Mahesh Harpale Method and apparatus for shared mobile device app with unique business function adaptation and rendering

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494964B1 (en) * 2009-02-06 2013-07-23 Symantec Corporation Software as a service via virtualization
US20150286680A1 (en) * 2013-01-30 2015-10-08 Quixey, Inc. Performing application search based on entities
CN103793279A (zh) * 2013-10-10 2014-05-14 中国电子设备系统工程公司研究所 一种融合应用虚拟化和桌面虚拟化的虚拟化方法
US20150186533A1 (en) * 2013-12-31 2015-07-02 Quixey, Inc. Application Search Using Device Capabilities
US20150319174A1 (en) * 2014-04-30 2015-11-05 Citrix Systems, Inc. Enterprise System Authentication and Authorization via Gateway
US20160366036A1 (en) * 2014-10-09 2016-12-15 Splunk Inc. Control Interface for Dynamic Substitution of Service Monitoring Dashboard Source Data
US20170118186A1 (en) * 2015-10-27 2017-04-27 Airwatch Llc Searching content associated with multiple applications
US20180083944A1 (en) * 2016-09-16 2018-03-22 Oracle International Corporation Preserving LDAP Hierarchy in a SCIM Directory Using Special Marker Groups

Also Published As

Publication number Publication date
EP3994572A4 (en) 2023-01-04
AU2019453130A1 (en) 2021-04-15
US20210004425A1 (en) 2021-01-07
CA3113915A1 (en) 2021-01-07
EP3994572A1 (en) 2022-05-11
US11693913B2 (en) 2023-07-04
WO2021000321A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
US11063750B2 (en) Systems and methods for secured web application data traffic
US11637888B2 (en) File containerization and management
CN111448788B (zh) 用于基于saas的应用的ssl优化的跟踪ssl会话状态的方法
AU2020279039A1 (en) Systems and methods for recording metadata about microservices for requests to the microservices
CN113940045A (zh) 将策略应用于服务图的api
JP6990298B2 (ja) セッションディレクトリまたはブローカを伴うrdpサーバファームの存在下でのrdpプロキシサポート
US11044322B2 (en) Method for managing sessions using web sockets
US11616772B2 (en) Remote desktop protocol proxy with single sign-on and enforcement support
US20210019285A1 (en) File download using deduplication techniques
EP3754499A1 (en) Generating configuration templates for application delivery control
US11693913B2 (en) Searching SaaS virtual applications
US11533308B2 (en) Systems and methods for supporting unauthenticated post requests through a reverse proxy enabled for authentication
CN114270314A (zh) 智能工作空间平台的统一可访问性设置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination