CN116615708A - 提供对虚拟桌面的访问和管理的系统和方法 - Google Patents

提供对虚拟桌面的访问和管理的系统和方法 Download PDF

Info

Publication number
CN116615708A
CN116615708A CN202180084048.3A CN202180084048A CN116615708A CN 116615708 A CN116615708 A CN 116615708A CN 202180084048 A CN202180084048 A CN 202180084048A CN 116615708 A CN116615708 A CN 116615708A
Authority
CN
China
Prior art keywords
virtual desktop
user
desktops
new virtual
desktop
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
CN202180084048.3A
Other languages
English (en)
Inventor
L·T·岳
C·E·拉特卡斯
L·D·克拉克
P·J·科雷赛德尔
R·J·迪萨诺
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN116615708A publication Critical patent/CN116615708A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

一种用于提供对虚拟桌面的访问的系统,包括:接收指示将指针悬停在工具栏中的图标上的输入,标识一个或多个现有虚拟桌面,通过标识当前运行在一个或多个现有虚拟桌面中的每个现有虚拟桌面中的任何应用的一个或多个实例并且确定针对一个或多个实例中的每个实例的运行状态来确定针对一个或多个现有虚拟桌面中的每个现有虚拟桌面的状态,以及响应于指针悬停在图标上,显示一个或多个现有虚拟桌面中的每个现有虚拟桌面的预览。预览可以包括针对每个现有虚拟桌面,显示一个或多个实例中的一个实例的运行状态。一种用于在客户端设备中创建新虚拟桌面的方法,包括确定新虚拟桌面是否将对客户端设备的用户有益,在确定新虚拟桌面将有益时,显示关于创建所述新虚拟桌面的通知,并且经由通知接收用户输入,用户输入指示用户对创建新虚拟桌面的批准。在接收到用户输入时,显示用于创建新虚拟桌面的用户界面元素。

Description

提供对虚拟桌面的访问和管理的系统和方法
技术领域
本公开总体涉及虚拟桌面的管理,并且更具体地,涉及一种用于提供对虚拟桌面的有效访问以及用于创建和管理虚拟桌面的方法和系统。
背景技术
由于单个设备上的计算设备的用户可获得并且使用大量应用,用户有时很难管理和追踪在其设备上同时运行的所有不同应用。为了帮助用户更好地管理他们的应用,一些计算系统提供了虚拟桌面。
虚拟桌面通常通过使用软件将计算机桌面环境的虚拟空间扩展到超出屏幕显示区域的物理限制。这可以通过使用户能够制作其桌面视口(viewpoint)的虚拟副本来实现。不同的打开窗口可以存在于每个桌面视口上,并且用户能够在不同的视口之间切换以访问不同的窗口。这可以帮助用户在视觉上和认知上分离他们的计算设备上的不同任务。因此,用户可以在不同的虚拟桌面之间切换以访问多个窗口,而不是在同一个视口中切换多个窗口。尽管虚拟桌面有助于将不同的任务分离到不同的桌面,但它们通常难以访问和管理。
因此,需要提供对虚拟桌面的访问和管理的系统和方法。
发明内容
在一个总体方面中,本公开描述了一种具有处理器和与处理器通信的存储器的数据处理系统,其中存储器存储可执行指令,可执行指令当由处理器执行时,使数据处理系统执行多种功能。这些功能可以包括接收指示将指针悬停在工具栏中的图标上的输入,标识一个或多个现有虚拟桌面,通过标识当前运行在一个或多个现有虚拟桌面中的每个现有虚拟桌面中的任何应用的一个或多个实例并且确定针对一个或多个实例中的至少一个实例的运行状态,来确定针对一个或多个现有虚拟桌面中的每个现有虚拟桌面的状态,以及响应于指针悬停在图标上,显示一个或多个现有虚拟桌面中的每个现有虚拟桌面的预览。其中预览包括针对一个或多个现有虚拟桌面中的每个现有虚拟桌面显示一个或多个实例中的一个示例的运行状态。
在又一个总体方面中,本公开描述了一种用于在客户端设备中创建新虚拟桌面的方法。该方法可以包括:确定新虚拟桌面是否将对客户端设备的用户有益,在确定新虚拟桌面将有益时,显示关于创建新虚拟桌面的通知,经由该通知接收用户输入,该用户输入指示用户对创建新虚拟桌面的批准;以及在接收到用户输入时,显示用于创建新虚拟桌面的用户界面(UI)元素。
在另一个总体方面,本公开描述了一种其上存储有指令的非瞬态计算机可读介质,指令在被执行时,使可编程设备接收指示将指针悬停在工具栏中的图标上的输入,标识一个或多个现有虚拟桌面,通过标识当前运行在一个或多个现有虚拟桌面中的每个现有虚拟桌面中的任何应用的一个或多个实例并且确定针对一个或多个实例中的至少一个实例的运行状态,来确定针对一个或多个现有虚拟桌面中的每个现有虚拟桌面的状态,以及响应于指针悬停在图标上,显示一个或多个现有虚拟桌面中的每个现有虚拟桌面的预览。其中预览包括针对一个或多个现有虚拟桌面中的每个现有虚拟桌面,显示一个或多个实例中的一个实例的运行状态。
提供本发明内容是为了以简化形式介绍一组概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决本公开的任何部分中所指出的任何或所有缺点的实现。
附图说明
附图示出了根据本教导的一个或多个实现,仅作为示例,而不是作为限制。在附图中,相同的附图标记指代相同或相似的元素。此外,应该理解的是,附图不一定是按比例绘制的。
图1示出了可以在其上实现本公开的各方面的系统的示例。
图2A-图2B是用于提供对虚拟桌面的高效访问的图形用户界面(GUI)的示例。
图3A-图3D是用于创建和管理虚拟桌面的示例GUI。
图4A是示出用于提供对虚拟桌面的访问的方法的示例的流程图。
图4B是示出建议创建对新虚拟桌面的创建的方法的示例的流程图。
图5是示出软件架构的示例的框图,软件架构的各个部分可以结合本文描述的各种硬件架构来使用。
图6是示出被配置为从机器可读介质读取指令并执行本文描述的任何特征的机器的示例的组件的框图。
具体实施方式
在下面的详细描述中,以示例的方式阐述了许多具体细节,以提供对相关教导的透彻理解。在阅读本说明书时,对普通技术人员而明显的是,在没有这样的细节的情况下,可以实践各个方面。在其他情况下,为了避免不必要地模糊本说明书的各方面,在相对较高的级别上描述了公知的方法、程序、组件和/或电路,但没有详细描述。
计算机用户可以使用虚拟桌面在视觉上和/或认知上将其打开窗口分离为不同的组。这可以帮助用户在打开多个窗口(例如,运行应用实例)时更快地访问期望的窗口。例如,当用户打开同一应用的10个不同窗口(例如,10个不同的Word文档)时,查看各个窗口并定位期望的窗口通常是困难和耗时的。通过将不同的窗口分离为位于不同虚拟桌面上的不同组,用户可以更快地定位期望的窗口。然而,为了实现效率,每个虚拟桌面本身都应该易于访问。然而,当前用于提供对不同虚拟桌面的访问的机制通常需要多个用户输入(例如,多次点击)。因此,存在提供对不同虚拟桌面的高效访问的技术问题。
此外,目前提供对虚拟桌面的访问的机制并不直观。因此,许多用户并不是不知道虚拟桌面的可用性和/或不知道如何创建和使用虚拟桌面。因此,尽管虚拟桌面的使用对许多用户而言可能非常有价值,但它目前只有很少的用户使用。因此,存在另一技术问题,即通知用户虚拟桌面的可用性并提供用于创建和管理虚拟桌面的易于使用的机制。
为了解决这些技术问题以及更多技术问题,在一个示例中,本说明书提供了一种技术方案,用于提供对虚拟桌面的高效访问,在使用虚拟桌面对用户有益时提供通知,引导用户完成创建新虚拟桌面的过程以及自动创建和/或管理虚拟桌面。为此,可以使用技术来提供虚拟桌面扩展UI。这可以通过显示可用的虚拟桌面的预览,并且当用户利用输入设备悬停在UI元素上时,使得用户能够在不同的虚拟桌面之间切换和/或创建新虚拟桌面来完成。在一个实现中,UI元素可以是任务视图任务栏图标。这提供了对不同虚拟桌面的快速高效访问。此外,当满足某些条件时,可以向用户提供通知以告知用户使用新虚拟桌面可能对他们有益。在一些实现中,还可以向用户呈现创建虚拟桌面所需的步骤。此外,在一些实现中,可以自动创建虚拟桌面,可以自动组织打开窗口并将其移动到不同的虚拟桌面中,和/或可以自动将适当的名称分配给不同的虚拟桌面。这显著增强了访问、创建和管理虚拟桌面的流程。
如本领域技术人员在阅读本公开时将理解的,这种实现提供的益处和优点可以包括但不限于,一种对当前计算机系统中的虚拟桌面的低效访问和缺乏管理能力的技术问题的技术方案。该技术方案可以使得用户能够通过执行最少的动作来快速访问可用的虚拟桌面的预览、选择期望的虚拟桌面以及创建新虚拟桌面。此外,该技术方案还提供了一种机制,用于当创建新虚拟桌面和/或引导用户完成创建虚拟桌面所需的步骤对用户有益时通知用户。此外,该技术方案提供了虚拟桌面的自动创建、命名和管理。这些基于技术的解决方案提供的益处产生了更用户友好的机制,用于提供对虚拟桌面的访问并且使能虚拟桌面的创建和管理,从而使更多用户可获得对虚拟桌面的使用。
图1示出了可以在其上实现本公开的各方面的示例系统100。系统100可以包括服务器110,其可以包括和/或执行虚拟桌面服务112和客户端设备120。服务器110可以操作为位于可由诸如客户端设备120的各种计算机客户端设备访问的企业处的共享资源服务器。该服务器还可以操作为用于提供全球虚拟桌面服务的基于云的服务器。尽管显示为一个服务器,但是服务器110可以代表用于执行各种不同操作的多个服务器。
虚拟桌面服务112可以操作为用于管理虚拟桌面的后端引擎。虚拟桌面服务112可以访问一个或多个数据集并利用一个或多个机器学习(ML)模型来创建虚拟桌面的(多个)名称,确定新虚拟桌面何时可能对用户有益和/或标识如何将不同打开窗口分类为用户的不同虚拟桌面。与虚拟桌面的创建和/或管理有关的数据可以由虚拟桌面服务112提供给诸如客户端设备120的客户端设备以用于处理和/或显示。
服务器110可以连接到(例如,经由网络105)或包括包含数据存储库132的存储服务器130。数据存储库132可以用作其中存储有包含关于用户(例如,用户的上下文信息)、不同应用和/或不同虚拟桌面的数据的一个或多个数据集的存储库。在一个实现中,数据存储库132还可以包括包含用于训练在创建和/或管理虚拟桌面中使用的ML模型的训练数据的一个或多个数据集。
客户端设备120可以经由网络105连接到服务器110。网络105可以是连接系统100的一个或多个元件的(多个)有线或无线网络或有线和无线网络的组合。客户端设备120可以是具有或连接到使用户140能够与诸如不同应用、窗口和/或虚拟桌面的内容交互的输入/输出元件的个人或手持计算设备。适合的客户端设备120的示例包括但不限于个人计算机、台式计算机、膝上型计算机、移动电话、智能电话;平板电脑;平板手机;智能手表;可穿戴计算机;游戏设备/计算机;电视;头盔显示设备等。参考图5和图6更详细地讨论了客户端设备的内部硬件结构。
客户端设备120可以包括图形操作系统122和虚拟桌面引擎124。图形操作系统122可以包括在客户端设备120上执行的一个或多个计算机程序,其在与客户端设备120相关联的显示设备(例如,监控器、显示屏等)上处理、管理和显示一个或多个GUI。例如,图形操作系统122可以是Microsoft 操作系统。在其他特征中,图形操作系统122可以将客户端设备120配置为响应于用户输入。用户输入可以包括经由诸如键盘或定点设备(例如鼠标)的输入元件接收的输入,该输入元件使得用户140能够交互地访问不同的应用、窗口和/或虚拟桌面。例如,用户可以利用定点设备将指针移动到屏幕上的图标上以启用可用的虚拟桌面的显示。图形操作系统122可以接收用户输入,标识当前可用的虚拟桌面,确定每个当前可用的虚拟桌面上的活动窗口的最新状态,以及响应于用户输入(例如,响应于将指针移动到图标上)来提供可用的虚拟桌面的预览。
在一些实现中,客户端设备120可以包括用于管理与虚拟桌面有关的各种操作的虚拟桌面引擎124。虚拟桌面引擎124可以与虚拟桌面服务112类似地操作并在本地提供与虚拟桌面服务112类似的功能。例如,虚拟桌面引擎124可以检查客户端设备120上的打开窗口,并且基于诸如打开窗口的数目、与打开窗口相关联的应用的类型和/或用户的上下文信息的参数来确定创建一个或多个虚拟桌面是否对用户有益。在一些实现中,该确定仅基于打开窗口的数目。例如,如果存在多于预定数目的打开窗口(例如,多于10个窗口),则虚拟桌面引擎124确定用户将从创建新虚拟桌面中受益,并且可以相应地向用户提供通知。
在备选实现中,该确定基于打开窗口的数目和与它们相关联的应用的类型。例如,当所有打开窗口与一个程序(例如,多个浏览器窗口)相关联时,虚拟桌面引擎124确定不需要创建新虚拟桌面。然而,如果打开窗口与可以被分类为不同组的不同应用相关联,则虚拟桌面引擎124可以确定用户可能受益于将打开窗口组织成多个虚拟桌面。在其他实现中,还考虑用户的上下文信息,诸如用户的虚拟桌面使用历史、用户的应用和/或窗口使用历史等。该信息可以本地存储或存储在诸如数据存储库132的数据存储中。
虚拟桌面引擎124还可以自动为虚拟桌面分配名称和/或自动将打开窗口分类为多个虚拟桌面。为了执行这些功能,虚拟桌面引擎124可以访问一个或多个数据集并利用一个或多个ML模型。数据集和/或ML模型可以本地存储和/或远程存储(例如,在云中)。应当注意,尽管它被示为单独的元件,但是虚拟桌面引擎124可以是图形操作系统122的一部分。
图2A-图2B示出了用于提供对虚拟桌面的有效访问的示例GUI屏幕。在一个实现中,图2A的GUI屏幕200A显示用于提供对多个UI元素的访问的工具栏UI元素210。UI元素210可以包括用于访问各种功能的一个或多个图标。例如,工具栏UI元素210包括开始菜单图标220、搜索栏230、任务视图图标240和用于提供各种功能的多个其他图标(例如,互联网浏览器(Internet Explorer)图标、(文件浏览器)File Explorer图标、商店图标和邮件图标)。在一些实现中,工具栏UI元素210是用于显示最常用任务和/或当前运行的应用的图标的任务栏元素。尽管显示在GUI屏幕200A的栏上,但工具栏UI元素210可以沿着屏幕的任何边缘显示。
为了提供对虚拟桌面的更容易的访问,当诸如指针245的定点设备被移动到任务视图图标240上并在其上悬停时,虚拟桌面预览UI元素250被显示在GUI屏幕200A上。备选地,对于触摸屏,当接收到任务视图图标240上的触摸输入时,可以显示虚拟桌面预览UI元素250。
虚拟桌面预览UI元素250可以包括每个打开的虚拟桌面的预览。例如,当有两个虚拟桌面打开时(例如,桌面1和桌面2),虚拟桌面预览UI元素250可以显示第一虚拟桌面的预览和第二虚拟桌面的预览。预览可以包括每个打开的虚拟桌面的状态。该状态可以指每个虚拟桌面中最近活动的窗口的状态。例如,如果用户最后一次在虚拟桌面2中活动,活动窗口作为显示视频的浏览器窗口,则预览可以提供显示视频上的最新位置的浏览器窗口的缩略图。
每个虚拟桌面可以从虚拟桌面预览UI元素250中选择。在一些实现中,通过在可用的虚拟桌面中的一个虚拟桌面上移动指针245并点击(或通过在可用的虚拟桌面中的一个虚拟桌面上接收触摸输入)来进行虚拟桌面的选择。一旦被选择,就可以显示与所选虚拟桌面的最近活动窗口相关联的屏幕。以此方式,用户可以查看可用的虚拟桌面的预览并在它们之间切换,只需最少的输入。
由于虚拟桌面预览UI元素250的显示响应于指针245在任务视图图标240上的简单移动而发生,因此访问不同的虚拟桌面需要较少的用户输入。此外,由于工具栏UI元素210通常显示在屏幕边缘,而与活动应用的类型无关(例如,对于所有打开窗口,工具栏UI元素210都显示在屏幕底部),因此可以从任何窗口快速高效地访问虚拟桌面。因此,用户可以从任何窗口以最少的输入(例如,无需点击)来访问不同的虚拟桌面。此外,因为工具栏UI元素210容易访问并且在大多数屏幕中突出显示,所以用户更有可能意识到虚拟桌面功能并开始使用它们。
除了提供当前打开的虚拟桌面的预览之外,虚拟桌面预览UI元素250还可以允许用户改变每个虚拟桌面的名称和/或创建附加的虚拟桌面。可以通过选择当前名称来改变每个虚拟桌面的名称。这可以通过在名称上移动指针245并点击该名称来执行。在一些实现中,该动作可以产生创建可编辑的输入框,其中用户可以输入文本以生成期望的名称。因此,用户能够直接从工具栏UI元素210改变虚拟桌面的名称并且通过最少的输入。
还可以从虚拟桌面预览UI元素250直接完成附加虚拟桌面的创建。这可以通过选择新桌面图标255(例如,点击加号或图标255上的任何位置)来执行。一旦创建了新虚拟桌面,就可以将新虚拟桌面的预览缩略图添加到虚拟桌面预览UI元素250。例如,虚拟桌面预览UI元素250可以显示名称为桌面3的附加预览缩略图。因此,用户能够以最小的用户动作并且直接从工具栏UI元素210创建新虚拟桌面。
在一些实现中,将诸如指针245的定点设备移动到多个虚拟桌面预览中的一个虚拟桌面预览上(例如,悬停在多个虚拟桌面预览中的一个虚拟桌面预览上)可以产生显示展开的UI元素,如图2B的GUI屏幕200B中所示出的。扩展的UI元素260可以显示在所选虚拟桌面上打开的窗口的预览。因此,当指针245悬停在桌面1的预览缩略图上时,展开的UI元素260可以显示在桌面1中打开的两个窗口的预览缩略图。在一些实现中,打开窗口的预览缩略图可以准确地反映每个窗口的最新状态。以此方式,用户不仅可以从工具栏UI元素210快速访问各种虚拟桌面,而且还可以标识在每个虚拟桌面中打开的窗口。这可以使用户能够快速确定要切换到哪个虚拟桌面。
图3A-图3D示出了用于创建和管理虚拟桌面的示例GUI。在一个实现中,图3A的GUI屏幕300A显示用于向用户通知虚拟桌面的可用性的UI元素310。当图形操作系统和/或虚拟桌面引擎确定用户可以从使用虚拟桌面中受益时,可能会发生这种情况。例如,当在当前桌面上打开的窗口的数目超过预定数目时,打开窗口或应用的类别指示它们可以被分类到不同的组和/或上下文用户信息指示用户可能受益于使用虚拟桌面。当做出该确定时,可以在显示屏幕中提供诸如UI元素310的通知UI元素以通知用户。在一些实现中,通知UI元素可以是弹出UI元素。在其他实现中,可以经由其他机制提供通知。例如,通知可以包括在显示屏的通知窗格中。
通知UI元素可以通知用户他们可能从使用虚拟桌面中受益,并且可以请求用户经由UI元素320或330选择他们是否对创建虚拟桌面感兴趣。在一些实现中,通知UI元素可以包括关于虚拟桌面、它们如何操作和/或它们可以如何使用户受益的更多信息。备选地,通知UI可以包括关于虚拟桌面的更多信息的链接。以此方式,通知UI还可以帮助更多用户熟悉虚拟桌面功能。
当用户对创建新虚拟桌面不感兴趣时,他们可以选择UI元素330,在选择UI元素330时,通知UI元素310可以消失。然而,当用户对创建新虚拟桌面感兴趣时,他们可以选择UI元素320。在选择UI元素320时,可以显示诸如图3B的屏幕300B的屏幕。如图所示,屏幕300B移除通知UI元素310,而代替地显示UI元素340,其包括当前可用的虚拟桌面的预览以及用于创建新虚拟桌面的UI元素345。在一些实现中,UI元素340可以将UI元素345显示为被选择(例如,被突出显示)以引导用户完成创建新虚拟桌面的过程。然后,用户能够选择UI元素345(例如,点击或触摸UI元素345)以容易地创建新虚拟桌面。在一些实现中,UI元素340不显示当前可用的虚拟桌面的预览缩略图。相反,在用户批准创建新虚拟桌面时显示的UI元素可以仅包括用于创建新虚拟桌面的UI元素(例如,显示UI元素345的UI元素340的部分)。
在备选实现中,该系统可以自动创建一个或多个新虚拟桌面,而不是引导用户创建新虚拟桌面。为了实现这一点,可以首先显示诸如图3C的通知UI元素350的通知UI元素。如屏幕300C所示,UI元素350可以通知用户他们可能从使用虚拟桌面中受益,并且可以在用户批准后提供自动创建一个或多个虚拟桌面并管理用户的打开窗口。这是为了确保用户意识到新虚拟桌面的创建,当该操作还涉及管理用户的打开窗口时,这一点可能特别重要。选择要提供的通知的类型(诸如,通知UI元素310或通知UI元素350)可以取决于诸如上下文用户信息的各种参数。例如,其中一个因素可以是用户对虚拟桌面的先前使用。其他因素可以包括用户对此类通知的先前响应、打开窗口的数目、以及用户的熟练程度等。
在一些实现中,通知UI元素350可以包括两个问题。一个问题可以询问用户他们是否对系统自动创建新虚拟桌面感兴趣,而另一个问题可以涉及他们是否对系统也管理他们的打开窗口感兴趣。在一个实现中,通知UI元素可以仅询问用户他们是否对系统自动创建新虚拟桌面感兴趣。如果用户作出肯定的响应,则可以向他们呈现第二UI元素,该第二UI元素询问用户是否对系统也管理他们的打开窗口感兴趣。以此方式,用户能够选择自动创建新虚拟桌面,同时仍然保持对如何对其打开窗口进行分类并将其移动到可用的虚拟桌面中的控制。
虚拟桌面的管理可以涉及确定如何将用户的打开窗口分类为一个或多个类别,并根据其类别将打开窗口移动到各个虚拟桌面。例如,不同窗口可以基于与其相关联的应用的功能来分类。在一个示例中,这可以涉及将窗口分类为诸如文档(例如,用于诸如文字文档、电子表格文档等的内容创建窗口)、通信(例如,用于与电子邮件文档、即时消息收发应用和其他通信应用相关联的窗口)、娱乐(例如,用于与诸如音乐播放器、视频播放器、显示视频的浏览器等的多媒体播放器相关联的窗口)的类别。
在备选实现中,类别基于不同的用户简档。例如,类别可以包括工作、个人、家庭、社交等。在这样的实现中,可以基于在每个打开窗口中使用的用户帐户(例如,工作帐户或个人帐户)、用户与之通信的人(例如,向同事发送电子邮件或向朋友发送电子邮件)、应用的类型、他们在每个应用中执行的任务的类型等来确定类别。可以标识类别,并且可以通过一个或多个ML模型对打开窗口进行分类,如上所述。
当用户对自动创建新虚拟桌面和/或管理其打开窗口不感兴趣时,他们可以选择UI元素370,在选择UI元素370时,通知UI元素350可以消失。然而,当用户对自动创建新虚拟桌面感兴趣时,他们可以选择UI元素360。在选择UI元素360时,该系统可以基于所确定的类别自动创建一个或多个新虚拟桌面和/或移动当前打开的窗口。
在一些实现中,创建和/或管理虚拟桌面的过程还可以涉及命名新虚拟桌面和/或重命名先前可用的虚拟桌面。所分配的名称可以与为虚拟桌面标识的类别相关联。例如,当基于所标识的打开窗口的类别来创建虚拟桌面时,可以向每个虚拟桌面分配与所标识的类别(例如,通信、文档等)相关的名称。然后可以将打开窗口移动到对应的虚拟桌面,使得用户可以容易地标识如何对虚拟桌面和打开窗口进行分类。
在创建了新虚拟桌面和/或将窗口移动到不同的虚拟桌面后,就可以显示诸如图3D的屏幕300D的屏幕以呈现最新虚拟桌面。如图所示,屏幕300D移除通知UI元素350,而代之以显示包括当前可用的虚拟桌面的预览的UI元素360。如图所示,UI元素360可以向虚拟桌面呈现其分配的名称,并且可以显示每个虚拟桌面的状态(例如,每个虚拟桌面中最近的活动窗口的状态)。
图4A是示出用于提供对虚拟桌面的访问的示例方法400A的流程图。在一个示例中,方法400A的一个或多个步骤可以由图形操作系统(例如,图1的图形操作系统122)、虚拟桌面引擎(例如,图1的虚拟桌面引擎124)和/或虚拟桌面服务(例如,图1的虚拟桌面服务112)来执行。
在405,方法400A可以通过接收指示在图标上移动的输入来开始。该移动可以涉及在特定图标上移动定点设备并悬停在特定图标上。该图标可以与虚拟桌面相关联,并且可以显示在诸如任务工具栏的容易访问的UI元素上。在接收到用户输入时,在410,方法400A可以继续标识与屏幕相关联的客户端设备上的当前可用的虚拟桌面。这可以涉及确定设备上当前是否正在使用多于一个的虚拟桌面,并标识与每个虚拟桌面相关联的参数(例如,分配给每个虚拟桌面的名称)。
在标识了可用的虚拟桌面后,在415,方法400A就可以继续确定每个虚拟桌面的状态。这可以涉及针对每个虚拟桌面标识最近活动的窗口(例如,虚拟桌面上最后活动的窗口)。在一些实现中,确定每个虚拟桌面的状态还可以涉及确定最后活动窗口的最新状态。该最新状态可以指窗口的最当前状态(例如,文档的最新页面、视频的最当前位置等)。
在标识了虚拟桌面并且确定了它们的状态之后,在420,方法400A可以继续显示每个所标识的虚拟桌面的预览。该预览可以在接收到用户输入的图标附近显示,并且可以包括关于每个所标识的虚拟桌面的状态的信息。这可以涉及显示最后活动窗口的缩略图,其中该缩略图显示该窗口的准确当前状态。如上所述,可以通过例如在任何预览上移动定点设备并在其上点击来从预览访问所标识的虚拟桌面中的一个虚拟桌面。
以此方式,在接收到在特定图标上移动的指示时,提供可用的虚拟桌面的准确预览。因此,可以通过需要最少的用户努力的方式快速高效地提供对虚拟桌面的访问。这提高了效率,并创造了更多对虚拟桌面可用性的认识。
图4B是示出用于建议对新虚拟桌面的创建的方法400B的示例的流程图。在一个示例中,方法400B的一个或多个步骤可以由图形操作系统(例如,图1的图形操作系统122)、虚拟桌面引擎(例如,图1的虚拟桌面引擎124)和/或虚拟桌面服务(例如,图1的虚拟桌面服务112)来执行。
在425,方法400可以通过访问信息来开始。所访问的信息可以包括上下文用户信息、关于设备上当前打开窗口的信息、关于当前打开的虚拟桌面的信息等。该信息可以存储在本地或远程存储设备中。在根据需要访问和/或取回了所有需要的信息后,在430,方法400B就可以继续基于所访问的信息来确定创建(多个)新虚拟桌面是否对用户有益。如上所述,该步骤可以涉及使用一个或多个ML模型,该模型分析历史数据和其他参数以确定使用何时更有可能利用附加虚拟桌面和/或从使用附加虚拟桌面受益。在分析完成后,在435,方法400B可以基于分析的结果确定创建新虚拟桌面是否对用户有益。
当在该点确定(多个)新虚拟桌面对用户没有用时(在435处为否),方法400B可以继续到结束。然而,当确定(多个)新虚拟桌面对用户有益时(在435处为是),在445,方法400B可以继续向用户显示通知。通知可以类似于图3A的通知UI元素310,并且可以要求用户输入以继续创建(多个)附加虚拟桌面。
在提供通知之后,在450,方法400B可以等待,直到它接收到关于创建(多个)附加虚拟桌面的用户输入。该输入可以经由UI元素来接收,并且可以包括选择继续创建(多个)附加虚拟桌面或中断创建(多个)附加虚拟桌面的选项。在接收到输入后,在455,方法400B可以继续确定用户是否指示期望创建附加虚拟桌面。
当确定输入指示希望继续创建附加虚拟桌面时(在455处为是),在460,方法400B可以继续显示用于创建新虚拟桌面的UI元素。UI元素可以包括使用户能够在选择时创建新虚拟桌面的UI控件。在一个实现中,所显示的UI元素引导用户完成创建新虚拟桌面所需的步骤。这可能需要接收一个或多个附加用户输入以继续执行创建新虚拟桌面的步骤。在一些实现中,在接收到指示用户期望创建(多个)附加虚拟桌面的用户输入时,方法400B可以继续自动创建一个或多个附加虚拟桌面,如以上更详细讨论的。
当在455确定用户输入指示用户对创建新虚拟桌面不感兴趣时(在455为否),在465,方法400B可以继续移除在步骤445显示的通知,然后前进以在440结束该过程。以此方式,方法400B可以提供一种在用户可能从使用附加虚拟桌面中受益时通知用户,和/或通过引导用户完成创建新虚拟桌面的步骤来简化创建新虚拟桌面的过程的方法。
图5是示出示例软件架构502的框图500,其各个部分可以结合本文描述的各种硬件架构来使用,其可以实现任何上述特征。图5是软件架构的非限制性示例,并且将理解,可以实现许多其他架构以促进本文描述的功能。软件架构502可以在诸如客户端设备、本计应用提供商、web服务器、服务器集群、外部服务和其他服务器的硬件上执行。代表性硬件层504包括处理单元506和相关联的可执行指令508。可执行指令508表示软件架构502的可执行指令,包括本文描述的方法、模块等的实现。
硬件层504还包括存储器/存储装置510,其还包括可执行指令508和伴随数据。硬件层504还可以包括其他硬件模块512。由处理单元506保存的指令508可以是由存储器/存储装置510保存的指令508的一部分。
示例软件架构502可以被概念化为层,每个层提供各种功能。例如,软件架构502可以包括层和组件,诸如操作系统(OS)514、库516、框架518、应用520和呈现层544。在操作上,应用520和/或层内的其他组件可以调用对其他层的API调用524并接收对应的结果526。所示的层在本质上是代表性的,并且其他软件架构可以包括附加的或不同的层。例如,一些移动或专用操作系统可能不提供框架/中间件518。
OS 514可以管理硬件资源并提供公共服务。OS 514可以包括例如内核528、服务530和驱动程序532。内核528可以充当硬件层504和其他软件层之间的抽象层。例如,内核528可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务530可以为其他软件层提供其他公共服务。驱动程序532可以负责控制底层硬件层504或与之交互。例如,取决于硬件和/或软件配置,驱动程序532可以包括显示驱动程序、相机驱动程序、存储器/存储装置驱动程序、外围设备驱动程序(例如,经由通用串行总线(USB))、网络和/或无线通信驱动程序、音频驱动程序等。
库516可以提供可以由应用520和/或其他组件和/或层使用的公共基础设施。库516通常提供由其他软件模块使用来执行任务的功能,而不是直接与OS 514交互。库516可以包括可以提供诸如存储器分配、字符串操作、文件操作的功能的系统库534(例如,C标准库)。此外,库516可以包括API库536,诸如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操纵)、图形库(例如,用于在显示器上呈现2D和3D图形的OpenGL库)、数据库库(例如,SQLite或其他关系数据库函数)和web库(例如,可以提供网络浏览功能的Web套件(WebKit))。库516还可以包括各种各样的其他库538,以向应用520和其他软件模块提供许多功能。
框架518(有时也称为中间件)提供可以由应用520和/或其他软件模块使用的较高级别公共基础设施。例如,框架518可以提供各种图形用户界面(GUI)功能、高级别资源管理或高级别位置服务。框架518可以为应用520和/或其他软件模块提供广泛的其他API。
应用520包括内置应用540和/或第三方应用542。内置应用540的示例可以包括但不限于联系人应用、浏览器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用542可以包括由不同于特定系统的供应商的实体开发的任何应用。应用520可以使用经由OS 514、库516、框架518和呈现层544可用的功能来创建用户界面以与用户交互。
一些软件架构使用虚拟机,如由虚拟机548所示。虚拟机548提供执行环境,其中应用/模块可以如同它们在硬件机器(例如,图6的框图600中示出的机器)上执行一样执行。虚拟机548可以由主机OS(例如,OS 514)或管理程序托管,并且可以具有管理虚拟机548的操作以及与主机操作系统的互操作的虚拟机监视器546。可以不同于虚拟机外部的软件架构502的软件架构在虚拟机548内执行,诸如OS 550、库552、框架554、应用556和/或呈现层558。
图6是示出示例机器600的组件的框图,其被配置为从机器可读介质(例如,机器可读存储介质)读取指令并执行本文描述的任何特征。示例机器600是计算机系统的形式,在该计算机系统中可以执行用于使机器600执行本文描述的任何特征的指令616(例如,以软件组件的形式)。因此,指令616可以用于实现本文描述的方法或组件。指令616使未编程和/或未配置的机器600操作为被配置为执行所描述的特征的特定机器。机器600可以被配置为操作为独立设备,或者可以耦合(例如,联网)到其他机器。在联网部署中,机器600可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力操作,或者在对等或分布式网络环境中作为节点操作。机器600可以实施为例如服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、游戏和/或娱乐系统、智能电话、移动设备、可穿戴设备(例如,智能手表)和物联网(IoT)设备。此外,尽管仅示出了单个机器600,但术语“机器”包括单独或联合执行指令616的机器的集合。
机器600可以包括处理器610、存储器630和I/O组件650,它们可以经由例如总线602通信地耦合。总线602可以包括经由各种总线技术和协议耦合机器600的各种元件的多条总线。在一个示例中,处理器610(包括例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC或其适当组合)可以包括可以执行指令616并处理数据的一个或多个处理器612a至612n。在一些示例中,一个或多个处理器610可以执行由一个或多个其他处理器610提供或标识的指令。术语“处理器”包括多核处理器,该处理器包括可以同时执行指令的核。尽管图6示出了多个处理器,但是机器600可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、各自具有单个核的多个处理器、各自具有多个核的多个处理器、或其任意组合。在一些示例中,机器600可以包括分布在多个机器之间的多个处理器。
存储器/存储装置630可以包括主存储器632、静态存储器634或其他存储器,以及存储装置单元636,两者都可以例如经由总线602访问处理器610。存储装置单元636和存储器632、存储器634存储实施本文描述的任何一个或多个功能的指令616。存储器/存储装置630还可以存储用于处理器610的临时、中间和/或长期数据。指令616还可以在其执行期间,完全地或部分地驻留在存储器632、存储器634内,存储装置单元636内,处理器610中的至少一个内(例如,命令缓冲器或高速缓存存储器内)、I/O组件650中的至少一个内,或其任何适当的组合。因此,存储器632、存储器634,存储装置单元636,处理器610中的存储器和I/O组件650中的存储器是机器可读介质的示例。
如本文所使用的,“机器可读介质”是指能够临时或永久地存储使机器600以特定方式操作的指令和数据的设备。本文使用的术语“机器可读介质”不包括瞬时电信号或电磁信号本身(例如在通过介质传播的载波上);因此术语“机器可读介质”可以被认为是有形的和非瞬态的。非瞬态的、有形的机器可读介质的非限制性示例可以包括但不限于非易失性存储器(诸如闪存或只读存储器(ROM))、易失性存储器(诸如静态随机存取存储器(RAM)或动态RAM)、缓冲存储器、高速缓冲存储器、光存储介质、磁存储介质和设备、网络可访问或云存储装置、其他类型的存储装置、和/或其任何适当的组合。术语“机器可读介质”适用于用于存储供机器600执行的指令(例如,指令616)的单个介质或多个介质的组合,使得指令当由机器600的一个或多个处理器610执行时,使机器600执行本文描述的一个或多个特征。因此,“机器可读介质”可以指单个存储设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络
I/O组件650可以包括适于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种硬件组件。包括在特定机器中的特定I/O组件650将取决于机器的类型和/或功能。例如,诸如移动电话的移动设备可以包括触摸输入设备,而无头服务器或IoT设备可以不包括这种触摸输入设备。图6中所示的I/O组件的特定示例不是限制性的,并且其他类型的组件可以包括在机器600中。I/O组件650的分组仅用于简化该讨论,并且该分组不是限制性的。在各种示例中,I/O组件650可以包括用户输出组件652和用户输入组件654。用户输出组件652可以包括例如用于显示信息的显示组件(例如,液晶显示器(LCD)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动马达或力反馈设备)和/或其他信号发生器。用户输入组件654可以包括例如字母数字输入组件(例如,键盘或触摸屏)、定点组件(例如,鼠标设备、触摸板或另一定点仪器)和/或触觉输入组件(例如,提供触摸或触摸手势的位置和/或力的物理按钮或触摸屏),其被配置为接收各种用户输入,诸如用户命令和/或选择。
在一些示例中,I/O组件650可以包括生物测定组件656、运动组件658、环境组件660和/或位置组件662,以及多种其他环境传感器组件。生物测定组件656可以包括例如用于检测身体表情(例如,面部表情、声音表情、手势或身体姿势或眼睛追踪)、测量生物信号(例如,心率或脑波)以及标识人(例如,经由基于语音、视网膜和/或面部的标识)的组件。位置组件662可以包括例如位置传感器(例如,全球定位系统(GPS)接收器)、高度传感器(例如,可以从中导出高度的气压传感器)和/或方位传感器(例如,磁强计)。运动组件658可以包括例如诸如加速度和旋转传感器的运动传感器。环境组件660可以包括例如照明传感器、声学传感器和/或温度传感器。
I/O组件650可以包括通信组件664,其实现可操作为将机器600经由各自的通信耦合器672和682耦合到(多个)网络670和/或(多个)设备680的各种技术。通信组件664可以包括一个或多个网络接口组件或与(多个)网络670交互的其他适合的设备。通信组件664可以包括例如适于提供有线通信、无线通信、蜂窝通信、近场通信(NFC)、蓝牙通信、Wi-Fi和/或经由其他模式的通信的组件。(多个)设备680可以包括其他机器或各种外围设备(例如,经由USB耦合)。
在一些示例中,通信组件664可以检测标识符或包括适于检测标识符的组件。例如,通信组件864可以包括射频标识(RFID)标签读取器、NFC检测器、光学传感器(例如,一维或多维条形码或其他光学代码)和/或声学检测器(例如,用于标识带标签的音频信号的麦克风)。在一些示例中,位置信息可以基于来自通信组件662的信息来确定,例如但不限于经由网际协议(IP)地址的地理位置,经由Wi-Fi、蜂窝、NFC、蓝牙或其他无线站标识和/或信号三角测量的位置。
虽然已经描述了各种实施例,但是该描述旨在是示例性的,而不是限制性的,并且应当理解,在实施例的范围内可能有更多的实施例和实现。虽然附图中示出了特征的许多可能的组合,并且在本详细描述中讨论了这些特征的许多可能的组合,但是所公开的特征的许多其他组合是可能的。任何实施例的任何特征可以与任何其他实施例中的任何其他特征或元素组合使用或作为替代,除非特别限制。因此,应当理解,本公开中所示和/或讨论的任何特征可以以任何适当的组合一起实现。因此,除非根据所附权利要求及其等同形式,否则不对实施例进行限制。此外,可以在所附权利要求的范围内进行各种修改和改变。
通常,可以使用软件、固件、硬件(例如,固定逻辑、有限状态机和/或其他电路)或这些实现的组合来实现本文描述的功能(例如,图1-图4中所示的特征)。在软件实现的情况下,程序代码在处理器(例如,一个或多个CPU)上执行时执行指定的任务。程序代码可以存储在一个或多个机器可读存储设备中。本文描述的技术的特征是独立于系统的,这意味着这些技术可以在具有各种处理器的各种计算系统上实现。例如,实现可以包括使硬件执行操作的实体(例如,软件),例如处理器功能块等。例如,硬件设备可以包括机器可读介质,该机器可读介质可以被配置成维护使硬件设备(包括在其上执行的操作系统和相关联的硬件)执行操作的指令。因此,指令可以用于配置操作系统和相关联的硬件以执行操作,并由此配置或以其他方式使硬件设备适于执行上述功能。指令可以由机器可读介质通过各种不同的配置提供给执行指令的硬件元件。
下面,将通过以下项目描述本发明的进一步特征、特性和优点:
项目1.一种数据处理系统,包括:
处理器;以及
与处理器通信的存储器,存储器包括可执行指令,可执行指令在由处理器执行时,使数据处理系统执行以下功能:
接收指示将指针悬停在工具栏中的图标上的输入;
标识一个或多个现有虚拟桌面;
通过标识当前运行在一个或多个现有虚拟桌面中的每个现有虚拟桌面中的任何应用的一个或多个实例并且确定一个或多个实例中的至少一个实例的运行状态,来确定一个或多个现有虚拟桌面中的每个现有虚拟桌面的状态;以及
响应于指针悬停在图标上,显示一个或多个现有虚拟桌面中的每个现有虚拟桌面的预览,
其中预览包括针对一个或多个现有虚拟桌面中的每个现有虚拟桌面显示一个或多个实例中的一个实例的运行状态。
项目2.根据项目1所述的数据处理系统,其中图标是任务视图图标。
项目3.根据项目1或2所述的数据处理系统,其中工具栏是任务栏。
项目4.根据前述权利要求中的任一项所述的数据处理系统,其中预览被显示在图标附近。
项目5.根据任何前述项目所述的数据处理系统,其中可执行指令在由处理器执行时,还使数据处理系统执行以下功能:
响应于指针悬停在图标上,显示用于创建新虚拟桌面的用户界面(UI)元素。
项目6.根据任何前述项目所述的数据处理系统,其中可执行指令在由处理器执行时,还使数据处理系统执行以下功能:
接收对一个或多个现有虚拟桌面中的一个现有虚拟桌面的预览的选择;以及
响应于选择,显示对应于所选择的预览的现有虚拟桌面。
项目7.根据任何前述项目所述的数据处理系统,其中确定一个或多个现有虚拟桌面中的每个现有虚拟桌面的状态包括:
确定一个或多个实例中的哪个实例是在一个或多个现有虚拟桌面中的每个现有虚拟桌面上最后活动的;
确定针对最后活动的实例的最新运行状态;以及
提供针对最后活动的实例的最新运行状态的显示数据。
项目8.一种用于在客户端设备中创建新虚拟桌面的方法,包括:
确定新虚拟桌面是否将对客户端设备的用户有益;
在确定新虚拟桌面将有益时,显示关于创建新虚拟桌面的通知;
经由通知接收用户输入,用户输入指示用户对创建新虚拟桌面的批准;以及
在接收到用户输入时,显示用于创建新虚拟桌面的用户界面(UI)元素。
项目9.根据项目8所述的方法,其中至少部分地基于客户端设备中的打开窗口的数目、与客户端设备中的打开窗口相关联的应用的类型或上下文用户信息来做出对新虚拟桌面是否将对用户有益的确定。
项目10.根据项目9所述的方法,其中通过机器学习(ML)模型来做出对新虚拟桌面是否将对用户有益的确定。
项目11.根据项目9所述的方法,其中通过确定打开窗口的数目是否超过预定数目来做出对新虚拟桌面是否将对用户有益的确定。
项目12.根据项目8-11中的任一项所述的方法,其中通知包括用于批准创建新虚拟桌面的第一UI控件和用于不批准创建新虚拟桌面的第二UI控件。
项目13.根据项目8-12中的任一项所述的方法,其中用于创建新虚拟桌面的UI元素包括当前可用的虚拟桌面的预览。
项目14.一种其上存储有指令的非瞬态计算机可读介质,指令当被执行时,使可编程设备:
接收指示将指针悬停在工具栏中的图标上的输入;
标识一个或多个现有虚拟桌面;
通过标识当前运行在一个或多个现有虚拟桌面中的每个现有虚拟桌面中的任何应用的一个或多个实例并且确定针对一个或多个实例中的至少一个实例的运行状态,来确定针对一个或多个现有虚拟桌面中的每个现有虚拟桌面的状态;以及
响应于指针悬停在图标上,显示一个或多个现有虚拟桌面中的每个现有虚拟桌面的预览,
其中预览包括针对一个或多个现有虚拟桌面中的每个现有虚拟桌面显示一个或多个实例中的一个实例的运行状态。
项目15.根据项目14所述的非瞬态计算机可读介质,其中图标是任务视图图标。
项目16.根据项目14或15所述的非瞬态计算机可读介质,其中工具栏是任务栏。
项目17.根据项目14-16中任一项所述的非瞬态计算机可读介质,其中预览被显示在图标附近。
项目18.根据项目14-17中任一项所述的非瞬态计算机可读介质,其中指令当被执行时,还使可编程设备:
响应于指针悬停在图标上,显示用于创建新虚拟桌面的用户界面(UI)元素。
项目19.根据项目14-18中任一项所述的非瞬态计算机可读介质,其中确定一个或多个现有虚拟桌面中的每一个的状态包括:
确定一个或多个实例中的哪个实例是在一个或多个现有虚拟桌面中的每个现有虚拟桌面上最后活动的;
确定针对最后活动的实例的最新运行状态;以及
提供针对最后活动的实例的最新运行状态的显示数据
项目20.根据项目14-19中任一项所述的非瞬态计算机可读介质,其中名称被显示在针对一个或多个现有虚拟桌面中的每个现有虚拟桌面的预览中。
尽管前述已经描述了被认为是最佳模式和/或其他示例,但是可以理解,其中可以进行各种修改,并且本文公开的主题可以以各种形式和示例来实现,并且教导可以应用于许多应用中,本文仅描述了其中的一些。所附权利要求旨在要求保护属于本说明书的真实范围内的任何和所有应用、修改和变化。
除非另有说明,否则本说明书中阐述的所有测量、值、额定值、位置、大小、尺寸和其他规格,包括在所附权利要求书中,都是近似的,不是准确的。它们旨在具有一个合理的范围,与它们所涉及的功能和它们所属的技术领域习惯相一致。
保护范围仅受所附权利要求的限制。该范围旨在并应被解释为在根据本说明书和所附审查历史解释时与权利要求中使用的语言的通常含义一致的尽可能广泛的范围,并涵盖所有结构和功能等同形式。尽管如此,没有一项权利要求旨在涵盖未能满足专利法第101、102或103条要求的主题,也不应以此方式解释它们。特此排除对此类主题的任何非故意涵盖。
除了如上所述,已经陈述或说明的任何内容都不旨在或应该被解释为使任何组件、步骤、特征、目的、益处、优点或等同形式献给公众,无论其是否在权利要求书中记载。
应当理解,本文使用的术语和表述具有与这些术语和表述关于其相应的各自调查和研究领域所给予的一般含义,除非本文另外阐述了具体含义。
诸如第一和第二等关系术语可以仅用于将一个实体或动作与另一个实体或动作区分,而不必要求或暗示这些实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”及其任何其他变体旨在涵盖非排他性包含,使得包括元素列表的过程、方法、物品或设备不仅包括那些元素,还可以包括未明确列出或该过程、方法、物品或设备固有的其他元素。在没有进一步的限制的情况下,以“一”或“一个”开头的元素不排除在包括该元素的过程、方法、物品或装置中存在另外的相同元素。
提供本公开的摘要是为了允许读者快速标识本技术公开的性质。但应理解,它不会被用来解释或限制权利要求的范围或含义。此外,在前述具体实施方式中,可以看出,为了简化本公开的目的,在各种示例中将各种特征分组在一起。本公开的该方法不应被解释为反映任何权利要求需要比权利要求明确陈述的更多特征的意图。相反,如所附权利要求所反映的,创造性的主题在于少于单个公开示例的所有特征。因此,由此将所附权利要求合并到具体实施方式中,其中每个权利要求作为单独要求保护的主题而独立存在。

Claims (15)

1.一种数据处理系统,包括:
处理器;以及
与所述处理器通信的存储器,所述存储器包括可执行指令,所述可执行指令在由所述处理器执行时,使所述数据处理系统执行以下功能:
接收指示将指针悬停在工具栏中的图标上的输入;
标识一个或多个现有虚拟桌面;
通过标识当前运行在所述一个或多个现有虚拟桌面中的每个现有虚拟桌面中的任何应用的一个或多个实例并且确定针对所述一个或多个实例中的至少一个实例的运行状态,来确定针对所述一个或多个现有虚拟桌面中的每个现有虚拟桌面的状态;以及
响应于所述指针悬停在所述图标上,显示所述一个或多个现有虚拟桌面中的每个现有虚拟桌面的预览,
其中所述预览包括针对所述一个或多个现有虚拟桌面中的每个现有虚拟桌面显示所述一个或多个实例中的一个实例的所述运行状态。
2.根据权利要求1所述的数据处理系统,其中所述图标是任务视图图标。
3.根据权利要求1或2所述的数据处理系统,其中所述工具栏是任务栏。
4.根据前述权利要求中的任一项所述的数据处理系统,其中所述预览被显示在所述图标附近。
5.根据前述权利要求中的任一项所述的数据处理系统,其中所述可执行指令在由所述处理器执行时,还使所述数据处理系统执行以下功能:
响应于所述指针悬停在所述图标上,显示用于创建新虚拟桌面的用户界面(UI)元素。
6.根据前述权利要求中的任一项所述的数据处理系统,其中所述可执行指令在由所述处理器执行时,还使所述数据处理系统执行以下功能:
接收对所述一个或多个现有虚拟桌面中的一个现有虚拟桌面的所述预览的选择;以及
响应于所述选择,显示对应于所选择的所述预览的现有虚拟桌面。
7.根据前述权利要求中的任一项所述的数据处理系统,其中确定针对所述一个或多个现有虚拟桌面中的每个现有虚拟桌面的所述状态包括:
确定所述一个或多个实例中的哪个实例是在所述一个或多个现有虚拟桌面中的每个现有虚拟桌面上最后活动的;
确定针对所述最后活动的实例的最新运行状态;以及
提供针对所述最后活动的实例的所述最新运行状态的显示数据。
8.一种用于在客户端设备中创建新虚拟桌面的方法,包括:
确定所述新虚拟桌面是否将对所述客户端设备的用户有益;
在确定所述新虚拟桌面将有益时,显示关于创建所述新虚拟桌面的通知;
经由所述通知接收用户输入,所述用户输入指示用户对创建所述新虚拟桌面的批准;以及
在接收到所述用户输入时,显示用于创建所述新虚拟桌面的用户界面(UI)元素。
9.根据权利要求8所述的方法,其中至少部分地基于所述客户端设备中的打开窗口的数目、与所述客户端设备中的所述打开窗口相关联的应用的类型或上下文用户信息来做出对所述新虚拟桌面是否将对所述用户有益的确定。
10.根据权利要求9所述的方法,其中通过机器学习(ML)模型来做出对所述新虚拟桌面是否将对所述用户有益的确定。
11.根据权利要求9所述的方法,其中通过确定所述打开窗口的所述数目是否超过预定数目来做出对所述新虚拟桌面是否将对所述用户有益的确定。
12.根据权利要求8-11中的任一项所述的方法,其中所述通知包括用于批准创建所述新虚拟桌面的第一UI控件和用于不批准创建所述新虚拟桌面的第二UI控件。
13.根据权利要求8-12中的任一项所述的方法,其中用于创建所述新虚拟桌面的所述UI元素包括当前可用的虚拟桌面的预览。
14.根据权利要求13所述的方法,其中名称被显示在针对所述一个或多个现有虚拟桌面中的每个现有虚拟桌面的所述预览中。
15.一种计算机程序,所述计算机程序在被执行时,使可编程设备执行根据权利要求8至14所述的方法。
CN202180084048.3A 2020-12-14 2021-10-30 提供对虚拟桌面的访问和管理的系统和方法 Pending CN116615708A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/120,636 US11561808B2 (en) 2020-12-14 2020-12-14 System and method of providing access to and managing virtual desktops
US17/120,636 2020-12-14
PCT/US2021/057468 WO2022132321A1 (en) 2020-12-14 2021-10-30 System and method of providing access to and managing virtual desktops

Publications (1)

Publication Number Publication Date
CN116615708A true CN116615708A (zh) 2023-08-18

Family

ID=78821836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180084048.3A Pending CN116615708A (zh) 2020-12-14 2021-10-30 提供对虚拟桌面的访问和管理的系统和方法

Country Status (4)

Country Link
US (2) US11561808B2 (zh)
EP (1) EP4260182A1 (zh)
CN (1) CN116615708A (zh)
WO (1) WO2022132321A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030179240A1 (en) * 2002-03-20 2003-09-25 Stephen Gest Systems and methods for managing virtual desktops in a windowing environment
US20050125739A1 (en) * 2003-11-20 2005-06-09 Thompson Jeffrey W. Virtual desktop manager system and method
US8850351B2 (en) * 2007-09-25 2014-09-30 Ati Technologies Ulc Method and tool for virtual desktop management
US20130067394A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Pointer invocable navigational user interface
US20140188977A1 (en) * 2012-12-28 2014-07-03 Futurewei Technologies, Inc. Appratus, method for deploying applications in a virtual desktop interface system
US10592080B2 (en) * 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US20160077685A1 (en) * 2014-09-15 2016-03-17 Microsoft Technology Licensing, Llc Operating System Virtual Desktop Techniques

Also Published As

Publication number Publication date
US20230153133A1 (en) 2023-05-18
US11561808B2 (en) 2023-01-24
WO2022132321A1 (en) 2022-06-23
US20220188132A1 (en) 2022-06-16
EP4260182A1 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
US11328004B2 (en) Method and system for intelligently suggesting tags for documents
US11017045B2 (en) Personalized user experience and search-based recommendations
US11900046B2 (en) Intelligent feature identification and presentation
EP4237987A1 (en) Determining lexical difficulty in textual content
US11824824B2 (en) Method and system of managing and displaying comments
US20220335043A1 (en) Unified Multilingual Command Recommendation Model
US11526558B2 (en) System and method of providing accessibility to visualization tools
US11797315B2 (en) Automatic acquisition and integration of supplemental software programs
US11240108B1 (en) End-to-end configuration assistance for cloud services
US11126791B2 (en) In-application example library
US11561808B2 (en) System and method of providing access to and managing virtual desktops
US11182449B2 (en) Method and system of re-associating location mappings for uniform resource identifier named objects
WO2021142248A1 (en) Presenting intelligently suggested content enhancements
US11762537B1 (en) Tabbed user interface
US20240118803A1 (en) System and method of generating digital ink notes
US20230393871A1 (en) Method and system of intelligently generating help documentation
US11775747B1 (en) Method and system of generating a document template
US20240069697A1 (en) System and method of rendering user interface components based on user interaction
US20240061999A1 (en) Automatic writing style detection and rewriting
US20230034911A1 (en) System and method for providing an intelligent learning experience
WO2023075905A1 (en) Method and system of managing and displaying comments

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