用于提供与对象相关联的内容项目的系统和方法与流程

文档序号:18902314发布日期:2019-10-18 22:06阅读:200来源:国知局
用于提供与对象相关联的内容项目的系统和方法与流程

本技术涉及内容呈现。更具体地,本技术涉及用于提供与内容项目内的对象相关的内容项目的技术。

背景

如今,人们常常为了各种各样的目的而利用计算设备(或系统)。用户可以操作他们的计算设备来例如,与彼此交互、创建内容、共享内容和访问信息。在传统方法下,内容项目(例如,图像、视频、音频文件等)可以通过内容共享平台变得可用。用户可以操作他们的计算设备来通过平台访问内容项目。一般,内容项目可以由各种实体(包括例如,内容发布者以及内容共享平台的用户)来提供或上传。在一些实例中,内容项目可以被分类和/或被精选(curate)。

概述

本公开的各种实施例可以包括被配置为识别包括在视频内容项目中的对象的系统、方法和非暂时性计算机可读介质。可以在视频内容项目的回放期间确定与对象相关联的内容项目,其中,内容项目是二维内容项目或三维内容项目中的一种或更多种。可以在视频内容项目中提供与内容项目相关联的指示符。可以响应于对指示符的选择来提供内容项目。

在一些实施例中,对与内容项目相关联的指示符的选择创建了用于呈现三维内容的层,并且其中,内容项目被提供在该层中。

在某些实施例中,该层是增强现实(ar)层。

在实施例中,内容项目是对象的三维模型。

在一些实施例中,该层被呈现在视频内容项目的顶部。

在某些实施例中,响应于内容项目的回放的完成或用户的选择中的一个或更多个,移除该层。

在实施例中,对象包括标识(logo)或品牌中的一种或更多种。

在一些实施例中,基于对象检测或对象跟踪中的一个或更多个来检测所识别的对象。

在某些实施例中,基于用户输入来在视频内容项目中定义所识别的对象。

在实施例中,内容项目包括以下项中的一种或更多种:用于购买与对象相关联的项目的广告或菜单。

应当理解,从附图中和从下面的详细描述中,所公开的技术的许多其他特征、应用、实施例和/或变形将是明显的。本文描述的结构、系统、非暂时性计算机可读介质和方法的附加和/或替代实现可以被使用而不偏离所公开的技术的原理。

附图简述

图1示出了根据本公开的实施例的包括示例对象内容项目模块的示例系统,该示例对象内容项目模块被配置为提供与包括在内容项目中的对象相关联的相关内容项目。

图2示出了根据本公开的实施例的被配置为提供与在内容项目内识别的对象相关联的相关内容项目的示例内容项目模块。

图3a示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关的广告内容项目的示例场景。

图3b示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关的购物菜单内容项目的示例场景。

图3c示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关的增强现实内容项目的示例场景。

图4示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关联的相关内容项目的示例第一方法。

图5示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关联的相关内容项目的示例第二方法。

图6示出了根据本公开的实施例的可以在各种场景中利用的示例系统的网络图。

图7示出了根据本公开的实施例的可以在各种场景中利用的计算机系统的示例。

附图仅为了说明的目的描绘了所公开的技术的各种实施例,其中附图使用相似的参考数字来标识相似的元件。本领域中的技术人员将从下面的讨论中容易认识到,在附图中示出的结构和方法的替代实施例可以被采用而不偏离本文描述的所公开的技术的原理。

详细描述

提供与对象相关联的内容项目

人们为了各种各样的目的使用计算设备(或系统)。如所提到的,在传统方法下,用户可以利用计算设备与其他用户共享内容项目(例如,文档、图像、视频、音频等)。在传统方法下,内容项目(例如,图像、视频、音频文件等)可以通过内容共享平台变得可用。用户可以操作他们的计算设备来通过平台访问内容项目。一般,内容项目可以由各种实体(包括例如,内容发布者以及内容共享平台的用户)来提供或上传。内容共享平台的示例可以包括社交网络系统。

诸如视频的内容项目可以包括或描绘场景中的一个或更多个对象。例如,用户可以用照相机捕获场景并创建视频,并且场景中(例如,在前景或背景中)可以有一个或更多个对象。在计算机技术领域中特别出现的传统方法可以提供内容项目,而没有关于包括在内容项目内的对象做进一步处理。因此,传统方法可能无法提供与包括在内容项目内的对象相关的附加内容项目。

植根于计算机技术的改进的方法可以克服与在计算机技术领域中特别出现的传统方法相关联的前述和其他缺点。基于计算机技术,所公开的技术可以识别包括在内容项目内的一个或更多个对象,并结合该一个或更多个所识别的对象提供附加内容项目。与所识别的对象相关的附加内容项目可以被称为“相关内容项目”。例如,包括在内容项目内的对象的识别和相关内容项目的提供可以在内容项目的回放期间发生。在一些实施例中,包括在内容项目内的对象的识别和相关内容项目的提供可以在内容项目被记录时发生。内容项目的示例可以包括视频、图像等。对象可以包括从现实世界捕获的任何可识别的对象。在一些实施例中,对象可以包括标识和/或品牌。可以基于对象识别或检测来检测内容项目内的对象。在某些实施例中,可以基于机器学习技术来检测内容项目内的对象。在类似视频的内容项目中,对象可以从一帧移动到另一帧,并且可以在帧之间跟踪对象以检测对象。与所识别的对象相关的相关内容项目的示例可以包括信息、广告、购买(例如,产品、服务等)的菜单或链接等。相关内容项目可以以各种方式被提供。例如,可以在内容项目内提供指示符,以便发出相关内容项目可用于访问的信号。作为示例,可以在内容项目内显示条(bar)或框(box),并且条或框可以提供对相关内容项目的访问。作为另一个示例,形状(例如圆形、正方形等)可以被显示在内容项目内的所识别的对象的附近,并且该形状可以提供对相关内容项目的访问。在一些实施例中,可以在虚拟三维空间(诸如增强现实(ar)空间)中提供相关内容项目。以这种方式,所公开的技术可以识别包括在内容项目内的对象,并结合至少一些所识别的对象来提供相关内容项目。下面解释了与所公开的技术相关的细节。

图1示出了根据本公开的实施例的包括示例对象内容项目模块102的示例系统100,该示例对象内容项目模块102被配置为提供与包括在内容项目内的对象相关联的相关内容项目。对象内容项目模块102可以包括对象检测模块104、对象定义模块106和内容项目模块108。在一些实例中,示例系统100可以包括至少一个数据储存器120。在该附图和本文的所有附图中示出的部件(例如,模块、元件、步骤、块等)仅仅是示例性的,且其他实现可以包括附加的、更少的、集成的、或不同的部件。一些部件可能未示出,以便不使相关细节模糊。在各种实施例中,可以以任何合适的组合来实现结合对象内容项目模块102描述的一个或更多个功能。所公开的技术可以应用于任何类型的内容。例如,内容项目(对象在其中被识别)可以包括任何类型的内容。类似地,结合包括在内容项目中的对象所提供的相关内容项目可以包括任何类型的内容。所公开的技术可以应用于任何类型的系统,包括社交网络系统。

内容项目可以包括任何类型的内容,这些内容可以包括或描绘诸如视频、图像等的对象。例如,视频内容项目可以包括在现实世界中捕获的场景,该场景可以包括一个或更多个对象。视频和图像是二维(2d)内容的一些示例。在一些实施例中,内容项目可以包括三维(3d)内容。例如,内容项目可以包括球形视频(或360视频)、增强现实内容项目、虚拟现实(vr)内容项目等。可以基于对象检测、对象定义或两者来识别内容项目内的对象。例如,可以基于机器学习技术来检测内容项目内的对象。作为另一个示例,可以基于用户输入来定义内容项目内的对象。在某些实施例中,可以创建对象并将其添加到内容项目中。在一些实施例中,对象可以包括标识和/或品牌。

对象检测模块104可以检测内容项目内的对象。对象检测模块104可以基于对象识别或检测来检测内容项目内的对象。对象检测模块104可以基于机器学习模型来检测内容项目内的对象。在一些实施例中,机器学习模型可以是分类器。可以基于包括对象和相关联的图像的训练数据来对机器学习模型进行训练。经训练的机器学习模型可以被应用于来自内容项目的对象的图像或视频,以便确定包括在内容项目内的对象。在一些实施例中,可以在创建内容项目时检测对象。例如,录制的视频可以上传到服务器,或者实况视频可以在其正被录制时上传到服务器。对象检测模块104可以对内容项目的可用数据执行对象检测。例如,对象检测模块104可以对直到该时刻获得的实况视频的帧执行对象检测。在其他实施例中,可以在回放内容项目时检测对象。例如,对象检测模块104可以在内容项目的初始回放期间执行对象检测,并存储与检测到的对象相关的信息。作为另一个示例,对象检测模块104可以针对内容项目的每次回放执行对象检测。对于一些内容项目(例如视频),对象可以从一帧移动到另一帧,并且可以在帧之间跟踪对象,以便检测对象。在一些实施例中,对象检测模块104可以实时地或接近实时地检测内容项目内的对象。本文提供的所有示例都是为了说明的目的,并且可以有许多变形和其他可能性。

对象定义模块106可以定义内容项目内的对象。在某些情况下,用户可能想要指定内容项目内的某些对象来为其提供相关内容项目。对象定义模块106可以允许用户或系统(例如社交网络系统)的管理者定义内容项目内的对象。例如,如果视频内容项目描绘了标识,则用户可以将该标识指定为相关内容项目可以被提供给的对象。如上面解释的,基于用户输入来定义对象可以单独地被使用,或者结合如上面解释的对象检测来被使用。本文提供的所有示例都是为了说明的目的,并且可以有许多变形和其他可能性。

内容项目模块108可以提供与在内容项目内识别的对象相关联的相关内容项目。例如,内容项目模块108可以为所识别的对象确定一个或更多个相关内容项目。在一些实施例中,内容项目模块108可以确定是否为所识别的对象提供相关内容项目。例如,内容项目模块108可以基于各种准则来确定是否为所识别的对象提供相关内容项目。在一些实施例中,内容项目模块108可以实时地或接近实时地提供相关内容项目。例如,当内容项目正被记录(例如,在记录内容项目的设备上)时,可以提供与在内容项目内识别的对象相关联的相关内容项目。本文更详细地描述了内容项目模块108的功能。

在一些实施例中,对象内容项目模块102可以部分地或全部被实现为软件、硬件或其任何组合。通常,如本文讨论的模块可以与软件、硬件或其任何组合相关联。在一些实现中,模块的一个或更多个功能、任务和/或操作可以由软件例程、软件过程、硬件和/或其任何组合来实施或执行。在一些情况下,对象内容项目模块102可以部分地或全部被实现为在一个或更多个计算设备或系统上(例如在服务器系统或客户端计算设备上)运行的软件。在一些实例中,对象内容项目模块102可以部分地或全部在社交网络系统(或服务)(例如图6的社交网络系统630)内实现,或被配置为与社交网络系统(或服务)结合来操作或集成在一起。同样,在一些实例中,对象内容项目模块102可以部分地或全部在客户端计算设备(例如图6的用户设备610)内实现,或者被配置为与客户端计算设备结合来操作或集成在一起。例如,对象内容项目模块102可以被实现为在用户计算设备或客户端计算系统上运行的专用应用程序(例如,app)、程序或小应用程序(applet),或者在专用应用程序(例如,app)、程序或小应用程序内实现。应当理解,许多变形是可能的。

数据储存器120可以被配置为存储并维护各种类型的数据,例如与对象内容项目模块102的支持和操作相关的数据。由数据储存器120维护的数据可以包括例如与内容项目、包括在内容项目中的对象(例如,检测到的对象、定义的对象等)、对象检测、对象定义、相关内容项目(例如,广告、购物菜单或链接、增强现实内容项目等)等相关的信息。数据储存器120还可以维护与社交网络系统相关联的其他信息。与社交网络系统相关联的信息可以包括关于用户、社交关连、社交交互、位置、地理围栏区域、地图、地点、事件、群组、帖子、通信、内容、帐户设置、隐私设置和社交图的数据。社交图可以反映社交网络系统的所有实体及其交互。如示例系统100中所示,对象内容项目模块102可以被配置成与数据储存器120通信和/或操作。在一些实施例中,数据储存器120可以是客户端计算设备内的数据储存器。在一些实施例中,数据储存器120可以是与客户端计算设备通信的服务器系统的数据储存器。

图2示出了根据本公开的实施例的被配置为提供与在内容项目内识别的对象相关联的相关内容项目的示例内容项目模块202。在一些实施例中,可以用示例内容项目模块202来实现图1的内容项目模块108。如图2的示例中所示,示例内容项目模块202可以包括广告模块204、购物菜单模块206和增强现实模块208。

内容项目模块202可以确定结合内容项目内所识别的对象提供的一个或更多个相关内容项目。内容项目内所识别的对象可以具有与其相关联的时间信息。例如,在视频内容项目中,视频中的帧可以具有与其相关联的时间戳。因此,从视频中的帧识别出的对象可以具有与其相关联的时间戳,该时间戳对应于该帧的时间戳。对象可能出现在视频的多个帧中。在一些实施例中,对象可以与它第一次被识别所在的帧的时间戳相关联。在其他实施例中,对象可以与它出现于的所有帧的时间戳相关联。可以基于与所识别的对象相关联的时间信息来提供相关内容项目。相关内容项目可以包括任何类型的内容。相关内容项目可以提供与所识别的对象相关的任何类型的信息。相关内容项目的一些示例可以包括广告、购物菜单或链接等。在一些实施例中,相关内容项目可以包括三维内容。例如,相关内容项目可以包括球形视频、360照片、增强现实内容项目、虚拟现实内容项目等。可以基于各种准则来确定相关内容项目。在一些实施例中,可以基于内容项目的长度来确定为内容项目提供的相关内容项目的总的数量。

广告模块204可以提供广告内容项目作为与对象相关联的相关内容项目。如果在例如视频内容项目中识别出对象,则可以基于所识别的对象来选择要与该对象一起显示的广告。在一些实施例中,广告也可以是视频内容项目。可以基于所识别的对象的类型、与所识别的对象相关联的实体等来选择广告。作为示例,如果所识别的对象是公司的标识,则广告可以是公司的广告或公司的产品的广告。可以在内容项目的回放期间动态地确定要提供的广告。可以为所识别的对象提供一个或更多个候选广告。可以基于各种准则从候选广告中选择广告。例如,广告可以具有与其相关联的定向准则(targetingcriteria),并且如果用户满足该定向准则,则可以为用户选择广告。定向准则可以包括与用户相关联的人口统计特性。定向准则的示例可以包括年龄、年龄范围、性别、地理区域(例如,国家、州、城市等)、兴趣等。

广告模块204可以提供关于所识别的对象的选定的广告。可以在内容项目内提供广告可用于访问的指示符。作为示例,指示符可以是在视频内容项目的帧中(例如,顶部、底部、左侧、右侧等)显示的条或框。如果用户选择指示符或与指示符进行交互,则可以向用户提供广告。在一些情况下,当用户正在观看广告时,内容项目的回放可以暂停。广告可以被提供在内容项目的顶部或上方,并呈现为叠加层(overlay)。例如,广告可以出现在内容项目的顶部,使得当播放广告时内容项目对用户不可见。当用户指示用户看完广告时,内容项目的回放可以继续。例如,用户可以停止或结束观看广告。可以根据与所识别的对象相关联的时间戳来提供预定时间段的指示符。例如,与所识别的对象相关联的时间戳可以是所识别的对象首次被识别所在的帧的时间戳。预定时间段可以被适当地定义,例如被定义为设置值或变量。例如,可以根据与所识别的对象相关联的时间戳提供5秒钟的指示符。如果在预定时间段内提供先前识别的对象的指示符的同时识别了另一对象,则可以不提供该另一对象的相关内容项目,或者可以延迟提供。例如,可以不提供与另一对象相关联的指示符。作为另一个示例,与另一对象相关联的指示符可以在延迟之后被提供,例如,在用于先前识别的对象的指示符的预定时间段过去之后。在一些实施例中,在内容项目的回放完成之后,可以访问在内容项目的回放期间提供的一个或更多个广告。例如,可以显示到一个或更多个广告的链接。

诸如视频内容项目的内容项目可以包括与公共时间戳或不同的时间戳相关联的对象。例如,如上所述,视频内容项目的帧可以与相应的时间戳相关联。视频的一帧或更多帧可以包括对象。因此,所识别的对象可以与不同的时间戳相关联。可以针对与所识别的对象相关联的每个时间戳提供广告。例如,可以连续地提供针对不同时间戳的广告。视频的帧可以包括一个或更多个对象。因此,多个对象可以与同一时间戳相关联。在一些实施例中,广告模块204可以选择广告被提供给的多个对象中的一个。在其他实施例中,广告模块204可以顺序地或并行地为多个对象提供广告。例如,可以顺序地或并行地显示广告的指示符。本文提供的所有示例都是为了说明的目的,并且可以有许多变形和其他可能性。

购物菜单模块206可以提供购物菜单或链接作为与对象相关联的相关内容项目。如果在诸如视频内容项目的内容项目中识别出对象,则可以基于所识别的对象来生成要与该对象一起显示的购物菜单。可以在内容项目的回放期间动态地生成要提供的购物菜单。可以基于所识别的对象的类型、与所识别的对象相关联的品牌、与所识别的对象相关联的实体等来生成购物菜单。例如,所识别的对象可以是品牌的标识,并且购物菜单可以是品牌的产品的购物菜单。在一些实施例中,购物菜单可以提供到品牌页面(例如网站)的链接。用户可以访问购物菜单并浏览品牌的产品。在其他实施例中,购物菜单可以提供到品牌的特定产品的链接。用户可以访问购物菜单并直接查看特定产品的页面。购物菜单可以包括一个或更多个菜单项目。例如,到品牌页面的链接或到品牌的产品页面的链接可以是菜单项目。在一些实施例中,所识别的对象可以是产品,并且购物菜单可以是用于购买产品的购物菜单。

购物菜单模块206可以基于各种准则来确定购物菜单要被提供给的对象,例如品牌和/或品牌的产品。例如,购物菜单模块206可以基于各种准则来确定是否向某些用户提供某些对象的购物菜单。提供购物菜单的准则可以包括与用户相关联的人口统计特性。准则的示例可以包括年龄、年龄范围、性别、地理区域(例如,国家、州、城市等)、兴趣等。如果用户满足准则,则可以向用户提供购物菜单。购物菜单可以与内容项目一起显示。作为示例,购物菜单可以显示在用户界面内的内容项目下方。在某些实施例中,可以伴随着效果显示购物菜单。作为示例,当识别内容项目中的品牌并创建购物菜单时,可以以从内容项目中的品牌飞出的效果来显示购物菜单。购物菜单可以充当自身的指示符。然而,在一些实施例中,可以为购物菜单提供单独的指示符,并且可以响应于用户选择指示符或用户与指示符的交互来提供购物菜单。可以根据与所识别的对象相关联的时间戳提供预定时间段的购物菜单。预定时间段可以被适当地定义,例如被定义为设置值或变量。例如,可以根据与所识别的对象相关联的时间戳提供5秒钟的购物菜单。在一些实施例中,在内容项目的回放完成后,可以访问在内容项目的回放期间提供的一个或更多个购物菜单和/或菜单项目。

如上面解释的,诸如视频内容项目的内容项目可以包括与特定时间戳相关联的一个以上对象和/或包括与不同的时间戳相关联的对象。如果一个以上对象与特定时间戳相关联,则购物菜单可以包括多个对象的菜单项目。如果对象与不同的时间戳相关联,则可以针对对象被识别的每个时间戳来提供购物菜单。例如,可以针对每个时间戳创建单独的购物菜单,并按顺序提供。在一些情况下,不同时间戳的菜单项目可以被添加到现有的购物菜单中。本文提供的所有示例都是为了说明的目的,并且可以有许多变形和其他可能性。

增强现实模块208可以提供ar内容项目作为与对象相关联的相关内容项目。在一些实施例中,ar内容项目可以结合如同视频的二维(2d)内容项目来提供类似于ar的体验。例如,ar内容项目可以提供与对象相关联的交互式的3d模型。在某些实施例中,增强现实模块208可以提供其他类型的3d内容,例如球形视频、360照片或vr内容项目。可以基于所识别的对象的类型、与所识别的对象相关联的实体等来选择ar内容项目。作为示例,如果所识别的对象是公司的标识,则ar内容项目可以是公司产品的ar内容项目。可以在内容项目的回放期间动态地确定要提供的ar内容项目。可以为所识别的对象提供一个或更多个候选ar内容项目。可以基于各种准则从候选ar内容项目中选择ar内容项目。提供ar内容项目的准则可以包括与用户相关联的人口统计特性。准则的示例可以包括年龄、年龄范围、性别、地理区域(例如,国家、州、城市等)、兴趣等。如果用户满足准则,则可以向用户提供ar内容项目。

增强现实模块208可以提供关于所识别的对象的选定的ar内容项目。可以在内容项目内提供ar内容项目可用于访问的指示符。作为示例,指示符可以是形状(例如,圆形、正方形等),或者是显示在内容项目的帧中的靠近所识别的对象或在所识别的对象上的标记。可以根据与所识别的对象相关联的时间戳提供预定时间段的指示符。预定时间段可以被适当地定义,例如被定义为设置值或变量。例如,可以根据与所识别的对象相关联的时间戳提供5秒钟的指示符。如果用户选择指示符或与指示符进行交互,则可以向用户提供ar内容项目。增强现实模块208可以创建用于呈现ar内容项目的表面或层。用于呈现ar内容项目的表面或层可以被称为“ar表面”。ar表面可以被创建在内容项目的顶部或上方。例如,ar表面可以显示为在内容项目的顶部的叠加层。在一些实施例中,内容项目可以在ar表面下可见。在其他实施例中,内容项目可以在ar表面下不可见。当用户正在与ar内容项目进行交互时,内容项目的回放可以暂停。当用户指示用户看完ar内容项目时,内容项目的回放可以继续。例如,用户可以关闭或退出ar表面。在一些实施例中,在内容项目的回放完成之后,可以访问在内容项目的回放期间提供的一个或更多个ar内容项目。例如,可以显示到一个或更多个ar内容项目的链接。

如上所述,诸如视频内容项目的内容项目可以包括与特定时间戳相关联的一个以上对象和/或包括与不同的时间戳相关联的对象。如果一个以上对象与特定时间戳相关联,则可以针对该特定时间戳提供多个对象的指示符。如果对象与不同的时间戳相关联,则可以针对对象被识别的每个时间戳提供ar内容项目。例如,可以连续地提供不同时间戳的ar内容项目。本文提供的所有示例都是为了说明的目的,并且可以有许多变形和其他可能性。

图3a示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关的广告内容项目的示例场景300。在示例场景300中,为包括在内容项目中的所识别的对象提供广告。示例场景300示出了在三个不同时间点t0、t1、t2的用户界面301。在t0,用户界面301正在回放内容项目302。内容项目302在t0包括对象304。可以基于如上所述的各种技术来识别对象304。可以为对象304选择广告。在t1,用户界面301仍在回放内容项目302。通过用户界面301提供指示符305作为内容项目302上的叠加层,以指示关于对象304的广告可用。在示例场景300中,指示符305被提供为在内容项目302顶部的条。用户可以选择指示符305中的图标306(例如,v形符号)来访问广告。或者,用户可以选择指示符305中的图标307(例如,关闭图标)来消除指示符305。在t2,响应于用户在t1选择图标306,用户界面301提供广告303。当回放广告303时,内容项目302的回放可以暂停。用户可以通过选择图标307或图标309(例如,v形符号)来停止播放广告303。

图3b示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关的购物菜单内容项目的示例场景320。在示例场景320中,为包括在内容项目中的所识别的对象提供购物菜单。示例场景320示出了在三个不同时间点t0、t1、t2的用户界面321。在t0,用户界面321正在回放内容项目322。内容项目322在t0包括对象323。可以基于如上所述的各种技术来识别对象323。在t1,可以为对象323创建购物菜单325。购物菜单325可以包括对象323的菜单项目326。可以伴随着效果显示购物菜单325和/或菜单项目326。例如,可以以从对象323飞出的效果来显示菜单项目326。在t2,用户界面321仍在回放内容项目322。内容项目322在t2包括对象324。可以为对象324创建菜单项目327。也可以伴随着效果显示菜单项目327,例如以飞出效果显示。在一些实施例中,对象323、对象324可以是不同的标识或品牌,并且菜单项目326、菜单项目327可以是到标识或品牌的相应页面的链接。在某些实施例中,对象323、对象324可以是与同一标识或品牌相关联的不同产品,并且菜单项目326、菜单项目327可以是到相应产品的链接。许多变形是可能的。

图3c示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关的增强现实内容项目的示例场景340。在示例场景340中,为包括在内容项目中的所识别的对象提供ar内容项目。示例场景340示出了在三个不同时间点t0、t1、t2的用户界面341。在t0,用户界面341正在回放内容项目342。内容项目342在t0包括对象344。可以基于如上所述的各种技术来识别对象344。可以为对象344选择ar内容项目。在内容项目342内提供指示符345,以指示关于对象344的ar内容项目可用。用户可以选择指示符345来访问广告。响应于用户选择指示符345,用户界面341创建ar表面,以便提供ar内容项目。在t1,用户界面341回放ar内容项目343。在一些实施例中,ar内容项目可以结合如同视频的二维(2d)内容项目来提供类似于ar的体验。在示例场景340中,ar内容项目可以提供品牌产品的3d模型。3d模型可以是交互式的。例如,用户可以使用手势、选择等与3d模型进行交互。示例场景340示出了可以旋转的鞋的3d模型。在t2,用户界面341仍在回放ar内容项目343。当回放ar内容项目343时,内容项目342的回放可以暂停。内容项目342可以在ar表面之下部分地可见。用户可以通过选择图标346并关闭ar表面来停止播放ar内容项目343。

图4示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关联的相关内容项目的示例第一方法400。应当理解,基于本文讨论的各种特征和实施例,除非另有说明,否则可以以类似的或替代的顺序或者并行地执行附加的、更少的或替代的步骤。

在块402,示例方法400可以识别包括在视频内容项目中的对象。在块404,示例方法400可以在视频内容项目的回放期间确定与对象相关联的内容项目,其中,内容项目是二维内容项目或三维内容项目中的一种或更多种。在块406,示例方法400可以在视频内容项目中提供与内容项目相关联的指示符。在块408,示例方法400可以响应于对指示符的选择来提供内容项目。合并本公开的各种特征和实施例的其他合适的技术是可能的。

图5示出了根据本公开的实施例的用于提供与包括在内容项目中的对象相关联的相关内容项目的示例第二方法500。应当理解,基于本文讨论的各种特征和实施例,除非另有说明,否则可以以类似的或替代的顺序或者并行地执行附加的、更少的或替代的步骤。可以结合上面解释的示例方法400来执行方法500的某些步骤。

在块502,示例方法500可以获得对与内容项目相关联的指示符的选择。指示符可以类似于结合图4解释的指示符。内容项目可以类似于结合图4解释的内容项目。在块504,示例方法500可以创建用于呈现三维内容的层。在块506,示例方法500可以在视频内容项目的顶部呈现层。视频内容项目可以类似于结合图4解释的视频内容项目。在块508,示例方法500可以在层中提供内容项目。合并本公开的各种特征和实施例的其他合适的技术是可能的。

设想可以有与本公开的各种实施例相关联的许多其他用途、应用、特征、可能性和变形。例如,在一些情况下,用户可以选择是否选择加入(opt-in)以利用所公开的技术。所公开的技术还可以例如,确保各种隐私设置、偏好和配置被维护,并且可以防止隐私信息被泄露。在另一示例中,本公开的各种实施例可以随着时间的推移而学习、改进和/或被完善。

社交网络系统-示例实现

图6示出了根据本公开的实施例的可以在各种场景中被利用的示例系统600的网络图。系统600包括一个或更多个用户设备610、一个或更多个外部系统620、社交网络系统(或服务)630和网络650。在实施例中,关于上述实施例讨论的社交网络服务、提供者和/或系统可以被实现为社交网络系统630。为了说明的目的,图6所示的系统600的实施例包括单个外部系统620和单个用户设备610。然而在其他实施例中,系统600可以包括更多个用户设备610和/或更多个外部系统620。在某些实施例中,社交网络系统630由社交网络提供者进行操作,而外部系统620与社交网络系统630分离,因为它们可以由不同的实体进行操作。然而在各种实施例中,社交网络系统630和外部系统620协同操作以向社交网络系统630的用户(或成员)提供社交网络服务。在这个意义上,社交网络系统660提供了平台或骨干网,其他系统(例如外部系统620)可以使用该平台或骨干网来通过互联网向用户提供社交网络服务和功能。

用户设备610包括可以接收来自用户的输入并经由网络650来传输并接收数据的一个或更多个计算设备。在一个实施例中,用户设备610是执行例如microsoftwindows兼容操作系统(os)、appleosx和/或linux发行版的传统计算机系统。在另一实施例中,用户设备610可以是具有计算机功能的设备,例如智能电话、平板电脑、个人数字助理(pda)、移动电话等。用户设备610被配置成经由网络650进行通信。用户设备610可以执行允许用户设备610的用户与社交网络系统630交互的应用(例如浏览器应用)。在另一实施例中,用户设备610通过由用户设备610的本机(native)操作系统(例如ios和android)提供的应用编程接口(api)来与社交网络系统630交互。用户设备610被配置成使用有线和/或无线通信系统经由网络650来与外部系统620和社交网络系统630进行通信,网络650可以包括局域网和/或广域网的任何组合。

在一个实施例中,网络650使用标准通信技术和协议。因此,网络650可以包括使用诸如以太网、802.11、全球互通微波接入(wimax)、3g、4g、cdma、gsm、lte、数字用户线路(dsl)等的技术的链路。类似地,在网络650上使用的网络协议可以包括多协议标签交换(mpls)、传输控制协议/互联网协议(tcp/ip)、用户数据报协议(udp)、超文本传输协议(http)、简单邮件传输协议(smtp)、文件传输协议(ftp)等。可以使用包括超文本标记语言(html)和可扩展标记语言(xml)的技术和/或格式来表示通过网络650交换的数据。此外,可以使用诸如安全套接字层(ssl)、传输层安全(tls)和互联网协议安全(ipsec)的常规加密技术来对所有或一些链路进行加密。

在一个实施例中,用户设备610可以通过使用浏览器应用612处理从外部系统620和从社交网络系统630接收的标记语言文档614来显示来自外部系统620和/或来自社交网络系统630的内容。标记语言文档614识别内容以及描述内容的格式或表现形式的一个或更多个指令。通过执行在标记语言文档614中包括的指令,浏览器应用612使用由标记语言文档614所描述的格式或表现形式来显示所识别的内容。例如,标记语言文档614包括用于生成并显示具有多个帧(frame)的网页的指令,这些帧包括从外部系统620和社交网络系统630检索的文本和/或图像数据。在各种实施例中,标记语言文档614包括数据文件,该数据文件包括可扩展标记语言(xml)数据、可扩展超文本标记语言(xhtml)数据或其他标记语言数据。此外,标记语言文档614可以包括javascript对象简谱(json)数据、带填充的json(jsonp)和javascript数据,以便于在外部系统620和用户设备610之间的数据交换。用户设备610上的浏览器应用612可以使用javascript编译器来对标记语言文档614进行解码。

标记语言文档614还可以包括或链接到应用或应用框架,例如flashtm或unitytm应用、silverlighttm应用框架等。

在一个实施例中,用户设备610还包括一个或更多个cookie616,cookie616包括指示用户设备610的用户是否登录到社交网络系统630内的数据,这可以实现从社交网络系统630传递到用户设备610的数据的修改。

外部系统620包括一个或更多个web服务器,其包括一个或更多个网页622a、622b,这些网页使用网络650被传递到用户设备610。外部系统620与社交网络系统630分离。例如,外部系统620与第一域相关联,而社交网络系统630与单独的社交网络域相关联。被包括在外部系统620中的网页622a、622b包括标记语言文档614,其识别内容并且包括指定所识别的内容的格式或表现形式的指令。

社交网络系统630包括用于社交网络(包括多个用户)并且向社交网络的用户提供与社交网络的其他用户通信并交互的能力的一个或更多个计算设备。在一些实例中,社交网络可以由图形(即,包括边和节点的数据结构)表示。其他数据结构也可以用来表示社交网络,包括但不限于数据库、对象、类、元元素(metaelement)、文件或任何其他数据结构。社交网络系统630可以由操作者掌管、管理或控制。社交网络系统630的操作者可以是人、自动化应用或用于管理内容、调节策略和收集在社交网络系统630内的使用度量的一系列应用。可以使用任何类型的操作者。

用户可以加入社交网络系统630,且然后添加对他们希望关连到的社交网络系统630的任何数量的其他用户的关连。如在本文所使用的,术语“朋友”指社交网络系统630的任何其他用户,用户经由社交网络系统630与任何其他用户形成关连、关联(association)或关系。例如在实施例中,如果在社交网络系统630中的用户被表示为在社交图中的节点,则术语“朋友”可以指在两个用户节点之间形成的并直接连接两个用户节点的边。

关连可以由用户明确地添加,或者可以由社交网络系统630基于用户(例如,作为同一教育机构的校友的用户)的共同特性来自动创建。例如,第一用户特别地将特定的其他用户选择为朋友。在社交网络系统630中的关连通常在两个方向上,但不需要是这样,因此术语“用户”和“朋友”取决于参考系。在社交网络系统630的用户之间的关连通常是双边的(“双向的”)或“相互的”,但是关连也可以是单边的或“单向的”。例如,如果鲍勃和乔都是社交网络系统630的用户并且关连到彼此,则鲍勃和乔是彼此的关连。另一方面,如果鲍勃希望关连到乔以查看由乔传递到社交网络系统630的数据,但是乔不希望形成相互关连,则单边连接可以被建立。在用户之间的关连可以是直接关连;然而,社交网络系统630的一些实施例允许经由一个或更多个级别的关连或分离的程度的关连是间接的。

除了建立并维护在用户之间的关连并允许在用户之间的交互之外,社交网络系统630还向用户提供对由社交网络系统630支持的各种类型的项目采取动作的能力。这些项目可以包括社交网络系统630的用户可能属于的群组或网络(即,人、实体和概念的社交网络)、用户可能感兴趣的事件或日历条目、用户可以经由社交网络系统630使用的基于计算机的应用、允许用户经由由社交网络系统630提供或通过社交网络系统630提供的服务来购买或销售项目的交易、以及用户可以在社交网络系统630上或外执行的与广告的交互。这些仅仅是用户可以在社交网络系统630上作用于的项目的几个示例,并且许多其他项目是可能的。用户可以与能够在社交网络系统630中或在外部系统620中被表示的、与社交网络系统630分离的、或者经由网络650耦合到社交网络系统630的任何事物进行交互。

社交网络系统630也能够链接各种实体。例如,社交网络系统630使用户能够通过api、web服务或其他通信渠道来与彼此以及外部系统620或其他实体进行交互。社交网络系统630生成并维护包括由多个边互连的多个节点的“社交图”。社交图中的每个节点可以表示可以作用于另一个节点和/或可以由另一个节点作用于的实体。社交图可以包括各种类型的节点。节点的类型的示例包括用户、非个人实体、内容项目、网页、群组、活动、消息、概念以及可以由社交网络系统630中的对象表示的任何其他事物。在社交图中的两个节点之间的边可以表示在两个节点之间的特定类型的关连或关联,这可以由节点关系或由节点中的一个节点在另一个节点上所执行的动作产生。在一些情况下,在节点之间的边可以被加权。边的权重可以表示与该边相关联的属性,例如在节点之间的关连或关联的强度。不同类型的边可以具有不同的权重。例如,当一个用户“赞”另一个用户时创建的边可以被赋予一个权重,而当一个用户加另一个用户为好友(befriend)时创建的边可以被赋予不同的权重。

作为示例,当第一用户将第二用户识别为朋友时,生成将表示第一用户的节点和表示第二用户的第二节点连接的在社交图中的边。当各种节点与彼此关联(relate)或交互时,社交网络系统630修改连接各种节点的边以反映关系和交互。

社交网络系统630还包括用户生成的内容,这增强了用户与社交网络系统630的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统630的任何内容。例如,用户将帖子从用户设备610传递到社交网络系统630。帖子可以包括数据(例如状态更新或其他文本数据)、位置信息、图像(例如照片)、视频、链接、音乐或其他类似数据或媒体。内容也可以由第三方添加到社交网络系统630。内容“项目”被表示为在社交网络系统630中的对象。以这种方式,通过经由各种通信渠道发布各种类型的媒体的文本和内容项目来鼓励社交网络系统630的用户与彼此进行通信。这种通信增加了用户与彼此之间的交互,并增加了用户与社交网络系统630交互的频率。

社交网络系统630包括web服务器632、api请求服务器634、用户简档储存器636、关连储存器638、动作记录器640、活动日志642和授权服务器644。在本发明的实施例中,社交网络系统630可以包括用于各种应用的附加的、更少的或不同的部件。没有示出其他部件(例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台等),以便不使系统的细节模糊。

用户简档储存器636维护关于用户账户的信息,包括传记、人口统计和其他类型的描述性信息,例如由用户声明或由社交网络系统630推断的工作经历、教育历史、爱好或偏好、位置等。该信息存储在用户简档储存器636中,使得每个用户被唯一地识别。社交网络系统630还在关连储存器638中存储描述在不同用户之间的一个或更多个关连的数据。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好或教育历史的用户。另外,社交网络系统630包括在不同用户之间的用户定义的关连,允许用户指定他们与其他用户的关系。例如,用户定义的关连允许用户生成与其他用户的关系,这些关系并行于用户的真实生活关系,例如朋友、同事、伙伴等。用户可以从预定义的类型的关连中进行选择,或者根据需要定义他们自己的关连类型。与社交网络系统630中的其他节点(例如非个人实体、存储桶(bucket)、集群中心、图像、兴趣、页面、外部系统、概念等)的关连也存储在关连储存器638中。

社交网络系统630维护关于对象的数据,用户可以与该对象交互。为了维护该数据,用户简档储存器636和关连储存器638存储由社交网络系统630维护的相应类型的对象的实例。每种对象类型都有适于存储适合于对象的类型的信息的信息字段。例如,用户简档储存器636包含具有适于描述用户的账户的字段和与用户的账户相关的信息的数据结构。当特定类型的新对象被创建时,社交网络系统630初始化相应类型的新数据结构,给它分配唯一的对象标识符,并开始根据需要来向对象添加数据。例如,这可能在用户成为社交网络系统630的用户时出现,社交网络系统630在用户简档储存器636中生成用户简档的新实例,给用户账户分配唯一标识符,并开始用由用户提供的信息来填充用户账户的字段。

关连储存器638包括适于描述用户到其他用户的关连、与外部系统620的关连或与其他实体的关连的数据结构。关连储存器638还可以使关连类型与用户的关连相关联,用户的关连可以结合用户的隐私设置来被使用以调节对关于用户的信息的访问。在本发明的实施例中,用户简档储存器636和关连储存器638可以被实现为联合数据库(federateddatabase)。

存储在关连储存器638、用户简档储存器636和活动日志642中的数据使社交网络系统630能够生成社交图,该社交图使用节点来识别各种对象并且使用连接节点的边来识别在不同对象之间的关系。例如,如果第一用户与社交网络系统630中的第二用户建立关连,则来自用户简档储存器636的第一用户和第二用户的用户账户可以充当社交图中的节点。由关连储存器638存储的在第一用户和第二用户之间的关连是在与第一用户和第二用户相关联的节点之间的边。继续该示例,第二用户然后可以在社交网络系统630内向第一用户发送消息。可以被存储的发送消息的动作是在社交图中的表示第一用户和第二用户的两个节点之间的另一条边。另外,消息本身可以被识别并被包括在社交图中,作为关连到表示第一用户和第二用户的节点的另一个节点。

在另一示例中,第一用户可以在由社交网络系统630维护的图像中(或者可选地,在由在社交网络系统630外部的另一系统维护的图像中)标记第二用户。图像本身可以被表示为社交网络系统630中的节点。该标记动作可以在第一用户和第二用户之间创建边,以及在每个用户和图像之间创建边,图像也是社交图中的节点。在又一示例中,如果用户确认参加事件,则用户和事件是从用户简档储存器636获得的节点,其中事件的参加是在可以从活动日志642检索的节点之间的边。通过生成并维护社交图,社交网络系统630包括描述许多不同类型的对象以及在这些对象当中的交互和关连的数据,提供了社交相关信息的丰富源。

web服务器632经由网络650来将社交网络系统630链接到一个或更多个用户设备610和/或一个或更多个外部系统620。web服务器632提供网页以及其他网络相关内容,例如java、javascript、flash、xml等。web服务器632可以包括邮件服务器或用于在社交网络系统630和一个或更多个用户设备610之间接收并按规定路线发送消息的其他消息传送功能。消息可以是即时消息、排队消息(例如,电子邮件)、文本和sms消息或者任何其他合适的消息格式。

api请求服务器634允许一个或更多个外部系统620和用户设备610通过调用一个或更多个api函数来调用来自社交网络系统630的访问信息。api请求服务器634还可以允许外部系统620通过调用api来向社交网络系统630发送信息。在一个实施例中,外部系统620经由网络650向社交网络系统630发送api请求,并且api请求服务器634接收该api请求。api请求服务器634通过调用与api请求相关联的api来处理该请求以生成适当的响应,api请求服务器634经由网络650来将该响应传递到外部系统620。例如,响应于api请求,api请求服务器634收集与用户相关联的数据(例如已经登录到外部系统620内的用户的关连),并将所收集的数据传递到外部系统620。在另一实施例中,用户设备610以与外部系统620相同的方式经由api来与社交网络系统630进行通信。

动作记录器640能够从web服务器632接收关于在社交网络系统630上和/或外的用户动作的通信。动作记录器640用关于用户动作的信息来填充活动日志642,使社交网络系统630能够发现由它的用户在社交网络系统630内和在社交网络系统630外采取的各种动作。特定用户相对于在社交网络系统630上的另一个节点采取的任何动作可以通过在活动日志642中或在类似数据库或其他数据仓库中维护的信息来与每个用户的账户相关联。被识别并存储的由用户在社交网络系统630内采取的动作的示例可以包括例如,添加到另一个用户的关连、向另一个用户发送消息、从另一个用户读取消息、查看与另一个用户相关联的内容、参加由另一个用户发布的事件、发布图像、尝试发布图像、或与另一个用户或另一个对象交互的其他动作。当用户在社交网络系统630内采取动作时,该动作被记录在活动日志642中。在一个实施例中,社交网络系统630将活动日志642维护为条目的数据库。当在社交网络系统630内采取动作时,该动作的条目被添加到活动日志642。活动日志642可以被称为动作日志。

此外,用户动作可以与在社交网络系统630外部的实体(例如与社交网络系统630分离的外部系统620)内出现的概念和动作相关联。例如,动作记录器640可以从web服务器632接收描述用户与外部系统620的交互的数据。在该示例中,外部系统620根据在社交图中的结构化动作和对象来报告用户的交互。

用户与外部系统620交互的动作的其他示例包括用户表达对外部系统620或另一实体的兴趣、用户将讨论外部系统620或在外部系统620内的网页622a的评论发布到社交网络系统630、用户将统一资源定位符(url)或与外部系统620相关联的其他标识符发布到社交网络系统630、用户参加与外部系统620相关联的事件、或者由用户进行的与外部系统620相关的任何其他动作。因此,活动日志642可以包括描述在社交网络系统630的用户和与社交网络系统630分离的外部系统620之间的交互的动作。

授权服务器644实施社交网络系统630的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被共享。隐私设置包括与用户相关联的特定信息的规范以及信息可以被共享于的一个或更多个实体的规范。信息可以被共享于的实体的示例可以包括其他用户、应用、外部系统620、或可能潜在地访问信息的任何实体。可以由用户共享的信息包括用户账户信息(例如简档照片)、与用户相关联的电话号码、用户的关连、由用户采取的动作(例如添加关连)、改变用户简档信息等。

可以以不同的粒度级别提供隐私设置规范。例如,隐私设置可以识别要与其他用户共享的特定信息;隐私设置识别工作电话号码或一组特定的相关信息(例如,包括简档照片、家庭电话号码和状态的个人信息)。可选地,隐私设置可以应用于与用户相关联的所有信息。也可以以不同的粒度级别指定可以访问特定信息的该组实体的规范。信息可以被共享于的不同组的实体可以包括例如,用户的所有朋友、朋友的所有朋友、所有应用、或所有外部系统620。一个实施例允许该组实体的规范包括实体的枚举。例如,用户可以提供被允许访问某些信息的外部系统620的列表。另一实施例允许规范包括一组实体以及不被允许访问信息的例外。例如,用户可以允许所有外部系统620访问用户的工作信息,但是指定不被允许访问工作信息的外部系统620的列表。某些实施例将不被允许访问某些信息的例外的列表称为“黑名单”。属于由用户指定的黑名单的外部系统620被阻止访问在隐私设置中指定的信息。信息的规范的粒度和信息被共享于的实体的规范的粒度的各种组合是可能的。例如,所有个人信息可以与朋友共享,而所有工作信息可以与朋友的朋友共享。

授权服务器644包含确定与用户相关联的某些信息是否可以由用户的朋友、外部系统620和/或其他应用和实体访问的逻辑。外部系统620可能需要来自授权服务器644的授权来访问用户的更私密且敏感的信息,例如用户的工作电话号码。基于用户的隐私设置,授权服务器644确定另一用户、外部系统620、应用、或另一实体是否被允许访问与用户相关联的信息,包括关于由用户采取的动作的信息。

在一些实施例中,社交网络系统630可以包括对象内容项目模块646。如本文更详细讨论的,可以用对象内容项目模块102来实现对象内容项目模块646。在一些实施例中,可以在用户设备610中实现对象内容项目模块646的一个或更多个功能。

硬件实现

前述过程和特征可以由各种机器和计算机系统架构以及在各种网络和计算环境中实现。图7示出了根据本发明的实施例的可以用于实现本文描述的一个或更多个实施例的计算机系统700的示例。计算机系统700包括用于使计算机系统700执行本文讨论的过程和特征的指令集。计算机系统700可以连接(例如,联网)到其他机器。在联网部署中,计算机系统700可以在客户端-服务器网络环境中的服务器机器或客户端机器的能力下进行操作,或者作为在对等(或分布式)网络环境中的对等机器来进行操作。在本发明的实施例中,计算机系统700可以是社交网络系统630、用户设备610和外部系统720、或者其部件。在本发明的实施例中,计算机系统700可以是在构成社交网络系统630的全部或部分的许多服务器当中的一个服务器。

计算机系统700包括处理器702、高速缓存704以及存储在计算机可读介质上的指向本文描述的过程和特征的一个或更多个可执行模块和驱动程序。另外,计算机系统700包括高性能输入/输出(i/o)总线706和标准i/o总线708。主桥(hostbridge)710将处理器702耦合到高性能i/o总线706,而i/o总线桥712将两个总线706和708耦合到彼此。系统存储器714和一个或更多个网络接口716耦合到高性能i/o总线706。计算机系统700还可以包括视频存储器和耦合到视频存储器的显示设备(未示出)。大容量存储装置718和i/o端口720耦合到标准i/o总线708。计算机系统700可以可选地包括键盘和定点设备、显示设备、或耦合到标准i/o总线708的其他输入/输出设备(未示出)。共同地,这些元件旨在表示广泛类别的计算机硬件系统,包括但不限于基于由加利福尼亚州(california)圣克拉拉(santaclara)的英特尔公司制造的x86兼容处理器和由加利福尼亚州森尼维尔(sunnyvale)的高级微器件(amd)公司制造的x86兼容处理器以及任何其他合适的处理器的计算机系统。

操作系统管理并控制计算机系统700的操作,包括往返软件应用(未示出)的数据输入和输出。操作系统提供在系统上执行的软件应用和系统的硬件部件之间的接口。可以使用任何合适的操作系统,例如linux操作系统、可从加利福尼亚州库比蒂诺(cupertino)的苹果计算机公司获得applemacintosh操作系统、unix操作系统、操作系统、bsd操作系统等。其他实现是可能的。

将在下面更详细地描述计算机系统700的元件。特别是,网络接口716提供在计算机系统700和各种网络(诸如以太网(例如,ieee802.3)网络)中的任一种、背板等之间的通信。大容量存储装置718提供数据和编程指令的永久存储,以执行由上面识别的相应计算系统实现的上述过程和特征,而系统存储器714(例如,dram)提供当由处理器702执行时的数据和编程指令的临时存储。i/o端口720可以是提供在可以耦合到计算机系统700的附加外围设备之间的通信的一个或更多个串行和/或并行通信端口。

计算机系统700可以包括各种系统架构,并且计算机系统700的各种部件可以被重新排列。例如,高速缓存704可以与处理器702一起在芯片上。可选地,高速缓存704和处理器702可以封装在一起作为“处理器模块”,处理器702被称为“处理器核心”。此外,本发明的某些实施例可能既不需要也不包括所有上述部件。例如,耦合到标准i/o总线708的外围设备可以耦合到高性能i/o总线706。此外,在一些实施例中,只有单个总线可以存在,计算机系统700的部件耦合到该单个总线。此外,计算机系统700可以包括附加部件,例如附加处理器、存储设备或存储器。

一般来说,本文描述的过程和特征可以被实现为操作系统或特定应用、部件、程序、对象、模块、或被称为“程序”的指令系列的一部分。例如,一个或更多个程序可以用于执行本文描述的特定过程。程序通常包括在计算机系统700中的各种存储器和存储设备中的一个或更多个指令,其当由一个或更多个处理器读取并执行时使计算机系统700执行操作以执行本文描述的过程和特征。可以在软件、固件、硬件(例如,专用集成电路)、或其任何组合中实现本文描述的过程和特征。

在一个实现中,本文描述的过程和特征被实现为由计算机系统700在分布式计算环境中单独或共同地运行的一系列可执行模块。前述模块可以由硬件、存储在计算机可读介质(或机器可读介质)上的可执行模块、或者两者的组合来实现。例如,模块可以包括由在硬件系统中的处理器(例如处理器702)执行的多个指令或指令系列。最初,指令系列可以存储在存储设备(例如大容量存储装置718)上。然而,指令系列可以存储在任何合适的计算机可读存储介质上。此外,指令系列不需要存储在本地,并且可以经由网络接口716从远程存储设备(例如网络上的服务器)被接收。指令从诸如大容量存储装置718的存储设备被复制到系统存储器714中,且然后由处理器702进行访问和执行。在各种实现中,一个或更多个模块可以由在一个或多个位置上的一个或多个处理器(例如在并行处理环境中的多个服务器)执行。

计算机可读介质的示例包括但不限于可记录类型的介质(例如易失性和非易失性存储设备);固态存储器;软盘和其他可移动盘;硬盘驱动器;磁性介质;光盘(例如,光盘只读存储器(cdrom)、数字通用盘(dvd));其他类似的非暂时性(或暂时性)、有形(或非有形)存储介质;或任何类型的介质,其适于存储、编码或携带一系列指令,用于由计算机系统700执行以执行本文描述的任何一个或更多个过程和特征。

为了解释的目的,阐述了许多具体细节,以便提供描述的透彻理解。然而对于本领域中的技术人员将明显,可以在没有这些具体细节的情况下实践本公开的实施例。在一些实例中,以框图形式示出了模块、结构、过程、特征和设备,以便避免使本描述模糊。在其他实例中,功能框图和流程图被示出为表示数据和逻辑流。框图和流程图的部件(例如,模块、块、结构、设备、特征等)可以以不同于如在本文明确描述并描绘的方式来被不同地组合、分离、移除、重新排序和替换。

在本说明书中对“一个实施例”、“实施例”、“其他实施例”、“一系列实施例”、“一些实施例”、“各种实施例”等的提及意指关于实施例描述的特定特征、设计、结构或特性被包括在本公开的至少一个实施例中。例如,短语“在一个实施例中”或“在实施例中”在说明书中的不同地方中的出现并不一定都指同一实施例,也不是与其他实施例相互排斥的单独的或可选的实施例。此外,无论是否存在对“实施例”等的明确提及,都描述了各种特征,这些特征可以多方面地被组合并且包括在一些实施例中,但是在其他实施例中也可以多方面地被省略。类似地,描述了各种特征,其可以是对于一些实施例而不是其他实施例的优先选择或要求。

本文使用的语言主要为了可读性和教学目的而被选择,并且它可以不被选择为描写或限制创造性主题。因此,意图是本发明的范围不由该详细描述进行限制,而是由在基于其的申请上发布的任何权利要求进行限制。因此,本发明的实施例的公开旨在是说明性的,但不是在下面的权利要求中阐述的本发明的范围的限制。

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