CN104040942B - 用于搭载移动设备社交更新的服务器端限速算法 - Google Patents

用于搭载移动设备社交更新的服务器端限速算法 Download PDF

Info

Publication number
CN104040942B
CN104040942B CN201280065999.7A CN201280065999A CN104040942B CN 104040942 B CN104040942 B CN 104040942B CN 201280065999 A CN201280065999 A CN 201280065999A CN 104040942 B CN104040942 B CN 104040942B
Authority
CN
China
Prior art keywords
user
message
mobile device
output
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280065999.7A
Other languages
English (en)
Other versions
CN104040942A (zh
Inventor
迈克尔·约翰·麦肯齐·托克斯韦格
马修·尼古拉斯·帕帕基波斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Priority to CN201710796741.9A priority Critical patent/CN107547361B/zh
Publication of CN104040942A publication Critical patent/CN104040942A/zh
Application granted granted Critical
Publication of CN104040942B publication Critical patent/CN104040942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

在一种实施方式中,移动设备基于移动设备的用户界面模式确定通知模式,并且将包括通知模式的消息传输至服务器,从而使服务器基于通知模式将一条或者多条消息传输至移动设备。

Description

用于搭载移动设备社交更新的服务器端限速算法
技术领域
本公开整体涉及数据通信。
背景技术
当将两台计算设备连接至网络时,可以使用一种或者多种合适的网络协议经由网络在该两台设备之间传输数据。网络可以是因特网、企业内网、虚拟专用网、局域网、无线局域网、蜂窝网、广域网、城域网、或者两种或更多种该网络的组合。
诸如社交网络网站等的社交网络系统支持其用户与其交互以及通过该系统彼此交互。社交网络系统可创建并且存储通常被称为用户个人资料的与用户相关的记录。用户个人资料可包括用户的人口统计信息、通信渠道信息、以及个人兴趣。社交网络系统还可创建并且存储用户与社交网络系统中其他用户的关系的记录(例如,社交图谱),以及提供服务(例如,墙贴、照片分享、事件组织、发消息、游戏或者广告),以便于社交网络系统中用户之间的社交交互。社交网络系统可将与其服务有关的内容和消息经由网络传输至用户的客户端设备。
附图说明
图1示出了示例性网络环境。
图2示出了基于移动设备的用户界面模式管理从服务器至移动设备的消息传输的示例性方法。
图3示出了用户界面模式和通知模式的实例。
图3A示出了示例性无线连接状态。
图4示出了管理从服务器至移动设备的消息传输的示例性方法。
图4A示出了传输消息队列的示例性方法。
图4B示出了传输消息队列的另一示例性方法。
图5示出了用于计算社交网络系统中用户的亲密性(affinity,亲密度)量度(measure,程度)的示例性框图。
图6示出了示例性社交网络环境。
图7示出了用于基于请求计算用户的亲密性量度的示例性方法。
图8示出了示例性计算机系统。
图9示出了示例性移动设备平台。
具体实施方式
在数据通信中,服务器可经由计算机网络将一条或者多条消息传输至客户端设备。例如,运行电子邮件交换软件的服务器系统可经由因特网将电子邮件消息传输至用户的客户端设备(例如,桌面计算机、手机、平板电脑)。用户可以通过使用在移动设备上运行的电子邮件程序(例如,Microsoft Outlook)访问客户端设备处接收的电子邮件消息。
图1示出了示例性网络环境,其中,可以将一条或者多条消息从服务器传输至移动设备。在具体实施方式中,服务器120可与移动设备122通信并且通过网络云121将一条或者多条消息传输至移动设备122。服务器120可包括一台或者多台计算机或者计算设备。在具体实施方式中,服务器120可操作地连接至一项或者多项消息服务112。各项消息服务112可以是被配置为将消息传输给一个或者多个用户的一台或者多台计算机或计算设备。例如但不限于,消息可以是电子邮件、即时消息(IM)、短消息服务(SMS)消息、多媒体消息服务(MMS)消息、新闻项、广告、系统更新消息、或者其任意组合。例如,消息可以是指示建立实时通信会话(例如,电话呼叫、视频电话)的请求的通知。例如,服务器120可针对有关用户的一条或者多条输出消息访问消息服务112,并且经由网络云121将所述一条或者多条输出消息传输至用户的移动设备122。
网络云121通常表示服务器120经由其可与移动设备122通信的网络或者网络群集(诸如因特网、企业内网、虚拟专用网、局域网、无线局域网、蜂窝网、广域网、城域网、或者其两种或者更多种该网络的组合)。
移动设备122通常是包括用于经由网络进行(例如,远程)通信的功能的便携式计算机或者计算设备。例如,移动设备122可以是手机、平板电脑、膝上型计算机、手持游戏机、电子书阅读器、或者任何其他合适的便携式设备。移动设备122可执行一个或者多个客户端应用程序,诸如网络浏览器(例如,Microsoft Windows Internet Explorer、MozillaFirefox、Apple Safari、Google Chrome、以及Opera等)或者专用客户端应用程序(例如,Microsoft Outlook、iPhone的Facebook等),从而访问并且查看从服务器120经由网络云121传输的内容和消息。在具体实施方式中,移动设备122可经由蜂窝网络(例如,全球移动通信系统或者GSM蜂窝网络、长期演进或者LTE网络)的基站131连接至网络云121。在具体实施方式中,移动设备122可经由WI-FI网络的无线接入点132连接至网络云121。
移动设备(例如,手机、平板电脑)通常只通过其自身电池运行。同时,经由无线网络接收消息能够(例如,通过移动设备的无线收发器单元)降低存储在移动设备电池中的大量能量。在用户移动设备处使用大量用户可用的(诸如上述)消息时,希望管理到用户移动设备的消息传输以节省移动设备的电池电力。本公开中的具体实施方式描述了管理将消息传输至用户移动设备的方法。更具体地,具体实施方式基于用户与移动设备的交互来管理向用户移动设备传输消息。例如,如果用户与移动设备积极交互(例如,用于正在访问移动设备上运行的一个或者多个应用程序),则具体实施方式能够实时地将一条或者多条消息传输至用户的移动设备。例如,如果用户没有与移动设备(该移动设备不在用户附近时)积极交互(例如,用户可能已经入睡),则具体实施方式能够仅在用户请求时将一条或者多条消息传输至用户的移动设备。
图2示出了基于移动设备的用户界面模式管理从服务器至移动设备的消息传输的示例性方法。通过用户移动设备的一个或者多个处理器上运行的通知模式管理器处理可以实施图2中的示例性方法。例如,移动设备可以是手机、平板计算机、膝上型计算机、手持游戏机、电子书阅读器、或者任何其他合适的便携式设备。在具体实施方式中,如图1所示,服务器120可经由网络云121(例如,因特网)与移动设备通信并且将消息传输至移动设备。在具体实施方式中,如图1所示,移动设备可经由蜂窝网络的基站131和/或WI-FI网络的接入点122连接至网络云121。在具体实施方式中,通知模式管理器处理可基于移动设备的用户界面模式确定通知模式(201)。在具体实施方式中,通知模式管理器处理可将包括通知模式的消息传输至一台或者多台计算设备(例如,服务器120),从而使一台或者多台计算设备基于通知模式将一条或者多条消息传输至移动设备(202)。
图3示出了图2中的示例性方法的用户界面模式和通知模式的实例。在具体实施方式中,通知模式管理器处理可基于指示用户正在与移动设备积极交互的当前用户界面模式确定涓流(trickle)通知模式。如果用户正在与移动设备上运行的一个或者多个应用程序交互,则通知模式管理器处理可确定用户正在与移动设备积极交互。通知模式管理器处理通过确定在预定时间持续时段(例如,持续20秒)内具体应用程序的用户界面是否接收用户输入或者是否接收用户界面焦点,可确定用户是否与具体应用程序正在交互。例如,通知模式管理器处理通过访问移动设备的操作系统或者订阅为具体应用程序的用户输入事件的收听者,可确定预定时间持续时段内具体应用程序的用户界面是否接收用户输入(或者接收用户界面焦点)。
例如,通知模式管理器处理可确定用户是否正与移动设备上运行的消息阅读器应用程序交互。例如,通知模式管理器处理可确定用户是否正与移动设备上除消息阅读器之外的应用程序交互。消息阅读器可以是专用客户端应用程序(例如,Microsoft Outlook、iPhone的Facebook)。消息阅读器还可以是显示用于访问一条或者多条消息(例如,Google的Gmail网络界面、Facebook网络用户界面)的一个或者多个结构文档(例如,网页、iFrame)的网络浏览器。在具体实施方式中,如图3所示,如果当前用户界面模式是用户正在与移动设备上运行的消息阅读器应用程序交互(301)或者用户正在与移动设备上除消息阅读器之外的应用程序交互(302),则通知模式管理器处理可确定涓流通知模式(310)。在具体实施方式中,通知模式管理器处理可将指示涓流通知模式的消息传输至服务器120,从而使服务器120实时地将一条或者多条消息传输至移动设备。例如,响应于指示涓流通知模式的消息,服务器120上运行的服务器端处理可以针对有关用户的一条或者多条输出消息访问一项或者多项消息服务112,并且实时地将该一条或者多条输出消息传输给用户(例如,无论新的输出消息是否可用)。
在具体实施方式中,通知模式管理器处理可基于指示用户当前没有与移动设备(尽管移动设备在用户附近--例如,移动设备可能在用户的衣袋内,而用户步行或者驾车)积极交互的当前用户界面模式确定休憩(napping,小憩)通知模式。如果在预定时间持续时段(例如,持续3分钟)内移动设备上运行的应用程序没有接收到任何用户输入(没有用户输入焦点),则通知模式管理器处理可确定用户没有在与移动设备交互。在其他实施方式中,如果移动设备的显示器处于低功率或者低使用状态(例如,显示器断电,或者屏幕保护程序或屏幕锁定程序被激活),则通知模式管理器处理可确定用户没有在与移动设备交互。如果移动设备处于移动状态(例如,指示用户正携带移动设备),则通知模式管理器可确定移动设备在用户附近。通知模式管理器通过访问移动设备的加速度计的设备驱动器可确定移动设备是否处于移动状态。
在具体实施方式中,如图3所示,如果用户没有在与移动设备交互,且移动设备处于移动状态(303),则通知模式管理器处理可确定休憩通知模式(311)。在具体实施方式中,通知模式管理器处理可将指示休憩通知模式的消息传输至服务器120,从而使服务器120以预定时间间隔(例如,每10分钟)将一条或者多条消息传输至移动设备。例如,响应于指示休憩通知模式的消息,服务器120上运行的服务器端处理可针对有关用户的一条或者多条输出消息访问一项或者多项消息服务112,并且每隔10分钟将该一条或者多条输出消息传输至移动设备。
在具体实施方式中,通知模式管理器处理基于指示用户没有在与移动设备积极交互(同时移动设备在预定时间持续时段内静止(例如,移动设备持续15分钟静止))的当前用户界面模式可确定睡眠通知模式。例如,用户可能已经入睡。如上所述,如果移动设备上运行的应用程序没有在预定时间持续时段内接收到用户输入(没有用户输入焦点),则通知模式管理器处理可确定用户没有在与移动设备交互。如果移动设备的显示器处于低功率或者低使用状态,则通知模式管理器处理也可确定用户没有在与移动设备交互。通知模式管理器处理通过访问移动设备的加速度计的设备驱动器可确定移动设备是否静止或者闲置。
在具体实施方式中,如图3所示,如果用户没有在与移动设备(同时移动设备静止(304))交互,则通知模式管理器处理可确定睡眠通知模式(312)。在具体实施方式中,通知模式管理器处理可将指示睡眠通知模式的消息传输至服务器120,从而在用户请求时使服务器120将一条或者多条消息传输至移动设备。即,除非用户请求访问消息,否则服务器120不将消息传输至移动设备。例如,用户可访问上述所述的消息阅读器应用程序,从而使通知模式管理器处理将指示上述所述的涓流通知模式(310)的消息传输至服务器120。响应于指示涓流通知模式的消息,服务器120上运行的服务器端处理可以针对有关用户的一条或者多条输出消息访问一项或者多项消息服务112,并且将该一条或者多条输出消息传输给用户。
通知模式管理器处理可基于用户界面模式的不同组合确定通知模式。例如,如果用户在与移动设备上除消息阅读器应用程序之外的应用程序交互(302),或者如果用户没有在与移动设备(同时移动设备处于移动状态)交互(303),则通知模式管理器处理可确定休憩通知模式。如果用户在与移动设备上运行的消息阅读器应用程序交互(301),则通知模式管理器处理可确定涓流通知模式。如果用户没有在与移动设备(同时移动设备静止)交互(304),则通知模式管理器处理可确定睡眠通知模式。
而且,通知模式管理器处理基于移动设备的功率状态可确定通知模式。例如,通知模式管理器处理可访问用于移动设备电池的设备驱动器并且确定电池水平(level)为低(例如,低于20%充电)。如图3所示,为了节省电池能量,如果电池水平为低(305),则通知模式管理器处理可确定睡眠通知模式(312)。在其他实施方式中,如果电池接近完全充电(例如,大于90%充电),则通知模式管理器处理可确定休憩通知模式。如果电池正在充电,则通知模式可确定涓流通知模式。
通知模式管理器处理还可基于移动设备的当前无线网络状态确定通知模式。例如,通知模式管理器处理可访问移动设备的无线通信子系统的设备驱动器并且确定当前无线网络连接的信号强度(例如,4/5条格(bar))。例如,具有弱信号强度的无线网络连接(例如,1/5条格)由于数据包丢失而可能在数据通信时没有效率(因此消耗更多能量)。如图3所示,如果当前无线网络连接的信号强度低(306),则通知模式管理器处理可确定睡眠通知模式(312)。具体实施方式可进一步基于通知模式改变移动设备的无线网络状态。出于教导之目的,图3A示出了用于GSM和演进UMTS(通用移动电信系统)地面无线访问网络(E-UTRAN)蜂窝网络连接的无线资源控制(RRC)连接模式。本公开考虑了任一类型蜂窝网络的无线网络状态的任一组合。在图3A的实施例中,供电之后,移动设备保持处于闲置状态(350),直至移动设备通过转变至DCH(专用信道)连接模式(351)或者FACH(前向接入信道)连接模式(353)才与基站建立连接。除DCH连接模式和FACH连接模式之外,移动设备还可在PCH(分页信道)连接模式(352)下连接至基站。在多种连接模式之中,DCH连接模式可能具有最高数据带宽和最高能耗(例如,2MB/sec、200mA)。FACH连接模式具有较低数据带宽,但消耗约50%的DCH连接模式的能量(例如,4kB/sec、100mA)。PCH连接模式具有零数据带宽,但消耗约1%~2%的DCH连接模式的能量(例如,零数据、2mA)。移动设备可从较高功率和数据带宽连接状态转变成较低功率和数据带宽连接状态(例如,图3A中的360、361以及362),从而节省能耗且保持与基站连接。通过使用定时器可触发转变360、361以及362。例如,在移动设备完成数据传输会话之后10秒钟,基站可将与移动设备的无线连接从较高功率和数据带宽连接状态转变成较低功率和数据带宽连接状态。通过将用于转变至低功率和带宽连接状态的请求发送给基站,移动设备还可将与基站的无线连接从较高功率和数据带宽连接状态主动转变成较低功率和数据带宽连接状态,而无需等待定时器期满(例如,3GPP TS 25.331中CR3483R2的第8期中所描述的快速休眠请求)。
在具体实施方式中,通知模式管理器处理基于通知模式可确定第二无线网络状态。在具体实施方式中,通知模式管理器处理可将对第二无线网络状态的请求传输至蜂窝基站,从而使基站将移动设备与蜂窝基站之间的连接转变至第二无线网络状态。例如,如图3所示,通知模式管理器处理基于用户界面模式(304)可确定睡眠通知模式(312)。因为在睡眠通知模式期间,除非用户请求,否则服务器120不将消息发送给移动设备,所以希望具有较低功率和数据带宽模式以延长移动设备的电池寿命。例如,通知模式管理器处理可将对闲置连接模式的请求传输给基站131,从而使基站131将移动设备与基站131之间的无线连接转变成闲置连接模式(322)。同样,例如,如图3所示,通知模式管理器处理基于用户界面模式(303)可确定休憩通知模式(311)。通知模式管理器处理可将对PCH连接模式的请求传输给基站131,从而使基站131将移动设备与基站131之间的无线连接转变成PCH连接模式(321)。又例如,如图3所示,通知模式管理器处理基于用户界面模式(301或者302)可确定涓流通知模式(310)。通知模式管理器处理可将对FACH连接模式的请求传输给基站131,从而使基站131将移动设备与基站131之间的无线连接转变成FACH连接模式(320)。
如上所述,具体实施方式基于移动设备的用户界面模式可确定用于移动设备的通知模式。具体实施方式可将指示通知模式的消息传输给服务器,从而使服务器基于通知模式将消息传输给移动设备。例如,如果通知模式是涓流通知模式,则服务器可基于实时地将消息传输给移动设备。例如,如果通知模式是休憩通知模式,则服务器每隔10分钟将消息传输给移动设备。如图4所示,除基于通知模式将输出消息传输给移动设备之外,具体实施方式可进一步基于输出消息的排列将输出消息传输给移动设备。
在具体实施方式中,服务器120可从用户的移动设备接收包括移动设备的通知模式(例如,涓流通知模式、休憩通知模式)的消息(401)。在具体实施方式中,服务器120可从用户的移动设备接收包括移动设备健康状态的消息,诸如电池寿命、信号强度、无线网络可用性(WiFi或者3G/4G)、设备是否正在充电等,并且服务器120可确定移动设备的通知模式。在具体实施方式中,移动设备可将确定移动设备通知模式的各种因素(即,变量301-306…)传输给服务器120。在具体实施方式中,服务器120确定移动设备的通知模式,并且将指令传输给移动设备以调整其通知模式。在具体实施方式中,移动设备确定其自身的通知模式,但仍将有关其系统健康状态的信息传输给服务器120。
消息可进一步包括用户的身份信息(例如,用户姓名、电话号码、电子邮件地址)。响应于该条消息,服务器120上运行的服务器端处理可访问指示有关用户的一条或者多条输出消息的一项或者多项消息服务112(402)。服务器端处理可针对有关该一条或者多条输出消息的信息访问一项或者多项消息服务112。例如,有关输出消息的信息可包括输出消息发起人的一项或者多项身份信息(例如,用户姓名、电话号码、电子邮件地址)。
在具体实施方式中,服务器端处理可确定一条或者多条输出消息中的每个的值(403)。在具体实施方式中,服务器端处理基于一条或者多条输出消息中的每个与用户之间的亲密性或者社交关联性(即,基于各条输出消息的发起人与用户之间的亲密性),可确定该一条或者多条输出消息中的每个的值。例如,服务器端处理可分配一条或者多条输出消息中的每个一项亲密性分数。例如,如果输出消息的发起人是用户的直系家庭成员(例如,父母、同胞),则服务器端处理可分配输出消息1.0的亲密性分数,或者如果输出消息的发起人与用户频繁通信,则分配0.9的亲密性系数,或者如果输出消息的发起人是用户在社交网络系统的社交图谱中的第一重要程度社交联系人,则分配0.7的亲密性系数。社交网络系统中用户之间的交互(诸如聊天、墙贴、电子邮件等)也可用于对社交网络系统中用户之间的亲密性进行打分。下面描述亲密性量度打分的方法。
如果用户在与移动设备交互,则具体实施方式可将更多的输出消息传输给移动设备,而如果用户没有在与移动设备积极交互,则将更少的输出消息传输给移动设备。在具体实施方式中,服务器端处理基于通知模式和一个或多个输出消息的相应值可将至少一条输出消息传输给移动设备(404)。例如,响应于来自移动设备的指示涓流通知模式的消息(例如,用户正在与移动设备交互),服务器端处理可选择具有大于预定阈值(例如,0.4)的亲密性分数的输出消息,并且将选择的输出消息传输给移动设备。相反,例如,响应于来自移动设备的指示休憩通知模式的消息(例如,用户没有在与移动设备交互,且移动设备处于移动状态),服务器端处理通过使用较高阈值(例如,0.8)可仅选择高亲密性输出消息(例如,与用户最为相关的消息),并且将选择的高亲密性输出消息传输给移动设备。
除了将具有最高亲密性分数的输出消息传输给移动设备之外,具体实施方式可将一条或者多条其余输出消息存储在队列中并且在随后时间传输给移动设备。在具体实施方式中,服务器端处理基于该一条或者多条输出消息的相应值和通知模式可选择该一条或者多条输出消息中的一条或者多条并且将其存储在队列中。例如,如果通知模式为涓流通知模式,则服务器端处理可选择具有小于0.4的亲密性分数的输出消息并且将选择的消息存储在队列中。例如,如果通知模式是休憩通知模式,则服务器端处理可选择具有小于0.8的亲密性分数的输出消息并且将选择的消息存储在队列中。
服务器端处理可在随后的即时时间将队列中一条或者多条输出消息中的至少一条传输给移动设备。例如,服务器端处理可以预定时间间隔(例如,每隔30分钟)将至少一条队列输出消息传输给移动设备。例如,当队列大小大于预定阈值时(例如,当队列具有多于20条队列消息时),服务器端处理可将至少一条队列输出消息传输给移动设备。例如,当实时输出消息(例如,电话呼叫)被传输给移动设备时,服务器端处理可将至少一个队列消息传输给移动设备。例如,当高亲密性输出消息(例如,具有大于0.8的亲密性分数的消息)被传输给移动设备时,服务器端处理可将至少一条队列输出消息传输给移动设备。即,服务器端处理可将至少一条队列输出消息与另一实时或高亲密性输出消息搭载。
图4A示出了基于移动设备报告的通知模式(或者可替代地,移动设备报告的系统健康状态)将消息排队并且将消息传输给移动设备的示例性方法。在步骤405,服务器120上的一个或者多个服务器端处理可从消息服务112接收输出消息。如之前所公开,消息可以是被传输给移动设备的任一类型的通知或者通信,包括但不限于:即时消息、朋友请求及其接受度、另一用户在用户的贴墙上编写、另一用户在用户的照片上加标签、来自附近用户的签到、来自用户朋友的状态消息等。在步骤406,服务器120上的一个或者多个服务器端处理将分数分配给输出消息。如之前所公开,可基于亲密性分数分配得分。在具体实施方式中,亲密性分数可以是用户对该消息感兴趣的相对程度的预测。在该实施方式中,预测功能可以是基于用户对相同类型的消息的之前历史参与度的机器学习算法。将参照图5和图7更为详细地描述消息亲密性打分。在具体实施方式中,可以基于消息的预定分类为消息分配值。例如,特定消息可能被认为对所有用户更为重要,诸如即时消息、墙贴或者朋友请求,而其他消息可能极不重要。在具体实施方式中,将消息划分为实时消息和非实时消息。本公开考虑了计算各条输出消息的消息分数的任何合适方法。
在步骤407,服务器120上的一个或者多个服务器端处理将新打分消息添加到输出消息队列中并且将该分数添加到消息队列中所有消息分数的运行总和。因此,在步骤407,总队列分数被增加了通过对具体消息计算的分数。
在步骤408,服务器120上的一个或者多个服务器端处理确定输出消息队列中所有消息分数的总和是否超过预定阈值。可基于从移动设备接收的通知模式消息(或者可替代地,系统健康状态指示),通过一个或者多个服务器端处理实时调整阈值。在具体实施方式中,更高功耗通知模式可转换为“更健康”的设备,并且阈值可以降低。例如,如果移动设备报告其电池充满、插入并且连接到WiFi网络,则可以将阈值设置为零,从而使服务器120上的服务器端处理基本实时地将消息推送给移动设备。在另一极端情况下,如果移动设备报告其电池寿命低于10%并且位于3G网络边缘处,则服务器120上的一个或者多个服务器端处理可将阈值增加至极高数字,例如100。在具体实施方式中,接收包括通知模式或移动设备状态的消息触发更新阈值并且迫使图4A中的处理跳至步骤408的中断。因此,在该实施方式中,如果设备报告其“健康状态”改善,例如,通过从仅具有3G接入的区域移动至具有WiFi接入的区域,则服务器120上的服务器端处理向下调整移动设备的阈值,并且执行核查以确定是否应传输该队列。因此,即使存在新消息,移动设备健康状态或者通知模式的改变也可能触发队列传输。
如果服务器120上的一个或者多个服务器端处理在步骤408确定输出消息队列中的分数总和超过阈值,则其将输出消息队列中的所有消息传输给移动设备、清空队列并且清除总和。如果在步骤408输出消息队列中消息分数的总和未超过阈值,则该处理返回至步骤405,在步骤405,其等待将另一输出消息接收到移动设备。
图4B示出了将较不重要消息的传输与较为重要消息的传输搭载的另一示例性方法。类似于图4A中的方法,图4B中的方法基于输出消息和通知模式或者移动设备的设备健康状态的相对重要性调整输出消息的传输。
在步骤410,服务器120上的一个或者多个服务器端处理接收目的地为移动设备的输出消息。在步骤411,服务器120上的服务器端处理计算消息超时。在具体实施方式中,消息超时与预定重要性成反比,并且与移动设备的相对健康状态或者通知模式反相关。例如,某些特定消息可能非常重要,以致于其超时值可能为零(即,其被立即并且基本实时地传输给用户)。例如,标记“紧急”的即时消息可能具有零超时值。在另一极端情况下,来自遥远朋友的极低值状态消息可能具有无限超时值;消息自身将永远不会被发送。在具体实施方式中,通过如下所述的亲密性打分可以确定各条输出消息的超时值,且超时与消息的亲密性反相关。各条消息的超时值还与设备健康状态或者通知模式反相关。因此,如果设备处于混杂(高消息)通知模式,诸如DCH模式,则由于预定因素而缩小各条消息的超时值。相反,如果移动设备处于低消息传输模式,或者报告健康状态不佳(再次,出于教导之目的,低电池寿命或者低网络连接性),则各条消息的超时期限可乘以大于1的预定比例因子。本公开考虑了计算各条输出消息的超时的任何合适方法。
在步骤412,输出消息存储在消息队列中。在具体实施方式中,服务器120上的一个或者多个服务器端处理维持输出消息队列中各条输出消息的独立定时器。在具体实施方式中,服务器端处理维持单个系统定时器,并且存储输出消息队列中各条消息的倒计数值和开始时间。本公开考虑了确定任一各条输出消息是否超时的任一合适方法。
在步骤413,服务器120上的一个或者多个服务器端处理确定输出消息队列中的任一消息是否超时。在具体实施方式中,输出消息队列中任一消息的超时触发将图4B中的方法立即分支到步骤414的中断处理。如果任一消息均不超时,则处理返回至步骤410,在步骤410,其等待接收被传输给输出设备的新消息。
在步骤414,如果输出消息队列中的任一消息超时,则服务器120上的一个或者多个服务器端处理将输出消息队列中的所有消息传输给移动设备并且清空该队列。然后,该处理自身重复接收目的地为移动设备的下一输出消息。上述所述方法仅示出了两种示例性服务器端消息传输算法。本公开考虑了基于消息重要性、用户与消息的亲密性、设备传输模式或者设备健康状态的其他方法。作为基本原理,移动设备基于参照图3所描述的各种因素(电池寿命、用户交互、网络连接等)获知接收消息的资源成本,而服务器(基于社交因素和经验参与度)获知被传输给用户的信息或消息的值。在移动设备告知资源成本之后,如果该值超过成本,则服务器可自行决定是否将消息传输给移动设备。本公开考虑了计算、或者分配对与接收一条信息相关联的资源成本的计算的任何合适方法。本公开考虑了计算、或者分配对给特定用户的一条消息的主观值或者给所有用户的一条消息的客观值的计算的任何合适方法。
在一种实施方式中,社交网络环境中运行的处理从实施亲密性函数的模块请求具体用户的亲密性量度。在一种实施方式中,该模块通过组合(例如,添加)预测函数的权重设置来计算所请求的亲密性量度,其中,各个预测函数预测用户是否将执行不同动作。通过该处理可提供请求亲密性量度的权重,这允许请求处理对预测函数进行不同加权。在这种情况下,出于其自身之目的,通过请求处理可调整亲密性函数。在一种实施方式中,出于计算给目标接收人的输出消息的亲密性分数之目的,可以计算亲密性。
预测函数可以预测用户是否将基于用户对该动作的兴趣执行具体的动作。例如,基于(例如,诸如使用上述社交网络系统功能与其他用户交互的)用户历史活动可以导出预测函数。此外,预测函数可包括使通过用户历史活动所提供的信号的强度随着时间逐渐衰减的衰减因子。预测函数可预测社交网络系统内或者外的任意动作次数。例如,这些动作可包括各种类型的用户通信,诸如消息、发帖内容、以及对内容的评论;各种类型的用户观察动作,诸如查看其他联系人的个人资料和查看由其他联系人发布的照片和内容;以及有关两个或者更多个用户的各种类型的并发信息,诸如加签相同图片、签到同一位置以及参加同一事件。使用根据历史活动和以前用户反应或者用户输入数据训练的机器学习算法通过将其暴露给各种选项以及测量响应可确定预测函数。
为了预测用户在给定情形下采取的可能动作,社交网络系统上或者外部的任何处理均可通过提供一组权重来请求用户的亲密性量度。亲密性量度可反映社交网络系统中用户对其他用户、内容、动作、广告、或者任何其他对象的兴趣。权重可以是二进制,或者更一般地,可以是任意实数。例如,在一种实施方式中,专用于通过社交网络系统传输或者发送的目标用户的通信设备的消息可被处理以计算目标用户与消息之间的亲密性。在传输给通信设备之前,亲密性值可被附加在消息中。在其他实施方式中,托管在通信设备上的处理可访问亲密性模块以请求亲密性量度。在一些实施方式中,通信设备可请求通信设备的目标用户与目标用户的联系人数据库(存储在通信设备本机上或者远程存储在社交网络系统上)中标识的一个或者多个其他用户之间的亲密性。在随后的同步处理期间可以获得经修改的亲密性值。通信设备可使用这些有关来自相应用户的消息的亲密性值。在其他实施方式中,通信设备可在本机上监控交互并且在本机上计算亲密性值。
图5是用于计算社交网络系统中用户亲密性量度的函数的框图。为了计算指示用户可能希望在任何给定情形下采取的一组可能动作的亲密性的量度615,将权重105应用于预测函数610,并且然后,进行组合以获得亲密性的量度615。尽管图5示出了三种预测函数610,然而,在其他实施方式中,可以采用任意数目的预测函数。此外,在图5的实施方式中,对加权的预测函数610进行线性组合。在不同的实施方式中,可以使用其他形式的组合,包括调和平均、均方以及几何平均。此外,在预测用户动作之前,可以计算具有变化权重605的多种亲密性量度615。
亲密性函数的权重605支持其出于各种不同目的而用于社交网络系统环境中的各种处理。例如,在向广告提供来自查看者朋友的社交认可的处理中,广告算法可使用亲密性的量度615函数来确定社交认可中提及哪个用户联系人或者认可中提及什么动作类型。亲密性的量度615随后可基于示出用户对查看由另一用户发布的内容的兴趣程度的预测函数610、以及示出用户对社交认可中提及的各种动作的兴趣程度的一个或者多个预测函数610。广告算法由此为这些预测函数610提供相对较大的权重,使得所获得的亲密性的量度将更为准确地确定对浏览用户更为感兴趣的社交认可。广告算法随后将使用所获得的亲密性的量度选择社交认可,从而增加广告变换的可能性。
作为第二实施例,在中断用户之间通信的消息应用的处理中,社交算法可使用亲密性的量度615函数来确定用户可能对由具体发送用户发送的消息的兴趣程度。为此,亲密性的量度615可以基于示出用户对查看由用户联系人发布的内容的兴趣程度和/或通常用户将消息发送给彼此的频率的预测函数610、以及示出用户发布或者访问不同类型消息的兴趣程度的一个或者多个预测函数610。因此,社交算法将对这些预测函数610的加权相对较高,使得所获得的亲密性的量度将准确确定对于查看用户更为感兴趣的消息。由于加权预测函数610支持的亲密性函数的高度可调性质,所以可以出于多种不同目的使用该亲密性函数。
图6是根据一种实施方式的社交网络系统的环境的高级框图。图6示出了通过网络708连接的社交网络系统700、用户设备702、以及外部服务器704。社交图谱718存储各个用户与社交网络系统100中的其他用户的连接。在一些实施方式中,社交图谱718还可存储第二级连接。因此,该连接可以是直接或者间接的。例如,如果用户A是用户B而非用户C的第一级连接,并且B是C的第一级连接,则C在社交图谱718上是A的第二级连接。
动作存储器740存储由社交网络系统700中的用户执行的动作,以及与这些动作相关联的时间指示和对与动作有关的任何对象的参考。此外,动作存储器740可存储用于规定动作分类的统计。例如,对于给定用户,动作存储器740可包含30天内用户的墙贴数目、用户发送的消息数目、用户在30天内发布的照片数目以及在30天内接收用户评论的不同用户的数目。对于用户A与用户B两名用户之间的给定连接,动作存储器740可包含下列动作:诸如从A至B的个人资料页面浏览次数、从A至B的照片页面浏览次数、从A至B的消息数目以及同一照片中加签A和B的次数,并且这些动作可与时间戳相关联或者可通过截止日期被过滤掉(例如,24小时、90天等)。动作存储器740中记录的动作可以是由用户响应于社交网络系统700提供建议动作选择给用户而执行的耕种动作(farmed action)。
预测模块720负责计算预测用户是否将执行一组对应动作的一组预测函数610。如上所述,每个预测函数610可以表示用户对与预测函数610相关联的具体动作的兴趣。用户的历史动作可以用作用户未来对同一活动感兴趣的信号。在一些实施方式中,利用使用与动作相关联的用户历史活动训练的机器学习算法生成预测函数610。因此,预测模块720为一组动作中的每个提供预测函数610,其中,预测函数610可将用户历史活动作为输入并且然后输出用户将参与对应活动的可能性量度。
在一些实施方式中,一个或者多个预测函数610可使用来自用户历史活动的信号强度随着时间衰减的衰减因子。而且,不同预测函数610可以不同的速率衰减历史活动。例如,类似于添加新连接等的某些类型的用户活动比指示更为瞬时兴趣的其他类型活动(类似对另一用户的状态进行评论)指示更为持久的兴趣。因此,预测函数610基于对随着时间流逝该活动可能变为较低相关性的程度的理解,可使历史活动的效应衰减。为此,可以使用各种衰减机制。例如,预测函数610可使用诸如指数衰减等的数学函数来衰减有关用户行为的统计。在另一实施方式中,通过仅选择有关具体时间窗口(诸如24小时或30天)内发生的用户行为的这些统计来实施衰减。
在一种实施方式中,预测函数610被实现为如等式(1)中所示的两个亲密性函数的比率。分子和分母亲密性函数将用户的历史活动统计作为输入。
其中:
P是预测函数610;
ai(对于i=0、1、2、…、N)是分子亲密性函数的系数;
bi(对于i=0、1、2、…、M)是分母亲密性函数的系数;并且
xi(对于i=1、2、…、N+M)是有关预测函数P的用户历史活动的统计。
分母亲密性函数可以表示标准化的分母亲密性函数。例如,除其他统计之外,通过用户在社交网络系统700上活动的次数可以标准化用户做出的评论数目。具体地,通过改变对于i=0、1、2、…、M的bi,可以改变标准化模式。在一些实施方式中,通过可由预测模块720实施的机器学习确定对于i=0、1、2、…、N的ai和对于i=0、1、2、…、M的bi中的一些或者所有系数。在具体实施方式中,通过提供统计学意义数目的用户若干选项并且监控其反应,采用通过耕种获得的训练数据来使用监管的机器学习算法。在另一实施方式中,基于历史用户活动和对动作选择的之前反应来整体训练监管的机器学习算法。预测函数610还可以是非线性的。示例性实施方式对一个家庭实施预测函数610,其中,预测函数610包括用于家庭成员的‘如果-然后’结构,即,根据是否正在对父母或者孩子进行计算而不同地计算预测函数610。
社交网络系统700中的一些预测函数610可预测有关社交网络系统700中用户的通信的动作。具体有关通信的统计可包括广播数据和通信数据。例如,广播数据可包括在给定时间期限内用户发布的照片数目、在给定时间期限内用户经由应用程序的发帖数目、以及用户已经发布或者另行分布到一组其他用户的任何其他通信。例如,通信数据可包括在给定时间期限内用户的喜欢数目、在给定时间期限内用户发布的评论数、以及有关用户通信活动的任何其他信息。
同样,社交网络系统700中的一些预测函数610可预测有关社交网络系统700中用户的内容观察的动作。例如,具体有关观察的统计可包括在给定时间期限内由用户对另一用户的个人资料页面浏览的次数、在给定时间期限内用户对照片浏览的次数、在给定时间期限内对包含社交认可的广告的浏览次数、以及包括用户浏览内容的任何其他活动。
最后,社交网络系统700中的一些预测函数610可预测有关用户与社交网络系统中的一个或者多个其他用户的并发性的动作。例如,具体有关并发性的统计可包括两个或者更多个用户在同一图片中加签的比率、签到同一位置的比率、或者已经确认(例如,经由RSVP)他们将参加同一事件的比率、以及包括有关多个用户的社交网络系统中的动作或者对象的任何其他活动。
亲密性模块760基于有关社交网络系统700中用户的输入数据使用预测函数610提供亲密性的量度615。在图5的实施方式中,亲密性模块760如等式(2)中所示对预测函数进行线性求和。然而,其他实施方式等同可行。
A=β01P12P2+...+βsPs (2)
其中:
A是所请求的亲密性的量度615;
Pi(对于i=0、1、2、…、s)是社交网络系统700中的s个预测函数610;并且
βi(对于i=1、2、…、s)是被分配给社交网络系统100中的s个预测函数610的权重605。
图7示出了用于基于请求来计算用户的亲密性量度615的方法的实施方式。社交网络系统700首先接收771来自有关用户的亲密性量度615的处理的请求以及被分配给各个预测函数610的权重605。该请求可包括需要其亲密性分数的消息或者从该消息中提取的一个或者多个属性。社交网络系统700随后在预测模块772中计算772有关用户的预测函数610。之前计算的预测函数610被组合以确定773随后被提供774给请求处理的整体亲密性量度615。
图8示出了可与某些实施方式一起使用的示例计算机系统800。本公开考虑任何合适数量的计算机系统800。本公开考虑采用任何合适外形的计算机系统800。作为示例而不是作为限制,计算机系统800可以是嵌入式计算机系统、片上系统(SOC)、桌面计算机系统、移动计算机系统、游戏机、主机、计算机系统网络、服务器、或它们的两个或以上的结合。在合适的情况下,计算机系统800可以包括一个或多个计算机系统800;可以是整体的或分布的;可以跨多个位置;可以跨多个机器;或可以位于云中,云可以包括在一个或多个网络中的一个或多个云部件。在适当的情况下,一个或多个计算机系统800可无实质空间或时间限制地执行本文所描述或示出的一个或多个方法的一个或多个步骤。作为实例而不是作为限制,一个或多个计算机系统800可实时地或以批模式执行本文所描述或示出的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统800可在不同的时间或不同的位置执行本文所描述或示出的一个或多个方法的一个或多个步骤。
在特定的实施方式中,计算机系统800包括处理器802、内存804、存储器806、输入/输出(I/O)接口808、通信接口810以及总线812。在特定的实施方式中,处理器802包括用于执行指令(诸如组成计算机程序的那些)的硬件。作为实例而不是作为限制,为了执行指令,处理器802可从内部寄存器、内部缓存、内存804或存储器806中检索(或取出)指令;解码并且执行它们;并且然后将一个或多个结果写入内部寄存器、内部缓存、内存804或者存储器806中。在具体实施方式中,处理器802可包括用于数据、指令或者地址的一个或者多个内部缓存。在特定的实施方式中,内存804包括主存储器,主存储器用于存储处理器802执行的指令以执行供处理器802操作的数据。作为实例而不是作为限制,计算机系统800可从存储器806将指令加载至内存804。然后,处理器802可从内存804加载指令至内部寄存器或内部缓存。为了执行指令,处理器802可从内部寄存器或内部缓存检索指令并且解码它们。在执行指令的过程中或者之后,处理器802可将一个或者多个结果(其可以是中间或者最终结果)写到内部寄存器或者内部缓存中。然后,处理器802可将这些结果中的一个或者多个写到内存804中。一个或者多个内存总线(其均可包括地址总线和数据总线)可将处理器802耦接到内存804。如下所述,总线812可包括一个或者多个内存总线。在具体实施方式中,一个或者多个内存管理单元(MMU)驻留在处理器802与内存804之间并且便于访问由处理器802请求的内存804。在具体实施方式中,内存804包括随机存取存储器(RAM)。该RAM可以是易失性存储器,在合适的情况下,该RAM可以是动态RAM(DRAM)或者静态RAM(SRAM)。
在特定的实施方式中,存储器806包括用于数据或指令的大容量存储器。作为实例而不是作为限制,存储器806可包括HDD、软盘驱动、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动或这些的两个或更多个的组合。在适当的情况下,存储器806可包括可移除的或不可移除的(或固定的)介质。在适当的情况下,存储器806可以是计算机系统800内部的或外部的。在特定的实施方式中,存储器806是非易失性的固态存储器。在特定的实施方式中,存储器806包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、或闪存或者这些中的两种或者更多种的组合。
在特定的实施方式中,I/O接口808包括为计算机系统800和一个或多个I/O装置之间的通信提供一个或多个接口的硬件、软件或两者。在适当的情况下,计算机系统800可包括这些I/O装置的一个或多个。这些I/O装置的一个或多个可启用个人与计算机系统800之间的通信。作为实例而不是作为限制,I/O装置可包括键盘、麦克风、显视器、触摸屏、鼠标、扬声器、摄像机、另一合适的I/O装置或这些的两个或更多个的组合。I/O装置可包括一个或多个传感器。本公开为它们考虑任何合适的I/O装置以及任何合适的I/O接口808。在合适的情况下,I/O接口808可包括一个或者多个设备或者支持处理器802驱动一个或者多个这些I/O设备的软件驱动器。在合适的情况下,I/O接口808可包括一个或者多个I/O接口808。尽管本公开描述并且说明了特定的I/O接口,但是本公开考虑任何合适的I/O接口。
在特定的实施方式中,通信接口810包括为在计算机系统800与一个或多个其他计算机系统800或一个或多个网络之间的通信(诸如,例如基于数据包的通信)提供一个或多个接口的硬件、软件或两者。作为实例而不是作为限制,通信接口810可包括用于与以太网或其他基于有线的网络通信的网络接口控制器(NIC),或用于与无线网络(诸如WI-FI网络)通信的无线的NIC(WNIC)。本公开为其考虑任何合适的网络和任何合适的通信接口810。作为实例而不是作为限制,计算机系统800可与自组织网络、个人区域网络(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或因特网的一个或多个部分或者这些的两个或更多个的组合通信。一个或多个这些网络的一个或多个部分可以是有线的或无线的。作为示例,计算机系统800可与无线PAN(WPAN)(例如BLUETOOTH WPAN)、WI-FI网络(例如802.11a/b/g/nWI-FI网络)、WI-MAX网络、蜂窝网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络)或其他合适的无线网络或者这些的两个或更多个的组合通信。
在具体实施方式中,总线812包括硬件、软件、或者将计算机系统800的部件彼此耦接的硬件和软件。作为实施例但不限制,总线812可包括加速图形端口(AGP)或者其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互联、无限带宽技术互联、低脚位(LPC)总线、内存总线、外围部件互连快速或者PCI快速总线、串行高级技术附件(SATA)总线、互联集成电路(I2C)总线、安全数字(SD)内存接口、安全数字输入输出(SDIO)接口、通用串行总线(USB)、通用输入/输出(GPIO)总线、或者另一合适的总线或者这些的两种或者更多种的组合。在合适的情况下,总线812可包括一个或者多个总线812。
上述客户端功能能够以存储在计算机可读存储介质上的一系列指令来实施,当这些指令被执行时,使可编程处理器实施上述操作。尽管移动设备122可以各种不同的硬件和计算系统来实施,但是图9示出了根据各种特定实施方式的客户端或移动装置的示例计算平台的主要部件的示意性表示。在特定实施方式中,计算平台902可包括控制器904、内存906以及输入输出子系统910。在特定实施方式中,可包括一个或多个处理器和/或一个或多个微控制器的控制器904被配置为执行指令并且实现与计算平台相关联的操作。在各种实施方式中,控制器904可被实施为包括一个或多个集成电路和印刷电路板的单芯片、多芯片和/或其他电子部件。控制器904可选地可以包括用于指令、数据或计算机地址的暂时本地存储的缓存存储器单元。作为示例,控制器904可以使用从内存检索的指令来控制在计算平台902的部件之间的输入和输出数据的接收和操纵。作为示例,控制器904可包括专门用于计算平台902的特定处理任务(例如,用于2D/3D图形处理、图像处理或视频处理)的一个或多个处理器或一个或多个控制器。
控制器904与合适的操作系统一起可操作为执行计算机代码形式的指令并且产生和使用数据。作为示例而不是作为限制,除其它合适的操作系统外,操作系统还可以是基于Windows、基于Mac或基于Unix或Linux或基于Symbian的。操作系统、其他计算机代码和/或数据可以物理地存储在可操作地耦接至控制器904的内存906内。
内存906可包含一个或多个存储介质并且通常提供空间以存储由计算平台902使用的计算机代码(例如,软件和/或固件)和数据。作为示例,内存906可包括各种有形的计算机可读存储介质(包括只读存储器(ROM)和/或随机存取存储器(RAM))。如本领域中所熟知的,ROM用作将数据和指令单向地传输给控制器904,并且RAM通常用于双向地传输数据和指令。作为示例,除双向地耦接至控制器904的其他合适的形式的内存外,内存906还可包括采用以下形式的一个或多个固定存储设备:硬盘驱动(HDD)、固态驱动(SSD)、闪存卡(例如,安全数字或SD卡)。需要时,信息也可存在于位于或安装于计算平台902的一个或多个可移除存储介质。作为示例,任何数量的合适的存储卡(例如,SD卡)可被暂时地或者永久地装载到计算平台902中。
输入输出子系统910可包含可操作地连接到控制器904的一个或多个输入和输出设备。例如,输入输出子系统可包括键盘、鼠标、一个或多个按钮、和/或显示器(例如,液晶显示器(LCD)或任何其他合适的显示技术)。通常,输入装置被配置为将来自外界的数据、命令和响应传输给计算平台902。显示器通常被配置为显示图形用户界面(GUI),图形用户界面(GUI)在计算平台902的用户与运行在移动装置上的操作系统或应用程序之间提供易于使用的可视界面。通常,GUI表示具有图形图像的程序、文件和操作选项。在操作期间,用户可以选择和激活在显示器上显示的各种图形图像以启动与其相关联的功能和任务。输入输出子系统910也可包括基于触摸的装置,诸如触摸板和触摸屏。触摸板是包括检测用户的基于触摸的输入的表面的输入装置。类似地,触摸屏是检测用户触摸输入的存在和位置的显示器。输入输出系统910还可包括能够识别多于一个触摸输入(诸如,两个或三个手指触摸)的存在、位置和移动的双触摸或多触摸显示器或触摸板。
在特定实施方式中,计算平台902可额外地包含音频子系统912、相机子系统912、无线通信子系统916、传感器子系统918、和/或有线通信子系统920,它们可操作地连接到控制器904以促成计算平台902的各种功能。例如,包括扬声器、麦克风以及被配置为处理声音信号的编解码器模块的声音子系统912能够用于促成支持语音的功能,诸如语音辨认、语音复制、数字录音以及电话功能。例如,包括光学传感器(例如,电荷耦合元件(CCD)、图像传感器)的相机子系统912能够用于促成相机功能,诸如记录照片和视频剪辑。例如,有线通信子系统920能够包括用于文件传递的通用串行总线(USB)端口或用于连接到局域网(LAN)的以太网端口。此外,可以由电源932为计算平台902供电。
无线通信子系统916可被设计成在一个或多个无线网络上操作,例如,无线PAN(WPAN)(例如,BLUETOOTH)、WI-FI网络(例如,802.11a/b/g/n网络)、WI-MAX网络、蜂窝网络(诸如,例如全球移动通信系统(GSM)网络、长期演进(LTE)网络)。此外,无线通信子系统916可包括托管协议,从而使计算平台902可以被配置为其他无线装置的基站。其他输入/输出设备可包括可用于检测设备方位的加速度计。
传感器子系统918可包括一个或多个传感器装置以提供额外的输入并且促成计算平台902的多个功能。例如,传感器子系统918可包括用于定位的GPS传感器、用于高度定位的高度计、用于确定移动装置的朝向的动作传感器、用于相机子系统914的拍照功能的光传感器、用于测量周围环境温度的温度传感器和/或用于安全应用的生物识别传感器(例如,指纹读取器)。
在特定实施方式中,计算平台902的各种部件可通过一个或多个总线(包括硬件和/或软件)可操作地连接在一起。作为实例不是作为限制,一个或多个总线可以包括加速图形接口(AGP)或其他图像总线、前侧总线(FSB)、超级传输(HT)互联、工业标准体架构(ISA)总线、无限带宽互联、低脚位(LPC)总线、内存总线、外部部件互联快速(PCI快速)总线、串行高级技术附件(SATA)总线、内置集成电路(I2C)总线、安全数字(SD)内存接口、安全数字输入输出(SDIO)接口、通用串行(USB)总线、通用输入/输出(GPIO)总线、高级微控制器总线架构(AMBA)总线、或者另一合适的总线或者这些的两个或更多个的组合。
本文中,对计算机可读存储介质的引用包括一个或多个非瞬时性的、有形的、具有结构的计算机可读存储介质。作为实例不是作为限制,在适当的情况下,计算机可读存储介质可以包括基于半导体的或其他集成电路(IC)(诸如,例如现场可编程门阵列(FPGA)或者专用集成电路(ASIC))、硬盘、HDD、混合硬盘(HHD)、光盘、光盘驱动(ODD)、磁光盘、磁光驱动、软盘、软盘驱动(FDD)、磁带、全息存储介质、固态驱动(SSD)、RAM-驱动、安全数字卡、安全数字驱动、或者另一种合适的计算机可读存储介质或者这些的两个或更多个的结合。本文中,对计算机可读存储介质的引用排除不适于根据美国法典第35卷第101章的专利保护的任何介质。本文中,对计算机可读存储介质的引用排除信号传输的瞬时形式(诸如传播电子或电磁信号本身),在一定程度上,它们不适于根据美国法典第35卷第101章的专利保护。在合适的情况下,计算机可读的非易失性存储介质可以是易失性、非易失性、或者易失性和非易失性的组合。
本文中,除非有其他明确表示或通过上下文的其他表示,否则“或”是包含性的而非排他性的。因此,本文中,除非有其他明确表示或通过上下文的其他表示,否则“A或B”意味着“A、B或两者”。此外,除非有其他明确表示或通过上下文的其他表示,否则“和”是结合的和单独的。因此,本文中,除非有其他明确表示或通过上下文的其他表示,否则“A和B”意味着“A和B,结合地或单独地”。
本公开包括本领域普通技术人员应当理解的对本文中示例实施方式的所有改变、替代、变化、变更以及变形。此外,无论是否它或该具体功能被激活、开启或者解锁,只要该装置、系统或组件是如此适应、被布置、能够、被配置、被启动、可操作或者操作的,所附权利要求中对装置或系统或者装置或系统的组件的引用适用于、被布置、能够、被配置为、被启动、可操作或者操作地进行包括装置、系统、组件的具体功能。

Claims (20)

1.一种利用一个或者多个计算设备的方法,包括:
从社交网络系统的第一用户的移动设备接收包括用于接受所述移动设备的消息的资源成本的第一消息;
访问指示针对所述第一用户的一条或者多条输出消息的一项或者多项服务;
确定对于所述一条或者多条输出消息中的每一个的值,所确定的值基于所述一条或者多条输出消息中的每一个与所述第一用户之间的亲密性分数,所述亲密性分数基于一个或多个预测函数,其中,所述预测函数是基于所述第一用户的历史活动得到的并且包括第一预测函数,所述第一预测函数用于指示所述第一用户对正在浏览的由所述社交网络系统中的所述第一用户的联系人发布的内容感兴趣的程度;
将所述一条或者多条输出消息放置于输出消息队列中;以及
一旦检测到触发条件,则将所述输出消息队列中的所有消息传输至所述移动设备,所述触发条件基于所述资源成本和所述一条或者多条输出消息的相应值。
2.根据权利要求1所述的方法,将所述一条或者多条输出消息放置于输出消息队列中包括计算对于所述输出消息队列中的所有消息的值的总和,其中,所述触发条件包括所述总和超过预定阈值。
3.根据权利要求2所述的方法,其中,所述预定阈值基于所述资源成本。
4.根据权利要求1至3中任一项所述的方法,确定对于所述一条或者多条输出消息中的每一个的分数包括将超时持续时间分配给所述一条或者多条输出消息中的每一个。
5.根据权利要求4所述的方法,其中,对于所述一条或者多条输出消息中的每一个的所述超时持续时间与计算的所述第一用户和所述一条或者多条输出消息中的每一个之间的亲密性反相关。
6.根据权利要求5所述的方法,其中,对于所述一条或者多条输出消息中的每一个的所述超时持续时间进一步通过基于所述资源成本的缩放因子被缩放。
7.根据权利要求4所述的方法,其中,如果已经过了针对所述输出消息队列中的一条或者多条消息的所述超时持续时间中的任一个,则触发所述触发条件。
8.根据权利要求2或3所述的方法,其中,所述资源成本包括所述移动设备的系统健康的指示,所述系统健康的指示包括一个或多个电池状态、充电状态或无线网络的可用性。
9.根据权利要求8所述的方法,还包括基于从所述移动设备接收的所述系统健康的指示调整所述预定阈值,其中,当所述设备报告其健康已改善时,向下调整所述阈值。
10.根据权利要求1所述的方法,其中,所述预测函数还包括第二预测函数,所述第二预测函数用于指示所述第一用户对发布或访问不同类型的消息的感兴趣程度。
11.根据权利要求1所述的方法,其中,所述预测函数预测一个或多个动作,所述动作包括:
一种或多种类型的所述第一用户的通信;
一种或多种类型的所述第一用户的观察动作;
一种或多种类型的关于两个或者多个用户的并发信息。
12.根据权利要求11所述的方法,其中,所述一种或多种类型的通信包括消息、内容的发布或内容上的评论。
13.根据权利要求11所述的方法,其中,所述一种或多种类型的所述第一用户的观察动作包括查看社交网络系统中的其他联系人的个人资料或查看由其他联系人发布的照片和内容。
14.根据权利要求11所述的方法,其中,所述一种或多种类型的并发信息包括加签相同照片、签到同一位置或参加同一事件。
15.根据权利要求1所述的方法,其中,使用基于所述第一用户的历史活动和过去的响应的机器学习算法确定每一个预测函数。
16.根据权利要求15所述的方法,其中,所述第一用户的历史活动包括利用所述社交网络系统与其他用户交互。
17.根据权利要求1所述的方法,其中,所述亲密性分数是相对于所述消息的发起人而确定的。
18.根据权利要求1所述的方法,其中,所述亲密性分数包括所述预测函数的权重组合。
19.一种用于使用一个或多个计算设备的系统,包括:一个或多个处理器;以及耦接至所述处理器的存储器,所述存储器包括能够由所述处理器执行的指令,所述处理器在执行所述指令时能够操作为执行根据权利要求1至18中任一项所述的方法。
20.一种计算机可读非易失性存储介质,存储有计算机程序,所述计算机程序在被执行时能够操作为执行根据权利要求1至18中任一项所述的方法。
CN201280065999.7A 2011-11-04 2012-10-15 用于搭载移动设备社交更新的服务器端限速算法 Active CN104040942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710796741.9A CN107547361B (zh) 2011-11-04 2012-10-15 利用一个或者多个计算设备的方法、系统及可读介质

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/290,000 US8954100B2 (en) 2011-11-04 2011-11-04 Server-side rate-limiting algorithms for piggybacking social updates for mobile devices
US13/290,000 2011-11-04
PCT/US2012/060229 WO2013066611A1 (en) 2011-11-04 2012-10-15 Server-side rate-limiting algorithms for piggybacking social updates for mobile devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710796741.9A Division CN107547361B (zh) 2011-11-04 2012-10-15 利用一个或者多个计算设备的方法、系统及可读介质

Publications (2)

Publication Number Publication Date
CN104040942A CN104040942A (zh) 2014-09-10
CN104040942B true CN104040942B (zh) 2017-09-29

Family

ID=48192600

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710796741.9A Active CN107547361B (zh) 2011-11-04 2012-10-15 利用一个或者多个计算设备的方法、系统及可读介质
CN201280065999.7A Active CN104040942B (zh) 2011-11-04 2012-10-15 用于搭载移动设备社交更新的服务器端限速算法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710796741.9A Active CN107547361B (zh) 2011-11-04 2012-10-15 利用一个或者多个计算设备的方法、系统及可读介质

Country Status (12)

Country Link
US (4) US8954100B2 (zh)
EP (1) EP2774318B1 (zh)
JP (3) JP5864769B2 (zh)
KR (3) KR101806984B1 (zh)
CN (2) CN107547361B (zh)
AU (4) AU2012333039B2 (zh)
BR (1) BR112014012350A2 (zh)
CA (3) CA2854275C (zh)
IL (3) IL232430A (zh)
IN (1) IN2014CN03844A (zh)
MX (2) MX353415B (zh)
WO (1) WO2013066611A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497076A (en) * 2011-11-23 2013-06-05 Skype Delivering only selected communication events to a user terminal or to a user
US9319373B1 (en) * 2012-03-15 2016-04-19 PlayStudios, Inc. Social networking game with prioritized message queue
KR101361265B1 (ko) * 2012-05-08 2014-02-12 (주)카카오 복수의 알림 모드들을 이용하는 이동 단말의 알림 방법 및 그 방법을 이용한 이동 단말
US9955286B2 (en) * 2013-05-08 2018-04-24 Natalya Segal Smart wearable devices and system therefor
WO2015011710A1 (en) * 2013-07-26 2015-01-29 Anagog Ltd. Associating external devices to vehicles and usage of said association
US9442944B2 (en) * 2013-11-12 2016-09-13 Dropbox, Inc. Content item purging
EP2882163A1 (en) * 2013-12-09 2015-06-10 Alcatel Lucent Method and system for scheduling a push data transmission
EP3246869A4 (en) * 2015-01-13 2018-06-13 Sony Corporation Information processing apparatus, information processing method, and program
CN105024835B (zh) * 2015-07-23 2017-07-11 腾讯科技(深圳)有限公司 群组管理方法和装置
US10924815B2 (en) * 2015-12-31 2021-02-16 Idomoo Ltd System and method for generating and updating video news edition
JP6693817B2 (ja) * 2016-06-16 2020-05-13 株式会社三共 遊技機
US20180123986A1 (en) 2016-11-01 2018-05-03 Microsoft Technology Licensing, Llc Notification of a Communication Session in a Different User Experience
US10198291B2 (en) 2017-03-07 2019-02-05 International Business Machines Corporation Runtime piggybacking of concurrent jobs in task-parallel machine learning programs
US10271185B1 (en) 2017-10-20 2019-04-23 Mediatek Singapore Pte. Ltd. Method and apparatus for short message service re-transmission in mobile communications
CN112206509A (zh) * 2020-10-12 2021-01-12 上海酷量信息技术有限公司 一种根据服务器状态动态发送通知的系统和方法
CN117891696A (zh) * 2024-03-15 2024-04-16 天津医康互联科技有限公司 计算资源调整方法、装置、电子设备和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1428968A (zh) * 2001-12-25 2003-07-09 深圳市中兴通讯股份有限公司上海第二研究所 一种提高宽带接入服务器接入速率的方法
EP1962473A1 (en) * 2007-02-21 2008-08-27 Research In Motion Limited Efficient transmission of presence update information to presence service clients
EP2154922A1 (en) * 2008-08-12 2010-02-17 Acer Incorporated Power saving method of portable internet device and portable internet device thereof, and instant messaging system using the same

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424841B1 (en) * 1999-02-18 2002-07-23 Openwave Systems Inc. Short message service with improved utilization of available bandwidth
US7444383B2 (en) 2000-06-17 2008-10-28 Microsoft Corporation Bounded-deferral policies for guiding the timing of alerting, interaction and communications using local sensory information
WO2001069432A2 (en) 2000-03-16 2001-09-20 Microsoft Corporation Priorities generation and management
EP1139679A1 (en) 2000-03-31 2001-10-04 BRITISH TELECOMMUNICATIONS public limited company Mobile telephone with pager mode
US20070037610A1 (en) * 2000-08-29 2007-02-15 Logan James D Methods and apparatus for conserving battery power in a cellular or portable telephone
US20030006911A1 (en) * 2000-12-22 2003-01-09 The Cadre Group Inc. Interactive advertising system and method
JP3876687B2 (ja) 2001-10-30 2007-02-07 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
JP2004274297A (ja) 2003-03-07 2004-09-30 Nippon Telegr & Teleph Corp <Ntt> 通信制御方法、通信制御装置及び通信制御プログラム
ATE373913T1 (de) * 2003-06-24 2007-10-15 Research In Motion Ltd Serialisierung von eine verteiltenapplikation einer router
US8443049B1 (en) * 2004-08-20 2013-05-14 Sprint Spectrum L.P. Call processing using trust scores based on messaging patterns of message source
US7242920B2 (en) 2005-05-31 2007-07-10 Scenera Technologies, Llc Methods, systems, and computer program products for controlling data transmission based on power cost
US8208946B2 (en) * 2006-07-24 2012-06-26 Qualcomm Incorporated Method, apparatus, and system for transmitting messages
US8504118B2 (en) * 2006-10-11 2013-08-06 Kyocera Corporation System and method for optimizing battery power
KR101405936B1 (ko) * 2007-02-02 2014-06-17 엘지전자 주식회사 광대역 무선 접속 시스템에서 수면 모드와 관련된 메시지를송수신하는 방법
CN101136837A (zh) 2007-09-21 2008-03-05 华为技术有限公司 推送消息的控制方法、装置和系统
EP2051479A1 (en) 2007-10-18 2009-04-22 Nokia Siemens Networks Oy Control of push services
US20090182589A1 (en) 2007-11-05 2009-07-16 Kendall Timothy A Communicating Information in a Social Networking Website About Activities from Another Domain
US20090124241A1 (en) 2007-11-14 2009-05-14 Qualcomm Incorporated Method and system for user profile match indication in a mobile environment
KR101021763B1 (ko) 2008-01-11 2011-03-15 주식회사 케이티 Ims 기반의 유무선 복합망에서의 지능형 개인화 정보 생성 장치, 시스템 및 방법
US9402277B2 (en) * 2008-03-03 2016-07-26 Qualcomm Incorporated Proxy server for facilitating power conservation in wireless client terminals
US8112475B2 (en) * 2008-06-27 2012-02-07 Microsoft Corporation Managing data delivery based on device state
US8923803B2 (en) * 2008-07-03 2014-12-30 Centurylink Intellectual Property Llc System and method for processing emergency data messages at a PSAP
US8344852B2 (en) 2008-12-24 2013-01-01 Blackboard Connect Inc. Method and system for transmitting a plurality of notifications in a notification pool
JP2010198243A (ja) 2009-02-24 2010-09-09 Oki Electric Ind Co Ltd 行動予測装置および行動予測方法
CA2761391A1 (en) * 2009-05-08 2010-11-11 Zokem Oy System and method for behavioural and contextual data analytics
US8930438B2 (en) 2009-06-17 2015-01-06 Apple Inc. Push-based location update
US9015597B2 (en) 2009-07-31 2015-04-21 At&T Intellectual Property I, L.P. Generation and implementation of a social utility grid
US8489557B2 (en) * 2010-03-22 2013-07-16 Research In Motion Limited Method, system and apparatus for archiving data
WO2011133195A1 (en) * 2010-04-22 2011-10-27 Zipit Wireless, Inc. System and method for administration and operation of one or more mobile electronic communications devices
US8694313B2 (en) * 2010-05-19 2014-04-08 Google Inc. Disambiguation of contact information using historical data
US20130054706A1 (en) * 2011-08-29 2013-02-28 Mary Graham Modulation of Visual Notification Parameters Based on Message Activity and Notification Value

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1428968A (zh) * 2001-12-25 2003-07-09 深圳市中兴通讯股份有限公司上海第二研究所 一种提高宽带接入服务器接入速率的方法
EP1962473A1 (en) * 2007-02-21 2008-08-27 Research In Motion Limited Efficient transmission of presence update information to presence service clients
EP2154922A1 (en) * 2008-08-12 2010-02-17 Acer Incorporated Power saving method of portable internet device and portable internet device thereof, and instant messaging system using the same

Also Published As

Publication number Publication date
KR20160011238A (ko) 2016-01-29
IL232430A (en) 2016-06-30
KR101645620B1 (ko) 2016-08-05
JP2016201118A (ja) 2016-12-01
CN104040942A (zh) 2014-09-10
CA2854275C (en) 2016-04-26
JP2016119674A (ja) 2016-06-30
AU2017201196B2 (en) 2019-03-07
US10194285B2 (en) 2019-01-29
WO2013066611A1 (en) 2013-05-10
KR101806984B1 (ko) 2017-12-08
AU2012333039A1 (en) 2014-06-05
AU2016201197B2 (en) 2017-03-09
AU2016201197A1 (en) 2016-03-17
MX2014005395A (es) 2015-02-05
CA2964991C (en) 2018-05-22
JP5864769B2 (ja) 2016-02-17
IL232430A0 (en) 2014-06-30
EP2774318A4 (en) 2015-06-10
MX353415B (es) 2018-01-11
AU2017201196A1 (en) 2017-03-09
IL245521A0 (en) 2016-06-30
US20150087345A1 (en) 2015-03-26
IL243345A (en) 2016-09-29
CA2964991A1 (en) 2013-05-10
JP2014534773A (ja) 2014-12-18
US9801032B2 (en) 2017-10-24
KR101590497B1 (ko) 2016-02-01
JP6352339B2 (ja) 2018-07-04
KR20140095532A (ko) 2014-08-01
CN107547361A (zh) 2018-01-05
EP2774318A1 (en) 2014-09-10
KR20160092058A (ko) 2016-08-03
US9232372B2 (en) 2016-01-05
US20180007522A1 (en) 2018-01-04
AU2019203407A1 (en) 2019-06-06
US20130115981A1 (en) 2013-05-09
JP5965049B2 (ja) 2016-08-03
US20160100296A1 (en) 2016-04-07
CA2920651C (en) 2017-06-20
IL245521B (en) 2019-02-28
BR112014012350A2 (pt) 2017-06-13
CN107547361B (zh) 2019-04-19
US8954100B2 (en) 2015-02-10
IN2014CN03844A (zh) 2015-09-04
EP2774318B1 (en) 2019-03-13
CA2854275A1 (en) 2013-05-10
AU2012333039B2 (en) 2016-04-14
MX340567B (es) 2016-07-14
CA2920651A1 (en) 2013-05-10

Similar Documents

Publication Publication Date Title
CN104040942B (zh) 用于搭载移动设备社交更新的服务器端限速算法
CN104679969B (zh) 防止用户流失的方法及装置
WO2014169661A1 (en) Method and system for processing report information
US10070284B2 (en) Low power high frequency social updates for mobile devices
CN109992360A (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN109992368A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN108064085A (zh) 一种无线资源分配方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Yuan platform Co.

Address before: California, USA

Patentee before: Facebook, Inc.

CP01 Change in the name or title of a patent holder