CN104471559B - 用于模块的有效执行的方法和设备 - Google Patents
用于模块的有效执行的方法和设备 Download PDFInfo
- Publication number
- CN104471559B CN104471559B CN201480001407.4A CN201480001407A CN104471559B CN 104471559 B CN104471559 B CN 104471559B CN 201480001407 A CN201480001407 A CN 201480001407A CN 104471559 B CN104471559 B CN 104471559B
- Authority
- CN
- China
- Prior art keywords
- module
- message
- component
- interface
- identifier
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000011068 loading method Methods 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims description 34
- 238000012552 review Methods 0.000 claims description 29
- 238000013500 data storage Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims description 3
- 230000000712 assembly Effects 0.000 claims 2
- 238000000429 assembly Methods 0.000 claims 2
- 238000013480 data collection Methods 0.000 description 38
- 230000015654 memory Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 239000000463 material Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- TVEXGJYMHHTVKP-UHFFFAOYSA-N 6-oxabicyclo[3.2.1]oct-3-en-7-one Chemical compound C1C2C(=O)OC1C=CC2 TVEXGJYMHHTVKP-UHFFFAOYSA-N 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
公开了用于模块的有效执行的方法和设备。示例性方法包括:通过第一模块产生第一模块标识符,所述第一模块已通过网页上的广告被实例化;通过所述第一模块加载组件;将所述模块标识符传送给所述组件;确定已加载了具有第二模块标识符的第二模块;以及响应于确定已加载了所述第二模块,通过所述第一模块将所述第二模块标识符传送给所述组件,以指示所述组件与所述第二模块进行通信。
Description
技术领域
本公开总体上涉及模块执行,更特别地,涉及用于模块的有效执行的方法和设备。
背景技术
近年来,网络传递媒体(例如,诸如网页的互联网传递的媒体)的使用和复杂度同样有所增加。这种媒体常常包括在加载和呈现媒体期间被完成(例如,被执行)的多个动态元素。例如,媒体(例如,网页上的广告)可配备有模块(例如,JavaScript代码),用户计算机执行该模块以使得与呈现广告相关联地呈现评介(survey)。
附图说明
图1是根据本公开的教导构造的用于呈现和跟踪媒体的示例性系统的框图。
图2是包括配备有模块的媒体的示例性网页素材的例示。
图3是可用于实现图2的模块中的一个或多个模块的示例模块的框图。
图4是表示可被执行以实现图3的模块的示例性机器可读指令的流程图。
图5和图6是表示可根据本文公开的示例性方法和设备而传输的示例性消息的消息示图。
图7是可用于实现图3的消息接口的示例性消息接口的框图。
图8至图10是表示可被执行以实现图7的消息接口的示例性机器可读指令的流程图。
图11是根据本公开的教导构造的用于呈现和跟踪媒体的示例性系统的框图。
图12是可执行图4的示例性机器可读指令以实现图2和/或图3的示例性模块的示例性处理系统的框图。
附图不成比例。在任何可能的情况下,将在附图和所附的文字描述中通篇使用相同的参考标号来表示相同或类似的部件。
具体实施方式
媒体可与多个模块相关联,这些模块执行与媒体(例如,网页或其一部分)相关联的动作。例如,第一模块可跟踪媒体的呈现,第二模块可呈现评介等。在另一个示例中,媒体(例如,网页)可与广告一起呈现,广告均包括一个或多个模块。另外,模块可与组件(例如,模块利用的公共功能的工具箱)相关联。因此,多个模块的执行可以重叠(例如,多个模块可基本上同时执行)并且可尝试创建单个组件的多个实例。本文公开的一些方法和设备有助于在共存的模块之间进行通信。另外或另选地,本文公开的一些方法和设备有助于协调模块的执行,以防止产生多个模块使用的单个组件的多个实例。媒体可包括内容和/或广告。内容和/或广告在本文中被统称为素材。
图1是用于呈现和跟踪媒体的示例性系统100的框图。示例性系统100包括媒体提供方102、广告提供方104、数据收集设施105和用户计算机106。图示示例的系统100是基于互联网的系统,在该系统中,用户计算机106通过一个或多个网络可通信地连接到媒体提供方102、广告提供方104、数据收集设施105。这一个或多个网络(或其它网络)还可以可通信地连接媒体提供方102、广告提供方104和数据收集设施105中的任一个。另选地,系统100可以不是基于互联网的系统并且可在任何其它环境下实现。
图示示例的媒体提供方102是互联网媒体提供方,它包括将网页提供给用户计算机106的一个或多个服务器。网页可包括媒体、广告、或任何其它嵌入的或以其它方式相关联的素材。根据图示示例,由广告提供方104向用户计算机106提供广告。另选地,可由包括媒体提供方的任何其它源来提供广告。另选地,媒体提供方102可是任何其它类型的媒体提供方,诸如(例如)文件服务器、音频和/或视频提供方、数据库服务器等。
图1的示例性广告提供方104提供广告,这些广告被嵌入媒体提供方102提供的网页中或以其它方式与网页相关联。例如,可由想要将它们的产品在媒体提供方102提供的网页上做广告的实体向广告提供方104提供广告。为了计量(例如,监测、验证、跟踪等)广告的呈现,广告提供方104与数据收集设施105协同操作。特别地,图1的广告提供方104使广告配备有一个或多个模块107,该一个或多个模块107执行计量(例如,链接、嵌入或以其它方式将广告与模块相关联)。根据图示示例,广告包括使用户计算机从数据收集设施105得到模块107的指令。模块107例如可执行任何类型的计量,诸如在用户计算机106上呈现评介,将关于广告呈现的信息发送到数据收集设施105,将关于用户计算机106和/或用户计算机106的用户的信息发送到数据收集设施等。示例性广告提供方104可另选地向用户计算机106提供模块。
图示示例的数据收集设施105将模块(例如,模块107)提供给用户计算机106并且接收模块发送的数据。另外地或另选地,数据收集设施105可接收由从其它源(例如,广告提供方104)发送到用户计算机106的模块发送的数据。图示示例的数据收集设施105利用接收到的数据来产生报告。例如,数据收集设施105可产生指示广告提供方104提供的广告的呈现(例如,点击、访问、观看、印象(impression)等)的次数的报告。数据收集设施105产生的这些报告可被公布、被提供到广告提供方104、被提供到与广告提供方104一起工作的广告方。
图示示例的用户计算机106是执行网络浏览器109的个人计算机,网络浏览器109请求、接收和呈现来自媒体提供方102、广告提供方104等的素材。另选地,用户计算机106例如可以是任何类型的计算装置,诸如便携式计算装置、台式计算机、膝上型计算机、移动电话、网络连接电视、机顶盒、蓝光播放器等。
虽然图1的图示示例包括媒体提供方102、广告提供方104、数据收集设施105和用户计算机106中的每一种中的一个,但在系统中可包括任何数量的这些组件中的任一些或全部。例如,多个用户计算机106可访问来自多个媒体提供方102中的媒体。多个广告提供方104可提供与来自多个内容提供方102的内容一起呈现的广告。与媒体和/或广告相关联的模块可将数据发送到单个数据收集设施105、与单个实体相关联的多个数据收集设施105、和/或与多个实体相关联的多个数据收集设施105。
图1的框图还包括通过消息108-120示出的示例性消息流。当用户计算机106向媒体提供方102发送请求(例如,超文本传输协议(HTTP)GET请求)时,示例性消息流开始(消息108)。响应于消息108,媒体提供方102向用户计算机106发送媒体(例如,网页)(消息110)。媒体包括指令(例如,用于在IFRAME中加载素材的参考),其使用户计算机106向广告提供方104发送另一请求(消息112)。例如,用户计算机106可从广告提供方104请求一个或多个广告标语(advertising banner)。响应于消息112,广告提供方104将请求的广告(例如,广告标语)发送到用户计算机106(消息114)。在一些示例中,广告素材被配备有使用户计算机106从数据收集设施105请求一个或多个模块(例如,模块107)(例如,用于显示评介的JavaScript)的指令(消息116)。作为响应,数据收集设施105向用户计算机106发送请求的模块107(消息118)。用户计算机106执行模块107,模块107例如将数据(例如,评介结果)发送回数据收集设施(消息120)。
可在本文公开的方法和设备中利用除了图1的消息流以外的其他消息流。例如,模块可被包括在消息110和/或消息114中提供的素材中,使得消息116和消息118不被发送。另选地,消息116可从除了数据收集设施105以外的位置请求模块。另选地,可利用以上消息的任何组合。
虽然图1示出单个消息流,但用用户计算机106和/或其它用户装置,会出现(例如,基本上同时出现)许多消息流。例如,如本文进一步详细描述的,媒体提供方102提供的媒体可包括和/或参考多个广告。各广告可与模块(例如,不同模块或同一模块的多个实例)相关联。当这些模块与同一实体(例如,媒体计量实体)相关联时,可期望模块进行通信和/或协同操作。虽然本文中公开的示例是指配备有一个或多个模块的广告,但任何素材(例如,媒体、内容等)也可配备有一个或多个模块。例如,内容可配备有一个或多个模块,以计量内容的呈现。
图2是包括广告204和210的示例性网页200的图示,广告204和210配备有多个模块(例如,206、208、212、214)。图2的示例性网页包括主媒体202(例如,文本、图像、视频等)。
在图示示例中,各个广告204、210包括两个模块206、208和212、214。每个示例性模块对206、208和212、214中的第一模块206、212产生并且显示评介,这些评介与和它们相关联的各个广告204、210相关。每个示例性模块对206、208和212、214中的第二示例性模块212、214是可由示例性模块206、212利用的功能的工具箱。为了清晰起见,被其它模块(例如,模块212、214)利用的模块在本文中被称为组件。组件可以是模块、库、数据库、数据存储器(Datastore)、或模块可利用的任何其它元件。例如,组件可以是移动装置工具箱和个人计算机工具箱等,移动装置工具箱包括用于计量移动装置的功能,个人计算机工具箱包括用于计量个人计算机的功能。
在一些情形下,模块206、210可用于彼此进行通信。例如,模块206可从用户收集人口统计学信息并且将该信息传送给模块212,使得模块212不需要请求同样的信息。在另一个示例中,模块206可实现用于与图1的数据收集设施105通信的数据收发器,并且模块212可将收集到的数据传送给模块206,用于中继到数据收集设施105。另外地或另选地,使模块进行通信以有助于资源共享可以是有利的。例如,模块206可加载作为模块(组件)208的工具箱的实例并且可与模块212通信,使得模块212利用模块208并且不需要加载模块214。这种设备可以是更有效的硬件资源的使用,因为它减少了加载和/或执行多个模块的需要。
在图3中示出了模块206的示例性实现。例如,为了有助于模块之间的通信、资源共享和其它协调,图3的框图示出的示例性模块包括标识产生器302、组件加载器304、通信接口306、监听器308和组件可用性检查器310。模块206与消息接口320可通信地连接。
图示示例的标识产生器302产生要与模块206的实例相关联的唯一或半唯一模块标识符。示例性标识产生器302产生10位随机或伪随机数作为模块标识符。特别地,示例性标识产生器302使随机或伪随机数产生器执行多次,以增加数的随机性(例如,以避免基本上同时执行的两个不同模块被分配相同的随机数)。在表1中示出用于产生随机数的示例性算法。示例性算法降低了两个模块可产生相同随机数的可能性(特别地,在多个模块可以是基本上同时产生随机数的情形下)。可另选地利用用于产生随机数和/或模块标识符的任何其它算法。
表1-示例性JavaScript随机数产生算法
图示示例的组件加载器304加载将由模块206利用的组件(例如,模块208)。例如,组件加载器304可指示用户计算机106将特定组件的实例加载到存储器中,使得模块206可访问组件所提供的功能。组件加载器304将标识产生器302产生的模块标识符传送给组件。例如,组件加载器304可在加载组件时将模块标识符传递到组件和/或可经由通信接口306将模块标识符传送给组件。如以下进一步详细描述的,在图示示例中,模块206利用消息接口320将消息发送到组件,多个模块可通过消息接口320发送和接收消息。因此,模块标识符使组件能够识别被模块206发送到组件的消息。例如,组件可忽略其它模块发送的消息(例如,为了安全、简便等起见)。
图3的示例性通信接口306将模块206与消息接口320可通信地连接。根据图示示例,模块206使用HTML 5的postMessage应用编程接口与其它模块/组件通信。另选地,通信接口306可将模块206与任何其它消息接口320可通信地连接。
图示示例中的监听器308经由通信接口306监测消息接口320(例如,postMessage接口),以从其它模块接收消息,例如,监听器308可检测到另一个模块(例如,图2的模块212)已经被加载并且可与其它模块通信。例如,监听器308可响应于检测到其它模块已经被加载而向其它模块发送消息。消息可通知已经被模块206加载的组件的其它模块。作为响应,另一个模块可请求访问组件中的一个或多个组件。监听器308可从其它模块接收模块标识符并且可将标识符发送到被请求的组件,以使得组件监视消息接口320等待来自其它模块的消息,并将因此响应于这种消息。另外地或另选地,监听器308可经由消息接口306在消息接口320上发送消息,消息包括模块206的模块标识符,指示其他模块在与被请求模块通信时利用模块206的模块标识符。监听器308例如可监测消息接口320以得到任何其它消息,诸如向模块206传送数据的消息、向模块206请求数据的消息等等。
图示示例的组件可用性检查器310经由通信接口306监测消息接口320(例如,postMessage接口),以确定另一个模块(例如,模块212)是否已经加载了模块206要访问的组件。如果另一个模块(例如,模块212)已经加载了组件(例如,模块214),则组件可用性检查器310与其它模块(例如,模块212)进行通信,以协调对组件(例如,模块214)的访问。例如,组件可用性检查器310可将来自标识产生器302的模块标识符发送到其它模块(例如,模块212),其它模块指示组件(例如,模块214)等待包括模块标识符的消息。另外地或另选地,组件可用性检查器310可请求其它模块(例如,模块212)的模块标识符并且可指示通信接口306和/或评介控制器312在与其它模块所加载的组件进行通信时利用其它模块(例如,模块212)的模块标识符。在协调了对另一个模块的组件的访问之后,图示示例的组件可用性检查器310停止或防止组件加载器304加载同一组件。因此,通过模块协调对组件的单个实例的访问,减少了处理周期、消息使用等,从而提高了底层处理器、存储器和/或其它硬件资源(例如,用户计算机106的硬件资源、数据收集设施105的硬件资源等)的效率并且减少了负荷。
图示示例的评介控制器312产生要与和模块206相关联的媒体一起呈现的评介。例如,可通过将模块206嵌入广告或者以其它方式将模块206附连到广告,使广告配备有模块206。评介控制器312可通过经由通信接口306将消息发送到消息接口320(例如,postMessage接口)来与其它模块/组件通信,该消息包括由标识产生器302产生的其模块的模块标识符。评介控制器312可从监听器308接收由其它模块/组件发送的消息,监听器308经由通信接口306从消息接口320(例如,postMessage接口)接收消息。
在图3的示例中,由评介控制器312控制模块206的评介呈现功能。另选地,可由任何其它逻辑、控制器或执行模块的操作的功能来控制评介功能。例如,模块206可以是音频/视频播放器、呈现监视器、动态媒体加载器、或任何其它类型的模块。换句话讲,虽然为了举例说明而提供了特定示例,但可以与任何类型的硬件和/或软件模块一起使用公开的用于模块通信的方法和设备。
示例性消息接口230提供了可以使多个模块借以进行通信的接口。例如,消息接口320可以是HTML 5的postMessage应用编程接口或任何其它类似接口。消息接口320可允许模块跨域(如来自不同源域的模块)进行通信,可允许模块跨在用户计算机同时加载的网页进行通信,可允许模块跨不同时加载的网页进行通信(例如,当在关闭网页之后仍存在消息接口320时),可限制与从单个基础网页加载的模块(例如,通过网页加载的模块和通过网页加载的广告所加载的模块)的通信。结合图7至图10更详细描述消息接口320。
虽然在图3中示出了实现图2的模块206的示例性方式,但图3中示出的元件、过程和/或装置中的一个或多个可按任何其它方式被组合、分割、重新布置、省略、消除和/或实现。另外,可通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合实现示例性标识产生器302、示例性组件加载器304、示例性通信接口306、示例性监听器308、示例性组件可用性检查器310、示例性评介控制器312和/或(更一般地)图2的示例性模块206。因此,例如,可通过电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)等中的一个或多个实现示例性标识产生器302、示例性组件加载器304、示例性通信接口306、示例性监听器308、示例性组件可用性检查器310、示例性评介控制器312和/或(更一般地)图2的示例性模块206中的任一个。当读取本专利的用于覆盖纯软件和/或固件实现方式的设备或系统权利要求中的任一项时,示例性标识产生器302、示例性组件加载器304、示例性通信接口306、示例性监听器308、示例性组件可用性检查器310、示例性评介控制器312和/或(更一般地)示例性模块206中的至少一个由此被明确限定成包括诸如存储器、DVD、CD、蓝光等的存储软件和/或固件的有形计算机可读存储装置或存储盘。更进一步地,图2的示例性模块206可包括一个或多个元件、过程和/或装置作为图3中示出的那些元件、过程和/或装置的补充或替代,和/或可包括多于一个的任意或全部图示元件、过程和装置。
在图4中示出表示用于实现图2和/或图3的模块206的示例性机器可读指令的流程图。在这个示例中,机器可读指令包括由处理器(诸如,以下结合图12讨论的示例性处理器平台1200中示出的处理器1212)执行的程序。程序可以包含在存储于有形计算机可读储存介质(例如CD-ROM、软盘、硬盘驱动器、数字通用盘(DVD)、蓝光盘或与处理器1212相关的存储器)上的软件中,但整个程序和/或其部分可以另选地由除了处理器1212以外的设备执行和/或被包含在固件或专用硬件中。另外,尽管参照图4中的流程图描述了示例性程序,但可另选地使用实现图2和/或图3的示例性模块206的许多其它方法。例如,这些框的执行次序可变化,和/或描述的一些框可变化、消除或组合。
如以上提到的,可使用存储在有形计算机可读存储介质(诸如,硬盘驱动器、闪存存储器、只读存储器(ROM)、压缩盘(CD)、数字通用盘(DVD)、缓存、随机存取存储器(RAM)和/或在任何持续时间内(例如,延长时间段内、永久地,用于简短实例、用于暂时缓冲、和/或用于缓存信息)存储信息的任何其它存储装置或存储盘)上的编码指令(例如,计算机和/或机器可读指令)实现图4的示例性过程。如本文使用的,术语“有形计算机可读存储介质”被明确限定成包括任何类型的计算机可读存储装置和/或存储盘并且不包括传播信号。如本文使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可互换地使用。另外地或另选地,可使用存储在非暂态计算机和/或机器可读介质(诸如,硬盘驱动器、闪存存储器、只读存储器、压缩盘、数字通用盘、缓存、随机存取存储器和/或在任何持续时间内(例如,延长时间段内、永久地,用于简短实例、用于暂时缓冲、和/或用于缓存信息)存储信息的任何其它存储装置或存储盘)上的编码指令(例如,计算机和/或机器可读指令)实现图4的示例性过程。如本文使用的,术语“非暂态计算机可读介质”被明确限定成包括任何类型的计算机可读装置和/或盘并且不包括传播信号。如本文使用的,当短语“至少”被用作权利要求前序部分中的过渡术语时,它是“开放式的”,与术语“包括”为“开放式的”一样。
当标识产生器302产生模块206的模块标识符时,图4的程序开始(框402)。标识产生器302还可通过经由通信接口306向消息接口320发送消息来向其他模块通告模块标识符。因此,其它模块可得知模块206的加载和存在。
接着,组件可用性检查器310确定是否加载任何其它模块(框404)。例如,组件可用性检查器310可借助通信接口306检查消息接口320,以确定其它模块是否已经被通告它们的存在。当没有检测到其它模块时,组件加载器304加载模块206所利用的组件(框406)。例如,组件加载器304可加载一个或多个组件,模块206将在其操作期间使用这些组件。接着,控制前进至框412。
当由组件可用性检查器310检测一个或多个其它模块(框404)时,组件可用性检查器310确定这一个或多个其它模块是否已经加载了模块206所利用的一个或多个组件(框408)。当这一个或多个其它模块还没有加载模块206所利用的一个或多个组件时,组件加载器304加载模块206所利用的组件(框406)。接着,控制前进至框412。
当这一个或多个其它模块已经加载了模块206所利用的一个或多个组件(框408)时,组件可用性检查器310请求访问这一个或多个组件(框410)。例如,组件可用性检查器310可经由通信接口306向这一个或多个其它模块发送消息。该消息可包括模块206的模块标识符和/或要访问的组件的标识。这一个或多个其它模块可为模块206提供对一个或多个组件的访问,如以下结合框414描述的。虽然图4的示例性指示模块206利用之前加载的组件或加载组件,但模块206可另选地利用一些之前加载的组件并且可另外地加载之前没有被其它模块加载的一些组件。换句话讲,可针对模块206将利用的各组件,执行框408,并且可针对各之前加载的组件,执行框410,并可执行框406以加载之前没有被加载的各模块。例如,框406、408和410可位于循环中,以针对模块206想加载的每一组件,重新执行一次。
在请求访问组件(框410)和/或加载组件(框406)之后,监听器308确定是否加载了另一个模块(框412)。例如,监听器308监测消息接口320,以检测来自其它模块的通告它们被加载的消息。另外地或另选地,监听器308可检测其它模块正在请求访问已经被组件加载器304加载的组件。
当检测另一个(第二)模块时(框412),监听器308将第二模块与组件加载器304加载的一个或多个组件相关联(框414)。如结合图5描述的,监听器308可通过将向模块206所加载的一个或多个组件发送第二模块的模块标识符来将第二模块与一个或多个组件相关联。例如,模块206加载的一个或多个组件可不监听由第二模块的模块标识符标识的消息,直到模块206将第二模块的模块标识符连同组件应该监听来自第二模块的消息的指令发送到一个或多个组件。另外地或另选地,如结合图6描述的,监听器308可通过指示第二模块在与一个或多个组件通信时使用与模块206相关联的模块标识符来将第二模块与一个或多个组件相关联。在将第二模块与一个或多个组件相关联之后,控制前进至框416。
当没有其它模块已经被加载时(框412)和/或在将第二模块与一个或多个模块相关联(框414)之后,评介控制器312呈现评介(框416)。例如,评介可在框412和414之后立即呈现,可与框412和414并行地呈现,可在经过了一定量的时间且没有检测到任何其他模块后呈现等等。虽然示例性模块206呈现评介,但可另外地或另选地由模块206执行任何其它操作或功能。换句话讲,可用任何类型的模块执行与框402-414关联的程序。例如,作为呈现评介的补充或替代,模块206可将接收到的数据发送到收集设施(例如,从其它模块接收的数据、从组件接收的数据等),模块206可执行其它收视率测量操作(例如,计量内容呈现、计量广告呈现、计量音频和/或视频呈现等)、等等。
图4的示例性程序在执行模块的操作(框416)的同时连续地检查将加载的其它模块(框412)。虽然图4的流程图示出框412和416是连续执行的,但这些框可并行或基本上并行地执行。因此,模块206可在监测其它模块并且为其它模块提供对模块206所加载的组件的同时,执行其特定操作。
图5和图6是示出模块206的监听器308可将第二模块与模块206所加载的组件相关联的两种不同方式的示例性消息示图。总体上,图5示出图3的监听器308将第二模块的模块标识符通知给组件,并且图6示出监听器308将与组件通信时使用的模块206的模块标识符通知给第二模块。
消息502至514在图5和图6中都出现了,但对消息502至514仅描述一次以减少冗余。这些消息示出示例性通信场景,并且其它通信情况也是可能的。
按照模块标识符,之后是定界符(例如“|”),之后是消息类型(例如,一字描述符、消息目的、功能等)和消息有效载荷(例如,由例如分号定界的值的列表)来格式化图5和6的示例性消息。示例性消息是:“8912589713|DATA|BROWER=MOZILLA;TS=201302080724;DOMAIN=SAMPLE.COM;PAGE=NEWS.HTML”。消息被发布给模块206和其它模块可用的消息接口320(例如,postMessage接口)。另选地,可利用任何其它消息格式。
图5和图6的消息示图在第一模块(例如,模块206)被加载并且通过发送消息502将第一模块本身通告给消息接口320时开始。例如,标识符产生器302可产生模块标识符并且将带有模块标识符的通告消息502发送到消息接口320。第一模块(例如,组件可用性检查器310)可通过在消息接口查看任何其它消息来确定还没有加载其它模块(如,如果没有其它模块通告它们已被加载,则第一模块可确定当前还没有加载其它模块)。根据图示示例,第一模块确定还没有加载其它模块,因此,没有加载组件。因此,第一模块加载504组件。
随后,第一模块(例如,评介控制器312)接着向消息接口302发送包括第一模块的模块标识符的消息506。例如,该消息可以是对来自组件的一些信息的请求(例如,与执行第一模块相关联的计算机的网络地址)。组件在监测消息接口(例如,通过登记来提醒新消息,但周期性从消息接口320请求消息,等),因此,从消息接口320获取508消息506。组件将包括被请求的信息的消息510发送到消息接口320。例如,来自组件的消息可包括组件的唯一或半唯一标识符(例如,模块标识符)。第一模块(例如,监听器308)在监测消息接口320,并由此检测消息510的发布并且从消息接口320获取512消息510。虽然示出第一模块和组件之间的单个往返通信,但可出现许多其它通信。
在第一模块被加载之后的某个时间或者基本上与第一模块的加载同时地,第二模块(例如,图2的模块212)被加载并且(例如,通过其各自的标识产生器302)向消息接口发送通告其存在的消息514。第二模块(例如,经由其各自的组件可用性检查器310)可同时通过在消息接口获取和检查其它消息来确定其它模块已经被加载。根据图示示例,第二模块发现第一模块被加载。因此,第二模块没有加载已经被第一模块加载的一个或多个组件。例如,第一模块可以向消息接口发布指示第一模块已经加载的组件的消息,第二模块可得知第一模块利用的组件,第二模块可向第一模块发送请求第一模块加载的一列组件的消息等。
根据图5的示例,在第二模块已经通告了其存在之后,第一模块(例如,监听器308)检测发布在消息接口的来自第二模块的通告消息514。作为响应,第一模块(例如,监听器308)向消息接口发送指示组件应该开始监听来自第二模块的消息的消息516。另选地,监听器308可等待来自第二模块的用于访问组件的请求。示例性消息516用第一模块的模块标识符标识并且在其有效载荷中包括与第二模块关联的模块标识符(例如,第一模块的监听器308可从消息514获取第二模块的模块标识符)。在监测消息接口的第二模块(例如,借助其各自的组件可用性检查器310)获取518消息516并且确定已经向组件通知了其存在,因此,第二模块可开始利用第二模块的模块标识符与组件通信。在消息518之前、之后或大致同时,组件从第一模块接收520消息516并且记录组件现在应该监听标记有第二模块的模块标识符的消息。
因此,第二模块(例如,第二模块的评介控制器312或第二模块的另一组件)向消息接口发送请求消息522。请求消息522包括第二模块的模块标识符。组件检测消息522,因为它现在正在监听包括第二模块的模块标识符的消息并且获取524请求消息522。组件产生对请求消息522的响应并且将响应消息526发送到消息接口。第二模块(例如,监听器308)获取528对消息的响应。
图6示出第一模块与第二模块共享其模块标识符以使第二模块能够访问组件而非如图5中所示将组件通知给第二模块。根据图6的示例,在第二模块在消息514中通告了其存在之后,第一模块(例如,监听器308)检测来自第二模块的通告消息514。作为响应,第一模块(例如,监听器308)向消息接口发送指示第二模块应该利用第一模块的模块标识符与组件进行通信的消息602。例如,消息602可包括使用第一模块的模块标识符连同关于组件可用性的信息、关于组件能力的信息、和/或第二模块可利用的任何其它信息的指令。在监测消息接口的第二模块(例如,组件可用性检查器310)获取604消息602并且向任何相关组件(例如,组件加载器304和/或评介控制器312)通知组件已经被加载并且可使用从第一模块接收的模块标识符被访问。
因此,第二模块(例如,第二模块的评介控制器312或第二模块的另一组件)向消息接口发送对组件的请求消息606。请求消息606包括第一模块的模块标识符。组件检测消息606,因为它正在监听包括第一模块的模块标识符的消息并且获取608请求消息606。组件产生对请求消息606的响应并且将响应消息610发送到消息接口。第二模块(例如,监听器308)获取612对消息的响应。
因此,在图5和图6中,在第二组件无需加载组件的第二实例的情况下,第二模块能够与组件进行通信。因此,避免为了加载组件的第二实例而需要利用处理和存储器资源。
图7是图3的消息接口320的示例性实现方式的框图。示例性消息接口320包括消息接收器702、数据存储器704和请求接口706。示例性消息接口320从模块/组件接收消息并且使这些消息可用于其它模块/组件。因此,消息接口320有助于模块/组件之间的相互通信。例如,虽然大多数网络浏览器安全性限制防止了模块/组件之间的跨域相互作用,但消息接口可提供储存库,消息可由与第一域相关联的第一模块发布到储存库并且被与第二域相关联的第二模块获取。
示例性消息接口320允许与单个网页实例相关联的模块之间的通信。例如,第一网页可包括与内容相关联的模块、与一个或多个广告相关联的模块等,消息接口320可允许与网页相关联的模块进行通信,同时防止与其它网页(例如,位于其它窗中的网页)相关联的模块与来自第一网页的模块通信。换句话讲,可针对各网页实例,实例化消息接口320的实例。另选地,可利用任何其它构造。例如,消息接口320可允许来自在用户计算机上执行的所有网页的模块之间的通信,可允许在用户计算机的特定网络浏览器中的网页的所有模块之间的通信、在来自单个源(单个数据收集设施、与单个实体相关联的多个数据收集设施(例如,通过域名相关联))的所有模块之间的通信,等等。
图7的示例性消息接口320的消息接收器702从模块/组件接收消息并且将消息存储在数据存储器704中。消息接收器702可变换消息(例如,通过添加时间戳记;通过按消息类型、消息源等对消息分组;等等)。消息接收器702可另外地提醒请求接口706接收到了消息(例如,在请求接收器706被设置成向已经为了通知事件而进行了登记的模块/组件发送通知时)。
图示示例的数据存储器704是存储器(例如,用户计算机106的存储器)中的存储单元。另外地或另选地,任何其它类型的存储装置可实现数据存储器704。数据存储器704可像消息板一样操作,其中,消息被发布并且以它们的接收次序被存储。另选地,消息可被分组、分类、捆绑等。消息可被存储在诸如数据库的结构中,可被存储为字串的列表等。
请求接口706向想要知道已经发布了什么消息的模块/组件提供对数据库704中的消息的访问。例如,响应于来自模块/组件的请求,请求接口706可发送自从模块/组件的最后请求起新发布的消息。在其它示例中,请求接口706可接收指明询问的请求(例如,对用特定模块标识符标识的消息的请求)并且可获取匹配消息并且将它们发送到请求模块/组件。在另一个示例中,请求接口706可接收事件请求,事件请求指明每当出现特定事件时(例如,在根据特定模块标识符发布消息的任何时间)将要通知的模块/组件。可利用用于获取消息的以上或其它方法的任何组合。
虽然在图7中示出实现图3的消息接口302的示例性方式,但图7中示出的元件、过程和/或装置中的一个或多个可被组合、分割、重新布置、省略、消除和/或按任何其它方式实现。另外,可通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现示例性消息接收器702、示例性数据存储器704、示例性请求接口706和/或(更一般地)图3的示例性消息接口320。因此,例如,可通过电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)等中的一个或多个实现示例性消息接收器702、示例性数据存储器704、示例性请求接口706和/或(更一般地)示例性消息接口320中的任一个。当读取本专利的用于覆盖纯软件和/或固件实现方式的设备或系统权利要求中的任一项时,示例性消息接收器702、示例性数据存储器704、示例性请求接口706和/或(更一般地)示例性消息接口320中的至少一个由此被明确限定成包括诸如存储器、DVD、CD、蓝光等的存储软件和/或固件的有形计算机可读存储装置或存储盘。更进一步地,图7的示例性消息接收器320可包括一个或多个元件、过程和/或装置作为图7中示出的那些元件、过程和/或装置的补充或替代,和/或可包括多于一个的任意或全部图示元件、过程和装置。
在图8至图10中示出表示用于实现图3和/或图7的消息接口320的示例性机器可读指令的流程图。在这些示例中,机器可读指令包括由处理器(诸如,以下结合图12讨论的示例性处理器平台1200中示出的处理器1212)执行的一个或多个程序。程序可以包含在存储于有形计算机可读储存介质(例如CD-ROM、软盘、硬盘驱动器、数字通用盘(DVD)、蓝光盘或与处理器1212相关的存储器)上的软件中,但整个程序和/或其部分可以另选地由除了处理器1212以外的设备执行和/或被包含在固件或专用硬件中。另外,尽管参照图8-10中示出的流程图描述了示例性程序,但可另选地使用实现图3和/或图7的示例性消息接口320的许多其它方法。例如,这些框的执行次序可变化,和/或描述的一些框可变化、消除或组合。
如以上提到的,可使用存储在有形计算机可读存储介质(诸如,硬盘驱动器、闪存存储器、只读存储器(ROM)、压缩盘(CD)、数字通用盘(DVD)、缓存、随机存取存储器(RAM)和/或在任何持续时间内(例如,延长时间段内、永久地,用于简短实例、用于暂时缓冲、和/或用于缓存信息)存储信息的任何其它存储装置或存储盘)上的编码指令(例如,计算机和/或机器可读指令)实现图8-10的示例性过程。如本文使用的,术语“有形计算机可读存储介质”被明确限定成包括任何类型的计算机可读存储装置和/或存储盘并且不包括传播信号。如本文使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可互换地使用。另外地或另选地,可使用存储在非暂态计算机和/或机器可读介质(诸如,硬盘驱动器、闪存存储器、只读存储器、压缩盘、数字通用盘、缓存、随机存取存储器和/或在任何持续时间内(例如,延长时间段内、永久地,用于简短实例、用于暂时缓冲、和/或用于缓存信息)存储信息的任何其它存储装置或存储盘)上的编码指令(例如,计算机和/或机器可读指令)实现图8-10的示例性过程。如本文使用的,术语“非暂态计算机可读介质”被明确限定成包括任何类型的计算机可读装置或盘并且不包括传播信号。如本文使用的,当短语“至少”被用作权利要求前序部分中的过渡术语时,它是“开放式的”,与术语“包括”为“开放式的”一样。
当示例性消息接口320的消息接收器702从模块或组件接收消息时,图8的程序开始(框802)。消息接口320将消息存储在数据存储器704中(框804)。
当示例性消息接口320的请求接收器706从模块或组件接收查询时,图9的程序开始(框902)。例如,查询可请求用特定模块标识符标识的消息。请求接收器706从数据存储器704获取匹配消息(框904)。请求接收器706接着将匹配消息发送到发送初始请求的模块或组件(框906)。
当示例性消息接口320的请求接收器706从模块或组件接收事件请求时,图10的程序开始(框1002)。例如,事件请求可每当向消息接口320发布了与特定标准匹配的消息时请求请求接收器706通知模块或组件。请求接收器706接着确定是否检测到与事件匹配的消息(框1004)。例如,消息接收器706可通过从消息接收器702接收对新消息的通知并且针对事件请求中指明的标准检查消息来确定是否检测了匹配事件。另外地或另选地,请求接收器706可轮询数据存储器704,查找与事件请求中指明的标准匹配的消息。当请求接收器706没有识别出与事件请求匹配的消息时,请求接收器706继续监测匹配事件。当请求接收器706识别出匹配事件时,请求接收器706将与事件关联的消息发送到发送初始请求的模块/组件。根据图示示例,控制返回到框1004,以继续监测更多事件。另选地,图10的程序可在找到事件之后结束(例如,如果模块/组件想要另一个通知,则它可发送另一个请求)。
图11是用于呈现和跟踪媒体的示例性系统1100的框图。示例性系统1100包括:媒体提供方1102、两个广告提供方1104A和1104B、数据收集设施1106以及用户计算机1108。图示示例的系统1100是基于互联网的系统,在该系统中,用户计算机1108通过一个或多个网络可通信地连接到媒体提供方1102、广告提供方1104A和1104B以及数据收集设施1106。一个或多个网络(或其它网络)还可以可通信地连接媒体提供方1102、广告提供方1104A和1104B以及数据收集设施1106中的任一个。系统1100可另选地不是基于互联网的系统并且可在任何其它环境下实现。
媒体提供方1102与图1的媒体提供方102类似,广告提供方1104A和1104与图1的广告提供方104类似,数据收集设施1106与图1的数据收集设施1105类似,用户计算机1108与图1的用户计算机106类似。因此,不重复对这些组件进行描述,以减少赘述。
图1的框图包括通过消息1108-1130示出的示例性消息流程。当用户计算机1108向媒体提供方1102发送请求(例如,超文本传输协议(HTTP)GET请求)时,示例性消息流开始(消息1108)。响应于消息1108,媒体提供方1102向用户计算机1108发送网页(或任何其它媒体)(消息1110)。网页包括对两个广告的参考。对广告的参考使用户计算机1108向广告提供方1104A(消息1112)和广告提供方1104B(消息1116)发送请求。响应于消息1112和1116,广告提供方1104A和广告提供方1104B分别在消息1114和消息1118中将请求的广告发送到用户计算机1108。这些广告配备有使用户计算机1108分别经由消息1120和消息1124从数据收集设施1106请求用于来自广告提供方1104A的广告的模块1132和用于广告提供方1104B的模块1134。
响应于消息1120和1124,数据收集设施1106分别经由消息1122和消息1126将被请求的模块1132、1134发送到用户计算机1108。根据图示示例,模块1132计量来自广告提供方1104A的广告的呈现,并且模块1134计量广告提供方1104B的广告的呈现。另外地或另选地,模块中的一个模块或另一个模块还可计量网页内容的呈现、观众与网页的交互、或任何其它操作。
用户计算机1108执行模块1132和1134。使用本文公开的方法和设备,模块1132和1134得知彼此的存在和协作执行。特别地,模块1134代表模块1132和1134二者被选定成将计量数据发送到数据收集设施。相应地,模块1132利用本文公开的通信方法和设备将消息1128中收集到的计量数据提供给模块1134。模块1134在消息1130中将来自模块1132的计量数据和来自模块1134的计量数据发送到数据收集设施。
通过协调来自模块的数据向收据收集设施的传送,发送到数据收集设施的单独消息的数量可减少,这样减少了接收到这种消息的数据收集设施的服务器上的负荷。此外,通过利用到数据收集设施的共享连接,可以实现将来自分离模块的数据相关联的优点。例如,当网页包括多个广告(各广告包括计量这些广告的模块并且可能包括用于计量网页内容的模块)时,通过如本文公开地协调模块通信,并传送将来自各种模块的计量数据相关联的通信(例如,通过在单个消息中传送计量数据,通过传送模块将计量数据标记为来自单个源等),可以链接广告和内容的呈现。换句话讲,数据收集设施可更容易地确定即使内容和广告可全部源自不同的源,广告和内容也一起呈现。
图12是能够执行图4、图8、图9和/或图10的指令以实现图2的模块206的示例性处理器平台1200的框图。处理器平台1200可以是例如服务器、个人计算机、移动装置(例如,手机、智能电话、诸如iPadTM的平板)、个人数字助理(PDA)、互联网设备、DVD播放器、CD播放器、数字摄像机、蓝光播放器、游戏控制台、数字摄像机、机顶盒、或任何其它类型的计算装置。
图示示例的处理器平台1200包括处理器1212。图示示例的处理器1212是硬件。例如,可通过来自任何所需系列或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器来实现处理器1212。
图示示例的处理器1212包括本地存储器1213(例如,缓存)。图示示例的处理器1212经由总线1218与包括易失性存储器1214和非易失性存储器1216的主存储器通信。可通过同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储装置来实现易失性存储器1214。可通过闪存存储器和/或任何其它所需类型的存储器装置来实现非易失性存储器1216。由存储器控制器控制对主存储器1214、1216的访问。
图示示例的处理器平台1200还包括接口电路1220。可通过任何类型的接口标准(诸如,以太网接口、通用串行总线(USB)和/或PCI高速接口)来实现接口电路1220。
在图示示例中,一个或多个输入装置1222连接到接口电路1220。输入装置1222允许用户将数据和命令输入到处理器1212。可通过例如音频传感器、麦克风、相机(静像或视频)、键盘、按钮、鼠标、触摸屏、跟踪板、跟踪球、等位点(isopoint)和/或语音识别系统来实现输入装置。
一个或多个输出装置1224还连接到图示示例的接口电路1220。例如,通过显示装置(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出装置、发光二极管(LED)、打印机和/或扬声器)实现输出装置1224。图示示例的接口电路1220因此典型地包括图形驱动器卡。
图示示例的接口电路1220还包括诸如发射器、接收器、收发器、调制解调器和/或网络接口卡的通信装置,以有助于经由网络1226(例如,以太网连接、数字用户线(DSL)、电话线、同轴电缆、蜂窝电话系统等)与外部机(例如,任何种类的计算装置)进行数据交换。
图示示例的处理器平台1200还包括用于存储软件和/或数据的一个或多个大容量存储装置1228。这种大容量存储装置1228的示例包括软盘驱动器、硬驱动盘、压缩盘驱动器、蓝光盘驱动器、RAID系统和数字通用盘(DVD)驱动器。
图12的编码指令1232可以是图4、图8、图9和/或图10的机器可读指令,该编码指令1232可被存储在大容量存储装置1228中、易失性存储器1214中、非易失性存储器1216中、和/或诸如CD或DVD的可移动有形计算机可读存储介质上。
上文中,应该理解,以上公开的方法、设备和制品有助于模块之间的通信。本文公开的一些示例能够使模块协调执行,以防止对利用的组件的多个实例的加载。通过共享对组件实例的访问,借助不加载组件的额外实例而耗费了较少的处理循环,针对多个模块的执行(原本要加载组件的多个实例)需要较少的存储量,模块执行因而更快,降低了在模块与多个实例组件间的通信受干扰的可能性,等等。
当利用本文公开的方法和设备来有助于执行计量、收视率测量、呈现监测等的模块的协调时,可实现优点。例如,当均计量来自多个媒体源(例如,内容、广告等)的媒体的多个模块如本文公开地进行通信时,媒体的呈现可被链接。例如,当网页使从不同的广告提供方(例如,不同域上的广告提供方)加载多个广告时,计量多个广告的模块可进行通信,使得来自模块的计量数据可被链接到网页的呈现(例如,来自所有模块的计量数据可与唯一标识符相关联,可在单个消息中发送计量数据等)。另外地或另选地,在消息中发送来自多个模块的计量数据可减少数据收集设施的服务器(原本会需要操纵几乎同时从呈现媒体的用户计算机发送的多个消息)上的负荷。
尽管本文中已经描述了某些示例性方法、设备和制品,但本专利的覆盖范围不限于此。相反,本发明涵盖完全落入本专利的权利要求书的范围内的所有方法、设备和制品。
Claims (32)
1.一种用于呈现和跟踪媒体的方法,该方法包括以下步骤:
通过第一模块产生第一模块标识符,所述第一模块已通过网页上的第一广告被实例化;
通过所述第一模块加载组件;
通过所述组件将包括所述第一模块标识符的消息传送给与消息接口相关的数据存储器以用于获取,所述消息包括用于所述组件通过消息接口与所述第一模块通信的请求;
确定第二模块已经传送了将通过所述组件存储在与所述消息接口相关的所述数据存储器中以用于获取的第二模块标识符;以及
响应于确定所述第二模块标识符已被传送给所述消息接口,通知所述组件存储在所述数据存储器中的所述第二模块标识符以指示所述组件与所述第二模块通信,所述第二模块利用所述组件监测第二广告的呈现,所述第二模块利用所述第二模块标识符通过所述消息接口与所述组件通信,其中,在防止所述第二模块与所述组件、以及所述第一模块与所述第二模块之间的直接通信的环境中呈现所述网页。
2.根据权利要求1所述的方法,其中,所述第一模块标识符和所述第二模块标识符中的至少一个是随机数或伪随机数。
3.根据权利要求1所述的方法,其中,所述第一模块或所述第二模块中的至少一个通过向所述消息接口发布消息来与所述组件进行通信。
4.根据权利要求3所述的方法,其中,所述消息接口包括postMessage应用编程接口。
5.根据权利要求3所述的方法,其中,所述消息包括所述第一模块标识符或所述第二模块标识符中的至少一个。
6.根据权利要求5所述的方法,其中,所述消息包括定界符、消息类型和有效载荷。
7.根据权利要求1所述的方法,其中,确定已加载了所述第二模块包括在所述消息接口监测来自所述第二模块的消息。
8.根据权利要求7所述的方法,其中,所述消息包括对已加载了所述第二模块的通告。
9.根据权利要求1所述的方法,其中,所述第二模块经由所述消息接口将所述第二模块标识符传送给所述第一模块。
10.根据权利要求1所述的方法,所述方法还包括加载监听器以确定何时加载了另一个模块。
11.根据权利要求1所述的方法,所述方法还包括确定另一个模块是否已加载了所述组件。
12.根据权利要求11所述的方法,其中,响应于确定所述另一个模块没有加载所述组件,执行加载所述组件。
13.根据权利要求12所述的方法,所述方法还包括在所述另一个模块已加载了所述组件时与所述另一个模块进行通信,以访问所述组件。
14.根据权利要求1所述的方法,其中,所述组件是第三模块。
15.根据权利要求1所述的方法,其中,所述组件是JavaScript脚本。
16.根据权利要求1所述的方法,其中,所述第一模块和所述第二模块监视所述网页的呈现。
17.根据权利要求16所述的方法,其中,所述第一模块或所述第二模块中的至少一个通过呈现评介来监测所述网页的呈现。
18.根据权利要求1所述的方法,所述方法还包括执行JavaScript,以加载所述第一模块或所述第二模块中的至少一个。
19.一种用于呈现和跟踪媒体的设备,该设备包括:
标识产生器,其用于在通过网页上的第一广告将第一模块实例化之后,产生第一模块标识符;
组件加载器,其用于加载包括在所述第一广告中的组件,所述第一模块利用所述组件监测所述第一广告的呈现;
通信接口,其用于通过所述组件将包括所述第一模块标识符的消息传送给与消息接口相关的数据存储器以用于获取,所述消息包括用于所述组件与所述第一模块通信的请求;
监听器:
通过所述第一模块检测由所述组件传送给与所述消息接口相关的数据存储器以用于获取的消息;
监测所述消息接口以确定第二模块是否已经传送了将通过所述组件存储在与所述消息接口相关的所述数据存储器中以用于获取的第二模块标识符,所述第二模块已由包括在所述网页上的第二广告中的第二指令实例化;以及
响应于确定所述第二模块标识符已被传送给所述消息接口,通知所述组件存储在与所述消息接口相关的所述数据存储器中的所述第二模块标识符并且利用所述第二模块标识符通过所述消息接口分发指示所述组件与所述第二模块通信的消息,所述第二模块利用所述组件监测所述第二广告的呈现,其中,在防止所述第一模块与所述组件、所述第二模块与所述组件、以及所述第一模块与所述第二模块之间的直接通信的环境中呈现所述网页。
20.根据权利要求19所述的设备,其中,所述第一模块标识符和所述第二模块标识符中的至少一个是随机数或伪随机数。
21.根据权利要求19所述的设备,其中,所述第一模块或所述第二模块中的至少一个通过向所述消息接口发布消息来与所述组件进行通信。
22.根据权利要求21所述的设备,其中,所述消息接口包括postMessage应用编程接口。
23.根据权利要求21所述的设备,其中,所述消息包括所述第一模块标识符或所述第二模块标识符中的至少一个。
24.根据权利要求19所述的设备,其中,所述监听器通过在所述消息接口监测来自所述第二模块的消息来确定已加载了所述第二模块。
25.根据权利要求24所述的设备,其中,所述消息包括对已加载了所述第二模块的通告。
26.根据权利要求19所述的设备,其中,所述第二模块经由所述消息接口将所述第二模块标识符传送给所述第一模块。
27.根据权利要求19所述的设备,所述设备还包括用于确定另一个模块是否已加载了所述组件的组件可用性检查器。
28.根据权利要求27所述的设备,其中,响应于所述组件可用性检查器确定所述另一个模块没有加载所述组件,所述组件加载器加载所述组件。
29.根据权利要求27所述的设备,其中,所述组件可用性检查器进一步在所述另一个模块已加载了所述组件时与所述另一个模块进行通信,以访问所述组件。
30.根据权利要求19所述的设备,其中,所述组件是第三模块。
31.根据权利要求19所述的设备,其中,所述组件是JavaScript脚本。
32.根据权利要求19所述的设备,所述设备还包括评介控制器,其用于通过呈现评介来监测所述网页的呈现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811229871.5A CN109360023B (zh) | 2013-02-08 | 2014-02-03 | 用于呈现和跟踪媒体的方法和设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/763,333 US10810634B2 (en) | 2013-02-08 | 2013-02-08 | Methods and apparatus for efficient execution of modules |
US13/763,333 | 2013-02-08 | ||
PCT/US2014/014474 WO2014123819A1 (en) | 2013-02-08 | 2014-02-03 | Methods and apparatus for efficient execution of modules |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811229871.5A Division CN109360023B (zh) | 2013-02-08 | 2014-02-03 | 用于呈现和跟踪媒体的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104471559A CN104471559A (zh) | 2015-03-25 |
CN104471559B true CN104471559B (zh) | 2018-11-16 |
Family
ID=51298117
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811229871.5A Active CN109360023B (zh) | 2013-02-08 | 2014-02-03 | 用于呈现和跟踪媒体的方法和设备 |
CN201480001407.4A Expired - Fee Related CN104471559B (zh) | 2013-02-08 | 2014-02-03 | 用于模块的有效执行的方法和设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811229871.5A Active CN109360023B (zh) | 2013-02-08 | 2014-02-03 | 用于呈现和跟踪媒体的方法和设备 |
Country Status (9)
Country | Link |
---|---|
US (3) | US10810634B2 (zh) |
EP (1) | EP2954428A4 (zh) |
JP (1) | JP6052832B2 (zh) |
CN (2) | CN109360023B (zh) |
AU (4) | AU2014215583B2 (zh) |
CA (1) | CA2875366C (zh) |
DE (1) | DE202014011615U1 (zh) |
HK (1) | HK1207449A1 (zh) |
WO (1) | WO2014123819A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10810634B2 (en) | 2013-02-08 | 2020-10-20 | The Nielsen Company (Us), Llc | Methods and apparatus for efficient execution of modules |
US10269043B1 (en) * | 2014-03-12 | 2019-04-23 | Groupon, Inc. | Method and system for distribution of application program for promotion and marketing service |
CN109711888A (zh) * | 2018-12-28 | 2019-05-03 | 北京金山安全软件有限公司 | 网页广告展示方法及装置 |
CN112925573B (zh) * | 2019-11-20 | 2023-09-26 | 北京沃东天骏信息技术有限公司 | 网页加载的方法、装置、设备和计算机可读介质 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353929B1 (en) * | 1997-06-23 | 2002-03-05 | One River Worldtrek, Inc. | Cooperative system for measuring electronic media |
US6247050B1 (en) | 1997-09-12 | 2001-06-12 | Intel Corporation | System for collecting and displaying performance improvement information for a computer |
US6532496B1 (en) | 1998-04-20 | 2003-03-11 | Fuji Xerox Co., Ltd. | Information processing system |
US7111280B2 (en) | 2000-02-25 | 2006-09-19 | Wind River Systems, Inc. | System and method for implementing a project facility |
US8001232B1 (en) * | 2000-05-09 | 2011-08-16 | Oracle America, Inc. | Event message endpoints in a distributed computing environment |
US7356143B2 (en) | 2003-03-18 | 2008-04-08 | Widevine Technologies, Inc | System, method, and apparatus for securely providing content viewable on a secure device |
KR100747459B1 (ko) * | 2005-10-21 | 2007-08-09 | 엘지전자 주식회사 | 모듈의 충돌 방지가 보장되는 멀티태스킹 방법 및 이동단말기 |
US9104294B2 (en) * | 2005-10-27 | 2015-08-11 | Apple Inc. | Linked widgets |
US8056092B2 (en) * | 2006-09-29 | 2011-11-08 | Clearspring Technologies, Inc. | Method and apparatus for widget-container hosting and generation |
CN100469019C (zh) * | 2007-01-08 | 2009-03-11 | 丁佑年 | 一种请求链接信号过滤统计系统及其应用 |
US8266274B2 (en) * | 2007-03-06 | 2012-09-11 | Clearspring Technologies, Inc. | Method and apparatus for data processing |
US8209378B2 (en) * | 2007-10-04 | 2012-06-26 | Clearspring Technologies, Inc. | Methods and apparatus for widget sharing between content aggregation points |
US8275398B2 (en) * | 2007-11-02 | 2012-09-25 | Hewlett-Packard Development Company, L.P. | Message addressing techniques for a mobile computing device |
US20090299862A1 (en) | 2008-06-03 | 2009-12-03 | Microsoft Corporation | Online ad serving |
US20100037317A1 (en) | 2008-08-06 | 2010-02-11 | Jeong Wook Oh | Mehtod and system for security monitoring of the interface between a browser and an external browser module |
US20100100626A1 (en) * | 2008-09-15 | 2010-04-22 | Allen Stewart O | Methods and apparatus related to inter-widget interactions managed by a client-side master |
US9436482B2 (en) | 2009-03-25 | 2016-09-06 | Microsoft Technology Licensing, Llc | Input content to application via web browser |
US9459936B2 (en) * | 2009-05-01 | 2016-10-04 | Kaazing Corporation | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications |
WO2011005948A1 (en) * | 2009-07-09 | 2011-01-13 | Collective Media, Inc. | Method and system for tracking interaction and view information for online advertising |
US9652205B2 (en) | 2009-11-25 | 2017-05-16 | International Business Machines Corporation | Method, system and computer program for bytecode weaving |
US8452710B2 (en) * | 2009-12-31 | 2013-05-28 | Ebay Inc. | Secure expandable advertisements using an API and cross-domain communications |
US9027100B2 (en) | 2010-01-05 | 2015-05-05 | Yahoo! Inc. | Client-side ad caching for lower ad serving latency |
US8407319B1 (en) * | 2010-03-24 | 2013-03-26 | Google Inc. | Event-driven module loading |
CN102469035B (zh) * | 2010-11-05 | 2016-01-20 | 腾讯科技(深圳)有限公司 | 跨进程通信的方法和装置 |
CN102741872B (zh) | 2010-05-28 | 2017-11-28 | 乐天株式会社 | 广告管理系统 |
US8626865B1 (en) * | 2010-06-07 | 2014-01-07 | Google Inc. | Shared worker application |
US8505106B1 (en) * | 2010-06-30 | 2013-08-06 | Amazon Technologies, Inc. | Cross site request forgery mitigation in multi-domain integrations |
US8306858B2 (en) | 2010-07-14 | 2012-11-06 | Google Inc. | Consolidated content item request for multiple environments |
JP5538119B2 (ja) | 2010-07-30 | 2014-07-02 | 株式会社フジキン | ガス供給装置用流量制御器の校正方法及び流量計測方法 |
US20120042261A1 (en) * | 2010-08-12 | 2012-02-16 | Google Inc. | Sub-component instantiation and synchronization using a shared worker |
US8881016B2 (en) * | 2010-10-15 | 2014-11-04 | Sony Corporation | Initial setup with auto-detection, contextual help and advertisement space |
US9009298B2 (en) * | 2010-12-10 | 2015-04-14 | The Nielsen Company (Us), Llc | Methods and apparatus to determine audience engagement indices associated with media presentations |
US20120167057A1 (en) | 2010-12-22 | 2012-06-28 | Microsoft Corporation | Dynamic instrumentation of software code |
US9037963B1 (en) * | 2011-04-22 | 2015-05-19 | Amazon Technologies, Inc. | Secure cross-domain web browser communications |
JP5608610B2 (ja) | 2011-06-28 | 2014-10-15 | ヤフー株式会社 | 携帯型広告表示装置、方法及びプログラム |
CN102737336A (zh) * | 2012-04-12 | 2012-10-17 | 林华龙 | 基于移动装置来了解客流量及其行为的方法与管理系统 |
US10810634B2 (en) | 2013-02-08 | 2020-10-20 | The Nielsen Company (Us), Llc | Methods and apparatus for efficient execution of modules |
-
2013
- 2013-02-08 US US13/763,333 patent/US10810634B2/en active Active
-
2014
- 2014-02-03 CN CN201811229871.5A patent/CN109360023B/zh active Active
- 2014-02-03 CA CA2875366A patent/CA2875366C/en active Active
- 2014-02-03 EP EP14748932.2A patent/EP2954428A4/en not_active Ceased
- 2014-02-03 WO PCT/US2014/014474 patent/WO2014123819A1/en active Application Filing
- 2014-02-03 JP JP2015525650A patent/JP6052832B2/ja not_active Expired - Fee Related
- 2014-02-03 DE DE202014011615.6U patent/DE202014011615U1/de not_active Expired - Lifetime
- 2014-02-03 CN CN201480001407.4A patent/CN104471559B/zh not_active Expired - Fee Related
- 2014-02-03 AU AU2014215583A patent/AU2014215583B2/en not_active Ceased
-
2015
- 2015-08-21 HK HK15108103.0A patent/HK1207449A1/zh not_active IP Right Cessation
-
2016
- 2016-11-10 AU AU2016256745A patent/AU2016256745A1/en not_active Abandoned
-
2018
- 2018-10-26 AU AU2018253597A patent/AU2018253597B2/en not_active Ceased
-
2020
- 2020-09-25 AU AU2020239814A patent/AU2020239814B2/en active Active
- 2020-10-19 US US17/074,595 patent/US11270356B2/en active Active
-
2022
- 2022-02-28 US US17/683,085 patent/US20220188878A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
DE202014011615U1 (de) | 2023-07-04 |
US20140229297A1 (en) | 2014-08-14 |
WO2014123819A1 (en) | 2014-08-14 |
CA2875366A1 (en) | 2014-08-14 |
JP2015534139A (ja) | 2015-11-26 |
CN104471559A (zh) | 2015-03-25 |
JP6052832B2 (ja) | 2016-12-27 |
AU2018253597B2 (en) | 2020-06-25 |
HK1207449A1 (zh) | 2016-01-29 |
AU2016256745A1 (en) | 2016-12-01 |
AU2014215583A1 (en) | 2014-12-18 |
CN109360023B (zh) | 2022-03-01 |
AU2020239814B2 (en) | 2022-02-17 |
CN109360023A (zh) | 2019-02-19 |
US20210035168A1 (en) | 2021-02-04 |
US20220188878A1 (en) | 2022-06-16 |
AU2018253597A1 (en) | 2018-11-22 |
AU2020239814A1 (en) | 2020-10-29 |
US11270356B2 (en) | 2022-03-08 |
EP2954428A4 (en) | 2016-07-20 |
CA2875366C (en) | 2019-02-26 |
EP2954428A1 (en) | 2015-12-16 |
US10810634B2 (en) | 2020-10-20 |
AU2014215583B2 (en) | 2016-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6877497B2 (ja) | 広告タグを介したウェブベースのメディアにおけるコンテンツシンジケーション | |
US10313726B2 (en) | Distributing media content via media channels based on associated content being provided over other media channels | |
JP6293269B2 (ja) | コンテンツ視聴確認装置及びその方法 | |
CN105210051B (zh) | 估计内容项的可见性的方法和系统 | |
CN110134880B (zh) | 评论数据的提供、显示方法、装置、电子设备及存储介质 | |
US10521176B2 (en) | Integrated learning using multiple devices | |
CN109803008B (zh) | 用于显示信息的方法和装置 | |
US11270356B2 (en) | Methods and apparatus for efficient execution of modules | |
CN107623862B (zh) | 多媒体信息推送控制方法、装置及服务器 | |
US20180293610A1 (en) | Methods and systems for integrating applications into a content recommendation network | |
US20230022018A1 (en) | Integrating secure watermarks into content | |
US9560110B1 (en) | Synchronizing shared content served to a third-party service | |
CN103412932A (zh) | 推送信息推送效果的监测方法和装置 | |
CN104572816B (zh) | 信息处理方法及电子设备 | |
CN108073613A (zh) | 信息发送方法及装置 | |
KR20100116626A (ko) | 기능 레벨들을 어드레싱하는 컨텐츠 관리 | |
CN114690994B (zh) | 行为数据的采集方法、装置、电子设备及存储介质 | |
CN111090485B (zh) | 面向多集群的帮助数据处理方法及装置、介质和设备 | |
US10148883B2 (en) | Method and program for image-based status resolution services | |
Pfeffer et al. | HbbTV: a powerful asset for alerting the population during a crisis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1207449 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |