Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OBJECTIVE BASED ADVERTISEMENT PLACEMENT PLATFORM
Document Type and Number:
WIPO Patent Application WO/2018/060783
Kind Code:
A1
Abstract:
Using various embodiment, methods and systems to implement an objective based advertisement placement platform are described. In one embodiment, a method and system to display advertisements in three dimensional (3D) online environment based on an objective of an advertiser is disclosed. A computing device receives the objective of the advertiser. In one embodiment, the advertiser objective includes determining when to stop displaying a branded smart object (BSO) to a user in the 3D online environment, the objective including an engagement rule. The computing device can further determine whether the advertiser's objective has been achieved by a user, the determining including evaluating a user engagement score (UES) and comparing the UES with an advertiser's engagement rule. If the advertiser's objective is achieved (or met) by the user, the BSO is not displayed to the user for a predetermined period of time.

Inventors:
LAMONTAGNE JOEL (US)
KEATING SIMON (GB)
Application Number:
PCT/IB2017/054228
Publication Date:
April 05, 2018
Filing Date:
July 12, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TRIVVER INC (US)
International Classes:
G06F3/048; G06Q30/02
Foreign References:
US20130124311A12013-05-16
US20160189223A12016-06-30
US20100205035A12010-08-12
US20130029762A12013-01-31
Other References:
See also references of EP 3519930A4
Attorney, Agent or Firm:
CHHABRA, Rohit (US)
Download PDF:
Claims:
Claims

1. A method to display advertisements in three dimensional (3D) online environment based on an objective of an advertiser, comprising:

receiving, by a computing device, the objective of the advertiser, wherein the objective determines when to stop displaying a branded smart object (BSO) to a user in the 3D online environment, the objective including an engagement rule;

determining, by the computing device, whether the objective has been achieved by a user, wherein the determining includes evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from Smart Object Metric Data (SOMD) transmitted from a smart object manager residing within the 3D online environment, and wherein the BSO includes programmable trigger events that can result in the generation of the SOMD based on user interaction with, or viewability of, the BSO, and wherein the smart object manager receives trigger event data from the BSO; and

upon the determining, by the computing device, preventing display of the BSO on a user interface, and wherein preventing display of the BSO occurs for a predetermined period of time.

2. The method of claim 1, further comprising:

displaying another BSO associated with the advertiser for the predetermined period of time.

3. The method of claim 1, wherein the BSO was placed within the 3D online environment by a game developer as a generic smart object (GSO), the GSO comprising a generic asset, and wherein the advertiser replaced the generic asset with a branded asset to generate the BSO, the branded asset graphically representing a branded product or service offered by the advertiser.

4. The method of claim 1, wherein the preventing occurs across multiple 3D environments or platforms on one or more user interfaces associated with the user.

5. The method of claim 1, wherein the advertiser can provide the same objective for the BSO across multiple 3D environments or platforms for a plurality of users.

6. The method of claim 1, wherein the UES includes data related to at least one of a purchase action, a social media like action, a social media post action, or a get coupon action. 7. The method of claim 1, wherein the UES is represented by an alpha- numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the BSO.

8. The method of claim 1, wherein the UES is at least represented by a string comprising:

eUx.vy.is.m./?m

wherein e represents a user engagement identifier related to the smart object, U represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, p represents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the various data transmitted within the UES related to the smart object.

9. A non-transitory computer readable medium comprising instructions which when executed by a processing system, including at least one core, performs a method to display advertisements in three dimensional (3D) online environment based on an objective of an advertiser, comprising:

receiving the objective of the advertiser, wherein the objective determines when to stop displaying a branded smart object (BSO) to a user in the 3D online environment, the objective including an engagement rule;

determining whether the objective has been achieved by a user, wherein the determining includes evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from Smart Object Metric Data (SOMD) transmitted from a smart object manager residing within the 3D online environment, and wherein the BSO includes programmable trigger events that can result in the generation of the SOMD based on user interaction with, or viewability of, the BSO, and wherein the smart object manager receives trigger event data from the BSO; and

upon the determining preventing display of the BSO on a user interface, and wherein preventing display of the BSO occurs for a predetermined period of time;

wherein the method is performed by the computing device.

10. The non-transitory computer readable medium of claim 9, further comprising:

displaying another BSO associated with the advertiser for the predetermined period of time.

11. The non-transitory computer readable medium of claim 9, wherein the BSO was placed within the 3D online environment by a game developer as a generic smart object (GSO), the GSO comprising a generic asset, and wherein the advertiser replaced the generic asset with a branded asset to generate the BSO, the branded asset graphically representing a branded product or service offered by the advertiser.

12. The non-transitory computer readable medium of claim 9, wherein the preventing occurs across multiple 3D environments or platforms on one or more user interfaces associated with the user. 13. The non-transitory computer readable medium of claim 9, wherein the advertiser can provide the same objective for the BSO across multiple 3D environments or platforms for a plurality of users.

14. The non-transitory computer readable medium of claim 9, wherein the UES includes data related to at least one of a purchase action, a social media like action, a social media post action, or a get coupon action.

15. The non-transitory computer readable medium of claim 9, wherein the UES is represented by an alpha-numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the BSO.

16. The non-transitory computer readable medium of claim 9, wherein the UES is at least represented by a string comprising:

eUx.vy.is.m./?m

wherein e represents a user engagement identifier related to the smart object, U represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, p represents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the various data transmitted within the UES related to the smart object.

17. A system to display advertisements in three dimensional (3D) online environment based on an objective of an advertiser, the system comprising:

a memory device;

a processing subsystem, including at least one core, coupled to the memory device, the processing system configure to:

receive the objective of the advertiser, wherein the objective determines when to stop displaying a branded smart object (BSO) to a user in the 3D online environment, the objective including an engagement rule;

determine whether the objective has been achieved by a user, wherein the determining includes evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from Smart Object Metric Data (SOMD) transmitted from a smart object manager residing within the 3D online environment, and wherein the BSO includes programmable trigger events that can result in the generation of the SOMD based on user interaction with, or viewability of, the BSO, and wherein the smart object manager receives trigger event data from the BSO; and

prevent displaying of the BSO on a user interface, and wherein preventing display of the BSO occurs for a predetermined period of time.

18. The system of claim 17, further configure to:

display another BSO associated with the advertiser for the predetermined period of time.

19. The system of claim 17, wherein the BSO was placed within the 3D online environment by a game developer as a generic smart object (GSO), the GSO comprising a generic asset, and wherein the advertiser replaced the generic asset with a branded asset to generate the BSO, the branded asset graphically representing a branded product or service offered by the advertiser.

20. The system of claim 17, wherein the preventing occurs across multiple 3D environments or platforms on one or more user interfaces associated with the user.

21. The system of claim 17, wherein the advertiser can provide the same objective for the BSO across multiple 3D environments or platforms for a plurality of users. 22. The system of claim 17, wherein the UES includes data related to at least one of a purchase action, a social media like action, a social media post action, or a get coupon action.

23. The system of claim 17, wherein the UES is represented by an alpha-numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the BSO.

24. The system of claim 17, wherein the UES is at least represented by a string comprising:

eUx.vy.is.m./?m

wherein e represents a user engagement identifier related to the smart object, U represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, p represents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the data transmitted within the UES related to the smart object.

Description:
Description

OBJECTIVE BASED ADVERTISEMENT PLACEMENT PLATFORM

Cross Reference to Related Applications

[0001] This application claims priority from U.S. Patent Application No. 15/283, 166, filed on September 30, 2016, titled "Objective Based Advertisement Placement Platform." The contents of the above disclosed applications are incorporated by reference in their entirety herein.

Technical Field

[0002] Embodiments of the present invention relates generally to placement of

advertisements in an online environment. More particularly, embodiments of the invention relate to methods, systems, and devices, that can assist advertisement placement based on an objective of a party (e.g., advertiser, client, etc.).

Background of the Invention

[0003] Digital advertising currently requires creating specific and customized content (e.g., images, videos, text, etc.) for each advertiser individually, and placing them directly at various forms of digital platforms (e.g., websites, games, etc.). Conventionally, once the user visits a website/web-page, a third party cookie is saved locally at the client machine and each time the client revisits the webpage/website the cookie is transmitted back to the third party server. Furthermore, such systems require that the advertiser provide content for the advertisement, however, the advertiser has no control where or how the content would be displayed, except for providing keywords to the advertising system. The issue is further exacerbated in mobile software applications ('Apps') where third party cookies are either not allowed or are severely restricted.

[0004] Further, such advertising systems often result in ineffective advertising due to the inherent limitations of keyword based advertising. Furthermore, fake or mistaken clicks occur regularly, which are further detrimental to the advertiser's interest. Such systems have no means of determining, in advance, if its advertising at a publisher's digital platform would generate in meaningful results. Thus, conventional advertising platforms often result in wasteful and inefficient advertising.

[0005] Therefore, efficient systems, methods, and techniques are needed that allow a

developer, publisher, or advertiser to overcome these limitations without the use of cookies. Such systems should further permit the developer or publisher to provide information that can help an advertiser determine the intended audience of the publisher's content. Further, such systems should be able to provide the advertiser the ability to control when their content is displayed to the user.

Summary of Invention

[0006] Using various embodiment, methods and systems to implement an objective based advertisement placement platform are described. In one embodiment, a method and system to display advertisements in three dimensional (3D) online environment based on an objective of an advertiser is disclosed. A computing device receives the objective of the advertiser. In one embodiment, the advertiser objective includes determining when to stop displaying a branded smart object (BSO) to a user in the 3D online environment, the objective including an engagement rule. In one embodiment, the engagement rule can be provided by the advertiser, generated by the system described herein, or a combination thereof. The engagement rule provides the conditions upon which it is determined that the advertiser's objective has been complete. The computing device can further determine whether the advertiser's objective has been achieved by a user, the determining including evaluating a user engagement score (UES) and comparing the UES with the engagement rule.

[0007] In one embodiment, the UES is derived, at least in part, from Smart Object Metric Data (SOMD) transmitted from a smart object manager residing within the 3D online environment that can receive trigger event data from a smart object. A smart object, can be a generic smart object (GSO) or a BSO and includes programmable trigger events that can result in the generation of the SOMD based on user interaction with, or viewability of, the smart object. In another embodiment, upon determining when to stop displaying a BSO to a user in the 3D online environment, the computing device can be configured to prevent displaying the BSO on the user's interface. In one embodiment, preventing the display of the BSO occurs across multiple 3D environments or platforms on one or more user interfaces associated with the user. In another embodiment, preventing the display BSO occurs for a predetermined period of time. In yet another embodiment, the computing device can be configured to display another BSO associated with the advertiser for the predetermined period of time. In one embodiment, the BSO can be placed within the 3D online environment by a game developer as a generic smart object (GSO), the GSO comprising a generic asset, and the advertiser can replace the generic asset with a branded asset to generate the BSO, the branded asset graphically representing a branded product or service offered by the advertiser.

[0008] In one embodiment, the advertiser can provide the same objective for the BSO across multiple 3D environments or platforms for a plurality of users. In one embodiment, the UES includes data related to a purchase action, a social media like action, a social media post action, or a get coupon action, or a combination thereof.

[0009] In yet another embodiment, the UES is represented by an alpha-numeric string that represents a collective value for the user engagement data related to the BSO. The UES can, in one embodiment, be at least represented by a string comprising eUx.vy.ts.in.pm where e represents a user engagement identifier related to the smart object, U represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, i represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, prepresents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the various data transmitted within the UES related to the smart object.

[0010] In one embodiment, the advertiser can select engagement features that are to be displayed to a user interacting with a smart object. In this embodiment, the system described herein also include a method to estimate or predicting the approximate user interaction/viewability that can be reached in an advertisement campaign based on the advertiser's budget and viewability and selected engagement features of a smart object.

Brief Description of Drawings [0011] The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.

[0012] FIG. 1 illustrates a block diagram of a general system architecture that can generate and implement smart objects to process advertising related relevant information, according to one embodiment of the present invention.

[0013] FIG. 2 illustrates a block diagram of the interaction of various subsystems to

implement an objective based advertisement placement platform, according to one embodiment of the present invention.

[0014] FIG. 3 illustrates a diagram describing the operations that can be performed by an advertiser according to one embodiment of the present invention.

[0015] FIG. 4 illustrates a diagram describing selection of engagement features by an

advertiser to display to a user, according to one embodiment of the present invention.

[0016] FIG. 5 illustrates a diagram describing selection of engagement features by a user, according to one embodiment of the present invention.

[0017] FIG. 6 illustrates a flowchart describing the operations of determining whether an objective of an advertiser has been met based on the UES, according to one embodiment of the present invention.

[0018] FIG. 7 illustrates a flow chart describing the operations that can be performed by a server while the advertiser selects a smart object for engagement with a user, according to one embodiment of the present invention.

[0019] FIG. 8 illustrates a flow chart describing the operations that can be performed by a server upon receiving information from a user, according to one embodiment of the present invention.

[0020] FIG. 9A illustrates a flow chart of predicting the approximate user

interaction/viewability that can be reached in an advertisement campaign based on the advertiser's budget and viewability and selected engagement features of a smart object, according to one embodiment of the present invention.

[0021] FIGS. 9B and 9C illustrate the formulas that can be implemented in the flowchart of Fig. 9A, according to one embodiment of the present invention. [0022] FIG. 10 illustrates a block diagram illustrating a data processing system such as a computing system which may be used with one embodiment of the invention.

[0023] FIG. 11 illustrates a block diagram of the data associated with a 3D digital smart object, according to one embodiment of the present invention.

Description of Embodiments

[0024] Various embodiments and aspects of the inventions will be described with reference to details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present inventions.

[0025] Reference in the specification to "one embodiment" or "an embodiment" or "another embodiment" means that a particular feature, structure, or characteristic described in conjunction with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification do not necessarily all refer to the same embodiment. The processes depicted in the figures that follow are performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, etc.), software, or a combination of both. Although the processes are described below in terms of some sequential operations, it should be appreciated that some of the operations described can be performed in a different order. Moreover, some operations can be performed in parallel rather than sequentially.

[0026] FIG. 1 illustrates a block diagram 100 of a general system architecture that can generate and implement smart objects to process advertising related relevant information, according to one embodiment of the present invention. Smart objects, in one embodiment, can be used to generate generic content (banner/billboard, videos, and/or 3D assets) that can optionally be replaced with branded content from an advertiser within a variety of digital platforms and measure the user performance with both the generic and branded content across the digital platform. In one embodiment, a smart object comprises an asset encompassed in a transparent 3D asset placeholder that dictates the maximum X-Axis, Y- Axis, and Z-Axis dimensions of an asset/object and/or and understands the scaling dimensions that takes up a specific shape in a 3D digital environment. The asset within the 3D asset placeholder provides a visual representation of the smart object. The asset can be, in one embodiment, a 3D representation of geometric data, where the asset within the 3D asset placeholder provides a visual representation of the smart object. A smart object comprises an asset that can be any media content such as, 3D non-active assets, assets, video, audio, multi-media object, any general 3D representation of geometric data, or a combination thereof. In various embodiments, smart objects can be used for services related to advertising, notification, or generally for any service that can personalize a viewer's environment with 3D content that is relevant to each viewer.

[0027] After smart object 101 has been generated, it can be placed into a three dimensional environment by smart object placement system 108. Various exemplary embodiments of generating smart object 101 in a 3D environment are disclosed in U.S. Patent Application No. 15/209,679, filed on July 13, 2016, and embodiments to display smart objects within a 3D environment disclosed in U.S. Patent Application No. 15/209,688, filed on July 13,

2016 can be employed, in whole or in part, with the present invention. Further, various exemplary embodiments of displaying information associated with smart objects, disclosed in U.S. Patent Application No. 15/236,323, filed on August 12, 2016 can also be employed, in whole or in part, with the present invention. As a result, the above - identified disclosures are incorporated herein by reference in their entirety. It should be noted, in the above stated disclosures, a smart object has also been referred to as a 3D digital smart object.

[0028] As illustrated, publisher or developer can, using publisher interface 102, request the smart object placement system 108 to place smart object 101 in a three dimensional environment, as described further herein. 3D digital smart objects (also referred to herein as smart objects), in one embodiment, can be used to generate generic content

(banner/billboard, videos, and/or 3D assets) that can optionally be replaced with branded content from an advertiser within a variety of digital platforms and measure the user performance with both the generic and branded content across the digital platform. In one embodiment, a smart object comprises an asset encompassed in a transparent 3D asset placeholder that dictates the maximum X-Axis, Y-Axis, and Z-Axis dimensions of an asset/object and/or and understands the scaling dimensions that takes up a specific shape in a 3D digital environment. The asset within the 3D asset placeholder provides a visual representation of the smart object. The asset can be, in one embodiment, a 3D

representation of geometric data, where the asset within the 3D asset placeholder provides a visual representation of the 3D digital smart object. A smart object, in one embodiment, comprises an asset that can be any media content such as, 3D non-active assets, assets, video, audio, multi-media object, any general 3D representation of geometric data, or a combination thereof. In various embodiments, 3D digital smart objects can be used for services related to advertising, notification, or generally for any service that can personalize a viewer's environment with 3D content that is relevant to each viewer. Smart objects can further include programmable trigger events (scripts) using which the smart object can transmit information to a smart object manager. The smart object manager is a background process that is included within the 3D environment and can transmit user action or interaction associated with a smart object to the system, as described herein. The smart object manager, in one embodiment, transmits the information received from the smart objects to the system, as discussed herein, for calculation of various metrics that can assist in determining user behavior with a smart object and to determine whether an objective of the advertiser has been met based on user action (or interaction) with the smart object. The metric data, also referred to herein as smart object metric data (SOMD), can be generated using data transmitted from the smart object to the smart object manager. In one embodiment, SOMD is generated from the smart object and transmitted to the smart object manager, in yet another embodiment, SOMD is generated by the smart object manager using information provided by the smart object. In yet another embodiment, smart object manager includes scripts and determines SOMD associated with each smart object independently (that is, no information is transmitted from the smart object, but rather the smart object manager keeps track of the smart objects within the user's viewport or screen and collects data based on user

action/interaction/viewability with each smart object. In yet another embodiment, a hybrid system is implemented with the smart object manager implemented using a combination of techniques described herein (above). That is, the smart object manager can receive data transmitted from the smart object to generate SOMD.

9] Smart object placement system 108 can request the publisher's input to select a smart object (generated by smart object generation system 106) and save the coordinates, including game identification data, smart object identification data, smart object category/type data, publisher/developer identification data, polygon counts, shading and lighting of smart object, and location/scene identification data. Smart object placement system 108 can interact with the developer using various 3D game development environments. In one embodiment, smart object placement system 108 can also be directly interact with using user/viewer interface 112. Smart object placement system 108 can, in one embodiment, also receive an asset from the publisher and/or advertiser and transmit the information to smart object generation system 106 for the generation of a BSO. Generally, a 3D environment intending to implement the techniques described herein would need to provide SDK(s), API(s), or any other means using which smart object placement system 108 can interact with the 3D environment's development interface. Thus, in one embodiment, publisher interface 102 can be a game development environment (e.g., Unity® engine, Unreal® engine, Torque 3D® engine, Adobe® Air, etc.). In another embodiment, publisher interface 102 can be any 3D development environment, as known to a person having ordinary skill in the art. However, it should be noted, the invention described herein is not intended to be limited to any particular 3D development environment. Therefore, smart object 101 has been generated by smart object generation system 106, the publisher can request the smart object 101 be placed in a 3D environment by requesting the smart object placement system 108, using a SDK or API set provided to the developer by the 3D environment.

0] In another embodiment, a system administrator of the smart object placement system 108 can present predetermined smart objects (to the developer) that can be placed within a three dimensional environment using smart object placement system 108. Generally, smart object placement system 108 can be any computing engine that can interact with a 3D environment and determine the location (within the environment) where the smart object has been placed by the developer/publisher, and save it as placement data. Smart object placement system 108 can further associate the placement data of smart object 101 in a 3D environment with 3D environment identification data that identifies the digital platform using smart object 101. In one embodiment, the publisher or developer can place smart object 101 as a GSO. In another embodiment, the publisher or developer can place smart object 101 as a BSO. When the developer/publisher places a GSO in the 3D environment, an advertiser, in one embodiment, using advertiser interface 104 can interact with smart object placement system 108 to replace the publisher provided asset with a branded asset to generate a BSO. In another embodiment, a polygon count restriction is implemented to ensure the asset provided by the advertiser is compatible with the GSO implementation of the developer to assist in a seamless transition, including ensuring that the download time remains the same (as that of the GSO) when the GSO is replaced by a BSO. In yet another embodiment, the developer/publisher can provide the system with a branded asset (instead of a generic asset) to generate a BSO, which is then placed by the developer using smart object placement system 108.

[0031] After the placement of smart object 101 into the 3D environment, user interaction or viewability based metrics generated from smart object 101 can be generated via smart object processing system 110. In one embodiment, smart object processing system 110 can be any system that is capable of analyzing information received from smart object 101 and generate metrics related to any user interaction, including tapping, touching, moving, time spent with the smart object, viewing (e.g., from a distance), requesting detailed description, etc., of smart object 101, via user interface 112. The generated metrics can be useful to advertiser and/or publisher associated with the 3D environment.

[0032] FIG. 2 illustrates a block diagram of the interaction of various subsystems to

implement an objective based advertisement placement platform, according to one embodiment of the present invention. As illustrated, advertiser interface 104 can, in one embodiment, be configured to display to an advertiser a category selection module 201 control that can assist the user to select a category (and/or type) of a smart object (out of a plurality of smart objects) that can be displayed to a user in a 3D environment. The advertiser can then be prompted to select smart object 101 using an interface of a smart object selection module 203. Smart object selection module 203 can, in one embodiment, present to the advertiser available smart object(s) 101 associated with the selected category or type using category selection module 201. The advertiser is then presented with an advertisement target selection displayed by module 205 using which the advertiser can assign an intended audience of the selected smart object 101. The intended audience, on one embodiment, can be determined based on age, gender, sexual orientation, browsing/search patterns, purchase history, behavior patterns, psychographic data, etc., of users to determine a suitable target audience that the advertiser may determine to be a potential buyers of the services or goods offered by the advertiser. The advertiser, in one embodiment, can also interact with objective selection module 207 that can assist the advertiser with an objective associated with a smart object that is to be displayed to the user. The objective of an advertiser can include whether a user has completed a desired set of engagement rules (or interacted with desired engagement features), as further described herein. [0033] Each module, as referred herein can reside on one or more computer systems or electronic devices. Therefore, as an example, category selection module 201, smart object selection module 203, advertisement target selection module 205, or objective selection module 207, can each reside on the advertiser's computing system or can reside on a backend computer that can transmit the information transmitted by the module to advertiser interface 104. Further, in another embodiment, category selection module 201, smart object selection module 203, advertisement target selection module 205, or objective selection module 207, can also reside in, or be a part of, smart object placement system 108, while advertising interface 104 receives the transmitted information. In any case, Fig. 2 is for illustrative purposes only and demonstrates the interaction of each subsystem or module with another, but does not necessarily signify the exact location where a particular module resides. A person of ordinary skill in the art would appreciate that many other variations can be performed to fig. 2 to implement the invention disclosed herein.

[0034] In one embodiment, category selection module 201, smart object selection module 203, advertisement target selection module 205 can transmit information to smart object placement determination subsystem 209 of smart object placement system 108. The received information can assist smart object placement determination subsystem 209 to determine the smart object that has to be placed within an online 3D environment. The information from objective selection module 207 can be received by objective determination subsystem 211 of smart object placement system 108 to determine if an advertiser submitted objective has been achieved. Objective determination subsystem 211 can manage the rules (and conditions) provided by each advertiser for each BSO for each 3D online environment and track the implementation of the rules as it relates to each user (that is, a potential customer of the advertiser) to whom the smart object is displayed. In case objective determination subsystem 211 determines that an advertiser provided objective for a BSO in a 3D environment has been achieved, objective determination subsystem 211 can instruct smart object placement determination subsystem 209 to stop displaying the BSO to a user. Objective determination subsystem 211 can track whether an objective (as it relates to a user) has been achieved, in one embodiment, across many platforms from which the user can log in. In one embodiment, once a user has been identified (e.g., by logging in, internet protocol address, one or more media access control address (MAC addresses), etc.), objective determination subsystem 211 can instruct smart object placement determination subsystem 209 to stop displaying a BSO (in one or more 3D online environments) once the advertiser provided objective is met, even if the user logs into another online 3D environment. In another embodiment, objective determination subsystem 211 can determine a period during which the BSO is not displayed to the user (via user interface 112). The period can be preconfigured by the system or can be configured by the advertiser while providing the objective to objective selection module 207.

[0035] During user interaction with a 3D environment, a set of smart objects is presented to the user via user interface 112. Each smart object can be a generic smart object associated with non-branded information, or a branded smart object that is associated with information related to a branded product or good. Upon user selection, in one embodiment, the data associated with a smart object can be displayed in a separate window (e.g., tabbed window, sliding window, pop-up window, etc.) to the user on user interface 112. For illustrative purposes the present invention embodiments of the present invention assume the presence of branded smart objects (that is, smart objects that are associated with brand information) within the 3D environment, however, a person of ordinary skill in the art would appreciate that the teachings described herein can be implemented for non-branded smart objects (that is, smart objects that have other non- branded data associated with it) as well, or a combination thereof. In one embodiment, the user interface 112 machine can transmit Smart Object Metric Data (SOMD) to smart object processing system 110.

[0036] Smart object processing system 110 can include, in one embodiment, smart object data analytics engine 213 which can receive and process the SOMD from each user in a 3D environment where a smart object is displayed. In one embodiment, SOMD can include data that can be quantified as a score, value, percentage, numerical data, etc., that can assist the advertiser to derive the importance (or significance) of the smart object to the user. As a non-limiting example, if user proximity and/or viewability of the set of smart objects is selected as the SOMD, then the percentage value of the screen taken by each of the set of smart objects and/or their proximity to the user can signify as a metric quantifier that the user may be interested in learning more about a smart object out of the set of smart objects of a 3D environment. The set of smart objects can include, a number of smart objects within the three dimensional online environment, a number of smart objects displayed on the user interface, a number of smart objects within a scene of the three dimensional environment, or a number of smart objects that have been rendered within the three dimensional environment.

[0037] For a set of smart objects, a smart object manager of user interface 112 transmits smart object related data, including smart object identification data (SOID) (e.g., smart object ID number) and related SOMD of each smart object, to smart object data engine 213 of smart object processing system 110. In one embodiment, the smart object manager can transmit smart object related data of each smart object at periodic intervals. In another embodiment, smart object manager transmits the smart object related data of each smart object upon user request to display BRDI associated with one or more smart object. In yet another embodiment, smart object manager can transmit smart object related data of each smart object in real-time, that is, as soon as the data is received from the smart object(s). In one embodiment, upon receiving smart object related data, smart object data engine 213 can process SOMD of each smart object identified by its respective SOID to determine its respective significance to the user. In one embodiment, SOMD transmits the user's interaction/action related to a smart object based on user engagement data (in one embodiment, transmitted by a smart object manager residing within the 3D environment). Yet, in another embodiment, SOMD can be transmitted partially by smart object manager (e.g., viewability and related time data, that is, how long the smart object was viewed for, by the user). In this embodiment, user engagement data related SOMD is transmitted from within a tab/window (directly to the system) where the user engages with engagement features, as described herein. Engagement data, in one embodiment, can include a discount coupon, a social media/networking web link, an email based link (that is, a link to directly share with another person over email), a web link to visit a web page associated with the branded information, or a web link to purchase the product/good or service associated with the smart object or generally any form of digital communication to share (or engage) the information with another party, as appreciated by a person of ordinary skill in the art.

[0038] SOMD, in one embodiment, can include a User Engagement Score (UES). In one embodiment, the UES can be an advance Key Performance Indicator (KPI). A UES can be alpha-numeric string that represents user interaction with a smart object (in one embodiment, collected from various sources as further described herein), providing data related to a characteristic or feature of interaction of a user with the smart object and the number of times the characteristic or feature occurred, along with the time taken to complete the interaction. For example, in one embodiment, the UES can be represented as:

[0039] eUx.vy.ts.in.pm

[0040] where e represents a user engagement identifier related to the smart object, U

represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, i represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, p represents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the various data transmitted within the UES related to the smart object. Table 1 defines the features of a UES string, according to one embodiment of the present invention.

[0041] Table 1

Identifier Feature/

Definition

Characteristic

e engagement Number of click actions (e.g., where to buy, visit online

store, download coupon, Social Network 'Like', 'Share' 'Save', etc.

V viewability (In Numerical Percentage of the entire Smart Object's size in

3D environment) relationship to the user' s screen size.

t time seen (In 3D Total time the Smart Object was viewed by the user on the environment) screen in the 3D environment game

St time seen (In 3D Total time the Smart Object was viewed by the user in a Tab environment) or (pop up) window displaying details of the Smart Object. at time seen (In Ad

Total time the Smart Object was seen on an Ad platform platform' s

application (can be different from the 3D environment) application)

i purchase intent User downloaded material related to the Smart Object (e.g.,

Coupon)

P purchase Use purchased the goods of services represented by the

Smart Object

[0042] In one embodiment, engagement identifier e can followed by two variables U and x that identify the number of engagement features (associated with a smart object) displayed by an advertiser and the number of engagement features upon which there was user action (e.g., click on an engagement feature), respectively. Table 2 provides examples of reporting the number of displayed engagement features and any action taken by the user, according to one embodiment.

[0043] Table2

[0044] Note, in the example above the alphabetical letters represent how many engagement actions a brand selected for their advertisement campaign (e.g., A=l, B=2, C=3, etc.), however a person of ordinary skill in the art would appreciate that any identifier (numerical or non-numerical) can be used to represent the number of engagement features selected by the advertiser or to represent the number of actions taken by the user.

[0045] In one embodiment, viewability identifier v can followed by a variable y that

represents the percentage size (relative to the user's viewport/screen) of the smart object. Table 3 provides examples of reporting the viewability of a smart object with respect to a user's viewport/screen, according to one embodiment of the present invention.

[0046] Table 3

[0047] In one embodiment, total time seen identifier t can followed by a variable s that

represents the total time the smart object was viewed/seen by the user. Table 4 provides examples of reporting the total time seen of a smart object (by a user), according to one embodiment of the present invention.

[0048] Table 4

[0049] In one embodiment, smart object manager transmits SOMD including viewability data (v) and its related time data (t) continuously to smart object data engine 213 when the smart object is within the user's screen/viewport. In another embodiment, the smart object manager stops transmitting SOMD including viewability data (v) and its related time data (t) when the smart object is not visible on the user's screen or viewport. In another embodiment, smart object manager also stops transmitting viewability data (v) and its related time data (t) when it is determined that the user is interacting with the data related to a smart object in another window, tab, or popup.

[0050] In one embodiment purchase intent identifier i can followed by a variable n that

represents whether the user has taken an action that could represent an intent to purchase the service or goods (e.g., download coupon, etc.) represented by the smart object. Table

5 provides examples of reporting the user's purchase intent, according to one embodiment of the present invention.

[0051] Table5

[0052] In one embodiment purchase identifier p can followed by a variable m that represents whether the user has taken an action that could represent that the user has purchased the service or goods represented by the smart object. Table 6 provides examples of reporting the user's purchase related to a smart object, according to one embodiment of the present invention.

[0053] Table 6

[0054] In one embodiment, SOMD received by smart object data engine 213 can include UES (partial or complete) that is processed according to the examples illustrated in tables 1-6. In one embodiment, partial or complete UES related to a smart object can be received from multiple platforms/subsystems. In other words, a UES related to a smart object can be derived from multiple 3D environments (including multiple games, augmented reality platforms, virtual reality platforms, etc.) for a user. In one embodiment, the UES can be transmitted from different subsystems to smart object data engine 213. Thus, in one embodiment, viewability (v) and total time (t) related to the viewability can be transmitted from a smart object manager, and engagement (e) and associated time (st) related data can be transmitted by a window or tab displaying the associated information. In one embodiment, the user, from within the 3D environment, is given the opportunity to save smart object related information to a front end software application (e.g., mobile, web based, etc.), of the advertising platform's system (e.g., system of fig. l) for future engagement with the smart object's related information. In this embodiment, if the user engages with the smart object data within the advertising platforms' software system, engagement related data (e) and the time a user spends interacting with the smart object's associated information (at) can be transmitted from the advertising platform's software application.

[0055] In one embodiment, smart object data engine 213 transmits the information (received from various sources) to metrics processing system where the UES received from various sources is concatenated to generate a unified (complete) UES. Therefore, the partial UES from various sources can then be transmitted to metric processing subsystem 215, where it is concatenated together to process the metrics related to the feature/characteristics of a smart object when interacted (or acted upon) by the user. The information processed by metric processing subsystem 215 can then be used to generate reports by reporting engine 217 related to the smart object's performance. In one embodiment reporting engine 217 can calculate and transmit the smart object's performance related data to the advertiser

(via interface 104).

[0056] In one embodiment smart object data engine 213 can process the received (partial or complete) UES and transmit the information as illustrated in table 7. As illustrated by various examples in table 7, a UES string received by smart object data engine 213, can be processed to determine engagement, viewability, time, intent, and purchase related to a smart object. As can be seen in table 7, not all identifiers need to be presented to the smart object data engine 213 or metric processing subsystem 215 to generate a complete UES. In one embodiment, the identifiers not presented within the UES (e.g., 'at' and 'st' of table 1), are ignored by metric processing subsystem 215, and can be assigned a null (or default) value (if not provided within the UES).

[0057] Table 7 UES Processing Examples by smart object data engine 213

UES engagement viewability time intent purchase eD4.v005.t023. e: advertiser v: The t: The Smart i: Coupon p: User used il.pl selected to Smart Object was was coupon

use four (D) Object was seen for 23 downloaded engagement 5% of the seconds

features. user's

User clicked screen size

on all (4).

eAl.v033.t053. e: advertiser v: The t: The Smart i: Coupon p: User did il.pO selected to Smart Object was was not use

use one (A) Object was seen for 53 downloaded coupon engagement 33% of the seconds

features. user's

User clicked screen size

on all (1).

eB0.v033.t020. e: advertiser v: The t: The Smart i: Coupon p: User did iO.pO selected to Smart Object was was offered not used

use two (2) Object was seen for 20 but NOT coupon engagement 033% of the seconds downloaded features. user's

User did not screen size

clicked on

any of them.

eN.v075.t020.i e: advertiser v: The t: The Smart i: Coupon p: User did N.pN did not use Smart Object was was not not purchase any Object was seen for 20 offered to

engagement 75% of the seconds the user (N) features (N). user's

screen size 058] In one embodiment, based on the UES processed by metric processing subsystem 215, objective determination subsystem 211 determines whether an advertiser objective has been met (by the user). Advertiser objective, in one embodiment, can include, whether a user has shared information about the smart object on social media, whether the user has purchased (or shown an intent to purchase) the service/goods associated with the smart object, etc. Generally, advertiser objective can be any information based on which the advertiser can decide whether to continue showing the BSO to a user, to display another BSO to the user, or to not display a BSO to a user at all. [0059] In one embodiment, an advertiser can associate engagement rules with a BSO to determine if an objective has been completed (or met) by a user. In one embodiment, engagement rules can utilize Boolean 'and' and Boolean Or' operators. For example, the advertiser can set an engagement rule of '[[el and (il or pi)]]' as a threshold condition for a BSO to not reappear to a user in a 3D environment with an objective to determine brand awareness to the user associated with a BSO. Objective determination subsystem 211 can process this rule to determine that if at least an engagement feature was clicked by the user or an intent to purchase or purchase actions of the goods or services associated with the BSO occurred, then determine that the objective has been met, and not to display the BSO to the user again for a predetermined period of time. Therefore, based on this rule, if metric processing subsystem 215 determines a UES of eB l.v005.t005.i0.p0 then the system determines the objective has been met. However, if the UES is determined to be 'eB0.v045.t050.i0.p0' then the objective determination system can determine that the objective has not been met, and the BSO is displayed to the user until the objective has been completed.

[0060] If it is determined that the advertiser objective has been completed, objective

determination subsystem 211 transmits an instruction to smart object placement determination subsystem 209 to stop displaying the BSO to the user (via user interface 112). In one embodiment, objective determination subsystem 211 can instruct smart object placement determination subsystem 209 to stop displaying the BSO to the user for a predetermined time (as set by the advertiser while determining an objective selection 207). In another embodiment, objective determination subsystem 211 can instruct smart object placement determination subsystem 209 to display an alternative BSO to the user once the advertiser objective has been completed by the user.

[0061] FIG. 3 illustrates a diagram describing the operations that can be performed by an advertiser according to one embodiment of the present invention. As illustrated at 301 the advertiser logs in. At 303, the advertiser can select a BSO that is to be used in an advertisement campaign. A BSO is a branded smart object that can replace a generic smart object placed in a 3D environment. At 305 the advertiser selects an intended advertisement target. The advertisement target, in one embodiment, can be a particular 3D environment (e.g., game, virtual environments, virtual real estate tour, etc.), a target audience (e.g., based on age, race, sexual orientation, geographical location, behavioral patterns, or a combination thereof), a specific GSO, or UES. At 307, the advertiser receives list of 3D environments and related GSOs to the 3D environment. At 309, the advertiser selects GSOs to be used in the 3D environment. At 311, after selecting a GSO the advertiser can select engagement features that are to be displayed to the user (when the user seeks more information about a smart object). Based on the selected engagement features, in one embodiment, the advertiser can receive UES for the selected GSO. In one embodiment, the UES is transmitted by metric processing subsystem 215 or reporting engine 217, depending on the implementation. At 315, the advertiser is prompted to select an advertisement objective and/or campaign budget associated with the advertisement objective. At 317, the advertiser receives a prediction of approximate user interaction (or action) that is computed by the smart object processing system 110 based on the engagement features and advertisement objective selected by the advertiser. At 319, the advertiser reviews the information and can submit an instruction to place the

advertisement with the smart object. At 321, the advertiser's interface 114 transmits developer identification data, 3D environment identification data, the identification data related to the selected GSO and/or BSO and advertiser identification data to smart object processing system 110.

2] FIG. 4 illustrates a diagram describing selection of engagement features by an advertiser to display to a user, according to one embodiment of the present invention. At 401, the advertiser if offered a selection of engagement features that can be selected to be displayed to the user (upon user interaction with the smart object). As illustrated at 402, the engagement features, without limitation, can include a buy now link, a coupon link, visit product website, view a detailed view of the smart object in 3D, share information related to the smart object branding, post, like, tweet, or any other form of

interaction/communication between the user and the smart object. At 403, the minimum advertisement cost for each selected engagement icon is displayed to the advertiser. At 405, the system receives the advertiser objective. At 407, the advertiser selected engagement icons are displayed, in one embodiment. As illustrated, at 410, the advertiser selected engagement icons (e.g., buy now, get coupon, see in 3D, visit website), can be previewed to the advertiser. In one embodiment, these features the selected engagement icons are displayed to the user, upon selection (or request) of more information related to the smart object. At 409, the total cost related to the advertisement campaign (based on the selected features and advertisement objective) is displayed to the advertiser. [0063] FIG. 5 illustrates a diagram describing selection of engagement features by a user, according to one embodiment of the present invention. In one embodiment, the user, within a 3D environment, is presented with advertiser related branded smart objects. After a user interacts with the smart object in a 3D environment (e.g., clicks or tap on the smart object or requests more information by clicking on a button related to presenting details about the smart object), at 501, the advertiser selected engagement features can be displayed to the user. For example, as illustrated, features selected by the advertiser at 410, can, in one embodiment, be displayed to the user. At 503, the user engages with the data provided (e.g., social network share, purchase, download coupon, etc.), and associated UES is transmitted the smart object engine 213. In one embodiment, at 507, the engagement icon selected by the user is disabled or removed from the displayed window. In one embodiment, the advertiser is given the option to select the icons that can be disabled, as shown at 508. In another embodiment, the engagement icons can be disabled or removed based on the objectives of the advertiser. It should be noted, an advertiser can have multiple objectives associated with an advertisement campaign. Thus, once a UES (partial or complete) is received by metrics processing system, the UES received thus far can be retrieved by the objective determination subsystem 211 and engagement icons can be removed (if a corresponding engagement rule is provided by the advertiser).

[0064] FIG. 6 illustrates a flowchart describing the operations of determining whether an objective of an advertiser has been met based on the UES, according to one embodiment of the present invention. At 601, the objective determination subsystem 211 received UES from the metrics processing subsystem 215. At 603, the objective determination subsystem 211 decodes the UES string to determine user engagement with the BSO. At 650, objective determination subsystem 211 compares the user engagement of the BSO with the engagement rule of the advertiser, and 607, objective determination subsystem 211 determines whether the objective has been achieved. In one embodiment, this can be performed based on the determination of the comparison of the engagement rule with the UES. If, at 607, it is determined that the objective has not been achieved, control flows back to 601 and the objective determination subsystem 211 continues to receive UES from metrics processing subsystem 215. However, if, at 607, it is determined that the objective has been achieved objective determination subsystem 211 instructs smart object placement determination subsystem 209 to not display the BSO to the user, as illustrated at 609. In one embodiment, objective determination subsystem 211 provides an instruction not to display the BSO for a predetermined period of time. In an optional embodiment, the advertiser can choose the predetermined period of time during which the BSO is not displayed to the user. Yet, in another embodiment, the advertiser provides the predetermined period of time during which the BSO is not displayed to the user within the engagement rule.

[0065] FIG. 7 illustrates a flow chart describing the operations that can be performed by a server while the advertiser selects a smart object for engagement with a user, according to one embodiment of the present invention. At 701, the advertiser is authenticated. At 703, the system receives BSO selection from the advertiser. At 705, the system receives advertisement target selection from the advertiser. At 707, the system receives engagement selection features from the advertiser. At 709, the system transmits UES related to the selected BSO to the advertiser, based on the target selection and/or engagement feature selection. At 711, the system receives an objective selection and/or advertisement budget from the advertiser. At 713, based on the received information the system predicts (and transmits the prediction) of approximate user interaction/viewability, based on advertisement target/feature selection and/or budget. At 715, the system saves the developer identification data, 3D environment identification data, GSO identification data, BSO (or asset) identification data and advertiser identification data to database 121.

[0066] FIG. 8 illustrates a flow chart describing the operations that can be performed by a server upon receiving information from a user, according to one embodiment of the present invention. In one embodiment, the system receives the user engagement selection from user interface 112, at 801. The user engagement selection, can be viewability data (v) time data (t) from smart object manager, or engagement feature information performed by the user (e.g., social network share, email, show intent to purchase, or purchase product associated with smart object). At 803, system records processes and records metric data. At 805, the system determines whether the user selected engagement feature is configured to be removed or disabled after first click/tap or selection. Upon such determination, the system transmits an instruction to remove or disable the selected icon from user interface 112, at 807. At 809, the window or tab on user interface 112 is removed or disabled, upon the determination at 807. [0067] FIG. 9A illustrates a flow chart of predicting the approximate user interaction/viewability that can be reached in an advertisement campaign based on the advertiser's budget and viewability and selected engagement features of a smart object, according to one embodiment of the present invention. After the system receives an advertiser's selected engagement features and advertisement budget (e.g., as illustrated by reference numeral 711 of fig. 7), the system can calculate the value per engagement (VPE) of the advertiser selected features based on the predetermined amount for each feature. The currency amount referenced at numeral 910 of fig. 9 are exemplary only; a person of ordinary skill in the art would appreciate that the amounts referenced at 910, in one embodiment, are dependent on the type of 3D environment and, in another embodiment, can be changed in real time. Xn is a variable value determined by the awareness level of where the user engages with the smart object or its associated data. For example, the awareness level can be within the 3D environment, within a window or tab, or within a software application provided by the advertisement platform (e.g., smart object data saved for later viewing by a user), etc. Ym is a variable value determined based on engagement features utilized by the user. For example, engagement features can include, social media likes, shares, viewing the smart object in 3D, visiting a website associated with a smart object, see a location where to buy the product, download a coupon, etc.

[0068] Thereafter, at 911, a maximum value per engagement (VPE) can be computed using formula 1 illustrated at figure 9B. The VPE provides the total advertisement budget that can be consumed by a user, in a 3D environment. At 913 the advertisement budget is set to the advertiser's initial campaign budget. To determine an initial number of users for brand placement (that is placement of the BSO in the selected 3D environment), an iteration variable (herein referred to as x) is initiated and set to 1 (for the first iteration).

At 915, the number of initial user for brand placement is determined using formula 2 to determine the number of users BPx, as illustrated at fig. 9C, where x signifies the number of iterations of brand placement user determination. At 917, the advertisement campaign is started with BPx users. At 919, the advertisement campaign is monitored to determine the consumed advertisement budget (based on actual user engagement/ viewability with the smart object). At 921, if the system determines that the advertisement budget is below the VPE, and if so control passes to 923 where the advertisement campaign is stopped. However, if the system determines that the advertisement budget is more than or equal to the VPE, the brand placement iteration variable is incremented and BPx is recalculated with the balance budget by passing control to 915, as described above.

[0069] As a non-limiting example, a $30,000 advertisement budget with a total value per engagement (VPE) of $3 per user can initially reach 10,000 unique users. At the conclusion of each 3D environment (e.g., game) advertisement monitoring subsystem, at

919, credits the values of engagement metrics not reached back into the Advertiser's Campaign Repository (ACR). When enough funds are accumulated, the advertisement placement will be sent to a new user. This cycle continues until all advertising funds have been exhausted.

[0070] The techniques shown in the figures can be implemented using computer program instructions (computer code) and data stored and executed on one or more electronic systems (e.g., computer systems, etc.). Such electronic systems store and communicate (internally and/or with other electronic systems over a network) code and data using machine -readable media, such as machine -readable non-transitory storage media (e.g., magnetic disks; optical disks; random access memory; dynamic random access memory; read only memory; flash memory devices; phase-change memory). In addition, such electronic systems typically include a set of one or more processors coupled to one or more other components, such as one or more storage devices, user input/output devices (e.g., a keyboard, a touchscreen, and/or a display), and network connections. The coupling of the set of processors and other components is typically through one or more busses and bridges (also termed as bus controllers). The storage device and signals carrying the network traffic respectively represent one or more machine -readable storage media and machine-readable communication media. Thus, the storage device of a given electronic device typically stores code and/or data for execution on the set of one or more processors of that electronic device.

[0071] It should be apparent from this description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other computer system in response to its processor, such as a microprocessor, executing sequences of instructions contained in memory, such as a ROM, DRAM, mass storage, or a remote storage device. In various embodiments, hardware circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the computer system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor.

[0072] FIG. 10 is a block diagram illustrating a data processing system such as a computing system 1900 which may be used with one embodiment of the invention. For example, system 1900 may be implemented as part of an objective based advertisement placement platform. In one embodiment, system 1900 may represent any of the systems or subsystems, as described herein, in figures 1 and 2. System 1900 may have a distributed architecture having dispersed units coupled through a network, or all of its components may be integrated into a single unit. Computing system 1900 may be implemented as part of a diverse range of products implemented by Trivver, Inc.

[0073] For example, computing system 1900 may represents any of data processing systems described above performing any of the processes or methods described above. System

1900 can include many different components. These components can be implemented as integrated circuits (ICs), portions thereof, discrete electronic devices, or other modules adapted to a circuit board such as a motherboard or add-in card of the computer system, or as components otherwise incorporated within a chassis of the computer system. Note also that system 1900 is intended to show a high level view of many components of the computer system. However, it is to be understood that additional or fewer components may be present in certain implementations and furthermore, different arrangement of the components shown may occur in other implementations. System 1900 may represent a desktop, a laptop, a tablet, a server, a mobile phone, a programmable logic controller, a personal digital assistant (PDA), a personal communicator, a network router or hub, a wireless access point (AP) or repeater, a set-top box, or a combination thereof.

[0074] In one embodiment, system 1900 includes processor 1901, memory 1903, and devices 1905-1908 via a bus or an interconnect 1922. Processor 1901 may represent a single processor or multiple processors with a single processor core or multiple processor cores included therein. Processor 1901 may represent one or more general-purpose processors such as a microprocessor, a central processing unit (CPU), or the like. More particularly, processor 1901 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processor 1901 may also be one or more special-purpose processors such as an application specific integrated circuit (ASIC), a cellular or baseband processor, a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, a graphics processor, a network processor, a communications processor, a cryptographic processor, a co-processor, an embedded processor, or any other type of logic capable of processing instructions.

[0075] Processor 1901, which may be a low power multi-core processor socket such as an ultra low voltage processor, may act as a main processing unit and central hub for communication with the various components of the system. Such processor can be implemented as a system on chip (SoC). In one embodiment, processor 1901 may be an Intel® Architecture Core™-based processor such as an i3, i5, il9 or another such processor available from Intel Corporation, Santa Clara, Calif. However, other low power processors such as available from Advanced Micro Devices, Inc. (AMD) of Sunnyvale,

Calif., an ARM-based design from ARM Holdings, Ltd. or a MlPS-based design from MIPS Technologies, Inc. of Sunnyvale, Calif., or their licensees or adopters may instead be present in other embodiments.

[0076] Processor 1901 is configured to execute instructions for performing the operations and methods discussed herein. System 1900 further includes a graphics interface that communicates with graphics subsystem 1904, which may include a display controller and/or a display device.

[0077] Processor 1901 may communicate with memory 1903, which in an embodiment can be implemented via multiple memory devices to provide for a given amount of system memory. As examples, the memory can be in accordance with a Joint Electron Devices

Engineering Council (JEDEC) low power double data rate (LPDDR)-based design such as the current LPDDR2 standard according to JEDEC JESD 207-2E (published April 2007), or a next generation LPDDR standard to be referred to as LPDDR3 that will offer extensions to LPDDR2 to increase bandwidth. As examples, 2/4/8 gigabytes (GB) of system memory may be present and can be coupled to processor 1901 via one or more memory interconnects. In various implementations the individual memory devices can be of different package types such as single die package (SDP), dual die package (DDP) or quad die package (QDP). These devices can in some embodiments be directly soldered onto a motherboard to provide a lower profile solution, while in other embodiments the devices can be configured as one or more memory modules that in turn can couple to the motherboard by a given connector.

[0078] Memory 1903 can be a machine readable non-transitory storage medium such as one or more volatile storage (or memory) devices such as random access memory (RAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), static RAM (SRAM), or other types of storage devices such as hard drives and flash memory. Memory 1903 may store information including sequences of executable program instructions that are executed by processor 1901, or any other device. For example, executable code and/or data of a variety of operating systems, device drivers, firmware (e.g., input output basic system or BIOS), and/or applications can be loaded in memory 1903 and executed by processor 1901. An operating system can be any kind of operating systems, such as, for example, Windows® operating system from Microsoft®, Mac OS®/iOS® from Apple, Android® from Google®, Linux®, Unix®, or other real-time or embedded operating systems such as Vx Works.

[0079] System 1900 may further include IO devices such as devices 1905-1908, including wireless transceiver(s) 1905, input device(s) 1906, audio IO device(s) 19019, and other IO devices 1908. Wireless transceiver 1905 may be a WiFi transceiver, an infrared transceiver, a Bluetooth transceiver, a WiMax transceiver, a wireless cellular telephony transceiver, a satellite transceiver (e.g., a global positioning system (GPS) transceiver), or other radio frequency (RF) transceivers, network interfaces (e.g., Ethernet interfaces) or a combination thereof.

[0080] Input device(s) 1906 may include a mouse, a touch pad, a touch sensitive screen (which may be integrated with display device 1904), a pointer device such as a stylus, and/or a keyboard (e.g., physical keyboard or a virtual keyboard displayed as part of a touch sensitive screen). For example, input device 1906 may include a touch screen controller coupled to a touch screen. The touch screen and touch screen controller can, for example, detect contact and movement or break thereof using any of a plurality of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen. [0081] Audio 10 device 1907 may include a speaker and/or a microphone to facilitate voice- enabled functions, such as voice recognition, voice replication, digital recording, and/or telephony functions. Other optional devices 1908 may include a storage device (e.g., a hard drive, a flash memory device), universal serial bus (USB) port(s), parallel port(s), serial port(s), a printer, a network interface, a bus bridge (e.g., a PCI-PCI bridge), sensor(s) (e.g., a motion sensor such as an accelerometer, gyroscope, a magnetometer, a light sensor, compass, a proximity sensor, etc.), or a combination thereof. Optional devices 1908 may further include an imaging processing subsystem (e.g., a camera), which may include an optical sensor, such as a charged coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor, utilized to facilitate camera functions, such as recording photographs and video clips. Certain sensors may be coupled to interconnect 1907 via a sensor hub (not shown), while other devices such as a keyboard or thermal sensor may be controlled by an embedded controller (not shown), dependent upon the specific configuration or design of system 1900.

[0082] To provide for persistent storage of information such as data, applications, one or more operating systems and so forth, a mass storage (not shown) may also couple to processor 1901. In various embodiments, to enable a thinner and lighter system design as well as to improve system responsiveness, this mass storage may be implemented via a solid state device (SSD). However in other embodiments, the mass storage may primarily be implemented using a hard disk drive (HDD) with a smaller amount of SSD storage to act as a SSD cache to enable non- volatile storage of context state and other such information during power down events so that a fast power up can occur on RE-initiation of system activities. Also a flash device may be coupled to processor 1901, e.g., via a serial peripheral interface (SPI). This flash device may provide for non-volatile storage of system software, including a basic input/output software (BIOS) as well as other firmware of the system.

[0083] Note that while system 1900 is illustrated with various components of a data

processing system, it is not intended to represent any particular architecture or manner of interconnecting the components; as such details are not germane to embodiments of the present invention. It will also be appreciated that network computers, handheld computers, mobile phones, and other data processing systems which have fewer components or perhaps more components may also be used with embodiments of the invention.

[0084] As described in U.S. Patent Application No. 15/209,679, incorporated herein by

reference, to the extent it is consistent herewith, methods and systems are disclosed to generate three dimensional (3D) digital assets, referred to as smart objects or digital smart objects herein, for use in various digital platforms. 3D digital smart objects, in one embodiment, can be used to generate generic content (banner/billboard, videos, and/or 3D assets) that can optionally be replaced with branded content from an advertiser within a variety of digital platforms and measure the user performance with both the generic and branded content across the digital platform. In one embodiment, a 3D digital smart object comprises an asset encompassed in a transparent 3D asset placeholder that dictates the maximum X-Axis, Y-Axis, and Z-Axis dimensions of an asset/object and/or and understands the scaling dimensions that takes up a specific shape in a 3D digital environment. The asset within the 3D asset placeholder provides a visual representation of the 3D digital smart object. The asset can be, in one embodiment, a 3D representation of geometric data, where the asset within the 3D asset placeholder provides a visual representation of the 3D digital smart object. A 3D digital smart object comprises an asset that can be any media content such as, 3D non-active assets, assets, video, audio, multimedia object, any general 3D representation of geometric data, or a combination thereof. In various embodiments, 3D digital smart objects can be used for services related to advertising, notification, or generally for any service that can personalize a viewer's environment with 3D content that is relevant to each viewer.

[0085] In one embodiment a digital smart object generation system can be configured to present a 3D placeholder to a publisher/game developer of a 3D environment and receive an asset the publisher to be placed within the 3D placeholder. Throughout this disclosure developer and publisher refer to the digital platform creator, and have been used interchangeably. The developer can further select an asset category and/or asset type related to the asset, using which data related to the 3D digital smart object would be cataloged in a repository or database. In one embodiment, the asset category and asset type can assist the system and/or an advertiser using the system in determining the relevancy of the 3D digital smart object to a viewer. Once the asset is uploaded, the system can then associate the developer or publisher's selected asset category and/or asset type with the uploaded asset. The digital smart object generation system can also receive standard asset size information of the asset within the 3D asset placeholder; the standard asset size information includes an X-axis, Y-axis, and Z-axis dimension of the asset within the 3D asset placeholder. The standard asset size information provides the maximum 3D size of the asset that can be accommodated within the 3D asset placeholder without disturbing the aspect ratio of the asset, as determined suitable by the developer or publisher. In one embodiment, the 3D placeholder can be a cube. However, the 3D placeholder is not limited to any particular geometrical shape. For example, in various embodiments, the 3D placeholder can be a polyhedron, cylinder, sphere, cone, torus based structure, or a combination thereof. Further, the standard asset size information, in one embodiment, can be determined when the X-axis, Y-axis, or Z-axis dimension of the asset equals to its corresponding axis dimension of the 3D asset placeholder. This can be achieved when the developer places a 3D asset in the 3D asset placeholder and scales the asset so that at least one of the dimensions of the asset equals to that of the 3D placeholder. In one embodiment, such scaling of the asset can be achieved when the developer clicks and drags the asset to maximize the asset size within the 3D asset placeholder.

86] A system can also be configured to receive (or provide) the asset a position positioning information including asset orientation information and asset position anchor location. The asset position anchor location determines the location of the asset relative to the 3D asset placeholder, while the asset orientation determines the orientation of the asset itself (e.g., vertical, horizontal, etc.); the asset position anchor location in one embodiment can be the X-axis coordinates, the Y-axis coordinates, the Z-axis coordinates, or a combination thereof, of the 3D asset placeholder. The asset position anchor location is the axis of the 3D asset placeholder that acts as a base axis for the asset

(in other words, the asset's orientation is relative to the selected axis of the 3D placeholder). In such an embodiment, the anchor location can be provided by the developer, or can be defaulted to a certain axis (e.g., X-axis). An X-axis coordinates based anchor position (e.g, in a lxlxl cube, a (0.5,0,0) based anchor position would indicate that the anchor is positioned on in the middle of the X-axis of the placeholder, with the X-axis as a base position). A Y-Axis based anchor position would indicate that the anchor is positioned on the Y-axis of the placeholder (e.g, in a lxlxl cube, a (0,0.5,0) based anchor position would indicate that the anchor is positioned on in the middle of the Y-axis of the placeholder, with the Y-axis as a base position). A Z-axis based anchor position would indicate the depth of the anchor position within the placeholder (e.g, in a lxlxl cube, a (0,0,0.5) based anchor position would indicate that the anchor is positioned on the middle of the Z-axis of the placeholder, with the Z-axis as a base position).

Therefore, a combination of X-axis and Y-axis coordinates (e.g., 0.5, 0.5, 0.5) would indicate that the placeholder is anchor position location is hanging in the center of the 3D placeholder. In one embodiment, an anchor position location can assist the developer implementing the digital smart object the creator's intention how the object should be placed within the 3D environment. In another embodiment, the anchor position location can also govern the orientation of the asset when a user/viewer interacts with the digital smart object.

87] In one embodiment, after the above mentioned information is received by the system, the system can be further configured to store the digital smart object data, including the asset, standard asset size information, asset positioning anchor location, a maximum and minimum polygon count value associated with the asset (when available), and asset data

(category and/or type) in a repository. Using the digital smart object data, the system can then further be configured to generate the 3D digital smart object that can be placed within various 3D environments (e.g., games, Virtual Reality environments, Augmented Reality environments, Smartphone Applications ("Apps"), Digital TV (OTT), Web Interfaces, Game Consoles, Video, etc.), and can be associated with advertisements that are to be analyzed. The 3D digital smart object can also record different types of interaction of the 3D digital smart object with a user of the game and transmit user interaction information to the computing device with the use of event triggers (by associating the digital smart object data with the event triggers during generation of the 3D digital smart object). In one embodiment, event triggers are capable of determining user interaction with, or viewability of, a 3D digital smart object and transmit metrics, based on the user interaction (or viewability), to a digital smart object processing system. In one embodiment, the event triggers transmit user interaction including (but not limited to) determining a user viewing a 3D digital smart object, the user interacting with a 3D digital smart object, a distance between the user and a 3D digital smart object, a percentage size of a 3D digital smart object in relationship to the size of the user interface, a period of time that the user interacted with a 3D digital smart object, the percentage of the 3D digital smart object that was viewable on the user's screen (e.g., is the viewable surface of 3D digital smart object 50% below the screen), etc. In one embodiment, event triggers can be configured or customized by the publisher or the advertiser.

[0088] In another embodiment, the 3D placeholder can be presented to the developer via an Application Program Interface (API) or a software development kit (SDK). In one embodiment, the asset uploaded for a 3D digital smart object by the publisher can be a generic 3D representation of geometric data. Such a 3D digital smart object is referred to as Generic Digital smart object (GSO) herein. In another embodiment, an advertiser can replace the generic 3D asset with a branded 3D asset/object associated with the advertiser in a GSO. In such an embodiment, the publisher of the GSO can define a minimum and/or maximum polygon count value for the asset that is allowed within the GSO. An advertiser who wishes to have a generic 3D asset in a GSO to be replaced with a branded object would have to provide the branded object that is within the minimum and maximum polygon count value defined by the publisher. Such a 3D digital smart object (with a branded object/asset) is referred to as Branded Digital smart object (BSO) herein. In one embodiment, defining a minimum and/or maximum polygon count value assists in generating an advertisement standard that can allow of a GSO be converted into a BSO programmatically. In another embodiment, the publisher can further identify the types of different branded objects that can replace the asset by identifying the asset category and/or asset type, as discussed herein. In one embodiment, the digital smart object data can further associated with publisher identification data associated with the developer. In another embodiment, the digital smart object data can also be associated with advertiser identification data associated with an advertiser.

[0089] FIG. 11 illustrates a block diagram of the data associated with a 3D digital smart object, according to one embodiment of the present invention. As illustrated 3D digital smart object 101, in one embodiment, can be associated with digital smart object identification data 401A,that represents the identification of the 3D digital smart object when implemented by the publisher and can be associated with digital smart object data stored in repository 121. 3D digital smart object 101 can also be associated with publisher identification data 403A identifying the publisher who implemented the 3D digital smart object. Such identification can be helpful to assist in presenting a game developer digital smart objects only related to their associated 3D digital smart objects, since 3D digital smart objects can be configured, in one embodiment, to collect viewability metrics and transmit it back to the publisher implementing the 3D digital smart object in their 3D environment. In an alternative embodiment, 3D digital smart object 101 can also be associated with advertiser identification 405A that can be used when a GSO asset is replaced with a branded asset to generate a BSO. By associating 3D digital smart object 101 with advertiser identification 405 A, advertising based metrics can be transmitted to the advertiser. Although the techniques described herein are generally associated with data collection for advertisers, it should be noted, the invention generally relates to data collection using 3D digital smart objects, and is not intended to be limited for advertising purposes. Specifically, generation of 3D digital smart objects can be used for data collection purposes, in a three dimensional environment, for advertisers, data analysts, software developers (e.g., object performances in game or application development, etc.), or for training purposes in a variety of fields (e.g., medical, military, or any area that involves precision based training using a 3D environment). The data collected by the digital smart objects can then be used for data analysis to determine if a goal has been achieved. In yet another embodiment, the data analysis can be used for predictive advertisement. The goal can be different based on the field where the 3D digital smart objects are used. For example, in the advertising realm the goal can include user interaction and/or viewability with the 3D digital smart object, in medicinal or military training related tasks the goal can include determining the precise interaction (e.g., orientation, speed, etc.) the 3D digital smart object with the user, etc. In the realm of virtual reality, for example, a user's interaction with the 3D digital smart object can be measured with use of accelerometers, gyroscopes, scripts or a combination thereof.

Therefore, advertiser identification 405A can be associated with any 3rd party (who is not the publisher/developer) of the 3D digital smart object, but as a requirement to collect data from the end user's viewability or interaction with the digital smart object. For example, advertising identification data 405A can be associated with a medical training services provider, military training service provider, etc. depending on the usage of the 3D digital smart object. In one embodiment, data received from the 3D digital smart object can inform the user of their performance score/level.

0] 3D digital smart object 101 can also be associated with asset identification 409A which determines the asset representation(s) (e.g. video, image, 3D object, audio, or a combination thereof) of the 3D digital smart object. In one embodiment, Asset identification 409A can also identify if 3D digital smart object 101 is a GSO or BSO, that is, if the asset object/video/3D representation comprises a generic asset or a branded asset. Asset identification 409A can be further associated with asset category

identification 407A and/or Asset type identification 407B. In one embodiment, the publisher, while generating 3D digital smart object 101, is given a list of predetermined asset categories and/or asset type from which the publisher selects a desired category or type to associated with 3D digital smart object 101. Assigning an asset category and/or type can be useful while generating a BSO (from a GSO) because it can provide the advertiser the publisher's intended representation of 3D digital smart object 101. For example, if the publisher generates a GSO and assigns it to category 'beverage', and type 'soda can', this would suggest that a GUCCI® 'leather studded sandal' is not intended to be the branded asset of the GSO. Therefore, in one embodiment, providing an asset category and/or type can prevent ineffective advertising by informing the advertiser the intended representation of 3D digital smart object 101. Further, asset category and type can also provide the advertiser information about the intended audience of 3D digital smart object 101, since a 'soda can' based branded 3D digital smart object is more likely going to be considered appropriate to a general audience, while a leather studded sandal based branded 3D digital smart object is more likely to be considered suitable to a feminine audience between the ages of 25-50. Thus, by providing an asset category and/ or asset type, the publisher can further identify one or more categories/types of different branded objects that are intended to replace the asset in a GSO.

1] As illustrated in fig. 11, 3D digital smart object 101 can also be associated with asset positioning information (e.g., asset orientation, asset anchor position, etc.) 411 and standard object size dimensions 413, as disclosed above, herein. Further, 3D digital smart object 101 can also be associated with a maximum and/or minimum polygon count value 415. In one embodiment, when a publisher is in the process of generating 3D digital smart object 101, the publisher/developer can specify a minimum and/or maximum polygon count value 415 of the 3D asset that would be included in 3D digital smart object 101. ). In this embodiment, an advertiser can replace the asset of a GSO with a branded object, where the branded object is related to a brand associated with the advertiser. In this embodiment, once the publisher defines a minimum and maximum polygon count value for the asset associated the 3D digital smart object (GSO), and a branded object/asset can replace the publisher provided asset only when the branded object has a polygon count within the defined minimum and maximum polygon count value. This can be helpful, among other things, to ensure fast loading 3D digital smart object 101 when it is implemented in a 3D environment. As polygon count value of a 3D asset can be directly associated with the size of the asset (in memory), setting a minimum and/or maximum polygon can assist in fast loading (or rendering) of 3D digital smart object 101 during implementation. Further, setting minimum/maximum polygon count 415 can assist the publisher in ensuring the aesthetic aspect of the 3D digital smart object is not

compromised when an asset is replaced (e.g., when a GSO asset is replaced with a branded asset to convert the GSO into a BSO.

[0092] Further, 3D digital smart object 101 can also be associated with event triggers (e.g., scripts) 417. In one embodiment, the event triggers are capable of determining user interaction with, or viewability of, the 3D digital smart object. Event scripts 417, in one embodiment, can transmit data to the system that can be used to generate user viewability or interaction based metrics. In another embodiment, the event triggers transmit user interaction including determining a user looking at the 3D digital smart object, the user interacting with the 3D digital smart object, a distance between the user and the 3D digital smart object, a percentage size of the 3D digital smart object in relationship to the size of the user interface, a period of time that the user interacted with the 3D digital smart object, the percentage of the smart object seen from the user, the angle with which the 3D digital smart object was moved or lifted by the user, or the speed with which the 3D digital smart object was moved by the user, etc. Non-limiting examples of event triggers can include the events as illustrated below in table 8:

[0093] Table 8

Event Trigger Purpose

OnClickedO; Triggers whenever the digital smart object is

tapped or clicked

GetScreenRealEstate() ; Gets screen real estate at current time and stores in array for calculating averages of the time the user could view the 3D digital smart object

IsInViewQ; Various calculations to determine whether object

is in view using ray casts to main camera (user focus). If actual geometry determination is not performed, this can, in one embodiment, be determined by collision detection so determination can be based on probability.

OpenDetails(); Provide details of the information associated with

the digital smart object (e.g., in a pop-up window).

ObjectAngleO; Relative angle with which the user is interacting

with the digital smart object

UserSpeedQ; The relative speed (pixel traversed per seconds)

with which a user is moving the digital smart object

[0094] In one embodiment, digital smart objects can also include a collision mesh (e.g., in gaming environments), which can be used to detect event triggers. Thus, digital smart objects, in one embodiment, can be used to calculate if an object is visible to a user, and if so, the percentage of the smart object viewable on the user's screen. For example, digital smart objects implemented in a gaming environment (where a collision mesh can be implemented) can determine if a mesh renderer is active, and further evaluate if a digital smart object is being drawn on the current Camera's culling mask. Thereafter, using ray casting techniques, a line between the main camera and the digital smart object can be drawn. If this line collides with a collidable mesh of the digital smart object then it can be assumed that the digital smart object is being blocked (and is viewable on the user's interface). To calculate the proportion of the digital smart object on screen, in a gaming environment, a screen bounds function (or equivalent) can be used to obtain an approximation (percentage) of the screen that the digital smart object is covering. In other environments (e.g., non-gaming environments) similar techniques can be implemented, as known to a person having ordinary skill in the art.

[0095] A person having ordinary skill in the art would appreciate that other event triggers can also be implemented, depending on the business needs of the advertiser/service provider, and/or publisher. Thus, in another embodiment, other functions specific to individual digital smart objects can also be specified (e.g., other multimedia effects within the 3D digital environment can be effected). In one embodiment, 3D digital smart object 101 can be configured to transmit the data generated by the event triggers to a digital smart object manager which can forward the information to one or more systems for metrics generation and/or further processing. In one embodiment, event triggers can be configured or customized by the publisher or advertiser/service provider, depending on their business needs. In yet another embodiment, event triggers cannot be configured or customized by the publisher or advertiser/service provider, in order to prevent advertisement metrics, viewability/interaction fraud with the 3D digital smart object. In such an embodiment, event trigger scripts can be encrypted and provided by 3D digital smart object generator 106. In this embodiment, a developer and/or advertiser can present a request to the system to generate event trigger scripts that can be customized by the developer/publisher, or can request the system to create entirely new event trigger scripts to meet specific data reporting needs of the publisher.

[0096] Thus, methods, apparatuses, and computer readable medium of displaying

information associated with a smart object are described. Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention as set forth in the claims.

Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Examples and additional notes

[0097] Example 1 is a method to display advertisements in three dimensional online

environment based on an objective of an advertiser, comprising: receiving, by a computing device, the objective of the advertiser, wherein the objective determines when to stop displaying a branded smart object (BSO) to a user in the three dimensional online environment, the objective including an engagement rule; determining, by the computing device, whether the objective has been achieved by a user, wherein the determining includes, evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from Smart Object Metric Data (SOMD) transmitted from a smart object manager residing within the three dimensional online environment, and wherein the BSO includes programmable trigger events that can result in the generation of the SOMD based on user interaction with, or viewability of, the BSO, and wherein the smart object manager receives trigger event data from the BSO; and upon the determining, by the computing device, preventing display of the BSO on a user interface, and wherein preventing display of the BSO occurs for a predetermined period of time. In Example 2, the subject matter of Example 1 includes, displaying another BSO associated with the advertiser for the predetermined period of time. In Example 3, the subject matter of Examples 1-2 includes, wherein the BSO was placed within the three dimensional online environment by a game developer as a generic smart object (GSO), the GSO comprising a generic asset, and wherein the advertiser replaced the generic asset with a branded asset to generate the BSO, the branded asset graphically representing a branded product or service offered by the advertiser. In Example 4, the subject matter of Examples 1-3 includes, wherein the preventing occurs across multiple three dimensional environments or platforms on one or more user interfaces associated with the user. In Example 5, the subject matter of Examples 1-4 includes, wherein the advertiser can provide the same objective for the BSO across multiple three dimensional environments or platforms for a plurality of users. In Example 6, the subject matter of Examples 1-5 includes, wherein the UES includes data related to at least one of a purchase action, a social media like action, a social media post action, or a get coupon action. In Example 7, the subject matter of Examples 1-6 includes, wherein the UES is represented by an alpha-numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the BSO. In Example 8, the subject matter of Examples 1-7 includes, wherein the UES is at least represented by a string comprising: eUx.vy.ts.in.pm wherein e represents a user engagement identifier related to the smart object, U represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, i represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, p represents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the various data transmitted within the UES related to the smart object.

8] Example 9 is a non- transitory computer readable medium comprising instructions which when executed by a processing system, including at least one core, performs a method to display advertisements in three dimensional online environment based on an objective of an advertiser, comprising: receiving the objective of the advertiser, wherein the objective determines when to stop displaying a branded smart object (BSO) to a user in the three dimensional online environment, the objective including an engagement rule; determining whether the objective has been achieved by a user, wherein the determining includes, evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from Smart Object Metric Data (SOMD) transmitted from a smart object manager residing within the three dimensional online environment, and wherein the BSO includes programmable trigger events that can result in the generation of the SOMD based on user interaction with, or viewability of, the BSO, and wherein the smart object manager receives trigger event data from the BSO; and upon the determining preventing display of the BSO on a user interface, and wherein preventing display of the BSO occurs for a predetermined period of time; wherein the method is performed by the computing device. In Example 10, the subject matter of Example 9 includes, displaying another BSO associated with the advertiser for the predetermined period of time. In Example 11, the subject matter of

Examples 9-10 includes, wherein the BSO was placed within the three dimensional online environment by a game developer as a generic smart object (GSO), the GSO comprising a generic asset, and wherein the advertiser replaced the generic asset with a branded asset to generate the BSO, the branded asset graphically representing a branded product or service offered by the advertiser. In Example 12, the subject matter of

Examples 9-11 includes, wherein the preventing occurs across multiple three dimensional environments or platforms on one or more user interfaces associated with the user. In Example 13, the subject matter of Examples 9-12 includes, wherein the advertiser can provide the same objective for the BSO across multiple three dimensional environments or platforms for a plurality of users. In Example 14, the subject matter of Examples 9-13 includes, wherein the UES includes data related to at least one of a purchase action, a social media like action, a social media post action, or a get coupon action. In Example 15, the subject matter of Examples 9-14 includes, wherein the UES is represented by an alpha-numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the BSO. In Example 16, the subject matter of

Examples 9-15 includes, wherein the UES is at least represented by a string comprising: eUx.vy.ts.in.pm wherein e represents a user engagement identifier related to the smart object, U represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, i represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, p represents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the various data transmitted within the UES related to the smart object.

9] Example 17 is a system to display advertisements in three dimensional online environment based on an objective of an advertiser, the system comprising: a memory device; a processing subsystem, including at least one core, coupled to the memory device, the processing system configure to: receive the objective of the advertiser, wherein the objective determines when to stop displaying a branded smart object (BSO) to a user in the three dimensional online environment, the objective including an engagement rule; determine whether the objective has been achieved by a user, wherein the determining includes, evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from Smart Object Metric Data (SOMD) transmitted from a smart object manager residing within the three dimensional online environment, and wherein the BSO includes programmable trigger events that can result in the generation of the SOMD based on user interaction with, or viewability of, the BSO, and wherein the smart object manager receives trigger event data from the BSO; and prevent displaying of the BSO on a user interface, and wherein preventing display of the BSO occurs for a predetermined period of time. In

Example 18, the subject matter of Example 17 includes, configure to: display another BSO associated with the advertiser for the predetermined period of time. In Example 19, the subject matter of Examples 17-18 includes, wherein the BSO was placed within the three dimensional online environment by a game developer as a generic smart object (GSO), the GSO comprising a generic asset, and wherein the advertiser replaced the generic asset with a branded asset to generate the BSO, the branded asset graphically representing a branded product or service offered by the advertiser. In Example 20, the subject matter of Examples 17-19 includes, wherein the preventing occurs across multiple three dimensional environments or platforms on one or more user interfaces associated with the user. In Example 21, the subject matter of Examples 17-20 includes, wherein the advertiser can provide the same objective for the BSO across multiple three dimensional environments or platforms for a plurality of users. In Example 22, the subject matter of Examples 17-21 includes, wherein the UES includes data related to at least one of a purchase action, a social media like action, a social media post action, or a get coupon action. In Example 23, the subject matter of Examples 17-22 includes, wherein the UES is represented by an alpha-numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the BSO. In Example 24, the subject matter of Examples 17-23 includes, wherein the UES is at least represented by a string comprising: eUx.vy.ts.in.pm wherein e represents a user engagement identifier related to the smart object, U represents a value for the number of engagement features displayed to the user, x represents a number of engagement features that were utilized by the user, v represents a viewability identifier related to the smart object, y represents a size of the BSO with respect to at least one display of the user interface, t represents a time identifier related to the smart object, s represents a number of seconds the user interacted with, or viewed, the BSO, i represents a user intent identifier related to the smart object, n is a variable representing whether the intent was fulfilled, p represents a purchase identifier related to the smart object, and m is a variable representing whether the user purchased the service or product represented by the BSO, and wherein the period symbol (.) represents a separator identifier (delimiter) between the various data transmitted within the UES related to the smart object. Example 25 is at least one machine -readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement of any of Examples 1-24. Example 26 is an apparatus comprising means to implement of any of

Examples 1-24. Example 27 is a system to implement of any of Examples 1-24. Example 28 is a method to implement of any of Examples 1-24.

0] Example 28 is a system for providing periodic display of branded three dimensional digital assets on in an online environment, comprising: a computer data store comprising a plurality of branded three dimensional digital assets that can be displayed in the online environment, wherein at least one branded three dimensional digital assets out of the plurality of branded three dimensional digital assets is displayed on a graphical user interface of a client computer machine, wherein the client computer can generate and transmit engagement metric data based on user interaction or viewability with the at least one branded three dimensional digital asset, and wherein the client computer machine is further configured to: determine a proportion of the at least one branded three dimensional digital asset displayed on screen of the graphical user interface, and using a screen bounding function of a three dimensional engine associated with the online environment, obtain a percentage of the screen of the graphical user interface that the at least one branded three dimensional digital asset is covering to generate engagement metric data; and a computer server coupled to the computer data store, the computer server configured to: receive an objective related to a placement of the at least one branded three dimensional digital asset, wherein the objective determines when to display the at least one branded three dimensional digital asset from the plurality of branded three dimensional digital assets in the online environment, the objective including an engagement rule, and wherein the at least one branded three dimensional digital asset is retrieved from the computer data store and displayed in the online environment to a user of the client computer machine, determine whether the objective has been achieved by the user of the client computer machine, and prevent display of the at least one branded three dimensional digital asset on the graphical user interface for a predetermined period of time, when it is determined that the objective has been achieved by the user. In Example 29, the subject matter of Example 28 includes, wherein the client computer system is further configured to: determine whether the three dimensional digital asset is drawn on a culling mask of a camera in the online environment, the three dimensional digital asset comprising a collidable mesh; draw a line between the camera and the three dimensional digital asset using a ray casting based technique; and determine that the line collides with the collidable mesh of the three dimensional digital asset; wherein the client computer machine obtains the percentage of the screen of the graphical user interface when it is determined that the line collides with the collidable mesh. In Example 30, the subject matter of Examples 28-29 includes, wherein to determine whether the objective has been achieved the computer server is further configured to: evaluate a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from the engagement metric data transmitted from the client computer machine to the computer server, wherein the UES represents a collective value for user interaction or viewability related to the branded three dimensional digital asset. In Example 31, the subject matter of Examples 28-30 includes, wherein the computer server is further configure to: retrieve at least another branded three dimensional digital asset out of the plurality of branded three dimensional digital assets, and display the at least another branded three dimensional digital asset on the client machine for the

predetermined period of time. In Example 32, the subject matter of Examples 28-31 includes, wherein the at least one branded three dimensional digital asset replaces a generic virtual object, the generic virtual object comprising a generic asset, the generic virtual object placed within the online environment by a game developer, and wherein the computer server replaces the generic asset with a branded asset to generate the branded three dimensional digital asset, the branded asset graphically representing a branded product or service offered. In Example 33, the subject matter of Examples 28-32 includes, wherein to prevent display of the at least one branded three dimensional digital asset on the graphical user interface for a predetermined period of time occurs across a plurality of three dimensional environments or platforms on one or more graphical user interfaces associated with the user. In Example 34, the subject matter of Examples 28-33 includes, wherein a plurality of objectives for the branded three dimensional digital asset can be provided across a plurality of three dimensional environments or platforms for a plurality of users.

1] Example 35 is a method for providing periodic display of branded three dimensional digital assets on a graphical user interface of a client computer machine in an online environment, comprising: receiving, by a computer server, an objective related to a placement of at least one branded three dimensional digital asset, wherein the objective determines when to display the at least one branded three dimensional digital asset from the plurality of branded three dimensional digital assets in the online environment, the objective including an engagement rule, and wherein the at least one branded three dimensional digital asset is retrieved from a computer data store and displayed in the online environment to a user of the client computer machine; determining, by the computer server, whether the objective has been achieved by the user of the client computer machine; preventing, by the computer server, display of the at least one branded three dimensional digital asset on the graphical user interface for a predetermined period of time, when it is determined that the objective has been achieved by the user; wherein the client computer machine transmits the engagement metric data to the computer server, the client computer further performing: displaying the branded three dimensional digital assets in the online environment, determining a proportion of the virtual object on screen of the graphical user interface, and obtaining a percentage of the screen of the graphical user interface that the branded three dimensional digital asset is covering using a screen bounding function of a three dimensional engine of the online environment to generate engagement metric data, wherein each branded three dimensional digital asset can transmit engagement metric data based on user interaction or viewability with the branded three dimensional digital asset, and wherein the computer server is coupled to the computer data store comprising the plurality of branded three dimensional digital assets that can be displayed in the online environment. In Example 36, the subject matter of Example 35 includes, wherein determining whether the objective has been achieved further comprises: evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from engagement metric data transmitted from the at least one branded three dimensional digital asset. In Example 37, the subject matter of Example 36 includes, wherein the UES is represented by an alpha-numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the branded three dimensional digital asset. In

Example 38, the subject matter of Examples 35-37 includes, retrieving at least another branded three dimensional digital asset out of the plurality of branded three dimensional digital assets, and displaying the at least another branded three dimensional digital asset on the client machine for the predetermined period of time. In Example 39, the subject matter of Examples 35-38 includes, wherein the at least one branded three dimensional digital asset replaces a generic virtual object, the generic virtual object comprising a generic asset, the generic virtual object placed within the online environment by a game developer, and wherein the computer server replaces the generic asset with a branded asset to generate the branded three dimensional digital asset, the branded asset graphically representing a branded product or service offered. In Example 40, the subject matter of

Examples 35-39 includes, wherein preventing display of the at least one branded three dimensional digital asset on the graphical user interface for a predetermined period of time occurs across a plurality of three dimensional environments or platforms on one or more graphical user interfaces associated with the user. In Example 41, the subject matter of Examples 35-40 includes, wherein a plurality of objectives for the branded three dimensional digital asset can be provided across a plurality of three dimensional environments or platforms for a plurality of users. Example 42 is a non-transitory computer readable medium comprising instructions, which when executed by a processing system having at least one processing core, executes a method for providing periodic display of branded three dimensional digital assets on a graphical user interface of a client computer machine in an online

environment, comprising: receiving an objective related to a placement of at least one branded three dimensional digital asset, wherein the objective determines when to display the at least one branded three dimensional digital asset from the plurality of branded three dimensional digital assets in the online environment, the objective including an engagement rule, and wherein the at least one branded three dimensional digital asset is retrieved from a computer data store and displayed in the online environment to a user of the client computer machine; determining whether the objective has been achieved by the user of the client computer machine; preventing display of the at least one branded three dimensional digital asset on the graphical user interface for a predetermined period of time, when it is determined that the objective has been achieved by the user; wherein the client computer machine transmits the engagement metric data to the computer server, the client computer further performing: displaying the branded three dimensional digital assets in the online environment, determining a proportion of the virtual object on screen of the graphical user interface, and obtaining a percentage of the screen of the graphical user interface that the branded three dimensional digital asset is covering using a screen bounding function of a three dimensional engine of the online environment to generate engagement metric data, wherein each branded three dimensional digital asset can transmit engagement metric data based on user interaction or viewability with the branded three dimensional digital asset, and wherein the computer server is coupled to the computer data store comprising the plurality of branded three dimensional digital assets that can be displayed in the online environment. In Example 43, the subject matter of

Example 42 includes, wherein determining whether the objective has been achieved further comprises: evaluating a user engagement score (UES) and comparing the UES with the engagement rule, wherein the UES is derived, at least in part, from engagement metric data transmitted from the at least one branded three dimensional digital asset. In Example 44, the subject matter of Example 43 includes, wherein the UES is represented by an alpha-numeric string, and wherein the UES represents a collective value for user interaction or viewability related to the branded three dimensional digital asset. In Example 45, the subject matter of Examples 42-44 includes, retrieving at least another branded three dimensional digital asset out of the plurality of branded three dimensional digital assets, and displaying the at least another branded three dimensional digital asset on the client machine for the predetermined period of time. In Example 46, the subject matter of Examples 42-45 includes, wherein the at least one branded three dimensional digital asset replaces a generic virtual object, the generic virtual object comprising a generic asset, the generic virtual object placed within the online environment by a game developer, and wherein the computer server replaces the generic asset with a branded asset to generate the branded three dimensional digital asset, the branded asset graphically representing a branded product or service offered. In Example 47, the subject matter of Examples 42-46 includes, wherein preventing display of the at least one branded three dimensional digital asset on the graphical user interface for a predetermined period of time occurs across a plurality of three dimensional environments or platforms on one or more graphical user interfaces associated with the user and wherein a plurality of objectives for the branded three dimensional digital asset can be provided across a plurality of three dimensional environments or platforms for a plurality of users. Example 48 is at least one machine-readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement of any of Examples 28-47. Example 49 is an apparatus comprising means to implement of any of Examples 28-47. Example 50 is a system to implement of any of Examples 28-47. Example 51 is a method to implement of any of Examples 28-47.