总结用户之间的社交互动的制作方法

文档序号:11890884阅读:428来源:国知局
总结用户之间的社交互动的制作方法与工艺

本申请根据35U.S.C.§119要求2015年2月13日提交的题为“Summarizing Social Interactions Between Users”的美国专利申请序列号14/622,794以及2014年2月19日提交的题为“Summarizing Social Interactions Between Users”的美国临时专利申请序列号61/941,488的优先权,其全部内容通过引用合并至此。



背景技术:

本说明书涉及管理用户活动。更具体地讲,本说明书涉及分析用户活动并且总结用户之间的社交互动。

社交场合会非常伤脑筋,特别是当人们在聚会上忘记他们是如何认识另一人时。存在当前技术来搜索人的姓名以看看互联网上发布了什么;然而,这假定了人的姓名是已知的。即使人的姓名已知,也会难以在与所述人交谈之前在短时间内收集所有相关事实。



技术实现要素:

根据本公开中所描述的主题的一个创新方面,一种用于总结用户之间的社交互动的系统包括处理器以及存储有指令的存储器,所述指令当被执行时使得所述系统:从硬件传感器和虚拟检测器中的至少一个接收信号流;过滤信号流并且输出包括定义人可理解的动作的数据的经过滤的信号流;从经过滤的信号流识别与第一用户相关联的活动;生成第一用户的活动的总结;确定第一用户在第二用户附近;确定第一用户与第二用户之间在社交网络中的分离程度;确定自第一用户与第二用户之间的最后互动起所流逝的时间;将第一用户与第二用户的关系归类为第一类型的关系、第二类型的关系或者第三类型的关系;响应于具有第一类型的关系,为第一用户生成第一总结,所述第一总结包括第二用户在临近的通知、与第二用户的最后互动以及与第二用户的最近互动;响应于具有第二类型的关系,为第一用户生成第二总结,所述第二总结包括第二用户在临近的通知、与第二用户的最后互动以及第一用户与第二用户共同共享的事件;以及响应于具有第三类型的关系,为第一用户生成第三总结,所述第三总结包括第二用户在临近的通知以及第一用户与第二用户共同共享的事件。

通常,本公开中所描述的主题的另一创新方面可在方法中具体实现,所述方法包括:从硬件传感器和虚拟检测器中的至少一个接收信号流;过滤信号流并且输出包括定义人可理解的动作的数据的经过滤的信号流;从经过滤的信号流识别与第一用户相关联的活动;生成第一用户的活动的总结;确定第一用户在第二用户附近;确定第一用户与第二用户之间在社交网络中的分离程度;确定自第一用户与第二用户之间的最后互动起所流逝的时间;将第一用户与第二用户的关系归类为第一类型的关系、第二类型的关系或者第三类型的关系;响应于具有第一类型的关系,为第一用户生成第一总结,所述第一总结包括第二用户在临近的通知、与第二用户的最后互动以及与第二用户的最近互动;响应于具有第二类型的关系,为第一用户生成第二总结,所述第二总结包括第二用户在临近的通知、与第二用户的最后互动以及第一用户与第二用户共同共享的事件;以及响应于具有第三类型的关系,为第一用户生成第三总结,所述第三总结包括第二用户在临近的通知以及第一用户与第二用户共同共享的事件。

其它方面包括用于这些和其它创新方面的对应方法、系统、装置和计算机程序产品。

这些和其它实施例可各自可选地包括下列特征中的一个或多个。例如,操作包括:基于分离程度以及自最后互动起所流逝的时间中的至少一个来确定第一用户与第二用户之间的亲密度,并且其中,基于所述亲密度对第一用户与第二用户的关系进行归类;基于隐私设置来确定要将总结的什么信息提供给第一用户;以及至少部分地基于从硬件传感器和虚拟检测器中的至少一个所接收的数据来确定第一用户在第二用户附近。例如,所述特征包括:第一总结包括第一用户应所述给予第二用户的动作项;第二总结包括第二用户可能有兴趣得知的发生在第一用户身上的重要事件;第二总结包括共同关联人的名称以及所述共同关联人参与的事件;第二总结包括在社交网络上由第二用户创建的最近帖子;第三类型的关系是第一用户没有见过第二用户本人。

本公开可尤其有利于改善人之间的社交互动,因为第一用户可基于与其他用户的不同联系得到用户活动的不同总结,其提醒第一用户其他用户是谁、他们上一次遇见是在哪里、他们可能讨论哪些话题等等。

附图说明

本说明书在附图的图中以示例的形式而非限制的形式图示出,附图中相同的参考数字用于表示相同的元素。

图1是图示出用于生成用户的总结的系统的示例的框图。

图2是图示出总结应用的示例的框图。

图3A是用于显示其中第一用户和第二用户是密友和/或彼此频繁地互动的总结的用户界面的示例图形表示。

图3B和图3C是用于显示其中第一用户和第二用户是朋友和/或彼此不经常互动的总结的用户界面的示例图形表示。

图3D是用于显示其中第一用户和第二用户是有共同共享的信息的陌生人总结的用户界面的示例图形表示。

图4是为第一用户生成总结的方法的示例的流程图。

图5A和图5B是根据用户之间的关系的类型为第一用户生成总结的方法的另一示例的流程图。

具体实施方式

本说明书公开了一种用于总结用户之间的社交互动的系统和方法。总结应用从硬件传感器和虚拟检测器中的至少一个接收信号流。总结应用过滤信号流并且输出经过滤的信号流,所述经过滤的信号流包括用于定义一个或多个人可理解的动作的数据。总结应用从经过滤的信号流识别与第一用户相关联的一个或多个活动。总结应用生成第一用户的活动的总结。例如,第一用户参加会议,发布重要事件的图片,并且在酒店入住。总结应用确定第一用户在第二用户附近并且确定在社交网络中第一用户与第二用户之间的分离程度。例如,如果第一用户追随第二用户,则他们具有第一程度关系。总结应用确定自第一用户与第二用户之间的最后互动起所流逝的时间。例如,如果自他们最后互动起已过去超过一个月,则他们不是密友。

总结应用将第一用户与第二用户的关系归类为第一类型的关系、第二类型的关系或第三类型的关系。响应于具有第一类型的关系,总结应用为第一用户生成第一总结,其包括第二用户在临近的通知、与第二用户的最后互动以及与第二用户的最近互动。例如,第一类型的关系包括朋友关系。响应于具有第二类型的关系,总结应用为第一用户生成第二总结,其包括第二用户在临近的通知、与第二用户的最后互动以及第一用户和第二用户共同共享的事件。这在用户为熟人时适用。例如,第一用户和第二用户具有共同的朋友并且均一度曾住在剑桥。在一些实施例中,总结应用还生成第一用户自他最后与第二用户交谈起发生的所有重要生活事件的总结。例如,第一用户开始新的工作并且有了小孩。响应于具有第三类型的关系,总结应用为第一用户生成第三总结,其包括第二用户在临近的通知以及第一用户和第二用户共同共享的事件。例如,第一用户和第二用户二者上周参加了相同会议。这是针对彼此不是非常了解的用户并给他们东西来讨论。

图1图示出用于总结用户之间的社交互动的系统100的框图。所图示的系统100的描述包括由用户125a...125n访问的用户设备115a...115n、一个或多个社交网络服务器101以及事件服务器107。在所图示的实施例中,系统100的这些实体经由网络105被通信耦合。在图1和其余图中,字母在参考数字后面(例如,“115a”)是对具有所述特定参考数字的元件的引用。本文中后面没有字母的参考数字(例如,“115”)是对具有该参考数字的元素的任何或所有实例的一般引用。

网络105可以是传统类型网络(有线或无线的),并且可具有任何数量的配置(例如,星形配置、令牌环配置或者本领域技术人员已知的其它配置)。另外,网络105可包括局域网(LAN)、广域网(WAN)(例如,互联网)和/或多个设备可跨其通信的任何其它互连数据路径。在一些实施例中,网络105可以是对等网络。网络105也可被耦合至或者包括用于按照各种不同的通信协议发送数据的电信网络的部分。在其它实施例中,例如,网络105包括用于经由SMS/MMS、超文本传送协议(HTTP)、直接数据连接、WAP、电子邮件等来发送和接收数据的蓝牙通信网络或者蜂窝通信网络。尽管仅图示出一个网络105,实际上一个或多个网络105可被耦合至所述实体。

社交网络服务器101可以是包括处理器、存储器和网络通信能力的硬件服务器。社交网络服务器101经由信号线102被通信耦合至网络105。在一些实施例中,社交网络服务器101经由网络105来向用户设备115a、115n和事件服务器107中的一个或多个发送数据以及从其接收数据。社交网络服务器101包括社交网络应用109和数据库199。

社交网络可以是一种社交结构的类型,其中用户可通过共同特征联系起来。所述共同特征包括关系/联系(例如,朋友、家庭、工作、兴趣等)。共同特征可由一个或多个社交网络系统提供,所述社交网络系统包括明确定义的关系以及与其他在线用户的社交联系所暗示的关系,其中所述关系形成社交图。在一些示例中,社交图可反映这些用户的映射以及他们可如何相关联。社交网络服务器101中的社交网络应用109通过处理用户的注册、内容的发布(例如,帖子、评论、照片、链接、签到等)、托管多用户通信会话、群的管理、管理不同的共享级别、更新社交图等来管理社交网络。社交网络应用109通过接收诸如用户姓名和密码的信息来注册用户,并且生成与用户相关联并作为社交图的部分存储的用户简档。在一些实施例中,用户简档包括与用户有关的附加信息,包括兴趣(例如,足球、阅读、美食、订阅等)、活动(例如,搜索历史、同意的指示、帖子、评论、多用户通信会话等)、人口统计数据(例如,年龄、种族、位置等)以及简档评级和信誉(例如,智力评级、幽默评级等)。社交网络服务器101中的数据库199存储与用户相关联的社交网络数据。例如,数据库199存储描述社交网络上发布的用户简档、帖子、评论、视频、音频文件、图像、共享、回执等中一个或多个的社交网络数据。系统100可包括多个社交网络服务器101,所述社交网络服务器101包括传统社交网络服务器、电子邮件服务器、微博服务器、博客服务器、论坛服务器、消息服务器等。

另外,社交网络服务器101和社交网络应用109可代表一个社交网络以及可能存在被耦合至网络105的多个社交网络,每个社交网络具有它自己的服务器、应用和社交图。例如,第一社交网络可更多被定向到商业网络,第二社交网络可更多被定向到学术或以学术为中心,第三社交网络可更多被定向到本地企业,第四社交网络可被定向到交友,其它社交网络可具有大众兴趣或特定焦点。

通过示例的方式使用图1中的用户设备115a、115n。尽管仅图示出两个用户设备115,本公开应用于具有对任何数量的用户125可用的任何数量的用户设备115的系统架构。在所图示的实现方式中,用户125a与用户设备115a交互。在一些实施例中,总结应用103a可被存储在经由信号线108被通信耦合至网络105的用户设备115a上。用户125n与用户设备115n交互。用户设备115n经由信号线110被通信耦合至网络105。

在一些实施例中,用户设备115可以是包括存储器和处理器的任何计算设备。例如,用户设备115可以是膝上型计算机、台式计算机、平板计算机、移动电话、个人数字助理、移动电子邮件设备、便携式游戏机、便携式音乐播放器、嵌入有或者耦合至一个或多个处理器的电视、或者能够访问网络105的任何其它电子设备等。

在一些实施例中,用户设备115可包括由用户125穿戴的移动设备。例如,用户设备115作为夹子的部分(例如,腕带)、作为首饰的部分或者作为眼镜的部分被包括。在另一示例中,用户设备115可以是智能手表。用户125可在用户125所穿戴的设备的显示器上查看来自总结应用103的通知。例如,用户125可在智能手表或智能腕带的显示器上查看通知。在另一示例中,用户125可在眼镜的光学头戴式显示器上查看通知。用户125还可配置哪些类型的通知要被显示在用户125所穿戴的设备上。例如,用户125可配置如果在用户125附近检测到朋友的移动设备,则可穿戴设备使LED灯闪光五秒。

在一些实施例中,总结应用103可被分割成存储在用户设备115a上的一些组件以及存储在事件服务器107上的一些组件。例如,用户设备115a上的总结应用103a部分地充当瘦客户端应用并且向事件服务器107上的总结应用103b发送包括与用户相关联的一个或多个事件的事件流。事件服务器107上的总结应用103b通过包括新的事件来扩充事件流并且将更新的事件流发送回给用户设备115a上的总结应用103a用于向用户125a呈现事件流。

在一些实施例中,总结应用103b可被存储在经由信号线104被连接至网络105的事件服务器107上。在一些实施例中,事件服务器107可以是包括处理器、存储器和网络通信能力的硬件服务器。事件服务器107经由网络105向系统100的其它实体发送数据以及从其接收数据。尽管图1图示出一个事件服务器107,系统100可包括一个或多个事件服务器107。

总结应用103可以是包括用于生成用户活动的总结的例程的软件。在一些实施例中,总结应用103可使用包括现场可编程门阵列(FPGA)或专用集成电路(ASIC)的硬件来实现。在一些其它实施例中,总结应用103可使用硬件和软件的组合来实现。在一些实施例中,总结应用103可被存储在设备和服务器的组合中或者设备或服务器之一中。总结应用103在下面参照图2进一步详细描述。

总结应用103识别与用户相关联的活动并且为该用户生成用户活动的总结。在一些实施例中,总结应用103确定第一用户在第二用户附近,基于第一和第二用户之间的关系生成总结,并且向第一用户提供该总结。该总结包括第二用户在临近的通知、第一用户与第二用户互动的最后一次以及与第一用户和第二用户中的至少一个有关的信息。例如,如果Joe来到Amy所居住的盐湖城,他们最后一次彼此遇见是在三个月之前在他们共同的朋友Mary的家中,则总结应用103确定Joe是Amy的熟人(因为他们过去三个月彼此没有联系)并且为Amy生成总结以通知Joe在临近并且他们最后的互动是在三个月前Mary的家里。该总结还包括Joe注视盐湖城中的海鸥纪念碑的照片、Amy的新家的照片以及Amy与Mary共进午餐的照片。该总结使Amy想起Joe并且提供他们可讨论的话题(例如,盐湖城中的海鸥纪念碑、Amy的新家或者他们共同的朋友Mary)。结果,可能改善Amy与Joe之间的联系。

总结应用103基于用户与其他用户之间的不同关系为用户生成不同的总结。例如,如果总结应用103确定Ryan是Richard的密友,因为他们每周都在社交网络上聊天。当Ryan在Richard所居住的城市参加会议时,总结应用103检测Ryan的位置并且生成总结以通知RichardRyan在临近并且使Richard想起他告诉过Ryan当Ryan来到该城市时他们将一起参观临近的国家公园。此外,如果Oscar也在该城市参加该会议并且他不是Richard的密友(例如,Oscar和Richard除了就读同一中学以外没有人际联系),则总结应用103可响应于Oscar在该城市参加该会议为Richard生成不同的总结,该总结包括信息“你们俩都就读过默瑞中学”。

现在参照图2,更详细地示出总结应用103的示例。图2是计算设备200的框图,其根据一些示例包括总结应用103、处理器235、存储器237、通信单元241、存储设备243以及一个或多个硬件传感器252a...252n。计算设备200的组件通过总线220被通信耦合。在一些实施例中,计算设备200可以是用户设备115和事件服务器107中的一个。

处理器235包括算术逻辑单元、微处理器、通用控制器或者执行计算并向显示设备提供电子显示信号的一些其它处理器阵列。处理器235经由信号线236被耦合至总线220用于与其它组件通信。处理器235可处理数据信号并且可包括各种计算架构,所述计算架构包括复杂指令集计算机(CISC)架构、精简指令集计算机(RISC)架构或者实现指令集的组合的架构。尽管图2A中仅示出单个处理器,可包括多个处理器235。处理能力可被限制为支持图像的显示以及图像的捕获和传输。处理能力可足以执行更复杂的任务,包括各种类型的特征提取和采样。实际上,其它处理器、操作系统、传感器、显示器和物理配置是可以的。

存储器237存储可由处理器235执行的指令和/或数据。存储器237经由信号线238被耦合至总线220用于与其它组件通信。指令和/或数据可包括用于执行本文所描述的任何和/或所有技术的代码。存储器237可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪速存储器或者本领域已知的一些其它存储器设备。在一些实施例中,存储器237还包括非易失性存储器或者相似的持久存储设备和介质,例如硬盘驱动器、CD-ROM设备、DVD-ROM设备、DVD-RAM设备、DVD-RW设备、闪速存储器设备或者本领域已知的更持久地存储信息的一些其它大容量存储设备。

通信单元241根据总结应用103存储在哪里来向用户设备115、事件服务器107和社交网络服务器101中的至少一个传送数据以及从其接收数据。通信单元241经由信号线242被耦合至总线220。在一些实施例中,通信单元241包括用于到网络105或者另一通信信道的直接物理连接的端口。例如,通信单元241包括USB、SD、CAT-5或者用于与用户设备115有线通信的类似端口。在其它实施例中,通信单元241包括使用一个或多个无线通信方法(诸如IEEE 802.11、IEEE 802.16、或者另一合适的无线通信方法)来与用户设备115或者任何其它通信信道交换数据的无线收发器。

在一些实施例中,通信单元241包括蜂窝通信收发器,所述蜂窝通信收发器用于通过蜂窝通信网络(诸如经由短消息服务(SMS)、多媒体消息服务(MMS)、超文本传送协议(HTTP)、直接数据连接、WAP、电子邮件或者另一合适类型的电子通信)来发送和接收数据。在其它实施例中,通信单元241包括有线端口和无线收发器。如本领域技术人员将理解的,通信单元241还提供与网络的其它传统连接用于使用诸如TCP/IP、HTTP、HTTPS和SMTP的标准网络协议对文件和/或媒体对象的分发。

存储设备243可以是临时地存储总结应用103所使用的数据的非暂时性存储器,例如,高速缓存。存储设备243可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪速存储器或者本领域已知的一些其它存储器设备。在一些实施例中,存储设备243还包括非易失性存储器或者相似的持久存储设备和介质,诸如硬盘驱动器、CD-ROM设备、DVD-ROM设备、DVD-RAM设备、DVD-RW设备、闪速存储器设备或者本领域已知的用于更持久地存储信息的一些其它大容量存储设备。在所图示的实施例中,存储设备243经由信号线240通过总线220被通信耦合用于与计算设备200的其它组件通信。尽管图2A中仅示出一个存储设备243,但也可包括多个存储设备243。在其它实施例中,存储设备243可不被包括在用户设备115中,并且可经由网络105被通信耦合至用户设备115。

在所示的实施例中,存储设备243存储原始数据、信号流、一个或多个用户所执行的活动以及与活动相关联的分析数据中的一个或多个。存储在存储设备243中的数据在下面更详细地描述。在一些实施例中,存储设备243可存储用于提供本文所描述的功能的其它数据。

硬件传感器252a...252n是用于检测数据的物理传感器。示例硬件传感器252包括(但不限于)红外传感器、加速度计、计步器、全球定位系统(GPS)传感器、蓝牙传感器、电源检测器、电池检测器、相机、光检测和测距(LIDAR)传感器、运动传感器、电容传感器、恒温器和麦克风等。其它示例硬件传感器252也是可以的。硬件传感器252a经由信号线251被通信耦合至总线220,以及硬件传感器252n经由信号线253被通信耦合至总线220。

在一些实施例中,一个或多个硬件传感器252生成传感器数据并且将传感器数据发送给总结应用103的处理单元204。由一个或多个硬件传感器252所生成的传感器数据被称作硬件原始数据。示例硬件原始数据包括(但不限于)来自计步器的描述步数的数据、来自GPS传感器的描述地理位置(例如,位置的维度、经度和高度)和速度的数据、来自蓝牙传感器的描述用户设备115附近的其它设备的存在的数据、来自加速度计的描述移动的数据(例如,在查看视频、玩视频游戏等的同时将用户设备115按照特定取向持握)、来自光检测器的描述环境中的亮度的数据、来自麦克风的描述检测周围声音的数据、来自无线收发器的描述检测无线接入点的数据等。其它示例硬件原始数据也是可能的。在一些实施例中,一个或多个硬件传感器252经用户许可生成硬件原始数据并且将硬件原始数据存储在存储设备243中。

在图2所示的图示的实现方式中,总结应用103包括虚拟检测器202、处理单元204、过滤引擎206、活动识别器208、聚合器210、总结引擎212、用户界面引擎214和隐私引擎216。

虚拟检测器202可以是包括用于生成原始数据的例程的软件。在一些实施例中,虚拟检测器202可以是可由处理器235执行以提供下面所描述的功能用于生成原始数据的指令集。在一些实施例中,虚拟检测器202可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。虚拟检测器202可适于经由信号线230来与处理器235以及计算设备200的其它组件协同和通信。

在一些实施例中,一个或多个硬件传感器252生成硬件原始数据并且将硬件原始数据发送给处理单元204。虚拟检测器202生成与硬件传感器252无关的其它原始数据并且将所述其它原始数据发送给处理单元204。由虚拟检测器202所生成的所述其它原始数据被称作虚拟原始数据。在一些实施例中,虚拟检测器202经用户许可生成虚拟原始数据。

示例虚拟原始数据包括(但不限于)与存储在用户设备115上的软件有关的软件原始数据、与用户设备115的移动网络有关的移动网络信息、用户设备115上的文件状态、描述用户与用户设备115之间的交互(例如,用户在用户设备115上调高或调低音量、亮度、对比度等、用户放大或缩小用户设备115上所显示的内容、用户在触摸屏向下滚动或者在用户界面中键入、用户使用用户设备115进行电话呼叫等)的数据、描述社交网络上的用户交互(例如,用户查看社交网络上的社交流;用户在社交网络上发布帖子、共享网页、发布评论、查看视频、听音频文件、玩在线游戏、提交调查、增加用户作为他或她的关系等)的数据、用户的在线搜索历史、用户的浏览历史以及用户的通信历史(例如,文本消息、电子邮件等)。在一些实施例中,经用户等许可检索虚拟原始数据。其它示例虚拟原始数据也是可以的。在一些实施例中,虚拟原始数据包括与用户设备115相关联的元数据。

与存储在用户设备115上的软件有关的示例软件原始数据包括(但不限于)与用户设备115有关的操作系统信息(例如,用户更新操作系统、切换操作系统等)、存储在用户设备115上的应用(例如,用于健身追踪、计算卡路里、移动支付、阅读书籍、听音乐等的应用)以及用户设备115上的应用使用信息(例如,用户向健身追踪应用中录入他或她的健身日常、在媒体库中打开歌曲播放列表、关闭即时消息应用、删除不使用的应用、更新现有应用、安装新的应用、配置应用设置等)。其它示例软件原始数据也是可以是。在一些实施例中,虚拟检测器202将虚拟原始数据存储在存储设备243中。

处理单元204可以是包括用于从虚拟检测器202和/或一个或多个硬件传感器252接收信号流的例程的软件。在一些实施例中,处理单元204可以是可由处理器235执行的指令集,所述指令集提供下面所描述的功能用于从虚拟检测器202和/或一个或多个硬件传感器252接收信号流。在一些实施例中,处理单元204可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。处理单元204可适于经由信号线232来与处理器235以及计算设备200的其它组件协同和通信。

在一些实施例中,处理单元204从虚拟检测器202接收信号流,其中所述信号流包括由虚拟检测器202生成的虚拟原始数据。在其它实施例中,处理单元204从一个或多个硬件传感器252接收信号流,其中所述信号流包括由一个或多个硬件传感器252生成的硬件原始数据。在一些其它实施例中,处理单元204接收来自虚拟检测器202的虚拟原始数据流以及来自一个或多个硬件传感器252的硬件原始数据流,其中虚拟原始数据流和硬件原始数据流一起形成合并的信号流。处理单元204将信号流发送给过滤引擎206。在一些实施例中,处理单元204将信号流存储在存储243中。

在一些实施例中,处理单元204针对信号流中的数据的有用性对所述信号流中的数据进行验证。在一些实施例中,处理单元204保存信号流中与先前数据块相比指示状态改变的数据块。例如,在第一时间戳处,处理单元204可从GPS传感器接收指示用户在从地铁站出来之后刚刚到达咖啡店的第一位置数据集,并且处理单元204可保存所述第一位置数据集。在第二时间戳处,如果处理单元204从GPS传感器接收与第一位置数据集相同的第二位置数据集(指示用户在与第一时间戳相同的位置处),则处理单元204不保存第二位置数据集。然而,在第三时间戳处,如果处理单元204从GPS传感器接收与第二位置数据集不同的第三位置数据集(指示用户已离开咖啡店,现在在办公室中),则处理单元204保存第三位置数据集。在第一时间戳处,用户在中转,因为用户在从地铁站出来之后刚到达咖啡店;在第二时间戳处,用户静止,因为用户仍在咖啡店处;在第三时间戳处,用户再次在中转,因为用户已离开咖啡店并且现在在办公室中。处理单元204保存与中转时刻有关的数据,并且忽略与静止时刻有关的数据。

在一些示例中,处理单元204保存信号流中指示步伐频率的改变(例如,针对来自加速度计的数据)、速度的改变(例如,针对来自GPS传感器的数据)、位置的改变(例如,来自GPS传感器、无线收发器等的数据)、应用使用的改变(例如,应用被打开、使用、关闭、更新、安装等)、在社交网络上所执行的动作的改变(例如,用户登入、登出、上传照片、接受邀请、发布评论、指示回执、增加其他用户作为关系等)、与检测到在用户设备115a附近其它用户设备115n的存在有关的改变或者其它状态改变的数据。

过滤引擎206可以是包括用于过滤信号流的例程的软件。在一些实施例中,过滤引擎206可以是可由处理器235执行的指令集,所述指令集提供下面所描述的功能用于过滤信号流。在一些实施例中,过滤引擎206可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。过滤引擎206可适于经由信号线234来与处理器235以及计算设备200的其它组件协同和通信。

在一些实施例中,过滤引擎206过滤信号流以定义一个或多个人可理解的动作。例如,过滤引擎206过滤信号流以检索来自用户设备115的加速度计的描述步数的数据,并且输出包括步伐数据的经过滤的信号流。在另一示例中,过滤引擎206过滤信号流以检索来自用户设备115的GPS传感器的位置和速度数据序列并且输出包括位置数据的经过滤的信号流。在又另一示例中,过滤引擎206过滤信号流以检索描述在用户设备115附近移动设备检测的数据,并且输出包括检测数据的经过滤的信号流。这样经过滤的信号流包括与在用户设备115附近的移动设备相关联的散列的标识符(即,使用电话号码、电子邮件或者社交网络简档标识符等被散列的)。

在一些实施例中,过滤引擎206过滤信号流以将经过滤的信号流中的不同类型的数据组合以定义一个或多个人可理解的动作。例如,过滤引擎206输出将下列数据中的一个或多个组合的经过滤的信号流,包括:(1)来自GPS传感器的位置和速度数据;和(2)指示附近汽车(例如,支持蓝牙)和手机的存在的检测数据等,以指示与另一用户一起行进。在另一示例中,过滤引擎206输出将下列数据中的一个或多个组合的经过滤的信号流,包括:(1)来自麦克风的周围声音数据;(2)来自GPS传感器或Wi-Fi接入点的位置数据;以及(3)将具有与位置数据匹配的GPS标签的一个或多个照片上传至社交网络等,以指示社交聚会。在另一示例中,过滤引擎206输出将下列数据中的一个或多个组合的经过滤的信号流,包括:(1)来自加速度计的运动数据;(2)来自光传感器的周围照度数据;(3)来自用户设备115上的电源检测器的能量使用数据;以及(4)来自用户设备115中的应用管理器的应用使用数据等,以指示睡眠或活跃日间活动。

在一些实施例中,过滤引擎206过滤信号流以识别一个或多个人可理解的动作的改变。例如,假设用户的移动设备上的蓝牙传感器从1:00PM至1:30PM每五分钟检测在用户附近若干移动设备的存在。过滤引擎206过滤由蓝牙传感器所生成的数据并且输出经过滤的信号流,其包括:(1)指示在1:00PM在用户附近检测到第一移动设备和第二移动设备的数据;以及(2)指示在1:25PM检测到第二移动设备不再处于用户附近的数据。在另一示例中,假设用户的移动设备上的GPS传感器从8:00AM至8:30AM每2分钟更新用户的位置。过滤引擎206过滤由GPS传感器所生成的数据并且输出经过滤的信号流,其包括:(1)描述用户在8:04AM到达咖啡店处的第一位置和时间戳集;以及(2)描述用户在8:30AM离开咖啡店的第二位置和时间戳数据集。在8:00AM与8:30AM之间从GPS传感器接收的其它位置和时间戳数据集未被包括在经过滤的信号流中,因为它们相同或过于相似。

在一些实施例中,经过滤的信号流包括描述另一用户设备115的出现和消失的数据。例如,假设蓝牙传感器检测到朋友的移动设备的存在并且从1:00PM至1:30PM每五分钟生成描述朋友的移动设备的存在的数据。过滤引擎206过滤由蓝牙传感器所生成的数据,并且输出仅包括下列数据的经过滤的信号流:(1)指示朋友的移动设备在1:00PM出现的数据;以及(2)指示最后在1:30PM检测到朋友的移动设备的数据。在一些其它实施例中,经过滤的信号流包括指示步伐频率的改变、速度的改变、应用使用的改变(例如,应用被打开或被关闭)、社交网络上的动作的改变(例如,用户登入或离开社交网络账户)或者其它动作改变的数据

在一些实施例中,过滤引擎206过滤信号流以包括来自与第一用户的第一用户设备115相关联的蓝牙传感器的数据,其中所述数据可用于确定也具有蓝牙传感器的第二用户设备115的存在。例如,如果第一用户设备115和第二设备115接近,则第一用户设备115的蓝牙传感器生成指示第二用户设备115的存在的数据。在一些示例中,指示第二用户设备115的存在的数据还可指示与第二用户设备115相关联的第二用户的存在(例如,第一用户和第二用户接近)。例如,如果第二用户设备115是移动设备,则移动设备的存在可指示第二用户的存在。在一些实施例中,过滤引擎206过滤信号流以另外包括来自蓝牙传感器的所接收信号强度指示符(RSSI)数据用于增加的粒度。

使用蓝牙传感器的检测易于实现,并且可经用户的许可自动地打开。如果两个用户设备115在蓝牙传感器的检测半径内,则检测得到准确的结果。然而,蓝牙传感器可能无法发现一些设备。例如,具有蓝牙传感器的用户设备115可能无法检测老的设备。

在一些实施例中,过滤引擎206过滤第一信号流并且输出第一经过滤的信号流,所述第一经过滤的信号流包括来自与第一用户的第一用户设备115相关联的第一蓝牙传感器的第一数据集。第一数据集指示第一用户设备115在第一时间戳处检测到第三设备的存在。另外,过滤引擎206过滤第二信号流并且输出第二经过滤的信号流,所述第二经过滤的信号流包括来自与第二用户的第二用户设备115相关联的第二蓝牙传感器的第二数据集。第二数据集指示第二用户设备115在第二时间戳处检测到第三设备的存在。如果第一时间戳与第二时间戳之间的时间差在预定阈值(例如,五秒)内,则活动识别器208可使用第一数据集和第二数据集来确定第一用户设备115和第二用户设备115接近,因为两个用户设备115均在短时间段内检测到第三设备。活动识别器208在下面更详细地描述。

例如,假设第三设备是车辆。如果该车辆几乎被两个用户的两个移动设备同时检测到,则这两个用户非常有可能在同一车辆上。第一和第二经过滤的信号流可分别附加地包括来自GPS传感器的速度数据。如果速度数据指示两个用户正在移动,则活动识别器208可估计这两个用户正在同一车辆中行进。在另一示例中,假设第三设备是家中的具有蓝牙传感器的设备(例如,支持蓝牙的个人计算机)。如果家中的设备分别被两个用户的两个移动设备在预定时间窗口内(例如,在10秒内)检测到,则活动识别器208可估计这两个用户在家中。在一些示例中,如果来自GPS传感器的位置数据指示两个用户的地理位置相同,则活动识别器208估计这两个用户在一起。

在一些实施例中,过滤引擎206过滤信号流以另外包括接收信号强度指示符(RSSI)数据用于增加粒度。在一些实施例中,过滤引擎206可通过基于用户的社交图和/或用户的位置过滤可用设备来针对特定的已知设备进行轮询。例如,过滤引擎206识别由用户的朋友所使用的设备组。在另一示例中,过滤引擎206识别与用户在相同位置的设备组。在另一示例中,过滤引擎206识别由用户的朋友所使用并且与用户在相同的位置的设备组。

在一些实施例中,过滤引擎206将经过滤的信号流提供给存储在用户设备115上的应用。例如,来自经过滤的流的步伐数据被输入到健身追踪应用。在其它实施例中,过滤引擎206将经过滤的信号流存储在存储设备243中。在一些其它实施例中,过滤引擎206将经过滤的信号流发送给活动识别器208。

活动识别器208可以是包括用于识别活动的例程的软件。在一些实施例中,活动识别器208可以是可由处理器235执行的指令集,所述指令集提供下面所描述的功能用于识别活动。在一些实施例中,活动识别器208可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。活动识别器208可适于经由信号线236来与处理器235以及计算设备200的其它组件协同和通信。

示例活动包括(但不限于)物理活动(例如,跑步、步行、睡觉、驾驶、与某人说话、骑自行车、与一群人说话、远足等)、社交网络上的活动(例如,在社交网络上玩在线游戏、发布帖子和/或评论、确认帖子、共享帖子等)以及用户设备115上的活动(例如,打开应用、听播放列表、呼叫联系人、写电子邮件、查看照片、查看视频等)。其它示例活动也是可以的。

在一些实施例中,活动识别器208从过滤引擎206接收经过滤的信号流,并且从经过滤的信号流识别一个或多个活动。例如,假设经过滤的信号流包括来自计步器的步伐数据。如果步伐频率符合用户的步行速度,则活动识别器208识别出用户正在步行。然而,如果步伐频率符合用户的跑步速度,则活动识别器208识别出用户正在跑步。在另一示例中,经过滤的信号流包括:(1)来自加速度计的指示零加速度的加速度数据;(2)来自GPS传感器的指示时间是午夜的时间戳数据;(3)来自光检测器的指示灯关了的亮度数据;(4)指示用户设备115被连接至充电器的电源使用;以及(5)指示没有使用应用的应用使用。活动识别器208基于经过滤的信号流识别出用户活动是睡觉。

在一些实施例中,活动识别器208基于从多个虚拟检测器202和/或硬件传感器252所接收的数据来确定用户活动。例如,经过滤的信号流包括指示(1)正在用户设备115上运行游戏应用以及(2)用户正在用户设备115的触摸屏上滑动手指的数据。活动识别器208识别出用户正在用户设备115上玩游戏。在另一示例中,经过滤的信号流包括:(1)来自计步器的描述步伐的数据;(2)来自虚拟检测器202的描述正在用户设备115上运行音乐应用的数据;以及(3)来自用户设备115的蓝牙传感器的描述在用户设备115附近检测到朋友的移动设备的数据。活动识别器208基于音乐应用的使用、步伐频率以及在用户设备115附近朋友的移动设备的存在来识别用户正在听音乐并且与朋友慢跑。在又另一示例中,经过滤的信号流包括:(1)来自用户设备115的GPS传感器的描述用户当前正在咖啡店的位置数据;以及(2)来自用户设备115的蓝牙传感器的描述在用户设备115附近检测到朋友的移动设备的数据。活动识别器208识别出用户正在咖啡店与朋友会面。

在一些实施例中,活动识别器208经用户许可从社交网络服务器101检索描述用户简档的数据。用户简档包括用户的年龄、性别、教育背景、工作经历、兴趣以及其它人口统计信息中的一个或多个。活动识别器208基于用户简档从经过滤的信号流识别与用户相关联的一个或多个活动。例如,对于基于来自计步器的步伐数据所确定的特定步伐频率,如果用户是超过60岁的年长者,则活动识别器208可确定用户正在跑步。然而,如果用户是年轻的运动员,则活动识别器208可确定用户正在以较快的速度步行。在另一示例中,如果用户被归类为马拉松赛跑,则与诸如骑自行车、游泳等的其它活动相比,活动识别器208更有可能将用户活动识别为跑步。

在一些实施例中,活动识别器208基于经过滤的信号流识别每个活动的社交方面、注意方面和/或移动性方面。社交方面指示在活动期间谁与用户在一起。例如,跑步活动的社交方面指示朋友与用户一起跑步。在另一示例中,会见的社交方面指示用户是参加商业会议还是与朋友会面。注意方面指示用户专注于什么。例如,游戏活动的注意方面指示用户将注意力专注于游戏应用。移动性方面指示用户的状态。例如,移动性方面指示在活动期间用户坐着还是在移动。在一些实施例中,移动性方面描述用户的地理位置。例如,移动性方面指示用户正在公路上驾驶。

在一些实施例中,经过滤的信号流包括动作的改变,活动识别器208从经过滤的信号流识别活动的开始和/或结束。例如,在第一时间戳处,如果经过滤的信号流包括指示用户的步伐频率从步行速度增加至跑步速度的数据,则活动识别器208识别跑步活动的开始。在第二时间戳处,如果经过滤的信号流包括指示用户的步伐频率从跑步速度减小至步行速度的数据,则活动识别器208识别跑步活动的结束。在另一示例中,在第一时间戳处,如果经过滤的信号流包括(1)指示用户到达餐馆的位置数据以及(2)指示在用户的移动设备附近存在朋友的移动设备的数据,则活动识别器208识别进餐活动的开始。在第二时间戳处,如果经过滤的信号流包括指示用户离开餐馆的位置数据,则活动识别器208识别进餐活动的结束。

聚合器210可以是包括用于将与用户相关联的活动聚合的例程的软件。在一些实施例中,聚合器210可以是可由处理器235执行的指令集,所述指令集提供下面所描述的功能用于将与用户相关联的活动聚合。在一些实施例中,聚合器210可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。聚合器210可适于经由信号线238来与处理器235以及计算设备200的其它组件协同和通信。

在一些实施例中,聚合器210将与用户相关联的一个或多个活动聚合以定义与用户有关的事件。事件可以是描述用户故事的数据。在一些实施例中,事件包括在特定时间段期间执行的单个活动。例如,锻炼事件描述用户从6:00AM至6:30AM在公园中跑步。在一些实施例中,事件包括用户在特定时间段期间执行的多个活动。例如,从3:00PM至10:00PM的星期六社交事件包括从3:00PM至6:00PM与朋友在商场购物、从6:00PM至8:00PM与朋友在餐馆就餐、以及从8:00PM至10:00PM与朋友去看电影。

在一些实施例中,事件包括与特定主题有关的多个活动。例如,游戏事件包括与朋友玩视频游戏、在社交网络上发布游戏结果、在线共享游戏照片以及发布关于游戏结果的评论。在一些其它实施例中,事件包括在相同位置处执行的一个或多个活动。例如,体育事件包括与朋友在体育场查看体育比赛、为体育比赛拍照、在体育场购买运动衫以及在体育场遇到同事等。其它示例事件也是可以的。在一些实施例中,聚合器210将通过用户的活动所定义的事件存储在数据存储设备243中。在其它实施例中,聚合器210将事件发送给总结引擎212。

总结引擎212可以是包括用于根据第一用户与第二用户之间的关系的类型为第一用户生成事件的详细总结的例程的软件。在一些实施例中,总结引擎212可以是可由处理器235执行的指令集,所述指令集提供下面所描述的功能用于生成用于生成总结的图形数据。在一些实施例中,总结引擎212可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。总结引擎212可适于经由信号线240来与处理器235以及计算设备200的其它组件协同和通信。

在一些实施例中,总结引擎212从聚合器210接收包括第一用户的活动的事件并且基于所述事件生成第一用户的活动的总结。在一些实施例中,活动包括在特定时间段内的活动。在一些实施例中,活动可包括在第一用户的生活中在第一用户与第二用户的互动之间的时间段期间的活动。例如,总结引擎212从聚合器210接收第一用户的物理活动、社交网络上的活动以及用户设备115上的活动的事件,并且生成第一用户的活动的总结。在一些实施例中,总结引擎212生成在指定的时间段(例如,一天、一周或一月)期间的第一用户的活动的总结。例如,总结引擎212生成在指定的时间段期间第一用户使用的应用、第一用户发布的帖子、与第一用户会面的人、第一用户共享的照片、第一用户查看的视频以及第一用户执行的其它物理活动(例如,骑自行车、步行等)的总结。例如,总结引擎212可生成用户的生命中的活动的总结。例如,总结引擎212可总结或识别在第一用户与另一用户之间的互动之间的时间段期间第一用户的生命中的重要时刻。

在一些实施例中,总结引擎212确定第一用户在第二用户附近,基于第一用户与第二用户的亲密度来生成第一用户的活动的总结,并且向第一用户提供该总结。在一些实施例中,接近是第一用户与第二用户之间的物理接近。总结引擎212基于从多个虚拟检测器202和/或硬件传感器252所接收的数据来确定第一用户在第二用户附近。例如,基于来自用户设备115的蓝牙传感器的描述在与第一用户相关联的用户设备115附近检测到第二用户的移动设备的数据,或者基于来自与第一用户和第二用户相关联的用户设备115的GPS传感器的描述第一用户和第二用户二者当前在咖啡店的位置数据,总结引擎212确定第一用户在第二用户附近。

在一些实施例中,总结引擎212基于第一用户与第二用户之间的联系来确定第一用户与第二用户的亲密度。在一些实施例中,所述联系是在社交网络上第一用户与第二用户之间的社交联系。例如,总结引擎212从一个或多个社交网络接收社交数据(例如,简档、关系、社交图等),并且确定用户是否有联系以及如何联系。在一些实施例中,总结引擎212基于第一用户与第二用户之间的社交联系的分离程度来确定第一用户与第二用户的亲密度。例如,总结引擎212识别出第一用户和第二用户在社交网络中相互关注,并且确定第一用户与第二用户之间的分离程度为一。基于此第一程度的分离,总结引擎212确定第一用户和第二用户亲密。分离程度越低,第一用户与第二用户越亲密。例如,总结引擎212确定第一用户与第二用户之间为第一程度的朋友联系,因为他们在社交网络中以朋友联系直接相联系。总结引擎212还确定第一用户与第三用户之间为第二程度的朋友联系,因为他们在社交网络中经由共同的朋友相联系。基于分离程度的比较,总结引擎212确定第一用户与第二用户比第一用户与第三用户更亲密。

在其它实施例中,总结引擎212基于其它源确定第一用户与第二用户之间的联系。例如,除了所述社交网络上的社交网络联系以外,第一用户与第二用户之间的联系的源还可包括通信,所述通信诸如电子邮件、微博、博客、论坛、用户联系人列表、企业雇员数据库、组织结构图等。作为另一示例,第一用户与第二用户之间的联系的源还可以是第一用户和第二用户的共同在场历史。例如,总结引擎212可通过检查用户的联系人列表或者通过确定用户是否在特定时间段内(例如,一周内、一月内、一年内等)彼此之间发送或接收过特定数量的电子邮件(例如,一封电子邮件、五封电子邮件、10封电子邮件、50封电子邮件等)来确定用户是否有联系。在另一示例中,总结引擎212可通过分析企业雇员数据库或者学校校友数据库等来确定用户联系。例如,如果用户为相同的雇主工作或者如果用户曾就读于同一所学校,则总结引擎212确定用户有联系。

在一些实施例中,总结引擎212基于来自其它源的第一用户和第二用户的联系来确定第一用户与第二用户的亲密度。例如,如果第一用户与第二用户频繁地交换电子邮件(例如,每周十封电子邮件),而同时很少经由电子邮件与第三用户通信(例如,每月两封电子邮件),则总结引擎212确定第一用户与第二用户比第一用户与第三用户更亲密。如果第一用户在一年前参加相同会议时遇到过第四用户一次,则总结引擎212确定第一用户与第三用户比第一用户与第四用户更亲密。

在一些实施例中,总结引擎212基于自最后互动起所流逝的时间来确定第一用户与第二用户的亲密度。在一些实施例中,总结引擎212基于自最后互动起所流逝的时间来确定要将哪些事件包括在总结中。总结引擎212从活动识别器208接收活动数据并且基于活动数据来确定自第一用户与第二用户之间的最后互动起所流逝的时间。例如,所流逝的时间可以是自第一用户与第二用户之间最后面对面会面起、或者自第一用户与第二用户之间最后通信或者第一用户与第二用户之间的一些其它最后互动起所流逝的时间。当所确定的时间减小时,总结引擎212增大第一用户与第二用户之间的亲密度。例如,基于第一用户15分钟前对第二用户所发的帖子发布评论的活动,总结引擎212确定第一用户和第二用户亲密。总结引擎212确定第一用户与第三用户疏远,因为他们之间的最后互动是第三用户两年前回复了第一用户的电子邮件。

在一些实施例中,总结引擎212基于第一用户与第二用户之间的联系和自最后互动起所流逝的时间中的至少一个来确定第一用户与第二用户的亲密度。例如,总结引擎212确定第一用户和第二用户亲密,因为他们在社交网络上以朋友联系直接相联系(例如,分离程度为一)。然而,如果总结引擎212还确定第一用户与第二用户之间的最后互动(例如,电子邮件)发生在一年前,则总结引擎212减小第一用户与第二用户之间的亲密度。

总结引擎212基于亲密度来确定第一用户与第二用户之间的关系。在一些实施例中,总结引擎212将第一用户与第二用户的关系归类为第一类型的关系、第二类型的关系或第三类型的关系。如果第一用户非常了解第二用户(例如,密友和/或彼此频繁互动),则总结引擎212将第一用户与第二用户之间的关系归类为第一类型的关系。如果第一用户不太了解第二用户(例如,熟人和/或彼此不经常互动),则总结引擎212将第一用户与第二用户之间的关系归类为第二类型的关系。如果第一用户没有见过第二用户本人(例如,共同共享信息的陌生人),则总结引擎212将第一用户与第二用户之间的关系归类为第三类型的关系。

在一些实施例中,总结引擎212基于各种场境来确定第一用户与第二用户之间的关系。例如,在一些实施例中,总结引擎212基于关系场境来对第一用户与第二用户的关系进行归类。例如,第一用户和第二用户可具有私人关系。作为另一示例,第一用户和第二用户可具有专业关系。

在一些实施例中,总结引擎212基于历史场境来确定第一用户与第二用户之间的关系。例如,如果第一用户和第二用户曾在同一只运动队,则可基于它来对关系进行归类。作为另一示例,如果第一用户和第二用户曾在相同俱乐部,则可基于它来对关系进行归类。

在一些实施例中,总结引擎212指派阈值分离程度并且基于阈值分离程度来确定第一用户是否了解第二用户。例如,总结引擎212将第一阈值分离程度指派为二,将第二阈值分离程度指派为七。如果第一用户与第二用户之间的联系的分离程度小于二,则总结引擎212确定第一用户非常了解第二用户并且他们具有第一类型的关系。如果第一用户与第二用户之间的联系的分离程度介于二和七之间,则总结引擎212确定第一用户大体上了解第二用户(例如,他们在社交图的边缘)并且他们具有第二类型的关系。如果第一用户与第二用户之间的联系的分离程度大于七,则总结引擎212认为第一用户和第二用户为陌生人并且确定他们具有第三类型的关系。

在其它实施例中,总结引擎212使用其它因素(例如,互动频率、自最后互动起所流逝的时间等)来确定第一用户是否非常了解第二用户。例如,如果总结引擎212确定第一用户和第二用户在社交网络上彼此互动大约每月两次或者确定第一用户与第二用户之间的最后互动为20天前,则总结引擎212确定第一用户不太了解第二用户并且将第一用户与第二用户之间的关系归类为第二类型的关系。

响应于具有第一类型的关系,总结引擎212为第一用户生成第一总结,其包括第二用户在临近的通知、与第二用户的最后互动以及与第二用户的最近互动。具体地讲,第一总结包括第一用户应给予第二用户的任何动作项。例如,总结引擎212将通知“与你的朋友一起进餐”以及餐馆信息包括在第一总结中以提醒第一用户他/她需要计划与第二用户一起进餐。在另一示例中,总结引擎212将带星号标记的电子邮件附在第一总结中以提醒第一用户他/她需要将带星号标记的电子邮件中提及的课堂笔记拿给第二用户。第一总结将在下面参照图3A被详细描述。

响应于具有第二类型的关系,总结引擎212为第一用户生成第二总结,其包括第二用户在临近的通知、与第二用户的最后互动以及第一用户与第二用户共同共享的事件。第一用户与第二用户共同共享的社交事件的示例可以是两个用户一起的照片、两个用户均参加的事件以及与两个用户均有关的故事。第一用户与第二用户共同共享的事件的其它示例可以是在两个用户当前所在的这一位置特别发生的事件。在一些实施例中,第二总结包括第二用户可能有兴趣得知的发生在第一用户身上的重要事件。例如,在第一用户和第二用户在信息技术(IT)会议中最后遇见之后,第一用户创办了IT公司。总结引擎212将第一用户的IT公司的信息包括在第二总结中。在其它实施例中,第二总结还包括共同关联人的名称以及该共同关联人参与的事件。例如,在所述示例中,总结引擎212还将第一用户和第二用户去年参加的IT会议包括在第二总结中以就第二用户提醒第一用户。在另一示例中,总结引擎212将第一用户和第二用户毕业的大学的名称或者共同的朋友的姓名包括在第二总结中。在另一示例中,总结引擎212包括第一用户与第二用户之间的共同爱好或共同熟人。在其它实施例中,第二总结包括社交网络上由第二用户创建的最近帖子。例如,第二总结包括在第二用户到达第一用户所居住的旧金山的第一天第二用户所拍摄的金门大桥附近的餐馆的照片。通过该照片,第一用户可通过接收与第二用户喜欢哪类餐馆以及第二用户想要参观哪类地方有关的信息来找到与第二用户交谈的话题。结果,可增强第一用户与第二用户之间的联系。第二总结将在下面参照图3B和图3C被详细描述。

响应于具有第三类型的关系,总结引擎212为第一用户生成第三总结,其包括第二用户在临近的通知以及第一用户与第二用户共同共享的事件。例如,总结引擎212包括第一用户和第二用户共同共享的生平信息,诸如曾在同一家公司工作、每年在纽约市时代广场参加新年庆祝活动。第三总结将在下面参照图3D被详细描述。

一旦总结引擎212确定第一用户在第二用户附近,总结引擎212就基于第一用户与第二用户之间的关系的类型生成总结并且向第一用户提供该总结。该总结包括第二用户在临近的通知、第一用户与第二用户互动的最后一次以及关于第一用户和第二用户中的至少一个的信息。在一些实施例中,例如,当第一用户和第二用户面对面或者足够靠近,使得他们彼此交谈时,总结引擎212确定第一用户在第二用户附近。在一些实施例中,所述通知可包括另一用户在特定距离远处。在其它实施例中,所述通知可提示两个用户在线协同或者开始朝着彼此前进以便会面。

用户界面引擎214可以是包括用于生成图像的例程或者用于向用户提供用户界面的音频数据的软件。在一些实施例中,用户界面引擎214可以是可由处理器235执行的指令集,所述指令集提供下面所描述的功能用于生成用于向用户提供用户界面或者向用户提供音频数据的图形数据。在一些实施例中,用户界面引擎214可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。用户界面引擎214可适于经由信号线242来与处理器235以及计算设备200的其它组件协同和通信。

在一些实施例中,用户界面引擎214生成用于提供用户界面的图形数据,所述用户界面描绘用户活动的总结。用户界面引擎214将图形数据发送给用户设备115,使得用户设备115将用户界面呈现给用户。在一些实施例中,用户界面引擎214可帮助触发相关应用的启动和与应用相关的内容(例如,电子邮件应用可打开恰当的电子邮件或者第一用户与第二用户之间的相关电子邮件的查询结果)。示例用户界面被示出于图3A至图3D中。在其它实施例中,用户界面引擎214生成用于提供用户界面的图形数据,所述用户界面描绘与一个或多个用户相关联的事件。用户可使用用户界面来修改或更新事件通知、向事件增加更多同伴、共享事件、增加照片的详细描述、对事件进行评论、增加或更新事件的标题、或者对事件执行其它动作。用户界面引擎214可生成用于向用户提供其它用户界面的图形数据。

隐私引擎216可以是包括用于基于隐私设置来确定向用户提供什么信息的例程的软件。在一些实施例中,隐私引擎216可以是可由处理器235执行的指令集,所述指令集提供下面所描述的功能用于基于隐私设置确定向用户提供什么信息,隐私引擎216可被存储在计算设备200的存储器237中并且可由处理器235访问和执行。隐私引擎216可适于经由信号线217来与处理器235以及计算设备200的其它组件协同和通信。

在一些实施例中,隐私引擎216通过与用户相关联的用户简档确定隐私设置。例如,John手动地选择隐私设置,诸如优选与社交网络中他所创建的称为“密友”的群共享个人照片。隐私引擎216与总结引擎212通信以基于隐私设置来确定将哪些信息提供给用户。例如,在所述示例中,当John在他最好的朋友Linda和他的熟人Sara临近时,总结引擎212为Linda生成包括John的个人照片的第一总结,并且为Sara生成不包括个人照片的第二总结。作为另一示例,总结引擎212还可为全部三个用户生成全部这三个用户一起的公共项的第三总结(例如,全部三个用户之间的电子邮件线程、全部三个用户合作的文档、或者在三个用户之间共享的照片等)。

图3A是用于显示第一用户和第二用户是密友和/或彼此频繁地互动的总结的用户界面300的示例图形表示。用户界面300显示为Lance生成的总结。用户界面300包括通知301,所述通知301向Lance通知Bob Smith在临近。Bob是Lance的密友。四天前他们在咖啡店彼此遇见。用户界面300在302处包括这一最后互动。除了这一互动以外,用户界面300还包括Bob与Lance之间的其它互动,例如,指示303示出Bob和Lance在两周前通话两分钟,并且指示304显示Bob和Lance三周前就项目交换了电子邮件。使用指示304,可提醒Lance他应该将与该项目有关的一些文档拿给Bob。

图3B和图3C是用于显示第一用户和第二用户是朋友和/或彼此不经常互动的总结的用户界面320和340的示例图形表示。用户界面320和340显示为Lance生成的总结的第一部分和第二部分。在图3B中,用户界面320包括通知321,所述通知321向Lance通知Sara Doe在临近。Sara是Lance的朋友。他们最后一次彼此遇见是在一年前Oren的烧烤活动上。用户界面320在322处包括这一最后互动。用户界面320还包括Sara和Lance共同共享的事件,例如,指示323示出Sara和Lance二者均进入了Noname大学,并且指示324显示Sara和Lance均为JohnDoe的朋友,指示325显示Sara和Lance均居住在加利福尼亚州的旧金山,并且指示326显示Sara和Lance曾在马萨诸塞州的剑桥居住过。

现在参照图3C,用户界面340显示了为Lance生成的总结的第二部分。用户界面340包括在社交网络上由Sara创建的最近的帖子341。由Sara拍摄的照片341示出当熊过于靠近Sara时她有多害怕。用户界面340还包括Sara可能有兴趣得知的发生在Lance身上的重要事件,例如,自从最后与Sara通信之后Lance的生活342。例如,照片343示出Lance有了小孩、照片344示出Lance创办了公司、并且照片345示出Lance与他们共同的朋友Jenny共进午餐。

图3D是用于显示第一用户和第二用户是共同共享信息的陌生人的总结的用户界面360的示例图形表示。用户界面360显示为Lance生成的总结。用户界面360包括通知361,所述通知361向Lance通知Mike Jones在临近。Lance实际上不认识Mike,但是与Mike共享共同的信息。例如,指示362、363和364示出Lance和Mike均为Alice Doe的朋友、均曾在X公司工作过并且目前均在加利福尼亚州的圣地亚哥生活。通过提供Lance与Mike之间共享的共同信息,他们有一些话题讨论,并且可最终很好地了解彼此。

图4是用于为第一用户生成总结的方法的示例的流程图。在一些实施例中,总结应用103包括处理单元204、过滤引擎206、活动识别器208和总结引擎212。处理单元204从硬件传感器252和虚拟检测器202中的至少一个接收402信号流。过滤引擎206过滤404信号流并且输出经过滤的信号流,所述经过滤的信号流包括用于定义一个或多个人可理解的动作的数据。活动识别器208从经过滤的信号流识别406与第一用户相关联的一个或多个活动。总结引擎212生成408第一用户的活动总结。总结引擎212确定410第一用户在第二用户附近。总结引擎212基于第一用户与第二用户之间的联系以及自最后互动起所流逝的时间中的至少一个来确定412第一用户与第二用户的亲密度。总结引擎212向第一用户提供414第二用户在临近的通知、第一用户与第二用户互动的最后一次以及与第一用户和第二用户中的至少一个有关的信息。

图5A和图5B是根据用户之间的关系的类型为第一用户生成总结的方法的另一示例的流程图。在一些实施例中,总结应用103包括处理单元204、过滤引擎206、活动识别器208、聚合器210和总结引擎212。在图5A中,处理单元204从硬件传感器252和虚拟检测器202中的至少一个接收502信号流。该信号流包括由硬件传感器252生成的硬件原始数据和由虚拟检测器202生成的虚拟原始数据中的至少一个。过滤引擎206过滤504信号流并且输出经过滤的信号流,所述经过滤的信号流包括用于定义一个或多个人可理解的动作的数据。例如,过滤引擎206输出将下列数据中的一个或多个组合的经过滤的信号流,包括:(1)来自GPS传感器的位置和速度数据;以及(2)指示附近存在汽车(例如,支持蓝牙)和手机的检测数据等,以指示与另一用户一起行进。

活动识别器208从经过滤的信号流识别506与第一用户相关联的一个或多个活动。例如,对于基于来自计步器的步伐数据确定的特定步伐频率,如果用户是超过60岁的年长者,则活动识别器208可确定用户正在跑步。然而,如果用户是年轻的运动员,则活动识别器208可确定用户正在以较快的速度步行。在另一示例中,如果用户被归类为马拉松赛跑,则与诸如骑自行车、游泳等的其它活动相比,活动识别器208更有可能将用户活动识别为跑步。

总结引擎212生成508第一用户的活动的总结。在一些实施例中,总结引擎212从聚合器210接收包括第一用户的活动的事件并且基于所述事件来生成第一用户的活动的总结。总结引擎212确定510第一用户在第二用户附近。例如,基于来自用户设备115的蓝牙传感器的描述在与第一用户相关联的用户设备115附近检测到第二用户的移动设备的数据,总结引擎212确定第一用户在第二用户附近。

总结引擎212确定512第一用户与第二用户之间在社交网络中的分离程度。例如,总结引擎212识别出第一用户和第二用户在社交网络中相互关注,并且确定第一用户与第二用户之间的分离程度为一。在此示例中,基于此第一程度的分离,总结引擎212确定第一用户和第二用户亲密。

总结引擎212确定514自第一用户与第二用户之间的最后互动起所流逝的时间。例如,基于第一用户15分钟前对第二用户所发的帖子发布评论的活动,总结引擎212确定第一用户和第二用户亲密。总结引擎212确定第一用户与第三用户疏远,因为他们之间的最后互动是第三用户两年前回复了第一用户的电子邮件。在一些实施例中,总结引擎212确定514自第一用户与第二用户之间的最后互动起所流逝的时间,以确定要包括的相关事件。

现在参照图5B,总结引擎212将第一用户与第二用户的关系归类516为第一类型的关系、第二类型的关系或第三类型的关系。如果第一用户非常了解第二用户(例如,密友和/或彼此频繁互动),则总结引擎212将第一用户与第二用户之间的关系归类为第一类型的关系。如果第一用户不太了解第二用户(例如,熟人和/或彼此不经常互动),则总结引擎212将第一用户与第二用户之间的关系归类为第二类型的关系。如果第一用户没有见过第二用户本人(例如,共同共享信息的陌生人),则总结引擎212将第一用户与第二用户之间的关系归类为第三类型的关系。

响应于具有第一类型的关系,总结引擎212为第一用户生成518第一总结,其包括第二用户在临近的通知、与第二用户的最后互动以及与第二用户的最近互动。例如,总结引擎212将通知“与你的朋友一起进餐”以及餐馆信息包括在第一总结中以提醒第一用户他/她应该与第二用户一起进餐。

响应于具有第二类型的关系,总结引擎212为第一用户生成520第二总结,其包括第二用户在临近的通知、与第二用户的最后互动以及第一用户与第二用户共同共享的事件。在一些实施例中,第二总结包括第二用户可能有兴趣得知的发生在第一用户身上的重要事件。在其它实施例中,第二总结还包括共同关联人的名称以及该共同关联人参与的事件。在其它实施例中,第二总结包括社交网络上由第二用户创建的最近帖子。

响应于具有第三类型的关系,总结引擎212为第一用户生成522第三总结,其包括第二用户在临近的通知以及第一用户与第二用户共同共享的事件。例如,总结引擎212包括第一用户和第二用户共同共享的生平信息,诸如曾在同一家公司工作、每年在纽约市时代广场参加新年庆祝活动。

在以上描述中,为了说明,阐述了众多具体细节以便提供本说明书的透彻理解。然而,对于本领域技术人员而言将显而易见的是,本发明可在没有这些具体细节的情况下实践。在其它实例中,结构和设备以框图的形式示出,以避免模糊描述。例如,下面在一个实施例中主要参照用户界面和特定硬件描述了本发明实施例。然而,本发明实施例应用于可接收数据和命令的任何类型的计算设备以及提供服务的任何外围设备。

在说明书中提及“一个实施例”或“实施例”意指结合该实施例描述的特定特征、结构或特性包括在描述的至少一个实施例中。出现在说明书中的各种地方的短语“在一个实施例中”未必全部指代相同实施例。

在计算机存储器内的数据比特上的操作的算法和符号表示方面呈现了以下详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来向本领域其他技术人员最有效地传达他们的工作的实质的手段。这里并且一般设想算法为促成所需结果的自一致步骤序列。这些步骤是需要物理量的物理操纵的步骤。通常(但不是必需的),这些量采取能够被存储、传送、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实有时方便的是(主要出于常用的原因)将这些信号称为比特、值、元素、符号、字符、项、数等。

然而,应当谨记,所有这些以及相似术语均将与适当的物理量相关联,只不过是应用于这些量的方便标签。除非如从下文讨论中明显的那样另有具体指示,否则将理解,贯穿该描述,使用诸如“处理”或“计算(computing)”或“计算(calculating)”或“确定”或“显示”等术语的讨论可指计算机系统或类似电子计算设备的动作和处理,其将计算机系统的寄存器和存储器内被表示为物理(例如,电子)量的数据操纵,并变换成在计算机系统存储器或寄存器或者其它此类信息存储、传输或显示设备内被类似地被表示为物理量的其它数据。

本说明书的实施例还涉及一种执行本文的操作的装置。该装置可针对所需的目的专门构造,或者可包括通过存储在计算机中的计算机程序来选择性地激活或重新配置的通用计算机。此类计算机程序可被存储在计算机可读存储介质中,例如(但不限于)包括光盘、CD-ROM和磁盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、包括具有非易失性存储器的USB密钥的闪速存储器、或者适合于存储电子指令的任何类型的介质,其各自被耦合至计算机系统总线。

本说明书可采取全硬件实施例、全软件实施例或者包含硬件和软件元件二者的实施例的形式。在优选实施例中,本说明书以软件的形式被实现,包括(但不限于)固件、常驻软件、微码等。

另外,说明书可采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,其提供由计算机或者任何指令执行系统使用或者与其结合使用的程序代码。为了本说明书的目的,计算机可用或计算机可读介质可以是可包含、存储、通信、传播或者传输由指令执行系统、装置或设备使用或者与其结合使用的程序的任何装置。

适合于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接地被耦合至存储器元件的至少一个处理器。存储器元件可包括在程序代码的实际执行期间所采用的本地存储器、大容量存储设备和高速缓存存储器,其提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储设备检索代码的次数。

输入/输出或I/O设备(包括但不限于键盘、显示器、指针设备等)可直接地或者通过中间的I/O控制器被耦合至系统。

网络适配器也可被耦合至系统以使得数据处理系统能够通过中间的私人或公共网络被耦合至其它数据处理系统或者远程打印机或存储设备。调制解调器、有线调制解调器和以太网卡仅是当前可用的几种网络适配器。

最后,本文所呈现的算法和显示并非固有地与任何特定计算机或其它装置相关。各种通用系统可与依据本文教导的程序一起使用,或者可证明方便的是构造更专业的装置以执行所需方法步骤。各种这些系统的所需结构将从下面的描述显现。另外,本说明书没有参照任何特定编程语言来描述。将理解,可使用各种编程语言来实现如本文所述的本说明书的教导。

为了图示和描述的目的呈现了本说明书的实施例的以上描述。它并非意在为穷尽性的或者将本说明书限于所公开的精确形式。根据以上教导可进行许多修改和变化。本公开的范围旨在不由该详细描述限制,而是由本申请的权利要求所限定。本领域技术人员将理解,在不脱离其精神或基本特性的情况下,本说明书可按照其它具体形式来具体实现。同样,模块、例程、特征、属性、方法以及其它方面的特定命名和划分不是强制性的或者重要的,实现本说明书或其特征的机制可具有不同的名称、划分和/或格式。另外,对于本领域普通技术人员而言将显而易见的是,本公开的模块、例程、特征、属性、方法以及其它方面可被实现为软件、硬件、固件或者这三者的任何组合。另外,在本说明书的组件(其示例是模块)被实现为软件的情况下,该组件可被实现为独立程序、较大程序的部分、多个单独的程序、静态或动态地链接的库、内核可加载模块、设备驱动器、和/或按照计算机编程领域的普通技术人员现在或未来所知的任何其它方式来实现。另外,本公开不以任何方式限于任何特定编程语言的实现方式或者任何特定操作系统或环境。因此,本公开旨在为示例性的,而非限制性的,本说明书的范围在以下权利要求中阐述。

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