用于在线促销活动的调度算法的制作方法

文档序号:12288208阅读:270来源:国知局
用于在线促销活动的调度算法的制作方法与工艺
本专利申请要求于2014年3月28日提交的、授予Huang等人的题为“DistributedSchedulingAlgorithmforLarge-ScaleOnlineMarketing”的、序列号为61/972,046的美国临时专利申请,以及于2014年12月23日提交的、授予Huang等人的题为“DistributedSchedulingAlgorithmforLarge-ScaleOnlineMarketing”的、序列号为14/581,281的美国专利申请的优先权权益,特此通过引用将上述专利申请在其整体上并入本文。版权公告本专利文档的公开的一部分包含受到版权保护的材料。版权所有者不反对任何人对于本专利文档或专利公开的拓制,因为其出现在专利商标局的专利文件或记录中,但无论怎样都以其他方式保留全部版权。以下公告适用于下文以及在形成本文档的一部分的附图中所描述的软件和数据:版权LinkedIn,2104版权所有。
背景技术
:社交网络服务是基于计算机或web的服务,其使得用户能够建立与人的链接或连接,以用于彼此分享信息的目的。一些社交网络服务旨在使得朋友和家人能够彼此沟通和分享,而其他一些则专门涉及商业用户,以促进专业网络的建立以及商业信息的分享为目标。出于本公开的目的,术语“社交网络”和“社交网络服务”在宽泛的意义上使用并且意味着涵盖旨在连接朋友和家人的服务(常常简称为“社交网络”),以及专门涉及使得商业人士能够连接和分享商业信息的服务(也通常称为“社交网络”,但有时称为“商业网络”或“专业网络”)。附图说明在并不一定按比例绘制的附图中,类似的编号可以描述不图视图中的相似组件。具有不同字母下标的类似编号可以表示相似组件的不同实例。作为举例而非限制,附图总地图示了在本文档中讨论的各种实施例。图1是根据本公开的一些示例的经调度的在线促销活动的实施方式的示例。图2是根据本公开的一些示例的社交网络系统的示意图。图3是根据本公开的一些示例的用于从活动子集中确定具有用于成员的最大效用的活动的技术的流程图。图4是根据本公开的一些示例的机器的示意图。具体实施方式促销活动是诸如社交网络服务的在线服务的重要组成部分。促销活动允许在线服务吸引新成员、销售贵宾成员资格、向成员介绍新特色等。促销材料可以通过个人消息传送等示出在网页的某一位置,以作为网页之间的插屏广告。例如,图1示出用于活动的在线促销接口1000,其寻求将在线服务的用户的账户升级为贵宾账户。活动1000可以显示在浏览器中。活动1000可以包括接受活动1000的选项,诸如链接。在示例中,链接可以允许成员升级为贵宾账户,如浏览器中所示的。活动1000也可以包括标题、文本、图像、指示、链接等,诸如在图1中示出的那些。活动1000可以显示在计算机、平板计算机、电话、膝上型计算机等上的浏览器中。因为容易递送在线促销材料(相对于打印和其他介质),在线服务的用户可能受到促销活动的轰炸。在任一给定时间,可能有目标是不同区段的成员的数以百计的活动。成员的区段可以包括共享共同属性(诸如地理位置、职业、状态(如在贵宾或非贵宾成员的情况下)、学校、年龄、性别等)的成员的组。除非促销活动被智能地管理,否则成员可能被重复地示出相同活动,或者可能完全不被作为目标。重复地呈现无效促销活动潜在地骚扰用户,并且浪费向用户呈现有效促销活动的机会。结果,调度用于在线服务(例如社交网络服务)的成员的在线促销活动要求智能管理。这样的智能管理必需在正确的时间将正确的促销递送给正确的成员,而不骚扰成员。这样的智能管理随着促销活动数量的增加而逐渐变得困难。在一些示例中公开了实施可扩展算法的系统、方法和机器可读介质,所述可扩展算法用于调度满足所期望的约束集同时最大化总效用的在线服务的促销活动。这一算法能够针对数以百万计的成员调度数以百计的活动。在一些示例中,每个促销活动可以具有用于特定成员的效用(其可以由效用函数描述),并且调度算法的目标可以是要最大化用于符合促销活动资格的所有成员的总效用同时满足各种约束。示例约束可以包括:确保每个成员不太经常(或者甚至多于一次)暴露于相同活动、确保活动在变得合格时暴露于足够数量的成员、以及确保活动在给定时间段中重复指定次数。使用所公开的方法、系统和机器可读介质允许对大量促销活动进行智能调度。作为结果的调度表是所期望的,因为促销活动以最大化用于正在被调度的成员组的效用的方式被调度。在示例中,调度算法可以生成要递送给一个或多个成员的活动调度表。调度算法在特定时间段内操作,并且将该时间划分为一系列时隙。算法可以从可用活动池或集中选择以便调度促销活动,以便最大化特定效用函数。在一些示例中,调度算法可以针对每个时隙每成员调度一个活动。在其他示例中,调度算法可以针对每个时隙每成员调度多个活动。调度算法可以是分布式算法,其可以被利用来生成包括用于数以百万计的成员的数以百计的活动的调度表。通过利用呈分布形式的算法,在线服务可以利用分布式计算资源以快速地计算调度表。调度算法可以是线性的并且容易可并行的,诸如可用在MapReduce范例中。在另一示例中,调度算法可以可扩展到数以亿计或更多成员,并且可以能够对活动的动态变化池进行操作。该算法也可以对具有高周转率的活动集进行操作。如前所提到的,调度算法可以使用指定效用函数(例如U(c,M))以计算将活动c示出给成员M的效用值U。U(c,M)可以是完整的、过渡的、连续的且确定性的。换言之,U(c,M)可以诸如通过以从最高效用到最低效用的用于成员M的特定效用顺序对消息c进行排序,而将跨消息c的总顺序提供给成员M。本调度算法的贪婪型质量可以通过最大化从用于活动集和成员组的效用函数生成的累积值的目标来驱动。在一些示例中,效用函数可以是活动的严格优先级方案。在其他示例中,可以使用成员的属性来计算效用分数。在另一示例中,从商业和倾向模型得出的其他因素可以用于计算效用函数。由效用函数返回的效用可以表示针对特定成员的特定促销活动的计算值。针对特定成员的特定促销活动的值可以是估计的成员对促销活动的主题的兴趣。如前所提到的,在一些示例中,调度算法将一个或多个约束计为因素。示例约束可以包括暴露约束。例如,欠暴露约束指定有关促销暴露的最小量的约束,例如,在特定时间段(例如,一个或多个时隙)中接收特定活动的成员的最小数量。例如,用于特定活动的15%的欠暴露约束指定:在特定时间段(例如特定时隙)内,将调度至少15%的合格成员用于特定活动。这一约束最小化(如果不是完全消除的话)任何活动的饥饿(starvation)。作为另一示例,可以利用过暴露约束。过暴露约束可以是有关促销暴露的最大量的约束,例如,在特定时间段(例如,一个或多个时隙)内接收特定活动的成员的最大数量。过暴露约束防止在特定时隙内将特定促销活动示出给太多合格成员,这可能造成促销活动过饱和并且在一些情况下使其他活动饥饿。在一些示例中,调度算法将复制约束计为因素。在一些示例中,活动可以在预定数量的时隙内向相同成员促销有限次数(例如一次)。这一约束可以导致调度算法将活动交错贯穿调度表,防止成员受到重复暴露的骚扰,并且将特定活动跨调度表分布得更均匀,使得所促销的服务不会在一个时隙内在大众中窥视(peek)且失去调度表的剩余时隙内的流量。在一些示例中,调度算法将重复频率约束计为因素。在一些示例中,重复频率指定在预定数量的时隙内应该向在线服务的每个适用成员促销的活动的最小频率。这确保活动被重复预定次数。在一些示例中调度算法包括资格数据约束。这些约束可以指定活动将被调度在某个日期之前或之后,在诸如一天的特定时间、特定小时、总持续时间等的特定时间段期间。约束可以是成员特定的、活动特定的、全局的,或者一些约束可以是成员特定的,一些可以是活动特定的以及一些可以是全局的。成员特定约束可以包括关于所示出的促销的质量、促销内容以及示出给用户的促销的格式的特定约束。这些成员特定约束可以基于由成员或成员特定属性给出的偏好设定,所述成员或成员特定属性确定针对活动类型的资格。例如,贵宾成员可以接收比标准成员少的促销。在其他示例中,成员特定约束可以由在线服务来计算。例如,倾向模型可以预测成员安装移动应用的可能性。倾向模型的输出可以用于对活动优先化,以向被标识为有可能安装移动应用的成员建议移动应用的安装。在示例中,调度算法可以通过使用与某个粒度值τ相关联的每个活动的参数,而使用给定约束中的一些或全部,所述粒度值确定用于调度表的时隙的数量。例如,τ可以是时间段,诸如用于每日循环的活动的日、小时、分钟、周、月、年、网站拜访等。以上讨论的约束可以在调度算法中量化。例如,k可以表示诸如用于在k个时隙内向相同成员示出一次的活动的非重复因素。另一约束可以由l表示,指定在给定时间帧内应该向任意适用成员示出多少次活动的重复频率值。值Ti可以表示用于要开始的活动的合格开始日期。换言之,活动可以合格地在时间或日期Ti时或之后运行。在另一示例中,合格开始日期可以是周期性时间或日期,并且在时间或日期Ti+1之后活动可以再次示出给成员。在示例中,emin可以表示在时隙内的活动的最小暴露,诸如活动可以在时隙中运行的最小次数。在另一示例中,emax可以表示在时隙内的活动的最大暴露,诸如活动可以在时隙中运行的最大次数。值e(c)可以由调度算法用于确定在特定时间用于活动c的当前暴露量。在当前暴露量小于用于活动c的最小暴露量时,活动可以运行。如果当前暴露量大于最大暴露量,则活动不能再次运行直到某之后的时间为止。在示例中,在用于活动的当前暴露量在最小暴露量与最大暴露量之间时,活动可以运行或可以不运行。活动是否运行可以取决于具有相同或相似效用但具有较小当前暴露量的另一活动是否可用。最小暴露量和最大暴露量可以针对不同活动具有不同值。最大暴露量可以大于或等于最小暴露量。在示例中,调度算法可以包括约束并且利用参数和函数,诸如:U(c,M)向成员M示出活动c的效用k(c)用于活动c的非重复因素l(c)用于活动c的重复频率T(c)用于活动c的合格开始日期e(c)用于活动c的暴露量emin(c)用于活动c的最小暴露量emax(c)用于活动c的最大暴露量getCampaigns(C,M,i)基于k(c)、l(c)、T(c)或成员活动约束(如果有的话),返回在特定时隙i期间适用于成员M的活动集CgetUnderexposed(C,i)返回活动集C,其中在时隙i内对于活动集中的每个活动,e(c)<emin(c)getOverexposed(C,i)返回活动集C,其中在时隙i内对于活动集中的每个活动,e(c)≥emin(c)。用于一个示例调度算法的伪代码可以为:在以上调度算法中,针对在线服务的每个成员,算法可以标识所有活动集。对于需要被调度的每个特定时隙,调度算法从所有活动集中标识适用于特定成员并且在当前调度的时隙内的活动集(C)。这一确定通过基于k(c)、l(c)、T(c)以及任意成员活动约束而返回在指定时隙期间适用于成员的所有活动来做出,其中c是活动。调度算法可以随后诸如通过使用函数(其中),从C中选择运行比最小阈值小的次数的活动集。如果中不存在活动或者存在比指定的最小活动数量少的活动,则调度算法可以随后以来自C中的、但是排除了具有比最大阈值大的次数的活动的活动来填充。例如,新选择的活动可以包括C中的、排除了由用于活动的函数(其中)返回的活动的活动。调度算法随后可以从活动集中确定用于成员的具有最大效用的活动。例如,可以使用诸如的函数(其根据效用函数返回来自中的具有最高分数的活动),来确定来自中的活动的具有用于成员的最大效用的活动。在示例中,调度算法也可以包括诸如使用函数(例如,)来调度针对成员运行的活动。在示例中,如果对于活动集中的所有活动而言,并且k=1,则算法最大化成员活动效用并且满足重复和资格约束。例如,如果并且k=1,则算法可能未防止饥饿,也可能未实施交错和复制约束。因此,调度算法可以针对每个时隙挑出具有最大效用的活动(其可以满足重复和资格约束),并且也可以最大化总效用。在一些示例中,算法可以在单个成员上运行,在其他示例中,算法可以针对在线服务的所有成员运行。在又一示例中,成员基可以分区为p组。各组可以具有相同或基本上相同数量的成员,或者可以具有不同数量的成员。各组可以根据成员属性来分区。调度算法可以在各组内依次运行。例如,调度算法可以在成员迭代之后更新用于组中的活动的本地暴露计数。最小暴露量或最大暴露量可以诸如通过针对每个组中的每个活动创建本地最小暴露量或本地最大暴露量而在组之间划分。活动可以具有许多本地最小暴露量或最大暴露量,并且本地量可以合计到总的最小暴露量或总的最大暴露量。以上描述的暴露量中的任一个可以包括数值、比例、比率、百分比等。本地暴露量可以包括总的暴露量的部分,诸如比例、比率、百分比等。每个活动的和可以表达为百分比或名数并且可以应用于每个分区。图2是根据本公开的一些示例的呈社交网络系统2000的形式的示例网络服务的示意图。社交网络服务2002可以包含内容服务器过程2004。内容服务器过程2004可以与存储装置2006通信并且可以通过网络2014与一个或多个用户2016通信。内容服务器过程2004可以负责存储在存储装置2006中的成员简档的检索、呈现和维护。在一个示例中,内容服务器过程2004可以包括或者可以为web服务器,其取回或创建互联网网页。网页可以是或者包括超文本标记语言(HTML)、可扩展标记语言(XML)、等。网页可以包括应用户2016的请求的成员简档的部分或全部。网页可以包括搜索功能性——例如,搜索特定成员、搜索具有特定技能的成员、浏览技能层级等的能力。用户2016可以包括社交网络服务2002的一个或多个成员、预期成员或其他用户。用户2016使用计算机系统通过网络2014访问社交网络服务2002。网络可以是使社交网络服务2002能够与用户2016传送数据的任意手段。示例网络2014可以为或者包括以下中的一个或多个的部分:因特网、局域网(LAN)、广域网(WAN)、无线网络(诸如基于IEEE802.11系列标准的无线网络)、城域网(MAN)、蜂窝网络等。社交网络服务2002可以包括选择模块2008,用于选择可以被评估以确定它们的效用的活动的子集。选择模块2008可以实施如上所述的调度算法以调度活动,从而实现经受各种约束的最大效用。在一些示例中,这可以借助于效用模块2010来完成。给定成员和活动,效用模块2010可以基于上述方法中的一个或多个而返回用于成员的效用值。例如,在以上示出的伪代码调度算法中,选择模块2008可以首先得到对于成员M有效的所有活动的集合。随后,对于要调度的每个特定时隙,选择模块2008可以从中选择在该特定时隙期间适用于成员M的活动子集C。这一选择可以在经受约束的情况下完成,所述约束诸如非重复因素、重复频率和资格日期。选择模块可以随后(基于来自效用模块的输出)调度来自C的具有最高效用的促销,所述促销也低于最小暴露值(例如,已被暴露的促销)。如果没有这样的促销存在,调度模块可以随后调度来自C的未被过暴露的最高效用促销(例如,已被暴露的促销)。在示例中,社交网络服务2002可以包括调度模块2012。调度模块2012可以调度活动以针对成员运行,诸如由效用模块2010针对成员标识的活动。例如,调度模块2012可以将由选择模块2008确定的促销记录在存储部2006中。在用户2016访问社交网络服务2002时,内容服务器过程2004可以随后访问存储部2006以确定创建哪个促销并且将其递送给用户2016。图3是根据本公开的一些示例的用于从活动子集中确定具有用于成员的最大效用的活动的技术的流程图。在操作3002处,技术包括标识适用于社交网络服务的成员的活动集,其中活动集要在指定间隙期间运行。在操作3004处,技术包括选择活动集的子集,其中该选择包括在操作3006处从活动集中选择已经运行比最小阈值少的次数的活动。在操作3008处,技术包括:在已经运行比最小阈值少的次数的活动不足时,在操作3010处从活动集中选择还未运行比最大阈值多的次数的活动。在有足够的已经运行比最小阈值少的次数的活动时,技术可以直接前进到操作3012。在操作3012处,技术包括使用效用函数来从活动子集中确定具有用于成员的最大效用的活动。在示例中,具有用于成员的最大效用的活动可以针对该成员运行。使用在此描述的技术来确定具有最大效用的活动允许系统节省处理力和/或时间。减少处理力或时间允许诸如Hadoop服务器的系统更快地运行。例如,确定具有最大效用的活动可以允许系统不需要运行不必要的活动,拒绝先前调度过的活动等。在示例中,调度算法的分布式变型可以是可并行化的。例如,成员基可以均匀地分区为p组,并且算法可以在组内依次运行。针对每个组的本地暴露计数可以在每个成员迭代之后更新。在一些示例中,每个消息类型的emin和emax可以表达为与名数相对的百分比,因此其可以应用于每个分区。在示例分布式变型中,调度算法生成具有接近于原始非分布式算法的针对每个活动的暴露计数的调度表,其中仅有归因于百分比取整的微小偏差。在一些示例中,给定成员基于活动资格而针对分区的均匀分布,作为结果的暴露统计可以与未进行分区的情况大致相同。然而,如果选择非均匀分布,则通过以每个分区的合格成员计数与跨所有分区的总合格成员计数的比率对针对该分区的所有活动emin和emax值进行独特缩放,可以实现与非分区算法相似的结果。在这些示例中,可以在没有使用任何共享全局状态的情况下实现并行性。在一个示例实施方式中,若干不同活动利用如表1(下文)中所示的用户特定范围、重复规则和效用值被调度。在一些示例中,可以使用用于效用函数的严格优先化方案(例如,基于活动的硬编码效用)。在500个成员、65个总工作日内8个活动的情况下运行调度算法。使用下表中的数据,调度算法可以产生具有可能效用的94%的总效用的结果,可能效用是在忽略约束时仅仅基于效用值而选择活动所产生的效用。活动效用eminemaxkl调度的时隙1107%15%1640,16,32,482107%15%1640,16,32,483107%15%1640,16,32,484157%15%4130,5,10,15,20,25,30,35,40,45,50,55,6057510%25%4130,5,10,15,20,25,30,35,40,45,50,55,606308%20%4130,5,10,15,20,25,30,35,40,45,50,55,6077510%25%4130,5,10,15,20,25,30,35,40,45,50,55,60810018%35%1610表1-约束表示例。图4图示在此讨论的技术(例如,方法)中的任一个或多个可以在其上执行的示例机器4000的方框图。在替代实施例中,机器4000可以作为独立装置操作,或者可以连接(例如联网)至其他机器。在联网部署中,机器4000可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在示例中,机器4000可以在对等(P2P)(或其他分布式)网络环境中充当对等机器。机器4000可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、智能电话、web电器、网络路由器、开关或桥、实施图2的任意组件的机器,或者能够(依次或以其他方式)执行指令的任意机器,所述指令指定要由该机器采取的动作。此外,虽然仅图示了单个机器,但是术语“机器”也应采取为包括个体地或联合地执行指令集(或多个指令集)以执行在此讨论的方法中的任一个或多个机器的任何集合,诸如云计算、软件即服务(SaaS)、其他计算机集群配置。如在此描述的,示例可以包括逻辑或者大量组件、模块或机构,或者可以在逻辑或者大量组件、模块或机构上操作。模块是能够执行指定操作并且可以以某种方式配置或布置的有形实体(例如硬件)。在示例中,电路可以以指定方式布置(例如,在内部或者相对于诸如其他电路的外部实体)为模块。在示例中,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或者一个或多个硬件处理器的整体或部分可以由固件或软件(例如,指令、应用部分或应用)配置为操作以执行指定操作的模块。在示例中,软件可以驻留在机器可读介质上。在示例中,软件在由模块的底层硬件执行时使硬件执行指定操作。相应地,术语“模块”被理解为涵盖有形实体,即物理地构造、特定地配置(例如硬接线)或暂时地(例如瞬时地)配置(例如编程)来以指定方式操作或执行在此描述的任意操作的部分或全部的实体。考虑其中模块暂时地配置的示例,模块中的每一个不需要在任一时刻实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,该通用硬件处理器可以在不同时间配置为各个不同模块。软件可以相应地配置硬件处理器,例如以在一个时间实例时构成特定模块并且在一个不同时间实例时构成不同模块。机器(例如计算机系统)4000可以包括硬件处理器4002(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任意组合)、主存储器4004和静态存储器4006,其中的一些或全部可以经由互连(例如总线)4008彼此通信。机器4000还可以包括显示单元4010、字母数字输入装置4012(例如键盘)以及用户接口(UI)导航装置4014(例如鼠标)。在示例中,显示单元4010、输入装置4012和UI导航装置4014可以是触摸屏幕显示器。机器4000可以附加地包括存储装置(例如驱动单元)4016、信号生成装置4018(例如扬声器)、网络接口装置4020以及一个或多个传感器4021,诸如全球定位系统(GPS)传感器、罗盘、加速度计或其他传感器。机器4000可以包括输出控制器4028,诸如串行(例如,通用串行总线(USB)、并行或其他有线或无线(例如红外(IR)、近场通信(NFC)等)连接,以通信或控制一个或多个外围装置(例如打印机、读卡器等)。存储装置4016可以包括机器可读介质4022,其上存储体现在此描述的技术、方法或功能中的任一个或多个或者由在此描述的技术、方法或功能中的任一个或多个利用的一个或多个数据结构或指令4024的集合(例如软件)。指令4024也可以在其由机器400执行期间完全或至少部分地驻留在主存储器4004内、静态存储器4006内或硬件处理器4002内。在示例中,硬件处理器4002、主存储器4004、静态存储器4006或存储装置4016中的一个或任意组合可以构成机器可读介质。虽然机器可读介质4022图示为单个介质,但是术语“机器可读介质”可以包括配置为存储一个或多个指令4024的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“机器可读介质”可以包括任意介质,所述介质能够存储、编码或携带供机器4000执行并且使机器4000执行本公开的技术中的任一个或多个的指令,或者所述介质能够存储、编码或携带由这样的指令使用或与这样的指令相关联的数据结构。非限制性的机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的特定示例可以包括:非易失性存储器,诸如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))以及闪速存储器装置;磁盘,诸如内部硬盘和可移除盘;磁光盘;随机存取存储器(RAM);固态驱动(SSD);以及CD-ROM和DVD-ROM盘。在一些示例中,机器可读介质可以包括非暂时性机器可读介质。在一些示例中,机器可读介质可以包括不是非暂时性传播信号的机器可读介质。指令4024还可以使用传输介质经由网络接口装置4020在通信网络4026上被发送或接收。机器4000可以利用多种传输协议(例如,帧中继、网际协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任一种与一个或多个机器通信。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、简易老式电话(POTS)网络以及无线数据网络(称为的电气电子工程师协会(IEEE)802.11系列标准、称为的IEEE802.16系列标准)、IEEE802.15.4系列标准、长期演进(LTE)系列标准、通用移动电信系统(UMTS)系列标准、对等(P2P)网络,等等。在示例中,网络接口装置4020可以包括一个或多个物理插口(例如,以太网、同轴或电话插口)或者一个或多个天线,以连接至通信网络4026。在示例中,网络接口装置4020可以包括用于使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信的多个天线。在一些示例中,网络接口装置4020可以使用多用户MIMO技术进行无线通信。各种注解和示例根据在此描述的结构和技术建议目前描述的方法、系统和装置实施例的附加示例。其他非限制性示例可以配置为单独操作,或者可以以与上文提供或贯穿本公开的其他示例中的任一个或多个的任意排列或组合相组合。示例1包括主题(诸如方法、用于执行动作的单元、包括在由机器执行时使该机器执行动作的指令的机器可读介质,或者用于执行的设备),该主题包括:使用一个或多个计算机处理器:针对多个时隙中的每一个特定时隙,基于至少一个约束来标识在特定时隙期间适用于社交网络服务的特定成员的活动的集合;以及基于从活动的集合确定所述集合中的活动的哪个活动返回用于成员的最大效用,而从活动的集合中选择在特定时隙期间针对特定成员运行的活动。在示例2中,示例1的主题可以包括:还包括调度针对成员运行的活动。在示例3中,示例1至2中的任一项的主题可以包括:其中约束是复制约束,并且其中标识活动的集合包括排除先前已经在特定时间段期间运行的活动。在示例4中,示例1至3中的任一项的主题可以包括:其中约束是重复约束,并且其中标识活动的集合包括将针对成员已经运行比指定成员阈值少的次数的活动包括在内。在示例5中,示例1至4中的任一项的主题可以包括:其中约束是资格约束,并且其中标识活动的集合包括标识在指定间隙之后具有合格开始间隙的活动。在示例6中,示例1至5中的任一项的主题可以包括:还包括针对指定数量的成员迭代所述方法。在示例7中,示例1至6中的任一项的主题可以包括:其中指定数量的成员是预定组中的多个成员。示例8包括主题(诸如装置、设备或机器),该主题包括:选择模块,配置为:针对多个时隙中的每一个特定时隙,基于至少一个约束来标识在特定时隙期间适用于社交网络服务的特定成员的活动的集合;以及效用模块,配置为确定活动的集合中的每一个特定活动的用于成员的效用;其中,选择模块配置为基于由效用模块从活动的集合中确定的具有用于成员的最大效用的活动,而从活动的集合中选择在特定时隙期间针对特定成员运行的活动。在示例9中,示例8的主题可以包括:还包括用于调度针对成员运行的活动的调度模块。在示例10中,示例8至9中的任一项的主题可以包括:其中约束是复制约束,并且其中为了标识活动的集合,选择模块用于排除先前已经在特定时间段期间运行的活动。在示例11中,示例8至10中的任一项的主题可以包括:其中约束是重复约束,并且其中为了标识活动的集合,选择模块用于将针对成员已经运行比指定成员阈值少的次数的活动包括在内。在示例12中,示例8至11中的任一项的主题可以包括:其中约束是资格约束,并且其中为了标识活动的集合,选择模块用于将在指定间隙之后具有合格开始间隙的活动包括在内。在示例13中,示例8至12中的任一项的主题可以包括:其中选择模块配置为执行标识和选择,并且效用模块配置为针对指定数量的成员执行确定。在示例14中,示例8至13中的任一项的主题可以包括:其中指定数量的成员是预定组中的多个成员。这些非限制性示例中的每一个可以独立存在,或者可以以与其他示例中的一个或多个以各种排列或组合而相组合。以上详细描述包括对于形成该详细描述的一部分的附图的引用。附图通过图示的方式示出本发明可以在其中实践的特定实施例。这些实施例在此也称为“示例”。这样的示例可以包括除了所示或所描述的那些以外的要素。然而,本发明人还设想了其中仅提供所示或所描述的那些要素的示例。此外,本发明人还设想了使用所示或所描述的那些要素(或其一个或多个方面)相对于特定示例(或其一个或多个方面)、或者相对于在此所示或所描述的其他示例(或其一个或多个方面)的任意组合或排列的示例。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1