CN105283845A - 显示对象预生成 - Google Patents

显示对象预生成 Download PDF

Info

Publication number
CN105283845A
CN105283845A CN201480033309.9A CN201480033309A CN105283845A CN 105283845 A CN105283845 A CN 105283845A CN 201480033309 A CN201480033309 A CN 201480033309A CN 105283845 A CN105283845 A CN 105283845A
Authority
CN
China
Prior art keywords
display object
distribution
contents
generatmg
computing equipment
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.)
Granted
Application number
CN201480033309.9A
Other languages
English (en)
Other versions
CN105283845B (zh
Inventor
乔纳森·M·卡尔多
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 CN201710763691.4A priority Critical patent/CN107577526A/zh
Publication of CN105283845A publication Critical patent/CN105283845A/zh
Application granted granted Critical
Publication of CN105283845B publication Critical patent/CN105283845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4092Image resolution transcoding, e.g. client/server architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Abstract

在一个实施方式中,计算设备识别要预生成的显示对象的部分。设备可以监控线程以识别下一个即将到来的空闲时间窗(即,当线程将空闲最小时段的下一个机会)。设备可以将一个或多个所选预生成任务添加到消息队列用以在窗期间由线程执行。设备可以通过利用内容布局的部分的内容预生成显示对象的至少一个选择的元素,执行消息队列中的一个或多个选择的预生成任务,并且然后返回显示对象。

Description

显示对象预生成
技术领域
本公开内容总体涉及对象生命周期管理。
背景技术
当呈现内容远超出可显示区域(要求用户滚动内容布局以将内容带入视野)的特定显示屏幕的内容布局时,随着在用户滚动内容时它们进入视野内,可以通过专用UI线程实时生成显示对象(例如,ANDROID的视图对象)和那些显示对象的元素。当从可显示区域之外将额外的内容带入视野时的严重延迟部分可能是因为生成显示对象的任务的实时性能:测量(显示对象及其元素的每一个的大小要求的递归确定)、布局(将大小和位置分配到显示对象并且然后分配到其元素的每一个)、以及生成在屏幕上绘制显示对象的命令。这可能是将此类任务分配至还在忙于处理其他临界操作(诸如,帧缓冲器填充)的UI线程的操作系统的具体问题。
发明内容
具体实施方式通过在UI线程空闲时的时期插入预生成任务(或其逻辑块)以实现显示对象的预生成。为了便于预生成显示对象,应用程序可以:监控UI线程以识别UI线程可在最小空闲时间(例如,在下一帧缓冲器填充之前剩余17ms)空闲的时期;将一个或多个预生成任务添加至UI线程的消息队列;以及执行预生成任务以完成(如果时间充足),或者直至达到屈服点并且剩余可用时间小于最小空闲时间。
也可用显示对象的子元素执行在本文中所描述的实施方式,它们中的一些可以包括嵌套的显示对象。可以在遵循视图-模型-视图模型模式(View-Model-ViewModelpattern)的任何平台上实施具体实施方式。
附图说明
图1A是使用显示对象呈现的内容布局的线框图。
图1B是示出了图1A的详细的部分的线框图。
图2示出了应用程序定制的对象预填充的示例性方法。
图3示出了与社交网络系统相关的示例性网络环境。
图4示出了示例性社交图谱。
图5示出了示例性计算机系统。
具体实施方式
为了便于以内容识别的方式预填充显示对象,应用程序可以应用应用程序特殊策略以确定如何选择性地仅预填充成本最多的那些显示对象和/或显示对象的元素。
在接收待显示的内容布局的特定部分的请求之前,应用程序可以选择待预填充的内容布局的特定部分的元素,填充那些所选择的元素,并且将预填充元素储存在再循环器中。当再次请求相同的内容元素时,应用程序从再循环器检索显示对象,将其封装在包装对象中,并且返回所包装的显示对象。也可用显示对象的元素执行在本文中描述的实施方式,它们中的一些可以包括嵌套的显示对象。
结合实施再循环器的方法,具体实施方式可以利用于2013年4月11日提交的题为“Application-TailoredObjectRecycling”的美国专利申请第13/861,250号中公开的一个或多个系统、组件、元素、功能、方法、操作、或步骤,通过引用将其结合于此。
图1A是示出内容布局100的示例性线框图的线框图,即,社交网络系统用户的新鲜事页面,其基于多个显示对象在平板设备上呈现以显示。内容布局100的可显示区域(由虚线表示)包括将填充到平板设备的屏幕尺寸内的内容布局100的部分(折线以上)。
内容布局100包括标题区域110、菜单栏120、左侧工具条130、右侧工具条140、以及主体区150。每个区域与其自身的显示对象相关,它们中的每一个可以包括许多元素,诸如,作为实例并非限制性方式:图像、视频、文本、链接、形式、以及交互元素。可以通过一个或多个嵌套的显示对象表示这些元素的每一个。
与标题区域110相关的显示对象包括社交网络用户的交互式个人资料照片112、文本块114、背景图像116、以及社交网络用户选择的主题音乐。基于显示对象呈现交互式个人资料照片112,显示对象可以包括图像、文本、链接、以及Javascript代码以呈现弹出窗口,该弹出窗口显示当点控设备(诸如,鼠标)在个人资料照片上悬停时出现的社交网络用户的个人资料的概要。
与菜单栏120相关的显示对象包括五个菜单选项125A-F,它们中的每一个包括图像、文本、以及链接。
与左侧工具条130相关的显示对象包括推荐的混合的内容(包括赞助内容)(仅示出135A-E,但可能存在许多更多的推荐),基于显示对象呈现它们中的每一个。推荐的每个显示对象可以包括交互式图像、名称、推荐的文本、以及获得与推荐有关的进一步信息的链接。新鲜事项的每个显示对象也可包括一个或多个图像或视频。
与右侧工具条140相关的显示对象包括一个或多个广告145的内容,基于显示对象呈现它们中的每一个。如在图1A中示出的实例中,广告145A出现在折线以上,而145B还不能看得见。可以至少部分地通过第三方广告商确定广告的内容。
与主体区150相关的显示对象包括许多新鲜事项(仅示出了155A-E,但可能存在许多更多的新鲜事项),基于与用户的朋友(即,社交图谱连接)有关的活动相关的显示对象呈现它们中的每一个。
图1B是示出了图1A的详细部分的线框图:内容布局100的主体区150中的新鲜事项155B-E。如在图1A中表示的,内容布局100的可显示区域(由虚线表示的)包括将填充到平板设备的屏幕上的内容布局100的部分。
新鲜事项155的每个显示对象可以包括朋友160的交互式个人资料照片、朋友165的姓名、新鲜事项170的文本、时间敏感的信息175(例如,不断更新的已浏览/评论/“赞”列表的人的数目的计数、已浏览/评论/“赞”列表的最近的一个或多个人的短列表等)、“赞”新鲜事项180的链接、评论新鲜事项185的链接、以及“分享”新鲜事项190的链接。新鲜事项的每个显示对象也可包括一个或多个图像195或视频。
基于显示对象呈现每个交互式个人资料照片160,显示对象可以包括图像、文本、链接、以及Javascript代码以呈现弹出窗口,该弹出窗口显示当点控设备(诸如,鼠标)在个人资料照片上悬停时出现的社交网络用户的个人资料的概要。
图2示出了应用程序控制的预填充显示对象的示例性方法。在步骤210中,应用程序可以识别要预生成的显示对象的部分。例如,显示对象可以包括新鲜事的内容布局对象,如在图1A中示出的,包括新鲜事元素155的长列表,如在图1B中示出的。如果用户通过点击“下一页”按钮向下滚动,识别的用于预生成的显示对象的部分可以包括将填充可显示区域的下一组新鲜事元素155。
在步骤220中,应用程序可以监控UI线程以识别UI线程空闲最小时段的下一时间窗。例如,如果应用程序在移动计算设备的操作系统的顶部运行且显示更新速率是60Hz(或60帧/秒),那么操作系统可能需要每16.67ms完成帧缓冲器填充。如果计算设备能够在12ms内完成帧缓冲器填充,留下将在每16.67ms出现的4.67ms的窗(在操作的完成时填充帧缓冲器)。最小时段可以是能够至少基于内容布局用于可能出现的最大数目的任务的最小有用时段。
在步骤230中,应用程序可以选择一个或多个预生成任务添加至消息队列用以在下一时段的空闲时间期间由UI线程执行。在具体实施方式中,应用程序可以将可迅速执行的几个任务分组在一起,其中,一个或多个预生成任务的总执行时间小于在下一时间窗中可用的时间。基于单用户或一组用户给出足够的历史数据,可以预先确定的估计设置任何给定任务的预期执行时间,或者其可随着时间获知。在具体实施方式中,要执行的下一任务将会花费比在下一时间窗中可用的时间更长的时间,应用程序可以仅将任务添加到消息队列,且预期可在屈服点暂停任务。
在具体实施方式中,应用程序可以基于可显示区域的尺寸、可用存储器、以及应用程序特定的规则选择显示对象的特定元素以预生成。在具体实施方式中,尤其对于基于列表或基于网格的内容布局,应用程序特定的规则可以设置增量,通过增量预生成元素。
增量可以是将符合可显示区域的尺寸的列表或网格项目的数目限定的多个单元。例如,如在图1B中示出的,四个新鲜事项可以填充可显示区域的垂直尺寸,其中内容布局可以沿垂直尺寸延伸(但不沿水平尺寸)。在该实例中,应用程序特定的规则确定单元包括四个新鲜事项(由于这是什么将填充可显示区域),并且确定要预生成元素的增量为三,因此,当应用程序对显示新鲜事项155B-E的请求做出响应时,其也预填充下十二个新鲜事项的选择元素。在具体实施方式中,多个数可基于用户特定的使用模式。例如,如果用户通常相当慢地滚动新鲜事,那么多个数可以是较小的数目。相反地,如果用户通常相当快地滚动新鲜事,那么多个数可以是较大的数目。在具体实施方式中,多个数还可基于列表或网格元素的内容的属性。例如,如果内容是非常丰富的并且可能花费用户较长时间浏览(例如,当用户鼠标在每一个上时将会播放的视频的缩略图)的类型,那么多个数可能减小。
在具体实施方式中,应用程序特定的规则可以优先考虑选择生成要花费更多时间的显示对象的元素。可以任何应用程序为基础确定生成元素的成本,例如,元素的大小、元素的复杂度(例如,元素是嵌套的显示对象?)、必须多久一次更新元素、平台的配置和性能(例如,设备缺乏支持或禁用执行客户端侧的脚本,其使用交替的、更简单的内容替换成为必须)等。
在具体实施方式中,应用程序特定的规则可以基于可用内存选择显示对象的元素。例如,如果不存在大量可用内存,那么应用程序可以选择仅预生成成本最高的元素,然而,如果存在更多可用内存,其可能预生成额外的元素(成本稍微低的元素)。在另一个实例中,如果不存在大量可用内存,那么应用程序可以选择预生成可能经常重复使用的那些元素,例如,如果下十个新鲜事项全部涉及已向流行的在线文章张贴相同复杂链接(其包括图像、文本、链接、以及其他信息)的人,表示复杂链接的元素可以接收高于其他元素的优先级。
在步骤240中,应用程序可以执行消息队列中的调度任务。在具体实施方式中,调度任务可涉及显示对象的元素的测量和/或布局。在具体情形中,其中,要执行的下一任务将会花费比在下一时间窗可用的时间更长的时间,应用程序可以在屈服点暂停执行任务,以便允许UI线程在不会严重延迟的情况下处理其队列中的其他操作(例如,下一帧缓冲器填充)。
在步骤245中,如果任务在屈服点必须暂停,那么应用程序可以将暂停任务添加回到UI线程的消息队列,使得其可在下一可用窗再次开始。替换地,如果存在待执行的额外的预生成任务,那么应用程序可以返回到步骤220以便调度下一任务。
在步骤250中,如果仍存在剩下要执行的一些选择任务,则返回至步骤220,否则,可能的话(步骤255),应用程序可以执行预生成任务来完成(如果在接收请求之前对于预生成的内容布局的部分存在足够时间)。
在步骤260中,应用程序可以将显示对象的预生成元素存储在应用程序定制的再循环器中。这些存储的元素可以保留在再循环器中直至可显示区域请求内容布局的相关部分。
在步骤265中,一旦预生成显示对象的内容布局的部分接收请求,应用程序可以从应用程序定制的再循环器检索显示对象的任何预生成元素(步骤270)。然而,由于再循环器可包含先前使用的显示对象及其元素以及预生成的显示对象及其元素,具体实施方式可以应用应用程序定制的重复利用策略来识别再循环器中哪些显示对象及其元素适合重复使用,其可以包括预生成的那些元素。
如果显示对象包含与当前请求的内容相同或类似的内容,那么再循环器中的显示对象可适合重复使用。为了重复使用检索的显示对象,有必要根据需要更新显示对象的特定元素。即使对于预生成的显示对象,必须根据用户滚动花费的时间多长至少更新某些时间敏感元素。
如果显示对象是相同类型的对象但包含不同的内容,再循环器中的显示对象可能适合重复利用。在这种情况下,应用程序可以利用从头请求的内容(其应当不是任何预生成显示对象或其元素所必须的)实时生成显示对象,从而如果并非显示对象中的全部现有内容则大多进行改写。
可以根据应用程序特定的、设备特定的、和/或用户特定的重复利用策略确定哪些显示对象和元素适合重复使用、重复利用,或者两者都不适合。在具体实施方式中,应用程序可以根据应用程序要求、内容类型、设备属性(例如,可用内存和/或显示屏的尺寸)、内容统计、使用模式和偏好、或者任何其他适当因素来设置重复利用策略。当重复使用对比重复利用显示对象时等,这种策略可以支配多少对象保留在再循环器中,什么类型的对象存储到再循环器中,如何确定显示对象是否适合重复使用和/或重复利用。
如果再循环器返回零值,那么应用程序充入适当类型的新显示对象以显示请求内容,并且然后用请求内容生成显示对象。由于充入新显示对象和生成空显示对象两者都是成本高的操作,所以这是成本最高的路径。因此,当确定何时禁用存储在再循环器中的另外合适的显示对象的重复利用时,应用程序可能需要平衡冲突的优先级。
在步骤280中,应用程序可以根据需要完成生成可显示区域的显示对象的过程并且响应于请求返回显示对象。
在本文中公开的实施方式描述为相对于显示对象的元素执行,然而,在具体实施方式中,在本文中所描述的技术可以递归方式应用于显示对象的某些元素(其本身可以是显示对象)以便预填充那些元素的一部分或全部。
在本文中公开的实施方式描述为通过应用程序执行;然而,本领域技术人员将会意识到示例性方法200和在本文中公开的其他实施方式中的很多步骤可由在一个或多个抽象层处操作的一个或多个软件执行。例如,上述示例性方法的步骤可由分别从应用程序执行并且与应用程序和再循环器交互的软件执行。
在适当的情况下,具体实施方式可重复图2中的方法的一个或者多个步骤。尽管本公开描述并且示出了图2中以具体顺序发生的方法的具体步骤,然而本公开考虑了图2中以任意合适顺序发生的方法的任意合适步骤。而且,尽管本公开描述并且示出了完成图2中的方法的具体步骤的具体部件、设备、或者系统,然而本公开考虑完成图2中的方法的任意合适步骤的任意合适部件、设备、或者系统的任意合适组合。
图3示出了与社交网络系统相关联的示例性网络环境300。网络环境300包括用户301、客户系统330、社交网络系统360以及通过网络310彼此连接的第三方系统370。尽管图3示出了用户301、客户系统330、社交网络系统360、第三方系统370以及网络310的具体布置,但是本公开内容考虑了用户301、客户系统330、社交网络系统360、第三方系统370以及网络310的任何合适的布置。作为实例并非限制性方式,两个以上客户系统330、社交网络系统360和第三方系统370可以旁通网络310彼此直接连接。作为另一个实例,两个以上客户系统330、社交网络系统360和第三方系统370可以整体或部分在物理上或逻辑上彼此共同放置。此外,尽管图3示出了用户301、客户系统330、社交网络系统360、第三方系统370以及网络310的具体数量,但是本公开内容考虑了任何合适数量的用户301、客户系统330、社交网络系统360、第三方系统370以及网络310。作为实例并非限制性方式,网络环境300可包括多个用户301、客户系统330、社交网络系统360、第三方系统370以及网络310。
在具体实施方式中,用户301可以是与社交网络系统360或者通过社交网络系统360进行交互或者通信的个体(个人用户)、实体(例如,企业、公司或者第三方应用)或者(例如,个人或者实体的)群体。在具体实施方式中,社交网络系统360可以是承载线上社交网络的可访问网络计算系统。社交网络系统360可产生、储存、接收以及发送社交网络数据,诸如,用户配置文件数据、概念配置文件数据、社交图谱信息或者与线上社交网络相关的其他合适的数据。社交网络系统360可以直接地或经由网络310通过网络环境300的其他部件进行访问。在具体实施方式中,社交网络系统360可包括授权服务器(或其他合适的部件),其允许用户301决定是否允许将他们的行动通过社交网络系统360记录或者诸如通过设定合适的隐私设置与其他系统(例如,第三方系统370)共享他们的行动。用户的隐私设置可以确定可以记录与用户相关联的什么信息,可以如何记录与用户相关联的信息,何时可以记录与用户相关联的信息,谁可以记录与用户相关联的信息,与用户相关联的信息可以与谁共享,以及记录或分享与用户相关联的信息的目的是什么。授权服务器可以用于通过嵌段、数据散列、匿名化、或其他适用技术执行社交网络系统30的用户的一个以上的隐私设置,视情况而定。第三方系统370可以直接地或经由网络310通过网络环境300的其他部件进行访问。在具体实施方式中,一个或多个用户301可以使用一个或多个客户系统330访问社交网络系统360或第三方系统370,将数据发送至社交网络系统360或第三方系统370并且从社交网络系统360或第三方系统370接收数据。客户系统330可以直接地、经由网络310或者经由第三方系统访问社交网络系统360或第三方系统370。作为实例并非限制性方式,客户系统330可以经由社交网络系统360访问第三方系统370。客户系统330可以是任何合适的计算设备,诸如,个人计算机、膝上型计算机、蜂窝电话、智能电话或平板计算机。
本公开内容考虑了任何合适的网络310。作为实例并非限制性方式,网络310的一个或多个部分可包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网络或者这些中的两个以上的组合。网络310可包括一个或多个网络310。
链路350可以将客户系统330、社交网络系统360以及第三方系统370连接至通信网络310或者彼此连接。本公开内容考虑了任何合适的链路350。在具体实施方式中,一个或多个链路350可包括一个或多个有线链路(诸如,数字用户线路(DSL)或电缆数据服务接口规范(DOCSIS))、无线链路(诸如,Wi-Fi或全球互通微波存取(WiMAX))、或者光链路(诸如,同步光纤网(SONET)或同步数字系统(SDH))。在具体实施方式中,一个或多个链路350都包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、以蜂窝技术为基础的网络、以卫星通信技术为基础的网络、另一个链路350或两个或者多个此类链路350的组合。链路350不需要同样穿过网络环境300。一个或多个第一链路350可以在一个或多个方面不同于一个或多个第二链路350。
图4示出了示例性社交图谱400。在具体实施方式中,社交网络系统360可在一个或多个数据存储中储存一个或多个社交图谱400。在具体实施方式中,社交图谱400可包括多个节点-其可包括多个用户节点402或多个概念节点404-以及连接节点的多个矢线406。为了启发式的目的,以二维直观图示出了图4中说明的示例性社交图谱400。在具体实施方式中,社交网络系统360、客户系统330或第三方系统370可访问社交图谱400以及用于适合应用的相关社交图谱信息。例如,在数据存储(诸如,社交图谱数据库)中社交图谱400的节点和矢线可被储存为数据对象。此类数据存储可包括社交图谱400的节点或矢线的一个或多个可搜索或可查询的索引。
在具体实施方式中,用户节点402可对应于社交网络系统360的用户。作为实例并非限制性方式,用户可以是与社交网络系统360或者通过社交网络系统360进行交互或者通信的个体(个人用户)、实体(例如,企业、公司或者第三方应用)或者(例如,个人或者实体的)群体。在具体实施方式中,当用户使用社交网络系统360注册账号,社交网络系统360可以创建对应于该用户的用户节点402,并且在一个或多个数据存储中储存用户节点402。在适当情况下,本文中所描述的用户和用户节点402可以称为注册用户以及与注册用户相关的用户节点402。此外或者作为可替换的,在适当情况下,本文中所描述的用户和用户节点402可以称为没有注册社交网络系统360的用户。在具体实施方式中,用户节点402可以与用户提供的信息或者各种系统(包括社交网络系统360)收集的信息相关。作为实例并非限制性方式,用户可以提供他或她的姓名、资料图片、联系信息、生日、性别、婚姻状况、家庭状况、工作情况、教育背景、偏好、兴趣或其他人口统计信息。在具体实施方式中,用户节点402可以与对应于与用户相关的信息的一个或多个数据对象相关。在具体实施方式中,用户节点402可以对应于一个或多个网页。
在具体实施方式中,概念节点404可以对应于一个概念。作为实例并非限制性方式,一个概念可对应于一个地点(诸如,电影院、餐馆、地标或城市);网站(诸如,与社交网络系统360相关的网站或者与网络应用服务器相关的第三方网站);实体(诸如,个人、公司、群体、运动队或名人);位于社交网络系统360中或外部服务器(诸如,网络应用服务器)上的资源(诸如,音频文件、视频文件、数码相片、文本文件、结构化文档或应用程序);不动产或知识产权(诸如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面著作);游戏;活动;想法或理论;另一个合适的概念;或者两个以上此类概念。概念节点404可以与用户提供的概念信息或者通过各种系统(包括社交网络系统360)收集的信息相关。作为实例并非限制性方式,概念信息可包括姓名或题目;一个或多个图像(例如,书的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者此类信息的任何合适的结合。在具体实施方式中,概念节点404可以与对应于与概念节点404相关的信息的一个或多个数据对象相关。在具体实施方式中,概念节点404可以对应于一个网页。
在具体实施方式中,社交图谱400中的节点可以表示网页(其可被称为“配置文件页面”)或者由网页表示。配置文件页面可以由社交网络系统360承载或者可访问社交网络系统360。配置文件页面还可以在与第三方服务器370相关的第三方网站上承载。作为实例并非限制性方式,对应于具体的外部网页的配置文件页面可以是具体的外部网页,并且配置文件页面可以对应于具体的概念节点404。配置文件页面可以是所有人或者其他用户的选择子集可见的。作为实例并非限制性方式,用户节点402可具有对应的用户配置文件页面,其中,对应的用户可以添加内容,做出声明或者以其他方式表达其自身。作为另一个实例并非限制性方式,概念节点404可具有对应的概念配置文件页面,其中,一个或多个用户可具体针对对应于概念节点404的概念添加内容、发布声明或者表达其自身。
在具体实施方式中,概念节点404可以表示第三方网页或者由第三方系统370承载的资源。第三方网页或者资源可包括其他元素之中表示动作或者行动的内容、可选择的或者其他图标、或者其他相互作用的对象(例如,可通过JavaScript、AJAX、或者PHP代码实施)。作为实例并非限制性方式,第三方网页可包括可选择的图标,诸如,“喜欢”、“登记”、“吃”、“推荐”或者另一个合适的动作或活动。浏览第三方网页的用户可以通过选择一个图标(例如,“吃”)来执行动作,从而使客户系统330将指示用户动作的消息发送至社交网络系统360。响应于该消息,社交网络系统360可以在对应于用户的用户节点402与对应于第三方网页或资源的概念节点404之间创建矢线(例如,“吃”矢线)并且在一个或多个数据存储中储存矢线406。
在具体实施方式中,社交图谱400中的一对节点可以通过一个或多个矢线406彼此连接。连接一对节点的矢线406可以表示该对节点之间的关系。在具体实施方式中,矢线406可包括或表示一个或多个数据对象或者对应于一对节点之间的关系的属性。作为实例并非限制性方式,第一用户可以指示第二用户是第一用户的“好友”。响应于该指示,社交网络系统360可以将“好友请求”发送至第二用户。如果第二用户确认该“好友请求”,则社交网络系统360可以在社交图谱400中创建将第一用户的用户节点402连接至第二用户的用户节点402的矢线406,并且在一个或多个数据存储364中储存矢线406作为社交图谱信息。在图4的实例中,社交图谱400包括指示用户“A”与用户“B”的用户节点402之间的好友关系的矢线406,以及指示用户“C”与用户“B”的用户节点402之间的好友关系的矢线。尽管本公开内容描述或示出了具有连接具体用户节点402的具体属性的具体矢线406,但是本公开内容考虑了具有连接用户节点402的任何合适属性的任何合适的矢线406。作为实例并非限制性方式,矢线406可以表示友谊、家庭关系、公司或工作关系、爱好者关系、粉丝关系、访客关系、客户关系、上级/下属关系、相互关系、非相互关系、另一个类型合适的关系或者两个以上此类关系。此外,尽管本公开内容总体将节点描述为被连接的,但是本公开内容还将用户或概念描述为被连接的。在本文中,在适当情况下,参考连接的用户或概念可以称为对应于通过一个或多个矢线406在社交图谱400中被连接的这些用户或概念的节点。
在具体实施方式中,用户节点402与概念节点404之间的矢线406可以表示由与用户节点402相关的用户向与概念节点404相关的概念执行的具体动作或活动。作为实例并非限制性方式,如图4中所示,用户可以“喜欢”、“参加”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中的每个可以对应于矢线的类型或子类型。例如,对应于概念节点404的概念配置文件页面可包括可选择的“登记”图标(诸如,可点击的“登记”图标)或者可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,响应于对应于各自动作的用户的动作,社交网络系统360可以创建“收藏夹”矢线或“登记”矢线。作为另一个实例并非限制性方式,用户(用户“C”)可以使用具体的应用程序(SPOTIFY,它是在线音乐应用程序)收听具体的歌曲(“RambleOn”)。在该情况下,社交网络系统360可以在对应于用户的用户节点402与对应于歌曲和应用程序的概念节点404之间创建“收听”矢线406和“使用”矢线(如图4中所示),以指示用户听过该歌曲并且使用过该应用程序。此外,社交网络系统360可以在对应于歌曲和应用程序的概念节点404之间创建“播放”矢线406(如图4中所示),以指示通过具体的应用程序播放了具体的歌曲。在该情况下,“播放”矢线406对应于在外部音频文件(歌曲“Imagine”)上通过外部应用程序(SPOTIFY)执行的动作。尽管本公开内容描述了具有连接用户节点402与概念节点404的特定属性的特定矢线406,但是本公开内容考虑了具有连接用户节点402和概念节点404的任何合适属性的任何合适的矢线406。此外,尽管本公开内容描述了表示单一关系的用户节点402与概念节点404之间的矢线,但是本公开内容考虑了表示一个或多个关系的用户节点402与概念节点404之间的矢线。作为实例并非限制性方式,矢线406可以表示用户喜欢并且以具体的概念使用了矢线406。可替换地,另一个矢线406可以表示用户节点402与概念节点404之间(如图4中示出的用户“E”的用户节点402与“SPOTIFY”的概念节点404之间)的每个类型的关系(或者多个单一关系)。
在具体实施方式中,社交网络系统360可以在社交图谱400中的用户节点402与概念节点404之间创建矢线406。作为实例并非限制性方式,观看概念配置文件页面的用户(诸如,通过使用网页浏览器或通过用户的客户系统330承载的专用应用程序)可以指示他或她通过点击或选择“喜欢”图标喜欢通过概念节点404表示的概念,这可使用户的客户系统330将指示用户对与概念配置文件页面相关的概念的喜欢的消息发送至社交网络系统360。响应于该消息,社交网络系统360可以在与用户相关的用户节点402与概念节点404之间创建矢线406,如所示出的,通过用户与概念节点404之间的“喜欢”矢线406。在具体实施方式中,社交网络系统360可在一个或多个数据存储中储存矢线406。在具体实施方式中,响应于具体的用户动作矢线406可以自动地由社交网络系统360形成。作为实例并非限制性方式,如果第一用户上传图片,观看电影或者听歌,则矢线406可在对应于第一用户的用户节点402与对应于这些概念的概念节点404之间形成。尽管本公开内容描述了以具体的方式形成具体矢线406,但是本公开内容考虑了以任何合适的方式形成任何合适的矢线406。
在具体实施方式中,广告可以是文本(其可以是HTML链接)、一个或多个图像(其可以是HTML链接)、一个或多个视频、音频、一个或多个ADOBEFLASH文件、这些的合适的组合,或者以在一个或多个网页上、一个或多个电子邮件中、或者关联用户请求的搜索结果呈现的任何合适的数字格式的任何其他合适的广告。另外或者可替换地,广告可以是一个或多个被赞助的故事(例如,社交网络系统360上的新闻流或者即时动态项)。赞助的故事可以是用户通过例如在用户的资料页面或其他页面的预先确定的区域内呈现社交动作,呈现与广告商相关联的附加信息,在其他用户的新闻流或即时动态中高亮或以另外的方式突出,或以另外的方式推广而进行的广告商促销的社交动作(诸如,“赞”页面、在页面上的张贴上“赞”或评论、回复与页面相关联的事件、对在页面上张贴的问题投票、签到地点、使用应用或玩游戏、或“赞”或共享网站)。广告商可以付费以使社交动作得到推广。作为实例并非限制性方式,广告可以包括在搜索结果页面的搜索结果当中,其中赞助的内容通过非赞助的内容得到宣传。
在具体实施方式中,可以要求在社交网络系统网页、第三方网页、或者其他页面内显示广告。可以在页面的专用部分中,诸如在页面的顶部的横幅区域、在页面的侧面的列中、在页面的GUI中、在弹出式窗口中、在下拉菜单中、在页面的输入栏中、在页面的内容的顶部、或者关于页面的别处显示广告。此外或者可替换地,可以在应用内显示广告。可以在专用页面内显示广告,这就需要在用户可以访问页面或利用应用程序之前与广告交互或观看广告。例如,用户可以通过网络浏览器观看广告。
图5示出了示例性计算机系统500。在具体实施方式中,一个或多个计算机系统500执行本文描述或示出的一种或多种方法的一个或多个步骤。在具体实施方式中,一个或多个计算机系统500提供本文描述或示出的功能。在具体实施方式中,在一个或多个计算机系统500中运行的软件进行本文描述或示出的一种或多种方法的一个或多个步骤,或者提供本文描述或示出的功能。具体实施方式包括一个或多个计算机系统500的一个或多个部分。在本文中,在适当情况下,参考计算机系统可包含计算设备,反之亦然。而且,引用的计算机系统可包括一个或多个计算机系统,视情况而定。
本公开内容考虑了任何合适数量的计算机系统500。本公开内容考虑了采用任何合适的物理形式的计算机系统500。作为实例并非限制性方式,计算机系统500可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如,电脑模组(COM)或者系统模组(SOM))、台式计算机系统、膝上型或者笔记本计算机系统、交互式自助服务机、主机、计算机系统的网格、移动电话、个人数字助理(PDA)、服务器、平板电脑系统、或者这些中两个以上的组合。在适当情况下,计算机系统500可包括一个或多个计算机系统500;为整体式或者分布式;跨多个位置;跨多台机器;跨多个数据中心;或者驻留在可包括一个或者多个网络中的一个或多个云组件的云中。在适当情况下,一个或多个计算机系统500可执行本文所描述或者示出的一种或者多种方法的一个或多个步骤,而基本没有空间和时间限制。作为实例并非限制性方式,一个或多个计算机系统500可实时地或以批量模式执行本文所描述或者示出的一种或多种方法的一个或多个步骤。在适当情况下,一个或多个计算机系统500可在不同时间或者在不同位置执行本文所描述或者示出的一种或多种方法的一个或多个步骤。
在具体实施方式中,计算机系统500包括处理器502、存储器504、存储介质506、输入/输出(I/O)接口508、通信接口510以及总线512。虽然本公开内容描述和说明了在特定的布置中具有特定数量的特定组件的特定计算机系统,但是本公开内容考虑了具有在任何合适的布置中具有任何合适数量的任何合适组件的任何合适的计算机系统。
在具体实施方式中,处理器502包括用于执行诸如装配计算机程序的指令的硬件。作为实例但不是作为限制方式,为了执行指令,处理器502可从内部寄存器、内部缓存、存储器504或者存储介质506中重新检索(或者取)指令;解码并且执行它们;然后向内部寄存器、内部缓存、存储器504或者存储介质506写入一个或多个结果。在具体实施方式中,处理器502可包括用于数据、指令或地址的一个或多个内部缓存。在适当的情况下,本公开内容考虑了包括任何合适数量的任何合适的内部缓存的处理器502。作为实例并非限制性方式,处理器502可包括一个或多个指令缓存、一个或多个数据缓存以及一个或多个转换后备缓冲器(TLB)。在指令缓存中的指令可以是在存储器504或存储介质506中的指令的复制,并且指令缓存可以加速处理器502对那些指令的检索。数据缓存中的数据可能是存储器504或者存储介质506中的用于在处理器502执行来操作的指令的数据;在处理器502执行的用于在处理器502执行的后续指令访问的或者用于写入存储器504或者存储介质506的先前指令的结果;或者其他合适的数据的副本。数据缓存可加速处理器502的读取或写入操作。TLB可以加速处理器502的虚拟地址转换。在具体实施方式中,处理器502可包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开内容考虑了包括任何合适数量的任何合适的内部寄存器的处理器502。在适当的情况下,处理器502可包括一个或多个算术逻辑单元(ALU);可以是多核处理器;或者包括一个或多个处理器502。虽然本公开描述并且示出了具体处理器,但本公开考虑了任意合适的处理器。
在具体实施方式中,存储器504包括用于储存处理器502执行的指令或处理器502操作的数据的主存储器。作为实例并非限制性方式,计算机系统500可将指令从存储介质506或另一源(诸如,另一计算机系统500)加载至存储器504。然后,处理器502可将指令从存储器504加载至内部寄存器或内部缓存。为了执行该指令,处理器502可从内部寄存器或者内部缓存检索指令并且将它们进行解码。在执行指令过程中或者之后,处理器502可将一个或多个结果(可以是中间结果或者最终结果)写入内部寄存器或者内部缓存中。然后,处理器502可将那些结果中的一个或多个写入到存储器504。在具体实施方式中,处理器502仅执行一个或多个内部寄存器或内部缓存或存储器504(与存储介质506相反的位置或其他位置)中指令,并且仅对一个或多个内部寄存器或内部缓存或存储器504(与存储介质506相反的位置或其他位置)中的数据进行操作。一个或多个内存总线(每个可包括地址总线和数据总线)可将处理器502耦接至存储器504。如下所述,总线512可包括一个或多个内存总线。在具体实施方式中,一个或多个内存管理单元(MMU)驻留在处理器502与存储器504之间,并且有助于由处理器502要求的对存储器504的访问。在具体实施方式中,存储器504包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。而且,在适当的情况下,这个RAM可以是单端口或多端口RAM。本公开内容考虑了任何合适的RAM。在适当情况下,存储器504可包括一个或多个存储器504。尽管本公开描述并且示出了具体内存,然而本公开内容考虑了任何合适的内存。
在具体实施方式中,存储介质506包括用于数据或指令的大容量存储器。作为实例并非限制性方式,存储介质506可包括硬盘驱动(HDD)、软盘驱动、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动或者它们的两个以上的组合。存储介质506可以包括可移动或不可移动(或固定)介质,视情况而定。在适当情况下,存储介质506可以在计算机系统500的内部或外部。在具体实施方式中,存储介质506是非易失性的固态存储器。在具体实施方式中,存储介质506包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程序只读存储器(PROM)、可擦编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、电可更改只读存储器(EAROM)、或者闪存、或者这些中的两个以上的组合。本公开内容考虑了采用任何合适物理形式的大容量存储介质506。在适当情况下,存储介质506可包括有助于处理器502与存储介质506之间通信的一个或多存储控制单元。在适当的情况下,存储介质506可以包括一个或多个存储介质506。虽然本公开内容描述并且示出了具体存储器,但本公开内容考虑了任意合适的存储器。
在具体实施方式中,I/O接口508包括为计算机系统500与一个或多个I/O设备之间的通信提供一个或多个接口的硬件、软件或这两者。在适当的情况下,计算机系统500可以包括一个或者多个这种I/O设备。这些I/O设备的一个或多个可实现个人与计算机系统500之间的通信。作为实例并非限制性方式,I/O设备可包括键盘、键区、麦克风、监控器、鼠标、打印机、扫描仪、扬声器、静态照相机、铁笔、平板电脑、触摸屏、轨迹球、摄影机、另一合适的I/O设备、或者这些中的两种或者更多种的组合。I/O设备可以包括一个或多个传感器。本公开内容考虑了任何合适的I/O设备和用于它们的任何合适的I/O接口508。在适当的情况下,I/O接口508可包括使处理器502能够驱动这些I/O设备中的一个或多个的一个或多个设备或软件驱动器。在适当的情况下,I/O接口508可包括一个或多个I/O接口508。虽然本公开内容描述并且示出了具体I/O接口,然而,本公开内容考虑任意合适的I/O接口。
在具体实施方式中,通信接口510包括提供用于在计算机系统500与一个或多个其他计算机系统500或者一个或多个网络之间进行通信(诸如,例如,基于数据包的通信)的一个或多个接口的硬件、软件或者两者。作为实例并非限制性方式性方式,通信接口510可包括用于与以太网或其他基于线缆的网络通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(诸如WI-FI网络)通信的无线NIC(WNIC)或无线适配器。本公开内容考虑了任何合适的网络和用于它的任何合适的通信接口510。作为实例并非限制性方式,计算机系统500可与自组织网络、个人局域(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或多个部分或它们的两个或更多的组合通信。这些网络中的一个或多个中的一个或多个部分可以为有线或者无线。例如,计算机系统500可以与无线PAN(WPAN)(诸如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如,全球移动通信系统(GSM)网络)或其他合适的无线网络或这些的两个或更多的组合通信。在适当情况下,计算机系统500可包括用于这些网络中的任何一个的任何合适的通信接口510。在适当的情况下,通信接口510可包括一个或多个通信接口510。虽然本公开内容描述并且示出了具体通信接口,但本公开内容考虑了任意合适通信接口。
在具体实施方式中,总线512包括将计算机系统500的组件彼此耦接的硬件、软件或者硬件和软件。作为实例并非限制性方式,总线512可以包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互联、工业标准结构(ISA)总线、INFINIBAND互联、低脚数(LPC)总线、存储总线、微通道结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或另一合适的总线或这些中的两个以上的组合。在适当的情况下,总线512可以包括一个或多个总线512。虽然本公开内容描述并且示出了特定总线,然而本公开内容考虑了任意合适的总线或者互连。
在本文中,在适当情况下,计算机可读非易失性存储媒体或媒介可包括一个或多个以半导体为基础的或其他集成电路(IC)(诸如,场可编程门阵列(FPGA)或应用专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软磁盘(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非易失性存储媒体或这些中的两个以上任何合适的组合。在适当情况下,计算机可读非暂时性存储媒体可以是易失的、非易失的,或易失和非易失的结合。
在本文中,除非另有明确表示或通过上下文另有表示,否则“或”是包括性的而不是排除性的。因此,在本文中,除非另有明确表示或通过上下文的其他表示,否则“A或B”意味着“A、B、或这两者”。此外,除非另有其他明确表示或通过上下文的其他表示,否则“和”是两者结合及多个。因此,在本文中,除非另有其他明确表示或通过上下文的其他表示,否则“A和B”意味着“结合地或分别地A和B”。
本公开内容的范围包括本领域技术人员应当理解的对本文中描述或示出的示例性实施方式的所有改变、替代、变化、变更以及变形。本公开内容的范围并不限于本文中描述或示出的示例性实施方式。此外,尽管本公开内容将本文中各个实施方式描述并且示出为包括具体部件、元件、功能、操作或步骤,但是本领域普通技术人员应当理解的是,这些实施方式中的任何一个可包括本文中任何地方描述或示出的任何部件、元件、功能、操作或步骤的任何组合或排列。此外,所附权利要求中参考的适配于、布置为、能够、配置为、使能够做、能操作为或有效的执行具体功能的设备或系统或者设备或系统的部件包括设备、系统、部件,不管是否它或者具体功能被激活、接通或解锁,只要该设备、系统或部件被如此适配、布置、能够、配置、能够做、能操作或有效的。

Claims (20)

1.一种方法,包括:
由计算设备识别要预生成的显示对象的部分;
由所述计算设备监控线程以识别下一空闲时间窗,所述下一空闲时间窗包括当所述线程将空闲最小时段时的下一机会;
由所述计算设备将一个或多个选择的预生成任务添加至消息队列,用以在所述下一空闲时间窗期间由所述线程执行;
由所述计算设备通过利用内容布局的部分的内容,预生成显示对象的至少一个选择的元素,执行所述消息队列中的所述一个或多个选择的预生成任务,所述显示对象与所述内容布局相关;以及
由所述计算设备返回所述显示对象。
2.根据权利要求1所述的方法,其中,要预生成的所述显示对象的部分包括所述内容布局的部分,所述内容布局的部分将填充与所述计算设备相关的屏幕的可显示区域,并且其中,基于所述屏幕的尺寸、所述屏幕的长宽比、要呈现的所述内容的类型、应用程序特定的因素、用户配置的设置、或者用户偏好来确定所述可显示区域。
3.根据权利要求2所述的方法,其中,所述至少一个选择的元素的选择基于所述可显示区域的尺寸、所述计算设备的可用内存、或者应用程序特定的规则。
4.根据权利要求1所述的方法,其中,执行所述消息队列中的所述一个或多个选择的预生成任务包括:
当到达屈服点时暂停当前正在执行的任务;以及
将所暂停的任务添加至所述消息队列以在以后的时间重新开始。
5.根据权利要求4所述的方法,进一步包括:
在应用程序定制的再循环器中存储至少一个预生成的元素;
响应于对所述内容布局的部分的内容的请求,从所述应用程序定制的再循环器检索所述至少一个预生成的元素;
针对所述内容布局的部分,根据需要更新所述显示对象的其他元素;以及
接收对在与所述计算设备相关的屏幕的可显示区域中的内容布局的第一部分中的内容的请求。
6.根据权利要求1所述的方法,其中,应用程序特定的规则基于预生成各个元素的成本划分元素的优先级,其中,预生成元素的成本基于包括以下的因素:所述元素的大小、所述元素的复杂度、所述元素必须多久一次更新、所述计算设备的平台的性能、或者所述计算设备的配置。
7.根据权利要求5的所述方法,其中,应用程序特定的规则基于所述计算设备的可用内存调整要选择用以预生成的元素的数目。
8.一个或多个计算机可读非暂时性存储介质,包含软件,所述软件在执行时能操作以:
识别要预生成的显示对象的部分;
监控线程以识别下一空闲时间窗,所述下一空闲时间窗包括当所述线程将空闲最小时段时的下一机会;
将一个或多个选择的预生成任务添加到消息队列用,以在所述下一空闲时间窗期间由所述线程执行;
通过利用内容布局的部分的内容,预生成显示对象的至少一个选择的元素以执行所述消息队列中的所述一个或多个选择的预生成任务,所述显示对象与所述内容布局相关;以及
返回所述显示对象。
9.根据权利要求8所述的介质,其中,要预生成的所述显示对象的部分包括所述内容布局的部分,所述内容布局的部分将填充与所述计算设备相关的屏幕的可显示区域,并且其中,基于所述屏幕的尺寸、所述屏幕的长宽比、要呈现的所述内容的类型、应用程序特定的因素、用户配置的设置、或者用户偏好来确定所述可显示区域。
10.根据权利要求9所述的介质,其中,所述至少一个选择的元素的选择基于所述可显示区域的尺寸、所述计算设备的可用内存、或者应用程序特定的规则。
11.根据权利要求8所述的介质,其中,当被执行时,执行所述消息队列中的所述一个或多个选择的预生成任务的所述软件进一步能操作以:
当到达屈服点时暂停当前正执行的任务;并且
将所暂停的任务添加至所述消息队列以在以后的时间重新开始。
12.根据权利要求11所述的介质,其中,所述软件在被执行时进一步能操作以:
在应用程序定制的再循环器中存储至少一个预生成的元素;
响应于对所述内容布局的部分中的内容的请求,从所述应用程序定制的再循环器检索所述至少一个预生成的元素;
针对所述内容布局的部分,根据需要更新所述显示对象的其他元素;以及
接收对在与所述计算设备相关的屏幕的可显示区域中的内容布局的第一部分中的内容的请求。
13.根据权利要求8所述的介质,其中,应用程序特定的规则基于预生成各个元素的成本划分元素的优先级,其中,预生成元素的成本基于包括以下的因素:所述元素的大小、所述元素的复杂度、所述元素必须多久一次更新、所述计算设备的平台的性能、或者所述计算设备的配置。
14.根据权利要求12的所述介质,其中,应用程序特定的规则基于所述计算设备的可用内存调整要选择用以预生成的元素的数目。
15.一种计算设备,包括:
一个或多个处理器;以及
存储器,耦接至所述处理器,且所述存储器包括能由所述处理器执行的指令,所述处理器在执行所述指令时能操作以:
识别要预生成的显示对象的部分;
监控线程以识别下一空闲时间窗,所述下一空闲时间窗包括当所述线程将空闲最小时段时的下一机会;
将一个或多个选择的预生成任务添加到消息队列,用以在所述下一空闲时间窗期间由所述线程执行;
通过利用内容布局的部分的内容,预生成显示对象的至少一个选择的元素以执行所述消息队列中的所述一个或多个选择的预生成任务,所述显示对象与所述内容布局相关;以及
返回所述显示对象。
16.根据权利要求15所述的设备,其中,能操作以执行所述消息队列中的所述一个或多个选择的预生成任务的所述处理器进一步能操作以:
当到达屈服点时暂停当前正执行的任务;并且
将所暂停的任务添加至所述消息队列以在以后的时间重新开始。
17.根据权利要求16所述的设备,其中,当执行所述指令时所述处理器进一步能操作以:
在应用程序定制的再循环器中存储至少一个预生成的元素;
响应于对所述内容布局的部分中的内容的请求,从所述应用程序定制的再循环器检索所述至少一个预生成的元素;
针对所述内容布局的部分,根据需要更新所述显示对象的其他元素;以及
接收对在与所述计算设备相关的屏幕的可显示区域中的内容布局的第一部分中的内容的请求。
18.根据权利要求15所述的设备,其中,要预生成的所述显示对象的部分包括所述内容布局的部分,所述内容布局的部分将填充与所述计算设备相关的屏幕的可显示区域,其中,基于所述屏幕的尺寸、所述屏幕的长宽比、要呈现的所述内容的类型、应用程序特定的因素、用户配置的设置、或者用户偏好来确定所述可显示区域,并且其中,所述至少一个选择的元素的选择基于所述可显示区域的尺寸、所述计算设备的可用内存、或者应用程序特定的规则。
19.根据权利要求15所述的设备,其中,应用程序特定的规则基于预生成各个元素的成本划分元素的优先级,其中,预生成元素的成本基于包括以下的因素:所述元素的大小、所述元素的复杂度、所述元素必须多久一次更新、所述计算设备的平台的性能、或者所述计算设备的配置。
20.根据权利要求15所述的设备,其中,应用程序特定的规则基于所述计算设备的可用内存调整要选择用以预生成的元素的数目。
CN201480033309.9A 2013-04-11 2014-04-03 显示对象预生成 Active CN105283845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710763691.4A CN107577526A (zh) 2013-04-11 2014-04-03 用于计算设备的方法、存储介质以及计算设备

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/861,303 US9207986B2 (en) 2013-04-11 2013-04-11 Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue
US13/861,303 2013-04-11
PCT/US2014/032786 WO2014168807A1 (en) 2013-04-11 2014-04-03 Display object pre-generation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710763691.4A Division CN107577526A (zh) 2013-04-11 2014-04-03 用于计算设备的方法、存储介质以及计算设备

Publications (2)

Publication Number Publication Date
CN105283845A true CN105283845A (zh) 2016-01-27
CN105283845B CN105283845B (zh) 2017-09-19

Family

ID=51687714

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480033309.9A Active CN105283845B (zh) 2013-04-11 2014-04-03 显示对象预生成
CN201710763691.4A Pending CN107577526A (zh) 2013-04-11 2014-04-03 用于计算设备的方法、存储介质以及计算设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710763691.4A Pending CN107577526A (zh) 2013-04-11 2014-04-03 用于计算设备的方法、存储介质以及计算设备

Country Status (11)

Country Link
US (3) US9207986B2 (zh)
EP (2) EP3220264A3 (zh)
JP (2) JP6130049B2 (zh)
KR (2) KR20160116061A (zh)
CN (2) CN105283845B (zh)
AU (3) AU2014251233B2 (zh)
BR (1) BR112015025695A2 (zh)
CA (2) CA2908310C (zh)
IL (2) IL241921A (zh)
MX (1) MX346848B (zh)
WO (1) WO2014168807A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955766A (zh) * 2016-04-22 2016-09-21 北京小米移动软件有限公司 应用预加载方法及装置
CN110502294A (zh) * 2019-07-20 2019-11-26 华为技术有限公司 数据处理的方法、装置及电子设备
CN112714908A (zh) * 2018-10-19 2021-04-27 甲骨文金融服务软件有限公司 依赖性图形控制的对象和计算管线迁移
CN114003177A (zh) * 2021-11-05 2022-02-01 青岛海信日立空调系统有限公司 一种空调器、控制系统和控制方法
CN114092595A (zh) * 2020-07-31 2022-02-25 荣耀终端有限公司 一种图像处理方法及电子设备

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9207986B2 (en) 2013-04-11 2015-12-08 Facebook, Inc. Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue
US8930819B1 (en) * 2013-12-13 2015-01-06 Linkedin Corporation Visualization of the reach of a post by a member of an on-line social networking system
US9703615B2 (en) * 2014-07-18 2017-07-11 Facebook, Inc. Stepped sizing of code execution
US9753785B2 (en) * 2014-07-24 2017-09-05 Home Box Office, Inc. Asynchronous dispatcher for application framework
US20160241766A1 (en) * 2015-02-12 2016-08-18 International Business Machines Corporation Method of disabling transmission and capture of visual content on a device to protect from inappropriate content
US11188988B2 (en) 2015-08-31 2021-11-30 Ebay Inc. Image generation for social media contact engagement
US10666760B2 (en) * 2015-08-31 2020-05-26 Ebay Inc. Passive social media contact engagement
JP6095815B1 (ja) * 2016-02-16 2017-03-15 ヤフー株式会社 情報表示プログラム、情報表示装置、情報表示方法および配信装置
US20180373653A1 (en) * 2017-06-21 2018-12-27 Hewlett Packard Enterprise Development Lp Commitment of acknowledged data in response to request to commit
US10908804B2 (en) * 2017-08-30 2021-02-02 Facebook, Inc. Incremental mount framework
US11126677B2 (en) * 2018-03-23 2021-09-21 Kindra Connect, Inc. Multimedia digital collage profile using themes for searching and matching of a person, place or idea
KR102192934B1 (ko) * 2018-08-08 2020-12-18 엔에이치엔 주식회사 사용자 단말기에 웹 페이지를 제공하는 네트워크 서버 및 방법
CN111339455B (zh) 2018-12-18 2024-02-23 阿里巴巴集团控股有限公司 浏览器应用加载页面首屏的方法和装置
US11936656B2 (en) * 2020-09-14 2024-03-19 Box, Inc. Prioritizing operations over content objects of a content management system
US11645107B2 (en) * 2021-01-13 2023-05-09 Adobe Inc. Processing multi-frame tasks in a multi-threaded digital design system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US20010051979A1 (en) * 1999-09-10 2001-12-13 Avantgo, Inc. System, method, and computer program product for placement of channels on a mobile device
US6912533B1 (en) * 2001-07-31 2005-06-28 Oracle International Corporation Data mining agents for efficient hardware utilization
US20060173572A1 (en) * 2003-03-17 2006-08-03 Masakazu Sagasaki Numerical control system
US20070297560A1 (en) * 2006-03-03 2007-12-27 Telesecurity Sciences, Inc. Method and system for electronic unpacking of baggage and cargo
US20090083700A1 (en) * 2007-09-26 2009-03-26 Ncr Corporation Automated code generation for an automated teller machine
US20110066999A1 (en) * 2008-06-30 2011-03-17 Mo'minis Ltd. Method of Generating and Distributing A Computer Application

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219738A (ja) 1994-02-03 1995-08-18 Matsushita Electric Ind Co Ltd 情報処理装置
US5608909A (en) 1994-04-15 1997-03-04 Microsoft Corporation Method and system for caching presentation data of a source object in a presentation cache
JP2964926B2 (ja) 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US5794016A (en) * 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
US6085226A (en) 1998-01-15 2000-07-04 Microsoft Corporation Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US20010047394A1 (en) 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
JP4344898B2 (ja) 1999-10-05 2009-10-14 富士ゼロックス株式会社 画像処理装置、画像処理方法、画像形成装置
JP4032641B2 (ja) 2000-12-08 2008-01-16 富士ゼロックス株式会社 Gui装置およびgui画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体
JP3948911B2 (ja) 2001-05-30 2007-07-25 富士通株式会社 視野データに従う仮想空間におけるリンクされた複数の情報オブジェクトの表示
US7146617B2 (en) 2001-09-29 2006-12-05 Siebel Systems, Inc. Method, apparatus, and system for implementing view caching in a framework to support web-based applications
JP2003230121A (ja) * 2001-11-30 2003-08-15 Fujitsu Ltd コンテンツ配信方法、コンテンツ視聴方法、サーバ装置、および端末装置
US20040205514A1 (en) 2002-06-28 2004-10-14 Microsoft Corporation Hyperlink preview utility and method
US7418494B2 (en) * 2002-07-25 2008-08-26 Intellectual Ventures Holding 40 Llc Method and system for background replication of data objects
GB2418509A (en) 2003-06-03 2006-03-29 Forbes Holton Norris Iii Flexible, dynamic menu-based web-page architecture
US7870100B2 (en) 2003-06-10 2011-01-11 International Business Machines Corporation Methods and systems for publishing electronic documents with automatic fragment detection
US20050010877A1 (en) * 2003-07-11 2005-01-13 Arthur Udler System and method for dynamic generation of a graphical user interface
US9098475B2 (en) 2003-08-20 2015-08-04 Xerox Corporation Apparatus and method for generating reusable composite components during dynamic document construction
US8103742B1 (en) * 2003-11-24 2012-01-24 Amazon Technologies, Inc. Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
WO2005089397A2 (en) * 2004-03-16 2005-09-29 Advanced Tracking Technologies, Inc. Geographic information data base engine
EP1836584A4 (en) 2004-11-16 2009-05-06 Zalag Corp DISPLAY / PRESENTATION METHODS AND DEVICES CORRESPONDING TO CONTENT ELEMENTS AND DISPLAY CONTAINERS
JP4151977B2 (ja) * 2005-03-16 2008-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 先読み装置、先読み方法、および先読みプログラム
US7975019B1 (en) * 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic supplementation of rendered web pages with content supplied by a separate source
JP2007058755A (ja) * 2005-08-26 2007-03-08 Dainippon Screen Mfg Co Ltd 電子掲示板システム、電子掲示板システムのサーバー、電子掲示板システムのクライアントにおけるスレッド表示処理方法、およびプログラム
US8402094B2 (en) 2006-08-11 2013-03-19 Facebook, Inc. Providing a newsfeed based on user affinity for entities and monitored actions in a social network environment
US8102398B2 (en) * 2006-03-03 2012-01-24 Ati Technologies Ulc Dynamically controlled power reduction method and circuit for a graphics processor
JP4947407B2 (ja) 2006-03-29 2012-06-06 日本電気株式会社 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム
JP2007286745A (ja) 2006-04-13 2007-11-01 Canon Inc 画像形成装置、画像形成方法及びプログラム
JP4759614B2 (ja) * 2006-05-11 2011-08-31 パナソニック株式会社 処理装置
US20080212690A1 (en) * 2007-03-01 2008-09-04 Qualcomm Incorporated Transcoder media time conversion
WO2008118613A1 (en) * 2007-03-01 2008-10-02 Microsoft Corporation Executing tasks through multiple processors consistently with dynamic assignments
US7818194B2 (en) 2007-04-13 2010-10-19 Salesforce.Com, Inc. Method and system for posting ideas to a reconfigurable website
US20080270890A1 (en) * 2007-04-24 2008-10-30 Stern Donald S Formatting and compression of content data
US20090182618A1 (en) 2008-01-16 2009-07-16 Yahoo! Inc. System and Method for Word-of-Mouth Advertising
US20100023690A1 (en) 2008-07-22 2010-01-28 International Business Machines Corporation Caching dynamic contents and using a replacement operation to reduce the creation/deletion time associated with html elements
CN101436131A (zh) 2008-12-15 2009-05-20 北大方正集团有限公司 一种交互操作软件中实现重复操作的方法及系统
JP5236564B2 (ja) 2009-04-20 2013-07-17 株式会社日立製作所 ソフトウェア再利用支援方法及び装置
US20100281224A1 (en) 2009-05-01 2010-11-04 International Buisness Machines Corporation Prefetching content from incoming messages
US9015619B2 (en) 2009-06-17 2015-04-21 Oracle International Corporation Pop-up panel for multiple messages
KR100990114B1 (ko) * 2009-07-07 2010-10-29 엘지전자 주식회사 인터커넥터를 구비한 태양 전지 모듈 및 이의 제조 방법
US8024374B2 (en) 2009-07-24 2011-09-20 Oracle International Corporation Computer object conversion using an intermediate object
US8364611B2 (en) * 2009-08-13 2013-01-29 Yahoo! Inc. System and method for precaching information on a mobile device
US20110055683A1 (en) * 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US8826141B2 (en) 2010-02-12 2014-09-02 Blackberry Limited Image-based and predictive browsing
US20120018258A1 (en) * 2010-07-21 2012-01-26 Nevio Design Inc. Rim brake
CN101937461A (zh) * 2010-09-01 2011-01-05 百度在线网络技术(北京)有限公司 一种基于翻页操作优化网页浏览的方法与设备
US10304066B2 (en) 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
US20120166532A1 (en) 2010-12-23 2012-06-28 Yun-Fang Juan Contextually Relevant Affinity Prediction in a Social Networking System
JP2012148429A (ja) * 2011-01-17 2012-08-09 Canon Inc 印刷データ処理装置、キャッシュ処理方法及びプログラム
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
US9152616B2 (en) 2011-04-28 2015-10-06 Flipboard, Inc. Template-based page layout for web content
US20120284662A1 (en) 2011-05-04 2012-11-08 Microsoft Corporation Virtualized caching of user interface controls
CN102222086B (zh) * 2011-05-18 2014-11-26 广州市动景计算机科技有限公司 基于移动终端的网页阅读方法、网页阅读装置及移动终端
JP5276145B2 (ja) 2011-06-13 2013-08-28 株式会社ソニー・コンピュータエンタテインメント リスト表示装置
KR101799978B1 (ko) * 2011-06-17 2017-11-22 삼성전자주식회사 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치
JP5250667B2 (ja) * 2011-06-29 2013-07-31 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
ES2967056T3 (es) * 2011-07-26 2024-04-25 Gogoro Inc Aparato, método y artículo para autenticación, seguridad y control de dispositivos de almacenamiento de energía, como por ejemplo baterías
US9852054B2 (en) 2012-04-30 2017-12-26 Vmware, Inc. Elastic caching for Java virtual machines
US9654591B2 (en) 2012-10-01 2017-05-16 Facebook, Inc. Mobile device-related measures of affinity
US9575998B2 (en) * 2012-12-12 2017-02-21 Adobe Systems Incorporated Adaptive presentation of content based on user action
US20140280890A1 (en) * 2013-03-15 2014-09-18 Yahoo! Inc. Method and system for measuring user engagement using scroll dwell time
KR20140122292A (ko) 2013-03-28 2014-10-20 삼성전자주식회사 디스플레이 장치의 디스플레이 방법 및 디스플레이 장치
US9207986B2 (en) 2013-04-11 2015-12-08 Facebook, Inc. Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue
US9760964B2 (en) 2013-04-11 2017-09-12 Facebook, Inc. Application-tailored object re-use and recycling

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US20010051979A1 (en) * 1999-09-10 2001-12-13 Avantgo, Inc. System, method, and computer program product for placement of channels on a mobile device
US6912533B1 (en) * 2001-07-31 2005-06-28 Oracle International Corporation Data mining agents for efficient hardware utilization
US20060173572A1 (en) * 2003-03-17 2006-08-03 Masakazu Sagasaki Numerical control system
US20070297560A1 (en) * 2006-03-03 2007-12-27 Telesecurity Sciences, Inc. Method and system for electronic unpacking of baggage and cargo
US20090083700A1 (en) * 2007-09-26 2009-03-26 Ncr Corporation Automated code generation for an automated teller machine
US20110066999A1 (en) * 2008-06-30 2011-03-17 Mo'minis Ltd. Method of Generating and Distributing A Computer Application

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955766A (zh) * 2016-04-22 2016-09-21 北京小米移动软件有限公司 应用预加载方法及装置
CN105955766B (zh) * 2016-04-22 2019-08-30 北京小米移动软件有限公司 应用预加载方法及装置
CN112714908A (zh) * 2018-10-19 2021-04-27 甲骨文金融服务软件有限公司 依赖性图形控制的对象和计算管线迁移
CN110502294A (zh) * 2019-07-20 2019-11-26 华为技术有限公司 数据处理的方法、装置及电子设备
WO2021013055A1 (zh) * 2019-07-20 2021-01-28 华为技术有限公司 数据处理的方法、装置及电子设备
CN110502294B (zh) * 2019-07-20 2021-08-20 华为技术有限公司 数据处理的方法、装置及电子设备
CN114092595A (zh) * 2020-07-31 2022-02-25 荣耀终端有限公司 一种图像处理方法及电子设备
CN114003177A (zh) * 2021-11-05 2022-02-01 青岛海信日立空调系统有限公司 一种空调器、控制系统和控制方法
CN114003177B (zh) * 2021-11-05 2024-02-06 青岛海信日立空调系统有限公司 一种空调器、控制系统和控制方法

Also Published As

Publication number Publication date
EP2984564B1 (en) 2017-05-17
MX2015014300A (es) 2016-04-20
US20180047136A1 (en) 2018-02-15
MX346848B (es) 2017-04-03
JP2016519823A (ja) 2016-07-07
CA2908310C (en) 2016-05-24
WO2014168807A1 (en) 2014-10-16
BR112015025695A2 (pt) 2017-07-18
EP2984564A4 (en) 2016-10-12
US10354363B2 (en) 2019-07-16
CN107577526A (zh) 2018-01-12
EP3220264A2 (en) 2017-09-20
AU2014251233A1 (en) 2015-11-26
AU2017210529B2 (en) 2019-03-07
US10896484B2 (en) 2021-01-19
KR20150133293A (ko) 2015-11-27
KR101663178B1 (ko) 2016-10-06
IL241921A (en) 2016-12-29
CA2908310A1 (en) 2014-10-16
US20140310713A1 (en) 2014-10-16
AU2014251233B2 (en) 2015-12-24
AU2016201606A1 (en) 2016-03-31
JP6130049B2 (ja) 2017-05-17
JP6427616B2 (ja) 2018-11-21
IL248442A0 (en) 2016-12-29
AU2017210529A1 (en) 2017-08-17
US9207986B2 (en) 2015-12-08
CA2923183A1 (en) 2014-10-16
US20160078602A1 (en) 2016-03-17
CN105283845B (zh) 2017-09-19
AU2016201606B2 (en) 2017-06-29
KR20160116061A (ko) 2016-10-06
JP2017174436A (ja) 2017-09-28
EP3220264A3 (en) 2017-10-11
EP2984564A1 (en) 2016-02-17

Similar Documents

Publication Publication Date Title
CN105283845A (zh) 显示对象预生成
CA2917557C (en) Network-aware product rollout in online social networks
US20190138331A1 (en) Contextual and Personalized Help
CN105122235B (zh) 推断上下文的用户状态和持续时间
CN103597512B (zh) 从有机活动流创建赞助故事单元
CN105103084B (zh) 基于位置或者速度改变用户界面
KR101668045B1 (ko) 이미지에서 태그 통합
US11265225B2 (en) Systems and methods for prediction of anomalies
CN105210392A (zh) 预测位置通知
CN105283841B (zh) 应用定制的对象再利用和再循环
CN104956299A (zh) 基于用户的交互元素
CN104756149A (zh) 与位置相关的社交数据的真实世界视图
JP2019096352A (ja) フレキシブルなイメージ・レイアウト
CN105283835B (zh) 应用程序定制的对象预填充
CN105210017A (zh) 实时的人脸
WO2014184745A1 (en) Automatic website generation
CN105264526B (zh) 基于垂直的查询选择化
CN105229691A (zh) 在滚动时延迟繁重操作
US20190087854A1 (en) Graphical system for database marketing
US11151612B2 (en) Automated product health risk assessment
CN108139900A (zh) 传送关于应用的更新的信息
JP7242669B2 (ja) 複数のデバイスにわたるコンテンツを提供すること
US20180253762A1 (en) Cognitive method to select a service

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
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.