在应用后台化后在窗口小部件中继续回放的系统和方法与流程

文档序号:17976422发布日期:2019-06-21 23:49阅读:192来源:国知局
在应用后台化后在窗口小部件中继续回放的系统和方法与流程

本申请要求于2014年3月12日提交的标题为“SYSTEM AND METHOD FOR CONTINUING PLAYBACK IN WIDGET AFTER APP IS BACKGROUNDED”的美国专利申请序列号14/206,838的优先权,该申请的全部内容通过引用合并至此。

技术领域

本公开大体上涉及促进在将视频应用移动至执行视频应用的多任务操作系统的后台时将视频在视频应用中的当前回放无缝地转换至视频窗口小部件的系统和方法。当将视频应用移动至后台时,该转换在视频应用中的当前回放的点处无缝地发生。此外,在将视频应用移动至多任务操作系统的前台之后,将视频在视频窗口小部件中的当前回放无缝地转换至视频应用。



背景技术:

移动设备允许用户在设备上所安装的多种应用之间切换。然而,当将当前处于移动设备的操作系统的前台(例如,用户已经针对当前操作和/或交互所选择的应用)中的应用(诸如,视频应用)移动至操作系统的后台(例如,用户已经从其导航离开的应用)时,停止、暂停或者关闭该视频应用。例如,当用户可能希望采用另一应用或者检查通知时,而让后台视频应用继续播放视频,这不是一种理想的用户体验。



技术实现要素:

本文提供了一种帮助实现对随后在更详细的描述和附图中的示例性非限制性实施例的各个方面的基本理解或者大体理解的简明总结。然而,该总结并不旨在是广泛的或者详尽的概述。相反,该总结的目的在于呈现与简化形式的一些示例性非限制性实施例相关的一些概念,作为对本公开中随后的各个实施例进行更详细的描述的前序。

根据非限制性实施方式,检测将视频应用从多任务操作系统的前台移动至后台的第一输入,并且响应于第一输入:确定视频在视频应用中的第一当前回放点;在窗口小部件应用中发起视频在第一当前回放点处的回放;并且将视频应用移动至多任务操作系统的后台。

根据非限制性实施例,应用转移组件被配置为:确定已经将视频应用从设备的操作系统的前台移动至后台;确定视频在视频应用中的第一当前回放点;并且开始在视频窗口小部件中视频在第一当前回放点处的回放。

根据非限制性实施例,检测已经将视频应用从设备的操作系统的前台移动至后台;识别视频在视频应用中的第一当前回放点;并且开始在视频窗口小部件中视频在第一当前回放点处的回放。

下面更加详细地描述了这些和其它实施方式和实施例。

附图说明

图1图示出了根据本公开的实施方式的示例性非限制性示例系统的框图,该示例性非限制性示例系统用于在将视频应用移动至执行视频应用的多任务操作系统的后台时将视频在视频应用中的当前回放无缝地转换至视频窗口小部件,并且在将视频应用移动至多任务操作系统的前台之后将视频在视频窗口小部件中的当前回放无缝地转换至视频应用。

图2图示出了根据本公开的实施方式的在视频应用与视频窗口小部件之间无缝地转换视频的当前回放的示例性非限制性视频转移组件的框图。

图3A图示出了根据本公开的实施方式而图示的非限制性示例客户端设备。

图3B图示出了根据本公开的实施方式的用户已经选择了视频应用图标的与图3A相对应的非限制性示例客户端设备。

图3C图示出了根据本公开的实施方式的已经将视频应用移动至后台并且已经在视频应用中的当前回放时间将视频的回放无缝地转换至视频窗口小部件的与图3B相对应的非限制性示例客户端设备。

图3D图示出了根据本公开的实施方式的视频窗口小部件已经继续视频回放的与图3C相对应的非限制性示例客户端设备。

图3E图示出了根据本公开的实施方式的已经将视频应用移动至前台并且已经在视频窗口小部件中的当前回放时间将视频的回放无缝地转换至视频应用的与图3D相对应的非限制性示例客户端设备。

图4图示出了根据本公开的实施方式的用于在将视频应用移动至执行视频应用的多任务操作系统的后台时将视频在视频应用中的当前回放无缝地转换至视频窗口小部件的示例性非限制性流程图。

图5图示出了根据本公开的实施方式的用于在将视频应用移动至执行视频应用的多任务操作系统的前台时将视频在视频窗口小部件中的当前回放无缝地转换至视频应用的示例性非限制性流程图。

图6图示出了可以实现各个实施例的示例性非限制性网络化环境的框图。

图7图示出了可以实现各个实施例的示例性非限制性计算系统或者操作环境的框图。

具体实施方式

概述

参照附图描述本公开的各个方面或者特征,其中,贯穿整个附图,使用相同的附图标记来表示相同的元素。在本说明书中,陈述了许多具体细节以便提供对本公开的彻底理解。然而,应该理解,可以在没有这些具体细节的情况下或者利用其它方法、组件、材料等来实践本公开的某些方面。在其它情况下,以框图的形式示出公知的结构和设备以便于描述本公开。

根据各个所公开的方面,为客户端设备(例如,用户设备)提供了一种机制,以在将视频应用移动至执行视频应用的多任务操作系统的后台时,将视频在视频应用中的当前回放无缝地转换(例如,转移、交递、转换、切换或者移动)至视频窗口小部件(例如,直播窗口小部件、实时窗口小部件、直播图块、窗口小部件应用或者直播图标)。在将视频应用移动至多任务操作系统的前台之后,提供了一种将视频在视频窗口小部件中的当前回放无缝地转换至视频应用的机制。应理解,在非限制性示例中,窗口小部件可以是包括对应完整应用的功能的子集的应用。例如,视频窗口小部件可以包括视频应用的功能的子集。在另一示例中,视频窗口小部件可以是与视频应用完全不同类型的应用(例如,不同的形式、不同的发布者、支持的不同编解码器、不同的功能、或者任何其它合适的区别特性)。

虽然为了易于阐释起见,本文所呈现的实施例使用了在视频应用与视频窗口小部件之间转换的视频,但是应理解,本文的构思可应用于可以在应用与对应的窗口小部件之间来回转换连续的回放的任何合适的内容,该任何合适的内容的非限制性示例可以包括音乐、演讲、卡通、短片、电影、电视节目、游戏、应用或者任何其它合适的创造性作品。

现在参照附图,图1描绘了系统100,该系统100用于在将视频应用移动至执行视频应用的多任务操作系统的后台时将视频在视频应用中的当前回放无缝地转换至视频窗口小部件,并且在将视频应用移动至多任务操作系统的前台之后将视频在视频窗口小部件中的当前回放无缝地转换至视频应用。系统100包括客户端设备110,该客户端设备110包括在视频应用与视频窗口小部件之间无缝地转换视频的当前回放的视频转移组件120。客户端设备110还包括与(多个)服务器150交互以促进数据交换的接口组件130。另外,客户端设备110包括数据储存器140,该数据储存器140可以存储由客户端设备110、视频转移组件120和接口组件130所生成和/或所接收的内容和数据。数据储存器140可以被存储在任何合适的类型的存储设备上,参照图6和图7图示了所述存储设备的非限制性示例。

客户端设备110和服务器150包括存储计算机可执行组件的至少一个存储器和执行存储在存储器中的计算机可执行组件的至少一个处理器,参照图7可以发现该至少一个存储器和该至少一个处理器的非限制性示例。客户端设备110可以经由有线和/或无线网络与服务器150通信。此外,客户端设备110可以与任何合适数量的服务器150通信,并且服务器150可以与任何合适数量的客户端设备110通信。要进一步了解,服务器150可以是另一客户端设备110。

客户端设备110和服务器150可以是用于通过有线或者无线通信链路在本地或者远程地记录数据、与数据交互、接收数据、访问数据或者供应数据的任何合适类型的设备,该设备的非限制性示例包括可穿戴设备或者非可穿戴设备。例如,可穿戴设备可以包括抬头式显示眼镜、单片眼镜、框架眼镜、隐形眼镜、太阳眼镜、耳机、遮阳板、帽子、头盔、面具、头带、服装、相机、摄像机、或者可以由人类或者非人类用户穿戴的能够记录数据、与数据交互、接收数据、访问数据或者供应数据的任何其它合适的设备。例如,非可穿戴设备可以包括移动设备、移动电话、相机、摄录机、摄像机、个人数据助理、膝上型计算机、平板计算机、台式计算机、服务器系统、有线电视机顶盒、卫星电视机顶盒、光缆调制解调器、电视机、监视器、媒体扩展器设备、蓝光设备、DVD(数字多功能光盘或者数字视频光盘)设备、光盘设备、视频游戏系统、便携式视频游戏机、音频/视频接收器、无线电设备、便携式音乐回放器、导航系统、汽车音响、传感器、或者能够记录数据、与数据交互、接收数据、访问数据或者供应数据的任何其它合适的设备。此外,客户端设备110和服务器150可以包括用户界面(例如,web浏览器或者应用),该用户界面可以接收并且呈现本地或者远程生成的显示器和数据。

图2图示出了视频转移组件120,该视频转移组件120包括应用转移组件210,当将视频应用转移至执行视频应用的多任务操作系统的后台时,该应用转移组件210将视频在视频应用中的当前回放无缝地转移至视频窗口小部件。例如,客户端设备可以执行允许用户在由操作系统执行的任务之间切换的多任务操作系统。用户可以在视频应用中播放视频并且接收邮件已经到达的通知。用户可以选择在客户端设备上的主页按钮,该主页按钮将视频应用移动至操作系统的后台并且呈现主页屏幕,以便他们可以选择电子邮件应用的应用图标或者查看在主页屏幕上的电子邮件窗口小部件。在将视频应用移动至操作系统的后台之后,当用户选择了主页屏幕时,应用转移组件210可以在视频应用中的当前回放时间点将视频的回放无缝地转移至在主页屏幕上的视频窗口小部件。视频的回放在允许无缝转换的当前回放时间点在视频窗口小部件中开始。应理解,应用转移组件210可以检测到已经将视频应用移动至多任务操作系统的后台、由多任务操作系统通知已经将视频应用移动至后台、或者使用任何其它合适的机制来确定已经将视频应用移动至多任务操作系统的后台。应该理解,窗口小部件也可以由多任务操作系统执行。此外,视频可以在本地被存储在客户端设备110上或者通过服务器150被流式传输。

参照图3A,图示出了非限制性示例客户端设备110。客户端设备110包括通知区域310,该通知区域310使用图形或者文本来将通知提供给用户。客户端设备110包括菜单按钮306,该菜单按钮306在选择之后显示用户可以选择的选项菜单。客户端设备110还包括主页按钮307,该主页按钮307在选择之后使显示器回到主页屏幕。客户端设备110包括返回(例如,退回)按钮308,该返回按钮308在选择之后使显示器回到先前的活动、应用或者显示。另外,客户端设备110可以在屏幕(诸如,在非限制性示例中的主页屏幕311)上显示多种窗口小部件和应用图标。在该非限制性示例中,描绘了具有视频窗口小部件360、天气窗口小部件362、电话应用图标364、电子邮件应用图标366、锻炼应用图标368、航班应用图标370、餐饮应用图标373、音乐应用图标374、相机应用图标376、时钟窗口小部件378、浏览器应用图标380、日历应用图标382、社交网络应用图标384和视频应用图标386的客户端设备110。应理解,可以以任何合适的形式或者位置来通过客户端设备110显示任何合适的按钮、通知、应用、应用图标和/或窗口小部件。在窗口小部件中没有正在播放的视频的该示例中描绘了视频窗口小部件360。用户可以与由客户端设备110所显示的任何按钮、通知、应用、应用图标和/或窗口小部件交互。例如,用户可以选择视频应用图标386来使视频应用回到在客户端设备110上的多任务操作系统的前台。

参照图3B,示出了与图3A相对应的客户端设备110,其中,用户已经选择了视频应用图标386。与视频应用图标386对应的视频应用312由客户端设备110显示。视频应用312包括标题区域315,该标题区域315指示当前活动的或者在前台中的应用或者网站,在该示例中,该应用或者网站是“视频”。视频应用312还包括搜索区域320,该搜索区域320允许录入对在“视频”中内容的搜索查询。此外,视频应用312包括用户区域325,该用户区域325指示已经登录视频应用的当前用户,在该示例中,该当前用户是“用户1”,并且该用户区域325还提供退出选择元素330,该退出选择元素330用于用户退出应用。在该示例中,用户1已经选择视频“巴拉克·奥巴马DNC演讲”350用于回放,并且显示标题340“巴拉克·奥巴马DNC演讲”、日期345“2004年7月24日”和描述355“2004年总统巴拉克·奥巴马在美国民主党全国代表大会上的演讲”。应理解,可以呈现与视频相关联的任何合适的细节。在该示例中,回放时间区域352指示视频350的当前回放时间是在视频350的总时间00:27:34中的00:03:54处。

可以通过用户动作或者操作系统动作将视频应用312移动至在客户端设备110上的多任务操作系统的后台。例如,用户可以选择主页按钮307来将视频应用312移动至后台并且显示主页屏幕311。在另一示例中,通知可以弹出以通知用户电子邮件已经到达,并且用户可以选择该通知以将视频应用312移动至后台并且显示电子邮件应用(未示出)。在进一步的示例中,在客户端设备110上的多任务操作系统可以自动将视频应用312移动至后台并且显示另一屏幕或者应用,诸如,基于系统定义的或者用户定义的设置和/或偏好。应理解,可以采用任何合适的机制来将视频应用312移动至在客户端设备110上的多任务操作系统的后台或者前台。

参照回图2,在将视频应用312移动至在客户端设备110上的多任务操作系统的后台之后,应用转移组件210可以执行将当前在视频应用312中播放的视频的回放无缝转换至视频窗口小部件360。在非限制性示例中,视频应用312将视频在视频应用312中的当前回放时间通知给视频窗口小部件360。在另一示例中,应用转移组件210监视视频在视频应用312中的回放并且将视频在视频应用312中的当前回放时间通知给视频窗口小部件360。在附加示例中,视频窗口小部件360监视视频在视频应用312中的当前回放时间。在进一步的示例中,维持发生在与视频的回放相关联的处理线程中的视频处理(例如,解码),并且将与视频处理相关联的用于图形显示渲染的单独进程从视频应用移动至视频窗口小部件。以这种方式,不要求视频在视频应用312中的当前回放时间到视频窗口小部件360的通信。在附加示例中,视频应用312和视频窗口小部件360可以采用不同的解码或者渲染进程或者编解码器。此外,视频应用312和视频窗口小部件360可以访问不同版本的视频350用于显示。视频应用312、应用转移组件210或者视频窗口小部件360可以发起视频窗口小部件360在视频应用312的在当前回放点处开始视频的回放。应理解,可以采用用于将视频在视频应用312中的视频的当前回放时间点处的回放转换至视频窗口小部件360的任何合适的机制。此外,基于系统定义的或者用户指定的设置或者偏好,或者基于对在视频应用312在前台与后台之间移动时呈现给用户的询问是否应该进行转换的提示的响应,可以自动执行将视频的回放从视频应用312转换至视频窗口小部件360,反之亦然。此外,应用转移组件210可以确定或者推断用户或者客户端设备做出与允许或者阻止将视频350的回放从视频应用312转换至窗口小部件360有关的决定的场境。例如,系统或者用户指定的设置或者偏好可以指定:响应于特定优先级或者更高优先级的通知、电子邮件或者电话呼叫,使得应用转移组件210在将视频应用312移动至后台时阻止将视频350的回放从视频应用312转换至窗口小部件360。在另一示例中,应用转移组件210可以确定用户正在工作,并且在将视频应用312移动至后台时阻止将视频350的回放从视频应用312转换至窗口小部件360。在进一步的示例中,应用转移组件210可以通过监视用户眼睛的凝视来确定用户对视频350有兴趣,并且在因为特定重要性级别以上的电子邮件的到达而自动将视频应用312移动至后台之后,如果用户的兴趣满足特定兴趣级别,则允许将视频350的回放从视频应用312转换至窗口小部件360,或者如果用户的兴趣不满足特定兴趣级别,则阻止将视频350的回放从视频应用312转换至窗口小部件360。应理解,在确定允许还是阻止将视频350的回放从视频应用312转换至窗口小部件360的过程中可以通过应用转移组件210采用任何合适的场境参数或者阈值。

参照图3C,描绘了与图3B相对应的客户端设备110,其中,已经将视频应用312移动至后台,并且已经在视频应用312中的当前回放时间00:03:54将视频350的回放无缝地转换至视频窗口小部件360。应理解,视频窗口小部件360可以具有供用户控制视频的回放的控件(未示出)。此外,虽然该示例描绘了视频窗口小部件360驻留在主页屏幕上,但是视频窗口小部件360可以驻留在客户端设备110上的任何屏幕上。此外,在另一示例中,视频窗口小部件360未驻留在客户端设备110上的任何屏幕上,并且可以按照需要被显示,诸如,浮动窗口小部件(例如,按照要求或者按照指定弹出并且浮在显示器的其它部分上方的窗口小部件,本文未示出浮动窗口小部件)。当视频窗口小部件360播放视频350时,用户可以与客户端设备110上的任何按钮、通知、窗口小部件、应用图标或者应用交互。应理解,例如,基于系统定义的或者用户指定的设置或者偏好,也可以继续在视频应用312中与视频窗口小部件360同步地回放视频350,或者可以在视频应用312中停止视频350。此外,虽然本文的示例公开了在当前回放时间在视频应用与视频窗口小部件之间无缝地转换回放,但是应理解,在另一示例中,转换可以发生在当前回放时间之前或者在当前回放时间之后的回放时间,诸如,通过系统定义的或者用户指定的设置或者偏好。

参照回图2,视频转移组件120还包括窗口小部件转移组件220,当将视频应用移动至执行视频应用的多任务操作系统的前台时,该窗口小部件转移组件220将视频在视频窗口小部件360中的当前回放无缝地转换至视频应用312。例如,用户可以选择视频应用图标386或者采用在客户端设备上的应用管理器(未示出),该客户端设备将视频应用移动至操作系统的前台。在将视频应用312移动至操作系统的前台之后,窗口小部件转移组件220可以在将视频应用移动至前台时在视频窗口小部件360中的当前回放时间点将视频的回放无缝地转换至视频应用312。视频的回放在当前回放时间点在视频应用312中开始,以允许无缝转换。应理解,窗口小部件转移组件220可以检测到已经将视频应用移动至多任务操作系统的前台,由多任务操作系统通知已经将视频应用移动至前台,或者采用任何其它合适的机制来确定已经将视频应用移动至多任务操作系统的前台。

图3D描绘了与图3C相对应的客户端设备110,其中,视频窗口小部件360已经继续回放视频350至当前回放时间00:04:26。

参照回图2,在将视频应用312移动至在客户端设备110上的多任务操作系统的前台之后,窗口小部件转移组件220执行将当前在视频窗口小部件360中播放的视频的回放无缝转换至视频应用312。在非限制性示例中,视频窗口小部件360将视频在视频窗口小部件360中的当前回放时间通知给视频应用312。在另一示例中,应用转移组件210监视视频在视频窗口小部件360中的回放并且将视频在视频窗口小部件360中的当前回放时间通知给视频应用312。在附加示例中,视频应用312监视视频在视频窗口小部件360中的当前回放时间。在进一步的示例中,维持在与视频的回放相关联的处理线程中发生的视频处理(例如,解码),并且将与视频处理相关联的用于渲染图形显示的单独进程从视频窗口小部件360移动至视频应用312。以这种方式,不需要将视频在视频窗口小部件360中的当前回放时间传送至视频应用312。视频应用312、应用转移组件210或者视频窗口小部件360可以发起视频应用312以在视频窗口小部件360的当前回放点处开始视频的回放。应理解,可以采用用于将视频在视频窗口小部件360中的视频的当前回放时间点处的回放转换至视频应用312的任何合适的机制。应理解,例如,基于系统定义的或者用户指定的设置或者偏好,也可以继续在视频窗口小部件360中与视频应用312同步地回放视频350,或者可以在视频窗口小部件360中停止视频350。

参照图3E,图示出了与图3D相对应的客户端设备110,其中,用户已经选择视频应用图标386。同样,将与视频应用图标386相对应的视频应用312移动至多任务操作系统的前台并且通过客户端设备110进行显示。窗口小部件转移组件220执行将视频350的回放从当前回放时间00:04:26从视频窗口小部件360到视频应用312的无缝转换。

应理解,虽然本文的示例公开了正在播放从视频应用312转换并且然后转换回至视频应用312的视频的视频窗口小部件360,但是用户可以发起视频在视频窗口小部件360中的回放,并且在发起视频应用312或者将该视频应用312移动至前台之后,可以将视频在视频窗口小部件360中的当前回放从视频窗口小部件360转换至视频应用312。

图4和图5图示出了根据某些公开的方面的各种方法。虽然为了简单地阐释起见将方法示出并且描述为一系列行为,但是要理解并且应理解,所公开的方面并不限于行为的顺序,因为一些行为可以按照不同的顺序发生和/或与来自本文所示出并且描述的方法的其它行为同时发生。例如,本领域的技术人员要理解并且应理解,方法可以替选地被表示为一系列相关的状态或者事件,诸如,在状态图中。此外,实现根据某些公开的方面的方法可能并不需要所有图示出的行为。另外,要进一步了解,在下文所公开并且贯穿本公开的方法能够被存储在制品上以促进将这样的方法传输并且传递至计算机。

图4描绘了示例性方法400(例如,通过应用转移组件210、视频转移组件120或者客户端设备110),该示例性方法400用于在将视频应用移动至执行视频应用的多任务操作系统的后台时将视频在视频应用中的当前回放无缝地转换至视频窗口小部件。在附图标记410处,确定已经将当前播放视频的视频应用从操作系统的前台移动至后台。在附图标记420处,在视频应用的当前回放时间将视频的回放从视频应用无缝地转换至视频窗口小部件。在附图标记430处,显示了正在播放视频的视频窗口小部件。在附图标记440处,可选地,在视频应用中停止视频的回放。

图5描绘了示例性方法500(例如,通过窗口小部件转移组件220、视频转移组件120或者客户端设备110),该示例性方法500用于在将视频应用移动至执行视频应用的多任务操作系统的前台时将视频在视频窗口小部件中的当前回放无缝地转换至视频应用。在附图标记510处,在视频窗口小部件中发起视频的回放。在附图标记520处,确定已经发起视频应用或者将视频应用从操作系统的后台移动至前台。在附图标记530处,在视频窗口小部件的当前回放时间将视频的回放从视频窗口小部件无缝地转换至视频应用。在附图标记540处,显示了正在播放视频的视频应用。在附图标记550处,可选地,在视频窗口小部件中停止视频的回放。

示例性网络化和分布式环境

本领域的普通技术人员可以了解,可以结合任何计算机或者其它客户端或者服务器设备来实现本文所描述的各个实施例,可以采用该任何计算机或者其它客户端或者服务器设备作为计算机网络的部分或者可以在分布式计算环境中采用该任何计算机或者其它客户端或者服务器设备,并且该任何计算机或者其它客户端或者服务器设备可以被连接至可以发现媒体的任何种类的数据储存器。在这点上,可以在任何计算机系统或者环境中实现本文所描述的各个实施例,该任何计算机系统或者环境具有任何数量的存储器或者存储单元以及跨任何数量的存储单元发生的任何数量的应用和进程。这包括但不限于具有部署在网络环境或者分布式计算环境中的服务器计算机和客户端计算机,该环境具有远程储存器或者本地储存器。

分布式计算通过在计算设备和系统之间的通信交换来提供计算机资源和服务的共享。这些资源和服务包括信息交换、高速缓存储存器、和针对诸如文件的对象的磁盘储存器。这些资源和服务还可以包括跨用于负载平衡、资源扩展、处理专业化等的多个处理单元共享处理能力。分布式计算利用网络连接性的优点,允许客户端利用其汇聚能力来惠及整个企业。在这点上,多种设备可以具有可以参与本公开的各个实施例的应用、对象或者资源。

图6提供了示例性网络化或者分布式计算环境的示意图。分布式计算环境包括计算对象610、612等和计算对象或者设备618、620、622、624、626、628等,该计算对象610、612等和计算对象或者设备618、620、622、624、626、628等可以包括如由应用630、632、634、636、638所表示的程序、方法、数据储存器、可编程逻辑等。可以了解,计算对象610、612等和计算对象或者设备618、620、622、624、626、628等可以包括不同的设备,诸如,个人数字助理(PDA)、音频/视频设备、移动电话、MP3回放器、个人计算机、膝上型计算机、平板计算机等。

每个计算对象610、612等和计算对象或者设备618、620、622、624、626、628等可以通过通信网络640与一个或者多个其它计算对象610、612等和计算对象或者设备618、620、622、624、626、628等直接地或者间接地通信。即使在图6中被图示为单个元素,但是网络640也可以包括其它计算对象和计算设备,该其它计算对象和计算设备向图6的系统提供服务,和/或可以表示未示出的多个互连的网络。每个计算对象610、612等和计算对象或者设备618、620、622、624、626、628等也可以包含可以利用API的应用(诸如,应用630、632、634、636、638)、或者适合于与本公开的各个实施例通信或者实现本公开的各个实施例的其它对象、软件、固件和/或者硬件。

存在支持分布式计算环境的多种系统、组件和网络配置。例如,计算系统可以通过局部网络或者广泛分布的网络而被有线或者无线系统连接在一起。目前,许多网络被耦合至互联网,该互联网提供了用于广泛分布式计算的基础设施并且囊括许多不同的网络,尽管可以使用任何合适的网络基础设施来与本文中的各个实施例中所描述的系统关联的示例性通信。

由此,可以利用网络拓扑和网络基础设施(诸如,客户端/服务器、点对点或者混合架构)的主机。“客户端”是使用另一类或者组的服务的类或者组。客户端可以是请求由另一程序或者进程提供的服务的计算机进程,例如,大致上为指令集或者任务集。客户端进程可以在不必“了解”关于其它程序或者服务本身的所有工作细节的情况下利用所请求的服务。

在客户端/服务器架构(具体为网络化系统)中,客户端可以是访问由另一计算机(例如,服务器)提供的共享网络资源的计算机。在图6的图示中,作为非限制性示例,计算对象或者设备618、620、622、624、626、628等可以被视为客户端,并且计算对象610、612等可以被视为服务器,其中,计算对象610、612等根据情况提供数据服务,诸如,接收来自客户端计算对象或者设备618、620、622、624、626、628等的数据、数据储存器、数据处理、将数据传送至客户端计算对象或者设备618、620、622、624、626、628等,尽管可以将任何计算机视为客户端、服务器或者两者。这些计算设备中的任何一个可以正在处理数据、或者请求交易服务或者任务,该交易服务或者任务可以涉及用于针对一个或者多个实施例的本文所描述的系统的技术。

服务器通常是可通过远程网络或者本地网络(诸如,互联网或者无线网络基础设施)访问的远程计算机系统。客户端进程在第一计算机系统中可以是活动的,并且服务器进程在第二计算机系统中可以是活动的,该第一计算机系统和该第二计算机系统通过通信介质彼此通信,由此提供分布式功能并且允许多个客户端利用服务器的信息收集能力。可以单独地提供根据本文所描述的技术而利用的任何软件对象,或者可以将该任何软件对象跨多个计算设备或者对象分布。

在通信网络/总线640是互联网的网络环境中,例如,计算对象610、612等可以是web服务器、文件服务器、媒体服务器等,客户端计算对象或者设备618、620、622、624、626、628等经由诸如超文本传输协议(HTTP)的多种已知协议中的任何一种与所述服务器通信。对象610、612等也可以充当客户端计算对象或者设备618、620、622、624、626、628等,同时可以是分布式计算环境的特性。

示例性计算设备

前面已经提到,有利地,本文所描述的技术可以被应用于任何合适的设备。因此,要理解,所有种类的手持式、便携式和其它计算设备和计算对象被考虑为结合各个实施例使用。因此,下面在图7中描述的计算机仅仅是计算设备的一个示例,在实施结合图1至图5示出并且描述的系统或者方法中的一个或者多个的同时,可以采用该计算设备。另外,合适的服务器可以包括以下计算机的一个或者多个方面,诸如,媒体服务器或者其它媒体管理服务器组件。

虽然不是必需的,但是实施例可以部分地经由操作系统被实现以供针对设备或者对象的服务的开发者使用,和/或被包括在应用软件内,该应用软件操作以执行本文所描述的各个实施例的一个或者多个功能方面。可以在由一个或者多个计算机(诸如,客户端工作站、服务器或者其它设备)执行的计算机可执行指令(诸如,程序模块)的一般场境下描述软件。本领域的技术人员将了解,计算机系统具有可以用于通信数据的多种配置和协议,并且由此认为没有具体配置或者协议是限制性的。

由此,图7图示出了合适的计算系统环境700的示例,在该合适的计算系统环境700中,可以实施本文所描述的实施例的一个方面或者多个方面,虽然上文已经阐明,但是计算系统环境700仅仅是合适的计算环境的一个示例,并且并不是旨在提议对用户或者功能的范围的任何限制。不将计算环境700理解为具有与在示例性操作环境700中图示的组件的任何一个或者组合相关的任何依赖性或者需求。

参照图7,描绘了以计算机710的形式的用于实现一个或者多个实施例的示例性计算设备。计算机710的组件可以包括但不限于处理单元720、系统存储器730和系统总线722,该系统总线722将包括系统存储器的各种系统组件耦合至处理单元720。

计算机710通常包括多种计算机可读介质并且可以是可以由计算机710访问的任何可用介质。系统存储器730可以包括以易失性和/或非易失性存储器(诸如,只读存储器(ROM)和/或随机存取存储器(RAM))的形式的计算机存储介质。通过示例的方式,而非限制的方式,系统存储器730还可以包括操作系统、应用程序、其它程序模块和程序数据。

用户可以通过输入设备740将指令和信息录入计算机710,该输入设备740的非限制性示例可以包括键盘、小键盘、指针设备、鼠标、触笔、触摸板、触摸屏、轨迹球、运动检测器、相机、麦克风、控制杆、游戏板、扫描器、或者允许用户与计算机710交互的任何其它设备。监视器或者其它类型的显示设备也经由诸如输出接口750的接口被连接至系统总线722。除了监视器之外,计算机还可以包括可以通过输出接口750被连接的其它外围输出设备,诸如,扬声器和打印机。

计算机710可以使用经由网络接口760至诸如远程计算机770的一个或者多个其它远程计算机的逻辑连接来在网络化或者分布式环境中操作。远程计算机770可以是个人计算机、服务器、路由器、网络PC、对等设备或者其它公共网络节点、或者任何其它远程媒体消耗或者传输设备,并且可以包括上面相对于计算机710所描述的元素中的任何一个或者所有。图7所描绘的逻辑连接包括网络722、这样的局域网(LAN)或者广域网(WAN),但是还可以包括其它网络/总线等,例如,蜂窝网络。

如上面所提到的,虽然已经结合各个计算设备和网络架构描述了示例性实施例,但是底层概念可以被应用于任何网络系统和任何计算设备或者系统,其中,需要以灵活的方式来发布或者消耗介质。

同样,存在实现相同的或者相似的功能的多种方式,例如,使应用和服务能够利用本文所描述的技术的适当的API、工具包、驱动代码、操作系统、控件、独立的或者可下载的软件对象等。由此,从API(或者其它软件对象)的立场,并且从实现本文所描述的一个或者多个方面的软件或者硬件对象,来考虑本文的实施例。由此,本文所描述的各个实施例可以具有整体地在硬件中、部分地在硬件中并且部分在软件中、以及在软件中的方面。

本文所使用的词语“示例性”是指充当示例、实例或者图示。为避免产生疑问,本文所公开的方面并不受到这些示例的限制。另外,在本文中被描述为“示例性”的任何方面或者设计既不一定被理解为在其它方面或者设计上是优选的或者有利的,也不一定是指排除本领域的普通技术人员所知道的等效示例性结构。此外,如果在详细描述或者权利要求中使用了术语“包括”、“具有”、“包含”和其它相似的词语,则为了避免产生疑问,这种术语旨在以与作为打开承接词的术语“包括”相似的方式的包含,但不排除任何附加或者其它元素。

计算设备通常包括多种介质,该多种介质可以包括计算机可读存储介质和/或通信介质,其中,在本文中使用在下面彼此不同的这两个术语。计算机可读存储介质可以是可以由计算机访问的任何可用存储介质,通常具有非暂时性性质、并且可以包括易失性介质、非易失性介质、可移动介质和不可移动介质。通过举例的方式,而非限制的方式,可以结合用于存储诸如计算机可读指令、程序模块、结构化数据或者非结构化数据的信息的任何方法或者技术来实施计算机可读存储介质。计算机可读存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其它存储技术、CD-ROM、数字通用光盘(DVD)或者其它光盘存储器、磁带盒、磁带、磁盘存储器或者其它磁存储设备、或者可以用于存储所需信息的其它有形的和/或非暂时性介质。对于相对于由介质存储的信息的多种操作,计算机可读存储介质可以由一个或者多个本地或者远程计算设备访问(例如,经由访问请求、查询或者其它数据检索协议)。

另一方面,通信介质通常体现在诸如调制数据信号的数据信号中的计算机可读指令、数据结构、程序模块或者其它结构化或者非结构化数据,例如,载波或者其它传输机制,并且包括任何信息传递或者传输介质。术语“调制数据信号”或者信号指具有其特性集合中的一个或者多个或者以这种方式改变以对一个或者多个信号中的信息进行编码的信号。通过举例的方式,而非限制的方式,通信介质包括有线介质(诸如,有线网络或者直接有线连接)以及无线介质(诸如,声学、RF、红外线和其它无线介质)。

如前面所提到的,可以结合硬件或者软件或者在适当的情况下结合前两者的组合来实现本文所描述的各种技术。如本文所使用的,术语“组件”、“系统”等同样指计算机相关实体、硬件、硬件和软件的组合、或者在执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行的程序、执行线程、程序和/或计算机。通过说明的方式,在计算机上运行的应用和计算机都可以是组件。一个或者多个组件可以驻留在进程和/或执行线程内,并且组件可以在一个计算机上被本地化和/或被分布在两个或者两个以上的计算机之间。进一步地,“设备”可以是以下形式:特别设计的硬件、通过在其上执行软件而被专门化的使硬件能够执行特定功能(例如,编码和/或解码)的广义硬件、存储在计算机可读介质上的软件、或者它们的组合。

已经关于在多个组件之间的交互来描述了前述系统。可以了解,这种系统和组件可以包括这些组件或者指定的子组件、所述指定的组件或者子组件中的一些和/或附加组件,并且根据前述事项的各种排列和组合。子组件也可以实现为通信地联接至其它组件而不是被包括在父组件(层级)内的组件。另外,要注意,一个或者多个组件可以被合并为提供聚合功能的单个组件或者被分为多个独立的子组件,并且诸如管理层等任何一个或者多个中间层可以被提供以通信地联接至这种子组件以提供集成功能。本文所描述的任何组件也可以与在本文中没有被特别描述但是本领域的技术人员通常知道的一个或者多个其它组件交互。

为了提供或者帮助本文所描述的众多推论(例如,在元数据之间的推理关系或者针对用户的兴趣的推理话题),本文所描述的组件可以检查允许访问的全部数据或者数据的子集,并且可以提供关于系统、环境等的推理或者通过经由事件和/或数据捕捉到的一系列观测推断系统的状态。例如,可以采用推论来识别具体场境或者动作,或者可以生成针对状态的概率分布。推论可以是概率性的,即,对兴趣状态的概率分布的计算是基于对数据和事件的考虑。推论也可以指用于通过事件和/或数据的集合组成更高级的事件的技术。

这样的推论可以导致通过观测的事件和/或存储的事件数据的集合、事件是否与接近的时间间隔相关、以及事件和数据是否来自一个或者多个事件和数据源,来构成新的事件或者动作。可以结合与所要求的主题结合地执行的自动的和/或推断的动作来采用各种分类(明确地和/或隐式地训练)方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯信念网络、模糊逻辑、数据融合引擎等)。

分类器可以将输入属性向量z=(z1,z2,z3,z4,zn)映射至该输入属于某类的置信度,表示为f(z)=confidence(class)。这样的分类可以采用概率性的和/或基于统计的分析(例如,考虑到分析实用工具和成本)来预测或者推断用户需要自动执行的动作。支持向量机(SVM)是可以采用的分类器的示例。SVM通过在可能的输入的空间中发现超曲面来操作,其中,超曲面试图使触发标准与非触发事件分离。直观地,这使该分类正确以便测试附近的数据但是与训练数据不相同的数据。可以采用其它直接的和间接的模型分类方法,其包括:例如,朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型、和提供不同形式的独立性的概率性的分类模型。本文所使用的分类包括用于开发优先级模型的统计回归。

鉴于上述示例性系统,参照各个图的流程图将更好地了解可以根据上述主题而实现的方法。虽然为了简单地阐释起见将方法示出并且描述为一系列块,但是要理解并且应理解,所要求的主题并不限于块的顺序,因为一些块可以按照不同的顺序发生和/或与来自本文所示出并且描述的方法的其它块同时发生。在经由流程图示出非顺序的或者分支的流程的情况下,可以了解,可以实现各种其它分支、流程路径和块的顺序,这些其它分支、流程路径和块的顺序实现了相同的或者相似的结果。此外,实现下述方法可能并不需要所有示出的块。

除了本文所描述的各个实施例之外,要理解,可以使用其它相似的实施例,或者,在不脱离本发明的情况下,可以对所描述的实施例执行修改和添加,以执行对应实施例的相同的或者等效的功能。更进一步地,多个处理芯片或者多个设备可以共享本文所描述的一种或者多种功能的性能,并且同样,可以在多个设备之间执行存储。因此,本发明并不限于任何单个实施例,相反,可以将本发明解释为在根据所附权利要求的幅度、精神和范围内。

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