基于位置的装置可用性的制作方法

文档序号:13561324阅读:161来源:国知局
基于位置的装置可用性的制作方法

相关申请的交叉引用

本申请要求2015年8月6日递交的题目为《基于位置的装置可用性(availabilityofdevicesbasedonlocation)》的美国非临时专利申请第14/819,644号和2015年5月6日递交的题目为《基于位置的装置可用性(availabilityofdevicesbasedonlocation)》的美国临时专利申请第62/157,536号的优先权。所述在先申请被以引用的方式全部并入本文中。

本文中描述的方面大体涉及计算机联网、远程访问和位置检测。更具体地说,本文中描述的方面涉及基于基于检测位置传感器而确定的客户端装置的位置使一或多个装置对客户端装置可用。



背景技术:

为了使用例如打印机或扫描仪的装置,用户或管理员通常手动添加打印机或扫描仪,或创造针对某些客户端装置预先配置某些打印机或扫描仪的策略。举例来说,在虚拟环境(例如,虚拟桌面会话)中,企业管理员可使用在针对特定用户建立虚拟会话期间的策略映射某些网络打印机。然而,对于一些用户,例如移动装置的用户,预先配置的打印机可能不工作,因为用户可能正在不同位置(例如不同建筑物或不同楼层)之间行进或移动。如果用户在建筑物的第八层上,那么位于建筑物的第四层上且针对用户预先配置的打印机可能不方便。



技术实现要素:

以下提出本文中所描述的各种方面的简化概述。此概述并非广泛综述,且并不希望识别关键或重要要素或划定权利要求书的范围。以下概述仅按简化形式提出一些概念,作为对以下提供的更详细描述的介绍性序言。

为了克服以上描述的现有技术中的限制,且为了克服在阅读和理解本说明书后将显而易见的其它限制,本文中描述的方面是针对用于响应于检测位置传感器从位置传感器无线接收用于位置传感器的识别符的客户端装置的系统、设备、计算机可读媒体、存储器和方法。可确定对应于用于位置传感器的识别符的装置,且可使装置的资源可用于客户端装置。在使装置的资源可用于客户端装置后,客户端装置可发送用于访问装置的资源的数据。装置可包括打印机,且装置的资源可包括打印服务。用于访问装置的资源的数据可包括打印作业数据。

在一些方面,客户端装置可包含显示器,且客户端装置可在显示器上显示可用于客户端装置的装置的列表,所述装置列表包括所述装置。在这些实例中,可响应于从可用于客户端装置的装置列表接收装置的用户选择而执行发送用于访问装置的一或多个资源的数据。

所述方法可进一步包括响应于检测位置传感器且在无线接收识别符前,客户端装置向位置传感器请求识别符。在一些方面,可确定客户端装置与位置传感器之间的距离。也可响应于确定客户端装置与位置传感器之间的距离小于阈值而执行使装置的一或多个资源可用于客户端装置。

位置传感器可包括第一位置传感器,且装置可包括第一装置。在这些实例中,所述方法可进一步包括确定客户端装置与第一位置传感器之间的距离。响应于确定客户端装置与第一位置传感器之间的距离小于客户端装置与对应于第二装置的第二位置传感器之间的距离,可将第一装置设定为用于客户端装置的默认装置。

在一些方面,使装置的一或多个资源可用于客户端装置可包括在客户端装置与服务器之间的虚拟会话中将装置映射到客户端装置。装置可包括打印机,且使装置的一或多个资源可用于客户端装置可包括安装用于打印机的驱动程序和将打印机映射到客户端装置。

在一些方面,所述方法可包括客户端装置将用于位置传感器的识别符发送到服务器。可响应于服务器接收用于位置传感器的识别符而执行使装置的一或多个资源可用于客户端装置。

在使装置的一或多个资源可用于客户端装置后,所述方法可包括确定客户端装置与位置传感器之间的距离大于阈值。响应于确定客户端装置与位置传感器之间的距离大于阈值,可使装置的一或多个资源不可用于客户端装置。

本文中描述的方面是针对包括在服务器处从与用户相关联的第一装置接收打印创建数据的系统、设备、计算机可读媒体、存储器和方法。响应于接收到打印创建数据,可产生打印作业,且将其存储于对应于用户的虚拟打印队列中。此外,响应于从与用户相关联的第一装置或第二装置接收到识别符,服务器可确定对应于接收到的识别符的打印机。第一装置可被配置以当第一装置在位置传感器的范围内时确定来自位置传感器的识别符,和/或第二装置可被配置以当第二装置在位置传感器的范围内时确定来自位置传感器的识别符。在一些方面,位置传感器可包括可光学扫描码。另外或替代地,位置传感器可包括短程无线传感器。可将存储于虚拟打印队列中的打印作业发送到打印机。

所述方法可包括产生对将打印作业发送到打印机的权限的请求,且可将所述请求显示于第一装置或第二装置上。可从第一装置或第二装置接收将打印作业发送到打印机的权限。可响应于接收到将打印作业发送到打印机的权限而执行发送打印作业。

打印机可包括在同一位置处的多个打印机,且所述方法可包括产生对多个打印机中的一个的选择的请求。所述请求可以显示于第一装置或第二装置上。可从第一装置或第二装置接收多个打印机中的一个的选择。可响应于接收到多个打印机中的一个的选择而执行发送打印作业。

所述方法可包括产生对用户鉴定的请求。此请求可以显示于第一装置或第二装置上。可基于从第一装置或第二装置接收的用户凭证对用户鉴定。可响应于基于用户凭证对用户鉴定而执行发送打印作业。

第二装置可包括与用户相关联的移动装置,且所述方法可包括从移动装置接收识别符。在一些方面,可响应于从移动装置接收到识别符而执行确定对应于接收到的识别符的打印机。

本文中描述的方面是针对包括在第一用户装置处接收将项目打印到虚拟打印机的请求的系统、设备、计算机可读媒体、存储器和方法。响应于接收到请求,第一用户装置可将用于所述项目的打印创建数据发送到服务器。服务器可被配置以产生用于待打印的项目的打印作业,且将打印作业存储于对应于第一用户装置的用户的打印队列中。第一用户装置或第二用户装置可检测位置传感器。位置传感器可包括可光学扫描码和/或短程无线传感器。响应于检测到位置传感器,第一用户装置或第二用户装置可确定来自位置传感器的识别符。第一用户装置或第二用户装置可将识别符发送到服务器,且服务器可被配置以将打印作业发送到对应于识别符的打印机。

所述方法可包括产生对将打印作业发送到打印机的权限的请求,供显示于第一用户装置或第二用户装置的显示器上。将打印作业发送到打印机的权限可被发送到服务器。服务器可被配置以响应于将权限发送到服务器而将打印作业发送到打印机。

在一些方面,打印机可包括在同一位置处的多个打印机,且所述方法可包括产生对多个打印机中的一个的选择的请求,供显示于第一用户装置或第二用户装置的显示器上。可将多个打印机中的一个的选择发送到服务器。服务器可被配置以响应于发送选择而将打印作业发送到打印机。

所述方法可包括产生对用户鉴定的请求,供显示于第一用户装置或第二用户装置的显示器上。可将用户凭证发送到服务器,且服务器可被配置以响应于基于用户凭证对用户鉴定而将打印作业发送到打印机。

在一些方面,第二用户装置可包括移动装置,检测位置传感器可由移动装置执行,确定来自位置传感器的识别符可由移动装置执行,且将识别符发送到服务器可由移动装置执行。所述方法可包括确定移动装置与位置传感器之间的距离。可响应于确定移动装置与位置传感器之间的距离小于阈值而执行确定识别符。

通过在下文进一步详细论述的公开的益处,将了解这些和额外方面。

附图说明

可以通过参考考虑附图的以下描述来获取对本文中描述的方面和其优点的更完整理解,其中相似参考数字指示相似特征,并且其中:

图1描绘可根据本文中描述的一或多个说明性方面使用的说明性计算机系统架构。

图2描绘可根据本文中描述的一或多个说明性方面使用的说明性远程访问系统架构。

图3描绘可根据本文中描述的一或多个说明性方面使用的说明性虚拟化(管理程序)系统架构。

图4描绘可根据本文中描述的一或多个说明性方面使用的说明性基于云的系统架构。

图5描绘说明性企业移动性管理系统。

图6描绘另一说明性企业移动性管理系统。

图7描绘根据本文中描述的一或多个说明性方面的用于基于客户端装置的位置使一或多个装置对客户端装置可用的说明性系统。

图8说明根据本文中描述的一或多个说明性方面的基于客户端装置的位置使一或多个装置可用于客户端装置的实例方法。

图9说明根据本文中描述的一或多个说明性方面的基于客户端装置的位置使一或多个装置不可用于客户端装置的实例方法。

图10说明根据本文中描述的一或多个说明性方面的可用于客户端装置的实例显示屏显示装置。

图11说明根据本文中描述的一或多个说明性方面的可用于客户端装置的另一实例显示屏显示装置。

图12说明根据本文中描述的一或多个说明性方面的可用于客户端装置的又一实例显示屏显示装置。

图13描绘根据本文中描述的一或多个说明性方面的用于基于用户装置的位置虚拟打印的说明性系统。

图14说明根据本文中描述的一或多个说明性方面的打印到虚拟打印机且将打印作业存储于打印队列中的实例方法。

图15说明根据本文中描述的一或多个说明性方面的基于用户装置的位置将打印作业发送到物理打印机的虚拟打印机的实例方法。

图16说明根据本文中描述的一或多个说明性方面的显示对打印到打印机的权限的请求的实例显示屏。

图17说明根据本文中描述的一或多个说明性方面的显示选择打印机打印的请求的实例显示屏。

具体实施方式

在各种实施例的以下描述中,对以上识别且形成此处的一部分的附图进行参看,并且其中借助于说明展示可实践本文中描述的方面的各种实施例。应理解,在不脱离本文中描述的范围的情况下,可利用其它实施例,且可进行结构和功能修改。各种方面能够有其它实施例并且以各种不同方式实践或进行。

作为对以下更详细描述的主题的一般介绍,本文中描述的方面是针对用于响应于检测位置传感器而从位置传感器无线接收用于位置传感器的识别符的客户端装置的方法和系统。可确定对应于用于位置传感器的识别符的装置,且可使装置的资源可用于客户端装置。在使装置的资源可用于客户端装置后,客户端装置可发送用于访问装置的资源的数据。装置可包括打印机,且装置的资源可包括打印服务。用于访问装置的资源的数据可包括打印作业数据。

应理解,本文中使用的措词和术语是出于描述的目的且不应被看作是限制性的。相反地,应对本文中使用的短语和术语给予其最广泛的解释和意义。“包含(including)”和“包括(comprising)”和其变体的使用打算涵盖其后列出的项目和其等效物以及额外项目和其等效物。术语“安装”、“连接”、“耦合”、“定位”、“接合”和类似术语的使用打算包含直接和间接安装、连接、耦合、定位和接合两者。

计算架构

可在尤其包含独立式、联网、远程访问(又名,远程桌面)、虚拟化和/或基于云的环境的多种不同系统环境中利用计算机软件、硬件和网络。图1说明可用以在独立式和/或联网环境中实施本文中描述的一或多个说明性方面的系统架构和数据处理装置的一个实例。各种网络节点103、105、107和109可经由例如因特网的广域网(wan)101互连。也可或替代地使用其它网络,包含私用内联网、公司网络、lan、城域网(man)无线网络、个人网络(pan)和类似物。网络101是出于说明的目的,且可由较少或额外计算机网络替换。局域网(lan)可具有任何已知lan拓扑中的一或多个,且可使用多种不同协议中的一或多个,例如以太网。装置103、105、107、109和其它装置(未展示)可经由双绞线电线、同轴电缆、光纤、无线电波或其它通信媒体连接到网络中的一或多个。

如本文中所使用且在图式中描绘的术语“网络”不仅指远程存储装置经由一或多个通信路径耦合在一起的系统,而且指可不时地耦合到具有存储能力的此类系统的单独装置。因此,术语“网络”不仅包含“物理网络”,而且包含“内容网络”,内容网络由归于跨所有物理网络驻留的单个实体的数据组成。

组件可包含数据服务器103、网页伺服器105和客户端计算机107、109。数据服务器103提供数据库和控制软件的总体访问、控制和管理,以用于执行本文中描述的一或多个说明性方面。数据服务器103可连接到网页伺服器105,通过所述网页伺服器105,用户按请求与数据交互和获得数据。替代地,数据服务器103可充当网页伺服器自身且直接连接到因特网。数据服务器103可通过网络101(例如,因特网)经由直接或间接连接或经由某一其它网络连接到网页伺服器105。用户可使用远程计算机107、109与数据服务器103交互,例如,使用网页浏览器经由由网页伺服器105代管的一或多个外部暴露的网站连接到数据服务器103。客户端计算机107、109可与数据服务器103协作使用以访问存储于其中的数据,或客户端计算机107、109可用于其它用途。举例来说,用户可使用因特网浏览器(如此项技术中已知)或通过执行在计算机网络(例如因特网)上与网页伺服器105和/或数据服务器103通信的软件应用程序来从客户端装置107访问网页伺服器105。

服务器与应用程序可在相同的物理机器上组合,且保留单独的虚拟或逻辑地址,或可驻留于单独的物理机器上。图1说明可使用的网络架构的仅一个实例,且所属领域的技术人员将了解,所使用的具体网络架构和数据处理装置可变化,且对于其提供的功能性是次要的,如本文中进一步描述。举例来说,由网页伺服器105和数据服务器103提供的服务可在单个服务器上组合。

每一组件103、105、107、109可以是任一类型的已知计算机、服务器或数据处理装置。例如,数据服务器103可包含控制速率服务器103的总体操作的处理器111。数据服务器103可进一步包含随机存取存储器(ram)113、只读存储器(rom)115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等)和存储器121。输入/输出(i/o)119可包含多种接口单元和驱动,以用于读取、写入、显示和/或打印数据或文件。存储器121可进一步存储用于控制数据处理装置103的总体操作的操作系统软件123、用于指导数据服务器103执行本文中描述的方面的控制逻辑125,和提供可或可不结合本文中描述的方面使用的次要、支持和/或其它功能性的其它应用软件127。控制逻辑也可在本文中被称作数据服务器软件125。数据服务器软件的功能性可指基于译码成控制逻辑的规则自动作出、由将输入提供到系统内的用户手动作出和/或基于用户输入(例如,查询、数据更新等)的自动处理的组合的操作或决策。

存储器121还可存储在本文中描述的一或多个方面的执行中使用的数据,包含第一数据库129和第二数据库131。在一些实施例中,第一数据库可包含第二数据库(例如,作为单独的表、报告等)。即,取决于系统设计,信息可存储于单个数据库中,或分成不同逻辑、虚拟或物理数据库。装置105、107、109可具有与关于装置103所描述类似或不同的架构。所属领域的技术人员将了解,如本文中所描述的数据处理装置103(或装置105、107、109)的功能性可跨多个数据处理装置散布,例如,以跨多个计算机分布处理负荷,以基于地理位置、用户访问级别、服务质量(qos)等分隔交易。

一或多个方面可以由如本文中所描述的一或多个计算机或其它装置执行的计算机可用或可读数据和/或计算机可执行指令来体现,例如,以一或多个程序模块。通常,程序模块包含在由计算机或其它装置中的处理器执行时执行特定任务或实施特定抽象数据类型的例程、程序、对象、组分、数据结构等。模块可按随后被编译供执行的源代码编程语言来撰写,或可按例如(但不限于)超文本标记语言(html)或可扩展标记语言(xml)的脚本语言来撰写。计算机可执行指令可存储于例如非挥发性存储装置的计算机可读媒体上。可利用任何合适的计算机可读存储媒体,包含硬盘、cd-rom、光学存储装置、磁性存储装置和/或其任何组合。此外,表示如本文中所描述的数据或事件的各种传输(非存储)媒体可按穿过信号传导媒体的电磁波的形式在源与目的地之间转移,信号传导媒体例如金属线、光纤和/或无线传输媒体(例如,空气和/或空间)。本文中所描述的各种方面可体现为方法、数据处理系统或计算机程序产品。因此,可全部或部分地以软件、固件和/或硬件或硬件等效物(例如,集成电路、现场可编程门阵列(fpga)和类似物)来体现各种功能性。可使用特定数据结构更有效地实施本文中描述的一或多个方面,且预料此类数据结构在本文中描述的计算机可执行指令和计算机可用数据的范围内。

进一步参看图2,可在远程访问环境中实施本文中描述的一或多个方面。图2描绘包含在可根据本文中描述的一或多个说明性方面使用的说明性计算环境200中的一般计算装置201的实例系统架构。可将一般计算装置201用作被配置以提供用于客户端访问装置的虚拟机的单个服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a。一般计算装置201可具有用于控制服务器的总体操作和其相关联的组件(包含ram205、rom207、i/o模块209和存储器215)的处理器203。

i/o模块209可包含鼠标、小键盘、触摸屏、扫描仪、光学阅读机和/或手写笔(或其它输入装置),通过所述装置,一般计算装置201的用户可提供输入,且还可包含用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示装置中的一或多个。软件可存储于存储器215和/或其它存储装置内以将用于将一般计算装置201配置成专用计算装置以便执行如本文中描述的各种功能的指令提供到处理器203。举例来说,存储器215可存储由例如操作系统217、应用程序219和相关联的数据库221的计算装置201使用的软件。

计算装置201可在支持到例如终端240(也被称作客户端装置)的一或多个远程计算机的连接的联网环境中操作。终端240可以是个人计算机、移动装置、笔记本电脑、平板电脑或包含以上关于一般计算装置103或201描述的许多或所有元件的服务器。图2中描绘的网络连接包含局域网(lan)225和广域网(wan)229,但也可包含其它网络。当在lan联网环境中使用时,计算装置201可通过网络接口或适配器223连接到lan225。当在wan联网环境中使用时,计算装置201可包含用于在wan229上建立通信(例如计算机网络230(例如,因特网))的调制解调器227或其它广域网接口。将了解,所展示的网络连接是说明性的,且可使用在计算机之间建立通信链路的其它构件。计算装置201和/或终端240也可以是包含例如电池、扬声器和天线(未展示)的各种其它组件的移动终端(例如,行动电话、智能手机、个人数字助理(pda)、笔记本电脑等)。

本文中描述的方面也可与众多其它通用或专用计算系统环境或配置一起操作。可适合与本文中描述的方面一起使用的其它计算系统、环境和/或配置的实例包含(但不限于)个人计算机、服务器计算机、手持式或笔记本电脑、多处理器系统、基于微处理器的系统、机顶盒、可编程消费型电子装置、网络个人计算机(pc)、微型计算机、大型计算机、包含以上系统或装置中的任一者的分布式计算环境和类似物。

如图2中所展示,一或多个客户端装置240可与一或多个服务器206a到206n(通常在本文中被称作“服务器206”)通信。在一个实施例中,计算环境200可包含安装于服务器206与客户端机器240之间的网络器具。所述网络器具可管理客户端/服务器连接,且在一些情况下,可在多个后端服务器206间负载平衡客户端连接。

客户端机器240可在一些实施例中被称作单个客户端机器240或客户端机器240的单个群组,而服务器206可被称作单个服务器206或服务器206的单个群组。在一个实施例中,单个客户端机器240与多于一个服务器206通信,而在另一实施例中,单个服务器206与多于一个客户端机器240通信。在又一实施例中,单个客户端机器240与单个服务器206通信。

在一些实施例中,客户端机器240可由以下非详尽性项中的任一个参考:客户端机器;客户端;客户端计算机;客户端装置;客户端计算装置;本地机器;远程机器;客户端节点;端点;或端点网点。在一些实施例中,服务器206可由以下非详尽性项中的任一个参考:服务器;本地机器;远程机器;服务器集群;或主机计算装置。

在一个实施例中,客户端机器240可以是虚拟机。虚拟机可以是任一虚拟机,而在一些实施例中,虚拟机可以是由1型或2型管理程序管理的任一虚拟机,所述管理程序例如,由citrix系统、ibm、vmware或任一其它管理程序开发的管理程序。在一些方面,虚拟机可由管理程序管理,而在各方面中,虚拟机可由在服务器206上执行的管理程序或在客户端240上执行的管理程序管理。

一些实施例包含客户端装置240,其显示由在服务器206或其它位于远处的机器远程执行的应用程序产生的应用程序输出。在这些实施例中,客户端装置240可执行虚拟机接收器程序或应用程序以在应用窗口、浏览器或其它输出窗中显示输出。在一个实例中,应用程序为桌面,而在其它实例中,应用程序为产生或呈现桌面的应用程序。桌面可包含图形壳,其提供用于可集成局部和/或远程应用程序的操作系统的个例的用户接口。如本文中所使用的应用程序为在已装载操作系统(且任选地,还有桌面)的个例后执行的程序。

在一些实施例中,服务器206使用远程呈现协议或其它程序将数据发送到瘦客户端或在所述客户端上执行的远程显示应用程序以呈现由在服务器206上执行的应用程序产生的显示输出。瘦客户端或远程显示协议可以是以下非详尽性协议列表中的任一个:由ft.lauderdale,florida的citrixsystems,inc.开发的独立计算架构(ica)协议;或由redmond,washington的微软公司制造的远程桌面协议(rdp)。

远程计算环境可包含多于一个服务器206a到206n,使得所述服务器206a到206n被在一起逻辑分群到服务器集群206内,例如,在云计算环境中。服务器集群206可包含虽然地理上分散却逻辑分群在一起的服务器206,或位置相互最接近同时逻辑分群在一起的服务器206。在一些实施例中,在服务器集群206内的地理上分散的服务器206a到206n使用wan(宽)、man(都市)或lan(局部)通信,其中不同地理区域可特性化为:不同大陆;大陆的不同区域;不同国家;不同州;不同城市;不同校园;不同房间;或先前地理位置的任何组合。在一些实施例中,可将服务器集群206作为单个实体管理,而在其它实施例中,服务器集群206可包含多个服务器集群。

在一些实施例中,服务器集群可包含执行大体上类似类型的操作系统平台(例如,windows、unix、linux、ios、android、symbian等)的服务器206。在其它实施例中,服务器集群206可包含执行第一类型的操作系统平台的一或多个服务器的第一群组,和执行第二类型的操作系统平台的一或多个服务器的第二群组。

服务器206可按需要被配置为任一类型的服务器,例如,文件服务器、应用程序服务器、网页伺服器、代理服务器、器具、网络器具、网关、应用程序网关、网关服务器、虚拟化服务器、部署服务器、安全套接层(ssl)vpn服务器、防火墙、网页伺服器、应用程序服务器,或作为主应用程序服务器、执行活动目录的服务器,或执行提供防火墙功能性、应用程序功能性或负载平衡功能性的应用程序加速程序的服务器。还可使用其它服务器类型。

一些实施例包含接收来自客户端机器240的请求的第一服务器106a,将请求转发到第二服务器106b,和用来自第二服务器106b的响应来响应由客户端机器240产生的请求。第一服务器106a可获取可用于客户端机器240的应用程序的列举,以及与代管在应用程序的列举内识别的应用程序的应用程序服务器206相关联的地址信息。第一服务器106a可接着使用网络接口呈现对客户端的请求的响应,且直接与客户端240通信以给客户端240提供对识别的应用程序的访问。一或多个客户端240和/或一或多个服务器206可在例如网络101的网络230上传输数据。

图2展示说明性桌面虚拟化系统的高阶架构。如所展示,桌面虚拟化系统可以是单个服务器或多服务器系统或云系统,包含被配置以对一或多个客户端访问装置240提供虚拟桌面和/或虚拟应用程序的至少一个虚拟化服务器206。如本文中所使用,桌面指可代管和/或执行一或多个应用程序的图形环境或空间。桌面可包含图形壳,其提供用于可集成局部和/或远程应用程序的操作系统的个例的用户接口。应用程序可包含在已装载操作系统(且任选地,还有桌面)的个例后执行的程序。操作系统的每一个例可以是物理(例如,每个装置一个操作系统)或虚拟(例如,在单个装置上运行的os的许多个例)的。每一应用程序可在本地装置上执行,或在位于远处的装置(例如,远程)上执行。

进一步参看图3,计算机装置301可被配置为虚拟化环境中的虚拟化服务器,例如,单个服务器、多服务器或云计算环境。图3中说明的虚拟化服务器301可部署为图2中说明的服务器206的一或多个实施例或其它已知计算装置,和/或由图2中说明的服务器206的一或多个实施例或由其它已知计算装置实施。包含在虚拟化服务器301中的是硬件层,其可包含一或多个物理磁盘304、一或多个物理装置306、一或多个物理处理器308和一或多个物理存储器316。在一些实施例中,固件312可存储于物理存储器316中的存储器元件内,且可由物理处理器308中的一或多个执行。虚拟化服务器301可进一步包含操作系统314,其可存储于物理存储器316中的存储器元件中且由物理处理器308中的一或多个执行。再者,管理程序302可存储于物理存储器316中的存储器元件中且由物理处理器308中的一或多个执行。

在物理处理器308中的一或多个上执行的可以是一或多个虚拟机332a到c(通常332)。每一虚拟机332可具有虚拟磁盘326a到c和虚拟处理器328a到c。在一些实施例中,第一虚拟机332a可使用虚拟处理器328a执行包含工具堆栈324的控制程序320。控制程序320可被称作控制虚拟机、dom0、domain0或用于系统管理和/或控制的其它虚拟机。在一些实施例中,一或多个虚拟机332b到c可使用虚拟处理器328b到c执行客操作系统330a到b。

虚拟化服务器301可包含具有与虚拟化服务器301通信的一或多片硬件的硬件层310。在一些实施例中,硬件层310可包含一或多个物理磁盘304、一或多个物理装置306、一或多个物理处理器308和一或多个存储器216。物理组件304、306、308和316可以包含(例如)以上描述的组件中的任一个。物理装置306可以包含(例如)网络接口卡、视频卡、键盘、鼠标、输入装置、监视器、显示装置、扬声器、光盘驱动器、存储装置、通用串行总线连接、打印机、扫描仪、网络元件(例如,路由器、防火墙、网络地址转译器、负载平衡器、虚拟专用网络(vpn)网关、动态主机配置协议(dhcp)路由器等),或连接到虚拟化服务器301或与虚拟化服务器301通信的任一装置。硬件层310中的物理存储器316可包含任何类型的存储器。物理存储器316可存储数据,且在一些实施例中,可存储一或多个程序或可执行指令的集合。图3说明固件312存储于虚拟化服务器301的物理存储器316内的实施例。存储于物理存储器316中的程序或可执行指令可由虚拟化服务器301的一或多个处理器308执行。

虚拟化服务器301还可包含管理程序302。在一些实施例中,管理程序302可以是由虚拟化服务器301上的处理器308执行以创建和管理任何数目个虚拟机332的程序。管理程序302可被称作虚拟机监视器或平台虚拟化软件。在一些实施例中,管理程序302可以是监测在计算机器上执行的虚拟机的可执行指令与硬件的任何组合。管理程序302可以是2型管理程序,其中所述管理程序在于虚拟化服务器301上执行的操作系统314内执行。虚拟机接着在高于管理程序的层级处执行。在一些实施例中,2型管理程序在用户的操作系统的情境内执行,使得2型管理程序与用户的操作系统交互。在其它实施例中,在虚拟化环境中的一或多个虚拟化服务器201可取而代之包含1型管理程序(未展示)。1型管理程序可通过直接访问硬件层310内的硬件和资源而在虚拟化服务器301上执行。即,在2型管理程序302通过主机操作系统314(如所展示)访问系统资源时,1型管理程序可在无主机操作系统314的情况下直接访问所有系统资源。1型管理程序可直接在虚拟化服务器301的一或多个物理处理器308上执行,且可包含存储于物理存储器316中的程序数据。

在一些实施例中,管理程序302可按模拟能够直接访问系统资源的操作系统330或控制程序320的任一方式将虚拟资源提供到在虚拟机332上执行的操作系统330或控制程序320。系统资源可包含(但不限于)物理装置306、物理磁盘304、物理处理器308、物理存储器316和虚拟化服务器301硬件层310中包含的任一其它组件。管理程序302可用以模仿虚拟硬件,分割物理硬件,虚拟化物理硬件,和/或执行提供对计算环境的访问的虚拟机。在再其它实施例中,管理程序302控制处理器安排和存储器分割,以用于虚拟机332在虚拟化服务器301上执行。管理程序302可包含由paloalto,california的vmware,inc.制造的管理程序;xen管理程序——其开发由开放式源代码xen.org团体监督的开放式源代码产品;由微软提供的hyperv、virtualserver或虚拟pc管理程序,或其它。在一些实施例中,虚拟化服务器301执行创建客操作系统可在其上执行的虚拟机平台的管理程序302。在这些实施例中,虚拟化服务器301可被称作主机服务器。此虚拟化服务器的实例为由fortlauderdale,fl的citrixsystems,inc.提供的xenserver。

管理程序302可创造客操作系统330执行的一或多个虚拟机332b到c(通常332)。在一些实施例中,管理程序302可加载虚拟机图像以创造虚拟机332。在其它实施例中,管理程序302可执行虚拟机332内的客操作系统330。在再其它实施例中,虚拟机332可执行客操作系统330。

除了创建虚拟机332之外,管理程序302还可控制至少一个虚拟机332的执行。在其它实施例中,管理程序302可呈现具有由虚拟化服务器301提供的至少一个硬件资源(例如,在硬件层310内可用的任何硬件资源)的抽象的至少一个虚拟机332。在其它实施例中,管理程序302可控制虚拟机332访问虚拟化服务器301中可用的物理处理器308的方式。控制对物理处理器308的访问可包含确定虚拟机332是否应能够访问处理器308和将物理处理器能力呈现给虚拟机332的方式。

如图3中所展示,虚拟化服务器301可代管或执行一或多个虚拟机332。虚拟机332为一组可执行指令,所述一组可执行指令在由处理器308执行时模仿物理计算机的操作,使得虚拟机332可非常像物理计算装置那样去执行程序和过程。虽然图3说明虚拟化服务器301代管三个虚拟机332的实施例,但在其它实施例中,虚拟化服务器301可代管任何数目个虚拟机332。在一些实施例中,管理程序302向每一虚拟机332提供可用于那个虚拟机332的物理硬件、存储器、处理器和其它系统资源的唯一虚拟视图。在一些实施例中,所述唯一虚拟视图可基于虚拟机权限、策略引擎到一或多个虚拟机识别器的应用、访问虚拟机的用户、在虚拟机上执行的应用程序、由虚拟机访问的网络或任何其它所要的准则中的一或多个。举例来说,管理程序302可创建一或多个不安全虚拟机332和一或多个安全虚拟机332。可防止不安全虚拟机332访问可准许安全虚拟机332访问的资源、硬件、存储器位置和程序。在其它实施例中,管理程序302可向每一虚拟机332提供可用于虚拟机332的物理硬件、存储器、处理器和其它系统资源的大体上类似的虚拟视图。

每一虚拟机332可包含虚拟磁盘326a到c(通常326)和虚拟处理器328a到c(通常328)。在一些实施例中,虚拟磁盘326为虚拟化服务器301的一或多个物理磁盘304或虚拟化服务器301的一或多个物理磁盘304的一部分的虚拟化的视图。物理磁盘304的虚拟化的视图可由管理程序302产生、提供和管理。在一些实施例中,管理程序302向每一虚拟机332提供物理磁盘304的唯一视图。因此,在这些实施例中,当与其它虚拟磁盘326比较时,每一虚拟机332中包含的特定虚拟磁盘326可能是唯一的。

虚拟处理器328可以是虚拟化服务器301的一或多个物理处理器308的虚拟化的视图。在一些实施例中,物理处理器308的虚拟化的视图可由管理程序302产生、提供和管理。在一些实施例中,虚拟处理器328具有至少一个物理处理器308的大体上所有相同特性。在其它实施例中,虚拟处理器308提供物理处理器308的修改的视图,使得虚拟处理器328的特性中的至少一些与对应的物理处理器308的特性不同。

进一步参看图4,可在基于云的环境中实施本文中描述的一些方面。图4说明云计算环境(或云系统)400的实例。如图4中所见,客户端计算机411到414可与云管理服务器410通信以访问云系统的计算资源(例如,主机服务器403、存储资源404和网络资源405)。

管理服务器410可在一或多个物理服务器上实施。管理服务器410可运行(例如)其中有ft.lauderdale,fl的citrixsystems,inc.的cloudstack,或openstack。管理服务器410可管理各种计算资源,包含云硬件和软件资源,例如,主机403、数据存储装置404和联网装置405。云硬件和软件资源可包含私用和/或公用组件。举例来说,云可被配置为待由一或多个特定客户或客户端计算机411到414和/或在私用网络上使用的私用云。在其它实施例中,公用云或混合公用-私用云可由其它客户在开放式或混合网络上使用。

管理服务器410可被配置以提供用户接口,通过所述用户接口,云操作员和云客户可与云系统交互。举例来说,管理服务器410可给一组应用程序编程接口(api)和/或一或多个云操作员控制台应用程序(例如,网络-基于独立式应用程序)提供用户接口以允许云操作员管理云资源,配置虚拟化层,管理客户帐户,和执行其它云管理任务。管理服务器410还可包含具有被配置以经由客户端计算机411到414接收来自终端用户的云计算请求(例如,请求创建、修改或毁坏云内的虚拟机)的用户接口的一组api和/或一或多个客户控制台应用程序。客户端计算机411到414可经由因特网或其它通信网络连接到管理服务器410,且可请求对由管理服务器410管理的计算资源中的一或多个的访问。响应于客户端请求,管理服务器410可包含资源管理器,所述资源管理器被配置以基于客户端请求选择和提供云系统的硬件层中的物理资源。举例来说,云系统的管理服务器410和额外组件可被配置以在网络(例如,因特网)上为在客户端计算机411到414处的客户提供、创建和管理虚拟机和其操作环境(例如,管理程序、存储资源、由网络元件提供的服务等),从而给客户提供计算资源、数据存储服务、联网能力和计算机平台和应用程序支持。云系统也可被配置以提供各种具体服务,包含安全系统、开发环境、用户接口和类似物。

某些客户端411到414可有关,例如,不同客户端计算机代表同一终端用户创建虚拟机,或不同用户附属于同一公司或组织。在其它实例中,某些客户端411到414可不相关,例如,用户附属于不同公司或组织。对于不相关客户端,可将任何一个用户的关于虚拟机或存储的信息对其它用户隐藏。

现参照云计算环境的物理硬件层,可用性区401到402(或区)可指物理计算资源的并置集合。可将区与计算资源的总体云中的其它区地理上分开。举例来说,区401可以是位于加利福尼亚的第一云数据中心,且区402可以是位于佛罗里达的第二云数据中心。管理切断410可位于可用性区中的一个处,或位于单独的位置。每一区可包含通过网关与在所述区外的装置(例如管理服务器410)介接的内网。云的终端用户(例如,客户端411到414)可或可不意识到区之间的区别。举例来说,终端用户可请求创建具有指定量的存储器、处理能力和网络能力的虚拟机。管理服务器410可响应用户的请求且可分配资源以创建虚拟机,而用户并不知道虚拟机是使用来自区401还是区402的资源创建。在其它实例中,云系统可以允许终端用户请求在具体区中或在区内的具体资源403到405上分配虚拟机(或其它云资源)。

在此实例中,每一区401到402可包含各种物理硬件组件(或计算资源)403到405的布置,例如,物理代管资源(或处理资源)、物理网络资源、物理存储资源、交换器和可用以对客户提供云计算服务的额外硬件资源。云区401到402中的物理代管资源可包含一或多个计算机服务器403,例如以上描述的虚拟化服务器301,其可被配置以创建和代管虚拟机个例。云区401或402中的物理网络资源可包含一或多个网络元件405(例如,网络服务提供商),其包括被配置以对云客户提供网络服务的硬件和/或软件,例如,防火墙、网络地址转译器、负载平衡器、虚拟专用网络(vpn)网关、动态主机配置协议(dhcp)路由器和类似物。云区401或402中的存储资源可包含存储磁盘(例如,固态驱动器(ssd)、磁性硬盘等)和其它存储装置。

图4中展示的实例云计算环境还可包含具有额外硬件和/或软件资源的虚拟化层(例如,如图1到3中所展示),所述资源被配置以创建和管理虚拟机且使用云中的物理资源将其它服务提供给客户。虚拟化层可包含管理程序(如上在图3中所描述),其与其它组件一起提供网络虚拟化、存储虚拟化等。虚拟化层可以作为与物理资源层分开的层,或可与物理资源层共享相同硬件和/或软件资源中的一些或全部。举例来说,虚拟化层可包含与物理计算资源一起安装在虚拟化服务器403中的每一个中的管理程序。可替代地使用已知云系统,例如,windowsazure(redmondwashington的微软公司)、amazonec2(seattle,washington的amazon.cominc.)、ibmbluecloud(armonk,newyork的ibm公司)或其它。

企业移动性管理架构

图5表示用于在byod环境中使用的企业移动性技术架构500。所述架构使移动装置502的用户能够访问来自移动装置502的企业或个人资源,和将移动装置502用于个人使用。用户可使用由用户购买的移动装置502或由企业提供给用户的移动装置502访问此类企业资源504或企业服务508。用户可只将移动装置502用于商业用途,或用于商业和个人用途。移动装置可运行ios操作系统,和android操作系统,或类似者。企业可选择实施管理移动装置504的策略。可按以下方式通过防火墙或网关植入策略:移动装置可被识别,安全化或安全验证,和提供对企业资源的选择性或完全访问。策略可以是移动装置管理策略、移动应用程序管理策略、移动数据管理策略,或移动装置、应用程序与数据管理策略的某种组合。通过移动装置管理策略的应用程序管理的移动装置504可被称作已经登记的装置。

在一些实施例中,移动装置的操作系统可被分成管理分割区510和未管理分割区512。管理分割区510可具有应用于其以使在管理分割区上运行的应用程序和存储于管理分割区中的数据安全的策略。在管理分割区上运行的应用程序可以是安全应用程序。在其它实施例中,所有应用程序可根据与应用程序分开接收的一或多个策略文件的集合执行,且所述一或多个策略文件的集合定义一或多个安全参数、特征、资源限制和/或当那个应用程序正在装置上执行时由移动装置管理系统施行的其它访问控制。通过根据其相应策略文件操作,可允许或限制每一应用程序与一或多个其它应用程序和/或资源通信,由此创建虚拟分割区。因此,如本文中所使用,分割区可指存储器的物理上分割的部分(物理分割区)、存储器的逻辑分割的部分(逻辑分割区)和/或作为一或多个策略和/或策略文件跨多个应用程序的施行的结果创建的虚拟分割区(虚拟分割区)。换句话说,通过对管理的应用程序施行策略,那些应用程序可限于仅能够与其他管理的应用程序和信任的企业资源通信,由此创建不能由未管理的应用程序和装置渗透的虚拟分割区。

安全应用程序可以是电子邮件应用程序、网页浏览应用程序、软件即服务(software-as-a-service,saas)访问应用程序、windows应用程序访问应用程序和类似物。安全应用程序可以是安全原生应用程序514、由安全应用代理服务器518执行的安全远程应用程序522、由安全应用代理服务器518执行的虚拟化应用程序526和类似物。安全原生应用程序514可由安全应用程序包装器520包装。安全应用程序包装器520可包含当在装置上执行安全原生应用程序时在移动装置502上执行的集成策略。安全应用程序包装器520可包含元数据,所述元数据将在移动装置502上运行的安全原生应用程序514指向在企业处代管的资源,在执行安全原生应用程序514后,安全原生应用程序514可能需要所述资源来完成请求的任务。由安全应用代理服务器518执行的安全远程应用程序522可在安全应用代理服务器应用程序518内执行。由安全应用代理服务器518执行的虚拟化应用程序526可利用移动装置502上、企业资源504处和类似情况的资源。由安全应用代理服务器518所执行的虚拟化应用程序526在移动装置502上使用的资源可包含用户交互资源、处理资源和类似物。用户交互资源可用以收集和传输键盘输入、鼠标输入、相机输入、触觉输入、音频输入、视觉输入、示意动作输入和类似物。处理资源可用以呈现用户接口,处理从企业资源504接收的数据,和类似情况。由安全应用代理服务器518所执行的虚拟化应用程序526在企业资源504处使用的资源可包含用户接口产生资源、处理资源和类似物。用户接口产生资源可用以组装用户接口,修改用户接口,刷新用户接口和类似情况。处理资源可用以创建信息,读取信息,更新信息,删除信息和类似情况。举例来说,虚拟化应用程序可记录与图形用户接口(gui)相关联的用户互动,且将其传达到服务器应用程序,其中服务器应用程序将使用用户交互数据作为到在服务器上操作的应用程序的输入。在此布置中,企业可选择维持服务器侧上的应用程序,以及与应用程序相关联的数据、文件等。虽然企业可通过使一些应用程序安全以用于在移动装置上部署来根据本文中的原理选择“动员”一些应用程序,但也可以针对某些应用程序选择这布置。举例来说,虽然可使一些应用程序安全以用于在移动装置上使用,但是其它可能未做准备,或可能不适合于在移动装置上部署,因此企业可选择通过虚拟化技术提供到未准备的应用程序的移动用户访问。作为另一实例,企业可具有具大且复杂的数据集的大复杂应用程序(例如,材料资源计划应用程序),其中针对移动装置定制应用程序将很困难或另外不合需要,因此企业可选择通过虚拟化技术提供对应用程序的访问。作为又一实例,企业可具有维持高度安全的数据(例如,人力资源数据、客户数据、工程数据)的应用程序,所述高度安全的数据可被企业认为对于甚至安全的移动环境也是过于敏感,因此企业可选择使用虚拟化技术来准许对此类应用程序和数据的移动访问。企业可选择在移动装置上提供充分安全且充分功能性的应用程序,以及提供虚拟化应用程序,以允许对被认为在服务器侧上操作更恰当的应用程序的访问。在实施例中,虚拟化应用程序可在安全存储位置中的一个中将一些数据、文件等存储在移动电话上。举例来说,企业可选择允许在通电话中存储某些信息,同时不准许其它信息。

关于虚拟化应用程序,如本文中所描述,移动装置可具有被设计成呈现gui且接着记录与gui的用户交互的虚拟化应用程序。应用程序可将用户交互传达到服务器侧,以由服务器侧应用程序用作与所述应用程序的用户交互。作为响应,服务器侧上的应用程序可将新gui传输回到移动装置。举例来说,新gui可以是静态页、动态页、动画或类似物,由此提供对位于远处的资源的访问。

安全应用程序可访问存储于移动装置的管理的分割区510中的安全数据容器528中的数据。完全处于安全数据容器中的数据可由安全包装的应用程序514、由安全应用代理服务器522执行的应用程序、由安全应用代理服务器522执行的虚拟化应用程序526和类似物访问。存储于安全数据容器528中的数据可包含文件、数据库和类似物。存储于安全数据容器528中的数据可包含限于具体安全应用程序530、在安全应用程序532当中共享和类似情况的数据。限于安全应用程序的数据可包含安全一般数据534和高度安全数据538。安全一般数据可使用例如高级加密标准(aes)128位加密或类似物的强加密形式,而高度安全数据538可使用例如aes256位加密的非常强加密形式。在从装置管理器524接收到命令后,可从装置删除存储于安全数据容器528中的数据。安全应用程序可具有双模式选项540。双模式选项540可给用户呈现在不安全或未管理模式中操作安全的应用程序的选项。在不安全或未管理模式中,安全应用程序可访问存储于移动装置502的未管理分割区512上的不安全数据容器542中的数据。存储于不安全数据容器中的数据可以是个人数据544。存储于不安全数据容器542中的数据也可以由正在移动装置502的未管理分割区512上运行的不安全应用程序548访问。当从移动装置502删除存储于安全数据容器528中的数据时,存储于不安全数据容器542中的数据可保持在移动装置502上。企业可能想要从移动装置删除由企业拥有、许可或控制的所选定的或所有数据、文件和/或应用程序(企业数据),同时留下或以其它方式保存由用户拥有、许可或控制的个人数据、文件和/或应用程序(个人数据)。此操作可被称作选择性擦拭。通过根据本文中描述的方面布置的企业和个人数据,企业可执行选择性擦拭。

移动装置可连接到在企业处的企业资源504和企业服务508,连接到公用因特网548,和类似物。移动装置可通过虚拟专用网络连接而连接到企业资源504和企业服务508。虚拟专用网络连接(也被称作microvpn或专用vpn)可具体针对特定应用程序550、特定装置、移动装置上的特定安全区和类似物552。举例来说,电话的安全区中的包装的应用程序中的每一个可通过应用程序具体vpn来访问企业资源,使得将基于与应用程序相关联的属性来准予对vpn的访问,可能结合用户或装置属性信息。虚拟专用网络连接可载有微软交换业务量、微软活动目录业务量、超文本传送协议(http)业务量、加密的超文本传输协议(https)业务量、应用程序管理业务量和类似物。虚拟专用网络连接可支持和实现单点登录鉴定过程554。单点登录过程可以允许用户提供鉴定凭证的单个集合,所述鉴定凭证接着由鉴定服务558验证。鉴定服务558可接着准予用户访问多个企业资源504,而不需要用户将鉴定凭证提供到每一个别企业资源504。

虚拟专用网络连接可由接入网关560建立和管理。接入网关560可包含管理、加速和改善企业资源504到移动装置502的传递的性能增强特征。接入网关还可重新规划从移动装置502到公用因特网548的业务量,从而使移动装置502能够访问在公用因特网548上运行的公开可用且不安全的应用程序。移动装置可经由传送网络562连接到接入网关。传送网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公用网络、私用网络和类似物。

企业资源504可包含电子邮件服务器、文件共享服务器、saas应用程序、web应用程序服务器、windows应用程序服务器和类似物。电子邮件服务器可包含交换服务器、lotusnotes服务器和类似物。文件共享服务器可包含sharefile服务器和类似物。saas应用程序可包含salesforce和类似物。windows应用程序服务器可包含经建造以提供希望在本地windows操作系统上运行的应用程序和类似物的任一应用程序服务器。企业资源504可以是基于房产的资源、基于云的资源和类似物。企业资源504可由移动装置502直接或通过接入网关560访问。企业资源504可由移动装置502经由传送网络562访问。传送网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公用网络、私用网络和类似物。

企业服务508可包含鉴定服务558、威胁检测服务564、装置管理器服务524、文件共享服务568、策略管理器服务570、社交集成服务572、应用程序控制器服务574和类似物。鉴定服务558可包含用户鉴定服务、装置鉴定服务、应用程序鉴定服务、数据鉴定服务和类似物。鉴定服务558可使用证书。证书可由企业资源504和类似物存储在移动装置502上。存储在移动装置502上的证书可存储于移动装置上的经加密位置中,所述证书可临时地存储于移动装置502上,以供在鉴定时使用,和类似情况。威胁检测服务564可包含入侵检测服务、未授权的访问尝试检测服务和类似物。未授权的访问尝试检测服务可包含未授权的尝试访问装置、应用程序、数据和类似物。装置管理服务524可包含配置、布建、安全、支持、监测、报告和退除服务。文件共享服务568可包含文件管理服务、文件存储服务、文件合作服务和类似物。策略管理器服务570可包含装置策略管理器服务、应用策略管理器服务、数据策略管理器服务和类似物。社交集成服务572可包含联系人集成服务、合作服务、与例如facebook、twitter和linkedin的社交网络的集成,和类似物。应用程序控制器服务574可包含管理服务、布建服务、部署服务、指派服务、撤销服务、包装服务和类似物。

企业移动性技术架构500可包含应用程序商店578。应用程序商店578可包含展开的应用程序580、预先包装的应用程序582和类似物。可从应用程序控制器574将应用程序填充在应用程序商店578中。应用程序商店578可由移动装置502通过接入网关560、通过公用因特网548或类似物访问。应用程序商店可具备直观且易于使用的用户接口。

软件开发工具包584可给用户提供通过包装应用程序(如先前在本说明书中所描述)而使由用户选择的应用程序安全的能力。接着通过使用应用程序控制器574将已使用软件开发工具包584包装的应用程序填充于应用程序商店578中,可使所述应用程序可用于移动装置502。

企业移动性技术架构500可包含管理和分析能力588。管理和分析能力588可提供与使用资源的方式、使用资源的频率和类似物有关的信息。资源可包含装置、应用程序、数据和类似物。使用资源的方式可包含哪些装置下载哪些应用程序,哪些应用程序访问哪些数据,和类似物。使用资源的频率可包含已下载应用程序的频率、具体数据集已由应用程序访问多少次和类似物。

图6是另一说明性企业移动性管理系统600。为简单起见,已省略以上参看图5描述的移动性管理系统500的组件中的一些。图6中描绘的系统600的架构在许多方面类似于以上参看图5描述的系统500的架构,且可包含以上未提到的额外特征。

在此情况下,左侧表示向客户端代理604登记过的移动装置602,其与网关服务器606(其包含接入网关和应用程序控制器功能性)交互以访问各种企业资源608和服务609,例如交换、sharepoint、公钥基础设施(pki)资源、kerberos资源、证书发布服务,如在右侧上方所展示。虽然未具体展示,但移动装置602还可与企业应用程序商店(storefront)交互以用于应用程序的选择和下载。

客户端代理604充当用于在企业数据中心中代管的windows应用程序/桌面的ui(用户接口)中间物,使用高清用户体验(hdx)/ica显示远程协议来访问所述windows应用程序/桌面。客户端代理604还支持在移动装置602上的原生应用程序(例如原生ios或android应用程序)的安装和管理。举例来说,在上图中展示的管理的应用程序610(邮件、浏览器、包装的应用程序)都是在装置上本地执行原生应用程序。此架构的客户端代理604和应用程序管理框架用以提供策略驱动管理能力和特征,例如到企业资源/服务608的连接性和sso(单点登录)。客户端代理604通过到其它网关服务器组件的sso来处置对企业的主要用户鉴定,通常对接入网关(ag)的主要用户鉴定。客户端代理604从网关服务器606获得策略以控制移动装置602上的管理的应用程序610的行为。

原生应用程序610与客户端代理604之间的安全进程间通信(ipc)链路612表示管理信道,其允许客户端代理供应将由“包装”每一应用程序的应用程序管理框架614施行的策略。ipc信道612还允许客户端代理604供应实现到企业资源608的连接性和sso的凭证和鉴定信息。最后,ipc信道612允许应用程序管理框架614调用由客户端代理604实施的用户接口功能,例如线上和离线鉴定。

客户端代理604与网关服务器606之间的通信基本上为从包装每一原生管理的应用程序610的应用程序管理框架614的管理信道的延伸。应用程序管理框架614请求来自客户端代理604的策略信息,客户端代理604又向网关服务器606请求所述信息。应用程序管理框架614请求鉴定,且客户端代理604登录网关服务器606(也称为netscaler接入网关)的网关服务部分。客户端代理604还可呼叫网关服务器606上的支持服务,网关服务器606可产生输入材料以导出用于本地数据库616的加密密钥,或提供可实现对pki保护的资源的直接鉴定的客户端证书,如以下更充分地解释。

更详细地,应用程序管理框架614“包覆”每一管理的应用程序610。这可经由明确的建造步骤或经由后建造处理步骤来并入。应用程序管理框架614可在应用程序610的第一次启动后与客户端代理604“配对”以初始化安全ipc信道和获得用于那个应用程序的策略。应用程序管理框架614可施行策略的局部应用的相关部分,例如客户端代理登录相依性和限制可使用本地os服务的方式的包容策略中的一些,或其可与应用程序610交互的方式。

应用程序管理框架614可使用由客户端代理604在安全ipc信道612上提供的服务以有助于鉴定和内网访问。用于私用和共享数据库616(容器)的密钥管理还可通过管理的应用程序610与客户端代理604之间的适当交互来管理。库616可只在线上鉴定后可用,或如果策略允许,可在离线鉴定后使之可用。库616的第一次使用可能需要线上鉴定,且离线访问可限于至多在再次需要线上鉴定前的策略刷新周期。

对内部资源的网络接入可通过接入网关606直接从个别管理的应用程序610发生。应用程序管理框架614负责代表每一应用程序610编排网络接入。客户端代理604可通过提供在线上鉴定后获得的合适时间有限次要凭证来有助于这些网络连接。可使用多个网络连接模式,例如反向网络代理连接和端对端vpn样式隧道618。

邮件和浏览器管理的应用程序610具有特殊状态,且可使用通常可能不可用于任意包装的应用程序的设施。举例来说,邮件应用程序可使用允许其在延长的时间周期上访问交换而不需要充分ag登录的特殊背景网络接入机制。浏览器应用程序可使用多个私人数据库分隔不同种类的数据。

此架构支持各种其它安全特征的合并。举例来说,在一些情况下,网关服务器606(包含其网关服务)将不需要验证活动目录(ad)密码。可使其作出企业断定——在一些情况下,是否将ad密码用作用于一些用户的鉴定因素。如果用户在线上或离线(即,连接或未连接到网络),那么可使用不同鉴定方法。

设置鉴定为一项特征,其中网关服务器606可识别允许能够访问需要强鉴定的高度分类的数据的管理的原生应用程序610,且确保只在执行适当鉴定后准许对这些应用程序的访问,即使这意味着在先前较弱等级的登录后,需要用户重新鉴定。

此解决方案的另一安全特征为移动装置602上的数据库616(容器)的加密。库616可经加密使得包含文件、数据库和配置的所有装置上数据受到保护。对于线上库,可将密钥存储于服务器(网关服务器606)上,且对于离线库,密钥的本地副本可受到用户密码或生物标识验证保护。当将数据本地存储于安全容器616中的装置602上时,优选地,利用aes256加密算法的最小值。

也可实施其它安全容器特征。举例来说,可包含记录特征,其中将在应用程序610内部发生的所有安全事件记录且报道到后端。可支持数据擦拭,例如,如果应用程序610检测到篡改,那么可用随机数据重写相关联的加密密钥,从而在文件系统上不留下用户数据被毁坏的暗示。截屏保护是另一特征,其中应用程序可防止任何数据存储于截屏中。举例来说,可将密钥窗的隐藏性质设定成是(yes)。这可使当前显示于屏幕上的不管什么内容被隐藏,从而导致任何内容将通常驻留的空白截屏。

可防止本地数据传送,例如通过防止任何数据在本地传送到应用程序容器之外,例如,通过将其复制或将其发送到外部应用程序。键盘高速缓存特征可操作以针对敏感性文本框停用自动校正功能性。ssl证书验证可以是可操作的,因此应用程序具体地验证服务器ssl证书,而非将其存储于密钥链中。可使用加密密钥产生特征,使得使用由用户供应的通行短语或生物识别数据(如果需要离线访问)产生用以加密装置上的数据的密钥。如果不需要离线访问,那么可将其与随机产生且存储于服务器侧上的另一密钥进行异或运算。密钥导出函数可运算,使得从用户密码产生的密钥使用kdf(密钥导出函数,值得注意地,基于密码的密钥导出函数2(pbkdf2)),而非创建其密码杂凑。后者使密钥对蛮力或词典攻击敏感。

另外,可在加密方法中使用一或多个初始化向量。初始化向量将使相同加密数据的多个复本产生不同编密文本输出,从而防止重放和密码分析攻击。如果用以加密数据的具体初始化向量并不已知,那么这也将防止攻击者甚至用被盗的加密密钥解密任何数据。另外,可使用鉴定,然后解密,其中只在用户已在应用程序内鉴定后解密应用程序数据。另一特征可涉及存储器中的敏感数据,仅当需要时,可将敏感数据保持在存储器中(并且不在磁盘中)。举例来说,可在登录后从存储器擦拭登录凭证,且不存储在面向对象的c语言个例变量内部的加密密钥和其它数据,因为它们可易于参考。取而代之,可针对这些手动分配存储器。

可实施不活动超时,其中在不活动的策略定义周期后,终止用户会话。

可以其它方式防止来自应用程序管理框架614的数据泄漏。举例来说,当将应用程序610放在背景中时,可在预定(可配置)时间周期后清除存储器。当作为背景时,可拍摄应用程序的最后显示的屏幕的快照以使前台处理工艺牢固。截屏可含有机密数据且因此应被清除。

另一安全特征涉及使用otp(一次性密码)620,不使用ad(活动目录)622密码,用于对一或多个应用程序访问。在一些情况下,一些用户不知道(或不准许知道)其ad密码,因此这些用户可使用otp620鉴定,例如通过使用像securid的硬件otp系统(otp可由不同供应商提供,并且,例如entrust或gemalto)。在一些情况下,在用户用用户id鉴定后,将文本与otp620一起发送到用户。在一些情况下,这可只针对线上使用来实施,其中提示为单个字段。

对于经由企业策略准许离线使用的那些应用程序610,可实施离线密码,以用于离线鉴定。举例来说,企业可能想要以此方式访问storefront。在此情况下,客户端代理604可需要用户设定定制离线密码,且不使用ad密码。网关服务器606可提供策略来控制和施行关于最小长度、字符类别组成和密码的年限的密码标准,例如,由通过标准windows服务器密码复杂度要求来描述,但可修改这些要求。

另一特征涉及针对某些应用程序610启用客户端侧证书,作为次要凭证(出于经由应用程序管理框架微vpn特征访问pki保护的网络资源的目的)。举例来说,应用程序可利用此证书。在此情况下,可支持使用activesync协议的基于证书的鉴定,其中来自客户端代理604的证书可由网关服务器606检索且用于密钥链中。每一管理的应用程序可具有由在网关服务器606中定义的标签识别的一个相关联的客户端证书。

网关服务器606可与企业专用网络服务交互以支持客户端证书的发布以允许相关管理的应用程序对内部pki保护的资源鉴定。

客户端代理604和应用程序管理框架614可被增强以支持获得和使用客户端证书用于对内部pki保护的网络资源鉴定。可支持多于一个证书,以便匹配各种等级的安全和/或分开要求。所述证书可由邮件和浏览器管理的应用程序使用,且最终由任意包装的应用程序使用(假设那些应用程序使用网络服务样式通信模式,在所述模式中,应用程序管理框架调节https请求是合理的)。

ios上的应用程序管理客户端证书支持可依赖于在每一使用周期内将公钥密码术标准(pkcs)12blob(二进制大对象)导入到每一管理的应用程序中的ios密钥链内。应用程序管理框架客户端证书支持可使用具有私用存储器内密钥存储的https实施方案。客户端证书将从不存在于ios密钥链中,且将不维持,除了潜在地在受到强保护的“仅线上”数据值中之外。

也可通过需要将移动装置602对企业鉴定来实施互ssl以提供额外安全,且反之亦然。也可实施用于对网关服务器606鉴定的虚拟智能卡。

有限和完全的kerberos支持两者都可以是额外特征。完全支持特征涉及使用活动目录(ad)密码或受信任的客户端证书进行到ad622的完全kerberos登录和获得kerberos服务票以响应http协商鉴定难题的能力。有限支持特征涉及在citrix接入网关企业版(agee)中的受约束的委托,其中agee支持调用kerberos协议转变,因此其可响应于http协商鉴定难题获得且使用kerberos服务票(经受受约束的委托)。此机制在反向网络代理(又名,公司虚拟专用网络(cvpn))模式中工作,且当http(但非https)连接是在vpn和microvpn模式中代理时。

另一特征涉及应用程序容器锁定和擦拭,其可在越狱或生根检测后自动发生,和随着来自管理控制台的推送的命令而发生,且可包含远程擦拭功能性,甚至当应用程序610不在运行中时。

可支持企业应用程序商店和应用程序控制器的多位点架构或配置,在有故障的情况下,其允许用户为来自若干不同位置中的一个的服务。

在一些情况下,可允许管理的应用程序610经由api(实例openssl)访问证书和私用密钥。可允许企业的受信任的管理的应用程序610用应用程序的客户端证书和私用密钥执行具体公共密钥操作。因此可识别和处理各种使用情况,例如,当应用程序表现得像浏览器且不需要证书访问时,当应用程序针对“我是谁”读取证书时,当应用程序使用证书建造安全会话符记时,和当应用程序使用私用密钥用于重要数据(例如,交易记录)的数字签名或用于临时数据加密。

基于位置的服务

图7描绘根据本文中描述的一或多个说明性方面的用于基于客户端装置705的位置使一或多个装置715、720和725对客户端装置705可用的说明性系统700。系统700可包含一或多个客户端装置,例如装置705。客户端装置705可包括先前描述的客户端装置中的任一个,例如终端240、客户端计算机411到414、移动装置502或移动装置602。

系统还可包含一或多个位置707和/或710。举例来说,位置707可包括建筑物(例如,办公楼)、在建筑物内的楼层(例如,办公楼的第三层)或楼层内的区域(例如,办公楼的第三层的北半边)。位置707不限于建筑物、楼层或楼层的区域,且包括位置707的区可以任一方式界定,不管所述区是否由例如门和墙的物理障碍物分开。

位置707可具有在位置707的边界内的一或多个位置,例如位置710。举例来说,位置710可包括房间(例如,会议(meeting或conference)室、办公室、小室、自助餐厅等),或位置707内不可由物理障碍物分开的区域,例如接待处、开放工作空间、走廊或庭院。位置710不限于先前列举的实例,且可以任一方式界定包括位置710的区,不管所述区是否由物理障碍物分开。

一或多个装置可定位于位置710内。举例来说,打印机715、打印机720和扫描仪725可位于复印室710内。打印机715、打印机720和扫描仪725中的每一个可具有位置传感器,其用以将位置和/或装置信息传输到在位置传感器的范围内出现的其它装置(例如客户端装置705)。可将位置传感器放置于装置上,和/或可将其集成于装置内(例如,在装置的内部)。位置传感器可包括短程无线位置传感器,例如蓝牙(包含蓝牙低功耗(ble))、近场通信(nfc)或任一其它短程无线传感器。客户端装置705可与每一装置715、720和725的位置传感器通信,如下文将进一步详细描述。位置710还可具有其自身的位置传感器730。举例来说,位置传感器730可定位于房间710内部,仅在房间710外,或在房间710的入口通道(例如,门)处。位置707还可具有其自身的位置传感器735。举例来说,如果位置707包括建筑物中的楼层,那么可将位置传感器735放置于所述楼层上的某处,例如,在到所述楼层的入口通道附近(例如,在电梯、楼梯或到所述楼层的其它入口通道附近)。

系统700还可包含网关服务器740。网关服务器740可包括先前描述的服务器中的任一个,例如计算装置201、服务器206、虚拟化服务器301、管理服务器410、企业资源504、企业服务508、接入网关560或网关服务器606。网关服务器740可与客户端装置705通信以使装置715、720和/或725的服务(例如,打印或扫描服务)可用于客户端装置705,如下文将进一步详细描述。系统700可以任选地包含打印服务器745。打印服务器745可将打印机715、打印机720和扫描仪725连接到网关服务器740和/或客户端装置705。打印服务器745可接受来自客户端装置705的打印或扫描作业,且将作业发送到适当打印机或扫描仪715、720或725。打印服务器745可与网关服务器740集成在一起,或包括与网关服务器740分开的服务器。

系统700可以任选地包括一或多个云装置750。所述云装置750可包括先前描述的云装置中的任一个,例如云管理服务器410、区401中的云计算资源和/或区402中的云计算资源,如图4中所说明。在一些方面,云装置750可执行与如本文中所描述的网关服务器740和/或打印服务器745相同的功能中的一或多个(例如,与客户端装置705通信,与装置715、720和/或725通信,接受和发送打印或扫描作业等)。

图8说明根据本文中描述的一或多个说明性方面的基于客户端装置705的位置使一或多个装置可用于客户端装置705的实例方法。在步骤810中,客户端装置705可连接到网关服务器740、打印服务器745和/或云装置750。举例来说,客户端装置705可经由安全隧道与网关服务器740通信。客户端装置705(或其用户)还可用网关服务器740鉴定。

在步骤815中,客户端装置705可确定是否已检测到位置传感器。客户端装置705(例如,经由客户端装置应用程序)可收听来自(例如)ble或其它短程无线信号灯的信号。如先前所解释,可将位置传感器放置在个别打印机或其它装置上、特定房间中、特定楼层中等。如果客户端装置705未检测到位置传感器(步骤815:n),那么客户端装置705可继续收听来自位置传感器的信号。另一方面,如果客户端装置705检测到位置传感器(步骤815:y),那么客户端装置可继续进行到步骤820。

在步骤820中,客户端装置705可确定客户端装置705与在步骤815中检测到的位置传感器之间的距离。举例来说,客户端装置705可确定从位置传感器接收的信号(例如,ble信号)的强度,例如接收信号强度指示符(rssi)。接收信号强度可用以计算客户端装置705与位置传感器之间的距离。测得的距离可包括具体距离(例如,5英尺、2米等)。另外或替代地,测得的距离可包括一系列距离,例如,靠近(例如,0到5英尺)、中等距离(例如,5到10英尺)和远(例如,10到30英尺)。

在步骤825中,客户端装置705可确定客户端装置705与检测到的位置传感器之间的距离是否小于阈值。阈值可由管理员预先配置。举例来说,假定阈值为20英尺。如果客户端装置705远离位置传感器25英尺(例如,步骤825:n),那么客户端装置705可返回到步骤815以收听位置传感器信号。如果客户端装置705远离位置传感器17英尺(例如,步骤825:y),那么客户端装置705可继续进行到步骤830。

在步骤830中,客户端装置705可以任选地向位置传感器请求信息,例如识别符。识别符可唯一地识别位置传感器和/或与位置相关联的装置(例如打印机)。举例来说,识别符可包括例如以下的信息:打印机名称、打印机类型、打印机ip地址或识别与位置传感器相关联的打印机的任何其它信息。如果位置传感器与房间、楼层或空间的任何其它区相关联,那么识别符可唯一地识别位置传感器和/或与所述位置传感器相关联的房间、楼层或空间的其它区。在一些方面,客户端装置705向位置传感器请求信息可以是任选的。取而代之,位置传感器可发送不等待来自客户端装置705的请求的信息。在步骤835中,客户端装置705可从位置传感器接收用于位置传感器的识别符(或其它有效负载信息)。

在步骤840中,客户端装置705可以任选地将位置识别符发送到网关服务器740,例如经由虚拟信道。客户端装置705可将额外信息发送到网关服务器740,例如打印创建数据(例如,用以创建打印作业的数据)。网关服务器740可收听来自客户端装置705的打印机信息且使用此信息创建在与客户端装置705的会话内部的管理的打印机。如先前解释,网关服务器740可协调打印服务与打印服务器745和/或云装置750。

在步骤845中,网关服务器740可确定对应于位置传感器的识别符的打印机或其它装置。数据库可使用于每一位置传感器的识别符与一或多个装置、房间、楼层等相关。网关服务器740可用位置传感器识别符查询数据库,且接收对应的装置、房间、楼层等。举例来说,如果位置传感器识别符对应于打印机715,那么数据库可将用于打印机715的识别符(例如,打印机名称、打印机ip地址或用于打印机的其它唯一识别符)返回到网关服务器740。如果从客户端装置705接收的位置传感器识别符已识别打印机715,那么网关服务器740可不查询数据库。

如果位置传感器识别符对应于具有多于一个装置的区(例如,房间、楼层、建筑物),那么网关服务器740可确定对应于所述识别符的打印机或其它装置。举例来说,如果位置传感器识别符识别到位置传感器730(在房间710中),那么网关服务器740可确定对应的装置为打印机715、打印机720和扫描仪725。在一些方面,客户端装置705可确定对应于识别符的装置,而非作出确定的网关服务器740。因此,步骤840可以是任选的,且客户端装置705可执行步骤845,如先前所描述。

在步骤850中,网关服务器740(或客户端装置705)可使对应的打印机或其它装置可用于客户端装置705。举例来说,网关服务器740可将打印机或其它装置映射到客户端装置705。映射可在虚拟会话内进行。在一些方面,用于打印机或其它装置的驱动程序可预先安装在网关服务器740、打印服务器745或云装置750处。如果未安装驱动程序,那么网关服务器740可下载和安装对应于在步骤845中确定的打印机或其它装置的驱动程序。在一些方面,可通过使用citrix通用打印服务器来消除下载和/或安装打印机驱动程序。

在步骤855中,网关服务器740(或客户端装置705)可确定是否使打印机或其它装置中的一个为默认装置,且在步骤860中,如果可适用,网关服务器740(或客户端装置705)可将选定打印机或其它装置设定为默认装置。如果位置传感器与单个装置(例如,打印机715)相关联,那么可使那个装置为默认装置。替代地,设定为默认装置的装置可以是最靠近客户端装置705的装置。参看图7,假定客户端装置705已映射扫描仪725和打印机720。响应于客户端装置705映射打印机715,客户端装置705可确定打印机715、打印机720还是扫描仪725最靠近客户端装置705。先前参看步骤820描述了确定距离。如果扫描仪725最靠近,那么客户端装置705可映射打印机715,但可不将打印机715设定为默认打印机,因为扫描仪725仍然更靠近客户端装置705。客户端装置705可连续地或周期性地确定其与一或多个装置的距离,且因此将装置设定为默认装置。

如果位置传感器与多个装置相关联(例如,位置传感器730与具有三个装置的房间710相关联),那么客户端装置705可将最靠近的装置设定为默认装置,如先前所解释。如果装置不具有其自身的用于确定到客户端装置705的距离的位置传感器,那么可预先配置默认装置。举例来说,可将打印机720预先配置为用于房间710的默认装置,且客户端装置705可映射所有三个装置,但在步骤860中将打印机720设定为默认。

客户端装置705可显示用于使之可用于客户端装置705的装置的图标(例如打印机图标)。这可允许用户选择用于打印机的图标以使用服务,例如打印服务。图10说明根据本文中描述的一或多个说明性方面的可用于客户端装置705的实例显示屏1000显示装置。客户端装置705可能不在任何装置的范围内。显示屏1000可包含可用装置的列表1005(当前无)。显示屏1000还可显示器允许用户搜索一或多个装置的搜索条1010。显示屏1000还可显示指示无装置可用且请求用户在装置的范围内移动的消息1015。

图11说明根据本文中描述的一或多个说明性方面的可用于客户端装置705的另一实例显示屏1100显示装置。举例来说,用户可能已走到房间710内,且客户端装置705可在打印机715、打印机720和扫描仪725中的每一个的范围内。显示屏1100可包含可用装置的列表1105。显示屏1100可在列表1105中列出每一可用装置。举例来说,列表1105可包含扫描仪725(参考1110)、打印机720(参考1115)和打印机715(参考1120)。此外,显示屏1100可指示扫描仪725已被设定为默认装置。

一旦已针对一或多个装置配置客户端装置705,那么客户端装置705的用户可使用由所述一或多个装置提供的资源。举例来说,客户端装置705可将打印作业(与打印创建数据一起)发送到网关服务器740、打印服务器745和/或云装置750。服务器和/或云装置可将打印作业转发到默认打印机(或由用户选择的打印机)。因此,用户可使用在虚拟会话内部的管理的打印机,而不必手动添加打印机。

图9说明根据本文中描述的一或多个说明性方面的基于客户端装置705的位置使一或多个装置不可用于客户端装置705的实例方法。在步骤910中,客户端装置705可确定其与位置传感器之间的距离。确定距离先前参照步骤820描述了,且将不在此处重述。客户端装置705可连续地或周期性地监测距每一位置传感器的距离。

在步骤915中,客户端装置705可确定其与位置传感器之间的距离大于阈值。阈值可与在步骤825中使用的阈值相同,或为不同阈值。如果距离不大于阈值(步骤915:n),那么客户端装置705可返回到步骤910以监测距离。另一方面,如果距离大于阈值(步骤915:y),那么客户端装置705可继续进行到步骤920。

在步骤920中,客户端装置705可将请求发送到网关装置740以使对应于位置传感器的打印机或其它装置不可用(或另外将其从打印机或其它装置的列表去除)。举例来说,如果用户走出信号灯阈值或范围外时,客户端装置705可在用于网关服务器740的虚拟信道上通信以去除(例如,不映射)对应于信标的装置。客户端装置705还可发送恢复先前默认装置(例如,紧接在前的默认装置或主默认装置)或新默认装置(例如,下一个最靠近的装置)的请求。并非将请求发送到网关装置740,客户端装置705可自身去除打印机或其它装置和/或恢复先前默认装置或设定新默认装置。

在步骤925中,客户端装置740(或客户端装置705)可使对应于位置传感器的打印机或其它装置不可用(或另外将其从打印机或其它装置的列表去除)。举例来说,网关服务器740可删除对应的打印机或其它装置,且恢复先前默认打印机或其它装置。

并非使用阈值来确定是否去除打印机,客户端装置705可请求一旦客户端装置705在位置传感器的范围之外即去除打印机。如先前所解释,客户端装置705还可去除打印机自身,而非将请求发送到网关服务器740。

图12说明根据本文中描述的一或多个说明性方面的可用于客户端装置705的实例显示屏1200显示装置。明确地说,客户端装置705的用户可能已移动到图7中说明的打印机715的阈值范围外。因此,如显示屏1200中所说明,可从可用装置的列表1205去除打印机715。然而,用户可仍然在扫描仪725和打印机720的范围内。因此,列表1205可包含扫描仪725(参考1210)和打印机720(参考1215)。

在一些方面,装置或位置可用例如条形码或快速响应(qr)码的光学标签来加标签。客户端装置705的用户可使用客户端装置705(或连接到客户端装置705)的相机或其它光学扫描仪捕获光学标签的图像。光学标签可包含用于对应的装置或位置的识别符(或到具有识别符的网络位置的链接)。在接收到识别符后,客户端装置705可继续进行到步骤840和图8中说明的后续步骤中的一或多个以使对应的装置可用于客户端装置705。

虚拟打印

图13描绘根据本文中描述的一或多个说明性方面的用于基于用户(例如,客户端)装置705的位置的虚拟打印的说明性系统1300。如先前所描述,系统1300可以包含(例如)客户端装置705和位置707和/或710。系统1300还可包含例如打印机715、打印机720和扫描仪725的一或多个装置,且所述装置中的每一个可以任选地具有用以将位置和/或装置信息传输到来到位置传感器的范围内的其它装置(例如客户端装置705)的位置传感器。位置传感器可包括短程无线位置传感器,例如蓝牙(包含蓝牙低功耗(ble))、近场通信(nfc)或任一其它短程无线传感器。每一位置707和710可以分别任选地具有其自身的位置传感器,例如位置传感器735和位置传感器730。在一些方面,位置传感器可另外或替代地包括可光学扫描码。举例来说,装置或位置可用例如条形码或qr码的光学标签来加标签,如先前所描述。

系统1300可包括服务器1340。服务器1340可包括先前描述的服务器中的任一个,例如计算装置201、服务器206、虚拟化服务器301、管理服务器410、企业资源504、企业服务508、接入网关560或网关服务器606。服务器1340可与客户端装置705通信以接收识别物理打印机(例如,打印机715、打印机720)或另一装置(例如,扫描仪725)的信息,以鉴定客户端装置705的用户,和/或将打印作业发送到物理打印机,如下文将进一步详细描述。服务器1340可包含接受来自客户端装置705或另一用户装置1355(例如台式计算机、笔记本电脑或任一其它用户装置)的打印或扫描作业的一或多个虚拟打印机1345。服务器1340还可包含一或多个虚拟打印队列1350,其存储从各种用户接收的虚拟打印作业,且每一用户可具有其自身的虚拟打印机1345和/或虚拟打印队列1350。换句话说,用户可从用户的装置中的任一个打印到虚拟打印机1345,且服务器1340可将存储于打印队列1350中的对应的打印作业发送到适当物理打印机715或720(或用于扫描作业的扫描仪725),如下文将详细地描述。

图14说明根据本文中描述的一或多个说明性方面的打印到虚拟打印机1345且将打印作业存储于打印队列1350中的实例方法。在步骤1410中,可配置位置传感器。举例来说,每一位置传感器(例如,短程无线信号灯或qr码)可与一或多个装置715、720和725相关到或另外相关联。如先前所描述,数据库可使用于每一位置传感器的识别符与一或多个装置、房间、楼层等相关。服务器1340可用从客户端装置705接收的位置传感器识别符查询数据库,且确定对应于所述识别符的装置、房间、楼层等。

在步骤1415中,可针对用户配置虚拟打印机1345和/或打印队列1350。管理员可针对用户提供打虚拟印机和打印队列。每一用户可被指派或另外相关联于唯一虚拟打印机1345和/或唯一打印队列1350。虚拟打印机1345可包括用户装置1355和/或客户端装置705的操作系统看作打印机且可打印到的软件应用程序。举例来说,虚拟打印机1345可包括服务器组件和客户端装置组件。客户端装置组件可安装在用户装置1355、客户端装置705或任一其它用户装置上,而服务器组件可安装在服务器1340上。用户可打印到在用户的装置上的虚拟打印机1345的客户端装置组件,且客户端装置组件可与虚拟打印机1345的服务器组件通信以将打印创建数据发送到服务器1340且将数据存储于打印队列1350中。

在步骤1420中,例如计算装置1355或客户端装置705的用户装置可连接到服务器1340。步骤1420可类似于以上描述的步骤810,且客户端装置705可经由(例如)安全隧道与服务器1340通信。

在步骤1425中,服务器1340可确定用户装置是否已打印到用户的虚拟打印机1345。举例来说,用户可选择文字处理软件、相片编辑或查看软件、文档查看软件或具有打印能力的任一其它软件中的打印选项。用户可选择将项目(例如,文档或3d部分)打印到用户的虚拟打印机1345,且如果多个打印机可用于用户,那么从(例如)下拉菜单选择虚拟打印机1345。如果用户装置将项目印刷到虚拟打印机1345(步骤1425:y),那么方法可继续进行到步骤1430。否则(步骤1425:n),方法可返回到步骤1425以确定是否已将项目打印到虚拟打印机1345。

在步骤1430中,服务器1340可从用户装置接收打印数据。举例来说,服务器1340可从例如客户端装置705或用户装置1355的用户装置接收打印创建数据(例如,用以创建打印作业的数据)。

在步骤1435中,服务器1340可基于打印创建数据产生打印作业。服务器还可将打印作业存储在用户的打印队列1350中。如先前所解释,每一用户可具有其自身的与用户的识别符(例如名称、用户名、唯一id等)相关联的打印队列1350。在一些方面,可使用citrix通用打印服务器产生打印作业和/或将打印作业存储在队列1350中。方法可返回到步骤1425以确定是否已将更多项目打印到用户的虚拟打印机1345。

图15说明根据本文中描述的一或多个说明性方面的基于用户装置的位置将打印作业发送到物理打印机的虚拟打印机的实例方法。在步骤1510中,客户端装置705可确定是否已检测到位置传感器。步骤1510可类似于先前描述的步骤815。客户端装置705的用户可在打印机和/或位置传感器的范围内行走,且监测来自短程无线传输器(例如,蓝牙信号灯)的信号,或确定qr或其它光学代码已由客户端装置705扫描到。如果客户端装置705未检测到位置传感器(步骤1510:n),那么客户端装置705可继续收听来自位置传感器的信号。另一方面,如果客户端装置705检测到位置传感器(步骤1510:y),那么客户端装置可继续进行到步骤1515。

在步骤1515中,客户端装置705可确定客户端装置705与在步骤1510中检测到的位置传感器之间的距离。客户端装置705还可确定客户端装置705与检测到位置传感器之间的距离是否小于阈值。步骤1515可类似于先前描述的步骤820和/或825。如果客户端装置705与位置传感器之间的距离不小于阈值(步骤1515:n),那么客户端装置705可返回到步骤1510以收听位置传感器信号。如果客户端装置705与位置传感器之间的距离小于阈值(例如,步骤1515:y),那么客户端装置705可继续进行到步骤1520。如果将例如qr码的光学标签用作位置传感器,那么可不执行步骤1515。

在步骤1520中,客户端装置705可以任选地向位置传感器请求信息,例如识别符。步骤1520可类似于先前描述的步骤830。在一些方面,客户端装置705向位置传感器请求信息可以是任选的。取而代之,位置传感器可发送不等待来自客户端装置705的请求的信息。在步骤1525中,客户端装置705可从位置传感器接收用于位置传感器的识别符(或其它有效负载信息)。

在步骤1530中,客户端装置705可以任选地将位置识别符发送到服务器1340,例如,经由虚拟信道。客户端装置705可将额外信息发送到服务器1340,例如打印创建数据(例如,用以创建打印作业的数据)。步骤1530可类似于先前描述的步骤840。

在步骤1535中,服务器1340可确定对应于位置传感器的识别符的打印机或其它装置。步骤1535可类似于先前描述的步骤845。举例来说,数据库可使用于每一位置传感器的识别符与一或多个装置、房间、楼层等相关,且服务器1340可用位置传感器识别符查询数据库以确定对应的装置、房间、楼层等。替代地,如果从客户端装置705接收的位置传感器识别符已识别到打印机715,那么服务器1340可不查询数据库。

在步骤1540中,服务器1340可确定用户是否具有在用户的打印队列1350中的一或多个打印作业。如先前所解释,每当用户打印到虚拟打印机1345时,服务器1340可将对应的打印作业(与打印创建数据一起)存储在打印队列1350中。如果用户不具有在打印队列中的任何打印作业(步骤1540:n),那么所述过程可结束,服务器1340可继续监测用户的打印队列中的新打印作业,和/或服务器1340可继续监测新位置传感器id。如果用户确实具有一或多个打印作业(步骤1540:y),那么服务器可继续进行到步骤1545。

在步骤1545中,服务器1340和/或客户端装置705可产生对将打印作业打印到识别的打印机的权限的请求。举例来说,客户端装置705可请求用户的权限以将用户的打印作业中的一或多个导引到由服务器1340识别的打印机。客户端装置705可振动,显示通知,显示提示,或另外显示对于用户批准打印作业的请求。

图16说明根据本文中描述的一或多个说明性方面的显示对打印到打印机的权限的请求1610的实例显示屏1600。举例来说,请求1610可识别打印作业和状态,例如,“您想要打印文档1吗?”请求1610可以任选地识别物理打印机。请求1610可包含对于用户准予请求(“是”)的选项和对于用户拒绝请求(“否”)的选项。在一些方面,多个物理打印机可以是可用的,例如如果多个打印机在相同位置或在客户端装置705的范围内。用户可以能够选择打印机以用于服务器1340发送打印作业。

图17说明根据本文中描述的一或多个说明性方面的显示选择打印机打印的请求1710的实例显示屏1700。请求1710可陈述(例如)“请选择打印机打印。”请求1710还可显示用于可用打印机的可选择选项,例如打印机715和打印机720。

返回到图15,在步骤1550中,服务器1340和/或客户端装置705可确定是否准予打印请求和/或是否选择了打印机(如果多个打印机可用)。举例来说,服务器1340和/或客户端装置705可确定用户是否选择了图16中说明的“是”选项或图17中列出的打印机中的一个。如果未准予打印请求(步骤1550:n),那么所述过程可结束,服务器1340可继续监测用户的打印队列中的新打印作业,和/或服务器1340可继续监测新位置传感器id。如果准予打印请求(步骤1550:y),那么服务器可继续进行到步骤1555。

在步骤1555中,服务器1340和/或客户端装置705可确定用户是否经鉴定,例如对虚拟桌面。先前详细地描述了各种鉴定方法。如果用户经鉴定(步骤1555:y),那么服务器1340和/或客户端装置705可继续进行到步骤1575,如以下将详细地描述。如果用户未经鉴定(步骤1555:n),那么服务器可继续进行到步骤1560。

在步骤1560中,服务器1340可产生对用户经由客户端装置705鉴定的请求且将其发送到客户端装置705。在步骤1565中,客户端装置705可接收来自服务器1340的请求,且产生和/或显示对于用户鉴定的提示。举例来说,可提示用户提供凭证,例如用户名/密码、指纹、视网膜扫描、面部辨识或任何其它凭证。请求的凭证的类型可取决于装置705的能力(例如,如果客户端装置具有指纹读取器,那么是指纹;如果客户端装置具有前置相机,那么是面部辨识;等)。

在步骤1570中,服务器1340和/或客户端装置705可确定是否发生超时和/或用户已达到的鉴定尝试的最大数目(例如,3次或6次)。如果是如此(步骤1570:y),那么所述过程可结束,服务器1340可继续监测用户的打印队列中的新打印作业,和/或服务器1340可继续监测新位置传感器id。如果不(步骤1570:n),那么服务器可返回到步骤1555以确定是否使用由用户提供的凭证鉴定用户。

如果用户经鉴定(步骤1555:y),那么在步骤1575中,服务器1340可将存储于打印队列1350中的用户的打印作业中的一或多个发送到识别的打印机,例如打印机715或打印机720。举例来说,服务器1340可卷绕打印作业且将对应于打印作业的打印创建数据发送到识别的打印机。

尽管已经按具体针对结构特征和/或方法动作的语言来描述主题,但应理解,所附权利要求书中所定义的主题未必限于以上描述的具体特征或动作。相反地,以上描述的具体特征和动作被描述为所附权利要求的实例实施方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1