选择与地理围栏相关的用户的制作方法

文档序号:19895460发布日期:2020-02-11 13:12阅读:136来源:国知局
选择与地理围栏相关的用户的制作方法

本申请是申请日为2015年4月1日、申请号为201580017648.2、发明名称为“选择与地理围栏相关的用户”的中国发明专利申请的分案申请。

本文公开的主题总体涉及数据处理。具体地,本公开涉及选择与地理围栏的属性相关的用户的系统和方法。



背景技术:

操作具有基于位置的服务的移动设备的用户可以从中央服务器接收地理围栏数据。地理围栏数据可以用于检测用户何时进入地理围栏。因此,移动设备可以接收与地理围栏有关的通知。然而,出于各种原因,用户可能丢弃接收到的通知。

附图说明

在附图中以示例而非限制的方式示出了一些实施例。

图1是示出了根据一些示例实施例的、适用于选择与地理围栏的属性相关的用户的网络环境的网络图。

图2是示出了根据一些示例实施例的地理围栏机器的组件的框图。

图3是示出了根据一些示例实施例的移动设备的框图。

图4至图5是根据一些示例实施例的在被用户操作的客户端设备上显示的通知的示例用户界面。

图6至图7是示出了根据一些示例实施例的、地理围栏机器在执行呈现与可供出售商品有关的通知的方法时的操作的流程图。

图8是示出了根据一些示例实施例的机器的组件的框图,该机器能够从机器可读介质中读取指令并且执行本文讨论的任何一个或多个方法。

具体实施方式

示例方法和系统涉及选择与地理围栏的属性相关的用户。示例仅仅代表可能的变形。除非另行明确声明,否则组件和功能是可选的,且可被合并或细分,且操作可以在顺序上变化或被组合或细分。在以下描述中,出于解释的目的,对多个具体细节进行阐述,以提供对示例实施例的透彻理解。然而,对于本领域技术人员将显而易见的是:本主题可以在没有这些具体细节的情况下实施。

系统可以用于提供被确定为与用户相关的地理围栏的地理围栏数据。通过将地理围栏的属性和用户偏好进行匹配,该系统可以确定地理围栏与用户相关。当用户被识别为与地理围栏相关时,该系统可以向属于该用户的移动设备发送地理围栏数据。移动设备可以使用地理围栏数据来检测用户越过地理围栏。然后,可以向用户的移动设备呈现通知。此外,产生的通知可以呈现与用户相关的信息。备选地,越过地理围栏可以触发将被用户的移动设备执行的选项。该操作可以包括在用户的移动设备上显示通知。通知可以包括为从系统向移动设备发送的地理围栏数据的一部分。

图1是示出了根据一些示例实施例的、适用于选择与地理围栏的属性相关的用户的网络环境100的网络图。网络环境100包括地理围栏机器110、数据库115以及设备130和150,其全部经由网络190彼此通信地耦接。

图1中还示出了用户132。用户132的可以是人类用户(例如人类)、机器用户(例如,由软件程序配置为与设备130交互的计算机)或其任意合适组合(例如,由机器辅助的人或被人监管的机器)。用户132不是网络环境100的部分,但与设备130相关联并且可以是设备130的用户。例如,设备130可以是属于用户132的台式计算机、车载计算机、平板计算机、导航设备、便携式媒体设备或智能电话。

图1中还包括了围绕零售店170的地理围栏175。地理围栏175可以包括表示零售店170的特征的属性,例如零售店170的营业时间、零售店170的位置、零售店170可供出售的商品或其任意合适组合。地理围栏机器110还从被用户132操作的设备130接收用户132的偏好。地理围栏110可以确定用户132具有与地理围栏175的属性相匹配的偏好。因此,系统可以向由用户132操作的设备130发送地理围栏数据,所述地理围栏数据表示地理围栏175,或表示包括地理围栏175的一系列地理围栏。然后,可以使用设备130上的地理围栏数据来检测用户132何时进入地理围栏175或在地理围栏175内。因此,地理围栏机器可以向被检测为在地理围栏175内的用户132的设备130呈现通知。此外,通知可以与零售店170的商品有关。在一些示例中,当用户(例如用户132)进入地理围栏(例如地理围栏175)时,设备130上运行的应用可以触发将由设备130执行的一些操作。该操作可以包括设备130显示与商品有关的通知。

图1中所示的任意机器、数据库或设备可以用通过软件修改(例如,配置或编程)为专用目的计算机以执行本文针对该机器、数据库或设备描述的一个或多个功能的通用目的计算机来实现。例如,以下参照图8论述能够实现本文描述的方法的任意一个或更多个的计算机系统。如本文所使用的,“数据库”是数据存储资源并可以存储结构化为文本文件、表格、电子表格、关系数据库(例如,对象关系数据库)、三元组存储、分层数据存储或它们的任意合适组合。此外,图1中示出的机器、数据库或设备的任意两个或更多个可以组合到单个机器中,并且本文针对任意单个机器、数据库或设备描述的功能可以再划分到多个机器、数据库或设备中。

网络190可以是实现机器、数据库和设备(例如,地理围栏机器110和设备130)之间的通信的任意网络。因此,网络190可以是有线网络、无线网络(例如,移动或蜂窝网络)、或其任意合适组合。网络190可以包括构成私有网络、公共网络(例如,互联网)或其任意合适组合的一个或多个部分。因此,网络190可以包括一个或多个部分,所述一个或多个部分包括局域网(lan)、广域网(wan)、互联网、移动电话网(例如蜂窝网)、有线电话网(例如普通老式电话系统(pots)网)、无线数据网(例如wifi网或wimax网)或其任意合适组合。网络190的任意一个或多个部分可以经由传输介质来传送信息。如本文所所使用,术语“传输介质”应当被看做包括能够存储、编码或携带用于由机器执行的指令的任意无形介质,并且包括数字或模拟通信信号或其它无形介质,以促进这样的软件的通信。

图2是示出了根据一些示例实施例的地理围栏机器110的组件的框图。地理围栏机器110被示出为包括全都被配置为彼此通信(例如,经由总线、共享存储器或交换机)的识别模块210、选择模块220、通信模块230、检测模块240和呈现模块250。本文描述的任何一个或多个模块可以使用硬件(例如机器的处理器)或硬件与软件的组合来实现。例如,本文描述的任何模块可以将处理器配置为执行本文中针对该模块描述的操作。此外,这些模块中的任何两个或更多个模块可被合并为单一模块,且本文中针对单一模块描述的功能可以再划分到多个模块中。此外,根据各种示例实施例,本文描述为在单个机器、数据库或设备中实施的模块可以分布在多个机器、数据库或设备中。

在各示例实施例中,识别模块210被配置为识别围绕位置的地理围栏的属性。地理围栏的属性可以表示位于地理围栏内或在另一实体位置的实体店(例如,可以从商家购买物品的实体零售位置)的商业特征。例如,商业特征可以包括实体店的营业时间、实体店服务的目标人群特征、实体店的位置或其任意合适组合。商业特征还可以指示实体店最为活跃的季节(例如,一年中顾客最频繁光顾该实体店的季节)。商业特征还可以指示实体店的美学特征(例如布局、文化、感觉)。在各示例实施例中,地理围栏的属性还可以表示实体店可供出售的商品的物品特征。物品特征可以指示以下至少一项:商品类别、商品的价格范围、商品的用途、商品的特点、商品的目标用户人群特征或其任意合适组合。物品特征还可以指示该物品是否是日用品、奢侈品或其任意合适组合。在各示例实施例中,地理围栏的属性可以指示地理围栏激活的时间。在一些实例中,地理围栏激活的时间可以对应于地理围栏所围绕的实体店的营业时间。在各示例实施例中,地理围栏的属性还可以指示实体店可供出售的商品的软件兼容性。例如,实体店中的商品可以是与安卓(android)设备兼容的软件应用。再例如,实体店中的商品可以是与ios设备兼容的软件应用。

在各示例实施例中,选择模块220被配置为:至少部分基于地理围栏的属性与偏好的匹配,从多个用户中选择有资格接收地理围栏的用户子集,其中所述偏好与所述用户子集中的每个用户相关联。与每个用户相关联的偏好可以指示物品偏好、位置偏好、时间偏好或其任意合适组合。例如,用户的物品偏好可以指示用户偏好的物品特征或最可能被用户购买的物品的特征。位置偏好可以指示用户频繁光顾的区域或最可能被用户光顾的位置。时间偏好可以指示用户最可能进行购物活动的时间。在各示例实施例中,选择模块220可以将多个有资格的用户确定为在其客户端设备上安装有移动应用的用户。移动应用可以能够从地理围栏机器110接收地理围栏数据。选择模块220还可以被配置为确定选定的用户子集具有与至少阈值数目的地理围栏属性相匹配的偏好。在各示例实施例中,选择模块220还被配置为:基于地理围栏的属性与多个用户的用户人群特征的匹配,选择有资格接收地理围栏的用户子集。通信模块230可以检索多个用户的用户人群特征,以下进一步说明。用户人群特征可以指示多个用户中的每个用户的性别、种族、职业、饮食偏好、年龄、婚姻状况中的至少一个或其任意合适组合。在各示例实施例中,选择模块220还被配置为至少部分基于确定用户子集位于离地理围栏的预定义距离内,来选择用户子集。通信模块230可以被配置为从被多个用户操作的客户端设备中的每个客户端设备接收位置数据。此外,位置数据可以用于指示用户的位置(例如,位置坐标、地址)。位置数据可以由每个客户端设备上安装的移动应用来收集。此外,用户子集可以授权由移动应用收集位置数据。选择模块220还可以被配置为:基于接收的位置数据,确定用户子集中包括的用户位于离地理围栏的预定义距离内。在各示例实施例中,选择模块220还被配置为:在地理围栏的属性所指示的激活时间期间,执行对用户子集的选择。例如,选择模块220可以在位于地理围栏内的实体店的营业时间期间执行用户选择。再例如,选择模块220可以在实体店最为活跃的季节期间(例如,一年中顾客最频繁光顾该实体店的季节)执行用户选择。例如,在圣诞节期间,实体店客流量可能最大,并且选择模块220可以在该季节期间执行对用户子集的选择。在各示例实施例中,选择模块220还被配置为至少部分基于可供出售的商品的软件兼容性来选择用户子集。例如,选择模块220可以选择操作与安卓软件兼容的设备的用户,因为实体店具有安卓软件应用。在各示例实施例中,选择模块220还可以确定未包括在用户子集中的用户所具有的偏好与地理围栏的属性的匹配少于预定义阈值量。例如,可以从围绕卖化妆品的实体店的地理围栏中排除偏爱鞋店的用户。再例如,可以从围绕仅在上午营业的实体店的地理围栏中排除偏爱在晚上购物的用户。

在各示例实施例中,通信模块230被配置为:向由多个用户的子集操作的客户端设备中的每个客户端设备发送表示地理围栏的地理围栏数据,以检测越过围绕该位置的地理围栏的客户端设备的用户。地理围栏数据可以表示地理围栏。例如,地理围栏数据可以是指示地理围栏的边界的位置坐标。如下文进一步说明,地理围栏数据可以用于检测用户何时越过地理围栏。多个用户中的每个用户可能正在操作与中央服务器通信的客户端设备。此外,通信模块230可以用于促进每个客户端设备和中央服务器之间的通信。中央服务器可以至少部分基于与中央服务器的通信来检索多个用户的偏好。在各示例实施例中,通信模块230可以从由中央服务器管理的数据库中检索多个用户的偏好。数据库可以包括与多个用户相对应的资料。在各示例实施例中,通信模块230可以从被多个用户操作的客户端设备中的每个客户端设备中检索所述多个用户的偏好。在各示例实施例中,通信模块230还被配置为:例如经由用户安装和授权的移动应用,至少部分基于客户端设备与中央服务器之间的通信来检索多个用户的用户人群特征。

在各示例实施例中,检测模块240被配置为:基于向由多个用户中的用户操作的客户端设备发送的地理围栏数据,从被所述用户操作的客户端设备接收所述用户进入地理围栏的指示。在各示例实施例中,检测模块240还被配置为,跟踪每个客户端设备上的用户活动,并将与用户活动有关的信息存储在与多个用户相对应的资料中。在各示例实施例中,检测模块240还可以被配置为从每个客户端设备接收用户活动。换言之,客户端设备可以定期向检测模块240发送用户活动信息。与多个用户相对应的资料可以存储在由中央服务器管理的数据库中。用户活动可以用于指示多个用户中的每个用户的偏好。如前所述,与每个用户相关联的偏好可以指示物品偏好、位置偏好、时间偏好或其任意合适组合。例如,检测模块240可以接收购买历史信息,所述购买历史信息可以指示每个用户先前购买的物品。购买历史信息还可以指示每个用户先前购买的物品的价格范围。再例如,检测模块240可以接收时间信息,所述时间信息可以指示每个用户进行购物行为的时间。最后,检测模块240可以接收行程信息,所述行程信息指示每个用户先前光顾过的商店。用户活动信息可以包括在用户使用客户端设备上安装的移动应用来在客户端设备上执行操作时所收集的信息。

在各示例实施例中,呈现模块250被配置为:响应于检测模块240检测到用户进入地理围栏,向由用户操作的客户端设备呈现通知。通知可以与实体店可供出售的商品有关。可以由客户端设备上安装的移动应用来显示通知。例如,移动设备可以接收数据形式的通知,所述数据随后被移动设备上安装的应用或操作系统处理以进行显示。在各示例实施例中,呈现模块250可以向客户端设备呈现通知,以触发预定义功能在客户端设备上执行。预定义功能可以包括显示通知。

图3是示出了根据一些示例实施例的移动设备的框图。在各示例实施例中,图1的设备130可以用图3的移动设备300来表示。移动设备300可以包括处理器310。处理器310可以是适用于移动设备的各种不同类型的商业可获得的处理器中的任意一个(例如,xscale架构微处理器、没有互锁管线阶段(mips)架构处理器的微处理器、或者另一类型的处理器)。存储器320(例如随机存取存储器(ram)、闪存或其它类型的存储器)通常可以被处理器访问。存储器320可以适于存储操作系统(os)330以及应用程序340,例如可以向用户提供lbs的启用移动位置的应用。处理器310可以直接地或者经由合适的中间硬件耦接到显示器350,并且耦接到一个或多个输入/输出(i/o)设备360,例如键盘、触摸面板传感器、麦克风等。类似地,在一些实施例中,处理器310可以耦接到与天线390接口连接的收发机370。根据移动设备300的性质,收发机370可以配置为经由天线390发送和接收蜂窝网络信号、无线数据信号或其它类型的信号。以这种方式,可以经由网络190建立与基于网络的系统105的连接。此外,可以经由收发机370从移动设备300向地理围栏机器110发送移动设备300上的用户活动。此外,在一些配置中,gps接收机380还可以利用天线390来接收gps信号。gps信号可以用于跟踪移动设备300的位置。此外,gps信号可以构成可从移动设备300向地理围栏机器110发送的位置数据。

图4是根据一些示例实施例的在被用户操作的客户端设备上显示的通知400的示例用户界面。响应于检测模块240检测到用户进入地理围栏,呈现模块250可以呈现通知400。此外,选择模块220可以选择具有与地理围栏的属性相匹配的偏好的用户。通知400可以包括地理围栏如何与用户相关的描述402(例如,用户表示出对鞋的兴趣)。此外,通知400可以指示在地理围栏内有两个卖鞋的商店。通知400还可以包括地理围栏如何与用户相关的另一描述404(例如,用户表示出对小说书的兴趣)。此外,通知400可以指示在地理围栏内有一个卖小说书的商店。

图5是根据一些示例实施例的在被用户操作的客户端设备上显示的通知500的示例用户界面。响应于用户点击图4中的选项404,可以呈现通知。通知500可以显示均位于地理围栏内的鞋店502和鞋店504。此外,通知500还可以显示鞋店502和鞋店504的营业时间。在各示例实施例中,鞋店502和鞋店504的营业时间可被表示为地理围栏的属性。此外,鞋店502和鞋店504中每一个的位置可被表示为地理围栏的属性。最后,选择模块220可以选择具有与地理围栏的属性相匹配的偏好的用户。例如,在用户偏好购物的时间期间,鞋店502和鞋店504可能都在营业。此外,鞋店502和鞋店504可以都位于离用户位置的预定义距离内。通知500还可以显示与可以在商店502、504中的每个中购买的商品有关的信息。例如,可以显示与可以在商店502中购买的跑步鞋有关的消息506。此外,可以显示与可以在商店504中购买的网球鞋有关的消息508。

图6至图7是示出了根据一些示例实施例的、地理围栏机器110在执行呈现与可供出售商品有关的通知的方法600时的操作的流程图。方法600中的操作可以由地理围栏机器110使用上文参照图2描述的模块来执行。如图6所示,方法600包括识别地理围栏610的属性,选择用户子集620,发送地理围栏数据630,从客户端设备640接收指示,以及向客户端设备650呈现通知。

在操作610,识别模块210可以识别围绕位置的地理围栏的属性。地理围栏的属性可以表示位于地理围栏内的实体店(例如,可以从商家购买物品的实体零售位置)的商业特征。在各示例实施例中,地理围栏的属性还可以表示实体店可供出售的商品的物品特征。在一些示例实施例中,识别地理围栏的属性可以涉及从商家接收定义地理围栏的方面的参数。在定义期望的地理围栏时,商家可以提供可用于识别目标移动设备用户的属性。商家提供的属性的可存储为地理围栏数据的一部分,并且可被选择模块220用来选择目标用户。

在操作620,选择模块220可以至少部分基于地理围栏的属性与偏好的匹配,从多个用户中选择用户子集,其中所述偏好与所述用户子集中的每个用户相关联。

在操作630,通信模块230可以向由多个用户的子集操作的客户端设备中的每个客户端设备发送表示地理围栏的地理围栏数据,以检测越过围绕该位置的地理围栏的客户端设备的用户。地理围栏数据可以表示地理围栏。例如,地理围栏数据可以是指示地理围栏的边界的位置坐标。

在操作640,检测模块240可以基于向由多个用户中的用户操作的客户端设备发送的地理围栏数据,从被所述用户操作的客户端设备接收该用户进入地理围栏的指示。

在操作650,呈现模块250可以向由用户操作的客户端设备呈现通知。通知可以与实体店可供出售的商品有关。在一些示例实施例中,呈现模块250可以向由检测模块240识别的在地理围栏内的用户所操作的客户端设备发送消息或类似数据。当接收到消息时,客户端设备可以通知用户或执行预定义功能。

如图7所示,方法600可包括操作710、720、730、740和750中的一个或多个。操作710至750中的一个或多个可执行为操作620的一部分(例如先导任务、子例程或部分)。在操作710,检测模块240可以跟踪每个用户设备上的用户活动。

在操作720,通信模块230可以至少部分基于客户端设备和中央服务器之间的通信来检索多个用户的用户人群特征。在各示例实施例中,通信模块230还被配置为收集用户活动数据。在各示例实施例中,通信模块230还被配置为访问与用户相关联的数据仓库(例如,与用户账户相关联的社交网络数据、与用户账户相关联的电子商务数据)。

在操作730,选择模块220可以将地理围栏的属性与多个用户的用户人群特征相匹配。用户人群特征可以指示多个用户中的每个用户的性别、种族、职业、饮食偏好、年龄、婚姻状况中的至少一个或其任意合适组合。选择模块220还可以被配置为将地理围栏的属性与从与用户相关联的数据仓库接收的信息(例如,与用户账户相关联的社交网络数据、与用户账户相关联的电子商务数据)相匹配。

在操作740,选择模块220可以确定包括在用户子集中的用户位于离地理围栏的预定义距离内。

在操作750,选择模块220可以确定未包括在用户子集中的用户所具有的偏好与地理围栏的属性的匹配少于预定义阈值量。

图8是示出了根据一些示例实施例的能够从机器可读介质822(例如机器可读存储介质、计算机可读存储介质或其任意适当组合)读取指令824并完全或部分执行本文讨论的方法中的任意一个或多个的机器800的组件。具体地,图8示出了计算机系统示例形式的机器800,其中,可以完全或部分执行用于使机器800执行本文讨论的方法中的任意一个或多个的指令824(例如软件、程序、应用、小程序、app或其他可执行代码)。在备选实施例中,机器800作为独立设备操作或者可以连接至(例如联网直)其他机器。在联网部署中,机器800可以以服务器-客户端网络环境中的服务器机器或客户端机器的资格操作,或者作为分布式(例如对等)网络环境中的对等机器操作。机器800可以是服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、蜂窝电话、智能电话、机顶盒(stb)、个人数字助理(pda)、web设备、网络路由器、网络交换机、网桥或者能够顺序地或以其他方式执行指令824的任何机器,所述指令824指定了该机器要采取的动作。此外,虽然仅示出了单个机器,术语“机器”还应视为包独立或联合执行指令824以执行本文讨论的方法中的任意一个或多个的全部或部分。

机器800包括被配置为彼此经由总线808通信的处理器802(例如中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)、或其任意适当组合)、主存储器804和静态存储器806。处理器802可以包含微电路,可由指令824中的一些或全部临时或永久配置,使得处理器802可被配置为完全或部分执行本文描述的一个或多个方法中的任意一个或多个。例如,处理器802的一个或多个微电路的集合可被配置为执行本文描述的一个或多个模块(例如软件模块)。

机器800还可以包括图形显示器810(例如等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪、阴极射线管(crt)或能够显示图形或视频的任何其他显示器)。机器800还可以包括字母数字输入设备812(例如键盘或键区)、光标控制设备814(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器、眼动跟踪设备或其他定位仪器)、存储单元816、音频产生设备818(例如声卡、放大器、扬声器、耳机插座或其任意适当组合)以及网络接口设备820。

存储单元816包括其中存储有指令824的机器可读介质822(例如有形且非瞬态机器可读存储介质),所述指令824实现本文描述的方法或功能中的任意一个或多个。指令824还可以在机器800执行之前或期间完全或至少部分驻留在主存储器804内、处理器802内(例如处理器的高速缓存内)或两者内。因此,主存储器804和处理器802可以视为机器可读介质(例如有形和非瞬态机器可读介质)。指令824可以通过网络190经由网络接口设备820发送或接收。例如,网络接口设备820可以使用任意一个或多个传输协议(例如超文本传输协议(http))传送指令824。

在一些示例实施例中,机器800可以是便携式计算设备(如智能电话或平板计算机),并且具有一个或多个附加输入组件830(例如传感器或仪表)。这样的输入组件830的示例包括图像输入组件(例如一个或多个相机)、音频输入组件(例如麦克风)、方向输入组件(例如罗盘)、位置输入组件(例如全球定位系统(gps)接收机)、取向组件(例如陀螺仪)、运动检测组件(例如一个或多个加速计)、高度检测组件(例如高度计)、以及气体检测组件(例如气体传感器)。这些输入组件中的任意一个或多个获得的输入可被访问并且可以被本文描述的任意模块使用。

如本文所使用的,术语“存储器”指能够临时或永久地存储数据的机器可读介质,并且可看作包括但不限随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存以及高速缓存存储器。尽管机器可读介质822在示例实施例中被示为单个介质,术语“机器可读介质”应看作包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应看作包括任何能够存储指令824的介质或多个介质的组合,所述指令824由机器800执行,使得当指令824被机器800的一个或多个处理器(例如处理器802)执行时使机器800在整体或部分上执行本文描述的方法中的任意一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及基于云的存储系统或包括多个存储装置或设备的存储网络。因此,术语“机器可读介质”应看作包括但不限于固态存储器、光学介质、磁介质或其任意适当组合形式下的一个或多个有形数据仓库。机器可读介质还可以包括诸如信号之类的瞬态介质,例如携带机器可读指令的电信号、光信号或电磁信号。

在该说明书中,复数实例可以实现被描述为单数实例的组件、操作或结构。虽然一个或多个方法的各个操作被示意和描述为分离的操作,但是各个操作中的一个或多个可同时执行,并且无需按所示顺序执行操作。在示例配置中被示为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被示为单个组件的结构和功能可以被实现为分离的组件。这些和其他变型、修改、添加和改进属于本文主题的范围。

某些实施例在本文中被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如在机器可读介质上或在传输信号中体现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以按照某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如独立的计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如处理器或处理器组)可由元件(例如应用或应用部分)配置为操作为执行本文描述的特定操作的硬件模块。

在一些实施例中,硬件模块可以按照机械方式、电子方式或其任意适当组合来实现。例如,硬件模块可以包括永久地被配置为执行特定操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,如现场可编程门阵列(fpga)或asic。硬件模块还可以包括由软件临时配置为执行特定操作的可编程逻辑或电路。例如,硬件模块可以包括通用处理器或其他可编程处理器中包含的软件。应理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)的决定可以是出于成本和时间的考虑。

因此,短语“硬件模块”应理解为涵盖有形实体,是在物理上构造、永久配置(例如硬线连接)或临时配置(例如编程)为以特定方式操作或执行本文描述的特定操作的实体。如本文所使用的,“硬件实现的模块”指硬件模块。考虑临时配置(例如编程)的硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,如果硬件模块包括被软件配置成为专用处理器的通用处理器,则通用处理器可以在不同时刻被配置为相应的不同专用处理器(例如包括不同的硬件模块)。因此,软件可以将处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并从其他模块接收信息。因此,所描述的硬件模块可以被看作通信地耦接。如果同时存在多个硬件模块,则可以通过两个或更多个硬件模块之间的信号传输(例如通过适当的电路和总线)实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,这样的硬件模块之间的通信可以例如通过存储并取得多个硬件模块可访问的存储器结构中的信息来实现。例如,一个硬件模块可以执行操作并在与其通信耦接的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取得并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)操作。

本文描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论临时还是永久配置,这样的处理器可以构成操作为执行本文描述的一个或多个操作或功能的处理器实现的模块。如本文所使用的,“处理器实现的模块”指使用一个或多个处理器实现的硬件模块。

类似地,本文描述的方法可以至少部分是处理器实现的,处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可操作为支持在“云计算”环境中或作为“软件即服务”(saas)的相关操作的执行。例如,操作中的至少一些可由计算机(作为包括处理器的机器的示例)组执行,这些操作可经由网络(例如互联网)并经由一个或多个适当接口(例如应用程序接口(api))来访问。

特定操作的执行可以分布在一个或多个处理器之间,所述处理器不仅位于单个机器上,还跨多个机器部署。在一些示例实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置(例如在家庭环境、办公室环境或服务器群中)。在其他示例实施例中,一个或多个处理器或处理器实现的模块可以分布在多个地理位置。

本文讨论的主题的一些部分可以用算法或对数据的操作的符号表示来呈现,所述数据存储为机器存储器(例如计算机存储器)内的比特或二进制数字信号。这样的算法或符号表示是数据处理技术领域普通技术人员用来向本领域其他技术人员传达他们工作实质的技术的示例。如本文所使用的,“算法”是操作的自洽序列或导致期望结果的类似处理。在该上下文中,算法和操作涉及对物理量的物理操作。通常但非必要地,这样的量可以采取能够由机器存储、访问、传输、组合、比较或以其他方式操纵的电气、磁或光学信号的形式。有时,主要由于常见用法的原因,使用诸如“数据”、“内容”、“比特”、“值”、“元素”、“符号”、“字符”、“项”、“数”、“数字”等词语来指代这样的信号是方便的。然而,这些词语仅仅是方便的标记,并且应与适当的物理量相关联。

除非另行具体说明,本文使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”等词语的讨论可以指操纵或变换被表示为一个或多个存储器(例如易失性存储器、非易失性存储器或其任意组合)、寄存器或接收、存储、发送或显示信息的其他机器组件内的物理(例如电子、磁或光学)量的数据的机器(例如计算机)的动作或过程。此外,除非另行具体说明,如专利文献中常见的,本文中的术语“一”或“一个”用于包括一个或多于一个实例。最后,如本文所使用的,除非特别说明,连词“或”指非排他的“或”。

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