在机密数据输入期间中止屏幕共享的方法和设备的制作方法

文档序号:6537375阅读:157来源:国知局
在机密数据输入期间中止屏幕共享的方法和设备的制作方法
【专利摘要】提供用于在源设备和至少一个接收设备之间共享图像数据的方法、发送设备和计算机可读存储介质。在一个实施方式中,提供了用于使用共享连接向至少一个接收设备周期性地发送共享屏幕的图像数据的方法。该方法还接收与激活包含机密信息的用户界面组件相关联的请求;响应于接收到的请求,中止图像数据的更新;以及在中止更新时周期性地向至少一个接收设备发送中止的图像数据。
【专利说明】在机密数据输入期间中止屏幕共享的方法和设备
【技术领域】
[0001]示例实施例涉及屏幕共享系统,更具体地,涉及将共享图像数据从发送设备向接收设备发送的方法。
【背景技术】
[0002]目前,越来越多的电子设备配备了摄像机、显示器、音频和通信能力,因而能够参与视频会议呼叫。在这种视频会议呼叫期间,通常在诸如电话或移动通信设备之类的两个或更多个通信设备之间进行语音或数据连接,从而在设备之间发送从与通信设备相关联的摄像机捕获的图像数据。在特定实例中,视频会议呼叫可以用于协作计算会话,如会议组织者为会议中的其他参与者进行可视展示的交互式会议。
[0003]例如,视频会议呼叫的组织者可以请求发起与接收设备的屏幕共享会话。在屏幕共享会话期间,向经由视频会议呼叫连接的接收设备发送描述组织者设备的屏幕的图像数据。基于发送的图像数据,接收设备可以看到在组织者的设备上显示的同一用户界面或同一用户界面的一部分。此外,当组织者在用户界面上执行动作时,接收设备可以基于更新的图像数据查看所执行的动作。
【专利附图】

【附图说明】
[0004]现在将参考示出本公开的示例实施例的附图。在附图中:
[0005]图1以框图形式示出了利用视频会议系统的示例系统;
[0006]图2是示出根据示例实施例的示例移动通信设备的简化框图;
[0007]图3示出了在移动通信设备上显示的用于进行视频会议的示例图形用户界面;
[0008]图4示出了根据示例实施例的在屏幕共享模式期间在移动通信设备上显示的示例图形用户界面;
[0009]图5A-5F示出了根据示例实施例的在屏幕共享模式期间在移动通信设备上显示的示例图形用户界面;
[0010]图6示出了根据示例实施例的在屏幕共享模式期间在发送移动通信设备上显示的示例图形用户界面;
[0011]图7示出了根据示例实施例的在屏幕共享模式期间在接收移动通信设备上显示的示例图形用户界面;
[0012]图8是用于将共享图像数据从发送设备向接收设备发送的示例方法的流程图。【具体实施方式】
[0013]现有的屏幕共享技术会不利地允许在屏幕共享期间与设备共享机密或私有信息。这种机密或私有信息的暴露会对基于个人的屏幕数据的发送者、对设备、或对与设备相关联的公司造成危害。这会导致机密或私有信息的欺骗性使用,并且会危及系统安全。如这里所使用的,“机密信息”通常指用户将会有兴趣保护的任何类型的信息,并且可以包括但不限于认证信息,如口令或其他这种登陆凭证、账号、社会保障号码(SSN)、社会保险号(SIN)、信用卡号或其他信用卡信息、信用分数、金融信息(如银行账户存款)、或其他这样的信息。
[0014]在一个示例实施例中,提出了在源设备和至少一个接收设备之间共享图像数据的方法。该方法包括:使用共享连接,周期性地向至少一个接收设备发送共享屏幕的图像数据。该方法还包括:接收与激活包含机密信息的用户界面组件相关联的请求。该方法还包括:响应于接收到的请求,中止图像数据的更新;以及在中止更新时周期性地向至少一个接收设备发送中止的图像数据。
[0015]在另一示例实施例中,提供用于与至少一个接收设备共享图像数据的源设备。共享设备包括被配置为存储指令的一个或更多个计算机可读存储介质。发送设备还包括:一个或更多个处理器,被配置为执行以下指令:使用共享连接,使共享设备周期性地向至少一个接收设备发送共享屏幕的图像数据;接收与激活包含机密信息的用户界面组件相关联的请求;响应于接收到的请求,中止图像数据的更新;以及在中止更新时周期性地向至少一个接收设备发送中止的图像数据。
[0016]在另一示例实施例中,提供了 一个或更多个计算机可读存储介质。所述计算机可读存储介质存储指令,在过程执行所述指令时,所述指令使源设备使用共享连接,周期性地向至少一个接收设备发送共享屏幕的图像数据;接收与激活包含机密信息的用户界面组件相关联的请求;响应于接收到的请求,中止图像数据的更新;以及在中止更新时周期性地向至少一个接收设备发送中止的图像数据。
[0017]以下描述参考附图。只要可能,在附图和以下描述中使用相同的参考数字来指代相同和相似的部分。尽管这里描述了若干示例实施例,但是也可以有修改、调整和其他实施方式。例如,可以对附图中所示的组件做出替换、添加或修改,并且可以通过向所公开的方法替换、重新排序或添加步骤来修改这里所描述的示例方法。因而,上述一般性描述和以下的详细描述仅为示例和说明,并不意在限定。相反,由所附权利要求定义适合的范围。
[0018]此外,提出若干特定细节,以提供对这里所描述的示例实施例的透彻理解。然而,本领域技术人员将会理解,可以在无需这些特定细节的情况下实践这里所描述的示例实施例。此外,不详细描述公知的方法、过程和组件,以避免使这里所描述的示例实施例不清楚。
[0019]现在参照图1,图1以框图形式示出了用于控制和管理会议通信(如,视频会议呼叫)的不例系统100。系统100可以包括第一电子移动设备102。移动设备102在一些实例中被称为“组织者设备”或“源设备”或“发送设备”。可以理解,另一设备(如,移动设备106或膝上型电脑108)可以是“组织者设备”或“源设备”或“发送设备”。
[0020]移动设备102与网络104耦合,网络104可以是能够发送数据的任意类型的网络,如因特网或任何其他类型的LAN、WAN或蜂窝网络(例如,3GPP、3GPP2、4G、LTE)。在一些实例中,网络104可以省略,并且设备可以使用任何有线或无线直接通信技术(如,经由蓝牙连接)进行通信。
[0021]网络104与一个或更多个移动设备或计算机(如,移动设备106或膝上型计算机108)操作耦合,以允许与移动设备102通信并交换数据。在一些实施例中,移动设备106或膝上型计算机108被称为“接收设备”,用于经由网络104从移动设备102接收数据分组。可以理解,另一设备(如,台式计算机、电视机或计算机监视器或投影仪)也可以是“接收设A/ ”
奋O
[0022]现在参照图2,图2详细示出了可以应用示例实施例的示例移动设备102。注意,尽管参照移动设备102描述图2,但是图2还可以应用于移动设备106和膝上型计算机108。因而,除非另有说明,否则对于移动设备102的任何参考可等同地应用于移动设备106和膝上型计算机108。
[0023]移动设备102可以包括具有双路或一对多数据通信能力、视频通信能力和语音通信能力(可选)和例如经由因特网与其他计算机系统通信的能力的通信设备。依据移动设备102提供的功能,在各种实施例中,移动设备102可以是手持设备、被配置用于数据和语音通信的多模式通信设备、移动电话、上网本、游戏控制台、平板电脑或支持无线通信的PDA (个人数字助理)。
[0024]移动设备102包括移动设备102的外壳组件(未示出)。例如,移动设备102的内部组件可以构建在印刷电路板(PCB)上。这里,移动设备102的描述涉及若干特定组件和子系统。尽管这些组件和子系统可以实现为分立元件,也可以通过以任何适合的形式集成、组合或封装一个或更多个元件来实现组件和子系统的功能。
[0025]移动设备102包括控制器,该控制器包括至少一个处理器202 (如,微处理器),用于控制移动设备102的整体操作。处理器202可以是能够执行特定指令集合的一个或更多个微处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其任意组合。处理器202与设备子系统(如,通信系统204)交互,用于与无线网络(例如,网络104)交换射频信号,以执行通信功能。
[0026]处理器202还与附加设备子系统交互,附加设备子系统包括通信系统204、显示器206 (如液晶显示器(LCD)屏幕或任何其他适合的显示器)、输入设备208(如键盘和控制按钮)、永久存储器210、随机存取存储器(RAM) 212、只读存储器(ROM) 214、辅助输入/输出(I / O)子系统216、数据端口 218 (如传统串行数据端口、通用串行总线(USB)数据端口、或高清多媒体接口(HDMI)数据端口)、扬声器220、麦克风222、一个或更多个摄像机(如摄像机224)、短距离无线通信子系统226 (可以采用任何适合的无线(例如,RF)、光或其他短距离通信技术(例如,蓝牙或NFC)、以及通常以228指示的其他设备子系统。图2所示的一些子系统执行通信相关功能,而其他子系统可以提供“驻留”或设备上功能。
[0027]通信系统204包括与网络104通信以使能与外部设备(如移动设备106)的通信的一个或更多个通信系统。通信系统204的特定设计取决于移动设备102意在操作的无线网络。移动设备102可以在完成了所需网络注册或激活过程之后通过无线网络发送和接收通信信号。
[0028]显示器206在一些实施例中可以实现为触摸屏显示器。可以使用触感输入表面来构建触摸屏显示器,触感输入表面与电子控制器耦合并覆盖显示器206的可见元件。触感覆盖和电子控制器提供触感输入设备,并且处理器202经由电子控制器与触感覆盖交互。
[0029]摄像机224可以是CMOS摄像机、CXD摄像机或能够捕获和输出压缩或未压缩图像数据(如静态图像或视频图像数据)的任意其他类型的摄像机。在一些实施例中,移动设备102可以包括多于一个摄像机,允许用户在视频会议呼叫期间从一个摄像机向另一个摄像机切换,或在一个摄像机捕获的图像数据之上覆盖由另一摄像机捕获的图像数据。例如,可以在图像缓冲器中存储从摄像机224输出的图像数据,图像缓冲器可以是RAM212中驻留的临时缓冲器,或R0M214或永久存储器210中驻留的永久缓冲器。例如,图像缓冲器可以是先入先出(FIFO)缓冲器。
[0030]短距离无线通信子系统226是提供移动设备102与不同系统或设备(不必是类似设备)之间的通信的附加可选组件。例如,短距离无线通信系统226可以包括红外设备和关联电路和组件、或提供与类似使能系统和设备通信的无线总线协议兼容通信设备(如Bluetooth?通信模块)ο
[0031]处理器202可以是在所存储的程序控制之下操作的一个或更多个处理器,并且执行存储在诸如永久存储器210之类的计算机可读存储介质(可以是软盘、硬盘、CD-R0M(紧致盘-只读存储器)和MO (磁光);DVD-R0M (数字通用盘-只读存储器);DVD RAM (数字通用盘-随机存取存储器);或半导体存储器)中的软件模块230。软件模块228也可以存储在计算机可读存储介质中,如R0M214,或任何适合的永久存储器技术,包括EEPROM、EAR0M、FLASH。这些计算机可读存储介质存储由处理器202执行的计算机可读指令,以在移动设备102上执行各种功能。
[0032]软件模块230可以包括用于控制移动设备102的操作的操作系统软件232。此外,软件模块230可以包括用于向移动设备102提供附加功能的软件应用234。例如,移动设备102可以包括允许用户调度并建立约会(如视频会议约会)的日历应用和设计为辅助用户执行视频会议的视频会议应用。
[0033]软件应用234可以包括一系列程序,包括例如电子邮件消息收发应用、地址簿、记事本应用、因特网浏览器应用、语音通信(即,电话)应用、地图应用、媒体播放器应用或其任意组合。每个软件应用234可以包括根据该对应应用定义了用户界面(即,显示器206)中的特定字段和图形元件(例如,文本字段、输入字段、图标等)的位置的布局信息。
[0034]操作系统软件232可以提供若干应用协议接口(API)和软件应用234,API提供在各子系统之间通信的接口和移动设备102的服务。例如,操作系统软件232将用户接口 API提供给需要创建在移动设备102上显示的用户接口的任一程序。访问用户接口 API可以向应用提供创建并管理屏幕窗口和用户接口控制(如,文本框、按钮盒滚动条)、接收鼠标和键盘输入的功能、以及意在在显示器206上显示的其他功能。此外,摄像机服务API可以允许视频会议应用访问摄像机224,以捕获图像数据,如可与接收设备(例如,接收设备106)共享的相片或视频数据。
[0035]在一些实施例中,永久存储器210存储数据236,包括移动设备102的用户特定的数据,如指示视频会议相关的一个或更多个偏好的视频会议简档。永久存储器210可以另外存储标识数据,如与特定会议相关的标识符、或与移动设备102相对应的、要在会议期间用于标识移动设备102的标识符。永久存储器210还可以存储与许多人相关的数据,例如,用户姓名、用户标识符(用户名、电子邮件地址、电话号码或任何其他标识符)、就职地点、工作电话号码、家庭住址或其他类型的用户特定信息。永久存储器210还可以存储将各种应用与例如移动设备102的特定用户的偏好相关的数据。在特定实施例中,永久存储器210可以存储将用户数据与应用中的数据的特定字段链接的数据236,如用于将用户名自动输入在移动设备102上运行的应用的用户名文本框。此外,在各种实施例中,数据234还包括服务数据,该服务数据包括移动设备122建立与保持与网络104的通信所需要的信息。
[0036]在一些实施例中,辅助输入/输出(I / O)子系统216包括外部通信链路或接口,例如,以太网连接。在一些实施例中,辅助I / O子系统216还可以包括一个或更多个输入设备,包括指向或导航工具,如可点击轨迹球或滚轮或拇指轮;或一个或更多个输出设备,包括机械换能器,如响应于移动设备102上的各种事件(例如,电子消息或呼入电话呼叫的接收)提供振动通知、或用于诸如触觉反馈(触摸反馈)的其他目的、或其任意组合的振动器。
[0037]在一些实施例中,移动设备102还包括一个或更多个可移除存储器模块238 (典型包括FLASH存储器)和存储模块接口 240。可移除存储器模块238的可能功能是存储去往无线网络(例如网络104)的识别或认证用户或用户账户的信息。例如,结合特定类型的无线网络(包括6SM和后继网络),可移除存储模块238被称为订户身份模块(SIM)。存储器模块238插入或耦合至移动设备102的存储器模块接口 240,以结合无线网络进行操作。
[0038]移动设备102还包括电池242,电池242为操作移动设备102供电。电池242可以通过电池接口 244与移动设备102的电子电路耦合,电池接口 244可以管理如下功能:从外部电源(未示出)给电池242充电和将电量分布至移动设备102内或与移动设备102耦合的各负载。
[0039]控制基本设备操作的应用集合(包括数据和可能的语音通信应用)可以在制造期间或制造之后安装在移动设备102上。还可以通过无线网络(例如网络104)、辅助I / O子系统216、数据端口 218、短距离无线通信子系统226或其他适合的子系统(如228),将操作系统软件232或软件应用234的附加应用或升级加载到移动设备102上。所下载的程序或代码模块可以永久安装、例如写入永久存储器210、或写入并从RAM212执行以由处理器202在运行时间执行。
[0040]移动设备102可以提供通信的三个主要模式:数据通信模式、语音通信模式和视频通信模式。在数据通信模式中,接收到的数据信号(如,文本消息、电子邮件消息、网页下载、或图像文件)由通信系统204处理并输入处理器202以进行进一步处理。例如,所下载的网页可以由浏览器应用进一步处理,或者电子邮件消息可以由电子邮件消息消息收发应用处理并输出至显示器206。移动设备102的用户也可以例如使用输入设备(如辅助I /O子系统216)、结合显示器206来编写数据项,如电子邮件消息。可以通过通信系统204,在无线网络(例如网络104)上发送这些编写项目。在语音通信模式中,移动设备102提供电话功能,并操作为典型的蜂窝电话。在视频通信模式中,移动设备102提供视频电话功能,并操作为视频电话会议终端。在视频通信模式中,移动设备102利用一个或更多个摄像机(如摄像机224)捕获视频用于视频电话会议。
[0041]如上所述,永久存储器210可以存储软件应用234,每个软件应用为移动设备102提供功能。例如,视频会议应用向移动设备102的用户提供协调与其他用户(如移动设备106的用户)的视频会议的能力。视频会议包括经由摄像机224捕获的视频图像数据的传送,使用户能够查看彼此的现场照片。在另一实施例中,视频会议应用提供在设备间的屏幕共享会话期间发送屏幕图像数据的能力。即,视频会议应用可以提供如下能力,使得在单个共享会话或组播共享会话中描述移动设备102的屏幕的屏幕图像数据可以在例如移动设备106、膝上型接收机108或多个附加计算设备中的一个或更多个上显示。视频会议应用可以向移动设备102的用户提供在现场视频图像的传送和共享屏幕的图像数据的传送之间切换的能力。[0042]作为示例,视频会议的组织者会期望向接收设备处的用户展示特定软件应用的功能。这样,组织者建立视频会议(共享连接),并且使用会议软件的屏幕共享能力能够周期性地向接收设备发送描述组织者的设备的共享屏幕的屏幕图像数据,使得可以在接收设备上显示该图像。如可以通过将来自屏幕的图像数据的直接流提供至图像缓冲器上,或通过周期性地捕获截屏并将该截屏置于图像缓冲器上,使屏幕图像数据从组织者设备实时流向接收设备。然后可以将来自图像缓冲器的屏幕图像数据通过使置于图像缓冲器上的屏幕图像数据流出的流服务发送到接收设备。
[0043]可以基于特定预设时间量、或基于显示器上检测到的改变(如移动的光标),周期性地更新载入图像缓冲器的屏幕图像数据。然后将缓冲器中的屏幕图像数据周期性地发送到接收设备,使得接收设备在组织者设备上保持屏幕的准确拷贝。在另一实施例中,屏幕图像数据可以提前记录并预先存储在存储器(如永久存储器210)中,用于在延迟后的时间处流向接收设备,例如用于记录训练视频。之后,所指定的接收设备可以连接到组织者设备,并且基于所建立的视频会议,所存储的屏幕图像数据流可以开始流出。
[0044]图3示出了用于进行视频会议的示例视频会议应用用户界面300。可以例如响应于来自辅助I / O子系统216的执行视频会议应用的命令,从移动设备(例如移动设备102)的桌面访问界面300。在一些实施例中,可以经由移动设备上的物理按键或按钮来访问界面300。
[0045]界面300提供视频会议中的参与者的实时可视图像。更具体地,界面300可以将组织者的可视表示显示为缩小图像302,而将接收设备的用户的可视表示显示为大图像304。可视表示的这种设置允许组织者清楚地看到接收设备的用户,并确认当前正在流向接收设备的视频内容。此外,在接收设备的屏幕上,可以翻转可视表示,使得接收设备的用户的可视表示示为缩小图像,而组织者可视表示示为大图像。
[0046]界面300还可以向组织者提供各种控制,如结束视频会议的结束呼叫按钮306、改变摄像机按钮308、静音按钮310、以及屏幕共享按钮312。选择改变摄像机按钮308将会使操作系统232从移动设备上的一个摄像机改变到不同摄像机(例如,从移动设备的前置摄像机改变到移动设备的后置摄像机),以及选择静音按钮310将会使微处理器222静音,使得组织者设备将不会发送声音。选择屏幕共享按钮312将会使视频会议应用从提供来自摄像机的实时视频图像数据切换为在屏幕共享模式期间提供屏幕图像数据。屏幕共享模式提供向接收设备发送来自选择了屏幕共享按钮312的用户的屏幕的屏幕图像数据的能力。
[0047]图4示出了在视频会议期间组织者选择屏幕共享按钮312之后在例如组织者设备上显示的屏幕共享用户界面400的示例。屏幕共享用户界面400显示选项402,使屏幕共享的组织者能够通过选择使界面300(如以上图3所示)重新显示用于视频会议的选项402来停止屏幕共享模式。屏幕共享用户界面400还显示通知404,提供移动设备处于屏幕共享模式的可视通知。在一些实施例中,通知404还提供组织者设备的标识信息,如与组织者设备相对应的标识符或名称,这可以根据数据236获知。
[0048]作为选择组织者设备上的屏幕共享按钮312的结果,视频会议应用可以使用操作系统232提供的API,请求访问屏幕数据流或屏幕数据的截屏。基于视频会议应用所发布的请求,操作系统232可以将通知404置于屏幕上。在显示通知404之后,操作系统232根据与显示屏幕相关联的摄像机服务来请求当前显示屏幕的屏幕图像。然后摄像机服务服务屏幕服务,屏幕服务可以周期性地将屏幕图像数据流置于图像缓冲器上。在一些实施例中,可以周期性地生成截屏,并且可以基于特定预设时间量的过去或基于检测到的显示器上的改变(如,光标移动),将截屏置于缓冲器上。使用周期性置于缓冲器上的屏幕图像数据,将屏幕图像数据从组织者设备发送到接收设备,使得可以在接收设备上查看组织者屏幕的准确表不。
[0049]图5A示出了描述正与接收设备共享组织者屏幕的共享用户界面500的示例。例如,组织者会想要显示与运行在组织者设备上的应用相关联的功能。为此,例如,组织者在组织者设备上执行需要认证信息以登录应用的应用。在该特定示例实施例中,应用需要包括电子邮件地址和密码的认证信息,作为认证过程的一部分。在特定实施例中,组织者可以使用显示器206的触摸屏来选择用户界面元件,如电子邮件地址文本框502,从而组织者可以输入电子邮件地址。应用检测到激活或选择文本框502的当前输入焦点,并通过发布针对与虚拟键盘相对应的用户界面元件的适合的API请求,向操作系统232请求激活或显示虚拟键盘504。在一些实施例中,虚拟键盘是针对特定模式的虚拟键盘。例如,针对特定模式的虚拟键盘可以有益于密码输入,并可以包括字母和数字和其他特定字符。
[0050]基于文本框502的激活和接收到的显示虚拟键盘504的请求,操作系统232执行安全性检查,以确保保护机密或私有信息。具体地,由于会发生屏幕共享,存在与视频会议的组织者相关联的机密信息可能发送到接收设备的风险。为了避免共享机密信息,操作系统232可以执行检查,以确定是否发生屏幕共享,如果是,则至少部分地基于文本框502的激活,确定是否要在显示器206上显示机密信息。
[0051]在特定实施例中,操作系统232通过确定当前输入焦点是否与用于接收或显示机密信息的用户界面组件相关联,确定是否接收到显示机密信息的请求,或者是否要输入机密信息并在后续进行显示。在一些实施例中,该用户界面组件可以是认证字段或认证提示。基于确定当前输入焦点与包含机密信息的用户界面组件相关联,操作系统232发布与暂停屏幕共享相关联的请求。在确定激活的用户界面组件不包含机密信息之后,操作系统232允许继续屏幕共享,并且屏幕图像数据在文本框502的数据输入期间继续被周期性地发送给接收设备,其中更新屏幕图像数据以反映组织者设备的屏幕上的改变。
[0052]在一些实施例中,操作系统232通过确定用户界面组件是否是正被用于接收机密信息(如,密码字段),来确定用户界面组件包含机密信息。可选地,操作系统232可以基于从应用接收的与用户界面组件相关的请求。例如,一旦激活文本框502,应用经由向操作系统232的API请求,请求显示与文本框502相关联的虚拟键盘。操作系统232然后确定文本框502与用于一般文本输入(B卩,非机密信息)的标准虚拟键盘相关联,并且由于标准虚拟键盘不是专门用于输入机密信息的虚拟键盘,所以操作系统232可以确定用户将不会输入机密信息。
[0053]可选地,在一些实施例中,操作系统232可以通过检测到包含用于数据输入的若干字段的用户界面窗体的显示或激活,确定用户界面组件包括机密信息。由于操作系统232可能没有足够的信息来确定包括在窗体中的哪些字段包含机密信息,所以操作系统232可以将用户界面窗体的显示或激活识别为可能包含机密信息。操作系统232可以基于任意类型的用户界面元件,如基于全屏或部分屏幕显示的对话框或弹窗的显示或用户交互,来执行确定。[0054]图5B示出了根据示例实施例的共享用户界面500的示例,其可以作为激活文本框502并在后续将表示电子邮件地址的文本输入文本框502的结果来显示。由于操作系统232知道文本框502为标准文本用户界面组件,操作系统232确定文本框502不包含机密信息。这样,屏幕共享继续,并且接收设备基于来自组织者设备周期性的数据发送,来继续接收更新的屏幕图像数据。此外,通知506继续指示在设备之间发生屏幕共享。
[0055]图5C示出了根据示例实施例的共享用户界面500的示例,其可以作为基于与密码文本框508相关联的当前输入焦点来激活密码文本框508的结果来显示。应用检测到激活或选择密码文本框508的当前输入。在如图5C所示的一些实施例中,激活或选择密码文本框508通过发布适合的API请求来从操作系统232触发与密码文本框508相关联的虚拟键盘的激活或显示。在显示虚拟键盘之前,操作系统232可以执行检查,以确定是否接收到显示机密信息的请求,或者是否将要输入机密信息并且后续在显示器206上显示,这类似于关于文本框502执行的操作。
[0056]例如,在图5C中,操作系统232确定发生屏幕共享,操作系统232接下来确定密码文本框508是否是包含机密信息的用户界面组件。操作系统232可以通过例如将密码文本框508识别为包含机密信息的预定用户界面组件,来确定密码文本框508包含机密信息。
[0057]在一些实施例中,操作系统232可以确定与密码文本框508相关联的虚拟键盘是密码专用虚拟键盘,包含辅助用户输入密码的附加键盘元件。例如,密码专用虚拟键盘可以包括另外的数字值的行,因为密码通常除字母之外还包含数字。因此,基于应用请求的特定类型的虚拟键盘,操作系统232可以确定密码文本框508是包含机密信息的用户界面组件。
[0058]可选地,在一些实施例中,当用户开始在密码文本框508中键入时,可以出现密码文本框的激活。具体地,操作系统232可以接受显示密码专用虚拟键盘的请求,但是可以通过用户开始使用密码专用虚拟键盘键入来触发确定密码文本框508是包含机密信息的用户界面组件。
[0059]因此,在确定存在机密信息可能与接收设备共享的风险之后,操作系统232采取中止更新屏幕图像数据向接收设备发送的过程。首先,操作系统232可以显示更新的通知510,指示当前暂停屏幕共享,并且可以显示适合的图形,以指示正在处理机密信息。
[0060]在显示指示暂停屏幕共享的更新的通知510之后,操作系统232从与显示屏幕相关联的摄像机服务请求暂停屏幕共享。然后摄像机服务可以访问屏幕服务以请求暂停屏幕共享。屏幕服务可以在图像缓冲器上放置包含更新的通知510的单个屏幕图像,该单个屏幕图像表示在中止更新之前的最新屏幕捕获。然后,屏幕服务可以中止将屏幕图像数据放置在图像缓冲器中。在一些实施例中,屏幕服务可以继续将单个屏幕图像数据馈入图像缓冲器,直至结束该中止。在屏幕服务报告暂停屏幕共享之后,摄像机服务可以获取包含更新的通知506的单个屏幕图像。在中止屏幕共享期间,包含更新的通知510的单个屏幕图像可以周期性地置于图像缓冲器,并发送给接收设备,同时中止屏幕图像数据的更新,从而(经由包含更新的通知506的“冻结的”单个图像)向接收设备通知基于机密信息而暂停屏幕共享。单个屏幕图像的定期发送有助于通过向用户警告接收设备由于输入组织者设备上的机密信息、而非由于任何网络困难而导致屏幕图像数据的中止。
[0061]在一些其他实施例中,屏幕服务可以访问与密码文本框508相对应的访问位置信息,并且可以继续生成屏幕图像数据,同时从屏幕图像数据中排除显示器上由位置信息所定义的位置处的任何信息。按照这种方式,可以针对显示器的剩余部分生成屏幕图像数据,但是可以中止屏幕图像数据的一部分,并且该部分将不包括对关于密码文本框508执行的动作的任何更新。屏幕图像数据被周期性地置于图像缓冲器中,并发送到接收设备,但是与密码文本框508的位置相对应的屏幕图像数据的部分将会保持静止,接收设备将不会看到与密码文本框508相对应的任何输入。
[0062]图示出了根据示例实施例的共享用户界面500的示例,其可以作为暂停屏幕共享的结果来显示。具体地,视频会议的组织者确保可以将机密信息输入密码文本框508,而没有数据发送到接收设备。此外,作为另外一层安全性,输入密码文本框508的机密信息可以被遮蔽,以防止组织者设备视线范围内的第三方看到。
[0063]在示例实施例中,共享用户界面500可以包括拨动可视性按钮512,其可用于拨动用户界面组件(如,密码文本框508)中机密信息的遮蔽的开关。例如,如图5E所示,视频会议的组织者可以选择可视性按钮512,使输入密码文本框508中的密码不被遮蔽。不遮蔽输入密码文本框508的密码可以在不改变暂停屏幕共享的状态的情况下发生,因而可以通过允许组织者看到正在输入什么密码来为组织者提供便利性,而无需惧怕可看到的密码正被发送给接收设备。
[0064]在可选实施例中,可视性按钮512可以忽略暂停的屏幕共享模式,并且可以使屏幕共享恢复。例如,在两个用户之间的协作中,向接收设备的用户显示特定机密数据会是有益的,这样机密信息可以被接收设备的用户所知。因而,组织者可以选择可视性按钮512,仅针对特定用户界面组件忽略操作系统232所设置的暂停的屏幕共享。
[0065]图5F示出了根据示例实施例的共享用户界面500的示例,其可以作为当前输入焦点不再与包含机密信息的用户界面组件相关联的结果来显示。例如,在组织者将密码输入密码文本框508之后,操作系统232可以确定当前输入焦点与拨动按钮514相关联,因而不再激活密码文本框508。在检测到不再激活密码文本框508之后,操作系统232请求通过接触摄像机服务恢复屏幕共享。摄像机服务可以联系屏幕服务,以请求恢复屏幕共享。然后屏幕服务可以周期性地将屏幕图像数据置于图像缓冲器上,替换在暂停屏幕共享时周期性地发送到接收设备的单个屏幕图像。在去激活密码文本框508之后,屏幕图像数据描述组织者设备的屏幕。因而,接收设备将不会看到任何描述将数据输入密码文本框508的屏幕图像数据,但是将仅会看到已输入密码的屏幕图像数据。此外,操作系统232重新显示通知506以指示屏幕共享当前正在进行中。
[0066]在特定实施例中,模糊可以应用于包含机密信息的去激活后的用户界面组件。图6示出了根据示例实施例的发送设备用户界面600的示例,其可以作为确定当前用户输入焦点不再与包含机密信息的用户界面组件相关联的结果来显示。例如,类似于以上描述,发送设备用户界面600的用户在屏幕共享期间输入电子邮件地址和密码。在检测到不再激活密码文本框602之后,密码文本框602包含输入的机密信息,操作系统232可以请求利用模糊元件来覆盖发送给接收设备的屏幕图像数据,以保护机密信息。
[0067]例如,在屏幕服务捕获描述发送设备的屏幕的屏幕图像数据之后,操作系统232可以在将屏幕图像数据置于图像缓冲器上之前或之后将模糊元件置于屏幕图像数据上。可以通过发送设备的屏幕上模糊轮廓604的放置来向发送设备的用户通知模糊元件的放置。模糊轮廓604可以通知用户:模糊元件将会显示在接收设备上,同时仍允许发送设备的用户看到机密信息。
[0068]模糊元件可以是阻碍查看密码的任意类型的元件,如多斑点元件、阴影线图案覆盖或纯色覆盖。可以基于密码文本框602在发送设备用户界面600上的已知位置,将模糊元件应用于屏幕图像数据,如果操作系统232确定不再激活密码文本框602,且密码文本框602包含输入数据,则操作系统232可以请求将模糊元件置于屏幕图像数据上与密码文本框602的位置相对应的位置上。
[0069]图7不出了根据不例实施例的接收设备用户界面700的不例。接收设备用户界面700可以表示发送设备用户界面600,包括反映密码文本框602的密码文本框702,但是将模糊元件704置于密码文本框702上以防止一旦恢复屏幕共享接收设备便看到任何关于密码文本框702的信息。模糊元件704可以通过防止接收设备能够确定密码包括多少字符(如通过使得接收设备难以感知密码文本框702中标记字符的个数)来提供附加的安全性。
[0070]图8是用于中止设备间的屏幕共享的示例方法的流程图。使用方法800,移动设备(如移动设备102)的用户可以保护机密信息不发送到接收设备,从而避免潜在的安全风险。应理解,方法800不限于在移动设备上执行,并且可以通过能经由有线或无线连接进行连接的任意计算设备执行。例如,在特定实施例中,方法800可以通过在移动设备102的处理器202上执行的操作系统232执行。然而,方法800不限于在移动设备102上执行,移动设备102、移动设备106或膝上型计算机108中的任何一个可以根据方法800发起视频会议。
[0071]方法800开始于步骤802,其中操作系统接收激活用户界面组件的请求。用户界面组件的激活可以例如至少部分地基于检测到与用户界面组件相关联的当前输入焦点。可选地,用户界面组件的激活可以至少部分地基于接收到与用户界面组件相关联的用户输入,或者可以至少部分地基于接收显示特定用户界面组件的请求。例如,可以接收请求以显示虚拟键盘,虚拟键盘是专门与密码输入一起使用的键盘,因为该键盘包括超出在设备所使用的标准虚拟键盘上显示的数字和字母之外的其他数字和字母。
[0072]在步骤804,操作系统获取与同另一设备共享的屏幕的当前状态有关的信息,在步骤806,操作系统确定当前是否启用屏幕共享。如果操作系统确定当前没有启用屏幕共享,方法800返回步骤802,以等待激活另一用户界面组件的请求。在确定当前启用屏幕共享之后,方法800进行至步骤808。
[0073]在步骤808,操作系统确定激活后的用户界面组件是否包括机密信息。例如,操作系统可以确定激活的用户界面组件是密码输入文本框,其中用户将会输入机密信息,如密码。在另一实施例中,操作系统可以确定在步骤802请求显示的虚拟键盘是密码专用虚拟键盘,使用密码虚拟键盘输入的任意信息将会或可能为机密信息。如果确定激活的用户界面组件不与机密信息相关联,则方法800进行至步骤810。可选地,如果操作系统确定激活的界面组件与机密信息相关联,则方法800进行至步骤816。
[0074]在步骤810,如果操作系统确定激活后的用户界面组件不与机密信息相关联,则操作系统还确定是否任何用户界面组件包括应当被模糊的元件。例如,尽管激活后的用户界面组件不包括机密信息(例如,标准文本框),用户可以将机密信息(例如,示出密码长度的指示符)输入先前激活的用户界面组件(例如,密码文本框)。
[0075]在步骤812,如果操作系统确定用户界面组件包含机密信息,并且应当使用模糊元件,则操作系统可以将模糊元件置于描述当前屏幕的屏幕图像数据上,其中模糊元件可以置于屏幕图像数据上与包含机密信息的用户界面组件相对应的位置上。操作系统可以基于操作系统中定义的偏好来确定是否在屏幕图像数据上放置模糊元件。可选地,如果操作系统确定不应使用模糊元件,则步骤810跳过在屏幕图像数据上放置模糊元件,直接进行至步骤814。
[0076]在步骤814,屏幕图像数据置于图像缓冲器中用于发送到接收设备。屏幕图像数据置于用于流出屏幕图像数据的发送流上,并发送屏幕图像数据,使得接收设备可以查看在发送设备的用户界面上出现的更新。
[0077]可选地,在步骤816,如果操作系统确定激活的用户界面组件与机密信息相关联,则操作系统修改在所显示的用户界面上的通知,以指示将暂停屏幕共享。操作系统然后请求由于输入或显示机密信息而导致暂停屏幕共享。
[0078]在步骤818,基于来自操作系统的请求,摄像机服务可以访问屏幕服务以请求暂停屏幕共享。屏幕服务然后可以中止将更新后的屏幕图像置于图像缓冲器上。在屏幕服务报告暂停屏幕共享并且没有屏幕图像数据通过屏幕服务置于图像缓冲器上之后,摄像机服务可以获取在屏幕服务中止更新屏幕图像数据之前最后置于缓冲器上的单个屏幕图像,并且可以周期性地将单个屏幕图像置于用于流出屏幕图像数据的图像缓冲器上。该单个屏幕图像可以包含表示暂停屏幕共享的更新后的通知。
[0079]最后在步骤820,置于发送流上的图像数据周期性地发送到接收设备。如果确定激活后的用户界面组件不与机密信息相关联,则周期性地发送到接收设备的屏幕图像数据将会是表示发送设备的当前屏幕的屏幕图像数据。可选地,如果确定激活后的用户界面组件与机密信息相关联,则周期性地发送到接收设备的屏幕图像数据将会是单个屏幕图像,描述在紧接屏幕共享暂停之前发送设备的屏幕。可以将该单个屏幕图像周期性地置于图像缓冲器,并发送到接收设备,同时中止屏幕图像数据的更新,使得向接收设备通知:基于机密信息暂停屏幕共享。然后,方法800返回步骤802,等待激活另一用户界面组件的请求。
[0080]尽管以上提出的示例实施例描述了确定用户界面组件是否包含机密信息的一个示例方法,也可以考虑可选实施例。例如,将会理解,操作系统232可以基于任意类型的条件来确定用户界面组件包含机密信息,并且基于预先获知的特定用户界面组件包含机密信息的条件,该确定不是必需的。例如,操作系统232可以基于软件应用所确定的条件,展示允许软件应用请求屏幕共享暂停的API,而无需激活特定用户界面组件。这将会使软件应用能够定义何时应当加强机密性的条件,并且操作系统232然后将会基于该应用设置的修改后的条件来暂停屏幕共享。
[0081]在另一示例实施例中,操作系统232可以监控软件应用234的执行,并且可以将应用标识符与预先确定的包含机密信息的应用列表进行比较,或者可以将针对应用的许可与可共享应用的批准列表进行比较。因此,当操作系统232确定当前屏幕共享有效,并且包含机密信息的应用正准备在移动设备102上执行时,操作系统232可以中止屏幕图像数据的传送,直至应用关闭且不再显示。
[0082]例如,移动设备102可以包括与机密主题(例如,银行业、政府或金融)相关的软件应用,或者可以包括机密应用,如密码保险箱应用,其中可以存储各种服务的密码。在特定实施例中,这些应用可以被配置为具有将会由操作系统232识别的标识属性,如“不可共享”许可属性。因而,当开始在移动设备102上执行这种应用时,操作系统232可以检测许可属性,并且在出现合适的许可属性时中止共享。一旦关闭或最小化不可共享应用,然后可以继续屏幕共享。在另一实施例中,屏幕共享可以继续,同时执行不可共享应用,但是可以将模糊元件置于包含不可共享应用的显示部分。
[0083]在另一实施例中,不可共享许可属性可以应用于与软件应用相关联的特定用户界面窗体或对话框。操作系统232可以检测针对特定窗体或对话框的许可属性,并在显示该窗体或对话框时中止共享。可选地,操作系统232可以基于与窗体或对话框相关联的数据输入字段的个数来确定窗体或对话框可能包含机密数据,而无需检查不可共享许可属性。例如,特定形式或对话框可以包含大量数据输入字段。当操作系统232接收请求以显示窗体或对话框时,操作系统232可以基于显示在窗体或对话框上的不同字段的个数来确定窗体或对话框可能包含机密信息,并且可以暂停针对特定窗体或对话框的屏幕共享。
[0084]在另一示例实施例中,移动设备102可以与电视机或计算机监视器或投影仪连接,并且可以无需视频会议的参与而直接发起屏幕共享。这可以允许通过简单使用移动设备102的屏幕共享功能来向一大群人展示或呈现。此外,移动设备102可以执行类似步骤,如前所述,确定是否在屏幕上描述机密信息。例如,移动设备102可以通过数据端口 218 (如通过HDM1、DV1、显示端口、USB或其他有线连接)或通过短距离无线通信子系统226 (如通过蓝牙、无线HD、WHD1、WiD1、Miracast、AirPlay、NFC、UWB或其他无线连接)与监视器或投影仪连接。在连接设备之后,移动设备102可以进入呈现模式,从而移动设备102的屏幕在监视器或投影仪上重复。使用上述暂停过程,选择密码文本框同时移动设备102处于呈现模式(因而屏幕共享)会导致在监视器或投影仪上重复的图像暂停。移动设备102还可以在针对呈现模式的一对多组播会话中与多个设备连接,其中移动设备102的屏幕在组播会话中在多个设备上重复。
[0085]应当理解,可以在发送设备上实现所公开的实施例,而在接收设备上无需超出共享屏幕能力的任何其他实施方式。如上所述,发送设备可以做出屏幕共享正在发生的确定,并且可以基于确定屏幕上是否描述了机密信息而确定是否暂停屏幕共享。基于该确定,可以在发送侧,在屏幕图像数据上做出适合的通知消息,并且将其周期性地发送给接收设备。接收设备不需要接收所发送的屏幕图像数据的附加特征,并且接收设备仅知道正周期性地从发送设备接收屏幕图像数据。因此,可以提供向接收设备的用户提供已经暂停屏幕共享的通知的功能,而无需接收设备的用户的任何附加步骤。
[0086]仅为说明目的而做出以上描述。以上描述不是排他的,且不限于所公开的精确形式或实施例。实施例的修改或调整将通过考虑说明书和所公开的实施例的实践而显而易见。例如,所描述的实施方式包括硬件和软件,但是符合本公开的系统和方法可以以单独的硬件实现。
[0087]基于本文的描述和方法的计算机程序在软件开发者具有的技能范围内。可以使用各种编程技术来创建各种程序或程序模块。例如,可以以或通过Java、C、C++、汇编语言或任何这样的编程语言来设计程序部分或程序模块。这种软件部分或模块的一个或更多个可以集成到计算机系统或现有的通信软件中。
[0088]此外,尽管在此描述了说明性的实施例,但是本发明的范围包括具有(例如,各种实施例的各方面的)等同的元素、修改、省略、组合的任何及所有实施例。应给予权利要求中采用的语言来广义地解释权利要求中的要素,并且不限于本文中或本申请的申请过程中所描述的示例,该示例应被理解为非排他的。此外,可以任何方式修改所公开的方法的步骤,包括重新排序步骤和/或插入或删除步骤。因而,说明书和示例仅被理解为示例,其真实范围和精神由所附权利要求及其等同物的完整范围来限定。
【权利要求】
1.一种在源设备和至少一个接收设备之间共享图像数据的方法,所述方法包括: 使用共享连接,周期性地向至少一个接收设备发送共享屏幕的图像数据; 接收与激活包含机密信息的用户界面组件相关联的请求; 响应于接收到的请求,中止图像数据的更新;以及 在中止更新时,周期性地向至少一个接收设备发送中止的图像数据。
2.根据权利要求1所述的方法,其中激活用户界面组件至少部分地基于接收显示虚拟键盘的请求,所述虚拟键盘具有专门用于输入机密信息的键盘元件。
3.根据权利要求1或2所述的 方法,其中激活用户界面组件至少部分地基于确定当前输入焦点与用户界面组件相关联。
4.根据权利要求3所述的方法,其中,在当前输入焦点不与用户界面组件相关联时,不再激活用户界面组件。
5.根据权利要求4所述的方法,还包括:响应于确定不再激活用户界面组件,恢复图像数据的更新。
6.根据权利要求5所述的方法,还包括: 在确定不再激活用户界面组件之后,确定在用户界面组件中是否显示机密信息;以及 使机密信息模糊。
7.根据权利要求1至6中任一项所述的方法,其中,中止图像数据的更新包括:防止将更新后的图像数据置于图像缓冲器中。
8.根据权利要求7所述的方法,其中,发送中止的图像数据包括:周期性地发送在中止之前被置于图像缓冲器中的单个屏幕图像。
9.根据权利要求1至8中任一项所述的方法,还包括:显示指示屏幕共享被中止的通知,其中在中止图像数据的更新之前添加所述通知,并且发送到接收设备的中止的图像数据包括所述通知。
10.根据权利要求1至9中任一项所述的方法,其中,激活用户界面组件包括:确定用户界面组件与机密信息相关联,其中机密信息是登录凭证、账号、社会保障号码、信用卡号或与金融相关的信息之
11.根据权利要求1至10中任一项所述的方法,其中,用户界面组件是认证字段和认证提示之一。
12.根据权利要求1至11中任一项所述的方法,其中,中止图像数据的更新包括:中止更新屏幕图像中与用户界面组件的显示部分相对应的部分,同时更新图像数据的剩余部分。
13.根据权利要求12所述的方法,还包括: 确定用户界面组件是否与不可共享属性相关联;以及 一旦确定用户界面组件与不可共享属性相关联,中止更新屏幕图像中与用户界面组件的位置相对应的部分。
14.一种用于发送与至少一个接收设备(106)共享的图像数据的源设备(102),包括: 能够存储指令的一个或更多个计算机可读存储介质(210);以及 能够执行所述指令的一个或更多个处理器(202),所述指令的执行使发送设备: 使用共享连接,周期性地向接收设备发送共享屏幕的图像数据;接收与激活包含机密信息的用户界面组件相关联的请求; 响应于接收到的请求,中止图像数据的更新;以及 在中止更新时,周期性地向至少一个接收设备发送中止的图像数据。
15.—个或更多个计算机可读存储介质(210),所述计算机可读存储介质存储指令,所述指令当由源设备(102)的一个或更多个处理器(202)执行时使所述源设备: 使用共享连接,周期性地向至少一个接收设备发送共享屏幕的图像数据; 接收与激活包含机密信息的用户界面组件相关联的请求; 响应于接收到的请求,中止图像数据的更新;以及 在中止更新时,周期性地向至少一个接收设备发送中止的图像数据。
【文档编号】G06F21/60GK103974025SQ201410043315
【公开日】2014年8月6日 申请日期:2014年1月29日 优先权日:2013年1月29日
【发明者】赖安·孔兰德·布兰德, 于里·波尔鲁耶夫 申请人:黑莓有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1