CN113170283A - 基于到应用用户的消息触发事件通知 - Google Patents
基于到应用用户的消息触发事件通知 Download PDFInfo
- Publication number
- CN113170283A CN113170283A CN202080006449.2A CN202080006449A CN113170283A CN 113170283 A CN113170283 A CN 113170283A CN 202080006449 A CN202080006449 A CN 202080006449A CN 113170283 A CN113170283 A CN 113170283A
- Authority
- CN
- China
- Prior art keywords
- application
- computing system
- event
- notification
- message
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/224—Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
根据一种公开的方法,第一计算系统可以从托管在第二计算系统上的应用接收消息,该消息指示应用的事件。响应于接收到该消息,第一计算系统可以生成指示该事件的通知,并且将所生成的通知发送至客户端设备。第一计算系统可以从客户端设备接收对该通知的响应,并且可以对该响应进行处理,以使应用采取响应于该事件的动作。
Description
背景技术
已经开发了使得客户端设备能够通过网络访问应用和/或数据文件的各种系统。由佛罗里达州劳德代尔堡的Citrix Systems公司提供的包括Citrix WorkspaceTM系列产品的某些产品提供了这样的功能。Citrix WorkspaceTM的一个特征是针对用户的许多应用的智能活动馈送(activity feed)。这样的活动馈送提供了下述流线化机制:用于通知用户需要注意的各种应用事件并且使得用户能够有效地对这样的事件采取行动,而无需用户切换上下文(context)并且单独地启动相应的应用以采取关于不同事件的动作。
发明内容
提供本发明内容以简化形式介绍一系列构思,这些构思将在下面的具体实施方式中进一步描述。本发明内容不旨在识别关键特征或必要特征,也不旨在限制本文所包括的权利要求的范围。
在一些公开的实施方式中,一种方法涉及:由第一计算系统从托管在第二计算系统上的应用接收消息,该消息指示应用的事件;由第一计算系统并且响应于接收到该消息来生成指示该事件的通知;由第一计算系统将该通知发送至客户端设备;由第一计算系统并且从客户端设备接收对该通知的响应;以及由第一计算系统对接收到的对该通知的响应进行处理,以使应用采取响应于该事件的动作。
在一些公开的实施方式中,一种方法涉及:由第一计算系统从托管在第二计算系统上的应用接收消息,该消息指示应用的事件;响应于接收到该消息,由第一计算系统向该应用发送对与该事件相关的数据的请求;由第一计算系统从应用接收与该事件相关的数据;由第一计算系统并且至少部分地基于接收到的数据生成指示该事件的通知;以及由第一计算系统将该通知发送至客户端设备。
在一些公开的实施方式中,第一计算系统包括至少一个处理器和被编码有指令的至少一个计算机可读介质,所述指令在由至少一个处理器执行时使第一计算系统执行以下操作:从托管在第二计算系统上的应用接收消息,该消息指示该应用的事件;响应于接收到该消息来生成指示该事件的通知;将该通知发送至客户端设备;从客户端设备接收对该通知的响应;以及对接收到的对该通知的响应进行处理,以使应用采取响应于该事件的动作。
附图说明
根据以下详细描述、所附权利要求书和附图,本文公开的实施方式的目的、方面、特征和优点将变得更加充分明显,在附图中相同的附图标记标识相似或相同的元件。说明书中结合附图引入的附图标记可以在一个或更多个后续附图中重复而无需在说明书中另外描述,以为其他特征提供上下文,并且并非每个元件都会在每个图中被标记。附图不一定按比例绘制,而是将重点放在说明实施方式、原理和概念上。附图不旨在限制本文所包括的权利要求的范围。
图1A是示出根据本公开内容的一些实施方式的用于基于发送至应用用户的消息来触发事件通知的系统的第一示例实现方式的高级概念图;
图1B是示出根据本公开内容的一些实施方式的用于基于发送至应用用户的消息来触发事件通知的系统的第二示例实现方式的高级概念图;
图2是可以部署本文公开的消息交换系统的一些实施方式的网络环境的图;
图3是根据一些实施方式的可以用于实现图2所示的计算环境的一个或更多个部件的计算系统的框图;
图4是可以实现本公开内容的各个方面的云计算环境的示意性框图;
图5A是资源管理服务可以管理和流线化由客户端(经由一个或更多个网关服务)对资源馈送和/或软件即服务(SaaS)应用的访问的示例系统的框图;
图5B是示出图5A所示的系统的示例实现方式的框图,在图5B中,各种资源管理服务以及网关服务位于云计算环境内;
图5C是类似于图5B所示的框图的框图,但是在图5C中,可用资源由标记为“记录系统”的单个框表示,并且还在图5C中,在资源管理服务当中包括若干不同的服务;
图5D示出了当采用诸如图5C所示的多资源管理系统的智能活动馈送特征时显示屏可以如何出现;
图6是示出可以由消息服务器的插件和图1A和图1B所示的活动馈送管理系统的分析引擎执行的示例操作的功能框图;以及
图7是示出当使用图5B和图5C所示的资源管理服务来实现图1A和图1B所示的活动馈送管理系统时可以由图1A、图1B、图5C和图6所示的各种部件执行的示例步骤的流程图。
具体实施方式
为了阅读以下对各个实施方式的描述,对说明书的各部分及其相应内容的以下描述可能是有帮助的:
部分A提供了用于基于发送至应用用户的消息来触发事件通知的系统和方法的示例实施方式的介绍;
部分B描述了对于实践本文描述的实施方式可以是有用的网络环境;
部分C描述了对于实践本文描述的实施方式可以是有用的计算系统;
部分D描述了用于使用云计算环境来传送共享资源的系统和方法的实施方式;
部分E描述了用于管理和流线化(streamlining)由客户端对各种资源的访问的系统和方法的实施方式;
部分F提供了以上在部分A中介绍的示例系统和方法的更详细描述;以及
部分G描述了根据本公开内容的方法、系统/设备以及计算机可读介质的示例实现方式。
A.用于基于发送至应用用户的消息来触发事件通知的系统和方法的说明性实施
方式的介绍
诸如由Citrix WorkspaceTM系列产品提供的智能活动馈送提供了显著的优势,因为其使得用户能够对由不同的记录系统生成的应用特定事件作出响应,而无需用户切换上下文并且单独地启动相应的应用以采取关于不同事件的动作。在下面的部分E中结合图5A至图5D描述了能够提供这样的活动馈送的系统的示例。在这样的系统中,远程计算系统可以代表操作客户端设备的用户负责监视各种记录系统(例如,SaaS应用、web应用、Windows应用、Linux应用、桌面、文件存储库和/或文件共享系统等)并与之交互。如部分E(结合图5C和图5D)所描述的,用户524可以操作客户端设备202以与对应于各种记录系统526的特定功能的“微应用”进行交互,并且这样的微应用进而可以代表用户524例如经由这样的系统的应用编程接口(API)与记录系统526进行交互。
更具体地,并且如在部分E中更详细地描述的,微应用服务528(在图5C中示出)可以周期性地请求与数据集成提供器服务530同步,以使活动数据从记录系统526中提取出。在一些实现方式中,例如,微应用服务528可以从凭证钱包服务532检索记录系统526的加密的服务帐户凭证,并且请求与数据集成提供器服务530同步。数据集成提供器服务530然后可以解密服务帐户凭证,并且使用那些凭证从记录系统526中检索数据。数据集成提供器服务530然后可以将检索到的数据流式传输至微应用服务528。微应用服务528可以将接收到的记录系统数据存储在活动数据缓存服务534中,并且还将原始事件发送至分析服务536进行处理。分析服务536可以创建通知(例如,目标评分通知)并且将这样的通知发送至通知服务538。通知服务538可以将通知存储在数据库中以便稍后在活动馈送中提供服务以及/或者可以将通知立即发出至客户端202作为向用户524的推送通知。
在部分E中还更详细描述的图5D示出了当采用智能活动馈送特征并且用户524登录至系统时,由资源访问应用522(在图5C中示出)呈现的显示屏540可以如何出现。如图5D所示,可以在显示屏540上呈现活动馈送544,该活动馈送544包括关于用户524对其具有访问权限的各种应用内发生的相应事件的多个通知546。
尽管上述用于从记录系统526获取数据的处理在大多数情况下执行得相当好,但是发明人已经认识并意识到,关于至少一些类型的记录系统526例如SaaS应用,可能出现下述情况:与这样的系统进行数据的周期性同步可能导致在事件在记录系统526内实际发生的时间与关于该事件的通知546在用户的活动馈送544中呈现的时间之间的明显延迟。例如,如果用户的数据与记录系统526每“N”分钟仅同步一次,则关于在这样的同步时间之间在该记录系统526中发生的至少一些事件的数据可能不会从记录系统526接收达近“N”分钟。该延迟连同对接收到的数据进行处理并生成通知546所花费的时间在至少一些情况下可能导致较差的用户体验。
提供了用于使通知546基于事件在记录系统内实际发生的时间而不是仅依赖于周期性同步时间表而生成的系统和方法。特别地,在一些实现方式中,某些记录系统向用户发送以通知他们与其帐户相关的事件的消息(例如,电子邮件消息、文本消息等)可以被用作用于生成通知546的触发器。例如,在一些实现方式中,这样的消息可以被用作用于例如经由数据集成提供器服务530(在图5C中示出)请求与和这样的消息相关的记录系统同步的触发器。这样的方法对于某些记录系统例如SaaS应用可以特别有利,所述记录系统向用户发送电子邮件消息以提醒他们帐户活动。
图1A和图1B示出了根据一些实施方式的可以被配置成实现这种新方法的活动馈送管理系统102的示例实现方式。图1A和图1B的下部分所示的硬件部件以及所示出的这些部件之间的交互是相同的。图1A与图1B之间的差异涉及在那些图的上部分所示的(由第一计算系统100执行的)示例例程118和132。下面分别描述那些示例例程118、132中的每一个,以下是对所示硬件部件之间的交互的描述。
如图1A和图1B所示,在一些实现方式中,第一计算系统100可以包括活动馈送管理系统102和一个或更多个消息服务器104两者。在一些实现方式中,消息服务器104可以包括一个或更多个电子邮件服务器,例如微软交换服务器。此外,还如图1A和图1B所示,第二计算系统130可以托管应用108,例如SaaS应用。消息服务器104可以被配置成识别应用108发送至被授权使用应用108的用户110的帐户例如电子邮件帐户的消息106例如电子邮件消息。用户110可以操作一个或更多个客户端设备112以查看和响应从活动馈送管理系统102接收到的事件通知114,以及接收和查看经由消息服务器104提供的消息106。此外,尽管未在图1A和图1B中具体示出,但是用户110可以另外地操作客户端设备112以例如经由互联网连接(未示出)与应用108(例如,SaaS应用)交互。在一些实现方式中,活动馈送管理系统102可以是图5C所示的资源管理服务502,并且事件通知114可以是那些服务提供给客户端设备202的用户524的通知546,如下所述。
如图1A和图1B所示,在一些实现方式中,消息服务器104可以识别应用108发送至用户110的帐户的消息106,并且可以将这些消息106的副本发送至活动馈送管理系统102进行处理。消息服务器104可以例如设置有插件,该插件可以被配置成识别满足一个或更多个特定标准的消息106,例如特定地址被包括在“来自(from)”字段中的消息。如上所述,在一些实现方式中,消息服务器104可以是微软交换服务器。在这样的实现方式中,插件可以是在这样的服务器上安装和配置的传输代理。
活动馈送管理系统102可以响应于从消息服务器104接收电子邮件消息106的副本针对应用108服务的特定用户帐户发起同步交换116。基于活动馈送管理系统102在这样的同步交换期间从应用108接收的数据,活动馈送管理系统102可以生成事件通知114并将其发送至客户端设备112,以供用户110查看和/或响应。如下面更详细描述的,在一些实现方式中,包括在活动馈送管理系统102中的分析引擎和/或消息服务器104的插件可以使用各种规则来评估消息106的头字段和/或内容,以确定那些消息106是否与值得通知的事件相关。
图1A示出了根据一些实施方式的可以由第一计算系统100执行的第一示例例程118。如所示的,在例程118的步骤120处,第一计算系统100可以从托管在第二计算系统130上的应用108例如SaaS应用接收消息106例如电子邮件消息。如步骤120的文本指示,接收到的消息106可以指示应用108的事件。
在例程118的步骤122处,响应于接收到消息106,第一计算系统100可以生成指示应用108的事件的通知114。这样的通知106可以例如是由图5C所示的分析服务536创建的通知546(在下面的部分E中描述)。
在例程118的步骤124处,第一计算系统100可以将在步骤122处生成的通知114发送至客户端设备112。在一些实现方式中,发送至客户端设备112的通知114可以包括一个或更多个用户接口元素,该一个或更多个用户接口元素能够选择以使客户端设备112向第一计算系统100发送对通知546的响应。
在例程118的步骤126处,例如当用户110操作客户端设备112以选择通知114中的用户接口元素时,第一计算系统100可以接收对通知114的响应(未示出)。
在例程118的步骤128处,第一计算系统100可以对接收到的对通知546的响应进行处理,以使应用108采取响应于该事件的动作。例如,在一些实现方式中,活动馈送管理系统102的微应用服务528(参见图5C)可以从凭证钱包服务532(参见图5C)检索用户110的访问凭证,并且指示数据集成提供器服务530(参见图5C)使用这样的访问凭证例如经由API命令来执行关于应用108的动作。
图1B示出了根据一些实施方式的可以由第一计算系统100执行的第二示例例程132。如所示的,在例程132的步骤134处,第一计算系统100可以从托管在第二计算系统130上的应用108例如SaaS应用接收消息106例如电子邮件消息。如步骤134的文本指示,接收到的消息106可以指示应用108的事件。
在例程132的步骤136处,响应于接收到消息106,第一计算系统可以向应用108发送对与事件相关的数据的请求。这样的请求可以例如对应于活动馈送管理系统102结合这两个部件之间的同步交换116发送至应用108的请求,如上所述。例如,在一些实现方式中,活动馈送管理系统102的微应用服务528(参见图5C)可以从凭证钱包服务532(参见图5C)检索用户110的访问凭证,并且指示数据集成提供器服务530(参见图5C)使用这样的访问凭证例如经由API命令从应用108请求与该事件对应的数据。
在一些实现方式中,如图1B所示,消息服务器104例如电子邮件服务器可以将接收到的消息106例如电子邮件消息的副本发送至活动馈送管理系统102进行处理,以确定消息106是否与值得通知的事件相关。如下面更详细说明的,在一些实现方式中,消息服务器104可以包括插件,该插件被配置成评估传入消息106以识别从应用108接收到的那些消息,并将这样的识别出的消息106转发至活动馈送管理系统102以进一步评估。
在例程132的步骤138处,第一计算系统100可以从应用108接收所请求的数据。在步骤138处接收的数据可以例如对应于活动馈送管理系统102结合这两个部件之间的同步交换116从应用108接收的数据,如上所述。
在例程132的步骤140处,第一计算系统100可以生成指示事件的通知114。如步骤140的文本指示,这样的通知114可以至少部分地基于根据步骤138从应用108接收到的数据来生成。如上所述,在一些实现方式中,在步骤140处生成的通知114可以对应于资源活动馈送服务的通知546,例如下面结合图5C和图5D描述。
在例程132的步骤142处,第一计算系统100可以将在步骤140处生成的通知114发送至客户端设备112。如前所述,在一些实现方式中,发送至客户端设备112的通知114可以包括一个或更多个用户接口元素,该一个或更多个用户接口元素能够选择以使客户端设备112向第一计算系统100发送对通知114的响应。响应于接收到这样的响应,第一计算系统100可以使应用108采取响应于该事件的动作。例如,在一些实现方式中,活动馈送管理系统102的微应用服务528(参见图5C)可以从凭证钱包服务532(参见图5C)检索用户110的访问凭证,并且指示数据集成提供器服务530(参见图5C)使用这样的访问凭证例如经由API命令来执行关于应用108的动作。
下面在部分F中阐述本公开内容的实施方式的附加细节和示例实现方式,以下是对可以部署这样的实施方式的示例系统和网络环境的描述。
B.网络环境
参照图2,描绘了说明性网络环境200。如所示的,网络环境200可以包括经由一个或更多个网络206(1)至206(n)(通常称为网络206)与一个或更多个服务器204(1)至204(n)(通常也称为远程机器204或服务器204)通信的一个或更多个客户端202(1)至202(n)(通常也称为本地机器202或客户端202)。在一些实施方式中,客户端202可以经由一个或更多个装置208(1)至208(n)(通常称为装置208或网关208)与服务器204通信。在一些实施方式中,客户端202可以具有既用作寻求对由服务器204提供的资源的访问的客户端节点又用作针对其他客户端202提供对托管资源的访问的服务器204的能力。
尽管图2所示的实施方式示出了客户端202与服务器204之间的一个或更多个网络206,但是在其他实施方式中,客户端202和服务器204可以在同一网络206上。当采用多个网络206时,各种网络206可以是相同类型的网络或不同类型的网络。例如,在一些实施方式中,网络206(1)和206(n)可以是专用网络诸如局域网(LAN)或公司内联网,而网络206(2)可以是公共网络诸如城域网(MAN)、广域网(WAN)或因特网。在其他实施方式中,网络206(1)和网络206(n)中的一者或两者以及网络206(2)可以是公共网络。在又一实施方式中,网络206(1)、网络206(2)和网络206(n)中的所有三个均可以是专用网络。网络206可以采用一种或更多种类型的物理网络和/或网络拓扑例如有线和/或无线网络,并且可以采用一种或更多种通信传输协议例如传输控制协议(TCP)、因特网协议(IP)、用户数据报协议(UDP)或其他类似协议。在一些实施方式中,网络206可以包括使用各种协议在移动设备之间通信的一个或更多个移动电话网络。在一些实施方式中,网络206可以包括一个或更多个无线局域网(WLAN)。对于WLAN内的短距离通信,客户端202可以使用802.11、蓝牙和/或近场通信(NFC)进行通信。
如图2所示,一个或更多个装置208可以位于网络环境200的各个点处或各个通信路径中。例如,装置208(1)可以部署在网络206(1)与网络206(2)之间,并且装置208(n)可以部署在网络206(2)与网络206(n)之间。在一些实施方式中,装置208可以彼此通信并且协同工作以例如加速客户端202与服务器204之间的网络业务。在一些实施方式中,装置208可以充当两个或更多个网络之间的网关。在其他实施方式中,装置208中的一个或更多个可以替代地与客户端202或服务器204中的单个一者结合或者作为客户端202或服务器202中的单个一者的一部分来实现,以使得这样的设备能够直接连接到网络206之一。在一些实施方式中,一个或更多个装置208可以作为应用传送控制器(ADC)操作,以向客户端202中的一个或更多个提供对业务应用以及部署在数据中心、云中或者作为软件即服务(SaaS)跨一系列客户端设备传送的其他数据的访问,以及/或者提供诸如负载平衡等的其他功能。在一些实施方式中,装置208中的一个或更多个可以被实现为由佛罗里达州劳德代尔堡的CitrixSystems公司出售的网络设备,例如Citrix GatewayTM或Citrix ADCTM。
服务器204可以是任何服务器类型,诸如例如:文件服务器;应用服务器;web服务器;代理服务器;装置;网络装置;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;安全套接字层虚拟专用网络(SSL VPN)服务器;防火墙;web服务器;执行活动目录的服务器;云服务器;或执行提供防火墙功能、应用功能或负载平衡功能的应用加速程序的服务器。
服务器204可以执行、操作或以其他方式提供可以是以下中的任意一种的应用:软件;程序;可执行指令;虚拟机;管理程序;web浏览器;基于web的客户端;客户端-服务器应用;瘦客户端计算客户端;ActiveX控件;Java小程序;与互联网协议语音(VoIP)通信相关的软件,如软IP电话;用于流式传输视频和/或音频的应用;用于促进实时数据通信的应用;HTTP客户端;FTP客户端;Oscar客户;Telnet客户端;或任何其他可执行指令集。
在一些实施方式中,服务器204可以执行远程呈现服务程序或者使用瘦客户端或远程显示协议的其他程序,以捕获由在服务器204上执行的应用生成的显示输出并且将该应用显示输出传输至客户端设备202。
在又一实施方式中,服务器204可以执行向客户端202的用户提供对计算环境的访问的虚拟机。客户端202可以是虚拟机。虚拟机可以通过例如虚拟机监视器(hypervisor)、虚拟机管理器(VMM)或服务器204内的任何其他硬件虚拟化技术来管理。
如图2所示,在一些实施方式中,服务器204的组可以作为一个或更多个服务器群210操作。这样的服务器群210的服务器204可以在逻辑上分组,并且可以与客户端202和/或其他服务器204在地理位置上同位(例如,在本地)或者在地理上分散(例如,基于云)。在一些实施方式中,两个或更多个服务器群210可以例如经由连接至网络206(2)的相应装置208彼此通信,以使得多个基于服务器的处理能够彼此交互。
还如图2所示,在一些实施方式中,装置208中的一个或更多个可以包括一个或更多个附加装置、被一个或更多个附加装置替换或与一个或更多个附加装置通信,所述一个或更多个附加装置例如是通常被称为WAN优化装置212的WAN优化装置212(1)至212(n)。例如,WAN优化装置212可以加速、缓存、压缩或以其他方式优化或改进网络业务例如至WAN连接和/或从WAN连接的业务的性能、操作、流量控制或服务质量,例如优化广域文件服务(WAFS)、加速服务器消息块(SMB)或通用因特网文件系统(CIFS)。在一些实施方式中,装置212中的一个或更多个可以是性能增强代理或WAN优化控制器。
在一些实施方式中,装置208、212中的一个或更多个可以被实现为由佛罗里达州劳德代尔堡的Citrix Systems公司销售的产品,例如Citrix SD-WANTM或Citrix CloudTM。例如,在一些实现方式中,装置208、212中的一个或更多个可以是云连接器,该云连接器使得通信能够在云计算环境内的资源与这样的环境外部的资源例如托管在组织的数据中心内的资源之间交换。
C.计算环境
图3示出了可以用于实现图2所示的网络环境200内的一个或更多个相应部件(例如,客户端202、服务器204、装置208、212)的计算系统300的示例。如图3所示,计算系统300可以包括一个或更多个处理器302、易失性存储器304(例如,RAM)、非易失性存储器306(例如,一个或更多个硬盘驱动器(HDD)或者其他磁存储介质或光学存储介质、一个或更多个固态驱动器(SSD)例如闪存驱动器或其他固态存储介质、一个或更多个混合磁性和固态驱动器和/或一个或更多个虚拟存储卷例如云存储装置,或者这样的物理存储卷和虚拟存储卷或其阵列的组合)、用户接口(UI)308,一个或更多个通信接口310以及通信总线312。用户接口308可以包括图形用户接口(GUI)314(例如,触摸屏、显示器等)以及一个或更多个输入/输出(I/O)设备316(例如,鼠标、键盘等)。非易失性存储器306可以存储操作系统318、一个或更多个应用320以及数据322,使得例如操作系统318和/或应用320的计算机指令由处理器302在易失性存储器304之外执行。可以使用GUI 314的输入设备输入数据或者从I/O设备316接收数据。计算系统300的各种元件可以经由通信总线312进行通信。图3所示的计算系统300仅作为示例示出,因为客户端202、服务器204和/或装置208和212可以通过任何计算或处理环境以及利用可以具有能够如本文所描述进行操作的合适的硬件和/或软件的任何类型的机器或机器组来实现。
处理器302可以由执行一个或更多个计算机程序以执行系统功能的一个或更多个可编程处理器来实现。如本文所使用的,术语“处理器”描述了执行功能、操作或操作序列的电子电路。功能、操作或操作序列可以硬编码至电子电路中,或者通过存储器设备中保存的指令的方式进行软编码。“处理器”可以使用数字值或使用模拟信号来执行功能、操作或操作序列。在一些实施方式中,“处理器”可以实施在一个或更多个专用集成电路(ASIC)、微处理器、数字信号处理器、微控制器、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、多核处理器、或具有相关联的存储器的通用计算机中。“处理器”可以是模拟、数字或混合信号。在一些实施方式中,“处理器”可以是一个或更多个物理处理器或者一个或更多个“虚拟”(例如,远程定位的或“云”)处理器。
通信接口310可以包括一个或更多个接口,以使计算系统300能够通过包括蜂窝连接的各种有线和/或无线连接访问计算机网络,例如局域网(LAN)、广域网(WAN)、个人局域网(PAN)或因特网。
如上所述,在一些实施方式中,一个或更多个计算系统300可以代表客户端计算设备(例如,图2所示的客户端202)的用户执行应用;可以代表用户或客户端计算设备(例如,图2所示的客户端202)执行虚拟机,虚拟机提供应用在其内执行的执行会话,例如托管的桌面会话;可以执行终端服务会话以提供托管的桌面环境;或者可以提供对包括以下中的一个或更多个的计算环境的访问:一个或更多个应用、一个或更多个桌面应用以及一个或更多个应用可以在其中执行的一个或更多个桌面会话。
D.用于使用云计算环境来传送共享资源的系统和方法
参照图4,描绘了云计算环境400,其也可以被称为云环境、云计算或云网络。云计算环境400可以向多个用户或租户提供共享计算服务和/或资源的传送。例如,共享资源和服务可以包括但不限于网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机、数据库、软件、硬件、分析和智能。
在云计算环境400中,一个或更多个客户端202(例如结合图2所述的客户端)与云网络404进行通信。云网络404可以包括后端平台,例如服务器、存储装置、服务器群和/或数据中心。客户端202可以对应于单个组织/租户或多个组织/租户。更具体地,在一个示例实现方式中,云计算环境400可以提供服务于单个组织的私有云(例如,企业云)。在另一示例中,云计算环境400可以提供服务于多个组织/租户的社区或公共云。
在一些实施方式中,可以利用网关装置或服务来提供对云计算资源和虚拟会话的访问。作为示例,可以将由Citrix Systems公司提供的Citrix网关部署在本地或公共云上,以向用户提供对虚拟、SaaS和web应用的安全访问和单点登录。此外,为了保护用户免受web威胁,可以使用诸如Citrix secure Web Gateway的网关。Citrix Secure Web Gateway使用基于云的服务和本地缓存来检查URL信誉和类别。
在又一些实施方式中,云计算环境400可以提供混合云,该混合云是公共云和位于这样的云的外部的一个或更多个资源例如托管在组织的一个或更多个数据中心内的资源的组合。公共云可以包括由第三方对客户端202或企业/租户维护的公共服务器。服务器可以位于远程地理位置的异地或其他地方。在一些实现方式中,可以使用一个或更多个云连接器来促进云计算环境400内的一个或更多个资源与这样的环境外部的一个或更多个资源之间的通信交换。
云计算环境400可以提供资源池以经由客户端202通过多租户环境或多租户模型来服务多个用户,其中不同的物理和虚拟资源响应于相应环境内的不同需求而动态地分配和重新分配。多租户环境可以包括可以提供软件、应用或软件应用的单个实例来服务多个用户的系统或架构。在一些实施方式中,云计算环境400可以提供按需自助服务,以跨网络为多个客户端202单方面地提供计算能力(例如,服务器时间、网络存储)。作为示例,提供服务可以通过诸如Citrix供应服务(Citrix PVS)的系统来提供。Citrix PVS是通过共享的桌面图像将补丁、更新和其他配置信息传送至多个虚拟桌面终点的软件流技术。云计算环境400可以提供弹性以响应于来自一个或更多个客户端202的不同需求而动态地向外扩展或向内扩展。在一些实施方式中,云计算环境400可以包括或提供监视服务以监视、控制和/或生成与提供的共享服务和资源对应的报告。
在一些实施方式中,云计算环境400可以提供基于云的不同类型的云计算服务例如软件即服务(SaaS)402、平台即服务(PaaS)404、基础设施即服务(IaaS)406和桌面即服务(DaaS)408的传送。IaaS可以指代用户租用在指定时间段期间所需的基础设施资源的使用。IaaS提供商可以从大型池提供存储、联网、服务器或虚拟化资源,使得用户能够根据需要通过访问更多资源来快速扩大规模。IaaS的示例包括由华盛顿州西雅图市的Amazon.com公司提供的AMAZON WEB SERVICES、由德克萨斯州圣安东尼奥市的Rackspace US公司提供的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),其中虚拟桌面会话通常作为云服务与在虚拟桌面上使用的应用一起传送。来自Citrix Systems的Citrix Cloud是DaaS传送平台的一个示例。DaaS传送平台可以托管在公共云计算基础设施上,例如来自华盛顿州雷德蒙德的Microsoft公司的AZURE CLOUD或例如由华盛顿州西雅图市的Amazon.com公司提供的AMAZON WEB SERVICES。在Citrix Cloud的情况下,CitrixWorkspace应用可以用作用于将应用、文件和桌面(无论是本地还是在云中)整合在一起以传送统一的体验的单一入口点。
E.用于管理和流线化由客户端设备对各种资源的访问的系统和方法
图5A是示例多资源访问系统500的框图,在多资源访问系统500中,一个或更多个资源管理服务502可以管理和流线化由一个或更多个客户端202对一个或更多个资源馈送504(经由一个或更多个网关服务506)和/或对一个或更多个软件即服务(SaaS)应用508的访问。特别地,资源管理服务502可以采用身份提供器510来认证客户端202的用户的身份,并且在认证之后,识别用户被授权访问的一个或更多个资源。响应于用户选择所识别的资源之一,资源管理服务502可以向请求客户端202发送适当的访问凭证,并且然后客户端202可以使用那些凭证来访问所选择的资源。对于资源馈送504,客户端202可以使用所提供的凭证来经由网关服务506访问所选择的资源。对于SaaS应用508,客户端202可以使用凭证来直接访问所选择的应用。
客户端202可以是能够访问资源馈送504和/或SaaS应用508的任何类型的计算设备,并且可以例如包括各种台式或膝上型计算机、智能电话、平板电脑等。资源馈送504可以包括多种资源类型中的任何资源类型,并且可以从许多位置中的任何位置来提供。在一些实施方式中,例如,资源馈送504可以包括用于向客户端202提供虚拟应用和/或桌面的一个或更多个系统或服务、一个或更多个文件存储库和/或文件共享系统、一个或更多个安全浏览器服务、用于SaaS应用508的一个或更多个访问控制服务、用于客户端202上的本地应用的一个或更多个管理服务、一个或更多个启用互联网的设备或传感器等。资源管理服务502、资源馈送504、网关服务506、SaaS应用508以及身份提供器510可以位于一个或更多个云计算环境内或其他地方内的部署有多资源访问系统500的组织的本地数据中心内。
图5B是示出图5A所示的多资源访问系统500的示例实现方式的框图,其中各种资源管理服务502以及网关服务506位于云计算环境512内。云计算环境可以例如包括Microsoft Azure CLOUD、Amazon Web Sevices、Google CLOUD或IBM CLOUD。然而,应当理解,在其他实现方式中,资源管理服务502和/或网关服务506的部件中的一个或更多个(或全部)可以替选地位于云计算环境512外部,例如在由组织托管的数据中心内。
对于不基于云计算环境512内的任何示出的部件(除客户端202之外),云连接器(图5B中未示出)可以用于将那些部件与云计算环境512接口。这样的云连接器可以例如在托管在资源位置中的Windows服务器实例和/或Linux服务器实例上运行,并且可以创建反向代理以在那些资源位置与云计算环境512之间路由业务。在所示的示例中,基于云的资源管理服务502包括客户端接口服务514、身份服务516、资源馈送服务518和单点登录服务520。如所示的,在一些实施方式中,客户端202可以使用资源访问应用522与客户端接口服务514通信以及在客户端202上呈现用户接口,用户524可以操作该用户接口来访问资源馈送504和/或SaaS应用508。资源访问应用522可以安装在客户端202上,或者可以由客户端接口服务514(或在多资源访问系统500中的其他地方)执行并且使用客户端202上的web浏览器(图5B中未示出)访问。
如下面更详细地说明的,在一些实施方式中,资源访问应用522和相关联的部件可以向用户524提供个性化的一体化接口,使得能够即时且无缝地访问所有用户的SaaS和web应用、文件、虚拟Windows应用、虚拟Linux应用、桌面、移动应用、Citrix虚拟应用和DesktopsTM、本地应用和其他数据。
当由用户524启动或以其他方式访问资源访问应用522时,客户端接口服务514可以向身份服务516发送登录请求。在一些实施方式中,身份提供器510可以位于针对其部署有多资源访问系统500的组织的场所。身份提供器510可以例如对应于本地Windows活动目录。在这样的实施方式中,身份提供器510可以使用云连接器(图5B中未示出)连接至基于云的身份服务516,如上所述。在接收到登录请求时,身份服务516可以使资源访问应用522(经由客户端接口服务514)向用户524提示用户的认证凭证(例如,用户名和密码)。在接收到用户的认证凭证时,客户端接口服务514可以将凭证继续传递至身份服务516,并且身份服务516可以进而将它们转发至身份提供器510以例如通过将它们与活动目录域进行比较来进行认证。一旦身份服务516从身份提供器510接收到用户的身份已被正确认证的确认,则客户端接口服务514可以向资源馈送服务518发送对用户524的预订资源列表的请求。
在其他实施方式中(图5B中未示出),身份提供器510可以是基于云的身份服务,例如Microsoft Azure活动目录。在这样的实施方式中,在从客户端接口服务514接收到登录请求时,身份服务516可以经由客户端接口服务514使客户端202被重定向至基于云的身份服务以完成认证过程。然后,基于云的身份服务可以使客户端202提示用户524输入用户的认证凭证。在确定用户的身份已被正确地认证之后,基于云的身份服务可以向资源访问应用522发送指示认证尝试成功的消息,并且资源访问应用522然后可以向客户端接口服务514通知成功认证。一旦身份服务516从客户端接口服务514接收到用户的身份已被正确认证的确认,则客户端接口服务514可以向资源馈送服务518发送对用户524的预订资源列表的请求。
资源馈送服务518可以从单点登录服务520请求针对配置资源的身份令牌。资源馈送服务518然后可以将其接收的馈送特定的身份令牌传递至针对相应资源馈送504的认证点。资源馈送504然后可以利用针对相应身份配置的资源列表进行响应。然后,资源馈送服务518可以聚合来自不同馈送的所有项并且将它们转发至客户端接口服务514,这可以使资源访问应用522在客户端202的用户接口上呈现可用资源的列表。可用资源的列表可以例如作为一组可选择的图标或与可访问资源对应的其他元素呈现在客户端202的用户接口上。如此识别的资源可以例如包括一个或更多个虚拟应用和/或桌面(例如,Citrix虚拟应用和DesktopsTM、VMware Horizon、Microsoft RDS等)、一个或更多个文件存储库和/或文件共享系统(例如,)、一个或更多个安全浏览器、一个或更多个启用互联网的设备或传感器、安装在客户端202上的一个或更多个本地应用以及/或者用户524已预订的一个或更多个SaaS应用508。可以例如由资源馈送504提供本地应用和SaaS应用508的列表以用于管理要使得哪些这样的应用经由资源访问应用522对用户524可用的相应服务。可以如本文所描述被管理和访问的SaaS应用508的示例包括Microsoft Office 365应用、SAP SaaS应用、工作日应用等。
对于除本地应用和SaaS应用508之外的资源,在用户524选择所列出的可用资源之一时,资源访问应用522可以使客户端接口服务514将对指定资源的请求转发至资源馈送服务518。响应于接收到这样的请求,资源馈送服务518可以从单点登录服务520请求针对相应馈送的身份令牌。资源馈送服务518然后可以将从单点登录服务520接收的身份令牌传递至客户端接口服务514,在客户端接口服务514处可以生成针对资源的启动标签(ticket)并将其发送至资源访问应用522。在接收到启动标签时,资源访问应用522可以发起到网关服务506的安全会话并呈现启动标签。当向网关服务506呈现启动标签时,网关服务506可以发起到适当资源馈送的安全会话,并且将身份令牌呈现给该馈送以无缝地认证用户524。一旦会话初始化,客户端202可以继续访问所选择的资源。
当用户524选择本地应用时,资源访问应用522可以使所选择的本地应用在客户端202上启动。当用户524选择SaaS应用508时,资源访问应用522可以使客户端接口服务514从网关服务506以及优选浏览器请求一次性统一资源定位符(URL)以用于访问SaaS应用508。在网关服务506返回一次性URL并识别出优选浏览器之后,客户端接口服务514可以将该信息继续传递至资源访问应用522。然后,客户端202可以启动所识别的浏览器并发起到网关服务506的连接。然后,网关服务506可以从单点登录服务520请求断言。在接收到断言时,网关服务506可以使客户端202上的所识别的浏览器被重定向至针对所识别的SaaS应用508的登录页面并且呈现该断言。然后,SaaS可以联系网关服务506以验证该断言并认证用户524。一旦用户已经被认证,则可以直接在所识别的浏览器与所选择的SaaS应用508之间发生通信,从而使得用户524能够使用客户端202访问所选择的SaaS应用508。
在一些实施方式中,由网关服务506识别的优选浏览器可以是嵌入资源访问应用522中的专用浏览器(当资源访问应用522安装在客户端202上时)或由资源馈送504之一例如经由安全浏览器服务来提供的专用浏览器(当资源访问应用522被远程定位时)。在这样的实施方式中,SaaS应用508可以结合增强的安全策略以强制对嵌入式浏览器的一个或更多个限制。这样的策略的示例包括:(1)要求使用专用浏览器并且禁止使用其他本地浏览器;(2)例如通过禁用应用与剪贴板之间的剪切/复制/粘贴操来限制剪贴板访问;(3)例如通过禁用从浏览器内打印的功能来限制打印;(3)例如通过禁用下一个和/或后退浏览器按钮来限制导航;(4)例如通过禁用从SaaS应用内下载的功能来限制下载;以及(5)通过在用户试图打印或进行屏幕截图的情况下叠加示出与客户端202相关联的用户名和IP地址的基于屏幕的水印使得水印将呈现为显示在屏幕上来显示水印。此外,在一些实施方式中,当用户选择SaaS应用内的超链接时,专用浏览器可以将该链接的URL发送至访问控制服务(例如,实现为资源馈送504之一)以通过web过滤服务来评估其安全风险。对于经批准的URL,可以准许专用浏览器访问该链接。然而,对于可疑链接,web过滤服务可以使客户端接口服务514将链接发送至安全浏览器服务,该安全浏览器服务可以与客户端202开始新的虚拟浏览器会话,并且因此使得用户能够在安全环境下访问可能有害的链接的内容。
在一些实施方式中,除了向用户524提供可用于单独访问的资源列表之外或代替向用户524提供可用于单独访问的资源列表,如上所述,可以代替地准许用户524选择访问关于一个或更多个资源自动检测到的事件通知和/或关于事件可以采取的可用动作的流线化馈送。可以为单个用户定制的这种流线化资源活动馈送可以使得用户能够监视涉及其所有资源——SaaS应用、web应用、Windows应用、Linux应用、桌面、文件存储库和/或文件共享系统以及通过单个接口的其他数据——的重要活动,而无需将上下文从一个资源切换至另一个资源。此外,资源活动馈送中的事件通知可以伴随有一组离散的用户接口元素,例如“批准”、“拒绝”和“查看更多细节”按钮,从而使得用户能够恰在用户的馈送内采取关于事件的一个或更多个简单动作。在一些实施方式中,这样的流线化智能资源活动馈送可以通过一个或更多个微型应用或“微应用”来启用,所述微型应用或“微应用”可以使用API等与底层相关联的资源接口。响应动作可以是在微应用内采取的和通过API或其他接口向底层应用提供输入的用户发起的活动。用户在微应用内执行的动作可以例如被设计成快速且轻松地解决特定的常见问题和用例,以增加用户生产力(例如,请求个人休假、提交服务台标签等)。在一些实施方式中,来自这样的事件驱动的微应用的通知可以另外地或替选地被推送至客户端202,以向用户524通知需要用户注意的事情(例如,费用报告的批准、可用于注册的新课程等)。
图5C是类似于图5B所示的框图,但是在图5C中,通过标记为“记录系统”的单个框526表示可用资源(例如,SaaS应用、web应用、Windows应用、Linux应用、桌面、文件存储库和/或文件共享系统以及其他数据),并且还在图5C中,在资源管理服务块502内包括若干不同的服务。如下所述,图5C所示的服务可以使得能够为客户端202提供流线化资源活动馈送和/或通知处理。在所示的示例中,除了上面讨论的客户端接口服务514之外,所示的服务包括微应用服务528、数据集成提供器服务530、凭证钱包服务532、活动数据缓存服务534、分析服务536和通知服务538。在各种实施方式中,除了图5B所示的不同服务之外或者代替图5B中所示的不同服务,可以采用图5C所示的服务。此外,如以上结合图5B所述,应当理解,在其他实现方式中,图5C所示的资源管理服务502的部件中的一个或更多个(或全部)可以替选地位于云计算环境512外部,例如在由组织托管的数据中心内。
在一些实施方式中,微应用可以是使用户可以流线化来自复杂企业应用的功能的单个用例。微应用可以例如利用SaaS、web或自行开发的应用中可用的API,以使得用户能够在不需要完全启动应用或不需要切换上下文的情况下查看内容。如果没有这样的微应用,用户将需要启动应用,导航到他们需要执行的动作,并且然后执行该动作。微应用可以流线化针对频繁执行的动作的例程任务,并且向用户提供在不必启动本机应用的情况下执行资源访问应用522内的动作的功能。图5C所示的系统可以例如聚合相关的通知、任务和洞察,并且从而为用户524提供动态生产力工具。在一些实施方式中,可以通过利用机器学习和人工智能(AI)算法来智能地填充资源活动馈送。此外,在一些实现方式中,微应用可以被配置在云计算环境512内,从而在无需额外的基础设施的情况下为管理员提供用于创建更高生产力工作流的强大工具。无论是推送至用户还是由用户发起,微应用都可以提供简化且流线化关键任务的快捷方式,否则这些关键任务将需要打开完整的企业应用。在一些实施方式中,开箱即用(out-of-the-box)的模板可以使得具有API帐户权限的管理员能够针对其需求构建微应用解决方案。在一些实施方式中,还可以向管理员提供他们构建定制微应用所需的工具。
参照图5C,记录系统526可以表示资源管理服务502可以与之交互以创建微应用的应用和/或其他资源。这些资源可以是SaaS应用、遗留应用或本地应用,并且可以托管在本地或云计算环境内。可以提供用于若干应用的具有开箱即用模板的连接器,并且与其他应用的集成可以另外地或替代地通过微应用页面构建器来配置。这样的微应用页面构建器可以例如通过经由微应用动作创建流线化的用户工作流来连接至遗留系统、本地系统和SaaS系统。资源管理服务502,并且特别是数据集成提供器服务530可以例如支持REST API、JSON、OData-JSON和6ML。如下面更详细说明的,数据集成提供器服务530还可以例如使用OAuth2或服务帐户写回至记录系统。
在一些实施方式中,微应用服务528可以是负责创建微应用的单租户服务。微应用服务528可以将从记录系统526提取的原始事件发送至分析服务536以进行处理。微应用服务可以例如定期地使活动数据从记录系统526中提取出。
在一些实施方式中,活动数据缓存服务534可以是单租户,并且可以存储所有配置信息和微应用数据。例如,活动数据缓存服务534可以利用每租户数据库加密密钥和每租户数据库凭证。
在一些实施方式中,凭证钱包服务532可以存储用于记录系统526和用户OAuth2令牌的加密服务凭证。
在一些实施方式中,数据集成提供器服务530可以与记录系统526交互以解密终端用户凭证并且以终端用户的身份将动作写回至记录系统526。写回动作可以例如利用用户的实际帐户来确保所执行的所有动作都符合正在与之交互的应用或其他资源的数据策略。
在一些实施方式中,分析服务536可以对从微应用服务528接收的原始事件进行处理以创建目标评分通知并且将这样的通知发送至通知服务538。
最后,在一些实施方式中,通知服务538可以对其从分析服务536接收到的任何通知进行处理。在一些实施方式中,通知服务538可以将通知存储在数据库中以便稍后在活动馈送中提供服务。在其他实施方式中,通知服务538可以另外地或替选地将通知立即发出至客户端202作为向用户524的推送通知。
在一些实施方式中,用于与记录系统526同步并生成通知的处理可以如下操作。微应用服务528可以从凭证钱包服务532检索记录系统526的加密服务帐户凭证,并且请求与数据集成提供器服务530同步。数据集成提供器服务530然后可以解密服务帐户凭证,并且使用那些凭证从记录系统526中检索数据。数据集成提供器服务530然后可以将检索到的数据流式传输至微应用服务528。微应用服务528可以将接收到的记录系统数据存储在活动数据缓存服务534中,并且还将原始事件发送至分析服务536。分析服务536可以创建目标评分通知并且将这样的通知发送至通知服务538。通知服务538可以将通知存储在数据库中以便稍后在活动馈送中提供服务以及/或者可以将通知立即发出至客户端202作为向用户524的推送通知。
在一些实施方式中,用于经由微应用对用户发起的动作进行处理的处理可以如下操作。客户端202可以从微应用服务528(经由客户端接口服务514)接收数据以呈现与微应用对应的信息。微应用服务528可以从活动数据缓存服务534接收数据以支持该呈现。用户524可以从微应用调用动作,使资源访问应用522向微应用服务528发送动作请求(经由客户端接口服务514)。然后,微应用服务528可以从凭证钱包服务532中检索要针对其调用动作的记录系统的加密的Oauth2令牌,并且可以将该动作与加密的OAuth2令牌一起发送至数据集成提供器服务530。数据集成提供器服务530然后可以解密OAuth2令牌并且以用户524的身份将动作写入适当的记录系统。数据集成提供器服务530然后可以从写入的记录系统中读回改变的数据,并且将改变的数据发送至微应用服务528。然后,微应用服务528可以利用更新的数据对活动数据缓存服务534进行更新,并且使消息发送至资源访问应用522(经由客户端接口服务514),以通知用户524该动作已成功完成。
在一些实施方式中,除了上面描述的功能之外或代替上面描述的功能,资源管理服务502可以向用户提供跨所有文件和应用搜索相关信息的功能。例如,简单的关键字搜索可以用于查找应用资源、SaaS应用、桌面、文件等。这种功能可以提高用户生产力和效率,因为应用和数据蔓延(sprawl)跨所有组织普遍存在。
在其他实施方式中,除了上面描述的功能之外或代替上面描述的功能,资源管理服务502可以实现虚拟辅助功能,该虚拟辅助功能使得用户能够保持生产力并采取快速动作。例如,用户可以与“虚拟助手”交互并询问诸如“鲍勃史密斯的电话号码是什么?”或“还有什么缺席待我批准?”的问题。资源管理服务502可以例如对这些请求进行解析和响应,因为它们与后端上的多个系统集成在一起。在一些实施方式中,用户可能能够通过资源访问应用522或者直接从另一资源例如Microsoft团队与虚拟助手进行交互。这种功能可以使得员工能够高效地工作、保持有秩序,并且仅传送他们正在寻找的特定信息。
图5D示出了当采用智能活动馈送特征并且用户登录至系统时,由资源访问应用522(在图5C中示出)呈现的显示屏幕540可以如何出现。例如,当用户点击或以其他方式选择“主页”用户接口元素542时,可以提供这样的屏幕。如所示的,可以在屏幕540上呈现活动馈送544,该活动馈送544包括关于用户对其具有访问权限的各种应用内发生的相应事件的多个通知546。上面结合图5C描述了能够提供如所示的活动馈送544的系统的示例实现方式。如以上所说明的,用户的认证凭证可以用于获得对用户具有帐户的各种记录系统(例如,SalesForce、Ariba、Concur、RightSignature等)的访问,并且可以评估在这样的记录系统内发生的事件以向用户生成关于用户可以采取的与这样的事件相关的动作的通知546。如图5D所示,在一些实现方式中,通知546可以包括标题560和主体562,并且还可以包括通知546所对应的记录系统的标志564和/或名称566,从而帮助用户理解其中决定如何最好地响应于通知546的适当上下文。在一些实现方式中,一个或更多个过滤器可以用于控制呈现在活动馈送544中的通知546的类型、日期范围等。可以例如通过点击或以其他方式选择“示出过滤器”用户接口元素568来揭示可以用于该目的的过滤器。此外,在一些实施方式中,可以另外地或替选地采用用户接口元素570来选择通知546在活动馈送内排序的方式。在一些实现方式中,例如,通知546可以根据它们被创建的“日期和时间”(如图5D中的元素570所示)进行排序以及/或者可以选择“应用”模式(未示出)(例如,使用元素570),在“应用”模式中可以按应用类型对通知546进行排序。
当呈现有这样的活动馈送544时,用户可以通过点击或以其他方式选择相应的动作元素548(例如,“批准”、“拒绝”、“打开”、“喜欢”、“提交”等)或者另外通过取消通知例如通过点击或以其他方式选择“关闭”元素550来响应通知546。如下面结合图5C所说明的,可以例如使用“微应用”而不是通过对这样的记录系统执行应用的完全启动来实现通知546和相应的动作元素548,该“微应用”可以使用应用编程接口(API)功能等从记录系统读取数据和/或向记录系统写入数据。在一些实现方式中,用户可以通过点击或以其他方式选择通知546的除用户接口元素548、550之一之外的部分来另外地或替选地查看与触发通知的事件有关的附加细节以及/或者用户可以访问由与通知546对应的微应用启用的附加功能(例如,在与微应用对应的单独的弹出窗口中)。在一些实施方式中,用户可以另外地或替选地能够选择通知546内或者与微应用对应的单独窗口内的用户接口元素,该用户接口元素使得用户能够启动与通知相关的本机应用并且经由该本机应用而不是经由微应用来响应提示通知的事件。除了可经由通知546中的动作元素548访问的事件驱动动作之外,用户可以替选地通过以下操作来发起微应用动作552:通过例如经由可使用“动作”用户接口元素访问的下拉菜单选择期望的动作或者通过从最近使用的和/或常用的微应用动作的列表554中选择期望的动作。如所示的,用户还可以通过以下操作来访问文件:通过例如经由可使用“文件”用户接口元素556访问的下拉菜单选择期望的文件或者通过从最近使用的和/或常用的文件的列表558中选择期望的文件。
尽管在图5D中未示出,但是应当理解,在一些实现方式中,还可以通过点击或以其他方式选择可以呈现在屏幕上的一个或更多个其他用户接口元素来通过屏幕540访问附加资源。例如,在一些实施方式中,一个或更多个虚拟化应用可以通过点击或以其他方式选择“应用”用户接口元素(未示出)以揭示可访问应用的列表(例如,经由Citrix虚拟应用和DesktopsTM服务)而可访问,以及/或者一个或更多个虚拟化桌面可以通过点击或以其他方式选择“桌面”用户接口元素(未示出)以揭示可访问桌面的列表(例如,经由Citrix虚拟应用和DesktopsTM服务)而可访问。
图5D所示的活动馈送提供了显著的优势,因为其使得用户能够对由不同的记录系统生成的应用特定事件作出响应,而无需导航到多个不同的本机应用、启动多个不同的本机应用以及与多个不同的本机应用接口。
F.用于基于发送至应用用户的消息来触发事件通知的系统和方法的示例实施方
式的详细描述
上面的部分A介绍了活动馈送管理系统102的示例实现方式,该活动馈送管理系统102可以接收和处理应用108例如SaaS应用发送至应用108的用户110的帐户例如电子邮件帐户的消息106例如电子邮件消息。这样的活动馈送管理系统102可以例如对应于以上结合图5C和图5D描述的资源管理服务502,以及/或者与以上结合图5C和图5D描述的资源管理服务502结合操作。在一些实现方式中,图1A和图1B中所示的消息服务器104可以是实现活动馈送管理系统102的同一组织的电子邮件服务器,例如Microsoft交换服务器。如部分A所述,在一些实现方式中,消息服务器104可以包括插件,例如用于Microsoft交换的传输代理,该插件被配置成识别来自应用108的消息106,并且将那些消息106的副本转发至活动馈送管理系统102以进行处理。此外,同样如部分A所述,在一些实现方式中,活动馈送管理系统102可以包括分析引擎,该分析引擎对活动馈送管理系统102从消息服务器104接收的复制的消息106进行分析,以确定它们是否与针对其应该生成通知546的应用的事件相关。
图6是示出在一些实现方式中,插件602(例如,安装在消息服务器104上)和分析引擎604(例如,包括在活动馈送管理系统102内)可以如何对命中消息服务器104例如电子邮件服务器的传入消息614例如电子邮件执行两级分析的框图。特别地,如所指示的,插件602可以执行第一级分析,在该第一级分析期间,传入消息614的子集被分析引擎604选择用于进一步的第二级分析。此外,如图6所示,规则引擎606可以如由系统管理员608所指定的那样向插件602和分析引擎604提供规则。特别地,如所指示的,规则引擎606可以向插件602提供过滤规则610,并且还可以向分析引擎604提供分析规则612。
在一些实现方式中,过滤规则610可以通过例如选择“源自”与应用108相关联的地址的任何消息来提供对由消息服务器104处理的传入消息614的粗略级别过滤。如所指示的,由插件602选择用于进一步处理的消息可以对应于如图1A和图1B所示的消息服务器104发送至活动馈送管理系统102的复制的消息106。在一些实现方式中,分析规则612可以提供对复制的消息106的更详细的分析和过滤,以确认那些消息106与应用的值得通知的事件相关。例如,在一些实现方式中,分析规则612可以使分析引擎604针对一个或更多个单词或短语检查消息的标题和/或主体内的文本,所述一个或更多个单词或短语指示应用用户110应该通过通知114、546的方式被通知的事件。
在一些实现方式中,系统管理员608可以手动或使用自动化处理来评估应用用户110从各种应用接收的消息106以识别格式相似和/或具有相似内容(例如,类似的单词或短语)的消息106的集合,并且可以进一步评估这样的消息集合以识别与应用的重大事件相关的消息集合。基于该分析,系统管理员608可以修改过滤规则610和/或分析规则612,使得具有共同格式和/或内容的消息106一致地生成同步触发器616。
尽管图6所示的示例实现方式包括两个单独的分析级别,即一个由插件602进行,而另一个由分析引擎604进行,但是应当理解,在其他实现方式中,由分析引擎604执行的更详细的分析可以代替地由插件602执行。然而,单独执行两个分析级别可能是有利的,特别是当可能存在使插件602的规则处理能力负担过重或耗尽的风险时。也就是说,一些插件602可能对它们可以实现的规则的数目和/或类型有限制。因此,在多个阶段中执行上述分析可以使得插件602能够仅执行其被设计为进行的更简单的过滤任务,并且将更广泛和/或更复杂的分析留给分析引擎604,分析引擎604可能不具有与插件602相同的限制。
在一些实现方式中,分析引擎604可以被包括在图5C所示的分析服务536和/或微应用服务528内或与之结合操作。在任何情况下,无论分析引擎604恰好位于何处,响应于分析引擎604确定消息106与用户110、524的值得通知事件相关,在一些实现方式中,分析引擎604可以使微应用服务528实现用于针对应用用户110生成通知114、546的处理。例如,如图6所示,在一些实现方式中,分析引擎604可以生成使在活动馈送管理系统102与应用108之间发生数据同步的“同步触发器”616。在这样的实现方式中,由于这样的数据同步而从应用108接收到的数据然后可以用于生成通知114、546。
图7是示出在其中使用图5B和图5C所示的资源管理服务502实现活动馈送管理系统102的实施方式中可以由图1A、图1B、图5C和图6所示的各种部件执行的示例步骤的流程图。在步骤的左侧指示可以执行图7所示的相应步骤的特定部件。在所示的示例中,假设图1A和图1B所示的应用108对应于图5B所示的SaaS应用508之一。因此,还可以假设应用108(即,SaaS应用508)对应于图5C所示的记录系统526之一。
如图7所示,在步骤702处,客户端设备112、202可以接收与对SaaS应用108、508、526的请求对应的用户输入。在步骤704处,客户端设备112、202可以将请求发送至SaaS应用108、508、526以进行处理。如以上在部分A中所指示的,应当理解,尽管在图1A和图1B中未示出,但是客户端设备112可以通过网络连接例如经由互联网连接直接与应用108(例如,SaaS应用)通信,以使得用户110能够直接与应用108交互。客户端设备112、202在步骤704处发送的请求对应于由客户端设备112、202对应用108的这种通常使用,并且不涉及图1A和图1B所示的第一计算系统100。
在步骤706处,SaaS应用108、508、526可以对从客户端设备112、202接收到的请求进行处理。这样的处理可以导致与SaaS应用108、508、526的一个或更多个帐户对应的数据改变。受影响的帐户可以与在步骤702处提交请求的用户110、524相关联,以及/或者可以与一个或更多个其他用户110、524相关联。尽管在所示的示例中,在步骤706处实现的数据改变是由从客户端设备112、202接收到的请求造成的,但是应当理解,在其他情况下,这样的数据改变可能是由SaaS应用108、508、526内的其他活动和/或由从其他源接收到的输入引起的。
在步骤708处,SaaS应用108、508、526可以生成至少一个消息106(例如,电子邮件消息),以通知用户110、524针对该用户的帐户发生的事件。例如,SaaS应用108、508、526可以确定作为在步骤706处或其他地方实现的数据改变的结果,要从特定用户110、524寻求输入。在步骤710处,SaaS应用108、508、526可以将所生成的消息106发送至受影响的SaaS帐户的托管人(custodian)的地址,例如用户110的电子邮件地址。如上所述,在一些实现方式中,图1A和图1B所示的消息服务器104可以是实现活动馈送管理系统102的同一组织的电子邮件服务器,例如Microsoft交换服务器。因此,在这样的实现方式中,假设用户110、524使用他们的组织电子邮件地址向SaaS应用108、508、526注册,则从SaaS应用108、508、526发送至这样的用户的电子邮件将到达消息服务器104以进行处理。
在步骤712处,SaaS应用108、508、526发送至受影响帐户的托管人的消息106可以到达消息服务器104。在步骤714处,插件602例如电子邮件插件可以对到消息服务器104的传入消息614执行第一级分析,如以上结合图6所描述的,以确定那些消息中的任何消息是否由SaaS应用108、508、526发送。可以确定大多数传入消息106不是由SaaS应用108、508、526发送的,并且消息服务器104可以以普通方式对这些消息进行处理,例如将它们传送至其预期的接收者。
在步骤716处,插件602可以确定传入消息614之一是由SaaS应用108、508、526发送的。在步骤718处,插件602可以将该消息106的副本发送至分析引擎604(参见图6)。消息服务器104可以另外地处理以普通方式复制的消息106,例如将它们传送至其预期的接收者。替选地,在一些实现方式中,被确定为已经从SaaS应用108、508、526发送的消息106可以被拦截而不是被传送至它们被寻址到的帐户。例如,在一些实现方式中,应用108、508、526可以仅出于生成同步触发器616的目的而发送某些消息106,例如来自特定域的电子邮件消息。在这种情况下,消息服务器104可以确定不将那些消息传送至用户帐户。
在步骤720处,分析引擎604可以对其从插件602接收到的消息106执行第二级分析,如以上结合图6所描述的,以确定消息106是否与值得通知的事件相关,如上所述。在步骤722处,分析引擎604可以基于第二级分析来确定消息106与消息106所针对的用户110、524的值得通知的事件相关。例如,如上所述,在一些实现方式中,分析引擎604可以针对从规则引擎606接收的分析规则612来评估消息106,以确定消息的标题和/或主体内的文本是否包括如下一个或更多个单词或短语,所述一个或更多个单词或短语指示应用用户110、524应该通过通知114、546的方式被通知的事件。在步骤724处,分析引擎604(在图6中示出)可以将同步触发器616发送至微应用服务528(在图5C中示出)。
在步骤726处,微应用服务528可以(例如,从图5C所示的凭证钱包服务532中)检索消息106所针对的用户110、524的SaaS帐户的加密访问凭证,如以上结合图5C所描述的。在步骤728处,微应用服务528可以指示数据集成提供器服务530(在图5C中示出)执行与该用户的SaaS应用帐户的数据同步,如以上结合图5C所描述的。
在步骤730处,数据集成提供器服务530可以解密应用用户的帐户凭证,并且使用那些凭证来例如经由API请求从SaaS应用108、508、526中检索数据,如以上结合图5C所描述的。在步骤732处,数据集成提供器服务530可以将检索到的数据发送至微应用服务528,如以上结合图5C所描述的。
在步骤734处,微应用服务528可以将从数据集成提供器服务530接收的数据发送至分析服务536(在图5C中示出)以进行处理,如以上结合图5C所描述的。
在步骤736处,分析服务536可以针对消息106所针对的用户110、524生成通知114、546,如以上结合图5C所描述的。如所指示的,在一些实现方式中,通知114、546可以被配置成呈现一个或更多个用户接口元素548、550(图5D中示出),用户110、524可以选择一个或更多个用户接口元素548、550以使得关于SaaS应用108、508、526采取响应动作,如以上结合图5D所讨论的。在步骤738处,分析服务536可以将所生成的通知发送至通知服务538(在图5C中示出),如以上结合图5C所描述的。
在步骤740处,通知服务538可以将所生成的通知114、546作为活动馈送544的元素或者作为单独的推送通知发送至由消息106所针对的用户110、524操作的客户端设备112、202,如以上结合图5C所描述的。通知114、546然后可以经由客户端设备112、202的显示屏呈现,例如在图5D所示的活动馈送544中。
G.根据本公开内容的方法、系统和计算机可读介质的示例实现方式
以下段落(M1)至(M16)描述了可以根据本公开内容实现的方法的示例。
(M1)可以执行一种方法,该方法可以涉及:由第一计算系统从托管在第二计算系统上的应用接收消息,该消息指示应用的事件;由第一计算系统并且响应于接收到该消息来生成指示该事件的通知;由第一计算系统将该通知发送至客户端设备;由第一计算系统并且从客户端设备接收对该通知的响应;以及由第一计算系统对接收到的对该通知的响应进行处理,以使应用采取响应于该事件的动作。
(M2)可以执行如段落(M1)所描述的方法,其中,该消息可以包括电子邮件消息。
(M3)可以执行如段落(M1)或(M2)所描述的方法,并且该方法还可以涉及:由第一计算系统对电子邮件消息进行分析以确定该电子邮件消息指示该事件;并且其中,生成该通知可以是至少部分地基于第一计算系统确定电子邮件消息指示该事件。
(M4)可以执行如段落(M3)所描述的方法,其中,对电子邮件消息进行分析还可以包括:由电子邮件服务器确定该电子邮件消息是由该应用发送的。
(M5)可以执行如段落(M1)至(M4)中任一段所描述的方法,并且该方法还可以涉及:对该通知进行配置以呈现至少一个用户接口元素,至少一个用户接口元素能够选择以使该响应被发送至第一计算系统。
(M6)可以执行如段落(M1)至(M5)中任一段所描述的方法,并且该方法还可以涉及:由第一计算系统并且向第二计算系统发送使应用采取动作的指令。
(M7)可以执行如段落(M1)至(M6)中任一段所描述的方法,并且该方法还可以涉及:由第一计算系统并且至少部分地基于该消息来确定该事件与应用的用户相关;由第一计算系统确定客户端设备正在由用户操作;以及由第一计算系统确定至少部分地基于该事件与用户相关以及客户端设备正在由用户操作来将通知发送至客户端设备。
(M8)可以执行如段落(M1)至(M7)中任一段所描述的方法,并且该方法还可以涉及:由第一计算系统向应用发送对与该事件相关的数据的请求;由第一计算系统从应用接收与该事件相关的数据;以及由第一计算系统确定至少部分地基于接收到的数据来生成通知。
(M9)可以执行如段落(M1)至(M8)中任一段所描述的方法,其中,该应用可以包括软件即服务应用。
(M10)可以执行一种方法,该方法可以涉及:由第一计算系统从托管在第二计算系统上的应用接收消息,该消息指示该应用的事件;响应于接收到该消息,由第一计算系统向该应用发送对与该事件相关的数据的请求;由第一计算系统从该应用接收与该事件相关的数据;由第一计算系统并且至少部分地基于接收到的数据生成指示该事件的通知;以及由第一计算系统将该通知发送至客户端设备。
(M11)可以执行如段落(M10)所描述的方法,其中,该消息可以包括电子邮件消息。
(M12)可以执行如段落(M10)或(M11)所描述的方法,并且该方法还可以涉及:由第一计算系统对该电子邮件消息进行分析以确定该电子邮件消息指示该事件;并且其中,将该请求发送至该应用可以是至少部分地基于第一计算系统确定该电子邮件消息指示该事件。
(M13)可以执行如段落(M12)所描述的方法,其中,对电子邮件消息进行分析还可以包括:由电子邮件服务器确定该电子邮件消息是由该应用发送的。
(M14)可以执行如段落(M10)至(M13)中任一段所描述的方法,并且该方法还可以涉及:对该通知进行配置以呈现至少一个用户接口元素,所述至少一个用户接口元素能够选择以使采取响应于该事件的动作的指令、响应从客户端设备发送至第一计算系统。
(M15)可以执行如段落(M10)至(M14)中任一段所描述的方法,并且该方法还可以涉及:由第一计算系统并且至少部分地基于该消息来确定该事件与该应用的用户相关;由第一计算系统确定客户端设备正在由该用户操作;以及由第一计算系统确定至少部分地基于该事件与该用户相关以及客户端设备正在由该用户操作来将通知发送至该客户端设备。
(M16)可以执行如段落(M10)至(M15)中任一段所描述的方法,其中,该应用可以包括软件即服务应用。
以下段落(S1)至(S16)描述了可以根据本公开内容实现的系统和设备的示例。
(S1)一种第一计算系统可以包括至少一个处理器和被编码有指令的至少一个计算机可读介质,所述指令在由至少一个处理器执行时可以使第一计算系统执行以下操作:从托管在第二计算系统上的应用接收消息,该消息指示该应用的事件;响应于接收到该消息来生成指示该事件的通知;将该通知发送至客户端设备;从客户端设备接收对该通知的响应;以及对接收到的对通知的响应进行处理,以使该应用采取响应于该事件的动作。
(S2)可以配置如段落(S1)所描述的第一计算系统,其中,该消息可以包括电子邮件消息。
(S3)可以配置如段落(S1)或(S2)所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:对电子邮件消息进行分析以确定该电子邮件消息指示该事件;并且至少部分地基于第一计算系统确定电子邮件消息指示该事件来生成通知。
(S4)可以配置如段落(S3)所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统至少部分地通过由电子邮件服务器确定该电子邮件消息是由应用发送的来对电子邮件消息进行分析。
(S5)可以配置如段落(S1)至(S4)中任一段所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统对该通知进行配置以呈现至少一个用户接口元素,所述至少一个用户接口元素能够选择以使响应被发送至第一计算系统。
(S6)可以配置如段落(S1)至(S5)中任一段所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统向第二计算系统发送使应用采取动作的指令。
(S7)可以配置如段落(S1)至(S6)中任一段所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:至少部分地基于该消息来确定该事件与该应用的用户相关;确定客户端设备正在由该用户操作;以及确定至少部分地基于该事件与该用户相关以及该客户端设备正在由该用户操作来将该通知发送至客户端设备。
(S8)可以配置如段落(S1)至(S7)中任一段所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:向该应用发送对与该事件相关的数据的请求;从该应用接收与该事件相关的数据;以及确定至少部分地基于接收到的数据来生成该通知。
(S9)可以配置如段落(S1)至(S8)中任一段所描述的第一计算系统,其中,该应用可以包括软件即服务应用。
(S10)一种第一计算系统可以包括至少一个处理器和被编码有指令的至少一个计算机可读介质,所述指令在由至少一个处理器执行时可以使第一计算系统执行以下操作:从托管在第二计算系统上的应用接收消息,该消息指示该应用的事件;响应于接收到该消息,向该应用发送对与该事件相关的数据的请求;从该应用接收与该事件相关的数据;至少部分地基于接收到的数据生成指示该事件的通知;以及将该通知发送至客户端设备。
(S11)可以配置如段落(S10)所描述的第一计算系统,其中,该消息可以包括电子邮件消息。
(S12)可以配置如段落(S10)或(S11)所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:对该电子邮件消息进行分析以确定该电子邮件消息指示该事件;并且将该请求发送至该应用是至少部分地基于第一计算系统确定该电子邮件消息指示该事件。
(S13)可以配置如段落(S12)所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统至少部分地通过由电子邮件服务器确定该电子邮件消息是由该应用发送的来对该电子邮件消息进行分析。
(S14)可以配置如段落(S10)至(S13)中任一段所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统对该通知进行配置以呈现至少一个用户接口元素,所述至少一个用户接口元素能够选择以使采取响应于该事件的动作的指令、响应从客户端设备发送至第一计算系统。
(S15)可以配置如段落(S10)至(S14)中任一段所描述的第一计算系统,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:至少部分地基于该消息来确定该事件与该应用的用户相关;确定客户端设备正在由该用户操作;以及确定至少部分地基于该事件与该用户相关以及客户端设备正在由该用户操作来将通知发送至该客户端设备。
(S16)可以配置如段落(S10)至(S15)中任一段所描述的第一计算系统,其中,该应用可以包括软件即服务应用。
以下段落(CRM1)至(CRM16)描述了可以根据本公开内容实现的计算机可读介质的示例。
(CRM1)至少一个计算机可读介质可以被编码有指令,所述指令在由包括在第一计算系统中的至少一个处理器执行时可以使第一计算系统执行以下操作:从托管在第二计算系统上的应用接收消息,该消息指示该应用的事件;响应于接收到该消息来生成指示该事件的通知;将该通知发送至客户端设备;从客户端设备接收对该通知的响应;以及对接收到的对该通知的响应进行处理,以使该应用采取响应于该事件的动作。
(CRM2)可以配置如段落(CRM1)中所描述的至少一个计算机可读介质,其中,该消息可以包括电子邮件消息。
(CRM3)可以配置如段落(CRM1)或(CRM2)所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:对该电子邮件消息进行分析以确定该电子邮件消息指示该事件;并且生成该通知是至少部分地基于第一计算系统确定该电子邮件消息指示该事件。
(CRM4)可以配置如段落(CRM3)所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统至少部分地通过由电子邮件服务器确定该电子邮件消息是由该应用发送的来对该电子邮件消息进行分析。
(CRM5)可以配置如段落(CRM1)至(CRM4)中任一段所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统对该通知进行配置以呈现至少一个用户接口元素,至少一个用户接口元素能够选择以使该响应被发送至第一计算系统。
(CRM6)可以配置如段落(CRM1)至(CRM5)中任一段所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统向第二计算系统发送使应用采取动作的指令。
(CRM7)可以配置如段落(CRM1)至(CRM6)中任一段所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:至少部分地基于该消息来确定该事件与该应用的用户相关;确定客户端设备正在由该用户操作;以及确定至少部分地基于该事件与该用户相关以及该客户端设备正在由该用户操作来将该通知发送至客户端设备。
(CRM8)可以配置如段落(CRM1)至(CRM7)中任一段所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:向该应用发送对与该事件相关的数据的请求;从该应用接收与该事件相关的数据;以及确定至少部分地基于接收到的数据来生成该通知。
(CRM9)可以配置如段落(CRM1)至(CRM8)中任一段所描述的至少一个计算机可读介质,其中,该应用可以包括软件即服务应用。
(CRM10)至少一个计算机可读介质可以被编码有指令,所述指令在由包括在第一计算系统中的至少一个处理器执行时可以使第一计算系统执行以下操作:从托管在第二计算系统上的应用接收消息,该消息指示该应用的事件;响应于接收到该消息,向该应用发送对与该事件相关的数据的请求;从该应用接收与该事件相关的数据;至少部分地基于接收到的数据生成指示该事件的通知;以及将该通知发送至客户端设备。
(CRM11)可以配置如段落(CRM10)所描述的至少一个计算机可读介质,其中,该消息可以包括电子邮件消息。
(CRM12)可以配置如段落(CRM10)或(CRM11)所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:对该电子邮件消息进行分析以确定该电子邮件消息指示该事件;并且将该请求发送至该应用是至少部分地基于第一计算系统确定该电子邮件消息指示该事件。
(CRM13)可以配置如段落(CRM12)所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统至少部分地通过由电子邮件服务器确定该电子邮件消息是由该应用发送的来对该电子邮件消息进行分析。
(CRM14)可以配置如段落(CRM10)至(CRM13)中任一段所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统对该通知进行配置以呈现至少一个用户接口元素,所述至少一个用户接口元素可选择以使采取响应于该事件的动作的指令、响应从客户端设备发送至第一计算系统。
(CRM15)可以配置如段落(CRM10)至(CRM14)中任一段所描述的至少一个计算机可读介质,并且至少一个计算机可读介质可以被编码有附加指令,所述附加指令在由至少一个处理器执行时还使第一计算系统执行以下操作:至少部分地基于该消息来确定该事件与该应用的用户相关;确定客户端设备正在由该用户操作;以及确定至少部分地基于该事件与该用户相关以及客户端设备正在由该用户操作来将该通知发送至该客户端设备。
(CRM16)可以配置如段落(CRM10)至(CRM15)中任一段所描述的至少一个计算机可读介质,其中,该应用可以包括软件即服务应用。
虽然已经如此描述了至少一个实施方式的若干方面,但是应当理解,本领域技术人员将容易想到各种改变、修改和改进。这样的改变、修改和改进旨在成为本公开内容的一部分,并且旨在落入本公开内容的精神和范围内。因此,前面的描述和附图仅作为示例。
本公开内容的各个方面可以单独使用、组合使用、或者在前面描述的实施方式中未具体讨论的各种布置中使用,并且因此在本申请中不限于在前面的描述中阐述或在附图中示出的部件的细节和布置。例如,一个实施方式中描述的方面可以与其他实施方式中描述的方面以任何方式组合。
此外,所公开的方面可以实施为其中已经提供了示例的方法。作为该方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构造以与所示出的顺序不同的顺序来执行动作的实施方式,即使在说明性实施方式中被示出为顺序动作,该实施方式也可以包括同时执行一些动作。
在权利要求书中使用诸如“第一”、“第二”、“第三”等的序数术语来修饰权利要求要素本身并不意味着一个权利要求要素相对于另一权利要求要素的任何优先级、优先顺序或次序或者执行方法的动作的时间顺序,而仅仅被用作用于区分具有某个名称的一个权利要求要素与具有同一名称的另一要素(除了序数术语的使用以外)的标记,以区分权利要求要素。
此外,本文中使用的措辞和术语是用于描述的目的并且不应被视为是限制性的。本文中“包括(including)”、“包括(comprising)”或“具有”、“包含”、“涉及”及其变型在本文中的使用旨在涵盖其后列出的项及其等同物以及附加项。
Claims (20)
1.一种方法,包括:
由第一计算系统从托管在第二计算系统上的应用接收消息,所述消息指示所述应用的事件;
由所述第一计算系统并且响应于接收到所述消息来生成指示所述事件的通知;
由所述第一计算系统将所述通知发送至客户端设备;
由所述第一计算系统并且从所述客户端设备接收对所述通知的响应;以及
由所述第一计算系统对接收到的对所述通知的响应进行处理,以使所述应用采取响应于所述事件的动作。
2.根据权利要求1所述的方法,其中,所述消息包括电子邮件消息。
3.根据权利要求2所述的方法,还包括:
由所述第一计算系统对所述电子邮件消息进行分析以确定所述电子邮件消息指示所述事件;并且
其中,生成所述通知是至少部分地基于所述第一计算系统确定所述电子邮件消息指示所述事件。
4.根据权利要求3所述的方法,其中:
对所述电子邮件消息进行分析还包括:由电子邮件服务器确定所述电子邮件消息是由所述应用发送的。
5.根据权利要求1所述的方法,还包括:
对所述通知进行配置以呈现至少一个用户接口元素,所述至少一个用户接口元素能够选择以使所述响应被发送至所述第一计算系统。
6.根据权利要求1所述的方法,还包括:
由所述第一计算系统并且向所述第二计算系统发送使所述应用采取所述动作的指令。
7.根据权利要求1所述的方法,还包括:
由所述第一计算系统并且至少部分地基于所述消息来确定所述事件与所述应用的用户相关;
由所述第一计算系统确定所述客户端设备正在由所述用户操作;以及
由所述第一计算系统确定至少部分地基于所述事件与所述用户相关以及所述客户端设备正在由所述用户操作来将所述通知发送至所述客户端设备。
8.根据权利要求1所述的方法,还包括:
由所述第一计算系统向所述应用发送对与所述事件相关的数据的请求;
由所述第一计算系统从所述应用接收与所述事件相关的数据;以及
由所述第一计算系统确定至少部分地基于接收到的数据来生成所述通知。
9.根据权利要求1所述的方法,其中,所述应用包括软件即服务应用。
10.一种方法,包括:
由第一计算系统从托管在第二计算系统上的应用接收消息,所述消息指示所述应用的事件;
响应于接收到所述消息,由所述第一计算系统向所述应用发送对与所述事件相关的数据的请求;
由所述第一计算系统从所述应用接收与所述事件相关的数据;
由所述第一计算系统并且至少部分地基于接收到的数据生成指示所述事件的通知;以及
由所述第一计算系统将所述通知发送至客户端设备。
11.根据权利要求10所述的方法,其中,所述消息包括电子邮件消息。
12.根据权利要求11所述的方法,还包括:
由所述第一计算系统对所述电子邮件消息进行分析以确定所述电子邮件消息指示所述事件;并且
其中,将所述请求发送至所述应用是至少部分地基于所述第一计算系统确定所述电子邮件消息指示所述事件。
13.根据权利要求12所述的方法,其中:
对所述电子邮件消息进行分析还包括:由电子邮件服务器确定所述电子邮件消息是由所述应用发送的。
14.根据权利要求10所述的方法,还包括:
对所述通知进行配置以呈现至少一个用户接口元素,所述至少一个用户接口元素能够选择以使采取响应于所述事件的动作的指令、响应从所述客户端设备发送至所述第一计算系统。
15.根据权利要求10所述的方法,还包括:
由所述第一计算系统并且至少部分地基于所述消息来确定所述事件与所述应用的用户相关;
由所述第一计算系统确定所述客户端设备正在由所述用户操作;以及
由所述第一计算系统确定至少部分地基于所述事件与所述用户相关以及所述客户端设备正在由所述用户操作来将所述通知发送至所述客户端设备。
16.根据权利要求10所述的方法,其中,所述应用包括软件即服务应用。
17.一种第一计算系统,包括:
至少一个处理器;以及
被编码有指令的至少一个计算机可读介质,所述指令在由所述至少一个处理器执行时使所述第一计算系统执行以下操作:
从托管在第二计算系统上的应用接收消息,所述消息指示所述应用的事件,
响应于接收到所述消息来生成指示所述事件的通知,
将所述通知发送至客户端设备,
从所述客户端设备接收对所述通知的响应,以及
对接收到的对所述通知的响应进行处理,以使所述应用采取响应于所述事件的动作。
18.根据权利要求17所述的第一计算系统,其中,所述消息包括电子邮件消息,并且所述至少一个计算机可读介质还被编码有附加指令,所述附加指令在由所述至少一个处理器执行时还使所述第一计算系统执行以下操作:
对所述电子邮件消息进行分析以确定所述电子邮件消息指示所述事件;以及
至少部分地基于所述第一计算系统确定所述电子邮件消息指示所述事件来生成所述通知。
19.根据权利要求18所述的第一计算系统,还包括:
电子邮件服务器,所述电子邮件服务器被配置成确定所述电子邮件是由所述应用发送的;并且
其中,所述至少一个计算机可读介质还被编码有下述附加指令,所述附加指令在由所述至少一个处理器执行时还使所述第一计算系统的分析引擎至少部分地基于所述电子邮件服务器确定所述电子邮件是由所述应用发送的来对所述电子邮件消息进行分析。
20.根据权利要求17所述的第一计算系统,其中,所述至少一个计算机可读介质还被编码有附加指令,所述附加指令在由所述至少一个处理器执行时还使所述第一计算系统执行以下操作:
向所述应用发送对与所述事件相关的数据的请求;
从所述应用接收与所述事件相关的数据;以及
确定至少部分地基于接收到的数据来生成所述通知。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/084670 WO2021098131A1 (en) | 2020-04-14 | 2020-04-14 | Triggering event notifications based on messages to application users |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113170283A true CN113170283A (zh) | 2021-07-23 |
Family
ID=75910561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080006449.2A Pending CN113170283A (zh) | 2020-04-14 | 2020-04-14 | 基于到应用用户的消息触发事件通知 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11012400B1 (zh) |
CN (1) | CN113170283A (zh) |
AU (1) | AU2020356802B2 (zh) |
CA (1) | CA3115326C (zh) |
WO (1) | WO2021098131A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10902011B1 (en) | 2020-01-31 | 2021-01-26 | Capital One Services, Llc | Systems and methods for context development |
US10848451B1 (en) * | 2020-01-31 | 2020-11-24 | Capital One Services, Llc | Systems and methods for context development |
US11805112B2 (en) * | 2021-02-08 | 2023-10-31 | Cisco Technology, Inc. | Enhanced multi-factor authentication based on physical and logical proximity to trusted devices and users |
US11863549B2 (en) | 2021-02-08 | 2024-01-02 | Cisco Technology, Inc. | Adjusting security policies based on endpoint locations |
US20240012696A1 (en) * | 2022-07-08 | 2024-01-11 | Citrix Systems, Inc. | Exposing standardized events within an api proxy system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022662A1 (en) * | 2009-07-23 | 2011-01-27 | International Business Machines Corporation | Event triggered notifications for collaborative processes |
US20170154086A1 (en) * | 2015-12-01 | 2017-06-01 | Microsoft Technology Licensing, Llc | Real-Time Change Data from Disparate Sources |
US20180139108A1 (en) * | 2016-11-11 | 2018-05-17 | Connectwise, Inc. | Systems and methods for updating the configuration of a cloud service |
CN110679131A (zh) * | 2018-04-02 | 2020-01-10 | 甲骨文国际公司 | 多租户身份云服务的数据复制冲突检测和解决方案 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8275839B2 (en) * | 2004-03-31 | 2012-09-25 | Google Inc. | Methods and systems for processing email messages |
US8032579B2 (en) * | 2004-10-08 | 2011-10-04 | Sharp Laboratories Of America, Inc. | Methods and systems for obtaining imaging device notification access control |
US20070179799A1 (en) * | 2005-12-31 | 2007-08-02 | General Motors Corporation | User-initiated vehicle email notification |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20100100778A1 (en) * | 2007-05-11 | 2010-04-22 | Spiceworks, Inc. | System and method for hardware and software monitoring with integrated troubleshooting |
US9276884B2 (en) * | 2007-06-29 | 2016-03-01 | Aquila Vision Corporation | Intelligent notification system and method |
US9137318B2 (en) * | 2008-01-16 | 2015-09-15 | Avaya Inc. | Method and apparatus for detecting events indicative of inappropriate activity in an online community |
US8630624B2 (en) * | 2009-02-25 | 2014-01-14 | Apple Inc. | Managing notification messages |
US8713584B2 (en) * | 2009-08-13 | 2014-04-29 | Google Inc. | Event-triggered server-side macros |
US9332070B2 (en) * | 2009-08-14 | 2016-05-03 | Blackberry Limited | Methods and apparatus for synchronizing notifications for service events |
US8832205B2 (en) * | 2009-11-02 | 2014-09-09 | Lextine Software, Llc | System and method for extracting calendar events from free-form email |
US8924489B2 (en) * | 2011-01-05 | 2014-12-30 | Apple Inc. | Message push notification client improvements for multi-user devices |
US8595345B2 (en) * | 2011-05-26 | 2013-11-26 | Mfluent Llc | Enhanced push notification services |
US9256462B2 (en) * | 2012-02-17 | 2016-02-09 | Microsoft Technology Licensing, Llc | Contextually interacting with applications |
US10282689B1 (en) * | 2012-02-29 | 2019-05-07 | Amazon Technologies, Inc. | Event-based composition model for workflow systems |
US9088622B2 (en) * | 2012-07-05 | 2015-07-21 | Sap Se | Dynamic client registration for server push events in long polling scenarios |
US9300615B2 (en) * | 2012-08-20 | 2016-03-29 | Blackberry Limited | Methods and devices for generating action item from email |
US8769030B2 (en) * | 2012-09-28 | 2014-07-01 | Google Inc. | Device event notification registration through direct interaction with mobile device |
US9843645B2 (en) * | 2013-11-01 | 2017-12-12 | Time Warner Cable Enterprises Llc | System and method for pushing smart alerts |
US20180114242A1 (en) * | 2014-02-27 | 2018-04-26 | Amazon Technologies, Inc. | Deal recommendation based on triggering event |
US9882853B1 (en) * | 2014-03-10 | 2018-01-30 | Ca, Inc. | Performing predefined actions based on scheduled user events in response to incoming email messages |
US20160050194A1 (en) * | 2014-08-18 | 2016-02-18 | Tawkur LLC | Web-based governance of messaging services |
RU2580437C2 (ru) * | 2014-09-02 | 2016-04-10 | Общество С Ограниченной Ответственностью "Яндекс" | Способ обработки входящего электронного сообщения и сервер |
EP4277241A2 (en) * | 2014-10-08 | 2023-11-15 | Assurant, Inc. | Method and apparatus for network analysis |
US9841986B2 (en) * | 2015-10-27 | 2017-12-12 | Vmware, Inc. | Policy based application monitoring in virtualized environment |
US10104152B2 (en) * | 2016-04-28 | 2018-10-16 | TeamMate Licensing B.V. | Inter-application communication and integration broker |
US10382376B2 (en) * | 2016-09-23 | 2019-08-13 | Microsoft Technology Licensing, Llc | Forwarding notification information regardless of user access to an application |
US10715510B2 (en) * | 2017-01-16 | 2020-07-14 | Citrix Systems, Inc. | Secure device notifications from remote applications |
US20190007745A1 (en) * | 2017-06-30 | 2019-01-03 | Google Inc. | Methods, systems, and media for presenting notifications on associated devices |
US20190041973A1 (en) * | 2017-08-04 | 2019-02-07 | Qualcomm Incorporated | System and Method for Providing Selective Notifications and Contextual Information |
US11050700B2 (en) * | 2017-11-03 | 2021-06-29 | Salesforce.Com, Inc. | Action response selection based on communication message analysis |
US10855436B2 (en) * | 2017-11-09 | 2020-12-01 | Google Llc | System and method for automatically synchronizing responses to conditions on devices |
US20190147404A1 (en) * | 2017-11-16 | 2019-05-16 | Salesforce.Com, Inc. | Email streaming records |
US11234130B2 (en) * | 2018-01-02 | 2022-01-25 | Latch Mobile LLC | Systems and methods for monitoring user activity |
US11477219B2 (en) * | 2018-02-20 | 2022-10-18 | Darktrace Holdings Limited | Endpoint agent and system |
US10992607B2 (en) * | 2018-03-22 | 2021-04-27 | Microsoft Technology Licensing, Llc | Contextual message delivery |
US11128676B2 (en) * | 2019-04-16 | 2021-09-21 | Citrix Systems, Inc. | Client computing device providing predictive pre-launch software as a service (SaaS) sessions and related methods |
US10489789B1 (en) * | 2019-05-02 | 2019-11-26 | Capital One Services, Llc | Systems and methods for providing notifications to devices |
US11307910B2 (en) * | 2019-06-10 | 2022-04-19 | Citrix Systems, Inc. | Notification tagging for a workspace or application |
US11218565B2 (en) * | 2019-10-23 | 2022-01-04 | Microsoft Technology Licensing, Llc | Personalized updates upon invocation of a service |
AU2020356801B2 (en) * | 2020-03-19 | 2022-02-10 | Zheng Chai | Short message service link for activity feed communications |
-
2020
- 2020-04-14 CN CN202080006449.2A patent/CN113170283A/zh active Pending
- 2020-04-14 WO PCT/CN2020/084670 patent/WO2021098131A1/en active Application Filing
- 2020-04-14 AU AU2020356802A patent/AU2020356802B2/en active Active
- 2020-04-14 CA CA3115326A patent/CA3115326C/en active Active
- 2020-04-24 US US16/857,571 patent/US11012400B1/en active Active
-
2021
- 2021-03-29 US US17/215,113 patent/US11336606B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022662A1 (en) * | 2009-07-23 | 2011-01-27 | International Business Machines Corporation | Event triggered notifications for collaborative processes |
US20170154086A1 (en) * | 2015-12-01 | 2017-06-01 | Microsoft Technology Licensing, Llc | Real-Time Change Data from Disparate Sources |
US20180139108A1 (en) * | 2016-11-11 | 2018-05-17 | Connectwise, Inc. | Systems and methods for updating the configuration of a cloud service |
CN110679131A (zh) * | 2018-04-02 | 2020-01-10 | 甲骨文国际公司 | 多租户身份云服务的数据复制冲突检测和解决方案 |
Also Published As
Publication number | Publication date |
---|---|
US11336606B2 (en) | 2022-05-17 |
CA3115326A1 (en) | 2021-08-16 |
WO2021098131A1 (en) | 2021-05-27 |
US20210320893A1 (en) | 2021-10-14 |
CA3115326C (en) | 2022-01-25 |
AU2020356802B2 (en) | 2021-12-23 |
US11012400B1 (en) | 2021-05-18 |
AU2020356802A1 (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11822942B2 (en) | Intelligent contextual grouping of notifications in an activity feed | |
US11336606B2 (en) | Triggering event notifications based on messages to application users | |
US11553053B2 (en) | Tracking application usage for microapp recommendation | |
US11544344B2 (en) | Remote web browsing service | |
US11368373B2 (en) | Invoking microapp actions from user applications | |
US11483410B1 (en) | Intelligent status and engagement system | |
US10972406B2 (en) | Indicating whether a user device can access a computing resource based on whether a current time falls within one or more time slots associated with the computing resource | |
US11334825B2 (en) | Identifying an application for communicating with one or more individuals | |
US20230123860A1 (en) | Facilitating access to api integrations | |
US11483269B2 (en) | Message-based presentation of microapp user interface controls | |
US20220398140A1 (en) | Enabling microapp access based on determined application states and user-initiated triggering events | |
US20220318120A1 (en) | Providing content while loading | |
WO2021119979A1 (en) | Time cost estimation for activity feed notifications | |
EP4303729A1 (en) | Exposing standardized events within an api proxy system | |
US20230135634A1 (en) | Customizing application extensions to enable use of microapps | |
US11797465B2 (en) | Resource recommendation system | |
US20220276911A1 (en) | User controlled customization of activity feed presentation | |
WO2024060182A1 (en) | Sharable records for performing actions using a web browsing application | |
US20230068374A1 (en) | User responsiveness to events indicated by notifications | |
US20230362160A1 (en) | Cross-origin resource handling for web content | |
US20220413689A1 (en) | Context-based presentation of available microapp actions | |
WO2023272586A1 (en) | Keyword-based presentation of notifications | |
WO2024011346A1 (en) | Secure storage and maintenance of potentially sensitive file downloads | |
US20230078103A1 (en) | Centralized collection of application files |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210723 |